KR100467620B1 - 이진 영상 압축 및/또는 복원 방법 및 장치 - Google Patents

이진 영상 압축 및/또는 복원 방법 및 장치 Download PDF

Info

Publication number
KR100467620B1
KR100467620B1 KR10-2002-0082381A KR20020082381A KR100467620B1 KR 100467620 B1 KR100467620 B1 KR 100467620B1 KR 20020082381 A KR20020082381 A KR 20020082381A KR 100467620 B1 KR100467620 B1 KR 100467620B1
Authority
KR
South Korea
Prior art keywords
record
image
dictionary
binary image
black
Prior art date
Application number
KR10-2002-0082381A
Other languages
English (en)
Other versions
KR20040056405A (ko
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-0082381A priority Critical patent/KR100467620B1/ko
Publication of KR20040056405A publication Critical patent/KR20040056405A/ko
Application granted granted Critical
Publication of KR100467620B1 publication Critical patent/KR100467620B1/ko

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
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은 이진영상 압축 방식에 관한 것으로 본 발명은 프린터에서 이진영상의 저장이나 데이터 전송시 메모리,전송시간절약을 위해 영상을 압축 및/또는 복원하는 방법과 그를 수행하는 장치에 관한 것이다. 본 발명은 이를 위하여 0과 1의 반복횟수를 구하여 레코드를 생성함에 있어서, 0에 대한 반복횟수 n비트와 1에 대한 반복횟수 n비트를 결합한 2n비트를 이용하여 레코드를 생성하는 이진영상압축방법을 제공한다. 이로써 본 발명은 종래기술에서 입력스트림으로부터 4바이트 혹은 8바이트를 받아 레코드로 사용하였던 방법을 개선하여 이진영상의 0과 1의 반복횟수를 구한 뒤 두 개의 반복횟수를 묶은 한 쌍으로 레코드를 구성하여 비트당 더 많은 정보를 실을 수 있게 하고, 레코드의 크기를 4바이트 보다 작게 하여 반복되는 패턴을 사전 목록에서 찾을 수 있는 확률을 높게 함으로써, 그림 글자 혼재영상이나 에러확산방법으로 얻어진 이진 영상에서 압축률을 개선할 수 있다.

Description

이진 영상 압축 및/또는 복원 방법 및 장치{Method and apparatus for compressing and/or decompressing binary images}
본 발명은 이진 영상 압축 및/또는 복원 방식에 관한 것으로, 보다 상세하게는 프린터에서 이진 영상의 저장이나 데이터 전송시 메모리, 전송 시간 절약을 위해 영상을 압축 및/또는 복원하는 방법 및 그를 수행하는 장치에 관한 것이다.
기존의 렘펠지브(Lempel-Ziv) 기반의 슬라이딩 사전을 이용한 데이터 압축/복원 기술은 다음과 같이 구성되어 있다.
그 영상 압축 부분에는 모든 레코드와 사전, 윈도우를 초기화 하는 부분, 입력스트림을 미러 회전(mirror rotation)시키는 부분, 입력스트림을 4바이트 혹은 8바이트 단위로 입력받아 레코드에 채워놓는 부분, 입력받은 레코드와 일치하는 레코드를 먼저 윈도우내에서 찾는 부분, 윈도우내에서 현재 레코드와 일치하는 레코드를 찾았을 경우 그 레코드에 해당하는 인덱스를 출력하는 부분, 윈도우에서 찾지 못할 경우 사전에서 찾는 부분, 사전에서 현재 레코드와 일치하는 레코드를 찾았을 경우 그 레코드에 해당하는 인덱스를 출력하는 부분, 사전에서도 현재 레코드와 일치하는 레코드를 찾지 못하면 사전 목록에 새롭게 등록하고 마커(marker 0xFE)를 붙여서 압축데이터로 출력하는 부분, 사전 목록의 개수가 254가 되면 사전내의 현재 위치를 0으로 바꾸는 부분, 및 종료 마커(marker 0xFF)를 출력하는 부분을 구비하고 있다.
또한, 그 영상 복원 부분에는 모든 레코드와 사전, 윈도우를 초기화 하는 부분, 입력 압축파일에서 한 바이트를 입력받아 종료 마커인지 체크하여 종료 마커이면 종료시키는 부분, 종료 마커가 아닌 경우 0xFE이면 0xFE 이후에 4바이트 혹은 8바이트를 복원 데이터로 출력해주는 부분, 및 마커(Marker 0xFE)가 아닌 경우 사전내의 목록번호이므로 사전내에서 목록번호에 해당하는 레코드를 찾아 출력해주는 부분을 구비한다.
이러한 기존의 데이터압축/복원 기술은 렘펠지브(Lempel-Ziv) 압축방법을 개선한 방법으로서, 렘펠지브 압축 방법들에서 사용한 방법들이 공통적으로 많이 사용되었다. 렘펠지브 압축 방법은 입력 스트림과 비슷한 데이터가 반복되는 형태를가질 때 압축이 일어난다. 이러한 기존의 압축기술에서는 종래의 렘펠지브방법을 확장하여 레코드의 크기를 4바이트 또는 8바이트로 정하고 사전의 크기도 고정시켜 압축, 복원 시간을 단축시키고 있다. 즉, 기존의 압축 방법에서는 현재 입력받은 4바이트 혹은 8바이트의 입력 스트림을 사전내에서 반복되는 레코드를 찾아 내어 일치하는 레코드를 찾았을 경우 목록번호만 출력하고 일치하는 레코드가 존재하지 않을 경우에는 사전에 새롭게 추가한뒤 압축데이터로 출력한다. 또한, 기존의 복원 방법에서는 압축데이터로부터 목록번호만 출력된 압축데이터는 목록번호에 해당하는 레코드를 사전에서 찾아서 복원하고 그렇지 않은 경우에는 마커뒤에 이어진 4바이트 혹은 8바이트의 압축데이터 스트림을 그대로 출력하여 복원시킨다.
상술한 바와 같이, 기존의 데이터 압축/복원 방법은 레코드를 입력 스트림에서 4바이트 혹은 8바이트를 단위로 직접 입력받게 되어 있다. 이러한 방법을 사용하여 레코드를 구성하게 되면 최대 4대1 혹은 8대1 이상 압축률을 얻기가 어렵다. 디더링(dithering)방식의 하프토닝을 거친 영상 압축의 경우에는 데이터 스트림간에 상관관계가 높음에도 불구하고 최대 압축률의 제한으로 압축률에서 이득을 보기가 어려우며, 상관관계가 비교적 낮은 에러확산(error diffusion) 방법으로 얻은 이진영상의 압축에서는 4바이트 혹은 8바이트 단위의 입력 레코드와 일치하는 레코드를 사전내에서 찾기가 대단히 어려워져서 압축률이 떨어지게된다. 또한 필요이상으로 많은 비트가 할당된 마커의 크기로 인해 불필요한 압축손실이 일어난다.
따라서, 본 발명의 목적은 상술한 종래의 단점을 해결하기 위하여, 종래기술에서 입력스트림으로부터 4바이트 혹은 8바이트를 받아 레코드로 사용하였던 방법을 개선하여 이진영상의 0과 1의 반복횟수를 구한 뒤 두 개의 반복횟수를 묶은 한 쌍으로 레코드를 구성하여 비트당 더 많은 정보를 실을 수 있게 하고, 레코드의 크기를 4바이트 보다 작게 하여 반복되는 패턴을 사전 목록에서 찾을 수 있는 확률을 높게 함으로써, 그림 글자 혼재영상이나 에러확산방법으로 얻어진 이진 영상에서 압축률을 개선할 수 있는 이진 영상 압축 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 상관관계가 높은 글자 영상에서의 압축률이 최대압축률의 제한으로 압축률에서 이득을 못보았던 점을 개선하기 위해 사전 목록에서 찾아진 목록번호에 대한 런렝쓰(run length)를 구함으로써, 입력 스트림간 높은 상관관계가 있는 영상에서도 압축률을 개선할 수 있는 이진 영상 압축 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 마커에 불필요하게 할당된 비트 수를 1비트로 줄임으로써 압축률을 높일 수 있는 이진 영상 압축 방법 및 장치를 제공하는데 있다.
본 발명의 또다른 목적은 상기 이진 영상 압축 방법 및 장치에 의해 압축된 이진 영상의 복원 방법 및 장치를 제공하는데 있다.
도 1은 본 발명의 영상 압축을 설명하기 위한 흐름도이다.
도 2는 에러확산 방법으로 얻어진 이진영상을 압축하기위한 전처리 방법을 도시한 예시도이다.
도 3은 본 발명의 레코드 생성방법을 설명하기 위한 도면이다.
도 4는 본 발명의 영상 복원을 설명하기 위한 흐름도이다.
도 5는 디더링 방법으로 얻어진 이진영상의 압축률 비교도이다.
도 6은 에러확산 방법으로 얻어진 이진영상의 압축률 비교도이다.
전술한 목적을 달성하기 위한 본 발명의 일 형태는, 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 압축하는 이진영상압축방법에 있어서, 0과 1의 반복횟수를 구하여 레코드를 생성함에 있어서, 0에 대한 반복횟수 n비트와 1에 대한 반복횟수 n비트를 결합한 2n비트를 이용하여 레코드를 생성하는단계를 포함하는 이진영상압축방법을 제공한다.
바람직하기로는 압축하고자 하는 영상이 디더링 영상인지 에러확산 영상인지 체크하는 단계, 및 에러확산 영상인 경우 전처리 하는 단계를 포함한다.
더욱 바람직하기로는 상기 전처리단계는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '1'로 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '0'으로 표현하여 새로운 입력 데이터를 얻거나, 또는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '0'으로, 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '1'로 표현하여 새로운 입력 데이터를 얻는 단계임을 특징으로 한다.
바람직하기로는 사전에서 레코드를 검색하는 단계, 일치하는 레코드를 찾지 못했을 때 현재의 레코드를 출력하고 사전에 추가하는 단계, 일치하는 레코드를 찾았을 때 일치하는 레코드의 반복횟수를 계산하여, 반복횟수가 2이상인지 체크하는 단계, 반복홧수가 2이상인 경우 사전의 레퍼런스 값과 횟수를 출력하는 단계, 및 반복횟수가 2미만일 때 사전의 레퍼런스 값을 출력하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 다른 형태에 의하면, 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 압축하는 이진영상압축장치에 있어서, 0과 1의 반복횟수를 구하여 레코드를 생성함에 있어서, 0에 대한 반복횟수 n비트와 1에 대한 반복횟수 n비트를 결합한 2n비트를 이용하여 레코드를 생성하는 압축부를 포함하는 이진영상압축장치를 제공한다.
바람직하기로는 상기 압축부는 압축하고자 하는 영상이 디더링 영상인지 에러확산 영상인지 체크하는 단계, 및 에러확산 영상인 경우 전처리 하는 것을 특징으로 한다.
더욱 바람직하기로는 상기 압축부는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '1'로 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '0'으로 표현하여 새로운 입력 데이터를 얻거나, 또는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '0'으로, 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '1'로 표현하여 새로운 입력 데이터를 얻는 단계를 수행함을 특징으로 한다.
바람직하기로는 상기 압축부는 사전에서 레코드를 검색하고, 일치하는 레코드를 찾지 못했을 때 현재의 레코드를 출력하고 사전에 추가하고, 일치하는 레코드를 찾았을 때 일치하는 레코드의 반복횟수를 계산하여, 반복횟수가 2이상인지 체크하고, 반복홧수가 2이상인 경우 사전의 레퍼런스 값과 횟수를 출력하고, 및 반복횟수가 2미만일 때 사전의 레퍼런스 값을 출력함을 특징으로 한다.
또한 본 발명의 다른 형태에 의하면, 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 복원하는 이진영상복원방법에 있어서, 수신된 이진영상의 1비트를 읽어 들여서 마커가 1인지 확인하는 단계; 마커가 0인 경우 2바이트의 레코드를 읽어들여 사전에 추가하고 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 출력하는 단계; 1인 경우 1바이트를 더 읽어들여 0xFF인지 확인하는 단계; 0xFF가 아닌 경우 사전의 레퍼런스 값에 해당하는 레코드값을 찾아내어 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 반복하여 출력하는 단계;0xFF인 경우 2바이트를 더 읽어들여서 첫번째 값을 사전의 레퍼런스 값으로 사용하여 두 번째 값을 반복횟수로 사용하여, 0xFF가 아닌 경우와 같은 방법으로 출력하는 단계; 디더링영상인지 에러확산영상인지를 확인하는 단계; 에러확산영상인 경우 흑백 변환점을 검출하는 단계; 디더링영상인 경우 압축해제된 데이터를 출력하는 단계; 및 화일의 길이가 높이*폭이 될 때까지 상술한 단계 401-412를 반복하는 단계를 구비하는 이진영상복원방법을 제공한다.
본 발명의 다른 형태에 의하면, 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 복원하는 이진영상복원장치에 있어서, 수신된 이진영상의 1비트를 읽어 들여서 마커가 1인지 확인하는 단계; 마커가 0인 경우 2바이트의 레코드를 읽어들여 사전에 추가하고 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 출력하는 단계; 1인 경우 1바이트를 더 읽어들여 0xFF인지 확인하는 단계; 0xFF가 아닌 경우 사전의 레퍼런스 값에 해당하는 레코드값을 찾아내어 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 반복하여 출력하는 단계; 0xFF인 경우 2바이트를 더 읽어들여서 첫번째 값을 사전의 레퍼런스 값으로 사용하여 두 번째 값을 반복횟수로 사용하여, 0xFF가 아닌 경우와 같은 방법으로 출력하는 단계; 디더링영상인지 에러확산영상인지를 확인하는 단계; 에러확산영상인 경우 흑백 변환점을 검출하는 단계; 디더영상인 경우 압축해제된 데이터를 출력하는 단계; 및 화일의 길이가 높이*폭이 될 때까지 상술한 단계 401-412를 반복하는 단계를 통하여 수신된 이진영상을 복원하는 복원부를 포함하는 이진영상복원장치를 제공한다.
이하 첨부된 도면들을 참조하여 본 발명의 일 형태에 의한 이진 영상 압축 및 복원 방법 및 장치의 구성 및 동작을 구현한 실시예를 상세히 설명하기로 한다.
본 발명의 이진 영상 압축 방법은 도 1에 도시한 바와 같이, 기존의 렘펠지브 기반의 데이터 압축 방법과 달리, 사전을 초기화 하는 단계(101), 입력 데이터가 비었는지 체크하여 끝내는 단계(102), 디더링 영상인지 에러확산 영상인지 체크하는 단계(103), 에러확산 영상인 경우 전처리 하는 단계(104), 0과 1의 반복횟수를 구하여 레코드를 생성하는 단계(105), 사전에서 검색하는 단계(106), 일치하는 레코드를 찾지 못했을 때(107) 현재의 레코드를 출력하고(112) 사전에 추가하는 단계(113), 일치하는 레코드를 찾았을 때(107) 일치하는 레코드의 반복횟수를 계산하는 단계(108), 반복횟수가 2이상인지 체크하는 단계(109), 반복홧수가 2이상인 경우 사전의 레퍼런스 값과 횟수를 출력하는 단계(110), 및 반복횟수가 2미만일 때 사전의 레퍼런스 값을 출력하는 단계(111)를 구비한다.
본 발명의 이진 영상 복원 방법은 도 4에 도시한 바와 같이, 사전을 초기화 하는 단계(400), 1비트를 읽어 들여서(401) 마커가 1인지 확인하는 단계(402), 마커가 0인 경우 2바이트의 레코드를 읽어들여 사전에 추가하고 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 출력하는 단계(404), 1인경우 1바이트를 더 읽어들여(403) 0xFF인지 확인하는 단계(405), 0xFF가 아닌 경우 사전의 레퍼런스 값에 해당하는 레코드값을 찾아내어 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 반복하여 출력하는 단계(407), 0xFF인 경우 2바이트를 더 읽어들여서(406) 첫번째 값을 사전의 레퍼런스 값으로 사용하여 두 번째 값을 반복횟수로 사용하여,0xFF가 아닌 경우와 같은 방법으로 출력하는 단계(408), 그 다음 디더영상인지 에러확산영상인지를 확인하는 단계(409), 에러확산영상인 경우 흑백 변환점을 검출하는 단계(410), 디더영상인 경우 압축해제된 데이터를 출력하는 단계(411), 및 화일의 길이가 높이*폭이 될 때까지 상술한 단계 401-412를 반복하는 단계(412)를 구비한다.
이하 상술한 도 1 및 도 4의 이진 영상 압축 및 복원 방법의 구성 및 동작을 보다 상세히 설명하기로 한다.
본 발명에서는 렘펠지브(Lempel-Ziv) 방법을 기반으로 하여 입력 데이터 스트림이 비슷한 데이터가 반복되는 형태를 가질 때 압축이 일어나도록 하였다.
도 1은 압축흐름도를 나타낸다. 먼저, 사전을 초기화한다(101). 본 발명에서는 사전 목록 번호를 8비트로 표현하도록 하기 위해 2부터 254까지 253개의 사전 목록 번호를 갖도록 하였다. 0, 1, 255 는 마커로 사용하기 위해 사전 목록 번호에는 포함시키지 않는다. 마커로 0과 1을 사용함으로써 비트 손실을 최소화 하였다. 단계 102에서는 현재 입력 스트림이 더 이상 존재하는지 체크하여 더 이상의 입력데이터가 존재하지 않는 경우 종료시킨다. 본 발명에서는 에러 확산 방법에 의하여 얻어진 이진 영상에 대하여 압축률을 높이기 위해 전처리를 수행한다. 단계 103에서는 현재 압축하고자 하는 이진 영상이 디더링 영상인지 에러확산 영상인지 체크하여 에러 확산 이진 영상인 경우 전처리를 한다(104). 전처리 과정방법에 대해 도 2에 도시하였다. 전처리 과정은 입력 스트림이 '0'에서 '1'로 '1'에서 '0'으로 바뀌는 지점에서는 '1'을 내보내고 이전 값과 계속 같은 값을 내보내는 경우에는 '0'을 내보내게 된다. 이러한 전처리가 필요한 이유는 에러확산 이진 영상의 경우 '010101....'과 같은 패턴이 자주 나오는데, 도 2에 나타낸 방법을 사용하여 전처리를 할 경우 모두 '11111...'로 변하게 되어 상관관계가 높은 새로운 데이터를 만들어 낼 수 있다. 단계 105에서는 '0'과 '1'의 반복횟수를 구하여 레코드를 생성한다. 글자와 그림이 혼재된 영상에서는 '0'또는 '1'이 연속적으로 길게 반복되지 않으므로 '0'과 '1'의 반복횟수에 많은 비트를 할당하면 비트 낭비가 생겨 압축률이 떨어지게 된다. 본 발명에서는 '0'과 '1'의 반복횟수를 최대 15번으로 제한하여 비트 손실을 최소화하였다. 본 발명에서는 '0'의 반복횟수 4비트와 '1'의 반복횟수 4비트를 합하여 8비트를 만드는데. 이러한 8비트 데이터 2개가 모여 1개의 레코드를 생성한다. 레코드의 크기는 2바이트로 제한하였는데, 이 또한 글자 그림 혼재 영상에서 레코드의 크기가 커지게 되면 같은 패턴을 가지는 레코드를 사전에서 찾기가 어려워지므로 2바이트로 제한하였다. 도 3에 레코드 생성 방법을 도시하였다. 106단계에서는 얻어진 레코드와 일치하는 레코드를 사전에서 찾는다. 일치하는 레코드를 찾지 못하였을 경우 단계 112에서는 마커 '0'과 2바이트의 레코드를 압축 데이터로 내보내고, 사전목록에 추가시킨다(113). 사전 목록 번호가 254에 도달하면 다시 목록 번호 2번부터 추가시킨다. 단계 107에서 일치하는 레코드를 사전에서 찾은 경우에는 단계 108에서 사전목록번호 값을 세어 사전 목록 번호에 대한 런렝쓰를 구하게 된다. 같은 사전 목록번호가 2회 이상 반복 되었는지 체크하여(109), 2회 이상인 경우 마커 '1'과 '0xFF' 그리고 반복된 사전 목록 번호와 반복횟수를 압축 데이터로 출력한다(110). 2회 이상이 아닌 경우에는 마커 '1'과 사전목록 번호만 압축 데이터로 내보내게 된다. 본 발명에서 단계 110은 앞단에서 '0'과 '1'의 반복회수와 레코드의 크기를 제한함으로써 나타날 수 있는 문제점을 보완한다. 즉, 이진 영상 데이터간 상관관계가 큰 글자 영상의 압축의 경우에는 '0'과 '1'의 반복횟수가 커질수록 압축률은 커지게 되는데 단계 110에서 그런 부분을 담당한다. 본 발명에서는 상관관계가 높은 이진 영상의 경우 최대 250 : 1의 압축률을 제공한다. 따라서 본 발명에서는 종래의 기술보다 글자영상에서도 압축률을 향상시켰고, 글자 그림 혼재 영상에서도 압축률을 향상시킬 수가 있다.
도 4는 영상 복원 흐름도이다. 먼저, 사전을 초기화하고(400), 1비트의 마커를 읽어 들인다(401). 마커가 1인지 0인지 체크하여(402), 0인 경우에는 사전에서 일치하는 레코드를 찾지 못한 경우이므로, 압축 데이터로부터 레코드를 읽어 들여 4비트씩 쪼갠다. 레코드의 크기는 2바이트이므로 각각의 4비트 값만큼 '0'과 '1'을 반복하여 복원데이터로 내보낸다. 그리고 나서 레코드를 사전에 추가시킨다(404). 단계 402에서 마커가 1인 경우에는 1바이트를 읽어 들여(403) 마커 0xFF인지 확인한다(405). 0xFF가 아닌 경우에는 사전 목록번호가 2회 미만 반복한 경우이므로 현재 1바이트 값에 해당하는 사전 목록 번호로부터 2바이트의 레코드를 얻는다. 그리고 나서 404단계와 마찬가지로 4바이트 단위로 쪼개어 '0'과 '1'을 반복하여 내보내어 복원데이터를 얻는다(407). 단계 405에서 0xFF인 경우에는 사전목록 번호가 2회이상 반복된 경우이므로 2바이트를 더 읽어 들여(406), 반복된 사전목록 값과 반복횟수를 얻는다. 반복횟수는 최대 255회 이므로 상관관계가 높은 이진 영상의 경우 최대 압축률을 향상시킨다. 408단계에서는 반복횟수만큼 목록값을 407단계와 같은 방법으로 반복하여 복원데이터를 생성하면 된다. 단계 409에서는 디더링(dithering)영상인지 에러확산 이진영상인지 체크하여 에러확산 영상인 경우 단계 410으로 진행하여 도 2에서 도시한 방법과 역으로 하여 최종 복원데이터를 출력하고, 디더영상인 경우에는 단계 411로 진행하여 도 2에서 도시한 방법과 역으로 하여 최종 복원데이터를 출력하게 된다. 그리고 단계 412에서는 복원데이터의 크기가 최종 복원데이터의 크기와 같은지 체크하여 같은 경우 영상 복원을 종료하게 된다.
상술한 바와 같은 본 발명에서는 종래의 기술보다 글자 영상과 같은 영상 데이터간 상관관계가 높은 영상 뿐만 아니라 에러확산 방법으로 얻어진 글자와 그림이 혼재하는 복잡한 영상에서도 압축률을 개선시켰다. 본 발명에서의 압축 방법에서 앞 단에서는 글자와 그림이 혼재하는 복잡한 영상의 경우에 적용하기 위해 비트 손실을 줄이고, 레코드의 크기를 줄임으로써 일치하는 패턴의 레코드를 찾기가 쉽도록 하였다, 뒷 단에서는 영상데이터간에 상관관계가 높은 영상의 경우를 위해 사전목록 번호에 대한 런렝쓰를 구함으로써 압축률을 향상시켰다. 또한 에러확산 영상의 경우에 압축 효율을 증가시키기 위해 전처리를 함으로써 상관관계가 높아져 압축률이 향상된다. 도 5에서는 디더링 방법으로 얻어진 이진 영상에 대한 압축률 비교하였고, 도 6에서는 에로확산 방법으로 얻어진 이진 영상에 대한 압축률을 비교하여 도시하였다. 본 발명에서 제안한 압축 복원 방법은 압축 시간보다 복원 시간이 몇배 더 빠르므로 프린터내에 도안이나 폰트와 같은 영상을 저장하였다가 복원할 때 사용할 수 있으며, GDI 방식의 프린터에서도 이진영상 데이터 전송용으로도 사용가능하다.
지금까지 본 발명의 실시예에 대하여 설명하였으나 본 발명은 이에 한정되는 것이 아니며, 명세서에 기재되고 청구된 원리의 진정한 정신 및 범위 안에서 수정 및 변경할 수 있는 여러 가지 실시 형태도 본 발명의 권리 보호범위에 속하는 것임을 이해하여야 할 것이다.

Claims (10)

  1. 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 압축하는 이진영상압축방법에 있어서,
    0과 1의 반복횟수를 구하여 레코드를 생성함에 있어서, 0에 대한 반복횟수 n비트와 1에 대한 반복횟수 n비트를 결합한 2n비트를 이용하여 레코드를 생성하는 단계를 포함하는 이진영상압축방법.
  2. 제1항에 있어서, 압축하고자 하는 영상이 디더링 영상인지 에러확산 영상인지 체크하는 단계, 및 에러확산 영상인 경우 전처리 하는 단계를 포함하는 이진영상압축방법.
  3. 제2항에 있어서, 상기 전처리단계는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '1'로 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '0'으로 표현하여 새로운 입력 데이터를 얻거나, 또는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '0'으로, 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '1'로 표현하여 새로운 입력 데이터를 얻는 단계임을 특징으로 하는 이진영상압축방법.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서, 사전에서 레코드를 검색하는 단계, 일치하는 레코드를 찾지 못했을 때 현재의 레코드를 출력하고 사전에 추가하는 단계, 일치하는 레코드를 찾았을 때 일치하는 레코드의 반복횟수를 계산하여, 반복횟수가 2이상인지 체크하는 단계, 반복홧수가 2이상인 경우 사전의 레퍼런스 값과 횟수를 출력하는 단계, 및 반복횟수가 2미만일 때 사전의 레퍼런스 값을 출력하는 단계를 더 포함하는 것을 특징으로 하는 이진영상압축방법.
  5. 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 압축하는 이진영상압축장치에 있어서,
    0과 1의 반복횟수를 구하여 레코드를 생성함에 있어서, 0에 대한 반복횟수 n비트와 1에 대한 반복횟수 n비트를 결합한 2n비트를 이용하여 레코드를 생성하는 압축부를 포함하는 이진영상압축장치.
  6. 제5항에 있어서, 상기 압축부는 압축하고자 하는 영상이 디더링 영상인지 에러확산 영상인지 체크하는 단계, 및 에러확산 영상인 경우 전처리 하는 것을 특징으로 하는 이진영상압축장치.
  7. 제6항에 있어서, 상기 압축부는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '1'로 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '0'으로 표현하여 새로운 입력 데이터를 얻거나, 또는 화이트에서 블랙, 블랙에서 화이트로 바뀌어지는 부분을 '0'으로, 계속 화이트를 유지하거나 블랙을 유지하는 구간에서는 '1'로 표현하여 새로운 입력 데이터를 얻는 단계를 수행함을 특징으로 하는 이진영상압축장치.
  8. 제5항 내지 제7항 중의 어느 한 항에 있어서, 상기 압축부는 사전에서 레코드를 검색하고, 일치하는 레코드를 찾지 못했을 때 현재의 레코드를 출력하고 사전에 추가하고, 일치하는 레코드를 찾았을 때 일치하는 레코드의 반복횟수를 계산하여, 반복횟수가 2이상인지 체크하고, 반복홧수가 2이상인 경우 사전의 레퍼런스 값과 횟수를 출력하고, 및 반복횟수가 2미만일 때 사전의 레퍼런스 값을 출력함을 특징으로 하는 이진영상압축장치.
  9. 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 복원하는 이진영상복원방법에 있어서,
    수신된 이진영상의 1비트를 읽어 들여서 마커가 1인지 확인하는 단계;
    마커가 0인 경우 2바이트의 레코드를 읽어들여 사전에 추가하고 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 출력하는 단계;
    1인 경우 1바이트를 더 읽어들여 0xFF인지 확인하는 단계;
    0xFF가 아닌 경우 사전의 레퍼런스 값에 해당하는 레코드값을 찾아내어 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 반복하여 출력하는 단계;
    0xFF인 경우 2바이트를 더 읽어들여서 첫번째 값을 사전의 레퍼런스 값으로 사용하여 두 번째 값을 반복횟수로 사용하여, 0xFF가 아닌 경우와 같은 방법으로 출력하는 단계;
    디더링영상인지 에러확산영상인지를 확인하는 단계;
    에러확산영상인 경우 흑백 변환점을 검출하는 단계;
    디더영상인 경우 압축해제된 데이터를 출력하는 단계; 및
    화일의 길이가 높이*폭이 될 때까지 상술한 단계 401-412를 반복하는 단계를 구비하는 이진영상복원방법.
  10. 사전을 이용하여 현재 레코드와 일치하는 레코드를 검색하여 이진 영상을 복원하는 이진영상복원장치에 있어서,
    수신된 이진영상의 1비트를 읽어 들여서 마커가 1인지 확인하는 단계;
    마커가 0인 경우 2바이트의 레코드를 읽어들여 사전에 추가하고 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 출력하는 단계;
    1인 경우 1바이트를 더 읽어들여 0xFF인지 확인하는 단계;
    0xFF가 아닌 경우 사전의 레퍼런스 값에 해당하는 레코드값을 찾아내어 레코드를 4비트씩 쪼개어 각각의 값만큼 '0'과 '1'을 반복하여 출력하는 단계;
    0xFF인 경우 2바이트를 더 읽어들여서 첫번째 값을 사전의 레퍼런스 값으로 사용하여 두 번째 값을 반복횟수로 사용하여, 0xFF가 아닌 경우와 같은 방법으로 출력하는 단계;
    디더링영상인지 에러확산영상인지를 확인하는 단계;
    에러확산영상인 경우 흑백 변환점을 검출하는 단계;
    디더영상인 경우 압축해제된 데이터를 출력하는 단계; 및
    화일의 길이가 높이*폭이 될 때까지 상술한 단계 401-412를 반복하는 단계를 통하여 수신된 이진영상을 복원하는 복원부를 포함하는 이진영상복원장치.
KR10-2002-0082381A 2002-12-23 2002-12-23 이진 영상 압축 및/또는 복원 방법 및 장치 KR100467620B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082381A KR100467620B1 (ko) 2002-12-23 2002-12-23 이진 영상 압축 및/또는 복원 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082381A KR100467620B1 (ko) 2002-12-23 2002-12-23 이진 영상 압축 및/또는 복원 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20040056405A KR20040056405A (ko) 2004-07-01
KR100467620B1 true KR100467620B1 (ko) 2005-01-24

Family

ID=37349095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082381A KR100467620B1 (ko) 2002-12-23 2002-12-23 이진 영상 압축 및/또는 복원 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100467620B1 (ko)

Also Published As

Publication number Publication date
KR20040056405A (ko) 2004-07-01

Similar Documents

Publication Publication Date Title
US4814746A (en) Data compression method
US7079051B2 (en) In-place differential compression
US7539685B2 (en) Index key normalization
US7616138B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
EP1832000B1 (en) Device and data method for selective compression and decompression and data format for compressed data
US5229768A (en) Adaptive data compression system
US5995118A (en) Data coding system and decoding circuit of compressed code
US4988998A (en) Data compression system for successively applying at least two data compression methods to an input data stream
JP3337633B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体
US6664903B2 (en) Method, apparatus, computer program and storage medium for data compression
JP2003179501A (ja) データ圧縮方法
Deorowicz Universal lossless data compression algorithms
US7647291B2 (en) B-tree compression using normalized index keys
EP0127815A2 (en) Data compression method
US6798914B1 (en) Neural-network-based method of image compression
Wayner Compression algorithms for real programmers
US4972497A (en) Image coding system
KR100467620B1 (ko) 이진 영상 압축 및/또는 복원 방법 및 장치
Lin A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries
US6104323A (en) Data compression apparatus for compensating a deviation of a compression rate
JP3265268B2 (ja) 文字列圧縮方式
KR100462603B1 (ko) 영상 데이타 압축 및 복원 방법 및 장치
JP2003318739A (ja) データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体
JP3283150B2 (ja) データ圧縮・圧縮解除法
JPH08162973A (ja) データ処理方法および装置、ならびにこのデータ処理装置を用いた情報システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee