KR20110094046A - 정수-값 데이터의 스트림을 압축하는 시스템 및 방법 - Google Patents

정수-값 데이터의 스트림을 압축하는 시스템 및 방법 Download PDF

Info

Publication number
KR20110094046A
KR20110094046A KR1020117013197A KR20117013197A KR20110094046A KR 20110094046 A KR20110094046 A KR 20110094046A KR 1020117013197 A KR1020117013197 A KR 1020117013197A KR 20117013197 A KR20117013197 A KR 20117013197A KR 20110094046 A KR20110094046 A KR 20110094046A
Authority
KR
South Korea
Prior art keywords
run
code
value
data
data value
Prior art date
Application number
KR1020117013197A
Other languages
English (en)
Other versions
KR101171697B1 (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 KR20110094046A publication Critical patent/KR20110094046A/ko
Application granted granted Critical
Publication of KR101171697B1 publication Critical patent/KR101171697B1/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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

새로운 압축 기법을 사용해서 인코딩된 데이터와 연관된 비트스트림들의 크기 및 복잡성을 최소화하는 방법 및 시스템이 제공된다. 엔트로피 인코더는 런/데이터 값 쌍들의 리스트를 수신하고, 런들 및 데이터 값들을 개별적으로 엔트로피 인코딩하여, 각각, 길이 및 크기에 따라 코드워드들을 선택하며, 인코딩된 비트스트림의 결과 코드워드 쌍들을 - 런 코드워드 먼저 - 연결한다.

Description

정수-값 데이터의 스트림을 압축하는 시스템 및 방법{SYSTEM AND METHOD FOR COMPRESSING A STREAM OF INTEGER-VALUED DATA}
정수-값 비트스트림들을 인코딩하는 각종 인코딩 기법들이 공지되어 있다. 비트스트림들은, 예를 들어, 비디오, 이미지 등을 나타낼 수 있다. 공지된 인코딩 기법들은 일반적으로 런 길이 코딩(run-length coding), 가변 길이 코딩(variable-length coding), 차분 코딩(differential coding), 및 이들의 각종 조합들을 포함한다.
런 길이 코딩은, 상당한 균일성(significant uniformity)을 나타내는 데이터를 압축하는데 유용하지만, 일반적으로 데이터 값들이 서로 상이할 가능성이 있는 경우 비효율적인 것으로 공지되어 있다. 후자의 상황에서, 런 길이 코딩 및 일부 다른 타입의 코딩 간에 적응적으로 스위치하는 것은 공지된 압축 기법들 간에 흔한 일이며, 스위칭은 통상적으로 비트스트림과 연관된 부가 정보에 의해 또는 계산에 의해 디코더에서 처리된다. 이는, 각각, 압축 효율성을 감소시키거나 또는 계산적인 부담을 증가시킨다.
런 길이 코딩 전에 차분 코딩을 수행하는 것은 런 길이 및 차분 코딩을 둘 다 사용하는 공지된 압축 기법들 중에서 흔한 일이며, 런 길이 코딩 전에 차분 코딩을 수행하는 이러한 순서(ordering)는 비트스트림의 매 데이터 값에 대해 인코더는 차이를 계산하고 디코더는 합(sum)을 계산할 것(즉, 데이터 값을 재구성할 것)을 요구한다.
따라서, 이러한 공지된 한계들을 제거하거나 또는 적어도 완화할 수 있는 코딩 기법을 사용하는 것이 바람직하다.
도 1은 본 발명의 일 실시예에 따른 정수-값 데이터의 스트림을 인코딩하는 방법을 도시한다.
도 2는 본 발명의 일 실시예에 따른 런/데이터 값 쌍들의 리스트를 인코딩하는 방법을 도시한다.
도 3은 정수-값 데이터의 일례의 스트림, 및 연관된 런들을 도시한다.
도 4는 본 발명의 일 실시예에 따른 코더-디코더 시스템을 도시한다.
본 발명의 실시예들은 새로운 압축 기법을 사용해서 인코딩되는 데이터와 연관된 비트스트림들의 크기 및 복잡성을 감소시킨다. 엔트로피 인코더는 런/데이터 값 쌍들의 리스트를 수신하고, 런들 및 데이터 값들을 개별적으로 엔트로피 인코딩하여, 각각, 길이 및 크기에 따라 코드워드들을 선택하며, 결과적인 코드워드 쌍들을 - 데이터 값 코드워드 먼저 - 인코딩된 비트스트림 내에서 연결(catenate)한다. 코딩 기법은 인코딩된 비트스트림의 크기 및 복잡성을 감소시킨다. 비트스트림은 이미지, 비디오 등을 나타낼 수 있다. 따라서, 비트스트림은 더 적은 대역폭으로 송신될 수 있으며, 인코더 및 디코더 둘 다에 대한 계산적인 부담이 감소될 수 있다.
도 1은 본 발명의 일 실시예에 따라 비트스트림을 인코딩하는 방법을 도시한다. 실시예에 따라, 본 방법은 선정된 스캔 방향에 따라 데이터 값들의 어레이를 스캔할 수 있다(박스 100). 본 방법은 어레이로부터의 데이터 값들을 런/데이터 값 쌍들의 시퀀스로 변환할 수 있다(박스 110). 박스 120에서, 본 방법은 런의 값을 기반으로 코드워드를 선택할 수 있다. 유사하게, 박스 130에서, 본 방법은 데이터 값의 값을 기반으로 코드워드를 선택할 수 있다. 본 방법은 단계 120 또는 단계 130 또는 상기 두 단계들을 모두 실행할 수 있다. 본 방법은 코딩된 런/데이터 값 데이터를 코딩된 데이터 쌍들이 되도록 연결할 수 있다(박스 140). 그 후, 데이터는 송신을 위해 더 처리될 수 있다.
더 구체적으로 말해서, 블록 100에서, 본 방법은 스캔 방향에 따라 소스 데이터의 어레이를 스캔할 수 있다. 소스 데이터는, 예를 들어, 이미지, 비디오 등을 나타낸다. 본 방법은 각종 크기들 및 구성들의 데이터 어레이들을 수용할 수 있다. 정수들의 다차원 어레이들은, 스캔 방향에 따라 고려될 때, 선형 어레이로서 간주될 수 있음을 알 것이며, 따라서, 본 설명은 선형 어레이 경우를 다룬다.
블록 110에서, 데이터 값들의 1차원 어레이는, 런 길이 인코딩을 사용해서, 런/데이터 값 쌍들의 리스트로 변환될 수 있으며, 쌍들의 한 정수(통상, 제1 정수)는 런의 길이이며, 다른 정수(통상, 제2 정수)는 대응 런을 포함하는 데이터의 값이다. 예를 들어, 도 3에 도시된 바와 같이, 1차원 어레이가 10개의 요소들 - {0, 0, 0, 3, 3, 2, 2, 2, 2, 2}로 구성되면, 10개의 요소들은 이하의 쌍들: {(3, 0), (2, 3), (5, 2)}로 변환된다. 결과 쌍들은, 고유 어레이가, 순서대로, 0과 동일한 3개의 값들, 3과 동일한 2개의 값들, 2와 동일한 5개의 값들로 구성됨을 나타낸다.
일 실시예에서, 블록 110에서, 런/데이터 값 쌍들의 결과 리스트는 런/데이터 값 차이 쌍들의 리스트로 차이 인코딩(difference encoded)될 수 있다. 상술된 10-요소 어레이의 일례로 돌아가서, 런/데이터 값 차이 쌍들의 결과 리스트는 {(3, +1), (2, +3), (5, -1)}로 구성되며, 이 때에, [0 - (-1) = +1], [3 - 0 = +3], 및 [2 - 3 = -1] 이다. 평범한 상황들에서, 데이터 값 차이는 0이 아니어서, 이전 런의 연속(continuation)을 의미한다; 초기 런의 이전 런 값을 -1(상술된 일례에서 알 수 있는 바와 같이)로 처리됨으로써, (본 명세서에서 상세히 기술되는 바와 같이, 런이 서브-런들(sub-runs)로 분할되지 않는 한) 0이 아닌 데이터 값 차이가 보장될 수 있다.
차이 코딩(difference coding) 전에 런 길이 코딩을 실행함으로써, 차이 (인코더) 또는 합 (디코더)은, 모든 데이터 값 마다 한번 대신, 런 마다 한번씩만 계산될 필요가 있다. 이러한 순서 구별(ordering distinction)은 특히 디코더에서 중요할 수 있으며, 이는 필요한 계산량을 감소시킬 뿐만 아니라, 임의의 연관된 직렬성(serialism)을 제거해서, 런의 수개의 동일한 데이터 값들이 동시에 출력될 수 있게 한다.
상술된 바와 같이, 본 발명의 원리들은 차분 데이터 값들 및 차분이 아닌 데이터 값들 둘 다에 적용됨을 발견한다. 따라서, 후술되지 않는 한, 이하의 설명은 일반적인 의미의 "데이터 값들"과 관련되어서, 차분 데이터 값들 및 차분이 아닌 데이터 값들에 동일하게 관련된다.
블록들 120, 130에서, 런/데이터 값 쌍들의 결과 리스트는 엔트로피 코딩될 수 있다; 런들은 데이터 값들로부터 개별적으로 코딩될 수 있어서, 이러한 인코딩은 직렬로(예를 들어, 데이터 값들 전에 런들 등) 또는 병렬로 실행될 수 있다. 본 발명의 실시예들은, 본 명세서에서 제시한 코드북-기반 엔트로피 코딩이 원하는 경우 다른 코딩 기법들과 함께 사용될 수 있게 한다. 예를 들어, 본 설명이 도 2와 관련해서 후술된 프로세스에 따라 런들 및 데이터 값들을 코딩하도록 제안하더라도, 제안된 기법에 따라 오직 하나의 데이터 타입(즉, 런들)을 코딩하고 다른 메카니즘에 따라 다른 데이터 타입(예를 들어, 데이터 값들)을 코딩하도록 허용할 수 있다. 따라서, 본 발명의 원리들은 원하는 경우 다른 코딩 메카니즘들과 통합될 수 있다.
런들 및 데이터 값들이 엔트로피 코딩된 후에, 블록 140에 도시된 바와 같이, 런 코드워드들/데이터 값 코드워드들의 리스트가 연결될 수 있으며(즉, 각각의 쌍에 대해, 결과 데이터 값 코드워드는 결과 런 코드워드와 연결됨), 이렇게 연결된 코드워드들은 최종 인코딩된 비트스트림을 함께 형성한다. 대응 런 코드워드 전에 데이터 값 코드워드를 넣음으로써, 데이터 값은 해당 데이터 값의 런의 길이를 결정하기 전에 - 디코딩 중에 - 재구성될 수 있어서, 특정 런 값들의 특별한 런 길이 디코딩을 허용한다. 예를 들어, 런 코드워드 디코딩 중에, 런이 1이라고 결정되면, 데이터 값이 이미 복구되었기 때문에, 싱글 데이터 값이 출력될 수 있다; 따라서, 루프를 실행하거나 일반적인 상황을 수용하고자 시도할 필요가 없다. 이는 일부 계산 오버헤드가 프로세스로부터 제거될 수 있음을 의미한다.
도 2는 본 발명의 일 실시예에 따른 엔트로피 코딩의 방법을 도시한다. 블록 200에서, 런/데이터 값 쌍이 수신되고, 블록 205에서, 각각의 쌍 내의 런들은 선정된 최대 런 길이 내에 있는지에 대해 검사를 받는다. 런들은 정수이며, 1 부터 소스 어레이의 크기까지의 범위일 수 있다. 엔트로피 코딩을 위해, 런 길이들은, 예를 들어, 2M의 상한을 가질 수 있다. 여기서, M은 런 코드북의 크기가 한정됨을 보장하는데 사용되는 일반적인 파라미터이다. 예를 들어, 이미지와 관련하여, M은 이미지의 크기에 잘 맞을 수 있으며, 따라서, 런들은 서브-런들로 분할될 필요가 없다.
런이 2M 보다 크면, 서브-런들로 분할될 수 있어서, 각각의 서브-런은 2M 보다 작거나 동일하다. 런이 서브-런들로 분할되는 경우에, 제1 서브-런은 런이 서브-런들로 분할되지 않은 것처럼 동일한 데이터 값을 획득하고, 각각의 다음 서브-런은 0의 데이터 값을 얻는다. 일례로서, 런/데이터 값 쌍 (21, +2)을 생각해 보라. 여기서 M = 3이다. 이러한 경우에, 런들은 8(즉, 2M = 23 = 8) 보다 크지 않을 수 있으며, 결과 서브-런들/데이터 값 쌍들은 {(8, +2), (8, 0), (5, 0)}(즉, 8 + 8 + 5 = 21)이다.
길이에 따라, 런들 또는 서브-런들은, 블록들 210-225에 도시된 바와 같이, 3가지 방법들 중 한 방법으로 인코딩될 수 있다. 블록 210에서, 런은 1, "쇼트(short)" 또는 "롱(long)" 중 하나로 분류된다. 1의 런들은, 블록 215에 도시된 바와 같이, 싱글 '1' 비트로서 코딩될 수 있다. 1의 런들에 대해 싱글 비트를 사용해서, 연속 데이터 값들이 동일하지 않을 때 압축 효율성에 대한 영향을 최소화하며, 디코더들이 부호 테스트(sign test)를 사용해서 1의 코딩된 런들 및 1 보다 큰 수의 코딩된 런들을 구별할 수 있게 하는 계산적인 장점을 갖는다.
"쇼트" 런들은 1 보다 크지만, 선정된 임계값 2n 보다 작거나 동일한 런들을 포함할 수 있다. 여기서, n은, 예를 들어, 압축될 데이터의 최적 압축을 달성하고자 시도하는 기법을 포함하는, 다수의 선정된 기법들 중 임의의 기법에 따라 또는 독단적으로 선택될 수 있다. 쇼트 런들은, 블록 220에 도시된 바와 같이, 싱글 '0' 비트 프리앰블 및 다음에 런 값 보다 작은 1에 대한 n-비트 고정 길이 이진 코드로 구성된 n+1 비트들로 코딩될 수 있다.
"롱" 런들은 2n 보다 큰 런들을 포함할 수 있다. 롱 런들은, 블록 225에 도시된 바와 같이, n+1 '0' 비트들의 프리앰블 및 다음에 런 값 보다 작은 1에 대한 M-비트 고정 길이 이진 코드로 구성된 n+1+M 비트들로 코딩될 수 있다.
"쇼트" 및 "롱" 런들 둘 다에 대한 코드워드들은 런 값 보다 작은 1에 대한 - 적합한 길이의 - 고정 길이 이진 코드들임을 주지하라. 기술된 기법에 따른 런 코드북의 일례로서, 런의 최대 길이가 2048(즉, 211 = 2048) 이고, "쇼트" 런들이 2 내지 16 포함(즉, 24 = 16)인, 런 코드북 - 여기서, M = 11 및 n = 4 - 을 도시하는 표 1을 고려하라.

분류

코드워드
프리앰블 데이터
1 1 1
쇼트 2 0 0001
쇼트 3 0 0010
… … …
쇼트 16 0 1111
롱 17 00000 00000010000
롱 18 00000 00000010001
… … …
롱 2048 00000 11111111111
데이터 값들은 크기에 따라 2가지 방법들 중 한 방법으로 코딩될 수 있다. 블록 230에 도시된 바와 같이, 데이터 값들은 절대값들에 따라 "스몰(small)" 또는 "라지(large)"로 분류된다; 이는 싱글 프리픽스 비트가 2가지 경우들을 구별할 수 있게 하며, 따라서, 데이터 값 코드워드를 디코딩할 때, 코드워드의 제1 비트가 컴퓨터의 워드의 최상위 비트에 나타나면, (0에 비해) 간단한 부호 테스트가 데이터 값이 스몰 인지 또는 라지 인지를 결정하기 위해 실행될 수 있다.
"스몰" 데이터 값들은 0 보다 크지만, 2k 보다 작거나 동일한 크기(즉, 절대값)를 갖는 데이터 값들을 포함할 수 있다. 여기서, k는, 예를 들어, 압축될 데이터의 최적 압축을 달성하고자 시도하는 기법을 포함하는, 다수의 선정된 기법들 중 임의의 기법에 따라 또는 독단적으로 선택될 수 있다. 스몰 데이터 값들은, 블록 235에 도시된 바와 같이, 싱글 '0' 비트 프리앰블, 데이터 값 크기 보다 작은 1에 대한 k-비트 고정 길이 이진 코드, 및 차이 부호를 나타내는 싱글 비트로 구성된 k+2 비트들로 코딩된다.
"라지" 데이터 값들은 0과 동일하거나 또는 2k 보다 큰 크기를 갖는 데이터 값들을 포함할 수 있다. 라지 데이터 값들은, 블록 240에 도시된 바와 같이, 싱글 '1' 비트 프리앰블 및 다음에 데이터 값 모듈로 2N으로 구성된 N+1 비트들로 코딩될 수 있다. 여기서, N은 고유 데이터 값들의 워드크기이다.
상술된 기법에 따른 데이터 값 코드북의 일례로서, k = 3 및 N = 8이며, 1의 부호 비트가 네거티브 데이터 값들을 나타내는데 사용되어서, 코드북이 512 엔트리들(즉, 2 * 28 = 512)을 포함하는, 데이터 값 코드북을 도시하는 표 2를 고려하라.

분류

데이터 값
코드워드
프리앰블 데이터 부호
스몰 +1 0 000 0
스몰 -1 0 000 1
스몰 +2 0 001 0
스몰 -2 0 001 1
스몰 … … … …
스몰 +8 0 111 0
스몰 -8 0 111 1
라지 +9 1 00001001
라지 -9 1 11110111
… … … …
라지 +255 1 11111111
라지 -255 1 00000001
라지 +256 1 00000000
라지 0 1 00000000
변수 n(런들의 엔트로피 코딩과 연관됨) 및 k(데이터 값들의 엔트로피 코딩과 연관됨)는 인코더에 의해 인코딩될 수 있는 것들의 타입들(예를 들어, 사진들, 비디오들 등)을 생각컨대 나타내는 일례의 데이터로부터 수집된 통계적인 정보를 기반으로 할 수 있다.
도 4는 본 발명의 일 실시예에 따른 인코더(400) 및 디코더(500)를 도시한다. 인코더(400)는 하드웨어 또는 소프트웨어로 구현될 수 있으며, 본 명세서에 기술된 바와 같이, 소스 데이터(410), 정수-값 데이터의 1차원 어레이를 수신한다. 소스 데이터(410)는 일반적으로 본 발명에 중요치 않은 다른 각종 코딩 프로세스들의 결과일 수 있으며, 소스 프로세싱 오퍼레이션들(예를 들어, 비디오 코딩 프로세스들, 오디오 코딩 프로세스들 등)을 포함한다.
런/데이터 값 인코더(420)는 소스 데이터(410)를 런/데이터 값 쌍들의 리스트로 런 길이 인코딩할 수 있다. 엔트로피 인코더(440)는 런/데이터 값 인코더(420)로부터 런/데이터 값 쌍들의 리스트를 수신하고, 본 명세서에 기술된 프로세스들에 따라 런들 및 데이터 값들을 개별적으로 인코딩할 수 있다. 엔트로피 인코더(440)는 리스트의 각각의 쌍을 포함하는 결과 코드워드들, 코딩된 데이터 값들을 먼저 연결해서 인코딩된 비트스트림을 형성할 수 있다. 일 실시예에서, 가상선으로 도시된 바와 같이, 런/데이터 값 차이 인코더(430)는 런/데이터 값 인코더(420)로부터 런/데이터 값 쌍들의 리스트를 수신할 수 있으며, 상기 쌍들을 런/데이터 값 차이 쌍들의 리스트로 차이 인코딩할 수 있다. 이는 엔트로피 인코더(440)에 의해 처리될 수 있다.
송신 버퍼(450)는 채널에 전송하기 전에 인코딩된 비트스트림을 저장할 수 있으며, 채널은 인코딩된 비트스트림을 디코더에 캐리하는 송신 매체를 나타낼 수 있다. 채널들은, 예를 들어, 통신 네트워크들 또는 컴퓨터 네트워크들에 의해 제공되는 광, 자기 또는 전기 메모리들 및 통신 채널들 등의 기억 장치들을 통상 포함한다.
상술된 인코딩 프로세스는 디코더(500)에서는 역일 수 있다. 디코더(500)는 수신 버퍼(510), 엔트로피 디코더(520), 런/데이터 값 차이 디코더(530), 런/데이터 값 디코더(540), 및 복구된 데이터 스토어(550)를 포함할 수 있다. 각각의 유닛은 인코더(400)의 대응 파트의 역을 실행할 수 있으며, 소스 데이터(410)를 복제한다. 디코더(500)는 인코더(400)에서 적용되는 소스 코딩 프로세스들과 매치하도록 소스 디코딩을 실행하는 다른 블록들(도시되지 않음)을 포함할 수 있다.
앞선 본문에서 각종 실시예들의 상세한 설명을 기재하였지만, 본 발명의 합법적인 범위는 후술되는 청구항들의 기재 사항에 의해 정의됨을 알아야만 한다. 상세한 설명은 오직 예시적인 것으로만 해석되어야 하며, 불가능한 것이 아닐지라도 가능한 모든 실시예를 기술하는 것은 비현실적일 것이기 때문에 본 발명의 가능한 모든 실시예를 기술하지는 않았다. 다수의 다른 실시예들이, 현재 기술 또는 본 특허의 출원일 후에 개발된 기술을 사용해서, 구현될 수 있다. 상기 기술은 본 발명을 정의하는 청구항들의 범위에 여전히 속한다.
당업자에게 쉽게 명백할 수 있는 바와 같이, 본 발명 및 각종 양상들의 다른 변형들 및 수정들의 구현물들이 존재하며, 본 발명은 본 명세서에 기술된 특정 실시예들로 제한되지 않음을 알아야만 한다. 따라서, 본 명세서에 기술 및 청구된 기본 기초 원리들의 범위 내에 속한 수정물들, 변형물들 또는 균등물들 모두 및 일부를 커버하는 것으로 고려된다.

Claims (45)

  1. 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법에 있어서,
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 1의 길이를 갖는 제1 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제1 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제1 선정된 길이의 각각의 제1 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 런이 롱으로서 분류되면, 제2 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제2 선정된 길이의 각각의 제1 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 데이터 값은 상기 스트림의 2개의 인접한 데이터 값들로부터 획득된 차분 데이터인 방법.
  3. 제1항에 있어서,
    상기 선택된 제1 코드를 상기 채널에 출력하기 전에, 상기 런/데이터 값 쌍의 상기 런에 대응하는 상기 데이터 값의 코딩된 표현을 채널에 출력하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제3 선정된 길이를 갖는 제2 코드를 선택하는 단계 - 제3 선정된 길이의 각각의 제2 코드는 라지 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 데이터 값이 라지로서 분류되면, 제4 선정된 길이를 갖는 제2 코드를 선택하는 단계 - 제4 선정된 길이의 각각의 제2 코드는 스몰 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 선택된 제2 코드를 상기 채널에 출력하는 단계
    를 더 포함하는 방법.
  5. 제1항에 있어서,
    쇼트 런의 길이는 1 보다 크고 선정된 임계값 보다 작거나 동일하며,
    롱 런의 길이는 선정된 임계값 보다 큰 방법.
  6. 제1항에 있어서,
    상기 스트림은 비디오를 나타내는 방법.
  7. 제1항에 있어서,
    상기 스트림은 이미지를 나타내는 방법.
  8. 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법에 있어서,
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제1 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제1 선정된 길이의 각각의 제1 코드는 라지 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 데이터 값이 라지로서 분류되면, 제2 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제2 선정된 길이의 각각의 제1 코드는 스몰 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 데이터 값은 상기 스트림의 2개의 인접한 데이터 값들로부터 획득된 차분 데이터인 방법.
  10. 제8항에 있어서,
    상기 선택된 제1 코드를 상기 채널에 출력한 후에, 상기 런/데이터 값 쌍의 상기 데이터 값에 대응하는 상기 런의 코딩된 표현을 채널에 출력하는 단계를 더 포함하는 방법.
  11. 제8항에 있어서,
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 1의 길이를 갖는 제2 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제3 선정된 길이를 갖는 제2 코드를 선택하는 단계 - 제3 선정된 길이의 각각의 제2 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 런이 롱으로서 분류되면, 제4 선정된 길이를 갖는 제2 코드를 선택하는 단계 - 제4 선정된 길이의 각각의 제2 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 선택된 제2 코드를 상기 채널에 출력하는 단계
    를 더 포함하는 방법.
  12. 제8항에 있어서,
    상기 스트림은 비디오를 나타내는 방법.
  13. 제8항에 있어서,
    상기 스트림은 이미지를 나타내는 방법.
  14. 제8항에 있어서,
    스몰 데이터 값은 크기가 0 보다 크고 선정된 임계값 보다 작거나 동일한 데이터 값인 방법.
  15. 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법에 있어서,
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 싱글 비트를 포함하는 제1 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제1 코드북으로부터 n+1 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 n 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 런이 롱으로서 분류되면, 제2 코드북으로부터 n+1+M 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 처음 n+1 비트들에 대한 선정된 프리앰블을 가지며, 나머지 M 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    상기 데이터 값은 상기 스트림의 2개의 인접한 데이터 값들로부터 획득된 차분 데이터인 방법.
  17. 제15항에 있어서,
    상기 선택된 제1 코드를 상기 채널에 출력하기 전에, 상기 런/데이터 값 쌍의 상기 런에 대응하는 상기 데이터 값의 코딩된 표현을 채널에 출력하는 단계를 더 포함하는 방법.
  18. 제15항에 있어서,
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제3 코드북으로부터 k+2 비트들을 포함하는 제2 코드를 선택하는 단계 - 상기 선택된 제2 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 k+1 비트들의 값은 상기 데이터 값을 기반으로 함 - 와,
    상기 데이터 값이 라지로서 분류되면, 제4 코드북으로부터 N+1 비트들을 포함하는 제2 코드를 선택하는 단계 - 상기 선택된 제2 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 N 비트들의 값은 상기 데이터 값 및 N을 기반으로 함 - 와,
    상기 선택된 제2 코드를 상기 채널에 출력하는 단계
    를 더 포함하는 방법.
  19. 제15항에 있어서,
    상기 스트림은 비디오를 나타내는 방법.
  20. 제15항에 있어서,
    상기 스트림은 이미지를 나타내는 방법.
  21. 제15항에 있어서,
    쇼트 런의 길이는 1 보다 크고 2n 보다 작거나 동일하며,
    롱 런의 길이는 2n 보다 큰 방법.
  22. 제15항에 있어서,
    쇼트로서 분류된 런들의 경우,
    상기 선정된 프리앰블은 1개의 '0' 비트이고,
    상기 나머지 n 비트들의 값은 상기 런의 길이 보다 작은 1에 대한 이진 코드인 방법.
  23. 제15항에 있어서,
    롱으로서 분류된 런들의 경우,
    상기 선정된 프리앰블은 n+1개의 '0' 비트들이고,
    상기 나머지 M 비트들의 값은 상기 런의 길이 보다 작은 1에 대한 이진 코드인 방법.
  24. 제15항에 있어서,
    런의 길이가 2M 보다 더 클 때, 런을 2개 이상의 서브-런들로 분할하는 단계를 더 포함하고,
    상기 서브-런들 각각의 길이는 2M 보다 작거나 동일하며,
    상기 제1 서브-런과 연관된 데이터 값은 상기 런과 연관된 데이터 값과 동일하고,
    상기 제1 서브-런 후의 각각의 서브-런과 연관된 데이터 값은 0인 방법.
  25. 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법에 있어서,
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제1 코드북으로부터 k+2 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 k+1 비트들의 값은 상기 데이터 값을 기반으로 함 - 와,
    상기 데이터 값이 라지로서 분류되면, 제2 코드북으로부터 N+1 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 N 비트들의 값은 상기 데이터 값 및 N을 기반으로 함 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 방법.
  26. 제25항에 있어서,
    상기 데이터 값은 상기 스트림의 2개의 인접한 데이터 값들로부터 획득된 차분 데이터인 방법.
  27. 제25항에 있어서,
    상기 선택된 제1 코드를 상기 채널에 출력한 후에, 상기 런/데이터 값 쌍의 상기 데이터 값에 대응하는 상기 런의 코딩된 표현을 채널에 출력하는 단계를 더 포함하는 방법.
  28. 제25항에 있어서,
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 싱글 비트를 포함하는 제2 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제3 코드북으로부터 n+1 비트들을 포함하는 제2 코드를 선택하는 단계 - 상기 선택된 제2 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 n 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 런이 롱으로서 분류되면, 제4 코드북으로부터 n+1+M 비트들을 포함하는 제2 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 처음 n+1 비트들에 대한 선정된 프리앰블을 가지며, 나머지 M 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 선택된 제2 코드를 상기 채널에 출력하는 단계
    를 더 포함하는 방법.
  29. 제25항에 있어서,
    상기 스트림은 비디오를 나타내는 방법.
  30. 제25항에 있어서,
    상기 스트림은 이미지를 나타내는 방법.
  31. 제25항에 있어서,
    스몰 데이터 값은 크기가 0 보다 크고 2k 보다 작거나 동일한 데이터 값인 방법.
  32. 제25항에 있어서,
    스몰로서 분류된 데이터 값들의 경우,
    상기 선정된 프리앰블은 1개의 '0' 비트이고,
    상기 나머지 k+1 비트들의 값은 상기 데이터 값의 절대값 보다 작은 1에 대한 이진 코드이며, 1 비트는 데이터 값이 포지티브인지 또는 네거티브인지를 나타내는데 사용되는 방법.
  33. 제25항에 있어서,
    라지로서 분류된 데이터 값들의 경우,
    상기 선정된 프리앰블은 1개의 '1' 비트이고,
    상기 나머지 N 비트들의 값은 상기 데이터 값 모듈로 2N에 대한 이진 코드인 방법.
  34. 제25항에 있어서,
    N은 상기 데이터 값들의 워드크기와 동일한 방법.
  35. 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터의 리스트를 엔트로피 코딩하는 시스템에 있어서,
    상기 리스트를 수신하기 위해 입력을 갖는 엔트로피 인코더를 포함하며,
    상기 엔트로피 인코더는
    상기 런/데이터 값 쌍들의 리스트를 런 코드워드/데이터 값 코드워드 쌍들의 리스트로 엔트로피 인코딩하고 - 상기 런들은 상기 데이터 값들로부터 개별적으로 인코딩됨 - ,
    모든 런 코드워드/데이터 값 코드워드 쌍에 대해, 상기 데이터 값 코드워드를 대응 런 코드워드로 연결함으로써 인코딩된 비트스트림을 생성하는 - 상기 데이터 값 코드워드는 상기 인코딩된 비트스트림에서 상기 런 코드워드 앞에 나타남 -
    시스템.
  36. 제35항에 있어서,
    상기 데이터 값은 상기 스트림의 2개의 인접한 데이터 값들로부터 획득된 차분 데이터인 시스템.
  37. 제35항에 있어서,
    상기 인코딩된 비트스트림은 채널에 출력되는 시스템.
  38. 제35항에 있어서,
    각각의 런 코드워드는 상기 런의 길이를 기반으로 하는 시스템.
  39. 제38항에 있어서,
    상기 런의 길이가 1이면, 상기 런 코드워드는 싱글 비트를 포함하고,
    상기 런의 길이가 쇼트가면, 상기 런 코드워드는, 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 n 비트들의 값이 상기 런의 길이를 기반으로 하는, n+1 비트들을 포함하며,
    상기 런의 길이가 롱이면, 상기 런 코드워드는, 처음 n+1 비트들에 대한 선정된 프리앰블을 가지며, 나머지 M 비트들의 값이 상기 런의 길이를 기반으로 하는, n+1+M 비트들을 포함하는 시스템.
  40. 제35항에 있어서,
    각각의 데이터 값 코드워드는 상기 데이터 값의 크기를 기반으로 하는 시스템.
  41. 제40항에 있어서,
    상기 데이터 값의 크기가 스몰이면, 상기 데이터 값 코드워드는, 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 k+1 비트들의 값이 상기 데이터 값을 기반으로 하는, k+2 비트들을 포함하고,
    상기 데이터 값의 크기가 라지가면, 상기 데이터 값 코드워드는, 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 N 비트들의 값은 상기 데이터 값 및 N을 기반으로 하는, N+1 비트들을 포함하며,
    상기 데이터 값이 0이면, 상기 데이터 값 코드워드는, 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 N 비트들의 값이 상기 데이터 값 및 N을 기반으로 하는, N+1 비트들을 포함하는 시스템.
  42. 컴퓨터에 의해 실행될 때, 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법을 실행하는 명령들의 집합으로 인코딩된 컴퓨터-판독 가능 매체에 있어서, 상기 방법은
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 1의 길이를 갖는 제1 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제1 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제1 선정된 길이의 각각의 제1 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 런이 롱으로서 분류되면, 제2 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제2 선정된 길이의 각각의 제1 코드는 다른 런 분류들을 구별하기 위해 프리앰블을 가지며, 런의 길이를 기반으로 한 값을 가짐 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 컴퓨터-판독 가능 매체.
  43. 컴퓨터에 의해 실행될 때, 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법을 실행하는 명령들의 집합으로 인코딩된 컴퓨터-판독 가능 매체에 있어서, 상기 방법은
    길이를 기반으로 각각의 런을 분류하는 단계와,
    상기 런이 1이면, 싱글 비트를 포함하는 제1 코드를 선택하는 단계와,
    상기 런이 쇼트로서 분류되면, 제1 코드북으로부터 n+1 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 n 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 런이 롱으로서 분류되면, 제2 코드북으로부터 n+1+M 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 처음 n+1 비트들에 대한 선정된 프리앰블을 가지며, 나머지 M 비트들의 값은 런의 길이를 기반으로 함 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 컴퓨터-판독 가능 매체.
  44. 컴퓨터에 의해 실행될 때, 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법을 실행하는 명령들의 집합으로 인코딩된 컴퓨터-판독 가능 매체에 있어서, 상기 방법은
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제1 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제1 선정된 길이의 각각의 제1 코드는 라지 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 데이터 값이 라지로서 분류되면, 제2 선정된 길이를 갖는 제1 코드를 선택하는 단계 - 제2 선정된 길이의 각각의 제1 코드는 스몰 데이터 값들을 구별하기 위해 프리앰블을 가지며, 상기 데이터 값을 기반으로 한 값을 가짐 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 컴퓨터-판독 가능 매체.
  45. 컴퓨터에 의해 실행될 때, 정수-값 데이터의 스트림에 대응하는 런/데이터 값 쌍 데이터를 엔트로피 코딩하는 방법을 실행하는 명령들의 집합으로 인코딩된 컴퓨터-판독 가능 매체에 있어서, 상기 방법은
    크기를 기반으로 각각의 데이터 값을 분류하는 단계와,
    상기 데이터 값이 스몰로서 분류되면, 제1 코드북으로부터 k+2 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 k+1 비트들의 값은 상기 데이터 값을 기반으로 함 - 와,
    상기 데이터 값이 라지로서 분류되면, 제2 코드북으로부터 N+1 비트들을 포함하는 제1 코드를 선택하는 단계 - 상기 선택된 제1 코드는 상기 제1 비트에 대한 선정된 프리앰블을 가지며, 나머지 N 비트들의 값은 상기 데이터 값 및 N을 기반으로 함 - 와,
    상기 선택된 제1 코드를 채널에 출력하는 단계
    를 포함하는 컴퓨터-판독 가능 매체.
KR1020117013197A 2008-11-10 2009-11-06 정수-값 데이터의 스트림을 압축하는 시스템 및 방법 KR101171697B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/268,171 2008-11-10
US12/268,171 US7804428B2 (en) 2008-11-10 2008-11-10 System and method for compressing a stream of integer-valued data
PCT/US2009/063526 WO2010054178A1 (en) 2008-11-10 2009-11-06 System and method for compressing a stream of integer-valued data

Publications (2)

Publication Number Publication Date
KR20110094046A true KR20110094046A (ko) 2011-08-19
KR101171697B1 KR101171697B1 (ko) 2012-08-06

Family

ID=41565901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117013197A KR101171697B1 (ko) 2008-11-10 2009-11-06 정수-값 데이터의 스트림을 압축하는 시스템 및 방법

Country Status (8)

Country Link
US (1) US7804428B2 (ko)
EP (3) EP2908438B1 (ko)
JP (3) JP5162708B2 (ko)
KR (1) KR101171697B1 (ko)
CN (1) CN102210105B (ko)
AU (1) AU2009313449B2 (ko)
ES (1) ES2546542T3 (ko)
WO (1) WO2010054178A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126858A (ko) * 2013-03-01 2015-11-13 구루로직 마이크로시스템스 오이 엔트로피 변형기 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
PL3104616T3 (pl) 2010-07-09 2017-10-31 Samsung Electronics Co Ltd Urządzenie do entropijnego dekodowania współczynników przekształcenia
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
DE102011107974A1 (de) 2011-07-16 2013-01-17 Valeo Schalter Und Sensoren Gmbh Verfahren zum Rangieren eines Fahrzeugs in einem Umfeld sowie Rangierassistenzsystem für ein Fahrzeug
WO2013033895A1 (zh) * 2011-09-07 2013-03-14 速压公司 数据压缩和解压缩方法、程序、存储介质及电子产品
US9319065B2 (en) 2012-03-15 2016-04-19 Nokia Technologies Oy Encoding and decoding of data
GB2501527B (en) * 2012-04-27 2014-03-12 Broadcom Corp Method apparatus and computer program for encoding a bit string
KR102430173B1 (ko) 2015-11-24 2022-08-05 삼성전자주식회사 디스플레이 장치
WO2017120091A2 (en) * 2016-01-08 2017-07-13 Zte Corporation Methods of transmitting mission critical small data using random access channel
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion
CN106656200B (zh) * 2016-12-13 2019-11-08 合肥工业大学 一种程序计数器压缩方法及其硬件电路
CN109716660B (zh) * 2017-01-24 2021-08-13 华为技术有限公司 数据压缩装置和方法
CN110019184B (zh) * 2017-09-04 2021-04-27 北京字节跳动网络技术有限公司 一种压缩和解压缩有序整数数组的方法
US11176109B2 (en) * 2019-07-15 2021-11-16 Microsoft Technology Licensing, Llc Time-series data condensation and graphical signature analysis
CN116208171A (zh) * 2022-12-27 2023-06-02 深圳大普微电子科技有限公司 数据压缩和解压缩方法、装置、电子设备及存储介质

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4973916A (ko) * 1972-11-15 1974-07-17
JPS5567274A (en) * 1978-11-14 1980-05-21 Nippon Telegr & Teleph Corp <Ntt> Picture signal coding system
JPS57106272A (en) * 1980-12-22 1982-07-02 Ricoh Co Ltd Method for compression of multilevel picture data
JPH01256287A (ja) * 1988-04-06 1989-10-12 Canon Inc 画像圧縮装置
CA1326898C (en) * 1988-04-27 1994-02-08 John Music Method and system for decompressing color video encoded data
JP3061278B2 (ja) * 1988-04-29 2000-07-10 ゼロックスコーポレーション 可変ビット長コード語のビット長通信方法
JP3010631B2 (ja) * 1989-02-14 2000-02-21 ソニー株式会社 ランレングス符号化方式
JPH0697839A (ja) * 1992-09-16 1994-04-08 Sharp Corp データ圧縮方法
JP3259989B2 (ja) * 1992-10-23 2002-02-25 株式会社日立製作所 2値と多値の混在符号化画像データ復元方法および装置
US5926576A (en) 1994-03-30 1999-07-20 Newton; Dale C. Imaging method and system concatenating image data values to form an integer, partition the integer, and arithmetically encode bit position counts of the integer
US5710561A (en) * 1996-01-02 1998-01-20 Peerless Systems Corporation Method and apparatus for double run-length encoding of binary data
US5831559A (en) * 1996-01-24 1998-11-03 Intel Corporation Encoding/decoding video signals using multiple run-val mapping tables
IN192447B (ko) * 1996-06-14 2004-04-24 Daewoo Electronics Corp
US6028963A (en) 1996-06-17 2000-02-22 Canon Kabushiki Kaisha Image encoding based on judgement on prediction error
US6011499A (en) 1996-06-27 2000-01-04 Intel Corporation Encoding/decoding video signals using multiple run-val mapping tables
JPH10200413A (ja) * 1996-12-26 1998-07-31 Texas Instr Inc <Ti> 可変長コード生成装置及び生成方法
US5798718A (en) 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
JP3410629B2 (ja) * 1997-05-21 2003-05-26 シャープ株式会社 可変長符号化回路及び可変長符号化方法
JPH11251923A (ja) * 1998-02-27 1999-09-17 Toyo Electric Mfg Co Ltd モニタ装置
US6118392A (en) 1998-03-12 2000-09-12 Liquid Audio Inc. Lossless data compression with low complexity
KR100281321B1 (ko) 1998-03-26 2001-02-01 전주범 적응적인 산술 부호화 및 그 복호화 방법
US6166664A (en) 1998-08-26 2000-12-26 Intel Corporation Efficient data structure for entropy encoding used in a DWT-based high performance image compression
JP2000115782A (ja) 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
US6317222B1 (en) 1998-11-17 2001-11-13 Xerox Corporation Set of run-length codewords containing pointers to data sources
US6223162B1 (en) * 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
JP3323175B2 (ja) 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
US6505320B1 (en) 2000-03-09 2003-01-07 Cirrus Logic, Incorporated Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems
US6778483B2 (en) 2000-11-08 2004-08-17 Matsushita Electric Industrial Co., Ltd. Multilevel record modulator and demodulator
JP3375080B2 (ja) * 2001-08-10 2003-02-10 日本ビクター株式会社 画像圧縮方法
JP4100552B2 (ja) * 2001-11-22 2008-06-11 松下電器産業株式会社 復号化方法
JP3778087B2 (ja) 2002-01-18 2006-05-24 富士ゼロックス株式会社 データ符号化装置及びデータ復号装置
JP3709381B2 (ja) * 2002-04-02 2005-10-26 Necビューテクノロジー株式会社 カラー画像圧縮方法
US7433824B2 (en) 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7113115B2 (en) * 2004-06-30 2006-09-26 Intel Corporation Variable length code table look ups
CN101032081B (zh) * 2004-07-14 2010-05-26 喷流数据有限公司 用于数据压缩优化的方法和系统
US7068192B1 (en) 2004-08-13 2006-06-27 Google Inc. System and method for encoding and decoding variable-length data
US7015837B1 (en) 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US6987468B1 (en) 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7985246B2 (en) 2006-03-31 2011-07-26 Warsaw Orthopedic, Inc. Methods and instruments for delivering interspinous process spacers
US8116378B2 (en) 2006-12-15 2012-02-14 Arcsoft, Inc. Variable length decoding method
JP2008182448A (ja) * 2007-01-24 2008-08-07 Canon Inc パックビッツ符号化手段
CN101202548A (zh) * 2007-12-28 2008-06-18 北京邮电大学 一种双游程数据编码方法
US7683809B2 (en) * 2008-04-11 2010-03-23 Aceurity, Inc. Advanced lossless bit coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126858A (ko) * 2013-03-01 2015-11-13 구루로직 마이크로시스템스 오이 엔트로피 변형기 및 방법

Also Published As

Publication number Publication date
EP2364530B1 (en) 2015-06-03
EP2364530A1 (en) 2011-09-14
EP2913932B1 (en) 2019-10-16
JP6025923B2 (ja) 2016-11-16
JP2012508522A (ja) 2012-04-05
JP5162708B2 (ja) 2013-03-13
KR101171697B1 (ko) 2012-08-06
US20100117875A1 (en) 2010-05-13
ES2546542T3 (es) 2015-09-24
CN102210105A (zh) 2011-10-05
AU2009313449A1 (en) 2010-05-14
EP2908438A1 (en) 2015-08-19
EP2908438B1 (en) 2020-05-27
AU2009313449B2 (en) 2014-06-05
WO2010054178A1 (en) 2010-05-14
US7804428B2 (en) 2010-09-28
EP2913932A1 (en) 2015-09-02
CN102210105B (zh) 2014-04-23
JP2013138422A (ja) 2013-07-11
JP2016006961A (ja) 2016-01-14

Similar Documents

Publication Publication Date Title
KR101171697B1 (ko) 정수-값 데이터의 스트림을 압축하는 시스템 및 방법
US7564384B2 (en) Binarizing method and device thereof
US7486211B2 (en) Method and system for entropy coding
US8487791B2 (en) Parallel entropy coding and decoding methods and devices
US6243496B1 (en) Data compression
EP2362657B1 (en) Parallel entropy coding and decoding methods and devices
US8400336B2 (en) Methods and devices for reordered parallel entropy coding and decoding
KR19990014761A (ko) 디지탈 정보신호 부호화 방법 및 장치
EP2533538A2 (en) Method and system to reduce modelling overhead for data compression
GB2274956A (en) Run length data compression
EP2622744A1 (en) Methods and devices for parallel encoding and decoding using a bitstream structured for reduced delay
EP3461307B1 (en) Digital data compression
CN104702952B (zh) 一种图像数据压缩方法
KR20160055985A (ko) 바이너리 클러스터 분할 및 유니버설 코드 매핑을 이용한 데이터 압축 및 그 해제방법
KR20160055986A (ko) 바이너리 클러스터 분할 및 유니버설 코드 매핑을 이용한 데이터 압축 및 그 해제방법

Legal Events

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

Payment date: 20160630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 7