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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20160102987A
KR20160102987A KR1020167015632A KR20167015632A KR20160102987A KR 20160102987 A KR20160102987 A KR 20160102987A KR 1020167015632 A KR1020167015632 A KR 1020167015632A KR 20167015632 A KR20167015632 A KR 20167015632A KR 20160102987 A KR20160102987 A KR 20160102987A
Authority
KR
South Korea
Prior art keywords
unit
residual
bit depth
residual data
image
Prior art date
Application number
KR1020167015632A
Other languages
English (en)
Other versions
KR102336932B1 (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 KR20160102987A publication Critical patent/KR20160102987A/ko
Application granted granted Critical
Publication of KR102336932B1 publication Critical patent/KR102336932B1/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • 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/146Data rate or code amount at the encoder output
    • 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/172Methods 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 picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 개시는, 부호화 효율의 저감을 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 복수 컴포넌트를 포함하는 입력 화상과 예측 화상과의 잔차 데이터에 대하여 상기 컴포넌트 간에서 예측을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 예측을 행하는 잔차 예측부와, 상기 잔차 예측부에 의한 상기 예측에 의해 생성된 예측 잔차 데이터를 부호화하는 부호화부를 구비한다. 본 개시는, 예를 들어 화상 데이터를 부호화하는 화상 부호화 장치, 또는 화상 데이터가 부호화된 부호화 데이터를 복호하는 화상 복호 장치 등의 화상 처리 장치에 적용할 수 있다.

Description

화상 처리 장치 및 방법{IMAGE PROCESSING DEVICE AND METHOD}
본 개시는 화상 처리 장치 및 방법에 관한 것으로, 특히 부호화 효율의 저감을 억제할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
최근 들어, 이미지 센서 등에 있어서 생성되고, 디모자이크 처리 등이 행해지기 전의 화상 데이터인 RAW 데이터의 압축 요구가 높아지고 있다.
또한, 화상 데이터의 부호화 방식으로서 MPEG-4 Part10(Advanced Video Coding, 이하 'AVC'라 기재함)이 있다. 최근, 가일층의 부호화 효율의 향상을 목적으로 하여, ITU-T(International Telecommunication Union Telecommunication Standardization Sector)와, ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)라 불리는 부호화 방식의 표준화가 진행되고 있다(예를 들어, 비특허문헌 1 참조).
이와 같은 부호화 방식에 있어서, 잔차 신호에 대하여 컴포넌트 간에서 예측을 행하는 방법이 생각되었다(예를 들어, 비특허문헌 2 참조).
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, Thomas Wiegand, "High Efficiency Video Coding(HEVC) text specification draft 10(for FDIS & Last Call)", JCTVC-L1003_version 34, 2013-03-19 Wei Pu, Woo-Shik Kim, Jianle Chen, Joel Sole, Marta Karczewicz, "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JCTVC-O0202, 2013-11-11
그런데, 각 컴포넌트의 데이터 비트 심도는, 일반적으로 서로 독립적이기 때문에, 서로 다른 값이 설정될 가능성이 있다. 그러나, 비특허문헌 2에 기재된 방법에서는, 그와 같이 비트 심도가 상이한 컴포넌트 간에서의 예측은 상정되어 있지 않아, 예측을 정확하게 행할 수 없어 부호화 효율이 저감될 우려가 있었다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것으로, 부호화 효율의 저감을 억제할 수 있도록 하는 것이다.
본 기술의 일 측면의 화상 처리 장치는, 복수 컴포넌트를 포함하는 입력 화상과 예측 화상의 잔차 데이터에 대하여 상기 컴포넌트 간에서 예측을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 예측을 행하는 잔차 예측부와, 상기 잔차 예측부에 의한 상기 예측에 의해 생성된 예측 잔차 데이터를 부호화하는 부호화부를 구비하는 화상 처리 장치이다.
상기 잔차 예측부는, 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭할 수 있다.
상기 잔차 예측부는, 상기 예측을 행하는 상기 2개의 컴포넌트 간의 상기 비트 심도의 차가 0이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행할 수 있다.
상기 잔차 예측부는, 상기 비트 심도의 차가 정(正)인 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행하고, 상기 비트 심도의 차가 부(負)인 경우, 상기 예측을 생략할 수 있다.
상기 잔차 예측부는, 상기 입력 화상의 색 공간이 RGB 공간이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행하고, 상기 입력 화상의 색 공간이 RGB 공간인 경우, 상기 예측을 생략할 수 있다.
상기 입력 화상의 색 공간이 YUV 공간이며, 상기 잔차 예측부는, 휘도 성분과 색차 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 예측을 행할 수 있다.
상기 입력 화상의 색 공간이 RGB 공간이며, 상기 잔차 예측부는, G 성분과 R 성분 혹은 B 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 예측을 행할 수 있다.
상기 잔차 예측부는, 상기 예측을 행하는 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 상기 2개의 컴포넌트 중 한쪽의 컴포넌트의 상기 잔차 데이터에 대하여 상기 비트 심도의 차에 따른 상기 비트 시프트를 행하여, 상기 비트 시프트된 상기 잔차 데이터에 소정의 가중 계수를 승산하고, 그 승산 결과에 대하여 소정의 비트 수분의 비트 시프트를 행하여, 다른 쪽의 컴포넌트의 상기 잔차 데이터와 상기 비트 시프트된 상기 승산 결과와의 차분을 구함으로써, 상기 예측을 행할 수 있다.
상기 잔차 예측부는, 복수의 컴포넌트에 공통인 상기 가중 계수를 설정할 수 있다.
본 기술의 일 측면의 화상 처리 방법은, 복수 컴포넌트를 포함하는 입력 화상과 예측 화상의 잔차 데이터에 대하여 상기 컴포넌트 간에서 예측을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 예측을 행하고, 상기 예측에 의해 생성된 예측 잔차 데이터를 부호화하는 화상 처리 방법이다.
본 기술의 다른 측면의 화상 처리 장치는, 복수 컴포넌트를 포함하는 화상과 그 예측 화상과의 잔차 데이터의 상기 컴포넌트 간의 예측 결과인 예측 잔차 데이터가 부호화된 부호화 데이터를 복호하는 복호부와, 상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 상기 예측 잔차 데이터를 사용해서 상기 잔차 데이터의 복원을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 복원을 행하는 잔차 복원부를 구비하는 화상 처리 장치이다.
상기 잔차 복원부는, 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭할 수 있다.
상기 비트 심도에 관한 정보를 수취하는 수취부를 더 구비하고, 상기 잔차 복원부는, 상기 수취부에 의해 수취된 상기 비트 심도에 관한 정보에 기초하여, 상기 예측을 행하는 상기 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 구한 상기 비트 심도의 차에 기초하여 상기 비트 시프트를 행함으로써, 상기 잔차 데이터의 상기 비트 심도를 매칭할 수 있다.
상기 잔차 복원부는, 구한 상기 비트 심도의 차가 0이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭할 수 있다.
상기 잔차 복원부는, 구한 상기 비트 심도의 차가 정인 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행하고, 구한 상기 비트 심도의 차가 부인 경우, 상기 복원을 생략할 수 있다.
상기 수취부는, 상기 화상의 색 공간에 관한 정보를 더 수취하고, 상기 잔차 복원부는, 상기 수취부에 의해 수취된 상기 화상의 색 공간에 관한 정보에 기초하여, 상기 화상의 색 공간이 RGB 공간이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 복원을 행하고, 상기 화상의 색 공간이 RGB 공간인 경우, 상기 복원을 생략할 수 있다.
상기 화상의 색 공간이 YUV 공간이며, 상기 잔차 복원부는, 휘도 성분과 색차 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행할 수 있다.
상기 화상의 색 공간이 RGB 공간이며, 상기 잔차 복원부는, G 성분과 R 성분 혹은 B 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행할 수 있다.
상기 잔차 복원부는, 상기 복원을 행하는 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 상기 2개의 컴포넌트 중 한쪽의 컴포넌트의 복원이 완료된 상기 잔차 데이터에 대하여 상기 비트 심도의 차에 따른 상기 비트 시프트를 행하여, 상기 비트 시프트된 상기 잔차 데이터에 소정의 가중 계수를 승산하고, 그 승산 결과에 대하여 소정의 비트 수분의 비트 시프트를 행하여, 상기 비트 시프트된 상기 승산 결과와 상기 예측 잔차 데이터를 가산함으로써, 다른 쪽의 컴포넌트의 상기 잔차 데이터의 상기 복원을 행할 수 있다.
본 기술의 다른 측면의 화상 처리 방법은, 복수 컴포넌트를 포함하는 화상과 그 예측 화상과의 잔차 데이터의 상기 컴포넌트 간의 예측 결과인 예측 잔차 데이터가 부호화된 부호화 데이터를 복호하고, 상기 부호화 데이터가 복호되어 얻어진 상기 예측 잔차 데이터를 사용해서 상기 잔차 데이터의 복원을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 복원을 행하는 화상 처리 방법이다.
본 기술의 일 측면에 있어서는, 복수 컴포넌트를 포함하는 입력 화상과 예측 화상과의 잔차 데이터에 대하여 컴포넌트 간에서 예측을 행할 때, 잔차 데이터의 비트 심도가 컴포넌트 간에서 매칭되어 예측이 행해지고, 예측에 의해 생성된 예측 잔차 데이터가 부호화된다.
본 기술의 다른 측면에 있어서는, 복수 컴포넌트를 포함하는 화상과 그 예측 화상과의 잔차 데이터의 컴포넌트 간의 예측 결과인 예측 잔차 데이터가 부호화된 부호화 데이터가 복호되고, 부호화 데이터가 복호되어 얻어진 예측 잔차 데이터를 사용해서 잔차 데이터의 복원을 행할 때, 잔차 데이터의 비트 심도가 컴포넌트 간에서 매칭되어 복원이 행해진다.
본 개시에 의하면, 화상을 부호화·복호할 수 있다. 특히, 부호화 효율의 저감을 억제할 수 있다.
도 1은, 코딩 유닛의 구성예를 설명하는 도면이다.
도 2는, 시맨틱스의 예를 나타내는 도면이다.
도 3은, 화상 부호화 장치의 주된 구성예를 나타내는 블록도다.
도 4는, 헤더 처리부 및 잔차 예측부의 주된 구성예를 나타내는 블록도이다.
도 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은, 헤더 취득부 및 잔차 복원부의 주된 구성예를 나타내는 블록도이다.
도 31은, 잔차 복원 처리의 흐름의 예를 설명하는 흐름도이다.
도 32는, 신택스의 예를 나타내는 도면이다.
도 33은, 시맨틱스의 예를 나타내는 도면이다.
도 34는, 시맨틱스의 예를 나타내는 도면이다.
도 35는, 시맨틱스의 예를 나타내는 도면이다.
도 36은, 신택스의 예를 나타내는 도면이다.
도 37은, 시맨틱스의 예를 나타내는 도면이다.
도 38은, 시맨틱스의 예를 나타내는 도면이다.
도 39는, 시맨틱스의 예를 나타내는 도면이다.
도 40은, 다시점 화상 부호화 방식의 예를 나타내는 도면이다.
도 41은, 본 기술을 적용한 다시점 화상 부호화 장치의 주된 구성예를 나타내는 도면이다.
도 42는, 본 기술을 적용한 다시점 화상 복호 장치의 주된 구성예를 나타내는 도면이다.
도 43은, 계층 화상 부호화 방식의 예를 나타내는 도면이다.
도 44는, 스페이셜한 스케일러블 부호화의 예를 설명하는 도면이다.
도 45는, 템포럴한 스케일러블 부호화의 예를 설명하는 도면이다.
도 46은, 신호 잡음비의 스케일러블 부호화의 예를 설명하는 도면이다.
도 47은, 본 기술을 적용한 계층 화상 부호화 장치의 주된 구성예를 나타내는 도면이다.
도 48은, 본 기술을 적용한 계층 화상 복호 장치의 주된 구성예를 나타내는 도면이다.
도 49는, 컴퓨터의 주된 구성예를 나타내는 블록도이다.
도 50은, 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 51은, 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 52는, 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 53은, 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 54는, 비디오 세트의 개략적인 구성의 일례를 나타내는 블록도이다.
도 55는, 비디오 프로세서의 개략적인 구성의 일례를 나타내는 블록도이다.
도 56은, 비디오 프로세서의 개략적인 구성의 다른 예를 나타내는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 '실시 형태'라 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태(화상 부호화 장치·화상 복호 장치)
2. 제2 실시 형태(화상 부호화 장치·화상 복호 장치)
3. 제3 실시 형태(화상 부호화 장치·화상 복호 장치)
4. 제4 실시 형태(화상 부호화 장치·화상 복호 장치)
5. 제5 실시 형태(가중 계수의 공통화)
6. 제6 실시 형태(다시점 화상 부호화 장치·다시점 화상 복호 장치)
7. 제7 실시 형태(계층 화상 부호화 장치·계층 화상 복호 장치)
8. 제8 실시 형태(컴퓨터)
9. 제9 실시 형태(응용예)
10. 제10 실시 형태(세트·유닛·모듈·프로세서)
<1. 제1 실시 형태>
<화상 부호화의 표준화 흐름>
최근 들어, 화상 정보를 디지털로서 취급하며, 그 때, 효율이 높은 정보의 전송, 축적을 목적으로 하여, 화상 정보 특유의 용장성을 이용하여 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 부호화 방식을 채용하여 화상을 압축 부호하는 장치가 보급되고 있다. 이 부호화 방식에는, 예를 들어 MPEG(Moving Picture Experts Group) 등이 있다.
특히, MPEG2(ISO/IEC 13818-2)는, 범용 화상 부호화 방식으로서 정의되어 있으며, 비월 주사 화상 및 순차 주사 화상의 양쪽과, 표준 해상도 화상 및 고정밀 화상을 망라하는 표준이다. 예를 들어, MPEG2는, 프로페셔널 용도 및 컨슈머 용도의 광범위한 애플리케이션에 현재 널리 사용되고 있다. MPEG2 압축 방식을 이용함으로써, 예를 들어 720×480 화소를 갖는 표준 해상도의 비월 주사 화상이면 4 내지 8Mbps의 부호량(비트 레이트)을 할당할 수 있다. 또한, MPEG2 압축 방식을 이용함으로써, 예를 들어 1920×1088 화소를 갖는 고해상도의 비월 주사 화상이면 18 내지 22Mbps의 부호량(비트 레이트)을 할당할 수 있다. 이에 의해, 높은 압축률과 양호한 화질의 실현이 가능하다.
MPEG2는 주로 방송용에 적합한 고화질 부호화를 대상으로 하고 있었지만, MPEG1보다 낮은 부호량(비트 레이트), 즉 보다 높은 압축률의 부호화 방식에는 대응하지 못하였다. 휴대 단말기의 보급에 의해, 이후 그와 같은 부호화 방식의 요구는 높아지리라 생각되어, 이에 대응하여 MPEG4 부호화 방식의 표준화가 행해졌다. 화상 부호화 방식에 관해서는, 1998년 12월에 ISO/IEC 14496-2로서 그 규격이 국제 표준으로 승인되었다.
또한, 최근 들어, 당초 텔레비전 회의용 화상 부호화를 목적으로 하여, H.26L(ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))라는 표준의 규격화가 진행되었다. H.26L은 MPEG2나 MPEG4와 같은 종래의 부호화 방식에 비해 그 부호화, 복호화에 보다 많은 연산량이 요구되지만, 더 높은 부호화 효율이 실현되는 것이 알려져 있다. 또한, 현재, MPEG4의 활동의 일환으로서, 이 H.26L을 베이스로, H.26L에서는 서포트되지 않는 기능도 도입하여, 더 높은 부호화 효율을 실현하는 표준화가 Joint Model of Enhanced-Compression Video Coding으로서 행해졌다.
표준화의 스케줄로서는, 2003년 3월에는 H.264 및 MPEG-4 Part10(Advanced Video Coding, 이하 'AVC'라 기재함)이라는 이름 아래 국제 표준으로 되었다.
또한, 이 H.264/AVC의 확장으로서, RGB나 4:2:2, 4:4:4와 같은, 업무용에 필요한 부호화 툴이나, MPEG-2로 규정되어 있는 8×8DCT나 양자화 매트릭스도 포함한 FRExt(Fidelity Range Extension)의 표준화가 2005년 2월에 완료되었다. 이에 의해, H.264/AVC를 사용하여, 영화에 포함되는 필름 노이즈도 양호하게 표현하는 것이 가능한 부호화 방식으로 되어, Blu-Ray Disc(상표) 등의 폭넓은 애플리케이션에 사용되는 단계로 되었다.
그러나, 요즘 하이비전 화상의 4배인, 4000×2000 화소 정도의 화상을 압축하고 싶다거나, 혹은 인터넷과 같은, 한정된 전송 용량의 환경에 있어서, 하이비전 화상을 배신하고 싶다고 하는, 가일층의 고압축률 부호화에 대한 요구가 높아지고 있다. 이로 인해, 전술한 ITU-T 산하의 VCEG에 있어서, 부호화 효율의 개선에 관한 검토가 계속해서 행해지고 있다.
따라서, 현재, AVC보다 한층 더한 부호화 효율의 향상을 목적으로 하여, ITU-T와, ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)라 불리는 부호화 방식의 표준화가 진행되고 있다. HEVC 규격에 대해서는, 2013년 1월에 드래프트 판 사양인 Committee draft가 발행되었다(예를 들어, 비특허문헌 1 참조).
<부호화 방식>
이하에 있어서는, HEVC(High Efficiency Video Coding) 방식의 화상 부호화·복호에 적용하는 경우를 예로 들어, 본 기술을 설명한다.
<코딩 유닛>
AVC(Advanced Video Coding) 방식에 있어서는, 매크로 블록과 서브 매크로 블록에 의한 계층 구조가 규정되어 있다. 그러나, 16×16 화소의 매크로 블록에서는, 차세대 부호화 방식의 대상으로 되는, UHD(Ultra High Definition; 4000×2000 화소) 등의 큰 화면 프레임에 대하여 최적이지 않았다.
이에 반하여, HEVC 방식에 있어서는, 도 1에 도시된 바와 같이, 코딩 유닛(CU(Coding Unit))이 규정되어 있다.
CU는, Coding Tree Block(CTB)이라 불리고, AVC 방식에 있어서의 매크로 블록과 마찬가지의 역할을 하는, 픽처 단위의 화상 부분 영역이다. 후자는, 16×16 화소의 크기로 고정되어 있는 데 비하여, 전자의 크기는 고정되어 있지 않고, 각각의 시퀀스에 있어서, 화상 압축 정보 중에 있어서 지정되게 된다.
예를 들어, 출력으로 되는 부호화 데이터에 포함되는 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))에 있어서, CU의 최대 사이즈(LCU(Largest Coding Unit))와 최소 사이즈((SCU(Smallest Coding Unit))가 규정된다.
각각의 LCU 내에서는, SCU의 사이즈를 하회하지 않는 범위에서, split-flag=1로 함으로써, 보다 작은 사이즈의 CU로 분할할 수 있다. 도 1의 예에서는, LCU의 크기가 128이며, 최대 계층 심도가 5로 된다. 2N×2N의 크기인 CU는, split_flag의 값이 「1」일 때, 1개 아래의 계층으로 되는, N×N의 크기인 CU로 분할된다.
또한, CU는, 인트라 혹은 인터 예측의 처리 단위로 되는 영역(픽처 단위의 화상 부분 영역)인 프레딕션 유닛(Prediction Unit(PU))으로 분할되고, 또한 직교 변환의 처리 단위로 되는 영역(픽처 단위의 화상 부분 영역)인, 트랜스폼 유닛(Transform Unit(TU))으로 분할된다. 현재, HEVC 방식에 있어서는, 4×4 및 8×8에 추가하여, 16×16 및 32×32 직교 변환을 사용하는 것이 가능하다.
이상의 HEVC 방식과 같이, CU를 정의하고, 그 CU를 단위로 하여 각종 처리를 행하는 부호화 방식의 경우, AVC 방식에 있어서의 매크로 블록은 LCU에 상당하고, 블록(서브 블록)은 CU에 상당한다고 생각할 수 있다. 또한, AVC 방식에 있어서의 움직임 보상 블록은, PU에 상당한다고 생각할 수 있다. 단, CU는, 계층 구조를 가지므로, 그 최상위 계층의 LCU의 사이즈는, 예를 들어 128×128 화소와 같이, AVC 방식의 매크로 블록보다 크게 설정되는 것이 일반적이다.
따라서, 이하, LCU는, AVC 방식에 있어서의 매크로 블록도 포함하도록 하고, CU는, AVC 방식에 있어서의 블록(서브 블록)도 포함하도록 한다. 즉, 이하의 설명에 사용하는 「블록」은, 픽처 내의 임의의 부분 영역을 나타내고, 그 크기, 형상, 및 특성 등은 한정되지 않는다. 즉, 「블록」에는, 예를 들어 TU, PU, SCU, CU, LCU, 서브 블록, 매크로 블록, 또는 슬라이스 등 임의의 영역(처리 단위)이 포함된다. 물론, 이들 이외의 부분 영역(처리 단위)도 포함된다. 사이즈나 처리 단위 등을 한정할 필요가 있는 경우에는, 적절히 설명한다.
또한, 본 명세서에 있어서, CTU(Coding Tree Unit)는, LCU(최대수의 CU)의 CTB(Coding Tree Block)와, 그 LCU 베이스(레벨)로 처리할 때의 파라미터를 포함하는 단위로 한다. 또한, CTU를 구성하는 CU(Coding Unit)는, CB(Coding Block)와, 그 CU 베이스(레벨)로 처리할 때의 파라미터를 포함하는 단위로 한다.
<모드 선택>
그런데, AVC 그리고 HEVC 부호화 방식에 있어서, 보다 높은 부호화 효율을 달성하기 위해서는, 적절한 예측 모드의 선택이 중요하다.
이러한 선택 방식의 예로서, JM(Joint Model)이라 불리는 H.264/MPEG-4 AVC의 참조 소프트웨어(http://iphome.hhi.de/suehring/tml/index.htm에 있어서 공개되어 있음)에 실장되고 있는 방법을 들 수 있다.
JM에 있어서는, 이하에 설명하는, High Complexity Mode와, Low Complexity Mode의 2가지의 모드 판정 방법을 선택하는 것이 가능하다. 어느 쪽도, 각각의 예측 모드 Mode에 관한 비용 함수값을 산출하고, 이것을 최소로 하는 예측 모드를 당해 블록 내지 매크로 블록에 대한 최적 모드로서 선택한다.
High Complexity Mode에 있어서의 비용 함수는, 이하의 수학식 1과 같이 나타낸다.
Figure pct00001
여기서, Ω은, 당해 블록 내지 매크로 블록을 부호화하기 위한 후보 모드의 전체 집합 D는, 당해 예측 모드에서 부호화한 경우의, 복호 화상과 입력 화상의 차분 에너지이다. λ는, 양자화 파라미터의 함수로서 부여되는 Lagrange 미정 승수이다. R은, 직교 변환 계수를 포함한, 당해 모드에서 부호화한 경우의 총 부호량이다.
즉, High Complexity Mode에서의 부호화를 행하기 위해서는, 상기 파라미터 D 및 R을 산출하기 위해서, 모든 후보 모드에 의해, 한번, 임시 인코드 처리를 행할 필요가 있어, 더 높은 연산량을 필요로 한다.
Low Complexity Mode에 있어서의 비용 함수는, 이하의 수학식 2와 같이 나타낸다.
Figure pct00002
여기서, D는, High Complexity Mode의 경우와 달리, 예측 화상과 입력 화상의 차분 에너지가 된다. QP2Quant(QP)는 양자화 파라미터 QP의 함수로서 부여되고, HeaderBit는, 직교 변환 계수를 포함하지 않는, 움직임 벡터나, 모드 등의, Header에 속하는 정보에 관한 부호량이다.
즉, Low Complexity Mode에 있어서는, 각각의 후보 모드에 관하여, 예측 처리를 행할 필요가 있지만, 복호 화상까지는 필요 없기 때문에, 부호화 처리까지 행할 필요는 없다. 이로 인해, High Complexity Mode보다 낮은 연산량에서의 실현이 가능하다.
<잔차 예측>
그런데, HEVC에 있어서, 444 부호화 시에, 잔차 신호에 대하여 컴포넌트 간에서 예측('잔차 예측'이라고도 함)을 행하는 방법이 생각되었다(예를 들어, 비특허문헌 2 참조).
이 비특허문헌 2에 기재된 방법에서는, 색차 성분(Cb/Cr)(또는, R 성분이나 B 성분)에 대하여, 휘도 성분 (Y)(또는 G 성분)을 사용해서 이하의 수학식 3과 같이 예측이 행해진다.
Figure pct00003
여기서, rc(x, y)는 색차 성분(Cb 또는 Cr)의 잔차 데이터(입력 화상과 예측 화상의 차분)를 나타낸다. 또한, rL(x, y)은, 휘도 성분 (Y)의 잔차 데이터(입력 화상과 예측 화상의 차분)를 나타낸다. 또한, Δrc(x, y)는, 잔차 예측의 예측 결과(색차 성분(Cb 또는 Cr)의 잔차 데이터를 휘도 성분 (Y)의 잔차 데이터로 예측한 것)('예측 잔차 데이터'라고도 함)를 나타낸다. 또한, 이들에 있어서, x, y는, 화상 내의 위치(좌표)를 나타낸다.
또한, α는, 가중 계수를 나타내고, ±(0, 1, 2, 4, 8) 중 어느 하나의 값을 취한다. 이 값은, TU 단위로 설정된다(즉, TU 단위로 복호측으로 전송됨). 또한, >>는, 우 방향으로의 비트 시프트(우 시프트)를 나타낸다. 예를 들어, >>n은, n 비트만큼의 우 시프트를 나타낸다.
또한, 이와 같은 잔차 예측을 행할지 여부가 픽처 파라미터 세트(PPS(Picture Parameter Set)) 단위로 제어된다. 즉, 이와 같은 잔차 예측을 행할지 여부를 제어하는 On/Off 플래그가 PPS에 있어서 복호측으로 전송된다.
그런데, 각 컴포넌트의 데이터의 비트 심도는, 일반적으로 서로 독립적이기 때문에, 서로 다른 값이 설정될 가능성이 있다. 그러나, 전술한 수학식 3에 나타낸 바와 같이, 비특허문헌 2에 기재된 예측 방법에서는, 각 컴포넌트의 잔차 데이터(휘도 성분이나 색차 성분)의 비트 심도는 서로 동일한 것이 전제이며, 컴포넌트 간에서 잔차 데이터의 비트 심도가 상이한 케이스에 대해서는 상정되지 않았다. 즉, 수학식 3과 같은 예측에서는, 컴포넌트 간에서 잔차 데이터의 비트 심도가 상이한 경우에는 올바른 예측을 행할 수 없어, 부호화 효율이 저감될 우려가 있었다.
<비트 심도의 스케일링>
따라서, 복수 컴포넌트를 포함하는 입력 화상과 예측 화상과의 잔차 데이터에 대하여 컴포넌트 간에서 예측(잔차 예측)을 행할 때, 그 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하도록(스케일링을 행하도록) 한다. 이와 같이 함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 각 컴포넌트의 잔차 데이터의 비트 심도를 매칭하여 예측을 행할 수 있으므로, 잔차 예측을 정확하게 행할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭하는 방법은 임의이지만, 예를 들어 잔차 데이터를 비트 시프트함으로써, 컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭하도록 해도 된다. 이와 같이 함으로써, 용이하게 컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭할 수 있다. 즉, 처리의 부하나 처리 시간을 저감시킬 수 있다.
또한, 이와 같이 잔차 데이터의 비트 심도를 매칭하는 입력 화상의 색 공간은 임의이다. 예를 들어, YUV 공간(YUV444 등)이어도 되고, RGB 공간(RGB444 등)이어도 된다. 예를 들어, 입력 화상이 YUV 공간의 경우, 휘도 성분과 색차 성분의 사이에서, 비트 시프트에 의해 잔차 데이터의 비트 심도를 매칭하여 예측을 행하도록 해도 된다. 보다 구체적으로는, 예를 들어 휘도 성분의 비트 심도를 비트 시프트에 의해 색차 성분의 비트 심도에 매칭하고 나서 예측을 행하도록 해도 된다. 또한 예를 들어, 입력 화상이 RGB 공간인 경우, G 성분과 R 성분 또는 B 성분의 사이에서, 비트 시프트에 의해 잔차 데이터의 비트 심도를 매칭하여 예측을 행하도록 해도 된다. 보다 구체적으로는, 예를 들어 G 성분의 비트 심도를 비트 시프트에 의해 R 성분이나 B 성분의 비트 심도에 매칭하고 나서 예측을 행하도록 해도 된다.
<시프트 연산>
이상과 같은 비트 심도를 매칭하는 비트 시프트(시프트 연산)의 구체예에 대하여 설명한다. 이 시프트 연산 방법은 임의이다. 예를 들어, 예측을 행하는 2개의 컴포넌트 간의 비트 심도의 차가 0이 아닌 경우, 비트 시프트에 의해 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 예측을 행하도록 해도 된다. 예를 들어, 이하의 수학식 4와 같이, 컴포넌트 간의 잔차 데이터의 비트 심도의 차분(비트 심도차)을 구하고, 수학식 5 내지 수학식 8과 같이, 그 비트 심도차의 분만큼 비트 시프트를 행하도록 해도 된다. 그 때, 비트 시프트는, 수학식 6이나 수학식 8과 같이, 비트 심도차의 절댓값의 분만큼 행해지도록 해도 된다. 그 경우, 예를 들어 수학식 5나 수학식 7의 조건을 만족하는지 여부에 따라서, 수학식 6이나 수학식 8과 같이 시프트 방향이 결정되도록 해도 된다.
Figure pct00004
Figure pct00005
Figure pct00006
Figure pct00007
Figure pct00008
수학식 4 내지 수학식 8에 있어서, BitDepthY는, 휘도 성분 (Y)의 잔차 데이터의 비트 심도를 나타낸다. BitDepthC는, 색차 성분(Cb 또는 Cr)의 잔차 데이터의 비트 심도를 나타낸다. Δbitdepth는, 컴포넌트 간의 비트 심도차(휘도 성분 (Y)의 잔차 데이터의 비트 심도(BitDepthY)와 색차 성분(Cb 또는 Cr)의 잔차 데이터의 비트 심도(BitDepthC)와의 차)를 나타낸다.
또한, rc(x, y)는, 색차 성분(Cb 또는 Cr)의 잔차 데이터를 나타낸다. 또한, rL(x, y)은, 휘도 성분 (Y)의 잔차 데이터를 나타낸다. 또한, Δrc(x, y)는, 컴포넌트 간의 예측 잔차 데이터(색차 성분(Cb 또는 Cr)의 잔차 데이터를 휘도 성분 (Y)의 잔차 데이터로 예측한 것)를 나타낸다. 또한, 이들에 있어서, x, y는, 화상 내의 위치(좌표)를 나타낸다.
또한, α는, 가중 계수를 나타낸다. 이 α의 값은 임의이지만, 예를 들어 ±(0, 1, 2, 4, 8) 중 어느 하나의 값으로 설정된다. 이 값은, TU 단위로 설정된다(즉, TU 단위로 복호측으로 전송된다). 또한, >>는, 우 방향으로의 비트 시프트(우 시프트)를 나타내고, <<는, 좌 방향으로의 비트 시프트(좌 시프트)를 나타낸다. 예를 들어, >>n은, n 비트분의 우 시프트를 나타내고, <<m은, m 비트분의 좌 시프트를 나타낸다.
이 예의 경우, 수학식 4 내지 수학식 8에 나타낸 바와 같이, 수학식 4에 의해, 컴포넌트 간의 비트 심도차(Δbitdepth)가 산출된다. 그리고, 이 값이 수학식 5의 조건을 만족하는 경우, 즉, Δbitdepth가 0 이상인 경우, 예측 잔차 데이터(Δrc(x, y))가 수학식 6과 같이 산출된다. 수학식 6에 나타낸 바와 같이, 이 경우의 산출 방법은, 기본적으로 수학식 3과 마찬가지이지만, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))가 비트 심도차(Δbitdepth)만큼 우 시프트되어 예측 잔차 데이터(Δrc(x, y))가 산출된다.
이에 반하여, 컴포넌트 간의 비트 심도차(Δbitdepth)가 부의 값(0보다 작은 값)이며, 수학식 5의 조건을 만족하지 않은 경우(수학식 7의 조건을 만족하는 경우), 예측 잔차 데이터(Δrc(x, y))가 수학식 8과 같이 산출된다. 수학식 8에 나타낸 바와 같이, 이 경우의 산출 방법도, 기본적으로 수학식 3과 마찬가지이지만, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))가 비트 심도차(-Δbitdepth)만큼 좌 시프트되어 예측 잔차 데이터(Δrc(x, y))가 산출된다.
즉, 이들의 경우, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))의 비트 심도(BitDepthY)가, 색차 성분(Cb 또는 Cr)의 잔차 데이터(rc(x, y))의 비트 심도(BitDepthC)에 매칭되어 예측 잔차 데이터(Δrc(x, y))가 산출된다. 보다 구체적으로는, 잔차 예측에 사용하는 2개의 컴포넌트 간의 비트 심도의 차가 구해지고, 2개의 컴포넌트 중 한쪽의 컴포넌트의 잔차 데이터에 대하여 비트 심도의 차에 따른 비트 시프트(스케일링)가 행해지고, 비트 시프트된 잔차 데이터에 소정의 가중 계수가 승산되고, 그 승산 결과에 대하여 소정의 비트 수만큼의 비트 시프트가 행해지고, 다른 쪽의 컴포넌트의 잔차 데이터와 비트 시프트된 승산 결과와의 차분이 구해진다. 이상과 같이 예측을 행하도록 해도 된다.
또한, Δbitdepth가 0인 경우, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))의 비트 시프트량이 0이므로, 예측 잔차 데이터(Δrc(x, y))는, 수학식 3과 같이 산출된다고도 할 수 있다.
이상과 같이 산출함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 예측 잔차 데이터(Δrc(x, y))를 정확하게 산출할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
<시맨틱스>
이상과 같은 비트 심도의 스케일링을 행하기 위해서는, 시맨틱스를 도 2의 예와 같은 기술로 하면 된다. 도 2에 도시된 시맨틱스의 밑줄을 친 부분이, 전술한 스케일링(예를 들어, 수학식 5 내지 수학식 8)에 상당하는 기술이다.
<화상 부호화 장치>
도 3은, 본 기술을 적용한 화상 처리 장치의 일 형태인 화상 부호화 장치의 구성의 일례를 나타내는 블록도이다. 도 3에 도시된 화상 부호화 장치(100)는, 예를 들어 HEVC의 예측 처리, 또는 그에 준하는 방식의 예측 처리를 사용해서 동화상의 화상 데이터를 부호화한다. 또한, 이하에 있어서는, 입력 화상의 색 공간이 YUV444인 경우를 예로 들어 설명한다.
도 3에 도시된 바와 같이 화상 부호화 장치(100)는, 화면 재배열 버퍼(102), 연산부(103), 직교 변환부(104), 양자화부(105), 가역 부호화부(106), 축적 버퍼(107), 역양자화부(108), 및 역직교 변환부(109)를 갖는다. 또한, 화상 부호화 장치(100)는, 연산부(110), 루프 필터(111), 프레임 메모리(112), 인트라 예측부(113), 인터 예측부(114), 예측 화상 선택부(115), 및 레이트 제어부(116)를 갖는다. 또한, 화상 부호화 장치(100)는, 헤더 처리부(121), 잔차 예측부(122), 및 잔차 복원부(123)를 갖는다.
화면 재배열 버퍼(102)는, 입력된 화상 데이터의 각 프레임의 화상을 그 표시순으로 기억하고, 기억한 표시 순서의 프레임의 화상을, GOP(Group Of Picture)에 따라서, 부호화를 위한 프레임의 순서로 재배열하고, 프레임의 순서를 재배열한 화상을, 연산부(103)에 공급한다. 또한, 화면 재배열 버퍼(102)는, 프레임의 순서를 재배열한 화상을, 인트라 예측부(113) 및 인터 예측부(114)에도 공급한다.
연산부(103)는, 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 예측 화상 선택부(115)를 통해 인트라 예측부(113) 혹은 인터 예측부(114)로부터 공급되는 예측 화상을 감산하고, 그 차분 정보(잔차 데이터)를 잔차 예측부(122)에 공급한다. 예를 들어, 인트라 부호화가 행해지는 화상의 경우, 연산부(103)는, 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 인트라 예측부(113)로부터 공급되는 예측 화상을 감산한다. 또한, 예를 들어 인터 부호화가 행해지는 화상의 경우, 연산부(103)는, 화면 재배열 버퍼(102)로부터 판독된 화상으로부터, 인터 예측부(114)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(104)는, 잔차 예측부(122)로부터 공급되는 휘도 성분의 잔차 데이터나 색차 성분의 예측 잔차 데이터에 대하여, 이산 코사인 변환이나 카루넨 루베 변환 등의 직교 변환을 실시한다. 직교 변환부(104)는, 그 직교 변환에 의해 얻어진 변환 계수를 양자화부(105)에 공급한다.
양자화부(105)는, 직교 변환부(104)로부터 공급되는 변환 계수를 양자화한다. 양자화부(105)는, 레이트 제어부(116)로부터 공급되는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고, 그 양자화를 행한다. 양자화부(105)는, 양자화된 변환 계수를 가역 부호화부(106)에 공급한다.
가역 부호화부(106)는, 양자화부(105)에 있어서 양자화된 변환 계수를 임의의 부호화 방식으로 부호화한다. 계수 데이터는, 레이트 제어부(116)의 제어하에서 양자화되어 있으므로, 이 부호량은, 레이트 제어부(116)가 설정한 목표값으로 된다(혹은 목표값에 근사함).
또한, 가역 부호화부(106)는, 인트라 예측의 모드를 나타내는 정보 등을 인트라 예측부(113)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 차분 움직임 벡터 정보 등을 인터 예측부(114)로부터 취득한다.
가역 부호화부(106)는, 이들 각종 정보를 임의의 부호화 방식으로 부호화하고, 부호화 데이터('부호화 스트림'이라고도 함)의 헤더 정보의 일부로 한다(다중화함). 가역 부호화부(106)는, 부호화해서 얻어진 부호화 데이터를 축적 버퍼(107)에 공급하여 축적시킨다.
가역 부호화부(106)의 부호화 방식으로서는, 예를 들어 가변장 부호화 또는 산술 부호화 등을 들 수 있다. 가변장 부호화로서는, 예를 들어 H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(107)는, 가역 부호화부(106)로부터 공급된 부호화 데이터를, 일시적으로 유지한다. 축적 버퍼(107)는, 소정의 타이밍에 있어서, 유지하고 있는 부호화 데이터를, 화상 부호화 장치(100)의 외부로 출력한다. 즉, 축적 버퍼(107)는, 부호화 데이터를 전송하는 전송부이기도 하다.
또한, 양자화부(105)에 있어서 양자화된 변환 계수는, 역양자화부(108)에도 공급된다. 역양자화부(108)는, 그 양자화된 변환 계수를, 양자화부(105)에 의한 양자화에 대응하는 방법에 의해 역양자화한다. 역양자화부(108)는, 그 역양자화에 의해 얻어진 변환 계수를, 역직교 변환부(109)에 공급한다.
역직교 변환부(109)는, 역양자화부(108)로부터 공급된 변환 계수를, 직교 변환부(104)에 의한 직교 변환 처리에 대응하는 방법에 의해 역직교 변환한다. 역직교 변환부(109)는, 역직교 변환된 출력(복원된 휘도 성분의 잔차 데이터나 색차 성분의 예측 잔차 데이터)을 잔차 복원부(123)에 공급한다. 또한, 역직교 변환부(109)는, 복원된 휘도 성분의 잔차 데이터를 잔차 예측부(122)에도 공급한다.
연산부(110)는, 잔차 복원부(123)로부터 공급된, 복원된 각 컴포넌트의 잔차 데이터에, 예측 화상 선택부(115)를 통해 인트라 예측부(113) 혹은 인터 예측부(114)로부터의 예측 화상을 가산하고, 국소적으로 재구성된 화상(이하, '재구성 화상'이라고 함)을 얻는다. 그 재구성 화상은, 루프 필터(111) 또는 인트라 예측부(113)에 공급된다.
루프 필터(111)는, 디블록 필터나 적응 루프 필터 등을 포함하고, 연산부(110)로부터 공급되는 재구성 화상에 대하여 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(111)는, 재구성 화상에 대하여 디블록 필터 처리를 행함으로써 재구성 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(111)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 재구성 화상)에 대하여, 위너 필터(Wiener Filter)를 사용해서 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(111)가, 재구성 화상에 대하여 또한, 다른 임의의 필터 처리를 행하도록 해도 된다. 또한, 루프 필터(111)는, 필요에 따라서, 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(106)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
루프 필터(111)는, 필터 처리 결과(이하, '복호 화상'이라고 함)를 프레임 메모리(112)에 공급한다.
프레임 메모리(112)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 기억하고 있는 복호 화상을 참조 화상으로서 인터 예측부(114)에 공급한다.
인트라 예측부(113)는, 연산부(110)로부터 참조 화상으로서 공급되는 재구성 화상인 처리 대상 픽처 내의 화소값을 사용해서 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(113)는, 미리 준비된 복수의 인트라 예측 모드에서 이 인트라 예측을 행한다.
인트라 예측부(113)는, 후보로 되는 모든 인트라 예측 모드에서 예측 화상을 생성하고, 화면 재배열 버퍼(102)로부터 공급되는 입력 화상을 사용해서 각 예측 화상의 비용 함수값을 평가하고, 최적의 모드를 선택한다. 인트라 예측부(113)는, 최적의 인트라 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(115)에 공급한다.
또한, 전술한 바와 같이, 인트라 예측부(113)는, 채용된 인트라 예측 모드를 나타내는 인트라 예측 모드 정보 등을, 적절히 가역 부호화부(106)에 공급하고, 부호화시킨다.
인터 예측부(114)는, 화면 재배열 버퍼(102)로부터 공급되는 입력 화상과, 프레임 메모리(112)로부터 공급되는 참조 화상을 사용해서 인터 예측 처리(움직임 예측 처리 및 보상 처리)를 행한다. 보다 구체적으로는, 인터 예측부(114)는, 인터 예측 처리로서, 움직임 예측을 행해서 검출된 움직임 벡터에 따라서 움직임 보상 처리를 행하고, 예측 화상(인터 예측 화상 정보)을 생성한다. 인터 예측부(114)는, 미리 준비된 복수의 인터 예측 모드에서 이와 같은 인터 예측을 행한다.
인터 예측부(114)는, 후보로 되는 모든 인터 예측 모드에서 예측 화상을 생성한다. 인터 예측부(114)는, 화면 재배열 버퍼(102)로부터 공급되는 입력 화상과, 생성된 차분 움직임 벡터의 정보 등을 사용하여, 각 예측 화상의 비용 함수값을 평가하고, 최적의 모드를 선택한다. 인터 예측부(114)는, 최적의 인터 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(115)에 공급한다.
인터 예측부(114)는, 채용된 인터 예측 모드를 나타내는 정보나, 부호화 데이터를 복호할 때, 그 인터 예측 모드에서 처리를 행하기 위해 필요한 정보 등을 가역 부호화부(106)에 공급하고, 부호화시킨다. 필요한 정보로서는, 예를 들어 생성된 차분 움직임 벡터의 정보나, 예측 움직임 벡터 정보로서, 예측 움직임 벡터의 인덱스를 나타내는 플래그 등이 있다.
예측 화상 선택부(115)는, 연산부(103)나 연산부(110)에 공급하는 예측 화상의 공급원을 선택한다. 예를 들어, 인트라 부호화의 경우, 예측 화상 선택부(115)는, 예측 화상의 공급원으로서 인트라 예측부(113)를 선택하고, 그 인트라 예측부(113)로부터 공급되는 예측 화상을 연산부(103)나 연산부(110)에 공급한다. 또한, 예를 들어 인터 부호화의 경우, 예측 화상 선택부(115)는, 예측 화상의 공급원으로서 인터 예측부(114)를 선택하고, 그 인터 예측부(114)로부터 공급되는 예측 화상을 연산부(103)나 연산부(110)에 공급한다.
레이트 제어부(116)는, 축적 버퍼(107)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 또는 언더플로우가 발생하지 않도록, 양자화부(105)의 양자화 동작의 레이트를 제어한다.
헤더 처리부(121)는, 예를 들어 비디오 파라미터 세트(VPS(Video Parameter Set)), 시퀀스 파라미터 세트(SPS(Sequence Parameter Set)), 픽처 파라미터 세트(PPS), SEI(Supplemental Enhancement Information), 슬라이스 헤더 등의 화상 정보 이외의 부가 정보('헤더 정보'라고도 함)를 생성한다. 헤더 처리부(121)는, 생성한 헤더 정보를 가역 부호화부(106)에 공급하고, 비트 스트림에 포함해서 복호측으로 전송시킨다. 또한, 헤더 처리부(121)는, 생성된 헤더 정보 중으로부터 필요한 정보를 잔차 예측부(122)에 공급한다. 상세에 대해서는 후술한다.
잔차 예측부(122)는, 연산부(103)로부터 공급되는 색차 성분의 잔차 데이터와, 역직교 변환부(109)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터를 사용해서 잔차 예측을 행한다. 보다 구체적으로는, 잔차 예측부(122)는, 복원된 휘도 성분의 잔차 데이터를 사용하여, 색차 성분의 잔차 데이터의 예측을 행하고, 예측 잔차 데이터를 생성한다. 그 때, 잔차 예측부(122)는, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 예측을 행한다. 상세에 대해서는 후술한다. 잔차 예측부(122)는, 이와 같은 잔차 예측에 의해 얻어진 색차 성분의 예측 잔차 데이터나 연산부(103)로부터 공급되는 휘도 성분의 잔차 데이터를 직교 변환부(104)에 공급한다. 또한, 잔차 예측이 행해지지 않는 경우, 잔차 예측부(122)는, 연산부(103)로부터 공급되는 각 컴포넌트의 잔차 데이터를 직교 변환부(104)에 공급한다.
잔차 복원부(123)는, 역직교 변환부(109)로부터 공급되는 휘도 성분의 잔차 데이터와 색차 성분의 예측 잔차 데이터를 사용하여, 색차 성분의 잔차 데이터를 복원한다('잔차 복원'이라고도 함). 그 때, 잔차 복원부(123)는, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 복원을 행한다. 또한, 이 잔차 복원의 처리는, 복호측에 있어서 행해지는 잔차 복원의 처리와 기본적으로 마찬가지이므로, 복호측을 설명할 때, 그 복호측의 설명을 이용해서 이 잔차 복원의 처리에 대한 설명을 행한다. 잔차 복원부(123)는, 복원된 각 컴포넌트의 잔차 데이터를 연산부(110)에 공급한다.
<헤더 처리부 및 잔차 예측부>
도 4는, 도 3의 헤더 처리부(121) 및 잔차 예측부(122)의 주된 구성예를 나타내는 블록도이다. 도 4에 도시된 바와 같이 헤더 처리부(121)는, SPS 처리부(131) 및 PPS 처리부(132)를 갖는다.
SPS 처리부(131)는, 예를 들어 시퀀스 파라미터 세트(SPS)의 생성에 관한 처리를 행한다. 또한, SPS 처리부(131)는, 예를 들어 시퀀스 파라미터 세트(SPS)에 포함되는, 휘도 성분의 비트 심도를 나타내는 정보(예를 들어 bit_depth_luma_minus8) 혹은 휘도 성분의 비트 심도를 나타내는 정보를 포함하는 정보와, 색차 성분(Cb/Cr)의 비트 심도를 나타내는 정보(예를 들어 bit_depth_chroma_minus8) 혹은 색차 성분의 비트 심도를 나타내는 정보를 포함하는 정보를 잔차 예측부(122)(후술하는 비트 심도차 산출부(151))에 공급한다.
PPS 처리부(132)는, 예를 들어 픽처 파라미터 세트(PPS)의 생성에 관한 처리를 행한다. 또한, PPS 처리부(132)는, 예를 들어 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 잔차 예측부(122)(후술하는 비트 시프트 제어부(152))에 공급한다.
잔차 예측부(122)는, 연산부(103)로부터 공급되는 휘도 성분의 잔차 데이터(rY(x, y))를 직교 변환부(104)에 공급한다. 또한, 잔차 예측부(122)는, 제어부(141) 및 예측부(142)를 갖는다. 제어부(141)는, 잔차 예측의 연산 제어에 관한 처리를 행한다. 예측부(142)는, 제어부(141)에 의해 제어되어, 그 예측에 관한 연산을 행한다. 예를 들어, 예측부(142)는, 제어부(141)의 제어에 기초하여, 역직교 변환부(109)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 사용하여, 연산부(103)로부터 취득한 색차 성분의 잔차 데이터(rCr(x, y)와 rCb(x, y))의 예측(잔차 예측)을 행하고, 예측 잔차 데이터(ΔrCr(x, y)와 ΔrCb(x, y))를 생성하고, 직교 변환부(104)에 공급한다. 또한, 예측부(142)는, 제어부(141)에 의해 제어되어, 잔차 예측을 행하지 않고, 연산부(103)로부터 취득한 색차 성분의 잔차 데이터(rCr(x, y)와 rCb(x, y))를 직교 변환부(104)에 공급한다.
제어부(141)는, 비트 심도차 산출부(151), 비트 시프트 제어부(152), 및 가중 계수 설정부(153)를 갖는다.
비트 심도차 산출부(151)는, 잔차 예측에 사용하는 각 컴포넌트의 잔차 데이터의 비트 심도의 차를 산출한다. 예를 들어, 비트 심도차 산출부(151)는, SPS 처리부(131)로부터, 휘도 성분의 비트 심도를 나타내는 정보(예를 들어 bit_depth_luma_minus8) 혹은 휘도 성분의 비트 심도를 나타내는 정보를 포함하는 정보와, 색차 성분(Cb/Cr)의 비트 심도를 나타내는 정보(예를 들어 bit_depth_chroma_minus8) 혹은 색차 성분의 비트 심도를 나타내는 정보를 포함하는 정보를 취득하고, 그들 정보를 이용하여, 수학식 4에 나타내는 연산을 행하고, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 비트 심도차 산출부(151)는, 산출한 비트 심도차(delta_bitdepth)를 비트 시프트 제어부(152)에 공급한다.
또한, 비트 심도차 산출부(151)는, 비트 시프트 제어부(152)의 제어에 기초하여, 산출한 비트 심도차(delta_bitdepth)를 예측부(142)에 공급한다. 예를 들어, 비트 심도의 스케일링 시에 잔차 데이터의 우 시프트를 행하는 경우, 비트 심도차 산출부(151)는, 산출한 비트 심도차(delta_bitdepth)를 우 시프트부(162)에 공급한다. 또한, 비트 심도의 스케일링 시에 잔차 데이터의 좌 시프트를 행하는 경우, 비트 심도차 산출부(151)는, 산출한 비트 심도차(-delta_bitdepth)를 좌 시프트부(163)에 공급한다.
비트 시프트 제어부(152)는, 비트 심도차 산출부(151)로부터 공급되는 컴포넌트 간의 비트 심도차(delta_bitdepth)의 값에 기초하여, 예측부(142)에 의한 연산을 제어한다. 예를 들어, 비트 시프트 제어부(152)는, 비트 심도차(delta_bitdepth)가 0인 경우, 잔차 데이터의 비트 시프트(비트 심도의 스케일링)를 행하지 않도록, 예측부(142)(의 선택부(161))를 제어한다. 또한, 그 때, 비트 시프트 제어부(152)는 비트 심도차 산출부(151)도 제어하고, 비트 심도차(delta_bitdepth)를 예측부(142)에 공급시키지 않도록 한다.
또한, 예를 들어 비트 시프트 제어부(152)는, 비트 심도차(delta_bitdepth)가 정의 값(>0)인 경우, 잔차 데이터를 우 시프트하도록(비트 심도의 스케일링을 행하도록), 예측부(142)(의 선택부(161))를 제어한다. 또한, 그 때, 비트 시프트 제어부(152)는, 비트 심도차 산출부(151)도 제어하고, 비트 심도차(delta_bitdepth)를 예측부(142)(우 시프트부(162))에 공급시킨다.
또한, 예를 들어 비트 시프트 제어부(152)는, 비트 심도차(delta_bitdepth)가 부의 값(<0)인 경우, 잔차 데이터를 좌 시프트하도록(비트 심도의 스케일링을 행하도록), 예측부(142)(의 선택부(161))를 제어한다. 또한, 그 때, 비트 시프트 제어부(152)는, 비트 심도차 산출부(151)도 제어하고, 비트 심도차(-delta_bitdepth)를 예측부(142)(좌 시프트부(163))에 공급시킨다.
또한, 비트 시프트 제어부(152)는, 예를 들어 PPS 처리부(132)로부터, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 취득하고, 그 값에 기초하여, 잔차 예측을 행할지 여부를 제어한다. 예를 들어, 잔차 예측을 행할지 여부를 제어하는 정보에 의해 잔차 예측을 행하지 않는 것이 도시되어 있는 경우, 비트 시프트 제어부(152)는, 예측부(142)를 제어하고, 예측에 관한 연산을 행하게 하지 않도록 한다. 또한, 그 경우, 비트 시프트 제어부(152)는, 비트 심도차 산출부(151)를 제어하고, 비트 심도차(delta_bitdepth 또는 -delta_bitdepth)의 공급을 정지시킨다. 또한, 비트 시프트 제어부(152)는, 그 경우, 가중 계수 설정부(153)를 제어하고, 가중 계수 α를 설정시키지 않도록 한다.
반대로, 예를 들어 잔차 예측을 행할지 여부를 제어하는 정보에 의해 잔차 예측을 행하는 것이 도시되어 있는 경우, 비트 시프트 제어부(152)는, 예측부(142)를 제어하고, 예측에 관한 연산을 행하게 하도록 한다. 또한, 그 경우, 비트 시프트 제어부(152)는, 비트 심도차 산출부(151)를 제어하고, 비트 심도차(delta_bitdepth 또는 -delta_bitdepth)를 예측부(142)에 공급시킨다. 또한, 그 경우, 비트 시프트 제어부(152)는, 가중 계수 설정부(153)를 제어하고, 가중 계수 α를 설정시켜서, 예측부(142)(가중 계수 승산부(164))에 공급시킨다.
가중 계수 설정부(153)는, 비트 시프트 제어부(152)의 제어에 따라서, 가중 계수 α를 설정한다. 이 가중 계수 α의 설정 방법이나 값은 임의이다. 예를 들어, 가중 계수 설정부(153)가 컴포넌트마다 독립적으로 가중 계수 α를 설정하도록 해도 된다. 또한, 가중 계수 설정부(153)는, 가중 계수 α를 설정한 경우, 그 가중 계수 α를, 예측부(142)(가중 계수 승산부(164))에 공급한다. 또한, 이 가중 계수 α는, 잔차 복원에 있어서도 사용되기 때문에, 비트 스트림에 포함되어 복호측에 제공된다.
예측부(142)는, 선택부(161), 우 시프트부(162), 좌 시프트부(163), 가중 계수 승산부(164), 우 시프트부(165), 연산부(166) 및 연산부(167)를 갖는다.
선택부(161)는, 비트 시프트 제어부(152)의 제어에 따라서, 역직교 변환부(109)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))의 공급처를 선택한다. 예를 들어, 비트 심도의 스케일링(우 시프트)이 행해지는 경우, 선택부(161)는 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 우 시프트부(162)에 공급한다. 이 경우, 수학식 6의 연산이 행해진다. 또한, 예를 들어 비트 심도의 스케일링(좌 시프트)이 행해지는 경우, 선택부(161)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 좌 시프트부(163)에 공급한다. 이 경우, 수학식 8의 연산이 행해진다. 또한, 예를 들어 비트 심도의 스케일링이 행해지지 않는 경우, 선택부(161)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 가중 계수 승산부(164)에 공급한다. 이 경우, 수학식 3의 연산이 행해진다.
우 시프트부(162)는, 선택부(161)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를, 비트 심도차 산출부(151)로부터 취득한 비트 심도차(delta_bitdepth)만큼, 우 시프트함으로써, 비트 심도의 스케일링을 행한다. 우 시프트부(162)는, 휘도 성분의 잔차 데이터의 우 시프트 결과(r'Y(x, y)>>delta_bitdepth)를 가중 계수 승산부(164)에 공급한다.
좌 시프트부(163)는, 선택부(161)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를, 비트 심도차 산출부(151)로부터 취득한 비트 심도차(-delta_bitdepth)만큼, 좌 시프트함으로써, 비트 심도의 스케일링을 행한다. 좌 시프트부(163)는, 휘도 성분의 잔차 데이터의 좌 시프트 결과(r'Y(x, y)<<-delta_bitdepth)를, 가중 계수 승산부(164)에 공급한다.
가중 계수 승산부(164)는, 선택부(161) 내지 좌 시프트부(163) 중 어느 하나로부터, 복원된 휘도 성분의 잔차 데이터를 취득한다. 예를 들어, 가중 계수 승산부(164)는, 비트 시프트되지 않은, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 선택부(161)로부터 취득한다. 또한, 예를 들어 가중 계수 승산부(164)는, 우 시프트된, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y)>>delta_bitdepth)를 우 시프트부(162)로부터 취득한다. 또한, 예를 들어 가중 계수 승산부(164)는, 좌 시프트된, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y)<<-delta_bitdepth)를 좌 시프트부(163)로부터 취득한다.
또한, 가중 계수 승산부(164)는, 가중 계수 설정부(153)로부터 가중 계수 α를 취득한다. 가중 계수 승산부(164)는, 취득한 복원된 휘도 성분의 잔차 데이터에 그 가중 계수 α를 승산하고, 그 승산 결과(α×(r'Y(x, y)), α×(r'Y(x, y)>>delta_bitdepth), 또는 α×(r'Y(x, y)<<-delta_bitdepth))를 우 시프트부(165)에 공급한다.
우 시프트부(165)는, 가중 계수 승산부(164)로부터 공급된, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y)), α×(r'Y(x, y)>>delta_bitdepth), 또는 α×(r'Y(x, y)<<-delta_bitdepth))를 소정의 비트 수만큼, 우 시프트한다. 이 비트 시프트량은 임의이지만, 예를 들어 수학식 3, 수학식 6, 수학식 8의 경우, 우 시프트부(165)는, 잔차 데이터를 3비트 우 시프트한다. 우 시프트부(165)는, 그 우 시프트 결과(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 연산부(166) 혹은 연산부(167)에 공급한다.
연산부(166)는, 연산부(103)로부터 공급되는 색차 성분 (Cr)의 잔차 데이터(rCr(x, y))로부터, 우 시프트부(165)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 감산함으로써, 색차 성분 (Cr)의 예측 잔차 데이터(ΔrCr(x, y))를 생성하고, 그것을 직교 변환부(104)에 공급한다. 또한, 이와 같은 연산을 행하지 않는 경우, 연산부(166)는, 연산부(103)로부터 공급되는 색차 성분 (Cr)의 잔차 데이터(rCr(x, y))를 직교 변환부(104)에 공급한다.
또한, 연산부(167)는, 연산부(103)로부터 공급되는 색차 성분 (Cb)의 잔차 데이터(rCb(x, y))로부터, 우 시프트부(165)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 감산함으로써, 색차 성분 (Cb)의 예측 잔차 데이터(ΔrCb(x, y))를 생성하고, 그것을 직교 변환부(104)에 공급한다. 또한, 이와 같은 연산을 행하지 않는 경우, 연산부(167)는, 연산부(103)로부터 공급되는 색차 성분 (Cb)의 잔차 데이터(rCb(x, y))를 직교 변환부(104)에 공급한다.
잔차 예측부(122)는, 이상과 같이, 잔차 예측에 있어서, 복원된 휘도 성분의 잔차 데이터의 비트 심도의 스케일링을 행하여 예측을 행한다. 따라서, 잔차 예측부(122)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 예측 잔차 데이터를 정확하게 산출할 수 있다. 따라서, 화상 부호화 장치(100)는, 부호화 효율의 저감을 억제할 수 있다.
<부호화 처리의 흐름>
다음으로, 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 부호화 처리의 흐름의 예를, 도 5의 흐름도를 참조하여 설명한다.
부호화 처리가 개시되면, 헤더 처리부(121)는 스텝 S101에 있어서, 예를 들어 시퀀스 파라미터 세트(SPS)나 픽처 파라미터 세트(PPS) 등의 헤더 정보를 생성한다.
스텝 S102에 있어서, 화면 재배열 버퍼(102)는, 입력된 동화상의 각 프레임(픽처)의 화상을 그 표시하는 순서로 기억하고, 각 픽처의 표시하는 순서로부터 부호화하는 순서로의 재배열을 행한다.
스텝 S103에 있어서, 인트라 예측부(113)는, 인트라 예측 모드의 인트라 예측 처리를 행한다.
스텝 S104에 있어서, 인터 예측부(114)는, 인터 예측 모드에서의 움직임 예측이나 움직임 보상 등을 행하는 인터 예측 처리를 행한다.
스텝 S105에 있어서, 예측 화상 선택부(115)는, 비용 함수값 등에 기초하여, 스텝 S103의 인트라 예측에 의해 생성된 예측 화상과, 스텝 S104의 인터 예측에 의해 생성된 예측 화상 중 어느 한쪽을 선택한다.
스텝 S106에 있어서, 연산부(103)는, 스텝 S102의 처리에 의해 프레임순을 재배열한 입력 화상과, 스텝 S105의 처리에 의해 선택된 예측 화상과의 차분을 연산한다. 즉, 연산부(103)는, 입력 화상과 예측 화상과의 잔차 데이터를 생성한다. 이와 같이 하여 구해진 잔차 데이터는, 원래의 화상 데이터에 비해 데이터량이 저감된다. 따라서, 화상을 그대로 부호화하는 경우와 비교하여, 데이터량을 압축할 수 있다. 이들 처리가 각 컴포넌트(Y, Cr, Cb)의 각각에 대하여 행해진다.
스텝 S107에 있어서, 잔차 예측부(122)는, 스텝 S106의 처리에 의해 얻어진 색차 성분의 잔차 데이터에 대하여, 휘도 성분의 잔차 데이터를 사용해서 잔차 예측을 행한다. 그 때, 잔차 예측부(122)는, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 예측을 행한다. 이 처리의 상세에 대해서는 후술한다.
스텝 S108에 있어서, 직교 변환부(104)는, 스텝 S106의 처리에 의해 생성된 휘도 성분의 잔차 데이터와, 스텝 S107의 처리에 의해 생성된 색차 성분의 예측 잔차 데이터를 직교 변환한다.
스텝 S109에 있어서, 양자화부(105)는, 레이트 제어부(116)에 의해 산출된 양자화 파라미터를 사용하여, 스텝 S108의 처리에 의해 얻어진 직교 변환 계수를 양자화한다.
스텝 S110에 있어서, 역양자화부(108)는, 스텝 S109의 처리에 의해 생성된 양자화된 계수('양자화 계수'라고도 함)를, 그 양자화의 특성에 대응하는 특성에 의해 역양자화한다.
스텝 S111에 있어서, 역직교 변환부(109)는, 스텝 S108의 처리에 의해 얻어진 직교 변환 계수를 역직교 변환한다.
스텝 S112에 있어서, 잔차 복원부(123)는, 스텝 S111의 처리에 의해 복원된 휘도 성분의 잔차 데이터와 색차 성분의 예측 잔차 데이터를 사용하여, 색차 성분의 잔차 데이터를 복원한다. 그 때, 잔차 복원부(123)는, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 복원을 행한다. 이 처리의 상세에 대해서는 후술한다.
스텝 S113에 있어서, 연산부(110)는, 스텝 S111 및 스텝 S112의 처리에 의해 복원된 각 컴포넌트의 잔차 데이터에, 스텝 S105의 처리에 의해 선택된 예측 화상을 가산함으로써, 재구성 화상의 화상 데이터를 생성한다.
스텝 S114에 있어서 루프 필터(111)는, 스텝 S113의 처리에 의해 생성된 재구성 화상의 화상 데이터에 루프 필터 처리를 행한다. 이에 의해, 재구성 화상의 블록 왜곡 등이 제거된다.
스텝 S115에 있어서, 프레임 메모리(112)는, 스텝 S114의 처리에 의해 얻어진, 국소적으로 복호된 복호 화상을 기억한다.
스텝 S116에 있어서, 가역 부호화부(106)는, 스텝 S109의 처리에 의해 얻어진, 양자화된 계수를 부호화한다. 즉, 잔차 데이터에 대응하는 데이터에 대하여, 가변장 부호화나 산술 부호화 등의 가역 부호화가 행해진다.
또한, 이때, 가역 부호화부(106)는, 스텝 S105의 처리에 의해 선택된 예측 화상의 예측 모드에 관한 정보를 부호화하고, 차분 화상을 부호화해서 얻어지는 부호화 데이터에 부가한다. 즉, 가역 부호화부(106)는, 인트라 예측부(113)로부터 공급되는 최적 인트라 예측 모드 정보, 또는 인터 예측부(114)로부터 공급되는 최적 인터 예측 모드에 따른 정보 등도 부호화하고, 부호화 데이터에 부가한다.
스텝 S117에 있어서 축적 버퍼(107)는, 스텝 S116의 처리에 의해 얻어진 부호화 데이터 등을 축적한다. 축적 버퍼(107)에 축적된 부호화 데이터 등은, 비트 스트림으로서 적절히 판독되고, 전송로나 기록 매체를 통해 복호측으로 전송된다.
스텝 S118에 있어서 레이트 제어부(116)는, 스텝 S117의 처리에 의해 축적 버퍼(107)에 축적된 부호화 데이터 등의 부호량(발생 부호량)에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 스텝 S109의 양자화 처리의 레이트를 제어한다.
스텝 S118의 처리가 종료되면, 부호화 처리가 종료된다.
<잔차 예측 처리의 흐름>
다음으로, 이와 같은 부호화 처리의 스텝 S107에 있어서 실행되는 잔차 예측 처리의 흐름의 예를, 도 6의 흐름도를 참조하여 설명한다.
잔차 예측 처리가 개시되면, 스텝 S121에 있어서, 비트 심도차 산출부(151)는, 잔차 예측을 행하는 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(151)는, 수학식 4의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)의 사이에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S122에 있어서, 비트 시프트 제어부(152)는, 스텝 S121에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S123으로 진행한다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 예측은, 수학식 3과 같이 행해진다.
스텝 S123에 있어서, 비트 시프트 제어부(152)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여 잔차 예측을 행할지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측을 행하였다고 판정된 경우, 처리는 스텝 S124로 진행된다.
스텝 S124에 있어서, 가중 계수 설정부(153)는, TU마다 가중 계수 α를 설정한다.
스텝 S125에 있어서, 예측부(142)는, 비트 심도의 스케일링을 행하지 않고, 잔차 데이터의 컴포넌트 간의 예측(잔차 예측)을 행한다. 이 처리의 상세는 후술한다.
스텝 S125에 있어서의 잔차 예측이 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 예를 들어 스텝 S123에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 잔차 예측을 행하지 않았다고 판정된 경우, 스텝 S124 및 스텝 S125의 처리가 생략되어, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S122에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는, 스텝 S126으로 진행된다.
스텝 S126에 있어서, 비트 시프트 제어부(152)는, 스텝 S121에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S127로 진행된다. 이 경우, 잔차 예측은, 수학식 6과 같이 행해진다(우 시프트에 의한 스케일링이 행해진다).
스텝 S127에 있어서, 비트 시프트 제어부(152)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여 잔차 예측을 행할지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측을 행하였다고 판정된 경우, 처리는 스텝 S128로 진행된다.
스텝 S128에 있어서, 가중 계수 설정부(153)는, TU마다 가중 계수 α를 설정한다.
스텝 S129에 있어서, 예측부(142)는, 우 시프트에 의해 비트 심도의 스케일링을 행하여, 잔차 데이터의 컴포넌트 간의 예측(잔차 예측)을 행한다. 이 처리의 상세는 후술한다.
스텝 S129에 있어서의 잔차 예측이 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 예를 들어 스텝 S127에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 잔차 예측을 행하지 않았다고 판정된 경우, 스텝 S128 및 스텝 S129의 처리가 생략되어, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S126에 있어서, 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우, 처리는 스텝 S130으로 진행된다. 이 경우, 잔차 예측은, 수학식 8과 같이 행해진다(좌 시프트에 의한 스케일링이 행해진다).
스텝 S130에 있어서, 비트 시프트 제어부(152)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여 잔차 예측을 행할지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측을 행하였다고 판정된 경우, 처리는 스텝 S131로 진행된다.
스텝 S131에 있어서, 가중 계수 설정부(153)는, TU마다 가중 계수 α를 설정한다.
스텝 S132에 있어서, 예측부(142)는, 좌 시프트에 의해 비트 심도의 스케일링을 행하여, 잔차 데이터의 컴포넌트 간의 예측(잔차 예측)을 행한다. 이 처리의 상세는 후술한다.
스텝 S132에 있어서의 잔차 예측이 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 예를 들어 스텝 S130에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 잔차 예측을 행하지 않았다고 판정된 경우, 스텝 S131 및 스텝 S132의 처리가 생략되어, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
<예측 잔차 데이터 생성 처리의 흐름>
다음으로, 이와 같은 잔차 예측 처리의 스텝 S125에 있어서 실행되는 예측 잔차 데이터 생성 처리의 흐름의 예를, 도 7의 흐름도를 참조하여 설명한다.
예측 잔차 데이터 생성 처리가 개시되면, 스텝 S141에 있어서, 예측부(142)의 가중 계수 승산부(164)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))에, 도 6의 스텝 S124의 처리에 의해 설정된 가중 계수 α를 승산한다(α×r'Y(x, y)).
스텝 S142에 있어서, 우 시프트부(165)는, 스텝 S141에 있어서 산출된 승산 결과(α×r'Y(x, y))를 3비트 우 시프트한다((α×r'Y(x, y))>>3).
스텝 S143에 있어서, 연산부(166)는, 휘도 성분 Cr의 잔차 데이터(rCr(x, y))로부터, 스텝 S142에 있어서 산출된 우 시프트 결과((α×r'Y(x, y))>>3)를 감산함으로써 (rCr(x, y)-(α×r'Y(x, y))>>3), 예측 잔차 데이터(ΔrCr(x, y))를 생성한다. 또한, 연산부(167)는, 휘도 성분 Cb의 잔차 데이터(rCb(x, y))로부터, 스텝 S142에 있어서 산출된 우 시프트 결과((α×r'Y(x, y))>>3)를 감산함으로써 (rCb(x, y)-(α×r'Y(x, y))>>3), 예측 잔차 데이터(ΔrCb(x, y))를 생성한다.
이상과 같이 예측 잔차 데이터(ΔrCr(x, y) 및 ΔrCb(x, y))가 생성되면, 예측 잔차 데이터 생성 처리가 종료되고, 처리는 도 6으로 되돌아간다.
<예측 잔차 데이터 생성 처리의 흐름>
다음으로, 잔차 예측 처리의 스텝 S129에 있어서 실행되는 예측 잔차 데이터 생성 처리의 흐름의 예를, 도 8의 흐름도를 참조하여 설명한다.
예측 잔차 데이터 생성 처리가 개시되면, 스텝 S151에 있어서, 예측부(142)의 우 시프트부(162)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 도 6의 스텝 S121의 처리에 의해 산출된 잔차 데이터의 비트 심도차(delta_bitdepth)만큼, 우 시프트한다(r'Y(x, y)>>delta_bitdepth).
스텝 S152에 있어서, 가중 계수 승산부(164)는, 스텝 S151에 있어서 산출된 우 시프트 결과(r'Y(x, y)>>delta_bitdepth)에, 도 6의 스텝 S128의 처리에 의해 설정된 가중 계수 α를 승산한다(α×(r'Y(x, y)>>delta_bitdepth)).
스텝 S153에 있어서, 우 시프트부(165)는, 스텝 S152에 있어서 산출된 승산 결과(α×(r'Y(x, y)>>delta_bitdepth))를 3비트 우 시프트한다(α×(r'Y(x, y)>>delta_bitdepth)>>3).
스텝 S154에 있어서, 연산부(166)는, 휘도 성분 Cr의 잔차 데이터(rCr(x, y))로부터, 스텝 S153에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)>>delta_bitdepth)>>3)를 감산함으로써 (rCr(x, y)-α×(r'Y(x, y)>>delta_bitdepth)>>3), 예측 잔차 데이터(ΔrCr(x, y))를 생성한다. 또한, 연산부(167)는, 휘도 성분 Cb의 잔차 데이터(rCb(x, y))로부터, 스텝 S153에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)>>delta_bitdepth)>>3)를 감산함으로써 (rCb(x, y)-α×(r'Y(x, y)>>delta_bitdepth)>>3), 예측 잔차 데이터(ΔrCb(x, y))를 생성한다.
이상과 같이 예측 잔차 데이터(ΔrCr(x, y) 및 ΔrCb(x, y))가 생성되면, 예측 잔차 데이터 생성 처리가 종료되고, 처리는 도 6으로 되돌아간다.
<예측 잔차 데이터 생성 처리의 흐름>
다음으로, 잔차 예측 처리의 스텝 S132에 있어서 실행되는 예측 잔차 데이터 생성 처리의 흐름의 예를, 도 9의 흐름도를 참조하여 설명한다.
예측 잔차 데이터 생성 처리가 개시되면, 스텝 S161에 있어서, 예측부(142)의 좌 시프트부(163)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를, 도 6의 스텝 S121의 처리에 의해 산출된 잔차 데이터의 비트 심도차(-delta_bitdepth) 만큼, 좌 시프트한다(r'Y(x, y)<<-delta_bitdepth).
스텝 S162에 있어서, 가중 계수 승산부(164)는, 스텝 S161에 있어서 산출된 좌 시프트 결과(r'Y(x, y)<<-delta_bitdepth)에, 도 6의 스텝 S131의 처리에 의해 설정된 가중 계수 α를 승산한다(α×(r'Y(x, y)<<-delta_bitdepth)).
스텝 S163에 있어서, 우 시프트부(165)는, 스텝 S162에 있어서 산출된 승산 결과(α×(r'Y(x, y)<<-delta_bitdepth))를 3비트 우 시프트한다(α×(r'Y(x, y)<<-delta_bitdepth)>>3).
스텝 S164에 있어서, 연산부(166)는, 휘도 성분 Cr의 잔차 데이터(rCr(x, y))로부터, 스텝 S153에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 감산함으로써 (rCr(x, y)-α×(r'Y(x, y)<<-delta_bitdepth)>>3), 예측 잔차 데이터(ΔrCr(x, y))를 생성한다. 또한, 연산부(167)는, 휘도 성분 Cb의 잔차 데이터(rCb(x, y))로부터, 스텝 S163에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 감산함으로써 (rCb(x, y)-α×(r'Y(x, y)<<-delta_bitdepth)>>3), 예측 잔차 데이터(ΔrCb(x, y))를 생성한다.
이상과 같이 예측 잔차 데이터(ΔrCr(x, y) 및 ΔrCb(x, y))가 생성되면, 예측 잔차 데이터 생성 처리가 종료되고, 처리는 도 6으로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 잔차 예측부(122)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 예측 잔차 데이터를 정확하게 산출할 수 있다. 따라서, 화상 부호화 장치(100)는, 부호화 효율의 저감을 억제할 수 있다.
<잔차 복원>
다음으로, 이상과 같이 부호화된 부호화 데이터(비트 스트림)의 복호에 대하여 설명한다. 잔차 예측에 대응하는 잔차 복원을 실현하기(즉, 색차 성분의 잔차 데이터를 복원하기) 위해서는, 수학식 3 내지 수학식 8로부터 명백해진 바와 같이, 잔차 복원에 있어서, 잔차 예측에 의해 생성된 색차 성분의 예측 잔차 데이터에, 잔차 예측에 사용된 복원된 휘도 성분의 잔차 데이터를 가산하면 된다.
즉, 수학식 6이나 수학식 8에 나타낸 예와 같이, 잔차 예측 시에 비트 심도를 컴포넌트 간에서 매칭하는 경우, 그 잔차 예측에 대응하는 잔차 복원에 있어서도, 비트 심도를 컴포넌트 간에서 매칭하여 색차 성분의 잔차 데이터를 복원하도록 하면 된다. 이와 같이 함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 각 컴포넌트의 잔차 데이터의 비트 심도를 매칭하여 복원을 행할 수 있으므로, 잔차 복원을 정확하게 행할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭하는 방법은 임의이지만, 잔차 예측 시와 마찬가지로 행하면 된다. 예를 들어, 잔차 데이터를 비트 시프트 함으로써, 컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭하도록 해도 된다. 이와 같이 함으로써, 용이하게 컴포넌트 간에서 잔차 데이터의 비트 심도를 매칭할 수 있다. 즉, 처리의 부하나 처리 시간을 저감시킬 수 있다.
당연히, 잔차 복원의 경우도, 잔차 복호의 경우와 마찬가지로, 잔차 데이터의 비트 심도를 매칭하는 화상의 색 공간은 임의이다. 예를 들어, YUV 공간(YUV444 등)이어도 되고, RGB 공간(RGB444 등)이어도 된다. 예를 들어, 화상이 YUV 공간인 경우, 휘도 성분과 색차 성분의 사이에서, 비트 시프트에 의해 잔차 데이터의 비트 심도를 매칭하여 복원을 행하도록 해도 된다. 보다 구체적으로는, 예를 들어 휘도 성분의 비트 심도를 비트 시프트에 의해 색차 성분의 비트 심도에 매칭하고 나서 복원을 행하도록 해도 된다. 또한 예를 들어, 화상이 RGB 공간인 경우, G 성분과 R 성분 또는 B 성분의 사이에서, 비트 시프트에 의해 잔차 데이터의 비트 심도를 매칭하여 복원을 행하도록 해도 된다. 보다 구체적으로는, 예를 들어 G 성분의 비트 심도를 비트 시프트에 의해 R 성분이나 B 성분의 비트 심도에 매칭하고 나서 복원을 행하도록 해도 된다.
<잔차 복원 연산>
이상과 같은 잔차 복원의 연산 구체예에 대하여 설명한다. 예를 들어, 수학식 3과 같이, 잔차 예측에 있어서 비트 심도의 스케일링을 행하지 않는 경우, 잔차 복원에 있어서도, 이하의 수학식 9와 같이, 비트 심도의 스케일링을 행하지 않도록 하면 된다. 마찬가지로, 잔차 예측에 있어서, 예를 들어 수학식 4 내지 수학식 8과 같이, 비트 심도의 스케일링을 행하는 경우, 잔차 복원에 있어서도, 이하의 수학식 10 내지 수학식 14와 같이, 비트 심도의 스케일링을 행하도록 하면 된다.
Figure pct00009
Figure pct00010
Figure pct00011
Figure pct00012
Figure pct00013
Figure pct00014
이상과 같은 비트 심도를 매칭하는 시프트 연산 방법은 임의이다. 각 컴포넌트의 잔차 데이터의 비트 심도에 관한 정보가 부호화측으로부터 전송되고, 이 부호화측으로부터 전송되어 온 각 컴포넌트의 잔차 데이터의 비트 심도에 관한 정보에 기초하여, 예측을 행하는 2개의 컴포넌트 간의 비트 심도의 차를 구하고, 구한 비트 심도의 차에 기초하여 비트 시프트를 행함으로써, 잔차 데이터의 비트 심도를 매칭하도록 해도 된다. 그리고, 그 2개의 컴포넌트 간의 비트 심도의 차가 0이 아닌 경우, 비트 시프트에 의해 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 복원을 행하도록 해도 된다. 예를 들어, 전술한 수학식 10과 같이, 컴포넌트 간의 잔차 데이터의 비트 심도의 차분(비트 심도차)을 구하고, 수학식 11 내지 수학식 14와 같이, 그 비트 심도차의 분만큼 비트 시프트를 행하도록 해도 된다. 그 때, 비트 시프트는, 수학식 12나 수학식 14와 같이, 비트 심도차의 절댓값의 분만큼 행해지도록 해도 된다. 그 경우, 예를 들어 수학식 11이나 수학식 13의 조건을 만족하는지 여부에 따라서, 수학식 12나 수학식 14와 같이 시프트 방향이 결정되도록 해도 된다.
즉, 이들의 경우, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))의 비트 심도(BitDepthY)가 색차 성분(Cb 또는 Cr)의 잔차 데이터(rc(x, y))의 비트 심도(BitDepthC)에 매칭되어 복원이 행해진다. 보다 구체적으로는, 복원을 행하는 2개의 컴포넌트 간의 비트 심도의 차가 구해지고, 2개의 컴포넌트 중 한쪽의 컴포넌트의 복원이 완료된 잔차 데이터에 대하여 비트 심도의 차에 따른 비트 시프트가 행해지고, 비트 시프트된 잔차 데이터에 소정의 가중 계수가 승산되고, 그 승산 결과에 대하여 소정의 비트 수분의 비트 시프트가 행해지고, 비트 시프트된 승산 결과와 예측 잔차 데이터를 가산함으로써, 다른 쪽의 컴포넌트의 잔차 데이터의 복원이 행해진다. 이상과 같이 복원을 행하도록 해도 된다.
또한, Δbitdepth가 0인 경우, 휘도 성분 (Y)의 잔차 데이터(rL(x, y))의 비트 시프트량이 0이므로, 잔차 데이터(r'c(x, y))는, 수학식 9와 같이 산출된다고도 할 수 있다.
이상과 같이 산출함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 잔차 데이터(r'c(x, y))를 정확하게 복원할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
<화상 복호 장치>
도 10은, 본 기술을 적용한 화상 처리 장치의 일 형태인, 도 3의 화상 부호화 장치(100)에 대응하는 화상 복호 장치의 주된 구성예를 나타내는 블록도이다.
도 10에 도시된 화상 복호 장치(200)는, 화상 부호화 장치(100)가 생성된 부호화 데이터를, 그 부호화 방법에 대응하는 복호 방법으로 복호한다.
도 10에 도시된 바와 같이 화상 복호 장치(200)는, 축적 버퍼(201), 가역 복호부(202), 역양자화부(203), 역직교 변환부(204), 연산부(205), 루프 필터(206) 및 화면 재배열 버퍼(207)를 갖는다. 또한, 화상 복호 장치(200)는 프레임 메모리(209), 인트라 예측부(210), 인터 예측부(211) 및 예측 화상 선택부(212)를 갖는다. 또한, 화상 복호 장치(200)는 헤더 취득부(221) 및 잔차 복원부(222)를 갖는다.
축적 버퍼(201)는, 부호화측(예를 들어 화상 부호화 장치(100))으로부터 전송되어 온 부호화 데이터를 수취하는 수취부이기도 하다. 축적 버퍼(201)는, 그 전송되어 온 부호화 데이터를 수취하여 축적하고, 소정의 타이밍에 있어서 그 부호화 데이터를 가역 복호부(202)에 공급한다. 부호화 데이터에는, 예측 모드 정보 등의 복호에 필요한 정보가 부가되어 있다. 가역 복호부(202)는, 축적 버퍼(201)로부터 공급된, 가역 부호화부(106)에 의해 부호화된 정보를, 그 부호화 방식에 대응하는 복호 방식으로 복호한다. 가역 복호부(202)는 복호해서 얻어진 양자화된 계수 데이터를, 역양자화부(203)에 공급한다.
또한, 가역 복호부(202)는, 최적의 예측 모드로 인트라 예측 모드가 선택되었는지 인터 예측 모드가 선택되었는지를 판정하고, 그 최적의 예측 모드에 관한 정보를, 인트라 예측부(210) 및 인터 예측부(211) 중, 선택되었다고 판정된 모드 쪽으로 공급한다. 즉, 예를 들어 화상 부호화 장치(100)에 있어서 최적의 예측 모드로서 인트라 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 인트라 예측부(210)에 공급된다. 또한, 예를 들어 화상 부호화 장치(100)에 있어서 최적의 예측 모드로서 인터 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 인터 예측부(211)에 공급된다.
또한, 가역 복호부(202)는, 예를 들어 양자화 행렬이나 양자화 파라미터 등의, 역양자화에 필요한 정보를 역양자화부(203)에 공급한다.
또한, 가역 복호부(202)는, 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS), 슬라이스 헤더 등의 헤더 정보를, 헤더 취득부(221)에 공급한다.
역양자화부(203)는, 가역 복호부(202)에 의해 복호되어 얻어진 양자화된 계수 데이터를, 양자화부(105)의 양자화 방식에 대응하는 방식으로 역양자화한다. 또한, 이 역양자화부(203)는, 역양자화부(108)와 마찬가지의 처리부이다. 즉, 역양자화부(203)의 설명은, 역양자화부(108)에도 준용할 수 있다. 단, 데이터의 입출력처 등은, 장치에 따라서 적절히 바꿔 읽을 필요가 있다.
역양자화부(203)는, 얻어진 계수 데이터를 역직교 변환부(204)에 공급한다.
역직교 변환부(204)는, 역양자화부(203)로부터 공급되는 직교 변환 계수를, 필요에 따라서, 직교 변환부(104)의 직교 변환 방식에 대응하는 방식에 의해 역직교 변환한다. 또한, 이 역직교 변환부(204)는 역직교 변환부(109)와 마찬가지의 처리부이다. 즉, 역직교 변환부(204)의 설명은, 역직교 변환부(109)에도 준용할 수 있다. 단, 데이터의 입출력처 등은, 장치에 따라서 적절히 바꿔 읽을 필요가 있다.
역직교 변환부(204)는, 이 역직교 변환 처리에 의해, 화상 부호화 장치(100)에 있어서 직교 변환되기 전의 상태에 대응하는 잔차 데이터나 예측 잔차 데이터를 얻는다. 역직교 변환되어 얻어진 잔차 데이터 및 예측 잔차 데이터는, 잔차 복원부(222)에 공급된다.
연산부(205)는, 잔차 복원부(222)로부터 복원된 각 컴포넌트의 잔차 데이터를 취득한다. 또한, 연산부(205)는, 예측 화상 선택부(212)를 통하여, 인트라 예측부(210) 혹은 인터 예측부(211)로부터 예측 화상을 취득한다. 연산부(205)는, 차분 화상과 예측 화상을 가산하고, 연산부(103)에 의해 예측 화상이 감산되기 전의 화상에 대응하는 재구성 화상을 얻는다. 연산부(205)는, 그 재구성 화상을 루프 필터(206) 및 인트라 예측부(210)에 공급한다.
루프 필터(206)는, 공급된 재구성 화상에 대하여, 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 실시해서 복호 화상을 생성한다. 예를 들어, 루프 필터(206)는, 재구성 화상에 대하여 디블록 필터 처리를 행함으로써, 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(206)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 재구성 화상)에 대하여 위너 필터(Wiener Filter)를 사용해서 루프 필터 처리를 행함으로써 화질 개선을 행한다.
또한, 루프 필터(206)가 행하는 필터 처리의 종류는 임의이며, 전술한 이외의 필터 처리를 행해도 된다. 또한, 루프 필터(206)가 화상 부호화 장치(100)로부터 공급된 필터 계수를 사용해서 필터 처리를 행하도록 해도 된다.
루프 필터(206)는, 필터 처리 결과인 복호 화상을 화면 재배열 버퍼(207) 및 프레임 메모리(209)에 공급한다.
화면 재배열 버퍼(207)는, 화상의 재배열을 행한다. 즉, 화면 재배열 버퍼(102)에 의해 부호화의 순서를 위해 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다. 화면 재배열 버퍼(207)는, 프레임의 순서를 재배열한 복호 화상 데이터를 화상 복호 장치(200)의 외부로 출력한다.
프레임 메모리(209)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 혹은 인터 예측부(211) 등의 외부의 요구에 기초하여, 기억하고 있는 복호 화상을 참조 화상으로 하여, 인터 예측부(211)에 공급한다.
인트라 예측부(210)에는, 헤더 정보를 복호해서 얻어진 인트라 예측 모드를 나타내는 정보 등이 가역 복호부(202)로부터 적절히 공급된다. 인트라 예측부(210)는, 인트라 예측부(113)에 있어서 사용된 인트라 예측 모드에서, 프레임 메모리(209)로부터 취득한 참조 화상을 사용해서 인트라 예측을 행하고, 예측 화상을 생성한다. 인트라 예측부(210)는, 생성된 예측 화상을 예측 화상 선택부(212)에 공급한다.
인터 예측부(211)는, 헤더 정보를 복호해서 얻어진 정보(최적 예측 모드 정보, 참조 화상 정보 등)를 가역 복호부(202)로부터 취득한다.
인터 예측부(211)는, 가역 복호부(202)로부터 취득한 최적 예측 모드 정보가 나타내는 인터 예측 모드에서, 프레임 메모리(209)로부터 취득한 참조 화상을 사용해서 인터 예측을 행하고, 예측 화상을 생성한다.
예측 화상 선택부(212)는, 인트라 예측부(210)로부터의 예측 화상 또는 인터 예측부(211)로부터의 예측 화상을, 연산부(205)에 공급한다. 그리고, 연산부(205)에 있어서는, 움직임 벡터가 사용되어 생성된 예측 화상과 잔차 복원부(222)로부터의 복호 잔차 데이터(차분 화상 정보)가 가산되어 원래의 화상이 복호된다.
헤더 취득부(221)는, 예를 들어 비디오 파라미터 세트(VPS), 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS), SEI, 슬라이스 헤더 등의, 부호화측으로부터 전송된 헤더 정보를 가역 복호부(202)를 통해 취득한다. 헤더 취득부(221)는, 취득된 헤더 정보 중에서 필요한 정보를 잔차 복원부(222)에 공급한다. 상세에 대해서는 후술한다.
잔차 복원부(222)는, 역직교 변환부(204)로부터 공급되는 휘도 성분의 잔차 데이터와 색차 성분의 예측 잔차 데이터를 사용하여, 색차 성분의 잔차 데이터를 복원한다('잔차 복원'이라고도 함). 그 때, 잔차 복원부(222)는, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 복원을 행한다. 또한, 이 잔차 복원부(222)는, 잔차 복원부(123)와 마찬가지의 처리부이다. 즉, 잔차 복원부(222)의 설명은, 잔차 복원부(123)에도 준용할 수 있다. 단, 데이터의 입출력처 등은, 장치에 따라서 적절히 바꿔 읽을 필요가 있다.
<헤더 취득부 및 잔차 복원부>
도 11은, 도 10의 헤더 취득부(221) 및 잔차 복원부(222)의 주된 구성예를 나타내는 블록도이다. 도 11에 도시된 바와 같이 헤더 취득부(221)는, SPS 취득부(231), PPS 취득부(232), 및 가중 계수 취득부(233)를 갖는다.
SPS 취득부(231)는, 부호화측으로부터 공급된 시퀀스 파라미터 세트(SPS)에 포함되는, 휘도 성분의 비트 심도를 나타내는 정보(예를 들어 bit_depth_luma_minus8) 혹은 휘도 성분의 비트 심도를 나타내는 정보를 포함하는 정보와, 색차 성분(Cb/Cr)의 비트 심도를 나타내는 정보(예를 들어 bit_depth_chroma_minus8) 혹은 색차 성분의 비트 심도를 나타내는 정보를 포함하는 정보를 취득하고, 잔차 복원부(222)(후술하는 비트 심도차 산출부(251))에 공급한다.
PPS 취득부(232)는, 부호화측으로부터 공급된 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 잔차 복원부(222)(후술하는 비트 시프트 제어부(252))에 공급한다.
가중 계수 취득부(233)는, 부호화측으로부터 공급된 가중 계수 α, 혹은 그 가중 계수 α를 포함하는 정보를 잔차 복원부(222)(후술하는 가중 계수 승산부(264))에 공급한다.
잔차 복원부(222)는, 역직교 변환부(204)로부터 공급되는 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 연산부(205)에 공급한다. 또한, 잔차 복원부(222)는, 제어부(241) 및 복원부(242)를 갖는다. 제어부(241)는, 잔차 복원에 관한 연산의 제어에 관한 처리를 행한다. 복원부(242)는, 제어부(241)에 제어되고, 그 잔차 복원에 관한 연산을 행한다. 예를 들어, 복원부(242)는, 제어부(241)의 제어에 기초하여, 역직교 변환부(204)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 사용하여, 역직교 변환부(204)로부터 취득한, 복원된 색차 성분의 예측 잔차 데이터(Δr'Cr(x, y)와 Δr'Cb(x, y))로부터, 색차 성분의 잔차 데이터(r'Cr(x, y)와 r'Cb(x, y))를 복원한다. 복원부(242)는, 복원된 색차 성분의 잔차 데이터(r'Cr(x, y)와 r'Cb(x, y))를 연산부(205)에 공급한다. 또한, 잔차 복원부(222)는, 제어부(241)에 제어되어 잔차 복원을 행하지 않고, 역직교 변환부(204)로부터 취득한, 복원된 색차 성분의 잔차 데이터(r'Cr(x, y)와 r'Cb(x, y))를 연산부(205)에 공급한다.
제어부(241)는, 비트 심도차 산출부(251) 및 비트 시프트 제어부(252)를 갖는다.
비트 심도차 산출부(251)는, 잔차 예측에 사용하는 각 컴포넌트의 잔차 데이터의 비트 심도의 차를 산출한다. 예를 들어, 비트 심도차 산출부(251)는, SPS 취득부(231)로부터, 휘도 성분의 비트 심도를 나타내는 정보(예를 들어 bit_depth_luma_minus8) 혹은 휘도 성분의 비트 심도를 나타내는 정보를 포함하는 정보와, 색차 성분(Cb/Cr)의 비트 심도를 나타내는 정보(예를 들어 bit_depth_chroma_minus8) 혹은 색차 성분의 비트 심도를 나타내는 정보를 포함하는 정보를 취득하고, 그들 정보를 이용하여, 수학식 4에 나타내는 연산을 행하고, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 비트 심도차 산출부(251)는, 산출된 비트 심도차(delta_bitdepth)를 비트 시프트 제어부(252)에 공급한다.
또한, 비트 심도차 산출부(251)는, 비트 시프트 제어부(252)의 제어에 기초하여, 산출한 비트 심도차(delta_bitdepth)를 복원부(242)에 공급한다. 예를 들어, 비트 심도의 스케일링 시에 잔차 데이터의 우 시프트를 행하는 경우, 비트 심도차 산출부(251)는 산출한 비트 심도차(delta_bitdepth)를 우 시프트부(262)에 공급한다. 또한, 비트 심도의 스케일링 시에 잔차 데이터의 좌 시프트를 행하는 경우, 비트 심도차 산출부(251)는, 산출된 비트 심도차(-delta_bitdepth)를 좌 시프트부(263)에 공급한다.
비트 시프트 제어부(252)는, 비트 심도차 산출부(251)로부터 공급되는 컴포넌트 간의 비트 심도차(delta_bitdepth)의 값에 기초하여, 복원부(242)에 의한 연산을 제어한다. 예를 들어, 비트 시프트 제어부(252)는, 비트 심도차(delta_bitdepth)가 0인 경우, 잔차 데이터의 비트 시프트(비트 심도의 스케일링)를 행하지 않도록, 복원부(242)(의 선택부(261))를 제어한다. 또한, 그 때, 비트 시프트 제어부(252)는, 비트 심도차 산출부(251)도 제어하고, 비트 심도차(delta_bitdepth)를 복원부(242)에 공급시키지 않도록 한다.
또한, 예를 들어 비트 시프트 제어부(252)는, 비트 심도차(delta_bitdepth)가 정의 값(>0)인 경우, 잔차 데이터를 우 시프트하도록(비트 심도의 스케일링을 행하도록), 복원부(242)(의 선택부(261))를 제어한다. 또한, 그 때, 비트 시프트 제어부(252)는, 비트 심도차 산출부(251)도 제어하고, 비트 심도차(delta_bitdepth)를 복원부(242)(우 시프트부(262))에 공급시킨다.
또한, 예를 들어 비트 시프트 제어부(252)는, 비트 심도차(delta_bitdepth)가 부의 값(<0)인 경우, 잔차 데이터를 좌 시프트하도록(비트 심도의 스케일링을 행하도록), 복원부(242)(의 선택부(261))를 제어한다. 또한, 그 때, 비트 시프트 제어부(252)는, 비트 심도차 산출부(251)도 제어하고, 비트 심도차(-delta_bitdepth)를 복원부(242)(좌 시프트부(263))에 공급시킨다.
또한, 비트 시프트 제어부(252)는, 예를 들어 PPS 취득부(232)로부터, 부호화측으로부터 공급된, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 취득하고, 그 값에 기초하여, 잔차 복원을 행할지 여부를 제어한다. 예를 들어, 잔차 예측을 행할지 여부를 제어하는 정보에 의해 잔차 예측을 행하지 않았음이 도시되어 있는(즉, 잔차 복원을 행하지 않았음도 도시되어 있는) 경우, 비트 시프트 제어부(252)는, 복원부(242)를 제어하고, 복원에 관한 연산을 행하게 하지 않도록 한다. 또한, 그 경우, 비트 시프트 제어부(252)는, 비트 심도차 산출부(251)를 제어하고, 비트 심도차(delta_bitdepth 또는 -delta_bitdepth)의 공급을 정지시킨다. 또한, 비트 시프트 제어부(252)는, 그 경우, 가중 계수 취득부(233)를 제어하고, 가중 계수 α를 취득시키지 않도록 한다.
반대로, 예를 들어 잔차 예측을 행할지 여부를 제어하는 정보에 의해 잔차 예측을(즉, 잔차 복원도) 행하는 것이 도시되어 있는 경우, 비트 시프트 제어부(252)는, 복원부(242)를 제어하고, 복원에 관한 연산을 행하게 하도록 한다. 또한, 그 경우, 비트 시프트 제어부(252)는, 비트 심도차 산출부(251)를 제어하고, 비트 심도차(delta_bitdepth 또는 -delta_bitdepth)를 복원부(242)에 공급시킨다. 또한, 그 경우, 비트 시프트 제어부(252)는, 가중 계수 취득부(233)를 제어하고, 가중 계수 α를 취득시켜 복원부(242)(가중 계수 승산부(264))에 공급시킨다.
복원부(242)는, 예측부(142)에 의한 연산과 기본적으로 마찬가지의 연산을 행하기 위해서, 예측부(142)와 기본적으로 마찬가지의 구성을 갖는다. 즉, 복원부(242)는 선택부(261), 우 시프트부(262), 좌 시프트부(263), 가중 계수 승산부(264), 우 시프트부(265), 연산부(266), 및 연산부(267)를 갖는다.
선택부(261)는, 비트 시프트 제어부(252)의 제어에 따라서, 선택부(161)와 마찬가지로, 역직교 변환부(204)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))의 공급처를 선택한다. 예를 들어, 비트 심도의 스케일링(우 시프트)이 행해지는 경우, 선택부(261)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 우 시프트부(262)에 공급한다. 이 경우, 수학식 6에 대응하는 연산이 행해진다. 또한, 예를 들어 비트 심도의 스케일링(좌 시프트)이 행해지는 경우, 선택부(261)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 좌 시프트부(263)에 공급한다. 이 경우, 수학식 8에 대응하는 연산이 행해진다. 또한, 예를 들어 비트 심도의 스케일링이 행해지지 않는 경우, 선택부(261)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 가중 계수 승산부(264)에 공급한다. 이 경우, 수학식 3에 대응하는 연산이 행해진다.
우 시프트부(262)는, 선택부(261)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 비트 심도차 산출부(251)로부터 취득한 비트 심도차(delta_bitdepth)만큼, 우 시프트함으로써, 비트 심도의 스케일링을 행한다. 우 시프트부(262)는, 휘도 성분의 잔차 데이터의 우 시프트 결과(r'Y(x, y)>>delta_bitdepth)를 가중 계수 승산부(264)에 공급한다.
좌 시프트부(263)는, 선택부(261)로부터 취득한, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 비트 심도차 산출부(251)로부터 취득한 비트 심도차(-delta_bitdepth)만큼, 좌 시프트함으로써, 비트 심도의 스케일링을 행한다. 좌 시프트부(263)는, 휘도 성분의 잔차 데이터의 좌 시프트 결과(r'Y(x, y)<<-delta_bitdepth)를 가중 계수 승산부(264)에 공급한다.
가중 계수 승산부(264)는, 선택부(261) 내지 좌 시프트부(263) 중 어느 하나로부터, 복원된 휘도 성분의 잔차 데이터를 취득한다. 예를 들어, 가중 계수 승산부(264)는, 비트 시프트되지 않은, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 선택부(261)로부터 취득한다. 또한, 예를 들어 가중 계수 승산부(264)는, 우 시프트된, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y)>>delta_bitdepth)를 우 시프트부(262)로부터 취득한다. 또한, 예를 들어 가중 계수 승산부(264)는, 좌 시프트된, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y)<<-delta_bitdepth)를 좌 시프트부(263)로부터 취득한다.
또한, 가중 계수 승산부(264)는, 가중 계수 취득부(233)를 통해 가중 계수 α를 취득한다. 가중 계수 승산부(264)는, 취득한 복원된 휘도 성분의 잔차 데이터에 그 가중 계수 α를 승산하고, 그 승산 결과(α×(r'Y(x, y)), α×(r'Y(x, y)>>delta_bitdepth), 또는, α×(r'Y(x, y)<<-delta_bitdepth))를 우 시프트부(265)에 공급한다.
우 시프트부(265)는, 가중 계수 승산부(264)로부터 공급된, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y)), α×(r'Y(x, y)>>delta_bitdepth), 또는 α×(r'Y(x, y)<<-delta_bitdepth))를 소정의 비트 수만큼, 우 시프트한다. 이 비트 시프트량은 부호화측과 동일한 한 임의이지만, 예를 들어 수학식 3, 수학식 6, 수학식 8의 경우, 우 시프트부(265)는, 잔차 데이터를 3비트 우 시프트한다. 우 시프트부(265)는, 그 우 시프트 결과(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 연산부(266) 혹은 연산부(267)에 공급한다.
연산부(266)는, 역직교 변환부(204)로부터 공급되는 색차 성분 (Cr)의 복원된 예측 잔차 데이터(Δr'Cr(x, y))에, 우 시프트부(265)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 가산함으로써, 색차 성분 (Cr)의 잔차 데이터를 복원하고(r'Cr(x, y)), 그것을 연산부(205)에 공급한다. 또한, 이와 같은 잔차 복원을 행하지 않는 경우, 연산부(266)는, 역직교 변환부(204)로부터 공급되는 색차 성분 (Cr)의 복원된 잔차 데이터(r'Cr(x, y))를 연산부(205)에 공급한다.
또한, 연산부(267)는, 역직교 변환부(204)로부터 공급되는 색차 성분 (Cb)의 복원된 예측 잔차 데이터(Δr'Cb(x, y))에, 우 시프트부(265)로부터 공급되는, 복원된 휘도 성분의 잔차 데이터(α×(r'Y(x, y))>>3, α×(r'Y(x, y)>>delta_bitdepth)>>3, 또는 α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 가산함으로써, 색차 성분 (Cb)의 잔차 데이터를 복원하고(r'Cb(x, y)), 그것을 연산부(205)에 공급한다. 또한, 이와 같은 잔차 복원을 행하지 않는 경우, 연산부(267)는, 역직교 변환부(204)로부터 공급되는 색차 성분 (Cb)의 복원된 잔차 데이터(r'Cb(x, y))를 연산부(205)에 공급한다.
잔차 복원부(222)는, 이상과 같이, 잔차 복원에 있어서, 복원된 휘도 성분의 잔차 데이터의 비트 심도의 스케일링을 행해서 복원을 행한다. 따라서, 잔차 복원부(222)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 잔차 데이터를 정확하게 복원할 수 있다. 따라서, 화상 복호 장치(200)는, 부호화 효율의 저감을 억제할 수 있다.
<복호 처리의 흐름>
다음으로, 화상 복호 장치(200)에 의해 실행되는 각 처리의 흐름의 예를 설명한다. 처음에, 복호 처리의 흐름의 예를, 도 12의 흐름도를 참조하여 설명한다.
복호 처리가 개시되면, 스텝 S201에 있어서, 축적 버퍼(201)는, 전송되어 온 비트 스트림을 축적한다. 스텝 S202에 있어서, 가역 복호부(202)는, 축적 버퍼(201)로부터 공급되는 비트 스트림을 복호한다. 즉, 가역 부호화부(106)에 의해 부호화된 I 픽처, P 픽처와, B 픽처가 복호된다. 이때, 헤더 정보 등의 비트 스트림에 포함된 화상 정보 이외의 각종 정보도 복호된다.
스텝 S203에 있어서, 역양자화부(203)는, 스텝 S202의 처리에 의해 얻어진, 양자화된 계수를 역양자화한다.
스텝 S204에 있어서, 역직교 변환부(204)는, 스텝 S203의 처리에 의해 얻어진 직교 변환 계수를 역직교 변환한다. 이 처리에 의해, 휘도 성분의 잔차 데이터와 색차 성분의 예측 잔차 데이터가 복원된다.
스텝 S205에 있어서, 잔차 복원부(222)는, 복원된 휘도 성분의 잔차 데이터와, 복원된 색차 성분의 예측 잔차 데이터를 사용하여, 색차 성분의 잔차 데이터를 복원하는 잔차 복원 처리를 행한다. 이 처리의 상세에 대해서는 후술한다.
스텝 S206에 있어서, 인트라 예측부(210) 혹은 인터 예측부(211)는, 예측 처리를 행하고, 예측 화상을 생성한다. 즉, 가역 복호부(202)에 있어서 판정된, 부호화 시에 적용된 예측 모드에서 예측 처리가 행해진다. 보다 구체적으로는, 예를 들어 부호화 시에 인트라 예측이 적용된 경우, 인트라 예측부(210)가, 부호화 시에 최적으로 된 인트라 예측 모드에서 예측 화상을 생성한다. 또한, 예를 들어 부호화 시에 인터 예측이 적용된 경우, 인터 예측부(211)가 부호화 시에 최적으로 된 인터 예측 모드에서 예측 화상을 생성한다.
스텝 S207에 있어서, 연산부(205)는, 스텝 S204 및 스텝 S205의 처리에 의해 복원된 잔차 데이터에, 스텝 S206에 있어서 생성된 예측 화상을 가산한다. 이에 의해 재구성 화상이 얻어진다.
스텝 S208에 있어서, 루프 필터(206)는, 스텝 S207의 처리에 의해 얻어진 재구성 화상에 대하여 디블록 필터 처리나 적응 루프 필터 처리 등을 포함하는 루프 필터 처리를 적절히 행한다.
스텝 S209에 있어서, 화면 재배열 버퍼(207)는 스텝 S208의 처리에 의해 얻어진 복호 화상의 프레임 재배열을 행한다. 즉, 부호화 시에 재배열된 프레임의 순서가, 원래의 표시의 순서로 재배열된다. 프레임이 재배열된 복호 화상은, 화상 복호 장치(200)의 외부로 출력된다.
스텝 S210에 있어서, 프레임 메모리(209)는, 스텝 S208의 처리에 의해 얻어진 복호 화상을 기억한다.
스텝 S210의 처리가 종료되면, 복호 처리가 종료된다.
<잔차 복원 처리의 흐름>
다음으로, 이와 같은 복호 처리의 스텝 S205에 있어서 실행되는 잔차 복원 처리의 흐름의 예를, 도 13의 흐름도를 참조하여 설명한다.
잔차 복원 처리가 개시되면, 스텝 S221에 있어서, 비트 심도차 산출부(251)는, 부호화측으로부터 전송된 시퀀스 파라미터 세트에 포함되는, 휘도 성분의 비트 심도를 나타내는 정보(예를 들어 bit_depth_luma_minus8)와, 색차 성분(Cb/Cr)의 비트 심도를 나타내는 정보(예를 들어 bit_depth_chroma_minus8)를, SPS 취득부(231)를 통해 취득하고, 그들을 사용하여, 잔차 예측이 행해지는 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(151)는, 수학식 10의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S222에 있어서, 비트 시프트 제어부(252)는, 스텝 S221에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S223으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 복원은, 수학식 9와 같이 행해진다.
스텝 S223에 있어서, 비트 시프트 제어부(252)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여, 부호화측에 있어서 잔차 예측이 행해졌는지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측이 행해졌다고 판정된 경우, 처리는 스텝 S224로 진행된다.
스텝 S224에 있어서, 가중 계수 취득부(233)는, TU마다 가중 계수 α를 취득한다.
스텝 S225에 있어서, 복원부(242)는, 비트 심도의 스케일링을 행하지 않고, 색차 성분의 잔차 데이터의 복원(잔차 복원)을 행한다. 이 처리의 상세는 후술한다.
스텝 S225에 있어서의 잔차 복원이 종료되면, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 예를 들어 스텝 S223에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 부호화측에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 스텝 S224 및 스텝 S225의 처리가 생략되어, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S222에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S226으로 진행된다.
스텝 S226에 있어서, 비트 시프트 제어부(252)는, 스텝 S221에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S227로 진행된다. 이 경우, 잔차 복원은, 수학식 12와 같이 행해진다(우 시프트에 의한 스케일링이 행해진다).
스텝 S227에 있어서, 비트 시프트 제어부(252)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여, 부호화측에 있어서 잔차 예측이 행해졌는지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측이 행해졌다고 판정된 경우, 처리는 스텝 S228로 진행된다.
스텝 S228에 있어서, 가중 계수 취득부(233)는, TU마다 가중 계수 α를 취득한다.
스텝 S229에 있어서, 복원부(242)는, 우 시프트에 의해 비트 심도의 스케일링을 행하여, 색차 성분의 잔차 데이터의 복원(잔차 복원)을 행한다. 이 처리의 상세는 후술한다.
스텝 S229에 있어서의 잔차 복원이 종료되면, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 예를 들어 스텝 S227에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 부호화측에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 스텝 S228 및 스텝 S229의 처리가 생략되어, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S226에 있어서, 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우, 처리는 스텝 S230으로 진행된다. 이 경우, 잔차 예측은, 수학식 14와 같이 행해진다(좌 시프트에 의한 스케일링이 행해진다).
스텝 S230에 있어서, 비트 시프트 제어부(252)는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag) 등에 기초하여, 부호화측에 있어서 잔차 예측이 행해졌는지 여부를 판정한다. 예를 들어, luma_chroma_prediction_enabled_flag의 값이 1이며, 잔차 예측이 행해졌다고 판정된 경우, 처리는 스텝 S231로 진행된다.
스텝 S231에 있어서, 가중 계수 취득부(233)는, TU마다 가중 계수 α를 취득한다.
스텝 S232에 있어서, 복원부(242)는, 좌 시프트에 의해 비트 심도의 스케일링을 행하여, 색차 신호의 잔차 데이터의 복원(잔차 복원)을 행한다. 이 처리의 상세는 후술한다.
스텝 S232에 있어서의 잔차 복원이 종료되면, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 예를 들어 스텝 S230에 있어서, luma_chroma_prediction_enabled_flag의 값이 0이며, 부호화측에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 스텝 S231 및 스텝 S232의 처리가 생략되어, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
<잔차 데이터 복원 처리의 흐름>
다음으로, 이와 같은 잔차 복원 처리의 스텝 S225에 있어서 실행되는 잔차 데이터 복원 처리의 흐름의 예를, 도 14의 흐름도를 참조하여 설명한다.
잔차 데이터 복원 처리가 개시되면, 스텝 S241에 있어서, 복원부(242)의 가중 계수 승산부(264)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))에, 도 13의 스텝 S224의 처리에 의해 취득된 가중 계수 α를 승산한다(α×r'Y(x, y)).
스텝 S242에 있어서, 우 시프트부(265)는 스텝 S241에 있어서 산출된 승산 결과(α×r'Y(x, y))를 3비트 우 시프트한다((α×r'Y(x, y))>>3).
스텝 S243에 있어서, 연산부(266)는, 복원된 색차 성분 Cr의 예측 잔차 데이터(Δr'Cr(x, y))에, 스텝 S242에 있어서 산출된 우 시프트 결과((α×r'Y(x, y))>>3)를 가산함으로써(Δr'Cr(x, y)+(α×r'Y(x, y))>> 3), 색차 성분 Cr의 잔차 데이터를 복원한다(r'Cr(x, y)). 또한, 연산부(267)는, 색차 성분 Cb의 예측 잔차 데이터(Δr'Cb(x, y))에, 스텝 S242에 있어서 산출된 우 시프트 결과((α×r'Y(x, y))>>3)를 가산함으로써(Δr'Cb(x, y)+(α×r'Y(x, y))>> 3), 색차 성분 Cb의 잔차 데이터를 복원한다(r'Cb(x, y)).
이상과 같이 색차 성분의 잔차 데이터가 복원되면(r'Cr(x, y) 및 r'Cb(x, y)), 잔차 데이터 복원 처리가 종료되고, 처리는 도 13으로 되돌아간다.
<잔차 데이터 복원 처리의 흐름>
다음으로, 잔차 복원 처리의 스텝 S229에 있어서 실행되는 잔차 데이터 복원 처리의 흐름의 예를, 도 15의 흐름도를 참조하여 설명한다.
잔차 데이터 복원 처리가 개시되면, 스텝 S251에 있어서, 복원부(242)의 우 시프트부(262)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 도 13의 스텝 S221의 처리에 의해 산출된 잔차 데이터의 비트 심도차(delta_bitdepth)만큼, 우 시프트한다(r'Y(x, y)>>delta_bitdepth).
스텝 S252에 있어서, 가중 계수 승산부(264)는, 스텝 S251에 있어서 산출된 우 시프트 결과(r'Y(x, y)>>delta_bitdepth)에, 도 13의 스텝 S228의 처리에 의해 취득된 가중 계수 α를 승산한다(α×(r'Y(x, y)>>delta_bitdepth)).
스텝 S253에 있어서, 우 시프트부(265)는, 스텝 S252에 있어서 산출된 승산 결과(α×(r'Y(x, y)>>delta_bitdepth))를 3비트 우 시프트한다(α×(r'Y(x, y)>>delta_bitdepth)>>3).
스텝 S254에 있어서, 연산부(266)는, 복원된 색차 성분 Cr의 예측 잔차 데이터(Δr'Cr(x, y))에, 스텝 S253에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)>>delta_bitdepth)>>3)를 가산함으로써(Δr'Cr(x, y)+α×(r'Y(x, y)>>delta_bitdepth)>>3), 색차 성분 Cr의 잔차 데이터를 복원한다(r'Cr(x, y)). 또한, 연산부(267)는, 복원된 색차 성분 Cb의 예측 잔차 데이터(Δr'Cb(x, y))에, 스텝 S253에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)>>delta_bitdepth)>>3)를 가산함으로써(Δr'Cb(x, y)+α×(r'Y(x, y)>>delta_bitdepth)>>3), 색차 성분 Cb의 잔차 데이터를 복원한다(r'Cb(x, y)).
이상과 같이 색차 성분의 잔차 데이터가 복원되면(r'Cr(x, y) 및 r'Cb(x, y)), 잔차 데이터 복원 처리가 종료되고, 처리는 도 13으로 되돌아간다.
<잔차 데이터 복원 처리의 흐름>
다음으로, 잔차 복원 처리의 스텝 S232에 있어서 실행되는 잔차 데이터 복원 처리의 흐름의 예를, 도 16의 흐름도를 참조하여 설명한다.
잔차 데이터 복원 처리가 개시되면, 스텝 S261에 있어서, 복원부(242)의 좌 시프트부(263)는, 복원된 휘도 성분의 잔차 데이터(r'Y(x, y))를 도 13의 스텝 S221의 처리에 의해 산출된 잔차 데이터의 비트 심도차(-delta_bitdepth)만큼, 좌 시프트한다(r'Y(x, y)<<-delta_bitdepth).
스텝 S262에 있어서, 가중 계수 승산부(264)는, 스텝 S261에 있어서 산출된 좌 시프트 결과(r'Y(x, y)<<-delta_bitdepth)에, 도 13의 스텝 S231의 처리에 의해 취득된 가중 계수 α를 승산한다(α×(r'Y(x, y)<<-delta_bitdepth)).
스텝 S263에 있어서, 우 시프트부(265)는, 스텝 S262에 있어서 산출된 승산 결과(α×(r'Y(x, y)<<-delta_bitdepth))를 3비트 우 시프트한다(α×(r'Y(x, y)<<-delta_bitdepth)>>3).
스텝 S264에 있어서, 연산부(266)는, 복원된 색차 성분 Cr의 예측 잔차 데이터(Δr'Cr(x, y))에, 스텝 S263에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y) <<-delta_bitdepth)>>3)를 가산함으로써(Δr'Cr(x, y)+α×(r'Y(x, y)<<-delta_bitdepth)>>3), 색차 성분 Cr의 잔차 데이터를 복원한다(r'Cr(x, y)). 또한, 연산부(267)는, 복원된 색차 성분 Cb의 예측 잔차 데이터(Δr'Cb(x, y))에, 스텝 S263에 있어서 산출된 우 시프트 결과(α×(r'Y(x, y)<<-delta_bitdepth)>>3)를 가산함으로써 (Δr'Cb(x, y)+α×(r'Y(x, y)<<-delta_bitdepth)>>3), 색차 성분 Cb의 잔차 데이터를 복원한다(r'Cb(x, y)).
이상과 같이 색차 성분의 잔차 데이터가 복원되면 (r'Cr(x, y) 및 r'Cb(x, y)), 잔차 데이터 복원 처리가 종료되고, 처리는 도 13으로 되돌아간다.
이상과 같이 각 처리를 실행함으로써, 잔차 복원부(222)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우라도, 잔차 데이터를 정확하게 복원할 수 있다. 따라서, 화상 복호 장치(200)는, 부호화 효율의 저감을 억제할 수 있다.
이상에 있어서는, 잔차 데이터의 비트 심도를 매칭할 때, 휘도 성분의 비트 심도를 비트 시프트해서 색차 성분에 매칭하도록 설명하였지만, 이와 같은 비트 심도의 스케일링에 있어서, 어느 컴포넌트를 기준으로 할지는 임의이다. 예를 들어, 색차 성분의 비트 심도를 스케일링하도록 해도 된다. 단, 일반적으로, 정보량이 많은(비트 심도가 깊은) 컴포넌트를 스케일링하는 쪽이, 예측 정밀도를 향상시켜서, 부호화 효율을 향상시킬 수 있으므로 바람직하다. 전술한 바와 같은 YUV의 색 공간인 경우, 일반적으로 휘도 성분의 쪽이 중요하며 정보량이 크다. 따라서, 휘도 성분의 비트 심도를 스케일링하는 쪽이 바람직하다.
또한, 이상에 있어서는, YUV 색 공간의 화상을 부호화·복호하는 경우에 대해 설명하였지만, 화상의 색 공간은 임의이며, 또한 어느 컴포넌트 간에서 예측을 행하도록 해도 된다. 예를 들어, 화상의 색 공간이 RGB인 경우라도, 전술한 YUV의 경우와 마찬가지로, 비트 심도의 스케일링을 사용해서 잔차 예측·잔차 복호를 행할 수 있다.
<2. 제2 실시 형태>
<잔차 예측의 금지>
또한, 잔차 예측·잔차 복호의 제어 방법은, 전술한 예로 한정되지 않는다. 예를 들어, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우, 잔차 예측을 금지하도록(예측 잔차 데이터를 산출하지 않도록) 해도 된다. 보다 구체적으로는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 사용하여, 잔차 예측이 행해지지 않도록 제어하도록 해도 된다. 예를 들어, 그 경우, luma_chroma_prediction_enabled_flag의 값을 0으로 하도록 해도 된다. 이와 같이 함으로써, 그 정보에 대응하는 픽처에 있어서는, 잔차 예측이 금지된다(당연히, 잔차 복원도 행해지지 않게 됨). 따라서, 부정확한 잔차 예측·잔차 복원을 행하지 않도록 할 수 있다. 즉, 부정확한 잔차 예측·잔차 복원에 의한 부호화 효율의 저감을 억제할 수 있다. 또한, 비트 심도의 스케일링 등의 처리를 생략할 수 있으므로, 처리의 부하 증대를 억제할 수 있다.
<시맨틱스>
이상과 같은 제어를 행하기 위해서는, 시맨틱스를 도 17의 예와 같은 기술로 하면 된다. 도 17에 도시한 시맨틱스의 밑줄을 친 부분이, 전술한 잔차 예측·잔차 복호의 실행 제어에 상당하는 기술이다.
<헤더 처리부 및 잔차 예측부>
이 경우에도, 화상 부호화 장치(100)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 18은, 이 경우의 헤더 처리부(121) 및 잔차 예측부(122)의 주된 구성예를 나타내는 블록도이다. 도 18에 도시된 바와 같이, 이 경우, 잔차 예측부(122)는, 제1 실시 형태의 경우와 비교하여, 제어부(141) 대신에 제어부(311)를 갖고, 예측부(142) 대신에 예측부(312)를 갖는다.
제어부(311)는, 기본적으로 제어부(141)와 마찬가지의 처리를 행한다. 제어부(141)의 구성과 비교하여, 제어부(311)는, 비트 심도차 산출부(151) 대신에 비트 심도차 산출부(321)를 갖고, 비트 시프트 제어부(152) 대신에 비트 시프트 제어부(322)를 갖고, 또한 제어부(141)의 경우와 마찬가지로, 가중 계수 설정부(153)를 갖는다.
비트 심도차 산출부(321)는, 비트 심도차 산출부(151)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(321)는, 비트 심도차 산출부(151)의 경우와 달리, 산출한 컴포넌트 간의 비트 심도차(delta_bitdepth)를 예측부(312)에 공급하지 않는다.
비트 시프트 제어부(322)는, 비트 시프트 제어부(152)의 경우와 마찬가지로, 예측부(312)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(322)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우, 잔차 예측을 금지한다(예측 잔차 데이터를 산출하지 않는다).
즉 이 실시 형태의 예의 경우, 비트 심도의 스케일링, 즉 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트는 행해지지 않으므로, 예측부(312)는, 예측부(142)의 구성과 비교하여, 우 시프트부(162) 및 좌 시프트부(163)가 생략된다.
<잔차 예측 처리의 흐름>
이 실시 형태의 경우, 부호화 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 19의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 예측 처리의 흐름의 예를 설명한다.
도 19의 예의 경우도, 잔차 예측 처리가 개시되면, 스텝 S301에 있어서, 비트 심도차 산출부(321)는, 잔차 예측을 행하는 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(321)는, 수학식 4의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S302에 있어서, 비트 시프트 제어부(322)는, 스텝 S301에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S303으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 예측은, 수학식 3과 같이 행해진다.
즉, 스텝 S303 내지 스텝 S305의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S123 내지 스텝 S125의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S305의 처리가 종료되거나, 스텝 S303에 있어서, 잔차 예측을 행하지 않았다고 판정된 경우, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S302에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S306으로 진행된다.
스텝 S306에 있어서, 비트 시프트 제어부(322)는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)의 값을, 잔차 예측(잔차 복원)이 행해지지 않는(금지하는) 것을 나타내는 값으로 설정한다. 예를 들어, 비트 시프트 제어부(322)가 luma_chroma_prediction_enabled_flag의 값을 0으로 하도록 해도 된다.
스텝 S306의 처리가 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이하며, 잔차 예측을 정확하게 행할 수 없는 경우에, 그 잔차 예측을 행하지 않도록 할 수 있다. 따라서, 항상, 예측 잔차 데이터를 정확하게 산출할 수 있게 되어, 화상 부호화 장치(100)는, 부정확한 잔차 예측에 의한 부호화 효율의 저감을 억제할 수 있다. 또한, 비트 심도의 스케일링이 불필요해지므로, 처리의 부하 증대를 억제할 수 있다.
<헤더 취득부 및 잔차 복원부>
이 경우에도, 화상 복호 장치(200)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 20은, 이 경우의 헤더 취득부(221) 및 잔차 복원부(222)의 주된 구성예를 나타내는 블록도이다. 도 20에 도시된 바와 같이, 이 경우, 잔차 복원부(222)는, 제1 실시 형태의 경우와 비교하여, 제어부(241) 대신에 제어부(351)를 갖고, 복원부(242) 대신에 복원부(352)를 갖는다.
제어부(351)는, 기본적으로 제어부(241)와 마찬가지의 처리를 행한다. 제어부(241)의 구성과 비교하여, 제어부(351)는 비트 심도차 산출부(251) 대신에 비트 심도차 산출부(361)를 갖고, 비트 시프트 제어부(252) 대신에 비트 시프트 제어부(362)를 갖는다.
비트 심도차 산출부(361)는, 비트 심도차 산출부(251)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(361)는, 비트 심도차 산출부(251)의 경우와 달리, 산출한 컴포넌트 간의 비트 심도차(delta_bitdepth)를 복원부(352)에 공급하지 않는다.
비트 시프트 제어부(362)는, 비트 시프트 제어부(252)의 경우와 마찬가지로, 복원부(352)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(362)는, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이한 경우, 잔차 복원을 금지로 한다(색차 성분의 잔차 데이터를 복원하지 않음).
즉 이 실시 형태의 예의 경우, 비트 심도의 스케일링, 즉, 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트는 행해지지 않으므로, 복원부(352)는, 복원부(242)의 구성과 비교하여, 우 시프트부(262) 및 좌 시프트부(263)가 생략된다.
<잔차 복원 처리의 흐름>
이 실시 형태의 경우, 복호 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 21의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 복원 처리의 흐름의 예를 설명한다.
도 21의 예의 경우에도, 잔차 복원 처리가 개시되면, 스텝 S321에 있어서, 비트 심도차 산출부(361)는, 잔차 예측이 행해진 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(361)는, 수학식 10의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S322에 있어서, 비트 시프트 제어부(362)는, 스텝 S321에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S323으로 진행한다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 복원은, 수학식 9와 같이 행해진다.
즉, 스텝 S323 내지 스텝 S325의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S223 내지 스텝 S225의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S325의 처리가 종료하거나, 스텝 S323에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 잔차 복원 처리가 종료되고, 처리는, 도 12로 되돌아간다.
또한, 스텝 S322에 있어서, 스텝 S321에 있어서 산출된 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우도, 비트 심도의 스케일링은 행해지지 않고, 잔차 복원이 생략된다. 따라서, 이 경우도 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이하고, 잔차 예측을 정확하게 행할 수 없는 경우에, 그 잔차 예측을 행하지 않도록 하고, 그에 따라서 잔차 복원도 행하지 않도록 할 수 있다. 따라서, 항상 잔차 데이터를 정확하게 복원할 수 있게 되어, 화상 복호 장치(200)는, 부정확한 잔차 복원에 의한 부호화 효율의 저감을 억제할 수 있다. 또한, 비트 심도의 스케일링이 불필요해지므로, 처리의 부하 증대를 억제할 수 있다.
<3. 제3 실시 형태>
<비트 심도의 스케일링과 잔차 예측의 금지 병용>
또한, 잔차 예측·잔차 복호의 제어 방법은, 전술한 예로 한정되지 않는다. 예를 들어, 잔차 데이터의 비트 심도가 컴포넌트 간에서 상이하며, 또한 산출된 컴포넌트 간의 비트 심도의 차가 정인 경우만, 비트 심도의 스케일링을 행하고, 산출된 컴포넌트 간의 비트 심도의 차가 부인 경우에는, 잔차 예측을 금지하도록(예측 잔차 데이터를 산출하지 않도록) 해도 된다.
보다 구체적으로는, 예를 들어 휘도 성분의 잔차 데이터의 비트 심도가 색차 성분의 잔차 데이터의 비트 심도보다 큰 경우, 우 시프트에 의한 비트 심도의 스케일링에 의해, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 잔차 예측을 행하고, 휘도 성분의 잔차 데이터의 비트 심도가 색차 성분의 잔차 데이터의 비트 심도보다 작은 경우, 잔차 예측을 금지하도록(예측 잔차 데이터를 산출하지 않도록) 해도 된다.
전술한 바와 같이, 화상의 성질상, 휘도 성분의 쪽이 색차 성분보다 중요하며, 휘도 성분의 잔차 데이터의 비트 심도가 색차 성분의 잔차 데이터의 비트 심도 이상으로 되는 것이 일반적이다. 반대로, 색차 성분의 쪽이 휘도 성분보다도 비트 심도가 큰 경우는 드물다. 즉, 굳이 화상의 성질에 역행해서까지, 색차 성분의 쪽이 비트 심도가 크게 설정되어 있는 경우, 그 화상에는, 화상의 성질을 초과한 제작자의 어떠한 의도가 포함되어 있을 가능성이 높아, 그로 인해, 일반적인 화상에 적합한 처리인 잔차 예측의 예측 정밀도가 저감되기 쉬워질 가능성도 생각된다. 즉, 부호화 효율이 저감하기 쉬워지는 가능성이 있다.
따라서, 예측 정밀도가 높은 것이 기대되는, 휘도 성분의 쪽이 색차 성분보다도 비트 심도가 큰 경우에는, 잔차 예측(잔차 복원)을 실행 가능하게 하고, 또한 정확하게 예측(복원)을 행할 수 있도록, 우 시프트에 의한 비트 심도의 스케일링에 의해, 잔차 데이터의 비트 심도를 컴포넌트 간에서 매칭하여 잔차 예측을 행하도록 해도 된다. 그리고, 예측 정밀도가 저감될 가능성이 있는, 색차 성분의 쪽이 휘도 성분보다도 비트 심도가 큰 경우에는, 잔차 예측(잔차 복원)을 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 사용하여, 잔차 예측이 행해지지 않도록 제어하도록 해도 된다.
이와 같이 함으로써, 잔차 예측을 행함에 따른 충분한 효과가 얻어지는(충분히 부호화 효율을 향상시킬 수 있는) 경우에만, 잔차 예측·잔차 복호를 실행하도록 할 수 있다. 따라서, 불필요한 잔차 예측·잔차 복호를 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<시맨틱스>
이상과 같은 제어를 행하기 위해서는, 시맨틱스를 도 22의 예와 같은 기술로 하면 된다. 도 22에 도시한 시맨틱스의 밑줄을 친 부분이, 전술한 잔차 예측·잔차 복호의 실행 제어에 상당하는 기술이다.
<헤더 처리부 및 잔차 예측부>
이 경우도, 화상 부호화 장치(100)는 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 23은, 이 경우의 헤더 처리부(121) 및 잔차 예측부(122)의 주된 구성예를 나타내는 블록도이다. 도 23에 도시된 바와 같이, 이 경우, 잔차 예측부(122)는, 제1 실시 형태의 경우와 비교하여, 제어부(141) 대신에 제어부(411)를 갖고, 예측부(142) 대신에 예측부(412)를 갖는다.
제어부(411)는, 기본적으로 제어부(141)와 마찬가지의 처리를 행한다. 제어부(141)의 구성과 비교하여, 제어부(411)는, 비트 심도차 산출부(151) 대신에 비트 심도차 산출부(421)를 갖고, 비트 시프트 제어부(152) 대신에 비트 시프트 제어부(422)를 갖고, 또한 제어부(141)의 경우와 마찬가지로, 가중 계수 설정부(153)를 갖는다.
비트 심도차 산출부(421)는, 비트 심도차 산출부(151)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(421)는, 비트 심도차 산출부(151)의 경우와 달리, 산출한 컴포넌트 간의 비트 심도차(delta_bitdepth)를 좌 시프트부(163)에 공급하지 않는다(예측부(412)도 좌 시프트부(163)를 갖지 않음).
비트 시프트 제어부(422)는, 비트 시프트 제어부(152)의 경우와 마찬가지로, 예측부(412)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(422)는, 비트 심도차 산출부(421)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 0인 경우, 예측부(412)에 비트 심도의 스케일링을 행하지 않고 예측 잔차 데이터를 산출시키고, 비트 심도차 산출부(421)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 정인 경우, 예측부(412)에 비트 심도의 스케일링을 행하게 해서 예측 잔차 데이터를 산출시킨다. 이에 반하여, 비트 심도차 산출부(421)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부인 경우, 비트 시프트 제어부(422)는, 예측부(412)를 제어하고, 잔차 예측을 금지한다(예측 잔차 데이터를 산출시키지 않도록 함).
즉 이 실시 형태의 예의 경우, 비트 심도차 산출부(421)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부일 때는, 비트 심도의 스케일링, 즉 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트가 행해지지 않으므로, 예측부(412)는, 예측부(142)의 구성과 비교하여, 좌 시프트부(163)가 생략된다.
<잔차 예측 처리의 흐름>
이 실시 형태의 경우, 부호화 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 24의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 예측 처리의 흐름의 예를 설명한다.
도 24의 예의 경우도, 잔차 예측 처리가 개시되면, 스텝 S401에 있어서, 비트 심도차 산출부(421)는, 잔차 예측을 행하는 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(421)는, 수학식 4의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S402에 있어서, 비트 시프트 제어부(422)는 스텝 S401에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S403으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 예측은, 수학식 3과 같이 행해진다.
즉, 스텝 S403 내지 스텝 S405의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S123 내지 스텝 S125의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S405의 처리가 종료되거나, 스텝 S403에 있어서, 잔차 예측을 행하지 않았다고 판정된 경우, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S402에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S406으로 진행된다.
스텝 S406에 있어서, 비트 시프트 제어부(422)는, 스텝 S401에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S407로 진행된다. 이 경우, 잔차 예측은, 수학식 6과 같이 행해진다(우 시프트에 의한 스케일링이 행해짐).
즉, 스텝 S407 내지 스텝 S409의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S127 내지 스텝 S129의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S409의 처리가 종료되거나, 스텝 S407에 있어서, 잔차 예측을 행하지 않았다고 판정된 경우, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S406에 있어서, 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우, 처리는, 스텝 S410으로 진행된다.
스텝 S410에 있어서, 비트 시프트 제어부(422)는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)의 값을, 잔차 예측(잔차 복원)이 행해지지 않는(금지하는) 것을 나타내는 값으로 설정한다. 예를 들어, 비트 시프트 제어부(422)가 luma_chroma_prediction_enabled_flag의 값을 0으로 하도록 해도 된다.
스텝 S410의 처리가 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 컴포넌트 간의 비트 심도차가 부이며, 즉 휘도 성분보다 색차 성분의 쪽이 비트 심도가 커서, 잔차 예측을 행해도 충분한 효과를 얻지 못할(충분히 부호화 효율을 향상시킬 수 없을) 가능성이 있는 경우, 그 잔차 예측을 행하지 않도록 할 수 있다. 따라서, 화상 부호화 장치(100)는, 불필요한 잔차 예측을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<헤더 취득부 및 잔차 복원부>
이 경우도, 화상 복호 장치(200)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 25는, 이 경우의 헤더 취득부(221) 및 잔차 복원부(222)의 주된 구성예를 나타내는 블록도이다. 도 25에 도시된 바와 같이, 이 경우, 잔차 복원부(222)는, 제1 실시 형태의 경우와 비교하여, 제어부(241) 대신에 제어부(451)를 갖고, 복원부(242) 대신에 복원부(452)를 갖는다.
제어부(451)는, 기본적으로 제어부(241)와 마찬가지의 처리를 행한다. 제어부(241)의 구성과 비교하여, 제어부(451)는 비트 심도차 산출부(251) 대신에 비트 심도차 산출부(461)를 갖고, 비트 시프트 제어부(252) 대신에 비트 시프트 제어부(462)를 갖는다.
비트 심도차 산출부(461)는, 비트 심도차 산출부(251)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(461)는, 비트 심도차 산출부(251)의 경우와 달리, 산출된 컴포넌트 간의 비트 심도차(delta_bitdepth)를 좌 시프트부(263)에 공급하지 않는다(복원부(452)도 좌 시프트부(263)를 갖지 않음).
비트 시프트 제어부(462)는, 비트 시프트 제어부(252)의 경우와 마찬가지로, 복원부(452)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(462)는, 비트 심도차 산출부(461)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 0인 경우, 복원부(452)에 비트 심도의 스케일링을 행하지 않고 잔차 데이터를 복원시키고, 비트 심도차 산출부(461)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 정인 경우, 복원부(452)에 비트 심도의 스케일링을 행하게 해서 잔차 데이터를 복원시킨다. 이에 반하여, 비트 심도차 산출부(461)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부인 경우, 비트 시프트 제어부(462)는, 복원부(452)를 제어하고, 잔차 복원을 생략한다(잔차 데이터의 복원을 생략함).
즉 이 실시 형태의 예의 경우, 비트 심도차 산출부(461)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부일 때는, 비트 심도의 스케일링, 즉 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트가 행해지지 않으므로, 복원부(452)는, 복원부(242)의 구성과 비교하여, 좌 시프트부(263)가 생략된다.
<잔차 복원 처리의 흐름>
이 실시 형태의 경우, 복호 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 26의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 복원 처리의 흐름의 예를 설명한다.
도 26의 예의 경우도, 잔차 복원 처리가 개시되면, 스텝 S421에 있어서, 비트 심도차 산출부(461)는, 잔차 예측이 행해진 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(461)는, 수학식 10의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S422에 있어서, 비트 시프트 제어부(462)는, 스텝 S421에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S423으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 복원은, 수학식 9와 같이 행해진다.
즉, 스텝 S423 내지 스텝 S425의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S223 내지 스텝 S225의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S425의 처리가 종료되거나, 스텝 S423에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 잔차 복원 처리가 종료되고, 처리는, 도 12로 되돌아간다.
또한, 스텝 S422에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S426으로 진행된다.
스텝 S426에 있어서, 비트 시프트 제어부(462)는, 스텝 S421에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S427로 진행된다. 이 경우, 잔차 예측은, 수학식 12와 같이 행해진다(우 시프트에 의한 스케일링이 행해짐).
즉, 스텝 S427 내지 스텝 S429의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S227 내지 스텝 S229의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S429의 처리가 종료되거나, 스텝 S427에 있어서, 잔차 예측이 행해지지 않았다고 판정된 경우, 잔차 복원 처리가 종료되고, 처리는, 도 12로 되돌아간다.
또한, 스텝 S426에 있어서, 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우도, 비트 심도의 스케일링은 행해지지 않고, 잔차 복원이 생략된다. 따라서, 이 경우도 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 컴포넌트 간의 비트 심도차가 부이며, 즉 휘도 성분보다 색차 성분 쪽이 비트 심도가 커서, 잔차 예측을 행해도 충분한 효과를 얻지 못할(충분히 부호화 효율을 향상시킬 수 없을) 가능성이 있는 경우, 그 잔차 예측을 행하지 않도록 하고, 그에 따라 잔차 복원도 행하지 않도록 할 수 있다. 따라서, 화상 복호 장치(200)는, 불필요한 잔차 복원을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<4. 제4 실시 형태>
<화상의 색 공간에 의한 잔차 예측 제어>
또한, 잔차 예측·잔차 복호의 제어 방법은, 전술한 예로 한정되지 않는다. 예를 들어, 화상의 색 공간에 따라서 잔차 예측·잔차 복호를 행할지 여부를 제어하도록 해도 된다. 예를 들어, 기본적으로 제3 실시 형태에서 설명한 것과 마찬가지로 잔차 예측·잔차 복호의 실행을 제어하고, 또한 부호화·복호 대상의 화상 색 공간이 RGB인 경우, 잔차 예측·잔차 복호를 금지하도록 해도 된다.
일반적으로, YUV의 경우, 휘도 성분은 색차 성분보다도 정보로서 중요한 경우가 많아,정보량이 많은(비트 심도가 큰) 케이스도 생각된다. 이에 반하여, RGB의 경우, 각 컴포넌트의 정보로서의 중요성은 서로 동일하며, 정보량(비트 심도)도 서로 동일하게 되는 경우가 많다. G 성분이 R 성분이나 B 성분보다도 정보로서 중요하게 되는 경우도 생각되지만, 정보량(비트 심도)에 차가 발생하는 케이스는 드물다.
환언하자면, 화상의 색 공간이 RGB로서, 각 컴포넌트의 정보량(비트 심도)이 균일하지 않도록 하는 경우, 그 화상에는, 화상의 성질을 뛰어넘은 제작자의 어떠한 의도가 포함되어 있을 가능성이 높아, 그로 인해, 일반적인 화상에 적합한 처리인 잔차 예측의 예측 정밀도가 저감되기 쉬워질 가능성도 생각된다. 즉, 부호화 효율이 저감되기 쉬워질 가능성이 있다.
따라서, 화상이 YUV와 같은 예측 정밀도가 높은 것이 기대되는 색 공간의 경우만, 잔차 예측(잔차 복원)을 실행 가능하게 하고, 화상이 RGB와 같이 예측 정밀도가 저감되기 쉬운 색 공간인 경우에는, 픽처 파라미터 세트(PPS)에 포함되는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)를 이용하여, 잔차 예측(잔차 복원)이 행해지지 않도록 제어하도록 해도 된다.
이와 같이 함으로써, 잔차 예측을 행함에 따른 충분한 효과가 얻어지는(충분히 부호화 효율을 향상시킬 수 있는) 색 공간의 경우만, 잔차 예측·잔차 복호를 실행하도록 할 수 있다. 따라서, 불필요한 잔차 예측·잔차 복호를 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<시맨틱스>
이상과 같은 제어를 행하기 위해서는, 시맨틱스를 도 27의 예와 같은 기술로 하면 된다. 도 27에 도시한 시맨틱스의 밑줄을 친 부분이, 전술한 잔차 예측·잔차 복호의 실행 제어에 상당하는 기술이다.
<헤더 처리부 및 잔차 예측부>
이 경우도, 화상 부호화 장치(100)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 28은, 이 경우의 헤더 처리부(121) 및 잔차 예측부(122)의 주된 구성예를 나타내는 블록도이다. 도 28에 도시된 바와 같이, 이 경우, 헤더 처리부(121)는 제1 실시 형태의 경우와 비교하여, VUI(Video Userbility Information) 처리부(501)를 더 갖는다. 또한, 잔차 예측부(122)는 제1 실시 형태의 경우와 비교하여, 제어부(141) 대신에 제어부(511)를 갖고, 예측부(142) 대신에 예측부(412)를 갖는다.
VUI 처리부(501)는, VUI(Video Userbility Information)의 생성에 관한 처리를 행한다. VUI는, 비디오의 표시에 관한 데이터이며, 비디오 파라미터 세트(VPS)나 시퀀스 파라미터 세트(SPS)에 저장된다. 또한, VUI 처리부(501)는, 예를 들어, 그와 같은 VUI에 포함되는, 화상의 색 공간을 나타내는 정보(matrix_coffs)를 잔차 예측부(122)(후술하는 색 공간 판정부(523))에 공급한다. matrix_coffs는, RGB로부터 휘도·색차로의 변환 행렬을 나타내는 정보이다. 환언하자면, matrix_coffs=0의 경우, 화상의 색 공간이 sRGB인 것을 나타낸다.
제어부(511)는, 기본적으로 제어부(141)와 마찬가지의 처리를 행한다. 제어부(141)의 구성과 비교하여, 제어부(511)는, 비트 심도차 산출부(151) 대신에 비트 심도차 산출부(521)를 갖고, 비트 시프트 제어부(152) 대신에 비트 시프트 제어부(522)를 갖고, 또한 제어부(141)의 경우와 마찬가지로, 가중 계수 설정부(153)를 갖는다. 또한, 제어부(511)는, 색 공간 판정부(523)를 갖는다.
비트 심도차 산출부(521)는, 비트 심도차 산출부(151)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(521)는 비트 심도차 산출부(151)의 경우와 달리, 산출한 컴포넌트 간의 비트 심도차(delta_bitdepth)를 좌 시프트부(163)에 공급하지 않는다(예측부(412)도 좌 시프트부(163)를 갖지 않음).
비트 시프트 제어부(522)는, 비트 시프트 제어부(152)의 경우와 마찬가지로, 예측부(412)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(522)는 비트 심도차 산출부(521)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 0인 경우, 예측부(412)에 비트 심도의 스케일링을 행하지 않고 예측 잔차 데이터를 산출시키고, 비트 심도차 산출부(521)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 정인 경우, 예측부(412)에 비트 심도의 스케일링을 행하게 해서 예측 잔차 데이터를 산출시킨다. 이에 반하여, 비트 심도차 산출부(521)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부인 경우, 비트 시프트 제어부(522)는, 예측부(412)를 제어하고, 잔차 예측을 금지한다(예측 잔차 데이터를 산출시키지 않도록 함).
또한, 비트 시프트 제어부(522)는, 색 공간 판정부(523)에 의한 화상의 색 공간 판정 결과에 따라서, 예측부(412)에 의한 연산을 제어한다. 예를 들어, 색 공간 판정부(523)에 의해 화상의 색 공간이 RGB라고 판정된 경우, 비트 시프트 제어부(522)는, 예측부(412)를 제어하고, 잔차 예측을 금지한다(예측 잔차 데이터를 산출시키지 않도록 함).
색 공간 판정부(523)는, VUI 처리부(501)로부터 공급되는 화상의 색 공간을 나타내는 정보(matrix_coffs)를 참조하여, 화상의 색 공간을 판정한다. 예를 들어, matrix_coffs=0인 경우, 색 공간 판정부(523)는, 화상의 색 공간이 RGB라고 판정한다.
즉 이 실시 형태의 예의 경우, 제3 실시 형태의 경우와 마찬가지로, 비트 심도차 산출부(421)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부일 때는, 비트 심도의 스케일링, 즉 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트가 행해지지 않는다. 따라서, 예측부(412)는, 제3 실시 형태에 있어서 설명한 바와 같이, 예측부(142)의 구성과 비교하여, 좌 시프트부(163)가 생략된다.
<잔차 예측 처리의 흐름>
이 실시 형태의 경우, 부호화 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 29의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 예측 처리의 흐름의 예를 설명한다.
도 29의 예의 경우도, 잔차 예측 처리가 개시되면, 스텝 S501에 있어서, 비트 심도차 산출부(521)는, 잔차 예측을 행하는 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(521)는, 수학식 4의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S502에 있어서, 비트 시프트 제어부(522)는, 스텝 S501에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는, 스텝 S503으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 예측은, 수학식 3과 같이 행해진다.
즉, 스텝 S503 내지 스텝 S505의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S123 내지 스텝 S125의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S505의 처리가 종료되거나, 스텝 S503에 있어서, 잔차 예측을 행하지 않았다고 판정된 경우, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S502에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S506으로 진행된다.
스텝 S506에 있어서, 색 공간 판정부(523)는, VUI 처리부(501)로부터 취득한 화상의 색 공간을 나타내는 정보(matrix_coffs)에 기초하여, 화상의 색 공간이 RGB인지 여부를 판정한다. RGB가 아니라고 판정된 경우, 처리는, 스텝 S507로 진행된다.
스텝 S507에 있어서, 비트 시프트 제어부(522)는, 스텝 S501에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S508로 진행된다. 이 경우, 잔차 예측은, 수학식 6과 같이 행해진다(우 시프트에 의한 스케일링이 행해짐).
즉, 스텝 S508 내지 스텝 S510의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S127 내지 스텝 S129의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S510의 처리가 종료되거나, 스텝 S508에 있어서, 잔차 예측을 행하지 않았다고 판정된 경우, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
또한, 스텝 S506에 있어서 색 공간이 RGB라고 판정되거나, 스텝 S507에 있어서 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우, 처리는 스텝 S511로 진행된다.
스텝 S511에 있어서, 비트 시프트 제어부(522)는, 잔차 예측을 행할지 여부를 제어하는 정보(예를 들어 luma_chroma_prediction_enabled_flag)의 값을, 잔차 예측(잔차 복원)이 행해지지 않는(금지하는) 것을 나타내는 값으로 설정한다. 예를 들어, 비트 시프트 제어부(522)가 luma_chroma_prediction_enabled_flag의 값을 0으로 하도록 해도 된다.
스텝 S511의 처리가 종료되면, 잔차 예측 처리가 종료되고, 처리는 도 5로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 컴포넌트 간의 비트 심도차가 부이며, 즉 휘도 성분보다 색차 성분의 쪽이 비트 심도가 커서, 잔차 예측을 행해도 충분한 효과를 얻지 못할(충분히 부호화 효율을 향상시킬 수 없을) 가능성이 있는 경우, 그 잔차 예측을 행하지 않도록 할 수 있다. 또한, 잔차 예측을 행함에 따른 충분한 효과가 얻어지는(충분히 부호화 효율을 향상시킬 수 있는) 색 공간의 경우만, 잔차 예측을 실행하도록 할 수 있다. 따라서, 화상 부호화 장치(100)는, 불필요한 잔차 예측을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<헤더 취득부 및 잔차 복원부>
이 경우도, 화상 복호 장치(200)는, 제1 실시 형태의 경우와 기본적으로 마찬가지의 구성을 갖도록 할 수 있다.
도 30은, 이 경우의 헤더 취득부(221) 및 잔차 복원부(222)의 주된 구성예를 나타내는 블록도이다. 도 30에 도시된 바와 같이, 이 경우, 헤더 취득부(221)는, 제1 실시 형태의 경우와 비교하여, VUI 취득부(541)를 더 갖는다. 또한, 잔차 복원부(222)는, 제1 실시 형태의 경우와 비교하여, 제어부(241) 대신에 제어부(551)를 갖고, 복원부(242) 대신에 복원부(452)를 갖는다.
VUI 취득부(541)는, 부호화측으로부터 공급된 비디오 파라미터 세트(VPS)나 시퀀스 파라미터 세트(SPS)로부터, 비디오의 표시에 관한 데이터인 VUI를 취득하고, 그 VUI에 포함되는 화상의 색 공간을 나타내는 정보(matrix_coffs)를 취득하여, 잔차 복원부(222)(후술하는 색 공간 판정부(563))에 공급한다.
제어부(551)는, 기본적으로 제어부(241)와 마찬가지의 처리를 행한다. 제어부(241)의 구성과 비교하여, 제어부(551)는, 비트 심도차 산출부(251) 대신에 비트 심도차 산출부(561)를 갖고, 비트 시프트 제어부(252) 대신에 비트 시프트 제어부(562)를 갖는다. 또한, 제어부(551)는, 색 공간 판정부(563)를 갖는다.
비트 심도차 산출부(561)는, 비트 심도차 산출부(251)의 경우와 마찬가지로, 컴포넌트 간의 비트 심도차(delta_bitdepth)를 산출한다. 그러나, 비트 심도차 산출부(561)는, 비트 심도차 산출부(251)의 경우와 달리, 산출한 컴포넌트 간의 비트 심도차(delta_bitdepth)를 좌 시프트부(263)에 공급하지 않는다(복원부(452)도 좌 시프트부(263)를 갖지 않음).
비트 시프트 제어부(562)는, 비트 시프트 제어부(252)의 경우와 마찬가지로, 복원부(452)에 의한 연산을 제어한다. 단, 비트 시프트 제어부(562)는, 비트 심도차 산출부(561)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 0인 경우, 복원부(452)에 비트 심도의 스케일링을 행하지 않고 잔차 데이터를 복원시키고, 비트 심도차 산출부(561)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 정인 경우, 복원부(452)에 비트 심도의 스케일링을 행하게 해서 잔차 데이터를 복원시킨다. 이에 반하여, 비트 심도차 산출부(561)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부인 경우, 비트 시프트 제어부(562)는, 복원부(452)를 제어하고, 잔차 복원을 생략한다(잔차 데이터의 복원을 생략함).
또한, 비트 시프트 제어부(562)는, 색 공간 판정부(563)에 의한 화상의 색 공간 판정 결과에 따라서, 복원부(452)에 의한 연산을 제어한다. 예를 들어, 색 공간 판정부(563)에 의해 화상의 색 공간이 RGB라고 판정된 경우, 비트 시프트 제어부(562)는, 복원부(452)를 제어하고, 잔차 복원을 생략한다(잔차 데이터의 복원을 생략함).
색 공간 판정부(563)는, VUI 취득부(541)로부터 공급되는 화상의 색 공간을 나타내는 정보(matrix_coffs)를 참조하여, 화상의 색 공간을 판정한다. 예를 들어, matrix_coffs=0인 경우, 색 공간 판정부(563)는, 화상의 색 공간이 RGB라고 판정된다.
즉 이 실시 형태의 예의 경우, 제3 실시 형태의 경우와 마찬가지로, 비트 심도차 산출부(561)에 의해 산출되는 잔차 데이터의 컴포넌트 간 비트 심도차(delta_bitdepth)가 부일 때는, 비트 심도의 스케일링, 즉 컴포넌트 간에서 비트 심도를 매칭하기 위한 비트 시프트가 행해지지 않는다. 따라서, 복원부(452)는, 복원부(242)의 구성과 비교하여, 좌 시프트부(263)가 생략된다.
<잔차 복원 처리의 흐름>
이 실시 형태의 경우, 복호 처리는, 제1 실시 형태의 경우와 마찬가지로 실행된다. 도 31의 흐름도를 참조하여, 이 실시 형태의 경우, 잔차 복원 처리의 흐름의 예를 설명한다.
도 31의 예의 경우도, 잔차 복원 처리가 개시되면, 스텝 S521에 있어서, 비트 심도차 산출부(561)는, 잔차 예측이 행해진 컴포넌트 간의 비트 심도의 차분을 산출한다. 즉, 비트 심도차 산출부(561)는, 수학식 10의 연산을 행하고, 휘도 성분 (Y)와 색차 성분 (Cr 또는 Cb)의 비트 심도차(delta_bitdepth)를 산출한다. 색차 성분 (Cr)과 색차 성분 (Cb)에서 비트 심도차가 상이한 경우에는, 각각 비트 심도차(delta_bitdepth)를 산출한다.
스텝 S522에 있어서, 비트 시프트 제어부(562)는, 스텝 S521에 있어서 산출된 비트 심도차(delta_bitdepth)가 0인지 여부를 판정한다. 0이라고 판정된 경우, 처리는 스텝 S523으로 진행된다. 이 경우, 비트 시프트는 행해지지 않고, 잔차 복원은, 수학식 9와 같이 행해진다.
즉, 스텝 S523 내지 스텝 S525의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S223 내지 스텝 S225의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S525의 처리가 종료되거나, 스텝 S523에 있어서 잔차 예측이 행해지지 않았다고 판정된 경우, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S522에 있어서, 비트 심도차(delta_bitdepth)가 0이 아니라고 판정된 경우, 처리는 스텝 S526으로 진행된다.
스텝 S526에 있어서, 색 공간 판정부(563)는, VUI 취득부(541)로부터 취득한 화상의 색 공간을 나타내는 정보(matrix_coffs)에 기초하여, 화상의 색 공간이 RGB인지 여부를 판정한다. RGB가 아니라고 판정된 경우, 처리는 스텝 S527로 진행된다.
스텝 S527에 있어서, 비트 시프트 제어부(562)는, 스텝 S521에 있어서 산출된 비트 심도차(delta_bitdepth)가 정인지 여부를 판정한다. 정이라고 판정된 경우, 처리는 스텝 S528로 진행된다. 이 경우, 잔차 예측은, 수학식 12와 같이 행해진다(우 시프트에 의한 스케일링이 행해진다).
즉, 스텝 S528 내지 스텝 S530의 각 처리는, 제1 실시 형태의 잔차 예측 처리의 스텝 S227 내지 스텝 S229의 각 처리와 마찬가지로 실행된다. 그리고, 스텝 S530의 처리가 종료되거나, 스텝 S528에 있어서, 잔차 예측이 행해지지 않았다고 판정된 경우, 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
또한, 스텝 S526에 있어서 색 공간이 RGB라고 판정되거나, 스텝 S527에 있어서 비트 심도차(delta_bitdepth)가 정이 아니라고(부라고) 판정된 경우도, 비트 심도의 스케일링은 행해지지 않고, 잔차 복원이 생략된다. 따라서, 이 경우도 잔차 복원 처리가 종료되고, 처리는 도 12로 되돌아간다.
이와 같이 함으로써, 잔차 데이터의 컴포넌트 간의 비트 심도차가 부이며, 즉 휘도 성분보다 색차 성분의 쪽이 비트 심도가 커서, 잔차 예측을 행해도 충분한 효과를 얻지 못할(충분히 부호화 효율을 향상시킬 수 없을) 가능성이 있는 경우, 그 잔차 예측을 행하지 않도록 하고, 그에 따라 잔차 복원도 행하지 않도록 할 수 있다. 또한, 잔차 예측을 행함에 따른 충분한 효과가 얻어지는(충분히 부호화 효율을 향상시킬 수 있는) 색 공간의 경우만, 잔차 예측을 실행하도록 하고, 그에 따라 잔차 복원도 행하지 않도록 할 수 있다. 따라서, 화상 복호 장치(200)는, 불필요한 잔차 복원을 생략할 수 있으므로, 부호화 효율의 저감을 억제할 수 있음과 함께, 처리의 부하 증대를 억제할 수 있다.
<5. 제5 실시 형태>
<가중 계수의 공통화>
또한, 이상에 있어서는, 가중 계수 설정부(153)가 컴포넌트마다 독립적으로 가중 계수 α를 설정하도록 설명하였지만, 이것으로 한정되지 않고, 가중 계수 설정부(153)가 복수의 컴포넌트에 공통의 가중 계수 α를 설정하도록 해도 된다. 예를 들어, 가중 계수 설정부(153)가 색차 성분 Cr과 색차 성분 Cb의 양쪽에 공통의 가중 계수 α를 설정하도록 해도 된다.
<신택스와 시맨틱스>
도 32에, 가중 계수 α를 컴포넌트마다 독립적으로 설정하는 경우의, 가중 계수 α를 전송하는 TU의 신택스의 예를 나타낸다. 이 경우, 도 32의 사선 모양으로 나타내는 부분과 같이, 가중 계수 α를 전송하기 위한 조건 판정이, 색차 성분 Cr과 색차 성분 Cb의 각각에 대하여 행해지고, 색차 성분 Cr과 색차 성분 Cb의 각각에 대하여 가중 계수 α의 전송(luma_chroma_pred()의 호출)이 행해진다. 또한, 그 가중 계수 α의 전송에 있어서, 색차 성분(Chroma)의 컴포넌트 번호 (c)를 지정할 필요가 있다(예를 들어, luma_chroma_pred(x0, y0, c)의 "c". 도 32의 예에서는, c="0" or "1").
잔차 예측(Luma-chroma prediction)의 신택스의 예를 도 33에 나타내었다. 도 33에 도시된 바와 같이, 이 신택스에 있어서도, 색차 성분(Chroma)의 컴포넌트 번호 (c)를 지정할 필요가 있다.
또한, 시맨틱스의 예를 도 34 및 도 35에 나타내었다. 이들 도면에 도시된 바와 같이, 시맨틱스에 있어서도, 색차 성분(Chroma)의 컴포넌트 번호 (c)를 지정할 필요가 있다.
이에 반하여, 도 36에, 가중 계수 α를 공통화하는 경우의, 가중 계수 α를 전송하는 TU의 신택스의 예를 나타낸다. 이 경우, 도 36의 사선 모양으로 나타나는 부분과 같이, 가중 계수 α를 전송하기 위한 조건 판정과, 가중 계수 α의 전송(luma_chroma_pred()의 호출)은 1회 행하면 된다. 따라서, 이와 같이 함으로써, 화상 부호화 장치(100) 및 화상 복호 장치(200)의 부하를 저감시킬 수 있음과 함께, 전송하는 정보량을 저감시킬 수 있어, 부호화 효율을 향상시킬 수 있다. 또한, 색차 성분(Chroma)의 컴포넌트 번호 (c)의 지정이 불필요해지므로, 부호화 효율을 더 향상시킬 수 있다.
또한, 그 경우의 잔차 예측(Luma-chroma prediction)의 신택스의 예를 도 37에 나타내었다. 도 37에 도시된 바와 같이, 이 신택스에 있어서도, 색차 성분(Chroma)의 컴포넌트 번호 (c)의 지정이 불필요해지므로 부호화 효율을 더 향상시킬 수 있다.
또한, 그 경우의 시맨틱스 예를 도 38 및 도 39에 나타내었다. 이들 도면에 도시된 바와 같이, 시맨틱스에 있어서도, 색차 성분(Chroma)의 컴포넌트 번호 (c)의 지정이 불필요해진다. 따라서, 화상 부호화 장치(100) 및 화상 복호 장치(200)의 부하를 더 저감시킬 수 있다.
본 기술의 적용 범위는, 화상 데이터를 부호화·복호 가능한 모든 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다.
또한, 본 기술은, 예를 들어 MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷, 또는 휴대 전화기 등의 네트워크 미디어를 통해 수신할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은, 광, 자기디스크, 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다.
<6. 제6 실시 형태>
<다시점 화상 부호화·다시점 화상 복호에의 적용>
전술한 일련의 처리는, 다시점 화상 부호화·다시점 화상 복호에 적용할 수 있다. 도 40은, 다시점 화상 부호화 방식의 일례를 나타낸다.
도 40에 도시된 바와 같이, 다시점 화상은, 복수의 시점(뷰(view))의 화상을 포함한다. 이 다시점 화상의 복수의 뷰는, 다른 뷰의 정보를 이용하지 않고 자신의 뷰 화상만을 사용해서 부호화·복호를 행하는 베이스 뷰와, 다른 뷰의 정보를 이용해서 부호화·복호를 행하는 논베이스 뷰를 포함한다. 논베이스 뷰의 부호화·복호는, 베이스 뷰의 정보를 이용하도록 해도 되고, 다른 논베이스 뷰의 정보를 이용하도록 해도 된다.
도 40의 예와 같은 다시점 화상을 부호화·복호하는 경우, 각 시점의 화상을 부호화·복호하지만, 이 각 시점의 부호화·복호에 대하여, 제1 실시 형태 내지 제5 실시 형태에 있어서 전술한 방법을 적용하도록 해도 된다. 이와 같이 함으로써, 각 시점의 부호화 효율의 저감을 억제할 수 있다. 즉, 다시점 화상의 경우도 마찬가지로, 부호화 효율의 저감을 억제할 수 있다.
<다시점 화상 부호화 장치>
도 41은, 전술한 다시점 화상 부호화를 행하는 다시점 화상 부호화 장치를 나타내는 도면이다. 도 41에 도시된 바와 같이, 다시점 화상 부호화 장치(600)는, 부호화부(601), 부호화부(602), 및 다중화부(603)를 갖는다.
부호화부(601)는, 베이스 뷰 화상을 부호화하고, 베이스 뷰 화상 부호화 스트림을 생성한다. 부호화부(602)는, 논베이스 뷰 화상을 부호화하고, 논베이스 뷰 화상 부호화 스트림을 생성한다. 다중화부(603)는, 부호화부(601)에 있어서 생성된 베이스 뷰 화상 부호화 스트림과, 부호화부(602)에 있어서 생성된 논베이스 뷰 화상 부호화 스트림을 다중화하고, 다시점 화상 부호화 스트림을 생성한다.
예를 들어, 이와 같은 다시점 화상 부호화 장치(600)의 부호화부(601) 및 부호화부(602)로서, 전술한 화상 부호화 장치(100)를 적용하면 된다. 이와 같이 함으로써, 다시점 화상의 부호화에 있어서도, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법을 적용할 수 있다. 즉, 다시점 화상 부호화 장치(600)는, 다시점 화상의 부호화 데이터의 부호화 효율의 저감을 억제할 수 있다.
<다시점 화상 복호 장치>
도 42는, 전술한 다시점 화상 복호를 행하는 다시점 화상 복호 장치를 나타내는 도면이다. 도 42에 도시된 바와 같이, 다시점 화상 복호 장치(610)는, 역다중화부(611), 복호부(612), 및 복호부(613)를 갖는다.
역다중화부(611)는, 베이스 뷰 화상 부호화 스트림과 논베이스 뷰 화상 부호화 스트림이 다중화된 다시점 화상 부호화 스트림을 역다중화하고, 베이스 뷰 화상 부호화 스트림과, 논베이스 뷰 화상 부호화 스트림을 추출한다. 복호부(612)는, 역다중화부(611)에 의해 추출된 베이스 뷰 화상 부호화 스트림을 복호하고, 베이스 뷰 화상을 얻는다. 복호부(613)는, 역다중화부(611)에 의해 추출된 논베이스 뷰 화상 부호화 스트림을 복호하고, 논베이스 뷰 화상을 얻는다.
예를 들어, 이와 같은 다시점 화상 복호 장치(610)의 복호부(612) 및 복호부(613)로서, 전술한 화상 복호 장치(200)를 적용하면 된다. 이와 같이 함으로써, 다시점 화상의 부호화 데이터의 복호에 있어서도, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법을 적용할 수 있다. 즉, 다시점 화상 복호 장치(610)는, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법에 의해 부호화된 다시점 화상의 부호화 데이터를 정확하게 복호할 수 있다. 따라서, 다시점 화상 복호 장치(610)는, 다시점 화상의 부호화 데이터의 부호화 효율의 저감을 억제할 수 있다.
<7. 제7 실시 형태>
<계층 화상 부호화·계층 화상 복호에의 적용>
또한, 전술한 일련의 처리는, 계층 화상 부호화·계층 화상 복호(스케일러블 부호화·스케일러블 복호)에 적용할 수 있다. 도 43은, 계층 화상 부호화 방식의 일례를 나타낸다.
계층 화상 부호화(스케일러블 부호화)는, 화상 데이터를, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록, 화상을 복수 레이어화(계층화)하고, 레이어마다 부호화하는 것이다. 계층 화상 복호는, 그 계층 화상 부호화(스케일러블 복호)는, 그 계층 화상 부호화에 대응하는 복호이다.
도 43에 도시된 바와 같이, 화상의 계층화에 있어서는, 스케일러빌리티 기능을 갖는 소정의 파라미터를 기준으로 하여 하나의 화상이 복수의 화상(레이어)으로 분할된다. 즉, 계층화된 화상(계층 화상)은, 그 소정의 파라미터의 값이 상이한 복수의 계층(레이어)의 화상을 포함한다. 이 계층 화상의 복수의 레이어는, 다른 레이어의 화상을 이용하지 않고 자신의 레이어 화상만을 사용해서 부호화·복호를 행하는 베이스 레이어와, 다른 레이어의 화상을 이용해서 부호화·복호를 행하는 논베이스 레이어('인핸스먼트 레이어'라고도 함)를 포함한다. 논베이스 레이어는, 베이스 레이어의 화상을 이용하도록 해도 되고, 다른 논베이스 레이어의 화상을 이용하도록 해도 된다.
일반적으로, 논베이스 레이어는, 용장성이 저감되도록, 자신의 화상과, 다른 레이어의 화상과의 차분 화상의 데이터(차분 데이터)에 의해 구성된다. 예를 들어, 하나의 화상을 베이스 레이어와 논베이스 레이어('인핸스먼트 레이어'라고도 함)로 2계층화한 경우, 베이스 레이어의 데이터만으로 원래의 화상보다도 저품질의 화상이 얻어지고, 베이스 레이어의 데이터와 논베이스 레이어의 데이터를 합성함으로써, 원래의 화상(즉 고품질의 화상)이 얻어진다.
이와 같이 화상을 계층화함으로써, 상황에 따라서 다양한 품질의 화상을 용이하게 얻을 수 있다. 예를 들어 휴대 전화와 같은, 처리 능력이 낮은 단말기에 대해서는, 베이스 레이어(base layer)만의 화상 압축 정보를 전송하고, 공간 시간 해상도가 낮거나, 혹은 화질이 좋지 않은 동화상을 재생하고, 텔레비전이나 퍼스널 컴퓨터와 같은, 처리 능력이 높은 단말기에 대해서는, 베이스 레이어(base layer)에 추가하여, 인핸스먼트 레이어(enhancement layer)의 화상 압축 정보를 전송하고, 공간 시간 해상도가 높거나, 혹은 화질이 높은 동화상을 재생한다고 한 것처럼, 트랜스 코드 처리를 행하지 않고, 단말기나 네트워크의 능력에 따른 화상 압축 정보를, 서버로부터 송신하는 것이 가능하게 된다.
도 43의 예와 같은 계층 화상을 부호화·복호하는 경우, 각 레이어의 화상을 부호화·복호하지만, 이 각 레이어의 부호화·복호에 대하여, 제1 실시 형태 내지 제5 실시 형태에 있어서 전술한 방법을 적용하도록 해도 된다. 이와 같이 함으로써, 각 레이어의 부호화 효율의 저감을 억제할 수 있다. 즉, 계층 화상의 경우도 마찬가지로, 부호화 효율의 저감을 억제할 수 있다.
<스케일러블한 파라미터>
이와 같은 계층 화상 부호화·계층 화상 복호(스케일러블 부호화·스케일러블 복호)에 있어서, 스케일러빌리티(scalability) 기능을 갖는 파라미터는, 임의이다. 예를 들어, 도 44에 도시한 바와 같은 공간 해상도를 그 파라미터로 하여도 된다(spatial scalability). 이 스페이셜 스케일러빌리티(spatial scalability)의 경우, 레이어마다 화상의 해상도가 상이하다. 즉, 도 44에 도시된 바와 같이, 각 픽처가, 원래의 화상보다 공간적으로 저해상도의 베이스 레이어와, 베이스 레이어의 화상과 합성함으로써 원래의 화상(원래의 공간 해상도)이 얻어지는 인핸스먼트 레이어의 2계층으로 계층화된다. 물론, 이 계층 수는 일례이며, 임의의 계층 수로 계층화할 수 있다.
또한, 이와 같은 스케일러빌리티성을 갖게 하는 파라미터로서, 이밖에는, 예를 들어 도 45에 도시된 바와 같은, 시간 해상도를 적용하여도 된다(temporal scalability). 이 템포럴 스케일러빌리티(temporal scalability)의 경우, 레이어마다 프레임 레이트가 상이하다. 즉, 이 경우, 도 45에 도시된 바와 같이, 서로 다른 프레임 레이트의 레이어로 계층화되어 있으며, 저 프레임 레이트의 레이어에, 고 프레임 레이트의 레이어를 추가함으로써, 보다 고 프레임 레이트의 동화상을 얻을 수 있고, 모든 레이어를 추가함으로써, 원래의 동화상(원래의 프레임 레이트)을 얻을 수 있다. 이 계층 수는 일례이며, 임의의 계층 수로 계층화할 수 있다.
또한, 이와 같은 스케일러빌리티성을 갖게 하는 파라미터로서, 예를 들어 신호 잡음비(SNR(Signal to Noise ratio))를 적용하여도 된다(SNR scalability). 이 SNR 스케일러빌리티(SNR scalability)의 경우, 레이어마다 SN비가 상이하다. 즉, 도 46에 도시된 바와 같이, 각 픽처가, 원래의 화상보다 SNR이 낮은 베이스 레이어와, 베이스 레이어의 화상과 합성함으로써 원래의 화상(원래의 SNR)이 얻어지는 인핸스먼트 레이어의 2계층으로 계층화된다. 즉, 베이스 레이어(base layer) 화상 압축 정보에 있어서는, 낮은 PSNR의 화상에 관한 정보가 전송되고 있으며, 이것에, 인핸스먼트 레이어(enhancement layer) 화상 압축 정보를 추가함으로써, 높은 PSNR 화상을 재구축하는 것이 가능하다. 물론, 이 계층 수는 일례이며, 임의의 계층 수에 계층화할 수 있다.
스케일러빌리티성을 갖게 하는 파라미터는, 전술한 예 이외이더라도 물론 된다. 예를 들어, 베이스 레이어(base layer)가 8비트(bit) 화상을 포함하고, 이것에 인핸스먼트 레이어(enhancement layer)를 추가함으로써, 10비트(bit) 화상이 얻어지는 비트 심도 스케일러빌리티(bit-depth scalability)가 있다.
또한, 베이스 레이어(base layer)가 4:2:0 포맷의 컴포넌트 화상을 포함하고, 이것에 인핸스먼트 레이어(enhancement layer)를 추가함으로써, 4:2:2 포맷의 컴포넌트 화상이 얻어지는 크로마 스케일러빌리티(chroma scalability)가 있다.
<계층 화상 부호화 장치>
도 47은, 전술한 계층 화상 부호화를 행하는 계층 화상 부호화 장치를 나타내는 도면이다. 도 47에 도시된 바와 같이, 계층 화상 부호화 장치(620)는, 부호화부(621), 부호화부(622), 및 다중화부(623)를 갖는다.
부호화부(621)는, 베이스 레이어 화상을 부호화하고, 베이스 레이어 화상 부호화 스트림을 생성한다. 부호화부(622)는, 논베이스 레이어 화상을 부호화하고, 논베이스 레이어 화상 부호화 스트림을 생성한다. 다중화부(623)는, 부호화부(621)에 있어서 생성된 베이스 레이어 화상 부호화 스트림과, 부호화부(622)에 있어서 생성된 논베이스 레이어 화상 부호화 스트림을 다중화하고, 계층 화상 부호화 스트림을 생성한다.
예를 들어, 이 계층 화상 부호화 장치(620)의 부호화부(621) 및 부호화부(622)로서, 전술한 화상 부호화 장치(100)를 적용하면 된다. 이와 같이 함으로써, 계층 화상의 부호화에 있어서도, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법을 적용할 수 있다. 즉, 계층 화상 부호화 장치(620)는, 계층 화상의 부호화 데이터의 부호화 효율의 저감을 억제할 수 있다.
<계층 화상 복호 장치>
도 48은, 전술한 계층 화상 복호를 행하는 계층 화상 복호 장치를 나타내는 도면이다. 도 48에 도시된 바와 같이, 계층 화상 복호 장치(630)는, 역다중화부(631), 복호부(632), 및 복호부(633)를 갖는다.
역다중화부(631)는, 베이스 레이어 화상 부호화 스트림과 논베이스 레이어 화상 부호화 스트림이 다중화된 계층 화상 부호화 스트림을 역다중화하고, 베이스 레이어 화상 부호화 스트림과, 논베이스 레이어 화상 부호화 스트림을 추출한다. 복호부(632)는, 역다중화부(631)에 의해 추출된 베이스 레이어 화상 부호화 스트림을 복호하고, 베이스 레이어 화상을 얻는다. 복호부(633)는, 역다중화부(631)에 의해 추출된 논베이스 레이어 화상 부호화 스트림을 복호하고, 논베이스 레이어 화상을 얻는다.
예를 들어, 이 계층 화상 복호 장치(630)의 복호부(632) 및 복호부(633)로서, 전술한 화상 복호 장치(200)를 적용하면 된다. 이와 같이 함으로써, 계층 화상의 부호화 데이터의 복호에 있어서도, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법을 적용할 수 있다. 즉, 계층 화상 복호 장치(630)는, 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 각종 방법에 의해 부호화된 계층 화상의 부호화 데이터를 정확하게 복호할 수 있다. 따라서, 계층 화상 복호 장치(630)는, 계층 화상의 부호화 데이터의 부호화 효율의 저감을 억제할 수 있다.
<8. 제8 실시 형태>
<컴퓨터>
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 49는, 전술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 나타내는 블록도이다.
도 49에 도시한 컴퓨터(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)에, 미리 인스톨해 둘 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서를 따라서 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 명세서에 있어서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 기재된 순서를 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되어, 네트워크를 통해 접속되어 있는 복수의 장치, 및 하나의 하우징 중에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두, 시스템이다.
또한, 이상에 있어서, 하나의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 하나의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 전술한 이외의 구성을 부가하도록 할 수도 있다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
이상, 첨부 도면을 참조하면서 본 개시의 바람직한 실시 형태에 대하여 상세히 설명하였지만, 본 개시의 기술적 범위는 이러한 예로 한정되지 않는다. 본 개시의 기술 분야에서의 통상의 지식을 갖는 사람이라면, 청구범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있음은 자명하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것이라고 이해된다.
예를 들어, 본 기술은, 하나의 기능을, 네트워크를 통해 복수의 장치로 분담, 공동으로 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 전술한 흐름도에서 설명한 각 스텝은, 하나의 장치에서 실행하는 것 외에, 복수의 장치로 분담하여 실행할 수 있다.
또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치에서 실행하는 것 외에, 복수의 장치로 분담하여 실행할 수 있다.
전술한 실시 형태에 따른 화상 부호화 장치 및 화상 복호 장치는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷상에서의 배신, 및 셀룰러 통신에 의한 단말기에 대한 배신 등에 있어서의 송신기 또는 수신기, 광디스크, 자기디스크, 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대하여 설명한다.
<9. 제9 실시 형태>
<제1 응용예: 텔레비전 수상기>
도 50은, 전술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(I/F)부(909), 제어부(910), 유저 인터페이스(I/F)부(911), 및 버스(912)를 구비한다.
튜너(902)는, 안테나(901)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출된 신호를 복조한다. 그리고, 튜너(902)는, 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)로 출력한다. 즉, 튜너(902)는, 화상이 부호화되고 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(903)는, 부호화 비트 스트림으로부터 시청 대상인 프로그램의 영상 스트림 및 음성 스트림을 분리하고, 분리된 각 스트림을 디코더(904)로 출력한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출된 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(904)는, 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)로 출력한다. 또한, 디코더(904)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)로 출력한다.
영상 신호 처리부(905)는, 디코더(904)로부터 입력되는 영상 데이터를 재생하고, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는, 네트워크를 통해서 공급되는 애플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는, 영상 데이터에 대하여, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행해도 된다. 또한, 영상 신호 처리부(905)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성된 화상을 출력 화상에 중첩해도 된다.
표시부(906)는, 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되고, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic ElectroLuminescence Display)(유기 EL 디스플레이) 등)의 영상면 위에 영상 또는 화상을 표시한다.
음성 신호 처리부(907)는, 디코더(904)로부터 입력되는 음성 데이터에 대하여 D/A 변환 및 증폭 등의 재생 처리를 행하고, 스피커(908)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(907)는, 음성 데이터에 대하여 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스부(909)는, 텔레비전 장치(900)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스부(909)를 통해 수신되는 영상 스트림 또는 음성 스트림이, 디코더(904)에 의해 복호되어도 된다. 즉, 외부 인터페이스부(909)도 또한, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
제어부(910)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 및 네트워크를 통해서 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(900)의 기동 시에 CPU에 의해 판독되어 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(911)로부터 입력되는 조작 신호에 따라서, 텔레비전 장치(900)의 동작을 제어한다.
유저 인터페이스부(911)는, 제어부(910)와 접속된다. 유저 인터페이스부(911)는, 예를 들어 유저가 텔레비전 장치(900)를 조작하기 위한 버튼 및 스위치와, 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(911)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(910)로 출력한다.
버스(912)는, 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 음성 신호 처리부(907), 외부 인터페이스부(909) 및 제어부(910)를 서로 접속한다.
이와 같이 구성된 텔레비전 장치(900)에 있어서, 디코더(904)는, 전술한 실시 형태에 따른 화상 복호 장치(200)의 기능을 갖는다. 즉, 디코더(904)는, 화상 데이터가 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 어떤 하나의 방법에 의해 부호화된 부호화 데이터를, 그 실시 형태에 있어서 설명한 방법에 의해 정확하게 복호할 수 있다. 따라서, 텔레비전 장치(900)는, 부호화 효율의 저감을 억제할 수 있다.
<제2 응용예: 휴대 전화기>
도 51은, 전술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(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)나 화상 복호 장치(200)의 기능을 갖는다. 즉, 화상 처리부(927)는, 화상 데이터를 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 어느 한 방법에 의해 부호화하거나, 그 부호화에 의해 얻어지는 부호화 데이터를, 그 실시 형태에 있어서 설명한 방법에 의해 정확하게 복호하거나 할 수 있다. 따라서, 휴대 전화기(920)는, 부호화 효율의 저감을 억제할 수 있다.
<제3 응용예: 기록 재생 장치>
도 52는, 전술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(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)는, 화상 데이터를 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 어떤 하나의 방법에 의해 부호화할 수 있다. 또한, 디코더(947)는, 전술한 실시 형태에 따른 화상 복호 장치(200)의 기능을 갖는다. 즉, 디코더(947)는, 화상 데이터가 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 어떤 하나의 방법에 의해 부호화된 부호화 데이터를, 그 실시 형태에 있어서 설명한 방법에 의해 정확하게 복호할 수 있다. 따라서, 기록 재생 장치(940)는 부호화 효율의 저감을 억제할 수 있다.
<제4 응용예: 촬상 장치>
도 53은, 전술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(960)는, 피사체를 촬상하여 화상을 생성하고, 화상 데이터를 부호화해서 기록 매체에 기록한다.
촬상 장치(960)는, 광학 블록(961), 촬상부(962), 신호 처리부(963), 화상 처리부(964), 표시부(965), 외부 인터페이스(I/F)부(966), 메모리부(967), 미디어 드라이브(968), OSD969, 제어부(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)나 화상 복호 장치(200)의 기능을 갖는다. 즉, 화상 처리부(964)는 화상 데이터를 제1 실시 형태 내지 제5 실시 형태에 있어서 설명한 어느 하나의 방법에 의해 부호화하거나, 그 부호화에 의해 얻어지는 부호화 데이터를, 그 실시 형태에 있어서 설명한 방법에 의해 정확하게 복호하거나 할 수 있다. 따라서, 촬상 장치(960)는, 부호화 효율을 향상시킬 수 있다.
또한, 본 기술은, 미리 준비된 해상도 등이 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하여 사용하는, 예를 들어 MPEG DASH 등과 같은 HTTP 스트리밍에도 적용할 수 있다. 즉, 이와 같은 복수의 부호화 데이터간에서, 부호화나 복호에 관한 정보를 공유할 수도 있다.
<10. 제10 실시 형태>
<실시의 기타예>
이상에 있어서 본 기술을 적용하는 장치나 시스템 등의 예를 설명하였지만, 본 기술은, 이것으로 한정되지 않으며, 이와 같은 장치 또는 시스템을 구성하는 장치에 탑재하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 그 밖의 기능을 더 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다.
<비디오 세트>
본 기술을 세트로서 실시하는 경우의 예에 대하여, 도 54를 참조하여 설명한다. 도 54는, 본 기술을 적용한 비디오 세트의 개략적인 구성의 일례를 나타내고 있다.
최근, 전자 기기의 다기능화가 진행되고 있으며, 그 개발이나 제조에 있어서, 그 일부의 구성을 판매나 제공 등으로서 실시하는 경우, 하나의 기능을 갖는 구성으로서 실시를 행하는 경우뿐만 아니라, 관련된 기능을 갖는 복수의 구성을 조합하고, 복수의 기능을 갖는 1세트로서 실시를 행하는 경우도 많이 볼 수 있게 되었다.
도 54에 도시된 비디오 세트(1300)는, 이와 같은 다기능화된 구성이며, 화상의 부호화나 복호(어느 한쪽이어도 되고, 양쪽이어도 됨)에 관한 기능을 갖는 디바이스에, 그 기능에 관련된 그 밖의 기능을 갖는 디바이스를 조합한 것이다.
도 54에 도시된 바와 같이, 비디오 세트(1300)는, 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313), 및 프론트엔드 모듈(1314) 등의 모듈 군과, 커넥티비티(1321), 카메라(1322), 및 센서(1323) 등이 관련된 기능을 갖는 디바이스를 갖는다.
모듈은, 서로 관련된 몇 가지의 부품적 기능을 통합하고, 통합된 기능을 갖는 부품으로 한 것이다. 구체적인 물리적 구성은 임의이지만, 예를 들어 각각 기능을 갖는 복수의 프로세서, 저항이나 콘덴서 등의 전자 회로 소자, 기타 디바이스 등을 배선 기판 등에 배치하여 일체화한 것이 고려된다. 또한, 모듈에 다른 모듈이나 프로세서 등을 조합해서 새로운 모듈로 하는 것도 고려된다.
도 54의 예의 경우, 비디오 모듈(1311)은, 화상 처리에 관한 기능을 갖는 구성을 조합한 것이며, 애플리케이션 프로세서, 비디오 프로세서, 브로드밴드 모뎀(1333), 및 RF 모듈(1334)을 갖는다.
프로세서는, 소정의 기능을 갖는 구성을 SoC(System On a Chip)에 의해 반도체 칩에 집적한 것이며, 예를 들어 시스템 LSI(Large Scale Integration) 등이라 불리는 것도 있다. 이 소정의 기능을 갖는 구성은, 논리 회로(하드웨어 구성)이어도 되고, CPU, ROM, RAM 등과, 그들을 사용하여 실행되는 프로그램(소프트웨어 구성)이어도 되고, 그 양쪽을 조합한 것이어도 된다. 예를 들어, 프로세서가, 논리 회로와 CPU, ROM, RAM 등을 갖고, 기능의 일부를 논리 회로(하드웨어 구성)에 의해 실현하고, 그 밖의 기능을 CPU에 있어서 실행되는 프로그램(소프트웨어 구성)에 의해 실현하도록 해도 된다.
도 54의 애플리케이션 프로세서(1331)는, 화상 처리에 관한 애플리케이션을 실행하는 프로세서이다. 이 애플리케이션 프로세서(1331)에 있어서 실행되는 애플리케이션은, 소정의 기능을 실현하기 위해서, 연산 처리를 행할 뿐만 아니라, 예를 들어 비디오 프로세서(1332) 등, 비디오 모듈(1311) 내외의 구성을 필요에 따라서 제어할 수도 있다.
비디오 프로세서(1332)는, 화상의 부호화·복호(그 한쪽 또는 양쪽)에 관한 기능을 갖는 프로세서이다.
브로드밴드 모뎀(1333)은, 인터넷이나 공중 전화 회선망 등의 광대역의 회선을 통해 행해지는 유선 혹은 무선(또는 그 양쪽)의 광대역 통신에 의해 송신하는 데이터(디지털 신호)를 디지털 변조하는 등으로 아날로그 신호로 변환하거나, 그 광대역 통신에 의해 수신한 아날로그 신호를 복조하여 데이터(디지털 신호)로 변환하거나 한다. 브로드밴드 모뎀(1333)은, 예를 들어 비디오 프로세서(1332)가 처리하는 화상 데이터, 화상 데이터가 부호화된 스트림, 애플리케이션 프로그램, 설정 데이터 등, 임의의 정보를 처리한다.
RF 모듈(1334)은, 안테나를 통해 송수신되는 RF(Radio Frequency) 신호에 대하여 주파수 변환, 변복조, 증폭, 필터 처리 등을 행하는 모듈이다. 예를 들어, RF 모듈(1334)은, 브로드밴드 모뎀(1333)에 의해 생성된 기저 대역 신호에 대하여 주파수 변환 등을 행해서 RF 신호를 생성한다. 또한, 예를 들어 RF 모듈(1334)은, 프론트엔드 모듈(1314)을 통해 수신된 RF 신호에 대하여 주파수 변환 등을 행하여 기저 대역 신호를 생성한다.
또한, 도 54에 있어서 점선(1341)으로 나타낸 바와 같이, 애플리케이션 프로세서(1331)와 비디오 프로세서(1332)를 일체화하고, 하나의 프로세서로서 구성되도록 해도 된다.
외부 메모리(1312)는, 비디오 모듈(1311)의 외부에 설치된, 비디오 모듈(1311)에 의해 이용되는 기억 디바이스를 갖는 모듈이다. 이 외부 메모리(1312)의 기억 디바이스는, 어떤 물리 구성에 의해 실현하도록 해도 되지만, 일반적으로 프레임 단위의 화상 데이터와 같은 대용량의 데이터 저장에 이용되는 경우가 많으므로, 예를 들어 DRAM(Dynamic Random Access Memory)과 같은 비교적 저렴하며 대용량의 반도체 메모리에 의해 실현하는 것이 바람직하다.
파워 매니지먼트 모듈(1313)은, 비디오 모듈(1311)(비디오 모듈(1311) 내의 각 구성)에의 전력 공급을 관리하고 제어한다.
프론트엔드 모듈(1314)은, RF 모듈(1334)에 대하여 프론트엔드 기능(안테나측의 송수신단의 회로)을 제공하는 모듈이다. 도 61에 도시된 바와 같이, 프론트엔드 모듈(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)는, 본 기술을 적용한 세트로서 실시할 수 있다.
<비디오 프로세서의 구성예>
도 55는, 본 기술을 적용한 비디오 프로세서(1332)(도 54)의 개략적인 구성의 일례를 나타내고 있다.
도 55의 예의 경우, 비디오 프로세서(1332)는, 비디오 신호 및 오디오 신호의 입력을 받아서 이들을 소정의 방식으로 부호화하는 기능과, 부호화된 비디오 데이터 및 오디오 데이터를 복호하고, 비디오 신호 및 오디오 신호를 재생 출력하는 기능을 갖는다.
도 55에 도시된 바와 같이, 비디오 프로세서(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)(도 54) 등으로부터 입력된 비디오 신호를 취득하고, 디지털 화상 데이터로 변환한다. 제1 화상 확대 축소부(1402)는, 화상 데이터에 대하여 포맷 변환이나 화상의 확대 축소 처리 등을 행한다. 제2 화상 확대 축소부(1403)는, 화상 데이터에 대하여 비디오 출력 처리부(1404)를 통해 출력하는 목적지에서의 포맷에 따라서 화상의 확대 축소 처리를 행하거나, 제1 화상 확대 축소부(1402)와 마찬가지의 포맷 변환이나 화상의 확대 축소 처리 등을 행하거나 한다. 비디오 출력 처리부(1404)는, 화상 데이터에 대하여 포맷 변환이나 아날로그 신호로의 변환 등을 행하고, 재생된 비디오 신호로서 예를 들어 커넥티비티(1321) 등으로 출력한다.
프레임 메모리(1405)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404) 및 인코드·디코드 엔진(1407)에 의해 공용되는 화상 데이터용 메모리이다. 프레임 메모리(1405)는, 예를 들어 DRAM 등의 반도체 메모리로서 실현된다.
메모리 제어부(1406)는, 인코드·디코드 엔진(1407)으로부터의 동기 신호를 받아, 액세스 관리 테이블(1406A)에 기입된 프레임 메모리(1405)에의 액세스 스케줄을 따라서 프레임 메모리(1405)에 대한 기입·판독의 액세스를 제어한다. 액세스 관리 테이블(1406A)은, 인코드·디코드 엔진(1407), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403) 등으로 실행되는 처리에 따라서, 메모리 제어부(1406)에 의해 갱신된다.
인코드·디코드 엔진(1407)은, 화상 데이터의 인코드 처리와, 화상 데이터가 부호화된 데이터인 비디오 스트림의 디코드 처리를 행한다. 예를 들어, 인코드·디코드 엔진(1407)은, 프레임 메모리(1405)로부터 판독한 화상 데이터를 부호화하고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 순차 기입한다. 또한, 예를 들어 비디오 ES 버퍼(1408B)로부터 비디오 스트림을 순차 판독해서 복호하고, 화상 데이터로서 프레임 메모리(1405)에 순차 기입한다. 인코드·디코드 엔진(1407)은, 이 부호화나 복호에 있어서, 프레임 메모리(1405)를 작업 영역으로서 사용한다. 또한, 인코드·디코드 엔진(1407)은, 예를 들어 매크로 블록마다의 처리를 개시하는 타이밍에, 메모리 제어부(1406)에 대하여 동기 신호를 출력한다.
비디오 ES 버퍼(1408A)는, 인코드·디코드 엔진(1407)에 의해 생성된 비디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 비디오 ES 버퍼(1408B)는, 역다중화부(DMUX)(1413)로부터 공급된 비디오 스트림을 버퍼링하여, 인코드·디코드 엔진(1407)에 공급한다.
오디오 ES 버퍼(1409A)는, 오디오 인코더(1410)에 의해 생성된 오디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 오디오 ES 버퍼(1409B)는, 역다중화부(DMUX)(1413)로부터 공급된 오디오 스트림을 버퍼링하여, 오디오 디코더(1411)에 공급한다.
오디오 인코더(1410)는, 예를 들어 커넥티비티(1321) 등으로부터 입력된 오디오 신호를 예를 들어 디지털 변환하고, 예를 들어 MPEG 오디오 방식이나 AC3(AudioCode number 3) 방식 등의 소정의 방식으로 부호화한다. 오디오 인코더(1410)는, 오디오 신호가 부호화된 데이터인 오디오 스트림을 오디오 ES 버퍼(1409A)에 순차 기입한다. 오디오 디코더(1411)는, 오디오 ES 버퍼(1409B)로부터 공급된 오디오 스트림을 복호하고, 예를 들어 아날로그 신호에의 변환 등을 행하여, 재생된 오디오 신호로서 예를 들어 커넥티비티(1321) 등에 공급한다.
다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화한다. 이 다중화의 방법(즉, 다중화에 의해 생성되는 비트 스트림의 포맷)은 임의이다. 또한, 이 다중화 시에, 다중화부(MUX)(1412)는, 소정의 헤더 정보 등을 비트 스트림에 부가할 수도 있다. 즉, 다중화부(MUX)(1412)는, 다중화에 의해 스트림의 포맷을 변환할 수 있다. 예를 들어, 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림으로 변환된다. 또한, 예를 들어 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 기록용 파일 포맷의 데이터(파일 데이터)로 변환된다.
역다중화부(DMUX)(1413)는, 다중화부(MUX)(1412)에 의한 다중화에 대응하는 방법에 의해, 비디오 스트림과 오디오 스트림이 다중화된 비트 스트림을 역다중화한다. 즉, 역다중화부(DMUX)(1413)는, 스트림 버퍼(1414)로부터 판독된 비트 스트림으로부터 비디오 스트림과 오디오 스트림을 추출한다(비디오 스트림과 오디오 스트림을 분리함). 즉, 역다중화부(DMUX)(1413)는, 역다중화에 의해 스트림의 포맷을 변환(다중화부(MUX)(1412)에 의한 변환의 역변환)할 수 있다. 예를 들어, 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등으로부터 공급된 트랜스포트 스트림을, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다. 또한, 예를 들어 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)에 의해 각종 기록 매체로부터 판독된 파일 데이터를, 스트림 버퍼(1414)를 통해 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다.
스트림 버퍼(1414)는, 비트 스트림을 버퍼링한다. 예를 들어, 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급한다.
또한, 예를 들어 스트림 버퍼(1414)는, 다중화부(MUX) 1412로부터 공급된 파일 데이터를 버퍼링하고, 소정의 타이밍에 있어서, 또는 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321)등에 공급하고, 각종 기록 매체에 기록시킨다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 취득한 트랜스포트 스트림을 버퍼링하여, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독된 파일 데이터를 버퍼링하여, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
다음으로, 이와 같은 구성의 비디오 프로세서(1332)의 동작 예에 대하여 설명한다. 예를 들어, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 비디오 신호는, 비디오 입력 처리부(1401)에 있어서 4:2:2Y/Cb/Cr 방식 등의 소정의 방식의 디지털 화상 데이터로 변환되어, 프레임 메모리(1405)에 순차 기입된다. 이 디지털 화상 데이터는, 제1 화상 확대 축소부(1402) 또는 제2 화상 확대 축소부(1403)에 판독되어, 4:2:0Y/Cb/Cr 방식 등의 소정의 방식에의 포맷 변환 및 확대 축소 처리가 행해지고, 다시 프레임 메모리(1405)에 기입된다. 이 화상 데이터는, 인코드·디코드 엔진(1407)에 의해 부호화되어, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 기입된다.
또한, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 오디오 신호는, 오디오 인코더(1410)에 의해 부호화되어, 오디오 스트림으로서, 오디오 ES 버퍼(1409A)에 기입된다.
비디오 ES 버퍼(1408A)의 비디오 스트림과, 오디오 ES 버퍼(1409A)의 오디오 스트림은, 다중화부(MUX)(1412)에 판독되어 다중화되고, 트랜스포트 스트림 또는 파일 데이터 등으로 변환된다. 다중화부(MUX)(1412)에 의해 생성된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로 출력된다. 또한, 다중화부(MUX)(1412)에 의해 생성된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321)등으로 출력되고, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 비디오 프로세서(1332)에 입력된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 또한, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독되고, 비디오 프로세서(1332)에 입력된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 즉, 비디오 프로세서(1332)에 입력된 트랜스포트 스트림 또는 파일 데이터는, 역다중화부(DMUX)(1413)에 의해 비디오 스트림과 오디오 스트림으로 분리된다.
오디오 스트림은, 오디오 ES 버퍼(1409B)를 통해 오디오 디코더(1411)에 공급되고, 복호되어 오디오 신호가 재생된다. 또한, 비디오 스트림은, 비디오 ES 버퍼(1408B)에 기입된 후, 인코드·디코드 엔진(1407)에 의해 순차 판독되어 복호되어 프레임 메모리(1405)에 기입된다. 복호된 화상 데이터는, 제2 화상 확대 축소부(1403)에 의해 확대 축소 처리되어, 프레임 메모리(1405)에 기입된다. 그리고, 복호된 화상 데이터는, 비디오 출력 처리부(1404)에 판독되어서, 4:2:2Y/Cb/Cr 방식 등의 소정의 방식으로 포맷 변환되고, 또한 아날로그 신호에 변환되어, 비디오 신호가 재생 출력된다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 인코드·디코드 엔진(1407)에, 전술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 인코드·디코드 엔진(1407)이 전술한 실시 형태에 따른 화상 부호화 장치(100)나 화상 복호 장치(200)의 기능을 갖도록 하면 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 39를 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 인코드·디코드 엔진(1407)에 있어서, 본 기술(즉, 전술한 각 실시 형태에 따른 화상 부호화 장치나 화상 복호 장치의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
<비디오 프로세서의 다른 구성예>
도 56은, 본 기술을 적용한 비디오 프로세서(1332)의 개략적인 구성의 다른 예를 나타내고 있다. 도 56의 예의 경우, 비디오 프로세서(1332)는, 비디오 데이터를 소정의 방식으로 부호화·복호하는 기능을 갖는다.
보다 구체적으로는, 도 56에 도시된 바와 같이, 비디오 프로세서(1332)는, 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 내부 메모리(1515)를 갖는다. 또한, 비디오 프로세서(1332)는, 코덱 엔진(1516), 메모리 인터페이스(1517), 다중화·역다중화부(MUX DMUX)(1518), 네트워크 인터페이스(1519), 및 비디오 인터페이스(1520)를 갖는다.
제어부(1511)는, 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514), 및 코덱 엔진(1516) 등, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어한다.
도 56에 도시된 바와 같이, 제어부(1511)는, 예를 들어 메인 CPU(1531), 서브 CPU(1532) 및 시스템 컨트롤러(1533)를 갖는다. 메인 CPU(1531)는, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어하기 위한 프로그램 등을 실행한다. 메인 CPU(1531)는, 그 프로그램 등에 따라서 제어 신호를 생성하고, 각 처리부에 공급한다(즉, 각 처리부의 동작을 제어함). 서브 CPU(1532)는, 메인 CPU(1531)의 보조적인 역할을 한다. 예를 들어, 서브 CPU(1532)는, 메인 CPU(1531)가 실행하는 프로그램 등의 자(子) 프로세스나 서브 루틴 등을 실행한다. 시스템 컨트롤러(1533)는, 메인 CPU(1531) 및 서브 CPU(1532)가 실행하는 프로그램을 지정하는 등, 메인 CPU(1531) 및 서브 CPU(1532)의 동작을 제어한다.
디스플레이 인터페이스(1512)는 제어부(1511)의 제어하에, 화상 데이터를 예를 들어 커넥티비티(1321) 등에 출력한다. 예를 들어, 디스플레이 인터페이스(1512)는 디지털 데이터의 화상 데이터를 아날로그 신호로 변환하고, 재생된 비디오 신호로서, 또는 디지털 데이터의 화상 데이터인 채, 커넥티비티(1321)의 모니터 장치 등에 출력한다.
디스플레이 엔진(1513)은, 제어부(1511)의 제어하에, 화상 데이터에 대하여 그 화상을 표시시키는 모니터 장치 등의 하드웨어 스펙에 맞추도록, 포맷 변환, 사이즈 변환, 색 영역 변환 등의 각종 변환 처리를 행한다.
화상 처리 엔진(1514)은, 제어부(1511)의 제어하에, 화상 데이터에 대하여 예를 들어 화질 개선을 위한 필터 처리 등, 소정의 화상 처리를 실시한다.
내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516)에 의해 공용되는, 비디오 프로세서(1332)의 내부에 설치된 메모리다. 내부 메모리(1515)는, 예를 들어 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516)의 사이에 행해지는 데이터의 수수에 이용된다. 예를 들어, 내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514) 또는 코덱 엔진(1516)으로부터 공급되는 데이터를 저장하고, 필요에 따라서(예를 들어, 요구에 따라서), 그 데이터를, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)에 공급한다. 이 내부 메모리(1515)는, 어떤 기억 디바이스에 의해 실현하도록 해도 되지만, 일반적으로 블록 단위의 화상 데이터나 파라미터 등과 같은 소용량의 데이터 저장에 이용하는 경우가 많으므로, 예를 들어 SRAM(Static Random Access Memory)과 같은 비교적(예를 들어 외부 메모리(1312)와 비교하여) 소용량이지만 응답 속도가 고속의 반도체 메모리에 의해 실현하는 것이 바람직하다.
코덱 엔진(1516)은, 화상 데이터의 부호화나 복호에 관한 처리를 행한다. 이 코덱 엔진(1516)이 대응하는 부호화·복호의 방식은 임의이며, 그 수는 하나이어도 되고, 복수여도 된다. 예를 들어, 코덱 엔진(1516)은, 복수의 부호화·복호 방식의 코덱 기능을 구비하고, 그 중에서 선택된 것으로 화상 데이터의 부호화 혹은 부호화 데이터의 복호를 행하도록 해도 된다.
도 56에 도시된 예에 있어서, 코덱 엔진(1516)은, 코덱에 관한 처리의 기능 블록으로서, 예를 들어 MPEG-2 Video(1541), AVC/H.264(1542), HEVC/H.265(1543), HEVC/H.265(Scalable)(1544), HEVC/H.265(Multi-view)(1545), 및 MPEG-DASH(1551)를 갖는다.
MPEG-2 Video(1541)는, 화상 데이터를 MPEG-2 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. AVC/H.264(1542)는, 화상 데이터를 AVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(1543)는, 화상 데이터를 HEVC 방식으로 부호화하거나 복호하거나 하는 기능 블록이다. HEVC/H.265(Scalable)(1544)는, 화상 데이터를 HEVC 방식에 의해 스케일러블 부호화하거나 스케일러블 복호하거나 하는 기능 블록이다. HEVC/H.265(Multi-view)(1545)는, 화상 데이터를 HEVC 방식에 의해 다시점 부호화하거나 다시점 복호하거나 하는 기능 블록이다.
MPEG-DASH(1551)는, 화상 데이터를 MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP) 방식에 의해 송수신하는 기능 블록이다. MPEG-DASH는, HTTP(HyperText Transfer Protocol)을 사용해서 비디오의 스트리밍을 행하는 기술이며, 미리 준비된 해상도 등이 서로 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하여 전송하는 것을 특징의 하나로 한다. MPEG-DASH(1551)는, 규격에 준거하는 스트림의 생성이나 그 스트림의 전송 제어 등을 행하고, 화상 데이터의 부호화·복호에 대해서는, 전술한 MPEG-2 Video(1541) 내지 HEVC/H.265(Multi-view)(1545)를 이용한다.
메모리 인터페이스(1517)는, 외부 메모리(1312)용 인터페이스이다. 화상 처리 엔진(1514)이나 코덱 엔진(1516)으로부터 공급되는 데이터는, 메모리 인터페이스(1517)를 통해 외부 메모리(1312)에 공급된다. 또한, 외부 메모리(1312)로부터 판독된 데이터는, 메모리 인터페이스(1517)를 통해 비디오 프로세서(1332)(화상 처리 엔진(1514) 혹은 코덱 엔진(1516))에 공급된다.
다중화·역다중화부(MUX DMUX)(1518)는, 부호화 데이터의 비트 스트림, 화상 데이터, 비디오 신호 등, 화상에 관한 각종 데이터의 다중화나 역다중화를 행한다. 이 다중화·역다중화의 방법은 임의이다. 예를 들어, 다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 복수의 데이터를 하나로 통합할 뿐만 아니라, 소정의 헤더 정보 등을 그 데이터에 부가할 수도 있다. 또한, 역다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 하나의 데이터를 복수로 분할할 뿐만 아니라, 분할한 각 데이터에 소정의 헤더 정보 등을 부가할 수도 있다. 즉, 다중화·역다중화부(MUX DMUX)(1518)는, 다중화·역다중화에 의해 데이터의 포맷을 변환할 수 있다. 예를 들어, 다중화·역다중화부(MUX DMUX)(1518)는, 비트 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림이나, 기록용 파일 포맷의 데이터(파일 데이터)로 변환할 수 있다. 물론, 역다중화에 의해 그 역변환도 가능하다.
네트워크 인터페이스(1519)는, 예를 들어 브로드밴드 모뎀(1333)이나 커넥티비티(1321) 등에 적합한 인터페이스이다. 비디오 인터페이스(1520)는, 예를 들어 커넥티비티(1321)나 카메라(1322) 등에 적합한 인터페이스이다.
다음으로, 이와 같은 비디오 프로세서(1332)의 동작 예에 대하여 설명한다. 예를 들어, 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해 외부 네트워크로부터 트랜스포트 스트림을 수신하면, 그 트랜스포트 스트림은, 네트워크 인터페이스(1519)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 예를 들어 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되어, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되고, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되어, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 파일 데이터로 변환되고, 비디오 인터페이스(1520)를 통해 예를 들어 커넥티비티(1321) 등에 출력되어, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321) 등에 의해 기록 매체(도시생략)로부터 판독된, 화상 데이터가 부호화된 부호화 데이터의 파일 데이터는, 비디오 인터페이스(1520)를 통해 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되어, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해 예를 들어 커넥티비티(1321) 등에 공급되어, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되고, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 트랜스포트 스트림으로 변환되고, 네트워크 인터페이스(1519)를 통해 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급되어 다른 장치(도시생략)로 전송된다.
또한, 비디오 프로세서(1332) 내의 각 처리부의 사이에서의 화상 데이터나 기타 데이터의 수수는, 예를 들어 내부 메모리(1515)나 외부 메모리(1312)를 이용하여 행해진다. 또한, 파워 매니지먼트 모듈(1313)은, 예를 들어 제어부(1511)에의 전력 공급을 제어한다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 코덱 엔진(1516)에, 전술한 각 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 코덱 엔진(1516)이 전술한 실시 형태에 따른 화상 부호화 장치(100)나 화상 복호 장치(200)를 실현하는 기능 블록을 갖도록 하면 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 도 1 내지 도 39를 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 코덱 엔진(1516)에 있어서, 본 기술(즉, 전술한 각 실시 형태에 따른 화상 부호화 장치나 화상 복호 장치의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되며, 그들 양쪽에 의해 실현하도록 해도 된다.
이상으로 비디오 프로세서(1332)의 구성을 2가지 예시하였지만, 비디오 프로세서(1332)의 구성은 임의이며, 전술한 2가지 예 이외의 것이어도 된다. 또한, 이 비디오 프로세서(1332)는, 하나의 반도체 칩으로서 구성되도록 해도 되지만, 복수의 반도체 칩으로서 구성되도록 해도 된다. 예를 들어, 복수의 반도체를 적층하는 3차원 적층 LSI로 하여도 된다. 또한, 복수의 LSI에 의해 실현되도록 해도 된다.
<장치에 대한 적용예>
비디오 세트(1300)는, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 세트(1300)는, 텔레비전 장치(900)(도 50), 휴대 전화기(920)(도 51), 기록 재생 장치(940)(도 52), 촬상 장치(960)(도 53) 등에 내장할 수 있다. 비디오 세트(1300)를 내장함으로써, 그 장치는, 도 1 내지 도 39를 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 전술한 비디오 세트(1300)의 각 구성의 일부라도, 비디오 프로세서(1332)를 포함하는 것이면, 본 기술을 적용한 구성으로서 실시할 수 있다. 예를 들어, 비디오 프로세서(1332)만을 본 기술을 적용한 비디오 프로세서로서 실시할 수 있다. 또한, 예를 들어 전술한 바와 같이 점선(1341)에 의해 나타내는 프로세서나 비디오 모듈(1311) 등을, 본 기술을 적용한 프로세서나 모듈 등으로서 실시할 수 있다. 또한, 예를 들어 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313), 및 프론트엔드 모듈(1314)을 조합하여, 본 기술을 적용한 비디오 유닛(1361)으로서 실시할 수도 있다. 어느 한쪽의 구성의 경우에도, 도 1 내지 도 39를 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
즉, 비디오 프로세서(1332)를 포함하는 것이면 어떠한 구성이라도, 비디오 세트(1300)의 경우와 마찬가지로, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 프로세서(1332), 점선(1341)에 의해 나타내는 프로세서, 비디오 모듈(1311), 또는 비디오 유닛(1361)을 텔레비전 장치(900)(도 50), 휴대 전화기(920)(도 51), 기록 재생 장치(940)(도 52), 촬상 장치(960)(도 53) 등에 내장할 수 있다. 그리고, 본 기술을 적용한 어느 하나의 구성을 내장함으로써, 그 장치는, 비디오 세트(1300)의 경우와 마찬가지로, 도 1 내지 도 39를 참조하여 전술한 효과와 마찬가지의 효과를 얻을 수 있다.
또한, 본 명세서에서는, 각종 정보가, 부호화 스트림에 다중화되어, 부호화측으로부터 복호측으로 전송되는 예에 대하여 설명하였다. 그러나, 이들 정보를 전송하는 방법은 이러한 예로 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 비트 스트림에 다중화되지 않고, 부호화 비트 스트림과 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, 「관련짓는다」라는 용어는, 비트 스트림에 포함되는 화상(슬라이스 혹은 블록 등, 화상의 일부여도 됨)과 당해 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 함을 의미한다. 즉, 정보는, 화상(또는 비트 스트림)과는 다른 전송로 상에서 전송되어도 된다. 또한, 정보는, 화상(또는 비트 스트림)과는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에리어)에 기록되어도 된다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등이 임의의 단위로 서로 관련지어져도 된다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 복수 컴포넌트를 포함하는 입력 화상과 예측 화상과의 잔차 데이터에 대하여 상기 컴포넌트 간에서 예측을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 예측을 행하는 잔차 예측부와,
상기 잔차 예측부에 의한 상기 예측에 의해 생성된 예측 잔차 데이터를 부호화하는 부호화부
를 구비하는, 화상 처리 장치.
(2) 상기 잔차 예측부는, 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하는, (1), (3) 내지 (9) 중 어느 하나에 기재된 화상 처리 장치.
(3) 상기 잔차 예측부는, 상기 예측을 행하는 상기 2개의 컴포넌트 간의 상기 비트 심도의 차가 0이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행하는, (1), (2), (4) 내지 (9) 중 어느 한 항에 기재된 화상 처리 장치.
(4) 상기 잔차 예측부는, 상기 비트 심도의 차가 정인 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행하고, 상기 비트 심도의 차가 부인 경우, 상기 예측을 생략하는, (1) 내지 (3), (5) 내지 (9) 중 어느 하나에 기재된 화상 처리 장치.
(5) 상기 잔차 예측부는, 상기 입력 화상의 색 공간이 RGB 공간이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 예측을 행하고, 상기 입력 화상의 색 공간이 RGB 공간인 경우, 상기 예측을 생략하는, (1) 내지 (4), (6) 내지 (9) 중 어느 하나에 기재된 화상 처리 장치.
(6) 상기 입력 화상의 색 공간이 YUV 공간이며,
상기 잔차 예측부는, 휘도 성분과 색차 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 예측을 행하는, (1) 내지 (5), (7) 내지 (9) 중 어느 하나에 기재된 화상 처리 장치.
(7) 상기 입력 화상의 색 공간이 RGB 공간이며,
상기 잔차 예측부는, G 성분과 R 성분 또는 B 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 예측을 행하는, (1) 내지 (6), (8), (9) 중 어느 하나에 기재된 화상 처리 장치.
(8) 상기 잔차 예측부는, 상기 예측을 행하는 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 상기 2개의 컴포넌트 중 한쪽의 컴포넌트의 상기 잔차 데이터에 대하여 상기 비트 심도의 차에 따른 상기 비트 시프트를 행하고, 상기 비트 시프트된 상기 잔차 데이터에 소정의 가중 계수를 승산하고, 그 승산 결과에 대하여 소정의 비트 수분의 비트 시프트를 행하고, 다른 쪽의 컴포넌트의 상기 잔차 데이터와 상기 비트 시프트된 상기 승산 결과와의 차분을 구함으로써, 상기 예측을 행하는, (1) 내지 (7), (9) 중 어느 한 항에 기재된 화상 처리 장치.
(9) 상기 잔차 예측부는, 복수의 컴포넌트에서 공통인 상기 가중 계수를 설정하는 (1) 내지 (8) 중 어느 하나에 기재된 화상 처리 장치.
(10) 복수 컴포넌트를 포함하는 입력 화상과 예측 화상과의 잔차 데이터에 대하여 상기 컴포넌트 간에서 예측을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 예측을 행하고,
상기 예측에 의해 생성된 예측 잔차 데이터를 부호화하는, 화상 처리 방법.
(11) 복수 컴포넌트를 포함하는 화상과 그 예측 화상과의 잔차 데이터의 상기 컴포넌트 간의 예측 결과인 예측 잔차 데이터가 부호화된 부호화 데이터를 복호하는 복호부와,
상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 상기 예측 잔차 데이터를 사용해서 상기 잔차 데이터의 복원을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 복원을 행하는 잔차 복원부
를 구비하는, 화상 처리 장치.
(12) 상기 잔차 복원부는, 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하는, (11), (13) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(13) 상기 비트 심도에 관한 정보를 수취하는 수취부를 더 구비하고,
상기 잔차 복원부는, 상기 수취부에 의해 수취된 상기 비트 심도에 관한 정보에 기초하여, 상기 예측을 행하는 상기 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 구한 상기 비트 심도의 차에 기초하여 상기 비트 시프트를 행함으로써, 상기 잔차 데이터의 상기 비트 심도를 매칭하는, (11), (12), (14) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(14) 상기 잔차 복원부는, 구한 상기 비트 심도의 차가 0이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하는, (11) 내지 (13), (14) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(15) 상기 잔차 복원부는, 구한 상기 비트 심도의 차가 정인 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행하고, 구한 상기 비트 심도의 차가 부인 경우, 상기 복원을 생략하는, (11) 내지 (14), (15) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(16) 상기 수취부는, 상기 화상의 색 공간에 관한 정보를 더 수취하고,
상기 잔차 복원부는, 상기 수취부에 의해 수취된 상기 화상의 색 공간에 관한 정보에 기초하여, 상기 화상의 색 공간이 RGB 공간이 아닌 경우, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 컴포넌트 간에서 매칭하여 상기 복원을 행하고, 상기 화상의 색 공간이 RGB 공간인 경우, 상기 복원을 생략하는, (11) 내지 (15), (17) 내지 (19) 중 어느 하나에 기재된 화상 처리 장치.
(17) 상기 화상의 색 공간이 YUV 공간이며,
상기 잔차 복원부는, 휘도 성분과 색차 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행하는, (11) 내지 (16), (18), (19) 중 어느 하나에 기재된 화상 처리 장치.
(18) 상기 화상의 색 공간이 RGB 공간이며,
상기 잔차 복원부는, G 성분과 R 성분 혹은 B 성분의 사이에서, 상기 비트 시프트에 의해 상기 잔차 데이터의 상기 비트 심도를 매칭하여 상기 복원을 행하는, (11) 내지 (17), (19) 중 어느 하나에 기재된 화상 처리 장치.
(19) 상기 잔차 복원부는, 상기 복원을 행하는 2개의 컴포넌트 간의 상기 비트 심도의 차를 구하고, 상기 2개의 컴포넌트 중 한쪽의 컴포넌트의 복원이 완료된 상기 잔차 데이터에 대하여 상기 비트 심도의 차에 따른 상기 비트 시프트를 행하고, 상기 비트 시프트된 상기 잔차 데이터에 소정의 가중 계수를 승산하고, 그 승산 결과에 대하여 소정의 비트 수분의 비트 시프트를 행하고, 상기 비트 시프트된 상기 승산 결과와 상기 예측 잔차 데이터를 가산함으로써, 다른 쪽의 컴포넌트 상기 잔차 데이터의 상기 복원을 행하는, (11) 내지 (18) 중 어느 하나에 기재된 화상 처리 장치.
(20) 복수 컴포넌트를 포함하는 화상과 그 예측 화상과의 잔차 데이터의 상기 컴포넌트 간의 예측 결과인 예측 잔차 데이터가 부호화된 부호화 데이터를 복호하고,
상기 부호화 데이터가 복호되어 얻어진 상기 예측 잔차 데이터를 사용해서 상기 잔차 데이터의 복원을 행할 때, 상기 잔차 데이터의 비트 심도를 상기 컴포넌트 간에서 매칭하여 상기 복원을 행하는, 화상 처리 방법.
100: 화상 부호화 장치
121: 헤더 처리부
122: 잔차 예측부
123: 잔차 복원부
131: SPS 처리부
132: PPS 처리부
141: 제어부
142: 예측부
151: 비트 심도차 산출부
152: 비트 시프트 제어부
153: 가중 계수 설정부
161: 선택부
162: 우 시프트부
163: 좌 시프트부
164: 가중 계수 승산부
165: 우 시프트부
166 및 167: 연산부
200: 화상 복호 장치
221: 헤더 취득부
222: 잔차 복원부
231: SPS 취득부
232: PPS 취득부
233: 가중 계수 취득부
241: 제어부
242: 복원부
251: 비트 심도차 산출부
252: 비트 시프트 제어부
261: 선택부
262: 우 시프트부
263: 좌 시프트부
264: 가중 계수 승산부
265: 우 시프트부
266 및 267: 연산부
311: 제어부
312: 예측부
321: 비트 심도차 산출부
322: 비트 시프트 제어부
351: 제어부
352: 복원부
361: 비트 심도차 산출부
362: 비트 시프트 제어부
411: 제어부
412: 예측부
421: 비트 심도차 산출부
422: 비트 시프트 제어부
451: 제어부
452: 복원부
461: 비트 심도차 산출부
462: 비트 시프트 제어부
501: VUI 처리부
511: 제어부
512: 예측부
521: 비트 심도차 산출부
522: 비트 시프트 제어부
523: 색 공간 판정부
541: VUI 취득부
551: 제어부
561: 비트 심도차 산출부
562: 비트 시프트 제어부
563: 색 공간 판정부

Claims (12)

  1. 화상의 색차 성분의 잔차 데이터의 비트 심도와 상기 화상의 휘도 성분의 잔차 데이터의 비트 심도가 상이한 경우에, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도를 매칭하는 설정부와,
    상기 설정부에 의해 설정된 비트 심도에 따라서, 상기 휘도 성분의 잔차 데이터를 사용해서 상기 색차 성분의 잔차 데이터를 예측하여, 예측 잔차 데이터를 생성하는 잔차 예측부와,
    상기 잔차 예측부에 의해 생성된 예측 잔차 데이터를 부호화하는 부호화부
    를 구비하는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 설정부는, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도가 동일해지도록 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  3. 제2항에 있어서,
    상기 설정부는, 상기 휘도 성분의 잔차 데이터의 비트 심도를 상기 색차 성분의 잔차 데이터의 비트 심도에 맞추도록, 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  4. 제3항에 있어서,
    상기 설정부는, 상기 휘도 성분의 잔차 데이터의 비트 심도와 상기 색차 성분의 잔차 데이터의 비트 심도와의 차가 정(正)의 값인 경우에, 상기 휘도 성분의 잔차 데이터의 비트 심도를 상기 색차 성분의 잔차 데이터의 비트 심도에 맞추도록, 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  5. 제4항에 있어서,
    상기 화상은, 휘도 성분의 화소 수와 색차 성분과의 화소 수가 동등한 4:4:4 포맷의 화상인, 화상 처리 장치.
  6. 화상의 색차 성분의 잔차 데이터의 비트 심도와 상기 화상의 휘도 성분의 잔차 데이터의 비트 심도가 상이한 경우에, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도를 매칭하고, 설정된 비트 심도에 따라서, 상기 휘도 성분의 잔차 데이터를 사용해서 상기 색차 성분의 잔차 데이터를 예측하여, 예측 잔차 데이터를 생성하고,
    생성된 예측 잔차 데이터를 부호화하는, 화상 처리 방법.
  7. 화상의 휘도 성분의 잔차 데이터를 사용해서 상기 화상의 색차 성분의 잔차 데이터를 예측한 예측 잔차 데이터의 부호화 데이터를 복호하는 복호부와,
    상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도가 상이한 경우에, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도를 매칭하는 설정부와,
    상기 설정부에 의해 설정된 비트 심도에 따라서, 상기 휘도 성분의 잔차 데이터와, 상기 복호부에 의해 상기 부호화 데이터가 복호되어 얻어진 예측 잔차 데이터를 사용하여, 상기 색차 성분의 잔차 데이터를 복원하는 잔차 복원부
    를 구비하는, 화상 처리 장치.
  8. 제7항에 있어서,
    상기 설정부는, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도가 동일해지도록 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  9. 제8항에 있어서,
    상기 설정부는, 상기 휘도 성분의 잔차 데이터의 비트 심도를 상기 색차 성분의 잔차 데이터의 비트 심도에 맞추도록, 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  10. 제9항에 있어서,
    상기 설정부는, 상기 휘도 성분의 잔차 데이터의 비트 심도와 상기 색차 성분의 잔차 데이터의 비트 심도와의 차가 정의 값인 경우에, 상기 휘도 성분의 잔차 데이터의 비트 심도를 상기 색차 성분의 잔차 데이터의 비트 심도에 맞추도록, 상기 휘도 성분의 잔차 데이터의 비트 심도에 대하여 비트 시프트를 행하는, 화상 처리 장치.
  11. 제10항에 있어서,
    상기 화상은, 휘도 성분의 화소 수와 색차 성분과의 화소 수가 동등한 4:4:4 포맷의 화상인, 화상 처리 장치.
  12. 화상의 휘도 성분의 잔차 데이터를 사용해서 상기 화상의 색차 성분의 잔차 데이터를 예측한 예측 잔차 데이터의 부호화 데이터를 복호하고,
    상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도가 상이한 경우에, 상기 색차 성분의 잔차 데이터의 비트 심도와 상기 휘도 성분의 잔차 데이터의 비트 심도를 매칭하고,
    설정된 비트 심도에 따라서, 상기 휘도 성분의 잔차 데이터와, 상기 부호화 데이터가 복호되어 얻어진 예측 잔차 데이터를 사용하여, 상기 색차 성분의 잔차 데이터를 복원하는, 화상 처리 방법.
KR1020167015632A 2013-12-27 2014-12-12 화상 처리 장치 및 방법 KR102336932B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013272941 2013-12-27
JPJP-P-2013-272941 2013-12-27
PCT/JP2014/082923 WO2015098562A1 (ja) 2013-12-27 2014-12-12 画像処理装置および方法

Publications (2)

Publication Number Publication Date
KR20160102987A true KR20160102987A (ko) 2016-08-31
KR102336932B1 KR102336932B1 (ko) 2021-12-08

Family

ID=53478426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015632A KR102336932B1 (ko) 2013-12-27 2014-12-12 화상 처리 장치 및 방법

Country Status (11)

Country Link
US (2) US10623752B2 (ko)
EP (1) EP3041235A4 (ko)
JP (1) JP6451999B2 (ko)
KR (1) KR102336932B1 (ko)
CN (2) CN105850134B (ko)
AU (1) AU2014371486B2 (ko)
CA (1) CA2933563C (ko)
MX (1) MX364028B (ko)
MY (1) MY178498A (ko)
RU (1) RU2663359C1 (ko)
WO (1) WO2015098562A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230130591A (ko) * 2018-10-03 2023-09-12 캐논 가부시끼가이샤 정보 처리장치, 정보 처리방법, 비일시적인 컴퓨터 판독가능한 기억매체

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6543578B2 (ja) 2016-01-27 2019-07-10 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
KR102555096B1 (ko) * 2016-06-09 2023-07-13 엘지디스플레이 주식회사 데이터 압축 방법 및 이를 이용한 유기 발광 다이오드 표시 장치
JP6822123B2 (ja) * 2016-12-19 2021-01-27 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP7005250B2 (ja) 2017-09-21 2022-01-21 キヤノン株式会社 現像剤補給容器
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
CN109361933B (zh) * 2018-11-13 2019-11-05 仲恺农业工程学院 一种音视频信息处理方法
US20230239504A1 (en) * 2020-06-02 2023-07-27 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus
CN113408709B (zh) * 2021-07-12 2023-04-07 浙江大学 基于单元重要度的条件计算方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050259730A1 (en) 2004-05-18 2005-11-24 Sharp Laboratories Of America, Inc. Video coding with residual color conversion using reversible YCoCg
JP2006086793A (ja) * 2004-09-16 2006-03-30 Fuji Xerox Co Ltd 符号化装置、符号化方法及びそのプログラム
KR100772873B1 (ko) * 2006-01-12 2007-11-02 삼성전자주식회사 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더
WO2007132647A1 (ja) * 2006-05-12 2007-11-22 Panasonic Corporation 動画像復号化装置
EP1933565A1 (en) * 2006-12-14 2008-06-18 THOMSON Licensing Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer prediction
JP4356028B2 (ja) * 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法
WO2009000110A1 (en) * 2007-06-27 2008-12-31 Thomson Licensing Method and apparatus for encoding and/or decoding video data using enhancement layer residual prediction for bit depth scalability
JP5534522B2 (ja) * 2007-10-15 2014-07-02 トムソン ライセンシング スケーラブルなビデオのためにレイヤー間残差予測を行う方法および装置
JP5281624B2 (ja) 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5341277B2 (ja) * 2011-02-22 2013-11-13 パナソニック株式会社 画像符号化方法および画像符号化装置
JP2013223035A (ja) * 2012-04-13 2013-10-28 Canon Inc 画像復号装置、画像復号方法及びプログラム
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
JP5873395B2 (ja) * 2012-06-14 2016-03-01 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US9648330B2 (en) * 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
US9648332B2 (en) * 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
US10397607B2 (en) * 2013-11-01 2019-08-27 Qualcomm Incorporated Color residual prediction for video coding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, Thomas Wiegand, "High Efficiency Video Coding(HEVC) text specification draft 10(for FDIS & Last Call)", JCTVC-L1003_version 34, 2013-03-19
W. Pu, et al. Non RCE1:Inter Color Component Residual Prediction, JCT-VC of ITU-T and ISO/IEC. JCTVC-N0266_v7, 2013-07-30, pp. 1-8* *
Wei Pu, Woo-Shik Kim, Jianle Chen, Joel Sole, Marta Karczewicz, "RCE1: Descriptions and Results for Experiments 1, 2, 3, and 4", JCTVC-O0202, 2013-11-11

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230130591A (ko) * 2018-10-03 2023-09-12 캐논 가부시끼가이샤 정보 처리장치, 정보 처리방법, 비일시적인 컴퓨터 판독가능한 기억매체
US11810330B2 (en) 2018-10-03 2023-11-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
KR102336932B1 (ko) 2021-12-08
JP6451999B2 (ja) 2019-01-16
US20160261876A1 (en) 2016-09-08
EP3041235A4 (en) 2017-03-22
RU2663359C1 (ru) 2018-08-03
US20200177894A1 (en) 2020-06-04
CA2933563A1 (en) 2015-07-02
AU2014371486B2 (en) 2019-05-02
WO2015098562A1 (ja) 2015-07-02
JPWO2015098562A1 (ja) 2017-03-23
CN105850134B (zh) 2020-02-14
AU2014371486A1 (en) 2016-05-05
CN111314694A (zh) 2020-06-19
US10623752B2 (en) 2020-04-14
CN105850134A (zh) 2016-08-10
MX364028B (es) 2019-04-11
CA2933563C (en) 2022-02-22
CN111314694B (zh) 2023-05-05
EP3041235A1 (en) 2016-07-06
MY178498A (en) 2020-10-14
RU2016124469A (ru) 2017-12-25
BR112016014478A2 (pt) 2020-09-08
MX2016008171A (es) 2016-10-21

Similar Documents

Publication Publication Date Title
JP6642631B2 (ja) 画像復号装置および方法
RU2641261C2 (ru) Устройство и способ обработки изображений
KR102336932B1 (ko) 화상 처리 장치 및 방법
JP2015173312A (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2015133320A1 (ja) 画像符号化装置および方法
JP6654434B2 (ja) 画像処理装置および方法
JP2015076861A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
US9930353B2 (en) Image decoding device and method
WO2015064403A1 (ja) 画像処理装置および方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2014208326A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014162916A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
US20160037184A1 (en) Image processing device and method
BR112016014478B1 (pt) Aparelho e método de processamento de imagem

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)