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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102494880B1
KR102494880B1 KR1020207022171A KR20207022171A KR102494880B1 KR 102494880 B1 KR102494880 B1 KR 102494880B1 KR 1020207022171 A KR1020207022171 A KR 1020207022171A KR 20207022171 A KR20207022171 A KR 20207022171A KR 102494880 B1 KR102494880 B1 KR 102494880B1
Authority
KR
South Korea
Prior art keywords
unit
bit
significant digits
bit depth
image
Prior art date
Application number
KR1020207022171A
Other languages
English (en)
Other versions
KR20200112862A (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 KR20200112862A publication Critical patent/KR20200112862A/ko
Application granted granted Critical
Publication of KR102494880B1 publication Critical patent/KR102494880B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 개시는, 부호화 효율의 저감을 억제할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. 화상의 예측 잔차의 유효 자릿수를, 그 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 그 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 그 로컬 레벨의 비트 심도에 기초하여 정규화하고, 그 유효 자릿수가 정규화된 양자화 계수를 부호화하여, 비트 스트림을 생성한다. 본 개시는, 예를 들어 화상 처리 장치, 화상 부호화 장치 또는 화상 복호 장치 등에 적용할 수 있다.

Description

화상 처리 장치 및 방법
본 개시는, 화상 처리 장치 및 방법에 관한 것으로, 특히 부호화 효율의 저감을 억제할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
종래, 화상의 부호화나 복호에 있어서, 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))로 규정되는 입력 화상의 비트 심도 'BitDepth'에 기초하여, 직교 변환이나 양자화(역양자화나 역직교 변환)의 연산 정밀도를 제어하는 방법이 있었다(예를 들어, 비특허문헌 1 참조).
예를 들어, 비특허문헌 1에 기재된 화상 부호화ㆍ복호에 있어서는, 직교 변환이나 양자화(역양자화나 역직교 변환)의 연산 정밀도를 제어하는 스케일링 파라미터 'bdShift'는, 상술한 바와 같이 시퀀스마다 설정되는(SPS에 있어서 규정되는) 비트 심도 'BitDepth'에 기초하여 설정되어 있었다.
J TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "High efficiency video coding", H.265, 12/2016
그러나, 입력 화상의 비트 심도는, 예를 들어 픽처마다 또는 픽처 내의 국소 영역마다 등, 시퀀스 내에 있어서 시간 방향이나 공간 방향으로 변화하는데, 종래의 방법에서는, 직교 변환이나 양자화(역양자화나 역직교 변환)의 연산 정밀도를, 입력 화상의 비트 심도의 그러한 변화에 따라, 시퀀스 내에 있어서 시간 방향이나 공간 방향으로 제어하기가 곤란하였다. 그 때문에, 부호화 효율이 저감될 우려가 있었다.
본 개시는, 이러한 상황을 감안하여 이루어진 것이며, 부호화 효율의 저감을 억제할 수 있도록 하는 것이다.
본 기술의 일 측면의 화상 처리 장치는, 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부와, 상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부를 구비하는 화상 처리 장치이다.
본 기술의 일 측면의 화상 처리 방법은, 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하고, 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 화상 처리 방법이다.
본 기술의 다른 측면의 화상 처리 장치는, 화상의 예측 잔차의 유효 자릿수를, 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부와, 상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부를 구비하는 화상 처리 장치이다.
본 기술의 다른 측면의 화상 처리 방법은, 화상의 예측 잔차의 유효 자릿수를, 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하고, 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 화상 처리 방법이다.
본 기술의 또 다른 측면의 화상 처리 장치는, 비트 스트림을 복호하는 복호부와, 상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부를 구비하는 화상 처리 장치이다.
본 기술의 또 다른 측면의 화상 처리 방법은, 비트 스트림을 복호하고, 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 화상 처리 방법이다.
본 기술의 또 다른 측면의 화상 처리 장치는, 비트 스트림을 복호하는 복호부와, 상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부를 구비하는 화상 처리 장치이다.
본 기술의 또 다른 측면의 화상 처리 방법은, 비트 스트림을 복호하고, 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 화상 처리 방법이다.
본 기술의 일 측면의 화상 처리 장치 및 방법에 있어서는, 화상의 예측 잔차의 유효 자릿수가, 그 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장되고, 그 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수가, 그 로컬 레벨의 비트 심도에 기초하여 정규화되고, 그 유효 자릿수가 정규화된 양자화 계수가 부호화되어, 비트 스트림이 생성된다.
본 기술의 다른 측면의 화상 처리 장치 및 방법에 있어서는, 화상의 예측 잔차의 유효 자릿수가, 그 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장되고, 그 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수가, 그 예측 화상 또는 상기 복호 화상의 로컬 레벨의 비트 심도에 기초하여 정규화되고, 그 유효 자릿수가 정규화된 양자화 계수가 부호화되어, 비트 스트림이 생성된다.
본 기술의 또 다른 측면의 화상 처리 장치 및 방법에 있어서는, 비트 스트림이 복호되고, 그 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수가, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장되고, 그 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수가, 그 로컬 레벨의 비트 심도에 기초하여 정규화된다.
본 기술의 또 다른 측면의 화상 처리 장치 및 방법에 있어서는, 비트 스트림이 복호되고, 그 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수가, 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장되고, 그 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수가, 그 예측 화상 또는 상기 복호 화상의 로컬 레벨의 비트 심도에 기초하여 정규화된다.
본 개시에 따르면, 화상을 처리할 수 있다. 특히, 부호화 효율의 저감을 억제할 수 있다.
도 1은, 연산 정밀도의 제어의 모습의 예를 도시하는 도면이다.
도 2는, 사용 비트 레인지의 예를 도시하는 도면이다.
도 3은, 연산 정밀도의 변화의 모습의 예를 도시하는 도면이다.
도 4는, 픽처간의 비트 심도의 변화의 모습의 예를 도시하는 도면이다.
도 5는, 국소 영역간의 휘도 신호의 비트 심도의 변화의 예를 도시하는 도면이다.
도 6은, 국소 영역간의 휘도 신호의 비트 심도의 변화의 예를 도시하는 도면이다.
도 7은, 국소 영역간의 색차 신호의 비트 심도의 변화의 예를 도시하는 도면이다.
도 8은, 국소 영역간의 색차 신호의 비트 심도의 변화의 예를 도시하는 도면이다.
도 9는, 연산 정밀도의 주된 제어 방법의 일람을 도시하는 도면이다.
도 10은, 방법 #1에 의한 직교 변환이나 양자화의 연산 정밀도의 제어의 모습의 예를 도시하는 도면이다.
도 11은, 방법 #1에 의한 역양자화나 역직교 변환의 연산 정밀도의 제어의 모습의 예를 도시하는 도면이다.
도 12는, 연산 정밀도의 변화의 모습의 예를 도시하는 도면이다.
도 13은, 방법 #2에 의한 직교 변환이나 양자화의 연산 정밀도의 제어의 모습의 예를 도시하는 도면이다.
도 14는, 방법 #2에 의한 역양자화나 역직교 변환의 연산 정밀도의 제어의 모습의 예를 도시하는 도면이다.
도 15는, 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 16은, 제어부의 주된 구성예를 도시하는 블록도이다.
도 17은, 화상 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 18은, dBD, deltaX 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 19는, 입력 화상의 예를 도시하는 도면이다.
도 20은, 확장 비트 정밀도 제어 그룹의 예를 도시하는 도면이다.
도 21은, 확장 비트 정밀도의 예측값의 도출 방법의 예를 도시하는 도면이다.
도 22는, 확장 비트 정밀도 정보 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 23은, 신택스의 예를 도시하는 도면이다.
도 24는, 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 25는, 복호부의 주된 구성예를 도시하는 블록도이다.
도 26은, 화상 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 27은, dBD 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 28은, 화상 부호화 장치의 주된 구성예를 도시하는 블록도이다.
도 29는, 제어부의 주된 구성예를 도시하는 블록도이다.
도 30은, 화상 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 31은, 시퀀스 비트 심도 설정 처리의 흐름의 예를 설명하는 흐름도이다.
도 32는, dBD 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 33은, 확장 비트 정밀도 정보 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 34는, 화상 복호 장치의 주된 구성예를 도시하는 블록도이다.
도 35는, 복호부의 주된 구성예를 도시하는 블록도이다.
도 36은, 화상 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 37은, 시퀀스 비트 심도 도출 처리의 흐름의 예를 설명하는 흐름도이다.
도 38은, 컴퓨터의 주된 구성예를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 실시 형태라고 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 연산 정밀도의 제어
2. 공통 컨셉(각 방법 개요)
3. 제1 실시 형태(방법 #1 상세)
4. 제2 실시 형태(방법 #2 상세)
5. 부기
<1. 연산 정밀도의 제어>
<기술 내용ㆍ기술 용어를 서포트하는 문헌 등>
본 기술에서 개시되는 범위는, 실시예에 기재되어 있는 내용뿐만 아니라, 출원 당시에 있어서 공지로 되어 있는 이하의 비특허문헌에 기재되어 있는 내용도 포함된다.
비특허 문헌 1: (상술)
비특허 문헌 2: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU(International Telecommunication Union), "Advanced video coding for generic audiovisual services", H.264, 04/2017
비특허 문헌 3: Jianle Chen, Elena Alshina, Gary J. Sullivan, Jens-Rainer, Jill Boyce, "Algorithm Description of Joint Exploration Test Model 4", JVET-G1001_v1, Joint Video Exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13-21 July 2017
즉, 상술한 비특허문헌에 기재되어 있는 내용도 서포트 요건을 판단할 때의 근거로 된다. 예를 들어, 비특허문헌 1에 기재되어 있는 Quad-Tree Block Structure, 비특허문헌 3에 기재되어 있는 QTBT(Quad Tree Plus Binary Tree) Block Structure가 실시예에 있어서 직접적인 기재가 없는 경우라도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 충족시키는 것으로 한다. 또한, 예를 들어 파싱(Parsing), 신택스(Syntax), 시맨틱스(Semantics) 등의 기술 용어에 대해서도 마찬가지로, 실시예에 있어서 직접적인 기재가 없는 경우라도, 본 기술의 개시 범위 내이며, 청구범위의 서포트 요건을 충족시키는 것으로 한다.
또한, 본 명세서에 있어서, 화상(픽처)의 부분 영역이나 처리 단위로서 설명에 사용하는 「블록」(처리부를 나타내는 블록이 아님)은, 특별히 언급하지 않는 한, 픽처 내의 임의의 부분 영역을 나타내고, 그 크기, 형상 및 특성 등은 한정되지 않는다. 예를 들어, 「블록」에는, 상술한 비특허문헌 1 내지 비특허문헌 3에 기재된 TB(Transform Block), TU(Transform Unit), PB(Prediction Block), PU(Prediction Unit), SCU(Smallest Coding Unit), CU(Coding Unit), LCU(Largest Coding Unit), CTB(Coding Tree Block), CTU(Coding Tree Unit), 변환 블록, 서브 블록, 매크로 블록, 타일 또는 슬라이스 등, 임의의 부분 영역(처리 단위)이 포함되는 것으로 한다.
또한, 이러한 블록의 사이즈를 지정함에 있어서, 직접적으로 블록 사이즈를 지정할 뿐만 아니라, 간접적으로 블록 사이즈를 지정하도록 해도 된다. 예를 들어 사이즈를 식별하는 식별 정보를 사용하여 블록 사이즈를 지정하도록 해도 된다. 또한, 예를 들어 기준으로 되는 블록(예를 들어 LCU나 SCU 등)의 사이즈와의 비 또는 차분에 의해 블록 사이즈를 지정하도록 해도 된다. 예를 들어, 신택스 요소 등으로서 블록 사이즈를 지정하는 정보를 전송하는 경우에, 그 정보로서, 상술한 바와 같은 간접적으로 사이즈를 지정하는 정보를 사용하도록 해도 된다. 이와 같이 함으로써, 그 정보의 정보량을 저감시킬 수 있어, 부호화 효율을 향상시킬 수 있는 경우도 있다. 또한, 이 블록 사이즈의 지정에는, 블록 사이즈의 범위의 지정(예를 들어, 허용되는 블록 사이즈의 범위의 지정 등)도 포함한다.
<연산 정밀도의 제어>
종래, 예를 들어 비특허문헌 1에 기재된 방법과 같이, 화상의 부호화나 복호에 있어서, 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))로 규정되는 입력 화상의 비트 심도 'BitDepth'에 기초하여, 직교 변환이나 양자화(역양자화나 역직교 변환)의 연산 정밀도를 제어하는 방법이 있었다.
예를 들어, 도 1의 A에 도시되는 바와 같이, 부호화에 있어서, 입력 화상과 그 예측 화상의 차분(예측 잔차)을 구하고(도시하지 않음), 그 예측 잔차 res에 대하여 프라이머리 수평 변환(11), 프라이머리 수직 변환(12), 세컨더리 변환(도시하지 않음), 양자화(13) 및 부호화(14)를 행하는 방법이 있다.
이러한 부호화의 프라이머리 수평 변환(11)에 있어서, 소정의 스케일링 파라미터인 프라이머리 수평 변환 시프트양 fwdShift1을 사용하여 변환 후의 계수 데이터 tmp를 비트 시프트하고, 프라이머리 수직 변환(12)에 있어서, 소정의 스케일링 파라미터인 프라이머리 수직 변환 시프트양 fwdShift2를 사용하여 변환 후의 계수 데이터(변환 계수라고도 칭함) coef를 비트 시프트하고, 양자화(13)에 있어서, 소정의 스케일링 파라미터인 양자화 시프트양 fwdQShift를 사용하여 양자화 후의 계수 데이터(양자화 계수라고도 칭함) qcoef를 비트 시프트함으로써, 각각의 유효 자릿수를 제어하는 방법이 있다. 또한, 이들 스케일링 파라미터 중, 프라이머리 수평 변환 시프트양 fwdShift1과 양자화 시프트양 fwdQShift가, 비트 심도 'bitDepth'에 의존한다.
이러한 부호화에 대응하는 복호의 경우, 도 1의 B에 도시되는 바와 같이, 비트 스트림 bitstream에 대하여, 복호(21), 역양자화(22), 역 세컨더리 변환(도시하지 않음), 역 프라이머리 수직 변환(23) 및 역 프라이머리 수평 변환(24)이 순차적으로 행해지고, 얻어진 예측 잔차 resrec에 대하여 예측 화상이 가산되어(도시하지 않음) 복호 화상이 얻어진다.
이러한 복호의 역양자화(22)에 있어서, 소정의 스케일링 파라미터인 역양자화 시프트양 invQShift를 사용하여 역양자화 후의 계수 데이터(즉 변환 계수) coef를 비트 시프트하고, 역 프라이머리 수직 변환(23)에 있어서, 소정의 스케일링 파라미터인 역 프라이머리 수직 변환 시프트양 invShift1을 사용하여 변환 후의 계수 데이터 tmp를 비트 시프트하고, 역 프라이머리 수평 변환(24)으로서, 소정의 스케일링 파라미터인 역 프라이머리 수평 변환 시프트양 invShift2를 사용하여 변환 후의 잔차 데이터(즉 예측 잔차) resrec를 비트 시프트함으로써, 각각의 유효 자릿수를 제어하는 방법이 있다. 또한, 이들 스케일링 파라미터 중, 역 프라이머리 수평 변환 시프트양 invShift2와 역양자화 시프트양 invQShift가, 비트 심도 'bitDepth'에 의존한다.
즉, 좁은 레인지의 신호를 상정한 경우, 데이터가 취할 수 있는 최솟값 coefMin 내지 최댓값 coefMax의 풀 레인지를 사용하여 연산되는 일은 없다. 즉, 도 2에 도시되는 바와 같이, 데이터의 LSB(Least Significant Bit) 내지 MSB(Most Significant Bit)의 비트 폭 (log2TransformRange+1)bit에는, 계수의 수치 표현에 사용되고 있는 비트 필드(도면 중 사선 부분)와, 사용되고 있지 않은 비트 필드(도면 중 흰 바탕 부분)가 존재한다. 즉, 최솟값 coefMin 내지 최댓값 coefMax의 범위 내에서, 사용되고 있지 않은 비트 필드의 일부를 계수의 유효 자릿수를 올리는 비트로서 사용할 여지가 있다.
도 1의 예에서는, 이 여지(사용되지 않는 레인지)를 이용하여 계수 데이터를 비트 시프트함으로써, 직교 변환이나 양자화(역양자화나 역직교 변환)에 있어서의 계수 데이터의 유효 자릿수(즉 연산 정밀도)를 제어하고 있다. 예를 들어 복호의 경우, 역양자화, 역수직 변환, 역수평 변환의 각 처리에 있어서, 계수 데이터나 잔차 데이터의 유효 자릿수는, 도 3과 같이 확장된다. 데이터의 유효 자릿수가 확장됨으로써, 연산 정밀도가 향상된다.
그러나, 입력 화상의 비트 심도는, 예를 들어 픽처마다 또는 픽처 내의 국소 영역마다 등, 시퀀스 내에 있어서도 시간 방향이나 공간 방향으로 변화할 수 있다. 예를 들어, 도 4의 A에 도시되는 프레임(41)에 있어서는, 조명이 적고 전체가 어두운 화상으로 되어 있다. 이 프레임(41) 내의 화소값의 분포는 히스토그램(42)과 같이 되고, 신호의 레인지(화소값의 최솟값 내지 최댓값의 폭)(이하, 비트 심도라고도 칭함)는 9비트이다.
도 4의 B에 도시되는 프레임(43)은, 프레임(41)의 다음 프레임이다. 프레임(43)은, 조명이 많고 전체가 밝은 화상으로 되어 있다. 이 프레임(43)의 화소값의 분포는 히스토그램(44)과 같이 되고, 비트 심도는 10비트이다.
이와 같이 예를 들어 조명 변동 등이 일어나면, 픽처간에서 신호의 레인지(비트 심도)가 변화한다. 즉, 시퀀스 내에 있어서도 시간 방향의 비트 심도의 변화가 일어날 수 있다.
또한, 픽처 내에 있어서도, 국소 영역마다 비트 심도가 변화하는 경우도 있을 수 있다. 즉, 공간 방향의 비트 심도의 변화도 일어날 수 있다. 예를 들어, 도 5에 도시되는 휘도 신호의 픽처(45)를 4×4로 16분할하고, 각각을 국소 영역(국소 영역(00) 내지 국소 영역(33))으로 하면, 이 휘도 신호의 픽처(45)의 각 국소 영역의 화소값의 히스토그램은, 도 6과 같이 된다. 즉, 픽처(45)의 국소 영역(30 및 33)의 비트 심도는 9비트이고, 픽처 전체(all)나 그 밖의 국소 영역의 비트 심도는 10비트이다. 이와 같이, 휘도 신호의 비트 심도는, 픽처 내의 휘도 분포에 따라, 공간 방향으로 변화할 수 있다.
또한, 예를 들어 도 7에 도시되는 색차 신호(Cb)의 픽처(46)를 4×4로 16분할하고, 각각을 국소 영역(국소 영역(00) 내지 국소 영역(33))으로 하면, 이 색차 신호의 픽처(46)의 각 국소 영역의 화소값의 히스토그램은, 도 8과 같이 된다. 즉, 이 경우, 픽처(46)에는, 비트 심도가 7비트인 국소 영역, 비트 심도가 8비트인 국소 영역, 9비트인 국소 영역이 존재한다. 이와 같이, 색차 신호의 비트 심도는, 픽처 내의 색차 분포에 따라 공간 방향으로 변화할 수 있다.
이에 비해, 직교 변환이나 양자화(역양자화나 역직교 변환)에 사용되는 스케일링 파라미터는, 상술한 바와 같이 시퀀스 파라미터 세트로 세트된다. 즉, 직교 변환이나 양자화(역양자화나 역직교 변환)에 있어서의 유효 자릿수의 제어는, 시퀀스마다 행해진다.
그 때문에, 직교 변환이나 양자화(역양자화나 역직교 변환)의 연산 정밀도를, 입력 화상의 비트 심도의 변화에 따라, 시퀀스 내에 있어서 시간 방향이나 공간 방향으로 제어하기가 곤란하였다. 그 때문에, 부호화 효율이 저감될 우려가 있었다.
<2. 공통 컨셉>
<시퀀스 내에 있어서의 연산 정밀도의 제어>
그래서, 화상의 예측 잔차의 유효 자릿수를, 그 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 그 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 그 로컬 레벨의 비트 심도에 기초하여 정규화하고, 그 유효 자릿수가 정규화된 양자화 계수를 부호화하여, 비트 스트림을 생성하도록 한다.
예를 들어, 화상 처리 장치에 있어서, 화상의 예측 잔차의 유효 자릿수를, 그 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 그 신장부에 의해 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 그 로컬 레벨의 비트 심도에 기초하여 정규화하는 정규화부와, 그 정규화부에 의해 유효 자릿수가 정규화된 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부를 구비하도록 한다.
이와 같이 함으로써, 계수의 유효 자릿수를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어한 상태로 직교 변환이나 양자화를 행할 수 있다. 즉, 직교 변환 및 양자화의 연산 정밀도를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
또한, 비트 스트림을 복호하고, 그 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 그 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 그 로컬 레벨의 비트 심도에 기초하여 정규화하도록 한다.
예를 들어, 화상 처리 장치에 있어서, 비트 스트림을 복호하는 복호부와, 그 복호부에 의해 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 그 신장부에 의해 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 그 로컬 레벨의 비트 심도에 기초하여 정규화하는 정규화부를 구비하도록 한다.
이와 같이 함으로써, 계수의 유효 자릿수를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어한 상태로 역양자화나 역직교 변환을 행할 수 있다. 즉, 역양자화 및 역직교 변환의 연산 정밀도를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
또한, 화상의 예측 잔차의 유효 자릿수를, 그 화상에 대응하는 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 그 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 그 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 로컬 레벨의 비트 심도에 기초하여 정규화하고, 그 유효 자릿수가 정규화된 양자화 계수를 부호화하여, 비트 스트림을 생성하도록 한다.
예를 들어, 화상 처리 장치에 있어서, 화상의 예측 잔차의 유효 자릿수를, 그 화상에 대응하는 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 그 신장부에 의해 유효 자릿수가 신장된 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 그 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 로컬 레벨의 비트 심도에 기초하여 정규화하는 정규화부와, 그 정규화부에 의해 유효 자릿수가 정규화된 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부를 구비하도록 한다.
이와 같이 함으로써, 계수의 유효 자릿수를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어한 상태로 직교 변환이나 양자화를 행할 수 있다. 즉, 직교 변환 및 양자화의 연산 정밀도를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
또한, 비트 스트림을 복호하고, 그 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고, 그 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 그 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 로컬 레벨의 비트 심도에 기초하여 정규화하도록 한다.
예를 들어, 화상 처리 장치에 있어서, 비트 스트림을 복호하는 복호부와, 그 복호부에 의해 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와, 그 신장부에 의해 유효 자릿수가 신장된 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 그 예측 화상(또는 그 예측 화상을 생성할 때 참조하는 복호 화상)의 로컬 레벨의 비트 심도에 기초하여 정규화하는 정규화부를 구비하도록 한다.
이와 같이 함으로써, 역양자화 및 역직교 변환에 있어서의 데이터의 유효 자릿수를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어할 수 있다. 즉, 역양자화 및 역직교 변환의 연산 정밀도를, 시퀀스 내에 있어서도 시간 방향 또는 공간 방향에 대하여 제어할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
<제어예>
이상과 같은 연산 정밀도의 제어예의 일람을 도 9에 도시한다. 도 9에 도시되는 표에 있어서, 최상단의 항목명의 행을 제외하고, 위에서부터 1단째 예(방법 #1)의 경우, 부호화측에 있어서는, 유효 자릿수의 제어의 보정량을 나타내는 파라미터인 확장 비트 정밀도 dBD는, 입력 화상으로부터 도출된다. 그리고, 그 확장 비트 정밀도 dBD를 사용한 유효 자릿수의 제어(신장이나 정규화)는, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리와는 별도로(분리하여) 행해진다. 보다 구체적으로는, 이들 처리 전에 예측 잔차나 양자화 계수의 유효 자릿수가, 이 확장 비트 정밀도 dBD를 사용하여 신장된다. 또한, 이들 처리 후에 계수 데이터나 잔차 데이터가, 이 확장 비트 정밀도 dBD를 사용하여 정규화된다.
그리고, 그 확장 비트 정밀도 dBD를 사용한 차분 파라미터 deltaX가, 부호화측으로부터 복호측으로 전송된다. 복호측에 있어서는, 확장 비트 정밀도 dBD는, 그 전송되어 온 차분 파라미터 deltaX를 사용하여 도출된다. 그리고, 그 확장 비트 정밀도 dBD를 사용한 유효 자릿수의 제어(신장이나 정규화)는, 역양자화 처리 및 역직교 변환 처리와는 별도로(분리하여) 행해진다. 보다 구체적으로는, 이들 처리 전에, 양자화 계수의 유효 자릿수가, 이 확장 비트 정밀도 dBD를 사용하여 신장된다. 또한, 이들 처리 후에 잔차 데이터가, 이 확장 비트 정밀도 dBD를 사용하여 정규화된다.
따라서, 방법 #1의 경우, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리의 연산 정밀도를 향상시킬 수 있다(즉, 연산 정밀도의 저감을 억제할 수 있다). 따라서, 부호화 효율을 향상시킬 수 있다(즉, 부호화 효율의 저감을 억제할 수 있다).
또한, 이 확장 비트 정밀도 dBD를 사용하여 유효 자릿수의 제어(신장이나 정규화)를, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리와는 별도의 처리로서(이들 처리와는 분리하여) 행할 수 있다. 따라서, 종래의 처리부(직교 변환부, 양자화부, 역양자화부, 역직교 변환부 등)를 사용하여 이러한 부호화를 실현할 수 있고, 부호화나 복호에 관한 처리의 부하(예를 들어 회로 규모 등의 실장 비용, 설계나 개발의 난이도 등)의 증대를 억제할 수 있다.
또한, 차분 파라미터 deltaX를 부호화측으로부터 복호측으로 전송하기 위해, 부호화측이, 복호측에 있어서 사용되는 확장 비트 정밀도 dBD를 제어할 수 있다. 즉, 예를 들어 부호화측이 복호측에 있어서의 연산 정밀도(데이터의 유효 자릿수)를 제어할 수 있는 등, 부호화측의 처리의 자유도를 향상시킬 수 있다.
또한, 도 9의 표의 위에서부터 2단째 예(방법 #2)의 경우, 부호화측도 복호측도, 확장 비트 정밀도 dBD는, 예측 화상(또는 그 예측 화상 생성에서 참조하는 복호 화상)으로부터 도출된다. 즉 이 경우, 차분 파라미터 deltaX의 전송은 생략된다. 그리고, 그 확장 비트 정밀도 dBD를 사용한 유효 자릿수의 제어(신장이나 정규화)는, 방법 #1의 경우와 마찬가지로, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리와는 별도로(분리하여) 행해진다. 보다 구체적으로는, 이들 처리 전에 예측 잔차나 양자화 계수의 유효 자릿수가, 이 확장 비트 정밀도 dBD를 사용하여 신장된다. 또한, 이들 처리 후에 계수 데이터나 잔차 데이터가, 이 확장 비트 정밀도 dBD를 사용하여 정규화된다.
따라서, 방법 #2의 경우, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리의 연산 정밀도를 향상시킬 수 있다(즉, 연산 정밀도의 저감을 억제할 수 있다). 따라서, 부호화 효율을 향상시킬 수 있다(즉, 부호화 효율의 저감을 억제할 수 있다).
또한, 이 확장 비트 정밀도 dBD를 사용하여 유효 자릿수의 제어(신장이나 정규화)를, 직교 변환 처리 및 양자화 처리, 그리고 역양자화 처리 및 역직교 변환 처리와는 별도의 처리로서(이들 처리와는 분리하여) 행할 수 있다. 따라서, 종래의 처리부(직교 변환부, 양자화부, 역양자화부, 역직교 변환부 등)를 사용하여 이러한 부호화를 실현할 수 있어, 설계나 개발의 난이도의 증대를 억제할 수 있다.
또한, 상술한 바와 같이 차분 파라미터 deltaX의 전송이 생략되기 때문에, 그만큼, 부호화 효율을 향상시킬 수 있다(확장 비트 정밀도 dBD에 관한 오버헤드를 삭감할 수 있다).
<방법 #1 개요>
예를 들어, 방법 #1의 경우, 부호화에 있어서, 프라이머리 수평 변환(11) 내지 부호화(14)의 각 처리가, 도 10과 같이 행해진다.
프라이머리 수평 변환(11)에 있어서는, 프라이머리 수평 변환 처리가 행해짐과 함께, 시퀀스 레벨의 프라이머리 수평 변환 시프트양 fwdShift1이 사용되어, 계수 데이터 tmp의 유효 자릿수가 제어된다. 보다 구체적으로는, 계수 데이터 tmp가, fwdShift1 비트만큼 비트 시프트된다(>>fwdShift1).
프라이머리 수직 변환(12)에 있어서는, 프라이머리 수직 변환 처리가 행해짐과 함께, 시퀀스 레벨의 프라이머리 수직 변환 시프트양 fwdShift2가 사용되어, 변환 계수 coef의 유효 자릿수가 제어된다. 보다 구체적으로는, 변환 계수 coef가, fwdShift2 비트만큼 비트 시프트된다(>>fwdShift2).
양자화(13)에 있어서는, 양자화 처리가 행해짐과 함께, 시퀀스 레벨의 양자화 시프트양 fwdQShift가 사용되어, 양자화 계수 qcoef의 유효 자릿수가 제어된다. 보다 구체적으로는, 양자화 계수 qcoef가, fwdQShift 비트만큼 비트 시프트된다(>>fwdQShift).
부호화(14)에 있어서는, 양자화 계수 qcoef가 부호화되어 비트 스트림 bitstream이 얻어진다.
또한, 입력 화상(Input sequence)에 대하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨(block)마다의 화소값의 최솟값(minPixelVal) 및 최댓값(maxPixelVal)을 탐색하는 처리인 영역별 화소 최솟값 최댓값 탐색(51)을 행한다.
그리고, 이 탐색에 의해 검출된 로컬 레벨마다의 화소값의 최솟값(minPixelVal) 및 최댓값(maxPixelVal)을 사용하여, 그 로컬 레벨마다 확장 비트 정밀도 dBD를 도출하는 dBD 도출(52)을 행한다. 이 dBD 도출(52)에 있어서는, 예를 들어 각 로컬 레벨의 비트 심도 LocalBitDepth를, 로컬 레벨마다의 화소값의 최솟값(minPixelVal) 및 최댓값(maxPixelVal)을 사용하여, 이하의 식 (1)과 같이 도출한다.
또한, 식 (1)로 도출된 로컬의 비트 심도 LocalBitDepth를, 소정의 역치 minLocalBitDepth(예를 들어, 8)를 참조하고, 추가로 식 (1A)에 나타내는 바와 같이, LocalBitDepth=max(minLocalBitDepth, LocalBitDepth)로서 보정해도 된다. 이와 같이 함으로써, 후속의 식 (2)로 도출되는 확장 비트 정밀도 dBD의 값이 지나치게 커지는(즉, 유효 자릿수를 지나치게 높여 중간 계수 데이터가 최솟값 coefMin 내지 최댓값 coefMax의 범위를 초과해 버리는) 케이스의 발생을 억제할 수 있다. 또한, 식 (1A)에 있어서, 연산자 max(x, y)는 수치 x, y 중 큰 값을 반환하는 연산자이다.
LocalBitDepth = ceil(log2(maxPixelVal - minPixelVal)) … (1)
LocalBitDepth = max(minLocalBitDepth, LocalBitDepth) … (1A)
또한, log2(x)는, 2를 밑으로 하는 실수 x의 대수값을 반환하는 함수이고, ceil(x)는, 실수 x에 대하여, x 이상의 최소의 정수를 반환하는 천장 함수이다. 그리고, 확장 비트 정밀도 dBD를, 그 로컬 레벨의 비트 심도 LocalBitDepth와 시퀀스 레벨의 비트 심도 channelBitDepth를 사용하여, 이하의 식 (2)와 같이 도출한다.
dBD = channelBitDepth - LocalBitDepth … (2)
또한, 편의상, 시퀀스 레벨의 비트 심도 channelBitDepth를 - 파라미터로서 참조하여 결정되는 유효 자릿수의 제어량(시프트양, 스케일링 파라미터)을, 시퀀스 레벨의 유효 자릿수의 제어량(시프트양, 스케일링 파라미터)이라고 칭하고, 상술한 확장 비트 정밀도 dBD에 의해 보정된 시퀀스 레벨의 유효 자릿수의 제어량(시프트양, 스케일링 파라미터)을, 보정 제어량(보정 시프트양, 보정 스케일링 파라미터)이라고 칭한다.
또한, 이 dBD 도출(52)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 차분 파라미터 deltaX를 도출하는 deltaX 도출(53)을 행한다. 이 deltaX 도출(53)에 있어서는, 예를 들어 슬라이스 레벨의 비트 심도 sliceBitDepth를, 슬라이스 레벨마다의 화소값의 최솟값(slice_min_val) 및 최댓값(slice_max_val)을 사용하여, 이하의 식 (3)과 같이 도출한다.
sliceBitDepth = ceil(log2(slice_max_val - slice_min_val)) … (3)
그리고, 차분 파라미터 deltaX를, 확장 비트 정밀도 dBD, 슬라이스 레벨의 비트 심도 sliceBitDepth 및 시퀀스 레벨의 비트 심도 channelBitDepth를 사용하여, 이하의 식 (4)와 같이 도출한다.
deltaX = dBD + sliceBitDepth - channelBitDepth … (4)
또한, dBD 도출(52)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 예측 잔차 resi의 유효 자릿수를 제어하는 처리인 신장(54)을 행한다. 이 신장(54)에 있어서는, 예를 들어 예측 잔차 resi를, 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 예측 잔차 resiS를 도출한다. 즉, 이 신장(54)에 의해, 직교 변환이나 양자화가 행해지기 전에 계수 데이터의 유효 자릿수가 신장된다. 프라이머리 수평 변환(11)에 있어서는, 이 예측 잔차 resiS에 대한 프라이머리 수평 변환이 행해진다.
또한, dBD 도출(52)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 양자화 계수 qcoef의 유효 자릿수를 제어하는 처리인 정규화(55)를 행한다. 이 정규화(55)에 있어서는, 예를 들어 양자화 계수 qcoef를, 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트한다(>>dBD). 즉, 이 정규화(55)에 의해, 직교 변환이나 양자화가 행해진 후의 계수 데이터의 유효 자릿수가 정규화된다. 부호화(14)에 있어서는, 이와 같이 정규화된 양자화 계수 qcoef에 대한 부호화가 행해진다.
부호화(14)에 있어서는, 또한 deltaX 도출(53)에 있어서 도출된 차분 파라미터 deltaX를 부호화하여, 비트 스트림에 포함시킨다(차분 파라미터 deltaX를 포함하는 비트 스트림을 생성한다). 즉, 차분 파라미터 deltaX를 부호화측으로부터 복호측으로 전송한다. 이에 의해, 복호측에 있어서도, 이 차분 파라미터 deltaX를 사용하여 확장 비트 정밀도 dBD를 도출할 수 있다.
또한, 예를 들어 방법 #1의 경우, 복호에 있어서, 복호(21) 내지 역 프라이머리 수평 변환(24)의 각 처리는, 도 11과 같이 행해진다.
복호(21)에 있어서는, 비트 스트림 bitstream이 복호되어, 양자화 계수 qcoef가 얻어진다.
역양자화(22)에 있어서는, 역양자화 처리가 행해짐과 함께, 시퀀스 레벨의 역양자화 시프트양 invQShift가 사용되어, 변환 계수 coefS'의 유효 자릿수가 제어된다. 보다 구체적으로는, 변환 계수 coef가, invQShift 비트만큼 비트 시프트된다(>>invQShift).
역 프라이머리 수직 변환(23)에 있어서는, 역 프라이머리 수직 변환 처리가 행해짐과 함께, 시퀀스 레벨의 역 프라이머리 수직 변환 시프트양 invShift1이 사용되어, 계수 데이터 tmp의 유효 자릿수가 제어된다. 보다 구체적으로는, 계수 데이터 tmp가, invShift1 비트만큼 비트 시프트된다(>>invShift1).
역 프라이머리 수평 변환(24)에 있어서는, 역 프라이머리 수평 변환 처리가 행해짐과 함께, 시퀀스 레벨의 역 프라이머리 수평 변환 시프트양 invShift2가 사용되어, 예측 잔차 resiS'의 유효 자릿수가 제어된다. 보다 구체적으로는, 예측 잔차 resiS'가, invShift2 비트만큼 비트 시프트된다(>>invShift2).
또한, 복호(21)에 있어서, 시퀀스 레벨의 비트 심도 channelBitDepth 및 슬라이스 레벨의 비트 심도 sliceBitDepth가 도출되어, 추가로 차분 파라미터 deltaX를 얻는다.
이 시퀀스 레벨의 비트 심도 channelBitDepth, 슬라이스 레벨의 비트 심도 sliceBitDepth, 차분 파라미터 deltaX를 사용하여, 확장 비트 정밀도 dBD를 도출하는 dBD 도출(61)을 행한다. 이 dBD 도출(61)에 있어서는, 확장 비트 정밀도 dBD를, 그들의 파라미터를 사용하여, 이하의 식 (5)와 같이 도출한다.
dBD = channelBitDepth - sliceBitDepth + deltaX … (5)
또한, dBD 도출(61)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 양자화 계수 qcoef의 유효 자릿수를 제어하는 처리인 신장(62)을 행한다. 이 신장(62)에 있어서는, 예를 들어 양자화 계수 qcoef를, 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 양자화 계수 qcoefS'를 도출한다. 즉, 이 신장(62)에 의해, 역양자화나 역직교 변환이 행해지기 전에 계수 데이터의 유효 자릿수가 신장된다. 역양자화(22)에 있어서는, 이 유효 자릿수가 신장된 양자화 계수 qcoefS'에 대한 역양자화가 행해진다.
또한, dBD 도출(61)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 예측 잔차 resiS'의 유효 자릿수를 제어하는 처리인 정규화(63)를 행한다. 이 정규화(63)에 있어서는, 예를 들어 예측 잔차 resiS'를, 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트한다(>>dBD). 즉, 이 정규화(63)에 의해, 역양자화나 역직교 변환이 행해진 후의 계수 데이터의 유효 자릿수가 정규화된다.
상술한 바와 같이 신장(62) 및 정규화(63)가, 로컬 레벨의 확장 비트 정밀도 dBD를 사용하여 유효 자릿수를 제어하므로, 이러한 유효 자릿수의 확장(제어)을, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 행할 수 있다. 따라서, 예를 들어 복호의 경우, 도 12에 도시되는 바와 같이, 계수의 유효 자릿수를 시퀀스 레벨의 확장(도 3)보다 더 확장한 상태로, 역양자화, 역수직 변환, 역수평 변환의 각 처리를 행할 수 있다. 유효 자릿수가 확장됨으로써, 연산 정밀도가 향상된다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
상술한 부호화의 경우도 마찬가지이며, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 유효 자릿수를 제어할 수 있으므로, 수평 변환, 수직 변환, 양자화의 각 처리에 있어서, 계수의 유효 자릿수를, 시퀀스 레벨의 확장으로부터 더 확장할 수 있다. 따라서 연산 정밀도가 향상되고, 부호화 효율의 저감을 억제할 수 있다.
또한, 부호화의 경우, 역양자화, 역수직 변환, 역수평 변환의 각 처리에 있어서도, 복호의 경우와 마찬가지로, 유효 자릿수가 제어된다. 즉, 복호의 경우와 마찬가지로 유효 자릿수를 확장할 수 있다. 즉, 이들 처리의 연산 정밀도를 향상시킬 수 있고, 부호화 효율의 저감을 억제할 수 있다.
<방법 #2 개요>
예를 들어, 도 9의 방법 #2의 부호화의 경우, 방법 #1의 경우와 마찬가지로, 프라이머리 수평 변환(11) 내지 부호화(14)의 각 처리는, 도 13과 같이 행해진다.
또한, 예측(71)에 있어서는, 입력 화상에 대응하는 예측 화상이 생성된다. 또한, 연산(72)에 있어서는, 입력 화상과 예측(71)에 의해 생성된 예측 화상의 차분(예측 잔차 resi)이 구해진다.
이 방법 #2의 경우, 영역별 화소 최솟값 최댓값 탐색(51)은, 예측(71)에 의해 얻어진 예측 화상에 대하여 행한다. 즉, 영역별 화소 최솟값 최댓값 탐색(51)에 의해, 예측 화상의 로컬 레벨(block)마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)이 탐색된다.
그리고, dBD 도출(52)에 있어서, 이 탐색에 의해 검출된 예측 화상의 로컬 레벨마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 사용하여, 확장 비트 정밀도 dBD를 도출한다. 예를 들어, 예측 화상의 각 로컬 레벨의 비트 심도 PredBitDepth를, 예측 화상의 로컬 레벨마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 사용하여, 이하의 식 (6)과 같이 도출한다.
또한, 식 (6)으로 도출된 로컬 레벨의 비트 심도 PredBitDepth를, 소정의 역치 minLocalBitDepth(예를 들어, 8)를 참조하여, 추가로 식 (6A)에 나타내는 바와 같이, PredBitDepth=max(minLocalBitDepth, PredBitDepth)로서 보정해도 된다. 이와 같이 함으로써, 후속의 식 (7)로 도출되는 확장 비트 정밀도 dBD가 지나치게 커지는(즉, 유효 자릿수를 지나치게 높여 중간 계수 데이터가 최솟값 coefMin 내지 최댓값 coefMax의 범위를 초과해 버리는) 케이스의 발생을 억제할 수 있다. 또한, 식 (6A)에 있어서, 연산자 max(x, y)는 수치 x, y 중 큰 값을 반환하는 연산자이다.
PredBitDepth = ceil(log2(maxPredPixelVal - minPredPixelVal)) … (6)
PredBitDepth = max(minLocalBitDepth, PredBitDepth) … (6A)
그리고, 확장 비트 정밀도 dBD를, 그 예측 화상의 로컬 레벨의 비트 심도 PredBitDepth와 시퀀스 레벨의 비트 심도 channelBitDepth를 사용하여, 이하의 식 (7)과 같이 도출한다.
dBD = channelBitDepth - PredBitDepth … (7)
이와 같이 dBD 도출(52)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 예측 잔차 resi의 유효 자릿수를 제어하는 처리인 신장(54)을 행한다. 이 신장(54)에 있어서는, 예를 들어 예측 잔차 resi를, 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 예측 잔차 resiS를 도출한다. 즉, 이 신장(54)에 의해, 직교 변환이나 양자화가 행해지기 전에 계수 데이터의 유효 자릿수가 신장된다. 프라이머리 수평 변환(11)에 있어서는, 이 예측 잔차 resiS에 대한 프라이머리 수평 변환이 행해진다.
또한, dBD 도출(52)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 양자화 계수 qcoefS의 유효 자릿수를 제어하는 처리인 정규화(55)를 행한다. 이 정규화(55)에 있어서는, 예를 들어 양자화 계수 qcoefS를, 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트한다(>>dBD). 즉, 이 정규화(55)에 의해, 직교 변환이나 양자화가 행해진 후의 계수 데이터의 유효 자릿수가 정규화된다. 부호화(14)에 있어서는, 이와 같이 양자화 계수 qcoefS가 정규화되어 얻어진 양자화 계수 qcoef에 대한 부호화가 행해진다.
단, 이 방법 #2의 경우, deltaX 도출(53)의 처리가 생략되고, 부호화(14)에 있어서 차분 파라미터 deltaX의 부호화에 관한 처리가 생략된다. 즉, 방법 #2의 경우, 차분 파라미터 deltaX의 부호화측으로부터 복호측으로의 전송이 생략된다.
또한, 예를 들어 방법 #2의 복호의 경우, 방법 #1의 경우와 마찬가지로, 복호(21) 내지 역 프라이머리 수평 변환(24)의 각 처리는, 도 14와 같이 행해진다. 또한, 예측(81)에 있어서는, 입력 화상에 대응하는 예측 화상이 생성된다.
이 방법 #2의 경우, 그 예측(81)에 의해 얻어진 예측 화상에 대하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨(block)마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 탐색하는 처리인 영역별 화소 최솟값 최댓값 탐색(83)을 행한다.
그리고, dBD 도출(61)에 있어서, 이 탐색에 의해 검출된 예측 화상의 로컬 레벨마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 사용하여, 확장 비트 정밀도 dBD를 도출한다. 예를 들어, 예측 화상의 각 로컬 레벨의 비트 심도 PredBitDepth를, 예측 화상의 로컬 레벨마다의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 사용하여, 상술한 식 (6)과 같이 도출한다.
그리고, 확장 비트 정밀도 dBD를, 그 예측 화상의 로컬 레벨의 비트 심도 PredBitDepth와 시퀀스 레벨의 비트 심도 channelBitDepth를 사용하여, 상술한 식 (7)과 같이 도출한다.
신장(62)에 있어서, 이와 같이 dBD 도출(61)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 양자화 계수 qcoef의 유효 자릿수를 제어한다. 이 신장(62)에 있어서는, 예를 들어 양자화 계수 qcoef를, 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 양자화 계수 qcoefS'를 도출한다. 즉, 이 신장(62)에 의해, 역양자화나 역직교 변환이 행해지기 전에 계수 데이터의 유효 자릿수가 신장된다. 역양자화(22)에 있어서는, 이 양자화 계수 qcoefS'에 대한 역양자화가 행해진다.
정규화(63)에 있어서, dBD 도출(61)에 있어서 도출된 확장 비트 정밀도 dBD를 사용하여, 양자화 계수 qcoefS의 유효 자릿수를 제어한다. 이 정규화(63)에 있어서는, 예를 들어 예측 잔차 resiS'를, 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트한다(>>dBD). 즉, 이 정규화(63)에 의해, 역양자화나 역직교 변환이 행해진 후의 계수 데이터의 유효 자릿수가 정규화된다. 연산(82)에 있어서는, 이와 같이 예측 잔차 resiS'가 정규화되어 얻어진 예측 잔차 resi'와, 예측(81)에 있어서 생성된 예측 화상의 가산이 행해져, 복원 화상 rec'가 얻어진다.
상술한 바와 같이 신장(62) 및 정규화(63)가, 로컬 레벨의 확장 비트 정밀도 dBD를 사용하여 유효 자릿수를 제어하므로, 이러한 유효 자릿수의 확장(제어)을, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 행할 수 있다. 따라서, 예를 들어 복호의 경우, 도 12에 도시되는 바와 같이, 계수의 유효 자릿수를 시퀀스 레벨의 확장(도 3)보다 더 확장한 상태로, 역양자화, 역수직 변환, 역수평 변환의 각 처리를 행할 수 있다. 유효 자릿수가 확장됨으로써, 연산 정밀도가 향상된다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
상술한 부호화의 경우도 마찬가지이며, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 유효 자릿수를 제어할 수 있으므로, 수평 변환, 수직 변환, 양자화의 각 처리에 있어서, 계수의 유효 자릿수를, 시퀀스 레벨의 확장으로부터 더 확장할 수 있다. 따라서 연산 정밀도가 향상되고, 부호화 효율의 저감을 억제할 수 있다.
또한, 부호화의 경우, 역양자화, 역수직 변환, 역수평 변환의 각 처리에 있어서도, 복호의 경우와 마찬가지로, 유효 자릿수가 제어된다. 즉, 복호의 경우와 마찬가지로 유효 자릿수를 확장할 수 있다. 즉, 이들 처리의 연산 정밀도를 향상시킬 수 있고, 부호화 효율의 저감을 억제할 수 있다.
또한, 방법 #2에서는, 도 13(도 14)에 도시하는 바와 같이, 처리 대상 블록의 로컬 레벨의 비트 심도를, 예측(71(81))에서 얻어지는 처리 대상 블록에 대응하는 예측 화상을 참조하여, 식 (6) 및 식 (6A)에 의해 도출하고 있지만, 예측 화상 대신에, 해당 예측 화상 생성에서 참조하는 복호 화상을 사용하여, 처리 대상 블록의 로컬 비트 심도를 도출해도 된다(방법 #2').
즉, 도 13(도 14)에 있어서, 예측(71(81))에 있어서 예측 화상 생성에서 참조하는 복호 화상 Recref에 대하여, 영역별 화소 최솟값 최댓값 탐색(51(83))이 행해지고, 로컬 레벨(block)마다의 화소값의 최솟값(minRecPixelVal) 및 최댓값(maxRecPixelVal)이 탐색된다. 계속해서, 이 탐색에 의해 검출된 복호 화상의 로컬 레벨마다의 화소값의 최솟값(minRecPixelVal) 및 최댓값(maxRecPixelVal)을 사용하여, dBD 도출(52(61))이 행해진다. 이 dBD 도출(52(61))에 있어서는, 복호 화상의 각 로컬 레벨의 비트 심도 RecBitDepth가, 이하의 식 (6') 및 (6A')와 같이 도출된다. 그리고, 확장 비트 정밀도 dBD가, 식 (7')와 같이 도출된다.
RecBitDepth = ceil(log2(maxRecPixelVal - minRecPixelVal)) … (6')
RecBitDepth = max(minLocalBitDepth, recBitDepth) … (6A')
dBD = channelBitDepth - RecBitDepth … (7')
이와 같이 함으로써, 방법 #2'는, 예측 화상을 참조하여 확장 비트 정밀도 dBD를 도출하는 방법(방법 #2)과 마찬가지의 효과를 발휘한다. 또한, 방법 #2'의 방법 #2에 대한 장점은, 예측 화상을 생성하지 않아도, 복호 화상만으로 확장 비트 정밀도 dBD를 도출 가능한 점이다.
또한, 상기에 있어서, 복호 화상 Recref란, 인트라 예측이면, 대상 블록의 인트라 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역을 가리키고, 인터 예측이면, 대상 블록의 인터 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역이다.
<3. 제1 실시 형태>
<화상 부호화 장치>
제1 실시 형태에 있어서는, 상술한 방법 #1의 상세에 대하여 설명한다. 우선, 부호화 시에 그러한 연산 정밀도의 제어를 행하는 구성에 대하여 설명한다. 도 15는, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 부호화 장치의 구성의 일례를 도시하는 블록도이다. 도 15에 도시되는 화상 부호화 장치(100)는, 동화상의 화상 데이터를 부호화하는 장치이다. 예를 들어, 화상 부호화 장치(100)는, 비특허문헌 1 내지 비특허문헌 3에 기재되어 있는 기술을 실장하고, 그들 문헌 중 어느 것에 기재된 규격에 준거한 방법으로 동화상의 화상 데이터를 부호화한다.
또한, 도 15에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 15에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 부호화 장치(100)에 있어서, 도 15에 있어서 블록으로서 나타나 있지 않은 처리부가 존재하거나, 도 15에 있어서 화살표 등으로서 나타나 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다. 이것은, 화상 부호화 장치(100) 내의 처리부 등을 설명하는 다른 도면에 있어서도 마찬가지이다.
도 15에 도시되는 바와 같이 화상 부호화 장치(100)는, 제어부(101), 재배열 버퍼(111), 연산부(112), 직교 변환부(113), 양자화부(114), 부호화부(115), 축적 버퍼(116), 역양자화부(117), 역직교 변환부(118), 연산부(119), 인루프 필터부(120), 프레임 메모리(121), 예측부(122) 및 레이트 제어부(123)를 갖는다.
또한, 화상 부호화 장치(100)는, 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)를 갖는다.
<제어부>
제어부(101)는, 외부, 또는 미리 지정된 처리 단위의 블록 사이즈에 기초하여, 재배열 버퍼(111)에 의해 보유되어 있는 동화상 데이터를 처리 단위의 블록(CU, PU, 변환 블록 등)으로 분할한다. 또한, 제어부(101)는, 각 블록에 공급하는 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 필터 정보 Finfo 등)를, 예를 들어 RDO(Rate-Distortion Optimization)에 기초하여 결정한다.
이들 부호화 파라미터의 상세에 대해서는 후술한다. 제어부(101)는, 이상과 같은 부호화 파라미터를 결정하면, 그것을 각 블록에 공급한다. 구체적으로는, 이하와 같다.
헤더 정보 Hinfo는, 각 블록에 공급된다.
예측 모드 정보 Pinfo는, 부호화부(115)와 예측부(122)에 공급된다.
변환 정보 Tinfo는, 부호화부(115), 직교 변환부(113), 양자화부(114), 역양자화부(117), 역직교 변환부(118), 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)에 공급된다.
필터 정보 Finfo는, 인루프 필터부(120)에 공급된다.
<재배열 버퍼>
화상 부호화 장치(100)에는, 동화상 데이터의 각 필드(입력 화상)가 그 재생순(표시순)으로 입력된다. 재배열 버퍼(111)는, 각 입력 화상을 그 재생순(표시순)으로 취득하고, 보유(기억)한다. 재배열 버퍼(111)는, 제어부(101)의 제어에 기초하여, 그 입력 화상을 부호화순(복호순)으로 재배열하거나, 처리 단위의 블록으로 분할하거나 한다. 재배열 버퍼(111)는, 처리 후의 각 입력 화상을 연산부(112)에 공급한다. 또한, 재배열 버퍼(111)는, 그 각 입력 화상(원화상)을, 예측부(122)나 인루프 필터부(120)에도 공급한다.
<연산부>
연산부(112)는, 처리 단위의 블록에 대응하는 화상 I, 및 예측부(122)로부터 공급되는 예측 화상 P를 입력으로 하여, 화상 rec로부터 예측 화상 P를 이하의 식 (8)에 나타나는 바와 같이 감산하여, 예측 잔차 resi를 도출하고, 그것을 신장부(131)에 공급한다.
resi = rec - P … (8)
<직교 변환부>
직교 변환부(113)는, 신장부(131)로부터 공급되는 예측 잔차 resi와, 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 예측 잔차 resi에 대하여 직교 변환을 행하여, 변환 계수 coef를 도출한다. 직교 변환부(113)는, 그 얻어진 변환 계수 coef를 양자화부(114)에 공급한다.
<양자화부>
양자화부(114)는, 직교 변환부(113)로부터 공급되는 변환 계수 coef와, 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 변환 계수 coef를 스케일링(양자화)한다. 또한, 이 양자화의 레이트는, 레이트 제어부(123)에 의해 제어된다. 양자화부(114)는, 이러한 양자화에 의해 얻어진 양자화 후의 변환 계수, 즉 양자화 변환 계수 qcoefS를, 정규화부(132)에 공급한다.
<부호화부>
부호화부(115)는, 정규화부(132)로부터 공급된 양자화 계수 qcoef와, 제어부(101)로부터 공급되는 각종 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 필터 정보 Finfo 등)와, 인루프 필터부(120)로부터 공급되는 필터 계수 등의 필터에 관한 정보와, 예측부(122)로부터 공급되는 최적의 예측 모드에 관한 정보를 입력으로 한다. 부호화부(115)는, 양자화 계수 qcoef를 가변 길이 부호화(예를 들어, 산술 부호화)하여, 비트열(부호화 데이터)을 생성한다.
또한, 부호화부(115)는, 그 양자화 계수 qcoef로부터 잔차 정보 Rinfo를 도출하고, 잔차 정보 Rinfo를 부호화하여, 비트열을 생성한다.
또한, 부호화부(115)는, 인루프 필터부(120)로부터 공급되는 필터에 관한 정보를 필터 정보 Finfo에 포함시키고, 예측부(122)로부터 공급되는 최적의 예측 모드에 관한 정보를 예측 모드 정보 Pinfo에 포함시킨다. 그리고, 부호화부(115)는, 상술한 각종 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 필터 정보 Finfo 등)를 부호화하여, 비트열을 생성한다.
또한, 부호화부(115)는, 이상과 같이 생성된 각종 정보의 비트열을 다중화하여, 부호화 데이터를 생성한다. 부호화부(115)는, 그 부호화 데이터를 축적 버퍼(116)에 공급한다.
<축적 버퍼>
축적 버퍼(116)는, 부호화부(115)에 있어서 얻어진 부호화 데이터를, 일시적으로 보유한다. 축적 버퍼(116)는, 소정의 타이밍에 있어서, 보유하고 있는 부호화 데이터를, 예를 들어 비트 스트림 등으로서 화상 부호화 장치(100)의 외부에 출력한다. 예를 들어, 이 부호화 데이터는, 임의의 기록 매체, 임의의 전송 매체, 임의의 정보 처리 장치 등을 통하여 복호측에 전송된다. 즉, 축적 버퍼(116)는, 부호화 데이터(비트 스트림)를 전송하는 전송부이기도 하다.
<역양자화부>
역양자화부(117)는, 역양자화에 관한 처리를 행한다. 예를 들어, 역양자화부(117)는, 신장부(133)로부터 공급되는 양자화 계수 qcoefS'와, 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 양자화 계수 qcoef의 값을 스케일링(역양자화)한다. 또한, 이 역양자화는, 양자화부(114)에 있어서 행해지는 양자화의 역처리이다. 역양자화부(117)는, 이러한 역양자화에 의해 얻어진 변환 계수 coefS'를, 역직교 변환부(118)에 공급한다.
<역직교 변환부>
역직교 변환부(118)는, 역직교 변환에 관한 처리를 행한다. 예를 들어, 역직교 변환부(118)는, 역양자화부(117)로부터 공급되는 변환 계수 coefS'와, 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 변환 계수 coefS'에 대하여 역직교 변환을 행하여, 예측 잔차 resiS'를 도출한다. 또한, 이 역직교 변환은, 직교 변환부(113)에 있어서 행해지는 직교 변환의 역처리이다. 역직교 변환부(118)는, 이러한 역직교 변환에 의해 얻어진 예측 잔차 resiS'를 정규화부(134)에 공급한다. 또한, 역직교 변환부(118)는, 복호측의 역직교 변환부(후술함)와 마찬가지이므로, 역직교 변환부(118)에 대해서는, 복호측에 대하여 행하는 설명(후술함)을 적용할 수 있다.
<연산부>
연산부(119)는, 정규화부(134)로부터 공급되는 예측 잔차 resi'와, 예측부(122)로부터 공급되는 예측 화상 P를 입력으로 한다. 연산부(119)는, 그 예측 잔차 resi'와, 그 예측 잔차 resi'에 대응하는 예측 화상 P를 가산하여, 국소 복호 화상 Rlocal을 도출한다. 연산부(119)는, 도출한 국소 복호 화상 Rlocal을 인루프 필터부(120) 및 프레임 메모리(121)에 공급한다.
<인루프 필터부>
인루프 필터부(120)는, 인루프 필터 처리에 관한 처리를 행한다. 예를 들어, 인루프 필터부(120)는, 연산부(119)로부터 공급되는 국소 복호 화상 Rlocal과, 제어부(101)로부터 공급되는 필터 정보 Finfo와, 재배열 버퍼(111)로부터 공급되는 입력 화상(원화상)을 입력으로 한다. 또한, 인루프 필터부(120)에 입력되는 정보는 임의이며, 이들 정보 이외의 정보가 입력되어도 된다. 예를 들어, 필요에 따라, 예측 모드, 움직임 정보, 부호량 목표값, 양자화 파라미터 QP, 픽처 타입, 블록(CU, CTU 등)의 정보 등이 인루프 필터부(120)에 입력되도록 해도 된다.
인루프 필터부(120)는, 그 필터 정보 Finfo에 기초하여, 국소 복호 화상 Rlocal에 대하여 적절하게 필터 처리를 행한다. 인루프 필터부(120)는, 필요에 따라 입력 화상(원화상)이나, 그 밖의 입력 정보도 그 필터 처리에 사용한다.
예를 들어, 인루프 필터부(120)는, 비특허문헌 3에 기재된 바와 같이, 양방향 필터, 디블로킹 필터(DBF(DeBlocking Filter)), 적응 오프셋 필터(SAO(Sample Adaptive Offset)) 및 적응 루프 필터(ALF(Adaptive Loop Filter))의 4개의 인루프 필터를 이 순으로 적용한다. 또한, 어느 필터를 적용할지, 어떤 순으로 적용할지는 임의이며, 적절하게 선택 가능하다.
물론, 인루프 필터부(120)가 행하는 필터 처리는 임의이며, 상술한 예에 한정되지 않는다. 예를 들어, 인루프 필터부(120)가 위너 필터 등을 적용하도록 해도 된다.
인루프 필터부(120)는, 필터 처리된 국소 복호 화상 Rlocal을 프레임 메모리(121)에 공급한다. 또한, 예를 들어 필터 계수 등의 필터에 관한 정보를 복호측에 전송하는 경우, 인루프 필터부(120)는, 그 필터에 관한 정보를 부호화부(115)에 공급한다.
<프레임 메모리>
프레임 메모리(121)는, 화상에 관한 데이터의 기억에 관한 처리를 행한다. 예를 들어, 프레임 메모리(121)는, 연산부(119)로부터 공급되는 국소 복호 화상 Rlocal이나, 인루프 필터부(120)로부터 공급되는 필터 처리된 국소 복호 화상 Rlocal을 입력으로 하여, 그것을 보유(기억)한다. 또한, 프레임 메모리(121)는, 그 국소 복호 화상 Rlocal을 사용하여 픽처 단위마다의 복호 화상 R을 재구축하여, 보유한다(프레임 메모리(121) 내의 버퍼에 저장한다). 프레임 메모리(121)는, 예측부(122)의 요구에 따라, 그 복호 화상 R(또는 그의 일부)을 예측부(122)에 공급한다.
<예측부>
예측부(122)는, 예측 화상의 생성에 관한 처리를 행한다. 예를 들어, 예측부(122)는, 제어부(101)로부터 공급되는 예측 모드 정보 Pinfo와, 재배열 버퍼(111)로부터 공급되는 입력 화상(원화상)과, 프레임 메모리(121)로부터 판독하는 복호 화상 R(또는 그의 일부)을 입력으로 한다. 예측부(122)는, 예측 모드 정보 Pinfo나 입력 화상(원화상)을 사용하여, 인터 예측이나 인트라 예측 등의 예측 처리를 행하고, 복호 화상 R을 참조 화상으로서 참조하여 예측을 행하고, 그 예측 결과에 기초하여 움직임 보상 처리를 행하여, 예측 화상 P를 생성한다. 예측부(122)는, 생성된 예측 화상 P를 연산부(112) 및 연산부(119)에 공급한다. 또한, 예측부(122)는, 이상의 처리에 의해 선택한 예측 모드, 즉 최적의 예측 모드에 관한 정보를, 필요에 따라 부호화부(115)에 공급한다.
<레이트 제어부>
레이트 제어부(123)는, 레이트 제어에 관한 처리를 행한다. 예를 들어, 레이트 제어부(123)는, 축적 버퍼(116)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(114)의 양자화 동작의 레이트를 제어한다.
<신장부>
신장부(131)는, 연산부(112)로부터 공급되는 예측 잔차 resi와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 예측 잔차 resi의 유효 자릿수의 제어(신장)에 관한 처리를 행한다. 예를 들어, 신장부(131)는, 예측 잔차 resi를 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 예측 잔차 resi의 유효 자릿수를 확장한다. 즉, 신장부(131)는, 직교 변환이나 양자화가 행해지기 전의 예측 잔차 resi의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 확장한다. 또한, 신장부(131)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 확장된 예측 잔차 resiS를 직교 변환부(113)에 공급한다.
<정규화부>
정규화부(132)는, 양자화부(114)로부터 공급되는 양자화 계수 qcoefS와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 양자화 계수 qcoefS의 유효 자릿수의 제어(정규화)에 관한 처리를 행한다. 예를 들어, 정규화부(132)는, 양자화 계수 qcoefS를 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트하고(>>dBD), 양자화 계수 qcoefS의 유효 자릿수를 정규화한다. 즉, 정규화부(132)는, 직교 변환이나 양자화가 행해진 후의 양자화 계수 qcoefS의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 정규화한다. 또한, 정규화부(132)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 정규화된 양자화 계수 qcoef를 부호화부(115) 및 신장부(133)에 공급한다.
<신장부>
신장부(133)는, 정규화부(132)로부터 공급되는 양자화 계수 qcoef와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 양자화 계수 qcoef의 유효 자릿수의 제어(신장)에 관한 처리를 행한다. 예를 들어, 신장부(133)는, 양자화 계수 qcoef를 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 양자화 계수 qcoef의 유효 자릿수를 확장한다. 즉, 신장부(133)는, 역양자화나 역직교 변환이 행해지기 전의 양자화 계수 qcoef의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 확장한다. 또한, 신장부(133)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 확장된 양자화 계수 qcoefS'를 역양자화부(117)에 공급한다.
<정규화부>
정규화부(134)는, 역직교 변환부(118)로부터 공급되는 예측 잔차 resiS'와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 예측 잔차 resiS'의 유효 자릿수의 제어(정규화)에 관한 처리를 행한다. 예를 들어, 정규화부(134)는, 예측 잔차 resiS'를 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트하고(>>dBD), 예측 잔차 resiS'의 유효 자릿수를 정규화한다. 즉, 정규화부(134)는, 역양자화나 역직교 변환이 행해진 후의 예측 잔차 resiS'의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 정규화한다. 또한, 정규화부(134)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 정규화된 예측 잔차 resi'를 연산부(119)에 공급한다.
이상과 같은 구성으로 함으로써, 화상 부호화 장치(100)는, 계수의 유효 자릿수를 시퀀스 레벨의 확장으로부터 더 확장한 상태로, 직교 변환, 양자화, 역양자화 및 역직교 변환의 각 처리를 행할 수 있어, 그들 처리의 연산 정밀도를 향상시킬 수 있다. 즉, 부호화 효율의 저감을 억제할 수 있다.
<제어부의 상세>
도 16은, 제어부(101)의, 유효 자릿수의 제어에 관한 정보의 생성에 관한 주된 구성예를 도시하는 블록도이다. 도 16에 도시되는 바와 같이, 제어부(101)는, 시퀀스 비트 심도 설정부(151), 슬라이스 비트 심도 설정부(152), 화소 최솟값 최댓값 탐색부(153), dBD 도출부(154) 및 deltaX 도출부(155)를 갖는다. 또한, 제어부(101)는, 상술한 바와 같이, 다른 정보의 생성 등, 유효 자릿수의 제어에 관한 정보의 생성 이외의 처리도 행하지만, 그들 처리에 대한 구성의 설명은 생략한다.
시퀀스 비트 심도 설정부(151)는, 재배열 버퍼(111)의 입력 화상을 입력으로 하여, 외부 파라미터에 기초하여 시퀀스 비트 심도 channelBitDepth를 설정한다. 시퀀스 비트 심도 설정부(151)는, 설정한 시퀀스 비트 심도 channelBitDepth를 dBD 도출부(154) 및 deltaX 도출부(155)에 공급한다. 또한, 시퀀스 비트 심도 설정부(151)는, 그 시퀀스 비트 심도 channelBitDepth를, 변환 정보 Tinfo로서 직교 변환부(113), 양자화부(114), 역양자화부(117) 및 역직교 변환부(118)에 공급한다. 또한, 시퀀스 비트 심도 설정부(151)는, 그 시퀀스 비트 심도에 관한 정보를 생성하여, 부호화부(115)에 공급한다.
슬라이스 비트 심도 설정부(152)는, 재배열 버퍼(111)의 입력 화상을 입력으로 하여, 슬라이스 비트 심도 sliceBitDepth를 설정한다. 슬라이스 비트 심도 설정부(152)는, 설정한 슬라이스 비트 심도 sliceBitDepth를 deltaX 도출부(155)에 공급한다. 또한, 슬라이스 비트 심도 설정부(152)는, 그 슬라이스 비트 심도에 관한 정보를 생성하여, 부호화부(115)에 공급한다.
화소 최솟값 최댓값 탐색부(153)는, 재배열 버퍼(111)의 입력 화상을 입력으로 하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 그 입력 화상의 화소값의 최솟값(minPixelVal)과 최댓값(maxPixelVal)을 탐색한다. 화소 최솟값 최댓값 탐색부(153)는, 그 탐색에 의해 검출한 각 로컬 레벨의 최솟값(minPixelVal)과 최댓값(maxPixelVal)을, dBD 도출부(154)에 공급한다.
dBD 도출부(154)는, 시퀀스 비트 심도 설정부(151)로부터 공급되는 시퀀스 비트 심도 channelBitDepth와, 화소 최솟값 최댓값 탐색부(153)로부터 공급되는 최솟값(minPixelVal) 및 최댓값(maxPixelVal)을 입력으로 하여, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다.
dBD 도출부(154)는, 그 도출한 확장 비트 정밀도 dBD를 deltaX 도출부(155)에 공급한다. 또한, dBD 도출부(154)는, 그 도출한 확장 비트 정밀도 dBD를, 변환 정보 Tinfo로서 직교 변환부(113), 양자화부(114), 역양자화부(117), 역직교 변환부(118), 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)에 공급한다.
deltaX 도출부(155)는, dBD 도출부(154)로부터 공급되는 확장 비트 정밀도 dBD를 입력으로 하여, 차분 파라미터 deltaX를 도출한다. deltaX 도출부(155)는, 도출한 차분 파라미터 deltaX를, 확장 비트 정밀도에 관한 정보로서, 부호화부(115)에 공급한다.
<화상 부호화 처리의 흐름>
다음에, 이상과 같은 화상 부호화 장치(100)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 17의 흐름도를 참조하여, 화상 부호화 처리의 흐름의 예를 설명한다.
화상 부호화 처리가 개시되면, 스텝 S101에 있어서, 재배열 버퍼(111)는, 제어부(101)에 제어되어, 입력된 동화상 데이터의 프레임의 순서를 표시순으로부터 부호화순으로 재배열한다.
스텝 S102에 있어서, 제어부(101)는, 재배열 버퍼(111)가 보유하는 입력 화상에 대하여, 처리 단위를 설정한다(블록 분할을 행한다).
스텝 S103에 있어서, 제어부(101)는, 재배열 버퍼(111)가 보유하는 입력 화상에 대한 부호화 파라미터를 결정(설정)한다.
스텝 S104에 있어서, 예측부(122)는, 예측 처리를 행하여, 최적의 예측 모드의 예측 화상 등을 생성한다. 예를 들어, 이 예측 처리에 있어서, 예측부(122)는, 인트라 예측을 행하여 최적의 인트라 예측 모드의 예측 화상 등을 생성하고, 인터 예측을 행하여 최적의 인터 예측 모드의 예측 화상 등을 생성하여, 그들 중에서, 비용 함수값 등에 기초하여 최적의 예측 모드를 선택한다.
스텝 S105에 있어서, 연산부(112)는, 입력 화상과, 스텝 S104의 예측 처리에 의해 선택된 최적의 모드의 예측 화상의 차분을 연산한다. 즉, 연산부(112)는, 입력 화상과 예측 화상의 예측 잔차 resi를 생성한다. 이와 같이 하여 구해진 예측 잔차 resi는, 원래의 화상 데이터에 비하여 데이터양이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여, 데이터양을 압축할 수 있다.
스텝 S106에 있어서, 신장부(131)는, 스텝 S105의 처리에 의해 생성된 컴포넌트 X의 예측 잔차 resi를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여 이하의 식 (9)에 의해 신장시키고, 신장된 예측 잔차 resiS를 얻는다.
dBD > 0일 때 resiS = resi << dBD
dBD = 0일 때 resiS = resi … (9)
스텝 S107에 있어서, 직교 변환부(113)는, 스텝 S106의 처리에 의해 생성된 예측 잔차 resiS에 대하여 직교 변환 처리를 행하여, 변환 계수 coefS를 도출한다.
스텝 S108에 있어서, 양자화부(114)는, 제어부(101)에 의해 산출된 양자화 파라미터를 사용하거나 하여, 스텝 S106의 처리에 의해 얻어진 변환 계수 coefS를 양자화하여, 양자화 계수 qcoefS를 도출한다.
스텝 S109에 있어서, 정규화부(132)는, 스텝 S108의 처리에 의해 얻어진 컴포넌트 X의 양자화 계수 qcoefS를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여 이하의 식 (10)과 같이 정규화하여, 정규화된 양자화 계수 qcoef를 얻는다.
dBD > 0일 때 qcoef = (qcoefS + offsetBD) >> dBD
단, offsetBD = 1 << (dBD-1)
dBD = 0일 때 qcoef = qcoefS
… (10)
이 식 (10) 대신에, 이하의 (11)에 의해 정규화를 행해도 된다.
dBD > 0일 때 qcoef = sign(qcoefS) * (abs(qcoefS) + offsetBD) >> dBD
dBD = 0일 때 qcoef = qcoefS
… (11)
여기서, sign(x)는, 실수 x의 정부호를 반환하는 연산자이고, abs(x)는, 실수 x의 절댓값을 반환하는 연산자이다.
스텝 S110에 있어서, 신장부(133)는, 스텝 S109의 처리에 의해 얻어진 컴포넌트 X의 정규화된 양자화 계수 qcoef를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여, 이하의 식 (12)와 같이 신장시키고, 신장된 양자화 계수 qcoefS'를 얻는다.
dBD > 0일 때 qcoefS' = qcoef << dBD
dBD = 0일 때 qcoefS' = qcoef
… (12)
스텝 S111에 있어서, 역양자화부(117)는, 스텝 S110의 처리에 의해 얻어진 양자화 변환 계수 qcoefS'를, 스텝 S108의 양자화의 특성에 대응하는 특성으로 역양자화하여, 변환 계수 coefS'를 도출한다. 또한, 이 역양자화 처리는, 복호측에 있어서 행해지는 역양자화 처리(후술함)와 마찬가지이므로, 이 스텝 S111의 역양자화 처리에 대해서는, 복호측에 대하여 행하는 설명(후술함)을 적용할 수 있다.
스텝 S112에 있어서, 역직교 변환부(118)는, 스텝 S111의 처리에 의해 얻어진 변환 계수 coefS'를, 스텝 S107의 직교 변환 처리에 대응하는 방법으로 역직교 변환하여, 예측 잔차 resiS'를 도출한다. 또한, 이 역직교 변환 처리는, 복호측에 있어서 행해지는 역직교 변환 처리(후술함)와 마찬가지이므로, 이 스텝 S112의 역직교 변환 처리에 대해서는, 복호측에 대하여 행하는 설명(후술함)을 적용할 수 있다.
스텝 S113에 있어서, 정규화부(134)는, 스텝 S112의 처리에 의해 얻어진 컴포넌트 X의 예측 잔차 resiS'를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여, 이하의 식 (13)과 같이 정규화하여, 정규화된 예측 잔차 resi'를 얻는다.
dBD > 0일 때 resi' = (resiS' + offsetBD) >> dBD
단, offsetBD = 1 << (dBD-1)
dBD = 0일 때 resi' = resiS'
… (13)
또한, 이 식 (13) 대신에, 이하의 식 (14)에 의해 정규화를 행하도록 해도 된다.
dBD > 0일 때 resi' = sign(resiS') * (abs(resiS') + offsetBD) >> dBD
dBD = 0일 때 resi' = resiS'
… (14)
여기서, sign(x)는, 실수 x의 정부호를 반환하는 연산자이고, abs(x)는, 실수 x의 절댓값을 반환하는 연산자이다. 또한, 본 명세서에 있어서, " 변수' "의 첨자 '는, 부호화 처리측의 '변수'와 대응하는 복호 처리측에서 역처리에 의해 얻어진 '변수'를 식별하기 위한 것이다. 또한, "변수 S"의 첨자 S는, 신장된 '변수'임을 나타낸다.
스텝 S114에 있어서, 연산부(119)는, 스텝 S113의 처리에 의해 도출된 예측 잔차 resi'에, 스텝 S104의 예측 처리에 의해 얻어진 예측 화상을 가산함으로써, 국소적으로 복호된 복호 화상을 생성한다.
스텝 S115에 있어서, 인루프 필터부(120)는, 스텝 S114의 처리에 의해 도출된, 국소적으로 복호된 복호 화상에 대하여, 인루프 필터 처리를 행한다.
스텝 S116에 있어서, 프레임 메모리(121)는, 스텝 S114의 처리에 의해 도출된, 국소적으로 복호된 복호 화상이나, 스텝 S115에 있어서 필터 처리된, 국소적으로 복호된 복호 화상을 기억한다.
스텝 S117에 있어서, 부호화부(115)는, 스텝 S109의 처리에 의해 얻어진, 정규화된 양자화 계수 qcoef를 부호화한다. 예를 들어, 부호화부(115)는, 화상에 관한 정보인 양자화 계수 qcoef를, 산술 부호화 등에 의해 부호화하여, 부호화 데이터를 생성한다. 또한, 이때, 부호화부(115)는, 각종 부호화 파라미터(헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo 등)를 부호화한다. 또한, 부호화부(115)는, 양자화 계수 qcoef로부터 잔차 정보 RInfo를 도출하고, 그 잔차 정보 RInfo를 부호화한다.
스텝 S118에 있어서, 축적 버퍼(116)는, 이와 같이 하여 얻어진 부호화 데이터를 축적하고, 예를 들어 비트 스트림으로서, 그것을 화상 부호화 장치(100)의 외부에 출력한다. 이 비트 스트림은, 예를 들어 전송로나 기록 매체를 통하여 복호측에 전송된다. 또한, 레이트 제어부(123)는, 필요에 따라 레이트 제어를 행한다.
스텝 S118의 처리가 종료되면, 화상 부호화 처리가 종료된다.
이상과 같은 흐름의 화상 부호화 처리에 있어서, 스텝 S106에 있어서, 직교 변환 전의 예측 잔차 resi의 유효 자릿수를 확장 비트 정밀도 dBD에 의해 신장시키고, 스텝 S109에 있어서, 양자화 후의 양자화 계수 qcoefS를 확장 비트 정밀도 dBD에 의해 정규화함으로써, 연산 정밀도를 높여 직교 변환 및 양자화의 처리로 실행할 수 있다. 즉, 연산 정밀도의 향상에 의해, 부호화 효율이 개선된다.
마찬가지로, 스텝 S110에 있어서, 역양자화 전의 양자화 계수 qcoef의 유효 자릿수를 확장 비트 정밀도 dBD에 의해 신장시키고, 스텝 S113에 있어서, 역직교 변환 후의 예측 잔차 resiS'를 확장 비트 정밀도 dBD에 의해 정규화함으로써, 연산 정밀도를 높여 역양자화 및 역직교 변환의 처리로 실행할 수 있다. 즉, 연산 정밀도의 향상에 의해, 부호화 효율이 개선된다.
<dBD, deltaX 도출 처리의 흐름>
도 17의 스텝 S103에 있어서는, 각종 부호화 파라미터가 도출된다. 예를 들어, 확장 비트 정밀도 dBD나 차분 파라미터 deltaX 등이 도출된다. 도 18의 흐름도를 참조하여, 이 확장 비트 정밀도 dBD나 차분 파라미터 deltaX 등의 파라미터를 도출하는 dBD, deltaX 도출 처리의 흐름의 예를 설명한다.
dBD, deltaX 도출 처리가 개시되면, 제어부(101)의 시퀀스 비트 심도 설정부(151)는, 스텝 S131에 있어서, 컴포넌트 X의 시퀀스 비트 심도 channelBitDepth를 외부 파라미터에 기초하여 설정한다. 즉, 시퀀스 비트 심도 설정부(151)는, 외부로부터 입력되는 입력 화상의 각 컴포넌트의 비트 심도를 구하고, 그 값을, 각 컴포넌트의 시퀀스 비트 심도 channelBitDepth로 설정한다.
스텝 S132에 있어서, 슬라이스 비트 심도 설정부(152)는, 컴포넌트 X의 슬라이스 비트 심도 sliceBitDepth를 도출한다.
예를 들어, 슬라이스 비트 심도 설정부(152)는, 우선, 슬라이스 단위로, 각 컴포넌트의 슬라이스 비트 심도에 관한 이하의 신택스를 해당 슬라이스에 포함되는 각 컴포넌트의 화소군에 기초하여 도출한다.
slice_min_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최소 화소값
slice_max_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최대 화소값
그리고, 슬라이스 비트 심도 설정부(152)는, 그들의 신택스를 사용하여, 슬라이스 비트 심도 sliceBitDepth를 이하의 식 (15)와 같이 도출한다.
sliceBitDepth = ceil(log2(slice_max_val - slice_min_val))
… (15)
스텝 S133에 있어서, 화소 최솟값 최댓값 탐색부(153)는, 확장 비트 정밀도 제어 그룹 SG마다, 컴포넌트 X의 최소 화소값 minPixelValue와 최대 화소값 maxPixelValue를 도출한다.
여기서, 확장 비트 정밀도 제어 그룹 SG란, 컴포넌트 X의 계수의 유효 자릿수를 확장하는 확장 비트 정밀도 dBD를 제어하는 그룹 단위를 가리킨다. 예를 들어, 도 19에 도시되는 입력 화상(191)의 경우, 픽처 전체가 4×4로 16분할되고, 각각이 국소 영역(국소 영역(00) 내지 국소 영역(33))으로서 설정되어 있다. 예를 들어, 이러한 국소 영역을 확장 비트 정밀도 제어 그룹 SG로 할 수 있다. 즉 이 경우, 국소 영역마다 확장 비트 정밀도 dBD가 도출된다. 즉, 계수의 유효 자릿수(연산 정밀도)가 국소 영역마다 제어된다. 이러한 확장 비트 정밀도 제어 그룹 SG로 하는 영역의 크기나 형상은 임의이다. 예를 들어, Slice, Tile, CTU(Coding Tree Unit), CTB(Coded Tree Block), CU(Coding Unit), CB(Coding Block), TU(Transform Unit), TB(Transform Block) 등을 단위로 하여 확장 비트 정밀도 제어 그룹 SG를 설정하도록 해도 된다.
스텝 S134에 있어서, dBD 도출부(154)는, 확장 비트 정밀도 제어 그룹 SG마다, 스텝 S133에 있어서 도출된 컴포넌트 X의 최소 화소값 minPixelValue 및 최대 화소값 maxPixelValue를 사용하여, 이하의 식 (16)과 같이, 로컬 레벨의 비트 심도 LocalBitDepth(확장 비트 정밀도 제어 그룹 SG마다의 비트 심도)를 도출하고, 또한 그 로컬 레벨의 비트 심도 LocalBitDepth와, 스텝 S131에 있어서 도출된 시퀀스 비트 심도 channelBitDepth를 사용하여, 계수의 유효 자릿수를 몇 비트 확장하는지를 나타내는 확장 비트 정밀도 dBD를, 예를 들어 이하의 식 (17)과 같이 도출한다.
또한, 식 (16)으로 도출된 로컬 레벨의 비트 심도 LocalBitDepth를, 소정의 역치 minLocalBitDepth(예를 들어, 8)를 참조하여, 추가로 식 (16A)에 나타내는 바와 같이, LocalBitDepth=max(minLocalBitDepth, LocalBitDepth)로서 보정해도 된다. 이와 같이 함으로써, 후속의 식 (17)로 도출되는 확장 비트 정밀도 dBD의 값이 지나치게 커지는(즉, 유효 자릿수를 지나치게 높여 중간 계수 데이터가 최솟값 coefMin 내지 최댓값 coefMax의 범위를 초과해 버리는) 케이스의 발생을 억제할 수 있다. 또한, 식 (16A)에 있어서, 연산자 max(x, y)는 수치 x, y 중 큰 값을 반환하는 연산자이다.
LocalBitDepth = ceil(log2(maxPixelValue - minPixelValue))
… (16)
LocalBitDepth = max(minLocalBitDepth, LocalBitDepth)
… (16A)
dBD = channelBitDepth - LocalBitDepth
… (17)
스텝 S135에 있어서, deltaX 도출부(155)는, 확장 비트 정밀도 제어 그룹 SG마다, 컴포넌트 X의 확장 비트 정밀도 dBD의 차분 파라미터 deltaX를 도출한다. 예를 들어, deltaX 도출부(155)는, 시퀀스 비트 심도 channelBitDepth, 슬라이스 비트 심도 sliceBitDepth, 및 확장 비트 정밀도 제어 그룹 SG마다의 확장 비트 정밀도 dBD를 사용하여, 이하의 식 (18)과 같이 도출한다. 즉, 이 경우, 차분 파라미터 deltaX는, 화상의 슬라이스 비트 심도 sliceBitDepth와 로컬 레벨의 비트 심도 LocalBitDepth의 차분이다.
deltaX = dBD + sliceBitDepth - channelBitDepth
=sliceBitDepth - LocalBitDepth
… (18)
또한, channelBitDepth≥sliceBitDepth≥deltaX의 관계에 있다. 이와 같이, 차분 파라미터 deltaX를, 확장 비트 정밀도 dBD, 시퀀스 비트 심도, 슬라이스 비트 심도를 통하여 나타냄으로써, 차분 파라미터 deltaX의 값을 보다 작게 할(값의 증대를 억제할) 수 있다. 즉, deltaX의 부호량을 작게 할 수 있어, 부호화 효율의 저감을 억제할 수 있다.
스텝 S135의 처리가 종료되면, dBD, deltaX 도출 처리가 종료되고, 처리는 도 17로 되돌아간다.
<확장 비트 정밀도 제어 그룹 SG의 제어>
또한, 확장 비트 정밀도 제어 그룹 SG는, CTB의 사이즈 CtbLog2Size에 대한 분할 심도의 차분값 diff_cu_delta_depth에 의해 제어하도록 해도 된다. 이 경우, SG의 사이즈 Log2SGSize는, 예를 들어 이하의 식 (19)와 같이 구해진다.
Log2SGSize = CtbLog2Size - diff_cu_delta_depth
… (19)
예를 들어, 도 20에 있어서 점선 프레임으로 나타나는 CTB가 128×128의 사이즈인 경우(CtbLog2Size=7)이며, 도 20에 있어서 굵은 선 프레임으로 나타나는 SG의 사이즈를 32×32로 하는 경우(Log2SGSize=5), 차분값 diff_cu_delta_depth의 값은, 이하의 식 (20)과 같이 2로 된다.
diff_cu_delta_depth = CtbLog2Size - Log2SGSize = 7 - 5 = 2
… (20)
또한, 차분값 diff_cu_delta_depth는, 소정의 파라미터 세트(헤더 정보) 단위(예를 들어, 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS(Picture Parameter Set)) 또는 슬라이스 헤더(SH(Slice Header)) 등)로 통지되는 것으로 한다. 이와 같이 함으로써, 차분값 diff_cu_delta_depth로 확장 비트 정밀도 제어 그룹 SG의 입도를 제어할 수 있게 된다.
예를 들어, 신호의 레인지가 어느 정도 큰 영역에 있어서 일정한 경우에는, 이 차분값 diff_cu_delta_depth의 값을 작게 함으로써, 차분 파라미터 deltaX를 통지하는 단위를 크게 할 수 있고, 오버헤드를 삭감할 수 있다.
반대로, 신호의 레인지가 작은 영역에서 변화하는 경우에는, 이 차분값 diff_cu_delta_depth의 값을 크게 함으로써, 차분 파라미터 deltaX를 통지하는 단위를 작게 할 수 있고, 더 미세한 입도로, 역양자화ㆍ역직교 변환 시의 변환 계수의 유효 자릿수를 확장할 수 있다.
<차분 파라미터 deltaX의 정의의 다른 예 1>
또한, 이상에 있어서는, 컴포넌트 X의 확장 비트 정밀도 dBD의 차분 파라미터 deltaX를, 시퀀스 비트 심도 channelBitDepth, 슬라이스 비트 심도 sliceBitDepth 및 확장 비트 정밀도 dBD로부터 구하도록 설명하였지만, 차분 파라미터 deltaX의 정의는 임의이며, 이 예에 한정되지 않는다.
예를 들어, 확장 비트 정밀도 dBD를, 시퀀스 비트 심도 channelBitDepth와, 차분 파라미터 deltaX의 합으로 도출하도록 해도 된다. 즉, 차분 파라미터 deltaX를, 이하의 식 (21)에 나타나는 바와 같이, 시퀀스 비트 심도 channelBitDepth와 확장 비트 정밀도 dBD의 차분값으로 해도 된다.
deltaX = channelBitDepth - dBD
… (21)
이와 같이 함으로써, 차분 파라미터 deltaX를, 상술한 예보다 용이하게 도출할 수 있다.
<차분 파라미터 deltaX의 정의의 다른 예 2>
또한, 이하의 식 (22)와 같이, 차분 파라미터 deltaX를, 확장 비트 정밀도 dBD와 등가로 해도 된다.
deltaX = dBD
… (22)
이 경우, 차분 파라미터 deltaX를, 확장 비트 정밀도 dBD 이외의 다른 파라미터에 의존하지 않고 도출할 수 있다.
<차분 파라미터 deltaX의 정의의 다른 예 3>
또한, 예를 들어 이하의 식 (23)과 같이, 차분 파라미터 deltaX를, 처리 대상의 확장 비트 정밀도 제어 그룹 SG(커런트 확장 비트 정밀도 제어 그룹 SGcur이라고 칭함)의 확장 비트 정밀도 dBD와, 그 확장 비트 정밀도 dBD의 예측값 dBDpred의 차분으로 해도 된다.
deltaX = dBD -dBDpred
… (23)
예를 들어, 이 예측값 dBDpred는, 커런트 확장 비트 정밀도 제어 그룹 SGcur에 인접하는 부호화 완료된 확장 비트 정밀도 제어 그룹 neighborSGs의 dBD를 참조하여 도출된다. 예를 들어, 도 21의 A와 같은 CTB에 있어서, 도 21의 B에 도시되는 바와 같이, 우측 하단 4분의 1의 영역이 커런트 확장 비트 정밀도 제어 그룹 SGcur인 것으로 한다. 또한, 그 커런트 확장 비트 정밀도 제어 그룹 SGcur의 상변에 인접하는 확장 비트 정밀도 제어 그룹 SG를 인접 확장 비트 정밀도 제어 그룹 SGA라고 하고, 커런트 확장 비트 정밀도 제어 그룹 SGcur의 좌변에 인접하는 확장 비트 정밀도 제어 그룹 SG를 인접 확장 비트 정밀도 제어 그룹 SGB라고 한다. 인접 확장 비트 정밀도 제어 그룹 SGA 및 인접 확장 비트 정밀도 제어 그룹 SGB는, 부호화 완료된 인접 확장 비트 정밀도 제어 그룹이다.
이 경우, 확장 비트 정밀도 dBD의 예측값 dBDpred가, 인접 확장 비트 정밀도 제어 그룹 SGA의 확장 비트 정밀도 dBDA 및 인접 확장 비트 정밀도 제어 그룹 SGB의 확장 비트 정밀도 dBDB에 기초하여 설정되도록 해도 된다. 또한, 예를 들어 확장 비트 정밀도 dBD의 예측값 dBDpred가, 이들의 인접 확장 비트 정밀도 제어 그룹이 참조 가능한지 여부에 따른 방법으로 도출되도록 해도 된다. 예를 들어, 이하와 같은 방법으로 예측값 dBDpred가 구해지도록 해도 된다.
예를 들어, 인접 확장 비트 정밀도 제어 그룹 SGA와 인접 확장 비트 정밀도 제어 그룹 SGB 모두 참조 가능한 경우, 예측값 dBDpred는, 이하의 식 (24)와 같이 도출한다.
dBDpred = ave(dBDA, dBDB)
… (24)
여기서, ave(x, y)는, x와 y의 평균값을 반환하는 연산자이다.
예를 들어, ave(x, y)=(x+y+1)>>1이다.
또한, 예를 들어 인접 확장 비트 정밀도 제어 그룹 SGA만 참조 가능한 경우, 예측값 dBDpred는, 이하의 식 (25)와 같이 도출한다.
dBDpred = dBDA
… (25)
또한, 예를 들어 인접 확장 비트 정밀도 제어 그룹 SGB만 참조 가능한 경우, 예측값 dBDpred는, 이하의 식 (26)과 같이 도출한다.
dBDpred = dBDB
… (26)
또한, 예를 들어 인접 확장 비트 정밀도 제어 그룹 SGA 및 인접 확장 비트 정밀도 제어 그룹 SGB의 양쪽이 참조 불가인 경우, 예측값 dBDpred는, 이하의 식 (27)과 같이 도출한다.
dBDpred = const (=0)
… (27)
이와 같이, 인접하는 부호화 완료 비트 정밀도 제어 그룹 neigborSGs의 확장 비트 정밀도 dBD를 사용하여, 커런트 확장 비트 정밀도 제어 그룹 SGcur의 dBD를 예측함으로써, 차분 파라미터 deltaX의 값을 저감할 수 있다. 즉, deltaX의 복호나 부호화에 요하는 부호량의 증대를 억제할 수 있다.
<확장 비트 정밀도 정보 부호화 처리의 흐름>
도 17의 스텝 S117의 부호화 처리에 있어서는, 확장 비트 정밀도 dBD의 차분 파라미터 deltaX 등의, 제어부(101)로부터 공급되는, 유효 자릿수의 제어(연산 정밀도의 제어)에 관한 정보도 부호화되어, 비트 스트림에 포함된다.
그러한 유효 자릿수의 제어(연산 정밀도의 제어)에 관한 정보를 부호화하는 확장 비트 정밀도 정보 부호화 처리의 흐름의 예를, 도 22의 흐름도를 참조하여 설명한다.
확장 비트 정밀도 정보 부호화 처리가 개시되면, 부호화부(115)는, 스텝 S151에 있어서, 시퀀스 파라미터 세트 SPS의 1 파라미터로서, 각 컴포넌트의 시퀀스 비트 심도 channelBitDepth에 관한 정보(신택스의 값)를 부호화한다. 예를 들어, channelBitDepth에 관한 신택스로서, 이하와 같은 것이 있다.
bit_depth_luma_minus8: 휘도의 시퀀스 비트 심도를 나타내는 신택스
bit_depth_chroma_minus8: 색차의 시퀀스 비트 심도를 나타내는 신택스
이들 신택스의 값은, 예를 들어 이하의 식 (28) 및 식 (29)와 같이 도출된다. 예를 들어, 제어부(101)의 시퀀스 비트 심도 설정부(151)가, 도 18의 스텝 S131에 있어서, 이들 신택스의 값을 도출한다.
bit_depth_luma_minus8 = channelBitDepth - 8
… (28)
bit_depth_chroma_minus8 = channelBitDepth - 8
… (29)
부호화부(115)는, 제어부(101)로부터 공급되는 이들 신택스의 값을, 시퀀스 비트 심도 channelBitDepth에 관한 정보로서 부호화하여, 비트 스트림에 포함시킨다(시퀀스 비트 심도에 관한 정보를 포함하는 비트 스트림을 생성한다).
스텝 S152에 있어서, 부호화부(115)는, 슬라이스 헤더 SH의 1 파라미터로서, 각 컴포넌트의 슬라이스 비트 심도 sliceBitDepth에 관한 정보(신택스의 값)를 부호화한다. 예를 들어, 슬라이스 비트 심도 sliceBitDepth에 관한 신택스로서, 이하와 같은 것이 있다.
slice_min_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최소 화소값
slice_max_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최대 화소값
예를 들어, 제어부(101)의 슬라이스 비트 심도 설정부(152)가, 도 18의 스텝 S132에 있어서, 이들 신택스의 값을 도출한다. 부호화부(115)는, 제어부(101)로부터 공급되는 이들 신택스의 값을, 슬라이스 비트 심도 sliceBitDepth에 관한 정보로서 부호화하여, 비트 스트림에 포함시킨다(슬라이스 비트 심도에 관한 정보를 포함하는 비트 스트림을 생성한다).
스텝 S153에 있어서, 부호화부(115)는, 확장 비트 정밀도 제어 그룹 SG마다, 컴포넌트 X의 확장 비트 정밀도 dBD의 차분 파라미터 deltaX를 부호화한다. 예를 들어, 제어부(101)의 deltaX 도출부(155)가, 도 18의 스텝 S135에 있어서, 이 차분 파라미터 deltaX를 도출한다. 부호화부(115)는, 제어부(101)로부터 공급되는 차분 파라미터 deltaX를, 확장 비트 정밀도 dBD에 관한 정보로서 부호화하여, 비트 스트림에 포함시킨다(차분 파라미터 deltaX를 포함하는 비트 스트림을 생성한다).
스텝 S153의 처리가 종료되면, 확산 비트 정밀도 정보 부호화 처리가 종료되고, 처리는 도 17로 되돌아간다.
이상과 같이 차분 파라미터 deltaX 등의 유효 자릿수의 제어(연산 정밀도의 제어)에 관한 정보를 부호화하여, 비트 스트림에 포함시키고, 부호화측으로부터 복호측으로 전송함으로써, 복호측에 있어서도, 본 기술을 적용한 방법으로 복호를 행할 수 있다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
도 23은, 차분 파라미터 deltaX의 신택스의 예를 도시하는 도면이다. 도 23의 A의 신택스는, 예를 들어 CTU, CTB, CU 또는 CB 등, 차분 파라미터 deltaX를 변환 블록보다 큰 단위로 시그널하는 경우의 예를 나타낸다. 이와 같이 함으로써, 오버헤드를 저감시킬 수 있다.
또한, adaptive_scaling_enabled_flag는, 적응 스케일링의 적용 가부를 나타내는 플래그이며, 헤더 정보(예를 들어, 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS) 또는 슬라이스 헤더(SH))에 있어서 통지된다.
해당 플래그가 참(1)일 때, 적응 스케일링을 적용하기 때문에, 적응 스케일링에 관한 신택스군을 복호ㆍ부호화한다. 이에 비해, 해당 플래그가 거짓(0)일 때, 적응 스케일링을 적용하지 않기 때문에, deltaX(X=Y/Cb/Cr)=0이라고 해석한다.
도 23의 B의 신택스는, 변환 블록 단위로 시그널하는 경우의 예를 나타낸다. 이 경우, 각 컴포넌트의 cbf(coded block flag)를 참조하여, 유의 계수가 있는 변환 블록에 대하여, 차분 파라미터를 부호화ㆍ복호한다. 이와 같이 함으로써, 오버헤드를 저감시킬 수 있다.
<화상 복호 장치>
다음에, 복호 시에 도 9의 표의 방법 #1과 같은 연산 정밀도의 제어를 행하는 구성에 대하여 설명한다. 도 24는, 본 기술을 적용한 화상 처리 장치의 일 양태인 화상 복호 장치의 구성의 일례를 도시하는 블록도이다. 도 24에 도시되는 화상 복호 장치(200)는, AVC나 HEVC와 같이, 화상과 그 예측 화상의 예측 잔차가 부호화된 부호화 데이터를 복호하는 장치이다. 예를 들어, 화상 복호 장치(200)는, 비특허문헌 1 내지 비특허문헌 3에 기재되어 있는 기술을 실장하고, 그들 문헌 중 어느 것에 기재된 규격에 준거한 방법으로 동화상의 화상 데이터가 부호화된 부호화 데이터를 복호한다. 예를 들어, 화상 복호 장치(200)는, 상술한 화상 부호화 장치(100)에 의해 생성된 부호화 데이터(비트 스트림)를 복호한다.
또한, 도 24에 있어서는, 처리부나 데이터의 흐름 등의 주된 것을 도시하고 있으며, 도 24에 도시되는 것이 전부라고는 할 수 없다. 즉, 화상 복호 장치(200)에 있어서, 도 24에 있어서 블록으로서 나타나 있지 않은 처리부가 존재하거나, 도 24에 있어서 화살표 등으로서 나타나 있지 않은 처리나 데이터의 흐름이 존재하거나 해도 된다. 이것은, 화상 복호 장치(200) 내의 처리부 등을 설명하는 다른 도면에 있어서도 마찬가지이다.
도 24에 있어서, 화상 복호 장치(200)는, 축적 버퍼(211), 복호부(212), 역양자화부(213), 역직교 변환부(214), 연산부(215), 인루프 필터부(216), 재배열 버퍼(217), 프레임 메모리(218) 및 예측부(219)를 갖는다. 또한, 예측부(219)는, 도시하지 않은 인트라 예측부 및 인터 예측부를 갖는다. 화상 복호 장치(200)는, 부호화 데이터(비트 스트림)를 복호함으로써, 동화상 데이터를 생성하기 위한 장치이다.
또한, 화상 복호 장치(200)는, 추가로 신장부(231) 및 정규화부(232)도 갖는다.
<축적 버퍼>
축적 버퍼(211)는, 화상 복호 장치(200)에 입력된 비트 스트림을 취득하여, 보유(기억)한다. 축적 버퍼(211)는, 소정의 타이밍에 있어서, 또는 소정의 조건이 갖추어지거나 한 경우, 축적되어 있는 비트 스트림을 복호부(212)에 공급한다.
<복호부>
복호부(212)는, 화상의 복호에 관한 처리를 행한다. 예를 들어, 복호부(212)는, 축적 버퍼(211)로부터 공급되는 비트 스트림을 입력으로 하여, 신택스 테이블의 정의에 따라, 그 비트열로부터, 각 신택스 요소의 신택스값을 가변 길이 복호하여, 파라미터를 도출한다.
신택스 요소 및 신택스 요소의 신택스값으로부터 도출되는 파라미터에는, 예를 들어 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 잔차 정보 Rinfo, 필터 정보 Finfo 등의 정보가 포함된다. 즉, 복호부(212)는, 비트 스트림으로부터, 이들 정보를 파싱한다(해석하여 취득한다). 이들 정보에 대하여 이하에 설명한다.
<헤더 정보 Hinfo>
헤더 정보 Hinfo는, 예를 들어 VPS(Video Parameter Set)/SPS(Sequence Parameter Set)/PPS(Picture Parameter Set)/SH(슬라이스 헤더) 등의 헤더 정보를 포함한다. 헤더 정보 Hinfo에는, 예를 들어 화상 사이즈(가로 폭 PicWidth, 세로 폭 PicHeight), 비트 심도(휘도 bitDepthY, 색차 bitDepthC), 색차 어레이 타입 ChromaArrayType, CU 사이즈의 최댓값 MaxCUSize/최솟값 MinCUSize, 4분목 분할(Quad-tree 분할이라고도 함)의 최대 심도 MaxQTDepth/최소 심도 MinQTDepth, 2분목 분할(Binary-tree 분할)의 최대 심도 MaxBTDepth/최소 심도 MinBTDepth, 변환 스킵 블록의 최댓값 MaxTSSize(최대 변환 스킵 블록 사이즈라고도 함), 각 부호화 툴의 온/오프 플래그(유효 플래그라고도 함) 등을 규정하는 정보가 포함된다.
예를 들어, 헤더 정보 Hinfo에 포함되는 부호화 툴의 온/오프 플래그로서는, 이하에 나타내는 변환, 양자화 처리에 관한 온/오프 플래그가 있다. 또한, 부호화 툴의 온/오프 플래그는, 해당 부호화 툴에 관한 신택스가 부호화 데이터 중에 존재하는지 여부를 나타내는 플래그라고도 해석할 수 있다. 또한, 온/오프 플래그의 값이 1(참)인 경우, 해당 부호화 툴이 사용 가능임을 나타내고, 온/오프 플래그의 값이 0(거짓)인 경우, 해당 부호화 툴이 사용 불가임을 나타낸다. 또한, 플래그 값의 해석은 반대여도 된다.
컴포넌트간 예측 유효 플래그(ccp_enabled_flag): 컴포넌트간 예측(CCP(Cross-Component Prediction), CC 예측이라고도 칭함)이 사용 가능한지 여부를 나타내는 플래그 정보이다. 예를 들어, 이 플래그 정보가 「1」(참)인 경우, 사용 가능임이 나타나고, 「0」(거짓)인 경우, 사용 불가임이 나타난다.
또한, 이 CCP는, 컴포넌트간 선형 예측(CCLM 또는 CCLMP)이라고도 칭한다.
<예측 모드 정보 Pinfo>
예측 모드 정보 Pinfo에는, 예를 들어 처리 대상 PB(예측 블록)의 사이즈 정보 PBSize(예측 블록 사이즈), 인트라 예측 모드 정보 IPinfo, 움직임 예측 정보 MVinfo 등의 정보가 포함된다.
인트라 예측 모드 정보 IPinfo에는, 예를 들어 JCTVC-W1005, 7.3.8.5 Coding Unit syntax 중의 prev_intra_luma_pred_flag, mpm_idx, rem_intra_pred_mode 및 그 신택스로부터 도출되는 휘도 인트라 예측 모드 IntraPredModeY 등이 포함된다.
또한, 인트라 예측 모드 정보 IPinfo에는, 예를 들어 컴포넌트간 예측 플래그(ccp_flag(cclmp_flag)), 다클래스 선형 예측 모드 플래그(mclm_flag), 색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx), 색차 MPM 식별자(chroma_mpm_idx), 및 이들 신택스로부터 도출되는 휘도 인트라 예측 모드(IntraPredModeC) 등이 포함된다.
컴포넌트간 예측 플래그(ccp_flag(cclmp_flag))는, 컴포넌트간 선형 예측을 적용할지 여부를 나타내는 플래그 정보이다. 예를 들어, ccp_flag==1일 때, 컴포넌트간 예측을 적용함을 나타내고, ccp_flag==0일 때, 컴포넌트간 예측을 적용하지 않음을 나타낸다.
다클래스 선형 예측 모드 플래그(mclm_flag)는, 선형 예측의 모드에 관한 정보(선형 예측 모드 정보)이다. 보다 구체적으로는, 다클래스 선형 예측 모드 플래그(mclm_flag)는, 다클래스 선형 예측 모드로 할지 여부를 나타내는 플래그 정보이다. 예를 들어, 「0」인 경우, 1 클래스 모드(단일 클래스 모드)(예를 들어 CCLMP)임을 나타내고, 「1」인 경우, 2 클래스 모드(다클래스 모드)(예를 들어 MCLMP)임을 나타낸다.
색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx)는, 색차 컴포넌트의 화소 위치의 타입(색차 샘플 위치 타입이라고도 칭함)을 식별하는 식별자이다. 예를 들어 색 포맷에 관한 정보인 색차 어레이 타입(ChromaArrayType)이 420 형식을 나타내는 경우, 색차 샘플 위치 타입 식별자는, 이하의 식 (30)과 같은 할당 방법으로 된다.
chroma_sample_loc_type_idx == 0: Type2
chroma_sample_loc_type_idx == 1: Type3
chroma_sample_loc_type_idx == 2: Type1
chroma_sample_loc_type_idx == 3: Type0
… (30)
또한, 이 색차 샘플 위치 타입 식별자(chroma_sample_loc_type_idx)는, 색차 컴포넌트의 화소 위치에 관한 정보(chroma_sample_loc_info( ))로서(에 저장되어) 전송된다.
색차 MPM 식별자(chroma_mpm_idx)는, 색차 인트라 예측 모드 후보 리스트(intraPredModeCandListC) 중 어느 예측 모드 후보를 색차 인트라 예측 모드로서 지정할지를 나타내는 식별자이다.
움직임 예측 정보 MVinfo에는, 예를 들어 merge_idx, merge_flag, inter_pred_idc, ref_idx_LX, mvp_lX_flag, X={0,1}, mvd 등의 정보가 포함된다(예를 들어, JCTVC-W1005, 7.3.8.6 Prediction Unit Syntax를 참조).
물론, 예측 모드 정보 Pinfo에 포함되는 정보는 임의이며, 이들 정보 이외의 정보가 포함되도록 해도 된다.
<변환 정보 Tinfo>
변환 정보 Tinfo에는, 예를 들어 이하의 정보가 포함된다. 물론, 변환 정보 Tinfo에 포함되는 정보는 임의이며, 이들 정보 이외의 정보가 포함되도록 해도 된다.
처리 대상 변환 블록의 가로 폭 사이즈 TBWSize 및 세로 폭 TBHSize(또는, 2를 밑으로 하는 각 TBWSize(또는, TrWidth), TBHSize(또는, TrHeight)의 대수값 log2TBWSize(또는, log2TrWidth), log2TBHSize(또는, log2TrHeight)여도 됨).
변환 스킵 플래그(ts_flag): (역) 프라이머리 변환 및 (역) 세컨더리 변환을 스킵할지 여부를 나타내는 플래그이다.
스캔 식별자(scanIdx)
양자화 파라미터(qp)
양자화 매트릭스(scaling_matrix(예를 들어, JCTVC-W1005, 7.3.4 Scaling list data syntax))
<잔차 정보 Rinfo>
잔차 정보 Rinfo(예를 들어, JCTVC-W1005의 7.3.8.11 Residual Coding syntax를 참조)에는, 예를 들어 이하의 신택스가 포함된다.
cbf(coded_block_flag): 잔차 데이터 유무 플래그
last_sig_coeff_x_pos: 라스트 비제로 계수 X 좌표
last_sig_coeff_y_pos: 라스트 비제로 계수 Y 좌표
coded_sub_block_flag: 서브 블록 비제로 계수 유무 플래그
sig_coeff_flag: 비제로 계수 유무 플래그
gr1_flag: 비제로 계수의 레벨이 1보다 큰지를 나타내는 플래그(GR1 플래그라고도 칭함)
gr2_flag: 비제로 계수의 레벨이 2보다 큰지를 나타내는 플래그(GR2 플래그라고도 칭함)
sign_flag: 비제로 계수의 정부를 나타내는 부호(사인 부호라고도 칭함)
coeff_abs_level_remaining: 비제로 계수의 잔여 레벨(비제로 계수 잔여 레벨이라고도 칭함)
등.
물론, 잔차 정보 Rinfo에 포함되는 정보는 임의이며, 이들 정보 이외의 정보가 포함되도록 해도 된다.
<필터 정보 Finfo>
필터 정보 Finfo에는, 예를 들어 이하에 나타내는 각 필터 처리에 관한 제어 정보가 포함된다.
디블로킹 필터(DBF)에 관한 제어 정보
화소 적응 오프셋(SAO)에 관한 제어 정보
적응 루프 필터(ALF)에 관한 제어 정보
그 밖의 선형ㆍ비선형 필터에 관한 제어 정보
보다 구체적으로는, 예를 들어 각 필터를 적용하는 픽처나, 픽처 내의 영역을 지정하는 정보나, CU 단위의 필터 On/Off 제어 정보, 슬라이스, 타일의 경계에 관한 필터 On/Off 제어 정보 등이 포함된다. 물론, 필터 정보 Finfo에 포함되는 정보는 임의이며, 이들 정보 이외의 정보가 포함되도록 해도 된다.
복호부(212)의 설명으로 되돌아가서, 복호부(212)는, 잔차 정보 Rinfo를 참조하여, 각 변환 블록 내의 각 계수 위치의 양자화 계수 qcoef를 도출한다. 복호부(212)는, 그 양자화 계수 qcoef를, 신장부(231)에 공급한다.
또한, 복호부(212)는, 파싱한 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 양자화 계수 qcoef, 변환 정보 Tinfo, 필터 정보 Finfo를 각 블록에 공급한다. 구체적으로는 이하와 같다.
헤더 정보 Hinfo는, 역양자화부(213), 역직교 변환부(214), 예측부(219), 인루프 필터부(216)에 공급된다.
예측 모드 정보 Pinfo는, 역양자화부(213) 및 예측부(219)에 공급된다.
변환 정보 Tinfo는, 역양자화부(213), 역직교 변환부(214), 신장부(231) 및 정규화부(232)에 공급된다.
필터 정보 Finfo는, 인루프 필터부(216)에 공급된다.
물론, 상술한 예는 일례이며, 이 예에 한정되지 않는다. 예를 들어, 각 부호화 파라미터가 임의의 처리부에 공급되도록 해도 된다. 또한, 그 밖의 정보가, 임의의 처리부에 공급되도록 해도 된다.
예를 들어, 화상 부호화 장치(100)의 설명에 있어서 상술한, 예를 들어 시퀀스 비트 심도 channelBitDepth에 관한 정보, 슬라이스 비트 심도 sliceBitDepth에 관한 정보, 차분 파라미터 deltaX 등의, 유효 계수의 제어(연산 정밀도의 제어)에 관한 정보는, 변환 정보 Tinfo에 포함되어 있어도 된다.
<역양자화부>
역양자화부(213)는, 역양자화에 관한 처리를 행한다. 예를 들어, 역양자화부(213)는, 복호부(212)로부터 공급되는 변환 정보 Tinfo, 및 신장부(231)로부터 공급되는 양자화 계수 qcoefS'를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 양자화 계수 qcoefS'의 값을 스케일링(역양자화)하고, 역양자화 후의 변환 계수 coefS'를 도출한다.
또한, 이 역양자화는, 양자화부(114)에 의한 양자화의 역처리로서 행해진다. 또한, 이 역양자화는, 역양자화부(117)에 의한 역양자화와 마찬가지의 처리이다. 즉, 역양자화부(117)는, 역양자화부(213)와 마찬가지의 처리(역양자화)를 행한다.
역양자화부(213)는, 도출한 변환 계수 coefS'를 역직교 변환부(214)에 공급한다.
<역직교 변환부>
역직교 변환부(214)는, 역직교 변환에 관한 처리를 행한다. 예를 들어, 역직교 변환부(214)는, 역양자화부(213)로부터 공급되는 변환 계수 coefS', 및 복호부(212)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 그 변환 정보 Tinfo에 기초하여, 변환 계수 coefS'에 대하여 역직교 변환 처리를 행하여, 예측 잔차 resiS'를 도출한다.
또한, 이 역직교 변환은, 직교 변환부(113)에 의한 직교 변환의 역처리로서 행해진다. 또한, 이 역직교 변환은, 역직교 변환부(118)에 의한 역직교 변환과 마찬가지의 처리이다. 즉, 역직교 변환부(118)는, 역직교 변환부(214)와 마찬가지의 처리(역직교 변환)를 행한다.
역직교 변환부(214)는, 도출한 예측 잔차 resiS'를 정규화부(232)에 공급한다.
<연산부>
연산부(215)는, 화상에 관한 정보의 가산에 관한 처리를 행한다. 예를 들어, 연산부(215)는, 정규화부(232)로부터 공급되는 예측 잔차 resi'와, 예측부(219)로부터 공급되는 예측 화상 P를 입력으로 한다. 연산부(215)는, 이하의 식 (31)에 나타나는 바와 같이, 예측 잔차 resi'와 그 예측 잔차 resi'에 대응하는 예측 화상 P(예측 신호)를 가산하여, 국소 복호 화상 Rlocal을 도출한다.
Rlocal = resi' + P
… (31)
연산부(215)는, 도출한 국소 복호 화상 Rlocal을, 인루프 필터부(216) 및 프레임 메모리(218)에 공급한다.
<인루프 필터부>
인루프 필터부(216)는, 인루프 필터 처리에 관한 처리를 행한다. 예를 들어, 인루프 필터부(216)는, 연산부(215)로부터 공급되는 국소 복호 화상 Rlocal과, 복호부(212)로부터 공급되는 필터 정보 Finfo를 입력으로 한다. 또한, 인루프 필터부(216)에 입력되는 정보는 임의이며, 이들 정보 이외의 정보가 입력되어도 된다.
인루프 필터부(216)는, 그 필터 정보 Finfo에 기초하여, 국소 복호 화상 Rlocal에 대하여 적절하게 필터 처리를 행한다.
예를 들어, 인루프 필터부(216)는, 비특허문헌 3에 기재된 바와 같이, 양방향 필터, 디블로킹 필터(DBF(DeBlocking Filter)), 적응 오프셋 필터(SAO(Sample Adaptive Offset)) 및 적응 루프 필터(ALF(Adaptive Loop Filter))의 4개의 인루프 필터를 이 순으로 적용한다. 또한, 어느 필터를 적용할지, 어떤 순으로 적용할지는 임의이며, 적절하게 선택 가능하다.
인루프 필터부(216)는, 부호화측(예를 들어 화상 부호화 장치(100)의 인루프 필터부(120))에 의해 행해진 필터 처리에 대응하는 필터 처리를 행한다. 물론, 인루프 필터부(216)가 행하는 필터 처리는 임의이며, 상술한 예에 한정되지 않는다. 예를 들어, 인루프 필터부(216)가 위너 필터 등을 적용하도록 해도 된다.
인루프 필터부(216)는, 필터 처리된 국소 복호 화상 Rlocal을 재배열 버퍼(217) 및 프레임 메모리(218)에 공급한다.
<재배열 버퍼>
재배열 버퍼(217)는, 인루프 필터부(216)로부터 공급된 국소 복호 화상 Rlocal을 입력으로 하여, 그것을 보유(기억)한다. 재배열 버퍼(217)는, 그 국소 복호 화상 Rlocal을 사용하여 픽처 단위마다의 복호 화상 R을 재구축하여, 보유한다(버퍼 내에 저장한다). 재배열 버퍼(217)는, 얻어진 복호 화상 R을, 복호순으로부터 재생순으로 재배열한다. 재배열 버퍼(217)는, 재배열한 복호 화상 R군을 동화상 데이터로서 화상 복호 장치(200)의 외부에 출력한다.
<프레임 메모리>
프레임 메모리(218)는, 화상에 관한 데이터의 기억에 관한 처리를 행한다. 예를 들어, 프레임 메모리(218)는, 연산부(215)로부터 공급되는 국소 복호 화상 Rlocal을 입력으로 하여, 픽처 단위마다의 복호 화상 R을 재구축하여, 프레임 메모리(218) 내의 버퍼에 저장한다.
또한, 프레임 메모리(218)는, 인루프 필터부(216)로부터 공급되는, 인루프 필터 처리된 국소 복호 화상 Rlocal을 입력으로 하여, 픽처 단위마다의 복호 화상 R을 재구축하여, 프레임 메모리(218) 내의 버퍼에 저장한다. 프레임 메모리(218)는, 적절하게 그 기억하고 있는 복호 화상 R(또는 그의 일부)을 참조 화상으로서 예측부(219)에 공급한다.
또한, 프레임 메모리(218)가, 복호 화상의 생성에 관한 헤더 정보 Hinfo, 예측 모드 정보 Pinfo, 변환 정보 Tinfo, 필터 정보 Finfo 등을 기억하도록 해도 된다.
<예측부>
예측부(219)는, 예측 화상의 생성에 관한 처리를 행한다. 예를 들어, 예측부(219)는, 복호부(212)로부터 공급되는 예측 모드 정보 Pinfo를 입력으로 하여, 그 예측 모드 정보 Pinfo에 의해 지정되는 예측 방법에 의해 예측을 행하여, 예측 화상 P를 도출한다. 그 도출 시, 예측부(219)는, 그 예측 모드 정보 Pinfo에 의해 지정되는, 프레임 메모리(218)에 저장된 필터 전 또는 필터 후의 복호 화상 R(또는 그의 일부)을, 참조 화상으로서 이용한다. 예측부(219)는, 도출한 예측 화상 P를, 연산부(215)에 공급한다.
<신장부>
신장부(231)는, 복호부(212)로부터 공급되는 양자화 계수 qcoef와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 양자화 계수 qcoef의 유효 자릿수의 제어(신장)에 관한 처리를 행한다. 예를 들어, 신장부(231)는, 양자화 계수 qcoef를 확장 비트 정밀도 dBD 비트만큼 좌측 비트 시프트하고(<<dBD), 양자화 계수 qcoef의 유효 자릿수를 확장한다. 즉, 신장부(231)는, 직교 변환이나 양자화가 행해지기 전의 양자화 계수 qcoef의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 확장한다. 또한, 신장부(231)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 확장된 양자화 계수 qcoefS'를 역양자화부(213)에 공급한다.
<정규화부>
정규화부(232)는, 역직교 변환부(214)로부터 공급되는 예측 잔차 resiS'와 제어부(101)로부터 공급되는 변환 정보 Tinfo를 입력으로 하여, 예측 잔차 resiS'의 유효 자릿수의 제어(정규화)에 관한 처리를 행한다. 예를 들어, 정규화부(232)는, 예측 잔차 resiS'를 확장 비트 정밀도 dBD 비트만큼 우측 비트 시프트하고(>>dBD), 예측 잔차 resiS'의 유효 자릿수를 정규화한다. 즉, 정규화부(232)는, 역양자화나 역직교 변환이 행해진 후의 예측 잔차 resiS'의 유효 자릿수를, 비트 심도의 시퀀스 내에 있어서의 시간 방향 또는 공간 방향의 변화에 따라 정규화한다. 또한, 정규화부(232)는, 그 비트 시프트에 의해 얻어진, 유효 자릿수가 정규화된 예측 잔차 resiS'를 연산부(215)에 공급한다.
이상과 같은 구성으로 함으로써, 화상 복호 장치(200)는, 계수의 유효 자릿수를 시퀀스 레벨의 확장으로부터 더 확장한 상태로, 역양자화 및 역직교 변환의 각 처리를 행할 수 있고, 그들 처리의 연산 정밀도를 향상시킬 수 있다. 즉, 부호화 효율의 저감을 억제할 수 있다.
<복호부의 상세>
도 25는, 복호부(212)의, 유효 자릿수의 제어에 관한 정보의 추출 등에 관한 주된 구성예를 도시하는 블록도이다. 도 25에 도시되는 바와 같이, 복호부(212)는, 시퀀스 비트 심도 도출부(251), 슬라이스 비트 심도 도출부(252), deltaX 복호부(253) 및 dBD 도출부(254)를 갖는다. 또한, 복호부(212)는, 상술한 바와 같이, 다른 정보의 복호 등, 유효 자릿수의 제어에 관한 정보의 추출 등 이외의 처리도 행하지만, 그들 처리에 대한 구성의 설명은 생략한다.
시퀀스 비트 심도 도출부(251)는, 축적 버퍼(211)의 비트 스트림 bitstream을 입력으로 하여, 시퀀스 비트 심도 channelBitDepth의 도출에 관한 처리를 행한다. 예를 들어, 시퀀스 비트 심도 도출부(251)는, 비트 스트림에 포함되는 시퀀스 비트 심도에 관한 정보를 복호하여 추출한다. 또한, 예를 들어 시퀀스 비트 심도 도출부(251)는, 그 추출한 시퀀스 비트 심도에 관한 정보를 사용하여 시퀀스 비트 심도 channelBitDepth를 도출한다. 또한, 예를 들어 시퀀스 비트 심도 도출부(251)는, 그 도출한 시퀀스 비트 심도 channelBitDepth를 dBD 도출부(254)에 공급한다. 또한, 예를 들어 시퀀스 비트 심도 도출부(251)는, 그 도출한 시퀀스 비트 심도 channelBitDepth를, 변환 정보 Tinfo로서 역양자화부(213) 및 역직교 변환부(214)에 공급한다.
슬라이스 비트 심도 도출부(252)는, 축적 버퍼(211)의 비트 스트림 bitstream을 입력으로 하여, 슬라이스 비트 심도 sliceBitDepth의 도출에 관한 처리를 행한다. 예를 들어, 슬라이스 비트 심도 도출부(252)는, 비트 스트림에 포함되는 슬라이스 비트 심도에 관한 정보를 복호하여 추출한다. 또한, 예를 들어 슬라이스 비트 심도 도출부(252)는, 그 추출한 슬라이스 비트 심도에 관한 정보를 사용하여 슬라이스 비트 심도 sliceBitDepth를 도출한다. 또한, 예를 들어 슬라이스 비트 심도 도출부(252)는, 그 도출한 슬라이스 비트 심도 sliceBitDepth를 dBD 도출부(254)에 공급한다.
deltaX 복호부(253)는, 축적 버퍼(211)의 비트 스트림 bitstream을 입력으로 하여, 차분 파라미터 deltaX의 복호에 관한 처리를 행한다. 예를 들어, deltaX 복호부(253)는, 비트 스트림에 포함되는 차분 파라미터 deltaX(확장 비트 정밀도에 관한 정보)를 복호하여 추출한다. deltaX 복호부(253)는, 얻어진 차분 파라미터 deltaX를, dBD 도출부(254)에 공급한다.
dBD 도출부(254)는, 시퀀스 비트 심도 도출부(251)로부터 공급되는 시퀀스 비트 심도 channelBitDepth, 슬라이스 비트 심도 도출부(252)로부터 공급되는 슬라이스 비트 심도 sliceBitDepth, 및 deltaX 복호부(253)로부터 공급되는 차분 파라미터 deltaX를 입력으로 하여, 확장 비트 정밀도 dBD의 도출에 관한 처리를 행한다. 예를 들어, dBD 도출부(254)는, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다. 또한, dBD 도출부(254)는, 그 도출한 확장 비트 정밀도 dBD를, 변환 정보 Tinfo로서 역양자화부(213), 역직교 변환부(214), 신장부(231) 및 정규화부(232)에 공급한다.
<화상 복호 처리의 흐름>
다음에, 이상과 같은 화상 복호 장치(200)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 26의 흐름도를 참조하여, 화상 복호 처리의 흐름의 예를 설명한다.
화상 복호 처리가 개시되면, 축적 버퍼(211)는, 스텝 S201에 있어서, 화상 복호 장치(200)의 외부로부터 공급되는 부호화 데이터(비트 스트림)를 취득하여 보유한다(축적한다).
스텝 S202에 있어서, 복호부(212)는, 그 부호화 데이터(비트 스트림)를 복호하여, 양자화 계수 qcoef를 얻는다. 또한, 복호부(212)는, 이 복호에 의해, 부호화 데이터(비트 스트림)로부터 각종 부호화 파라미터를 파싱한다(해석하여 취득한다).
스텝 S203에 있어서, 신장부(231)는, 스텝 S202의 처리에 의해 얻어진 컴포넌트 X의 양자화 계수 qcoef를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여, 이하의 식 (32)와 같이 신장시키고, 신장된 양자화 계수 qcoefS'를 얻는다.
dBD > 0일 때 qcoefS' = qcoef << dBD
dBD = 0일 때 qcoefS' = qcoef
… (32)
스텝 S204에 있어서, 역양자화부(213)는, 스텝 S203의 처리에 의해 신장된 양자화 계수 qcoefS'에 대하여, 부호화측에서 행해진 양자화의 역처리인 역양자화를 행하여, 변환 계수 coefS'를 얻는다.
스텝 S205에 있어서, 역직교 변환부(214)는, 스텝 S204의 처리에 의해 얻어진 변환 계수 coefS'에 대하여, 부호화측에서 행해진 직교 변환 처리의 역처리인 역직교 변환 처리를 행하여, 예측 잔차 resiS'를 얻는다.
스텝 S206에 있어서, 정규화부(232)는, 스텝 S205의 처리에 의해 얻어진 컴포넌트 X의 예측 잔차 resiS'를, 확장 비트 정밀도 제어 그룹 SG 단위의 확장 비트 정밀도 dBD를 사용하여, 이하의 식 (33)과 같이 정규화하여, 정규화된 예측 잔차 resi를 얻는다.
dBD > 0일 때 resi' = (resiS' + offsetBD) >> dBD
단, offsetBD = 1 << (dBD-1)
dBD = 0일 때 resi' = resiS'
… (33)
이 식 (33) 대신에, 이하의 식 (34)에 의해 정규화를 행하도록 해도 된다.
dBD > 0일 때 resi' = sign(resiS') * (abs(resiS') + offsetBD) >> dBD
dBD = 0일 때 resi' = resiS'
… (34)
여기서, sign(x)는, 실수 x의 정부호를 반환하는 연산자이고, abs(x)는, 실수 x의 절댓값을 반환하는 연산자이다.
스텝 S207에 있어서, 예측부(219)는, 스텝 S202에 있어서 파싱된 정보에 기초하여, 부호화측에서 지정되는 예측 방법으로 예측 처리를 실행하고, 프레임 메모리(218)에 기억되어 있는 참조 화상을 참조하거나 하여, 예측 화상 P를 생성한다.
스텝 S208에 있어서, 연산부(215)는, 스텝 S206의 처리에 의해 얻어진 예측 잔차 resi'와, 스텝 S207의 처리에 의해 얻어진 예측 화상 P를 가산하여, 국소 복호 화상 Rlocal을 도출한다.
스텝 S209에 있어서, 인루프 필터부(216)는, 스텝 S208의 처리에 의해 얻어진 국소 복호 화상 Rlocal에 대하여, 인루프 필터 처리를 행한다.
스텝 S210에 있어서, 재배열 버퍼(217)는, 스텝 S307의 처리에 의해 얻어진 필터 처리된 국소 복호 화상 Rlocal을 사용하여 복호 화상 R을 도출하고, 그 복호 화상 R군의 순서를 복호순으로부터 재생순으로 재배열한다. 재생순으로 재배열된 복호 화상 R군은, 동화상으로서 화상 복호 장치(200)의 외부에 출력된다.
또한, 스텝 S211에 있어서, 프레임 메모리(218)는, 스텝 S208의 처리에 의해 얻어진 국소 복호 화상 Rlocal, 및 스텝 S209의 처리에 의해 얻어진 필터 처리 후의 국소 복호 화상 Rlocal 중, 적어도 한쪽을 기억한다.
스텝 S211의 처리가 종료되면, 화상 복호 처리가 종료된다.
이상과 같은 흐름의 화상 복호 처리에 있어서, 스텝 S203에 있어서, 역양자화 전의 양자화 계수 qcoef의 유효 자릿수를 확장 비트 정밀도 dBD에 의해 신장시키고, 스텝 S206에 있어서, 역직교 변환 후의 예측 잔차 resiS'를 확장 비트 정밀도 dBD에 의해 정규화함으로써, 연산 정밀도를 높여 역양자화 및 역직교 변환의 처리로 실행할 수 있다. 즉, 연산 정밀도의 향상에 의해, 부호화 효율이 개선된다.
<dBD 도출 처리의 흐름>
도 26의 스텝 S202에 있어서는, 각종 부호화 파라미터가 도출된다. 예를 들어, 확장 비트 정밀도 dBD 등이 도출된다. 도 27의 흐름도를 참조하여, 이 확장 비트 정밀도 dBD 등의 파라미터를 도출하는 dBD 도출 처리의 흐름의 예를 설명한다.
dBD 도출 처리가 개시되면, 복호부(212)의 시퀀스 비트 심도 도출부(251)는, 스텝 S231에 있어서, 컴포넌트 X의 시퀀스 비트 심도 channelBitDepth를 도출한다.
예를 들어, 시퀀스 비트 심도 도출부(251)는, 비트 스트림의 시퀀스 파라미터 세트 SPS에 포함되는 각 컴포넌트의 시퀀스 비트 심도 channelBitDepth에 관한 신택스의 값(시퀀스 비트 심도에 관한 정보)을 복호하여 추출한다. 또한, 시퀀스 비트 심도 도출부(251)는, 그 추출한 신택스의 값으로부터, 시퀀스 비트 심도 channelBtiDepth를 도출한다. 예를 들어, channelBitDepth에 관한 신택스로서, 이하와 같은 것이 있다.
bit_depth_luma_minus8: 휘도의 시퀀스 비트 심도를 나타내는 신택스
bit_depth_chroma_minus8: 색차의 시퀀스 비트 심도를 나타내는 신택스
예를 들어, 휘도의 경우, 시퀀스 비트 심도 도출부(251)는, 이하의 식 (35)와 같이 시퀀스 비트 심도 channelBtiDepth를 도출한다.
channelBitDepth = 8 + bit_depth_luma_minus8
… (35)
또한, 예를 들어 색차의 경우, 시퀀스 비트 심도 도출부(251)는, 이하의 식 (36)과 같이 시퀀스 비트 심도 channelBitDepth를 도출한다.
channelBitDepth = 8 + bit_depth_chroma_minus8
… (36)
스텝 S232에 있어서, 슬라이스 비트 심도 도출부(252)는, 컴포넌트 X의 슬라이스 비트 심도 sliceBitDepth를 도출한다.
예를 들어, 슬라이스 비트 심도 도출부(252)는, 비트 스트림의 슬라이스 헤더 SH에 포함되는 각 컴포넌트의 슬라이스 비트 심도에 관한 신택스의 값(슬라이스 비트 심도에 관한 정보)을 복호하여, 추출한다. 또한, 슬라이스 비트 심도 도출부(252)는, 그 추출한 신택스의 값으로부터, 슬라이스 비트 심도 sliceBitDepth를 도출한다. 예를 들어, 슬라이스 비트 심도 sliceBitDepth에 관한 신택스로서, 이하와 같은 것이 있다.
slice_min_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최소 화소값
slice_max_val: 컴포넌트 X(X=Y/Cb/Cr)의 슬라이스 내에 있어서의 최대 화소값
슬라이스 비트 심도 도출부(252)는, 예를 들어 이하의 식 (37)과 같이, 이들 값으로부터, 슬라이스 비트 심도 sliceBitDepth를 도출한다.
sliceBitDepth = ceil(log2(slice_max_val - slice_min_val))
… (37)
또한, 슬라이스 내의 최소 화소값 slice_min_val 및 최대 화소값 slice_max_val 대신에, 직접 슬라이스 비트 심도 sliceBitDepth를 슬라이스 헤더로부터 복호해도 되고, 시퀀스 비트 심도 channelBitDepth와 슬라이스 비트 심도 sliceBitDepth의 차분값 slice_bit_depth_diffX를 복호하도록 해도 된다.
slice_bit_depth_diffX: 컴포넌트 X의 시퀀스 비트 심도 channelBitDepth에 대한 슬라이스 비트 심도의 차분값
slice_bit_depth_diffX로부터 슬라이스 비트 심도 sliceBitDepth를 도출하는 경우, 슬라이스 비트 심도 sliceBitDepth는, 예를 들어 이하의 식 (38)과 같이 도출된다.
sliceBitDepth = channelBitDepth - slice_bit_depth_diffX
… (38)
스텝 S233에 있어서, deltaX 복호부(253)는, 확장 비트 정밀도 제어 그룹 SG마다 컴포넌트 X의 확장 비트 정밀도 dBD의 차분 파라미터 deltaX를 복호한다.
예를 들어, deltaX 복호부(253)는, 확장 비트 정밀도 제어 그룹 SG(Scaling Group)마다 컴포넌트 X의 계수의 유효 자릿수를 몇 비트 확장하는지를 나타내는 확장 비트 정밀도 dBD의 차분 파라미터 deltaX를 부호화 데이터로부터 복호한다.
스텝 S234에 있어서, dBD 도출부(254)는, 확장 비트 정밀도 제어 그룹 SG마다, 컴포넌트 X의 확장 비트 정밀도 dBD를 도출한다.
예를 들어, dBD 도출부(254)는, 확장 비트 정밀도 제어 그룹 SG마다, 이하의 식 (39)와 같이, 컴포넌트 X의 확장 비트 정밀도 dBD의 차분 파라미터 deltaX, 시퀀스 비트 심도 channelBitDepth 및 슬라이스 비트 심도 sliceBitDepth로부터 확장 비트 정밀도 dBD를 도출한다.
dBD = channelBitDepth - sliceBitDepth + deltaX
… (39)
또한, channelBitDepth≥sliceBitDepth≥deltaX의 관계에 있다. 확장 비트 정밀도 dBD를 시퀀스 비트 심도, 슬라이스 비트 심도를 통하여 나타냄으로써, 차분 파라미터 deltaX의 값을 작게 할 수 있다. 즉, 차분 파라미터 deltaX의 복호ㆍ부호화에 요하는 부호량을 작게 할 수 있다.
스텝 S234의 처리가 종료되면, dBD 도출 처리가 종료되고, 처리는 도 26으로 되돌아간다.
<확장 비트 정밀도 제어 그룹 SG의 제어>
또한, 확장 비트 정밀도 제어 그룹 SG는, CTB의 사이즈 CtbLog2Size에 대한 분할 심도의 차분값 diff_cu_delta_depth에 의해 제어하도록 해도 된다. 이 경우, SG의 사이즈 Log2SGSize는, 이하의 식 (40)과 같이 구해진다.
Log2SGSize = CtbLog2Size - diff_cu_delta_depth
… (40)
예를 들어, 도 20에 나타나는 점선 프레임과 같이 CTB가 128×128의 사이즈인 경우(CtbLog2Size=7)이며, 도 20에 나타나는 굵은 선 프레임과 같이 SG의 사이즈를 32×32로 하는 경우(Log2SGSize=5), 차분값 diff_cu_delta_depth의 값은, 이하의 식 (41)과 같이 2로 된다.
diff_cu_delta_depth = CtbLog2Size - Log2SGSize = 7 - 5 = 2
… (41)
또한, 차분값 diff_cu_delta_depth는, 소정의 파라미터 세트(헤더 정보) 단위(예를 들어, 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS(Picture Parameter Set)) 또는 슬라이스 헤더(SH(Slice Header)) 등)로 통지되는 것으로 한다. 이와 같이 함으로써, 차분값 diff_cu_delta_depth로 확장 비트 정밀도 제어 그룹 SG의 입도를 제어할 수 있게 된다.
예를 들어, 신호의 레인지가 어느 정도 큰 영역에 있어서 일정한 경우에는, 이 차분값 diff_cu_delta_depth의 값을 작게 함으로써, 차분 파라미터 deltaX를 통지하는 단위를 크게 할 수 있고, 오버헤드를 삭감할 수 있다.
반대로, 신호의 레인지가 작은 영역에서 변화하는 경우에는, 이 차분값 diff_cu_delta_depth의 값을 크게 함으로써, 차분 파라미터 deltaX를 통지하는 단위를 작게 할 수 있고, 더 미세한 입도로, 역양자화ㆍ역직교 변환 시의 변환 계수의 유효 자릿수를 확장할 수 있다.
<확장 비트 정밀도 dBD의 정의의 다른 예 1>
또한, 이상에 있어서는, 컴포넌트 X의 확장 비트 정밀도 dBD를, 시퀀스 비트 심도 channelBitDepth, 슬라이스 비트 심도 sliceBitDepth 및 확장 비트 정밀도 dBD의 차분 파라미터 deltaX로부터 구하도록 설명하였지만, 확장 비트 정밀도 dBD의 정의는 임의이며, 이 예에 한정되지 않는다.
예를 들어, 차분 파라미터 deltaX를, 시퀀스 비트 심도 channelBitDepth와 확장 비트 정밀도 dBD의 차분값으로 해도 된다. 즉, 확장 비트 정밀도 dBD를, 이하의 식 (42)에 나타나는 바와 같이, 시퀀스 비트 심도 channelBitDepth와 차분 파라미터 deltaX의 차분값으로 해도 된다.
dBD = channelBitDepth - deltaX
… (42)
(즉, deltaX = channelBitDepth - dBD)
이와 같이 함으로써, 확장 비트 정밀도 dBD를, 상술한 예보다 용이하게 도출할 수 있다.
<확장 비트 정밀도 dBD의 정의의 다른 예 2>
또한, 이하의 식 (43)과 같이, 확장 비트 정밀도 dBD를, 차분 파라미터 deltaX와 등가로 해도 된다.
dBD = deltaX
… (43)
이 경우, 확장 비트 정밀도 dBD를, 차분 파라미터 deltaX 이외의 다른 파라미터에 의존하지 않고 도출할 수 있다.
<확장 비트 정밀도 dBD의 정의의 다른 예 3>
또한, 예를 들어 이하의 식 (44)와 같이, 확장 비트 정밀도 dBD를, 처리 대상의 확장 비트 정밀도 제어 그룹 SG(커런트 확장 비트 정밀도 제어 그룹 SGcur라고 칭함)의 확장 비트 정밀도 dBD의 예측값 dBDpred와, 차분 파라미터 deltaX의 합으로 해도 된다.
dBD = dBDpred + deltaX
… (44)
(즉, deltaX = dBD - dBDpred)
예를 들어, 이 예측값 dBDpred는, 도 21을 참조하여 상술한 바와 같이 커런트 확장 비트 정밀도 제어 그룹 SGcur에 인접하는 부호화 완료된 확장 비트 정밀도 제어 그룹 neighborSGs의 dBD를 참조하여 도출된다. 또한, 이 경우, 확장 비트 정밀도 dBD의 예측값 dBDpred가, 인접 확장 비트 정밀도 제어 그룹 SGA의 확장 비트 정밀도 dBDA 및 인접 확장 비트 정밀도 제어 그룹 SGB의 확장 비트 정밀도 dBDB에 기초하여 설정되도록 해도 된다. 또한, 예를 들어 확장 비트 정밀도 dBD의 예측값 dBDpred가, 이들 인접 확장 비트 정밀도 제어 그룹이 참조 가능한지 여부에 따른 방법(예를 들어, 상술한 식 (24) 내지 (27))으로 도출되도록 해도 된다.
이와 같이, 인접하는 부호화 완료 비트 정밀도 제어 그룹 neigborSGs의 확장 비트 정밀도 dBD를 사용하여, 커런트 확장 비트 정밀도 제어 그룹 SGcur의 dBD를 예측함으로써, 차분 파라미터 deltaX의 값을 저감할 수 있다. 즉, deltaX의 복호나 부호화에 요하는 부호량의 증대를 억제할 수 있다.
<4. 제2 실시 형태>
<화상 부호화 장치>
제2 실시 형태에 있어서는, 도 9의 표의 방법 #2의 상세에 대하여 설명한다. 우선, 부호화 시에 그러한 연산 정밀도의 제어를 행하는 구성에 대하여 설명한다. 도 28은, 이 경우의 화상 부호화 장치(100)의 주된 구성예를 도시하는 블록도이다. 도 28의 경우도 화상 부호화 장치(100)는, 방법 #1의 경우(도 15)와 기본적으로 마찬가지의 구성을 갖지만, 예측부(122)에 의해 얻어진 예측 화상 P가 제어부(101)에도 공급된다.
예를 들어, 제어부(101)는, 로컬 레벨마다의 확장 비트 정밀도 dBD를, 이 예측 화상에 기초하여 도출한다. 또한, 이 경우, 확장 비트 정밀도 dBD는 예측 화상으로부터 도출되므로, 복호측에 있어서도 마찬가지로, 예측 화상으로부터 확장 비트 정밀도 dBD를 도출할 수 있다. 즉, 차분 파라미터 deltaX의 전송이 불필요하다. 따라서, 제어부(101)는, 이 차분 파라미터 deltaX의 도출을 생략한다. 당연히, 부호화부(115)도 차분 파라미터 deltaX(확장 비트 정밀도에 관한 정보)의 부호화를 생략한다.
<제어부의 상세>
도 29는, 이 경우의 제어부(101)의, 유효 자릿수의 제어에 관한 정보의 생성에 관한 주된 구성예를 도시하는 블록도이다. 도 29에 도시되는 바와 같이, 이 경우의 제어부(101)는, 시퀀스 비트 심도 설정부(151), 화소 최솟값 최댓값 탐색부(153) 및 dBD 도출부(154)를 갖는다. 차분 파라미터 deltaX의 부호화측으로부터 복호측으로의 전송이 생략되기 때문에, deltaX 도출부(155)는 생략된다. 그 때문에, 슬라이스 비트 심도 설정부(152)도 생략된다.
또한, 화소 최솟값 최댓값 탐색부(153)는, 예측 화상을 입력으로 하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 그 예측 화상의 화소값의 최솟값(minPredPixelVal)과 최댓값(maxPredPixelVal)을 탐색한다. 화소 최솟값 최댓값 탐색부(153)는, 그 탐색에 의해 검출한 각 로컬 레벨의 최솟값(minPredPixelVal)과 최댓값(maxPredPixelVal)을 dBD 도출부(154)에 공급한다.
dBD 도출부(154)는, 시퀀스 비트 심도 설정부(151)로부터 공급되는 시퀀스 비트 심도 channelBitDepth와, 화소 최솟값 최댓값 탐색부(153)로부터 공급되는 예측 화상의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 입력으로 하여, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다.
dBD 도출부(154)는, 그 도출한 확장 비트 정밀도 dBD를 변환 정보 Tinfo로서 직교 변환부(113), 양자화부(114), 역양자화부(117), 역직교 변환부(118), 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)에 공급한다.
즉, 방법 #2의 경우, 확장 비트 정밀도 dBD의 도출 방법과, 차분 파라미터 deltaX의 전송이 생략되는 것이 다를 뿐이며, 그 이외의 처리, 예를 들어 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)에 있어서의 유효 자릿수의 제어(신장 또는 정규화) 등은, 기본적으로 방법 #1과 마찬가지이다.
따라서, 이 경우에도, 방법 #1의 경우와 마찬가지로, 부호화 효율의 저감을 억제할 수 있다.
<화상 부호화 처리의 흐름>
다음에, 도 30의 흐름도를 참조하여, 이 경우의 화상 부호화 처리의 흐름의 예를 설명한다.
화상 부호화 처리가 개시되면, 스텝 S301 및 스텝 S302의 각 처리가, 도 17의 스텝 S101 및 스텝 S102의 각 처리와 마찬가지로 실행된다.
스텝 S303에 있어서, 제어부(101)는, 재배열 버퍼(111)가 보유하는 입력 화상에 대한 부호화 파라미터를 결정(설정)한다. 단, 이 경우, 제어부(101)는, 유효 자릿수의 제어에 관한 정보에 대해서는, 입력 화상에 기초하여 시퀀스 비트 심도 channelBitDepth의 설정만을 행하고, 확장 비트 정밀도 dBD의 도출은 행하지 않는다.
스텝 S304에 있어서, 예측부(122)는, 스텝 S104의 경우와 마찬가지로 예측 처리를 행하여, 최적의 예측 모드의 예측 화상 등을 생성한다.
스텝 S305에 있어서, 제어부(101)는, 스텝 S304에 있어서 생성된 예측 화상으로부터 확장 비트 정밀도 dBD를 도출한다.
스텝 S306 내지 스텝 S319의 각 처리는, 도 17의 스텝 S105 내지 스텝 S118의 각 처리와 마찬가지로 행해진다.
스텝 S319의 처리가 종료되면, 화상 부호화 처리가 종료된다.
이상과 같은 흐름의 화상 부호화 처리에 있어서, 스텝 S307에 있어서, 직교 변환 전의 예측 잔차 resi의 유효 자릿수를 확장 비트 정밀도 dBD에 의해 신장시키고, 스텝 S310에 있어서, 양자화 후의 양자화 계수 qcoefS를 확장 비트 정밀도 dBD에 의해 정규화함으로써, 연산 정밀도를 높여 직교 변환 및 양자화의 처리로 실행할 수 있다. 즉, 연산 정밀도의 향상에 의해, 부호화 효율이 개선된다.
마찬가지로, 스텝 S311에 있어서, 역양자화 전의 양자화 계수 qcoef의 유효 자릿수를 확장 비트 정밀도 dBD에 의해 신장시키고, 스텝 S314에 있어서, 역직교 변환 후의 예측 잔차 resiS'를 확장 비트 정밀도 dBD에 의해 정규화함으로써, 연산 정밀도를 높여 역양자화 및 역직교 변환의 처리로 실행할 수 있다. 즉, 연산 정밀도의 향상에 의해, 부호화 효율이 개선된다.
<시퀀스 비트 심도 설정 처리의 흐름>
도 30의 스텝 S303에 있어서는, 각종 부호화 파라미터가 설정된다. 예를 들어, 시퀀스 비트 심도 channelBitDepth가 설정된다. 도 31의 흐름도를 참조하여, 이 시퀀스 비트 심도 channelBitDepth를 설정하는 시퀀스 비트 심도 설정 처리의 흐름의 예를 설명한다.
시퀀스 비트 심도 설정 처리가 개시되면, 시퀀스 비트 심도 설정부(151)는, 스텝 S331에 있어서, 외부로부터 입력되는 입력 화상의 각 컴포넌트의 비트 심도를 구하고, 그 값을, 각 컴포넌트의 시퀀스 비트 심도 channelBitDepth로 설정한다.
스텝 S331의 처리가 종료되면, 시퀀스 비트 심도 설정 처리가 종료되고, 처리는 도 30으로 되돌아간다.
<dBD 도출 처리의 흐름>
도 30의 스텝 S305의 처리에 있어서 실행되는 dBD 도출 처리의 흐름의 예를, 도 32의 흐름도를 참조하여 설명한다.
dBD 도출 처리가 개시되면, 화소 최솟값 최댓값 탐색부(153)는, 스텝 S351에 있어서, 확장 비트 정밀도 제어 그룹 SG마다, 예측 화상의 컴포넌트 X의 최소 화소값 minPredPixelVal 및 최대 화소값 maxPredPixelVal을 도출한다.
스텝 S352에 있어서, dBD 도출부(154)는, 스텝 S351에 있어서 도출된 예측 화상의 최소 화소값 minPredPixelVal 및 최대 화소값 maxPredPixelVal에 기초하여, 확장 비트 정밀도 제어 그룹 SG마다, 컴포넌트 X의 확장 비트 정밀도 dBD를 도출한다.
스텝 S352의 처리가 종료되면, dBD 도출 처리가 종료되고, 처리는 도 30으로 되돌아간다.
이상과 같이, 확장 비트 정밀도 제어 그룹 SG마다 확장 비트 정밀도 dBD가 도출되므로, 신장부(131), 정규화부(132), 신장부(133) 및 정규화부(134)는, 각각 방법 #1의 경우와 마찬가지로, 그 확장 비트 정밀도 dBD를 사용하여, 확장 비트 정밀도 제어 그룹 SG마다 계수의 유효 자릿수(연산 정밀도)를 제어할 수 있다. 따라서, 이 경우에도, 방법 #1의 경우와 마찬가지로, 부호화 효율의 저감을 억제할 수 있다.
<확장 비트 정밀도 정보 부호화 처리의 흐름>
도 30의 스텝 S318의 처리에 있어서는, 유효 자릿수의 제어(연산 정밀도의 제어)에 관한 정보로서, 시퀀스 비트 심도에 관한 정보가 부호화되고, 비트 스트림에 포함된다.
이 시퀀스 비트 심도에 관한 정보를 부호화하는 확장 비트 정밀도 정보 부호화 처리의 흐름의 예를, 도 33의 흐름도를 참조하여 설명한다.
확장 비트 정밀도 정보 부호화 처리가 개시되면, 부호화부(115)는, 스텝 S371에 있어서, 컴포넌트 X의 시퀀스 비트 심도 channelBitDepth에 관한 정보를 부호화하고, 비트 스트림(예를 들어 시퀀스 파라미터 세트 SPS)에 포함시킨다.
스텝 S371의 처리가 종료되면, 확장 비트 정밀도 정보 부호화 처리가 종료되고, 처리는 도 30으로 되돌아간다.
이와 같이, 이 경우, 부호화부(115)는, 시퀀스 비트 심도에 관한 정보를 부호화하여 비트 스트림에 포함시키지만(시퀀스 비트 심도에 관한 정보를 포함하는 비트 스트림을 생성하지만), 차분 파라미터 deltaX의 부호화는 생략된다. 따라서, 부호화 효율의 저감을 억제할 수 있다.
<변형예>
또한, 제2 실시예의 형태(도 9의 표의 방법 #2)에 있어서의 화상 부호화 장치에서는, 처리 대상 블록에 대응하는 예측 화상을 참조하여, 로컬 레벨마다의 확장 비트 정밀도 dBD를 도출하고 있지만, 예측 화상 대신에, 해당 예측 화상 생성에서 참조하는 복호 화상을 사용하여, 처리 대상 블록의 로컬 비트 심도를 도출하고, 해당 로컬 비트 심도를 참조하여, 확장 비트 정밀도 dBD를 도출하는 구성으로 해도 된다(방법 #2').
즉, 도 29에 있어서, 화소 최솟값 최댓값 탐색부(153)는, 처리 대상 블록의 예측 화상 생성에서 참조하는 복호 화상 Recref를 입력으로 하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 그 복호 화상 Recref의 화소값의 최솟값(minRecPixelVal)과 최댓값(maxRecPixelVal)을 탐색한다. 화소 최솟값 최댓값 탐색부(153)는, 그 탐색에 의해 검출한 각 로컬 레벨의 최솟값(minRecPixelVal)과 최댓값(maxRecPixelVal)을, dBD 도출부(154)에 공급한다.
또한, dBD 도출부(154)는, 시퀀스 비트 심도 설정부(151)로부터 공급되는 시퀀스 비트 심도 channelBitDepth와, 화소 최솟값 최댓값 탐색부(153)로부터 공급되는 복호 화상 Recref의 화소값의 최솟값(minRecPixelVal) 및 최댓값(maxRecPixelVal)을 입력으로 하여, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다.
마찬가지로, 도 30의 스텝 S305는, '복호 화상으로부터 확장 비트 정밀도 dBD를 도출한다'고 해석한다.
따라서, 이 경우에도 방법 #2의 경우와 마찬가지로, 부호화 효율의 저감을 억제하는 효과를 발휘한다. 또한, 방법 #2'의 방법 #2에 대한 장점은, 예측 화상을 생성하지 않아도, 복호 화상에서만 확장 비트 정밀도 dBD를 도출 가능하다는 점이다.
또한, 상기에 있어서, 복호 화상 Recref란, 인트라 예측이면, 대상 블록의 인트라 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역을 가리키고, 인터 예측이면, 대상 블록의 인터 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역이다.
<화상 복호 장치>
다음에, 복호 시에 도 9의 표의 방법 #2와 같은 연산 정밀도의 제어를 행하는 구성에 대하여 설명한다. 도 34는, 이 경우의 화상 복호 장치(200)의 주된 구성예를 도시하는 블록도이다. 도 34의 경우도 화상 복호 장치(200)는, 방법 #1의 경우(도 24)와 기본적으로 마찬가지의 구성을 갖지만, 예측부(219)에 의해 얻어진 예측 화상 P가 복호부(212)에도 공급된다.
예를 들어, 복호부(212)는, 로컬 레벨마다의 확장 비트 정밀도 dBD를, 이 예측 화상에 기초하여 도출한다. 즉, 차분 파라미터 deltaX의 전송이 불필요하다. 따라서, 부호화 효율의 저감을 억제할 수 있다. 또한, 당연히, 복호부(212)는, 이 차분 파라미터 deltaX의 복호를 생략한다.
<복호부의 상세>
도 35는, 이 경우의 복호부(212)의, 유효 자릿수의 제어에 관한 정보의 추출 등에 관한 주된 구성예를 도시하는 블록도이다. 도 35에 도시되는 바와 같이, 이 경우의 복호부(212)는, 시퀀스 비트 심도 도출부(251), dBD 도출부(254) 및 화소 최솟값 최댓값 탐색부(451)를 갖는다. 차분 파라미터 deltaX의 부호화측으로부터 복호측으로의 전송이 생략되기 때문에, 슬라이스 비트 심도 도출부(252) 및 deltaX 복호부(253)는 생략된다.
화소 최솟값 최댓값 탐색부(451)는, 예측 화상을 입력으로 하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 그 예측 화상의 화소값의 최솟값(minPredPixelVal)과 최댓값(maxPredPixelVal)을 탐색한다. 화소 최솟값 최댓값 탐색부(451)는, 그 탐색에 의해 검출한 각 로컬 레벨의 최솟값(minPredPixelVal)과 최댓값(maxPredPixelVal)을, dBD 도출부(254)에 공급한다.
dBD 도출부(254)는, 시퀀스 비트 심도 도출부(251)로부터 공급되는 시퀀스 비트 심도 channelBitDepth와, 화소 최솟값 최댓값 탐색부(451)로부터 공급되는 예측 화상의 화소값의 최솟값(minPredPixelVal) 및 최댓값(maxPredPixelVal)을 입력으로 하여, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다.
dBD 도출부(254)는, 그 도출한 확장 비트 정밀도 dBD를 변환 정보 Tinfo로서 역양자화부(213), 역직교 변환부(214), 신장부(231) 및 정규화부(232)에 공급한다.
즉, 방법 #2의 경우, 복호측에 있어서도, 확장 비트 정밀도 dBD의 도출 방법과, 차분 파라미터 deltaX의 전송이 생략되는 것이 다를 뿐이고, 그 이외의 처리, 예를 들어 신장부(231)나 정규화부(232)에 있어서의 유효 자릿수의 제어 등은, 기본적으로 방법 #1과 마찬가지이다.
따라서, 이 경우에도, 방법 #1의 경우와 마찬가지로, 부호화 효율의 저감을 억제할 수 있다.
<화상 복호 처리의 흐름>
다음에, 도 36의 흐름도를 참조하여, 이 경우의 화상 복호 처리의 흐름의 예를 설명한다.
화상 복호 처리가 개시되면, 스텝 S401의 처리가, 도 26의 스텝 S201의 처리와 마찬가지로 실행된다.
스텝 S402에 있어서, 복호부(212)는 복호 처리를 행한다. 이 방법 #2의 경우, 이 복호 처리에 있어서, 차분 파라미터 deltaX의 복호나 슬라이스 비트 심도 sliceBitDepth의 도출 등의 처리가 생략된다(행해지지 않는다).
스텝 S403에 있어서, 예측부(219)는, 스텝 S207의 경우와 마찬가지로 예측 처리를 행하여, 예측 화상 P를 생성한다.
스텝 S404에 있어서, 복호부(212)는, 스텝 S403에 있어서 생성된 예측 화상 P로부터 확장 비트 정밀도 dBD를 도출한다. 또한, 이 확장 비트 정밀도 dBD의 도출은, 부호화측(도 32)과 마찬가지로 행해진다.
스텝 S405 내지 스텝 S412의 각 처리는, 스텝 S203 내지 스텝 S206, 그리고 스텝 S208 내지 스텝 S211의 각 처리와 마찬가지로 행해진다. 즉, 신장부(231) 및 정규화부(232)는, 방법 #1의 경우와 마찬가지로, 로컬 레벨의 확장 비트 정밀도 dBD를 사용한 유효 자릿수의 제어(연산 정밀도의 제어)를 행한다. 따라서, 이 경우에도, 부호화 효율의 저감을 억제할 수 있다.
<시퀀스 비트 심도 도출 처리의 흐름>
도 36의 스텝 S402의 복호 처리에 있어서는, 각종 부호화 파라미터가 설정된다. 예를 들어, 비트 스트림으로부터 시퀀스 비트 심도에 관한 정보가 판독되고, 그 시퀀스 비트 심도에 관한 정보로부터, 시퀀스 비트 심도 channelBitDepth가 도출된다. 도 36의 흐름도를 참조하여, 이 시퀀스 비트 심도 channelBitDepth를 도출하는 시퀀스 비트 심도 도출 처리의 흐름의 예를 설명한다.
시퀀스 비트 심도 도출 처리가 개시되면, 시퀀스 비트 심도 도출부(251)는, 스텝 S431에 있어서, 비트 스트림을 복호하여, 시퀀스 비트 심도에 관한 정보를 추출하고, 그 추출한 시퀀스 비트 심도에 관한 정보에 기초하여, 각 컴포넌트의 시퀀스 비트 심도 channelBitDepth를 도출한다.
스텝 S431의 처리가 종료되면, 시퀀스 비트 심도 도출 처리가 종료되고, 처리는 도 36으로 되돌아간다.
이와 같이 각 처리가 실행됨으로써, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 변환 계수의 유효 자릿수를 제어할 수 있다. 따라서, 방법 #2의 경우도, 부호화 효율의 저감을 억제할 수 있다.
<변형예>
또한, 제2 실시예의 형태(도 9의 표의 방법 #2)에 있어서의 화상 복호 장치에서는, 처리 대상 블록에 대응하는 예측 화상을 참조하여, 로컬 레벨마다의 확장 비트 정밀도 dBD를 도출하고 있지만, 예측 화상 대신에, 해당 예측 화상 생성에서 참조하는 복호 화상을 사용하여, 처리 대상 블록의 로컬 비트 심도를 도출하고, 해당 로컬 비트 심도를 참조하여, 확장 비트 정밀도 dBD를 도출하는 구성으로 해도 된다(방법 #2').
즉, 도 35에 있어서, 화소 최솟값 최댓값 탐색부(451)는, 처리 대상 블록의 예측 화상 생성에서 참조하는 복호 화상 Recref를 입력으로 하여, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨마다, 그 복호 화상 Recref의 화소값의 최솟값(minRecPixelVal)과 최댓값(maxRecPixelVal)을 탐색한다. 화소 최솟값 최댓값 탐색부(451)는, 그 탐색에 의해 검출한 각 로컬 레벨의 최솟값(minRecPixelVal)과 최댓값(maxRecPixelVal)을, dBD 도출부(254)에 공급한다.
또한, dBD 도출부(254)는, 시퀀스 비트 심도 도출부(251)로부터 공급되는 시퀀스 비트 심도 channelBitDepth와, 화소 최솟값 최댓값 탐색부(451)로부터 공급되는 복호 화상 Recref의 화소값의 최솟값(minRecPixelVal) 및 최댓값(maxRecPixelVal)을 입력으로 하여, 그들 파라미터에 기초하여 확장 비트 정밀도 dBD를 로컬 레벨마다 도출한다.
마찬가지로, 도 36의 스텝 S404는, '복호 화상으로부터 확장 비트 정밀도 dBD를 도출한다'고 해석한다.
따라서, 이 경우에도 방법 #2의 경우와 마찬가지로, 부호화 효율의 저감을 억제하는 효과를 발휘한다. 또한, 방법 #2'의 방법 #2에 대한 장점은, 예측 화상을 생성하지 않아도, 복호 화상에서만 확장 비트 정밀도 dBD를 도출 가능하다는 점이다.
또한, 상기에 있어서, 복호 화상 Recref란, 인트라 예측이면, 대상 블록의 인트라 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역을 가리키고, 인터 예측이면, 대상 블록의 인터 예측 화상을 생성하기 위해 참조하는 국소 복호 화소 영역이다.
<5. 부기>
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 38은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
도 38에 도시되는 컴퓨터(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)에, 미리 인스톨해 둘 수도 있다.
<정보ㆍ처리의 단위>
이상에 있어서 설명한 각종 정보가 설정되는 데이터 단위나, 각종 처리가 대상으로 하는 데이터 단위는, 각각 임의이며 상술한 예에 한정되지 않는다. 예를 들어, 이들 정보나 처리가, 각각 TU(Transform Unit), TB(Transform Block), PU(Prediction Unit), PB(Prediction Block), CU(Coding Unit), LCU(Largest Coding Unit), 서브 블록, 블록, 타일, 슬라이스, 픽처, 시퀀스, 또는 컴포넌트마다 설정되도록 해도 되고, 그들 데이터 단위의 데이터를 대상으로 하도록 해도 된다. 물론, 이 데이터 단위는, 정보나 처리마다 설정될 수 있는 것이며, 모든 정보나 처리의 데이터 단위가 통일되어 있을 필요는 없다. 또한, 이들 정보의 저장 장소는 임의이며, 상술한 데이터 단위의 헤더나 파라미터 세트 등에 저장되도록 해도 된다. 또한, 복수 개소에 저장되도록 해도 된다.
<제어 정보>
이상의 각 실시 형태에 있어서 설명한 본 기술에 관한 제어 정보를 부호화측으로부터 복호측으로 전송하도록 해도 된다. 예를 들어, 상술한 본 기술을 적용하는 것을 허가(또는 금지)할지 여부를 제어하는 제어 정보(예를 들어 enabled_flag)를 전송하도록 해도 된다. 또한, 예를 들어 상술한 본 기술을 적용하는 대상(또는 적용하지 않는 대상)을 나타내는 제어 정보를 전송하도록 해도 된다. 예를 들어, 본 기술을 적용하는(또는, 적용을 허가 혹은 금지하는) 블록 사이즈(상한 혹은 하한, 또는 그 양쪽), 프레임, 컴포넌트, 또는 레이어 등을 지정하는 제어 정보를 전송하도록 해도 된다.
<본 기술의 적용 대상>
본 기술은, 임의의 화상 부호화ㆍ복호 방식에 적용할 수 있다. 즉, 상술한 본 기술과 모순되지 않는 한, 변환(역변환), 양자화(역양자화), 부호화(복호), 예측 등, 화상 부호화ㆍ복호에 관한 각종 처리의 사양은 임의이며, 상술한 예에 한정되지 않는다. 또한, 상술한 본 기술과 모순되지 않는 한, 이들 처리 중 일부를 생략해도 된다.
또한 본 기술은, 복수의 시점(뷰(view))의 화상을 포함하는 다시점 화상의 부호화ㆍ복호를 행하는 다시점 화상 부호화ㆍ복호 시스템에 적용할 수 있다. 그 경우, 각 시점(뷰(view))의 부호화ㆍ복호에 있어서, 본 기술을 적용하도록 하면 된다.
또한 본 기술은, 소정의 파라미터에 대하여 스케일러빌리티(scalability) 기능을 갖도록 복수 레이어화(계층화)된 계층 화상의 부호화ㆍ복호를 행하는 계층 화상 부호화(스케일러블 부호화)ㆍ복호 시스템에 적용할 수 있다. 그 경우, 각 계층(레이어)의 부호화ㆍ복호에 있어서, 본 기술을 적용하도록 하면 된다.
상술한 실시 형태에 관한 화상 부호화 장치(100)나 화상 복호 장치(200)는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기나 수신기(예를 들어 텔레비전 수상기나 휴대 전화기), 또는 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하거나, 이들 기억 매체로부터 화상을 재생하거나 하는 장치(예를 들어 하드 디스크 레코더나 카메라) 등의, 여러 가지 전자 기기에 응용될 수 있다.
또한, 본 기술은, 임의의 장치 또는 시스템을 구성하는 장치에 탑재하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서(예를 들어 비디오 프로세서), 복수의 프로세서 등을 사용하는 모듈(예를 들어 비디오 모듈), 복수의 모듈 등을 사용하는 유닛(예를 들어 비디오 유닛), 유닛에 그 밖의 기능을 더 부가한 세트(예를 들어 비디오 세트) 등(즉, 장치의 일부의 구성)으로서 실시할 수도 있다.
또한, 본 기술은, 복수의 장치에 의해 구성되는 네트워크 시스템에도 적용할 수도 있다. 예를 들어, 컴퓨터, AV(Audio Visual) 기기, 휴대형 정보 처리 단말기, IoT(Internet of Things) 디바이스 등의 임의의 단말기에 대하여, 화상(동화상)에 관한 서비스를 제공하는 클라우드 서비스에 적용할 수도 있다.
또한, 본 기술을 적용한 시스템, 장치, 처리부 등은, 예를 들어 교통, 의료, 방범, 농업, 축산업, 광업, 미용, 공장, 가전, 기상, 자연 감시 등, 임의의 분야에 이용할 수 있다. 또한, 그 용도도 임의이다.
예를 들어, 본 기술은, 관상용 콘텐츠 등의 제공의 용도로 제공되는 시스템이나 디바이스에 적용할 수 있다. 또한, 예를 들어 본 기술은, 교통 상황의 감리나 자동 운전 제어 등, 교통의 용도로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 시큐리티의 용도로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 기계 등의 자동 제어의 용도로 제공되는 시스템이나 디바이스에 적용할 수 있다. 또한, 예를 들어 본 기술은, 농업이나 축산업의 용도로 제공되는 시스템이나 디바이스에도 적용할 수 있다. 또한, 본 기술은, 예를 들어 화산, 삼림, 해양 등의 자연의 상태나 야생 생물 등을 감시하는 시스템이나 디바이스에도 적용할 수 있다. 또한, 예를 들어 본 기술은, 스포츠의 용도로 제공되는 시스템이나 디바이스에도 적용할 수 있다.
<기타>
또한, 본 명세서에 있어서 「플래그」란, 복수의 상태를 식별하기 위한 정보이며, 참(1) 또는 거짓(0)의 2 상태를 식별할 때 사용하는 정보뿐만 아니라, 3 이상의 상태를 식별하는 것이 가능한 정보도 포함된다. 따라서, 이 「플래그」가 취할 수 있는 값은, 예를 들어 1/0의 2치여도 되고, 3치 이상이어도 된다. 즉, 이 「플래그」를 구성하는 bit수는 임의이며, 1bit여도 되고 복수 bit여도 된다. 또한, 식별 정보(플래그도 포함함)는, 그 식별 정보를 비트 스트림에 포함시키는(식별 정보를 포함하는 비트 스트림을 생성하는) 형태뿐만 아니라, 어떤 기준으로 되는 정보에 대한 식별 정보의 차분 정보를 비트 스트림에 포함시키는(식별 정보의 차분 정보를 포함하는 비트 스트림을 생성하는) 형태도 상정되기 때문에, 본 명세서에 있어서는, 「플래그」나 「식별 정보」는, 그 정보뿐만 아니라, 기준으로 되는 정보에 대한 차분 정보도 포함한다.
또한, 부호화 데이터(비트 스트림)에 관한 각종 정보(메타데이터 등)는, 부호화 데이터에 관련지어져 있으면, 어떠한 형태로 전송 또는 기록되도록 해도 된다. 여기서, 「관련짓는다」고 하는 용어는, 예를 들어 한쪽의 데이터를 처리할 때 다른 쪽의 데이터를 이용할 수 있도록(링크시킬 수 있도록) 하는 것을 의미한다. 즉, 서로 관련지어진 데이터는, 1개의 데이터로서 통합되어도 되고, 각각 개별적인 데이터로 해도 된다. 예를 들어, 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 예를 들어 부호화 데이터(화상)에 관련지어진 정보는, 그 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 이 「관련지음」은, 데이터 전체가 아니라, 데이터의 일부여도 된다. 예를 들어, 화상과 그 화상에 대응하는 정보가, 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 본 명세서에 있어서, 「합성한다」, 「다중화한다」, 「부가한다」, 「일체화한다」, 「포함시킨다」, 「저장한다」, 「집어넣는다」, 「꽂아넣는다」, 「삽입한다」 등의 용어는, 예를 들어 부호화 데이터와 메타데이터를 1개의 데이터로 통합한다고 하는, 복수의 것을 하나로 통합함을 의미하며, 상술한 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
또한, 예를 들어 본 기술은, 장치 또는 시스템을 구성하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 그 밖의 기능을 더 부가한 세트 등(즉, 장치의 일부의 구성)으로서 실시할 수도 있다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통하여 접속되어 있는 복수의 장치, 및 1개의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
또한, 예를 들어 1개의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가하도록 해도 물론 좋다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함시키도록 해도 된다.
또한, 예를 들어 본 기술은, 1개의 기능을, 네트워크를 통하여 복수의 장치에서 분담, 공동하여 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행할 수 있다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 상술한 흐름도에서 설명한 각 스텝은, 1개의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다. 또한, 1개의 스텝에 복수의 처리가 포함되는 경우에는, 그 1개의 스텝에 포함되는 복수의 처리는, 1개의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다. 환언하건대, 1개의 스텝에 포함되는 복수의 처리를, 복수의 스텝의 처리로서 실행할 수도 있다. 반대로, 복수의 스텝으로서 설명한 처리를 1개의 스텝으로서 통합하여 실행할 수도 있다.
또한, 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별적으로 실행되도록 해도 된다. 즉, 모순이 생기지 않는 한, 각 스텝의 처리가 상술한 순서와 다른 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합하여 실행되도록 해도 된다.
또한, 본 명세서에 있어서 복수 설명한 본 기술은, 모순이 생기지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용하여 실시할 수도 있다. 예를 들어, 어느 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부를, 다른 실시 형태에 있어서 설명한 본 기술의 일부 또는 전부와 조합하여 실시할 수도 있다. 또한, 상술한 임의의 본 기술의 일부 또는 전부를, 상술하지 않은 다른 기술과 병용하여 실시할 수도 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와,
상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부와,
상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부
를 구비하는 화상 처리 장치.
(2) 상기 신장부는, 상기 예측 잔차를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
상기 정규화부는, 상기 양자화 계수를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는
(1)에 기재된 화상 처리 장치.
(3) 상기 예측 잔차의 유효 자릿수의 신장 및 상기 양자화 계수의 유효 자릿수의 정규화의 제어량을 나타내는 확장 비트 정밀도를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 도출하는 확장 비트 정밀도 도출부를 더 구비하고,
상기 신장부는, 상기 예측 잔차의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 신장시키고,
상기 정규화부는, 상기 양자화 계수의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 정규화하는
(1) 또는 (2)에 기재된 화상 처리 장치.
(4) 상기 확장 비트 정밀도 도출부는, 상기 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분을, 상기 확장 비트 정밀도로서 도출하는
(3)에 기재된 화상 처리 장치.
(5) 외부 파라미터에 기초하여, 상기 시퀀스 레벨의 상기 비트 심도를 설정하는 시퀀스 비트 심도 설정부를 더 구비하고,
상기 확장 비트 정밀도 도출부는, 상기 시퀀스 비트 심도 설정부에 의해 설정된 상기 시퀀스 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(4)에 기재된 화상 처리 장치.
(6) 상기 화상의 화소값의 상기 로컬 레벨의 최솟값 및 최댓값을 탐색하는 화소 최솟값 최댓값 탐색부를 더 구비하고,
상기 확장 비트 정밀도 도출부는,
상기 화소 최솟값 최댓값 탐색부의 탐색에 의해 검출된 상기 최댓값 및 상기 최솟값의 차분을 사용하여 상기 로컬 레벨의 상기 비트 심도를 도출하고,
도출한 상기 로컬 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(4) 또는 (5)에 기재된 화상 처리 장치.
(7) 상기 확장 비트 정밀도 도출부는, CTB의 사이즈와 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는
(3) 내지 (6) 중 어느 것에 기재된 화상 처리 장치.
(8) 상기 부호화부는, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 부호화하여, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 포함하는 상기 비트 스트림을 생성하는
(7)에 기재된 화상 처리 장치.
(9) 상기 부호화부는, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도에 관한 정보를 부호화하여, 상기 확장 비트 정밀도에 관한 정보를 포함하는 상기 비트 스트림을 생성하는
(3) 내지 (8) 중 어느 것에 기재된 화상 처리 장치.
(10) 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도를 사용하여 차분 파라미터를 도출하는 차분 파라미터 도출부를 더 구비하고,
상기 부호화부는, 상기 차분 파라미터 도출부에 의해 도출된 상기 차분 파라미터를, 상기 확장 비트 정밀도에 관한 정보로서 부호화하여, 상기 차분 파라미터 deltaX를 포함하는 상기 비트 스트림을 생성하는
(9)에 기재된 화상 처리 장치.
(11) 상기 차분 파라미터는, 상기 화상의 슬라이스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인
(10)에 기재된 화상 처리 장치.
(12) 상기 부호화부는, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 부호화하여, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 포함하는 상기 비트 스트림을 생성하는
(11)에 기재된 화상 처리 장치.
(13) 상기 부호화부는, 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 부호화하여, 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 포함하는 상기 비트 스트림을 생성하는
(11) 또는 (12)에 기재된 화상 처리 장치.
(14) 상기 화상의 화소값의 상기 슬라이스 레벨의 최솟값 및 최댓값에 기초하여, 상기 슬라이스 레벨의 상기 비트 심도를 설정하는 슬라이스 비트 심도 설정부를 더 구비하고,
상기 부호화부는, 상기 슬라이스 비트 심도 설정부에 의해 설정된 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 부호화하고, 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 포함하는 상기 비트 스트림을 생성하는
(13)에 기재된 화상 처리 장치.
(15) 상기 차분 파라미터는, 상기 화상의 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인
(10) 내지 (14) 중 어느 것에 기재된 화상 처리 장치.
(16) 상기 차분 파라미터는, 상기 확장 비트 정밀도와, 상기 확장 비트 정밀도의 예측값의 차분인
(10) 내지 (15) 중 어느 것에 기재된 화상 처리 장치.
(17) 상기 로컬 레벨에 대응하는 커런트 영역의 상기 예측값은, 상기 로컬 레벨에 대응하는 상기 커런트 영역의 주변의 영역의 상기 확장 비트 정밀도에 기초하여 도출되는
(16)에 기재된 화상 처리 장치.
(18) 상기 부호화부는, 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어가 가능한지를 나타내는 제어 정보를 부호화하여, 상기 제어 정보를 포함하는 상기 비트 스트림을 생성하는
(1) 내지 (17) 중 어느 것에 기재된 화상 처리 장치.
(19) 상기 신장부에 의해 유효 자릿수가 신장된 예측 잔차를 직교 변환하는 직교 변환부와,
상기 직교 변환부에 의해 상기 예측 잔차가 직교 변환되어 얻어진 계수 데이터를 양자화하는 양자화부
를 더 구비하고,
상기 정규화부는, 상기 양자화부에 의해 상기 계수 데이터가 양자화되어 얻어진 양자화 계수의 유효 자릿수를 정규화하는
(1) 내지 (18) 중 어느 것에 기재된 화상 처리 장치.
(20) 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고,
상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하고,
상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는
화상 처리 방법.
(21) 비트 스트림을 복호하는 복호부와,
상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와,
상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부
를 구비하는 화상 처리 장치.
(22) 상기 신장부는, 상기 양자화 계수를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
상기 정규화부는, 상기 잔차 데이터를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는
(21)에 기재된 화상 처리 장치.
(23) 상기 비트 스트림은, 상기 양자화 계수의 유효 자릿수의 신장 및 상기 잔차 데이터의 유효 자릿수의 정규화의 제어량을 나타내는 확장 비트 정밀도에 관한 정보를 포함하고,
상기 복호부는,
상기 비트 스트림을 복호하여 상기 비트 스트림에 포함되는 상기 확장 비트 정밀도에 관한 정보를 추출하고,
추출한 상기 확장 비트 정밀도에 관한 정보에 기초하여, 상기 확장 비트 정밀도를 도출하고,
상기 신장부는, 상기 양자화 계수의 유효 자릿수를, 상기 복호부에 의해 도출된 상기 확장 비트 정밀도로 신장시키고,
상기 정규화부는, 상기 잔차 데이터의 유효 자릿수를, 상기 복호부에 의해 도출된 상기 확장 비트 정밀도로 정규화하는
(21) 또는 (22)에 기재된 화상 처리 장치.
(24) 상기 확장 비트 정밀도는, 상기 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인
(23)에 기재된 화상 처리 장치.
(25) 상기 확장 비트 정밀도에 관한 정보는, 상기 화상의 슬라이스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인 차분 파라미터를 포함하고,
상기 복호부는, 상기 시퀀스 레벨의 상기 비트 심도로부터 상기 슬라이스 레벨의 상기 비트 심도를 감산하고, 상기 차분 파라미터를 가산함으로써, 상기 확장 비트 정밀도를 도출하는
(24)에 기재된 화상 처리 장치.
(26) 상기 비트 스트림은, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 더 포함하고,
상기 복호부는,
상기 비트 스트림을 복호하여 상기 비트 스트림에 포함되는 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 추출하고,
추출한 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보에 기초하여, 상기 시퀀스 레벨의 상기 비트 심도를 도출하고,
도출한 상기 시퀀스 레벨의 상기 비트 심도를 사용하여 상기 확장 비트 정밀도를 도출하는
(25)에 기재된 화상 처리 장치.
(27) 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보는, 상기 시퀀스 레벨의 상기 비트 심도로부터 소정의 값을 감산한 값이고,
상기 복호부는, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보에 상기 소정의 값을 가산하여 상기 시퀀스 레벨의 상기 비트 심도를 도출하는
(26)에 기재된 화상 처리 장치.
(28) 상기 비트 스트림은, 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 더 포함하고,
상기 복호부는,
상기 비트 스트림을 복호하여 상기 비트 스트림에 포함되는 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보를 추출하고,
추출한 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보에 기초하여, 상기 슬라이스 레벨의 상기 비트 심도를 도출하고,
도출한 상기 슬라이스 레벨의 상기 비트 심도를 사용하여 상기 확장 비트 정밀도를 도출하는
(25) 내지 (27) 중 어느 것에 기재된 화상 처리 장치.
(29) 상기 슬라이스 레벨의 상기 비트 심도에 관한 정보는, 상기 화상의 화소값의 상기 슬라이스 레벨의 최솟값 및 최댓값이고,
상기 복호부는, 상기 최댓값과 상기 최솟값의 차분을 사용하여 상기 슬라이스 레벨의 상기 비트 심도를 도출하는
(28)에 기재된 화상 처리 장치.
(30) 상기 확장 비트 정밀도에 관한 정보는, 상기 화상의 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인 차분 파라미터를 포함하고,
상기 복호부는, 상기 시퀀스 레벨의 상기 비트 심도로부터 상기 차분 파라미터를 감산함으로써, 상기 확장 비트 정밀도를 도출하는
(24) 내지 (29) 중 어느 것에 기재된 화상 처리 장치.
(31) 상기 비트 스트림은, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 더 포함하고,
상기 복호부는,
상기 비트 스트림을 복호하여 상기 비트 스트림에 포함되는 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보를 추출하고,
추출한 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보에 기초하여, 상기 시퀀스 레벨의 상기 비트 심도를 도출하고,
도출한 상기 시퀀스 레벨의 상기 비트 심도를 사용하여 상기 확장 비트 정밀도를 도출하는
(30)에 기재된 화상 처리 장치.
(32) 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보는, 상기 시퀀스 레벨의 상기 비트 심도로부터 소정의 값을 감산한 값이고,
상기 복호부는, 상기 시퀀스 레벨의 상기 비트 심도에 관한 정보에 상기 소정의 값을 가산하여 상기 시퀀스 레벨의 상기 비트 심도를 도출하는
(31)에 기재된 화상 처리 장치.
(33) 상기 확장 비트 정밀도에 관한 정보는, 상기 확장 비트 정밀도와, 상기 확장 비트 정밀도의 예측값의 차분인 차분 파라미터를 포함하고,
상기 복호부는, 상기 차분 파라미터에 상기 예측값을 가산함으로써, 상기 확장 비트 정밀도를 도출하는
(24) 내지 (32) 중 어느 것에 기재된 화상 처리 장치.
(34) 상기 로컬 레벨에 대응하는 커런트 영역의 상기 예측값은, 상기 로컬 레벨에 대응하는 상기 커런트 영역의 주변의 영역의 상기 확장 비트 정밀도에 기초하여 도출되는
(33)에 기재된 화상 처리 장치.
(35) 상기 커런트 영역의 상기 예측값은, 상기 커런트 영역의 상변에 인접하는 영역과, 상기 커런트 영역의 좌변에 인접하는 영역이 각각 참조 가능한지 여부에 따른 방법으로 도출되는
(34)에 기재된 화상 처리 장치.
(36) 상기 복호부는, CTB의 사이즈와 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는
(23) 내지 (35) 중 어느 것에 기재된 화상 처리 장치.
(37) 상기 복호부는, 상기 비트 스트림을 복호하여, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 추출하는
(36)에 기재된 화상 처리 장치.
(38) 상기 복호부는, 상기 비트 스트림을 복호하여, 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어가 가능한지를 나타내는 제어 정보를 추출하고, 추출한 상기 제어 정보에 따라 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어의 적용을 제어하는
(21) 내지 (37) 중 어느 것에 기재된 화상 처리 장치.
(39) 상기 신장부에 의해 유효 자릿수가 신장된 양자화 계수를 역양자화하는 역양자화부와,
상기 역양자화부에 의해 상기 양자화 계수가 역양자화되어 얻어진 계수 데이터를 역직교 변환하는 역직교 변환부
를 더 구비하고,
상기 정규화부는, 상기 역직교 변환부에 의해 상기 계수 데이터가 역직교 변환되어 얻어진 잔차 데이터의 유효 자릿수를 정규화하는
(21) 내지 (38) 중 어느 것에 기재된 화상 처리 장치.
(40) 비트 스트림을 복호하고,
상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고,
상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는
화상 처리 방법.
(41) 화상의 예측 잔차의 유효 자릿수를, 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와,
상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부와,
상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부
를 구비하는 화상 처리 장치.
(42) 상기 신장부는, 상기 예측 잔차를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
상기 정규화부는, 상기 양자화 계수를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는
(41)에 기재된 화상 처리 장치.
(43) 상기 예측 잔차의 유효 자릿수의 신장 및 상기 양자화 계수의 유효 자릿수의 정규화의 제어량을 나타내는 확장 비트 정밀도를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 도출하는 확장 비트 정밀도 도출부를 더 구비하고,
상기 신장부는, 상기 예측 잔차의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 신장시키고,
상기 정규화부는, 상기 양자화 계수의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 정규화하는
(41) 또는 (42)에 기재된 화상 처리 장치.
(44) 상기 확장 비트 정밀도 도출부는, 상기 시퀀스 레벨의 상기 비트 심도와, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도의 차분을, 상기 확장 비트 정밀도로서 도출하는
(43)에 기재된 화상 처리 장치.
(45) 외부 파라미터에 기초하여, 상기 시퀀스 레벨의 상기 비트 심도를 설정하는 시퀀스 비트 심도 설정부를 더 구비하고,
상기 확장 비트 정밀도 도출부는, 상기 시퀀스 비트 심도 설정부에 의해 설정된 상기 시퀀스 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(44)에 기재된 화상 처리 장치.
(46) 상기 화상의 예측을 행하여 상기 예측 화상을 생성하는 예측부를 더 구비하고,
상기 확장 비트 정밀도 도출부는, 상기 예측부에 의해 생성된 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(44) 또는 (45)에 기재된 화상 처리 장치.
(47) 상기 예측부에 의해 생성된 상기 예측 화상의 화소값의 상기 로컬 레벨의 최솟값 및 최댓값을 탐색하는 화소 최솟값 최댓값 탐색부를 더 구비하고,
상기 확장 비트 정밀도 도출부는,
상기 화소 최솟값 최댓값 탐색부의 탐색에 의해 검출된 상기 최댓값 및 상기 최솟값의 차분을 사용하여 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 도출하고,
도출한 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(46)에 기재된 화상 처리 장치.
(48) 상기 확장 비트 정밀도 도출부는, CTB의 사이즈와 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는
(43) 내지 (47) 중 어느 것에 기재된 화상 처리 장치.
(49) 상기 부호화부는, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 부호화하여, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 포함하는 상기 비트 스트림을 생성하는
(48)에 기재된 화상 처리 장치.
(50) 상기 부호화부는, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어가 가능한지를 나타내는 제어 정보를 부호화하여, 상기 제어 정보를 포함하는 상기 비트 스트림을 생성하는
(41) 내지 (49) 중 어느 것에 기재된 화상 처리 장치.
(51) 상기 신장부에 의해 유효 자릿수가 신장된 상기 예측 잔차를 직교 변환하는 직교 변환부와,
상기 직교 변환부에 의해 상기 예측 잔차가 직교 변환되어 얻어진 계수 데이터를 양자화하는 양자화부
를 더 구비하고,
상기 정규화부는, 상기 양자화부에 의해 상기 계수 데이터가 양자화되어 얻어진 상기 양자화 계수의 유효 자릿수를 정규화하는
(41) 내지 (50) 중 어느 것에 기재된 화상 처리 장치.
(52) 화상의 예측 잔차의 유효 자릿수를, 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고,
상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하고,
상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는
화상 처리 방법.
(61) 비트 스트림을 복호하는 복호부와,
상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키는 신장부와,
상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는 정규화부
를 구비하는 화상 처리 장치.
(62) 상기 신장부는, 상기 양자화 계수를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
상기 정규화부는, 상기 잔차 데이터를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는
(61)에 기재된 화상 처리 장치.
(63) 상기 화상의 시퀀스마다 설정되는 상기 양자화 계수의 유효 자릿수의 제어량 및 상기 잔차 데이터의 유효 자릿수의 제어량의 보정값인 확장 비트 정밀도를, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 도출하는 확장 비트 정밀도 도출부를 더 구비하고,
상기 신장부는, 상기 양자화 계수의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출된 상기 확장 비트 정밀도로 신장시키고,
상기 정규화부는, 상기 잔차 데이터의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출된 상기 확장 비트 정밀도로 정규화하는
(61) 또는 (62)에 기재된 화상 처리 장치.
(64) 상기 확장 비트 정밀도 도출부는, 상기 시퀀스 레벨의 상기 비트 심도와, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도의 차분을, 상기 확장 비트 정밀도로서 도출하는
(63)에 기재된 화상 처리 장치.
(65) 외부 파라미터에 기초하여, 상기 시퀀스 레벨의 상기 비트 심도를 설정하는 시퀀스 비트 심도 설정부를 더 구비하고,
상기 확장 비트 정밀도 도출부는, 상기 시퀀스 비트 심도 설정부에 의해 설정된 상기 시퀀스 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(64)에 기재된 화상 처리 장치.
(66) 상기 화상의 예측을 행하여 상기 예측 화상을 생성하는 예측부를 더 구비하고,
상기 확장 비트 정밀도 도출부는,
상기 예측부에 의해 생성된 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(64) 또는 (65)에 기재된 화상 처리 장치.
(67) 상기 예측부에 의해 생성된 상기 예측 화상의 화소값의 상기 로컬 레벨의 최솟값 및 최댓값을 탐색하는 화소 최솟값 최댓값 탐색부를 더 구비하고,
상기 확장 비트 정밀도 도출부는,
상기 화소 최솟값 최댓값 탐색부의 탐색에 의해 검출된 상기 최댓값 및 상기 최솟값의 차분을 사용하여 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 도출하고,
도출한 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도를 사용하여 상기 차분을 도출하는
(66)에 기재된 화상 처리 장치.
(68) 상기 확장 비트 정밀도 도출부는, CTB의 사이즈와 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는
(63) 내지 (67) 중 어느 것에 기재된 화상 처리 장치.
(69) 상기 복호부는, 상기 비트 스트림을 복호하여, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 추출하고,
상기 확장 비트 정밀도 도출부는, 상기 CTB의 사이즈와 상기 복호부에 의해 추출된 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는
(68)에 기재된 화상 처리 장치.
(70) 상기 복호부는, 상기 비트 스트림을 복호하여, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 확장의 적용이 가능한지를 나타내는 제어 정보를 추출하고, 추출한 상기 제어 정보에 따라, 상기 예측 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 확장의 적용을 제어하는
(61) 내지 (69) 중 어느 것에 기재된 화상 처리 장치.
(71) 상기 신장부에 의해 유효 자릿수가 신장된 상기 양자화 계수를 역양자화하는 역양자화부와,
상기 직교 변환부에 의해 상기 양자화 계수가 역양자화되어 얻어진 계수 데이터를 역직교 변환하는 역직교 변환부
를 더 구비하고,
상기 정규화부는, 상기 역직교 변환부에 의해 상기 계수 데이터가 역직교 변환되어 얻어진 상기 잔차 데이터의 유효 자릿수를 정규화하는
(61) 내지 (70) 중 어느 것에 기재된 화상 처리 장치.
(72) 비트 스트림을 복호하고,
상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타내는 비트 심도에 기초하여 신장시키고,
상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도에 기초하여 정규화하는
화상 처리 방법.
100: 화상 부호화 장치
101: 제어부
112: 연산부
113: 직교 변환부
114: 양자화부
115: 부호화부
117: 역양자화부
118: 역직교 변환부
122: 예측부
131: 신장부
132: 정규화부
133: 신장부
134: 정규화부
151: 시퀀스 비트 심도 설정부
152: 슬라이스 비트 심도 설정부
153: 화소 최솟값 최댓값 탐색부
154: dBD 도출부
155: deltaX 도출부
200: 화상 복호 장치
212: 복호부
213: 역양자화부
214: 역직교 변환부
215: 연산부
219: 예측부
231: 신장부
232: 정규화부
251: 시퀀스 비트 심도 도출부
252: 슬라이스 비트 심도 도출부
253: deltaX 복호부
254: dBD 도출부
451: 화소 최솟값 최댓값 탐색부

Claims (21)

  1. 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 화상의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 신장부와 - 상기 비트 심도는 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 정규화부와,
    상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부
    를 구비하고,
    상기 신장부, 상기 정규화부 및 상기 부호화부는 각각 적어도 하나의 프로세서를 통해 구현되는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 신장부는, 또한, 상기 예측 잔차를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
    상기 정규화부는, 또한, 상기 양자화 계수를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는,
    화상 처리 장치.
  3. 제1항에 있어서,
    상기 예측 잔차의 유효 자릿수의 신장 및 상기 양자화 계수의 유효 자릿수의 정규화의 제어량을 나타내는 확장 비트 정밀도를, 상기 로컬 레벨의 상기 비트 심도에 기초하여 도출하는 확장 비트 정밀도 도출부를 더 구비하고,
    상기 신장부는, 또한, 상기 예측 잔차의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 신장시키고,
    상기 정규화부는, 또한, 상기 양자화 계수의 유효 자릿수를, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도로 정규화하고,
    상기 확장 비트 정밀도 도출부는 적어도 하나의 프로세서를 통해 구현되는,
    화상 처리 장치.
  4. 제3항에 있어서,
    상기 확장 비트 정밀도 도출부는, 또한, 상기 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분을, 상기 확장 비트 정밀도로서 도출하는,
    화상 처리 장치.
  5. 제3항에 있어서,
    상기 부호화부는, 또한, 상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도에 관한 정보를 부호화하여, 상기 확장 비트 정밀도에 관한 정보를 포함하는 상기 비트 스트림을 생성하는,
    화상 처리 장치.
  6. 제5항에 있어서,
    상기 확장 비트 정밀도 도출부에 의해 도출되는 상기 확장 비트 정밀도를 사용하여 차분 파라미터를 도출하는 차분 파라미터 도출부를 더 구비하고,
    상기 부호화부는, 또한, 상기 차분 파라미터 도출부에 의해 도출된 상기 차분 파라미터를, 상기 확장 비트 정밀도에 관한 정보로서 부호화하여, 상기 차분 파라미터를 포함하는 상기 비트 스트림을 생성하고,
    상기 차분 파라미터 도출부는 적어도 하나의 프로세서를 통해 구현되는,
    화상 처리 장치.
  7. 제6항에 있어서,
    상기 차분 파라미터는, 상기 화상의 슬라이스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인,
    화상 처리 장치.
  8. 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 화상의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 단계 - 상기 비트 심도는 상기 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 단계, 및
    상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 단계
    를 포함하는, 화상 처리 방법.
  9. 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 화상의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 신장부와 - 상기 비트 심도는 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 정규화부와,
    상기 정규화부에 의해 상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 부호화부
    를 구비하고,
    상기 신장부, 상기 정규화부 및 상기 부호화부는 각각 적어도 하나의 프로세서를 통해 구현되는, 화상 처리 장치.
  10. 화상의 예측 잔차의 유효 자릿수를, 상기 화상의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 화상의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 단계 - 상기 비트 심도는 상기 화상에 대응하는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 유효 자릿수가 신장된 상기 예측 잔차에 대하여 직교 변환 및 양자화가 행해져 얻어진 양자화 계수의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 단계, 및
    상기 유효 자릿수가 정규화된 상기 양자화 계수를 부호화하여, 비트 스트림을 생성하는 단계
    를 포함하는, 화상 처리 방법.
  11. 비트 스트림을 복호하는 복호부와,
    상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 상기 비트 스트림의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 비트 스트림의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 신장부와 - 상기 비트 심도는 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 정규화부
    를 구비하고,
    상기 복호부, 상기 신장부 및 상기 정규화부는 각각 적어도 하나의 프로세서를 통해 구현되는, 화상 처리 장치.
  12. 제11항에 있어서,
    상기 신장부는, 또한, 상기 양자화 계수를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하고,
    상기 정규화부는, 또한, 상기 잔차 데이터를, 상기 로컬 레벨의 상기 비트 심도에 따른 시프트양으로 비트 시프트하는,
    화상 처리 장치.
  13. 제11항에 있어서,
    상기 비트 스트림은, 상기 양자화 계수의 유효 자릿수의 신장 및 상기 잔차 데이터의 유효 자릿수의 정규화의 제어량을 나타내는 확장 비트 정밀도에 관한 정보를 포함하고,
    상기 복호부는, 또한,
    상기 비트 스트림을 복호하여 상기 비트 스트림에 포함되는 상기 확장 비트 정밀도에 관한 정보를 추출하고,
    추출한 상기 확장 비트 정밀도에 관한 정보에 기초하여, 상기 확장 비트 정밀도를 도출하고,
    상기 신장부는, 또한, 상기 양자화 계수의 유효 자릿수를, 상기 복호부에 의해 도출된 상기 확장 비트 정밀도로 신장시키고,
    상기 정규화부는, 또한, 상기 잔차 데이터의 유효 자릿수를, 상기 복호부에 의해 도출된 상기 확장 비트 정밀도로 정규화하는,
    화상 처리 장치.
  14. 제13항에 있어서,
    상기 확장 비트 정밀도는, 상기 시퀀스 레벨의 상기 비트 심도와 상기 로컬 레벨의 상기 비트 심도의 차분인,
    화상 처리 장치.
  15. 제13항에 있어서,
    상기 복호부는, 또한, CTB의 사이즈와 상기 CTB의 사이즈에 대한 분할 심도의 차분값에 기초하여 정해지는 사이즈의 영역마다, 상기 확장 비트 정밀도를 도출하는,
    화상 처리 장치.
  16. 제15항에 있어서,
    상기 복호부는, 또한, 상기 비트 스트림을 복호하여, 상기 CTB의 사이즈에 대한 분할 심도의 차분값을 추출하는,
    화상 처리 장치.
  17. 제11항에 있어서,
    상기 복호부는, 또한, 상기 비트 스트림을 복호하여, 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어가 가능한지를 나타내는 제어 정보를 추출하고, 추출한 상기 제어 정보에 따라 상기 로컬 레벨의 상기 비트 심도에 기초하는 유효 자릿수의 제어의 적용을 제어하는,
    화상 처리 장치.
  18. 비트 스트림을 복호하는 단계,
    상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 상기 비트 스트림의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 비트 스트림의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 단계 - 상기 비트 심도는 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -, 및
    상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 단계
    를 포함하는, 화상 처리 방법.
  19. 비트 스트림을 복호하는 복호부와,
    상기 복호부에 의해 상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 상기 비트 스트림의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 비트 스트림의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 신장부와 - 상기 비트 심도는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -,
    상기 신장부에 의해 상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 정규화부
    를 구비하고,
    상기 복호부, 상기 신장부 및 상기 정규화부는 각각 적어도 하나의 프로세서를 통해 구현되는, 화상 처리 장치.
  20. 비트 스트림을 복호하는 단계,
    상기 비트 스트림이 복호되어 얻어지는 양자화 계수의 유효 자릿수를, 상기 비트 스트림의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화, 또는 상기 비트 스트림의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화에 기초하여 신장시키는 단계 - 상기 비트 심도는 예측 화상 또는 상기 예측 화상을 생성할 때 참조하는 복호 화상의 시퀀스 레벨보다 작은 데이터 단위인 로컬 레벨의 화소값의 폭을 나타냄 -, 및
    상기 유효 자릿수가 신장된 상기 양자화 계수에 대하여 역양자화 및 역직교 변환이 행해져 얻어진 잔차 데이터의 유효 자릿수를, 상기 예측 화상 또는 상기 복호 화상의 상기 로컬 레벨의 상기 비트 심도의 변화에 기초하여 정규화하는 단계
    를 포함하는, 화상 처리 방법.
  21. 제1항에 있어서,
    상기 화상의 서로 다른 프레임들 간의 시간 방향의 비트 심도의 변화는 상기 화상의 제1 프레임의 비트 심도와 상기 제1 프레임과는 상이한 상기 화상의 제2 프레임의 비트 심도 간의 변화를 포함하고,
    상기 화상의 서로 다른 영역들 간의 공간 방향의 비트 심도의 변화는 상기 화상의 제1 영역의 비트 심도와 상기 제1 영역과는 상이한 상기 화상의 제2 영역의 비트 심도 간의 변화를 포함하는,
    화상 처리 장치.
KR1020207022171A 2018-02-14 2019-01-31 화상 처리 장치 및 방법 KR102494880B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-024411 2018-02-14
JP2018024411 2018-02-14
PCT/JP2019/003276 WO2019159697A1 (ja) 2018-02-14 2019-01-31 画像処理装置および方法

Publications (2)

Publication Number Publication Date
KR20200112862A KR20200112862A (ko) 2020-10-05
KR102494880B1 true KR102494880B1 (ko) 2023-02-06

Family

ID=67619383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207022171A KR102494880B1 (ko) 2018-02-14 2019-01-31 화상 처리 장치 및 방법

Country Status (6)

Country Link
US (1) US11356701B2 (ko)
EP (1) EP3754987A4 (ko)
JP (1) JP7235031B2 (ko)
KR (1) KR102494880B1 (ko)
CN (1) CN111699685B (ko)
WO (1) WO2019159697A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818353B2 (en) * 2021-05-13 2023-11-14 Qualcomm Incorporated Reduced complexity transforms for high bit-depth video coding
CN115550666A (zh) * 2021-06-29 2022-12-30 北京京东方技术开发有限公司 用于视频数据的编码方法、解码方法、计算设备和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007116551A1 (ja) * 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
WO2007114368A1 (ja) * 2006-03-30 2007-10-11 Kabushiki Kaisha Toshiba 画像符号化装置及び方法並びに画像復号化装置及び方法
US8711948B2 (en) * 2008-03-21 2014-04-29 Microsoft Corporation Motion-compensated prediction of inter-layer residuals
KR101885258B1 (ko) * 2010-05-14 2018-08-06 삼성전자주식회사 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
US9185422B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Variable localized bit-depth increase for fixed-point transforms in video coding
US20120307889A1 (en) * 2011-06-01 2012-12-06 Sharp Laboratories Of America, Inc. Video decoder with dynamic range adjustments
US9521434B2 (en) * 2011-06-09 2016-12-13 Qualcomm Incorporated Internal bit depth increase in video coding
CA2840939C (en) 2011-06-30 2018-08-07 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and aparatus therefor
JP6157114B2 (ja) 2012-12-28 2017-07-05 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Also Published As

Publication number Publication date
KR20200112862A (ko) 2020-10-05
CN111699685B (zh) 2023-04-18
US20210084334A1 (en) 2021-03-18
WO2019159697A1 (ja) 2019-08-22
EP3754987A4 (en) 2021-04-14
US11356701B2 (en) 2022-06-07
JPWO2019159697A1 (ja) 2021-01-28
CN111699685A (zh) 2020-09-22
JP7235031B2 (ja) 2023-03-08
EP3754987A1 (en) 2020-12-23

Similar Documents

Publication Publication Date Title
WO2019244669A1 (ja) 画像処理装置および方法
JP7235030B2 (ja) 画像処理装置および方法
WO2020008909A1 (ja) 画像処理装置および方法
US11665367B2 (en) Image processing apparatus and method
KR20220116152A (ko) 화상 처리 장치 및 방법
WO2021039650A1 (ja) 画像処理装置および方法
KR102494880B1 (ko) 화상 처리 장치 및 방법
WO2019188465A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
WO2020100672A1 (ja) 画像処理装置および方法
EP4351143A1 (en) Image processing device and method
WO2020129698A1 (ja) 画像処理装置および方法
KR20220104154A (ko) 화상 처리 장치 및 방법
KR20220112754A (ko) 화상 처리 장치, 비트 스트림 생성 방법, 계수 데이터 생성 방법 및 양자화 계수 생성 방법
WO2020066641A1 (ja) 画像処理装置および方法
US20230045106A1 (en) Image processing apparatus and method
CN113039794B (zh) 图像处理装置和方法
WO2020129636A1 (ja) 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
WO2021117866A1 (ja) 画像処理装置および方法
WO2020129697A1 (ja) 画像処理装置および方法
AU2022356617A1 (en) Image processing device and method
KR20220053560A (ko) 화상 처리 장치 및 방법

Legal Events

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