KR100740646B1 - Bit rate control method in still image compression method and apparatus therefor - Google Patents
Bit rate control method in still image compression method and apparatus therefor Download PDFInfo
- Publication number
- KR100740646B1 KR100740646B1 KR1020050069900A KR20050069900A KR100740646B1 KR 100740646 B1 KR100740646 B1 KR 100740646B1 KR 1020050069900 A KR1020050069900 A KR 1020050069900A KR 20050069900 A KR20050069900 A KR 20050069900A KR 100740646 B1 KR100740646 B1 KR 100740646B1
- Authority
- KR
- South Korea
- Prior art keywords
- coefficients
- bit rate
- coefficient
- still image
- rate control
- 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.)
- Expired - Fee Related
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명은 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한 장치에 관한 것으로서, 수평 및 수직 블록으로 구성되는 정지 영상 데이터에 대한 이산 코사인 변환 계수를 산출하는 이산 코사인 변환 단계(a)-상기 이산 코사인 변환(DCT) 계수는 DC 계수 및 AC 계수를 포함함-; 상기 산출된 이산 코사인 변환 계수를 양자화하는 단계(b); 상기 양자화된 계수를 지그재그 스캐닝하는 단계(c)-상기 지그재그 스캐닝은 저주파수 성분에서 고주파수 성분까지 순차적으로 일차원 배열하는 것을 의미함-; 상기 일차원 배열된 양자화 계수에 소정 비트의 코드를 할당하는 엔트로피 인코딩 단계(d); 상기 코드를 임시 저장하는 출력 버퍼의 잔여 용량을 체크하는 단계(e); 및 상기 출력 버퍼의 잔여 용량이 미리 설정된 수치를 초과하는 경우, 상기 지그재그 스캐닝의 역순으로 상기 AC 계수에 상응하는 코드를 제거하는 단계(f)를 포함하는 정지 영상 압축 방식에서의 비트율 제어 방법에 관한 것이다. 본 발명에 따르면, 지그재그 스캐닝 특성에 따라 정지 영상의 비트율을 제어하기 때문에 효율적인 비트율 제어가 가능하다는 장점이 있다. The present invention relates to a method for controlling a bit rate in a still image compression method and an apparatus therefor, the method comprising: a discrete cosine transform step (a) of calculating a discrete cosine transform coefficient for still image data consisting of horizontal and vertical blocks (a)-the discrete cosine Transform (DCT) coefficients include DC coefficients and AC coefficients; (B) quantizing the calculated discrete cosine transform coefficients; (C) zigzag scanning the quantized coefficients, wherein zigzag scanning means one-dimensional ordering from low frequency components to high frequency components sequentially; (D) an entropy encoding step of allocating a code of a predetermined bit to the one-dimensionally arranged quantization coefficients; (E) checking a remaining capacity of an output buffer for temporarily storing the code; And (f) removing the code corresponding to the AC coefficient in the reverse order of the zigzag scanning when the remaining capacity of the output buffer exceeds a preset value. will be. According to the present invention, since the bit rate of the still image is controlled according to the zigzag scanning characteristic, an efficient bit rate control is possible.
비트율, 제이펙, 지그재그 스캐닝, MCU, 인코딩 Bit Rate, Jpeg, Zigzag Scanning, MCU, Encoding
Description
도 1은 종래기술에 따른 정지 영상 압축 장치의 구성을 도시한 블록도.1 is a block diagram showing the configuration of a still image compression apparatus according to the prior art.
도 2는 일반적인 DCT 과정에 따라 산출된 DCT 계수 블록에서 DC 계수를 나타내는 도면. 2 is a diagram illustrating a DC coefficient in a DCT coefficient block calculated according to a general DCT process.
도 3은 일반적인 정지 영상 압축 과정에서의 지그재그 스캐닝을 나타내는 도면.3 is a diagram illustrating zigzag scanning in a general still image compression process.
도 4는 일반적인 정지 영상 압축 방식에서의 스트림 포맷 체계를 나타내는 도면. 4 is a diagram illustrating a stream format system in a general still image compression method.
도 5는 본 발명의 바람직한 일 실시예에 따른 정지 영상 압축 장치의 구성을 도시한 도면.5 is a diagram showing the configuration of a still image compression apparatus according to an embodiment of the present invention.
도 6a 내지 도 6c는 본 발명의 본 발명의 바람직한 일 실시예에 따른 비트율 제어 과정을 도시한 도면.6A to 6C are diagrams illustrating a bit rate control process according to an exemplary embodiment of the present invention.
도 7은 본 발명에 따른 비트율 제어가 이루어지는 최소 코드 유닛을 도시한 도면.7 illustrates a minimum code unit in which bit rate control is performed according to the present invention;
본 발명은 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한 장치에 관한 것으로서, 보다 상세하게는 제이펙 압축에서 압축된 정지 영상의 전송 데이터량을 효율적으로 조절할 수 있는 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to a method for controlling a bit rate in a still image compression method and an apparatus therefor, and more particularly, to a bit rate control in a still image compression method capable of efficiently adjusting the amount of transmission data of a still image compressed in a JPEG compression A method and apparatus therefor.
최근, CCD(Charged Coupled Device) 센서 및 CMOS(Complementary Metal Oxide) 센서와 같은 이미지 센서의 고집적화와 디지털 이미지의 처리 기술이 발달하면서 디지털 카메라가 급속도로 진화하고 있으며, 디지털 카메라의 이용이 급증하고 있는 추세이다. Recently, with the high integration of image sensors such as Charged Coupled Device (CCD) sensors and Complementary Metal Oxide (CMOS) sensors and the development of digital image processing technology, digital cameras are rapidly evolving, and the use of digital cameras is rapidly increasing. to be.
CCD 센서 및 CMOS 센서는 복수의 픽셀을 포함하고 있으며, 영상 촬영 시 피사체에 대한 빛 신호를 RGB 데이터로 변환하여 출력하며, 이와 같은 RGB 데이터는 휘도(Y)와 채도(Cb 및 Cr) 정보로 구성되는 YUV 데이터(또는 YIQ 데이터)로 변환된다. The CCD sensor and the CMOS sensor include a plurality of pixels, and convert the light signal of the subject into RGB data when the image is captured, and the RGB data is composed of luminance (Y) and saturation (Cb and Cr) information. Is converted into YUV data (or YIQ data).
이와 같이 변환된 데이터가 메모리에 저장되거나 또는 네트워크를 통해 다른 사용자 등에 전송되는 경우, 데이터량을 감소시키기 위해 영상 데이터의 압축 과정이 수행된다. When the data thus converted is stored in a memory or transmitted to another user through a network, a compression process of image data is performed to reduce the data amount.
도 1은 종래기술에 따른 영상 압축 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of an image compression apparatus according to the prior art.
도 1을 참조하여 종래기술에 따른 정지 영상의 압축에 대해 상세하게 설명한다. A compression of a still image according to the prior art will be described in detail with reference to FIG. 1.
도 1에 도시된 바와 같이, 종래기술에 따른 영상 압축 장치는 샘플링부 (100), DCT부(102), 양자화기(Quantizer, 104) 및 엔트로피 인코더(Entropy Encoder, 106)를 구비한다. As shown in FIG. 1, the image compression apparatus according to the related art includes a
제이펙(Joint Photographic Experts Group: Jpeg) 파일에서는 상기와 같이 YUV 데이터의 성분인 Y, Cb, Cr이 다양한 비율로 저장될 수 있는데, 예를 들어, 매 픽셀의 Y, Cb 및 Cr을 모두 저장하거나, 또는 매 픽셀의 Y 성분은 모두 저장하는 반면 Cb, Cr은 한 픽셀씩 건너 뛰면서 저장할 수 있다. In the Joint Photographic Experts Group (Jpeg) file, YUV data, Y, Cb, and Cr, which are components of YUV data, may be stored in various ratios. The Y component of every pixel can be stored while Cb and Cr can be skipped by one pixel.
샘플링부(100)는 상기와 같이, 전체 픽셀 중에서 일부 픽셀의 데이터만을 선별하여 저장하는 과정을 수행하며, 샘플링된 데이터는 DCT부(102)로 출력된다. As described above, the
이때, 샘플링된 데이터들은 8x8 크기의 블록으로 나누어지며, 이를 MCU(Minimum Coded Unit)라 한다. At this time, the sampled data is divided into 8x8 blocks, which is called a MCU (Minimum Coded Unit).
이와 같이 8x8 블록으로 구분된 데이터가 DCT부(102)로 입력되며, DCT부(102)는 영상 데이터를 시간 영역에서 주파수 영역으로 변환하는 이산 코사인 변환(Discrete Cosine Transform) 과정을 수행한다. As described above, data divided into 8x8 blocks is input to the
이산 코사인 변환 과정을 통해 8x8 블록의 샘플 데이터는 8x8 블록의 DCT 계수로 변환되는데, 여기서, DCT 계수는 도 2 내지 도 3에 도시된 바와 같이, 저주파수 스펙트럼의 에너지를 나타내는 DC 계수와 나머지 고주파수 스펙트럼을 나타내는 AC 계수를 포함한다. Through the discrete cosine transform process, sample data of an 8x8 block is transformed into DCT coefficients of an 8x8 block, where the DCT coefficients represent DC coefficients representing energy of the low frequency spectrum and the remaining high frequency spectrum, as shown in FIGS. It includes the AC coefficient that it represents.
한편, DCT부(102)는 산출된 8x8 블록의 DCT 계수를 양자화기(104)로 출력하며, 양자화기(104)는 기 저장된 양자화기 테이블을 통해 양자화하는 과정을 수행한다. Meanwhile, the
양자화 과정은 DC 계수 및 AC 계수를 양자화 테이블에 저장된 값으로 나눈 뒤 반올림하는 과정으로서, 이와 같은 양자화 과정을 통해 본래부터 대부분의 AC 계수는 0으로 변환된다. The quantization process is a process of dividing a DC coefficient and an AC coefficient by a value stored in a quantization table, and then rounding them. Through this quantization process, most AC coefficients are inherently converted to zero.
이후, 양자화된 계수는 도 3에 도시된 바와 같이, 지그재그 스캐닝되어 엔트로피 인코더(106)로 출력되며, 지그재그 스캐닝에 의해 일차원으로 변환된 계수가 엔트로피 코딩 과정을 거치게 된다. Thereafter, as illustrated in FIG. 3, the quantized coefficients are zigzag scanned and output to the
일반적으로 엔트로피 코딩은 Run Length Coding(부호 흐름 길이 코딩: RLC)이나 Variable Length Coding(가변 길이 코딩: VLC)을 이용하며, 상기한 방법을 이용하여 지그재그 스캐닝되어 입력되는 계수에 순차적으로 코드(코드 워드)를 할당하는 과정을 수행한다. In general, entropy coding uses Run Length Coding (RLC) or Variable Length Coding (VLC). The entropy coding is performed by sequentially applying a code (code word) to a coefficient input after being zigzag scanned using the above method. ) Process.
이를 통해, 도 4에 도시된 바와 같이, MCU 별로 최종적으로 압축된 데이터(108)가 출력되며, 압축 데이터는 출력 버퍼에 채워진 후 네트워크를 통해 외부로 전송된다. Through this, as shown in FIG. 4, the finally
동영상 압축 방식인 MPEG에서는 비트율 제어를 위하여 매크로 블록 스트림(macro block stream)의 앞부분에 양자화 계수를 변화시키는 방법 등 다양한 방법을 적용하여 비트율을 제어하는 것이 일반적이나, 정지 영상의 압축 방식인 제이펙에서는 이와 같은 비트율 제어 과정이 수행되지 않는 것이 일반적이며, 이에 따라 전송되는 영상의 화질 변화가 발생하는 문제점이 있었다. In MPEG, which is a video compression method, it is common to control the bit rate by applying various methods such as changing the quantization coefficients in front of the macro block stream to control the bit rate. It is common that such a bit rate control process is not performed, thereby causing a change in image quality of a transmitted image.
한편, 종래에 정지 영상 압축 방식에서 데이터량을 조절하기 위해 양자화기(104)에서 적용하는 양자화 테이블을 변화시키는 방법을 이용하는 사례도 있으나, 종래의 양자화기는 일반적으로 2개 정도의 양자화 테이블을 사용하기 때문에 다양한 조건에 대해 대응할 수 없으며, 이로 인해 효율적인 비트율 제어를 수행하지 못하는 문제점이 있었다. On the other hand, there is a case of using a method of changing the quantization table applied by the
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 정지 영상의 압축 시 효율적인 비트율 제어를 수행할 수 있는 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한 장치를 제안하고자 한다. In order to solve the problems of the prior art as described above, the present invention proposes a method for controlling a bit rate in a still image compression method and an apparatus therefor that can perform efficient bit rate control when compressing still images.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 수평 및 수직 블록으로 구성되는 정지 영상 데이터에 대한 이산 코사인 변환 계수를 산출하는 이산 코사인 변환 단계(a)-상기 이산 코사인 변환(DCT) 계수는 DC 계수 및 AC 계수를 포함함-; 상기 산출된 이산 코사인 변환 계수를 양자화하는 단계(b); 상기 양자화된 계수를 지그재그 스캐닝하는 단계(c)-상기 지그재그 스캐닝은 저주파수 성분에서 고주파수 성분까지 순차적으로 일차원 배열하는 것을 의미함-; 상기 일차원 배열된 양자화 계수에 소정 비트의 코드를 할당하는 엔트로피 인코딩 단계(d); 상기 코드를 임시 저장하는 출력 버퍼의 잔여 용량을 체크하는 단계(e); 및 상기 출력 버퍼의 잔여 용량이 미리 설정된 수치를 초과하는 경우, 상기 지그재그 스캐닝의 역순으로 상기 AC 계수에 상응하는 코드를 제거하는 단계(f)를 포함하는 정지 영상 압축 방식에서의 비트율 제어 방법이 제공된다. In order to achieve the above object, according to a preferred embodiment of the present invention, the discrete cosine transform step (a)-calculating the discrete cosine transform coefficients for still image data consisting of horizontal and vertical blocks Transform (DCT) coefficients include DC coefficients and AC coefficients; (B) quantizing the calculated discrete cosine transform coefficients; (C) zigzag scanning the quantized coefficients, wherein zigzag scanning means one-dimensional ordering from low frequency components to high frequency components sequentially; (D) an entropy encoding step of allocating a code of a predetermined bit to the one-dimensionally arranged quantization coefficients; (E) checking a remaining capacity of an output buffer for temporarily storing the code; And (f) removing a code corresponding to the AC coefficient in a reverse order of the zigzag scanning when the remaining capacity of the output buffer exceeds a preset value. do.
여기서, 상기 (f) 단계는 8x8 블록의 MCU 단위로 수행되는 것이 바람직하며, 상기 MCU 단위는 상기 EOB(End Of Block) 마커에 의해 식별되는 것이 바람직하다. Here, the step (f) is preferably performed in the MCU unit of 8x8 block, the MCU unit is preferably identified by the End Of Block (EOB) marker.
또한, 상기 AC 계수에 상응하는 코드의 제거 개수가 미리 설정되는 하나 이상의 레벨을 유지하는 단계를 더 포함하되, 상기 (f) 단계는 상기 하나 이상의 레벨에 따라 설정된 개수만큼 상기 AC 계수에 상응하는 코드를 제거할 수 있다. The method may further include maintaining one or more levels in which the number of removal of codes corresponding to the AC coefficients is set in advance. The step (f) may include codes corresponding to the AC coefficients by a number set according to the one or more levels. Can be removed.
한편, 본 발명의 다른 측면에 따르면, 정지 영상에 대한 이산 코사인 변환 계수를 산출하는 이산 코사인 변환 수단-상기 이산 코사인 변환 계수는 DC 계수 및 AC 계수를 포함함-; 상기 산출된 이산 코사인 변환 계수를 양자화하는 양자화 수단; 상기 양자화된 계수를 지그재그 스캐닝하는 스캐닝 수단-상기 지그재그 스캐닝은 저주파수 성분에서 고주파수 성분까지 순차적으로 일차원 배열하는 것을 의미함-; 상기 일차원 배열된 양자화 계수에 소정 비트의 코드를 할당하는 엔트로피 인코딩 수단; 및 상기 코드를 임시 저장하는 출력 버퍼의 잔여 용량을 체크하며, 상기 출력 버퍼의 잔여 용량이 미리 설정된 수치를 초과하는 경우, 상기 지그재그 스캐닝의 역순으로 상기 AC 계수에 상응하는 코드를 제거하는 비트율 제어 수단을 포함하는 정지 영상 압축 방식에서의 비트율 제어 장치가 제공된다.On the other hand, according to another aspect of the present invention, a discrete cosine transform means for calculating a discrete cosine transform coefficient for a still image, wherein the discrete cosine transform coefficient includes a DC coefficient and an AC coefficient; Quantization means for quantizing the calculated discrete cosine transform coefficients; Scanning means for zigzag scanning the quantized coefficients, said zigzag scanning means one-dimensional arrangement sequentially from a low frequency component to a high frequency component; Entropy encoding means for allocating a code of a predetermined bit to the one-dimensionally arranged quantization coefficients; And a bit rate control means for checking the remaining capacity of the output buffer for temporarily storing the code, and if the remaining capacity of the output buffer exceeds a preset value, removing the code corresponding to the AC coefficient in the reverse order of the zigzag scanning. Provided is a bit rate control apparatus in a still image compression method including a.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한 장치에 대한 바람직한 실시예를 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the bit rate control method and apparatus therefor in the still image compression method according to the present invention.
본 발명은 압축된 정지 영상의 네트워크를 통한 전송 시 비트율을 제어하기 위한 것으로서, 디지털 카메라가 장착된 모바일 등에서 무선 네트워크를 통해 정지 영상을 전송하는 경우뿐만 아니라, 유선 네트워크를 통해 정지 영상을 전송하는 경우에도 적용될 수 있다. The present invention is to control the bit rate of the transmission of the compressed still image through the network, not only when transmitting a still image via a wireless network in a mobile, such as a digital camera, but also when transmitting a still image through a wired network Applicable to
본 발명의 바람직한 일 실시예에 따르면, 비트율 제어는 정지 영상 압축을 위한 어플리케이션 프로그램에 의해 이루어질 수도 있으며, 이와 달리, 소정 회로 구조를 갖는 하드웨어적 구성을 달성될 수도 있을 것이다. According to a preferred embodiment of the present invention, the bit rate control may be performed by an application program for still image compression, or alternatively, a hardware configuration having a predetermined circuit structure may be achieved.
이외에도 본 발명에서 제안하는 비트율 제어 방법은 다양한 형태로 실시될 수 있으며, 이러한 실시 형태의 단순한 변형이 본 발명의 범주에 속하는 것은 당업자에게 자명할 것이다.In addition, the bit rate control method proposed in the present invention may be implemented in various forms, and it will be apparent to those skilled in the art that simple modifications of the embodiments fall within the scope of the present invention.
도 5는 본 발명의 바람직한 일 실시예에 따른 영상 압축 장치의 구성을 도시한 도면이다.5 is a diagram illustrating a configuration of an image compression apparatus according to an exemplary embodiment of the present invention.
도 5에 도시된 바와 같이, 본 발명에 따른 영상 압축 장치는 샘플링부(500), DCT부(502), 양자화기(504), 엔트로피 인코더(506) 및 비트율 제어부(508)를 포함할 수 있다. As shown in FIG. 5, the image compression apparatus according to the present invention may include a
전술한 바와 같이, 이미지 센서에서 촬상된 RGB 데이터는 YUV 데이터로 변환되어 영상 압축 장치(codec: 코덱)로 입력되는데, 샘플링부(500)는 YUV 데이터를 구성하는 Y, Cb 및 Cr 각 성분을 미리 설정된 샘플링 주기 별로 샘플링하는 과정을 수행한다. As described above, the RGB data captured by the image sensor is converted into YUV data and input to an image compression device (codec: codec), and the
본 명세서에서는 YUV 데이터를 기준으로 비트율을 제어하는 과정에 대해 설명할 것이나, 반드시 이에 한정되는 것은 아니며, RGB 데이터가 YIQ 데이터로 변환되는 경우도 본 발명의 범주에 포함된다는 점을 이해하여야 할 것이다. In the present specification, a process of controlling a bit rate based on YUV data will be described, but it is not necessarily limited thereto, and it should be understood that the case where RGB data is converted into YIQ data is also included in the scope of the present invention.
샘플링된 데이터는 DCT 과정을 위해 미리 설정된 블록 크기로 나누어져야 하는데, 전술한 바와 같이, 이를 MCU라 하며 일반적으로 MCU는 8x8 블록을 의미한다. The sampled data should be divided into a predetermined block size for the DCT process. As described above, this is called an MCU, and the MCU generally means an 8x8 block.
여기서, MCU의 픽셀 블록 크기는 샘플링부의 샘플링 주기에 따라 달라질 수 있으며, 예를 들어, 샘플링 주기가 Y:Cb:Cr 가 1:1:1인 경우에는 매 픽셀에 포함된 성분을 선별하므로 MCU는 8x8 픽셀이 되며, 1:1:1, 즉, Y는 매 픽셀 별로, Cb 및 Cr은 하나씩 건너 뛰면서 샘플링하는 경우에는 MCU가 16x16 픽셀이 된다. Here, the pixel block size of the MCU may vary according to the sampling period of the sampling unit. For example, when Y: Cb: Cr is 1: 1: 1, the MCU selects the components included in each pixel, so that the MCU It will be 8x8 pixels, with a 1: 1: 1, i.e. Y for every pixel, and Cb and Cr will be skipped one by one, and the MCU will be 16x16 pixels.
이와 같은 샘플링된 데이터는 DCT부(502)로 입력되며, DCT부(502)는 8x8 블록의 샘플을 DCT 계수로 변환하는 과정을 수행한다. The sampled data is input to the
DCT부(502)로 입력되는 데이터는 MCU에 포함되는 각 픽셀의 진폭 정보를 포함하는데, 여기서, 이산 코사인 변환 과정은 인접 픽셀의 진폭 변화를 8개의 주파수 스펙트럼으로 분리하고, 각 주파수 스펙트럼의 에너지를 정량적으로 표시하는 DCT 계수를 산출하는 과정이다. The data input to the
상기에서, MCU가 8x8 블록이므로 하나의 MCU에 대해 64개의 DCT 계수가 산출되며, 이와 같은 DCT 계수는 각 MCU에 대해 하나의 DC 계수와 63개의 AC 계수를 포함한다. In the above, since the MCU is an 8x8 block, 64 DCT coefficients are calculated for one MCU, and such DCT coefficients include one DC coefficient and 63 AC coefficients for each MCU.
DCT부(502)는 산출된 DCT 계수를 MCU에 따라 8x8 블록의 형태로 배열하는데, 도 6a 내지 도 6c에 도시된 바와 같이, DC 계수는 왼쪽 위에 위치하며, 왼쪽 위로 갈수록 낮은 주파수 성분의 DCT 계수가 위치하게 된다. The
DC 계수는 가장 낮은 주파수 성분을 나타내며, AC 계수보다 상대적으로 큰 값을 가진다. The DC coefficient represents the lowest frequency component and has a value relatively larger than the AC coefficient.
DC 계수가 AC 계수보다 큰 것은 영상의 전체적인 관점에서 저주파수로 나타나는 물체를 표현하는 부분이 대부분이고, 고주파수로 나타나는 윤곽 부분이 소수 포함되기 때문이다. The DC coefficient is larger than the AC coefficient because most of the parts representing objects appearing at low frequencies are included in the overall view of the image, and a few of the contour parts appearing at high frequencies are included.
삭제delete
DCT부(502)에 의해 산출된 8x8 블록의 DCT 계수는 양자화기(504)에 입력되어 양자화 계수로 변환된다. The DCT coefficients of the 8x8 block calculated by the
양자화란 인간의 감각 능력으로는 구별하기 힘든 범위 내에서 DCT 계수를 정수로 반올림하는 과정을 말한다. 이 과정에서는 DCT 변환을 통해 얻은 DCT 계수를 각각 미리 정의된 상수(양자화 테이블에 존재하는 상수)로 나누고 그 결과를 정수값으로 반올림한다. 여기에서 사용하는 상수는 1보다 크거나 같으며 주파수의 높낮이에 따라 그 크기가 모두 다르다. Quantization refers to the process of rounding DCT coefficients to integers within ranges that are indistinguishable from human senses. In this process, the DCT coefficients obtained through the DCT transform are divided into predefined constants (constants in the quantization table), and the result is rounded to an integer value. The constants used here are greater than or equal to 1 and all of them vary in frequency and height.
즉, 인간의 눈이 민감하게 반응하는 낮은 주파수는 작은 상수로 나누어 원래 값과 큰 차이가 없도록 하며, 높은 주파수는 원래 값과 어느 정도 차이가 나더라도 잘 인식하지 못하기 때문에 큰 수를 사용하여 나누게 된다. In other words, the low frequency to which the human eye responds sensitively should be divided into small constants so that there is no big difference from the original value. do.
실제 양자화 과정을 거치고 나면 낮은 주파수의 계수는 0이 아닌 값이 되고 높은 주파수의 계수는 거의 대부분 0이 된다. After the actual quantization process, the low frequency coefficients are non-zero and the high frequency coefficients are almost zero.
이와 같은 양자화 과정은 가장 큰 데이터 압축이 일어나는 부분이며,동시에 가장 데이터 손실이 많은 부분인데, 양자화는 하나 이상의 양자화 테이블을 통해 이루어지나, 데이터 압축률에 따라 단지 적은 개수의 양자화 테이블이 사용되는 것이 일반적이다. The quantization process is the portion where the largest data compression occurs and the most data loss at the same time. Quantization is performed through one or more quantization tables, but only a small number of quantization tables are used depending on the data compression rate. .
양자화 계수는 지그재그 스캐닝을 통해 엔트로피 인코더(506)로 출력되는데, 도 5에서는 지그재그 스캐닝 수단을 도시하지 않았으나, 이와 같은 수단은 양자화기(504)에 포함될 수 있다. The quantization coefficients are output to the
엔트로피 인코더(506)는 제이펙 알고리즘의 마지막 단계로 무손실 압축을 사용하여 최종 압축을 수행하는 것으로서, 일반적으로 허프만 코딩(Huffman Coding)을 많이 사용한다. The
허프만 코딩은 출현빈도가 높은 값(양자화 계수)에는 짧은 길이(짧은 비트)의 코드를 할당하고, 출현빈도가 낮은 값에는 긴 길이(긴 비트)의 코드를 할당해서 전체 길이를 줄이는 가변 길이 부호 압축 방식이다. Huffman coding assigns short-length codes (short bits) to high-frequency values (quantization coefficients) and long-length (long bits) codes to low-frequency values, reducing the overall length. That's the way.
양자화를 거치면서 많은 계수가 0이 되고, 이들 계수의 지그재그 스캐닝을 통해 64자리의 수로 만들기 때문에 같은 형태가 얼마든지 나타날 수 있다. 따라서 이들을 허프만 코딩을 통해 압축하여 그 크기를 줄이게 된다.Many of the coefficients become zero through quantization, and the same shape can appear as many as 64 digits through zigzag scanning of these coefficients. Therefore, they are compressed by Huffman coding to reduce their size.
이와 같이, 압축된 파일 안에는 할당된 허프만 코드에 대한 테이블이 함께 저장되며, 데이터를 복호화 하는 경우, 허프만 코드 테이블을 참조하여 본래 데이터로 변환하는 과정이 이루어질 수 있다. As such, a table for the allocated Huffman code is stored together in the compressed file, and when the data is decoded, a process of converting the original Huffman code into the original data may be performed.
종래에는 상기와 같이, 엔트로피 코딩된 데이터에 대해 별도의 비트율 제어를 위한 프로세스 없이 출력 버퍼(미도시)에 채워지며, 네트워크에 연결된 전송단(미도시)를 통해 외부로 전송하나, 본 발명에 따른 정지 영상 압축 장치는 비트율 제어부(508)를 더 포함하게 된다. Conventionally, as described above, the entropy coded data is filled in an output buffer (not shown) without a process for separate bit rate control and is transmitted to the outside through a transmission end (not shown) connected to a network. The still image compression apparatus may further include a
비트율 제어부(508)는 엔트로피 인코더(506)에 의해 할당된 코드(코드 워드) 중에 고주파수 성분에 상응하는 코드를 추가적으로 제거하는 과정을 수행하는 것으로서, 출력 버퍼에 채워진 데이터의 양을 체크하여 엔트로피 코딩된 데이터 스트림의 양을 줄여야 하는 것으로 판단되는 경우, 제이펙 압축의 지그재그 스캐닝 특성을 이용하여 스트림의 양을 감소시키는 과정을 수행한다. The
전술한 바와 같이, DCT 과정을 통해 얻어진 8x8 블록의 DCT 계수에서 왼쪽 상단에 DC 계수가 위치하며, 오른쪽 아래로 갈수록 주파수가 높은 성분에 대한 AC 계수가 위치하게 되는데(도 3 및 도 6a 참조), 지그재그 스캐닝에 의해 8x8 블록에 포함된 DCT 계수는 주파수가 낮은 성분에서 주파수가 높은 성분에 대해 순차적으로 일차원 배열된다. As described above, the DC coefficient is located at the upper left of the DCT coefficient of the 8x8 block obtained through the DCT process, and the AC coefficient for the higher frequency component is located toward the lower right (see FIGS. 3 and 6A). The DCT coefficients included in the 8x8 block by zigzag scanning are sequentially one-dimensionally arranged from the low frequency components to the high frequency components.
이와 같이, 제이펙 압축 과정에서는 지그재그 스캐닝에 의해 저주파 성분에서 고주파 성분이 순차적으로 출력되기 때문에 본 발명에 따른 비트율 제어부(508)는 데이터 스트림의 양을 감소시키고자 하는 경우, 하나의 MCU에 대한 개별 계수에 상응하는 코드 중에서 나중에 출력되는 AC 계수에 대응하는 코드를 제거하는 과정을 수행하게 된다. As described above, since the high frequency components are sequentially output from the low frequency components by the zigzag scanning in the JPEG compression process, when the bit
도 6a 내지 도 6c는 본 발명의 본 발명의 바람직한 일 실시예에 따른 비트율 제어 과정을 도시한 도면이며, 도 6a는 비트율 제어 전의 8x8 계수 블록을 나타내는 것이며, 도 6b 내지 도 6c는 높은 레벨로의 비트율 제어가 이루어지는 과정을 도시한 것이다. 6A to 6C are diagrams illustrating a bit rate control process according to an exemplary embodiment of the present invention, and FIG. 6A shows an 8x8 coefficient block before bit rate control, and FIGS. 6B to 6C show a high level. The process of bit rate control is shown.
도 6a 내지 도 6b를 참조하면, 본 발명에 따른 비트율 제어부(508)는 출력 버퍼의 양을 체크하여 양자화 과정에서 0의 정수값을 가지지 않으며 엔트로피 인코더(506)에 의해 각 양자화 계수에 대해 할당된 코드를 상기한 지그재그 스캐닝의 역순으로 제거하는 과정을 수행하며(도면부호 600 및 602 참조), 만일 이보다 더 많은 데이터량의 감소가 필요한 경우에는 추가적으로 지그재그 스캐닝 역순으로 AC 계수에 상응하는 코드를 제거하는 과정을 수행하게 된다. 6A to 6B, the
한편, 도 7은 본 발명에 따른 비트율 제어가 이루어지는 최소 코드 유닛(MCU)을 도시한 도면으로서, 도 7은 도 6에 따른 8x8 블록의 양자화 계수를 일차원으로 배열한 것으로서, level0는 비트율 제어가 이루어지기 전이며, 상위 레벨로 갈수록 비트율 제어에 의해 추가적인 데이터가 감소가 이루어지는 과정을 나타낸다. FIG. 7 is a diagram illustrating a minimum code unit (MCU) in which bit rate control is performed according to the present invention. FIG. 7 is a diagram illustrating quantization coefficients of an 8 × 8 block according to FIG. 6 in one dimension. Before losing, it indicates a process in which additional data is reduced by bit rate control toward the upper level.
즉, 본 발명에 따르면, 비트율 제어부(508)는 상기 AC 계수에 상응하는 코드의 제거 개수가 미리 설정되는 하나 이상의 레벨을 유지하면서 체크된 출력 버퍼의 잔여 용량에 따라 적용할 레벨을 결저하고, 그 레벨에 따라 설정된 개수만큼 상기 AC 계수에 상응하는 코드를 제거하는 과정을 수행하게 된다. That is, according to the present invention, the
도 7에서 data0 내지 data9는 계수에 할당된 하나 이상의 코드를 의미하며, EOB(End Of Block)는 8x8 블록(MCU)의 끝을 의미한다. In FIG. 7, data0 through data9 mean one or more codes assigned to coefficients, and an end of block (EOB) means an end of an 8x8 block (MCU).
엔트로피 인코더(506)는 지그재그 스캐닝에 따라 data1 내지 data9 순으로 코드를 출력하기 때문에 나중에 출력되는 데이터는 고주파수 성분에 대한 코드에 해당되며, 본 발명에 따른 비트율 제어부(508)는 EOB로 구분되는 MCU 단위로 고주파수 성분을 제거하는 과정을 수행하게 된다. Since the
한편, 비트율 제어부(508)에 의해 제거되는 고주파수 성분의 양은 출력 버퍼의 잔여 용량에 따라 결정될 수 있으며, 출력 버퍼가 현재 허용할 수 있는 비트율을 초과하지 않는 범위 내에서 고주파수 성분을 제거하는 것이 가능할 것이다. Meanwhile, the amount of the high frequency component removed by the
상기에서는 엔트로피 코딩에서 허프만 코딩의 경우를 예를 들어 설명하였으나, 반드시 이에 한정되는 것은 아니며, 그밖에 제이펙에 적용되는 그밖에 다른 코딩 방식에 대해서도 본 발명이 적용될 수 있다는 점은 당업자에게 있어 자명할 것이다. In the above, the case of Huffman coding in entropy coding has been described as an example, but it is not necessarily limited thereto. It will be apparent to those skilled in the art that the present invention can be applied to other coding schemes applied to JP.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.
이상에서 설명한 바와 같이, 본 발명에 따르면, 제이펙 압축 방식에서의 지그재그 특성을 이용하여 엔트로피 코딩된 데이터의 비트율을 제거하기 때문에 효율적으로 데이터 스트림의 양을 감소시킬 수 있는 장점이 있다. As described above, according to the present invention, since the bit rate of the entropy coded data is removed by using the zigzag characteristic in the JPEG compression method, the amount of the data stream can be efficiently reduced.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020050069900A KR100740646B1 (en) | 2005-07-29 | 2005-07-29 | Bit rate control method in still image compression method and apparatus therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020050069900A KR100740646B1 (en) | 2005-07-29 | 2005-07-29 | Bit rate control method in still image compression method and apparatus therefor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20070014898A KR20070014898A (en) | 2007-02-01 |
| KR100740646B1 true KR100740646B1 (en) | 2007-07-18 |
Family
ID=38080598
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020050069900A Expired - Fee Related KR100740646B1 (en) | 2005-07-29 | 2005-07-29 | Bit rate control method in still image compression method and apparatus therefor |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100740646B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102153661B1 (en) * | 2019-11-29 | 2020-09-08 | 국방과학연구소 | Spaceborne sar and telemetry data reduction method for spaceborne sar |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR19980033806A (en) * | 1996-11-01 | 1998-08-05 | 김광호 | Adaptive Discrete Cosine Transform Coding Method and Apparatus |
-
2005
- 2005-07-29 KR KR1020050069900A patent/KR100740646B1/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR19980033806A (en) * | 1996-11-01 | 1998-08-05 | 김광호 | Adaptive Discrete Cosine Transform Coding Method and Apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20070014898A (en) | 2007-02-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4365957B2 (en) | Image processing method and apparatus and storage medium | |
| EP1834487B1 (en) | Method for improved entropy coding | |
| JP4084826B2 (en) | Image compression device and method | |
| KR100914160B1 (en) | Lossless In-Frame Encoding with Golomb-Rice | |
| KR100944282B1 (en) | DCT Compression with VOLUMO-RIC Coding | |
| CN100592759C (en) | Image capturing device, imaging circuit, and image capturing method | |
| KR20040018414A (en) | An apparatus and method for encoding digital image data in a lossless manner | |
| CN1329734A (en) | Image processing circuit and method for reducing difference between pixel values across image boundary | |
| US7551788B2 (en) | Digital image coding device and method for noise removal using wavelet transforms | |
| US20070019875A1 (en) | Method of further compressing JPEG image | |
| JP3469438B2 (en) | Image signal processing method and apparatus, recording medium | |
| CN108156461A (en) | A kind of Bayer method for compressing image and device | |
| KR100740646B1 (en) | Bit rate control method in still image compression method and apparatus therefor | |
| Robinson | Adaptive prediction trees for image compression | |
| JPH0487460A (en) | Picture processor | |
| KR0132895B1 (en) | Image compression and expansion method and apparatus for adaptable function | |
| JP2001231009A (en) | Image data storage device and method | |
| EP1345449A1 (en) | Digital image compression and decompression using block coding | |
| JP6813991B2 (en) | Image coding device and its control method and program | |
| JP2007295319A (en) | Image processing apparatus and image forming apparatus equipped therewith | |
| JP5267140B2 (en) | Image compression apparatus and image compression method | |
| JP2007019878A (en) | Image coding apparatus and image coding method | |
| KR100715512B1 (en) | Image processing apparatus and method | |
| JPH0654198A (en) | Image transmission system | |
| JP2023070055A (en) | Image encoding device and its control method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| G170 | Re-publication after modification of scope of protection [patent] | ||
| PG1701 | Publication of correction |
St.27 status event code: A-5-5-P10-P19-oth-PG1701 Patent document republication publication date: 20080422 Republication note text: Request for Correction Notice (Document Request) Gazette number: 1007406460000 Gazette reference publication date: 20070718 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20130626 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20140701 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20150629 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20180627 Year of fee payment: 12 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20190712 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20190712 |