KR20210066812A - 화상 처리 장치 및 방법, 그리고 프로그램 - Google Patents

화상 처리 장치 및 방법, 그리고 프로그램 Download PDF

Info

Publication number
KR20210066812A
KR20210066812A KR1020217008084A KR20217008084A KR20210066812A KR 20210066812 A KR20210066812 A KR 20210066812A KR 1020217008084 A KR1020217008084 A KR 1020217008084A KR 20217008084 A KR20217008084 A KR 20217008084A KR 20210066812 A KR20210066812 A KR 20210066812A
Authority
KR
South Korea
Prior art keywords
unit
chroma
division
division structure
encoding
Prior art date
Application number
KR1020217008084A
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 KR20210066812A publication Critical patent/KR20210066812A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

본 개시는, 인트라 예측에 일어날 수 있는 지연을 억제할 수 있도록 하는 화상 처리 장치 및 방법, 그리고 프로그램에 관한 것이다. 부호화 장치는, 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마의 CU 분할 구조에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성한다. 본 개시는, 예를 들어 화상 처리 장치에 적용할 수 있다.

Description

화상 처리 장치 및 방법, 그리고 프로그램
본 개시는 화상 처리 장치 및 방법, 그리고 프로그램에 관한 것이며, 특히 인트라 예측에 일어날 수 있는 지연을 억제할 수 있도록 한 화상 처리 장치 및 방법, 그리고 프로그램에 관한 것이다.
HEVC(High Efficiency Video Coding)에서는 크로마(Cb/Cr)의 CU(Coding Unit)의 분할이 4×4(화소)였다. VVC(Versatile Video Coding)에서는 CU의 분할이 휘도(Y)에서 4×4, Cb/Cr에서 2×2까지 가능해졌다(비특허문헌 1).
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding (Draft 2)", JVET-K1001-v5, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Ljubljana, SI, 10-18 July 2018
Cb/Cr에서 2×2까지 가능해진 것에 의하여, 인트라 예측에 있어서의 Cb/Cr의 2×2의 스루풋이 관건이 된다.
본 개시는 이와 같은 상황을 감안하여 이루어진 것이며, 인트라 예측에 일어날 수 있는 지연을 억제할 수 있는 것이다.
본 개시의 일 측면의 화상 처리 장치는, 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는 제어부와, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는 부호화부를 구비한다.
본 개시의 일 측면에 있어서는, 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조가 결정되고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상이 부호화되어 부호화 스트림이 생성된다.
본 개시의 다른 측면의 화상 처리 장치는, 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하는 제어부와, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는 복호부를 구비한다.
본 개시의 다른 측면에 있어서는, 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조가 결정되고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림이 복호되어 상기 화상이 생성된다.
도 1은 부호화 단위인 CU의 분할의 예를 나타내는 도면이다.
도 2는 CU의 분할 방법을 나타내는 도면이다.
도 3은 Y의 CU가 4×4, Cb/Cr의 CU가 2×2인 경우의 인트라 예측의 순서를 나타내는 도면이다.
도 4는 Y로부터 Cb/Cr에 휘도 크로마 예측을 행하는 경우의 인트라 예측의 순서를 나타내는 도면이다.
도 5는 본 개시를 적용한 부호화 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 6은 CU의 분할 구조를 결정하기 위한 트리의 예를 나타내는 도면이다.
도 7은 도 5의 부호화부의 구성예를 나타내는 블록도이다.
도 8은 도 5의 부호화 장치의 스트림 생성 처리를 설명하는 흐름도이다.
도 9는 도 8의 스텝 S12의 부호화 처리의 상세를 설명하는 흐름도이다.
도 10은 도 9에 이은, 도 8의 스텝 S12의 부호화 처리의 상세를 설명하는 흐름도이다.
도 11은 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 상세를 설명하는 흐름도이다.
도 12는 도 11의 스텝 S125의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 13은 도 11의 스텝 S126의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 14는 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 15는 도 14의 스텝 S184의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 16은 도 14의 스텝 S185의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 17은 도 14의 스텝 S186의 CU의 예측 모드 판정 처리의 상세를 설명하는 흐름도이다.
도 18은 본 개시를 적용한 복호 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 19는 도 18의 복호부의 구성예를 나타내는 블록이다.
도 20은 도 18의 복호 장치의 화상 생성 처리를 설명하는 흐름도이다.
도 21은 도 20의 스텝 S303의 복호 처리의 상세를 설명하는 흐름도이다.
도 22는 세퍼레이트 트리의 예를 나타내는 도면이다.
도 23은 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 24는 도 23에 이은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 25는 도 24의 스텝 S411의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 26은 도 24의 스텝 S412의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 27은 세퍼레이트 트리에 관한 시맨틱스의 예를 나타내는 도면이다.
도 28은 도 27의 정보를 이용하여 제어할 수 있는 CU의 분할 구조의 일례를 나타내는 도면이다.
도 29는 도 27의 정보를 이용하여 Cb/Cr의 CU만 4×4를 최소로 하도록 한 예를 나타내는 도면이다.
도 30은 Cb/Cr의 QT 분할의 최소 사이즈가 0인 예를 나타내는 도면이다.
도 31은 새로운 정보에 의하여 설정되는 Cb/Cr의 CU의 분할 구조의 예를 나타내는 도면이다.
도 32는 본 개시를 적용한 부호화 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 33은 도 32의 부호화 장치의 스트림 생성 처리를 설명하는 흐름도이다.
도 34는 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 35는 도 34에 이은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 36은 도 35에 이은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 37은 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 38은 도 37에 이은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 39는 도 38에 이은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 40은 본 개시를 적용한 복호 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 41은 도 40의 복호 장치의 화상 생성 처리를 설명하는 흐름도이다.
도 42는 도 21의 스텝 S333의 CU 분할 구조 결정 처리의 예를 설명하는 흐름도이다.
도 43은 CU 분할 구조 결정 처리에 이용하는 트리의 예를 나타내는 도면이다.
도 44는 컴퓨터의 하드웨어의 구성예를 나타내는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하, 실시 형태라 함)에 대하여 설명한다. 또한 설명은 이하의 순서로 행한다.
0. 개요
1. 제1 실시 형태(Cb/Cr의 CU의 2×2의 제한)
2. 제2 실시 형태(세퍼레이트 트리)
3. 제3 실시 형태(최소 CU를 신택스에 추가)
4. 제4 실시 형태(최소 CU를 규격으로 결정)
5. 제5 실시 형태
<0. 개요>
(부호화 방식)
이하에 있어서는, VVC(Versatile Video Coding) 방식의 화상 부호화·복호에 적용하는 경우를 예로 들어 본 기술을 설명한다.
(부호화 단위의 설명)
도 1은, 부호화 단위인 CU(Coding UNIT)의 분할의 예를 나타내는 도면이다.
컬러 화상의 화면은, 해상도에 따른 화소로 구성된다. 화소는, 밝기를 나타내는 휘도(Y)와, 크로마(Cb/Cr)라는 정보를 갖고 있다.
4:2:0 크로마 포맷이라 칭해지는 형식에서는, 도 2에서 나타낸 바와 같이 휘도에 대하여 Cb/Cr의 해상도는 종도 횡도 절반으로 된다. Y의 해상도가 1920×1080인 경우, Cb/Cr의 해상도는 960×540으로 된다.
도 1의 화면에는 CTU(Coding Tree Unit)가 래스터 순으로 나열되어 있다. CTU는 소정의 단위이며, CU라는 부호화 단위로 분할된다. 또한 CTU는, 그대로 분할하지 않고 CU로 하는 것도 가능하다. Y에서 128×128의 CTU가 이용되는 일이 많다.
도 1에 있어서는 굵은 선이 CTU의 경계를 나타내고, 실선, 파선 및 1점 쇄선이 CU의 경계를 나타내고 있다.
도 2는, CU의 분할 방법을 나타내는 도면이다.
도 2의 A에는, Y가 8×8이고 Cb/Cr이 4×4인 CU가 나타나 있다. 도 2의 B에는, 횡 방향으로 2분할된 CU가 나타나 있다. Y가 8×4이고 Cb/Cr이 4×2인 CU가 나타나 있다.
도 2의 C에는, 종 방향으로 2분할된 CU가 나타나 있다. Y가 4×8이고 Cb/Cr이 4×2인 CU가 나타나 있다. 도 2의 D에는, 4개의 CU로 이루어지는 예가 나타나 있다.
HEVC(High Efficiency Video Coding)에서는, CU는, Y가 8×8이고 Cb/Cr이 4×4로 구성되어 있다.
VVC에서는, CU는 Y를 4×4, Cb/Cr를 2×2까지 분할할 수 있다.
여기서, 부호화측의 장치에 화상이 입력되면, 예측 신호와의 차분, 직교 변환, 양자화, 역양자화, 역직교 변환, 예측 신호를 가하여 재구성, 재구성 후의 신호를 이용하여 CU 단위의 인트라 예측이 행해진다. 인트라 예측에서는 주위의 화소값을 사용하는 일이 있다. 이 때문에, 예측 신호와의 차분으로부터 재구성까지의 루프가 완료되지 않으면 다음 CU의 인트라 예측을 행할 수 없다. 따라서 크로마의 CU의 사이즈가 작아짐에 따라 지연이 커져 처리 시간이 길어진다.
도 3은, Y의 CU가 4×4, Cb/Cr의 CU가 2×2인 경우의 인트라 예측의 순서를 나타내는 도면이다.
도 3의 예에 있어서, 화살표는, CU에 있어서 Cb/Cr의 CU의 인트라 예측의 순서를 나타내고 있다.
화살표가 나타낸 바와 같이 좌상, 우상, 좌하, 우하의 순으로 인트라 예측이 행해진다. 우상의 CU는, 좌상의 CU의 처리가 완료되지 않으면 처리를 개시할 수 없다. 좌하의 CU는, 우상의 CU의 처리가 완료되지 않으면 처리를 개시할 수 없다. 우하의 CU는, 좌하의 CU의 처리가 완료되지 않으면 처리를 개시할 수 없다.
이상과 같이 모든 CU가, 최소의 분할인 Y가 4×4, Cb/Cr이 2×2로 되는 경우, 지연이 최대로 되어 버린다.
또한 VVC에서는, Y로부터 Cb/Cr을 예측하는 휘도 크로마 예측이라는 기술이 채용될 예정이다.
도 4는, Y로부터 Cb/Cr에 휘도 크로마 예측을 행하는 경우의 인트라 예측의 순서를 나타내는 도면이다.
도 4의 예에 있어서, 화살표는, Y의 CU와 Cb/Cr의 CU의 인트라 예측의 순서를 나타내고 있다.
Cb/Cr의 좌상의 CU의 인트라 예측에는, Y의 좌상의 CU의 화소값을 이용하기 위하여, Y의 상술한 예측 신호와의 차분으로부터 재구성까지의 루프가 완료되어 있을 필요가 있다.
동화상의 경우, 부호화측의 장치에는, 1초간에 프레임 레이트에 따른 화상이 입력된다. 따라서 실시간 처리에서는, 부호화의 처리가 어느 정도의 단위, 예를 들어 1초간 혹은 1프레임 내에서 완료되어야만 하지만, 지연에 의하여 제때 행해지지 못할 우려가 있다.
복호측의 장치도 마찬가지로, 역직교 변환 후의 신호와 인트라 예측의 신호를 가하여 재구성하고, 재구성 후의 신호를 이용하여 인트라 예측을 행하기 때문에, 부호화 장치와 마찬가지로 지연에 의한 영향을 받아 버린다.
그래서 제1 실시 형태에 있어서는, Cb/Cr의 CU의 2×2를, 부호화측의 장치에 의한 분할 구조의 판정으로부터 제외한다.
<1. 제1 실시 형태(Cb/Cr의 2×2의 제한)>
(부호화 장치의 일 실시 형태의 구성예)
도 5는, 본 개시를 적용한 부호화 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 5의 부호화 장치(10)는 제어부(11), 설정부(12), 부호화부(13) 및 전송부(14)에 의하여 구성되며, 화상을 VVC 방식에 준하는 방식으로 부호화한다.
구체적으로는, 부호화 장치(10)의 제어부(11)는, 예를 들어 CPU(Central Processing Unit)나 마이크로프로세서 등으로 구성된다. 제어부(11)는 CPU에 의하여 소정의 프로그램을 실행하여 각종 연산 처리 또는 각 부의 동작 제어 등을 행하며, 부호화 장치(10)에 있어서의 중심적인 처리 장치로서 동작한다.
예를 들어 제어부(11)는 부호화부(13)로 하여금 RD 코스트를 산출하게 하고, 부호화부(13)로부터 공급되는 RD 코스트에 기초하여 CU의 분할 구조를 결정하는 CU 분할 구조 결정 처리를 행한다. 이때, 제어부(11)는, 분할 후에 Y의 CU가 4×4 이하인 경우를 빼고 CU의 분할 구조를 결정한다. 즉, Cr/Cb의 CU가 2×2로 되는 경우를 빼고 CU의 분할 구조가 결정된다.
또한 제어부(11)는 RD 코스트에 기초하여 예측 모드를 결정한다. 제어부(11)는, 결정한 CU의 분할 구조나 예측 모드에 기초하여 설정부(12)로 하여금 파라미터 세트를 설정하게 하고 부호화부(13)로 하여금 부호화 처리를 행하게 한다.
설정부(12)는 제어부(11)의 지시에 따라 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), VUI(Video Usability Information), SEI(Supplemental Enhancement Information) 등을 설정한다. 설정부(12)는, 설정된 SPS, PPS, VUI, SEI 등의 파라미터 세트를 부호화부(13)에 출력한다.
부호화부(13)에는 프레임 단위의 화상이 입력된다. 부호화부(13)는 제어부(11)의 지시에 따라, 입력된 화상을 부호화한다. 부호화부(13)는, 부호화의 결과 얻어지는 부호화 데이터와 파라미터 세트로부터 부호화 스트림을 생성하여 전송부(14)에 출력한다.
전송부(14)는, 부호화부(13)로부터 공급되는 부호화 스트림을 후술하는 복호 장치(110)에 전송한다.
도 6은, CU의 분할 구조를 결정하기 위한 트리의 예를 나타내는 도면이다.
도 6의 예에 있어서는, Y, Cb, Cr이 동일한 CU의 분할 구조를 갖고 있는 예가 나타나 있다. 트리는 분지를 갖고 있다. 각 분지의 좌우에 나타나는 0, 1은 플래그의 값을 나타내고 있다. 플래그의 값은, 분할 구조가 정해진 후, 스피릿 플래그로서 비트 스트림에 넣어서 보내져 복호측에서 해독된다. 이것에 의하여, 복호측에 있어서, 부호화측의 장치가 결정한 CU의 분할 구조를 알 수 있다.
분지 b1에서는, CTU가 QT 분할(1) 또는 QT 분할 이외(0)가 선택된다. QT 분할 이외에는 BT(Binary Tree) 분할, TT(Ternary Tree) 분할, 또는 No split(분할 없음)(No split)이다.
QT 분할(1)이 선택된 경우, CTU는 QT로 분할된다. QT로 분할된 경우, 굵은 선 화살표와 같이 처리는 되돌아가 각 CT는 재귀적으로 분할된다.
QT 분할 이외(0)가 선택된 경우, 처리는 분지 b2로 진행된다. 분지 b2에서는 BT/TT 분할(1)이나 No split(0)이 선택된다.
분할 없음(0)이 선택된 경우, No split로 되어 처리는 종료된다.
BT/TT 분할(1)이 선택된 경우, 처리는 분지 b3으로 진행된다. 분지 b3에서는 횡(horizontal)(1)이나 종(Vertucal)(0)이 선택된다.
횡(horizontal)(1)이 선택된 경우, 처리는 분지 b4로 진행된다. 분지 b4에서는 BT(1)나 TT(0)가 선택된다.
BT(1)가 선택된 경우, CTU는 BT로 분할된다. TT(1)가 선택된 경우, CTU는 TT로 분할된다. BT로 분할된 경우에도, TT로 분할된 경우에도 파선 화살표와 같이 처리는 되돌아가 재귀적으로 분할된다.
종(Vertucal)(0)이 선택된 경우, 처리는 분지 b5로 진행된다. 분지 b5에서는 BT(1)나 TT(0)가 선택된다.
BT(1)가 선택된 경우, BT로 분할된다. TT(1)가 선택된 경우, TT로 분할된다. BT로 분할된 경우에도, TT로 분할된 경우에도 파선 화살표와 같이 처리는 되돌아가 재귀적으로 분할된다.
여기서의 선택은, RD 최적화(Rate-Distortion Optimization)라 칭해지는 기술에 기초하여 행해진다. RD 최적화에서는, RD 코스트를 계산하여 RD 코스트의 값이 작아지도록 판정함으로써 부호화 효율이 높은 판정을 행할 수 있다. RD 코스트 J는 다음의 식 (1)로 나타난다.
Figure pct00001
D는, 원 화상과 복호 화상의 차분(왜곡), R은, 직교 변환의 계수까지 포함한 발생 부호량, λ는, 양자화 파라미터 QP의 함수로서 주어지는 라그랑주 미정 승수이다.
즉, 제어부(11)는, 각 분지에 있어서 QT, BT, TT, No split의 RD 코스트를 부호화부(13)로 하여금 산출하게 하고, 각 RD 코스트에 기초하여 CU의 분할 구조를 결정한다.
단, 제어부(11)는 QT의 분할 후, Y의 CU가 8×8로 되는 경우, 처리를 되돌린 후, RD 코스트를 구하는 일 없이 분할 없음(0)을 선택한다. 제어부(11)는 BT의 분할 후, Y의 CU가 8×8로 되는 경우, 처리를 되돌린 후, RD 코스트를 구하는 일 없이 분할 없음(0)을 선택한다. 제어부(11)는 TT의 분할 후, Y의 CU가 8×8로 되는 경우, 처리를 되돌린 후, RD 코스트를 구하는 일 없이 분할 없음(0)을 선택한다.
이상과 같이 CU의 분할 구조를 정함으로써 Qr/Qb의 CU가 2×2로 되는 일이 없다. 따라서 인트라 예측의 부호화 처리 및 복호 처리에 있어서 큰 지연을 회피시킬 수 있다.
(부호화부의 구성예)
도 7은, 도 5의 부호화부의 구성예를 나타내는 블록도이다.
도 7의 부호화부(13)는 A/D 변환부(31), 화면 재배열 버퍼(32), 연산부(33), 직교 변환부(34), 양자화부(35), 가역 부호화부(36), 축적 버퍼(37), 역양자화부(38), 역직교 변환부(39) 및 가산부(40)를 갖는다. 또한 부호화부(13)는 디블록 필터(41), 적응 오프셋 필터(42), 적응 루프 필터(43), 프레임 메모리(44), 스위치(45), 인트라 예측부(46), 움직임 예측·보상부(47), 예측 화상 선택부(48) 및 레이트 제어부(49)를 갖는다.
부호화부(13)에 있어서는, 제어부(11)에 의하여 결정된 분할 구조의 CU가 이용된다. 또한 CU 분할 구조 결정 처리에 의하여 구해진 스피릿 플래그는 가역 부호화부(36)에 출력된다.
부호화부(13)의 A/D 변환부(31)는, 부호화 대상의 프레임 단위의 화상을 A/D 변환한다. A/D 변환부(31)는, 변환 후의 디지털 신호인 화상을 화면 재배열 버퍼(32)에 출력하여 기억시킨다.
화면 재배열 버퍼(32)는, 표시순의 프레임 단위의 화상을 GOP 구조에 따라 부호화순으로 재배열한다. 화면 재배열 버퍼(32)는, 재배열 후의 화상을 연산부(33), 인트라 예측부(46) 및 움직임 예측·보상부(47)에 출력한다.
연산부(33)는, 화면 재배열 버퍼(32)로부터 공급되는 화상으로부터, 예측 화상 선택부(48)로부터 공급되는 예측 화상을 감산함으로써 부호화를 행한다. 연산부(33)는, 감산 후의 화상을 잔차 정보(차분)로서 직교 변환부(34)에 출력한다. 또한 예측 화상 선택부(48)로부터 예측 화상이 공급되지 않는 경우, 연산부(33)는, 화면 재배열 버퍼(32)로부터 판독된 화상을 그대로 잔차 정보로서 직교 변환부(34)에 출력한다.
직교 변환부(34)는 CU 단위로, 연산부(33)로부터의 잔차 정보에 대하여 직교 변환 처리를 행한다. 직교 변환부(34)는, 직교 변환 처리 후의 화상을 양자화부(35)에 출력한다.
양자화부(35)는, 직교 변환부(34)로부터 공급되는 직교 변환 처리 후의 화상을 양자화한다. 양자화부(35)는, 양자화 후의 양자화값을 가역 부호화부(36)에 출력한다.
가역 부호화부(36)는, 최적 인트라 예측 모드를 나타내는 정보인 인트라 예측 모드 정보를 인트라 예측부(46)로부터 취득한다. 또한 가역 부호화부(36)는, 최적 인터 예측 모드를 나타내는 정보인 인터 예측 모드 정보, 움직임 벡터, 참조 화상을 특정하는 정보 등을 움직임 예측·보상부(47)로부터 취득한다.
또한 가역 부호화부(36)는 적응 오프셋 필터(42)로부터 오프셋 필터에 관한 오프셋 필터 정보를 취득하고, 적응 루프 필터(43)로부터 필터 계수를 취득한다.
가역 부호화부(36)는, 양자화부(35)로부터 공급되는 양자화값에 대하여, 가변 길이 부호화(예를 들어 CAVLC(Context-Adaptive Variable Length Coding)), 산술 부호화(예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding)) 등의 가역 부호화를 행한다.
또한 가역 부호화부(36)는, 인트라 예측 모드 정보, 또는 인터 예측 모드 정보, 움직임 벡터, 및 참조 화상을 특정하는 정보, 오프셋 필터 정보, 그리고 필터 계수를, 부호화에 관한 부호화 정보로서 가역 부호화한다. 스피릿 플래그는 CTU별로 부호화 정보로서 가역 부호화된다. 가역 부호화부(36)는, 가역 부호화된 부호화 정보와 양자화값을 부호화 데이터로서 축적 버퍼(37)에 출력하여 축적시킨다.
축적 버퍼(37)는, 가역 부호화부(36)로부터 공급되는 부호화 데이터를 일시적으로 기억한다. 또한 축적 버퍼(37)는, 기억하고 있는 부호화 데이터를, 도 5의 설정부(12)로부터 공급되는 파라미터 세트와 함께 부호화 스트림으로서 전송부(14)에 출력한다.
또한 양자화부(35)로부터 출력된 양자화값은 역양자화부(38)에도 입력된다. 역양자화부(38)는 양자화값을 역양자화한다. 역양자화부(38)는, 역양화 후의 직교 변환 처리 결과를 역직교 변환부(39)에 출력한다.
역직교 변환부(39)는 CU 단위로, 역양자화부(38)로부터 공급되는 직교 변환 처리 결과에 대하여 역직교 변환 처리를 행한다. 역직교 변환의 방식으로서는, 예를 들어 IDCT(역이산 코사인 변환)와 IDST(역이산 사인 변환)가 있다. 역직교 변환부(39)는, 역직교 변환 처리의 결과 얻어지는 잔차 정보를 가산부(40)에 출력한다.
가산부(40)는, 역직교 변환부(39)로부터 공급되는 잔차 정보와, 예측 화상 선택부(48)로부터 공급되는 예측 화상을 가산하고, 복호를 행한다. 가산부(40)는, 복호된 화상을 디블록 필터(41)와 프레임 메모리(44)에 출력한다.
디블록 필터(41)는, 가산부(40)로부터 공급되는 복호된 화상에 대하여, 블록 왜곡을 제거하는 디블록 필터 처리를 행한다. 디블록 필터(41)는, 디블록 필터 처리 후의 화상을 적응 오프셋 필터(42)에 출력한다.
적응 오프셋 필터(42)는, 디블록 필터(41)에 의한 디블록 필터 처리 후의 화상에 대하여, 주로 링잉을 제거하는 적응 오프셋 필터(SAO(Sample adaptive offset)) 처리를 행한다.
적응 오프셋 필터(42)는, 적응 오프셋 필터 처리 후의 화상을 적응 루프 필터(43)에 출력한다. 또한 적응 오프셋 필터(42)는, 적응 오프셋 필터 처리의 종류와 오프셋을 나타내는 정보를 오프셋 필터 정보로서 가역 부호화부(36)에 출력한다.
적응 루프 필터(43)는, 예를 들어 2차원의 위너 필터(Wiener Filter)에 의하여 구성된다. 적응 루프 필터(43)는, 적응 오프셋 필터 처리 후의 화상에 대하여 적응 루프 필터(ALF(Adaptive Loop Filter)) 처리를 행한다.
적응 루프 필터(43)는, 적응 루프 필터 처리 후의 화상을 프레임 메모리(44)에 출력한다. 또한 적응 루프 필터(43)는, 적응 루프 필터 처리에 이용된 필터 계수를 가역 부호화부(36)에 출력한다.
프레임 메모리(44)는, 적응 루프 필터(43)로부터 공급되는 화상과, 가산부(40)로부터 공급되는 화상을 축적한다. 프레임 메모리(44)에 축적된, 필터 처리가 행해져 있지 않은 화상 중의 CU에 인접하는 화상은, 주변 화상으로서 스위치(45)를 통하여 인트라 예측부(46)에 출력된다. 한편, 프레임 메모리(44)에 축적된, 필터 처리가 행해진 화상은, 참조 화상으로서 스위치(45)를 통하여 움직임 예측·보상부(47)에 출력된다.
인트라 예측부(46)는 CU 단위로, 프레임 메모리(44)로부터 스위치(45)를 통하여 판독된 주변 화상을 이용하여, 후보로 되는 모든 인트라 예측 모드의 인트라 예측 처리를 행한다.
또한 인트라 예측부(46)는, 화면 재배열 버퍼(32)로부터 판독된 화상과, 인트라 예측 처리에 의하여 예측된 예측 화상에 기초하여, 후보로 되는 모든 인트라 예 모드에 대하여 RD 코스트를 산출한다. 산출한 RD 코스트는 제어부(11)에 출력된다. 제어부(11)는, RD 코스트가 최소로 되는 인트라 예측 모드를 최적 인트라 예측 모드로 결정한다.
인트라 예측부(46)는 제어부(11)의 지시에 따라, 최적 인트라 예측 모드에서 생성된 예측 화상을 예측 화상 선택부(48)에 출력한다. 인트라 예측부(46)는, 제어부(11)로부터, 최적 인트라 예측 모드에서 생성된 예측 화상의 선택이 통지된 경우, 인트라 예측 모드 정보를 가역 부호화부(36)에 출력한다. 또한 인트라 예측 모드란, CU의 사이즈, 예측 방향 등을 나타내는 모드이다.
움직임 예측·보상부(47)는, CU 단위로 후보로 되는 모든 인터 예측 모드의 움직임 예측·보상 처리를 행한다. 구체적으로는, 움직임 예측·보상부(47)는, 화면 재배열 버퍼(32)로부터 공급되는 화상과, 프레임 메모리(44)로부터 스위치(45)를 통하여 판독되는 참조 화상에 기초하여, 후보로 되는 모든 인터 예측 모드의 움직임 벡터를 CU 단위로 검출한다. 그리고 움직임 예측·보상부(47)는, 그 움직임 벡터에 기초하여 CU 단위로 참조 화상에 보상 처리를 실시하여 예측 화상을 생성한다.
이때, 움직임 예측·보상부(47)는, 화면 재배열 버퍼(32)로부터 공급되는 화상과 예측 화상에 기초하여, 후보로 되는 모든 인터 예측 모드에 대하여 RD 코스트를 산출한다. 산출한 RD 코스트는 제어부(11)에 출력된다. 제어부(11)는, RD 코스트가 최소로 되는 인터 예측 모드를 최적 인터 예측 모드로 결정한다.
움직임 예측·보상부(47)는 제어부(11)의 지시에 따라 최적 인터 예측 모드의 예측 화상을 예측 화상 선택부(48)에 출력한다. 또한 움직임 예측·보상부(47)는, 제어부(11)로부터 최적 인터 예측 모드 예측 화상의 선택이 통지된 경우, 인터 예측 모드 정보, 대응하는 움직임 벡터, 참조 화상을 특정하는 정보 등을 가역 부호화부(36)에 출력한다. 여기서, 인터 예측 모드란, CU의 사이즈 등을 나타내는 모드이다.
또한 제어부(11)는, 최적 인트라 예측 모드와 최적 인터 예측 모드 중의, 대응하는 RD 코스트가 작은 쪽을 최적 예측 모드로 결정한다. 그리고 예측 화상 선택부(48)는 제어부(11)의 지시에 따라 최적 예측 모드의 예측 화상을 연산부(33) 및 가산부(40)에 출력한다.
레이트 제어부(49)는, 축적 버퍼(37)에 축적된 부호화 데이터에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록 양자화부(35)의 양자화 동작의 레이트를 제어한다.
(부호화 장치의 동작)
도 8은, 도 5의 부호화 장치의 스트림 생성 처리를 설명하는 흐름도이다.
도 8의 스텝 S11에 있어서, 부호화 장치(10)의 설정부(12)는 파라미터 세트를 설정한다. 설정부(12)는, 설정된 파라미터 세트를 부호화부(13)에 출력한다.
스텝 S12에 있어서, 부호화부(13)는, 프레임 단위의 화상을 부호화하는 부호화 처리를 행한다. 이 부호화 처리의 상세는, 후술하는 도 9 및 도 10을 참조하여 설명한다. 부호화 처리에 의하여 부호화 데이터가 생성된다. 부호화 데이터는 축적 버퍼(37)에 축적된다.
또한 스텝 S12의 부호화 처리에 의하여 산출된 RD 코스트에 기초하여 CU의 분할 구조 및 예측 모드 등이 결정된다. RD 코스트에 기초하는 CU의 분할 구조 및 예측 모드는 스텝 S12에 있어서 부호화 처리에 이용된다.
스텝 S13에 있어서, 설정부(12)로부터 공급되는 파라미터 세트와 축적하고 있는 부호화 데이터로부터 부호화 스트림이 생성되어 전송부(14)에 출력된다.
스텝 S14에 있어서, 전송부(14)는, 부호화부(13)로부터 공급되는 부호화 스트림을 후술하는 복호 장치(110)에 전송하고 처리를 종료한다.
도 9 및 도 10은, 도 8의 스텝 S12의 부호화 처리의 상세를 설명하는 흐름도이다.
도 9의 스텝 S31에 있어서, 부호화부(13)의 A/D 변환부(31)는, 부호화 대상으로서 입력된 프레임 단위의 화상을 A/D 변환한다. A/D 변환부(31)는, 변환 후의 디지털 신호인 화상을 화면 재배열 버퍼(32)에 출력하여 기억시킨다.
스텝 S32에 있어서, 화면 재배열 버퍼(32)는, 표시순의 프레임의 화상을 GOP 구조에 따라 부호화순으로 재배열한다. 화면 재배열 버퍼(32)는, 재배열 후의 프레임 단위의 화상을 연산부(33), 인트라 예측부(46) 및 움직임 예측·보상부(47)에 출력한다.
스텝 S33에 있어서, 제어부(11)는 CU 분할 구조 결정 처리를 행한다. 이 CU 분할 구조 결정 처리의 상세는, 후술하는 도 11을 참조하여 설명한다. CU 분할 구조 결정 처리에 의하여 결정된 분할 구조의 CU가, 이후의 부호화 처리에 있어서 이용된다. CU의 분할 구조 정보는 각 부에 출력된다. 또한 CU 분할 구조 결정 처리에 의하여 구해진 스피릿 플래그는 가역 부호화부(36)에 출력된다.
스텝 S34에 있어서, 인트라 예측부(46)는, CU 단위로 후보로 되는 모든 인트라 예측 모드의 인트라 예측 처리를 행한다. 또한 인트라 예측부(46)는, 화면 재배열 버퍼(32)로부터 판독된 화상과, 인트라 예측 처리에 의하여 예측된 예측 화상에 기초하여, 후보로 되는 모든 인트라 예측 모드에 대하여 RD 코스트를 산출한다. 제어부(11)는, RD 코스트가 최소로 되는 인트라 예측 모드를 최적 인트라 예측 모드로 결정한다. 인트라 예측부(46)는, 최적 인트라 예측 모드에서 생성된 예측 화상을 예측 화상 선택부(48)에 출력한다.
또한 움직임 예측·보상부(47)는, CU 단위로 후보로 되는 모든 인터 예측 모드의 움직임 예측·보상 처리를 행한다. 또한 움직임 예측·보상부(47)는, 화면 재배열 버퍼(32)로부터 공급되는 화상과 예측 화상에 기초하여, 후보로 되는 모든 인터 예측 모드에 대하여 RD 코스트를 산출한다. 제어부(11)는, RD 코스트가 최소로 되는 인터 예측 모드를 최적 인터 예측 모드로 결정한다. 움직임 예측·보상부(47)는, 최적 인터 예측 모드의 예측 화상을 예측 화상 선택부(48)에 출력한다.
스텝 S35에 있어서, 제어부(11)는, 최적 인트라 예측 모드 및 최적 인터 예측 모드의 RD 코스트에 기초하여, RD 코스트가 최소로 되는 쪽을 최적 예측 모드로 결정한다. 그리고 예측 화상 선택부(48)는 최적 예측 모드의 예측 화상을 연산부(33) 및 가산부(40)에 출력한다.
스텝 S36에 있어서, 제어부(11)는, 최적 예측 모드가 최적 인터 예측 모드인지 여부를 판정한다. 스텝 S36에서 최적 예측 모드가 최적 인터 예측 모드라고 판정된 경우, 제어부(11)는, 최적 인터 예측 모드에서 생성된 예측 화상의 선택을 움직임 예측·보상부(47)에 통지한다.
그리고 스텝 S37에 있어서, 움직임 예측·보상부(47)는, 인터 예측 모드 정보, 움직임 벡터, 및 참조 화상을 특정하는 정보를 가역 부호화부(36)에 출력한다. 그 후, 처리는 스텝 S39로 진행된다.
한편, 스텝 S36에서 최적 예측 모드가 최적 인트라 예측 모드인 경우, 제어부(11)는, 최적 인트라 예측 모드에서 생성된 예측 화상의 선택을 인트라 예측부(46)에 통지한다. 그리고 스텝 S38에 있어서, 인트라 예측부(46)는 인트라 예측 모드 정보를 가역 부호화부(36)에 출력한다. 그 후, 처리는 스텝 S39로 진행된다.
스텝 S39에 있어서, 연산부(33)는, 화면 재배열 버퍼(32)로부터 공급되는 화상으로부터, 예측 화상 선택부(48)로부터 공급되는 예측 화상을 감산함으로써 부호화를 행한다. 연산부(33)는 감산 후의 화상을 잔차 정보로서 직교 변환부(34)에 출력한다.
스텝 S40에 있어서, 직교 변환부(34)는 CU 단위로 잔차 정보에 대하여 직교 변환 처리를 행한다. 직교 변환부(34)는 직교 변환 처리 후의 직교 변환 처리 결과를 양자화부(35)에 출력한다.
스텝 S41에 있어서, 양자화부(35)는, 직교 변환부(34)로부터 공급되는 직교 변환 처리 결과를 양자화한다. 양자화부(35)는, 양자화 후의 양자화값을 가역 부호화부(36)와 역양자화부(38)에 출력한다.
도 10의 스텝 S42에 있어서, 역양자화부(38)는, 양자화부(35)로부터의 양자화값에 대하여 역양자화를 행한다. 역양자화부(38)는, 역양화 후의 직교 변환 처리 결과를 역직교 변환부(39)에 출력한다.
스텝 S43에 있어서, 역직교 변환부(39)는 CU 단위로 직교 변환 처리 결과에 대하여 역직교 변환 처리를 행한다. 역직교 변환부(39)는 역직교 변환 처리 후의 잔차 정보를 가산부(40)에 출력한다.
스텝 S44에 있어서, 가산부(40)는, 역직교 변환부(39)로부터 공급되는 잔차 정보와, 예측 화상 선택부(48)로부터 공급되는 예측 화상을 가산하고, 복호를 행한다. 가산부(40)는, 복호된 화상을 디블록 필터(41)와 프레임 메모리(44)에 출력한다.
스텝 S45에 있어서, 디블록 필터(41)는, 가산부(40)로부터 공급되는 화상에 대하여 디블록 필터 처리를 행한다. 디블록 필터(41)는, 디블록 필터 처리 후의 화상을 적응 오프셋 필터(42)에 출력한다.
스텝 S46에 있어서, 적응 오프셋 필터(42)는, 디블록 필터 처리 후의 화상에 대하여 적응 오프셋 필터 처리를 행한다. 적응 오프셋 필터(42)는, 적응 오프셋 필터 처리 후의 화상을 적응 루프 필터(43)에 출력한다. 또한 적응 오프셋 필터(42)는 오프셋 필터 정보를 가역 부호화부(36)에 출력한다.
스텝 S47에 있어서, 적응 루프 필터(43)는, 적응 오프셋 필터 처리 후의 화상에 대하여 적응 루프 필터 처리를 행한다. 적응 루프 필터(43)는, 적응 루프 필터 처리 후의 화상을 프레임 메모리(44)에 출력한다. 또한 적응 루프 필터(43)는, 적응 루프 필터 처리에서 이용된 필터 계수를 가역 부호화부(36)에 출력한다.
스텝 S48에 있어서, 프레임 메모리(44)는, 적응 루프 필터(43)로부터 공급되는 화상과 가산부(40)로부터 공급되는 화상을 축적한다. 프레임 메모리(44)에 축적된, 필터 처리가 행해져 있지 않은 화상 중의 CU에 인접하는 화상은, 주변 화상으로서 스위치(45)를 통하여 인트라 예측부(46)에 출력된다. 한편, 프레임 메모리(44)에 축적된, 필터 처리가 행해진 화상은, 참조 화상으로서 스위치(45)를 통하여 움직임 예측·보상부(47)에 출력된다.
스텝 S49에 있어서, 가역 부호화부(36)는, 인트라 예측 모드 정보, 또는 인터 예측 모드 정보, 움직임 벡터, 및 참조 화상을 특정하는 정보, 오프셋 필터 정보, 그리고 필터 계수를 부호화 정보로서 가역 부호화한다. 스피릿 플래그는 CTU별로 부호화 정보로서 가역 부호화된다.
스텝 S50에 있어서, 가역 부호화부(36)는, 양자화부(35)로부터 공급되는 양자화값을 가역 부호화한다. 그리고 가역 부호화부(36)는, 스텝 S49의 처리에서 가역 부호화된 부호화 정보와 가역 부호화된 양자화값으로부터 부호화 데이터를 생성하여 축적 버퍼(37)에 출력한다.
스텝 S51에 있어서, 축적 버퍼(37)는, 가역 부호화부(36)로부터 공급되는 부호화 데이터를 일시적으로 축적한다.
스텝 S52에 있어서, 레이트 제어부(49)는, 축적 버퍼(37)에 축적된 부호화 데이터에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록 양자화부(35)의 양자화 동작의 레이트를 제어한다. 그리고 처리는 도 8의 스텝 S12로 되돌아가 스텝 S13으로 진행된다.
또한 도 9 및 도 10의 부호화 처리에서는, 설명을 간단화하기 위하여 항시 인트라 예측 처리와 움직임 예측·보상 처리가 행해지도록 하였지만, 실제로는 픽처 타입 등에 따라 어느 한쪽만이 행해지는 경우도 있다.
도 11은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 상세를 설명하는 흐름도이다.
도 11의 스텝 S121에 있어서, 제어부(11)는, CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S121에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S122로 진행된다.
스텝 S122에 있어서, 제어부(11)는, QT 분할 후에 Y의 CU가 8×8로 되지 않는지 여부를 판정한다.
스텝 S122에 있어서, QT 분할 후에 Y의 CU가 8×8로 되지 않는다고 판정된 경우, 처리는 스텝 S123으로 진행된다.
스텝 S123에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S121에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 또는 스텝 S122에 있어서, QT 분할 후에 Y의 CU가 8×8로 된다고 판정된 경우, 처리는 스텝 S124로 진행된다.
스텝 S124에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S125에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 12를 참조하여 설명한다. 스텝 S125에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
스텝 S126에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 13을 참조하여 설명한다. 스텝 S126에 의하여, TT에 의한 CU의 RD 코스트가 계산된다.
스텝 S127에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
도 12는, 도 11의 스텝 S125의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 12의 스텝 S141에 있어서, 제어부(11)는, Horizontal BT 분할 후에 Y의 CU가 8×8로 되지 않는지 여부를 판정한다.
스텝 S141에 있어서, Horizontal BT 분할 후에 Y의 CU가 8×8로 되지 않는다고 판정된 경우, 처리는 스텝 S142로 진행된다.
스텝 S142에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S141에 있어서, Horizontal BT 분할 후에 Y의 CU가 8×8로 된다고 판정된 경우, 처리는 스텝 S142를 건너뛰고 스텝 S143으로 진행된다.
스텝 S143에 있어서, 제어부(11)는, Vertical BT 분할 후에 Y의 CU가 8×8로 되지 않는지 여부를 판정한다.
스텝 S143에 있어서, Vertical BT 분할 후에 Y의 CU가 8×8로 되지 않는다고 판정된 경우, 처리는 스텝 S144로 진행된다.
스텝 S144에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S143에 있어서, Vertical BT 분할 후에 Y의 CU가 8×8로 된다고 판정된 경우, 처리는 스텝 S144를 건너뛰고 스텝 S145로 진행된다.
스텝 S145에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 BT의 CU의 RD 코스트에 이용한다.
도 13은, 도 11의 스텝 S126의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 13의 스텝 S161에 있어서, 제어부(11)는, Horizontal TT 분할 후에 Y의 CU가 8×8로 되지 않는지 여부를 판정한다.
스텝 S161에 있어서, Horizontal TT 분할 후에 Y의 CU가 8×8로 되지 않는다고 판정된 경우, 처리는 스텝 S162로 진행된다.
스텝 S162에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S161에 있어서, Horizontal TT 분할 후에 Y의 CU가 8×8로 된다고 판정된 경우, 처리는 스텝 S162를 건너뛰고 스텝 S163으로 진행된다.
스텝 S163에 있어서, 제어부(11)는, Vertical TT 분할 후에 Y의 CU가 8×8로 되지 않는지 여부를 판정한다.
스텝 S163에 있어서, Vertical TT 분할 후에 Y의 CU가 8×8로 되지 않는다고 판정된 경우, 처리는 스텝 S164로 진행된다.
스텝 S164에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S163에 있어서, Vertical TT 분할 후에 Y의 CU가 8×8로 된다고 판정된 경우, 처리는 스텝 S164를 건너뛰고 스텝 S165로 진행된다.
스텝 S165에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 TT의 CU의 RD 코스트에 이용한다.
이상과 같이 CU의 분할 구조 결정 처리에 있어서, Y의 CU가 8×8보다도 작아지는 경우를 빼도록 하였다. 즉, Cb/Cr의 CU가 2×2로 되는 경우의 CU의 분할 구조를, CU의 분할 구조를 결정하는 선택지로부터 뺄 수 있다. 이것에 의하여 인트라 예측에 있어서의 지연을 적게 할 수 있다.
또한 상기 설명에 있어서는, Cb/Cr의 CU가 2×2로 되는 경우를, CU의 분할 구조를 결정하는 선택지로부터 빼도록 한 예를 설명하였다. 다른 방법으로서는, 다음의 도 14에 나타난 바와 같이, 인트라 예측을 행할 때 Cb/Cr의 CU가 2×2로 되는 경우를 사용하지 않는 방법이 있다.
도 14는, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
또한 도 14에 있어서, 스텝 S186에 있어서의 CU의 예측 모드의 판정 처리 이외에는 통상의 CU 분할 구조 결정 처리와 동일한 처리이다.
도 14의 스텝 S181에 있어서, 제어부(11)는, CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S181에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S182로 진행된다.
스텝 S182에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S181에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 처리는 스텝 S183으로 진행된다.
스텝 S183에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S184에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 15를 참조하여 설명한다. 스텝 S184에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
스텝 S185에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 16을 참조하여 설명한다. 스텝 S185에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
스텝 S186에 있어서, 제어부(11)는 CU의 예측 모드 판정 처리를 행한다. 이 CU의 예측 모드 판정 처리의 상세는, 후술하는 도 17을 참조하여 설명한다. 스텝 S186에 의하여, Cb/Cr에서 2×2인 CU의 인트라 예측 이외의 RD 코스트가 구해진다.
스텝 S187에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
도 15는, 도 14의 스텝 S184의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 15의 스텝 S201에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S202에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S203에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 BT의 CU의 RD 코스트에 이용한다.
도 16은, 도 14의 스텝 S185의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 16의 스텝 S221에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S222에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S223에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 TT의 CU의 RD 코스트에 이용한다.
도 17은, 도 14의 스텝 S186의 CU의 예측 모드 판정 처리의 상세를 설명하는 흐름도이다.
도 17의 스텝 S241에 있어서, 제어부(11)는, CU가 Cb/Cr에서 4×4 이상인지 여부를 판정한다.
스텝 S241에 있어서, CU가 Cb/Cr에서 4×4 이상이라고 판정된 경우, 처리는 스텝 S242로 진행된다.
스텝 S242에 있어서, 부호화부(13)는 인트라 예측을 이용하여 RD 코스트를 계산한다. 그 후, 처리는 스텝 S243으로 진행된다.
또한 스텝 S241에 있어서, CU가 Cb/Cr에서 4×4 이상은 아니라고 판정된 경우, 처리는 스텝 S242를 건너뛰고 스텝 S243으로 진행된다.
스텝 S243에 있어서, 부호화부(13)는 인터 예측을 이용하여 RD 코스트를 계산한다.
스텝 S244에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 CU의 RD 코스트에 이용한다.
이상과 같이 CU의 분할 구조 결정 처리에 있어서, 인트라 예측에 대해서는, Cb/Cr의 CU가 4×4 이상인 경우에만 RD 코스트를 계산하도록 하였다. 즉, 이 처리의 경우에도, Cb/Cr의 CU가 2×2로 되는 경우의 CU의 분할 구조를, CU의 분할 구조를 결정하는 선택지로부터 뺄 수 있다. 이것에 의하여 인트라 예측에 있어서의 지연을 적게 할 수 있다.
(복호 장치의 일 실시 형태의 구성예)
도 18은, 도 5의 부호화 장치로부터 전송되는 부호화 스트림을 복호하는, 본 개시를 적용한 복호 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 18의 복호 장치(110)는 제어부(111), 수취부(112), 추출부(113) 및 복호부(114)에 의하여 구성된다.
복호 장치(110)의 제어부(111)는, 예를 들어 CPU나 마이크로프로세서 등으로 구성된다. 제어부(111)는 CPU에 의하여 소정의 프로그램을 실행하여 각종 연산 처리 또는 각 부의 동작 제어 등을 행하며, 복호 장치(110)에 있어서의 중심적인 처리 장치로서 동작한다.
제어부(111)는, 파라미터 세트에 포함되는 정보를 추출한다. 제어부(111)는, 파라미터 세트에 포함되는 정보에 기초하여 복호부(114)를 제어한다. 구체적으로는, 제어부(111)는, 파라미터 세트에 포함되는 정보(도 27을 참조하여 후술됨)를 복호부(114)에 출력하여 CU의 분할 구조 결정 처리를 행하게 한다.
수취부(112)는, 도 8의 부호화 장치(10)로부터 전송되어 오는 부호화 스트림을 수취하여 추출부(113)에 출력한다.
추출부(113)는, 수취부(112)로부터 공급되는 부호화 스트림으로부터 파라미터 세트와 부호화 데이터를 추출한다. 추출부(113)는 파라미터 세트를 제어부(111)에 출력한다. 추출부(113)는 부호화 데이터를 복호부(114)에 출력한다.
복호부(114)는 제어부(111)의 지시에 따라, 추출부(113)로부터 공급되는 부호화 데이터를 VVC 방식에 준하는 방식으로 복호한다. 그때, 복호부(114)는 제어부(111)의 지시에 따라 CU의 분할 구조 결정 처리를 행하고, 결정된 분할 구조의 CU를 이용하여 부호화 데이터를 복호한다. 복호부(114)는 복호 후의 화상을 출력한다.
(복호부의 구성예)
도 19는, 도 18의 복호부의 구성예를 나타내는 블록도이다.
도 19의 복호부(114)는 축적 버퍼(131), 가역 복호부(132), 역양자화부(133), 역직교 변환부(134), 가산부(135), 디블록 필터(136), 적응 오프셋 필터(137), 적응 루프 필터(138) 및 화면 재배열 버퍼(139)를 갖는다. 또한 복호부(114)는 D/A 변환부(140), 프레임 메모리(141), 스위치(142), 인트라 예측부(143), 움직임 보상부(144) 및 스위치(145)를 갖는다.
복호부(114)의 축적 버퍼(131)는, 도 18의 추출부(113)로부터 부호화 데이터를 수취하여 축적한다. 축적 버퍼(131)는, 축적되어 있는 부호화 데이터를 가역 복호부(132)에 출력한다.
가역 복호부(132)는, 축적 버퍼(131)로부터의 부호화 데이터에 대하여 가변 길이 복호나 산술 복호 등의 가역 복호를 실시함으로써 양자화값과 부호화 정보를 얻는다. 가역 복호부(132)는 양자화값을 역양자화부(133)에 출력한다. 부호화 정보는, 스피릿 플래그, 인트라 예측 모드 정보, 인터 예측 모드 정보, 움직임 벡터, 참조 화상을 특정하는 정보, 오프셋 필터 정보, 필터 계수 등으로 구성된다.
가역 복호부(132)는 제어부(111)의 지시에 따라 스피릿 플래그를 이용하여 CU 분할 구조 결정 처리를 행한다. 스피릿 플래그 중, 트리의 분지에 대응하는 플래그를 판독함으로써 CU의 분할 구조를 알 수 있다.
복호부(114)에 있어서는, 부호화 장치(10)에 의하여 결정되고 가역 복호부(132)에 의하여 구해진 분할 구조의 CU가 이용된다.
또한 가역 복호부(132)는 인트라 예측 모드 정보 등을 인트라 예측부(143)에 출력한다. 가역 복호부(132)는, 움직임 벡터, 인터 예측 모드 정보, 참조 화상을 특정하는 정보 등을 움직임 보상부(144)에 출력한다.
가역 복호부(132)는 인트라 예측 모드 정보 또는 인터 예측 모드 정보를 스위치(145)에 출력한다. 가역 복호부(132)는 오프셋 필터 정보를 적응 오프셋 필터(137)에 출력한다. 가역 복호부(132)는 필터 계수를 적응 루프 필터(138)에 출력한다.
역양자화부(133), 역직교 변환부(134), 가산부(135), 디블록 필터(136), 적응 오프셋 필터(137), 적응 루프 필터(138), 프레임 메모리(141), 스위치(142), 인트라 예측부(143) 및 움직임 보상부(144)는, 도 7의 역양자화부(38), 역직교 변환부(39), 가산부(40), 디블록 필터(41), 적응 오프셋 필터(42), 적응 루프 필터(43), 프레임 메모리(44), 스위치(45), 인트라 예측부(46) 및 움직임 예측·보상부(47)와 각각 마찬가지의 처리를 행한다. 이것에 의하여 화상이 복호된다.
구체적으로는, 역양자화부(133)는 도 7의 역양자화부(38)와 마찬가지로 구성된다. 역양자화부(133)는 CU 단위로 가역 복호부(132)로부터의 양자화값을 역양자화한다. 역양자화부(133)는, 역양자화 후의 직교 변환 처리 결과를 역직교 변환부(134)에 출력한다.
역직교 변환부(134)는 도 7의 역직교 변환부(39)와 마찬가지로 구성된다. 역직교 변환부(134)는, 역양자화부(133)로부터 공급되는 직교 변환 처리 결과에 대하여 역직교 변환 처리를 행한다. 역직교 변환부(134)는, 역직교 변환 처리 후의 잔차 정보를 가산부(135)에 출력한다.
가산부(135)는, 역직교 변환부(134)로부터 공급되는 잔차 정보와, 스위치(145)로부터 공급되는 예측 화상을 가산함으로써, 복호를 행한다. 가산부(135)는, 복호된 화상을 디블록 필터(136)와 프레임 메모리(141)에 출력한다.
디블록 필터(136)는, 가산부(135)로부터 공급되는 화상에 대하여 디블록 필터 처리를 행하고, 디블록 필터 처리 후의 화상을 적응 오프셋 필터(137)에 출력한다.
적응 오프셋 필터(137)는, 가역 복호부(132)로부터의 오프셋 필터 정보가 나타내는 오프셋을 이용하여, 디블록 필터 처리 후의 화상에 대하여, 오프셋 필터 정보가 나타내는 종류의 적응 오프셋 필터 처리를 행한다. 적응 오프셋 필터(137)는, 적응 오프셋 필터 처리 후의 화상을 적응 루프 필터(138)에 출력한다.
적응 루프 필터(138)는, 적응 오프셋 필터(137)로부터 공급되는 화상에 대하여, 가역 복호부(132)로부터 공급되는 필터 계수를 이용하여 적응 루프 필터 처리를 행한다. 적응 루프 필터(138)는, 적응 루프 필터 처리 후의 화상을 프레임 메모리(141) 및 화면 재배열 버퍼(139)에 출력한다.
화면 재배열 버퍼(139)는, 적응 루프 필터 처리 후의 화상을 프레임 단위로 기억한다. 화면 재배열 버퍼(139)는, 부호화순의 프레임 단위의 화상을 원래의 표시순으로 재배열하여 D/A 변환부(140)에 출력한다.
D/A 변환부(140)는, 화면 재배열 버퍼(139)로부터 공급되는 프레임 단위의 화상을 D/A 변환하여 출력한다.
프레임 메모리(141)는, 적응 루프 필터 처리 후의 화상과, 가산부(135)로부터 공급되는 화상을 축적한다. 프레임 메모리(141)에 축적된, 필터 처리가 행해져 있지 않은 화상 중의 CU에 인접하는 화상은, 주변 화상으로서 스위치(142)를 통하여 인트라 예측부(143)에 공급된다. 한편, 프레임 메모리(141)에 축적된, 필터 처리가 행해진 화상은, 참조 화상으로서 스위치(142)를 통하여 움직임 보상부(144)에 출력된다.
인트라 예측부(143)는, 프레임 메모리(141)로부터 스위치(142)를 통하여 판독된 주변 화상을 이용하여, 가역 복호부(132)로부터 공급되는 인트라 예측 모드 정보가 나타내는 최적 인트라 예측 모드의 인트라 예측 처리를 행한다. 인트라 예측부(143)는, 그 결과 생성되는 예측 화상을 스위치(145)에 출력한다.
움직임 보상부(144)는, 프레임 메모리(141)로부터 스위치(142)를 통하여 가역 복호부(132)로부터 공급되는 참조 화상을 특정하는 정보에 의하여 특정되는 참조 화상을 판독한다. 움직임 보상부(144)는, 가역 복호부(132)로부터 공급되는 움직임 벡터와 참조 화상을 이용하여, 가역 복호부(132)로부터 공급되는 인터 예측 모드 정보가 나타내는 최적 인터 예측 모드의 움직임 보상 처리를 행한다. 움직임 보상부(144)는, 그 결과 생성되는 예측 화상을 스위치(145)에 출력한다.
스위치(145)는, 가역 복호부(132)로부터 인트라 예측 모드 정보가 공급된 경우, 인트라 예측부(143)로부터 공급되는 예측 화상을 가산부(135)에 출력한다. 한편, 가역 복호부(132)로부터 인터 예측 모드 정보가 공급된 경우, 스위치(145)는, 움직임 보상부(144)로부터 공급되는 예측 화상을 가산부(135)에 출력한다.
(복호 장치의 처리의 설명)
도 20은, 도 18의 복호 장치의 화상 생성 처리를 설명하는 흐름도이다.
도 20의 스텝 S301에 있어서, 복호 장치(110)의 수취부(112)는, 도 8의 부호화 장치(10)로부터 전송되어 오는 부호화 스트림을 수취하여 추출부(113)에 출력한다.
스텝 S302에 있어서, 추출부(113)는, 수취부(112)로부터 공급되는 부호화 스트림으로부터 부호화 데이터와 파라미터 세트를 추출한다. 추출부(113)는 부호화 데이터를 복호부(114)에 출력한다. 추출부(113)는 파라미터 세트를 제어부(111)에 출력한다.
제어부(111)는, 파라미터 세트에 포함되는 정보에 기초하여 복호부(114)를 제어한다.
스텝 S303에 있어서, 복호부(114)는 제어부(111)의 지시에 따라, 추출부(113)로부터 공급되는 부호화 데이터를 복호한다. 이 복호 처리의 상세는, 후술하는 도 21을 참조하여 설명한다. 그 후, 화상 생성 처리는 종료된다.
도 21은, 도 20의 스텝 S303의 복호 처리의 상세를 설명하는 흐름도이다.
도 20의 스텝 S331에 있어서, 복호부(114)의 축적 버퍼(131)는 추출부(113)로부터 프레임 단위의 부호화 데이터를 수취하여 축적한다. 축적 버퍼(131)는, 축적되어 있는 부호화 데이터를 가역 복호부(132)에 출력한다.
스텝 S332에 있어서, 가역 복호부(132)는, 축적 버퍼(131)로부터의 부호화 데이터를 가역 복호하여 양자화값과 부호화 정보를 얻는다. 가역 복호부(132)는 양자화값을 역양자화부(133)에 출력한다.
가역 복호부(132)는 인트라 예측 모드 정보 등을 인트라 예측부(143)에 출력한다. 가역 복호부(132)는, 움직임 벡터, 인터 예측 모드 정보, 참조 화상을 특정하는 정보 등을 움직임 보상부(144)에 출력한다.
또한 가역 복호부(132)는 인트라 예측 모드 정보 또는 인터 예측 모드 정보를 스위치(145)에 출력한다. 가역 복호부(132)는 오프셋 필터 정보를 적응 오프셋 필터(137)에 공급하고, 필터 계수를 적응 루프 필터(138)에 출력한다.
스텝 S333에 있어서, 가역 복호부(132)는 제어부(111)의 지시에 따라, 파라미터 세트에 포함되는 정보와 스피릿 플래그에 기초하여 CU의 분할 구조 결정 처리를 행한다. 스텝 S333에 의하여 CU의 분할 구조가 구해진다. 복호부(114)의 각 부에 있어서는, 가역 복호부(132)에 의하여 결정된 분할 구조의 CU가 이용되어 각 처리가 행해진다.
스텝 S334에 있어서, 역양자화부(133)는, 가역 복호부(132)로부터 공급되는 양자화값을 역양자화한다. 역양자화부(133)는, 역양자화 후의 직교 변환 처리 결과를 역직교 변환부(134)에 출력한다.
스텝 S335에 있어서, 역직교 변환부(134)는, 역양자화부(133)로부터 공급되는 직교 변환 처리 결과에 대하여 직교 변환 처리를 행한다.
스텝 S336에 있어서, 움직임 보상부(144)는, 가역 복호부(132)로부터 인터 예측 모드 정보가 공급되었는지 여부를 판정한다. 스텝 S335에서 인터 예측 모드 정보가 공급되었다고 판정된 경우, 처리는 스텝 S336으로 진행된다.
스텝 S337에 있어서, 움직임 보상부(144)는, 가역 복호부(132)로부터 공급되는 참조 화상 특정 정보에 기초하여 참조 화상을 판독하고, 움직임 벡터와 참조 화상을 이용하여, 인터 예측 모드 정보가 나타내는 최적 인터 예측 모드의 움직임 보상 처리를 행한다. 움직임 보상부(144)는, 움직임 보상 후의 예측 화상을 스위치(145)를 통하여 가산부(135)에 출력한다. 그 후, 처리는 스텝 S339로 진행된다.
한편, 스텝 S336에서 인터 예측 모드 정보가 공급되어 있지 않다고 판정된 경우, 즉, 인트라 예측 모드 정보가 인트라 예측부(143)에 공급된 경우, 처리는 스텝 S338로 진행된다.
스텝 S338에 있어서, 인트라 예측부(143)는, 프레임 메모리(141)로부터 스위치(142)를 통하여 판독된 주변 화상을 이용하여, 인트라 예측 모드 정보가 나타내는 인트라 예측 모드의 인트라 예측 처리를 행한다. 인트라 예측부(143)는, 인트라 예측 처리의 결과 생성되는 예측 화상을 스위치(145)를 통하여 가산부(135)에 출력한다. 그 후, 처리는 스텝 S339로 진행된다.
스텝 S339에 있어서, 가산부(135)는, 역직교 변환부(134)로부터 공급되는 잔차 정보와, 스위치(145)로부터 공급되는 예측 화상을 가산함으로써, 복호를 행한다. 가산부(135)는, 복호된 화상을 디블록 필터(136)와 프레임 메모리(141)에 출력한다.
스텝 S340에 있어서, 디블록 필터(136)는, 가산부(135)로부터 공급되는 화상에 대하여 디블록 필터 처리를 행하여 블록 왜곡을 제거한다. 디블록 필터(136)는, 디블록 필터 처리 후의 화상을 적응 오프셋 필터(137)에 출력한다.
스텝 S341에 있어서, 적응 오프셋 필터(137)는, 가역 복호부(132)로부터 공급되는 오프셋 필터 정보에 기초하여, 디블록 필터 처리 후의 화상에 대하여 적응 오프셋 필터 처리를 행한다. 적응 오프셋 필터(137)는, 적응 오프셋 필터 처리 후의 화상을 적응 루프 필터(138)에 출력한다.
스텝 S342에 있어서, 적응 루프 필터(138)는, 적응 오프셋 필터(137)로부터 공급되는 화상에 대하여, 가역 복호부(132)로부터 공급되는 필터 계수를 이용하여 LCU별로 적응 루프 필터 처리를 행한다. 적응 루프 필터(138)는, 적응 루프 필터 처리 후의 화상을 프레임 메모리(141) 및 화면 재배열 버퍼(139)에 공급한다.
스텝 S343에 있어서, 프레임 메모리(141)는, 가산부(135)로부터 공급되는 화상과 적응 루프 필터(138)로부터 공급되는 화상을 축적한다. 프레임 메모리(141)에 축적된, 필터 처리가 행해져 있지 않은 화상 중의 CU에 인접하는 화상은, 주변 화상으로서 스위치(142)를 통하여 인트라 예측부(143)에 공급된다. 한편, 프레임 메모리(141)에 축적된, 필터 처리가 행해진 화상은, 참조 화상으로서 스위치(142)를 통하여 움직임 보상부(144)에 공급된다.
스텝 S344에 있어서, 화면 재배열 버퍼(139)는, 적응 루프 필터(138)로부터 공급되는 화상을 프레임 단위로 기억하고, 부호화순의 프레임 단위의 화상을 원래의 표시순으로 재배열하여 D/A 변환부(140)에 출력한다.
스텝 S345에 있어서, D/A 변환부(140)는, 적응 루프 필터 처리 후의 화상을 D/A 변환하여 출력한다. 그리고 처리는 도 20의 스텝 S303로 되돌아가 종료된다.
이상과 같이 부호화측에서, CU의 분할 구조 결정 처리에 있어서 Y의 CU가 8×8보다도 작아지는 경우를 빼도록 하였다. 즉, Cb/Cr의 CU가 2×2로 되는 경우의 CU의 분할 구조를, CU의 분할 구조를 결정하는 선택지로부터 뺄 수 있다. 이것에 의하여 인트라 예측에 있어서의 지연을 적게 할 수 있다.
또한 제1 실시 형태에 있어서는, Y의 CU와 Cb/Cr의 CU는 동일한 분할 구조인 경우에 대하여 설명했다.
제1 실시 형태의 기술에서는, CU의 분할을 작게 하지 않고 처리를 중단함으로써 큰 지연을 회피하도록 하였다. 그러나 Cb/Cr의 CU를 작게 하지 않기 때문에 Y의 CU도 작게 할 수 없었다.
실제로 Y의 CU에서 4×4를 사용할 수 없으면 부호화 효율의 악화가 우려된다.
그래서, 다음에 설명하는 제2 실시 형태에 있어서는 세퍼레이트 트리가 응용된다.
<2. 제2 실시 형태(세퍼레이트 트리)>
(세퍼레이트 트리의 설명)
도 22는, 세퍼레이트 트리의 예를 나타내는 도면이다.
도 22에 있어서는, Y의 CU의 분할 구조를 결정하기 위한 트리와, Cb/Cr의 CU의 분할 구조를 결정하기 위한 트리가 나타나 있다.
도 22에 나타낸 바와 같이, Y의 CU와 Cb/Cr의 CU를 따로따로의 분할 구조로 하는 기술이 있으며, 그 기술은 세퍼레이트 트리라 칭해지고 있다. 즉, 세퍼레이트 트리에 있어서는, Y에 대한 CU의 분할 구조 결정 처리와, Cb/Cr에 대한 CU의 분할 구조 결정 처리가 행해진다.
그래서 제2 실시 형태에 있어서는, 세퍼레이트 트리를 응용함으로써 Y의 CU에서 4×4를 사용 가능하게 하여 부호화 효율의 악화를 억제하도록 한다.
또한 제1 실시 형태의 예와 제2 실시 형태의 예가 다른 것은, 세퍼레이트 트리를 이용하는 것과 CU 분할 구조 결정 처리뿐이다. 따라서 부호화 장치(10)의 구성 및 그 외의 처리와, 복호 장치(110)와 그 처리는 기본적으로 동일하므로, 이하, 부호화 장치(10)를 이용하여 CU 분할 구조 결정 처리에 대해서만 설명한다.
(부호화 장치의 동작)
도 23 및 도 24는, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
도 23의 스텝 S401에 있어서, 제어부(11)는, Y의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S401에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S402로 진행된다.
스텝 S402에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S401에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 처리는 스텝 S403으로 진행된다.
스텝 S403에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S404에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 상술한 도 15의 BT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S404에 의하여, BT에 의한 CU의 RD 코스트가 CU의 제한 없이 계산된다.
스텝 S405에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 상술한 도 16의 TT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S405에 의하여 TT에 의한 CU의 RD 코스트가 CU의 제한 없이 계산된다.
스텝 S406에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
도 24의 스텝 S407에 있어서, 제어부(11)는, Cb/Cr의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S407에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S408로 진행된다.
스텝 S408에 있어서, 제어부(11)는, QT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S408에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S409로 진행된다.
스텝 S409에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S407에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 또는 스텝 S408에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우, 처리는 스텝 S410으로 진행된다.
스텝 S410에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S411에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 25를 참조하여 설명한다. 스텝 S411에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
스텝 S412에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리의 상세는, 후술하는 도 26을 참조하여 설명한다. 스텝 S412에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
스텝 S413에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
또한 상술한 스텝 S401 내지 S406은, Y에 대한 CU 분할 구조 결정 처리이다. 스텝 S407 내지 S413은, Cr/Cb에 대한 CU 분할 구조 결정 처리이다.
도 25는, 도 24의 스텝 S411의 BT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 25의 스텝 S431에 있어서, 제어부(11)는 Horizontal BT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S431에 있어서, Horizontal BT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S432로 진행된다.
스텝 S432에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S431에 있어서, Horizontal BT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우, 처리는 스텝 S432를 건너뛰고 스텝 S433으로 진행된다.
스텝 S433에 있어서, 제어부(11)는, Vertical BT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S433에 있어서, Vertical BT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S434로 진행된다.
스텝 S434에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S433에 있어서, Vertical BT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우, 처리는 스텝 S434를 건너뛰고 스텝 S435로 진행된다.
스텝 S435에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 BT의 CU의 RD 코스트에 이용한다.
도 26은, 도 24의 스텝 S412의 TT의 RD 코스트의 계산 처리의 상세를 설명하는 흐름도이다.
도 26의 스텝 S451에 있어서, 제어부(11)는, Horizontal TT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S451에 있어서, Horizontal TT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S452로 진행된다.
스텝 S452에 있어서, 부호화부(13)는 Horizontal로 분할하여 RD 코스트를 계산한다.
스텝 S451에 있어서, Horizontal TT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우, 처리는 스텝 S452를 건너뛰고 스텝 S453으로 진행된다.
스텝 S453에 있어서, 제어부(11)는, Vertical TT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S453에 있어서, Vertical TT 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S454로 진행된다.
스텝 S454에 있어서, 부호화부(13)는 Vertical로 분할하여 RD 코스트를 계산한다.
스텝 S453에 있어서, Vertical TT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우, 처리는 스텝 S454를 건너뛰고 스텝 S455로 진행된다.
스텝 S455에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 채용하여 당해 TT의 CU의 RD 코스트에 이용한다.
이상과 같이 CU의 분할 구조 결정 처리에 있어서, Cb/Cr의 CU가 2×2보다도 작아지는 경우를 빼도록 하였다. 따라서 Cb/Cr의 CU가 2×2로 되는 경우의 CU의 분할 구조를, CU의 분할 구조를 결정하는 선택지로부터 뺄 수 있다. 이것에 의하여 인트라 예측에 있어서의 지연을 적게 할 수 있다.
또한 세퍼레이트 트리가 이용되고 있으므로 Y의 CU로서 4×4를 이용할 수 있다. 따라서 부호화 효율의 악화를 억제할 수 있다.
또한 상기 설명에 있어서는, 부호화측에 있어서 Cb/Cr의 CU가 2×2로 되는 경우를 회피하도록 한 예를 설명했지만, 다음에 설명하는 제3 실시 형태에 있어서는 하이레벨 신택스에 의해 CU의 분할 구조가 제한된다.
<3. 제3 실시 형태(최소 CU를 신택스에 추가)>
(신택스의 설명)
도 27은, 세퍼레이트 트리에 관한 시맨틱스의 예를 나타내는 도면이다.
도 27에는, 세퍼레이트 트리에 관한 SPS의 복호에 필요한 정보가 정의된 시맨틱스가 발췌되어 나타나 있다.
시맨틱스에는, 해상도나 4:2:0의 크로마 포맷 등의 정보가 정의되어 있다. 특히 SPS 등은, 동화상의 부호화 전체를 통해 사용되기 때문에 하이레벨 신택스라 칭해지고 있다.
또한 도 27에 있어서는, 설명의 편의상 좌측에 숫자를 붙이고 있다.
제1 행째 내지 제3 행째에는 「qtbtt_dual_tree_intra_flag equal to 1 specifies that for I slices, each CTU is spilit into coding units with 64×64 luma samples using an implicit quadtree split and that these coding units are the root of two separate coding_quadtree syntax structure for luma and chroma.」가 기재되어 있다. dual_tree는 세퍼레이트 트리의 별명이다. 세퍼레이트 트리는 dual_tree라고도 칭해지고 있다. 제1 행째 내지 제3 행째에는, 세퍼레이트 트리를 사용할지 여부를 지정하는 정보가 기재되어 있다.
제4 행째에는 「log2_ctu_size_minus2 plus2 specifies the luma coding tree block size of each CTU.」가 기재되어 있다. 제4 행째에는, 각각의 CTU에 있어서의 휘도의 coding tree block의 사이즈를 지정하는 정보가 기재되어 있다.
제6 행째 내지 제8 행째에는 「log2_min_qt_size_intra_slices_minus2 plus2 specifies the minimum luma size of a leaf block resulting from quadtree splitting of a CTU in slices with slice_type equal to 2(I). The value of log2_min_qt_size_intra_slices_minus2 shall be in the range of 0 to Ctblog2SizeY-2, inclusive.」가 기재되어 있다.
제9 행째에는 「MinQtLog2SizeIntraY=log2_min_qt_size_intra_slices_minus2+2(7-22)」가 기재되어 있다.
제10 행째에는 「[Ed.(BB):the leaf of a quadtree can either be a coding unit or the root a nested multi-type tree.]」가 기재되어 있다.
제11 행째 내지 제13 행째에는 「log2_min_qt_size_inter_slices_minus2 plus 2 specifies the minimum luma size of a leaf block resulting from quadtree slitting of a CTU in slices with slice_type equal to 0(B) or 1(P). The value of log2_min qt_size_inter_slices_minus2 shall be in the range of 0 to CtbLog2SizeY-2, inclusive.」가 기재되어 있다.
제14 행째에는 「MinQtLog2SizeInter=log_min_qt_size_inter_slices_minus2+2(7-23)」이 기재되어 있다.
제15 행째 내지 제17 행째에는 「max_mtt_hierarchy_depth_inter_slices specifies the maxmum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf in slices with slice_type equal to 0(B) or 1(P). The value of max_mtt_hierarchy_depth_inter_slices shall be in the range of 0 to CtbLog2SizeY-MinTbLog2SizeY, inclusive.」가 기재되어 있다. mtt는 BT/TT의 별명이다. BT/TT는 mtt라고도 칭해지고 있다.
제18 행째 내지 제20 행째에는 「max_mtt_hierarchy_depth_intra_slices specifies the maxmum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf in slices with slice_type equal to 2(I). The value of max_mtt_hierarchy_depth_intra_slices shall be in the range of 0 to CtbLog2SizeY-MinTbLog2SizeY, inclusive.」가 기재되어 있다.
도 28은, 도 27에 기재된 정보를 이용하여 제어할 수 있는 CU의 분할 구조의 일례를 나타내는 도면이다.
도 28에 있어서, 해치가 부여된 동그라미는 QT 분할을 나타낸다. 검정 동그라미는 BT/TT 분할을 나타낸다.
「log2_min_qt_size_intra_slices_minus2」(도 27의 제11 행째)는, I 슬라이스의 경우의 QT 분할의 최소 사이즈를 지정하는 정보이다.
도 28에는 「log2_min_qt_size_intra_slices_minus2」:1로서, QT 분할의 최소 사이즈가 1인 예가 나타나 있다. 「log2_min_qt_size_intra_slices_minus2」:1은 2의 3제곱을 나타내어 8로 해석된다. 즉, 8×8이 QT 분할의 최소로 된다.
상위로부터 QT로 분할되어 8×8까지 도달하면 「log2_min_qt_size_intra_slices_minus2」:1에 의하여 이 이상의 QT 분할을 할 수 없게 된다. 도 28의 경우, 8×8에 도달해 있는, 위로부터 2번째의 QT 분할 이후에는 BT/TT 분할밖에 행할 수 없다.
또한 「max_mtt_hierarchy_depth_intra_slices」(도 27의 제18 행째)는, I 슬라이스의 경우의 QT 분할 후의 BT/TT 분할이 가능한 깊이를 지정하는 정보이다.
도 28에는 「max_mtt_hierarchy_depth_intra_slices」:3으로서, BT/TT 분할이 가능한 깊이가 3인 예가 나타나 있다. 도 28의 경우, 8×8에 도달해 있는, 위로부터 2번째의 QT 분할 이후에는 3단계까지 BT/TT 분할을 행할 수 있다.
실제로는 4×4까지 분할이 허가되어 있으므로, 종으로 BT 분할하고 횡으로 BT 분할한 경우, 4×4로 되어 버리기 때문에 이 이상의 분할은 행할 수 없다.
도 29는, 세퍼레이트 트리를 상정하여 Y와 Cb/Cr에서 따로따로 도 28의 제어를 할 수 있도록 확장한 예를 나타내는 도면이다.
도 29에는 「log2_min_qt_size_intra_slices_luma_minus2」와 「log2_min_qt_size_intra_slices_chroma_minus2」가 나타나 있다. 「log2_min_qt_size_intra_slices_luma_minus2」는, Y의 QT 분할의 최소 사이즈를 지정하는 정보이다. 「log2_min_qt_size_intra_slices_chroma_minus2」는, Cb/Cr의 QT 분할의 최소 사이즈를 지정하는 정보이다.
또한 도 29에는 「max_mtt_hierarchy_depth_intra_luma_slices」와 「max_mtt_hierarchy_depth_intra_chroma_slices」가 나타나 있다. 「max_mtt_hierarchy_depth_intra_luma_slices」는, Y의 BT/TT 분할이 가능한 깊이를 지정하는 정보이다. 「max_mtt_hierarchy_depth_intra_chroma_slices」는, Cb/Cr의 BT/TT 분할이 가능한 깊이를 지정하는 정보이다.
또한 도 29에 나타난 CU의 분할 구조는 도 28과 마찬가지의 분할 구조이지만, 도 29에 있어서는 Y 또는 Cb/Cr의 일례밖에 나타나 있지 않다. 또한 시맨틱스에는 기재되어 있지 않지만, VVC의 소프트웨어에서는 I 슬라이스에 한하여 Y와 Cb/Cr을 따로따로 지정 가능하다.
도 30은, 도 27에 기재된 정보를 이용하여 Cb/Cr의 CU만 4×4를 최소로 하도록 한 예를 나타내는 도면이다.
도 30에는, 「log2_min_qt_size_intra_slices_luma_minus2」:0으로 하여 Y의 QT 분할의 최소 사이즈가 0인 예가 나타나 있다. 「log2_min_qt_size_intra_slices_minus2」:0은 2의 2제곱을 나타내어 4로 해석된다. 즉, 4×4가 Y의 QT 분할의 최소로 된다.
또한 도 30에는, 「max_mtt_hierarchy_depth_intra_luma_slices」:3은, BT/TT 분할이 가능한 깊이가 3인 예가 나타나 있다.
또한 도 30에서는, Y의 CU의 분할 구조의 일례는 나타나 있지 않으며, Cb/Cr의 CU의 분할 구조의 일례만이 나타나 있다.
도 30에는, 「log2_min_qt_size_intra_slices_chroma_minus2」:0으로 하여 Cb/Cr의 QT 분할의 최소 사이즈가 0인 예가 나타나 있다. 「log2_min_qt_size_intra_slices_minus2」:0은 2의 2제곱을 나타내어 4로 해석된다. 즉, 4×4가 Cb/Cr의 QT 분할의 최소로 된다.
또한 도 30에는, 「max_mtt_hierarchy_depth_intra_chroma_slices」:0은, BT/TT 분할이 가능한 깊이가 0인 예가 나타나 있다. 도 30의 경우, 4×4에 도달해 있는, 위로부터 2번째의 QT 분할 이후에는 1단도 BT/TT 분할을 행할 수 없다.
이상과 같이 CU 분할 구조를 정함으로써 Cb/Cr의 CU의 최소를 4×4로 할 수 있다.
그러나 도 30에 기재된 방법에서는, BT/TT 분할을 사용할 수 없게 하고 있기 때문에 부호화 효율이 저하되어 버린다. 그래서, 도 31에 나타낸 바와 같이 새로운 정보가 설정된다.
도 31은, 새로운 정보에 의하여 설정되는 Cb/Cr의 CU의 분할 구조의 예를 나타내는 도면이다.
도 31에서는, 도 29에서 상술한 「log2_min_qt_size_intra_slices_luma_minus2」와 「log2_min_qt_size_intra_slices_chroma_minus2」가 나타나 있다. 「max_mtt_hierarchy_depth_intra_luma_slices」와 「max_mtt_hierarchy_depth_intra_chroma_slices」가 나타나 있다.
또한 도 31에는 새로이 「min_cu_size_idc_intra_slice_luma」, 「min_cu_size_idc_intra_slice_chroma」, 「min_cu_size_idc_inter_slice_luma」 및 「min_cu_size_idc_inter_slice_choma」가 나타나 있다.
「min_cu_size_idc_intra_slice_luma」는, I 슬라이스(인트라 예측)에 있어서 Y의 CU의 최소 사이즈를 지정하는 정보이다.
「min_cu_size_idc_intra_slice_chroma」는, I 슬라이스에 있어서 Cb/Cr의 CU의 최소 사이즈를 지정하는 정보이다.
「min_cu_size_idc_inter_slice_luma」는, P/B 슬라이스(인터 예측)에 있어서 Y의 CU의 최소 사이즈를 지정하는 정보이다.
「min_cu_size_idc_inter_slice_choma」는, P/B 슬라이스에 있어서 Cb/Cr의 CU의 최소 사이즈를 지정하는 정보이다.
그리고 Cb/Cr의 CU에 대해서는 이하와 같이 0 내지 2가 정의된다. 즉, Cb/Cr의 CU의 최소 사이즈를 지정하는 정보가 0인 경우, 2×2까지 사용할 수 있다. Cb/Cr의 CU의 최소 사이즈를 지정하는 정보가 1인 경우, 2×4, 4×2까지 사용할 수 있다. Cb/Cr의 CU의 최소 사이즈를 지정하는 정보가 2인 경우, 4×4까지 사용할 수 있다.
Y의 CU에 대해서는 이하와 같이 0 내지 2가 정의된다. 즉, Y의 CU의 최소 사이즈를 지정하는 정보가 0인 경우, 4×4까지 사용할 수 있다. Y의 CU의 최소 사이즈를 지정하는 정보가 1인 경우, 4×8, 8×4까지 사용할 수 있다. Y의 CU의 최소 사이즈를 지정하는 정보가 2인 경우, 8×8까지 사용할 수 있다.
상술한 새로운 정보는 부호화측에 의하여 SPS에 포함되어 송신된다.
(부호화 장치의 일 실시 형태의 구성예)
도 32는, 본 개시를 적용한 부호화 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 32의 부호화 장치(210)는 제어부(211), 설정부(212), 부호화부(13) 및 전송부(14)에 의하여 구성되며, 화상을 VVC 방식에 준하는 방식으로 부호화한다.
도 32에 나타내는 구성 중, 도 5를 참조하여 설명한 구성과 동일한 구성에는 동일한 부호를 붙이고 있다. 중복되는 설명에 대해서는 적절히 생략한다.
구체적으로는, 부호화 장치(210)의 제어부(211)는 도 5의 제어부(11)와 마찬가지로 구성되어, 부호화 장치(210)에 있어서의 중심적인 처리 장치로서 동작한다.
예를 들어 제어부(211)는 설정부(212)로 하여금 SPS의 「min_cu_size_idc_intra_slice_chroma」 및 「min_cu_size_idc_inter_slice_choma」를 설정하게 한다.
또한 제어부(211)는 부호화부(13)로 하여금 RD 코스트를 산출하게 하고, 부호화부(13)로부터 공급되는 RD 코스트에 기초하여 CU의 분할 구조를 결정한다.
이때, 제어부(211)는, 「min_cu_size_idc_intra(또는 inter)_slice_luma」가 2인 경우, 분할 후에 Cr/Cb의 CU가 2×2, 2×4, 4×2일 때를 빼고 RD 코스트를 계산시킨다. 이 경우, Cr/Cb의 CU가 2×2, 2×4, 4×2일 때의 RD 코스트는 계산되지 않아, Cr/Cb의 CU가 2×2, 2×4, 4×2일 때의 플래그는 보내지지 않는다.
또한 제어부(211)는, 「min_cu_size_idc_intra(또는 inter)_slice_luma」가 1인 경우, 분할 후에 Cr/Cb의 CU가 2×2일 때를 빼고 RD 코스트를 계산시킨다. 이 경우, Cr/Cb의 CU가 2×2일 때의 RD 코스트는 계산되지 않아, Cr/Cb의 CU가 2×2일 때의 플래그는 보내지지 않는다.
또한 제어부(211)는 제어부(11)와 마찬가지로 RD 코스트에 기초하여 예측 모드를 결정한다. 제어부(211)는, 결정한 CU의 분할 구조나 예측 모드에 기초하여 설정부(212)로 하여금 파라미터 세트를 설정하게 하고, 부호화부(13)로 하여금 부호화 처리를 행하게 한다.
설정부(212)는 제어부(211)의 지시에 따라 SPS, PPS, VUI, SEI 등을 설정한다. 그때, 설정부(212)는 SPS의 「min_cu_size_idc_intra_slice_chroma」 및 「min_cu_size_idc_inter_slice_choma」를 설정한다. 설정부(212)는, 설정된 SPS, PPS, VUI, SEI 등의 파라미터 세트를 부호화부(13)에 출력한다.
부호화부(13)에는 프레임 단위의 화상이 입력된다. 부호화부(13)는 제어부(211)의 지시에 따라, 입력된 화상을 VVC 방식에 준하는 방식으로 부호화한다. 부호화부(13)는, 부호화의 결과 얻어지는 부호화 데이터와 파라미터 세트로부터 부호화 스트림을 생성하여 전송부(14)에 출력한다.
전송부(14)는, 부호화부(13)로부터 공급되는 부호화 스트림을 후술하는 복호 장치(410)에 전송한다.
(부호화 장치의 동작)
도 33은, 도 32의 부호화 장치의 스트림 생성 처리를 설명하는 흐름도이다.
도 33의 스텝 S511에 있어서, 부호화 장치(210)의 설정부(212)는 파라미터 세트를 설정한다. 그때, 설정부(212)는 SPS의 「min_cu_size_idc_intra_slice_chroma」 및 「min_cu_size_idc_inter_slice_choma」를 설정한다. 설정부(212)는, 설정된 파라미터 세트를 부호화부(13)에 출력한다.
스텝 S512에 있어서, 부호화부(13)는, 프레임 단위의 화상을 부호화하는 부호화 처리를 행한다. 이 부호화 처리는, 상술한 도 9 및 도 10과, CU 분할 구조 결정 처리(S33)를 빼고 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다. 부호화 처리에 의하여 부호화 데이터가 생성된다. 부호화 데이터는 축적 버퍼(37)에 축적된다.
또한 스텝 S512의 부호화 처리에 의하여 산출된 RD 코스트에 기초하여 CU의 분할 구조 및 예측 모드 등이 결정된다. RD 코스트에 기초하는 CU의 분할 구조 및 예측 모드는 스텝 S512에 있어서 부호화 처리에 이용된다.
스텝 S513에 있어서, 설정부(212)로부터 공급되는 파라미터 세트와 축적하고 있는 부호화 데이터로부터 부호화 스트림이 생성되어 전송부(14)에 출력된다.
스텝 S514에 있어서, 전송부(14)는, 부호화부(13)로부터 공급되는 부호화 스트림을 후술하는 복호 장치(410)에 전송하여 처리를 종료한다.
도 34 내지 도 36은, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
또한 도 34에 있어서는, I 슬라이스의 경우에 대한 처리가 나타나 있다.
도 34의 스텝 S601에 있어서, 제어부(211)는, Y의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S601에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S602로 진행된다.
스텝 S602에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S601에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 처리는 스텝 S603으로 진행된다.
스텝 S603에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S604에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이러한 BT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 15의 처리와 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다. 스텝 S604에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
스텝 S605에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 16의 처리와 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다. 스텝 S605에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
스텝 S606에 있어서, 제어부(211)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
도 35의 스텝 S607에 있어서, 제어부(211)는, Cb/Cr의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S607에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S608로 진행된다.
스텝 S608에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S608에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S609로 진행된다.
스텝 S609에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S609에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S610으로 진행된다.
스텝 S610에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S607에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 또는 스텝 S608에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S611로 진행된다. 스텝 S609에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S611로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
스텝 S611에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S612에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S612에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S613으로 진행된다.
스텝 S613에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S613에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S614로 진행된다.
스텝 S614에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 15의 BT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S614에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
또한 스텝 S613에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 도 36의 스텝 S615로 진행된다. 스텝 S614에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도, 처리는 도 36의 스텝 S615로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
도 36의 스텝 S615에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S615에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S616으로 진행된다.
스텝 S616에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S616에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S617로 진행된다.
스텝 S617에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 16의 TT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S617에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
또한 스텝 S615에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S618로 진행된다. 스텝 S616에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S618로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
스텝 S618에 있어서, 제어부(11)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
또한 상술한 도 34 내지 도 36에 있어서, 스텝 S601 내지 S606은, Y에 대한 CU 분할 구조 결정 처리이다. 스텝 S607 내지 S618은, Cr/Cb에 대한 CU 분할 구조 결정 처리이다.
도 37 내지 도 39는, 도 9의 스텝 S33의 CU 분할 구조 결정 처리의 다른 예를 설명하는 흐름도이다.
또한 도 37에 있어서는, P/B 슬라이스의 경우에 대한 처리가 나타나 있다.
도 37의 스텝 S651에 있어서, 제어부(211)는, Y의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S651에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S652로 진행된다.
스텝 S652에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S651에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 처리는 스텝 S653으로 진행된다.
스텝 S653에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S654에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 15의 처리와 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다. 스텝 S654에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
스텝 S655에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 16의 처리와 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다. 스텝 S655에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
스텝 S656에 있어서, 제어부(211)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
도 38의 스텝 S657에 있어서, 제어부(211)는, Cb/Cr의 CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S657에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S658로 진행된다.
스텝 S658에 있어서, 제어부(211)는, min_cu_size_idc_inter_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S658에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S659로 진행된다.
스텝 S659에 있어서, 제어부(211)는, min_cu_size_idc_inter_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S659에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S660으로 진행된다.
스텝 S660에 있어서, 부호화부(13)는 QT로 CU의 RD 코스트를 계산한다.
또한 스텝 S657에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 또는 스텝 S658에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S661로 진행된다. 스텝 S659에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S661로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
스텝 S661에 있어서, 부호화부(13)는 Non split로 CU의 RD 코스트의 계산 처리를 행한다.
스텝 S662에 있어서, 제어부(211)는, min_cu_size_idc_inter_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S662에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S663으로 진행된다.
스텝 S663에 있어서, 제어부(211)는, min_cu_size_idc_intra_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S663에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S664로 진행된다.
스텝 S664에 있어서, 부호화부(13)는 BT로 CU의 RD 코스트의 계산 처리를 행한다. 이 BT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 15의 BT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S664에 의하여, BT에 의한 CU의 RD 코스트가 계산된다.
또한 스텝 S663에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 도 39의 스텝 S665로 진행된다. 스텝 S664에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도, 처리는 도 39의 스텝 S665로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
도 39의 스텝 S665에 있어서, 제어부(211)는, min_cu_size_idc_inter_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S665에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S666으로 진행된다.
스텝 S666에 있어서, 제어부(211)는, min_cu_size_idc_inter_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S666에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S667로 진행된다.
스텝 S667에 있어서, 부호화부(13)는 TT로 CU의 RD 코스트의 계산 처리를 행한다. 이 TT에 의한 CU의 RD 코스트의 계산 처리는, 상술한 도 16의 TT의 RD 코스트의 계산 처리와 기본적으로 동일한 처리이다. 스텝 S667에 의하여 TT에 의한 CU의 RD 코스트가 계산된다.
또한 스텝 S665에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S668로 진행된다. 스텝 S666에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S668로 진행된다. 이들 경우, RD 코스트도 산출되지 않고 스피릿 플래그도 보내지지 않는다.
스텝 S668에 있어서, 제어부(211)는, 계산된 RD 코스트 중에서 가장 RD 코스트가 작은 분할 구조를 이용하여 부호화부(13)로 하여금 CTU를 부호화하게 한다.
또한 상술한 도 37 내지 도 39에 있어서, 스텝 S651 내지 S656은, Y에 대한 CU 분할 구조 결정 처리이다. 스텝 S657 내지 S668은, Cr/Cb에 대한 CU 분할 구조 결정 처리이다.
이상과 같이 SPS에 CU의 최소 사이즈를 넣어서 보내도록 하였다. 최소 사이즈의 CU를 복호측에서 이용하지 않음으로써 인트라 예측에 있어서의 지연을 적게 할 수 있다.
그때, CU의 분할 구조 결정 처리에 있어서, 필요가 없는 사이즈의 CU의 RD 코스트를 구할 필요가 없으므로 처리 시간을 단축할 수 있다. 또한 필요가 없는 사이즈의 CU의 스피릿 플래그(CU 분할 구조 정보)를 보낼 필요가 없으므로 부호화 효율을 향상시킬 수 있다.
(복호 장치의 일 실시 형태의 구성예)
도 40은, 도 32의 부호화 장치(210)로부터 전송되는 부호화 스트림을 복호하는, 본 개시를 적용한 복호 장치의 일 실시 형태의 구성예를 나타내는 블록도이다.
도 40의 복호 장치(410)는 제어부(411), 수취부(112), 추출부(113) 및 복호부(114)에 의하여 구성된다.
도 40에 나타내는 구성 중, 도 18을 참조하여 설명한 구성과 동일한 구성에는 동일한 부호를 붙이고 있다. 중복되는 설명에 대해서는 적절히 생략한다.
복호 장치(410)의 제어부(411)는 도 18의 제어부(111)과 마찬가지로 구성되어, 복호 장치(410)에 있어서의 중심적인 처리 장치로서 동작한다.
제어부(411)는, 파라미터 세트에 포함되는 정보를 추출한다. 제어부(411)는, 파라미터 세트에 포함되는 정보에 기초하여 복호부(114)를 제어한다. 구체적으로는, 제어부(411)는, 도 28의 파라미터 세트에 포함되는 정보와, SPS에 새로이 설정된 CU의 최소 사이즈를 지정하는 정보를, 복호부(114)에 출력하여 CU의 분할 구조 결정 처리를 행하게 한다.
수취부(112)는, 도 32의 부호화 장치(210)로부터 전송되어 오는 부호화 스트림을 수취하여 추출부(113)에 출력한다.
추출부(113)는, 수취부(112)로부터 공급되는 부호화 스트림으로부터 파라미터 세트와 부호화 데이터를 추출한다. 추출부(113)는 파라미터 세트를 제어부(411)에 출력한다. 추출부(113)는 부호화 데이터를 복호부(114)에 출력한다.
복호부(114)는, 제어부(411)의 지시에 따라 추출부(113)로부터 공급되는 부호화 데이터를 VVC 방식에 준하는 방식으로 복호한다. 그때, 복호부(114)는 제어부(411)의 지시에 따라 CU의 분할 구조 결정 처리를 행하고, 결정된 분할 구조의 CU가 복호부(114)에 의하여 이용된다. 복호부(114)는 복호 후의 화상을 출력한다.
(복호 장치의 동작)
도 41은, 도 40의 복호 장치의 화상 생성 처리를 설명하는 흐름도이다.
도 41의 스텝 S701에 있어서, 복호 장치(410)의 수취부(112)는, 도 32의 부호화 장치(210)로부터 전송되어 오는 부호화 스트림을 수취하여 추출부(113)에 출력한다.
스텝 S702에 있어서, 추출부(113)는, 수취부(112)로부터 공급되는 부호화 스트림으로부터 부호화 데이터와 파라미터 세트를 추출한다. 추출부(113)는 부호화 데이터를 복호부(114)에 출력한다. 추출부(113)는 파라미터 세트를 제어부(411)에 출력한다.
스텝 S703에 있어서, 제어부(411)는 SPS로부터, CU의 최소 사이즈를 지정하는 정보인 「min_cu_size_idc_intra_slice_chroma」 및 「min_cu_size_idc_inter_slice_choma」를 추출한다.
제어부(411)는, 파라미터 세트에 포함되는 정보와, CU의 최소 사이즈를 지정하는 정보에 기초하여, 복호부(114)를 제어한다.
스텝 S704에 있어서, 복호부(114)는 제어부(411)의 지시에 따라, 추출부(113)로부터 공급되는 부호화 데이터를 복호한다. 이 복호 처리는, 상술한 도 21과, CU 분할 구조 결정 처리(S333)을 빼고 기본적으로 동일한 처리이기 때문에 그 설명을 생략한다.
도 42는, 도 21의 스텝 S333의 CU 분할 구조 결정 처리의 예를 설명하는 흐름도이다.
또한 도 42의 설명에 있어서는 적절히, 도 43에 나타나는 트리를 참조한다.
도 43은, CU 분할 구조 결정 처리에 이용하는 트리의 예를 나타내는 도면이다.
도 43의 트리에는 분지 F1 내지 분지 F3이 나타나 있다. 분지 F1 내지 분지 F3에 대응하는 플래그는 스피릿 플래그로서 비트 스트림에 넣어져 부호화측으로부터 송신되고 있다.
도 42의 스텝 S711에 있어서, 복호부(114)의 가역 복호부(132)는, CTU가 QT로 분할되었는지 여부를 판정한다.
스텝 S711에 있어서, QT로 분할되었다고 판정된 경우, 처리는 스텝 S712로 진행된다.
스텝 S712에 있어서, 가역 복호부(132)는, min_cu_size_idc_inter_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S712에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S713으로 진행된다.
스텝 S713에 있어서, 가역 복호부(132)는, min_cu_size_idc_inter_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S713에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S714로 진행된다.
스텝 S714에 있어서, 가역 복호부(132)는 스피릿 플래그 중, 도 43에 나타나는 분지 F1의 플래그를 판독한다.
스텝 S713에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S715로 진행된다. 스텝 S714에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S715로 진행된다.
스텝 S715에 있어서, 가역 복호부(132)는 분지 F1의 플래그를 판독하지 않고 0으로 해석한다. 그 후, 처리는 스텝 S716으로 진행된다.
또한 스텝 S711에 있어서, QT로 분할되어 있지 않다고 판정된 경우, 처리는 스텝 S716으로 진행된다.
스텝 S716에 있어서, 가역 복호부(132)는, 분지 F1의 플래그가 0인지 여부를 판정한다.
스텝 S716에 있어서, 분지 F1의 플래그가 0이라고 판정된 경우, 처리는 스텝 S717로 진행된다.
스텝 S717에 있어서, 가역 복호부(132)는, min_cu_size_idc_inter_slice_chorma==2라면, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는지 여부를 판정한다.
스텝 S717에 있어서, 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 되지 않는다고 판정된 경우, 처리는 스텝 S718로 진행된다.
스텝 S718에 있어서, 가역 복호부(132)는, min_cu_size_idc_intra_slice_chroma==1이라면, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는지 여부를 판정한다.
스텝 S718에 있어서, 분할 후에 Cb/Cr의 CU가 2×2로 되지 않는다고 판정된 경우, 처리는 스텝 S719로 진행된다.
스텝 S719에 있어서, 가역 복호부(132)는 스피릿 플래그 중, 도 43에 나타나는 분지 F2의 플래그를 판독한다. 그 후, 처리는 스텝 S721로 진행된다.
또한 스텝 S717에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2, 2×4, 또는 4×2로 된다고 판정된 경우, 처리는 스텝 S720으로 진행된다. 스텝 S718에 있어서, QT 분할 후에 Cb/Cr의 CU가 2×2로 된다고 판정된 경우에도 처리는 스텝 S720으로 진행된다.
스텝 S720에 있어서, 가역 복호부(132)는 분지 F2의 플래그를 판독하지 않고 0으로 해석한다. 그 후, 처리는 스텝 S721로 진행된다.
스텝 S721에 있어서, 가역 복호부(132)는, 분지 F2의 플래그가 1인지 여부를 판정한다.
스텝 S721에 있어서, 분지 F2의 플래그가 1이라고 판정된 경우, 처리는 스텝 S722로 진행된다.
스텝 S722에 있어서, 가역 복호부(132)는 CU 분할 구조 정보 중, 도 43에 나타나는 분지 F3의 플래그를 판독하고, CU 분할 구조 결정 처리는 종료된다.
스텝 S716에 있어서, 분지 F1의 플래그가 1이라고 판정된 경우, 또는 스텝 S721에 있어서, 분지 F2의 플래그가 0이라고 판정된 경우, CU 분할 구조 결정 처리는 종료된다.
이상과 같이, SPS에 CU의 최소 사이즈를 넣어서 보내고 최소 사이즈의 CU를 복호측에서 이용하지 않도록 하였으므로, 인트라 예측에 있어서의 지연을 적게 할 수 있다.
또한 도 42에 있어서는 I 슬라이스의 경우를 설명하였지만, P/B 슬라이스의 경우의 처리는, 슬라이스의 종류가 다를 뿐이지 I 슬라이스의 경우와 마찬가지의 처리가 행해지기 때문에 그 설명은 생략한다.
또한 상기 설명에 있어서는 SPS에 CU의 최소 사이즈를 넣도록 하였지만, PPS 등 다른 신택스에 CU의 최소 사이즈를 넣도록 해도 된다.
<4. 제4 실시 형태(최소 CU를 규격으로 결정)>
제4 실시 형태에 있어서는, CU의 최소 사이즈를 하이레벨 신택스에 추가하지 않고, 규격으로 Cb/Cr의 CU에 있어서 2×2를 사용할 수 없도록 한다.
즉, min_cu_size_idc_intra_slice_chroma==2로 되도록 규격으로 결정하고, 규격에 따라 디코드가 행해진다.
또한 CU의 최소 사이즈를 결정하는 방법에 한하지 않으며, 규격의 표준으로서 Cb/Cr의 2×2를 사용할 수 없은 구성이라면 다른 구성이어도 된다.
이상과 같이 규격으로 CU의 최소 사이즈를 결정함으로써, Cb/Cr의 2×2의 경우에 일어날 수 있는 큰 지연을 회피할 수 있다.
이상에 있어서는, 부호화 방식으로서 VVC에 준한 방식을 이용하도록 하였다. 단, 본 기술은 이에 한하지 않으며, 그 외의 부호화 방식/복호 방식을 적용할 수 있다.
또한 제3 실시 형태에 있어서는, 2×2뿐 아니라 4×2 또는 2×4를 제외하는 예도 설명하였지만, 제1, 제2 및 제4 실시 형태에 있어서도, 2×2만을 제외하는 것은 아니고 4×2 또는 2×4도 제외하도록 할 수 있다.
또한 상기 설명에 있어서는 4:2:0의 크로마 포맷의 경우를 설명하였지만, 다른 크로마 포맷에도 적용할 수 있다.
또한 본 개시는, 예를 들어 VVC 방식 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의하여 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷, 또는 휴대 전화기 등의 네트워크 미디어를 통하여 수신할 때 이용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한 본 개시는, 광, 자기 디스크 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 이용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다.
<5. 제5 실시 형태>
(본 개시를 적용한 컴퓨터의 설명)
상술한 일련의 처리는 하드웨어에 의하여 실행할 수도 있고 소프트웨어에 의하여 실행할 수도 있다. 일련의 처리를 소프트웨어에 의하여 실행하는 경우에는, 그 프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써 각종 기능을 실행하는 것이 가능한, 예를 들어 범용 퍼스널 컴퓨터 등이 포함된다.
도 44는, 상술한 일련의 처리를 프로그램에 의하여 실행하는 컴퓨터의 하드웨어의 구성예를 나타내는 블록도이다.
컴퓨터에 있어서, CPU(Central Processing Unit)(501), ROM(Read Only Memory)(502), RAM(Random Access Memory)(503)은 버스(504)에 의하여 서로 접속되어 있다.
버스(504)에는 또한, 입출력 인터페이스(505)가 접속되어 있다. 입출력 인터페이스(505)에는 입력부(506), 출력부(507), 기억부(508), 통신부(509) 및 드라이브(510)가 접속되어 있다.
입력부(506)는 키보드, 마우스, 마이크로폰 등으로 이루어진다. 출력부(507)는 디스플레이, 스피커 등으로 이루어진다. 기억부(508)는 하드 디스크나 불휘발성 메모리 등으로 이루어진다. 통신부(509)는 네트워크 인터페이스 등으로 이루어진다. 드라이브(510)는, 자기 디스크, 광 디스크, 광 자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(511)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(501)가, 예를 들어 기억부(508)에 기억되어 있는 프로그램을 입출력 인터페이스(505) 및 버스(504)를 통하여 RAM(503)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(CPU(501))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(511)에 기록하여 제공할 수 있다. 또한 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은 유선 또는 무선 전송 매체를 통하여 제공할 수 있다.
컴퓨터에서는, 프로그램은, 리무버블 미디어(511)를 드라이브(510)에 장착함으로써 입출력 인터페이스(505)를 통하여 기억부(508)에 인스톨할 수 있다. 또한 프로그램은 유선 또는 무선 전송 매체를 통하여 통신부(509)에서 수신하여 기억부(508)에 인스톨할 수 있다. 그 외, 프로그램은 ROM(502)이나 기억부(508)에 미리 인스톨해 둘 수 있다.
또한 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서에 따라 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한 본 명세서에서는, 각종 정보가 부호화 데이터에 다중화되어 부호화측으로부터 복호측으로 전송되는 예에 대하여 설명하였다. 그러나 이들 정보를 전송하는 방법은 이러한 예에 한정되지 않는다. 예를 들어 이들 정보는, 부호화 데이터에 다중화되는 일 없이 부호화 데이터와 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서 「관련짓다」라는 용어는, 비트 스트림에 포함되는 화상(슬라이스나 블록 등, 화상의 일부여도 됨)과 당해 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 정보는, 부호화 데이터와는 다른 전송로 상에서 전송되어도 된다. 또한 정보는, 부호화 데이터와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되어도 된다. 또한 정보와 부호화 데이터는, 예를 들어 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어져도 된다.
또한 본 명세서에 있어서 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 중에 있는지 여부는 불문한다. 따라서 별개의 하우징에 수납되어 네트워크를 통하여 접속되어 있는 복수의 장치, 및 하나의 하우징 중에 복수의 모듈이 수납되어 있는 하나의 장치는 모두 시스템이다.
본 명세서에 기재된 효과는 어디까지나 예시이지 한정되는 것은 아니며, 다른 효과가 있어도 된다.
본 개시의 실시 형태는 상술한 실시 형태에 한정되는 것은 아니며, 본 개시의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
또한 본 개시는, 부호화 스트림을, 위성 방송, 케이블 TV, 인터넷, 휴대 전화 등의 네트워크 미디어를 통하여 수신할 때, 또는 광, 자기 디스크, 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 이용되는 부호화 장치나 복호 장치에 적용할 수 있다.
또한 본 개시는, 하나의 기능을 네트워크를 통하여 복수의 장치로 분담, 공동으로 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한 상술한 흐름도에서 설명한 각 스텝은, 하나의 장치에서 실행하는 것 외에 복수의 장치로 분담하여 실행할 수 있다.
또한 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치로 실행하는 것 외에 복수의 장치로 분담하여 실행할 수 있다.
이상, 첨부 도면을 참조하면서 본 개시의 적합한 실시 형태에 대하여 상세히 설명하였지만, 본 개시는 이러한 예에 한정되지 않는다. 본 개시가 속하는 기술의 분야에 있어서의 통상의 지식을 갖는 자라면, 청구의 범위에 기재된 기술적 사상의 범주 내에 있어서 각종 변경예 또는 수정예에 상도할 수 있는 것은 명백하며, 이들에 대해서도 당연히 본 개시의 기술적 범위에 속하는 것으로 이해된다.
또한 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는 부호화부
를 구비하는, 화상 처리 장치.
(2) 상기 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조는 2×2, 4×2, 또는 2×4인,
상기 (1)에 기재된 화상 처리 장치.
(3) 상기 휘도의 CU 분할 구조에 대한 코스트와 상기 크로마의 CU 분할 구조에 대한 코스트를 각각 계산하는 코스트 계산부를 더 구비하고,
상기 제어부는, 상기 휘도에 대해서는, 상기 휘도의 CU 분할 구조에 대한 코스트에 기초하여 상기 휘도의 CU 분할 구조를 결정하고,
상기 크로마에 대해서는, 상기 최소의 CU 분할 구조에 대해서는 상기 크로마의 CU 분할 구조 코스트의 계산을 금지하고 상기 크로마의 CU 분할 구조 코스트에 기초하여 상기 크로마의 CU 분할 구조를 결정하는,
상기 (1) 또는 (2)에 기재된 화상 처리 장치.
(4) 상기 최소의 CU 분할 구조가 기술된 신택스를 설정하는 설정부를 더 구비하고,
상기 제어부는, 상기 크로마에 대해서는 상기 신택스에 기초하여, 상기 최소의 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는,
상기 (1) 내지 (3) 중 어느 한 항에 기재된 화상 부호화 장치.
(5) 상기 신택스와 상기 부호화 스트림을 전송하는 전송부를 더 구비하는,
상기 (4)에 기재된 화상 처리 장치.
(6) 상기 신택스는 SPS인,
상기 (4) 중 어느 것에 기재된 화상 처리 장치.
(7) 상기 최소의 CU 분할 구조는 규격에 의해 정의되어 있는,
상기 (1) 내지 (3) 중 어느 것에 기재된 화상 처리 장치.
(8) 화상 처리 장치가,
휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는,
화상 처리 방법.
(9) 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는 부호화부
로서 컴퓨터를 기능시키는, 프로그램.
(10) 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는 복호부
를 구비하는, 화상 처리 장치.
(11) 화상 처리 장치가,
휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하고,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는,
화상 처리 방법.
(12) 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는 복호부
로서 컴퓨터를 기능시키는, 프로그램.
10: 부호화 장치
11: 제어부
12: 설정부
13: 부호화부
14: 전송부
46: 인트라 예측부
47: 움직임 예측·보상부
36: 부호화부
110: 복호 장치
111: 제어부
112: 수취부
113: 추출부
114: 복호부
132: 가역 복호부
143: 인트라 예측부
144: 움직임 보상부
210: 부호화 장치
211: 제어부
212: 설정부
410: 복호 장치
411: 제어부

Claims (12)

  1. 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는 부호화부
    를 구비하는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조는 2×2, 4×2, 또는 2×4인,
    화상 처리 장치.
  3. 제1항에 있어서,
    상기 휘도의 CU 분할 구조에 대한 코스트와 상기 크로마의 CU 분할 구조에 대한 코스트를 각각 계산하는 코스트 계산부를 더 구비하고,
    상기 제어부는, 상기 휘도에 대해서는, 상기 휘도의 CU 분할 구조에 대한 코스트에 기초하여 상기 휘도의 CU 분할 구조를 결정하고,
    상기 크로마에 대해서는, 상기 최소의 CU 분할 구조에 대해서는 상기 크로마의 CU 분할 구조 코스트의 계산을 금지하고 상기 크로마의 CU 분할 구조 코스트에 기초하여 상기 크로마의 CU 분할 구조를 결정하는,
    화상 처리 장치.
  4. 제1항에 있어서,
    상기 최소의 CU 분할 구조가 기술된 신택스를 설정하는 설정부를 더 구비하고,
    상기 제어부는, 상기 크로마에 대해서는 상기 신택스에 기초하여, 상기 최소의 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는,
    화상 처리 장치.
  5. 제4항에 있어서,
    상기 신택스와 상기 부호화 스트림을 전송하는 전송부를 더 구비하는,
    화상 처리 장치.
  6. 제4항에 있어서,
    상기 신택스는 SPS인,
    화상 처리 장치.
  7. 제1항에 있어서,
    상기 최소의 CU 분할 구조는 규격에 의해 정의되어 있는,
    화상 처리 장치.
  8. 화상 처리 장치가,
    휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는,
    화상 처리 방법.
  9. 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 부호화 스트림을 생성하는 부호화부
    로서 컴퓨터를 기능시키는, 프로그램.
  10. 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는 복호부
    를 구비하는, 화상 처리 장치.
  11. 화상 처리 장치가,
    휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하고,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는,
    화상 처리 방법.
  12. 휘도의 CU 분할 구조와 크로마의 CU 분할 구조를 각각 결정할 때, 상기 크로마에 대해서는, 종 및 횡 중 적어도 한쪽의 크기가 최소인 CU 분할 구조를 제외하고 상기 크로마의 CU 분할 구조를 결정하고, 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조로 화상을 부호화하여 생성된 부호화 스트림에 기초하여 상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조를 결정하는 제어부와,
    상기 휘도의 CU 분할 구조 및 상기 크로마의 CU 분할 구조에 기초하여 상기 부호화 스트림을 복호하여 상기 화상을 생성하는 복호부
    로서 컴퓨터를 기능시키는, 프로그램.
KR1020217008084A 2018-10-02 2019-09-18 화상 처리 장치 및 방법, 그리고 프로그램 KR20210066812A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-187803 2018-10-02
JP2018187803 2018-10-02
PCT/JP2019/036467 WO2020071113A1 (ja) 2018-10-02 2019-09-18 画像処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
KR20210066812A true KR20210066812A (ko) 2021-06-07

Family

ID=70055160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008084A KR20210066812A (ko) 2018-10-02 2019-09-18 화상 처리 장치 및 방법, 그리고 프로그램

Country Status (7)

Country Link
US (1) US20220030235A1 (ko)
EP (1) EP3863286A4 (ko)
JP (1) JPWO2020071113A1 (ko)
KR (1) KR20210066812A (ko)
CN (1) CN112771863A (ko)
SG (1) SG11202102917YA (ko)
WO (1) WO2020071113A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018037853A1 (ja) * 2016-08-26 2018-03-01 シャープ株式会社 画像復号装置及び画像符号化装置
CN110178372B (zh) * 2016-12-16 2023-06-27 夏普株式会社 图像解码装置
AU2018311926B2 (en) * 2017-08-03 2022-08-18 FG Innovation Company Limited Systems and methods for partitioning video blocks in an inter prediction slice of video data
CN117499684A (zh) * 2017-09-20 2024-02-02 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Jianle Chen, Shan Liu, "Versatile Video Coding (Draft 2)", JVET-K1001-v5, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 11th Meeting: Ljubljana, SI, 10-18 July 2018

Also Published As

Publication number Publication date
CN112771863A (zh) 2021-05-07
WO2020071113A1 (ja) 2020-04-09
US20220030235A1 (en) 2022-01-27
EP3863286A1 (en) 2021-08-11
SG11202102917YA (en) 2021-04-29
JPWO2020071113A1 (ja) 2021-09-02
EP3863286A4 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
JP7218287B2 (ja) ビデオコード化のためのツリータイプコード化
CA2912447C (en) Intra prediction from a predictive block
KR102660880B1 (ko) 인트라 예측 방법 및 그 장치
EP3092802B1 (en) Intra prediction from a predictive block
EP3058739B1 (en) Features of intra block copy prediction mode for video and image coding and decoding
CN109547790B (zh) 用于在高效率视频编解码中处理分区模式的设备和方法
WO2018132475A1 (en) Intra prediction techniques for video coding
EP3566439A1 (en) Multi-type-tree framework for video coding
KR20170058838A (ko) 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
JP6172162B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
KR20180121908A (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
KR20200093469A (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
KR20230035009A (ko) 양자화 행렬의 부호화 방법 및 복호화 방법과 이를 이용하는 장치
JPWO2016194380A1 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
JP2021518084A (ja) 動きベクトルに基づく映像コーディング方法およびその装置
KR20150048637A (ko) 색 성분 간 예측 방법 및 장치
KR20210066812A (ko) 화상 처리 장치 및 방법, 그리고 프로그램
KR20200081207A (ko) 움직임정보 표현 방법 및 이를 이용한 영상 복호화 장치
NZ715952B2 (en) Intra prediction from a predictive block using displacement vectors

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application