KR101813189B1 - 영상 부호화/복호화 장치 및 방법 - Google Patents
영상 부호화/복호화 장치 및 방법 Download PDFInfo
- Publication number
- KR101813189B1 KR101813189B1 KR1020110035424A KR20110035424A KR101813189B1 KR 101813189 B1 KR101813189 B1 KR 101813189B1 KR 1020110035424 A KR1020110035424 A KR 1020110035424A KR 20110035424 A KR20110035424 A KR 20110035424A KR 101813189 B1 KR101813189 B1 KR 101813189B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- information
- mode
- encoding
- node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree 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
영상 부호화/복호화 장치 및 방법이 개시된다. 본 발명에 따른 영상 부호화/복호화 장치는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 변환 타입 정보, CBP(Coded Block Pattern) 정보 및 델타 양자화 파라미터 정보 중 적어도 하나를 부호화하며, 블록의 부호화된 정보를 기초로 상기 블록의 계수 정보를 부호화하는 영상 부호화기; 및 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 변환 타입 정보를 복원하며, 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
Description
본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 영상을 부호화하는 데 이용되는 부호화 정보를 효율적으로 부호화하고 다양한 부호화 방식을 선택적으로 이용하여 영상을 부호화할 수 있도록 하며, 이와 같이 부호화된 부호화 정보 및 부호화 방식에 따라 대응적으로 영상을 복호화함으로써 영상의 압축 효율 및 복원 효율을 향상시킬 수 있는 영상 부호화/복호화 장치 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
동영상 데이터를 압축기술로는 H.261, H.263, MPEG-2, MPEG-4 등이 있다. 이러한 비디오 압축 표준은 각 영상을 휘도 성분의 16x16 크기의 화소들과 각 색차 성분의 8x8 크기의 화소들의 사각 영역으로 이루어진 고정된 크기를 가지는 매크로블록(Macroblock)들로 나누어 부호화한다. 각 매크로블록의 모든 휘도와 색차 성분들은 공간적으로나 시간적으로 예측되고, 예측 잔여분은 변환 및 양자화, 엔트로피 코딩이 수행되어 전송된다.
기존의 영상부호화 장치에서 사용하는 블록모드는 현재 부호화 대상 블록이 예측 움직임 벡터를 사용하고 부호화 할 변환계수가 없는 블록임을 나타내는 플래그를 부호화하고 더 이상의 정보는 부호화하지 않는다. 그리고 예측 움직임 벡터를 사용하지 않거나 부화화할 변환계수가 있는 블록인 경우 블록의 타입 정보와 예측 정보(예측움직임 벡터와의 차이 벡터와 참조픽처 번호)를 부호화하고 변환계수를 부호화한다.
하지만, 이와 같은 통상적인 영상 압축 기술에서는 부호화할 데이터로 차이 움직임 벡터만 있고 부호화 할 변환계수가 없는 블록의 경우, 또는 차이 움직임 벡터가 없고 부호화할 변환계수만 있는 블록을 부호화 할 경우 효율적인 부호화가 어려운 문제점이 있으며, 영상을 부호화하는 데 이용되는 다양한 정보 등의 효율적인 부호화가 어려운 문제점이 있다.
또한, 영상의 복호화는 영상의 부호화에 대응하여 이루어지기 때문에, 영상의 부호화에 대한 압축 효율이 저하된 상태에서는 고효율의 복호화를 기대하기 어렵다는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 영상을 부호화하는 데 이용되는 부호화 정보를 효율적으로 부호화하고 다양한 부호화 방식과 복호화 방식을 선택적으로 이용하여 영상을 부호화할 수 있도록 함으로써 영상의 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 변환 타입 정보, CBP(Coded Block Pattern) 정보 및 델타 양자화 파라미터 정보 중 적어도 하나를 부호화하며, 블록의 부호화된 정보를 기초로 상기 블록의 계수 정보를 부호화하는 영상 부호화기; 및 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 변환 타입 정보를 복원하며, 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화 장치는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 상기 분할 모드 정보의 조합에 따라 블록의 변환 타입 정보를 부호화하는 부호화 정보 부호화기; 및 블록의 변환 타입 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화기를 포함하는 것을 특징으로 한다.
여기서, 부호화 정보 부호화기는, 블록 모드 정보 및 상기 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화기는, 매크로블록에 대하여 16x16 화소블록 단위로 변환 타입을 선택하며, 16x16 화소블록 내의 서브블록에 대해서는 16x16 화소블록 단위로 선택된 변환 타입과 동일한 변환 타입을 사용할 수 있다.
또한, 부호화 정보 부호화기는, 매크로블록 내의 16x16 화소블록 이상의 블록에 대해서는 해당 블록 단위로 변환 타입을 선택하고, 16x16 화소블록보다 작은 블록으로 분할된 서브블록에 대해서는 16x16 화소블록 단위로 변환 타입을 선택할 수 있다.
또한, 부호화 정보 부호화기는, 변환 계수가 없는 블록에 대해서는 변환타입의 부호화를 생략할 수 있다.
또한, 부호화 정보 부호화기는, 블록의 블록모드가 스킵 모드이거나 CBPX 플래그가 0인 경우, 변환타입의 부호화를 생략할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 영상 부호화 장치는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 CBP 정보를 부호화하는 부호화 정보 부호화기; 및 블록의 CBP 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화기를 포함하는 것을 특징으로 한다.
여기서, 블록의 CBP 정보는 블록 내에 0이 아닌 변환계수가 있는지의 여부를 나타내는 1비트 플래그일 수 있다.
또한, 부호화 정보 부호화기는, 기 전송된 모드값이나 플래그 중 현재의 블록 내에 부호화할 변환계수가 없음을 나타내는 정보가 포함된 경우, 현재의 블록에 대한 노드값의 생성을 생략할 수 있다.
또한, 부호화 정보 부호화기는, 블록이 0이 아닌 변환 계수를 포함하고 있는 경우에 CBP 정보를 부호화할 수 있다.
또한, 부호화 정보 부호화기는, 블록의 휘도 성분에 대해서 4x4 변환 또는 8x8 변환에 대해서는 8x8 화소블록 내에 0이 아닌 변환계수가 있는지의 여부에 따라 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화기는, 블록의 휘도 성분에 대해서 8x16 변환 또는 16x8 변환에 대해서는 8x16 화소블록 또는 16x8 화소블록 내에 0이 아닌 변환계수가 있는지의 여부에 따라 노드값을 생성할 수 있다.
또한, 블록의 블록 모드가 스킵 모드이거나 CBPX 플래그가 0인 경우, CBP 정보의 부호화를 위한 노드값의 생성을 생략할 수 있다.
또한, 부호화 정보 부호화기는, 블록 모드 정보 및 상기 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 영상 부호화 장치는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 델타 양자화 파라미터 정보를 부호화하는 부호화 정보 부호화기; 및 블록의 델타 양자화 파라미터 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화기를 포함하는 것을 특징으로 한다.
여기서, 부호화 정보 부호화기는, 블록 모드 정보 및 상기 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화기는, 매크로블록 내의 부호화할 0이 아닌 변환계수가 있는 16x16 화소블록 또는 매크로블록에 대해서만 델타 양자화 파라미터 정보를 부호화할 수 있다.
또한, 부호화 정보 부호화기는, 델타 양자화 파라미터 정보를 기 설정된 코드번호로 변환한 후, 코드번호를 트리구조로 부호화할 수 있다.
또한, 부호화 정보 부호화기는, 델타 양자화 파라미터 정보의 절대값을 부호화한 후, 0이 아닌 델타 양자화 파라미터 정보에 대해서만 부호화할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 장치의 일 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 변환 타입 정보를 복원하는 부호화 정보 복호화기; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 장치의 다른 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 CBP 정보를 복원하는 부호화 정보 복호화기; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 장치의 또 다른 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 델타 양자화 파라미터 정보를 복원하는 부호화 정보 복호화기; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 부호화/복호화 방법은, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 변환 타입 정보, CBP 정보 및 델타 양자화 파라미터 정보 중 적어도 하나를 부호화하며, 블록의 부호화된 정보를 기초로 블록의 계수 정보를 부호화하는 단계; 및 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 변환 타입 정보를 복원하며, 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 부호화 방법은, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 상기 분할 모드 정보의 조합에 따라 블록의 변환 타입 정보를 부호화하는 부호화 정보 부호화 단계; 및 블록의 변환 타입 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화 단계를 포함하는 것을 특징으로 한다.
여기서, 부호화 정보 부호화 단계는, 블록 모드 정보 및 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화 단계는, 매크로블록에 대하여 16x16 화소블록 단위로 변환 타입을 선택하며, 16x16 화소블록 내의 서브블록에 대해서는 16x16 화소블록 단위로 선택된 변환 타입과 동일한 변환 타입을 사용할 수 있다.
또한, 부호화 정보 부호화 단계는, 매크로블록 내의 16x16 화소블록 이상의 블록에 대해서는 해당 블록 단위로 변환 타입을 선택하고, 16x16 화소블록보다 작은 블록으로 분할된 서브블록에 대해서는 16x16 화소블록 단위로 변환 타입을 선택할 수 있다.
또한, 부호화 정보 부호화 단계는, 변환 계수가 없는 블록에 대해서는 변환타입의 부호화를 생략할 수 있다.
또한, 부호화 정보 부호화 단계는, 블록의 블록모드가 스킵 모드이거나 CBPX 플래그가 0인 경우, 변환타입의 부호화를 생략할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 부호화 방법의 다른 실시예는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 CBP 정보를 부호화하는 부호화 정보 부호화 단계; 및 블록의 CBP 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화 단계를 포함하는 것을 특징으로 한다.
여기서, 블록의 CBP 정보는 블록 내에 0이 아닌 변환계수가 있는지의 여부를 나타내는 1비트 플래그일 수 있다.
또한, 부호화 정보 부호화 단계는, 기 전송된 모드값이나 플래그 중 현재의 블록 내에 부호화할 변환계수가 없음을 나타내는 정보가 포함된 경우, 현재의 블록에 대한 노드값의 생성을 생략할 수 있다.
또한, 부호화 정보 부호화 단계는, 블록이 0이 아닌 변환 계수를 포함하고 있는 경우에 CBP 정보를 부호화할 수 있다.
또한, 부호화 정보 부호화 단계는, 블록의 휘도 성분에 대해서 4x4 변환 또는 8x8 변환에 대해서는 8x8 화소블록 내에 0이 아닌 변환계수가 있는지의 여부에 따라 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화 단계는, 블록의 휘도 성분에 대해서 8x16 변환 또는 16x8 변환에 대해서는 8x16 화소블록 또는 16x8 화소블록 내에 0이 아닌 변환계수가 있는지의 여부에 따라 노드값을 생성할 수 있다.
또한, 블록의 블록 모드가 스킵 모드이거나 CBPX 플래그가 0인 경우, CBP 정보의 부호화를 위한 노드값의 생성을 생략할 수 있다.
또한, 부호화 정보 부호화 단계는, 블록 모드 정보 및 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 부호화 방법의 또 다른 실시예는, 매크로블록 내의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 분할 모드 정보를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 델타 양자화 파라미터 정보를 부호화하는 부호화 정보 부호화 단계; 및 블록의 델타 양자화 파라미터 정보를 기초로 블록의 계수 정보를 부호화하는 영상 부호화 단계를 포함하는 것을 특징으로 한다.
여기서, 부호화 정보 부호화 단계는, 블록 모드 정보 및 분할 모드 정보에 기초하여 매크로블록 내의 최하위 노드값을 생성하며, 생성된 최하위 노드값을 기초에 기초하여 트리 구조의 최상위 노드값을 생성할 수 있다.
또한, 부호화 정보 부호화 단계는, 매크로블록 내의 부호화할 0이 아닌 변환계수가 있는 16x16 화소블록 또는 매크로블록에 대해서만 델타 양자화 파라미터 정보를 부호화할 수 있다.
또한, 부호화 정보 부호화 단계는, 델타 양자화 파라미터 정보를 기 설정된 코드번호로 변환한 후, 코드번호를 트리구조로 부호화할 수 있다.
또한, 부호화 정보 부호화 단계는, 델타 양자화 파라미터 정보의 절대값을 부호화한 후, 0이 아닌 델타 양자화 파라미터 정보에 대해서만 부호화할 수 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 방법의 일 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 변환 타입 정보를 복원하는 부호화 정보 복호화 단계; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 방법의 다른 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 CBP 정보를 복원하는 부호화 정보 복호화 단계; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 블록을 복원하는 영상 복호화 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명에 따른 영상 복호화 방법의 또 다른 실시예는, 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지의 여부를 나타내는 블록 모드 정보, 블록이 서브블록으로 분할되는지의 여부를 나타내는 분할모드 정보, 및 블록 모드 정보와 분할모드 정보의 조합에 따라 부호화된 델타 양자화 파라미터 정보를 복원하는 부호화 정보 복호화 단계; 및 부호화 정보 복호화기에 의해 복원된 정보를 기초로 블록을 복원하거나 상기 비트스트림을 복호화하여 블록을 복원하는 영상 복호화 단계를 포함하는 것을 특징으로 한다.
이러한 본 발명에 따르면, 영상을 부호화하는 데 이용되는 부호화 정보를 효율적으로 부호화하고 다양한 부호화 방식과 복호화 방식을 선택적으로 이용하여 영상을 부호화할 수 있도록 함으로써 영상의 압축 효율을 향상시킬 수 있다.
또한, 영상의 부호화에 따라 적응적으로 영상을 복호화함으로써 영상의 복원 효율을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 2는 도 1의 영상 부호화기를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 다양한 크기의 인트라 예측 부호화와 인터 예측 부호화를 위한 매크로블록과 서브블록을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 분할 타입별 번호를 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따라 부호화된 비트스트림의 신택스 구조를 나타낸 예시도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따라 트리 구조를 이용하여 분할 타입 정보를 부호화하는 과정을 설명하기 위한 예시도이다.
도 9 및 도 10은 본 발명의 실시예에 따른 트리 구조의 예를 설명하기 위해 도시한 도면이다.
도 11 및 도 12는 본 발명의 실시예에 따른 변환 타입의 부호화 및 복호화를 설명하기 위해 도시한 도면이다.
도 13은 부호화할 변환타입 값에 대한 최하위 노드값의 예를 나타낸 도면이다.
도 14는 도 13에 대한 최상위 노드값의 예를 나타낸 도면이다.
도 15는 도 11의 매크로블록 번호 1에 대한 트리구조의 예를 나타낸 도면이다.
도 16은 도 11의 매크로블록 번호 4에 대한 트리구조의 예를 나타낸 도면이다.
도 17은 도 11의 매크로블록 번호 7에 대한 트리구조의 예를 나타낸 도면이다.
도 18은 부호화할 변환 타입 값에 대한 최하위 노드 값의 다른 예를 나타낸 도면이다.
도 19는 도 18에 대한 매크로블록 번호 4의 트리구조의 예를 나타낸 도면이다.
도 20은 도 18에 대한 매크로블록 번호 7의 트리구조의 예를 나타낸 도면이다.
도 21은 CBPX 플래그 및 CBP의 부호화/복호화 순서를 설명하기 위해 도시한 흐름도이다.
도 22는 부호화기에서 선택된 블록 모드 및 선택된 변환타입의 예를 나타낸 도면이다.
도 23은 CBP 비트의 전송단위와 CBP 비트값에 대한 최하위 노드값의 예를 나타낸 도면이다.
도 24는 도 23에 대한 16x16 영역에 해당하는 블록을 최상위 블록으로 사용하는 경우의 최상위 노드값의 예를 나타낸 도면이다.
도 25는 델타 양자화 파라미터 부호화의 예를 설명하기 위해 도시한 도면이다.
도 26은 도 25의 델타 양자화 파라미터를 약속된 코드번호로 변환한 경우의 예를 나타낸 도면이다.
도 27은 도 26의 트리구조 생성예를 설명하기 위해 도시한 도면이다.
도 28은 도 26의 트리구조 생성의 다른 예를 설명하기 위해 도시한 도면이다.
도 29는 델타 양자화 파라미터 부호화의 다른 예를 설명하기 위해 도시한 도면이다.
도 30은 도 29의 델타 양자화 파라미터의 절대값을 취한 경우를 나타낸 도면이다.
도 31은 도 29의 부호를 부호화하는 방법을 설명하기 위해 도시한 도면이다.
도 32는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 33은 도 32의 영상 복호화기를 개략적으로 도시한 도면이다.
도 34는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 35는 본 발명의 다른 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 36은 본 발명의 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
도 37은 본 발명의 다른 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 38은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 39는 본 발명의 제2 실시예에 따른 변환 정보 부호화의 예를 설명하기 위해 도시한 도면이다.
도 40은 트리 구조를 이용한 도39의 서브 블록 B의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 41은 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 42는 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화의 또 다른 예시를 설명하기 위한 도면이다.
도 43은 트리 구조를 이용한 도 39의 서브 블록 D의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 2는 도 1의 영상 부호화기를 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 다양한 크기의 인트라 예측 부호화와 인터 예측 부호화를 위한 매크로블록과 서브블록을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 분할 타입별 번호를 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따라 부호화된 비트스트림의 신택스 구조를 나타낸 예시도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따라 트리 구조를 이용하여 분할 타입 정보를 부호화하는 과정을 설명하기 위한 예시도이다.
도 9 및 도 10은 본 발명의 실시예에 따른 트리 구조의 예를 설명하기 위해 도시한 도면이다.
도 11 및 도 12는 본 발명의 실시예에 따른 변환 타입의 부호화 및 복호화를 설명하기 위해 도시한 도면이다.
도 13은 부호화할 변환타입 값에 대한 최하위 노드값의 예를 나타낸 도면이다.
도 14는 도 13에 대한 최상위 노드값의 예를 나타낸 도면이다.
도 15는 도 11의 매크로블록 번호 1에 대한 트리구조의 예를 나타낸 도면이다.
도 16은 도 11의 매크로블록 번호 4에 대한 트리구조의 예를 나타낸 도면이다.
도 17은 도 11의 매크로블록 번호 7에 대한 트리구조의 예를 나타낸 도면이다.
도 18은 부호화할 변환 타입 값에 대한 최하위 노드 값의 다른 예를 나타낸 도면이다.
도 19는 도 18에 대한 매크로블록 번호 4의 트리구조의 예를 나타낸 도면이다.
도 20은 도 18에 대한 매크로블록 번호 7의 트리구조의 예를 나타낸 도면이다.
도 21은 CBPX 플래그 및 CBP의 부호화/복호화 순서를 설명하기 위해 도시한 흐름도이다.
도 22는 부호화기에서 선택된 블록 모드 및 선택된 변환타입의 예를 나타낸 도면이다.
도 23은 CBP 비트의 전송단위와 CBP 비트값에 대한 최하위 노드값의 예를 나타낸 도면이다.
도 24는 도 23에 대한 16x16 영역에 해당하는 블록을 최상위 블록으로 사용하는 경우의 최상위 노드값의 예를 나타낸 도면이다.
도 25는 델타 양자화 파라미터 부호화의 예를 설명하기 위해 도시한 도면이다.
도 26은 도 25의 델타 양자화 파라미터를 약속된 코드번호로 변환한 경우의 예를 나타낸 도면이다.
도 27은 도 26의 트리구조 생성예를 설명하기 위해 도시한 도면이다.
도 28은 도 26의 트리구조 생성의 다른 예를 설명하기 위해 도시한 도면이다.
도 29는 델타 양자화 파라미터 부호화의 다른 예를 설명하기 위해 도시한 도면이다.
도 30은 도 29의 델타 양자화 파라미터의 절대값을 취한 경우를 나타낸 도면이다.
도 31은 도 29의 부호를 부호화하는 방법을 설명하기 위해 도시한 도면이다.
도 32는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 33은 도 32의 영상 복호화기를 개략적으로 도시한 도면이다.
도 34는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 35는 본 발명의 다른 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 36은 본 발명의 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
도 37은 본 발명의 다른 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 38은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
도 39는 본 발명의 제2 실시예에 따른 변환 정보 부호화의 예를 설명하기 위해 도시한 도면이다.
도 40은 트리 구조를 이용한 도39의 서브 블록 B의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 41은 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 42는 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화의 또 다른 예시를 설명하기 위한 도면이다.
도 43은 트리 구조를 이용한 도 39의 서브 블록 D의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
후술할 본 발명의 실시예에 따른 영상 부호화 장치(Video Encoding Apparatus)와 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선통신 단말기(Wireless Communication Terminal), 스마트 폰(Smart Phone) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
이하의 설명에서는 입력 영상이 매크로블록 단위로 분할되어 부호화되고 복호화되는 것으로 설명하지만, 본 발명의 실시예는 이에 한정되지 않고 매크로블록과 같이 정형화된 블록의 형태가 아닌 원형, 사다리꼴, 6각형 등 다양한 비정형의 영역으로 분할되어 분할된 영역 단위로 부호화되고 복호화될 수도 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 부호화 정보 부호화기(110) 및 영상 부호화기(200)를 포함하여 구성될 수 있다.
부호화 정보 부호화기(Encoding Information Encoder, 110)는 영상의 부호화하고자 하는 블록의 블록 모드(Block Mode)가 스킵 모드(Skip Mode)인지 여부를 나타내는 블록 모드 정보(Block Mode Information)와 블록이 서브블록으로 분할되는지 여부를 나타내는 분할 모드 정보(Partition Mode Information)를 부호화하고, 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 스킵 움직임 정보(Skip Motion Information)를 부호화하거나 블록의 블록 타입 정보(Block Type Information)와 예측 정보(Prediction Information)를 포함하는 예측 부호화 정보(Prediction Encoding Information)를 부호화한다.
본 발명의 실시예에서, 부호화 정보란 영상의 화소 정보를 블록 단위로 부호화할 때 화소 정보 그 자체가 아니라 화소 정보를 부호화하는 데 이용되는 부가적인 정보를 말한다. 이러한 부호화 정보로서는 블록의 블록 모드 정보, 분할 모드 정보, 스킵 움직임 정보, 블록 타입 정보, 예측 정보, 예측 부호화 정보, 변환 타입 정보(Transform Type Information), 부호화된 블록 패턴(CBP: Coded Block Pattern), 델타 양자화 파라미터(Delta Quantization Parameter), 스킵 타입 정보 등과 같은 정보가 될 수 있다.
블록 모드 정보란 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 정보를 말한다. 블록 모드란 블록을 부호화하지 않고 스킵할지 아니면 스킵하지 않고 부호화할지 여부를 나타내는 모드로서 스킵 모드(Skip Mode)와 넌스킵 모드(Non-skip Mode)의 두 가지 모드로 나타낼 수 있다. 이러한 블록 모드 정보는 예를 들어 블록의 블록 모드가 스킵 모드인지 또는 넌스킵 모드인지 여부를 나타내는 1 비트의 플래그(Flag)인 스킵 블록 플래그로 구현될 수 있지만, 반드시 이에 한정되지 않고 다른 다양한 방식으로 구현될 수도 있다.
스킵 모드(Skip Mode)란 블록 타입 정보, 움직임 정보 또는 변환계수와 같은 특정 정보들을 부호화하지 않는 모드를 뜻한다.
예를 들어, 영상 부호화 장치(100)가 입력 영상에서 현재 부호화하고자 하는 블록이 스킵 모드인 경우 스킵임을 나타내는 정보만을 부호화하고 그 외 블록 타입, 움직임 정보, 변환계수 등은 부호화지 않는 모드일 수 있다.
또 다른 예로, 스킵 모드는 블록의 움직임 정보만 부호화하고 타입정보, 변환계수와 같은 정보는 부호화 하지 않는 모드일 수 있다.
또 다른 예로, 스킵 모드는 블록의 변환타입과 변환계수만을 부호화하고 타입정보, 움직임 정보는 부호화 하지 않는 모드일 수 있다.
또 다른 구현 예로, 블록 크기 별로 스킵 모드인 경우의 전송하지 않는 정보들이 다를 수 있다. 예를 들어 64x64블록이 스킵모드인 경우에는 변환계수만을 부호화하고, 16x16블록이 스킵모드인 경우에는 움직임 정보만을 부호화할 수 있다.
분할 모드 정보란 블록이 더 작은 서브블록으로 분할되는지 여부를 나타내는 정보를 말한다.
예를 들어, 영상 부호화 장치(100)가 입력 영상에서 현재 부호화하고자 하는 블록이 매크로블록이고 매크로블록의 크기가 64x64 화소 크기의 블록이라고 가정하면, 64x64 화소 크기의 매크로블록은 두 개의 64x32 화소 크기의 서브블록, 하나의 64x32 화소 크기의 서브블록과 두 개의 32x32 화소 크기의 서브블록, 네 개의 32x32 화소 크기의 서브블록 등과 같이 다양한 크기와 개수의 서브블록으로 분할되어 서브블록 별로 부호화될 수 있는데, 분할 모드 정보는 매크로블록이 서브블록들로 분할되어 부호화되는지 여부를 나타낸다. 이러한 분할 모드 정보는 예를 들어 블록이 서브블록으로 분할되는지 또는 분할되지 않는지 여부를 나타내는 1 비트의 플래그인 분할 플래그(Partition Flag)로 구현될 수 있지만, 반드시 이에 한정되지 않고 다른 다양한 방식으로 구현될 수도 있다.
또 다른 예로, 분할 모드 정보는 블록이 특정 크기의 더 작은 서브블록으로 분할되는지 여부를 나타내는 정보를 말한다.
예를 들어 영상 부호화 장치(100)가 입력 영상에서 현재 부호화하고자 하는 블록이 매크로블록이고 매크로블록의 크기가 64x64화소 크기의 블록이라고 가정하면, 16x16블록으로 분할되는지를 나타내는 1 비트 플래그를 통해 64x64 화소 크기의 매크로블록은 16개의 16x16블록으로 분할될 수 있고 각 16x16블록에 대해서는 더 작은 서브블록으로 분할 될 수 있으며 서브블록의 모양을 나타내는 정보(분할 타입)를 통해 부호화 할 수 있다.
스킵 움직임 정보는 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 해당 블록에 대해 움직임 추정하여 결정된 움직임 벡터 그 자체나 해당 블록의 움직임 벡터와 해당 블록의 예측 움직임 벡터 간의 차분 벡터 및/또는 참조 픽처 인덱스를 말한다. 즉, 해당 블록의 블록 모드가 스킵 모드인 경우, 영상 부호화 장치(100)는 해당 블록의 계수 정보는 부호화하지 않고 스킵 움직임 정보만을 부호화하며, 후술할 영상 복호화 장치에서 스킵 움직임 정보를 복원하고 복원된 스킵 움직임 정보를 이용하여 해당 블록의 움직임을 보상하여 해당 블록을 복원한다.
스킵 모드의 또 다른 구현 예로, 부호화하고자 하는 참조 픽처 인덱스가 0인 경우에만 스킵 모드를 적용하여 블록의 블록 모드가 스킵 모드인 경우, 영상 부호화 장치(100)는 해당 블록에 대해 움직임 추정하여 결정된 움직임 벡터 그 자체나 해당 블록의 움직임 벡터와 해당 블록의 예측 움직임 벡터 간의 차분 벡터만을 부호화 하고 참조 픽처 인덱스와 해당 블록의 움직임 정보는 부호화하지 않는다. 후술하는 영상 복호화 장치에서는 결정된 움직임 벡터 그 자체 또는 해당 블록의 움직임 벡터와 해당 블록의 예측 움직임 벡터간의 차분 벡터만을 복원하고 참조 픽처 인덱스를 0 (즉, 바로 이전에 복원된 픽처를 참조 픽처로 사용)으로 하여 해당 블록을 움직임을 보상하여 해당 블록을 복원한다.
스킵 모드의 또 다른 구현 예로, 부호화하고자 하는 블록의 예측 움직임 벡터 결정 시 현재 부호화 대상 블록의 위쪽 블록과 왼쪽 블록의 움직임 벡터 중 하나 이상이 움직임 벡터가 제로벡터(Zero-Vector인 경우, 즉 {0,0})인 경우 예측 움직임 벡터로 제로벡터를 사용할 수 도 있다. 그 외의 경우 위, 왼쪽, 위-오른쪽 블록의 움직임 벡터의 중앙값을 예측 움직임 벡터로 사용한다. 후술하는 영상 복호화 장치에서는 현재 복호화 대상인 블록이 스킵 모드인 경우, 예측 움직임 벡터 결정시 위 또는 왼쪽 블록의 움직임 벡터가 {0,0}인 경우 예측 움직임 벡터로 {0,0}벡터를 사용하고 복원된 차이벡터를 복원하여 움직임 보상을 수행하여 해당 블록을 복원한다.
또 다른 구현 예로, 블록 크기 별 다른 예측 움직임 벡터를 사용하도록 할 수도 있다. 일 예로, 16x16보다 큰 블록에 대해서는 현재 부호화 대상 블록의 위쪽 블록과 왼쪽 블록의 벡터값과 상관없이 median vector를 예측 움직임 벡터로 사용하고 16x16 크기의 블록에 대해서는 현재 부호화 대상 블록의 위쪽 블록 또는 왼쪽 블록의 벡터가 (0,0)인 경우 zero-vector를 예측벡터로 사용하며 그 외의 경우 왼쪽 블록, 위쪽 블록, 위-왼쪽 블록의 세 개의 움직임 벡터의 median 벡터를 예측 움직임 벡터로 사용한다. (반대의 경우도 성립)
블록 타입 정보는 부호화하고자 하는 블록의 블록 모드가 스킵 모드가 아닌 경우, 해당 블록이 인터 블록인지 또는 인트라 블록인지 여부와 해당 블록의 서브블록의 분할 타입을 나타내는 정보를 말한다.
일 예로, 이러한 블록 타입 정보는 매크로블록 단위로 부호화 할 수 있으며 해당 매크로 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 1 비트의 블록 타입 플래그(Block Type Flag)와 해당 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보(Partition Type Information)를 포함하여 구현될 수 있다. 예를 들어, 블록 타입 플래그는 해당 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 1 또는 0의 이진 비트로 나타낼 수 있다. 분할 타입 정보는 서브블록의 분할 타입별 번호로 나타낼 수 있다. 다른 예로, 블록 타입 정보는 16x16 크기 단위로 부호화 할 수 있으며 현재 16x16블록이 인트라 블록인 경우 현재 블록 내 서브블록들은 모두 인트라 모드임을 나타낸다.
또 다른 예로, 블록 타입 정보는 해당 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 1 비트의 블록 타입 플래그와 해당 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보와 서브블록의 블록 모드가 스킵 모드인지 여부를 나타내는 1 비트의 스킵 서브블록 플래그(Skip Subblock Flag)를 포함하여 구현될 수 있다. 여기서, 스킵 서브블록 플래그는 해당 블록의 서브블록 각각이 스킵 모드인지 여부를 나타내며, 어느 서브블록이 스킵 모드인 경우, 해당 서브블록에 대해서는 부호화하지 않고 스킵함을 나타낸다. 즉, 부호화하고자 하는 블록의 서브블록들 중에서 어느 서브블록이 스킵 모드인 경우, 해당 서브블록에 대해서는 움직임 정보나 계수 정보가 부호화되지 않는다.
또 다른 예로, 블록 타입 정보는 해당 블록이 인터 블록인지 또는 인트라 블록인지 여부와 해당 블록의 서브블록의 분할 타입을 기초로 이용 가능한 복수 개의 블록 타입에 할당된 블록 타입 번호로 구현될 수 있다.
또한, 블록 타입 정보는 분할 모드 정보에 따라 부호화하고자 하는 블록의 블록 타입을 나타내거나 부호화하고자 하는 블록의 서브블록 각각의 블록 타입을 나타낼 수 있다. 예를 들어, 분할 모드 정보가 부호화하고자 하는 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 분할 타입 정보는 부호화하고자 하는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 해당 블록의 분할 타입(즉, 분할되지 않은 매크로블록의 타입)을 나타내며, 분할 모드 정보가 부호화하고자 하는 블록이 서브블록으로 분할됨을 나타내는 경우, 분할 타입 정보는 부호화하고자 하는 블록의 각 서브블록이 인터 블록인지 또는 인트라 블록인지 여부와 해당 블록의 서브블록들의 분할 타입을 나타낸다.
예측 정보는 부호화하고자 하는 블록 또는 해당 블록의 각 서브블록을 예측 부호화할 때, 예측에 이용된 정보를 말한다. 이러한 예측 정보는 인트라 예측 부호화를 위한 인트라 예측 모드에 대한 정보가 될 수도 있고 인터 예측 부호화를 위한 움직임 벡터에 대한 정보와 참조 픽처 인덱스(Reference Picture Index)에 대한 정보 등이 될 수 있다.
변환 타입 정보는 부호화하고자 하는 블록 또는 해당 블록의 각 서브블록을 변환 및 양자화할 때, 변환 및 양자화를 수행한 변환 단위에 대한 정보를 말한다. 예를 들어, 64x64 화소 크기의 블록이 더 이상 분할되지 않고 부호화되고 16x16 변환이 효율적인 것으로 결정된 경우에는 16x16 변환이 사용되었음을 나타내는 정보가 변환 타입 정보로 부호화될 수 있다.
부호화된 블록 패턴은 부호화하고자 하는 블록 또는 해당 블록의 각 서브블록의 계수가 모두 0인지 여부를 나타내는 정보를 말하며, 델타 양자화 파라미터는 부호화하고자 하는 블록 또는 해당 블록의 각 서브블록에 대한 양자화 파라미터를 나타내는 정보를 말한다.
이상에서 전술한 블록 모드 정보, 분할 모드 정보, 블록 타입 정보, 예측 정보, 분할 타입 정보, 부호화된 블록 패턴, 델타 양자화 파라미터는 부호화 정보 부호화기(110)가 입력 영상을 분석하여 결정할 수도 있지만, 영상 부호화기(200)가 입력 영상을 분석하여 결정할 수도 있다.
영상 부호화기(200)는 블록의 블록 타입 정보와 예측 정보를 기초로 블록의 계수 정보를 부호화한다. 예를 들어, 영상 부호화기(200)는 블록 모드 정보가 부호화하고자 하는 블록의 블록 모드가 스킵 모드가 아님을 나타내고, 블록 타입 정보가 해당 블록이 여러 가지의 형태와 크기의 서브블록으로 분할되었음을 나타내는 경우, 각 서브블록 별 예측 정보에 따라 각 서브블록을 인트라 예측 부호화하거나 인터 예측 부호화하여 해당 블록의 계수 정보를 부호화한다. 여기서, 계수 정보란 영상의 부호화하고자 하는 블록의 휘도 성분 및/또는 색차 성분을 예측하여 그 잔차 블록을 변환 및 양자화하여 생성되는 양자화된 변환 계수에 대한 정보를 말하며, 계수 정보가 부호화되어 텍스처 데이터(Texture Data)로서 비트스트림에 포함된다.
도 2는 본 발명의 실시예에 따른 영상 부호화기(200)를 개략적으로 도시한 도면이다. 도면을 참조하면, 영상 부호화기(200)는 예측기(Predictor)(210), 감산기(Subtracter)(220), 변환기 및 양자화기(Transformer and Quantizer)(230), 부호화기(Encoder)(240), 역양자화기 및 역변환기(Inverse Transformer and Inverse Quantizer)(250), 가산기(Adder)(260), 필터(Filter)(270) 및 픽처 버퍼(Picture Buffer)(280)를 포함하여 구성될 수 있다.
예측기(210)는 인트라 예측기(Intra Predictor)(212)와 인터 예측기(Inter Predictor)(214)를 포함하여 구성될 수 있으며, 인터 예측기(214)는 다시 움직임 추정기(Motion Estimator)(216)와 움직임 보상기(Motion Compensator)(218)를 포함하여 구성될 수 있다.
동영상의 하나의 픽처 또는 프레임으로 이루어진 입력 영상(Input Picture)은 NxN(단, N은 16이상의 정수) 화소를 가지는 매크로블록(Macroblock)들로 분할되고, 분할된 각 매크로블록은 도 1의 영상 부호화 장치(100)에 입력된다. 입력 영상이 4:2:0 포맷(Format)의 영상의 경우, 매크로블록은 NxN 화소를 가지는 휘도 블록(Luminance Block)과 두 개의 (M/2)x(N/2) 화소를 가지는 색차 블록(Chrominance Block)으로 이루어진다. 여기서, 매크로블록은 16x16 화소블록 뿐만 아니라, 32x32 화소블록, 64x64 화소블록 등을 포함하며, 16x16 화소블록보다 큰 매크로블록을 확장된 매크로블록이라고도 한다.
각 매크로블록은 도 3에 도시한 바와 같이 내부적으로 더 작은 서브블록(Subblock)으로 분할되어 인트라 예측 부호화(Intra Prediction Encoding) 또는 인터 예측 부호화(Inter Prediction Encoding)가 수행될 수 있다.
도 3은 본 발명의 실시예에 따른 인트라 예측 부호화와 인터 예측 부호화를 위한 매크로블록과 다양한 크기의 서브블록을 나타낸 예시도이다.
도 3은 N이 16 이상의 정수이며 최소 블록의 크기가 4x4화소인 경우의 매크로블록과 서브블록을 예시적으로 나타내었다. 매크로블록이 64x64 화소 블록일 때, 서브블록인 64x64 화소 블록, 64x32 화소 블록, 32x64 화소 블록, 32x32 화소 블록은 매크로블록 레이어(Layer) 0에 속하고, 서브블록인 32x32 화소 블록, 32x16 화소 블록, 16x32 화소 블록, 16x16 화소 블록은 매크로블록 레이어 1에 속한다. 여기서, 매크로블록 레이어 K(단, 0≤K≤log2(N/4))의 서브블록 중 제일 큰 서브블록이 4 개의 블록으로 분할된 경우에만 매크로블록 레이어 K+1의 서브블록들이 사용될 수 있다.
영상 부호화 장치(100)는 각 서브블록으로 매크로블록을 부호화했을 경우의 부호화 효율을 계산하고, 가장 부호화 효율이 높은 경우의 서브블록을 최종적인 인트라 예측 블록 또는 인터 예측 블록으로 결정할 수 있다. 부호화 효율은 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 기법에 근거하여 측정할 수 있다.
최소 블록의 크기는 최대로 사용할 수 있는 레이어값인 최대 레이어값(MaxLayer)에 따라 결정될 수 있다. 예를 들어, NxN 화소의 매크로블록인 경우, 최소 블록의 크기는 N/(2MaxLayer)로 결정될 수 있다.
도 4는 본 발명의 일 실시예에 따른 분할 타입별 번호를 나타낸 예시도이다.
매크로블록 레이어 K의 N/2K × N/2K 화소 블록이 더 이상 작은 서브블록으로 분할되지 않는 경우에는 매크로블록 레이어 K의 N/2K × N/2K 화소 블록에 분할 타입 번호 0이 할당된다. 매크로블록 레이어 K의 N/2K × N/2K 화소 블록이 두 개의 N/2K × N/2K+1 화소 블록으로 분할된 경우에는 매크로블록 레이어 K의 N/2K × N/2K 화소 블록에 분할 타입 번호 1이 할당된다. 매크로블록 레이어 K의 N/2K × N/2K 화소 블록이 두 개의 N/2K+1 × N/2K 화소 블록으로 분할된 경우에는 매크로블록 레이어 K의 N/2K × N/2K 화소 블록에 분할 타입 번호 2가 할당된다. 매크로블록 레이어 K의 N/2K × N/2K 화소 블록이 4 개의 N/2K+1 × N/2K+1 로 분할되는 경우에는 매크로블록 레이어 K의 N/2K × N/2K 화소 블록에 분할 타입 번호 3이 할당된다. 도 3에서 각 매크로블록 레이어 K의 N/2K × N/2K 화소 블록 내의 분할된 서브블록에 표시된 0, 1, 2, 3 등의 숫자는 각 서브블록을 식별하기 위한 파티션 번호(Partition Number)이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 영상 부호화 방법에 따르면, 영상 부호화 장치(100)는 영상의 부호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 블록 모드 정보를 부호화한다(S510). 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록의 계수 정보를 부호화할지 아니면 블록의 계수 정보는 부호화하지 않고 블록의 움직임 정보만을 부호화할지 여부를 결정하고, 블록의 움직임 정보만을 부호화하는 경우 블록 모드가 스킵 모드임을 나타내는 블록 모드 정보를 부호화하며, 블록의 움직임 정보뿐만 아니라 블록의 계수 정보도 부호화하는 경우 블록 모드가 스킵 모드가 아님을 나타내는 블록 모드 정보를 부호화한다.
영상 부호화 장치(100)는 해당 블록이 서브블록으로 분할되는지 여부를 나타내는 분할 모드 정보를 부호화한다(S520). 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록을 더 작은 서브블록으로 분할하여 서브블록 별로 부호화할지 아니면 블록을 더 작은 서브블록으로 분할하지 않고 부호화할지 여부를 결정하고, 블록을 더 작은 서브블록으로 분할하지 않고 부호화하는 경우 블록이 서브블록으로 분할되지 않음을 나타내는 분할 모드 정보를 부호화하며, 블록을 더 작은 서브블록으로 분할하여 부호화하는 경우 블록이 서브블록으로 분할됨을 나타내는 분할 모드 정보를 부호화한다. 예를 들어, 부호화하고자 하는 블록이 64x64 화소 크기의 매크로블록인 경우, 영상 부호화 장치(100)는 64x64 화소 크기의 매크로블록을 16x16 화소 크기의 서브블록들로 분할하여 부호화할지 분할하지 않고 부호화할지 여부를 결정하고, 그에 따라 분할 모드 정보를 부호화한다. 64x64화소 크기의 매크로블록을 16x16화소 크기의 서브블록들로 분할하여 부호화할 경우, 각각의 16x16 블록들은 더 작은 크기의 서브블록들로 분할될 수 있으며 블록타입을 부호화하여 복호화기에 전송한다
영상 부호화 장치(100)는 블록 모드 정보 및 분할 모드 정보의 조합에 따라 블록의 스킵 움직임 정보를 부호화하거나 블록의 블록 타입 정보 및 블록의 예측 정보를 포함하는 예측 부호화 정보를 부호화하고(S530), 블록 타입 정보 및 예측 정보를 기초로 블록의 계수 정보를 부호화한다(S540). 즉, 영상 부호화 장치(100)는 블록 모드 정보가 부호화하고자 하는 블록의 블록 모드가 스킵 모드임을 나타내는지 여부와 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는지 여부를 조합한 각 경우에 따라서 블록을 다른 방식으로 부호화한다.
이하에서는 부호화하고자 하는 블록이 64x64 화소 크기의 매크로블록이며 16x16 화소 크기의 서브블록으로 분할되는 경우를 가정하여 영상 부호화 장치(100)의 단계 S530 및 단계 S540의 수행 과정에 대해 예를 들어 설명한다.
단계 S530에서, 블록 모드 정보가 블록의 블록 모드가 스킵 모드임을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 영상 부호화 장치(100)는 블록에 대한 스킵 움직임 벡터를 부호화할 수 있다. 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록에 대해 64x64 화소 단위로 움직임 추정하여 부호화하고자 하는 블록과 가장 유사한 블록인 참조 블록을 참조 픽처 내에서 찾고 참조 블록과 부호화하고자 하는 블록의 상대적인 위치를 나타내는 움직임 벡터를 스킵 움직임 벡터로서 결정하고 참조 블록이 포함된 참조 픽처를 나타내는 참조 픽처 인덱스를 스킵 참조 픽처 인덱스로서 결정하며, 스킵 움직임 벡터와 스킵 참조 픽처 인덱스를 포함하는 스킵 움직임 정보를 부호화한다.
단계 S530에서, 영상 부호화 장치(100)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드임을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는 경우, 부호화하고자 하는 블록의 서브블록에 대한 스킵 움직임 벡터를 부호화할 수 있다. 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록의 각 서브블록에 대해 16x16 화소 단위로 움직임 추정하여 부호화하고자 하는 블록의 각 서브블록과 가장 유사한 블록인 참조 서브블록을 참조 픽처 내에서 찾고 참조 서브블록과 부호화하고자 하는 블록의 각 서브블록의 상대적인 위치를 나타내는 움직임 벡터를 스킵 움직임 벡터로서 결정하고 참조 서브블록이 포함된 참조 픽처를 나타내는 참조 픽처 인덱스를 스킵 참조 픽처 인덱스로서 결정하며, 스킵 움직임 벡터와 스킵 참조 픽처 인덱스를 포함하는 스킵 움직임 정보를 부호화한다. 따라서, 블록 모드 정보가 블록의 블록 모드가 스킵 모드임을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는 경우, 스킵 움직임 정보는 각 서브블록의 개수만큼 부호화된다.
단계 S530 및 단계 S540에서, 영상 부호화 장치(100)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 부호화하고자 하는 블록에 대한 블록 타입 정보 및 예측 정보를 포함하는 예측 부호화 정보를 부호화할 수 있다. 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록에 대해 64x64 화소 단위로 움직임 추정하여 부호화하고자 하는 블록과 가장 유사한 블록인 참조 블록을 참조 픽처 내에서 찾고 참조 블록과 부호화하고자 하는 블록의 상대적인 위치를 나타내는 움직임 벡터를 결정하고 참조 블록이 포함된 참조 픽처를 나타내는 참조 픽처 인덱스를 결정하며, 결정된 움직임 벡터를 기초로 부호화하고자 하는 블록의 움직임을 보상하여 생성되는 예측 블록과 부호화하고자 하는 블록 간의 차이인 잔여 블록을 변환 및 양자화한 계수 정보를 부호화하며, 예측 부호화에 이용되는 블록 타입 정보와 예측 정보 등도 부호화한다.
단계 S530 및 단계 S540에서, 영상 부호화 장치(100)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는 경우, 블록의 서브블록에 대한 블록 타입 정보 및 예측 정보를 포함하는 예측 부호화 정보를 부호화할 수 있다. 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록의 서브블록의 블록 타입이 인터 블록인 경우, 부호화하고자 하는 블록의 각 서브블록은 16x16, 16x8, 8x16, 8x8 크기의 서브블록으로 분할될 수 있으며 16x16블록이 4개의 8x8 크기의 서브블록으로 분할된 경우 각 8x8블록은 8x8블록 내에서 8x8, 8x4, 8x4, 4x4 크기의 더 작은 서브블록으로 분할 될 수 있다. 서브블록의 크기 단위로 움직임 추정하여 부호화하고자 하는 블록의 각 서브블록과 가장 유사한 블록인 참조 서브블록을 참조 픽처 내에서 찾고 참조 서브블록과 부호화하고자 하는 블록의 각 서브블록의 상대적인 위치를 나타내는 움직임 벡터를 결정하고 참조 서브블록이 포함된 참조 픽처를 나타내는 참조 픽처 인덱스를 결정하며, 결정된 각 서브블록에 대한 움직임 벡터를 기초로 부호화하고자 하는 블록의 각 서브블록의 움직임을 보상하여 생성되는 예측 서브블록과 부호화하고자 하는 블록의 각 서브블록 간의 차이인 잔여 서브블록을 변환 및 양자화한 계수 정보를 부호화하며, 예측 부호화에 이용되는 블록 타입 정보와 예측 정보 등과 같은 예측 부호화 정보도 부호화한다.
만약, 부호화하고자 하는 블록의 서브블록의 블록 타입이 인트라 블록인 경우에는 해당 서브블록의 인트라 예측 모드를 결정하고 결정된 인트라 예측 모드를 기초로 예측 부호화하여 계수 정보와 예측 부호화 정보를 부호화한다. 따라서, 블록 모드 정보가 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 계수 정보와 예측 부호화 정보는 각 서브블록의 개수만큼 부호화된다.
여기서, 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 블록의 서브블록의 분할 타입을 기초로 이용 가능한 복수 개의 블록 타입에 할당된 블록 타입 번호일 수 있다. 예측 부호화 정보는 서브블록에 대한 변환 타입 정보, 서브블록에 대한 부호화된 블록 패턴 및 서브블록에 대한 델타 양자화 파라미터 중 하나 이상을 추가로 포함할 수 있다. 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보를 포함할 수 있다.
또한, 블록 모드 정보가 부호화하고자 하는 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 해당 블록이 서브블록으로 분할됨을 나타내는 경우, 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보뿐만 아니라 서브블록의 블록 모드가 스킵 모드인지 여부를 나타내는 스킵 서브블록 플래그를 추가로 포함할 수 있다. 즉, 영상 부호화 장치(100)는 부호화하고자 하는 블록의 블록 모드가 스킵 모드가 아니고 해당 블록이 서브블록으로 분할되는 경우, 각 서브블록에 대해 반드시 계수 정보와 예측 부호화 정보를 부호화해야 하는 것은 아니며, 임의의 서브블록의 블록 모드가 스킵 모드인 경우에는 스킵 서브블록 플래그만을 부호화할 수 있다.
단계 S530에서, 영상 부호화 장치(100)는 블록 타입 정보를 부호화할 때, 트리 구조를 이용하여 분할 타입 정보를 부호화할 수 있다. 예를 들어, 영상 부호화 장치(100)는 복수 개의 서브블록을 일정한 영역 단위로 그룹화하고, 그룹화된 영역에 포함되는 서브블록들의 분할 타입값의 최소값을 그룹화된 영역에 대한 분할 타입값으로 할당하는 과정을 최상위 레이어까지 레이어별로 반복하며, 레이어별로 그룹화된 영역에 대한 분할 타입값과 상위 레이어의 그룹화된 영역에 대한 분할 타입값 간의 차이값을 부호화함으로써 분할 타입 정보를 부호화할 수 있다. 영상 부호화 장치(100)가 분할 타입 정보를 부호화하는 방법에 대해서는 후술하는 과정에서 도 7 및 도 8을 통해 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따라 부호화된 비트스트림의 신택스 구조를 나타낸 예시도이다.
전술한 본 발명의 일 실시예에 따른 영상 부호화 방법에 따라 영상 부호화 장치(100)가 입력 영상의 부호화하고자 하는 블록을 부호화하면 도 6에 도시한 바와 같은 신택스 구조를 가지는 비트스트림이 생성될 수 있다. 도 6에서는 부호화하고자 하는 블록에 대한 비트스트림을 나타내었다.
6A는 블록 모드가 스킵 모드인 경우의 비트스트림의 신택스 구조를 나타낸 것이다. 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 해당 블록을 부호화하여 생성되는 비트스트림은 블록 모드 정보 필드, 분할 모드 정보 필드 및 스킵 움직임 정보 필드를 포함하여 구성될 수 있다. 블록 모드 정보 필드에는 블록 모드 정보가 부호화된 데이터가 할당되고, 분할 모드 정보 필드에는 분할 모드 정보가 부호화된 데이터가 할당되며, 스킵 움직임 정보 필드에는 스킵 움직임 정보가 부호화된 데이터가 할당된다.
블록 모드가 스킵 모드인 경우에는 분할 모드 정보에 의해 식별되는 해당 블록의 분할 모드가 서브블록으로 분할되는 경우와 분할되지 않는 경우 모두, 해당 블록의 계수 정보는 부호화되지 않고 해당 블록에 대해 움직임 추정을 수행하여 결정되는 움직임에 대한 정보인 스킵 움직임 정보만이 부호화되어 스킵 움직임 정보 필드에 할당된다. 이때, 분할 모드가 서브블록으로 분할되지 않음을 나타내는 경우에는 해당 블록에 대해 움직임 추정되어 결정되는 움직임 정보가 스킵 움직임 정보로서 부호화되고, 분할 모드가 서브블록으로 분할됨을 나타내는 경우에는 해당 블록의 각 서브블록에 대해 움직임 추정되어 결정되는 각 서브블록에 대한 움직임 정보가 스킵 움직임 정보로서 부호화되어, 스킵 움직임 정보 필드에 할당된다.
6B는 블록 모드가 스킵 모드가 아닌 경우의 비트스트림의 신택스 구조를 나타낸 것이다. 부호화하고자 하는 블록의 블록 모드가 스킵 모드가 아닌 경우, 해당 블록을 부호화하여 생성되는 비트스트림은 블록 모드 정보 필드, 분할 모드 정보 필드, 블록 타입 정보 필드, 예측 정보 필드, CBP 서브블록 플래그 필드, 변환 타입 정보 필드, CBP 필드, 델타 QP 필드 및 계수 정보 필드를 포함하여 구성될 수 있다. 여기서, CBP 서브블록 플래그 필드, 변환 타입 정보 필드, CBP 필드 및 델타 QP 필드는 비트스트림에 반드시 포함되어야 하는 것은 아니며 구현 방식에 일부 또는 전부가 선택적으로 비트스트림에 포함될 수 있다.
블록 모드 정보 필드에는 블록 모드 정보가 부호화된 데이터가 할당되고, 분할 모드 정보 필드에는 분할 모드 정보가 부호화된 데이터가 할당된다. 블록 모드가 스킵 모드가 아닌 경우에는 분할 모드 정보에 의해 식별되는 해당 블록의 분할 모드가 서브블록으로 분할되는 경우와 분할되지 않는 경우 모두, 해당 블록의 계수 정보를 부호화한다. 따라서, 이 경우, 계수 정보를 부호화한 데이터가 비트스트림에 포함될 뿐만 아니라, 계수 정보를 부호화하는 데 이용된 다양한 정보인 예측 부호화 정보가 부호화된 데이터가 비트스트림에 포함된다. 이러한 예측 부호화 정보에는 블록 타입 정보 및 예측 정보가 포함될 수 있지만, CBP 서브블록 플래그, 변환 타입 정보, CBP, 델타 QP 등도 추가로 포함될 수 있다.
만약, 분할 모드 정보가 해당 블록이 서브블록으로 분할되지 않음을 나타내는 경우 예측 부호화 정보는 해당 블록에 대해서만 부호화되어 각 필드에 할당되고, 분할 모드 정보가 해당 블록이 서브블록으로 분할됨을 나타내는 경우 예측 부호화 정보는 해당 블록의 각 서브블록에 대해 부호화되어 각 필드에 할당된다. 계수 정보 필드에는 해당 블록 또는 해당 블록의 서브블록에 대한 계수 정보가 부호화된 데이터가 할당된다.
도 7 및 도 8은 본 발명의 일 실시예에 따라 트리 구조를 이용하여 분할 타입 정보를 부호화하는 과정을 설명하기 위한 예시도이다.
도 7에서는 트리 구조를 이용하여 분할 타입 정보를 부호화하기 위해 부호화하고자 하는 블록의 각 서브블록에 대한 분할 타입값을 일정한 영역 단위로 묶어 레이어별 분할 타입값으로 나타내었다.
7A는 부호화하고자 하는 블록 내의 각 서브블록과 각 서브블록에 대한 분할 타입값을 나타낸 것이다. 7A에서, Mx(a,b)는 부호화하고자 하는 블록 내의 (a,b)의 위치에 해당하는 서브블록의 분할 타입 값을 나타낸다. 즉, Mx(0,0)은 부호화하고자 하는 블록 내의 (0,0)의 위치에 해당하는 서브블록(즉, 부호화하고자 하는 블록 내에서 래스터 스캔(Raster Scan) 방향으로 첫 번째 서브블록)의 분할 타입 값을 나타내고, Mx(0,1)은 부호화하고자 하는 블록 내의 (0,1)의 위치에 해당하는 서브블록(즉, 부호화하고자 하는 블록 내에서 래스터 스캔 방향으로 두 번째 서브블록)의 분할 타입 값을 나타낸다.
7A에 나타낸 서브블록들의 분할 타입 값들을 일정한 영역 단위(예를 들면, 두 개 이상의 서브블록을 포함하는 일정한 영역 단위)로 그룹화하고, 그룹화된 영역에 포함되는 서브블록들의 분할 타입 값의 최소값을 선택하여 그룹화된 영역에 대한 분할 타입 값으로 할당한다.
7B는 7A에 나타낸 서브블록들의 분할 타입 값들을 그룹화하여 최소값을 그룹화된 영역에 대한 분할 타입 값으로 할당한 결과를 나타내었다. 예를 들어, 7A에 나타낸 서브블록 (0,0), (0,1), (1,0), (1,1)을 포함하는 영역을 일정한 영역 단위로 설정하여 그룹화하고, 그룹화된 영역 내에 포함된 각 서브블록들의 분할 타입 값 MX(0,0), MX(0,1), MX(1,0), MX(1,1) 중 최소값을 선택하여 그룹화된 영역인 MX -1(0,0)의 분할 타입 값으로 할당하였다. 다시, 서브블록 (0,2), (0,3), (1,2), (1,3)을 포함하는 영역을 일정한 영역 단위로 설정하여 그룹화하고, 그룹화된 영역 내에 포함된 각 서브블록들의 분할 타입 값 MX(0,2), MX(0,3), MX(1,2), MX(1,3) 중 최소값을 선택하여 그룹화된 영역인 MX -1(0,1)의 분할 타입 값으로 할당하였다. 이와 같은 방식으로 나머지 서브블록들에 대해서도 동일한 과정을 수행한다. 7A에 나타낸 서브블록들의 분할 타입 값을 7B에 나타낸 그룹화된 영역의 분할 타입 값으로 할당하는 과정을 MX -2, MX -3 … M1 레이어(Layer)까지 반복적으로 수행하면 7C와 같이 그룹화된 영역의 분할 타입 값을 할당할 수 있으며, 다시 M0 레이어까지 반복하면 7D와 같이 하나의 그룹화된 영역의 분할 타입 값을 가지도록 그룹화할 수 있다.
다만, 도 7에서는 일정한 영역 단위가 주변에 인접한 네 개의 서브블록들을 포함하는 영역으로 설정되는 것으로 설명했지만, 반드시 이에 한정되지 않고 주변에 인접한 여덟 개의 서브블록들을 포함하는 영역, 인접하지 않은 여섯 개의 서브블록들을 포함하는 영역 등과 같이 다양한 방식으로 서브블록들을 그룹화하여 분할 타입 값을 할당할 수도 있다.
도 7에 도시한 바와 같이 부호화하고자 하는 블록의 서브블록들의 분할 타입 값을 그룹화된 영역의 분할 타입 값으로 할당한 것을 트리 구조로 나타내면 도 8과 같이 나타낼 수 있다.
도 8에서는 레이어별로 그룹화된 영역에 대한 분할 타입 값을 트리 구조로 예시적으로 나타내었다. 레이어별 그룹화된 영역에 대한 분할 타입 값을 노드값(Node Value)이라고 가정하면, 도 8에 도시된 트리 구조의 노드값들은 상위 노드(Node)의 노드값과의 차이값을 부호화함으로써 부호화될 수 있다.
노드값들과 상위 노드의 노드값의 차이값을 부호화하는 방법은 차이값만큼의 이진 비트 0을 부호화하고 마지막에 이진 비트 1을 부호화한다. 만약, 현재 부호화할 노드의 노드값과 상위 노드의 노드값의 차이가 0인 경우에는 이진 비트 1을 부호화한다. 0과 1의 이진 비트를 부호화할 때 예를 들어 산술 부호화 방법을 이용할 수 있는데, 이때 각 레이어별로 다른 콘텍스트(Context)를 이용할 수 있다.
이와 같이, 트리 구조를 이용하여 분할 타입 값 즉, 노드값을 부호화할 때, 최상위 노드의 노드값(이하 '최상위 노드값'이라 칭함)은 후술하는 세 가지의 예와 같이 부호화될 수 있다. 일 예로, 최상위 노드값은 0과의 차이값을 전술한 바와 같이 0과 1의 이진 비트를 이용하여 부호화함으로써 부호화될 수 있다. 다른 예로, 분할 타입 값으로 분할 타입 별 번호가 설정되고 분할 타입의 발생 빈도수가 높은 순서로 큰 분할 타입별 번호가 설정된 경우, 최상위 노드값은 가장 큰 분할 타입 번호와의 차이값을 0과 1의 이진 비트를 이용하여 부호화함으로써 부호화될 수 있다. 또 다른 예로, 분할 타입 값으로 분할 타입 별 번호가 설정되고 분할 타입의 발생 빈도수가 높은 순서로 작은 분할 타입 별 번호가 설정된 경우, 최상위 노드값은 가장 작은 분할 타입 번호와의 차이값을 0과 1의 이진 비트를 이용하여 부호화함으로써 부호화될 수 있다.
최상위 노드를 제외한 나머지 노드값들은 부호화하고자 하는 노드의 노드값과 해당 노드의 상위 노드의 노드값의 차이값을 이진 비트 0과 1을 이용하여 부호화함으로써 부호화될 수 있다. 즉, 차이값만큼의 개수의 이진 비트 0을 부호화하고 마지막에 이진 비트 1을 부호화함으로써 각 노드값들이 부호화될 수 있다. 만약, 부호화하고자 하는 노드의 노드값과 상위 노드의 노드값의 차이가 0인 경우에는 이진 비트 1을 부호화한다. 또한, 이와는 반대로, 차이값만큼의 개수의 이진 비트 1을 부호화하고 마지막에 이진 비트 0을 부호화함으로써 각 노드값들이 부호화될 수도 있으며, 이때 차이값이 0인 경우, 이진 비트 0을 부호화할 수 있다.
다만, 각 노드값을 부호화할 때 상위 노드값이 분할 타입 번호가 가질 수 있는 최대값인 경우, 해당 상위 노드의 하위 노드들의 노드값들은 부호화되지 않는다. 예를 들어, M1(0,0) 노드의 노드값이 3인 경우, M1(0,0) 노드의 하위 노드인 M2(0,0), M2(0,1), M2(1,0), M2(1,1) 노드의 노드값은 부호화되지 않는다. 즉, M1(0,0)은 M2(0,0), M2(0,1), M2(1,0), M2(1,1)의 최소값이므로 M2(0,0), M2(0,1), M2(1,0), M2(1,1)은 모두 3이상의 값을 가진다. 하지만, 도 4에서 분할 타입 값의 최대값은 3이므로 M2(0,0), M2(0,1), M2(1,0), M2(1,1)은 3 이외의 다른 값을 가질 수 없기 때문에 부호화할 필요가 없다.
또한, 부호화하고자 하는 노드와 상위 노드의 차이값을 부호화할 때, 부호화하고자 하는 노드의 노드값이 분할 타입 번호가 가질 수 있는 최대값인 경우, 차이값만큼의 개수의 이진 비트 0만을 부호화하고, 마지막에 이진 비트 1을 부호화하지 않는다. 예를 들어, 부호화하고자 하는 노드의 상위 노드의 노드값 M1(0,0)와 부호화하고자 하는 노드의 노드값 M2(0,0), M2(0,1), M2(1,0), M2(1,1)이 각각 1, 2, 3, 3, 2라고 가정하면, 노드값 M2(0,0)와 M2(1,1)은 이진 비트 01을 부호화하고 노드값 M2(0,1)과 M2(1,0)은 이진 비트 001이 아니라 00을 부호화한다.
또한, 같은 상위 노드를 가지는 노드들 중 마지막 노드의 노드값을 부호화하는 경우, 마지막 노드를 제외한 노드들의 노드값이 상위 노드의 노드값보다 모두 큰 경우 마지막 노드의 노드값은 부호화하지 않는다. 예를 들어, 부호화하고자 하는 노드의 상위 노드의 노드값 M1(0,0)과 부호화하고자 하는 노드의 노드값 M2(0,0), M2(0,1), M2(1,0), M2(1,1)이 각각 1, 2, 3, 3, 1이라고 가정하면, 노드값 M2(0,0), M2(0,1), M2(1,0)이 모두 노드값 M1(0,0)보다 크므로, 제일 마지막 노드의 노드값 M2(1,1)는 부호화하지 않는다.
한편, 최상위 노드를 제외한 나머지 노드값들은 전술한 바와 같이 부호화하고자 하는 노드의 노드값과 해당 노드의 상위 노드의 노드값의 차이값을 이진 비트 0과 1을 이용하여 부호화함으로써 부호화될 수도 있지만, 이와는 달리 각 노드의 노드값과 분할 타입의 발생 빈도수가 가장 높은 분할 타입값의 차이값을 부호화함으로써 부호화될 수 있다. (여기서 발생 빈도수가 가장 높은 분할 타입값은 고정값을 사용할 수도 있고 고정값이 아닐 수도 있다. 고정값이 아닌 경우, 부호화하여 복호화기에 전송할 수도 있고 또는 전송하지 않을 수도 있는데 전송하지 않는 경우 현재 블록 이전에 부호화화된 블록들의 통계를 누적하여 현재까지 발생 빈도수가 가장 높은 모드를 사용할 수 도 있다.) 트리 구조를 이용하여 분할 타입 정보를 부호화하는 또 다른 실시예로 7A에 나타낸 서브블록들의 분할 타입 값들을 그룹화하여 7B의 그룹화된 영역의 분할 타입 값을 정할 때 발생빈도수가 높은 순서로 큰 분할 타입 별 번호가 설정된 경우 그룹화된 영역의 값들 중 최대값을 그룹화된 영역의 분할 타입 값으로 사용할 수 있다.
도 9 및 도 10은 본 발명의 실시예에 따른 트리 구조의 예를 설명하기 위해 도시한 도면이다. 부호화하고자 하는 블록 내의 (a,b) 위치에 해당하는 서브블록들의 분할 타입 값이 도 9의 (a)에 도시한 바와 같이 래스터 스캔 방향으로 {0, 2, 1, 2, 1, 2, 2, 0, 1, 0, 0, 1, 2, 1, 1}이라고 가정하면, 각각의 서브블록들의 분할 타입 값들은 인접한 네 개의 서브블록 단위로 그룹화할 수 있다. 이 경우, 최우측이나 최하단의 나머지들은 네 개의 서브블록이 되지 않더라도 나머지들끼리의 그룹화가 가능하다. 이와 같이 (a)에 도시한 서브블록들의 분할 타입 값을 그룹별로 나타내면, 래스터 스캔 방향으로 제1 그룹은 {0, 2, 2, 2}이며, 제2 그룹은 {1, 2, 0, 1}이고, 제3 그룹은 {1, 0}이며, 제4 그룹은 {0, 1}이고, 제5 그룹은 {2, 1}이며, 제6 그룹은 {1}이 될 수 있다. 각각의 그룹에 포함되는 서브블록들의 분할 타입 값의 최소값을 선택하여 그룹화된 영역에 대한 분할 타입 값으로 할당하면, 도 9의 (b)에 나타낸 바와 같이 래스터 스캔 방향으로 {0, 0, 1, 0, 1, 1}이 된다. 이와 같은 분할 타입 값들은 (a)의 경우와 마찬가지로 인접한 네 개의 분할 타입 값들로 그룹화할 수 있다. (b)에 나타낸 분할 타입 값들에 대한 각각의 그룹들에서 최소값을 선택하여 그룹화된 영역에 대한 분할 타입 값으로 할당하면, 도 9의 (c)에 나타낸 바와 같이 래스터 스캔 방향으로 {0, 1}이 되며, 이에 대하여 최종적으로 최소값을 선택하여 분할 타입 값으로 할당하면 도 9의 (d)에 나타낸 바와 같이 0이 된다. 이와 같은 과정을 트리 구조로 나타내면 도 10과 같다.
다음에 변환 타입 정보를 부호화/복호화하는 방법에 대하여 설명한다.
변환 타입의 부호화는 우선 블록의 모드에 따라 최하위 노드를 생성한다. 이때, 블록 모드가 스킵 모드인 경우에는 노드를 생성하지 않을 수 있다. 다음에 변환 타입의 선택에 따라 최하위 노드를 생성한다. 이때, 변환 타입을 선택하는 단위는 또는 방법이 부호화되어 전송됨으로써 부호화기와 복호화기가 동일한 방법으로 동작하도록 하는 것이 바람직하다.
변환 타입의 부호화는 매크로블록에 대하여 16x16 화소블록 단위로 변환 타입을 선택하여 부호화할 수 있다. 이 경우, 16x16 화소 블록 내의 서브블록은 동일한 타입의 변환을 사용할 수 있다. 즉, 16x16 화소블록보다 큰 블록인 경우에도 16x16 블록 단위로 변환타입을 선택할 수 있으며, CBP16 플래그가 0이 아닌 16x16 화소블록마다 변환타입을 전송할 수 있다. 여기서, 16x16 화소블록이 8x8 화소블록보다 작은 블록으로 분할되었더라도 변환 타입을 선택하여 부호화할 수 있으며, 16x16 화소블록이 8x8 화소블록보다 작은 블록으로 분할된 경우에는 고정된 변환(예를 들면, 4x4 화소블록)을 사용하도록 하여 변환타입을 부호화하지 않을 수도 있다.
또는, 16x16 이상인 크기의 블록에 대해서는 블록단위로 변환타입을 선택하고 16x16 보다 작은 블록으로 분할된 경우에는 16x16 블록단위로 변환타입을 선택하여 부호화할 수도 있다.
이때, 변환 타입의 부호화는 변환 타입 별 선택 가능한 변환의 개수와 상관없이 고정된 표 1을 사용할 수 있으며, 선택 가능한 변환의 개수에 따라 표 2를 사용할 수도 있다.
도 11 및 도 12는 본 발명의 실시예에 따른 변환 타입의 부호화 및 복호화를 설명하기 위해 도시한 도면으로서, 도 11은 16x16 이상의 블록에 대해서는 해당 블록 단위로 변환타입을 선택하고 16x16 화소블록보다 작은 블록으로 분할된 경우에는 16x16 화소블록 단위로 변환타입을 선택하는 경우의 매크로블록 번호를 나타내며, 도 12는 도 11에 대한 각각의 블록 모드 및 선택된 변환타입을 예시한 도면이다. 여기서, 16x16 화소블록 내의 서브블록이 8x8 화소블록보다 작은 블록으로 분할된 경우에는 4x4 변환을 사용하고, 변환 타입 별 선택 가능한 변환의 개수와 관계없이 표 1에 따라 변환 타입을 부호화하는 것으로 가정한다.
도 11 및 도 12를 참조하면, 매크로블록 번호 0은 스킵 모드이다. 또한, 매크로블록 번호 1은 CBP16 플래그가 0인 블록과 8x8 변환을 사용하는 블록들을 포함하며, 매크로블록 번호 2는 CBP16 플래그가 0인 블록들과 4x4 변환을 사용하는 블록들을 포함한다. 매크로블록 번호 3은 CBP32 플래그가 1로서 16x16 변환을 사용하며, 매크로블록 번호 4는 16x8 변환을 사용하는 블록들, 16x16 변환을 사용하는 블록 및 8x16 변환을 사용하는 블록들을 포함한다. 이때, 매크로블록 번호 4의 나머지 블록은 8x8 화소블록보다 작은 블록으로 분할되어 있으므로 고정된 4x4 변환을 사용하며 이 경우 변환타입은 부호화하지 않을 수 있다. 또한, 매크로블록 번호 5는 4x4 변환을 사용하는 블록들과 8x8 화소블록보다 작은 블록으로 분할된 블록들을 포함한다. 이때, 8x8 화소블록보다 작은 블록으로 분할된 블록들은 고정된 4x4 변환을 사용하므로 변환타입을 부호화하지 않을 수 있다. 매크로블록 번호 6은 CBP32 플래그가 1로서 4x4 변환을 선택하여 부호화함을 나타내고, 매크로블록 번호 7은 8x8 변환을 사용하는 블록과 4x4 변환을 사용하는 블록 및 스킵 모드인 블록을 포함한다. 또한, 매크로블록 번호 8은 4x4 변환을 사용하는 블록들과 8x8 화소블록보다 작은 불록으로 분할되어 고정된 4x4 변환을 사용하는 블록들을 포함한다. 도 12에는 변환 타입을 부호화하지 않는 블록에 대하여 구분하여 표시하였다. 특히, 빗금으로 구분한 블록은 SKIP 블록이거나 CBPX 플래그가 0인 블록으로서 변환 계수가 없는 블록을 나타내며, 십자의 격자무늬로 구분한 블록은 고정된 변환을 사용하는 블록으로서 복호기에서 해당하는 변환 타입을 알 수 있으므로 변환 타입을 전송할 필요가 없는 블록을 나타낸다.
도 12의 각각의 블록에 대한 선택된 변환 타입에 표 1을 적용하면 도 13과 같이 최하위 노드값을 나타낼 수 있으며, 도 13에 나타낸 각각의 블록들의 노드값들에서 최소값을 선택하여 노드값으로 할당하면 도 14와 같은 상위 노드를 얻을 수 있다. 예를 들어, 도 12에서 매크로블록 번호 0은 변환 타입의 부호화 비트가 없다. 매크로블록 번호 1은 도 15와 같이 최하위 노드값이 {1, 1, 1}이므로 최소값 1을 최상위 노드값으로 할당하며, 최상위 노드값 1과 0과의 차이값을 나타내는 부호화 비트 01을 부호화하고 최하위 비트는 최상위 노드값 1과의 차이값을 나타내는 부호화 비트 111을 부호화한다. 매크로블록 번호 2는 노드가 1개이므로 매크로블록 내의 두 번째 16x16 화소블록의 변환 타입값 0과 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 1로 나타낼 수 있다. 매크로블록 번호 3은 블록 타입이 32x32 화소블록이므로 32x32 블록의 변환 타입값 2와 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 00으로 나타낼 수 있다. 매크로블록 번호 4는 매크로블록 내의 세 번째의 16x16 블록이 8x8 화소보다 작은 서브블록으로 분할되었으므로 고정된 변환 타입(예를 들면, 4x4 변환)을 사용하며 따라서 변환 타입을 부호화하지 않아도 된다. 그러므로, 세 번째 16x16 블록에 해당하는 노드를 생성하지 않으며 그 외 3개의 16x16 화소블록에 대해서만 노드를 생성하고, 최상위 노드값 2와 0과의 차이값만을 부호화한다. 즉, 도 16에 도시한 바와 같이 최하위 노드값인 {2, 2, 2}로부터 최소값인 최상위 노드값을 선택하며, 최상위 노드값 2와 0과의 차이값에 대한 부호화 비트는 00을 부호화한다. 매크로블록 번호 5는 매크로블록 내 두 번째 16x16 화소블록이 8x8 화소블록보다 작은 서브블록으로 분할되었으므로 고정된 변환 타입(4x4 변환)을 사용하며 변환 타입을 부호화하지 않아도 된다. 따라서 두 번째 16x16 화소블록에 해당하는 노드를 생성하지 않는다. 이 경우, 노드가 한 개뿐이므로 첫 번째 16x16 화소블록의 변환 타입값 0과 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 1로 나타낼 수 있다. 매크로블록 번호 6은 노드가 한 개이므로 매크로블록 내 두 번째 16x16 블록의 변환 타입값 0과 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 1로 나타낼 수 있다. 매크로블록 번호 7은 매크로블록 내의 첫 번째 16x16 화소블록과 세 번째의 16x16 화소블록에 대해서는 노드를 생성하지 않으며, 도 17에 나타낸 바와 같이 최하위 노드값은 {1, 0}이므로 최상위 노드값 0과 0의 차이값을 나타내는 부호화 비트 1을 부호화하고, 두 번째 16x16 화소블록의 변환 타입값 1과 최상위 노드값과의 차이값을 나타내는 부호화 비트 01을 부호화한다. 또한, 네 번째 16x16 화소블록의 변환 타입값은 CBP16 플래그가 1이며 4x4 변환을 사용하므로 변환 타입값을 부호화하지 않을 수 있다. 매크로블록 번호 8은 노드가 한 개이므로 매크로블록 내 첫 번째 16x16 화소블록의 변환타입 값 0과 0과의 차이값을 나타내는 부호화 비트 1을 부호화한다.
도 12의 각각의 블록에 대한 선택된 변환 타입에 표 2를 적용하면 도 18과 같이 최하위 노드값을 나타낼 수 있다. 이 경우에도 변환 타입을 부호화하지 않는 블록에 대해서는 구분하여 표시하였다.
이에 대하여 상세하게 살펴보면, 매크로블록 번호 0은 변환 타입의 부호화 비트가 없다. 매크로블록 번호 1은 도 15와 같이 최하위 노드값이 {2, 2, 2}이므로 최소값 2를 최상위 노드값으로 할당하며, 최상위 노드값 2와 0과의 차이값을 나타내는 부호화 비트 00을 부호화한다. 매크로블록 번호 2는 노드가 1개이므로 매크로블록 내의 두 번째 16x16 화소블록의 변환 타입값 0과 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 1로 나타낼 수 있다. 매크로블록 번호 3은 블록 타입이 32x32 화소블록이므로 32x32 블록의 변환 타입값 1과 0과의 차이값을 부호화한다. 이 경우, 부호화 비트는 01로 나타낼 수 있다. 매크로블록 번호 4는 매크로블록 내의 세 번째의 16x16 블록이 8x8 화소보다 작은 서브블록으로 분할되었으므로 고정된 변환 타입(예를 들면, 4x4 변환)을 사용하며 따라서 변환 타입을 부호화하지 않아도 된다. 그러므로, 세 번째 16x16 블록에 해당하는 노드를 생성하지 않으며 그 외 3개의 16x16 화소블록에 대해서만 노드를 생성하고, 최상위 노드값 1과 0과의 차이값만을 부호화한다. 즉, 도 19에 도시한 바와 같이 최하위 노드값인 {1, 1, 1}로부터 최소값인 최상위 노드값을 선택하며, 최상위 노드값 1과 0과의 차이값에 대한 부호화 비트 01을 부호화한다. 이때, 최하위 노드값을 나타내는 부호화 비트로 111이 부호화될 수 있다. 매크로블록 번호 5는 매크로블록 내 두 번째 16x16 화소블록이 8x8 화소블록보다 작은 서브블록으로 분할되었으므로 고정된 변환 타입(4x4 변환)을 사용하며 변환 타입을 부호화하지 않아도 된다. 따라서 두 번째 16x16 화소블록에 해당하는 노드를 생성하지 않는다. 이 경우, 노드가 한 개뿐이므로 첫 번째 16x16 화소블록의 변환 타입값 0과 0과의 차이값을 나타내는 부호화 비트는 1을 부호화한다. 매크로블록 번호 6은 노드가 한 개이므로 매크로블록 내 두 번째 16x16 블록의 변환 타입값 0과 0과의 차이값을 나타내는 부호화 비트 1을 부호화한다. 매크로블록 번호 7은 매크로블록 내의 첫 번째 16x16 화소블록과 세 번째의 16x16 화소블록에 대해서는 노드를 생성하지 않으며, 도 20에 나타낸 바와 같이 최하위 노드값은 {2, 0}이므로 최상위 노드값 0과 0의 차이값을 나타내는 부호화 비트 1을 부호화하고, 두 번째 16x16 화소블록의 변환 타입값 2와 최상위 노드값과의 차이값을 나타내는 부호화 비트 00을 부호화한다. 또한, 네 번째 16x16 화소블록의 변환 타입값은 CBP16 플래그가 1이며 4x4 변환을 사용하므로 변환 타입값을 부호화하지 않을 수 있다. 매크로블록 번호 8은 노드가 한 개이므로 매크로블록 내 첫 번째 16x16 화소블록의 변환타입 값 0과 0과의 차이값을 나타내는 부호화 비트 1을 부호화한다.
다음에 CBP 정보를 부호화/복호화하는 방법에 대하여 설명한다.
도 21은 본 발명의 일 실시예에 따른 CBPX_플래그와 CBP를 부호화 과정의 예를 나타낸 흐름도이다. 도 21에서는 매크로블록이 64x64 화소 블록인 경우, 인트라 매크로블록에 대한 CBPX_플래그와 CBP를 부호화하는 과정의 예를 나타내었다. 부호화 정보 부호화기(110)는 매크로블록의 서브블록의 크기가 64x64, 64x32 및 32x64 중 하나인지 여부를 판단하며(S2110), 서브블록의 크기가 64x64, 64x32 및 32x64 중 하나가 아닌 경우에는 서브블록의 크기가 32x32, 32x16 및 16x32 중 하나인지 여부를 판단한다(S2120). 이때, 매크로블록을 16x16 화소 단위로 분할하여 인트라 예측을 수행하는 경우, 단계 S2110에서는 서브 블록의 크기가 64x64 화소 블록인지 즉, 매크로블록 단위로 인트라 예측 부호화를 수행하는지 판단하며, 단계 S2120에서는 서브 블록의 크기가 64x64 화소 블록이 아닌 경우에 서브 블록의 크기가 32x32 화소 블록인지를 판단할 수 있다. 단계 S2120의 판단 결과, 그 서브블록의 크기가 32x32, 32x16 및 16x32 중 하나이거나 32x32 화소 블록인 경우, 서브블록 내 0이 아닌 변환 계수가 있는지 여부를 판단하며(S2130), 0이 아닌 변환 계수가 있는 경우에는 해당 서브블록 내에 0이 아닌 부호화할 계수가 있음을 나타내는 CBP32 플래그(예를 들어, '1'과 같이 1 비트로 표시될 수 있다)를 부호화하고(S2140), 서브블록 내에서 16x16 화소 블록 단위로 CBP를 부호화하며(S2150), 서브블록 내 0이 아닌 변환 계수가 없는 경우에는 서브블록 내에 0이 아닌 변환 계수가 없음을 나타내는 CBP32 플래그(예를 들어, '0'과 같이 1비트로 표시될 수 있다)를 부호화한다(S2160).
여기서, CBP64 플래그는 64x64 화소 블록 내 0이 아닌 부호화할 계수의 존재 유무를 나타내는 플래그이다. 마찬가지로, CBP32 플래그는 32x32 화소 블록 내 0이 아닌 부호화할 계수의 존재 유무를 나타내는 플래그이다. 이와 같은 CBPX 플래그(X는 32, 64 등)는 휘도 성분의 잔여 블록이 0이 아닌 변환계수를 가지지 않는 경우에는 변환 타입을 전송할 필요가 없으므로, 휘도 성분 블록들이 0이 아닌 변환계수를 가지는지를 나타내는 데 사용된다. CBP는 16x16 화소 블록 단위로 부호화되며, 16x16 화소 블록 내 각 8x8 화소 블록 당 0이 아닌 변환 계수가 있는지 여부를 8x8 화소 블록 당 1비트를 이용하여 나타내고, 색차 성분에 대해서는 두 개의 2x2 색차 성분 DC 블록 내 0이 아닌 변환 계수가 있는지 여부를 1 비트를 이용하여 나타내며, 두 개의 8x8 색차 성분 AC 블록 내 0이 아닌 변환 계수가 있는지 여부를 1 비트를 이용하여 나타낸다.
한편, 단계 S2120에서, 서브블록의 크기가 32x32, 32x16 및 16x32 중 하나가 아니거나 32x32 화소 블록이 아닌 경우에는, 단계 S2150으로 진행하여 CBP를 부호화한다. 이때, 서브 블록의 크기가 32x32, 32x16 또는 16x32 화소 블록이 아닌 경우에 서브 블록의 크기가 16x16, 16x8 또는 8x16 화소 블록인지를 판단할 수 있다. 서브 블록이 16x16, 16x8 또는 8x16 화소 블록인 경우, 해당 서브 블록 내에 0이 아닌 부호화할 계수가 있는 경우에는 CBP16 플래그(예를 들어, '1'과 같이 1 비트로 표시될 수 있음)를 부호화하며, 그 외의 경우에는 CBP 플래그를 사용하지 않고 16x16 화소 블록 단위로 CBP를 부호화할 수 있다.
또한, 단계 S2110에서, 서브블록의 크기가 64x64, 64x32 및 32x64 중 하나 이거나 64x64 화소 블록인 경우에는 서브블록 내 0이 아닌 변환 계수가 있는지 여부를 판단하여(S2170), 서브블록 내 0이 아닌 변환 계수가 있는 경우에는 0이 아닌 변환 계수가 있음을 나타내는 CBP64 플래그(예를 들어, '1'과 같이 1 비트로 표시될 수 있다)를 부호화하고(S2180), 서브블록 내 0이 아닌 부호화할 계수가 없는 경우에는 0이 아닌 부호화할 계수가 없음을 나타내는 CBP64 플래그(예를 들어, '0'과 같이 1 비트로 표시될 수 있다)를 부호화한다(S2190). 여기서, CBP64 플래그는 64x64 화소 블록 내 0이 아닌 양자화된 변환 계수의 존재 유무를 나타내는 플래그이다.
CBP 플래그를 부호화하는 경우에 대하여, CBP 플래그가 0이 아닌 경우에 변환 타입을 부호화한다. 예외적으로, 16x16 화소 블록이 네 개의 8x8 화소 블록으로 분할된 경우에는 CBP를 부호화한 후 CBP가 0이 아닌 경우에 16x16 화소 블록 단위로 적용되는 변환 타입을 부호화한다.
변환 타입을 부호화한 후에는 변환 타입에 따라 CBP를 부호화한다. 16x16 변환이 사용된 경우에는 색차 성분의 CBP 2비트만 부호화하며, 8x16 또는 16x8 변환이 사용된 경우에는 16x16 화소 블록 내의 두 개의 8x16 또는 16x8 화소 블록이 0이 아닌 변환 계수를 가지는지를 나타내는 CBP 2비트를 부호화한다. 다만, 예외적으로 두 개의 분할블록 중 첫 번째 분할블록의 CBP 비트가 0인 경우에는 두 번째 분할 블록의 CBP 비트는 부호화하지 않을 수 있다.
도 22는 부호화 정보 부호화기(110)에서 선택된 블록 모드 및 선택된 블록 타입을 예시한 도면이다. CBP는 블록 내 0이 아닌 변환계수가 있는지 여부를 나타내는 1비트 플래트이며, 여기서 선택된 변환의 종류에 따라 CBP 비트를 부호화/복호화하는 블록의 단위는 달라진다. 도 22에서 부호화할 변환계수가 없는 블록(예를 들면, SKIP 모드인 블록, CBPX 플래그가 0인 블록 등)은 빗금으로 표시하였고, CBP를 부호화할 필요가 없는 블록(예를 들면, 16x16 변환을 사용하는 블록)은 십자의 격자무늬로 구분하였다.
최하위 노드를 생성하는 방법에 대하여 설명하면, 이미 전송된 모드값이나 플래그 중 현재 블록내의 부호화할 변환계수가 없음을 나타내는 데이터가 있는 경우에 대해서, 부호화 변환계수가 없는 블록에 대해서는 노드를 생성하지 않는다. 예를 들어, 도 21에 나타낸 방법으로 데이터를 부호화/복호화하는 경우, SKIP 블록에 대해서는 노드를 생성하지 않으며, CBPX 플래그가 0인 XxX(X는 블록의 크기를 나타내는 화소 수) 블록에 대해서는 노드를 생성하지 않고, 또한 16x16 변환의 경우 CBP16 플래그를 통해 알 수 있으므로 CBP에 대한 노드를 생성하지 않는다.
또한, 0이 아닌 변환계수가 있는 블록에 대해서 CBP를 부호화하며, 변환 타입에 따라 노드의 개수는 휘도 성분에 대해서 4x4 변환 또는 8x8 변환하는 경우에는 8x8 블록 내 0이 아닌 변환계수가 있는지를 0 또는 1로 나타내고(즉, 8x8 화소블록 당 노드를 생성), 휘도 성분에 대해서 8x16 변환 또는 16x8 변환하는 경우에는 16x8 또는 8x16 블록 내 0이 아닌 변환계수가 있는지를 0 또는 1로 나타내며(즉, 16x8 또는 8x16 블록당 노드 생성), 색차 성분은 8x8 블록단위로 AC 성분과 DC 성분에 대해서 노드를 생성한다(즉, AC 성분에 1비트, DC 성분에 1비트를 전송한다).
또한, 상위노드를 생성할 때 하위노드들의 최소값을 상위노드 값으로 사용하며, 최상위 노드는 16x16 영역을 뜻하는 노드를 최상위 노드로 할 수 있다(또는 최상위 노드의 크기를 다르게 지정할 수도 있다).
또한, 상위노드의 값이 1인 경우에는 하위 노드들의 값은 부호화/복호화하지 않을 수 있으며, 상위 노드의 값이 0인 경우에 하위 노드들의 값을 부호화할 수 있다.
도 22와 같이 부호화 모드와 변환 타입이 선택된 경우, CBP의 전송의 단위는 도 23과 같이 나타낼 수 있다. 도 23에서 16x16 영역에 해당하는 블록을 최상위 블록으로 사용하는 경우, 최상위 노드값은 도 24와 같이 할당될 수 있다.
이상에서는 블록 내에 변환계수가 있는지의 여부에 따라 CBP를 할당하는 것으로 설명하였지만, CBP의 부호화는 설명한 방법에 한정되는 것이 아니며, CBP의 패턴을 이용하는 등의 다양한 변형이 가능하다.
도 25는 델타 양자화 파라미터의 부호화/복호화를 설명하기 위해 도시한 도면이다. 본 발명의 실시예에서는 부호화할 0이 아닌 변환계수가 있는 16x16 화소블록 또는 매크로블록의 델타 양자화 파라미터만을 전송하는 것이 바람직하다. 예를 들어, 인트라 16x16 화소블록이나 CBP가 0이 아닌 인터 16x16 화소블록의 델타 양자화 파라미터를 전송한다.
델타 양자화 파라미터를 부호화하는 한가지 방법으로, 각각의 델타 양자화 파라미터는 약속된 코드번호로 변환 후, 코드 번호를 트리 코딩하는 방식으로 부호화할 수 있다. 예를 들어, 각각이 16x16인 화소블록의 델타 양자화 파라미터가 도 25와 같고 델타 양자화 파라미터에 대응하여 약속된 코드번호가 표 3과 같다고 가정하면, 도 25의 각각의 델타 양자화 파라미터는 표 3의 약속된 코드번호로 변환할 수 있다.
즉, 델타 양자화 파라미터 0은 코드번호 0으로 변환할 수 있으며, 델타 양자화 파라미터 1은 코드번호 1로 변환할 수 있고, 델타 양자화 파라미터 -1은 코드번호 2로 변환할 수 있으며, 델타 양자화 파라미타 2는 코드번호 3으로 변환할 수 있고, 델타 양자화 파라미터 -2는 코드번호 4로 변환할 수 있으며, 델타 양자화 파라미터 3은 코드번호 5로 변환할 수 있고, 델타 양자화 파라미터 -3은 코드번호 6으로 변환할 수 있다. 기타의 다른 델타 양자화 파라미터도 이와 마찬가지로 약속된 코드번호로 변환할 수 있다. 이와 같이 도 25의 델타 양자화 파라미터를 코드번호로 변환하여 도시하면 도 26과 같다. 이와 같이 코드번호로 변환된 각각의 16x16 화소블록의 노드값에 기초하여 트리를 생성할 수 있다. 첫 번째 예로, 도 26과 같이 코드번호로 변환된 16x16 화소블록의 노드값들로부터 최소값을 선택하여 상위 노드값으로 할당하면 도 27과 같이 나타낼 수 있다.
도 27의 (a)에서 상위 노드 M0의 노드값 0과 0의 차이값은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값 0도 부호화 비트 1로 부호화할 수 있다.
도 27의 (b)에서 상위 노드 M0의 노드값 0과 0의 차이값은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값 0은 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(0,1)의 노드값 2와 상위 노드 M0의 노드값 0의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(1,0)의 노드값 1과 상위 노드 M0의 노드값 0의 차이값 1은 부호화 비트 01로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 3과 상위 노드 M0의 노드값 0의 차이값 3은 부호화 비트 0001로 부호화할 수 있다.
도 27의 (c)에서 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0) 및 M1(0, 1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 각각 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(1,0)의 노드값 3과 상위 노드 M0의 노드값 1의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 1의 차이값 1은 부호화 비트 01로 부호화할 수 있다.
도 27의 (d)에서 상위 노드 M0의 노드값 2와 0의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 2의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 27의 (e)에서 상위 노드 M0의 노드값 2와 0의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0, 1) 및 M1(1,0)의 노드값 2와 상위 노드 M0의 노드값 2의 차이값 0은 각각 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 5와 상위 노드 M0의 노드값 2의 차이값 3은 부호화 비트 0001로 부호화할 수 있다.
도 27의 (f)에서 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 5와 상위 노드 M0의 노드값 1의 차이값 4는 각각 부호화 비트 00001로 부호화할 수 있고, 하위 노드 M1(1,0) 및 M1(1,0)의 노드값 3과 상위 노드 M0의 노드값 1의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
하위 노드들로부터 상위 노드의 노드값을 할당하는 방법은 전술한 방법에 한정되는 것이 아니며, 하위 노드들의 노드값들 중에서 최대값을 선택하여 상위 노드의 노드값으로 할당할 수도 있다. 이러한 두 번째 방법의 예로, 도 26과 같이 코드번호로 변환된 16x16 화소블록의 노드값들로부터 최대값을 선택하여 상위 노드값으로 할당하면 도 28과 같이 나타낼 수 있다.
도 28의 (a)에서 상위 노드 M0의 노드값 0과 0의 차이값은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값에 대해서는 부호화 비트를 생략할 수 있다.
도 28의 (b)에서 상위 노드 M0의 노드값 3과 0의 차이값 3은 부호화 비트 0001로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 0과 상위 노드 M0의 노드값 3의 차이값 1은 부호화 비트 0001으로 부호화할 수 있고, 하위 노드 M1(0,1)의 노드값 2와 상위 노드 M0의 노드값 3의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(1,0)의 노드값 1과 상위 노드 M0의 노드값 3의 차이값 2는 부호화 비트 001로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 3과 상위 노드 M0의 노드값 3의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 28의 (c)에서 상위 노드 M0의 노드값 3과 0의 차이값은 부호화 비트 0001로 부호화할 수 있으며, 하위 노드 M1(0,0) 및 M1(0, 1)의 노드값 1과 상위 노드 M0의 노드값 3의 차이값 2는 각각 부호화 비트 001로 부호화할 수 있고, 하위 노드 M1(1,0)의 노드값 3과 상위 노드 M0의 노드값 3의 차이값은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 3의 차이값 1은 부호화 비트 01로 부호화할 수 있다.
도 28의 (d)에서 상위 노드 M0의 노드값 2와 0의 차이값은 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 2의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 28의 (e)에서 상위 노드 M0의 노드값 5와 0의 차이값은 부호화 비트 000001로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0, 1) 및 M1(1,0)의 노드값 2와 상위 노드 M0의 노드값 5의 차이값 3은 각각 부호화 비트 0001로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 5와 상위 노드 M0의 노드값 5의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 28의 (f)에서 상위 노드 M0의 노드값 5와 0의 차이값은 부호화 비트 000001로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 5와 상위 노드 M0의 노드값 5의 차이값 0은 각각 부호화 비트 00001로 부호화할 수 있고, 하위 노드 M1(1,0) 및 M1(1,0)의 노드값 3과 상위 노드 M0의 노드값 5의 차이값2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 1과 상위 노드 M0의 노드값 5의 차이값 4는 부호화 비트 00001로 부호화할 수 있다.
최상위 노드값으로 하위 노드값들 중 최소값을 할당하는 방법에서 최상위 노드의 값을 부호화할 때 0과의 차이값을 부호화하였으나, 발생 빈도수가 높은 임의의 값과 최상위 노드값과의 차이값을 부호화할 수도 있다. 이때 사용되는 임의의 값은 부호화하여 복호화기에 알려줄 수도 있으며, 또는 임의의 약속된 값을 사용할 수도 있고, 부호화기와 복호화기가 동일하게 동작하여 계산하도록 할 수도 있다.
또한, 트리 생성을 위한 세 번째 방법으로, 상위 노드값으로 하위 노드값들 중 최소값을 할당하는 경우에 최대값을 부호화하여 복호기에 알려주거나 상위 노드값으로 하위 노드값들 중 최대값을 할당하는 경우에는 최소값을 부호화하여 복호기에 값의 범위를 알려줄 수도 있다. 이 경우, 전술한 상위 노드값으로 하위 노드값들 중 최소값을 할당하는 경우인 도 27의 (b)의 부호화 비트를 예로 설명하면, 상위 노드 M0의 노드값 0과 0의 차이값 0은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값 0은 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(0,1)의 노드값 2와 상위 노드 M0의 노드값 0의 차이값 2는 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(1,0)의 노드값 1과 상위 노드 M0의 노드값 0의 차이값 1은 부호화 비트 01로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 3과 상위 노드 M0의 노드값 0의 차이값 3은 부호화 비트를 생략할 수 있다. 또한, 전술한 상위 노드값으로 하위 노드값들 중 최대값을 할당하는 경우인 도 28의 (d)의 부호화 비트를 예로 설명하면, 상위 노드 M0의 노드값 2와 0의 차이값은 부호화 비트 001로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 2의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
또한, 델타 양자화 파라미터를 부호화하는 다른 방법으로, 델타 양자화 파라미터의 절대값을 부호화한 후, 0이 아닌 델타 파라미터에 대해서만 부호를 코딩하는 방법을 사용할 수 있다. 예를 들어, 도 25의 델타 양자화 파라미터에 대하여 절대값을 취하면 도 29로 나타낼 수 있으며, 이 경우에도 전술한 트리 생성 방법이 모두 적용될 수 있다.
첫 번째의 트리 생성 방법을 이용하며 최대값을 부호화하여 전송하는 경우, 먼저, 상위 노드 값은 도 30에 도시한 바와 같이 하위 노드값들 중에서 최소값이 선택되어 할당될 수 있으며, 절대값을 부호화하는 방법은 표 3을 이용하여 부호화할 수 있다.
도 30의 (a)에서 최대값 0의 부호화 비트는 0으로 부호화할 수 있으며, 상위 노드 M0의 노드값 0과 0의 차이값 0과, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값 0은 부호화 비트의 부호화를 생략한다.
도 30의 (b)에서 최대값 2는 부호화 비트 001로 부호화할 수 있으며, 상위 노드 M0의 노드값 0과 0의 차이값은 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(0,0)의 노드값 0과 상위 노드 M0의 노드값 0의 차이값 0은 부호화 비트 1로 부호화할 수 있으며, 하위 노드 M1(0,1) 및 M1(1,0)의 노드값 1과 상위 노드 M0의 노드값 0의 차이값 1은 부호화 비트 01로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 2와 상위 노드 M0의 노드값 0의 차이값 2는 부호화 비트 001로 부호화할 수 있다.
도 30의 (c)에서 최대값 2는 부호화 비트 001로 부호화할 수 있고, 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0) 및 M1(0, 1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 각각 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(1,0)의 노드값 2와 상위 노드 M0의 노드값 1의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 30의 (d)에서 최대값 1은 부호화 비트 01로 부호화할 수 있고, 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0,1), M1(1,0), M1(1,1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 부호화 비트의 부호화가 생략될 수 있다.
도 30의 (e)에서 최대값 3은 부호화 비트 0001로 부호화할 수 있고, 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0), M1(0, 1) 및 M1(1,0)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 각각 부호화 비트 1로 부호화할 수 있고, 하위 노드 M1(1,1)의 노드값 3과 상위 노드 M0의 노드값 1의 차이값 2는 부호화 비트 001로 부호화할 수 있다.
도 30의 (f)에서 최대값 3은 부호화 비트 0001로 부호화할 수 있고, 상위 노드 M0의 노드값 1과 0의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(0,0)의 노드값 3과 상위 노드 M0의 노드값 1의 차이값 2는 부호화 비트 001로 부호화할 수 있고, 하위 노드 M1(1,0) 및 M1(1,0)의 노드값 2와 상위 노드 M0의 노드값 1의 차이값 1은 부호화 비트 01로 부호화할 수 있으며, 하위 노드 M1(1,1)의 노드값 1과 상위 노드 M0의 노드값 1의 차이값 0은 부호화 비트의 부호화가 생략될 수 있다.
다음에 부호에 대한 부호화를 수행할 수 있다. 예를 들어, 부호가 +일 경우에는 0, 부호가 -일 경우에는 1을 이용할 수 있다. 물론, 그 반대의 부호화 비트를 할당할 수도 있다. 이때, 상위 노드는 하위 노드들의 최소값을 사용할 수 있으며, 최대값을 사용할 수도 있다. 도 30에서 델타 양자화 파라미터의 절대값이 0인 경우를 제외하고 델타 양자화 파라미터의 부호에 대한 부호화를 +에 0을 할당하고 -에 1을 할당하며, 각각의 최하위 노드값들 중에서 최소값을 선택하여 상위 노드값으로 할당하면 도 31과 같이 나타낼 수 있다. 즉, 도 30에서 (a)의 경우는 절대값이 모두 0이므로 부호화할 데이터가 없다.
도 31에서 (b)의 상위 노드값 0과 0과의 차이값 0은 부호화 비트 1로 부호화할 수 있으며, M1(0,0)의 노드값은 0이므로 부호화 비트의 부호화를 생략할 수 있고, M1(0,1)의 노드값 1과 상위 노드값 0과의 차이값 1은 부호화 비트 0으로 부호화할 수 있으며, M1(1,0) 및 M1(1,1)의 노드값 0과 상위 노드값 0과의 차이값 0은 각각 부호화 비트 1로 부호화할 수 있다.
도 31에서 (c)의 상위 노드값 0과 0과의 차이값 0은 부호화 비트 1로 부호화할 수 있으며, M1(0,0), M1(0,1) 및 M1(1,0)의 노드값 0과 상위 노드값 0과의 차이값 0은 부호화 비트 1로 부호화할 수 있고, M1(1,1)의 노드값 1과 상위 노드값 0과의 차이값 1은 부호화 비트 0으로 부호화할 수 있다.
도 31에서 (d)의 상위 노드값 1과 0과의 차이값 1은 부호화 비트 0으로 부호화할 수 있으며, M1(0,0), M1(0,1), M1(1,0) 및 M1(1,1)의 노드값 1과 상위 노드값 1과의 차이값 0은 각각 부호화 비트의 부호화를 생략할 수 있다.
도 31에서 (e)의 상위 노드값 1과 0과의 차이값 1은 부호화 비트 0으로 부호화할 수 있으며, M1(0,0), M1(0,1), M1(1,0) 및 M1(1,1)의 노드값 1과 상위 노드값 1과의 차이값 0은 각각 부호화 비트의 부호화를 생략할 수 있다.
도 31에서 (f)의 상위 노드값 0과 0과의 차이값 0은 부호화 비트 1로 부호화할 수 있으며, M1(0,0), M1(0,1), M1(1,0) 및 M1(1,1)의 노드값 0과 상위 노드값 0과의 차이값 0은 부호화 비트 1로 부호화할 수 있다.
도 32는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(3200)는 부호화 정보 복호화기(3210) 및 영상 복호화기(3300)를 포함하여 구성될 수 있다.
부호화 정보 복호화기(3210)는 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 블록 모드 정보와 블록이 서브블록으로 분할되는지 여부를 나타내는 분할 모드 정보를 복원하고, 블록 모드 정보와 분할 모드 정보의 조합에 따라 비트스트림을 복호화하여 블록의 스킵 움직임 정보를 복원하거나 블록의 블록 타입 정보와 블록의 예측 정보를 포함하는 예측 부호화 정보를 복원한다.
예를 들어, 부호화 정보 복호화기(3210)는 도 6에 도시한 바와 같은 신택스 구조를 가지는 비트스트림을 복호화하는데, 우선 비트스트림으로부터 블록 모드 정보 필드에 할당된 데이터와 분할 모드 정보 필드에 할당된 데이터를 추출하고 복호화하여 블록 모드 정보와 분할 모드 정보를 복원하며, 복원된 블록 모드 정보와 분할 모드 정보의 조합에 따라 6A에 나타낸 바와 같이 비트스트림으로부터 스킵 움직임 정보 필드에 할당된 데이터를 추출하고 복호화하여 스킵 움직임 정보를 복원하거나 6B에 나타낸 바와 같이 비트스트림으로부터 블록 타입 정보 필드, 예측 정보 필드, CBP 서브블록 플래그 필드, 변환 타입 정보 필드, CBP 필드, 델타 QP 필드 등에 할당된 데이터를 추출하고 복호화하여 블록 타입 정보, 예측 정보, CBP 서브블록 플래그, 변환 타입 정보, CBP, 델타 QP 등과 같은 예측 부호화 정보를 복원한다. 여기서, 예측 부호화 정보 중 CBP 서브블록 플래그 필드, 변환 타입 정보 필드, CBP 필드, 델타 QP 등은 반드시 복원되어야 하는 것은 아니며, 영상 부호화 장치(100)와 영상 복호화 장치(3200)가 서로 약속한 경우에만 복원될 수 있다.
영상 복호화기(3300)는 스킵 움직임 정보를 기초로 블록을 복원하거나 예측 부호화 정보를 기초로 비트스트림을 복호화하여 복원되는 계수 정보를 복호화하여 블록을 복원한다.
예를 들어, 영상 복호화기(3300)는 부호화 정보 복호화기(3210)에 의해 스킵 움직임 정보가 복원되면, 복원된 스킵 움직임 정보를 이용하여 복호화하고자 하는 블록 또는 해당 블록의 각 서브블록을 움직임 보상하여 생성되는 블록을 복호화하고자 하는 블록으로 복원하며, 부호화 정보 복호화기(3210)에 의해 예측 부호화 정보가 복원되면 복원된 예측 부호화 정보를 이용하여 복호화하고자 하는 블록 또는 해당 블록의 각 서브블록을 인트라 예측 또는 인터 예측하여 예측 블록을 생성하고, 비트스트림을 복호화하여 계수 정보를 복원하며, 복원된 계수 정보에 의한 잔여 블록과 예측 블록을 가산하여 복호화하고자 하는 블록을 복원한다.
도 33은 영상 복호화기(3300)를 개략적으로 도시한 도면이다. 도면을 참조하면, 영상 복호화기(3300)는 복호화기(Decoder), 역양자화기 및 역변환기, 예측기, 가산기, 필터 및 픽처 버퍼를 포함하여 구성될 수 있다. 예측기는 움직임 보상기를 포함하여 구성될 수 있다.
도 34는 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 영상 복호화 방법에 따르면, 영상 복호화 장치(3200)는 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 블록 모드가 스킵 모드인지 여부를 나타내는 블록 모드 정보와 블록이 서브블록으로 분할되는지 여부를 나타내는 분할 모드 정보를 복원한다(S3410). 즉, 영상 복호화 장치(3200)는 복호화하고자 하는 블록에 대한 비트스트림으로부터 블록 모드 정보가 부호화된 데이터와 분할 모드 정보가 부호화된 데이터를 추출하고 복호화하여 블록 모드 정보와 분할 모드 정보를 복원한다.
영상 복호화 장치(3200)는 블록 모드 정보와 분할 모드 정보의 조합에 따라 비트스트림을 복호화하여 블록의 스킵 움직임 정보를 복원하거나 블록의 블록 타입 정보와 블록의 예측 정보를 포함하는 예측 부호화 정보를 복원하며(S3420), 스킵 움직임 정보를 기초로 블록을 복원하거나 예측 부호화 정보를 기초로 비트스트림을 복호화하여 복원되는 계수 정보를 복호화하여 블록을 복원한다(S3430). 즉, 영상 복호화 장치(3200)는 복원된 블록 모드 정보가 부호화하고자 하는 블록의 블록 모드가 스킵 모드임을 나타내는지 여부와 복원된 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는지 여부를 조합한 각 경우에 따라서 블록을 다른 방식으로 부호화한다.
이하에서는 부호화하고자 하는 블록이 64x64 화소 크기의 매크로블록이고 블록이 서브블록으로 분할되는 경우 16x16 화소 크기의 서브블록으로 분할되는 것으로 가정하여 영상 복호화 장치(3200)가 단계 S3420 및 단계 S3430을 수행하는 과정에 대해 예를 들어 설명한다.
단계 S3420에서, 영상 복호화 장치(3400)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드임을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 비트스트림을 복호화하여 블록에 대한 스킵 움직임 정보를 복원할 수 있다. 즉, 영상 복호화 장치(3400)는 비트스트림으로부터 스킵 움직임 정보가 부호화된 데이터를 추출하고 복호화하여 스킵 움직임 정보를 복원하는데, 스킵 움직임 정보는 복호화하고자 하는 블록에 대한 하나의 움직임 정보로 복원된다. 이 경우, 단계 S3430에서, 영상 복호화 장치(3200)는 복원되는 스킵 움직임 정보를 이용하여 복호화하고자 하는 블록의 움직임을 보상하여 생성되는 블록을 복호화하고자 하는 블록으로 복원한다.
단계 S3420에서, 영상 복호화 장치(3200)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드임을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는 경우, 비트스트림을 복호화하여 블록의 서브블록에 대한 스킵 움직임 정보를 복원할 수 있다. 즉, 영상 복호화 장치(3200)는 비트스트림으로부터 스킵 움직임 정보가 부호화된 데이터를 추출하고 복호화하여 스킵 움직임 정보를 복원하는데, 스킵 움직임 정보는 복호화하고자 하는 블록의 각 서브블록에 대한 움직임 정보로 복수 개로 복원된다. 이 경우, 단계 S3430에서, 영상 복호화 장치(3200)는 복원되는 각 서브블록에 대한 스킵 움직임 정보를 이용하여 복호화하고자 하는 블록의 각 서브블록의 움직임을 보상하여 생성되는 서브블록을 복호화하고자 하는 블록의 각 서브블록으로 복원하고 그를 통해 복호화하고자 하는 블록을 복원한다.
단계 S3420에서, 영상 복호화 장치(3200)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할되지 않음을 나타내는 경우, 비트스트림을 복호화하여 블록에 대한 예측 부호화 정보를 복원할 수 있다. 즉, 영상 복호화 장치(3200)는 비트스트림으로부터 예측 부호화 정보가 부호화된 데이터를 추출하고 복호화하여 예측 부호화 정보를 복원하는데, 예측 부호화 정보는 복호화하고자 하는 블록에 대한 하나의 예측 부호화 정보로 복원된다. 이 경우, 단계 S930에서, 영상 복호화 장치(3200)는 복원되는 예측 부호화 정보의 블록 타입 정보와 예측 정보 등을 기초로 비트스트림으로부터 계수 정보가 부호화된 데이터를 추출하고 복호화하여 계수 정보를 복원하고 복원되는 계수 정보를 역 양자화 및 역 변환하여 잔여 블록을 복원하며, 블록 타입 정보와 예측 정보 등을 기초로 복호화하고자 하는 블록을 예측하여 예측 블록을 생성하며, 복원되는 잔여 블록과 예측 블록을 가산하여 복호화하고자 하는 블록을 복원한다.
단계 S3420에서, 영상 복호화 장치(3200)는 블록 모드 정보가 블록의 블록 모드가 스킵 모드가 아님을 나타내고 분할 모드 정보가 블록이 서브블록으로 분할됨을 나타내는 경우, 비트스트림을 복호화하여 블록의 서브블록에 대한 예측 부호화 정보를 복원할 수 있다. 즉, 영상 복호화 장치(3200)는 비트스트림으로부터 예측 부호화 정보가 부호화된 데이터를 추출하고 복호화하여 예측 부호화 정보를 복원하는데, 예측 부호화 정보는 복호화하고자 하는 블록의 각 서브블록에 대한 복수 개의 예측 부호화 정보로 복원된다. 이 경우, 단계 S3430에서, 영상 복호화 장치(3200)는 복원되는 예측 부호화 정보의 블록 타입 정보와 예측 정보 등을 기초로 비트스트림으로부터 계수 정보가 부호화된 데이터를 추출하고 복호화하여 각 서브블록에 대한 계수 정보를 복원하고 복원되는 각 서브블록에 대한 계수 정보를 역 양자화 및 역 변환하여 잔여 서브블록을 복원하며, 블록 타입 정보와 예측 정보 등을 기초로 각 서브블록을 예측하여 예측 서브블록을 생성하며, 복원되는 잔여 서브블록과 예측 서브블록을 가산하여 각 서브블록을 복원하며 그를 통해 복호화하고자 하는 블록을 복원한다.
여기서, 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부와 블록의 서브블록의 분할 타입을 기초로 이용 가능한 복수 개의 블록 타입에 할당된 블록 타입 번호일 수 있다. 예측 부호화 정보는 서브블록에 대한 변환 타입 정보, 서브블록에 대한 부호화된 블록 패턴 및 서브블록에 대한 델타 양자화 파라미터 중 하나 이상을 추가로 포함할 수 있다. 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보를 포함할 수 있다.
또한, 복원된 블록 모드 정보가 복호화하고자 하는 블록의 블록 모드가 스킵 모드가 아님을 나타내고 복원된 분할 모드 정보가 해당 블록이 서브블록으로 분할됨을 나타내는 경우, 블록 타입 정보는 블록이 인터 매크로블록인지 또는 인트라 매크로블록인지 여부를 나타내는 블록 타입 플래그와 블록의 서브블록의 분할 타입을 나타내는 분할 타입 정보뿐만 아니라 서브블록의 블록 모드가 스킵 모드인지 여부를 나타내는 스킵 서브블록 플래그를 추가로 포함할 수 있다. 즉, 영상 복호화 장치(3200)는 복호화하고자 하는 블록의 블록 모드가 스킵 모드가 아니고 해당 블록이 서브블록으로 분할되는 경우, 비트스트림으로부터 각 서브블록에 대해 계수 정보가 부호화된 데이터와 예측 부호화 정보가 부호화된 데이터를 추출하고 복호화해야 하는 것은 아니며, 비트스트림으로부터 스킵 서브블록 플래그만을 복호화하여 임의의 서브블록의 블록 모드가 스킵 모드인 것으로 판단되는 경우에는 해당 서브블록에 대해서는 복호화를 스킵할 수 있다.
단계 S3420에서, 영상 복호화 장치(3200)는 비트스트림을 복호화하여 블록 타입 정보를 복원할 때, 트리 구조를 이용하여 분할 타입 정보를 복원할 수 있다.
이하에서는 도 7 및 도 8을 참조하여, 본 발명의 일 실시예에 따라 비트스트림을 복호화하여 블록 타입 정보를 복원할 때, 트리 구조를 이용하여 분할 타입 정보를 복원하는 과정을 설명한다.
영상 부호화 장치(100)에서 최상위 노드값을 부호화할 때, 분할 타입값으로 분할 타입별 번호가 설정되고 분할 타입의 발생 빈도수가 높은 순서로 큰 분할 타입별 번호가 설정되어 가장 큰 분할 타입 번호와의 차이값을 0과 1의 이진 비트를 이용하여 부호화한 경우, 영상 복호화 장치(3200)는 비트스트림으로부터 분할 타입 정보가 부호화된 데이터를 추출하고, 추출된 데이터의 이진 비트 0과 1을 복호화하여 차이값을 복원하고 가장 큰 분할 타입 번호로부터 복원된 차이값을 빼서 최상위 노드값을 복원한다. 이때, 영상 복호화 장치(3200)가 차이값을 복원하기 위해, 분할 타입 정보가 부호화된 데이터의 한 비트를 읽어 들여 복호화하고 이진 비트를 복원하고, 복원된 이진 비트가 0인 경우 다음 비트를 읽어 들인다. 이와 같은 방식으로 복호화하여 이진 비트 1이 복원될 때까지 이진 비트 0을 계속 복원하고, 복원된 이진 비트가 1인 경우 더 이상 비트를 읽어 들여 복호화하지 않으며 차이값은 복원된 이진 비트 0의 개수가 된다. 다만, 비트의 개수가 분할 타입 번호가 가질 수 있는 최대값과 최소값의 차이값만큼 읽어 들여진 경우에는 다음 비트를 읽어 들이지 않으며 차이값은 복원된 이진 비트 0의 개수가 된다(이 경우, 차이값은 분할 타입 번호가 가질 수 있는 최대값과 최소값의 차이값이 됨).
반대로, 영상 부호화 장치(100)에서 최상위 노드값을 부호화할 때, 분할 타입값으로 분할 타입별 번호가 설정되고 분할 타입의 발생 빈도수가 낮은 순서로 큰 분할 타입별 번호가 설정되어 가장 작은 분할 타입 번호와의 차이값을 0과 1의 이진 비트를 이용하여 부호화한 경우, 영상 복호화 장치(3200)는 비트스트림으로부터 분할 타입 정보가 부호화된 데이터를 추출하고, 추출된 데이터의 이진 비트 0과 1을 복호화하여 차이값을 복원하고 가장 작은 분할 타입 번호로부터 복원된 차이값을 빼서 최상위 노드값을 복원한다. 이때, 영상 복호화 장치(3200)가 차이값을 복원하는 방법은 전술한 바와 같다.
또한, 영상 부호화 장치(100)에서 최상위 노드값을 부호화할 때, 0과의 차이값을 전술한 바와 같이 0과 1의 이진 비트를 이용하여 부호화함으로써 부호화 한 경우, 영상 복호화 장치(3200)는 비트스트림으로부터 분할 타입 정보가 부호화된 데이터를 추출하고, 추출된 데이터의 이진 비트 0과 1을 복호화하여 복원되는 차이값을 최상위 노드값으로 복원한다. 이때, 영상 복호화 장치(3200)가 차이값을 복원하는 방법은 전술한 바와 같다.
이후 영상 복호화 장치(3200)는 최상위 노드의 하위 노드들의 노드값을 복호화한다. 영상 부호화 장치(100)에서 부호화하고자 하는 노드의 노드값과 상위 노드의 노드값의 차이값의 개수만큼 이진 비트 0을 부호화하여 노드값을 부호화하는 경우, 영상 복호화 장치(3200)는 각 노드의 노드값들을 복호화할 때, 비트스트림으로부터 추출되고 최상위 노드값을 복원하기 위해 읽어들여진 비트들의 다음의 한 비트를 읽어 들여 복호화하고 복원된 이진 비트가 0인 경우, 다음 비트를 읽어 들여 복호화한다. 복원된 상위 노드의 노드값이 분할 타입 번호가 가질 수 있는 최대값인 경우, 이진 비트를 복원하지 않고 분할타입 번호가 가질 수 있는 최대값을 복호화하고자 하는 노드값으로 복원한다. 만약, 복원된 이진 비트가 1인 경우 더 이상 비트를 읽어 들이지 않으며 복원된 이진 비트 0의 개수를 차이값으로 복원하고, 복원된 차이값에 상위 노드의 노드값을 더하여 복호화하고자 하는 노드의 노드값을 복원한다. 만약, 영상 부호화 장치(100)에서 부호화하고자 하는 노드의 노드값과 상위 노드의 노드값의 차이값의 개수만큼 이진 비트 1을 부호화하여 노드값을 부호화하는 경우, 전술한 방법에서 복원된 이진 비트가 0일 때까지 한 비트씩을 복호화하여 이진 비트를 복원한다.
다만, 복호화하고자 하는 노드값을 복원할 때, 현재까지 복원한 이진 비트 0의 개수에 따른 차이값과 해당 노드의 상위 노드의 노드값을 더한 값이 분할 타입 번호가 가질 수 있는 최대값인 경우, 더 이상 비트를 읽어 들여 이진 비트를 복원하지 않고 분할 타입 번호가 가질 수 있는 최대값을 해당 노드값으로 복원한다. 또한, 동일한 상위 노드를 가지는 노드들 중 마지막 노드의 노드값을 복원할 때 마지막 노드를 제외한 노드들의 노드값이 상위 노드의 노드값보다 모두 큰 경우, 더 이상 비트를 읽어 들여 이진 비트를 복원하지 않고 상위 노드의 노드값을 마지막 노드의 노드값으로 복원한다.
트리 구조를 이용하여 분할 타입 정보를 복호화하는 또 다른 실시예로 7A에 나타낸 서브블록들의 분할 타입값들을 그룹화하여 7B의 그룹화된 영역의 분할 타입값을 정할 때 발생빈도수가 높은 순서로 큰 분할 타입별 번호가 설정된 경우 복원한 상위노드 노드와 노드값을 빼서 현재노드의 노드값을 복원한다.
이상에서 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 영상에서 부호화하고자 하는 블록의 블록 모드와 분할 모드의 조합에 따라 효율적인 방식으로 해당 블록을 부호화고 복호화할 수 있으므로, 영상의 압축 효율을 향상시킬 수 있다.
이상에서는 부호화하고자 하는 블록의 블록 모드 정보와 분할 모드 정보의 조합에 따라 해당 블록을 부호화 방법과 부호화를 통해 생성되는 비트스트림의 신택스 구조에 대해 본 발명의 일 실시예를 통해 설명했다. 이하에서는 본 발명의 다른 실시예를 통해 부호화하고자 하는 블록의 스킵 타입 정보에 따라 해당 블록에 대한 부호화 방식을 선택적으로 이용하여 영상을 부호화하는 방법에 대해 설명한다.
도 35는 본 발명의 다른 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 다른 실시예에 따른 영상 부호화 장치(3500)는 부호화 정보 부호화기3510) 및 영상 부호화기(3520)를 포함하여 구성될 수 있다.
부호화 정보 부호화기(3510)는 영상의 부호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 부호화하고, 스킵 타입 정보에 따라 블록의 스킵 움직임 정보를 부호화한다. 즉, 부호화 정보 부호화기(3510)는 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 블록의 스킵 타입을 나타내는 스킵 타입 정보를 부호화하며, 스킵 타입 정보를 기초로 블록의 스킵 움직임 정보를 부호화한다. 예를 들어, 부호화 정보 부호화기(3510)는 블록의 스킵 타입이 블록의 스킵 움직임 정보를 부호화함을 나타내는 경우 블록의 스킵 움직임 정보를 부호화한다.
영상 부호화기(3520)는 블록의 스킵 타입 정보에 따라 블록의 계수 정보를 부호화한다. 즉, 영상 부호화기(3520)는 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 스킵 타입 정보를 기초로 블록의 계수 정보를 부호화한다. 예를 들어, 영상 부호화기(3520)는 블록의 스킵 타입이 블록의 계수 정보를 부호화함을 나타내는 경우 블록의 스킵 움직임 정보를 부호화한다. 이러한 영상 부호화기(3520)는 도 1을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화기(200)와 같이 예측기, 감산기, 변환 및 양자화기, 부호화기, 역 양자화 및 역변환기, 가산기, 필터, 픽처 버퍼 등을 포함하여 구성될 수 있다.
만약, 블록의 스킵 타입 정보가 블록에 대한 부호화를 스킵함을 나타내는 경우, 해당 블록에 대해서는 스킵 움직임 정보와 계수 정보 모두가 부호화되지 않고 스킵 타입 정보만이 부호화된다.
도 36은 본 발명의 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
본 발명의 다른 실시예에 따른 영상 부호화 방법에 따르면, 영상 부호화 장치(3500)는 영상의 부호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 부호화한다(S3610). 여기서, 스킵 타입이란 블록의 블록 모드가 스킵 모드일 때, 어떠한 방식으로 스킵 모드의 블록을 부호화할 것인지를 나타낸다. 즉, 영상 부호화 장치(3500)는 부호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우, 해당 블록을 스킵 모드에 따라 부호화할 때 블록의 계수 정보만을 부호화할지 아니면 블록의 움직임 정보만을 부호화할지 아니면 블록에 대한 부호화를 스킵할지 여부를 나타내는 스킵 타입 정보를 부호화한다.
이러한 스킵 타입 정보는 1 비트의 스킵 타입 플래그로 구현될 수 있는데, 1 비트의 스킵 타입 플래그를 통해 다음과 같이 세 가지 경우로 스킵 타입을 나타낼 수 있다. 일 예로, 스킵 타입 플래그가 0이면 스킵 모드가 블록에 대해 부호화를 하지 않고 스킵하는 것을 나타내고 스킵 타입 플래그가 1이면 스킵 모드가 블록의 계수 정보는 부호화하지 않고 스킵 움직임 벡터를 부호화하는 것을 나타낼 수 있다. 다른 예로, 스킵 타입 플래그가 0이면 스킵 모드가 블록에 대해 부호화를 하지 않고 스킵하는 것을 나타내고 스킵 타입 플래그가 1이면 블록의 스킵 움직임 벡터는 부호화하지 않고 블록의 계수 정보를 부호화하는 것을 나타낼 수 있다. 또 다른 예로, 스킵 타입 플래그가 0이면 블록의 계수 정보를 부호화하지 않고 블록의 스킵 움직임 벡터를 부호화하는 것을 나타내고 스킵 타입 플래그가 1이면 블록의 스킵 움직임 벡터를 부호화하지 않고 블록의 계수 정보를 부호화하는 것을 나타낼 수 있다.
영상 부호화 장치(3500)는 스킵 타입 정보에 따라 블록의 부호화를 스킵하거나 블록의 스킵 움직임 정보를 부호화하거나 블록의 계수 정보를 부호화한다(S3620).
여기서, 스킵 타입 정보는 블록의 부호화를 스킵함을 나타내거나 블록의 스킵 움직임 정보를 부호화함을 나타낼 수 있다. 또는, 스킵 타입 정보는 블록의 부호화를 스킵함을 나타내거나 블록의 계수 정보를 부호화함을 나타낼 수 있다. 또는 스킵 타입 정보는 블록의 스킵 움직임 정보를 부호화함을 나타내거나 블록의 계수 정보를 부호화함을 나타낼 수 있다.
따라서, 단계 S3620에서, 영상 부호화 장치(3500)는 스킵 타입 정보가 블록의 스킵 타입이 블록의 부호화를 스킵함을 나타내는 경우, 블록의 부호화를 수행하지 않고 스킵한다.
또한, 단계 S3620에서, 영상 부호화 장치(3500)는 스킵 타입 정보가 블록의 스킵 타입이 스킵 움직임 정보를 부호화함을 나타내는 경우, 부호화하고자 하는 블록의 스킵 움직임 정보를 부호화하고 해당 블록의 계수 정보는 부호화하지 않는다.
또한, 단계 S3620에서, 영상 부호화 장치(3500)는 스킵 타입 정보가 블록의 스킵 타입이 계수 정보를 부호화함을 나타내는 경우, 부호화하고자 하는 블록의 계수 정보를 부호화하고 해당 블록의 스킵 움직임 벡터 정보는 부호화하지 않는다. 이 경우, 부호화하고자 하는 블록의 계수 정보는 해당 블록의 주변 블록의 움직임 정보를 기초로 결정되는 움직임 정보를 이용하여 예측 부호화될 수 있다.
도 37은 본 발명의 다른 실시예에 따른 영상 복호화 장치(3700)의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 다른 실시예에 따른 영상 복호화 장치(3700)는 부호화 정보 복호화기(1210) 및 영상 복호화기(1220)를 포함하여 구성될 수 있다.
부호화 정보 복호화기(3710)는 비트스트림을 복호화하여 영상의 복호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 복원하고, 스킵 타입 정보에 따라 비트스트림을 복호화하여 블록의 스킵 움직임 정보를 복원한다.
영상 복호화기(3720)는 스킵 타입 정보에 따라 기 설정된 방식에 따라 결정되는 움직임 정보를 기초로 블록을 복원하거나 스킵 움직임 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 복원되는 계수 정보를 기초로 블록을 복원한다.
즉, 영상 복호화기(3720)는 부호화 정보 복호화기(3710)에 의해 복원되는 스킵 타입 정보가 블록의 스킵 타입이 스킵 움직임 벡터를 부호화함을 나타내는 경우, 부호화 정보 복호화기(3710)에 의해 복원되는 스킵 움직임 정보를 이용하여 복호화하고자 하는 블록의 움직임을 보상하여 생성되는 블록을 복호화하고자 하는 블록으로 복원한다. 또한, 영상 복호화기(3720)는 부호화 정보 복호화기(3710)에 의해 복원되는 스킵 타입 정보가 블록의 계수 정보를 부호화함을 나타내는 경우, 비트스트림을 복호화하여 계수 정보를 복원하고, 복원된 계수 정보를 역 양자화 및 역 변환하여 잔여 블록을 복원하며, 기 설정된 방식으로 결정되는 움직임 정보를 이용하여 움직임 보상하여 생성되는 예측 블록과 가산하여 복호화하고자 하는 블록을 복원한다. 만약, 영상 복호화기(3720)는 부호화 정보 복호화기(3710)에 의해 복원되는 스킵 타입 정보가 블록에 대한 부호화를 스킵함을 나타내는 경우, 기 설정된 방식으로 결정되는 움직임 정보를 이용하여 해당 블록의 움직임 보상을 수행하여 생성되는 블록을 해당 블록으로 복원한다.
여기서, 기 설정된 방식으로 결정되는 움직임 정보란 주변 블록의 움직임 정보를 이용하여 결정되는 움직임 정보일 수 있는데, 반드시 이에 한정되지 않고 기 설정된 다양한 방식으로 결정되는 움직임 정보가 이용될 수 있다.
도 38은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 영상 복호화 방법에 따르면, 영상 복호화 장치(1200)는 비트스트림을 복호화하여 복호화하고자 하는 블록의 스킵 타입을 나타내는 스킵 타입 정보를 복원하고(S3810), 스킵 타입 정보에 따라 기 설정된 방식으로 결정되는 움직임 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 복원되는 블록의 스킵 움직임 정보를 기초로 블록을 복원하거나 비트스트림을 복호화하여 복원되는 계수 정보를 기초로 블록을 복원한다(S3820).
단계 S3810에서, 영상 복호화 장치(3700)는 블록의 블록 모드가 스킵 모드인 경우에만 스킵 타입 정보를 복원할 수 있다. 즉, 복호화하고자 하는 블록의 블록 모드가 스킵 모드인 경우에만 비트스트림에 스킵 타입 정보가 부호화된 데이터가 포함되어 있으므로, 스킵 모드인 경우에만 비트스트림으로부터 스킵 타입 정보가 부호화된 데이터를 추출하고 복호화하여 스킵 타입 정보를 복원한다.
단계 S3820에서, 영상 복호화 장치(3700)는 복원되는 스킵 타입 정보가 블록의 부호화를 스킵함을 나타내는 경우, 기 설정된 방식으로 결정되는 움직임 정보를 기초로 블록을 복원할 수 있다. 즉, 스킵 타입 정보가 블록의 부호화를 스킵함을 나타내는 경우, 영상 부호화 장치(3500)에서 해당 블록의 부호화를 스킵하여 비트스트림에는 해당 블록에 대한 부호화 정보나 계수 정보가 부호화된 데이터가 없음을 알 수 있으므로, 비트스트림으로부터 데이터를 추출하여 복호화하지 않고, 영상 부호화 장치(3500)와 약속되어 기 설정된 방식으로 해당 블록의 움직임 정보(즉, 움직임 벡터와 참조 픽처 인덱스)를 결정하고 결정된 움직임 정보를 이용하여 해당 블록의 움직임을 보상하여 생성되는 블록을 복호화하고자 하는 블록으로 복원한다.
단계 S3820에서, 영상 복호화 장치(3700)는 스킵 타입 정보가 블록의 스킵 움직임 정보를 부호화함을 나타내는 경우, 비트스트림을 복호화하여 복원되는 블록의 스킵 움직임 정보를 기초로 블록을 복원할 수 있다. 즉, 영상 복호화 장치(3700)는 스킵 타입 정보가 블록의 스킵 움직임 정보를 부호화함을 나타내는 경우, 영상 부호화 장치(3500)에서 해당 블록의 계수 정보가 아닌 스킵 움직임 정보를 부호화하여 비트스트림에는 계수 정보가 부호화된 데이터가 없음을 알 수 있으므로, 비트스트림으로부터 스킵 움직임 정보가 부호화된 데이터를 추출하고 복호화하여 스킵 움직임 정보를 복원하고 복원된 스킵 움직임 정보를 이용하여 해당 블록의 움직임을 보상하여 생성되는 블록을 복호화하고자 하는 블록으로 복원한다.
단계 S3820에서, 영상 복호화 장치(3700)는 스킵 타입 정보가 블록의 계수 정보를 부호화함을 나타내는 경우, 비트스트림을 복호화하여 복원되는 계수 정보를 기초로 블록을 복원할 수 있다. 즉, 영상 복호화 장치(3700)는 스킵 타입 정보가 블록의 계수 정보를 부호화함을 나타내는 경우, 영상 부호화 장치(3500)에서 해당 블록의 스킵 움직임 정보가 아닌 계수 정보를 부호화하여 비트스트림에는 계수 정보가 부호화된 데이터가 없음을 알 수 있으므로, 비트스트림으로부터 계수 정보가 부호화된 데이터를 추출하고 복호화하여 계수 정보를 복원하고 복원된 계수 정보를 역 양자화 및 역 변환하여 잔여 블록을 복원하며 영상 부호화 장치(3500)와 약속되어 기 설정된 방식으로 해당 블록의 움직임 정보(즉, 움직임 벡터와 참조 픽처 인덱스)를 결정하고 결정된 움직임 정보를 이용하여 해당 블록의 움직임을 보상하여 생성되는 예측 블록과 복원된 잔여 블록을 가산하여 복호화하고자 하는 블록을 복원한다.
제 2 실시예
이하, 본 발명의 제 2 실시예를 설명한다. 특히, 본 발명의 제 2 실시예에서는 변환 서브 블록과 관련된 변환 정보 (예컨대, 변환 타입, 변환 서브 블록 분할 플래그, CBP 플래그 등)의 트리 구조 부호화의 또 다른 실시예에 대해 설명한다.
제 2 실시예에 따르면 변환 서브 블록은 각 매크로블록 또는 서브 블록 내에서 가변 크기의 블록으로 분할함으로써 얻어질 수 있다. 또한, 변환 서브 블록에 따라 변환 타입이 결정될 수 있다. 또는 예측 모드에 따라 변환 타입을 결정할 수도 있다.
이때, 가능한 변환 서브 블록의 크기와 타입에 관한 정보는 다양한 헤더에 포함될 수 있다. 여기서 헤더는 슬라이스 헤더, 픽처 헤더, 시퀀스 헤더가 될 수 있다. 또한, 최대 변환 서브 블록의 크기와 최소 변환 서브 블록의 크기를 부호화하고, 인트라 예측과 인터 예측의 최소 변환 서브 블록의 크기를 다르게 둘 수 있다. 예를 들어, 최대 변환 서브 블록의 크기가 64x64 이고, 최소 변환 서브 블록의 크기가 4x4인 경우, 다시 인트라 예측 블록의 최소 변환 서브 블록의 크기를 16x16으로 부호화 할 수 있다. 이러한 경우, 인트라 예측 블록의 변환을 위해 가능한 변환 서브 블록의 크기는 64x64, 32x32, 16x16이 되고, 인터 예측 블록의 변환을 위해 가능한 변환 서브 블록의 크기는 64x64, 32x32, 16x16, 8x8. 4x4가 된다.
도 39는 본 발명의 제 2 실시예에 따른 변환 정보 부호화의 예를 설명하기 위해 도시한 도면이다.
도 39에서, 39-A는 현재 매크로블록이 서브 블록들로 분할된 경우를 나타낸다. 즉, 현재 매크로블록이 서브 블록 A, B, C, D의 4개의 블록으로 분할되었다.
39-B는 현재 매크로블록 내 서브 블록의 예측 서브 블록을 나타낸다. 즉, 서브 블록 A는 Skip 모드이고, 서블 블록 B는 16x16의 4개의 인트라 예측 서브 블록으로 분할되었고, 서브 블록 C와 D는 각각 8x16과 16x8의 2개의 인터 예측 서브 블록으로 분할되었다.
39-C는 현재 매크로블록 내 서브 블록의 변환 서브 블록의 크기를 나타낸다. 즉, 서브 블록 A는 Skip 모드 이므로 변환하지 않고, 서브 블록 B는 8x8 크기의 변환 서브 블록으로 변환 및 양자화 되었고, 서브 블록 C와 D는 각각 32x32와 16x16 크기의 변환 서브 블록으로 변환 및 양자화되었다.
39-D와 39-E, 39-F는 1개의 휘도 성분과 2개의 색차 성분의 CBP 플래그를 나타낸다.
도 39-G는 현재 매크로블록 내 서브 블록의 블록 숫자를 나타낸다.
도 40은 트리 구조를 이용한 도 39의 서브 블록 B의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 39 및 도 40을 참조하면, 먼저 현재 서브 블록 B 내에 휘도와 색차 성분의 변환 계수가 0이 아닌 계수가 있는지를 나타내는 Sub_block_CBP_flag가 부호화되고, 현재 서브 블록이 변환 서브 블록으로 분할되었는지를 나타내는 split_flag가 부호화된다. 이후 각 변환 서브 블록마다 색차 성분 (Cr, Cb)과 휘도 성분 (Y)의 CBP_flag와 split_flag를 부호화한다. 도 39의 39-G를 참조하면, P1, P2, P3, P4로 분할된 변환 서브 블록의 split_flag와 cbp_flag를 Cb_CBP_flag, Cr_CBP_flag, split_flag 순으로 1/1/1로 부호화한 뒤 다시 분할된 변환 서브 블록의 P1, P2, P3, P4 순으로 각 변환 서브 블록의 Cb_CBP_flag, Cr_CBP_flag, split_flag, Y_CBP_flag 순으로 부호화 한다. 다른 변환 서브 블록도 동일한 순서와 동일한 신택스로 부호화 된다.
이때 각 신택스는 컨텍스트 적응적 이진산술부호화(CABAC)를 이용하여 주변 상황에 따라 다른 컨텍스트를 이용하여 부호화할 수도 있고, 컨텍스트를 이용하지 않고, 신택스 값을 1 bit로 부호화할 수도 있다.
도 41은 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 39 및 도 41을 참조하면, 현재 서브 블록 C는 변환 서브 블록으로 분할 되지 않은 인터 예측 블록이다. 따라서 현재 서브 블록 C 의 Sub_block_CBP_flag를 1로 부호화하고, split_flag를 0으로 부호화한 뒤 Cb_CBP_flag, Cr_CBP_flag, Y_CBP_flag 순으로 부호화한다.
도 42는 트리 구조를 이용한 도 39의 서브 블록 C의 변환 정보 부호화의 또 다른 예시를 설명하기 위한 도면이다.
도 39와 도 42를 참조하면, 먼저 현재 서브 블록의 변환 서브 블록이 분할 되었는지를 나타내는 split_flag를 부호화하고, CBP 플래그 (Cb, Cr, Y)를 부호화 한다. 이 경우 sub_block_CBP_flag를 부호화하지 않아도 된다. 또한, 모든 서브 블록의 트리 구조마다 최상위 노드의 sub_block_CBP_flag와 split_flag는 순서가 변경될 수 있다.
도 43은 트리 구조를 이용한 도 39의 서브 블록 D의 변환 정보 부호화 예시를 설명하기 위한 도면이다.
도 39와 도 43을 참조하면, 현재 서브 블록 D는 변환 서브 블록으로 분할 된 인터 예측 블록이다. 따라서 현재 서브 블록 D 의 sub_block_CBP_flag와 split_flag를 각각 1로 부호화 한다. 그 뒤, 도 39-G를 참조하면 P15, P16, P17, P18의 순서대로로 분할된 각 변환 서브 블록의 split_flag와 cbp_flag를 split_flag, Cb_CBP_flag, Cr_CBP_flag, Y_CBP_flag 순으로 부호화한다.
전술한 각 신택스와 신택스의 순서는 예시적인 것일 뿐 전술한 예에 한정되지 않는다. 본 발명의 실시예에 따른 변환 정보의 부호화 데이터는 변환 정보 중 sub_block_CBP_flag, split flag, cbp_flag (각 성분 별) 중 하나 이상의 신택스 및 변환 정보를 포함하여 구성될 수 있다. 특히, 서브 블록 별로 각 서브 블록에 색차와 휘도 성분에 0이 아닌 변환 계수가 있는지를 나타내는 sub_block_CBP_flag를 최상위 노드값으로 부호화하는 경우를 포함한다.
본 발명의 실시예에 따른 변환 정보 복호화는 변환 정보 부호화의 역과정에 해당하므로 당업자라면 전술한 변환 정보 부호화 과정으로부터 변환 정보 복호화 과정을 이해할 수 있을 것이다.
이상에서 전술한 바와 같이, 본 발명의 다른 실시예에 따르면 블록의 스킵 모드를 다양한 방식으로 정의하고 영상의 특성 및/또는 구현 방식이나 필요에 따라 다양한 방식을 선택적으로 이용하여 영상을 부호화하고 복호화할 수 있으므로, 영상의 압축 효율을 향상시킬 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예는, 동영상을 부호화하고 복호화하는 영상 압축 분야에 적용되어, 영상을 부호화하는 데 이용되는 부호화 정보를 효율적으로 부호화하고 다양한 부호화 방식과 복호화 방식을 선택적으로 이용하여 영상을 부호화할 수 있도록 함으로써 영상의 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.
110, 3710: 부호화 정보 부호화기
200, 3720: 영상 복호화기
200, 3720: 영상 복호화기
Claims (48)
- 영상 복호화 방법에 있어서,
비트스트림으로부터 최소 서브블록 크기에 대한 정보 및 최대 서브블록 크기를 지시하기 위한 정보를 복호화하는 단계;
비트스트림으로부터 복호화할 현재블록의 블록 모드가 스킵 모드인지 여부를 지시하는 블록 모드 정보를 복호화하는 단계; 및
상기 블록 모드 정보에 근거하여 상기 현재블록을 복원하는 단계를 포함하되,
상기 스킵 모드는 상기 현재블록의 스킵 움직임 정보 이외에 상기 현재블록에 대한 어떠한 다른 정보도 상기 비트스트림으로 부호화되지 않는 모드이고,
상기 블록 모드 정보가 상기 현재블록의 블록 모드가 상기 스킵 모드가 아님을 지시할 때, 상기 현재블록을 복원하는 단계는,
상기 비트스트림으로부터 상기 현재블록의 예측 정보를 복호화하는 단계;
상기 비트스트림으로부터 트리 구조의 분할 정보를 복호화함으로써, 상기 현재블록으로부터 분할된 하나 이상의 서브블록들의 잔차 신호에 대한 정보를 복원하는 단계; 및
상기 서브블록 각각의 잔차 신호에 대한 정보 및 상기 예측 정보에 근거하여 상기 현재블록을 복원하는 단계를 포함하고,
상기 현재블록으로부터 분할되는 상기 서브블록들은 상기 최소 서브블록 크기 이상이고 상기 최대 서브블록 크기 이하의 크기를 가지는 것을 특징으로 하는 영상 복호화 방법. - 제1항에 있어서,
상기 블록 모드 정보가 상기 현재블록의 블록 모드가 상기 스킵 모드임을 지시할 때, 상기 현재블록을 복원하는 단계는,
상기 비트스트림으로부터 상기 현재블록의 상기 스킵 움직임 정보를 복호화하고 상기 스킵 움직임 정보에 근거하여 상기 현재블록의 움직임벡터를 결정하는 단계;
상기 현재블록의 움직임벡터를 사용하여 상기 현재블록의 예측블록을 생성하는 단계; 및
상기 비트스트림으로부터 상기 현재블록의 잔차 신호에 대한 정보를 복호화함 없이 상기 예측블록으로부터 상기 현재블록을 복원하는 단계
를 포함하는 것을 특징으로 하는 영상 복호화 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 최소 서브블록 크기에 대한 정보 및 상기 최대 서브블록 크기를 지시하기 위한 정보는 시퀀스 단위로 상기 비트스트림으로부터 복호화되는 것을 특징으로 하는 영상 복호화 방법. - 제1항에 있어서,
상기 분할 정보를 복호화하는 것은,
분할 플래그를 복호화하되, 상기 분할 플래그는 대응하는 블록이 상기 트리구조에서 복수의 하위 레이어 블록으로 분할되는지 여부를 지시하는 정보인 단계;
상기 대응하는 블록의 제1 색차 성분이 0이 아닌 변환 계수를 가지는지 여부를 지시하는 제1 부호화 블록 정보 및 제2 색차 성분이 0이 아닌 변환 계수를 가지는지 여부를 지시하는 제2 부호화 블록 정보를 복원하는 단계; 및
상기 대응하는 블록이 상기 복수의 하위 레이어 블록으로 분할되지 않을 때, 상기 대응하는 블록의 휘도 성분이 0이 아닌 변환 계수를 가지는지 여부를 지시하는 제3 부호화 블록 정보를 복원하고 상기 대응하는 블록을 상기 서브블록들 중 하나로 식별하는 단계
를 포함하는 것을 특징으로 하는 영상 복호화 방법. - 제6항에 있어서,
상기 제1 부호화 블록 정보는 상기 대응하는 블록의 상위 레이어 블록이 제1 색차 성분에 대한 0이 아닌 변환 계수를 가질 때 복원되고,
상기 제2 부호화 블록 정보는 상기 대응하는 블록의 상위 레이어 블록이 제2 색차 성분에 대한 0이 아닌 변환 계수를 가질 때 복원되는 것을 특징으로 하는 영상 복호화 방법. - 영상 복호화 방법에 있어서,
비트스트림으로부터 현재블록의 블록 모드가 스킵 모드인지 여부를 지시하는 블록 모드 정보를 복호화하는 단계; 및
상기 블록 모드 정보에 근거하여 상기 현재블록을 복원하는 단계를 포함하되,
상기 스킵 모드는 상기 현재블록의 스킵 움직임 정보 이외에 상기 현재블록에 대한 어떠한 다른 정보도 상기 비트스트림으로 부호화되지 않는 모드이고,
상기 블록 모드 정보를 복호화하기 이전에,
최대크기블록을 분할함으로써 상기 현재블록을 식별하는 단계
를 더 포함하는 것을 특징으로 하는 영상 복호화 방법. - 제8항에 있어서,
상기 최대크기블록은 상기 비트스트림으로부터 복호화된 분할 모드 정보에 근거하여 분할되는 것을 특징으로 하는 영상 복호화 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510629964.7A CN105306935B (zh) | 2010-04-16 | 2011-04-18 | 视频解码设备 |
US13/641,673 US10015512B2 (en) | 2010-04-16 | 2011-04-18 | Method for decoding images based on block mode information |
PCT/KR2011/002761 WO2011129671A2 (ko) | 2010-04-16 | 2011-04-18 | 영상 부호화/복호화 장치 및 방법 |
CN201180029802.XA CN102986213B (zh) | 2010-04-16 | 2011-04-18 | 视频编码/解码设备和方法 |
CN201510455161.4A CN104967853B (zh) | 2010-04-16 | 2011-04-18 | 视频编码/解码设备和方法 |
US14/752,108 US9967587B2 (en) | 2010-04-16 | 2015-06-26 | Apparatus and method for encoding/decoding images |
US14/752,189 US9967588B2 (en) | 2010-04-16 | 2015-06-26 | Apparatus and method for encoding/decoding images |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100035533 | 2010-04-16 | ||
KR20100035533 | 2010-04-16 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170177017A Division KR101874840B1 (ko) | 2010-04-16 | 2017-12-21 | 영상 부호화/복호화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110115985A KR20110115985A (ko) | 2011-10-24 |
KR101813189B1 true KR101813189B1 (ko) | 2018-01-31 |
Family
ID=45030486
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110035424A KR101813189B1 (ko) | 2010-04-16 | 2011-04-16 | 영상 부호화/복호화 장치 및 방법 |
KR1020170177017A KR101874840B1 (ko) | 2010-04-16 | 2017-12-21 | 영상 부호화/복호화 장치 및 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170177017A KR101874840B1 (ko) | 2010-04-16 | 2017-12-21 | 영상 부호화/복호화 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10015512B2 (ko) |
KR (2) | KR101813189B1 (ko) |
CN (3) | CN102986213B (ko) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102771125B (zh) * | 2009-12-10 | 2015-12-09 | Sk电信有限公司 | 使用树形结构的编码/解码方法和装置 |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
CN107105282B (zh) * | 2010-12-14 | 2019-11-12 | M&K控股株式会社 | 用于解码运动画面的设备 |
US9380319B2 (en) * | 2011-02-04 | 2016-06-28 | Google Technology Holdings LLC | Implicit transform unit representation |
US11245902B2 (en) | 2011-06-30 | 2022-02-08 | Sony Corporation | Binarization of DQP using separate absolute value and sign (SAVS) in CABAC |
US9112526B2 (en) | 2011-06-15 | 2015-08-18 | Sony Corporation | Binarization of DQP using separate absolute value and sign (SAVS) in CABAC |
US9948938B2 (en) * | 2011-07-21 | 2018-04-17 | Texas Instruments Incorporated | Methods and systems for chroma residual data prediction |
KR102277121B1 (ko) * | 2011-11-08 | 2021-07-15 | 한국과학기술원 | 영상 부호화/복호화 방법 및 장치 |
US9426466B2 (en) | 2012-06-22 | 2016-08-23 | Qualcomm Incorporated | Transform skip mode |
JP2015526013A (ja) * | 2012-07-02 | 2015-09-07 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 映像符号化方法及び装置、並びに映像復号化方法及び装置 |
US20140079135A1 (en) * | 2012-09-14 | 2014-03-20 | Qualcomm Incoporated | Performing quantization to facilitate deblocking filtering |
US9219915B1 (en) | 2013-01-17 | 2015-12-22 | Google Inc. | Selection of transform size in video coding |
US9544597B1 (en) | 2013-02-11 | 2017-01-10 | Google Inc. | Hybrid transform in video encoding and decoding |
US9967559B1 (en) | 2013-02-11 | 2018-05-08 | Google Llc | Motion vector dependent spatial transformation in video coding |
US10334263B2 (en) | 2013-04-05 | 2019-06-25 | Samsung Electronics Co., Ltd. | Interlayer video encoding method and apparatus and interlayer video decoding method and apparatus for compensating luminance difference |
US9674530B1 (en) | 2013-04-30 | 2017-06-06 | Google Inc. | Hybrid transforms in video coding |
JP6731574B2 (ja) * | 2014-03-06 | 2020-07-29 | パナソニックIpマネジメント株式会社 | 動画像符号化装置および動画像符号化方法 |
US9924175B2 (en) | 2014-06-11 | 2018-03-20 | Qualcomm Incorporated | Determining application of deblocking filtering to palette coded blocks in video coding |
US10136141B2 (en) * | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
US9565451B1 (en) | 2014-10-31 | 2017-02-07 | Google Inc. | Prediction dependent transform coding |
FR3029333A1 (fr) * | 2014-11-27 | 2016-06-03 | Orange | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
KR102365685B1 (ko) | 2015-01-05 | 2022-02-21 | 삼성전자주식회사 | 인코더의 작동 방법과 상기 인코더를 포함하는 장치들 |
US10148981B2 (en) | 2015-03-20 | 2018-12-04 | Mediatek Singapore Pte. Ltd. | Methods of palette coding with inter-prediction in video coding |
US10003807B2 (en) * | 2015-06-22 | 2018-06-19 | Cisco Technology, Inc. | Block-based video coding using a mixture of square and rectangular blocks |
US9769499B2 (en) | 2015-08-11 | 2017-09-19 | Google Inc. | Super-transform video coding |
US10277905B2 (en) | 2015-09-14 | 2019-04-30 | Google Llc | Transform selection for non-baseband signal coding |
US10362310B2 (en) * | 2015-10-21 | 2019-07-23 | Qualcomm Incorporated | Entropy coding techniques for display stream compression (DSC) of non-4:4:4 chroma sub-sampling |
US9807423B1 (en) | 2015-11-24 | 2017-10-31 | Google Inc. | Hybrid transform scheme for video coding |
US9942548B2 (en) * | 2016-02-16 | 2018-04-10 | Google Llc | Entropy coding transform partitioning information |
CN114513657B (zh) * | 2016-07-05 | 2024-06-04 | 株式会社Kt | 对视频进行解码的方法和设备以及对视频进行编码的方法 |
WO2018026028A1 (ko) * | 2016-08-02 | 2018-02-08 | 엘지전자(주) | 서브 계수 그룹을 이용하여 레지듀얼 신호를 인코딩, 디코딩하는 방법 및 장치 |
KR20180021942A (ko) | 2016-08-22 | 2018-03-06 | 광운대학교 산학협력단 | 보안 카메라용 영상 코덱에서 블록 분할 정보 전송 방법 및 장치 |
WO2018066980A1 (ko) | 2016-10-04 | 2018-04-12 | 김기백 | 영상 데이터 부호화/복호화 방법 및 장치 |
CN114531588A (zh) | 2016-10-04 | 2022-05-24 | 有限公司B1影像技术研究所 | 图像数据编码/解码方法、介质和发送比特流的方法 |
WO2018123313A1 (ja) * | 2016-12-26 | 2018-07-05 | 日本電気株式会社 | 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置及びプログラム |
CN107566846B (zh) * | 2017-09-20 | 2020-04-14 | 北京字节跳动网络技术有限公司 | 视频编码跳过模式决策方法、装置、设备及存储介质 |
CN111264059B (zh) * | 2017-10-25 | 2021-11-12 | 株式会社索思未来 | 编码方法、解码方法、编码装置、解码装置以及计算机可读取的记录介质 |
KR102524628B1 (ko) * | 2018-01-05 | 2023-04-21 | 에스케이텔레콤 주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
CN115002459A (zh) | 2018-01-05 | 2022-09-02 | Sk电信有限公司 | 视频解码设备、视频编码设备和非暂时性计算机可读介质 |
FI3806476T3 (fi) * | 2018-06-03 | 2023-08-15 | Lg Electronics Inc | Menetelmä ja laite videosignaalin käsittelemiseksi redusoitua muunnosta käyttäen |
CN112567749B (zh) * | 2018-06-18 | 2024-03-26 | Lg电子株式会社 | 使用仿射运动预测来处理视频信号的方法和装置 |
CN112840649A (zh) | 2018-09-21 | 2021-05-25 | Lg电子株式会社 | 图像编码系统中通过使用块分割对图像解码的方法及其装置 |
WO2020184977A1 (ko) * | 2019-03-11 | 2020-09-17 | 한국전자통신연구원 | 화면 내 블록 복사 기반 부호화/복호화 방법, 장치 및 비트스트림 저장매체 |
US11122297B2 (en) | 2019-05-03 | 2021-09-14 | Google Llc | Using border-aligned block functions for image compression |
CN110300302B (zh) * | 2019-06-05 | 2021-11-12 | 锐捷网络股份有限公司 | 一种视频编码方法、装置和存储介质 |
CN117478913A (zh) * | 2019-06-13 | 2024-01-30 | 北京达佳互联信息技术有限公司 | 用于视频编解码的子块变换的方法和系统 |
CN113382255B (zh) | 2019-06-21 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、设备及存储介质 |
CN117376551B (zh) * | 2023-12-04 | 2024-02-23 | 淘宝(中国)软件有限公司 | 视频编码加速方法及电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
KR100433516B1 (ko) * | 2000-12-08 | 2004-05-31 | 삼성전자주식회사 | 트랜스코딩 방법 |
US8175159B2 (en) * | 2002-01-24 | 2012-05-08 | Hitachi, Ltd. | Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus |
CA2610276C (en) | 2005-07-22 | 2013-01-29 | Mitsubishi Electric Corporation | Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program |
WO2007148907A1 (en) * | 2006-06-19 | 2007-12-27 | Lg Electronics, Inc. | Method and apparatus for processing a vedeo signal |
KR101351730B1 (ko) * | 2006-08-28 | 2014-01-16 | 톰슨 라이센싱 | 디코딩된 비디오 블록에서 예상 왜곡을 결정하기 위한 방법및 장치 |
US20100266042A1 (en) * | 2007-03-02 | 2010-10-21 | Han Suh Koo | Method and an apparatus for decoding/encoding a video signal |
WO2009020542A1 (en) * | 2007-08-06 | 2009-02-12 | Thomson Licensing | Methods and apparatus for motion skip mode with multiple inter-view reference pictures |
CN101389016B (zh) * | 2007-09-13 | 2010-10-20 | 华为技术有限公司 | 获得块边界强度和去除块效应的方法和装置 |
KR101681443B1 (ko) * | 2007-10-16 | 2016-11-30 | 톰슨 라이센싱 | 기하학적으로 분할된 수퍼 블록들의 비디오 인코딩 및 디코딩 방법 및 장치 |
KR101946376B1 (ko) * | 2007-10-16 | 2019-02-11 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US8582652B2 (en) * | 2007-10-30 | 2013-11-12 | General Instrument Corporation | Method and apparatus for selecting a coding mode |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
KR101359496B1 (ko) * | 2008-08-06 | 2014-02-11 | 에스케이 텔레콤주식회사 | 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치 |
US8619856B2 (en) * | 2008-10-03 | 2013-12-31 | Qualcomm Incorporated | Video coding with large macroblocks |
US8503527B2 (en) * | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
CN102210152A (zh) * | 2008-10-06 | 2011-10-05 | Lg电子株式会社 | 用于处理视频信号的方法和设备 |
US9338466B2 (en) * | 2008-10-15 | 2016-05-10 | France Telecom | Method and device for coding an image sequence implementing blocks of different size, signal, data medium, decoding method and device, and computer programs corresponding thereto |
KR101483750B1 (ko) * | 2009-07-24 | 2015-01-19 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
JP5556996B2 (ja) * | 2010-01-06 | 2014-07-23 | ソニー株式会社 | 画像処理装置および方法 |
KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
SI2924995T1 (sl) * | 2010-07-09 | 2018-10-30 | Samsung Electronics Co., Ltd. | Postopek za dekodiranje videa z uporabo združevanja blokov |
-
2011
- 2011-04-16 KR KR1020110035424A patent/KR101813189B1/ko active IP Right Grant
- 2011-04-18 CN CN201180029802.XA patent/CN102986213B/zh active Active
- 2011-04-18 CN CN201510455161.4A patent/CN104967853B/zh active Active
- 2011-04-18 CN CN201510629964.7A patent/CN105306935B/zh active Active
- 2011-04-18 US US13/641,673 patent/US10015512B2/en active Active
-
2015
- 2015-06-26 US US14/752,108 patent/US9967587B2/en active Active
- 2015-06-26 US US14/752,189 patent/US9967588B2/en active Active
-
2017
- 2017-12-21 KR KR1020170177017A patent/KR101874840B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN102986213B (zh) | 2016-03-23 |
US9967588B2 (en) | 2018-05-08 |
KR101874840B1 (ko) | 2018-08-02 |
CN105306935B (zh) | 2018-08-07 |
US20130034152A1 (en) | 2013-02-07 |
KR20180000336A (ko) | 2018-01-02 |
US10015512B2 (en) | 2018-07-03 |
US9967587B2 (en) | 2018-05-08 |
CN102986213A (zh) | 2013-03-20 |
US20150296217A1 (en) | 2015-10-15 |
CN104967853B (zh) | 2018-06-12 |
US20150296216A1 (en) | 2015-10-15 |
CN104967853A (zh) | 2015-10-07 |
KR20110115985A (ko) | 2011-10-24 |
CN105306935A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101874840B1 (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR101868290B1 (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR101984764B1 (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR101952184B1 (ko) | 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체 | |
KR101543319B1 (ko) | 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101791242B1 (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR101698509B1 (ko) | 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101479129B1 (ko) | 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101943049B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR101673028B1 (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR20110069740A (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR20190050863A (ko) | 비디오 신호의 처리 방법 및 장치 | |
KR20110043407A (ko) | 영상 부호화/복호화 장치 및 방법 | |
KR101449692B1 (ko) | 영상 부호화 장치 및 그 방법, 및 영상 복호화 장치 및 그 방법 | |
KR20130054981A (ko) | 가변 크기의 매크로블록을 이용한 영상 부호화/복호화 방법 및 장치 | |
KR20140073430A (ko) | 영상 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |