KR20090112139A - 결정 비트를 이용한 부호화/복호화 방법 및 장치 - Google Patents

결정 비트를 이용한 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20090112139A
KR20090112139A KR1020080037856A KR20080037856A KR20090112139A KR 20090112139 A KR20090112139 A KR 20090112139A KR 1020080037856 A KR1020080037856 A KR 1020080037856A KR 20080037856 A KR20080037856 A KR 20080037856A KR 20090112139 A KR20090112139 A KR 20090112139A
Authority
KR
South Korea
Prior art keywords
bit
field
decision
motion vector
bitstream
Prior art date
Application number
KR1020080037856A
Other languages
English (en)
Other versions
KR100988010B1 (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
Priority to KR1020080037856A priority Critical patent/KR100988010B1/ko
Application filed by 주식회사 휴맥스 filed Critical 주식회사 휴맥스
Priority to PCT/KR2008/004232 priority patent/WO2009011558A2/en
Priority to US12/669,770 priority patent/US8411745B2/en
Priority to EP10152392A priority patent/EP2187645A3/en
Priority to EP08778887A priority patent/EP2172028A4/en
Priority to EP10152387A priority patent/EP2187643A3/en
Priority to EP10152390A priority patent/EP2187644A3/en
Publication of KR20090112139A publication Critical patent/KR20090112139A/ko
Priority to US12/694,245 priority patent/US8675734B2/en
Priority to US12/694,242 priority patent/US8009066B2/en
Priority to US12/694,248 priority patent/US8009067B2/en
Application granted granted Critical
Publication of KR100988010B1 publication Critical patent/KR100988010B1/ko

Links

Images

Classifications

    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding

Landscapes

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

Abstract

결정 비트를 이용한 부호화/복호화 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따르면, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 적응 결정 비트 산출부; 소정의 필드 별로 결정 비트를 산출하는 결정 비트 산출부; 및 대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 부호화부를 포함하는 부호화 장치가 제공될 수 있다. 이에 따라 다수의 방법으로 산출된 결정 비트를 이용하여 영상 데이터를 부/복호화함으로써, 압축 효율을 개선할 수 있는 효과가 있다.
결정 비트, 적응 결정 비트, 매크로 블록, 부호화, 복호화

Description

결정 비트를 이용한 부호화/복호화 방법 및 장치{Method and Apparatus for Coding and Decoding using Bit-Precision}
본 발명은 영상 데이터의 부호화(Coding) 및 복호화(Decoding)(이하에서는 '부/복호화'로 칭함) 장치에 관한 것으로, 보다 상세하게는 영상 데이터의 압축 효율을 높이기 위한 부/복호화 방법 및 장치에 관한 것이다.
인터넷을 통한 초당 데이터 전송량이 늘어나면서 단순 텍스트 데이터를 전송하던 과거에 비해 동영상, 사진 등 멀티미디어 데이터의 전송량이 증가하고 있으며, 이에 따른 영상 압축 기술에 대한 요구 역시 증가하고 있다.
영상을 압축하기 위해서는 데이터에 포함된 심볼(symbol)을 나타내는 비트열을 다른 형태로 변형하는 엔트로피 코딩(entropy coding) 과정을 거쳐야 한다. 엔트로피 코딩 방식으로는 허프만 코딩(Huffman coding), 산술기하 코딩(Arithmetic coding) 등의 방식이 있다. 특히 허프만 코딩 방식은 압축 효율과 복호화 복잡도를 적정 수준으로 보장하기 때문에 많은 영상 압축 코덱에서 사용된다. 산술기하 코딩 은 복호화 복잡도는 높지만 상대적으로 압축 효율이 높기 때문에 높은 압축 효율을 요구하는 분야에서 사용된다.
최근 들어 제한된 전력을 이용하고 저성능의 하드웨어로 구성된 각종 모바일 미디어 기기의 등장으로 복호화 복잡도가 낮은 엔트로피 코딩 방법이 요구되고 있다. 그러나, 영상의 압축 효율을 높이기 위한 방법에 비해 복호화 복잡도를 낮추는 방법에 대한 연구는 미비하다는 문제점이 있다.
한편, 복호화 복잡도를 감소시키기 위한 방안으로서, 최근 결정 비트(Bit Precision)을 이용한 엔트로피 코딩 방식이 제안되었다. 하지만 상기 코딩 방식은 VOP 또는 매크로 블록 당 하나의 결정 비트를 비트스트림에 추가적으로 삽입함으로써, 압축 효율이 낮아지는 문제점이 있다.
본 발명은 복수개의 방법으로 선정된 결정 비트를 이용하여 영상 데이터를 부/복호화함으로써, 압축 효율을 개선할 수 있는 결정 비트를 이용한 부호화/복호화 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명은 필드별로 결정 비트를 산출하는 방식을 달리하여 영상 데이터를 부/복호화함으로써, 압축 효율을 개선할 수 있는 결정 비트를 이용한 부호화/복호화 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따르면, 적응 결정 비트 및 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화할 수 있는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 적응 결정 비트 산출부; 소정의 필드 별로 결정 비트를 산출하는 결정 비트 산출부; 및 대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 부호화부를 포함하는 부호화 장치가 제공될 수 있다.
본 발명의 다른 측면에 따르면, 적응 결정 비트 및 결정 비트 중 하나 이상을 이용하여 비트스트림을 복호화할 수 있는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 적응 결정 비트 산출부; 소정의 필드 별로 결정 비트를 입력받은 비트스트림으로부터 추출하는 결정 비트 추출부; 및 대상 필드의 종류에 따라 상기 적응 결정 비트 또는 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 복호화부를 포함하는 복호화 장치가 제공될 수 있다.
본 발명의 또 다른 측면에 따르면, 적응 결정 비트 및 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화할 수 있는 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 일 실시예에 따르면, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계; 소정의 필드 별로 결정 비트를 산출하는 단계; 및 대상 필드의 종류에 따라 상기 결정 비트 및 상기 적응 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 단계를 포함하는 부호화 방법이 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 입력 데이터를 부호화할 수 있는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계; 소정의 필드 별로 결정 비트를 산출하는 단계; 및 대상 필드의 종류에 따라 상기 결정 비트 및 상기 적응 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 단계를 수행하는 프로그램이 기록된 기록매체가 제공될 수 있다.
본 발명의 또 다른 측면에 따르면, 적응 결정 비트 및 결정 비트 중 하나 이상을 이용하여 비트스트림을 복호화할 수 있는 방법 및 그 방법을 실행하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 일 실시예에 따르면, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계; 소정의 필드 별로 결정 비트를 비트스트림으로부터 추출하는 단계; 및 대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 단계를 포함하는 복호화 방법이 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 비트스트림을 복호화 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계; 소정의 필드 별로 결정 비트를 비트스트림으로부터 추출하는 단계; 및 대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 단계를 수행하는 프로그램이 기록된 기록매체가 제공될 수 있다.
본 발명은 복수의 방법으로 산출된 결정 비트 또는/및 적응 결정 비트를 이용하여 영상 데이터를 부/복호화함으로써, 압축 효율을 개선할 수 있는 효과가 있다.
본 발명은 필드별로 결정 비트를 산출하는 방식을 달리하여 영상 데이터를 부/복호화함으로써, 압축 효율을 개선할 수 있는 복합적으로 결정 비트를 이용한 부호화/복호화 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
본 발명은 결정 비트를 이용하는 부호화 기술에 관한 것으로, 더욱 구체적으 로는 결정 비트 또는 적응 결정 비트를 이용하여 심볼을 부호화하는 기술에 관한 발명이다. 먼저, 이해와 설명의 편의를 도모하기 위해, 본 발명에 따른 결정 비트를 이용하는 부호화 방식에 대한 개념을 설명한 후, 결정 비트 및 적응 결정 비트에 대하여 설명하기로 한다.
본 발명에 따른 부호화 방법은 입력 데이터의 심볼들에 대하여 결정 비트를 지정한다. 이 때, 심볼은 입력 데이터를 구성하고 있는 각각의 워드 단위이다. 결정 비트는 심볼들을 이진 코드인 비트를 이용하여 부호화하기 위한 단위 비트열의 길이를 나타내는 값이다. 즉, 결정 비트가 n인 경우, 입력된 심볼들은 n개의 단위 비트열을 이용하여 이진수로 표현되고, 이에 따라 부호화된다. 예를 들어, 입력된 심볼들이 {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 10 01 001 0001 00001
2 100 10 010 0010 00010
3 1000 1100 011 0011 00011
4 10000 1101 100 0100 00100
5 100000 1110 101 0101 00101
6 1000000 111100 110 0110 00110
7 10000000 111101 111000 0111 00111
8 100000000 111110 111001 1000 01000
9 1000000000 11111100 111010 1001 01001
표 1에서 나타나듯이 결정 비트에 따라 심볼이 부호화된 비트열은 달라진다. 따라서 여러 종류의 결정 비트들 중 어떤 결정 비트를 이용하여 부호화할 것인지를 부호화 프로세스의 수행 전에 선정하여야 하며, 선정된 결정 비트에 따라 부호화 압축률은 달라 진다.
본 발명에 따르면 표 1에 예시된 결정 비트 이외에 각 심볼에 대한 별도의 결정 비트(이하 '적응 결정 비트'라 지칭)가 산출된다. 여기서, 적응 결정 비트는 각 심볼을 부호화하기 위한 단위 비트열의 길이를 나타낸다. 이하 적응 결정 비트에 대해서 상세히 설명하도록 한다.
본 발명의 일 실시예에 따르면, 각 심볼은 적응 결정 비트와 적응 결정 비트를 이용하여 부호화된 비트열(이하, '적응 비트열'로 지칭)로 표현되어 비트스트림에 삽입될 수 있다. 이하 표 2에는 각 심볼들에 대한 적응 결정 비트 및 적응 비트열이 예시된다.
심볼 적응 결정 비트 적응 비트열
0 0 -
1 1 -
2 2 -
3 3 00
4 3 01
5 3 10
6 3 11
7 4 000
8 4 001
각 적응 비트열의 길이는 적응 결정 비트에서 1을 뺀 값으로 결정된다. 예를 들어, 적응 결정 비트가 3이면 해당 적응 비트열의 길이는 2(즉, 2비트)로 결정된다. 이 때, 적응 결정 비트가 0 내지 2일 경우에 심볼은 적응 비트열을 이용하지 않고 적응 결정 비트만으로 표현된다. 각 적응 비트열의 길이는 적응 결정 비트에서 1을 뺀 값이기 때문에 각 적응 결정 비트는 2의 n제곱(n은 적응 결정 비트에서 1을 뺀 값)만큼의 심볼을 나타낼 수 있다. 예를 들어, 적응 결정 비트 3은 4개의 심볼을 나타낼 수 있고, 적응 결정 비트 4는 8개의 심볼을 나타낼 수 있다. 적응 결정 비트가 3일 경우, 표 2에 예시된 바와 같이 00, 01, 10, 11은 심볼 3 내지 6에 매칭된다. 적응 결정 비트가 4일 경우에는 000, 001, 010, 011, 100, 101, 110, 111이 심볼 7 내지 14로 각각 매칭된다. 상술한 적응 결정 비트 및 적응 비트열은 비트스트림에 삽입되어 복호화기로 전송된다. 이 때, 적응 결정 비트는 별도의 처리 과정을 거쳐 비트스트림에 삽입될 수 있다. 이에 대해서는 추후 도 2 내지 7을 참조하여 상세히 설명하도록 한다.
본 발명에 따르면 대상 심볼들(대상 매크로 블록 또는 대상 VOP-Video Object Plane-에 속한 심볼들)의 값을 이용하여 후보 결정 비트들로부터 부호화할 결정 비트를 선정한다.
본 발명에 따른 결정 비트 산출 방법을 구체적으로 설명하면 다음과 같다. 우선, 소정의 단위(VOP, 매크로 블록 또는 블록 단위)로 부호화할 심볼들을 소정 범위(1 ~ n)의 후보 결정 비트들을 이용하여 부호화한 후, 압축 효율이 가장 좋은 결정 비트를 부호화할 결정 비트로 선정한다. 예를 들어, 1 내지 3의 값을 갖는 결정 비트들을 이용하여 VOP 단위로 부호화한다고 가정하면, 해당 VOP에 포함된 모든 심볼들을 후보 결정 비트인 1 내지 3을 이용하여 부호화한다. 이 때, 후보 결정 비트 1 내지 3를 이용하여 부호화된 VOP의 용량이 각각 3, 2, 1[Mbyte]라면, 결정 비트 3을 최종적으로 해당 VOP의 결정 비트로 선정한다. 전술한 방식에 따라 본 발명에 따르면 압축률이 가장 높은 결정 비트를 선정하여 이용할 수 있게 된다.
도 1는 본 발명의 일 실시예에 따른 결정 비트를 이용하는 부호화 장치의 구성도이다.
도 1를 참조하면, 본 발명의 일 실시예에 따른 결정 비트를 이용하는 부호화 장치(100)는 입력부(110), 적응 결정 비트 산출부(120), 결정 비트 산출부(130) 및 부호화부(140)를 포함한다.
입력부(110)는 외부로부터 입력 데이터를 입력 받아 부호화할 심볼들을 추출하여 출력한다. 이 때, 입력부(110)는 추출된 심볼들을 VOP 단위 및 매크로 블록 단위(또는 소정 크기의 블록 단위)로 구분한 구분 정보를 심볼과 함께 출력할 수 있다. 또한, 입력부(110)는 입력 데이터로부터 필드 정보를 추출하여 출력한다. 여기서, 필드 정보는 입력 데이터내의 필드의 종류(또는 유형)을 나타내는 정보이다. 즉 입력부(210)는 필드 정보, 구분 정보 및 심볼을 결정 비트 산출부(230) 및 부호화부(240)로 출력한다.
이 때, 입력 데이터는 mcbpc(Macroblock type & Coded block pattern for chorminance), cbpy(Coded block pattern for luminance), 모션 벡터(mv-x, mv-y) 및 DCT(DCT-luma, DCT-chroma) 필드 중 하나 이상을 포함할 수 있다. Mcbpc, cbpy, 모션 벡터, DCT 필드는 MPEG 표준에 따른 부호화/복호화 과정에서 사용되는 필드이다. 이는 당업자에게 자명한 사항이므로 그 상세한 설명은 생략하기로 한다.
적응 결정 비트 산출부(220)는 부호화부(240)의 요청 신호에 따라 특정 심볼에 대한 적응 결정 비트 및 적응 비트열을 산출하여 부호화부(240)로 출력한다. 여기서, 적응 결정 비트 및 적응 비트열을 산출하는 방법에 대해서는 표 2를 이용하여 상술하였으므로 그 상세한 설명은 생략하기로 한다.
물론, 적응 결정 비트 산출부(220)가 특정 심볼에 대한 적응 결정 비트 및 적응 비트열을 저장하고 있는 경우에는 별도의 산출 과정은 생략될 수도 있음은 당연하다. 예를 들어, 특정 심볼에 대한 적응 결정 비트 및 적응 비트열이 기저장되어 있는 경우, 부호화부(240)로부터 특정 심볼에 상응하는 요청 신호가 입력되면 적응 결정 비트 산출부(220)는 해당 심볼에 상응하여 기저장된 적응 결정 비트 및 적응 비트열을 추출하여 부호화부(240)로 출력할 수도 있다.
또한, 부호화 장치의 구현 방법에 따라, 각 심볼에 상응하는 적응 결정 비트 및 적응 비트열이 미리 산출되어 부호화부(240)에 저장될 수도 있다. 이와 같은 경우, 적응 결정 비트 산출부(220)는 부호화 장치(100)에서 생략될 수도 있음은 당연하다.
결정 비트 산출부(230)는 입력받은 심볼들을 VOP(또는 매크로 블록) 단위로 구분하여 결정 비트를 산출하여 부호화부(240)로 출력한다. 결정 비트의 구체적인 산출 과정은 전술한 바와 같다.
부호화부(240)는 적응 결정 비트 산출부(220) 및/또는 결정 비트 산출부(230)로부터 입력 받은 적응 결정 비트 또는 결정 비트를 이용하여 심볼을 부호화한다. 또한, 부호화부(240)는 입력부(210)를 통해 입력된 필드 정보에 따라 심볼을 각각 상이하게 부호화할 수 도 있다. 즉, 부호화부(240)는 입력된 필드 정보에 따라 복수개의 부호화 과정 중에서 어느 하나를 선택하여 심볼을 부호화할 수 있다. 이에 대해서는 이하 도 2 내지 도 6을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용한 부호화 과정을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 본 발명의 일 실시예에 따른 부호화 장치의 각각의 구성 요소에서 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다.
단계 210에서 부호화 장치(100)는 입력 데이터에서 필드 정보를 추출한다. 전술한 바와 같이, 필드 정보는 입력 데이터내의 필드의 종류(또는 유형)을 나타내는 정보이다.
단계 215에서 부호화 장치(100)는 추출된 필드 정보를 본 발명에 따른 부호화 방법에 따라 비트스트림에 삽입한다. 예를 들어, 부호화 장치(100)는 비트스트림의 헤더 부분에 필드 정보를 삽입할 수 있다.
단계 220에서 부호화 장치(100)는 추출된 필드 정보를 이용하여 현재 부호화를 수행하려는 필드(이하, 이해와 설명의 편의를 도모하기 위해 '대상 필드'라 칭하기로 함)가 DCT 필드인지 판단한다.
만일 대상 필드가 DCT 필드가 아니면, 단계 225에서 부호화 장치(100)는 적응 결정 비트 및 결정 비트를 산출하고, 이를 이용하여 대상 필드에 상응하는 필드의 심볼에 대해 부호화를 수행한다. 이에 대해서는 하기에서 도 3을 참조하여 보다 상세히 설명하기로 한다. 본 명세서에서 DCT 필드가 아닌 다른 필드는 예를 들어, mcbpc, cbpy, 모션 벡터 필드일 수 있다.
그러나 만일 대상 필드가 DCT 필드이면, 단계 230에서 부호화 장치(100)는 DCT 필드의 심볼에 상응하여 적응 결정 비트를 산출하고, 이를 이용하여 대상 필드의 심볼에 대해 부호화를 수행한다. 이에 대해서는 하기에서 도 4를 참조하여 보다 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 결정 비트 및 적응 결정 비트를 이용한 부호화 과정을 나타낸 순서도이다. 이하에서는 대상 필드가 DCT 필드가 아닌 경우 적응 결정 비트 및 결정 비트를 이용하여 입력 데이터를 부호화하는 방법에 대해 상세히 설명하기로 한다. 이하의 설명은 도 2의 단계 225의 일 실시예에 대한 상세 설명을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 부호화 장치(100)의 각각의 구성 요소에서 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다. 또한, 이하의 설명에서 입력 데이터에서 VOP 단위로 데이터를 구분 또는 추출하는 방법은 당업자에게는 자명한 사항이므로 이에 대한 설명은 생략한다. 이하에서 설명되는 부호화 방법은 mcbpc, cbpy 또는 모션 벡터 필드의 심볼들을 부호화하는데 이용될 수 있다.
우선, 부호화 장치(100)는 VOP의 결정 비트를 산출한다(305). 이 때, 결정 비트는 각 필드의 허프만 테이블의 인덱스를 대상으로 산출된다. 예를 들어, 부호화 장치(100)는 MPEG 표준의 VLC 테이블의 확률 정보를 이용하여 결정 비트를 산출할 수 있다. 여기서, 허프만 테이블은 허프만 부호화 방식에서 사용되는 테이블로서, 부호화할 심볼들의 빈도수에 따라 부호화될 비트열을 나열해놓은 테이블이다. 허프만 테이블은 당업자에게 자명한 내용인 바, 상세한 설명은 생략하기로 한다.
단계 310에서 부호화 장치(100)는 산출된 결정 비트를 임시 결정 비트로 설정하고, 비트스트림에 삽입한다. 이하, 본 명세서에서 임시 결정 비트는 적응 결정 비트를 지칭하는 다른 용어이다. 이에 따라 본 발명에 대한 설명에서 임시 결정 비트는 적응 결정 비트로 해석 또는/및 이해되어야함은 당연하다.
본 명세서에서 임시 결정 비트는 결정 비트를 저장하는 변수로 정의하기로 한다. 임시 결정 비트는 하기의 과정에서 부호화를 위해 이용된다.
단계 315에서, 부호화 장치(100)는 대상 매크로 블록, 상측 매크로 블록 및 좌측 매크로 블록의 심볼에 대한 결정 비트를 각각 산출한다.
본 명세서에서 대상 매크로 블록은 현재 부호화 과정이 수행되고 있는 매크로 블록을 지칭하며, 상측 매크로 블록는 대상 매크로 블록의 상측에 위치한 매크로 블록을 지칭하고, 좌측 매크로 블록은 대상 매크로 블록의 좌측에 위치한 매크로 블록을 지칭한다.
단계 320에서 부호화 장치(100)는 좌측 매크로 블록의 결정 비트와 상측 매크로 블록의 결정 비트를 비교하여 동일한지 여부를 판단한다.
이하, 본 명세서에서 매크로 블록의 결정 비트 및 매크로 블록의 심볼의 결정 비트는 동일한 의미로 이해되어야만 한다.
만일 동일한 것으로 결정되면, 단계 325에서 부호화 장치(100)에서 좌측 매크로 블록의 결정비트와 대상 매크로 블록의 결정 비트가 동일한지 여부를 판단한다.
만일 동일한 것으로 결정되면, 단계 330에서 부호화 장치(100)는 비트스트림에 제1 비트값(예를 들어, '1')을 삽입한다.
이어서 단계 335에서 부호화 장치(100)는 대상 매크로 블록의 결정 비트를 임시 결정 비트로 설정한다. 그리고, 부호화 장치(100)는 대상 매크로 블록의 결정 비트를 비트스트림에 삽입한다(335).
단계 325의 판단 결과 동일하지 않은 것으로 결정되면, 단계 340에서 부호화 장치(100)는 비트스트림에 제2 비트값('0')을 삽입한다.
단계 320의 판단 결과 동일하지 않은 것으로 결정되면, 단계 345에서 부호화 장치(100)는 좌측 매크로 블록의 결정 비트와 대상 매크로 블록의 결정 비트가 동일한지 여부를 판단한다.
만일 동일한 것으로 판단되면, 단계 340으로 진행한다.
그러나 만일 동일하지 않은 것으로 판단되면, 단계 350에서 부호화 장치(100)는 상측 매크로 블록의 결정 비트와 대상 매크로 블록의 결정 비트가 동일한지 여부를 판단한다.
만일 동일하지 않은 것으로 결정되면, 단계 355에서 부호화 장치(100)는 비트스트림에 제3 비트값(예를 들어,'11')을 삽입한다.
단계 360에서 부호화 장치(100)는 대상 매크로 블록의 결정 비트를 임시 결정 비트로 설정한다. 그리고, 부호화 장치(100)는 대상 매크로 블록의 결정 비트를 비트스트림에 삽입한다.
그러나 각 결정비트가 동일한 것으로 결정되면, 단계 365에서 부호화 장치(100)는 비트스트림에 제4 비트값(예를 들어,'10')을 삽입한다.
그리고, 단계 370에서 부호화 장치(100)는 임시 결정 비트의 비트값이 임계치(예를 들어, 3)이상인지 여부를 판단한다.
만일 임계치 이상이면, 단계 375에서 부호화 장치(100)는 임시 결정 비트를 이용하여 대상 매크로 블록의 심볼을 부호화한다.
예를 들어, 부호화 장치(100)는 임시 결정 비트를 적응 결정 비트로 간주하여 임시 결정 비트에 상응하는 적응 비트열을 산출하고, 이를 이용하여 해당 심볼을 부호화할 수 있다.
단계 380에서 부호화 장치(100)는 부호화된 비트열(즉, 적응 비트열)을 비트스트림에 삽입한다.
단계 370의 판단 결과 임계치 미만이면, 부호화 장치(100)는 대상 매크로 블록의 부호화 과정을 종료한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 부호화하는 것으로 설명하였으나, 부호화 장치는 단계 315 내지 단계 380의 과정을 각 프레임 또는 VOP의 모든 심볼이 부호화될 때까지 반복 수행할 수 있음은 당연하다.
이하, DCT 필드의 심볼들을 부호화하는 과정을 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 DCT 필드의 심볼들을 적응 결정 비트를 이용하여 부호화하는 과정을 나타낸 순서도이다. 이하에서는 도 2의 230의 일 실시예에 대한 상세 순서도이다. 이하에서 설명되는 각각의 단계는 본 발명에 따른 부호화 장치(100)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다.
단계 405에서 부호화 장치(100)는 대상 심볼에 대한 적응 결정 비트를 산출한다. 여기서, 대상 심볼은 DCT 필드의 심볼들 중에서 현재 부호화가 수행되는 심볼을 칭한다.
단계 410에서 부호화 장치(100)는 대상 심볼에 상응하여 적응 결정 비트를 비트스트림에 삽입한다.
단계 415에서 부호화 장치(100)는 적응 결정 비트를 이용하여 대상 심볼을 부호화하여 적응 비트열을 생성한다.
단계 420에서 부호화 장치(100)는 생성된 적응 비트열(즉, 부호화된 대상 심볼)을 비트스트림에 삽입한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 심볼을 부호화하는 것으로 설명하였으나, 부호화 장치(100)는 단계 410 내지 단계 420의 과정을 해당 프레임 또는 VOP의 모든 심볼이 부호화될 때까지 반복 수행할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 각 필드별로 결정 비트 및 적응 결정 비트를 이용하여 부호화하는 과정을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 부호화 장치(100)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다.
단계 510에서 부호화 장치(100)는 필드 정보를 비트스트림에 삽입한다(450).
예를 들어, 부호화 장치(100)는 입력 데이터에서 필드 정보를 추출한 후 해당 필드 정보를 비트스트림의 헤더 부분에 삽입할 수 있다. 이로 인해, 이후 각 심볼을 복호화하는 과정에서 필드 정보를 추출하여 이용할 수 있다.
단계 515에서 부호화 장치(100)는 추출된 필드 정보를 이용하여 현재 부호화되는 필드(이하, 이해와 설명의 편의를 도모하기 위해 '대상 필드'라 칭하기로 함)가 DCT 필드, 모션 벡터 필드 및 기타 필드 중 어느 것인지를 판단한다. 전술한 바와 같이, 필드 정보는 해당 필드에 대한 종류(또는 유형)을 나타내는 정보일 수 있다.
본 명세서에서는 모션 벡터 필드 및 DCT 필드를 제외한 나머지 필드를 이해와 설명의 편의를 도모하기 위해 기타 필드로 칭하기로 한다. 예를 들어, 기타 필드는 mcbpc, cbpy 필드일 수 있다.
만일 대상 필드가 기타 필드로 판단되면, 단계 530에서 부호화 장치(100)는 대상 필드에 상응하는 적응 결정 비트 및 결정 비트를 각각 산출한다. 그리고, 부호화 장치(100)는 산출된 적응 결정 비트 및 결정 비트를 이용하여 대상 필드의 심볼을 부호화할 수 있다. 적응 결정 비트 및 결정 비트를 이용하여 대상 필드의 심볼을 부호화하는 과정은 도 3의 대상 매크로 블록의 심볼을 부호화하는 과정과 동일하므로 중복되는 설명은 생략하기로 한다.
그러나 만일 대상 필드가 모션 벡터 필드로 판단되면, 단계 540에서 부호화 장치(100)는 대상 필드의 심볼에 대한 결정 비트를 산출하고, 산출된 결정 비트를 이용하여 대상 필드의 심볼을 부호화한다. 이에 대해서는 하기에서 도 6 내지 도 8을 참조하여 보다 상세히 설명하기로 한다.
그러나 만일 대상 필드가 DCT 필드이면, 단계 550에서 부호화 장치(100)는 대상 필드의 심볼에 대한 적응 결정 비트를 산출한다. 그리고, 부호화 장치(100)는 산출된 적응 결정 비트를 이용하여 대상 필드의 심볼을 부호화한다. 이는 도 4에서 전술한 바와 동일하므로 중복되는 설명은 생략하기로 한다.
도 6은 본 발명의 일 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화하는 과정을 나타낸 순서도이다. 이는 도 5의 단계 540의 일 실시예에 대한 상세 순서도이다. 이하에서 설명되는 각각의 단계는 부호화 장치(100)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다.
단계 610에서 부호화 장치(100)는 X축 모션 벡터(이하, 이해와 설명의 편의를 도모하기 위해 'MV-X'라 칭함) 또는 Y축 모션 벡터(이하, 이해와 설명의 편의를 도모하기 위해 'MV-Y'라 칭함) 필드의 대상 VOP에 대한 결정 비트를 산출한다. 예를 들어, 부호화 장치(100)는 대상 VOP에 상응하여 당해 대상 VOP에 속하는 심볼(즉, 모션 벡터)를 대상으로 결정 비트를 산출할 수 있다.
단계 615에서 부호화 장치(100)는 산출된 결정 비트를 비트스트림에 삽입한다.
단계 620에서 부호화 장치(100)는 산출된 결정 비트를 이용하여 현재 부호화되는 모션 벡터(이하에서는 이해와 설명의 편의를 도모하기 위해 '대상 모션 벡터'라 칭하기로 함)의 절대값을 부호화한다.
단계 625에서 부호화 장치(100)는 부호화된 절대값을 비트스트림에 삽입한다.
단계 630에서 부호화 장치(100)는 대상 모션 벡터가 '0'인지 여부를 판단한다.
만일 대상 모션 벡터가 0이면, 부호화 장치(100)는 대상 모션 벡터의 부호화를 종료한다.
그러나 만일 대상 모션 벡터가 '0'가 아닌 경우, 단계 635에서 부호화 장치(100)는 대상 모션 벡터의 사인 비트의 비트값을 비트스트림에 삽입한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 부호화하는 것으로 설명하였으나, 부호화 장치는 단계 610 내지 단계 635를 해당 프레임 또는 VOP의 모든 심볼이 부호화될 때까지 반복 수행할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화 과정을 나타낸 순서도이다. 이는 도 5의 단계 540의 다른 실시예에 대한 상세 순서도이다. 이하에서 설명되는 각각의 단계는 부호화 장치(100)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치로 통칭하여 설명하기로 한다.
단계 710에서 부호화 장치(100)는 모션 벡터(MV-X 또는 MV-Y) 필드의 대상 VOP에 대한 결정 비트를 산출한다. 이 때, 결정 비트는 각 필드의 허프만 테이블의 인덱스 또는 VOP에 속하는 심볼(즉, 모션 벡터)의 부호 및 소수점 이하의 값을 제외한 값을 대상으로 산출된다.
단계 715에서 부호화 장치(100)는 산출된 결정 비트를 비트스트림에 삽입한다.
단계 720에서 부호화 장치(100)는 대상 심볼(즉, 대상 모션 벡터)의 소수점 이하의 값을 제거하여 절대값을 산출한다.
단계 725에서 부호화 장치(100)는 산출된 결정 비트를 이용하여 산출된 절대값을 부호화한다.
단계 730에서 부호화 장치(100)는 부호화된 절대값을 비트스트림에 삽입한다.
단계 735에서 부호화 장치(100)는 산출된 절대값이 0인지 여부를 판단한다.
만일 산출된 절대값이 '0'이면, 부호화 장치(100)는 대상 심볼에 상응하여 부호 및 소수점 이하의 값이 존재하지 않음을 의미하므로 대상 심볼에 상응하는 부호화 과정을 종료한다.
그러나 만일 산출된 절대값이 '0'가 아니면, 단계 740에서 부호화 장치(100)는 대상 심볼의 사인 비트를 비트스트림에 삽입한다. 여기서, 사인 비트는 대상 심볼의 부호를 나타내는 비트값이다. 예를 들어, 대상 심볼이 음수이면 사인 비트는 '0'이고, 양수이면 사인 비트는 '1'일 수 있다.
단계 745에서 부호화 장치(100)는 대상 심볼(즉, 대상 모션 벡터)에 상응하여 제거된 소수점 이하의 값을 비트스트림에 삽입한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 부호화하는 것으로 설명하였으나, 부호화 장치는 단계 710 내지 단계 745는 해당 프레임 또는 VOP의 모든 심볼이 부호화될 때까지 반복 수행할 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화하는 과정을 나타낸 순서도이다. 이하에서 설명되는 각 단계는 도 5의 540의 또 다른 실시예에 대한 상세 순서도이다. 이하에서 설명되는 각각의 단계는 부호화 장치(100)의 각각의 내부 구성요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 부호화 장치(100)로 통칭하여 설명하기로 한다.
단계 810에서 부호화 장치(100)는 모션 벡터(MV-X 또는 MV-Y) 필드의 대상 VOP에 대한 결정 비트를 산출한다. 이 때, 결정 비트는 각 필드의 허프만 테이블의 인덱스 또는 VOP에 속하는 심볼(즉, 모션 벡터)의 부호 및 소수점 이하의 값을 제외한 값을 대상으로 산출된다.
단계 815에서 부호화 장치(100)는 산출한 결정 비트를 비트스트림에 삽입한다.
단계 820에서 부호화 장치(100)는 대상 모션 벡터에 대한 절대값을 산출한 후대상 모션 벡터의 절대값이 임계치(예를 들어, '3') 이하인지 여부를 판단한다.
만일 대상 모션 벡터의 절대값이 임계치 이하이면, 단계 825에서 부호화 장치(100)는 산출된 결정 비트를 이용하여 대상 모션 벡터의 절대값을 부호화한다.
단계 830에서 부호화 장치(100)는 부호화된 비트열(즉, 부호화된 절대값)을 비트스트림에 삽입한다.
단계 835에서 부호화 장치(100)는 대상 모션 벡터의 절대값이 '0'인지 여부를 판단한다.
만일 대상 모션 벡터의 절대값이 '0' 이면, 부호화 장치(100)는 대상 모션 벡터가 부호 및 소수점 이하의 값을 포함하고 있지 않은 것으로 인식하고 대상 모션 벡터의 부호화 과정을 종료한다.
그러나 만일 대상 모션 벡터의 절대값이 '0'이 아니면, 단계 840에서 부호화 장치(100)는 대상 모션 벡터의 사인 비트를 비트스트림에 삽입한다. 이 때, 사인 비트는 모션 벡터의 부호를 나타내는 비트값이다.
그리고, 단계 820의 판단 결과 대상 모션 벡터의 절대값이 임계치를 초과하면, 단계 845에서 부호화 장치(100)는 대상 모션 벡터의 소수점 이하를 제거한 후 절대값을 산출한다.
단계 850에서 부호화 장치(100)는 산출된 절대값을 결정 비트를 이용하여 부호화한다.
단계 855에서 부호화 장치(100)는 부호화된 비트열(즉, 소수점이 제거되어 산출된 절대값)을 비트스트림에 삽입한다.
단계 860에서 부호화 장치(100)는 대상 모션 벡터에 상응하여 산출된 절대값이 ' 0'인지 여부를 판단한다.
만일 산출된 절대값이 '0'이면, 부호화 장치(100)는 대상 모션 벡터가 부호 및 소수점 이하의 값을 포함하지 않은 것으로 인식하고 대상 모션 벡터의 부호화 과정을 종료한다.
그러나 만일 산출된 절대값이 '0'이 아니면, 단계 865에서 부호화 장치(100)는 대상 모션 벡터의 사인 비트를 비트스트림에 삽입한다.
단계 870에서 부호화 장치(100)는 대상 모션 벡터의 소수점 이하의 값을 비트스트림에 삽입한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 부호화하는 것으로 설명하였으나, 부호화 장치는 단계 810 내지 단계 870의 과정을 해당 프레임 또는 VOP의 모든 심볼이 부호화될 때까지 반복 수행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 장치의 구성도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 복호화 장치(900)는 입력부(910), 적응 결정 비트 산출부(920), 결정 비트 추출부(930) 및 복호화부(940)를 포함한다.
입력부(810)는 부호화된 비트스트림을 입력받아 미리 정해진 형식에 따라 필드 정보 및 각 필드별 부호화된 데이터를 추출하여 결정 비트 추출부(930) 및 복호화부(940)로 출력한다.
적응 결정 비트 산출부(820)는 복호화부(840)의 요청 신호에 따라 특정 필드에 상응하는 적응 결정 비트 및 적응 비트열을 산출한 후 해당 산출된 적응 결정 비트 및 적응 비트열에 상응하는 심볼을 산출하여 복호화부(940)로 출력한다. 여기서, 적응 결정 비트 및 적응 비트열을 산출하는 방법은 표 2를 이용하여 전술하였으므로 중복되는 설명은 생략하기로 한다. 물론, 적응 결정 비트 산출부(820)가 비트스트림에서 적응 결정 비트를 추출할 수도 있음은 당연하다.
또한, 적응 결정 비트 산출부(920)는 적응 결정 비트, 적응 비트열 및 심볼이 각각 미리 저장되어 있는 경우 복호화부(940)의 요청 신호에 따라 해당 적응 결정 비트, 적응 비트열 및 심볼을 추출하여 복호화부(940)로 출력할 수도 있다. 물론, 구현 방법에 따라, 복호화부(940)에 적응 결정 비트, 적응 비트열 및 심볼이 각각 저장되어 있는 경우에는 적응 결정 비트 산출부(920)는 복호화 장치(900)에서 제외될 수도 있음은 당연하다.
결정 비트 추출부(930)는 입력받은 부호화된 비트스트림에서 결정 비트를 추출하여 복호화부(940)로 출력한다. 또한, 결정 비트 추출부(930)는 입력받은 부호화 비트스트림을 이용하여 결정 비트를 산출할 수도 있다.
예를 들어, 대상 매크로 블록에 상응하는 상측 매크로 블록의 결정 비트 및 좌측 매크로 블록의 결정 비트는 입력받은 부호화된 비트스트림은 부호화된 비트스트림을 통해 산출된다. 여기서, 결정 비트를 산출하는 방법은 표 1을 이용하여 전술한 바와 동일하므로 이에 대한 별도의 설명은 생략하기로 한다.
복호화부(940)는 입력부(910)로부터 입력된 부호화된 비트스트림을 적응 결정 비트 또는 결정 비트를 이용하여 복호화한다. 복호화부(940)는 입력부(910)로부터 입력 받은 필드 정보에 따라 상이하게 부호화된 비트스트림을 복호화할 수 있다. 이에 대해서는 하기에서 관련 도면을 참조하여 상세히 설명하기로 한다.
도 10은 본 발명의 일 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용하여 복호화하는 과정을 나타낸 순서도이다. 이하, 도 2에서 설명된 부호화 방법으로 부호화된 비트스트림을 복호화하기 위한 방법을 설명하기로 한다. 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하여 설명하기로 한다.
단계 1010에서 복호화 장치(900)는 입력받은 부호화된 비트스트림에서 필드 정보를 추출한다.
단계 1015에서 복호화 장치(900)는 추출된 필드 정보를 이용하여 디코딩을 수행하는 필드(이하에서는 이해와 설명의 편의를 도모하기 위해 '대상 필드'라 칭하기로 함)가 DCT 필드인지 여부를 판단한다.
본 명세서에서는 DCT 필드 이외의 다른 필드들을 기타 필드로 통칭하기로 한다. 기타 필드는 예를 들어, mcbpc, cbpy, 모션 벡터 필드일 수 있다.
만일 대상 필드가 DCT 필드가 아닌 경우, 단계 1020에서 복호화 장치(900)는 적응 결정 비트 및 결정 비트를 이용하여 대상 필드에 상응하여 복호화를 수행한다. 이에 대해서는 하기에서 관련 도면을 참조하여 보다 상세히 설명하기로 한다.
그러나 만일 대상 필드가 DCT 필드이면, 단계 1025에서 복호화 장치(900)는 적응 결정 비트를 이용하여 대상 필드에 상응하여 부호화된 비트스트림을 심볼로 복호화한다. 이에 대해서는 하기에서 관련도면을 참조하여 보다 상세히 설명하기로 한다.
도 11은 본 발명의 일 실시예에 따른 결정 비트 및 적응 결정 비트를 이용한 복호화 과정을 나타낸 순서도이다. 도 11의 설명은 도 10의 단계 1020의 일 실시예를 상세히 설명한 순서도이다. 그리고, 도 11은 도 3에서 전술된 방법에 의해 부호화된 비트스트림을 복호화하기 위한 방법에 대한 설명이다. 또한, 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 기능 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하여 설명하기로 한다.
단계 1110에서 복호화 장치(900)는 입력받은 부호화된 비트스트림으로부터 VOP에 상응하는 결정 비트를 추출한다.
단계 1115에서 복호화 장치(900)는 상측 매크로 블록 및 좌측 매크로 블록의결정 비트를 각각 산출한다.
단계 1120에서 복호화 장치(900)는 산출된 좌측 매크로 블록의 결정 비트와 상측 매크로 블록의 결정 비트가 동일한지 여부를 판단한다.
만일 좌측 매크로 블록의 결정 비트와 상측 매크로 블록의 결정 비트가 동일하다면, 단계 1125에서 복호화 장치(900)는 부호화된 비트스트림으로부터 한비트(1비트)를 추출한다.
그리고, 단계 1130에서 복호화 장치(900)는 추출된 1비트의 비트값이 제5 비트값(예를 들어, '1')인지 여부를 판단한다.
만일 제5 비트값이면, 단계 1135에서 복호화 장치(900)는 부호화된 비트스트림으로부터 결정 비트를 추출하고, 추출한 결정 비트를 임시 결정 비트로 설정한다. 전술한 바와 같이 임시 결정 비트는 적응 결정 비트를 지칭하는 다른 표현으로 적응 결정 비트로 이해 및 해석되어야함은 당연하다.
그러나 만일 제5 비트값이 아니면, 단계 1140에서 복호화 장치(900)는 산출된상측 매크로 블록의 결정 비트를 임시 결정 비트로 설정한다.
그리고, 단계 1120의 판단 결과 좌측 매크로 블록의 결정 비트와 상측 매크로 블록의 결정 비트가 상이하면, 단계 1145에서 복호화 장치(900)는 부호화된 비트스트림으로부터 1비트를 추출한다.
단계 1150에서 복호화 장치(900)는 추출된 1비트의 비트값이 제6 비트값(예를 들어, '0')인지 여부를 판단한다.
만일 제6 비트값이면, 단계 1155에서 복호화 장치(900)는 좌측 매크로 블록의 결정 비트를 임시 결정 비트로 설정한다.
그러나 만일 제6 비트값이 아니면, 단계 1160에서 복호화 장치(900)는 부호화된 비트스트림에서 1비트를 추출한다.
이어서, 1165에서 복호화 장치(900)는 추출된 1비트가 제7 비트값(예를 들어, '0')인지 여부를 판단한다.
만일 제7 비트값이 아니면, 단계 1170에서 복호화 장치(900)는 부호화된 비트스트림으로부터 결정 비트를 추출하고, 추출된 결정 비트를 임시 결정 비트로 설정한다.
그러나 만일 제7 비트값이면, 단계 1175에서 복호화 장치(900)는 상측 매크로 블록의 결정 비트를 임시 결정 비트로 설정한다.
단계 1180에서 복호화 장치(900)는 임시 결정 비트의 비트값이 임계치(예를 들어, '3')이상인지 판단한다.
만일 임시 결정 비트가 임계치 이상이면, 단계 1185에서 복호화 장치(900)는 임시 결정 비트를 이용하여 대상 매크로 블록의 심볼을 복호화한다.
예를 들어, 복호화 장치(900)는 임시 결정 비트와 동일한 적응 결정 비트에 상응하는 적응 비트열을 산출할 수 있다. 그리고, 산출된 적응 비트열에 상응하는 심볼로 해당 비트열을 복호화할 수 있다.
그러나 만일 임시 결정 비트가 임계치 미만이면, 복호화 장치(900)는 해당 대상 매크로 블록의 심볼을 복호화하는 과정을 종료한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 복호화하는 것으로 설명하였으나, 부호화 장치는 단계 1110 내지 단계 1180을 해당 프레임 또는 VOP의 모든 심볼이 복호화될 때까지 반복 수행할 수 있다. 또한, 본 발명의 일 실시예에 따른 복호화 과정은 mcbpc, cbpy, MV-x, MV-y 필드의 심볼들을 부호화하기에 적합한 방식으로 부호화된 비트스트림을 복호화하기 위한 과정이다. 본 발명에 따르면, DCT 필드의 심볼은 별도의 부호화 과정을 통해 압축 효율을 높일 수 있다. 따라서 DCT 필드의 심볼을 복호화하는 별도의 과정이 필요하다. 이하 DCT 필드의 심볼들을 부호화하는 과정을 설명하도록 한다.
도 12는 본 발명의 일 실시예에 따른 적응 결정 비트를 이용하여 DCT 필드의 심볼들을 복호화하는 과정을 나타낸 순서도이다. 도 12는 도 10의 1025의 일 실시예를 상세히 설명한 순서도이다. 또한, 도 12는 도 4의 방법에 의해 부호화된 비트스트림을 복호화하기 위한 방법에 대한 설명이다. 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하기로 한다.
단계 1210에서 복호화 장치(900)는 입력받은 부호화된 비트스트림으로부터 적응 결정 비트를 추출한다.
단계 1215에서 복호화 장치(900)는 부호화된 비트스트림으로부터 부호화된 비트열(즉, 적응 비트열)을 추출한다.
단계 1220에서 복호화 장치(900)는 적응 결정 비트를 이용하여 적응 비트열을 심볼로 복호화한다(1015).
상술한 복호화 과정은 발명의 명확한 설명을 위해 하나의 심볼을 복호화하는 것으로 설명하였으나, 복호화 장치(900)는 단계 1210 내지 단계 1220을 해당 프레임 또는 VOP의 모든 심볼이 복호화될 때까지 반복 수행할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용하여 복호화하는 과정을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 각각 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하기로 한다.
단계1310에서 복호화 장치(900)는 입력받은 부호화된 비트스트림으로부터 필드 정보를 추출한다. 전술한 바와 같이, 필드 정보는 당해 필드의 종류(또는 유형)을 나타내는 정보일 수 있다.
단계 1315에서 복호화 장치(900)는 추출된 필드 정보를 이용하여 현재 복호화를 수행하는 필드(이하, 이해와 설명의 편의를 도모하기 위해 '대상 필드'라 칭하기로 함)가 DCT 필드, 모션 벡터 필드 및 기타 필드 중 어느 것인지 여부를 판단한다.
예를 들어, 기타 필드는 DCT 필드 및 모션 벡터 필드를 제외한 나머지 필드를 지칭한다. 예를 들어, 기타 필드는 mcbpc, cbpy 필드일 수 있다.
만일 대상 필드가 기타 필드이면, 단계 1320에서 복호화 장치(900)는 부호화된 비트스트림에서 적응 결정 비트 및 결정 비트를 추출한 후 해당 적응 결정 비트 및 결정 비트를 이용하여 대상 필드에 상응하는 부호화된 비트열을 추출하여 복호화한다. 복호화 과정에 대해서는 도 11에서 전술한 바와 동일하므로 이에 대한 중복되는 설명은 생략하기로 한다.
그러나 만일 대상 필드가 모션 벡터 필드이면, 단계 1325에서 복호화 장치(900)는 대상 필드에 상응하는 결정 비트를 추출하고, 해당 추출된 결정 비트를 이용하여 대상 필드에 상응하는 비트열을 복호화한다.
그러나 만일 대상 필드가 DCT 필드이면, 단계 1330에서 복호화 장치(900)는 대상 필드에 상응하는 적응 결정 비트를 추출하고, 추출된 적응 결정 비트를 이용하여 대상 필드에 상응하는 부호화된 비트열을 복호화한다. 적응 결정 비트를 이용하여 부호화된 데이터를 DCT 필드의 심볼로 복호화하는 과정은 도 12를 참조하여 상술한 복호화 과정과 동일하므로 상세한 설명은 생략하기로 한다.
도 14는 본 발명의 일 실시예에 따른 결정 비트를 이용하여 부호화된 데이터를 모션 벡터 필드의 심볼로 복호화하는 과정을 나타낸 순서도이다. 도 14는 도 13의 단계 1325의 일 실시예에 대한 상세 순서도이다. 도 14는 도 6을 참조하여 설명한 결정 비트를 이용하여 부호화된 비트스트림을 복호화하는 방법에 대한 설명이다. 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하여 설명하기로 한다.
단계 1410에서 복호화 장치(900)는 입력받은 부호화된 비트스트림으로부터 결정 비트를 추출한다.
단계 1415에서 복호화 장치(900)는 부호화된 비트스트림으로부터 추출된 결정 비트에 상응하는 부호화된 비트열을 추출한다.
단계 1420에서 복호화 장치(900)는 추출된 결정 비트를 이용하여 추출된 비트열을 복호화한다. 여기서, 복호화된 비트열은 심볼(즉, 모션 벡터의 절대값)일 수 있다.
단계 1425에서 복호화 장치(900)는 복호화된 비트열이 '0'인지 여부를 판단한다.
만일 복호화된 비트열이 '0'이면, 복호화 장치(900)는 해당 비트열에 상응하는 복호화 과정을 종료한다.
그러나 만일 복호화된 비트열이 '0'가 아니면, 단계 1430에서 복호화 장치(900)는 부호화된 비트스트림으로부터 사인 비트를 추출하고, 복호화된 비트열에 사인 비트를 붙여 최종 심볼(즉, 모션 벡터)를 복호화한다.
상술한 부호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 복호화하는 것으로 설명하였으나, 복호화 장치(900)는 단계 1410 내지 단계 1430을 해당 프레임 또는 VOP의 모든 심볼이 복호화될 때까지 반복 수행할 수 있다.
도 15는 본 발명의 다른 실시예에 따른 결정 비트를 이용하여 부호화된 비트스트림을 복호화하는 과정을 나타낸 순서도이다. 도 15는 도 13의 단계 1325의 다른 실시예에 따른 상세한 순서도이다. 또한, 도 15는 도 7을 참조하여 상술한 방법에 의해 부호화된 비트스트림을 복호화하는 방법에 대한 설명이다. 또한, 이하에서 설명되는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하여 설명하기로 한다. 이하에서는 하나의 매크로 블록에 포함된 심볼들을 복호화하는 것을 가정하여 설명하기로 한다.
단계 1510에서 복호화 장치(900)는 부호화된 비트스트림으로부터 결정 비트를 추출한다.
단계 1515에서 복호화 장치(900)는 부호화된 비트스트림으로부터 부호화된 비트열을 추출한다.
단계 1520에서 복호화 장치(900)는 추출된 결정 비트를 이용하여 추출된 비트열을 복호화한다. 여기서, 복호화된 비트열은 소수점 이하를 제거한 모션 벡터의 절대값일 수 있다.
단계 1525에서 복호화 장치(900)는 복호화된 비트열의 값이 '0'인지 여부를 판단한다.
만일 복호화된 비트열의 값이 '0'이면, 복호화 장치(900)는 복호화된 비트열을 심볼(즉, 모션 벡터)로 결정하여 복호화 과정을 종료한다. 예를 들어, 복호화된 비트열의 값이 '0'이면, 복호화 장치(900)는 모션 벡터가 부호 또는 소수점 이하의 값을 포함하지 않는 것으로 인식하며 복호화된 비트열을 심볼(즉, 모션 벡터)로서 출력하고 복호화 과정을 종료할 수 있다.
그러나 만일 복호화된 비트열의 값이 '0'가 아니면, 단계 1530에서 복호화 장치(900)는 부호화된 비트스트림으로부터 사인 비트를 추출한다.
그리고, 단계 1535에서 복호화 장치(900)는 부호화된 비트스트림으로부터 소수점 이하 비트열을 추출한다.
단계 1540에서 복호화 장치(900)는 복호화된 비트열에 소수점 이하의 비트열을 더하고, 사인 비트에 상응하는 부호를 붙여 심볼(즉, 모션 벡터)를 복원한다.
상술한 복호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 복호화하는 것으로 설명하였으나, 복호화 장치(900)는 단계 1510 내지 단계 1540을 해당 프레임 또는 VOP의 모든 심볼이 복호화될 때까지 반복 수행할 수 있다.
도 16은 본 발명의 또 다른 실시예에 따른 결정 비트를 부호화된 비트스트림을 심볼로 복호화하는 과정을 나타낸 순서도이다. 도 16은 도 13의 1325의 또 다른 일 실시예에 따른 상세 순서도이다. 이하, 도 16은 도 8을 참조하여 설명한 방법에 의해 부호화된 비트스트림을 복호화는 방법에 대해 상세히 설명하기로 한다. 또한, 이하에서 설명하는 각각의 단계는 복호화 장치(900)의 각각의 내부 구성 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 복호화 장치로 통칭하여 설명하기로 한다.
단계 1610에서 복호화 장치(900)는 입력받은 부호화된 비트스트림으로부터 결정 비트를 추출한다.
단계 1615에서 복호화 장치(900)는 부호화된 비트스트림에서 부호화된 비트열을 추출한다.
단계 1620에서 복호화 장치(900)는 추출된 결정 비트를 이용하여 부호화된 비트열을 복호한다. 여기서, 복호된 비트열은 소수점 이하의 값이 제거된 모션 벡터의 절대값일 수 있다.
단계 1625에서 복호화 장치(900)는 복호된 비트열의 값이 '3'이하인지 여부를 판단한다.
만일 복호된 비트열의 값이 '3'이하이면, 단계 1630에서 복호화 장치(900)는 복호된 비트열의 값이 '0'인지 여부를 판단한다.
만일 복호된 비트열의 값이 '0'이면, 복호화 장치(900)는 복호된 비트열이 부호 및 소수점 이하의 값을 포함하지 않는 모션 벡터인 것으로 판단하여 복호된 비트열을 심볼(즉, 모션 벡터)로서 출력하고 해당 복호된 비트열에 대한 복호화 과정을 종료한다.
그러나 만일 복호된 비트열의 값이 '0'이 아니면, 단계 1635에서 복호화 장치(900)는 부호화된 비트스트림에서 사인 비트를 추출한다. 그리고, 복호화 장치(900)는 추출된 사인 비트를 복호된 비트열에 붙여 심볼(즉, 모션 벡터)을 복원한다.
단계 1625의 판단 결과 복호된 비트열의 값이 '3'이하가 아니면, 단계 1640에서 복호화 장치(900)는 복호된 비트열의 값이 '0'인지 여부를 판단한다.
만일 복호된 비트열의 값이 '0'이면, 복호화 장치(900)는 복호된 비트열을 심볼(즉, 모션 벡터)로서 복원하고, 복호된 비트열에 대한 복호화 과정을 종료한다.
그러나 만일 복호된 비트열의 값이 '0'가 아니면, 단계 1645에서 복호화 장치(900)는 부호화된 비트스트림으로부터 사인 비트를 추출한다.
단계 1650에서 복호화 장치(900)는 부호화된 비트스트림에서 소수점 이하의 값을 나타내는 비트열을 추출한다.
그리고, 단계 1655에서 복호화 장치(900)는 추출된 소수점 이하의 값이 복호된 비트열에 더하고, 추출된 사인 비트에 상응하는 부호를 붙여 심볼(즉, 모션 벡터)를 복원한다.
상술한 복호화 과정은 발명의 명확한 설명을 위해 하나의 매크로 블록에 포함된 심볼들을 복호화하는 것으로 설명하였으나, 복호화 장치(900)는 단계 1610 내지 단계 1655를 해당 프레임 또는 VOP의 모든 심볼이 복호화될 때까지 반복 수행할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 결정 비트를 이용하는 부호화 장치의 구성도.
도 2는 본 발명의 일 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용한 부호화 과정을 나타낸 순서도.
도 3은 본 발명의 일 실시예에 따른 결정 비트 및 적응 결정 비트를 이용한 부호화 과정을 나타낸 순서도.
도 4는 본 발명의 일 실시예에 따른 DCT 필드의 심볼들을 적응 결정 비트를 이용하여 부호화하는 과정을 나타낸 순서도.
도 5는 본 발명의 다른 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용한 부호화 과정을 나타낸 순서도.
도 6은 본 발명의 일 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화하는 과정을 나타낸 순서도.
도 7은 본 발명의 다른 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화 과정을 나타낸 순서도.
도 8은 본 발명의 또 다른 실시예에 따른 결정 비트를 이용하여 모션 벡터 필드의 심볼을 부호화하는 과정을 나타낸 순서도.
도 9는 본 발명의 일 실시예에 따른 결정 비트를 이용한 복호화 장치의 구성도.
도 10은 본 발명의 일 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트 를 이용하여 복호화하는 과정을 나타낸 순서도.
도 11은 본 발명의 일 실시예에 따른 결정 비트 및 적응 결정 비트를 이용한 복호화 과정을 나타낸 순서도.
도 12는 본 발명의 일 실시예에 따른 적응 결정 비트를 이용하여 DCT 필드의 심볼들을 복호화하는 과정을 나타낸 순서도.
도 13은 본 발명의 다른 실시예에 따른 필드별로 결정 비트 및 적응 결정 비트를 이용하여 복호화하는 과정을 나타낸 순서도.
도 14는 본 발명의 일 실시예에 따른 결정 비트를 이용하여 부호화된 데이터를 모션 벡터 필드의 심볼로 복호화하는 과정을 나타낸 순서도.
도 15는 본 발명의 다른 실시예에 따른 결정 비트를 이용하여 부호화된 데이터를 모션 벡터 필드의 심볼로 복호화하는 과정을 나타낸 순서도.
도 16은 본 발명의 또 다른 실시예에 따른 결정 비트를 이용하여 부호화된 데이터를 모션 벡터 필드의 심볼로 복호화하는 과정을 나타낸 순서도

Claims (38)

  1. 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 적응 결정 비트 산출부;
    소정의 필드 별로 결정 비트를 산출하는 결정 비트 산출부; 및
    대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 부호화부를 포함하는 부호화 장치.
  2. 제1 항에 있어서,
    상기 적응 비트열은 상기 적응 결정 비트를 이용하여 상기 입력 데이터를 부호화한 비트열이고,
    상기 적응 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 길이를 나타내는 비트이고,
    상기 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 길이를 나타내는 비트인 것을 특징으로 하는 부호화 장치.
  3. 제1 항에 있어서,
    결정 비트 산출부는,
    소정의 후보 결정 비트들(1~n) 중 압축 효율이 가장 높은 결정 비트를 결정 비트로 선정하는 것을 특징으로 하는 부호화 장치.
  4. 제1 항에 있어서,
    적응 결정 비트 산출부는,
    소정의 후보 결정 비트들(1~n) 중 압축 효율이 가장 높은 결정 비트를 적응 결정 비트로 선정하는 것을 특징으로 하는 부호화 장치.
  5. 제1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 mcbpc 필드 또는 cbpy 필드 인경우, 상기 적응 결정 비트 및 상기 결정 비트를 이용하여 상기 입력 데이터를 부호화하는 것을 특징으로 하는 부호화 장치.
  6. 제1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 DCT 필드일 경우, 상기 적응 결정 비트를 이용하여 상기 입력 데이터를 부호화하는 것을 특징으로 하는 부호화 장치.
  7. 제 1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값을 상기 결정 비트를 이용하여 부호화하고,
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트를 비트스트림에 삽입하는 것을 특징으로 하는 부호화 장치.
  8. 제1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값의 버림값을 상기 결정 비트를 이용하여 부호화하고,
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트 및 소수점 이하의 값을 상기 비트스트림에 삽입하되,
    상기 버림값은 상기 절대값의 소수점 이하를 버림한 값인 것을 특징으로 하는 부호화 장치.
  9. 제 1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값에 따라 상기 절대값 또는 상기 절대값의 버림값을 상기 결정 비트를 이용하여 부호화하고,
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트 및 소수점 이하의 값 중 하나 이상을 상기 비트스트림에 삽입하되,
    상기 버림값은 상기 절대값의 소수점 이하를 버림한 값인 것을 특징으로 하는 부호화 장치.
  10. 제1 항에 있어서,
    상기 부호화부는,
    상기 대상 필드가 기타 필드일 경우, 대상 매크로 블록, 상측 매크로 블록 및 좌측 매크로 블록에 상응하는 상기 결정 비트 사이의 동일 여부에 따라 상기 대상 매크로 블록의 결정 비트 또는 VOP의 결정 비트와 동일한 적응 결정 비트를 이용하여 상기 입력 데이터를 부호화하는 것을 특징으로 하는 부호화 장치.
  11. 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계;
    소정의 필드 별로 결정 비트를 산출하는 단계; 및
    대상 필드의 종류에 따라 상기 결정 비트 및 상기 적응 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 단계를 포함하는 부호화 방법.
  12. 제11 항에 있어서,
    상기 적응 비트열은 상기 적응 결정 비트를 이용하여 상기 입력 데이터를 부호화한 비트열이고,
    상기 적응 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 나타내는 비트이며,
    상기 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 길이를 나타내는 비트인 것을 특징으로 하는 부호화 방법.
  13. 제11 항에 있어서,
    상기 결정 비트를 산출하는 단계는,
    소정의 후보 결정 비트들(1~n) 중 압축 효율이 가장 높은 결정 비트를 결정 비트로 선정하는 것을 특징으로 하는 부호화 방법.
  14. 제11 항에 있어서,
    상기 적응 결정 비트를 산출하는 단계는,
    소정의 후보 결정 비트들(1~n) 중 압축 효율이 가장 높은 결정 비트를 결정 비트로 선정하는 것을 특징으로 하는 부호화 방법.
  15. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 mcbpc 또는 cbpy 필드인 경우, 상기 적응 결정 비트 및 상기 결정 비트를 이용하여 상기 입력 데이터를 부호화하는 단계인 것을 특징으로 하는 부호화 방법.
  16. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 DCT 필드일 경우, 상기 적응 결정 비트를 이용하여 상기 입력 데이터 중 DCT 필드의 데이터를 부호화하는 단계인 것을 특징으로 하는 부호화 방법
  17. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값을 상기 결정 비트를 이용하여 부호화하는 단계; 및
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트를 비트스트림에 삽입하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  18. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값의 버림값을 상기 결정 비트를 이용하여 부호화하는 단계; 및
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트 및 소수점 이하의 값을 비트스트림에 삽입하는 단계를 포함하되,
    상기 버림값은 상기 절대값을 소수점 이하의 값을 버림한 값인 것을 특징으로 하는 부호화 방법.
  19. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 입력 데이터 중 모션 벡터 필드 데이터의 절대값에 따라 상기 절대값 또는 상기 절대값의 버림값을 상기 결정 비트를 이용하여 부호화하는 단계; 및
    상기 모션 벡터 필드 데이터의 부호를 나타내는 사인 비트 및 소수점 이하의 값 중 하나 이상을 비트스트림에 삽입하는 단계를 포함하되,
    상기 버림값은 상기 절대값을 소수점 이하의 값을 버림한 값인 하는 것을 특징으로 하는 부호화 방법.
  20. 제11 항에 있어서,
    입력 데이터를 부호화하는 단계는,
    상기 대상 필드가 mcbpc 필드, cbpy 필드 및 모션 벡터 필드 중 어느 하나일 경우,
    대상 매크로 블록, 상측 매크로 블록 및 좌측 매크로 블록에 상응하는 각 결정 비트 사이의 동일 여부를 판단하는 단계; 및
    상기 동일 여부에 따라 대상 매크로 블록의 결정 비트 또는 VOP의 결정 비트를 이용하여 상기 입력 데이터를 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  21. 입력 데이터를 부호화할 수 있는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계;
    소정의 필드 별로 결정 비트를 산출하는 단계; 및
    대상 필드의 종류에 따라 상기 결정 비트 및 상기 적응 결정 비트 중 하나 이상을 이용하여 입력 데이터를 부호화하는 단계를 수행하는 프로그램이 기록된 기록매체.
  22. 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 적응 결정 비트 산출부;
    소정의 필드 별로 결정 비트를 입력받은 비트스트림으로부터 추출하는 결정 비트 추출부; 및
    대상 필드의 종류에 따라 상기 적응 결정 비트 또는 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 복호화부를 포함하는 복호화 장치.
  23. 제22 항에 있어서,
    상기 적응 비트열은 상기 적응 결정 비트를 이용하여
    상기 비트스트림을 복호호하상기 입력 데이터를 부호화한 비트열이고,
    상기 적응 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 길이를 나타내는 비트이며,
    상기 결정 비트는 상기 입력 데이터를 부호화하기 위한 단위 비트열의 길이를 나타내는 비트인 것을 특징으로 하는 복호화 장치.
  24. 제22 항에 있어서,
    상기 비트스트림으로부터 필드 정보를 추출하는 입력부를 더 포함하되,
    상기 복호화부는 상기 필드 정보에 따라 상이하게 상기 비트스트림을 복호화하며,
    상기 필드 정보는 상기 비트스트림에 포함된 각 필드의 종류를 나타내는 정보인 것을 특징으로 하는 복호화 장치.
  25. 제22 항에 있어서,
    상기 복호화부는,
    상기 대상 필드가 mcbpc 필드, cbpy 필드 및 모션 벡터 필드 중 어느 하나인 경우,
    상측 매크로 블록과 좌측 매크로 블록에 상응하는 상기 결정 비트의 동일 여부에 따라 VOP에 대한 결정 비트, 상측 매크로 블록의 결정 비트 또는 좌측 매크로 블록의 결정 비트 중 어느 하나와 동일한 적응 결정 비트를 이용하여 비트스트림을 복호화하는 것을 특징으로 하는 복호화 장치.
  26. 제22 항에 있어서,
    상기 복호화부는
    상기 대상 필드가 DCT 필드일 경우, 적응 결정 비트를 이용하여 상기 비트스트림 중 DCT 필드에 대한 비트열을 복호화하는 것을 특징으로 하는 복호화 장치.
  27. 제22 항에 있어서,
    상기 복호화부는
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 대한 비트열을 모션 벡터의 절대값으로 복호화하고,
    상기 비트스트림에서 사인 비트를 추출하여 상기 추출된 사인 비트에 따른 부호를 상기 모션 벡터의 절대값에 붙여 모션 벡터를 복원하는 것을 특징으로 하는 복호화 장치.
  28. 제22 항에 있어서,
    상기 복호화부는
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 대한 비트열을 복호화하며,
    소수점 이하의 값을 상기 복호화된 비트열의 값과 더하여 모션 벡터의 절대값을 산출하고,
    사인 비트에 따른 부호를 상기 모션 벡터의 절대값에 붙여서 모션 벡터를 복원하되,
    상기 소수점 이하의 값 및 상기 사인 비트는 비트스트림으로부터 추출되는 것을 특징으로 하는 복호화 장치.
  29. 제22 항에 있어서,
    상기 복호화부는
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 상응하는 비트열을 복호화하며,
    상기 복호화된 비트열의 분석 결과에 따라 상기 복호화된 비트열 및 소수점 이하의 값 중 하나 이상을 이용하여 모션 벡터의 절대값을 산출하고,
    상기 산출된 모션 벡터의 절대값에 사인 비트에 따른 부호를 붙여 모션 벡터를 산출하되,
    상기 소수점 이하의 값 및 상기 사인 비트는 비트스트림으로부터 추출되는 것을 특징으로 하는 복호화 장치.
  30. 심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계;
    소정의 필드 별로 결정 비트를 비트스트림으로부터 추출하는 단계; 및
    대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 단계를 포함하는 복호화 방법.
  31. 제30 항에 있어서,
    상기 적응 비트열은 상기 적응 결정 비트를 이용하여 입력 데이터를 부호화한 비트열이며,
    상기 적응 결정 비트는 상기 입력 데이터를 부호화한 단위 비트열의 길이를 나타내는 비트이고,
    상기 결정 비트는 상기 입력 데이터를 부호화한 단위 비트열의 길이를 나타내는 비트인 것을 특징으로 하는 복호화 방법.
  32. 제30 항에 있어서,
    상기 비트스트림을 복호화하는 단계는,
    상기 비트스트림으로부터 필드 정보를 추출하는 단계;
    상기 필드 정보에 따라 상기 비트스트림을 상이하게 복호화하는 단계를 포함하되,
    상기 필드 정보는 상기 부호화된 데이터가 속한 필드를 나타내는 것을 특징으로 하는 복호화 방법.
  33. 제30 항에 있어서,
    상기 비트스트림을 복호화하는 단계는,
    상기 대상 필드가 mcbpc 필드, cbpy 필드 및 모션 벡터 필드 중 어느 하나인 경우,
    상측 매크로 블록과 좌측 매크로 블록에 상응하는 상기 결정 비트의 동일 여부를 산출하는 단계; 및
    상기 동일 여부에 따라 VOP에 대한 결정 비트, 상측 매크로 블록의 결정 비트 또는 좌측 매크로 블록의 결정 비트 중 어느 하나를 이용하여 상기 비트스트림을 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  34. 제30 항에 있어서,
    상기 비트스트림을 복호화하는 단계는,
    상기 대상 필드가 DCT 필드일 경우, 적응 결정 비트를 이용하여 상기 비트스트림 중 DCT 필드에 대한 비트열을 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  35. 제30 항에 있어서,
    상기 비트스트림을 복호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우,
    상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 대한 비트열을 모션 벡터의 절대값으로 복호화하는 단계; 및
    상기 비트스트림에서 사인 비트를 추출하고, 상기 추출된 사인 비트에 따른 부호를 상기 모션 벡터의 절대값에 붙여 모션 벡터를 복원하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  36. 제30 항에 있어서,
    상기 비트스트림을 복호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우,
    상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 대한 비트열을 복호화하는 단계;
    소수점 이하의 값을 상기 복호화된 비트열의 값의 더하여 모션 벡터의 절대값을 산출하는 단계; 및
    사인 비트에 따른 부호를 상기 모션 벡터의 절대값에 붙여 모션 벡터를 복원하는 단계를 포함하되,
    상기 소수점 이하의 값 및 상기 사인 비트는 비트스트림으로부터 추출되는 것을 특징으로 하는 복호화 방법.
  37. 제30 항에 있어서,
    상기 단계 (c)는,
    상기 비트스트림을 복호화하는 단계는,
    상기 대상 필드가 모션 벡터 필드일 경우, 상기 결정 비트를 이용하여 상기 비트스트림 중에서 상기 모션 벡터 필드에 상응하는 비트열을 복호화하는 단계;
    상기 복호화된 비트열의 분석 결과에 따라 상기 복호화된 비트열 및 소수점 이하의 값 중 하나 이상을 이용하여 모션 벡터의 절대값을 산출하는 단계; 및
    상기 산출된 모션 벡터의 절대값에 사인 비트에 따른 부호를 붙여 모션 벡터 를 산출하는 단계를 포함하되,
    상기 소수점 이하의 값 및 상기 사인 비트는 비트스트림으로부터 추출되는 것을 특징으로 하는 복호화 방법.
  38. 비트스트림을 복호화 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    심볼 별로 적응 결정 비트 및 적응 비트열을 산출하는 단계;
    소정의 필드 별로 결정 비트를 비트스트림으로부터 추출하는 단계; 및
    대상 필드의 종류에 따라 상기 적응 결정 비트 및 상기 결정 비트 중 하나 이상을 이용하여 상기 비트스트림을 복호화하는 단계를 수행하는 프로그램이 기록된 기록매체.
KR1020080037856A 2007-07-18 2008-04-23 결정 비트를 이용한 부호화/복호화 방법 및 장치 KR100988010B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1020080037856A KR100988010B1 (ko) 2008-04-23 2008-04-23 결정 비트를 이용한 부호화/복호화 방법 및 장치
US12/669,770 US8411745B2 (en) 2007-07-18 2008-07-18 Method and apparatus for coding and decoding using bit-precision
EP10152392A EP2187645A3 (en) 2007-07-18 2008-07-18 Adaptive bit-precision entropy coding
EP08778887A EP2172028A4 (en) 2007-07-18 2008-07-18 METHOD AND APPARATUS FOR ENCODING AND DECODING USING BIT PRECISION
PCT/KR2008/004232 WO2009011558A2 (en) 2007-07-18 2008-07-18 Method and apparatus for coding and decoding using bit-precision
EP10152387A EP2187643A3 (en) 2007-07-18 2008-07-18 Adaptive bit-precision entropy coding
EP10152390A EP2187644A3 (en) 2007-07-18 2008-07-18 Adaptive bit-precision entropy coding
US12/694,245 US8675734B2 (en) 2007-07-18 2010-01-26 Method and apparatus for coding and decoding using bit-precision
US12/694,242 US8009066B2 (en) 2007-07-18 2010-01-26 Method and apparatus for coding and decoding using bit-precision
US12/694,248 US8009067B2 (en) 2007-07-18 2010-01-26 Method and apparatus for coding and decoding using bit-precision

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080037856A KR100988010B1 (ko) 2008-04-23 2008-04-23 결정 비트를 이용한 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090112139A true KR20090112139A (ko) 2009-10-28
KR100988010B1 KR100988010B1 (ko) 2010-10-18

Family

ID=41553356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080037856A KR100988010B1 (ko) 2007-07-18 2008-04-23 결정 비트를 이용한 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100988010B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100908117B1 (ko) * 2002-12-16 2009-07-16 삼성전자주식회사 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
KR20080010980A (ko) * 2006-07-28 2008-01-31 엘지전자 주식회사 부호화/복호화 방법 및 장치.

Also Published As

Publication number Publication date
KR100988010B1 (ko) 2010-10-18

Similar Documents

Publication Publication Date Title
CN106170921B (zh) 涉及符号压缩的数据的源编码和解码方法及装置
Yang et al. Fractal curves to improve the reversible data embedding for VQ-indexes based on locally adaptive coding
KR100775872B1 (ko) LASeR 이진 표현의 포인트 시퀀스 부호화/복호화 방법및 장치
KR20110050456A (ko) 압축된 비디오에서 구문 요소의 cabac/avc 준수 워터마킹
KR20160123302A (ko) 데이터의 소스-인코딩 및 디코딩 디바이스 및 방법
Saravanan et al. Enhancing efficiency of huffman coding using Lempel Ziv coding for image compression
TW201415418A (zh) 使用誤差平面編碼的數據壓縮方法及裝置
CN105409129B (zh) 编码器设备、解码器设备和方法
CN101657973B (zh) 采用位精度的编码装置和编码方法
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
US8009067B2 (en) Method and apparatus for coding and decoding using bit-precision
KR100988010B1 (ko) 결정 비트를 이용한 부호화/복호화 방법 및 장치
CN104113394B (zh) 通信调制信号的压缩及解压方法
KR100944542B1 (ko) 예측 결정 비트를 이용한 부호화/복호화 방법 및 장치
KR100960008B1 (ko) 결정 적응 비트를 이용한 부호화/복호화 방법 및 장치
US20070031054A1 (en) Encoding DCT coordinates
CN111669590A (zh) 用于嵌入式图像编解码器的基于子块的熵译码
CN104867496A (zh) 一种基于mdct量化系数的小值区的aac音频隐写和提取方法
CN109462763B (zh) 一种视频水印处理方法和系统
Chang et al. Very efficient variable-length codes for the lossless compression of VQ indices
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
US20160323603A1 (en) Method and apparatus for performing an arithmetic coding for data symbols
CN108391134B (zh) 熵编码器、熵译码器及对应地熵编码方法和熵译码方法
US10455247B2 (en) Method and apparatus for performing arithmetic coding on basis of concatenated ROM-RAM table
Woo et al. Improving JPEG-LS Performance Using Location Information

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
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: 20131002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee