KR20090113208A - 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법 - Google Patents

정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법 Download PDF

Info

Publication number
KR20090113208A
KR20090113208A KR1020090035686A KR20090035686A KR20090113208A KR 20090113208 A KR20090113208 A KR 20090113208A KR 1020090035686 A KR1020090035686 A KR 1020090035686A KR 20090035686 A KR20090035686 A KR 20090035686A KR 20090113208 A KR20090113208 A KR 20090113208A
Authority
KR
South Korea
Prior art keywords
sequence
integers
prefix
syntax elements
suffixes
Prior art date
Application number
KR1020090035686A
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 톰슨 라이센싱
Priority to KR1020090035686A priority Critical patent/KR20090113208A/ko
Publication of KR20090113208A publication Critical patent/KR20090113208A/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

본 발명은 정수들의 시퀀스를 인코딩하기 위한 방법, 그러한 인코딩된 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 그러한 인코딩된 시퀀스를 디코딩하는 방법과 관련이 있다.
상기 방법은, 정수들의 시퀀스 내의 연속된 부분-시퀀스를 식별하는 단계로서, 상기 부분-시퀀스는, 가변 길이 인코딩될 때 동일한 접두사와, 독립적인 마지막 정수를 갖는, 서로 관계가 있는 정수들을 포함하는, 식별하는 단계, 그리고, 상기 연속된 시퀀스 내의 서로 관계가 있는 정수들의 수의 표시를 위한 코드의 도움으로, 상기 연속된 부분-시퀀스에 대한 코드를 형성하고, 접두사 표시의 코드와 상기 연속된 부분-시퀀스 내의 정수들의 가변 길이 코드들의 접미사들을 형성하는 단계를 포함한다.
그러므로, 만일 동일한 접두사로 인코딩되는 n 개의 정수들이 존재한다면, 정수들에 대한 n 개의 개별적인 접두사들 대신, 연속된 부분시퀀스에 대한 하나의 단일 접두사로 충분하다.

Description

정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법{METHOD FOR ENCODING A SEQUENCE OF INTEGERS, STORAGE DEVICE AND SIGNAL CARRYING AN ENCODED INTEGER SEQUENCE AND METHOD FOR DECODING A SEQUENCE OF INTEGERS}
본 발명은 정수(integer)들의 시퀀스(sequence)를 인코딩하기 위한 방법과, 인코딩된 정수 시퀀스를 운반하는(carrying) 신호, 또는 저장 매체와 관련이 있다. 본 발명은, 또한, 인코딩된 정수 시퀀스를 디코딩하기 위한 방법과 관련이 있다.
가변 길이 코딩(VLC: variable length coding)에서, 정수들은 접두사(prefix)와 접미사(suffix)에 의해 인코딩된다. 예컨대, 접미사는, 이진수로 인코딩된(binary encoded) 페이 로드 데이터(pay load data)를 운반하는 변수 개의 비트를 포함한다. 그리고, 접두사는, 대응하는 접미사에 포함되는 비트들의 수를 표현하는, 1진수 코드(unary code)를 포함한다. 1진수 코드는, 동일한 값을 갖는 비트들의 대응하는 수에 의해 숫자를 표현한다. 그러므로, 한 정수를 인코딩하기 위해 사용되는 비트들의 절반은 접두사를 위해 사용된다.
디폴트 값(default value)을 갖는 정수들로 이루어진 많은 수의 연속된 부분 -시퀀스(contiguous sub-sequence)와, 그를 뒤따르는, 다른 값들을 갖는 정수들로 이루어진 단일 발생(single occurrence)을 포함하는, 정수들의 시퀀스에서, 상기 시퀀스는, 런(run)의, 즉, 코딩된 다른 값에 선행하는 연속된 부분시퀀스 내에서 상기 디폴트 값이 발생하는 횟수의, 가변 길이 코드 표현이 선행하는 각각의 상기 다른 값들의 가변 길이 코드에 의해 제공될 수도 있다. 선택적으로, 상기 코드 앞에, 상기 디폴트 값을 갖는 가변 길이 코드 표현이 선행할 수도 있다. 이는 런-레벨 코딩(run-level coding)으로 불린다.
만일 연속된 부분-시퀀스들 내의 정수들이 모두 공통적인 디폴트 값을 가질 뿐 아니라, 부분-시퀀스들의 각각 내에서 동일한 또는 상수의 값을 갖는다면, 부분-시퀀스들의 각각은 상기 대응하는 상수 값의 런의 가변 길이 코드 표현이 앞서는, 대응하는 상수 값의 가변 길이 코드에 의해 표현될 수도 있다. 이는 런-렝스 코딩(run-length coding)으로 불린다.
임의의 정수 시퀀스들과 관련된 인코딩 효율을 향상시키기 위한 노력들이 진행 중이다.
효율적인 정수 시퀀스 인코딩은 정수들의 시퀀스의 인코딩을 위한 방법에 의해 달성되며, 상기 방법은 본 발명의 청구항 제1항의 특징들을 포함한다.
상기 방법은, 정수들의 시퀀스 내의 한 연속된 부분-시퀀스를 식별하는 단계 로서, 상기 부분-시퀀스는, 가변 길이 인코딩될 때 동일한 접두사를 갖는 상관관계의(interrelated) 정수들과, 독립적인 마지막 정수를 포함하는, 식별하는 단계, 그리고, 상기 연속된 부분시퀀스 내의 상관관계의 정수들의 수의 표시(indication)를 위한 코드, 접두사 표시의 코드, 그리고 연속된 부분-시퀀스 내의 정수들의 가변 길이 코드의 접미사의 도움으로, 연속된 부분-시퀀스에 대한 코드를 형성하는 단계를 포함한다.
그러므로, 만일, 한 연속된 부분시퀀스 내에 n 개의 정수가 존재하며, 그 각각은 동일한 접두사로 인코딩된다면, 정수들에 대한 n 개의 개별적인 접두사 대신, 연속된 부분시퀀스에 대한 하나의 단일 접두사로도 충분하다. 따라서, 상기 부분시퀀스는 더욱 적은 비트들로 코딩될 수 있다.
한 실시예에서, 상기 접두사 표시는, 독립적인 마지막 정수의 가변 길이 코드의 접두사인, 상기 동일한 접두사를 또한 표시한다.
다른 실시예에서, 상기 동일한 접두사는 디폴트 접두사이며, 상기 접두사 표시는, 독립적인 마지막 정수의 가변 길이 코드의 접두사인, 다른 접두사를 표시한다.
또 다른 실시예에서, 상기 방법은 상기 디폴트 접두사의 이진 표현을 상기 수정된 이진 시퀀스 내에 넣는 단계(enclosing)를 더 포함한다.
또 다른 실시예에서, 정수들의 상기 시퀀스는 코딩된 페이 로드 값들의 시퀀스와 관련이 있으며, 상기 정수들은, 상기 코딩된 페이 로드 값들을 운반하는 데이터 필드들의 길이(length)를 표시한다.
본 발명은, 또한, 한 프레임(frame)의 한 슬라이스(slice) 내에 포함되는 매크로 블록(macro block)들과 결합된, 상이한 유형의, 정수 값을 갖는 구문 요소(syntax element)들의 인코딩을 위한 방법과 관련이 있으며, 상기 방법은, 구문 요소들의 유형에 따라서 그 구문 요소들을 분류하는 단계, 하나의 단일 유형의 구문 요소로부터 시퀀스를 형성하는 단계, 그리고, 본 발명의 청구항 제1 내지 4항 중 어느 한 항에 따라서, 하나의 단일 유형의 구문 요소들의 시퀀스를 인코딩하는 단계를 포함한다.
정수 값을 갖는 구문 요소들을 인코딩하기 위한 상기 방법의 다른 실시예에서, 상기 방법은, 구문 요소들의 유형에 따라서 그 구문 요소들을 분류하는 단계, 하나의 단일 유형의 구문 요소들로부터 시퀀스를 형성하는 단계, 그리고, 본 발명의 청구항 제5항에 따라서, 인코딩된 페이 로드 값들의 상기 시퀀스로서, 하나의 단일 유형의 구문 요소들의 시퀀스를 인코딩하는 단계를 포함한다.
본 발명은, 또한, 한 쌍(pair)의 코딩된 정수를 운반하는 신호 또는 저장 매체와 관련이 있으며, 상기 코딩된 정수의 쌍 중 하나는 발생의 횟수를 표시하고, 다른 하나는 접두사를 표시하며, 상기 코딩된 정수들의 쌍은, 나아가, 상기 신호 또는 상기 저장 매체에 의해 운반되는, 인코딩된 페이 로드 정수들의 다수의 접미사들에 선행하고, 상기 접미사들의 수는 상기 발생의 횟수에 비례하며, 인코딩된 값들 중의 적어도 하나의 마지막은, 상기 표시된 접두사의 도움으로, 상기 접미사들 중의 적어도 하나의 마지막으로부터 디코딩될 수 있다.
상기 신호 또는 저장 매체의 한 실시예에서, 다른 인코딩된 페이 로드 정수 들은, 디폴트 접두사의 도움으로, 다른 접미사들로부터 디코딩될 수 있다.
상기 신호 또는 저장 매체의 다른 실시예에서, 인코딩된 페이 로드 정수들은, 한 프레임의 한 슬라이스 내에 포함된 매크로 블록들과 결합된 구문 요소들이다.
본 발명은, 또한, 코딩된 접두사, 코딩된 발생의 횟수, 그리고, 상기 발생의 횟수에 비례하는 코딩된 접미사들의 수를 포함하는 하나의 코드 시퀀스로부터 정수들의 시퀀스를 디코딩하기 위한 방법과 관련이 있으며, 상기 방법은 상기 접두사를 디코딩하는 단계, 상기 양(quantity)을 디코딩하는 단계, 접미사들로부터 정수들을 디코딩하는 단계로서, 상기 정수들 중의 마지막은, 상기 접두사의 도움으로, 상기 접미사들 중의 마지막으로부터 디코딩되고, 다른 정수들은, 나머지(remainder) 접두사의 도움으로, 다른 접미사들로부터 디코딩되는, 접미사들로부터 정수들을 디코딩하는 단계를 포함한다.
상기 디코딩하는 방법의 한 실시예에서, 상기 나머지 접두사는 상기 접두사와 동일하다.
상기 디코딩하는 방법의 다른 실시예에서, 상기 나머지 접두사는 디폴트 접두사이다.
상기 디코딩하는 방법의 또 다른 실시예에서, 시퀀스 내의 코딩된 정수들은, 페이 로드 데이터 필드들의 한 시퀀스의 페이 로드 데이터 필드 크기들을 표시한다.
상기 디코딩하는 방법의 또 다른 실시예에서, 상기 페이 로드 데이터 필드들 은, 한 프레임의 한 슬라이스 내에 포함된 매크로 블록들과 결합된, 상이한 유형의, 인코딩된 구문 요소들을 운반한다.
상기 디코딩하는 방법의 또 다른 실시예에서, 상기 인코딩된 정수들은 하나의 단일 유형의 인코딩된 구문 요소들이며, 한 코딩된 비디오 프레임 시퀀스의 한 프레임 슬라이스의 매크로 블록들과 결합된다.
그 이상의 본 발명의 양상들은 본 발명의 도면들, 상세한 설명 그리고 청구항들로부터 곧 알 수 있다.
본 발명의 예시적 실시예들이 도면들에 묘사되며, 다음의 설명에서 더욱 자세하게 설명된다.
본 발명의 인코딩 체계는, 현존하는 엔트로피 코딩 방법들의 성능을 더 향상시킬 수 있으며, 많은 수의 연속된 매크로블록을 갖는 동일한 구문 요소들은 빈번하게(frequently) 동일한 길이의 접두사를 가지므로, 런-렝스 코딩은 이러한 종류의 통계적 중복을 대단히 감소시킬 수 있다.
아래에서, 표 1은, Golomb, S.W. "Run-length encodings(런-렝스 인코딩)", IEEE Trans. Inf. Theory, 1966. 7(12): 399-401에 발표된, 골롬에 따른, 파라미터화 가능한(parameterizable) VLC-코드들을 나타낸다. 파라미터 a는 어느 초기 접미사 길이(initial suffix length)로 그 코드가 시작되는지를 표시한다. 그 초기 접미사 길이는 1진 접두사에서 영들(Zeroes)의 수만큼 연장된다. 상기 표 1의 제 1 열은 상이한 a 파라미터들을 나타내며, 제 2 열은 상기 파라미터 a에 의존하는, 상이한 코드 워드(code word)들의 범위들을 나타내고, 마지막 열은 상기 코드 워드 범위들로 인코딩되는 값의 범위를 나타낸다.
Figure 112009024803932-PAT00001
도 1에서, 정수들의 한 예시적 시퀀스가 표의 제 1 행에 나타나 있다. 연속된 두 개의 동일한 정수가 존재하지 않으며, 따라서, 종래 기술의 런-렝스 또는 런-레벨 코딩의 응용은, 코딩 효율에서의 어떠한 이익도 제공하지 않는다.
도 1 내의 표의 제 2 행은, 최상위 비트(MSB: the most significant bit)가 생략된, 이진수로 기록된 제 1 행의 정수들을 포함한다. MSB는, 최종 코드 내에 더 포함된 접두사로부터 공제 가능(deductible)할 것이므로, 생략 가능하다. 그러므로, 제 1 행에 포함된 값 1에 대한 코드가 제 2 행에 존재하지 않는다. 이는 제 2 행에서 []에 의해 표시된다.
제 3 행으로부터 명백한 것과 같이, 동일한 값을 갖는 연속된 두 정수가 존재하지 않을지라도, MSB 없는 이진 표현을 위해 동일한 양(amount)의 비트들을 요구하는, 정수들의 연속된 런(run)들이 존재한다.
상기 표의 제 4 행은 예시적 정수들의, MSB 없는 이진 표현을 위해 요구되는 상이한 비트량들을 갖는 런-렝스 코드를 나타낸다. 상기 런-렝스 코드는 괄호 표시 내에 나타난다. 괄호는 한 쌍의 십진수 값들을 포함하며, 상기 십진수 값의 쌍 중 앞(former)의 값은, 발생의 횟수는 적어도 1이므로, 1 만큼 감소된 발생의 횟수를 표현한다. 그리고 상기 십진수 값의 쌍 중 뒤(latter)의 값은, MSB 없는 이진 표현을 위해 사용된 비트의 양을 표현한다. 예컨대, 좌측의 처음 두 괄호, (0,2)(0,1)는 2 비트의 하나의 데이터 필드에 이어 1 비트의 하나의 데이터 필드가 뒤따른다는 것을 표현한다.
상기 표의 제 5 행은 예시적 정수들의, MSB 없는 이진 표현을 위해 요구되는 상이한 비트량들을 갖는 런-레벨 코드를 나타낸다. 다시, 괄호 표시가 사용되었다. 괄호는 한 쌍의 십진수 값을 포함하며, 상기 십진수 값의 쌍 중 앞의 값은, 본 예시에서는 2 비트인, 디폴트 비트량의 연속된 발생의 감소되지 않은 횟수를 표현하며, 뒤의 값은 상기 디폴트 비트량의 연속된 발생을 종결시키는(terminating) 상이한 비트량을 표현한다. 디폴트 비트량의 연속된 발생의 횟수는 0일 수도 있으며, 따라서, 감소되지 않는다. 본 예시 내에서, 디폴트 값은 2이다. 그러므로, 첫 두 괄호, (1,1)과 (6,3)은, 디폴트 비트량인, 2 비트를 갖는 한 데이터 필드에 뒤이어 1 비트를 갖는 한 데이터 필드가 오고, 3 비트를 갖는 데이터 필드는, 각각 2 비트로 인코딩된, 6 개의 데이터 필드의 시퀀스를 뒤따른다는 것을 나타낸다.
도 1 내의 표 아래의 두 행은, 지수-골롬 코딩을 기초로 하는, 예시 정수 시퀀스의, 본 발명의 런-렝스 코드의 한 예시적 실시예를 표현한다. 시퀀스의 코드는 (0,2)의 지수-골롬 VLC 표현으로 시작한다. 이는 길이 2를 갖는 하나의 페이 로드 데이터 필드의 시퀀스의 접두사를 형성한다. 설명의 이유로, 도 1에서 접두사는 밑줄이 그어져있다(underlined). 한 페이 로드 데이터 필드는 제일 첫 정수의 이진 표현을, 즉, 이진 표현으로 100인, 값 4를 운반하며, MSB는, 접두사로부터 공제될 수 있으므로, 생략되었고, 그 결과, 00에 의해 값 4를 표현하게 된다. 그 후, 다음 접두사가 뒤따르고, 다시 설명을 위해 밑줄이 그어졌다. 이 다음 접두사는, 길이 1을 갖는 하나의 단일 페이 로드 데이터 필드의 시퀀스(sequence)의 접두사이며, 따라서, (0,1)의 지수-골롬 VLC 표현으로부터 형성된다. 이진 표현에서 값 3을 운반하는 상기 1 비트의 단일 페이로드 데이터 필드가 뒤따르며, MSB는, 다시, 생략된다. 2 비트에 의해 표현된 6 개의 정수와 3 비트에 의해 표현된 하나의 단일 정수의 이진 표현이, 상기 다음 접두사에 뒤이어서 인접한다(subsequently adjacent). 그리고 그 후도 이와 같다(And so on).
도 1에서 제일 마지막 두 행은, 지수-골롬 코딩을 기초로 하는, 예시 정수 시퀀스의, 본 발명의 코드의 다른 예시적 실시예를 표현한다. 상기 시퀀스의 코드는, 이러한 다른 예시에서 2인 디폴트 값을 갖는 지수-골롬 VLC 표현인 시퀀스 접두사 011로 좌측에서 시작한다. 그 후, (1,1)을 표현하는 1과 1의 지수-골롬 VLC 표현이 뒤따른다. 이는, 디폴트 길이를 갖는 제 1 페이로드 데이터 필드와 길이 1을 갖는 제 2 페이 로드 데이터 필드인, 두 개의 페이 로드 데이터 필드를 갖는 시퀀스의 접두사를 형성한다. 설명의 이유로, 도 1에서 접두사는 밑줄이 그어져있다. 상기 두 페이 로드 데이터 필드는 첫 두 정수의 이진 표현을 운반하고, 즉, 값 4와 3은 00과 1로 표현된다. 그 후, 다음 접두사가 뒤따르며, 다시 설명을 위해 밑줄이 그어졌다. 이 다음 접두사는, 디폴트 길이 2를 갖는 6 개의 페이 로드 데이터 필드와, 그 뒤를 따르는, 길이 3을 갖는 하나의 단일 페이 로드 데이터 필드의 시퀀스의 접두사이다. 2 비트로 표현된 6 개의 정수와 3 비트로 표현된 하나의 단일 정수의 이진 표현은 상기 다음 접두사에 뒤이어서 인접한다.
만일 시퀀스가, 각각이 디폴트 양의 비트로 인코딩된 정수들의 연속된 부분-시퀀스로 종료된다면, 마지막 (런, 레벨)-접두사는 디폴트 값을 레벨로서 표현할 수도 있다. 디폴트 값과 같은 레벨은, 그 디폴트 양의 비트로 인코딩된 정수들의 다음 런 이후의 정수 시퀀스의 디코더 종결(decoder termination)을 표시한다.
아래에서, 표 2는, Golomb, S.W. "Run-length encodings", IEEE Trans. Inf. Theory, 1966. 7(12): 399-401에서 발표된, 골롬에 따른, 이른바 하이브리드 골롬(hybrid Golomb) VLC-코드를 표현한다.
Figure 112009024803932-PAT00002
하이브리드 골롬 코딩을 기초로 하는, 도 1의 예시 정수 시퀀스를 인코딩하는 단계가, 도 2의 도움으로 설명된다.
도 2의 표의 제 2 행은, 제 1 행의 정수들의 하이브리드 골롬 코드의 접미사를 포함하며, 최상위 비트(MSB)는 생략되었다. MSB는, 최종 코드 내에 더 포함되는 접두사로부터 공제 가능하므로 생략되었다. 그러므로, 제 1 행에 포함된 값 1에 대한 코드가 제 2 행에 존재하지 않는다. 이는 제 2 행에서 []에 의해 표시된다.
도 2의 표의 제 3 행으로부터 명확한 것과 같이, 연속된 같은 값을 갖는 두 개의 정수가 존재하지 않을지라도, 하이브리드 골롬 코딩에서는, 동일한 접두사 길이를 요구하는, 따라서 동일한 접두사를 요구하는, 정수들의 연속된 런들이 존재한다.
도 2의 제 4 행은, 예시 정수들의 MSB 없는 하이브리드-골롬 표현을 위해 요구되는, 상이한 접두사들의 런-렝스 코드를 나타낸다. 상기 런-렝스 코드는 괄호 표시 내에 나타난다. 괄호는 한 쌍의 십진수 값을 포함하며, 상기 십진수 값의 쌍 중 앞의 값은, 발생의 횟수는 적어도 1이므로, 1만큼 감소된 발생의 횟수를 나타낸다. 그리고 상기 십진수 값의 쌍 중 뒤의 값은, 접두사 길이는 적어도 1이므로, 1만큼 감소된 하이브리드 골롬 접두사 길이를 표현한다. 예컨대, 좌측의 첫 두 괄호, (1,1)과 (1,2)는, 2 비트의 접두사를 갖는 하이브리드 골롬 코드의 두 개의 접미사에 뒤이어, 3 비트의 접두사를 갖는 하이브리드 골롬 코드의 두 개의 접두사가 온다는 것을 나타낸다.
도 2의 표의 제 5 행은, 예시 정수들의 MSB가 없는 하이브리드-골롬 표현을 위해 요구되는 상이한 접두사들의 런-레벨 코드를 나타낸다. 다시, 괄호 표현이 사용되었다. 괄호는 한 쌍의 십진수 값을 포함하며, 상기 십진수 값의 쌍 중 앞의 값은, 이 다른 예시에서는 3 비트의 접두사인, 디폴트 접두사의 연속된 발생의 감소되지 않은 횟수를 나타내며, 뒤의 값은 디폴트 비트량의 상기 연속된 발생을 종결시키는 상이한 접두사 길이를 표현한다. 상기 상이한 접두사 길이는 적어도 1이므로, 상기 십진수 값의 쌍 중 뒤의 값은 상기 상이한 접두사 길이보다 1만큼 작다. 디폴트 비트량의 연속된 발생의 횟수는 0일 수도 있으며, 따라서, 감소되지 않는다. 본 예시 내에서, 디폴트 접두사 길이는 3이다. 그러므로, 첫 두 괄호, (1,1)과 (6,3)은, 디폴트 비트량인, 2 비트를 갖는 한 데이터 필드에 뒤이어, 1 비트를 갖는 하나의 데이터 필드가 오고, 3 비트를 갖는 데이터 필드는, 각각 2 비트로 인코딩된, 6 개의 데이터 필드의 시퀀스를 뒤따른다는 것을 나타낸다.
도 2에서, 표 아래의 두 행은 예시 정수 시퀀스의 본 발명의 런-렝스 코드의 한 예시적 실시예를 표현한다. 시퀀스의 코드는 (1,1)의 하이브리드 골롬 VLC 표현으로 시작한다. 이는, MSB 없는 하이브리드 골롬 코드의 두 개의 접미사를 갖는 시퀀스의 접두사를 형성한다. 설명의 이유로, 도 2에서 접두사는 밑줄이 그어져있다. 상기 두 개의 접미사는 제 1 그리고 제 2 정수의 이진 표현을 운반하며, 즉, 값 4는 접미사 111에 의해 하이브리드 골롬 코딩으로 표현되며, MSB는 접두사로부터 공제될 수 있으므로 생략되어, 11에 의한 값 4의 표현을 초래한다. 그 뒤의 값 3은 접미사 110에 의해 하이브리드 골롬 코딩으로 표현되었으며, MSB는 접두사로부터 공제될 수 있으므로 생략되어, 10에 의한 값 3의 표현을 초래한다. 그 후, 다음 접두사가 뒤따르고, 다시, 설명을 위해 밑줄이 그어진다. 이 다음 접두사는, 길이 2의 대응하는 접두사를 갖는 두 개의 접미사를 갖는 시퀀스의 접두사이며, 따라서, (1,2)의 지수-골롬 VLC 표현으로부터 형성된다. 그 뒤를 이어, 정수 5와 6의 하이브리드 골롬 표현의 접미사인 상기 단일의 두 접미사 00과 01이 뒤따르며, 다시, MSB는 생략된다. 그리고 그 후도 이와 같다.
도 2의 제일 마지막 두 행은 하이브리드 골롬 코딩을 기초로 하는, 예시 정수 시퀀스의 본 발명의 코드의 다른 예시적 실시예를 표현한다. 상기 시퀀스의 코드는 좌측에서, 이러한 다른 예시에서는 3인, 디폴트 값의 하이브리드 골롬 VLC 표현인 시퀀스 접두사 00110으로 시작한다. 그 후, (0,1)을 표현하는, 0과 1의 하이브리드 골롬 VLC 표현이 뒤따른다. 이는 상기 시퀀스 내의 제 1 정수 값을 표현하는 한 접미사를 갖는 시퀀스의 접두사를 형성하며, 즉, 11은 4를 표현하고, MSB는 생략된다. 다시, (0,1)은 하이브리드 골롬 VLC로 표현되고, 정수 3에 대한 하이브리드 골롬 접미사인 10이 뒤따르며, MSB는 생략된다. 그 후, 상기 다음 접두사가 뒤따르고, 설명을 위해 다시 밑줄이 그어진다. 이 다음 접두사는, 대응하는 디폴트 접두사 길이 3을 갖는 두 개의 접미사를 갖는 시퀀스의 접두사이며, 이에 뒤이어 ,대응하는 접두사 길이 2를 갖는 한 단일 접미사가 뒤따른다. 3 비트 접두사를 갖는 두 개의 정수를 표현하는 두 개의 하이브리드 골롬 접미사와, 2 비트 접두사를 갖는 하나의 정수를 표현하는 접미사가, 상기 다음 접두사에 뒤이어서 인접한다. 그리고 그 후도 이와 같다.
도 1 및 도 2와 연결되어 설명된 예시적 실시예들로부터, 런-렝스 코딩은 VLC 코딩 단계 이전에 일련의 심볼(symbol)들에 대해서 사용될 수 있을 뿐만 아니라, 또한, 그 코딩이 기초로 하는 코딩 체계와 관계없이, 한 군(group)의 VLC 코드의 접두사들에 대해서도 사용될 수 있다는 것을 알 수 있다. 그리고 본 발명에 의해, 한 군의 연속된 VLC 코드의 접두사들 중의 중복(redundancy)은 제거된다.
H.264/AVC에서, 화상들은 주로 한 슬라이스씩(slice by slice) 인코딩된다. 각각의 슬라이스는 독립적이며 많은 양의 매크로블록(MB: macroblock)을 포함한다. 자세하게는, 각각의 매크로블록 내에는, 인코딩되어야 할 많은 구문 요소들이 존재한다. 예컨대, 표 3은 H.264/AVC 기준선 프로파일(baseline profile)로 코딩되어야 할 주요한 구문 요소들(syntax elements)을 나타낸다.
Figure 112009024803932-PAT00003
entropy_coding_mode가 0일 때, 표 1 또는 표 2에 따라서 가변 길이 코딩이 사용된다. 그러나, H.264/AVC VLC 코딩의 주요한 결점은 각각의 구문 요소가 분리되어 인코딩된다는 것이며, 그래서 상이한 VLC 코드들 사이의 중복을 조사하지 않는다.
본 발명의 이러한 예시적 실시예는, 도 1과 연결하여 예시적으로 설명한 것과 같이, 동일한 슬라이스 내에서, 예컨대, 런-렝스 또는 런-레벨 코딩을 이용하여, 상이한 매크로블록의 동일한 구문 요소들의 접두사들은 함께 코딩된다는 것을 의미한다.
본 발명의 이러한 예시적 실시예는 다음의 단계들을 포함한다.
단계 1: H.264/AVC 방법을 이용하여 이미지(image)/비디오(video)를 인코딩한다.
단계 2: 동일한 슬라이스 내의 비트스트림(bitstream)들을 다음의 포맷으로 재구성(reorganize) 한다:
mb_type(MB 1), mb_type(MB 2), ..., mb_type(MB n)
coded_block_pattern (MB 1), coded_block_pattern(MB2), ..., coded_block_pattern(MB n)
...
run_before(MB 1), run_before(MB 2), ..., run_before(MB n)
단계 3: 동일한 슬라이스 내의 모든 매크로블록의 동일한 구문 요소를 갖는 모든 접두사를, 런-렝스 코딩 방법 또는 런-레벨 코딩 방법에 의해 인코딩한다.
단계 2는 단계 1 보다 먼저 수행될 수도 있다.
런-렝스를 이용하는, mb_type에 대한 코딩 방법의 한 예시가 표 4에 나타나 있다.
Figure 112009024803932-PAT00004
런-레벨을 이용하는, mb_type에 대한 코딩 방법의 상기 예시의 순서도가 도 3에 도시된다.
초기화 단계(INITi)에서 카운팅(counting) 파라미터 i는 0으로 초기화된다. 또한, 비어있는 비트 스트링(empty bit string)이 초기화된다. 그 후, 단계(INITj)에서, 다른 카운팅 파라미터 j가 0으로 초기화된다. 그 후, 결정 단계(TEST1)에서, i가 슬라이스 내의 매크로-블록들의 총 갯수와 같은지 또는 그 수를 초과하는지가 결정된다. 만일 그렇다면, 상기 방법은 단계(END)로 진행한다. 그렇지 않다면, 상기 방법은 카운터 파라미터 i를 1씩 증가시키는, 단계(INCi)로 계속된다. 그 후, 매크로-블록 (i)와 관련된 특정 구문 파라미터의 이진 표현이, 매크로 블록 (i-1)과 관련된 특정 구문 파라미터의 이진 표현과 동일한 비트량을 포함하는지를 결정하는, 결정 단계(TEST2)가 수행된다. 만일 그렇다면, 상기 방법이 결정 단계(TEST1)로 돌아가기 전에, 단계(INCj)에서 카운터 파라미터 j는 1만큼 증분된다. 그렇지 않으면, 상기 방법은, 단계{VLC(j)}에서 카운터 파라미터 j의 현재 값을 가변 길이 코딩하는 단계, 그리고 상기 코드를 상기 비트 스트링에 추가시키는 단계로 계속된다. 그 후, 1만큼 감소된, 매크로-블록 (i-1)에 대한 상기 특정 구문 파라미터의 값의 이진 표현을 위해 요구되는 비트들의 수의 가변 길이 코드 표현은 단계{VLC(L(i-1)-1)}에서 추가된다. 그 뒤의 단계(INITk)에서, 또 다른 카운터 파라미터 ki-j-1로 초기화된다. 그 후, 단계{BIN(SP(k))}에서, 매크로 블록 (k)에 대한 상기 특정 구문 파라미터의 값의 이진 표현이 상기 비트 스트링에 추가된다. 이러한 단계에 이어서, k를 증분시키는 단계(INCk)가 뒤따른다. k를 1만큼 증분시킨 후에, 결정 단계(TEST3)에서, k가 여전히 i보다 작은지가 확인된다. 만일 그렇다면, 상기 방법은 단계{BIN(SP(k))}로 되돌아간다. 만일 그렇지 않다면, 상기 방법은 단계(INITj)로 되돌아간다.
런-레벨을 이용하는, mb_type에 대한 코딩 방법의 한 예시가 표 5에 나타나있다.
Figure 112009024803932-PAT00005
런-레벨을 사용하는, mb_type에 대한 코딩 방법의 상기 예시의 순서도가 도 4에 도시된다.
초기화 단계(INITi)에서 카운팅 파라미터 i는 0으로 초기화된다. 또한, 비어있는 비트 스트링이 초기화된다. 그 후, 단계(INITj)에서 다른 카운팅 파라미터 j가 0으로 초기화된다. 그 후, 결정 단계(TEST1)에서, i가 슬라이스 내의 매크로-블록들의 총 갯수와 같은지 또는 그 수를 초과하는지가 결정된다. 만일 그렇다면, 상기 방법은 단계(END)로 진행한다. 그렇지 않으면, 상기 방법은, 카운터 파라미터 i를 1만큼 증가시키는, 단계(INCi)로 계속된다. 그 후, 매크로 블록 (i)와 관련된 특정 구문 파라미터의 이진 표현을 위해 사용된 비트의 양이 디폴트 비트량과 동일한지를 결정하는, 결정 단계(TEST2)가 수행된다. 만일 그렇다면, 상기 방법이 결정 단계(TEST1)로 되돌아가기 전에, 단계(INCj)에서 카운터 파라미터 j는 1만큼 증분된다. 그렇지 않으면, 상기 방법은, 단계{VLC(j)}에서 카운터 파라미터 j의 가변 길이 코딩을 하는 단계와, 상기 코드를 상기 비트 스트링에 추가시키는 단계로 계속된다. 그 후, 단계{VLC(L(i))}에서, 매크로-블록 (i)에 대한 상기 특정 구문 파라미터의 값의 이진 표현을 위해 요구되는 비트들의 수의 가변 길이 코드 표현이 추가된다. 그 뒤의 단계(INITk)에서, 다른 카운터 파라미터 ki-j-1로 초기화된다. 그 후, 단계{BIN(SP(k))}에서, 매크로-블록 (k)에 대한 상기 특정 구문 파라미터의 값의 이진 표현이 추가된다. 이러한 단계에 이어서, k를 증분시키는 단계(INCk)가 뒤따른다. k를 1만큼 증분시킨 후에, 결정 단계(TEST3)에서, k가 아직 i보다 작은지가 확인된다. 만일 그렇다면, 상기 방법은 단계{BIN(SP(k))}로 되돌아간다. 만일 그렇지 않다면, 상기 방법은 단계(INITj)로 되돌아간다.
다른 구문 요소들의 일부 종류 또는 모든 종류가 또한 유사한 방법으로 인코딩될 수 있다.
통계치 실험(statistic experiment)으로부터, 이러한 종류의 인코딩 체계는, 현존하는 엔트로피 코딩 방법들의 성능을 더 향상시킬 수 있으며, 많은 수의 연속된 매크로블록을 갖는 동일한 구문 요소들은 빈번하게(frequently) 동일한 길이의 접두사를 가지므로, 런-렝스 코딩은 이러한 종류의 통계적 중복을 대단히 감소시킬 수 있다.
H.264/AVC 코딩 이후의 연속된 블록들의 구문 요소 intra4x4_pred_mode의 원래(original) VLC 코드는, 이러한 구문 요소에 대한 VLC 코드의 길이가 1 또는 4일 것을 요구한다. 그러므로, 상기 길이들을 갖는 런-레벨 코딩은 유익한 것으로 생각된다.
(run, level) 쌍들을 더 인코딩하기 위해 2D-VLC 표가 사용될 수도 있다. 자세한 코딩 방법은 MPEG-2의 DCT 계수들에 대한 (run, level) 코딩 방법과 동일할 수 있다.
디코더에서, 구문 요소의 접두사들은 먼저 디코딩된다. 만일 접두사의 길이가 1이라면, 접미사는 존재하지 않는다. 그렇지 않다면, 접두사의 길이가 x(1<x<=4)라고 가정하였을 때, 그 접미사의 길이는 4-x이다. 이러한 구문 요소에 대한 VLC 코드들의 길이는 1 또는 4이어야 한다. 만일 "0000"이 VLC 코드 내에 나타나면, 접두사는 5인 것으로 생각될 수 있으며, 디코더는 그것을 접미사 없이 인식할 수 있다.
더욱 일반적이기 위해, 일련의 VLC 코드들의 접두사들에 대한 다른 인코딩 방법은, 한 군의 VLC 코드들의 내의 중복을 감소시키기 위한, 예컨대, H.264/AVC의 CAVLC와 같은, 임의의 다른 방법일 수 있다.
본 발명은, 무손실 압축 비율(lossless compression ratio)에 관하여 달성된 개선에 의해 보상될 것으로 보이는, 몇몇 레이턴시(latency)와, 메모리 및 프로세싱 요구사항을 도입한다.
예시적으로, 본 발명은 한 군의 신호들을 일련의 VLC 코드들로 인코딩하는 것과, 이러한 VLC 코드들의 접두사들 중의 통계적 중복을 제거하기 위해, 한 군의 VLC 코드들의 접두사들을 더 인코딩하는 것과 관련이 있다. 한 예시적 실시예에서, 본 발명의 방법은, 런-렝스(run-length) 코딩으로, 다수의 VLC 코드들의 접두사들을 인코딩하며, 런(run)은, 동일한 길이의 갖는 접두사를 갖는 VLC 코드들의 발생의 횟수를 지칭한다. 렝스(length)는 접두사가 구성되는 비트들의 수를 지칭한다. 접두사는 다수의 연속된 0-값의(Zero-valued) 비트들로 구성되며, 이 비트에 뒤이어, 접미사의 최상위 비트일 수도 있는 한 비트가 뒤따른다. 또는, 접두사는 다수의 연속된 "1"과, 하나의 "0"을 합하여 형성된다.
런은 적어도 1이며 렝스도 적어도 1이므로, 런-렝스 코딩 대신, (런-1)-(렝스-1) 코딩이 수행될 수 있다. (런-1, 렝스-1) 쌍을 인코딩하는 것은 2D VLC 룩업테이블(look-up table)을 참조함으로써 달성될 수도 있다.
다수의 VLC 코드의 접두사들은 일종의 (런, 레벨) 코딩을 이용하여 인코딩될 수도 있다. 여기서, 런(run)은, 접두사 길이가, 예컨대 1인, 디폴트 값을 취하는 연속된 VLC 코드들의 수를 카운트한다. 그리고 레벨(level)은, 상기 디폴트 값과 상이한 접두사 길이를 갖는, 그 뒤의(subsequent) VLC 코드의 접두사의 길이를 표현한다. 상기 (런, 레벨) 쌍은, MPEG-2의 DCT 계수 코딩과 같이, 2D-VLC 표를 참조함으로써 인코딩될 수도 있다. 상기 (런, 레벨) 코딩은 또한, H.264/AVC의 CAVLC와 같은, 다른 방법을 이용할 수도 있다.
이미지(image)/비디오(video) 코딩에서의 동일한 슬라이스(slice)/화상(picture)/프레임(frame) 내의 상이한 매크로블록의 동일한 종류의 구문 요소의 코드워드(codeword)들은 본 발명의 방법 중의 임의의 방법에 의해서 인코딩될 수도 있다.
한 군의 신호를 일련의 VLC 코드들로 인코딩하며, 새로운 VLC 코드들을 생성하기 위해, 런-렝스 코딩에 의해 두 개의(couple of) VLC 코드의 접두사들을 더 인코딩하고, 그 후 런-렝스 코딩에 의해 이러한 새로운 VLC 코드들의 접두사들을 더 인코딩한다. 즉, 다수의 코드 워드들의 접두사들을 반복적으로 인코딩하기 위해 런-렝스 코딩을 이용한다.
본 발명은 정수들의 시퀀스를 인코딩하기 위한 방법과, 인코딩된 정수 시퀀스를 운반하는(carrying) 신호, 또는 저장 매체에 이용 가능하다. 본 발명은, 또한, 인코딩된 정수 시퀀스를 디코딩하기 위한 방법에 이용 가능하다.
도 1은, 한 예시적인, 정수들의 시퀀스, 상기 정수들의 지수-골롬 코드의 접미사들, 대응하는 지수-골롬 코드의 접두사 길이와 동일한 상기 이진 코드의 각각의 비트들의 수, 본 발명의 방법의 예시적 실시예들의 응용으로부터 초래되는 예시적 시퀀스의 지수-골롬 코드와 최종 코드(final codes) 내의 상기 비트들의 수의 런-렝스 및 런-레벨 표현들을 도시하는 도면.
도 2는, 도 1의 예시적 시퀀스, 상기 정수들의 하이브리드 골롬(hybrid Golomb) 코드의 접미사들, 대응하는 하이브리드 골롬 코드의 접두사 길이, 본 발명의 방법의 예시적 실시예들의 응용으로부터 초래되는 예시적 시퀀스의 상기 접두사 길이와 최종 코드의 런-렝스 및 런-레벨 표현들을 도시하는 도면.
도 3은, 접두사들에 대해 런-렝스 코딩을 사용하는 본 발명의 방법의 한 예시적인 실시예의 순서도.
도 4는, 접두사들에 대해 런-레벨 코딩을 사용하는 본 발명의 방법의 한 예시적인 실시예의 순서도.

Claims (15)

  1. 정수들의 시퀀스를 인코딩하기 위한 방법으로서,
    - 정수들의 시퀀스 내의 연속된 부분-시퀀스를 식별하는 단계로서, 상기 부분-시퀀스는, 가변 길이 코드로 된 동일한 접두사와 독립적인 마지막 정수를 갖는 상관관계의 정수들을 포함하는, 식별하는 단계, 그리고
    - 상기 연속된 부분시퀀스 내의 상관관계의 정수들의 수의 표시(indication)를 위한 코드의 도움으로, 상기 연속된 부분-시퀀스에 대한 코드를 형성하고, 상기 연속된 부분-시퀀스 내의 정수들의 가변 길이 코드로 된 접두사 표시(prefix indication) 및 접미사들에 대한 코드를 형성하는 단계
    를 포함하는, 정수들의 시퀀스를 인코딩하기 위한 방법.
  2. 제1항에 있어서, 상기 접두사 표시는, 또한, 상기 독립적인 마지막 정수의 가변 길이 코드의 접두사인 상기 동일한 접두사를 표시하는, 정수들의 시퀀스를 인코딩하기 위한 방법.
  3. 제1항에 있어서, 상기 동일한 접두사는 디폴트 접두사이며, 상기 접두사 표시는, 상기 독립적인 마지막 정수의 가변 길이 코드의 접두사인 다른 접두사를 표시하는, 정수들의 시퀀스를 인코딩하기 위한 방법.
  4. 제3항에 있어서,
    - 상기 디폴트 접두사의 이진 표현을 상기 수정된 이진 시퀀스 내에 넣는 단계(enclosing)
    를 더 포함하는, 정수들의 시퀀스를 인코딩하기 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 정수들의 시퀀스는, 코딩된 페이 로드 값들의 시퀀스와 관련이 있으며, 상기 정수들은 상기 코딩된 페이 로드 값들을 운반하는 데이터 필드들의 길이를 표시하는, 정수들의 시퀀스를 인코딩하기 위한 방법.
  6. 한 프레임의 한 슬라이스 내에 포함된 매크로 블록들과 결합된, 상이한 유형의, 정수 값을 갖는 구문 요소들을 인코딩하기 위한 방법으로서,
    - 상기 구문 요소들의 유형에 따라서, 상기 구문 요소들을 분류하는 단계,
    - 하나의 단일 유형의 구문 요소들로부터 한 시퀀스를 형성하는 단계, 그리고
    - 제1항 내지 제4항 중의 어느 한 항에 따라서, 하나의 단일한 유형을 갖는 구문 요소들의 시퀀스를 인코딩하는 단계
    를 포함하는, 구문 요소들을 인코딩하기 위한 방법.
  7. 한 프레임의 한 슬라이스 내에 포함된 매크로 블록들과 결합된, 상이한 유형 의, 정수 값을 갖는 구문 요소들을 인코딩하기 위한 방법으로서,
    - 상기 구문 요소들의 유형에 따라서, 상기 구문 요소들을 분류하는 단계,
    - 하나의 단일한 유형을 갖는 구문 요소들로부터 한 시퀀스를 형성하는 단계, 그리고
    - 제5항에 따라서, 상기 하나의 단일한 유형을 갖는 구문 요소들의 시퀀스를 상기 인코딩된 페이 로드 값들의 시퀀스로서 인코딩하는 단계
    를 포함하는, 구문 요소들을 인코딩하기 위한 방법.
  8. 한 쌍의 코딩된 정수를 운반하는 신호 또는 저장 매체로서, 상기 한 쌍의 코딩된 정수 중의 하나는 발생의 횟수를 표시하며, 나머지 하나는 접두사를 표시하고, 상기 한 쌍의 코딩된 정수는, 나아가, 상기 신호 또는 상기 저장 매체에 의해 운반되는, 다수의 인코딩된 페이 로드 정수들의 접미사들에 앞서고, 상기 접미사의 수는 상기 발생의 횟수에 비례하고, 상기 인코딩된 값들 중의 적어도 하나의 마지막은, 상기 표시된 접두사의 도움으로, 상기 접미사들 중의 적어도 하나의 마지막으로부터 디코딩될 수 있는, 신호 또는 저장 매체.
  9. 제8항에 있어서, 다른 인코딩된 페이 로드 정수들은, 디폴트 접두사의 도움으로, 다른 접미사들로부터 디코딩될 수 있는, 신호 또는 저장 매체.
  10. 코딩된 접두사, 코딩된 발생의 횟수, 그리고 코딩된 접미사들의 수를 포함하 는 코드 시퀀스로부터 정수들의 시퀀스를 디코딩하기 위한 방법으로서, 상기 코딩된 접미사들의 수는 상기 발생의 횟수에 비례하고,
    - 상기 접두사를 디코딩하는 단계,
    - 상기 양(quantity)을 디코딩하는 단계,
    - 상기 정수들을 상기 접미사들로부터 디코딩하는 단계를 포함하고,
    - 상기 정수들 중의 마지막은, 상기 접두사의 도움으로, 상기 접미사들 중의 마지막으로부터 디코딩되며, 그리고
    - 다른 정수들은, 나머지 접두사의 도움으로, 다른 접미사들로부터 디코딩되는,
    정수들의 시퀀스를 디코딩하기 위한 방법.
  11. 제10항에 있어서, 상기 나머지 접두사는 상기 접두사와 동일한, 정수들의 시퀀스를 디코딩하기 위한 방법.
  12. 제11항에 있어서, 상기 나머지 접두사는 디폴트 접두사인, 정수들의 시퀀스를 디코딩하기 위한 방법.
  13. 제10항 내지 제12항 중의 어느 한 항에 있어서, 상기 시퀀스 내의 상기 코딩된 정수들은 페이 로드 데이터 필드들의 시퀀스의 페이 로드 데이터 필드 크기들을 표시하는, 정수들의 시퀀스를 디코딩하기 위한 방법.
  14. 제13항에 있어서, 상기 페이 로드 데이터 필드는, 한 프레임의 한 슬라이스 내에 포함된 매크로 블록들과 결합된, 상이한 유형의 인코딩된 구문 요소들을 운반하는, 정수들의 시퀀스를 디코딩하기 위한 방법.
  15. 제10항 내지 제12항 중의 어느 한 항에 있어서, 상기 인코딩된 정수들은, 하나의 단일 유형의 인코딩된 구문 요소들이며, 코딩된 비디오 프레임 시퀀스의 한 프레임 슬라이스의 매크로 블록들과 결합된, 정수들의 시퀀스를 디코딩하기 위한 방법.
KR1020090035686A 2008-04-25 2009-04-23 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법 KR20090113208A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090035686A KR20090113208A (ko) 2008-04-25 2009-04-23 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305130.0 2008-04-25
KR1020090035686A KR20090113208A (ko) 2008-04-25 2009-04-23 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법

Publications (1)

Publication Number Publication Date
KR20090113208A true KR20090113208A (ko) 2009-10-29

Family

ID=41554316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035686A KR20090113208A (ko) 2008-04-25 2009-04-23 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법

Country Status (1)

Country Link
KR (1) KR20090113208A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017070425A1 (en) * 2015-10-23 2017-04-27 The Cleveland Clinic Foundation Systems and methods for automated electrical element addressing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017070425A1 (en) * 2015-10-23 2017-04-27 The Cleveland Clinic Foundation Systems and methods for automated electrical element addressing
US9813078B2 (en) 2015-10-23 2017-11-07 The Cleveland Clinic Foundation Systems and methods for automated electrical element addressing

Similar Documents

Publication Publication Date Title
US7564384B2 (en) Binarizing method and device thereof
JP4057595B2 (ja) 変換係数を算術符号化、復号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
US8942502B2 (en) Parallelization of variable length decoding
US7486211B2 (en) Method and system for entropy coding
KR100856398B1 (ko) 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치
US7777654B2 (en) System and method for context-based adaptive binary arithematic encoding and decoding
JP5383301B2 (ja) 符号化方法、記憶装置及び復号化方法
US20070092150A1 (en) Coding apparatus and decoding apparatus
US7203372B1 (en) Extension of two-dimensional variable length coding for image compression
WO2012019297A1 (en) Method and device for compression of binary sequences by grouping multiple symbols
KR100858245B1 (ko) 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체
KR20090113208A (ko) 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법
Tian et al. Review of CAVLC, arithmetic coding, and CABAC
JP3579412B2 (ja) 可変長復号化方法及び装置
JP3579409B2 (ja) 可変長符号化方法及び装置
JP3579410B2 (ja) 可変長符号化方法及び装置
JP3579411B2 (ja) 可変長符号化方法及び装置
Chen et al. A memory-efficient cavlc decoding scheme for h. 264/avc
JP3977743B2 (ja) 自己プリフィックス(Self−PREFIXED)共通可変長符号を用いたデータ圧縮方法
JP3977743B6 (ja) 自己プリフィックス(Self−PREFIXED)共通可変長符号を用いたデータ圧縮方法
JP3869342B2 (ja) 可変長復号化方法及び装置
JP2004364340A (ja) 可変長符号化方法及び装置
JP2004048723A (ja) 可変長符号化方法及び装置
JP2006187008A (ja) 可変長符号化方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application