KR20120131038A - 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치 - Google Patents

시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치 Download PDF

Info

Publication number
KR20120131038A
KR20120131038A KR1020110049217A KR20110049217A KR20120131038A KR 20120131038 A KR20120131038 A KR 20120131038A KR 1020110049217 A KR1020110049217 A KR 1020110049217A KR 20110049217 A KR20110049217 A KR 20110049217A KR 20120131038 A KR20120131038 A KR 20120131038A
Authority
KR
South Korea
Prior art keywords
information
encoding
context
frame
encoded
Prior art date
Application number
KR1020110049217A
Other languages
English (en)
Inventor
박광훈
김태룡
김경용
이한수
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR1020110049217A priority Critical patent/KR20120131038A/ko
Publication of KR20120131038A publication Critical patent/KR20120131038A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

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

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 고효율 동영상 부호화(HEVC; High Efficiency Video Coding)에서 부호화 정보를 예측하여 부호화하는 방법 및 장치에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명에서는 고효율 동영상 부호화 기술 중 부호화를 수행할 때 독립적으로 부호화하는 영상의 부호화 정보의 압축 효율을 개선하는 방법을 제안한다.
3. 발명의 해결방법의 요지
본 발명은 현재의 부호화 정보를 예측함으로써 압축 효율을 개선하는 방법을 포함한다.
4. 발명의 중요한 용도
본 발명은 고효율 동영상 부호화 기술의 부호화 압축 효율을 개선하는데 이용된다.

Description

시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치{Method and apparatus for predicting encoding information using temporal and spatial correlation}
본 발명은 고효율 동영상 부호화(HEVC; High Efficiency Video Coding)에서 부호화 정보를 예측하여 부호화하는 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 이제 많은 사용자들이 고해상도, 고화질의 영상에 많이 익숙해지고 있으며 그에 발맞춰서 많은 기관에서는 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV의 후속으로 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다. 또한 현재 HDTV, 휴대전화, 블루레이 플레이어에 사용되는 H.264/AVC보다 높은 압축 효율을 통해 동일한 화질을 유지하면서도 주파수 대역이나 저장 측면에서 많은 이득을 얻을 수 있는 새로운 표준이 절실한 실정이다. 현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)를 표준화하고 있으며, UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화를 하는 것을 목표로 하고 있다. 이는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
본 발명에서는 고효율 동영상 부호화 기술 중 부호화를 수행할 때 독립적으로 부호화하는 영상의 부호화 정보의 압축 효율을 개선하는 방법을 제안한다.
본 발명에 따른 부호화 및 복호화 방법과 장치에서는 CU 정보를 문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화하는 과정에서 문맥 모델(Context Model)을 선택할 때 동일 프레임의 인접한 CU 정보 혹은 참조 프레임의 대응되는 CU 정보를 이용하여 문맥 모델(Context Model)을 선정 후 부호화 및 복호화한다. 그리고 CU 부호화 정보(분할정보, 부호화 모드 정보, 병합 정보, 움직임정보, 블록의 부호화여부 정보, 부호화 계수 정보 등)를 문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화 시 동일 프레임의 인접한 CU 정보 혹은 참조 프레임에서 현재 CU에 대응되는 CU의 분할 정보를 이용하여 문맥 모델(Context Model)을 선택하여 부호화 및 복호화할 수 있다.
본 발명에 따른 부호화 및 복호화 방법과 장치에서는 CU 정보를 LCEC를 이용하여 부호화하는 과정에서 부호화 테이블을 갱신(재배치 혹은 초기화)할 때 동일 프레임의 인접한 CU 정보 혹은 참조 프레임의 대응되는 CU 정보를 이용하여 부호화 및 복호화한다. 그리고 CU 정보를 LCEC를 이용하여 부호화하는 과정에서 참조프레임의 대응되는 CU의 부호화 정보를 통해, 테이블의 갱신에 사용되는 카운터(해당 모드가 선택된 횟수)를 초기화할 수 있다.
고효율 비디오를 부호화시 문맥 모델(Context Model)를 선택하는 조건에서 시간적인 상관성을 지니는 CU 정보에 대해서는 인접한 CU정보 뿐만아니라 참조프레임에서 대응되는 CU정보를 이용하여 문맥 모델을 선택함으로써 CU 정보들간의 상관성을 최대한 활용하여 부호화의 효율을 향상시키는 효과가 있다.
도 1. HEVC의 부호화 구조도의 일 예
도 2. HEVC의 복호화 구조도의 일 예
도 3. CU의 계층적인 분할의 일 예
도 4. CU(Coding Unit) 분할의 일 예
도 5. LCU 단위 분할 정보의 일 예.
도 6. 계층적 구조를 통해 예측을 수행하는 화면간 예측
도 7. 문맥 기반 적응적 산술 부호화(CABAC) 블록도
도 8. 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 22)
도 9. 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 27)
도 10. 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 32)
도 11. 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 37)
도 12. 현재 CU(‘X’)와 현재 CU에 대응되는 참조 프레임의 CU의 일 예
도 13. 참조 프레임과 현재 프레임의 분할 정보 상관성의 예
도 14. 현재 HEVC에서 분할 정보 부호화시 문맥 모델(Context Model)을 선택하는 방법의 일 예.
도 15. 분할 정보 부호화시 참조 프레임의 CU 분할 정보를 이용하여 문맥 모델(Context Model)을 선택하는 방법의 예1.
도 16. 분할 정보 부호화시 참조 프레임의 CU 분할 정보를 이용하여 문맥 모델(Context Model)을 선택하는 방법의 예2.
도 17. 참조 프레임에서 현재 CU에 대응되는 CU를 이용하여 선택된 문맥 모델(Context Model)을 이용하여 부호화하는 방법.
도 18. 참조 프레임에서 현재 CU에 대응되는 CU를 이용하여 선택된 문맥 모델(Context Model)을 이용하여 복호화하는 방법.
도 19. HEVC에서 문맥기반 적응적 가변길이 부호화(CAVLC)시 LCEC(Low Complexity Efficiency Coding) 테이블을 시공간적인 상관도를 이용해 갱신하는 방법.
HEVC는 현재 2010년 4월에 첫 JCT-VC(Joint Collaboration Team Video Coding) 회의가 열린 이후 각 기관의 기고를 통해 TMuC(Test Model Under Consideration)이라는 명칭의 코덱을 표준의 성능을 측정하기 위해 책정하였다. 현재 HEVC의 부호화 구조도의 일 예는 [도 1]과 같다.
HEVC의 부호화 수행 과정은 다음과 같다. 영상을 입력 받아 인트라(Intra) 모드 또는 인터(Inter) 모드로 부호화를 수행하고 비트스트림을 출력한다. 인트라 모드일 경우, 스위치가 인트라로 전환이 되며, 인터 모드일 경우에는 스위치가 인터로 전환이 된다. 부호화 과정의 주요한 흐름은 먼저 입력된 블록 영상에 대한 예측 블록을 생성한 후, 입력된 블록과 예측 블록의 차분을 구해 그 차분을 부호화하는 것이다. 먼저 예측 블록의 생성은 인트라 모드와 인터 모드에 따라 수행이 된다. 먼저 인트라 모드일 경우에는 인트라 예측 과정에서 현재 블록의 이미 부호화된 주변 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성하며, 인터 모드일 경우에는 움직임 예측 과정에서 참조 영상 버퍼에 저장되어 있는 참조 영상에서 현재 입력된 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터(Motion Vector)를 구한 후, 구한 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다. 상기 설명한 것과 같이 현재 입력된 블록과 예측 블록의 차분을 구하여 잔여 블록(Residual Block)을 생성한 후, 이에 대한 부호화을 수행한다. 잔여 블록에 대한 부호화은 변환, 양자화, 엔트로피(Entropy) 부호화의 순서로 수행이 된다. 먼저 변환 과정에서는 입력된 잔여 블록을 입력 받아 변환(Transform)을 수행하여 변환계수(Transform Coefficient)를 출력한다. 그리고 양자화 과정에서는 입력된 변환계수를 양자화 파라미터에 따라 양자화를 수행한 양자화된 계수(Quantized Coefficient)를 출력한다. 그리고 엔트로피 부호화 과정에서는 입력된 양자화된 계수를 확률 분포에 따른 엔트로피 부호화를 수행하여 비트스트림으로 출력된다. HEVC는 프레임간(Inter-frame) 예측 부호화를 수행하기 때문에 현재 부호화된 영상을 이후에 입력된 영상의 참조 영상으로 사용하기 위해 복호화하여 저장할 필요가 있다. 따라서 양자화된 계수를 역양자화과정과 역변환을 수행하여 예측 영상과 가산기를 통해 재구성된 블록을 생성한 다음 디블록킹 필터를 통해 부호화 과정에서 발생한 블록킹 현상(Blocking Artifact)을 제거한 후, 참조 영상 버퍼에 저장한다.
HEVC의 복호화 구조도의 일 예는 [도 2]와 같다.
HEVC의 부호화를 수행하면 비트스트림이 출력되는데, 이 비트스트림을 입력 받아 인트라(Intra) 모드 또는 인터(Inter) 모드로 복호화가 수행되어 재구성된 영상을 출력한다. 인트라 모드일 경우, 스위치가 인트라로 전환이 되며, 인터 모드일 경우에는 스위치가 인터로 전환이 된다. 복호화 과정의 주요한 흐름은 먼저 예측 블록을 생성한 후, 입력 받은 비트스트림을 복호화한 결과 블록과 예측 블록을 더하여 재구성된 블록을 생성하는 것이다. 먼저 예측 블록의 생성은 인트라 모드와 인터 모드에 따라 수행이 된다. 먼저 인트라 모드일 경우에는 인트라 예측 과정에서 현재 블록의 이미 부호화된 주변 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성하며, 인터 모드일 경우에는 움직임 벡터를 이용하여 참조 영상 버퍼에 저장되어 있는 참조 영상에서 영역을 찾아 움직임 보상을 수행함으로써 예측 블록을 생성한다. 엔트로피 복호화 과정에서는 입력된 비트스트림을 확률 분포에 따른 엔트로피 복호화를 수행하여 양자화된 계수(Quantized Coefficient)를 출력한다. 양자화된 계수를 역양자화과정과 역변환을 수행하여 예측 영상과 가산기를 통해 재구성된 블록을 생성한 다음 디블록킹 필터를 통해 블록킹 현상(Blocking Artifact)를 제거한 후, 참조 영상 버퍼에 저장한다.
HEVC의 부호화 및 복호화 구조도에서 데이터를 처리하는 단위는 CU(Coding Unit)이다. 이는 데이터를 처리하는 기본적인 블록(Block) 단위라고 할 수 있다. [도 3]은 CU에 대한 설명을 위한 그림이다.
[도 3]은 데이터를 처리할 때 영상을 CU 단위로 분할하는 방법을 나타낸 그림이다. HEVC에서는 영상을 미리 정의된 기본적인 CU 단위로 분할한 후, 그 단위부터 CU를 분할하면서 부호화를 수행하는데, 가장 기본이 되는 CU 단위를 LCU(Largest Coding Unit)이라고 한다. LCU를 시작으로 필요할 경우 블록의 크기가 가로 세로 절반씩 감소한 4개의 CU로 분할한다. CU를 분할하는 것은 부호화 측에서 영상의 특성에 따라 결정하는데, 복잡한 영상의 경우에는 더 작은 CU로 분할될 수 있고, 복잡하지 않은 영상에서는 작은 CU로 분할되지 않을 수 있다. 더 작은 CU로의 분할 여부는 압축 효율과 화질 측면에서 가장 효율적인 CU가 결정된다.
CU를 분할할지에 대한 정보는 분할 정보(Split flag)를 통해 부호화되어 비트스트림에 포함된다. 이 분할 정보는 더 이상 분할할 수 없는 가장 작은 단위의 CU를 제외한 모든 CU에 포함되어 있으며 분할 정보가 ‘0’일 경우에는 해당 CU를 분할하지 않고, ‘1’일 경우에는 가로 세로 절반씩 작은 CU 4개로 계층적인 분할을 수행한다. 또한 한 번 분할될 때마다 깊이(Depth)는 1씩 증가하게 되는데, 가로 세로 크기가 같은 CU들의 깊이는 동일하다. 이 깊이의 최대값은 미리 정의되는데, 미리 정의된 깊이의 최대값 이상으로 CU를 분할할 수 없다. 실제로 CU의 분할은 깊이가 0인 LCU부터 CU가 분할되면서 깊이가 1씩 증가하여 최대 깊이값이 될 때까지 분할할 수 있다. [도 3]에서 오른쪽 그림은 LCU가 128x128화소이고, 깊이의 최대값이 4인 경우이다.
LCU 내에서 CU가 분할되는 과정은 다음과 같다. [도 4]는 LCU의 크기가 64x64화소이고, 최대 깊이값이 3일 경우, 한 LCU 내에서 CU의 분할에 대한 일 예를 나타낸 그림이다. 64x64화소 단위로 부호화를 수행하지 않으므로 64x64화소 CU의 분할 정보(Split flag)에는 분할이 된다는 것을 의미하는 ‘1’이 저장된다. 이 때 64x64화소 CU는 가로 세로 절반씩 작은 32x32화소 4개의 CU로 부호화를 수행한다. 64x64화소 CU에서 분할된 좌상단의 32x32화소 CU는 더 이상 분할되지 않기 때문에 분할되지 않는다는 ‘0’이 저장된다. 이 CU는 32x32화소 단위로 인트라 혹은 인터 모드로 부호화를 수행할 수 있다. 다음 우상단의 32x32화소 CU는 더 작은 16x16화소 CU 4개로 분할되므로 이 CU의 분할정보에는 ‘1’이 저장되고, 16x16화소 CU 4개로 부호화를 수행한다. 16x16화소 CU가 가장 작은 CU로 설정되어 있다면(최대 깊이값이 2인 경우), 더 이상 분할될 수 없으므로 분할 정보를 포함하지 않고, 가장 작은 CU로 설정되어 있지 않다면 분할정보에 ‘0’이 저장된다. 좌하단, 우하단의 32x32화소 CU는 분할되지 않으므로 분할정보에 ‘0’이 저장되고, 32x32화소 단위로 인트라 혹은 인터 모드로 부호화를 수행할 수 있다.
[도 5]는 [도 4]의 분할 정보를 나타낸 그림이다.
[도 5]와 같이 LCU 단위로 각 CU에 분할 정보를 전송할 때 우선 64x64화소 CU의 분할 정보가 있고, 64x64화소 CU가 분할되므로 64x64화소 CU의 분할 정보 다음에 4개의 32x32화소 CU의 분할 정보를 저장한다. 이 때 [도 4] 의 두 번째 CU인 우상단 32x32화소 CU가 다시 분할되므로 해당 분할 정보를 저장한 뒤 4개의 16x16화소 CU의 분할 정보를 저장한다. 이후 [도 4]의 좌하단, 우하단 32x32화소 CU의 분할 정보를 순서대로 저장한다.
[도 5]와 같이 실제 영상에서 CU를 분할할 경우 LCU단위로 계층적인 분할을 수행한다. [도 4]의 경우 최대 깊이값은 3이므로 깊이가 3일 경우에는 분할을 하지 않는다. 따라서 분할정보는 깊이가 0, 1, 2인 CU에만 존재한다. LCU의 크기와 최대 깊이값은 영상을 압축하는데 CU 내에 분할 정보를 저장하는 횟수와 CU의 크기를 결정하므로 매우 중요한 값이라고 할 수 있다.
[도 6]은 화면 간 예측을 수행할 때 프레임간 계층적 구조(Hierarchical Structure)를 나타낸 그림이다.
HEVC에서는 다음과 같이 일정 프레임별로 프레임 내에 모든 CU가 인트라 모드인 인트라 프레임(I Frame)을 두어, 영상을 재생할 때 임의접근을 빠르게 할 수 있도록 할 수 있다. [도 6]은 9개의 프레임을 한 그룹으로 두어 계층적으로 화면간 예측을 수행하는 일 예를 나타낸 그림이다. 0번 프레임을 인트라 프레임으로 부호화를 수행하고 8번 프레임을 0번 프레임을 통해 화면간 예측을 수행하여 부호화를 수행한다. 이후에 4번 프레임을 부호화할 때는 시간적을 앞 뒤에 있는 0번, 8번 프레임을 통해 화면간 예측을 수행한다. 이러한 방식으로 계층적으로 0번, 4번 프레임을 통해 2번 프레임을 부호화하고, 4번, 8번 프레임을 통해 6번 프레임을 부호화한다. 마지막으로 0번, 2번 프레임을 통해 1번 프레임을 부호화하고, 2번, 4번 프레임을 통해 3번 프레임을 부호화하며, 4번 6번 프레임을 통해 5번 프레임을 부호화하고, 마지막으로 6번, 8번 프레임을 통해 7번 프레임을 부호화한다.
위와 같이 부호화를 수행할 때 1번부터 8번 프레임에서는 CU 단위로 인트라 혹은 인터 모드를 결정해서 부호화한다. CU가 인터 모드일 경우에는 블록 단위로 움직임 보상을 수행하는데, 각 블록은 순방향예측(L0예측)과 역방향예측(L1예측)을 통해서 움직임 보상을 수행한다. 이 때 L0 혹은 L1 예측 하나만 사용해서 부호화를 할 경우와 L0, L1 예측을 모두 사용하여 부호화를 하는 경우로 나뉠 수 있는데, 프레임 단위로 L0 예측만 사용할 경우에는 P 프레임(Prediction Frame)이라고 하고, L0, L1 예측을 모두 사용하는 경우에는 B 프레임(Bi-Prediction Frame)이라고 한다.
위의 방법으로 결정된CU 정보를 부호화하는 방법은 문맥 기반 적응적 가변길이 부호화(CAVLC) 혹은 문맥 기반 적응적 산술 부호화(CABAC) 방법이 있다. 이 두 개의 부호화 방법들은 출현빈도에 의한 확률에 근거하여 최적의 codeward를 배정하는 통계학적 예측에 기초를 하고 있다. 문맥 기반 적응적 가변길이 부호화(CAVLC)는 많은 실험을 통해 얻은 통계를 기반으로 만들어 놓은 테이블을 이용하여 부호화를 수행하고, 문맥 기반 적응적 산술 부호화(CABAC) 역시 실험을 통해 얻은 확률을 기반으로 하여 정보를 부호화할 때 여러 개의 문맥 모델(Context Model)을 만들어 놓고 현재 부호화하려는 CU정보와 상관성을 지닌 정보들의 상황을 고려하여 특정 조건에 부합하는 모델을 선택하여 부호화를 수행한다. 문맥 모델(Context Model)을 선택하는 기준은 현재 부호화를 수행하려고 하는 CU 정보와 상관성이 높은 동일한 프레임 내에 인접한 CU 정보나 인터 모드일 경우에는 참조 프레임 내에서 해당 CU와 대응하는 CU 정보를 통해 문맥 모델(Context Model)을 선택할 수 있다.
[도 7]는 문맥 기반 적응적 산술 부호화(CABAC) 과정의 블록도를 나타낸 그림이다.
CU 정보를 문맥 기반 적응적 산술 부호화(CABAC)를 통해 부호화를 수행할 경우, 이진화되지 않은 정보는 이진화를 수행하고, 이진화된 정보는 이진화를 수행하지 않는다. 이후 이진화된 정보는 문맥모델을 이용하여 정규코딩 엔진을 통해 부호화를 수행하거나 바로 우회코딩 엔진을 통해 부호화를 수행한다.
HEVC에서는 부호화 또는 복호화를 CU단위로 수행하며 이 정보들은 대부분 CU 단위로 독립적으로 부호화된다. 도 8 내지 도 11은 비트스트림에서 CU 내에 있는 정보들의 분포를 양자화 파라미터(QP)별로 나타낸 그림으로서, 도 8은 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 22)이고, 도 9는 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 27)이며, 도 10은 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 32)이고, 도 11은 비트스트림 내에서 CU 정보 분포의 일 예 (QP: 37)이다.
[도 8], [도 9], [도 10], [도 11]에서 CU 정보들(화면내 예측 방향 정보(IntraDir), 분할정보(split flag), 스킵정보(skip), 움직임 병합정보(merge), 부호화 모드 정보(Predic), 블록 분할 정보(Part size), 움직임 예측 정보(AMVP), 움직임 차분 정보(MVD), 예측 방향 정보(Dir))은 비트스트림 내에서 많은 비중을 차지하고 있다. 또한 양자화 파라미터의 크기가 커질수록 변환계수(Transform Coefficient)를 부호화하는 비중이 작아지므로 상대적으로 CU 내의 다른 정보들의 비중이 커지는 것을 알 수 있다. 특히 양자화 파라미터의 값이 가장 큰 경우(QP: 37), CU 정보의 비율이 50%정도를 차지한다는 것을 알수 있으며, 변환계수의 부호화에 사용되는 정보들(블록단위 부호화 여부 정보 등)까지 고려하게 되면, 변환계수를 제외한 비트량이 60%이상이 될 것이다. 이러한 정보들은 주변 상황을 고려한 문맥 기반 적응적 가변길이 부호화(CAVLC) 혹은 문맥 기반 적응적 산술 부호화(CABAC) 방법으로 부호화가 수행된다.
현재 이 정보들을 부호화하기 위해서, 대부분은 공간적인 상관관계에 따라 부호화가 수행되고, 그 중에서 일부는 시간적인 상관관계를 이용하는 경우도 존재한다. 또한 공간적 혹은 시간적인 상관관계를 고려하지 않고 부호화하는 경우도 존재한다. 공간적인 상관관계만을 고려하여 CU 정보를 부호화하는 경우, 부호화하는 정보가 공간적인 상관관계보다 시간적인 상관관계가 더 높다고 한다면 시간적인 상관관계를 기반으로 부호화를 수행하여 해당 정보에 대한 부호화 효율을 더욱 높일 수 있으며, 또한 공간적인 상관관계와 시간적인 상관관계를 모두 고려하여 부호화하게 되면 해당 정보에 대한 부호화 효율이 더욱 높아질 수 있다. 따라서 여러가지의 CU 정보들 각각에 대하여, 효율적인 예측 부호화를 위해 해당 정보들이 공간적인 상관관계가 높은지 혹은 시간적인 상관관계가 높은지를 판단하여 부호화에 적용하는 방법에 대한 연구가 반드시 필요하다.
또한 CU 정보들을 문맥 기반 적응적 가변길이 부호화(CAVLC) 혹은 문맥 기반 적응적 산술 부호화(CABAC) 방법을 통해 부호화할 경우, 위에서 설명한 상관관계를 이용하여 보다 높은 압축효율을 높일 수 있다. 문맥 기반 적응적 가변길이 부호화(CAVLC)의 경우에는 위에서 설명한 상관관계를 이용해서 부호화하려는 영상의 특성에 맞는 테이블을 만들 수 있고, 문맥 기반 적응적 산술 부호화(CABAC)의 경우에는 위에서 설명한 상관관계를 통해 문맥 모델(Context Model)을 적절하게 변경하여 압축 효율을 높일 수 있다. 특히 문맥 기반 적응적 산술 부호화(CABAC)의 경우에는 CU 정보를 부호화할 경우, 공간적으로 인접한 CU 정보를 통해 문멕 모델(Context Model)을 설정한 뒤 이 모델을 통해 부호화를 수행하는데, 위와 같이 공간적인 상관관계를 이용할 뿐만 아니라 시간적인 상관관계를 이용해서 압축 효율을 높일 수 있다.
<발명의 방법>
HEVC에서는 CU 정보를 부호화하기 위해 주변 상황을 고려한 문맥 기반 적응적 가변길이 부호화(CAVLC) 혹은 문맥 기반 적응적 산술 부호화(CABAC) 방법으로 부호화가 수행된다. 특히 문맥 기반 적응적 산술 부호화(CABAC)의 경우에는 CU 정보를 부호화할 경우, 공간적으로 인접한 CU 정보를 통해 문멕 모델(Context Model)을 설정한 뒤 이 모델을 통해 부호화를 수행한다.
본 발명에서는 고효율 비디오 부호화시 CU 정보를 부호화하는데 문맥 기반 적응적 산술 부호화(CABAC)을 이용하여 부호화시 같은 프레임 내에 현재 CU에 인접한 CU 정보 혹은 참조 프레임에서 현재 CU에 대응되는 CU 정보를 통해 현재 CU의 정보를 예측하여 부호화하는 방법을 제안한다.
[방법 #1] 문맥 기반 적응적 산술 부호화(CABAC)을 이용하여 부호화시 같은 프레임 내에 현재 CU에 인접한 CU 정보 그리고/또는 참조 프레임에서 현재 CU에 대응되는 CU 정보를 통해 현재 CU의 정보를 예측하여 부호화하는 방법
문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화 시 특정 CU 정보들은 현재 CU블록의 인접한 블록을 통해 예측하거나 [도 12]과 같이 참조 프레임에서 현재 CU에 대응되는 CU 정보를 통해 예측을 하면 압축효율을 개선할 수 있다. 여기서 참조 프레임은 현재 프레임보다 이전에 이미 부호화가 수행된 프레임으로, 현재 프레임과의 시간적인 예측을 위해 사용되는 프레임을 의미한다.
현재 HEVC에서의 문맥 기반 적응적 산술 부호화(CABAC)의 방식은 주로 주변 CU 정보를 기반으로 하여 부호화를 수행하는데 특정 CU정보에 대해서는 주변 CU정보 보다는 참조프레임의 대응되는 CU와 더 높은 상관도를 가지고 있어 이 점을 이용해서 부호화를 수행하는 것이 더 효율적이다.
실 예로 [도 13]는 4개의 64x64화소 LCU의 분할 분포를 나타낸 그림인데, 왼쪽 그림은 참조 프레임에서 현재 LCU에 대응되는 4개의 64x64화소 LCU의 분할 분포를 나타낸 그림이다.
[도 13]에서 회색 선은 CU의 분할 분포를 나타내는데 그림에서 확인할 수 있듯이, 참조 프레임의 CU와 현재 부호화하려는 CU의 분할 정보가 매우 유사한 반면 현재 프레임의 LCU 내에서 주변 블록의 유사도는 높은 경우와 그렇지 않은 경우가 같이 존재하고 있다.
[도 14]은 현재 HEVC에서는 CU 블록의 분할 정보를 문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화 시 주변 블록만을 고려하여 문맥 모델(Context Model)를 선택하는 방법인데 현재 프레임에서 부호화 하려는 CU와 인접한 CU의 분할 정보만을 이용하여 문맥 모델을 선택한다.
이 방법은 같은 프레임 내에 공간적으로 인접한 CU 정보만을 참조함으로써 시간적으로 유사한 정보는 참조하지 않음으로써 부호화 압축 효율을 떨어뜨릴 수 있다. 따라서 문맥 모델(Context Model)을 선택할 경우 참조프레임의 CU 분할 정보도 추가로 참조해서 부호화 압축 효율을 높일 수 있다. [도 15]는 참조프레임의 CU 분할 정보도 참조해서 문맥 모델을 선택하는 방법을 설명한 하나의 예이다.
이 외에도 문맥 모델(Context Model)을 하나 더 만들어서 참조프레임의 CU 분할 정보에 따라서 선택되는 문맥 모델의 폭을 넓혀 주는 방법이 있다. [도 16]는 문맥 모델(Context Model)을 4개로 설정하고 공간적으로 인접한 왼쪽, 위쪽 CU 정보와 참조프레임의 CU정보를 통해 적절한 문맥 모델(Context Model)을 결정하는 일 예이다.
또한 현재 부호화하려는 CU를 예측할 때 같은 프레임 내에 공간적으로 인접한 CU를 통해 예측하는 경우가 더 효율적일 때가 있고, 참조 프레임 내에 현재 CU에 대응되는 CU를 통해 예측하는 경우가 더 효율적일 때가 있다. 이는 위에서 설명한 방법을 이용하여 공간적으로 인접한 CU 혹은 참조 프레임 내에 현재 CU에 대응되는 CU를 통해 예측할 때, 왼쪽, 위쪽, 혹은 참조 프레임의 CU 정보에 가중치를 설정하여 문맥 모델(Context Model)을 선택할 수 있다.
위와 같은 방법으로 공간적으로 인접한 CU 정보를 통해 예측하여 부호화하는 방법 혹은 참조 프레임 내에 현재 CU에 대응되는 CU 정보를 통해 예측하여 부호화하는 방법은 CU 정보 중 분할 정보(Split Flag)와 CU의 스킵 정보(Skip Flag), 병합 정보(Merge Information), 부호화 계수 정보(CBP) 등이 있다.
그리고 이러한 시공간적 상관도를 이용한 부호화 방법은 LCEC(Low Complexity Efficiency Coding)에도 적용 시킬 수 있다. 현재 HEVC에서 CU정보에 대한 부호화를 수행 할 때 고정된 테이블 정보를 이용하여 부호화를 하는 것이 아니라 이전 CU정보에 따라서 적응적으로 테이블 갱신을 통해 부호화를 수행하는LCEC(Low Complexity Efficiency Coding)이라는 방법이 제기되어 있다.
이 방법에서 테이블을 적응적으로 갱신시키는 방법으로는 한 프레임 내에서 현재까지 부호화를 수행하면서 나온 각 CU정보의 수를 세어서 나오는 횟수가 많은 CU정보의 순서대로 테이블을 갱신(재배치)시켜 부호화 효율을 높이는 방법이다. 여기서 LCEC(Low Complexity Efficiency Coding)의 테이블을 갱신시키는 방법을 시공간적 상관도를 이용하면 효율적으로 갱신을 시킬 수 있다.
기존의 방법은 출현빈도를 이용하여 부호화 정보량을 적응적으로 조절한다는 측면에서는 효율적이지만 과거의 정보를 이용한 부호화이므로 현재의 CU 정보와의 상관성을 보았을 때 비효율적인 측면이 존재한다. 예를 들어 한 프레임 내에서 지금까지 부호화 된 CU정보의 숫자를 세어보았을 때 스킵정보(skip)가 많았고 현재의 CU 정보가 시공간적 상관도로 보았을 때 스킵정보(skip)가 나올 확률이 높은 경우 효율적인 부호화가 수행되겠지만 이외의 다른 CU정보가 들어올 확률이 높은 경우에는 비효율적인 부호화가 수행될 확률이 높다. 이런 경우에는 앞에서 설명된 참조프레임의 대응되는 CU의 분할 정보나 주변의 정보를 보고 테이블을 갱신시키면 효율적인 부호화를 수행 할 수 있다.
여기에서 현재 CU의 부호화 정보(분할정보, 부호화 모드 정보, 병합 정보, 움직임정보, 블록의 부호화여부 정보, 부호화 계수 정보 등)를 참조프레임의 대응되는 CU의 부호화 정보를 보고 테이블을 갱신시키는 방법은 다양하게 적용될 수 있다.
(1) 하나의 일 실시 예로서, 참조프레임의 대응되는 CU의 부호화 정보를 통해, 테이블을 갱신(재배치 혹은 초기화)할 수 있다.
(2) 또 다른 실시 예로서, 참조프레임의 대응되는 CU의 부호화 정보를 통해, 테이블의 갱신에 사용되는 카운터(해당 모드가 선택된 횟수)를 초기화할 수 있다.
이 외에도 테이블을 갱신시키는 방법은 다양하게 변경될 수 있다.
<발명의 장치>
본 발명에서 참조프레임에서 현재 CU에 대응되는 CU 정보를 통해 문맥 모델(Context Model)을 선택하여 부호화하는 방법#1의 부호화 장치도는 도 17과 같다.
[도 17]에서 “문맥 모델 선택부”에서는 현재 CU에 인접한 CU 정보 및 참조프레임 CU 정보를 통해 다수의 문맥 모델(Context Model) 중에서 한 모델을 선택한 뒤 선택된 문맥 모델(Context Model)을 이용하여 문맥 기반 적응적 산술 부호화(CABAC) 방법으로 CU 정보를 부호화를 수행한다. 이후 선택된 문맥 모델(Context Model)은 현재 CU 정보를 부호화한 결과를 포함하여 갱신한다. 이 과정은 부호화기와 복호화기 모두 동일하게 적용되어 부호화 및 복호화를 수행한다. 위 방법으로 부호화 및 복호화를 수행하는 CU 정보는 분할 정보(Split Flag)와 CU의 스킵 정보(Skip Flag), 병합 정보(Merge Information), 부호화 계수 정보(CBP) 등이 있다.
본 발명에서 참조프레임에서 현재 CU에 대응되는 CU 정보를 통해 문맥 모델(Context Model)을 선택하여 복호화하는 방법#1의 복호화 장치도는 도 18과 같다.
본 발명에서 HEVC에서 LCEC(Low Complexity Efficiency Coding)방법을 이용해 부호화를 수행 할 때 테이블을 시공간적인 상관도를 이용하여 갱신(재배치 혹은 초기화)하는 방법은 도 19와 같다.
[도 19]는 기존의 테이블에서 현재 CU에 인접한 CU정보와 참조프레임에서 현재 CU와 대응되는 CU의 정보를 통해, 이번에 높은 확률로 나오는 CU정보의 순서대로 적은 부호화 정보를 가지도록 테이블을 갱신하여 효율적인 부호화를 수행할 수 있도록 한다.
고효율 비디오를 부호화시 문맥 모델(Context Model)를 선택하는 조건에서 시간적인 상관성을 지니는 CU 정보에 대해서는 인접한 CU정보 뿐만아니라 참조프레임에서 대응되는 CU정보를 이용하여 문맥 모델을 선택함으로써 CU 정보들간의 상관성을 최대한 활용하여 부호화의 효율을 향상시키는 효과가 있다.

Claims (4)

  1. CU 정보를 문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화하는 과정에서 문맥 모델(Context Model)을 선택할 때 동일 프레임의 인접한 CU 정보 혹은 참조 프레임의 대응되는 CU 정보를 이용하여 문맥 모델(Context Model)을 선정 후 부호화 및 복호화 하는 방법 및 장치.
  2. 제 1항에 있어서, CU 부호화 정보(분할정보, 부호화 모드 정보, 병합 정보, 움직임정보, 블록의 부호화여부 정보, 부호화 계수 정보 등)를 문맥 기반 적응적 산술 부호화(CABAC)를 이용하여 부호화 시 동일 프레임의 인접한 CU 정보 혹은 참조 프레임에서 현재 CU에 대응되는 CU의 분할 정보를 이용하여 문맥 모델(Context Model)을 선택하여 부호화 및 복호화하는 방법 및 장치.
  3. CU 정보를 LCEC를 이용하여 부호화하는 과정에서 부호화 테이블을 갱신(재배치 혹은 초기화)할 때 동일 프레임의 인접한 CU 정보 혹은 참조 프레임의 대응되는 CU 정보를 이용하여 부호화 및 복호화 하는 방법 및 장치.
  4. 제 3항에 있어서, CU 정보를 LCEC를 이용하여 부호화하는 과정에서 참조프레임의 대응되는 CU의 부호화 정보를 통해, 테이블의 갱신에 사용되는 카운터(해당 모드가 선택된 횟수)를 초기화하는 방법 및 장치.
KR1020110049217A 2011-05-24 2011-05-24 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치 KR20120131038A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110049217A KR20120131038A (ko) 2011-05-24 2011-05-24 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110049217A KR20120131038A (ko) 2011-05-24 2011-05-24 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20120131038A true KR20120131038A (ko) 2012-12-04

Family

ID=47514986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110049217A KR20120131038A (ko) 2011-05-24 2011-05-24 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20120131038A (ko)

Similar Documents

Publication Publication Date Title
US11388393B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
KR101867884B1 (ko) 인트라 예측 모드 부호화/복호화 방법 및 장치
JP7387841B2 (ja) 映像復号化方法
RU2582062C2 (ru) Учитывающие параллелизацию кандидаты слияния для кодирования видео
KR20170058866A (ko) 영상 부호화/복호화 방법 및 장치
KR20170058837A (ko) 화면내 예측모드 부호화/복호화 방법 및 장치
KR20170058871A (ko) 화면내 예측 모드 부호화/복호화 방법 및 장치
AU2012310514A1 (en) Method for inducing a merge candidate block and device using same
KR20130112374A (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
AU2015200359B2 (en) Method for inducing a merge candidate block and device using same
KR20120131038A (ko) 시공간적 상관도를 이용한 부호화 정보 예측 방법 및 장치
KR20130107414A (ko) 적응적 분할 변환을 이용한 영상의 부호화 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination