KR100772613B1 - Image compression method for image apparatus - Google Patents
Image compression method for image apparatus Download PDFInfo
- Publication number
- KR100772613B1 KR100772613B1 KR1020060053341A KR20060053341A KR100772613B1 KR 100772613 B1 KR100772613 B1 KR 100772613B1 KR 1020060053341 A KR1020060053341 A KR 1020060053341A KR 20060053341 A KR20060053341 A KR 20060053341A KR 100772613 B1 KR100772613 B1 KR 100772613B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- difference value
- difference
- pixel
- pattern
- Prior art date
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- 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/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 압축 효율은 높으면서, 빠른 재생을 요구하는 기기에 적합한 이미지 압축방법에 관한 것이다.The present invention relates to a method for compressing an image suitable for a device which requires a high reproduction rate while having high compression efficiency.
이를 위해, 본 발명은, 입력된 컬러 이미지에 대해 현재 픽셀과 직전 픽셀 간의 차이 값을 이용하고, 이에 대해 인근색 병합법을 적용하여 코딩을 행하는 1차 코딩 단계와, 상기 1차 코딩 단계의 각 픽셀에 저장된 차이 값을 빈도수가 큰 순으로 정렬하여 차이값 테이블을 작성하는 단계와, 상기 차이 값들의 스트림을 패턴에 따라 구분하는 단계와, 상기 패턴에 따라 구분된 상기 차이 값들의 스트림에 대해 최적의 코드를 생성하는 2차 코딩 단계를 포함하는 이미지 압축 방법을 제공한다.To this end, the present invention, the first coding step of performing the coding using the difference value between the current pixel and the previous pixel for the input color image, and applying the neighboring color merging method to the input color image, and each of the first coding step Arranging the difference values stored in the pixels in order of high frequency, generating a difference table, dividing the stream of difference values according to a pattern, and optimally for the stream of difference values divided according to the pattern An image compression method comprising a second coding step of generating a code of.
이미지 압축, 차이값, 차이값 테이블, 인근색 병합법 Image Compression, Difference Value, Difference Value Table, Adjacent Color Merging
Description
도 1은 본 발명에 따른 영상 장치의 이미지 압축과정을 나타낸 플로우차트이다.1 is a flowchart illustrating an image compression process of an imaging apparatus according to the present invention.
본 발명은 이미지 압축 기술에 관한 것으로, 보다 상세하게는 압축 효율은 높으면서, 빠른 재생을 요구하는 기기에 적합한 이미지 압축방법에 관한 것이다. 특히, 휴대성은 뛰어나지만 저장 용량이 작고 처리 능력이 낮은 휴대용 단말기에 더욱 적합한 이미지 압축방법이다.TECHNICAL FIELD The present invention relates to image compression technology, and more particularly, to an image compression method suitable for a device requiring high reproduction speed and fast reproduction. In particular, it is an image compression method that is more suitable for a portable terminal having excellent portability but small storage capacity and low processing power.
최근 인터넷 및 정보통신 기술의 발달과 함께 휴대폰, MP3 플레이어, PMP 등 개인 휴대용 단말기가 큰 인기를 얻고 있다.Recently, with the development of the Internet and information and communication technology, personal portable terminals such as mobile phones, MP3 players, and PMPs have gained great popularity.
이러한 휴대용 단말기는 휴대하기 간편하다는 큰 장점 때문에 소형화, 경량화 추세에 있으며, 그와 함께 소비자는 상기 휴대용 단말기에서 오디오, 비디오, 동영상 재생이나 인터넷 이용 등의 다기능화와 대용량 처리를 요구하고 있다.These portable terminals are in a trend of miniaturization and light weight due to the great advantage that they are easy to carry, and at the same time, consumers are demanding multi-function and large-capacity processing such as audio, video, video playback or Internet use in the portable terminals.
본 발명은 전술한 바와 같은 요구를 반영하여 안출된 것으로서, 현재 픽셀과 직전 픽셀 간의 차이값을 이용하고 인근색 병합법을 적용하여 인코딩함으로써 압축효율은 크게 향상시키면서 빠른 재생을 보여줄 수 있는 이미지 압축방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described needs, and an image compression method capable of showing fast reproduction while greatly improving the compression efficiency by encoding the difference between the current pixel and the immediately preceding pixel and applying a neighboring color merge method. The purpose is to provide.
이를 통해, 영상 장치의 메모리 등에 저장되는 이미지 데이터를 줄일 수 있어 데이터 저장용량을 극대화시킬 수 있고, 빠른 재생 능력을 통해 사용자에게 최대한의 만족감을 제공해 줄 수 있게 한다.In this way, it is possible to reduce the image data stored in the memory of the imaging device to maximize the data storage capacity, it is possible to provide the maximum satisfaction to the user through the fast playback capability.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일측면에 따르면, 입력된 컬러 이미지에 대해 현재 픽셀과 직전 픽셀 간의 차이 값을 이용하고, 이에 대해 인근색 병합법을 적용하여 코딩을 행하는 1차 코딩 단계와, 상기 1차 코딩 단계의 각 픽셀에 저장된 차이 값을 빈도수가 큰 순으로 정렬하여 차이값 테이블을 작성하는 단계와, 상기 차이 값들의 스트림을 패턴에 따라 구분하는 단계와, 상기 패턴에 따라 구분된 상기 차이 값들의 스트림에 대해 최적의 코드를 생성하는 2차 코딩을 행하는 단계를 포함하는 이미지 압축 방법을 제공한다.In order to achieve the above object, according to an aspect of the present invention, the primary coding to use the difference value between the current pixel and the immediately preceding pixel for the input color image, and to perform coding by applying a neighboring color merging method to the input color image Generating a difference table by arranging the difference values stored in each pixel of the first coding step in the order of high frequency, dividing the stream of difference values according to a pattern, and And performing secondary coding to generate an optimal code for the separated stream of difference values.
또한, 상기 1차 코딩 단계는, 상기 입력된 컬러 이미지에 대해 R, G, B 세 색상의 조합으로 이루어진 픽셀 값을 현재 픽셀 값에서 바로 직전 픽셀 값의 차이 값으로 변환하는 제1단계와, 상기 제1단계에서 변환된 픽셀값에 대해 끝자리의 값을 인근색으로 병합하는 인근색 병합법을 적용하는 제2단계와, 상기 제2단계에서의 인근색 병합법이 적용된 픽셀값을 현재의 픽셀값으로 저장하는 제3단계를 포함하는 것을 특징으로 한다.In addition, the first coding step may include a first step of converting a pixel value consisting of a combination of three colors R, G, and B for the input color image into a difference value of the immediately preceding pixel value from the current pixel value; A second step of applying a neighboring color merging method for merging the end-digit values into a neighboring color for the pixel value converted in the first step; and a pixel value to which the neighboring color merging method in the second step is applied to the current pixel value. It characterized in that it comprises a third step of storing as.
또한, 상기 패턴은, 코딩할 데이터에 대한 정보를 표시하는 코딩부와, 실제 차이값을 표기하는 데이터부로 나누어지는 것을 특징으로 한다.The pattern may be divided into a coding unit displaying information on data to be coded and a data unit representing an actual difference value.
또한, 상기 코딩부는, 어떠한 유형의 데이터인지를 표시하는 제1구조부, 현재 픽셀 직후에 차이 값이 '0'이 아닌 값이 몇 번이나 연속되는 지를 표시하는 제2구조부, 현재 픽셀 직전에 차이 값이 '0'인 값이 몇번이나 연속되는 지를 표시해주는 제3구조부의 데이터 구조를 갖는 것을 특징으로 한다.The coding unit may include: a first structure unit indicating what type of data is present; a second structure unit indicating how many times a value whose difference value is not '0' immediately after the current pixel is continuous; a difference value immediately before the current pixel And a data structure of the third structure portion which indicates how many times the value of '0' is continuous.
또한, 상기 제1구조부는, 데이터의 유형을 판단하는 비트로 2비트를 할당하며, 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하는 차이 값인 경우의 데이터 유형을 '00'으로 지정하고, 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하지 않는 차이 값인 경우의 데이터 유형을 '01'로 지정하고, 차이 값이 '0'이 아닌 값이 연속해서 나타나는 경우의 데이터 유형을 '10'로 지정하고, 상기 '10'의 패턴 중에서 연속이 64번 이상인 경우의 데이터 유형을 '11'로 지정하는 것을 특징으로 한다.In addition, the first structure unit allocates two bits as bits for determining the type of data, and indicates a data type when the difference value is a difference value existing only once and the difference value is present in the difference value table. ',' If the difference value is not '0' only once, and if the difference value does not exist in the difference table, set the data type to '01', and the difference value is not '0'. It is characterized in that the data type in the case of appearing continuously is designated as '10', and the data type in the case where the sequence is 64 or more in the pattern of '10' is designated as '11'.
또한, 상기 제2구조부 및 제3구조부는, 상기 패턴에서 사용한 2비트의 나머지 6비트에 대해 횟수를 지정하는데 사용하거나 상기 6비트와 그 직후에 1바이트씩 연속해서 이용하는 방식으로 확장할 수 있는 것을 특징으로 한다.In addition, the second structure and the third structure may be extended by using the number of times for the remaining 6 bits of the 2 bits used in the pattern, or by continuously using the 6 bits and 1 byte immediately after that. It features.
또한, 상기 데이터부는, 패턴이 '00'일 경우에는 차이값 테이블 상에 일치하는 값의 인덱스를 1바이트로 지정하고, 패턴이 '01'일 경우에는 차이 값을 2바이트에 그대로 지정하며, 패턴이 '10' 및 '11'일 경우에는 차이 값이 차이값 테이블 상 에 존재할 경우에는 일치하는 값의 인덱스를 1바이트로 지정하고, 그렇지 않을 경우에는 1바이트를 '0xff'로 지정하고 이어서 2바이트에 차이 값을 지정하는 것을 특징으로 한다.In addition, when the pattern is '00', the data unit designates an index of a matching value on the difference value table as 1 byte, and when the pattern is '01', the difference value is assigned to 2 bytes as it is, and the pattern Is '10' and '11', if the difference value exists in the difference table, specify the index of the matching value as 1 byte, otherwise specify 1 byte as '0xff' and then 2 bytes It is characterized in that for specifying a difference value.
또한, 상기 2차 코딩은, 특정 패턴 집합의 경우 하나의 패턴으로 취급하고, 상기 차이 값이 '0'인 값이 연속해서 나타나는 스트림의 횟수를 조정하며, 상기 차이 값이 '0'이 아닌 값이 연속해서 나타나는 스트림의 횟수를 조정하는 것을 특징으로 한다.In addition, the second coding is treated as one pattern in the case of a specific pattern set, and adjusts the number of streams in which the difference value '0' appears continuously, and the difference value is not '0'. It is characterized by adjusting the number of streams which appear continuously.
또한, 상기 인근색 병합법을 적용 안 한 경우 상기 차이 값들의 스트림에 대해 비손실 모드 지원하는 단계를 더 포함하는 것을 특징으로 한다.The method may further include supporting a lossless mode for the stream of difference values when the neighboring color merging method is not applied.
또한, 상기 비손실 모드 지원의 경우 2바이트에 사인비트로서 1비트를 더 추가하는 것을 특징으로 한다.In addition, in the case of the lossless mode support, one bit is further added as a sign bit to two bytes.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 실시예에 따른 휴대용 단말기의 이미지 압축과정을 나타내는 플로우차트이다.1 is a flowchart illustrating an image compression process of a portable terminal according to an exemplary embodiment of the present invention.
도 1에 도시된 바와 같이, 먼저, 현재 픽셀과 직전 픽셀 간의 차이 값을 구하고, 상기 차이 값에 인근색 병합법을 적용하여 이미지 인코딩(encoding)을 한다(S110).As shown in FIG. 1, first, a difference value between a current pixel and a previous pixel is obtained, and image encoding is performed by applying a neighboring color merging method to the difference value (S110).
이때, 각 픽셀에 저장된 차이 값을 빈도수가 큰 순으로 차이값 테이블을 작성한다(S120).At this time, the difference value table stored in each pixel is created in order of high frequency (S120).
이후, 압축의 효율을 높이기 위해, 상기 코딩할 차이값들의 스트림을 패턴에 따라 구분하고, 각 패턴은 데이터에 대한 정보를 표시하는 코딩부(coding part)와 실제 차이 값을 표기하는 데이터부(data part)로 나눈다(S130).Then, in order to increase the efficiency of compression, the stream of difference values to be coded are classified according to a pattern, and each pattern is a coding part for displaying information about data and a data part for indicating an actual difference value. divided into parts) (S130).
이후, 압축의 효율을 높이기 위해 상기 패턴에 대해 2차 코딩을 적용한다(S140).Thereafter, second order coding is applied to the pattern in order to increase the efficiency of compression (S140).
이후, 상기 이미지 인코딩시 인근색 병합법을 적용하지 않은 경우에는 비손실 모드 지원을 행한다(S150).Subsequently, when the neighboring color merge method is not applied when encoding the image, the lossless mode is supported (S150).
이와 같이 영상 장치의 메모리에 저장되는 이미지 데이터를 상기 압축과정을 통해 줄일 수 있다.As such, image data stored in the memory of the imaging apparatus may be reduced through the compression process.
이하에서 전술한 이미지 압축과정을 보다 상세히 설명한다.Hereinafter, the above-described image compression process will be described in more detail.
1. 1차 코딩.1. First order coding.
1.1. 1.1. 현재 픽셀과 직전 Just before the current pixel 픽셀간의Interpixel 차이 값을 이용 Use difference value
컬러 이미지일 경우, 하나의 픽셀은 일반적으로 R(Red), G(Green), B(Blue) 세 색상으로 이루어진다.In the case of a color image, one pixel is generally composed of three colors, R (Red), G (Green), and B (Blue).
특히, 모바일 폰에 사용되는 이미지는 2바이트(R: 5비트, G: 6비트, B: 5비트)를 사용한다. 예를 들어, 8*8 컬러 이미지일 경우, R, G, B 세 색상으로 이루어진 픽셀 값이 64개의 각 픽셀마다 저장된다.In particular, the image used in the mobile phone uses two bytes (R: 5 bits, G: 6 bits, B: 5 bits). For example, in the case of an 8 * 8 color image, pixel values consisting of three colors R, G, and B are stored for each 64 pixels.
본 발명에 따른 압축 알고리즘에서는 R, G, B 세 색상의 조합으로 이루어진 픽셀 값을 현재 픽셀에서 바로 직전 픽셀의 값을 뺀 차이 값으로 변환하여 현재의 픽셀 값에 저장한다. (단, 시작하는 첫 픽셀은 이미지의 첫 픽셀 값과 동일한 값을 가져야 한다. 그래야 원본이미지와 동일한 결과 이미지를 얻을 수 있다.)In the compression algorithm according to the present invention, a pixel value consisting of a combination of three colors R, G, and B is converted into a difference value obtained by subtracting the value of the immediately preceding pixel from the current pixel and stored in the current pixel value. (The first pixel that starts must have the same value as the first pixel of the image, so that you get the same result image as the original image.)
영상 장치의 UI(User Interface) 이미지 데이터는 인접한 픽셀 간에 유사성이 매우 크다. 따라서 각 픽셀에 저장된 차이 값을 빈도수 순으로 정렬하면 대부분의 UI 이미지는 256개의 인덱스(index) 내에 포함된다. 이러한 특성을 이용해서 빈도수가 큰 순으로 차이값 테이블(color table)을 256개 만들게 되면, 2바이트(byte)의 차이 값이 1바이트의 차이값 테이블 인덱스(color table index)로 매칭되어 압축 효율을 높일 수 있다.UI (User Interface) image data of an imaging device has a great similarity between adjacent pixels. Therefore, if the difference value stored in each pixel is sorted in order of frequency, most UI images are included in 256 indexes. Using these characteristics, if 256 color tables are created in order of frequency, the difference value of 2 bytes is matched to the color table index of 1 byte to improve compression efficiency. It can increase.
한편, 차이 값이 '0'인 픽셀 값은 코딩할 필요가 없어진다. 다만 현재 픽셀 위치 직전에 차이 값이 '0'이 아닌 픽셀 값이 나타나는 거리만 지정해주면 된다. 즉, 차이 값이 '0'인 스트림(stream)의 개수만 지정해주면 된다.On the other hand, pixel values having a difference value of '0' need not be coded. However, you only need to specify the distance at which the pixel value appears, not the difference value '0', just before the current pixel position. That is, only the number of streams having a difference value of '0' needs to be specified.
1.2. 1.2. 인근색 병합법Adjacent color merging
인근색 병합법란 R, G, B 각 컬러의 값에 대해 끝자리의 값을 인근색으로 병합(즉, 끝자리의 값은 0에서부터 9까지 나타날 수 있지만, '1, 3, 5, 7, 9'(혹은 '0, 2, 4, 6, 8')의 값만 나타내도록 한쪽으로 병합)하는 방식이다. 비교적 덜 중요한 부분(끝자리의 값)을 제거하여 차이값 테이블에 포함되는 비율을 높일 수 있게 된다.The neighboring color merge method is defined as the last digit for each color value of R, G, and B. Merge values into neighboring colors (i.e. end-points can appear from 0 to 9, but only show values of '1, 3, 5, 7, 9' (or '0, 2, 4, 6, 8') Merging to one side). By eliminating the less important parts (the values at the end), you can increase the rate of inclusion in the difference table.
인근색 병합법을 적용하게 되면 약간의 손실이 있게 되지만, 시각적으로 느끼기에 원본 이미지와의 차이를 거의 느낄 수 없으면서 압축효율은 크게 높일 수 있다. 그라데이션(gradation)이 있는 이미지일 경우 시각적으로 화질 저하를 느끼게 되는데, 그런 경우는 그라데이션이 있는 컬러는 인근색 병합법을 적용하지 않고 나머지 컬러에 대해서만 인근색 병합법을 적용하면 해결된다.If you apply the neighboring color merge method, there is a slight loss, but the compression efficiency can be greatly increased without being able to feel the difference from the original image because it is visually felt. In the case of an image having a gradation, the image quality is visually deteriorated. In such a case, a color having a gradation is solved by applying the neighbor color merge method only to the remaining colors without applying the neighbor color merge method.
상기 '현재 픽셀과 직전 픽셀간의 차이 값을 이용'과 '인근색 병합법'의 알고리즘을 적용하여 인코더와 디코더를 만든다.An encoder and a decoder are generated by applying the algorithms of the difference value between the current pixel and the immediately preceding pixel and the neighbor color merging method.
2. 코딩 규칙2. Coding Rules
2.1. 차이값 테이블2.1. Difference table
앞에서 언급했듯이 픽셀 간의 유사성이 커서 차이 값을 이용한 코딩을 행할 경우 대부분의 차이 값은 256개의 차이값 테이블 인덱스 내에 포함된다. 즉, 2바이트의 차이 값을 1바이트의 인덱스로 코딩할 수 있으므로, 빈도수에 따라 256개의 컬러 테이블을 만들어 준다. 또한 이미지에 따라 차이값 테이블의 개수가 다를 수 있으므로, 차이값 테이블이 몇 개나 만들어졌는지를 지정해 줄 수 있는 값도 함께 기입한다.As mentioned above, when the similarity between pixels is large, when coding using a difference value, most difference values are included in 256 difference table indexes. In other words, two-byte difference can be coded with an index of one byte, thus creating 256 color tables according to the frequency. Also, since the number of difference tables may vary depending on the image, a value that can specify how many difference tables are created is also written.
2.2. 코딩2.2. Coding
압축의 효율을 높이기 위해, 코딩할 차이 값들의 스트림을 패턴에 따라 구분하고 각 패턴은 2 부분(코딩부, 데이터부)으로 나눈다. 상기 코딩부(Coding part)는 데이터에 대한 정보를 표시하며, 데이터부는 실제 차이 값을 표기하는 부분이다.In order to increase the efficiency of compression, a stream of difference values to be coded is divided according to a pattern, and each pattern is divided into two parts (a coding part and a data part). The coding part displays information on data, and the data part is a part for indicating an actual difference value.
가. end. 코딩부Coding part
차이 값들의 스트림을 분석해보면 코딩부의 구성을 3가지로 나누는 것이 효과적이다. 첫 번째는 어떠한 유형의 데이터인지를 표시하고, 두 번째는 현재 픽셀 직후에 차이 값이 '0'이 아닌 값이 몇 번이나 연속되는 지를 표시하며, 세 번째는 현재 픽셀 위치에 차이 값이 '0'인 값이 몇번이나 연속되는 지를 표시해 준다. When analyzing the stream of difference values, it is effective to divide the configuration of the coding unit into three. The first indicates what type of data it is, the second indicates how many times the value of the difference is non-zero immediately after the current pixel, and the third is zero at the current pixel position. It indicates how many times the value of 'is consecutive.
1) 데이터의 유형을 판단하는 비트1) bits that determine the type of data
차이 값의 스트림에 대한 패턴을 분석하면 크게 3가지 분류된다. 따라서 데이터의 유형을 판단하는 비트로 2비트를 할당한다.Analysis of the pattern of the stream of difference values is classified into three major categories. Therefore, 2 bits are allocated as bits for determining the type of data.
'00' : 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하는 차이 값인 경우의 데이터 유형을 '00'으로 지정한다.'00': Set the data type to '00' when the difference value is not '0' and the difference value exists only once in the difference table.
'01' : 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하지 않는 차이 값인 경우의 데이터 유형을 '01'로 지정한다.'01': Set the data type to '01' when the difference value is not '0' once and the difference value does not exist in the difference table.
'10' : 차이 값이 '0'이 아닌 값이 연속해서 나타나는 경우의 데이터 유형을 '10'로 지정한다.'10': Specify '10' as the data type when the difference value is not '0'.
'11'인 경우에 대해 할당할 패턴이 없지만, 압축의 효율을 높이기 위해 '10'의 패턴 중에서 연속해서 나타나는 횟수가 64개 이상일 경우를 '11'로 지정한다.If there is no pattern to be allocated for the case of '11', to increase the efficiency of compression, the case where the number of consecutive occurrences of 64 or more among the patterns of '10' is 64 is designated as '11'.
즉, 최종적인 패턴의 유형을 표시하면 아래와 같다.In other words, the final pattern type is shown below.
'00' : 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하는 차이 값인 경우의 데이터 유형을 '00'으로 지정한다.'00': Set the data type to '00' when the difference value is not '0' and the difference value exists only once in the difference table.
'01' : 차이 값이 '0'이 아닌 값이 한 번만 나타나고, 차이값 테이블에 존재하지 않는 차이 값인 경우의 데이터 유형을 '01'로 지정한다.'01': Set the data type to '01' when the difference value is not '0' once and the difference value does not exist in the difference table.
'10' : 차이 값이 '0'이 아닌 값이 연속해서 나타나는 경우의 데이터 유형을 '10'로 지정한다.'10': Specify '10' as the data type when the difference value is not '0'.
'11' : '10'의 패턴 중에서 연속이 64번 이상인 경우의 데이터 유형을 '11'로 지정한다.'11': Specify '11' as the data type when the sequence is 64 or more times among the patterns of '10'.
2) 현재 픽셀 직후에, 차이 값이 '0'이 아닌 값이 연속되어 나타나는 횟수를 지정하는 비트2) Bit that specifies the number of times the difference value is not '0' immediately after the current pixel
앞의 패턴 중에서 '10', '11'의 경우에만 해당된다. 즉, '00'과 '01'의 패턴에서는 '2)' 번의 코딩에 대한 비트를 할당할 필요가 없다. 압축의 효율을 높이기 위해 기본적으로 패턴에서 사용한 2비트의 나머지 6비트에 대해 횟수를 지정하는데 사용한다. 패턴이 '10'일 경우에는 6비트로 횟수를 지정할 수 있고, '11'일 경우에는 6비트와 그 직후 1바이트를 이용해서 최대 16383(214-1)개의 횟수를 지정해 줄 수 있다. 16383개 이상인 횟수를 지정해 주기 위해 , 6비트 직후 1바이트의 첫 1비트를 확장을 위한 비트로 사용한다. 즉, 그 비트를 '1'로 세팅하면 8192(213)개 이상의 횟수를 지정할 수 있게 된다. 이런 방식으로 계속 확장할 수 있다.Only in the case of '10' and '11' among the previous patterns. That is, in the patterns of '00' and '01', it is not necessary to allocate bits for coding '2)'. To improve the efficiency of compression, it is basically used to specify the number of times for the remaining 6 bits of the 2 bits used in the pattern. If the pattern is "10" if there can specify the number of 6 bits, "11", there can, using the 6-bit and the immediately following byte specify up to 16383 (2 14 -1) of the number. To specify the number of times more than 16383, the first 1 bit of 1 byte immediately after 6 bits is used as an extension bit. In other words, if the bit is set to '1', 8192 (2 13 ) or more times can be designated. You can continue to expand in this way.
3) 현재 픽셀 직전에, 차이 값이 '0'인 값이 연속되어 나타나는 횟수를 지정 하는 비트3) Bit that designates the number of times the difference value is '0' immediately before the current pixel.
패턴이 변경되기 전까지 차이 값이 '0'인 값이 몇 번 연속해서 나타났는지에 대한 횟수를 지정한다. 이것도 상기 '2)'번과 마찬가지로 확장을 위한 비트를 따로 지정하고, 계속 확장할 수 있다.Specifies the number of consecutive times a value with a difference of '0' appears before the pattern is changed. Like this '2)', the bit for expansion can be designated separately and can be continuously extended.
나. I. 데이터부Data section
패턴에 따라 데이터부에 삽입될 값이 달라지므로 패턴에 따라 구분한다.The value to be inserted into the data part varies according to the pattern, so it is classified according to the pattern.
패턴이 '00'일 경우 : 차이값 테이블 상에 일치하는 값의 인덱스를 1바이트로 지정한다.If the pattern is '00': Specify the index of the matching value in the difference table as 1 byte.
패턴이 '01'일 경우 : 차이 값을 2바이트에 그대로 지정한다.If the pattern is '01': Set the difference value to 2 bytes as it is.
패턴이 '10' 및 '11'일 경우 : 차이 값이 차이값 테이블 상에 존재할 경우에는 일치하는 값의 인덱스를 1바이트로 지정하고, 그렇지 않을 경우에는 1바이트를 '0xff'로 지정하고 나머지 2바이트에 차이 값을 지정한다. 압축의 효율을 높이기 위해 1바이트를 '0xff'로 지정했으며, 실제 차이값 테이블은 256개에서 '0xff'에 대한 것을 제외한 255개가 된다. 차이값 테이블이 256개에서 255개로 줄어들더라도 상기 차이값 테이블에 포함되는 비율은 크게 달라지지 않게 되고, 압축의 효율은 좀 더 높아진다. If the pattern is '10' and '11': If the difference value exists in the difference value table, specify the index of the matching value as 1 byte, otherwise specify 1 byte as '0xff' and the remaining 2 Specifies the difference value in bytes. In order to improve the efficiency of compression, 1 byte is designated as '0xff', and the actual difference value table is 256 to 255 except for '0xff'. Even if the difference table is reduced from 256 to 255, the ratio included in the difference table does not vary significantly, and the compression efficiency is higher.
3. 2차 코딩3. Secondary Coding
압축의 효율을 높이기 위해 아래의 방법들을 추가로 적용한다.The following methods are additionally applied to increase the efficiency of compression.
3.1. 특정 패턴 집합의 경우, 하나의 패턴으로 취급3.1. For a specific set of patterns, treat them as one pattern
차이 값이 '0'이 아닌 값이 연속해서 나타나는 패턴('10' 혹은 '11')인 경우, 이러한 패턴들 사이에 차이 값이 '0'인 패턴이 1번만 나타나는 경우는 위의 패턴('10' 혹은 '11')과 동일한 패턴으로 취급한다. 예를 들어, "··· 0x0000 0x0001 0x0002 0x0000 0x0002 0x0003 0x0000 0x0002 0x0001 0x0000 ···"과 같은 스트림은 '10'패턴 3개로 표현되지만, '가'항의 방법을 사용할 경우 '10'(혹은 '11')패턴 1개로 취급할 수 있다.If the difference value is a pattern ('10' or '11') in which a value other than '0' is consecutive, the above pattern (' 10 'or' 11 '). For example, a stream such as "·· 0x0000 0x0001 0x0002 0x0000 0x0002 0x0003 0x0000 0x0002 0x0001 0x0000 ... It can be treated as one pattern.
3.2. 차이 값이 '0'인 값이 연속해서 나타나는 3.2. Successive values with a difference of '0' 스트림의Of stream 횟수를 조정 Adjust the frequency
차이 값이 '0'인 값은 최소한 2번 이상 연속으로 나타나야 '10'(혹은 '11')패턴이 아닌 것으로 인식되므로 차이 값이 '0'인 값이 연속해서 나타나는 스트림의 횟수에서 '-2'를 취할 수 있다.A value with a difference of '0' must be seen at least two times in a row to be recognized as not a '10' (or '11') pattern. Can be taken.
3.3. 차이 값이 '0'이 아닌 값이 연속해서 나타나는 3.3. Consecutive values other than zero 스트림의Of stream 횟수를 조정 Adjust the frequency
'3.2'항과 동일한 이유로 차이 값이 '0'이 아닌 값이 연속해서 나타나는 스트림의 횟수에서 '-1'을 취할 수 있다.For the same reason as '3.2', '-1' may be taken from the number of streams in which the difference value is not '0'.
2.4. 2.4. 비손실Loss 모드mode 지원(인근색 병합법 적용 안 한 경우) Support (if no neighbor merging is applied)
인근색 병합법을 적용할 경우에는 차이 값을 2바이트로 모두 표현이 가능하지만, 인근색 병합법을 적용하지 않으면 2바이트에 1비트(사인 비트)가 더 필요하게 된다. 이러한 사인 비트(sign bit)에 대한 메모리 소모를 최소화하기 위해 차이값 테이블의 사인 비트를 지정해 줄 수 있는 공간을 할당하고(최대 32바이트), 차 이값 테이블에 존재하지 않는 차이 값에 대한 사인 비트를 지정해 줄 수 있는 공간도 따로 할당해 준다. 일반적으로 대부분의 차이 값이 차이값 테이블에 포함되므로, 사인 비트에 의한 오버헤드(overhead)는 크지 않다.When the neighboring color merge method is applied, the difference value can be expressed in two bytes. However, if the neighboring color merge method is not applied, one bit (sign bit) is required for the two bytes. To minimize memory consumption for these sign bits, allocate space to specify the sign bits of the difference table (up to 32 bytes), and set the sign bits for the difference values that do not exist in the difference table. Allocate space that you can specify. In general, since most difference values are included in the difference table, the overhead caused by the sign bits is not large.
이와 같이 영상 장치의 메모리 등에 저장되는 이미지 데이터를 상기 압축과정을 통해 줄일 수 있으며, 디코딩을 통해 상기 압축된 이미지를 압축되기 전의 이미지로 복원시키고, 상기 복원된 이미지를 디스플레이부를 통해 재생시키게 된다.In this way, the image data stored in the memory of the imaging apparatus can be reduced through the compression process, the decoded image is restored to the image before compression, and the reproduced image is reproduced through the display unit through decoding.
상기 압축 방법은 MP3 플레이어, 휴대폰, PMP 등 휴대용 단말기뿐만아니라 다양한 형태의 영상 장치에 적용가능하다.The compression method is applicable to various types of video devices as well as portable terminals such as MP3 players, mobile phones, and PMPs.
이상에서 살펴본 바와 같이, 본 발명에 따른 이미지 압축 방법은 현재 픽셀과 직전 픽셀 간의 차이값을 이용하고 인근색 병합법을 적용하여 인코딩함으로써 압축효율을 크게 향상시킬 수 있다.As described above, the image compression method according to the present invention can greatly improve the compression efficiency by encoding the difference between the current pixel and the immediately preceding pixel and applying the neighboring color merge method.
이를 통해, 영상장치의 메모리에 저장되는 이미지 데이터를 줄일 수 있어 데이터 저장용량을 극대화시킬 수 있다.Through this, it is possible to reduce the image data stored in the memory of the imaging device to maximize the data storage capacity.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible.
따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것 이다.Therefore, the spirit of the present invention should be grasped only by the claims described below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.
Claims (10)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060031879 | 2006-04-07 | ||
KR20060031879 | 2006-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070100615A KR20070100615A (en) | 2007-10-11 |
KR100772613B1 true KR100772613B1 (en) | 2007-11-02 |
Family
ID=38805468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060053341A KR100772613B1 (en) | 2006-04-07 | 2006-06-14 | Image compression method for image apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100772613B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004222142A (en) | 2003-01-17 | 2004-08-05 | Dainippon Printing Co Ltd | Method for compressing and decoding video signal |
KR20060056558A (en) * | 2004-11-22 | 2006-05-25 | 주식회사 네빌소프트 | Encoding and decoding method for video |
KR20060128586A (en) * | 2005-06-11 | 2006-12-14 | 삼성전자주식회사 | Apparatus for encoding and decoding image, and method thereof, and a recording medium storing program to implement the method |
-
2006
- 2006-06-14 KR KR1020060053341A patent/KR100772613B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004222142A (en) | 2003-01-17 | 2004-08-05 | Dainippon Printing Co Ltd | Method for compressing and decoding video signal |
KR20060056558A (en) * | 2004-11-22 | 2006-05-25 | 주식회사 네빌소프트 | Encoding and decoding method for video |
KR20060128586A (en) * | 2005-06-11 | 2006-12-14 | 삼성전자주식회사 | Apparatus for encoding and decoding image, and method thereof, and a recording medium storing program to implement the method |
Also Published As
Publication number | Publication date |
---|---|
KR20070100615A (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101796842B (en) | An efficient image compression scheme to minimize storage and bus bandwidth requirements | |
US7415154B2 (en) | Compression of palettized color images with variable length color codes | |
WO2015194187A1 (en) | Harmonized palette coding | |
CN103581678B (en) | To improve the method and system of decoder capabilities by using multiple decoder channels | |
CN108271024A (en) | Image coding, coding/decoding method and device | |
KR20140028142A (en) | Selective lossless-lossy compression of image data based on bit budget | |
JP2013211908A (en) | Video compression method | |
JPH11161782A (en) | Method and device for encoding color picture, and method and device for decoding color picture | |
TW201725905A (en) | Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling | |
US9036908B2 (en) | Backwards compatible extended image format | |
TW201737706A (en) | Apparatus and method for vector-based entropy coding for display stream compression | |
US10165278B2 (en) | Image compression device, image compression method, image extension device, and image extension method | |
CN106921869A (en) | A kind of photograph document handling method and its equipment | |
US10264265B1 (en) | Compression encoding of images | |
KR100772613B1 (en) | Image compression method for image apparatus | |
US20060278725A1 (en) | Image encoding and decoding method and apparatus, and computer-readable recording medium storing program for executing the method | |
JPH11308465A (en) | Encoding method for color image, encoder therefor, decoding method for color image and decoder therefor | |
EP2279561A2 (en) | Method and device for encoding and decoding of data in unique number values | |
JPH118848A (en) | Image encoding method and device therefor | |
TW200937942A (en) | Coding system and method for a bit-plane | |
KR20070111111A (en) | Method of compressing and decompressing image and equipment thereof | |
KR100671998B1 (en) | Moving picture compressing method for mobile telecommunication terminal | |
JP3347488B2 (en) | Image processing apparatus and method | |
CN110689590B (en) | Compression coding method and device for map and mobile terminal equipment | |
JPH1130978A (en) | Color image encoding method and its encoder and color image decoding method and its decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121025 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131025 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |