KR20240024808A - 화상 처리 장치 및 방법 - Google Patents

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20240024808A
KR20240024808A KR1020237042535A KR20237042535A KR20240024808A KR 20240024808 A KR20240024808 A KR 20240024808A KR 1020237042535 A KR1020237042535 A KR 1020237042535A KR 20237042535 A KR20237042535 A KR 20237042535A KR 20240024808 A KR20240024808 A KR 20240024808A
Authority
KR
South Korea
Prior art keywords
encoding
unit
coefficient position
decoding
last coefficient
Prior art date
Application number
KR1020237042535A
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 소니그룹주식회사
Publication of KR20240024808A publication Critical patent/KR20240024808A/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients

Landscapes

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

Abstract

본 개시는, 부호화나 복호의 처리량의 증대를 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화·복호한다. 또한, 하이 스루풋 모드일 경우, 그 라스트 계수 위치의 부호화·복호를 스킵한다. 본 개시는, 예를 들어 화상 처리 장치, 화상 부호화 장치, 화상 복호 장치, 송신 장치, 수신 장치, 송수신 장치, 정보 처리 장치, 촬상 장치, 재생 장치, 전자 기기, 화상 처리 방법 또는 정보 처리 방법 등에 적용할 수 있다.

Description

화상 처리 장치 및 방법
본 개시는, 화상 처리 장치 및 방법에 관한 것으로, 특히, 부호화나 복호의 처리량의 증대를 억제할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
종래, 동화상의 예측 잔차를 도출하여, 계수 변환하고, 양자화하여 부호화하는 부호화 방법이 제안되었다(예를 들어, 비특허문헌 1 및 비특허문헌 2 참조). 이러한 화상 부호화에서는, 고비트 심도·고비트 레이트일 경우, 보다 많은 컨텍스트 부호화 빈이나 바이패스 부호화 빈이 발생하기 때문에, CABAC(Context-based Adaptive Binary Arithmetic Code)의 처리량이 증가할 우려가 있었다. 그래서, CABAC의 스루풋을 개선하기 위해서, 바이패스 부호화 빈의 부호화 처리나 복호 처리를 간략화함과 함께, 변환 블록 내의 컨텍스트 부호화 빈(라스트 계수 위치를 제외함)을 바이패스 부호화 빈으로 치환하는 방법이 제안되었다(예를 들어, 비특허문헌 3 참조).
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding(Draft 10)", JVET-T2001-v2, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1-date 2020-10-27 Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 11(VTM 11)", JVET-T2002-v1, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1-date 2020-10-27 Fan Wang, Zhihuang Xie, Yue Yu, Haoping Yu, Dong Wang, "AHG8: a combination of JVET-V0059 option 2 and JVET-V0122 for high bit depth and high bit rate extensions", JVET-V0178-v1, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 2021-04-27
그러나, 이 방법에서는, 변환 블록에 있어서, 컨텍스트 부호화 빈 전체 중 약 8% 내지 10% 정도가 라스트 계수 위치이었다. 그 때문에, 그 라스트 계수 위치에 대해서도 바이패스 부호화 빈으로 치환함으로써, CABAC의 스루풋을 더욱 개선할 수 있을 가능성이 있었다.
본 개시는, 이러한 상황을 감안하여 이루어진 것이며, 부호화나 복호의 처리량의 증대를 억제할 수 있도록 하는 것이다.
본 기술의 일 측면의 화상 처리 장치는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는 부호화부를 구비하는 화상 처리 장치이다.
본 기술의 일 측면의 화상 처리 방법은, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는 화상 처리 방법이다.
본 기술의 다른 측면의 화상 처리 장치는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는 복호부를 구비하는 화상 처리 장치이다.
본 기술의 다른 측면의 화상 처리 방법은, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는 화상 처리 방법이다.
본 기술의 또 다른 측면의 화상 처리 장치는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는 부호화부를 구비하는 화상 처리 장치이다.
본 기술의 또 다른 측면의 화상 처리 방법은, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는 화상 처리 방법이다.
본 기술의 또 다른 측면의 화상 처리 장치는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는 복호부를 구비하는 화상 처리 장치이다.
본 기술의 또 다른 측면의 화상 처리 방법은, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는 화상 처리 방법이다.
본 기술의 일 측면의 화상 처리 장치 및 방법에서는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 프리픽스부가 바이패스 부호화 빈으로서 부호화된다.
본 기술의 다른 측면의 화상 처리 장치 및 방법에서는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터의 부호화 데이터에 포함되는 라스트 계수 위치의 프리픽스부가 바이패스 부호화 빈으로서 복호된다.
본 기술의 또 다른 측면의 화상 처리 장치 및 방법에서는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 부호화가 스킵된다.
본 기술의 또 다른 측면의 화상 처리 장치 및 방법에서는, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 라스트 계수 위치의 복호가 스킵된다.
도 1은 부호화 빈의 발생량에 대하여 설명하는 도면이다.
도 2는 RRC에 관한 의사 코드의 예를 도시하는 도면이다.
도 3은 RRC의 비트 스트림의 예를 도시하는 도면이다.
도 4는 TSRC에 관한 의사 코드의 예를 도시하는 도면이다.
도 5는 TSRC의 비트 스트림의 예를 도시하는 도면이다.
도 6은 RRC에 관한 신택스의 예를 도시하는 도면이다.
도 7은 RRC에 관한 시맨틱스의 예를 도시하는 도면이다.
도 8은 컨텍스트 부호화 빈수의 비율의 예를 도시하는 도면이다.
도 9는 하이 스루풋 모드일 경우의 부호화·복호의 방법 예를 설명하는 도면이다.
도 10은 RRC에 관한 의사 코드의 예를 도시하는 도면이다.
도 11은 RRC의 비트 스트림의 예를 도시하는 도면이다.
도 12는 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 13은 Non-TS 잔차 부호화부의 주된 구성예를 도시하는 블록도이다.
도 14는 부호화 처리의 흐름의 예를 도시하는 흐름도이다.
도 15는 Non-TS 잔차 부호화 처리의 흐름의 예를 도시하는 흐름도이다.
도 16은 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 17은 Non-TS 잔차 복호부의 주된 구성예를 도시하는 블록도이다.
도 18은 복호 처리의 흐름의 예를 도시하는 흐름도이다.
도 19는 Non-TS 잔차 복호 처리의 흐름의 예를 도시하는 흐름도이다.
도 20은 하이 스루풋 모드일 경우의 부호화·복호의 방법 예를 설명하는 도면이다.
도 21은 RRC에 관한 의사 코드의 예를 도시하는 도면이다.
도 22는 RRC의 비트 스트림의 예를 도시하는 도면이다.
도 23은 RRC에 관한 신택스의 예를 도시하는 도면이다.
도 24는 RRC에 관한 시맨틱스의 예를 도시하는 도면이다.
도 25는 Non-TS 잔차 부호화부의 주된 구성예를 도시하는 블록도이다.
도 26은 Non-TS 잔차 부호화 처리의 흐름의 예를 도시하는 흐름도이다.
도 27은 Non-TS 잔차 복호부의 주된 구성예를 도시하는 블록도이다.
도 28은 Non-TS 잔차 복호 처리의 흐름의 예를 도시하는 흐름도이다.
도 29는 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 30은 화상 부호화 처리의 흐름의 예를 도시하는 흐름도이다.
도 31은 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 32는 화상 복호 처리의 흐름의 예를 도시하는 흐름도이다.
도 33은 컴퓨터의 주된 구성예를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하, 실시 형태로 함)에 대하여 설명한다. 또한, 이하의 순서로 설명한다.
1. 기술 내용이나 기술 용어를 서포트하는 문헌 등
2. CABAC
3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호
4. 라스트 계수 위치의 부호화·복호의 스킵
5. 실시 형태(화상 부호화 장치)
6. 실시 형태(화상 복호 장치)
7. 부기
<1. 기술 내용이나 기술 용어를 서포트하는 문헌 등>
본 기술에서 개시되는 범위는, 실시 형태에 기재되어 있는 내용뿐만 아니라, 출원 당시에 있어서 공지인 이하의 비특허문헌 등에 기재되어 있는 내용이나 이하의 비특허문헌에서 참조되어 있는 다른 문헌의 내용 등도 포함된다.
비특허문헌 1: (상술)
비특허문헌 2: (상술)
비특허문헌 3: (상술)
비특허문헌 4: Recommendation ITU-T H.264(04/2017) "Advanced video coding for generic audiovisual services", April 2017
비특허문헌 5: Recommendation ITU-T H.265(02/18) "High efficiency video coding", february 2018
즉, 상술한 비특허문헌에 기재되어 있는 내용도 서포트 요건을 판단할 때의 근거가 된다. 예를 들어, 상술한 비특허문헌에 기재되어 있는 Quad-Tree Block Structure, QTBT(Quad Tree Plus Binary Tree) Block Structure가 실시예에서 직접적인 기재가 없는 경우에도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 충족시키는 것으로 한다. 또한, 예를 들어 파싱(Parsing), 신택스(Syntax), 시맨틱스(Semantics) 등의 기술 용어에 대해서도 마찬가지로, 실시예에서 직접적인 기재가 없는 경우에도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 충족시킨다.
또한, 본 명세서에서, 화상(픽처)의 부분 영역이나 처리 단위로서 설명에 사용하는 「블록」(처리부를 나타내는 블록이 아님)은 특별히 언급하지 않는 한, 픽처 내의 임의의 부분 영역을 나타내며, 그 크기, 형상 및 특성 등은 한정되지 않는다. 예를 들어, 「블록」에는, 상술한 비특허문헌에 기재되어 있는 TB(Transform Block), TU(Transform Unit), PB(Prediction Block), PU(Prediction Unit), SCU(Smallest Coding Unit), CU(Coding Unit), LCU(Largest Coding Unit), CTB(Coding Tree Block), CTU(Coding Tree Unit), 서브블록, 매크로 블록, 타일 또는 슬라이스 등, 임의의 부분 영역(처리 단위)이 포함된다.
또한, 이러한 블록의 사이즈를 지정하는데 있어서, 직접적으로 블록 사이즈를 지정할 뿐만 아니라, 간접적으로 블록 사이즈를 지정하도록 해도 된다. 예를 들어 사이즈를 식별하는 식별 정보를 사용하여 블록 사이즈를 지정하도록 해도 된다. 또한, 예를 들어 기준으로 하는 블록(예를 들어 LCU나 SCU 등)의 사이즈와의 비 또는 차분에 의해 블록 사이즈를 지정하도록 해도 된다. 예를 들어, 신택스 요소 등으로서 블록 사이즈를 지정하는 정보를 전송하는 경우에, 그 정보로서, 상술한 바와 같은 간접적으로 사이즈를 지정하는 정보를 사용하도록 해도 된다. 이와 같이 함으로써, 그 정보의 정보량을 저감시킬 수 있어, 부호화 효율을 향상시킬 수 있는 경우도 있다. 또한, 이 블록 사이즈의 지정에는, 블록 사이즈의 범위 지정(예를 들어, 허용되는 블록 사이즈의 범위 지정 등)도 포함한다.
<2. CABAC>
<컨텍스트 부호화 빈의 발생량>
예를 들어, 비특허문헌 1이나 비특허문헌 2에 기재된 화상 부호화 방식(이하, VVC(Versatile Video Coding)라고도 칭함)에서는, CABAC(Context-based Adaptive Binary Arithmetic Code)가 사용된다. CABAC는, 2치 산술 부호화 및 2치 심볼의 발생 확률을 주위의 파라미터의 상태(컨텍스트)에 기초하여 추정하는 컨텍스트 적응 처리를 사용한 엔트로피 부호화 방법이다.
도 1에 나타내는 표는, 이러한 CABAC에서의, CG(Coefficient Group; 계수 부호화 그룹; 서브블록) 단위로 발생하는 평균적인 컨텍스트 부호화 빈수(ctx bins/CoefGroup)와, 그 CG 단위로 발생하는 바이패스 부호화 빈수(ep bins/CoefGroup)를 QP(양자화 파라미터)마다 나타내고 있다. 도 1에 나타내는 표에서는, 시퀀스 그룹(Sequence Group) A와 시퀀스 그룹 B 각각에 대해서, 컨텍스트 부호화 빈수와 바이패스 부호화 빈수가 나타나 있다. 시퀀스 그룹 A는, 부호화가 어려워, 부호화 빈이 많이 발생하는 시퀀스 그룹이며, 시퀀스 그룹 B는, 시퀀스 그룹 A에 비해서 부호화가 용이하여, 부호화 빈이 적은 시퀀스 그룹인 것으로 한다.
시퀀스 그룹 A 및 시퀀스 그룹 B의 어느 것에 있어서든, QP=12의 경우보다도 QP=-13(보다 고비트 레이트)쪽이, 발생하는 컨텍스트 부호화 빈수 및 바이패스 부호화 빈수는 많다. 시퀀스 그룹 A의 QP=-13의 경우를 시퀀스 그룹 B의 QP=12의 경우와 발생량을 비교하면, 컨텍스트 부호화 빈수는 약 15배, 바이패스 부호화 빈수는 약 257배가 된다. 이와 같이, 고비트 심도·고비트 레이트의 부호화에서는, 컨텍스트 부호화 빈이나 바이패스 부호화 빈의 발생량이 증대하여, CABAC의 단위당 처리량이 증대할 우려가 있었다.
그래서, CABAC의 스루풋을 개선하기 위해서, 비특허문헌 3에 기재된 바와 같이, 바이패스 부호화 빈의 부호화 처리나 복호 처리를 간략화함과 함께, 변환 블록 내의 컨텍스트 부호화 빈(라스트 계수 위치를 제외함)을 바이패스 부호화 빈으로 치환하는 방법이 제안되었다.
도 2는, 그 비특허문헌 3에 기재된 부호화·복호 방법의 개요를 나타내는 의사 코드이다. 도 2는, RRC(Regular Residual Coding)의 경우의 부호화·복호의 방법을 나타낸다. 이 방법의 경우, "For last significant coefficient position"에 나타나는 바와 같이, 최후의 유효한 계수의 위치를 나타내는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)가 컨텍스트 부호화 빈으로서 부호화(컨텍스트 부호화라고도 칭함)·복호(컨텍스트 복호)되고, 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)가 바이패스 부호화 빈으로서 부호화(바이패스 부호화라고도 칭함)·복호(바이패스 복호라고도 칭함)된다.
또한, 라스트 계수 위치의 부호화·복호 후에 계수 데이터가 서브블록마다 부호화·복호되는데, 그 때, "For each coefficient group"에 나타나는 바와 같이, 하이 스루풋 모드일 경우, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈이 바이패스 부호화 빈으로서 부호화·복호된다. 이와 같이, 컨텍스트 부호화 빈을 바이패스 부호화 빈으로 치환함으로써, 컨텍스트 부호화 빈 그대로로 부호화·복호하는 경우보다도, CABAC의 처리량을 저감시킬 수 있다.
또한, 그 서브블록마다의 부호화·복호 직전에 있어서, "For remBinsPass1 and alig㎚ent"에 기재된 바와 같이, 하이 스루풋 모드일 경우, 파라미터 remCcbs(도 2에서는 remBinPass1)가 0으로 설정되어, CABAC 바이패스 얼라인먼트(CABAC bypass alig㎚ent)가 행해진다. 파라미터 remCcbs는, 컨텍스트 부호화 빈수의 발생량을 나타내는 파라미터이다. 즉, 컨텍스트 부호화 빈수의 발생량이 0으로 설정되어, 컨텍스트 부호화 빈으로서 부호화·복호되어 있던 빈의 부호화·복호의 방법으로서, 바이패스 부호화·바이패스 복호가 선택된다. CABAC 바이패스 얼라인먼트에서는, 예를 들어 파라미터 ivlCurrRange가 256으로 설정된다. 파라미터 ivlCurrRange는, 산술 부호화에서의 범위를 나타내는 파라미터이다. 파라미터 ivlCurrRange 및 파라미터 ivlOffset에 의해 부호화 엔진의 상태가 나타난다. 파라미터 ivlCurrRange가 256으로 설정됨으로써, 바이패스 부호화 빈의 부호화·복호를 간략화할 수 있다.
이러한 부호화에 의해 생성되는 비트 스트림의 일부 구성예를 도 3에 나타낸다. 도 3에 도시된 바와 같이, 비트 스트림에서는, 라스트 계수 위치에 관한 부호화 빈(last_sig_coeff_x_prefix11, last_sig_coeff_y_prefix12, last_sig_coeff_x_suffix13 및 last_sig_coeff_y_suffix14)이 형성되고, 그 후에, 서브블록마다의 부호화 빈(Coefficient bits16-1, sb_coded_flag15-2, Coefficient bits16-2, sb_coded_flag15-3, Coefficient bits16-3, sb_coded_flag15-4, Coefficient bits16-4, sb_coded_flag15-5 및 Coefficient bits16-5)이 형성된다. sb_coded_flag15-2 내지 sb_coded_flag15-5를 서로 구별하여 설명할 필요가 없을 경우, sb_coded_flag15라고도 칭한다. 또한, Coefficient bits16-1 내지 Coefficient bits16-5를 서로 구별하여 설명할 필요가 없을 경우, Coefficient bits16이라고도 칭한다.
last_sig_coeff_x_prefix11 및 last_sig_coeff_y_prefix12는, 컨텍스트 부호화 빈이다. last_sig_coeff_x_suffix13 및 last_sig_coeff_y_suffix14는, 바이패스 부호화 빈이다. sb_coded_flag15 및 Coefficient bits16은, 서브블록마다의 바이패스 부호화 빈군이다. 이 서브블록마다의 부호화·복호 직전에 있어서, 즉, Coefficient bits16-1의 처리 직전에 있어서, CABAC 바이패스 얼라인먼트 처리가 행해진다(Align).
도 4는, 비특허문헌 3에 기재된 부호화·복호 방법의 개요를 나타내는 의사 코드이다. 도 4는, TSRC(Transform-Skip Residual Coding)의 경우의 부호화·복호의 방법을 나타낸다. "For RemCcbs and alig㎚ent"에 나타나는 바와 같이, 하이 스루풋 모드일 경우, 파라미터 remCcbs가 0으로 설정되어, CABAC 바이패스 얼라인먼트(CABAC bypass alig㎚ent)가 행해진다.
또한, 그 후에 있어서, "For each coefficient group"에 나타나는 바와 같이, 하이 스루풋 모드일 경우, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈이 바이패스 부호화 빈으로서 부호화·복호된다.
이러한 부호화에 의해 생성되는 비트 스트림의 일부 구성예를 도 5에 나타낸다. 도 5에 도시하는 바와 같이, 비트 스트림에서는, 서브블록마다의 부호화 빈(sb_coded_flag21-1, Coefficient bits22-1, sb_coded_flag21-2, Coefficient bits22-2, sb_coded_flag21-3, Coefficient bits22-3, sb_coded_flag21-4, Coefficient bits22-4, sb_coded_flag21-5 및 Coefficient bits22-5)이 형성된다. sb_coded_flag21-1 내지 sb_coded_flag21-5를 서로 구별하여 설명할 필요가 없을 경우, sb_coded_flag21이라고도 칭한다. 또한, Coefficien2t bits22-1 내지 Coefficient bits22-5를 서로 구별하여 설명할 필요가 없을 경우, Coefficient bits22라고도 칭한다.
sb_coded_flag21 및 Coefficient bits22는, 서브블록마다의 바이패스 부호화 빈군이다. 이 서브블록마다의 부호화·복호 직전에 있어서, 즉, sb_coded_flag21-1의 처리 직전에 있어서, CABAC 바이패스 얼라인먼트 처리가 행해진다(Align).
도 6은, 이 비특허문헌 3에 기재된 부호화·복호 방법의, RRC의 경우의 신택스 예를 도시하는 도면이다. 도 7은, 그 신택스에 대응하는 각 파라미터의 시맨틱스 예를 도시하는 도면이다.
이상과 같은 부호화·복호 방법에서는, 도 8에 나타나는 그래프와 같이, 변환 블록에 있어서, 컨텍스트 부호화 빈 전체 중 약 8% 내지 10% 정도를 라스트 계수 위치가 차지하고 있었다. 도 8에 나타나는 막대그래프는, 고비트 레이트의 비트 스트림에서의 구성 요소의 비율 예를 나타내고 있다. 복수의 막대그래프는 각각, 서로 다른 비트 스트림에 관한 정보를 나타낸다. 그레이의 막대그래프는, 비트 스트림 전체에서 차지하는 컨텍스트 부호화 빈수 중, 변환 블록 내의 신택스가 차지하는 비율을 나타낸다. 검은 막대그래프는, 비트 스트림 전체에서 차지하는 컨텍스트 부호화 빈수 중, 라스트 계수 위치가 차지하는 비율을 나타낸다. 도 8에 도시하는 바와 같이, 고비트 레이트의 비트 스트림일 경우, 전체 컨텍스트 부호화 빈수 중 약 90%를 계수 부호화가 차지하고, 전체 컨텍스트 부호화 빈수 중 약 10%를 라스트 계수 위치가 차지하고 있었다. 즉, 비특허문헌 3에 기재된 방법에서는, 전체 컨텍스트 부호화 빈의 약 80%가 바이패스 부호화 빈으로 치환되지만, 약 10%(라스트 계수 위치)가 컨텍스트 부호화 빈으로서 다루어질 필요가 있었다. 그 때문에, 그 라스트 계수 위치에 대해서도 바이패스 부호화 빈으로 치환함으로써, CABAC의 스루풋을 더욱 개선할 수 있을 가능성이 있었다.
<3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>
<방법 #1>
따라서, 예를 들어 도 9에 나타내는 표의 최상단에 나타내는 바와 같이, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 프리픽스부를 바이패스 부호화·바이패스 복호해도 된다(방법 #1).
CABAC 하이 스루풋 모드는, 통상 모드일 경우(하이 스루풋 모드가 아닐 경우)보다도 CABAC의 스루풋을 향상시키도록 처리를 행하는 모드이다. 예를 들어, 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리(부호화·복호)하거나, 부호화·복호의 처리를 간략화하거나 함으로써, 스루풋을 향상시킬 수 있다. 이 CABAC 하이 스루풋 모드는, 예를 들어 통상보다도 고비트 심도나 고비트 레이트의 부호화 대상에 대하여 적용되어도 된다. 예를 들어, 비트 심도가 10비트의 화상이 표준일 경우에, 비트 심도가 12비트의 화상을 부호화 대상으로 할 때 적용되어도 된다.
또한, 이하에서는, 부호화·복호로서 CABAC를 적용하는 경우에 대하여 설명하지만, 본 기술은, CABAC 이외의 부호화·복호에도 적용할 수 있다. 따라서, 상술한 CABAC 하이 스루풋 모드도 CABAC에 한정되지 않는다. 즉, 이 모드는, 간단히 하이 스루풋 모드라고 해도 된다.
예를 들어, 화상 처리 장치가, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는 부호화부를 구비해도 된다. 또한, 예를 들어 화상 처리 방법에 있어서, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화해도 된다.
예를 들어, 화상 처리 장치가, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터의 부호화 데이터에 포함되는 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는 복호부를 구비해도 된다. 또한, 예를 들어 화상 처리 방법에 있어서, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터의 부호화 데이터에 포함되는 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호해도 된다.
도 10은, 본 기술을 적용한 경우의 부호화(복호)의 개요를 나타내는 의사 코드의 예를 도시하는 도면이다. 도 10의 예에서는, "For each coefficient group" 앞에 "For last significant coefficient position"이 실행된다. 그리고, 그 "For last significant coefficient position"에 나타나는 바와 같이, sps_high_throughput_flag가 참일(0이 아닐) 경우, last_sig_coeff_{x, y}_prefix가 바이패스 부호화 빈으로서 부호화·복호된다(bypass_coding of last_sig_coeff_{x, y}_prefix).
sps_high_throughput_flag는, CABAC 하이 스루풋 모드가 적용되는지 여부를 나타내는 플래그 정보이다. sps_high_throughput_flag가 참(예를 들어 1)일 경우, CABAC 하이 스루풋 모드가 적용되는 것을 나타낸다. sps_high_throughput_flag가 거짓(예를 들어 0)일 경우, 통상 모드가 적용되는(CABAC 하이 스루풋 모드가 아닌) 것을 나타낸다. last_sig_coeff_{x, y}_prefix는, 최후의 유효한 계수의 X 방향 또는 Y 방향의 위치(라스트 계수 위치)의 프리픽스부를 나타낸다.
이와 같이 부호화함으로써, 도 11에 도시하는 바와 같이, 비트 스트림에서는, 라스트 계수 위치에 관한 부호화 빈(last_sig_coeff_x_prefix101, last_sig_coeff_y_prefix102, last_sig_coeff_x_suffix103 및 last_sig_coeff_y_suffix104)이 형성되고, 그 후에, 서브블록마다의 부호화 빈(Coefficient bits106-1, sb_coded_flag105-2, Coefficient bits106-2, sb_coded_flag105-3, Coefficient bits106-3, sb_coded_flag105-4, Coefficient bits106-4, sb_coded_flag105-5 및 Coefficient bits106-5)이 형성된다. sb_coded_flag105-2 내지 sb_coded_flag105-5를 서로 구별하여 설명할 필요가 없을 경우, sb_coded_flag105라고도 칭한다. 또한, Coefficient bits106-1 내지 Coefficient bits106-5를 서로 구별하여 설명할 필요가 없을 경우, Coefficient bits106이라고도 칭한다.
last_sig_coeff_x_prefix101은, X 방향의 라스트 계수 위치의 프리픽스부의 부호화 빈을 나타낸다. last_sig_coeff_y_prefix102는, Y 방향의 라스트 계수 위치의 프리픽스부의 부호화 빈을 나타낸다. 상술한 바와 같이, CABAC 하이 스루풋 모드가 적용되는 경우, 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 처리하므로, last_sig_coeff_x_prefix101 및 last_sig_coeff_y_prefix102는, 바이패스 부호화 빈이다.
도 3 등을 참조하여 설명한 바와 같이, 비특허문헌 3에 기재된 방법에서는, CABAC 하이 스루풋 모드가 적용되는 경우도, 라스트 계수 위치의 프리픽스부(예를 들어, ast_sig_coeff_x_prefix11 및 last_sig_coeff_y_prefix12)가 컨텍스트 부호화 빈으로서 부호화·복호되었다. 이에 반해, 방법 #1에서는, CABAC 하이 스루풋 모드가 적용되는 경우, 그 라스트 계수 위치의 프리픽스부(last_sig_coeff_x_prefix101 및 last_sig_coeff_y_prefix102)를 바이패스 부호화 빈으로서 부호화·복호한다. 바이패스 부호화 빈은, 컨텍스트 부호화 빈에 비하면 처리량이 가볍다. 따라서, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 도 11에서, sb_coded_flag105는, 서브블록 계수 플래그이며, 서브블록 내의 모든 계수가 0인지 여부를 나타내는 플래그 정보이다. 따라서, sb_coded_flag105는, 서브블록마다 설정된다. 또한, 이 경우, 라스트 계수 위치를 보내고 있기 때문에, 라스트 계수가 포함되는 계수 그룹의 sb_coded_flag는 부호화·복호가 스킵되고, 그 값이 1이라고 추정된다. Coefficient bits106은, 서브블록마다의 계수의 부호화 빈이다. 즉, 계수는, 서브블록(변환 블록)마다 부호화·복호된다.
비특허문헌 3에 기재된 방법의 경우와 마찬가지로, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈이 바이패스 부호화 빈으로서 부호화·복호된다. 즉, 도 10에서, "For each coefficient group"에 나타나는 바와 같이, CABAC 하이 스루풋 모드가 적용되는 경우, 각 서브블록은 바이패스 부호화·바이패스 복호된다. 즉, 도 11에서, sb_coded_flag105 및 Coefficient bits106은, 바이패스 부호화 빈에 의해 구성된다. 이와 같이, 컨텍스트 부호화 빈을 바이패스 부호화 빈으로 치환함으로써, 컨텍스트 부호화 빈 그대로로 부호화·복호하는 경우보다도, CABAC의 처리량을 저감시킬 수 있다.
<방법 #1-1>
예를 들어, 상술한 방법 #1이 적용되는 경우에 있어서, 도 9에 나타내는 표의 위에서부터 2단째에 나타내는 바와 같이, 비CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화·컨텍스트 복호해도 된다(방법 #1-1). 즉, 라스트 계수 위치의 프리픽스부는, 하이 스루풋 모드가 아닐 경우, 컨텍스트 부호화 빈으로서 부호화·복호되어도 된다.
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 부호화해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 복호해도 된다.
도 10의 예에서는, "For last significant coefficient position"에 나타나는 바와 같이, sps_high_throughput_flag가 거짓일 경우(sps_high_throughput_flag ==0), last_sig_coeff_{x, y}_preffix가 컨텍스트 부호화 빈으로서 부호화·복호된다(context_coding of last_sig_coeff_{x, y}_preffix).
이와 같이 함으로써, 하이 스루풋 모드일 경우만, 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 처리할 수 있다.
<방법 #1-2>
예를 들어, 상술한 방법 #1이 적용되는 경우에 있어서, 도 9에 나타내는 표의 위에서부터 3단째에 나타내는 바와 같이, 라스트 계수 위치의 서픽스부를 바이패스 부호화·바이패스 복호해도 된다(방법 #1-2).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 화상 데이터에 포함되는 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 부호화해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 부호화 데이터에 포함되는 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 복호해도 된다.
도 10의 예에서는, "For last significant coefficient position"에 나타나는 바와 같이, CABAC 하이 스루풋 모드인지 여부에 관계없이, last_sig_coeff_{x, y}_suffix가 바이패스 부호화 빈으로서 부호화·복호된다(bypass_coding of last_sig_coeff_{x, y}_suffix). last_sig_coeff_{x, y}_suffix는, 최후의 유효한 계수의 X 방향 또는 Y 방향의 위치(라스트 계수 위치)의 서픽스부를 나타낸다.
도 11에서, last_sig_coeff_x_suffix103은, X 방향의 라스트 계수 위치의 서픽스부의 부호화 빈을 나타낸다. last_sig_coeff_y_suffix104는, Y 방향의 라스트 계수 위치의 서픽스부의 부호화 빈을 나타낸다. 이 방법 #1-2의 경우, 상술한 바와 같이, 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 부호화·복호하므로, last_sig_coeff_x_suffix103 및 last_sig_coeff_y_suffix104는, 바이패스 부호화 빈이다. 즉, 라스트 계수 위치와 각 서브블록에 관한 컨텍스트 부호화 빈(도 11의 last_sig_coeff_x_prefix101 내지 Coefficient bits106)이 모두 바이패스 부호화 빈으로서 부호화·복호된다.
이와 같이 함으로써, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<방법 #1-3>
예를 들어, 상술한 방법 #1이 적용되는 경우에 있어서, 도 9에 나타내는 표의 위에서부터 4단째에 나타내는 바와 같이, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 부호화·복호 직전에, CABAC 바이패스 얼라인먼트 처리를 행해도 된다(방법 #1-3).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드일 경우, 라스트 계수 위치의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드일 경우, 라스트 계수 위치의 복호 직전에 있어서, 복호 프로세스의 얼라인먼트 처리를 행해도 된다.
도 10의 예에서는, "For last significant coefficient position" 앞의 "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 참일(0이 아닐) 경우, CABAC 바이패스 얼라인먼트가 실행된다(CABAC bypass alig㎚ent). 즉, CABAC 하이 스루풋 모드일 경우, 도 11에 도시하는 바와 같이, last_sig_coeff_x_prefix101의 처리 직전에 있어서, CABAC 바이패스 얼라인먼트 처리가 행해진다(Align). CABAC 바이패스 얼라인먼트는, CABAC의 프로세스를 조정하는 처리이다. 이 처리를 행함으로써, 복수의 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있게 된다. 즉, 라스트 계수 위치의 부호화·복호 직전에, CABAC 바이패스 얼라인먼트 처리를 행함으로써, 라스트 계수 위치의 바이패스 부호화 빈도 간단하게 병렬로 처리할 수 있다. 따라서, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
또한, 상술한 바와 같이, 본 기술은, CABAC 이외의 부호화·복호에도 적용할 수 있다. 따라서, 상술한 CABAC 바이패스 얼라인먼트도 CABAC에 한정되지 않는다. 즉, 이 처리는, 간단히, 부호화 프로세스(또는 복호 프로세스)를 조정하는 처리(얼라인먼트 처리)로 해도 된다.
<방법 #1-3-1>
예를 들어, 상술한 방법 #1-3이 적용되는 경우에 있어서, 도 9에 나타내는 표의 위에서부터 5단째에 나타내는 바와 같이, CABAC 바이패스 얼라인먼트 처리에 있어서, 파라미터 iVlCurrRange를 256으로 설정해도 된다(방법 #1-3-1).
파라미터 ivlCurrRange는, 산술 부호화에서의 범위를 나타내는 파라미터이다. 파라미터 ivlCurrRange 및 파라미터 ivlOffset에 의해 부호화 엔진의 상태가 나타난다.
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정해도 된다.
파라미터 ivlCurrRange를 256에 고정함으로써, 바이패스 부호화 빈의 부호화·복호가 간략화되어, 비트 스트림의 1비트를 그대로 바이패스 부호화 빈으로서 처리할 수 있게 된다. 이에 의해, 복수의 바이패스 부호화 빈을 병렬 처리할 수 있다. 즉, 라스트 계수 위치의 부호화·복호 직전에 이 설정이 행해짐으로써, 라스트 계수 위치를 포함하는 계수 부호화 전체의 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있다. 따라서, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
<방법 #1-3-2>
예를 들어, 상술한 방법 #1-3이 적용되는 경우에 있어서, 도 9에 나타내는 표의 위에서부터 6단째에 나타내는 바와 같이, CABAC 바이패스 얼라인먼트 처리를 행할 때, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다(방법 #1-3-2).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 라스트 계수 위치의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 라스트 계수 위치의 복호 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다.
도 10의 예에서는, "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 참일(0이 아닐) 경우, 파라미터 remCcbs(도 10에서는 remBinPass1)가 0으로 설정된다(remBinPass1=0). 즉, CABAC 하이 스루풋 모드일 경우, 파라미터 remCcbs가 0으로 설정된다. 파라미터 remCcbs는, 컨텍스트 부호화 빈수의 발생량을 나타내는 파라미터이다. 즉, 바이패스 부호화가 선택된다. 라스트 계수 위치의 부호화·복호 전에 있어서 파라미터 remCcbs를 0으로 설정함으로써, 라스트 계수 위치를 포함하는 계수 부호화 전체의 부호화 빈을 바이패스 부호화 빈으로서 처리할 수 있다. 따라서, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
<방법 #1-3-3>
예를 들어, 상술한 방법 #1-3이 적용되는 경우에 있어서, 도 9에 나타내는 표의 최하단에 나타내는 바와 같이, 비CABAC 하이 스루풋 모드일 경우, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다(방법 #1-3-3).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 부호화 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 복호 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다.
도 10의 예에서는, "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 거짓일 경우(sps_high_throughput_flag==0), CABAC 바이패스 얼라인먼트가 실행되지 않는다. 또한, 파라미터 ctxBinSampleRatioBase, 파라미터 TbWidth 및 파라미터 TbHeight에 기초하여, 파라미터 remCcbs(도 10에서는 remBinPass1)가 도출된다(remBinsPass1=((1<<(log2TbWidth+log2TbHeight))*7)>>2).
파라미터 ctxBinSampleRatioBase는, 컨텍스트 부호화 빈수의 기준값을 나타낸다. 도 10의 예에서는, 파라미터 ctxBinSampleRatioBase는 7로 설정되어 있다. 파라미터 TbWidth는, 변환 블록의 가로 방향의 사이즈(폭)를 나타낸다. 파라미터 TbHeight는, 변환 블록의 세로 방향의 사이즈(높이)를 나타낸다. 즉, 이하의 식 (1)에 의해, 파라미터 remCcbs가 도출된다.
remCcbs=ctxBinSampleRatioBase*(TbWidth*TbHeight>>4) …(1)
이와 같이 함으로써, 하이 스루풋 모드가 아닐 경우에, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 처리할 수 있다.
<부호화 장치>
도 12는, 본 기술을 적용한 화상 처리 장치의 일 양태인 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 12에 나타내는 부호화 장치(200)는 CABAC를 사용하여 양자화 계수를 부호화하는 장치이다.
이 양자화 계수는, 부호화 대상인 화상 데이터를 사용하여 생성된 데이터이다. 예를 들어, 그 화상 데이터에 대하여 그 예측 화상이 도출된다. 그리고, 그 화상 데이터와 예측 화상의 차분(예측 잔차)이 도출된다. 그리고, 그 예측 잔차가 계수 변환(예를 들어 직교 변환)됨으로써 변환 계수가 생성된다. 그리고, 그 변환 계수가 양자화됨으로써, 양자화 계수가 생성된다. 이와 같이 상술한 양자화 계수가 생성되어도 된다. 또한, 상술한 처리 중, 예를 들어 계수 변환이 스킵(생략)되어도 된다.
또한, 도 12에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 12에 도시되는 것이 전부라고는 할 수 없다. 즉, 부호화 장치(200)가, 도 12에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, 부호화 장치(200)가, 도 12에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 12에 도시하는 바와 같이, 부호화 장치(200)는, 선택부(211), TS 잔차 부호화부(212) 및 Non-TS 잔차 부호화부(213)를 갖는다.
선택부(211)는, 실행할 부호화 처리의 선택에 관한 처리를 행한다. 예를 들어, 선택부(211)는 양자화 계수를 취득해도 된다. 또한, 선택부(211)는 transform_skip_flag나 cIdx를 취득해도 된다. transform_skip_flag는, 변환 스킵 플래그이며, 그 플래그에 대응하는 변환 블록에 대한 계수 변환(예를 들어 직교 변환)이 스킵(생략)되었는지 여부를 나타내는 플래그 정보이다. transform_skip_flag가 참(예를 들어 1)일 경우, 계수 변환이 스킵된 것을 나타낸다. transform_skip_flag가 거짓(예를 들어 0)일 경우, 계수 변환이 적용된 것을 나타낸다. cIdx는, 휘도 성분이나 색 성분 등과 같은 색 컴포넌트를 식별하기 위한 컴포넌트 식별자이다.
선택부(211)는, transform_skip_flag 및 cIdx에 기초하여, 양자화 계수에 대하여 TSRC(TS 잔차 부호화 모드에서의 부호화)를 적용할지, RRC(Non-TS 잔차 부호화 모드에서의 부호화)를 적용할지를, 변환 블록마다 선택해도 된다. 예를 들어, transform_skip_flag[cIdx]가 참일 경우, 선택부(211)는 TSRC의 적용을 선택하여, 양자화 계수를 TS 잔차 부호화부(212)에 공급해도 된다. 또한, transform_skip_flag[cIdx]가 거짓일 경우, 선택부(211)는 RRC의 적용을 선택하여, 양자화 계수를 Non-TS 잔차 부호화부(213)에 공급해도 된다.
TS 잔차 부호화부(212)는, TS 잔차 부호화 모드에서의 부호화(TSRC)에 관한 처리를 실행한다. 예를 들어, TS 잔차 부호화부(212)는, 선택부(211)로부터 공급되는 양자화 계수를 취득해도 된다. 또한, TS 잔차 부호화부(212)는, 그 양자화 계수를, TS 잔차 부호화 모드에서 부호화해도 된다. 예를 들어, TS 잔차 부호화부(212)는 비특허문헌 3에 기재된 방법과 마찬가지의 방법으로, 양자화 계수를 부호화(TSRC)해도 된다. 그리고, TS 잔차 부호화부(212)는, 그 부호화에 의해 생성한 비트 스트림을, 부호화 장치(200)의 외부로 출력해도 된다.
Non-TS 잔차 부호화부(213)(부호화부)는, Non-TS 잔차 부호화 모드에서의 부호화(RRC)에 관한 처리를 실행한다. 예를 들어, Non-TS 잔차 부호화부(213)는, 선택부(211)로부터 공급되는 양자화 계수를 취득해도 된다. 또한, Non-TS 잔차 부호화부(213)는, 그 양자화 계수를, Non-TS 잔차 부호화 모드에서 부호화해도 된다. 예를 들어, Non-TS 잔차 부호화부(213)는, 도 9 등을 참조해서 상술한 어느 것의 방법을 적용하여, 양자화 계수를 부호화(RRC)해도 된다. 그리고, Non-TS 잔차 부호화부(213)는, 그 부호화에 의해 생성한 비트 스트림을, 부호화 장치(200)의 외부로 출력해도 된다.
<Non-TS 잔차 부호화부>
도 13은, 도 12의 Non-TS 잔차 부호화부(213)의 주된 구성예를 도시하는 블록도이다. 또한, 도 13에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 13에 도시되는 것이 전부라고는 할 수 없다. 즉, Non-TS 잔차 부호화부(213)가, 도 13에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, Non-TS 잔차 부호화부(213)가, 도 13에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 13에 도시하는 바와 같이, Non-TS 잔차 부호화부(213)는, 설정부(231), 라스트 계수 위치 부호화부(232) 및 서브블록 부호화부(233)를 갖는다.
설정부(231)는 파라미터의 설정에 관한 처리를 행한다. 예를 들어, 설정부(231)는, ctxBinSampleRatioBase를 취득해도 된다. ctxBinSampleRatioBase는, 컨텍스트 부호화 빈수의 기준값을 나타내는 파라미터이다. 또한, 설정부(231)는 TbWidth 및 TbHeight를 취득해도 된다. TbWidth는, 변환 블록의 가로 방향의 크기(폭)를 나타내는 파라미터이다. TbHeight는, 변환 블록의 세로 방향의 크기(높이)를 나타내는 파라미터이다. 또한, 설정부(231)는 sps_high_throughput_flag를 취득해도 된다. sps_high_throughput_flag는, 상술한 바와 같이, CABAC 하이 스루풋 모드가 적용되는지 여부를 나타내는 플래그 정보이다.
예를 들어, sps_high_throughput_flag가 참일 경우, 설정부(231)는, 상술한 방법 #1-3을 적용하고, 라스트 계수 위치의 부호화 직전에 있어서, CABAC 바이패스 얼라인먼트 처리를 행해도 된다. 그 경우, 설정부(231)는, 예를 들어 상술한 방법 #1-3-1을 적용하고, 그 CABAC 바이패스 얼라인먼트 처리에 있어서, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 또한, 설정부(231)는, 상술한 방법 #1-3-2를 적용하고, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다. 즉, 설정부(231)는, 컨텍스트 부호화 빈수의 발생량을 나타내는 파라미터 remCcbs를 0으로 설정해도 된다.
또한, sps_high_throughput_flag가 거짓일 경우, 설정부(231)는 상술한 방법 #1-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출해도 된다. 예를 들어, 설정부(231)는, 상술한 식 (1)을 사용하여 remCcbs를 도출해도 된다.
예를 들어, 설정부(231)는, 값을 설정한 remCcbs를 라스트 계수 위치 부호화부(232)에 공급해도 된다. 또한, 설정부(231)는, CABAC 바이패스 얼라인먼트 처리를 행한 경우, 설정한 iVlCurrRange를 라스트 계수 위치 부호화부(232)에 공급해도 된다.
라스트 계수 위치 부호화부(232)는, 라스트 계수 위치의 부호화에 관한 처리를 행한다. 예를 들어, 라스트 계수 위치 부호화부(232)는 sps_high_throughput_flag를 취득해도 된다. 또한, 라스트 계수 위치 부호화부(232)는 양자화 계수를 취득해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 설정부(231)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 설정부(231)로부터 공급되는 iVlCurrRange를 취득해도 된다.
예를 들어, 라스트 계수 위치 부호화부(232)는, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})에 기초하여, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 설정해도 된다. last_sig_coeff_{x, y}_prefix는, X 방향의 라스트 계수 위치의 프리픽스부(last_sig_coeff_x_prefix)와 Y 방향의 라스트 계수 위치의 프리픽스부(last_sig_coeff_y_prefix)를 통합하여 간략 표기한 것이다. 마찬가지로, last_sig_coeff_{x, y}_suffix는, X 방향의 라스트 계수 위치의 서픽스부(last_sig_coeff_x_suffix)와 Y 방향의 라스트 계수 위치의 서픽스부(last_sig_coeff_y_suffix)를 통합하여 간략 표기한 것이다.
또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 부호화해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1-1을 적용하고, sps_high_throughput_flag가 거짓일 경우, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 부호화해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1-2를 적용하고, CABAC 하이 스루풋 모드인지 여부에 관계없이, 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 부호화해도 된다.
예를 들어, 라스트 계수 위치 부호화부(232)는, 이상과 같은 부호화에 의해 생성한 라스트 계수 위치의 프리픽스부에 대응하는 부호화 빈 및 서픽스부에 대응하는 부호화 빈을 비트 스트림으로서 부호화 장치(200)의 외부로 출력해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, remCcbs를 서브블록 부호화부(233)에 공급해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, iVlCurrRange를 서브블록 부호화부(233)에 공급해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 라스트 계수 위치(LastSignificantCoef{X, Y})를 서브블록 부호화부(233)에 공급해도 된다.
서브블록 부호화부(233)는, 서브블록마다의 계수 등의 부호화에 관한 처리를 행한다. 예를 들어, 서브블록 부호화부(233)는 양자화 계수를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 라스트 계수 위치 부호화부(232)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 라스트 계수 위치 부호화부(232)로부터 공급되는 iVlCurrRange를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 라스트 계수 위치 부호화부(232)로부터 공급되는 라스트 계수 위치(LastSignificantCoef{X, Y})를 취득해도 된다.
예를 들어, 서브블록 부호화부(233)는, 라스트 계수 위치 부호화부(232)로부터 공급되는 정보를 사용하여, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를, 서브블록마다 부호화해도 된다. 예를 들어, 서브블록 부호화부(233)는, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 부호화해도 된다.
예를 들어, 서브블록 부호화부(233)는, 이러한 부호화에 의해 생성한 서브블록마다의 바이패스 부호화 빈군(서브블록 계수 플래그(sb_coded_flag)나 양자화 계수의 바이패스 부호화 빈)을 비트 스트림으로서 부호화 장치(200)의 외부로 출력해도 된다.
이러한 구성으로 함으로써, 부호화 장치(200)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 즉, 부호화 장치(200)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 부호화 장치(200)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 부호화 장치(200)는, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<부호화 처리의 흐름>
부호화 장치(200)에 의해 실행되는 부호화 처리의 흐름의 예를, 도 14의 흐름도를 참조하여 설명한다.
부호화 처리가 개시되면, 부호화 장치(200)는, 스텝 S101에서, 컴포넌트 식별자 cIdx에 대응하는 변환 블록의 변환 모드 정보(transform_skip_flag 등)를 부호화한다.
스텝 S102에서, 선택부(211)는, TS 잔차 부호화 모드에서 부호화할지 여부를 판정한다. 예를 들어 transform_skip_flag[cIdx]가 참이고, TS 잔차 부호화 모드에서 부호화하는 것으로 판정된 경우, 처리는 스텝 S103으로 진행한다.
스텝 S103에서, TS 잔차 부호화부(212)는, TS 잔차 부호화 모드에서 양자화 계수를 부호화한다. 예를 들어, TS 잔차 부호화부(212)는, 비특허문헌 3에 기재된 방법과 마찬가지의 방법으로, 양자화 계수를 부호화(TSRC)해도 된다. 스텝 S103의 처리가 종료되면, 부호화 처리가 종료된다.
또한, 스텝 S102에서, transform_skip_flag[cIdx]가 거짓이고, Non-TS 잔차 부호화 모드에서 부호화하는 것으로 판정된 경우, 처리는 스텝 S104로 진행한다.
스텝 S104에서, Non-TS 잔차 부호화부(213)는, Non-TS 잔차 부호화 처리를 실행함으로써, Non-TS 잔차 부호화 모드에서 양자화 계수를 부호화한다. 예를 들어, Non-TS 잔차 부호화부(213)는, 도 9 등을 참조하여 상술한 어느 것의 방법을 적용하여, 양자화 계수를 부호화(RRC)해도 된다. 스텝 S104의 처리가 종료되면, 부호화 처리가 종료된다.
<Non-TS 잔차 부호화 처리의 흐름>
이어서, 도 14의 스텝 S104에서 실행되는 Non-TS 잔차 부호화 처리의 흐름의 예를, 도 15의 흐름도를 참조하여 설명한다.
Non-TS 잔차 부호화 처리가 개시되면, Non-TS 잔차 부호화부(213)의 설정부(231)는, 스텝 S131에서, CABAC 하이 스루풋 모드인지 여부를 판정한다.
sps_high_throughput_flag가 참으로(즉, CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S132로 진행한다. 스텝 S132에서, 설정부(231)는, 상술한 방법 #1-3-2를 적용하고, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정한다. 이에 의해, 그 이후의 부호화에 있어서 바이패스 부호화가 선택된다.
스텝 S133에서, 설정부(231)는, 상술한 방법 #1-3을 적용하고, CABAC 바이패스 얼라인먼트를 실시한다. 그 때, 설정부(231)는, 상술한 방법 #1-3-1을 적용하고, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 이에 의해, 바이패스 부호화 빈의 부호화가 간략화되고, 또한 복수의 바이패스 부호화 빈을 병렬 처리할 수 있다. 스텝 S133의 처리가 종료되면 처리는 스텝 S135로 진행한다.
또한, 스텝 S131에서, sps_high_throughput_flag가 거짓으로(즉, 비CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S134로 진행한다. 스텝 S134에서, 설정부(231)는, 상술한 방법 #1-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출한다. 스텝 S134의 처리가 종료되면 처리는 스텝 S135로 진행한다.
스텝 S135에서, 라스트 계수 위치 부호화부(232)는, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})에 기초하여, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 설정한다.
스텝 S136에서, 라스트 계수 위치 부호화부(232)는, CABAC 하이 스루풋 모드인지 여부를 판정한다.
sps_high_throughput_flag가 참으로(즉, CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S137로 진행한다. 스텝 S137에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1을 적용하고, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 부호화한다. 스텝 S137의 처리가 종료되면, 처리는 스텝 S139로 진행한다.
또한, 스텝 S136에서, sps_high_throughput_flag가 거짓으로(즉, 비CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S138로 진행한다. 스텝 S138에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1-1을 적용하고, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 부호화한다. 스텝 S138의 처리가 종료되면, 처리는 스텝 S139로 진행한다.
스텝 S139에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #1-2를 적용하고, 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 부호화한다.
스텝 S140에서, 서브블록 부호화부(233)는, 서브블록마다 계수 등을 부호화한다. 스텝 S140의 처리가 종료되면, Non-TS 잔차 부호화 처리가 종료되고, 처리는 도 14로 돌아간다.
이상과 같이 각 처리를 실행함으로써, 부호화 장치(200)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 즉, 부호화 장치(200)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 부호화 장치(200)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 부호화 장치(200)는, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<복호 장치>
도 16은, 본 기술을 적용한 화상 처리 장치의 일 양태인 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 16에 도시되는 복호 장치(300)는, CABAC를 사용하여 비트 스트림을 복호하여, 양자화 계수를 생성(복원)하는 장치이다.
이 양자화 계수는, 부호화 장치(200)의 경우와 마찬가지로, 부호화 대상인 화상 데이터를 사용하여 생성된 데이터이다. 즉, 복호 대상의 비트 스트림은, 본 기술을 적용한 화상 처리 장치(예를 들어 부호화 장치(200))가, 그 양자화 계수를 부호화하여 생성한 것이다.
또한, 도 16에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 16에 나타나는 것이 전부라고는 할 수 없다. 즉, 복호 장치(300)가, 도 16에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, 복호 장치(300)가, 도 16에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 16에 도시되는 바와 같이, 복호 장치(300)는, 선택부(311), TS 잔차 복호부(312) 및 Non-TS 잔차 복호부(313)를 갖는다.
선택부(311)는 실행하는 복호 처리의 선택에 관한 처리를 행한다. 예를 들어, 선택부(311)는 비트 스트림을 취득해도 된다. 또한, 선택부(311)는 transform_skip_flag나 cIdx를 취득해도 된다.
선택부(311)는, transform_skip_flag 및 cIdx에 기초하여, 비트 스트림에 대하여 TSRC(TS 잔차 부호화 모드에서의 복호)를 적용할지, RRC(Non-TS 잔차 부호화 모드에서의 복호)를 적용할지를, 변환 블록마다 선택해도 된다. 예를 들어, transform_skip_flag[cIdx]가 참일 경우, 선택부(311)는 TSRC의 적용을 선택하고, 비트 스트림을 TS 잔차 복호부(312)에 공급해도 된다. 또한, transform_skip_flag[cIdx]가 거짓일 경우, 선택부(311)는 RRC의 적용을 선택하고, 비트 스트림을 Non-TS 잔차 복호부(313)에 공급해도 된다.
TS 잔차 복호부(312)는, TS 잔차 부호화 모드에서의 복호(TSRC)에 관한 처리를 실행한다. 예를 들어, TS 잔차 복호부(312)는, 선택부(311)로부터 공급되는 비트 스트림을 취득해도 된다. 또한, TS 잔차 복호부(312)는, 그 비트 스트림을, TS 잔차 부호화 모드에서 복호하여, 양자화 계수를 생성(복원)해도 된다. 예를 들어, TS 잔차 복호부(312)는, 비특허문헌 3에 기재된 방법과 마찬가지의 방법으로, 비트 스트림을 복호(TSRC)해도 된다. 그리고, TS 잔차 복호부(312)는, 그 복호에 의해 생성(복원)한 양자화 계수를, 복호 장치(300)의 외부로 출력해도 된다.
Non-TS 잔차 복호부(313)(복호부)는, Non-TS 잔차 부호화 모드에서의 복호(RRC)에 관한 처리를 실행한다. 예를 들어, Non-TS 잔차 복호부(313)는, 선택부(311)로부터 공급되는 비트 스트림을 취득해도 된다. 또한, Non-TS 잔차 복호부(313)는, 그 비트 스트림을, Non-TS 잔차 부호화 모드에서 복호하여, 양자화 계수를 생성(복원)해도 된다. 예를 들어, Non-TS 잔차 복호부(313)는, 도 9 등을 참조해서 상술한 어느 것의 방법을 적용하여, 비트 스트림을 복호(RRC)해도 된다. 그리고, Non-TS 잔차 복호부(313)는, 그 복호에 의해 생성(복원)한 양자화 계수를, 복호 장치(300)의 외부로 출력해도 된다.
<Non-TS 잔차 복호부>
도 17은, 도 16의 Non-TS 잔차 복호부(313)의 주된 구성예를 도시하는 블록도이다. 또한, 도 17에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 17에 도시되는 것이 전부라고는 할 수 없다. 즉, Non-TS 잔차 복호부(313)가, 도 17에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, Non-TS 잔차 복호부(313)가, 도 17에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 17에 도시하는 바와 같이, Non-TS 잔차 복호부(313)는, 설정부(331), 라스트 계수 위치 복호부(332) 및 서브블록 복호부(333)를 갖는다.
설정부(331)는 파라미터의 설정에 관한 처리를 행한다. 예를 들어, 설정부(331)는 ctxBinSampleRatioBase를 취득해도 된다. 또한, 설정부(331)는 TbWidth 및 TbHeight를 취득해도 된다. 또한, 설정부(331)는 sps_high_throughput_flag를 취득해도 된다.
예를 들어, sps_high_throughput_flag가 참일 경우, 설정부(331)는 상술한 방법 #1-3을 적용하고, 라스트 계수 위치의 복호 직전에 있어서, CABAC 바이패스 얼라인먼트 처리를 행해도 된다. 그 경우, 설정부(331)는, 예를 들어 상술한 방법 #1-3-1을 적용하고, 그 CABAC 바이패스 얼라인먼트 처리에 있어서, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 또한, 설정부(331)는, 상술한 방법 #1-3-2를 적용하고, 또한, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정해도 된다.
또한, sps_high_throughput_flag가 거짓일 경우, 설정부(331)는 상술한 방법 #1-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출해도 된다. 예를 들어, 설정부(331)는, 상술한 식 (1)을 사용하여 remCcbs를 도출해도 된다.
예를 들어, 설정부(331)는, 값을 설정한 remCcbs를 라스트 계수 위치 복호부(332)에 공급해도 된다. 또한, 설정부(331)는, CABAC 바이패스 얼라인먼트 처리를 행한 경우, 설정한 iVlCurrRange를 라스트 계수 위치 복호부(332)에 공급해도 된다.
라스트 계수 위치 복호부(332)는, 라스트 계수 위치의 복호에 관한 처리를 행한다. 예를 들어, 라스트 계수 위치 복호부(332)는, sps_high_throughput_flag를 취득해도 된다. 또한, 라스트 계수 위치 복호부(332)는 비트 스트림을 취득해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 설정부(331)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 설정부(331)로부터 공급되는 iVlCurrRange를 취득해도 된다.
예를 들어, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 복호해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1-1을 적용하고, sps_high_throughput_flag가 거짓일 경우, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 복호해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1-2를 적용하고, CABAC 하이 스루풋 모드인지 여부에 관계없이, 비트 스트림에 포함되는 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 복호해도 된다.
또한, 라스트 계수 위치 복호부(332)는, 비트 스트림을 복호하여 얻어진 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)에 기초하여, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})를 설정해도 된다.
예를 들어, 라스트 계수 위치 복호부(332)는, remCcbs를 서브블록 복호부(333)에 공급해도 된다. 또한, 라스트 계수 위치 복호부(332)는, iVlCurrRange를 서브블록 복호부(333)에 공급해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 라스트 계수 위치(LastSignificantCoef{X, Y})를 서브블록 복호부(333)에 공급해도 된다.
서브블록 복호부(333)는, 서브블록마다의 계수 등의 복호에 관한 처리를 행한다. 예를 들어, 서브블록 복호부(333)는 비트 스트림을 취득해도 된다. 또한, 서브블록 복호부(333)는, 라스트 계수 위치 복호부(332)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 서브블록 복호부(333)는, 라스트 계수 위치 복호부(332)로부터 공급되는 iVlCurrRange를 취득해도 된다. 또한, 서브블록 복호부(333)는, 라스트 계수 위치 복호부(332)로부터 공급되는 라스트 계수 위치(LastSignificantCoef{X, Y})를 취득해도 된다.
예를 들어, 서브블록 복호부(333)는, 라스트 계수 위치 복호부(332)로부터 공급되는 정보를 사용하여 비트 스트림을 복호하여, 서브블록마다, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 생성(복원)해도 된다. 예를 들어, 서브블록 복호부(333)는, 비트 스트림에 포함되는 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 복호해도 된다.
예를 들어, 서브블록 복호부(333)는, 이러한 복호에 의해 생성(복원)한 서브블록마다의 양자화 계수를 복호 장치(300)의 외부로 출력해도 된다.
이러한 구성으로 함으로써, 복호 장치(300)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 즉, 복호 장치(300)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 복호 장치(300)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 복호 장치(300)는, 고비트 심도·고비트 레이트의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<복호 처리의 흐름>
복호 장치(300)에 의해 실행되는 복호 처리의 흐름의 예를, 도 18의 흐름도를 참조하여 설명한다.
복호 처리가 개시되면, 복호 장치(300)는, 스텝 S201에서, 컴포넌트 식별자 cIdx에 대응하는 변환 블록의 변환 모드 정보(transform_skip_flag 등)의 부호화 데이터를 복호한다.
스텝 S202에서, 선택부(311)는, TS 잔차 부호화 모드에서 복호할지 여부를 판정한다. 예를 들어 transform_skip_flag[cIdx]가 참이고, TS 잔차 부호화 모드에서 복호하는 것으로 판정된 경우, 처리는 스텝 S203으로 진행한다.
스텝 S203에서, TS 잔차 복호부(312)는, TS 잔차 부호화 모드에서 비트 스트림을 복호하여, 양자화 계수를 생성(복원)한다. 예를 들어, TS 잔차 복호부(312)는, 비특허문헌 3에 기재된 방법과 마찬가지의 방법으로, 비트 스트림을 복호(TSRC)해도 된다. 스텝 S203의 처리가 종료되면, 복호 처리가 종료된다.
또한, 스텝 S202에서, transform_skip_flag[cIdx]가 거짓이고, Non-TS 잔차 부호화 모드에서 복호하는 것으로 판정된 경우, 처리는 스텝 S204로 진행한다.
스텝 S204에서, Non-TS 잔차 복호부(313)는, Non-TS 잔차 복호 처리를 실행함으로써, Non-TS 잔차 부호화 모드에서 비트 스트림을 복호하여, 양자화 계수를 생성(복원)한다. 예를 들어, Non-TS 잔차 복호부(313)는, 도 9 등을 참조해서 상술한 어느 것의 방법을 적용하여, 비트 스트림을 복호(RRC)해도 된다. 스텝 S204의 처리가 종료되면, 복호 처리가 종료된다.
<Non-TS 잔차 복호 처리의 흐름>
이어서, 도 18의 스텝 S204에서 실행되는 Non-TS 잔차 복호 처리의 흐름의 예를, 도 19의 흐름도를 참조하여 설명한다.
Non-TS 잔차 복호 처리가 개시되면, Non-TS 잔차 복호부(313)의 설정부(331)는, 스텝 S231에서, CABAC 하이 스루풋 모드인지 여부를 판정한다.
sps_high_throughput_flag가 참으로(즉, CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S232로 진행한다. 스텝 S232에서, 설정부(331)는, 상술한 방법 #1-3-2를 적용하고, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정한다. 이에 의해, 그 이후의 복호에 있어서 바이패스 복호가 선택된다.
스텝 S233에서, 설정부(331)는, 상술한 방법 #1-3을 적용하고, CABAC 바이패스 얼라인먼트를 실시한다. 그 때, 설정부(331)는, 상술한 방법 #1-3-1을 적용하고, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 이에 의해, 바이패스 부호화 빈의 복호가 간략화되고, 또한 복수의 바이패스 부호화 빈을 병렬 처리할 수 있다.
스텝 S234에서, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1을 적용하고, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 복호한다. 스텝 S234의 처리가 종료되면, 처리는 스텝 S237로 진행한다.
또한, 스텝 S231에서, sps_high_throughput_flag가 거짓으로(즉, 비CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S235로 진행한다. 스텝 S235에서, 설정부(331)는, 상술한 방법 #1-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출한다.
스텝 S236에서, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1-1을 적용하고, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 복호한다. 스텝 S236의 처리가 종료되면, 처리는 스텝 S237로 진행한다.
스텝 S237에서, 라스트 계수 위치 복호부(332)는, 상술한 방법 #1-2를 적용하고, 비트 스트림에 포함되는 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 복호한다.
스텝 S238에서, 라스트 계수 위치 복호부(332)는, 스텝 S234 또는 스텝 S236의 처리에 의해 얻어진 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와, 스텝 S237의 처리에 의해 얻어진 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)에 기초하여, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})를 설정한다.
스텝 S239에서, 서브블록 복호부(333)는, 비트 스트림을 복호하여, 서브블록마다, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 생성(복원)한다. 예를 들어, 서브블록 복호부(333)는, 비트 스트림에 포함되는 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 복호해도 된다. 스텝 S239의 처리가 종료되면, Non-TS 잔차 복호 처리가 종료되고, 처리는 도 18로 돌아간다.
이상과 같이 각 처리를 실행함으로써, 복호 장치(300)는 <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 즉, 복호 장치(300)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 복호 장치(300)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 복호 장치(300)는, 고비트 심도·고비트 레이트의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<4. 라스트 계수 위치의 부호화·복호의 스킵>
<방법 #2>
또한, 예를 들어 도 20에 나타내는 표의 최상단에 나타내는 바와 같이, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 부호화·복호를 스킵(생략)해도 된다(방법 #2).
예를 들어, 화상 처리 장치가, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 부호화를 스킵(생략)하는 부호화부를 구비해도 된다. 또한, 예를 들어 화상 처리 방법에 있어서, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 화상 데이터에 포함되는 라스트 계수 위치의 부호화를 스킵(생략)해도 된다.
예를 들어, 화상 처리 장치가, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 라스트 계수 위치의 복호를 스킵(생략)하는 복호부를 구비해도 된다. 또한, 예를 들어 화상 처리 방법에 있어서, 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 그 라스트 계수 위치의 복호를 스킵(생략)해도 된다.
도 21은, 이 경우의 본 기술을 적용한 경우의 부호화(복호)의 개요를 나타내는 의사 코드의 예를 도시하는 도면이다. 도 21의 예에서는, "For last significant coefficient position"에 나타나는 바와 같이, sps_high_throughput_flag가 참일(0이 아닐) 경우, last_sig_coeff_{x, y}_prefix 및 last_sig_coeff_{x, y}_suffix의 부호화·복호가 스킵(생략)된다.
이와 같이 부호화함으로써, 도 22에 도시하는 바와 같이, 비트 스트림에는, 라스트 계수 위치에 대응하는 부호화 빈이 포함되지 않는다. 도 23에 이 경우의 RRC에 관한 신택스의 예를 나타낸다. 도 23의 신택스에 있어서, 그레이의 행으로 나타내는 바와 같이, sps_high_throughput_flag가 거짓일 경우만, last_sig_coeff_{x, y}_prefix 및 last_sig_coeff_{x, y}_suffix가 전송된다. 환언하면, sps_high_throughput_flag가 참일(0이 아닐) 경우, last_sig_coeff_{x, y}_prefix 및 last_sig_coeff_{x, y}_suffix는 전송되지 않는다.
도 24에 이 경우의 시맨틱스 예를 나타낸다. 도 24에 도시하는 바와 같이, last_sig_coeff_{x, y}_prefix 및 last_sig_coeff_{x, y}_suffix가 전송되지 않는 경우, 이들 값은 0으로 추정된다.
도 3 등을 참조하여 설명한 바와 같이, 비특허문헌 3에 기재된 방법에서는, CABAC 하이 스루풋 모드가 적용되는 경우도, 라스트 계수 위치의 프리픽스부 및 서픽스부(예를 들어, ast_sig_coeff_x_prefix11 내지 last_sig_coeff_y_suffix14)가 부호화·복호되었다. 이에 반해, 방법 #1에서는, CABAC 하이 스루풋 모드가 적용되는 경우, 그 라스트 계수 위치의 부호화·복호가 스킵되기 때문에, 이들 부호화 빈이 발생하지 않는다. 따라서, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 이 경우도, 서브블록마다의 계수 등의 부호화·복호는 행해지기 때문에, 도 22의 예의 비트 스트림에서는, 서브블록마다의 부호화 빈(sb_coded_flag401-1, Coefficient bits402-1, sb_coded_flag401-2, Coefficient bits402-2, sb_coded_flag401-3, Coefficient bits402-3, sb_coded_flag401-4, Coefficient bits402-4, sb_coded_flag401-5 및 Coefficient bits402-5)이 형성된다. sb_coded_flag401-1 내지 sb_coded_flag401-5를 서로 구별하여 설명할 필요가 없을 경우, sb_coded_flag401이라고도 칭한다. 또한, Coefficient bits402-1 내지 Coefficient bits402-5를 서로 구별하여 설명할 필요가 없을 경우, Coefficient bits402라고도 칭한다.
sb_coded_flag105는, 서브블록 계수 플래그이며, 서브블록 내의 모든 계수가 0인지 여부를 나타내는 플래그 정보이다. 따라서, sb_coded_flag105는, 서브블록마다 설정된다. Coefficient bits106은, 서브블록마다의 계수 부호화 빈이다. 즉, 계수는, 서브블록(변환 블록)마다 부호화·복호된다.
비특허문헌 3에 기재된 방법의 경우와 마찬가지로, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈이 바이패스 부호화 빈으로서 부호화·복호된다. 즉, 도 21에서, "For each coefficient group"에 나타나는 바와 같이, CABAC 하이 스루풋 모드가 적용되는 경우, 각 서브블록은 바이패스 부호화·바이패스 복호된다. 즉, 도 22에서, sb_coded_flag401 및 Coefficient bits402는, 바이패스 부호화 빈에 의해 구성된다. 상술한 바와 같이, CABAC 고처리량일 경우, last_sig_coeff_{x, y}_{prefix, suffix}의 부호화·복호를 스킵함으로써, RRC의 계수 부호화 전체를 바이패스 부호화 빈으로 처리할 수 있다. 바이패스 부호화 빈은, 컨텍스트 부호화 빈에 비하면 처리량이 가볍다. 따라서, 이와 같이 컨텍스트 부호화 빈을 바이패스 부호화 빈으로 치환함으로써, 컨텍스트 부호화 빈 그대로로 부호화·복호하는 경우보다도, CABAC의 처리량을 저감시킬 수 있다.
또한, sb_coded_flag401-1의 부호화·복호는 스킵(생략)해도 된다. sb_coded_flag401-1의 부호화·복호를 스킵하는 경우, 그 값은 1로 추정된다. 또한, sb_coded_flag401-1을 부호화·복호하는 경우, 라스트 계수 위치가 포함되었을 계수 그룹에 관해서, 실제로 유의 계수가 있는지 여부를 판정하여, 유의 계수가 없을 경우, 계수 그룹의 복호를 스킵하도록 해도 된다.
<방법 #2-1>
예를 들어, 상술한 방법 #2가 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 2단째에 나타내는 바와 같이, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정해도 된다(방법 #2-1).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정해도 된다.
예를 들어, 도 24의 시맨틱스에 나타내는 바와 같이, CABAC 하이 스루풋 모드일 경우, X 방향의 라스트 계수 위치(LastSignificantCoeffX) 및 Y 방향의 라스트 계수 위치(LastSignificantCoeffY)는 각각, 이하의 식 2 및 식 3과 같이 설정되어도 된다.
LastSignificantCoeffX=(1<<log2TbWidth)-1 … (2)
LastSignificantCoeffY=(1<<log2TbHeight)-1 … (3)
고비트 레이트의 부호화 대상의 경우, 라스트 계수 위치는, 변환 블록의 우측 하단에 집중된다. 그래서 라스트 계수 위치를 변환 블록의 우측 하단이라고 가정함으로써, 부호화 효율에 대한 영향을 억제하면서 라스트 계수의 부호화에 요하는 빈수를 삭감할 수 있다. 환언하면, 라스트 계수 위치를 변환 블록의 우측 하단에 고정함으로써, 라스트 계수 위치의 부호화·복호를 스킵할 수 있다.
<방법 #2-2>
예를 들어, 상술한 방법 #2가 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 3단째에 나타내는 바와 같이, 비CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 부호화·복호를 행해도 된다(방법 #2-2).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 프리픽스부 및 서픽스부를 부호화해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 프리픽스부 및 서픽스부를 복호해도 된다.
도 23의 신택스에 있어서, 그레이의 행으로 나타내는 바와 같이, sps_high_throughput_flag가 거짓일 경우만, last_sig_coeff_{x, y}_prefix 및 last_sig_coeff_{x, y}_suffix가 전송된다. 환언하면, 하이 스루풋 모드가 아닐 경우, 라스트 계수 위치의 프리픽스부 및 서픽스부가 부호화·복호된다. 이와 같이 함으로써, 하이 스루풋 모드일 경우만, 라스트 계수 위치의 부호화·복호를 스킵할 수 있다.
<방법 #2-2-1>
예를 들어, 상술한 방법 #2-2가 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 4단째에 나타내는 바와 같이, (비CABAC 하이 스루풋 모드일 경우) 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화·컨텍스트 복호하고, 라스트 계수 위치의 서픽스부를 바이패스 부호화·바이패스 복호해도 된다(방법 #2-2-1).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 부호화하고, 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 부호화해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 복호하고, 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 복호해도 된다.
도 21의 의사 코드에 나타나는 바와 같이, 비CABAC 하이 스루풋 모드일 경우(sps_high_throughput_flag==0), 라스트 계수 위치의 프리픽스부가 컨텍스트 부호화 빈으로서 부호화·복호되고(context_coding of last_sig_coeff_{x, y}_prefix), 라스트 계수 위치의 서픽스부가 바이패스 부호화 빈으로서 부호화·복호된다(bypass_coding of last_sig_coeff_{x, y}_suffix).
이와 같이, 라스트 계수 위치의 서픽스부가 바이패스 부호화 빈으로서 부호화·복호함으로써, 컨텍스트 부호화 빈 그대로로 부호화·복호하는 경우보다도, CABAC의 처리량을 저감시킬 수 있다.
<방법 #2-3>
예를 들어, 상술한 방법 #2가 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 5단째에 나타내는 바와 같이, CABAC 하이 스루풋 모드일 경우, 최초의 서브블록 계수 플래그의 부호화·복호 직전에, CABAC 바이패스 얼라인먼트 처리를 행해도 된다(방법 #2-3).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드일 경우, 화상 데이터에 포함되는 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드일 경우, 부호화 데이터에 포함되는 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 복호 프로세스의 얼라인먼트 처리를 행해도 된다.
도 21의 예에서는, "For each coefficient group" 앞의 "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 참일(0이 아닐) 경우, CABAC 바이패스 얼라인먼트가 실행된다(CABAC bypass alig㎚ent). 즉, CABAC 하이 스루풋 모드일 경우, 도 22에 도시하는 바와 같이, sb_coded_flag401-1의 처리 직전에 있어서, CABAC 바이패스 얼라인먼트 처리가 행해진다(Align). CABAC 바이패스 얼라인먼트는, CABAC의 프로세스를 조정하는 처리이다. 이 처리를 행함으로써, 복수의 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있게 된다. 즉, 최초의 서브블록 계수 플래그의 부호화·복호 직전에, CABAC 바이패스 얼라인먼트 처리를 행함으로써, 서브블록마다의 계수 등에 대응하는 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있다. 또한, 상술한 바와 같이, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치의 부호화·복호가 생략되므로, 이 CABAC 바이패스 얼라인먼트에 의해, 실질적으로 모든 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있다. 따라서, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
또한, 이 경우도 본 기술은, CABAC 이외의 부호화·복호에도 적용할 수 있다. 따라서, 이 경우의 CABAC 바이패스 얼라인먼트도 CABAC에 한정되지 않는다. 즉, 이 처리는, 간단히 부호화 프로세스(또는 복호 프로세스)를 조정하는 처리(얼라인먼트 처리)로 해도 된다.
<방법 #2-3-1>
예를 들어, 상술한 방법 #2-3이 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 6단째에 나타내는 바와 같이, CABAC 바이패스 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 파라미터 iVlCurrRange를 256으로 설정해도 된다(방법 #2-3-1).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정해도 된다.
상술한 바와 같이 CABAC 하이 스루풋 모드일 경우 라스트 계수 위치의 부호화·복호가 생략되므로, 최초의 서브블록 계수 플래그의 부호화·복호 직전에 이 설정이 행해짐으로써, 계수 부호화 전체의 바이패스 부호화 빈을 간단하게 병렬로 처리할 수 있다. 따라서, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
<방법 #2-3-2>
예를 들어, 상술한 방법 #2-3이 적용되는 경우에 있어서, 도 20에 나타내는 표의 위에서부터 7단째에 나타내는 바와 같이, CABAC 바이패스 얼라인먼트 처리를 행할 때, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다(방법 #2-3-2).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정해도 된다.
도 21의 예에서는, "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 참일(0이 아닐) 경우, 파라미터 remCcbs(도 21에서는 remBinPass1)가 0으로 설정된다(remBinPass1=0). 즉, CABAC 하이 스루풋 모드일 경우, 컨텍스트 부호화 빈수의 발생량을 나타내는 파라미터 remCcbs가 0으로 설정된다. 즉, 바이패스 부호화가 선택된다.
상술한 바와 같이 CABAC 하이 스루풋 모드일 경우 라스트 계수 위치의 부호화·복호가 생략되므로, 최초의 서브블록 계수 플래그의 부호화·복호 직전에 이 설정이 행해짐으로써, 계수 부호화 전체의 바이패스 부호화 빈을 바이패스 부호화 빈으로서 처리할 수 있다. 따라서, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다.
<방법 #2-3-3>
예를 들어, 상술한 방법 #2-3이 적용되는 경우에 있어서, 도 20에 나타내는 표의 최하단에 나타내는 바와 같이, 비CABAC 하이 스루풋 모드일 경우, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다(방법 #2-3-3).
예를 들어, 화상 처리 장치에 있어서, 부호화부가, 하이 스루풋 모드가 아닐 경우, 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다. 또한, 화상 처리 장치에 있어서, 복호부가, 하이 스루풋 모드가 아닐 경우, 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출해도 된다.
도 21의 예에서는, "For remBinsPass1 and alig㎚ent"에 있어서, sps_high_throughput_flag가 거짓일 경우(sps_high_throughput_flag==0), CABAC 바이패스 얼라인먼트가 실행되지 않는다. 또한, 파라미터 ctxBinSampleRatioBase, 파라미터 TbWidth 및 파라미터 TbHeight에 기초하여, 파라미터 remCcbs(도 21에서는 remBinPass1)가 도출된다(remBinsPass1=((1<<(log2TbWidth+log2TbHeight))*7)>>2). 도 21의 예에서는, 파라미터 ctxBinSampleRatioBase는 7로 설정되어 있다. 즉, 상술한 식 (1)에 의해, 파라미터 remCcbs가 도출된다.
이와 같이 함으로써, 하이 스루풋 모드가 아닐 경우에, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화 빈으로서 처리할 수 있다.
<부호화 장치>
이 경우도, 본 기술은, 부호화 장치(200)(도 12)에 적용할 수 있다. 이 경우, Non-TS 잔차 부호화부(213)는, 도 20 등을 참조해서 상술한 어느 것의 방법을 적용하여, 양자화 계수를 부호화(RRC)해도 된다.
<Non-TS 잔차 부호화부>
도 25는, 이 경우의 Non-TS 잔차 부호화부(213)의 주된 구성예를 도시하는 블록도이다. 또한, 도 25에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 25에 도시되는 것이 전부라고는 할 수 없다. 즉, Non-TS 잔차 부호화부(213)가, 도 25에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, Non-TS 잔차 부호화부(213)가, 도 25에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 25에 도시하는 바와 같이, 이 경우도, Non-TS 잔차 부호화부(213)는, 설정부(231), 라스트 계수 위치 부호화부(232) 및 서브블록 부호화부(233)를 갖는다.
설정부(231)는 파라미터의 설정에 관한 처리를 행한다. 예를 들어, 설정부(231)는, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)을 취득해도 된다. 또한, 설정부(231)는 변환 블록 사이즈(TbWidth 및 TbHeight)를 취득해도 된다. 또한, 설정부(231)는, CABAC 하이 스루풋 모드가 적용되는지 여부를 나타내는 플래그 정보(sps_high_throughput_flag)를 취득해도 된다.
예를 들어, sps_high_throughput_flag가 참일 경우, 설정부(231)는 상술한 방법 #2-3을 적용하고, 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, CABAC 바이패스 얼라인먼트 처리를 행해도 된다. 그 경우, 설정부(231)는, 예를 들어 상술한 방법 #2-3-1을 적용하고, 그 CABAC 바이패스 얼라인먼트 처리에 있어서, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 또한, 설정부(231)는, 상술한 방법 #2-3-2를 적용하고, 또한, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정해도 된다.
또한, sps_high_throughput_flag가 거짓일 경우, 설정부(231)는, 상술한 방법 #2-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출해도 된다. 예를 들어, 설정부(231)는, 상술한 식 (1)을 사용하여 remCcbs를 도출해도 된다.
예를 들어, 설정부(231)는, 값을 설정한 remCcbs를 라스트 계수 위치 부호화부(232)에 공급해도 된다. 또한, 설정부(231)는, CABAC 바이패스 얼라인먼트 처리를 행한 경우, 설정한 iVlCurrRange를 라스트 계수 위치 부호화부(232)에 공급해도 된다.
라스트 계수 위치 부호화부(232)는 라스트 계수 위치의 부호화에 관한 처리를 행한다. 예를 들어, 라스트 계수 위치 부호화부(232)는, sps_high_throughput_flag를 취득해도 된다. 또한, 라스트 계수 위치 부호화부(232)는 양자화 계수를 취득해도 된다.
예를 들어, 라스트 계수 위치 부호화부(232)는, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})에 기초하여, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 설정해도 된다. 예를 들어, CABAC 하이 스루풋 모드일 경우, 라스트 계수 위치 부호화부(232)는, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 각각 0으로 설정해도 된다.
또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2를 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 부호화를 스킵(생략)해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-1을 적용하고, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-2를 적용하고, sps_high_throughput_flag가 거짓일 경우, 라스트 계수 위치를 부호화해도 된다. 그 부호화에 있어서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-2-1을 적용하고, 라스트 계수 위치의 프리픽스부를 컨텍스트 부호화하고, 라스트 계수 위치의 서픽스부를 바이패스 부호화해도 된다.
예를 들어, 라스트 계수 위치 부호화부(232)는, 라스트 계수 위치를 부호화한 경우, 생성한 라스트 계수 위치의 프리픽스부에 대응하는 부호화 빈 및 서픽스부에 대응하는 부호화 빈을 비트 스트림으로서 부호화 장치(200)의 외부로 출력해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, remCcbs를 서브블록 부호화부(233)에 공급해도 된다. 또한, 라스트 계수 위치 부호화부(232)는, 라스트 계수 위치(LastSignificantCoef{X, Y})를 서브블록 부호화부(233)에 공급해도 된다.
서브블록 부호화부(233)는, 서브블록마다의 계수 등의 부호화에 관한 처리를 행한다. 예를 들어, 서브블록 부호화부(233)는 양자화 계수를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 설정부(231)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 설정부(231)로부터 공급되는 iVlCurrRange를 취득해도 된다. 또한, 서브블록 부호화부(233)는, 라스트 계수 위치 부호화부(232)로부터 공급되는 라스트 계수 위치(LastSignificantCoef{X, Y})를 취득해도 된다.
예를 들어, 서브블록 부호화부(233)는, 설정부(231)나 라스트 계수 위치 부호화부(232)로부터 공급되는 정보를 사용하여, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를, 서브블록마다 부호화해도 된다. 예를 들어, 서브블록 부호화부(233)는, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 부호화해도 된다.
예를 들어, 서브블록 부호화부(233)는, 이러한 부호화에 의해 생성한 서브블록마다의 바이패스 부호화 빈군(서브블록 계수 플래그(sb_coded_flag)나 양자화 계수의 바이패스 부호화 빈)을 비트 스트림으로서 부호화 장치(200)의 외부로 출력해도 된다.
이러한 구성으로 함으로써, 부호화 장치(200)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 즉, 부호화 장치(200)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 부호화 장치(200)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 부호화 장치(200)는, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<부호화 처리의 흐름>
이 경우도, 부호화 장치(200)에 의해 실행되는 부호화 처리는, 도 14의 흐름도를 참조한 경우와 마찬가지의 흐름으로 실행된다.
<Non-TS 잔차 부호화 처리의 흐름>
이어서, 이 경우의 Non-TS 잔차 부호화 처리(이 경우의 부호화 처리의 스텝 S104(도 14)에서 실행되는 처리)의 흐름의 예를, 도 26의 흐름도를 참조하여 설명한다.
Non-TS 잔차 부호화 처리가 개시되면, Non-TS 잔차 부호화부(213)의 설정부(231)는, 스텝 S301에서, CABAC 하이 스루풋 모드인지 여부를 판정한다.
sps_high_throughput_flag가 참으로(즉, CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S302로 진행한다. 스텝 S302에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-1을 적용하고, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정한다.
스텝 S303에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2를 적용하고, 라스트 계수 위치의 부호화를 스킵(생략)한다. 또한, 라스트 계수 위치 부호화부(232)는, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 각각 0으로 설정한다.
스텝 S304에서, 설정부(231)는, 상술한 방법 #2-3-2를 적용하고, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정한다. 이에 의해, 그 이후의 부호화에 있어서 바이패스 부호화가 선택된다.
스텝 S305에서, 설정부(231)는, 상술한 방법 #2-3을 적용하고, CABAC 바이패스 얼라인먼트를 실시한다. 그 때, 설정부(231)는, 상술한 방법 #2-3-1을 적용하고, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 이에 의해, 바이패스 부호화 빈의 부호화가 간략화되고, 또한 복수의 바이패스 부호화 빈을 병렬 처리할 수 있다. 스텝 S305의 처리가 종료되면 처리는 스텝 S310으로 진행한다.
또한, 스텝 S301에서, sps_high_throughput_flag가 거짓으로(즉, 비CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S306으로 진행한다. 스텝 S306에서, 라스트 계수 위치 부호화부(232)는, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})에 기초하여, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)를 설정한다.
스텝 S307 및 스텝 S308에서, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-2를 적용하고, 라스트 계수 위치의 프리픽스부 및 서픽스부를 부호화한다. 예를 들어, 라스트 계수 위치 부호화부(232)는, 상술한 방법 #2-2-1을 적용하고, 스텝 S307에서, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 부호화하고, 스텝 S308에서, 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 부호화한다.
스텝 S309에서, 설정부(231)는, 상술한 방법 #2-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출한다. 스텝 S309의 처리가 종료되면 처리는 스텝 S310으로 진행한다.
스텝 S310에서, 서브블록 부호화부(233)는, 서브블록마다 계수 등을 부호화한다. 스텝 S310의 처리가 종료되면, Non-TS 잔차 부호화 처리가 종료되고, 처리는 도 14로 돌아간다.
이상과 같이 각 처리를 실행함으로써, 부호화 장치(200)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 즉, 부호화 장치(200)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 부호화 장치(200)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 부호화 장치(200)는, 고비트 심도·고비트 레이트의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<복호 장치>
이 경우도, 본 기술은, 복호 장치(300)(도 16)에 적용할 수 있다. 이 경우, Non-TS 잔차 복호부(313)는, 도 20 등을 참조해서 상술한 어느 것의 방법을 적용하여, 비트 스트림을 복호(RRC)해도 된다.
<Non-TS 잔차 복호부>
도 27은, 이 경우의 Non-TS 잔차 복호부(313)의 주된 구성예를 도시하는 블록도이다. 또한, 도 27에서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 27에 도시되는 것이 전부라고는 할 수 없다. 즉, Non-TS 잔차 복호부(313)가, 도 27에서 블록으로서 나타나지 않은 처리부를 가져도 된다. 또한, Non-TS 잔차 복호부(313)가, 도 27에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 가져도 된다.
도 27에 도시하는 바와 같이, 이 경우도, Non-TS 잔차 복호부(313)는, 설정부(331), 라스트 계수 위치 복호부(332) 및 서브블록 복호부(333)를 갖는다.
설정부(331)는 파라미터의 설정에 관한 처리를 행한다. 예를 들어, 설정부(331)는 ctxBinSampleRatioBase를 취득해도 된다. 또한, 설정부(331)는, TbWidth 및 TbHeight를 취득해도 된다. 또한, 설정부(331)는 sps_high_throughput_flag를 취득해도 된다.
예를 들어, sps_high_throughput_flag가 참일 경우, 설정부(331)는, 상술한 방법 #2-3을 적용하고, 최초의 서브블록 계수 플래그의 복호 직전에 있어서, CABAC 바이패스 얼라인먼트 처리를 행해도 된다. 그 경우, 설정부(331)는, 예를 들어 상술한 방법 #2-3-1을 적용하고, 그 CABAC 바이패스 얼라인먼트 처리에 있어서, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 또한, 설정부(331)는, 상술한 방법 #2-3-2를 적용하고, 또한, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정해도 된다.
또한, sps_high_throughput_flag가 거짓일 경우, 설정부(331)는, 상술한 방법 #2-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출해도 된다. 예를 들어, 설정부(331)는, 상술한 식 (1)을 사용하여 remCcbs를 도출해도 된다.
예를 들어, 설정부(331)는, 값을 설정한 remCcbs를 서브블록 복호부(333)에 공급해도 된다. 또한, 설정부(331)는, CABAC 바이패스 얼라인먼트 처리를 행한 경우, 설정한 iVlCurrRange를 서브블록 복호부(333)에 공급해도 된다.
라스트 계수 위치 복호부(332)는, 라스트 계수 위치의 복호에 관한 처리를 행한다. 예를 들어, 라스트 계수 위치 복호부(332)는, sps_high_throughput_flag를 취득해도 된다. 또한, 라스트 계수 위치 복호부(332)는 비트 스트림을 취득해도 된다.
예를 들어, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2를 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 복호를 스킵해도 된다. 그리고, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-1을 적용하고, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정해도 된다. 또한, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-2를 적용하고, sps_high_throughput_flag가 거짓일 경우, 비트 스트림에 포함되는 라스트 계수 위치(의 프리픽스부에 대응하는 부호화 빈 및 서픽스부에 대응하는 부호화 빈)를 복호해도 된다. 예를 들어, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-2-1을 적용하고, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 복호하고, 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 복호해도 된다.
또한, 라스트 계수 위치 복호부(332)는, sps_high_throughput_flag가 거짓일 경우, 비트 스트림을 복호하여 얻어진 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와 서픽스부(last_sig_coeff_{x, y}_suffix)에 기초하여, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})를 설정해도 된다.
예를 들어, 라스트 계수 위치 복호부(332)는, 라스트 계수 위치(LastSignificantCoef{X, Y})를 서브블록 복호부(333)에 공급해도 된다.
서브블록 복호부(333)는, 서브블록마다의 계수 등의 복호에 관한 처리를 행한다. 예를 들어, 서브블록 복호부(333)는 비트 스트림을 취득해도 된다. 또한, 서브블록 복호부(333)는, 설정부(331)로부터 공급되는 remCcbs를 취득해도 된다. 또한, 서브블록 복호부(333)는, 설정부(331)로부터 공급되는 iVlCurrRange를 취득해도 된다. 또한, 서브블록 복호부(333)는, 라스트 계수 위치 복호부(332)로부터 공급되는 라스트 계수 위치(LastSignificantCoef{X, Y})를 취득해도 된다.
예를 들어, 서브블록 복호부(333)는, 설정부(331) 및 라스트 계수 위치 복호부(332)로부터 공급되는 정보를 사용하여 비트 스트림을 복호하여, 서브블록마다, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 생성(복원)해도 된다. 예를 들어, 서브블록 복호부(333)는, 비트 스트림에 포함되는 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 복호해도 된다.
예를 들어, 서브블록 복호부(333)는, 이러한 복호에 의해 생성(복원)한 서브블록마다의 양자화 계수를 복호 장치(300)의 외부로 출력해도 된다.
이러한 구성으로 함으로써, 복호 장치(300)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 즉, 복호 장치(300)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 복호 장치(300)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 복호 장치(300)는, 고비트 심도·고비트 레이트의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<복호 처리의 흐름>
이 경우도, 복호 장치(300)에 의해 실행되는 복호 처리는, 도 18의 흐름도를 참조한 경우와 마찬가지의 흐름으로 실행된다.
<Non-TS 잔차 복호 처리의 흐름>
이어서, 이 경우의 Non-TS 잔차 복호 처리(이 경우의 복호 처리의 스텝 S204(도 18)에서 실행되는 처리)의 흐름의 예를, 도 28의 흐름도를 참조하여 설명한다.
Non-TS 잔차 복호 처리가 개시되면, Non-TS 잔차 복호부(313)의 라스트 계수 위치 복호부(332)는, 스텝 S331에서, CABAC 하이 스루풋 모드인지 여부를 판정한다.
sps_high_throughput_flag가 참으로(즉, CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S332로 진행한다. 스텝 S332에서, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2를 적용하고, 라스트 계수 위치의 복호를 스킵(생략)한다. 이에 의해, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있다. 또한, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-1을 적용하고, 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정한다. 이에 의해, 부호화 효율에 대한 영향을 억제하면서 라스트 계수의 부호화에 요하는 빈수를 삭감할 수 있다.
스텝 S333에서, 설정부(331)는, 상술한 방법 #2-3-2를 적용하고, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 0으로 설정한다. 이에 의해, 그 이후의 복호에 있어서 바이패스 복호가 선택된다.
스텝 S334에서, 설정부(331)는, 상술한 방법 #2-3을 적용하고, CABAC 바이패스 얼라인먼트를 실시한다. 그 때, 설정부(331)는, 상술한 방법 #2-3-1을 적용하고, 파라미터 iVlCurrRange를 256으로 설정해도 된다. 이에 의해, 바이패스 부호화 빈의 복호가 간략화되고, 또한 복수의 바이패스 부호화 빈을 병렬 처리할 수 있다. 스텝 S334의 처리가 종료되면, 처리는 스텝 S339로 진행한다.
또한, 스텝 S331에서, sps_high_throughput_flag가 거짓으로(즉, 비CABAC 하이 스루풋 모드로) 판정된 경우, 처리는 스텝 S335로 진행한다. 스텝 S335 및 스텝 S336에서, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-2를 적용하고, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부 및 서픽스부를 복호한다. 예를 들어, 라스트 계수 위치 복호부(332)는, 상술한 방법 #2-2-1을 적용하고, 스텝 S335에서, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 컨텍스트 부호화 빈으로서 복호하고, 스텝 S336에서, 비트 스트림에 포함되는 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)를 바이패스 부호 빈으로서 복호한다.
스텝 S337에서, 라스트 계수 위치 복호부(332)는, 스텝 S335의 처리에 의해 얻어진 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)와, 스텝 S336의 처리에 의해 얻어진 라스트 계수 위치의 서픽스부(last_sig_coeff_{x, y}_suffix)에 기초하여, X 방향 및 Y 방향의 라스트 계수 위치(LastSignificantCoef{X, Y})를 설정한다.
스텝 S338에서, 설정부(331)는, 상술한 방법 #2-3-3을 적용하고, 컨텍스트 부호화 빈수의 기준값(ctxBinSampleRatioBase)과 변환 블록 사이즈(TbWidth, TbHeight)에 기초하여, 컨텍스트 부호화 빈수의 발생량(remCcbs)을 도출한다. 스텝 S338의 처리가 종료되면, 처리는 스텝 S339로 진행한다.
스텝 S339에서, 서브블록 복호부(333)는, 비트 스트림을 복호하여, 서브블록마다, 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 생성(복원)한다. 예를 들어, 서브블록 복호부(333)는, 비트 스트림에 포함되는 서브블록 계수 플래그(sb_coded_flag)나 양자화 계수를 바이패스 부호화 빈으로서 복호해도 된다. 스텝 S339의 처리가 종료되면, Non-TS 잔차 복호 처리가 종료되고, 처리는 도 18로 돌아간다.
이상과 같이 각 처리를 실행함으로써, 복호 장치(300)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 즉, 복호 장치(300)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 복호 장치(300)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 복호 장치(300)는, 고비트 심도·고비트 레이트의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<5. 실시 형태(화상 부호화 장치)>
<화상 부호화 장치>
이상으로 설명한 본 기술은 임의의 구성에 적용할 수 있다. 예를 들어, 이 본 기술은, 화상 부호화 장치에 적용할 수 있다. 도 29는, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 29에 도시되는 화상 부호화 장치(500)는, 동화상의 화상 데이터를 부호화하는 장치이다. 예를 들어, 화상 부호화 장치(500)는, 상술한 비특허문헌의 어느 것에 기재된 부호화 방식으로 동화상의 화상 데이터를 부호화할 수 있다.
또한, 도 29에서는, 처리부(블록)나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 29에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 부호화 장치(500)가, 도 29에서 블록으로서 나타나지 않은 처리부를 갖고 있어도 된다. 또한, 화상 부호화 장치(500)가, 도 29에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 갖고 있어도 된다.
도 29에 도시하는 바와 같이 화상 부호화 장치(500)는, 제어부(501), 재배열 버퍼(511), 연산부(512), 직교 변환부(513), 양자화부(514), 부호화부(515), 축적 버퍼(516), 역양자화부(517), 역직교 변환부(518), 연산부(519), 인루프 필터부(520), 프레임 메모리(521), 예측부(522) 및 레이트 제어부(523)를 갖는다.
<제어부>
제어부(501)는, 외부 또는 미리 지정된 처리 단위의 블록 사이즈에 기초하여, 재배열 버퍼(511)에 의해 보유되어 있는 동화상 데이터를 처리 단위의 블록(CU, PU, 변환 블록 등)으로 분할한다. 또한, 제어부(501)는, 각 블록에 공급하는 부호화 파라미터(헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등)를 예를 들어 RDO(Rate-Distortion Optimization)에 기초하여 결정한다.
이들 부호화 파라미터의 상세에 대해서는 후술한다. 제어부(501)는, 이상과 같은 부호화 파라미터를 결정하면, 그것을 각 블록에 공급한다. 구체적으로는 이하와 같다.
헤더 정보(Hinfo)는, 각 블록에 공급된다. 예측 모드 정보(Pinfo)는, 부호화부(515)와 예측부(522)에 공급된다. 변환 정보(Tinfo)는, 부호화부(515), 직교 변환부(513), 양자화부(514), 역양자화부(517) 및 역직교 변환부(518)에 공급된다. 필터 정보(Finfo)는, 인루프 필터부(520)에 공급된다.
<재배열 버퍼>
화상 부호화 장치(500)에는, 동화상 데이터의 각 필드(입력 화상)가 그 재생순(표시순)으로 입력된다. 재배열 버퍼(511)는, 각 입력 화상을 그 재생순(표시순)으로 취득하여, 보유(기억)한다. 재배열 버퍼(511)는, 제어부(501)의 제어에 기초하여, 그 입력 화상을 부호화순(복호순)으로 재배열하거나, 처리 단위의 블록으로 분할하거나 한다. 재배열 버퍼(511)는, 처리 후의 각 입력 화상을 연산부(512)에 공급한다. 또한, 재배열 버퍼(511)는, 그 각 입력 화상(원화상)을 예측부(522)나 인루프 필터부(520)에도 공급한다.
<연산부>
연산부(512)는, 처리 단위의 블록에 대응하는 화상(I) 및 예측부(522)로부터 공급되는 예측 화상(P)을 입력으로 해서, 화상(I)으로부터 예측 화상(P)을 이하의 식에 나타내는 바와 같이 감산하여, 예측 잔차(D)를 도출하고, 그것을 직교 변환부(513)에 공급한다.
D=I-P
<직교 변환부>
직교 변환부(513)는, 연산부(512)로부터 공급되는 예측 잔차(D)와, 제어부(501)로부터 공급되는 변환 정보(Tinfo)를 입력으로 하고, 그 변환 정보(Tinfo)에 기초하여, 예측 잔차(D)에 대하여 직교 변환을 행하여, 변환 계수(Coeff)를 도출한다. 예를 들어, 직교 변환부(513)는, 예측 잔차(D)에 대하여 프라이머리 변환을 행하여 프라이머리 변환 계수를 생성하고, ST 식별자에 기초하여, 그 프라이머리 변환 계수에 대하여 세컨더리 변환을 행하여, 세컨더리 변환 계수를 생성한다. 직교 변환부(513)는, 그 얻어진 세컨더리 변환 계수를 변환 계수(Coeff)로서 양자화부(514)에 공급한다. 또한, 직교 변환부(513)는, 직교 변환에 한하지 않고, 임의의 계수 변환을 행할 수 있다. 즉, 변환 계수(Coeff)는, 예측 잔차(D)에 대하여 임의의 계수 변환이 행해져서 도출되어도 된다. 따라서, 직교 변환부(513)는 계수 변환부라고도 할 수 있다.
<양자화부>
양자화부(514)는, 직교 변환부(513)로부터 공급되는 변환 계수(Coeff)와, 제어부(501)로부터 공급되는 변환 정보(Tinfo)를 입력으로 해서, 그 변환 정보(Tinfo)에 기초하여, 변환 계수(Coeff)를 스케일링(양자화)한다. 또한, 이 양자화의 레이트는, 레이트 제어부(523)에 의해 제어된다. 양자화부(514)는, 이와 같이 양자화된 변환 계수의 레벨값인 양자화 계수(qcoeff)를, 부호화부(515) 및 역양자화부(517)에 공급한다.
<부호화부>
부호화부(515)는, 양자화부(514)로부터 공급된 양자화 계수(qcoeff)와, 제어부(501)로부터 공급되는 각종 부호화 파라미터(헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등)와, 인루프 필터부(520)로부터 공급되는 필터 계수 등의 필터에 관한 정보와, 예측부(522)로부터 공급되는 최적의 예측 모드에 관한 정보를 입력으로 한다. 부호화부(515)는, 양자화 계수(qcoeff)를 가변 길이 부호화(예를 들어, 산술 부호화)하여, 비트 열(부호화 데이터)을 생성한다.
또한, 부호화부(515)는, 인루프 필터부(520)로부터 공급되는 필터에 관한 정보를 필터 정보(Finfo)에 포함시키고, 예측부(522)로부터 공급되는 최적의 예측 모드에 관한 정보를 예측 모드 정보(Pinfo)에 포함한다. 그리고, 부호화부(515)는, 상술한 각종 부호화 파라미터(헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등)를 부호화하여, 비트 열을 생성한다.
또한, 부호화부(515)는, 이상과 같이 생성된 각종 정보의 비트 열(부호화 데이터)을 다중화하여, 부호화 데이터의 비트 스트림을 생성한다. 부호화부(515)는, 그 비트 스트림을 축적 버퍼(516)에 공급한다.
<축적 버퍼>
축적 버퍼(516)는, 부호화부(515)에서 얻어진 부호화 데이터의 비트 스트림을 일시적으로 보유한다. 축적 버퍼(516)는, 소정의 타이밍에 있어서, 보유하고 있는 부호화 데이터의 비트 스트림을 화상 부호화 장치(500)의 외부로 출력한다. 예를 들어, 이 비트 스트림은, 임의의 기록 매체, 임의의 전송 매체, 임의의 정보 처리 장치 등을 통해서 복호측에 전송된다. 즉, 축적 버퍼(516)는 비트 스트림(부호화 데이터)을 전송하는 전송부이기도 하다.
<역양자화부>
역양자화부(517)는 역양자화에 관한 처리를 행한다. 예를 들어, 역양자화부(517)는, 양자화부(514)로부터 공급되는 양자화 계수(qcoeff)와, 제어부(501)로부터 공급되는 변환 정보(Tinfo)를 입력으로 해서, 그 변환 정보(Tinfo)에 기초하여, 양자화 계수(qcoeff)의 값을 스케일링(역양자화)한다. 또한, 이 역양자화는, 양자화부(514)에서 행해지는 양자화의 역처리이다. 역양자화부(517)는, 이러한 역양자화에 의해 얻어진 변환 계수(Coeff_IQ)를, 역직교 변환부(518)에 공급한다.
<역직교 변환부>
역직교 변환부(518)는 역직교 변환에 관한 처리를 행한다. 예를 들어, 역직교 변환부(518)는, 역양자화부(517)로부터 공급되는 변환 계수(Coeff_IQ)와, 제어부(501)로부터 공급되는 변환 정보(Tinfo)를 입력으로 하고, 그 변환 정보(Tinfo)에 기초하여, 변환 계수(Coeff_IQ)에 대하여 역직교 변환을 행하여, 예측 잔차(D')를 도출한다. 이 역직교 변환은, 직교 변환부(513)에서 행해지는 직교 변환의 역처리이다. 역직교 변환부(518)는, 이러한 역직교 변환에 의해 얻어진 예측 잔차(D')를 연산부(519)에 공급한다.
환언하면, 역직교 변환부(518)는, 직교 변환부(513)가 실행하는 처리의 역처리를 실행한다. 즉, 직교 변환부(513)의 경우와 마찬가지로, 역직교 변환부(518)는, 역직교 변환에 한하지 않고 임의의 역계수 변환을 행할 수 있다. 이 역계수 변환은, 직교 변환부(513)가 실행하는 계수 변환의 역처리이다. 즉, 예측 잔차(D')는, 변환 계수(Coeff_IQ)에 대하여 임의의 역계수 변환이 행해져서 도출되어도 된다. 따라서, 역직교 변환부(518)는 역계수 변환부라고도 할 수 있다.
<연산부>
연산부(519)는, 역직교 변환부(518)로부터 공급되는 예측 잔차(D')와, 예측부(522)로부터 공급되는 예측 화상(P)을 입력으로 한다. 연산부(519)는, 그 예측 잔차(D')와, 그 예측 잔차(D')에 대응하는 예측 화상(P)을 가산하여, 국소 복호 화상(Rlocal)을 도출한다. 연산부(519)는, 도출한 국소 복호 화상(Rlocal)을 인루프 필터부(520) 및 프레임 메모리(521)에 공급한다.
<인루프 필터부>
인루프 필터부(520)는, 인루프 필터 처리에 관한 처리를 행한다. 예를 들어, 인루프 필터부(520)는, 연산부(519)로부터 공급되는 국소 복호 화상(Rlocal)과, 제어부(501)로부터 공급되는 필터 정보(Finfo)와, 재배열 버퍼(511)로부터 공급되는 입력 화상(원화상)을 입력으로 한다. 또한, 인루프 필터부(520)에 입력되는 정보는 임의이어서, 이들 정보 이외의 정보가 입력되어도 된다. 예를 들어, 필요에 따라, 예측 모드, 움직임 정보, 부호량 목표값, 양자화 파라미터(QP), 픽처 타입, 블록(CU, CTU 등)의 정보 등이 인루프 필터부(520)에 입력되도록 해도 된다.
인루프 필터부(520)는, 그 필터 정보(Finfo)에 기초하여, 국소 복호 화상(Rlocal)에 대하여 적절히 필터 처리를 행한다. 인루프 필터부(520)는, 필요에 따라 입력 화상(원화상)이나, 기타 입력 정보도 그 필터 처리에 사용한다.
예를 들어, 인루프 필터부(520)는, 양방향 필터, 디블로킹 필터(DBF(DeBlocking Filter)), 적응 오프셋 필터(SAO(Sample Adaptive Offset)) 및 적응 루프 필터(ALF(Adaptive Loop Filter))의 4개의 인루프 필터를 이 순으로 적용한다. 또한, 어느 필터를 적용할지, 어떤 순으로 적용할지는 임의이어서, 적절히 선택 가능하다.
물론, 인루프 필터부(520)가 행하는 필터 처리는 임의이어서, 상술한 예에 한정되지 않는다. 예를 들어, 인루프 필터부(520)가 비너스 필터 등을 적용하도록 해도 된다.
인루프 필터부(520)는, 필터 처리된 국소 복호 화상(Rlocal)을 프레임 메모리(521)에 공급한다. 또한, 예를 들어 필터 계수 등의 필터에 관한 정보를 복호측에 전송하는 경우, 인루프 필터부(520)는, 그 필터에 관한 정보를 부호화부(515)에 공급한다.
<프레임 메모리>
프레임 메모리(521)는, 화상에 관한 데이터의 기억에 관한 처리를 행한다. 예를 들어, 프레임 메모리(521)는, 연산부(519)로부터 공급되는 국소 복호 화상(Rlocal)이나, 인루프 필터부(520)로부터 공급되는 필터 처리된 국소 복호 화상(Rlocal)을 입력으로 해서, 그것을 보유(기억)한다. 또한, 프레임 메모리(521)는, 그 국소 복호 화상(Rlocal)을 사용하여 픽처 단위마다의 복호 화상(R)을 재구축하여, 보유한다(프레임 메모리(521) 내의 버퍼에 저장한다). 프레임 메모리(521)는, 예측부(522)의 요구에 따라, 그 복호 화상(R)(또는 그 일부)을 예측부(522)에 공급한다.
<예측부>
예측부(522)는 예측 화상의 생성에 관한 처리를 행한다. 예를 들어, 예측부(522)는, 제어부(501)로부터 공급되는 예측 모드 정보(Pinfo)와, 재배열 버퍼(511)로부터 공급되는 입력 화상(원화상)과, 프레임 메모리(521)로부터 판독하는 복호 화상(R)(또는 그 일부)을 입력으로 한다. 예측부(522)는, 예측 모드 정보(Pinfo)나 입력 화상(원화상)을 사용하여, 인터 예측이나 인트라 예측 등의 예측 처리를 행하고, 복호 화상(R)을 참조 화상으로서 참조하여 예측을 행하여, 그 예측 결과에 기초해서 움직임 보상 처리를 행하여, 예측 화상(P)을 생성한다. 예측부(522)는, 생성한 예측 화상(P)을 연산부(512) 및 연산부(519)에 공급한다. 또한, 예측부(522)는, 이상의 처리에 의해 선택한 예측 모드, 즉 최적의 예측 모드에 관한 정보를, 필요에 따라 부호화부(515)에 공급한다.
<레이트 제어부>
레이트 제어부(523)는 레이트 제어에 관한 처리를 행한다. 예를 들어, 레이트 제어부(523)는, 축적 버퍼(516)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(514)의 양자화 동작의 레이트를 제어한다.
또한, 이들 처리부(제어부(501), 재배열 버퍼(511) 내지 레이트 제어부(523))는 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 나머지를 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
이상과 같은 구성의 화상 부호화 장치(500)에 있어서, 부호화부(515)에 대하여 상술한 본 기술을 적용해도 된다.
예를 들어, 부호화부(515)에 대하여 <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 부호화부(515)가, 양자화 계수(qcoeff)의 부호화에 있어서 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 부호화해도 된다. 마찬가지로, 부호화부(515)는, 양자화 계수(qcoeff)의 부호화에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 부호화 장치(500)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 부호화 장치(500)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 부호화 장치(500)는, 고비트 심도·고비트 레이트의 화상 데이터의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 예를 들어 부호화부(515)에 대하여, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 부호화부(515)가, 양자화 계수(qcoeff)의 부호화에 있어서 방법 #2를 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 부호화를 스킵(생략)해도 된다. 마찬가지로 부호화부(515)는, 양자화 계수(qcoeff)의 부호화에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 부호화 장치(500)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 부호화 장치(500)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 부호화 장치(500)는, 고비트 심도·고비트 레이트의 화상 데이터의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<화상 부호화 처리의 흐름>
이어서, 이상과 같은 구성의 화상 부호화 장치(500)에 의해 실행되는 화상 부호화 처리의 흐름의 예를, 도 30의 흐름도를 참조하여 설명한다.
화상 부호화 처리가 개시되면, 스텝 S501에서, 재배열 버퍼(511)는 제어부(501)에 제어되어, 입력된 동화상 데이터의 프레임 순을 표시순에서 부호화순으로 재배열한다.
스텝 S502에서, 제어부(501)는, 재배열 버퍼(511)가 보유하는 입력 화상에 대하여 처리 단위를 설정한다(블록 분할을 행한다).
스텝 S503에서, 제어부(501)는, 재배열 버퍼(511)가 보유하는 입력 화상에 관한 부호화 파라미터를 결정(설정)한다.
스텝 S504에서, 예측부(522)는, 예측 처리를 행하여, 최적의 예측 모드의 예측 화상 등을 생성한다. 예를 들어, 이 예측 처리에 있어서, 예측부(522)는, 인트라 예측을 행하여 최적의 인트라 예측 모드의 예측 화상 등을 생성하고, 인터 예측을 행하여 최적의 인터 예측 모드의 예측 화상 등을 생성하여, 그들 중에서 비용 함수 값 등에 기초해서 최적의 예측 모드를 선택한다.
스텝 S505에서, 연산부(512)는, 입력 화상과, 스텝 S504의 예측 처리에 의해 선택된 최적의 모드의 예측 화상의 차분을 연산한다. 즉, 연산부(512)는, 입력 화상과 예측 화상의 예측 잔차(D)를 생성한다. 이와 같이 하여 구해진 예측 잔차(D)는, 원래의 화상 데이터에 비하여 데이터양이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여, 데이터양을 압축할 수 있다.
스텝 S506에서, 직교 변환부(513)는, 스텝 S505의 처리에 의해 생성된 예측 잔차(D)에 대한 직교 변환 처리를 행하여, 변환 계수(Coeff)를 도출한다.
스텝 S507에서, 양자화부(514)는, 제어부(501)에 의해 산출된 양자화 파라미터를 사용하거나 해서, 스텝 S506의 처리에 의해 얻어진 변환 계수(Coeff)를 양자화하여, 양자화 계수(qcoeff)를 도출한다.
스텝 S508에서, 역양자화부(517)는, 스텝 S507의 처리에 의해 생성된 양자화 계수(qcoeff)를, 그 스텝 S507의 양자화 특성에 대응하는 특성으로 역양자화하여, 변환 계수(Coeff_IQ)를 도출한다.
스텝 S509에서, 역직교 변환부(518)는, 스텝 S508의 처리에 의해 얻어진 변환 계수(Coeff_IQ)를, 스텝 S506의 직교 변환 처리에 대응하는 방법으로 역직교 변환하여, 예측 잔차(D')를 도출한다.
스텝 S510에서, 연산부(519)는, 스텝 S509의 처리에 의해 도출된 예측 잔차(D')에, 스텝 S504의 예측 처리에 의해 얻어진 예측 화상을 가산함으로써, 국소적으로 복호된 복호 화상을 생성한다.
스텝 S511에서, 인루프 필터부(520)는, 스텝 S510의 처리에 의해 도출된, 국소적으로 복호된 복호 화상에 대하여 인루프 필터 처리를 행한다.
스텝 S512에서, 프레임 메모리(521)는, 스텝 S510의 처리에 의해 도출된, 국소적으로 복호된 복호 화상이나, 스텝 S511에서 필터 처리된, 국소적으로 복호된 복호 화상을 기억한다.
스텝 S513에서, 부호화부(515)는, 부호화 처리를 실행하여, 스텝 S507의 처리에 의해 얻어진 양자화 계수(qcoeff)나 각종 부호화 파라미터 등을 부호화하여, 부호화 데이터의 비트 스트림을 생성한다.
스텝 S514에서, 축적 버퍼(516)는, 스텝 S513에서 얻어진 비트 스트림을 축적하고, 그것을 화상 부호화 장치(500)의 외부로 출력한다. 이 비트 스트림은, 예를 들어 전송로나 기록 매체를 통해서 복호측에 전송된다. 또한, 레이트 제어부(523)는 필요에 따라 레이트 제어를 행한다.
스텝 S514의 처리가 종료되면, 화상 부호화 처리가 종료된다.
이러한 화상 부호화 처리의 스텝 S513에서 실행되는 부호화 처리에 있어서, 상술한 본 기술을 적용해도 된다.
예를 들어, 그 부호화 처리에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 부호화부(515)가, 양자화 계수(qcoeff)의 부호화에 있어서 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 부호화해도 된다. 마찬가지로, 부호화부(515)는, 양자화 계수(qcoeff)의 부호화에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 부호화 장치(500)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 부호화 장치(500)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 부호화 장치(500)는, 고비트 심도·고비트 레이트의 화상 데이터의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 그 부호화 처리에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 부호화부(515)가, 양자화 계수(qcoeff)의 부호화에 있어서 방법 #2를 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 부호화를 스킵(생략)해도 된다. 마찬가지로, 부호화부(515)는, 양자화 계수(qcoeff)의 부호화에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 부호화 장치(500)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 부호화 장치(500)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 부호화 장치(500)는, 고비트 심도·고비트 레이트의 화상 데이터의 부호화에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<6. 실시 형태(화상 복호 장치)>
<화상 복호 장치>
이상으로 설명한 본 기술은 임의의 구성에 적용할 수 있다. 예를 들어, 이 본 기술은, 화상 복호 장치에 적용할 수 있다. 도 31은, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 31에 도시되는 화상 복호 장치(600)는, 동화상의 부호화 데이터(비트 스트림)를 복호함으로써, 동화상 데이터를 생성하는 장치이다. 예를 들어, 화상 복호 장치(600)는, 상술한 비특허문헌의 어느 것에 기재된 복호 방식으로 부호화 데이터를 복호할 수 있다.
또한, 도 31에서는, 처리부(블록)나 데이터의 흐름 등의 주된 것을 나타내고 있어, 도 31에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 복호 장치(600)가, 도 31에서 블록으로서 나타나지 않은 처리부를 갖고 있어도 된다. 또한, 화상 복호 장치(600)가, 도 31에서 화살표 등으로서 나타나지 않은 처리나 데이터의 흐름을 갖고 있어도 된다.
도 31에 도시되는 바와 같이 화상 복호 장치(600)는, 축적 버퍼(611), 복호부(612), 역양자화부(613), 역직교 변환부(614), 연산부(615), 인루프 필터부(616), 재배열 버퍼(617), 프레임 메모리(618) 및 예측부(619)를 구비하고 있다. 또한, 예측부(619)는 도시하지 않은 인트라 예측부 및 인터 예측부 등을 구비하고 있다.
<축적 버퍼>
축적 버퍼(611)는, 화상 복호 장치(600)에 입력된 비트 스트림을 취득하여, 보유(기억)한다. 축적 버퍼(611)는, 소정의 타이밍에 있어서, 또는 소정의 조건이 갖추어지거나 한 경우, 축적하고 있는 비트 스트림을 복호부(612)에 공급한다.
<복호부>
복호부(612)는 화상의 복호에 관한 처리를 행한다. 예를 들어, 복호부(612)는, 축적 버퍼(611)로부터 공급되는 비트 스트림을 입력으로 해서, 신택스 테이블의 정의에 따라, 그 비트 열로부터, 각 신택스 요소의 신택스값을 가변 길이 복호하여, 파라미터를 도출한다.
신택스 요소 및 신택스 요소의 신택스값으로부터 도출되는 파라미터에는, 예를 들어 헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등의 정보가 포함된다. 즉, 복호부(612)는, 비트 스트림으로부터 이들 정보를 파싱한다(해석하여 취득한다). 이들 정보에 대하여 이하에 설명한다.
<헤더 정보(Hinfo)>
헤더 정보(Hinfo)는, 예를 들어 VPS(Video Parameter Set)/SPS(Sequence Parameter Set)/PPS(Picture Parameter Set)/SH(슬라이스 헤더) 등의 헤더 정보를 포함한다. 헤더 정보(Hinfo)에는, 예를 들어 화상 사이즈(가로 폭 PicWidth, 세로 폭 PicHeight), 비트 심도(휘도 bitDepthY, 색차 bitDepthC), 색차 어레이 타입 ChromaArrayType, CU 사이즈의 최댓값 MaxCUSize/최솟값 MinCUSize, 4분목 분할(Quad-tree 분할이라고도 함)의 최대 심도 MaxQTDepth/최소 심도 MinQTDepth, 2분목 분할(Binary-tree 분할)의 최대 심도 MaxBTDepth/최소 심도 MinBTDepth, 변환 스킵 블록의 최댓값 MaxTSSize(최대 변환 스킵 블록 사이즈라고도 함), 각 부호화 툴의 온/오프 플래그(유효 플래그라고도 함) 등을 규정하는 정보가 포함된다.
예를 들어, 헤더 정보(Hinfo)에 포함되는 부호화 툴의 온/오프 플래그로서는, 이하에 나타내는 변환, 양자화 처리에 관한 온/오프 플래그가 있다. 또한, 부호화 툴의 온/오프 플래그는, 해당 부호화 툴에 관한 신택스가 부호화 데이터 중에 존재하는지 여부를 나타내는 플래그라고도 해석할 수 있다. 또한, 온/오프 플래그의 값이 1(참)인 경우, 해당 부호화 툴이 사용 가능한 것을 나타내고, 온/오프 플래그의 값이 0(거짓)인 경우, 해당 부호화 툴이 사용 불가능한 것을 나타낸다. 또한, 플래그 값의 해석은 반대이어도 된다.
컴포넌트간 예측 유효 플래그(ccp_enabled_flag): 컴포넌트간 예측(CCP(Cross-Component Prediction), CC 예측이라고도 칭함)이 사용 가능한지 여부를 나타내는 플래그 정보이다. 예를 들어, 이 플래그 정보가 「1」(참)인 경우, 사용 가능한 것을 나타내고, 「0」(거짓)인 경우, 사용 불가능한 것을 나타낸다.
또한, 이 CCP는, 컴포넌트간 선형 예측(CCLM 또는 CCLMP)이라고도 칭한다.
<예측 모드 정보(Pinfo)>
예측 모드 정보(Pinfo)에는, 예를 들어 처리 대상(PB)(예측 블록)의 사이즈 정보(PBSize)(예측 블록 사이즈), 인트라 예측 모드 정보(IPinfo), 움직임 예측 정보(MVinfo) 등의 정보가 포함된다.
인트라 예측 모드 정보(IPinfo)에는, 예를 들어 JCTVC-W1005, 7.3.8.5 Coding Unit syntax 중의 prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode 및 그 신택스로부터 도출되는 휘도 인트라 예측 모드 IntraPredModeY 등이 포함된다.
또한, 인트라 예측 모드 정보(IPinfo)에는, 예를 들어 컴포넌트간 예측 플래그(ccp_flag(cclmp_flag)), 다클래스 선형 예측 모드 플래그(mclm_flag), 색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx), 색차 MPM 식별자(chroma_mpm_idx), 및 이들 신택스로부터 도출되는 휘도 인트라 예측 모드(IntraPredModeC) 등이 포함된다.
컴포넌트간 예측 플래그(ccp_flag(cclmp_flag))는, 컴포넌트간 선형 예측을 적용할지 여부를 나타내는 플래그 정보이다. 예를 들어, ccp_flag==1일 때, 컴포넌트간 예측을 적용하는 것을 나타내고, ccp_flag==0일 때, 컴포넌트간 예측을 적용하지 않는 것을 나타낸다.
다클래스 선형 예측 모드 플래그(mclm_flag)는, 선형 예측의 모드에 관한 정보(선형 예측 모드 정보)이다. 보다 구체적으로는, 다클래스 선형 예측 모드 플래그(mclm_flag)는, 다클래스 선형 예측 모드로 할지 여부를 나타내는 플래그 정보이다. 예를 들어, 「0」인 경우, 1클래스 모드(단일 클래스 모드)(예를 들어 CCLMP)인 것을 나타내고, 「1」인 경우, 2클래스 모드(다클래스 모드)(예를 들어 MCLMP)인 것을 나타낸다.
색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx)는, 색차 컴포넌트의 화소 위치의 타입(색차 샘플 위치 타입이라고도 칭함)을 식별하는 식별자이다. 예를 들어 색 포맷에 관한 정보인 색차 어레이 타입(ChromaArrayType)이 420형식을 나타내는 경우, 색차 샘플 위치 타입 식별자는, 이하의 식과 같은 할당 방법이 된다.
chroma_sample_loc_type_idx==0: Type2
chroma_sample_loc_type_idx==1: Type3
chroma_sample_loc_type_idx==2: Type0
chroma_sample_loc_type_idx==3: Type1
또한, 이 색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx)는, 색차 컴포넌트의 화소 위치에 관한 정보(chroma_sample_loc_info())로서(에 저장되어) 전송된다.
색차 MPM 식별자(chroma_mpm_idx)는, 색차 인트라 예측 모드 후보 리스트(intraPredModeCandListC) 중 어느 예측 모드 후보를 색차 인트라 예측 모드로서 지정할지를 나타내는 식별자이다.
움직임 예측 정보 MVinfo에는, 예를 들어 merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0, 1}, mvd 등의 정보가 포함된다(예를 들어, JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax를 참조).
물론, 예측 모드 정보(Pinfo)에 포함되는 정보는 임의이어서, 이들 정보 이외의 정보가 포함되도록 해도 된다.
<변환 정보(Tinfo)>
변환 정보(Tinfo)에는, 예를 들어 이하의 정보가 포함된다. 물론, 변환 정보(Tinfo)에 포함되는 정보는 임의이어서, 이들 정보 이외의 정보가 포함되도록 해도 된다.
처리 대상 변환 블록의 가로 폭 사이즈(TBWSize) 및 세로 폭 사이즈(TBHSize)
변환 스킵 플래그(transform_skip_flag(ts_flag라고도 칭함))
스캔 식별자(scanIdx)
양자화 파라미터(qp)
양자화 매트릭스(scaling_matrix(예를 들어, JCTVC-W1005, 7.3.4 Scaling list data syntax))
또한, TBWSize 및 TBHSize 대신에 log2TBWSize 및 log2TBHSize가 변환 정보(Tinfo)에 포함되어도 된다. log2TBWSize는, 2를 밑으로 하는 TBWSize의 대수값이다. log2TBHSize는, 2를 밑으로 하는 TBHSize의 대수값이다. 또한, 화상 복호 장치(600)에 있어서, 변환 스킵 플래그는, 역계수 변환(역프라이머리 변환 및 역세컨더리 변환)을 스킵할지 여부를 나타내는 플래그이다.
<필터 정보(Finfo)>
필터 정보(Finfo)에는, 예를 들어 이하에 나타내는 각 필터 처리에 관한 제어 정보가 포함된다.
디블로킹 필터(DBF)에 관한 제어 정보
화소 적응 오프셋(SAO)에 관한 제어 정보
적응 루프 필터(ALF)에 관한 제어 정보
그 밖의 선형·비선형 필터에 관한 제어 정보
보다 구체적으로는, 예를 들어 각 필터를 적용하는 픽처나, 픽처 내의 영역을 지정하는 정보나, CU 단위의 필터 On/Off 제어 정보, 슬라이스, 타일의 경계에 관한 필터 On/Off 제어 정보 등이 포함된다. 물론, 필터 정보(Finfo)에 포함되는 정보는 임의이어서, 이들 정보 이외의 정보가 포함되도록 해도 된다.
복호부(612)의 설명으로 돌아간다. 복호부(612)는, 비트 스트림을 복호하여 얻어진 양자화 계수(qcoeff)에 관한 신택스를 참조하여 양자화 계수(qcoeff)를 도출한다. 복호부(612)는, 그 양자화 계수(qcoeff)를 역양자화부(613)에 공급한다.
또한, 복호부(612)는, 파싱한 헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등의 부호화 파라미터를 각 블록에 공급한다. 예를 들어, 복호부(612)는, 헤더 정보(Hinfo)를, 역양자화부(613), 역직교 변환부(614), 예측부(619), 인루프 필터부(616)에 공급한다. 또한, 복호부(612)는, 예측 모드 정보(Pinfo)를, 역양자화부(613) 및 예측부(619)에 공급한다. 또한, 복호부(612)는, 변환 정보(Tinfo)를, 역양자화부(613) 및 역직교 변환부(614)에 공급한다. 또한, 복호부(612)는, 필터 정보(Finfo)를, 인루프 필터부(616)에 공급한다.
물론, 상술한 예는 일례이며, 이 예에 한정되지 않는다. 예를 들어, 각 부호화 파라미터가 임의의 처리부에 공급되도록 해도 된다. 또한, 그 밖의 정보가, 임의의 처리부에 공급되도록 해도 된다.
<역양자화부>
역양자화부(613)는 적어도, 역양자화에 관한 처리를 행하기 위하여 필요한 구성을 갖는다. 예를 들어, 역양자화부(613)는, 복호부(612)로부터 공급되는 변환 정보(Tinfo) 및 양자화 계수(qcoeff)를 입력으로 해서, 그 변환 정보(Tinfo)에 기초하여 양자화 계수(qcoeff)의 값을 스케일링(역양자화)하여, 역양자화 후의 변환 계수(Coeff_IQ)를 도출한다. 역양자화부(613)는, 도출한 변환 계수(Coeff_IQ)를 역직교 변환부(614)에 공급한다.
또한, 이 역양자화는, 화상 부호화 장치(500)의 양자화부(514)에 의한 양자화의 역처리로서 행해진다. 또한, 이 역양자화는, 화상 부호화 장치(500)의 역양자화부(517)에 의한 역양자화와 마찬가지의 처리이다. 즉, 화상 부호화 장치(500)의 역양자화부(517)는, 이 역양자화부(613)와 마찬가지의 처리(역양자화)를 행한다.
<역직교 변환부>
역직교 변환부(614)는 역직교 변환에 관한 처리를 행한다. 예를 들어, 역직교 변환부(614)는, 역양자화부(613)로부터 공급되는 변환 계수(Coeff_IQ) 및 복호부(612)로부터 공급되는 변환 정보(Tinfo)를 입력으로 해서, 그 변환 정보(Tinfo)에 기초하여 변환 계수(Coeff_IQ)에 대해서 역직교 변환 처리를 행하여, 예측 잔차(D')를 도출한다. 예를 들어, 역직교 변환부(614)는, ST 식별자에 기초하여, 변환 계수(Coeff_IQ)에 대해서 역세컨더리 변환을 행하여 프라이머리 변환 계수를 생성하고, 그 프라이머리 변환 계수에 대하여 프라이머리 변환을 행하여, 예측 잔차(D')를 생성한다. 역직교 변환부(614)는, 도출한 예측 잔차(D')를 연산부(615)에 공급한다.
또한, 이 역직교 변환은, 화상 부호화 장치(500)의 직교 변환부(513)에 의한 직교 변환의 역처리로서 행해진다. 또한, 이 역직교 변환은, 화상 부호화 장치(500)의 역직교 변환부(518)에 의한 역직교 변환과 마찬가지의 처리이다. 즉, 화상 부호화 장치(500)의 역직교 변환부(518)는, 이 역직교 변환부(614)와 마찬가지의 처리(역직교 변환)를 행한다.
따라서, 역직교 변환부(614)는, 화상 부호화 장치(500)의 역직교 변환부(518)와 마찬가지로, 역직교 변환에 한하지 않고 임의의 역계수 변환을 행할 수 있다. 이 역계수 변환은, 화상 부호화 장치(500)의 직교 변환부(513)가 실행하는 계수 변환의 역처리이다. 즉, 예측 잔차(D')는, 변환 계수(Coeff_IQ)에 대하여 임의의 역계수 변환이 행해져서 도출되어도 된다. 따라서, 역직교 변환부(614)는, 역계수 변환부라고도 할 수 있다.
<연산부>
연산부(615)는, 화상에 관한 정보의 가산에 관한 처리를 행한다. 예를 들어, 연산부(615)는, 역직교 변환부(614)로부터 공급되는 예측 잔차(D')와, 예측부(619)로부터 공급되는 예측 화상(P)을 입력으로 한다. 연산부(615)는, 이하의 식에 나타내는 바와 같이, 예측 잔차(D')와 그 예측 잔차(D')에 대응하는 예측 화상(P)(예측 신호)을 가산하여, 국소 복호 화상(Rlocal)을 도출한다. 연산부(615)는, 도출한 국소 복호 화상(Rlocal)을, 인루프 필터부(616) 및 프레임 메모리(618)에 공급한다.
Rlocal=D'+P
<인루프 필터부>
인루프 필터부(616)는, 인루프 필터 처리에 관한 처리를 행한다. 예를 들어, 인루프 필터부(616)는, 연산부(615)로부터 공급되는 국소 복호 화상(Rlocal)과, 복호부(612)로부터 공급되는 필터 정보(Finfo)를 입력으로 한다. 또한, 인루프 필터부(616)에 입력되는 정보는 임의이어서, 이들 정보 이외의 정보가 입력되어도 된다.
인루프 필터부(616)는, 그 필터 정보(Finfo)에 기초하여, 국소 복호 화상(Rlocal)에 대하여 적절히 필터 처리를 행한다.
예를 들어, 인루프 필터부(616)는, 양방향 필터, 디블로킹 필터(DBF(DeBlocking Filter)), 적응 오프셋 필터(SAO(Sample Adaptive Offset)) 및 적응 루프 필터(ALF(Adaptive Loop Filter))의 4개의 인루프 필터를 이 순으로 적용한다. 또한, 어느 필터를 적용할지, 어떤 순으로 적용할지는 임의이어서, 적절히 선택 가능하다.
인루프 필터부(616)는, 부호화측(예를 들어 화상 부호화 장치(500)의 인루프 필터부(520))에 의해 행해진 필터 처리에 대응하는 필터 처리를 행한다. 물론, 인루프 필터부(616)가 행하는 필터 처리는 임의이어서, 상술한 예에 한정되지 않는다. 예를 들어, 인루프 필터부(616)가 비너스 필터 등을 적용하도록 해도 된다.
인루프 필터부(616)는, 필터 처리된 국소 복호 화상(Rlocal)을 재배열 버퍼(617) 및 프레임 메모리(618)에 공급한다.
<재배열 버퍼>
재배열 버퍼(617)는, 인루프 필터부(616)로부터 공급된 국소 복호 화상(Rlocal)을 입력으로 해서, 그것을 보유(기억)한다. 재배열 버퍼(617)는, 그 국소 복호 화상(Rlocal)을 사용하여 픽처 단위마다의 복호 화상(R)을 재구축하여, 보유한다(버퍼 내에 저장한다). 재배열 버퍼(617)는, 얻어진 복호 화상(R)을, 복호순에서 재생순으로 재배열한다. 재배열 버퍼(617)는, 재배열한 복호 화상(R)군을 동화상 데이터로서 화상 복호 장치(600)의 외부로 출력한다.
<프레임 메모리>
프레임 메모리(618)는, 화상에 관한 데이터의 기억에 관한 처리를 행한다. 예를 들어, 프레임 메모리(618)는, 연산부(615)로부터 공급되는 국소 복호 화상(Rlocal)을 입력으로 해서, 픽처 단위마다의 복호 화상(R)을 재구축하여, 프레임 메모리(618) 내의 버퍼에 저장한다.
또한, 프레임 메모리(618)는, 인루프 필터부(616)로부터 공급되는, 인루프 필터 처리된 국소 복호 화상(Rlocal)을 입력으로 해서, 픽처 단위마다의 복호 화상(R)을 재구축하여, 프레임 메모리(618) 내의 버퍼에 저장한다. 프레임 메모리(618)는 적절히, 그 기억하고 있는 복호 화상(R)(또는 그 일부)을 참조 화상으로서 예측부(619)에 공급한다.
또한, 프레임 메모리(618)가, 복호 화상의 생성에 관한 헤더 정보(Hinfo), 예측 모드 정보(Pinfo), 변환 정보(Tinfo), 필터 정보(Finfo) 등을 기억하도록 해도 된다.
<예측부>
예측부(619)는 예측 화상의 생성에 관한 처리를 행한다. 예를 들어, 예측부(619)는, 복호부(612)로부터 공급되는 예측 모드 정보(Pinfo)를 입력으로 해서, 그 예측 모드 정보(Pinfo)에 의해 지정되는 예측 방법에 의해 예측을 행하여, 예측 화상(P)을 도출한다. 그 도출 시, 예측부(619)는, 그 예측 모드 정보(Pinfo)에 의해 지정되는, 프레임 메모리(618)에 저장된 필터 전 또는 필터 후의 복호 화상(R)(또는 그 일부)을 참조 화상으로서 이용한다. 예측부(619)는, 도출한 예측 화상(P)을 연산부(615)에 공급한다.
또한, 이들 처리부(축적 버퍼(611) 내지 예측부(619))는 임의의 구성을 갖는다. 예를 들어, 각 처리부가, 상술한 처리를 실현하는 논리 회로에 의해 구성되도록 해도 된다. 또한, 각 처리부가, 예를 들어 CPU, ROM, RAM 등을 갖고, 그것들을 사용하여 프로그램을 실행함으로써, 상술한 처리를 실현하도록 해도 된다. 물론, 각 처리부가, 그 양쪽의 구성을 갖고, 상술한 처리의 일부를 논리 회로에 의해 실현하고, 나머지를 프로그램을 실행함으로써 실현하도록 해도 된다. 각 처리부의 구성은 서로 독립되어 있어도 되며, 예를 들어 일부의 처리부가 상술한 처리의 일부를 논리 회로에 의해 실현하고, 다른 일부의 처리부가 프로그램을 실행함으로써 상술한 처리를 실현하고, 또 다른 처리부가 논리 회로와 프로그램의 실행 양쪽에 의해 상술한 처리를 실현하도록 해도 된다.
이상과 같은 구성의 화상 복호 장치(600)에 있어서, 복호부(612)에 대하여 상술한 본 기술을 적용해도 된다.
예를 들어, 복호부(612)에 대하여, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 복호부(612)가, 비트 스트림의 복호에 있어서 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 복호해도 된다. 마찬가지로, 복호부(612)는, 비트 스트림의 복호에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 복호 장치(600)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 복호 장치(600)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 복호 장치(600)는, 고비트 심도·고비트 레이트의 화상 데이터의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 예를 들어 복호부(612)에 대하여, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 복호부(612)가, 비트 스트림의 복호에 있어서 방법 #2를 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 복호를 스킵(생략)해도 된다. 마찬가지로, 복호부(612)는, 비트 스트림의 복호에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 복호 장치(600)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 복호 장치(600)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 복호 장치(600)는, 고비트 심도·고비트 레이트의 화상 데이터의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<화상 복호 처리의 흐름>
이어서, 이상과 같은 구성의 화상 복호 장치(600)에 의해 실행되는 화상 복호 처리의 흐름의 예를, 도 32의 흐름도를 참조하여 설명한다.
화상 복호 처리가 개시되면, 축적 버퍼(611)는, 스텝 S601에서, 화상 복호 장치(600)의 외부로부터 공급되는 부호화 데이터(비트 스트림)를 취득하여 보유한다(축적한다).
스텝 S602에서, 복호부(612)는, 복호 처리를 실행하여, 그 부호화 데이터(비트 스트림)를 복호해서 양자화 계수(qcoeff)를 얻는다. 또한, 복호부(612)는, 이 복호에 의해, 부호화 데이터(비트 스트림)로부터 각종 부호화 파라미터를 파싱한다(해석하여 취득한다).
스텝 S603에서, 역양자화부(613)는, 스텝 S602의 처리에 의해 얻어진 양자화 계수(qcoeff)에 대하여, 부호화측에서 행해진 양자화의 역처리인 역양자화를 행하여, 변환 계수(Coeff_IQ)를 얻는다.
스텝 S604에서, 역직교 변환부(614)는, 스텝 S603에서 얻어진 변환 계수(Coeff_IQ)에 대하여, 부호화측에서 행해진 직교 변환 처리의 역처리인 역직교 변환 처리를 행하여, 예측 잔차(D')를 얻는다.
스텝 S605에서, 예측부(619)는, 스텝 S602에서 파싱된 정보에 기초해서, 부호화측으로부터 지정되는 예측 방법으로 예측 처리를 실행하여, 프레임 메모리(618)에 기억되어 있는 참조 화상을 참조하거나 하여, 예측 화상(P)을 생성한다.
스텝 S606에서, 연산부(615)는, 스텝 S604에서 얻어진 예측 잔차(D')와, 스텝 S605에서 얻어진 예측 화상(P)을 가산하여, 국소 복호 화상(Rlocal)을 도출한다.
스텝 S607에서, 인루프 필터부(616)는, 스텝 S606의 처리에 의해 얻어진 국소 복호 화상(Rlocal)에 대하여 인루프 필터 처리를 행한다.
스텝 S608에서, 재배열 버퍼(617)는, 스텝 S607의 처리에 의해 얻어진 필터 처리된 국소 복호 화상(Rlocal)을 사용하여 복호 화상(R)을 도출하고, 그 복호 화상(R)군의 순서를 복호순에서 재생순으로 재배열한다. 재생순으로 재배열된 복호 화상(R)군은, 동화상으로서 화상 복호 장치(600)의 외부로 출력된다.
또한, 스텝 S609에서, 프레임 메모리(618)는, 스텝 S606의 처리에 의해 얻어진 국소 복호 화상(Rlocal) 및 스텝 S607의 처리에 의해 얻어진 필터 처리 후의 국소 복호 화상(Rlocal) 중, 적어도 한쪽을 기억한다.
스텝 S609의 처리가 종료되면, 화상 복호 처리가 종료된다.
이러한 화상 복호 처리의 스텝 S602에서 실행되는 부호화 처리에 있어서, 상술한 본 기술을 적용해도 된다.
예를 들어, 그 복호 처리에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 복호부(612)가, 비트 스트림의 복호에 있어서 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 비트 스트림에 포함되는 라스트 계수 위치의 프리픽스부(last_sig_coeff_{x, y}_prefix)를 바이패스 부호 빈으로서 복호해도 된다. 마찬가지로, 복호부(612)는, 비트 스트림의 복호에 있어서, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 복호 장치(600)는, <3. 라스트 계수 위치의 바이패스 부호화·바이패스 복호>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 복호 장치(600)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 복호 장치(600)는, 고비트 심도·고비트 레이트의 화상 데이터의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
또한, 그 복호 처리에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용해도 된다. 예를 들어, 복호부(612)가, 비트 스트림의 복호에 있어서 방법 #1을 적용하고, sps_high_throughput_flag가 참일 경우, 라스트 계수 위치의 복호를 스킵(생략)해도 된다. 마찬가지로, 복호부(612)는, 비트 스트림의 복호에 있어서, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법을 적용할 수 있다. 이와 같이 함으로써, 화상 복호 장치(600)는, <4. 라스트 계수 위치의 부호화·복호의 스킵>에서 상술한 각 방법의 효과와 마찬가지의 효과를 얻을 수 있다. 따라서, 화상 복호 장치(600)는, 컨텍스트 부호화 빈의 발생량을 저감시킬 수 있어, 부호화나 복호의 처리량의 증대를 억제할 수 있다. 예를 들어, 화상 복호 장치(600)는, 고비트 심도·고비트 레이트의 화상 데이터의 복호에서의 CABAC의 처리량을 경감하여, 스루풋을 향상시킬 수 있다.
<7. 부기>
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 33은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
도 33에 도시되는 컴퓨터(900)에 있어서, CPU(Central Processing Unit)(901), ROM(Read Only Memory)(902), RAM(Random Access Memory)(903)은, 버스(904)를 통해서 서로 접속되어 있다.
버스(904)에는 또한, 입출력 인터페이스(910)도 접속되어 있다. 입출력 인터페이스(910)에는, 입력부(911), 출력부(912), 기억부(913), 통신부(914) 및 드라이브(915)가 접속되어 있다.
입력부(911)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등을 포함한다. 출력부(912)는, 예를 들어 디스플레이, 스피커, 출력 단자 등을 포함한다. 기억부(913)는, 예를 들어 하드 디스크, RAM 디스크, 불휘발성 메모리 등을 포함한다. 통신부(914)는, 예를 들어 네트워크 인터페이스를 포함한다. 드라이브(915)는, 자기 디스크, 광 디스크, 광자기 디스크 또는 반도체 메모리 등의 리무버블 미디어(921)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(901)가, 예를 들어 기억부(913)에 기억되어 있는 프로그램을, 입출력 인터페이스(910) 및 버스(904)를 통해서 RAM(903)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다. RAM(903)에는 또한, CPU(901)가 각종 처리를 실행하는데 있어서 필요한 데이터 등도 적절히 기억된다.
컴퓨터가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(921)에 기록하여 적용할 수 있다. 그 경우, 프로그램은, 리무버블 미디어(921)를 드라이브(915)에 장착함으로써, 입출력 인터페이스(910)를 통해서 기억부(913)에 인스톨할 수 있다.
또한, 이 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통해서 제공할 수도 있다. 그 경우, 프로그램은, 통신부(914)에서 수신하여, 기억부(913)에 인스톨할 수 있다.
그 밖에, 이 프로그램은, ROM(902)이나 기억부(913)에 미리 인스톨해 둘 수도 있다.
<본 기술의 적용 대상>
본 기술은, 임의의 화상 부호화 방식이나 복호 방식에 적용할 수 있다. 즉, 상술한 본 기술과 모순되지 않는 한, 변환(역변환), 양자화(역양자화), 부호화(복호), 예측 등, 화상 부호화·복호에 관한 각종 처리의 사양은 임의이어서, 상술한 예에 한정되지 않는다. 또한, 상술한 본 기술과 모순되지 않는 한, 이들 처리 중 일부를 생략해도 된다.
또한 본 기술은, 복수의 시점(뷰(view))의 화상을 포함하는 다시점 화상을 부호화하는 다시점 화상 부호화 시스템에 적용할 수 있다. 또한 본 기술은, 복수의 시점(뷰(view))의 화상을 포함하는 다시점 화상의 부호화 데이터를 복호하는 다시점 화상 복호 시스템에 적용할 수 있다. 그 경우, 각 시점(뷰(view))의 부호화나 복호에 있어서, 본 기술을 적용하도록 하면 된다.
또한 본 기술은, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록 복수 레이어화(계층화)된 계층 화상을 부호화하는 계층 화상 부호화(스케일러블 부호화) 시스템에 적용할 수 있다. 또한, 본 기술은, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록 복수 레이어화(계층화)된 계층 화상의 부호화 데이터를 복호하는 계층 화상 복호(스케일러블 복호) 시스템에 적용할 수 있다. 그 경우, 각 계층(레이어)의 부호화나 복호에 있어서, 본 기술을 적용하도록 하면 된다.
또한, 본 기술은, 임의의 구성에 적용할 수 있다. 예를 들어, 본 기술은, 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신, 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기나 수신기(예를 들어 텔레비전 수상기나 휴대 전화기), 또는 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하거나, 이들 기억 매체로부터 화상을 재생하거나 하는 장치(예를 들어 하드 디스크 레코더나 카메라) 등의 다양한 전자 기기에 응용될 수 있다.
또한, 예를 들어 본 기술은, 시스템 LSI(Large Scale Integration) 등으로서의 프로세서(예를 들어 비디오 프로세서), 복수의 프로세서 등을 사용하는 모듈(예를 들어 비디오 모듈), 복수의 모듈 등을 사용하는 유닛(예를 들어 비디오 유닛), 또는 유닛에 추가로 기타 기능을 부가한 세트(예를 들어 비디오 세트) 등, 장치의 일부 구성으로서 실시할 수도 있다.
또한, 예를 들어 본 기술은, 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수도 있다. 예를 들어, 본 기술을, 네트워크를 통해서 복수의 장치에서 분담, 공동하여 처리하는 클라우드 컴퓨팅으로서 실시하도록 해도 된다. 예를 들어, 컴퓨터, AV(Audio Visual) 기기, 휴대형 정보 처리 단말기, IoT(Internet of Things) 디바이스 등의 임의의 단말기에 대하여, 화상(동화상)에 관한 서비스를 제공하는 클라우드 서비스에 있어서 본 기술을 실시하도록 해도 된다.
또한, 본 명세서에서 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되어, 네트워크를 통해서 접속되어 있는 복수의 장치 및 1개의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
<본 기술을 적용 가능한 분야나 용도>
본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다. 또한, 그 용도도 임의이다.
예를 들어, 본 기술은, 관상용 콘텐츠 등의 제공용으로 제공되는 시스템이나 디바이스에 적용할 수 있다. 또한, 예를 들어 본 기술은, 교통 상황의 감리나 자동 운전 제어 등, 교통용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 시큐리티용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 기계 등의 자동 제어용으로 제공되는 시스템이나 디바이스에 적용할 수 있다. 또한, 예를 들어 본 기술은, 농업이나 축산업용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 화산, 삼림, 해양 등의 자연 상태나 야생 생물 등을 감시하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 스포츠용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다.
<기타>
또한, 본 명세서에서 「플래그」란, 복수의 상태를 식별하기 위한 정보이며, 참(1) 또는 거짓(0)의 2 상태를 식별할 때 사용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「플래그」가 취할 수 있는 값은, 예를 들어 1/0의 2치이어도 되고, 3치 이상이어도 된다. 즉, 이 「플래그」를 구성하는 bit수는 임의이어서, 1bit이어도 복수 bit이어도 된다. 또한, 식별 정보(플래그도 포함함)는, 그 식별 정보를 비트 스트림에 포함시키는 형태뿐만 아니라, 어떤 기준이 되는 정보에 대한 식별 정보의 차분 정보를 비트 스트림에 포함시키는 형태도 상정되기 때문에, 본 명세서에서는, 「플래그」나 「식별 정보」는, 그 정보뿐만 아니라, 기준이 되는 정보에 대한 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떤 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」라는 용어는, 예를 들어 한쪽 데이터를 처리할 때 다른 쪽 데이터를 이용할 수 있도록(링크시킬 수 있도록) 하는 것을 의미한다. 즉, 서로 관련지어진 데이터는, 하나의 데이터로서 통합되어도 되고, 각각 개별 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은, 데이터 전체가 아니라, 데이터의 일부이어도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1프레임 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 본 명세서에서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함한다」, 「저장한다」, 「집어 넣는다」, 「끼워 넣는다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 하나의 데이터로 통합한다고 하는, 복수의 것을 하나로 통합하는 것을 의미하고, 상술한 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니고, 본 기술의 요지를 일탈하지 않는 범위에서 다양한 변경이 가능하다.
예를 들어, 1개의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 것 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함시키도록 해도 된다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에서 실행되도록 해도 된다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 1개의 흐름도의 각 스텝을, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담하여 실행하도록 해도 된다. 또한, 1개의 스텝에 복수의 처리가 포함되는 경우, 그 복수의 처리를, 1개의 장치가 실행하도록 해도 되고, 복수의 장치가 분담하여 실행하도록 해도 된다. 환언하면, 1개의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로서 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 1개의 스텝으로서 통합하여 실행할 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 이하와 같은 특징을 갖고 있어도 된다. 예를 들어, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 된다. 또한, 프로그램을 기술하는 스텝의 처리가 병렬로 실행되도록 해도 된다. 또한, 프로그램을 기술하는 스텝의 처리가, 호출될 때 등의 필요한 타이밍에 개별로 실행되도록 해도 된다. 즉, 모순이 생기지 않는 한, 각 스텝의 처리가 상술한 순서와 다른 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 조합하여 실행되도록 해도 된다.
또한, 예를 들어 본 기술에 관한 복수의 기술은, 모순이 생기지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용하여 실시할 수도 있다. 예를 들어, 어느 것의 실시 형태에서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에서 설명한 본 기술의 일부 또는 전부와 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하지 않은 다른 기술과 병용하여 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는 부호화부
를 구비하는 화상 처리 장치.
(2) 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 상기 프리픽스부를 컨텍스트 부호화 빈으로서 부호화하는, (1)에 기재된 화상 처리 장치.
(3) 상기 부호화부는, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 부호화하는, (1) 또는 (2)에 기재된 화상 처리 장치.
(4) 상기 부호화부는, 상기 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행하는, (1) 내지 (3)의 어느 것에 기재된 화상 처리 장치.
(5) 상기 부호화부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, (4)에 기재된 화상 처리 장치.
(6) 상기 부호화부는, 상기 라스트 계수 위치의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, (4) 또는 (5)에 기재된 화상 처리 장치.
(7) 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 부호화 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출하는, (4) 내지 (6)의 어느 것에 기재된 화상 처리 장치.
(8) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는,
화상 처리 방법.
(11) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는 복호부
를 구비하는 화상 처리 장치.
(12) 상기 복호부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 상기 프리픽스부를 컨텍스트 부호화 빈으로서 복호하는, (11)에 기재된 화상 처리 장치.
(13) 상기 복호부는, 상기 부호화 데이터에 포함되는 상기 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 복호하는, (11) 또는 (12)에 기재된 화상 처리 장치.
(14) 상기 복호부는, 상기 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호 직전에 있어서, 복호 프로세스의 얼라인먼트 처리를 행하는, (11) 내지 (13)의 어느 것에 기재된 화상 처리 장치.
(15) 상기 복호부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, (14)에 기재된 화상 처리 장치.
(16) 상기 복호부는, 상기 라스트 계수 위치의 복호 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, (14) 또는 (15)에 기재된 화상 처리 장치.
(17) 상기 복호부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 복호 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출하는, (14) 내지 (16)의 어느 것에 기재된 화상 처리 장치.
(18) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는,
화상 처리 방법.
(21) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는 부호화부
를 구비하는 화상 처리 장치.
(22) 상기 부호화부는, 상기 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정하는, (21)에 기재된 화상 처리 장치.
(23) 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 프리픽스부 및 서픽스부를 부호화하는, (21) 또는 (22)에 기재된 화상 처리 장치.
(24) 상기 부호화부는, 상기 프리픽스부를 컨텍스트 부호화 빈으로서 부호화하고, 상기 서픽스부를 바이패스 부호화 빈으로서 부호화하는, (23)에 기재된 화상 처리 장치.
(25) 상기 부호화부는, 상기 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행하는, (21) 내지 (24)의 어느 것에 기재된 화상 처리 장치.
(26) 상기 부호화부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, (25)에 기재된 화상 처리 장치.
(27) 상기 부호화부는, 상기 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, (25) 또는 (26)에 기재된 화상 처리 장치.
(28) 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출하는, (25) 내지 (27)의 어느 것에 기재된 화상 처리 장치.
(29) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는,
화상 처리 방법.
(31) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는 복호부
를 구비하는 화상 처리 장치.
(32) 상기 복호부는, 상기 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정하는, (31)에 기재된 화상 처리 장치.
(33) 상기 복호부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 프리픽스부 및 서픽스부를 복호하는, (31) 또는 (32)에 기재된 화상 처리 장치.
(34) 상기 복호부는, 상기 프리픽스부를 컨텍스트 부호화 빈으로서 복호하고, 상기 서픽스부를 바이패스 부호화 빈으로서 복호하는, (33)에 기재된 화상 처리 장치.
(35) 상기 복호부는, 상기 하이 스루풋 모드일 경우, 상기 부호화 데이터에 포함되는 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 복호 프로세스의 얼라인먼트 처리를 행하는, (31) 내지 (34)의 어느 것에 기재된 화상 처리 장치.
(36) 상기 복호부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, (35)에 기재된 화상 처리 장치.
(37) 상기 복호부는, 상기 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, (35) 또는 (36)에 기재된 화상 처리 장치.
(38) 상기 복호부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 최초의 서브블록 계수 플래그의 복호 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출하는, (35) 내지 (37)의 어느 것에 기재된 화상 처리 장치.
(39) 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는,
화상 처리 방법.
200: 부호화 장치 211: 선택부
212: TS 잔차 부호화부 213: Non-TS 잔차 부호화부
231: 설정부 232: 라스트 계수 위치 부호화부
233: 서브블록 부호화부 300: 복호 장치
311: 선택부 312: TS 잔차 복호부
313: Non-TS 잔차 복호부 331: 설정부
332: 라스트 계수 위치 복호부 333: 서브블록 복호부
500: 화상 부호화 장치 515: 부호화부
600: 화상 복호 장치 612: 복호부
900: 컴퓨터

Claims (20)

  1. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는 부호화부
    를 구비하는 화상 처리 장치.
  2. 제1항에 있어서, 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 상기 프리픽스부를 컨텍스트 부호화 빈으로서 부호화하는, 화상 처리 장치.
  3. 제1항에 있어서, 상기 부호화부는, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 서픽스부를 바이패스 부호화 빈으로서 부호화하는, 화상 처리 장치.
  4. 제1항에 있어서, 상기 부호화부는, 상기 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행하는, 화상 처리 장치.
  5. 제4항에 있어서, 상기 부호화부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, 화상 처리 장치.
  6. 제4항에 있어서, 상기 부호화부는, 상기 라스트 계수 위치의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, 화상 처리 장치.
  7. 제4항에 있어서, 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 부호화 직전에 있어서, 컨텍스트 부호화 빈수의 기준값과 변환 블록 사이즈에 기초하여, 컨텍스트 부호화 빈수의 발생량을 도출하는, 화상 처리 장치.
  8. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 부호화하는,
    화상 처리 방법.
  9. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는 복호부
    를 구비하는 화상 처리 장치.
  10. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터의 부호화 데이터에 포함되는 상기 라스트 계수 위치의 프리픽스부를 바이패스 부호화 빈으로서 복호하는,
    화상 처리 방법.
  11. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는 부호화부
    를 구비하는 화상 처리 장치.
  12. 제11항에 있어서, 상기 부호화부는, 상기 라스트 계수 위치를 변환 블록 내의 우측 하단 좌표로 설정하는, 화상 처리 장치.
  13. 제11항에 있어서, 상기 부호화부는, 상기 하이 스루풋 모드가 아닐 경우, 상기 라스트 계수 위치의 프리픽스부 및 서픽스부를 부호화하는, 화상 처리 장치.
  14. 제13항에 있어서, 상기 부호화부는, 상기 프리픽스부를 컨텍스트 부호화 빈으로서 부호화하고, 상기 서픽스부를 바이패스 부호화 빈으로서 부호화하는, 화상 처리 장치.
  15. 제11항에 있어서, 상기 부호화부는, 상기 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 부호화 프로세스의 얼라인먼트 처리를 행하는, 화상 처리 장치.
  16. 제15항에 있어서, 상기 부호화부는, 상기 얼라인먼트 처리에 있어서, 산술 부호화에서의 범위를 나타내는 변수 iVlCurrRange를 256으로 설정하는, 화상 처리 장치.
  17. 제15항에 있어서, 상기 부호화부는, 상기 최초의 서브블록 계수 플래그의 부호화 직전에 있어서, 또한, 컨텍스트 부호화 빈수의 발생량을 0으로 설정하는, 화상 처리 장치.
  18. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 화상 데이터에 포함되는 상기 라스트 계수 위치의 부호화를 스킵하는,
    화상 처리 방법.
  19. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는 복호부
    를 구비하는 화상 처리 장치.
  20. 화상 데이터의, 라스트 계수 위치보다 뒤의 컨텍스트 부호화 빈을 바이패스 부호화 빈으로서 처리하는 하이 스루풋 모드일 경우, 상기 라스트 계수 위치의 복호를 스킵하는,
    화상 처리 방법.
KR1020237042535A 2021-06-24 2022-06-20 화상 처리 장치 및 방법 KR20240024808A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163214327P 2021-06-24 2021-06-24
US63/214,327 2021-06-24
PCT/JP2022/024461 WO2022270451A1 (ja) 2021-06-24 2022-06-20 画像処理装置および方法

Publications (1)

Publication Number Publication Date
KR20240024808A true KR20240024808A (ko) 2024-02-26

Family

ID=84545668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237042535A KR20240024808A (ko) 2021-06-24 2022-06-20 화상 처리 장치 및 방법

Country Status (5)

Country Link
EP (1) EP4362460A1 (ko)
JP (1) JPWO2022270451A1 (ko)
KR (1) KR20240024808A (ko)
CN (1) CN117529915A (ko)
WO (1) WO2022270451A1 (ko)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding(Draft 10)", JVET-T2001-v2, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1-date 2020-10-27
Fan Wang, Zhihuang Xie, Yue Yu, Haoping Yu, Dong Wang, "AHG8: a combination of JVET-V0059 option 2 and JVET-V0122 for high bit depth and high bit rate extensions", JVET-V0178-v1, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 2021-04-27
Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 11(VTM 11)", JVET-T2002-v1, Joint Video Experts Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, version 1-date 2020-10-27

Also Published As

Publication number Publication date
CN117529915A (zh) 2024-02-06
EP4362460A1 (en) 2024-05-01
JPWO2022270451A1 (ko) 2022-12-29
WO2022270451A1 (ja) 2022-12-29

Similar Documents

Publication Publication Date Title
EP4068778A1 (en) Image processing device and method
US20220224903A1 (en) Image processing device and method
US20220256151A1 (en) Image processing device and method
US20240040137A1 (en) Image processing apparatus and method
JP7494858B2 (ja) 画像処理装置および方法
WO2022255395A1 (ja) 画像処理装置および方法
US20220201305A1 (en) Image processing device and method
KR20240024808A (ko) 화상 처리 장치 및 방법
US20240163437A1 (en) Image processing device and method
US20220286681A1 (en) Image processing device and method
JP7517348B2 (ja) 画像処理装置および方法
JP7517350B2 (ja) 画像処理装置および方法
EP4050896B1 (en) Image processing device and method
US20230045106A1 (en) Image processing apparatus and method
WO2020129636A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
KR20240087683A (ko) 화상 처리 장치 및 방법
US20220086489A1 (en) Image processing apparatus and method