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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102476148B1
KR102476148B1 KR1020197017452A KR20197017452A KR102476148B1 KR 102476148 B1 KR102476148 B1 KR 102476148B1 KR 1020197017452 A KR1020197017452 A KR 1020197017452A KR 20197017452 A KR20197017452 A KR 20197017452A KR 102476148 B1 KR102476148 B1 KR 102476148B1
Authority
KR
South Korea
Prior art keywords
transform
flag
primary
color difference
inverse
Prior art date
Application number
KR1020197017452A
Other languages
English (en)
Other versions
KR20190099410A (ko
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 KR20190099410A publication Critical patent/KR20190099410A/ko
Application granted granted Critical
Publication of KR102476148B1 publication Critical patent/KR102476148B1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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

Landscapes

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

Abstract

본 개시는, 부호화 효율의 저감을 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 역직교 변환을 행한다. 예를 들어, 직교 변환에 관한 정보는, 처리 대상의 변환 블록에 있어서, 복수의 서로 다른 직교 변환 중에서 어느 것을 적응적으로 선택하여 프라이머리 변환으로서 사용하는 적응 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그를 포함한다. 본 개시는, 예를 들어 화상 처리 장치, 화상 부호화 장치, 또는 화상 복호 장치 등에 적용할 수 있다.

Description

화상 처리 장치 및 방법
본 개시는, 화상 처리 장치 및 방법에 관한 것으로, 특히, 부호화 효율의 저감을 억제할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
종래, 휘도에 대하여, TU(Transform Unit) 단위마다의, 수평 방향의 프라이머리 변환 PThor(프라이머리 수평 변환이라고도 칭함) 및 수직 방향의 프라이머리 변환 PTver(프라이머리 수직 변환이라고도 칭함)마다, 적응적으로 복수의 서로 다른 직교 변환으로부터, 프라이머리 변환을 선택하는 적응 프라이머리 변환(AMT: Adaptive Multiple Core Transforms)이 개시되어 있다(예를 들어, 비특허문헌 1 참조).
Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-D1001_v3, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 4th Meeting: Chengdu, CN, 15-21 October 2016
그러나, 비특허문헌 1에 있어서는, 휘도(Y)에 대해서만 적응 프라이머리 변환이 적용될 수 있지만, 색차(Cb, Cr)에 대해서는 적용되지 않는다. 따라서, 색차에 관한 프라이머리 변환의 부호화 효율이, 휘도와 비교해서 저감될 우려가 있었다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것으로, 부호화 효율의 저감을 억제할 수 있도록 하는 것이다.
본 기술의 제1 측면의 화상 처리 장치는, 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는 역직교 변환부를 구비하는 화상 처리 장치이다.
상기 역직교 변환에 관한 정보는, 복수의 서로 다른 역직교 변환 중에서 어느 것을 적응적으로 선택하여 역 프라이머리 변환으로서 사용하는 적응 역 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그를 포함하도록 할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
상기 역직교 변환에 관한 정보는, 수직 방향 및 수평 방향의 역 프라이머리 변환에 어느 역 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자를 포함하도록 할 수 있다.
색차의 상기 프라이머리 변환 식별자의 값은, 색차의 상기 적응 프라이머리 변환 플래그가 참인 경우, 휘도의 상기 프라이머리 변환 식별자의 값으로 세트되고, 색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우, 소정값으로 세트되도록 할 수 있다.
상기 역직교 변환부는, 상기 역직교 변환으로서, 역 프라이머리 변환을 행할 수 있다.
상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 상기 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 상기 역 프라이머리 변환인 역 프라이머리 수직 변환을 행할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 상기 적응 프라이머리 변환 플래그를 휘도의 상기 적응 프라이머리 변환 플래그에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그가 참인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되도록 할 수 있다.
상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 역 프라이머리 변환인 역 프라이머리 수직 변환을 행하도록 구성되며, 상기 역 프라이머리 수평 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값보다도 큰 경우, 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트되고, 상기 역 프라이머리 수직 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값보다도 큰 경우, 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트되도록 할 수 있다.
상기 역직교 변환에 관한 정보는, 역직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그를 포함하도록 할 수 있다.
색차의 상기 변환 스킵 플래그의 값은, 휘도의 상기 변환 스킵 플래그의 값으로 세트되도록 할 수 있다.
상기 역직교 변환에 관한 정보는, 어느 역 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자를 포함하도록 할 수 있다.
색차의 상기 세컨더리 변환 식별자의 값은, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되도록 할 수 있다.
본 기술의 제1 측면의 화상 처리 방법은, 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는 화상 처리 방법이다.
본 기술의 제2 측면의 화상 처리 장치는, 휘도의 직교 변환에 관한 정보에 기초하여 도출된 색차의 직교 변환에 관한 정보를 이용하여, 색차의 상기 직교 변환을 행하는 직교 변환부를 구비하는 화상 처리 장치이다.
본 기술의 제2 측면의 화상 처리 방법은, 휘도의 직교 변환에 관한 정보에 기초하여 도출된 색차의 직교 변환에 관한 정보를 이용하여, 색차의 상기 직교 변환을 행하는 화상 처리 방법이다.
본 기술의 제1 측면의 화상 처리 장치 및 방법에 있어서는, 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보가 이용되어, 색차의 역직교 변환이 행해진다.
본 기술의 제2 측면의 화상 처리 장치 및 방법에 있어서는, 휘도의 직교 변환에 관한 정보에 기초하여 도출된 색차의 직교 변환에 관한 정보가 이용되어, 색차의 직교 변환이 행해진다.
본 개시에 의하면, 화상을 처리할 수 있다. 특히, 부호화 효율의 저감을 억제할 수 있다.
도 1은, 변환 세트와 선택되는 직교 변환의 대응 관계를 나타내는 도면이다.
도 2는, 직교 변환의 타입과, 사용되는 함수의 대응 관계를 나타내는 도면이다.
도 3은, 변환 세트와 예측 모드의 대응 관계를 나타내는 도면이다.
도 4는, 변환 유닛의 신택스나 시맨틱스의 예를 나타내는 도면이다.
도 5는, residual_coding의 신택스의 예를 나타내는 도면이다.
도 6은, 휘도의 값을 이용하여 도출하는 색차의 파라미터의 예를 나타내는 도면이다.
도 7은, 색차의 적응 프라이머리 변환 플래그의 도출 방법의 예를 설명하는 도면이다.
도 8은, CU, PU, 및 TU의 형상을 설명하는 도면이다.
도 9는, 화상 복호 장치의 주된 구성예를 나타내는 블록도이다.
도 10은, 역변환부의 주된 구성예를 나타내는 블록도이다.
도 11은, 색차 적응 프라이머리 변환 정보 도출부의 주된 구성예를 나타내는 블록도이다.
도 12는, 화상 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 13은, 프라이머리 변환 정보 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 14는, 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 15는, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 16은, 역 프라이머리 변환 선택 처리의 흐름의 예를 설명하는 흐름도이다.
도 17은, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 18은, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 19는, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 20은, 변환 유닛의 신택스나 시맨틱스의 예를 나타내는 도면이다.
도 21은, residual_coding의 신택스의 예를 나타내는 도면이다.
도 22는, 색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 23은, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 24는, 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 25는, 프라이머리 수평 변환 타입 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 26은, 프라이머리 수직 변환 타입 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 27은, 색차의 변환 스킵 플래그의 도출 방법의 예를 설명하는 도면이다.
도 28은, residual_coding의 신택스의 예를 나타내는 도면이다.
도 29는, 변환 스킵 플래그 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 30은, residual_coding의 신택스의 예를 나타내는 도면이다.
도 31은, 변환 스킵 플래그 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 32는, residual_coding의 신택스의 예를 나타내는 도면이다.
도 33은, 변환 스킵 플래그 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 34는, residual_coding의 신택스의 예를 나타내는 도면이다.
도 35는, 변환 스킵 플래그 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 36은, 변환 유닛의 신택스나 시맨틱스의 예를 나타내는 도면이다.
도 37은, residual_coding의 신택스의 예를 나타내는 도면이다.
도 38은, 변환 스킵 플래그 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 39는, 색차의 세컨더리 변환 식별자의 도출 방법의 예를 설명하는 도면이다.
도 40은, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 41은, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 42는, 색차용 세컨더리 변환 식별자의 도출 처리의 흐름의 예를 나타내는 흐름도이다.
도 43은, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 44는, 색차용 세컨더리 변환 식별자의 도출 처리의 흐름의 예를 나타내는 흐름도이다.
도 45는, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 46은, 색차용 세컨더리 변환 식별자의 도출 처리의 흐름의 예를 나타내는 흐름도이다.
도 47은, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 48은, 색차용 세컨더리 변환 식별자의 도출 처리의 흐름의 예를 나타내는 흐름도이다.
도 49는, 변환 유닛의 신택스의 예를 나타내는 도면이다.
도 50은, 색차용 세컨더리 변환 식별자의 도출 처리의 흐름의 예를 나타내는 흐름도이다.
도 51은, 화상 부호화 장치의 주된 구성예를 나타내는 블록도이다.
도 52는, 변환부의 주된 구성예를 나타내는 블록도이다.
도 53은, 색차 적응 프라이머리 변환 정보 도출부의 주된 구성예를 나타내는 블록도이다.
도 54는, 화상 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 55는, 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 56은, 프라이머리 변환 선택 처리의 흐름의 예를 설명하는 흐름도이다.
도 57은, 프라이머리 변환 정보 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 58은, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 59는, 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 60은, 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 61은, 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 62는, 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 63은, 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 64는, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 65는, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 66은, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 67은, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 68은, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 69는, 컴퓨터의 주된 구성예를 나타내는 블록도이다.
도 70은, 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 71은, 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 72는, 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 73은, 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 74는, 비디오 세트의 개략적인 구성의 일례를 나타내는 블록도이다.
도 75는, 비디오 프로세서의 개략적인 구성의 일례를 나타내는 블록도이다.
도 76은, 비디오 프로세서의 개략적인 구성의 다른 예를 나타내는 블록도이다.
도 77은, 네트워크 시스템의 개략적인 구성의 일례를 나타내는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 '실시 형태'라 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 색차의 직교 변환
2. 제1 실시 형태(화상 복호 장치, apt_flag, pt_idx)
3. 제2 실시 형태(화상 복호 장치, ts_flag)
4. 제3 실시 형태(화상 복호 장치, st_idx)
5. 제4 실시 형태(화상 부호화 장치, apt_flag, pt_idx)
6. 제5 실시 형태(화상 부호화 장치, ts_flag)
7. 제6 실시 형태(화상 부호화 장치, st_idx)
8. 기타
<1. 색차의 직교 변환>
<프라이머리 변환>
비특허문헌 1에 기재된 테스트 모델(JEM4(Joint Exploration Test Model 4))에 있어서는, 4K 등의 고해상도 화상에 있어서의 부호화 효율 향상을 위해 CTU(Coding Tree Unit) 사이즈의 최대 사이즈가 128×128에서 256×256으로 확장되어 있다. 또한, 블록 분할의 구조로서, 종래의 4분목 분할 외에, 수평/수직 방향의 2분목이 도입되고, 그것에 수반하여, 정사각형의 변환 블록 외에, 직사각형의 변환 블록도 도입되어 있다.
또한, JEM4에서는, 휘도에 대하여 변환 블록 단위마다의, 수평 방향의 프라이머리 변환 PThor(프라이머리 수평 변환이라고도 칭함) 및 수직 방향의 프라이머리 변환 PTver(프라이머리 수직 변환이라고도 칭함)마다, 적응적으로 복수의 서로 다른 직교 변환으로부터, 프라이머리 변환을 선택하는 적응 프라이머리 변환(AMT(Adaptive Multiple Core Transforms))이 개시되어 있다.
보다 구체적으로는, 휘도의 변환 블록(휘도 변환 블록이라고도 칭함) 단위로, 휘도에 관한 적응 프라이머리 변환을 실시할지 여부를 나타내는 적응 프라이머리 변환 플래그 apt_flag(amt_flag, cu_pt_flag 또는 emt_flag라고도 칭함)가 0(거짓)인 경우, 수평 프라이머리 변환 및 수직 프라이머리 변환에 적용할 직교 변환으로서, DCT(Discrete Cosine Transform)-Ⅱ 또는 DST(Discrete Sine Transform)-Ⅶ가 모드 정보에 의해 (일의적으로) 결정된다.
이에 비하여, 예를 들어 휘도에 관한 적응 프라이머리 변환 플래그 apt_flag가 1(참)인 경우, 도 1에 도시된 표(LUT_TrSetToTrTypIdx)와 같이, 수평 방향(x 방향)과 수직 방향(y 방향)의 각각에 대한 프라이머리 변환의 후보로 되는 직교 변환을 포함하는 변환 세트 TrSet가, 4개의 후보(Transform Set Idx=0 내지 3) 중에서 선택된다. 도 1에 도시된 DST-Ⅶ나 DCT-Ⅷ 등은, 직교 변환의 타입을 나타내고 있으며, 각각, 도 2의 표에 나타낸 바와 같은 함수가 사용된다.
또한, 도 2의 표에 있어서, 각 직교 변환의 타입마다 대응하는 식별자(변환 타입 식별자 TrTypeIdx)가 정의되어 있다. 예를 들어, 직교 변환의 타입(Transform Type)이 DCT-Ⅱ이면, 변환 타입 식별자 TrTypeIdx의 값은 0이 할당되어 있다.
변환 세트 TransformSet의 선택(결정)은, 처리 대상의 변환 블록이 속하는 CU(Coding Unit)(부호화 유닛이라고도 칭함)의 예측 타입에 따라 상이하다. 예를 들어, 예측 타입이 인트라 예측이면, 도 3에 도시된 표(LUT_IntraModeToTrSet)와 같이, 인트라 예측 모드(IntraPredMode)에 기초하여 행해진다. 예를 들어, 이하의 식 (1) 및 식 (2)와 같이, 각 방향의 변환 세트(TrSetH, TrSetV)에 대해서, 대응하는 변환 세트 TrSet를 지정하는 변환 세트 식별자 TrSetIdx를 설정하도록 실시된다.
TrSetH = LUT_IntraModeToTrSet [ IntraPredMode ] [ H (=0) ] … (1)
TrSetV = LUT_IntraModeToTrSet [ IntraPredMode ] [ V (=1) ] … (2)
여기서, TrSetH는, 프라이머리 수평 변환 PThor의 변환 세트(프라이머리 수평 변환 세트라고도 칭함)를 나타내고, TrSetV는, 프라이머리 수직 변환 PTver의 변환 세트(프라이머리 수직 변환 세트라고도 칭함)를 나타낸다. 또한, 룩업 테이블 LUT_IntraModeToTrSet는, 도 3의 대응표를 나타내고 있다. 룩업 테이블 LUT_IntraModeToTrSet[][]의 1번째의 배열은, 인트라 예측 모드 IntraPredMode를 인수로 하고, 2번째의 배열은, {H=0, V=1}을 인수로 한다.
예를 들어, 인트라 예측 모드 번호 18(IntraPredMode == 18)의 경우, 프라이머리 수평 변환 세트 TrSetH로서, 도 1의 표(LUT_TrSetToTrTypeIdx)에 나타낸 변환 세트 식별자 TrSetIdx=2의 변환 세트가 선택되고, 프라이머리 수직 변환 세트 TrSetV로서, 도 1의 표에 나타낸 변환 세트 식별자 TrSetIdx=0의 변환 세트가 선택된다.
예측 타입이 인터 예측이면, 각 방향의 변환 세트(TrSetH 및 TrSetV)에 대해서, 인터 예측용 변환 세트 TrSet를 지정하는 변환 세트 식별자 TrSetIdx(=InterTrSetIdx)가 이하의 식 (3)이나 식 (4)와 같이 설정된다. 예를 들어, 도 1의 표이면, InterTrSet의 값은 3이다.
TrSetH = InterTrSetIdx … (3)
TrSetV = InterTrSetIdx … (4)
또한, 선택된 변환 세트 TrSet 중 어느 직교 변환을 프라이머리 수평 변환에 적용할지가, 프라이머리 수평 변환 지정 플래그 pt_hor_flag에 의해 선택된다. 또한, 선택된 변환 세트 TrSet 중 어느 직교 변환을 프라이머리 수직 변환에 적용할지가, 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 의해 선택된다. 예를 들어, 이하의 식 (5) 및 식 (6)과 같이, 프라이머리 {수평, 수직} 변환 세트 TrSet{H, V}와, 프라이머리 {수평, 수직} 변환 지정 플래그 pt_{hor, ver}_flag를 인수로 하여, 도 1에 도시된 변환 세트의 정의표(LUT_TrSetToTrTypeIdx)로부터 도출된다.
TrTypeIdxH = LUT_TrSetToTrTypeIdx[ TrSetH ] [ pt_hor_flag ] … (5)
TrTypeIdxV = LUT_TrSetToTrTypeIdx[ TrSetV ] [ pt_ver_flag ] … (6)
예를 들어, 인트라 예측 모드 번호 18(IntraPredMode == 18)의 경우, 도 3의 표로부터, 프라이머리 수평 변환 세트 TrSetH의 변환 세트 식별자 TrSetIdx의 값은 2이기 때문에, 도 1의 변환 세트 정의표 LUT_TrSetToTrTypeIdx상에서 변환 세트 식별자 TrSetIdx == 2인 변환 세트로부터 프라이머리 수평 변환에 적용할 직교 변환이 선택(지정)된다. 즉, 프라이머리 수평 변환 지정 플래그 pt_hor_flag가 0인 경우, 프라이머리 수평 변환 PThor의 직교 변환의 타입을 지정하는 수평 변환 타입 식별자 TrTypeIdxH에, 도 1의 표와 같이, DST-Ⅶ를 나타내는 변환 타입 식별자 TrTypeIdx의 값 「4」가 설정되고, 프라이머리 수평 변환 지정 플래그 pt_hor_flag가 1인 경우, 수평 변환 타입 식별자 TrTypeIdxH에, DCT-Ⅴ를 나타내는 변환 타입 식별자 TrTypeIdx의 값 「1」이 설정된다.
또한, 프라이머리 수평 변환 지정 플래그 pt_hor_flag 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag로부터 프라이머리 변환 식별자 pt_idx가, 이하의 식 (7)에 기초하여 도출된다.
pt_idx=(pt_ver_flag << 1)+pt_hor_flag … (7)
즉, 프라이머리 변환 식별자 pt_idx의 상위 1bit는, 프라이머리 수직 변환 지정 플래그의 값에 대응하고, 하위 1bit는, 프라이머리 수평 변환 지정 플래그의 값에 대응한다. 도출된 프라이머리 변환 식별자 pt_idx의 bin열에 대해서, 산술 부호화를 적용하여, 비트 열을 생성함으로써, 부호화가 실시된다. 또한, pt_idx는 상위 1bit를, 프라이머리 수평 변환 지정 플래그, 하위 1bit를 프라이머리 수직 변환 지정 플래그로서 설정해도 된다.
이에 비하여, 색차(Cb, Cr)의 변환 블록에 대해서는, 적응 프라이머리 변환은 적용되지 않고, 프라이머리 수평 변환 및 프라이머리 수직 변환의 직교 변환의 타입으로서, DCT-Ⅱ가 항상 선택된다.
도 4의 A는, 변환 유닛 TU의 신택스 테이블의 일례로서, 도 4의 B는, 그에 대응하는 시맨틱스의 예를 나타내고 있다. 도 4의 A에 도시된 신택스에 있어서 부호 SYN11이 부여된 행에 나타낸 잔차 데이터 유무 플래그 cbf[x0][y0][compID](coded_block_flag)는, 도 4의 B에 도시된 바와 같이, 색 신호 식별자 compID로 지정되는 색 신호의 변환 블록에 비 제로 계수가 1개 이상 존재하는지 여부를 나타내는 플래그이다. 해당 플래그가 1(참)인 경우, 대응하는 변환 블록에 비 제로 계수가 1개 이상 존재함을 나타내고, 해당 플래그가 0(거짓)인 경우, 대응하는 변환 블록에 비 제로 계수가 존재하지 않음을 나타낸다. 또한, 편의상, 휘도의 잔차 데이터 유무 플래그 cbf[x0][y0][COMPONENT_Y]를 cbf_luma라 칭하는 경우도 있다(cbf_luma=cbf[x0][y0][COMPONENT_Y]).
또한, 도 4의 A에 도시된 적응 프라이머리 변환 유효 플래그 apt_enabled_flag는, 도 4의 B에 도시된 바와 같이, 적응 프라이머리 변환의 허가에 관한 정보이다. 이 값이 1(참)인 경우, 부호화 데이터상에, 적응 프라이머리 변환에 관한 정보가 존재할 수 있음을 나타낸다. 또한, 이 값이 0(거짓)인 경우, 부호화 데이터상에, 적응 프라이머리 변환에 관한 정보가 존재하지 않음을 나타낸다.
또한, 도 4의 A에 도시된 신택스에 있어서 부호 SYN12가 부여된 행에 나타낸 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag는, 도 4의 B에 도시된 바와 같이, 휘도의 변환 블록에 대해서, 적응 프라이머리 변환을 적용할지 여부를 나타내는 플래그이다. 이 값이 1(참)인 경우, 적응 프라이머리 변환을 적용하고, 0(거짓)인 경우, 적용 프라이머리 변환을 적용하지 않는다. 도 4의 A의 신택스 테이블에 도시된 바와 같이, 휘도의 잔차 데이터 유무 플래그 cbf_luma가 「1」(즉 참)이며, 또한, 적응 프라이머리 변환 유효 플래그 apt_enabled_flag가 「1」(즉 참)인 경우, 휘도의 적응 프라이머리 변환 플래그 apt_flag가 부호화(복호)된다. 부호화 데이터상에 apt_flag가 존재하지 않는 경우에는, apt_flag의 값은 0이라고 해석한다.
또한, 도 4의 A에 도시된 신택스에 있어서, 부호 SYN13이 부여된 행에 나타낸 색 신호 식별자 compID로 지정되는 색 신호의 변환 블록의 잔차 데이터residual_coding()은, 대응하는 색 신호의 잔차 데이터 유무 플래그가 1(참)인 경우, 부호화(복호)된다.
도 5는, residual_coding의 신택스 테이블의 예를 나타낸다. 도 5에 도시된 신택스 테이블에 있어서, 부호 SYN22로 나타낸 휘도의 프라이머리 변환 식별자 pt_idx는, 신택스 테이블에 나타낸 바와 같이, 휘도의 적응 프라이머리 변환 플래그 apt_flag가 1(참)이고, 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0(거짓)이고, 변환 스킵 플래그 ts_flag가 0(거짓)이고, 색 신호 식별자 compID가 휘도를 나타내는 경우이고(compID == COMPONENT_Y), 변환 블록에 존재하는 비 제로 계수의 총수 numSig가 소정의 임계값 ptNumSigTH 이상이며, 변환 블록의 긴 변(max(log2TBWSize, log2TBHSize))이 소정의 임계값 maxPTSize 이하인 경우에, 부호화(복호)된다. 부호화 데이터상에 휘도의 프라이머리 변환 식별자 pt_idx가 존재하지 않는 경우에는, pt_idx의 값은 0이라고 해석한다.
비특허문헌 1에서는, 휘도(Y)에 대해서만, 적응 프라이머리 변환이 적용될 수 있지만, 색차(Cb, Cr)에 대해서는 적용되지 않는다. 따라서, 색차에 관한 프라이머리 변환의 부호화 효율이, 휘도와 비교해서 저감될 우려가 있었다.
이에 비하여, 예를 들어 휘도(Y)와 마찬가지로, 색차(Cb, Cr)의 변환 블록마다, 적응 프라이머리 변환 플래그 apt_flag, 프라이머리 변환 식별자 pt_idx를 명시적으로 부호화하는 것이 생각된다. 그러나, 이 방법의 경우, 색차에 관한 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx를 부호화하기 때문에, 부호량이 증대되어, 부호화 효율이 저감될 우려가 있었다.
또한, 덧붙여 말해서, 이 경우, 부호화측에 있어서는, 색 신호(Y, Cb, Cr)마다 적응 프라이머리 변환의 선택의 유무, 및 프라이머리 변환 식별자의 결정에 관한 모드 판정을 할 필요가 있어, 처리량이 증대될 우려가 있었다. 또한, 복호측에 있어서도, 색 신호(Y, Cb, Cr)마다 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx를 복호하지 않으면 안되어, 처리량이 증대될 우려가 있었다.
<휘도의 파라미터의 이용>
그래서, 색차의 (역)직교 변환에 관한 정보를 휘도의 (역)직교 변환에 관한 정보에 기초하여 도출하도록 한다. 즉, 휘도의 (역)직교 변환에 관한 정보에 기초하여 도출된 색차의 (역)직교 변환에 관한 정보를 이용하여, 색차의 (역)직교 변환을 행하도록 한다. 예를 들어, 화상 처리 장치에 있어서, 휘도의 (역)직교 변환에 관한 정보에 기초하여 도출된 색차의 (역)직교 변환에 관한 정보를 이용하여, 색차의 (역)직교 변환을 행하는 (역)직교 변환부를 마련하도록 한다.
이와 같이 함으로써, 색차의 (역)직교 변환에 관한 정보의 부호화·복호를 생략할 수 있으므로, 부호량의 증대를 억제하여, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화·복호의 부하의 증대도 억제할 수 있다. 또한, 본 명세서에 있어서는, 직교 변환과 역직교 변환은 서로 역처리이며, 예를 들어 직교 변환된 데이터를 역직교 변환함으로써, 직교 변환 전의 데이터를 복원할 수 있는 것으로 한다. 또한, 직교 변환에 관한 정보는, 직교 변환에 이용되는 정보이지만, 역직교 변환에 이용하는 것이 가능한 경우도 있다. 그리고, 역직교 변환에 관한 정보는, 역직교 변환에 이용되는 정보이지만, 직교 변환에 이용하는 것이 가능한 경우도 있다. 즉, 본 명세서에 있어서는, 직교 변환에 관한 정보와 역직교 변환에 관한 정보가 서로 동일한 정보를 가리킬 수도 있다(서로 동일한 정보가 포함되어 있어도 됨). 이상은, 프라이머리 변환과 역 프라이머리 변환, 세컨더리 변환과 역 세컨더리 변환의 사이에서도 마찬가지이다.
이 (역)직교 변환에 관한 정보의 내용은 임의이다. 예를 들어, 도 6의 표에 나타낸 바와 같이, 처리 대상의 변환 블록에 있어서, 복수의 서로 다른 역직교 변환 중에서 어느 것을 적응적으로 선택하여 (역) 프라이머리 변환으로서 사용하는 적응 (역) 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그 apt_flag를 포함하도록 해도 된다. 또한, 수직 방향 및 수평 방향의 (역) 프라이머리 변환에 어느 (역) 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자 pt_idx를 포함하도록 해도 된다.
예를 들어, 색차(Cb)의 적응 프라이머리 변환 플래그 apt_flag[Cb]와 색차(Cr)의 적응 프라이머리 변환 플래그 apt_flag[Cr]을 각각, 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)의 부호화 효율의 저감을 억제할 수 있다. 또한, 부호량에 관한 오버헤드의 증대도 억제할 수 있다. 또한, 예를 들어 색차(Cb)의 프라이머리 변환 식별자 pt_idx[Cb]와 색차(Cr)의 프라이머리 변환 식별자 pt_idx[Cr]을 각각, 휘도의 프라이머리 변환 식별자 pt_idx[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)의 부호화 효율의 저감을 억제할 수 있다. 또한, 부호량에 관한 오버헤드의 증대도 억제할 수 있다. 또한, 색차의 프라이머리 변환 식별자는, Cb와 Cr에서 공통이어도 된다(공용하여도 됨).
도 7의 표를 참조하여 다시 설명한다. 종래에는, No. #0의 행과 같이, 색차에 있어서는 적응 (역) 프라이머리 변환이 채용되지 않고, 색차의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx는, 항상 생략되고 있다. 이 경우, 적응 (역) 프라이머리 변환을 사용하지 않기 때문에, 상술한 바와 같이 부호화 효율이 저감될 우려가 있었다.
이에 비하여, No. #1의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 항상 색차의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx를, 휘도의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx로부터 추정하도록 한다. 예를 들어, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에, 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하도록 해도 된다. 또한, 예를 들어 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]가 참인 경우, 색차의 프라이머리 변환 식별자 pt_idx[Cb/Cr]의 값에 휘도의 프라이머리 변환 식별자 pt_idx[Y]의 값을 세트하고, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]가 거짓인 경우, 색차의 프라이머리 변환 식별자 pt_idx[Cb/Cr]의 값에 소정값을 세트하도록 해도 된다. 이와 같이 함으로써, 색차에 대해서도 적응 (역) 프라이머리 변환을 적용할 수 있을 뿐 아니라, 색차의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
또한, No. #2의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측(CuPredMode == MODE_INTER)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트하도록 해도 된다. 이와 같이 함으로써, 색차에 대해서도 적응 (역) 프라이머리 변환을 적용할 수 있을 뿐 아니라, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 휘도의 적응 프라이머리 변환 플래그의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, No. #3의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트하도록 해도 된다. 이와 같이 함으로써, 색차에 대해서도 적응 (역) 프라이머리 변환을 적용할 수 있을 뿐 아니라, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 적응 프라이머리 변환 플래그의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, No. #4의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피(IntraBC, Intra Block Copy, 화면 내 움직임 보상이라고도 칭함)가 아닌 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트하도록 해도 된다. 이와 같이 함으로써, 색차에 대해서도 적응 (역) 프라이머리 변환을 적용할 수 있을 뿐 아니라, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 적응 프라이머리 변환 플래그의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, No. #5의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]을 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag가 1(참)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag가 0(거짓)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트하도록 해도 된다. 이와 같이 함으로써, 휘도의 적응 프라이머리 변환 플래그의 값을 이용할지 여부를, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag를 사용하여 명시적으로 제어할 수 있다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 적응 프라이머리 변환 플래그의 값을 이용시키도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, No. #6의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하며, 또한, 예를 들어 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 변환 블록의 짧은 변의 사이즈가 그 임계값보다 작은 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트하도록 해도 된다. 이와 같이 함으로써, 충분히 큰 효과를 얻지 못하는 작은 변환 블록에 대해서 적응 (역) 프라이머리 변환을 적용하지 않도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있음과 함께, 이 적응 (역) 프라이머리 변환을, 충분히 큰 효과를 얻지 못할 정도로 작은 변환 블록에 적용하는 데 따른 불필요한 회로 규모의 증대를 억제할 수 있다.
또한, No. #7의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하며, 또한, 예를 들어 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값 이하인 경우, (역) 프라이머리 수평 변환의 변환 타입을 소정의 변환 타입으로 세트하고, 그 변환 블록의 가로 폭의 사이즈가 그 임계값보다도 큰 경우, (역) 프라이머리 수평 변환의 변환 타입을 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트하도록 해도 된다. 마찬가지로, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값 이하인 경우, (역) 프라이머리 수직 변환의 변환 타입을 소정의 변환 타입으로 세트하고, 그 변환 블록의 세로 폭의 사이즈가 그 임계값보다도 큰 경우, (역) 프라이머리 수직 변환의 변환 타입을 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트하도록 해도 된다. 이와 같이 함으로써, 충분히 큰 효과를 얻지 못할 정도로 폭이 좁은 변환 블록에 대해서(그 폭 방향의 (역) 프라이머리 변환에 대해서), 적응 (역) 프라이머리 변환을 적용하지 않도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있음과 함께, 이 적응 (역) 프라이머리 변환을, 충분히 큰 효과를 얻지 못할 정도로 폭이 좁은 변환 블록에 적용하는 데 따른 불필요한 회로 규모의 증대를 억제할 수 있다.
또한, 이상으로 설명한 각 케이스를 임의로 조합할 수도 있다. 예를 들어, No. #8의 행과 같이, No. #2의 행 케이스와, No. #7의 행 케이스를 조합하도록 해도 된다. 이와 같이 함으로써, 각 케이스에 있어서 얻어지는 효과를 얻을 수 있다. 또한, 상술한 각 케이스를, 상술하지 않은 다른 케이스와 조합할 수도 있다. 예를 들어, No. #2의 행 케이스에 있어서, 처리 대상의 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]을 전송하도록(시그널링하도록) 해도 된다. 즉, 이 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 부호화·복호가 행해진다. 또한, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값이 1(참)인 경우, 또한, 색차의 적응 프라이머리 변환 식별자 pt_idx[Cb/Cr]을 전송하도록(시그널링하도록) 해도 된다. 즉, 이 경우, 색차의 적응 프라이머리 변환 식별자 pt_idx[Cb/Cr]의 부호화·복호가 행해진다.
<CU, PU, 및 TU의 형상>
여기서 비트 스트림(부호화 데이터)에 있어서의 동화상의 부분 영역(처리 단위)인 CU(Coding Unit), PU(Prediction Unit), 및 TU의 형상에 대하여 설명한다. 도 8에 도시된 CU, PU, 및 TU(Transform Unit)는, JVET-C0024, "EE2.1: Quadtree plus binary tree structure integration with JEM tools"에 기재되어 있는 QTBT(Quad tree plus binary tree)의 CU, PU, 및 TU이다. 구체적으로는, CU의 블록 분할에서는, 1개의 블록을 4(=2×2)개뿐만 아니라, 2(=1×2, 2×1)개의 서브블록으로도 분할할 수 있다. 즉, CU의 블록 분할은, 1개의 블록을 4개 또는 2개의 서브블록으로의 분할을 재귀적으로 반복함으로써 행해지고, 결과로서 4분목(Quad-Tree) 형상 또는 수평 방향 혹은 수직 방향의 2분목(Binary-Tree) 형상의 트리 구조가 형성된다.
그 결과, CU의 형상은, 정사각형뿐만 아니라, 직사각형일 가능성이 있다. 예를 들어, LCU(Largest Coding Unit) 사이즈가 128×128인 경우, CU의 사이즈(수평 방향의 사이즈 w×수직 방향의 사이즈 h)는, 도 8에 도시된 바와 같이, 128×128, 64×64, 32×32, 16×16, 8×8, 4×4와 같은 정사각형의 사이즈뿐만 아니라, 128×64, 128×32, 128×16, 128×8, 128×4, 64×128, 32×128, 16×128, 8×128, 4×128, 64×32, 64×16, 64×8, 64×4, 32×64, 16×64, 8×64, 4×64, 32×16, 32×8, 32×4, 16×32, 8×32, 4×32, 16×8, 16×4, 8×16, 4×16, 8×4, 4×8과 같은 직사각형의 사이즈일 가능성이 있다. 또한, PU와 TU는, CU와 동일하다.
또한, TU에는, 휘도(Y)의 변환 블록, 및 색차(Cb/Cr)의 변환 블록이 포함된다. 색 포맷이 4:2:0(예를 들어, YUV420)인 경우, 휘도의 픽처 사이즈에 대한 색차의 픽처 사이즈의 비는, 세로 폭, 가로 폭 모두 1/2이다. 따라서, 휘도의 변환 블록 사이즈가 8×4이면, 대응하는 색차의 변환 블록 사이즈는 4×2로 된다. 또한, 색 포맷이 4:2:2(예를 들어, YUV422)인 경우, 휘도의 픽처 사이즈에 대한 색차의 픽처 사이즈의 비는, 세로 폭이 1/2, 가로 폭이 1로 된다. 따라서, 휘도의 변환 블록 사이즈가 8×4이면, 대응하는 색차의 변환 블록 사이즈는 8×2로 된다. 또한, 색 포맷이 4:4:4(예를 들어, YUV444)인 경우, 휘도의 픽처 사이즈에 대한 색차의 픽처 사이즈의 비는, 세로 폭이 1, 가로 폭이 1로 된다. 따라서, 휘도의 변환 블록 사이즈가 8×4이면, 대응하는 색차의 변환 블록 사이즈는 8×4이다.
또한, I 슬라이스에 관해서는, 휘도(Y)와 색차(Cb/Cr)로 각각의 CU로서 부호화해도 된다. 이 경우, 휘도와 색차는, 서로 다른 CU의 분할 구조를 취할 수 있기 때문에, I슬라이스의 부호화 효율이 향상된다는 효과를 갖는다. 이하에서는, 편의상, 동일 CU 내에는, 휘도, 및 색차의 정보가 포함되어 있는 것으로서 설명하지만, 이것에 한정되지는 않는다.
<2. 제1 실시 형태>
<화상 복호 장치>
도 9는, 본 기술을 적용한 화상 처리 장치의 일 형태인 화상 복호 장치의 구성의 일례를 나타내는 블록도이다. 도 9에 도시된 화상 복호 장치(100)는, AVC나 HEVC와 같이, 화상과 그 예측 화상의 예측 잔차가 부호화된 부호화 데이터를 복호하는 장치이다. 예를 들어, 화상 복호 장치(100)는, HEVC로 제안된 기술이나, JVET(Joint Video Exploration Team)로 제안된 기술을 실장하고 있다.
도 9에 있어서, 화상 복호 장치(100)는, 복호부(111), 역양자화부(112), 역변환부(113), 연산부(114), 프레임 메모리(115), 및 예측부(116)를 구비하고 있다. 또한, 예측부(116)는, 도시하지 않은 인트라 예측부, 및 인터 예측부를 구비하고 있다. 화상 복호 장치(100)는, 부호화 데이터 #1(bitstream)을 복호함으로써, 동화상 #2를 생성하기 위한 장치이다.
복호부(111)는, 부호화 데이터 #1을 입력으로 하고, 신택스 테이블의 정의를 따라서, 부호화 데이터 #1의 비트 열로부터, 각 신택스 요소의 신택스값을 가변 길이 복호한다. 또한, 신택스 요소에는, 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 잔차 정보 Rinfo 등의 정보가 포함된다.
VPS/SPS/PPS/슬라이스 헤더 SH 등의 헤더 정보 Hinfo에는, 화상 사이즈(가로 폭 PicWidth, 세로 폭 PicHeight), 비트 심도(휘도 bitDepthY, 색차bitDepthC), CU 사이즈의 최댓값 MaxCUSize/최솟값 MinCUSize, 4분목 분할(Quad-tree 분할이라고도 함)의 최대 심도 MaxQTDepth/최소 심도 MinQTDepth, 2분목 분할(Binary-tree 분할)의 최대 심도 MaxBTDepth/최소 심도 MinBTDepth, 변환 스킵 블록의 최댓값 MaxTSSize(최대 변환 스킵 블록 사이즈라고도 함), 각 부호화 툴의 온/오프 플래그(유효 플래그라고도 함) 등을 규정하는 정보가 포함된다.
예를 들어, 헤더 정보 Hinfo에 포함되는 부호화 툴의 온/오프 플래그로서는, 이하에 나타내는 변환, 양자화 처리에 관련된 온/오프 플래그가 있다. 또한, 부호화 툴의 온/오프 플래그는, 해당 부호화 툴에 관련된 신택스가 부호화 데이터 중에 존재하는지 여부를 나타내는 플래그라고도 해석할 수 있다. 또한, 온/오프 플래그의 값이 1(참)인 경우, 해당 부호화 툴이 사용 가능함을 나타내고, 온/오프 플래그의 값이 0(거짓)인 경우, 해당 부호화 툴이 사용 불가함을 나타낸다. 또한, 플래그 값의 해석은 반대여도 된다.
적응 프라이머리 변환 유효 플래그 apt_enabled_flag(adaptive_primary_transform_enabled_flag, adaptive_pt_enabled_flag, 또는 amt_enabled_flag라고도 칭함)는, 변환 처리 및 그 역처리의 하나로서, 적응적인 프라이머리 변환의 선택이 가능한 부호화 툴(적응 프라이머리 변환이라고도 함)이 사용 가능한지를 나타내는 플래그이다.
세컨더리 변환 유효 플래그 st_enabled_flag는, 변환 처리 및 그 역처리의 하나로서, 세컨더리 변환/역 세컨더리 변환을 하는 부호화 툴이 사용 가능한지 여부를 나타내는 플래그이다.
변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag는, 변환·양자화, 및 그 역처리의 하나로서, 변환과 양자화/역양자화와 역변환을 스킵하는 부호화 툴이 사용 가능한지 여부를 나타내는 플래그이다.
변환 스킵 플래그 유효 플래그 ts_enabled_flag는, 변환 처리 및 그 역처리의 하나로서, 2차원 변환 스킵이나 1차원 변환 스킵이 사용 가능한지 여부를 나타내는 플래그이다. 그 2차원 변환 스킵은, 프라이머리 변환과 세컨더리 변환을 포함하는 직교 변환 및 그 역처리(역직교 변환)를 스킵하는 부호화 툴이다. 또한, 1차원 변환 스킵은, 프라이머리 변환 중, 수평 방향 또는 수직 방향의 프라이머리 변환, 및 그에 대응하는 역변환(역 프라이머리 변환), 및 세컨더리 변환과 그 역 세컨더리 변환을 스킵하는 부호화 툴이다.
예측 모드 정보 Pinfo에는, 또한, 처리 대상 PU의 PU 사이즈(예측 블록 사이즈) PUSize, 인트라 예측 모드 정보 IPinfo(예를 들어, JCTVC-W1005, 7.3.8.5 Coding Unit syntax 중의 prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode, 그 신택스로부터 도출되는 휘도 인트라 예측 모드 IntraPredModeY, 색차 인트라 예측 모드 IntraPredModeC 등), 움직임 예측 정보 MVinfo(예를 들어, JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax를 참조, merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_ flag, X={0, 1}, mvd) 등이 포함된다.
또한, 변환 정보 Tinfo에는, 예를 들어 처리 대상 변환 블록의 가로 폭 사이즈 TBWidth 및 세로 폭 TBHeight, (역)변환 및 (역) 양자화의 처리를 스킵할지 여부를 나타내는 변환 양자화 바이패스 플래그 transquant_bypass_flag, 2차원 변환 스킵을 적용할지 여부를 나타내는 변환 스킵 플래그 ts_flag, 대상 변환 블록에 있어서 적응 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그 apt_flag, 수직 방향 및 수평 방향의 (역) 프라이머리 변환에 어느 (역) 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자 pt_idx, 어느 (역) 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자 st_idx(dnsst_idx, nsst_idx 또는 rot_idx라고도 칭함), 스캔 식별자 scanIdx, 양자화 파라미터 qp, 양자화 매트릭스 scaling_matrix 등의 신택스가 포함된다. 또한, 처리 대상 변환 블록의 가로 폭 사이즈 TBWidth 및 세로 폭 TBHeight 대신에, 2를 밑변으로 하는 각 TBWidth, TBHeight의 대수값 log2TBWidth(log2TBWSize, log2TBW라고도 칭함), log2TBHeight(log2TBHSize, log2TBH라고도 칭함)가 포함되도록 해도 된다.
잔차 정보 Rinfo에는, 예를 들어 잔차 데이터 유무 플래그(cbf(coded_block_flag)), 라스트 비 제로 계수 X 좌표(last_sig_coeff_x_pos), 라스트 비 제로 계수 Y 좌표(last_sig_coeff_y_pos), 서브블록 비 제로 계수 유무 플래그(coded_sub_block_flag), 비 제로 계수 유무 플래그(sig_coeff_flag), 비 제로 계수의 레벨이 1보다 큰지를 나타내는 플래그(gr1_flag)(GR1 플래그라고도 칭함), 비 제로 계수의 레벨이 2보다 큰지를 나타내는 플래그(gr2_flag)(GR2 플래그라고도 칭함), 비 제로 계수의 정부(正負)를 나타내는 부호(sign_flag)(사인 부호라고도 칭함), 및 비 제로 계수의 잔여 레벨(coeff_abs_level_remaining)(비 제로 계수 잔여 레벨이라고도 칭함) 등이 포함되도록 해도 된다.
복호부(111)는, 잔차 정보 Rinfo를 참조하여, 각 변환 블록 내의 각 계수 위치의 양자화 변환 계수 레벨 level을 도출한다. 복호부(111)는, 복호하여 얻은 예측 모드 정보 Pinfo, 양자화 변환 계수 레벨 level, 변환 정보 Tinfo를 각 블록으로 공급한다. 예를 들어, 복호부(111)는, 예측 모드 정보 Pinfo를 역변환부(113) 및 예측부(116)에 공급하고, 양자화 변환 계수 레벨 level을, 역양자화부(112)에 공급하고, 변환 정보 Tinfo를, 역변환부(113) 및 역양자화부(112)에 공급한다.
역양자화부(112)는, 변환 정보 Tinfo 및 양자화 변환 계수 레벨 level을 입력으로 하고, 변환 정보 Tinfo에 기초하여, 양자화 변환 계수 레벨 level의 값을 스케일링(역양자화)하고, 역양자화 후의 변환 계수 Coeff_IQ를 역변환부(113)로 출력한다.
역변환부(113)는, 변환 계수 Coeff_IQ, 변환 정보 Tinfo, 예측 모드 정보 Pinfo를 입력으로 하고, 변환 정보 Tinfo나 예측 모드 정보 Pinfo 등에 기초하여, 변환 계수 Coeff_IQ에 대해서, 역변환을 적용하고, 예측 잔차 D'를 도출하고, 그것을 연산부(114)로 출력한다. 또한, 이 역변환은, 부호화측 등에 있어서 행해지는 변환 처리의 역처리이다. 예를 들어, 부호화측 등에 있어서 행해지는 직교 변환의 역처리인 역직교 변환 등이 이 역변환에 포함된다. 또한, 예를 들어 부호화측에 있어서 직교 변환으로서 프라이머리 변환이나 세컨더리 변환이 행해지는 경우, 프라이머리 변환의 역처리인 역 프라이머리 변환이나, 세컨더리 변환의 역처리인 역 세컨더리 변환 등이 이 역변환에 포함된다. 역변환부(113)의 상세에 대해서는, 후술한다.
연산부(114)는, 예측 잔차 D'와, 예측부(116)로부터 공급되는 예측 화상 P를 입력으로 하고, 이하의 식 (8)에 나타낸 바와 같이 예측 잔차 D'와 예측 잔차 D'에 대응하는 예측 화상 P(예측 신호)를 가산하고, 국소 복호 화상 Rec를 도출하여, 그것을 프레임 메모리(115) 또는 화상 복호 장치(100)의 외부에 공급한다.
Rec = D’ + P … (8)
프레임 메모리(115)는, 연산부(114)로부터 공급되는 국소 복호 화상 Rec를 입력으로 하고, 픽처 단위마다의 복호 화상을 재구축하여, 프레임 메모리(115) 내의 버퍼로 저장한다. 프레임 메모리(115)는, 예측부(116)의 예측 모드 정보 Pinfo에 의해 지정되는 복호 화상을 참조 화상으로서 버퍼로부터 판독하고, 예측부(116)로 공급한다. 또한, 프레임 메모리(115)는, 복호 화상의 생성에 관한 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등을 프레임 메모리 내의 버퍼에 저장하도록 해도 된다.
예측부(116)는, 예측 모드 정보 Pinfo를 입력으로 하고, 예측 모드 정보 Pinfo에 의해 지정되는 예측 방법에 의해, 예측 모드 정보 PInfo에 의해 지정되는, 프레임 메모리(115)에 저장된 복호 화상을 참조 화상으로서 예측 화상 P를 생성하고, 연산부(114)로 출력한다.
<역변환부>
도 10은, 도 9의 화상 복호 장치(100)가 구비하는 역변환부(113)의 주된 구성예를 나타내는 블록도이다. 도 9에 도시된 바와 같이, 역변환부(113)는, 스위치(121), 역 세컨더리 변환부(122), 및 역 프라이머리 변환부(123)로 구성된다.
스위치(121)는, 변환 계수 Coeff_IQ, 및 변환 스킵 플래그 ts_flag[compID]를 입력으로 한다. 변환 스킵 플래그 ts_flag[compID]의 값이 NO_TS(=0)인 경우, 즉, 변환 스킵을 적용하지 않는 경우, 스위치(121)는, 역 세컨더리 변환부(122)로 변환 계수 Coeff_IQ를 출력한다. 또한, 변환 스킵 플래그 ts_flag[compID]의 값이 2D_TS(=1)인 경우, 즉, 2차원 변환 스킵을 적용함을 나타내는 경우, 스위치(121)는, 역 세컨더리 변환부(122) 및 역 프라이머리 변환부(123)를 스킵하고, 변환 계수 Coeff_IQ를 예측 잔차 D'로서 출력한다.
역 세컨더리 변환부(122)는, 예를 들어 직교 변환 등의 소정의 변환 처리인 세컨더리 변환의 역처리인 역 세컨더리 변환에 관한 처리를 행한다. 예를 들어, 역 세컨더리 변환부(122)는, 세컨더리 변환 식별자 st_idx, 변환 계수의 스캔 방법을 나타내는 스캔 식별자 scanIdx, 및 변환 계수 Coeff_IQ를 입력으로 하고, 역 세컨더리 변환 후의 변환 계수 Coeff_IS(프라이머리 변환 계수 Coeff_P라고도 함)를 도출하여, 역 프라이머리 변환부(123)에 공급한다. 보다 구체적으로는, 세컨더리 변환 식별자 st_idx가, 역 세컨더리 변환을 적용함을 나타내는 경우(st_idx>0), 역 세컨더리 변환부(122)는, 변환 계수 Coeff_IQ에 대해서, 세컨더리 변환 식별자 st_idx에 대응하는 역 세컨더리 변환의 처리를 실행하고, 역 세컨더리 변환 후의 변환 계수 Coeff_IS를 출력한다. 세컨더리 변환 식별자 st_idx가, 역 세컨더리 변환을 적용하지 않음을 나타내는 경우(st_idx==0), 역 세컨더리 변환부(122)는, 역 세컨더리 변환을 스킵하고, 변환 계수 Coeff_IQ를 역 세컨더리 변환 후의 변환 계수 Coeff_IS로서 출력한다.
역 프라이머리 변환부(123)는, 예를 들어 직교 변환 등의 소정의 변환 처리인 프라이머리 변환의 역처리인 역 프라이머리 변환에 관한 처리를 행한다. 예를 들어, 역 프라이머리 변환부(123)는, 색 신호 식별자 compID, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y], 예측 모드 정보 PInfo, 변환 블록의 사이즈(가로 폭의 대수값 log2TBWSize, 세로 폭의 대수값 log2TBHSize) 및 역 세컨더리 변환 후의 변환 계수 Coeff_IS를 입력으로 한다. 역 프라이머리 변환부(123)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y], 및 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH 및 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 선택하고, 역 세컨더리 후의 변환 계수 Coeff_IS에 대해서, 역 프라이머리 수직 변환 타입 TrTypeIdxV와 변환 블록의 세로 폭 log2TBHSize로 정해지는 역 프라이머리 수직 변환, 및 역 프라이머리 수평 변환 타입 TrTypeIdxH와 변환 블록의 가로 폭 log2TBWSize로 정해지는 역 프라이머리 수평 변환을 하여, 역 프라이머리 변환 후의 예측 잔차 D'를 도출하고, 출력한다.
<역 프라이머리 변환부>
도 11에 도시된 바와 같이, 역 프라이머리 변환부(123)는, 색차 적응 프라이머리 변환 정보 도출부(131), 역 프라이머리 변환 선택부(132), 역 프라이머리 수직 변환부(133), 및 역 프라이머리 수평 변환부(134)를 갖는다.
색차 적응 프라이머리 변환 정보 도출부(131)는, 색 신호 식별자 compID가 색차를 나타내는 경우(compID==COMPONENT_Cb, COMPONENT_Cr), 색차 변환 블록에 대응하는 휘도 변환 블록의 적응 프라이머리 변환 정보(apt_flag[COMPONENT_Y], pt_idx[COMPONENT_Y])를 이용하여, 색차의 적응 프라이머리 변환 정보(apt_flag[compID], pt_idx[compID](compID=COMPONENT_Cb, COMPONENT_Cr))를 도출하고, 그 결과를 역 프라이머리 변환 선택부(132)에 공급한다.
<색차 적응 프라이머리 변환 정보 도출부>
도 11은, 색차 적응 프라이머리 변환 정보 도출부(131)가 갖는 기능의 주된 구성예를 나타내는 기능 블록도이다. 도 11에 도시된 바와 같이, 색차 적응 프라이머리 변환 정보 도출부(131)는, apt_flag 도출부(151) 및 pt_idx 도출부(152)를 갖는다. apt_flag 도출부(151)는, 색차의 적응 프라이머리 변환 플래그 apt_flag의 도출에 관한 처리를 행한다.
예를 들어, apt_flag 도출부(151)는, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여, 이하의 식 (9)와 같이 도출한다.
apt_flag[compID] = apt_flag[COMPONENT_Y]
(단, compID=COMPONENT_Cb, COMPONENT_Cr) … (9))
즉, apt_flag 도출부(151)는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONENT_Cb, COMPONENT_Cr)로 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 설정한다.
또한, 식 (9)의 변형예로서, apt_flag 도출부(151)가, 휘도의 잔차 데이터 유무 플래그 cbf_luma를 참조하여, 이하의 식 (10)과 같이 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]를 도출하도록 해도 된다.
apt_flag[compID] = cbf_luma ? apt_flag[COMPONENT_Y] : 0 … (10)
즉, apt_flag 도출부(151)는, 휘도의 잔차 데이터 유무 플래그 cbf_luma가 1(참)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONENT_Cb, COMPONENT_Cr)로 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 설정하고, 그 이외의 경우(휘도의 잔차 데이터 유무 플래그 cbf_luma가 0(거짓)인 경우), 0을 설정한다.
또한, apt_flag[COMPONENT_Y]가 부호화 데이터상에 존재하지 않는 경우, 해당 플래그의 값을 0으로 설정하는 경우에는, 휘도의 잔차 데이터 유무 플래그를 참조할 필요는 없다. 그러나, apt_flag[COMPONENT_Y]를 0으로 초기화하는 동작이 없는 경우에는, apt_flag[COMPONENT_Y]의 값이 일정하지 않게 되기 때문에, 휘도의 잔차 데이터 유무 플래그 cbf_luma를 참조하여, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 참조할지 여부를 제어하는 것이 바람직하다.
또한, pt_idx 도출부(152)는, 색차의 프라이머리 변환 식별자 pt_idx의 도출에 관한 처리를 행한다. 예를 들어, pt_idx 도출부(152)는, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr), 및 해당 색차 변환 블록에 대응하는 휘도 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]에 기초하여, 해당 색차의 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[compID]를, 이하의 식 (11)과 같이 도출한다.
pt_idx[compID] = apt_flag[compID] ? pt_idx[COMPONENT_Y] : 소정값 … (11)
즉, pt_idx 도출부(152)는, 해당 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)인 경우, 또한, 해당 색차 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[compID]를, 해당 색차 변환 블록에 대응하는 휘도 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]의 값으로 설정한다. 그 이외의 경우에는, 소정값을 설정한다.
이상과 같이, 색차 적응 프라이머리 변환 정보 도출부(131)는, 색차 변환 블록에 관한 적응 프라이머리 변환 정보를, 색차 변환 블록에 대응하는 휘도에 관한 적응 프라이머리 변환 정보에 기초하여 도출할 수 있다. 따라서, 색차 변환 블록에 관한 적응 프라이머리 변환 정보를, 부호화 데이터로부터 복호할 필요가 없어, 복호의 처리량을 삭감할 수 있다.
<역 프라이머리 변환부>
도 10으로 되돌아가서, 역 프라이머리 변환 선택부(132)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 입력으로 한다. 역 프라이머리 변환 선택부(132)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 도출하고, 각각, 역 프라이머리 수평 변환부(134), 역 프라이머리 수직 변환부(133)에 공급한다.
역 프라이머리 수직 변환부(133)는, 각 색 신호의 변환 블록마다, 역 세컨더리 변환 후의 변환 계수 Coeff_IS, 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV, 변환 블록의 세로 폭을 나타내는 log2TBHSize(세로 폭의 대수값)를 입력으로 한다. 역 프라이머리 수직 변환부(133)는, 역 세컨더리 변환 후의 변환 계수 Coeff_IS에 대해서, 변환 타입 TrTypeIdxV와 변환 블록의 세로 폭으로 정해지는 역 프라이머리 수직 변환 IPver을 실행하고, 그 결과를 역 프라이머리 수직 변환 후의 변환 계수 Coeff_IPver로서 역 프라이머리 수평 변환부(134)에 공급한다. 또한, 역 프라이머리 수직 변환 IPver는, 프라이머리 수직 변환 Pver의 역변환이다.
역 프라이머리 수평 변환부(134)는, 각 색 신호의 변환 블록마다, 역 프라이머리 수직 변환 후의 변환 계수 Coeff_IPver, 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 변환 블록의 가로 폭을 나타내는 log2TBWSize(가로 폭의 대수값)를 입력으로 한다. 역 프라이머리 수평 변환부(134)는, 역 프라이머리 수직 변환 후의 변환 계수 Coeff_IPver에 대해서, 변환 타입 TrTypeIdxH와 변환 블록의 가로 폭으로 정해지는 역 프라이머리 수평 변환 IPhor을 실행하고, 그 결과를 예측 잔차 D'로서 역변환부(113)의 외부로 출력한다(연산부(114)에 공급함). 또한, 역 프라이머리 수평 변환 IPhor는, 프라이머리 수평 변환 Phor의 역변환이다.
<역 프라이머리 변환 선택부의 처리>
다음으로, 역 프라이머리 변환 선택부(132)에 있어서의 색 신호 식별자 compID로 지정되는 색 신호의 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 역 프라이머리 수직 변환의 타입 TrTypeIdxV의 도출의 상세에 대하여 설명한다.
구체적으로는, 색 신호 식별자 compID로 지정되는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)인 경우, 역 프라이머리 변환 선택부(132)는, 예측 모드 정보 PInfo를 참조하여, 도 1의 표에 나타낸 변환 세트 식별자 TrSetSetIdx=0...3의 4개의 변환 세트 TrSet로부터, 수평 방향 및 수직 방향마다, 프라이머리 변환의 후보로 되는 직교 변환을 포함하는 변환 세트 TrSet를 선택한다. 또한, 직교 변환의 타입과 대응하는 식별자 TrTypeIdx의 값의 대응지음은, 도 2에 한정되지 않고 실시 가능한 범위에서 변경해도 된다.
또한, 적응 프라이머리 변환 플래그 apt_flag[compID]가 0(거짓)인 경우, 역 프라이머리 변환 선택부(132)는, 적응 프라이머리 변환을 실행하지 않음을 나타내기 때문에, 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV에, 소정(예를 들어, DCT-Ⅱ)의 직교 변환의 타입을 나타내는 변환 타입의 식별자의 값을 설정한다(TrIdxTypeH = TrIdxTypeV = 소정값).
<변환 세트의 선택>
처리 대상의 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인트라 예측을 나타내는 경우(CuPredMode==MODE_INTRA), 도 3에 도시된 표(LUT_IntraModeToTrSet)와 같이, 인트라 예측 모드(IntraPredMode)에 기초하여 행해진다. 예를 들어, 이하의 식 (12) 및 식 (13)과 같이, 각 방향의 변환 세트(TrSetH, 및 TrSetV)에 대해서, 대응하는 변환 세트 TrSet를 지정하는 변환 세트 식별자 TrSetIdx를 설정하도록 실시된다. 또한, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인터 예측인 경우, 이하의 식 (14)와 같이, 인터 예측용 변환 세트 TrSet를 지정하는 변환 세트 식별자 TrSetIdx(=InterTrSetIdx)가 설정된다. 또한, 인트라 예측 모드 IntraPredMode는, 휘도이면, 휘도 인트라 예측 모드 IntraPredModeY의 값이 설정되어 있으며, 색차이면, 색차 인트라 예측 모드 IntraPredModeC의 값이 설정되어 있는 것으로 한다.
if (CuPredMode == MODE_INTRA) {
TrSetH = LUT_IntraModeToTrSet [ IntraPredMode ] [ H (=0) ] … (12)
TrSetV = LUT_IntraModeToTrSet [ IntraPredMode ] [ V (=1) ] … (13)
} else {// CuPredMode==MODE_INTER
TrSetH = InterTrSetIdx
TrSetV = InterTrSetIdx … (14)
}
여기서, TrSetH는, 프라이머리 수평 변환 PThor의 변환 세트(프라이머리 수평 변환 세트라 칭함)를 나타내고, TrSetV는, 프라이머리 수직 변환 PTver의 변환 세트(프라이머리 수직 변환 세트라고도 칭함)를 나타낸다. 또한, 룩업 테이블 LUT_IntraModeToTrSet는, 도 3의 대응표이다. 룩업 테이블 LUT_IntraModeToTrSet [][]의 1번째의 배열은, 인트라 예측 모드 IntraPredMode를 인수로 하고, 2번째의 배열은, {H=0, V=1}을 인수로 한다.
예를 들어, 인트라 예측 모드 번호 18(IntraPredMode==18)인 경우, 프라이머리 수평 변환 세트 TrSetH로서, 도 1의 표(LUT_TrSetToTrTypeIdx)에 나타낸 변환 세트 식별자 TrSetIdx=2의 변환 세트가 선택되고, 프라이머리 수직 변환 세트 TrSetV로서, 도 1의 표에 나타낸 변환 세트 식별자 TrSetIdx=0의 변환 세트가 선택된다.
또한, 도 3에 있어서, 인트라 예측 모드 IntraPredMode가, 인트라 블록 카피(IBC; Intra Block Copy, IntraBC, 화면 내 움직임 보상이라고도 칭함)를 나타내는 경우(도 3의 표 상에서는, IntraPredMode==67이 IntraBC에 해당), 인터 예측 전용의 변환 세트 식별자가 할당되도록 해도 된다. 일반적으로, 인터 예측과 인트라 블록 카피에서는, 잔차의 경향이 유사하기 때문에, 동일한 변환 세트를 할당하는 것은 타당하다. 또한, 인트라 블록 카피 전용의 변환 세트 식별자가 할당되도록 해도 된다.
<프라이머리(수평·수직) 변환 지정 플래그의 도출>
또한, 역 프라이머리 변환 선택부(132)는, 색 신호 식별자 compID로 지정되는 색 신호의 프라이머리 변환 식별자 pt_idx[compID](compID=COMPONENT_Y, COMPONENT_Cb, COMPONENT_Cr)로부터, 예를 들어 이하의 식 (15)에 따라서, 프라이머리 수평 변환 지정 플래그 pt_hor_flag와 프라이머리 수직 변환 지정 플래그 pt_ver_flag를 도출한다.
pt_hor_flag = pt_dx[compID] & 0x01
pt_ver_flag = pt_idx[compID] >> 1 (= (pt_idx[compID] & 0x10) >>1)
… (15)
즉, 프라이머리 변환 식별자 pt_idx[compID]는, 2비트의 값을 취하고, 상위 1비트가 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 상당하며, 하위 1비트가 프라이머리 수평 변환 지정 플래그 pt_hor_flag에 상당한다.
<역 프라이머리(수평·수직) 변환의 변환 타입의 선택>
또한, 역 프라이머리 변환 선택부(132)는, 각 수평/수직 방향마다 선택된 변환 세트 TrSetH, TrSetV로부터, 역 프라이머리 변환에 사용하는 직교 변환의 변환 타입을, 각각, 프라이머리 수평 변환 지정 플래그 pt_hor_flag, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 의해 선택한다.
구체적으로는, 역 프라이머리 변환 선택부(132)는, 역 프라이머리 수평 변환에 적용할 직교 변환의 변환 타입 TrTypeIdxH를, 이하의 식 (16)과 같이, 도 1에 도시한 변환 세트와 변환 타입의 대응표(LUT_TrSetToTrTypeIdx), 프라이머리 수평 변환 세트 TrSetH, 및 프라이머리 수평 변환 지정 플래그 pt_hor_flag에 기초하여 결정한다.
TrTypeIdxH = LUT_TrSetToTrTypeIdx [ TrSetH ] [ pt_hor_flag ] … (16)
마찬가지로, 역 프라이머리 변환 선택부(132)는, 역 프라이머리 수직 변환에 적용할 직교 변환의 변환 타입 TrTypeIdxV를, 이하의 식 (17)과 같이, 도 1에 도시한 변환 세트와 변환 타입의 대응표(LUT_TrSetToTrTypeIdx), 프라이머리 수직 변환 세트 TrSetVx, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 기초하여 결정한다.
TrTypeIdxV = LUT_TrSetToTrTypeIdx [ TrSetV ] [ pt_ver_flag ] … (17)
예를 들어, 프라이머리 수평 변환 세트 TrSetH가 나타내는 변환 세트 식별자 TrSetIdx의 값이 2이면, 도 1의 변환 세트 정의표 LUT_TrSetToTrTypeIdx상에서 변환 세트 식별자 TrSetIdx==2인 변환 세트로부터 프라이머리 수평 변환에 적용할 직교 변환이 선택된다. 즉, 프라이머리 수평 변환 지정 플래그 pt_hor_flag가 0인 경우, 프라이머리 수평 변환 PThor의 직교 변환의 타입을 지정하는 수평 변환 타입 식별자 TrTypeIdxH에, 도 1의 표와 같이, DST-Ⅶ를 나타내는 변환 타입 식별자 TrTypeIdx의 값 「4」가 설정되고, 프라이머리 수평 변환 지정 플래그 pt_hor_flag가 1인 경우, 수평 변환 타입 식별자 TrTypeIdxH에, DCT-Ⅴ를 나타내는 변환 타입 식별자 TrTypeIdx의 값 「1」이 설정된다.
또한, 도 1에 도시한 표의 변환 세트 식별자 TrSetIdx, 프라이머리 수평 변환 지정 플래그, 및 프라이머리 수직 변환 지정 플래그의 값으로 정해지는 변환 타입은, 실시 가능한 범위에서 자유롭게 변경할 수 있도록 해도 된다.
그 후, 역 프라이머리 변환 선택부(132)는, 색 신호 식별자 compID로 지정되는 색 신호의 역 프라이머리 수평 변환 IPThor의 변환 타입 TrTypeIdxH, 및 역 프라이머리 수직 변환 IPTver의 변환 타입 TrTypeIdxV를, 각각, 역 프라이머리 수직 변환부(133)와 역 프라이머리 수평 변환부(134)에 공급한다.
이상과 같이, 역 프라이머리 변환부(123)는, 색차의 잔차 신호가 휘도의 잔차 신호와 경향이 유사한 경우에 있어서, 휘도에 있어서 선택된 역 적응 프라이머리 변환을, 색차의 변환 블록에 적용하는 것이 가능해진다. 따라서, 종래 기술과 비교하여, 색차의 잔차 신호에 대해서, 부호화 효율이 향상된 역 프라이머리 변환 처리를 행할 수 있다.
또한, 휘도/색차마다 적응 프라이머리 변환 플래그 apt_flag, 및 프라이머리 변환 식별자 pt_idx를 명시적으로 복호하는 경우와 비교하여, 색차에 관한 부호화 효율의 저하를 억제하면서, 인코더의 처리량을 삭감할 수 있다.
<화상 복호 처리의 흐름>
다음으로, 이상과 같은 화상 복호 장치(100)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 12의 흐름도를 참조하여, 화상 복호 처리의 흐름의 예를 설명한다.
화상 복호 처리가 개시되면, 스텝 S101에 있어서, 복호부(111)는, 화상 복호 장치(100)에 공급되는 비트 스트림(부호화 데이터)을 복호하고, 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 잔차 정보 Rinfo, 양자화 변환 계수 레벨 level 등의 정보를 얻는다.
스텝 S102에 있어서, 역양자화부(112)는, 스텝 S101의 처리에 의해 얻어진 양자화 변환 계수 레벨 level을 역양자화하여 변환 계수 Coeff_IQ를 도출한다. 이 역양자화는, 후술하는 화상 부호화 처리에 있어서 행해지는 양자화의 역처리이며, 그 화상 부호화 처리에 있어서 행해지는 역양자화와 마찬가지의 처리이다.
스텝 S103에 있어서, 역변환부(113)는, 스텝 S102의 처리에 의해 얻어진 변환 계수 Coeff_IQ를 역변환하고, 예측 잔차 D'를 도출한다. 이 역변환은, 후술하는 화상 부호화 처리에 있어서 행해지는 변환 처리의 역처리이며, 그 화상 부호화 처리에 있어서 행해지는 역변환과 마찬가지의 처리이다.
스텝 S104에 있어서, 예측부(116)는, 예측 모드 정보 PInfo에 기초하여, 부호화 시의 예측과 동일한 예측 모드에서 예측을 행하고, 예측 화상을 생성한다.
스텝 S105에 있어서, 연산부(114)는, 스텝 S103의 처리에 의해 얻어진 예측 잔차 D'에, 스텝 S104의 처리에 의해 얻어진 예측 화상을 가산하고, 복호 화상을 얻는다.
스텝 S106에 있어서, 연산부(114)는, 스텝 S105의 처리에 의해 얻어진 복호 화상을 화상 복호 장치(100)의 외부로 출력한다.
스텝 S107에 있어서, 프레임 메모리(115)는, 스텝 S105의 처리에 의해 얻어진 복호 화상을 기억한다.
스텝 S107의 처리가 종료되면, 화상 복호 처리가 종료된다.
<프라이머리 변환 정보 복호 처리>
상술한 바와 같이 도 12의 스텝 S101에 있어서는, 부호화 데이터 #1에 포함되는 다양한 정보가 복호된다. 그 때, 복호부(111)는, 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx 등의 정보의 복호도 적절히 행한다. 예를 들어, 복호부(111)는, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]나 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]를 복호한다. 단, 상술한 바와 같이, 이 부호화 데이터 #1에는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)나 색차의 프라이머리 변환 식별자 pt_idx[compID](compID=COMPONET_Cb or COMPONENT_Cr)는, 포함되어 있지 않다. 따라서, 복호부(111)는, 그들 정보의 복호는 생략한다.
이와 같은 복호를 행하기 위해서, 복호부(111)는, 스텝 S101에 있어서, 프라이머리 변환 정보 복호 처리를 실행한다. 도 13의 흐름도를 참조하여, 그 프라이머리 변환 정보 복호 처리의 흐름의 예를 설명한다.
프라이머리 변환 정보 복호 처리가 개시되면, 복호부(111)는, 스텝 S111에 있어서, 처리 대상 컴포넌트가 휘도인지(compID == COMPONENT_Y) 여부를 판정한다. 휘도라고 판정된 경우, 처리는 스텝 S112로 진행된다.
스텝 S112에 있어서, 복호부(111)는, 부호화 데이터 #1에 포함되는 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]를 복호할 수 있다. 스텝 S113에 있어서, 복호부(111)는, 부호화 데이터 #1에 포함되는 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]를 복호할 수 있다. 스텝 S113의 처리가 종료되면, 프라이머리 변환 정보 복호 처리가 종료된다.
또한, 스텝 S111에 있어서, 처리 대상 컴포넌트가 색차(compID != COMPONENT_Y)라고 판정된 경우, 스텝 S112 및 스텝 S113의 처리가 생략되고, 프라이머리 변환 정보 복호 처리가 종료된다. 즉, 색차의 경우, 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx의 복호가 생략된다. 따라서, 복호의 부하의 증대를 억제할 수 있다.
<역변환의 처리의 흐름>
다음으로, 도 12의 스텝 S103에 있어서 실행되는 역변환 처리의 흐름의 예를, 도 14의 흐름도를 참조하여 설명한다. 역변환 처리가 개시되면, 스위치(121)는, 스텝 S121에 있어서, 변환 스킵 플래그 ts_flag가 2D_TS(2차원 변환 스킵의 모드)이거나, 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1(참)인지를 판정한다. 변환 스킵 식별자 ts_idx가 2D_TS이거나, 또는 변환 양자화 바이패스 플래그가 1(참)이라고 판정된 경우, 스위치(121)에 의해 변환 계수 Coeff_IQ가 예측 잔차 D'로서 외부로 출력(연산부(114)에 공급)되어, 역변환 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S121에 있어서, 변환 스킵 식별자 ts_idx가 2D_TS가 아니며(2차원 변환 스킵 이외의 모드), 또한, 변환 양자화 바이패스 플래그가 0(거짓)이라고 판정된 경우, 스위치(121)에 의해 변환 계수 Coeff_IQ가 역 세컨더리 변환부(122)에 공급되고, 처리는 스텝 S122로 진행된다.
스텝 S122에 있어서, 역 세컨더리 변환부(122)는, 입력된 변환 계수 Coeff_IQ에 대해서, 세컨더리 변환 식별자 st_idx에 기초하여, 역 세컨더리 변환을 행하고, 역 세컨더리 변환 후의 변환 계수 Coeff_IS를 도출하여, 출력한다.
스텝 S123에 있어서, 역 프라이머리 변환 선택부(132)는, 색 신호 식별자 compID가 휘도인지, 색차인지를 판별한다. 색 신호 식별자 compID가 색차를 나타내는 경우(compID!=COMPONENT_Y), 처리는 스텝 S124로 진행된다. 스텝 S124에 있어서, 색차 적응 프라이머리 변환 정보 도출부(131)는, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr), 및 해당 색차 변환 블록에 대응하는 휘도 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]에 기초하여, 해당 색차의 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[compID]를 도출한다. 스텝 S124의 처리가 종료되면 처리는 스텝 S125로 진행된다.
또한, 스텝 S123에 있어서, 색 신호 식별자 compID가 휘도를 나타내는 경우(compID==COMPONENT_Y), 처리는 스텝 S125로 진행된다.
스텝 S125에 있어서, 역 프라이머리 변환 선택부(132)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 도출한다.
스텝 S126에 있어서, 역 프라이머리 수직 변환부(133)는, 색 신호 식별자 compID로 지정되는 변환 블록마다, 해당 변환 블록의 역 세컨더리 변환 후의 변환 계수 Coeff_IS에 대해서, 역 프라이머리 수직 변환의 변환 타입 TrTypeIdxV와 해당 변환 블록의 세로 폭으로 정해지는 역 프라이머리 수직 변환 IPver을 실행하고, 그 결과를 역 프라이머리 수직 변환 후의 변환 계수 Coeff_IPver로서 출력한다.
스텝 S127에 있어서, 역 프라이머리 수평 변환부(134)는, 색 신호 식별자 compID로 지정되는 변환 블록마다, 해당 변환 블록의 역 프라이머리 수직 변환 후의 변환 계수 Coeff_IPver에 대해서, 역 프라이머리 수평 변환의 변환 타입 TrTypeIdxH와 해당 변환 블록의 세로 폭으로 정해지는 역 프라이머리 수평 변환 IPhor을 실행하고, 그 결과를 예측 잔차 D'로서 출력한다. 스텝 S127의 처리가 종료되면, 역변환 처리가 종료되고, 처리는 도 12로 되돌아간다.
<색차 적응 프라이머리 변환 정보 도출 처리의 흐름>
다음으로, 도 14의 스텝 S124에 있어서 실행되는 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 15의 흐름도를 참조하여 설명한다. 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, 색차 적응 프라이머리 변환 정보 도출부(131)의 apt_flag 도출부(151)는, 스텝 S131에 있어서, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값에, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 세트한다.
스텝 S132에 있어서, 색차 적응 프라이머리 변환 정보 도출부(131)의 pt_idx 도출부(152)는, 그 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]가 참인지 여부를 판정한다. 참이라고 판정되면 처리는 스텝 S133으로 진행된다. 스텝 S133에 있어서, pt_idx 도출부(152)는, 색차의 프라이머리 변환 식별자 pt_idx[compID]에, 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]의 값을 세트한다. 스텝 S133의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
또한, 도 15의 스텝 S132에 있어서, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]가 거짓이라고 판정된 경우, 처리는 스텝 S134로 진행된다. 스텝 S134에 있어서, pt_idx 도출부(152)는, 색차의 프라이머리 변환 식별자 pt_idx[compID]에, 소정의 값을 세트한다. 스텝 S134의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
<역 프라이머리 변환 선택 처리의 흐름>
다음으로, 도 14의 스텝 S125에 있어서 실행되는 역 프라이머리 변환 선택 처리의 흐름의 예를, 도 16의 흐름도를 참조하여 설명한다.
역 프라이머리 변환 선택 처리가 개시되면, 역 프라이머리 변환 선택부(132)는, 스텝 S141에 있어서, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)인지 여부를 판정한다. 해당 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)이라고 판정된 경우, 처리는 스텝 S142로 진행된다.
스텝 S142에 있어서, 역 프라이머리 변환 선택부(132)는, 예측 모드 정보 PInfo에 기초하여, 역 프라이머리 수직 변환의 변환 세트 TrSetV(프라이머리 수평 변환 세트), 및 역 프라이머리 수평 변환의 변환 세트 TrSetH(프라이머리 수직 변환 세트)를 선택한다.
스텝 S143에 있어서, 역 프라이머리 변환 선택부(132)는, 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]로부터, 프라이머리 수평 변환 지정 플래그 pt_hor_flag, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag를 도출한다.
스텝 S144에 있어서, 역 프라이머리 변환 선택부(132)는, 프라이머리 수평 변환 세트 TrSetH 및 프라이머리 수평 변환 지정 플래그 pt_hor_flag를 참조하여, 역 프라이머리 수평 변환 IPThor로서 적용할 직교 변환의 변환 타입 TrTypeIdxH를 선택한다.
스텝 S145에 있어서, 역 프라이머리 변환 선택부(132)는, 프라이머리 수직 변환 세트 TrSetV, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag를 참조하여, 역 프라이머리 수직 변환 IPTver로서 적용할 직교 변환의 변환 타입 TrTypeIdxV를 선택한다. 스텝 S145의 처리가 종료되면, 역 프라이머리 변환 선택 처리가 종료되고, 처리는 도 14로 되돌아간다.
또한, 스텝 S141에 있어서, 적응 프라이머리 변환 플래그 apt_flag[compID]가 0(거짓)이라고 판정된 경우, 처리는 스텝 S146으로 진행된다. 스텝 S146에 있어서, 역 프라이머리 변환 선택부(132)는, 역 프라이머리 수평 변환 IPThor의 변환 타입 TrTypeIdxH로서, 소정의 직교 변환을 선택한다(TrTypeIdxH = 소정값).
스텝 S147에 있어서, 역 프라이머리 변환 선택부(132)는, 역 프라이머리 수직 변환 IPTver의 변환 타입 TrTypeIdxV로서, 소정의 직교 변환을 선택한다(TrTypeIdxV = 소정값). 스텝 S147의 처리가 종료되면, 역 프라이머리 변환 선택 처리가 종료되고, 처리는 도 14로 되돌아간다.
즉, 역 프라이머리 변환 선택부(132)는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값에 따른 방법으로, 역 프라이머리 수평 변환 IPThor의 변환 타입 TrTypeIdxH와, 역 프라이머리 수직 변환 IPTver의 변환 타입 TrTypeIdxV를 도출한다.
이상과 같이, 화상 복호 장치(100)가 구비하는 역변환부(113)는, 색차의 잔차 신호가 휘도의 잔차 신호와 경향이 유사한 경우에 있어서, 휘도에 있어서 선택된 역 적응 프라이머리 변환을, 색차의 변환 블록에 적용하는 것이 가능해진다. 따라서, 종래 기술과 비교하여, 색차의 잔차 신호에 대해서, 부호화 효율이 향상된 역 프라이머리 변환 처리를 행할 수 있다. 또한, 휘도/색차마다 적응 프라이머리 변환 플래그 apt_flag, 및 프라이머리 변환 식별자 pt_idx를 명시적으로 복호하는 경우와 비교하여, 색차에 관한 부호화 효율의 저하를 억제하면서, 부호화나 복호의 처리량을 삭감할 수 있다.
<변형예 #1>
또한, 색차의 적응 프라이머리 변환 플래그의 도출을 예측 타입이 인터 CU인 경우로 한정하도록 해도 된다. 예를 들어, 이하의 식 (18)과 같이, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 및 해당 색차 변환 블록이 속하는 CU(부호화 단위)의 예측 타입 CuPredMode에 기초하여 도출하도록 해도 된다.
if ( CuPredMode == MODE_INTER ) {
apt_flag[compID] = apt_flag[COMPONENT_Y]
} else {
apt_flag[compID] = 0
}
… (18)
예를 들어, 해당 색차 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인터 예측인 경우, (CuPredMode==MODE_INTER), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정된다. 이에 비하여, 해당 색차 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인터 예측이 아닌 경우(인트라 예측임), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]의 값이 0(거짓)으로 설정된다.
이와 같은 경우의 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 17의 흐름도를 참조하여 설명한다. 이 흐름도는, 도 15의 흐름도에 대응한다. 이 경우, 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, apt_flag 도출부(151)는, 스텝 S151에 있어서, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CUPredMode가 인터 예측(MODE_INTER)인지 여부를 판정한다. 인터 예측이라고 판정된 경우, 처리는 스텝 S152로 진행된다.
스텝 S152에 있어서, apt_flag 도출부(151)는, 도 15의 스텝 S131의 경우와 마찬가지로, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값에, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S152의 처리가 종료되면 처리는 스텝 S154로 진행된다.
또한, 스텝 S151에 있어서, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CUPredMode가 인트라 예측이라고 판정된 경우, 처리는 스텝 S153으로 진행된다. 스텝 S153에 있어서, apt_flag 도출부(151)는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값을 0(거짓)으로 한다. 스텝 S153의 처리가 종료되면 처리는 스텝 S154로 진행된다.
스텝 S154 내지 스텝 S156의 각 처리는, 도 15의 스텝 S132 내지 스텝 S134의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S155 또는 스텝 S156의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
예측 타입이 인트라 예측인 경우, 휘도와 색차에서는, 인트라 예측 모드가 상이한 경우가 있다. 이때, 휘도와 색차의 잔차 신호의 경향은 상이하기 때문에, 휘도의 적응 프라이머리 변환 정보를 색차에 적용하면 부호화 효율이 저하될 가능성이 있다. 따라서, 도 17과 같이 색차 적응 프라이머리 변환 정보 도출 처리를 실행하고, 예측 타입이 인터 예측인 경우에만, 휘도의 적응 프라이머리 변환 정보를 색차에 적용하도록 함으로써, 도 15의 경우와 비교하여 부호화 효율의 저감을 보다 억제할 수 있다.
<변형예 #2>
또한, 색차의 적응 프라이머리 변환 플래그의 도출을, 인터 CU, 또는 인트라CU 또한 휘도 인트라 예측 모드가 인트라 블록 카피(화면 내 움직임 보상)일 때로 한정하도록 해도 된다. 예를 들어, 이하의 식 (19)와 같이, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 및 해당 색차 변환 블록이 속하는 CU(부호화 단위)의 예측 타입 CuPredMode, 및 예측 모드 정보 PInfo 기초하여 설정하도록 해도 된다.
if ( CuPredMode == MODE_INTER ) {
apt_flag[compID] = apt_flag[COMPONENT_Y]
} else if (IntraPredModeC == "IntraBC") { // CuPredMODE == MODE_INTRA
apt_flag[compID] = apt_flag[COMPONENT_Y]
} else {
apt_flag[compID] = 0
}
… (19)
즉, 해당 색차 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인터 예측인 경우, 또는 CU의 예측 타입이 인트라 예측이며, 또한, 색차의 인트라 예측 모드 IntraPredModeC가 인트라 블록 카피(IntraBC)인 경우, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정된다. 이에 비하여, 그 이외의 경우(CU의 예측 타입 CuPredMode가 인트라 예측이며, 또한, 색차의 인트라 예측 모드 IntraPredModeC가 인트라 블록 카피가 아닌 경우), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]의 값이 0(거짓)으로 설정된다. 또한, 동일 CU에 휘도와 색차의 정보가 포함되는 경우에는, 상술한 식 (19)에 있어서, 색차의 인트라 예측 모드 IntraPredModeC 대신에 휘도의 인트라 예측 모드 IntraPredModeY를 사용하여 조건 판정을 해도 된다.
이와 같은 경우의 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 18의 흐름도를 참조하여 설명한다. 이 흐름도는, 도 15의 흐름도에 대응한다. 이 경우, 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, apt_flag 도출부(151)는, 스텝 S171에 있어서, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CUPredMode가 인터 예측(MODE_INTER)인지 여부를 판정한다. 인트라 예측이라고 판정된 경우, 처리는 스텝 S172로 진행된다.
스텝 S172에 있어서, apt_flag 도출부(151)는, 색차의 인트라 예측 모드 IntraPredModeC가 인트라 블록 카피(IntraBC)인지 여부를 판정한다. 인트라 블록 카피(IntraBC)라고 판정된 경우, 처리는 스텝 S173으로 진행된다. 또한, 스텝 S171에 있어서, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CUPredMode가 인터 예측(MODE_INTER)이라고 판정된 경우, 처리는 스텝 S173으로 진행된다.
스텝 S173에 있어서, apt_flag 도출부(151)는, 도 15의 스텝 S131의 경우와 마찬가지로, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값에, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S173의 처리가 종료되면 처리는 스텝 S175로 진행된다.
또한, 스텝 S172에 있어서, 색차의 인트라 예측 모드 IntraPredModeC가 인트라 블록 카피(IntraBC)가 아니라고 판정된 경우, 처리는 스텝 S174로 진행된다. 스텝 S174에 있어서, apt_flag 도출부(151)는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값을 0(거짓)으로 한다. 스텝 S174의 처리가 종료되면 처리는 스텝 S175로 진행된다.
스텝 S175 내지 스텝 S177의 각 처리는, 도 15의 스텝 S132 내지 스텝 S134의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S176 또는 스텝 S177의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
예측 타입이 인트라 예측으로서, 인트라 예측 모드 IntraPredMode가 인트라 블록 카피인 경우, 인터 예측과 마찬가지로, 휘도의 잔차와 색차의 잔차의 경향이 유사하다. 따라서, <변형예 #1>과 비교하여, 예측 타입이 인트라 예측으로서, 인트라 예측 모드 IntraPredMode가 IntraBC인 경우에, 휘도의 적응 프라이머리 변환을, 색차에 대해서 적용할 수 있기 때문에, 부호화 효율을 더욱 개선할 수 있다.
<변형예 #3>
또한, 색차의 적응 프라이머리 변환 플래그의 도출을, 인터 CU, 또는 인트라CU 또한 휘도 인트라 예측 모드가 색차 인트라 예측 모드와 동등한 때로 한정하도록 해도 된다. 예를 들어, 이하의 식 (20)과 같이, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 해당 색차 변환 블록이 속하는 CU(부호화 단위)의 예측 타입 CuPredMode, 및 해당 CU의 휘도 인트라 예측 모드 IntraPredModeY를 해당 CU의 색차 인트라 모드 IntraPredModeC에 기초하여 설정하도록 해도 된다.
if ( CuPredMode == MODE_INTER ) {
apt_flag[compID] = apt_flag[COMPONENT_Y]
} else if (IntraPredModeY == IntraPredModeC) { // CuPredMode==MODE_INTRA
apt_flag[compID] = apt_flag[COMPONENT_Y]
} else {
apt_flag[compID] = 0
}
… (20)
즉, 해당 색차 변환 블록이 속하는 CU의 예측 타입 CuPredMode가 인터 예측, 혹은, CU의 예측 타입이 인트라 예측, 또한, 색차의 인트라 예측 모드 IntraPredModeC가 휘도의 인트라 예측 모드 IntraPredModeY와 동등한 경우, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정된다. 이에 비하여, 그 이외의 경우(CU의 예측 타입 CuPredMode가 인트라 예측, 또한, 색차의 인트라 예측 모드가 휘도의 인트라 예측 모드와 상이한 경우), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]의 값이 0(거짓)으로 설정된다.
이와 같은 경우의 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 19의 흐름도를 참조하여 설명한다. 이 흐름도는, 도 15의 흐름도에 대응한다. 이 경우, 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, apt_flag 도출부(151)는, 스텝 S181에 있어서, 처리 대상의 변환 블록이 속하는 CU의 예측 타입 CUPredMode가 인터 예측(MODE_INTER)인지 여부를 판정한다. 인트라 예측이라고 판정된 경우, 처리는 스텝 S182로 진행된다.
스텝 S182에 있어서, apt_flag 도출부(151)는, 색차의 인트라 예측 모드 IntraPredModeC가 휘도의 인트라 예측 모드 IntraPredModeY와 동등한지 여부를 판정한다. 동등하다고 판정된 경우, 처리는 스텝 S183으로 진행된다. 또한, 스텝 S182에 있어서, 색차의 인트라 예측 모드 IntraPredModeC가 휘도의 인트라 예측 모드 IntraPredModeY와 동등하지 않다고 판정된 경우, 처리는 스텝 S184로 진행된다.
스텝 S183 내지 스텝 S187의 각 처리는, 도 18의 스텝 S173 내지 스텝 S177의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S186 또는 스텝 S187의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
CU의 예측 타입이 인트라 예측인 경우, 휘도와 색차에서는, 인트라 예측 모드가 동등한 경우에는, 휘도와 색차의 잔차 신호의 경향이 유사하다. 따라서, 휘도의 인트라 예측 모드와 색차의 인트라 예측 모드가 동일값인 경우에만, 휘도의 적응 프라이머리 변환 정보를, 색차에 적용함으로써, <변형예 #1>의 경우와 비교하여, 예측 타입이 인트라 예측으로서, 휘도의 인트라 예측 모드와 색차의 인트라 예측 모드가 동일값인 경우에, 휘도의 적응 프라이머리 변환을, 색차에 대해서 적용할 수 있기 때문에, 부호화 효율을 더욱 개선할 수 있다.
<변형예 #4>
또한, 색차의 적응 프라이머리 변환에 관한 정보를, 휘도의 적응 프라이머리 변환에 기초하여 설정할지 여부를 나타내는 플래그를 추가하고, 그 플래그에 의해 색차의 적응 프라이머리 변환에 관한 정보의 설정을 제어하도록 해도 된다. 예를 들어, 이하의 식 (21)과 같이, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차 변환 블록에 대응하는 휘도 변환 블록의 적응 프라이머리 변환 정보로부터 설정(추정)할지 여부를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_infer_flag와, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정하도록 해도 된다.
if ( chroma_apt_info_infer_flag [compID] ) {
apt_flag[compID] = apt_flag[COMPONENT_Y] : 0
} else {
apt_flag[compID] = 0
}
… (21)
즉, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]가 1(참)인 경우, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정된다. 이에 비하여, 그 이외의 경우(색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]가 0(거짓)인 경우), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]의 값이 0(거짓)으로 설정된다.
이 경우의 TU의 신택스의 예를 도 20의 A에 나타낸다. 각 파라미터의 시맨틱스는, 도 20의 B와 같이 된다. 또한, 도 20의 A의 신택스에 포함되는 residual coding의 신택스의 예를 도 21에 나타낸다. 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag는, 도 21에 도시한 신택스 테이블의 정의를 따라서, 복호부(111)에 의해 복호된다.
즉, 색 신호 식별자 compID가 색차를 나타내는 경우이며, 또한, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가 1(참)이며, 또한, 색 신호 식별자 compID에 대응하는 색 신호의 변환 스킵 플래그 ts_flag[compID]가 0(거짓)이며, 또한, 변환 양자화 바이패스 플래그가 0(거짓)인 경우, 해당 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag가 복호된다. 그 이외의 조건의 경우에는, 해당 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag의 값은 0이라고 추정된다.
복호부(111)는, 도 12의 스텝 S101에 있어서, 색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리를 실행함으로써, 이와 같은 복호를 행한다. 도 22의 흐름도를 참조하여 이 색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리의 흐름의 예를 설명한다.
색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리가 개시되면, 복호부(111)는, 스텝 S191에 있어서, 색 신호 식별자 compID가 휘도인지 여부를 판정한다. 색 신호 식별자 compID가 색차라고 판정된 경우(compID != COMPONENT_Y), 처리는 스텝 S192로 진행된다. 스텝 S192에 있어서, 복호부(111)는, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가, 1(참)인지 여부를 판정한다. 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가 1(참)이라고 판정된 경우, 처리는 스텝 S193으로 진행된다.
스텝 S193에 있어서, 복호부(111)는, 변환 양자화 바이패스 플래그 transquant_bypass_flag가, 1(참)인지 여부를 판정한다. 변환 양자화 바이패스 플래그가 0(거짓)이라고 판정된 경우(! transquant_bypass_flag), 처리는 스텝 S194로 진행된다. 스텝 S194에 있어서, 복호부(111)는, 색 신호 식별자 compID에 대응하는 색 신호의 변환 스킵 플래그 ts_flag[compID]가 1(참)인지 여부를 판정한다. 변환 스킵 플래그 ts_flag[compID]가 0(거짓)이라고 판정된 경우(! ts_flag[compID]), 처리는 스텝 S195로 진행된다.
스텝 S195에 있어서, 복호부(111)는, 부호화 데이터 #1의 비트 열로부터, 색 신호 식별자 compID에 대응하는 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]를 복호하고, 변환 정보 Tinfo의 일부로서 출력한다. 스텝 S195의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S191에 있어서, 색 신호 식별자 compID가 휘도라고 판정된 경우(compID==COMPONENT_Y), 처리는 스텝 S196으로 진행된다. 또한, 스텝 S192에 있어서(! apt_flag[COMPONENT_Y]), 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가 0(거짓)이라고 판정된 경우, 처리는 스텝 S196으로 진행된다. 또한, 스텝 S193에 있어서, 변환 양자화 바이패스 플래그가 1(참)이라고 판정된 경우(transquant_bypass_flag), 처리는 스텝 S196으로 진행된다. 또한, 스텝 S194에 있어서, 변환 스킵 플래그 ts_flag[compID]가 1(참)이라고 판정된 경우(ts_flag[compID]), 처리는 스텝 S196으로 진행된다.
스텝 S196에 있어서, 복호부(111)는, 색 신호 식별자 compID에 대응하는 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]의 복호를 생략하고, 해당 플래그의 값을 0(거짓)으로 세트한다(chroma_apt_info_infer_flag[compID]=0). 스텝 S196의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 추정 플래그 복호 처리가 종료되고, 처리는 도 12로 되돌아간다.
색차 적응 프라이머리 변환 정보 도출부(131)는, 이와 같이 복호 또는 세트된 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]를 사용하여, 색차 적응 프라이머리 변환 정보 도출 처리를 행한다. 이와 같은 경우의 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 23의 흐름도를 참조하여 설명한다. 이 흐름도는, 도 15의 흐름도에 대응한다. 이 경우, 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, apt_flag 도출부(151)는, 스텝 S201에 있어서, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]의 값이 참인지 여부를 판정한다. 참이라고 판정된 경우, 처리는 스텝 S202로 진행된다. 또한, 스텝 S201에 있어서, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag[compID]의 값이 거짓이라고 판정된 경우, 처리는 스텝 S203으로 진행된다.
스텝 S202 내지 스텝 S206의 각 처리는, 도 19의 스텝 S183 내지 스텝 S187의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S205 또는 스텝 S206의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
휘도의 잔차와 색차의 잔차 경향이 상이한 신호에 대해서, 휘도의 적응 프라이머리 변환 정보를 색차에 대해서 적용할지 여부를, 색차 적응 프라이머리 변환 정보 추정 플래그에 기초하여, 명시적으로 제어하는 것이 가능해진다. 따라서, 도 15의 경우와 비교하여, 보다 효율적으로 색차에 대해서, 적응 프라이머리 변환을 적용하는 것이 가능하게 되어, 부호화 효율을 개선할 수 있다.
<변형예 #5>
또한, 색차의 적응 프라이머리 변환 플래그의 도출을, 색차의 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우로 한정하도록 해도 된다. 예를 들어, 이하의 식 (22)와 같이, 처리 대상의 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)를, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 및 해당 색차 변환 블록의 짧은 변의 사이즈에 기초하여 설정하도록 해도 된다.
if (min(log2TBWSize, log2TBHSize)>= TH ){
apt_flag[compID]= apt_flag[COMPONENT_Y]
} else {
apt_flag[compID]=0
}
···(22)
즉, 색차 변환 블록의 짧은 변의 사이즈가 임계값 이상인 경우(min(log2TBWSize, log2TBHSize)>=TH), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]가, 해당 색차의 변환 블록에 대응하는 휘도 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]에 기초하여 설정된다. 이에 비하여, 그 이외의 경우(색차 변환 블록의 짧은 변의 사이즈가 임계값 미만인 경우), 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID]의 값이 0(거짓)으로 설정된다.
이와 같은 경우의 색차 적응 프라이머리 변환 정보 도출 처리의 흐름의 예를, 도 24의 흐름도를 참조하여 설명한다. 이 흐름도는, 도 15의 흐름도에 대응한다. 이 경우, 색차 적응 프라이머리 변환 정보 도출 처리가 개시되면, apt_flag 도출부(151)는, 스텝 S211에 있어서, 처리 대상의 변환 블록의 짧은 변의 사이즈(min(log2TBWSize, log2TBHSize))가 소정의 임계값 TH 이상인지 여부를 판정한다. 처리 대상의 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상(min(log2TBWSize, log2TBHSize)>=TH)이라고 판정된 경우, 처리는 스텝 S212로 진행된다. 또한, 스텝 S211에 있어서, 처리 대상의 변환 블록의 짧은 변의 사이즈가 소정의 임계값 미만(min(log2TBWSize, log2TBHSize)<TH)이라고 판정된 경우, 처리는 스텝 S213으로 진행된다.
스텝 S212 내지 스텝 S216의 각 처리는, 도 23의 스텝 S202 내지 스텝 S206의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S215 또는 스텝 S216의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 도출 처리가 종료되고, 처리는 도 14로 되돌아간다.
색차의 변환 블록의 짧은 변의 사이즈가 소정값 미만(예를 들어 4)인 경우, 짧은 변의 사이즈와 동등한 사이즈의 DST-7/DST-1/DCT-5/DCT-8 등의 적응 프라이머리 변환을, 짧은 변측에 적용해도 부호화 효율의 개선 폭은 작다. 그 때문에, 색차의 변환 블록의 짧은 변의 사이즈가 소정값 미만인 경우에는, 적응 프라이머리 변환을 적용하지 않도록 함으로써, 부호화 효율의 저감을 억제한 채, 소정값 미만의 사이즈의 적응 프라이머리 변환에 이용되는 변환에 관한 회로 규모를 삭감할 수 있다.
<변형예 #6>
또한, 색차의 변환 블록의 세로 폭, 가로 폭의 사이즈에 의해 역 프라이머리 수평 변환 IPhor 및 역 프라이머리 수직 변환 IPver의 변환 타입을 선택할 수 있도록 해도 된다. 예를 들어, 이상에 있어서는, 역 프라이머리 변환 선택부(132)가, 도 1에 도시한 변환 세트와 변환 타입의 대응표(LUT_TrSetToTrTypeIdx), 프라이머리 {수평, 수직} 변환 세트 TrSet {H, V}, 및 프라이머리 {수평, 수직} 변환 지정 플래그 pt_ {hor, ver}_flag에 기초하여, 각 방향의 역변환에 적용할 직교 변환의 타입을 결정하도록 설명하였지만, 이것에 한정되지 않는다. 예를 들어, 색차의 변환 블록의 경우에는, 색차 변환 블록의 사이즈를 더욱 참조하여, 각 방향의 변환 타입을 결정하도록 해도 된다.
예를 들어, 도 16의 스텝 S144에 있어서, 이하의 식 (23)과 같이, 색차 변환 블록의 가로 폭(여기서는, 가로 폭의 대수값 log2TBWSize)이 임계값 TH 이하인 경우, (역) 프라이머리 수평 변환의 변환 타입 TrTypeIdxH를 소정의 변환 타입(DCT-2)으로 설정하고, 그 이외의 경우, 수평 변환 세트 TrSetH, 프라이머리 수평 변환 지정 플래그 pt_hor_flag에 기초하여, (역) 프라이머리 수평 변환의 변환 타입 TrTypeIdxH를 설정하도록 해도 된다. 또한, 식 (23)에 있어서, 임계값 TH의 구체예는, 예를 들어 1이나 2로 설정한다. 또한, 식 (23)에 있어서, 변환 블록의 가로 폭의 대수값 log2TBWSize 대신에, 가로 폭 TBW로 치환해도 된다. 그 경우, 임계값 TH'는, 1<<TH로 설정된다.
if (compID==COMPONENT_Y ) {
TrTypeIdxH = LUT_TrSetToTrTypeIdx[ TrSetH ][ pt_hor_flag ]} else if (log2TBWSize<=TH) {
TrTypeIdxH = 소정값 (DCT-Ⅱ를 나타내는 변환 타입의 값을 설정)
} else {
TrTypeIdxH = LUT_TrSetToTrTypeIdx[ TrSetH ][ pt_hor_flag ]}
… (23)
이와 같은, 도 16의 스텝 S144에 있어서 실행되는 프라이머리 수평 변환 타입 도출 처리의 흐름의 예를, 도 25의 흐름도를 참조하여 설명한다. 프라이머리 수평 변환 타입 도출 처리가 개시되면, 역 프라이머리 변환 선택부(132)는, 스텝 S221에 있어서, 처리 대상이 휘도의 변환 블록인지 여부를 판정한다. 색차의 변환 블록이라고 판정된 경우, 처리는 스텝 S222로 진행된다. 스텝 S222에 있어서, 역 프라이머리 변환 선택부(132)는, 색차 변환 블록의 가로 폭(가로 폭의 대수값 log2TBWSize)이 임계값 TH 이하인지 여부를 판정한다. 색차 변환 블록의 가로 폭이 임계값보다 크다고 판정된 경우(log2TBWSize>TH), 처리는 스텝 S223으로 진행된다. 또한, 스텝 S221에 있어서, 처리 대상이 휘도의 변환 블록이라고 판정된 경우, 처리는 스텝 S223으로 진행된다.
스텝 S223에 있어서, 역 프라이머리 변환 선택부(132)는, (역) 프라이머리 수평 변환의 변환 타입 TrTypeIdxH를, 도 1에 도시한 변환 세트와 변환 타입의 대응표(LUT_TrSetToTrTypeIdx), 프라이머리 수평 변환 세트 TrSetH, 및 프라이머리 수평 변환 지정 플래그 pt_hor_flag에 기초하여 설정한다. 스텝 S223의 처리가 종료되면, 프라이머리 수평 변환 타입 도출 처리가 종료되고, 처리는 도 16으로 되돌아간다.
또한, 스텝 S222에 있어서, 색차 변환 블록의 가로 폭이 임계값 이하라고 판정된 경우(log2TBWSize <= TH), 처리는 스텝 S224로 진행된다. 스텝 S224에 있어서, 역 프라이머리 변환 선택부(132)는, (역) 프라이머리 수평 변환의 변환 타입 TrTypeIdxH를, 소정값으로 설정한다. 스텝 S224의 처리가 종료되면, 프라이머리 수평 변환 타입 도출 처리가 종료되고, 처리는 도 16으로 되돌아간다.
수직 방향에 대해서도 마찬가지이다. 예를 들어, 도 16의 스텝 S145에 있어서, 이하의 식 (24)와 같이, 색차 변환 블록의 세로 폭(여기서는, 세로 폭의 대수값 log2TBHSize)이 임계값 TH 이하인 경우, (역) 프라이머리 수직 변환의 변환 타입 TrTypeIdxV로서 소정의 변환 타입(DCT-2)을 설정하고, 그 이외의 경우, 수직 변환 세트 식별자 TrSetV, 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 기초하여, (역) 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 설정하도록 해도 된다. 또한, 식 (24)에 있어서, 임계값 TH의 구체예는, 예를 들어 1이나 2로 설정한다. 또한, 식 (24)에 있어서, 변환 블록의 세로 폭의 대수값 log2TBHSize 대신에, 세로 폭 TBH로 치환해도 된다. 그 경우, 임계값 TH'는, 1<<TH로 설정된다.
if (compID==COMPONENT_Y ) {
TrTypeIdxV = LUT_TrSetToTrTypeIdx[ TrSetV ][ pt_ver_flag ]
} else if (log2TBHSize<=TH) {
TrTypeIdxV = 소정값 (DCT-Ⅱ를 나타내는 변환 타입의 값을 설정)
} else {
TrTypeIdxV = LUT_TrSetToTrTypeIdx[ TrSetV ][ pt_ver_flag ]
}
… (24)
이와 같은, 도 16의 스텝 S145에 있어서 실행되는 프라이머리 수직 변환 타입 도출 처리의 흐름의 예를, 도 26의 흐름도를 참조하여 설명한다. 프라이머리 수직 변환 타입 도출 처리가 개시되면, 역 프라이머리 변환 선택부(132)는, 스텝 S231에 있어서, 처리 대상이 휘도의 변환 블록인지 여부를 판정한다. 색차의 변환 블록이라고 판정된 경우, 처리는 스텝 S232로 진행된다. 스텝 S232에 있어서, 역 프라이머리 변환 선택부(132)는, 색차 변환 블록의 세로 폭(세로 폭의 대수값 log2TBHSize)이 임계값 TH 이하인지 여부를 판정한다. 색차 변환 블록의 세로 폭이 임계값보다 크다고 판정된 경우(log2TBHSize>TH), 처리는 스텝 S233으로 진행된다. 또한, 스텝 S231에 있어서, 처리 대상이 휘도의 변환 블록이라고 판정된 경우, 처리는 스텝 S233으로 진행된다.
스텝 S233에 있어서, 역 프라이머리 변환 선택부(132)는, (역) 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를, 도 1에 도시한 변환 세트와 변환 타입의 대응표(LUT_TrSetToTrTypeIdx), 프라이머리 수직 변환 세트 TrSetV 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag에 기초하여 설정한다. 스텝 S233의 처리가 종료되면, 프라이머리 수직 변환 타입 도출 처리가 종료되고, 처리는 도 16으로 되돌아간다.
또한, 스텝 S232에 있어서, 색차 변환 블록의 가로 폭이 임계값 이하라고 판정된 경우(log2TBHSize <= TH), 처리는 스텝 S234로 진행된다. 스텝 S234에 있어서, 역 프라이머리 변환 선택부(132)는, (역) 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를, 소정값으로 설정한다. 스텝 S234의 처리가 종료되면, 프라이머리 수직 변환 타입 도출 처리가 종료되고, 처리는 도 16으로 되돌아간다.
색차의 변환 블록의 가로 폭(세로 폭)이 소정값 미만(예를 들어 4)인 경우, (역) 프라이머리 수평(수직) 변환으로서, DST-7/DST-1/DCT-5/DCT-8과 DCT-2는, 부호화 효율의 차가 작다. 따라서, 색차의 변환 블록의 가로 폭(세로 폭)이 소정값 미만(예를 들어 4)인 경우, (역) 프라이머리 수평(수직) 변환으로서, 소정의 직교 변환(DCT-2)을 선택함으로써, 소정값 미만의 사이즈의 적응 프라이머리 변환에 이용되는 직교 변환에 관한 회로 규모를 삭감할 수 있다.
<3. 제2 실시 형태>
<ts_flag>
또한, 제1 실시 형태에 있어서는, (역)직교 변환에 관한 정보로서, 적응 프라이머리 변환 플래그 apt_flag와 프라이머리 변환 식별자 pt_idx를 예로 들어 설명하였지만, (역)직교 변환에 관한 정보의 내용은 임의이며, 이들 파라미터로 한정되지 않는다. 예를 들어, 도 6의 표에 나타낸 바와 같이, (역)직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그 ts_flag를 포함하도록 해도 된다. 예를 들어, 색차(Cb)의 변환 스킵 플래그 ts_flag[Cb]와 색차(Cr)의 변환 스킵 플래그 ts_flag[Cr]을 각각, 휘도의 변환 스킵 플래그 ts_flag[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)로 시그널되는 해당 신택스의 부호량에 관한 오버헤드의 증대도 억제할 수 있다.
도 27의 표를 참조하여 다시 설명한다. 종래에는, No. #0의 행과 같이, 색차에 있어서도, 변환 스킵 플래그 ts_flag는 부호화측으로부터 복호측으로 전송되고 있었다(시그널링되고 있었다). 이와 같이, 휘도뿐만 아니라 색차에 있어서도 변환 스킵 플래그 ts_flag를 명시적으로 부호화하면, 부호량이 증대되어, 부호화 효율이 저감될 우려가 있었다. 또한, 이 경우, 부호화측에 있어서는 각 신호(Y, Cb, Cr)마다 변환 스킵 플래그 ts_flag의 설정이나 부호화를 행해야만 해서, 처리량이 증대될 우려가 있었다. 또한 복호측에 있어서는, 각 신호(Y, Cb, Cr)마다 변환 스킵 플래그 ts_flag의 복호를 행해야만 해서, 처리량이 증대될 우려가 있었다.
그래서, 예를 들어 No. #1의 행과 같이, 항상, 색차의 변환 스킵 플래그 ts_flag를, 휘도의 변환 스킵 플래그 ts_flag로부터 추정하도록 한다. 예를 들어, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하도록 해도 된다. 이와 같이 함으로써, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
또한, 예를 들어 No. #2의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #3의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #4의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #5의 행과 같이, 색차의 변환 스킵 플래그 ts_flag[compID]를 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]에 기초하여 추정할지를 나타내는 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 1(참)인 경우, 색차의 변환 스킵 플래그 ts_flag[copmID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 0(거짓)인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 휘도의 변환 스킵 플래그의 값을 이용할지 여부를, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag를 사용하여 명시적으로 제어할 수 있다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 변환 스킵 플래그의 값을 이용시키도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 도 7의 경우와 마찬가지로, 이상으로 설명한 각 케이스를 임의로 조합할 수도 있다. 이와 같이 함으로써, 각 케이스에 있어서 얻어지는 효과를 얻을 수 있다. 또한, 상술한 각 케이스를, 상술하지 않은 다른 케이스와 조합할 수도 있다.
<기본예 1>
도 27의 No. #1의 행을 참조하여 설명한 바와 같이, 항상, 색차의 변환 스킵 플래그 ts_flag를, 휘도의 변환 스킵 플래그 ts_flag로부터 추정하도록 해도 된다. 이 경우의, residual_coding의 신택스의 예를 도 28에 나타낸다. 도 28에 도시된 바와 같이, 이 경우, 변환 스킵 플래그 ts_flag를 시그널링하는 조건에, 「compID == COMPONENT_Y」가 포함되어 있다. 다시 말해서, 색차의 경우(compID != COMPONENT_Y), 변환 스킵 플래그 ts_flag는 시그널링되지 않고, 휘도의 변환 스킵 플래그를 사용하여 설정된다.
이와 같은 경우, 복호부(111)는, 변환 스킵 플래그 도출 처리를 실행함으로써, 색차의 변환 스킵 플래그 ts_flag[compID]를 세트한다. 그 변환 스킵 플래그 도출 처리의 흐름의 예를, 도 29의 흐름도를 참조하여 설명한다.
변환 스킵 플래그 도출 처리가 개시되면, 복호부(111)는, 스텝 S241에 있어서, 변환 스킵 플래그 유효 플래그 ts_enabled_flag가 참인지 여부를 판정한다. 변환 스킵 플래그 유효 플래그 ts_enabled_flag가 참이라고 판정된 경우, 처리는 스텝 S242로 진행된다. 스텝 S242에 있어서, 복호부(111)는, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 거짓인지 여부를 판정한다. 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 거짓이라고 판정된 경우, 처리는 스텝 S243으로 진행된다. 스텝 S243에 있어서, 복호부(111)는, 처리 대상의 변환 블록의 블록 사이즈가 최대 변환 스킵 블록 사이즈 이하인지 여부를 판정한다. 최대 변환 스킵 블록 사이즈 이하라고 판정된 경우, 처리는 스텝 S244로 진행된다.
스텝 S244에 있어서, 복호부(111)는, 처리 대상이 색차인지(compID != COMPONENT_Y) 여부를 판정한다. 처리 대상이 색차(compID != COMPONENT_Y)라고 판정된 경우, 처리는 스텝 S245로 진행된다. 스텝 S245에 있어서, 복호부(111)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S245의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S244에 있어서, 처리 대상이 휘도(compID == COMPONENT_Y)라고 판정된 경우, 처리는 스텝 S246으로 진행된다. 휘도의 변환 스킵 플래그 ts_flag[compID]는 시그널링되므로, 스텝 S246에 있어서, 복호부(111)는, 부호화 데이터를 복호하여 그 휘도의 변환 스킵 플래그 ts_flag[compID]를 얻는다. 스텝 S246의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S241에 있어서, 변환 스킵 플래그 유효 플래그 ts_enabled_flag가 거짓이라고 판정된 경우, 스텝 S242에 있어서, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 참이라고 판정된 경우, 또는 스텝 S243에 있어서, 처리 대상의 변환 블록의 블록 사이즈가 최대 변환 스킵 블록 사이즈보다 크다고 판정된 경우, 변환 스킵 플래그 도출 처리가 종료된다.
이와 같이 함으로써, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 1>
도 27의 No. #2의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, residual_coding의 신택스의 예를 도 30에 나타낸다. 도 30에 도시된 바와 같이, 이 경우, 변환 스킵 플래그 ts_flag의 시그널링의 조건에 「&& (CuPreMode == MODE_INTRA || CuPreMode == MODE_INTER && compID == COMPONENT_Y)」가 포함되어 있다. 즉, 예측 모드가 인트라 예측이거나, 예측 모드가 인터 예측이어도 휘도인 경우에 변환 스킵 플래그 ts_flag가 시그널링된다. 다시 말해서, 색차에서 인터 예측인 경우에만, 변환 스킵 플래그 ts_flag는 시그널링되지 않는다. 즉, 이 경우, 변환 스킵 플래그 ts_flag는, 휘도의 변환 스킵 플래그 ts_flag를 사용하여 설정된다.
이 경우의, 변환 스킵 플래그 도출 처리의 흐름의 예를, 도 31의 흐름도를 참조하여 설명한다. 스텝 S251 내지 스텝 S254의 각 처리는, 도 29의 스텝 S241 내지 스텝 S244의 각 처리와 마찬가지로 실행된다.
스텝 S255에 있어서, 복호부(111)는, 또한, 예측 모드가 인터 예측인지 여부를 판정한다. 인터 예측이라고 판정된 경우(CuPredMode == MODE_INTER), 처리는 스텝 S256으로 진행된다. 또한, 예측 모드가 인트라 예측이라고 판정된 경우(CuPredMode == MODE_INTRA), 처리는 스텝 S257로 진행된다.
스텝 S256의 처리는, 도 29의 스텝 S245의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S256의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S257의 처리는, 도 29의 스텝 S246의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 변환 스킵 플래그 ts_flag[compID]를 얻는다. 스텝 S257의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하여, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 2>
도 27의 No. #3의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, residual_coding의 신택스의 예를 도 32에 나타낸다. 도 32에 도시된 바와 같이, 이 경우, 변환 스킵 플래그 ts_flag의 시그널링의 조건에 「&& (CuPreMode == MODE_INTRA && compID == COMPONENT_Y || CuPreMode == MODE_INTRA && compID != COMPONENT_Y && IntraPredModeY != IntraPredModeC CuPredMode == MODE_INTER && compID == COMPONENT_Y)」가 포함되어 있다. 즉, 휘도이거나, 또는 색차이더라도 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우에 변환 스킵 플래그 ts_flag가 시그널링된다. 다시 말해서, 색차이고 인터 예측이거나, 또는 색차이며, 또한, 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우에만, 변환 스킵 플래그 ts_flag는 시그널링되지 않는다. 즉, 이 경우, 변환 스킵 플래그 ts_flag는, 휘도의 변환 스킵 플래그 ts_flag를 사용하여 설정된다.
이 경우의, 변환 스킵 플래그 도출 처리의 흐름의 예를, 도 33의 흐름도를 참조하여 설명한다. 스텝 S261 내지 스텝 S265의 각 처리는, 도 31의 스텝 S251 내지 스텝 S255의 각 처리와 마찬가지로 실행된다.
스텝 S265에 있어서 인트라 예측이라고 판정된 경우, 처리는 스텝 S266으로 진행된다. 스텝 S266에 있어서, 복호부(111)는, 휘도와 색차에서 예측 모드가 일치하는지 여부를 판정한다. 예측 모드가 일치한다(IntraPredModeY == IntraPredModeC)고 판정된 경우, 처리는 스텝 S267로 진행된다. 또한, 예측 모드가 일치하지 않는다고 판정된 경우, 처리는 스텝 S268로 진행된다.
스텝 S267의 처리는, 도 31의 스텝 S256의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S267의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S268의 처리는, 도 31의 스텝 S257의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 변환 스킵 플래그 ts_flag[compID]를 얻는다. 스텝 S268의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드인 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하여, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 3>
도 27의 No. #4의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, residual_coding의 신택스의 예를 도 34에 나타낸다. 도 34에 도시된 바와 같이, 이 경우, 변환 스킵 플래그 ts_flag의 시그널링의 조건에 「&& (CuPreMode == MODE_INTRA && compID == COMPONENT_Y || CuPreMode == MODE_INTRA && compID != COMPONENT_Y && IntraPredModeY != IntraBC CuPredMode == MODE_INTER && compID == COMPONENT_Y)」가 포함되어 있다. 즉, 휘도이거나, 또는 색차이더라도 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우에 변환 스킵 플래그 ts_flag가 시그널링된다. 다시 말해서, 색차에서 인터 예측이거나, 또는 색차이며, 또한, 예측 모드가 인트라 블록 카피의 인트라 예측인 경우에만, 변환 스킵 플래그 ts_flag는 시그널링되지 않는다. 즉, 이 경우, 변환 스킵 플래그 ts_flag는, 휘도의 변환 스킵 플래그 ts_flag를 사용하여 설정된다.
이 경우의, 변환 스킵 플래그 도출 처리의 흐름의 예를, 도 35의 흐름도를 참조하여 설명한다. 스텝 S271 내지 스텝 S275의 각 처리는, 도 33의 스텝 S261 내지 스텝 S265의 각 처리와 마찬가지로 실행된다.
스텝 S275에 있어서 인트라 예측이라고 판정된 경우, 처리는 스텝 S276으로 진행된다. 스텝 S276에 있어서, 복호부(111)는, 예측 모드가 인트라 블록 카피인지 여부를 판정한다. 예측 모드가 인트라 블록 카피(IntraPredModeY == IntraBC)라고 판정된 경우, 처리는 스텝 S277로 진행된다. 또한, 예측 모드가 인트라 블록 카피라고 판정된 경우, 처리는 스텝 S278로 진행된다.
스텝 S277의 처리는, 도 33의 스텝 S267의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S277의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S278의 처리는, 도 33의 스텝 S268의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 변환 스킵 플래그 ts_flag[compID]를 얻는다. 스텝 S278의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 변환 스킵 플래그 ts_flag의 값을 이용하여, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 4>
도 27의 No. #5의 행을 참조하여 설명한 바와 같이, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 1(참)인 경우, 색차의 변환 스킵 플래그 ts_flag[copmID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 0(거짓)인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, transform unit의 신택스의 예를 도 36에 나타낸다. 도 36에 도시된 바와 같이, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 세트된다. 또한, residual_coding의 신택스의 예를 도 37에 나타낸다. 도 37에 도시된 바와 같이, 이 경우, 변환 스킵 플래그 ts_flag의 시그널링의 조건에 「&& compID != COMPONENT_Y && !chroma_ts_info_infer_flag」가 포함되어 있다. 즉, 휘도이거나, 또는 색차이더라도 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 거짓인 경우에 변환 스킵 플래그 ts_flag가 시그널링된다. 다시 말해서, 색차이며, 또한, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 참인 경우에만, 변환 스킵 플래그 ts_flag는 시그널링되지 않는다. 즉, 이 경우, 변환 스킵 플래그 ts_flag는, 휘도의 변환 스킵 플래그 ts_flag를 사용하여 설정된다.
이 경우의, 변환 스킵 플래그 도출 처리의 흐름의 예를, 도 38의 흐름도를 참조하여 설명한다. 스텝 S281 내지 스텝 S283의 각 처리는, 도 29의 스텝 S241 내지 스텝 S245의 각 처리와 마찬가지로 실행된다.
스텝 S284에 있어서 복호부(111)는, 처리 대상이 색차이며, 또한, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 참인지를 판정한다. 색차이며, 또한, 참이라고 판정되는 경우, 처리는 스텝 S285로 진행된다. 또한, 스텝 S284에 있어서, 처리 대상이 휘도이거나, 또는 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 거짓이라고 판정된 경우, 처리는 스텝 S286으로 진행된다.
스텝 S285의 처리는, 도 29의 스텝 S245의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다. 스텝 S285의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
또한, 스텝 S286의 처리는, 도 29의 스텝 S246의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 변환 스킵 플래그 ts_flag[compID]를 얻는다. 스텝 S286의 처리가 종료되면 변환 스킵 플래그 도출 처리가 종료된다.
이와 같이 함으로써, 휘도의 변환 스킵 플래그의 값을 이용할지 여부를, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag를 사용하여 명시적으로 제어할 수 있다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 변환 스킵 플래그의 값을 이용시키도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<4. 제3 실시 형태>
<st_idx>
또한, (역)직교 변환에 관한 정보로서, 예를 들어 도 6의 표에 나타낸 바와 같이, 어느 (역) 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자 st_idx를 포함하도록 해도 된다. 예를 들어, 색차(Cb 및 Cr 공통)의 세컨더리 변환 식별자 chroma_st_idx를, 휘도의 세컨더리 변환 식별자 st_idx[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)로 시그널되는 해당 신택스의 부호량에 관한 오버헤드의 증대도 억제할 수 있다.
도 39의 표를 참조하여 다시 설명한다. 종래는, No. #0의 행과 같이, 색차에 있어서도, 세컨더리 변환 식별자 st_idx는 부호화측으로부터 복호측으로 전송되고 있었다(시그널링되고 있었다). 도 40은, 종래의 TU의 신택스의 예이다. 도 40의 신택스에도 나타낸 바와 같이, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링된다. 이와 같이, 휘도뿐만 아니라 색차에 있어서도 세컨더리 변환 식별자 st_idx를 명시적으로 부호화하면, 부호량이 증대되고, 부호화 효율이 저감될 우려가 있었다. 또한, 이 경우, 부호화측에 있어서는 각 신호(Y, Cb, Cr)마다 세컨더리 변환 식별자 st_idx의 설정이나 부호화를 행해야만 해서, 처리량이 증대될 우려가 있었다. 또한 복호측에 있어서는, 각 신호(Y, Cb, Cr)마다 세컨더리 변환 식별자 st_idx의 복호를 행해야만 해서, 처리량이 증대될 우려가 있었다.
그래서, 예를 들어 No. #1의 행과 같이, 항상, 색차의 세컨더리 변환 식별자 chroma_st_idx를, 휘도의 세컨더리 변환 식별자 st_idx로부터 추정하도록 한다. 예를 들어, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하도록 해도 된다. 이와 같이 함으로써, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호량에 관한 오버헤드를 삭감하여, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
또한, 예를 들어 No. #2의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #3의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #4의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 예를 들어 No. #5의 행과 같이, 색차의 세컨더리 변환 식별자 chroma_st_idx를 휘도의 세컨더리 변환 식별자 st_idx에 기초하여 추정할지를 나타내는 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 1(참)인 경우, 색차의 세컨더리 변환 식별자 st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 0(거짓)인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다. 이와 같이 함으로써, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용할지 여부를, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag를 사용하여 명시적으로 제어할 수 있다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag의 값을 이용시키도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다.
또한, 도 7의 경우와 마찬가지로, 이상으로 설명한 각 케이스를 임의로 조합할 수도 있다. 이와 같이 함으로써, 각 케이스에 있어서 얻어지는 효과를 얻을 수 있다. 또한, 상술한 각 케이스를, 상술하지 않은 다른 케이스와 조합할 수도 있다.
<기본예 1>
도 39의 No. #1의 행을 참조하여 설명한 바와 같이, 항상, 색차의 세컨더리 변환 식별자 chroma_st_idx를, 휘도의 세컨더리 변환 식별자 st_idx로부터 추정하도록 해도 된다. 이 경우의, TU의 신택스의 예를 도 41에 나타낸다. 도 41에 도시된 바와 같이, 이 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx는 시그널링되지 않고, 휘도의 세컨더리 변환 식별자 st_idx를 사용하여 설정된다.
이러한 경우, 복호부(111)는, 색차용 세컨더리 변환 식별자 도출 처리를 실행함으로써, 색차의 세컨더리 변환 식별자 chroma_st_idx를 세트한다. 그 색차용 세컨더리 변환 식별자 도출 처리의 흐름의 예를, 도 42의 흐름도를 참조하여 설명한다.
색차용 세컨더리 변환 식별자 도출 처리가 개시되면, 복호부(111)는, 스텝 S291에 있어서, 세컨더리 변환 유효 플래그 st_enabled_flag가 참인지 여부를 판정한다. 세컨더리 변환 유효 플래그 st_enabled_flag가 참이라고 판정된 경우, 처리는 스텝 S292로 진행된다. 스텝 S292에 있어서, 복호부(111)는, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 거짓인지 여부를 판정한다. 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 거짓이라고 판정된 경우, 처리는 스텝 S293으로 진행된다. 스텝 S293에 있어서, 복호부(111)는, 색차의 비 제로 계수의 수(numNonZeroCoeffTH)가 소정의 임계값(stNumZeroCoeffTH) 이상인지 여부를 판정한다. 색차의 비 제로 계수의 수가 소정의 임계값 이상이라고 판정된 경우, 처리는 스텝 S294로 진행된다.
스텝 S294에 있어서, 복호부(111)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 스텝 S294의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
또한, 스텝 S291에 있어서, 세컨더리 변환 유효 플래그 st_enabled_flag가 거짓이라고 판정된 경우, 색차용 세컨더리 변환 식별자 도출 처리가 종료된다. 또한, 스텝 S292에 있어서, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 참이라고 판정된 경우, 색차용 세컨더리 변환 식별자 도출 처리가 종료된다. 또한, 스텝 S293에 있어서, 색차의 비 제로 계수의 수가 소정의 임계값보다도 적다고 판정된 경우, 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
이와 같이 함으로써, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 1>
도 39의 No. #2의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, TU의 신택스의 예를 도 43에 나타낸다. 도 43에 도시된 바와 같이, 이 경우, 예측 모드가 인트라 예측인 경우(CuPreMode == MODE_INTRA), 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링된다. 또한, 예측 모드가 인트라 예측인 경우(CuPreMode == MODE_INTER), 색차의 세컨더리 변환 식별자 chroma_st_idx는, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하여 설정된다.
이 경우의, 색차용 세컨더리 변환 식별자 도출 처리의 흐름의 예를, 도 44의 흐름도를 참조하여 설명한다. 스텝 S301 내지 스텝 S303의 각 처리는, 도 42의 스텝 S291 내지 스텝 S293의 각 처리와 마찬가지로 실행된다.
스텝 S304에 있어서, 복호부(111)는, 또한, 예측 모드가 인트라 예측인지 여부를 판정한다. 인터 예측이라고 판정된 경우(CuPredMode == MODE_INTER), 처리는 스텝 S305로 진행된다.
스텝 S305의 처리는, 도 42의 스텝 S294의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 스텝 S305의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
또한, 예측 모드가 인트라 예측이라고 판정된 경우(CuPredMode == MODE_INTRA), 처리는 스텝 S306으로 진행된다. 스텝 S306에 있어서, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 세컨더리 변환 식별자 st_idx를 얻는다. 스텝 S306의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하여, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 2>
도 39의 No. #3의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 복호부(111)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 또한, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, TU의 신택스의 예를 도 45에 나타낸다. 도 45에 도시된 바와 같이, 이 경우, 인트라 예측 모드이며(CuPredMode==MODE_INTRA), 또한, 휘도와 색차에서 예측 모드가 일치하지 않는 경우, 세컨더리 변환 식별자 chroma_st_idx가 시그널링된다. 그 이외의 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx에, 휘도의 세컨더리 변환 식별자 st_idx가 세트된다.
이 경우의, 색차용 세컨더리 변환 식별자 도출 처리의 흐름의 예를, 도 46의 흐름도를 참조하여 설명한다. 스텝 S311 내지 스텝 S314의 각 처리는, 도 44의 스텝 S301 내지 스텝 S304의 각 처리와 마찬가지로 실행된다.
스텝 S314에 있어서, 인트라 예측이라고 판정된 경우, 처리는 스텝 S315로 진행된다. 또한, 인터 예측이라고 판정된 경우, 처리는 스텝 S316으로 진행된다. 스텝 S315에 있어서, 복호부(111)는, 휘도와 색차에서 예측 모드가 일치하는지 여부를 판정한다. 일치한다고 판정된 경우(IntraPredModeY == IntraPredModeC), 처리는 스텝 S316으로 진행된다. 또한, 일치하지 않는다고 판정된 경우(IntraPredModeY != IntraPredModeC), 처리는 스텝 S317로 진행된다.
스텝 S316의 처리는, 도 44의 스텝 S305의 처리와 마찬가지로 실행된다. 또한, 스텝 S317의 처리는, 도 44의 스텝 S306의 처리와 마찬가지로 실행된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하여, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 3>
도 39의 No. #4의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, TU의 신택스의 예를 도 47에 나타낸다. 도 47에 도시된 바와 같이, 휘도이거나, 또는 색차이더라도 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우(CuPredMode == MODE_INTRA && IntraPredModeY != IntraBC)에, 세컨더리 변환 식별자 st_idx가 시그널링된다. 다시 말해서, 색차에서 인터 예측이거나, 또는, 색차이며, 또한, 예측 모드가 인트라 블록 카피의 인트라 예측인 경우에만, 세컨더리 변환 식별자 st_idx는 시그널링되지 않는다. 즉, 이 경우, 세컨더리 변환 식별자 chroma_st_idx는, 휘도의 세컨더리 변환 식별자 st_idx를 사용하여 설정된다.
이 경우의, 색차용 세컨더리 변환 식별자 도출 처리의 흐름의 예를, 도 48의 흐름도를 참조하여 설명한다. 스텝 S321 내지 스텝 S324의 각 처리는, 도 46의 스텝 S311 내지 스텝 S314의 각 처리와 마찬가지로 실행된다.
스텝 S324에 있어서 인트라 예측이라고 판정된 경우, 처리는 스텝 S325로 진행된다. 또한, 인터 예측이라고 판정된 경우, 처리는 스텝 S326으로 진행된다.
스텝 S325에 있어서, 복호부(111)는, 예측 모드가 인트라 블록 카피인지 여부를 판정한다. 예측 모드가 인트라 블록 카피(IntraPredModeY == IntraBC)라고 판정된 경우, 처리는 스텝 S326으로 진행된다. 또한, 예측 모드가 인트라 블록 카피라고 판정된 경우, 처리는 스텝 S327로 진행된다.
스텝 S326의 처리는, 도 46의 스텝 S316의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx를 세트한다. 스텝 S326의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
또한, 스텝 S327의 처리는, 도 46의 스텝 S317의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 세컨더리 변환 식별자 st_idx를 얻는다. 스텝 S327의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용하여, 색차의 세컨더리 변환 식별 st_Idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 4>
도 39의 No. #5의 행을 참조하여 설명한 바와 같이, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 1(참)인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 0(거짓)인 경우, 색차의 세컨더리 변환 식별자 st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, TU의 신택스의 예를 도 49에 나타낸다. 도 49에 도시된 바와 같이, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 세트되고, 그 값에 따라서, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되느냐, 휘도의 세컨더리 변환 식별자 st_idx로부터 구해지느냐가 제어된다.
이 경우의, 색차용 세컨더리 변환 식별자 도출 처리의 흐름의 예를, 도 50의 흐름도를 참조하여 설명한다. 스텝 S331 내지 스텝 S333의 각 처리는, 도 48의 스텝 S321 내지 스텝 S323의 각 처리와 마찬가지로 실행된다.
스텝 S334에 있어서, 복호부(111)는, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag를 복호하고, 취득한다. 스텝 S335에 있어서, 복호부(111)는, 취득한 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 참인지 여부를 판정한다. 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 참이라고 판정된 경우, 처리는 스텝 S336으로 진행된다. 또한, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 거짓이라고 판정된 경우, 처리는 스텝 S337로 진행된다.
스텝 S336의 처리는, 도 48의 스텝 S326의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 스텝 S336의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
또한, 스텝 S337의 처리는, 도 48의 스텝 S327의 처리와 마찬가지로 실행된다. 즉, 복호부(111)는, 부호화 데이터를 복호하여, 시그널링된 색차의 세컨더리 변환 식별자 chroma_st_idx를 얻는다. 스텝 S337의 처리가 종료되면 색차용 세컨더리 변환 식별자 도출 처리가 종료된다.
이와 같이 함으로써, 휘도의 세컨더리 변환 식별자 st_idx의 값을 이용할지 여부를, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag를 사용하여 명시적으로 제어할 수 있다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 세컨더리 변환 식별자의 값을 이용시킬 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<5. 제4 실시 형태>
<화상 부호화 장치>
다음으로, 이상과 같이 복호되는 부호화 데이터를 생성하는 부호화에 대하여 설명한다. 도 51은, 본 기술을 적용한 화상 처리 장치의 일 형태인 화상 부호화 장치의 구성의 일례를 나타내는 블록도이다. 도 51에 도시된 화상 부호화 장치(400)는, 도 9의 화상 복호 장치(100)에 대응하는 화상 부호화 장치이며, 화상 복호 장치(100)에 의해 복호되는 부호화 데이터(비트 스트림)를, 화상 복호 장치(100)에 의한 복호 방법에 대응하는 부호화 방법으로 화상을 부호화함으로써 생성한다. 예를 들어, 화상 부호화 장치(400)는, HEVC로 제안된 기술이나, JVET로 제안된 기술을 실장하고 있다.
또한, 도 51에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 나타내고 있으며, 도 51에 도시된 것이 전부인 것은 아니다. 즉, 화상 부호화 장치(400)에 있어서, 도 51에 있어서 블록으로서 도시되지 않은 처리부가 존재하거나, 도 51에 있어서 화살표 등으로서 도시되지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 51에 도시된 바와 같이 화상 부호화 장치(400)는, 제어부(411), 연산부(412), 변환부(413), 양자화부(414), 부호화부(415), 역양자화부(416), 역변환부(417), 연산부(418), 프레임 메모리(419), 및 예측부(420)를 갖는다.
제어부(411)는, 외부, 또는 미리 지정된 처리 단위의 블록 사이즈에 기초하여, 동화상 #2를 처리 단위의 블록(CU, PU, 변환 블록 등)으로 분할하고, 분할된 블록에 대응하는 화상 I를 연산부(412)에 입력한다. 또한, 제어부(411)는, 각 블록에 공급하는 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등)를, 예를 들어 RDO(Rate-Distortion Optimization)에 기초하여 결정한다. 결정된 부호화 파라미터는, 각 블록에 공급된다. 구체적으로는, 이하와 같다.
헤더 정보 Hinfo는, 각 블록에 공급된다. 예측 모드 정보 Pinfo는, 변환부(413), 부호화부(415), 예측부(420)에 공급된다. 변환 정보 Tinfo는, 부호화부(415), 변환부(413), 양자화부(414), 역양자화부(416), 및 역변환부(417)에 공급된다.
연산부(412)는, 처리 단위의 블록에 대응하는 화상 I와, 예측부(420)로부터 공급되는 예측 화상 P를 입력으로 하고, 화상 I로부터 예측 화상 P를 식 (25)에 나타낸 바와 같이 감산하여, 예측 잔차 D를 도출하고, 변환부(413)에 공급한다.
D = I - P … (25)
변환부(413)는, 역변환부(417)가 행하는 변환 처리의 역처리인 역변환을 행하는 처리부이며, 예측 잔차 D, 예측 모드 정보 Pinfo, 변환 정보 Tinfo를 입력으로 하고, 예측 모드 정보 Pinfo나 변환 정보 Tinfo에 기초하여, 예측 잔차 D에 대해서 변환을 적용하여, 변환 계수 Coeff를 도출하고, 그것을 양자화부(414)에 공급한다.
양자화부(414)는, 역양자화부(416)의 역처리이며, 변환 정보 Tinfo 및 변환 계수 Coeff를 입력으로 하고, 변환 정보 Tinfo에 기초하여, 변환 계수 Coeff를 스케일링(양자화)하고, 양자화 후의 변환 계수, 즉 양자화 변환 계수 레벨 level을 부호화부(415)에 공급한다.
부호화부(415)는, 복호부(111)(도 9)의 역처리이며, 신택스 테이블의 정의를 따라서, 제어부(411)로부터 공급되는 부호화 파라미터(헤더 정보, 예측 모드 정보 Pinfo, 변환 정보 Tinfo), 및 양자화부(414)로부터 공급되는 양자화 변환 계수 레벨 level을, 각 신택스 요소의 신택스값으로 변환하고, 각 신택스값을 가변 길이 부호화(예를 들어, 산술 부호)하여, 비트 열을 생성한다.
또한, 부호화부(415)는, 양자화 변환 계수 레벨 level로부터 잔차 정보 RInfo를 도출하고, 잔차 정보 RInfo를 가변 길이 부호화하여, 비트 열을 생성한다. 또한, 부호화부(415)는, 가변 길이 부호화된 각 신택스 요소의 비트 열을 다중화하고, 부호화 데이터 #1을 생성하여 출력한다.
역양자화부(416)는, 역양자화부(112)(도 9)와 마찬가지의 처리부이며, 화상 부호화 장치(400)에 있어서, 역양자화부(112)와 마찬가지의 처리를 행한다. 역변환부(417)는, 역변환부(113)(도 9)와 마찬가지의 처리부이며, 화상 부호화 장치(400)에 있어서, 역변환부(113d)와 마찬가지의 처리를 행한다. 프레임 메모리(419)는, 프레임 메모리(115)(도 9)와 마찬가지의 처리부이며, 화상 부호화 장치(400)에 있어서, 프레임 메모리(115)와 마찬가지의 처리를 행한다. 예측부(420)는, 예측부(116)(도 9)와 마찬가지의 처리부이며, 화상 부호화 장치(400)에 있어서, 예측부(116)와 마찬가지의 처리를 행한다.
<변환부>
도 52는, 변환부(413)의 주된 구성예를 나타내는 블록도이다. 도 52에 도시된 바와 같이, 변환부(413)는, 스위치(431), 프라이머리 변환부(432), 및 세컨더리 변환부(433)를 갖는다.
스위치(431)는, 예측 잔차 D 및 색 신호 식별자 compID에 대응하는 색 신호의 변환 스킵 플래그 ts_flag[compID]를 입력으로 하고, 변환 스킵 플래그 ts_flag[compID]의 값이 NO_TS(=0)인 경우(변환 스킵을 적용하지 않는 경우), 프라이머리 변환부(432)에 예측 잔차 D를 출력한다. 또한, 변환 스킵 플래그 ts_flag[compID]의 값이 2D_TS(=1)인 경우(2차원 변환 스킵을 적용함을 나타내는 경우), 프라이머리 변환부(432) 및 세컨더리 변환부(433)를 스킵하고, 예측 잔차 D를 변환 계수 Coeff로서 출력한다.
프라이머리 변환부(432)는, 예를 들어 직교 변환 등의 소정의 변환 처리인 프라이머리 변환에 관한 처리를 행한다. 이 프라이머리 변환은, 화상 복호 장치(100)의 역 프라이머리 변환부(123) 등에 의해 실행되는 역 프라이머리 변환의 역처리이다. 예를 들어, 프라이머리 변환부(432)는, 색 신호 식별자 compID, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y], 예측 모드 정보 PInfo, 변환 블록의 사이즈(가로 폭의 대수값 log2TBWSize, 세로 폭의 대수값 log2TBHSize), 및 예측 잔차 D를 입력으로 한다. 프라이머리 변환부(432)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y], 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y], 및 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 선택하고, 예측 잔차 D에 대해서, 프라이머리 수평 변환 타입 TrTypeIdxH와 변환 블록의 가로 폭 log2TBWSize로 정해지는 프라이머리 수평 변환, 및 프라이머리 수직 변환 타입 TrTypeIdxV와 변환 블록의 세로 폭 log2TBHSize로 정해지는 프라이머리 수직 변환을 하여, 프라이머리 변환 후의 변환 계수 Coeff_P(프라이머리 변환 계수라고도 칭함)를 도출하고, 출력한다.
이하에서는, 보다 구체적으로, 프라이머리 변환부(432)에 대하여 설명한다. 도 52에 도시한 바와 같이, 프라이머리 변환부(432)는, 색차 적응 프라이머리 변환 정보 도출부(441), 프라이머리 변환 선택부(442), 프라이머리 수평 변환부(443), 및 프라이머리 수직 변환부(444)를 갖는다.
색차 적응 프라이머리 변환 정보 도출부(441)는, 색 신호 식별자 compID가 색차를 나타내는 경우(compID==COMPONENT_Cb, COMPONENT_Cr), 색차 변환 블록에 대응하는 휘도 변환 블록의 적응 프라이머리 변환 정보(apt_flag[COMPONENT_Y], pt_idx[COMPONENT_Y])를 이용하여, 색차의 적응 프라이머리 변환 정보(apt_flag[compID], pt_idx[compID](compID=COMPONENT_Cb, COMPONENT_Cr))를 도출하고, 그 결과를 프라이머리 변환 선택부(442)에 공급한다.
<색차 적응 프라이머리 변환 정보 도출부>
도 53은, 색차 적응 프라이머리 변환 정보 도출부(441)가 갖는 기능의 주된 구성예를 나타내는 기능 블록도이다. 도 53에 도시된 바와 같이, 색차 적응 프라이머리 변환 정보 도출부(441)는, apt_flag 도출부(451) 및 pt_idx 도출부(452)를 갖는다. apt_flag 도출부(451)는, 색차의 적응 프라이머리 변환 플래그 apt_flag의 도출에 관한 처리를 행한다. 또한, pt_idx 도출부(452)는, 색차의 프라이머리 변환 식별자 pt_idx의 도출에 관한 처리를 행한다. 즉, apt_flag 도출부(451) 및 pt_idx 도출부(452)는, 각각, apt_flag 도출부(151) 및 pt_idx 도출부(152)(도 11)와 마찬가지의 구성을 갖고, 마찬가지의 처리를 행한다. 즉, 색차 적응 프라이머리 변환 정보 도출부(441)는, 색차 적응 프라이머리 변환 정보 도출부(131)와 마찬가지의 구성을 갖고, 마찬가지의 처리를 행한다. 따라서, 색차 적응 프라이머리 변환 정보 도출부(441)(apt_flag 도출부(151) 및 pt_idx 도출부(152))의 동작에 대한 상세한 설명은, 제1 실시 형태에 있어서의 색차 적응 프라이머리 변환 정보 도출부(131)에 대한 설명과 마찬가지이므로, 생략한다.
색차 적응 프라이머리 변환 정보 도출부(441)는, 색차 변환 블록에 관한 적응 프라이머리 변환 정보를, 색차 변환 블록에 대응하는 휘도에 관한 적응 프라이머리 변환 정보에 기초하여 도출할 수 있다. 따라서, 색차 변환 블록에 관한 적응 프라이머리 변환 정보를, 부호화할 필요가 없어, 부호화의 처리량을 삭감할 수 있다.
프라이머리 변환 선택부(442)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 입력으로 한다. 프라이머리 변환 선택부(442)는, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 도출한다. 프라이머리 변환 선택부(442)는, 도출한 프라이머리 수평 변환의 변환 타입 TrTypeIdxH를 프라이머리 수평 변환부(443)에 공급한다. 또한, 프라이머리 변환 선택부(442)는, 도출한 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 프라이머리 수직 변환부(444)에 공급한다.
또한, 프라이머리 변환 선택부(442)의 동작은, 화상 복호 장치(100)의 역 프라이머리 변환 선택부(132)와 기본적으로 마찬가지이다. 즉, 제1 실시 형태에 있어서의 역 프라이머리 변환 선택부(132)에 대한 설명은, 역 프라이머리 수평 변환 IPThor을 프라이머리 수평 변환 PThor로 치환하고, 역 프라이머리 수직 변환 IPTver을 프라이머리 수직 변환 PTver로 치환하고, 역 프라이머리 변환을 프라이머리 변환으로 치환함으로써, 프라이머리 변환 선택부(442)에 대한 설명으로 할 수 있다.
프라이머리 수평 변환부(443)는, 각 색 신호의 변환 블록마다, 예측 잔차 D, 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 변환 블록의 가로 폭을 나타내는 log2TBWSize(가로 폭의 대수값)를 입력으로 한다. 프라이머리 수평 변환부(443)는, 예측 잔차 D에 대해서, 변환 타입 TrTypeIdxH와 변환 블록의 가로 폭으로 정해지는 프라이머리 수평 변환 Phor을 실행하고, 그 결과를 프라이머리 수평 변환 후의 변환 계수 Coeff_Phor로서 출력한다.
프라이머리 수직 변환부(444)는, 각 색 신호의 변환 블록마다, 프라이머리 수평 변환 후의 변환 계수 Coeff_Phor, 프라이머리 수직 변환의 변환 타입 TrTypeIdxV, 변환 블록의 세로 폭을 나타내는 log2TBHSize(세로 폭의 대수값)를 입력으로 한다. 프라이머리 수평 변환 후의 변환 계수 Coeff_Phor에 대해서, 변환 타입 TrTypeIdxV와 변환 블록의 세로 폭으로 정해지는 프라이머리 수직 변환 Pver을 실행하고, 그 결과를 프라이머리 변환 후의 변환 계수 Coeff_P로서 출력한다.
이상과 같이, 프라이머리 변환부(432)는, 색차의 잔차 신호가 휘도의 잔차 신호와 경향이 유사한 경우에 있어서, 휘도에 있어서 선택된 적응 프라이머리 변환을, 색차의 변환 블록에 적용하는 것이 가능해진다. 따라서, 종래 기술과 비교하여, 색차의 잔차 신호에 대해서, 부호화 효율이 향상된 프라이머리 변환 처리를 행할 수 있다.
또한, 휘도/색차마다 적응 프라이머리 변환 플래그 apt_flag, 및 프라이머리 변환 식별자 pt_idx를 명시적으로 복호하는 경우와 비교하여, 색차에 관한 부호화 효율의 저하를 억제하면서, 인코더의 처리량을 삭감할 수 있다.
세컨더리 변환부(433)는, 예를 들어 직교 변환 등의 소정의 변환 처리인 세컨더리 변환에 관한 처리를 행한다. 이 세컨더리 변환은, 화상 복호 장치(100)의 역 세컨더리 변환부(122) 등에 의해 실행되는 역 세컨더리 변환의 역처리이다. 예를 들어 세컨더리 변환부(433)는, 세컨더리 변환 식별자 st_idx, 변환 계수의 스캔 방법을 나타내는 스캔 식별자 scanIdx, 및 프라이머리 변환 계수 Coeff_P를 입력으로 하고, 세컨더리 변환 후의 변환 계수 Coeff(세컨더리 변환 계수라고도 칭함)를 도출하고, 출력한다. 보다 구체적으로는, 세컨더리 변환 식별자 st_idx가, 세컨더리 변환을 적용하는 것을 나타내는 경우(st_idx>0), 세컨더리 변환부(433)는, 프라이머리 변환 계수 Coeff_P에 대해서, 세컨더리 변환 식별자 st_idx에 대응하는 세컨더리 변환의 처리를 실행하고, 세컨더리 변환 후의 변환 계수 Coeff_S를 출력한다.
세컨더리 변환 식별자 st_idx가, 세컨더리 변환을 적용하지 않음을 나타내는 경우(st_idx==0), 세컨더리 변환부(433)는, 세컨더리 변환을 스킵하고, 프라이머리 변환 후의 변환 계수 Coeff_P를 세컨더리 변환 후의 변환 계수 Coeff_S로서 출력한다.
<화상 부호화 처리의 흐름>
다음으로, 이상과 같은 화상 부호화 장치(400)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 54의 흐름도를 참조하여, 화상 부호화 처리의 흐름의 예를 설명한다.
화상 부호화 처리가 개시되면, 스텝 S401에 있어서, 제어부(411)는, 부호화 제어 처리를 행하고, 블록 분할이나 부호화 파라미터의 설정 등을 행한다.
스텝 S402에 있어서, 예측부(420)는, 예측 처리를 행하고, 최적의 예측 모드의 예측 화상 등을 생성한다. 예를 들어, 이 예측 처리에 있어서, 예측부(420)는, 인트라 예측을 행하여 최적의 인트라 예측 모드의 예측 화상 등을 생성하고, 인터 예측을 행하여 최적의 인터 예측 모드의 예측 화상 등을 생성하고, 그들 중에서 비용 함수값 등에 기초하여 최적의 예측 모드를 선택한다.
스텝 S403에 있어서, 연산부(412)는, 입력 화상과, 스텝 S402의 예측 처리에 의해 선택된 최적의 모드의 예측 화상과의 차분을 연산한다. 즉, 연산부(412)는, 입력 화상과 예측 화상의 예측 잔차 D를 생성한다. 이와 같이 하여 구해진 예측 잔차 D는, 원래의 화상 데이터에 비하여 데이터양이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여, 데이터양을 압축할 수 있다.
스텝 S404에 있어서, 변환부(413)는, 스텝 S403의 처리에 의해 생성된 예측 잔차 D에 대해서 변환 처리를 행하고, 변환 계수 Coeff를 도출한다. 또한, 이 변환 처리는, 스텝 S407의 역변환 처리의 역처리이며, 상술한 화상 복호 처리에 있어서 실행되는 역변환 처리의 역처리이다. 스텝 S404의 처리 상세에 대해서는 후술한다.
스텝 S405에 있어서, 양자화부(414)는, 제어부(411)에 의해 산출된 양자화 파라미터를 사용하거나 하여, 스텝 S404의 처리에 의해 얻어진 변환 계수 Coeff를 양자화하고, 양자화 변환 계수 레벨 level을 도출한다.
스텝 S406에 있어서, 역양자화부(416)는, 스텝 S405의 처리에 의해 생성된 양자화 변환 계수 레벨 level을, 그 스텝 S405의 양자화의 특성에 대응하는 특성으로 역양자화하고, 변환 계수 Coeff_IQ를 도출한다.
스텝 S407에 있어서, 역변환부(417)는, 스텝 S406의 처리에 의해 얻어진 변환 계수 Coeff_IQ를, 스텝 S404의 변환 처리에 대응하는 방법으로 역변환하고, 예측 잔차 D'를 도출한다. 또한, 이 역변환 처리는, 상술한 화상 복호 처리에 있어서 실행되는 역변환 처리와 마찬가지로 실행된다.
스텝 S408에 있어서, 연산부(418)는, 스텝 S407의 처리에 의해 도출된 예측 잔차 D'에, 스텝 S402의 예측 처리에 의해 얻어진 예측 화상을 가산함으로써, 국소적으로 복호된 복호 화상을 생성한다.
스텝 S409에 있어서, 프레임 메모리(419)는, 스텝 S408의 처리에 의해 얻어진, 국소적으로 복호된 복호 화상을 기억한다.
스텝 S410에 있어서, 부호화부(415)는, 스텝 S405의 처리에 의해 얻어진 양자화 변환 계수 레벨 level을 부호화한다. 예를 들어, 부호화부(415)는, 화상에 관한 정보인 양자화 변환 계수 레벨 level을, 산술 부호화 등에 의해 부호화하고, 부호화 데이터를 생성한다. 또한, 이때, 부호화부(415)는, 각종 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo)를 부호화한다. 또한, 부호화부(415)는, 양자화 변환 계수 레벨 level로부터 잔차 정보 RInfo를 도출하고, 그 잔차 정보 RInfo를 부호화한다.
스텝 S411에 있어서, 부호화부(415)는, 이와 같이 생성한 각종 정보의 부호화 데이터를 통합하여, 비트 스트림으로서 화상 부호화 장치(400)의 외부로 출력한다. 이 비트 스트림은, 예를 들어 전송로나 기록 매체를 통해 복호측에 전송된다. 스텝 S411의 처리가 종료되면, 화상 부호화 처리가 종료된다.
<변환 처리의 흐름>
다음으로, 도 54의 스텝 S404에 있어서 실행되는 변환 처리의 흐름의 예를, 도 55의 흐름도를 참조하여 설명한다. 변환 처리가 개시되면, 스위치(431)는, 스텝 S421에 있어서, 변환 스킵 플래그 ts_flag가 2D_TS(2차원 변환 스킵을 나타내는 경우)이거나, 혹은 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1(참)인지 여부를 판정한다. 변환 스킵 플래그 ts_flag가 2D_TS, 또는 변환 양자화 바이패스 플래그가 1(참)이라고 판정된 경우, 변환 처리가 종료되고, 처리는 도 54로 되돌아간다. 이 경우, 스위치(431)는, 직교 변환 처리(프라이머리 변환이나 세컨더리 변환)를 생략하고, 입력된 예측 잔차 D를, 변환 계수 Coeff로서 변환부(413)의 외부로 출력한다(양자화부(414)에 공급함).
또한, 도 55의 스텝 S421에 있어서, 변환 스킵 플래그 ts_flag가 2D_TS가 아니고(2차원 변환 스킵이 아닌), 또한 변환 양자화 바이패스 플래그가 0(거짓)이라고 판정된 경우, 처리는 스텝 S422로 진행된다. 이 경우, 스위치(431)는, 입력된 예측 잔차 D를 프라이머리 변환부(432)에 공급한다.
프라이머리 변환부(432)는, 입력된 예측 잔차 D에 대해서, 색 신호 식별자 compID로 지정되는 색 신호의 적응 프라이머리 변환 정보에 기초하여, 프라이머리 변환을 행하고, 프라이머리 변환 후의 변환 계수 Coeff_P를 출력한다. 보다 구체적으로는, 스텝 S422에 있어서, 프라이머리 변환부(432)는, 색 신호 식별자 compID가 휘도인지, 색차인지를 판별한다. 색 신호 식별자 compID가 색차를 나타낸다고 판정된 경우(compID != COMPONENT_Y), 처리는 스텝 S423으로 진행된다.
스텝 S423에 있어서, 색차 적응 프라이머리 변환 정보 도출부(441)는, 색차 적응 프라이머리 변환 정보 도출 처리를 실행하고, 색차 변환 블록에 관한 적응 프라이머리 변환 플래그 apt_flag[compID](compID=COMPONET_Cb or COMPONENT_Cr)와, 해당 색차 변환 블록에 대응하는 휘도 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]에 기초하여, 해당 색차의 변환 블록에 관한 프라이머리 변환 식별자 pt_idx[compID]를 도출한다. 또한, 이 처리는, 제1 실시 형태에 있어서 설명한 화상 복호 장치(100)(색차 적응 프라이머리 변환 정보 도출부(131))에 의해 실행되는 색차 적응 프라이머리 변환 정보 도출 처리(도 15)와 마찬가지이므로, 그 설명을 생략한다. 다시 말해서, 도 15의 흐름도를 참조하여 한 설명은, 색차 적응 프라이머리 변환 정보 도출부(441)가 실행하는 색차 적응 프라이머리 변환 정보 도출 처리의 설명에 적용할 수도 있다.
스텝 S423의 처리가 종료되면, 처리는 스텝 S424로 진행된다. 또한, 스텝 S422에 있어서, 색 신호 식별자 compID가 휘도를 나타낸다고 판정된 경우(compID==COMPONENT_Y), 처리는 스텝 S424로 진행된다.
스텝 S424에 있어서, 프라이머리 변환 선택부(442)는, 프라이머리 변환 선택 처리를 실행하여, 예측 모드 정보 PInfo, 색 신호 식별자 compID, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID], 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]를 참조하여, 색 신호 식별자 compID로 지정되는 색 신호의 프라이머리 수평 변환의 변환 타입 TrTypeIdxH, 및 프라이머리 수직 변환의 변환 타입 TrTypeIdxV를 도출하고, 각각, 프라이머리 수평 변환부(443), 프라이머리 수직 변환부(444)로 출력한다.
스텝 S425에 있어서, 프라이머리 수평 변환부(443)는, 색 신호 식별자 compID로 지정되는 변환 블록마다, 해당 변환 블록의 예측 잔차 D에 대해서, 프라이머리 수평 변환의 변환 타입 TrTypeIdxH와 해당 변환 블록의 세로 폭으로 정해지는 프라이머리 수평 변환 Phor을 실행하고, 그 결과를 프라이머리 수평 변환 후의 변환 계수 Coeff_Phor로서 출력한다.
스텝 S426에 있어서, 프라이머리 수직 변환부(444)는, 색 신호 식별자 compID로 지정되는 변환 블록마다, 해당 변환 블록의 프라이머리 수평 변환 후의 변환 계수 Coeff_Phor에 대해서, 프라이머리 수직 변환의 변환 타입 TrTypeIdxV와 해당 변환 블록의 세로 폭으로 정해지는 프라이머리 수직 변환 Pver을 실행하고, 그 결과를 프라이머리 변환 후의 변환 계수 Coeff_P로서 출력한다.
스텝 S427에 있어서, 세컨더리 변환부(433)는, 입력된 프라이머리 변환 계수 Coeff_P에 대해서, 세컨더리 변환 식별자 st_idx에 기초하여, 세컨더리 변환을 행하고, 변환 계수 Coeff를 도출하여 출력한다. 스텝 S427의 처리가 종료되면, 변환 처리가 종료되고, 처리는 도 54로 되돌아간다.
<프라이머리 변환 선택 처리의 흐름>
다음으로, 도 55의 스텝 S424에 있어서 실행되는 프라이머리 변환 선택 처리의 흐름의 예를, 도 56의 흐름도를 참조하여 설명한다.
프라이머리 변환 선택 처리가 개시되면, 프라이머리 변환 선택부(442)는, 스텝 S431에 있어서, 색 신호 식별자 compID에 대응하는 색 신호의 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)인지 여부를 판정한다. 해당 적응 프라이머리 변환 플래그 apt_flag[compID]가 1(참)이라고 판정된 경우, 처리는 스텝 S432로 진행된다.
스텝 S432에 있어서, 프라이머리 변환 선택부(442)는, 예측 모드 정보 PInfo에 기초하여, 프라이머리 수직 변환의 변환 세트 TrSetV(프라이머리 수평 변환 세트), 및 프라이머리 수평 변환의 변환 세트 TrSetH(프라이머리 수직 변환 세트)를 선택한다.
스텝 S433에 있어서, 프라이머리 변환 선택부(442)는, 색 신호 식별자 compID에 대응하는 색 신호의 프라이머리 변환 식별자 pt_idx[compID]로부터, 프라이머리 수평 변환 지정 플래그 pt_hor_flag, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag를 도출한다.
스텝 S434에 있어서, 프라이머리 변환 선택부(442)는, 프라이머리 수평 변환 세트 TrSetH 및 프라이머리 수평 변환 지정 플래그 pt_hor_flag를 참조하여, 프라이머리 수평 변환 IPThor로서 적용할 직교 변환의 변환 타입 TrTypeIdxH를 선택한다.
스텝 S435에 있어서, 프라이머리 변환 선택부(442)는, 프라이머리 수직 변환 세트 TrSetV, 및 프라이머리 수직 변환 지정 플래그 pt_ver_flag를 참조하여, 역 프라이머리 수직 변환 IPTver로서 적용할 직교 변환의 변환 타입 TrTypeIdxV를 선택한다. 스텝 S435의 처리가 종료되면, 프라이머리 변환 선택 처리가 종료되고, 처리는 도 55로 되돌아간다.
또한, 스텝 S431에 있어서, 적응 프라이머리 변환 플래그 apt_flag[compID]가 0(거짓)이라고 판정된 경우, 처리는 스텝 S436으로 진행된다. 스텝 S436에 있어서, 프라이머리 변환 선택부(442)는, 프라이머리 수평 변환 IPThor의 변환 타입 TrTypeIdxH로서, 소정의 직교 변환을 선택한다(TrTypeIdxH = 소정값).
또한, 스텝 S437에 있어서, 프라이머리 변환 선택부(442)는, 프라이머리 수직 변환 IPTver의 변환 타입 TrTypeIdxV로서, 소정의 직교 변환을 선택한다(TrTypeIdxV = 소정값). 스텝 S437의 처리가 종료되면, 프라이머리 변환 선택 처리가 종료되고, 처리는 도 56으로 되돌아간다.
즉, 프라이머리 변환부(432)는, 색차의 적응 프라이머리 변환 플래그 apt_flag[compID]의 값에 따른 방법으로, 역 프라이머리 수평 변환 IPThor의 변환 타입 TrTypeIdxH와, 역 프라이머리 수직 변환 IPTver의 변환 타입 TrTypeIdxV를 도출한다.
<프라이머리 변환 정보 부호화 처리의 흐름>
부호화부(415)는, 변환부(413)에 의해 생성된 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx의 부호화를 행한다. 단, 부호화부(415)는, 휘도의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx는, 부호화하여 시그널링시키고, 색차의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx는, 부호화하지 않는다.
이와 같은 부호화를 행하기 위해서 부호화부(415)가 실행하는 프라이머리 변환 정보 부호화 처리의 흐름의 예를, 도 57의 흐름도를 참조하여 설명한다. 프라이머리 변환 정보 부호화 처리가 개시되면, 부호화부(415)는, 스텝 S441에 있어서, 처리 대상이 휘도인지 여부를 판정한다. 휘도(compID == COMPONENT_Y)라고 판정된 경우, 처리는 스텝 S442로 진행된다. 스텝 S442에 있어서, 부호화부(415)는, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]를 부호화한다(시그널링시킨다). 또한, 스텝 S443에 있어서, 부호화부(415)는, 휘도의 프라이머리 변환 식별자 pt_idx[COMPONENT_Y]를 부호화한다(시그널링시킨다). 스텝 S443의 처리가 종료되면, 프라이머리 변환 정보 부호화 처리가 종료된다.
또한, 부호화부(415)는, 스텝 S441에 있어서, 처리 대상이 색차인지 여부를 판정한다. 색차(compID != COMPONENT_Y)라고 판정된 경우, 스텝 S442 및 스텝 S443의 처리는 생략되고, 즉, 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx를 시그널링하지 않고, 프라이머리 변환 정보 부호화 처리를 종료한다.
이상과 같이 각 처리를 실행함으로써, 색차의 잔차 신호가 휘도의 잔차 신호와 경향이 유사한 경우에 있어서, 휘도에 있어서 선택된 적응 프라이머리 변환을, 색차의 변환 블록에 적용하는 것이 가능해진다. 따라서, 종래 기술과 비교하여, 색차의 잔차 신호에 대해서, 부호화 효율이 향상된 프라이머리 변환 처리를 행할 수 있다. 또한, 휘도/색차마다 적응 프라이머리 변환 플래그 apt_flag, 및 프라이머리 변환 식별자 pt_idx를 명시적으로 부호화하는 경우와 비교하여, 색차에 관한 적응 프라이머리 변환 정보의 부호화를 할 필요가 없기 때문에, 인코더의 처리량을 삭감할 수 있다.
<색차 적응 프라이머리 변환 정보 도출 처리>
또한, 색차 적응 프라이머리 변환 정보 도출부(441)는, 색차 적응 프라이머리 변환 정보 도출부(131)와 마찬가지의 구성을 갖고, 마찬가지의 처리를 행한다. 즉, 색차 적응 프라이머리 변환 정보 도출부(441)는, 색차 적응 프라이머리 변환 정보 도출부(131)와 마찬가지로, 색차 적응 프라이머리 변환 정보 도출 처리를 실행할 수 있다. 따라서, 화상 부호화 장치(400)는, 도 7의 표 No. #1의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 항상, 색차의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx를, 휘도의 적응 프라이머리 변환 플래그 apt_flag나 프라이머리 변환 식별자 pt_idx로부터 추정하도록 할 수 있어, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
마찬가지로, 화상 부호화 장치(400)는, 도 7의 표 No. #2의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측(CuPredMode == MODE_INTER)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트할 수 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
마찬가지로, 화상 부호화 장치(400)는, 도 7의 표 No. #3의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는, 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트할 수 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
마찬가지로, 화상 부호화 장치(400)는, 도 7의 표 No. #4의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피(IntraBC, Intra Block Copy, 화면 내 움직임 보상이라고도 칭함)가 아닌 인트라 예측인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트할 수 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
마찬가지로, 화상 부호화 장치(400)는, 도 7의 표 No. #5의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]를 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag가 1(참)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag가 0(거짓)인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트할 수 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
이 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag를 부호화하는 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리의 흐름의 예를, 도 58의 흐름도를 참조하여 설명한다.
색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 개시되면, 스텝 S451에 있어서, 부호화부(415)는, 처리 대상이 색차인지 여부를 판정한다. 색차라고 판정된 경우, 처리는 스텝 S452로 진행된다. 스텝 S452에 있어서, 부호화부(415)는, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가 참인지 여부를 판정한다. 참이라고 판정된 경우, 처리는 스텝 S453으로 진행된다. 스텝 S453에 있어서, 부호화부(415)는, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 위조인지 여부를 판정한다. 거짓이라고 판정된 경우, 처리는 스텝 S454로 진행된다. 스텝 S454에 있어서, 부호화부(415)는, 색차의 변환 스킵 플래그 ts_flag가 위조인지 여부를 판정한다. 색차의 변환 스킵 플래그 ts_flag가 거짓이라고 판정된 경우, 처리는 스텝 S455로 진행된다. 스텝 S455에 있어서, 부호화부(415)는, 색차 적응 프라이머리 변환 정보 추정 플래그 chroma_apt_info_infer_flag를 부호화한다. 스텝 S455의 처리가 종료되면, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 종료되고, 처리는 도 54로 되돌아간다.
또한, 도 58의, 스텝 S451에 있어서, 처리 대상이 휘도라고 판정된 경우, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 종료되고, 처리는 도 54로 되돌아간다. 또한, 스텝 S452에 있어서, 휘도의 적응 프라이머리 변환 플래그 apt_flag[COMPONENT_Y]가 거짓이라고 판정된 경우, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 종료되고, 처리는 도 54로 되돌아간다. 또한, 스텝 S453에 있어서, 변환 양자화 바이패스 유효 플래그 transquant_bypass_enabled_flag가 참이라고 판정된 경우, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 종료되고, 처리는 도 54로 되돌아간다. 또한, 스텝 S454에 있어서, 색차의 변환 스킵 플래그 ts_flag가 참이라고 판정된 경우에, 색차 적응 프라이머리 변환 정보 추정 플래그 부호화 처리가 종료되고, 처리는 도 54로 되돌아간다.
또한, 화상 부호화 장치(400)는, 도 7의 표 No. #6의 행과 같이, 색차에 있어서도 적응 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 휘도의 적응 프라이머리 변환 플래그 apt_flag[Y]의 값을 세트하고, 그 변환 블록의 짧은 변의 사이즈가 그 임계값보다 작은 경우, 색차의 적응 프라이머리 변환 플래그 apt_flag[Cb/Cr]의 값에 0(거짓)을 세트할 수 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
마찬가지로, 화상 부호화 장치(400)는, 도 7의 표 No. #7의 행과 같이, 색차에 있어서도 적응 (역) 프라이머리 변환을 적용 가능하게 하고, 또한, 예를 들어 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값 이하인 경우, (역) 프라이머리 수평 변환의 변환 타입을 소정의 변환 타입으로 세트하고, 그 변환 블록의 가로 폭의 사이즈가 그 임계값보다도 큰 경우, (역) 프라이머리 수평 변환의 변환 타입을 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트할 수 있다. 또한 마찬가지로, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값 이하인 경우, (역) 프라이머리 수직 변환의 변환 타입을 소정의 변환 타입으로 세트하고, 그 변환 블록의 세로 폭의 사이즈가 그 임계값보다도 큰 경우, (역) 프라이머리 수직 변환의 변환 타입을 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트할 수도 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
물론, 화상 부호화 장치(400)의 경우도, 이상으로 설명한 복수의 케이스를 임의로 조합할 수도 있다. 또한, 상술한 각 케이스를, 상술하지 않은 다른 케이스와 조합할 수도 있다. 즉, 이 경우에도, 화상 복호 장치(100)의 경우와 마찬가지의 효과를 얻을 수 있다.
<6. 제5 실시 형태>
<ts_flag>
복호의 경우와 마찬가지로, (역)직교 변환에 관한 정보에, (역)직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그 ts_flag가 포함되도록 해도 된다. 예를 들어, 색차(Cb)의 변환 스킵 플래그 ts_flag[Cb]와 색차(Cr)의 변환 스킵 플래그 ts_flag[Cr]을 각각, 휘도의 변환 스킵 플래그 ts_flag[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)로 시그널되는 해당 신택스의 부호량에 관한 오버헤드의 증대도 억제할 수 있다.
<기본예 1>
예를 들어 도 27의 No. #1의 행과 같이, 항상, 색차의 변환 스킵 플래그 ts_flag를, 휘도의 변환 스킵 플래그 ts_flag로부터 추정하도록 한다. 예를 들어, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하도록 해도 된다.
이 경우, 제어부(411)가 변환 스킵 플래그 부호화 처리를 실행하고, 이 변환 스킵 플래그 ts_flag의 부호화를 제어한다. 도 59의 흐름도를 참조하여, 이 변환 스킵 플래그 부호화 처리의 흐름의 예를 설명한다.
변환 스킵 플래그 부호화 처리가 개시되면, 도 59의 스텝 S461 내지 스텝 S464의 각 처리는, 도 29의 변환 스킵 플래그 도출 처리의 스텝 S241 내지 스텝 S244의 각 처리와 마찬가지로 실행된다.
스텝 S464에 있어서, 처리 대상이 색차라고 판정된 경우(compID != COMPONENT_Y), 처리는 스텝 S465로 진행된다. 스텝 S465에 있어서, 제어부(411)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다(ts_flag[compID] == ts_flag [COMPONENT_Y]). 스텝 S465의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 색차의 변환 스킵 플래그 ts_flag[compID]는, 복호측에 있어서도 마찬가지로 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]로부터 도출할 수 있으므로, 시그널링되지 않는다.
또한, 스텝 S464에 있어서, 처리 대상이 휘도라고 판정된 경우(compID == COMPONENT_Y), 처리는 스텝 S466으로 진행된다. 스텝 S466에 있어서, 제어부(411)는, 휘도의 변환 스킵 플래그 ts_flag[compID]에 임의의 값을 세트한다. 그리고, 스텝 S467에 있어서, 제어부(411)는, 그 휘도의 변환 스킵 플래그 ts_flag[compID]를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S467의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 휘도의 변환 스킵 플래그 ts_flag[compID]는, 시그널링된다(전송된다). 복호측에 있어서는, 비트 스트림으로부터 추출하여 복호함으로써, 이 휘도의 변환 스킵 플래그 ts_flag[compID]가 얻어진다.
즉, <기본예 1>의 경우, 휘도의 변환 스킵 플래그 ts_flag는 전부 시그널링되고, 색차의 변환 스킵 플래그 ts_flag는 전부 시그널링되지 않는다. 이와 같이 함으로써, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 1>
또한, 예를 들어 도 27의 No. #2의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 변환 스킵 플래그 부호화 처리의 흐름의 예를, 도 60의 흐름도를 참조하여 설명한다. 스텝 S471 내지 스텝 S475의 각 처리는, 도 31의 스텝 S251 내지 스텝 S255의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S474에 있어서 처리 대상이 색차라고 판정되며, 또한, 스텝 S475에 있어서, 인터 예측이라고 판정된 경우, 처리는 스텝 S476으로 진행된다. 스텝 S476에 있어서, 제어부(411)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다(ts_flag[compID]== ts_flag [COMPONENT_Y]). 스텝 S476의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 색차이며, 또한, 인터 예측의 변환 블록의 변환 스킵 플래그 ts_flag[compID]는, 복호측에 있어서도 마찬가지로 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]로부터 도출할 수 있으므로, 시그널링되지 않는다.
이에 비하여, 스텝 S474에 있어서 처리 대상이 휘도라고 판정된 경우(compID == COMPONENT_Y), 또는 스텝 S475에 있어서 인트라 예측이라고 판정된 경우, 처리는 스텝 S477로 진행된다. 스텝 S477에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]에 임의의 값을 세트한다. 그리고, 스텝 S478에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S478의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 휘도 또는 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag[compID]는, 시그널링되도록(전송된다). 복호측에 있어서는, 비트 스트림으로부터 추출하여 복호함으로써, 이들 변환 스킵 플래그 ts_flag[compID]를 얻을 수 있다.
즉, <변형예 1>의 경우, 휘도의 변환 스킵 플래그 ts_flag와, 예측 모드가 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag가 시그널링되고, 색차이며, 또한, 예측 모드가 인터 예측의 변환 스킵 플래그 ts_flag가 시그널링되지 않는다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 2>
또한, 예를 들어 도 27의 No. #3의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 변환 스킵 플래그 부호화 처리의 흐름의 예를, 도 61의 흐름도를 참조하여 설명한다. 스텝 S481 내지 스텝 S486의 각 처리는, 도 33의 스텝 S261 내지 스텝 S266의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S484에 있어서 처리 대상이 색차라고 판정되며, 또한 스텝 S485에 있어서 인터 예측이라고 판정되거나, 혹은, 스텝 S485에 있어서 인트라 예측이라고 판정되며, 또한, 스텝 S486에 있어서 휘도와 색차에서 예측 모드가 일치한다고 판정된 경우, 처리는 스텝 S487로 진행된다. 스텝 S487에 있어서, 제어부(411)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다(ts_flag[compID] == ts_flag [COMPONENT_Y]). 스텝 S487의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, <변형예 1>의 조건 외에, 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우에도, 잔차 신호의 경향이 유사하므로, 변환 스킵 플래그 ts_flag[compID]를 시그널링하지 않도록 한다.
이에 비하여, 스텝 S484에 있어서 처리 대상이 휘도라고 판정된 경우(compID == COMPONENT_Y), 또는 스텝 S486에 있어서, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측이라고 판정된 경우, 처리는 스텝 S488로 진행된다. 스텝 S488에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]에 임의의 값을 세트한다. 그리고, 스텝 S489에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S489의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 휘도의 변환 스킵 플래그 ts_flag[compID]와, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag[compID]가 시그널링된다(전송된다). 복호측에 있어서는, 비트 스트림으로부터 추출하여 복호함으로써, 이들 변환 스킵 플래그 ts_flag[compID]를 얻을 수 있다.
즉, <변형예 2>의 경우, 휘도의 변환 스킵 플래그 ts_flag와, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag가 시그널링되고, 그 이외의 변환 스킵 플래그 ts_flag가 시그널링되지 않는다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 3>
또한, 예를 들어 도 27의 No. #4의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 변환 스킵 플래그 부호화 처리의 흐름의 예를, 도 62의 흐름도를 참조하여 설명한다. 스텝 S491 내지 스텝 S496의 각 처리는, 도 35의 스텝 S271 내지 스텝 S276의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S494에 있어서 처리 대상이 색차라고 판정되며, 또한, 스텝 S495에 있어서 인터 예측이라고 판정되거나, 혹은, 스텝 S495 및 스텝 S496에 의해, 인트라 블록 카피의 인트라 예측이라고 판정된 경우, 처리는 스텝 S497로 진행된다. 스텝 S497에 있어서, 제어부(411)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다(ts_flag[compID] == ts_flag[COMPONENT_Y]). 스텝 S497의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, <변형예 1>의 조건 외에, 인트라 블록 카피의 인트라 예측의 경우에도, 잔차 신호의 경향이 유사하므로, 변환 스킵 플래그 ts_flag[compID]를 시그널링하지 않도록 한다.
이에 비하여, 스텝 S494에 있어서 처리 대상이 휘도라고 판정된 경우(compID == COMPONENT_Y), 또는 스텝 S495 및 스텝 S496에 의해, 인트라 블록 카피가 아닌 인트라 예측이라고 판정된 경우, 처리는 스텝 S498로 진행된다. 스텝 S498에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]에 임의의 값을 세트한다. 그리고, 스텝 S499에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S489의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다. 즉, 이 경우, 휘도의 변환 스킵 플래그 ts_flag[compID]와, 인트라 블록 카피가 아닌 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag[compID]가 시그널링된다(전송된다). 복호측에 있어서는, 비트 스트림으로부터 추출하여 복호함으로써, 이들 변환 스킵 플래그 ts_flag[compID]를 얻을 수 있다.
즉, <변형예 3>의 경우, 휘도의 변환 스킵 플래그 ts_flag와, 인트라 블록 카피가 아닌 인트라 예측의 변환 블록의 변환 스킵 플래그 ts_flag가 시그널링되고, 그 이외의 변환 스킵 플래그 ts_flag가 시그널링되지 않는다. 이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 색차의 변환 스킵 플래그 ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 4>
또한, 예를 들어 도 27의 No. #5의 행과 같이, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 1(참)인 경우, 색차의 변환 스킵 플래그 ts_flag[copmID]의 값에 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트하고, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 0(거짓)인 경우, 색차의 변환 스킵 플래그 ts_flag[compID]가 시그널링되도록(즉, 색차의 변환 스킵 플래그 ts_flag[compID]는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 변환 스킵 플래그 부호화 처리의 흐름의 예를, 도 63의 흐름도를 참조하여 설명한다. 스텝 S501 내지 스텝 S504의 각 처리는, 도 38의 스텝 S281 내지 스텝 S284의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S504에 있어서, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 참이라고 판정된 경우, 처리는 스텝 S505로 진행된다. 스텝 S505에 있어서, 제어부(411)는, 색차의 변환 스킵 플래그 ts_flag[compID]의 값에, 휘도의 변환 스킵 플래그 ts_flag[COMPONENT_Y]의 값을 세트한다(ts_flag[compID] == ts_flag [COMPONENT_Y]). 스텝 S4505의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다.
이에 비하여, 스텝 S504에 있어서 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag가 거짓이라고 판정된 경우, 처리는 스텝 S506으로 진행된다. 스텝 S506에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]에 임의의 값을 세트한다. 그리고, 스텝 S507에 있어서, 제어부(411)는, 그 변환 스킵 플래그 ts_flag[compID]를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S507의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다.
즉, <변형예 4>의 경우, 색차 변환 스킵 정보 추정 플래그 chroma_ts_info_infer_flag에 의해, 변환 스킵 플래그 ts_flag[compID]를 시그널링할지 여부가 명시적으로 제어된다. 따라서, 용이하게, 충분히 큰 효과가 얻어지는 경우에만 휘도의 변환 스킵 플래그의 값을 이용시키도록 할 수 있으므로, 부호화 효율의 저감을 보다 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<7. 제6 실시 형태>
<st_idx>
복호의 경우와 마찬가지로, (역)직교 변환에 관한 정보에, 어느 (역) 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자 st_idx가 포함되도록 해도 된다. 예를 들어, 색차(Cb 및 Cr 공통)의 세컨더리 변환 식별자 chroma_st_idx를, 휘도의 세컨더리 변환 식별자 st_idx[Y]에 기초하여 도출함으로써, 색차(Cb/Cr)로 시그널되는 해당 신택스의 부호량에 관한 오버헤드의 증대도 억제할 수 있다.
<기본예 1>
예를 들어 도 39의 No. #1의 행과 같이, 항상, 색차의 세컨더리 변환 식별자 st_idx를, 휘도의 세컨더리 변환 식별자 st_idx로부터 추정하도록 한다. 예를 들어, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하도록 해도 된다.
이 경우, 제어부(411)가 색차용 세컨더리 변환 식별자 부호화 처리를 실행하고, 이 색차용 세컨더리 변환 식별자 chroma_st_idx의 부호화를 제어한다. 도 64의 흐름도를 참조하여, 이 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명한다.
색차용 세컨더리 변환 식별자 부호화 처리가 개시되면, 도 64의 스텝 S511 내지 스텝 S514의 각 처리는, 도 42의 색차용 세컨더리 변환 식별자 부호화 처리의 스텝 S291 내지 스텝 S294의 각 처리와 마찬가지로 실행된다.
이와 같이 함으로써, 색차의 세컨더리 변환 식별자 chroma_ts_flag의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 1>
도 39의 No. #2의 행을 참조하여 설명한 바와 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 그 부호화 블록의 예측 타입이 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우, 제어부(411)가 색차용 세컨더리 변환 식별자 부호화 처리를 실행하고, 이 색차의 세컨더리 변환 식별자 chroma_st_idx의 부호화를 제어한다. 도 65의 흐름도를 참조하여, 이 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를 설명한다.
색차용 세컨더리 변환 식별자 부호화 처리가 개시되면, 도 65의 스텝 S521 내지 스텝 S524의 각 처리는, 도 44의 색차용 세컨더리 변환 식별자 부호화 처리의 스텝 S301 내지 스텝 S304의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S524에 있어서 인터 예측이라고 판정된 경우, 처리는 스텝 S525로 진행된다. 스텝 S525에 있어서, 제어부(411)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다(chroma_st_idx == st_idx). 스텝 S525의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다. 즉, 이 경우, 색차이며, 또한, 인터 예측의 변환 블록의 세컨더리 변환 식별자 chroma_st_idx는, 복호측에 있어서도 마찬가지로 휘도의 세컨더리 변환 식별자 st_idx로부터 도출할 수 있으므로, 시그널링되지 않는다.
이에 비하여, 스텝 S524에 있어서 인트라 예측이라고 판정된 경우, 처리는 스텝 S526으로 진행된다. 스텝 S526에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx에 임의의 값을 세트한다. 그리고, 스텝 S527에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S527의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다. 즉, 이 경우, 인트라 예측의 변환 블록의 색차 세컨더리 변환 식별자 chroma_st_idx는, 시그널링되도록(전송된다). 복호측에 있어서는, 비트 스트림으로부터 추출하여 복호함으로써, 이들 색차의 세컨더리 변환 식별자 chroma_st_idx를 얻을 수 있다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 인터 예측 모드의 경우에만, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 2>
또한, 예를 들어 도 39의 No. #3의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 또한, 그 부호화 블록의 예측 타입이 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를, 도 66의 흐름도를 참조하여 설명한다. 스텝 S531 내지 스텝 S535의 각 처리는, 도 46의 스텝 S311 내지 스텝 S315의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S534에 있어서 인터 예측이라고 판정되거나, 또는 스텝 S534 및 S535에 의해 휘도와 색차에서 예측 모드가 일치하는 인트라 예측이라고 판정된 경우, 처리는 스텝 S536으로 진행된다. 스텝 S536에 있어서, 제어부(411)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다(chroma_st_idx == st_idx). 스텝 S536의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다. 즉, 이 경우, <변형예 1>의 조건 외에, 휘도와 색차에서 예측 모드가 일치하는 인트라 예측의 경우도, 잔차 신호의 경향이 유사하므로, 색차의 세컨더리 변환 식별자 chroma_st_idx를 시그널링하지 않도록 한다.
이에 비하여, 스텝 S535에 있어서 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측이라고 판정된 경우(compID != COMPONENT_Y), 처리는 스텝 S537로 진행된다. 스텝 S537에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx에 임의의 값을 세트한다. 그리고, 스텝 S538에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S538의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 3>
또한, 예를 들어 도 39의 No. #4의 행과 같이, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다. 또한, 그 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 색차용 세컨더리 변환 식별자 부호화 처리의 흐름의 예를, 도 67의 흐름도를 참조하여 설명한다. 스텝 S541 내지 스텝 S545의 각 처리는, 도 48의 스텝 S321 내지 스텝 S325의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S544에 있어서 인터 예측이라고 판정되거나, 또는 스텝 S544 및 S545에 의해 예측 모드가 인트라 블록 카피의 인트라 예측이라고 판정된 경우, 처리는 스텝 S546으로 진행된다. 스텝 S546에 있어서, 제어부(411)는, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에, 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트한다(chroma_st_idx == st_idx). 스텝 S546의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다. 즉, 이 경우, <변형예 1>의 조건 외에, 예측 모드가 인트라 블록 카피의 인트라 예측의 경우에도, 잔차 신호의 경향이 유사하므로, 색차의 세컨더리 변환 식별자 chroma_st_idx를 시그널링하지 않도록 한다.
이에 비하여, 스텝 S545에 있어서 예측 모드가 인트라 블록 카피가 아닌 인트라 예측이라고 판정된 경우, 처리는 스텝 S547로 진행된다. 스텝 S547에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx에 임의의 값을 세트한다. 그리고, 스텝 S548에 있어서, 제어부(411)는, 그 색차의 세컨더리 변환 식별자 chroma_st_idx를 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S548의 처리가 종료되면, 색차용 세컨더리 변환 식별자 부호화 처리가 종료된다.
이와 같이 함으로써, 잔차 신호의 경향이 유사한 예측 모드의 경우에만, 색차의 세컨더리 변환 식별자 chroma_st_idx의 전송(부호화·복호)을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<변형예 5>
또한, 예를 들어 도 39의 No. #5의 행과 같이, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 1(참)인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx의 값에 휘도의 세컨더리 변환 식별자 st_idx의 값을 세트하고, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 0(거짓)인 경우, 색차의 세컨더리 변환 식별자 chroma_st_idx가 시그널링되도록(즉, 색차의 세컨더리 변환 식별자 chroma_st_idx는, 부호화 데이터로부터 복호하여 얻게) 해도 된다.
이 경우의, 색차 세컨더리 변환 식별자 추정 플래그 부호화 처리의 흐름의 예를, 도 68의 흐름도를 참조하여 설명한다. 스텝 S551 내지 스텝 S553의 각 처리는, 도 50의 스텝 S331 내지 스텝 S333의 각 처리와 마찬가지로 실행된다.
즉, 스텝 S554에 있어서, 제어부(411)는, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag를 세트하고, 스텝 S555에 있어서, 그 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag가 부호화부(415)에 공급되고, 부호화된다.
스텝 S556에 있어서, 제어부(411)는, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag의 값이 참인지 여부를 판정한다. 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag의 값이 참이라고 판정된 경우, 처리는 스텝 S557로 진행된다. 스텝 S557에 있어서, 제어부(411)는, 색차의 세컨더리 변환 식별자 chroma_st_idx에, 휘도용 세컨더리 변환 식별자 st_idx를 인가한다.
또한, 스텝 S556에 있어서, 색차 세컨더리 변환 식별자 추정 플래그 chroma_st_idx_infer_flag의 값이 거짓이라고 판정된 경우, 처리는 스텝 S558로 진행된다. 스텝 S558에 있어서, 제어부(411)는, 색차의 세컨더리 변환 식별자 chroma_st_idx를 세트한다. 또한, 스텝 S559에 있어서, 제어부(411)는, 그것을 부호화부(415)에 공급하고, 부호화시킨다. 스텝 S559의 처리가 종료되면, 변환 스킵 플래그 부호화 처리가 종료된다.
즉, <변형예 5>의 경우, 색차 세컨더리 변환 식별자 추정 플래그에 의해, 색차의 세컨더리 변환 식별자 chroma_st_idx를 시그널링할지 여부가 명시적으로 제어된다. 따라서, 보다 효과적인 방법을 보다 용이하면서도 확실하게 선택할 수 있다. 따라서, 부호화 효율의 저감을 보다 억제할 수 있다. 또한, 부호화나 복호의 부하의 증대도 억제할 수 있다.
<8. 기타>
<정보의 데이터 단위>
이상에 있어서 설명한 화상에 관한 정보나 화상의 부호화·복호에 관한 정보가 설정되는(또는 대상으로 하는 데이터의) 데이터 단위는, 각각 임의이며, 상술한 예에 한정되지는 않는다. 예를 들어, 이들 정보가, 각각, TU(Transform Unit), TB(Transform Block), PU(Prediction Unit), PB(Prediction Block), CU(Coding Unit), LCU(Largest Coding Unit), 서브블록, 블록, 타일, 슬라이스, 픽처, 시퀀스, 또는 컴포넌트마다 설정되도록 해도 되고, 그들 데이터 단위의 데이터를 대상으로 하도록 해도 된다. 물론, 이 데이터 단위는, 정보마다 설정된다. 즉, 모든 정보가 동일한 데이터 단위마다 설정되도록(또는 대상으로 하도록) 하지 않아도 된다. 또한, 이들 정보의 저장 장소는 임의이며, 상술한 데이터 단위의 헤더나 파라미터 세트 등에 저장되도록 해도 된다. 또한, 복수 개소에 저장되도록 해도 된다.
<제어 정보>
이상의 각 실시 형태에 있어서 설명한 본 기술에 관한 제어 정보를 부호화측으로부터 복호측으로 전송하도록 해도 된다. 예를 들어, 상술한 본 기술을 적용하는 것을 허가(또는 금지)할지 여부를 제어하는 제어 정보(예를 들어 enabled_flag)를 전송하도록 해도 된다. 또한, 예를 들어 상술한 본 기술을 적용하는 것을 허가(또는 금지)하는 블록 사이즈의 상한 혹은 하한, 또는 그 양쪽을 지정하는 제어 정보를 전송하도록 해도 된다.
<부호화·복호>
본 기술은, 프라이머리 변환 및 세컨더리 변환(역 세컨더리 변 및 역 프라이머리 변환)을 행하는 임의의 화상 부호화·복호에 적용할 수 있다. 즉, 변환(역변환), 양자화(역양자화), 부호화(복호), 예측 등의 사양은 임의이며, 상술한 예에 한정되지는 않는다. 예를 들어, 변환(역변환)에 있어서, (역) 프라이머리 변환 및 (역) 세컨더리 변환 이외의 (역)변환(즉 3 이상의 (역)변환)이 행해지도록 해도 된다. 또한, 부호화(복호)는, 가역의 방식이어도 되고, 비가역의 방식이어도 된다. 또한, 양자화(역양자화)나 예측 등은 생략하도록 해도 된다. 또한, 필터 처리 등의 상술하지 않은 처리가 행해지도록 해도 된다.
<본 기술의 적용 분야>
본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다.
예를 들어, 본 기술은, 감상용으로 제공되는 화상을 전송하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 교통용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 보안용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 스포츠용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 농업용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 축산업용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 화산, 삼림, 해양 등의 자연 상태를 감시하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 날씨, 기온, 습도, 풍속, 일조 시간 등을 관측하는 기상 관측 시스템이나 기상 관측 장치에 적용할 수 있다. 또한, 본 기술은, 예를 들어 조류, 어류, 파충류, 양서류, 포유류, 곤충, 식물 등의 야생 생물의 생태를 관측하는 시스템이나 디바이스 등에도 적용할 수 있다.
<다시점 화상 부호화·복호 시스템에 대한 적용>
상술한 일련의 처리는, 복수의 시점(뷰(view))의 화상을 포함하는 다시점 화상의 부호화·복호를 행하는 다시점 화상 부호화·복호 시스템에 적용할 수 있다. 그 경우, 각 시점(뷰(view))의 부호화·복호에 있어서, 본 기술을 적용하도록 하면 된다.
<계층 화상 부호화·복호 시스템에 대한 적용>
또한, 상술한 일련의 처리는, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록 복수 레이어화(계층화)된 계층 화상의 부호화·복호를 행하는 계층 화상 부호화(스케일러블 부호화)·복호 시스템에 적용할 수 있다. 그 경우, 각 계층(레이어)의 부호화·복호에 있어서, 본 기술을 적용하도록 하면 된다.
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 69는, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 나타내는 블록도이다.
도 69에 도시된 컴퓨터(800)에 있어서, CPU(Central Processing Unit)(801), ROM(Read Only Memory)(802), RAM(Random Access Memory)(803)은, 버스(804)를 통해 서로 접속되어 있다.
버스(804)에는 또한, 입출력 인터페이스(810)도 접속되어 있다. 입출력 인터페이스(810)에는, 입력부(811), 출력부(812), 기억부(813), 통신부(814), 및 드라이브(815)가 접속되어 있다.
입력부(811)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등을 포함한다. 출력부(812)는, 예를 들어 디스플레이, 스피커, 출력 단자 등을 포함한다. 기억부(813)는, 예를 들어 하드디스크, RAM 디스크, 불휘발성의 메모리 등을 포함한다. 통신부(814)는, 예를 들어 네트워크 인터페이스를 포함한다. 드라이브(815)는, 자기디스크, 광디스크, 광자기디스크, 또는 반도체 메모리 등의 리무버블 미디어(821)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(801)가, 예를 들어 기억부(813)에 기억되어 있는 프로그램을, 입출력 인터페이스(810) 및 버스(804)를 통해 RAM(803)에 로드해서 실행함으로써, 상술한 일련의 처리가 행해진다. RAM(803)에는 또한, CPU(801)가 각종 처리를 실행하는 데 있어서 필요한 데이터 등도 적절히 기억된다.
컴퓨터(CPU(801))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(821)에 기록해서 적용할 수 있다. 그 경우, 프로그램은, 리무버블 미디어(821)를 드라이브(815)에 장착함으로써, 입출력 인터페이스(810)를 통해 기억부(813)에 인스톨할 수 있다.
또한, 이 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통해 제공할 수도 있다. 그 경우, 프로그램은, 통신부(814)로 수신하고, 기억부(813)에 인스톨할 수 있다.
그 밖에, 이 프로그램은, ROM(802)이나 기억부(813)에, 미리 인스톨해 둘 수도 있다.
<본 기술의 응용>
상술한 실시 형태에 따른 화상 부호화 장치(400)나 화상 복호 장치(100)는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷상에서의 배신, 및 셀룰러 통신에 의한 단말기에의 배신 등에 있어서의 송신기나 수신기, 또는 광디스크, 자기디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치나, 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의, 다양한 전자 기기에 응용될 수 있다.
<제1 응용예: 텔레비전 수상기>
도 70은, 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(I/F)부(909), 제어부(910), 유저 인터페이스(I/F)부(911), 및 버스(912)를 구비한다.
튜너(902)는, 안테나(901)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(902)는, 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)로 출력한다. 즉, 튜너(902)는, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(903)는, 부호화 비트 스트림으로부터 시청 대상의 프로그램 영상 스트림 및 음성 스트림을 분리하고, 분리된 각 스트림을 디코더(904)로 출력한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출된 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(904)는, 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)로 출력한다. 또한, 디코더(904)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)로 출력한다.
영상 신호 처리부(905)는, 디코더(904)로부터 입력되는 영상 데이터를 재생하고, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는, 네트워크를 통해서 공급되는 애플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는, 영상 데이터에 대하여, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행해도 된다. 또한, 영상 신호 처리부(905)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성된 화상을 출력 화상에 중첩해도 된다.
표시부(906)는, 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되고, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic ElectroLuminescence Display)(유기 EL 디스플레이) 등)의 영상면상에 영상 또는 화상을 표시한다.
음성 신호 처리부(907)는, 디코더(904)로부터 입력되는 음성 데이터에 대하여 D/A 변환 및 증폭 등의 재생 처리를 행하고, 스피커(908)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(907)는, 음성 데이터에 대하여 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스부(909)는, 텔레비전 장치(900)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스부(909)를 통해 수신되는 영상 스트림 또는 음성 스트림이, 디코더(904)에 의해 복호되어도 된다. 즉, 외부 인터페이스부(909)도 또한, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
제어부(910)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 및 네트워크를 통해서 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(900)의 기동 시에 CPU에 의해 읽어들여지고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(911)로부터 입력되는 조작 신호에 따라서, 텔레비전 장치(900)의 동작을 제어한다.
유저 인터페이스부(911)는, 제어부(910)와 접속된다. 유저 인터페이스부(911)는, 예를 들어 유저가 텔레비전 장치(900)를 조작하기 위한 버튼 및 스위치, 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(911)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(910)로 출력한다.
버스(912)는, 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스부(909) 및 제어부(910)를 서로 접속한다.
이와 같이 구성된 텔레비전 장치(900)에 있어서, 디코더(904)가, 상술한 화상 복호 장치(100)의 기능을 갖도록 해도 된다. 즉, 디코더(904)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(900)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 텔레비전 장치(900)에 있어서, 영상 신호 처리부(905)가, 예를 들어 디코더(904)로부터 공급되는 화상 데이터를 부호화하고, 얻어진 부호화 데이터를, 외부 인터페이스부(909)를 통해 텔레비전 장치(900)의 외부로 출력시킬 수 있도록 해도 된다. 그리고, 그 영상 신호 처리부(905)가, 상술한 화상 부호화 장치(400)의 기능을 갖도록 해도 된다. 즉, 영상 신호 처리부(905)가, 디코더(904)로부터 공급되는 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(900)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제2 응용예: 휴대 전화기>
도 71은, 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(920)는, 안테나(921), 통신부(922), 음성 코덱(923), 스피커(924), 마이크로폰(925), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 제어부(931), 조작부(932), 및 버스(933)를 구비한다.
안테나(921)는, 통신부(922)에 접속된다. 스피커(924) 및 마이크로폰(925)은, 음성 코덱(923)에 접속된다. 조작부(932)는, 제어부(931)에 접속된다. 버스(933)는, 통신부(922), 음성 코덱(923), 카메라부(926), 화상 처리부(927), 다중 분리부(928), 기록 재생부(929), 표시부(930), 및 제어부(931)를 서로 접속한다.
휴대 전화기(920)는, 음성 통화 모드, 데이터 통신 모드, 촬영 모드, 및 텔레비전 전화 모드를 포함하는 다양한 동작 모드에서, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상, 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에 있어서, 마이크로폰(925)에 의해 생성되는 아날로그 음성 신호는, 음성 코덱(923)에 공급된다. 음성 코덱(923)은, 아날로그 음성 신호를 음성 데이터로 변환하고, 변환된 음성 데이터를 A/D 변환하여 압축한다. 그리고, 음성 코덱(923)은, 압축 후의 음성 데이터를 통신부(922)로 출력한다. 통신부(922)는, 음성 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)으로 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 음성 데이터를 생성하고, 생성된 음성 데이터를 음성 코덱(923)으로 출력한다. 음성 코덱(923)은, 음성 데이터를 신장 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은, 생성된 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
또한, 데이터 통신 모드에 있어서, 예를 들어 제어부(931)는, 조작부(932)를 통하는 유저에 의한 조작에 따라서, 전자 메일을 구성하는 문자 데이터를 생성한다. 또한, 제어부(931)는, 문자를 표시부(930)에 표시시킨다. 또한, 제어부(931)는, 조작부(932)를 통하는 유저로부터의 송신 지시에 따라서 전자 메일 데이터를 생성하고, 생성된 전자 메일 데이터를 통신부(922)로 출력한다. 통신부(922)는, 전자 메일 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)으로 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 전자 메일 데이터를 복원하고, 복원한 전자 메일 데이터를 제어부(931)로 출력한다. 제어부(931)는, 표시부(930)에 전자 메일의 내용을 표시시킴과 함께, 전자 메일 데이터를 기록 재생부(929)에 공급하고, 그 기억 매체에 기입시킨다.
기록 재생부(929)는, 판독 기입 가능한 임의의 기억 매체를 갖는다. 예를 들어, 기억 매체는, RAM 또는 플래시 메모리 등의 내장형의 기억 매체여도 되며, 하드디스크, 자기디스크, 광자기디스크, 광디스크, USB(Universal Serial Bus) 메모리 또는 메모리 카드 등의 외부 장착형의 기억 매체여도 된다.
또한, 촬영 모드에 있어서, 예를 들어 카메라부(926)는, 피사체를 촬상하여 화상 데이터를 생성하고, 생성된 화상 데이터를 화상 처리부(927)로 출력한다. 화상 처리부(927)는, 카메라부(926)로부터 입력되는 화상 데이터를 부호화하고, 부호화 스트림을 기록 재생부(929)에 공급하고, 그 기억 매체에 기입시킨다.
또한, 화상 표시 모드에 있어서, 기록 재생부(929)는, 기억 매체에 기록되어 있는 부호화 스트림을 판독해서 화상 처리부(927)로 출력한다. 화상 처리부(927)는, 기록 재생부(929)로부터 입력되는 부호화 스트림을 복호하고, 화상 데이터를 표시부(930)에 공급하고, 그 화상을 표시시킨다.
또한, 텔레비전 전화 모드에 있어서, 예를 들어 다중 분리부(928)는, 화상 처리부(927)에 의해 부호화된 영상 스트림과, 음성 코덱(923)으로부터 입력되는 음성 스트림을 다중화하고, 다중화한 스트림을 통신부(922)로 출력한다. 통신부(922)는, 스트림을 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(922)는, 생성된 송신 신호를, 안테나(921)를 통해 기지국(도시생략)에 송신한다. 또한, 통신부(922)는, 안테나(921)를 통해 수신되는 무선 신호를 증폭 및 주파수 변환하고, 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호에는, 부호화 비트 스트림이 포함될 수 있다. 그리고, 통신부(922)는, 수신 신호를 복조 및 복호하여 스트림을 복원하고, 복원된 스트림을 다중 분리부(928)로 출력한다. 다중 분리부(928)는, 입력되는 스트림으로부터 영상 스트림 및 음성 스트림을 분리하고, 영상 스트림을 화상 처리부(927), 음성 스트림을 음성 코덱(923)으로 출력한다. 화상 처리부(927)는, 영상 스트림을 복호하고, 영상 데이터를 생성한다. 영상 데이터는, 표시부(930)에 공급되고, 표시부(930)에 의해 일련의 화상이 표시된다. 음성 코덱(923)은, 음성 스트림을 신장 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(923)은, 생성된 음성 신호를 스피커(924)에 공급하여 음성을 출력시킨다.
이와 같이 구성된 휴대 전화기(920)에 있어서, 예를 들어 화상 처리부(927)가, 상술한 화상 부호화 장치(400)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(927)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 휴대 전화기(920)에 있어서, 예를 들어 화상 처리부(927)가, 상술한 화상 복호 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(927)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제3 응용예: 기록 재생 장치>
도 72는, 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(940)는, 예를 들어 수신된 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록해도 된다. 또한, 기록 재생 장치(940)는, 예를 들어 유저의 지시에 따라서, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커상에서 재생한다. 이때, 기록 재생 장치(940)는, 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는, 튜너(941), 외부 인터페이스(I/F)부(942), 인코더(943), HDD(Hard Disk Drive)부(944), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)부(948), 제어부(949), 및 유저 인터페이스(I/F)부(950)를 구비한다.
튜너(941)는, 안테나(도시생략)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출된 신호를 복조한다. 그리고, 튜너(941)는, 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(946)로 출력한다. 즉, 튜너(941)는, 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
외부 인터페이스부(942)는, 기록 재생 장치(940)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스다. 외부 인터페이스부(942)는, 예를 들어IEEE(Institute of Electrical and Electronic Engineers) 1394 인터페이스, 네트워크 인터페이스, USB 인터페이스 또는 플래시 메모리 인터페이스 등이어도 된다. 예를 들어, 외부 인터페이스부(942)를 통해 수신되는 영상 데이터 및 음성 데이터는, 인코더(943)에 입력된다. 즉, 외부 인터페이스부(942)는, 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
인코더(943)는, 외부 인터페이스부(942)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되지 않는 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(943)는, 부호화 비트 스트림을 셀렉터(946)로 출력한다.
HDD부(944)는, 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드디스크에 기록한다. 또한, HDD부(944)는, 영상 및 음성의 재생 시에, 이들 데이터를 하드디스크로부터 판독한다.
디스크 드라이브(945)는, 장착되어 있는 기록 매체로의 데이터의 기록 및 판독을 행한다. 디스크 드라이브(945)에 장착되는 기록 매체는, 예를 들어 DVD(Digital Versatile Disc) 디스크(DVD-Video, DVD-RAM(DVD-Random Access Memory), DVD-R(DVD-Recordable), DVD-RW(DVD-Rewritable), DVD+R(DVD+Recordable), DVD+RW(DVD+Rewritable) 등) 또는 Blu-ray(등록상표) 디스크 등이어도 된다.
셀렉터(946)는, 영상 및 음성의 기록 시에는, 튜너(941) 또는 인코더(943)로부터 입력되는 부호화 비트 스트림을 선택하고, 선택된 부호화 비트 스트림을 HDD부(944) 또는 디스크 드라이브(945)로 출력한다. 또한, 셀렉터(946)는, 영상 및 음성의 재생 시에는, HDD부(944) 또는 디스크 드라이브(945)로부터 입력되는 부호화 비트 스트림을 디코더(947)로 출력한다.
디코더(947)는, 부호화 비트 스트림을 복호하고, 영상 데이터 및 음성 데이터를 생성한다. 그리고, 디코더(947)는, 생성된 영상 데이터를 OSD부(948)로 출력한다. 또한, 디코더(947)는, 생성된 음성 데이터를 외부의 스피커는 출력한다.
OSD부(948)는, 디코더(947)로부터 입력되는 영상 데이터를 재생하고, 영상을 표시한다. 또한, OSD부(948)는, 표시하는 영상에, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 중첩해도 된다.
제어부(949)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 기록 재생 장치(940)의 기동 시에 CPU에 의해 읽어들여지고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(950)로부터 입력되는 조작 신호에 따라서, 기록 재생 장치(940)의 동작을 제어한다.
유저 인터페이스부(950)는, 제어부(949)와 접속된다. 유저 인터페이스부(950)는, 예를 들어 유저가 기록 재생 장치(940)를 조작하기 위한 버튼 및 스위치, 및 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(950)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(949)로 출력한다.
이와 같이 구성된 기록 재생 장치(940)에 있어서, 예를 들어 인코더(943)가, 상술한 화상 부호화 장치(400)의 기능을 갖도록 해도 된다. 즉, 인코더(943)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 기록 재생 장치(940)에 있어서, 예를 들어 디코더(947)가, 상술한 화상 복호 장치(100)의 기능을 갖도록 해도 된다. 즉, 디코더(947)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제4 응용예: 촬상 장치>
도 73은, 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(960)는, 피사체를 촬상하여 화상을 생성하고, 화상 데이터를 부호화하여 기록 매체에 기록한다.
촬상 장치(960)는, 광학 블록(961), 촬상부(962), 신호 처리부(963), 화상 처리부(964), 표시부(965), 외부 인터페이스(I/F)부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 제어부(970), 유저 인터페이스(I/F)부(971), 및 버스(972)를 구비한다.
광학 블록(961)는, 촬상부(962)에 접속된다. 촬상부(962)는, 신호 처리부(963)에 접속된다. 표시부(965)는, 화상 처리부(964)에 접속된다. 유저 인터페이스부(971)는, 제어부(970)에 접속된다. 버스(972)는, 화상 처리부(964), 외부 인터페이스부(966), 메모리부(967), 미디어 드라이브(968), OSD부(969), 및 제어부(970)를 서로 접속한다.
광학 블록(961)은, 포커스 렌즈 및 교축 기구 등을 갖는다. 광학 블록(961)은, 피사체의 광학상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는, CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는, 화상 신호를 신호 처리부(963)로 출력한다.
신호 처리부(963)는, 촬상부(962)로부터 입력되는 화상 신호에 대해서 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(963)는, 카메라 신호 처리 후의 화상 데이터를 화상 처리부(964)로 출력한다.
화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 부호화하고, 부호화 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성된 부호화 데이터를 외부 인터페이스부(966) 또는 미디어 드라이브(968)로 출력한다. 또한, 화상 처리부(964)는, 외부 인터페이스부(966) 또는 미디어 드라이브(968)로부터 입력되는 부호화 데이터를 복호하고, 화상 데이터를 생성한다. 그리고, 화상 처리부(964)는, 생성된 화상 데이터를 표시부(965)로 출력한다. 또한, 화상 처리부(964)는, 신호 처리부(963)로부터 입력되는 화상 데이터를 표시부(965)로 출력하여 화상을 표시시켜도 된다. 또한, 화상 처리부(964)는, OSD부(969)로부터 취득되는 표시용 데이터를, 표시부(965)로 출력하는 화상에 중첩해도 된다.
OSD부(969)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 생성하고, 생성된 화상을 화상 처리부(964)로 출력한다.
외부 인터페이스부(966)는, 예를 들어 USB 입출력 단자로서 구성된다. 외부 인터페이스부(966)는, 예를 들어 화상의 인쇄 시에, 촬상 장치(960)와 프린터를 접속한다. 또한, 외부 인터페이스부(966)에는, 필요에 따라 드라이브가 접속된다. 드라이브에는, 예를 들어 자기디스크 또는 광디스크 등의 리무버블 미디어가 장착되고, 리무버블 미디어로부터 판독되는 프로그램이, 촬상 장치(960)에 인스톨될 수 있다. 또한, 외부 인터페이스부(966)는, LAN 또는 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성되어도 된다. 즉, 외부 인터페이스부(966)는, 촬상 장치(960)에 있어서의 전송부로서의 역할을 갖는다.
미디어 드라이브(968)에 장착되는 기록 매체는, 예를 들어 자기디스크, 광자기디스크, 광디스크 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 리무버블 미디어여도 된다. 또한, 미디어 드라이브(968)에 기록 매체가 고정적으로 장착되고, 예를 들어 내장형 하드디스크 드라이브 또는 SSD(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(970)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(960)의 기동 시에 CPU에 의해 읽어들여지고, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(971)로부터 입력되는 조작 신호에 따라서, 촬상 장치(960)의 동작을 제어한다.
유저 인터페이스부(971)는, 제어부(970)와 접속된다. 유저 인터페이스부(971)는, 예를 들어 유저가 촬상 장치(960)를 조작하기 위한 버튼 및 스위치 등을 갖는다. 유저 인터페이스부(971)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(970)로 출력한다.
이와 같이 구성된 촬상 장치(960)에 있어서, 예를 들어 화상 처리부(964)가, 상술한 화상 부호화 장치(400)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(964)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 촬상 장치(960)에 있어서, 예를 들어 화상 처리부(964)가, 상술한 화상 복호 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(964)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제5 응용예: 비디오 세트>
또한, 본 기술은, 임의의 장치 또는 시스템을 구성하는 장치에 탑재하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 그 밖의 기능을 더 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다. 도 74는, 본 기술을 적용한 비디오 세트의 개략적인 구성의 일례를 나타내고 있다.
근년, 전자 기기의 다기능화가 진행되고 있으며, 그 개발이나 제조에 있어서, 그 일부의 구성을 판매나 제공 등으로서 실시하는 경우, 하나의 기능을 갖는 구성으로서 실시를 행하는 경우뿐만 아니라, 관련된 기능을 갖는 복수의 구성을 조합하여, 복수의 기능을 갖는 하나의 세트로서 실시를 행하는 경우도 많이 볼 수 있게 되었다.
도 74에 도시된 비디오 세트(1300)는, 이러한 다기능화된 구성이며, 화상의 부호화나 복호(어느 한쪽이어도 되고, 양쪽이어도 됨)에 관한 기능을 갖는 디바이스에, 그 기능에 관련된 그 밖의 기능을 갖는 디바이스를 조합한 것이다.
도 74에 도시된 바와 같이, 비디오 세트(1300)는, 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313), 및 프론트엔드 모듈(1314) 등의 모듈 군과, 커넥티비티(1321), 카메라(1322), 및 센서(1323) 등의 관련된 기능을 갖는 디바이스를 갖는다.
모듈은, 서로 관련된 몇 개의 부품적 기능을 통합하여, 통합된 기능을 갖는 부품으로 한 것이다. 구체적인 물리적 구성은 임의이지만, 예를 들어 각각 기능을 갖는 복수의 프로세서, 저항이나 콘덴서 등의 전자 회로 소자, 그 밖의 디바이스 등을 배선 기판 등에 배치하여 일체화한 것이 생각된다. 또한, 모듈에 다른 모듈이나 프로세서 등을 조합하여 새로운 모듈로 하는 것도 생각된다.
도 74의 예의 경우, 비디오 모듈(1311)은, 화상 처리에 관한 기능을 갖는 구성을 조합한 것이며, 애플리케이션 프로세서, 비디오 프로세서, 브로드밴드 모뎀(1333), 및 RF 모듈(1334)을 갖는다.
프로세서는, 소정의 기능을 갖는 구성을 SoC(System On a Chip)에 의해 반도체 칩에 집적한 것이며, 예를 들어 시스템 LSI(Large Scale Integration) 등이라고 칭해지는 것도 있다. 이 소정의 기능을 갖는 구성은, 논리 회로(하드웨어 구성)여도 되고, CPU, ROM, RAM 등과, 그들을 사용하여 실행되는 프로그램(소프트웨어 구성)이어도 되며, 그 양쪽을 조합한 것이어도 된다. 예를 들어, 프로세서가, 논리 회로와 CPU, ROM, RAM 등을 갖고, 기능의 일부를 논리 회로(하드웨어 구성)에 의해 실현하고, 그 밖의 기능을 CPU에 있어서 실행되는 프로그램(소프트웨어 구성)에 의해 실현하도록 해도 된다.
도 74의 애플리케이션 프로세서(1331)는, 화상 처리에 관한 애플리케이션을 실행하는 프로세서이다. 이 애플리케이션 프로세서(1331)에 있어서 실행되는 애플리케이션은, 소정의 기능을 실현하기 위해서, 연산 처리를 행할 뿐만 아니라, 예를 들어 비디오 프로세서(1332) 등, 비디오 모듈(1311) 내외의 구성을 필요에 따라 제어할 수도 있다.
비디오 프로세서(1332)는, 화상의 부호화·복호(그 한쪽 또는 양쪽)에 관한 기능을 갖는 프로세서이다.
브로드밴드 모뎀(1333)은, 인터넷이나 공중전화 회선망 등의 광대역의 회선을 통해 행해지는 유선 혹은 무선(또는 그 양쪽)의 광대역 통신에 의해 송신하는 데이터(디지털 신호)를 디지털 변조하거나 하여 아날로그 신호로 변환하거나, 그 광대역 통신에 의해 수신한 아날로그 신호를 복조하여 데이터(디지털 신호)로 변환하거나 한다. 브로드밴드 모뎀(1333)은, 예를 들어 비디오 프로세서(1332)가 처리하는 화상 데이터, 화상 데이터가 부호화된 스트림, 애플리케이션 프로그램, 설정 데이터 등, 임의의 정보를 처리한다.
RF 모듈(1334)은, 안테나를 통해 송수신되는 RF(Radio Frequency) 신호에 대해서, 주파수 변환, 변복조, 증폭, 필터 처리 등을 행하는 모듈이다. 예를 들어, RF 모듈(1334)은, 브로드밴드 모뎀(1333)에 의해 생성된 기저 대역 신호에 대해서 주파수 변환 등을 행해서 RF 신호를 생성한다. 또한, 예를 들어 RF 모듈(1334)은, 프론트엔드 모듈(1314)을 통해 수신된 RF 신호에 대해서 주파수 변환 등을 행하여 기저 대역 신호를 생성한다.
또한, 도 74에 있어서 점선(1341)으로 나타낸 바와 같이, 애플리케이션 프로세서(1331)와 비디오 프로세서(1332)를, 일체화하여, 하나의 프로세서로서 구성되도록 해도 된다.
외부 메모리(1312)는, 비디오 모듈(1311)의 외부에 마련된, 비디오 모듈(1311)에 의해 이용되는 기억 디바이스를 갖는 모듈이다. 이 외부 메모리(1312)의 기억 디바이스는, 어떤 물리 구성에 의해 실현하도록 해도 되지만, 일반적으로 프레임 단위의 화상 데이터와 같은 대용량의 데이터의 저장에 이용되는 일이 많으므로, 예를 들어 DRAM(Dynamic Random Access Memory)과 같은 비교적 저렴하며 대용량의 반도체 메모리에 의해 실현하는 것이 바람직하다.
파워 매니지먼트 모듈(1313)은, 비디오 모듈(1311)(비디오 모듈(1311) 내의 각 구성)에 대한 전력 공급을 관리하고, 제어한다.
프론트엔드 모듈(1314)은, RF 모듈(1334)에 대해서 프론트엔드 기능(안테나측의 송수신단의 회로)을 제공하는 모듈이다. 도 74에 도시된 바와 같이, 프론트엔드 모듈(1314)은, 예를 들어 안테나부(1351), 필터(1352), 및 증폭부(1353)를 갖는다.
안테나부(1351)는, 무선 신호를 송수신하는 안테나 및 그 주변의 구성을 갖는다. 안테나부(1351)는, 증폭부(1353)로부터 공급되는 신호를 무선 신호로서 송신하고, 수신한 무선 신호를 전기 신호(RF 신호)로서 필터(1352)에 공급한다. 필터(1352)는, 안테나부(1351)를 통해 수신된 RF 신호에 대해서 필터 처리 등을 행하고, 처리 후의 RF 신호를 RF 모듈(1334)에 공급한다. 증폭부(1353)는, RF 모듈(1334)로부터 공급되는 RF 신호를 증폭하고, 안테나부(1351)에 공급한다.
커넥티비티(1321)는, 외부와의 접속에 관한 기능을 갖는 모듈이다. 커넥티비티(1321)의 물리 구성은, 임의이다. 예를 들어, 커넥티비티(1321)는, 브로드밴드 모뎀(1333)이 대응하는 통신 규격 이외의 통신 기능을 갖는 구성이나, 외부 입출력 단자 등을 갖는다.
예를 들어, 커넥티비티(1321)가, Bluetooth(등록상표), IEEE 802.11(예를 들어 Wi-Fi(Wireless Fidelity, 등록상표)), NFC(Near Field Communication), IrDA(InfraRed Data Association) 등의 무선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 신호를 송수신하는 안테나 등을 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, USB(Universal Serial Bus), HDMI(등록상표)(High-Definition Multimedia Interface) 등의 유선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 단자를 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, 아날로그 입출력 단자 등의 그 밖의 데이터(신호) 전송 기능 등을 갖도록 해도 된다.
또한, 커넥티비티(1321)가, 데이터(신호)의 전송처의 디바이스를 포함하도록 해도 된다. 예를 들어, 커넥티비티(1321)가, 자기디스크, 광디스크, 광자기디스크 또는 반도체 메모리 등의 기록 매체에 대해서 데이터의 판독이나 기입을 행하는 드라이브(리무버블 미디어의 드라이브뿐만 아니라, 하드디스크, SSD(Solid State Drive), NAS(Network Attached Storage) 등도 포함함)를 갖도록 해도 된다. 또한, 커넥티비티(1321)가, 화상이나 음성의 출력 디바이스(모니터나 스피커 등)를 갖도록 해도 된다.
카메라(1322)는, 피사체를 촬상하고, 피사체의 화상 데이터를 얻는 기능을 갖는 모듈이다. 카메라(1322)의 촬상에 의해 얻어진 화상 데이터는, 예를 들어 비디오 프로세서(1332)에 공급되어 부호화된다.
센서(1323)는, 예를 들어 음성 센서, 초음파 센서, 광센서, 조도 센서, 적외선 센서, 이미지 센서, 회전 센서, 각도 센서, 각속도 센서, 속도 센서, 가속도 센서, 경사 센서, 자기 식별 센서, 충격 센서, 온도 센서 등, 임의의 센서 기능을 갖는 모듈이다. 센서(1323)에 의해 검출된 데이터는, 예를 들어 애플리케이션 프로세서(1331)에 공급되어 애플리케이션 등에 의해 이용된다.
이상에 있어서 모듈로서 설명한 구성을 프로세서로서 실현하도록 해도 되고, 반대로 프로세서로서 설명한 구성을 모듈로서 실현하도록 해도 된다.
이상과 같은 구성의 비디오 세트(1300)에 있어서, 후술하는 바와 같이 비디오 프로세서(1332)에 본 기술을 적용할 수 있다. 따라서, 비디오 세트(1300)는, 본 기술을 적용한 세트로서 실시할 수 있다.
<비디오 프로세서의 구성예>
도 75는, 본 기술을 적용한 비디오 프로세서(1332)(도 74)의 개략적인 구성의 일례를 나타내고 있다.
도 75의 예의 경우, 비디오 프로세서(1332)는, 비디오 신호 및 오디오 신호의 입력을 받아서 이들을 소정의 방식으로 부호화하는 기능과, 부호화된 비디오 데이터 및 오디오 데이터를 복호하고, 비디오 신호 및 오디오 신호를 재생 출력하는 기능을 갖는다.
도 75에 도시된 바와 같이, 비디오 프로세서(1332)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404), 프레임 메모리(1405), 및 메모리 제어부(1406)를 갖는다. 또한, 비디오 프로세서(1332)는, 인코드·디코드 엔진(1407), 비디오 ES(Elementary Stream) 버퍼(1408A 및 1408B), 및 오디오 ES 버퍼(1409A 및 1409B)를 갖는다. 또한, 비디오 프로세서(1332)는, 오디오 인코더(1410), 오디오 디코더(1411), 다중화부(MUX(Multiplexer))(1412), 역다중화부(DMUX(Demultiplexer))(1413), 및 스트림 버퍼(1414)를 갖는다.
비디오 입력 처리부(1401)는, 예를 들어 커넥티비티(1321)(도 74) 등으로부터 입력된 비디오 신호를 취득하고, 디지털 화상 데이터로 변환한다. 제1 화상 확대 축소부(1402)는, 화상 데이터에 대해서 포맷 변환이나 화상의 확대 축소 처리 등을 행한다. 제2 화상 확대 축소부(1403)는, 화상 데이터에 대해서, 비디오 출력 처리부(1404)를 통해 출력하는 곳에서의 포맷에 따라서 화상의 확대 축소 처리를 행하거나, 제1 화상 확대 축소부(1402)와 마찬가지의 포맷 변환이나 화상의 확대 축소 처리 등을 행하거나 한다. 비디오 출력 처리부(1404)는, 화상 데이터에 대해서, 포맷 변환이나 아날로그 신호로의 변환 등을 행하여, 재생된 비디오 신호로서 예를 들어 커넥티비티(1321) 등으로 출력한다.
프레임 메모리(1405)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404), 및 인코드·디코드 엔진(1407)에 의해 공용되는 화상 데이터용 메모리이다. 프레임 메모리(1405)는, 예를 들어 DRAM 등의 반도체 메모리로서 실현된다.
메모리 제어부(1406)는, 인코드·디코드 엔진(1407)으로부터의 동기 신호를 받아서, 액세스 관리 테이블(1406A)에 기입된 프레임 메모리(1405)로의 액세스 스케줄에 따라서 프레임 메모리(1405)에 대한 기입·판독의 액세스를 제어한다. 액세스 관리 테이블(1406A)은, 인코드·디코드 엔진(1407), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403) 등으로 실행되는 처리에 따라서, 메모리 제어부(1406)에 의해 갱신된다.
인코드·디코드 엔진(1407)은, 화상 데이터의 인코드 처리, 및 화상 데이터가 부호화된 데이터인 비디오 스트림의 디코드 처리를 행한다. 예를 들어, 인코드·디코드 엔진(1407)은, 프레임 메모리(1405)로부터 판독한 화상 데이터를 부호화하고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 순차 기입한다. 또한, 예를 들어 비디오 ES 버퍼(1408B)로부터 비디오 스트림을 순차 판독하여 복호하고, 화상 데이터로서 프레임 메모리(1405)에 순차 기입한다. 인코드·디코드 엔진(1407)은, 이들 부호화나 복호에 있어서, 프레임 메모리(1405)를 작업 영역으로서 사용한다. 또한, 인코드·디코드 엔진(1407)은, 예를 들어 매크로 블록마다의 처리를 개시하는 타이밍에, 메모리 제어부(1406)에 대해서 동기 신호를 출력한다.
비디오 ES 버퍼(1408A)는, 인코드·디코드 엔진(1407)에 의해 생성된 비디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 비디오 ES 버퍼(1408B)는, 역다중화부(DMUX)(1413)로부터 공급된 비디오 스트림을 버퍼링하여, 인코드·디코드 엔진(1407)에 공급한다.
오디오 ES 버퍼(1409A)는, 오디오 인코더(1410)에 의해 생성된 오디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 오디오 ES 버퍼(1409B)는, 역다중화부(DMUX)(1413)로부터 공급된 오디오 스트림을 버퍼링하여, 오디오 디코더(1411)에 공급한다.
오디오 인코더(1410)는, 예를 들어 커넥티비티(1321) 등으로부터 입력된 오디오 신호를 예를 들어 디지털 변환하고, 예를 들어 MPEG 오디오 방식이나 AC3(AudioCode number 3) 방식 등의 소정의 방식으로 부호화한다. 오디오 인코더(1410)는, 오디오 신호가 부호화된 데이터인 오디오 스트림을 오디오 ES 버퍼(1409A)에 순차 기입한다. 오디오 디코더(1411)는, 오디오 ES 버퍼(1409B)로부터 공급된 오디오 스트림을 복호하고, 예를 들어 아날로그 신호로의 변환 등을 행하여, 재생된 오디오 신호로서 예를 들어 커넥티비티(1321) 등에 공급한다.
다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화한다. 이 다중화의 방법(즉, 다중화에 의해 생성되는 비트 스트림의 포맷)은 임의이다. 또한, 이 다중화 시에, 다중화부(MUX)(1412)는, 소정의 헤더 정보 등을 비트 스트림에 부가할 수도 있다. 즉, 다중화부(MUX)(1412)는, 다중화에 의해 스트림의 포맷을 변환할 수 있다. 예를 들어, 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림으로 변환한다. 또한, 예를 들어 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 기록용 파일 포맷의 데이터(파일 데이터)로 변환한다.
역다중화부(DMUX)(1413)는, 다중화부(MUX)(1412)에 의한 다중화에 대응하는 방법으로, 비디오 스트림과 오디오 스트림이 다중화된 비트 스트림을 역다중화한다. 즉, 역다중화부(DMUX)(1413)는, 스트림 버퍼(1414)로부터 판독된 비트 스트림으로부터 비디오 스트림과 오디오 스트림을 추출한다(비디오 스트림과 오디오 스트림을 분리함). 즉, 역다중화부(DMUX)(1413)는, 역다중화에 의해 스트림의 포맷을 변환(다중화부(MUX)(1412)에 의한 변환의 역변환)할 수 있다. 예를 들어, 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등으로부터 공급된 트랜스포트 스트림을, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다. 또한, 예를 들어 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)에 의해 각종 기록 매체로부터 판독된 파일 데이터를, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다.
스트림 버퍼(1414)는, 비트 스트림을 버퍼링한다. 예를 들어, 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 또는 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급한다.
또한, 예를 들어 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 파일 데이터를 버퍼링하고, 소정의 타이밍에 있어서, 또는 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321) 등에 공급하고, 각종 기록 매체에 기록시킨다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 취득한 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 또는 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독된 파일 데이터를 버퍼링하고, 소정의 타이밍에 있어서, 또는 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
다음으로, 이와 같은 구성의 비디오 프로세서(1332)의 동작예에 대하여 설명한다. 예를 들어, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 비디오 신호는, 비디오 입력 처리부(1401)에 있어서 4:2:2Y/Cb/Cr 방식 등의 소정의 방식의 디지털 화상 데이터로 변환되고, 프레임 메모리(1405)에 순차 기입된다. 이 디지털 화상 데이터는, 제1 화상 확대 축소부(1402) 또는 제2 화상 확대 축소부(1403)로 판독되어, 4:2:0Y/Cb/Cr 방식 등의 소정의 방식으로의 포맷 변환 및 확대 축소 처리가 행해지고, 다시 프레임 메모리(1405)에 기입된다. 이 화상 데이터는, 인코드·디코드 엔진(1407)에 의해 부호화되어, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 기입된다.
또한, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 오디오 신호는, 오디오 인코더(1410)에 의해 부호화되고, 오디오 스트림으로서, 오디오 ES 버퍼(1409A)에 기입된다.
비디오 ES 버퍼(1408A)의 비디오 스트림과, 오디오 ES 버퍼(1409A)의 오디오 스트림은, 다중화부(MUX)(1412)로 판독되어 다중화되고, 트랜스포트 스트림 또는 파일 데이터 등으로 변환된다. 다중화부(MUX)(1412)에 의해 생성된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로 출력된다. 또한, 다중화부(MUX)(1412)에 의해 생성된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321) 등으로 출력되어, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 비디오 프로세서(1332)에 입력된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 또한, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독되고, 비디오 프로세서(1332)에 입력된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 즉, 비디오 프로세서(1332)에 입력된 트랜스포트 스트림 또는 파일 데이터는, 역다중화부(DMUX)(1413)에 의해 비디오 스트림과 오디오 스트림으로 분리된다.
오디오 스트림은, 오디오 ES 버퍼(1409B)를 통해 오디오 디코더(1411)에 공급되고, 복호되어 오디오 신호가 재생된다. 또한, 비디오 스트림은, 비디오 ES 버퍼(1408B)에 기입된 후, 인코드·디코드 엔진(1407)에 의해 순차 판독되고 복호되어 프레임 메모리(1405)에 기입된다. 복호된 화상 데이터는, 제2 화상 확대 축소부(1403)에 의해 확대 축소 처리되어, 프레임 메모리(1405)에 기입된다. 그리고, 복호된 화상 데이터는, 비디오 출력 처리부(1404)로 판독되어, 4:2:2Y/Cb/Cr 방식 등의 소정의 방식으로 포맷 변환되고, 또한 아날로그 신호로 변환되어, 비디오 신호가 재생 출력된다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 인코드·디코드 엔진(1407)에, 상술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 인코드·디코드 엔진(1407)이, 상술한 화상 부호화 장치(400)의 기능 혹은 화상 복호 장치(100)의 기능 또는 그 양쪽을 갖도록 해도 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 인코드·디코드 엔진(1407)에 있어서, 본 기술(즉, 화상 부호화 장치(400)의 기능 혹은 화상 복호 장치(100)의 기능 또는 그 양쪽)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되고, 그들 양쪽에 의해 실현하도록 해도 된다.
<비디오 프로세서의 다른 구성예>
도 76은, 본 기술을 적용한 비디오 프로세서(1332)의 개략적인 구성의 다른 예를 나타내고 있다. 도 76의 예의 경우, 비디오 프로세서(1332)는, 비디오 데이터를 소정의 방식으로 부호화·복호하는 기능을 갖는다.
보다 구체적으로는, 도 76에 도시된 바와 같이, 비디오 프로세서(1332)는, 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 내부 메모리(1515)를 갖는다. 또한, 비디오 프로세서(1332)는, 코덱 엔진(1516), 메모리 인터페이스(1517), 다중화·역다중화부(MUX DMUX)(1518), 네트워크 인터페이스(1519), 및 비디오 인터페이스(1520)를 갖는다.
제어부(1511)는, 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516) 등, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어한다.
도 76에 도시된 바와 같이, 제어부(1511)는, 예를 들어 메인 CPU(1531), 서브 CPU(1532), 및 시스템 컨트롤러(1533)를 갖는다. 메인 CPU(1531)는, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어하기 위한 프로그램 등을 실행한다. 메인 CPU(1531)는, 그 프로그램 등에 따라 제어 신호를 생성하고, 각 처리부에 공급한다(즉, 각 처리부의 동작을 제어함). 서브 CPU(1532)는, 메인 CPU(1531)의 보조적인 역할을 한다. 예를 들어, 서브 CPU(1532)는, 메인 CPU(1531)가 실행하는 프로그램 등의 자(子) 프로세스나 서브루틴 등을 실행한다. 시스템 컨트롤러(1533)는, 메인 CPU(1531) 및 서브 CPU(1532)가 실행하는 프로그램을 지정하는 등, 메인 CPU(1531) 및 서브 CPU(1532)의 동작을 제어한다.
디스플레이 인터페이스(1512)는, 제어부(1511)의 제어하에 화상 데이터를 예를 들어 커넥티비티(1321) 등으로 출력한다. 예를 들어, 디스플레이 인터페이스(1512)는, 디지털 데이터의 화상 데이터를 아날로그 신호로 변환하고, 재생된 비디오 신호로서 또는 디지털 데이터의 화상 데이터인 채로, 커넥티비티(1321)의 모니터 장치 등으로 출력한다.
디스플레이 엔진(1513)은, 제어부(1511)의 제어하에 화상 데이터에 대해서, 그 화상을 표시시키는 모니터 장치 등의 하드웨어 스펙에 맞추도록 포맷 변환, 사이즈 변환, 색 영역 변환 등의 각종 변환 처리를 행한다.
화상 처리 엔진(1514)은, 제어부(1511)의 제어하에 화상 데이터에 대해서, 예를 들어 화질 개선을 위한 필터 처리 등, 소정의 화상 처리를 실시한다.
내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516)에 의해 공용되는, 비디오 프로세서(1332)의 내부에 마련된 메모리이다. 내부 메모리(1515)는, 예를 들어 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516)의 사이에서 행해지는 데이터의 수수에 이용된다. 예를 들어, 내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)으로부터 공급되는 데이터를 저장하고, 필요에 따라서(예를 들어, 요구에 따라서), 그 데이터를, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)에 공급한다. 이 내부 메모리(1515)는, 어떠한 기억 디바이스에 의해 실현하도록 해도 되지만, 일반적으로 블록 단위의 화상 데이터나 파라미터 등과 같은 소용량의 데이터의 저장에 이용하는 경우가 많으므로, 예를 들어 SRAM(Static Random Access Memory)과 같은 비교적(예를 들어 외부 메모리(1312)와 비교하여) 소용량이지만 응답 속도가 고속인 반도체 메모리에 의해 실현하는 것이 바람직하다.
코덱 엔진(1516)은, 화상 데이터의 부호화나 복호에 관한 처리를 행한다. 이 코덱 엔진(1516)이 대응하는 부호화·복호의 방식은 임의이며, 그 수는 하나여도 되고, 복수여도 된다. 예를 들어, 코덱 엔진(1516)은, 복수의 부호화·복호 방식의 코덱 기능을 구비하고, 그 중에서 선택됨으로써 화상 데이터의 부호화 또는 부호화 데이터의 복호를 행하도록 해도 된다.
도 76에 도시된 예에 있어서, 코덱 엔진(1516)은, 코덱에 관한 처리의 기능 블록으로서, 예를 들어 MPEG-2 Video(1541), AVC/H.264(1542), HEVC/H.265(1543), HEVC/H.265(Scalable)(1544), HEVC/H.265(Multi-view)(1545), 및 MPEG-DASH(1551)를 갖는다.
MPEG-2 Video(1541)는, 화상 데이터를 MPEG-2 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. AVC/H.264(1542)는, 화상 데이터를 AVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(1543)는, 화상 데이터를 HEVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(Scalable)(1544)는, 화상 데이터를 HEVC 방식으로 스케일러블 부호화하거나 스케일러블 복호하거나 하는 기능 블록이다. HEVC/H.265(Multi-view)(1545)는, 화상 데이터를 HEVC 방식으로 다시점 부호화하거나 다시점 복호하거나 하는 기능 블록이다.
MPEG-DASH(1551)는, 화상 데이터를 MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP) 방식으로 송수신하는 기능 블록이다. MPEG-DASH는, HTTP(HyperText Transfer Protocol)를 사용하여 비디오의 스트리밍을 행하는 기술이며, 미리 준비된 해상도 등이 서로 다른 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하여 전송하는 것을 특징의 하나로 한다. MPEG-DASH(1551)는, 규격에 준거하는 스트림의 생성이나 그 스트림의 전송 제어 등을 행하고, 화상 데이터의 부호화·복호에 대해서는, 상술한 MPEG-2 Video(1541) 내지 HEVC/H.265(Multi-view)(1545)를 이용한다.
메모리 인터페이스(1517)는, 외부 메모리(1312)용 인터페이스이다. 화상 처리 엔진(1514)이나 코덱 엔진(1516)으로부터 공급되는 데이터는, 메모리 인터페이스(1517)를 통해 외부 메모리(1312)에 공급된다. 또한, 외부 메모리(1312)로부터 판독된 데이터는, 메모리 인터페이스(1517)를 통해 비디오 프로세서(1332)(화상 처리 엔진(1514) 또는 코덱 엔진(1516))에 공급된다.
다중화·역다중화부(MUX DMUX)(1518)는, 부호화 데이터의 비트 스트림, 화상 데이터, 비디오 신호 등, 화상에 관한 각종 데이터의 다중화나 역다중화를 행한다. 이 다중화·역다중화의 방법은 임의이다. 예를 들어, 다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 복수의 데이터를 하나로 통합할 뿐만 아니라, 소정의 헤더 정보 등을 그 데이터에 부가할 수도 있다. 또한, 역다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 하나의 데이터를 복수로 분할할 뿐만 아니라, 분할한 각 데이터에 소정의 헤더 정보 등을 부가할 수도 있다. 즉, 다중화·역다중화부(MUX DMUX)(1518)는, 다중화·역다중화에 의해 데이터의 포맷을 변환할 수 있다. 예를 들어, 다중화·역다중화부(MUX DMUX)(1518)는, 비트 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림이나, 기록용 파일 포맷의 데이터(파일 데이터)로 변환할 수 있다. 물론, 역다중화에 의해 그 역변환도 가능하다.
네트워크 인터페이스(1519)는, 예를 들어 브로드밴드 모뎀(1333)이나 커넥티비티(1321) 등에 적합한 인터페이스이다. 비디오 인터페이스(1520)는, 예를 들어 커넥티비티(1321)나 카메라(1322) 등에 적합한 인터페이스이다.
다음으로, 이러한 비디오 프로세서(1332)의 동작예에 대하여 설명한다. 예를 들어, 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 트랜스포트 스트림을 수신하면, 그 트랜스포트 스트림은, 네트워크 인터페이스(1519)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 예를 들어 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되어, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되며, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되어, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 파일 데이터로 변환되고, 비디오 인터페이스(1520)를 통해 예를 들어 커넥티비티(1321) 등으로 출력되어, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321) 등에 의해 도시하지 않은 기록 매체로부터 판독된, 화상 데이터가 부호화된 부호화 데이터의 파일 데이터는, 비디오 인터페이스(1520)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되어, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되며, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되어, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 트랜스포트 스트림으로 변환되고, 네트워크 인터페이스(1519)를 통해 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급되어 도시하지 않은 다른 장치로 전송된다.
또한, 비디오 프로세서(1332) 내의 각 처리부의 사이에서의 화상 데이터나 기타의 데이터의 수수는, 예를 들어 내부 메모리(1515)나 외부 메모리(1312)를 이용하여 행해진다. 또한, 파워 매니지먼트 모듈(1313)은, 예를 들어 제어부(1511)로의 전력 공급을 제어한다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 코덱 엔진(1516)에, 상술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 코덱 엔진(1516)이, 상술한 화상 부호화 장치(400)의 기능 혹은 화상 복호 장치(100)의 기능 또는 그 양쪽을 갖게 하면 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 코덱 엔진(1516)에 있어서, 본 기술(즉, 화상 부호화 장치(400)의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
이상으로 비디오 프로세서(1332)의 구성을 2개 예시하였지만, 비디오 프로세서(1332)의 구성은 임의이며, 상술한 2개의 예 이외의 것이어도 된다. 또한, 이 비디오 프로세서(1332)는, 하나의 반도체 칩으로서 구성되도록 해도 되지만, 복수의 반도체 칩으로서 구성되도록 해도 된다. 예를 들어, 복수의 반도체를 적층하는 3차원 적층 LSI로 해도 된다. 또한, 복수의 LSI에 의해 실현되도록 해도 된다.
<장치에 대한 적용예>
비디오 세트(1300)는, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 세트(1300)는, 텔레비전 장치(900)(도 70), 휴대 전화기(920)(도 71), 기록 재생 장치(940)(도 72), 촬상 장치(960)(도 73) 등에 내장할 수 있다. 비디오 세트(1300)를 내장함으로써, 그 장치는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 상술한 비디오 세트(1300)의 각 구성의 일부라도, 비디오 프로세서(1332)를 포함하는 것이면, 본 기술을 적용한 구성으로서 실시할 수 있다. 예를 들어, 비디오 프로세서(1332)만을 본 기술을 적용한 비디오 프로세서로서 실시할 수 있다. 또한, 예를 들어 상술한 바와 같이 점선(1341)에 의해 나타내어지는 프로세서나 비디오 모듈(1311) 등을, 본 기술을 적용한 프로세서나 모듈 등으로서 실시할 수 있다. 또한, 예를 들어 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314)을 조합하여, 본 기술을 적용한 비디오 유닛(1361)으로서 실시할 수도 있다. 어느 구성의 경우라도, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
즉, 비디오 프로세서(1332)를 포함하는 것이면 어떠한 구성이라도, 비디오 세트(1300)의 경우와 마찬가지로, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 프로세서(1332), 점선(1341)에 의해 나타내어지는 프로세서, 비디오 모듈(1311), 또는 비디오 유닛(1361)을, 텔레비전 장치(900)(도 70), 휴대 전화기(920)(도 71), 기록 재생 장치(940)(도 72), 촬상 장치(960)(도 73) 등에 내장할 수 있다. 그리고, 본 기술을 적용한 어느 구성을 내장함으로써, 그 장치는, 비디오 세트(1300)의 경우와 마찬가지로, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제6 응용예: 네트워크 시스템>
또한, 본 기술은, 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수 있다. 도 77은, 본 기술을 적용한 네트워크 시스템의 개략적인 구성의 일례를 나타내고 있다.
도 77에 도시된 네트워크 시스템(1600)은, 기기끼리 네트워크를 통해 화상(동화상)에 관한 정보를 수수하는 시스템이다. 이 네트워크 시스템(1600)의 클라우드 서비스(1601)는, 자신에게 통신 가능하게 접속되는 컴퓨터(1611), AV(Audio Visual) 기기(1612), 휴대형 정보 처리 단말기(1613), IoT(Internet of Things) 디바이스(1614) 등의 단말기에 대해서, 화상(동화상)에 관한 서비스를 제공하는 시스템이다. 예를 들어, 클라우드 서비스(1601)는, 소위 동화상 배신(온 디맨드나 라이브 배신)과 같은, 화상(동화상)의 콘텐츠의 공급 서비스를 단말기에 제공한다. 또한, 예를 들어 클라우드 서비스(1601)는, 단말기로부터 화상(동화상)의 콘텐츠를 수취하여 보관하는 백업 서비스를 제공한다. 또한, 예를 들어 클라우드 서비스(1601)는, 단말기끼리의 화상(동화상)의 콘텐츠의 수수를 중개하는 서비스를 제공한다.
클라우드 서비스(1601)의 물리 구성은 임의이다. 예를 들어, 클라우드 서비스(1601)는, 동화상을 보존하고, 관리하는 서버, 동화상을 단말기에 배신하는 서버, 동화상을 단말기로부터 취득하는 서버, 유저(단말기)나 과금을 관리하는 서버 등의 각종 서버나, 인터넷이나 LAN 등의 임의의 네트워크를 갖도록 해도 된다.
컴퓨터(1611)는, 예를 들어 퍼스널 컴퓨터, 서버, 워크스테이션 등과 같은 정보 처리 장치에 의해 구성된다. AV 기기(1612)는, 예를 들어 텔레비전 수상기, 하드디스크 리코더, 게임 기기, 카메라 등과 같은 화상 처리 장치에 의해 구성된다. 휴대형 정보 처리 단말기(1613)는, 예를 들어 노트북형 퍼스널 컴퓨터, 태블릿 단말기, 휴대 전화기, 스마트폰 등과 같은 휴대형 정보 처리 장치에 의해 구성된다. IoT 디바이스(1614)는, 예를 들어 기계, 가전, 가구, 그 밖의 물품, IC 태그, 카드형 디바이스 등, 화상에 관한 처리를 행하는 임의의 물체에 의해 구성된다. 이들 단말기는, 모두 통신 기능을 갖고, 클라우드 서비스(1601)에 접속하며(세션을 확립하며), 클라우드 서비스(1601)와 정보의 수수를 행할(즉 통신을 행할) 수 있다. 또한, 각 단말기는, 다른 단말기와 통신을 행할 수도 있다. 단말기 간의 통신은, 클라우드 서비스(1601)를 통해 행하도록 해도 되고, 클라우드 서비스(1601)를 통하지 않고 행하도록 해도 된다.
이상과 같은 네트워크 시스템(1600)에 본 기술을 적용하여, 단말기 간이나, 단말기와 클라우드 서비스(1601)의 사이에서 화상(동화상)의 데이터가 수수될 때, 그 화상 데이터를 각 실시 형태에 있어서 상술한 바와 같이 부호화·복호하도록 해도 된다. 즉, 단말기(컴퓨터(1611) 내지 IoT 디바이스(1614))나 클라우드 서비스(1601)가 각각, 상술한 화상 부호화 장치(400)나 화상 복호 장치(100)의 기능을 갖도록 해도 된다. 이와 같이 함으로써, 화상 데이터를 수수하는 단말기(컴퓨터(1611) 내지 IoT 디바이스(1614))나 클라우드 서비스(1601)는, 도 1 내지 도 68을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<보충 설명>
또한, 본 명세서에 있어서 「플래그」란, 복수의 상태를 식별하기 위한 정보이며, 참(1) 또는 거짓(0)의 2 상태를 식별할 때 이용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「플래그」가 취할 수 있는 값은, 예를 들어 1/0의 2치여도 되고, 3치 이상이어도 된다. 즉, 이 「플래그」를 구성하는 bit수는 임의이며, 1bit여도 복수 bit여도 된다. 또한, 식별 정보(플래그도 포함함)는, 그 식별 정보를 비트 스트림에 포함하는 형태뿐만 아니라, 어떤 기준이 되는 정보에 대한 식별 정보의 차분 정보를 비트 스트림에 포함하는 형태도 상정되기 때문에, 본 명세서에 있어서는, 「플래그」나 「식별 정보」는, 그 정보뿐만 아니라, 기준으로 되는 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떠한 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」라는 용어는, 예를 들어 한쪽 데이터를 처리할 때 다른 쪽 데이터를 이용할 수 있도록(링크시킬 수 있도록) 함을 의미한다. 즉, 서로 관련지어진 데이터는, 하나의 데이터로서 통합되어도 되고, 각각 개별의 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은, 데이터 전체가 아니라, 데이터의 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 본 명세서에 있어서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함한다」, 「저장한다」, 「집어넣는다」, 「끼워넣는다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 하나의 데이터로 통합한다고 하는, 복수의 물품을 하나로 통합함을 의미하고, 상술한 「관련짓는다」라는 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
또한, 예를 들어 본 기술은, 장치 또는 시스템을 구성하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 추가로 그 밖의 기능을 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 중에 있는지 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통해 접속되어 있는 복수의 장치, 및 하나의 하우징 중에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두, 시스템이다.
또한, 예를 들어 하나의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 하나의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 된다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
또한, 예를 들어 본 기술은, 하나의 기능을, 네트워크를 통해 복수의 장치로 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행할 수 있다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 상술한 흐름도로 설명한 각 스텝은, 하나의 장치로 실행하는 것 외에, 복수의 장치로 분담하여 실행할 수 있다. 또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치로 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다. 다시 말해서, 하나의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로서 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 하나의 스텝으로서 통합하여 실행할 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라서 시계열로 실행되도록 해도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별로 실행되도록 해도 된다. 즉, 모순이 발생하지 않는 한, 각 스텝의 처리가 상술한 순서와 상이한 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합해서 실행되도록 해도 된다.
또한, 본 명세서에 있어서 복수 설명한 본 기술은, 모순이 발생하지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용하여 실시할 수도 있다. 예를 들어, 어느 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부와 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하지 않은 다른 기술과 병용하여 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는 역직교 변환부
를 구비하는 화상 처리 장치.
(2) 상기 역직교 변환에 관한 정보는, 처리 대상의 변환 블록에 있어서, 복수의 서로 다른 역직교 변환 중 어느 것을 적응적으로 선택하여 역 프라이머리 변환으로서 사용하는 적응 역 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그를 포함하는, 상기 (1)에 기재된 화상 처리 장치.
(3) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는, 상기 (2)에 기재된 화상 처리 장치.
(4) 상기 역직교 변환에 관한 정보는, 수직 방향 및 수평 방향의 역 프라이머리 변환에 어느 역 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자를 포함하는, 상기 (3)에 기재된 화상 처리 장치.
(5) 색차의 상기 프라이머리 변환 식별자의 값은, 색차의 상기 적응 프라이머리 변환 플래그가 참인 경우, 휘도의 상기 프라이머리 변환 식별자의 값으로 세트되고, 색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우, 소정값으로 세트되는, 상기 (4)에 기재된 화상 처리 장치.
(6) 상기 역직교 변환부는, 상기 역직교 변환으로서, 역 프라이머리 변환을 행하는, 상기 (5)에 기재된 화상 처리 장치.
(7) 상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 상기 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 상기 역 프라이머리 변환인 역 프라이머리 수직 변환을 행하는, 상기 (6)에 기재된 화상 처리 장치.
(8) 색차의 상기 역 프라이머리 수평 변환의 변환 타입, 및 색차의 상기 역 프라이머리 수직 변환의 변환 타입은, 각각, 색차의 상기 적응 프라이머리 변환 플래그의 값에 따른 방법으로 도출되는, 상기 (7)에 기재된 화상 처리 장치.
(9) 상기 색차의 상기 적응 프라이머리 변환 플래그가 참인 경우,
예측 모드 정보에 기초하여, 역 프라이머리 수평 변환의 변환 세트와 역 프라이머리 수직 변환의 변환 세트가 선택되고,
상기 색차의 프라이머리 변환 식별자로부터 프라이머리 수평 변환 지정 플래그와 프라이머리 수직 변환 플래그가 도출되고,
상기 프라이머리 수평 변환 세트와 상기 프라이머리 수평 변환 지정 플래그에 기초하여, 색차의 상기 역 프라이머리 수평 변환의 변환 타입이 선택되고,
상기 프라이머리 수직 변환 세트와 상기 프라이머리 수직 변환 지정 플래그에 기초하여, 색차의 상기 역 프라이머리 수직 변환의 변환 타입이 선택되는, 상기 (8)에 기재된 화상 처리 장치.
(10) 상기 색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우,
색차의 상기 역 프라이머리 수평 변환의 변환 타입으로서 소정의 변환 타입이 선택되고,
색차의 상기 역 프라이머리 수직 변환의 변환 타입으로서 소정의 변환 타입이 선택되는, 상기 (8) 또는 (9)에 기재된 화상 처리 장치.
(11) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 거짓으로 세트되는, 상기 (2) 내지 (10) 중 어느 한 항에 기재된 화상 처리 장치.
(12) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 거짓으로 세트되는, 상기 (2) 내지 (11) 중 어느 한 항에 기재된 화상 처리 장치.
(13) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 거짓으로 세트되는, 상기 (2) 내지 (12) 중 어느 한 항에 기재된 화상 처리 장치.
(14) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 상기 적응 프라이머리 변환 플래그를 휘도의 상기 적응 프라이머리 변환 플래그에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그가 참인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 색차 적응 프라이머리 변환 정보 추정 플래그가 거짓인 경우, 거짓으로 세트되는, 상기 (2) 내지 (13) 중 어느 한 항에 기재된 화상 처리 장치.
(15) 상기 색차 적응 프라이머리 변환 정보 추정 플래그는, 처리 대상 컴포넌트가 색차이며, 휘도의 상기 적응 프라이머리 변환 플래그가 참이며, 변환 양자화 바이패스 플래그가 거짓이며, 또한, 변환 스킵 플래그가 거짓인 경우, 비트 스트림으로부터 복호되고, 그 밖의 경우, 값이 거짓으로 세트되는, 상기 (14)에 기재된 화상 처리 장치.
(16) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 변환 블록의 짧은 변의 사이즈가 상기 임계값 미만인 경우, 거짓으로 세트되는, 상기 (2) 내지 (15) 중 어느 한 항에 기재된 화상 처리 장치.
(17) 상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 역 프라이머리 변환인 역 프라이머리 수직 변환을 행하도록 구성되고,
상기 역 프라이머리 수평 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값 이하인 경우, 소정의 변환 타입으로 세트되고, 상기 변환 블록의 가로 폭의 사이즈가 상기 임계값보다도 큰 경우, 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트되고,
상기 역 프라이머리 수직 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값 이하인 경우, 소정의 변환 타입으로 세트되고, 상기 변환 블록의 세로 폭의 사이즈가 상기 임계값보다도 큰 경우, 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트되는, 상기 (1) 내지 (16) 중 어느 한 항에 기재된 화상 처리 장치.
(18) 상기 역직교 변환에 관한 정보는, 역직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그를 포함하는, 상기 (1) 내지 (17) 중 어느 한 항에 기재된 화상 처리 장치.
(19) 색차의 상기 변환 스킵 플래그의 값은, 휘도의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (18)에 기재된 화상 처리 장치.
(20) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (18) 또는 (19)에 기재된 화상 처리 장치.
(21) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (18) 내지 (20) 중 어느 한 항에 기재된 화상 처리 장치.
(22) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (18) 내지 (21) 중 어느 한 항에 기재된 화상 처리 장치.
(23) 색차의 상기 변환 스킵 플래그의 값은, 색차의 상기 변환 스킵 플래그를 휘도의 상기 변환 스킵 플래그에 기초하여 추정할지를 나타내는 색차 변환 스킵 정보 추정 플래그가 참인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 색차 변환 스킵 정보 추정 플래그가 거짓인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (18) 내지 (22) 중 어느 한 항에 기재된 화상 처리 장치.
(24) 상기 역직교 변환에 관한 정보는, 어느 역 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자를 포함하는, 상기 (1) 내지 (23) 중 어느 한 항에 기재된 화상 처리 장치.
(25) 색차의 상기 세컨더리 변환 식별자의 값은, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (24)에 기재된 화상 처리 장치.
(26) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (24) 또는 (25)에 기재된 화상 처리 장치.
(27) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (24) 내지 (26) 중 어느 한 항에 기재된 화상 처리 장치.
(28) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (24) 내지 (27) 중 어느 한 항에 기재된 화상 처리 장치.
(29) 색차의 상기 세컨더리 변환 식별자의 값은, 색차의 상기 세컨더리 변환 식별자를 휘도의 상기 세컨더리 변환 식별자에 기초하여 추정할지를 나타내는 색차 세컨더리 변환 식별 정보 추정 플래그가 참인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 색차 세컨더리 변환 식별 정보 추정 플래그가 거짓인 경우, 비트 스트림이 복호되어 얻어지는 색차의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (24) 내지 (28) 중 어느 한 항에 기재된 화상 처리 장치.
(30) 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는 화상 처리 방법.
(31) 휘도의 직교 변환에 관한 정보에 기초하여 도출된 색차의 직교 변환에 관한 정보를 이용하여, 색차의 상기 직교 변환을 행하는 직교 변환부
를 구비하는 화상 처리 장치.
(32) 상기 직교 변환에 관한 정보는, 처리 대상의 변환 블록에 있어서, 복수의 서로 다른 직교 변환 중에서 어느 것을 적응적으로 선택하여 프라이머리 변환으로서 사용하는 적응 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그를 포함하는, 상기 (31)에 기재된 화상 처리 장치.
(33) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는, 상기 (32)에 기재된 화상 처리 장치.
(34) 상기 직교 변환에 관한 정보는, 수직 방향 및 수평 방향의 프라이머리 변환에 어느 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자를 포함하는, 상기 (33)에 기재된 화상 처리 장치.
(35) 색차의 상기 프라이머리 변환 식별자의 값은, 색차의 상기 적응 프라이머리 변환 플래그가 참인 경우, 휘도의 상기 프라이머리 변환 식별자의 값으로 세트되고, 색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우, 소정값으로 세트되는, 상기 (34)에 기재된 화상 처리 장치.
(36) 상기 직교 변환부는, 상기 직교 변환으로서, 프라이머리 변환을 행하는, 상기 (35)에 기재된 화상 처리 장치.
(37) 상기 직교 변환부는, 상기 직교 변환으로서, 수평 방향의 상기 프라이머리 변환인 프라이머리 수평 변환과, 수직 방향의 상기 프라이머리 변환인 프라이머리 수직 변환을 행하는, 상기 (36)에 기재된 화상 처리 장치.
(38) 색차의 상기 프라이머리 수평 변환의 변환 타입, 및 색차의 상기 프라이머리 수직 변환의 변환 타입은, 각각, 색차의 상기 적응 프라이머리 변환 플래그의 값에 따른 방법으로 도출되는, 상기 (37)에 기재된 화상 처리 장치.
(39) 상기 색차의 상기 적응 프라이머리 변환 플래그가 참인 경우,
예측 모드 정보에 기초하여, 프라이머리 수평 변환의 변환 세트와 프라이머리 수직 변환의 변환 세트가 선택되고,
상기 색차의 프라이머리 변환 식별자로부터 프라이머리 수평 변환 지정 플래그와 프라이머리 수직 변환 플래그가 도출되고,
상기 프라이머리 수평 변환 세트와 상기 프라이머리 수평 변환 지정 플래그에 기초하여, 색차의 상기 프라이머리 수평 변환의 변환 타입이 선택되고,
상기 프라이머리 수직 변환 세트와 상기 프라이머리 수직 변환 지정 플래그에 기초하여, 색차의 상기 프라이머리 수직 변환의 변환 타입이 선택되는, 상기 (38)에 기재된 화상 처리 장치.
(40) 상기 색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우,
색차의 상기 프라이머리 수평 변환의 변환 타입으로서 소정의 변환 타입이 선택되고,
색차의 상기 프라이머리 수직 변환의 변환 타입으로서 소정의 변환 타입이 선택되는, 상기 (38) 또는 (39)에 기재된 화상 처리 장치.
(41) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 거짓으로 세트되는, 상기 (32) 내지 (40) 중 어느 한 항에 기재된 화상 처리 장치.
(42) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 거짓으로 세트되는, 상기 (32) 내지 (41) 중 어느 한 항에 기재된 화상 처리 장치.
(43) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 거짓으로 세트되는, 상기 (32) 내지 (42) 중 어느 한 항에 기재된 화상 처리 장치.
(44) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 상기 적응 프라이머리 변환 플래그를 휘도의 상기 적응 프라이머리 변환 플래그에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그가 참인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 색차 적응 프라이머리 변환 정보 추정 플래그가 거짓인 경우, 거짓으로 세트되는, 상기 (32) 내지 (43) 중 어느 한 항에 기재된 화상 처리 장치.
(45) 처리 대상 컴포넌트가 색차이며, 휘도의 상기 적응 프라이머리 변환 플래그가 참이며, 변환 양자화 바이패스 플래그가 거짓이며, 또한, 변환 스킵 플래그가 거짓인 경우, 상기 색차 적응 프라이머리 변환 정보 추정 플래그는 부호화되는, 상기 (44)에 기재된 화상 처리 장치.
(46) 색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되고, 상기 변환 블록의 짧은 변의 사이즈가 상기 임계값 미만인 경우, 거짓으로 세트되는, 상기 (32) 내지 (45) 중 어느 한 항에 기재된 화상 처리 장치.
(47) 상기 직교 변환부는, 상기 직교 변환으로서, 수평 방향의 프라이머리 변환인 프라이머리 수평 변환과, 수직 방향의 프라이머리 변환인 프라이머리 수직 변환을 행하도록 구성되고,
상기 프라이머리 수평 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값 이하인 경우, 소정의 변환 타입으로 세트되고, 상기 변환 블록의 가로 폭의 사이즈가 상기 임계값보다도 큰 경우, 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트되고,
상기 프라이머리 수직 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값 이하인 경우, 소정의 변환 타입으로 세트되고, 상기 변환 블록의 세로 폭의 사이즈가 상기 임계값보다도 큰 경우, 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트되는, 상기 (31) 내지 (46) 중 어느 한 항에 기재된 화상 처리 장치.
(48) 상기 직교 변환에 관한 정보는, 직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그를 포함하는, 상기 (31) 내지 (47) 중 어느 한 항에 기재된 화상 처리 장치.
(49) 색차의 상기 변환 스킵 플래그의 값은, 휘도의 상기 변환 스킵 플래그의 값으로 세트되는, 상기 (48)에 기재된 화상 처리 장치.
(50) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (48) 또는 (49)에 기재된 화상 처리 장치.
(51) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (48) 내지 (50) 중 어느 한 항에 기재된 화상 처리 장치.
(52) 색차의 상기 변환 스킵 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (48) 내지 (51) 중 어느 한 항에 기재된 화상 처리 장치.
(53) 색차의 상기 변환 스킵 플래그의 값은, 색차의 상기 변환 스킵 플래그를 휘도의 상기 변환 스킵 플래그에 기초하여 추정할지를 나타내는 색차 변환 스킵 정보 추정 플래그가 참인 경우, 휘도의 상기 변환 스킵 플래그의 값으로 세트되고, 상기 색차 변환 스킵 정보 추정 플래그가 거짓인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (48) 내지 (52) 중 어느 한 항에 기재된 화상 처리 장치.
(54) 상기 직교 변환에 관한 정보는, 어느 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자를 포함하는, 상기 (31) 내지 (53) 중 어느 한 항에 기재된 화상 처리 장치.
(55) 색차의 상기 세컨더리 변환 식별자의 값은, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되는, 상기 (54)에 기재된 화상 처리 장치.
(56) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (54) 또는 (55)에 기재된 화상 처리 장치.
(57) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 휘도와 색차에서 예측 모드가 일치하지 않는 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (54) 내지 (56) 중 어느 한 항에 기재된 화상 처리 장치.
(58) 색차의 상기 세컨더리 변환 식별자의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 부호화 블록의 예측 타입이, 예측 모드가 인트라 블록 카피가 아닌 인트라 예측인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (54) 내지 (57) 중 어느 한 항에 기재된 화상 처리 장치.
(59) 색차의 상기 세컨더리 변환 식별자의 값은, 색차의 상기 세컨더리 변환 식별자를 휘도의 상기 세컨더리 변환 식별자에 기초하여 추정할지를 나타내는 색차 세컨더리 변환 식별 정보 추정 플래그가 참인 경우, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되고, 상기 색차 세컨더리 변환 식별 정보 추정 플래그가 거짓인 경우, 임의의 값으로 세트되며, 또한, 부호화되는, 상기 (54) 내지 (58) 중 어느 한 항에 기재된 화상 처리 장치.
(60) 휘도의 변환에 관한 정보에 기초하여 도출된 색차의 직교 변환에 관한 정보를 이용하여, 색차의 상기 직교 변환을 행하는, 화상 처리 방법.
100: 화상 복호 장치
111: 복호부
112: 역양자화부
113: 역변환부
114: 연산부
115: 프레임 메모리
116: 예측부
121: 스위치
122: 역 세컨더리 변환부
123: 역 프라이머리 변환부
131: 색차 적응 프라이머리 변환 정보 도출부
132: 역 프라이머리 변환 선택부
133: 역 프라이머리 수직 변환부
134: 역 프라이머리 수평 변환부
151: apt_flag 도출부
152: pt_idx 도출부
400: 화상 부호화 장치
411: 제어부
412: 연산부
413: 변환부
414: 양자화부
415: 부호화부
416: 역양자화부
417: 역변환부
418: 연산부
419: 프레임 메모리
420: 예측부
431: 스위치
432: 프라이머리 변환부
433: 세컨더리 변환부
441: 색차 적응 프라이머리 변환 정보 도출부
442: 프라이머리 변환 선택부
443: 프라이머리 수평 변환부
444: 프라이머리 수직 변환부
451: apt_flag 도출부
452: pt_idx 도출부

Claims (20)

  1. 휘도의 역직교 변환에 관한 정보에 기초하여 도출된 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는 역직교 변환부
    를 구비하고,
    상기 역직교 변환에 관한 정보는,
    복수의 서로 다른 역직교 변환 중에서 어느 것을 적응적으로 선택하여 역 프라이머리 변환으로서 사용하는 적응 역 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그와,
    수직 방향 및 수평 방향의 역 프라이머리 변환에 어느 역 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자를 포함하고,
    색차의 상기 적응 프라이머리 변환 플래그의 값에는, 휘도의 상기 적응 프라이머리 변환 플래그의 값이 세트되고,
    색차의 상기 적응 프라이머리 변환 플래그가 참인 경우, 색차의 상기 프라이머리 변환 식별자의 값에는, 휘도의 상기 프라이머리 변환 식별자의 값이 세트되는 화상 처리 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그가 거짓인 경우, 색차의 상기 프라이머리 변환 식별자의 값에는, 소정값이 세트되는 화상 처리 장치.
  6. 제1항에 있어서,
    상기 역직교 변환부는, 상기 역직교 변환으로서, 역 프라이머리 변환을 행하는 화상 처리 장치.
  7. 제6항에 있어서,
    상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 상기 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 상기 역 프라이머리 변환인 역 프라이머리 수직 변환을 행하는 화상 처리 장치.
  8. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는 화상 처리 장치.
  9. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 예측 모드가 인트라 블록 카피의 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는 화상 처리 장치.
  10. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그의 값은, 처리 대상의 변환 블록이 속하는 부호화 블록의 예측 타입이 인터 예측이거나, 또는 휘도와 색차에서 예측 모드가 일치하는 인트라 예측인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는 화상 처리 장치.
  11. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 상기 적응 프라이머리 변환 플래그를 휘도의 상기 적응 프라이머리 변환 플래그에 기초하여 추정할지를 나타내는 색차 적응 프라이머리 변환 정보 추정 플래그가 참인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는 화상 처리 장치.
  12. 제1항에 있어서,
    색차의 상기 적응 프라이머리 변환 플래그의 값은, 색차의 처리 대상인 변환 블록의 짧은 변의 사이즈가 소정의 임계값 이상인 경우, 휘도의 상기 적응 프라이머리 변환 플래그의 값으로 세트되는, 화상 처리 장치.
  13. 제1항에 있어서,
    상기 역직교 변환부는, 상기 역직교 변환으로서, 수평 방향의 역 프라이머리 변환인 역 프라이머리 수평 변환과, 수직 방향의 역 프라이머리 변환인 역 프라이머리 수직 변환을 행하도록 구성되고,
    상기 역 프라이머리 수평 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 가로 폭의 사이즈가 소정의 임계값보다도 큰 경우, 수평 변환 세트 및 프라이머리 수평 변환 지정 플래그에 기초하여 세트되고,
    상기 역 프라이머리 수직 변환의 변환 타입은, 색차의 처리 대상인 변환 블록의 세로 폭의 사이즈가 소정의 임계값보다도 큰 경우, 수직 변환 세트 및 프라이머리 수직 변환 지정 플래그에 기초하여 세트되는 화상 처리 장치.
  14. 제1항에 있어서,
    상기 역직교 변환에 관한 정보는, 역직교 변환 처리를 스킵할지를 나타내는 변환 스킵 플래그를 포함하는, 화상 처리 장치.
  15. 제14항에 있어서,
    색차의 상기 변환 스킵 플래그의 값은, 휘도의 상기 변환 스킵 플래그의 값으로 세트되는, 화상 처리 장치.
  16. 제1항에 있어서,
    상기 역직교 변환에 관한 정보는, 어느 역 세컨더리 변환을 적용할지를 나타내는 세컨더리 변환 식별자를 포함하는, 화상 처리 장치.
  17. 제16항에 있어서,
    색차의 상기 세컨더리 변환 식별자의 값은, 휘도의 상기 세컨더리 변환 식별자의 값으로 세트되는 화상 처리 장치.
  18. 색차의, 복수의 서로 다른 역직교 변환 중에서 어느 것을 적응적으로 선택하여 역 프라이머리 변환으로서 사용하는 적응 역 프라이머리 변환을 적용할지를 나타내는 적응 프라이머리 변환 플래그의 값에, 휘도의 상기 적응 프라이머리 변환 플래그의 값을 세트하고,
    색차의 상기 적응 프라이머리 변환 플래그가 참인 경우, 색차의 수직 방향 및 수평 방향의 역 프라이머리 변환에 어느 역 프라이머리 변환을 적용할지를 나타내는 프라이머리 변환 식별자의 값에, 휘도의 상기 프라이머리 변환 식별자의 값을 세트하고,
    색차의 상기 적응 프라이머리 변환 플래그 및 색차의 상기 프라이머리 변환 식별자를 포함하는 색차의 역직교 변환에 관한 정보를 이용하여, 색차의 상기 역직교 변환을 행하는
    화상 처리 방법.
  19. 삭제
  20. 삭제
KR1020197017452A 2016-12-28 2017-12-15 화상 처리 장치 및 방법 KR102476148B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-256732 2016-12-28
JP2016256732 2016-12-28
PCT/JP2017/045042 WO2018123644A1 (ja) 2016-12-28 2017-12-15 画像処理装置および方法

Publications (2)

Publication Number Publication Date
KR20190099410A KR20190099410A (ko) 2019-08-27
KR102476148B1 true KR102476148B1 (ko) 2022-12-12

Family

ID=62708047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197017452A KR102476148B1 (ko) 2016-12-28 2017-12-15 화상 처리 장치 및 방법

Country Status (10)

Country Link
US (2) US20210243475A1 (ko)
EP (2) EP4395313A1 (ko)
JP (1) JP7067487B2 (ko)
KR (1) KR102476148B1 (ko)
CN (1) CN110100438B (ko)
AU (1) AU2017387752B2 (ko)
BR (1) BR112019012707A2 (ko)
CA (1) CA3041856A1 (ko)
RU (1) RU2759052C2 (ko)
WO (1) WO2018123644A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019017066A (ja) * 2017-07-03 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
CN115190296A (zh) * 2017-12-28 2022-10-14 松下电器(美国)知识产权公司 编码装置、解码装置和存储介质
KR102636267B1 (ko) 2018-08-16 2024-02-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변형 행렬 선택의 계수에 따른 코딩
KR102534160B1 (ko) * 2018-09-02 2023-05-26 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
CN118301348A (zh) 2018-10-05 2024-07-05 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
KR20230165360A (ko) * 2018-10-05 2023-12-05 엘지전자 주식회사 변환 계수 코딩 방법 및 그 장치
WO2020114291A1 (en) * 2018-12-04 2020-06-11 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding method
WO2020130569A1 (ko) 2018-12-20 2020-06-25 주식회사 엘지화학 디엔계 고무 라텍스, 이의 제조방법 및 이를 포함하는 코어-쉘 구조의 그라프트 공중합체
CN113711591B (zh) * 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 用于色度残差的联合编解码的语法元素的信令
KR20210154157A (ko) * 2019-04-23 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링
WO2020239119A1 (en) 2019-05-30 2020-12-03 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering for chroma components
AU2019232801A1 (en) * 2019-09-17 2021-04-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a block of video samples
CN114982232A (zh) * 2019-12-26 2022-08-30 日本放送协会 编码装置、解码装置和程序
EP4082194A1 (en) * 2019-12-27 2022-11-02 Interdigital VC Holdings France Transform coding for inter-predicted video data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2288166B1 (en) * 1997-06-09 2015-08-05 Hitachi, Ltd. Image decoding method
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
EP2508000A1 (en) * 2009-12-04 2012-10-10 Thomson Licensing Methods and apparatus for improved chroma transforms for inter frames in video encoding and decoding
JP2011259205A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
JP5741076B2 (ja) * 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
JP5707261B2 (ja) * 2011-07-12 2015-04-22 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
KR101738289B1 (ko) * 2011-10-17 2017-05-19 가부시끼가이샤 도시바 복호 장치 및 복호 방법
RU2719340C2 (ru) * 2011-10-18 2020-04-17 Кт Корпорейшен Способ декодирования видеосигнала
PL3197162T3 (pl) * 2011-12-15 2020-11-16 Tagivan Ii Llc Sygnalizowanie znaczników zakodowanych bloków (CBF) jasności-barwy w kodowaniu wideo
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
US20150016516A1 (en) * 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
AU2014202921B2 (en) * 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
EP3222044A1 (en) * 2014-11-21 2017-09-27 VID SCALE, Inc. One-dimensional transform modes and coefficient scan order
CN112584139A (zh) * 2014-11-27 2021-03-30 株式会社Kt 对视频信号进行解码或编码的方法
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
JP6632638B2 (ja) * 2015-06-23 2020-01-22 テレフオンアクチーボラゲット エルエム エリクソン(パブル) トランスコーディングのための方法および構成
KR102267922B1 (ko) * 2015-09-23 2021-06-22 노키아 테크놀로지스 오와이 360도 파노라마 비디오를 코딩하는 방법, 장치 및 컴퓨터 프로그램 제품
US10567759B2 (en) 2016-03-21 2020-02-18 Qualcomm Incorporated Using luma information for chroma prediction with separate luma-chroma framework in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523175A (ja) * 2011-06-27 2014-09-08 ブリティッシュ・ブロードキャスティング・コーポレーション 変換を用いたビデオの符号化および復号

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jianlge Chen, et al. Algorithm Description of Joint Exploration Test Model 4, Joint Video exploration Team(JVET), JVET-D1001_v3, 2016-11-19, pp. 1-36*
Kiho Choi, et al. Adaptive Muliple Transform for Chroma, Joint Video exploration Team(JVET), JVET-B0033_v2, 2016-02-21, pp. 1-6*

Also Published As

Publication number Publication date
CA3041856A1 (en) 2018-07-05
KR20190099410A (ko) 2019-08-27
EP3565249A4 (en) 2019-12-18
RU2019119077A3 (ko) 2021-04-05
US11997316B2 (en) 2024-05-28
RU2019119077A (ru) 2020-12-21
RU2759052C2 (ru) 2021-11-09
EP3565249A1 (en) 2019-11-06
EP4395313A1 (en) 2024-07-03
CN110100438B (zh) 2022-04-15
AU2017387752A1 (en) 2019-07-11
JPWO2018123644A1 (ja) 2019-11-21
WO2018123644A1 (ja) 2018-07-05
BR112019012707A2 (pt) 2019-11-19
JP7067487B2 (ja) 2022-05-16
AU2017387752B2 (en) 2022-08-25
CN110100438A (zh) 2019-08-06
US20210243475A1 (en) 2021-08-05
US20220394299A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
KR102476148B1 (ko) 화상 처리 장치 및 방법
JP7384247B2 (ja) 画像処理装置および方法
JP7167923B2 (ja) 画像処理装置および方法
CN109792522B (zh) 图像处理装置和方法
KR102390298B1 (ko) 화상 처리 장치 및 방법
AU2022235590A1 (en) Image processing device and method
WO2018173798A1 (ja) 画像処理装置および方法
JP7001968B2 (ja) 画像処理装置および方法
WO2017154604A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant