KR100858245B1 - 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체 - Google Patents

결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체 Download PDF

Info

Publication number
KR100858245B1
KR100858245B1 KR1020060114088A KR20060114088A KR100858245B1 KR 100858245 B1 KR100858245 B1 KR 100858245B1 KR 1020060114088 A KR1020060114088 A KR 1020060114088A KR 20060114088 A KR20060114088 A KR 20060114088A KR 100858245 B1 KR100858245 B1 KR 100858245B1
Authority
KR
South Korea
Prior art keywords
bit
decision
bit value
unit
encoding
Prior art date
Application number
KR1020060114088A
Other languages
English (en)
Other versions
KR20080045029A (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 주식회사 휴맥스
Priority to KR1020060114088A priority Critical patent/KR100858245B1/ko
Priority to PCT/KR2007/005132 priority patent/WO2008060040A1/en
Priority to EP07833441A priority patent/EP2092648A4/en
Priority to US12/515,076 priority patent/US8385405B2/en
Priority to CN2007800497845A priority patent/CN101657973B/zh
Publication of KR20080045029A publication Critical patent/KR20080045029A/ko
Application granted granted Critical
Publication of KR100858245B1 publication Critical patent/KR100858245B1/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
    • 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
    • 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/93Run-length coding

Abstract

본 발명은 결정 비트(bit-precision)를 이용한 부/복호화 장치가 개시된다. 부호화 장치는 부호화할 데이터에 상응하여 결정비트값을 선정하는 결정 비트 선정부; 및 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림을 생성하는 부호화부를 포함하되, 선정된 결정비트값이 비트 스트림에 삽입된다.
본 발명에 따르면, 비트 수를 적응적으로 결정하여 동영상 데이터를 엔트로피 부호화하고, 종래의 엔트로피 부호화 방법과 유사한 압축률을 가지면서, 동영상 복호화시 추가적인 연산이 필요 없는 복잡도가 적다는 장점이 있다.
Figure R1020060114088
부호화, 복호화, 결정 비트(bit-precision), 엔트로피 코딩

Description

결정 비트를 이용한 부호화/복호화 장치 및 그에 따른 프로그램이 기록된 매체 {Recorded medium having program for coding and decoding using bit-precision, and Apparatus there of}
도 1은 본 발명의 일 실시예에 따른 부호화 장치의 구성도.
도 2는 본 발명의 일 실시예에 따른 결정 비트를 이용한 부호화 방법의 흐름도.
도 3은 본 발명의 일 실시예에 따라 결정 비트를 이용한 부호화 예시도.
도 4는 본 발명의 일 실시예에 따라 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 VOP단위를 결정 비트를 이용하여 부호화하는 개념도.
도 5는 본 발명의 일 실시예에 따라 결정비트값을 선정하는 단위 및 결정비트값을 이용하여 부호화하는 단위에 대한 다양한 예시도.
도 6은 본 발명의 일 실시예에 따라 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 결정비트값을 이용하여 부호화한 비트스트림에 대한 다양한 예시도.
도 7은 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 장치의 일실시예의 구성도.
도 8은 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 방법에 대한 흐름도.
도 9는 본 발명의 일 실시예에 따른 결정 비트를 이용한 부/복호화의 실험 결과를 나타낸 도면.
본 발명은 부호화(Coding) 및 복호화(Decoding)(이하에서 '부/복호화'로 칭함) 장치에 관한 것으로서, 보다 상세하게는 동영상의 압축 방법에 있어서 결정 비트(Bit-precision)를 이용한 부/복호화 장치에 관한 것이다.
디지털 시스템에서 정보(information)는 '0' 또는 '1'의 이진 부호로 표현되며, 복수개의 이진 부호가 모여 하나의 의미 있는 정보 집합을 이룬다. 이러한 의미있는 정보의 집합은 메인 프로세서의 레지스터 크기에 따라 8비트, 16비트 또는 32비트 단위로 이루어진다. 이 단위 비트는 다른 말로 워드(word)라고도 한다. 정보이론에서는 이러한 정보의 집합, 즉 워드 단위로 이루어진 정보를 정보 소스(information source)라고 한다.
정보 소스를 구성하고 있는 각각의 워드 단위를 심볼(Symbol)이라고 한다. 각 심볼들은 다른 발생 확률(probability of occurrence)을 지니게 된다. 각 심볼들의 발생 확률이 정해지면, 쉐넌의 이론(Shannon's theory)에 따라 저장 또는 전 달하고자 하는 정보의 양, 즉 엔트로피를 정의할 수 있다. 만일, n개의 심볼이 존재하고, i-번째 심볼의 발생확률을 pi라고 하면, 엔트로피는 다음의 수학식 1과 같이 정의된다.
Figure 112006084421627-pat00001
엔트로피는 심볼 당 평균 정보량을 의미할 뿐만 아니라 정보 소스를 부호화하였을 때 정보 소스의 최소 코드 길이(code-length)를 의미한다. 이렇듯 심볼들의 통계학적인 특성을 이용하여 정보 소스의 코드 길이를 엔트로피에 가깝게 부호화하는 기법을 엔트로피 부호화(entropy coding)라고 한다.
각각의 엔트로피 부호화 방법은 최소의 심볼 당 비트수를 지닐 수 있도록 하는 목적으로 다양한 방법들이 제안되었다. 기존의 대표적인 엔트로피 부호화 방법들로는 RLC(Run Length Coding), 호프만 부호화(Huffman Coding), 산술부호화(Arithmetic Coding) 방법을 들 수 있다.
먼저, RLC(Run-Length Coding) 방법은, 연속된 코드들이 통계적으로 비슷하거나 동일한 값을 가진다는 사실을 이용하여 반복되는 픽셀 블록을 하나의 대표 값과 그 대표 값의 반복 회수로 나타내는 것이다. 예를 들어, 압축할 정수 데이터 {7, 3, 0, 0, 0, 0, 0, 0, 0} 집합에서 '0'이 7번 반복된다. 이처럼 반복되는 정보 '0'을 대표 값으로 하여 반복 회수를 나타낼 수 있는 플래그를 n으로 표현하면, {7 3 0 N 7}로 부호화된다. 따라서 전체 9바이트 크기의 심볼들을 5바이트 크기의 데 이터로 부호화할 수 있다.
다음으로, 호프만(Huffman) 부호화 방법은, 고정 길이 부호를 가변 길이 부호로 변경하는 방식으로서, 발생 빈도가 높은 심볼에는 짧은 부호를 할당하고, 반면에 낮은 발생 빈도를 보이는 심볼에는 긴 부호를 할당하여 평균 부호 길이를 원래 부호 길이보다 줄이는 방법이다. 예를 들어, 아스키(ASCII) 코드로 영문 텍스트를 표현하면 한 문자 당 7비트를 사용한다. 반면에, 호프만 부호화 방법을 적용하면 "e", "s"와 같이 발생 빈도가 높은 문자에 대해서는 7비트 이하의 심볼로 표현하고, 드물게 발생하는 특수 기호들은 7비트 이상의 긴 심볼로 표현하여 평균 7비트 이하의 부호 길이로 나타낸다.
다음으로, 산술부호화 방법은, 여러 심볼들을 묶은 가변 길이 심볼열을 하나의 고정 길이 부호로 표현하는 방법인데, 심볼열의 발생확률이 거의 일정하게 유지되도록 묶는다. 산술 부호화 방법에서는 입력 심볼 자체가 0에서 1사이의 실수 구간을 정의한다. 입력 심볼들이 길어질수록 이것을 나타내는 간격이 좁아진다. 비트의 수는 간격의 크기를 표시한다. 그리고 심볼들의 수가 증가할수록 이를 나타내기 위해 사용되는 구간은 점점 적어지고, 구간을 나타내기 위한 정보 비트의 수는 증가한다. 심볼의 각 발생확률에 따라 구간의 크기를 줄여 나간다.
전술한 바와 같이, 디지털 시스템에서 연산은 워드 단위로 이루어진다. 워드 단위는 디지털 시스템의 레지스터 크기에 따라서 8비트, 16비트 또는 32비트의 집합으로, 이 비트 단위를 기준으로 모든 수 및 문자를 표현하여 왔다. 이러한 기존의 표현 방법은 의미있는 정보를 전송 및 저장하는데 필요 이상의 비트 수를 필요 로 하기 때문에, 효율적인 전송 및 저장을 위해서는 데이터 압축(data compression)의 필요성이 요구된다.
일반적으로 일련의 영상 '프레임'을 포함하는 영상 신호가 디지털 형태로 표현될 때, 상당한 양의 전송 데이터가 발생된다. 그러나, 통상적인 전송 채널의 이용 가능한 주파수 대역폭은 한정되어 있기 때문에, 한정된 채널 대역폭을 통해서 상당한 양의 디지털 데이터를 전송하기 위해서는 전송 데이터를 압축 또는 감축을 하여야 한다.
그러나 종래의 데이터 압축 또는 엔트로피 부/복호화 방법은 그 특성상 더 높은 압축률을 갖기 위해서는 부호화 장치 및 복호화 장치의 복잡도가 증가되는 문제점이 있었다.
또한, 종래의 데이터 압축 또는 엔트로피 부/복호화 방법은 높은 압축률에 따라 시간의 지연이 발생한다는 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 종래의 호프만 엔트로피 부/복호화 방법에서 정해진 호프만 테이블을 사용하여 정보를 표현하는 방법과는 달리, 한 문자 및 한 숫자를 표현하는데 비트 수를 적응적으로 결정하여 동영상 데이터를 엔트로피 부호화하는 방식을 제안하는 것이다.
또한, 본 발명은 종래의 엔트로피 부호화 방법과 유사한 압축률을 가지면서, 동영상 복호화시 추가적인 연산이 필요 없는 복잡도가 적은 복호화 방법을 제안하 는 것이다.
또한, 본 발명은 종래의 코덱(codec)을 변경하지 아니하고, 동일한 화질을 구비하면서 환경적으로 추가적인 압축성능을 개선하는 부호화 방법을 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 결정 비트(bit-precision)를 이용한 부호화 장치에 있어서, 부호화할 데이터에 상응하여 결정비트값을 선정하는 결정 비트 선정부; 및 상기 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림을 생성하는 부호화부를 포함하는 부호화 장치가 제공된다.
상기 부호화부는 상기 선정된 결정비트값을 상기 비트 스트림에 삽입할 수 있다.
상기 결정 비트 선정부는 상기 데이터의 미리 지정된 각 필드(field) 단위, 각 계층 단위 또는 이들의 조합 중 어느 하나에 상응하여 결정비트값을 선정할 수 있다.
상기 부호화부는 상기 선정된 결정비트값을 이용하여 상기 데이터의 미리 지정된 단위를 부호화할 수 있다.
상기 결정 비트 선정부는 상기 데이터의 압축 효율이 최적화되는 비트값을 상기 결정비트값으로 선정할 수 있다.
상기 결정 비트 선정부는 미리 지정된 복수의 비트값 각각에 대해 상기 데이터의 미리 지정된 단위를 부호화하고, 부호화한 결과를 이용하여 압축 효율이 최적화된 비트값을 상기 결정비트값으로 선정할 수 있다.
상기 결정 비트 선정부는 상기 미리 지정된 단위를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
상기 부호화부는 미리 지정된 복수의 비트값 각각에 대해 상기 데이터의 미리 지정된 단위를 부호화하고, 상기 결정 비트 선정부는 상기 미리 지정된 단위의 부호화된 결과를 이용하여 압축효율이 최적화된 비트값을 상기 결정 비트값으로 선정할 수 있다.
상기 부호화부는 상기 미리 지정된 단위를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
상기 부호화부는 상기 데이터를 부호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
상기 데이터의 DCT_coefficients 심볼값이 RLC(Run Length Coding) 과정에 의해 Run, Level 및 Last이 생성되는 경우, 상기 부호화부는 상기 Run 및 상기 Level을 상기 선정된 결정비트값에 상응하도록 부호화할 수 있다.
상기 부호화부는 상기 Run 및 상기 Level을 부호화하기 위해 호프만 테이블의 확률을 더 이용할 수 있다.
본 발명의 다른 측면에 따르면, 결정 비트(bit-precision)를 이용한 복호화 장치에 있어서, 복호화할 비트스트림(bit stream)으로부터 결정비트값을 추출하기 위한 결정 비트 추출부; 및 상기 추출된 결정비트값에 상응하여 상기 비트 스트림을 복호화하는 복호화부를 포함하는 복호화 장치가 제공된다.
상기 결정 비트 추출부는 상기 비트 스트림의 미리 지정된 각 필드(field) 단위, 각 계층 단위 또는 이들의 조합에 상응하여 각각의 결정비트값을 추출할 수 있다.
상기 복호화부는 상기 추출된 각각의 결정비트값에 상응하여 상기 비트 스트림의 미리 지정된 범위를 복호화 할 수 있다.
상기 복호화부는 상기 비트 스트림을 복호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
본 발명의 다른 측면에 의하면, 결정 비트를 이용한 부호화 방법을 수행하기 위해 부호화 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 부호화 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) 부호화할 데이터에 상응하여 결정비트값을 선정하는 단계; 및 (b) 상기 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림(bit stream)을 생성하는 단계를 포함하는 프로그램이 기록된 기록매체가 제공된다.
상기 선정된 결정비트값이 상기 비트 스트림에 삽입될 수 있다.
상기 결정비트값은 상기 데이터의 미리 지정된 각 필드(field) 단위, 각 계층 단위 또는 이들의 조합 중 어느 하나에 상응하여 선정될 수 있다.
상기 (b)단계는 상기 데이터의 미리 지정된 단위를 부호화할 수 있다.
상기 (a) 단계는 상기 데이터의 압축 효율이 최적화되는 비트값을 상기 결정비트값으로 선정할 수 있다.
상기 (a) 단계는 (a1) 미리 지정된 복수의 비트값 각각에 대해 상기 데이터의 미리 지정된 단위를 부호화하는 단계; 및 (a2) 부호화된 결과를 이용하여 압축 효율이 최적화된 비트값을 상기 결정비트값으로 선정하는 단계를 포함할 수 있다.
상기 (a1) 단계는 상기 미리 지정된 단위를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
상기 (b) 단계는 상기 데이터를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
상기 (b)단계는 상기 입력되는 데이터의 DCT_coefficients 심볼값이 RLC(Run Length Coding) 과정에 의해 Run, Level 및 Last이 생성되는 경우, 상기 Run 및 상기 Level을 상기 선정된 결정비트값에 상응하도록 부호화할 수 있다.
상기 (b) 단계는 상기 Run 및 상기 Level을 부호화하기 위해 호프만 테이블의 확률을 더 이용할 수 있다.
본 발명의 다른 측면에 의하면, 결정 비트를 이용한 복호화 방법을 수행하기 위해 복호화 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 복호화 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) 부호화된 비트 스트림(bit stream)으로부터 결정비트값을 추출하는 단계; 및 (b) 상기 추출된 결정비트값에 상응하여 상기 비트 스트림을 복호화하는 단계를 포함하는 프로그램이 기록된 기록매체가 제공된다.
상기 결정비트값은 상기 입력되는 비트 스트림의 미리 지정된 각 필드(field) 단위, 각 계층 단위 또는 이들의 조합에 상응하여 각각의 결정비트값을 추출될 수 있다.
상기 (b) 단계는 상기 추출된 각각의 결정비트값에 상응하여 상기 비트 스트림의 미리 지정된 범위를 복호화할 수 있다.
상기 (b) 단계는 상기 비트 스트림을 복호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
먼저, 본 발명에 다른 결정 비트를 이용한 부호화 방식에 대한 이해를 돕기 위하여, 그 개념을 설명하면 다음과 같다.
본 발명에 따른 결정 비트를 이용한 부호화 방법은, 입력 데이터 심볼값들에 대하여 고정 비트값을 일례로 비용함수 등을 이용하여 결정하고, 그 값 크기만큼의 비트를 이용하여 심볼값을 이진화하는 방법이다. 예를 들어, 입력된 심볼값들이 {2, 1, 0, 4, 5, 3}이라고 하고, 결정 비트값이 2비트라고 가정하자. 2개의 비트로 표현할 수 있는 값은 0부터 3까지의 값을 표현할 수 있다. 그런데, 심볼값이 3보다 큰 경우에는 2개의 비트로는 표현이 불가능하므로, 추가적으로 2개의 비트를 더 할당하여 3보다 큰 값을 표현하게 된다. 보다 상세하게 설명하면 다음과 같다. 심볼 값 2는 해당 값을 그대로 이진화하면 '10'으로 표현되고, 심볼값 '1'은 이진화하면 '01'로 표현되며, 심볼값 '0'은 이진화하면 '00'으로 표현된다. 그런데, 심볼값 '4'는 2비트로 표현되는 최대값인 3보다 크기 때문에 2비트만으로는 표현이 불가능하다. 따라서 처음 2개의 비트값으로 표현 가능한 최대값인 3을 '11'로 표현하고, 부족한 값인 1을 '01'로 표현하여 2개의 결과를 연결하게 된다. 즉, 심볼값 '4'는 '1101'로 표현하면 된다. 심볼값 5의 경우는 심볼값 4의 경우와 유사하게 2비트를 이용한 최대값 3과 잉여값 2를 결합하여 '1110'으로 표현한다. 심볼값 3인 경우에는 2비트로 표현이 가능하지만, 이 경우에 3보다 큰 값을 표현하기 위한 경우와 구별이 불가능한 관계로 역시 추가적인 2비트를 추가하여 잉여값이 0인 경우로 '1100'으로 표현하게 된다.
상기에서 설명한 결정 비트를 이용한 부호화 방식을 예를 들어 데이터의 심볼값이 0 내지 9인 경우에 적용하면 하기의 표 1과 같이 나타낼 수 있다.
결정비트값 1비트 결정비트값 2 비트 결정비트값 3 비트 결정비트값 4 비트 결정비트값 5 비트
0 0 00 000 0000 00000
1 01 01 001 0001 00001
2 001 10 010 0010 00010
3 0001 1100 011 0011 00011
4 00001 1101 100 0100 00100
5 000001 1110 101 0101 00101
6 0000001 111100 110 0110 00110
7 00000001 111101 111000 0111 00111
8 000000001 111110 111001 1000 01000
9 0000000001 11111100 111010 1001 01001
이와 같이 결정 비트를 이용하여 입력되는 데이터를 부호화함으로써, 입력 데이터들에 대한 부호화가 가능할 뿐만 아니라, 적은 계산으로 기존의 호프만 부호화 방식과 유사한 압축 성능을 얻을 수 있다.
도 1은 본 발명의 일 실시예에 따른 부호화 장치의 구성도이다.
도 1을 참조하면, 본 발명에 따른 결정 비트를 이용한 부호화 장치는 데이터 입력부(100), 결정 비트 선정부(110), 부호화부(120) 및 비트스트림 전송부(130)을 포함할 수 있다.
데이터 입력부(100)는 외부 기기로부터 부호화할 데이터 심볼값들을 외부기기로부터 입력받고, 결정 비트 선정부(110)는 데이터 입력부(100)를 통하여 입력받은 데이터 심볼값들에 적합한 결정비트값을 선정한다.
부호화부(120)는 결정 비트 선정부(110)에서 선정한 결정비트값을 이용하여 각 데이터 심볼값들을 부호화하여 비트스트림을 생성하고, 헤더 정보 필드에 결정비트값을 삽입하며, 전송부(130)는 부호화된 비트스트림을 외부의 복호화 장치 측으로 전송한다.
본 발명의 일 실시예에 따른 부호화 장치가 포함하는 각 구성요소의 기능 및 동작에 대해서는 도 2 이하를 참조하여 후술한다.
도 2는 본 발명의 일 실시예에 따른 결정 비트를 이용한 부호화 방법의 흐름도이다.
도 2를 참조하면, 단계 S210에서 데이터 입력부(100)는 압축을 하려는 데이터 심볼값을 입력받는다.
이어서, 단계 S220에서 결정 비트 선정부(110)는 입력받은 데이터 심볼값들에 적합한 결정비트값을 선정한다. 여기서, 결정비트값을 선정하는 방식은 다양한 방식으로 구현할 수 있는데, 이에 대한 구체적인 설명은 도 4이하를 참조하여 후술하기로 한다.
이어서, 단계 S230에서 부호화부(120)는 결정 비트 선정부(110)에 의해 선정된 결정비트값을 이용하여 입력된 심볼값들을 부호화하여 비트스트림을 생성한다.
이때, 도 2에는 도시하지 아니하였으나, 부호화부(120)는 선정된 결정비트값을 생성된 비트스트림의 헤더정보필드에 삽입할 수 있다.
이어서, 단계 S240에서 비트스트림 전송부(130)는 부호화된 비트 스트림을 외부의 복호화 장치 측으로 전송한다.
도 1 및 도 2를 참조하여 설명한 본 발명의 일 실시예에 따라 결정 비트를 이용한 부호화 방법에 대해서는 이하에서 도 3을 참조하여 예를 들어 설명한다.
도 3은 본 발명의 일 실시예에 따라 결정 비트를 이용한 부호화 예시도이다.
이하에서 도 3을 참조하여, 데이터 입력부(100)로 입력되는 영상 데이터의 심볼값(300)이 {…, 4, …, 7, …}로 입력된 경우를 가정하고 설명한다. 이때, MCBPC(310) 필드 및 DC_size_chroma(320) 필드는 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)의 MB(Macro Block)(406) 계층 및 B(Block)(407) 계층의 필드(field)중 하나이며 이에 대한 설명은 이하 도 4를 참조하여 후술한다.
본 발명의 일 실시예에 따르면 결정 비트에 3비트(예를 들어, 결정비트값은 1부터 7까지 가능할 수 있음)가 할당 될 수 있다.
여기서, 결정 비트에 할당되는 비트는 결정 비트를 이용한 부호화가 수행되는 환경, 즉 다양한 코덱(codec), 프로파일(profile) 및 조건에 따라 다양하게 변경 될 수 있음은 당업자에게 자명하다. 이하에서는 설명의 편의상 결정 비트에 3비트가 할당된 경우를 상정하고 설명한다.
또한, 3비트내에서 결정비트값이 선정되는 과정에 대한 설명은 도 4이하를 참조하여 후술하기로 하고, 여기서는 각각의 선정된 결정비트값으로 심볼값이 부호화하는 예시에 대해서 설명한다.
MCBPC 필드는 예를 들어 결정비트값이 '2'로 선정될 수 있다. 따라서 MCBPC의 심볼값 '4'는 결정비트값 '2'를 이용하여 부호화되면 '1101'(즉, 3을 나타내는 '11'과 나머지 1을 나타내는 '01'이 연속되어 표시됨)이 될 수 있다.
DC_size_chroma 필드는 예를 들어 결정비트값이 '3'으로 선정될 수 있다. 따라서 DC_size_chroma의 심볼값 '7'는 결정비트값 '3'을 이용하여 부호화 되면 '111000'이 될 수 있다.
이때, 심볼값 '7'은 결정비트값 '3'을 이용하여 '111'로 부호화될 수 있으나, '7'보다 큰 심볼값을 부호화한 경우와 구별을 용이하게 하기 위하여 3비트를 더 할당하여 '111000'으로 부호화한다.
부호화가 완료된 비트스트림(330)은 도 3과 같은 형태로 구성될 수 있다.
이때, 도 3에서는 본 발명에 대한 이해 및 설명의 편의를 도모하기 위해 각각의 필드(310, 320)에 선정된 결정비트값이 생성된 비트 스트림(330)에 삽입되어 도시되어 있으나, 결정비트값은 상위 필드 또는 상위 계층의 헤더정보에 삽입될 수 있으며, 또한 결정 비트를 이용한 부호화가 수행되는 환경, 즉 코덱, 프로파일 및 조건에 따라 다양한 위치에 삽입될 수 있음은 당업자에게 자명하다.
다음으로, 이하에서 결정비트값이 선정되는 과정(도 2의 단계 S220) 및 헤더정보에 삽입되는 위치에 대해서 설명한다.
도 4는 본 발명의 일 실시예에 따라 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 VOP단위를 결정 비트를 이용하여 부호화하는 개념도이다.
본 명세서에서는 부호화할 데이터의 계층적 구조를 이하에서 MPEG4의 SP의 인트라 코딩을 예로 들어서 설명하나, 그 외 다른 코덱(codec), 다른 프로파일(profile) 및 다른 부호화 조건에도 결정 비트를 이용한 부호화가 가능함은 당업자에게 있어 자명하다. 이하에서는 발명의 이해와 설명의 편의를 도모하기 위해 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)을 예로 들어 설명한다.
도 4에는 MPEG-4 비트스트림의 계층 구조 (hierarchical Structure)가 예시되어 있다. 구체적으로, 비트스트림의 계층에서 인트라코딩(intracoding)은 VS(Video Sequence, 401), VO(Video Object, 402), VOL(Video Object Layer, 403), GOP(Group of Picture, 404), VOP(Video Object Plane, 405), MB(Macro Block, 406) 및 B(Block, 407) 등이 포함될 수 있으며, 이는 공지된 기술이므로 상세한 설명은 생략한다.
여기서, 일반적으로 VS(Video Sequence, 401) 계층 내지 VOP(Video Object Plane, 405)계층은 데이터 입력부(100)에 입력되는 동영상의 헤더 정보가 포함되며, 동영상 데이터의 심볼값은 주로 MB(Macro Block, 406) 계층 및 B(Block, 407) 계층을 구성한다.
따라서, 본 발명의 일 실시예에서는 MB(Macro Block, 406) 계층 및 B(Block, 407) 계층에 한정하여 결정 비트를 이용한 부호화를 하나, 이는 코덱, 프로파일 및 그외 조건등에 따라 다양하게 변경될 수 있음은 당업자에게 자명하다.
예를 들어, 본 발명에 따른 결정 비트를 이용한 부호화/복호화 방법은 특정 계층에 대한 적용이 제한되지 않으며 모든 계층에 대해 전체적으로 또는 선택적으로 적용될 수 있다. (이하에서, MB(Macro Block, 406) 계층 및 B(Block, 407) 계층을 묶어서 'VOP단위'라 칭함.)
또한, 본 발명은 상기 결정비트값의 적용범위/단위를 필요에 따라 유동적으로 결정할 수 있다. 즉, VOP 단위로 MB(406) 계층 및 B(407) 계층의 각 필드를 위한 다수의 결정비트값을 선정할 수 있으며, MB(406) 단위로 MB(407)의 모든 필드를 위한 하나의 결정비트값을 선정 할 수도 있다. 이는 코덱, 프로파일 및 그외 조건등에 따라 다양하게 변경될 수 있음은 당업자에게 자명하다.
이때, VOP단위로 결정 비트를 이용하여 부호화를 할 경우 결정비트값은 예를 들어 VOP(Video Object Plane, 405) 계층의 헤더정보에 삽입될 수 있으며, 삽입되는 위치가 다양하게 변경될 수 있음은 당업자에게 자명하다.
MB(Macro Block, 406) 계층과 B(Block, 407) 계층은 다음과 같은 8가지의 정보를 내포하고 있다.
MB(Macro Block, 406) 계층은 MCBPC(Macroblock type and Coded Block Pattern for CB and CR: chrominance)(430), AC_Pred(AC Prediction) (431), CBPY(Coded Block Pattern for Y: luminance)(432), and DQuant(Difference in the Quantizer)(433) 필드를 포함하며, B(Block, 407)계층은 DC_size_luma(450), DC_size_chroma(451), DC_diff(452), and DCT_coefficients(453) 필드를 포함한다.
여기에 대해서 간략하게 살펴보면, MB(Macro Block, 406)계층내에는 6개의 블록(block)이 존재 하는데, 이 중 4개는 luminance (Y) 블록, 나머지 2개는 chrominance 블록 (CB 및 CR)이다. 영상의 pixel 값을 부호화(transform)을 하면, DC and AC값으로 표현되고, 4개의 luma 블록의 DC값은 DC_size_luma(450)와 DC_diff(452) 값으로 표현되고, AC 값은 DCT_coefficients(453)으로 표현된다. 2개의 chroma 블록의 DC값은 DC_size_chroma(451)와 DC_diff(452)값으로 표현되고, AC 값은 DCT_coefficients(453)으로 표현된다.
MCBPC 필드는 한 MB의 두 개 chrominance 블록 (CB 및 CR) AC 값의 유무를 의미한다. 즉 MCBPC 값이 '00'인 경우 두 chrominance의 각 63개 AC 값들이 전부 0임을 말하고 '01'인 경우 CB 블록의 63개 AC 값은 전부 0이며, CR 블록의 AC 값은 0이 아닌 값이 존재 함을 의미한다.
AC_Pred 필드는 intra prediction의 하나인 AC prediction의 유무를 나타내는 플래그이다. AC_Pred가 '1'이면 AC prediction이 'ON'임을 의미한다.
CBPT 필드는 한 MB의 네 개 luminance 블록 AC 값의 유무를 의미한다. 즉 CBPY 값이 '0000'인 경우 네 luminance의 각 63개 AC 값들이 전부 0임을 말하고 '0001'인 경우 세 블록의 63개 AC 값은 전부 0이며, 마지막 블록의 AC 값은 0이 아닌 값이 존재 함을 의미한다.
DQuant 필드는 quantiser_scale값을 조정하는 역할을 한다. 보통의 경우, quantiser_scale값은 VOP 단위로 결정이 되면, 해당 VOP내에서 quantiser_scale값을 변경하고 싶을 때 DQuant 필드를 사용한다.
여기서, MB(Macro Block, 406) 계층의 AC_Pred(431)필드는 주로 1비트이어서 부호화를 할 실익이 적으며, DQuant(433)필드는 없는 경우도 많으므로, 본 발명의 일 실시예에서는 상술한 이 2가지 정보를 제외하고 MCBPC(430), CBPY(432), DC_size_luma(450), DC_size_chroma(451), DC_diff(452) 및 DCT_coefficients(453)필드에 결정 비트를 이용하여 부호화하는 것으로 설명한다. 그러나, 결정 비트를 이용한 부호화하는 필드 또는/및 계층이 이에 한정되지 않고 다양하게 변경될 수 있음은 당업자에게 자명하다.
여기서, AC 값을 의미하는 DCT_coefficients(453) 필드의 경우 MPEG-4에서는 AC 값을 RLC (Run Length Coding)을 과정을 거쳐 AC 값이 Run, Level, Last 값으로 변환 되면, 이 세 값을 이용해 해당하는 호프만 엔트로피 부호화를 실행 한다. 본 발명의 일 실시예에서는 1) 다른 필드 값과 마찬가지로 DCT_coefficients 값을 호프만 확률을 이용한 BP 부호화 압축률을 구해 보았고, 또 다른 한가지 방법으로 2) RLC 통해 생성된 Run, Level, Last 중 Run 와 Level을 따로 결정 비트를 이용한 부호화하여 압축하고 그 외 Last 값은 그 값 자체를 전달하는 방법을 사용하여 보았다. 1)의 경우 DCT_coefficients 필드의 심볼값을 호프만 테이블에 적용하여 예외처리 되는 경우(예를 들어, 확률에 의하여 자주 쓰이는 (Run, Level, Last) 값을 테이블화한 호프만 테이블에 해당하는 값이 없는 경우) 순수 Run, Level 값을 2)와 동일하게 BP 값으로 표현하였다.
여기서, MCBPC(430), CBPY(432), DC_size_luma(450), DC_size_chroma(451), DC_diff(452) 및 DCT_coefficients(453) 필드에 대응되는 결정비트값은 각각 VOP(Video Object Plane, 405)단위의 헤더정보(414)에 저장되며, 보다 상세하게는 도 4에 도시된 바와 같이 BP (MCBPC) (420) 내지 BP (DCT_coefficient) (453)에 저장될 수 있다.
지금까지 입력되는 데이터의 계층 구조가 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)인 경우를 예를 들어 결정 비트를 이용하여 부호화하는 경우에 있어서 개념을 설명하였다.
이하에서는 본 발명의 일 실시예에 따라 결정비트값에 3비트가 할당된 경우에(예를 들어, 결정비트값은 1부터 7까지 가능할 수 있음) VOP단위에서 결정비트값을 선정하는 방법에 대해 설명한다.
첫번째 방법으로, 비트값을 1부터 7까지 순차적으로 증가시키면서 데이터 입력부(100)에서 입력받은 데이터 중 미리 지정된 일부분(예를 들어 미리 지정된 계층, 필드 또는 이들의 조합)을 부호화를 한 후, 부호화한 결과를 이용하여 압축효율이 가장 좋은 비트값을 결정비트값으로 선정할 수 있다.
예를 들어, 데이터 입력부(100)가 예를 들어 심볼값 {5, 3, 8, 2, …}를 입력받은 경우를 가정하면 아래의 표 2와 같이 나타낼 수 있다.
BP심볼 5 3 8 2 Total bits
1 000001 0001 000000001 001 22
2 1110 1100 111110 10 18
3 101 011 111001 010 15
4 0101 0011 1000 0010 16
5 00101 00011 01000 00010 20
6 000101 000011 001000 000010 24
7 0000101 0000011 0001000 0000010 28
표 2를 참조하면, 비트값이 3인 경우에 압축효율이 가장 뛰어나므로, 결정 비트 선정부(110)는 결정비트값을 3으로 선정할 수 있다.
여기서 본 발명의 일 측면에 따르면 결정 비트 선정부(110)가 데이터 입력부(100)에서 입력받은 데이터 중 미리 지정된 일부분을 부호화하고, 부호화한 결과를 이용하여 압축 효율이 가장 뛰어난 경우의 비트값을 결정비트값으로 선정할 수 있다.
또한, 본 발명의 다른 측면에 따르면 부호화부(120)가 데이터 입력부(100)에서 입력받은 데이터 중 미리 지정된 일부분을 부호화하고, 결정 비트 선정부(110)가 부호화한 결과를 이용하여 압축 효율이 가장 뛰어난 경우의 비트값을 결정 비트값으로 선정할 수 있다.
또한, 본 발명의 실시예에 따라 결정 비트 선정부(110) 또는 부호화부(120)가 입력부(100)에서 입력받은 데이터 중 미리 지정된 계층 또는/및 필드별로 상술한 과정을 각각 반복하여 미리 지정된 계층 또는/및 필드별로 각각의 결정비트값을 선정할 수 있음은 당업자에게 자명하다.
두번째 방법으로는, 호프만 테이블을 이용하여 결정비트값을 선정하는 방법이다.
보다 상세하게는, 표준화된 코덱에서 제공하는 호프만 테이블의 확률을 이용하여 부호화하는 방법으로서, 부호화 하고자 하는 코덱의 해당 필드(예를 들어, MCBPC 또는 CBPY)에 해당하는 호프만 테이블의 확률을 이용할 수 있다.
엔트로피 부호화의 기본 개념은 확률을 이용하여 가장 자주 나오는 심볼값에 가장 적은 비트의 코드를 할당하는 것에 있다. 따라서, 결정 비트 선정부(110)는 MPEG4(Motion Picture Expert Group 4)에서 제공하는 호프만 테이블을 이용하여 결정비트값을 1비트부터 7비트까지 순차적으로 증가시키면서 데이터 입력부(100)에서 입력받은 데이터 중 일부분을 부호화한 후, 압축효율이 가장 좋은 경우를 결정비트값으로 선정할 수 있다.
예를 들어, 결정비트값을 3으로 가정하고, 입력받은 데이터와 호프만 테이블에서 제공하는 확률을 이용하여 부호화 하면 하기의 표3과 같다. 여기서, 호프만 테이블에서 제공하는 확률이란, 테이블에서 사용하는 code 값의 길이에 따라 심볼이 발생하는 빈도수 및 확률을 예측한 테이블이다.
호프만 Code CBPY (1234) 확률 BP (3)
0011 00 00 1 001
0010 1 00 01 10 111011
0010 0 00 10 11 111100
1001 00 11 2 010
0001 1 01 00 12 111101
0111 01 01 3 011
0000 10 01 10 14 111111000
1011 01 11 4 100
0001 0 10 00 13 111110
0000 11 10 01 15 111111001
0101 10 10 5 101
1010 10 11 6 110
0100 11 00 7 111000
1000 11 01 8 111001
0110 11 10 9 111010
11 11 11 0 000
표 3을 참조하면, CBPY(432)에서 심볼값 '1111' 는 가장 빈도수가 높으므로, 결정비트값을 3로 둔 경우에 비트수가 작은 '000'을 할당하였고, 심볼값 '1001'는 빈도수가 상대적으로 낮으므로 비트수가 상대적으로 많은 '111111001'이 할당되었다.
예를 들어, 데이터 입력부(100)가 입력받은 CBPY(432)의 데이터 심볼값 일부가 {'1010', '0111', …}인 경우에 결정비트값을 3로 두고 호프만 테이블을 이용하여 부호화한 경우 {101, 100,…}로 된다.
이와 같은 방식으로 결정 비트 선정부(110)는 1부터 7까지의 비트값을 이용하여 부호화한 결과를 이용하여 압축효율이 가장 좋은 경우를 결정비트값으로 선정할 수 있다.
지금까지 결정 비트 선정부(110)에서 결정 비트를 선정하는 방법에 대해서 설명하였다.
이하에서는 결정 비트 선정부(110)가 결정 비트를 선정하는 단위 및 부호화부(120)가 결정비트값을 이용하여 부호화하는 단위에 대해서 설명한다.
입력되는 데이터의 계층적 구조(hierarchical structure)는 VO(Video Object, 402), VOL(Video Object Layer, 403), GOP(Group of Picture, 404), VOP(Video Object Plane, 405), MB(Macro Block, 406) 및 B(Block, 407) 계층을 포함하는 것은 상술한 바 있다(도 4참조). 본 명세서에서는 발명의 이해와 설명의 편의를 도모하기 위하여 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)을 예로 들어서 설명한다.
앞서 도 4를 참조하여 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)의 VOP단위로 MB(Macro Block)(406) 및 B(Block)(407)부분에 대해서 결정 비트를 이용하여 부호화하는 것을 설명하였다.
또한, VOP단위의 각 필드에 대하여 선정된 결정비트값은 VOP(Video Object Plane)(405)의 헤더정보의 뒤(414)에 삽입될 수 있다.
여기서, 결정비트값은 헤더정보의 앞부분, 뒷부분 또는 사이에 위치할 수 있으며, 이는 부호화하는 환경, 즉 코덱(codec), 프로파일(profile) 및 조건등에 따라 다양하게 변경될 수 있음은 당업자에게 자명하다.
도 5는 본 발명의 일 실시예에 따라 결정비트값을 선정하는 단위 및 결정비트값을 이용하여 부호화하는 단위에 대한 다양한 예시도이다.
MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 일반적으로 VS(Video Sequence, 401) 계층 내지 VOP(Video Object Plane, 405) 계층은 헤더 정보가 포함되므로, 데이터 입력부(100)에 입력되는 동영상 데이터의 심볼값은 주로 MB(Macro Block, 406) 계층 및 B(Block, 407) 계층을 구성하므로, VOP단위로 부호화할 실익이 큰 것은 앞서 상술하였다.
따라서, 본 명세서에서는 VOP단위로 결정 비트를 이용하여 결정비트값을 선정하고, 부호화하는 것을 설명하나, 결정비트값을 선정하는 단위 및 부호화하는 단위는 부호화하는 환경, 즉 코덱, 프로파일 및 기타 조건에 따라 다양하게 변경될 수 있음은 당업자에게 자명하다.
이하에서는 설명의 편의상 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)를 예로 들어 설명한다.
도 5를 참조하면, 도 5의 (a)는 입력되는 데이터의 모든 VOP단위의 모든 필드에 하나의 결정비트값을 선정하여 공통적으로 적용하여 부호화하는 경우의 예시도이다.
예를 들어, 입력되는 데이터의 첫번째 VOP단위의 첫번째 필드(예를 들어, MB(Macro Block, 406) 계층의 MCBPC(430)) 필드의 심볼값을 이용하여 결정 비트 선정부(110)가 앞서 상술한 방법으로 선정한 결정비트값을 모든 VOP단위의 모든 필드에 적용하여 부호화하는 경우일 수 있다.
도 5의 (b)는 입력되는 데이터의 VOP단위별로 결정 비트 선정부(110)가 결정비트값을 선정한 경우의 예시이다.
예를 들어, VOP 단위별로 각각의 결정비트값을 이용하여 VOP 단위의 데이터를 모두 부호화할 수 있고(도 5의 (b)참조), VOP 단위에서 MB(Macro Block) 및 B(Block) 계층만 부호화 할 수 있으며(도 5의 (c)참조), MB(Macro Block) 및/또는 B(Block) 계층의 특정 필드만 부호화할 수 있다(도 5의 (d)참조).
도 5의 (e)는 입력되는 데이터의 필드별로 결정 비트 선정부(110)가 결정비트값을 선정한 경우의 예시이다.
예를 들어, 필드별로 선정된 결정비트값을 이용하여 모든 VOP 단위의 데이터를 부호화할 수 있고(도 5의 (e)참조), VOP 단위에서 MB(Macro Block) 및 B(Block) 계층만 부호화 할 수 있으며(도 5의 (f)참조), MB(Macro Block) 및/또는 B(Block) 계층의 특정 필드만 부호화할 수 있다(도 5의 (g)참조).
도 5의 (h)는 입력되는 VOP 단위별, 필드별로 결정 비트 선정부(110)가 각각의 결정비트값을 선정한 경우의 예시이다.
예를 들어, VOP 단위별, 필드별로 선정된 각각의 결정비트값을 이용하여 모든 VOP 단위의 데이터를 각각 부호화할 수 있고(도 5의 (h)참조), VOP 단위에서 MB(Macro Block) 및 B(Block) 계층만 각각 부호화 할 수 있으며(도 5의 (i)참조), MB(Macro Block) 및/또는 B(Block)계층의 특정 필드만 각각 부호화할 수 있다(도 5의 (j)참조).
본 발명의 다른 일 실시예에 따르면, 결정 비트 선정부(110)가 결정 비트를 선정하는 단위 및 부호화부(120)가 결정비트값을 이용하여 부호화하는 단위가 상이할 수 있다. 이 때, 결정비트값에는 결정비트값을 선정하는 단위 및 부호화하는 단위에 대한 정보가 더 포함될 수 있음은 당업자에게 자명하다.
예를 들어, 결정 비트 선정부(110)가 입력되는 데이터의 모든 VOP단위의 모든 필드에 하나의 결정비트값을 공통적으로 선정하되, 부호화부(120)는 선정된 결정비트값을 이용하여 선택적으로 미리 지정된 필드만을 부호화할 수 있다(501).
예를 들어, 결정 비트 선정부(110)가 입력되는 데이터의 VOP 단위 별로 결정비트값을 선정하되, 부호화부(120)는 VOP단위별 선택적으로 미리 지정된 필드만을 부호화할 수 있다(502, 503)
또한, 본 발명의 다른 일 실시예에 따르면 기존 MPEG4의 허프만 테이블을 이용하여 부호화한 경우와 본 발명에 따른 결정비트값을 이용하여 부호화한 경우의 결과를 비교할 수 있다. 그리고 비교결과에 의하여 압축효율이 더 좋은 경우에 한하여 선택적으로 본 발명에 따라 결정비트값을 이용하여 부호화할 수 있다.
이 때, 결정 비트 선정부(110)가 결정 비트를 선정하는 단위 및 부호화부(120)가 부호화하는 단위가 다양하게 변경될 수 있음은 당업자에게 자명하다.
지금까지 결정 비트 선정부(110)가 결정 비트를 선정하는 단위 및 부호화부(120)가 결정비트값을 이용하여 부호화하는 단위가 동일한 경우 및 상이한 경우에 대하여 상술하였다. 이하에서는 결정비트값을 이용하여 부호화하여 생성된 비트스트림의 구조에 대한 다양한 예시를 설명한다.
도 6은 본 발명의 일 실시예에 따라 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 결정비트값을 이용하여 부호화한 비트스트림의 구조에 대한 다양한 예시도이다.
비트 스트림의 구조를 결정 짓는 것을 결정 비트 선정부(110)가 결정 비트를 선정하는 단위, 부호화부(120)가 결정 비트를 이용하여 부호화하는 단위 및 결정비트값이 부호화된 스트림에 삽입되는 위치이다. 여기서, 결정 비트 선정부(110)가 결정 비트를 선정하는 단위 및 부호화부(120)가 결정 비트를 이용하여 복호화하는 단위에 관한 설명은 앞서 도 5를 참조하여 상술하였으므로, 여기서는 결정비트값이 부호화된 스트림에 삽입되는 위치를 중심으로 설명한다.
도 6을 참조하면, 본 발명의 일 실시예에 따라 MPEG4(Motion Picture Expert Group 4) SP(Simple Profile) 인트라코딩(intracoding)에서 결정비트값은 헤더 정보의 뒤에 위치하고 있다.
여기서, 결정 비트값은 헤더 정보의 앞, 뒤 및 사이에 위치할 수 있으며, 코덱, 프로파일 또는 기타 조건에 따라 다양하게 변경될 수 있음은 당업자에게 당연하다.
도 6를 참조하면, 도 6의 (a)는 VS(Video Sequence, 401)단위로 결정 비트를 선정한 경우 부호화된 비트스트림의 예시도로서, 결정비트값(BP#1 내지 BP #n)은 VS(Video Sequence, 401)의 헤더정보 뒤에 위치하고 있다.
이때, 결정 비트를 이용한 부호화는 VO(Video Object)(402) 계층 내지 B(Block)(407) 계층부분을 모두 부호화 할 수 있으며, 또는 특정 필드 또는/및 계층만을 개별적으로 부호화 할 수 있음은 앞서 도 5를 참조하여 상술하였다. 따라서 본 발명이 적용되는 실시예에 상응하여 결정비트값(BP #1 내지 BP #n)의 개수가 다양하게 변경될 수 있음은 당업자에게 자명하다.
마찬가지로 도 6의 (b) 내지 도 6의 (f)에서도 각각의 결정비트값이 헤더정보의 뒤에 삽입되어 생성된 비트스트림의 예시이다.
여기서, 도 6의 (e)는 VOP(Video Object Plane)단위로 결정 비트를 선정한 경우로서 이에 대한 설명은 도 4를 참조하여 자세히 상술하였다.
도 6의 (g)는 B(Block)(407)계층의 각 필드에 대한 결정비트값이 B(Block)(407)계층의 앞부분에 삽입되어 비트스트림이 생성된 예시이다.
이때, 본 발명의 일 실시예에 따라 B(Block)(407)계층의 필드인 DC_size_luma(450), DC_size_chroma(451), DC_diff(452) 및 DCT_coefficient(453)를 결정비트값을 이용하여 모두 부호화 할 수 있으며, 특정 필드만을 부호화 할 수 있음은 앞서 도 5를 참조하여 설명하였다.
지금까지 결정비트값을 선정하는 방법, 결정비트값을 이용하여 부호화하는 단위 및 부호화되어 생성된 비트스트림의 구조에 대해서 설명하였다. 이하에서는 결정비트값을 이용한 복호화 장치 및 방법에 대해서 설명한다.
도 7은 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 장치의 일실시예의 구성도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 장치는 비트스트림 입력부(710), 결정 비트 추출부(720) 및 복호화부(730)을 포함한다.
비트스트림 입력부(710)는 결정 비트를 이용하여 부호화된 비트스트림을 부호화 장치측으로부터 입력받고, 결정 비트 추출부(720)는 입력받은 비트스트림으로부터 결정비트값을 추출한다.
복호화부(730)는 추출된 결정비트값을 이용하여 비트스트림을 복호화하여 데이터 심볼값을 복우원한다.
본 발명의 일 실시예에 따른 복호화 장치의 각 국성요소의 기능 및 동작에 대해서는 이하 도 8을 참조하여 후술한다.
도 8은 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 방법에 대한 흐름도이다.
결정 비트를 이용한 복호화 장치 및 방법은, 상기에서 도 2를 참조하여 설명한 결정 비트를 이용한 부호화 방법의 역순으로 이루어진다.
단계 S810에서 비트스트림 입력부(710)는 부호화 장치측에서 결정 비트를 이용하여 부호화된 비트스트림을 입력받는다.
이어서, 단계 S820에서 결정 비트 추출부(720)는 입력받은 부호화된 입력스트림으로부터 결정비트값을 추출한다.
여기서, 결정비트값은 앞서 도 6을 참조하여 상술한 바와 같이 부호화되어 생성된 비트스트림의 다양한 위치에 삽입되어 있으므로, 결정 비트 추출부(720)는 부호화된 비트스트림의 구조에 상응하여 해당위치에서 결정 비트값을 추출한다.
이어서, 단계 S830에서 추출된 결정비트값을 이용하여 부호화된 비트스트림을 복호화하여 데이터 심볼값을 복원한다.
도 9는 본 발명의 일 실시예에 따른 결정 비트를 이용한 부/복호화의 실험 결과이다.
실험 테스트에 사용한 동영상의 이름은 woman이고, 동영상의 사이즈는 1920Ⅹ1080 이다.
도 9를 참조하면, 도 9에 도시된 그래프는 RD(Rate-distortion) 그래프로서 압축률 대비 화질을 나타내며, 보통 화질 1dB의 차이는 육안으로 감지 할 수 있을 정도의 차이를 나타낸다. Y축은 PNSR(Peek Signal To Noise Rate)값으로, 최고 전력에서의 신호 대 잡음비이며, 국제 표준에서 화질의 척도로 사용되는 수치이므로, 이에 대한 설명은 생략한다. X축은 동영상의 순수 압축 bits이다.
여기서 MPEG-4(910)는 기본의 호프만(Huffman) 확률을 사용하였고, BP-RunLevel(920)은 상기에서 상술한 바와 같이, DCT_coefficients(453) 경우 RLC (Run Length Coding)을 과정을 거쳐 AC 값이 Run, Level, Last 값으로 변환 되면, Run 와 Level을 따로 결정 비트를 이용한 부호화하여 압축하고 그 외 Last 값은 그 값 자체를 전달하는 방법을 사용하였다. BP-VLD(930)은 DCT_coefficients(453)를 RLC(Rund Length Coding)의 과정을 거쳐, Run, level, Last값에 해당하는 VLD(Variable Length Decoding) 테이블의 코드값을 결정 비트를 이용하여 부호화하여 압축하는 방법을 사용하였다.
본 발명의 일 실시예에 따르면, 결정 비트를 이용한 부/복호화 방법은 별도의 사전수정없이 기존의 코덱(codec), 프로파일(profile) 및 기타 다른 알고리즘의 장점을 살리면서 추가적인 압축효과를 얻을 수 있다. 여기서는, VLD(Variable Length Decoding) 테이블을 더 이용하여 DCT_coefficients(453)의 Run, level, Last에 해당하는 코드값에 결정 비트를 이용한 복호화를 시도하여 추가적인 압축효과를 실험하였다.
도 9의 상단에 도시된 RD 그래프를 참조하면, 본 발명의 일 실시예에 따라 결정 비트를 이용한 부/복호화 방법은 기존의 MPEG-4의 방법에 비하여 동일한 화질을 구비하면서 압축률이 더 뛰어남을 알 수 있다.
또한, 도 9의 하단에 예시된 테이블을 참조하여 보다 상세하게 압축률을 살펴보면, 기존의 MPEG-4의 방법과 비교할 경우 동일 화질을 기준으로 최대 30%의 압축성능을 개선할 수 있음을 알 수 있다.
또한, 본 발명의 일 실시예에 따른 복호화 방법은 기존의 MPEG4 방법과 비교하여 동일한 화질을 구비함과 동시에 디코딩 복잡도가 적다. 이점에 대해서는 하기의 표 4를 참조하여 설명한다.
QP Huffman BP-RunLevel   BP-VLD  
  decoding time decoding time % decoding time %
4 1.4685 1.8497 79.39 1.8578 79.04
10 1.5440 1.9087 80.89 1.9354 79.78
16 1.5540 1.9277 80.61 1.9493 79.72
26 1.5603 1.9345 80.66 1.9552 79.80
31 1.5661 1.9462 80.47 1.9405 80.71
표 4의 수치는 FpS(Frame per Second)이며, QP별로 3번의 복호화 과정을 수행한 후 평균치를 기록한 것으로서, 값이 높을수록 복잡도가 적음을 의미한다.
표 4를 참조하면 호프만 확률을 사용하는 기존의 MPEG4의 방법보다 결정 비트를 이용한 복호화 방법(BP-RunLevel)의 복호화 시간이 대략 20%정도 감소 함을 알 수 있다.
또한, 본 발명의 일 실시예에 따라, 상기에서 설명한 VLD(Variable Length Decoding) 테이블을 참조하여 결정 비트를 이용한 복호화 방법인 BP-VLD 복호화 방법도 기존의 MPEG4보다 복호화 시간이 감소함을 알 수 있다.
여기서 VLD(Variable Length Decoding)은 공지된 기술이므로, 본 명세서 자세한 설명은 생략한다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 결정 비트를 이용한 부호화 방법은 종래의 엔트로피 부/복호화 방법에서 미리 정해진 호프만 테이블을 사용하여 정보를 표현하는 방법과는 달리, 한 문자 및 한 숫자를 표현하는데 비트 수를 적응적으로 결정하여 동영상 데이터를 엔트로피 부호화하는 장점이 있다.
또한, 본 발명은 종래의 엔트로피 부호화 방법과 유사한 압축률을 가지면서, 동영상 복호화시 추가적인 연산이 필요 없는 복잡도가 적은 복호화하는 장점이 있다.
또한, 본 발명은 종래의 코덱(codec)을 변경하지 아니하고, 동일한 화질을 구비하면서 환경적으로 추가적으로 압축성능을 개선하는 장점이 있다.

Claims (24)

  1. 결정 비트(bit-precision)를 이용한 부호화 장치에 있어서,
    부호화할 데이터의 필드(field) 단위, 계층 단위 또는 이들의 조합 중 어느 하나에 상응하는 결정비트값을 선정하는 결정 비트 선정부; 및
    상기 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림을 생성하는 부호화부를 포함하되,
    상기 선정된 결정비트값이 상기 비트 스트림에 삽입되는 것을 특징으로 하는 부호화 장치.
  2. 삭제
  3. 제 1항에 있어서,
    상기 결정 비트 선정부는
    상기 데이터의 압축 효율이 최적화되는 비트값을 상기 결정비트값으로 선정하는 것을 특징으로 하는 부호화 장치
  4. 제 3항에 있어서,
    상기 결정 비트 선정부는
    미리 지정된 복수의 비트값 각각에 대해 상기 데이터의 미리 지정된 단위를 부호화하고, 부호화한 결과를 이용하여 압축 효율이 최적화된 비트값을 상기 결정비트값으로 선정하는 것을 특징으로 하는 부호화 장치.
  5. 제 4항에 있어서,
    상기 결정 비트 선정부는
    상기 미리 지정된 단위를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 장치.
  6. 제 1항에 있어서,
    상기 부호화부는
    상기 데이터를 부호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 장치.
  7. 제 1항에 있어서,
    상기 데이터의 DCT_coefficients 심볼값이 RLC(Run Length Coding) 과정에 의해 Run, Level 및 Last이 생성되는 경우,
    상기 부호화부는 상기 Run 및 상기 Level을 상기 선정된 결정비트값에 상응하도록 부호화하는 것을 특징으로 하는 부호화 장치.
  8. 제 7항에 있어서,
    상기 부호화부는
    상기 Run 및 상기 Level을 부호화하기 위해 호프만 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 장치.
  9. 결정 비트(bit-precision)를 이용한 복호화 장치에 있어서,
    복호화할 비트스트림(bit stream)으로부터 결정비트값을 추출하기 위한 결정 비트 추출부; 및
    상기 추출된 결정비트값에 상응하여 상기 비트 스트림을 복호화하는 복호화부를 포함하되,
    상기 결정 비트 추출부는 상기 비트 스트림의 필드(field) 단위, 계층 단위 또는 이들의 조합에 상응하여 결정비트값을 추출하는 것을 특징으로 하는 복호화 장치.
  10. 삭제
  11. 제 9항에 있어서,
    상기 복호화부는
    상기 비트 스트림을 복호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 복호화 장치.
  12. 결정 비트(bit-precision)를 이용한 부호화 방법에 있어서,
    (a) 부호화할 데이터에 상응하여 결정비트값을 선정하는 단계; 및
    (b) 상기 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림(bit stream)을 생성하는 단계를 포함하되,
    상기 선정된 결정비트값이 상기 비트 스트림에 삽입되고,
    상기 결정비트값은 상기 데이터의 필드(field) 단위, 계층 단위 또는 이들의 조합 중 어느 하나에 상응하여 선정되는 것을 특징으로 하는 부호화 방법.
  13. 삭제
  14. 제 12항에 있어서,
    상기 (a) 단계는
    상기 데이터의 압축 효율이 최적화되는 비트값을 상기 결정비트값으로 선정하는 것을 특징으로 하는 부호화 방법.
  15. 제 14항에 있어서,
    상기 (a) 단계는
    (a1) 미리 지정된 복수의 비트값 각각에 대해 상기 데이터의 미리 지정된 단위를 부호화하는 단계; 및
    (a2) 부호화된 결과를 이용하여 압축 효율이 최적화된 비트값을 상기 결정비트값으로 선정하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  16. 제 15항에 있어서
    상기 (a1) 단계는
    상기 미리 지정된 단위를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 방법.
  17. 제 12항에 있어서,
    상기 (b) 단계는
    상기 데이터를 부호화하기 위해 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 방법.
  18. 제 12항에 있어서,
    상기 입력되는 데이터의 DCT_coefficients 심볼값이 RLC(Run Length Coding) 과정에 의해 Run, Level 및 Last이 생성되는 경우,
    상기 (b)단계는 상기 선정된 결정비트값에 상응하도록 상기 Run 및 상기 Level을 부호화하는 것을 특징으로 하는 부호화 방법.
  19. 제 18항에 있어서,
    상기 (b) 단계는
    상기 Run 및 상기 Level을 부호화하기 위해 호프만 테이블의 확률을 더 이용하는 것을 특징으로 하는 부호화 방법.
  20. 결정 비트(bit-precision)를 이용한 복호화 방법에 있어서,
    (a) 부호화된 비트 스트림(bit stream)으로부터 결정비트값을 추출하는 단계; 및
    (b) 상기 추출된 결정비트값에 상응하여 상기 비트 스트림을 복호화하는 단계를 포함하되,
    상기 결정비트값은 상기 입력되는 비트 스트림의 필드(field) 단위, 계층 단위 또는 이들의 조합에 상응하여 결정비트값을 추출되는 것을 특징으로 하는 복호화 방법.
  21. 삭제
  22. 제 20항에 있어서,
    상기 (b) 단계는
    상기 비트 스트림을 복호화하기 위하여 호프만(Huffman) 테이블의 확률을 더 이용하는 것을 특징으로 하는 복호화 방법.
  23. 결정 비트를 이용한 부호화 방법을 수행하기 위해 부호화 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 부호화 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    (a) 부호화할 데이터에 상응하여 결정비트값을 선정하는 단계; 및
    (b) 상기 선정된 결정비트값에 상응하여 상기 데이터를 부호화하여 비트 스트림(bit stream)을 생성하는 단계를 포함하되,
    상기 결정비트값은 상기 입력되는 비트 스트림의 필드(field) 단위, 계층 단위 또는 이들의 조합에 상응하여 결정비트값을 추출되는 것을 특징으로 하는 프로그램이 기록된 기록매체.
  24. 결정 비트를 이용한 복호화 방법을 수행하기 위해 복호화 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 복호화 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    (a) 부호화된 비트 스트림(bit stream)으로부터 결정비트값을 추출하는 단계; 및
    (b) 상기 추출된 결정비트값에 상응하여 상기 비트 스트림을 복호화하는 단계를 포함하되,
    상기 결정비트값은 상기 입력되는 비트 스트림의 필드(field) 단위, 계층 단위 또는 이들의 조합에 상응하여 결정비트값을 추출되는 것을 특징으로 하는 프로그램이 기록된 기록매체.
KR1020060114088A 2006-11-17 2006-11-17 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체 KR100858245B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060114088A KR100858245B1 (ko) 2006-11-17 2006-11-17 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체
PCT/KR2007/005132 WO2008060040A1 (en) 2006-11-17 2007-10-19 Recorded medium having program for coding and decoding using bit-precision, and apparatus thereof
EP07833441A EP2092648A4 (en) 2006-11-17 2007-10-19 RECORDING MEDIUM WITH A PROGRAM FOR CODING AND DECODING USING BIT PRECISION AND DEVICE THEREFOR
US12/515,076 US8385405B2 (en) 2006-11-17 2007-10-19 Recorded medium having program for coding and decoding using bit-precision, and apparatus thereof
CN2007800497845A CN101657973B (zh) 2006-11-17 2007-10-19 采用位精度的编码装置和编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060114088A KR100858245B1 (ko) 2006-11-17 2006-11-17 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체

Publications (2)

Publication Number Publication Date
KR20080045029A KR20080045029A (ko) 2008-05-22
KR100858245B1 true KR100858245B1 (ko) 2008-09-12

Family

ID=39401822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060114088A KR100858245B1 (ko) 2006-11-17 2006-11-17 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체

Country Status (5)

Country Link
US (1) US8385405B2 (ko)
EP (1) EP2092648A4 (ko)
KR (1) KR100858245B1 (ko)
CN (1) CN101657973B (ko)
WO (1) WO2008060040A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411745B2 (en) 2007-07-18 2013-04-02 Humax Co., Ltd. Method and apparatus for coding and decoding using bit-precision
US9106916B1 (en) * 2010-10-29 2015-08-11 Qualcomm Technologies, Inc. Saturation insensitive H.264 weighted prediction coefficients estimation
US10235338B2 (en) * 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
CN105898385A (zh) * 2014-09-19 2016-08-24 青岛海尔电子有限公司 一种媒体优化文件的生成方法、调用方法及装置
US10491241B1 (en) * 2017-07-04 2019-11-26 Habana Labs Ltd. Data compression scheme utilizing a repetitive value within the data stream

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000005958A (ko) * 1998-06-05 2000-01-25 윤종용 레이트매칭을위한채널부호화장치및방법
JP2002084198A (ja) 2000-09-11 2002-03-22 Matsushita Electric Ind Co Ltd 可変長符号の復号方法及び装置、並びに復号テーブル
KR100636370B1 (ko) * 2005-06-29 2006-10-19 한국전자통신연구원 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
KR100209877B1 (ko) 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
FR2837044A1 (fr) 2002-03-11 2003-09-12 St Microelectronics Sa Procede de modulation et de determination du nombre de bits a transmettre sur un canal de transmission
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000005958A (ko) * 1998-06-05 2000-01-25 윤종용 레이트매칭을위한채널부호화장치및방법
JP2002084198A (ja) 2000-09-11 2002-03-22 Matsushita Electric Ind Co Ltd 可変長符号の復号方法及び装置、並びに復号テーブル
KR100636370B1 (ko) * 2005-06-29 2006-10-19 한국전자통신연구원 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법

Also Published As

Publication number Publication date
EP2092648A4 (en) 2010-08-04
KR20080045029A (ko) 2008-05-22
US8385405B2 (en) 2013-02-26
CN101657973A (zh) 2010-02-24
US20100316113A1 (en) 2010-12-16
CN101657973B (zh) 2013-05-08
WO2008060040A1 (en) 2008-05-22
EP2092648A1 (en) 2009-08-26

Similar Documents

Publication Publication Date Title
US8401321B2 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
US7564384B2 (en) Binarizing method and device thereof
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US7486211B2 (en) Method and system for entropy coding
US11336921B2 (en) Acceleration of context adaptive binary arithmetic coding (CABAC) in video codecs
KR100856398B1 (ko) 복수 매핑 테이블을 이용한 가변장 부호화 및 복호화방법과 그 장치
US20070133890A1 (en) Extension of two-dimensional variable length coding for image compression
EP2624554A1 (en) Dynamic image encoding device, dynamic image encoding method, and computer program for dynamic image encoding
US7158684B2 (en) Entropy coding scheme for video coding
US20070133677A1 (en) Method and apparatus for encoding and decoding video signals on group basis
KR100858245B1 (ko) 결정 비트를 이용한 부호화/복호화 장치 및 그에 따른프로그램이 기록된 매체
JP3990464B2 (ja) ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル
KR101710619B1 (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
EP1333679A1 (en) Data compression
US8009067B2 (en) Method and apparatus for coding and decoding using bit-precision
KR100195715B1 (ko) 가변 길이 복호기
KR100195717B1 (ko) 가변 길이 복호기
EP3149948B1 (en) Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs
KR100195716B1 (ko) 가변 길이 복호기
KR20090113208A (ko) 정수들의 시퀀스를 인코딩하기 위한 방법, 인코딩된 정수 시퀀스를 운반하는 저장 디바이스 및 신호, 그리고 정수들의 시퀀스를 디코딩하기 위한 방법

Legal Events

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

Payment date: 20120903

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee