KR20090042775A - 데이터 코딩 - Google Patents

데이터 코딩 Download PDF

Info

Publication number
KR20090042775A
KR20090042775A KR1020097000965A KR20097000965A KR20090042775A KR 20090042775 A KR20090042775 A KR 20090042775A KR 1020097000965 A KR1020097000965 A KR 1020097000965A KR 20097000965 A KR20097000965 A KR 20097000965A KR 20090042775 A KR20090042775 A KR 20090042775A
Authority
KR
South Korea
Prior art keywords
code
probability
symbol
occurrence
coding
Prior art date
Application number
KR1020097000965A
Other languages
English (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 에섹스 피에이 엘엘씨
Publication of KR20090042775A publication Critical patent/KR20090042775A/ko

Links

Images

Classifications

    • 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Dc Digital Transmission (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

요약하면, 하나의 실시예에 따른 데이터 코딩 방법이 설명되어 있다.
데이터 코딩, 허프만 코드, 가변 길이 코드, 발생 확률

Description

데이터 코딩{DATA CODING}
본 특허 출원은 데이터 코딩에 관한 것이다.
잘 알려진 바와 같이, 저장 또는 전송을 위한 효율적인 데이터 코딩(coding)은 계속 새로운 방법이 탐색되고 있는 분야이다. 예를 들어, 압축과 같은 방법에 의해 데이터가 더욱 효율적으로 코딩될 수 있으면, 코딩 대상 데이터를 저장하기 위한 메모리의 양이 감소될 수 있다. 또한, 통신 시스템에서는, 데이터가 효율적으로 코딩될 수 있으면, 예를 들어, 소정 대역폭의 통신 채널에 대해, 더 많은 정보가 소정의 단위 시간 내에 전송될 가능성이 있다. 이러한 목적 및 다수의 다른 목적은 효율적인 데이터의 코딩을 위한 방법의 목적일 수 있다.
다음의 상세한 설명에는, 청구된 발명의 요지에 대한 완전한 이해를 제공하기 위하여 다수의 구체적인 세부 내용이 설명되어 있다. 그러나, 해당 분야의 당업자는 청구된 발명의 요지가 이러한 구체적인 세부 내용 없이도 실시될 수 있다는 것을 이해할 것이다. 다른 예에서는, 청구된 발명의 요지를 차단하지 않도록 하기 위하여, 잘 알려진 방법, 절차, 구성요소 및/또는 회로가 상세하게 설명되어 있지 않다.
다음의 상세한 설명 중의 일부분은 컴퓨터 및/또는 컴퓨팅 시스템 메모리와 같은 컴퓨팅 시스템 내에 저장된 데이터 비트 및/또는 2진 디지털 신호에 대한 연산의 알고리즘 및/또는 심볼(symbol) 표시에 의해 제공된다. 이러한 알고리즘 설명 및/또는 표시는 해당 분야의 다른 사람에게 그 작업의 실체를 전달하기 위하여 데이터 처리 기술 분야의 당업자에 의해 이용되는 기술이다. 본 명세서에서, 그리고 일반적으로, 알고리즘은 희망하는 결과에 도달하게 하는 연산 및/또는 유사한 처리의 일관성 있는 시퀀스(self-consistent sequence)인 것으로 간주된다. 연산 및/또는 처리는 물리량의 물리적 조작을 포함할 수 있다. 반드시 그렇지는 않지만, 대표적으로, 이러한 양은 저장, 전달, 결합, 비교 및/또는 그 외의 경우, 조작될 수 있는 전기 및/또는 자기 신호의 형태를 가질 수 있다. 때때로, 주로 통상적인 이용이라는 이유로 인해, 이러한 신호를 비트, 데이터, 값, 요소, 심볼, 문자, 용어, 수, 숫자 등으로 칭하는 것이 편리한 것으로 판명되었다. 그러나, 이러한 용어 및 유사한 용어는 적절한 물리량과 관련되어 있어야 하며, 이것은 단지 편리한 표기일 뿐이라는 것을 이해해야 한다. 다음의 논의로부터 명백한 바와 같이, 구체적으로 달리 기재되어 있지 않으면, 명세서 전반에 걸쳐 "처리", "컴퓨팅", "계산", "결정" 등과 같은 용어를 이용한 논의는 컴퓨팅 플랫폼(platform)의 프로세서, 메모리, 레지스터, 및/또는 다른 정보 저장, 전송 및/또는 디스플레이 장치 내에서 물리적인 전기량 및/또는 자기량 및/또는 다른 물리량으로 표현된 데이터를 조작 및/또는 변환하는 컴퓨터 또는 이와 유사한 전자 컴퓨팅 장치와 같은 컴퓨팅 플랫폼의 동작 및/또는 처리를 의미한다는 것을 인식해야 한다.
전송을 위해 데이터를 코딩하는 하나의 통상적인 방식은 실행시간(run time)에서 구체적으로 응용되고 있으며, 가변 길이 코더(VLC : Variable Length Coder)에 의한 방식이다. 가변 길이 코드는 심볼의 스트림(stream)을 저장하거나 송신하는 "코스트(cost)"를 감소시키는 널리 이용되는 방법이다. 다수의 전형적인 응용에서 마주치게 되는 바와 같이, 메시지에 대한 가능한 심볼의 발생 확률이 동일하지 않은 상황에 이 가변 길이 코드가 통상적으로 적용된다. 가변 길이 코드(VLC)는, 빈번하게 발생하는 심볼에 대해 짧은 코드가 이용되고 빈번하지 않은 심볼에 대해서는 더 긴 코드가 이용되는 심볼을 대체한다. 이와 같은 방식으로, 코드의 평균 길이가 감소될 수 있다. 가장 잘 알려진 범용 VLC는 허프만 코드(Huffman Code)라고 칭하지만, 파노/샤논 코드(Fano/Shannon code)를 포함하는 다수의 다른 코드가 존재한다. 허프만 코드의 상세한 내용은 Huffman, D: 'A method for the constructions of minimum redundancy codes', Pro. Inst. Radio Eng., 1952, 9, (40), pp 1098-1101.에서 알 수 있다. 물론, 청구된 발명의 요지는 그 범위가 허프만 코드에 한정되지 않는다.
모스 코드(Morse code)는 빈번하게 발생하는 E(1 도트)와 같은 문자를 짧은 코드로 대체하고, Q와 같은(대쉬 도트 도트 대쉬) 다른 것은 더 긴 코드로 대체한다는 점에서, 모스 코드도 VLC이다. 또 다른 예시는 평이한 영어 텍스트를 코딩하는 것이다. 일반적으로, 알파벳의 문자는 상이한 빈도로 발생한다. E는 가장 빈번한 심볼이며, 그 다음 순서가 T A O I N S H R D L U이다. 이것은 동등하게 발생하지 않으므로, 예를 들어, 효율적인 2진 코드(binary code)는 임의의 다른 심볼보다 E에 더 적은 비트를 할당할 것이다.
청구된 발명의 요지는 그 범위가 이에 관해 한정되지 않지만, 가능한 실시예의 하나의 예는 기대되는 발생 확률에 의해 등급이 정해지는 양(positive)의 정수인 N 심볼의 알파벳(alphabet)을 코딩하는 방법을 포함한다. 이러한 방법 실시예는, 예를 들어, 양의 정수인 임계 등급 T를 결정하는 단계; T 보다 높은 등급을 가지는 심볼을 가변 길이 코드에 의해 코딩하는 단계; 및 T 이하 등급의 심볼을 고정 길이 코드에 의해 코딩하는 단계를 포함하지만, 이것은 예일 뿐이며, 청구된 발명 요지는 그 범위가 이 특정 예에 한정되지 않는다. 물론, 청구된 발명의 요지는 관행적으로 더 낮은 등급 또는 더 높은 등급의 심볼을 사용하는 것에 그 범위가 한정되지 않는다. 청구된 발명의 요지는 더 높은 등급 또는 더 낮은 등급에 관한 관행에 관계없이 이러한 모든 실시예를 포함하도록 의도한 것이다. 그러므로, 일부 실시예에서, 더 높은 등급이 특정 심볼의 더 높은 발생 확률을 의미할 수 있지만, 다른 실시예에서는, 더 높은 등급이 특정 심볼의 더 낮은 발생 확률을 의미할 수도 있다.
이 예시적인 실시예를 계속 설명하면, 예를 들어, T보다 높은 등급의 더 많은 통상적인 심볼은 일례로서 허프만 코더(Huffman coder)와 같은 가변 길이 코더(VLC)를 이용하여 코딩될 수 있다. T 이하 등급의 이러한 심볼은 고정 길이 코드를 이용하여 코딩될 수도 있다.
그러므로, 이 특정 실시예에서는, 심볼의 세트(set)에 대한 코드가 2개의 부분: 서로 구별될 수 있도록 충분히 유일하게 코딩되는 제1의 가변 길이 코드 세트; 더 높은 발생 확률의 심볼 세트 및 더 낮은 발생 확률의 심볼 세트 사이를 구별하고, 더 낮은 발생 확률의 심볼 세트 내의 코드 사이를 구별하기 위해 적어도 충분한 비트의 수를 가지는 제2의 고정 길이 코드 세트를 포함할 수 있다.
물론, 청구된 발명의 요지는 특정한 실시예에 한정되지 않는다는 것에 주목해야 한다. 그러므로, 데이터의 코딩 방법을 포괄하는 것에 추가하여, 청구된 발명의 요지는 예를 들어, 이러한 방법을 포함하는 소프트웨어와 (하드웨어 또는 소프트웨어로 구현되는) 코더를 포괄하도록 의도된 것이다. 또한, 청구된 발명의 요지는 이러한 방법을 실시하는 비디오 또는 오디오 코덱(codec), 및/또는 비디오 또는 오디오 압축 시스템을 포함하여, 전술된 또는 청구된 바와 같은 방법에 따라 데이터가 인코딩(encoding)될 수 있도록 의도된 것이다. 예를 들어, 실시예는 멀리 떨어진 장소의 디코더(decoder)에 의한 재구성을 위해 통신 채널을 통해 데이터를 전송하는 것을 포함할 수 있다. 또한, 다른 방안으로서, 청구된 발명의 요지에 따른 또 다른 실시예에서는, 코딩된 데이터가 전송되기 보다는 저장될 수도 있다. 이에 따라, 청구된 발명의 요지는 이후에 더욱 상세하게 설명하는 바와 같이, 이러한 실시예 뿐만 아니라 다른 실시예도 포괄하도록 의도된 것이다.
발명의 요지는 명세서의 결론부에서 구체적으로 지적되고 명확하게 청구되어 있다. 그러나, 목적, 특징 및 장점과 함께, 구성 및 동작 방법에 대한 청구된 발명의 요지는 첨부 도면과 함께 다음의 상세한 설명을 참조하면 가장 잘 이해될 수 있다.
도 1은 허프만 코드의 하나의 실시예를 예시하는 도면 및 테이블이다.
도 2는 예를 들어, 청구된 발명의 요지에 따른 데이터 코딩의 실시예를 예시하는 도면 및 테이블이다.
이하, 도 1을 참조하면, 허프만 코드는 코딩 트리(coding tree)를 정의함으로써 결정되거나 구성될 수 있고, 이 코딩 트리에서, 심볼의 발생 확률은 트리(tree) 상의 리프(leaf)로서 나타낸다. 이러한 트리의 예 또는 실시예는 도 1에 예시되어 있지만, 청구된 발명의 요지는 이러한 예, 또는, 허프만 코드를 사용하거나 허프만 코드와 같은 코드를 구성하기 위한 트리를 사용하는 것에 그 범위가 한정되지 않는다. 그럼에도 불구하고, 예시를 위하여 이 간단한 예를 계속 설명하면, 도 1의 트리(100)와 같은 트리를 구성하기 위하여, 코딩되어야 할 데이터에서 발생하는 심볼은 그 확률의 순서로 등급이 정해진다. 이 예에서는, 2개의 최저 확률이 합산되어 새로운 확률과, 소정의 2진 코드 0 및 1을 구성하고, 이 2진 코드는 제1코드로부터 분리되는 2개의 브랜치(branch)로서 서로를 구별한다. 그 확률은 합산되고 그 노드(node)에 할당된다. 확률을 결합하는 것과, 구별용 2진 비트를 프리픽스(prefix) 하는 것은 마지막 2개의 확률에 도달될 때까지(잘 알려진 바와 같이, 단일성(unity)을 위해 합산되어야 함) 트리의 브랜치를 따라 계속된다.
구성되지 않은 트리를 이용하면, 특정한 희망하는 심볼을 포함하는 리프의 위치를 결정하고, 브랜치를 리프로부터 루트(root)로 이동시키면서 그 길을 따라 구별용 2진 디지트를 집합시킴으로써, 예를 들어, 코드 워드(code word)가 구성될 수 있다. 이에 따라, 2진 디지트의 집합은 이용될 코드 워드를 구성한다. 이 프로세스를 관측하는 또 다른 방식은, 코드 워드가 구성될 때, 루트 노드에 이르는 도중에 통과하게 되는 특정한 노드에서의 트리의 2개의 브랜치에 대응하는 2진 디지트 0 및 1이 코드에 프리픽스되는 것이다.
도 1에 도시된 예로 돌아가면, 예를 들어, 이 간단한 2진 트리를 이용하여 8개의 심볼이 "허프만 코딩" 되어 있다. 이 트리는 그 노드가 2개의 브랜치를 가지므로 2진 트리라고 칭한다. 심볼은 트리 상의 노드에 의해 표현되고, 노드로부터 좌측의 브랜치는 0 비트를 나타내고, 우측의 브랜치는 1 비트를 나타낸다.
다시, 위에서 암시된 바와 같이, 특정한 심볼에 대한 코드 워드를 생성하기 위하여, 희망하는 심볼을 포함하는 리프를 찾고, 루트까지 통과하게 되는 브랜치에 대한 추가적인 비트를 수집(예를 들어, 프리픽스)하면서, 트리를 루트를 향해 통과시킨다. 디코딩을 위하여 반대 경로가 선택되면, 루트에서 시작하여 리프에 도달될 때까지, 코드에서 연속 비트에 의해 지정되는 경로를 따라 트리 아래로 내려가며, 이 경우, 디코딩된 심볼이 구해질 것이다.
이 간단한 예에서, 심볼 1 내지 8은 통신 채널을 통해 송신되거나 저장될 데이터 스트림 내의 실제 심볼을 나타낸다. 이 예에서와 같이, 데이터 스트림에서 발생하는 심볼은 그 발생 확률의 순서로 등급이 정해질 수 있으므로, 예를 들어, 가장 빈번하게 발생하는 심볼은 코드 워드 1로 할당되고, 두 번째로 빈번하게 발생하는 심볼은 코드 워드 01로 할당되는 등으로 할 수 있지만, 이것은 코드 워드에 대한 하나의 가능한 배치일 뿐이고, 청구된 발명의 요지는 코드 워드의 이러한 배치 또는 임의의 다른 특정한 배치에 그 범위가 한정되지 않는다.
심볼의 발생 빈도가 알려지는 경우, 등급 결정이 그것에 기초하여 수행될 수 있다. 이러한 빈도가 알려지지 않는 경우, 등급 결정은 기대되는 확률 또는 예상되는 확률에 적어도 부분적으로 기초할 수 있다. 또한, 적어도 부분적으로 구성의 대칭성으로 인해, 트리 구성시와 코드 형성시에 임의의 노드에서의 심볼 0 및 1의 역할의 전환은 동등하다.
또한, 코딩이 계속됨에 따라 변하는 확률에 따라 트리가 "재구성(rebuilt)"될 수도 있다. 예를 들어, 심볼의 발생에 대한 등급 순서가 변하는 경우, 예를 들어, 트리를 재구성함으로써 더 양호한 코드가 구성될 수 있다. 위와 같이, 대표적으로 코딩 트리에 의해 허프만 코딩이 주로 설명되지만, 2진 트리를 통한 구현은 코드를 구성하기 위한 확률의 테이블(table)과, 그 구현을 위한 룩업 테이블(lookup table)을 이용하는 것보다는 덜 효율적일 수 있다. 또한, 분리를 위한 노드에서 브랜치에 대한 비트의 할당이 예를 들어, 반전될 수 있으므로, 얻어지는 특정한 코드는 반드시 유일한(unique) 것일 필요가 없다. 또한, 2개 이상의 확률은 동일할 수 있으며, 집합시키기 위한 심볼에 대한 임의의 선택을 제공한다. 이에 따라, 확률의 특정한 리스트에 대하여, 몇 개의 상이한 트리가 동등할 수 있으며, 이러한 상이한 트리는 일부 예에서 서로에 대해 더 길거나 더 짧을 수 있다 그러나, 이러한 가능성 있는 트리 변형에도 불구하고, 동일한 확률 상에서 구성된 허프만 트리의 엔트로피(entropy)는 동일하고, 일반적으로, VLC를 위해 가능한 최소 엔트로피이다.
정보 이론 분야에서 잘 알려진 바와 같이, 심볼 당 전송되는 비트의 측면에서, 전송의 기대되는 "코스트(cost)"는 임의의 코더에 대해 계산될 수 있다. N이 정수이고, 심볼 k의 발생 확률이 p(k)인 N개의 심볼의 알파벳에서는, 심볼 k를 코딩하는 이론적 코스트가 log2p(k) 비트이고, 이것으로부터, 심볼 소스(source)의 엔트로피로 불리는 심볼을 코딩하는 평균 코스트 B는 심볼 코스트를 그 확률에 의해 가중치를 부가함으로써 다음과 같이 얻어진다:
Figure 112009002945597-PCT00001
비트
예를 들어, 간단한 코더는 심볼 k를 통신하기 위하여 k 비트를 할당할 수 있다. 이것은 가변 길이 코드(VLC)의 하나의 예이며, 허프만 코드를 포함할 수도 있고 포함하지 않을 수도 있다. 이 예에서, 이 특정한 코드에 의해 메시지를 송신하는 이론적 코스트는 다음과 같다.
Figure 112009002945597-PCT00002
또한, 심볼 k의 확률이 정확히 1/2k이면, log2p(k) = -k이며, 이 특정한 경우의 이 코드는 이론적 코스트를 정확하게 달성한다. 또한, 심볼 k가 확률 1/2k를 가지는 경우, 생성되는 코드는 도 1에 예시된 바와 같이, 상기 예에서 설명된 허프만 코드라는 것이 판명된다.
일반적으로, 허프만 코드의 엔트로피는 사용될 수 있는 임의의 VLC 중에서 최저 엔트로피이며, 이론적 코스트를 항상 달성하지 않을 것이지만, 위에서 언급된 경우에서와 같이, 심볼 k의 확률이 1/2k인 경우에는 이론적 코스트를 달성한다. 또한, 그것은 모든 코드 중에서 반드시 가장 효율적인 코드일 필요는 없다. 예를 들어, 상당히 간단하지만 VLC가 아닌 골롬 코드(Golomb code)가 때때로 아래의 예에서 도시된 바와 같이 더욱 효율적일 수 있다. 여기서, 산술 코드라고 칭하는 코딩 방법의 또 다른 계열은 이론적 코스트에 접근하기 위한 능력을 가지므로, 허프만 코드보다 더욱 효율적일 수 있지만, 이러한 코드는 복잡할 수 있고 이 목적을 위해 조정을 해야 하는 과제가 있을 수 있다.
허프만 코드와 관련된 하나의 단점은, 많은 알파벳에서 빈번하지 않은 심볼에 대한 코드가 길 수 있다는 것이다. 짧은 메시지에서의 이러한 심볼의 발생은 때때로 방해가 될 수 있다. 예를 들어, 비교적 높은 압축률의 이미지 압축에서는, 이미지 블럭을 코딩하기 위해 이용되는 일부 심볼의 허프만 코드가 블럭에 대한 "비용(budget)"보다 클 수 있어서, 블럭이 코딩될 수 없는 상황이나, 이미지의 다른 부분으로부터의 비트가 특정한 블럭에 할당되는 상황을 만들게 됨으로써, 할당되는 이러한 비트의 시발점인 이미지 부분의 이미지 품질에 영향을 준다. 또한, 실제로(특히, 적응적인 경우), 트리가 심볼의 소스로부터 나타날 때, 데이터로부터 추정되는 확률로부터 트리가 구성될 수 있다. 즉, 확률은 추정되므로, 적어도 부분적으로 추정시의 잠재적인 에러로 인해, 짧은 코드를 구성하기 위한 기회가 간과될 수 있다.
청구된 발명의 요지에 따른 실시예는 코드가 적응적이고 및/또는 효율적으로 되게 하면서, 적어도 부분적으로 앞에서 설명된 기술적 문제의 일부를 해결할 수 있다. 예를 들어, 하나의 특정 실시예에서, 적어도 부분적으로 특정한 확률에 기초하여, 일정한 수의 덜 빈번하게 발생하는 심볼은 VLC에 의해 코딩되지 않을 수 있고, 그 대신에, 동일한 수의 비트를 사용할 수 있다. 요구되는 것은 아니지만, 때때로, 이 수는 2의 급수(power)인 것인 바람직하다.
예를 들어, 확률의 내림차순으로 배치되어 있고 임계값 T를 가지며, 1 내지 N의 범위인 N 심볼에 의해, 심볼 1 내지 T-1이 VLC에 의해 코딩된다고 가정하자. 이 예에서, T 내지 N으로 번호가 매겨진 이러한 심볼의 나머지 N-T+1은 그 길이가 나머지 심볼을 코딩하기에 충분한 고정 길이 코드에 의해 코딩될 수 있지만, 그것은 고정되어 있으므로, 그렇지 않을 경우에 이용될 수 있는 가장 긴 VLC 만큼 길지는 않을 것이다. 그것은 비트의 시퀀스(sequence), 예를 들어, 코드와 결합되며, 이 코드는 특정한 심볼이 1 내지 T-1의 범위에 있지 않음을 나타낸다. 이에 따라, 이 방법은 허프만 코드와 관련하여 위에서 언급된 잠재적인 방해를 감소시킨다.
이하, 최적인 것으로 알려져 있는 허프만 코더를 포함하는 예가 제공되며, 이와 관련하여, 최적이란 실제 코드가 평균적으로 이론적 엔트로피를 달성할 것임을 의미한다. 이 예에서, 8 개의 심볼의 확률은 1/2, 1/4, ...으로 할당되므로, 심볼 스트림의 이론적 엔트로피는 심볼 당 1.9844 비트이다. 이러한 상황에서, 허프만 코더는 이것을 평균적으로 정확하게 달성한다.
그러나, 도 2에는 T = 5의 임계값이 이용되는 예시적인 실시예가 도시되어 있다. 이에 따라, 이 실시예에 대해 위에서 설명한 바와 같이, 이 특정 예에서는, 2개의 비트를 특수 시작 코드(여기서는, 0000)에 포스트픽스(postfix) 함으로써 마지막 4개의 심볼이 코딩된다. 시작 코드는 이 심볼이 VLC 코딩되지 않았다는 것을 디코더에 전송한다. 물론, 이용될 가능성이 있는 VLC 코드와 고정 길이 코드를 구별하는 것에 관하여 디코더에 대해 불명료함을 일으키지 않는다면, 특수한 프리픽스된 코드는 전송을 위해 편리한 것을 포함할 수 있다는 것을 이해할 것이다.
도 2의 상부 부분은 이 특수한 코딩 방식을 나타내는 트리 구조를 도시하지만, 이것은 예시적인 예일 뿐이며, 청구된 발명의 요지는 그 범위가 이 특정한 예에 한정되지 않는다. 그럼에도 불구하고, 이 예에서, 심볼 1 내지 4는 이전과 같이 VLC에 의해 코딩되지만, 심볼 5 내지 8은 모두 도시된 바와 같이 공통 노드에서 발산된다. 그 노드까지의 링크 또는 브랜치는 최종 심볼을 식별하는 고정 길이의 2-비트 코드, 즉, 도시된 바와 같이, 00, 01, 10, 및 11을 나타내는 것으로 간주될 수 있다. 이전과 같이, 특정한 심볼에 대한 코드 워드를 생성하기 위하여, 루트로부터 그 심볼을 나타내는 리프 노드까지 트리를 통과한다.
도시된 예에서는, 코드 0000가 트리의 구조로부터 나타난다. 따라서, 코드 0000의 시작 부분은 루트로부터 트리를 통과하여 0 링크 아래로 4개의 레벨을 이동하라는 명령으로서 판독될 수 있다. 다음으로, 적절한 나머지 링크 또는 브랜치, 즉, 00, 01, 10 또는 11을 따라감으로써, 희망하는 리프에 도달할 수 있다.
더욱 일반적으로, 여기서는 낮은 발생 확률을 나타내는 T 이하 등급의 심볼에 대한 코드 워드의 시작 부분은 최종 노드에 도달하기 위하여 통과되는 트리의 링크를 나타내며, 비교적 낮은 빈도의 심볼과 관련된 리프는 이 최종 노드로부터 브랜치가 끝난다. 또 다른 실시예(도시하지 않음)에서는, 예를 들어, 낮은 빈도의 심볼이 도 2에서 4로 표기된 노드로부터 브랜치를 생성할 수 있으며, 이 경우, 고정 길이 코드 워드의 시작 부분은 0000가 아니라 0001을 포함할 수 있다.
물론, 이러한 코드의 정확한 형태는 변동될 수 있다. 그러나, 예를 들어, 고정 길이 코드가 뒤따른다는 것을 나타내는 특수 코드를 인식하는 능력을 디코더가 가지는 것이 바람직하다. 또한, 구현예에서는, 룩업 테이블이 트리 통과 방법에 대해 편리성 및 다른 잠재적인 장점을 제공할 수 있지만, 더욱 바람직한 것은 적어도 부분적으로 특정 응용 또는 상황을 포함하는 여러 상이한 인자에 의존할 수 있다.
이 예에서, 심볼 확률이 1/2, 1/4 등이라는 것을 상기하면, 이 예시적인 실시예에서의 심볼 당 이용되는 평균 비트 수와, 도 1의 허프만 코드에 대한 심볼 당 이용되는 평균 비트 수를 비교하기 위하여, 다음의 테이블이 구성될 수 있다.
심볼 확률 코드 전체 비트 평균 비트 허프만 코드 평균 비트 허프만
1 1/2 1 1 1/2 1 1/2
2 1/4 01 2 2/4 01 2/4
3 1/8 001 3 3/8 001 3/8
4 1/16 0001 4 4/16 0001 4/16
5 1/32 0000 00 6 6/32 00001 5/32
6 1/64 0000 01 6 6/64 000001 6/64
7 1/128 0000 10 6 6/128 0000001 7/128
8 1/256 0000 11 6 6/256 0000000 7/256
여기서, 예시적인 실시예는 심볼 5에 대해 덜 효율적이지만, 심볼 7 및 8에 대해 더 효율적이라는 것에 주목해야 한다. 이 마지막 2개는 빈번하지 않게 발생한다. 종합하면, 결론적으로, 이 예시적인 실시예는 여기에서 사용될 수 있는 허프만 코드보다는 덜 효율적이기는 하지만, 약간만 덜 효율적이다.
이 혼성 가변/고정 길이 코드(V/FLC)에 의해 이용되는 평균 비트 수는 2.0이 다. 이것은 여기서 1.9844인 허프만 코드보다는 1% 미만으로 나쁘다. 그러나, 이 값은 허프만에 대해 최적의 경우이다. 여기서, 심볼 5인 임계 심볼 T는 허프만 코더보다 나쁘다는 것을 알 수 있다. 그러나, 더 드문 심볼에 대해서는, 코드가 더 짧다. 이에 따라, 더 드문 심볼은 더욱 효율적으로 코딩되며, 이 예에서 더 짧은 코드를 가진다.
1부터 T-1까지의 심볼 k에 대한 VLC가 k비트의 길이인 경우, 이러한 V/FLC의 심볼 당 비트에 있어서의 이론적인 코스트는 다음과 같이 표현될 수 있다:
Figure 112009002945597-PCT00003
또 다른 실시예에서, 이러한 VLC 프로세스가 현재 알려져 있거나 또는 미래에 개별될 것인지에 따라, 허프만 절차는 첫 번째 T-1 심볼에 대해 VLC를 구성하도록 적용되거나, 임의의 다른 VLC 프로세스를 적용할 수 있다. 허프만 절차를 이용할 때, N-T+1 심볼 T 내지 N을 집합시켜서, 예를 들어, 고정 길이의 비트 수에 의해 구별되도록 할 수 있다. N-T+1이 2의 급수이면, 잘 알려진 바와 같이, 반드시 그러한 것은 아니지만, 통상적으로, 2진수를 얻기 위하여 이것을 카운트함으로써, log2(N-T+1) 비트의 모든 가능한 결합에 의해 열거될 수 있다. 달리 말하자면, 2진수가 미사용이 아니므로, 코드는 효율적이다.
청구된 발명의 요지에 따른 실시예는 다양한 응용에서 이용될 수 있지만, 코딩될 심볼의 정보 내용에 의해 제한되지 않는다. 예를 들어, 심볼은 텍스트 문자, 스틸 이미지 또는 동영상 내의 픽셀 값, 오디오 시스템 내의 진폭, 및/또는 다른 가능한 값 또는 속성을 나타낼 수 있다. 또 다른 실시예에서, 청구된 발명의 요지에 따른 방법은 실행 길이 코더(run length coder)에 대해 근거를 제공할 수 있다. 심볼이 예를 들어, 일련의 비트 및 다른 잠재적인 변형에 의해 표현되는 것과 같은, 2진 데이터의 스트림을 인코딩하기 위해 실시예가 이용될 수도 있다.
청구된 발명의 요지에 따른 실시예는, 예를 들어, 코딩의 적용 전에 임의의 편리한 맵핑(mapping)에 의해 숫자 형태로 변환된, 심볼 데이터와 같은 비-숫자 데이터(non-numeric data)를 포함하는 모든 타입의 데이터의 코딩에 적용될 수 있다. 물론, 청구된 발명의 요지는 그 응용에 한정되지 않는다는 것을 이해할 것이지만, 주목한 바와 같이, 실시예는 실행 길이 코딩을 잘 수행한다. 청구된 발명 요지의 실시예는 다수의 상이한 타입의 데이터 코딩 중에서 임의의 하나에 적용되도록 의도한 것이다. 그러므로, 청구된 발명의 요지는 적용될 수 있는 데이터의 타입에 의하여 한정되도록 의도한 것이 아니다.
물론, 특정한 실시예가 위와 같이 설명되었지만, 청구된 발명의 요지는 그 범위가 특정한 실시예 또는 구현예로 한정되지 않는다는 것을 이해해야 한다. 예를 들어, 하나의 실시예는, 예를 들어, 장치 또는 장치의 결합 상에서 동작하도록 구현되는 하드웨어일 수 있는 반면, 다른 실시예는 소프트웨어일 수 있다. 또한, 실시예는 펌웨어로 구현되거나, 예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어의 임의의 결합으로서 구현될 수 있다. 또한, 청구된 발명의 요지는 그 범위가 이에 관해 한정되지 않지만, 하나의 실시예는 저장 매체 또는 저장 매체들과 같은 하나 이상의 물품(article)을 포함할 수 있다. 예를 들어, 하나 이상의 CD-ROM 및/또는 디스크와 같은 이러한 저장 매체는 그 위에 명령을 저장하고 있으며, 이 명령은 예를 들어, 컴퓨터 시스템, 컴퓨팅 플랫폼 또는 다른 시스템과 같은 시스템에 의해 실행되는 경우, 예를 들어, 이전에 설명된 실시예 중의 하나와 같은, 청구된 발명 요지에 따른 방법의 실시예가 실행될 수 있다. 하나의 유망한 예로서, 컴퓨팅 플랫폼은 하나 이상의 프로세싱 유닛 또는 프로세서와, 디스플레이와 같은 하나 이상의 입력/출력 장치와, 키보드 및/또는 마우스와, 및/또는, 정적 랜덤 액세스 메모리(static random access memory), 동적 랜덤 액세스 메모리(dynamic random access memory), 플래쉬 메모리(flash memory) 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.
이상의 설명에서는, 청구된 발명 요지의 다양한 양태가 설명되었다. 설명을 위하여, 구체적인 수, 시스템 및/또는 구성은 청구된 발명 요지의 완전한 이해를 제공하도록 설명되었다. 그러나, 이 개시 내용의 장점을 가지는 해당 분야의 당업자에게는, 청구된 발명 요지가 구체적인 상세 내용이 없이도 실시될 수 있다는 것이 명백해야 한다. 다른 예에서는, 청구된 발명 요지를 차단하지 않기 위하여, 잘 알려진 특징이 생략 및/또는 간략화되었다. 일정한 특징은 본 명세서에서 예시 및/또는 설명되었지만, 다수의 변형, 대체, 변경 및/또는 등가물은 해당 분야의 당업자에게 발생할 것이다. 그러므로, 첨부된 청구범위는 청구된 발명 요지의 진정한 취지 내에 속하는 이러한 모든 변형 및/또는 변경을 포괄하도록 의도한 것이다.

Claims (36)

  1. 기대되는 발생 확률에 의해 등급이 정해진 N 심볼의 알파벳을 코딩하는 방법으로서,
    임계 확률 T를 할당하는 단계;
    임계 확률 T보다 높은 발생 확률을 가지는 심볼을 가변 길이 코드에 의해 코딩하는 단계; 및
    임계 확률과 실질적으로 동일하거나 더 낮은 발생 확률을 가지는 심볼을 고정 길이 코드에 의해 코딩하는 단계를 포함하는 코딩 방법.
  2. 제 1 항에 있어서, 상기 가변 길이 코드는 허프만(Huffman) 코드를 포함하는 것인, 코딩 방법.
  3. 제 1 항에 있어서, 상기 고정 길이 코드는, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드를 포함하고, 임계 확률 T로부터의 소정의 심볼을, 임계 확률 T보다 낮은 발생 확률을 가지는 임의의 다른 심볼로부터 유일하게 식별하는, 제1코드를 뒤따르는 제2코드를 포함하는 것인, 코딩 방법.
  4. 제 1 항에 있어서, 상기 코딩은 2진 코딩을 포함하는 것인, 코딩 방법.
  5. 제 4 항에 있어서, 상기 고정 길이 코드는, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드와, 1 내지 N-T 범위에서 숫자의 2진 표시를 나타내는 제1코드를 뒤따르는 제2코드를 포함하는 것인, 코딩 방법.
  6. 제 5 항에 있어서, 상기 제1코드는 0 및/또는 1의 시퀀스를 포함하는 것인, 코딩 방법.
  7. 제 6 항에 있어서, N-T+1은 2의 급수인 것으로 선택되는 것인, 코딩 방법.
  8. 제 1 항에 있어서, 2진 데이터의 스트림을 코딩하기 위하여, 상기 심볼은 일련의 비트에 의해 표현되는 것인, 코딩 방법.
  9. 제 1 항에 있어서, 상기 심볼은 실행 길이를 이용하여 표현되는 것인, 코딩 방법.
  10. 명령이 실행되는 경우, 기대되는 발생 확률에 의해 등급이 정해진 N 심볼의 알파벳을 코딩하는 방법이 수행되도록 하는 명령을 저장하는 저장 매체를 포함하는 물품으로서, 상기 방법은,
    임계 확률 T를 할당하는 단계;
    임계 확률 T보다 높은 발생 확률을 가지는 심볼을 가변 길이 코드에 의해 코딩하는 단계; 및
    임계 확률과 실질적으로 동일하거나 더 낮은 발생 확률을 가지는 심볼을 고정 길이 코드에 의해 코딩하는 단계가 수행되도록 하는 것인, 저장 매체를 포함하는 물품.
  11. 제 10 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은 상기 가변 길이 코드가 허프만 코드를 포함하도록 하는 것인, 저장 매체를 포함하는 물품.
  12. 제 10 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은,
    상기 고정 길이 코드가, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드를 포함하고, 임계 확률 T로부터의 소정의 심볼을, 임계 확률 T보다 낮은 발생 확률을 가지는 임의의 다른 심볼로부터 유일하게 식별하는, 제1코드를 뒤따르는 제2코드를 포함하도록 하는 것인, 저장 매체를 포함하는 물품.
  13. 제 10 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은 상기 코딩이 2진 코딩을 포함하도록 하는 것인, 저장 매체를 포함하는 물품.
  14. 제 13 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은,
    상기 고정 길이 코드가, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드와, 1 내지 N-T 범위에서 숫자의 2진 표시를 나타내는 제1코드를 뒤따르는 제2코드를 포함하도록 하는 것인, 저장 매체를 포함하는 물품.
  15. 제 14 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은 상기 제1코드가 0 및/또는 1의 시퀀스를 포함하도록 하는 것인, 저장 매체를 포함하는 물품.
  16. 제 15 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은 N-T+1이 2의 급수인 것으로 선택되도록 하는 것인, 저장 매체를 포함하는 물품.
  17. 제 10 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은, 2진 데이터의 스트림을 코딩하기 위하여, 상기 심볼이 일련의 비트에 의해 표현되도록 하는 것인, 저장 매체를 포함하는 물품.
  18. 제 10 항에 있어서, 상기 명령이 실행되는 경우, 상기 명령은 상기 심볼이 실행 길이를 이용하여 표현되도록 하는 것인, 저장 매체를 포함하는 물품.
  19. 기대되는 발생 확률에 의해 등급이 정해진 N 심볼의 알파벳에 대하여, 임계 확률 T를 할당하기 위한 수단;
    임계 확률 T보다 높은 발생 확률을 가지는 심볼을 가변 길이 코드에 의해 코딩하기 위한 수단; 및
    임계 확률과 실질적으로 동일하거나 더 낮은 발생 확률을 가지는 심볼을 고정 길이 코드에 의해 코딩하기 위한 수단
    을 포함하는 장치.
  20. 제 19 항에 있어서, 상기 가변 길이 코드에 의해 심볼을 코딩하기 위한 수단은 심볼을 허프만 코드에 의해 코딩하기 위한 수단을 포함하는 것인, 장치.
  21. 제 19 항에 있어서, 상기 코딩될 고정 길이 코드는, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드를 포함하고, 임계 확률 T로부터의 소정의 심볼을, 임계 확률 T보다 낮은 발생 확률을 가지는 임의의 다른 심볼로부터 유일하게 식별하는, 제1코드를 뒤따르는 제2코드를 포함하는 것인, 장치.
  22. 제 19 항에 있어서, 상기 코딩은 2진 코딩을 포함하는 것인, 장치.
  23. 제 22 항에 있어서, 상기 코딩될 고정 길이 코드는, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드와, 1 내지 N-T 범위에서 숫자의 2진 표시를 나타내는 제1코드를 뒤따르는 제2코드를 포함하는 것인, 장치.
  24. 제 23 항에 있어서, 상기 코딩될 제1코드는 0 및/또는 1의 시퀀스를 포함하는 것인, 장치.
  25. 제 24 항에 있어서, N-T+1은 2의 급수인 것으로 선택되는 것인, 장치.
  26. 제 19 항에 있어서, 2진 데이터의 스트림을 코딩하기 위하여, 상기 심볼은 일련의 비트에 의해 표현되는 것인, 장치.
  27. 제 19 항에 있어서, 상기 심볼은 실행 길이를 이용하여 표현되는 것인, 장치.
  28. 기대되는 발생 확률에 의해 등급이 정해진 N 심볼의 알파벳에 대하여, 임계 확률 T를 할당하도록 구성되고, 임계 확률 T보다 높은 발생 확률을 가지는 심볼을 가변 길이 코드에 의해 코딩하도록 구성되고, 임계 확률과 실질적으로 동일하거나 더 낮은 발생 확률을 가지는 심볼을 고정 길이 코드에 의해 코딩하도록 구성되는 컴퓨터 플랫폼을 포함하는 것인, 장치.
  29. 제 28 항에 있어서, 상기 컴퓨팅 플랫폼은 상기 가변 길이 코드가 허프만 코드를 포함하도록 구성되는 것인, 장치.
  30. 제 28 항에 있어서, 상기 컴퓨팅 플랫폼은, 상기 고정 길이 코드가, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드를 포함하고, 임계 확률 T로부터의 소정의 심볼을, 임계 확률 T보다 낮은 발생 확률을 가지는 임의의 다른 심볼로부터 유일하게 식별하는, 제1코드를 뒤따르는 제2코드를 포함하도록 구성되는 것인, 장치.
  31. 제 28 항에 있어서, 상기 컴퓨팅 플랫폼은 상기 코딩이 2진 코딩을 포함하도록 구성되는 것인, 장치.
  32. 제 31 항에 있어서, 상기 컴퓨팅 플랫폼은, 상기 고정 길이 코드가, 임계 확률 T보다 높은 발생 확률을 가지는 심볼에 대한 임의의 가능한 코드와 상이한 제1코드와, 1 내지 N-T 범위에서 숫자의 2진 표시를 나타내는 제1코드를 뒤따르는 제2코드를 포함하도록 구성되는 것인, 장치.
  33. 제 32 항에 있어서, 상기 컴퓨팅 플랫폼은 상기 제1코드가 0 및/또는 1의 시퀀스를 포함하도록 구성되는 것인, 장치.
  34. 제 33 항에 있어서, 상기 컴퓨팅 플랫폼은 N-T+1이 2의 급수인 것으로 선택되도록 하는 것인, 장치.
  35. 제 28 항에 있어서, 상기 컴퓨팅 플랫폼은, 2진 데이터의 스트림을 코딩하기 위하여, 상기 심볼이 일련의 비트에 의해 표현되도록 구성되는 것인, 장치.
  36. 제 28 항에 있어서, 상기 컴퓨팅 플랫폼은 상기 심볼이 실행 길이를 이용하여 표현되도록 구성되는 것인, 장치.
KR1020097000965A 2006-06-19 2007-06-18 데이터 코딩 KR20090042775A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/425,142 2006-06-19
US11/425,142 US20070290899A1 (en) 2006-06-19 2006-06-19 Data coding

Publications (1)

Publication Number Publication Date
KR20090042775A true KR20090042775A (ko) 2009-04-30

Family

ID=38834042

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000965A KR20090042775A (ko) 2006-06-19 2007-06-18 데이터 코딩

Country Status (6)

Country Link
US (1) US20070290899A1 (ko)
EP (1) EP2030325A2 (ko)
JP (1) JP2009542094A (ko)
KR (1) KR20090042775A (ko)
CN (1) CN101501999B (ko)
WO (1) WO2007149384A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US7689049B2 (en) * 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) * 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design
US7707213B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) * 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US20080205505A1 (en) * 2007-02-22 2008-08-28 Donald Martin Monro Video coding with motion vectors determined by decoder
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US7864086B2 (en) 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7786903B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
KR20130122353A (ko) * 2012-04-30 2013-11-07 삼성전자주식회사 비트율 추정 장치 및 그것의 비트율 추정 방법
CN103414663B (zh) * 2013-04-22 2016-10-19 昆明理工大学 基于回溯法的莫尔斯信号自适应识别方法
US10090864B2 (en) 2014-09-22 2018-10-02 Samsung Display Co., Ltd. System and method for decoding variable length codes
CN110739974B (zh) * 2018-07-19 2023-11-10 嘉楠明芯(北京)科技有限公司 数据压缩方法及装置和计算机可读存储介质
CN109959401B (zh) * 2019-03-26 2022-01-11 中国科学院光电技术研究所 一种光电轴角编码器的快速编码方法
CN110971340A (zh) * 2019-10-17 2020-04-07 北京邮电大学 基于树状结构的灾情信息编、解码方法和装置
CN116684003B (zh) * 2023-07-27 2023-10-24 南京中科齐信科技有限公司 一种基于量子通信的铁路沿线空地综合监测方法及***

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5411614A (en) * 1977-06-27 1979-01-27 Nec Corp Code conversion unit for digital signal
US4168513A (en) * 1977-09-12 1979-09-18 Xerox Corporation Regenerative decoding of binary data using minimum redundancy codes
US4908873A (en) * 1983-05-13 1990-03-13 Philibert Alex C Document reproduction security system
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
US4899148A (en) * 1987-02-25 1990-02-06 Oki Electric Industry Co., Ltd. Data compression method
US5218435A (en) * 1991-02-20 1993-06-08 Massachusetts Institute Of Technology Digital advanced television systems
US5315670A (en) * 1991-11-12 1994-05-24 General Electric Company Digital data compression system including zerotree coefficient coding
US5321776A (en) * 1992-02-26 1994-06-14 General Electric Company Data compression system including successive approximation quantizer
GB9204360D0 (en) * 1992-02-28 1992-04-08 Monro Donald M Fractal coding of data
JPH06141301A (ja) * 1992-10-27 1994-05-20 Victor Co Of Japan Ltd 画像情報圧縮装置、伸長装置及び圧縮伸長装置
US5412741A (en) * 1993-01-22 1995-05-02 David Sarnoff Research Center, Inc. Apparatus and method for compressing information
JPH06237184A (ja) * 1993-02-10 1994-08-23 Fujitsu Ltd 可変長符号化回路
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
US6086706A (en) * 1993-12-20 2000-07-11 Lucent Technologies Inc. Document copying deterrent method
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
JPH08116447A (ja) * 1994-10-18 1996-05-07 Fuji Xerox Co Ltd 画像信号の符号化装置
US6208744B1 (en) * 1994-12-14 2001-03-27 Casio Computer Co., Ltd. Document image processor and method for setting a document format conforming to a document image
US5754704A (en) * 1995-03-10 1998-05-19 Interated Systems, Inc. Method and apparatus for compressing and decompressing three-dimensional digital data using fractal transform
US5699121A (en) * 1995-09-21 1997-12-16 Regents Of The University Of California Method and apparatus for compression of low bit rate video signals
US6078619A (en) * 1996-09-12 2000-06-20 University Of Bath Object-oriented video system
JPH10117353A (ja) * 1996-10-09 1998-05-06 Nec Corp データ処理装置および受信装置
JP2870515B2 (ja) * 1996-12-27 1999-03-17 日本電気株式会社 可変長符号化装置
JP4412622B2 (ja) * 1997-02-05 2010-02-10 コニカミノルタビジネステクノロジーズ株式会社 カラー複写機
GB9703441D0 (en) * 1997-02-19 1997-04-09 British Tech Group Progressive block-based coding for image compression
US6029167A (en) * 1997-07-25 2000-02-22 Claritech Corporation Method and apparatus for retrieving text using document signatures
US5956429A (en) * 1997-07-31 1999-09-21 Sony Corporation Image data compression and decompression using both a fixed length code field and a variable length code field to allow partial reconstruction
US6125348A (en) * 1998-03-12 2000-09-26 Liquid Audio Inc. Lossless data compression with low complexity
GB9920256D0 (en) * 1999-08-26 1999-10-27 Wave Limited M Motion estimation and compensation in video compression
JP4560694B2 (ja) * 2000-04-05 2010-10-13 ソニー株式会社 符号化装置及びその方法
JP2001308715A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
US6654503B1 (en) * 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
GB0019121D0 (en) * 2000-08-03 2000-09-27 Wave Limited M Signal compression and decompression
GB0021891D0 (en) * 2000-09-06 2000-10-25 Wave Ltd M Adaptive video delivery
GB0108080D0 (en) * 2001-03-30 2001-05-23 Univ Bath Audio compression
US7003039B2 (en) * 2001-07-18 2006-02-21 Avideh Zakhor Dictionary generation method for video and image compression
FR2833818B1 (fr) * 2001-12-21 2004-11-19 Oreal Dispositif comportant un boitier et un applicateur
JP4350414B2 (ja) * 2003-04-30 2009-10-21 キヤノン株式会社 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム
GB0321954D0 (en) * 2003-09-18 2003-10-22 Wave Ltd M Data compression
US7079986B2 (en) * 2003-12-31 2006-07-18 Sieracki Jeffrey M Greedy adaptive signature discrimination system and method
US7562021B2 (en) * 2005-07-15 2009-07-14 Microsoft Corporation Modification of codewords in dictionary used for efficient coding of digital media spectral data
US7848584B2 (en) * 2005-09-08 2010-12-07 Monro Donald M Reduced dimension wavelet matching pursuits coding and decoding
US7813573B2 (en) * 2005-09-08 2010-10-12 Monro Donald M Data coding and decoding with replicated matching pursuits
US20070053603A1 (en) * 2005-09-08 2007-03-08 Monro Donald M Low complexity bases matching pursuits data coding and decoding
US20070271250A1 (en) * 2005-10-19 2007-11-22 Monro Donald M Basis selection for coding and decoding of data
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) * 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7845571B2 (en) * 2006-06-19 2010-12-07 Monro Donald M Data compression
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US7689049B2 (en) * 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) * 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) * 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US20080084924A1 (en) * 2006-10-05 2008-04-10 Donald Martin Monro Matching pursuits basis selection design

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text

Also Published As

Publication number Publication date
WO2007149384A3 (en) 2008-03-13
WO2007149384B1 (en) 2008-05-08
CN101501999B (zh) 2013-02-13
US20070290899A1 (en) 2007-12-20
CN101501999A (zh) 2009-08-05
WO2007149384A2 (en) 2007-12-27
EP2030325A2 (en) 2009-03-04
JP2009542094A (ja) 2009-11-26

Similar Documents

Publication Publication Date Title
KR20090042775A (ko) 데이터 코딩
KR101172937B1 (ko) 지수값과 나머지값을 사용하는 데이터 코딩
US7845571B2 (en) Data compression
US11044495B1 (en) Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation
US5710562A (en) Method and apparatus for compressing arbitrary data
US6100824A (en) System and method for data compression
US20180248567A1 (en) Method for error-correction coding
Willems Universal data compression and repetition times
KR20120018360A (ko) 가변 길이 코딩을 위한 방법 및 장치
Dubé et al. Fast construction of almost optimal symbol distributions for asymmetric numeral systems
US20180205952A1 (en) Method and apparatus for performing arithmetic coding by limited carry operation
KR101612281B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
US7263233B2 (en) Apparatus and method for data compressibility test
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
Nangir et al. A new recursive algorithm for universal coding of integers
EP0047382A2 (en) Adaptive compression encoding of a binary-source symbol string
Iwata et al. Evaluation of maximum redundancy of data compression via substring enumeration for k-th order Markov sources
US20220060196A1 (en) Data compression using reduced numbers of occurrences
Lee et al. An effect analysis of code-word distance extension in Reed-Muller codes with dynamic frozen bits
Shields The entropy theorem via coding bounds
KR19990050486A (ko) 고속 처리 가변 길이 코덱 장치
KR101682829B1 (ko) 메시지 압축 방법 및 장치
Said Resilient Parameterized Tree Codes for Fast Adaptive Coding
Hong et al. Variable-lenth code based on an order complexity
KR20160021416A (ko) 이진 데이터의 압축 및 복원 방법과 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120601

Effective date: 20131022