KR102215433B1 - 영상 정보 코딩 방법 및 이를 이용하는 장치 - Google Patents
영상 정보 코딩 방법 및 이를 이용하는 장치 Download PDFInfo
- Publication number
- KR102215433B1 KR102215433B1 KR1020207029207A KR20207029207A KR102215433B1 KR 102215433 B1 KR102215433 B1 KR 102215433B1 KR 1020207029207 A KR1020207029207 A KR 1020207029207A KR 20207029207 A KR20207029207 A KR 20207029207A KR 102215433 B1 KR102215433 B1 KR 102215433B1
- Authority
- KR
- South Korea
- Prior art keywords
- prediction
- current block
- information
- unit
- size
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/124—Quantisation
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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
-
- 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
-
- 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명에 따른 영상 정보 코딩 방법은 현재 블록의 인터 예측 시 양방향 예측이 적용되는지 여부에 따라 순방향 예측, 역방향 예측 및 양방향 예측의 인덱스 값을 상이한 방식으로 이진화하는 단계와 상기 이진화된 코드워드를 엔트로피 코딩하는 단계를 포함하고 상기 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되는지 여부는 상기 현재 블록의 크기에 따라 결정될 수 있다. 이로 인하여, 특정 크기를 갖는 예측 유닛의 인터 예측 방향을 이진화 하는 방법 및 이를 이용하는 장치가 제공된다.
Description
본 발명은 영상 정보 코딩 방법 및 이를 이용하는 장치에 관한 것으로서 더 구체적으로는 영상 정보를 이진화 하는 방법 및 장치에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가하고 있다.
정보량의 증가로 인해 다양한 성능의 장치와 다양한 환경의 네트워크가 등장하고 있다. 다양한 성능의 장치와 다양한 환경의 네트워크가 등장함에 따라서, 동일한 콘텐츠를 다양한 품질로 이용할 수 있게 되었다.
구체적으로, 단말 장치가 지원할 수 있는 품질의 영상이 다양해지고, 구축된 네트워크 환경이 다양해짐으로써, 어떤 환경에서는 일반적인 품질의 영상을 이용하지만, 또 다른 환경에서는 더 높은 품질의 영상을 이용할 수 있게 된다.
예를 들어, 휴대 단말에서 비디오 콘텐츠를 구매한 소비자가 가정 내 대화면의 디스플레이를 통해 동일한 비디오 콘텐츠를 더 큰 화면과 더 높은 해상도로 감상할 수 있게 되는 것이다.
최근에는 HD(High Definition) 해상도를 가지는 방송이 서비스되면서 많은 사용자들은 이미 고해상도, 고화질의 영상에 익숙해지고 있고, 서비스 제공자와 사용자들은 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)의 서비스에도 관심을 기울이고 있다.
따라서, 다양한 환경에서 사용자가 요구하는 영상 서비스를 품질에 따라서 다양하게 제공하기 위해 고용량 비디오에 대한 고효율의 인코딩/디코딩 방법을 기반으로 영상의 품질, 예컨대 영상의 화질, 영상의 해상도, 영상의 크기, 비디오의 프레임 레이트 등에 스케일러빌러티를 제공하는 것이 필요하다. 또한, 이러한 스케일러빌러티에 수반되는 다양한 영상 처리 방법이 논의되어야 한다.
본 발명은 특정 크기를 갖는 예측 유닛의 인터 예측 방향을 이진화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 단방향 인터 예측이 적용되는 예측 유닛의 인터 예측 방향을 이진화 방법 및 이를 이용하는 장치를 제공함에 있다.
또한, 본 발명은 인터 예측 방향의 개수에 따라 차별적으로 인터 예측 방향을 이진화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 현재 블록의 인터 예측 시 양방향 예측이 적용되는지 여부에 따라 순방향 예측, 역방향 예측 및 양방향 예측의 인덱스 값을 상이한 방식으로 이진화하는 단계와 상기 이진화된 코드워드를 엔트로피 코딩하는 단계를 포함하고 상기 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되는지 여부는 상기 현재 블록의 크기에 따라 결정될 수 있다.
상기 현재 블록이 속한 코딩 유닛의 크기가 8X8이고, 상기 현재 블록의 파티셔닝 모드가 2Nx2N이 아니면, 상기 현재 블록은 상기 양방향 예측이 적용되지 않을 수 있다.
상기 현재 블록의 폭 및 너비의 합이 12이면 상기 현재 블록은 상기 양방향 예측이 적용되지 않을 수도 있다.
상기 현재 블록은 예측 블록일 수 있다.
상기 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되면, 상기 순방향 예측 및 상기 역방향 예측의 인덱스 값에 2비트의 코드워드가 할당되고, 상기 양방향 예측의 인덱스 값에 1비트의 코드워드가 할당될 수 있다.
반면, 상기 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되지 않으면, 상기 순방향 예측 및 상기 역방향 예측의 인덱스 값에 1비트의 코드워드가 할당될 수 있다.
한편, 본 발명의 다른 실시 형태에 따르면 현재 블록의 인터 예측 시 양방향 예측이 적용되는지 여부에 따라 순방향 예측, 역방향 예측 및 양방향 예측의 인덱스 값을 상이한 방식으로 이진화하고, 상기 이진화된 코드워드를 엔트로피 코딩하는 엔트로피 인코딩부를 포함하고, 상기 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되는지 여부는 상기 현재 블록의 크기에 따라 결정될 수 있다.
본 발명의 일 실시예에 따르면, 특정 크기를 갖는 예측 유닛의 인터 예측 방향을 이진화 하는 방법 및 이를 이용하는 장치가 제공된다.
본 발명의 일 실시예에 따르면 단방향 인터 예측이 적용되는 예측 유닛의 인터 예측 방향을 이진화 방법 및 이를 이용하는 장치가 제공된다.
또한, 본 발명의 일 실시예에 따르면 인터 예측 방향의 개수에 따라 차별적으로 인터 예측 방향을 이진화 하는 방법 및 이를 이용하는 장치가 제공된다.
또한, 본 발명에 따르면, 코딩되는 정보를 감소시켜 영상 정보의 압축율이 향상된다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 본 발명에 따라 코딩 유닛이 포함할 수 있는 예측 유닛의 형태를 도시한 도면이다.
도 4는 본 발명에서 적용되는 엔트로피 코딩부의 일 예를 개략적으로 설명하는 도면이다.
도 5는 본 발명에서 적용되는 8X8 코딩 유닛의 파티셔닝을 도시한 것이다.
도 6은 본 발명에서 적용되는 16X16 코딩 유닛의 파티셔닝을 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 영상 정보 코딩 방법을 설명하기 위한 제어 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 도시한 블록도이다.
도 3은 본 발명에 따라 코딩 유닛이 포함할 수 있는 예측 유닛의 형태를 도시한 도면이다.
도 4는 본 발명에서 적용되는 엔트로피 코딩부의 일 예를 개략적으로 설명하는 도면이다.
도 5는 본 발명에서 적용되는 8X8 코딩 유닛의 파티셔닝을 도시한 것이다.
도 6은 본 발명에서 적용되는 16X16 코딩 유닛의 파티셔닝을 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 영상 정보 코딩 방법을 설명하기 위한 제어 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 비디오 인코딩 장치/디코딩 장치에서 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 장치를 개략적으로 도시한 블록도이다. 비디오 인코딩/ 디코딩 방법 또는 장치는 스케일러빌리티(scalability)를 제공하지 않는 일반적인 비디오 인코딩/ 디코딩 방법 또는 장치의 확장(extension)에 의해 구현될 수 있으며, 도 1의 블록도는 스케일러블 비디오 인코딩 장치의 기초가 될 수 있는 비디오 인코딩 장치의 일 실시예를 나타낸다.
도 1을 참조하면, 인코딩 장치(100)는 픽처 분할부(105), 예측부(110), 변환부(115), 양자화부(120), 재정렬부(125), 엔트로피 인코딩부(130), 역양자화부(135), 역변환부(140), 필터부(145) 및 메모리(150)를 구비한다.
픽처 분할부(105)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위로서의 블록은 예측 유닛(Prediction Unit, 이하 ‘PU’라 함)일 수도 있고, 변환 유닛(Transform Unit, 이하 ‘TU’라 함)일 수도 있으며, 코딩 유닛(Coding Unit, 이하 ‘CU’라 함)일 수도 있다.
픽처 분할부(105)에서 분할되는 처리 단위 블록들은 쿼드 트리(quad-tree) 구조를 가질 수 있다.
예측부(110)는 후술하는 바와 같이, 인터 예측을 수행하는 인터 예측부와 인트라 예측을 수행하는 인트라 예측부를 포함한다. 예측부(110)는, 픽처 분할부(105)에서 픽처의 처리 단위에 대하여 예측을 수행하여 예측 블록을 생성한다. 예측부(110)에서 픽처의 처리 단위는 CU일 수도 있고, TU일 수도 있고, PU일 수도 있다. 또한, 예측부(110)는 해당 처리 단위에 대하여 실시되는 예측이 인터 예측인지 인트라 예측인지를 결정하고, 각 예측 방법의 구체적인 내용(예컨대, 예측 모드 등)을 정할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 예측 방법의 구체적인 내용이 정해지는 처리 단위는 다를 수 있다. 예컨대, 예측의 방법과 예측 모드 등은 PU 단위로 결정되고, 예측의 수행은 TU 단위로 수행될 수도 있다.
인터 예측을 통해서는 현재 픽처의 이전 픽처 및/또는 이후 픽처 중 적어도 하나의 픽처의 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다. 또한, 인트라 예측을 통해서는 현재 픽처 내의 픽셀 정보를 기초로 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 예측의 방법으로서, 스킵(skip) 모드, 머지(merge) 모드, MVP(Motion Vector Predtiction) 등을 이용할 수 있다. 인터 예측에서는 PU에 대하여, 참조 픽처를 선택하고 PU에 대응하는 참조 블록을 선택할 수 있다. 참조 블록은 정수 픽셀 단위로 선택될 수 있다. 이어서, 현재 PU와의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되는 예측 블록이 생성된다.
예측 블록은 정수 샘플 단위로 생성될 수도 있고, 1/2 픽셀 단위 또는 1/4 픽셀 단위와 같이 정수 이하 픽셀 단위로 생성될 수도 있다. 이때, 움직임 벡터 역시 정수 픽셀 이하의 단위로 표현될 수 있다.
인터 예측을 통해 선택된 참조 픽처의 인덱스, 움직임 벡터(ex. Motion Vector Predictor), 레지듀얼 신호 등의 정보는 엔트로피 인코딩되어 디코딩 장치에 전달된다. 스킵 모드가 적용되는 경우에는 레지듀얼을 예측 블록을 복원 블록으로 할 수 있으므로, 레지듀얼을 생성, 변환, 양자화, 전송하지 않을 수 있다.
인트라 예측을 수행하는 경우에는, PU 단위로 예측 모드가 정해져서 PU 단위로 예측이 수행될 수 있다. 또한, PU 단위로 예측 모드가 정해지고 TU 단위로 인트라 예측이 수행될 수도 있다.
인트라 예측에서 예측 모드는 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비향성성 모드는 DC 예측 모드 및 플래이너 모드(Planar 모드)을 포함할 수 있다.
인트라 예측에서는 참조 샘플에 필터를 적용한 후 예측 블록을 생성할 수 있다. 이때, 참조 샘플에 필터를 적용할 것인지는 현재 블록의 인트라 예측 모드 및/또는 사이즈에 따라 결정될 수 있다.
생성된 예측 블록과 원본 블록 사이의 레지듀얼 값(레지듀얼 블록 또는 레지듀얼 신호)은 변환부(115)로 입력된다. 또한, 예측을 위해 사용한 예측 모드 정보, 움직임 벡터 정보 등은 레지듀얼 값과 함께 엔트로피 인코딩부(130)에서 인코딩되어 디코딩 장치에 전달된다.
변환부(115)는 변환 블록 단위로 레지듀얼 블록에 대한 변환을 수행하고 변환 계수를 생성한다.
변환 블록은 샘플들의 직사각형 블록으로서 동일한 변환이 적용되는 블록이다. 변환 블록은 변환 유닛(TU)일 수 있으며, 쿼드 트리(quad tree) 구조를 가질 수 있다.
변환부(115)는 레지듀얼 블록에 적용된 예측 모드와 블록의 크기에 따라서 변환을 수행할 수 있다.
예컨대, 레지듀얼 블록에 인트라 예측이 적용되었고 블록이 4x4의 레지듀얼 배열이라면, 레지듀얼 블록을 DST(Discrete Sine Transform)를 이용하여 변환하고, 그 외의 경우라면 레지듀얼 블록을 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
변환부(115)는 변환에 의해 변환 계수들의 변환 블록을 생성할 수 있다.
양자화부(120)는 변환부(115)에서 변환된 레지듀얼 값들, 즉 변환 계수들을 양자화하여 양자화된 변환 계수를 생성할 수 있다. 양자화부(120)에서 산출된 값은 역양자화부(135)와 재정렬부(125)에 제공된다.
재정렬부(125)는 양자화부(120)로부터 제공된 양자화된 변환 계수를 재정렬한다. 양자화된 변환 계수를 재정렬함으로써 엔트로피 인코딩부(130)에서의 인코딩 효율을 높일 수 있다.
재정렬부(125)는 계수 스캐닝(Coefficient Scanning) 방법을 통해 2차원 블록 형태의 양자화된 변환 계수들을 1차원의 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(130)는 재정렬부(125)에 의해 재정렬된 양자화된 변환 값들 또는 코딩 과정에서 산출된 인코딩 파라미터 값 등을 기초로 심볼(symbol)을 확률 분포에 따라 엔트로피 코딩하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 인코딩 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 디코딩 가능한 2진수의 열로 표현하는 방법이다.
여기서, 심볼이란 인코딩/디코딩 대상 구문 요소(syntax element) 및 코딩 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 인코딩 파라미터는 인코딩 및 디코딩에 필요한 매개변수로서, 구문 요소와 같이 인코딩 장치에서 인코딩되어 디코딩 장치로 전달되는 정보뿐만 아니라, 인코딩 혹은 디코딩 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 인코딩하거나 디코딩할 때 필요한 정보를 의미한다. 인코딩 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 코딩 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 인코딩이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 인코딩 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 인코딩을 통해서 영상 인코딩의 압축 성능이 높아질 수 있다.
엔트로피 인코딩을 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 인코딩 방법이 사용될 수 있다. 예를 들어, 엔트로피 인코딩부(130)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 인코딩을 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 인코딩부(130는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 인코딩을 수행할 수 있다. 또한 엔트로피 인코딩부(130)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 인코딩을 수행할 수도 있다.
여기서, 이진화(binarization)란 심볼의 값을 2진수의 열(bin sequence/string)로 표현하는 것을 의미한다. 빈(bin)은 심볼이 이진화를 통해 2진수의 열로 표현될 때, 각각의 2진수의 값(0 또는 1)을 의미한다.
확률 모델이란, 문맥 정보(context information)/문맥 모델(context model)을 통해서 도출될 수 있는 인코딩/디코딩 대상 심볼/빈의 예측된 확률을 의미한다. 문맥 정보/문맥 모델은 인코딩/디코딩 대상 심볼/빈의 확률을 결정하기 위한 정보를 말한다.
보다 상세하게, CABAC 엔트로피 인코딩 방법은, 이진화되지 않은 심볼을 이진화(binarization)하여 빈으로 변환하고, 주변 및 인코딩 대상 블록의 인코딩 정보 혹은 이전 단계에서 인코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 부호화(arithmetic encoding)를 수행하여 비트스트림을 생성할 수 있다. 이때, CABAC 엔트로피 인코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 인코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
또한, 엔트로피 인코딩부(130)는 필요한 경우에, 전송하는 파라미터 셋(parameter set) 또는 신택스에 일정한 변경을 가할 수도 있다.
역양자화부(135)는 양자화부(120)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(140)는 역양자화부(135)에서 역양자화된 값들을 역변환한다.
역양자화부(135) 및 역변환부(140)에서 생성된 레지듀얼 값과 예측부(110)에서 예측된 예측 블록이 합쳐져 복원 블록(Reconstructed Block)이 생성될 수 있다.
도 1에서는 가산기를 통해서, 레지듀얼 블록과 예측 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수도 있다.
필터부(145)는 디블록킹 필터, ALF(Adaptive Loop Filter), SAO(Sample Adaptive Offset)를 복원된 픽처에 적용할 수 있다.
디블록킹 필터는 복원된 픽처에서 블록 간의 경계에 생긴 왜곡을 제거할 수 있다. ALF(Adaptive Loop Filter)는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. ALF는 고효율을 적용하는 경우에만 수행될 수도 있다. SAO는 디블록킹 필터가 적용된 레지듀얼 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원하며, 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등의 형태로 적용된다.
한편, 인터 예측에 사용되는 복원 블록에 대해서 필터부(145)는 필터링을 적용하지 않을 수도 있다.
메모리(150)는 필터부(145)를 통해 산출된 복원 블록 또는 픽처를 저장할 수 있다. 메모리(150)에 저장된 복원 블록 또는 픽처는 인터 예측을 수행하는 예측부(110)에 제공될 수 있다.
도 2는 본 발명의 일 실시예에 따른 비디오 디코딩 장치를 개략적으로 나타낸 블록도이다. 도 1에서 상술한 바와 같이 스케일러블 비디오 인코딩/디코딩 방법 또는 장치는 스케일러빌리티를 제공하지 않는 일반적인 비디오 인코딩/디코딩 방법 또는 장치의 확장에 의해 구현될 수 있으며, 도 2의 블록도는 스케일러블 비디오 디코딩 장치의 기초가 될 수 있는 비디오 디코딩 장치의 일 실시예를 나타낸다
도 2를 참조하면, 비디오 디코딩 장치(200)는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 메모리(240)를 포함할 수 있다.
비디오 인코딩 장치에서 영상 비트스트림이 입력된 경우, 입력된 비트스트림은 비디오 인코딩 장치에서 영상 정보가 처리된 절차에 따라서 디코딩될 수 있다.
엔트로피 디코딩부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 디코딩하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 디코딩 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 디코딩 방법은 상술한 엔트로피 인코딩 방법과 유사하다.
예컨대, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CAVLC 등의 가변 길이 부호화(Variable Length Coding: VLC, 이하 ‘VLC’ 라 함)가 사용된 경우에, 엔트로피 디코딩부(210)도 인코딩 장치에서 사용한 VLC 테이블과 동일한 VLC 테이블로 구현하여 엔트로피 디코딩을 수행할 수 있다. 또한, 비디오 인코딩 장치에서 엔트로피 인코딩을 수행하기 위해 CABAC을 이용한 경우에, 엔트로피 디코딩부(210)는 이에 대응하여 CABAC을 이용한 엔트로피 디코딩을 수행할 수 있다.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 복호화(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코딩 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 디코딩 방법을 통해서 영상 디코딩의 압축 성능이 높아질 수 있다.
엔트로피 디코딩부(210)에서 디코딩된 정보 중 예측 블록을 생성하기 위한 정보는 예측부(230)로 제공되고, 엔트로피 디코딩부(210)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(215)로 입력될 수 있다.
재정렬부(215)는 엔트로피 디코딩부(210)에서 엔트로피 디코딩된 비트스트림의 정보, 즉 양자화된 변환 계수를 인코딩 장치에서 재정렬한 방법을 기초로 재정렬할 수 있다.
재정렬부(215)는 1차원 벡터 형태로 표현된 계수들을 다시 2차원의 블록 형태의 계수로 복원하여 재정렬할 수 있다. 재정렬부(215)는 현재 블록(변환 블록)에 적용된 예측 모드와 변환 블록의 크기를 기반으로 계수에 대한 스캐닝을 수행하여 2 차원 블록 형태의 계수(양자화된 변환 계수) 배열을 생성할 수 있다.
역양자화부(220)는 인코딩 장치에서 제공된 양자화 파라미터와 재정렬된 블록의 계수값을 기초로 역양자화를 수행할 수 있다.
역변환부(225)는 비디오 인코딩 장치에서 수행된 양자화 결과에 대해, 인코딩 장치의 변환부가 수행한 DCT 및 DST에 대해 역DCT 및/또는 역DST를 수행할 수 있다.
역변환은 인코딩 장치에서 결정된 전송 단위 또는 영상의 분할 단위를 기초로 수행될 수 있다. 인코딩 장치의 변환부에서 DCT 및/또는 DST는 예측 방법, 현재 블록의 크기 및 예측 방향 등 복수의 정보에 따라 선택적으로 수행될 수 있고, 디코딩 장치의 역변환부(225)는 인코딩 장치의 변환부에서 수행된 변환 정보를 기초로 역변환을 수행할 수 있다.
예측부(230)는 엔트로피 디코딩부(210)에서 제공된 예측 블록 생성 관련 정보와 메모리(240)에서 제공된 이전에 디코딩된 블록 및/또는 픽처 정보를 기초로 예측 블록을 생성할 수 있다.
현재 PU에 대한 예측 모드가 인트라 예측(intra prediction) 모드인 경우에, 현재 픽처 내의 픽셀 정보를 기초로 예측 블록을 생성하는 인트라 예측을 수행할 수 있다.
현재 PU에 대한 예측 모드가 인터 예측(inter prediction) 모드인 경우에, 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나의 픽처에 포함된 정보를 기초로 현재 PU에 대한 인터 예측을 수행할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 PU의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 인코딩 장치로부터 수신한 스킵 플래그, 머지 플래그 등을 확인하고 이에 대응하여 유도될 수 있다.
복원 블록은 예측부(230)에서 생성된 예측 블록과 역변환부(225)에서 제공된 레지듀얼 블록을 이용해 생성될 수 있다. 도 2에서는 가산기에서 예측 블록과 레지듀얼 블록이 합쳐져 복원 블록이 생성되는 것으로 설명하고 있다. 이때, 가산기를 복원 블록을 생성하는 별도의 유닛(복원 블록 생성부)로 볼 수 있다.
스킵 모드가 적용되는 경우에는 레지듀얼이 전송되지 않으며 예측 블록을 복원 블록으로 할 수 있다.
복원된 블록 및/또는 픽처는 필터부(235)로 제공될 수 있다. 필터부(235)는 복원된 블록 및/또는 픽처에 디블록킹 필터링, SAO(Sample Adaptive Offset) 및/또는 ALF 등을 적용할 수 있다.
메모리(240)는 복원된 픽처 또는 블록을 저장하여 참조 픽처 또는 참조 블록으로 사용할 수 있도록 할 수 있고 또한 복원된 픽처를 출력부로 제공할 수 있다.
디코딩 장치(200)에 포함되어 있는 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 및 메모리(240) 중 영상의 디코딩에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 디코딩부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 예측부(230), 필터부(235) 등을 다른 구성요소와 구분하여 디코더 또는 디코딩부로 표현할 수 있다.
또한, 디코딩 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 디코딩부(210)를 포함할 수도 있고, 엔트로피 디코딩부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
도 3은 본 발명에 따라 코딩 유닛이 포함할 수 있는 예측 유닛의 형태를 도시한 도면이다.
코딩을 위한 영상 예측은 더 이상 나누어지지 않는 CU(즉 CU 트리의 리프 노드)를 대상으로 이루어질 수 있다. 현재 CU는 하나 이상의 예측 유닛(prediction unit:PU) 또는 예측 블록(prediction block) 또는 파티션(partition)으로 나뉘어지며 이 행위 자체 역시 파티션(partition)이라고 일컫는다. PU는 예측을 수행하는 기본 단위로써, 가능한 예측 블록의 형태는 인트라 CU과 인터 CU에서 각기 다르다.
(a)는 인트라 예측을 수행하는 CU에 대한 PU를 도시한 것이다. 도시된 바와 같이, 인트라 예측을 수행하는 CU(2Nx2N)은 CU과 동일한 크기를 갖는 2Nx2N의 PU과 2Nx2N 단위의 CU을 NxN (N은 정수)으로 분할한 PU으로 분할할 수 있다.
(b)는 인터 예측을 수행하는 CU에 대한 PU을 도시한 것이다. 도시된 바와 같이, 인터 예측을 수행하는 CU(2Nx2N)은 CU과 동일한 크기를 사용하는 2Nx2N, 2NxN으로 분할한 PU, Nx2N으로 분할한 PU, NxN으로 분할한 PU, nLx2N으로 분할한 PU, nRx2N으로 분할한 PU, 2NxnU으로 분할한 PU, 2NxnD으로 분할한 PU 등으로 분할하여 사용할 수 있다.
인터 예측에 대한 PU 중 nLx2N PU, nRx2N PU, 2NxnU PU, 2NxnD PU는 CU에서 파티션닝 될 때 대칭이 아닌 비대칭적으로 파티셔닝되고 이러한 파티셔닝이 특정 제약에 따라 인터 예측 시 예측 방향을 제한할 수도 있다.
한편, 인터 예측이 수행되는 픽쳐에는 P 픽쳐 및 B 픽쳐가 있을 수 있다. P 픽쳐는 하나의 참조 픽쳐를 이용한 단방향 예측이 수행되는 픽쳐를 의미할 수 있고, B 픽쳐는 하나 이상, 예를 들어 두 개의 참조 픽쳐를 이용한 순방향, 역방향 또는 양방향 예측이 수행될 수 있는 픽쳐를 의미할 수 있다. 예를 들어, B 픽쳐에서는 1개의 순방향 참조 픽쳐(과거 픽쳐) 및 1개의 역방향 참조 픽쳐(미래 픽쳐)를 이용하여 인터 예측이 수행될 수 있다. 또한, B 픽쳐에서는 2개의 순방향 참조 픽쳐를 이용하여 예측이 수행되거나, 2개의 역방향 참조 픽쳐를 이용하여 예측이 수행될 수도 있다.
여기서, 참조 픽쳐들은 참조 픽쳐 리스트(reference picture list)에 의해 관리될 수 있다. P 픽쳐에서는 1개의 참조 픽쳐가 사용되고, 상기 참조 픽쳐는 참조 픽쳐 리스트0(L0 또는 List0)에 할당될 수 있다. B 픽쳐에서는 2개의 참조 픽쳐가 사용되고, 상기 2개의 참조 픽쳐는 각각 참조 픽쳐 리스트0 및 참조 픽쳐 리스트1(L1 또는 List1)에 할당될 수 있다. 이하, L0 참조 픽쳐 리스트는 참조 픽쳐 리스트0과 동일한 의미를 가질 수 있으며, L1 참조 픽쳐 리스트는 참조 픽쳐 리스트1과 동일한 의미를 가질 수 있다.
일반적으로 순방향 참조 픽쳐는 참조 픽쳐 리스트0에 할당되고 역방향 참조 픽쳐는 참조 픽쳐 리스트1에 할당될 수 있다. 그러나, 참조 픽쳐의 할당 방법은 이에 한정되는 것이 아니며, 순방향 참조 픽쳐가 참조 픽쳐 리스트1에 할당될 수도 있고, 역방향 참조 픽쳐가 참조 픽쳐 리스트0에 할당될 수도 있다. 이하, 참조 픽쳐 리스트0에 할당된 참조 픽쳐는 L0 참조 픽쳐, 참조 픽쳐 리스트1에 할당된 참조 픽쳐는 L1 참조 픽쳐라 한다.
참조 픽쳐들은 일반적으로 참조 픽쳐 번호에 따라, 내림차순으로 참조 픽쳐 리스트에 할당될 수 있다. 여기서, 참조 픽쳐 번호는 각 참조 픽쳐에 POC(Picture Order Count) 순서로 할당된 번호를 의미할 수 있으며, 상기 POC 순서는 픽쳐의 표시 순서 및/또는 시간 순서를 의미할 수 있다. 예를 들어, 참조 픽쳐 번호가 동일한 2개의 참조 픽쳐는 서로 동일한 참조 픽쳐에 해당될 수 있다. 참조 픽쳐 리스트에 할당된 참조 픽쳐들은 참조 픽쳐 리스트 재배열(RPLR: Reference Picture List Reordering) 또는 메모리 관리 컨트롤(MMCO: Memory Management Control Operation) 명령에 의해 재배열될 수 있다.
상술한 바와 같이, P 픽쳐에서는 1개의 L0 참조 픽쳐를 이용한 단방향 예측이 수행될 수 있고, B 픽쳐에서는 1개의 L0 참조 픽쳐 및 1개의 L1 참조 픽쳐, 즉 2개의 참조 픽쳐를 이용한 순방향, 역방향 또는 양방향 예측이 수행될 수 있다. 1개의 참조 픽쳐를 이용한 예측은 단예측(uni-prediction)으로 불릴 수 있고, L0 참조 픽쳐 및 L1 참조 픽쳐를 포함한 2개의 참조 픽쳐를 이용한 예측은 쌍예측(bi-prediction)으로 불릴 수 있다.
쌍예측은 순방향 예측, 역방향 예측 및 양방향 예측을 모두 포함하는 개념으로 사용될 수 있으나, 후술되는 실시예들에서는 편의상 2개의 참조 픽쳐(L0 참조 픽쳐 및 L1 참조 픽쳐)를 이용한 예측은 양방향 예측이라 한다. 즉, 후술되는 실시예들에서 양방향 예측은 쌍예측을 의미할 수 있고, 2개의 참조 픽쳐(L0 참조 픽쳐 및 L1 참조 픽쳐)를 이용한 순방향, 역방향, 양방향 예측을 모두 포함하는 개념으로 이해될 수 있다. 또한 쌍예측이 수행되는 경우에도 순방향 예측 또는 역방향 예측이 수행될 수 있으나, 후술되는 실시예들에서는 편의상 1개의 참조 픽쳐만을 이용한 예측을 단방향 예측이라 한다. 즉, 후술되는 실시예들에서 단방향 예측은 단예측을 의미할 수 있고, 1개의 참조 픽쳐를 이용한 예측만을 포함하는 개념으로 이해되어야 할 것이다. 또한, 이하 예측이 수행되는 블록에 대해 단방향 예측(단예측)이 적용되는지 또는 양방향 예측(쌍예측)이 적용되는지 여부를 지시하는 정보는 예측 방향 정보라 한다.
이러한 예측 방향 정보는 인코딩 장치의 엔트로피 인코딩부(130)에서 인코딩되고, 디코딩 장치의 엔트로피 디코딩부(210)에서 디코딩되어 인터 예측에 이용된다.
한편, 이러한 예측 방향 정보를 포함하는 영상 정보는 도 1에서 설명한 바와 같이, 엔트로피 인코딩을 거쳐서 비트스트림으로 디코딩 장치에 전송된다. 또한, 디코딩 장치는 도 2에서 설명한 바와 같이, 수신한 비트스트림을 엔트로피 디코딩하여 예측된 정보를 포함하는 영상 정보를 획득한다.
도 4는 본 발명에서 적용되는 엔트로피 코딩부의 일 예를 개략적으로 설명하는 도면이다. 도 4에 도시된 엔트로피 코딩부의 구성은 엔트로피 인코딩과 엔트로피 디코딩에 동일하게 적용될 수 있다.
도 4가 엔트로피 인코딩부의 일 예라고 가정하면, 엔트로피 인코딩부(400)는 이진화(binarization)부(410), 정규 코딩 엔진(Regular Coding Engine, 420), 바이패스 코딩 엔진(Bypass Coding Engine, 430)를 포함할 수 있다.
이때, 엔트로피 인코딩은 D1 방향으로 입력되는 신호를 처리하여, D2 방향으로 처리된 신호를 출력한다.
입력되는 신호가 이진값이 아닌 신택스 요소(element)인 경우에, 이진화부(410)는 입력 신호를 이진수로 변환한다. 입력되는 신호가 이미 이진 값인 경우에는 이진화부(410)를 거치지 않고 바이패스(bypass)할 수도 있다.
입력되는 한자리 값인 이진 값을 빈(Bin)이라고 한다. 예컨대, 입력되는 이진 값이 110인 경우에, 1, 1, 0 각각을 하나의 빈이라고 하며, 빈으로 구성되는 이진 시퀀스를 빈 스트링(bin string)이라고 한다.
이진화부(410)는 상술한 예측 방향 정보를 아래의 표 1과 같이 이진화 할 수 있다.
표 1에 따르면, 이진화부(410)는 단방향 예측이 수행될 수 있는 P 슬라이스의 경우 순방향 예측이 수행되면 "0"으로 역방향 예측이 수행되면 "1"로 이진화한다.
이진화부(410)는 쌍방향 예측이 가능한 B 슬라이스의 경우 단방향 예측이 수행되면 "00", 역방향 예측이 수행되면 "01"로 이진화하고, B 슬라이스에 양방향 예측이 수행되는 경우 "1"로 이진화한다.
또는 다른 실시예에 따를 경우 이진화부(410)는 표 2와 같이 예측 방향 정보를 이진화 할 수도 있다.
표 2에 따를 경우, 이진화부(410)는 단방향 예측이 수행될 수 있는 P 슬라이스의 경우 순방향 예측이 수행되면 "0"으로 역방향 예측이 수행되면 "1"로 이진화한다.
반면, 이진화부(410)는 쌍방향 예측이 가능한 B 슬라이스의 경우 단방향 예측이 수행되면 "00", 역방향 예측이 수행되면 "01"로 이진화하고, B 슬라이스에 양방향 예측이 수행되는 경우 B 슬라이스의 다른 경우와 유사하게 2 비트의 "10"로 이진화한다.
표 2에 따른 이진화는 표 1의 이진값을 보다 단순화한 것으로 영상 정보의 인코딩 및 디코딩을 수행하는 하드웨어의 구현을 더 용이하게 하는 장점이 있다.
표 1 및 표 2는 인터 예측이 수행되는 PU의 예측 방향에 제한이 없는 경우 이진화부(410)가 예측 방향 정보에 따라 이진화 값을 할당한 것이다.
한편, CU의 크기 또는 PU의 크기에 따라 예측 방향에는 소정의 제한이 따를 수 있다. 예를 들어 특정 크기의 PU에는 복잡도를 낮추거나 코딩 효율을 높이기 위하여 양방향 예측에 제한이 따를 수 있다. 이런 경우 양방향 예측에 사용되는 이진값이 표 1 및 표 2와 같이 동일하게 사용된다면 이는 빈의 중복성을 초래하고 전송되는 정보의 낭비를 야기시킬 수 있다.
따라서 본 발명의 일 실시예에 따를 경우 이진화부(410)는 현재 블록의 인터 예측 시 양방향 예측이 적용되는지 여부에 따라 순방향 예측, 역방향 예측 및 양방향 예측의 인덱스 값을 상이한 방식으로 이진화할 수 있다. 이 때, 현재 블록은 CU일 수도 있고 PU일 수도 있다.
예를 들면, 이진화부(410)는 현재 블록의 인터 예측 시 상기 양방향 예측이 적용되면, 순방향 예측 및 역방향 예측의 인덱스 값에 2비트의 코드워드를 할당하고, 양방향 예측의 인덱스 값에 1비트의 코드워드를 할당할 수 있다.
하지만, 현재 블록의 인터 예측 시 양방향 예측이 적용되지 않으면, 순방향 예측 및 상기 역방향 예측의 인덱스 값에 1비트의 코드워드를 할당할 수 있다,
이 때, 양방향 예측이 적용되는지 여부는 현재 블록의 크기에 따라 결정될 수 있다.
표 3은 이진화부(410)가 예측 방향의 인덱스에 할당하는 코드워드를 예시적으로 도시한 것이다.
표 3을 참조하면, P 슬라이스의 경우 표 1 및 2과 같이 1비트의 코드워드가 예측 방향 인덱스에 할당된다.
하지만, B 슬라이스의 경우 양방향 예측이 적용되는지 여부에 따라 예측 방향 인덱스에 할당되는 이진값이 달라진다. 현재 블록의 크기가 특정한 경우(8x8 CU && !SIZE_2Nx2N), 즉, 양방향 예측이 적용되지 않는 경우, 이진화부(410)는 P 슬라이스와 같이 순방향 예측 인덱스에는 "0"의 코드워드를 할당하고, 역방향 예측 인덱스에는 "1"의 코드워드를 할당한다.
하지만, 현재 블록에 양방향 예측이 적용되면 순방향 예측 인덱스에는 2비트 코드워드인 "00"을 할당하고, 역방향 예측 인덱스에도 2 비트의 코드워드 "01"을 할당한다. 그리고, 양방향 예측 인덱스에는 1비트의 코드워드 "1"을 할당할 수 있다.
본 실시예의 경우, 현재 블록, 즉 현재 슬라이스가 속한 CU의 크기가 8X8이고, 현재 블록의 파티셔닝 모드가 2Nx2N이면, 인터 예측 시 양방향 예측을 적용하지 않는다.
도 5는 8X8 CU의 파티셔닝을 도시한 것이다. 도 5와 같이, 8X8 CU는 네 개의 파티셔닝을 가질 수 있고, 이에 따라 CU는 8X8 PU, 8X4 PU, 4X8 PU, 4X4 PU으로 분할될 수 있다.
표 3과 같이, 본 실시예에서는 현재 블록이 속한 CU의 크기가 8X8이면서, 파티셔닝이 8X8이 아닌 경우, 즉 PU의 크기가 8X4, 4X8 및 4X4와 같으면, 즉, 다소 작은 크기의 PU의 경우에는 양방향 예측을 적용하지 않는다. 따라서, 이진화부(410)는 8X4, 4X8 및 4X4의 크기를 갖는 PU에 대하여는 순방향 예측 인덱스 및 역방향 예측 인덱스에 P 슬라이스와 같은 1비트의 코드워드를 할당한다.
8X8 크기의 PU에 대하여는 통상적인 B 슬라이스와 같이 양방향 예측이 적용되고, 이진화부(410)는 표 1의 B 슬라이스와 동일한 방식으로 현재 블록에 대한 예측 방향 정보를 이진화한다. 이진화부(410)는 이 경우 예측 방향 정보에 표 2의 이진화 방식으로 코드워드를 할당할 수도 있다.
또는, 다른 실시예에 따르면, 이진화부(410)는 현재 블록의 폭 및 너비의 합이 12인 PU에 대하여 표 3과 같은 이진화 방식을 적용할 수 있다. 즉, 현재 블록이 도 4의 예측 블록의 중 8X4, 4X8 의 크기를 갖는 경우 양방향 예측이 적용되지 않을 수 있고, 이진화부(410)는 이를 반영하여 8X4, 4X8 를 갖는 PU에 대하여 다른 크기를 갖는 PU과는 상이한 방식으로 예측 방향 정보를 이진화 할 수 있다.
또 다른 실시예에 따르면, 현재 블록의 파티셔닝 모드가 도 3의 (b)의 하단에 도시된 바와 같이 nLx2N, nRx2N, 2NxnU 및 2NxnD인 경우 양방향 예측이 적용되지 않을 수 있다.
예를 들어 현재 슬라이스가 속한 CU의 크기가 16X16이고, PU가 nLx2N, nRx2N, 2NxnU 및 2NxnD으로 파티셔닝 된 경우, 이진화부(410)는 예측 방향의 인덱스에 표 4와 같이 코드워드를 할당할 수 있다.
표 4의 ASMP(asymmetry motion partition)은 비대칭적으로 분할된 PU를 의미한다.
또 다른 실시예에 따르면, 비대칭적으로 파티셔닝된 PU 중 어느 하나에 대하여만 양방향 예측이 적용되지 않을 수 있다. 예를 들어 비대칭적으로 파티셔닝된 PU 중 작은 크기의 PU에만 양방향 예측을 적용하지 않을 수 있다.
도 6은 16X16 CU의 파티셔닝의 일 예를 도시한 것이다. 도 6과 같이, 16X16 CU는 8 개의 파티셔닝을 가질 수 있고, 이에 따라 CU는 16X16 PU, 16X8 PU, 8X16 PU, 8X8 PU, 12X16 PU, 4X16PU, 16X4 PU, 16X12 PU으로 분할될 수 있다.
도시되어 있는 PU 중 비대칭 파티셔닝을 갖는 하단의 PU에서, 크기가 작은 PU 즉 4X16 PU와 16X4 PU에는 양방향 예측이 적용되지 않을 수 있고, 이 경우 이진화부(410)는 4X16, 16X4를 갖는 PU에 대하여 다른 크기를 갖는 PU과는 상이한 방식으로 예측 방향 정보를 이진화 할 수 있다. 예측 방향 정보에 할당되는 코드워드를 나타내면 표 5와 같다.
표 5의 PU id는 두 개로 분할될 PU를 인덱스 하는 것으로 2NxnU 및 nLx2N으로 파티셔닝된 PU에서 인덱스가 0인 PU는 작은 크기의 PU를 지시하고, 2NxnD 및 nRx2N으로 파티셔닝된 PU에서 인덱스가 1인 PU 역시 작은 크기의 PU를 지시한다. 즉, 이들은 도 6에서 빗금 친 PU를 가리키고, 크기가 작은 PU에는 양방향 예측이 적용되지 않을 수 있다.
상기와 같이 이진화된 신호(빈 스트링)는 정규 코딩 엔진(420) 또는 바이패스 코딩 엔진(430)으로 입력된다.
정규 코딩 엔진(420)은 해당 빈에 대하여 확률 값을 반영하는 콘텍스트를 할당하고, 할당된 콘텍스트에 기반하여 해당 빈을 인코딩한다. 정규 코딩 엔진(420)은 각 빈에 대한 인코딩을 수행한 뒤에 해당 빈에 대한 콘텍스트를 갱신할 수 있다.
바이패스 코딩 엔진(430)은 입력되는 빈에 따라서 콘텍스트를 할당하지 않고, 단순한 바이패스 모드로 입력되는 빈을 인코딩하고, 인코딩 속도를 향상시킨다. 바이패스 모드에서는 입력된 빈에 대해서 확률을 추정하는 절차와 인코딩 후에 해당 빈에 적용했던 확률을 갱신하는 절차를 바이패스(bypass)한다. 바이패스 모드에서는 예컨대, 균일한 확률 분포를 적용하여 인코딩 절차를 수행할 수 있다.
엔트로피 인코딩부(400)는 정규 코딩 엔진(420)을 통해서 엔트로피 인코딩을 수행할 것인지, 바이패스 코딩 엔진(430)을 통해서 엔트로피 인코딩을 수행할 것인지를 결정하고, 스위칭부(440)를 통해서 인코딩 경로를 스위칭할 수 있다.
표 1 내지 표 5의 빈은 효율적인 코딩을 위하여 정규 코딩 엔진으로 입력되어 콘텍스트 코딩이 수행될 수도 있고, 하드웨어의 구현 편의를 위하여 바이 패스 코딩 엔진(430)으로 입력될 수도 있다.
또는 양 방향 예측을 나타내는 첫 번째 빈에는 콘텍스트 코딩을 적용하고, 순 방향 및 역 방향 예측을 지시하는 빈은 바이 패스 코딩을 적용할 수도 있다. 이 경우, 순방향 예측 및 역방향 예측의 가능성이 거의 유사하다는 것을 전제로 한다.
콘텍스트 코딩을 이용하는 경우, 각 빈의 콘텍스트는 현재 CU의 깊이에 따라 달라질 수도 있고, 하나의 고정값을 가질 수도 있다.
상술한 엔트로피 인코딩부(400)는 도 1에 도시된 엔트로피 인코딩부(130)일 수 있다.
한편, 도 4가 엔트로피 디코딩부의 일 예라고 가정하면, 엔트로피 디코딩부(400)는 이진화(binarization)부(410), 정규 코딩 엔진(Regular Coding Engine, 420), 바이패스 코딩 엔진(Bypass Coding Engine, 430)를 포함할 수 있다.
엔트로피 디코딩부(400)는 D3 방향으로 입력되는 신호를 처리하여, D4 방향으로 처리된 신호를 출력한다.
이진화부(410), 정규 코딩 엔진(420), 바이패스 코딩 엔진(430)은 엔트로피 인코딩부에서 설명한 바와 동일한 과정을 역순으로 수행한다.
예컨대, 엔트로피 디코딩부(400)는 입력되는 신택스 요소에 관한 빈(bin)별로 정규 코딩 엔진(420)에서 디코딩될 것인지 바이패스 코딩 엔진(430)에서 디코딩될 것인지를 결정한다.
정규 코딩 엔진을 이용하는 것으로 결정되면, 정규 코딩 엔진(420)에서 콘텍스트를 이용한 디코딩이 수행된다. 바이패스 코딩 엔진을 이용하는 것으로 결정되면, 바이패스 코딩 엔진(430)에서 균일한 확률 분포를 이용한 디코딩이 수행된다. 각 코딩 엔진(420, 430)에서의 디코딩에 의해 이진 코드가 출력된다.
특정 신택스(신택스 요소)에 대한 모든 빈에 대해서 코딩 엔진에서의 디코딩이 완료되면, 해당 신택스(신택스 요소)의 모든 빈에 대해 출력된 바이너리 코드를 합하여 어떤 신택스 값에 매핑되는지를 판단한다. 출력된 최종 바이너리 코드가 특정 신택스에 매핑되는 경우, 해당 바이너리 코드의 값이 매핑되는 신택스의 값으로 정해진다.
이때, 필요에 따라서 이진화부(410)는 역이진화를 수행할 수 있다.
이진화부(410)는 표 1 내지 표 5에 기초하여 인터 예측이 적용되는 현재 블록에서 양방향 예측이 수행되는지 여부에 따라 상이한 방식으로 이진 코드의 디코딩을 수행할 수 있다.
한편, 디코딩 장치에서는 인코딩 장치로부터 수신한 비트스트림을 엔트로피 디코딩 한다. 이하에서는, 설명의 편의를 위해서, 본 발명이 적용되는 엔트로피 디코딩의 일 예로서, 인코딩 장치에서 CABAC를 이용하여 영상 정보를 엔트로피 인코딩한 경우, 디코딩 장치에서 수행되는 엔트로피 디코딩 방법을 설명한다.
디코딩 장치 예컨대, 디코딩 장치 내의 엔트로피 디코딩부에서는, CABAC로 코딩된 신택스 요소를 파싱하는 경우에, 해당 신택스 요소의 값에 대한 요청에 따라서 CABAC 파싱 과정을 개시한다.
구체적으로, 신택스 요소 값에 대한 요청에 따라서, 해당 신택스 요소 값에 대한 이진화(binarization)가 유도된다. 이진화 과정에서는 적용된 이진화 타입(예컨대, 유너리(unary) 이진화, 절삭된 유너리(truncated unary) 이진화, 지수 골룸(Exp-Golomb) 이진화, 고정 길이(fixed length) 이진화 등)에 따라서 이진화가 수행된다.
신택스 요소에 대한 이진화 및 파싱된 빈들의 시퀀스가 디코딩 프로세스를 결정한다. 신택스 요소에 대해 이진화된 값들에 있어서 각각의 빈들은 빈 인덱스(binIdx)에 의해 인덱싱되며, 각 빈에 대하여 콘텍스트 인덱스(ctxIdx)가 유도된다. 신택스 요소별로 콘텍스트 인덱스의 초기값이 설정될 수 있다. 이 경우에, 신택스 요소별로 콘텍스트 인덱스의 값을 설정한 콘텍스트 인덱스 테이블을 이용할 수 있으며, 해당 테이블을 소정의 지시자, 예컨대, 콘텍스트 인덱스 테이블 지시자(ctxIdxTable)를 이용하여 특정할 수 있다.
각각의 콘텍스트 인덱스에 대하여, 산술적인(arithmetic) 디코딩 과정이 개시된다.
도 7은 본 발명의 일 실시예에 따른 영상 정보 코딩 방법을 설명하기 위한 제어 흐름도이다. 설명의 편의를 위하여 영상 정보, 즉 인터 예측 시 예측 방향 정보를 코딩하는 방법을 기술하였으며, 예측 방향 정보는 이하 과정을 역으로 수행하는 디코딩 과정을 거칠 수 있다. 영상 정보의 엔트로피 디코딩 과정 및 역이진화 방법은 공지된 다양한 방법에 의하여 구현 가능하다.
도 7을 참조하면, 우선, 엔트로피 인코딩부는 현재 블록의 인터 예측 시 양방향 예측이 적용되는지 여부에 따라 순방향 예측, 역방향 예측 및 양방향 예측의 인덱스 값을 상이한 방식으로 이진화할 수 있다(S710).
현재 블록의 인터 예측 시 상기 양방향 예측이 적용되는지 여부는 현재 블록의 크기에 따라 결정되며, 예를 들어 현재 블록이 속한 코딩 유닛의 크기가 8X8이고 현재 블록의 파티셔닝 모드가 2Nx2N인지 여부에 따라 현재 블록에 양방향 예측의 적용 여부가 결정될 수 있다.
판단 결과, 현재 블록이 속한 코딩 유닛의 크기가 8X8이고, 현재 블록의 파티셔닝 모드가 2Nx2N이 아니면, 현재 블록은 양방향 예측이 적용되지 않은 것으로 판단되고, 엔트로피 인코딩부는 순방향 예측 및 역방향 예측의 인덱스 값에 1비트의 코드워드를 할당한다(S720).
한편, 현재 블록이 속한 코딩 유닛의 크기가 8X8이고, 현재 블록의 파티셔닝 모드가 2Nx2N가 아닌 경우가 아니라면, 엔트로피 인코딩부는 현재 블록의 인터 예측 시 양방향 예측이 적용되는 것으로 판단하고, 순방향 예측 및 역방향 예측의 인덱스 값에 2비트의 코드워드를 할당하고, 양방향 예측의 인덱스 값에 1비트의 코드워드를 할당할 수 있다(S730).
현재 블록의 인터 예측 시 양방향 예측이 적용되지 않는 제한이 따르는 현재 블록의 크기는 다양하게 설정될 수 있다. 예를 들어, 현재 블록의 폭 및 너비의 합이 12이면 현재 블록은 양방향 예측이 적용되지 않을 수 있고, 현재 블록의 크기가 16X16 이고 파티셔닝이 비대칭인 PU 또는 비대칭인 PU 중 크기가 작은 PU에는 양방향 예측이 적용되지 않을 수 있다. 양방향 예측이 적용되는지 여부에 따라 표 3 내지 5에 기초하여 예측 방향 정보가 이진화 될 수 있다.
이진화된 예측 방향 정보의 코드워드는 바이패스 코딩 또는 콘텍스트 코딩 등으로 엔트로피 인코딩된다(S740).
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함할 수 있으므로 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
Claims (11)
- 영상 디코딩 장치에 의한 영상 디코딩 방법으로서,
현재 블록에 대한 예측 모드 정보 및 레지듀얼 정보를 포함하는 비트스트림을 수신하는 단계;
상기 예측 모드 정보를 기반으로 인터 예측 모드인 상기 현재 블록에 대하여, 리스트0 예측, 리스트1 예측 또는 쌍예측(bi-prediction)이 적용되는지 여부에 관한 인터 예측 타입 정보를 획득하는 단계;
상기 인터 예측 타입 정보의 빈 스트링을 도출하는 단계;
상기 인터 예측 타입 정보의 빈 스트링을 기반으로 상기 현재 블록에 대한 인터 예측 타입을 결정하는 단계;
상기 인터 예측 타입을 기반으로 상기 현재 블록의 예측 샘플을 도출하는 단계;
상기 레지듀얼 정보를 기반으로 상기 현재 블록의 레지듀얼 샘플을 도출하는 단계; 및
상기 예측 샘플 및 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성하는 단계를 포함하며,
상기 현재 블록은 파티션 모드를 기반으로 현재 코딩 유닛으로부터 유도되고,
상기 현재 블록에 대한 상기 쌍예측이 가용한지 여부는 상기 현재 코딩 유닛의 사이즈 및 상기 파티션 모드를 기반으로 결정되고,
16x16 사이즈이고 비대칭적(asymmetric) 파티션 모드인 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NxnU, 2NxnD, nLx2N 또는 nRx2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되고,
8x8 사이즈이고 상기 비대칭적 파티션 모드가 아닌 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NХN, NХ2N 또는 2NХ2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되는 것을 특징으로 하는 영상 디코딩 방법. - 제1항에 있어서,
상기 현재 코딩 유닛이 8x8 사이즈이고, 상기 현재 블록의 파티션 모드가 상기 2NxN 또는 상기 Nx2N인 경우, 상기 현재 블록에 대하여 상기 쌍예측이 불가용한 것을 특징으로 하는 영상 디코딩 방법. - 제1항에 있어서,
상기 현재 블록은 예측 유닛(prediction unit) 또는 예측 블록(prediction block)인 것을 특징으로 하는 영상 디코딩 방법. - 제1항에 있어서,
상기 현재 블록의 너비 및 높이의 합이 12인 경우, 상기 현재 블록에 대하여 상기 쌍예측이 불가용한 것을 특징으로 하는 영상 디코딩 방법. - 제1항에 있어서,
상기 현재 블록에 대하여 상기 쌍예측이 가용한 경우, 상기 리스트0 예측 또는 상기 리스트1 예측에 대한 상기 빈 스트링은 2비트로 구성되고,
상기 현재 블록에 대하여 상기 쌍예측이 불가용한 경우, 상기 리스트0 예측 또는 상기 리스트1 예측에 대한 상기 빈 스트링은 1비트로 구성되는 것을 특징으로 하는 영상 디코딩 방법. - 제5항에 있어서,
상기 현재 블록에 대하여 상기 쌍예측이 가용한 경우, 상기 쌍예측에 대한 상기 빈 스트링은 1비트로 구성되는 것을 특징으로 하는, 영상 디코딩 방법. - 제1항에 있어서,
상기 리스트0 예측은 참조 픽처 리스트0에 기반한 예측이고, 상기 리스트1 예측은 참조 픽처 리스트1에 기반한 예측이고, 상기 쌍예측은 상기 참조 픽처 리스트0 및 상기 참조 픽처 리스트1 둘 다에 기반한 예측인 것을 특징으로 하는 영상 디코딩 방법. - 영상 디코딩 장치로서,
현재 블록에 대한 예측 모드 정보 및 레지듀얼 정보를 포함하는 비트스트림을 수신하고, 상기 예측 모드 정보를 기반으로 인터 예측 모드인 상기 현재 블록에 대하여, 리스트0 예측, 리스트1 예측 또는 쌍예측(bi-prediction)이 적용되는지 여부에 관한 인터 예측 타입 정보를 획득하고, 상기 인터 예측 타입 정보의 빈 스트링을 도출하는 엔트로피 디코딩부;
상기 인터 예측 타입 정보의 빈 스트링을 기반으로 상기 현재 블록에 대한 인터 예측 타입을 결정하고, 상기 인터 예측 타입을 기반으로 상기 현재 블록의 예측 샘플을 도출하는 예측부;
상기 레지듀얼 정보를 기반으로 상기 현재 블록의 레지듀얼 샘플을 도출하는 역변환부; 및
상기 예측 샘플 및 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성하는 가산기를 포함하며,
상기 현재 블록은 파티션 모드를 기반으로 현재 코딩 유닛으로부터 유도되고,
상기 현재 블록에 대한 상기 쌍예측이 가용한지 여부는 상기 현재 코딩 유닛의 사이즈 및 상기 파티션 모드를 기반으로 결정되고,
16x16 사이즈이고 비대칭적(asymmetric) 파티션 모드인 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NxnU, 2NxnD, nLx2N 또는 nRx2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되고,
8x8 사이즈이고 상기 비대칭적 파티션 모드가 아닌 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NХN, NХ2N 또는 2NХ2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되는 것을 특징으로 하는 영상 디코딩 장치. - 영상 인코딩 장치에 의한 영상 인코딩 방법으로서,
현재 블록에 대한 예측 모드를 결정하는 단계;
상기 예측 모드가 인터 예측 모드인 상기 현재 블록에 대하여, 리스트0 예측, 리스트1 예측 또는 쌍예측(bi-prediction)이 적용되는지 여부에 관한 인터 예측 타입을 결정하는 단계;
상기 예측 모드 정보 및 상기 인터 예측 타입 정보를 생성하는 단계;
레지듀얼 샘플에 대한 레지듀얼 정보를 생성하는 단계; 및
상기 예측 모드 정보, 상기 인터 예측 타입 정보 및 상기 레지듀얼 정보를 포함하는 영상 정보를 인코딩하는 단계를 포함하며,
상기 인터 예측 타입을 결정하는 단계는,
상기 현재 블록에 대하여 상기 쌍예측이 가용한지 여부를 판단하는 단계를 포함하고,
상기 현재 블록은 파티션 모드를 기반으로 현재 코딩 유닛으로부터 유도되고,
상기 현재 블록에 대한 상기 쌍예측이 가용한지 여부는 상기 현재 코딩 유닛의 사이즈 및 상기 파티션 모드를 기반으로 결정되고,
16x16 사이즈이고 비대칭적(asymmetric) 파티션 모드인 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NxnU, 2NxnD, nLx2N 또는 nRx2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되고,
8x8 사이즈이고 상기 비대칭적 파티션 모드가 아닌 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NХN, NХ2N 또는 2NХ2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되는 것을 특징으로 하는 영상 인코딩 방법. - 영상 인코딩 장치로서,
현재 블록에 대한 예측 모드를 결정하고, 상기 예측 모드가 인터 예측 모드인 상기 현재 블록에 대하여, 리스트0 예측, 리스트1 예측 또는 쌍예측(bi-prediction)이 적용되는지 여부에 관한 인터 예측 타입을 결정하는 예측부; 및
상기 예측 모드 정보 및 상기 인터 예측 타입 정보를 생성하고, 레지듀얼 샘플에 대한 레지듀얼 정보를 생성하고, 상기 예측 모드 정보, 상기 인터 예측 타입 정보 및 상기 레지듀얼 정보를 포함하는 영상 정보를 인코딩하는 엔트로피 인코딩부를 포함하며,
상기 예측부는, 상기 인터 예측 타입을 결정하기 위하여, 상기 현재 블록에 대하여 상기 쌍예측이 가용한지 여부를 판단하고,
상기 현재 블록은 파티션 모드를 기반으로 현재 코딩 유닛으로부터 유도되고,
상기 현재 블록에 대한 상기 쌍예측이 가용한지 여부는 상기 현재 코딩 유닛의 사이즈 및 상기 파티션 모드를 기반으로 결정되고,
16x16 사이즈이고 비대칭적(asymmetric) 파티션 모드인 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NxnU, 2NxnD, nLx2N 또는 nRx2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되고,
8x8 사이즈이고 상기 비대칭적 파티션 모드가 아닌 상기 현재 코딩 유닛을 기반으로 유도되는 상기 현재 블록에 대하여, 상기 쌍예측이 가용한지 여부는 2NХN, NХ2N 또는 2NХ2N 파티션 모드인 상기 현재 블록에 대한 사이즈를 기반으로 결정되는 것을 특징으로 하는 영상 인코딩 장치. - 디지털 저장 매체로서, 청구항 9항의 영상 인코딩 방법에 의해 인코딩된 영상 정보가 저장된 디지털 저장매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020217003704A KR102259792B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261666936P | 2012-07-02 | 2012-07-02 | |
US201261666938P | 2012-07-02 | 2012-07-02 | |
US61/666,936 | 2012-07-02 | ||
US61/666,938 | 2012-07-02 | ||
PCT/KR2013/005858 WO2014007515A1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147008970A Division KR102167095B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217003704A Division KR102259792B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200119910A KR20200119910A (ko) | 2020-10-20 |
KR102215433B1 true KR102215433B1 (ko) | 2021-02-15 |
Family
ID=49882222
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217041378A KR102424431B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020207029207A KR102215433B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020147008970A KR102167095B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020217016211A KR102341826B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020217003704A KR102259792B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217041378A KR102424431B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147008970A KR102167095B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020217016211A KR102341826B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
KR1020217003704A KR102259792B1 (ko) | 2012-07-02 | 2013-07-02 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
Country Status (3)
Country | Link |
---|---|
US (8) | US9621909B2 (ko) |
KR (5) | KR102424431B1 (ko) |
WO (1) | WO2014007515A1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TR201819237T4 (tr) * | 2011-09-14 | 2019-01-21 | Samsung Electronics Co Ltd | Boyutuna Bağlı Olarak Bir Tahmin Birimi (TB) Kod Çözme Usulü |
KR102424431B1 (ko) | 2012-07-02 | 2022-07-22 | 엘지전자 주식회사 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
JP6337380B2 (ja) * | 2013-07-31 | 2018-06-06 | サン パテント トラスト | 画像符号化方法および画像符号化装置 |
US10282831B2 (en) * | 2015-12-28 | 2019-05-07 | Novatek Microelectronics Corp. | Method and apparatus for motion compensated noise reduction |
US10142652B2 (en) * | 2016-05-05 | 2018-11-27 | Google Llc | Entropy coding motion vector residuals obtained using reference motion vectors |
CN106358041B (zh) * | 2016-08-30 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种帧间预测编码方法及装置 |
WO2020177509A1 (en) | 2019-03-03 | 2020-09-10 | Huawei Technologies Co., Ltd. | An encoder, a decoder, and corresponding methods that are used for transform process |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US8085844B2 (en) | 2003-09-07 | 2011-12-27 | Microsoft Corporation | Signaling reference frame distances |
US7620106B2 (en) | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
US7961786B2 (en) | 2003-09-07 | 2011-06-14 | Microsoft Corporation | Signaling field type information |
US7609762B2 (en) | 2003-09-07 | 2009-10-27 | Microsoft Corporation | Signaling for entry point frames with predicted first field |
US7092576B2 (en) | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US7369709B2 (en) | 2003-09-07 | 2008-05-06 | Microsoft Corporation | Conditional lapped transform |
US7577200B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Extended range variable length coding/decoding of differential motion vector information |
US8213779B2 (en) | 2003-09-07 | 2012-07-03 | Microsoft Corporation | Trick mode elementary stream and receiver system |
US7852919B2 (en) | 2003-09-07 | 2010-12-14 | Microsoft Corporation | Field start code for entry point frames with predicted first field |
US7599438B2 (en) | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
US7782954B2 (en) | 2003-09-07 | 2010-08-24 | Microsoft Corporation | Scan patterns for progressive video content |
US8009739B2 (en) | 2003-09-07 | 2011-08-30 | Microsoft Corporation | Intensity estimation/compensation for interlaced forward-predicted fields |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US7317839B2 (en) | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
US7577198B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Number of reference fields for an interlaced forward-predicted field |
US7616692B2 (en) | 2003-09-07 | 2009-11-10 | Microsoft Corporation | Hybrid motion vector prediction for interlaced forward-predicted fields |
EP1656793B1 (en) | 2003-09-07 | 2019-11-27 | Microsoft Technology Licensing, LLC | Slice layer in video codec |
US7839930B2 (en) | 2003-11-13 | 2010-11-23 | Microsoft Corporation | Signaling valid entry points in a video stream |
US7606308B2 (en) | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
US8014450B2 (en) | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
US7924921B2 (en) | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US7623574B2 (en) | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
US8625680B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
US7688894B2 (en) | 2003-09-07 | 2010-03-30 | Microsoft Corporation | Scan patterns for interlaced video content |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7362804B2 (en) * | 2003-11-24 | 2008-04-22 | Lsi Logic Corporation | Graphical symbols for H.264 bitstream syntax elements |
KR100873636B1 (ko) | 2005-11-14 | 2008-12-12 | 삼성전자주식회사 | 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치 |
US8123695B2 (en) | 2006-09-27 | 2012-02-28 | Nellcor Puritan Bennett Llc | Method and apparatus for detection of venous pulsation |
US8571104B2 (en) * | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
LT3809703T (lt) * | 2009-06-18 | 2023-12-11 | Kabushiki Kaisha Toshiba | Vaizdo kodavimas |
KR101601848B1 (ko) | 2009-12-01 | 2016-03-10 | 에스케이 텔레콤주식회사 | 인터 예측 프레임 생성장치 및 그 생성방법, 및 거기에 이용되는 참조 프레임 보간장치 및 그 방법 |
WO2011074919A2 (ko) | 2009-12-17 | 2011-06-23 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
US8885711B2 (en) | 2009-12-17 | 2014-11-11 | Sk Telecom Co., Ltd. | Image encoding/decoding method and device |
EP3913923A1 (en) * | 2010-01-19 | 2021-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block |
US9264706B2 (en) * | 2012-04-11 | 2016-02-16 | Qualcomm Incorporated | Bypass bins for reference index coding in video coding |
KR102424431B1 (ko) * | 2012-07-02 | 2022-07-22 | 엘지전자 주식회사 | 영상 정보 코딩 방법 및 이를 이용하는 장치 |
US9906786B2 (en) * | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
US9491460B2 (en) * | 2013-03-29 | 2016-11-08 | Qualcomm Incorporated | Bandwidth reduction for video coding prediction |
-
2013
- 2013-07-02 KR KR1020217041378A patent/KR102424431B1/ko active IP Right Grant
- 2013-07-02 KR KR1020207029207A patent/KR102215433B1/ko active IP Right Grant
- 2013-07-02 US US14/359,634 patent/US9621909B2/en active Active
- 2013-07-02 KR KR1020147008970A patent/KR102167095B1/ko active IP Right Grant
- 2013-07-02 WO PCT/KR2013/005858 patent/WO2014007515A1/ko active Application Filing
- 2013-07-02 KR KR1020217016211A patent/KR102341826B1/ko active IP Right Grant
- 2013-07-02 KR KR1020217003704A patent/KR102259792B1/ko active IP Right Grant
-
2017
- 2017-03-21 US US15/464,611 patent/US9769487B2/en active Active
- 2017-09-18 US US15/707,794 patent/US10045039B2/en active Active
-
2018
- 2018-08-06 US US16/055,622 patent/US10469862B2/en active Active
-
2019
- 2019-11-01 US US16/672,290 patent/US10931960B2/en active Active
-
2020
- 2020-12-21 US US17/129,307 patent/US11252427B2/en active Active
-
2022
- 2022-01-10 US US17/572,289 patent/US11653012B2/en active Active
-
2023
- 2023-04-27 US US18/140,209 patent/US11973965B2/en active Active
Non-Patent Citations (2)
Title |
---|
JCTVC-I0297 |
Minhua Zhou,"AHG7: Disallow bi-predictive mode for 8x4 and 4x8 inter PUs",JCTVC-J0086* |
Also Published As
Publication number | Publication date |
---|---|
KR20210156346A (ko) | 2021-12-24 |
US20230262245A1 (en) | 2023-08-17 |
KR102424431B1 (ko) | 2022-07-22 |
US20180007377A1 (en) | 2018-01-04 |
US11252427B2 (en) | 2022-02-15 |
US10469862B2 (en) | 2019-11-05 |
KR102341826B1 (ko) | 2021-12-21 |
KR20200119910A (ko) | 2020-10-20 |
US20150208080A1 (en) | 2015-07-23 |
KR20210018536A (ko) | 2021-02-17 |
US11653012B2 (en) | 2023-05-16 |
KR102259792B1 (ko) | 2021-06-02 |
KR20150035472A (ko) | 2015-04-06 |
WO2014007515A1 (ko) | 2014-01-09 |
KR20210066023A (ko) | 2021-06-04 |
US9621909B2 (en) | 2017-04-11 |
US9769487B2 (en) | 2017-09-19 |
US10931960B2 (en) | 2021-02-23 |
US10045039B2 (en) | 2018-08-07 |
US20220132155A1 (en) | 2022-04-28 |
US20170195684A1 (en) | 2017-07-06 |
US20200068212A1 (en) | 2020-02-27 |
US20180352242A1 (en) | 2018-12-06 |
KR102167095B1 (ko) | 2020-10-16 |
US20210112265A1 (en) | 2021-04-15 |
US11973965B2 (en) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102515487B1 (ko) | 비디오 코딩을 위한 트리-타입 코딩 | |
KR102350072B1 (ko) | 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치 | |
KR102215433B1 (ko) | 영상 정보 코딩 방법 및 이를 이용하는 장치 | |
WO2013152356A1 (en) | Devices and methods for signaling sample adaptive offset (sao) parameters | |
KR102226893B1 (ko) | 영상 복호화 방법 및 이를 이용하는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |