KR102142946B1 - Method and apparatus for lossless image data compression using multiple dpcm - Google Patents
Method and apparatus for lossless image data compression using multiple dpcm Download PDFInfo
- Publication number
- KR102142946B1 KR102142946B1 KR1020190142494A KR20190142494A KR102142946B1 KR 102142946 B1 KR102142946 B1 KR 102142946B1 KR 1020190142494 A KR1020190142494 A KR 1020190142494A KR 20190142494 A KR20190142494 A KR 20190142494A KR 102142946 B1 KR102142946 B1 KR 102142946B1
- Authority
- KR
- South Korea
- Prior art keywords
- dpcm
- result
- ddpcm
- parallel
- outputting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/04—Differential modulation with several bits, e.g. differential pulse code modulation [DPCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명은 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법에 관한 것으로, 상기 장치는 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 최소 비용 예측을 통해 DPCM 모드와 DPCM 결과를 출력하는 다중 DPCM 유닛, 상기 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력하는 부호 변환 유닛, 상기 부호 값 및 상기 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력하는 병렬 VSC 인코더 유닛, 상기 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력하는 K-스플리터 유닛, 상기 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력하는 병렬 GR 인코더 유닛 및 상기 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력하는 데이터 패킹 유닛을 포함한다.The present invention relates to an apparatus and method for compressing lossless image data using multiple DPCM techniques, wherein the apparatus receives pixel data, performs multiple DPCM, and outputs a DPCM mode and DPCM result through minimum cost prediction, the A sign conversion unit that outputs a sign value and a magnitude value as a result of performing sign conversion by receiving the DPCM result, and performing VSC encoding in parallel by receiving the sign value and the magnitude value, and A parallel VSC encoder unit that outputs VSC, a K-splitter unit that performs K-split by receiving the magnitude value and outputs a minimum K, a quotient value, and a residual value, and receives the quotient value And a parallel GR encoder unit that performs GR encoding in parallel and outputs unary data, and a data packing unit that packs data according to the DPCM mode and outputs compressed data.
Description
본 발명은 무손실 이미지 데이터 압축 기술에 관한 것으로, 더욱 상세하게는 이미지에 대해 DPCM을 다중으로 수행하여 최소 비용의 DPCM 모드를 선택할 수 있는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법에 관한 것이다.The present invention relates to a lossless image data compression technique, and more particularly, to a lossless image data compression apparatus and method using a multiple DPCM technique capable of selecting a DPCM mode with a minimum cost by performing multiple DPCMs on an image.
최신 모바일 장치 및 GPU의 이미지 해상도가 빠르게 증가함에 따라 프레임 버퍼에 저장된 이미지를 참조하는 데 필요한 메모리 대역폭의 요구량은 크게 증가하게 되고, 이로 인한 메모리 접근 양의 증가는 성능 저하 및 전력 소모량 증가에 큰 영향을 끼칠 수 있다. 따라서, 고효율 압축을 지원하는 무손실 이미지 데이터 압축 기술이 요구되고 있다.As the image resolution of the latest mobile devices and GPUs increases rapidly, the amount of memory bandwidth required to refer to the image stored in the frame buffer increases significantly, and the resulting increase in the amount of memory access has a significant impact on performance degradation and increased power consumption. Can cause. Therefore, there is a need for a lossless image data compression technique supporting high-efficiency compression.
한국등록특허 제10-1519653(2015.05.06)호는 이미지 무손실 및 손실 압축 장치에 관한 것으로, 압축장치를 간단한 공간예측기와 GR부호화기로 구성되어 블록 단위로 동작되도록 함으로써, 대용량 영상데이터의 처리와 메모리 대역폭의 감축에 적당하고, 압축장치의 낮은 복잡도로 인해 칩 구현이 용이함과 아울러 데이터 처리 속도와 가격적인 측면에서 유리한 이점이 있다.Korean Patent Registration No. 10-1519653 (2015.05.06) relates to an image lossless and lossy compression device. The compression device consists of a simple spatial predictor and a GR encoder to operate in block units, thereby processing large-capacity image data and memory. It is suitable for reducing the bandwidth, and it is easy to implement a chip due to the low complexity of the compression device, and has advantageous advantages in terms of data processing speed and cost.
한국등록특허 제10-0837410(2008.06.04)호는 주관적인 무손실 이미지 데이터 압축 방법 및 장치에 관한 것으로, 현재 이미지 데이터를 압축하기 위한 복수 개의 모드들 각각에 따라 현재 이미지 데이터를 압축하고, 압축된 현재 이미지 데이터가 고정 길이의 비트들로 표현 가능한지 여부를 확인하고, 고정 길이의 비트들로 표현 가능한 것으로 확인된 모드들 중 어느 하나의 모드를 선정하고, 선정된 모드에 따라 압축된 현재 데이터를 출력함으로써 영상 인코더/디코더 시스템의 복잡도를 획기적으로 낮출 수 있고, LCD DCC(Liquid Crystal Display Dynamic Capacitance Compensation) 장치 등에서 요구하는 픽처 단위의 CBR(Constant Bit Rate)을 정확히 맞출 수 있다.Korean Patent Registration No. 10-0837410 (2008.06.04) relates to a subjective lossless image data compression method and apparatus, compressing current image data according to each of a plurality of modes for compressing current image data, and compressing current image data. By checking whether the image data can be expressed in bits of a fixed length, selecting any one of the modes confirmed to be expressible in bits of a fixed length, and outputting the current data compressed according to the selected mode. The complexity of the video encoder/decoder system can be drastically reduced, and the constant bit rate (CBR) of picture units required by LCD DCC (Liquid Crystal Display Dynamic Capacitance Compensation) devices can be accurately matched.
본 발명의 일 실시예는 이미지에 대해 DPCM을 다중으로 수행하여 최소 비용의 DPCM 모드를 선택할 수 있는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a lossless image data compression apparatus and method using a multiple DPCM technique capable of selecting a DPCM mode with a minimum cost by performing multiple DPCM on an image.
본 발명의 일 실시예는 수평/수직 DPCM과 수평/수직 DDPCM을 다중으로 수행하여 최소 비용의 DPCM 모드를 선택하는 예측을 수행하고, 인코딩 알고리즘으로 엔트로피 코딩을 수행하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is lossless image data using a multiplex DPCM technique that performs prediction of selecting a DPCM mode with the least cost by performing multiple horizontal/vertical DPCM and horizontal/vertical DDPCM, and performing entropy coding with an encoding algorithm. It is intended to provide a compression apparatus and method.
본 발명의 일 실시예는 다중 DPCM을 통해 수평 및 수직 방향이 모두 반영되어 수평적인 공간 지역성 또는 수직적인 공간 지역성을 갖는 이미지 모두에 대해 최소 비용을 잘 예측할 수 있는 무손실 이미지 데이터 압축 장치 및 방법을 제공하고자 한다.An embodiment of the present invention provides a lossless image data compression apparatus and method capable of predicting the minimum cost well for images having horizontal spatial locality or vertical spatial locality by reflecting both horizontal and vertical directions through multiple DPCMs. I want to.
본 발명의 일 실시예는 DPCM을 한번 더 수행하는 DDPCM을 사용하므로 픽셀 값이 급격하게 변화하는 이미지에 대해 최소 비용을 잘 예측할 수 있는 무손실 이미지 데이터 압축 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a lossless image data compression apparatus and method capable of predicting a minimum cost well for an image in which pixel values rapidly change because DDPCM that performs DPCM once more is used.
실시예들 중에서, 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치는 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 최소 비용 예측을 통해 DPCM 모드와 DPCM 결과를 출력하는 다중 DPCM 유닛, 상기 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력하는 부호 변환 유닛, 상기 부호 값 및 상기 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력하는 병렬 VSC 인코더 유닛, 상기 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력하는 K-스플리터 유닛, 상기 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력하는 병렬 GR 인코더 유닛 및 상기 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력하는 데이터 패킹 유닛을 포함한다.Among embodiments, a lossless image data compression apparatus using a multiple DPCM technique receives pixel data, performs multiple DPCM, and outputs a DPCM mode and DPCM result through minimum cost prediction, and receives the DPCM result and encodes it. A sign conversion unit that outputs a sign value and a magnitude value as a result of performing the conversion, and a parallel VSC that performs VSC encoding in parallel by receiving the sign value and the magnitude value, and outputs VSC Encoder unit, a K-splitter unit that performs K-split by receiving the size value and outputs a minimum K, a quotient value, and a residual value, and performs GR encoding in parallel by receiving the quotient value. And a parallel GR encoder unit configured to output unary data and a data packing unit that packs data according to the DPCM mode and outputs compressed data.
상기 다중 DPCM 유닛은 상기 픽셀 데이터를 기초로 병렬 수평 DPCM(Parallel Horizontal DPCM)을 수행하여 제1 DPCM 에러를 출력하는 병렬 수평 DPCM 모듈, 상기 픽셀 데이터와 상기 제1 DPCM 에러를 기초로 병렬 수평 DDPCM을 수행하여 제1 DDPCM 에러를 출력하는 병렬 수평 DDPCM 모듈, 상기 픽셀 데이터를 기초로 병렬 수직 DPCM(parallel Vertical DPCM)을 수행하여 제2 DPCM 에러를 출력하는 병렬 수직 DPCM 모듈, 상기 픽셀 데이터와 상기 제2 DPCM 에러를 기초로 병렬 수직 DDPCM을 수행하여 제2 DDPCM 에러를 출력하는 병렬 수직 DDPCM 모듈 및 상기 제1 및 제2 DPCM 에러들과 상기 제1 및 제2 DDPCM 에러들을 기초로 상기 최소 비용 예측을 수행하여 상기 DPCM 모드와 상기 DPCM 결과를 출력하는 DPCM 비용 산출 모듈을 포함할 수 있다.The multi-DPCM unit is a parallel horizontal DPCM module that outputs a first DPCM error by performing parallel horizontal DPCM (Parallel Horizontal DPCM) based on the pixel data, and a parallel horizontal DDPCM based on the pixel data and the first DPCM error. A parallel horizontal DDPCM module configured to output a first DDPCM error, a parallel vertical DPCM module configured to output a second DPCM error by performing parallel vertical DPCM (parallel vertical DPCM) based on the pixel data, the pixel data and the second A parallel vertical DDPCM module that outputs a second DDPCM error by performing parallel vertical DDPCM based on a DPCM error, and the minimum cost prediction based on the first and second DPCM errors and the first and second DDPCM errors Thus, it may include a DPCM cost calculation module for outputting the DPCM mode and the DPCM result.
상기 다중 DPCM 유닛은 DPCM과 DDPCM을 순차적으로 수행하는 과정에서 한 쌍의 DPCM들과 한 쌍의 DDPCM들을 각각 병렬적으로 수행할 수 있다.The multiple DPCM unit may perform a pair of DPCMs and a pair of DDPCMs in parallel in a process of sequentially performing DPCM and DDPCM.
상기 DPCM 모듈들 및 상기 DDPCM 모듈들 각각은 복수의 감산기(Subtractor)들을 포함하고 각 감산기들은 한 쌍의 입력들에 대해 감산 연산을 수행하여 연산 결과로서 출력할 수 있다.Each of the DPCM modules and the DDPCM modules includes a plurality of subtractors, and each of the subtractors may perform a subtraction operation on a pair of inputs and output as an operation result.
상기 DPCM 비용 산출 모듈은 상기 제1 및 제2 DPCM 에러들과 상기 제1 및 제2 DDPCM 에러들을 기초로 다음의 수학식을 통해 상기 최소 비용 예측을 수행할 수 있다.The DPCM cost calculation module may perform the minimum cost estimation through the following equation based on the first and second DPCM errors and the first and second DDPCM errors.
[수학식][Mathematics]
(여기에서, n은 픽셀의 수이고, hdk는 수평 DPCM의 결과 값, vdk 수직 DPCM의 결과 값, hddk 수평 DDPCM의 결과 값, 그리고 vddk는 수직 DDPCM의 결과 값에 해당한다.)(Here, n is the number of pixels, hd k is the result of horizontal DPCM, vd k is the result of vertical DPCM, hdd k is the result of horizontal DDPCM, and vdd k is the result of vertical DDPCM.)
상기 DPCM 비용 산출 모듈은 상기 DPCM 모듈들 및 상기 DDPCM 모듈들 각각으로부터 연산 결과들을 수신하여 부호 변환을 수행하는 부호 변환기(Sign Converter)들, 상기 DPCM 모듈들 및 DDPCM 모듈들 각각에 대해 부호 변환된 상기 연산 결과를 누산하는 누산기(Accumulator)들, 상기 누산기들에 의해 출력된 각각의 누산 결과를 상호 비교한 결과로서 최소 비용과 연관된 DPCM 모드를 출력하는 비교기(Comparator) 및 상기 DPCM 모드에 따라 상기 연산 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 멀티플렉서(MUX)들을 포함할 수 있다.The DPCM cost calculation module receives operation results from each of the DPCM modules and the DDPCM modules to perform code conversion, and the DPCM modules and the DDPCM modules are code converted. Accumulators for accumulating calculation results, a comparator for outputting a DPCM mode associated with a minimum cost as a result of comparing each of the accumulated results output by the accumulators, and the calculation result according to the DPCM mode Among them, multiplexers (MUXs) that select and output the DPCM result may be included.
상기 멀티플렉서들은 상기 DPCM 모드에 따라 상기 병렬 수평 DPCM 모듈과 상기 병렬 수평 DDPCM 모듈의 연산 결과들 중에서 제1 선별 결과를 선택하여 출력하는 제1 멀티플렉서, 상기 DPCM 모드에 따라 상기 병렬 수직 DPCM 모듈과 상기 병렬 수직 DDPCM 모듈의 연산 결과들 중에서 제2 선별 결과를 선택하여 출력하는 제2 멀티플렉서 및 상기 DPCM 모드에 따라 상기 제1 및 제2 선별 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 제3 멀티플렉서를 포함할 수 있다.The multiplexers are a first multiplexer that selects and outputs a first selection result from calculation results of the parallel horizontal DPCM module and the parallel horizontal DDPCM module according to the DPCM mode, and the parallel vertical DPCM module and the parallel A second multiplexer that selects and outputs a second selection result from the calculation results of the vertical DDPCM module, and a third multiplexer that selects and outputs the DPCM result from among the first and second selection results according to the DPCM mode. I can.
상기 제1 및 제3 멀티플렉서들은 입력으로서 수신한 상기 DPCM 모드를 선별 결과와 함께 출력할 수 있다.The first and third multiplexers may output the DPCM mode received as an input together with a selection result.
실시예들 중에서, 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법은 (a) 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 최소 비용 예측을 통해 DPCM 모드와 DPCM 결과를 출력하는 단계, (b) 상기 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력하는 단계, (c) 상기 부호 값 및 상기 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력하는 단계, (d) 상기 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력하는 단계, (e) 상기 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력하는 단계 및 (f) 상기 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력하는 단계를 포함한다.Among embodiments, the lossless image data compression method using the multiple DPCM technique includes the steps of: (a) receiving pixel data, performing multiple DPCM, and outputting a DPCM mode and DPCM result through minimum cost prediction, (b) the DPCM result. Receiving and outputting a sign value and a magnitude value as a result of performing sign conversion, (c) receiving the sign value and the magnitude value, performing VSC encoding in parallel, and performing VSC Outputting, (d) performing a K-split by receiving the size value, and outputting a minimum K, a quotient value, and a remaining value, (e) receiving the quotient value, Performing GR encoding in parallel and outputting unary data; and (f) packing data according to the DPCM mode and outputting compressed data.
상기 (a) 단계는 (a1) 한 쌍의 DPCM들을 병렬적으로 수행하는 단계, (a2) 상기 한 쌍의 DPCM들 각각의 연산 결과를 기초로 한 쌍의 DDPCM들을 병렬적으로 수행하는 단계 및 (a3) 상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 기초로 상기 최소 비용 예측을 수행하여 상기 DPCM 모드와 상기 DPCM 결과를 출력하는 단계를 포함할 수 있다.The step (a) includes: (a1) performing a pair of DPCMs in parallel, (a2) performing a pair of DDPCMs in parallel based on the operation result of each of the pair of DPCMs, and ( a3) performing the minimum cost prediction based on the operation result of the pair of DPCMs and the operation result of the pair of DDPCMs, and outputting the DPCM mode and the DPCM result.
상기 (a3) 단계는 상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 기초로 다음의 수학식을 통해 상기 최소 비용 예측을 수행하는 단계를 포함할 수 있다.The step (a3) may include performing the minimum cost prediction through the following equation based on the calculation result of the pair of DPCMs and the calculation result of the pair of DDPCMs.
[수학식][Mathematics]
(여기에서, n은 픽셀의 수이고, hdk는 수평 DPCM의 결과 값, vdk 수직 DPCM의 결과 값, hddk 수평 DDPCM의 결과 값, 그리고 vddk는 수직 DDPCM의 결과 값에 해당한다.)(Here, n is the number of pixels, hd k is the result of horizontal DPCM, vd k is the result of vertical DPCM, hdd k is the result of horizontal DDPCM, and vdd k is the result of vertical DDPCM.)
상기 (a3) 단계는 상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 수신하여 부호 변환을 수행하는 단계, DPCM 모듈들 및 DDPCM 모듈들 각각에 대해 부호 변환된 상기 연산 결과들을 각각 누산하는 단계, 상기 DPCM 모듈들 및 DDPCM 모듈들 각각에 대한 누산 결과를 상호 비교한 결과로서 최소 비용과 연관된 DPCM 모드를 출력하는 단계 및 상기 DPCM 모드에 따라 상기 연산 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 단계를 포함할 수 있다.The step (a3) is a step of performing code conversion by receiving the operation result of the pair of DPCMs and the operation result of the pair of DDPCMs, and the result of code conversion for each of DPCM modules and DDPCM modules. Accumulating each, outputting a DPCM mode associated with a minimum cost as a result of comparing the accumulated results of each of the DPCM modules and DDPCM modules, and selecting the DPCM result from among the calculation results according to the DPCM mode It may include the step of outputting.
상기 DPCM 결과를 선택하여 출력하는 단계는 상기 DPCM 모드에 따라 병렬 수평 DPCM 모듈과 병렬 수평 DDPCM 모듈의 연산 결과들 중에서 제1 선별 결과를 선택하여 출력하는 단계, 상기 DPCM 모드에 따라 병렬 수직 DPCM 모듈과 병렬 수직 DDPCM 모듈의 연산 결과들 중에서 제2 선별 결과를 선택하여 출력하는 단계 및 상기 DPCM 모드에 따라 상기 제1 및 제2 선별 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 단계를 포함할 수 있다.The step of selecting and outputting the DPCM result may include selecting and outputting a first selection result from among calculation results of a parallel horizontal DPCM module and a parallel horizontal DDPCM module according to the DPCM mode, and a parallel vertical DPCM module according to the DPCM mode. Selecting and outputting a second selection result from among the calculation results of the parallel vertical DDPCM module, and selecting and outputting the DPCM result from among the first and second selection results according to the DPCM mode.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology can have the following effects. However, since it does not mean that a specific embodiment should include all of the following effects or only the following effects, it should not be understood that the scope of the rights of the disclosed technology is limited thereby.
본 발명의 일 실시예에 따른 무손실 이미지 데이터 압축 장치 및 방법은 수평/수직 DPCM과 수평/수직 DDPCM을 다중으로 수행하여 최소 비용의 DPCM 모드를 선택하는 예측을 수행하고, 인코딩 알고리즘으로 엔트로피 코딩을 수행할 수 있다.The apparatus and method for compressing lossless image data according to an embodiment of the present invention perform prediction to select a DPCM mode with the least cost by performing multiple horizontal/vertical DPCM and horizontal/vertical DDPCM, and perform entropy coding with an encoding algorithm. can do.
본 발명의 일 실시예에 따른 무손실 이미지 데이터 압축 장치 및 방법은 다중 DPCM을 통해 수평 및 수직 방향이 모두 반영되어 수평적인 공간 지역성 또는 수직적인 공간 지역성을 갖는 이미지 모두에 대해 최소 비용을 잘 예측할 수 있다.The apparatus and method for compressing lossless image data according to an embodiment of the present invention can well predict the minimum cost for both images having horizontal spatial locality or vertical spatial locality because both horizontal and vertical directions are reflected through multiple DPCMs. .
본 발명의 일 실시예에 따른 무손실 이미지 데이터 압축 장치 및 방법은 DPCM을 한번 더 수행하는 DDPCM을 사용하므로 픽셀 값이 급격하게 변화하는 이미지에 대해 최소 비용을 잘 예측할 수 있다.The apparatus and method for compressing lossless image data according to an embodiment of the present invention uses DDPCM to perform DPCM once more, so that a minimum cost can be predicted well for an image in which pixel values rapidly change.
도 1은 본 발명에 따른 무손실 이미지 데이터 압축 장치의 하드웨어 구조를 설명하는 도면이다.
도 2는 본 발명에 따른 수평/수직 DPCM의 수행과정을 설명하는 도면이다.
도 3은 본 발명에 따른 수평/수직 DDPCM의 수행과정을 설명하는 도면이다.
도 4는 본 발명에 따른 다중 DPCM 유닛의 구성을 설명하는 도면이다.
도 5는 본 발명에 따른 수평 DPCM/DDPCM의 하드웨어 구조를 설명하는 도면이다.
도 6은 본 발명에 따른 수직 DPCM/DDPCM의 하드웨어 구조를 설명하는 도면이다.
도 7은 본 발명에 따른 DPCM 비용 산출 모듈의 하드웨어 구조를 설명하는 도면이다.
도 8은 본 발명에 따른 무손실 이미지 데이터 압축 과정을 설명하는 순서도이다.1 is a diagram illustrating a hardware structure of a lossless image data compression apparatus according to the present invention.
2 is a diagram illustrating a process of performing a horizontal/vertical DPCM according to the present invention.
3 is a diagram illustrating a process of performing a horizontal/vertical DDPCM according to the present invention.
4 is a diagram illustrating a configuration of a multiple DPCM unit according to the present invention.
5 is a diagram illustrating a hardware structure of a horizontal DPCM/DDPCM according to the present invention.
6 is a diagram illustrating a hardware structure of a vertical DPCM/DDPCM according to the present invention.
7 is a diagram illustrating a hardware structure of a DPCM cost calculation module according to the present invention.
8 is a flowchart illustrating a lossless image data compression process according to the present invention.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.Since the description of the present invention is merely an embodiment for structural or functional description, the scope of the present invention should not be interpreted as being limited by the embodiments described in the text. That is, since the embodiments can be variously changed and have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing technical ideas. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such an effect, and the scope of the present invention should not be understood as being limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are used to distinguish one component from other components, and the scope of rights is not limited by these terms. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" to another component, it may be understood that other components may exist in the middle, although they may be directly connected to other components. On the other hand, when a component is said to be "directly connected" to another component, it should be understood that no other component exists in the middle. On the other hand, other expressions describing the relationship between the components, that is, "between" and "immediately between" or "adjacent to" and "directly neighboring to" should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions unless the context clearly indicates otherwise, and terms such as “comprises” or “have” are used features, numbers, steps, actions, elements, parts or the like. It is to be understood that a combination is intended to indicate the existence, and does not preclude the existence or addition possibility of one or more other features or numbers, steps, operations, components, parts or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (for example, a, b, c, etc.) is used for convenience of explanation. The identification code does not describe the order of each step, and each step clearly identifies a specific order in context. Unless stated, it may occur in a different order than specified. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치, HDD, SSD 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable code on a computer readable recording medium, and the computer readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. . Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, HDD, and SSD. In addition, the computer-readable recording medium can be distributed over network coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as generally understood by a person skilled in the art to which the present invention pertains, unless otherwise defined. The terms defined in the commonly used dictionary should be interpreted as being consistent with meanings in the context of the related art, and cannot be interpreted as having ideal or excessively formal meanings unless explicitly defined in the present application.
도 1은 본 발명에 따른 무손실 이미지 데이터 압축 장치의 하드웨어 구조를 설명하는 도면이다.1 is a diagram illustrating a hardware structure of a lossless image data compression apparatus according to the present invention.
도 1을 참조하면, 무손실 이미지 데이터 압축 장치(100)는 다중 DPCM을 수행하는 다중 DPCM 유닛(Multiple DPCM unit, MDPCM)(110), 음의 DPCM 결과(negative DPCM result)를 양의 데이터(positive value)로 변환하는 부호 변환 유닛(Sign Converter unit)(120), VSC encoding을 병렬적으로 수행하는 병렬 VSC 인코더 유닛(Parallel VSC Encoder unit)(130), K Spilt를 수행하는 K-스플리터 유닛(K Splitter unit)(140), GR encoding을 병렬적으로 수행하는 병렬 GR 인코더 유닛(Parallel GR Encoder unit)(150) 및 데이터를 패킹(packing)하여 압축된 데이터를 생성하는 데이터 패킹 유닛(Data Packing unit)(160)을 포함할 수 있다.Referring to FIG. 1, the lossless image
다중 DPCM 유닛(Multiple DPCM unit, MDPCM)(110)은 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 최소 비용 예측을 통해 DPCM 모드와 DPCM 결과를 출력할 수 있다. 보다 구체적으로, 다중 DPCM 유닛(110)은 원본 픽셀 데이터(Original Pixel data)를 이용하여 다양한 DPCM 기법을 적용하여 최소 비용의 DPCM 모드를 결정할 수 있다. 다중 DPCM 유닛(110)은 두 개의 출력을 제공할 수 있으며, 그 중 하나로서 DPCM 모드(DPCM Mode)는 데이터 패킹 유닛(160)에게 전달되고 나머지 하나로서 DPCM 결과(DPCM Result)는 부호 변환 유닛(120)에게 전달될 수 있다.The multiple DPCM unit (MDPCM) 110 may receive pixel data, perform multiple DPCM, and output a DPCM mode and a DPCM result through minimum cost prediction. More specifically, the
부호 변환 유닛(Sign Converter unit)(120)은 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력할 수 있다. 보다 구체적으로, 부호 변환 유닛(120)은 입력 값(input value)이 음의 값(negative vlaue)인 경우 2의 보수 양의 값(2's compliment positive)로 변환할 수 있고, 각 값의 부호 값(sign value)을 병렬 VSC 인코더 유닛(130)으로 전달할 수 있다. 또한, 부호 변환 유닛(120)은 각 값의 크기 값(magnitude value)을 병렬 VSC 인코더 유닛(130)과 K-스플리터 유닛(140)으로 전달할 수 있다.The
병렬 VSC 인코더 유닛(Parallel VSC Encoder unit)(130)은 부호 값 및 크기 값을 각각 수신하여 VSC 인코딩을 병렬적으로 수행하고 그 결과로서 VSC를 출력할 수 있다. 즉, 병렬 VSC 인코더 유닛(130)은 크기 값(magnitude value)가 0인 부호 값(sign value)을 생략하여 부호 데이터(sign data)를 압축하는 VSC 인코딩을 병렬적으로 수행할 수 있다.The parallel
K-스플리터 유닛(K Splitter unit)(140)은 부호 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력할 수 있다. K-스플리터 유닛(140)은 입력된 크기 값들(magnitude values)에 대해 K=0, 1, 2, 3인 K 스플릿(K split)을 수행할 수 있고, 최소 비용의 K를 선택할 수 있다. K-스플리터 유닛(140)은 선택된 최소 K(Minimum K)와 나머지 값(Remainder Values)들을 데이터 패킹 유닛(160)에게 전달할 수 있고, 몫 값(Quotient Value)들을 병렬 GR 인코더 유닛(150)에게 전달할 수 있다.The K-
병렬 GR 인코더 유닛(Parallel GR Encoder unit)(150)은 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력할 수 있다. 병렬 GR 인코더 유닛(150)은 GR 인코딩의 결과로서 단항 데이터를 데이터 패킹 유닛(160)에게 전달할 수 있다.The parallel
데이터 패킹 유닛(Data Packing unit)(160) DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력할 수 있다. 즉, 데이터 패킹 유닛(160)은 원본 픽셀 데이터의 시드 값(Seed), 다중 DPCM 유닛(110)으로부터 수신한 DPCM 모드(DPCM Mode), 병렬 VSC 인코더 유닛(130)으로부터 수신한 VSC, K-스플리터 유닛(140)으로부터 수신한 최소 K와 나머지 값(Remainder), 병렬 GR 인코더 유닛(150)으로부터 수신한 단항 데이터(Unary)를 기초로 데이터 패킹을 수행하여 그 결과로서 압축 데이터(Compressed Data)를 생성할 수 있다.The
도 2는 본 발명에 따른 수평/수직 DPCM의 수행과정을 설명하는 도면이다.2 is a diagram illustrating a process of performing a horizontal/vertical DPCM according to the present invention.
도 2를 참조하면, 수평/수직 DPCM은 무손실 이미지 데이터 압축 장치(100)의 다중 DPCM 유닛(110)에서 수행될 수 있다.Referring to FIG. 2, horizontal/vertical DPCM may be performed by
DPCM을 2차원 이미지(2D image)에 적용하는 방식은 수평 DPCM(horizontal DPCM)과 수직 DPCM(vertical DPCM)이 있다. 수평 DPCM은 DPCM 알고리즘을 수평 방향(horizontal way)으로 적용하는 반면에 수직 DPCM은 DPCM 알고리즘을 수직 방향(vertical way)으로 적용할 수 있다.Methods for applying DPCM to a 2D image include horizontal DPCM (horizontal DPCM) and vertical DPCM (vertical DPCM). In the horizontal DPCM, the DPCM algorithm is applied in a horizontal direction, whereas in the vertical DPCM, the DPCM algorithm can be applied in a vertical way.
또한, 각 DPCM에서 사용하는 방정식은 다음과 같다. 즉, 수학식 1은 수평 DPCM에서 사용하는 방정식이고, 수학식 2는 수직 DPCM에서 사용하는 방정식이다.In addition, the equation used in each DPCM is as follows. That is,
[수학식 1][Equation 1]
[수학식 2][Equation 2]
특히, 가장 왼쪽 픽셀(Leftmost pixel) 또는 가장 위쪽 픽셀(Uppermost pixel)과 같이 DPCM 알고리즘에서 참조할 이전 픽셀 값(pixel value)이 없는 경우, 가장 왼쪽 픽셀(leftmost pixel)은 위쪽 픽셀(upper pixel)을 참조하여 차이 값(difference value)을 계산할 수 있고, 가장 위쪽 픽셀(uppermost pixel)은 왼쪽 픽셀(left pixel)을 참조하여 계산할 수 있다.In particular, if there is no previous pixel value to be referenced by the DPCM algorithm, such as the leftmost pixel or uppermost pixel, the leftmost pixel is the upper pixel. A difference value can be calculated with reference, and an uppermost pixel can be calculated with reference to a left pixel.
도 2의 그림 (a)는 4*4 크기의 입력 블록(input block)에 대해서 수평 DPCM과 수직 DPCM의 수행 과정을 나타내고 있다. 수직 DPCM의 경우, 결과 값(result value)은 현재 픽셀(current pixel)과 왼쪽 픽셀(left pixel)의 차를 계산함으로써 산출될 수 있다. 하지만, j=0인 가장 왼쪽 픽셀(leftmost pixel)들은 참조할 왼쪽 픽셀(left pixel)이 없으므로 위쪽 픽셀(upper pixel)과의 차를 산출할 수 있다. i=0, j=0인 첫 번째 픽셀(first pixel)은 역 DPCM(inverse DPCM)을 수행하기 위한 시드 값(seed value)으로서 마킹(marking)될 수 있다.Fig. 2 (a) shows a process of performing horizontal DPCM and vertical DPCM for an input block having a size of 4*4. In the case of vertical DPCM, a result value may be calculated by calculating a difference between a current pixel and a left pixel. However, since the leftmost pixels with j=0 do not have a left pixel to be referred to, a difference from the upper pixel can be calculated. A first pixel with i=0 and j=0 may be marked as a seed value for performing inverse DPCM (DPCM).
한편, 수직 DPCM은 수평 DPCM과 대조적으로, 결과 값(result value)은 현재 픽셀(current pixel)과 위쪽 픽셀(upper pixel)의 차를 계산함으로써 산출될 수 있다. 하지만, i=0인 가장 위쪽 픽셀(uppermost pixel)들은 참조할 위쪽 픽셀(upper pixel)이 없으므로 왼쪽 픽셀(left pixel)과의 차를 산출할 수 있다.Meanwhile, the vertical DPCM is in contrast to the horizontal DPCM, and the result value can be calculated by calculating a difference between a current pixel and an upper pixel. However, since the uppermost pixels with i=0 do not have an upper pixel to be referred to, a difference from the left pixel can be calculated.
도 2의 그림 (b)는 4*4 크기의 예제 블록(example block)에 대해서 수평 DPCM과 수직 DPCM의 수행의 예를 나타내고 있다. i=0, j≠0 또는 i≠0, j=0의 위치에 있는 픽셀들은 수평 DPCM과 수직 DPCM의 결과가 같을 수 있다. 하지만, 그 이외의 위치에 있는 픽셀들에 대한 각 DPCM의 결과가 다를 수 있다. 예를 들어, i=1, j=1의 위치에 있는 픽셀의 각 DPCM 결과는 수평 DPCM인 경우 5 * (Errh(1,1) = P(1,1) - P(0,1))이고, 수직 DPCM인 경우 -1 * (Errv(1,1) = P(1,1) - P(1,0))이다.Figure (b) of FIG. 2 shows an example of performing a horizontal DPCM and a vertical DPCM for an example block having a size of 4*4. Pixels at positions i=0, j≠0 or i≠0, j=0 may have the same result of horizontal DPCM and vertical DPCM. However, the results of each DPCM for pixels located other than that may be different. For example, the result of each DPCM of the pixel at the position i=1 and j=1 is 5 * (Err h (1,1) = P(1,1)-P(0,1)) for horizontal DPCM And, in the case of vertical DPCM, -1 * (Err v (1,1) = P(1,1)-P(1,0)).
도 3은 본 발명에 따른 수평/수직 DDPCM의 수행과정을 설명하는 도면이다.3 is a diagram illustrating a process of performing a horizontal/vertical DDPCM according to the present invention.
도 3을 참조하면, 수평/수직 DDPCM은 무손실 이미지 데이터 압축 장치(100)의 다중 DPCM 유닛(110)에서 수행될 수 있다.Referring to FIG. 3, the horizontal/vertical DDPCM may be performed in
다중 DPCM 유닛(110)은 수평 DPCM을 기반으로 DDPCM을 수행하는 수평 DDPCM과 수직 DPCM을 기반으로 DDPCM을 수행하는 수직 DDPCM을 사용할 수 있다. 도 3에서, 4*4 크기의 입력 블록(input block)에 대해 수평 DDPCM과 수직 DDPCM의 수행 과정을 확인할 수 있다. 이 때, dha는 a와 왼쪽 값(left value)과의 차이(difference) 값을 의미하고, dva는 a와 위쪽 값(upper value)과의 차이 값을 의미한다. The
예를 들어, 수평 DDPCM의 첫번째 단계(1st step)에서, dha01은 a01과 왼쪽 값(left value)인 a00와의 차이 값(difference value)인 a01-a00이고, dva10은 a10과 위쪽 값(upper value)인 a00과의 차이 값인 a10-a00이다. 같은 법칙으로, 수평 DDPCM의 두번째 단계(2nd step), dvdha11은 dha11과 위쪽 값(upper vaule)인 dha01와의 차이 값(difference value)인 dha11-dha01이고, 이 식을 다시 정리하면 (a11-a10)-(a01-a00)이다.For example, in the first step of the horizontal DDPCM, d h a 01 is a 01 -a 00 , the difference value between a 01 and a 00 , the left value, and d v a 10 is a 10, and the upper value (upper value) and the value of the difference between a 00 a 10 -a 00. The same rule, the second stage of the horizontal DDPCM (2nd step), d v d h a 11 is the d h a 11 d h a 11 and upper value (upper vaule) of d h a 01 difference value (difference value) between the - d h a 01, and reorganizing this expression is (a 11 -a 10 )-(a 01 -a 00 ).
수평 DDPCM과 수직 DDPCM의 수행과정은 다음과 같다. 먼저, DDPCM 첫번째 단계에서 대응하는 DPCM을 수행한다. DPCM이 수행되면 i > 1인 결과 값에 대해서 수평 DDPCM의 경우 왼쪽 DPCM 결과 값(result value)에 대한 차이 값을 계산하고, 수평 DDPCM의 경우 위쪽 DPCM 결과값에 대한 차이 값을 계산한다.The process of performing horizontal DDPCM and vertical DDPCM is as follows. First, the corresponding DPCM is performed in the first step of DDPCM. When DPCM is performed, for a result value of i> 1, the difference value for the left DPCM result value is calculated for horizontal DDPCM, and the difference value for the upper DPCM result value is calculated for horizontal DDPCM.
i=1인 DPCM 결과 값에 대해서는 수평 DDPCM 경우 위쪽 DPCM 결과 값(result value)에 대한 차이 값을 계산하고, 수평 DDPCM의 경우 왼쪽 DPCM 결과 값에 대한 차이 값을 계산한다. 가장 왼쪽 DPCM 결과(Leftmost DPCM result)와 가장 위쪽 DPCM 결과(Uppermost DPCM result) 같이 DDPCM 알고리즘에서 참조할 이전 DPCM 결과 값이 없는 경우, 가장 왼쪽 DPCM 결과는 위쪽 DPCM 결과(upper DPCM result)를 참조하여 차이 값을 계산하고, 가장 위쪽 DPCM 결과(uppermost DPCM result)는 왼쪽 DPCM 결과(left DPCM result)를 참조하여 차이 값을 계산한다.For the DPCM result value of i=1, the difference value for the upper DPCM result value is calculated for the horizontal DDPCM, and the difference value for the left DPCM result value is calculated for the horizontal DDPCM. If there is no previous DPCM result value to be referenced by the DDPCM algorithm, such as the leftmost DPCM result and the uppermost DPCM result, the leftmost DPCM result is different by referring to the upper DPCM result. A value is calculated, and a difference value is calculated by referring to the left DPCM result for the uppermost DPCM result.
도 4는 본 발명에 따른 다중 DPCM 유닛의 구성을 설명하는 도면이다.4 is a diagram illustrating a configuration of a multiple DPCM unit according to the present invention.
도 4를 참조하면, 다중 DPCM 유닛(110)은 병렬 수평 DPCM 모듈(410), 병렬 수평 DDPCM 모듈(430), DPCM 비용 산출 모듈(450), 병렬 수직 DPCM 모듈(470) 및 병렬 수직 DDPCM 모듈(490)을 포함할 수 있다.4, the
다중 DPCM 유닛(110)은 원본 픽셀 데이터(Original Pixel data)를 입력으로 수신하여 다중 DPCM를 수행한 후 그 결과로서 DPCM 결과(DPCM Result)와 DPCM 모드(DPCM Mode)를 출력으로 제공할 수 있다.The
보다 구체적으로, 병렬 수평 DPCM 모듈(410)은 픽셀 데이터를 기초로 병렬 수평 DPCM(Parallel Horizontal DPCM)을 수행하여 제1 DPCM 에러를 출력할 수 있다. 병렬 수평 DDPCM 모듈(430)은 픽셀 데이터와 제1 DPCM 에러를 기초로 병렬 수평 DDPCM(Parallel Horizontal DDPCM)을 수행하여 제1 DDPCM 에러를 출력할 수 있다. DPCM 비용 산출 모듈(450)은 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력할 수 있다. 병렬 수직 DPCM 모듈(470)은 픽셀 데이터를 기초로 병렬 수직 DPCM(parallel Vertical DPCM)을 수행하여 제2 DPCM 에러를 출력할 수 있다. 병렬 수직 DDPCM 모듈(490)은 픽셀 데이터와 제2 DPCM 에러를 기초로 병렬 수직 DDPCM(parallel Vertical DDPCM)을 수행하여 제2 DDPCM 에러를 출력할 수 있다.More specifically, the parallel
일 실시예에서, 다중 DPCM 유닛(110)은 DPCM과 DDPCM을 순차적으로 수행하는 과정에서 한 쌍의 DPCM들과 한 쌍의 DDPCM들을 각각 병렬적으로 수행할 수 있다. 보다 구체적으로, 다중 DPCM 유닛(110)은 입력된 픽셀 데이터에 대해서 병렬 수평 DPCM 모듈(410)에서 수평 DPCM을 parallel하게 수행할 수 있고, 병렬 수직 DPCM 모듈(470)에서 수직 DPCM을 parallel하게 수행할 수 있다. 계산된 각 DPCM 에러(DPCM error)는 비용 산출(cost calculation)을 위해 DPCM 비용 산출 모듈(450)으로 전달될 수 있고, 대응하는 DDPCM 모듈에게 전달될 수 있다. 병렬 수평/수직 DDPCM 모듈들(430, 490)은 전달받은 DPCM 에러를 바탕으로 DDPCM을 parallel하게 수행한 뒤, 그 결과를 DPCM 비용 산출 모듈(450)로 전달할 수 있다.In one embodiment, the
즉, 각 DPCM 모듈은 입력 픽셀에 대해 수평 DPCM과 수직 DPCM을 병렬적으로 수행할 수 있고, 대응하는 DDPCM 모듈에게 그 결과를 전달할 수 있다. 또한, 각 DDPCM 모듈은 DPCM 연산이 완료되면 그 결과에 대해 각 DDPCM 연산을 병렬적으로 수행할 수 있다. 모든 DPCM의 결과는 DPCM 비용 산출 모듈(450)로 전달될 수 있다.That is, each DPCM module can perform horizontal DPCM and vertical DPCM for input pixels in parallel, and can deliver the result to the corresponding DDPCM module. In addition, each DDPCM module may perform each DDPCM operation on the result in parallel when the DPCM operation is completed. All DPCM results may be delivered to the DPCM
DPCM 비용 산출 모듈(450)은 각 DPCM error에 대해서 비용(cost)을 산출할 수 있고, 최소 비용(minimum cost)의 DPCM mode를 결정할 수 있다. DPCM mode가 결정되면, DPCM mode가 데이터 패킹 유닛(160)에게 전달될 수 있고, 해당하는 DPCM error는 부호 변환 유닛(120)에게 전달될 수 있다.The DPCM
일 실시예에서, DPCM 비용 산출 모듈(450)은 제1 및 제2 DPCM 에러들과 제1 및 제2 DDPCM 에러들을 기초로 다음의 수학식 3을 통해 최소 비용 예측을 수행할 수 있다.In an embodiment, the DPCM
[수학식 3][Equation 3]
여기에서, n은 픽셀의 수이고, hdk는 수평 DPCM의 결과 값, vdk 수직 DPCM의 결과 값, hddk 수평 DDPCM의 결과 값, 그리고 vddk는 수직 DDPCM의 결과 값에 해당할 수 있다.Here, n is the number of pixels, hd k is a result of horizontal DPCM, vd k is a result of vertical DPCM, hdd k is a result of horizontal DDPCM, and vdd k may correspond to a result of vertical DDPCM.
즉, DPCM 비용 산출 모듈(450)은 수평 DPCM, 수직 DPCM, 수평 DDPCM 및 수직 DDPCM이 모두 수행되면 각 예측 함수(prediction function)의 결과에 대해서 엔트로피 코딩(entropy coding)을 위한 최적의 예측 함수를 선택할 수 있다. 이 때, 엔트로피 코딩 비용(entropy coding cost)은 각 DPCM 결과 값의 절대 값의 합을 통해서 계산될 수 있다. That is, when the horizontal DPCM, vertical DPCM, horizontal DDPCM, and vertical DDPCM are all performed, the DPCM
무손실 이미지 데이터 압축 장치(100)는 엔트로피 코딩으로서 골룸-라이스 인코딩(golumb-rice(GR) encoding)을 수행할 수 있고, GR encoding은 값이 클수록 비트 길이(bit length)가 길어질 수 있다. 따라서, DPCM 결과 값의 합이 가장 작은 DPCM을 선택하면 엔트로피 코딩 비용이 가장 낮아질 수 있다.The lossless image
도 5는 본 발명에 따른 수평 DPCM/DDPCM의 하드웨어 구조를 설명하는 도면이다.5 is a diagram illustrating a hardware structure of a horizontal DPCM/DDPCM according to the present invention.
도 5를 참조하면, 그림 (a)는 다중 DPCM 유닛(110)의 병렬 수평 DPCM 모듈(410)의 하드웨어 구조이고, 그림 (b)는 다중 DPCM 유닛(110)의 병렬 수평 DDPCM 모듈(430)의 하드웨어 구조이다.5, Figure (a) is a hardware structure of a parallel
일 실시예에서, 병렬 수평 DPCM 모듈(410) 및 병렬 수평 DDPCM 모듈(430)은 복수의 감산기(Subtractor)(510)들을 포함하고 각 감산기(510)들은 한 쌍의 입력들에 대해 감산 연산을 수행하여 연산 결과로서 출력할 수 있다. 예를 들어, 그림 (a)에서 병렬 수평 DPCM 모듈(410)에 포함된 제1 감산기(511)는 한 쌍의 입력들 a00과 a10을 기초로 감산 연산을 수행하여 연산 결과로서 dva10을 출력할 수 있다. 그림 (b)에서 병렬 수평 DDPCM 모듈(430)에 포함된 제2 감산기(513)는 한 쌍의 입력들 dva10과 dha11을 기초로 감산 연산을 수행하여 연산 결과로서 dvdha11을 출력할 수 있다.In one embodiment, the parallel
도 6은 본 발명에 따른 수직 DPCM/DDPCM의 하드웨어 구조를 설명하는 도면이다.6 is a diagram illustrating a hardware structure of a vertical DPCM/DDPCM according to the present invention.
도 6을 참조하면, 그림 (c)는 다중 DPCM 유닛(110)의 병렬 수직 DPCM 모듈(470)의 하드웨어 구조이고, 그림 (d)는 다중 DPCM 유닛(110)의 병렬 수직 DDPCM 모듈(490)의 하드웨어 구조이다.Referring to Figure 6, Figure (c) is a hardware structure of the parallel
일 실시예에서, 병렬 수직 DPCM 모듈(470) 및 병렬 수직 DDPCM 모듈(490)은 복수의 감산기(Subtractor)(510)들을 포함하고 각 감산기(510)들은 한 쌍의 입력들에 대해 감산 연산을 수행하여 연산 결과로서 출력할 수 있다. 예를 들어, 그림 (c)에서 병렬 수직 DPCM 모듈(470)에 포함된 제3 감산기(515)는 한 쌍의 입력들 a00과 a10을 기초로 감산 연산을 수행하여 연산 결과로서 dha01을 출력할 수 있다. 그림 (d)에서 병렬 수직 DDPCM 모듈(490)에 포함된 제4 감산기(517)는 한 쌍의 입력들 dha01과 dva11을 기초로 감산 연산을 수행하여 연산 결과로서 dhdva11을 출력할 수 있다.In one embodiment, the parallel
도 7은 본 발명에 따른 DPCM 비용 산출 모듈의 하드웨어 구조를 설명하는 도면이다.7 is a diagram illustrating a hardware structure of a DPCM cost calculation module according to the present invention.
도 7을 참조하면, 무손실 이미지 데이터 압축 장치(100)는 다중 DPCM 유닛(110)을 포함할 수 있고, 다중 DPCM 유닛(110)은 DPCM 비용 산출 모듈(450)을 포함할 수 있다.Referring to FIG. 7, the lossless image
일 실시예에서, DPCM 비용 산출 모듈(450)은 부호 변환기(Sign Converter)(710), 누산기(Accumulator)(730), 비교기(Comparator)(750) 및 멀티플렉서(MUX)(771, 773, 775)를 포함할 수 있다. 보다 구체적으로, 부호 변환기(Sign Converter)(710)는 DPCM 모듈들 및 DDPCM 모듈들 각각으로부터 연산 결과들을 수신하여 부호 변환을 수행할 수 있다. 누산기(Accumulator)(730)는 DPCM 모듈들 및 DDPCM 모듈들 각각에 대해 부호 변환된 연산 결과를 누산할 수 있다. 비교기(Comparator)(750)는 누산기(730)들에 의해 출력된 각각의 누산 결과를 상호 비교한 결과로서 최소 비용과 연관된 DPCM 모드를 출력할 수 있다. 멀티플렉서(MUX)(771, 773, 775)는 DPCM 모드에 따라 연산 결과들 중에서 DPCM 결과를 선택하여 출력할 수 있다.In one embodiment, the DPCM
일 실시예에서, 멀티플렉서(MUX)는 DPCM 모드에 따라 병렬 수평 DPCM 모듈(410)과 병렬 수평 DDPCM 모듈(430)의 연산 결과들 중에서 제1 선별 결과를 선택하여 출력하는 제1 멀티플렉서(771), DPCM 모드에 따라 병렬 수직 DPCM 모듈(470)과 병렬 수직 DDPCM 모듈(490)의 연산 결과들 중에서 제2 선별 결과를 선택하여 출력하는 제2 멀티플렉서(773) 및 DPCM 모드에 따라 제1 및 제2 선별 결과들 중에서 DPCM 결과를 선택하여 출력하는 제3 멀티플렉서(775)를 포함할 수 있다.In one embodiment, the multiplexer (MUX) is a
결과적으로, 멀티플렉서(MUX)는 제1 내지 제3 멀티플렉서들(771, 773, 775)의 조합을 통해 DPCM 모드(DPCM mode)에 따른 DPCM 결과 값(DPCM result value)들을 선택하여 출력할 수 있다. 예를 들어, 도 7에서 멀티플렉서(MUX)는 제1 내지 제3 멀티플렉서들(771, 773, 775)의 조합을 통해 최종 출력으로서 e01, ..., e76, e77을 출력할 수 있다.As a result, the multiplexer MUX may select and output DPCM result values according to the DPCM mode through a combination of the first to
일 실시예에서, 제1 멀티플렉서(771) 및 제3 멀티플렉서(775)는 입력으로서 수신한 DPCM 모드를 선별 결과와 함께 출력할 수 있다. 도 7에서, 제1 멀티플렉서(771)는 선별 결과와 함께 DPCM 모드를 제3 멀티플렉서(775)에 전달할 수 있고, 제3 멀티플렉서(775)는 선별 결과와 함께 DPCM 모드를 출력할 수 있다. 한편, 제3 멀티플렉서(775)는 제1 멀티플렉서(771)로부터 DPCM 모드를 전달받기 때문에 제2 멀티플렉서(773)은 제1 및 제3 멀티플렉서들(771, 775)과 달리 DPCM 모드에 따른 선별 결과만 출력할 수 있다.In an embodiment, the
도 8은 본 발명에 따른 무손실 이미지 데이터 압축 과정을 설명하는 순서도이다.8 is a flowchart illustrating a lossless image data compression process according to the present invention.
도 8을 참조하면, 무손실 이미지 데이터 압축 장치(100)는 다중 DPCM 유닛(110)을 통해 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 최소 비용 예측을 통해 DPCM 모드와 DPCM 결과를 출력할 수 있다(단계 S810). 무손실 이미지 데이터 압축 장치(100)는 부호 변환 유닛(120)을 통해 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력할 수 있다(단계 S820).Referring to FIG. 8, the lossless image
또한, 무손실 이미지 데이터 압축 장치(100)는 병렬 VSC 인코더 유닛(130)을 통해 부호 값 및 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력할 수 있다(단계 S830). 무손실 이미지 데이터 압축 장치(100)는 K-스플리터 유닛(140)을 통해 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력할 수 있다(단계 S840).In addition, the lossless image
또한, 무손실 이미지 데이터 압축 장치(100)는 병렬 GR 인코더 유닛(110)을 통해 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력할 수 있다(단계 S850). 무손실 이미지 데이터 압축 장치(100)는 데이터 패킹 유닛(160)을 통해 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력할 수 있다(단계 S860).In addition, the lossless image
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present invention, those skilled in the art variously modify and change the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You can understand that you can.
100: 무손실 이미지 데이터 압축 장치
110: 다중 DPCM 유닛 120: 부호 변환 유닛
130: 병렬 VSC 인코더 유닛 140: K-스플리터 유닛
150: 병렬 GR 인코더 유닛 160: 데이터 패킹 유닛
410: 병렬 수평 DPCM 모듈 430: 병렬 수평 DDPCM 모듈
450: DPCM 비용 산출 모듈 470: 병렬 수직 DPCM 모듈
490: 병렬 수직 DDPCM 모듈
510: 감산기 511: 제1 감산기
513: 제2 감산기 515: 제3 감산기
517: 제4 감산기
710: 부호 변환기 730: 누산기
750: 비교기 771: 제1 멀티플렉서
773: 제2 멀티플렉서 775: 제3 멀티플렉서100: lossless image data compression device
110: multiple DPCM unit 120: code conversion unit
130: parallel VSC encoder unit 140: K-splitter unit
150: parallel GR encoder unit 160: data packing unit
410: parallel horizontal DPCM module 430: parallel horizontal DDPCM module
450: DPCM costing module 470: Parallel vertical DPCM module
490: parallel vertical DDPCM module
510: subtractor 511: first subtractor
513: second subtractor 515: third subtractor
517: fourth subtractor
710: code converter 730: accumulator
750: comparator 771: first multiplexer
773: second multiplexer 775: third multiplexer
Claims (13)
상기 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력하는 부호 변환 유닛;
상기 부호 값 및 상기 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력하는 병렬 VSC 인코더 유닛;
상기 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력하는 K-스플리터 유닛;
상기 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력하는 병렬 GR 인코더 유닛; 및
상기 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력하는 데이터 패킹 유닛을 포함하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
A multi-DPCM unit for receiving pixel data, performing multiple DPCMs, and outputting a DPCM mode and DPCM results associated with the minimum cost through prediction of minimum cost based on respective errors occurring in the corresponding process;
A sign conversion unit for receiving the DPCM result and outputting a sign value and a magnitude value as a result of performing sign conversion;
A parallel VSC encoder unit receiving the sign value and the magnitude value, performing VSC encoding in parallel, and outputting VSC;
A K-splitter unit receiving the size value, performing K-split, and outputting a minimum K, a quotient value, and a remaining value;
A parallel GR encoder unit receiving the quotient value, performing GR encoding in parallel and outputting unary data; And
Lossless image data compression apparatus using multiple DPCM techniques including a data packing unit that packs data according to the DPCM mode and outputs compressed data.
상기 픽셀 데이터를 기초로 병렬 수평 DPCM(Parallel Horizontal DPCM)을 수행하여 제1 DPCM 에러를 출력하는 병렬 수평 DPCM 모듈;
상기 픽셀 데이터와 상기 제1 DPCM 에러를 기초로 병렬 수평 DDPCM을 수행하여 제1 DDPCM 에러를 출력하는 병렬 수평 DDPCM 모듈;
상기 픽셀 데이터를 기초로 병렬 수직 DPCM(parallel Vertical DPCM)을 수행하여 제2 DPCM 에러를 출력하는 병렬 수직 DPCM 모듈;
상기 픽셀 데이터와 상기 제2 DPCM 에러를 기초로 병렬 수직 DDPCM을 수행하여 제2 DDPCM 에러를 출력하는 병렬 수직 DDPCM 모듈; 및
상기 제1 및 제2 DPCM 에러들과 상기 제1 및 제2 DDPCM 에러들을 기초로 상기 최소 비용 예측을 수행하여 상기 DPCM 모드와 상기 DPCM 결과를 출력하는 DPCM 비용 산출 모듈을 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 1, wherein the multiple DPCM units
A parallel horizontal DPCM module for outputting a first DPCM error by performing parallel horizontal DPCM (Parallel Horizontal DPCM) based on the pixel data;
A parallel horizontal DDPCM module configured to output a first DDPCM error by performing parallel horizontal DDPCM based on the pixel data and the first DPCM error;
A parallel vertical DPCM module for outputting a second DPCM error by performing parallel vertical DPCM (parallel vertical DPCM) based on the pixel data;
A parallel vertical DDPCM module configured to output a second DDPCM error by performing parallel vertical DDPCM based on the pixel data and the second DPCM error; And
And a DPCM cost calculation module configured to output the DPCM mode and the DPCM result by performing the minimum cost prediction based on the first and second DPCM errors and the first and second DDPCM errors. Lossless image data compression device using DPCM technique.
DPCM과 DDPCM을 순차적으로 수행하는 과정에서 한 쌍의 DPCM들과 한 쌍의 DDPCM들을 각각 병렬적으로 수행하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 2, wherein the multiple DPCM units
A lossless image data compression apparatus using a multi-DPCM technique, characterized in that in a process of sequentially performing DPCM and DDPCM, a pair of DPCMs and a pair of DDPCMs are respectively performed in parallel.
복수의 감산기(Subtractor)들을 포함하고 각 감산기들은 한 쌍의 입력들에 대해 감산 연산을 수행하여 연산 결과로서 출력하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 2, wherein each of the DPCM modules and the DDPCM modules
A lossless image data compression apparatus using a multiple DPCM technique, comprising a plurality of subtractors, each subtractor performing a subtraction operation on a pair of inputs and outputting the result as an operation result.
상기 제1 및 제2 DPCM 에러들과 상기 제1 및 제2 DDPCM 에러들을 기초로 다음의 수학식을 통해 상기 최소 비용 예측을 수행하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
[수학식]
(여기에서, n은 픽셀의 수이고, hdk는 수평 DPCM의 결과 값, vdk 수직 DPCM의 결과 값, hddk 수평 DDPCM의 결과 값, 그리고 vddk는 수직 DDPCM의 결과 값에 해당한다.)
The method of claim 1, wherein the DPCM cost calculation module
The lossless image data compression apparatus using a multi-DPCM technique, characterized in that the minimum cost prediction is performed through the following equation based on the first and second DPCM errors and the first and second DDPCM errors.
[Mathematics]
(Here, n is the number of pixels, hd k is the result of horizontal DPCM, vd k is the result of vertical DPCM, hdd k is the result of horizontal DDPCM, and vdd k is the result of vertical DDPCM.)
상기 DPCM 모듈들 및 상기 DDPCM 모듈들 각각으로부터 연산 결과들을 수신하여 부호 변환을 수행하는 부호 변환기(Sign Converter)들;
상기 DPCM 모듈들 및 DDPCM 모듈들 각각에 대해 부호 변환된 상기 연산 결과를 누산하는 누산기(Accumulator)들;
상기 누산기들에 의해 출력된 각각의 누산 결과를 상호 비교한 결과로서 최소 비용과 연관된 DPCM 모드를 출력하는 비교기(Comparator); 및
상기 DPCM 모드에 따라 상기 연산 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 멀티플렉서(MUX)들을 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 2, wherein the DPCM cost calculation module
Sign converters for performing code conversion by receiving operation results from each of the DPCM modules and the DDPCM modules;
Accumulators for accumulating the result of the code-converted operation for each of the DPCM modules and the DDPCM modules;
A comparator for outputting a DPCM mode associated with a minimum cost as a result of comparing the accumulated results outputted by the accumulators with each other; And
And multiplexers (MUXs) for selecting and outputting the DPCM result from among the calculation results according to the DPCM mode.
상기 DPCM 모드에 따라 상기 병렬 수평 DPCM 모듈과 상기 병렬 수평 DDPCM 모듈의 연산 결과들 중에서 제1 선별 결과를 선택하여 출력하는 제1 멀티플렉서;
상기 DPCM 모드에 따라 상기 병렬 수직 DPCM 모듈과 상기 병렬 수직 DDPCM 모듈의 연산 결과들 중에서 제2 선별 결과를 선택하여 출력하는 제2 멀티플렉서; 및
상기 DPCM 모드에 따라 상기 제1 및 제2 선별 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 제3 멀티플렉서를 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 6, wherein the multiplexers are
A first multiplexer for selecting and outputting a first selection result from among calculation results of the parallel horizontal DPCM module and the parallel horizontal DDPCM module according to the DPCM mode;
A second multiplexer for selecting and outputting a second selection result from among operation results of the parallel vertical DPCM module and the parallel vertical DDPCM module according to the DPCM mode; And
And a third multiplexer that selects and outputs the DPCM result from among the first and second selection results according to the DPCM mode.
입력으로서 수신한 상기 DPCM 모드를 선별 결과와 함께 출력하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 장치.
The method of claim 7, wherein the first and third multiplexers are
A lossless image data compression apparatus using a multi-DPCM technique, characterized in that outputting the DPCM mode received as an input together with a selection result.
(a) 픽셀 데이터를 수신하여 다중 DPCM을 수행하고 해당 과정에서 발생하는 각각의 에러들을 기초로 최소 비용 예측을 통해 최소 비용과 연관된 DPCM 모드와 DPCM 결과를 각각 출력하는 단계;
(b) 상기 DPCM 결과를 수신하여 부호 변환을 수행한 결과로서 부호 값(Sign Value)과 크기 값(Magnitude Value)을 출력하는 단계;
(c) 상기 부호 값 및 상기 크기 값을 수신하여 VSC 인코딩을 병렬적으로 수행하고 VSC를 출력하는 단계;
(d) 상기 크기 값을 수신하여 K-스플릿을 수행하고 최소 K, 몫 값(Quotient Value) 및 나머지 값(Remainder Value)을 출력하는 단계;
(e) 상기 몫 값을 수신하여 GR 인코딩을 병렬적으로 수행하고 단항 데이터(Unary Data)를 출력하는 단계; 및
(f) 상기 DPCM 모드에 따라 데이터를 패킹하여 압축 데이터(Compressed Data)를 출력하는 단계를 포함하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법.
In the method performed in a lossless image data compression apparatus,
(a) receiving pixel data, performing multiple DPCM, and outputting a DPCM mode and DPCM results associated with the minimum cost, respectively, through prediction of a minimum cost based on respective errors occurring in the corresponding process;
(b) receiving the DPCM result and outputting a sign value and a magnitude value as a result of performing sign conversion;
(c) receiving the sign value and the magnitude value, performing VSC encoding in parallel, and outputting VSC;
(d) receiving the size value, performing K-split, and outputting a minimum K, a quotient value, and a remaining value;
(e) receiving the quotient value, performing GR encoding in parallel, and outputting unary data; And
(f) A method of compressing lossless image data using multiple DPCM techniques, including the step of packing data according to the DPCM mode and outputting compressed data.
(a1) 한 쌍의 DPCM들을 병렬적으로 수행하는 단계;
(a2) 상기 한 쌍의 DPCM들 각각의 연산 결과를 기초로 한 쌍의 DDPCM들을 병렬적으로 수행하는 단계; 및
(a3) 상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 기초로 상기 최소 비용 예측을 수행하여 상기 DPCM 모드와 상기 DPCM 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법.
The method of claim 9, wherein step (a)
(a1) performing a pair of DPCMs in parallel;
(a2) performing a pair of DDPCMs in parallel based on an operation result of each of the pair of DPCMs; And
(a3) performing the minimum cost prediction based on the operation result of the pair of DPCMs and the operation result of the pair of DDPCMs, and outputting the DPCM mode and the DPCM result. Lossless image data compression method using the technique.
상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 기초로 다음의 수학식을 통해 상기 최소 비용 예측을 수행하는 단계를 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법.
[수학식]
(여기에서, n은 픽셀의 수이고, hdk는 수평 DPCM의 결과 값, vdk 수직 DPCM의 결과 값, hddk 수평 DDPCM의 결과 값, 그리고 vddk는 수직 DDPCM의 결과 값에 해당한다.)
The method of claim 10, wherein step (a3)
Compressing lossless image data using a multi-DPCM method, comprising the step of performing the minimum cost prediction through the following equation based on the operation result of the pair of DPCMs and the operation result of the pair of DDPCMs. Way.
[Mathematics]
(Here, n is the number of pixels, hd k is the result of horizontal DPCM, vd k is the result of vertical DPCM, hdd k is the result of horizontal DDPCM, and vdd k is the result of vertical DDPCM.)
상기 한 쌍의 DPCM들의 연산 결과와 상기 한 쌍의 DDPCM들의 연산 결과를 수신하여 부호 변환을 수행하는 단계;
DPCM 모듈들 및 DDPCM 모듈들 각각에 대해 부호 변환된 상기 연산 결과들을 각각 누산하는 단계;
상기 DPCM 모듈들 및 DDPCM 모듈들 각각에 대한 누산 결과를 상호 비교한 결과로서 최소 비용과 연관된 DPCM 모드를 출력하는 단계; 및
상기 DPCM 모드에 따라 상기 연산 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 단계를 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법.
The method of claim 10, wherein step (a3)
Performing code conversion by receiving an operation result of the pair of DPCMs and an operation result of the pair of DDPCMs;
Accumulating the code-converted calculation results for each of the DPCM modules and the DDPCM modules, respectively;
Outputting a DPCM mode associated with a minimum cost as a result of comparing the accumulated results of each of the DPCM modules and the DDPCM modules with each other; And
And selecting and outputting the DPCM result from among the calculation results according to the DPCM mode.
상기 DPCM 모드에 따라 병렬 수평 DPCM 모듈과 병렬 수평 DDPCM 모듈의 연산 결과들 중에서 제1 선별 결과를 선택하여 출력하는 단계;
상기 DPCM 모드에 따라 병렬 수직 DPCM 모듈과 병렬 수직 DDPCM 모듈의 연산 결과들 중에서 제2 선별 결과를 선택하여 출력하는 단계; 및
상기 DPCM 모드에 따라 상기 제1 및 제2 선별 결과들 중에서 상기 DPCM 결과를 선택하여 출력하는 단계를 포함하는 것을 특징으로 하는 다중 DPCM 기법을 이용한 무손실 이미지 데이터 압축 방법.
The method of claim 12, wherein the step of selecting and outputting the DPCM result
Selecting and outputting a first selection result from calculation results of a parallel horizontal DPCM module and a parallel horizontal DDPCM module according to the DPCM mode;
Selecting and outputting a second selection result from calculation results of a parallel vertical DPCM module and a parallel vertical DDPCM module according to the DPCM mode; And
And selecting and outputting the DPCM result from among the first and second selection results according to the DPCM mode.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190142494A KR102142946B1 (en) | 2019-11-08 | 2019-11-08 | Method and apparatus for lossless image data compression using multiple dpcm |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190142494A KR102142946B1 (en) | 2019-11-08 | 2019-11-08 | Method and apparatus for lossless image data compression using multiple dpcm |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR102142946B1 true KR102142946B1 (en) | 2020-08-10 |
Family
ID=72049327
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190142494A Active KR102142946B1 (en) | 2019-11-08 | 2019-11-08 | Method and apparatus for lossless image data compression using multiple dpcm |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102142946B1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100837410B1 (en) | 2006-11-30 | 2008-06-12 | 삼성전자주식회사 | Subjective lossless image data compression method and apparatus |
| KR20140137505A (en) * | 2013-05-22 | 2014-12-03 | 세종대학교산학협력단 | Method of lossless image enconding and decoding and device performing the same |
| KR101519653B1 (en) | 2008-09-03 | 2015-05-12 | 엘지전자 주식회사 | Image compressing apparatus of lossless and lossy type |
| KR20150129096A (en) * | 2012-08-13 | 2015-11-19 | 구루로직 마이크로시스템스 오이 | Encoder and method |
-
2019
- 2019-11-08 KR KR1020190142494A patent/KR102142946B1/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100837410B1 (en) | 2006-11-30 | 2008-06-12 | 삼성전자주식회사 | Subjective lossless image data compression method and apparatus |
| KR101519653B1 (en) | 2008-09-03 | 2015-05-12 | 엘지전자 주식회사 | Image compressing apparatus of lossless and lossy type |
| KR20150129096A (en) * | 2012-08-13 | 2015-11-19 | 구루로직 마이크로시스템스 오이 | Encoder and method |
| KR20140137505A (en) * | 2013-05-22 | 2014-12-03 | 세종대학교산학협력단 | Method of lossless image enconding and decoding and device performing the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20190082175A1 (en) | Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program | |
| CN110662034B (en) | Adaptive filtering method and video encoding and decoding device using the same | |
| JP5073004B2 (en) | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method | |
| US9307244B2 (en) | Data storage controlling device, data reading controlling device, and data storing method | |
| US20070286502A1 (en) | Image decoding apparatus and image decoding method | |
| KR20190112082A (en) | Motion Vector (MV) Constraints and Transform Constraints in Video Coding | |
| JP2012114876A (en) | Image encoding device, and image encoding method | |
| US7113644B2 (en) | Image coding apparatus and image coding method | |
| US8358861B2 (en) | Image compression device and image decompression device | |
| CN108200429B (en) | Bayer image compression method and device | |
| JPWO2012160626A1 (en) | Image compression apparatus, image restoration apparatus, and program | |
| US8411976B2 (en) | Image data compression apparatus, decompression apparatus, compressing method, decompressing method, and storage medium | |
| KR102142946B1 (en) | Method and apparatus for lossless image data compression using multiple dpcm | |
| JP6168020B2 (en) | Image processing apparatus, image processing method, and image processing program | |
| US9277213B2 (en) | Video encoding device | |
| JP2011109172A (en) | Video encoder and data processing method for the same | |
| KR101035746B1 (en) | Distributed Motion Prediction Method in Video Encoder and Video Decoder | |
| US8306341B2 (en) | Image data compression apparatus and decoding apparatus | |
| JP2011259345A (en) | Encoding device | |
| US11991375B2 (en) | Moving image encoding device, moving image compression device, moving image encoding method, and program | |
| KR20250138834A (en) | Method and device for intraframe prediction, video coding device, and storage medium | |
| JP5404857B2 (en) | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method | |
| US20130216133A1 (en) | Motion detector, image processing device, and image processing system | |
| JP2013153373A (en) | Encoder and encoding method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20191108 |
|
| PA0201 | Request for examination | ||
| PA0302 | Request for accelerated examination |
Patent event date: 20200205 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20191108 Patent event code: PA03021R01I Comment text: Patent Application |
|
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200313 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200730 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200804 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20200805 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20230703 Start annual number: 4 End annual number: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20240626 Start annual number: 5 End annual number: 5 |