KR20040052176A - Image compression encoding method and system - Google Patents

Image compression encoding method and system Download PDF

Info

Publication number
KR20040052176A
KR20040052176A KR1020020079927A KR20020079927A KR20040052176A KR 20040052176 A KR20040052176 A KR 20040052176A KR 1020020079927 A KR1020020079927 A KR 1020020079927A KR 20020079927 A KR20020079927 A KR 20020079927A KR 20040052176 A KR20040052176 A KR 20040052176A
Authority
KR
South Korea
Prior art keywords
pixel
value
image
data
encoding
Prior art date
Application number
KR1020020079927A
Other languages
Korean (ko)
Other versions
KR100495001B1 (en
Inventor
박건화
Original Assignee
(주)이엔제이소프트
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by (주)이엔제이소프트 filed Critical (주)이엔제이소프트
Priority to KR10-2002-0079927A priority Critical patent/KR100495001B1/en
Publication of KR20040052176A publication Critical patent/KR20040052176A/en
Application granted granted Critical
Publication of KR100495001B1 publication Critical patent/KR100495001B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE: A method and a system for compressing and encoding an image are provided to effectively compress and encode the image including an artificial image using the substantial feature of the artificial image. CONSTITUTION: A same color pixel search unit sets an encoding object pixel in an image as a current pixel(P) according to a predetermined scan sequence(S200). The same color pixel search unit sets a search region including predetermined comparison object pixels(T) among scan pixels which exist within a uniform distance from the current pixel(P)(S205). If a pixel value(T1) of the respective comparison object pixels(T) is identical to a pixel value(P1) of the current pixel(P), the same color pixel search unit secures an increase value of a repetition count value(C) with respect to all the comparison object pixels(T)(S210). A control unit adds a corresponding increase value to a repetition count value(CO) to a previous pixel, calculates a repetition count value(CC) to the current pixel(P), and obtains the maximum value(MC) among the repetition count values(CC)(S235). If the maximum value(MC) is less than or same to the maximum value(MO) among the repetition count values(CO)(S240), the control unit encodes the maximum value(MO) and a position index value(D1) in the search region and initializes all the repetition count values(CO) as '0'(S250). If the comparison object pixel(T) in which the increase value is greater than '1' does not exist(S260), the control unit generates an encoding value(X1) of the pixel value(P1)(S270). The control unit adds the corresponding increase value to the repetition count values(CO) of the comparison object pixels(T), sets the added value as the repetition count values(CC), and generates a current pixel search result table(S280).

Description

이미지 압축 부호화 방법 및 시스템{IMAGE COMPRESSION ENCODING METHOD AND SYSTEM}Image compression encoding method and system {IMAGE COMPRESSION ENCODING METHOD AND SYSTEM}

본 발명은 이미지 부호화 방법 및 시스템에 관한 것으로서, 특히 인공 이미지의 특성을 이용한 이미지 부호화 방법 및 시스템에 관한 것이다.The present invention relates to an image encoding method and system, and more particularly, to an image encoding method and system using characteristics of an artificial image.

정지 화면의 이미지 압축 부호화 방법은 크게 '손실 압축 방법'과 '무손실 압축 방법'으로 나눌 수 있다. 무손실 압축 방법으로서는 LZW(Lampel Ziv Weltch) 기법이 대표적이며 이 기법을 이용하여 GIF(Graphic Interchange Format) 파일을 생성하는 것이 잘 알려져 있다. LZW 기법에 의하면 어떤 길이의 데이터 스트링(String)을 갖는 패턴을 디렉토리(코드표)에 등록하고, 디렉토리에 등록된 패턴의 데이터가 나타나는 경우에, 그에 해당하는 등록 번호를 부호화하여 가변길이코드(Variable Length Code)로서 출력한다.Image compression coding methods for still pictures can be broadly classified into a 'lossy compression method' and a 'lossless compression method'. As a lossless compression method, the LZW (Lampel Ziv Weltch) technique is typical, and it is well known to generate a GIF (Graphic Interchange Format) file using this technique. According to the LZW technique, a pattern having a data string of a certain length is registered in a directory (code table), and when the data of the pattern registered in the directory appears, the corresponding registration number is encoded and a variable length code (Variable) is obtained. Length Code).

이와 같은 LZW 기법 등을 이용하여 GIF 파일을 생성하는 압축 부호화 방식을 간단히 GIF 방식으로 부르기도 한다. GIF 파일의 생성 과정은 미리 준비된 색상 테이블 수(예를 들어 256 가지)만큼의 디더링(필요한 경우, 즉, 이미지의 색상수가 색상 테이블보다 클 때 적용함)을 한 다음 화소값을 색상 테이블의 인덱스 값으로 전환하여, 이에 대해 LZW 방식의 가변길이 부호화를 실시하는 것이다. 이러한 GIF파일 생성 방식은 무손실 압축 방식으로서 전송 후 화질에 전혀 변화가 없으나 자연 화상의 경우에 압축률이 30% 정도 수준으로서 손실 압축기법의 압축률(보통 90% 수준)에 비해 크게 떨어지므로 인공 이미지 압축에 한정되어 주로 사용되고 있다.The compression encoding method for generating a GIF file using the LZW technique is sometimes referred to simply as the GIF method. The process of creating a GIF file involves dithering up to the number of pre-prepared color tables (e.g. 256), if necessary (i.e. when the number of colors in the image is larger than the color table) and then using the pixel values to index the color table. In this case, the variable length coding of the LZW method is performed. The GIF file generation method is a lossless compression method, and there is no change in image quality after transmission. However, in the case of natural images, the compression rate is about 30%, which is significantly lower than that of the lossy compression method (usually 90%). It is limited and is mainly used.

손실 압축 부호화 방법으로서는 국제 표준으로 정착된 JPEG(Joint Picture Expert Group) 방식이 대표적이다. JPEG 방식은 이미지 데이터를 블록 단위(예를 들어, 8x8 화소 블륵 단위)로 분할하여, 지그재그 스캔(ZigZag-Scanning)(필요한 경우), 이산 코사인 변환(Discrete Cosine Transform), 양자화(Quantization), 허프만 부호화(Huffman Coding) 등의 여러 기술을 복합적으로 적용하는 부호화 기법이다. JPEG 방식은 GIF 방식에 비해 카메라 촬영에 의한 사진이나 영상과 같은 자연 이미지(Natural Image)(도 10에 그 샘플을 도시함)의 압축에는 유리하나, 손실 압축 기법(예를 들어 DCT와 양자화 기법)을 채용하기 때문에 도형이나 기호가 많은 인공 이미지 경우에 윤곽선이 많이 손상되는 형태의 화질 저하가 나타나고, 양자화 스케일을 크게 할수록 이미지 열화가 두드러져, 문자나 컴퓨터 그래픽 화면, 정밀성을 요하는 도면과 같은 인공 이미지(도 11에 그 샘플을 도시함) (Artificial image)의 압축 부호화시에는 많은 문제점이 나타난다.As a lossy compression coding method, a JPEG (Joint Picture Expert Group) method, which has been established as an international standard, is typical. The JPEG method divides image data into block units (e.g., 8x8 pixel blocks), ZigZag-Scanning (if necessary), Discrete Cosine Transform, Quantization, Huffman Coding (Huffman Coding) is a coding technique that uses a combination of techniques. Compared to the GIF method, the JPEG method is advantageous for compressing a natural image (such as a sample or a picture taken by a camera), but a lossy compression method (for example, a DCT and a quantization method). In the case of artificial images with many shapes and symbols, the image quality deteriorates in the form of damaged outlines, and the larger the quantization scale is, the more noticeable the image deterioration is. (The sample is shown in FIG. 11) Many problems appear in the compression encoding of (Artificial image).

또 무손실 압축 방식으로 알려진 GIF 방식의 경우에도 이미지에 사용된 색상수가 칼라 테이블의 색상 수(보통 256 칼라)보다 더 많은 경우에는 디더링 과정에서 색상의 손실이 발생하는 단점이 있으며, 이 외에도 최근 들어 인공 이미지와 자연 이미지가 혼재하는 이미지(도 12에 자연 이미지와 인공 이미지가 혼재된 이미지 샘플을 도시함)를 압축 부호화해야 하는 경우가 빈번히 발생하게 되는 데, 이럴 때는 이 GIF 방식과 JPEG 방식의 두 가지 압축 부호화 방법 중 어떤 것을 사용하더라도 만족스런 효과를 거두기 어렵다. 이와 같은 문제를 극복하기 위해 시도된 몇 가지 종래 기술을 살펴보면 다음과 같다.The GIF method, also known as lossless compression, has the disadvantage of losing color during dithering when the number of colors used in the image is greater than the number of colors in the color table (typically 256 colors). Frequently, there is a need to compress and encode a mixture of an image and a natural image (shown in FIG. 12 is a sample of a mixture of natural and artificial images). It is difficult to achieve satisfactory effects using any of the compression coding methods. Some prior art attempts to overcome such problems are as follows.

1995년 11월 16일에 출원되어 1999년 4월 1일에 등록된 대한민국 '등록특허10-0205286 호'(출원번호: 10-1995-0041666)는 부호화 대상 이미지가 2진영상이나 16 칼라 영상인 경우에는 런렝스(Run Length) 부호화 또는 LZW 부호화를 수행하고, 256 칼라의 캐드나 그래픽 영상인 경우에는 LZW 압축 부호화를 수행하고, 256 칼라의 사진 영상인 경우에는 트루칼라로 변환하여 JPEG 방식으로 부호화 하고, 트루칼라 영상인 경우에는 JPEG 방식으로 부호화하는 기술을 개시하고 있다. 이 방법은 부호화 대상 이미지의 특성을 판정하기 위한 회로와 다수의 부호화 채널을 구비하여 통합해야 하기 때문에 시스템의 구성이 복잡하고 데이터 처리에 시간이 걸려 이미지 데이터를 효과적으로 실시간 압축 부호화하는 데 한계가 있다.Korean Patent No. 10-0205286 (Application No. 10-1995-0041666), filed on November 16, 1995 and registered on April 1, 1999, is a binary or 16 color image. Run length coding or LZW coding is performed, LZW compression coding is performed in case of 256-color CAD or graphic video, and true color coding is performed in JPEG method in case of 256-color photo image. For example, in the case of a true color image, a technique of encoding by a JPEG method is disclosed. This method has to integrate a circuit for determining the characteristics of an image to be encoded with a plurality of encoding channels, and thus the configuration of the system is complicated and the data processing takes a long time, so that there is a limitation in effectively real-time compression encoding the image data.

1998년 3월 5일에 출원되어 1999년 9월 17일에 공개된 일본국 공개 특허출원 '특개평11-252563 호'(일본국 출원번호: 특개평 10-53007)는 컴퓨터 그래픽(Computer Graphic : CG) 영역과 자연 화상 영역이 혼재하는 화상에 대하여, 화상을 블록 단위로 분할한 다음, 각 블록의 화상 특성을 4가지로 분류하여 적응적으로 4가지 방식으로 부호화 하는 기술을 개시하고 있다. 이 4가지 부호화 방식은 JPEG 방식의 일종인 ADCT 방법, 4진 부호화 방법, 2진 부호화 방법, 블록 런랭스 부호화(트렁케이션 부호화의 일종)방법을 적용한다. 이 방법 역시 부호화 대상 이미지의 특성을 판정하기 위한 회로와 다수의 부호화 채널을 구비하여 통합해야하기 때문에 시스템의 구성이 복잡해지고 데이터 처리에 시간이 걸려 이미지 데이터를 효과적으로 실시간 압축 부호화하는 데 한계가 있다. 또한, 블록 단위로 부호화하기 때문에 이미지 중 에지 부분의 열화 문제가 대두될 수 있다.Japanese Patent Application Laid-Open No. 11-252563, filed on March 5, 1998 and published September 17, 1999 (Japanese Patent Application No. Hei 10-53007), is a computer graphic. A technique of dividing an image into block units for an image in which a CG) region and a natural image region are mixed, and then classifying the image characteristics of each block into four types and adaptively encoding them in four ways is disclosed. These four coding methods apply the ADCT method, the binary coding method, the binary coding method, and the block run length coding (a kind of truncation coding) which are one of JPEG methods. This method also has to be integrated with a circuit for determining the characteristics of the image to be encoded and a plurality of encoding channels, which complicates the configuration of the system and takes time to process the data, thereby limiting the effective real-time compression encoding of the image data. In addition, since coding is performed on a block basis, a problem of deterioration of an edge portion of an image may be raised.

2001년 1월 30일에 출원되어 2001년 8월 20일에 공개된 대한민국 공개 특허출원 '특2001-0078150 호'(출원번호: 10-2001-0004213)는 사용자의 선택에 의해 제 1 모드(자연 화상 촬영 모드)와 제 2 모드(문자 화상 촬영 모드)를 설정할 수 있게 하여, 제 1 모드의 경우에는 입력된 화상을 JPEG 방식으로 부호화하고, 제 2모드인 경우에는 입력된 화상(실제로는 컬러 화상 데이터의 휘도 데이터)을 LZW 방식으로 디지털화된 데이터로서 압축하고 압축된 데이터에 필수 구성 요소를 부가하여 디지털화된 화상을 GIF 파일로 변환하는 기술을 개시하고 있다.Korean Patent Application No. 2001-0078150 (Application No. 10-2001-0004213), filed on January 30, 2001 and published on August 20, 2001, is the first mode (natural The image capturing mode) and the second mode (text image capturing mode) can be set so that the input image is encoded in the JPEG method in the first mode, and the input image (actually the color image in the second mode). The technique of compressing luminance data of data) as digitized data in the LZW method and adding essential components to the compressed data to convert the digitized image into a GIF file is disclosed.

이 방법은 사용자의 모드 선택을 채용하여 부호화 대상 이미지의 특성 판단 과정을 생략하여 시스템 구성을 단순화한 면이 있으나, 인공 이미지의 본질적인 특성을 발견, 이용하지 못하고, 단지 인공 영상 중 문자 데이터를 처리하는 경우에 한정하고 있다. 따라서, 이 방법은 자연 영상의 사진 위에 날짜와 같은 문자 데이터가 기록된 단순한 이미지조차도 효과적으로 부호화할 수 없다. 특히, 실제의 인공 영상은 복잡한 이미지를 포함하고 있는 경우가 많기 때문에 인공 영상의 특성 파악에 기초한 효과적인 부호화 방법이 개발되지 않는 한 자연 영상과 인공 영상이 복잡하게 혼재된 경우의 이미지 부호화에는 한계가 있을 수밖에 없다.This method simplifies the system configuration by eliminating the process of judging the characteristics of the encoding target image by adopting the user's mode selection. However, the essential characteristics of the artificial image are not found and used, but only the text data of the artificial image is processed. It is limited only in case. Therefore, this method cannot effectively encode even a simple image in which character data such as a date is recorded on a photograph of a natural image. In particular, since an actual artificial image often includes a complex image, there is a limit to image encoding in the case where a complex mixture of natural and artificial images is developed unless an effective encoding method based on the characteristics of the artificial image is developed. There is no choice but to.

이상에서 살펴 본 바와 같이, 종래 기술의 한계를 극복하기 위한 핵심 과제는 인공 이미지의 본질적인 특성을 찾아내어 이를 인공 이미지 부분에 대한 효과적인 압축 부호화에 이용함으로써, 자연 영상이나 인공 영상 중 어느 한쪽의 특성이 강한 경우이든 자연 영상과 인공 영상이 복잡하게 혼재된 경우이든 상관없이 이미지를 효과적으로 압축 부호화 할 수 있는 새로운 부호화 방법 및 시스템을 제공하는 것이다.As described above, a key task to overcome the limitations of the prior art is to find the essential characteristics of the artificial image and use it for effective compression coding of the artificial image portion, thereby reducing the characteristics of either natural or artificial images. It is to provide a new coding method and system capable of compressing and encoding an image effectively regardless of whether it is a strong case or a complex mixture of natural and artificial images.

본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위하여 안출한 것으로서, 인공 이미지의 본질적 특성을 이용하여 인공 이미지가 포함된 이미지를 효과적으로 압축 부호화하기 위한 부호화 방법 및 시스템을 제공하는 데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an encoding method and system for effectively compressing and encoding an image including an artificial image by using an essential characteristic of the artificial image.

본 발명의 또 다른 목적은 자연 영상이나 인공 영상의 특성에 관계없이 자연 영상과 인공 영상이 복잡하게 혼재된 경우에도 효과적으로 압축 부호화를 수행할 수 있는 부호화 방법 및 시스템을 제공하는 데 있다.It is still another object of the present invention to provide an encoding method and a system capable of effectively performing compression encoding even when a natural image and an artificial image are complicatedly mixed regardless of characteristics of a natural image or an artificial image.

상기 목적을 달성하기 위하여 본 발명의 일관점에 따르면, 이미지 압축 부호화 방법에 있어서, 미리 정해진 스캔 순서에 따라 이미지 내의 부호화 대상 화소를 '현재 화소(P)'로 설정하는 단계와; '이미지 내에서 P로부터 공간적으로 일정 거리 내에 있는 스캔 화소 중 미리 지정된 복수개의 화소'(이하 '비교 대상 화소'(T)로 표시)로 이루어진 탐색 영역을 설정하는 단계와; 각각의 T의 화소값(T1)이 P의 화소값(P1)과 동일하면 해당 T의 위치 인덱스(D)에 대응되는 반복 카운트값(C)의 증가분(△C)을 '1'로 하고 그렇지 않은 경우 △C를 '0'으로 하여 모든 T에 대한 △C 데이터를 확보하는 단계와; 각각의 T의 '직전 화소까지의 C값'(CO)에 해당 △C를 더하여 'P까지의 C값'(이하 'CC'로 표시)을 계산하여 CC 중 최대값'(이하 'MC'로약칭)을 구하는 단계와; MC가 'CO중의 최대값'(이하 'MO'로 약칭)보다 큰 경우 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하는 단계와; MC가 MO보다 작거나 같은 경우, MO와 해당 T의 '탐색 영역 내 위치 인덱스값'(D1)을 부호화하여 제공하고 CO를 모두 '0'으로 초기화 하는 단계와; 상기 초기화 단계를 수행한 다음에, △C가 1이상인 T가 존재하지 않으면 P1을 부호화 하여 'P1의 부호화 값'(X1)을 생성하여 제공하고 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하고, △C가 1이상인 T가 존재하면 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하는 단계를 포함하는 이미지 압축 부호화 방법이 제공된다.According to an aspect of the present invention to achieve the above object, an image compression encoding method comprising the steps of: setting a pixel to be encoded in an image as a 'current pixel (P)' according to a predetermined scan order; Setting a search area including a plurality of predetermined pixels among scan pixels within a predetermined distance from P in the image (hereinafter referred to as 'comparison target pixels' T)); If the pixel value T1 of each T is equal to the pixel value P1 of P, the increment ΔC of the repeat count value C corresponding to the position index D of the corresponding T is set to '1'. Otherwise, setting ΔC to '0' to secure ΔC data for all T's; Calculate 'C value up to P' (hereinafter referred to as 'CC') by adding △ C to the 'C value up to the previous pixel' (CO) of each T, Abbreviated); Generating and storing a current pixel search result table by setting CC to a value corresponding to CO of each T plus CC when the MC is greater than a 'maximum value in CO' (hereinafter abbreviated as 'MO'); If MC is less than or equal to MO, encoding and providing a 'position index value in search area' D1 of the MO and the corresponding T, and initializing all COs to '0'; After performing the initialization step, if T with ΔC equal to or greater than 1 does not exist, P1 is encoded to provide 'coded value of P1' (X1), and the corresponding ΔC is added to the CO of each T. To generate and store the current pixel search result table, and to generate a current pixel search result table by setting CC to add ΔC to CO of each T if T having ΔC equal to or greater than 1 exists. An image compression encoding method is provided.

한편 본 발명의 또 다른 일관점에 따르면, 이미지 압축 부호화 시스템에 있어서, 미리 정해진 스캔 순서에 따라 이미지 내의 부호화 대상 화소를 '현재 화소(P)'로 설정하고, '이미지 내에서 P로부터 공간적으로 일정 거리 내에 있는 스캔 화소 중 미리 지정된 복수개의 화소'(이하 '비교 대상 화소'(T)로 표시)로 이루어진 탐색 영역을 설정하고, 각각의 T의 화소값(T1)이 P의 화소값(P1)과 동일하면 해당 T의 위치 인덱스(D)에 대응되는 반복 카운트값(C)의 증가분(△C)을 '1'로 하고 그렇지 않은 경우 △C를 '0'으로 하여 모든 T에 대한 △C 데이터를 확보하는 동일 칼라 화소 탐색부와; 각각의 T의 '직전 화소까지의 C값'(CO)에 해당 △C를 더하여 'P까지의 C값'(이하 'CC'로 표시)을 계산하여 CC 중 최대값'(이하 'MC'로 약칭)을 구한 다음 MC가 'CO중의 최대값'(이하 'MO'로 약칭)보다 큰 경우 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하고, MC가 MO보다 작거나 같은 경우에는 MO와 해당 T의 '탐색 영역 내 위치 인덱스값'(D1)을 제공하고 CO를 모두 '0'으로 초기화 하며, 상기 초기화 수행 이후에 △C가 1이상인 T가 존재하지 않으면 P1을 제공하고 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하며, △C가 1이상인 T가 존재하면 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하는 제어부와; 상기 현재 화소 탐색 결과 테이블을 저장하는 화소 탐색 결과 테이블 저장부와; 상기 'MO와 D1'을 부호화한 값을 '기본 부호화 데이터'로서 생성하여 제공하거나 또는 상기 'P1을 부호화한 값'을 기본 부호화 데이터로서 생성하여 제공하는 기본 부호화부를 포함하는 이미지 압축 부호화 시스템이 제공된다.On the other hand, according to another consistent point of the present invention, in the image compression coding system, the pixel to be encoded in the image is set to the 'current pixel P' according to a predetermined scan order, and is spatially constant from P in the image. A search area including a plurality of predetermined pixels' (hereinafter referred to as' comparison target pixels' T) among scan pixels within a distance is set, and each pixel value T1 of T is a pixel value P1 of P. ΔC data for all T's with the increment ΔC of the repeat count value C corresponding to the position index D of the corresponding T as '1', otherwise ΔC as '0'. An identical color pixel search unit to secure the same; Calculate 'C value up to P' (hereinafter referred to as 'CC') by adding △ C to the 'C value up to the previous pixel' (CO) of each T, If MC is greater than 'Maximum value in CO' (hereinafter, abbreviated as 'MO'), the current pixel search result table is generated and provided by setting the CC of each T plus △ C to CC. If MC is less than or equal to MO, it provides 'location index value in search area' (D1) of MO and corresponding T, and initializes all COs to '0', and T with ΔC greater than or equal to 1 after performing the initialization. If is not present, P1 is provided, and ΔC is added to CO of each T, and the current pixel search result table is generated by providing CC. If T with ΔC equal to or greater than 1 exists, the CO of each T is present. A controller configured to generate the current pixel search result table by setting the CC plus the corresponding? C; A pixel search result table storage unit for storing the current pixel search result table; Provided by the image compression encoding system including a basic encoding unit for generating and providing the value of the 'MO and D1' encoded as 'basic encoded data' or the 'encoded value of P1' as basic encoded data. do.

도 1은 본 발명의 바람직한 일실시예에 따른 이미지 압축 부호화 시스템의 개략적인 구성도,1 is a schematic structural diagram of an image compression coding system according to an embodiment of the present invention;

도 2는 본 발명의 바람직한 일실시예에 따른 이미지 압축 부호화 방법의 전개 과정을 나타내는 흐름도,2 is a flowchart illustrating a development process of an image compression encoding method according to an embodiment of the present invention;

도 3은 본 발명의 일실시예 따른 추가 이미지 압축 부호화 과정을 나타낸 흐름도,3 is a flowchart illustrating an additional image compression encoding process according to an embodiment of the present invention;

도 4는 본 발명의 일실시예에 따른 추가 압축 부호화 과정에 의해 단계별로 생성되는 부호화 데이터 열의 개략적인 구성 예를 나타낸 도면,4 is a view showing a schematic configuration example of a coded data sequence generated step by step by the additional compression coding process according to an embodiment of the present invention;

도 5는 본 발명의 일실시예에 따른 탐색 영역 설정 예를 도시한 도면,5 is a diagram illustrating an example of setting a search area according to an embodiment of the present invention;

도 6은 본 발명의 일실시예에 따른 탐색 결과 테이블 구성과 관련된 데이터의 예를 도시한 도면,6 illustrates an example of data related to a search result table configuration according to an embodiment of the present invention;

도 7은 본 발명의 일실시예에 따른 래스터 스캔 순서를 도시한 도면,7 is a diagram illustrating a raster scan sequence according to an embodiment of the present invention;

도 8은 본 발명의 일실시예에 따른 왼쪽 화소폭 우선 스캔 순서를 도시한 도면,8 illustrates a left pixel width first scan order according to an embodiment of the present invention;

도 9는 본 발명의 일실시예에 따른 블록 단위 래스터 스캔 순서를 도시한 도면,9 is a block diagram raster scan order according to an embodiment of the present invention;

도 10은 인공 이미지 샘플을 도시한 도면,10 shows an artificial image sample,

도 11은 자연 이미지 샘플을 도시한 도면,11 shows a natural image sample,

도 12는 자연 이미지와 인공 이미지가 혼재된 이미지 샘플을 도시한 도면.12 illustrates an image sample in which a natural image and an artificial image are mixed.

<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

100 : 기본 부호화 채널102 : 동일 칼라 화소 탐색부100: basic encoding channel 102: same color pixel search unit

104 : 화소 탐색 결과 테이블 저장부105 : 제어부104: pixel search result table storage unit 105: control unit

106 : 기본 부호화부106: basic encoder

S200 : 부호화 대상 화소를 현재 화소(P)로 설정하는 단계S200: setting the encoding target pixel as the current pixel P

S205 : P의 위치를 기준으로 탐색 영역을 설정하는 단계S205: setting a search area based on the position of P

S210 : '비교 대상 화소'(T)의 위치 인덱스(D)에 대응되는 '반복 카운트값'(C)의 증가분(△C)을 확보하는 단계S210: securing an increment ΔC of the 'repeat count value' C corresponding to the position index D of the 'compare target pixel' T

S230 : 탐색 영역 내의 모든 T에 대하여 △C를 확보했는지 확인하는 단계S230: Checking whether DELTA C is secured for all Ts in the search area

S235 : 각 T의 '직전 화소까지의 반복 카운트 값'(CO)에 해당 △C를 더하여 'P까지의 반복 카운트값'(CC)을 계산하여 그 중 최대값(MC)을 구하는 단계S235: calculating a repeating count value up to P (CC) by adding the corresponding ΔC to the 'repeating count value up to the previous pixel' CO of each T to obtain a maximum value MC among them

S240 : 'CO 중 최대값'(MO)과 MC를 비교하는 단계S240: comparing the MC with the 'maximum CO' (MO)

S250 : MO와 해당 T의 '탐색 영역 내 위치 인덱스 값'(D1)을 부호화하여 제공하고 CO를 모두 '0'으로 초기화 하는 단계S250: a step of encoding and providing a 'position index value in a search area' (D1) of the MO and the corresponding T, and initializing all COs to '0'

S260 : △C가 1이상인 T가 존재하는 지 확인하는 단계S260: Checking whether T with ΔC is 1 or more exists

S270 : '현재 화소값'(P1)을 부호화하여 'P1의 부호화값'(X1)을 생성하여 제공하는 단계S270: generating and providing a 'coded value of P1' (X1) by encoding a 'current pixel value' (P1)

S280 : 각 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 '현재 화소 탐색 결과 테이블'을 생성하여 저장하는 단계S280: generating and storing a 'current pixel search result table' by setting CC equal to that of CO of each T plus CC

우선 본 발명의 핵심 착안점에 대해 설명하고자 한다. 본 발명에서는 이미지의 압축 부호화의 효율을 높이기 위해 자연 영상과 인공 영상의 특성을 비교 분석하고, 수많은 압축 부호화 실험을 통해 다음과 같은 사실을 밝혀냈다.First, the core focus of the present invention will be described. In the present invention, in order to increase the efficiency of compression coding of images, the characteristics of natural and artificial images are compared and analyzed, and the following facts are found through numerous compression coding experiments.

첫째로, 이미지의 압축 부호화에 있어서 이미지 프레임 내에서 공간적으로 가까운 거리에 있는 화소들 중에서 현재의 화소와 동일한(또는 유사한) 칼라값을 갖는 화소가 있을 확률이 매우 높다는 점이다. 특히 인공 이미지의 경우 갖가지 도형과 기호로 이루어지게 되는 데, 사람이 사용하는 거의 모든 도형은 이미지 상에서 '수평선(-), 수직선(|), 사선(/), 역사선(\)'(이하, 편의상 '인공 이미지의 4가지 기본 요소'로 칭함)의 결합으로 이루어진다는 특성에 주목하는 게 중요하다.First, in compression coding of an image, there is a high probability that there are pixels having a color value that is the same (or similar) as the current pixel among pixels that are spatially close within the image frame. In particular, in the case of artificial images, various figures and symbols are used. Almost all shapes used by humans are represented by 'horizontal lines (-), vertical lines (|), diagonal lines (/), and historical lines (\)' in the image. For convenience, it is important to pay attention to the property of the combination of 'four basic elements of artificial image'.

도 10의 인공 이미지 샘플을 참조하면 이점을 쉽게 이해할 수 있다. 인공 이미지는 대개 문자나 숫자는 물론 다양한 모양의 직선이나 곡선으로 이루어지는 데, 그것을 잘게 잘라서 보면 결국 상기 인공 이미지의 4가지 기본 요소로서 분해될 수 있음을 이해할 수 있다.With reference to the artificial image sample of FIG. 10, the advantages can be easily understood. Artificial images usually consist of lines or curves of various shapes, as well as letters and numbers, and it can be understood that if they are chopped up, they can eventually be decomposed as four basic elements of the artificial image.

둘째로, 공간적으로 일정한 거리 내에 화소값이 동일(또는 유사)한 화소가 없는 경우일 지라도, 이전에 스캔한 화소값이 다시 나타날 확률이 매우 높다. 특히 인공 이미지에 이러한 특성이 많이 나타나며 자연영상의 경우에도 좌우, 위아래가 대칭적인 이미지들이 많기 때문에 이 원리가 잘 적용되는 편이다.Second, even if there are no pixels with the same (or similar) pixel value within a spatially constant distance, there is a high probability that the previously scanned pixel value will reappear. In particular, many of these characteristics appear in artificial images, and in the case of natural images, this principle is well applied because there are many symmetrical images.

따라서, 본 발명에서는 이런 이미지의 특성에 주목하여 이미지 내에서 현재 화소와 그 값이 동일(또는 유사)한 값이 존재할 확률이 높은 (이하에서 상세히 설명) 공간적으로 일정한 거리 이내의 소정 화소들의 값과 현재 화소 값을 비교한 결과를 현재 화소 값의 부호화에 이용함으로써 이미지 데이터의 압축 부호화 효율을 획기적으로 개선할 수 있다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 설명하고자 한다.Accordingly, the present invention pays attention to the characteristics of such an image, and the value of a predetermined pixel within a spatially constant distance having a high probability of having the same (or similar) value as that of the current pixel in the image (described in detail below). By using the result of comparing the current pixel values for encoding the current pixel values, it is possible to significantly improve the compression encoding efficiency of the image data. Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 일실시예에 따른 이미지 압축 부호화 시스템의 개략적인 구성도를 나타낸다. 도 1을 참조하면 본 발명에 따른 이미지 압축 부호화 시스템은 기본 부호화 채널(100)을 필수적으로 포함하며, 실시 예에 따라서는 제 1 선택부(110)와 큐(Queue) 버퍼 인덱스 부호화부(120), 제 2 선택부(130), 손실 압축 부호화 부(140), 화소 값 차이 부호화부(150), 제 3 선택부(160), 데이터포매팅부(180)가 더 포함될 수 있다. 본 발명의 바람직한 일실시예에 따르면 기본 부호화 채널(100)은 동일 칼라 화소 탐색부(102), 화소 탐색 결과 테이블 저장부(104), 제어부(105), 기본 부호화부(106)를 구비한다.1 is a schematic structural diagram of an image compression coding system according to an embodiment of the present invention. Referring to FIG. 1, an image compression encoding system according to the present invention essentially includes a basic encoding channel 100, and according to an embodiment, the first selector 110 and the queue buffer index encoder 120 may be used. The second selector 130, the lossy compression encoder 140, the pixel value difference encoder 150, the third selector 160, and the data formatter 180 may be further included. According to an exemplary embodiment of the present invention, the basic encoding channel 100 includes the same color pixel search unit 102, a pixel search result table storage unit 104, a control unit 105, and a basic encoding unit 106.

도 2는 본 발명의 바람직한 일실시예에 따른 이미지 압축 부호화 방법의 전개 과정을 나타내는 흐름도이다. 도 3은 본 발명의 일실시예 따라 추가되는 압축 부호화 방법의 전개 과정을 나타낸 흐름도이다. 도 4는 본 발명의 바람직한 일실시예에 따른 이미지 압축 부호화 과정에 의해 단계별로 생성되는 부호화 데이터 열의 구성 예를 개략적으로 도시한 도면이다. 이하에서, 본 발명의 실시 예에 따른 이미지 압축 부호화 방법의 전개 과정을 그에 대응되는 압축 부호화 시스템의 구조 및 기능과 연관지어 상세히 설명하고자 한다.2 is a flowchart illustrating a development process of an image compression encoding method according to an exemplary embodiment of the present invention. 3 is a flowchart illustrating a development process of a compression encoding method added according to an embodiment of the present invention. 4 is a diagram schematically illustrating an example of a configuration of an encoded data string generated step by step by an image compression encoding process according to an embodiment of the present invention. Hereinafter, the development process of the image compression encoding method according to an embodiment of the present invention will be described in detail with reference to the structure and function of the compression encoding system corresponding thereto.

도 2를 참조하면, 본 발명의 일실시예에 따른 압축 부호화 방법의 전개과정은 단계(S200)에서 미리 정해진 스캔 순서에 따라 이미지 내의 부호화 대상 화소를 현재 화소(이하 'P'로 표시)로 설정함으로서 시작된다. 여기서 이미지는 디지털 영상 입력 장치나 디지털 영상 수신 장비, 저장 장치로부터 또는 PC 등과 같은 외부의 디지털 이미지 데이터 소스(source)로부터 시스템의 입력 단자(도시되지 않음)에 제공되는 것으로서, 보통 종래에는 GIF 방식 또는 JPEG 방식에 의해 부호화되었던 정지 영상이라고 할 수 있으나, 꼭 이에 한정되는 것은 아니다.Referring to FIG. 2, in the development process of the compression encoding method according to an embodiment of the present invention, the encoding target pixel in the image is set to the current pixel (hereinafter, referred to as 'P') according to a predetermined scan order in step S200. To begin. The image is provided to an input terminal (not shown) of a system from a digital image input device, a digital image receiving device, a storage device, or from an external digital image data source such as a PC, and the like, conventionally, a GIF method or Although it may be referred to as a still image encoded by the JPEG method, it is not limited thereto.

여기서 미리 정해진 스캔 순서는 '래스터(raster) 스캔 순서', '왼쪽 화소폭 우선 스캔 순서', '블록 단위 래스터 스캔 순서' 등 다양한 스캔 순서가 적용될 수 있다. 여기서 '래스터 스캔 순서'란 당 업계에서 잘 알려진 용어로서 도 7에 도시한 바와 같이 맨 윗줄의 맨 왼쪽 화소부터 시작해서 오른쪽으로 스캔하고, 그 다음 줄의 맨 왼쪽 화소부터 시작해서 오른쪽으로 스캔하는 식의 순서를 의미한다. 도 8은 '왼쪽 화소폭 우선 스캔 순서'를 도시한 도면인데, 이것은 이미지 화면의 왼쪽에서 오른쪽으로 미리 정해진 H 화소 폭(H는 보통 8임) 만큼 윗줄에서 아랫줄까지 모든 라인을 처리한 후, 다시 그 오른쪽의 H화소 폭 만큼을 동일한 방법으로 스캔하는 방식이다. 도 9는 '블록 단위 래스터 스캔 순서'를 도시한 것으로서 HxH 블록 단위로 래스터 스캔 순서를 적용하되, 블록 내에서는 래스터 스캔 순서로 화소를 스캔하는 방식이다. 실시예에 따라서는 이상에서 설명한 스캔 순서와 다른 스캔 순서가 적용될 수도 있음은 물론이다. 단계(S200) 이후에 과정은 단계(S205)로 진행한다.The predetermined scan order may include various raster scan orders, a left pixel width priority scan order, and a block raster scan order. Here, 'raster scan order' is a term well known in the art and starts with the leftmost pixel in the top row and scans to the right as shown in FIG. 7, and starts with the leftmost pixel in the next row and scans to the right. Means the order. 8 is a diagram illustrating a 'left pixel width first scanning order', which processes all lines from the top line to the bottom line by a predetermined H pixel width (H is usually 8) from the left to the right of the image screen. Again, the H pixel width on the right is scanned in the same way. FIG. 9 is a block raster scan order in which a raster scan order is applied in HxH block units, but a pixel is scanned in a raster scan order in a block. In some embodiments, a scan order different from the above described scan order may be applied. After step S200, the process proceeds to step S205.

단계(S205)는 단계(S200)에서 설정된 P의 공간적인 위치를 기준으로 '탐색 영역'을 설정한다. 여기서 '탐색 영역'이란 '이미지 내에서 현재 화소(P)로부터 공간적으로 일정 거리(예를 들어, 반경 4화소 거리) 내에 있는 스캔 화소(즉, 스캔한 화소) 중 미리 지정된 복수개(보통 4-6개)의 화소'(이하, '비교 대상 화소'로 칭함)로 이루어진 영역'을 의미한다.In step S205, the search area is set based on the spatial position of P set in step S200. Here, the 'search area' means' a plurality of scan pixels (that is, scanned pixels) within a predetermined distance (for example, a 4 pixel radius) spatially from the current pixel P in the image (ie, a scanned pixel) (usually 4-6). "Pixels" (hereinafter referred to as "comparison target pixels").

본발명의 바람직한 일실시예에 따르면, 왼쪽 칸 우선 및 윗줄 우선의 스캔 원칙에 따를 경우에, '탐색 영역'으로서, P의 왼쪽 화소, P의 윗줄 화소, P의 윗줄의 왼쪽 화소, P의 윗줄의 오른쪽 화소의 4개 화소를 '비교 대상 화소'(이하 'T'로 표시)로서 구비하는 영역이 될 수 있는 데, 이것은 앞서 설명한 '인공 이미지의 4가지 기본 요소'를 고려한 탐색 영역 설정이다. 실시예에 따라서는, 상기 4개 화소에 더하여 P의 윗줄의 윗줄 화소, P의 왼쪽의 왼쪽 화소를 구비하여 총 6개의 화소를 T로서 구비하는 영역을 '탐색 영역'으로서 설정할 수도 있다.According to a preferred embodiment of the present invention, in accordance with the scanning principle of the left column first and the upper row first, as the 'search area', the left pixel of P, the upper row of P, the left pixel of P, the upper row of P It may be an area having four pixels of the right pixel of the pixel as a 'compare target pixel' (hereinafter, referred to as 'T'), which is a search area setting considering the 'four basic elements of the artificial image' described above. According to an exemplary embodiment, an area having six pixels as a total of T including an upper row pixel of the upper row of P and a left pixel of the left of P may be set as a 'search area' in addition to the four pixels.

한편, 현재 화소의 위치에 따라서는 P의 탐색 영역으로 설정된 화소이긴 하나 실제 이미지에서 존재하지 않는 화소이거나 아직 스캔을 완료하지 않은 화소가 비교 대상 화소로서 존재할 수 있다. 이때는, 해당 T의 화소값으로서 직전 스캔 화소의 부호화 과정에서 사용했던 값을 그대로 사용하거나 임의로 설정된 특정 값(예를 들면 검은색이나 흰색)을 사용할 수 있으며 또는 '비교 불능'으로 처리할 수도 있다. 또는 편의상 왼쪽 화소로서 직전 화소(즉, P를 기준으로 직전에 스캔한 화소)를, 왼쪽의 왼쪽 화소로서 직직전 화소(즉 P를 기준으로 직전의 직전에 스캔한 화소)를 사용하는 것도 가능하다.Meanwhile, depending on the position of the current pixel, a pixel set as the search region of P but not present in the actual image or a pixel which has not yet been scanned may exist as the comparison target pixel. In this case, as the pixel value of the T, a value used in the encoding process of the previous scan pixel may be used as it is, or a specific value (for example, black or white) arbitrarily set may be used, or may be processed as 'uncomparable'. Alternatively, for convenience, it is also possible to use the immediately preceding pixel (that is, the pixel just scanned on the basis of P) as the left pixel, and the immediately preceding pixel (that is, the pixel scanned immediately before the basis of P as the left pixel). .

단계(S205) 이후의 단계(S210)는 각각의 T에 대해, (이미지 내의 공간상의) T의 위치 인덱스(D)에 대응되는 반복 카운트값(C)의 증가분(△C)을 확보하는 단계이다. 좀더 상세히 설명하면, 단계(S210)에서는 각각의 T의 화소값(이하 'T1'으로 표시)을 P의 화소값(이하 'P1'으로 표시)과 비교하여, T1이 P1과 동일하면 해당 △C를 K(미리 정해진 양의 정수로서, 보통은 1이므로 이하에서는 1로 표시)로 하고 그렇지 않으면 △C를 '0'으로 한다. 여기서, '그렇지 않은 경우'란 T1이 P1과 다른 경우뿐만 아니라, 실제로 단계(S205)에서의 T가 이미지 내에 존재하지 않거나 앞서 설명한 '비교 불능'인 경우 등 'T1이 P1과 동일한 값을 갖지 않는 일체의 경우'를 의미함에 유의할 필요가 있다.Step S210 after step S205 is to secure, for each T, an increment ΔC of the repeat count value C corresponding to the position index D of T (in space in the image). . More specifically, in step S210, the pixel value of each T (hereinafter referred to as 'T1') is compared with the pixel value of P (hereinafter referred to as 'P1'), and if T1 is equal to P1, the corresponding ΔC Is denoted by K (a predetermined positive integer, usually 1, so 1 will be represented below) and? C is set to '0'. Here, 'if not' means that T1 does not have the same value as P1, not only when T1 is different from P1, but also when T in step S205 is not present in the image or 'uncomparable' as described above. It should be noted that 'in any case'.

이어서 단계(S230)에서는 탐색 영역의 모든 T에 대해 단계(S210)가 수행되었으면 과정은 단계(S235)로 진행하고, 그렇지 않으면 과정은 단계(S210)로 리턴된다. 이렇게 해서 모든 T에 대한 △C 데이터가 확보된다. 이하에서는 도 5와 도 6을 참조로 이상의 단계(S205, S210, S230)에 대해 구체적인 예를 들어 좀더 상세히 설명하고자 한다.Subsequently, in step S230, if step S210 has been performed for all the Ts in the search area, the process proceeds to step S235; otherwise, the process returns to step S210. In this way,? C data for all Ts are secured. Hereinafter, the steps S205, S210, and S230 will be described in more detail with reference to FIGS. 5 and 6.

본 발명의 바람직한 일실시예에 따르면, 탐색 영역은 도 5에 도시한 바와 같이, 현재 화소의 위치를 '0'이라고 할 때, '1'부터 '6'까지로 표시한 화소를 비교 대상 화소로서 구비하며, 탐색의 순서는 번호가 작은 것을 우선으로 한다. 한편, 본 발명의 또 다른 일실시예에 따르면 참조 이미지(예를 들어 현재 이미지의 직전 이미지)의 현재 화소 위치의 화소(이하 '0'번 화소로 부름)도 비교 대상 화소로서 더 구비될 수 있다. 도 5는 상기와 같은 탐색 영역 설정 규칙에 따른 '직전 화소에 대한 탐색 영역'과 '현재 화소에 대한 탐색 영역'의 예를 나타낸다. 도 5에서 직전 화소의 탐색 영역에서 'N'으로 표시된 위치(직전 화소의 탐색 영역에서 '0'으로 표시된 현재 화소 위치의 다음 부호화 대상 화소의 위치)가 현재 화소 위치로서 설정되고 이에 따라 탐색 영역에 대한 위치 번호가 매겨짐을 알 수 있다.According to an exemplary embodiment of the present invention, as shown in FIG. 5, when the position of the current pixel is '0', the pixels displayed as '1' to '6' are used as the comparison target pixel. In this case, the order of searching is given priority to the smaller number. Meanwhile, according to another exemplary embodiment of the present invention, a pixel (hereinafter referred to as pixel '0') of a current pixel position of a reference image (for example, the image immediately before the current image) may be further provided as a comparison target pixel. . 5 illustrates examples of a 'search area for a previous pixel' and a 'search area for a current pixel' according to the above-described search area setting rule. In FIG. 5, the position indicated by 'N' in the search region of the previous pixel (the position of the next encoding target pixel of the current pixel position indicated by '0' in the search region of the previous pixel) is set as the current pixel position and accordingly It can be seen that the location number for the

동일 칼라 화소 탐색부(102)는 화소 탐색 결과 테이블 저장부(104)에 미리 저장되어 있는 직전 (스캔) 화소 탐색 결과 테이블(도 6a의 예 참조)(의 데이터)을 읽어 들여, 이에 기초하여, T1과 P1을 미리 정해진 비교 순서에 따라 차례로 비교한다. 실시예에 따라서는 동일 칼라 화소 탐색부(102)는 직전 화소의 모든 T에 대한 T1값을 자체 내 버퍼(도시 생략됨)에 미리 저장하여 P1과 T1의 비교에 활용할 수도 있다. 도 6a에서 알 수 있듯이, 화소 탐색 결과 테이블에는 T의 위치인덱스(D)에 대해 반복 카운트 값(C)이 대응되어 기록된다.The same-color pixel search unit 102 reads the data of the immediately preceding (scan) pixel search result table (see the example in FIG. 6A) stored in the pixel search result table storage unit 104 in advance, and based on this, T1 and P1 are compared in order according to a predetermined comparison order. According to an exemplary embodiment, the same color pixel search unit 102 may store the T1 values of all the Ts of the immediately preceding pixel in a buffer (not shown) in its own and may be used to compare P1 and T1. As can be seen in FIG. 6A, the repetition count value C is recorded in the pixel search result table corresponding to the position index D of T. FIG.

T1이 P1과 동일하다면(즉, 칼라가 동일하면) 탐색 결과 테이블의 해당 D에 대응되는 반복 카운트값(C)을 1만큼 증가시키고(즉, △C를 1로 하고), 그렇지 않으면C를 증가시키지 않는다(즉, △C를 0으로 한다). 이런 작업을 미리 지정된 순서에 따라 탐색 영역의 모든 화소에 대해 계속해 나간다. 이렇게 해서 모든 T에 대한 △C 데이터를 확보한다.If T1 is equal to P1 (i.e., the colors are the same), the iteration count value C corresponding to the corresponding D in the search result table is increased by 1 (i.e., ΔC is 1), otherwise C is increased. (That is, ΔC is zero). This operation is continued for all the pixels of the search area in a predetermined order. In this way, DELTA C data for all Ts are secured.

동일 칼라 화소 탐색부(102)에 의해 수행되는 P의 T에 대한 △C 데이터 확보 과정을 도 5a 및 도 5b를 예로 들어 좀더 상세히 설명하면 다음과 같다. 우선 직전 화소를 기준으로 한 탐색 영역의 0번 화소의 바로 오른쪽에 있는 화소('N'번 화소로 표시됨)가 현재 화소를 기준으로 한 탐색 영역의 0번 화소 위치가 되기 때문에, 직전 화소 탐색 영역의 1번 화소, 2번 화소, 3번 화소는 각각 현재 화소 탐색 영역의 6번 화소, 4번 화소, 2번 화소에 해당하게 된다(도 5를 비교하여 참조할 것). 한편, 직전 화소 탐색 영역의 4번 화소, 5번 화소, 6번 화소는 현재 화소의 탐색 영역의 바깥에 위치하게 되어 현재 화소 값과 비교되지 않는다.A process of acquiring [Delta] C data for T of P performed by the same color pixel search unit 102 will be described in more detail with reference to FIGS. 5A and 5B. First, the pixel immediately preceding the pixel search region because the pixel (indicated by 'N' pixel) immediately to the right of pixel 0 of the search region with respect to the previous pixel becomes the pixel position 0 of the search region with respect to the current pixel. Pixels 1, 2, and 3 of the pixels correspond to pixels 6, 4, and 2 of the current pixel search region, respectively (see FIG. 5 for comparison). On the other hand, pixels 4, 5, and 6 of the immediately preceding pixel search region are located outside the search region of the current pixel and thus are not compared with the current pixel value.

그리고 현재 화소를 기준으로 한 탐색 영역 화소로서의 3번 화소, 5번 화소는 직전 화소의 탐색 영역에는 포함되지 않았던 것임을 알 수 있다. 단계(S230) 이후에 단계(S235)에서는 각 T의 '직전 화소까지의 C값'(즉, 직전 화소 탐색 결과 테이블 내의 C값으로서 이하에서 'CO'로 표시)에 해당 △C를 더하여 'P까지의 C값'(이하 'CC'로 표시)을 계산하여 그 CC 중 최대값'(이하 'MC'로 약칭)을 구한다. 도 6b는 현재 화소에 대한 탐색 과정에서 얻은 데이터의 예를 도시한다. 도6b를 참조하면, 현재 화소에 대한 탐색 영역의 3, 4번 화소에 대한 △C만 각각 1로 설정된 것을 볼 수 있다. 단계(S235) 이후에 과정은 단계(S240)로 진행한다.Also, it can be seen that pixels 3 and 5 as the search area pixels based on the current pixel are not included in the search area of the immediately preceding pixel. After step S230, in step S235, ΔC is added to 'C value up to the previous pixel' of each T (i.e., C value in the previous pixel search result table as hereinafter referred to as 'CO'). Calculate the C value '(hereinafter referred to as' CC ') to obtain the maximum value of the CC' (hereinafter abbreviated as 'MC'). 6B shows an example of data obtained during the search for the current pixel. Referring to FIG. 6B, it can be seen that only ΔC for pixels 3 and 4 of the search region for the current pixel are set to 1, respectively. After step S235, the process proceeds to step S240.

단계(S240)에서는 MC와 'CO 중 최대값'('MO'로 약칭)을 비교하는 단계로서, MC > MO 이면 단계(S280)로 진행하고, MC가 MO보다 같거나 작으면 단계(S250)로 진행한다. 단계(S250)에서는 MO와 해당 T의 '탐색 영역 내 위치 인덱스값'(D1)을 부호화한 값을 '기본 부호화 데이터'로서 제공하고 CO를 모두 '0'으로 초기화 한다. 예를 들면 도 6b의 경우에는 MO는 4가 되고, D1은 1이 된다. 단, 여기서 MO가 둘 이상 존재하는 경우에는 미리 정해진 비교 우선 순서(예를 들어, 도 5에서의 작은 번호 순서) 또는 스캔 우선 순서에 따라 선택한다. 도 6b에서 CO를 모두 0으로 초기화 하면 도 6c와 같은 데이터가 구해진다. 단계(S250) 이후에 과정은 단계(S260)로 진행한다.In step S240, the step of comparing the MC with the 'maximum value of CO' (abbreviated as 'MO'). If MC> MO, the process proceeds to step S280. If MC is equal to or smaller than MO, step S250. Proceed to In step S250, a value obtained by encoding the 'position index value in the search area' D1 of the MO and the corresponding T is provided as 'basic encoded data' and all COs are initialized to '0'. For example, in the case of Fig. 6B, MO is 4 and D1 is 1. However, when two or more MOs exist, the selection is made according to a predetermined comparison priority order (for example, the small number order in FIG. 5) or the scan priority order. When all COs are initialized to 0 in FIG. 6B, data as shown in FIG. 6C is obtained. After step S250, the process proceeds to step S260.

단계(S260)에서는 현재 화소에 대한 탐색 결과, △C가 1이상인 T가 하나이상 존재하는 지의 여부를 판단하는데, △C가 1이상인 T가 하나이상 존재하면 과정은 단계(S280)로 진행하고, 그렇지 않으면 단계(S270)로 진행한다. 단계(S270)에서는 현재 화소값(P1)을 부호화하여 부호화 값(X1)을 '기본 부호화 데이터'로서 생성하여 제공한다. 과정은 단계(S270) 이후에 단계(S280)로 진행한다.In operation S260, as a result of the search for the current pixel, it is determined whether one or more Ts having ΔC equal to or greater than 1 exists. When one or more Ts with ΔC equal to or greater than 1 exist, the process proceeds to operation S280. Otherwise proceed to step S270. In operation S270, the current pixel value P1 is encoded, and the encoded value X1 is generated and provided as 'basic encoded data'. The process proceeds to step S280 after step S270.

단계(S280)에서는 각 T의 CO에 해당 △C를 더한 것을 T의 CC로 설정함으로써 현재 화소 탐색 결과 테이블을 생성하여 저장한다. 예를 들면 도 6d는 도 6c의 데이터에 근거하여 단계(S280)을 수행하여 생성된 현재 화소 탐색 결과 테이블의 예를 도시한다. 단계(S280) 이후에 과정은 단계(S290)로 간다.In step S280, the current pixel search result table is generated and stored by setting the CC of T plus CC corresponding to CO of each T. For example, FIG. 6D illustrates an example of the current pixel search result table generated by performing step S280 based on the data of FIG. 6C. After step S280, the process goes to step S290.

단계(S290)에서는 미리 정해진 개수(J개)의 P에 대해 부호화가 완료되었는지를 판단하여, 완료되었으면 과정은 종료되고, 완료되지 않았으면 과정은 단계(S200)로 되돌아가서 J개의 화소에 대한 기본 부호화가 완료될 때까지 과정이 계속된다. 여기서, J는 8의 배수이고 바람직하게는 8, 16, 32, 64 중 하나로 설정할 수 있다. 이렇게 해서 이미지 내 화소에 대해 J개의 각 화소에 대해 상기 모든 단계를 수행하여 J개의 기본 부호화값으로 이루어진 'J개의 기본 부호화 데이터 열'을 생성함으로써 기본 부호화가 완료되는 것이다.In step S290, it is determined whether encoding is completed for a predetermined number (J) of P, and if it is completed, the process is terminated. If not, the process returns to step S200 and the basic for J pixels is determined. The process continues until the encoding is completed. Here, J is a multiple of 8 and preferably can be set to one of 8, 16, 32, 64. In this way, the basic encoding is completed by performing the above-described steps for each of the J pixels for the pixels in the image to generate 'J basic encoded data sequences' consisting of J basic encoded values.

이상의 단계(S235, S240, S260, S280, S290)는 제어부(105)에 의해 수행될 수 있는 바, 제어부(105)는 동일 칼라 화소 탐색부(102)로부터 현재 화소 탐색 결과 데이터를 수신하여, 단계(S235)에서 MC를 구한 다음, 단계(S240)에서 MC > MO인 경우에는 단계(S280)를 수행하여 현재 화소까지의 탐색 결과 테이블을 생성하여 화소 탐색 결과 테이블 저장부(104)에 제공하여 그곳에 저장되도록 한다. 한편, 제어부(105)는 MC가 MO보다 같거나 작은 경우에는 MO와 D1을 기본 부호화부(106)에 제공한다. 또 제어부(105)는 MC가 MO보다 같거나 작은 조건하에서, △C가 1이상인 T가 하나도 없으면 P1을 기본 부호화부(106)에 제공하고 단계(S280)의 작업을 수행하여 현재 화소 탐색 결과 테이블을 생성하여 화소 탐색 결과 테이블 저장부(104)에 제공하여 그곳에 저장되도록 한다. 또 제어부(105)는 단계(S290)의 판단에 따라 동일 칼라 화소 탐색부(102)와 기본 부호화부(106)를 제어할 수 있다.The above steps S235, S240, S260, S280, and S290 may be performed by the controller 105. The controller 105 receives the current pixel search result data from the same color pixel search unit 102. After the MC is obtained in operation S235 and MC> MO in operation S240, operation S280 is performed to generate a search result table up to the current pixel and provide the result table to the pixel search result table storage unit 104 therein. To be stored. Meanwhile, the controller 105 provides the MO and D1 to the basic encoder 106 when the MC is equal to or smaller than the MO. In addition, under the condition that MC is equal to or smaller than MO, the controller 105 provides P1 to the basic encoder 106 when there is no T with ΔC equal to or greater than 1, and performs the operation of step S280 to perform the current pixel search result table. Is generated and provided to the pixel search result table storage unit 104 to be stored there. The controller 105 may control the same color pixel search unit 102 and the basic encoder 106 according to the determination of step S290.

기본 부호화부(106)는 제어부(105)로부터 'MO와 D1' 또는 P1을 수신하여 이를 기본 부호화하여 각각 'MO와 D1을 부호화한 값'(이하 'MOD1'로 표시) 또는 X1을'기본 부호화 데이터'로서 생성, 제공한다. 기본 부호화부(106)는 보통 J개의 화소에 대해 기본 부호화를 수행하여 얻은 J개의 부호화 데이터를 한묶음으로 해서 '기본 부호화 데이터 열'로서 제공하지만, 실시예에 따라서는, 기본 부호화부(106)는 기본 부호화 데이터를 화소 단위로 제공하고 나중에 설명할 제 1 선택부(110)가 J개의 부호화값을 한묶음으로 해서 '기본 부호화 데이터 열'을 구성할 수도 있다. 여기서 기본 부호화에는 무손실 압축부 부호화 기법이 이용되며, 대표적으로는 고정 길이 부호화(Fixed Run Length Coding: FLC) 기법이 이용된다.The basic encoding unit 106 receives the 'MO and D1' or P1 from the control unit 105 and performs basic encoding on the 'MO and D1 encoded values' (hereinafter referred to as 'MOD1') or 'X1', respectively. Create and provide data. The basic encoding unit 106 normally provides a group of J encoded data obtained by performing basic encoding on the J pixels as a 'basic encoded data string'. However, in some embodiments, the basic encoding unit 106 The basic coded data may be provided in units of pixels, and the first selector 110 to be described later may configure the 'basic coded data stream' by grouping J coded values. Here, lossless compression coding is used for basic coding, and fixed run length coding (FLC) is typically used.

한편, 본 발명의 바람직한 실시예에 따르면, 단계(290) 이후에 추가 부호화 과정이 이어질 수 있다. 도 3은 본 발명의 바람직한 실시예에 따른 추가 부호화 과정의 일예를 도시한 도면이다. 본 발명의 일실시예에 따르면, 이런 추가 부호화 과정을 구현하기 위해 기본 부호화 채널(100)에 더하여 도 1에 도시한 바와 같이, 제 1 선택부(110), 큐(Queue) 버퍼 인덱스 부호화부(120), 제 2 선택부(130), 화소값 차이 부호화부(150), 제 3 선택부(160), 손실 압축 부호화 채널(140), 데이터 포매팅부(180)와 같은 회로가 본 발명의 이미지 압축 부호화 시스템에 더 포함될 수 있다.Meanwhile, according to a preferred embodiment of the present invention, an additional encoding process may follow after step 290. 3 is a diagram illustrating an example of an additional encoding process according to a preferred embodiment of the present invention. According to an embodiment of the present invention, in order to implement such an additional encoding process, as shown in FIG. 1 in addition to the basic encoding channel 100, the first selector 110 and the queue buffer index encoder ( 120, the second selector 130, the pixel value difference encoder 150, the third selector 160, the lossy compression encoding channel 140, and the data formatter 180 are images of the present invention. It may be further included in the compression encoding system.

도 4는 본 발명의 일실시예에 따른 추가 압축 부호화 과정에 의해 단계별로 생성되는 부호화 데이터 열의 개략적인 구성 예를 나타낸다. 이하에서, 본 발명의 바람직한 실시예에 따른 이미지 압축 부호화 방법의 추가 과정을 추가된 회로의 구조 및 기능과 연관지어 상세히 설명하고자 한다.4 is a schematic configuration example of an encoded data string generated step by step by an additional compression encoding process according to an embodiment of the present invention. Hereinafter, an additional process of the image compression encoding method according to the preferred embodiment of the present invention will be described in detail with reference to the structure and function of the added circuit.

우선, 단계(S300)에서는 'J개의 원래 화소로 이루어진 데이터 열'(이하 'J개의 원래 화소 데이터 열'로 약칭, 도4에서 '400'으로 표시된 것이 그 예)의 데이터 크기(이하 'A'로 표시)(보통 바이트(byte) 단위로 표시됨)와 단계(S290)로부터 제공된 '기본 부호화 데이터 열'(도4에서 '410'으로 표시)의 데이터 크기(이하 'B1'로 표시)를 비교하여 후속 처리 경로를 선택한다. 즉, 단계(S300)에서는 B1을 A로 나눈값(B1/A)(이하 'Y1'로 표시)이 미리 정해진 제 1 기준값(TH1)보다 작으면 기본 부호화에 의한 압축률이 원하는 수준이상으로 양호하다고 판단하여 과정은 단계(310)로 진행하고, 그렇지 않으면 단계(S360)로 진행한다. 여기서 TH1은 0과 1사이의 값으로서 바람직하게는 0.3 내지 0.5의 값(예를 들면 1/3)이다.First, in step S300, the data size (hereinafter, 'A' is a data column consisting of J original pixels' (hereinafter, abbreviated as' J original pixel data columns' and indicated as' 400 'in FIG. 4). (Usually expressed in bytes) and the data size of the 'basic encoded data string' (indicated by '410' in FIG. 4) provided from step S290, Select the subsequent processing path. That is, in step S300, if the value B1 / A obtained by dividing B1 by A (hereinafter referred to as 'Y1') is smaller than the first predetermined reference value TH1, the compression ratio by the basic encoding is better than the desired level. If it is determined, the process proceeds to step 310, otherwise proceeds to step S360. TH1 here is a value between 0 and 1, Preferably it is a value of 0.3-0.5 (for example 1/3).

이렇게 기본 부호화에 의해 데이터가 압축되는 것은 예를 들어, 데이터 열(400)의 3, 4, 5번째 화소값인 V3, V4, V5을 나타내는 데는 각 화소 당 24비트(R, G, B 또는 Y, U, V 값의 표현에 각각 8비트 씩 할당할 경우)로서 총 72 비트가 필요한 데 비해, 이를 고정 길이 부호화한 데이터 열(410)의 '위치 인덱스 4의 반복 카운트값이 3임을 나타내는 데이터'인 'P4R3'는 예를 들어 8비트로 표시할 수 있다는 데서 쉽게 이해할 수 있다. 참고로, P4R3는 복호화부(도시되지 않음)에서 V3, V4, V5 값의 복원 시에는 해당 화소를 기준으로 4번 위치에 있는 복원 화소값을 3회 취하는 것으로 해석함으로써 복호화한다.In this way, data is compressed by basic encoding, for example, V3, V4, and V5, which are the 3rd, 4th, 5th pixel values of the data stream 400, are 24 bits (R, G, B, or Y for each pixel). , A total of 72 bits are required for the representation of the U and V values, respectively, whereas 'the data indicating that the repetition count value of the position index 4 is 3' in the data string 410 having the fixed length coding 'P4R3' is easily understood in that it can be expressed as 8 bits, for example. For reference, P4R3 decodes the decoding unit (not shown) by taking three times the reconstructed pixel value at the fourth position with respect to the pixel when reconstructing the V3, V4, and V5 values.

단계(S310)에서는 '기본 부호화 데이터 열'에 대한 큐(Queue) 버퍼 인덱스 부호화가 큐 버퍼 인덱스 부호화부(120)에 의해 수행되어 '큐 버퍼 인덱스 부호화 데이터 열'이 생성된다. 큐 버퍼 인덱스 부호화부(120) 내에는 별도로 준비된 큐(Queue) 버퍼(도시되지 않음)가 존재 하는 데, 여기에는 기본 부호화부(106)에서위치 및 반복 카운트로 부호화되지 않고 화소값으로 부호화된 화소 중에서 큐 버퍼 내에 동일한 화소값이 저장되어 있지 않은 화소의 화소값이 스캔 순서대로 저장된다. 단계(S310)를 좀더 구체적으로 설명하면, 현재 화소값과 동일한 화소가 저장된 큐 버퍼 내의 저장 위치 인덱스(이하 '큐 버퍼 인덱스'로 약칭함)를 부호화하여 큐 버퍼 인덱스 부호화 데이터 열의 해당 위치에 저장한다. 큐 버퍼 내에 저장된 화소 중에서 현재 화소의 화소값과 동일한 화소값을 갖는 화소가 없는 경우에는 현재 화소값을 큐 버퍼에 삽입(저장)하고, 부호화 데이터 열에는 해당 화소에 대한 부호화값(예를 들어 도4, '430'의 X1, X2, X7, X14)을 그대로 둔다. 도4에는 이렇게 해서 얻어진 '큐 버퍼 인덱스 부호화 데이터 열(430)'이 예시되어 있다.In step S310, the queue buffer index encoding for the 'basic encoded data sequence' is performed by the queue buffer index encoder 120 to generate a 'queue buffer index encoded data sequence'. In the queue buffer index encoder 120, there is a queue buffer (not shown) prepared separately, which is a pixel encoded by a pixel value without being encoded by a position and an iteration count in the basic encoder 106. The pixel values of pixels whose same pixel values are not stored in the queue buffer are stored in the scanning order. In more detail, step S310, a storage position index (hereinafter, abbreviated as 'queue buffer index') in a queue buffer in which a pixel equal to a current pixel value is stored is encoded and stored at a corresponding position of the queue buffer index encoded data string. . If none of the pixels stored in the queue buffer have the same pixel value as the pixel value of the current pixel, the current pixel value is inserted (stored) in the queue buffer, and an encoded value (for example, FIG. 4, X1, X2, X7, X14 of '430' are left as it is. In Fig. 4, the &quot; queue buffer index coded data stream 430 &quot; thus obtained is illustrated.

예를 들어, 도 4를 참조하면 현재 화소가 13번째 화소로서 부호화한 값이 X13으로서 해당 화소값은 V13이라고 하면 그 이전 화소의 부호화 값은 X1, X2, X6, X7, X12이다. 예를 들어, 열(430)에서 X6 대신에 Q1로 부호화 되었다는 것은 V6이 V2와 화소값이 동일하다고 볼 수 있으며, 이 때 큐 버퍼에는 V1, V2, V7, V12가 저장되게 된다. 여기서 Q오른쪽의 숫자 1은 바로 직전 화소의 위치 인덱스를 의미한다. 이런 방식으로 데이터 열(430)에서 X13 대신에 Q3가 저장된 것은 13번째 화소보다 3회 전에 큐 버퍼에 저장된 2번째 화소(V2)의 화소값이 V13의 화소값과 동일함을 나타낸다.For example, referring to FIG. 4, if the value encoded by the current pixel as the 13th pixel is X13 and the pixel value is V13, the encoded value of the previous pixel is X1, X2, X6, X7, X12. For example, in the column 430, coded Q1 instead of X6 means that V6 has the same pixel value as V2. At this time, V1, V2, V7, and V12 are stored in the queue buffer. The number 1 on the right side of Q indicates the position index of the immediately preceding pixel. In this way, the storing of Q3 instead of X13 in the data string 430 indicates that the pixel value of the second pixel V2 stored in the queue buffer three times before the thirteenth pixel is the same as the pixel value of V13.

단계(S310)에 이어서 단계(S320)에서는 '큐 버퍼 인덱스 부호화 데이터 열'(예를 들어 430)의 데이터 크기(이하 'B2'로 표시)와 A를 비교하여 후속 처리 경로를 선택한다. 즉, 단계(S320)에서는 B2를 A로 나눈값(B2/A)(이하 'Y2'로 표시)이미리 정해진 제 2 기준값(TH2)보다 작으면 큐 버퍼 인덱스 부호화에 의한 압축률이 원하는 수준이상으로 양호하다고 판단하여 과정은 단계(330)로 진행하고, 그렇지 않으면 단계(S360)로 진행한다. 여기서 TH2는 TH1보다 작은 값으로서 0과 1사이의 값이며, 바람직하게는 0.2 내지 0.4의 값(예를 들면 1/4)이다.Subsequent to step S310, in step S320, a subsequent processing path is selected by comparing A with the data size of the queue buffer index encoded data stream (for example, 430) (hereinafter referred to as 'B2'). That is, in step S320, if the value B2 divided by A (B2 / A) (hereinafter referred to as 'Y2') is smaller than the predetermined second reference value TH2, the compression ratio by the queue buffer index encoding is higher than the desired level. If it is determined that it is good, the process proceeds to step 330, otherwise proceeds to step S360. TH2 is a value smaller than TH1 and is a value between 0 and 1, Preferably it is a value of 0.2-0.4 (for example, 1/4).

단계(S330)에서는 '큐 버퍼 인덱스 부호화 데이터 열'에 대한 '화소값 차이 부호화'가 화소값 차이 부호화부(150)에 의해 수행되어 '화소값 차이 부호화 데이터 열'이 생성된다. 즉, 큐 버퍼 인덱스 부호화 데이터 열 내에 아직 부호화된 화소값으로서 남아 있는 화소의 화소값과 직전 화소값과의 오차(DF)를 계산하여, DF가 미리 정한 기준치(TE) 보다 같거나 작으면 DF를 선택하여 (고정 길이) 부호화 하고 그렇지 않으면 부호화된 화소값을 그대로 둔다. 도4에는 이렇게 생성된 '화소값 차이 부호화 데이터 열'의 예(450)가 도시되어 있다. 도4에서 E2, E7, E14로 표시된 것이 화소값 차이를 고정 길이 부호화한 값을 나타낸다. 여기서 E2는 V2와 V1의 오차이며, E7은 V7과 V6의 오차, E14는 V14와 V13의 오차이다. 단계(S330) 이후에 과정은 단계(S340)로 진행한다.In operation S330, the pixel value difference encoding unit for the queue buffer index encoding data sequence is performed by the pixel value difference encoding unit 150 to generate the pixel value difference encoding data sequence. That is, the error DF between the pixel value of the pixel remaining as the pixel value still encoded in the queue buffer index coded data column and the previous pixel value is calculated, and if DF is equal to or smaller than the predetermined reference value TE, DF is calculated. Select (code fixed length) or leave the encoded pixel value as it is. 4 shows an example 450 of the &quot; pixel value difference coded data stream &quot; thus generated. In Fig. 4, those indicated by E2, E7, and E14 represent fixed-length encoded values of pixel value differences. Where E2 is the error between V2 and V1, E7 is the error between V7 and V6, and E14 is between V14 and V13. After step S330, the process proceeds to step S340.

단계(S340)에서는 '화소값 차이 부호화 데이터 열'(예를 들어 450)의 데이터 크기(이하 'B3'로 표시)와 A를 비교하여 후속 처리 경로를 선택한다. 즉, 단계(S340)에서는 B3를 A로 나눈값(B3/A)(이하 'Y3'로 표시)이 미리 정해진 제 3 기준값(TH3)보다 작으면 화소 차이값 부호화에 의한 압축률이 원하는 수준이상으로 양호하다고 판단하여 과정은 단계(370)로 진행하고, 그렇지 않으면 단계(S360)로 진행한다. 여기서 TH3는 TH2보다 작은 값으로서 0과 1사이의 값이며, 바람직하게는 0.1 내지 0.3의 값(예를 들면 1/5)이다.In step S340, a subsequent processing path is selected by comparing A with the data size (hereinafter, denoted as 'B3') of the 'pixel value difference encoded data string' (for example, 450). That is, in step S340, if B3 divided by A (B3 / A) (hereinafter referred to as 'Y3') is smaller than the predetermined third reference value TH3, the compression rate due to pixel difference value encoding is higher than a desired level. If it is determined that it is good, the process proceeds to step 370, otherwise proceeds to step S360. TH3 is a value smaller than TH2 and is a value between 0 and 1, Preferably it is a value of 0.1-0.3 (for example, 1/5).

단계(S360)에서는 기본 부호화, 큐 버퍼 인덱스 부호화, 화소값 차이 부호화와 같은 무손실 압축 부호화 방법 대신에 손실 압축 부호화 방법을 적용하는 단계로서, 보통 '무손실 압축 부호화 데이터 열'(즉, 기본 부호화 데이터 열, 큐 버퍼 인덱스 부호하 데이터 열, 화소값 차이 부호화 데이터 열) 사이의 해당 위치에 <손실 압축 부호화된 화소의 개수를 나타내는 부호화 데이터 정보>(예를 들어 J가 손실 압축 부호화된 화소 개수가 64일 경우에 'S64'로 표시)를 삽입한 다음, 그에 해당하는 원래의 화소 데이터 열(예를 들면 도 4의 400)을 손실 압축 대기 버퍼(도시되지 않음)에 저장하되, 손실 압축 대기 버퍼의 대기 화소수가 미리 정해진 블록을 구성할 수 있는 개수(예들 들어 8x8 블록을 구성하는 64개의 화소) 이상이 될 때 해당 블록을 손실 압축 부호화하여 '손실 압축 부호화 데이터 열'을 얻는 방식으로 수행한다.In step S360, a lossy compression encoding method is applied instead of a lossless compression encoding method such as basic encoding, queue buffer index encoding, and pixel value difference encoding. <Coded data information indicating the number of lossy compression coded pixels> (e.g., J is the number of lossy compression coded pixels) at a corresponding position between the queue buffer index coded data stream and the pixel value difference encoded data stream. In this case, inserting &quot; S64 &quot; and then storing the corresponding original pixel data stream (e.g., 400 in FIG. 4) in the lossy compression wait buffer (not shown), but waiting for the lossy compression wait buffer. When the number of pixels is greater than or equal to a predetermined number of blocks (for example, 64 pixels constituting an 8x8 block), the corresponding blocks are loss-compressed and encoded by ' The lossy compression coded data stream 'is obtained.

이때, 손실 압축 부호화 방법이 연속하여 적용된 경우에는 무손실 압축 부호화가 적용되기까지 연속적으로 손실 압축 부호화된 데이터를 하나의 무손실 압축 부호화 데이터 열로서 추가한다. 예를 들어, 손실 압축 부호화할 데이터 열의 화소 수인 64이고, 바로 직전에 손실 압축 부호화한 데이터 열의 화소수가 192임을 나타내는 값이 S192인 경우에는, 이 둘을 연속으로 묶어서 S256으로서 표현한다.In this case, when the lossy compression encoding method is applied continuously, the lossy compression encoded data is continuously added as one lossless compression encoded data string until lossless compression encoding is applied. For example, when the number of pixels of the data string to be subjected to lossy compression coding is 64, and the value indicating that the number of pixels of the data string subjected to the lossy compression coding immediately before is 192 is S192, the two are successively grouped and expressed as S256.

여기서, 손실 압축 부호화 방법으로서는 이른바 JPEG 방법의 하나로서 잘 알려진 블록별 부호화 방법으로서 이산 코사인 변환(DCT), 양자화, 허프만(Huffman) 부호화를 순차적으로 적용하는 방법을 이용하는 것이 보통이지만, 다른 손실 압축부호화 방법도 사용할 수 있다. 이때 블록 크기는 미리 정해진 것으로서 HxH 화소 크기(H는 8의 배수로서 보통 8임)를 주로 채용한다. 단, 이미지의 마지막 손실 압축 부호화 대상이 되는 원래 화소 데이터 열이 손실 압축 부호화 채널(160)에 입력된 경우, HxH개의 화소값이 다 채워지지 않더라도 나머지 값을 모두 '0'으로 채운 후 블록 단위 손실 압축 부호화를 수행할 수 있다.Here, as a lossy compression coding method, a block-by-block coding method, which is a well-known JPEG method, is a method of sequentially applying discrete cosine transform (DCT), quantization, and Huffman coding, but other lossy compression coding. The method can also be used. At this time, the block size is predetermined and mainly adopts the HxH pixel size (H is usually 8 as a multiple of 8). However, if the original pixel data string that is the last lossy compression encoding target of the image is input to the lossy compression encoding channel 160, even if the HxH pixel values are not all filled, the remaining values are filled with '0' and then the block unit loss is performed. Compression coding may be performed.

한편, 상기에서 언급한 기준값(TH1, TH2, TH3)은 부호화 시스템(예를 들어 PC)의 메모리 용량 및 연산 성능에 따라 달리 설정될 수 있다. 또한, 사용자의 메뉴 선택 및 시스템 설정에 따라 다르게 제어될 수 있다. 예를 들어, 사용자의 메뉴 선택이나 시스템 설정의 변화에 따라 손실 압축 부호화에서 양자화를 적용할 때, 양자화 스케일을 크게(즉, 거칠게 부호화)할 것인가 아니면 더 작게(세세하게 부호화)할 것인가 하는 선택도 기준값을 정하는 데 영향을 미칠 수 있다.On the other hand, the above-mentioned reference value (TH1, TH2, TH3) may be set differently according to the memory capacity and the calculation performance of the coding system (for example, PC). In addition, it may be controlled differently according to a user's menu selection and system setting. For example, when applying quantization in lossy compression coding according to a user's menu selection or a change in system settings, a selectivity reference value of whether the quantization scale is to be enlarged (ie, coarse encoded) or smaller (finely encoded). This can influence the decision.

단계(S300)는 제 1 선택부(110)에 의해 수행되는 바, 그곳에 입력된 원래의 화소 데이터 열의 크기와 기본 부호화부(106)로부터 받은 기본 부호화 데이터 열의 데이터 크기를 비교하여, Y1 < TH1이면 기본 부호화된 데이터를 큐 버퍼 인덱스 부호화부(120)로 제공하고, 그렇지 않으면 '손실 압축 부호화 명령'을 손실 압축 부호화 채널(140)로 제공한다. 단계(S320)는 제 2 선택부(130)에 의해 수행되는 바, 그곳에 입력된 원래의 화소 데이터 열의 크기와 큐 버퍼 인덱스 부호화(120)로부터 받은 큐 버퍼 인덱스 부호화 데이터 열의 데이터 크기를 비교하여, Y2 < TH2이면 큐 버퍼 인덱스 부호화 데이터 열을 화소값 차이 부호화부(150)로 제공하고, 그렇지 않으면 '손실 압축 부호화 명령'을 손실 압축 부호화 채널(140)로 제공한다.단계(S340)는 제 3 선택부(160)에 의해 수행되는 바, 그곳에 입력된 원래의 화소 데이터 열의 크기와 화소값 차이 부호화부(150)로부터 받은 '화소값 차이 부호화 데이터 열'의 데이터 크기를 비교하여, Y3 < TH3이면 '화소값 차이 부호화 데이터 열'을 데이터 포매팅부(180)로 제공하고, 그렇지 않으면 '손실 압축 부호화 명령'을 손실 압축 부호화 채널(140)로 제공한다.Step S300 is performed by the first selector 110, and compares the size of the original pixel data string input therein with the data size of the basic encoded data string received from the basic encoder 106, and Y1 <TH1. The basic encoded data is provided to the queue buffer index encoder 120, and otherwise, a 'lossy compression encoding command' is provided to the lossy compression encoding channel 140. Step S320 is performed by the second selector 130, and compares the size of the original pixel data string input thereto with the data size of the queue buffer index encoded data string received from the queue buffer index encoding 120, and Y2. If <TH2, the queue buffer index coded data stream is provided to the pixel value difference encoder 150, otherwise, a 'lossy compression coded command' is provided to the lossy compression coded channel 140. The unit 160 performs a comparison between the size of the original pixel data string input therein and the data size of the 'pixel difference coded data string' received from the pixel value difference encoding unit 150, and if Y3 <TH3, The pixel value difference coded data stream 'is provided to the data formatting unit 180, and otherwise, a' lossy compression coding command 'is provided to the lossy compression coding channel 140.

단계(S360)는 손실 압축 부호화 채널(140)에 의해 그곳에 입력되는 제 1 선택부(110), 제 2 비교부(120), 제 3 선택부(160)로부터의 '손실 압축 부호화 명령'에 응답하여 J개의 원래 화소 데이터 열에 대해 손실 압축 부호화를 수행하여 '손실 압축 부호화 데이터 열'을 생성하여 데이터 포매팅부(180)로 제공함으로써 수행된다. 손실 압축 부호화 채널(140)은 J개의 원래 화소 데이터 열을 블록 단위로 모아 DCT 부호화 하여 DCT 부호화 데이터를 생성하는 DCT부와, DCT 부호화된 데이터에 대해 양자화를 수행하여 양자화된 데이터를 생성하는 양자화부, 양자화된 데이터에 대해 허프만 부호화를 수행하는 허프만 부호화부를 구비할 수 있다.Step S360 responds to the 'lossy compression coding command' from the first selector 110, the second comparator 120, and the third selector 160 inputted therein by the lossy compression encoding channel 140. By performing lossy compression coding on the J original pixel data streams, a 'lossy compressed coded data stream' is generated and provided to the data formatting unit 180. The lossy compression coding channel 140 includes a DCT unit for generating DCT coded data by performing DCT encoding by collecting J original pixel data streams in block units, and a quantization unit for generating quantized data by performing quantization on the DCT coded data. The Huffman encoder may perform Huffman encoding on the quantized data.

데이터 포매팅부(180)에 의해 수행되는 단계(S370)에서는 하나의 이미지 화면 전체에 대해 J개의 화소 단위로 모두 부호화한 결과 얻어진 손실 압축 부호화 데이터 열과 무손실 압축 부호화 데이터 열(즉, 기본 부호화 데이터 열, 큐 버퍼 인덱스 부호화 데이터 열, 화소값 차이 부호화 데이터 열)을 결합하여 하나의 이미지 전체에 대한 부호화 데이터 열로서의 '부호화된 이미지 데이터'를 생성하며, 이로써 과정은 종료된다.In operation S370 performed by the data formatting unit 180, a lossy compressed coded data stream and a lossless compressed coded data stream obtained as a result of encoding all of the entire image screens in units of J pixels, that is, the basic encoded data stream, The queue buffer index encoded data string and the pixel value difference encoded data string) are combined to generate 'coded image data' as encoded data strings for an entire image, thereby ending the process.

여기서, 본발명의 바람직한 일실시예에 따르면, '손실 압축 부호화 데이터열'을 '손실 압축 부호화된 화소값들을 순서대로 (별도로) 모은 부분'(예들 들면, 도 4의 데이터 열(470)에서 'WW...WW'로 표시된 부분)과 '손실 압축 부호화에 대한 데이터 정보(를 부호화한 값)'(예들 들면, 도 4의 데이터 열(470)에서 'S32, S16, S64'등으로 표시된 부분)로 구분하여, 이 데이터 정보를 무손실 압축 부호화 데이터 열의 해당 위치에 삽입한 것을 실제 무손실 압축 부호화 데이터 열로서 구성할 수도 있음에 유의할 필요가 있다. 즉, 무손실 압축 부호화 데이터 열은 이와 같은 넓은 의미로서 이해되어야 한다.Here, according to an exemplary embodiment of the present invention, the portion of 'lossy compressed coded data values' (sequentially) collected in order (separately)' (for example, in the data stream 470 of FIG. 'WW ... WW') and 'data information for the lossy compression encoding (coded value)' (for example, a portion indicated as 'S32, S16, S64', etc. in the data string 470 of FIG. Note that it is also possible to configure this data information inserted at the corresponding position of the lossless compressed coded data string as an actual lossless compressed coded data string. In other words, the lossless compressed coded data stream should be understood as such a broad meaning.

한편, 본 발명의 바람직한 일실시예에 따르면, 데이터 포매팅 직전에 '무손실 압축 부호화 데이터 열'에 대하여 'LZW 부호화'를 수행한 다음, 단계(S470)에서 LZW 부호화된 데이터 열과 손실 압축 부호화 데이터 열을 결합하여 부호화된 이미지 데이터를 생성할 수도 있음에 주목할 필요가 있다(이하에서 도 4의 부호화된 이미지 데이터(480)의 생성 예에서 자세히 설명).Meanwhile, according to an exemplary embodiment of the present invention, the LZW encoding is performed on the 'lossless compressed coded data stream' immediately before data formatting, and then, in step S470, the LZW-coded data stream and the lossy compressed coded data stream are performed. It should be noted that the encoded image data may be generated in combination (described in detail in the example of generating the encoded image data 480 of FIG. 4 hereinafter).

또한, 실시예에 따라서는 사용자의 메뉴 선택 또는 시스템 설정에 의해 제 1 선택부(110), 제 2 비교부(120), 제 3 선택부(160)에서의 해당 압축률을 해당 기준치와 비교하는 작업을 생략하고, 기본 부호화부(106), 큐 버퍼 인덱스 부호화부(120), 화소값 차이 부호화부(150)가 '기본 부호화 데이터 열', '큐 버퍼 인덱스 부호화 데이터 열', '화소값 차이 부호화 데이터 열'을 각각 '무손실 압축 부호화 데이터 열'로서 라인(L17)을 통해 직접 데이터 포매팅부(180)에 제공하도록 할 수도 있음에 유의할 필요가 있다.In addition, according to the embodiment, the operation of comparing the corresponding compression rate in the first selection unit 110, the second comparison unit 120, and the third selection unit 160 by the user's menu selection or system setting. The basic encoding unit 106, the queue buffer index encoding unit 120, and the pixel value difference encoding unit 150 encode the basic encoding data sequence, the queue buffer index encoding data sequence, and the pixel value difference encoding. It should be noted that the data streams' may be provided to the data formatting unit 180 directly through the line L17 as' lossless compressed coded data streams', respectively.

도 4에는 단계(S370)에서의 데이터 포매팅을 거쳐 생성된 이미지 전체에 대한 부호화된 이미지 데이터 열로서 '470'과 '480'이 예시되어 있다. 부호화된 이미지 데이터 열(470)은 LZW가 적용되지 않은 경우의 예로서, U1, U2, U3, U5000은 각각 화소값 차이 부호화 데이터 열이며, S32, S16, S64는 손실 압축 부호화 과정으로 처리한 화소를 나타내는 손실 압축 부호화 데이터 정보(를 부호화한 값)이다. 즉, S16은 16개의 화소를 손실 압축 부호화했음을 나타낸다. 또, 데이터 열(470, 480)에서 'WW..WW'로 표시된 부분은 손실 압축 부호화한 화소값들을 순서대로 모은 부분을 나타낸다.In FIG. 4, '470' and '480' are illustrated as encoded image data strings for the entire image generated through data formatting in operation S370. The coded image data stream 470 is an example in which LZW is not applied, and U1, U2, U3, and U5000 are pixel value difference encoded data streams, and S32, S16, and S64 are pixels processed by a lossy compression encoding process. Loss-compressed coded data information (coded value). That is, S16 indicates that 16 pixels have been loss compression coded. In the data strings 470 and 480, the portion labeled 'WW..WW' indicates a portion in which lossy compression coded pixel values are sequentially collected.

한편, 부호화된 이미지 데이터 열(480)에서 'ZZZZ'로 표시된 부분은 상기 데이터 열(470)에서 무손실 압축 부호화 데이터 열(U1, S32, U2, . . .U5000로 표시된 부분)에 LZW 부호화를 적용하여 얻은 LZW 부호화 데이터 열을 나타낸다.Meanwhile, the portion denoted as 'ZZZZ' in the encoded image data string 480 applies LZW encoding to the lossless compressed encoded data string (U1, S32, U2,... U5000) in the data string 470. Shows the LZW coded data string obtained.

참고로, 복호화부(도시되지 않음)에서는 손실 압축 부호화된 데이터 열의 복호화 데이터가 무손실 압축 부호화된 데이터 열의 복호화 과정에서 사용되어져야 하므로 먼저 손실 압축 부호화 데이터 열을 복호화 하여 버퍼에 잠시 저장한 다음, 무손실 압축 부호화 데이터 열의 복호화 과정에서 필요한 해당 화소값을 손실 압축 복호화 버퍼에서 가져오는 방법으로 처리함으로써 복호화의 효율 향상을 기할 수 있다.For reference, in the decoder (not shown), since the decoded data of the lossy compression coded data string should be used in the decoding process of the lossless compression coded data string, the decoder first decodes the lossy compressed coded data string and stores it in the buffer for a while. The efficiency of decoding can be improved by processing the pixel value required in the decoding process of the compressed coded data stream by using a method of obtaining from the lossy compression decoding buffer.

이상에서 설명한 본 발명의 실시예에 따른 실험 결과를 하나 예로 들면, 특정 인터넷 사이트에 접속하여 얻은 인공영상과 자연영상이 혼재 되어 있는 1024 x 768의 RGB 24비트 컴퓨터 화면 이미지의 비트맵 2.25 MB 크기를 종래의 256 칼라 GIF 방식으로 압축했을 경우에 데이터 크기는 156 KB였고, 종래의 방식으로서 양자화 스케일을 작게 해서 JPEG 압축부호화를 한 경우(JPEG#1)와 양자화 스케일을 크게 해서 JPEG 압축 부호화를 한 경우(JPEG#2)가 각각 232 KB와 101 KB의 데이터 크기를 보였다. 이에 비해 본 발명의 일실시예에 따라 상기 컴퓨터 화면 이미지에 대해 실시한 압축 부호화 결과, 71 KB의 데이터 크기를 얻어서 압축률이 가장 우수하였고, 복원된 화면의 화질 면에서도 JPEG#2는 물론 JPEG#1 보다 우수했고, 종래의 GIF 방식에 의한 것과 거의 차이가 없었다.As an example of the experimental results according to the embodiment of the present invention described above, a bitmap 2.25 MB size of a 1024 x 768 RGB 24-bit computer screen image in which artificial and natural images obtained by accessing a specific Internet site is mixed. In the conventional 256-color GIF method, the data size was 156 KB. In the conventional method, JPEG compression encoding was performed with a smaller quantization scale (JPEG # 1) and JPEG compression encoding with a larger quantization scale. (JPEG # 2) showed data sizes of 232 KB and 101 KB, respectively. On the other hand, as a result of compression coding on the computer screen image according to an embodiment of the present invention, the compression ratio was the best by obtaining a data size of 71 KB, and in terms of the image quality of the restored screen, JPEG # 2 as well as JPEG # 1 It was excellent and hardly different from the conventional GIF method.

상술한 본 발명의 설명에서는 특정 실시 예에 관해 설명하였으나 당업자라면 이하의 특허청구범위에 의해 정의된 본 발명의 범위에서 벗어나지 않고 다양한 변형을 가할 수 있음은 물론이다.Although specific embodiments have been described in the above description of the present invention, those skilled in the art can make various modifications without departing from the scope of the present invention as defined by the following claims.

본 발명에 따르면 인공 이미지의 본질적 특성을 이용하여 인공 이미지가 포함된 이미지를 효과적으로 압축 부호화하며, 자연 영상이나 인공 영상 어느 한쪽의 특성이 강한 경우이든 자연 영상과 인공 영상이 복잡하게 혼재된 경우이든 상관없이 이미지를 효과적으로 압축 부호화 할 수 있는 압축 부호화 방법 및 시스템이 제공된다.According to the present invention, an essential feature of an artificial image is used to effectively compress and encode an image including an artificial image, and whether the natural image or the artificial image is a complex mixture of natural or artificial images. Provided are a compression encoding method and a system capable of compressing and encoding an image effectively.

Claims (22)

이미지 압축 부호화 방법에 있어서,In the image compression coding method, 미리 정해진 스캔 순서에 따라 이미지 내의 부호화 대상 화소를 '현재 화소(P)'로 설정하는 단계와;Setting the encoding target pixel in the image as a 'current pixel P' according to a predetermined scan order; '이미지 내에서 P로부터 공간적으로 일정 거리 내에 있는 스캔 화소 중 미리 지정된 복수개의 화소'(이하 '비교 대상 화소'(T)로 표시)로 이루어진 탐색 영역을 설정하는 단계와;Setting a search area including a plurality of predetermined pixels among scan pixels within a predetermined distance from P in the image (hereinafter referred to as 'comparison target pixels' T)); 각각의 T의 화소값(T1)이 P의 화소값(P1)과 동일하면 해당 T의 위치 인덱스(D)에 대응되는 반복 카운트값(C)의 증가분(△C)을 '1'로 하고 그렇지 않은 경우 △C를 '0'으로 하여 모든 T에 대한 △C 데이터를 확보하는 단계와;If the pixel value T1 of each T is equal to the pixel value P1 of P, the increment ΔC of the repeat count value C corresponding to the position index D of the corresponding T is set to '1'. Otherwise, setting ΔC to '0' to secure ΔC data for all T's; 각각의 T의 '직전 화소까지의 C값'(CO)에 해당 △C를 더하여 'P까지의 C값'(이하 'CC'로 표시)을 계산하여 CC 중 최대값'(이하 'MC'로 약칭)을 구하는 단계와;Calculate 'C value up to P' (hereinafter referred to as 'CC') by adding △ C to the 'C value up to the previous pixel' (CO) of each T, Abbreviated); MC가 'CO중의 최대값'(이하 'MO'로 약칭)보다 큰 경우 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하는 단계와;Generating and storing a current pixel search result table by setting CC to a value corresponding to CO of each T plus CC when the MC is greater than a 'maximum value in CO' (hereinafter abbreviated as 'MO'); MC가 MO보다 작거나 같은 경우, MO와 해당 T의 '탐색 영역 내 위치 인덱스값'(D1)을 부호화하여 제공하고 CO를 모두 '0'으로 초기화 하는 단계와;If MC is less than or equal to MO, encoding and providing a 'position index value in search area' D1 of the MO and the corresponding T, and initializing all COs to '0'; 상기 초기화 단계를 수행한 다음에, △C가 1이상인 T가 존재하지 않으면 P1을 부호화 하여 'P1의 부호화 값'(X1)을 생성하여 제공하고 각각의 T의 CO에 해당△C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하고, △C가 1이상인 T가 존재하면 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 저장하는 단계를 포함하는After performing the initialization step, if T with ΔC equal to or greater than 1 does not exist, P1 is encoded to provide 'coded value of P1' (X1), and the corresponding ΔC is added to the CO of each T. To generate and store the current pixel search result table, and to generate a current pixel search result table by setting CC to add ΔC to CO of each T if T having ΔC equal to or greater than 1 exists. Containing 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서, J개의 원래 화소 열에 대해 상기 모든 단계를 수행하여 'J개의 기본 부호화 데이터 열'을 생성하되, J는 미리 정해진 8의 배수인The method of claim 1, wherein all the steps are performed on the J original pixel columns to generate 'J basic coded data columns', wherein J is a predetermined multiple of 8. 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서,The method of claim 1, 상기 탐색 영역에 이전에 부호화된 이미지 아니면 미리 지정된 참조 이미지 내의 특정 위치의 화소가 더 구비되는The search region further includes a pixel at a specific position in a previously encoded image or a predetermined reference image. 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서,The method of claim 1, 상기 일정 거리는 4화소 거리이고, 상기 미리 정해진 스캔 순서가 왼쪽 칸 우선 및 윗줄 우선 원칙을 따를 경우, 상기 탐색 영역에는 P의 왼쪽 화소, P의 윗줄 화소, P의 윗줄의 왼쪽 화소, P의 윗줄의 오른쪽 화소, P의 윗줄의 윗줄 화소, P의 왼쪽의 왼쪽 화소가 상기 비교 대상 화소로서 구비되는The predetermined distance is a 4-pixel distance, and if the predetermined scan order follows the left column first and upper row first principles, the search area includes a left pixel of P, an upper pixel of P, a left pixel of P, and an upper row of P. The right pixel, the upper row pixel of the upper row of P, and the left pixel of the left of P are provided as the comparison target pixel. 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서,The method of claim 1, 상기 일정 거리는 4화소 거리이고, 상기 미리 정해진 스캔 순서가 왼쪽 칸 우선 및 윗줄 우선 원칙을 따를 경우, 상기 탐색 영역에는 P의 직전 스캔 화소, P의 윗줄 화소, P의 윗줄의 왼쪽 화소, P의 윗줄의 오른쪽 화소, P의 윗줄의 윗줄 화소, P의 직직전 스캔 화소가 상기 비교 대상 화소로서 구비되는The predetermined distance is a 4-pixel distance, and if the predetermined scan order follows the left column first and upper row first principles, the search area includes a scan pixel immediately before P, an upper pixel of P, a left pixel of P, and an upper row of P. The right pixel of, the top row pixel of the upper row of P, and the immediately preceding scan pixel of P are provided as the comparison target pixel. 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서,The method of claim 1, 상기 탐색 영역의 비교 대상 화소가 실제로 존재하지 않는 화소이거나 또는 아직 스캔을 완료하지 않은 화소인 경우에 대해서는 '비교 불능'으로 판정하여, 해당△C를 '0'으로 설정하는When the pixel to be compared in the search area is a pixel that does not actually exist or a pixel that has not yet completed scanning, it is determined as 'comparable', and the corresponding ΔC is set to '0'. 이미지 압축 부호화 방법.Image compression coding method. 제 2항에 있어서,The method of claim 2, J는 8, 16, 32, 64 중 어느 하나인J is any one of 8, 16, 32, 64 이미지 압축 부호화 방법.Image compression coding method. 제 1항에 있어서,The method of claim 1, 상기 미리 정해진 스캔 순서가 '래스터(raster) 스캔 순서'와 '왼쪽 화소폭우선 스캔 순서'와 '블록 단위 래스터 스캔 순서' 중 어느 하나인The predetermined scan order may be any one of a raster scan order, a left pixel width priority scan order, and a block-by-block raster scan order. 이미지 압축 부호화 방법.Image compression coding method. 제 2항에 있어서,The method of claim 2, 상기 'J개의 원래 화소 데이터 열'의 데이터 크기(이하 'A'로 표시)와 상기 '기본 부호화 데이터 열'의 데이터 크기(이하 'B1'로 표시)를 비교하여, Y1(=(B1/A))이 미리 정해진 제 1 기준값(TH1)보다 크면 '상기 J개의 원래 화소 데이터 열'들을 모아 미리 정해진 크기의 블록 단위로 손실 압축 부호화를 수행하여 '손실 압축 부호화 데이터 열'을 생성하고, 그렇지 않으면 상기 기본 부호화 데이터 열에 대해 큐(Queue) 버퍼 인덱스 부호화를 수행하여 '큐 버퍼 인덱스 부호화 데이터 열'을 생성하는 단계를 더 포함하되, TH1은 0과 1사이의 값인By comparing the data size of the 'J original pixel data columns' (hereinafter referred to as 'A') and the data size of the 'basic encoded data column' (hereinafter referred to as 'B1'), Y1 (= (B1 / A )) Is larger than the first predetermined reference value TH1, 'J' original pixel data strings are collected, and lossy compression encoding is performed in units of blocks having a predetermined size to generate a 'lossy compressed encoded data string'. Generating a queue buffer index encoded data string by performing queue buffer index encoding on the basic encoded data string, wherein TH1 is a value between 0 and 1 이미지 압축 부호화 방법.Image compression coding method. 제 9항에 있어서,The method of claim 9, 상기 '큐 버퍼 인덱스 부호화 데이터 열'의 데이터 크기(이하 'B2'로 표시)와 A를 비교하여, Y2(=(B2/A))가 미리 정해진 제 2 기준값(TH2)보다 크면 '상기 J개의 원래 화소 데이터 열' 들을 모아 상기 미리 정해진 크기의 블록 단위로 손실 압축 부호화를 수행하여 '손실 압축 부호화 데이터 열'을 생성하고, 그렇지 않으면 상기 큐 버퍼 인덱스 부호화 데이터 열에 대해 '화소값 차이 부호화를 수행하여 '화소값 차이 부호화 데이터 열'을 생성하는 단계를 더 포함하되, TH2는 TH1보다 작은 0과 1사이의 값인Comparing the data size of the 'cue buffer index encoded data stream' (hereinafter referred to as 'B2') and A, if Y2 (= (B2 / A)) is larger than the second predetermined reference value TH2, the 'J' Collect the original pixel data streams' and perform lossy compression encoding on a block basis of the predetermined size to generate a 'lossy compressed data stream', or otherwise perform 'pixel-value difference encoding' on the queue buffer index encoded data stream. Generating a 'pixel value difference encoded data stream', wherein TH2 is a value between 0 and 1 less than TH1; 이미지 압축 부호화 방법.Image compression coding method. 제 10항에 있어서,The method of claim 10, 상기 '화소값 차이 부호화 데이터 열'의 데이터 크기(이하 'B3'로 표시)와 A를 비교하여, Y3(=(B3/A))이 미리 정해진 제 3 기준값(TH3)보다 크면 '상기 J개의 원래 화소 데이터 열' 들을 모아 상기 미리 정해진 크기의 블록 단위로 손실 압축 부호화를 수행하여 '손실 압축 부호화 데이터 열'을 생성하고, 그렇지 않으면 상기 화소값 차이 부호화 데이터 열을 제공하는 단계를 더 포함하되, TH3는 TH2보다 작은 0과 1사이의 값인Comparing the data size of the 'pixel value difference coded data stream' (hereinafter referred to as 'B3') and A, if Y3 (= (B3 / A)) is larger than the third predetermined reference value TH3, the 'J' Collecting the original pixel data streams' and performing lossy compression encoding on a block basis of the predetermined size to generate a 'lossy compressed data stream'; otherwise, providing the pixel value difference encoded data streams, TH3 is a value between 0 and 1 less than TH2 이미지 압축 부호화 방법.Image compression coding method. 제 9항에 있어서, 상기 블록 단위의 손실 압축 부호화가 DCT와 양자화와 허프만 부호화 기법을 순차적으로 이용하여 수행되는10. The method of claim 9, wherein the lossy compression coding on a block basis is performed by sequentially using DCT, quantization, and Huffman coding techniques. 이미지 압축 부호화 방법Image compression coding method 제 11항에 있어서,The method of claim 11, 상기 화소값 차이 부호화 데이터 열에 대해 LZW 부호화를 적용하여 LZW 부호화 데이터 열을 생성하는 단계와;Generating LZW encoded data strings by applying LZW encoding to the pixel value difference encoded data strings; 상기 LZW 부호화 데이터 열과 상기 손실 압축 부호화 데이터 열을 결합하여상기 이미지 전체에 대한 부호화 데이터 열을 '부호화된 이미지 데이터'로서 생성하는 데이터 포매팅 단계를 더 포함하는And a data formatting step of combining the LZW coded data stream and the lossy compressed coded data stream to generate a coded data stream for the entire image as 'coded image data'. 이미지 압축 부호화 방법.Image compression coding method. 제 11항에 있어서, 상기 TH1은 0.3과 0.5 사이의 값, TH2는 0.2와 0.4 사이의 값, TH3은 0.2이하의 값인12. The method of claim 11, wherein TH1 is a value between 0.3 and 0.5, TH2 is a value between 0.2 and 0.4, and TH3 is a value of 0.2 or less. 이미지 압축 부호화 방법.Image compression coding method. 이미지 압축 부호화 시스템에 있어서,In the image compression coding system, 미리 정해진 스캔 순서에 따라 이미지 내의 부호화 대상 화소를 '현재 화소(P)'로 설정하고, '이미지 내에서 P로부터 공간적으로 일정 거리 내에 있는 스캔 화소 중 미리 지정된 복수개의 화소'(이하 '비교 대상 화소'(T)로 표시)로 이루어진 탐색 영역을 설정하고, 각각의 T의 화소값(T1)이 P의 화소값(P1)과 동일하면 해당 T의 위치 인덱스(D)에 대응되는 반복 카운트값(C)의 증가분(△C)을 '1'로 하고 그렇지 않은 경우 △C를 '0'으로 하여 모든 T에 대한 △C 데이터를 확보하는 동일 칼라 화소 탐색부와;A pixel to be encoded in an image is set to a 'current pixel P' according to a predetermined scan order, and 'a plurality of predetermined pixels among scan pixels within a predetermined distance from P in the image' (hereinafter, 'compare target pixel'). A search area consisting of &quot; (T) &quot;, and if the pixel value T1 of each T is equal to the pixel value P1 of P, the repeat count value corresponding to the position index D of the corresponding T A same-color pixel search unit for securing [Delta] C data for all Ts with an increment [Delta] C of C) being '1' and otherwise [Delta] C being '0'; 각각의 T의 '직전 화소까지의 C값'(CO)에 해당 △C를 더하여 'P까지의 C값'(이하 'CC'로 표시)을 계산하여 CC 중 최대값'(이하 'MC'로 약칭)을 구한 다음 MC가 'CO중의 최대값'(이하 'MO'로 약칭)보다 큰 경우 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하고, MC가 MO보다 작거나 같은 경우에는 MO와 해당 T의 '탐색 영역 내 위치 인덱스값'(D1)을 제공하고 CO를 모두 '0'으로 초기화 하며, 상기 초기화 수행 이후에 △C가 1이상인 T가 존재하지 않으면 P1을 제공하고 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하며, △C가 1이상인 T가 존재하면 각각의 T의 CO에 해당 △C를 더한 것을 CC로 설정하여 현재 화소 탐색 결과 테이블을 생성하여 제공하는 제어부와;Calculate 'C value up to P' (hereinafter referred to as 'CC') by adding △ C to the 'C value up to the previous pixel' (CO) of each T, If MC is greater than 'Maximum value in CO' (hereinafter, abbreviated as 'MO'), the current pixel search result table is generated and provided by setting the CC of each T plus △ C to CC. If MC is less than or equal to MO, it provides 'location index value in search area' (D1) of MO and corresponding T, and initializes all COs to '0', and T with ΔC greater than or equal to 1 after performing the initialization. If is not present, P1 is provided, and ΔC is added to CO of each T, and the current pixel search result table is generated by providing CC. If T with ΔC equal to or greater than 1 exists, the CO of each T is present. A controller configured to generate the current pixel search result table by setting the CC plus the corresponding? C; 상기 현재 화소 탐색 결과 테이블을 저장하는 화소 탐색 결과 테이블 저장부와;A pixel search result table storage unit for storing the current pixel search result table; 상기 'MO와 D1'을 부호화한 값을 '기본 부호화 데이터'로서 생성하여 제공하거나 또는 상기 'P1을 부호화한 값'을 기본 부호화 데이터로서 생성하여 제공하는 기본 부호화부를 포함하는And a basic encoder configured to generate and provide a value obtained by encoding the 'MO and D1' as 'basic encoded data' or to generate and provide the 'encoded value of P1' as basic encoded data. 이미지 압축 부호화 시스템.Image Compression Coding System. 제 15항에 있어서, 상기 기본 부호화부가 'J개의 현재 화소'(이하 'J개의 원래 화소 데이터 열'로 표시)에 대해 기본 부호화를 수행하여 '기본 부호화 데이터 열'을 제공하되, J는 8, 16, 32, 64 중 어느 하나인The method of claim 15, wherein the basic encoder performs basic encoding on 'J current pixels' (hereinafter, referred to as 'J original pixel data columns') to provide a 'basic encoded data stream', wherein J is 8, Any one of 16, 32, 64 이미지 압축 부호화 시스템.Image Compression Coding System. 제 15항에 있어서,The method of claim 15, 상기 미리 정해진 스캔 순서가 '래스터(raster) 스캔 순서'와 '왼쪽 화소폭우선 스캔 순서'와 '블록 단위 래스터 스캔 순서' 중 어느 하나인The predetermined scan order may be any one of a raster scan order, a left pixel width priority scan order, and a block-by-block raster scan order. 이미지 압축 부호화 방법.Image compression coding method. 제 16항에 있어서,The method of claim 16, 상기 'J개의 원래 화소 데이터 열'의 데이터 크기(이하 'A'로 표시)와 상기 '기본 부호화 데이터 열'의 데이터 크기(이하 'B1'로 표시)를 비교하여, Y1(=(B1/A))이 미리 정해진 제 1 기준값(TH1)(0과 1사이의 값임)보다 작으면 상기 기본 부호화 데이터 열을 제공하고 Y1이 TH1보다 같거나 크면 '손실 압축 부호화 명령'을 제공하는 제 1 선택부와;By comparing the data size of the 'J original pixel data columns' (hereinafter referred to as 'A') and the data size of the 'basic encoded data column' (hereinafter referred to as 'B1'), Y1 (= (B1 / A A first selector which provides the basic encoded data string if ()) is less than a first predetermined reference value TH1 (which is a value between 0 and 1) and provides a 'lossy compression encoding command' if Y1 is equal to or greater than TH1. Wow; 상기 기본 부호화 데이터 열에 대해 '큐(Queue) 버퍼 인덱스 부호화'를 수행하여 '큐 버퍼 인덱스 부호화 데이터 열'을 생성하는 '큐 버퍼 인덱스 부호화부'를 더 포함하는The apparatus further includes a queue buffer index encoder for generating a queue buffer index encoded data sequence by performing queue buffer index encoding on the basic encoded data sequence. 이미지 압축 부호화 시스템.Image Compression Coding System. 제 18항에 있어서,The method of claim 18, 상기 '큐 버퍼 인덱스 부호화 데이터 열'의 데이터 크기(이하 'B2'로 표시)와 A를 비교하여, Y2(=(B2/A))가 미리 정해진 제 2 기준값(TH2)(0과 1사이의 값으로서 TH1보다 작은 값임)보다 작으면 상기 큐 버퍼 인덱스 부호화 데이터 열을 제공하고, Y2가 TH2보다 같거나 크면 '손실 압축 부호화 명령'을 제공하는 제 2 선택부와;By comparing the data size of the 'cue buffer index coded data stream' (hereinafter referred to as 'B2') and A, Y2 (= (B2 / A)) is a predetermined second reference value TH2 (between 0 and 1). A second selector for providing the queue buffer index coded data string if smaller than TH1, and for providing a 'lossy compression coding command' if Y2 is equal to or larger than TH2; 상기 '큐 버퍼 인덱스 부호화 데이터 열'에 대해 '화소값 차이 부호화'를 수행하여 '화소값 차이 부호화 데이터 열'을 생성하는 화소값 차이 부호화부와;A pixel value difference encoder for generating a pixel value difference encoded data string by performing pixel value difference encoding on the queue buffer index encoded data string; 상기 '화소값 차이 부호화 데이터 열'의 데이터 크기(이하 'B3'로 표시)와 A를 비교하여, Y3(=(B3/A))이 미리 정해진 제 3 기준값(TH3)(0과 1사이의 값으로서 TH2보다 작은 값임)보다 작으면 상기 화소값 차이 부호화 데이터 열을 제공하고, Y3가 TH3 보다 같거나 크면 '손실 압축 부호화 명령'을 제공하는 제 3 선택부와;By comparing the data size of the 'pixel value difference coded data stream' (hereinafter referred to as 'B3') and A, Y3 (= (B3 / A)) is a predetermined third reference value TH3 (between 0 and 1). A third selector for providing the pixel value difference encoded data string if smaller than TH2, and for providing a 'lossy compression encoded instruction' if Y3 is equal to or larger than TH3; 상기 손실 압축 부호화 명령에 응답하여 상기 J개의 원래 화소 데이터 열에 대해 손실 압축 부호화를 수행하여 손실 압축 부호화 데이터 열을 생성하는 손실 압축 부호화 채널을 더 포함하는The apparatus may further include a lossy compression encoding channel configured to perform lossy compression encoding on the J original pixel data sequences in response to the lossy compression encoding command to generate a lossy compression encoded data sequence. 이미지 압축 부호화 시스템.Image Compression Coding System. 제 19항에 있어서, 상기 손실 압축 부호화 채널이20. The method of claim 19, wherein the lossy compression coding channel is 상기 J개의 원래 화소 데이터 열을 블록별로 DCT 부호화하여 DCT 부호화 데이터를 생성하는 DCT부와;A DCT unit configured to generate DCT coded data by performing DCT coding on the J original pixel data streams for each block; 상기 DCT 부호화 데이터에 대해 양자화를 수행하여 양자화된 데이터를 생성하는 양자화부와;A quantization unit configured to generate quantized data by performing quantization on the DCT coded data; 상기 양자화된 데이터에 대해 허프만 부호화를 수행하여 상기 손실 압축 부호화 데이터 열을 생성하는 허프만 부호화부를 구비하는A Huffman encoder configured to perform Huffman encoding on the quantized data to generate the lossy compressed encoded data stream. 이미지 압축 부호화 시스템.Image Compression Coding System. 제 19항에 있어서,The method of claim 19, 상기 이미지 전체에 대해 생성된 '무손실 압축 부호화 데이터 열'과 상기 이미지 전체에 대해 생성된 손실 압축 부호화 데이터 열을 결합하여 부호화된 이미지 데이터를 생성하는 데이터 포매팅부를 더 포함하는And a data formatting unit for generating the encoded image data by combining the lossless compressed coded data string generated for the entire image and the lossy compressed coded data string generated for the entire image. 이미지 압축 부호화 시스템.Image Compression Coding System. 제 19항에 있어서,The method of claim 19, 상기 이미지 전체에 대해 생성된 '무손실 압축 부호화 데이터 열'에 LZW 부호화를 수행하여 상기 이미지 전체에 대한 LZW 부호화 데이터 열을 생성하여 상기 이미지 전체에 대해 생성된 손실 압축 부호화 데이터 열과 결합하여 상기 부호화된 이미지 데이터를 생성하는 데이터 포매팅부를 더 포함하는LZW encoding is performed on the 'lossless compressed coded data streams' generated for the entire image to generate LZW encoded data streams for the entire image and combined with the lossy compressed coded data streams generated for the entire image to encode the encoded images. Further comprising a data formatting unit for generating data 이미지 압축 부호화 시스템.Image Compression Coding System.
KR10-2002-0079927A 2002-12-14 2002-12-14 Image compression encoding method and system KR100495001B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079927A KR100495001B1 (en) 2002-12-14 2002-12-14 Image compression encoding method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079927A KR100495001B1 (en) 2002-12-14 2002-12-14 Image compression encoding method and system

Publications (2)

Publication Number Publication Date
KR20040052176A true KR20040052176A (en) 2004-06-19
KR100495001B1 KR100495001B1 (en) 2005-06-14

Family

ID=37345928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0079927A KR100495001B1 (en) 2002-12-14 2002-12-14 Image compression encoding method and system

Country Status (1)

Country Link
KR (1) KR100495001B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467513A (en) * 2010-11-03 2012-05-23 腾讯科技(深圳)有限公司 Image searching method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128406A (en) * 1997-04-30 2000-10-03 Fujitsu Microelectronics, Inc. Method of compressing and decompressing graphics images
JP2000196859A (en) * 1998-12-25 2000-07-14 Kyocera Corp Image processing method
JP2001186356A (en) * 1999-12-27 2001-07-06 Canon Inc Picture compression device, picture compresion method and computer readable storage medium
JP2002252770A (en) * 2001-02-22 2002-09-06 Matsushita Graphic Communication Systems Inc Classification method for image information, image coding method, and image coder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467513A (en) * 2010-11-03 2012-05-23 腾讯科技(深圳)有限公司 Image searching method and system

Also Published As

Publication number Publication date
KR100495001B1 (en) 2005-06-14

Similar Documents

Publication Publication Date Title
Sneyers et al. FLIF: Free lossless image format based on MANIAC compression
RU2355127C2 (en) Lossless predictive encoding for images and video
US7415154B2 (en) Compression of palettized color images with variable length color codes
KR101461209B1 (en) Method and apparatus for image compression storing encoding parameters in 2d matrices
KR102579286B1 (en) Method, apparatus and system for encoding and decoding converted blocks of video samples
US20160234498A1 (en) Methods and systems for palette table coding
KR101266577B1 (en) The method and apparatus of processing an image
US6985630B2 (en) Image processing apparatus and method, program and storage medium
US5875039A (en) Image processing method and apparatus
JPH11161782A (en) Method and device for encoding color picture, and method and device for decoding color picture
JP2016226001A (en) Decoder and decoding method
TWI813922B (en) Method of decoding an image from a video bitstream and encoding an image into a video bitstream, and decoding apparatus and endoding apparatus, and non-transitory storage medium thereof
JPH11127355A (en) Device and method for encoding image and recording medium recording image encoding program
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
CN101653004A (en) Decoder for selectively decoding predetermined data units from a coded bit stream
JPS6096079A (en) Encoding method of multivalue picture
US7016548B2 (en) Mobile image transmission and reception for compressing and decompressing without transmitting coding and quantization tables and compatibility with JPEG
JP3462867B2 (en) Image compression method and apparatus, image compression program, and image processing apparatus
KR100717002B1 (en) Apparatus for encoding and decoding image, and method thereof, and a recording medium storing program to implement the method
JPH11308465A (en) Encoding method for color image, encoder therefor, decoding method for color image and decoder therefor
KR100495001B1 (en) Image compression encoding method and system
US20030156651A1 (en) Method for reducing code artifacts in block coded video signals
JPH0937262A (en) Image processing unit and method
JP2008042681A (en) Image processing method and processor, computer program and computer readable storage medium
JPH0621828A (en) Vector quantizing 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
LAPS Lapse due to unpaid annual fee