KR20130070618A - 트리 구조를 이용한 부호화/복호화 방법 및 장치 - Google Patents

트리 구조를 이용한 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20130070618A
KR20130070618A KR1020130056076A KR20130056076A KR20130070618A KR 20130070618 A KR20130070618 A KR 20130070618A KR 1020130056076 A KR1020130056076 A KR 1020130056076A KR 20130056076 A KR20130056076 A KR 20130056076A KR 20130070618 A KR20130070618 A KR 20130070618A
Authority
KR
South Korea
Prior art keywords
information
node
value
layer
encoded
Prior art date
Application number
KR1020130056076A
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 KR1020130056076A priority Critical patent/KR20130070618A/ko
Publication of KR20130070618A publication Critical patent/KR20130070618A/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 트리 구조를 이용한 부호화/복호화 방법 및 장치에 관한 것이다. 본 발명은 영상에 대해 부호화하고자 하는 정보를 부호화하는 방법에 있어서, 영상 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하는 단계 및 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법을 제공한다. 본 발명에 의하면, 영상에 대한 다양한 정보를 트리 구조를 이용하여 부호화하고 부호화된 데이터를 복호화함으로써, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시킬 수 있다.

Description

트리 구조를 이용한 부호화/복호화 방법 및 장치{Coding Method and Apparatus by Using Tree Structure}
본 발명은 트리 구조를 이용한 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상에 대한 다양한 정보를 트리 구조를 이용하여 부호화/복호화함으로써, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시키기 위한 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
동영상 데이터를 압축하는 기술로는 현재 H.261, H.263, MPEG-2, MPEG-4 등이 있다. 이러한 기존의 동영상 압축 기술은 각 영상을 휘도 성분의 16x16 크기의 화소들과 색차 성분의 8x8 크기의 화소들의 사각 영역으로 이루어진 고정된 크기의 매크로블록(Macroblock)들로 나누어 부호화한다. 각 매크로블록의 모든 휘도 성분(Luma Component)과 색차 성분(Chroma Component)들은 공간적으로나 시간적으로 예측되고, 예측 잔여(Predected Residual)는 변환(Transform) 및 양자화(Quantization), 엔트로피 부호화(Entropy Coding) 등이 수행되어 압축된다.
H.264/AVC 압축 표준에 따른 부호화 장치는 각 매크로블록을 16x16 크기, 8x8 크기, 4x4 크기의 더 작은 블록으로 분할하여 인트라 예측 부호화(Intra Prediction Enoding)할 수 있으며, 16x16 화소 블록에 대해서는 4 가지의 예측 모드 중 하나를 사용하고, 8x8 화소 블록과 4x4 화소 블록에 대해서는 9 가지의 예측 모드 중 하나를 사용하여 인트라 예측 부호화한다. 인터 예측 부호화(Inter Prediction Encoding)의 경우, 각 매크로블록은 16x16 크기, 16x8 크기, 8x16 크기, 8x8 크기, 8x4 크기, 4x8 크기, 4x4 화소 블록으로 분할되어 인터 예측 부호화될 수 있다. 변환은 8x8 크기 또는 4x4 화소 블록 단위로 적용되고, 변환 계수(Transform Coefficient)의 양자화는 스칼라(Scalar) 양자화가 사용된다. 이와 같이, 영상 부호화 장치는 영상을 인트라 예측 부호화 또는 인터 예측 부호화함에 따라 부호화하고자 하는 원래의 대상인 영상에 대한 정보뿐만 아니라 인트라 예측 부호화와 인터 예측 부호화에 이용되는 다양한 정보를 부호화해야 한다.
한편, 최근 4Kx2K 영상과 같은 고해상도 영상의 압축의 필요성이 대두되고 있으나, 큰 크기의 고해상도 영상을 효율적으로 압축하는 기술은 개발되지 않은 실정이다. 하지만, 영상의 크기가 커지고 큰 영상을 분할하여 부호화하는 분할 단위가 커질수록 영상 그 자체의 정보뿐만 아니라 영상을 인트라 예측 부호화와 인터 예측 부호화하는 데 이용되는 정보들이 많아지며, 그로 인해 영상의 압축 효율이 저하되는 문제점이 있다. 따라서, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시키는 기술의 개발이 필요한 실정이다.
전술한 문제점을 해결하고 기술의 개발의 요구에 부응하기 위해 본 발명은, 영상에 대한 다양한 정보를 트리 구조를 이용하여 부호화하고 부호화된 데이터를 복호화함으로써, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명은, 영상에 대해 부호화하고자하는 정보를 부호화하는 장치에 있어서, 영상 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 그룹화된 영역 내의 부호화하고자하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하며, 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 트리 부호화기 및 레이어의 최대 개수에 대한 정보, 그룹화되는 영역의 개수에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 부가 정보 부호화기를 포함하는 것을 특징으로 하는 부호화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 비트스트림을 복호화하여 정보를 복원하는 장치에 있어서, 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 복원하는 부가 정보 복호화기 및 부가 정보를 이용하여 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 복원하고, 복원되는 차이값과 상위 레이어의 노드값 또는 기 설정된 기준에 따라 결정되는 값 간의 차이값을 더하여 레이어별 노드값을 복원하며, 최하위 레이어의 노드값을 복호화하고자 하는 정보로서 복원하는 트리 복호화기를 포함하는 것을 특징으로 하는 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 영상에 대해 부호화하고자 하는 정보를 부호화하는 장치에 있어서, 영상 정보를 가지는 소정의 영역들을 동일한 정보를 가지는 영역끼리 그룹화하고 레이어별 노드마다 노드가 분할되는지 여부에 따라 분할 여부를 나타내는 플래그와 노드값 중 하나 이상을 부호화하는 트리 부호화기 및 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화하는 부가 정보 부호화기를 포함하는 것을 특징으로 하는 부호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 비트스트림을 복호화하여 정보를 복원하는 장치에 있어서, 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하는 부가 정보 복호화기 및 부가 정보를 기초로 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 복원된 플래그에 따라 레이어별 노드의 노드값을 복원하여 정보를 복원하는 트리 복호화기를 포함하는 것을 특징으로 하는 복호화 장치를 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 트리구조를 이용하여 영상 정보를 부호화하는 방법에 있어서, 각 레이어는 적어도 하나의 노드를 포함하고, 각 노드는 하위 레이어의 노드로 분할되거나 또는 분할되지 않는 트리 구조를 형성하는 단계; 각 노드가 하위 레이어의 노드로 분할되는지 여부에 따라 분할 여부를 나타내는 플래그를 부호화하는 단계; 및 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법을 제공한다.
또한, 본 발명의 또 다른 목적에 의하면, 트리 구조를 이용하여 영상 정보를 복원하는 방법에 있어서, 트리 구조를 구성하는 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하는 단계; 및 부가 정보를 기초로 각 레이어에 포함된 각 노드의 분할 여부를 나타내는 플래그를 복원하고 복원된 플래그에 따라 레이어별 노드의 노드값을 복원하는 단계를 포함하는 것을 특징으로 하는 복호화 방법을 제공한다.
이러한 본 발명에 따르면, 영상에 대한 다양한 정보를 트리 구조를 이용하여 부호화하고 부호화된 데이터를 복호화함으로써, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시킬 수 있다.
도 1은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 장치를 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 제1 실시예에 따라 트리 구조를 이용하여 부호화하고자 하는 정보를 나타낸 예시도,
도 3은 본 발명의 제1 실시예에 따라 레이어별 결정되는 영역의 정보를 태그 트리로 나타낸 예시도,
도 4는 본 발명의 제1 실시예에 따라 트리 구조를 이용하여 부호화된 비트를 나타낸 예시도,
도 5는 본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 방법을 설명하기 위한 순서도,
도 6은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 장치를 간략하게 나타낸 블록 구성도,
도 7은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 방법을 설명하기 위한 순서도,
도 8은 본 발명의 제2 실시예에 따른 트리 구조를 이용하여 부호화 장치를 간략하게 나타낸 블록 구성도,
도 9는 본 발명의 제2 실시예에 따른 트리 구조 구조를 나타낸 예시도,
도 10은 본 발명의 제2 실시예에 따라 트리 구조로 표현된 정보가 부호화된 결과를 나타낸 예시도,
도 11은 본 발명의 제2 실시예에 따라 노드를 하위 계층으로 분할하는 다른 방식을 나타낸 예시도,
도 12 및 도 13은 영역의 정보가 다른 방식으로 분포된 경우 그룹화되는 형태를 나타낸 예시도,
도 14는 본 발명의 제2 실시예에 따른 트리 구조를 이용한 부호화 방법을 설명하기 위한 순서도,
도 15는 본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 장치를 간략하게 나타낸 블록 구성도,
도 16은 본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 트리 구조를 이용한 부호화/복호화 방법 및 장치를 상세하게 설명한다.
본 발명의 실시예에서는 영상을 부호화하거나 복호화할 때, 영상에 대해 부호화하고자 하는 정보를 트리 구조를 이용하여 부호화함으로써, 부호화 효율을 향상시킨다.
본 발명의 실시예에서 부호화하고자 하는 정보는 가변 크기의 매크로블록 크기 및 타입(Macroblock Type) 정보, 예측 및 변환을 위한 서브블록의 크기 및 타입을 나타내는 파티션 정보(Partition Information), 인트라 예측 정보, 움직임 벡터(Motion Vector), 움직임 벡터의 예측 방향(Prediction Direction), 최적의 움직임 벡터 예측 후보(Motion Vector Prediction Candidate), 임의 크기 영역의 최적의 보간 필터(Interpolation Filter), 화질 개선 필터 사용 유무, 참조 영상의 번호(Reference Picture Index), 양자화 매트릭스 번호(Quantization Matrix Index), 최적의 움직임 벡터 정밀도(Motion Vector Precision) 및 변환의 크기 정보(Transform Size Information), 영상의 화소 정보(Pixel Information), 소정 블록 내 0이 아닌 변환계수가 있는지 여부는 나타내는 정보(Coded Block Information) 또는 계수 정보(Coefficient Information) 등과 같이 영상의 영상 신호 정보나 영상 신호를 부호화하는 데 이용되는 다양한 정보가 될 수도 있다.
또한, 소정의 영역은 가변 크기의 매크로블록이 될 수도 있고, 64x64 화소 크기의 블록, 32x32 화소 크기의 화소 블록, 16x16 화소 크기의 블록, 16x32 화소 크기의 블록, 4x16 화소 크기의 블록 등과 같이 다양한 크기의 블록일 수도 있으며, 움직임 벡터가 결정되는 블록과 같은 다양한 형태와 크기의 영역일 수 있다.
본 발명의 실시예에서 부호화 및 복호화는 엔트로피 부호화와 엔트로피 복호화에 적용될 수 있지만, 반드시 이에 한정되지 않고 다른 다양한 부호화 복호화에도 적용될 수도 있다.
도 1은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 장치(100)는 트리 부호화기(110) 및 부가 정보 부호화기(120)를 포함하여 구성될 수 있다.
트리 부호화기(110)는 영상에 대해 부호화하고자 하는 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 반복하여 생성하며, 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화한다.
여기서, 레이어별 노드값이란 레이어별로 그룹화된 영역의 정보의 값을 말한다. 예를 들어 최하위 레이어에서는 소정의 영역의 정보의 값이 될 수 있으며, 최하위 레이어의 상위 레이어에서는 소정의 영역들이 몇 개로 그룹화된 영역의 정보의 값이 될 수 있다. 그룹화된 영역의 정보의 값은 그룹화된 영역 내에 포함되는 소정의 영역들의 정보의 값들 중 최소값 또는 최대값으로 결정될 수 있다. 또한, 기 설정된 기준에 따라 결정되는 값은 이전 영역 또는 주위 영역 중에서 지금까지 부호화된 영역에서 가장 발생 확률이 높은 값이 될 수 있지만, 반드시 이에 한정되지 않고 다양한 기준에 따라 결정되는 값이 될 수도 있다.
이때, 트리 부호화기(110)는 단항 코드(Unary Code), 트런케이티드 단항 코드(Truncated Unary Code) 및 익스포넨셜 골룸 코드(Exp-Golomb Code) 등과 같은 다양한 이진 부호화(Binary Coding) 방법을 이용하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 부호화할 수 있다. 또한, 트리 부호화기(120)는 단항 코드, 트런케이티드 단항 코드, 익스포넨셜 골룸 코드 등과 같은 이진 부호화 방법으로 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 이진화한 후, 주위의 레이어 또는 상위 레이어의 노드값을 기초로 부호화하고자 하는 레이어의 노드값에 대한 부호화를 위한 확률 모델을 결정하거나 각 레이어마다 확률 모델을 달리하여 이진 산술 부호화(Binary Arithmetic Coding)할 수도 있다.
또한, 트리 부호화기(110)는 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵한다. 즉, 트리 부호화기(120)는 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는 경우, 어느 레이어의 어느 노드값이 부호화하고자 하는 정보가 가지는 최대값이면 해당 레이어의 노드값을 부호화하고 그 하위 레이어의 노드값들은 모두 같은 값을 가진다고 가정하여 부호화하지 않는다. 반대로, 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵한다. 즉, 트리 부호화기(110)는 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하는 경우, 어느 레이어의 어느 노드값이 부호화하고자 하는 정보가 가지는 최소값이면 해당 레이어의 노드값을 부호화하고 그 하위 레이어의 노드값들은 모두 같은 값을 가진다고 가정하여 부호화하지 않는다.
또한, 트리 부호화기(110)는 부호화하고자 하는 정보의 발생 확률에 따라 부호화를 위해 부호화하고자 하는 정보에 할당되는 부호 번호(Code Number)를 변경하여, 발생 확률에 따라 작은 부호 번호 또는 큰 부호 번호를 할당할 수 있다. 이때, 부호화하고자 하는 정보의 발생 확률은 주위의 소정의 영역의 정보의 발생 확률 또는 부호화하고자 하는 정보가 포함되는 전체 또는 일부의 영역 내에서 이제까지 부호화된 영역의 정보의 발생 확률 등과 같은 다양한 발생 확률을 이용하여 계산될 수 있다.
트리 부호화기(110)는 최상위 레이어의 노드값을 부호화하는 경우, 최상위 레이어의 상위 레이어가 없으므로 최상위 레이어의 상위 레이어의 노드값을 소정의 값으로 설정하고, 최상위 레이어의 노드값과 설정된 소정의 값 간의 차이값을 부호화할 수 있다. 여기서, 최상위 레이어의 상위 레이어의 노드값으로서 설정되는 소정의 값은 부호화하고자 하는 정보가 포함되는 전체 또는 일부의 영역에서 이제까지 부호화되면서 가장 발생 확률이 높은 정보의 값, 미리 설정된 값, 주위의 소정의 영역의 정보의 값들 중에서 가장 발생 확률이 높은 값 등과 같이 다양한 값으로 설정될 수 있다.
부가 정보 부호화기(110)는 제1 실시예에 따른 트리 구조를 이용하여 소정의 영역의 정보를 부호화하는 데 이용되는 부가 정보를 부호화한다. 여기서, 부가 정보란 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보 등과 같은 정보가 될 수 있다. 이와 같이 부호화된 부가 정보는 비트스트림의 시퀀스 헤더, 픽처 헤더, 슬라이스 헤더 등 소정의 부호화 단위의 헤더에 포함될 수 있다.
이하에서는 도 2 내지 도 4를 통해 트리 구조를 이용하여 부호화하고자 하는 정보를 부호화하는 과정에 대해 상세히 설명한다.
도 2는 본 발명의 제1 실시예에 따라 트리 구조를 이용하여 부호화하고자 하는 정보와 각 정보에 할당된 부호 번호를 나타낸 예시도이다.
도 2에서는 영상의 매크로블록이 64x64 화소 크기의 블록이고 매크로블록이 8x16 화소 크기의 서브블록으로 분할되어 인터 예측 부호화되는 경우, 각 8x16 화소 크기의 서브블록별로 결정된 움직임 벡터의 정밀도를 예시적으로 나타내었다. 이 경우, 부호화하고자 하는 정보는 소정의 영역에 대한 움직임 벡터 정밀도가 되며, 소정의 영역은 8x16 화소 크기의 서브블록이 된다.
부호화하고자 하는 데이터의 값을 그대로 이용하여 부호화할 수도 있으며 부호화하고자 하는 데이터에 부호번호를 할당하여 부호화할 수도 있다. 부호 번호를 할당하는 방법은 데이터의 발생 확률에 따라 다양하게 변경될 수 있으며, 도 2의 실시예에서는 1/2 정밀도에 대해 부호 번호 1을, 1/4 정밀도에 대해 부호 번호 2를, 1/8 정밀도에 대해 부호 번호 3을 각각 할당한 예를 나타내었다.본 발명의 제1 실시예에 따른 부호화 장치(100)는 도 2에 도시한 각 움직임 벡터의 정밀도에 부호 번호를 할당하고 도 3에 도시한 바와 같이 트리 구조를 이용하여 부호화하기 위해 소정의 영역을 소정의 개수로 그룹화하고 그룹화된 영역의 정보를 그룹화된 영역 내에 포함된 정보를 기초로 결정하는 과정을 레이어별로 반복하여 레이어별 노드값을 결정할 수 있다.
도 3은 본 발명의 제1 실시예에 따라 레이어별 결정되는 영역의 정보를 태그 트리로 나타낸 예시도이다.
영상 부호화 장치(100)는 도 2에 도시한 바와 같은 부호화하고자 하는 정보를 트리 구조를 이용하여 부호화하기 위해, 4개의 8x16 화소 크기의 서브블록을 모아 그룹화하고 그룹화된 영역의 정보는 각 그룹화된 영역 내에 포함되는 정보들의 최소값으로 결정하는 과정을 최상위 레이어까지 반복하여 도 3과 같이 트리 구조의 구조를 결정한다.
이후, 영상 부호화 장치(100)는 트리 구조를 기초로 정보를 부호화하는 데 이용되는 부가 정보로서, 트리 구조의 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보, 레이어별 그룹화된 영역의 정보를 하위 레이어의 영역의 정보들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보 등을 부호화한다. 다만, 최하위 레이어의 영역의 크기에 대한 정보 대신 그룹화되는 영역의 개수에 대한 정보가 부가 정보에 포함되어 부호화될 수 있다. 도 3에서, 부가 정보인 트리 구조의 레이어의 최대 개수는 4개이고, 최하위 레이어의 영역의 크기는 8x16 화소 크기이며, 레이어별 그룹화된 영역의 정보는 하위 레이어의 영역의 정보들의 최소값이다. 이때, 최하위 레이어의 영역의 크기를 부가 정보로서 부호화하는 대신 그룹화되는 영역의 개수인 4개가 부호화 정보로서 부호화될 수도 있다.
도 3을 참조하면, 레이어 3의 첫 번째 4개의 영역들의 부호 번호의 최소값은 정밀도 1/2을 의미하는 부호번호 1이므로 레이어 2의 첫 번째 영역의 정보의 값은 정밀도 1/2을 의미하는 부호번호 1이 된다. 이와 같은 방법으로 레이어 3으로부터 레이어 0까지 레이어별로 영역을 그룹화하고 그룹화된 영역 내에 포함된 영역의 정보들의 최소값을 그룹화된 영역의 정보의 값으로 결정하는 과정을 거쳐 도 3과 같은 트리의 구조가 결정된다.
부호화 장치(100)는 도 3과 같은 트리의 구조가 결정되면, 상위 레이어에서 하위 레이어로 부호 비트를 생성하여 부호화한다. 또한, 부호화 장치(100)는 부호화할 정보의 값의 최대값을 알고 있으므로, 트런케이티드 단항 코드를 이용하여 이진화 비트열을 생성할 수도 있다.
이때 각 레이어의 노드를 부호화 하는 방법은 상위노드값과의 차이값을 부호화하는데 차이값을 부호화하는 방법은 차이값만큼의 이진비트 '0'을 부호화하고 끝에 이진비트 1을 부호화한다. 만약 현재 부호화할 노드값이 상위노드값과 차이가 없을 때는 이진비트 '1'을 부호화한다.
좀 더 상세하게, 각 노드값을 부호화하는 방법은 다음의 설명하는 (1)~(3)의 경우를 제외하고 부호화하려는 현재노드와 상위노드값과의 차이값을 이진비트 '0'과 '1'을 이용하여 부호화한다. 차이값만의 개수만큼 이진비트 '0'을 부호화하고 끝에 이진비트 1을 부호화한다. 만약 현재 부호화할 노드값이 상위노드값과 차이가 없을 때는 이진비트 '1'을 부호화한다(반대로 차이값의 개수만큼 '1'을 부호화하고 차이가 없을 때 '0'을 부호화할 수도 있다).
(1) 각 노드값을 부호화할 때 상위노드값이 부호화할 데이터가 가질수 있는 최대값인 경우 하위노드들은 상위노드 값보다 큰 값을 가질 수 없으므로 부호화하지 않는다. 즉, 하위노드들은 모두 상위노드의 부호 번호와 같은 값을 가진다.
(2) 차이값을 부호화하는 경우 현재 노드의 값이 부호화할 데이터의 값 또는 부호번호가 가질수 있는 최대값인 경우, 상위노드와의 차이값만큼 이진 비트 '0'을 부호화하고 끝에 현재 노드 부호화의 종료를 나타내는 '1'을 부호화하지 않는다. 예를 들어 부호화할 데이터가 가질 수 있는 최대값이 3이고 상위노드의 값이 1, 현재 부호화대상 노드의 값이 3인 경우, 이진비트 '00'을 부호화한다.
(3) 같은 상위노드를 가지는 노드들 중 마지막 노드값을 부호화할 때 마지막 노드를 제외한 노드들의 값이 상위노드의 값보다 모두 큰 경우 마지막 노드값은 부호화하지 않는다.
최상위 노드를 부호화할때는 부호화할 데이터 또는 부호번호가 가질수 있는 최소값과의 차이값을 위에 설명한 이진비트 0과 1을 사용하여 부호화한다. 또한 가장 상위노드 값을 부호화하는 또 다른 방법으로 발생확률이 가장 높은 데이터 또는 부호 번호와의 차이값을 부호화할 수도 있다.
도 4는 본 발명의 제1 실시예에 따라 트리 구조를 이용하여 도 2의 움직임 벡터의 정밀도를 부호화된 비트를 나타낸 예시도이다.
도 4에서는 도 2에 도시한 영역들의 정보들을 트리 구조를 이용하여 부호화하여 생성된 비트들을 해당 영역들과 대응하여 나타내었다. 이하에서는 도 4를 참조하여 도 2에 도시한 영역의 정보들을 도 3에 도시한 트리 구조를 이용하여 부호화하는 과정을 설명한다. 후술하는 부호화 과정 설명에서 노드값은 부호 번호를 의미한다.
영역 (0,0)의 경우, 최상위 레이어인 레이어 0에서 상위 레이어는 없으므로, (만약 1/2 정밀도가 가장 높은 발생 확률을 가진다고 가정하면) 상위 레이어의 노드값이 1(정밀도 1/2)로 설정되어 최상위 레이어의 노드값과 그 상위 레이어의 노드값 간의 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 레이어 1에서 (0,0)의 노드값은 1(정밀도 1/2)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 그 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 레이어 2에서 (0,0)의 노드값은 1(정밀도 1/2)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 그 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 레이어 3에서 (0,0)의 노드값은 1(정밀도 1/2)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 그 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 따라서, 도 1에 도시한 영역들 중 (0,0) 영역의 정보를 부호화한 이진 비트열은 1111이 된다.
영역 (0,1)의 경우, 레이어 0, 레이어 1, 레이어 2의 노드값은 영역 (0,0)의 노드값을 부호화하는 과정에서 이미 부호화되었으므로 부호화되지 않고, 레이어 3의 노드값만이 부호화된다. 레이어 3에서 (0,1)의 노드값은 2(정밀도 1/4)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 부호 번호간의 차이값은 1이 되고 1을 이진 비트열로 나타내면 01이 된다. 따라서, 도 2에 도시한 영역들 중 (0,1) 영역의 정보를 부호화한 이진 비트열은 01이 된다.
영역 (0,4)의 경우, 레이어 0의 노드값은 영역 (0,0)의 노드값을 부호화하는 과정에서 이미 부호화되었으므로 부호화되지 않고, 레이어 1, 레이어 2 및 레이어 3의 노드값만이 부호화된다. 레이어 1에서 (0,1)의 노드값은 1(정밀도 1/2)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 그 차이값은 1이 되고 1을 이진 비트열로 나타내면 01이 된다. 레이어 2에서 (0,2)의 노드값은 2(정밀도 1/4)이고 그 상위 레이어의 노드값은 2(정밀도 1/4)이므로, 그 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 레이어 3에서 (0,4)의 노드값은 2(정밀도 1/4)이고 그 상위 레이어의 노드값은 2(정밀도 1/4)이므로, 그 차이값은 0이 되고 0을 이진 비트열로 나타내면 1이 된다. 따라서, 도 1에 도시한 영역들 중 (0,4) 영역의 정보를 부호화한 이진 비트열은 0111이 된다.
영역 (2,0)의 경우, 레이어 0와 레이어 1의 노드값은 이미 부호화되었으므로 부호화되지 않고, 레이어 2 및 레이어 3의 노드값만이 부호화된다. 레이어 2에서 (1,0)의 노드값은 3(정밀도 1/8)이고 그 상위 레이어의 노드값은 1(정밀도 1/2)이므로, 그 차이값은 최대값인 2가 되고 해당 노드값이 3(정밀도 1/8)이므로 트런케이티드 단항 코드로 이진 비트열을 생성하면 00이 된다. 최대값이 나왔으므로 해당 노드의 하위 레이어의 노드값들은 부호화하지 않는다.
영역 (2,6)의 경우도 마찬가지로, 레이어 0와 레이어 1의 노드값은 이미 부호화되었으므로 부호화되지 않고, 레이어 2 및 레이어 3의 노드값만이 부호화된다. 레이어 2에서 (0,1)의 노드값은 3(정밀도 1/8)이고 상위 레이어의 노드값은 2(정밀도 1/4)이므로, 그 차이값은 1이 되고 해당 노드값이 3(정밀도 1/8)이므로 트런케이티드 단항 코드로 이진 비트열을 만들면 0이 된다. 이때도 최대값이 나왔으므로 하위 레이어의 노드값들은 부호화되지 않는다.
부호화 장치(100)는 산술 부호화를 하는 경우, 생성된 이진 비트열을 주위 영역의 정보 또는 이진 비트열을 이용하여 확률 모델을 생성하고 산술 부호화한다. 부호화 장치(100)는 산술 부호화하지 않는 경우, 생성된 이진 비트열을 비트스트림에 포함시킨다.
이와 같은 방식으로 도 2에서 예시적으로 나타낸 정보를 트리 구조를 이용하여 부호화하면 비트스트림이 생성된다.
도 2 내지 도 4를 통해서는 1/2 정밀도에 부호 번호 1가, 1/4 정밀도에 부호 번호 2가, 1/8 해상도에 부호 번호 3이 할당되어 부호화되는 것으로 예를 들었지만, 주위 영역의 정보 또는 이미 부호화된 정보의 발생 확률 등을 이용하여 부호 번호가 정밀도마다 다르게 할당될 수도 있을 것이다.
도 5는 본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제1 실시예에 따른 트리 구조를 이용한 부호화 방법에 따르면, 부호화 장치(100)는 영상에 대해 부호화하고자 하는 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하며(S510), 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 부호화하며(S520), 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화한다(S530).
여기서, 부호화 장치(100)는 단계 S530를 반드시 수행해야 하는 것은 아니며, 구현 방식이나 필요에 따라 선택적으로 수행할 수 있다. 예를 들어, 부호화 장치(100)와 후술할 복호화 장치가 서로 간에 레이어의 최대 개수, 최하위 레이어의 영역의 크기 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부 중 하나 이상을 약속하여 미리 설정한 경우에는 미리 약속하여 설정한 정보에 대해서는 부호화하지 않고 미리 약속하지 않은 정보에 대해서만 부호화할 수 있다. 만약 모든 정보가 미리 약속되어 설정된 경우에는 부가 정보는 부호화되지 않을 수 있다.
단계 S530에서, 부호화 장치(100)는 최하위 레이어의 영역의 크기에 대한 정보 대신 그룹화되는 영역의 개수에 대한 정보를 부호화 정보에 포함시켜 부호화할 수 있다. 이는, 레이어의 최대 개수가 결정된 경우 그룹화되는 영역의 개수가 결정되는 최하위 레이어의 영역의 크기도 결정될 수 있기 때문이다.
단계 S520에서, 부호화 장치(100)는 이진 부호화 방법을 이용하여 차이값을 부호화하거나 이진 부호화 방법을 이용하여 차이값을 부호화한 후 확률 모델을 변경하여 이진 산술 부호화할 수 있다. 이때, 확률 모델은 주위의 레이어 또는 상위 레이어의 노드값을 기초로 결정되거나 각 레이어마다 다르게 변경될 수 있다.
단계 S520에서, 부호화 장치(100)는 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는 경우, 노드값이 최대값인 노드의 하위 레이어의 노드값에 대한 부호화를 스킵할 수 있으며, 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값에 대한 부호화를 스킵할 수 있다.
단계 S520에서, 부호화 장치(100)는 부호화하고자 하는 정보의 발생 확률에 따라 부호화를 위해 부호화하고자 하는 정보에 할당되는 부호 번호를 변경할 수 있다.
단계 S520에서, 부호화 장치(100)는 최상위 레이어의 노드값을 부호화하는 경우, 최상위 레이어의 상위 레이어의 노드값을 소정의 값으로 설정하고, 최상위 레이어의 노드값과 설정된 소정의 값 간의 차이값을 부호화할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 장치(600)는 부가 정보 복호화기(610) 및 트리 복호화기(620)를 포함하여 구성될 수 있다.
부가 정보 복호화기(610)는 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 복원한다. 이와 같이 복원되는 부가 정보는 트리 복호화기(620)가 트리 구조를 복원하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 복원하는 데 이용된다. 이때, 부가 정보 복호화기(610)는 비트스트림의 헤더에서 부가 정보가 부호화된 데이터를 추출하고 복호화하여 부가 정보를 복원하는데, 비트스트림의 헤더는 매크로블록 헤더, 슬라이스 헤더, 픽처 헤더, 시퀀스 헤더 등일 수 있다. 기 설정된 기준에 따라 결정되는 값은 이전 영역 또는 주위 영역 중에서 지금까지 복호화된 영역에서 가장 발생 확률이 높은 값이 될 수 있지만, 반드시 이에 한정되지 않고 다양한 기준에 따라 결정되는 값이 될 수도 있다.
다만, 부호화 정보 복호화기(610)는 반드시 복호화 장치(600)에 포함되어야 하는 것은 아니며, 구현 방식이나 필요에 따라 선택적으로 포함될 수 있다. 예를 들어, 부호화 장치(100)와 복호화 장치(600)가 서로 레이어의 최대 개수, 최하위 레이어의 영역의 크기 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부 등에 대해 미리 약속한 경우, 부호화 장치(100)는 부가 정보를 부호화하지 않을 수 있으며 그에 따라 복호화 장치(600)도 비트스트림을 복호화하여 부가 정보를 복원하지 않고 기 설정된 부가 정보를 이용하여 트리 구조를 복원할 수 있다.
트리 복호화기(620)는 부가 정보를 이용하여 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 복원하고, 복원되는 차이값과 상위 레이어의 노드값을 더하여 레이어별 노드값을 복원하며, 최하위 레이어의 노드값을 복호화하고자 하는 정보로서 복원한다. 즉, 트리 복호화기(620)는 기 설정되거나 부가 정보 복호화기(610)에 의해 복원되는 부가 정보를 이용하여 개선된 트리 구조를 복원하고, 개선된 트리 구조를 기초로 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 복원하고 복원되는 차이값과 상위 레이어의 노드값을 더하여 레이어별 노드값을 복원한다.
이때, 트리 복호화기(620)는 단항 코드, 트런케이티드 단항 코드 및 익스포넨셜 골룸 코드 등과 같은 다양한 이진 복호화(Binary Decoding) 방법을 이용하여 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어와의 차이값을 복원할 수 있다. 또한, 트리 복호화기(620)는 단항 코드, 트런케이티드 단항 코드 및 익스포넨셜 골룸 코드 등과 같은 다양한 이진 복호화 방법을 이용하여 비트스트림을 복호화한 후, 주위 레이어 또는 상위 레이어의 노드값으로 복호화하고자 하는 레이어의 확률 모델을 결정하여 이진 산술 복호화(Binary Arithmetic Decoding)할 수도 있다. 또한, 트리 복호화기(620)는 각 레이어마다 확률 모델을 다르게 변경하여 비트스트림을 산술 복호화할 수도 있다.
트리 복호화기(620)는 부가 정보에 의해 부호화 장치(100)에서 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하였음이 식별되는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값에 대해서는 모두 같은 값으로 가정하여 복호화하지 않고 스킵한다. 반대로, 트리 복호화기(620)는 부가 정보에 의해 부호화 장치(100)에서 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하였음이 식별되는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값에 대해서는 모두 같은 값으로 가정하여 복호화하지 않고 스킵한다.
트리 복호화기(620)는 복호화하고자 하는 정보의 발생 확률에 따라 부호 번호(Code Num)를 다르게 변경할 수도 있다. 즉, 복호화하고자 하는 정보의 발생 확률에 따라 작은 부호 번호 또는 큰 부호 번호를 할당할 수 있다. 복호화하고자 하는 정보의 발생 확률은 복호화하고자 하는 정보를 가지는 주위의 임의의 영역의 정보의 발생 확률 또는 복호화하고자 하는 정보를 가지는 영역 이전에 이미 복호화되어 복원된 정보의 발생 확률 등 다양한 방법으로 계산될 수 있다.
트리 복호화기(620)는 최상위 레이어의 노드값과 그 상위 레이어의 노드값 간의 차이값을 복원할 때, 최상위 레이어의 상위 레이어가 없으므로 최상위 레이어의 상위 레이어의 노드값을 임의의 값으로 가정하고 차이값만을 복원한다. 여기서, 임의의 값은 이제까지 복호화하면서 가장 발생 확률이 높은 값, 미리 지정된 값, 주위의 임의 영역의 정보의 값 중 가장 높은 발생 확률을 가지는 값 등 어떠한 값이 될 수도 있다.
이하에서는 도 2 내지 도 4를 통해 본 발명의 제1 실시예에 따라 트리 구조를 이용하여 비트스트림을 복호화하여 정보를 복원하는 과정을 상세히 설명한다.
복호화 장치(600)는 비트스트림의 픽처 헤더, 슬라이스 헤더, 매크로블록 헤더 등으로부터 부가 정보가 부호화된 데이터를 추출하고 복호화하여 부가 정보를 복원한다. 또한, 복호화 장치(600)는 기 설정된 부가 정보를 이용할 수도 있다. 부가 정보에는 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보 등이 포함되어 있는데, 복호화 장치(600)는 이러한 부가 정보 중 레이어의 최대 개수와 최하위 레이어의 영역의 크기에 대한 정보를 이용하여 도 3에 도시한 바와 같은 트리 구조를 복원할 수 있다. 이때, 복호화 장치(600)는 최하위 레이어의 영역의 크기에 대한 정보 대신 그룹화되는 영역의 개수에 대한 정보를 이용하여 트리 구조를 복원할 수도 있으며, 최하위 레이어의 영역의 크기에 대한 정보와 그룹화되는 영역의 개수에 대한 정보를 모두 이용하여 트리 구조를 복원할 수도 있다.
도 3에 도시한 바와 같은 트리 구조가 복원되면, 복호화 장치(600)는 복원된 트리 구조를 이용하여 도 4를 통해 전술한 바와 같이 레이어별 노드값과 상위 레이어의 노드값 간의 차이값이 부호화된 비트스트림을 복호화한다.
복호화 장치(600)는 복호화할 정보의 최대값을 이미 알고 있으므로, 트런케이티드 단항 코드를 이용하여 이진화 비트열을 복호화한다. 이때, 1/2 정밀도의 부호 번호는 1, 1/4 정밀도의 부호 번호는 2, 1/8 정밀도의 부호 번호는 3인 것으로 가정할 수 있다. 각 정밀도에 따른 부호 번호는 각 정밀도의 발생 확률에 따라 다르게 변경될 수 있다. 만약, 복호화 장치(600)가 이진 비트열을 산술 복호화하는 경우에는 주위 영역의 정보 또는 이진 비트열을 이용하여 확률 모델을 생성하고 다음 비트스트림으로부터 산술 복호화하여 이진 비트열을 생성한다. 복호화 장치(600)가 이진 비트열을 산술 복호화하지 않는 경우에는 비트스트림을 복호화하여 이진 비트열을 생성한다.
도 4를 참조하면, 영역 (0,0)의 경우, 최상위 레이어인 레이어 0에서, 상위 레이어는 없으므로 상위 레이어의 노드값으로 1/2 정밀도(가장 높은 발생 확률을 가지는 것으로 가정함)로 가정하면, 이진 비트열 1을 복호화하면 최상위 레이어의 노드값과 그 상위 레이어의 노드값의 차이값은 0이 된다. 레이어 1에서, 이진 비트열 1을 복호화하면 그 상위 레이어의 노드값과의 차이값은 0이 된다. 레이어 2에서, 이진 비트열 1을 복호화하면 그 상위 레이어의 노드값과의 차이값은 0이 된다. 레이어 3에서, 이진 비트열 1을 복호화하면 그 상위 레이어의 노드값과의 차이값은 0이 된다. 각 레이어별 노드값과 그 상위 레이어의 노드값의 차이값에 각 상위 레이어의 노드값을 더하면 각 레이어의 노드값은 1, 즉, 1/2 정밀도가 된다. 따라서, 영역 (0,0)의 복원되는 정보는 1/2 정밀도가 된다.
영역 (0,1)의 경우, 레이어 0, 레이어 1, 레이어 2에 대해서는 영역 (0,0)에 대해서 정보를 복원할 때 이미 복호화되었으므로 추가로 복호화되지 않고, 레이어 3에서 이진 비트열 01을 복호화하면 그 상위 레이어의 노드값과의 차이값이 1이 된다. 따라서, 영역 (0,1)의 복원되는 정보는 2가 되며 이것은 1/4 정밀도를 뜻한다.
영역 (2,0)의 경우, 레이어 0과 레이어 1에 대해서는 영역 (0,0)에 대해서 정보를 복원할 때 이미 복호화되었으므로 추가로 복호화되지 않고, 레이어 2에서 상위 레이어의 노드값이 1(1/2 정밀도)이므로 상위 레이어의 노드값과의 차이값이 최대값인 2임을 알 수 있으므로 트런케이티드 단항 코드로 이진 비트열 00을 복호화하면 영역 (2,0)의 복원되는 정보는 1/8 정밀도가 된다.
영역 (2,6)의 경우도 마찬가지로, 레이어 2에서 상위 레이어가 1/4 정밀도이므로, 차이값의 최대값이 1이 됨을 알 수 있고 트런케이티드 단항 코드로 이진 비트열 0을 복호화하면 상위 레이어와의 차이값이 1이 되어, 영역 (2,6)의 복원되는 정보는 1/8 정밀도가 된다. 이때, 최대값이 나왔으므로 하위 레이어의 노드값은 복호화하지 않고 모두 1/8 정밀도로 결정된다.
전술한 예에서는 1/2 정밀도에 부호 번호 1이, 1/4 정밀도에 부호 번호 2, 1/8 정밀도에 부호 번호 3이 할당되는 것으로 가정하여 복호화하였지만, 주위 영역의 정보 또는 복호화되어 복원된 정보의 발생 확률 등을 이용하여 부호 번호를 각 정밀도마다 다르게 변경할 수도 있다.
도 7은 본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제1 실시예에 따른 트리 구조를 이용한 복호화 방법에 따르면, 복호화 장치(600)는 비트스트림을 복호화하여 부가 정보를 복원한다(S710). 즉, 복호화 장치(600)는 비트스트림의 픽처 헤더, 슬라이스 헤더, 매크로블록 헤더 등 소정의 부호화 단위의 헤더에서, 부가 정보가 부호화된 데이터를 추출하고 복호화하여 부가 정보를 복원한다. 여기서, 부가 정보는 레이어의 최대 개수에 대한 정보, 최하위 레이어의 영역의 크기에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함할 수 있다.
다만, 복호화 장치(600)는 단계 S710을 반드시 수행해야 하는 것은 아니며, 구현 방식이나 필요에 따라 선택적으로 수행할 수 있다. 예를 들어, 부호화 장치(100)와 복호화 장치(600)가 서로 간에 부가 정보에 포함된 모든 정보를 미리 약속하여 설정한 경우, 부호화 장치(100)는 부가 정보를 부호화하지 않고 그에 따라 복호화 장치(600)는 기 설정된 부가 정보를 이용하여 비트스트림을 복호화하는 데 활용할 수 있다. 만약, 부호화 장치(100)와 복호화 장치(600)가 부가 정보에 포함된 정보들 중 일부만을 미리 약속하여 설정한 경우, 부호화 장치(100)는 약속되지 않은 정보만을 부호화하고 복호화 장치(600)는 비트스트림을 복호화하여 약속되지 않은 정보만을 복원하여 기 설정된 다른 정보와 함께 이용하여 복호화에 활용할 수도 있다.
복호화 장치(600)는 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 복원한다(S720). 즉, 복호화 장치(600)는 단계 710에서 복원되거나 기 설정된 부가 정보를 이용하여 개선된 트리 구조를 복원하고, 복원된 개선된 트리 구조를 이용하여 비트스트림을 복호화하여 레이어별 노드값과 상위 레이어의 노드값 간의 차이값을 복원한다.
복호화 장치(600)는 복원되는 차이값과 상위 레이어의 노드값을 더하여 레이어별 노드값을 복원하고(S730), 최하위 레이어의 노드값을 복호화하고자 하는 정보로서 복원한다(S740).
단계 S720에서, 복호화 장치(600)는 이진 복호화 방법을 이용하여 비트스트림을 복호화하거나이진 복호화 방법을 이용하여 비트스트림을 복호화한 후 확률 모델을 변경하여 이진 산술 복호화하여 레이어별 노드값을 복원할 수 있다. 여기서, 확률 모델은 주위의 레이어 또는 상위 레이어의 노드값을 기초로 결정되거나 각 레이어마다 다르게 변경될 수 있다.
단계 S720에서, 복호화 장치(600)는 복호화하고자 하는 정보의 발생 확률에 따라 복호화를 위해 복호화하고자 하는 정보에 할당되는 부호 번호를 변경할 수 있다.
단계 S730에서, 복호화 장치(600)는 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하였음이 식별되는 경우, 노드값이 최대값인 레이어의 하위 레이어의 노드값을 모두 최대값으로 복원할 수 있다.
단계 S730에서, 복호화 장치(600)는 레이어별 노드값을 하위 레이어의 노드값들 중 최대값으로 결정하였음이 식별되는 경우, 노드값이 최소값인 레이어의 하위 레이어의 노드값을 모두 최소값으로 복원할 수 있다.
단계 S730에서, 복호화 장치(600)는 최상위 레이어의 노드값을 복호화하는 경우, 최상위 레이어의 상위 레이어의 노드값을 소정의 값으로 설정하여 최상위 레이어의 노드값을 복원할 수 있다.
이상에서 전술한 바와 같이 본 발명의 제1 실시예에 따르면, 영상에 대해 부호화하고자 하는 정보를 트리 구조를 이용하여 효율적으로 부호화함으로써 압축 효율을 향상시킬 수 있다.
도 8은 본 발명의 제2 실시예에 따른 트리 구조를 이용하여 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 트리 구조를 이용하여 부호화 장치(800)는 가변 크기 블록을 위한 트리 부호화기(810) 및 가변 크기 블록을 위한 부가 정보 부호화기(820)를 포함하여 구성될 수 있다.
가변 크기 블록을 위한 트리 부호화기(810)는 영상에 대해 부호화하고자 하는 정보를 가지는 소정의 영역들을 동일한 정보를 가지는 영역끼리 그룹화하고 레이어별 노드마다 노드가 분할되는지 여부에 따라 분할 여부를 나타내는 플래그와 노드값 중 하나 이상을 부호화한다.
가변 크기 블록을 위한 부가 정보 부호화기(820)는 제2 실시예에 따른 트리 구조의 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화한다. 이와 같이 부호화된 부가 정보는 비트스트림의 헤더에 포함되는데, 비트스트림의 헤더로서는 시퀀스 헤더, 픽처 헤더, 슬라이스 헤더, 매크로블록 헤더 등이 될 수 있다.
이하에서는 도 9 및 도 10을 통해 트리 구조를 이용하여 부호화하고자 하는 정보를 부호화하는 과정에 대해 상세히 설명한다.
도 9는 본 발명의 제2 실시예에 따른 트리 구조 구조를 나타낸 예시도이다.
9A는 하나의 픽처 내에서 부호화하고자 하는 정보를 가지는 영역들을 나타낸 것이다. 9A에서 각 영역들은 16x16 화소 크기의 매크로블록들일 수 있으며, 각 영역 내에 표시된 A, B, C는 각 영역의 부호화하고자 하는 정보를 나타낸다. 이러한 정보는 움직임 벡터 정밀도가 될 수도 있지만, 반드시 이에 한정되지 않고 분할 타입 정보, 인트라 예측 모드, 계수 정보 등 다양한 정보가 될 수 있다. 다만, 본 발명의 제2 실시예에서, 각 영역들이 16x16 화소 크기의 매크로블록인 것으로 가정하지만, 16x16 화소 크기의 블록뿐만 아니라 64x64 화소 크기의 블록, 32x32 화소 크기의 블록, 16x32 화소 크기의 블록, 16x16 블록, 16x8 화소 크기의 블록, 8x8 블록, 8x4 블록, 4x8 블록 또는 4x4 블록 등 다양한 형태일 수 있다. 또한, 각 영역의 크기는 서로 동일하지 않을 수 있다.
9B는 9A에 나타낸 각 영역 중 동일한 정보를 가지는 영역끼리 묶어 나타낸 것이다. 9C는 9B와 같이 묶여진 영역들의 정보를 트리 구조로 나타낸 것이다. 9C에서, 최하위 노드가 가리키는 영역의 크기는16x16 크기의 매크로블록이고 트리 구조의 레이어의 최대 개수는 4이므로, 이와 같은 부가 정보는 부호화되어 해당 영역에 대한 헤더에 포함된다.
도 10은 본 발명의 제2 실시예에 따라 트리 구조로 표현된 정보가 부호화된 결과를 나타낸 예시도이다.
9C에 나타낸 트리 구조의 정보를 부호화하면 도 10에 도시한 바와 같은 최종 비트열을 얻을 수 있다. 노드가 하위 레이어의 노드들로 분할되었는지 여부를 하나의 비트로 부호화하는데, 예를 들어 비트값이 '1'인 경우에는 현재 노드가 하위 레이어의 노드들로 분할되었음을 나타내고 비트값이 '0'인 경우에는 현재 노드가 하위 레이어의 노드들로 분할되지 않았음을 나타낸다. 최하위 레이어의 노드의 경우, 하위 레이어의 노드들로 분할되었는지 여부를 부호화하지 않고 최하위 레이어의 노드의 노드값을 부호화한다.
9C에서, 레이어 0의 노드에 대해서는 하위 레이어의 노드들로 분할되었으므로 비트값 '1'로 부호화한다. 분할된 레이어 1의 첫 번째 노드의 노드값은 A이고 더 이상 하위 레이어의 노드들로 분할되지 않았으므로 비트값 '0'으로 부호화하고 노드값 A를 부호화한다. 레이어 1의 두 번째 노드는 하위 레이어의 노드들로 분할되었으므로 비트값 '1'로 부호화한다. 레이어 1의 세 번째 노드는 하위 레이어의 노드들로 분할되지 않았으므로 비트값 '0'으로 부호화하고 노드값인 B를 부호화한다. 레이어 1의 마지막 네 번째 노드는 하위 레이어의 노드들로 분할되었으므로 비트값 '1'로 부호화한다. 같은 방식으로 레이어 2의 각 노드들을 부호화하고, 레이어 3에서는 헤더에서 최대 레이어의 개수가 4 개로 지정되었으므로 더 이상의 하위 레이어의 노드들이 없음을 알 수 있으므로 각 노드값만을 부호화한다.
각 노드값은 설명의 편의를 위해 A, B, C로 표시되었으나 각 노드값은 이진비트들로 표현된다. 또한, 도 9를 통해 나타낸 예시에서는, 노드가 하위 레이어의 노드들로로 분할되거나 분할되지 않는 경우의 두 가지만 예를 들었다. 본 실시예에서는 노드가 하위 레이어의 노드들로 분할되는 경우, 4개의 노드로 분할된다. 도 9를 참조하면, 노드가 하위 레이어의 4개의 노드들로 분할된다는 것은 현재 레이어의 노드에 대응하는 영역이 4개의 동일한 서브 영역들로 분할됨을 의미한다. 대안으로서, 도 11에 도시한 바와 같이, 하위 레이어의 노드들로 분할되지 않았음 가로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 세로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 4 개 구역의 하위 레이어의 노드들로 나누어짐과 같이 노드는 다양한 형태의 하위 레이어의 노드들로 분할될 수도 있다. 이 때, 상기 4가지 분할의 유형을 지시하는 정보가 복호화 장치로 전송된다.
부호화 장치(800)는 그룹화된 영역이 크지 않은 경우, 상위 레이어의 노드에서 특정한 레이어의 노드들로 분할됨을 나타내는 플래그를 부호화함으로써 하위 레이어의 노드들이 있음을 나타내기 위한 비트량을 줄일 수 있다. 예를 들어, 비트스트림의 헤더에 최대 레이어의 개수가 4개로 지정되고 부호화하고자 하는 정보가 도 12에 도시한 바와 같이 분포되어 있는 경우, 도 12에 도시한 바와 같은 영역은 도 13에 도시한 바와 같이 동일한 정보를 가지는 영역끼리 묶어 표시할 수 있다. 이 경우, 부호화 장치(800)는 최상위 레이어의 노드가 레이어 2 또는 레이어 3의 노드들로 분할됨을 나타내는 플래그를 부호화함으로써, 상위 레이어의 노드가 하위 레이어의 노드들로 분할됨을 나타내는 플래그의 수를 줄여 비트량을 줄일 수 있다.
도 14는 본 발명의 제2 실시예에 따른 트리 구조를 이용한 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 제2 실시예에 따른 트리 구조를 이용한 부호화 방법에 따르면 부호화 장치(800)는 정보를 가지는 소정의 영역들을 동일한 정보를 가지는 영역끼리 그룹화하고 레이어별 노드마다 노드가 분할되는지 여부에 따라 분할 여부를 나타내는 플래그와 노드값 중 하나 이상을 부호화하고(S1410), 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 부호화한다(S1420).
단계 S1410에서, 부호화 장치(800)는 노드가 분할되는 경우에는 노드가 분할됨을 나타내는 플래그를 부호화할 수 있다. 즉, 부호화 장치(800)는 레이어별 노드마다 노드가 분할되는지 여부를 판단하고, 노드가 분할되는 경우 해당 노드값을 부호화하지 않고 해당 노드가 하위 레이어의 노드들로 분할됨을 나타내는 플래그만을 부호화할 수 있다.
단계 S1410에서, 부호화 장치(800)는 노드가 분할되지 않는 경우에는 노드가 분할되지 않음을 나타내는 플래그와 노드의 노드값을 부호화할 수 있다. 즉, 부호화 장치(800)는 레이어별 노드마다 노드가 분할되는지 여부를 판단하고 노드가 분할되지 않는 경우에는 해당 노드가 하위 레이어의 노드들로 분할되지 않음을 나타내는 플래그를 부호화할 뿐만 아니라 해당 노드의 노드값을 부호화할 수 있다. 여기서, 노드의 노드값이란 노드가 가지는 정보를 말하며, 동일한 정보를 가지는 영역끼리 그룹화되어 하나의 노드가 되는 경우 그 동일한 정보가 노드값이 된다.
단계 S1410에서, 부호화 장치(800)는 노드가 최하위 레이어의 노드인 경우, 노드의 노드값만을 부호화할 수 있다. 즉, 부호화 장치(800)는 레이어별 모드마다 노드가 분할되는지 여부를 판단하기 전에 부호화하고자하는 노드가 최하위 레이어인지 여부를 판단하여, 노드가 최하위 레이어인 경우에는 해당 노드의 분할 여부를 나타내는 플래그를 부호화하지 않고 해당 노드의 노드값만을 부호화할 수 있다.
단계 S1420에서, 부호화 장치(800)는 부가 정보가 부호화된 데이터를 비트스트림의 헤더에 포함시킬 수 있다. 여기서, 비트스트림의 헤더는 시퀀스 헤더, 픽처 헤더, 슬라이스 헤더, 매크로블록 헤더 등 다양한 부호화 단위의 헤더일 수 있다.
단계 S1410에서, 부호화 장치(800)는 노드가 분할됨을 나타내는 플래그를 부호화하는 데 있어서, 한 개 또는 두 개 이상의 하위 레이어의 노드들로 바로 분할됨을 나타내는 플래그를 부호화할 수 있다. 즉, 부호화 장치(800)는 노드의 분할 여부를 나타내는 플래그를 부호화할 때, 해당 노드가 하위 레이어의 노드들로 분할되는 경우, 해당 노드가 그 바로 한 개 하위의 레이어로 분할됨을 나타내는 플래그만을 부호화할 수 있는 것이 아니라 두 개, 세 개 등 복수 개의 하위 레이어의 노드들로 분할됨을 나타내는 플래그를 부호화할 수도 있다.
도 15는 본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 장치(1500)는 가변 크기 블록을 위한 부가 정보 복호화기(1510) 및 가변 크기 블록을 위한 트리 복호화기(1520)를 포함하여 구성될 수 있다.
가변 크기 블록을 위한 부가 정보 복호화기(1510)는 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원한다. 이와 같이 복원되는 부가 정보는, 가변 크기 블록을 위한 트리 복호화기(1520)가 트리 구조를 복원하는 데 이용된다. 이때, 가변 크기 블록을 위한 부가 정보 복호화기(1510)는 비트스트림의 헤더에서 부가 정보가 부호화된 데이터를 추출하고 복호화하여 부가 정보를 복원하는데, 비트스트림의 헤더는 매크로블록 헤더, 슬라이스 헤더, 픽처 헤더, 시퀀스 헤더 등일 수 있다.
다만, 가변 크기 블록을 위한 부가 정보 복호화기(1510)는 반드시 복호화 장치(1500)에 포함되어야 하는 것은 아니며, 구현 방식이나 필요에 따라 선택적으로 포함될 수 있다. 예를 들어, 부호화 장치(800)와 복호화 장치(1500)가 서로 레이어의 최대 개수 및 최하위 레이어의 각 노드가 가리키는 영역의 크기 등에 대해 미리 약속한 경우, 부호화 장치(800)는 부가 정보를 부호화하지 않을 수 있으며 그에 따라 복호화 장치(1500)도 비트스트림을 복호화하여 부가 정보를 복원하지 않고 기 설정된 부가 정보를 이용하여 트리 구조를 복원할 수 있다.
가변 크기 블록을 위한 트리 복호화기(1520)는 부가 정보를 기초로 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 복원된 플래그에 따라 레이어별 노드의 노드값을 복원하여 정보를 복원한다. 즉, 가변 크기 블록을 위한 트리 복호화기(1520)는, 가변 크기 블록을 위한 부가 정보 복호화기(1510)에 의해 복원되거나 기 설정된 부가 정보를 기초로 비트스트림을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드가 분할되는지 여부와 분할되지 않는 경우에는 노드의 노드값을 복원하여 트리 구조 구조를 복원하고, 복원된 트리 구조 구조를 기초로 복호화하고자 하는 정보를 복원한다.
이하에서는 도 9 및 도 10을 참조하여 복호화 장치(1500)가 본 발명의 제2 실시예에 따라 트리 구조를 이용하여 비트스트림을 복호화하여 정보를 복원하는 과정에 대해 설명한다.
복호화 장치(1500)는 비트스트림의 매크로블록 헤더, 슬라이스 헤더, 픽처 헤더 또는 시퀀스 헤더 등으로부터 부호화된 부가 정보를 추출하고 복호화하여 부가 정보를 복원한다. 부가 정보에는 트리 구조의 레이어의 최대 개수에 대한 정보와 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보가 포함되어 있다.
복호화 장치(1500)는 비트스트림으로부터 도 10의 최종 비트와 같은 비트열을 추출하고 전술한 바와 같이 복원된 부가 정보와 추출된 비트열을 기초로 도 10에 예시적으로 나타낸 바와 같은 트리 구조 구조를 복원한다.
예를 들어, 비트스트림으로부터 추출한 최종 비트의 비트열에서 비트값을 차례로 읽어 들여 최상위 레이어로부터 최하위 레이어까지 각 레이어별 노드가 하위 레이어의 노드들로 분할되는지 여부를 나타내는 플래그를 복원하고, 복원된 플래그가 하위 레이어의 노드들로 분할되지 않음을 나타내는 경우에는 다음 비트열을 읽어 들여 해당 노드의 노드값을 복원한다. 복원된 노드값이 복원하고자 하는 정보가 된다. 또한, 복원된 플래그가 하위 레이어의 노드들로 분할됨을 나타내는 경우에는 다음 비트값을 읽어들여 다음 노드 또는 다음 레이어의 다음 노드가 그 하위 레이어의 노드들로 분할되는지 여부를 나타내는 플래그를 복원한다. 이와 같은 방식으로 비트열을 차례로 읽어 들여 최하위 레이어까지 정보를 복원한다. 한편, 최하위 레이어의 노드에 대해서는 분할 여부를 나타내는 플래그를 복원하지 않고 각 노드의 노드값만을 복원한다.
노드가 하위 레이어의 노드들로 분할되는 경우, 도 9를 통해 나타낸 예시에서와 같이 4개의 노드로 분할된다. 도 9를 참조하면, 노드가 하위 레이어의 4개의 노드들로 분할된다는 것은 현재 레이어의 노드에 대응하는 영역이 4개의 동일한 서브 영역들로 분할됨을 의미한다. 대안으로서, 도 11에 도시한 바와 같이, 하위 레이어의 노드들로 분할되지 않았음, 가로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 세로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 4 개 구역의 하위 레이어의 노드들로 나누어짐과 같이 노드는 다양한 형태의 하위 레이어의 노드들로 분할될 수도 있다. 이 때, 상기 4가지 분할의 유형을 지시하는 정보가 부호화 장치로부터 복호화 장치로 전송된다.
복호화 장치(1500)는 이와 같은 방식으로 최상위 레이어로부터 최하위 레이어까지 정보를 복원하여 9C와 같은 트리 구조 구조를 복원하고, 복원된 트리 구조 구조를 기초로 9B와 9A에 나타낸 각 영역들의 정보를 복원한다.
만약, 비트스트림의 비트열로부터 추출하고 복호화하여 복원한 플래그가 어느 레이어의 노드가 두 개, 세 개 등 복수 개의 하위 레이어의 노드들로 바로 분할됨을 나타내는 경우, 지시되는 하위 레이어 사이의 레이어에 대한 복호화를 스킵하고 지시되는 하위 레이어의 노드의 분할 여부를 나타내는 플래그 및 해당 노드의 노드값 중 하나 이상을 복호화한다.
도 16은 본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 제2 실시예에 따른 트리 구조를 이용한 복호화 방법에 따르면, 복호화 장치(1500)는 비트스트림을 복호화하여 레이어의 최대 개수에 대한 정보 및 최하위 레이어의 각 노드가 가리키는 영역의 크기에 대한 정보를 포함하는 부가 정보를 복원하고(S1610), 부가 정보를 기초로 비트스트림으로부터 추출되는 비트열을 복호화하여 최상위 레이어로부터 최하위 레이어까지 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고 복원된 플래그에 따라 레이어별 노드의 노드값을 복원하여 정보를 복원한다(S1620).
단계 S1620에서, 복호화 장치(1500)는 분할 여부를 나타내는 플래그가 노드가 하위 레이어의 노드들로 분할되지 않음을 나타내는 경우에는 노드의 노드값을 복원할 수 있다. 즉, 복호화 장치(1500)는 레이어별 노드의 분할 여부를 나타내는 플래그를 복원하고, 복원된 플래그가 해당 노드가 하위 레이어의 노드들로 분할됨을 나타내는 경우에는 다음 노드에 대한 복호화를 수행하고, 복원된 플래그가 해당 노드의 하위 레이어의 노드들로 분할되지 않음을 나타내는 경우에만 해당 노드의 노드값을 복원한다.
노드가 하위 레이어의 노드들로 분할되는 경우, 도 9를 통해 나타낸 예시에서와 같이 4개의 노드로 분할된다. 또는, 대안으로서, 도 11에 도시한 바와 같이, 하위 레이어의 노드들로 분할되지 않았음, 가로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 세로로 긴 두 개 영역의 하위 레이어의 노드들로 나누어짐, 4 개 구역의 하위 레이어의 노드들로 나누어짐과 같이 노드는 다양한 형태의 하위 레이어의 노드들로 분할될 수도 있다. 이 때, 상기 4가지 분할의 유형을 지시하는 정보가 부호화 장치로부터 복호화 장치로 전송된다.
단계 S1620에서, 복호화 장치(1500)는 최하위 레이어의 노드에 대해서는 각 노드의 노드값만을 복원할 수 있다. 즉, 복호화 장치(1500)는 레이어별 노드의 분할 여부를 나타내는 플래그 및/또는 노드의 노드값을 복원하는 과정에서 복호화하고자하는 노드가 최하위 레이어에 포함되는지 여부를 미리 판단하여 복호화하고자 하는 노드가 최하위 레이어에 포함되는 경우에는 해당 노드의 분할 여부를 나타내는 플래그를 복원하지 않고 해당 노드의 노드값만을 복원한다.
본 발명의 트리 구조를 이용한 부호화 및 복호화 방법에서 부호화 및 복호화 대상 정보는 본 실시예의 데이터에 한정되지 않고 다음의 다양한 정보의 부호화 및 복호화에도 적용될 수도 있다.
부호화하고자 하는 정보는 매크로블록 크기 및 타입(Macroblock Type) 정보, 예측 및 변환을 위한 서브블록의 크기 및 타입을 나타내는 매크로블록 파티션 정보(macroblock partition information), 인트라 예측 정보, 움직임 벡터(Motion Vector), 움직임 벡터의 예측 방향(Prediction Direction), 최적의 움직임 벡터 예측 후보(Motion Vector Prediction Candidate), 임의 크기 영역의 최적의 보간 필터(Interpolation Filter), 화질 개선 필터 사용 유무, 참조 영상의 번호(Reference Picture Index), 양자화 매트릭스 번호(Quantization Matrix Index), 최적의 움직임 벡터 정밀도(Motion Vector Precision) 및 변환의 크기 정보(Transform Size Information), 영상의 화소 정보(Pixel Information), 소정 블록내 0이 아닌 변환계수가 있는지 여부는 나타내는 정보(Coded Block Information) 또는 계수 정보(Coefficient Information) 등과 같이 영상의 영상 신호 정보나 영상 신호를 부호화하는 데 이용되는 다양한 정보가 될 수도 있다.
본 발명의 실시예에서 매크로블록은 영상 부호화 및 복호화의 기본 단위로서 가변 크기를 가진다. 매크로블록의 크기 정보는 본 발명에 따른 트리 구조를 이용하여 부호화될 수 있다. 이를 위하여 본 발명에 따른 부호화 장치는 매크로블록의 최대 크기, 최소 크기, 트리를 구성하는 레이어들의 최대 개수 및 매크로블록 분할 플래그를 생성하여 복호화 장치로 전송한다. 이러한 매크로블록 최대 및 최소 크기 정보와 트리를 구성하는 레이어들의 최대 개수를 나타내는 정보는 시퀀스, GOP, 픽처, 슬라이스 등의 헤더 정보로 비트스트림에 포함될 수 있다.
매크로블록 분할 플래그는 도 9 또는 도 11에 도시된 바와 같이, 트리 구조를 이용하여 부호화되어 부호화 단위 헤더에 포함될 수 있다. 다시 말해, 본 발명에 따른 트리 구조를 이용하여 부호화되고 복호되는 정보는 전술한 매크로블록 분할 플래그이다.
매크로블록의 최대 및 최소 크기는 가로 크기와 세로 크기를 따로 설정하여 임의의 크기의 매크로블록을 사용할 수도 있다. 또한 부호화할 매크로블록 최대 및 최소 크기값은 실제 크기를 지정할 수도 있고 소정의 크기로부터 몇 배를 키울지 또는 축소 시킬지에 대한 값을 보낼수도 있다. 만약 최대 매크로블록의 크기를 소정의 크기로부터 몇 배 키울지에 대한 값을 부호화하는 하고 소정의 크기가 16인 경우, log2(선택된 MBsize/16)의 값을 부호화하는데, 예를 들어 매크로블록의 크기가 16x16인 경우 0을 부호화하고 32x32 크기인 경우 1을 부호화한다. 또한, 가로와 세로에 대한 비율을 따로 부호화 할 수도 있다.
또는 최대 매크로블록의 크기값을 전술한 방법을 통해 부호화한 후 최소 매크로블록의 크기 값은 최대 매크로블록 크기에 대하 최소 매크로블록 크기의 비율 값을 나타내는 log2(최대 매크로블록의 크기/최소 매크로블록의 크기) 값을 부호화할 수도 있다. 또는 반대로 최소 매크로블록의 크기값을 전술한 방법을 통해 부호화한 후, 최대 매크로블록의 크기 값을 log2(최대 매크로블록의 크기/최소 매크로블록의 크기) 값을 통해 부호화할 수도 있다.
또한, 본 발명의 일 실시예에 따르면, 매크로블록 파티션 정보(macroblock partition information)를 본 발명에 따른 트리구조를 이용하여 부호화 및 복호화할 수 있다. 매크로블록 파티션 정보는 예측 및/또는 변환을 위한 서브블록(즉, 매크로블록 파티션)의 크기 및/또는 타입과 관련된 정보로서 예측 및/또는 변환을 위한 서브블록의 최대 크기, 최소 크기, 트리를 구성하는 레이어들의 최대 개수 및 매크로블록 파티션 분할 플래그를 포함할 수 있다. 본 발명에 따른 부호화 장치는 이들 매크로블록 파티션 정보를 복호화 장치로 전송한다.
예측 및/또는 변환을 위한 서브블록의 최대 및 최소 크기는 전체 영상 시퀀스 단위, 픽처 그룹 (GOP), 픽처 또는 슬라이스 등의 단위로 결정될 수 있다. 이러한 예측 및/또는 변환을 위한 서브 블록의 최대 크기, 최소 크기, 트리를 구성하는 레이어들의 최대 개수에 대한 정보는 시퀀스, GOP, 픽처, 슬라이스 등의 헤더 정보로 비트스트림에 포함될 수 있다.
한편, 상기 매크로블록 파티션 정보 중 매크로블록 파티션 분할 플래그를, 본 발명에 따른 트리 구조를 이용하여 부호화할 수 있다. 매크로블록 파티션 분할 플래그는 부호화 단위에 해당하는 매크로블록의 헤더 또는 매크로블록 파티션의 헤더에 포함될 수 있다.
한편, 예측 및/또는 변환을 위한 서브블록의 크기 즉, 예측 및/또는 변환의 크기 정보는 예측 및/또는 변환의 최대 및 최소 크기는 가로 크기와 세로 크기를 따로 설정하여 임의의 크기의 예측 및/또는 을 사용할 수도 있다. 또한 사용 가능한 예측 및/또는 변환의 최대 및 최소 크기값은 실제 크기를 지정할 수도 있고 소정의 크기로부터 몇 배를 키울지 또는 축소 시킬지에 대한 값을 보낼수도 있다. 만약 최대 예측 및/또는 변환의 크기를 소정의 크기로부터 몇 배 키울지에 대한 값을 부호화하는 하고 소정의 크기가 4인 경우, log2(선택된 예측 및/또는 변환의 크기/4)의 값을 부호화하는데, 예를들어 예측 및/또는 변환의 크기가 4x4인 경우 0을 부호화하고 8x8 크기인 경우 1을 부호화한다. 또한, 가로와 세로에 대한 비율을 따로 부호화 할 수도 있다.
또는 최대 예측 및/또는 변환의 크기값을 전술한 방법을 통해 부호화한 후 최소 예측 및/또는 변환의 크기값은 최대 예측 및/또는 변환 크기에 대한 최소 예측 및/또는 변환 크기의 비율값을 나타내는 log2(최대 예측 및/또는 변환의 크기/최소 예측 및/또는 변환의 크기) 값을 부호화할 수도 있다. 또는 반대로 최소 예측 및/또는 변환의 크기값을 전술한 방법을 통해 부호화한 후, 최대 예측 및/또는 변환의 크기 값을 log2(최대 예측 및/또는 변환의 크기/최소 예측 및/또는 변환의 크기) 값을 통해 부호화할 수도 있다.
소정 블록내 0이 아닌 변환계수가 있는지 여부는 나타내는 정보(Coded Block Information)는 예측 또는 변환을 위해 분할된 서브블록 내 0이 아닌 변환 계수 있는지 여부를 나타내는 1비트 길이의 플래그 일 수도 있다. 이때 휘도 성분(Y)과 색차 성분(U, V) 블록에 대해 각각 플래그를 부호화할 수도 있고 휘도 성분과 색차성분(Y, U, V) 세 블록에 대해 하나의 플래그를 통해 0이 아닌 변환 계수의 여부를 나타낼 수도 있다.
또는 세가지 색차성분(Y, U, V)의 모든 블록 내 0이 아닌 변환 계수가 있는지를 나타내는 플래그를 부호화한 후, 0이 아닌 변환계수가 있는 경우에 대해서만 변환의 종류를 부호화 한 후, 각 색차 성분의 서브블록 내 0이 아닌 변환 계수가 있는지 여부를 나타내는 플래그를 각각 부호화 할 수도 있다.
한편, 전술한 실시예들에서 본 발명에 따른 트리 부호화기는 부호화하고자 하는 영상 정보를 가지는 영역들을 동일한 정보를 가지는 영역끼리 그룹화하는 방식으로 부호화하고자 하는 영상 정보의 트리 구조를 생성한다고 설명하였다. 그러나 이는 트리 구조를 생성하는 일 예일 뿐이고, 그 밖에 다양한 방식으로 트리구조를 생성할 수 있음은 당업자에게 자명하다. 예컨대, 전술한 부호화 및 복호화의 단위인 매크로블록의 크기 또는 예측 또는 변환을 위한 서브블록의 크기는 기준이 되는 블록(예컨대, 최대 크기의 매크로블록)을 보다 적은 크기의 서브블록으로 반복하여 분할하는 방식에 의해 결정될 수 있다. 다시 말해, 기준 블록을 복수의 제1 서브블록으로 분할하고, 각 제1 서브블록을 다시 더 적은 크기의 제2 서브블록으로 분할하거나 또는 분할하지 않음으로써 다양한 크기의 매크로블록들 또는 예측 또는 변환을 위한 서브블록들이 하나의 픽처에 포함될 수 있다. 이 때 서브블록으로의 분할 여부는 분할 플래그에 지시된다. 이와 같은 방법에 의해 매크로블록의 크기 정보(즉, 매크로블록 분할 플래그) 또는 예측 또는 변환을 위한 서브블록의 크기 정보(즉, 매크로블록 파티션 분할 플래그)는 도 9B 또는 9C에 도시한 바와 같은 트리 구조를 가지게 된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 영상을 부호화하고 복호화하는 영상 압축 처리 분야에 적용되어, 영상에 대한 다양한 정보를 트리 구조를 이용하여 부호화하고 부호화된 데이터를 복호화함으로써, 부호화 효율을 향상시켜 영상의 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.

Claims (1)

  1. 영상 정보를 부호화하는 장치에 있어서,
    상기 영상 정보를 가지는 소정의 영역들을 복수 개의 그룹으로 그룹화하고, 상기 그룹화된 영역 내의 부호화하고자 하는 정보의 최소값 또는 최대값을 그룹화된 영역의 정보로서 결정하여 레이어별 노드값을 최상위 레이어까지 생성하며, 레이어별 노드값과 상위 레이어의 노드값 간의 차이값 또는 레이어별 노드값과 기 설정된 기준에 따라 결정되는 값 간의 차이값을 부호화하는 트리 부호화기; 및
    레이어의 최대 개수에 대한 정보, 그룹화되는 영역의 개수에 대한 정보 및 레이어별 노드값을 하위 레이어의 노드값들 중 최소값으로 결정하는지 또는 최대값으로 결정하는지 여부에 대한 정보를 포함하는 부가 정보를 부호화하는 부가 정보 부호화기;
    를 포함하는 것을 특징으로 하는 부호화 장치.
KR1020130056076A 2013-05-16 2013-05-16 트리 구조를 이용한 부호화/복호화 방법 및 장치 KR20130070618A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130056076A KR20130070618A (ko) 2013-05-16 2013-05-16 트리 구조를 이용한 부호화/복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130056076A KR20130070618A (ko) 2013-05-16 2013-05-16 트리 구조를 이용한 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20100126315A Division KR101479141B1 (ko) 2009-12-10 2010-12-10 트리 구조를 이용한 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20130070618A true KR20130070618A (ko) 2013-06-27

Family

ID=48865324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130056076A KR20130070618A (ko) 2013-05-16 2013-05-16 트리 구조를 이용한 부호화/복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20130070618A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111146249A (zh) * 2018-11-06 2020-05-12 三星Sdi株式会社 用于发光显示器的偏光板及包括其的发光显示器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111146249A (zh) * 2018-11-06 2020-05-12 三星Sdi株式会社 用于发光显示器的偏光板及包括其的发光显示器
CN111146249B (zh) * 2018-11-06 2023-10-13 三星Sdi株式会社 用于发光显示器的偏光板及包括其的发光显示器

Similar Documents

Publication Publication Date Title
KR101479141B1 (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치
KR101952182B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
JP2022078048A (ja) 画像復号方法及び画像符号化方法
JP2022050614A (ja) ビデオコード化のためのマルチタイプツリーフレームワーク
KR101479129B1 (ko) 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치
CN116866563A (zh) 图像编码/解码方法、存储介质以及图像数据的传输方法
KR20110069740A (ko) 영상 부호화/복호화 방법 및 장치
JP2005160089A (ja) αチャンネル映像のための符号化ブロックパターン生成装置及び方法とそれを利用したαチャンネル映像符号化/復号化装置及び方法
KR20130070618A (ko) 트리 구조를 이용한 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E601 Decision to refuse application