KR20030082586A - 폰트 압축 및 검색 - Google Patents

폰트 압축 및 검색 Download PDF

Info

Publication number
KR20030082586A
KR20030082586A KR10-2003-7010349A KR20037010349A KR20030082586A KR 20030082586 A KR20030082586 A KR 20030082586A KR 20037010349 A KR20037010349 A KR 20037010349A KR 20030082586 A KR20030082586 A KR 20030082586A
Authority
KR
South Korea
Prior art keywords
symbols
symbol
data representing
encoded
context
Prior art date
Application number
KR10-2003-7010349A
Other languages
English (en)
Other versions
KR100906041B1 (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 텔레폰악티에볼라겟엘엠에릭슨(펍)
Publication of KR20030082586A publication Critical patent/KR20030082586A/ko
Application granted granted Critical
Publication of KR100906041B1 publication Critical patent/KR100906041B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

한 세트의 심벌 중 각 심벌이 독립적으로 액세스 및 압축 해제될 수 있도록 상기 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법 및 장치. 상기 세트의 심벌 중 각 심벌은 투-파트 코드의 형태로 인코딩되며(63), 여기서 상기 코드 중 제 1 파트는 모두 인코딩된 심벌에 공통이고 상기 코드 중 제 2 파트는 심벌을 나타내는 데이터를 인코딩한다. 식별자가 각 심벌에 제공되어 각각 인코딩된 심벌이 독립적으로 액세스 및 압축 해제된다. 본 발명은 중국어 또는 일본어 문자 세트와 같은 큰 폰트를 저장하는데 특히 유용하다.

Description

폰트 압축 및 검색{FONT COMPRESSION AND RETRIEVAL}
중국어 또는 일본어와 같은 메시지를 CRT 또는 LCD 디스플레이에 표시하기 위해, 많은 세트의 심벌, 또는 글리프(glyphs)가 필요하다. 예컨대, 중국어 유니코드 표준 문자 세트는 약 21,000개의 다른 중국어 심벌을 포함한다. 게다가, 각 심벌은 적어도 수 백 픽셀의 크기이고; 결과적으로, 완전한 중국어 폰트를 저장하기 위해 많은 메모리를 필요로 한다. 순수 비트맵보다 더 컴팩트한 포맷으로 글리프를 저장하는 것은 메모리 요구를 감소시킨다.
레이저 프린터 및 고분해능 디스플레이를 위해, 폰트는 일반적으로 곡선에 의해 조인되는 일련의 포인트로 저장된다. 이것은 상기 방법으로 저장된 폰트를 위해 수 개의 처리가 이미지 그 자체를 제공하는데 필요할 지라도 폰트 스케일링을 이루는 추가적인 장점을 가능하게 한다. 저분해능 디스플레이를 위해, 폰트 스케일링은 중요하지 않고, 이것은 폰트를 비트맵으로 저장하는데 더 효율적이다.
이 기술분야에 공지된 대부분의 무손실 데이터 압축 방법은 이미 인코딩되었던 데이터를 다시 참조함으로써 순차적인 방법으로 조화된다. 그러나, 이러한 방법은 폰트 압축에 부적절하며, 여기서 단일 글리프만이 이상적으로 한 번에 압축 해제되어야 한다. 이러한 형태의 순차적인 방법이 사용되는 경우, 글리프의 일부 블로킹이 필요하고, 하나의 블록으로 전체 폰트를 압축하는 2개의 끝단들 사이에서 트레이드-오프(trade-off)가 이루어져, 랜덤 액세스 성능을 떨어뜨리고 각 심벌을 개별적으로 압축하며, 이 경우에 전체 성능이 상당히 떨어진다.
상술한 순차 코드 대신에, 투-파트(two-part) 코드가 폰트를 압축 및 검색하는데 또한 사용될 수 있다. 일반적으로, 이러한 코드의 제 1 파트는 데이터의 통계적 성질, 또는 모델을 나타내고; 제 2 파트는 이 모델로부터 도출된 코드에 의해 데이터를 인코딩한다.
이 기술분야에 공지된 폰트 압축 및 검색 방법의 예는 미국특허 제 5,488,365 호; 제 5,058,187 호; 제 5,587,725 호; 제 5,473,704 호; 및 제 5,020,121 호; 및 PCT 공개번호 제 98/16902 호에 개시된 것들을 포함한다. 그러나, 일반적으로, 이러한 종래 방법 중 어느 것도 현재의 고속 장비에 의해 심벌의 고속 액세스를 허용하는데 중요한 폰트의 개별 심벌에 대해 완전한 랜덤 액세스를 제공하는 폰트 압축 및 검색 기술을 개시하지 않았다.
본 발명은 일반적으로 폰트 또는 다른 세트의 심벌을 나타내는 데이터의 압축 및 검색에 관한 것으로, 특히 폰트의 개별 심벌에 대해 액세스를 유지하는 동안 중국어 또는 일본어 문자 세트와 같은 다수의 폰트를 압축 형태로 저장하는 방법 및 장치에 관한 것이다.
도 1은 본 발명의 바람직한 제 1 실시예에 따른 폰트 압축 스킴의 인코더를 개략적으로 도시하며;
도 2는 도 1의 인코더 동작 설명을 보조하도록 픽셀의 상태 컨텍스트에 대한 일예를 개략적으로 도시하며;
도 3은 도 1의 인코더에 의해 인코딩되는 데이터를 검색하기 위한 디코더를 개략적으로 도시하며;
도 4는 본 발명의 바람직한 제 2 실시예에 따른 폰트 압축 스킴의 인코더를 개략적으로 도시하고;
도 5 및 6은 본 발명에 따른 폰트 압축 및 검색 방법을 위한 인코딩 및 디코딩 절차의 기본 단계를 도시하는 흐름도이다.
본 발명은 한 세트의 심벌을 나타내는 데이터를 압축 및 검색하기 위한 방법 및 장치에 관한 것이고; 특히, 문자 세트의 각 개별 글리프가 독립적으로 액세스및 압축 해제될 수 있는 그러한 방법으로 중국어 또는 일본어 문자 세트와 같은 다수의 글리프를 포함하는 폰트를 압축하기 위한 방법 및 장치에 관한 것이다.
본 발명에 따른 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법은 투-파트 코드의 형태로 한 세트의 심벌 중 각 심벌을 인코딩하는 단계를 포함하며, 여기서 상기 투-파트 코드 중 제 1 파트는 상기 한 세트의 심벌 중 모두 인코딩된 심벌에 공통이고 상기 투-파트 코드 중 제 2 파트는 한 세트의 심벌을 나타내는 인코딩된 데이터를 포함하며, 상기 한 세트의 심벌 중 각각 인코딩된 심벌은 독립적으로 액세스 및 압축 해제될 수 있다.
그러나, 본 발명은 투-파트 코드의 사용에 기초되는 데이터 압축 방법을 제공하며, 상기 코드 중 제 1 파트는 한 세트의 심벌 중 모든 심벌에 공통이고, 이것은 각각 인코딩된 심벌이 독립적으로 액세스 및 압축 해제될 수 있는 것을 허용한다. 따라서, 본 발명은 앞서 지시된 바와 같이 현재의 고속 장비 성능에 특히 중요한 한 세트의 심벌 중 개별 심벌에 랜덤 액세스의 성질을 제공한다.
본 발명의 바람직한 실시예에 있어서, 한 세트의 심벌은 개별 심벌 또는 글리프의 폰트를 포함하고, 글리프를 나타내는 데이터는 각 글리프에 대해 비트맵을 포함한다. 폰트를 인코딩하기 위해, 한 세트의 글리프의 통계 모델이 생성되고(투-파트 코드의 제 1 파트 또는 "모델"), 각 글리프는 이 때 모델로부터 도출된 코드와 독립적으로 압축된다(투-파트 코드의 제 2 파트 또는 "코드워드"). 압축된 글리프는 코드워드 길이에 의해 파티션되고, 각 글리프를 위한 식별자에 의해 분류된 하나의 인덱스 테이블은 각각의 파티션을 위해 생성된다. 따라서, 인코딩된 폰트는통계 모델, 한 세트의 코드워드, 한 세트의 인덱스 테이블, 상기 인덱스 테이블을 위한 테이블의 길이 및 디코딩에 사용되는 보조 테이블을 포함한다.
특정 글리프를 디코딩하기 위해, 글리프를 위한 식별자가 제공되는 경우, 인덱스 테이블은 먼저 매칭 엔트리에 대해 탐색된다. 테이블 길이 및 이 테이블내의 위치로부터, 코드 세트내의 특정 글리프의 위치(position) 또는 장소(location)가 계산될 수 있고, 이것은 글리프의 바람직한 코드워드가 이 때 추출 및 디코딩되게 한다. 본 발명에서, 투-파트 코드가 사용되기 때문에, 상기 코드 중 제 1 파트는 모두 인코딩된 글리프에 공통적이며; 인덱스는 각 글리프에 대해 상기 코드워드를 상기 특정 글리프에 위치시키는 것만이 필요하기 때문에 매우 간단해진다.
본 발명의 바람직한 실시예에 있어서, 폰트 압축은 산술 인코더와 고정 확률 테이블을 사용하여 달성된다. 이러한 절차는 추가적인 테이블을 필요로 하는 것없이 확률 테이블이 제공되는 경우 글리프의 최적 압축을 거의 제공한다. 본 발명의 다른 실시예에서, 폰트 압축은 예측 인코딩 스킴과 고정 예측 테이블에 의해 고정 허프만 코딩(Huffman coding)보다 먼저 행해진다. 이러한 절차는 합리적인 압축 속도를 유지하는 동안 매우 빠른 압축 해제를 가능하게 해준다. 또한, 이러한 실시예는 하드웨어 구현에 특히 적당하다.
일반적으로, 본 발명에서, 한 세트의 심벌 중 개별 심벌에 대해 완전한 랜덤 액세스는 이 기술분야에 공지된 바와 같이 적응형 원-파트 코드 대신에 투-파트 코드와 분리 코드워드를 사용하여 달성된다. 메모리 요구의 추가적인 코스트(cost)는 10,000 심벌의 폰트에 대해 거의 10 내지 15 퍼센트가 되도록 추정된다.
이하, 본 발명의 또 다른 장점 및 구체적인 특징은 바람직한 실시예의 다음의 상세한 설명을 참조하여 분명해질 것이다.
도 1은 중국어 또는 일본어 심벌 또는 글리프 폰트와 같은 한 세트의 심벌을 나타내는 데이터를 압축하기 위해 본 발명의 제 1 실시예에 따른 압축 스킴의 인코더 구조를 개략적으로 나타내는 블록도이다. 초기에, 기술된 인코딩 절차는 압축 데이터 크기의 최적을 허용하기 위해 시간 제한없이 수행될 수 있는 것으로 이해되어야 한다.
도 1의 인코더는 일반적으로 참조 번호 10으로 지시되고 다수의 모듈로 구성된다. 초기에, 심벌 또는 글리프 폰트를 나타내는 2차원 비트맵(12)은 일부 특수 규칙에 따라 비트맵을 스캔닝함으로써 직렬 모듈(14)에 의해 비트 시퀀스(xn=x1, x2, ..., xn)로 변환된다. 가능한 스캔 순서는 예컨대 당업자에게 잘 공지된 바와 같이 로우-와이즈(row-wise), 칼럼-와이즈(column-wise), 대각선 또는 더 복잡한 스캔 순서를 포함한다.
직렬 모듈(14)로부터 출력된 비트 시퀀스는 표준 이진 산술 인코딩 유닛일 수 있는 산술 인코더 모듈(16)로 전송된다(예컨대, C.B. Jones, " An Efficient Coding System for Long Source Sequences", IEEE Transactions on Information Theory, vol. 27, pp. 280-291, May, 1981 참조). 능률적으로, 인코더의 산술적인 정밀도는 이하에서 논의되는 확률의 정밀도와 매칭되어야 한다. 상기 비트는 비트맵이 스캔되는 바와 같이 순차적으로 인코딩된다.
코딩 확률을 산술 코딩에 제공하는 모델은 대시선 블록(18)으로 도시되고 도 1에서 소스 모델로 지시된다. 소스 모델은 컨텍스트로 기초되고, 즉 비트맵의 각 픽셀에 대한 확률 분포는 픽셀 값을 둘러싸는 조건 컨텍스트에 의해 결정된다. 따라서, 상기 모델은 컨텍스트 형성 유닛 또는 모듈(22)을 포함하며, 이것은 정수로 표시되는 컨텍스트를 결정하도록 이전에 인코딩된 비트로부터 비트를 선택한다. 도 2는 컨텍스트 픽셀 및 비트 위치 사이에 대응하는 일예를 개략적으로 도시한다. 어떤 픽셀의 조건 컨텍스트는 스캔 순서로 더 먼저 나타나는 픽셀만을 포함해야 한다. 이의 상태는 상기 픽셀에 따라 변화될 수 있다. 비트맵 외부의 어떤 컨텍스트픽셀은 제로로 세트된다.
또한, 소스 모델(18)은 가능한 컨텍스트 당 하나의 엔트리를 갖는 확률 테이블(24)을 포함하며, 이것은 일정한 정밀도로 저장된 상기 컨텍스트에 따라 결정되는 픽셀 확률을 포함한다.
컨텍스트의 크기 및 상태가 주어지는 경우, 확률 테이블(24)은 각 컨텍스트에서 크기 및 상태의 발생을 카운트함으로써, 및 컨텍스트의 발생 수를 정규화함으로써 구성된다.
일정한 코드워드 길이만이 허용되는 경우, 예컨대 정수 바이트가 허용되는 경우, 바이트 정렬 모듈(26)에 의해 산술 인코더의 출력의 마지막에 제로가 부가된다. 바이트 정렬 모듈의 출력은 심벌 또는 글리프 폰트를 나타내는 코드워드이다.
폰트의 각 글리프는 전체 폰트가 인코딩되어 메모리에 저장될 때까지 도 1의 인코더를 사용하여 인코딩된다. 폰트가 인코딩되기 전에, 스캔 순서 및 컨텍스트 형성 기능이 선택된다. 컨텍스트의 다른 크기, 스캔 순서, 컨텍스트 형성 기능, 및 확률 테이블의 정밀도는 최상의 압축을 일드(yield)시키는 것을 발견하기 위해 시도된다. 최상의 압축을 일드하도록 여기서 최소로 되는 양은 코드워드 세트의 크기 플러스 확률 테이블의 크기이다.
상술한 절차로 생성되는 코드워드는 먼저 길이로 분류된 다음, 폰트의 각 글리프에 제공되는 식별자에 의해 분류되고, 각 길이에 대한 인덱스 테이블은 오름 차순으로 분류된 식별자의 리스트로 구성된다. 각 인덱스 테이블을 위해, 길이 테이블에는 이것에 대응하는 코드워드 길이, 및 테이블 길이가 저장된다.
코드워드는 인덱스 테이블 및 길이 테이블에 함께 저장된다. 메모리내의 각 코드워드의 장소 및 길이에 대한 정보가 인덱스 및 길이 테이블에만 제공되고, 즉어떤 분리 문자없이 길이 및 식별자에 의해 분류된 코드워드가 저장되는 것에 주목해야 한다.
소정의 식별자(I)를 갖는 글리프가 디코딩될 때, 인덱스 테이블은 먼저 이진 탐색을 사용하여 하나씩 탐색된다. 이 식별자가 발견되는 경우, 대응하는 코드워드의 어드레스는 탐색된 테이블의 어느 것보다 작은 모든 코드워드 길이에 걸쳐 코드워드 길이의 생성 및 코드워드 길이의 코드워드 수를 합함으로써(코드워드의 카운팅은 제로에서 시작되어야 한다), 및 탐색된 테이블의 코드워드 길이 곱하기 이 테이블내의 식별자의 위치를 가산함으로써 발견된다. 테이블의 다른 탐색 순서가 또한 가능하다. 예컨대, 사용자는 소망하는 경우 내림 차순 크기로 테이블을 탐색하고; 본 발명이 어떤 특정 탐색 순서로 제한되도록 의도되지 않는다. 다른 탐색 방법이 본 발명의 범위를 일탈하는 것없이 마찬가지로 사용될 수 있는 것으로 또한 이해되어야 하고, 본 발명이 어떤 특정 탐색 방법으로 제한되도록 또한 의도되지 않는다.
코드워드가 메모리에 위치되는 경우, 이것은 도 3에 도시된 디코딩 구조(30)로 디코딩된다. 도 3에서, 소스 모델은 도 1의 인코더(10)의 소스 모델(18)과 동일하며, 산술 디코더(36)는 통상의 방법에서 산술 인코더(16)와 유사하고, 이미지 형성기(34)는 도 1의 인코더에서 단지 직렬 변환기(14)의 역이다. 도 3의 디코더(30)는 이의 출력으로서 소망하는 글리프의 비트맵(32)을 압축 폰트로부터 제공한다.
도 4는 본 발명의 제 2 실시예에 따른 인코더(40)의 구조를 개략적으로 나타내는 블록도이다. 도 4에서, 도 1의 인코더(10)에 대한 소스 모델(18)의 확률 테이블은 소스 모델(48)내의 예측 테이블(42)로 대체되며, 여기서 각 엔트리는 각 컨텍스트내의 최대 확률 비트 값을 지시하는 하나의 비트이다. 각 비트에 대한 예측 값은 유닛(44)에 의해 실제 비트와 배타적으로 논리합되어, 허프만 인코더 모듈(46)내의 허프만 코드에 의해 인코딩되는 비트 스트림을 생성한다(D.A. Huffman, " A Method for the Construction of Minimum-Redundancy Codes", Proc. IRE, vol. 40, pp 1098-1101, 1952).
이러한 실시예에서, 코드워드, 인덱스 테이블 및 길이 테이블에 더하여, 허프만 코드의 설명이 디코더에 또한 이용될 수 있어야 한다. 제 1 실시예에 관해 상술된 바와 같이, 컨텍스트 크기, 등등에 관한 최적화는 이러한 실시예에 마찬가지로 적용될 수 있다. 또한, 이러한 실시예의 인코더와 사용되는 디코더 구조는 제 1 실시예의 인코더에 사용되는 디코더(도 3에 도시됨)와 유사하고, 이하에서 더 이상 설명되는 것이 필요하지 않다.
도 5 및 6은 본 발명의 압축 및 검색 방법에 대한 인코딩 및 디코딩 절차의 단계를 일반적으로 도시하는 흐름도이다. 초기에, 도 5에서, 폰트를 인코딩하기 위해, 개별 심벌 또는 글리프의 폰트에 대한 2차원 비트맵은 도 1 또는 4에 도시된 직렬 변환기(14)를 사용하여 단계 61에서 직렬 변환된다. 직렬 변환 데이터의 소스 또는 통계 모델은 컨텍스트 형성 모듈(22)을 사용하여 및 도 1의 확률 테이블(24) 또는 도 4의 예측 테이블 중 하나를 사용하여 단계 62에서 생성된다. 직렬 변환기로부터 출력된 비트 시퀀스는 이 때 단계 63에서 인코딩되며, 여기서 각 심벌 또는 글리프의 폰트는 상기 폰트를 나타내는 인코딩된 코드워드 세트를 제공하도록 도 1의 산술 인코더(16) 또는 도 4의 허프만 인코더(46) 중 하나에 의해 통계 모델로부터 도출된 코드와 독립적으로 인코딩된다. 그 다음, 인코딩된 폰트는 예컨대 나중 검색을 위해 단계 64에서 메모리에 저장된다. 상술한 바와 같이, 코드워드는 인덱스 테이블 및 길이 테이블에 함께 저장된다.
메모리에 저장되어 있는 인코딩된 심벌을 디코딩하기 위해; 도 6에 도시된 바와 같이, 인덱스 테이블은 인코딩된 심벌의 식별자가 발견될 때까지 단계 71에서 먼저 탐색된다. 상기 저장되어 있는 인코딩된 심벌의 어드레스는 이 때 단계 72에서 식별자를 사용하여 발견되고; 최종적으로, 코드워드는 선택된 심벌 또는 글리프의 압축 해제된 비트맵을 제공하도록 예컨대 도 3의 디코더를 사용하여 단계 73에서 검색 및 탐색된다.
본 발명의 중요한 양상은 투-파트 코드가 사용된다는 것이며, 여기서 상기 코드의 제 1 파트, 즉 모델은 모두 인코딩된 글리프에 공통이고; 상기 코드의 제 2 파트, 즉 코드워드는 글리프를 나타내는 인코딩된 데이터를 포함한다. 이것은 각 글리프에 관한 인덱싱(indexing)을 단순화시키고, 코드워드만을 위치시키는 것이 필요하다. 상술한 제 1 실시예에서, 고정 확률 테이블을 갖는 산술 코더가 사용되며, 이것은 짧은 데이터 블록을 불충분하게 수행하고 확장 코드 테이블을 필요로 하는 렘펠-지프(Lempel-Ziv) 및 허프만 코딩 스킴으로부터 구별되는 바와 같이 추가적인 테이블에 대한 요구없이 확률 테이블이 주어지는 경우 글리프의 최적 압축을 거의 보장한다.
예측 코딩의 사용에 의해. 상술한 제 2 실시예에 제공된 바와 같이, 고정 허프만 코드로 팔로우(followed)되는 고정 예측 테이블을 사용하여, 적당한 압축을 사용하는 동안 매우 신속하게 압축 해제하는 것이 가능해진다. 이러한 방법은 하드웨어 구현에 특히 적당하다.
일반적으로, 본 발명에서, 길이 테이블, 및 하나 이상의 탐색이 수행되는 인덱싱 테이블을 갖는 인덱싱 방법을 사용함으로써; 각 테이블은 식별자의 리스트로 감소된다. 본 발명에서, 어드레싱 테이블의 전체 크기는 식별자에 의해 최초 점유되는 공간보다 단지 약간 더 크며; 따라서, 우리는 인덱스 테이블 크기에서 약간의 증가만을 갖는 글리프에 대해 랜덤 액세스의 성질을 얻는다.
용어 "포함한다/포함하고 있는(comprise/comprising)"은 이 명세서에 사용될 때 기술된 특징, 정수, 단계 또는 구성요소의 존재를 설명하도록 이용되지만, 하나 이상의 다른 특징, 정수, 스텝, 구성요소 또는 이의 그룹의 존재 또는 추가를 배제하지 않는다는 것이 강조되어야 한다.
또한, 본원에서 설명되었던 것이 본 발명의 바람직한 실시예를 즉시 구성한다는 것이 강조되어야 하고, 본 발명이 다수의 다른 형태를 취할 수 있는 것으로 인식되어야 한다. 따라서, 본 발명은 다음의 청구범위의 범위에 의해 요구되는 한 제한되는 것으로 단지 이해되어야 한다.

Claims (29)

  1. 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법에 있어서,
    투-파트 코드의 형태로 상기 한 세트의 심벌 중 각 심벌을 인코딩하는 단계를 포함하며, 여기서 상기 투-파트 코드 중 제 1 파트는 상기 한 세트의 심벌 중 모두 인코딩된 심벌에 공통이고 상기 투-파트 코드 중 제 2 파트는 한 세트의 심벌을 나타내는 인코딩된 데이터를 포함하며, 상기 한 세트의 심벌 중 각각 인코딩된 심벌은 독립적으로 액세스 및 압축 해제될 수 있는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 투-파트 코드 중 제 1 파트는 상기 세트의 심벌의 통계 모델을 포함하고, 상기 인코딩하는 단계는 상기 세트의 각 심벌을 상기 투-파트 코드 중 제 2 파트에 제공하도록 상기 통계 모델로부터 도출된 코드를 사용하여 상기 세트의 심벌 중 각 심벌을 나타내는 데이터를 인코딩하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 세트의 각 심벌을 나타내는 상기 데이터는 상기 심벌 각각의 2차원 비트맵을 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 인코딩하는 단계는 심벌을 나타내는 비트맵의 각 픽셀의 컨텍스트를 결정하는 단계, 및 가능한 컨텍스트 당 하나의 엔트리를 갖는 픽셀 값의 확률 테이블을 구성하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 인코딩하는 단계는 산술 인코더와 확률 테이블을 사용하여 각 심벌을 인코딩하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  6. 제 3 항에 있어서,
    상기 인코딩하는 단계는 심벌을 나타내는 비트맵의 각 픽셀의 컨텍스트를 결정하는 단계, 및 각 컨텍스트내의 최대 확률 비트 값을 지시하는 예측 테이블을 구성하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  7. 제 6 항에 있어서,
    각 비트의 상기 최대 확률 비트 값은 허프만 코드에 의해 인코딩되는 비트 스트림을 생성하는 실제 비트와 배타적으로 논리합되는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  8. 제 2 항에 있어서,
    상기 세트의 각 심벌을 나타내는 상기 인코딩된 데이터를 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  9. 제 8 항에 있어서,
    각 심벌을 나타내는 상기 인코딩된 데이터가 메모리에 저장되는 위치를 식별하기 위해 상기 세트의 심벌 중 각 심벌에 대한 식별자를 더 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  10. 제 9 항에 있어서,
    상기 세트의 각 심벌을 나타내는 상기 인코딩된 데이터는 길이로 분류되고, 한 세트의 인덱싱 테이블은 각각의 길이로 생성되며, 각각의 인덱싱 테이블은 개별 길이의 인코딩된 데이터에 대한 식별자를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  11. 제 10 항에 있어서,
    각각의 인덱싱 테이블에 포함된 상기 식별자는 오름 차순으로 배열되는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  12. 제 10 항에 있어서,
    길이 테이블이 생성되며, 상기 길이 테이블은 각각의 인덱스 테이블에 대한 정보를 포함하고, 그것에 대응하는 길이 및 상기 인덱스 테이블의 길이를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  13. 제 1 항에 있어서,
    상기 세트의 심벌은 폰트를 포함하고, 각 심벌은 상기 폰트의 심벌을 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 폰트는 중국어 문자 세트 및 일본어 문자 세트로 구성되어 있는 그룹으로부터 선택된 폰트를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 방법.
  15. 한 세트의 심벌의 각 심벌에 대한 식별자가 주어지는 경우, 메모리에 저장되어 있는 상기 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기위한 방법에 있어서,
    상기 세트의 심벌 중 상기 심벌을 나타내는 상기 데이터는 상기 심벌에 대한 식별자를 사용하여 상기 메모리에 저장되는 위치를 식별하는 단계; 및
    상기 심벌을 나타내는 상기 데이터를 상기 메모리로부터 검색하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  16. 제 15 항에 있어서,
    상기 제공하는 단계는 상기 세트의 심벌 중 다른 심벌에 대한 식별자의 리스트를 포함하는 인덱스 테이블을 제공하는 단계를 포함하고, 상기 식별하는 단계는 상기 심벌에 대한 상기 인덱스 테이블을 탐색하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  17. 제 16 항에 있어서,
    상기 세트의 심벌 중 상기 심벌을 나타내는 인코딩된 데이터는 먼저 길이로 분류된 다음 오름 차순의 식별자로 분류되고, 인덱스 테이블을 제공하는 상기 단계는 각 길이를 인덱스 테이블에 제공하는 단계를 포함하며, 각각의 인덱스 테이블은 특정 길이의 인코딩된 데이터로 표시되는 심벌에 대해 오름 차순으로 분류된 식별자의 리스트를 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  18. 제 17 항에 있어서,
    상기 탐색하는 단계는 이진 탐색을 사용하여 상기 식별자에 대한 상기 인덱스 테이블을 탐색하는 단계를 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  19. 제 15 항에 있어서,
    상기 방법은 검색된 데이터를 압축 해제하는 단계를 더 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  20. 제 19 항에 있어서,
    상기 인코딩된 데이터는 심벌의 이차원 비트맵을 포함하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 인코딩된 데이터를 검색하기 위한 방법.
  21. 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치에 있어서, 상기 장치는
    투-파트 코드의 형태로 상기 한 세트의 심벌 중 각 심벌을 인코딩하는 인코더를 포함하며, 여기서 상기 투-파트 코드 중 제 1 파트는 상기 한 세트의 심벌 중 모두 인코딩된 심벌에 공통이고 상기 투-파트 코드 중 제 2 파트는 한 세트의 심벌을 나타내는 인코딩된 데이터를 포함하며, 상기 한 세트의 심벌 중 각각 인코딩된 심벌은 독립적으로 액세스 및 압축 해제될 수 있는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  22. 제 21 항에 있어서,
    상기 투-파트 코드 중 제 1 파트는 상기 세트의 심벌의 통계 모델을 포함하고, 상기 인코더는 상기 세트의 각 심벌을 상기 투-파트 코드 중 제 2 파트에 제공하도록 상기 통계 모델로부터 도출된 코드를 사용하여 상기 세트의 심벌 중 각 심벌을 나타내는 데이터를 인코딩하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  23. 제 22 항에 있어서,
    상기 심벌 각각을 나타내는 상기 데이터는 상기 심벌 각각의 비트맵을 포함하고, 상기 인코더는
    상기 비트맵의 픽셀을 순차적으로 인코딩하기 위한 산술 인코더; 및
    코딩 확률을 산술 인코더에 제공하기 위한 소스 모델를 포함하며, 상기 소스 모델은 비트맵의 각 픽셀에 대해 컨텍스트를 형성하도록 컨텍스트 형성 유닛, 및 상기 컨텍스트 형성 유닛에 의해 형성되는 컨텍스트에 따라 결정된 각 픽셀의 픽셀확률을 포함하는 확률 테이블을 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  24. 제 22 항에 있어서,
    상기 심벌 각각을 나타내는 상기 데이터는 상기 심벌 각각의 비트맵을 포함하고, 상기 인코더는
    예측 값을 비트맵의 각 픽셀에 제공하는 소스 모델,
    비트 스트림을 생성하도록 각 픽셀의 예측 값과 실제 비트를 배타적으로 논리합하는 유닛, 및
    상기 비트 스트림을 인코딩하는 허프만 코딩을 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  25. 제 24 항에 있어서,
    상기 소스 모델은 컨텍스트를 비트맵의 각 픽셀에 형성시키는 컨텍스트 형성 유닛, 및 예측 값을 각 컨텍스트내의 각 픽셀에 제공하는 예측 테이블을 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  26. 제 21 항에 있어서,
    상기 세트의 심벌은 폰트를 포함하는 것을 특징으로 하는 한 세트의 심벌을 나타내는 데이터를 압축하기 위한 장치.
  27. 메모리에 저장되어 있는 한 세트의 심벌 중 하나의 심벌을 나타내는 데이터를 검색하기 위한 장치에 있어서, 상기 심벌 각각은 식별자를 가지는데, 상기 장치는
    상기 심벌에 대한 상기 식별자를 사용하여 상기 세트의 심벌 중 하나의 심벌을 나타내는 상기 데이터가 저장되는 상기 메모리에서 위치를 식별하는 위치 입력기; 및
    상기 심벌을 디코딩하는 디코더를 포함하며, 여기서 각각 인코딩된 심벌이 독립적으로 액세스 및 디코딩될 수 있는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 데이터를 검색하기 위한 장치.
  28. 제 27 항에 있어서,
    상기 로케이터는 상기 세트의 심벌 중 다른 심벌에 대한 식별자의 리스트를 포함하는 인덱스 테이블을 탐색함으로써 상기 위치를 식별하는 것을 특징으로 하는 한 세트의 심벌 중 하나의 심벌을 나타내는 데이터를 검색하기 위한 장치.
  29. 제 28 항에 있어서,
    상기 세트의 심벌을 나타내는 데이터는 길이로 분류되고, 인덱스 테이블은 각각의 길이를 위해 제공되며, 각각의 인덱스 테이블은 특정 길이의 데이터로 표시되는 심벌에 대한 식별자의 리스트를 포함하는 것을 특징으로 하는 한 세트의 심벌중 하나의 심벌을 나타내는 데이터를 검색하기 위한 장치.
KR1020037010349A 2001-02-27 2002-02-15 폰트 압축 및 검색 방법 및 장치 KR100906041B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/794,706 2001-02-27
US09/794,706 US20020118885A1 (en) 2001-02-27 2001-02-27 Font compression and retrieval
PCT/EP2002/001601 WO2002069269A2 (en) 2001-02-27 2002-02-15 Font compression and retrieval

Publications (2)

Publication Number Publication Date
KR20030082586A true KR20030082586A (ko) 2003-10-22
KR100906041B1 KR100906041B1 (ko) 2009-07-03

Family

ID=25163415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037010349A KR100906041B1 (ko) 2001-02-27 2002-02-15 폰트 압축 및 검색 방법 및 장치

Country Status (6)

Country Link
US (2) US20020118885A1 (ko)
EP (1) EP1364343B1 (ko)
KR (1) KR100906041B1 (ko)
AT (1) ATE333683T1 (ko)
DE (1) DE60213205T2 (ko)
WO (1) WO2002069269A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2420680B (en) * 2003-07-16 2007-03-21 Hanyang Hak Won Co Ltd Method And Apparatus For Encoding And Decoding Three-Dimensional Mesh Information
KR100619053B1 (ko) * 2003-11-10 2006-08-31 삼성전자주식회사 서브 타이틀을 기록한 정보저장매체 및 그 처리장치
US7831908B2 (en) * 2005-05-20 2010-11-09 Alexander Vincent Danilo Method and apparatus for layout of text and image documents
KR101385956B1 (ko) * 2007-08-31 2014-04-17 삼성전자주식회사 미디어 신호 인코딩/디코딩 방법 및 장치
US7688233B2 (en) * 2008-02-07 2010-03-30 Red Hat, Inc. Compression for deflate algorithm
US8443278B2 (en) * 2009-01-02 2013-05-14 Apple Inc. Identification of tables in an unstructured document
CN114143553A (zh) 2010-04-13 2022-03-04 Ge视频压缩有限责任公司 显著性图和变换系数块的编码
TWI397825B (zh) * 2010-08-24 2013-06-01 Matsushita Electric Tw Co Ltd The coding / decoding processing system and method of dot matrix font
US8947438B2 (en) * 2011-08-01 2015-02-03 Microsoft Corporation Reducing font instructions
WO2013072718A1 (en) * 2011-11-18 2013-05-23 Store Electronic Systems A method and a system for displaying product information on electronic labels
KR102203031B1 (ko) * 2019-11-15 2021-01-14 오토아이티(주) 빠른 정전 복구를 지원하기 위한 대용량 데이터 기록 방법 및 장치
US11423580B2 (en) * 2020-10-12 2022-08-23 Arm Limited Decoding data arrays
US20230084574A1 (en) * 2021-09-16 2023-03-16 UncommonX Inc. Bit sequence storage method and system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US4559615A (en) * 1982-09-15 1985-12-17 Goo Atkin Y Method and apparatus for encoding, storing and accessing characters of a Chinese character-based language
JPS63263561A (ja) 1987-04-22 1988-10-31 Ricoh Co Ltd 日本語文の圧縮方法
US4799242A (en) * 1987-08-24 1989-01-17 International Business Machines Corporation Multi-mode dynamic code assignment for data compression
KR930003416B1 (ko) * 1988-03-29 1993-04-29 주식회사 금성사 폰트의 함축방법
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
JP2978208B2 (ja) 1990-05-18 1999-11-15 シチズン時計株式会社 キャラクタージェネレータにおけるフォントデータ圧縮方式
US5020121A (en) 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US6069999A (en) * 1991-04-18 2000-05-30 Microsoft Corporation Method for compressing and decompressing font data
JPH06195063A (ja) 1992-12-25 1994-07-15 Casio Comput Co Ltd 文字パターンデータ圧縮装置
US5915041A (en) * 1993-03-04 1999-06-22 Unisys Corporation Method and apparatus for efficiently decoding variable length encoded data
JP2732188B2 (ja) 1993-03-15 1998-03-25 国際電信電話株式会社 最適符号表現を用いた多段データ圧縮装置
US5473704A (en) 1993-06-01 1995-12-05 Asahi Kogaku Kogyo Kabushiki Kaisha Apparatus for substituting character data for image data using orthogonal conversion coefficients
JPH07199894A (ja) 1993-12-30 1995-08-04 Casio Comput Co Ltd 文字フォント圧縮方法
US5488365A (en) 1994-03-01 1996-01-30 Hewlett-Packard Company Method and apparatus for compressing and decompressing short blocks of data
EP0672982B1 (en) * 1994-03-18 2002-07-31 Hewlett-Packard Company, A Delaware Corporation Printer system with compressed font procedure that enables memory conservation
DE69433620T2 (de) * 1994-06-16 2004-08-12 Seiko Epson Corp. Datenkomprimierungsverfahren
KR100209877B1 (ko) * 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
JP3181809B2 (ja) 1995-05-31 2001-07-03 シャープ株式会社 データ圧縮のための圧縮コードの復元回路
US6031622A (en) 1996-05-16 2000-02-29 Agfa Corporation Method and apparatus for font compression and decompression
EP0837427A1 (en) 1996-10-15 1998-04-22 Hewlett-Packard Company Loss-less compression and decompression of bitmaps
US5901251A (en) * 1997-03-18 1999-05-04 Hewlett-Packard Company Arithmetic coding compressor using a context model that is adaptive to variable length patterns in bi-level image data
JPH1155125A (ja) 1997-08-01 1999-02-26 Fujitsu Ltd 文字データの圧縮・復元方法
US6377966B1 (en) * 1997-10-22 2002-04-23 Flashpoint Technology, Inc. Graphical interface to select characters representing phonetic articulation and no articulation groups
GB2346470B (en) * 1999-02-05 2003-10-29 Advanced Risc Mach Ltd Bitmap font data storage within data processing systems
JP2001084707A (ja) * 1999-09-10 2001-03-30 Toshiba Corp 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
DE60213205T2 (de) 2006-11-23
DE60213205D1 (de) 2006-08-31
EP1364343A2 (en) 2003-11-26
WO2002069269A3 (en) 2002-11-28
US20020118885A1 (en) 2002-08-29
US20050047669A1 (en) 2005-03-03
KR100906041B1 (ko) 2009-07-03
EP1364343B1 (en) 2006-07-19
ATE333683T1 (de) 2006-08-15
WO2002069269A2 (en) 2002-09-06
US7212679B2 (en) 2007-05-01

Similar Documents

Publication Publication Date Title
JP3541930B2 (ja) 符号化装置及び復号化装置
US5870036A (en) Adaptive multiple dictionary data compression
US5229768A (en) Adaptive data compression system
US6650261B2 (en) Sliding window compression method utilizing defined match locations
EP0691628A2 (en) Data compression method and system
KR101678223B1 (ko) 멀티미디어 서명 코딩 및 디코딩
KR100906041B1 (ko) 폰트 압축 및 검색 방법 및 장치
JPH07104971A (ja) ネットワークパケットに適用される小型辞書を用いた圧縮方法
KR19990044049A (ko) 이미지 데이터를 압축 및 압축해제하는 방법 및 장치
EP0127815B1 (en) Data compression method
US5392036A (en) Efficient optimal data recopression method and apparatus
US20070057825A1 (en) Method and system for decoding variable length encoded signals, computer program product therefor
CN116471337A (zh) 一种基于bwt和lzw的报文压缩与解压缩方法及设备
US6947606B2 (en) Skim encoding method for compression of a two dimensional array of data
JP3266419B2 (ja) データ圧縮・伸長方式
Bharathi et al. A plain-text incremental compression (pic) technique with fast lookup ability
Zia et al. Two-level dictionary-based text compression scheme
Kumar A plain-text compression technique with fast lookup ability
Rani et al. An Enhanced Text Compression System Based on ASCII Values and Huffman Coding
US6522270B1 (en) Method of coding frequently occurring values
JP3098046B2 (ja) 画像データ圧縮装置及びその方法
US6583736B1 (en) Bitcode sequence coding of frequently occurring values
Cinque et al. Speeding up Lossless Image Compression: Experimental Results on a Parallel Machine.
Dixit et al. DATA COMPRESSION TECHNIQUES
JPH10308673A (ja) データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130612

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140611

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150608

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170614

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190614

Year of fee payment: 11