KR101629967B1 - 비트 시퀀스를 인코딩하기 위한 방법 및 디바이스 - Google Patents

비트 시퀀스를 인코딩하기 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR101629967B1
KR101629967B1 KR1020100008546A KR20100008546A KR101629967B1 KR 101629967 B1 KR101629967 B1 KR 101629967B1 KR 1020100008546 A KR1020100008546 A KR 1020100008546A KR 20100008546 A KR20100008546 A KR 20100008546A KR 101629967 B1 KR101629967 B1 KR 101629967B1
Authority
KR
South Korea
Prior art keywords
bit
sequence
run
unary
bits
Prior art date
Application number
KR1020100008546A
Other languages
English (en)
Other versions
KR20100088576A (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 KR20100088576A publication Critical patent/KR20100088576A/ko
Application granted granted Critical
Publication of KR101629967B1 publication Critical patent/KR101629967B1/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

Landscapes

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

Abstract

본원은 비트 시퀀스의 인코딩을 위한 방법 및 디바이스에 관한 것이다.
상기 방법은, 비트 시퀀스(BS)에 포함된 1들의 각 런에 대해, 각각의 1들의 런의 길이에 대한 단항 표현을 생성하는 단계, 상기 생성된 1들의 런들의 길이들에 대한 단항 표현들을 연결하여 제1 시퀀스(RLS1)를 생성하는 단계, 비트 시퀀스(BS)에 포함된 0들의 각 런에 대해, 각각의 0들의 런의 길이에 대한 단항 표현을 생성하는 단계, 상기 생성된 0들의 런들의 길이들에 대한 단항 표현들을 연결하여 제2 시퀀스(RLS0)를 생성하는 단계, 및 상기 생성된 단항 표현들의 제1(RLS1) 및 제2 시퀀스(RLS0)를 비트 평면 인코딩하는 단계를 포함한다.
대부분의 경우에, 런 길이들에 대한 단항 표현들의 비트 평면들의 전체 엔트로피는 비트 시퀀스의 엔트로피보다 더 작다. 따라서, 보다 집약적인 인코딩이 달성될 수 있다.

Description

비트 시퀀스를 인코딩하기 위한 방법 및 디바이스{METHOD AND DEVICE FOR ENCODING A BIT SEQUENCE}
본 발명은 비트 시퀀스를 인코딩하기 위한 방법 및 디바이스에 관한 것이다.
비트 시퀀스들은, 예를 들어, 오디오, 비디오 및 그들의 조합과 같은 디지털 멀티미디어 콘텐츠 또는 그러한 콘텐츠에 동반하는 부가 정보(side information)를 인코딩한 결과물이다. 인코딩된 콘텐츠 및 부가 정보 중 적어도 하나의 집약적 표현(compact representation)을 위한 비트 시퀀스들의 인코딩은 저장 용량 및 전송 대역폭의 효과적인 사용을 위해 중요한 것이다.
0들 또는 1들 중 어느 하나만으로 이루어진 단순(trivial) 비트 시퀀스가 아닌, 각각의 비트 시퀀스는 하나 이상의 0들의 런들(runs)과 하나 이상의 1들의 런들(runs)이 번갈아 배치되도록 이루어지는 것으로 이해될 수도 있는데, 각각의 런(run)은, 런이 비트 시퀀스의 맨 처음 런도 맨 마지막 런도 아닌 한, 서로 다른 비트 값을 각각 갖는 또 다른 비트들의 런에 바로 앞서고 그에 바로 뒤따르는, 하나 이상의 동일하게 평가된 비트들의 인접한 서브-시퀀스이다.
비트 시퀀스들에서, 제1 가능 비트 값(first possible bit value)의 비트들 및 그와 다른 제2 가능 비트 값의 비트들은 흔히 상당히 다른 빈도로 발생하는데, 예컨대, 0들이 1들보다 더 많을 가능성이 있거나 1들이 0들보다 더 많을 가능성이 있다. 그 다음, 비트 시퀀스의 엔트로피는 비트 시퀀스에 포함된 비트의 수보다 더 작다.
만약 그렇다면, 비트 시퀀스에는 무손실 압축(lossless compression)에 의해 제거될 수 있는 리던던시가 존재한다.
비트 시퀀스의 무손실 압축을 위해 엔트로피 코딩 방법을 사용하는 것이 알려져 있다. 기본적으로, 3가지 종류의 엔트로피 코딩 방법, 즉, (1) 허프만 코딩(Huffman coding)과 같은, VLC(variable length coding), (2) 산술 코딩(arithmetic coding), 및 (3) LZ(Lempel-Ziv) 압축 혹은 LZW(Lempel-Ziv-Welch) 압축과 같은, 사전 기반 압축(dictionary-based compression)이 존재한다.
엔트로피 코딩의 효과는, 압축된 비트 시퀀스의 엔트로피와 압축된 비트 시퀀스에 포함된 비트수 사이의 차이가 압축 이전의 비트 시퀀스의 엔트로피와 압축 이전의 비트 시퀀스에 포함된 비트수 사이의 차이보다 더 작다는 점이다.
본 기술 분야에 있어서, 이론상으로 인코딩을 개선하기 위한 대안적인 접근법들에 대한 노력이 진행중이다.
그러한 개선을 달성하기 위해, 본원은 청구항 1에 따른 비트들의 시퀀스를 인코딩하기 위한 방법 및 청구항 7에 따른 대응 디바이스를 제안한다.
비트들의 시퀀스를 인코딩하기 위한 상기 방법은, 비트 시퀀스에 포함된 1들의 각각의 런에 대해, 1들의 각각의 런의 길이에 대한 단항 표현들(unary representations)을 생성하는 단계, 상기 생성된 1들의 런들의 길이에 대한 단항 표현들을 연결(concatenating)함으로써 제1 시퀀스(RLS1)를 생성하는 단계, 비트 시퀀스에 포함된 0들의 각각의 런에 대해, 0들의 각각의 런의 길이에 대한 단항 표현들의 제2 시퀀스를 생성하는 단계, 상기 생성된 0들의 런들의 길이에 대한 단항 표현들을 연결함으로써 제2 시퀀스(RLS0)를 생성하는 단계, 및 상기 생성된 제1 및 제2 시퀀스를 비트 평면 인코딩(bit plane encoding)하는 단계를 포함한다.
대부분의 경우에, 런 길이들에 대한 단항 표현들의 비트 평면들의 전체 엔트로피는 비트 시퀀스의 엔트로피보다 더 작다. 따라서, 더욱 집약적인 인코딩(compact encoding)이 달성될 수 있다. 확실히, 비트 평면들의 전체 엔트로피는 비트 시퀀스의 엔트로피를 초과하지 않을 것이다.
실시예에서, 상기 제1 시퀀스의 비트 평면들 및 상기 제2 시퀀스의 비트 평면들은 따로따로 인코딩된다.
또 다른 실시예에서, 비트 평면 인코딩 단계는, 비트 평면에서 1들의 런들의 길이들에 대한 단항 표현들의 제3 시퀀스를 생성하는 단계, 상기 비트 평면에서 0들의 런들의 길이들에 대한 단항 표현들의 제4 시퀀스를 생성하는 단계, 및 상기 생성된 단항 표현들의 제3 및 제4 시퀀스를 비트 평면 인코딩하는 단계를 포함한다.
또 다른 실시예에서, 상기 방법은, (a) 상기 비트들의 시퀀스의 현재(current) 비트를 수신하는 단계, (b) 상기 비트들의 시퀀스의 다음 비트를 수신하는 단계, (c) 다음 비트가 선호되는 가능한 비트 값(preferred possible bit value)인 경우 현재 비트의 값과는 다른 값을 갖는 비트를 출력하고, 그렇지 않으면, 현재 비트의 값을 갖는 비트를 출력하는 단계, (d) 상기 다음 비트가 현재 비트로서 사용되는 비트 시퀀스의 끝(end)에 도달할 때까지 단계 (b) 및 (c)를 반복하는 단계 및 (e) 출력된 비트들을 인코딩하는 단계를 추가로 혹은 단독으로 포함한다.
상기 방법의 또 다른 실시예에 있어서, 현재 비트가 상기 선호되는 가능한 비트 값인 경우 비트는 보조 시퀀스(adjuvant sequence)에 출력될 수도 있고 그렇지 않으면 비트는 추가(further) 보조 시퀀스에 출력될 수 있다.
보조 시퀀스 및 추가 보조 시퀀스 각각은, 런들 내의 한 비트의 서로 다른 가능한 위치들에 대응하는 서브-시퀀스들을 포함할 수 있다. 그 다음, 상기 방법의 또 다른 실시예는 현재 비트에 대응하는 서브-시퀀스들 중 하나 및 현재 런 내의 현재 비트의 위치에 비트를 출력하는 단계를 더 포함할 수 있다.
본원은 청구항 5에 따른 인코딩된 제1 및 제2 비트 평면들로부터의 비트들의 시퀀스를 디코딩하기 위한 방법 및 청구항 8에 따른 대응 디바이스를 더 제안한다.
비트들의 시퀀스를 형성하기 위한 상기 방법은, 제1 비트 평면들을 디코딩하여 단항 표현들의 제1 시퀀스를 얻는 단계, 제2 비트 평면들을 디코딩하여 단항 표현들의 제2 시퀀스를 얻는 단계, 1들의 런들을 생성하기 위해 제1 시퀀스를 사용하는 단계 - 제1 시퀀스에 포함된 각각의 단항 표현에 대해, 대응 길이의 1들의 런이 생성됨 - , 0들의 런들을 생성하기 위해 제2 시퀀스를 사용하는 단계 - 제2 시퀀스에 포함된 각각의 단항 표현에 대해, 대응 길이의 0들의 런이 생성됨 - , 및 상기 생성된 0들의 런들 및 상기 생성된 1들의 런들을 번갈아 배치함으로써 비트들의 시퀀스를 형성하는 단계를 포함한다.
실시예에서, 상기 디코딩 방법은, (a) 현재 값으로서 선호되는 가능한 비트 값을 사용하는 단계, (b) 상기 비트들의 시퀀스의 현재 비트를 수신하는 단계, (c) 상기 현재 값의 비트를 출력하는 단계, (d) 현재 비트가 상기 선호되는 가능한 비트 값인 경우 현재 값을 바꾸는 단계, 및 (e) 단계 (b)-(d)를 반복하는 단계를 포함한다.
본원의 예시적인 실시예들이 도면에 도시되고 아래의 기재에서 더욱 상세하게 설명된다.
도 1은, 본 방법의 예시적인 실시예의 적용으로 생성된, 첫 번째 예(first example)의 입력 시퀀스, 예시적인 런 길이 시퀀스(run length sequence), 다른 예시적인 런 길이 시퀀스들 및 예시적인 비트 평면들의 제1 및 제2 세트를 도시한다.
도 2는, 본 방법의 예시적인 실시예의 반복적인 적용으로 생성된, 또 다른 예시적인 런 길이 시퀀스들 및 또 다른 예시적인 비트 평면 시퀀스들을 도시한다.
도 3은, 본 방법의 예시적인 실시예의 적용으로 생성된, 두 번째 예(second example)의 입력 시퀀스와 또 다른 예시적인 런 길이 시퀀스들을 도시한다.
도 1에는, 30 비트 길이의 제1의 예시적인 입력 비트 시퀀스(BS)가 도시된다. 도 1의 예에서, 0들 및 1들은 BS에서 동일한 빈도로 발생하는데, 즉, BS에서 15개의 0 및 15개의 1이 존재한다. 제1의 예시적인 입력 비트 시퀀스(BS)의 엔트로피는 다음과 같이 계산될 수 있다.
H(B)= - 15*log2(15/30) - 15*log2(15/30) = 30
BS를 표현하기 위해 30비트가 요구되는 것처럼 나타난다.
그러나, 제1의 예시적인 입력 비트 시퀀스(BS)로부터 예시적인 런 길이 시퀀스(RLS)가 형성될 수 있는데, BS는 RLS로부터 복원(reconstruct)될 수 있다.
RLS는, 다음 방법, 즉, (a) 상기 입력 비트 시퀀스(BS)의 현재 비트를 수신하는 단계, (b) 상기 입력 비트 시퀀스(BS)의 다음 비트를 수신하는 단계, (c) 다음 비트가 선호되는 가능한 비트 값(이 예에서는, 1)인 경우 현재 비트의 값과는 다른 값을 갖는 비트를 출력하고, 그렇지 않으면, 현재 비트의 값을 갖는 비트를 출력하는 단계, (d) 비트 시퀀스의 끝에 도달할 때까지 단계 (b) 및 (c)를 반복하는 단계 - 여기서 상기 다음 비트가 현재 비트로서 사용됨 - 의 출력된 비트들로부터 예시적으로 형성된다.
RLS에서, BS의 각 0에 대해 1 바로 앞에는 1이 존재한다. 또한, RLS에서 BS의 각 1에 대해 1 바로 앞에는 0이 존재한다.
BS는 1 바로 앞에 8개의 0을 포함하고 1 바로 앞에는 단지 7개의 1을 포함하기 때문에, 0들 및 1들은 BS 및 RLS에서 서로 다른 빈도로 나타난다.
즉, RLS에서, 단지 14개의 0이 존재하나 1은 16개가 존재한다. 따라서, RLS의 엔트로피는 다음과 같다:
H(RLS)= - 14*log2(14/30) - 16*log2(16/30) = 29.90376
따라서, RLS를 표현하기 위해서는 여전히 30 비트가 요구된다.
단계 (c)에서 현재 비트가 상기 선호되는 가능한 비트 값인 경우 비트가 제1의 다른 런 길이 시퀀스로 출력되고 그렇지 않으면 비트가 제2의 다른 런 길이 시퀀스로 출력된다면, RLS로부터 2개의 다른 예시적인 런 길이 시퀀스가 형성될 수 있다.
제1의 다른 런 길이 시퀀스(RLS0)는 BS의 비트 0에 대응하는 RLS의 비트들을 포함한다. 그리고 제2의 다른 런 길이 시퀀스(RLS1)는 BS의 비트 1에 대응하는 RLS의 비트들을 포함한다.
RLS0으로부터, 제1 세트의 3개의 예시적인 비트 평면들(CS01, CS02 및 CS03)이 생성된다.
CS01은 0-값 비트(Zero-valued bit)가 바로 앞에 있지 않은 RLS0의 비트들을 포함한다.
CS02는 CS01으로 분류되는, RLS0에서 0-값 비트가 바로 앞에 있는 RLS0의 비트들을 포함한다. 따라서, CS02에 포함된 비트들의 수는 CS01에 포함된 0의 수와 동일하다.
끝으로, CS03은 CS02로 분류되는, RLS0에서 0-값 비트가 바로 앞에 있는 RLS0의 비트들을 포함한다. CS02에 대해서도, CS03에 포함된 비트들의 수는 CS02에 포함된 0의 수와 동일하다.
CS03은 0을 포함하지 않으므로 CS04는 존재하지 않는다.
CS01, CS02 및 CS03은 CS01, CS02 및 CS03의 연결(concatenation)로 이루어진 추가 보조 비트 시퀀스의 서브-시퀀스들일 수 있다. 제1 세트의 전체 엔트로피는 다음과 같다:
H(CS01) + H(CS02) + H(CS03) = 11.2451
동일한 방식으로, 제2 세트의 4개의 예시적인 비트 평면들(CS11, CS12, CS13 및 CS14)이 RLS1으로부터 생성된다.
제2 세트의 전체 엔트로피는 다음과 같다:
H(CS11) + H(CS12) + H(CS13) + H(CS14) = 10.39036
따라서, BS가 제1 및 제2 세트로부터 여전히 복원가능하더라도, 제1 세트 및 제2 세트의 전체 엔트로피는 BS의 엔트로피보다 훨씬 더 작다.
이 원리는 반복적으로 적용될 수 있다. 즉, CS01 및 CS11 중 적어도 하나는 입력 시퀀스로서 취해질 수 있다. 이는 도 2에서 예시적으로 도시된다. CS01 및 CS11로부터, 시퀀스 0RLS 및 1RLS가 형성된다. 0RLS 및 1RLS의 비트들은 2쌍의 시퀀스, 즉, 0RLS0, ORLS1, 1RLS0 및 1RLS1로 분리된다. 0RLS0, 0RLS1, 1RLS0 및 1RLS1의 비트들은 다른 컨텍스트로 분류된다.
0RLS0의 비트들은 컨텍스트 0CS01, 0CS02 및 0CS03으로 분류되는 한편, 0RLS1의 비트들은 컨텍스트 0CS11 및 0CS12로 분류된다.
그리고, 1RLS0의 비트들은 컨텍스트 1CS01 및 1CS02로 분류되는 한편, 1RLS1의 비트들은 컨텍스트 1CS11, 1CS12 및 1CS13으로 분류된다.
따라서, CS01은 0CS01, 0CS02, 0CS03, 0CS11 및 0CS12로 대체된다. 그리고 CS11은 1CS01, 1CS02, 1CS11, 1CS12 및 1CS13으로 대체된다.
그래서, BS는 CS02, CS03, CS12, CS13, CS14, 0CS01, 0CS02, 0CS03, 0CS11, 0CS12, 1CS01, 1CS02, 1CS11, 1CS12 및 1CS13으로 표현된다. 이러한 비트 평면 시퀀스들의 도움으로 BS에 대한 표현의 전체 엔트로피는 15.509775이고 따라서 BS의 엔트로피의 거의 반(half)이다.
엔트로피 감소는 예를 들어 이러한 비트 평면 시퀀스들을 더 압축하기 위한 컨텍스트 기반 엔트로피 코딩 혹은 비트 평면 인코딩을 사용하여 적어도 어느 정도까지 개발(exploit)될 수 있다. 예를 들어, 컨텍스트 기반 산술 코딩(context based arithmetic coding), 컨텍스트 기반 허프만 코딩(context based Huffman-coding) 혹은 사전 기반 압축(dictionary-based compression)이 사용될 수 있다.
엔트로피는 코딩 성능의 단지 대략적인 추정치(rough estimate)이지만, 예를 들어, 산술 코딩은 특히 입력 데이터 사이즈가 충분히 클 때, 예컨대, 1024 비트일 때 엔트로피를 거의 달성할 수 있다.
본원은, 대부분의 시퀀스에서 연이은(consecutive) 0들 혹은 연이은 1들의 수가 매우 상호 연관된다는 것을 이용한다.
제안된 방법은 임의의 종래의 엔트로피 코딩 방법과 함께 이용될 수 있다. 일부 플래그 비트(들)가 비트 스트림에 삽입되어 엔트로피 코딩 방법이 비트 시퀀스에 직접 적용되었는지 여부, 또는 엔트로피 코딩 방법이 제안된 방법으로 사용되었는지 여부를 나타낸다.
도 3에서, 30 비트 길이의 제2의 예시적인 입력 비트 시퀀스(BS')가 도시된다. 다시, 0들 및 1들은 BS'에서 동일한 빈도로 발생하는데, 즉, BS에는 15개의 0과 15개의 1이 존재한다. 따라서, 제2의 예시적인 입력 비트 시퀀스(BS')의 엔트로피는 30이고 BS'는 추가로 압축될 수 없는 것처럼 나타난다.
그러나, 런 길이 시퀀스(RLS)가 BS로부터 형성되는 것과 동일한 방식으로 또 다른 런 길이 시퀀스(RS')가 제2의 예시적인 입력 비트 시퀀스(BS')로부터 형성된다면, RLS'를 형성하는 것에 의해 이미 상당한 엔트로피 감소가 달성될 수 있다.
즉, RLS'는 단지 6개의 0를 포함하지만 1은 24개 포함하고 21.65784의 엔트로피를 갖는다.
1에 1111의 시퀀스를 매핑하고 01에 1001의 시퀀스를 매핑하고, 001에 1110의 시퀀스를 매핑하고 0001에 11의 시퀀스를 매핑하는 사전(dictionary)의 도움으로 (마지막 2개의 비트를 표현하기 위한 정지 시퀀스(stop sequence)로서), RLS'는 8개의 1과 9개의 0와 약 16.96의 엔트로피를 갖는 단지 17비트로 이루어지는 압축된 출력 시퀀스(COS')로 변형(transform)될 수 있다.
입력 비트 시퀀스(BS)는 압출될 더 긴 비트 시퀀스로 이루어질 수 있거나 또는 압축될 전체 비트 시퀀스일 수 있다.
압축될 긴 비트 시퀀스에 대해, 본원에서 제안된 실시예는, 하나씩(bit by bit) 비트 시퀀스를 런 길이 시퀀스로 변형하는 것을 허용한다. 즉, 비트 시퀀스의 비트를 순차적으로 생성하는 제1 인코더에 접속되면, 이렇게 생성된 비트들을 수신하고 수신된 비트 각각에 대해 출력 비트를 출력하는 변형 디바이스(transformatin device)가 존재할 수 있다. 따라서, 런 길이 시퀀스로의 비트 시퀀스의 변형은 단지 하나의 비트 래이턴시(one bit latency)로 신속하게(on-the-fly) 실시될 수 있다.
상기 변형 디바이스는 시퀀스(BS, BS')의 비트들을 수신하는 수단, 출력된 비트들을 인코드하는 제2 인코더로 비트들을 출력하는 수단을 포함한다. 비트들을 출력하는 수단은, 출력된 비트의 값이 이전에 수신된 비트 및 현재 수신된 비트의 값들에 의존하도록 되어 있고, 비트 시퀀스(BS, BS')에서 이전에 수신된 비트는 현재 수신된 비트의 바로 앞이다. 즉, 현재 수신된 비트가 선호되는 가능한 비트 값이라면 출력된 비트는 이전에 수신된 비트의 값과는 다른 값을 갖고, 그렇지 않으면, 이전에 수신된 비트의 값을 갖는다. 디바이스는 비트를 출력한 이후에 이전에 수신된 비트로서 현재 수신된 비트를 사용하고, 비트 시퀀스(BS)의 끝에 도달할 때까지 비트들의 수신 및 비트들을 출력을 반복하도록 되어 있다. 따라서, 각각의 이전에 수신된 비트에 대해, 대응하는 출력된 비트가 존재한다. 비트 시퀀스의 마지막 비트에 대해 - 상기 마지막 비트는 후속하는 비트가 없고 따라서 이전에 수신된 비트가 전혀 아님 - , 상기 선호되는 가능한 비트 값의 비트가 상기 디바이스에 의해 출력된다.
디바이스는 그 값이 1로 초기화되는 카운터를 포함할 수 있는데, 상기 카운터 값은 이전 수신된 비트의 값이 현재 수신된 비트의 값과 동일한 경우 1씩 증가되고 이전에 수신된 비트의 값이 현재 수신된 비트의 값과 다른 경우 1로 리셋된다.
그 다음, 제2 인코더는 출력된 비트의 컨텍스트-기반 산술 인코딩을 위해 적응될 수 있고, 출력된 비트의 컨텍스트는 대응하는 이전에 수신된 비트의 값 및 카운터 값 중 적어도 하나에 의해 정의된다.

Claims (8)

  1. 비트 시퀀스(BS)를 인코딩하기 위한 방법으로서,
    상기 비트 시퀀스(BS)에 포함된 1들의 각 런(each run of Ones)에 대해, 각각의 1들의 런의 길이에 대한 단항 표현(unary representation)을 생성하는 단계,
    상기 생성된 1들의 런들의 길이들에 대한 단항 표현들을 연결(concatenate)하여 제1 시퀀스(RLS1)를 생성하는 단계,
    상기 비트 시퀀스(BS)에 포함된 0들의 각 런(each run of Zeroes)에 대해, 각각의 0들의 런의 길이에 대한 단항 표현을 생성하는 단계,
    상기 생성된 0들의 런들의 길이들에 대한 단항 표현들을 연결하여 제2 시퀀스(RLS0)를 생성하는 단계, 및
    상기 생성된 제1 시퀀스(RLS1) 및 제2 시퀀스(RLS0)를 비트 평면 인코딩(bit plane encoding)하는 단계
    를 포함하는 비트 시퀀스 인코딩 방법.
  2. 제1항에 있어서,
    상기 제1 시퀀스(RLS1) 및 상기 제2 시퀀스(RLS0)는 개별적으로 비트 평면 인코딩되는 비트 시퀀스 인코딩 방법.
  3. 제1항 또는 제2항에 있어서, 상기 비트 평면 인코딩 단계는,
    비트 평면에서 1들의 런들의 길이들에 대한 단항 표현의 제3 시퀀스(ORLS1, 1RLS1)를 생성하는 단계,
    상기 비트 평면에서 0들의 런들의 길이들에 대한 단항 표현의 제4 시퀀스(0RLS0, 1RLS0)를 생성하는 단계, 및
    상기 생성된 단항 표현들의 제3 및 제4 시퀀스를 비트 평면 인코딩하는 단계
    를 포함하는 비트 시퀀스 인코딩 방법.
  4. 제1항 또는 제2항에 있어서,
    (a) 상기 비트들의 시퀀스(BS, BS')의 현재 비트(current bit)를 수신하는 단계,
    (b) 상기 비트들의 시퀀스(BS, BS')의 다음 비트(next bit)를 수신하는 단계,
    (c) 상기 다음 비트가 선호되는 가능한 비트 값(preferred possible bit value)인 경우 상기 현재 비트의 값과는 다른 값을 갖는 비트를 출력하고, 그렇지 않으면, 상기 현재 비트의 값을 갖는 비트를 출력하는 단계,
    (d) 상기 비트들의 시퀀스(BS, BS')의 끝에 도달할 때까지 상기 단계 (b) 및 (c)를 반복하는 단계 - 상기 다음 비트가 현재 비트로서 사용됨 - , 및
    (e) 상기 출력된 비트들(RLS, RLS')을 압축하는 단계
    를 포함하는 비트 시퀀스 인코딩 방법.
  5. 인코딩된 제1 및 제2 비트 평면들로부터 비트들의 시퀀스를 형성하기 위한 방법으로서,
    상기 제1 비트 평면들을 디코딩하여 단항 표현들의 제1 시퀀스를 얻는 단계,
    상기 제2 비트 평면들을 디코딩하여 단항 표현들의 제2 시퀀스를 얻는 단계,
    상기 제1 시퀀스를 사용하여 1들의 런들을 생성하는 단계 - 상기 제1 시퀀스에 포함된 각 단항 표현에 대해, 대응하는 길이의 1들의 런이 생성됨 - ,
    상기 제2 시퀀스를 사용하여 0들의 런들을 생성하는 단계 - 상기 제2 시퀀스에 포함된 각 단항 표현에 대해, 대응하는 길이의 0들의 런이 생성됨 - , 및
    상기 생성된 0들의 런들 및 상기 생성된 1들의 런들을 번갈아 배치(alternating)함으로써 비트들의 시퀀스를 형성하는 단계
    를 포함하는 비트들의 시퀀스 형성 방법.
  6. 제5항에 있어서,
    (a) 선호되는 가능한 비트 값을 현재 값으로 사용하는 단계,
    (b) 상기 비트들의 시퀀스의 현재 비트를 수신하는 단계,
    (c) 상기 현재 값의 비트를 출력하는 단계,
    (d) 상기 현재 비트가 상기 선호되는 가능한 비트 값인 경우 상기 현재 값을 상기 현재 값과 상이한 값으로 바꾸는 단계, 및
    (e) 상기 단계 (b)-(d)를 반복하는 단계
    를 포함하는 비트들의 시퀀스 형성 방법.
  7. 비트 시퀀스(BS)를 인코딩하기 위한 디바이스로서,
    상기 비트 시퀀스(BS)에 포함된 1들의 각 런에 대해, 각각의 1들의 런의 길이에 대한 단항 표현을 생성하고, 상기 비트 시퀀스(BS)에 포함된 0들의 각 런에 대해, 각각의 0들의 런의 길이에 대한 단항 표현을 생성하도록 적응되어 있는 생성 수단,
    상기 생성된 1들의 런들의 길이들에 대한 단항 표현들을 연결하여 제1 시퀀스(RLS1)를 생성하고, 상기 생성된 0들의 런들의 길이들에 대한 단항 표현들을 연결하여 제2 시퀀스(RLS0)를 생성하도록 적응되어 있는 연결 수단, 및
    상기 생성된 단항 표현들의 제1 및 제2 시퀀스를 비트 평면 인코딩하기 위한 수단
    을 포함하는 비트 시퀀스 인코딩 디바이스.
  8. 인코딩된 제1 및 제2 비트 평면들로부터 비트들의 시퀀스를 디코딩하기 위한 디바이스로서,
    상기 제1 비트 평면들을 디코딩하여 단항 표현들의 제1 시퀀스를 얻고, 상기 제2 비트 평면들을 디코딩하여 단항 표현들의 제2 시퀀스를 얻도록 적응되어 있는 디코딩 수단,
    상기 제1 시퀀스를 사용하여 1들의 런들을 생성 - 상기 제1 시퀀스에 포함된 각 단항 표현에 대해, 대응하는 길이의 1들의 런이 생성됨 - 하고, 상기 제2 시퀀스를 사용하여 0들의 런들을 생성 - 상기 제2 시퀀스에 포함된 각 단항 표현에 대해, 대응하는 길이의 0들의 런이 생성됨 - 하도록 적응되어 있는 생성 수단, 및
    상기 생성된 0들의 런들 및 상기 생성된 1들의 런들을 번갈아 배치함으로써 비트들의 시퀀스를 형성하기 위한 수단
    을 포함하는 비트들의 시퀀스 디코딩 디바이스.
KR1020100008546A 2009-01-30 2010-01-29 비트 시퀀스를 인코딩하기 위한 방법 및 디바이스 KR101629967B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09305086A EP2214315A1 (en) 2009-01-30 2009-01-30 Method and device for encoding a bit sequence
EP09305086.2 2009-01-30

Publications (2)

Publication Number Publication Date
KR20100088576A KR20100088576A (ko) 2010-08-09
KR101629967B1 true KR101629967B1 (ko) 2016-06-13

Family

ID=40585478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008546A KR101629967B1 (ko) 2009-01-30 2010-01-29 비트 시퀀스를 인코딩하기 위한 방법 및 디바이스

Country Status (5)

Country Link
US (1) US8009069B2 (ko)
EP (2) EP2214315A1 (ko)
JP (1) JP5602440B2 (ko)
KR (1) KR101629967B1 (ko)
CN (1) CN101795407B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008128380A1 (en) * 2007-04-20 2008-10-30 Thomson Licensing Method and apparatus for selecting a scan path for the elements of a block in spatial domain picture encoding and decoding
CN101977061B (zh) * 2010-10-19 2012-12-26 广西师范大学 一种通用信息的无损压缩与解压缩方法
KR101862438B1 (ko) 2011-07-18 2018-05-29 톰슨 라이센싱 트리 구조들의 적응적 엔트로피 코딩을 위한 방법
CN104303210B (zh) * 2012-04-19 2018-04-24 汤姆逊许可公司 用于基于重复结构探索的三维模型压缩的方法及装置
BR112014026044A2 (pt) 2012-04-19 2017-06-27 Thomson Licensing método e aparelho para compressão modelo 3d baseado na descoberta de estrutura repetida
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9467294B2 (en) 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US20140223118A1 (en) * 2013-02-01 2014-08-07 Brian Ignomirello Bit Markers and Frequency Converters
US8810439B1 (en) * 2013-03-01 2014-08-19 Gurulogic Microsystems Oy Encoder, decoder and method
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
CN107945807B (zh) * 2016-10-12 2021-04-13 厦门雅迅网络股份有限公司 基于静音游程的语音识别方法及其系统
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
CN117097906B (zh) * 2023-10-20 2023-12-26 河北天英软件科技有限公司 一种区域医疗资源高效利用的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272478A (en) * 1992-08-17 1993-12-21 Ricoh Corporation Method and apparatus for entropy coding
JP3274566B2 (ja) * 1994-05-20 2002-04-15 株式会社リコー 画像符号化装置
JP2003230139A (ja) * 2002-02-01 2003-08-15 Sony Corp 画像圧縮装置と画像圧縮方法、並びにその画像伸張装置と画像伸張方法
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
CN101341658B (zh) * 2005-12-19 2013-03-27 索尼公司 具有约束d=1,r=2的、具有奇偶互补字分配的码的编码器和编码方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818877A (en) 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values

Also Published As

Publication number Publication date
US8009069B2 (en) 2011-08-30
CN101795407B (zh) 2014-06-25
US20100194610A1 (en) 2010-08-05
JP2010178339A (ja) 2010-08-12
EP2214316A1 (en) 2010-08-04
EP2214315A1 (en) 2010-08-04
JP5602440B2 (ja) 2014-10-08
CN101795407A (zh) 2010-08-04
KR20100088576A (ko) 2010-08-09

Similar Documents

Publication Publication Date Title
KR101629967B1 (ko) 비트 시퀀스를 인코딩하기 위한 방법 및 디바이스
US6771824B1 (en) Adaptive variable length decoding method
KR101176691B1 (ko) 변환 블록들의 효율적 코딩 및 디코딩
US8942502B2 (en) Parallelization of variable length decoding
JP5162708B2 (ja) 整数値データのストリームを圧縮するシステム及び方法
JP2012502573A (ja) プリフィックス‐サフィックス符号をロスレス圧縮する方法、圧縮されたプリフィックス‐サフィックス符号内に符号化された整数またはシンボルを表すビットシーケンスを圧縮解除する方法、および、圧縮されたプリフィックス‐サフィックス符号を担持する記憶媒体または信号
CN114520659A (zh) 结合rANS和LZ4编码的数据无损压缩、解码方法
RU2611249C1 (ru) Модификатор энтропии и способ его использования
JP5529255B2 (ja) 入力ビットシーケンスを符号化する方法及び装置並びに対応する復号化方法及び装置
JP2781535B2 (ja) デジタル符号化装置及びデジタル符号復号化装置
Islam et al. Redundant Reduced LZW (RRLZW) Technique of Lossless Data Compression.
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
Bařina Compression techniques
Perkis et al. Robust image compression using reversible variable-length coding
KR100189875B1 (ko) 허브만 부호 복호화장치
Agulhari et al. Lossless compression applied to wavelets coefficients
Kumar et al. Image Compression Technique: A Review
Mittal A Study of Lossless Data Compression Techniques for Energy Saving
JP2004516759A (ja) 自己プリフィックス(Self−PREFIXED)共通可変長符号を用いたデータ圧縮方法

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