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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20190008205A
KR20190008205A KR1020187031841A KR20187031841A KR20190008205A KR 20190008205 A KR20190008205 A KR 20190008205A KR 1020187031841 A KR1020187031841 A KR 1020187031841A KR 20187031841 A KR20187031841 A KR 20187031841A KR 20190008205 A KR20190008205 A KR 20190008205A
Authority
KR
South Korea
Prior art keywords
conversion
unit
image
inverse
transform
Prior art date
Application number
KR1020187031841A
Other languages
English (en)
Other versions
KR102393150B1 (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 KR20190008205A publication Critical patent/KR20190008205A/ko
Application granted granted Critical
Publication of KR102393150B1 publication Critical patent/KR102393150B1/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/124Quantisation
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • 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/127Prioritisation of hardware or computational resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Processing (AREA)

Abstract

본 개시는 부호화 효율의 저감을 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 스위치는, 화상과 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 예측 잔차가 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 프라이머리 변환 계수가 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시킨다. 본 개시는, 예를 들어 화상 처리 장치, 화상 부호화 장치 또는 화상 복호 장치 등에 적용할 수 있다.

Description

화상 처리 장치 및 방법
본 개시는 화상 처리 장치 및 방법에 관한 것이며, 특히 부호화 효율의 저감을 억제할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
종래, 화상 부호화에 있어서, 화상과 그 예측 화상의 차분인 예측 잔차에 대하여 프라이머리 변환을 행한 후에, 에너지 콤팩션을 더 높이기(저역으로 변환 계수를 집중시키기) 위해, 변환 블록 내의 서브블록별로 세컨더리 변환을 적용하는 것이 개시되어 있다(예를 들어, 비특허문헌 1 참조). 그 비특허문헌 1에는, 어느 세컨더리 변환을 적용하는지를 나타내는 세컨더리 변환 식별자를 CU 단위로 시그널하는 것도 개시되어 있다.
또한, 인코더에 있어서, RDO(Rate-Distortion Optimization)에 기초하여, 비특허문헌 1에 기재된 CU 단위로 어느 세컨더리 변환을 적용할지 결정하는 것은, 계산 복잡도가 커서, 변환 블록 단위로 세컨더리 변환을 적용하는지 여부를 나타내는 세컨더리 변환 플래그를 시그널하는 것이 개시되어 있다(예를 들어, 비특허문헌 2 참조). 그 비특허문헌 2에는, 어느 세컨더리 변환을 적용하는지를 나타내는 세컨더리 변환 식별자를, 프라이머리 변환 식별자 및 인트라 예측 모드에 기초하여 도출하는 것도 개시되어 있다.
그러나, 비특허문헌 1 및 비특허문헌 2의 어느 것에 기재된 방법에 있어서도, 비제로 계수가 소(疎)한 서브블록이 세컨더리 변환 계수에 입력된 경우, 세컨더리 변환이 적용되어, 서브블록 내의 저차에서부터 고차의 성분까지 계수가 확산되어 에너지 콤팩션이 저하되고, 부호화 효율이 저감될 우려가 있었다.
또한, Joint Exploration Test Model 1(JEM1)에서는, 4K 등의 고해상도의 화상에 있어서의 부호화 효율 향상을 위해 CTU(Coding Tree Unit)의 최대 사이즈를 256×256으로 확장하고, 그에 맞추어, 변환 블록의 최대 사이즈도 64×64로 확장하는 것이 개시되어 있다(예를 들어, 비특허문헌 1 참조). 그 비특허문헌 1에는, 변환 블록 사이즈가 64×64인 경우, 인코더가, 변환 블록의 좌측 위의 32×32의 저주파수 성분 이외의 고주파수 성분의 변환 계수가 강제적으로 0이 되도록 대역 제한을 행하여(고주파수 성분을 잘라 버려), 저주파수 성분의 비제로 계수만을 부호화하는 것도 개시되어 있다.
이 경우, 디코더는, 저주파 성분의 비제로 계수만을 복호하고, 그 비제로 계수에 대하여 역양자화 및 역변환을 행하면 된다. 따라서, 인코더가 대역 제한을 행하지 않는 경우에 비하여, 디코더의 계산 복잡도나 실장 비용을 저감할 수 있다.
그러나, 인코더가, 64×64의 변환 블록에 대하여, 변환 스킵(Transform Skip), 또는 변환 및 양자화의 스킵(이하, 변환 양자화 바이패스라고 함)을 행하는 경우, 64×64의 변환 블록의 변환 계수는 변환 전의 예측 잔차이다. 따라서, 이 경우에 대역 제한이 행해지면, 변형이 증대된다. 그 결과, 부호화 효율이 저감될 우려가 있었다. 또한, 손실 없는 부호화를 목적으로 하여 변환 양자화 바이패스(Trans/Quant Bypass)를 행함에도 불구하고, 손실 없는 부호화를 행할 수 없다.
Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer Ohm, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 2", JVET-B1001_v3, Joint Video Exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016 X. Zhao, A. Said, V. Seregin, M. Karczewicz, J. Chen, R. Joshi, "TU-level non-separable secondary transform", JVET-B0059, Joint Video Exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016
이상과 같이, 부호화 효율이 저감될 우려가 있었다.
본 개시는, 이러한 상황에 비추어 이루어진 것이며, 부호화 효율의 저감을 억제할 수 있도록 하는 것이다.
본 기술의 제1 측면의 화상 처리 장치는, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는 화상 처리 장치이다.
본 기술의 제1 측면의 화상 처리 방법은, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는 화상 처리 장치이다.
본 기술의 제2 측면의 화상 처리 장치는, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는 화상 처리 장치이다.
본 기술의 제2 측면의 화상 처리 방법은, 화상 처리 장치가, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어 스텝을 포함하는 화상 처리 방법이다.
본 기술의 제3 측면의 화상 처리 장치는, 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 제어부를 구비하는 화상 처리 장치이다.
본 기술의 제3 측면의 화상 처리 방법은, 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 화상 처리 방법이다.
본 기술의 제4 측면의 화상 처리 장치는, 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와, 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와, 상기 설정부에 의해 설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와, 상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와, 스케일링된 상기 1차원 벡터를 행렬화하는 행렬화부를 구비하는 화상 처리 장치이다.
본 기술의 제4 측면의 화상 처리 방법은, 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하고, 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하고, 설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하고, 상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하고, 스케일링된 상기 1차원 벡터를 행렬화하는 화상 처리 방법이다.
본 기술의 제1 측면의 화상 처리 장치 및 방법에 있어서는, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵된다.
본 기술의 제2 측면의 화상 처리 장치 및 방법에 있어서는, 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵된다.
본 기술의 제3 측면의 화상 처리 장치 및 방법에 있어서는, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵이, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어된다.
본 기술의 제4 측면의 화상 처리 장치 및 방법에 있어서는, 변환 계수에 대한 역변환 처리의 행렬이, 그 역변환 처리의 내용과 스캔 방법에 기초하여 설정되고, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수가 1차원 벡터로 변환되고, 설정된 행렬을 사용하여, 그 1차원 벡터에 대한 행렬 연산이 행해지고, 그 행렬 연산이 행해진 1차원 벡터에 대하여 스케일링이 행해지고, 그 스케일링된 1차원 벡터가 행렬화된다.
본 개시에 따르면, 화상을 처리할 수 있다. 특히, 부호화 효율의 저감을 억제할 수 있다.
도 1은, CU에 대한 재귀적인 블록 분할의 개요를 설명하기 위한 설명도이다.
도 2는, 도 1에 도시한 CU에 대한 PU의 설정에 대하여 설명하기 위한 설명도이다.
도 3은, 도 1에 도시한 CU에 대한 TU의 설정에 대하여 설명하기 위한 설명도이다.
도 4는, CU/PU의 주사순에 대하여 설명하기 위한 설명도이다.
도 5는, 세컨더리 변환부의 주된 구성예를 도시하는 블록도이다.
도 6은, 세컨더리 변환의 모습의 예를 설명하는 도면이다.
도 7은, 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 8은, 변환부의 주된 구성예를 도시하는 블록도이다.
도 9는, 스캔 식별자에 대응하는 각 스캔 방법의 예를 도시하는 도면이다.
도 10은, 세컨더리 변환의 행렬의 예를 도시하는 도면이다.
도 11은, 화상 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 12는, 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 13은, 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 14는, 역변환부의 주된 구성예를 도시하는 블록도이다.
도 15는, 화상 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 16은, 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 17은, 인트라 예측 모드와 스캔 방법의 관계예를 설명하는 도면이다.
도 18은, 변환부의 주된 구성예를 도시하는 블록도이다.
도 19는, 세컨더리 변환 선택부의 주된 구성예를 도시하는 블록도이다.
도 20은, 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 21은, 역변환부의 주된 구성예를 도시하는 블록도이다.
도 22는, 역 세컨더리 변환 선택부의 주된 구성예를 도시하는 블록도이다.
도 23은, 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 24는, 변환부의 주된 구성예를 도시하는 블록도이다.
도 25는, 대역 제한을 설명하는 도면이다.
도 26은, 변환부의 주된 구성예를 도시하는 블록도이다.
도 27은, 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 28은, 역변환부의 주된 구성예를 도시하는 블록도이다.
도 29는, 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 30은, CU, PU 및 TU의 형상을 설명하는 도면이다.
도 31은, 변환부의 주된 구성예를 도시하는 블록도이다.
도 32는, 대역 제한 필터의 예를 도시하는 도면이다.
도 33은, 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 34는, 역변환부의 주된 구성예를 도시하는 블록도이다.
도 35는, 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 36은, 대역 제한 필터의 다른 예를 도시하는 도면이다.
도 37은, 대역 제한 필터의 다른 예를 도시하는 도면이다.
도 38은, 대역 제한 필터의 다른 예를 도시하는 도면이다.
도 39는, 변환 처리의 흐름의 다른 예를 설명하는 흐름도이다.
도 40은, 역변환 처리의 흐름의 다른 예를 설명하는 흐름도이다.
도 41은, 컴퓨터의 주된 구성예를 도시하는 블록도이다.
도 42는, 텔레비전 장치의 개략적인 구성의 일례를 도시하는 블록도이다.
도 43은, 휴대 전화기의 개략적인 구성의 일례를 도시하는 블록도이다.
도 44는, 기록 재생 장치의 개략적인 구성의 일례를 도시하는 블록도이다.
도 45는, 촬상 장치의 개략적인 구성의 일례를 도시하는 블록도이다.
도 46은, 비디오 세트의 개략적인 구성의 일례를 도시하는 블록도이다.
도 47은, 비디오 프로세서의 개략적인 구성의 일례를 도시하는 블록도이다.
도 48은, 비디오 프로세서의 개략적인 구성의 다른 예를 도시하는 블록도이다.
도 49는, 네트워크 시스템의 개략적인 구성의 일례를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 실시 형태라고 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태(서브블록별 세컨더리 변환의 스킵)
2. 제2 실시 형태(스캔 방법을 사용한 세컨더리 변환의 선택)
3. 제3 실시 형태(블록이 정사각형인 경우의 대역 제한의 스킵)
4. 제4 실시 형태(블록이 정사각형 또는 장방형을 포함하는 직사각형인 경우의 대역 제한의 스킵)
5. 제5 실시 형태(기타)
<1. 제1 실시 형태>
<블록 분할>
MPEG2(Moving Picture Experts Group 2(ISO/IEC13818-2))나 MPEG-4 Part10(Advanced Video Coding, 이하 AVC라고 기재함) 등의 구래의 화상 부호화 방식에서는, 부호화 처리는 매크로 블록이라고 불리는 처리 단위로 실행된다. 매크로 블록은, 16×16 화소의 균일한 사이즈를 갖는 블록이다. 이에 비해, HEVC(High Efficiency Video Coding)에서는, 부호화 처리는 CU(Coding Unit)라고 불리는 처리 단위(부호화 단위)로 실행된다. CU는, 최대 부호화 단위인 LCU(Largest Coding Unit)를 재귀적으로 분할함으로써 형성되는, 가변적인 사이즈를 갖는 블록이다. 선택 가능한 CU의 최대 사이즈는 64×64 화소이다. 선택 가능한 CU의 최소 사이즈는 8×8 화소이다. 최소 사이즈의 CU는 SCU(Smallest Coding Unit)라고 불린다. 또한, CU의 최대 사이즈는 64×64 화소에 한정되지 않고, 보다 큰 128×128 화소, 256×256 화소 등의 블록 사이즈로 해도 된다.
이와 같이, 가변적인 사이즈를 갖는 CU가 채용되는 결과, HEVC에서는, 화상의 내용에 따라 화질 및 부호화 효율을 적응적으로 조정하는 것이 가능하다. 예측 부호화를 위한 예측 처리는, PU(Prediction Unit)라고 불리는 처리 단위(예측 단위)로 실행된다. PU는, CU를 몇 가지 분할 패턴 중 1개로 분할함으로써 형성된다. 또한, PU는, 휘도(Y) 및 색차(Cb, Cr)별 PB(Prediction Block)라고 불리는 처리 단위(예측 블록)로 구성된다. 또한, 직교 변환 처리는, TU(Transform Unit)라고 불리는 처리 단위(변환 단위)로 실행된다. TU는, CU 또는 PU를 어느 깊이까지 분할함으로써 형성된다. 또한, TU는, 휘도(Y) 및 색차(Cb, Cr)별 TB(Transform Block)라고 불리는 처리 단위(변환 블록)로 구성된다.
<재귀적인 블록의 분할>
도 1은, HEVC에 있어서의 CU에 대한 재귀적인 블록 분할의 개요를 설명하기 위한 설명도이다. CU의 블록 분할은, 1개의 블록의 4(=2×2)개의 서브블록에 대한 분할을 재귀적으로 반복함으로써 행해지고, 결과로서 4분목(Quad-Tree)형 트리 구조가 형성된다. 1개의 4분목의 전체를 CTB(Coding Tree Block)라고 하고, CTB에 대응하는 논리적인 단위를 CTU라고 한다.
도 1의 상부에는, 일례로서, 64×64 화소의 사이즈를 갖는 CU인 C01이 도시되어 있다. C01의 분할의 깊이는 제로와 동등하다. 이것은 C01이 CTU의 루트이며 LCU에 상당함을 의미한다. LCU 사이즈는, SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)에 있어서 부호화되는 파라미터에 의해 지정될 수 있다. CU인 C02는, C01로부터 분할되는 4개의 CU 중 하나이며, 32×32 화소의 사이즈를 갖는다. C02의 분할의 깊이는 1과 동등하다. CU인 C03은, C02로부터 분할되는 4개의 CU 중 하나이며, 16×16 화소의 사이즈를 갖는다. C03의 분할의 깊이는 2와 동등하다. CU인 C04는, C03으로부터 분할되는 4개의 CU 중 하나이며, 8×8 화소의 사이즈를 갖는다. C04의 분할의 깊이는 3과 동등하다. 이와 같이, CU는, 부호화되는 화상을 재귀적으로 분할함으로써 형성된다. 분할의 깊이는 가변적이다. 예를 들어, 창공과 같은 평탄한 화상 영역에는, 보다 큰 사이즈의(즉, 깊이가 얕은) CU가 설정될 수 있다. 한편, 많은 에지를 포함하는 급준한 화상 영역에는, 보다 작은 사이즈의(즉, 깊이가 깊은) CU가 설정될 수 있다. 그리고, 설정된 CU의 각각이 부호화 처리의 처리 단위가 된다.
<CU에 대한 PU의 설정>
PU는, 인트라 예측 및 인터 예측을 포함하는 예측 처리의 처리 단위이다. PU는, CU를 몇 가지 분할 패턴 중 하나로 분할함으로써 형성된다. 도 2는, 도 1에 도시한 CU에 대한 PU의 설정에 대하여 설명하기 위한 설명도이다. 도 2의 우측에는 2N×2N, 2N×N, N×2N, N×N, 2N×nU, 2N×nD, nL×2N 및 nR×2N이라고 하는, 8종류의 분할 패턴이 도시되어 있다. 이들 분할 패턴 중, 인트라 예측에서는 2N×2N 및 N×N의 2종류가 선택 가능하다(N×N은 SCU로만 선택 가능). 이에 비해 인터 예측에서는, 비대칭 움직임 분할이 유효화되어 있는 경우에, 8종류의 분할 패턴 모두가 선택 가능하다.
<CU에 대한 TU의 설정>
TU는, 직교 변환 처리의 처리 단위이다. TU는, CU(인트라 CU에 대해서는, CU 내의 각 PU)를 어느 깊이까지 분할함으로써 형성된다. 도 3은, 도 2에 도시한 CU에 대한 TU의 설정에 대하여 설명하기 위한 설명도이다. 도 3의 우측에는, C02에 설정될 수 있는 1개 이상의 TU가 도시되어 있다. 예를 들어, TU인 T01은 32×32 화소의 사이즈를 갖고, 그 TU 분할의 깊이는 제로와 동등하다. TU인 T02는 16×16 화소의 사이즈를 갖고, 그 TU 분할의 깊이는 1과 동등하다. TU인 T03은 8×8 화소의 사이즈를 갖고, 그 TU 분할의 깊이는 2와 동등하다.
상술한 CU, PU 및 TU와 같은 블록을 화상에 설정하기 위해 어떠한 블록 분할을 행할지는, 전형적으로는 부호화 효율을 좌우하는 비용의 비교에 기초하여 결정된다. 인코더는, 예를 들어 1개의 2M×2M 화소의 CU와, 4개의 M×M 화소의 CU의 사이에서 비용을 비교하여, 4개의 M×M 화소의 CU를 설정하는 편이 부호화 효율이 높다면, 2M×2M 화소의 CU를 4개의 M×M 화소의 CU로 분할할 것을 결정한다.
<CU와 PU의 주사순>
화상을 부호화할 때, 화상(또는 슬라이스, 타일) 내에 격자상으로 설정되는 CTB(또는 LCU)가 래스터 스캔순으로 주사된다. 1개의 CTB 중에서는, CU는, 4분목을 좌측에서 우측, 상측에서 하측으로 찾아 가듯이 주사된다. 커런트 블록을 처리할 때, 상측 및 좌측의 인접 블록의 정보가 입력 정보로서 이용된다. 도 4는, CU와 PU의 주사순에 대하여 설명하기 위한 설명도이다. 도 4의 좌측 위에는, 1개의 CTB에 포함될 수 있는 4개의 CU인, C10, C11, C12 및 C13이 도시되어 있다. 각 CU의 프레임 내의 숫자는 처리 순서를 표현하고 있다. 부호화 처리는, 좌측 위의 CU인 C10, 우측 위의 CU인 C11, 좌측 아래의 CU인 C12, 우측 아래의 CU인 C13의 순으로 실행된다. 도 4의 우측에는, CU인 C11로 설정될 수 있는 인터 예측을 위한 1개 이상의 PU가 도시되어 있다. 도 4의 하측에는, CU인 C12에 설정될 수 있는 인트라 예측을 위한 1개 이상의 PU가 도시되어 있다. 이들 PU의 프레임 내의 숫자에 나타낸 바와 같이, PU도 또한 좌측에서 우측, 상측에서 하측을 찾아 가듯이 주사된다.
이하에 있어서는, 화상(픽처)의 부분 영역이나 처리 단위로서 「블록」을 사용하여 설명하는 경우가 있다(처리부의 블록은 아님). 이 경우의 「블록」은 픽처 내의 임의의 부분 영역을 나타내고, 그 크기, 형상 및 특성 등은 한정되지 않는다. 즉, 이 경우의 「블록」에는, 예를 들어 TB, TU, PB, PU, SCU, CU, LCU(CTB), 서브블록, 매크로 블록, 타일 또는 슬라이스 등, 임의의 부분 영역(처리 단위)이 포함되는 것으로 한다.
<세컨더리 변환>
비특허문헌 1 및 비특허문헌 2에는, 화상과 그 예측 화상의 차분인 예측 잔차에 대하여 프라이머리 변환을 행한 후에, 더 에너지 콤팩션을 높이기(저역으로 변환 계수를 집중시키기) 위해, 변환 블록 내의 서브블록별로, 세컨더리 변환을 적용하는 것이 기재되어 있다.
그러나, 비제로 계수가 소한 예측 잔차를 세컨더리 변환하면, 저차에서부터 고차의 성분까지 계수가 확산되어 에너지 콤팩션이 저하되고, 부호화 효율이 저감될 우려가 있었다.
도 5는, 세컨더리 변환을 행하는 세컨더리 변환부의 주된 구성예를 도시하는 블록도이다. 도 5에 도시되는 세컨더리 변환부(11)는, 예측 잔차가 프라이머리 변환된 프라이머리 변환 계수에 대하여, 비특허문헌 1이나 비특허문헌 2에 기재된 방법으로 세컨더리 변환을 행하는 처리부이다. 도 5에 도시되는 바와 같이, 세컨더리 변환부(11)는, 래스터라이즈부(21), 행렬 연산부(22), 스케일링부(23) 및 행렬화부(24)를 갖는다.
래스터라이즈부(21)는, 입력된 프라이머리 변환 계수 Coeff_P를, 스캔 식별자 scanIdx가 나타내는 스캔 방법에 따라 스캔하여, 1차원 벡터 X1d로 변환시킨다. 예를 들어, 프라이머리 변환 계수 Coeff_P가, 이하의 식 (1)에 나타난 바와 같은 비제로 계수가 소한 4×4 행렬이고, 스캔 식별자 scanIdx가 수평 스캔(hor)을 나타낸다고 하면, 래스터라이즈부(21)는, 그 프라이머리 변환 계수 Coeff_P를 이하의 식 (2)에 나타난 바와 같은 1차원 벡터 X1d로 변환시킨다.
Figure pct00001
Figure pct00002
행렬 연산부(22)는, 이상과 같이 얻어진 1차원 벡터 X1d에 대하여, 세컨더리 변환의 행렬 R을 사용하여 이하의 식 (3)과 같은 행렬 연산을 행한다. 예를 들어, 상술한 식 (2)에 나타나는 1차원 벡터 X1d에 대하여, 이 행렬 연산이 행해짐으로써, 이하의 식 (4)에 나타난 바와 같은 1차원 벡터 Y1d가 얻어진다.
Y1d T=RㆍX1d T … (3)
Figure pct00003
스케일링부(23)는, 이상과 같이 얻어진 1차원 벡터 Y1d에 대하여, 놈을 정규화하기 위해, 이하의 식 (5)와 같은 N(N은 자연수) 비트의 비트 시프트 연산을 행한다. 예를 들어, 상술한 식 (4)에 나타나는 1차원 벡터 Y1d에 대하여, 이 비트 시프트 연산이 행해짐으로써, 이하의 식 (6)에 나타난 바와 같은 1차원 벡터 Z1d가 얻어진다.
Z1d=(Y1d)>>N … (5)
Figure pct00004
행렬화부(24)는, 이상과 같이 얻어진 1차원 벡터 Z1d를, 스캔 식별자 scanIdx에 의해 지정되는 스캔 방법에 기초하여, 행렬로 변환시킨다. 이 행렬이, 프라이머리 변환 계수 Coeff_P가 세컨더리 변환된 세컨더리 변환 계수 Coeff로서 후단의 처리부(예를 들어 양자화부 등)에 공급된다. 예를 들어, 상술한 식 (4)에 나타나는 1차원 벡터 Z1d에 대하여, 이 행렬화가 행해짐으로써, 이하의 식 (7)에 나타난 바와 같은 4×4의 행렬의 세컨더리 변환 계수 Coeff가 얻어진다.
Figure pct00005
이상과 같이, 비제로 계수가 소한 프라이머리 변환 계수 Coeff_P를 세컨더리 변환하면, 계수가 저차에서부터 고차의 성분까지 확산되어 에너지 콤팩션이 저하되고, 부호화 효율이 저감될 우려가 있었다.
또한, 비특허문헌 2에는, 세컨더리 변환 플래그의 오버헤드를 삭감하기 위해, 변환 블록 내의 비제로 계수가 소정의 역치 이하인 경우, 세컨더리 변환을 적용하지 않기로 하고, 플래그의 시그널을 생략하는 것이 개시되어 있다. 예를 들어, 역치 TH=2라고 하면, 프라이머리 변환 계수 Coeff_P가, 상술한 식 (1)에 나타난 바와 같은 행렬의 경우, 세컨더리 변환이 스킵(생략)된다.
그러나, 비특허문헌 1이나 비특허문헌 2에 기재된 방법의 경우, 변환 블록을 서브블록별로 세컨더리 변환시킨다. 따라서, 예를 들어 도 6에 도시되는 바와 같이, 프라이머리 변환 계수 Coeff_P의 변환 블록이 2×2의 서브블록에 의해 구성되고, 각 서브블록이 상술한 식 (1)에 나타난 바와 같은 4×4 행렬인 경우, 변환 블록 내의 비제로 계수는 4이므로, 역치 TH(=2)보다 크고, 세컨더리 변환이 적용되게 된다. 상술한 바와 같이 세컨더리 변환은, 서브블록별(4×4 행렬별)로 행해지므로, 각 서브블록의 세컨더리 변환 계수 Coeff는, 상술한 식 (7)과 같이 된다. 즉, 계수가 저차에서부터 고차의 성분까지 확산되어 에너지 콤팩션이 저하되고, 부호화 효율이 저감될 우려가 있었다.
<서브블록 단위의 세컨더리 변환 스킵 제어>
그래서, 화상과 그 화상의 예측 화상의 차분인 예측 잔차로부터 얻어지는 변환 계수에 대한 변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하도록 한다. 또한, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하도록 한다. 예를 들어, 서브블록 내의 비제로 계수가 역치 이하인 경우, 세컨더리 변환이나 역 세컨더리 변환을 스킵(생략)하도록 한다.
이와 같이 함으로써, 비제로 계수가 소한 서브블록의 변환 계수에 대하여, 변환 처리(역변환 처리)를 적용하는 것을 억제할 수 있으므로, 에너지 콤팩션의 저하를 억제하고, 부호화 효율의 저감을 억제할 수 있다.
<화상 부호화 장치>
도 7은, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 7에 도시되는 화상 부호화 장치(100)는, AVC나 HEVC와 같이, 화상과 그 예측 화상의 예측 잔차를 부호화하는 장치이다. 예를 들어, 화상 부호화 장치(100)는 HEVC에 제안된 기술이나, JVET(Joint Video Exploration Team)에서 제안된 기술을 실장하고 있다.
또한, 도 7에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 7에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 부호화 장치(100)에 있어서, 도 7에 있어서 블록으로서 도시되어 있지 않은 처리부가 존재하거나, 도 7에 있어서 화살표 등으로서 도시되어 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 7에 도시되는 바와 같이 화상 부호화 장치(100)는, 제어부(101), 연산부(111), 변환부(112), 양자화부(113), 부호화부(114), 역양자화부(115), 역변환부(116), 연산부(117), 프레임 메모리(118) 및 예측부(119)를 갖는다.
제어부(101)는, 외부, 또는 미리 지정된 처리 단위의 블록 사이즈에 기초하여, 화상 부호화 장치(100)에 입력되는 동화상을 처리 단위의 블록(CU, PU, 변환 블록(TB) 등)으로 분할하고, 분할된 블록에 대응하는 화상 I를 연산부(111)에 공급시킨다. 또한, 제어부(101)는, 각 블록에 공급하는 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등)를, 예를 들어 RDO(Rate-Distortion Optimization)에 기초하여 결정한다. 결정된 부호화 파라미터는, 각 블록에 공급된다.
헤더 정보 Hinfo는, 예를 들어 비디오 파라미터 세트(VPS(Video Parameter Set)), 시퀀스 파라미터 세트(SPS(Sequence Parameter Set)), 픽처 파라미터 세트(PPS(Picture Parameter Set)), 슬라이스 헤더(SH) 등의 정보를 포함한다. 예를 들어, 헤더 정보 Hinfo에는, 화상 사이즈(가로 폭 PicWidth, 세로 폭 PicHeight), 비트 심도(휘도 bitDepthY, 색차 bitDepthC), CU 사이즈의 최댓값 MaxCUSize/최솟값 MinCUSize, 변환 블록 사이즈의 최댓값 MaxTBSize/최솟값 MinTBSize, 변환 스킵 블록의 최댓값 MaxTSSize(최대 변환 스킵 블록 사이즈라고도 칭함), 각 부호화 툴의 온/오프 플래그(유효 플래그라고도 칭함) 등을 규정하는 정보가 포함된다. 물론, 헤더 정보 Hinfo의 내용은 임의이며, 상술한 예 이외의 어떠한 정보가 이 헤더 정보 Hinfo에 포함되도록 해도 된다.
예측 모드 정보 Pinfo에는, 예를 들어 처리 대상 PU의 PU 사이즈(예측 블록 사이즈)를 나타내는 정보인 PU 사이즈 PUSize, 처리 대상의 블록의 인트라 예측 모드에 관한 정보인 인트라 예측 모드 정보 IPinfo(예를 들어, JCTVC-W1005, 7.3.8.5 Coding Unit syntax 중의 prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode 등), 처리 대상의 블록의 움직임 예측에 관한 정보인 움직임 예측 정보 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 등) 등이 포함된다. 물론, 예측 모드 정보 Pinfo의 내용은 임의이며, 상술한 예 이외의 어떠한 정보가 이 예측 모드 정보 Pinfo에 포함되도록 해도 된다.
변환 정보 Tinfo에는, 예를 들어 이하와 같은 정보가 포함된다.
블록 사이즈 TBSize(혹은, 2를 바닥으로 하는 TBSize의 대수값 log2TBSize, 변환 블록 사이즈라고도 칭함)는, 처리 대상 변환 블록의 블록 사이즈를 나타내는 정보이다.
세컨더리 변환 식별자(st_idx)는, 대상으로 하는 데이터 단위에 있어서, 어느 세컨더리 변환 또는 역 세컨더리 변환((역)세컨더리 변환이라고도 칭함)을 적용할지를 나타내는 식별자이다(예를 들어, JVET-B1001, 2.5.2 Secondary Transforms를 참조. JEM2에서는 nsst_idx, rot_idx라고도 칭함). 환언하건데, 이 세컨더리 변환 식별자는, 대상으로 하는 데이터 단위에 있어서의 (역)세컨더리 변환의 내용에 관한 정보이다.
예를 들어, 세컨더리 변환 식별자 st_idx는, 그 값이 0보다 큰 경우, (역)세컨더리 변환의 행렬을 지정하는 식별자이다. 환언하건데, 이 경우, 세컨더리 변환 식별자 st_idx는, (역)세컨더리 변환의 실행을 나타낸다. 또한, 예를 들어 세컨더리 변환 식별자 st_idx는, 그 값이 0인 경우, (역)세컨더리 변환의 스킵을 나타낸다.
스캔 식별자(scanIdx)는, 스캔 방법에 관한 정보이다. 양자화 파라미터(qp)는, 대상으로 하는 데이터 단위에 있어서, (역)양자화에 사용되는 양자화 파라미터를 나타내는 정보이다. 양자화 매트릭스(scaling_matrix)는, 대상으로 하는 데이터 단위에 있어서, (역)양자화에 사용되는 양자화 매트릭스를 나타내는 정보이다(예를 들어, JCTVC-W1005, 7.3.4 Scaling list data syntax).
물론, 변환 정보 Tinfo의 내용은 임의이며, 상술한 예 이외의 어떠한 정보가 이 변환 정보 Tinfo에 포함되도록 해도 된다.
헤더 정보 Hinfo는, 예를 들어 각 블록에 공급된다. 예측 모드 정보 Pinfo는, 예를 들어 부호화부(114) 및 예측부(119)에 공급된다. 변환 정보 Tinfo는, 예를 들어 변환부(112), 양자화부(113), 부호화부(114), 역양자화부(115) 및 역변환부(116)에 공급된다.
연산부(111)는, 입력된 처리 단위의 블록에 대응하는 화상 I로부터, 예측부(119)로부터 공급된 예측 화상 P를, 식 (8)에 나타내는 바와 같이 감산하여 예측 잔차 D를 구하고, 그것을 변환부(112)에 공급한다.
D=I-P … (8)
변환부(112)는, 제어부(101)로부터 공급되는 변환 정보 Tinfo에 기초하여, 연산부(111)로부터 공급되는 예측 잔차 D에 대하여 변환 처리를 행하여, 변환 계수 Coeff를 도출한다. 변환부(112)는, 그 변환 계수 Coeff를 양자화부(113)에 공급한다.
양자화부(113)는, 제어부(101)로부터 공급되는 변환 정보 Tinfo에 기초하여, 변환부(112)로부터 공급되는 변환 계수 Coeff를 스케일링(양자화)한다. 즉, 양자화부(113)는, 변환 처리가 행해진 변환 계수 Coeff의 양자화를 행한다. 양자화부(113)는, 그 양자화에 의해 얻어진 양자화 후의 변환 계수, 즉 양자화 변환 계수 레벨 level을 부호화부(114) 및 역양자화부(115)에 공급한다.
부호화부(114)는, 양자화부(113)로부터 공급되는 양자화 변환 계수 레벨 level 등을 소정의 방법으로 부호화한다. 예를 들어, 부호화부(114)는, 신택스 테이블의 정의를 따라, 제어부(101)로부터 공급되는 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등)나, 양자화부(113)로부터 공급되는 양자화 변환 계수 레벨 level을, 각 신택스 요소의 신택스값으로 변환하고, 각 신택스값을 부호화(예를 들어, 산술 부호화)하여, 비트열(부호화 데이터)을 생성한다.
또한, 부호화부(114)는, 양자화 변환 계수 레벨 level로부터 잔차 정보 RInfo를 도출하고, 잔차 정보 RInfo를 부호화하여, 비트열(부호화 데이터)을 생성한다.
잔차 정보 RInfo에는, 예를 들어 라스트 비제로 계수 X 좌표(last_sig_coeff_x_pos), 라스트 비제로 계수 Y 좌표(last_sig_coeff_y_pos), 서브블록 비제로 계수 유무 플래그(coded_sub_block_flag), 비제로 계수 유무 플래그(sig_coeff_flag), 비제로 계수의 레벨이 1보다 큰지를 나타내는 플래그 정보인 GR1 플래그(gr1_flag), 비제로 계수의 레벨이 2보다 큰지를 나타내는 플래그 정보인 GR2 플래그(gr2_flag), 비제로 계수의 정부를 나타내는 부호인 사인 부호(sign_flag), 비제로 계수의 잔여 레벨을 나타내는 정보인 비제로 계수 잔여 레벨(coeff_abs_level_remaining) 등이 포함된다(예를 들어, JCTVC-W1005의 7.3.8.11 Residual Coding syntax를 참조). 물론, 잔차 정보 RInfo의 내용은 임의이며, 상술한 예 이외의 어떠한 정보가 이 잔차 정보 RInfo에 포함되도록 해도 된다.
부호화부(114)는, 예를 들어 부호화된 각 신택스 요소의 비트열(부호화 데이터)을 다중화하고, 비트 스트림으로서 출력한다.
역양자화부(115)는, 제어부(101)로부터 공급되는 변환 정보 Tinfo에 기초하여, 양자화부(113)로부터 공급되는 양자화 변환 계수 레벨 level의 값을 스케일링(역양자화)하고, 역양자화 후의 변환 계수 Coeff_IQ를 도출한다. 역양자화부(115)는, 그 변환 계수 Coeff_IQ를 역변환부(116)에 공급한다. 이 역양자화부(115)에 의해 행해지는 역양자화는, 양자화부(113)에 의해 행해지는 양자화의 역처리이며, 후술하는 화상 복호 장치에 있어서 행해지는 역양자화와 마찬가지의 처리이다. 따라서, 이 역양자화에 대해서는, 화상 복호 장치에 관한 설명에 있어서 후술한다.
역변환부(116)는, 제어부(101)로부터 공급되는 변환 정보 Tinfo에 기초하여, 역양자화부(115)로부터 공급되는 변환 계수 Coeff_IQ에 대하여 역변환을 행하여, 예측 잔차 D'를 도출한다. 역변환부(116)는, 그 예측 잔차 D'를 연산부(117)에 공급한다. 이 역변환부(116)에 의해 행해지는 역변환은, 변환부(112)에 의해 행해지는 변환의 역처리이며, 후술하는 화상 복호 장치에 있어서 행해지는 역변환과 마찬가지의 처리이다. 따라서, 이 역변환에 대해서는, 화상 복호 장치에 관한 설명에 있어서 후술한다.
연산부(117)는, 역변환부(116)로부터 공급되는 예측 잔차 D'와, 예측부(119)로부터 공급되는, 그 예측 잔차 D'에 대응하는 예측 화상 P(예측 신호)를, 이하의 식 (9)와 같이 가산하여 국소적인 복호 화상 Rec를 도출한다. 연산부(117)는, 그 국소적인 복호 화상 Rec를 프레임 메모리(118)에 공급한다.
Rec=D'+P … (9)
프레임 메모리(118)는, 연산부(117)로부터 공급되는 국소적인 복호 화상 Rec를 사용하여 픽처 단위별 복호 화상을 재구축하고, 프레임 메모리(118) 내의 버퍼로 저장한다. 프레임 메모리(118)는, 예측부(119)에 의해 지정되는 복호 화상을 참조 화상으로서 버퍼로부터 판독하고, 예측부(119)에 공급한다. 또한, 프레임 메모리(118)는, 복호 화상의 생성에 관한 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등을, 프레임 메모리(118) 내의 버퍼에 저장하도록 해도 된다.
예측부(119)는, 예측 모드 정보 PInfo에 의해 지정되는, 프레임 메모리(118)에 저장된 복호 화상을 참조 화상으로서 취득하고, 그 참조 화상을 사용하여, 예측 모드 정보 Pinfo에 의해 지정되는 예측 방법에 의해 예측 화상 P를 생성한다. 예측부(119)는, 생성된 예측 화상 P를 연산부(111)나 연산부(117)에 공급한다.
이러한 화상 부호화 장치(100)에 있어서, 화상과 그 화상의 예측 화상의 차분인 예측 잔차로부터 얻어지는 변환 계수에 대한 변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하는 제어부를 구비하도록 한다. 즉, 변환부(112)가, 화상과 그 화상의 예측 화상의 차분인 예측 잔차로부터 얻어지는 변환 계수에 대한 변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하도록 한다.
<변환부>
도 8은, 변환부(112)의 주된 구성예를 도시하는 블록도이다. 도 8에 있어서, 변환부(112)는, 프라이머리 변환부(131) 및 세컨더리 변환부(132)를 갖는다.
프라이머리 변환부(131)는, 연산부(111)로부터 공급되는 예측 잔차 D에 대하여, 예를 들어 직교 변환 등의 프라이머리 변환을 실행하고, 그 예측 잔차 D에 대응하는 프라이머리 변환 후의 변환 계수 Coeff_P(프라이머리 변환 계수라고도 칭함)를 도출한다. 즉, 프라이머리 변환부(131)는, 예측 잔차 D를 프라이머리 변환 계수 Coeff_P로 변환시킨다. 프라이머리 변환부(131)는, 도출한 프라이머리 변환 계수 Coeff_P를 세컨더리 변환부(132)(후술하는 래스터라이즈부(141) 및 스위치(148))에 공급한다.
세컨더리 변환부(132)는, 프라이머리 변환부(131)로부터 공급되는 프라이머리 변환 계수 Coeff_P를 1차원 벡터(행 벡터라고도 칭함)로 변환하고, 그 1차원 벡터에 대한 행렬 연산을 행하고, 그 행렬 연산이 행해진 1차원 벡터의 스케일링을 행하고, 그 스케일링된 상기 1차원 벡터를 행렬화하는 변환 처리인 세컨더리 변환을 행한다.
세컨더리 변환부(132)는, 세컨더리 변환의 내용에 관한 정보인 세컨더리 변환 식별자 st_idx와, 변환 계수의 스캔 방법에 관한 정보인 스캔 식별자 scanIdx에 기초하여, 프라이머리 변환 계수 Coeff_P에 대하여 세컨더리 변환을 행하고, 세컨더리 변환 후의 변환 계수 Coeff(세컨더리 변환 계수라고도 칭함)를 도출한다. 즉, 세컨더리 변환부(132)는, 프라이머리 변환 계수 Coeff_P를 세컨더리 변환 계수 Coeff로 변환시킨다. 세컨더리 변환부(132)는, 그 세컨더리 변환 계수 Coeff를, 양자화부(113)에 공급한다.
또한, 세컨더리 변환부(132)는, 세컨더리 변환을 스킵(생략)하고, 프라이머리 변환 계수 Coeff_P를, 세컨더리 변환 계수 Coeff로서, 양자화부(113)에 공급할 수도 있다.
도 8에 도시되는 바와 같이, 세컨더리 변환부(132)는, 래스터라이즈부(141), 행렬 연산부(142), 스케일링부(143), 행렬화부(144), 세컨더리 변환 선택부(145), 양자화부(146), 비제로 계수 수 판정부(147) 및 스위치(148)를 갖는다.
래스터라이즈부(141)는, 스캔 식별자 scanIdx에 의해 지정되는 변환 계수의 스캔 방법에 기초하여, 서브블록 단위(4×4 서브블록)별로, 프라이머리 변환부(131)로부터 공급되는 프라이머리 변환 계수 Coeff_P를 1차원 벡터 X1d로 변환시킨다. 래스터라이즈부(141)는, 얻어진 1차원 벡터 X1d를 행렬 연산부(142)에 공급한다.
도 9의 A는, 스캔 식별자 scanIdx의 각 값에 의해 지정되는 스캔 타입 scanType을 도시하고 있다. 도 9의 A에 도시되는 바와 같이, 스캔 식별자 scanIdx가 0인 경우, 경사 방향 스캔(up-right diagonal scan)이 지정되고, 스캔 식별자 scanIdx가 1인 경우, 수평 방향 스캔(horizontal fast scan)이 지정되고, 스캔 식별자 scanIdx가 2인 경우, 수직 방향 스캔(vertical fast scan)이 지정된다. 도 9의 B 내지 도 9의 D는, 4×4 서브블록에 있어서의 각 스캔의 계수의 스캔순을 도시하고 있다. 도 9의 B 내지 도 9의 D에 있어서, 각 계수 위치에 부여된 번호는, 해당 계수 위치가 스캔되는 순서를 나타내고 있다. 도 9의 B는, 수평 방향 스캔(horizontal fast scan)의 스캔순의 예를 도시하고, 도 9의 C는, 수직 방향 스캔(vertical fast scan)의 스캔순의 예를 도시하고, 도 9의 D는, 경사 방향 스캔(up-right diagonal scan)의 스캔순의 예를 도시한다.
세컨더리 변환 선택부(145)는, 세컨더리 변환 식별자 st_idx로 지정되는 세컨더리 변환의 행렬 R을, 세컨더리 변환 선택부(145)의 내부 메모리(도시하지 않음)로부터 판독하고, 행렬 연산부(142)에 공급한다. 예를 들어, 세컨더리 변환 선택부(145)는, 어떠한 세컨더리 변환 식별자 st_idx의 값일 때, 세컨더리 변환으로서, 도 10에 도시되는 16×16의 행렬 R을 판독하고, 행렬 연산부(142)에 공급한다.
또한, 세컨더리 변환 선택부(145)가, 세컨더리 변환 식별자 st_idx 및 인트라 예측 모드 정보 IPinfo(예를 들어, 예측 모드 번호)에 따라, 세컨더리 변환의 행렬 R을 선택하도록 해도 된다. 또한, 세컨더리 변환 선택부(145)가, 인트라 예측 모드 정보 IPinfo 대신에, 움직임 예측 정보 MVinfo 및 세컨더리 변환 식별자 st_idx에 따라, 세컨더리 변환의 행렬 R을 선택하도록 해도 된다.
행렬 연산부(142)는, 1차원 벡터 X1d 및 세컨더리 변환의 행렬 R을 사용하여, 이하의 식 (10)에 나타내는 바와 같은 행렬 연산을 행하고, 그 결과인 1차원 벡터 Y1d를 스케일링부(143)에 공급한다. 식 (10)에 있어서, 연산자 "ㆍ"은 행렬끼리의 내적(행렬 곱)을 행하는 조작을 나타내고, 연산자 "T"는 전치 행렬의 조작을 나타낸다.
Y1d T=RㆍX1d T … (10)
스케일링부(143)는, 행렬 연산부(142)로부터 공급되는 신호 Y1d(즉 1차원 벡터 Y1d)의 놈(norm)을 정규화하기 위해, 이하의 식 (11)에 나타난 바와 같은 N(N은 자연수) 비트의 비트 시프트 연산을 행하고, 비트 시프트 후의 신호 Z1d(즉 1차원 벡터 Z1d)를 구한다. 또한, 이하의 식 (12)와 같이 N 비트의 시프트 연산 전에, 오프셋으로서, 1<<(N-1)의 값을, 1차원 벡터 Z1d의 각 요소에 가산하도록 해도 된다.
Z1d=(Y1d)>>N … (11)
Z1d=(Y1d+((N-1)<<1)ㆍE)>>N … (12)
또한, 식 (12)에 있어서, E는, 모든 요소의 값이 1인 1×16차원의 벡터이다. 예를 들어, 도 10에 도시되는 세컨더리 변환의 행렬 R은, 8비트 스케일링된 행렬이기 때문에, 스케일링부(143)에 있어서, 놈의 정규화에 사용하는 N의 값은 8이다. 일반적으로, 세컨더리 변환의 행렬 R이 N 비트 스케일링되어 있는 경우, 놈 정규화의 비트 시프트양은 N 비트이다. 스케일링부(143)는, 이상과 같이 얻어진 1차원 벡터 Z1d를 행렬화부(144)에 공급한다.
행렬화부(144)는, 스캔 식별자 scanIdx에 의해 지정되는 스캔 방법에 기초하여, 놈 정규화 후의 1×16차원의 벡터 Z1d를 4×4 행렬로 변환시킨다. 행렬화부(144)는, 얻어진 변환 계수 Coeff를 양자화부(146) 및 스위치(148)에 공급한다.
양자화부(146)는, 양자화부(113)와 기본적으로 마찬가지의 처리(양자화)를 행한다. 단, 양자화부(146)는, 프라이머리 변환 계수 Coeff_P, 세컨더리 변환 계수 Coeff(래스터라이즈부(141) 내지 행렬화부(144)까지의 처리 실행 후), 변환 정보 Tinfo의 일부인 양자화 파라미터 qp, 및 양자화 매트릭스 scaling_matrix를 입력으로 한다. 양자화부(146)는, 프라이머리 변환부(131)로부터 공급되는 프라이머리 변환 계수 Coeff_P와, 행렬화부(144)로부터 공급되는 변환 계수인 세컨더리 변환 계수 Coeff의 각각에 대하여, 양자화 파라미터 qp, 양자화 매트릭스 scaling_matrix를 참조하여, 예를 들어 이하의 식 (13) 및 식 (14)와 같이 양자화하고, 양자화 후의 프라이머리 변환 계수 level_P(양자화 프라이머리 변환 계수라고 칭함), 양자화 후의 세컨더리 변환 계수 level_S(양자화 세컨더리 변환 계수라고 칭함)를 도출한다.
Figure pct00006
식 (13)이나 식 (14)에 있어서, 연산자 sign(X)는, 입력값 X의 정부의 부호를 돌려주는 연산자이다. 예를 들어, X>=0이면 +1을, X<0이면 -1을 돌려준다. 또한, f[]은, 양자화 파라미터에 의존하는 스케일링 팩터이며, 이하의 식 (15)와 같은 값을 취한다.
Figure pct00007
또한, 식 (13)이나 식 (14)에 있어서, w(i,j)는 Coeff(i,j)나 (Coeff_P(i,j))의 계수 위치(i,j)에 대응하는 양자화 매트릭스 scaling_matrix의 값이다. 즉, 이 w(i,j)는, 이하의 식 (16)과 같이 구해진다. 또한, shift1 및 offsetQ는, 이하의 식 (17)이나 (18)과 같이 구해진다.
w(i,j)=scaling_matrix(i,j) … (16)
shift1=29-M-B … (17)
offsetQ=28-M-B … (18)
단, 식 (17) 및 (18)에 있어서, M은 2을 바닥으로 하는 변환 블록의 블록 사이즈 TBSize의 대수값이고, B는 입력 신호의 비트 심도 bitDepth이다.
M=log2(TBSize)
B=bitDepth
또한, 식 (13) 및 식 (14)에 나타나는 양자화에 구애되지 않고, 양자화 방법은 실시 가능한 범위에서 변경 가능하다.
양자화부(146)는, 이상과 같이 하여 얻어진 양자화 프라이머리 변환 계수 level_P 및 양자화 세컨더리 변환 계수 level_S를 비제로 계수 수 판정부(147)에 공급한다.
비제로 계수 수 판정부(147)는, 서브블록별로, 양자화 프라이머리 변환 계수 level_P 및 양자화 세컨더리 변환 계수 level_S를 입력으로 한다. 비제로 계수 수 판정부(147)는, 양자화부(146)로부터 공급된 양자화 프라이머리 변환 계수 level_P 및 양자화 세컨더리 변환 계수 level_S를 참조하여, 각각에 대하여, 서브블록 내의 비제로 계수의 수 numSigInSBK_P(양자화 프라이머리 변환 계수의 비제로 계수 수라고도 칭함) 및 numSingInSBK_S(양자화 세컨더리 변환 계수의 비제로 계수 수라고도 칭함)를, 예를 들어 이하의 식 (19) 및 식 (20)에 의해 도출한다. 또한, 식 (19) 및 식 (20)에 있어서, (i,j)는 서브블록 내의 좌표를 나타내고, i=0 … 3, j=0 … 3이다. 또한, 연산자 abs(X)는, 입력값 X의 절댓값을 돌려주는 연산자이다. 식 (19) 및 식 (20)에 의해, 양자화 후의 변환 계수의 레벨값이 0보다 큰 변환 계수(비제로 계수)의 수를 도출할 수 있다. 또한, 식 (19) 및 식 (20)에 있어서, 비제로 계수의 판정 조건(abs(level_X(i,j))>0)(X=P, S)은, (level_X(i,j)!=0)의 판정 조건으로 치환해도 된다.
Figure pct00008
비제로 계수 수 판정부(147)는, 양자화 프라이머리 변환 계수의 비제로 계수 수 numSigInSBK_P와, 양자화 세컨더리 변환 계수의 비제로 계수 수 numSigInSBK_S와 소정의 역치 TH를 참조하여, 이하의 식 (21)에 의해, 세컨더리 변환의 스킵에 관한 정보인 세컨더리 변환 스킵 플래그 StSkipFlag를 도출한다.
Figure pct00009
역치 TH는, 예를 들어 2를 설정하지만, 이것에 한정되지 않고, 0 내지 16까지의 값으로 설정할 수 있다. 또한, 역치 TH는, VPS/SPS/PPS/슬라이스 헤더 SH 등의 헤더 정보에 있어서 통지해도 된다. 또한, 역치 TH는, 부호화측(예를 들어 화상 부호화 장치(100))과 복호측(예를 들어, 후술하는 화상 복호 장치(200))의 사이에서 미리 정해 두고, 부호화측으로부터 복호측으로의 통지(역치 TH의, 부호화측으로부터 복호측으로의 전송)를 생략하도록 해도 된다.
식 (21)에서는, 양자화 프라이머리 변환 계수의 비제로 계수 수 numSigInSBK_P가 양자화 세컨더리 변환 계수의 비제로 계수 수 numSigInSBK_S 이하인 경우이며, 또한 양자화 프라이머리 변환 계수의 비제로 계수 수 numSigInSBK_P가 역치 TH 이하인 경우, 세컨더리 변환 스킵 StSkipFlag의 값이 1로 설정된다. 즉, 세컨더리 변환 스킵 StSkipFlag에 있어서, 세컨더리 변환을 스킵함이 나타난다. 그 이외의 경우(numSigInSBK_P>numSigInSBK_S || numSigInSBK_P>TH), 세컨더리 변환 스킵 StSkipFlag의 값이 0으로 설정된다. 즉, 세컨더리 변환 스킵 StSkipFlag에 있어서, 세컨더리 변환을 실행하는 것이 나타난다.
또한, 상술한 식 (21) 대신에, 이하의 식 (22) 또는 식 (23)을 사용하도록 해도 된다. 식 (23)을 사용하는 경우, 세컨더리 변환 계수의 양자화 처리를 생략해도 된다.
Figure pct00010
비제로 계수 수 판정부(147)는, 도출한 세컨더리 변환 스킵 플래그 StSkipFlag를 스위치(148)에 공급한다.
스위치(148)는, 서브블록 단위의 프라이머리 변환 계수 Coeff_P, 세컨더리 변환 계수 Coeff 및 세컨더리 변환 스킵 플래그 StSkipfFlag를 입력으로 한다. 스위치(148)는, 비제로 계수 수 판정부(147)로부터 공급되는 세컨더리 변환 스킵 플래그 StSkipFlag에 따라, 세컨더리 변환의 스킵을 제어한다.
예를 들어, 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 0인 경우, 즉 세컨더리 변환 스킵 StSkipFlag에 있어서, 세컨더리 변환의 실행이 나타나 있는 경우, 스위치(148)는 세컨더리 변환을 실행시킨다. 즉, 스위치(148)는, 행렬화부(144)로부터 공급되는 세컨더리 변환 계수 Coeff를 양자화부(113)에 공급한다. 또한, 예를 들어 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 1인 경우, 즉 세컨더리 변환 스킵 StSkipFlag에 있어서, 세컨더리 변환의 스킵이 나타나 있는 경우, 스위치(148)는 세컨더리 변환을 스킵시킨다. 즉, 스위치(148)는, 프라이머리 변환부(131)로부터 공급되는 프라이머리 변환 계수 Coeff_P를 세컨더리 변환 계수 Coeff로서 양자화부(113)에 공급한다.
또한, 스위치(148)는, 세컨더리 변환 식별자 st_idx에도 기초하여, 세컨더리 변환의 스킵을 제어할 수 있다. 예를 들어, 세컨더리 변환 식별자 st_idx가 0인(세컨더리 변환의 스킵을 나타내는) 경우, 스위치(148)는, 세컨더리 변환 스킵 플래그 StSkipFlag의 값에 상관없이, 세컨더리 변환을 스킵시킨다. 즉, 스위치(148)는, 프라이머리 변환부(131)로부터 공급되는 프라이머리 변환 계수 Coeff_P를 세컨더리 변환 계수 Coeff로서 양자화부(113)에 공급한다. 또한, 예를 들어 세컨더리 변환 식별자 st_idx가 0보다 큰(세컨더리 변환의 실행을 나타내는) 경우, 스위치(148)는, 세컨더리 변환 스킵 플래그 StSkipFlag를 참조하여, 상술한 바와 같이 세컨더리 변환을 제어한다.
이상과 같이, 비제로 계수 수 판정부(147)가 서브블록별 비제로 계수의 수에 기초하여, 세컨더리 변환 스킵 플래그 StSkipFlag를 설정하고, 스위치(148)가, 그 세컨더리 변환 스킵 플래그 StSkipFlag에 기초하여, 세컨더리 변환의 스킵을 제어한다. 이와 같이 함으로써, 비제로 계수가 소한 서브블록에 대한 세컨더리 변환을 스킵시킬 수 있게 되므로, 에너지 콤팩션의 저하를 억제하고, 부호화 효율의 저감을 억제할 수 있다.
<화상 부호화 처리의 흐름>
이어서, 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 최초로, 화상 부호화 처리의 흐름의 예를, 도 11의 흐름도를 참조하여 설명한다.
화상 부호화 처리가 개시되면, 스텝 S101에 있어서, 제어부(101)는, 부호화 제어 처리를 행하고, 블록 분할이나 부호화 파라미터의 설정 등을 행한다.
스텝 S102에 있어서, 예측부(119)는, 예측 처리를 행하여, 최적의 예측 모드의 예측 화상 등을 생성한다. 예를 들어, 이 예측 처리에 있어서, 예측부(119)는, 인트라 예측을 행하여 최적의 인트라 예측 모드의 예측 화상 등을 생성하고, 인터 예측을 행하여 최적의 인터 예측 모드의 예측 화상 등을 생성하고, 그들 중에서 비용 함수값 등에 기초하여 최적의 예측 모드를 선택한다.
스텝 S103에 있어서, 연산부(111)는, 입력 화상과, 스텝 S102의 예측 처리에 의해 선택된 최적의 모드의 예측 화상의 차분을 연산한다. 즉, 연산부(111)는, 입력 화상과 예측 화상의 예측 잔차 D를 생성한다. 이와 같이 하여 구해진 예측 잔차 D는, 원래의 화상 데이터에 비하여 데이터양이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여, 데이터양을 압축할 수 있다.
스텝 S104에 있어서, 변환부(112)는, 스텝 S103의 처리에 의해 생성된 예측 잔차 D에 대하여 변환 처리를 행하고, 변환 계수 Coeff를 도출한다. 스텝 S104의 처리의 상세에 대해서는 후술한다.
스텝 S105에 있어서, 양자화부(113)는, 제어부(101)에 의해 산출된 양자화 파라미터를 사용하거나 하여, 스텝 S104의 처리에 의해 얻어진 변환 계수 Coeff를 양자화하고, 양자화 변환 계수 레벨 level을 도출한다.
스텝 S106에 있어서, 역양자화부(115)는, 스텝 S105의 처리에 의해 생성된 양자화 변환 계수 레벨 level을, 그 스텝 S105의 양자화의 특성에 대응하는 특성으로 역양자화하고, 변환 계수 Coeff_IQ를 도출한다.
스텝 S107에 있어서, 역변환부(116)는, 스텝 S106의 처리에 의해 얻어진 변환 계수 Coeff_IQ를, 스텝 S104의 변환 처리에 대응하는 방법으로 역변환하고, 예측 잔차 D'를 도출한다. 또한, 이 역변환 처리는, 스텝 S104의 변환 처리의 역처리이며, 후술하는 화상 복호 처리에 있어서 실행되는 역변환 처리와 마찬가지로 실행된다. 그 때문에, 이 역변환 처리의 설명은, 복호측의 설명에 있어서 행한다.
스텝 S108에 있어서, 연산부(117)는, 스텝 S107의 처리에 의해 도출된 예측 잔차 D'에, 스텝 S102의 예측 처리에 의해 얻어진 예측 화상을 가산함으로써, 국소적으로 복호된 복호 화상을 생성한다.
스텝 S109에 있어서, 프레임 메모리(118)는, 스텝 S108의 처리에 의해 얻어진, 국소적으로 복호된 복호 화상을 기억한다.
스텝 S110에 있어서, 부호화부(114)는, 스텝 S105의 처리에 의해 얻어진 양자화 변환 계수 레벨 level을 부호화한다. 예를 들어, 부호화부(114)는, 화상에 관한 정보인 양자화 변환 계수 레벨 level을, 산술 부호화 등에 의해 부호화하고, 부호화 데이터를 생성한다. 또한, 이때, 부호화부(114)는, 각종 부호화 파라미터(헤더 정보 HInfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo)를 부호화한다. 또한, 부호화부(114)는, 양자화 변환 계수 레벨 level로부터 잔차 정보 RInfo를 도출하고, 그 잔차 정보 RInfo를 부호화한다. 부호화부(114)는, 이와 같이 생성된 각종 정보의 부호화 데이터를 통합하여, 비트 스트림으로서 화상 부호화 장치(100)의 외부에 출력한다. 이 비트 스트림은, 예를 들어 전송로나 기록 매체를 통하여 복호측으로 전송된다.
스텝 S110의 처리가 종료되면, 화상 부호화 처리가 종료된다.
또한, 이들 각 처리의 처리 단위는 임의이며, 서로 동일하지 않아도 된다. 따라서, 각 스텝의 처리는, 적절하게, 다른 스텝의 처리 등과 병행하여, 또는 처리순을 교체하여 실행할 수도 있다.
<변환 처리의 흐름>
이어서, 도 11의 스텝 S104에 있어서 실행되는 변환 처리의 흐름의 예를, 도 12의 흐름도를 참조하여 설명한다.
변환 처리가 개시되면, 스텝 S121에 있어서, 프라이머리 변환부(131)는, 프라이머리 변환 식별자 pt_idx에 기초하여, 예측 잔차 D에 대한 프라이머리 변환을 행하여, 프라이머리 변환 계수 Coeff_P를 도출한다.
스텝 S122에 있어서, 세컨더리 변환부(132)(스위치(148))는, 세컨더리 변환 식별자 st_idx가 세컨더리 변환을 적용하는지 여부(st_idx>0)를 판정한다. 세컨더리 변환 식별자 st_idx가 0이라고(세컨더리 변환의 스킵을 나타낸다고) 판정된 경우, 세컨더리 변환(스텝 S123 내지 스텝 S134의 처리)이 스킵되고, 변환 처리가 종료되며, 처리는 도 11로 되돌아간다. 즉, 세컨더리 변환부(132)(스위치(148))는, 프라이머리 변환 계수 Coeff_P를 변환 계수 Coeff로서 양자화부(113)에 공급한다.
또한, 스텝 S122에 있어서, 세컨더리 변환 식별자 st_idx가 0보다 크다(세컨더리 변환의 실행을 나타낸다)고 판정된 경우, 처리는 스텝 S123으로 진행한다.
스텝 S123에 있어서, 세컨더리 변환 선택부(145)는, 세컨더리 변환 식별자 st_idx에 의해 지정되는 세컨더리 변환의 행렬 R을 선택한다.
스텝 S124에 있어서, 세컨더리 변환부(132)는, 처리 대상의 변환 블록을 서브 블록으로 분할하고, 미처리의 서브블록을 선택한다.
스텝 S125에 있어서, 래스터라이즈부(141)는, 스캔 식별자 scanIdx로 지정되는 스캔 방법에 기초하여, 프라이머리 변환 계수 Coeff_P를 1차원 벡터 X1d로 변환시킨다.
스텝 S126에 있어서, 행렬 연산부(142)는, 1차원 벡터 X1d와 세컨더리 변환의 행렬 R의 행렬 곱을 연산하고, 1차원 벡터 Y1d를 구한다.
스텝 S127에 있어서, 스케일링부(143)는, 1차원 벡터 Y1d의 놈을 정규화하고, 1차원 벡터 Z1d를 구한다.
스텝 S128에 있어서, 행렬화부(144)는, 스캔 식별자 scanIdx로 지정되는 스캔 방법에 기초하여, 1차원 벡터 Z1d를 4×4의 행렬로 변환하고, 처리 대상의 서브블록의 세컨더리 변환 계수 Coeff를 구한다.
스텝 S129에 있어서, 양자화부(146)는, 프라이머리 변환 계수 Coeff_P 및 세컨더리 변환 계수 Coeff의 각각에 대하여, 양자화 파라미터 qp, 양자화 매트릭스 scaling_matrix를 참조하여 양자화하고, 양자화 프라이머리 변환 계수 level_P와, 양자화 세컨더리 변환 계수 level_S를 도출한다.
스텝 S130에 있어서, 비제로 계수 수 판정부(147)는, 서브블록별로, 양자화 프라이머리 변환 계수 level_P, 양자화 세컨더리 변환 계수 level_S 및 역치 TH에 기초하여, 세컨더리 변환 스킵 플래그 StSkipFlag를 상술한 바와 같이 도출한다.
스텝 S131에 있어서, 스위치(148)는, 스텝 S130에 있어서 도출된 세컨더리 변환 스킵 플래그 StSkipfFlag가 세컨더리 변환의 스킵을 나타내는지 여부를 판정한다. 세컨더리 변환의 실행을 나타내는, 즉 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 0인 경우, 처리는 스텝 S132로 진행한다.
스텝 S132에 있어서, 스위치(148)는, 스텝 S128의 처리에 의해 얻어진 세컨더리 변환 계수 Coeff를 출력한다(양자화부(113)에 공급함). 스텝 S132의 처리가 종료되면 처리는 스텝 S134로 진행한다.
또한, 스텝 S131에 있어서, 세컨더리 변환의 스킵을 나타내는, 즉 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 1인 경우, 처리는 스텝 S133으로 진행한다.
스텝 S133에 있어서, 스위치(148)는, 스텝 S121의 처리에 의해 얻어진 프라이머리 변환 계수 Coeff_P를 세컨더리 변환 계수 Coeff로서 출력한다(양자화부(113)에 공급함). 스텝 S133의 처리가 종료되면 처리는 스텝 S134로 진행한다.
스텝 S134에 있어서, 세컨더리 변환부(132)는, 처리 대상의 변환 블록의 모든 서브블록을 처리하였는지 여부를 판정한다. 미처리의 서브블록이 존재한다고 판정된 경우, 처리는 스텝 S124로 되돌아가고, 그 이후의 처리를 반복한다. 즉, 처리 대상의 변환 블록의 각 서브블록에 대하여, 스텝 S124 내지 스텝 S134의 각 처리(세컨더리 변환)가 실행된다. 스텝 S134에 있어서, 모든 서브블록을 처리하였다(모든 서브블록의 세컨더리 변환의 실행 또는 스킵을 행하였다)고 판정된 경우, 변환 처리가 종료되고, 처리는 도 11로 되돌아간다.
또한, 변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나, 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S122에 있어서 세컨더리 변환 식별자 st_idx=0이라고 판정된 경우, 16×16의 단위 행렬이 세컨더리 변환의 행렬 R로서 선택되고, 스텝 S124 내지 스텝 S134의 각 처리가 실행되도록 해도 된다.
이상과 같이 각 처리를 실행함으로써, 서브블록 단위로, 세컨더리 변환의 스킵(실행)을 제어할 수 있다. 따라서, 비제로 계수가 소한 잔차 신호에 대하여, 에너지 콤팩션의 저하를 억제할 수 있다. 즉, 부호화 효율의 저감을 억제할 수 있다. 환언하건데, 부호화 효율의 저감을 억제하면서, 부호화(세컨더리 변환ㆍ역 세컨더리 변환)의 부하의 증대를 억제할 수 있다.
<화상 복호 장치>
이어서, 이상과 같이 부호화된 부호화 데이터의 복호에 대하여 설명한다. 도 13은, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 13에 도시되는 화상 복호 장치(200)는, 도 7의 화상 부호화 장치(100)에 대응하는 화상 복호 장치이며, 화상 부호화 장치(100)가 생성한 부호화 데이터(비트 스트림)를, 화상 부호화 장치(100)에 의한 부호화 방법에 대응하는 복호 방법으로 복호한다. 예를 들어, 화상 복호 장치(200)는, HEVC에 제안된 기술이나, JVET에서 제안된 기술을 실장하고 있다.
또한, 도 13에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 13에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 복호 장치(200)에 있어서, 도 13에 있어서 블록으로서 나타나 있지 않은 처리부가 존재하거나, 도 13에 있어서 화살표 등으로서 나타나 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다.
도 13에 도시되는 바와 같이 화상 복호 장치(200)는, 복호부(211), 역양자화부(212), 역변환부(213), 연산부(214), 프레임 메모리(215) 및 예측부(216)를 갖는다. 화상 복호 장치(200)에는, 예를 들어 전송 매체나 기록 매체 등을 통하여, 화상 부호화 장치(100) 등이 생성한 부호화 데이터가 예를 들어 비트 스트림 등으로서 공급된다.
복호부(211)는, 공급되는 부호화 데이터를, 그 부호화 방법에 대응하는 소정의 복호 방법으로 복호한다. 예를 들어, 복호부(211)는, 신택스 테이블의 정의를 따라, 공급된 부호화 데이터(비트 스트림)의 비트열로부터, 각 신택스 요소의 신택스값을 복호한다. 신택스 요소에는, 예를 들어 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 잔차 정보 Rinfo 등의 정보가 포함된다.
복호부(211)는, 잔차 정보 Rinfo를 참조하여, 각 변환 블록 내의 각 계수 위치의 양자화 변환 계수 레벨 level을 도출한다. 복호부(211)는, 복호하여 얻은 예측 모드 정보 Pinfo, 양자화 변환 계수 레벨 level, 변환 정보 Tinfo를 각 블록에 공급한다. 예를 들어, 복호부(211)는, 예측 모드 정보 Pinfo를 예측부(216)에 공급하고, 양자화 변환 계수 레벨 level을 역양자화부(212)에 공급하고, 변환 정보 Tinfo를 역양자화부(212) 및 역변환부(213)에 공급한다.
역양자화부(212)는, 복호부(211)로부터 공급되는 변환 정보 Tinfo에 기초하여, 복호부(211)로부터 공급되는 양자화 변환 계수 레벨 level의 값을 스케일링(역양자화)하고, 역양자화 후의 변환 계수 Coeff_IQ를 도출한다. 이 역양자화는, 화상 부호화 장치(100)의 양자화부(113)(도 7)에 의해 행해지는 양자화의 역처리이다. 또한, 역양자화부(115)(도 7)는, 이 역양자화부(212)와 마찬가지의 역양자화를 행한다. 역양자화부(212)는, 얻어진 변환 계수 Coeff_IQ를 역변환부(213)에 공급한다.
역변환부(213)는, 복호부(211)로부터 공급되는 변환 정보 Tinfo에 기초하여, 역양자화부(212)로부터 공급되는 변환 계수 Coeff_IQ를 역변환하고, 예측 잔차 D'를 도출한다. 이 역변환은, 화상 부호화 장치(100)의 변환부(112)(도 7)에 의해 행해지는 변환 처리의 역처리이다. 또한, 역변환부(116)는, 이 역변환부(213)와 마찬가지의 역변환을 행한다. 이 역변환의 상세에 대해서는 후술한다. 역변환부(213)는, 얻어진 예측 잔차 D'를 연산부(214)에 공급한다.
연산부(214)는, 이하의 식 (24)에 나타나는 바와 같이, 역변환부(213)로부터 공급되는 예측 잔차 D'와 그 예측 잔차 D'에 대응하는 예측 화상 P(예측 신호)를 가산하고, 국소적인 복호 화상 Rec를 도출한다. 연산부(214)는, 얻어진 국소적인 복호 화상 Rec를 사용하여 픽처 단위별 복호 화상을 재구축하고, 얻어진 복호 화상을 화상 복호 장치(200)의 외부에 출력한다. 또한, 연산부(214)는, 그 국소적인 복호 화상 Rec를 프레임 메모리(215)에도 공급한다.
Rec=D'+P … (24)
프레임 메모리(215)는, 연산부(214)로부터 공급되는 국소적인 복호 화상 Rec를 사용하여 픽처 단위별 복호 화상을 재구축하고, 프레임 메모리(215) 내의 버퍼에 저장한다. 프레임 메모리(215)는, 예측부(216)의 예측 모드 정보 Pinfo에 의해 지정되는 복호 화상을 참조 화상으로서 버퍼로부터 판독하고, 예측부(216)에 공급한다. 또한, 프레임 메모리(215)는, 그 복호 화상의 생성에 관한 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등을 프레임 메모리(215) 내의 버퍼에 저장하도록 해도 된다.
예측부(216)는, 복호부(211)로부터 공급되는 예측 모드 정보 PInfo에 의해 지정되는, 프레임 메모리(215)에 저장된 복호 화상을 참조 화상으로서 취득하고, 그 참조 화상을 사용하여, 그 예측 모드 정보 Pinfo에 의해 지정되는 예측 방법에 의해 예측 화상 P를 생성한다. 예측부(216)는, 생성된 예측 화상 P를 연산부(214)에 공급한다.
이러한 화상 복호 장치(200)에 있어서, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하는 제어부를 구비하도록 한다. 즉, 역변환부(213)가, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 서브블록별로 제어하도록 한다.
<역변환부>
도 14는, 도 13의 역변환부(213)의 주된 구성예를 도시하는 블록도이다. 도 14에 도시되는 바와 같이, 역변환부(213)는, 역 세컨더리 변환부(231) 및 역 프라이머리 변환부(232)를 갖는다.
역 세컨더리 변환부(231)는, 역양자화부(212)로부터 공급되는 변환 계수 Coeff_IQ, 즉 부호화 데이터가 복호되고, 역양자화되어 얻어지는 변환 계수 Coeff_IQ(세컨더리 변환 계수라고도 칭함)를 1차원 벡터로 변환하고, 그 1차원 벡터에 대한 행렬 연산을 행하고, 그 행렬 연산이 행해진 1차원 벡터의 스케일링을 행하고, 그 스케일링된 1차원 벡터를 행렬화하는 변환 처리인 역 세컨더리 변환을 행한다.
역 세컨더리 변환부(231)는, 세컨더리 변환의 내용에 관한 정보인 세컨더리 변환 식별자 st_idx와, 변환 계수의 스캔 방법에 관한 정보인 스캔 식별자 scanIdx에 기초하여, 세컨더리 변환 계수 Coeff_IQ에 대하여 역 세컨더리 변환을 행하고, 역 세컨더리 변환 후의 변환 계수 Coeff_IS(프라이머리 변환 계수라고도 칭함)를 도출한다. 즉, 역 세컨더리 변환부(231)는, 세컨더리 변환 계수 Coeff_IQ를 프라이머리 변환 계수 Coeff_IS로 변환시킨다. 역 세컨더리 변환부(231)는, 그 프라이머리 변환 계수 Coeff_IS를, 역 프라이머리 변환부(232)에 공급한다.
또한, 역 세컨더리 변환부(231)는, 역 세컨더리 변환을 스킵(생략)하고, 세컨더리 변환 계수 Coeff_IQ를, 프라이머리 변환 계수 Coeff_IS로서, 역 프라이머리 변환부(232)에 공급할 수도 있다. 역 세컨더리 변환부(231)의 상세에 대해서는 후술한다.
역 프라이머리 변환부(232)는, 역 세컨더리 변환부(231)로부터 공급되는 프라이머리 변환 계수 Coeff_IS에 대하여, 예를 들어 역직교 변환 등의 역 프라이머리 변환을 실행하고, 예측 잔차 D'를 도출한다. 즉, 역 프라이머리 변환부(232)는, 프라이머리 변환 계수 Coeff_IS를 예측 잔차 D'로 변환시킨다. 역 프라이머리 변환부(232)는, 도출한 예측 잔차 D'를 연산부(214)에 공급한다.
이어서, 역 세컨더리 변환부(231)에 대하여 설명한다. 도 14에 도시되는 바와 같이, 역 세컨더리 변환부(231)는, 비제로 계수 수 판정부(241), 스위치(242), 래스터라이즈부(243), 행렬 연산부(244), 스케일링부(245), 행렬화부(246) 및 역 세컨더리 변환 선택부(247)를 갖는다.
비제로 계수 수 판정부(241)는, 서브블록 단위의 세컨더리 변환 계수 Coeff_IQ를 입력으로 한다. 비제로 계수 수 판정부(241)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 참조하여, 서브블록 내의 비제로 계수의 수 numSigInSBK(변환 계수의 비제로 계수 수라고도 칭함)를, 예를 들어 이하의 식 (25)와 같이 도출한다. 또한, 식 (25)에 있어서, 세컨더리 변환 계수 Coeff_IQ(i,j)의 (i,j)는 서브블록 내의 좌표를 나타내고, i=0 … 3, j=0 … 3이다. 또한, 연산자 abs(X)는, 입력값 X의 절댓값을 돌려주는 연산자이다.
Figure pct00011
또한, 세컨더리 변환 계수 Coeff_IQ를 참조하지 않고, 비제로 계수 유무 플래그 sig_coeff_flag에 기초하여, 변환 계수의 비제로 계수 수 numSigInSBK를 도출하도록 해도 된다.
그리고, 비제로 계수 수 판정부(241)는, 변환 계수의 비제로 계수 수 numSigInSBK가 소정의 역치 TH 이하인지 여부를 판정하고, 이하의 식 (26)에 나타나는 바와 같이, 그 판정 결과에 기초하여, 세컨더리 변환 스킵 플래그 StSkipFlag를 도출한다.
Figure pct00012
이 역치 TH는, 예를 들어 2여도 되고, 0 내지 16까지 중 어느 값이어도 된다. 또한, 역치 TH는, VPS/SPS/PPS/슬라이스 헤더 SH 등의 헤더 정보에 있어서 외부(예를 들어 부호화측이나 제어측 등)로부터 통지되도록 해도 된다. 또한, 역치 TH는, 부호화측(예를 들어 화상 부호화 장치(100))과 복호측(예를 들어, 후술하는 화상 복호 장치(200))의 사이에서 미리 정해 두고, 부호화측으로부터 복호측으로의 통지(역치 TH의, 부호화측으로부터 복호측으로의 전송)를 생략하도록 해도 된다.
식 (26)에 있어서, 예를 들어 변환 계수의 비제로 계수 수 numSigInSBK의 값이 역치 TH 이하인 경우, 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 1로 설정된다. 또한, 예를 들어 변환 계수의 비제로 계수 수 numSigInSBK의 값이, 역치 TH보다 큰 경우, 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 0으로 설정된다.
비제로 계수 수 판정부(241)는, 도출한 StSkipFlag를 스위치(242)에 공급한다.
스위치(242)는, 서브블록 단위의 세컨더리 변환 계수 Coeff_IQ, 및 세컨더리 변환 스킵 플래그 StSkipfFlag를 입력으로 한다. 스위치(242)는, 비제로 계수 수 판정부(241)로부터 공급되는 세컨더리 변환 스킵 플래그 StSkipFlag에 따라, 역 세컨더리 변환의 스킵을 제어한다.
예를 들어, 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 0인 경우, 즉 세컨더리 변환 스킵 StSkipFlag에 있어서, 세컨더리 변환의 실행이 나타나 있는 경우, 스위치(242)는 세컨더리 변환을 실행시킨다. 즉, 스위치(242)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 래스터라이즈부(243)에 공급한다. 또한, 예를 들어 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 1인 경우, 즉 세컨더리 변환 스킵 StSkipFlag에 있어서, 역 세컨더리 변환의 스킵이 나타나 있는 경우, 스위치(242)는 역 세컨더리 변환을 스킵시킨다. 즉, 스위치(242)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 프라이머리 변환 계수 Coeff_IS로서, 역 프라이머리 변환부(232)에 공급한다.
래스터라이즈부(243)는, 복호부(211)로부터 공급되는 스캔 식별자 scanIdx에 의해 지정되는 변환 계수의 스캔 방법에 기초하여, 서브블록(4×4 서브블록)별로, 스위치(242)로부터 공급되는 변환 계수 Coeff_IQ를 1차원 벡터 X1d로 변환시킨다. 래스터라이즈부(243)는, 얻어진 1차원 벡터 X1d를 행렬 연산부(244)에 공급한다.
역 세컨더리 변환 선택부(247)는, 복호부(211)로부터 공급되는, 역 세컨더리 변환의 내용에 관한 정보인 세컨더리 변환 식별자 st_idx에 의해 지정되는 역 세컨더리 변환의 행렬 IR(=RT)을, 역 세컨더리 변환 선택부(247)의 내부 메모리(도시하지 않음)로부터 판독하고, 행렬 연산부(244)에 공급한다. 예를 들어, 역 세컨더리 변환 선택부(247)는, 어떠한 세컨더리 변환 식별자 st_idx의 값일 때, 역 세컨더리 변환의 행렬 IR로서, 도 10에 도시되는 16×16의 행렬 R의 전치 행렬 RT를 판독하고, 그것을 행렬 연산부(244)에 공급한다.
또한, 역 세컨더리 변환 선택부(247)가, 예를 들어 복호부(211)로부터 공급되는 세컨더리 변환 식별자 st_idx나 인트라 예측 모드 정보 IPinfo(예를 들어, 인트라 예측 모드 번호)에 따라, 역 세컨더리 변환의 행렬 IR(=RT)을 선택하도록 해도 된다. 또한, 인트라 예측 모드 정보 IPinfo 대신에, 움직임 예측 정보 MVinfo와 세컨더리 변환 식별자 st_idx에 따라, 역변환 IR이 선택되도록 해도 된다.
행렬 연산부(244)는, 서브블록(4×4 서브블록)별로, 1차원 벡터 X1d 및 역 세컨더리 변환의 행렬 IR(=RT)의 행렬을 사용하여, 이하의 식 (27)에 나타나는 바와 같은 행렬 연산을 행하고, 그 결과로서 1차원 벡터 Y1d를 도출한다. 여기서, 연산자 "ㆍ"은 행렬끼리의 내적(행렬 곱)을 행하는 조작을 나타내고, 연산자 "T"는 전치 행렬의 조작을 나타낸다. 행렬 연산부(244)는, 도출한 1차원 벡터 Y1d를 스케일링부(245)에 공급한다.
Figure pct00013
스케일링부(245)는, 서브블록(4×4 서브블록)별로, 행렬 연산부(244)로부터 공급되는 1차원 벡터 Y1d의 놈을 정규화하기 위해, 이하의 식 (28)에 나타나는 바와 같은 N(N은 자연수) 비트의 비트 시프트 연산을 1차원 벡터 Y1d의 모든 요소에 대하여 행하고, 비트 시프트 후의 1차원 벡터 Z1d를 구한다.
Figure pct00014
또한, 이하의 식 (29)에 나타나는 바와 같이, N 비트의 시프트 연산 전에, 오프셋으로서, 1<<(N-1)의 값이, 1차원 벡터 Z1d의 각 요소에 가산되도록 해도 된다. 또한, 식 (29)에 있어서, 벡터 E는, 모든 요소의 값이 1인 1차원 벡터이다.
Figure pct00015
예를 들어, 역 세컨더리 변환의 행렬 IR(=RT)의 행렬은, 도 10에 도시되는 세컨더리 변환의 행렬 R의 전치 행렬이며, 8비트 스케일링된 행렬이기 때문에, 스케일링부(245)에 있어서, 놈의 정규화에 사용되는 N의 값은 8이다. 일반적으로, 역 세컨더리 변환의 행렬 IR(=RT)이 N 비트 스케일링되어 있는 경우, 놈 정규화의 비트 시프트양은 N 비트이다. 스케일링부(245)는, 이상과 같이 하여 얻어진 놈 정규화 후의 1차원 벡터 Z1d를 행렬화부(246)에 공급한다.
행렬화부(246)는, 서브블록(4×4 서브블록)별로, 놈 정규화 후의 1차원 벡터 Z1d 및 스캔 식별자 scanIdx를 입력으로 하여, 복호부(211)로부터 공급되는 스캔 식별자 scanIdx에 의해 지정되는 스캔 방법에 기초하여, 스케일링부(245)로부터 공급되는 1차원 벡터 Z1d를 4×4 행렬의 프라이머리 변환 계수 Coeff_IS로 변환시킨다. 행렬화부(246)는, 얻어진 프라이머리 변환 계수 Coeff_IS를 역 프라이머리 변환부(232)에 공급한다.
이상과 같이, 비제로 계수 수 판정부(241)가 서브블록별 비제로 계수의 수에 기초하여, 세컨더리 변환 스킵 플래그 StSkipFlag를 설정하고, 스위치(242)가, 그 세컨더리 변환 스킵 플래그 StSkipFlag에 기초하여, 세컨더리 변환의 스킵을 제어한다. 이와 같이 함으로써, 비제로 계수가 소한 서브블록에 대한 세컨더리 변환을 스킵시킬 수 있게 되므로, 에너지 콤팩션의 저하를 억제하고, 부호화 효율의 저감을 억제할 수 있다.
<화상 복호 처리의 흐름>
이어서, 이상과 같은 화상 복호 장치(200)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 최초로, 도 15의 흐름도를 참조하여, 화상 복호 처리의 흐름의 예를 설명한다.
화상 복호 처리가 개시되면, 스텝 S201에 있어서, 복호부(211)는, 화상 복호 장치(200)에 공급되는 비트 스트림(부호화 데이터)을 복호하고, 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 잔차 정보 Rinfo, 양자화 변환 계수 레벨 level 등의 정보를 얻는다.
스텝 S202에 있어서, 역양자화부(212)는, 스텝 S201의 처리에 의해 얻어진 양자화 변환 계수 레벨 level을 역양자화하여 변환 계수 Coeff_IQ를 도출한다. 이 역양자화는, 화상 부호화 처리의 스텝 S105(도 11)에 있어서 행해지는 양자화의 역처리이며, 화상 부호화 처리의 스텝 S106(도 11)에 있어서 행해지는 역양자화와 마찬가지의 처리이다.
스텝 S203에 있어서, 역변환부(213)는, 스텝 S202의 처리에 의해 얻어진 변환 계수 Coeff_IQ를 역변환하고, 예측 잔차 D'를 도출한다. 이 역변환은, 화상 부호화 처리의 스텝 S104(도 11)에 있어서 행해지는 변환 처리의 역처리이며, 화상 부호화 처리의 스텝 S107(도 11)에 있어서 행해지는 역변환과 마찬가지의 처리이다.
스텝 S204에 있어서, 예측부(216)는, 예측 모드 정보 PInfo에 기초하여, 부호화 시의 예측과 동일한 예측 모드에서 예측을 행하여, 예측 화상을 생성한다.
스텝 S205에 있어서, 연산부(214)는, 스텝 S203의 처리에 의해 얻어진 예측 잔차 D'에, 스텝 S204의 처리에 의해 얻어진 예측 화상을 가산하고, 복호 화상을 얻는다.
스텝 S205의 처리가 종료되면, 화상 복호 처리가 종료된다.
<역변환 처리의 흐름>
이어서, 도 15의 스텝 S203에 있어서 실행되는 역변환 처리의 흐름의 예를, 도 16의 흐름도를 참조하여 설명한다.
역변환 처리가 개시되면, 스텝 S221에 있어서, 역 세컨더리 변환부(231)(스위치(242))는, 세컨더리 변환 식별자 st_idx가 역 세컨더리 변환을 적용하는지 여부(st_idx>0)를 판정한다. 세컨더리 변환 식별자 st_idx가 0이라고(세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 스킵을 나타낸다고) 판정된 경우, 역 세컨더리 변환(스텝 S222 내지 스텝 S230의 처리)이 스킵되고, 처리는 스텝 S231로 진행한다. 즉, 역 세컨더리 변환부(231)(스위치(242))는, 도 15의 스텝 S202의 처리에 의해 얻어진 세컨더리 변환 계수 Coeff_IQ를 프라이머리 변환 계수 Coeff_IS로서, 역 프라이머리 변환부(232)에 공급한다.
또한, 스텝 S221에 있어서, 세컨더리 변환 식별자 st_idx가 0보다 크다(세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 실행을 나타낸다)고 판정된 경우, 처리는 스텝 S222로 진행한다.
스텝 S222에 있어서, 역 세컨더리 변환 선택부(247)는, 세컨더리 변환 식별자 st_idx에 의해 지정되는 역 세컨더리 변환의 행렬 IR을 선택한다.
스텝 S223에 있어서, 역 세컨더리 변환부(231)는, 처리 대상의 변환 블록에 포함되는 미처리의 서브블록을 선택한다.
스텝 S224에 있어서, 비제로 계수 수 판정부(241)는, 상술한 바와 같이, 도 15의 스텝 S202의 처리에 의해 얻어진 서브블록 단위의 세컨더리 변환 계수 Coeff_IQ에 기초하여 변환 계수의 비제로 계수 수 numSigInSBK를 도출하고, 또한 그 변환 계수의 비제로 계수 수 numSigInSBK 및 역치 TH를 사용하여 세컨더리 변환 스킵 플래그 StSkipFlag를 도출한다.
스텝 S225에 있어서, 스위치(242)는, 스텝 S224의 처리에 의해 얻어진 세컨더리 변환 스킵 플래그 StSkipFlag가 역 세컨더리 변환의 스킵을 나타내는지 여부를 판정한다. 세컨더리 변환의 실행을 나타내는, 즉 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 0이라고 판정된 경우, 처리는 스텝 S226으로 진행한다.
스텝 S226에 있어서, 래스터라이즈부(243)는, 스캔 식별자 scanIdx에 의해 지정되는 스캔 방법에 기초하여, 도 15의 스텝 S202의 처리에 의해 얻어진 세컨더리 변환 계수 Coeff_IQ를 1차원 벡터 X1d로 변환시킨다.
스텝 S227에 있어서, 행렬 연산부(244)는, 그 1차원 벡터 X1d와, 스텝 S222의 처리에 의해 얻어진 역 세컨더리 변환의 행렬 IR의 행렬 곱을 연산하고, 1차원 벡터 Y1d를 구한다.
스텝 S228에 있어서, 스케일링부(245)는, 그 1차원 벡터 Y1d의 놈을 정규화하고, 1차원 벡터 Z1d를 구한다.
스텝 S229에 있어서, 행렬화부(246)는, 스캔 식별자 scanIdx에 의해 지정되는 스캔 방법에 기초하여, 그 1차원 벡터 Z1d를 4×4의 행렬로 변환하고, 처리 대상의 서브블록 프라이머리 변환 계수 Coeff_IS를 구한다. 스텝 S229의 처리가 종료되면, 처리는 스텝 S230으로 진행한다. 또한, 스텝 S225에 있어서, 역 세컨더리 변환의 스킵을 나타내는, 즉 세컨더리 변환 스킵 플래그 StSkipFlag의 값이 1인 경우, 처리는 스텝 S230으로 진행한다.
스텝 S230에 있어서, 역 세컨더리 변환부(231)는, 처리 대상의 변환 블록의 모든 서브블록을 처리하였는지 여부를 판정한다. 미처리의 서브블록이 존재한다고 판정된 경우, 처리는 스텝 S223으로 되돌아가고, 그 이후의 처리를 반복한다. 즉, 처리 대상의 변환 블록의 각 서브블록에 대하여, 스텝 S223 내지 스텝 S230의 각 처리(역 세컨더리 변환)가 실행된다. 스텝 S230에 있어서, 모든 서브블록을 처리하였다(모든 서브블록의 역 세컨더리 변환의 실행 또는 스킵을 행하였다)고 판정된 경우, 처리는 스텝 S231로 진행한다.
스텝 S231에 있어서, 역 프라이머리 변환부(232)는, 프라이머리 변환 식별자 pt_idx에 기초하여, 프라이머리 변환 계수 Coeff_IS에 대한 역 프라이머리 변환을 행하여, 예측 잔차 D'를 도출한다. 이 예측 잔차 D'는 연산부(214)에 공급된다.
스텝 S231의 처리가 종료되면, 역변환 처리가 종료되고, 처리는 도 15로 되돌아간다.
또한, 이상의 역변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나, 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S221에 있어서 세컨더리 변환 식별자 st_idx가 0이라고 판정된 경우, 16×16의 단위 행렬이 역 세컨더리 변환의 행렬 IR로서 선택되고, 스텝 S222 내지 스텝 S230의 각 처리가 실행되도록 해도 된다.
이상과 같이 각 처리를 실행함으로써, 서브블록 단위로, 역 세컨더리 변환의 스킵(실행)을 제어할 수 있다. 따라서, 비제로 계수가 소한 잔차 신호에 대하여, 에너지 콤팩션의 저하를 억제할 수 있다. 즉, 부호화 효율의 저감을 억제할 수 있다. 환언하건데, 부호화 효율의 저감을 억제하면서, 복호(역 세컨더리 변환)의 부하의 증대를 억제할 수 있다.
또한, 이상에 있어서는, (역)세컨더리 변환의 스킵을 서브블록별로 제어하도록 설명하였지만, 서브블록별로 행하는 스킵의 제어는, (역)세컨더리 변환뿐만 아니라, 임의의 변환 처리에 적용할 수 있다.
<2. 제2 실시 형태>
<스캔 방법을 사용한 세컨더리 변환의 선택>
그런데, 비특허문헌 1 및 비특허문헌 2 중 어디에 기재된 방법에 있어서도, 세컨더리 변환은, 인트라 예측 모드의 클래스수와 각 클래스에 대응하는 세컨더리 변환의 수만큼, 세컨더리 변환의 행렬을 갖고 있었다. 그 때문에, 세컨더리 변환의 행렬을 유지하기 위해 거대한 메모리 사이즈가 필요하였다. 예를 들어, 비특허문헌 1에 기재된 방법의 경우, 인트라 예측 모드의 클래스수가 12이고, 각 클래스에 대한 세컨더리 변환의 수가 3이므로, 12*3=36의 행렬이 존재하고 있었다. 또한, 비특허문헌 2에 기재된 방법의 경우, 인트라 예측 모드의 클래스수가 35이고, 각 클래스에 대한 세컨더리 변환의 수가 5이므로, 35*5=175의 행렬이 존재하고 있었다.
따라서, 예를 들어 각 행렬의 요소를 9bit 정밀도로 유지하는 경우, 비특허문헌 1에 기재된 방법의 경우, 이하의 식 (30)에 나타나는 바와 같은 메모리 사이즈가 필요하게 된다. 또한, 비특허문헌 2에 기재된 방법의 경우, 이하의 식 (31)에 나타나는 바와 같은 메모리 사이즈가 필요하게 된다.
Figure pct00016
이와 같이, 유지하는 (역)세컨더리 변환의 행렬의 데이터양이 증대되면, 부호화ㆍ복호의 부하가 증대될 우려가 있었다. 또한, 필요로 하는 메모리 사이즈도 증대되기 때문에, 비용이 증대될 우려가 있었다.
그래서, 세컨더리 변환의 행렬 R이나 역 세컨더리 변환의 행렬 IR을, 세컨더리 변환 식별자와 스캔 식별자에 기초하여 설정하도록 한다. 즉, 인트라 예측 모드의 방향과, 스캔 방법이 대응하고 있는 점에 착안하여, 인트라 예측 모드의 클래스 분류를, 스캔 방법에 관한 정보인 스캔 식별자(scanIdx)로 치환한다. 도 17에는, 인트라 예측 모드와 스캔 식별자(scanIdx)의 대응 관계의 예가 도시되어 있다.
스캔 식별자(scanIdx)의 각 값에 대응하는 세컨더리 변환은 5종류이다. 이것은 세컨더리 변환 식별자(st_idx)별로 할당하기 위해서이다. 따라서, 이 경우, 세컨더리 변환의 총수는 3×5=15가 된다. 즉, 상술한 비특허문헌 1이나 비특허문헌 2에 기재된 방법에 비하여 세컨더리 변환의 수를 저감할 수 있다. 그리고, 9bit 정밀도의 경우, 전체 세컨더리 변환의 유지에 필요한 메모리 사이즈는, 이하의 식 (32)와 같이 된다.
Figure pct00017
따라서, 상술한 식 (30)이나 (31)의 경우(비특허문헌 1이나 비특허문헌 2에 기재된 방법의 경우)와 비교하여, 세컨더리 변환의 행렬의 데이터양을 대폭 저감할 수 있다. 이에 의해, 부호화ㆍ복호의 부하의 증대를 억제하고, (역)세컨더리 변환의 행렬의 유지에 필요한 메모리 사이즈의 증대를 억제할 수 있다.
<변환부>
이 경우에도 화상 부호화 장치(100)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖는다. 단, 이 경우의 화상 부호화 장치(100)는, 변환 계수에 대한 변환 처리의 행렬을, 그 변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와, 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 변환 처리되어 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와, 그 설정부에 의해 설정된 행렬을 사용하여, 그 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와, 그 행렬 연산이 행해진 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와, 그 스케일링된 1차원 벡터를 행렬화하는 행렬화부를 구비한다. 즉, 이 경우의 변환부(112)는, 변환 계수에 대한 변환 처리의 행렬을, 그 변환 처리의 내용과 스캔 방법에 기초하여 설정하고, 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 변환 처리되어 얻어지는 변환 계수를 1차원 벡터로 변환하고, 그 설정된 행렬을 사용하여, 그 1차원 벡터에 대한 행렬 연산을 행하고, 그 행렬 연산이 행해진 1차원 벡터에 대하여 스케일링을 행하고, 그 스케일링된 1차원 벡터를 행렬화하도록 한다.
도 18은, 이 경우의 변환부(112)의 주된 구성예를 도시하는 블록도이다. 도 18에 도시되는 바와 같이, 이 경우에도 변환부(112)는, 기본적으로 제1 실시 형태의 경우(도 8)와 마찬가지의 구성을 갖는다. 단, 이 경우의 세컨더리 변환부(132)는, 양자화부(146) 내지 스위치(148)를 생략할 수 있고, 또한 세컨더리 변환 선택부(145) 대신에 세컨더리 변환 선택부(301)를 갖는다.
세컨더리 변환 선택부(301)는, 세컨더리 변환 식별자 st_idx, 및 스캔 식별자 scanIdx를 입력으로 한다. 세컨더리 변환 선택부(301)는, 입력된 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여, 세컨더리 변환의 행렬 R을 선택하고, 행렬 연산부(142)에 공급한다.
<세컨더리 변환 선택부>
도 19는, 세컨더리 변환 선택부(301)의 주된 구성예를 도시하는 블록도이다. 도 19에 도시되는 바와 같이, 세컨더리 변환 선택부(301)는, 세컨더리 변환 도출부(311) 및 세컨더리 변환 유지부(312)를 갖는다.
세컨더리 변환 도출부(311)는, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx를 입력으로 한다. 세컨더리 변환 도출부(311)는, 입력된 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여, 세컨더리 변환 유지부(312)에 저장되어 있는 세컨더리 변환 행렬 테이블 LIST_FwdST[][]로부터, 해당되는 세컨더리 변환의 행렬 R을 이하의 식 (33)과 같이 판독하고, 외부에 출력한다. 여기서, 역 세컨더리 변환 행렬 테이블 LIST_FwdST[][]에는, 스캔 식별자 scanIdx와 세컨더리 변환 식별자 st_idx별로 대응하는 세컨더리 변환의 행렬 R이 저장되어 있다.
Figure pct00018
세컨더리 변환 유지부(312)는, 스캔 식별자 scanIdx와 세컨더리 변환 식별자 st_idx별로 대응하는 세컨더리 변환의 행렬 R이 저장된 세컨더리 변환 행렬 테이블 LIST_FwdST[][]를 유지하고 있다. 세컨더리 변환 도출부(311)의 지시에 기초하여, 해당되는 세컨더리 변환의 행렬 R을 세컨더리 변환 도출부(311)에 공급한다.
<변환 처리의 흐름>
이어서, 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 이 경우 화상 부호화 장치(100)는, 화상 부호화 처리를, 제1 실시 형태의 경우(도 11)와 기본적으로 마찬가지로 행한다. 이 경우의 변환 처리의 흐름의 예를, 도 20의 흐름도를 참조하여 설명한다.
변환 처리가 개시되면, 스텝 S301 및 스텝 S302의 각 처리는, 도 12의 스텝 S121 및 스텝 S122의 각 처리와 마찬가지로 실행된다. 즉, 세컨더리 변환 식별자 st_idx가 0이라고(세컨더리 변환의 스킵을 나타낸다고) 판정된 경우, 세컨더리 변환(스텝 S303 내지 스텝 S309의 처리)이 스킵되고, 변환 처리가 종료되고, 처리는 도 11로 되돌아간다. 즉, 세컨더리 변환부(132)는, 프라이머리 변환 계수 Coeff_P를 변환 계수 Coeff로서 양자화부(113)에 공급한다.
또한, 스텝 S302에 있어서, 세컨더리 변환 식별자 st_idx가 0보다 크다(세컨더리 변환의 실행을 나타낸다)고 판정된 경우, 처리는 스텝 S303으로 진행한다.
스텝 S303에 있어서, 세컨더리 변환 선택부(301)는, 세컨더리 변환 식별자 st_idx와 스캔 식별자 scanIdx에 대응하는 세컨더리 변환의 행렬 R을 선택한다. 즉, 세컨더리 변환 도출부(311)는, 세컨더리 변환 유지부(312)에 유지되어 있는 세컨더리 변환 행렬 테이블로부터 세컨더리 변환 식별자 st_idx와 스캔 식별자 scanIdx에 대응하는 세컨더리 변환의 행렬 R을 판독하여 선택한다.
스텝 S304 내지 스텝 S309의 각 처리는, 도 12의 스텝 S124 내지 스텝 S128, 그리고 스텝 S134의 각 처리와 마찬가지로 실행된다. 즉, 스텝 S304 내지 스텝 S309의 각 처리가 서브블록별로 행해짐으로써, 서브블록별로 세컨더리 변환이 행해진다. 그리고, 스텝 S309에 있어서, 모든 서브블록을 처리하였다고 판정된 경우, 변환 처리가 종료되고, 처리는 도 11로 되돌아간다.
또한, 변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나, 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S302에 있어서 세컨더리 변환 식별자 st_idx=0이라고 판정된 경우, 16×16의 단위 행렬이 세컨더리 변환의 행렬 R로서 선택되고, 스텝 S304 내지 스텝 S309의 각 처리가 실행되도록 해도 된다.
이상과 같이 각 처리를 실행함으로써, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여 세컨더리 변환의 행렬 R을 선택할 수 있다. 따라서, 세컨더리 변환의 행렬의 데이터양을 대폭 저감할 수 있다. 이에 의해, 부호화의 부하의 증대를 억제하고, 세컨더리 변환의 행렬의 유지에 필요한 메모리 사이즈의 증대를 억제할 수 있다.
<역변환부>
다음으로 화상 복호 장치(200)에 대하여 설명한다. 이 경우에도 화상 복호 장치(200)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖는다. 단, 이 경우의 화상 복호 장치(200)는, 변환 계수에 대한 역변환 처리의 행렬을, 그 역변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와, 그 설정부에 의해 설정된 행렬을 사용하여, 그 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와, 그 행렬 연산이 행해진 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와, 그 스케일링된 1차원 벡터를 행렬화하는 행렬화부를 구비한다. 즉, 역변환부(213)는, 변환 계수에 대한 역변환 처리의 행렬을, 그 역변환 처리의 내용과 스캔 방법에 기초하여 설정하고, 역변환 처리함으로써 화상과 그 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하고, 그 설정된 행렬을 사용하여, 그 1차원 벡터에 대한 행렬 연산을 행하고, 그 행렬 연산이 행해진 1차원 벡터에 대하여 스케일링을 행하고, 그 스케일링된 1차원 벡터를 행렬화한다.
도 21은, 이 경우의 역변환부(213)의 주된 구성예를 도시하는 블록도이다. 도 21에 도시되는 바와 같이, 이 경우에도 역변환부(213)는, 기본적으로 제1 실시 형태의 경우(도 14)와 마찬가지의 구성을 갖는다. 단, 이 경우의 역 세컨더리 변환부(231)는, 비제로 계수 수 판정부(241) 및 스위치(242)를 생략할 수 있고, 또한 역 세컨더리 변환 선택부(247) 대신에 역 세컨더리 변환 선택부(321)를 갖는다.
역 세컨더리 변환 선택부(321)는, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx를 입력으로 한다. 역 세컨더리 변환 선택부(321)는, 입력된 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여, 역 세컨더리 변환의 행렬 IR을 선택하고, 행렬 연산부(244)에 공급한다.
<역 세컨더리 변환 선택부>
도 22는, 역 세컨더리 변환 선택부(321)의 주된 구성예를 도시하는 블록도이다. 도 22에 도시되는 바와 같이, 역 세컨더리 변환 선택부(321)는, 역 세컨더리 변환 도출부(331) 및 역 세컨더리 변환 유지부(332)를 갖는다.
역 세컨더리 변환 도출부(331)는, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx를 입력으로 한다. 역 세컨더리 변환 도출부(331)는, 입력된 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여, 역 세컨더리 변환 유지부(332)에 저장되어 있는 역 세컨더리 변환 행렬 테이블 LIST_InvST[][]로부터, 해당되는 역 세컨더리 변환의 행렬 IR(=RT)을 이하의 식 (34)와 같이 판독하고, 외부에 출력한다. 여기서, 역 세컨더리 변환 행렬 테이블 LIST_InvST[][]에는, 스캔 식별자 scanIdx와 세컨더리 변환 식별자 st_idx별로 대응하는 역 세컨더리 변환의 행렬 IR이 저장되어 있다.
Figure pct00019
역 세컨더리 변환 유지부(332)는, 스캔 식별자 scanIdx와 세컨더리 변환 식별자 st_idx별로 대응하는 역 세컨더리 변환의 행렬 IR이 저장된 역 세컨더리 변환 행렬 테이블 LIST_InvST[][]를 유지하고 있다. 역 세컨더리 변환 유지부(332)는, 역 세컨더리 변환 도출부(331)의 지시에 기초하여, 해당되는 역 세컨더리 변환의 행렬 IR(=RT)을 역 세컨더리 변환 도출부(331)에 공급한다.
<역변환 처리의 흐름>
이어서, 화상 복호 장치(200)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 이 경우 화상 복호 장치(200)는, 화상 복호 처리를, 제1 실시 형태의 경우(도 15)와 기본적으로 마찬가지로 행한다. 이 경우의 역변환 처리의 흐름의 예를, 도 23의 흐름도를 참조하여 설명한다.
역변환 처리가 개시되면, 스텝 S321에 있어서, 역 세컨더리 변환부(231)는, 세컨더리 변환 식별자 st_idx가 역 세컨더리 변환을 적용하는지 여부(st_idx>0)를 판정한다. 세컨더리 변환 식별자 st_idx가 0이라고(세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 스킵을 나타낸다고) 판정된 경우, 역 세컨더리 변환(스텝 S322 내지 스텝 S328의 처리)이 스킵되고, 처리는 스텝 S329로 진행한다. 즉, 역 세컨더리 변환부(231)는, 도 15의 스텝 S202의 처리에 의해 얻어진 세컨더리 변환 계수 Coeff_IQ를 프라이머리 변환 계수 Coeff_IS로서, 역 프라이머리 변환부(232)에 공급한다.
또한, 스텝 S321에 있어서, 세컨더리 변환 식별자 st_idx가 0보다 크다(세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 실행을 나타낸다)고 판정된 경우, 처리는 스텝 S322로 진행한다.
스텝 S322에 있어서, 역 세컨더리 변환 선택부(321)는, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 대응하는 역 세컨더리 변환의 행렬 IR을 선택한다. 즉, 역 세컨더리 변환 도출부(331)는, 역 세컨더리 변환 유지부(332)에 유지되어 있는 역 세컨더리 변환 행렬 테이블로부터 세컨더리 변환 식별자 st_idx와 스캔 식별자 scanIdx에 대응하는 역 세컨더리 변환의 행렬 IR을 판독하여 선택한다.
스텝 S323에 있어서, 역 세컨더리 변환부(231)는, 처리 대상의 변환 블록에 포함되는 미처리의 서브블록을 선택한다.
스텝 S324 내지 스텝 S328의 각 처리는, 도 16의 스텝 S226 내지 스텝 S230의 각 처리와 마찬가지로 실행된다. 즉, 스텝 S323 내지 스텝 S328의 각 처리가 서브블록별로 행해짐으로써, 서브블록별로 세컨더리 변환이 행해진다. 그리고, 스텝 S328에 있어서, 모든 서브블록을 처리하였다고 판정된 경우, 처리는 스텝 S329로 진행한다.
스텝 S329에 있어서, 역 프라이머리 변환부(232)는, 프라이머리 변환 식별자 pt_idx에 기초하여, 프라이머리 변환 계수 Coeff_IS에 대한 역 프라이머리 변환을 행하여, 예측 잔차 D'를 도출한다. 이 예측 잔차 D'는 연산부(214)에 공급된다.
스텝 S231의 처리가 종료되면, 역변환 처리가 종료되고, 처리는 도 15로 되돌아간다.
또한, 이상의 역변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나, 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S321에 있어서 세컨더리 변환 식별자 st_idx가 0이라고 판정된 경우, 16×16의 단위 행렬이 역 세컨더리 변환의 행렬 IR로서 선택되고, 스텝 S323 내지 스텝 S328의 각 처리가 실행되도록 해도 된다.
이상과 같이 각 처리를 실행함으로써, 세컨더리 변환 식별자 st_idx 및 스캔 식별자 scanIdx에 기초하여 역 세컨더리 변환의 행렬 IR을 선택할 수 있다. 따라서, 역 세컨더리 변환의 행렬의 데이터양을 대폭 저감할 수 있다. 이에 의해, 부호화ㆍ복호의 부하의 증대를 억제하고, (역)세컨더리 변환의 행렬의 유지에 필요한 메모리 사이즈의 증대를 억제할 수 있다.
<3. 제3 실시 형태>
<대역 제한>
비특허문헌 1에는, 변환 블록 사이즈가 64×64인 경우, 예측 잔차에 대하여 1 이상의 직교 변환을 행한 후에, 좌측 위의 32×32의 저주파 성분 이외의 고주파수 성분을 강제적으로 0으로 하도록 대역 제한을 행함으로써, 디코더의 계산 복잡도나 실장 비용을 저감하는 것이 기재되어 있다.
도 24는, 비특허문헌 1에 기재된 방법으로, 예측 잔차 D에 대하여, 프라이머리 변환, 세컨더리 변환 및 대역 제한을 행하는 변환부의 주된 구성예를 도시하는 블록도이다. 도 24에 도시되는 바와 같이, 변환부(400)는 스위치(401), 프라이머리 변환부(402), 세컨더리 변환부(403) 및 대역 제한부(404)를 갖는다.
스위치(401)에는, 변환 스킵 플래그 ts_flag, 변환 양자화 바이패스 플래그 transquant_bypass_flag 및 예측 잔차 D가 입력된다. 변환 스킵 플래그 ts_flag는, 대상으로 하는 데이터 단위에 있어서, (역)프라이머리 변환 및 (역)세컨더리 변환을 스킵하는지 여부를 나타내는 정보이다. 예를 들어, 이 변환 스킵 플래그 ts_flag가 1(진)인 경우, (역)프라이머리 변환 및 (역)세컨더리 변환이 스킵된다. 또한, 변환 스킵 플래그 ts_flag가 0(위)인 경우, (역)프라이머리 변환 및 (역)세컨더리 변환이 실행된다.
또한, 변환 양자화 바이패스 플래그 transquant_bypass_flag는, 대상으로 하는 데이터 단위에 있어서, (역)프라이머리 변환, (역)세컨더리 변환 및 (역)양자화를 스킵(바이패스)하는지 여부를 나타내는 정보이다. 예를 들어, 이 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1(진)인 경우, (역)프라이머리 변환, (역)세컨더리 변환 및 (역)양자화가 바이패스된다. 또한, 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0(위)인 경우, (역)프라이머리 변환, (역)세컨더리 변환 및 (역)양자화가 바이패스되지 않는다.
스위치(401)는, 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag에 기초하여, 예측 잔차 D에 대한 프라이머리 변환 및 세컨더리 변환의 스킵을 제어한다.
구체적으로는, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0인 경우, 스위치(401)는, 예측 잔차 D를 프라이머리 변환부(402)에 공급함으로써, 프라이머리 변환 및 세컨더리 변환을 실행시킨다. 한편, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인 경우, 스위치(401)는, 예측 잔차 D를 세컨더리 변환 계수 Coeff로서 대역 제한부(404)에 공급함으로써, 프라이머리 변환 및 세컨더리 변환을 스킵시킨다.
프라이머리 변환부(402)는, 도 8의 프라이머리 변환부(131)와 마찬가지로, 프라이머리 변환 식별자 pt_idx에 기초하여 예측 잔차 D에 대한 프라이머리 변환을 행하여, 프라이머리 변환 계수 Coeff_P를 도출한다. 프라이머리 변환 식별자 pt_idx는, 대상으로 하는 데이터 단위에 있어서, 수직 방향 및 수평 방향의 (역)프라이머리 변환에 어느 (역)프라이머리 변환을 적용하는지를 나타내는 식별자이다(예를 들어, JVET-B1001, 2.5.1 Adaptive multiple Core transform을 참조. JEM2에서는 emt_idx라고도 칭함). 프라이머리 변환부(402)는, 프라이머리 변환 계수 Coeff_P를 세컨더리 변환부(403)에 공급한다.
세컨더리 변환부(403)는, 세컨더리 변환 식별자 st_idx에 기초하여, 프라이머리 변환부(402)로부터 공급되는 프라이머리 변환 계수 Coeff_P에 대하여, 비특허문헌 1에 기재된 방법으로 세컨더리 변환을 행하여, 세컨더리 변환 계수 Coeff를 도출한다. 세컨더리 변환부(403)는, 세컨더리 변환 계수 Coeff를 대역 제한부(404)에 공급한다.
대역 제한부(404)는, 처리 대상 변환 블록의 블록 사이즈 TBSize가 64×64인 경우, 스위치(401) 또는 세컨더리 변환부(403)로부터 공급되는 세컨더리 변환 계수 Coeff에 대하여 고주파 성분을 0으로 하도록 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 도출한다. 한편, 대역 제한부(404)는, 처리 대상 변환 블록의 블록 사이즈 TBSize가 64×64가 아닌 경우, 세컨더리 변환 계수 Coeff를 그대로 대역 제한 후의 세컨더리 변환 계수 Coeff'로 한다. 대역 제한부(404)는, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 출력한다.
이상과 같이, 도 24의 변환부(400)에서는, 프라이머리 변환 및 세컨더리 변환이 스킵되는 경우라도, 블록 사이즈 TBSize가 64×64인 경우, 대역 제한(저역 통과 필터 처리)이 행해진다. 그러나, 프라이머리 변환 및 세컨더리 변환이 스킵되는 경우, 대역 제한부(404)에 입력되는 세컨더리 변환 계수 Coeff는, 예측 잔차 D이다. 따라서, 대역 제한부(404)는, 예측 잔차 D에 대하여 대역 제한을 행하게 되고, 대역 제한에 의해 변형이 증대된다.
예를 들어, 64×64의 변환 블록의 예측 잔차 D가 도 25의 A에 도시하는 64×64의 화상인 경우, 프라이머리 변환 및 세컨더리 변환이 스킵되면, 대역 제한부(404)에는, 도 25의 A에 도시되는 64×64의 화상이 세컨더리 변환 계수 Coeff로서 입력된다. 따라서, 대역 제한부(404)가, 고주파 성분으로서 변환 블록의 좌측 위의 32×32의 변환 계수 이외의 변환 계수를 0으로 하도록 대역 제한을 행하면, 대역 제한 후의 세컨더리 변환 계수 Coeff'는, 도 25의 B에 도시하는 64×64의 화상이 된다. 따라서, 대역 제한 후의 세컨더리 변환 계수 Coeff'에서는 변형이 증대된다. 그 결과, 부호화 효율이 저하된다. 또한, 손실 없는 부호화를 목적으로 하여 변환 양자화 바이패스를 행함에도 불구하고, 손실 없는 부호화를 행할 수 없다.
또한, 도 25에 있어서, 백색의 영역은 화소값이 0인 영역이며, 흑색의 영역은 화소값이 255인 영역이다.
<변환 스킵 또는 변환 양자화 바이패스 시의 대역 제한의 금지>
제3 실시 형태에서는, 세컨더리 변환 계수 Coeff에 대한 대역 제한을, 변환 스킵 플래그 ts_flag 및 변환 양자화 바이패스 플래그 transquant_bypass_flag에 기초하여 제어하도록 한다. 또한, 역양자화함으로써 얻어지는 세컨더리 변환 계수 Coeff_IQ에 대한 대역 제한을, 변환 스킵 플래그 ts_flag 및 변환 양자화 바이패스 플래그 transquant_bypass_flag에 기초하여 제어하도록 한다. 구체적으로는, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인 경우, (역)프라이머리 변환, (역)세컨더리 변환 및 대역 제한을 스킵하도록 한다.
이와 같이 함으로써, 예측 잔차 D인 세컨더리 변환 계수 Coeff(Coeff_IQ), 즉 화소 영역의 세컨더리 변환 계수에 대하여 대역 제한을 적용하는 것이 금지되므로, 변형의 증대가 억제된다. 그 결과, 부호화 효율의 저감을 억제할 수 있다. 또한, 변환 양자화 바이패스를 행함으로써, 손실 없는 부호화를 행할 수 있다.
<화상 부호화 장치>
본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제3 실시 형태의 구성은, 변환 정보 Tinfo, 변환부 및 역변환부의 구성을 제외하고, 도 7의 구성과 동일하다. 따라서, 이하에서는 변환 정보 Tinfo, 변환부 및 역변환부에 대해서만 설명한다.
제3 실시 형태에서는, 변환 정보 Tinfo에는, 변환 스킵 플래그 ts_flag, 변환 양자화 바이패스 플래그 transquant_bypass_flag, 프라이머리 변환 식별자 pt_idx, 세컨더리 변환 식별자 st_idx 및 블록 사이즈 TBSize가 포함된다.
또한, 제3 실시 형태에 있어서의 역변환부에 의해 행해지는 역변환은, 변환부에 의해 행해지는 변환의 역처리이며, 후술하는 화상 복호 장치에 있어서 행해지는 역변환과 마찬가지의 처리이다. 따라서, 이 역변환에 대해서는, 화상 복호 장치에 관한 설명에 있어서 후술한다.
<변환부>
도 26은, 본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제3 실시 형태에 있어서의 변환부의 주된 구성예를 도시하는 블록도이다.
도 26에 도시하는 구성 중, 도 24의 구성과 동일한 구성에는 동일한 부호를 부여하고 있다. 중복되는 설명에 대해서는 적절하게 생략한다.
도 26의 변환부(420)의 구성은, 스위치(401), 대역 제한부(404) 대신에, 스위치(421), 대역 제한부(424)가 마련되는 점이, 도 24의 변환부(400)의 구성과 상이하다.
변환부(420)의 스위치(421)에는, 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 제어부(101)로부터 공급되고, 예측 잔차 D가 연산부(111)로부터 공급된다. 스위치(421)는, 변환 스킵 플래그 ts_flag 및 변환 양자화 바이패스 플래그 transquant_bypass_flag에 기초하여, 예측 잔차 D에 대한 프라이머리 변환, 세컨더리 변환 및 대역 제한의 스킵을 제어한다.
구체적으로는, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0인 경우, 스위치(421)는, 예측 잔차 D를 프라이머리 변환부(402)에 공급함으로써, 프라이머리 변환, 세컨더리 변환 및 대역 제한을 실행시킨다. 한편, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인 경우, 스위치(421)(제어부)는, 예측 잔차 D를 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급함으로써, 프라이머리 변환, 세컨더리 변환 및 대역 제한을 스킵시킨다.
대역 제한부(424)는, 제어부(101)로부터 공급되는 블록 사이즈 TBSize에 기초하여, 세컨더리 변환부(403)로부터 출력되는 세컨더리 변환 계수 Coeff에 대하여 고주파 성분을 0으로 하도록 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 도출한다. 대역 제한부(424)는, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급한다.
구체적으로는, 대역 제한부(424)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 미만인 경우, 세컨더리 변환 계수 Coeff에 대하여 대역 제한을 행하지 않고, 세컨더리 변환 계수 Coeff를 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급한다.
한편, 대역 제한부(424)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인 경우, 변환 블록 내의 좌표(i,j)별로, 이하의 식 (35)에 의해, 대역 제한 필터 H(i,j)와 세컨더리 변환 계수 Coeff(i,j)를 사용하여, 대역 제한 후의 세컨더리 변환 계수 Coeff(i,j)'를 도출한다.
Figure pct00020
또한, 대역 제한 필터 H(i,j)는, 이하의 식 (36)으로 정의된다.
Figure pct00021
또한, TBXSize, TBYSize는, 각각 처리 대상 변환 블록의 가로 폭의 사이즈, 세로 폭의 사이즈이다. 식 (35)와 식 (36)에 따르면, 세컨더리 변환 계수 Coeff(i,j)'의 고주파 성분은 0이 된다. 대역 제한부(424)는, 이상과 같이 하여 도출된 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급한다.
<화상 부호화 처리의 흐름>
본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제3 실시 형태에 의해 실행되는 화상 부호화 처리는, 스텝 S104의 변환 처리 및 S107의 역변환 처리를 제외하고, 도 11의 화상 부호화 처리와 마찬가지이다. 역변환 처리는, 변환 처리의 역처리이며, 후술하는 화상 복호 처리에 있어서 실행되는 역변환 처리와 마찬가지로 실행되므로, 여기서는 변환 처리에 대해서만 설명한다.
<변환 처리의 흐름>
도 27은, 본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제3 실시 형태에 의해 실행되는 변환 처리의 흐름의 예를 설명하는 흐름도이다.
변환 처리가 개시되면, 스텝 S401에 있어서, 스위치(421)는, 제어부(101)로부터 공급되는 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인지 여부를 판정한다.
스텝 S401에서 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1이라고 판정된 경우, 스위치(421)는, 프라이머리 변환, 세컨더리 변환 및 대역 제한을 스킵한다고 판정한다. 그리고, 스위치(421)는, 스텝 S402 내지 S406의 처리를 행하지 않고, 연산부(111)로부터 공급되는 예측 잔차 D를 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급하고, 처리를 종료한다.
한편, 스텝 S401에서 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이라고 판정된 경우, 스위치(421)는, 프라이머리 변환, 세컨더리 변환 및 대역 제한을 실행한다고 판정한다. 그리고, 스위치(421)는, 예측 잔차 D를 프라이머리 변환부(402)에 공급하고, 처리를 S402로 진행한다.
스텝 S402에 있어서, 프라이머리 변환부(402)는, 제어부(101)로부터 공급되는 프라이머리 변환 식별자 pt_idx에 기초하여, 스위치(421)로부터 공급되는 예측 잔차 D에 대하여 프라이머리 변환을 행하여, 프라이머리 변환 계수 Coeff_P를 도출한다. 프라이머리 변환부(402)는, 프라이머리 변환 계수 Coeff_P를 세컨더리 변환부(403)에 공급한다.
스텝 S403에 있어서, 세컨더리 변환부(403)는, 세컨더리 변환 식별자 st_idx가 0보다 큰지 여부를 판정한다. 스텝 S403에서 세컨더리 변환 식별자 st_idx가 0보다 크다고 판정된 경우, 즉 세컨더리 변환 식별자 st_idx가 세컨더리 변환의 실행을 나타내는 경우, 처리는 스텝 S404로 진행한다.
스텝 S404에 있어서, 세컨더리 변환부(403)는, 프라이머리 변환 계수 Coeff_P에 대하여, 세컨더리 변환 식별자 st_idx에 대응하는 세컨더리 변환을 실행하여, 세컨더리 변환 계수 Coeff를 도출한다. 세컨더리 변환부(403)는, 세컨더리 변환 계수 Coeff를 대역 제한부(424)에 공급하고, 처리를 스텝 S405로 진행한다.
한편, 스텝 S403에서 세컨더리 변환 식별자 st_idx가 0보다 크지는 않다고 판정된 경우, 즉 세컨더리 변환 식별자 st_idx가 세컨더리 변환의 스킵을 나타내는 경우, 세컨더리 변환부(403)는, 스텝 S404의 처리를 스킵한다. 그리고, 세컨더리 변환부(403)는, 스텝 S402의 처리에 의해 얻어진 프라이머리 변환 계수 Coeff_P를 세컨더리 변환 계수 Coeff로서 대역 제한부(424)에 공급하고, 처리를 스텝 S405로 진행한다.
스텝 S405에 있어서, 대역 제한부(424)는, 처리 대상 변환 블록의 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인지 여부를 판정한다. 스텝 S405에서 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상이라고 판정된 경우, 처리는 스텝 S406으로 진행한다.
스텝 S406에 있어서, 대역 제한부(424)는, 상술한 식 (35)에 의해, 세컨더리 변환 계수 Coeff에 대하여, 상술한 식 (36)으로 정의되는 대역 제한 필터 H를 적용하여 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 도출한다. 그리고, 대역 제한부(424)는, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급하고, 처리를 종료한다.
한편, 스텝 S405에서 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 미만이라고 판정된 경우, 대역 제한부(424)는, 스텝 S406의 처리를 스킵한다. 그리고, 대역 제한부(424)는, 세컨더리 변환 계수 Coeff를 그대로 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급하고, 처리를 종료한다.
또한, 변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나, 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S403에 있어서 세컨더리 변환 식별자 st_idx가 0보다 크지는 않다고 판정된 경우, 단위 행렬이 세컨더리 변환의 행렬 R로서 선택되고, 스텝 S404의 처리가 실행되도록 해도 된다.
이상과 같이, 스위치(421)는, 변환 스킵 또는 변환 양자화 바이패스가 행해지지 않는 경우, 예측 잔차 D를 프라이머리 변환부(402) 및 세컨더리 변환부(403)를 통하여 대역 제한부(424)에 공급한다. 이에 의해, 대역 제한부(424)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인 경우, 세컨더리 변환 계수 Coeff의 고주파 성분을 0으로 하도록 대역 제한을 행한다. 따라서, 이 경우, 화상 부호화 장치는, 세컨더리 변환 계수 Coeff의 저주파 성분만을 부호화하면 되며, 세컨더리 변환 계수 Coeff의 부호화 처리를 삭감할 수 있다.
또한, 스위치(421)는, 변환 스킵 또는 변환 양자화 바이패스가 행해지는 경우, 예측 잔차 D를 대역 제한부(424)에 공급하지 않는다. 이에 의해, 대역 제한부(424)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상이라도, 예측 잔차 D인 세컨더리 변환 계수 Coeff에 대해서는 대역 제한을 행하지 않는다. 즉, 변환 스킵 또는 변환 양자화 바이패스가 행해지는 경우, 대역 제한도 스킵된다. 따라서, 변환 스킵 또는 변환 양자화 바이패스가 행해지는 경우에도 대역 제한이 행해지는 경우에 비하여, 변환 스킵 또는 변환 양자화 바이패스가 행해져, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상일 때의 변형의 증대를 방지할 수 있다. 그 결과, 부호화 효율의 저감을 억제, 즉 부호화 효율을 개선할 수 있다. 또한, 변환 양자화 바이패스를 행함으로써, 손실 없는 부호화를 행할 수 있다.
<화상 복호 장치>
이어서, 이상과 같이 부호화된 부호화 데이터의 복호에 대하여 설명한다. 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제3 실시 형태의 구성은, 변환 정보 Tinfo와 역변환부의 구성을 제외하고, 도 13의 구성과 동일하다. 변환 정보 Tinfo에 대해서는 상술하였기 때문에, 이하에서는 역변환부에 대해서만 설명한다.
<역변환부>
도 28은, 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제3 실시 형태에 있어서의 역변환부의 주된 구성예를 도시하는 블록도이다.
도 28에 도시되는 바와 같이, 역변환부(440)는 스위치(441), 대역 제한부(442), 역 세컨더리 변환부(443) 및 역 프라이머리 변환부(444)를 갖는다.
스위치(441)에는, 복호부(211)로부터 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 공급되고, 역양자화부(212)로부터 세컨더리 변환 계수 Coeff_IQ가 공급된다. 스위치(441)는, 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag에 기초하여, 세컨더리 변환 계수 Coeff_IQ에 대한 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환의 스킵을 제어한다.
구체적으로는, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0인 경우, 스위치(441)는, 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(442)에 공급함으로써, 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 실행시킨다. 한편, 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인 경우, 스위치(441)(제어부)는, 세컨더리 변환 계수 Coeff_IQ를 예측 잔차 D'로서 연산부(214)에 공급함으로써, 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 스킵시킨다.
대역 제한부(442)는, 복호부(211)로부터 공급되는 처리 대상 변환 블록의 블록 사이즈 TBSize에 기초하여, 스위치(441)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ에 대하여 고주파 성분을 0으로 하도록 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 도출한다. 대역 제한부(442)는, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를, 역 세컨더리 변환부(443)에 공급한다.
구체적으로는, 대역 제한부(442)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 미만인 경우, 세컨더리 변환 계수 Coeff_IQ에 대하여 대역 제한을 행하지 않고, 세컨더리 변환 계수 Coeff_IQ를 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'로서 역 세컨더리 변환부(443)에 공급한다.
한편, 대역 제한부(442)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인 경우, 상술한 식 (35)에 나타내는 대역 제한 필터 H를 세컨더리 변환 계수 Coeff_IQ에 대하여 적용하고, 세컨더리 변환 계수 Coeff_IQ(i,j)'를 도출한다.
즉, 대역 제한부(442)는, 변환 블록 내의 좌표(i,j)별로, 이하의 식 (37)에 의해, 대역 제한 필터 H(i,j)와 세컨더리 변환 계수 Coeff_IQ(i,j)를 사용하여, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ(i,j)'를 도출한다.
Figure pct00022
식 (37)에 따르면, 세컨더리 변환 계수 Coeff_IQ(i,j)'의 고주파 성분은 0이 된다. 대역 제한부(442)는, 이상과 같이 하여 도출된 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 역 세컨더리 변환부(443)에 공급한다.
역 세컨더리 변환부(443)는, 복호부(211)로부터 공급되는 세컨더리 변환 식별자 st_idx에 기초하여, 대역 제한부(442)로부터 공급되는 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'에 대하여 역 세컨더리 변환을 행하여, 프라이머리 변환 계수 Coeff_IS를 도출한다. 역 세컨더리 변환부(443)는, 프라이머리 변환 계수 Coeff_IS를 역 프라이머리 변환부(444)에 공급한다.
역 프라이머리 변환부(444)는, 프라이머리 변환 식별자 pt_idx에 기초하여, 역 세컨더리 변환부(443)로부터 공급되는 프라이머리 변환 계수 Coeff_IS에 대하여, 도 14의 역 프라이머리 변환부(232)와 마찬가지로 역 프라이머리 변환을 실행하여, 예측 잔차 D'를 도출한다. 역 프라이머리 변환부(444)는, 도출한 예측 잔차 D'를 연산부(214)에 공급한다.
<화상 복호 처리의 흐름>
본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제3 실시 형태에 의해 실행되는 화상 복호 처리는, 스텝 S203의 역변환 처리를 제외하고, 도 15의 화상 복호 처리와 마찬가지이므로, 이하에서는 역변환 처리에 대해서만 설명한다.
<역변환 처리의 흐름>
도 29는, 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제3 실시 형태에 의해 실행되는 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
역변환 처리가 개시되면, 스텝 S421에 있어서, 스위치(441)는, 복호부(211)로부터 공급되는 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인지 여부를 판정한다.
스텝 S421에서 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1이라고 판정된 경우, 스위치(441)는, 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 스킵한다고 판정한다. 그리고, 스위치(441)는, 스텝 S422 내지 S426의 처리를 행하지 않고, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 예측 잔차 D'로서 연산부(214)에 공급하고, 처리를 종료한다.
한편, 스텝 S421에서 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이라고 판정된 경우, 스위치(441)는, 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 실행한다고 판정한다. 그리고, 스위치(441)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(442)에 공급하고, 처리를 스텝 S422로 진행한다.
스텝 S422에 있어서, 대역 제한부(442)는, 처리 대상 변환 블록의 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인지 여부를 판정한다. 스텝 S422에서 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상이라고 판정된 경우, 처리는 스텝 S423으로 진행한다.
스텝 S423에 있어서, 대역 제한부(442)는, 세컨더리 변환 계수 Coeff_IQ에 대하여 대역 제한 필터 H를 적용하여 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 도출한다. 그리고, 대역 제한부(424)는, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 역 세컨더리 변환부(443)에 공급하고, 처리를 스텝 S424로 진행한다.
한편, 스텝 S422에서 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 미만이라고 판정된 경우, 대역 제한부(442)는, 스텝 S423의 처리를 스킵한다. 그리고, 대역 제한부(442)는, 세컨더리 변환 계수 Coeff_IQ를 그대로 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'로서 역 세컨더리 변환부(443)에 공급하고, 처리를 스텝 S424로 진행한다.
스텝 S424에 있어서, 역 세컨더리 변환부(443)는, 세컨더리 변환 식별자 st_idx가 0보다 큰지 여부를 판정한다. 스텝 S424에서 세컨더리 변환 식별자 st_idx가 0보다 크다고 판정된 경우, 즉 세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 실행을 나타내는 경우, 처리는 스텝 S425로 진행한다.
스텝 S425에 있어서, 역 세컨더리 변환부(443)는, 대역 제한부(442)로부터 공급되는 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'에 대하여, 세컨더리 변환 식별자 st_idx에 대응하는 역 세컨더리 변환을 실행하여, 프라이머리 변환 계수 Coeff_P를 도출한다. 역 세컨더리 변환부(443)는, 프라이머리 변환 계수 Coeff_P를 역 프라이머리 변환부(444)에 공급하고, 처리를 스텝 S426으로 진행한다.
한편, 스텝 S424에서 세컨더리 변환 식별자 st_idx가 0보다 크지는 않다고 판정된 경우, 즉 세컨더리 변환 식별자 st_idx가 역 세컨더리 변환의 스킵을 나타내는 경우, 역 세컨더리 변환부(443)는, 스텝 S425의 처리를 스킵한다. 그리고, 역 세컨더리 변환부(443)는, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 프라이머리 변환 계수 Coeff_IS로서 역 프라이머리 변환부(444)에 공급하고, 처리를 스텝 S426으로 진행한다.
스텝 S426에 있어서, 역 프라이머리 변환부(444)는, 역 세컨더리 변환부(443)로부터 공급되는 프라이머리 변환 계수 Coeff_IS에 대하여 역 프라이머리 변환을 실행하여, 예측 잔차 D'를 도출하고 연산부(214)에 공급한다. 그리고, 처리는 종료된다.
또한, 이상의 역변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S424에 있어서 세컨더리 변환 식별자 st_idx가 0보다 크지는 않다고 판정된 경우, 단위 행렬이 역 세컨더리 변환의 행렬 IR로서 선택되고, 스텝 S425의 처리가 실행되도록 해도 된다.
이상과 같이, 스위치(441)는, 역변환 스킵, 또는 역양자화와 역변환의 스킵(이하, 역양자화 역변환 바이패스라고 함)이 행해지지 않는 경우, 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(442)에 공급한다. 이에 의해, 대역 제한부(442)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인 경우, 세컨더리 변환 계수 Coeff_IQ의 고주파 성분을 0으로 하도록 대역 제한을 행한다. 따라서, 이 경우, 화상 복호 장치는, 세컨더리 변환 계수 Coeff_IQ의 저주파 성분만을 역변환하면 되며, 세컨더리 변환 계수 Coeff_IQ의 역변환 처리를 삭감할 수 있다.
또한, 스위치(441)는, 변환 스킵 또는 역양자화 역변환 바이패스가 행해지는 경우, 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(442)에 공급하지 않는다. 이에 의해, 대역 제한부(442)는, 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상이라도, 예측 잔차인 세컨더리 변환 계수 Coeff_IQ에 대해서는 대역 제한을 행하지 않는다. 즉, 역변환 스킵 또는 역양자화 역변환 바이패스가 행해지는 경우, 대역 제한도 스킵된다. 따라서, 변환 스킵 또는 변환 양자화 바이패스가 행해지는 경우에 대역 제한도 스킵함으로써 변형의 증대가 방지된 부호화 데이터를 복호할 수 있다. 그 결과, 부호화 효율이 개선된 부호화 데이터를 복호할 수 있다. 또한, 변환 양자화 바이패스에 의해 손실 없는 부호화된 부호화 데이터를 손실 없이 복호할 수 있다.
또한, 상술한 설명에서는, 화상 복호 장치의 제3 실시 형태에 있어서 대역 제한이 행해졌지만, 「블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize 이상인 경우에 비제로 계수가 좌측 위의 저주파수 영역((TH_TBSize>>1×(TH_TBSize>>1)) 내에 제한된다」라는 비트 스트림 제약이 마련되는 경우, 대역 제한은 행해지지 않아도 된다. 이 비트 스트림 제약은, 「변환 스킵 플래그 ts_flag 및 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이며, 또한 블록 사이즈 TBSize가 소정의 블록 사이즈 TH_TBSize일 때, 변환 블록 내의 라스트 비제로 계수의 위치를 나타내는 라스트 비제로 계수 X 좌표(last_sig_coeff_x_pos) 및 라스트 비제로 계수 Y 좌표(last_sig_coeff_y_pos)의 값은, 0부터 (TH_TBSize/2)-1까지의 범위 내의 값이다」라고 표현할 수도 있다.
또한, 소정의 블록 사이즈 TH_TBSize는 64×64 외에, 임의의 값으로 설정할 수 있다.
또한, 제3 실시 형태에 있어서의 세컨더리 변환의 방법은, 비특허문헌 1에 기재되어 있는 방법에 한정되지 않는다. 예를 들어, 제1이나 제2 실시 형태에 있어서의 방법이어도 된다. 또한, 세컨더리 변환 계수는, 클립하여 소정의 범위 내로 제한되도록 해도 된다.
<4. 제4 실시 형태>
<CU, PU 및 TU의 형상>
도 30은, 제4 실시 형태에 있어서의 CU, PU 및 TU의 형상에 대하여 설명하는 도면이다.
제4 실시 형태에 있어서의 CU, PU 및 TU는, JVET-C0024, "EE2.1: Quadtree plus binary tree structure integration with JEM tools"에 기재되어 있는 QTBT(Quad tree plus binary tree)의 CU, PU 및 TU이다.
구체적으로는, 제4 실시 형태에 있어서의 CU의 블록 분할에서는, 1개의 블록을 4(=2×2)개뿐만 아니라, 2(=1×2, 2×1)개의 서브블록으로도 분할할 수 있다. 즉, 제4 실시 형태에서는, CU의 블록 분할은, 1개의 블록을 4개 또는 2개의 서브블록으로의 분할을 재귀적으로 반복함으로써 행해지며, 결과로서 4분목(Quad-Tree)상 또는 수평 방향 혹은 수직 방향의 2분목(Binary-Tree)상의 트리 구조가 형성된다.
그 결과, CU의 형상은 정사각형뿐만 아니라, 직사각형일 가능성이 있다. 예를 들어, LCU 사이즈가 128×128인 경우, CU의 사이즈(수평 방향의 사이즈 w×수직 방향의 사이즈 h)는, 도 30에 도시하는 바와 같이 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과 같은 직사각형의 사이즈일 가능성이 있다. 또한, 제4 실시 형태에서는 PU와 TU는 CU와 동일하다.
<화상 부호화 장치>
본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제4 실시 형태의 구성은, 변환 정보 Tinfo, 변환부 및 역변환부의 구성을 제외하고, 제3 실시 형태의 구성과 동일하다. 따라서, 이하에서는 변환 정보 Tinfo, 변환부 및 역변환부에 대해서만 설명한다.
제4 실시 형태에 있어서의 변환 정보 Tinfo는, 블록 사이즈 TBSize 대신에, 변환 블록의 가로 폭의 사이즈(수평 방향의 사이즈) TBXSize와 세로 폭의 사이즈(수직 방향의 사이즈) TBYSize가 포함되는 점을 제외하고, 제3 실시 형태에 있어서의 변환 정보 Tinfo와 동일하다.
또한, 제4 실시 형태에 있어서의 역변환부에 의해 행해지는 역변환은, 변환부에 의해 행해지는 변환의 역처리이며, 후술하는 화상 복호 장치에 있어서 행해지는 역변환과 마찬가지의 처리이다. 따라서, 이 역변환에 대해서는, 화상 복호 장치에 관한 설명에 있어서 후술한다.
<변환부>
도 31은, 본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제4 실시 형태에 있어서의 변환부의 주된 구성예를 도시하는 블록도이다.
도 31에 도시하는 구성 중, 도 26의 구성과 동일한 구성에는 동일한 부호를 부여하고 있다. 중복되는 설명에 대해서는 적절하게 생략한다.
도 31의 변환부(460)의 구성은, 대역 제한부(404) 대신에 대역 제한부(464)가 마련되는 점이, 도 26의 변환부(420)의 구성과 상이하다.
변환부(460)의 대역 제한부(464)는, 제어부(101)로부터 공급되는 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize에 기초하여, 세컨더리 변환부(403)로부터 출력되는 세컨더리 변환 계수 Coeff에 대하여 고주파 성분을 0으로 하도록 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 도출한다. 대역 제한부(464)는, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급한다.
구체적으로는, 대역 제한부(464)는, 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize가 큰 쪽인 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 미만인 경우(max(TBXSize, TBYSize)<THSize), 세컨더리 변환 계수 Coeff에 대하여 대역 제한을 행하지 않고, 세컨더리 변환 계수 Coeff를 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급한다.
한편, 대역 제한부(464)는, max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인 경우(max(TBXSize, TBYSize)>=THSize), 변환 블록 내의 화소 단위의 좌표(i,j)별로, 상술한 식 (35)에 의해, 대역 제한 후의 세컨더리 변환 계수 Coeff(i,j)'를 도출한다. 즉, 조건식 max(TBXSize, TBYSize)>=THSize의 논리값의 값이 1(진)인 경우, 대역 제한부(464)는, 대역 제한을 행하고, 0(위)인 경우, 대역 제한을 행하지 않는다.
또한, 대역 제한 필터 H(i,j)는, 이하의 식 (38)로 정의된다.
Figure pct00023
TH는 역치이다. 식 (35)와 식 (38)에 따르면, 좌표(i,j)를 포함하는, 세컨더리 변환에 있어서의 변환 블록 내의 처리 단위인 2N×2M의 서브블록이 좌측 위의 TH×TH의 서브블록을 포함하는 정사각형의 영역 이외의 서브블록인 경우, 세컨더리 변환 계수 Coeff(i,j)'는 0이 된다. 즉, 세컨더리 변환 계수 Coeff(i,j)'의 고주파 성분은 0이 된다. 대역 제한부(464)는, 이상과 같이 하여 도출된 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급한다.
<대역 제한 필터의 예>
도 32는, 대역 제한 필터 H(i,j)의 예를 도시하는 도면이다.
도 32에 있어서, 실선의 직사각형은 변환 블록을 나타내고, 점선의 직사각형은 서브블록을 나타내고 있다. 이것은, 후술하는 도 36 내지 도 38에 있어서도 마찬가지이다. 또한, 도 32의 예에서는, 서브블록의 사이즈가 22×22이고, 사이즈 THSize가 8개의 서브블록의 사이즈이고, 대역 제한 필터 H(i,j)에 있어서의 역치 TH가 4이다. 또한, 도 32의 A는, 변환 블록 사이즈 TBXSize×TBYSize가 8×8인 서브블록을 포함하는 사이즈(32×32의 변환 블록 사이즈)인 예를 도시하고, 도 32의 B는, 변환 블록 사이즈 TBXSize×TBYSize가 8×4의 서브블록을 포함하는 사이즈(32×16의 변환 블록 사이즈)인 예를 도시하고, 도 32의 C는, 변환 블록 사이즈 TBXSize×TBYSize가 4×8의 서브블록을 포함하는 사이즈(16×32의 변환 블록 사이즈)인 예를 도시한다.
이 경우, 도 32의 A에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize의 양쪽이 8개의 서브블록의 사이즈일 때, 대역 제한 필터 H(i,j)가 설정된다. 이때, 좌측 위의 도면 중 사선이 부여된 4×4의 서브블록군(471A)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 서브블록군(471A) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 32의 B에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize가 8개의 서브블록의 사이즈이고, 수직 방향의 사이즈 TBYSize가 수평 방향의 사이즈 TBXSize보다 작은 4개의 서브블록의 사이즈일 때에도, 대역 제한 필터 H(i,j)가 설정된다. 이때, 좌측의 도면 중 사선이 부여된 4×4의 서브블록군(471B)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 서브블록군(471B) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 32의 C에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize가 4개의 서브블록 사이즈이고, 수직 방향의 사이즈 TBYSize가 수평 방향의 사이즈 TBXSize보다 큰 8개의 서브블록의 사이즈일 때에도, 대역 제한 필터 H(i,j)가 설정된다. 이때, 상측의 도면 중 사선이 부여된 4×4의 서브블록군(471C)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 서브블록군(471C) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
이상과 같이, max(TBXSize, TBYSize)가 사이즈 THSize 이상인 경우, 대역 제한 필터 H(i,j)는, 좌표(i,j)를 포함하는 서브블록의 위치에 따라 0 또는 1로 설정된다.
<화상 부호화 처리의 흐름>
본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제4 실시 형태에 의해 실행되는 화상 부호화 처리는, 변환 처리 및 역변환 처리를 제외하고, 제3 실시 형태에 있어서의 화상 부호화 처리와 마찬가지이다. 역변환 처리는, 변환 처리의 역처리이며, 후술하는 화상 복호 처리에 있어서 실행되는 역변환 처리와 마찬가지로 실행되므로, 여기서는 변환 처리에 대해서만 설명한다.
<변환 처리의 흐름>
도 33은, 본 기술을 적용한 화상 처리 장치로서의 화상 부호화 장치의 제4 실시 형태에 의해 실행되는 변환 처리의 흐름의 예를 설명하는 흐름도이다.
스텝 S461 내지 S464의 처리는, 도 27의 스텝 S401 내지 S404의 처리와 마찬가지이므로, 설명은 생략한다.
스텝 S465에 있어서, 대역 제한부(464)는, 처리 대상 변환 블록의 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인지 여부를 판정한다. 스텝 S465에서 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상이라고 판정된 경우, 처리는 스텝 S466으로 진행한다.
스텝 S466에 있어서, 대역 제한부(464)는, 상술한 식 (35)에 의해, 세컨더리 변환 계수 Coeff에 대하여, 상술한 식 (38)로 정의되는 대역 제한 필터 H를 적용하여 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 도출한다. 그리고, 대역 제한부(464)는, 대역 제한 후의 세컨더리 변환 계수 Coeff'를 양자화부(113)에 공급하고, 처리를 종료한다.
한편, 스텝 S465에서 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 미만이라고 판정된 경우, 대역 제한부(464)는, 스텝 S466의 처리를 스킵한다. 그리고, 대역 제한부(464)는, 세컨더리 변환 계수 Coeff를 그대로 대역 제한 후의 세컨더리 변환 계수 Coeff'로서 양자화부(113)에 공급하고, 처리를 종료한다.
또한, 변환 처리는, 실시 가능한 범위에서, 각 스텝의 처리순의 교체나 처리의 내용을 변경해도 된다. 예를 들어, 스텝 S463에 있어서 세컨더리 변환 식별자 st_idx가 0보다 크지는 않다고 판정된 경우, 단위 행렬이 세컨더리 변환의 행렬 R로서 선택되고, 스텝 S464의 처리가 실행되도록 해도 된다.
이상과 같이, 대역 제한부(464)는, 변환 블록의 수평 방향의 사이즈 TBXSize 및 수직 방향의 사이즈 TBYSize에 기초하여 대역 제한을 행한다. 따라서, 변환 블록의 형상이 직사각형인 경우라도, 적절하게 대역 제한을 행할 수 있다.
또한, 대역 제한부(464)는, 대역 제한에 의해 세컨더리 변환 계수 Coeff를 0으로 하는 영역을, TH×TH의 서브블록을 포함하는 정사각형의 영역 이외의 영역에 설정한다. 따라서, 변환 블록의 형상이 직사각형인 경우라도, 소정의 사이즈의 정사각형의 영역 이외의 영역의 세컨더리 변환 계수 Coeff를 0으로 할 수 있다.
<화상 복호 장치>
이어서, 이상과 같이 부호화된 부호화 데이터의 복호에 대하여 설명한다. 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제4 실시 형태의 구성은, 변환 정보 Tinfo와 역변환부의 구성을 제외하고, 제3 실시 형태의 구성과 동일하다. 변환 정보 Tinfo에 대해서는 상술하였기 때문에, 이하에서는 역변환부에 대해서만 설명한다.
<역변환부>
도 34는, 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제4 실시 형태에 있어서의 역변환부의 주된 구성예를 도시하는 블록도이다.
도 34에 도시하는 구성 중, 도 28의 구성과 동일한 구성에는 동일한 부호를 부여하고 있다. 중복되는 설명에 대해서는 적절하게 생략한다.
도 34의 역변환부(480)의 구성은, 대역 제한부(442) 대신에 대역 제한부(482)가 마련되는 점이, 도 28의 역변환부(440)의 구성과 상이하다.
역변환부(480)의 대역 제한부(482)는, 복호부(211)로부터 공급되는 처리 대상 변환 블록의 수평 방향의 사이즈 TBXSize 및 수직 방향의 사이즈 TBYSize에 기초하여, 스위치(441)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ에 대하여 고주파 성분을 0으로 하도록 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 도출한다. 대역 제한부(482)는, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를, 역 세컨더리 변환부(443)에 공급한다.
구체적으로는, 대역 제한부(482)는, max(TBXSize, TBYSize)가 소정의 사이즈 THSize 미만인 경우, 세컨더리 변환 계수 Coeff_IQ에 대하여 대역 제한을 행하지 않고, 세컨더리 변환 계수 Coeff_IQ를 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'로서 역 세컨더리 변환부(443)에 공급한다.
한편, 대역 제한부(482)는, max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인 경우, 상술한 식 (37)에 의해, 상술한 식 (38)로 정의된 대역 제한 필터 H를 세컨더리 변환 계수 Coeff_IQ에 대하여 적용한다. 대역 제한부(482)는, 그 결과 도출된 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 역 세컨더리 변환부(443)에 공급한다.
<화상 복호 처리의 흐름>
본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제4 실시 형태에 의해 실행되는 화상 복호 처리는, 스텝 S203의 역변환 처리를 제외하고, 도 15의 화상 복호 처리와 마찬가지이므로, 이하에서는 역변환 처리에 대해서만 설명한다.
<역변환 처리의 흐름>
도 35는, 본 기술을 적용한 화상 처리 장치로서의 화상 복호 장치의 제4 실시 형태에 의해 실행되는 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
역변환 처리가 개시되면, 스텝 S481에 있어서, 스위치(441)는, 복호부(211)로부터 공급되는 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인지 여부를 판정한다.
스텝 S481에서 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1이라고 판정된 경우, 스위치(441)는 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 스킵한다고 판정한다. 그리고, 스위치(441)는, 스텝 S482 내지 S486의 처리를 행하지 않고, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 예측 잔차 D'로서 연산부(214)에 공급하고, 처리를 종료한다.
한편, 스텝 S481에서 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이라고 판정된 경우, 스위치(441)는 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 실행한다고 판정한다. 그리고, 스위치(441)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(482)에 공급하고, 처리를 스텝 S482로 진행한다.
스텝 S482에 있어서, 대역 제한부(482)는, max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인지 여부를 판정한다. 스텝 S482에서 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상이라고 판정된 경우, 처리는 스텝 S483으로 진행한다.
스텝 S483에 있어서, 대역 제한부(482)는, 상술한 식 (37)에 의해, 상술한 식 (38)로 정의된 세컨더리 변환 계수 Coeff_IQ에 대하여 대역 제한 필터 H를 적용하여 대역 제한을 행하여, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 도출한다. 그리고, 대역 제한부(464)는, 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'를 역 세컨더리 변환부(443)에 공급하고, 처리를 스텝 S484로 진행한다.
한편, 스텝 S482에서 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 미만이라고 판정된 경우, 대역 제한부(482)는, 스텝 S483의 처리를 스킵한다. 그리고, 대역 제한부(482)는, 세컨더리 변환 계수 Coeff_IQ를 그대로 대역 제한 후의 세컨더리 변환 계수 Coeff_IQ'로서 역 세컨더리 변환부(443)에 공급하고, 처리를 스텝 S484로 진행한다.
스텝 S484 내지 S486의 처리는, 도 29의 스텝 S424 내지 S426의 처리와 마찬가지이므로, 설명은 생략한다.
이상과 같이, 대역 제한부(482)는, 변환 블록의 수평 방향의 사이즈 TBXSize 및 수직 방향의 사이즈 TBYSize에 기초하여 대역 제한을 행한다. 따라서, 변환 블록의 형상이 직사각형인 경우라도, 적절하게 대역 제한을 행할 수 있다.
또한, 대역 제한부(482)는, 대역 제한에 의해 세컨더리 변환 계수 Coeff를 0으로 하는 영역을, TH×TH의 서브블록을 포함하는 정사각형의 영역 이외의 영역에 설정한다. 따라서, 변환 블록의 형상이 직사각형인 경우라도, 소정의 사이즈의 정사각형의 영역 이외의 영역의 세컨더리 변환 계수 Coeff를 0으로 할 수 있다.
또한, 상술한 설명에서는, 화상 복호 장치의 제4 실시 형태에 있어서 대역 제한이 행해졌지만, 「max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인 경우에, 비제로 계수가 좌측 위의 저주파수 영역(예를 들어 (THSize>>1×(THSize>>1의 영역) 내에 제한된다」고 하는 비트 스트림 제약이 마련되는 경우, 대역 제한은 행해지지 않아도 된다. 이 비트 스트림 제약은 「변환 스킵 플래그 ts_flag 및 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이며, 또한 변환 블록의 max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상일 때, 라스트 비제로 계수 X 좌표(last_sig_coeff_x_pos) 및 라스트 비제로 계수 Y 좌표(last_sig_coeff_y_pos)의 값은, 0부터 소정값(예를 들어 (THSize/2)-1)까지의 범위 내의 값이다」라고 표현할 수도 있다.
또한, 제4 실시 형태에 있어서의 세컨더리 변환의 방법은, 비특허문헌 1에 기재되어 있는 방법에 한정되지 않는다. 예를 들어, 제1이나 제2 실시 형태에 있어서의 방법이어도 된다. 또한, 세컨더리 변환 계수는, 클립하여 소정의 범위 내에 제한되도록 해도 된다.
또한, 대역 제한을 행하는지 여부의 판정 방법은, 수평 방향의 사이즈 TBXSize(또는 그 대수값 log2TBXSize) 및 수직 방향의 사이즈 TBYSize(또는 그 대수값 log2TBYSize)에 기초하여 변환 블록의 사이즈가 소정의 사이즈 이상인지 여부를 판정하는 방법이라면, 상술한 방법에 한정되지 않는다.
예를 들어, 대역 제한부(464(482))는, 수평 방향의 사이즈 TBXSize 및 수직 방향의 사이즈 TBYSize의 대수가 큰 쪽인 max(log2TBXSize, log2TBYSize)가 소정의 역치 log2THSize 이상인 경우(max(log2TBXSize, log2TBYSize)>=log2THSize의 논리값이 1(진)인 경우)에 대역 제한을 행하도록 해도 된다. 또한, 대역 제한부(464(482))는, 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize의 합 또는 곱이 소정의 역치 TH_Size 이상인 경우(TBXSize+TBYSize>=TH_Size 또는 TBXSize*TBYSize>=TH_Size의 논리값이 1(진)인 경우)에 대역 제한을 행하도록 해도 된다. 또한, 대역 제한부(464(482))는, 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize의 대수의 합이 소정의 역치 log2THSize 이상인 경우(log2TBXSize+log2TBYSize>=log2THSize의 논리값이 1(진)인 경우)에 대역 제한을 행하도록 해도 된다. 이들의 경우, 논리값이 0(위)일 때에는, 대역 제한은 행해지지 않는다.
또한, 대역 제한부(464(482))는, 좌표(i,j)를 포함하는 서브블록의 위치가 아니라, 좌표(i,j)의 위치에 따라 대역 제한 필터 H(i,j)를 0 또는 1로 설정하도록 해도 된다. 이 경우, 대역 제한 필터 H(i,j)는, 이하의 식 (39)에 의해 정의된다.
Figure pct00024
<대역 제한 필터의 다른 예>
도 36 내지 도 38은, 대역 제한 필터 H(i,j)의 다른 예를 도시하는 도면이다.
도 36 내지 도 38의 예에서는, 대역 제한 필터 H(i,j)는, 좌표(i,j)를 포함하는 서브블록의 처리순(스캔순) sbk_scanorder(i>>N, j>>M)에 기초하여, 이하의 식 (40)에 의해 정의된다. 또한, 서브블록의 스캔순 sbk_scanorder(i>>N, j>>M)는, 스캔 식별자 scanIdx와 변환 블록의 사이즈에 기초하여 결정된다.
Figure pct00025
THscanorder는 역치이다. 식 (40)에 있어서, 역치 THscanorder는, 예를 들어 변환 블록 내의 서브블록의 총수의 alpha(alpha는 0부터 1까지의 값)배로 할 수 있다.
식 (35)와 식 (40)에 따르면, 좌표(i,j)를 포함하는 2N×2M의 서브블록의 스캔순 sbk_scanorder(i>>N, j>>M)가 역치 THscanorder 이상인 경우, 세컨더리 변환 계수 Coeff(i,j)'는 0이 된다. 즉, 스캔순이 빠른 THscanorder개의 서브블록 이외의 고주파 성분의 서브블록 세컨더리 변환 계수 Coeff(i,j)'는 0이 된다.
또한, 도 36 내지 도 38의 예에서는, 서브블록의 사이즈가 22×22이고, 사이즈 THSize가 8개의 서브블록의 사이즈이다. 또한, 도 36의 예에서는, 대역 제한 필터 H(i,j)에 있어서의 역치 THscanorder는 10이고, 도 37 및 도 38의 예에서는 16이다. 또한, 도 36의 A 내지 도 38의 A는, 변환 블록 사이즈 TBXSize×TBYSize가 8×8의 서브블록을 포함하는 사이즈(32×32의 변환 블록 사이즈)인 예를 도시하고, 도 36의 B 내지 도 38의 B는, 변환 블록 사이즈 TBXSize×TBYSize가 8×4인 서브블록으로 이루어지는 사이즈(32×16의 변환 블록 사이즈)인 예를 도시하고, 도 36의 C 내지 도 38의 C는, 변환 블록 사이즈 TBXSize×TBYSize가 4×8인 서브블록을 포함하는 사이즈(16×32의 변환 블록 사이즈)인 예를 도시한다.
이 경우, 도 36의 A 내지 도 38의 A에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize와 수직 방향의 사이즈 TBYSize의 양쪽이 8개의 서브블록의 사이즈일 때, 대역 제한 필터 H(i,j)가 설정된다.
도 36의 A에 도시하는 바와 같이, 서브블록이 경사 방향 스캔(up-right diagonal scan)되는 경우, 좌측 위의 10개의 도면 중 사선이 부여된 서브블록군(501A)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(501A) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 37의 A에 도시하는 바와 같이, 서브블록이 수평 방향 스캔(horizontal fast scan)되는 경우, 상측의 16개의 도면 중 사선이 부여된 서브블록군(502A)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(502A) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
도 38의 A에 도시하는 바와 같이, 서브블록이 수직 방향 스캔(vertical fast scan)되는 경우, 좌측의 16개의 도면 중 사선이 부여된 서브블록군(503A)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(503A) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 36의 B 내지 도 38의 B에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize가 8개의 서브블록의 사이즈이고, 수직 방향의 사이즈 TBYSize가 수평 방향의 사이즈 TBXSize보다 작은 4개의 서브블록의 사이즈일 때에도, 대역 제한 필터 H(i,j)가 설정된다.
도 36의 B에 도시하는 바와 같이, 서브블록이 경사 방향 스캔되는 경우, 좌측 위의 10개의 도면 중 사선이 부여된 서브블록군(501B)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(501B) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 37의 B에 도시하는 바와 같이, 서브블록이 수평 방향 스캔되는 경우, 상측의 16개의 도면 중 사선이 부여된 서브블록군(502B)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(502B) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
도 38의 B에 도시하는 바와 같이, 서브블록이 수직 방향 스캔되는 경우, 좌측의 16개의 도면 중 사선이 부여된 서브블록군(503B)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(503B) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 36의 C 내지 도 38의 C에 도시하는 바와 같이, 수평 방향의 사이즈 TBXSize가 4개의 서브블록 사이즈이고, 수직 방향의 사이즈 TBYSize가 수평 방향의 사이즈 TBXSize보다 큰 8개의 서브블록의 사이즈일 때에도, 대역 제한 필터 H(i,j)가 설정된다.
도 36의 C에 도시하는 바와 같이, 서브블록이 경사 방향 스캔되는 경우, 좌측 위의 10개의 도면 중 사선이 부여된 서브블록군(501C)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(501C) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
또한, 도 37의 C에 도시하는 바와 같이, 서브블록이 수평 방향 스캔되는 경우, 상측의 16개의 도면 중 사선이 부여된 서브블록군(502C)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(502C) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
도 38의 C에 도시하는 바와 같이, 서브블록이 수직 방향 스캔되는 경우, 좌측의 16개의 도면 중 사선이 부여된 서브블록군(503C)에 포함되는 좌표(i,j)의 대역 제한 필터 H(i,j)는 1이고, 그 서브블록군(503C) 이외의 서브블록 내의 좌표(i,j)의 대역 제한 필터 H(i,j)는 0이다.
이상과 같이, 도 36 내지 도 38의 예에서는, max(TBXSize, TBYSize)가 사이즈 THSize 이상인 경우, 대역 제한 필터 H(i,j)는, 좌표(i,j)를 포함하는 서브블록의 스캔순에 기초하여 0 또는 1로 설정된다. 또한, 도 36 내지 도 38의 예에서는, 서브블록이 경사 방향 스캔되는 경우와, 서브블록이 수평 방향 스캔 또는 수직 방향 스캔되는 경우에, 역치 THscanorder가 상이하지만, 동일해도 된다.
또한, 대역 제한 필터 H(i,j)는, 좌표(i,j)의 스캔순 coef_scanorder(i,j)에 기초하여, 이하의 식 (41)에 의해 정의되도록 해도 된다. 스캔순 coef_scanorder(i,j)는, 스캔 식별자 scanIdx와 변환 블록의 사이즈에 기초하여 결정된다.
Figure pct00026
식 (41)에 있어서, 역치 THscanorder는, 예를 들어 변환 블록 내의 화소의 총수(TBXSize×TBYSize)의 alpha(alpha는 0부터 1까지의 값)배로 할 수 있다.
<변환 처리ㆍ역변환 처리의 흐름의 다른 예>
제4 실시 형태에 있어서, 변환 블록 사이즈뿐만 아니라, 변환 블록 사이즈가 소정의 블록 사이즈 이상인 경우에 대역 제한 필터를 적용할지 여부를 나타내는 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag에도 기초하여, 대역 제한을 제어하도록 해도 된다. 이 경우, 제어부(101)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag를, SPS, PPS, SH, CU 등의 단위로 부호화 파라미터에 포함한다. 이 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag는, 부호화부(114)에 공급되어 부호화되는 것 외에, 변환부(460)의 대역 제한부(464)에 공급된다.
도 39는, 이 경우의 변환부(460)의 변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 39의 스텝 S501 내지 S504의 처리는, 도 33의 스텝 S461 내지 S464의 처리와 마찬가지이므로, 설명은 생략한다.
스텝 S505에 있어서, 대역 제한부(464)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가, 변환 블록 사이즈가 소정의 블록 사이즈 이상인 경우에 대역 제한 필터를 적용함을 나타내는 1(진)인지 여부를 판정한다. 스텝 S505에서 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가 1이라고 판정된 경우, 처리는 스텝 S506으로 진행한다. 스텝 S506 및 S507의 처리는, 도 33의 스텝 S465 및 S466의 처리와 마찬가지이므로, 설명은 생략한다.
한편, 스텝 S505에서 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가, 변환 블록 사이즈가 소정의 블록 사이즈 이상이라도 대역 제한 필터를 적용하지 않음을 나타내는 0(위)이라고 판정된 경우, 변환 처리는 종료된다.
이상과 같이, 대역 제한부(464)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag에 기초하여, 정사각형 또는 장방형을 포함하는 직사각형의 변환 블록의 블록 사이즈가 소정의 블록 사이즈 이상인 경우에, 비제로 계수를 저주파수 영역 내에 제한하는 대역 제한 필터를 적용할지 여부를 제어한다.
구체적으로는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가 1(진)인 경우, 변환 블록 사이즈가 소정의 블록 사이즈 이상일 때에는, 대역 제한부(464)는, 고주파 성분의 변환 계수를 강제적으로 0이 되도록 대역 제한을 행한다. 따라서, 부호화부(114)는, 변환 블록의 저주파 성분의 비제로 계수만을 부호화한다. 따라서, 부호화 효율을 유지하면서, 비제로 계수의 부호화 처리를 저감할 수 있다.
또한, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가 0(위)인 경우, 변환 블록이 소정의 블록 사이즈 이상일 때라도, 대역 제한부(464)는 대역 제한을 행하지 않는다. 따라서, 부호화부(114)는, 저주파 성분으로부터 고주파 성분에 존재하는 비제로 계수를 부호화한다. 따라서, 큰 변환 블록에 있어서, 대역 제한 필터를 적용하는 경우와 비교하여, 고주파 성분의 재현성이 높아지고, 부호화 효율이 향상된다.
또한, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag는, 소정의 단위(SPS, PPS, SH, CU 등)별로 설정된다. 따라서, 대역 제한부(464)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag를 사용하여, 소정의 단위별로, 적응적으로 변환 블록 사이즈가 소정의 블록 사이즈 이상인 경우에 대역 제한 필터를 적용할지 여부를 제어할 수 있다.
또한, 제4 실시 형태에 있어서, 변환 블록 사이즈뿐만 아니라, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag에도 기초하여, 대역 제한을 제어하는 경우, 복호부(211)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag를 포함하는 부호화 파라미터의 부호화 데이터를 소정의 단위(SPS, PPS, SH, CU 등)로 복호한다. 복호 결과 얻어지는 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag는, 역변환부(480)의 대역 제한부(482)에 공급한다.
도 40은, 이 경우의 역변환부(480)의 역변환 처리의 흐름의 예를 설명하는 흐름도이다.
도 40의 스텝 S521에 있어서, 스위치(441)는, 복호부(211)로부터 공급되는 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1인지 여부를 판정한다.
스텝 S521에서 변환 스킵 플래그 ts_flag 또는 변환 양자화 바이패스 플래그 transquant_bypass_flag가 1이라고 판정된 경우, 스위치(441)는 대역 제한, 역 세컨더리 변환 및 역 프라이머리 변환을 스킵한다고 판정한다. 그리고, 스위치(441)는, 스텝 S522 내지 S527의 처리를 행하지 않고, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 예측 잔차 D'로서 연산부(214)에 공급하고, 처리를 종료한다.
한편, 스텝 S521에서 변환 스킵 플래그 ts_flag와 변환 양자화 바이패스 플래그 transquant_bypass_flag가 0이라고 판정된 경우, 스위치(441)는, 역양자화부(212)로부터 공급되는 세컨더리 변환 계수 Coeff_IQ를 대역 제한부(482)에 공급한다. 그리고, 처리는 스텝 S522로 진행한다.
스텝 S522에 있어서, 대역 제한부(482)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag의 값이 1(진)인지 여부를 판정한다. 스텝 S522에서 대역 제한 필터 유효 플래그의 값이 1(진)이라고 판정된 경우, 처리는 스텝 S523으로 진행한다. 스텝 S523 내지 S527의 처리는, 도 35의 스텝 S482 내지 S486의 처리와 마찬가지이므로, 설명은 생략한다.
스텝 S522에서 대역 제한 필터 유효 플래그의 값이 0(위)이라고 판정된 경우, 처리는 스텝 S523 및 S524의 처리를 스킵하고, 스텝 S525로 진행한다.
이상과 같이, 대역 제한부(482)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag에 기초하여, 정사각형 또는 장방형을 포함하는 직사각형의 변환 블록의 블록 사이즈가 소정의 블록 사이즈 이상인 경우에, 비제로 계수를 저주파수 영역 내에 제한하는 대역 제한 필터를 적용할지 여부를 제어한다.
구체적으로는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가 1(진)인 경우, 변환 블록 사이즈가 소정의 블록 사이즈 이상일 때에는, 대역 제한부(482)는, 고주파 성분의 변환 계수를 강제적으로 0이 되도록 대역 제한을 행한다. 따라서, 연산부(214)는, 변환 블록의 저주파 성분의 비제로 계수만을 복호한다. 따라서, 부호화 효율을 유지하면서, 비제로 계수의 복호 처리를 저감할 수 있다. 또한, 역변환부(213)는, 변환 블록의 저주파 성분의 비제로 계수에 대해서만 역변환의 처리를 실행하면 되므로, 역변환의 처리량을 저감할 수 있다. 따라서, 화상 부호화 장치가 대역 제한을 행하지 않는 경우에 비하여, 화상 복호 장치의 계산 복잡도나 실장 비용을 저감할 수 있다.
또한, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag가 0(위)인 경우, 변환 블록이 소정의 블록 사이즈 이상일 때라도, 대역 제한부(482)는 대역 제한을 행하지 않는다. 따라서, 연산부(214)는, 저주파 성분으로부터 고주파 성분에 존재하는 비제로 계수를 복호한다. 따라서, 큰 변환 블록에 있어서, 대역 제한 필터를 적용하는 경우와 비교하여, 고주파 성분의 재현성이 높아지고, 복호 화상의 화질이 향상된다.
또한, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag는, 소정의 단위(SPS, PPS, SH, CU 등)별로 설정된다. 따라서, 대역 제한부(482)는, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag를 사용하여, 소정의 단위별로, 적응적으로 변환 블록 사이즈가 소정의 블록 사이즈 이상인 경우에 대역 제한 필터를 적용할지 여부를 제어할 수 있다.
또한, 도 39 및 도 40의 예에서는, max(TBXSize, TBYSize)가 소정의 사이즈 THSize 이상인지 여부에 의해, 변환 블록 사이즈가 소정의 블록 사이즈 이상인지 여부가 판정되었지만, 그 밖의 상술한 방법에 의해 판정되도록 해도 된다.
또한, 제3 실시 형태에 있어서도, 제4 실시 형태와 마찬가지로, 변환 블록 사이즈뿐만 아니라, 대역 제한 필터 유효 플래그 bandpass_filter_enabled_flag에도 기초하여, 대역 제한을 제어하도록 해도 된다.
<5. 제5 실시 형태>
<정보의 데이터 단위>
이상에 있어서 설명한 화상에 관한 정보나 화상의 부호화ㆍ복호에 관한 정보가 설정되는(또는 대상으로 하는 데이터의) 데이터 단위는 각각 임의이며, 상술한 예에 한정되지 않는다. 예를 들어, 이들 정보가, 각각 TU, TB, PU, PB, CU, LCU, 서브블록, 블록, 타일, 슬라이스, 픽처, 시퀀스 또는 컴포넌트별로 설정되도록 해도 되고, 그들 데이터 단위의 데이터를 대상으로 하도록 해도 된다. 물론, 이 데이터 단위는 정보별로 설정된다. 즉, 모든 정보가 동일한 데이터 단위별로 설정되도록(또는 대상으로 하도록) 하지 않아도 된다. 또한, 이들 정보의 저장 장소는 임의이며, 상술한 데이터 단위의 헤더나 파라미터 세트 등에 저장되도록 해도 된다. 또한, 복수 개소에 저장되도록 해도 된다.
<제어 정보>
이상의 각 실시 형태에 있어서 설명한 본 기술에 관한 제어 정보를 부호화측으로부터 복호측으로 전송하도록 해도 된다. 예를 들어, 상술한 본 기술을 적용할 것을 허가(또는 금지)할지 여부를 제어하는 제어 정보(예를 들어 enabled_flag)를 전송하도록 해도 된다. 또한, 예를 들어 상술한 본 기술을 적용할 것을 허가(또는 금지)하는 블록 사이즈의 상한 혹은 하한, 또는 그 양쪽을 지정하는 제어 정보를 전송하도록 해도 된다.
<부호화ㆍ복호>
본 기술은 프라이머리 변환 및 세컨더리 변환(역 세컨더리 변환 및 역 프라이머리 변환)을 행하는 임의의 화상 부호화ㆍ복호에 적용할 수 있다. 즉, 변환(역변환), 양자화(역양자화), 부호화(복호), 예측 등의 사양은 임의이며, 상술한 예에 한정되지 않는다. 예를 들어, 변환(역변환)에 있어서, (역)프라이머리 변환 및 (역)세컨더리 변환 이외의 (역)변환(즉 3 이상의 (역)변환)이 행해지도록 해도 된다. 또한, 부호화(복호)는 가역의 방식이어도 되고, 비가역의 방식이어도 된다. 또한, 양자화(역양자화)나 예측 등은 생략하도록 해도 된다. 또한, 필터 처리 등의 상술하지 않은 처리가 행해지도록 해도 된다.
<본 기술의 적용 분야>
본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다.
예를 들어, 본 기술은 감상용으로 제공되는 화상을 전송하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은 교통용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은 시큐리티용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은 스포츠용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은 농업용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은 축산업용으로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 화산, 삼림, 해양 등의 자연의 상태를 감시하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 날씨, 기온, 습도, 풍속, 일조 시간 등을 관측하는 기상 관측 시스템이나 기상 관측 장치에 적용할 수 있다. 또한, 본 기술은, 예를 들어 조류, 어류, 파충류, 양서류, 포유류, 곤충, 식물 등의 야생 생물의 생태를 관측하는 시스템이나 디바이스 등에도 적용할 수 있다.
<다시점 화상 부호화ㆍ복호 시스템에 대한 적용>
상술한 일련의 처리는, 복수의 시점(뷰(view))의 화상을 포함하는 다시점 화상의 부호화ㆍ복호를 행하는 다시점 화상 부호화ㆍ복호 시스템에 적용할 수 있다. 그 경우, 각 시점(뷰(view))의 부호화ㆍ복호에 있어서, 본 기술을 적용하도록 하면 된다.
<계층 화상 부호화ㆍ복호 시스템에 대한 적용>
또한, 상술한 일련의 처리는, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록 복수 레이어화(계층화)된 계층 화상의 부호화ㆍ복호를 행하는 계층 화상 부호화(스케일러블 부호화)ㆍ복호 시스템에 적용할 수 있다. 그 경우, 각 계층(레이어)의 부호화ㆍ복호에 있어서, 본 기술을 적용하도록 하면 된다.
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 41은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
도 41에 도시되는 컴퓨터(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)에 미리 인스톨해 둘 수도 있다.
<본 기술의 응용>
상술한 실시 형태에 관한 화상 부호화 장치(100)나 화상 복호 장치(200)는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신, 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기나 수신기, 또는 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치나, 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의, 여러 가지 전자 기기에 응용될 수 있다.
<제1 응용예: 텔레비전 수상기>
도 42는, 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 도시하고 있다. 텔레비전 장치(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 Electro Luminescence 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)가, 상술한 화상 복호 장치(200)의 기능을 갖도록 해도 된다. 즉, 디코더(904)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(900)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 텔레비전 장치(900)에 있어서, 영상 신호 처리부(905)가, 예를 들어 디코더(904)로부터 공급되는 화상 데이터를 부호화하고, 얻어진 부호화 데이터를, 외부 인터페이스부(909)를 통하여 텔레비전 장치(900)의 외부에 출력시킬 수 있도록 해도 된다. 그리고, 그 영상 신호 처리부(905)가, 상술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 영상 신호 처리부(905)가, 디코더(904)로부터 공급되는 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(900)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제2 응용예: 휴대 전화기>
도 43은, 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 도시하고 있다. 휴대 전화기(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)가, 상술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(927)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 휴대 전화기(920)에 있어서, 예를 들어 화상 처리부(927)가, 상술한 화상 복호 장치(200)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(927)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(920)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제3 응용예: 기록 재생 장치>
도 44는, 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 도시하고 있다. 기록 재생 장치(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)가, 상술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 인코더(943)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 기록 재생 장치(940)에 있어서, 예를 들어 디코더(947)가, 상술한 화상 복호 장치(200)의 기능을 갖도록 해도 된다. 즉, 디코더(947)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(940)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제4 응용예: 촬상 장치>
도 45는, 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 도시하고 있다. 촬상 장치(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)가, 상술한 화상 부호화 장치(100)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(964)가, 화상 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 이와 같이 구성된 촬상 장치(960)에 있어서, 예를 들어 화상 처리부(964)가, 상술한 화상 복호 장치(200)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(964)가, 부호화 데이터를, 이상의 각 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(960)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제5 응용예: 비디오 세트>
또한, 본 기술은 임의의 장치 또는 시스템을 구성하는 장치에 탑재되는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 그 밖의 기능을 더 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다. 도 46은, 본 기술을 적용한 비디오 세트의 개략적인 구성의 일례를 도시하고 있다.
근년, 전자 기기의 다기능화가 진행되고 있으며, 그 개발이나 제조에 있어서, 그 일부의 구성을 판매, 제공하거나 하여 실시하는 경우, 1 기능을 갖는 구성으로서 실시를 행하는 경우뿐만 아니라, 관련된 기능을 갖는 복수의 구성을 조합하여, 복수의 기능을 갖는 1세트로서 실시를 행하는 경우도 많이 보이게 되었다.
도 46에 도시되는 비디오 세트(1300)는, 이러한 다기능화된 구성이며, 화상의 부호화나 복호(어느 한쪽이어도 되고, 양쪽이어도 됨)에 관한 기능을 갖는 디바이스에, 그 기능에 관련된 그 밖의 기능을 갖는 디바이스를 조합한 것이다.
도 46에 도시되는 바와 같이, 비디오 세트(1300)는 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314) 등의 모듈군과, 커넥티비티(1321), 카메라(1322) 및 센서(1323) 등의 관련된 기능을 갖는 디바이스를 갖는다.
모듈은, 서로 관련된 몇 가지 부품적 기능을 통합하여, 통합 기능을 가진 부품으로 한 것이다. 구체적인 물리적 구성은 임의이지만, 예를 들어 각각 기능을 갖는 복수의 프로세서, 저항이나 콘덴서 등의 전자 회로 소자, 그 밖의 디바이스 등을 배선 기판 등에 배치하여 일체화한 것이 고려된다. 또한, 모듈에 다른 모듈이나 프로세서 등을 조합하여 새로운 모듈로 하는 것도 고려된다.
도 46의 예의 경우, 비디오 모듈(1311)은, 화상 처리에 관한 기능을 갖는 구성을 조합한 것이며, 애플리케이션 프로세서, 비디오 프로세서, 브로드밴드 모뎀(1333) 및 RF 모듈(1334)을 갖는다.
프로세서는, 소정의 기능을 갖는 구성을 SoC(System On a Chip)에 의해 반도체 칩에 집적한 것이며, 예를 들어 시스템 LSI(Large Scale Integration) 등으로 칭해지는 것도 있다. 이 소정의 기능을 갖는 구성은, 논리 회로(하드웨어 구성)여도 되고, CPU, ROM, RAM 등과, 그것들을 사용하여 실행되는 프로그램(소프트웨어 구성)이어도 되고, 그 양쪽을 조합한 것이어도 된다. 예를 들어, 프로세서가, 논리 회로와 CPU, ROM, RAM 등을 갖고, 기능의 일부를 논리 회로(하드웨어 구성)에 의해 실현하고, 그 밖의 기능을 CPU에 있어서 실행되는 프로그램(소프트웨어 구성)에 의해 실현하도록 해도 된다.
도 46의 애플리케이션 프로세서(1331)는, 화상 처리에 관한 애플리케이션을 실행하는 프로세서이다. 이 애플리케이션 프로세서(1331)에 있어서 실행되는 애플리케이션은, 소정의 기능을 실현하기 위해, 연산 처리를 행할 뿐만 아니라, 예를 들어 비디오 프로세서(1332) 등, 비디오 모듈(1311) 내외의 구성을 필요에 따라 제어할 수도 있다.
비디오 프로세서(1332)는, 화상의 부호화ㆍ복호(그 중 한쪽 또는 양쪽)에 관한 기능을 갖는 프로세서이다.
브로드밴드 모뎀(1333)은, 인터넷이나 공중 전화 회선망 등의 광대역의 회선을 통하여 행해지는 유선 혹은 무선(또는 그 양쪽)의 광대역 통신에 의해 송신하는 데이터(디지털 신호)를 디지털 변조하거나 하여 아날로그 신호로 변환하거나, 그 광대역 통신에 의해 수신한 아날로그 신호를 복조하여 데이터(디지털 신호)로 변환하거나 한다. 브로드밴드 모뎀(1333)은, 예를 들어 비디오 프로세서(1332)가 처리하는 화상 데이터, 화상 데이터가 부호화된 스트림, 애플리케이션 프로그램, 설정 데이터 등, 임의의 정보를 처리한다.
RF 모듈(1334)은, 안테나를 통하여 송수신되는 RF(Radio Frequency) 신호에 대하여, 주파수 변환, 변복조, 증폭, 필터 처리 등을 행하는 모듈이다. 예를 들어, RF 모듈(1334)은, 브로드밴드 모뎀(1333)에 의해 생성된 기저 대역 신호에 대하여 주파수 변환 등을 행하여 RF 신호를 생성한다. 또한, 예를 들어 RF 모듈(1334)은, 프론트엔드 모듈(1314)을 통하여 수신된 RF 신호에 대하여 주파수 변환 등을 행하여 기저 대역 신호를 생성한다.
또한, 도 46에 있어서 점선(1341)으로 나타나는 바와 같이, 애플리케이션 프로세서(1331)와 비디오 프로세서(1332)를 일체화하여, 하나의 프로세서로서 구성되도록 해도 된다.
외부 메모리(1312)는, 비디오 모듈(1311)의 외부에 마련된, 비디오 모듈(1311)에 의해 이용되는 기억 디바이스를 갖는 모듈이다. 이 외부 메모리(1312)의 기억 디바이스는, 어떠한 물리 구성에 의해 실현하도록 해도 되지만, 일반적으로 프레임 단위의 화상 데이터와 같은 대용량의 데이터의 저장에 이용되는 일이 많으므로, 예를 들어 DRAM(Dynamic Random Access Memory)과 같은 비교적 저렴하고 대용량인 반도체 메모리에 의해 실현하는 것이 바람직하다.
파워 매니지먼트 모듈(1313)은, 비디오 모듈(1311)(비디오 모듈(1311) 내의 각 구성)로의 전력 공급을 관리하고, 제어한다.
프론트엔드 모듈(1314)은, RF 모듈(1334)에 대하여 프론트엔드 기능(안테나측의 송수신단의 회로)을 제공하는 모듈이다. 도 46에 도시되는 바와 같이, 프론트엔드 모듈(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)는, 본 기술을 적용한 세트로서 실시할 수 있다.
<비디오 프로세서의 구성예>
도 47은, 본 기술을 적용한 비디오 프로세서(1332)(도 46)의 개략적인 구성의 일례를 도시하고 있다.
도 47의 예의 경우, 비디오 프로세서(1332)는, 비디오 신호 및 오디오 신호의 입력을 받아 이들을 소정의 방식으로 부호화하는 기능과, 부호화된 비디오 데이터 및 오디오 데이터를 복호하여, 비디오 신호 및 오디오 신호를 재생 출력하는 기능을 갖는다.
도 47에 도시되는 바와 같이, 비디오 프로세서(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)(도 46) 등으로부터 입력된 비디오 신호를 취득하고, 디지털 화상 데이터로 변환시킨다. 제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(Audio Code number3) 방식 등의 소정의 방식으로 부호화한다. 오디오 인코더(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)이, 상술한 화상 부호화 장치(100)의 기능 혹은 화상 복호 장치(200)의 기능 또는 그 양쪽을 갖도록 해도 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 인코드ㆍ디코드 엔진(1407)에 있어서, 본 기술(즉, 화상 부호화 장치(100)의 기능 혹은 화상 복호 장치(200)의 기능 또는 그 양쪽)은 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
<비디오 프로세서의 다른 구성예>
도 48은, 본 기술을 적용한 비디오 프로세서(1332)의 개략적인 구성의 다른 예를 도시하고 있다. 도 48의 예의 경우, 비디오 프로세서(1332)는, 비디오 데이터를 소정의 방식으로 부호화ㆍ복호하는 기능을 갖는다.
보다 구체적으로는, 도 48에 도시되는 바와 같이, 비디오 프로세서(1332)는 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 내부 메모리(1515)를 갖는다. 또한, 비디오 프로세서(1332)는 코덱 엔진(1516), 메모리 인터페이스(1517), 다중화ㆍ역다중화부(MUX DMUX)(1518), 네트워크 인터페이스(1519) 및 비디오 인터페이스(1520)를 갖는다.
제어부(1511)는 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516) 등, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어한다.
도 48에 도시되는 바와 같이, 제어부(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)이 대응하는 부호화ㆍ복호의 방식은 임의이며, 그 수는 1개여도 되고, 복수여도 된다. 예를 들어, 코덱 엔진(1516)은, 복수의 부호화ㆍ복호 방식의 코덱 기능을 구비하고, 그 중에서 선택된 것으로 화상 데이터의 부호화 또는 부호화 데이터의 복호를 행하도록 해도 된다.
도 48에 도시되는 예에 있어서, 코덱 엔진(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(Hyper Text 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)는, 1개의 데이터를 복수로 분할할 뿐만 아니라, 분할한 각 데이터에 소정의 헤더 정보 등을 부가할 수도 있다. 즉, 다중화ㆍ역다중화부(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)이, 상술한 화상 부호화 장치(100)의 기능 혹은 화상 복호 장치(200)의 기능 또는 그 양쪽을 갖게 하면 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 코덱 엔진(1516)에 있어서, 본 기술(즉, 화상 부호화 장치(100)의 기능)은 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
이상으로 비디오 프로세서(1332)의 구성을 2예 나타내었지만, 비디오 프로세서(1332)의 구성은 임의이며, 상술한 2예 이외의 것이어도 된다. 또한, 이 비디오 프로세서(1332)는, 1개의 반도체 칩으로서 구성되도록 해도 되지만, 복수의 반도체 칩으로서 구성되도록 해도 된다. 예를 들어, 복수의 반도체를 적층하는 3차원 적층 LSI로 해도 된다. 또한, 복수의 LSI에 의해 실현되도록 해도 된다.
<장치에 대한 적용예>
비디오 세트(1300)는, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 세트(1300)는 텔레비전 장치(900)(도 42), 휴대 전화기(920)(도 43), 기록 재생 장치(940)(도 44), 촬상 장치(960)(도 45) 등에 내장할 수 있다. 비디오 세트(1300)를 내장함으로써, 그 장치는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
또한, 상술한 비디오 세트(1300)의 각 구성의 일부라도, 비디오 프로세서(1332)를 포함하는 것이라면, 본 기술을 적용한 구성으로서 실시할 수 있다. 예를 들어, 비디오 프로세서(1332)만을 본 기술을 적용한 비디오 프로세서로서 실시할 수 있다. 또한, 예를 들어 상술한 바와 같이 점선(1341)에 의해 나타나는 프로세서나 비디오 모듈(1311) 등을, 본 기술을 적용한 프로세서나 모듈 등으로서 실시할 수 있다. 또한, 예를 들어 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314)을 조합하여, 본 기술을 적용한 비디오 유닛(1361)으로서 실시할 수도 있다. 어느 구성의 경우라도, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
즉, 비디오 프로세서(1332)를 포함하는 것이라면 어떠한 구성이라도, 비디오 세트(1300)의 경우와 마찬가지로, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 프로세서(1332), 점선(1341)에 의해 나타나는 프로세서, 비디오 모듈(1311), 또는 비디오 유닛(1361)을, 텔레비전 장치(900)(도 42), 휴대 전화기(920)(도 43), 기록 재생 장치(940)(도 44), 촬상 장치(960)(도 45) 등에 내장할 수 있다. 그리고, 본 기술을 적용한 어느 구성을 내장함으로써, 그 장치는, 비디오 세트(1300)의 경우와 마찬가지로, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<제6 응용예: 네트워크 시스템>
또한, 본 기술은 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수도 있다. 도 49는, 본 기술을 적용한 네트워크 시스템의 개략적인 구성의 일례를 도시하고 있다.
도 49에 도시되는 네트워크 시스템(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)가, 각각, 상술한 화상 부호화 장치(100)나 화상 복호 장치(200)의 기능을 갖도록 해도 된다. 이와 같이 함으로써, 화상 데이터를 수수하는 단말기(컴퓨터(1611) 내지 IoT 디바이스(1614))나 클라우드 서비스(1601)는, 도 1 내지 도 23을 참조하여 상술한 각 실시 형태와 마찬가지의 효과를 얻을 수 있다.
<기타>
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보는, 부호화 데이터로 다중화되어 전송되거나 또는 기록되도록 해도 되고, 부호화 데이터로 다중화되지 않고, 부호화 데이터와 관련지어진 별개의 데이터로서 전송되거나 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」라고 하는 용어는, 예를 들어 한쪽 데이터를 처리할 때 다른 쪽 데이터를 이용할 수 있도록(링크시킬 수 있도록) 함을 의미한다. 즉, 서로 관련지어진 데이터는, 하나의 데이터로서 통합되어도 되고, 각각 개별의 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은, 데이터 전체가 아니라, 데이터의 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 상술한 바와 같이, 본 명세서에 있어서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함한다」, 「저장한다」, 「밀어넣는다」, 「꽂는다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 하나의 데이터로 통합하는 것과 같은, 복수의 것을 하나로 통합하는 것을 의미하며, 상술의 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통하여 접속되어 있는 복수의 장치, 및 하나의 하우징 내에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두 시스템이다.
또한, 예를 들어 하나의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 하나의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 좋다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하다면, 어떠한 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
또한, 예를 들어 본 기술은, 하나의 기능을, 네트워크를 통하여 복수의 장치에서 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행할 수 있다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 상술한 흐름도에서 설명한 각 스텝은, 하나의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다. 또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별적으로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합하여 실행되도록 해도 된다.
또한, 본 명세서에 있어서 복수 설명한 본 기술은, 모순이 발생하지 않는 한, 각각 독립적으로 단체로 실시될 수 있다. 물론, 임의의 복수의 본 기술을 병용하여 실시할 수도 있다. 예를 들어, 어느 일 실시 형태에 있어서 설명한 본 기술을, 다른 실시 형태에 있어서 설명한 본 기술과 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술을, 상술하지 않은 다른 기술과 병용하여 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는 화상 처리 장치.
(2) 상기 제어부는, 상기 프라이머리 변환을 스킵시키지 않는 경우, 상기 프라이머리 변환 및 상기 세컨더리 변환의 변환 블록 사이즈가 소정의 사이즈 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (1)에 기재된 화상 처리 장치.
(3) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록의 수평 방향의 사이즈 및 수직 방향의 사이즈에 기초하여, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (2)에 기재된 화상 처리 장치.
(4) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향 및 수직 방향의 사이즈 중 큰 쪽이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (3)에 기재된 화상 처리 장치.
(5) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향과 수직 방향의 사이즈의 합 또는 곱이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (3)에 기재된 화상 처리 장치.
(6) 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 직사각형의 변환 블록 내의 소정의 사이즈의 정사각형의 영역 이외의 영역의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된 (2) 내지 (5) 중 어느 하나에 기재된 화상 처리 장치.
(7) 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록을 구성하는 화소 중, 처리순이 소정값 이상인 화소의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된 (2) 내지 (5) 중 어느 하나에 기재된 화상 처리 장치.
(8) 화상 처리 장치가,
화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어 스텝을 포함하는 화상 처리 방법.
(9) 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는 화상 처리 장치.
(10) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록 사이즈가 소정의 사이즈 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (9)에 기재된 화상 처리 장치.
(11) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록의 수평 방향의 사이즈 및 수직 방향의 사이즈에 기초하여, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (10)에 기재된 화상 처리 장치.
(12) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향 및 수직 방향의 사이즈 중 큰 쪽이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (11)에 기재된 화상 처리 장치.
(13) 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향과 수직 방향의 사이즈의 합 또는 곱이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된 (11)에 기재된 화상 처리 장치.
(14) 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 직사각형의 변환 블록 내의 소정의 사이즈의 정사각형의 영역 이외의 영역의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된 (10)에 기재된 화상 처리 장치.
(15) 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록을 구성하는 화소 중, 처리순이 소정값 이상인 화소의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된 (10)에 기재된 화상 처리 장치.
(16) 화상 처리 장치가,
화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어 스텝을 포함하는 화상 처리 방법.
(17) 화상과 상기 화상의 예측 화상의 차분인 예측 잔차로부터 얻어지는 변환 계수에 대한 변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 제어부를 구비하는 화상 처리 장치.
(18) 상기 제어부는, 상기 예측 잔차가 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 세컨더리 변환의 스킵을, 상기 서브블록별 상기 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 (17)에 기재된 화상 처리 장치.
(19) 상기 프라이머리 변환 계수가 양자화되어 얻어지는 양자화 프라이머리 변환 계수와, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수가 양자화되어 얻어지는 양자화 세컨더리 변환 계수에 기초하여, 상기 세컨더리 변환을 스킵시킬지 여부를, 상기 서브블록별로 판정하는 판정부를 더 구비하고,
상기 제어부는, 상기 판정부에 의한 판정 결과에 따라, 상기 프라이머리 변환 계수에 대한 상기 세컨더리 변환의 스킵을, 상기 서브블록별로 제어하도록 구성되는 (17) 또는 (18)에 기재된 화상 처리 장치.
(20) 상기 판정부는, 상기 양자화 프라이머리 변환 계수의 비제로 계수의 수와, 상기 양자화 세컨더리 변환 계수의 비제로 계수의 수를 구하고, 구한 상기 양자화 프라이머리 변환 계수의 비제로 계수의 수와, 상기 양자화 세컨더리 변환 계수의 비제로 계수의 수와, 소정의 역치에 기초하여, 상기 세컨더리 변환을 스킵시킬지 여부를, 상기 서브블록별로 판정하는 (17) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(21) 상기 판정부는, 상기 양자화 프라이머리 변환 계수의 비제로 계수의 수가 상기 양자화 세컨더리 변환 계수의 비제로 계수의 수 이하인 경우이며, 또한 상기 양자화 프라이머리 변환 계수의 비제로 계수의 수, 또는 상기 양자화 세컨더리 변환 계수의 비제로 계수의 수가, 상기 역치 이하인 경우, 상기 세컨더리 변환을 스킵시키도록 판정하는 (17) 내지 (20) 중 어느 하나에 기재된 화상 처리 장치.
(22) 상기 프라이머리 변환 계수를 양자화하여 상기 양자화 프라이머리 변환 계수를 구하고, 상기 세컨더리 변환 계수를 양자화하여 상기 양자화 세컨더리 변환 계수를 구하는 양자화부를 더 구비하고,
상기 판정부는, 상기 양자화부에 의해 양자화되어 얻어진 상기 양자화 프라이머리 변환 계수 및 상기 양자화 세컨더리 변환 계수에 기초하여, 상기 세컨더리 변환을 스킵시킬지 여부를, 상기 서브블록별로 판정하도록 구성되는 (17) 내지 (21) 중 어느 하나에 기재된 화상 처리 장치.
(23) 상기 프라이머리 변환은 직교 변환이고,
상기 세컨더리 변환은,
상기 프라이머리 변환 계수를 1차원 벡터로 변환하고,
상기 1차원 벡터에 대한 행렬 연산을 행하고,
상기 행렬 연산이 행해진 상기 1차원 벡터의 스케일링을 행하고,
스케일링된 상기 1차원 벡터를 행렬화하는
변환 처리인, (17) 내지 (22) 중 어느 하나에 기재된 화상 처리 장치.
(24) 상기 프라이머리 변환을 행하는 프라이머리 변환부와,
상기 제어부의 제어에 따라 상기 세컨더리 변환을 행하는 세컨더리 변환부
를 더 구비하는 (17) 내지 (23) 중 어느 하나에 기재된 화상 처리 장치.
(25) 상기 세컨더리 변환부에 의해 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수 또는 상기 프라이머리 변환 계수에 대하여 양자화를 행하는 양자화부와,
상기 양자화부에 의해 상기 세컨더리 변환 계수 또는 상기 프라이머리 변환 계수가 양자화되어 얻어지는 양자화 변환 계수 레벨을 부호화하는 부호화부
를 더 구비하는 (17) 내지 (24) 중 어느 하나에 기재된 화상 처리 장치.
(26) 화상과 상기 화상의 예측 화상의 차분인 예측 잔차로부터 얻어지는 변환 계수에 대한 변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 화상 처리 방법.
(27) 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 제어부를 구비하는 화상 처리 장치.
(28) 상기 제어부는, 부호화 데이터가 복호되어 얻어지는 세컨더리 변환 계수에 대한 역 세컨더리 변환의 스킵을, 상기 서브블록별 상기 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 (27)에 기재된 화상 처리 장치.
(29) 상기 세컨더리 변환 계수에 기초하여, 상기 역 세컨더리 변환을 스킵시킬지 여부를, 상기 서브블록별로 판정하는 판정부를 더 구비하고,
상기 제어부는, 상기 판정부에 의한 판정 결과에 따라, 상기 역 세컨더리 변환의 스킵을, 상기 서브블록별로 제어하도록 구성되는 (27) 또는 (28)에 기재된 화상 처리 장치.
(30) 상기 판정부는, 상기 세컨더리 변환 계수의 비제로 계수의 수가, 소정의 역치 이하인 경우, 상기 역 세컨더리 변환을 스킵시키도록 판정하는 (27) 내지 (29) 중 어느 하나에 기재된 화상 처리 장치.
(31) 상기 역 세컨더리 변환은,
상기 세컨더리 변환 계수를 1차원 벡터로 변환하고,
상기 1차원 벡터에 대한 행렬 연산을 행하고,
상기 행렬 연산이 행해진 상기 1차원 벡터의 스케일링을 행하고,
스케일링된 상기 1차원 벡터를 행렬화하는
변환 처리인 (27) 내지 (30) 중 어느 하나에 기재된 화상 처리 장치.
(32) 상기 제어부의 제어에 따라 상기 역 세컨더리 변환을 행하는 역 세컨더리 변환부를 더 구비하는 (27) 내지 (31) 중 어느 하나에 기재된 화상 처리 장치.
(33) 상기 역 세컨더리 변환부에 의해 상기 세컨더리 변환 계수가 상기 역 세컨더리 변환되어 얻어지는 프라이머리 변환 계수를 상기 예측 잔차로 변환시키는 역 프라이머리 변환을 행하는 역 프라이머리 변환부를 더 구비하는 (27) 내지 (32) 중 어느 하나에 기재된 화상 처리 장치.
(34) 상기 부호화 데이터가 복호되어 얻어지는 양자화 변환 계수 레벨을 역양자화하는 역양자화부를 더 구비하고,
상기 역 세컨더리 변환부는, 상기 역양자화부에 의해 상기 양자화 변환 계수 레벨이 역양자화되어 얻어지는 상기 세컨더리 변환 계수에 대하여, 상기 제어부의 제어에 따라 상기 역 세컨더리 변환을 행하도록 구성되는 (27) 내지 (33) 중 어느 하나에 기재된 화상 처리 장치.
(35) 상기 부호화 데이터를 복호하는 복호부를 더 구비하고,
상기 역양자화부는, 상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어지는 상기 양자화 변환 계수 레벨을 역양자화하도록 구성되는 (27) 내지 (34) 중 어느 하나에 기재된 화상 처리 장치.
(36) 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 화상 처리 방법.
(37) 변환 계수에 대한 변환 처리의 행렬을, 상기 변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와,
화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 변환 처리되어 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와,
상기 설정부에 의해 설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와,
상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와,
스케일링된 상기 1차원 벡터를 행렬화하는 행렬화부
를 구비하는 화상 처리 장치.
(38) 상기 행렬의 후보를 기억하는 기억부를 더 구비하고,
상기 설정부는, 상기 변환 처리의 내용 및 상기 스캔 방법에 대응하는 상기 행렬을, 상기 기억부에 기억되어 있는 상기 행렬의 후보 중에서 선택함으로써, 상기 행렬을 설정하도록 구성되는 (37)에 기재된 화상 처리 장치.
(39) 상기 설정부는, 상기 변환 처리의 내용과, 상기 래스터라이즈부 및 상기 행렬화부에 있어서 채용되는 상기 스캔 방법에 대응하는 상기 행렬을 설정하는 (37) 또는 (38)에 기재된 화상 처리 장치.
(40) 상기 설정부는, 상기 변환 처리의 내용을 나타내는 변환 식별자와, 상기 스캔 방법에 관한 정보인 스캔 식별자에 기초하여 상기 행렬을 설정하는 (37) 내지 (39) 중 어느 하나에 기재된 화상 처리 장치.
(41) 상기 변환 식별자는, 상기 예측 잔차가 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 세컨더리 변환의 내용을 나타내는 세컨더리 변환 식별자이고,
상기 설정부는, 상기 예측 잔차가 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 세컨더리 변환의 행렬을, 상기 세컨더리 변환 식별자 및 상기 스캔 식별자에 기초하여 설정하도록 구성되는 (37) 내지 (40) 중 어느 하나에 기재된 화상 처리 장치.
(42) 상기 프라이머리 변환은 직교 변환인 (37) 내지 (41) 중 어느 하나에 기재된 화상 처리 장치.
(43) 상기 프라이머리 변환을 행하는 프라이머리 변환부를 더 구비하는 (37) 내지 (42) 중 어느 하나에 기재된 화상 처리 장치.
(44) 상기 행렬화부에 의해 스케일링된 상기 1차원 벡터가 행렬화되어 얻어지는 세컨더리 변환 계수를 양자화하는 양자화부를 더 구비하는 (37) 내지 (43) 중 어느 하나에 기재된 화상 처리 장치.
(45) 상기 양자화부에 의해 상기 세컨더리 변환 계수가 양자화되어 얻어지는 양자화 변환 계수 레벨을 부호화하는 부호화부를 더 구비하는 (37) 내지 (44) 중 어느 하나에 기재된 화상 처리 장치.
(46) 변환 계수에 대한 변환 처리의 행렬을, 상기 변환 처리의 내용과 스캔 방법에 기초하여 설정하고,
화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 변환 처리되어 얻어지는 변환 계수를 1차원 벡터로 변환하고,
설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하고,
상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하고,
스케일링된 상기 1차원 벡터를 행렬화하는 화상 처리 방법.
(47) 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와,
역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와,
상기 설정부에 의해 설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와,
상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와,
스케일링된 상기 1차원 벡터를 행렬화하는 행렬화부
를 구비하는 화상 처리 장치.
(48) 상기 행렬의 후보를 기억하는 기억부를 더 구비하고,
상기 설정부는, 상기 역변환 처리의 내용 및 상기 스캔 방법에 대응하는 상기 행렬을, 상기 기억부에 기억되어 있는 상기 행렬의 후보 중에서 선택함으로써, 상기 행렬을 설정하도록 구성되는 (47)에 기재된 화상 처리 장치.
(49) 상기 설정부는, 상기 역변환 처리의 내용과, 상기 래스터라이즈부 및 상기 행렬화부에 있어서 채용되는 상기 스캔 방법에 대응하는 상기 행렬을 설정하는 (47) 또는 (48)에 기재된 화상 처리 장치.
(50) 상기 설정부는, 상기 역변환 처리의 내용을 나타내는 변환 식별자와, 상기 스캔 방법에 관한 정보인 스캔 식별자에 기초하여 상기 행렬을 설정하는 (47) 내지 (49) 중 어느 하나에 기재된 화상 처리 장치.
(51) 상기 변환 식별자는, 부호화 데이터가 복호되어 얻어지는 세컨더리 변환 계수에 대한 역 세컨더리 변환의 내용을 나타내는 세컨더리 변환 식별자이고,
상기 설정부는, 상기 역 세컨더리 변환의 행렬을, 상기 세컨더리 변환 식별자 및 상기 스캔 식별자에 기초하여 설정하도록 구성되고,
상기 래스터라이즈부는, 상기 세컨더리 변환 계수를 상기 1차원 벡터로 변환하도록 구성되고,
상기 행렬화부는, 스케일링된 상기 1차원 벡터를 행렬화하여 프라이머리 변환 계수를 얻도록 구성되는 (47) 내지 (50) 중 어느 하나에 기재된 화상 처리 장치.
(52) 상기 행렬화부에 의해 얻어진 상기 프라이머리 변환 계수에 대하여 상기 역 프라이머리 변환을 행하고, 상기 예측 잔차를 얻는 역 프라이머리 변환부를 더 구비하는 (47) 내지 (51) 중 어느 하나에 기재된 화상 처리 장치.
(53) 상기 역 프라이머리 변환은 역직교 변환인 (47) 내지 (52) 중 어느 하나에 기재된 화상 처리 장치.
(54) 부호화 데이터가 복호되어 얻어지는 양자화 변환 계수 레벨을 역양자화하는 역양자화부를 더 구비하고,
상기 래스터라이즈부는, 상기 역양자화부에 의해 상기 양자화 변환 계수 레벨이 역양자화되어 얻어지는 상기 세컨더리 변환 계수를 상기 1차원 벡터로 변환하도록 구성되는 (47) 내지 (53) 중 어느 하나에 기재된 화상 처리 장치.
(55) 상기 부호화 데이터를 복호하는 복호부를 더 구비하고,
상기 역양자화부는, 상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어지는 상기 양자화 변환 계수 레벨을 역양자화하도록 구성되는 (47) 내지 (54) 중 어느 하나에 기재된 화상 처리 장치.
(56) 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하고,
역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하고,
설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하고,
상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하고,
스케일링된 상기 1차원 벡터를 행렬화하는 화상 처리 방법.
100: 화상 부호화 장치
101: 제어부
111: 연산부
112: 변환부
113: 양자화부
114: 부호화부
115: 역양자화부
116: 역변환부
117: 연산부
118: 프레임 메모리
119: 예측부
131: 프라이머리 변환부
132: 세컨더리 변환부
141: 래스터라이즈부
142: 행렬 연산부
143: 스케일링부
144: 행렬화부
145: 세컨더리 변환 선택부
146: 양자화부
147: 비제로 계수 수 판정부
148: 스위치
200: 화상 복호 장치
211: 복호부
212: 역양자화부
213: 역변환부
214: 연산부
215: 프레임 메모리
216: 예측부
231: 역 세컨더리 변환부
232: 역 프라이머리 변환부
241: 비제로 계수 수 판정부
242: 스위치
243: 래스터라이즈부
244: 행렬 연산부
245: 스케일링부
246: 행렬화부
247: 역 세컨더리 변환 선택부
301: 세컨더리 변환 선택부
311: 세컨더리 변환 도출부
312: 세컨더리 변환 유지부
321: 역 세컨더리 변환 선택부
331: 역 세컨더리 변환 도출부
332: 역 세컨더리 변환 유지부
421, 441: 스위치

Claims (20)

  1. 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는, 화상 처리 장치.
  2. 화상 처리 장치가,
    화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어 스텝을 포함하는, 화상 처리 방법.
  3. 화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어부를 구비하는, 화상 처리 장치.
  4. 제3항에 있어서, 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록 사이즈가 소정의 사이즈 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된, 화상 처리 장치.
  5. 제4항에 있어서, 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록의 수평 방향의 사이즈 및 수직 방향의 사이즈에 기초하여, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된, 화상 처리 장치.
  6. 제5항에 있어서, 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향 및 수직 방향의 사이즈 중 큰 쪽이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된, 화상 처리 장치.
  7. 제5항에 있어서, 상기 제어부는, 상기 역 프라이머리 변환을 스킵시키지 않는 경우, 상기 변환 블록의 수평 방향과 수직 방향의 사이즈의 합 또는 곱이 소정값 이상일 때, 상기 세컨더리 변환 계수에 대한 대역 제한을 행하게 하도록 구성된, 화상 처리 장치.
  8. 제4항에 있어서, 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 직사각형의 변환 블록 내의 소정의 사이즈의 정사각형의 영역 이외의 영역의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된, 화상 처리 장치.
  9. 제4항에 있어서, 상기 대역 제한은, 상기 역 프라이머리 변환 및 상기 역 세컨더리 변환의 변환 블록을 구성하는 화소 중, 처리순이 소정값 이상인 화소의 대역 제한 후의 상기 세컨더리 변환 계수를 0으로 함으로써 행해지도록 구성된, 화상 처리 장치.
  10. 화상 처리 장치가,
    화상과 상기 화상의 예측 화상의 차분인 예측 잔차에 대한 변환 처리인 프라이머리 변환의 역변환인 역 프라이머리 변환과, 상기 예측 잔차가 상기 프라이머리 변환되어 얻어지는 프라이머리 변환 계수에 대한 변환 처리인 세컨더리 변환의 역변환인 역 세컨더리 변환을 스킵시키는 경우, 상기 프라이머리 변환 계수가 상기 세컨더리 변환되어 대역 제한됨으로써 얻어지는 세컨더리 변환 계수에 대한 대역 제한도 스킵시키는 제어 스텝을 포함하는, 화상 처리 방법.
  11. 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는 제어부를 구비하는, 화상 처리 장치.
  12. 제11항에 있어서, 상기 제어부는, 부호화 데이터가 복호되어 얻어지는 세컨더리 변환 계수에 대한 역 세컨더리 변환의 스킵을, 상기 서브블록별 상기 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는, 화상 처리 장치.
  13. 제12항에 있어서, 상기 세컨더리 변환 계수에 기초하여, 상기 역 세컨더리 변환을 스킵시킬지 여부를, 상기 서브블록별로 판정하는 판정부를 더 구비하고,
    상기 제어부는, 상기 판정부에 의한 판정 결과에 따라, 상기 역 세컨더리 변환의 스킵을, 상기 서브블록별로 제어하도록 구성되는, 화상 처리 장치.
  14. 제12항에 있어서, 상기 역 세컨더리 변환은,
    상기 세컨더리 변환 계수를 1차원 벡터로 변환하고,
    상기 1차원 벡터에 대한 행렬 연산을 행하고,
    상기 행렬 연산이 행해진 상기 1차원 벡터의 스케일링을 행하고,
    스케일링된 상기 1차원 벡터를 행렬화하는
    변환 처리인, 화상 처리 장치.
  15. 역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수에 대한 역변환 처리의 스킵을, 서브블록별 변환 계수의 비제로 계수의 수에 기초하여, 상기 서브블록별로 제어하는, 화상 처리 방법.
  16. 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하는 설정부와,
    역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하는 래스터라이즈부와,
    상기 설정부에 의해 설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하는 행렬 연산부와,
    상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하는 스케일링부와,
    스케일링된 상기 1차원 벡터를 행렬화하는 행렬화부
    를 구비하는, 화상 처리 장치.
  17. 제16항에 있어서, 상기 행렬의 후보를 기억하는 기억부를 더 구비하고,
    상기 설정부는, 상기 역변환 처리의 내용 및 상기 스캔 방법에 대응하는 상기 행렬을, 상기 기억부에 기억되어 있는 상기 행렬의 후보 중에서 선택함으로써, 상기 행렬을 설정하도록 구성되는, 화상 처리 장치.
  18. 제16항에 있어서, 상기 설정부는, 상기 역변환 처리의 내용과, 상기 래스터라이즈부 및 상기 행렬화부에 있어서 채용되는 상기 스캔 방법에 대응하는 상기 행렬을 설정하는, 화상 처리 장치.
  19. 제16항에 있어서, 상기 설정부는, 상기 역변환 처리의 내용을 나타내는 변환 식별자와, 상기 스캔 방법에 관한 정보인 스캔 식별자에 기초하여 상기 행렬을 설정하는, 화상 처리 장치.
  20. 변환 계수에 대한 역변환 처리의 행렬을, 상기 역변환 처리의 내용과 스캔 방법에 기초하여 설정하고,
    역변환 처리함으로써 화상과 상기 화상의 예측 화상의 차분인 예측 잔차가 얻어지는 변환 계수를 1차원 벡터로 변환하고,
    설정된 상기 행렬을 사용하여, 상기 1차원 벡터에 대한 행렬 연산을 행하고,
    상기 행렬 연산이 행해진 상기 1차원 벡터에 대하여 스케일링을 행하고,
    스케일링된 상기 1차원 벡터를 행렬화하는, 화상 처리 방법.
KR1020187031841A 2016-05-13 2017-04-28 화상 처리 장치 및 방법 KR102393150B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JPJP-P-2016-097311 2016-05-13
JP2016097311 2016-05-13
JPJP-P-2016-101616 2016-05-20
JP2016101616 2016-05-20
JP2016114766 2016-06-08
JPJP-P-2016-114766 2016-06-08
PCT/JP2017/016988 WO2017195667A1 (ja) 2016-05-13 2017-04-28 画像処理装置および方法

Publications (2)

Publication Number Publication Date
KR20190008205A true KR20190008205A (ko) 2019-01-23
KR102393150B1 KR102393150B1 (ko) 2022-05-02

Family

ID=60267735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187031841A KR102393150B1 (ko) 2016-05-13 2017-04-28 화상 처리 장치 및 방법

Country Status (10)

Country Link
US (1) US11350127B2 (ko)
EP (2) EP4336833A3 (ko)
JP (4) JP6868786B2 (ko)
KR (1) KR102393150B1 (ko)
CN (1) CN109076226B (ko)
AU (2) AU2017264000A1 (ko)
CA (1) CA3022221A1 (ko)
MX (1) MX2018013462A (ko)
RU (1) RU2740863C2 (ko)
WO (1) WO2017195667A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076226B (zh) * 2016-05-13 2021-08-13 索尼公司 图像处理装置和方法
CN110326294A (zh) * 2017-01-03 2019-10-11 Lg电子株式会社 使用二次变换编码/解码视频信号的方法和设备
JP2019017066A (ja) * 2017-07-03 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
JP6982525B2 (ja) * 2018-03-16 2021-12-17 Kddi株式会社 動画像の符号化装置および方法、復号装置および方法ならびに符号化復号システム
CN112567745A (zh) * 2018-03-29 2021-03-26 弗劳恩霍夫应用研究促进协会 用于视频编码的候选变换集合的确定
CN116847081A (zh) 2018-04-01 2023-10-03 Lg电子株式会社 图像解码设备、图像编码设备和用于发送视频信号的设备
SI3764649T1 (sl) * 2018-04-01 2023-12-29 Lg Electronics Inc. Obdelava video signala z uporabo reducirne sekundarne transformacije
CN118118671A (zh) 2018-04-19 2024-05-31 Oppo广东移动通信有限公司 用于处理图像的方法及其设备
CN112930685A (zh) * 2018-10-12 2021-06-08 Oppo广东移动通信有限公司 视频信号的编码方法和解码方法及其装置
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
CN111669579B (zh) * 2019-03-09 2022-09-16 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
KR20200110236A (ko) * 2019-03-13 2020-09-23 현대자동차주식회사 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치
WO2020190085A1 (ko) * 2019-03-21 2020-09-24 엘지전자 주식회사 인루프 필터링 기반 비디오 또는 영상 코딩
EP3949423A4 (en) 2019-04-16 2023-04-12 HFI Innovation Inc. METHODS AND DEVICES FOR ENCODING VIDEO DATA WITH SECONDARY TRANSFORMATION
US11956469B2 (en) 2019-04-16 2024-04-09 Hfi Innovation Inc. Methods and apparatuses for coding video data with adaptive secondary transform signaling depending on TB level syntax
WO2020216296A1 (en) 2019-04-23 2020-10-29 Beijing Bytedance Network Technology Co., Ltd. Clipping operation in secondary transform based video processing
CN114270817B (zh) * 2019-08-20 2024-07-05 北京字节跳动网络技术有限公司 基于位置的系数缩放
CA3149873A1 (en) * 2019-09-06 2021-03-11 Takeshi Tsukuba Image processing device and method
CN110636313B (zh) * 2019-09-18 2022-07-15 浙江大华技术股份有限公司 变换、二次变换矩阵训练方法、编码器及相关装置
CN114007080B (zh) * 2019-12-03 2022-12-23 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备
CN113473129B (zh) * 2020-03-30 2022-12-23 杭州海康威视数字技术股份有限公司 一种编码、解码方法及装置
CN114598871A (zh) * 2020-12-03 2022-06-07 杭州海康威视数字技术股份有限公司 一种编码、解码方法、装置及其设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483282B2 (en) 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
US8126054B2 (en) 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
JP5184447B2 (ja) * 2009-06-22 2013-04-17 株式会社Kddi研究所 動画像符号化装置および復号装置
KR20120046725A (ko) * 2009-08-06 2012-05-10 파나소닉 주식회사 부호화 방법, 복호 방법, 부호화 장치 및 복호 장치
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
US9288495B2 (en) * 2009-11-24 2016-03-15 Sk Telecom Co., Ltd. Adaptive secondary prediction-based image encoding/decoding method, device and recording medium
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
US20130003856A1 (en) * 2011-07-01 2013-01-03 Samsung Electronics Co. Ltd. Mode-dependent transforms for residual coding with low latency
RU2719340C2 (ru) * 2011-10-18 2020-04-17 Кт Корпорейшен Способ декодирования видеосигнала
MX358516B (es) * 2011-10-19 2018-08-24 Kt Corp Método y aparato para codificar/decodificar imágenes.
EP2866443A4 (en) 2012-06-22 2016-06-15 Sharp Kk ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES
US9426466B2 (en) * 2012-06-22 2016-08-23 Qualcomm Incorporated Transform skip mode
US9591315B2 (en) * 2012-10-01 2017-03-07 Telefonaktiebolaget Lm Ericsson (Publ) Coding and decoding of transform skipped blocks
US9264724B2 (en) * 2013-10-11 2016-02-16 Blackberry Limited Sign coding for blocks with transform skipped
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US10491922B2 (en) * 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
CN114339228B (zh) 2016-05-04 2024-04-12 夏普株式会社 用于对变换数据进行编码的系统和方法
CN109076226B (zh) * 2016-05-13 2021-08-13 索尼公司 图像处理装置和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Jianle Chen et al, Algorithm Description of Joint Exploration Test Model 1, JVET of ITU-T and ISO/IEC, JVET-A1001(2016.02.24.) 1부.* *
Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer Ohm, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 2", JVET-B1001_v3, Joint Video Exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016
K. Sharman et al, Transform Skip and Scaling Lists, JCT-VC of ITU-T and ISO/IEC, JCTVC-O0067(2013.10.27.) 1부.* *
X. Zhao, A. Said, V. Seregin, M. Karczewicz, J. Chen, R. Joshi, "TU-level non-separable secondary transform", JVET-B0059, Joint Video Exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: San Diego, USA, 20-26 February 2016

Also Published As

Publication number Publication date
JP2021103900A (ja) 2021-07-15
CN109076226A (zh) 2018-12-21
AU2022203068A1 (en) 2022-05-26
EP3457692B1 (en) 2024-01-10
EP3457692A4 (en) 2019-07-17
JP2022153598A (ja) 2022-10-12
EP3457692A1 (en) 2019-03-20
CN109076226B (zh) 2021-08-13
EP4336833A2 (en) 2024-03-13
CA3022221A1 (en) 2017-11-16
AU2022203068B2 (en) 2023-04-06
JP2023184731A (ja) 2023-12-28
JPWO2017195667A1 (ja) 2019-03-14
RU2018138969A3 (ko) 2020-06-22
JP6868786B2 (ja) 2021-05-12
WO2017195667A1 (ja) 2017-11-16
JP7384247B2 (ja) 2023-11-21
EP4336833A3 (en) 2024-05-15
RU2018138969A (ru) 2020-05-12
MX2018013462A (es) 2019-03-28
AU2017264000A1 (en) 2018-11-22
RU2740863C2 (ru) 2021-01-21
US11350127B2 (en) 2022-05-31
KR102393150B1 (ko) 2022-05-02
US20210297701A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
JP7384247B2 (ja) 画像処理装置および方法
CN109076222B9 (zh) 图像处理装置和方法
CN111095933B (zh) 图像处理装置和方法
JP6780761B2 (ja) 画像符号化装置および方法
US11272180B2 (en) Image processing apparatus and method
RU2573216C2 (ru) Устройство и способ обработки изображений
WO2018173798A1 (ja) 画像処理装置および方法
KR20220053702A (ko) 화상 처리 장치 및 방법
JP6497562B2 (ja) 画像符号化装置および方法
WO2016147836A1 (ja) 画像処理装置および方法
WO2013051452A1 (ja) 画像処理装置および方法
US9930353B2 (en) Image decoding device and method
WO2017212930A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant