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

화상 처리 장치 및 화상 처리 방법 Download PDF

Info

Publication number
KR20190003497A
KR20190003497A KR1020187030029A KR20187030029A KR20190003497A KR 20190003497 A KR20190003497 A KR 20190003497A KR 1020187030029 A KR1020187030029 A KR 1020187030029A KR 20187030029 A KR20187030029 A KR 20187030029A KR 20190003497 A KR20190003497 A KR 20190003497A
Authority
KR
South Korea
Prior art keywords
class
image
pixel
unit
tap
Prior art date
Application number
KR1020187030029A
Other languages
English (en)
Inventor
다쿠로 가와이
겐이치로 호소카와
게이스케 치다
오지 나카가미
다카히로 나가노
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20190003497A publication Critical patent/KR20190003497A/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/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 기술은, S/N 및 압축 효율을 개선할 수 있도록 하는 화상 처리 장치 및 화상 처리 방법에 관한 것이다. 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상이 생성된다. 필터 처리에서는, 제1 화상의 처리 대상 화소에 대응하는 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 제1 화상에서 선택하고, 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하고, 학습에 의해 구해진, 복수의 클래스마다의, 예측 연산에 사용되는 탭 계수 중, 처리 대상 화소의 클래스의 탭 계수와, 처리 대상 화소의 예측 탭을 사용한 예측 연산을 행함으로써, 대응 화소의 화소값을 구한다. 본 기술은, 예를 들어 화상의 부호화 장치나 복호 장치에 적용할 수 있다.

Description

화상 처리 장치 및 화상 처리 방법
본 기술은, 화상 처리 장치 및 화상 처리 방법에 관한 것으로, 특히, 예를 들어 화상의 S/N 및 압축 효율을, 크게 개선할 수 있도록 하는 화상 처리 장치 및 화상 처리 방법에 관한 것이다.
예측 부호화 방식의 하나인, 예를 들어 HEVC(High Efficiency Video Coding)에서는, ILF(In Loop Filter)가 제안되었다. 또한, 포스트 HEVC(HEVC의 다음 세대의 예측 부호화 방식)에서는, ILF를 채용할 것이 예상된다.
ILF로서는, 블록 노이즈를 저감하기 위한 DF(Deblocking Filter), 링잉을 저감하기 위한 SAO(Sample Adaptive Offset), 부호화 오차(복호 화상의, 원화상에 대한 오차)를 최소화하기 위한 ALF(Adaptive Loop Filter)가 있다.
ALF에 대해서는, 특허문헌 1에 기재되어, SAO에 대해서는, 특허문헌 2에 기재되어 있다.
일본특허 제5485983호 공보 일본특허공표 제2014-523183호 공보
현재 제안되어 있는 ILF로서의 DF나, SAO, ALF는, 필터 강도의 자유도가 낮고, 필터 강도가 미세한 제어를 행하는 것이 곤란하기 때문에, 화상의 S/N(Signal to Noise Ratio)(SN비)(SNR) 및 압축 효율을, 크게 개선하는 것이 곤란하다.
본 기술은, 이러한 상황을 감안하여 이루어진 것으로, 화상의 S/N 및 압축 효율을, 크게 개선할 수 있도록 하는 것이다.
본 기술의 화상 처리 장치는, 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 필터 처리부를 구비하고, 상기 필터 처리부는, 상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 예측 탭 선택부와, 상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 클래스 분류부와, 상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 탭 계수 취득부와, 상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는 연산부를 갖는 화상 처리 장치이다.
본 기술의 화상 처리 방법은, 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 스텝을 포함하고, 상기 필터 처리는, 상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 것과, 상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 것과, 상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 것과, 상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는 것을 포함하는 화상 처리 방법이다.
본 기술의 화상 처리 장치 및 화상 처리 방법에 있어서는, 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리가 행해지고, 상기 예측 화상의 예측에 사용되는 제2 화상이 생성된다. 필터 처리에서는, 상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소가, 상기 제1 화상에서 선택됨과 함께, 상기 처리 대상 화소가, 복수의 클래스 중 어느 것의 클래스로 클래스 분류된다. 그리고, 상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수가 취득되고, 상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값이 구해진다.
또한, 화상 처리 장치는, 독립된 장치여도 되고, 1개의 장치를 구성하고 있는 내부 블록이어도 된다.
또한, 화상 처리 장치는, 컴퓨터에 프로그램을 실행시킴으로써 실현할 수 있다. 프로그램은, 전송 매체를 통해서, 전송함으로써, 또는 기록 매체에 기록하여, 제공할 수 있다.
본 기술에 따르면, 화상의 S/N 및 압축 효율을, 크게 개선할 수 있다.
또한, 여기에 기재된 효과는 반드시 한정되는 것이 아니고, 본 개시 중에 기재된 어느 것의 효과여도 무방하다.
도 1은 본 기술을 적용한 화상 처리 시스템의 일 실시 형태의 구성예를 도시하는 도면이다.
도 2는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 제1 구성예를 도시하는 블록도이다.
도 3은 계수 취득부(24)에 기억되는 탭 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
도 4는 학습부(33)의 구성예를 도시하는 블록도이다.
도 5는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 제2 구성예를 도시하는 블록도이다.
도 6은 계수 취득부(24)에 기억되는 종 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
도 7은 학습부(63)의 구성예를 도시하는 블록도이다.
도 8은 학습부(63)의 다른 구성예를 도시하는 블록도이다.
도 9는 부호화 장치(11)의 제1 구성예를 도시하는 블록도이다.
도 10은 클래스 분류 적응 필터(111)의 구성예를 도시하는 블록도이다.
도 11은 화상 변환 장치(131)의 구성예를 도시하는 블록도이다.
도 12는 클래스 분류부(23)에서 행해지는 클래스 분류의 예를 설명하는 도면이다.
도 13은 학습 장치(132)의 구성예를 도시하는 블록도이다.
도 14는 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 15는 스텝 S25에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 16은 복호 장치(12)의 제1 구성예를 도시하는 블록도이다.
도 17은 클래스 분류 적응 필터(206)의 구성예를 도시하는 블록도이다.
도 18은 화상 변환 장치(231)의 구성예를 도시하는 블록도이다.
도 19는 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 20은 스텝 S70에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 21은 클래스 분류 적응 처리와, ILF 중 ALF와의, 클래스 분류 및 필터 처리의 상이를 설명하는 도면이다.
도 22는 클래스 분류 적응 처리와, ILF 중 ALF와의 클래스 분류 및 필터 처리의 상이에 의해 발생하는 효과의 상이를 설명하는 도면이다.
도 23은 클래스 분류 적응 처리의 예측 탭 및 클래스 탭과, ILF 중 ALF의 필터 계수에 대한 화소와의 상이를 설명하는 도면이다.
도 24는 학습에 의해 얻어지는 탭 계수를 삭감하는 삭감 방법의 예를 설명하는 도면이다.
도 25는 부호화 장치(11)의 제2 구성예를 도시하는 블록도이다.
도 26은 복호 장치(12)의 제2 구성예를 도시하는 블록도이다.
도 27은 부호화 장치(11)의 제3 구성예를 도시하는 블록도이다.
도 28은 복호 장치(12)의 제3 구성예를 도시하는 블록도이다.
도 29는 부호화 장치(11)의 제4 구성예를 도시하는 블록도이다.
도 30은 복호 장치(12)의 제4 구성예를 도시하는 블록도이다.
도 31은 부가 클래스의 개요를 설명하는 도면이다.
도 32는 부호화 장치(11)의 제5 구성예를 도시하는 블록도이다.
도 33은 클래스 분류 적응 필터(411)의 구성예를 도시하는 블록도이다.
도 34는 화상 변환 장치(431)의 구성예를 도시하는 블록도이다.
도 35는 클래스 분류부(441)의 구성예를 도시하는 블록도이다.
도 36은 학습 장치(432)의 구성예를 도시하는 블록도이다.
도 37은 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 38은 스텝 S125에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 39는 복호 장치(12)의 제5 구성예를 도시하는 블록도이다.
도 40은 클래스 분류 적응 필터(471)의 구성예를 도시하는 블록도이다.
도 41은 화상 변환 장치(481)의 구성예를 도시하는 블록도이다.
도 42는 클래스 분류부(491)의 구성예를 도시하는 블록도이다.
도 43은 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 44는 스텝 S170에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 45는 클래스의 축퇴를 설명하는 도면이다.
도 46은 부호화 장치(11)의 제6 구성예를 도시하는 블록도이다.
도 47은 클래스 분류 적응 필터(511)의 구성예를 도시하는 블록도이다.
도 48은 화상 변환 장치(531)의 구성예를 도시하는 블록도이다.
도 49는 클래스 분류부(541)의 구성예를 도시하는 블록도이다.
도 50은 학습 장치(532)의 구성예를 도시하는 블록도이다.
도 51은 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 52는 스텝 S225에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 53은 복호 장치(12)의 제6 구성예를 도시하는 블록도이다.
도 54는 클래스 분류 적응 필터(571)의 구성예를 도시하는 블록도이다.
도 55는 화상 변환 장치(581)의 구성예를 도시하는 블록도이다.
도 56은 클래스 분류부(591)의 구성예를 도시하는 블록도이다.
도 57은 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 58은 스텝 S270에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 59는 클래스 분류 계수의 학습의 개요를 설명하는 도면이다.
도 60은 클래스 분류 계수를 사용한 클래스 분류의 개요를 설명하는 도면이다.
도 61은 클래스 분류 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
도 62는 학습 장치가 행하는 학습 처리의 예를 설명하는 흐름도이다.
도 63은 클래스 분류에 클래스 분류 계수를 사용하는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 구성예를 도시하는 블록도이다.
도 64는 클래스 분류부(721)의 구성예를 도시하는 블록도이다.
도 65는 클래스 분류부(721)에서 행해지는, 클래스 분류 계수를 사용한 클래스 분류의 처리의 예를 설명하는 흐름도이다.
도 66은 부호화 장치(11)의 제7 구성예를 도시하는 블록도이다.
도 67은 클래스 분류 적응 필터(811)의 구성예를 도시하는 블록도이다.
도 68은 화상 변환 장치(831)의 구성예를 도시하는 블록도이다.
도 69는 클래스 분류부(841)의 구성예를 도시하는 블록도이다.
도 70은 학습 장치(832)의 구성예를 도시하는 블록도이다.
도 71은 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 72는 스텝 S425에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 73은 복호 장치(12)의 제7 구성예를 도시하는 블록도이다.
도 74는 클래스 분류 적응 필터(861)의 구성예를 도시하는 블록도이다.
도 75는 화상 변환 장치(871)의 구성예를 도시하는 블록도이다.
도 76은 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 77은 스텝 S470에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
도 78은 학습 장치(832)의 다른 구성예를 도시하는 블록도이다.
도 79는 ILF로서, 클래스 분류 적응 처리에 의해 ILF의 처리를 행하는 클래스 분류 적응 필터를 설치한 경우와, ALF를 설치한 경우와의 RD(Rate-Distortion) 곡선을 도시하는 도면이다.
도 80은 다시점 화상 부호화 방식의 예를 나타내는 도면이다.
도 81은 본 기술을 적용한 다시점 화상 부호화 장치의 주요 구성예를 도시하는 도면이다.
도 82는 본 기술을 적용한 다시점 화상 복호 장치의 주요 구성예를 도시하는 도면이다.
도 83은 계층 화상 부호화 방식의 예를 나타내는 도면이다.
도 84는 본 기술을 적용한 계층 화상 부호화 장치의 주요 구성예를 도시하는 도면이다.
도 85는 본 기술을 적용한 계층 화상 복호 장치의 주요 구성예를 도시하는 도면이다.
도 86은 컴퓨터의 주요 구성예를 도시하는 블록도이다.
도 87은 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 88은 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 89는 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 90은 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 91은 비디오 세트의 개략적인 구성의 일례를 나타내는 블록도이다.
도 92는 비디오 프로세서의 개략적인 구성의 일례를 나타내는 블록도이다.
도 93은 비디오 프로세서의 개략적인 구성의 다른 예를 나타내는 블록도이다.
<본 기술을 적용한 화상 처리 시스템>
도 1은 본 기술을 적용한 화상 처리 시스템의 일 실시 형태의 구성예를 도시하는 도면이다.
도 1에 있어서, 화상 처리 시스템은, 부호화 장치(11) 및 복호 장치(12)를 갖는다.
부호화 장치(11)에는, 부호화 대상의 원화상이 공급된다.
부호화 장치(11)는, 예를 들어 HEVC나 AVC(Advanced Video Coding) 등과 같은 예측 부호화에 의해, 원화상을 부호화한다.
부호화 장치(11)의 예측 부호화에서는, 원화상의 예측 화상이 생성되고, 원화상과 예측 화상의 잔차가 부호화된다.
또한, 부호화 장치(11)의 예측 부호화에서는, 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 복호 도중 화상에, ILF를 거는 ILF 처리를 행함으로써, 예측 화상의 예측에 사용되는 참조 화상이 생성된다.
여기서, ILF 처리로서의 필터 처리(필터링)가, 복호 도중 화상에 실시됨으로써 얻어지는 화상을, 필터 후 화상이라고도 한다.
부호화 장치(11)는, 예측 부호화를 행하는 것 외에, 복호 도중 화상과 원화상을 사용해서 학습을 행함으로써, 필터 후 화상이, 가능한 한 원화상에 가까워지는 ILF 처리로서의 필터 처리를 행하기 위한 필터 정보를 구한다.
부호화 장치(11)의 ILF 처리는, 학습에 의해 구해진 필터 정보를 사용해서 행해진다.
여기서, 필터 정보를 구하는 학습은, 예를 들어 원화상의 1개 또는 복수 시퀀스마다나, 원화상의 1개 또는 복수 씬(씬 체인지로부터, 다음 씬 체인지까지의 프레임)마다, 원화상의 1개 또는 복수 프레임(픽처)마다, 원화상의 1개 또는 복수 슬라이스마다, 픽처의 부호화의 단위 블록의 1개 또는 복수 라인마다, 그 외 임의의 단위로 행할 수 있다. 또한, 필터 정보를 구하는 학습은, 예를 들어 잔차가 역치 이상이 된 경우에 행할 수 있다.
부호화 장치(11)는, 원화상의 예측 부호화에 의해 얻어지는 부호화 데이터 및 학습에 의해 얻어지는 필터 정보를, 전송 매체(13)를 통해서 전송하거나, 또는 기록 매체(14)로 전송해서 기록시킨다.
또한, 필터 정보를 구하는 학습은, 부호화 장치(11)와는 다른 장치에서 행할 수 있다.
또한, 필터 정보는, 부호화 데이터와는 별도로 전송할 수도 있고, 부호화 데이터에 포함시켜서 전송할 수도 있다.
또한, 필터 정보를 구하는 학습은, 원화상 그 자체(및 원화상에서 얻어지는 복호 도중 화상)를 사용해서 행하는 것 외에, 화상 특징량이 원화상과 유사한, 원화상과는 별개인 화상을 사용해서 행할 수 있다.
복호 장치(12)는, 부호화 장치(11)로부터 전송되는 부호화 데이터 및 필터 정보를, 전송 매체(13)나 기록 매체(14)를 통해서 수취(수신)(취득)하고, 부호화 데이터를, 부호화 장치(11)의 예측 부호화에 대응하는 방식으로 복호한다.
즉, 복호 장치(12)는, 부호화 장치(11)로부터의 부호화 데이터를 처리함으로써, 예측 부호화의 잔차를 구한다. 또한, 복호 장치(12)는, 잔차와 예측 화상을 가산함으로써, 부호화 장치(11)에서 얻어지는 것과 마찬가지인 복호 도중 화상을 구한다. 그리고, 복호 장치(12)는, 복호 도중 화상에, 부호화 장치(11)로부터의 필터 정보를 사용한 ILF 처리로서의 필터 처리를 실시하여, 필터 후 화상을 구한다.
복호 장치(12)에 있어서, 필터 후 화상은, 원화상의 복호 화상으로서 출력됨과 함께, 필요에 따라서, 예측 화상의 예측에 사용되는 참조 화상으로서 일시 기억된다.
부호화 장치(11) 및 복호 장치(12)의 ILF 처리로서의 필터 처리는, 클래스 분류 적응 처리에 의해 행해진다. 이하, 클래스 분류 적응 처리에 대해서 설명한다.
<클래스 분류 적응 처리>
도 2는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 제1 구성예를 도시하는 블록도이다.
여기서, 클래스 분류 적응 처리는, 예를 들어 제1 화상을, 제2 화상으로 변환하는 화상 변환 처리로서 파악할 수 있다.
제1 화상을 제2 화상으로 변환하는 화상 변환 처리는, 그 제1과 제2 화상의 정의에 의해 여러가지 신호 처리로 된다.
즉, 예를 들어 제1 화상을 저공간 해상도의 화상으로 함과 함께, 제2 화상을 고공간 해상도의 화상으로 하면, 화상 변환 처리는, 공간 해상도를 향상시키는 공간 해상도 창조(향상) 처리라 할 수 있다.
또한, 예를 들어 제1 화상을 저S/N의 화상으로 함과 함께, 제2 화상을 고S/N의 화상으로 하면, 화상 변환 처리는, 노이즈를 제거하는 노이즈 제거 처리라 할 수 있다.
또한, 예를 들어 제1 화상을 소정의 화소수(사이즈)의 화상으로 함과 함께, 제2 화상을, 제1 화상의 화소수를 많거나 또는 적게 한 화상으로 하면, 화상 변환 처리는, 화상의 리사이즈(확대 또는 축소)를 행하는 리사이즈 처리라 할 수 있다.
또한, 예를 들어 제1 화상을, HEVC 등의 블록 단위로 부호화된 화상을 복호함으로써 얻어지는 복호 화상으로 함과 함께, 제2 화상을, 부호화 전의 원화상으로 하면, 화상 변환 처리는, 블록 단위의 부호화 및 복호에 의해 발생하는 블록 변형을 제거하는 변형 제거 처리라 할 수 있다.
또한, 클래스 분류 적응 처리는, 화상 외에, 예를 들어 음향을, 처리의 대상으로 할 수 있다. 음향을 대상으로 하는 클래스 분류 적응 처리는, 제1 음향(예를 들어, S/N이 낮은 음향 등)을, 제2 음향(예를 들어, S/N이 높은 음향 등)으로 변환하는 음향 변환 처리로서 파악할 수 있다.
클래스 분류 적응 처리에서는, 제1 화상 중 주목하고 있는 주목 화소(처리 대상의 처리 대상 화소)의 화소값을 복수의 클래스 중 어느 것의 클래스로 클래스 분류함으로써 얻어지는 클래스의 탭 계수와, 주목 화소에 대하여 선택되는 제1 화상의, 탭 계수와 동일한 수의 화소의 화소값을 사용한 예측 연산에 의해, 주목 화소의 화소값이 구해진다.
도 2는 클래스 분류 적응 처리에 의한 화상 변환 처리를 행하는 화상 변환 장치의 구성예를 나타내고 있다.
도 2에 있어서, 화상 변환 장치(20)는, 탭 선택부(21 및 22), 클래스 분류부(23), 계수 취득부(24), 그리고 예측 연산부(25)를 갖는다.
화상 변환 장치(20)에는, 제1 화상이 공급된다. 화상 변환 장치(20)에 공급되는 제1 화상은, 탭 선택부(21 및 22)에 공급된다.
탭 선택부(21)는, 제1 화상을 구성하는 화소를, 순차적으로, 주목 화소로 선택한다. 또한, 탭 선택부(21)는, 주목 화소에 대응하는 제2 화상의 대응 화소(의 화소값)를 예측하는 데 사용하는 제1 화상을 구성하는 화소(의 화소값)의 몇 가지를, 예측 탭으로서 선택한다.
구체적으로는, 탭 선택부(21)는, 주목 화소의 시공간의 위치에서 공간적 또는 시간적으로 가까운 위치에 있는 제1 화상의 복수의 화소를, 예측 탭으로서 선택한다.
탭 선택부(22)는, 주목 화소를, 몇개의 클래스 중 어느 것으로 클래스 분류하는 클래스 분류를 행하는 데 사용하는 제1 화상을 구성하는 화소(의 화소값)의 몇 가지를, 클래스 탭으로서 선택한다. 즉, 탭 선택부(22)는, 탭 선택부(21)가 예측 탭을 선택하는 것과 마찬가지로 하여, 클래스 탭을 선택한다.
또한, 예측 탭과 클래스 탭은, 동일한 탭 구조를 갖는 것이어도 되고, 다른 탭 구조를 갖는 것이어도 된다.
탭 선택부(21)에서 얻어진 예측 탭은, 예측 연산부(25)에 공급되고, 탭 선택부(22)에서 얻어진 클래스 탭은, 클래스 분류부(23)에 공급된다.
클래스 분류부(23)는, 일정한 규칙에 따라서, 주목 화소를 클래스 분류하고, 그 결과 얻어지는 클래스에 대응하는 클래스 코드를, 계수 취득부(24)에 공급한다.
즉, 클래스 분류부(23)는, 예를 들어 탭 선택부(22)로부터의 클래스 탭을 사용하여, 주목 화소를 클래스 분류하고, 그 결과 얻어지는 클래스에 대응하는 클래스 코드를, 계수 취득부(24)에 공급한다.
예를 들어, 클래스 분류부(23)는, 클래스 탭을 사용하여, 주목 화소의 화상 특징량을 구한다. 또한, 클래스 분류부(23)는, 주목 화소의 화상 특징량에 따라서, 주목 화소를 클래스 분류하고, 그 결과 얻어지는 클래스에 대응하는 클래스 코드를, 계수 취득부(24)에 공급한다.
여기서, 클래스 분류를 행하는 방법으로서는, 예를 들어, ADRC(Adaptive Dynamic Range Coding) 등을 채용할 수 있다.
ADRC를 사용하는 방법에서는, 클래스 탭을 구성하는 화소(의 화소값)가, ADRC 처리되고, 그 결과 얻어지는 ADRC 코드(ADRC값)에 따라서, 주목 화소의 클래스가 결정된다. ADRC 코드는, 주목 화소를 포함하는 소 영역의 화상 특징량으로서의 파형 패턴을 나타낸다.
또한, L 비트 ADRC에 있어서는, 예를 들어 클래스 탭을 구성하는 화소의 화소값의 최댓값 MAX와 최솟값 MIN이 검출되고, DR=MAX-MIN을, 집합의 국소적인 다이내믹 레인지로 하고, 이 다이내믹 레인지 DR에 기초하여, 클래스 탭을 구성하는 각 화소의 화소값이 L 비트로 재양자화된다. 즉, 클래스 탭을 구성하는 각 화소의 화소값으로부터, 최솟값 MIN이 감산되고, 그 감산값이 DR/2L로 제산(재양자화)된다. 그리고, 이상과 같이 해서 얻어지는, 클래스 탭을 구성하는 L 비트의 각 화소의 화소값을, 소정의 순서로 배열한 비트열이, ADRC 코드로서 출력된다. 따라서, 클래스 탭이, 예를 들어 1비트 ADRC 처리된 경우에는, 그 클래스 탭을 구성하는 각 화소의 화소값은, 최댓값 MAX와 최솟값 MIN의 평균값으로 제산되고(소수점 이하 잘라 버림), 이에 의해, 각 화소의 화소값이 1비트로 된다(2치화된다). 그리고, 그 1비트의 화소값을 소정의 순서로 배열한 비트열이, ADRC 코드로서 출력된다.
또한, 클래스 분류부(23)에는, 예를 들어 클래스 탭을 구성하는 화소의 화소값의 레벨 분포의 패턴을, 그대로 클래스 코드로서 출력시키는 것도 가능하다. 그러나, 이 경우, 클래스 탭이, N개의 화소의 화소값으로 구성되고, 각 화소의 화소값에, A 비트가 할당되어 있다고 하면, 클래스 분류부(23)가 출력하는 클래스 코드의 경우의 수는, (2N)A가지로 되고, 화소의 화소값의 비트수 A에 지수적으로 비례한 방대한 수가 된다.
따라서, 클래스 분류부(23)에 있어서는, 클래스 탭의 정보량을, 상술한 ADRC 처리나, 혹은 벡터양자화 등에 의해 압축함으로써, 클래스 분류를 행하는 것이 바람직하다.
계수 취득부(24)는, 후술하는 학습에 의해 구해진 클래스마다의 탭 계수를 기억하고, 또한 그 기억한 탭 계수 중, 클래스 분류부(23)로부터 공급되는 클래스 코드가 나타내는 클래스의 탭 계수, 즉 주목 화소의 클래스의 탭 계수를 취득한다. 또한, 계수 취득부(24)는 주목 화소의 클래스의 탭 계수를, 예측 연산부(25)에 공급한다.
여기서, 탭 계수란, 디지털 필터에 있어서의, 소위 탭에 있어서 입력 데이터와 승산되는 계수에 상당하는 계수이다.
예측 연산부(25)는 탭 선택부(21)가 출력하는 예측 탭과, 계수 취득부(24)가 공급되는 탭 계수를 사용하여, 주목 화소에 대응하는 제2 화상의 화소(대응 화소)의 화소값의 참값 예측값을 구하는 소정의 예측 연산을 행한다. 이에 의해, 예측 연산부(25)는, 대응 화소의 화소값(의 예측값), 즉 제2 화상을 구성하는 화소의 화소값을 구해서 출력한다.
도 3은 계수 취득부(24)에 기억되는 탭 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
여기서, 예를 들어 고화질의 화상(고화질 화상)을 제2 화상으로 함과 함께, 그 고화질 화상을 LPF(Low Pass Filter)에 의해 필터링하거나 해서 그 화질(해상도)을 저하시킨 저화질의 화상(저화질 화상)을 제1 화상으로 하여, 저화질 화상으로부터 예측 탭을 선택하고, 그 예측 탭과 탭 계수를 사용하여, 고화질 화상의 화소(고화질 화소)의 화소값을, 소정의 예측 연산에 의해 구하는(예측하는) 것을 생각한다.
소정의 예측 연산으로서, 예를 들어 선형 1차 예측 연산을 채용하는 것으로 하면, 고화질 화소의 화소값 y는, 다음 선형 1차식에 의해 구해지게 된다.
Figure pct00001
단, 식 (1)에 있어서, xn은 대응 화소로서의 고화질 화소 y에 대한 예측 탭을 구성하는, n번째의 저화질 화상의 화소(이하, 적절히, 저화질 화소라고 한다)의 화소값을 나타내고, wn은 n번째의 저화질 화소(의 화소값)와 승산되는 n번째의 탭 계수를 나타낸다. 또한, 식 (1)에서는, 예측 탭이, N개의 저화질 화소 x1, x2, …, xN으로 구성되는 것으로 한다.
여기서, 고화질 화소의 화소값 y는, 식 (1)에 나타낸 선형 1차식이 아닌, 2차 이상의 고차의 식에 의해 구하도록 하는 것도 가능하다.
지금, 제k 샘플의 고화질 화소의 화소값의 참값을 yk로 나타냄과 함께, 식 (1)에 의해 얻어지는 그 참값 yk의 예측값을 yk'라 나타내면, 그 예측 오차 ek는, 다음 식으로 표현된다.
Figure pct00002
지금, 식 (2)의 예측값 yk'는, 식 (1)에 따라서 구해지기 때문에, 식 (2)의 yk'를, 식 (1)에 따라서 치환하면, 다음 식이 얻어진다.
Figure pct00003
단, 식 (3)에 있어서, xn,k는, 대응 화소로서의 제k 샘플의 고화질 화소에 대한 예측 탭을 구성하는 n번째의 저화질 화소를 나타낸다.
식 (3)(또는 식 (2))의 예측 오차 ek를 0으로 하는 탭 계수 wn이, 고화질 화소를 예측하는 데 최적의 것이 되지만, 모든 고화질 화소에 대해서, 그러한 탭 계수 wn을 구하는 것은, 일반적으로는 곤란하다.
그래서, 탭 계수 wn이 최적의 것인 것을 나타내는 규범으로서, 예를 들어 최소 제곱법을 채용하는 것으로 하면, 최적의 탭 계수 wn은 다음 식으로 표현되는 제곱 오차의 총합 E(통계적인 오차)을 최소로 함으로써 구할 수 있다.
Figure pct00004
단, 식 (4)에 있어서, K는 대응 화소로서의 고화질 화소 yk와, 그 고화질 화소 yk에 대한 예측 탭을 구성하는 저화질 화소 x1,k, x2,k, …, xN,k와의 세트의 샘플수(학습용 샘플의 수)를 나타낸다.
식 (4)의 제곱 오차의 총합 E의 최솟값(극소값)은, 식 (5)에 나타내는 바와 같이, 총합 E를 탭 계수 wn으로 편미분한 것을 0으로 하는 wn에 의해 부여된다.
Figure pct00005
그래서, 상술한식 (3)을 탭 계수 wn으로 편미분하면, 다음 식이 얻어진다.
Figure pct00006
식 (5)과 (6)으로부터, 다음 식이 얻어진다.
Figure pct00007
식 (7)의 ek에, 식 (3)을 대입함으로써, 식 (7)은, 식 (8)에 나타내는 정규 방정식으로 나타낼 수 있다.
Figure pct00008
식 (8)의 정규 방정식은, 예를 들어 소거법(Gauss-Jordan의 소거법) 등을 사용함으로써, 탭 계수 wn에 대해서 풀 수 있다.
식 (8)의 정규 방정식을, 클래스마다 세우고 푸는 것에 의해, 최적의 탭 계수(여기서는, 제곱 오차의 총합 E를 최소로 하는 탭 계수) wn을, 클래스마다 구할 수 있다.
도 3은 식 (8)의 정규 방정식을 세우고 푸는 것에 의해 탭 계수 wn을 구하는 학습을 행하는 학습 장치의 구성예를 나타내고 있다.
도 3에 있어서, 학습 장치(30)는, 교사 데이터 생성부(31), 학생 데이터 생성부(32) 및 학습부(33)를 갖는다.
교사 데이터 생성부(31) 및 학생 데이터 생성부(32)에는, 탭 계수 wn의 학습에 사용되는 학습 화상이 공급된다. 학습 화상으로서는, 예를 들어 해상도가 높은 고화질 화상을 사용할 수 있다.
교사 데이터 생성부(32)는, 학습 화상으로부터, 탭 계수의 학습 교사(참값)가 되는 교사 데이터, 즉 클래스 분류 적응 처리에 의해 얻고자 하는 교사 데이터로서, 식 (1)에 의한 예측 연산으로서의 사상의 사상처가 되는 교사 화상을 생성하고, 학습부(33)에 공급한다. 여기에서는, 교사 데이터 생성부(32)는, 예를 들어 학습 화상으로서의 고화질 화상을, 그대로 교사 화상으로서, 학습부(33)에 공급한다.
학생 데이터 생성부(32)는, 학습 화상으로부터, 탭 계수의 학습 학생이 되는 학생 데이터, 즉 클래스 분류 적응 처리에 있어서 탭 계수와의 예측 연산의 대상으로 되는 학생 데이터로서, 식 (1)에 의한 예측 연산으로서의 사상에 의한 변환 대상으로 되는 학생 화상을 생성하고, 학습부(33)에 공급한다. 여기에서는, 학생 데이터 생성부(32)는, 예를 들어 학습 화상으로서의 고화질 화상을 LPF(low Pass Filter)에서 필터링함으로써, 그 해상도를 저하시킴으로써, 저화질 화상을 생성하고, 이 저화질 화상을, 학생 화상으로서, 학습부(33)에 공급한다.
학습부(33)는, 학생 데이터 생성부(32)로부터의 학생 데이터로서의 학생 화상을 구성하는 화소를, 순차적으로, 주목 화소로 하고, 그 주목 화소에 대해서, 도 2의 탭 선택부(21)가 선택하는 것과 동일한 탭 구조의 화소를, 학생 화상으로부터 예측 탭으로서 선택한다. 또한, 학습부(33)는, 주목 화소에 대응하는 교사 화상을 구성하는 대응 화소와, 주목 화소의 예측 탭을 사용하여, 클래스마다, 식 (8)의 정규 방정식을 세우고 푸는 것에 의해, 클래스마다의 탭 계수를 구한다.
도 4는 도 3의 학습부(33)의 구성예를 도시하는 블록도이다.
도 4에 있어서, 학습부(33)는, 탭 선택부(41 및 42), 클래스 분류부(43), 가산부(44), 그리고 계수 산출부(45)를 갖는다.
학생 화상은, 탭 선택부(41 및 42)에 공급되고, 교사 화상은, 가산부(44)에 공급된다.
탭 선택부(41)는, 학생 화상을 구성하는 화소를, 순차적으로, 주목 화소로서 선택하고, 그 주목 화소를 나타내는 정보를, 필요한 블록에 공급한다.
또한, 탭 선택부(41)는, 주목 화소에 대해서, 학생 화상을 구성하는 화소로부터, 도 2의 탭 선택부(21)가 선택하는 것과 동일한 화소를 예측 탭에 선택하고, 이에 의해, 탭 선택부(21)에서 얻어지는 것과 동일한 탭 구조의 예측 탭을 얻고, 가산부(44)에 공급한다.
탭 선택부(42)는, 주목 화소에 대해서, 학생 화상을 구성하는 화소로부터, 도 2의 탭 선택부(22)가 선택하는 것과 동일한 화소를 클래스 탭에 선택하고, 이에 의해, 탭 선택부(22)에서 얻어지는 것과 동일한 탭 구조의 클래스 탭을 얻고, 클래스 분류부(43)에 공급한다.
클래스 분류부(43)는, 탭 선택부(42)로부터의 클래스 탭을 사용하여, 도 2의 클래스 분류부(23)과 동일한 클래스 분류를 행하고, 그 결과 얻어지는 주목 화소의 클래스에 대응하는 클래스 코드를, 가산부(44)에 출력한다.
가산부(44)는, 교사 화상을 구성하는 화소로부터, 주목 화소에 대응하는 대응 화소(의 화소값)를 취득하고, 대응 화소와, 탭 선택부(41)로부터 공급되는 주목 화소에 관한 예측 탭을 구성하는 학생 화상의 화소(의 화소값)를 대상으로 한 가산을, 클래스 분류부(43)로부터 공급되는 클래스 코드마다 행한다.
즉, 가산부(44)에는, 교사 데이터로서의 교사 화상의 대응 화소 yk, 학생 데이터로서의 주목 화소의 예측 탭 xn,k, 주목 화소의 클래스를 나타내는 클래스 코드가 공급된다.
가산부(44)는, 주목 화소의 클래스마다, 예측 탭(학생 데이터) xn,k를 사용하여, 식 (8)의 좌변의 행렬에 있어서의 학생 데이터끼리의 승산(xn,kxn',k)과, 서메이션(Σ)에 상당하는 연산을 행한다.
또한, 가산부(44)는, 역시, 주목 화소의 클래스마다, 예측 탭(학생 데이터) xn,k와 교사 데이터 yk를 사용하여, 식 (8)의 우변의 벡터에 있어서의 학생 데이터 xn,k 및 교사 데이터 yk의 승산(xn,kyk)과, 서메이션(Σ)에 상당하는 연산을 행한다.
즉, 가산부(44)는, 전회, 교사 데이터로서의, 주목 화소에 대응하는 대응 화소에 대해서 구해진 식 (8)에 있어서의 좌변의 행렬의 컴포넌트(Σxn,kxn',k)와, 우변의 벡터의 컴포넌트(Σxn,kyk)를, 그 내장된 메모리(도시하지 않음)에 기억하고 있고, 그 행렬의 컴포넌트(Σxn,kxn',k) 또는 벡터의 컴포넌트(Σxn,kyk)에 대하여, 새로운 주목 화소에 대응하는 대응 화소가 된 교사 데이터에 대해서, 그 교사 데이터 yk+1 및 학생 데이터 xn,k+1을 사용해서 계산되는, 대응하는 컴포넌트 xn,k+1xn',k+1 또는 xn,k+1yk+1을 가산한다(식 (8)의 서메이션으로 표현되는 가산을 행한다).
그리고, 가산부(44)는, 예를 들어 학생 화상의 화소 모두를 주목 화소로 하여, 상술한 가산을 행함으로써, 각 클래스에 대해서, 식 (8)에 나타낸 정규 방정식을 세우고, 그 정규 방정식을, 계수 산출부(45)에 공급한다.
계수 산출부(45)는, 가산부(44)로부터 공급되는 각 클래스에 관한 정규 방정식을 푸는 것에 의해, 각 클래스에 대해서, 최적의 탭 계수 wn을 구해서 출력한다.
도 2의 화상 변환 장치(20)에 있어서의 계수 취득부(24)에는, 이상과 같이 해서 구해진 클래스마다의 탭 계수 wn을 기억시킬 수 있다.
도 5는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 제2 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 2의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 5에 있어서, 화상 변환 장치(20)는, 탭 선택부(21 및 22), 클래스 분류부(23), 계수 취득부(24), 그리고 예측 연산부(25)를 갖는다.
따라서, 도 5의 화상 변환 장치(20)는, 도 2의 경우와 마찬가지로 구성된다.
단, 도 5에서는, 계수 취득부(24)는, 후술하는 종 계수를 기억한다. 또한, 도 5에서는, 계수 취득부(24)에는, 외부로부터 파라미터 z가 공급된다.
계수 취득부(24)는, 종 계수로부터, 파라미터 z에 대응하는, 클래스마다의 탭 계수를 생성하고, 그 클래스마다의 탭 계수로부터, 클래스 분류부(23)로부터의 클래스의 탭 계수를 취득하고, 예측 연산부(25)에 공급한다.
여기서, 도 2에서는, 계수 취득부(24)는, 탭 계수 그 자체를 기억하지만, 도 5에서는, 계수 취득부(24)는, 종 계수를 기억한다. 종 계수는, 파라미터 z를 부여(결정)함으로써, 탭 계수를 생성할 수 있고, 이러한 관점에서, 종 계수는, 탭 계수와 동등한 정보라 간주할 수 있다. 본 명세서에서는, 탭 계수에는, 탭 계수 그 자체 외에, 그 탭 계수를 생성할 수 있는 종 계수도 필요에 따라서 포함되는 것으로 한다.
도 6은 계수 취득부(24)에 기억되는 종 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
여기서, 예를 들어 도 3에서 설명한 경우와 마찬가지로, 고화질의 화상(고화질 화상)을 제2 화상으로 함과 함께, 그 고화질 화상의 공간 해상도를 저하시킨 저화질의 화상(저화질 화상)을 제1 화상으로 하여, 저화질 화상으로부터 예측 탭을 선택하고, 그 예측 탭과 탭 계수를 사용하여, 고화질 화상의 화소인 고화질 화소의 화소값을, 예를 들어식 (1)의 선형 1차 예측 연산에 의해 구하는(예측하는) 것을 생각한다.
지금, 탭 계수 wn이, 종 계수와, 파라미터 z를 사용한 다음 식에 의해 생성되는 것으로 한다.
Figure pct00009
단, 식 (9)에 있어서, βm,n은 n번째의 탭 계수 wn을 구하는 데 사용되는 m번째의 종 계수를 나타낸다. 또한, 식 (9)에서는, 탭 계수 wn이, M개의 종 계수 β1,n, β2,n, …, βM,n을 사용해서 구해진다.
여기서, 종 계수 βm,n과 파라미터 z로부터, 탭 계수 wn을 구하는 식은, 식 (9)에 한정되는 것은 아니다.
지금, 식 (9)에 있어서의 파라미터 z로 의해 결정되는 값 zm-1을, 새로운 변수 tm을 도입하고, 다음 식으로 정의한다.
Figure pct00010
식 (10)을, 식 (9)에 대입함으로써, 다음 식이 얻어진다.
Figure pct00011
식 (11)에 의하면, 탭 계수 wn은 종 계수 βm,n과 변수 tm과의 선형 1차식에 의해 구해지게 된다.
그런데, 지금, 제k 샘플의 고화질 화소의 화소값의 참값을 yk로 나타냄과 함께, 식 (1)에 의해 얻어지는 그 참값 yk의 예측값을 yk'로 나타내면, 그 예측 오차 ek는, 다음 식으로 표현된다.
Figure pct00012
지금, 식 (12)의 예측값 yk'는, 식 (1)에 따라서 구해지기 때문에, 식 (12)의 yk'를, 식 (1)에 따라서 치환하면, 다음 식이 얻어진다.
Figure pct00013
단, 식 (13)에 있어서, xn,k는, 대응 화소로서의 제k 샘플의 고화질 화소에 대한 예측 탭을 구성하는 n번째의 저화질 화소를 나타낸다.
식 (13)의 wn에, 식 (11)을 대입함으로써, 다음 식이 얻어진다.
Figure pct00014
식 (14)의 예측 오차 ek를 0으로 하는 종 계수 βm,n이, 고화질 화소를 예측하는 데 최적의 것이 되지만, 모든 고화질 화소에 대해서, 그러한 종 계수 βm,n을 구하는 것은, 일반적으로는 곤란하다.
그래서, 종 계수 βm,n이 최적인 것임을 나타내는 규범으로서, 예를 들어 최소 제곱법을 채용하는 것으로 하면, 최적의 종 계수 βm,n은 다음 식으로 표현되는 제곱 오차의 총합 E를 최소로 함으로써 구할 수 있다.
Figure pct00015
단, 식 (15)에 있어서, K는 대응 화소로서의 고화질 화소 yk와, 그 고화질 화소 yk에 대한 예측 탭을 구성하는 저화질 화소 x1,k, x2,k, …, xN,k와의 세트의 샘플수(학습용 샘플의 수)를 나타낸다.
식 (15)의 제곱 오차의 총합 E의 최솟값(극소값)은, 식 (16)에 나타내는 바와 같이, 총합 E를 종 계수 βm,n으로 편미분한 것을 0으로 하는 βm,n에 의해 부여된다.
Figure pct00016
식 (13)을, 식 (16)에 대입함으로써, 다음 식이 얻어진다.
Figure pct00017
지금, Xi,p,j,q와 Yi,p를, 식 (18)과 (19)에 나타내는 바와 같이 정의한다.
Figure pct00018
Figure pct00019
이 경우, 식 (17)은 Xi,p,j,q와 Yi,p를 사용한 식 (20)에 나타내는 정규 방정식으로 나타낼 수 있다.
Figure pct00020
식 (20)의 정규 방정식은, 예를 들어 소거법(Gauss-Jordan의 소거법) 등을 사용함으로써, 종 계수 βm,n에 대해서 풀 수 있다.
도 5의 화상 변환 장치(20)에 있어서는, 다수의 고화질 화소 y1, y2, …, yK를 교사 데이터로 함과 함께, 각 고화질 화소 yk에 대한 예측 탭을 구성하는 저화질 화소 x1,k, x2,k, …, xN,k를 학생 데이터로 하여, 클래스마다 식 (20)의 정규 방정식을 세우고 푸는 학습을 행함으로써 구해진 클래스마다의 종 계수 βm,n이, 계수 취득부(24)에 기억된다. 그리고, 계수 취득부(24)에서는, 종 계수 βm,n과, 외부로부터 부여되는 파라미터 z로부터, 식 (9)에 따라서, 클래스마다의 탭 계수 wn이 생성되고, 예측 연산부(25)에 있어서, 그 탭 계수 wn과, 주목 화소에 관한 예측 탭을 구성하는 저화질 화소(제1 화상의 화소) xn을 사용하여, 식 (1)이 계산됨으로써, 고화질 화소(제2 화상의 대응 화소)의 화소값(에 가까운 예측값)이 구해진다.
도 6은 식 (20)의 정규 방정식을 클래스마다 세우고 푸는 것에 의해, 클래스마다의 종 계수 βm,n을 구하는 학습을 행하는 학습 장치의 구성예를 나타내고 있다.
또한, 도면 중, 도 3의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 6에 있어서, 학습 장치(30)는, 교사 데이터 생성부(31), 파라미터 생성부(61), 학생 데이터 생성부(62) 및 학습부(63)를 갖는다.
따라서, 도 6의 학습 장치(30)는, 교사 데이터 생성부(31)를 갖는 점에서, 도 3의 경우와 공통된다.
단, 도 6의 학습 장치(30)는, 파라미터 생성부(61)를 새롭게 갖는 점에서, 도 3의 경우와 상이하다. 또한, 도 6의 학습 장치(30)는, 학생 데이터 생성부(32) 및 학습부(33)를 대신하여, 학생 데이터 생성부(62) 및 학습부(63)가 각각 설치되어 있는 점에서, 도 3의 경우와 상이하다.
파라미터 생성부(61)는, 파라미터 z가 취할 수 있는 범위의 몇개의 값을 생성하고, 학생 데이터 생성부(62)와 학습부(63)에 공급한다.
예를 들어, 파라미터 z가 취할 수 있는 값이 0 내지 Z의 범위의 실수라 하면, 파라미터 생성부(61)는, 예를 들어, 예를 들어 z=0, 1, 2, …, Z의 값의 파라미터 z를 생성하고, 학생 데이터 생성부(62)와 학습부(63)에 공급한다.
학생 데이터 생성부(62)에는, 교사 데이터 생성부(31)에 공급되는 것과 마찬가지인 학습 화상이 공급된다.
학생 데이터 생성부(62)는, 도 3의 학생 데이터 생성부(32)와 마찬가지로, 학습 화상으로부터 학생 화상을 생성하고, 학생 데이터로서, 학습부(63)에 공급한다.
여기서, 학생 데이터 생성부(62)에는, 학습 화상 외에, 파라미터 z가 취할 수 있는 범위의 몇개의 값이, 파라미터 생성부(61)로부터 공급된다.
학생 데이터 생성부(62)는, 학습 화상으로서의 고화질 화상을, 예를 들어 거기에 공급되는 파라미터 z에 대응하는 차단 주파수의 LPF에 의해 필터링함으로써, 파라미터 z의 몇개의 값 각각에 대하여, 학생 화상으로서의 저화질 화상을 생성한다.
즉, 학생 데이터 생성부(62)에서는, 학습 화상으로서의 고화질 화상에 대해서, Z+1 종류의, 공간 해상도의 다른 학생 화상으로서의 저화질 화상이 생성된다.
또한, 여기에서는, 예를 들어 파라미터 z의 값이 커질수록, 차단 주파수가 높은 LPF를 사용하여, 고화질 화상을 필터링하고, 학생 화상으로서의 저화질 화상을 생성하는 것으로 한다. 이 경우, 값이 큰 파라미터 z에 대한 학생 화상으로서의 저화질 화상일수록, 공간 해상도가 높다.
또한, 학생 데이터 생성부(62)에서는, 파라미터 z에 따라서, 학습 화상으로서의 고화질 화상의 수평 방향 및 수직 방향 중 한쪽 또는 양 방향의 공간 해상도를 저하시킨 학생 화상으로서의 저화질 화상을 생성할 수 있다.
또한, 학습 화상으로서의 고화질 화상의 수평 방향 및 수직 방향 중 양 방향의 공간 해상도를 저하시킨 학생 화상으로서의 저화질 화상을 생성하는 경우에는, 학습 화상으로서의 고화질 화상의 수평 방향 및 수직 방향의 공간 해상도는, 각각 별개의 파라미터, 즉 2개의 파라미터 z 및 z'에 따라서, 별개로 저하시킬 수 있다.
이 경우, 도 5의 계수 취득부(24)에서는, 외부로부터 2개의 파라미터 z 및 z'가 부여되고, 그 2개의 파라미터 z 및 z'와 종 계수를 사용하여, 탭 계수가 생성된다.
이상과 같이, 종 계수로서는, 1개의 파라미터 z 외에, 2개의 파라미터 z 및 z', 나아가, 3개 이상의 파라미터를 사용하여, 탭 계수를 생성할 수 있는 종 계수를 구할 수 있다. 단, 본 명세서에서는, 설명을 간단하게 하기 위해서, 1개의 파라미터 z를 사용해서 탭 계수를 생성하는 종 계수를 예로 들어, 설명을 행한다.
학습부(63)는, 교사 데이터 생성부(31)로부터의 교사 데이터로서의 교사 화상, 파라미터 생성부(61)로부터의 파라미터 z 및 학생 데이터 생성부(62)로부터의 학생 데이터로서의 학생 화상을 사용하여, 클래스마다의 종 계수를 구해서 출력한다.
도 7은 도 6의 학습부(63)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 4의 학습부(33)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 7에 있어서, 학습부(63)는, 탭 선택부(41 및 42), 클래스 분류부(43), 가산부(71), 그리고 계수 산출부(72)를 갖는다.
따라서, 도 7의 학습부(63)는, 탭 선택부(41 및 42), 그리고 클래스 분류부(43)를 갖는 점에서, 도 4의 학습부(33)와 공통된다.
단, 학습부(63)는, 가산부(44) 및 계수 산출부(45)를 대신하여, 가산부(71) 및 계수 산출부(72)를 각각 갖는 점에서, 학습부(33)와 상이하다.
도 7에서는, 탭 선택부(41과 42)는, 파라미터 생성부(61)에서 생성되는 파라미터 z에 대응해서 생성된 학생 화상(여기서는, 파라미터 z에 대응하는 차단 주파수의 LPF를 사용해서 생성된 학생 데이터로서의 저화질 화상)으로부터, 예측 탭과 클래스 탭을 각각 선택한다.
가산부(71)는, 도 6의 교사 데이터 생성부(31)로부터의 교사 화상으로부터, 주목 화소에 대응하는 대응 화소를 취득하고, 그 대응 화소, 탭 선택부(41)로부터 공급되는 주목 화소에 대해서 구성된 예측 탭을 구성하는 학생 데이터(학생 화상의 화소) 및 그 학생 데이터를 생성했을 때의 파라미터 z를 대상으로 한 가산을, 클래스 분류부(43)로부터 공급되는 클래스마다 행한다.
즉, 가산부(71)에는, 주목 화소에 대응하는 대응 화소로서의 교사 데이터 yk, 탭 선택부(41)가 출력하는 주목 화소에 관한 예측 탭 xi,k(xj,k) 및 클래스 분류부(43)가 출력하는 주목 화소의 클래스가 공급됨과 함께, 주목 화소에 관한 예측 탭을 구성하는 학생 데이터를 생성했을 때의 파라미터 z가, 파라미터 생성부(61)로부터 공급된다.
그리고, 가산부(71)는, 클래스 분류부(43)로부터 공급되는 클래스마다, 예측 탭(학생 데이터) xi,k(xj,k)와 파라미터 z를 사용하여, 식 (20)의 좌변의 행렬에 있어서의, 식 (18)에서 정의되는 컴포넌트 Xi,p,j,q를 구하기 위한 학생 데이터 및 파라미터 z의 승산(xi,ktpxj,ktq)과, 서메이션(Σ)에 상당하는 연산을 행한다. 또한, 식 (18)의 tp는, 식 (10)에 따라서, 파라미터 z로부터 계산된다. 식 (18)의 tq도 마찬가지이다.
또한, 가산부(71)는, 역시, 클래스 분류부(43)로부터 공급되는 클래스마다, 예측 탭(학생 데이터) xi,k, 교사 데이터 yk 및 파라미터 z를 사용하여, 식 (20)의 우변의 벡터에 있어서의, 식 (19)에서 정의되는 컴포넌트 Yi,p를 구하기 위한 학생 데이터 xi,k, 교사 데이터 yk 및 파라미터 z의 승산(xi,ktpyk)과, 서메이션(Σ)에 상당하는 연산을 행한다. 또한, 식 (19)의 tp는, 식 (10)에 따라서, 파라미터 z로부터 계산된다.
즉, 가산부(71)는, 전회, 교사 데이터로서의, 주목 화소에 대응하는 대응 화소에 대해서 구해진 식 (20)에 있어서의 좌변의 행렬의 컴포넌트 Xi,p,j,q와, 우변의 벡터의 컴포넌트 Yi,p를, 그 내장된 메모리(도시하지 않음)에 기억하고 있고, 그 행렬의 컴포넌트 Xi,p,j,q 또는 벡터의 컴포넌트 Yi,p에 대하여, 새로운 주목 화소에 대응하는 대응 화소가 된 교사 데이터에 대해서, 그 교사 데이터 yk, 학생 데이터 xi,k(xj,k) 및 파라미터 z를 사용해서 계산되는, 대응하는 컴포넌트 xi,ktpxj,ktq 또는 xi,ktpyk를 가산한다(식 (18)의 컴포넌트 Xi,p,j,q 또는 식 (19)의 컴포넌트 Yi,p에 있어서의 서메이션으로 표현되는 가산을 행한다).
그리고, 가산부(71)는, 0, 1, …, Z의 모든 값의 파라미터 z에 대해서, 학생 화상의 화소 모두를 주목 화소로 하여, 상술한 가산을 행함으로써, 각 클래스에 대해서, 식 (20)에 나타낸 정규 방정식을 세우고, 그 정규 방정식을, 계수 산출부(72)에 공급한다.
계수 산출부(72)는, 가산부(71)로부터 공급되는 클래스마다의 정규 방정식을 푸는 것에 의해, 각 클래스마다의 종 계수 βm,n을 구해서 출력한다.
그런데, 도 6의 학습 장치(30)에서는, 학습 화상으로서의 고화질 화상을 교사 데이터로 함과 함께, 그 고화질 화상의 공간 해상도를, 파라미터 z에 대응해서 열화시킨 저화질 화상을 학생 데이터로 하고, 탭 계수 wn 및 학생 데이터 xn으로부터 식 (1)의 선형 1차식에서 예측되는 교사 데이터의 예측값 y의 제곱 오차의 총합을 직접적으로 최소로 하는 종 계수 βm,n을 구하는 학습을 행하도록 했지만, 종 계수 βm,n의 학습으로서는, 교사 데이터의 예측값 y의 제곱 오차의 총합을, 말하자면, 간접적으로 최소로 하는 종 계수 βm,n을 구하는 학습을 행할 수 있다.
즉, 학습 화상으로서의 고화질 화상을 교사 데이터로 함과 함께, 그 고화질 화상을, 파라미터 z에 대응한 차단 주파수의 LPF에 의해 필터링함으로써, 그 수평 해상도 및 수직 해상도를 저하시킨 저화질 화상을 학생 데이터로 하여, 먼저 처음으로, 탭 계수 wn 및 학생 데이터 xn을 사용해서 식 (1)의 선형 1차 예측식에서 예측되는 교사 데이터의 예측값 y의 제곱 오차의 총합을 최소로 하는 탭 계수 wn을, 파라미터 z의 값(여기서는, z=0, 1, …, Z)마다 구한다. 그리고, 그 파라미터 z의 값마다 구해진 탭 계수 wn을 교사 데이터로 함과 함께, 파라미터 z를 학생 데이터로서, 식 (11)에 의해 종 계수 βm,n 및 학생 데이터인 파라미터 z에 대응하는 변수 tm으로부터 예측되는 교사 데이터로서의 탭 계수 wn의 예측값의 제곱 오차의 총합을 최소로 하는 종 계수 βm,n을 구한다.
여기서, 식 (1)의 선형 1차 예측식에서 예측되는 교사 데이터의 예측값 y의 제곱 오차의 총합 E를 최소(극소)로 하는 탭 계수 wn은 도 3의 학습 장치(30)에 있어서의 경우와 마찬가지로, 식 (8)의 정규 방정식을 세우고 푸는 것에 의해, 각 클래스에 대해서, 파라미터 z의 값(z=0, 1, …, Z)마다 구할 수 있다.
그런데, 탭 계수는, 식 (11)에 나타낸 바와 같이, 종 계수 βm,n과, 파라미터 z에 대응하는 변수 tm으로부터 구해진다. 그리고, 지금, 이 식 (11)에 의해 구해지는 탭 계수를, wn'로 나타내는 것으로 하면, 다음 식 (21)에서 표현되는, 최적의 탭 계수 wn과 식 (11)에 의해 구해지는 탭 계수 wn'과의 오차 en을 0으로 하는 종 계수 βm,n이, 최적의 탭 계수 wn을 구하는 데 최적의 종 계수가 되지만, 모든 탭 계수 wn에 대해서, 그러한 종 계수 βm,n을 구하는 것은, 일반적으로는 곤란하다.
Figure pct00021
또한, 식 (21)은, 식 (11)에 의해, 다음 식과 같이 변형될 수 있다.
Figure pct00022
그래서, 종 계수 βm,n이 최적의 것인 것을 나타내는 규범으로서, 예를 들어 역시, 최소 제곱법을 채용하는 것으로 하면, 최적의 종 계수 βm,n은 다음 식으로 표현되는 제곱 오차의 총합 E를 최소로 함으로써 구할 수 있다.
Figure pct00023
식 (23)의 제곱 오차의 총합 E의 최솟값(극소값)은, 식 (24)에 나타내는 바와 같이, 총합 E를 종 계수 βm,n으로 편미분한 것을 0으로 하는 βm,n에 의해 부여된다.
Figure pct00024
식 (22)를, 식 (24)에 대입함으로써, 다음 식이 얻어진다.
Figure pct00025
지금, Xi,j, 와 Yi를, 식 (26)과 (27)에 나타내는 바와 같이 정의한다.
Figure pct00026
Figure pct00027
이 경우, 식 (25)는, Xi,j와 Yi를 사용한 식 (28)에 나타내는 정규 방정식으로 나타낼 수 있다.
Figure pct00028
식 (28)의 정규 방정식도, 예를 들어 소거법 등을 사용함으로써, 종 계수 βm,n에 대해서 풀 수 있다.
도 8은 도 6의 학습부(63)의 다른 구성예를 도시하는 블록도이다.
즉, 도 8은 식 (28)의 정규 방정식을 세우고 푸는 것에 의해 종 계수 βm,n을 구하는 학습을 행하는 학습부(63)의 구성예를 나타내고 있다.
또한, 도면 중, 도 4 또는 도 7의 경우와 대응하는 것에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 8의 학습부(63)는, 탭 선택부(41 및 42), 클래스 분류부(43), 계수 산출부(45), 가산부(81 및 82), 그리고 계수 산출부(83)를 갖는다.
따라서, 도 8의 학습부(63)는, 탭 선택부(41 및 42), 클래스 분류부(43), 그리고 계수 산출부(45)를 갖는 점에서, 도 4의 학습부(33)와 공통된다.
단, 도 8의 학습부(63)는, 가산부(44)를 대신하여, 가산부(81)를 갖는 점, 그리고 가산부(82) 및 계수 산출부(83)를 새롭게 갖는 점에서, 도 4의 학습부(33)와 상이하다.
가산부(81)에는, 클래스 분류부(43)가 출력하는 주목 화소의 클래스와, 파라미터 생성부(61)가 출력하는 파라미터 z가 공급된다. 가산부(81)는, 교사 데이터 생성부(31)로부터의 교사 화상 중, 주목 화소에 대응하는 대응 화소로서의 교사 데이터와, 탭 선택부(41)로부터 공급되는 주목 화소에 관한 예측 탭을 구성하는 학생 데이터를 대상으로 한 가산을, 클래스 분류부(43)로부터 공급되는 클래스마다, 또한 파라미터 생성부(61)가 출력하는 파라미터 z의 값마다 행한다.
즉, 가산부(81)에는, 교사 데이터 yk, 예측 탭 xn,k, 주목 화소의 클래스 및 예측 탭 xn,k를 구성하는 학생 화상을 생성했을 때의 파라미터 z가 공급된다.
가산부(81)는, 주목 화소의 클래스마다, 또한 파라미터 z의 값마다, 예측 탭(학생 데이터) xn,k를 사용하여, 식 (8)의 좌변의 행렬에 있어서의 학생 데이터끼리의 승산(xn,kxn',k)과, 서메이션(Σ)에 상당하는 연산을 행한다.
또한, 가산부(81)는, 주목 화소의 클래스마다, 또한 파라미터 z의 값마다, 예측 탭(학생 데이터) xn,k와 교사 데이터 yk를 사용하여, 식 (8)의 우변의 벡터에 있어서의 학생 데이터 xn,k 및 교사 데이터 yk의 승산(xn,kyk)과, 서메이션(Σ)에 상당하는 연산을 행한다.
즉, 가산부(81)는, 전회, 교사 데이터로서의, 주목 화소에 대응하는 대응 화소에 대해서 구해진 식 (8)에 있어서의 좌변의 행렬의 컴포넌트(Σxn,kxn',k)과, 우변의 벡터의 컴포넌트(Σxn,kyk)을, 그 내장된 메모리(도시하지 않음)에 기억하고 있고, 그 행렬의 컴포넌트(Σxn,kxn',k) 또는 벡터의 컴포넌트(Σxn,kyk)에 대하여, 새로운 주목 화소에 대응하는 대응 화소가 된 교사 데이터에 대해서, 그 교사 데이터 yk+1 및 학생 데이터 xn,k+1을 사용해서 계산되는, 대응하는 컴포넌트 xn,k+1xn',k+1 또는 xn,k+1yk+1을 가산한다(식 (8)의 서메이션으로 표현되는 가산을 행한다).
그리고, 가산부(81)는, 학생 화상의 화소 모두를 주목 화소로 하여, 상술한 가산을 행함으로써, 각 클래스에 대해서, 파라미터 z의 각 값마다, 식 (8)에 나타낸 정규 방정식을 세우고, 그 정규 방정식을, 계수 산출부(45)에 공급한다.
따라서, 가산부(81)는, 도 4의 가산부(44)와 마찬가지로, 각 클래스에 대해서, 식 (8)의 정규 방정식을 세운다. 단, 가산부(81)는, 또한 파라미터 z의 각 값마다도, 식 (8)의 정규 방정식을 세우는 점에서, 도 4의 가산부(44)와 상이하다.
계수 산출부(45)는, 가산부(81)로부터 공급되는 각 클래스에 관한, 파라미터 z의 값마다의 정규 방정식을 푸는 것에 의해, 각 클래스에 대해서, 파라미터 z의 값마다가 최적의 탭 계수 wn을 구하고, 가산부(82)에 공급한다.
가산부(82)는, 파라미터 생성부(61)(도 6)로부터 공급되는 파라미터 z(에 대응하는 변수 tm)와, 계수 산출부(45)로부터 공급되는 최적의 탭 계수 wn을 대상으로 한 가산을, 클래스마다 행한다.
즉, 가산부(82)는, 파라미터 생성부(61)로부터 공급되는 파라미터 z로부터 식 (10)에 의해 구해지는 변수 ti(tj)를 사용하여, 식 (28)의 좌변의 행렬에 있어서의, 식 (26)에서 정의되는 컴포넌트 Xi,j를 구하기 위한 파라미터 z에 대응하는 변수 ti(tj)끼리의 승산(titj)과, 서메이션(Σ)에 상당하는 연산을, 클래스마다 행한다.
여기서, 컴포넌트 Xi,j는, 파라미터 z에 의해서만 결정되는 것이며, 클래스와는 관계가 없으므로, 컴포넌트 Xi,j의 계산은, 실제로는, 클래스마다 행할 필요는 없고, 1회 행하는 것만으로 끝난다.
또한, 가산부(82)는, 파라미터 생성부(61)로부터 공급되는 파라미터 z로부터 식 (10)에 의해 구해지는 변수 ti와, 계수 산출부(45)로부터 공급되는 최적의 탭 계수 wn을 사용하여, 식 (28)의 우변의 벡터에 있어서의, 식 (27)에서 정의되는 컴포넌트 Yi를 구하기 위한 파라미터 z에 대응하는 변수 ti 및 최적의 탭 계수 wn의 승산(tiwn)과, 서메이션(Σ)에 상당하는 연산을, 클래스마다 행한다.
가산부(82)는, 각 클래스마다, 식 (26)에서 표현되는 컴포넌트 Xi,j와, 식 (27)에서 표현되는 컴포넌트 Yi를 구함으로써, 각 클래스에 대해서, 식 (28)의 정규 방정식을 세우고, 그 정규 방정식을, 계수 산출부(83)에 공급한다.
계수 산출부(83)는, 가산부(82)로부터 공급되는 클래스마다의 식 (28)의 정규 방정식을 푸는 것에 의해, 각 클래스마다의 종 계수 βm,n을 구해서 출력한다.
도 5의 계수 취득부(24)에는, 이상과 같이 해서 구해진 클래스마다의 종 계수 βm,n을 기억시킬 수 있다.
또한, 종 계수의 학습에 있어서도, 탭 계수의 학습에 있어서의 경우와 마찬가지로, 제1 화상에 대응하는 학생 데이터와, 제2 화상에 대응하는 교사 데이터로 하는 화상의 선택 방법에 의해, 종 계수로서는, 각종 화상 변환 처리를 행하는 종 계수를 얻을 수 있다.
즉, 상술한 경우에는, 학습 화상을, 그대로 제2 화상에 대응하는 교사 데이터로 함과 함께, 그 학습 화상의 공간 해상도를 열화시킨 저화질 화상을, 제1 화상에 대응하는 학생 데이터로 하여, 종 계수의 학습을 행하도록 한 점에서, 종 계수로서는, 제1 화상을, 그 공간 해상도를 향상시킨 제2 화상으로 변환하는 공간 해상도 창조 처리로서의 화상 변환 처리를 행하는 종 계수를 얻을 수 있다.
이 경우, 도 5의 화상 변환 장치(20)에서는, 화상의 수평 해상도 및 수직 해상도를, 파라미터 z에 대응하는 해상도에 향상시킬 수 있다.
또한, 예를 들어 고화질 화상을 교사 데이터로 함과 함께, 그 교사 데이터로서의 고화질 화상에 대하여, 파라미터 z에 대응하는 레벨의 노이즈를 중첩한 화상을 학생 데이터로 하여, 종 계수의 학습을 행함으로써, 종 계수로서는, 제1 화상을, 거기에 포함되는 노이즈를 제거(저감)한 제2 화상으로 변환하는 노이즈 제거 처리로서의 화상 변환 처리를 행하는 종 계수를 얻을 수 있다. 이 경우, 도 5의 화상 변환 장치(20)에서는, 파라미터 z에 대응하는 S/N의 화상(파라미터 z에 대응하는 강도의 노이즈 제거를 실시한 화상)을 얻을 수 있다.
또한, 상술한 경우에는, 탭 계수 wn을, 식 (9)에 나타낸 바와 같이, β1,nz02,nz1+ … +βM,nzM-1로 정의하고, 이 식 (9)에 의해, 수평 및 수직 방향의 공간 해상도를, 모두, 파라미터 z에 대응해서 향상시키기 위한 탭 계수 wn을 구하도록 했지만, 탭 계수 wn으로서는, 수평 해상도와 수직 해상도를, 독립의 파라미터 zx와 zy에 대응하여, 각각 독립적으로 향상시키는 것을 구하도록 하는 것도 가능하다.
즉, 탭 계수 wn을, 식 (9)를 대신하여, 예를 들어 3차식 β1,nzx 0zy 02,nzx 1zy 03,nzx 2zy 04,nzx 3zy 05,nzx 0zy 16,nzx 0zy 27,nzx 0zy 38,nzx 1zy 19,nzx 2zy 110,nzx 1zy 2로 정의함과 함께, 식 (10)에서 정의한 변수 tm을, 식 (10)을 대신하여, 예를 들어 t1=zx 0zy 0, t2=zx 1zy 0, t3=zx 2zy 0, t4=zx 3zy 0, t5=zx 0zy 1, t6=zx 0zy 2, t7=zx 0zy 3, t8=zx 1zy 1, t9=zx 2zy 1, t10=zx 1zy 2로 정의한다. 이 경우도, 탭 계수 wn은 최종적으로는, 식 (11)로 나타낼 수 있고, 따라서, 도 6의 학습 장치(30)에 있어서, 파라미터 zx와 zy에 대응하여, 교사 데이터의 수평 해상도와 수직 해상도를 각각 열화시킨 화상을, 학생 데이터로서 사용해서 학습을 행하고, 종 계수 βm,n을 구함으로써, 수평 해상도와 수직 해상도를, 독립의 파라미터 zx와 zy에 대응하여, 각각 독립적으로 향상시키는 탭 계수 wn을 구할 수 있다.
그 밖에, 예를 들어 수평 해상도와 수직 해상도 각각에 대응하는 파라미터 zx와 zy에 더하여, 또한 시간 방향의 해상도에 대응하는 파라미터 zt를 도입함으로써, 수평 해상도, 수직 해상도, 시간 해상도를, 독립의 파라미터 zx, zy, zt에 대응하여, 각각 독립적으로 향상시키는 탭 계수 wn을 구하는 것이 가능하게 된다.
또한, 도 6의 학습 장치(30)에 있어서, 파라미터 zx에 대응해서 교사 데이터의 수평 해상도 및 수직 해상도를 열화시킴과 함께, 파라미터 zy에 대응해서 교사 데이터에 노이즈를 부가한 화상을, 학생 데이터로서 사용해서 학습을 행하고, 종 계수 βm,n을 구함으로써, 파라미터 zx에 대응해서 수평 해상도 및 수직 해상도를 향상시킴과 함께, 파라미터 zy에 대응해서 노이즈 제거를 행하는 탭 계수 wn을 구할 수 있다.
<부호화 장치(11)의 제1 구성예>
도 9는 도 1의 부호화 장치(11)의 제1 구성예를 도시하는 블록도이다.
도 9에 있어서, 부호화 장치(11)는, A/D 변환부(101), 재배열 버퍼(102), 연산부(103), 직교 변환부(104), 양자화부(105), 가역 부호화부(106) 및 축적 버퍼(107)를 갖는다. 또한, 부호화 장치(11)는, 역양자화부(108), 역직교 변환부(109), 연산부(110), 클래스 분류 적응 필터(111), 프레임 메모리(112), 선택부(113), 인트라 예측부(114), 움직임 예측 보상부(115), 예측 화상 선택부(116) 및 레이트 제어부(117)를 갖는다.
A/D 변환부(101)는, 아날로그 신호의 원화상을, 디지털 신호의 원화상으로 A/D 변환하고, 재배열 버퍼(102)에 공급해서 기억시킨다.
재배열 버퍼(102)는, 원화상의 프레임을, GOP(Group Of Picture)에 따라서, 표시순으로부터 부호화(복호)순으로 재배열하여, 연산부(103), 인트라 예측부(114), 움직임 예측 보상부(115) 및 클래스 분류 적응 필터(111)에 공급한다.
연산부(103)는, 재배열 버퍼(102)로부터의 원화상으로부터, 예측 화상 선택부(116)를 통해서 인트라 예측부(114) 또는 움직임 예측 보상부(115)로부터 공급되는 예측 화상을 감산하고, 그 감산에 의해 얻어지는 잔차(예측 잔차)를, 직교 변환부(104)에 공급한다.
예를 들어, 인터 부호화가 행해지는 화상의 경우, 연산부(103)는, 재배열 버퍼(102)로부터 판독된 원화상으로부터, 움직임 예측 보상부(115)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(104)는, 연산부(103)로부터 공급되는 잔차에 대하여, 이산 코사인 변환이나 카루넨·루베 변환 등의 직교 변환을 실시한다. 또한, 이 직교 변환의 방법은 임의이다. 직교 변환부(104)는, 직교 교환에 의해 얻어지는 변환 계수를 양자화부(105)에 공급한다.
양자화부(105)는, 직교 변환부(104)로부터 공급되는 변환 계수를 양자화한다. 양자화부(105)는, 레이트 제어부(117)로부터 공급되는 부호량의 목표값(부호량 목표값)에 기초하여 양자화 파라미터 QP를 설정하고, 변환 계수의 양자화를 행한다. 또한, 이 양자화의 방법은 임의이다. 양자화부(105)는, 양자화된 변환 계수를 가역 부호화부(106)에 공급한다.
가역 부호화부(106)는, 양자화부(105)에 있어서 양자화된 변환 계수를 소정의 가역 부호화 방식으로 부호화한다. 변환 계수는, 레이트 제어부(117)의 제어 하에서 양자화되고 있으므로, 가역 부호화부(106)의 가역 부호화에 의해 얻어지는 부호화 데이터의 부호량은, 레이트 제어부(117)가 설정한 부호량 목표값이 된다(또는 부호량 목표값에 근사한다).
또한, 가역 부호화부(106)는, 부호화 장치(11)에서의 예측 부호화에 관한 부호화 정보 중, 필요한 부호화 정보를, 각 블록으로부터 취득한다.
여기서, 부호화 정보로서는, 예를 들어 인트라 예측이나 인터 예측의 예측 모드, 움직임 벡터 등의 움직임 정보, 부호량 목표값, 양자화 파라미터 QP, 픽처 타입(I, P, B), CU(Coding Unit)이나 CTU(Coding Tree Unit)의 정보 등이 있다.
예를 들어, 예측 모드는, 인트라 예측부(114)나 움직임 예측 보상부(115)로부터 취득할 수 있다. 또한, 예를 들어 움직임 정보는, 움직임 예측 보상부(115)로부터 취득할 수 있다.
가역 부호화부(106)는, 부호화 정보를 취득하는 것 외에, 클래스 분류 적응 필터(111)로부터, 그 클래스 분류 적응 필터(111)에서의 클래스 분류 적응 처리에 관한 필터 정보를 취득한다. 도 9에서는, 필터 정보에는, 클래스마다의 탭 계수가 포함된다.
가역 부호화부(106)는, 부호화 정보 및 필터 정보를, 임의의 가역 부호화 방식으로 부호화하고, 부호화 데이터의 헤더 정보의 일부로 한다(다중화한다).
가역 부호화부(106)는, 부호화 데이터를, 축적 버퍼(107)를 통해서 전송한다. 따라서, 가역 부호화부(106)는, 부호화 데이터, 나아가서는, 부호화 데이터에 포함되는 부호화 정보나 필터 정보를 전송하는 전송부로서 기능한다.
가역 부호화부(106)의 가역 부호화 방식으로서는, 예를 들어 가변장 부호화 또는 산술 부호화 등을 채용할 수 있다. 가변장 부호화로서는, 예를 들어 H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등이 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등이 있다.
축적 버퍼(107)는, 가역 부호화부(106)로부터 공급되는 부호화 데이터를, 일시적으로 축적한다. 축적 버퍼(107)에 축적된 부호화 데이터는, 소정의 타이밍에 판독되어 전송된다.
양자화부(105)에 있어서 양자화된 변환 계수는, 가역 부호화부(106)에 공급되는 것 외에, 역양자화부(108)에도 공급된다. 역양자화부(108)는, 양자화된 변환 계수를, 양자화부(105)에 의한 양자화에 대응하는 방법으로 역양자화한다. 이 역양자화의 방법은, 양자화부(105)에 의한 양자화 처리에 대응하는 방법이면 어떤 방법이어도 된다. 역양자화부(108)는, 역양자화에 의해 얻어지는 변환 계수를, 역직교 변환부(109)에 공급한다.
역직교 변환부(109)는, 역양자화부(108)로부터 공급되는 변환 계수를, 직교 변환부(104)에 의한 직교 변환 처리에 대응하는 방법에서 역직교 변환한다. 이 역직교 변환의 방법은, 직교 변환부(104)에 의한 직교 변환 처리에 대응하는 방법이면 어떤 것이어도 된다. 역직교 변환된 출력(복원된 잔차)은, 연산부(110)에 공급된다.
연산부(110)는, 역직교 변환부(109)로부터 공급되는 역직교 변환 결과, 즉 복원된 잔차에, 예측 화상 선택부(116)를 통해서 인트라 예측부(114) 또는 움직임 예측 보상부(115)로부터 공급되는 예측 화상을 가산하고, 그 가산 결과를, 복호 도중의 복호 도중 화상으로서 출력한다.
연산부(110)가 출력하는 복호 도중 화상은, 클래스 분류 적응 필터(111) 또는 프레임 메모리(112)에 공급된다.
클래스 분류 적응 필터(111)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행한다.
클래스 분류 적응 필터(111)에는, 연산부(110)로부터 복호 도중 화상이 공급되는 것 외에, 재배열 버퍼(102)로부터, 복호 도중 화상에 대응하는 원화상이 공급됨과 함께, 부호화 장치(11)의 각 블록으로부터 필요한 부호화 정보가 공급된다.
클래스 분류 적응 필터(111)는, 연산부(110)로부터의 복호 도중 화상에 상당하는 학생 화상과, 재배열 버퍼(102)로부터의 원화상에 상당하는 교사 화상을 사용함과 함께, 필요에 따라서, 부호화 정보를 사용하여, 클래스마다의 탭 계수를 구하는 학습을 행한다.
즉, 클래스 분류 적응 필터(111)는, 예를 들어 연산부(110)로부터의 복호 도중 화상 그 자체를 학생 화상으로 함과 함께, 재배열 버퍼(102)로부터의 원화상 그 자체를 교사 화상으로 하여, 필요에 따라서, 부호화 정보를 사용하여, 클래스마다의 탭 계수를 구하는 학습을 행한다. 클래스마다의 탭 계수는, 필터 정보로서, 클래스 분류 적응 필터(111)로부터 가역 부호화부(106)에 공급된다.
또한, 클래스 분류 적응 필터(111)는, 연산부(110)로부터의 복호 도중 화상을 제1 화상으로 하여, 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리(에 의한 화상 변환)를, 부호화 정보를 필요에 따라서 사용해서 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서) 출력한다.
클래스 분류 적응 필터(111)가 출력하는 필터 후 화상은, 프레임 메모리(112)에 공급된다.
여기서, 클래스 분류 적응 필터(111)에서는, 상술한 바와 같이, 복호 도중 화상을 학생 화상으로 함과 함께, 원화상을 교사 화상으로 하여, 학습이 행해지고, 그 학습에 의해 얻어지는 탭 계수를 사용하여, 복호 도중 화상을 필터 후 화상으로 변환하는 클래스 분류 적응 처리가 행해진다. 따라서, 클래스 분류 적응 필터(111)에서 얻어지는 필터 후 화상은, 극히 원화상에 가까운 화상이 된다.
프레임 메모리(112)는, 연산부(110)로부터 공급되는 복호 도중 화상, 또는 클래스 분류 적응 필터(111)로부터 공급되는 필터 후 화상을, 국소 복호된 복호 화상으로서 일시 기억한다. 프레임 메모리(112)에 기억된 복호 화상은, 필요한 타이밍에, 예측 화상의 생성에 사용되는 참조 화상으로 하여, 선택부(113)에 공급된다.
예를 들어, 프레임 메모리(112)에 기억되는 복호 화상으로서의, 연산부(110)로부터 공급되는 복호 도중 화상 및 클래스 분류 적응 필터(111)로부터 공급되는 필터 후 화상 중, 복호 도중 화상은, 인트라 예측의 참조 화상으로서 사용된다. 또한, 필터 후 화상은, 인터 예측의 참조 화상으로서 사용된다.
선택부(113)는, 프레임 메모리(112)로부터 공급되는 참조 화상의 공급처를 선택한다. 예를 들어, 인트라 예측부(114)에 있어서 인트라 예측이 행해지는 경우, 선택부(113)는, 프레임 메모리(112)로부터 공급되는 참조 화상을, 인트라 예측부(114)에 공급한다. 또한, 예를 들어 움직임 예측 보상부(115)에 있어서 인터 예측이 행해지는 경우, 선택부(113)는, 프레임 메모리(112)로부터 공급되는 참조 화상을, 움직임 예측 보상부(115)에 공급한다.
인트라 예측부(114)는, 재배열 버퍼(102)로부터 공급되는 원화상과, 선택부(113)를 통해서 프레임 메모리(112)로부터 공급되는 참조 화상을 사용하여, 기본적으로, PU(Prediction Unit)를 처리 단위로 하여, 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(114)는, 소정의 비용 함수에 기초하여, 최적의 인트라 예측 모드를 선택하고, 그 최적의 인트라 예측 모드에서 생성된 예측 화상을, 예측 화상 선택부(116)에 공급한다. 또한, 상술한 바와 같이, 인트라 예측부(114)는, 비용 함수에 기초하여 선택된 인트라 예측 모드를 나타내는 예측 모드를, 가역 부호화부(106) 등에 적절히 공급한다.
움직임 예측 보상부(115)는, 재배열 버퍼(102)로부터 공급되는 원화상과, 선택부(113)를 통해서 프레임 메모리(112)로부터 공급되는 참조 화상을 사용하여, 기본적으로 PU를 처리 단위로 하여, 움직임 예측(인터 예측)을 행한다. 또한, 움직임 예측 보상부(115)는, 움직임 예측에 의해 검출되는 움직임 벡터에 따라서 움직임 보상을 행하고, 예측 화상을 생성한다. 움직임 예측 보상부(115)는, 미리 준비된 복수의 인터 예측 모드에서, 인터 예측을 행하고, 예측 화상을 생성한다.
움직임 예측 보상부(115)는, 복수의 인터 예측 모드 각각에 대해서 얻어진 예측 화상의 소정의 비용 함수에 기초하여, 최적의 인터 예측 모드를 선택한다. 또한, 움직임 예측 보상부(115)는, 최적의 인터 예측 모드에서 생성된 예측 화상을, 예측 화상 선택부(116)에 공급한다.
또한, 움직임 예측 보상부(115)는, 비용 함수에 기초하여 선택된 인터 예측 모드를 나타내는 예측 모드나, 그 인터 예측 모드에서 부호화된 부호화 데이터를 복호할 때에 필요한 움직임 벡터 등의 움직임 정보 등을, 가역 부호화부(106)에 공급한다.
예측 화상 선택부(116)는, 연산부(103 및 110)에 공급하는 예측 화상의 공급원(인트라 예측부(114) 또는 움직임 예측 보상부(115))을 선택하고, 그 선택한 쪽의 공급원으로부터 공급되는 예측 화상을, 연산부(103 및 110)에 공급한다.
레이트 제어부(117)는, 축적 버퍼(107)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(105)의 양자화 동작의 레이트를 제어한다. 즉, 레이트 제어부(117)는, 축적 버퍼(107)의 오버플로우 및 언더플로우가 발생하지 않도록, 부호화 데이터의 목표 부호량을 설정하고, 양자화부(105)에 공급한다.
<클래스 분류 적응 필터(111)의 구성예>
도 10은 도 9의 클래스 분류 적응 필터(111)의 구성예를 도시하는 블록도이다.
도 10에 있어서, 클래스 분류 적응 필터(111)는, 화상 변환 장치(131) 및 학습 장치(132)를 갖는다.
화상 변환 장치(131)에는, 연산부(110)(도 9)로부터 복호 도중 화상이 공급됨과 함께, 학습 장치(132)로부터 클래스마다의 탭 계수가 공급된다. 또한, 화상 변환 장치(131)에는, 부호화 정보가 공급된다.
화상 변환 장치(131)는, 복호 도중 화상을 제1 화상으로 하여, 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 프레임 메모리(112)(도 9)에 공급한다.
또한, 화상 변환 장치(131)는, 클래스 분류 적응 처리에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
학습 장치(132)에는, 재배열 버퍼(102)(도 9)로부터 원화상이 공급됨과 함께, 연산부(110)(도 9)로부터 복호 도중 화상이 공급된다. 또한, 학습 장치(132)에는, 부호화 정보가 공급된다.
학습 장치(132)는, 복호 도중 화상을 학생 데이터로 함과 함께, 원화상을 교사 데이터로 하여, 클래스마다의 탭 계수를 구하는 학습(이하, 탭 계수 학습이라고도 한다)을 행한다.
또한, 학습 장치(132)는, 탭 계수 학습에 의해 얻어지는 클래스마다의 탭 계수를, 필터 정보로서, 화상 변환 장치(131) 및 가역 부호화부(106)(도 9)에 공급한다.
또한, 학습 장치(132)는, 탭 계수 학습에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
<화상 변환 장치(131)의 구성예>
도 11은 도 10의 화상 변환 장치(131)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 2의 화상 변환 장치(20)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 그 설명은, 적절히 생략한다.
도 11에 있어서, 화상 변환 장치(131)는, 탭 선택부(21) 내지 예측 연산부(25)를 갖는다.
따라서, 화상 변환 장치(131)는, 도 2의 화상 변환 장치(20)와 마찬가지로 구성된다.
단, 화상 변환 장치(131)에서는, 복호 도중 화상이, 제1 화상으로서, 탭 선택부(21 및 22)에 공급되고, 예측 연산부(25)에서는, 필터 후 화상이 제2 화상으로서 구해진다.
또한, 화상 변환 장치(131)에서는, 부호화 정보가, 클래스 분류부(23)에 공급되고, 클래스 분류부(23)가, 클래스 탭이나 부호화 정보를 필요에 따라서 사용해서 클래스 분류를 행한다.
또한, 화상 변환 장치(131)에서는, 학습 장치(132)에서 얻어진 필터 정보로서의 클래스마다의 탭 계수가, 계수 취득부(24)에 공급되어 기억된다.
도 12는 도 11의 클래스 분류부(23)에서 행해지는 클래스 분류의 예를 설명하는 도면이다.
클래스 분류부(23)에서는, 클래스 탭으로서의 복호 도중 화상의 화소의 화소값에서 얻어지는 주목 화소의 화상 특징량 및 주목 화소의 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 클래스 분류를 행할 수 있다.
클래스 분류에 사용하는 화상 특징량으로서는, 예를 들어 ADRC 처리에 의해 얻어지는 ADRC 코드(ADRC값)를 채용할 수 있다.
도 12는 1비트 ADRC 처리의 예를 설명하는 도면이다.
여기서, 복호 도중 화상의 화소를, 화소 번호를 붙여서 특정하는 것으로 하고, 화소 번호 i의 화소를 화소 i라고도 기재한다.
도 12에서는, 복호 도중 화상에 있어서, 화소 0이 주목 화소가 되어 있다.
그리고, 주목 화소로서의 화소 0을 중심으로 하는 십자형의 9개의 화소가 클래스 탭을 구성하고 있다.
즉, 화소 0, 화소 0의 위쪽에 인접한 2개의 화소인 화소 1 및 화소 2, 화소 0의 왼쪽에 인접한 2화소인 화소 3 및 화소 4, 화소 0의 오른쪽에 인접한 2화소인 화소 5 및 화소 6, 그리고 화소 0의 아래쪽에 인접한 2화소인 화소 7 및 화소 8의, 합계 9 화소 0 내지 8이, 주목 화소인 화소 0의 클래스 탭을 구성하고 있다.
클래스 분류부(23)는, 클래스 탭을 구성하는 화소 0 내지 8의 화소값의 최댓값 MAX와 최솟값 MIN을 검출하고, 그 최댓값 MAX와 최솟값 MIN 사이의 중간값(평균값)을, 양자화의 역치로서 구한다.
또한, 클래스 분류부(23)는, 화소 0 내지 8의 화소값을, 역치와 비교하고, 화소값이 역치 이상인 경우에는, 양자화값 1로 양자화하고, 화소값이 역치 이상이 아닌 경우에는, 양자화값 0으로 양자화한다.
그리고, 클래스 분류부(23)는, 화소 0 내지 8의 화소값의 양자화값을, 예를 들어 화소 번호순으로 배열한 코드를, ADRC 코드로서 구한다.
지금, 설명을 간단하게 하기 위해서, 클래스 분류부(23)가, 화상 특징량으로서의 ADRC 코드만을 사용하여, 주목 화소(화소 0)의 클래스 분류를 행하는 것으로 하면, 클래스 분류부(23)는, 주목 화소를, 예를 들어 ADRC 코드에 대응하는 클래스 코드의 클래스로 클래스 분류한다.
여기서, 예를 들어 클래스 코드가 10진수로 표현되는 것으로 하면, ADRC 코드에 대응하는 클래스 코드란, ADRC 코드를 2진수라 간주하고, 그 2진수의 ADRC 코드를 10진수로 변환한 값을 의미한다.
이 경우, 예를 들어 화소 0 내지 8의 화소값의 양자화값을 화소 번호순으로 배열한 ADRC 코드가, 000011100이면, 그 ADRC 코드 000011100에 대응하는 클래스 코드는, 28이 된다.
또한, 도 12에서는, 최댓값 MAX와 최솟값 MIN 사이의 1개의 값을, 양자화의 역치로 하는 1비트 ADRC 처리를 행하는 것으로 하였지만, 복수의 값을 양자화의 역치로 함으로써, 클래스 탭을 구성하는 각 화소의 화소값을, 복수인 N 비트로 양자화하는 N 비트 ADRC 처리를 행할 수 있다.
또한, 클래스 탭이, 9개의 화소 0 내지 8로 구성되며, 1비트 ADRC 처리에 의한 클래스 분류를 행하는 경우, 클래스수는, 29 클래스가 되지만, 클래스 분류에 의해 얻어지는 클래스수는, 축퇴할 수 있다.
예를 들어, 1비트 ADRC 처리에 의한 클래스 분류를 행하는 경우, 그 1비트 ADRC 처리에 의해 얻어지는 ADRC 코드로서의 2진수와, 그 2진수의 비트를 반전시킨 반전 2진수에 대해서서는, 동일한 클래스로 클래스 분류하는, 클래스수의 축퇴를 행함으로써, 클래스수는, 축퇴를 행하지 않는 경우의 1/2로 할 수 있다.
예를 들어, 9개의 화소 0 내지 8로 구성되는 클래스 탭을 대상으로 한 1비트 ADRC 처리에 의한 클래스 분류를 행하는 경우, 클래스수의 축퇴를 행함으로써, 클래스수를, 29-1 클래스로 할 수 있다.
또한, ADRC에 대해서는, 예를 들어 일본특허 제4240322호 공보에 기재되어 있다.
여기서, 클래스 탭은, 도 12에 도시된 바와 같은, 주목 화소를 중심으로 하는 십자형의 9 화소에 한정되는 것은 아니다.
즉, 클래스 탭으로서는, 예를 들어 주목 화소를 중심으로 하는 3×3 화소의 정사각형상의 9 화소나, 주목 화소를 중심으로 하는, 수평 방향 및 수직 방향을 대각선으로 하는 마름모형상의 13개의 화소를 채용할 수 있다.
또한, 클래스 탭은, 주목 화소의 프레임(픽처)인 주목 프레임 외에, 주목 화소에 인접한 프레임 등의 주목 프레임 이외의 프레임의 화소를 포함시켜서 구성할 수 있다.
또한, 도 12에서는, 클래스 분류에 사용하는 화상 특징량으로서, 클래스 탭에서 얻어지는 ADRC 코드를 채용하는 것으로 하였지만, 화상 특징량으로서는, 그 밖에, 예를 들어 클래스 탭을 구성하는 화소의 화소값의 다이내믹 레인지나 차분 절댓값 합 등의 ADRC 코드 이외의 화상 특징량을 채용할 수 있다.
클래스 분류에 사용하는 화상 특징량으로서, 예를 들어 클래스 탭을 구성하는 화소의 화소값의 다이내믹 레인지를 채용하는 경우, 예를 들어 다이내믹 레인지를, 1 이상의 역치로 역치 처리함으로써, 주목 화소를 2 이상의 클래스 중 어느 것의 클래스로 클래스 분류할 수 있다.
또한, 클래스 분류는, ADRC 코드 등의 1개의 화상 특징량이 아니고, 예를 들어 ADRC 코드 및 다이내믹 레인지 등의 복수의 화상 특징량을 사용해서 행할 수 있다.
또한, 클래스 분류는, 주목 화소의 화상 특징량 외에, 주목 화소의 부호화 정보를 사용해서 행할 수 있다.
클래스 분류에 사용하는 주목 화소의 부호화 정보로서는, 예를 들어 주목 화소를 포함하는 CU나 PU 등의 블록 내에 있어서의 주목 화소의 위치를 나타내는 블록 위상이나, 주목 화소를 포함하는 픽처의 픽처 타입, 주목 화소를 포함하는 PU의 양자화 파라미터 QP 등을 채용할 수 있다.
클래스 분류에 사용하는 주목 화소의 부호화 정보로서, 블록 위상을 채용하는 경우에는, 예를 들어 주목 화소가 블록의 경계의 화소인지 여부에 따라, 주목 화소를 클래스 분류할 수 있다.
또한, 클래스 분류에 사용하는 주목 화소의 부호화 정보로서, 픽처 타입을 채용하는 경우에는, 예를 들어 주목 화소를 포함하는 픽처가, I 픽처, P 픽처 및 B 픽처 중 어느 것인지에 따라, 주목 화소를 클래스 분류할 수 있다.
또한, 클래스 분류에 사용하는 주목 화소의 부호화 정보로서, 양자화 파라미터 QP를 채용하는 경우에는, 예를 들어 양자화의 거칠기(미세함)에 따라, 주목 화소를 클래스 분류할 수 있다.
또한, 클래스 분류는, 화상 특징량 또는 부호화 정보를 사용해서 행하는 것 외에, 예를 들어 화상 특징량 및 부호화 정보의 양쪽을 사용해서 행할 수 있다.
<학습 장치(132)의 구성예>
도 13은 도 10의 학습 장치(132)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 3 및 도 4의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 13에 있어서, 학습 장치(132)는, 학습부(33)를 갖는다. 학습부(33)는, 탭 선택부(41 및 42), 클래스 분류부(43), 가산부(44), 그리고 계수 산출부(45)를 갖는다.
따라서, 도 13의 학습 장치(132)는, 학습부(33)를 갖는 점에서, 도 3의 경우와 공통된다. 또한, 학습 장치(132)는, 학습부(33)가, 탭 선택부(41) 내지 계수 산출부(45)를 갖는 점에서, 도 4의 경우와 공통된다.
단, 도 13의 학습 장치(132)는, 교사 데이터 생성부(31) 및 학생 데이터 생성부(32)를 갖지 않는 점에서, 도 3의 경우와 상이하다.
또한, 도 13의 학습 장치(132)는, 학습부(33)에 있어서, 클래스 분류부(43)에, 부호화 정보가 공급되는 점에서, 도 4의 경우와 상이하다.
도 13의 학습 장치(132)에서는, 클래스 분류부(43)가, 클래스 탭이나 부호화 정보를 필요에 따라서 사용하여, 도 11의 클래스 분류부(23)과 마찬가지인 클래스 분류를 행한다.
또한, 도 13의 학습 장치(132)에서는, 복호 도중 화상을 학생 데이터로서 사용함과 함께, 그 복호 도중 화상에 대응하는 원화상을 교사 데이터로서 사용하여, 탭 계수의 학습이 행해진다.
그리고, 도 13의 학습 장치(132)에서는, 계수 산출부(45)에서 구해진 클래스마다의 탭 계수가, 화상 변환 장치(131)(도 10)에 공급됨과 함께, 필터 정보로서, 가역 부호화부(106)(도 9)에 공급된다.
또한, 탭 계수의 학습은, 원화상의 부호화와 병렬해서 행할 수도 있고, 원화상의 부호화와는 관계없이, 미리 행해 둘 수도 있다.
탭 계수의 학습을, 원화상의 부호화와는 관계없이, 미리 행하는 경우에는, 복수의 카테고리의 원화상을 교사 데이터로서 사용하여, 카테고리마다, 탭 계수의 학습을 행할 수 있다. 그리고, 복수의 카테고리의 탭 계수 중, 예를 들어 소정의 비용 함수를 최소로 하는 카테고리의 탭 계수를, 화상 변환 장치(131)에서의 클래스 분류 적응 처리에 사용함과 함께, 필터 정보로서, 가역 부호화부(106)로부터 전송할 수 있다.
<부호화 처리>
도 14는 도 9의 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
또한, 도 14에 도시하는 부호화 처리의 각 스텝의 순서는, 설명의 편의상의 순서이며, 실제의 부호화 처리의 각 스텝은, 적절히, 병렬적으로, 필요한 순서로 행해진다. 후술하는 부호화 처리에 대해서도, 마찬가지이다.
부호화 장치(11)에 있어서, 클래스 분류 적응 필터(111)의 학습 장치(132)(도 10)는, 거기에 공급되는 복호 도중 화상을 학생 데이터로 함과 함께, 그 복호 도중 화상에 대응하는 원화상을 교사 데이터로서, 적절히, 학습을 행하고 있다. 그리고, 학습 장치(132)는, 스텝 S11에 있어서, 필터 정보로서의 탭 계수의 갱신 타이밍인지 여부를 판정한다.
여기서, 필터 정보의 갱신 타이밍은, 예를 들어 1 이상의 프레임(픽처)마다나, 1 이상의 시퀀스마다, 1 이상의 슬라이스마다 등과 같이, 미리 정해 둘 수 있다.
또한, 예를 들어 소정의 비용 함수가 역치 이하기 되지 않았을 때를, 필터 정보의 갱신 타이밍으로서 채용할 수 있다.
스텝 S11에 있어서, 필터 정보의 갱신 타이밍이 아니라고 판정된 경우, 처리는 스텝 S12 및 S13을 스킵하고, 스텝 S14로 진행한다.
또한, 스텝 S11에 있어서, 필터 정보의 갱신 타이밍이라고 판정된 경우, 처리는 스텝 S12로 진행하고, 화상 변환 장치(131)는, 필터 정보로서의 탭 계수를, 학습 장치(132)로부터 공급되는 최신 필터 정보로서의 탭 계수로 갱신한다.
즉, 화상 변환 장치(131)(도 11)는, 계수 취득부(24)에, 학습 장치(132)로부터 공급되는 최신의 탭 계수를 기억시킨다.
그리고, 처리는 스텝 S12로부터 스텝 S13으로 진행하고, 가역 부호화부(106)는, 학습 장치(132)로부터 공급되는 최신 필터 정보를, 전송 대상으로 설정하고, 처리는 스텝 S14로 진행한다. 전송 대상으로 설정된 최신 필터 정보는, 후술하는 스텝 S27에 있어서 부호화 데이터에 포함시켜져서 전송된다.
스텝 S14 이후에서는, 원화상의 예측 부호화 처리가 행해진다.
즉, 스텝 S14에 있어서, A/D 변환부(101)는, 원화상을 A/D 변환하고, 재배열 버퍼(102)에 공급하고, 처리는 스텝 S15로 진행한다.
스텝 S15에 있어서, 재배열 버퍼(102)는, A/D 변환부(101)로부터의 원화상을 기억하고, 부호화순으로 재배열해서 출력하고, 처리는 스텝 S16으로 진행한다.
스텝 S16에서는, 인트라 예측부(114)는, 인트라 예측 모드의 인트라 예측 처리를 행하고, 처리는 스텝 S17로 진행한다. 스텝 S17에 있어서, 움직임 예측 보상부(115)는, 인터 예측 모드에서의 움직임 예측이나 움직임 보상을 행하는 인터 움직임 예측 처리를 행하고, 처리는 스텝 S18로 진행한다.
인트라 예측부(114)의 인트라 예측 처리 및 움직임 예측 보상부(115)의 인터 움직임 예측 처리에서는, 각종 예측 모드의 비용 함수가 연산됨과 함께, 예측 화상이 생성된다.
스텝 S18에서는, 예측 화상 선택부(116)는, 인트라 예측부(114) 및 움직임 예측 보상부(115)에서 얻어지는 각 비용 함수에 기초하여, 최적의 예측 모드를 결정한다. 그리고, 예측 화상 선택부(116)는, 인트라 예측부(114)에 의해 생성된 예측 화상과, 움직임 예측 보상부(115)에 의해 생성된 예측 화상 중 최적의 예측 모드의 예측 화상을 선택해서 출력하고, 처리는 스텝 S18로부터 스텝 S19로 진행한다.
스텝 S19에서는, 연산부(103)는, 재배열 버퍼(102)가 출력하는 원화상인 부호화 대상의 대상 화상과, 예측 화상 선택부(116)가 출력하는 예측 화상의 잔차를 연산하고, 직교 변환부(104)에 공급하고, 처리는 스텝 S20으로 진행한다.
스텝 S20에서는, 직교 변환부(104)는, 연산부(103)로부터의 잔차를 직교 변환하고, 그 결과 얻어지는 변환 계수를, 양자화부(105)에 공급하고, 처리는 스텝 S21로 진행한다.
스텝 S21에서는, 양자화부(105)는, 직교 변환부(104)로부터의 변환 계수를 양자화하고, 그 양자화에 의해 얻어지는 양자화 계수를, 가역 부호화부(106) 및 역양자화부(108)에 공급하고, 처리는 스텝 S22로 진행한다.
스텝 S22에서는, 역양자화부(108)는, 양자화부(105)로부터의 양자화 계수를 역양자화하고, 그 결과 얻어지는 변환 계수를, 역직교 변환부(109)에 공급하고, 처리는 스텝 S23으로 진행한다. 스텝 S23에서는, 역직교 변환부(109)는, 역양자화부(108)로부터의 변환 계수를 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(110)에 공급하고, 처리는 스텝 S24로 진행한다.
스텝 S24에서는, 연산부(110)는, 역직교 변환부(109)로부터의 잔차와, 예측 화상 선택부(116)가 출력하는 예측 화상을 가산하고, 연산부(103)에서의 잔차의 연산 대상으로 된 원화상에 대응하는 복호 도중 화상을 생성한다. 연산부(110)는, 복호 도중 화상을, 클래스 분류 적응 필터(111) 또는 프레임 메모리(112)에 공급하고, 처리는 스텝 S24로부터 스텝 S25로 진행한다.
연산부(110)로부터 클래스 분류 적응 필터(111)에, 복호 도중 화상이 공급되는 경우, 스텝 S25에 있어서, 클래스 분류 적응 필터(111)는, 연산부(110)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리(클래스 분류 적응 필터 처리)를 실시한다. 복호 도중 화상에, 클래스 분류 적응 처리가 실시됨으로써, 복호 도중 화상을 ILF에서 필터링하는 경우보다 원화상에 가까운 필터 후 화상이 구해진다.
클래스 분류 적응 필터(111)는, 클래스 분류 적응 처리에 의해 얻어지는 필터 후 화상을, 프레임 메모리(112)에 공급하고, 처리는 스텝 S25로부터 스텝 S26으로 진행한다.
스텝 S26에서는, 프레임 메모리(112)는, 연산부(110)로부터 공급되는 복호 도중 화상, 또는 클래스 분류 적응 필터(111)로부터 공급되는 필터 후 화상을, 복호 화상으로서 기억하고, 처리는 스텝 S27로 진행한다. 프레임 메모리(112)에 기억된 복호 화상은, 스텝 S17이나 S18에서, 예측 화상을 생성하는 기초가 되는 참조 화상으로서 사용된다.
스텝 S27에서는, 가역 부호화부(106)는, 양자화부(105)로부터의 양자화 계수를 부호화한다. 또한, 가역 부호화부(106)는, 양자화부(105)에서의 양자화에 사용된 양자화 파라미터 QP나, 인트라 예측부(114)에서의 인트라 예측 처리에서 얻어진 예측 모드, 움직임 예측 보상부(115)에서의 인터 움직임 예측 처리에서 얻어진 예측 모드나 움직임 정보 등의 부호화 정보를 필요에 따라서 부호화하고, 부호화 데이터에 포함시킨다.
또한, 가역 부호화부(106)는, 스텝 S13에서 전송 대상으로 설정된 필터 정보를 부호화하고, 부호화 데이터에 포함시킨다. 그리고, 가역 부호화부(106)는, 부호화 데이터를, 축적 버퍼(107)에 공급하고, 처리는 스텝 S27로부터 스텝 S28로 진행한다.
스텝 S28에 있어서, 축적 버퍼(107)는, 가역 부호화부(106)로부터의 부호화 데이터를 축적하고, 처리는 스텝 S29로 진행한다. 축적 버퍼(107)에 축적된 부호화 데이터는, 적절히 판독되어 전송된다.
스텝 S29에서는, 레이트 제어부(117)는, 축적 버퍼(107)에 축적되어 있는 부호화 데이터의 부호량(발생 부호량)에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(105)의 양자화 동작의 레이트를 제어하고, 부호화 처리는 종료한다.
도 15는 도 14의 스텝 S25에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(111)의 화상 변환 장치(131)(도 11)에서는, 스텝 S41에 있어서, 탭 선택부(21)가, 연산부(110)로부터 공급되는 복호 도중 화상(으로서의 블록)의 화소 중, 아직, 주목 화소로 되지 않은 화소 중 1개를, 주목 화소로서 선택하고, 처리는 스텝 S42로 진행한다.
스텝 S42에 있어서, 탭 선택부(21 및 22)가, 연산부(110)로부터 공급되는 복호 도중 화상으로부터, 주목 화소에 관한 예측 탭 및 클래스 탭으로 하는 화소를, 각각 선택한다. 그리고, 탭 선택부(21)는, 예측 탭을 예측 연산부(25)에 공급하고, 탭 선택부(22)는, 클래스 탭을, 클래스 분류부(23)에 공급한다.
그 후, 처리는 스텝 S42로부터 스텝 S43으로 진행하고, 클래스 분류부(23)는, 주목 화소에 관한 클래스 탭 및 주목 화소에 관한 부호화 정보를 사용하여, 주목 화소의 클래스 분류를 행한다.
즉, 클래스 분류에서는, 스텝 S51에 있어서, 클래스 분류부(23)는, 탭 선택부(22)로부터의 클래스 탭을 구성하는 화소로부터, 예를 들어 ADRC 코드(ADRC값) 등의 화상 특징량을 추출(산출)하고, 처리는 스텝 S52로 진행한다.
스텝 S52에서는, 클래스 분류부(23)는, 주목 화소에 관한 필요한 부호화 정보를 취득하고, 미리 결정된 규칙에 따라서, 부호화 정보를, 정보 코드로 변환하고, 처리는 스텝 S53으로 진행한다.
즉, 예를 들어 부호화 정보가, I 픽처, P 픽처, 또는 B 픽처를 나타내는 픽처 타입인 경우, I 픽처, P 픽처 및 B 픽처에는, 예를 들어 정보 코드 0, 1, 2가 각각 할당되어 있고, 그 할당에 따라서, 주목 화소의 픽처 타입이, 정보 코드로 변환된다.
스텝 S53에서는, 클래스 분류부(23)는, 화상 특징량 및 정보 코드로부터, 주목 화소의 클래스를 나타내는 클래스 코드를 생성하고, 계수 취득부(24)에 공급하고, 스텝 S43의 클래스 분류를 종료한다.
예를 들어, 화상 특징량이 ADRC 코드인 경우에는, 클래스 분류부(23)는, 화상 특징량으로서의 ADRC 코드의 상위 비트에, 정보 코드를 부가해서 얻어지는 수치를, 주목 화소의 클래스를 나타내는 클래스 코드로서 생성한다.
스텝 S43의 클래스 분류가 종료되면, 처리는 스텝 S44로 진행하고, 계수 취득부(24)가, 클래스 분류부(23)로부터 공급되는 클래스 코드가 나타내는 클래스의 탭 계수를 취득하고, 예측 연산부(25)에 공급하고, 처리는 스텝 S45로 진행한다.
스텝 S45에서는, 예측 연산부(25)는, 탭 선택부(21)로부터의 예측 탭과, 계수 취득부(24)로부터의 탭 계수를 사용하여, 식 (1) 예측 연산을 행한다. 이에 의해, 예측 연산부(25)는, 주목 화소에 대응하는 원화상의 대응 화소의 화소값의 예측값을, 필터 후 화상의 화소값으로서 구하고, 처리는 스텝 S46으로 진행한다.
스텝 S46에서는, 탭 선택부(21)가, 연산부(110)로부터의 복호 도중 화상(으로서의 블록)의 화소 중에, 아직, 주목 화소로 하지 않은 화소가 있는지를 판정한다. 스텝 S46에 있어서, 아직, 주목 화소로 하지 않은 화소가 있다고 판정된 경우, 처리는 스텝 S41로 되돌아가서, 이하, 마찬가지 처리가 반복된다.
또한, 스텝 S46에 있어서, 아직, 주목 화소로 되지 않은 화소가 없다고 판정된 경우, 처리는 스텝 S47로 진행하고, 예측 연산부(25)는, 연산부(110)로부터의 복호 도중 화상(으로서의 블록)에 대하여 얻어진 화소값으로 구성되는 필터 후 화상을, 프레임 메모리(112)(도 9)에 공급한다. 그리고, 클래스 분류 적응 처리는 종료되고, 처리는 리턴한다.
<복호 장치(12)의 제1 구성예>
도 16은 도 1의 복호 장치(12)의 제1 구성예를 도시하는 블록도이다.
도 16에 있어서, 복호 장치(12)는, 축적 버퍼(201), 가역 복호부(202), 역양자화부(203), 역직교 변환부(204), 연산부(205), 클래스 분류 적응 필터(206), 재배열 버퍼(207) 및 D/A 변환부(208)를 갖는다. 또한, 복호 장치(12)는, 프레임 메모리(210), 선택부(211), 인트라 예측부(212), 움직임 예측 보상부(213) 및 선택부(214)를 갖는다.
축적 버퍼(201)는, 부호화 장치(11)로부터 전송되어 오는 부호화 데이터를 일시 축적하고, 소정의 타이밍에 있어서, 그 부호화 데이터를, 가역 복호부(202)에 공급한다.
가역 복호부(202)는, 축적 버퍼(201)로부터의 부호화 데이터를 취득한다. 따라서, 가역 복호부(202)는, 부호화 장치(11)로부터 전송되어 오는 부호화 데이터, 나아가서는, 부호화 데이터에 포함되는 부호화 정보나 필터 정보를 수취하는 수취부로서 기능한다.
가역 복호부(202)는, 축적 버퍼(201)로부터 취득한 부호화 데이터를, 도 9의 가역 부호화부(106)의 부호화 방식에 대응하는 방식으로 복호한다.
그리고, 가역 복호부(202)는, 부호화 데이터의 복호에 의해 얻어지는 양자화 계수를, 역양자화부(203)에 공급한다.
또한, 가역 복호부(202)는, 부호화 데이터의 복호에 의해, 부호화 정보나 필터 정보가 얻어진 경우에는, 필요한 부호화 정보를, 인트라 예측부(212)나 움직임 예측 보상부(213) 그 밖의 필요한 블록에 공급한다.
또한, 가역 복호부(202)는, 부호화 정보 및 필터 정보를, 클래스 분류 적응 필터(206)에 공급한다.
역양자화부(203)는, 가역 복호부(202)로부터의 양자화 계수를, 도 9의 양자화부(105)의 양자화 방식에 대응하는 방식으로 역양자화하고, 그 역양자화에 의해 얻어지는 변환 계수를, 역직교 변환부(204)에 공급한다.
역직교 변환부(204)는, 역양자화부(203)로부터 공급되는 변환 계수를, 도 9의 직교 변환부(104)의 직교 변환 방식에 대응하는 방식으로 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(205)에 공급한다.
연산부(205)에는, 역직교 변환부(204)로부터 잔차가 공급되는 것 외에, 선택부(214)를 통해서, 인트라 예측부(212) 또는 움직임 예측 보상부(213)로부터 예측 화상이 공급된다.
연산부(205)는, 역직교 변환부(204)로부터의 잔차와, 선택부(214)로부터의 예측 화상을 가산하고, 복호 도중 화상을 생성하고, 클래스 분류 적응 필터(206), 또는 재배열 버퍼(207) 및 프레임 메모리(210)에 공급한다. 예를 들어, 복호 도중 화상 중, 인트라 예측에 사용하는 참조 화상이 되는 복호 도중 화상은, 재배열 버퍼(207) 및 프레임 메모리(210)에 공급되고, 다른 복호 도중 화상은, 클래스 분류 적응 필터(206)에 공급된다.
클래스 분류 적응 필터(206)는, 클래스 분류 적응 필터(111)와 마찬가지로, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF(의) 처리를 행한다.
즉, 클래스 분류 적응 필터(206)는, 연산부(205)로부터의 복호 도중 화상을 제1 화상으로 하여, 가역 복호부(202)로부터의 필터 정보로서의 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리(에 의한 화상 변환)를, 가역 복호부(202)로부터의 부호화 정보를 필요에 따라서 사용해서 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서) 출력한다.
클래스 분류 적응 필터(206)가 출력하는 필터 후 화상은, 클래스 분류 적응 필터(111)가 출력하는 필터 후 화상과 마찬가지 화상이며, 재배열 버퍼(207) 및 프레임 메모리(210)에 공급된다.
재배열 버퍼(207)는, 연산부(205)로부터 공급되는 복호 도중 화상이나, 클래스 분류 적응 필터(206)로부터 공급되는 필터 후 화상을, 복호 화상으로서 일시 기억하고, 복호 화상의 프레임(픽처)의 배열을, 부호화(복호)순으로부터 표시순으로 재배열하고, D/A 변환부(208)에 공급한다.
D/A 변환부(208)는, 재배열 버퍼(207)로부터 공급되는 복호 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력해서 표시시킨다.
프레임 메모리(210)는, 연산부(205)로부터 공급되는 복호 도중 화상이나, 클래스 분류 적응 필터(206)로부터 공급되는 필터 후 화상을, 복호 화상으로서 일시 기억한다. 또한, 프레임 메모리(210)는, 소정의 타이밍에 있어서, 또는 인트라 예측부(212)나 움직임 예측 보상부(213) 등의 외부의 요구에 기초하여, 복호 화상을, 예측 화상의 생성에 사용하는 참조 화상으로 하여, 선택부(211)에 공급한다.
선택부(211)는, 프레임 메모리(210)로부터 공급되는 참조 화상의 공급처를 선택한다. 선택부(211)는, 인트라 부호화된 화상을 복호하는 경우, 프레임 메모리(210)로부터 공급되는 참조 화상을 인트라 예측부(212)에 공급한다. 또한, 선택부(211)는, 인터 부호화된 화상을 복호하는 경우, 프레임 메모리(210)로부터 공급되는 참조 화상을 움직임 예측 보상부(213)에 공급한다.
인트라 예측부(212)는, 가역 복호부(202)로부터 공급되는 부호화 정보에 포함되는 예측 모드에 따라서, 도 9의 인트라 예측부(114)에 있어서 사용된 인트라 예측 모드에서, 프레임 메모리(210)로부터 선택부(211)를 통해서 공급되는 참조 화상을 사용해서 인트라 예측을 행한다. 그리고, 인트라 예측부(212)는, 인트라 예측에 의해 얻어지는 예측 화상을, 선택부(214)에 공급한다.
움직임 예측 보상부(213)는, 가역 복호부(202)로부터 공급되는 부호화 정보에 포함되는 예측 모드에 따라서, 도 9의 움직임 예측 보상부(115)에 있어서 사용된 인터 예측 모드에서, 프레임 메모리(210)로부터 선택부(211)를 통해서 공급되는 참조 화상을 사용해서 인터 예측을 행한다. 인터 예측은, 가역 복호부(202)로부터 공급되는 부호화 정보에 포함되는 움직임 정보 등을 필요에 따라서 사용해서 행해진다.
움직임 예측 보상부(213)는, 인터 예측에 의해 얻어지는 예측 화상을, 선택부(214)에 공급한다.
선택부(214)는, 인트라 예측부(212)로부터 공급되는 예측 화상, 또는 움직임 예측 보상부(213)로부터 공급되는 예측 화상을 선택하고, 연산부(205)에 공급한다.
<클래스 분류 적응 필터(206)의 구성예>
도 17은 도 16의 클래스 분류 적응 필터(206)의 구성예를 도시하는 블록도이다.
도 17에 있어서, 클래스 분류 적응 필터(206)는, 화상 변환 장치(231)를 갖는다.
화상 변환 장치(231)에는, 연산부(205)(도 16)로부터 복호 도중 화상이 공급됨과 함께, 가역 복호부(202)로부터 필터 정보로서의 클래스마다의 탭 계수 및 부호화 정보가 공급된다.
화상 변환 장치(231)는, 도 10의 화상 변환 장치(131)와 마찬가지로, 복호 도중 화상을 제1 화상으로 하여, 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 재배열 버퍼(207) 및 프레임 메모리(210)(도 16)에 공급한다.
또한, 화상 변환 장치(231)는, 클래스 분류 적응 처리에 있어서, 도 10의 화상 변환 장치(131)와 마찬가지로, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
<화상 변환 장치(231)의 구성예>
도 18은 도 17의 화상 변환 장치(231)의 구성예를 도시하는 블록도이다.
도 18에 있어서, 화상 변환 장치(231)는, 탭 선택부(241 및 242), 클래스 분류부(243), 계수 취득부(244), 그리고 예측 연산부(245)를 갖는다.
탭 선택부(241) 내지 예측 연산부(245)는, 화상 변환 장치(131)(도 11)를 구성하는 탭 선택부(21) 내지 예측 연산부(25)와 각각 마찬가지로 구성된다.
즉, 탭 선택부(241 및 242)에는, 연산부(205)(도 16)로부터 복호 도중 화상이 공급된다.
탭 선택부(241)는, 연산부(205)로부터의 복호 도중 화상을 제1 화상으로 하여, 복호 도중 화상의 화소를, 순차적으로, 주목 화소로 선택한다.
또한, 탭 선택부(241)는, 주목 화소에 대해서, 복호 도중 화상으로부터, 도 11의 탭 선택부(21)에서 선택되는 예측 탭과 동일 구조의 예측 탭을 선택하고, 예측 연산부(245)에 공급한다.
탭 선택부(242)는, 주목 화소에 대해서, 연산부(205)로부터의 복호 도중 화상을 제1 화상으로 하여, 복호 도중 화상의 화소로부터, 도 11의 탭 선택부(22)에서 선택되는 클래스 탭과 동일 구조의 클래스 탭을 선택하고, 클래스 분류부(243)에 공급한다.
클래스 분류부(243)에는, 탭 선택부(242)로부터 클래스 탭이 공급되는 것 외에, 가역 복호부(202)(도 16)로부터, 부호화 정보가 공급된다.
클래스 분류부(243)는, 탭 선택부(242)로부터의 클래스 탭 및 가역 복호부(202)로부터의 부호화 정보를 사용하여, 도 11의 클래스 분류부(23)와 동일한 클래스 분류를 행하고, 주목 화소의 클래스(를 나타내는 클래스 코드)를, 계수 취득부(244)에 공급한다.
계수 취득부(244)에는, 클래스 분류부(243)로부터 주목 화소의 클래스가 공급되는 것 외에, 가역 복호부(202)로부터 필터 정보로서의 클래스마다의 탭 계수가 공급된다.
계수 취득부(244)는, 가역 복호부(202)로부터 필터 정보로서의 클래스마다의 탭 계수가 공급되면, 기억하고 있는 탭 계수를, 가역 복호부(202)로부터 탭 계수로 갱신한다.
또한, 계수 취득부(244)는, 기억하고 있는 탭 계수로부터, 클래스 분류부(243)로부터의 주목 화소의 클래스의 탭 계수를 취득하고, 예측 연산부(245)에 공급한다.
예측 연산부(245)는, 탭 선택부(241)로부터의 예측 탭과, 계수 취득부(244)로부터의 탭 계수를 사용하여, 식 (1)의 예측 연산을 행하고, 복호 도중 화상의 주목 화소에 대응하는 원화상의 대응 화소의 화소값의 예측값을, 제2 화상으로서의 필터 후 화상의 화소의 화소값으로서 구하여 출력한다.
<복호 처리>
도 19는 도 16의 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
또한, 도 19에 나타내는 복호 처리의 각 스텝의 순서는, 설명의 편의상의 순서이며, 실제의 복호 처리의 각 스텝은, 적절히, 병렬적으로, 필요한 순서로 행해진다. 후술하는 복호 처리에 대해서도, 마찬가지이다.
복호 처리에서는, 스텝 S61에 있어서, 축적 버퍼(201)는, 부호화 장치(11)로부터 전송되어 오는 부호화 데이터를 일시 축적하고, 적절히, 가역 복호부(202)에 공급하고, 처리는 스텝 S62로 진행한다.
스텝 S62에서는, 가역 복호부(202)는, 축적 버퍼(201)로부터 공급되는 부호화 데이터를 수취해서 복호하고, 그 복호에 의해 얻어지는 양자화 계수를, 역양자화부(203)에 공급한다.
또한, 가역 복호부(202)는, 부호화 데이터의 복호에 의해, 부호화 정보나 필터 정보가 얻어진 경우, 필요한 부호화 정보를, 인트라 예측부(212)나 움직임 예측 보상부(213) 그 밖의 필요한 블록에 공급한다.
또한, 가역 복호부(202)는, 부호화 정보 및 필터 정보를, 클래스 분류 적응 필터(206)에 공급한다.
그 후, 처리는 스텝 S62로부터 스텝 S63으로 진행하고, 클래스 분류 적응 필터(206)는, 가역 복호부(202)로부터 필터 정보가 공급되었는지 여부를 판정한다.
스텝 S63에 있어서, 필터 정보가 공급되지 않았다고 판정된 경우, 처리는 스텝 S64를 스킵하고, 스텝 S65로 진행한다.
또한, 스텝 S63에 있어서, 필터 정보가 공급되었다고 판정된 경우, 처리는 스텝 S64로 진행하고, 클래스 분류 적응 필터(206)의 화상 변환 장치(231)(도 18)는, 계수 취득부(244)에, 가역 복호부(202)로부터의 필터 정보로서의 클래스마다의 탭 계수를 취득시켜서, 기억하고 있는 탭 계수를, 가역 복호부(202)로부터의 탭 계수로 갱신시킨다.
그리고, 처리는 스텝 S64로부터 스텝 S65로 진행하고, 역양자화부(203)는, 가역 복호부(202)로부터의 양자화 계수를 역양자화하고, 그 결과 얻어지는 변환 계수를, 역직교 변환부(204)에 공급하고, 처리는 스텝 S66으로 진행한다.
스텝 S66에서는, 역직교 변환부(204)는, 역양자화부(203)로부터의 변환 계수를 역직교 변환하고, 그 결과 얻어지는 잔차를, 연산부(205)에 공급하고, 처리는 스텝 S67로 진행한다.
스텝 S67에서는, 인트라 예측부(212) 또는 움직임 예측 보상부(213)가, 프레임 메모리(210)로부터 선택부(211)를 통해서 공급되는 참조 화상 및 가역 복호부(202)로부터 공급되는 부호화 정보를 사용하여, 예측 화상을 생성하는 예측 처리를 행한다. 그리고, 인트라 예측부(212) 또는 움직임 예측 보상부(213)는, 예측 처리에 의해 얻어지는 예측 화상을, 선택부(214)에 공급하고, 처리는 스텝 S67로부터 스텝 S68로 진행한다.
스텝 S68에서는, 선택부(214)는, 인트라 예측부(212) 또는 움직임 예측 보상부(213)로부터 공급되는 예측 화상을 선택하고, 연산부(205)에 공급하고, 처리는 스텝 S69로 진행한다.
스텝 S69에서는, 연산부(205)는, 역직교 변환부(204)로부터의 잔차와, 선택부(214)로부터의 예측 화상을 가산함으로써, 복호 도중 화상을 생성한다. 그리고, 연산부(205)는, 복호 도중 화상을, 클래스 분류 적응 필터(206), 또는 재배열 버퍼(207) 및 프레임 메모리(210)에 공급하고, 처리는 스텝 S69로부터 스텝 S70으로 진행한다.
연산부(205)로부터 클래스 분류 적응 필터(206)에, 복호 도중 화상이 공급되는 경우, 스텝 S70에 있어서, 클래스 분류 적응 필터(206)는, 연산부(205)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시한다. 복호 도중 화상에, 클래스 분류 적응 처리가 실시됨으로써, 부호화 장치(11)의 경우와 마찬가지로, 복호 도중 화상을 ILF에서 필터링하는 경우보다 원화상에 가까운 필터 후 화상이 구해진다.
클래스 분류 적응 필터(206)는, 클래스 분류 적응 처리에 의해 얻어지는 필터 후 화상을, 재배열 버퍼(207) 및 프레임 메모리(210)에 공급하고, 처리는 스텝 S70으로부터 스텝 S71로 진행한다.
스텝 S71에서는, 재배열 버퍼(207)는, 연산부(205)로부터 공급되는 복호 도중 화상, 또는 클래스 분류 적응 필터(206)로부터 공급되는 필터 후 화상을, 복호 화상으로서 일시 기억한다. 또한, 재배열 버퍼(207)는, 기억한 복호 화상을, 표시순으로 재배열하고, D/A 변환부(208)에 공급하고, 처리는 스텝 S71로부터 스텝 S72로 진행한다.
스텝 S72에서는, D/A 변환부(208)는, 재배열 버퍼(207)로부터의 복호 화상을 D/A 변환하고, 처리는 스텝 S73으로 진행한다. D/A 변환 후의 복호 화상은, 도시하지 않은 디스플레이에 출력되어 표시된다.
스텝 S73에서는, 프레임 메모리(210)는, 연산부(205)로부터 공급되는 복호 도중 화상, 또는 클래스 분류 적응 필터(206)로부터 공급되는 필터 후 화상을, 복호 화상으로서 기억하고, 복호 처리는 종료한다. 프레임 메모리(210)에 기억된 복호 화상은, 스텝 S67의 예측 처리에서, 예측 화상을 생성하는 기초가 되는 참조 화상으로서 사용된다.
도 20은 도 19의 스텝 S70에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(206)의 화상 변환 장치(231)(도 18)에서는, 스텝 S81에 있어서, 탭 선택부(241)가, 연산부(205)로부터 공급되는 복호 도중 화상(으로서의 블록)의 화소 중, 아직, 주목 화소로 되지 않은 화소 중 1개를, 주목 화소로서 선택하고, 처리는 스텝 S82로 진행한다.
스텝 S82에 있어서, 탭 선택부(241 및 242)가, 연산부(205)로부터 공급되는 복호 도중 화상으로부터, 주목 화소에 관한 예측 탭 및 클래스 탭으로 하는 화소를, 각각 선택한다. 그리고, 탭 선택부(241)는, 예측 탭을 예측 연산부(245)에 공급하고, 탭 선택부(242)는, 클래스 탭을, 클래스 분류부(243)에 공급한다.
그 후, 처리는 스텝 S82로부터 스텝 S83으로 진행하고, 클래스 분류부(243)는, 탭 선택부(242)로부터 공급되는 주목 화소에 관한 클래스 탭 및 가역 복호부(202)로부터 공급되는 주목 화소에 관한 부호화 정보를 사용하여, 도 15에서 설명한 경우와 마찬가지인, 주목 화소의 클래스 분류를 행한다.
클래스 분류부(243)는, 클래스 분류에 의해 얻어지는 주목 화소의 클래스를 나타내는 클래스 코드를 생성하고, 계수 취득부(244)에 공급하고, 처리는 스텝 S83으로부터 스텝 S84로 진행한다.
스텝 S84에서는, 계수 취득부(244)가, 클래스 분류부(243)로부터 공급되는 클래스 코드가 나타내는 클래스의 탭 계수를 취득하고, 예측 연산부(245)에 공급하고, 처리는 스텝 S85로 진행한다.
스텝 S85에서는, 예측 연산부(245)는, 탭 선택부(241)로부터의 예측 탭과, 계수 취득부(244)로부터의 탭 계수를 사용하여, 식 (1) 예측 연산을 행한다. 이에 의해, 예측 연산부(245)는, 주목 화소에 대응하는 원화상의 대응 화소의 화소값의 예측값을, 필터 후 화상의 화소값으로서 구하고, 처리는 스텝 S86으로 진행한다.
스텝 S86에서는, 탭 선택부(241)가, 연산부(205)로부터의 복호 도중 화상(으로서의 블록)의 화소 중에, 아직, 주목 화소로 하지 않은 화소가 있는지를 판정한다. 스텝 S86에 있어서, 아직, 주목 화소로 하지 않은 화소가 있다고 판정된 경우, 처리는 스텝 S81로 되돌아가서, 이하, 마찬가지 처리가 반복된다.
또한, 스텝 S86에 있어서, 아직, 주목 화소로 되지 않은 화소가 없다고 판정된 경우, 처리는 스텝 S87로 진행하고, 예측 연산부(245)는, 연산부(205)로부터의 복호 도중 화상(으로서의 블록)에 대하여 얻어진 화소값으로 구성되는 필터 후 화상을, 재배열 버퍼(207) 및 프레임 메모리(210)(도 9)에 공급한다. 그리고, 클래스 분류 적응 처리는 종료되고, 처리는 리턴한다.
이상과 같이, 부호화 장치(11) 및 복호 장치(12)에서는, ILF 처리를, 클래스 분류 적응 처리에 의해 행하므로, ILF의 처리 결과보다 원화상에 가까운 필터 후 화상을 얻을 수 있다. 그 결과, 복호 화상의 S/N을 크게 개선할 수 있다. 또한, 원화상에 가까운 필터 후 화상을 얻을 수 있는 점에서, 잔차가 작아져서, 탭 계수를 오버헤드로서 부호화 데이터에 포함시켜도, 특히, 4k나 8k 등이라고 불리는 데이터양이 많은 고해상도의 원화상에 대해서는, 압축 효율을, 크게 개선할 수 있다.
여기서, 도 9 등에서 설명한 바와 같이, ILF로서는, 예를 들어 DF, SAO 및 ALF가 있다.
DF는 양자화 파라미터 QP나, 블록의 경계의 화소인지 여부에 의해, 필터 강도를 제어함으로써, 블록 노이즈(변형)를 저감한다.
그러나, DF에서는, 블록에 적용할 수 있는 필터 강도가, 2종류로 적다. 또한, DF에서는, 필터 강도의 제어의 단위가 슬라이스이며, 화소마다 필터 강도를 제어할 수 없다.
SAO에서는, 에지 주변의 노이즈를 저감할지, 또는 DC 보정을 행할지의 필터 모드가, CTU마다 전환되고, 오프셋값을 화소마다 판정함으로써, 링잉의 저감이나 DC 보정이 행해진다.
그러나, SAO에서는, 필터 모드의 전환을, 화소마다 행하는 것이 곤란하다. 또한, SAO에서는, 노이즈의 저감과, DC 보정 중 어느 것의 처리밖에 행할 수 없고, 양쪽의 처리를 동시에 행할 수 없다.
ALF는, 에지의 방향과 액티비티를 사용하여, 15의 클래스로 분류하는 클래스 분류를 행하고, 클래스마다, 통계적으로 최적으로 만들어진 필터 계수에 의한 필터 처리를 행한다.
그러나, ALF에서는, 필터 처리의 단위가 4×4화소 단위이기 때문에, 화소마다, 그 화소의 주변의 파형 패턴이나 블록 위상에 따른 미세한 필터 강도의 제어를 행할 수 없다. 또한, ALF에서는, 클래스 분류의 대상으로 되는 클래스수가 15 클래스로 적기 때문에, 이러한 점에서도, 미세한 필터 강도의 제어를 행할 수 없다.
이에 비해, 클래스 분류 적응 처리에서는, 화소마다, ALF의 15 클래스보다 많은 클래스수를 대상으로 해서 클래스 분류를 행하여, 학습에 의해 얻어지는 통계적으로 최적의 탭 계수를 사용하여, 복호 도중 화상을 필터 후 화상으로 화상 변환하는 필터 처리를 행하므로, 기존의 ILF보다 화질(S/N)을, 크게 개선할 수 있다.
특히, 클래스 분류 적응 처리에서는, 화소마다, 그 화소의 주변의 파형 패턴을 표현하는 화상 특징량으로서의 ADRC 코드나, 다이내믹 레인지 등의 화상 특징량과, 양자화 파라미터 QP나, 픽처 타입, 블록 위상 등의 부호화 정보를 사용해서 클래스 분류를 행함으로써, 필터 후 화상으로서, 원화상에 매우 가까운 화상을 얻을 수 있다. 그 결과, 예측 부호화에 있어서, ILF를 사용하지 않는 경우는 물론, ILF를 사용하는 경우와 비교해도, 화상의 S/N 및 압축 효율을, 크게 개선할 수 있다.
<클래스 분류 적응 처리와, ILF 중 ALF와의 상이>
도 21은, 클래스 분류 적응 처리와, ILF 중 ALF와의, 클래스 분류 및 필터 처리의 상이를 설명하는 도면이다.
ALF에서는, 4×4화소의 소블록이, 에지의 방향과 액티비티를 사용하여, 15 클래스 중 어느 것으로 클래스 분류된다.
또한, ALF에서는, 4×4화소의 소블록이, 그 4×4화소의 소블록의 클래스 필터 계수를 사용해서 필터 처리된다.
또한, ALF의 필터 처리에서는, 필터 처리의 대상의 대상 화소에 대한 필터 계수를 중심으로 하여, 점대칭의 필터 계수가 사용된다.
즉, ALF의 필터 처리의 필터 계수는, 대상 화소, 대상 화소의 왼쪽에 인접한 2화소, 대상 화상의 오른쪽에 인접한 2화소, 대상 화소의 위쪽에 인접한 2화소, 대상 화소의 아래쪽에 인접한 2화소, 대상 화소의 왼쪽 위에 인접한 1화소, 대상 화소의 왼쪽 아래에 인접한 1화소, 대상 화소의 오른쪽 위에 인접한 1화소 및 대상 화소의 오른쪽 아래에 인접한 1화소의, 합계 13 화소에 대한 13개의 필터 계수로 구성된다.
그리고, 대상 화소의 위쪽에 인접한 2화소 중 먼 쪽의 화소에 대한 필터 계수와, 대상 화소의 아래쪽에 인접한 2화소 중 먼 쪽의 화소에 대한 필터 계수는, 동일한 계수 C0으로 된다.
대상 화소의 왼쪽 위에 인접한 화소에 대한 필터 계수와, 대상 화상의 오른쪽 아래에 인접한 화소에 대한 필터 계수는, 동일한 계수 C1로 된다.
대상 화소의 위쪽에 인접한 2화소 중 가까운 쪽의 화소에 대한 필터 계수와, 대상 화소의 아래쪽에 인접한 2화소 중 가까운 쪽의 화소에 대한 필터 계수는, 동일한 계수 C2로 된다.
대상 화소의 왼쪽 아래에 인접한 화소에 대한 필터 계수와, 대상 화상의 오른쪽 위에 인접한 화소에 대한 필터 계수는, 동일한 계수 C3으로 된다.
대상 화소의 왼쪽에 인접한 2화소 중 먼 쪽의 화소에 대한 필터 계수와, 대상 화소의 오른쪽에 인접한 2화소 중 먼 쪽의 화소에 대한 필터 계수는, 동일한 계수 C4로 된다.
대상 화소의 왼쪽에 인접한 2화소 중 가까운 쪽의 화소에 대한 필터 계수와, 대상 화소의 오른쪽에 인접한 2화소 중 가까운 쪽의 화소에 대한 필터 계수는, 동일한 계수 C5로 된다.
대상 화소에 대한 필터 계수는, 계수 C6으로 된다.
이상과 같이, ALF에서는, 4×4화소의 소블록이, 15 클래스라고 하는 적은 클래스로 클래스 분류되고, 또한 클래스마다의 필터 계수가, 점대칭이 되고 있으므로, 필터 처리의 효과가, 크게 제한된다.
또한, ALF에서는, 4×4화소의 소블록의 필터 처리에, 동일한 필터 계수가 사용되므로, 그 4×4화소 모두에, 동일한 (평균적인) 필터 처리의 효과가 발생한다.
한편, 클래스 분류 적응 처리에서는, 클래스 분류가, 화소마다 행해지고, 따라서, 필터 처리로서의 식 (1)의 예측 연산도, 화소마다 행해진다.
또한, 클래스 분류 적응 처리에서는, 에지의 방향이나 액티비티에 제한되지 않고, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보를 사용하여, 주목 화소의 주변의 파형 패턴이나, 블록 내의 주목 화소의 위치에 따라서, 주목 화소를 클래스 분류할 수 있다.
또한, 클래스 분류의 클래스수는, 클래스 탭으로 하는 화소의 수나, 클래스 분류에 사용하는 부호화 정보의 정보 코드(도 15)로의 변환의 방법 등에 의해, 탭 계수의 데이터양과, 복호 화상(필터 후 화상)의 S/N 및 압축 효율을 고려하여, 임의의 수로 설계할 수 있다.
예를 들어, 지금 설명을 간단하게 하기 위해서, 클래스 탭을 8화소로 구성하고, 1비트 ADRC 처리에 의해 얻어지는 파형 패턴을 나타내는 ADRC 코드로 클래스 분류를 행하는 것으로 하면, 클래스수는 256 클래스가 된다.
또한, 클래스 분류 적응 처리에서는, 필터 처리로서의 식 (1)의 예측 연산에 사용하는 탭 계수에 대해서, ALF와 같은 점대칭의 제약이나, 필터 계수를 13개로 하는 제약은 없고, 그 때문에, 필터 후 화상의, 원화상에 대한 통계적인 오차를, ALF보다 작게 하는 탭 계수를, 학습에 의해 구할 수 있다.
또한, 클래스 분류 적응 처리에서는, 예를 들어 탭 계수의 데이터양과, 복호 화상의 S/N 및 압축 효율을 고려하여, 탭 계수의 수, 즉 예측 탭을 구성하는 화소의 수나, 예측 탭의 구조를 설계할 수 있다.
또한, 클래스 분류 적응 처리에서는, 주목 화소의 프레임뿐만 아니라, 그 프레임의 전후의 프레임의 화소도 포함시켜서, 예측 탭을 구성할 수 있다.
이상과 같이, 클래스 분류 적응 처리에서는, 화소마다, 클래스 분류 및 필터 처리로서의 식 (1)의 예측 연산이 행해지므로, 화소마다, 그 화소에 적합한 필터 처리의 효과를 발생시킬 수 있다.
그 결과, 예를 들어 에지나 텍스처를 너무 찌부러뜨리지 않고, NR(Noise Reduction)의 효과를 발생시키는 것이나, 링잉을 억제할 수 있다.
또한, 클래스 분류 적응 처리에서는, 예를 들어 클래스 분류를, 블록 위상 등의 부호화 정보를 사용해서 행함으로써, 주목 화소가 블록의 경계의 화소인지 여부에 의해, NR의 효과를 조정할 수 있다.
또한, 클래스 분류 적응 처리에서는, 예를 들어 주목 화소의 프레임뿐만 아니라, 그 프레임의 전후의 프레임의 화소도 포함시켜서, 예측 탭을 구성함으로써, 모션 블러 등의 움직임에 기인하는 화질의 열화를 개선할 수 있다.
도 22는, 클래스 분류 적응 처리와, ILF 중 ALF와의 클래스 분류 및 필터 처리의 상이에 의해 발생하는 효과의 상이를 설명하는 도면이다.
ALF에서는, 4×4화소의 소블록마다, 에지 및 액티비티를 사용하여, 클래스 분류가 행해지고, 그 클래스 분류에 의해 얻어지는 클래스의 필터 계수를 사용하여, 4×4화소의 소블록의 각 화소의 필터 처리가 행해진다.
그 때문에, 에지 부분과 평탄 부분이 혼재하는 경우에, 평탄 부분의 노이즈를 제거하는 반면에, 에지 부분을 둔하게 하는(디테일을 찌부러뜨리는) 것이나, 반대로, 에지 부분을 유지하지만, 평탄 부분의 노이즈를 충분히 제거할 수 없는 경우가 있다.
또한, ALF에서는, 부호화 처리(복호 처리)의 대상으로 되는 부호화 블록(PU나 CU 등) 내에 있어서의 화소의 위치(블록 위상)를 고려한 클래스 분류는 행해지지 않기 때문에, 부호화 블록의 경계 화소에서 발생하는 블록 변형을 제거하는 필터 계수와, 경계 이외의 위치의 화소에 발생하는, 블록 변형 이외의 노이즈를 제거하는 필터 계수가, 다른 클래스의 필터 계수로서 준비되지 않는다.
그 때문에, 블록 변형이 발생하고 있는 화소에, 그 블록 변형을 제거하는 데 적절한 필터 처리가 실시된다고는 할 수 없다. 마찬가지로, 블록 변형 이외의 노이즈가 발생하고 있는 화소에, 그 노이즈를 제거하는 데 적절한 필터 처리가 실시된다고는 할 수 없다.
이에 비해, 클래스 분류 적응 처리에서는, 화소마다, 클래스 탭에서 얻어지는 화상 특징량으로서의 파형 패턴에 의해 클래스 분류를 행하고, 그 클래스 분류에 의해 얻어지는 클래스의 탭 계수를 사용하여, 필터 처리로서의 식 (1)의 예측 연산을, 화소마다 행할 수 있다.
따라서, 에지 부분의 화소에 대해서는, 그 에지 부분을 유지하고(디테일을 남기고), 평탄 부분의 화소에 대해서는, 노이즈를 충분히 제거할 수 있다.
또한, 클래스 분류 적응 처리에서는, 화소마다, 부호화 정보로서의 블록 위상에 의해 클래스 분류를 행하고, 그 클래스 분류에 의해 얻어지는 클래스의 탭 계수를 사용하여, 필터 처리로서의 식 (1)의 예측 연산을, 화소마다 행할 수 있다.
따라서, 블록 변형이 발생하고 있는 화소에, 그 블록 변형을 제거하는 데 적절한 필터 처리를 실시함과 함께, 블록 변형 이외의 노이즈가 발생하고 있는 화소에, 그 노이즈를 제거하는 데 적절한 필터 처리를 실시할 수 있다.
여기서, 본 기술에서는, 클래스 분류 적응 처리가, 부호화 장치(11) 및 복호 장치(12) 내에서 취급되는 복호 도중 화상을 대상으로 해서 행해지므로, 블록 위상, 나아가, 블록 위상을 특정하는 데 필요한 부호화 블록에 관한 정보(예를 들어, 부호화 블록의 사이즈나, 부호화 블록의 경계 등)는, 부호화 처리나 복호 처리에 있어서 얻을 수 있다.
또한, 예를 들어 일본특허 제4770711호 공보에는, MPEG 디코더가 출력하는 복호 화상을, 블록 위상을 사용한 클래스 분류 적응 처리에 의해 고화질화하는 기술이 기재되어 있다. 일본특허 제4770711호 공보에 기재된 기술에서는, MPEG 디코더의 외부에서, MPEG 디코더가 출력하는 복호 화상을 대상으로 한 클래스 분류 적응 처리가 행해지기 때문에, 부호화 블록에 관한 정보는, 미리 정하거나, 또는 어떠한 방법으로 검출할 필요가 있다.
도 23은, 클래스 분류 적응 처리의 예측 탭 및 클래스 탭과, ILF 중 ALF의 필터 계수에 대한 화소와의 상이를 설명하는 도면이다.
ALF의 13개의 필터 계수는, 지금 부호화의 대상으로 되어 있는 1 프레임인 주목 프레임 내의 화소에 대한 필터 계수이고, 다른 프레임의 화소에 대한 필터 계수는, 존재하지 않는다.
따라서, ALF의 필터 처리는, 주목 프레임 내의 화소(의 화소값)만을 사용해서 행해지므로, 모션 블러 등의 움직임에 기인하는 화질의 열화를 개선하는 것은 곤란하다.
한편, 클래스 분류 적응 처리에서는, 예측 탭이나 클래스 탭에는, 주목 프레임(도 23에서는, 프레임 T) 내의 화소 외에, 다른 프레임(도 23에서는, 프레임 T-1이나 프레임 T+1)의 화소를 포함시킬 수 있다.
즉, 클래스 분류 적응 처리에서는, 주목 프레임의 주목 화소로부터, 움직임 벡터만큼 이동한 위치의, 주목 프레임에 인접한 인접 프레임의 화소나, 그 화소의 주변 화소 등을, 예측 탭이나 클래스 탭에 포함시킬 수 있다.
따라서, 클래스 분류 적응 처리에서는, 주목 프레임의 화소와, 인접 프레임의 화소로부터, 클래스 탭이나 예측 탭을 구성하고, 클래스 분류나, 필터 처리로서의 식 (1)의 예측 연산을 행할 수 있으므로, 모션 블러 등의 움직임에 기인하는 화질의 열화를 개선할 수 있다.
<탭 계수의 삭감>
도 24는, 학습에 의해 얻어지는 탭 계수를 삭감하는 삭감 방법의 예를 설명하는 도면이다.
탭 계수는, 부호화 데이터의 오버헤드가 되기 때문에, 필터 후 화상이 원화상에 매우 가까운 화상이 되는 탭 계수가 얻어져도, 탭 계수의 데이터양이 많으면, 압축 효율의 개선의 방해가 된다.
그래서, 학습에 의해 얻어지는 탭 계수(의 수)는, 필요에 따라서 삭감할 수 있다.
예를 들어, 도 12에 도시한 바와 같이, 주목 화소를 중심으로 하는 십자형의 9 화소로, 클래스 탭을 구성하고, 1비트 ADRC 처리에 의한 클래스 분류를 행하는 경우에는, 예를 들어 최상위 비트(주목 화소의 ADRC 결과)가 1인 ADRC 코드에 대해서, 각 비트의 반전을 행함으로써, 클래스수를, 512=29 클래스로부터 256=28 클래스로 축퇴할 수 있다. 클래스의 축퇴 후의 256 클래스에서는, 9 화소의 클래스 탭(의 1비트 ADRC 처리)의 ADRC 코드를 그대로 클래스 코드로 하는 경우에 비교하여 탭 계수의 데이터양이 1/2로 삭감된다.
또한, 클래스 탭을 구성하는 십자형의 9 화소 중, 상하 방향, 좌우 방향, 또는 경사 방향으로 선대칭의 위치 관계에 있는 화소의 ADRC 결과가 동일한 클래스끼리를, 1개의 클래스로 통합하는 클래스의 축퇴를 행함으로써, 클래스수는, 100 클래스로 할 수 있다. 이 경우, 100 클래스의 탭 계수의 데이터양은, 256 클래스의 탭 계수의 데이터양의 약 39%가 된다.
또한, 이상에 더하여, 클래스 탭을 구성하는 십자형의 9 화소 중, 점대칭의 위치 관계에 있는 화소의 ADRC 결과가 동일한 클래스끼리를, 1개의 클래스로 통합하는 클래스의 축퇴를 행함으로써, 클래스수는, 55 클래스로 할 수 있다. 이 경우, 55 클래스의 탭 계수의 데이터양은, 256 클래스의 탭 계수의 데이터양의 약 21%가 된다.
탭 계수의 삭감은, 이상과 같이, 클래스의 축퇴에 의해 행하는 것 외에, 탭 계수 자체를 삭감함으로써 행할 수도 있다.
즉, 예를 들어 예측 탭 및 부호화 블록이 동일한 화소로 구성되는 경우에는, 블록 위상에 기초하여, 탭 계수 자체를 삭감할 수 있다.
예를 들어, 예측 탭 및 부호화 블록이, 4×4화소로 구성되는 경우에는, 예측 탭의 왼쪽 위의 2×2화소와 좌우 방향으로 선대칭의 위치 관계에 있는 오른쪽 위의 2×2화소, 상하 방향으로 선대칭의 위치 관계에 있는 왼쪽 아래의 2×2화소 및 점대칭의 위치 관계에 있는 오른쪽 아래의 2×2화소의 탭 계수로서, 왼쪽 위의 2×2화소 각각의 탭 계수를 위치 관계에 따라서 다시 배치한 탭 계수를 채용할 수 있다. 이 경우, 예측 탭을 구성하는 4×4화소에 대한 16개의 탭 계수를, 왼쪽 위의 2×2화소에 대한 4개의 탭 계수로 삭감할 수 있다.
또한, 예측 탭의 상반부의 4×2화소와 상하 방향으로 선대칭의 위치 관계에 있는 하반부의 4×2화소의 탭 계수로서, 상반부의 4×2화소 각각의 탭 계수를 위치 관계에 따라서 다시 배치한 탭 계수를 채용할 수 있다. 이 경우, 예측 탭을 구성하는 4×4화소에 대한 16개의 탭 계수를, 상반부의 4×2화소에 대한 8개의 탭 계수로 삭감할 수 있다.
그 밖에, 예측 탭의 좌우 방향으로 선대칭의 위치 관계에 있는 화소끼리나, 경사 방향으로 선대칭의 위치 관계에 있는 화소끼리의 탭 계수로서, 동일한 탭 계수를 채용함으로써, 탭 계수를 삭감할 수 있다.
또한, 이상과 같은 블록 위상에 기초하는 탭 계수의 삭감을 마구 행하면, 그 삭감 후의 탭 계수에 의해 얻어지는 필터 후 화상의 S/N이 저하된다(원화상에 대한 오차가 증가한다).
그래서, 블록 위상에 기초하는 탭 계수의 삭감은, 예를 들어 클래스 분류에 사용하는 ADRC 코드에 의해, 예측 탭을 구성하는 화소의 파형 패턴을 해석하고, 그 파형 패턴이 공간적인 대칭성을 갖는 경우에는, 그 대칭성이 있는 위치 관계에 있는, 예측 탭으로서의 화소끼리에 대해서는, 동일한 탭 계수를 채용할 수 있다.
즉, 예를 들어 클래스 탭이, 2×2화소로 구성되고, 그 클래스 탭의 화소 ADRC 결과를, 래스터 스캔순으로 배열한 ADRC 코드가, 1001인 경우에는, 점대칭의 대칭성이 있다고 간주하여, 점대칭의 위치 관계에 있는 예측 탭으로서의 화소끼리의 탭 계수로서, 동일한 탭 계수를 채용할 수 있다.
<부호화 장치(11)의 제2 구성예>
도 25는, 도 1의 부호화 장치(11)의 제2 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 9의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 25에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117), 클래스 분류 적응 필터(261), 적응 오프셋부(262) 및 적응 루프 필터(263)를 갖는다.
따라서, 도 25의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 9의 경우와 공통된다.
단, 도 25의 부호화 장치(11)는, 클래스 분류 적응 필터(111)를 대신해서, 클래스 분류 적응 필터(261)를 갖는 점, 그리고 적응 오프셋부(262) 및 적응 루프 필터(263)를 새롭게 갖는 점에서, 도 9의 경우와 상이하다.
클래스 분류 적응 필터(261)는, 도 9의 클래스 분류 적응 필터(111)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(261)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, DF만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(111)와 상이하다.
도 25에 있어서, 클래스 분류 적응 필터(261)에는, 연산부(110)로부터 복호 도중 화상이 공급된다.
클래스 분류 적응 필터(261)는, 연산부(110)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 DF의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 적응 오프셋부(262)에 공급한다.
적응 오프셋부(262)는, 클래스 분류 적응 필터(261)로부터의 필터 후 화상에, SAO의 처리를 행하고, 적응 루프 필터(263)에 공급한다.
적응 루프 필터(263)는, 적응 오프셋부(262)로부터의 필터 후 화상에, ALF의 처리를 행하고, 프레임 메모리(112)에 공급한다.
도 25의 부호화 장치(11)에서는, 클래스 분류 적응 필터(261)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 DF의 처리가 행해진다. 그리고, 적응 오프셋부(262)에 있어서, SAO의 처리가 행해지고, 적응 루프 필터(263)에 있어서, ALF의 처리가 행해진다.
또한, 적응 오프셋부(262)에서는, SAO의 처리에 필요한 SAO 정보가, 가역 부호화부(106)에 공급되고, 부호화 데이터에 포함시킬 수 있다.
이상의 점을 제외하고, 도 25의 부호화 장치(11)에서는, 도 9의 경우와 마찬가지 처리가 행해진다.
<복호 장치(12)의 제2 구성예>
도 26은, 도 1의 복호 장치(12)의 제2 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 16의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 26에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214), 클래스 분류 적응 필터(271), 적응 오프셋부(272) 및 적응 루프 필터(273)를 갖는다.
따라서, 도 26의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 16의 경우와 공통된다.
단, 도 26의 복호 장치(12)는, 클래스 분류 적응 필터(206)를 대신하여, 클래스 분류 적응 필터(271)를 갖는 점, 그리고 적응 오프셋부(272) 및 적응 루프 필터(273)를 새롭게 갖는 점에서, 도 16의 경우와 상이하다.
클래스 분류 적응 필터(271)는, 도 16의 클래스 분류 적응 필터(206)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(271)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, DF만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(206)와 상이하다.
도 26에 있어서, 클래스 분류 적응 필터(271)에는, 연산부(205)로부터 복호 도중 화상이 공급된다.
클래스 분류 적응 필터(271)는, 연산부(205)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 DF의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 적응 오프셋부(272)에 공급한다.
적응 오프셋부(272)는, 클래스 분류 적응 필터(271)로부터의 필터 후 화상에, SAO의 처리를 행하고, 적응 루프 필터(273)에 공급한다.
적응 루프 필터(273)는, 적응 오프셋부(272)로부터의 필터 후 화상에, ALF의 처리를 행하고, 재배열 버퍼(207) 및 프레임 메모리(210)에 공급한다.
도 26의 복호 장치(12)에서는, 도 25의 부호화 장치(11)에서 얻어지는 부호화 데이터가 복호된다.
즉, 클래스 분류 적응 필터(271)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 DF의 처리가 행해진다. 그리고, 적응 오프셋부(272)에 있어서, SAO의 처리가 행해지고, 적응 루프 필터(273)에 있어서, ALF의 처리가 행해진다.
또한, 적응 오프셋부(272)에는, 가역 복호부(202)로부터, 부호화 데이터에 포함되는 SAO 정보가 공급된다. 적응 오프셋부(272)에서는, 가역 복호부(202)로부터의 SAO 정보를 사용하여, SAO의 처리가 행해진다.
이상의 점을 제외하고, 도 26의 복호 장치(12)에서는, 도 16의 경우와 마찬가지 처리가 행해진다.
<부호화 장치(11)의 제3 구성예>
도 27은, 도 1의 부호화 장치(11)의 제3 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 9 또는 도 25의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 27에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117), 적응 루프 필터(263), 디블록 필터(281) 및 클래스 분류 적응 필터(282)를 갖는다.
따라서, 도 27의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 9의 경우와 공통된다.
단, 도 27의 부호화 장치(11)는, 클래스 분류 적응 필터(111)를 대신하여, 클래스 분류 적응 필터(282)를 갖는 점 및 도 25의 적응 루프 필터(263)를 새롭게 가짐과 함께, 디블록 필터(281)를 새롭게 갖는 점에서, 도 9의 경우와 상이하다.
도 27에 있어서, 디블록 필터(281)에는, 연산부(110)로부터 복호 도중 화상이 공급된다.
디블록 필터(281)는, 연산부(110)로부터의 복호 도중 화상에 DF의 처리를 행하고, 클래스 분류 적응 필터(282)에 공급한다.
클래스 분류 적응 필터(282)는, 도 9의 클래스 분류 적응 필터(111)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(282)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, SAO만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(111)와 상이하다.
클래스 분류 적응 필터(282)는, 디블록 필터(281)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 SAO의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 적응 루프 필터(263)에 공급한다.
도 27의 부호화 장치(11)에서는, 디블록 필터(281)에 있어서, DF의 처리가 행해진다. 또한, 클래스 분류 적응 필터(282)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 SAO의 처리가 행해진다. 그리고, 적응 루프 필터(263)에 있어서, ALF의 처리가 행해진다.
이상의 점을 제외하고, 도 27의 부호화 장치(11)에서는, 도 9의 경우와 마찬가지 처리가 행해진다.
<복호 장치(12)의 제3 구성예>
도 28은, 도 1의 복호 장치(12)의 제3 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 16 또는 도 26의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 28에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214), 적응 루프 필터(273), 디블록 필터(291) 및 클래스 분류 적응 필터(292)를 갖는다.
따라서, 도 28의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 16의 경우와 공통된다.
단, 도 28의 복호 장치(12)는, 클래스 분류 적응 필터(206)를 대신하여, 클래스 분류 적응 필터(292)를 갖는 점, 그리고 도 26의 적응 루프 필터(273)를 새롭게 가짐과 함께, 디블록 필터(291)를 새롭게 갖는 점에서, 도 16의 경우와 상이하다.
도 28에 있어서, 디블록 필터(291)에는, 연산부(205)로부터 복호 도중 화상이 공급된다.
디블록 필터(291)는, 연산부(205)로부터의 복호 도중 화상에, DF의 처리를 행하고, 클래스 분류 적응 필터(291)에 공급한다.
클래스 분류 적응 필터(292)는, 도 16의 클래스 분류 적응 필터(206)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(292)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, SAO만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(206)와 상이하다.
클래스 분류 적응 필터(292)는, 디블록 필터(291)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 SAO의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 적응 루프 필터(273)에 공급한다.
도 28의 복호 장치(12)에서는, 도 27의 부호화 장치(11)에서 얻어지는 부호화 데이터가 복호된다.
즉, 디블록 필터(291)에 있어서, DF의 처리가 행해진다. 또한, 클래스 분류 적응 필터(292)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 SAO의 처리가 행해진다. 그리고, 적응 루프 필터(273)에 있어서, ALF의 처리가 행해진다.
이상의 점을 제외하고, 도 28의 복호 장치(12)에서는, 도 16의 경우와 마찬가지 처리가 행해진다.
<부호화 장치(11)의 제4 구성예>
도 29는, 도 1의 부호화 장치(11)의 제4 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 9, 도 25, 또는 도 27의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 29에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117), 적응 오프셋부(262), 디블록 필터(281) 및 클래스 분류 적응 필터(311)를 갖는다.
따라서, 도 29의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 9의 경우와 공통된다.
단, 도 29의 부호화 장치(11)는, 클래스 분류 적응 필터(111)를 대신해서, 클래스 분류 적응 필터(311)를 갖는 점 및 도 25의 적응 오프셋부(262)를 새롭게 가짐과 함께, 도 27의 디블록 필터(281)를 새롭게 갖는 점에서, 도 9의 경우와 상이하다.
도 29에 있어서, 클래스 분류 적응 필터(311)에는, 적응 오프셋부(262)로부터, SAO의 처리 후의 복호 도중 화상이 공급된다.
클래스 분류 적응 필터(311)는, 도 9의 클래스 분류 적응 필터(111)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(311)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, ALF만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(111)와 상이하다.
클래스 분류 적응 필터(311)는, 적응 오프셋부(262)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 SAO의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 프레임 메모리(112)에 공급한다.
도 29의 부호화 장치(11)에서는, 디블록 필터(281)에 있어서, DF의 처리가 행해진다. 또한, 적응 오프셋부(262)에 있어서, SAO의 처리가 행해진다. 그리고, 클래스 분류 적응 필터(311)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 ALF의 처리가 행해진다.
또한, 적응 오프셋부(262)에서는, 도 25에서 설명한 바와 같이, SAO의 처리에 필요한 SAO 정보가, 가역 부호화부(106)에 공급되고, 부호화 데이터에 포함시킬 수 있다.
이상의 점을 제외하고, 도 29의 부호화 장치(11)에서는, 도 9의 경우와 마찬가지 처리가 행해진다.
<복호 장치(12)의 제4 구성예>
도 30은, 도 1의 복호 장치(12)의 제4 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 16, 도 26, 또는 도 28의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 30에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214), 적응 오프셋부(272), 디블록 필터(291) 및 클래스 분류 적응 필터(321)를 갖는다.
따라서, 도 30의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 16의 경우와 공통된다.
단, 도 30의 복호 장치(12)는, 클래스 분류 적응 필터(206)를 대신하여, 클래스 분류 적응 필터(321)를 갖는 점, 그리고 도 26의 적응 오프셋부(272)를 새롭게 가짐과 함께, 도 28의 디블록 필터(291)를 새롭게 갖는 점에서, 도 16의 경우와 상이하다.
도 30에 있어서, 클래스 분류 적응 필터(321)에는, 적응 오프셋부(272)로부터, SAO의 처리 후의 복호 도중 화상이 공급된다.
클래스 분류 적응 필터(321)는, 도 16의 클래스 분류 적응 필터(206)와 마찬가지로 구성된다. 단, 클래스 분류 적응 필터(321)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두가 아니고, ALF만으로서 기능하는 필터인 점에서, ILF 전체로서 기능하는 클래스 분류 적응 필터(206)와 상이하다.
클래스 분류 적응 필터(321)는, 적응 오프셋부(272)로부터의 복호 도중 화상에, 클래스 분류 적응 처리에 의한 ALF의 처리를 실시하고, 그 결과 얻어지는 필터 후 화상을, 재배열 버퍼(297) 및 프레임 메모리(210)에 공급한다.
도 30의 복호 장치(12)에서는, 도 29의 부호화 장치(11)에서 얻어지는 부호화 데이터가 복호된다.
즉, 디블록 필터(291)에 있어서, DF의 처리가 행해진다. 또한, 적응 오프셋부(272)에 있어서, SAO의 처리가 행해진다. 그리고, 클래스 분류 적응 필터(321)에 있어서, 클래스 분류 적응 처리에 의해, ILF 중 ALF의 처리가 행해진다.
또한, 적응 오프셋부(272)에는, 가역 복호부(202)로부터, 부호화 데이터에 포함되는 SAO 정보가 공급된다. 적응 오프셋부(272)에서는, 가역 복호부(202)로부터의 SAO 정보를 사용하여, SAO의 처리가 행해진다.
이상의 점을 제외하고, 도 30의 복호 장치(12)에서는, 도 16의 경우와 마찬가지 처리가 행해진다.
이상과 같이, 클래스 분류 적응 처리에 의하면, ILF 전체의 기능을 실현할 수도 있고, ILF 중, DF, SAO, 또는 ALF의 기능을 실현할 수도 있다.
또한, 클래스 분류 적응 처리에 의하면, DF, SAO 및 ALF 중 2 이상의 기능을 실현할 수도 있다.
즉, 클래스 분류 적응 처리에 의하면, DF, SAO 및 ALF 중 하나 이상의 기능을 실현할 수 있다.
그리고, 클래스 분류 적응 처리에 의해, DF, SAO 및 ALF 중 하나 이상의 기능을 실현함으로써, 예측 화상의 예측에 사용되는 참조 화상이 되는 필터 후 화상으로 하고, S/N이 좋은 화상, 즉 원화상에 매우 가까운 화상을 얻을 수 있고, 또한 잔차를 매우 작게 할 수 있다. 따라서, S/N 및 압축 효율을, 크게 개선할 수 있다.
또한, 클래스 분류 적응 처리에 의해, DF, SAO 및 ALF 중 2 이상의 기능을 실현함으로써, DF, SAO 및 ALF의 모두를, ILF로서 설치하는 경우에 비교하여 연산 비용을 저감할 수 있다.
또한, 이하에서는, 클래스 분류 적응 처리에 의해, ILF 전체의 기능을 실현하는 경우를 예로 들어 설명을 행하지만, 이하에서 설명하는 실시 형태에서도, 클래스 분류 적응 처리에 의해, DF, SAO 및 ALF 중 임의의 1 또는 2의 기능을 실현할 수 있다.
<부가 클래스>
도 31은, 부가 클래스의 개요를 설명하는 도면이다.
부호화 장치(11) 및 복호 장치(12)의 제1 내지 제4 구성예에서는, 복호 도중 화상에서 얻어지는 클래스 탭(의 화상 특징량)이나, 부호화 데이터에 포함시킬 수 있는 부호화 정보를 사용하여, 클래스 분류가 행해진다.
즉, 부호화 장치(11) 및 복호 장치(12)의 제1 내지 제4 구성예에서는, 부호화 장치(11) 및 복호 장치(12)의 어느 것이든 취득할 수 있는 취득 가능 정보를 사용하여, 클래스 분류가 행해진다.
그런데, 클래스 분류 적응 처리에 대해서는, 보다 원화상에 가까운 필터 후 화상을 얻는 관점에서는, 클래스 분류에, 원화상을 사용하는 것이 바람직하다. 또한, 부호화 데이터에 포함시킬 수 없는, 예를 들어 목표 부호량 등의 부호화 정보나, 부호화로 상실되는 정보를 사용하여, 클래스 분류를 행함으로써, 보다 원화상에 가까운 필터 후 화상을 얻을 수 있는 클래스 분류를 행하는 일이 있을 수 있다.
그러나, 원화상이나, 부호화 데이터에 포함시킬 수 없는 부호화 정보, 부호화로 상실되는 정보는, 복호 장치(12)측에서 취득할 수 없는 취득 불가능 정보이며, 취득 불가능 정보를 사용한 클래스 분류는, 부호화 장치(11)로 행할 수는 있어도, 복호 장치(12)에서 행할 수 없다.
그래서, 부호화 장치(11)에 있어서, 취득 불가능 정보를 사용해서 클래스 분류를 행하는 경우에는, 그 클래스 분류에 의해 얻어지는 클래스를, 부가 클래스로서 전송한다. 그리고, 복호 장치(12)에서는, 부호화 장치(11)로부터 전송되어 오는 부가 클래스를 사용하여, 클래스 분류 적응 처리를 행한다.
즉, 부호화 장치(11)에서는, 복호 도중 화상에서 얻어지는 클래스 탭이나, 부호화 데이터에 포함시킬 수 있는 부호화 정보 등의 취득 가능 정보를 사용하여, 클래스 분류를 행하여, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 부호화 장치(11)에서는, 원화상이나 부호화 데이터에 포함시킬 수 없는 부호화 정보 등의 취득 불가능 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제2 클래스로서의 부가 클래스를 구한다.
그리고, 부호화 장치(11)에서는, 통상 클래스 및 부가 클래스로부터, 주목 화소의 최종적인 클래스를 구하고, 그 최종적인 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값(주목 화소에 대응하는 원화상의 화소의 화소값의 예측값)을 구한다.
또한, 부호화 장치(11)에서는, 탭 계수와 함께, 부가 클래스(를 나타내는 클래스 코드)를, 필터 정보로서 전송한다.
복호 장치(12)에서는, 취득 가능 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 복호 장치(12)에서는, 부호화 장치(11)로부터 전송되어 오는 탭 계수와, 주목 화소의 제2 클래스로서의 부가 클래스를 취득한다.
그리고, 복호 장치(12)에서는, 부호화 장치(11)와 마찬가지로, 통상 클래스 및 부가 클래스로부터, 주목 화소의 최종적인 클래스를 구하고, 그 최종적인 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값을 구한다.
도 31에서는, 부호화 장치(11)에 있어서, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭을 사용하여, 주목 화소가, 8비트의 클래스 코드로 표현되는 통상 클래스로 클래스 분류된다.
또한, 부호화 장치(11)에서는, 취득 불가능 정보로서의 원화상의, 주목 화소에 대응하는 대응 화소가 포함되는 CU나, CTU, 슬라이스 등의 소정의 단위를 사용하여, 주목 화소가, 2비트의 클래스 코드로 표현되는 부가 클래스로 클래스 분류된다.
또한, 부호화 장치(11)에서는, 8비트의 통상 클래스를 나타내는 클래스 코드의 상위 비트에, 2비트의 부가 클래스를 나타내는 클래스 코드를 부가함으로써, 10비트의 클래스 코드로 표현되는 클래스가, 최종적인 클래스로서 구해진다.
그리고, 부호화 장치(11)에서는, 10비트의 클래스 코드로 표현되는 최종적인 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값이 구해진다.
또한, 부호화 장치(11)에서는, 10비트의 클래스 코드로 표현되는 최종적인 클래스마다의 탭 계수와, 2비트의(클래스 코드로 표현된다)부가 클래스가 전송된다.
여기서, 상술한 경우에는, 통상 클래스(를 나타내는 클래스 코드)의 상위 비트에, 부가 클래스(를 나타내는 클래스 코드)를 부가함으로써, 최종적인 클래스(를 나타내는 클래스 코드)를 생성하는 것으로 하였지만, 통상 클래스 및 부가 클래스로부터, 최종적인 클래스를 생성하는 방법은, 이것에 한정되는 것은 아니다.
즉, 통상 클래스 및 부가 클래스로부터, 최종적인 클래스를 생성하는 방법은, 미리 정해 둘 필요는 있지만, 임의의 방법을 채용할 수 있다. 예를 들어, 최종적인 클래스는, 통상 클래스의 하위 비트에, 부가 클래스를 부가함으로써 생성할 수 있다.
복호 장치(12)에서는, 부호화 장치(11)로부터 전송되어 오는 최종적인 클래스마다의 탭 계수와 2비트의 부가 클래스가 취득된다.
또한, 복호 장치(12)에서는, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭을 사용하여, 주목 화소가, 8비트의(클래스 코드로 표현되는) 통상 클래스로 클래스 분류된다.
또한, 복호 장치(12)에서는, 부호화 장치(11)와 마찬가지로, 8비트의 통상 클래스와, 부호화 장치(11)로부터 전송되어 오는 2비트의 부가 클래스로부터, 10비트의(클래스 코드로 표현되는) 최종적인 클래스가 구해지고, 그 최종적인 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값이 구해진다.
또한, 취득 불가능 정보를 사용한 클래스 분류로서는, 예를 들어 취득 불가능 정보로서의 원화상의 액티비티 등의 화상 특징량을 사용한 클래스 분류를 채용할 수 있다.
원화상의 액티비티로서는, 예를 들어 주목 화소에 대응하는 원화상의 화소를 포함하는 CU나, CTU, 슬라이스 등의 소정의 영역(이하, 특정 영역이라고도 한다)에 포함되는 화소에 대해서, 인접하는 화소의 화소값의 차분 절댓값 합을, 차분의 개수로 정규화해서 얻어지는 값 등을 채용할 수 있다.
또한, 취득 불가능 정보로서의 원화상의 화상 특징량으로서는, 주목 화소에 대응하는 원화상의 대응 화소끼리의 화소값의 프레임간 차분이나, 원화상의 특정 영역과, 그 특정 영역에 대응하는 복호 도중 화상의 영역과의 화소값의 DC 차분, 원화상의 일부 대역을 억제 또는 강조한 화상의 화상 특징량 등을 채용할 수 있다.
또한, 취득 불가능 정보를 사용한 클래스 분류에서는, 취득 불가능 정보로서의 원화상의 화상 특징량 외에, 취득 가능 정보인지, 취득 불가능 정보인지를 막론하고, 부호화 정보를 사용할 수 있다.
즉, 취득 불가능 정보를 사용한 클래스 분류에서는, 예를 들어 취득 불가능 정보로서의 원화상의 화상 특징량과, 양자화 파라미터 QP를 사용할 수 있다.
원화상의 화상 특징량으로서의, 예를 들어 원화상의 액티비티가 큰 텍스처의 영역에 대해서는, 양자화 파라미터 QP가 대(양자화 스텝이 대)인 경우, 부호화(양자화)에 의해 상실되는 원화상의 정보량이 커서, 필터 후 화상(복호 화상)의 열화가 커진다.
한편, 원화상의 액티비티가 작은 평탄한 영역에 대해서는, 양자화 파라미터 QP가 소(양자화 스텝이 소)인 경우, 부호화에 의해 상실되는 원화상의 정보량이 작아, 필터 후 화상의 열화가 작아진다.
따라서, 원화상의 화상 특징량으로서의 액티비티와, 양자화 파라미터 QP를 사용해서 클래스 분류를 행하는 경우에는, 필터 후 화상의 열화 대소에 따른 클래스 분류가 행해지고, 그 열화를 회복하는 데 적절한 탭 계수에 의한 예측 연산을 행하는 것이 가능해진다.
<부호화 장치(11)의 제5 구성예>
도 32는, 도 1의 부호화 장치(11)의 제5 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 9의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 32에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117) 및 클래스 분류 적응 필터(411)를 갖는다.
따라서, 도 32의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 9의 경우와 공통된다.
단, 도 32의 부호화 장치(11)는, 클래스 분류 적응 필터(111)를 대신하여, 클래스 분류 적응 필터(411)를 갖는 점에서, 도 9의 경우와 상이하다.
클래스 분류 적응 필터(411)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 클래스 분류 적응 필터(111)와 공통된다.
단, 클래스 분류 적응 필터(411)에서는, 취득 가능 정보를 사용한 클래스 분류에 의해, 제1 클래스로서의 통상 클래스가 구해짐과 함께, 취득 불가능 정보를 사용한 클래스 분류에 의해 제2 클래스로서의 부가 클래스가 구해지고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스가 생성되는 점에서, 클래스 분류 적응 필터(111)와 상이하다.
또한, 클래스 분류 적응 필터(411)에서는, 부가 클래스가, 최종적인 클래스마다의 탭 계수와 함께, 필터 정보로서, 가역 부호화부(106)에 공급되어 전송되는 점에서, 클래스 분류 적응 필터(111)와 상이하다.
<클래스 분류 적응 필터(411)의 구성예>
도 33은, 도 32의 클래스 분류 적응 필터(411)의 구성예를 도시하는 블록도이다.
도 33에 있어서, 클래스 분류 적응 필터(411)는, 화상 변환 장치(431) 및 학습 장치(432)를 갖는다.
화상 변환 장치(431)에는, 연산부(110)(도 32)로부터 복호 도중 화상이 공급됨과 함께, 학습 장치(432)로부터 최종적인 클래스마다의 탭 계수가 공급된다. 또한, 화상 변환 장치(431)에는, 부호화 정보가 공급된다. 또한, 화상 변환 장치(431)에는, 재배열 버퍼(102)(도 32)로부터 원화상이 공급된다.
화상 변환 장치(431)는, 복호 도중 화상을 제1 화상으로 하여, 최종적인 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 프레임 메모리(112)(도 32)에 공급한다.
또한, 화상 변환 장치(431)는, 클래스 분류 적응 처리에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 화상 변환 장치(431)는, 취득 가능 정보로서의 복호 도중 화상 및 부호화 정보(부호화 데이터에 포함시킬 수 있는 부호화 정보)를 사용한 클래스 분류에 의해, 제1 클래스로서의 통상 클래스를 구함과 함께, 취득 불가능 정보로서의, 예를 들어 원화상 등을 사용한 클래스 분류에 의해 제2 클래스로서의 부가 클래스를 구하고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스를 생성한다.
또한, 화상 변환 장치(431)는, 부가 클래스를, 필터 정보로서, 가역 부호화부(106)(도 32)에 공급한다.
학습 장치(432)에는, 재배열 버퍼(102)(도 32)로부터 원화상이 공급됨과 함께, 연산부(110)(도 32)로부터 복호 도중 화상이 공급된다. 또한, 학습 장치(432)에는, 부호화 정보가 공급된다.
학습 장치(432)는, 복호 도중 화상을 학생 데이터로 함과 함께, 원화상을 교사 데이터로 하여, (최종적인)클래스마다의 탭 계수를 구하는 학습(탭 계수 학습)을 행한다.
또한, 학습 장치(432)는, 탭 계수 학습에 의해 얻어지는 클래스마다의 탭 계수를, 필터 정보로서, 화상 변환 장치(431) 및 가역 부호화부(106)(도 32)에 공급한다.
또한, 학습 장치(432)는, 화상 변환 장치(431)와 마찬가지로, 탭 계수 학습에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 학습 장치(432)는, 화상 변환 장치(431)와 마찬가지로, 클래스 분류에 있어서, 통상 클래스 및 부가 클래스를 구하고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스를 생성한다.
<화상 변환 장치(431)의 구성예>
도 34는, 도 33의 화상 변환 장치(431)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 11의 화상 변환 장치(131)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 그 설명은, 적절히 생략한다.
도 34에 있어서, 화상 변환 장치(431)는, 탭 선택부(21 및 22), 계수 취득부(24), 예측 연산부(25), 그리고 클래스 분류부(441)를 갖는다.
따라서, 화상 변환 장치(431)는, 탭 선택부(21 및 22), 계수 취득부(24), 그리고 예측 연산부(25)를 갖는 점에서, 도 11의 화상 변환 장치(131)와 공통된다.
단, 화상 변환 장치(431)는, 클래스 분류부(23)를 대신하여, 클래스 분류부(441)를 갖는 점에서, 도 11의 화상 변환 장치(131)와 상이하다.
클래스 분류부(441)에는, 탭 선택부(22)로부터, 취득 가능 정보로서의 주목 화소의 클래스 탭이 공급된다. 또한, 클래스 분류부(441)에는, 취득 가능 정보로서의 부호화 정보가 공급됨과 함께, 재배열 버퍼(102)(도 32)로부터, 취득 불가능 정보로서의 원화상이 공급된다.
클래스 분류부(441)는, 도 11의 클래스 분류부(23)과 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 클래스 분류부(441)는, 원화상을 사용하여, 클래스 분류를 행하고, 주목 화소의 제2 클래스로서의 부가 클래스를 구한다.
그리고, 클래스 분류부(441)는, 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성하고, 계수 취득부(24)에 공급한다.
또한, 클래스 분류부(441)는, 부가 클래스(를 나타내는 클래스 코드)를, 필터 정보로서, 가역 부호화부(106)에 공급한다.
여기서, 도 34에 있어서, 계수 취득부(24)는, 학습 장치(432)로부터 공급되는 최종적인 클래스마다의 탭 계수를 기억하고, 그 최종적인 클래스마다의 탭 계수로부터, 클래스 분류부(541)로부터의 주목 화소의 최종적인 클래스의 탭 계수를 취득하고, 예측 연산부(25)에 공급한다.
도 35는, 도 34의 클래스 분류부(441)의 구성예를 도시하는 블록도이다.
도 35에 있어서, 클래스 분류부(441)는, 제1 클래스 분류부(451), 제2 클래스 분류부(452) 및 클래스 코드 생성부(453)를 갖는다.
제1 클래스 분류부(451)는, 도 11의 클래스 분류부(23)과 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구하고, 클래스 코드 생성부(453)에 공급한다.
제2 클래스 분류부(452)는, 원화상을 사용하고, 예를 들어 원화상의 화상 특징량으로서의 액티비티의 역치 처리를 행함으로써, 클래스 분류를 행하여, 주목 화소의 제2 클래스로서의 부가 클래스를 구하고, 클래스 코드 생성부(453)에 공급함과 함께, 필터 정보로서, 가역 부호화부(106)(도 32)에 공급한다.
클래스 코드 생성부(453)는, 제1 클래스 분류부(451)로부터의 통상 클래스와, 제2 클래스 분류부(452)로부터의 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성하고, 계수 취득부(24)(도 34)에 공급한다.
즉, 클래스 코드 생성부(453)는, 예를 들어 제1 클래스 분류부(451)로부터의 통상 클래스를 나타내는 클래스 코드의 상위 비트에, 제2 클래스 분류부(452)로부터의 부가 클래스를 나타내는 클래스 코드를 부가함으로써, 주목 화소의 최종적인 클래스를 나타내는 클래스 코드를 생성한다.
<학습 장치(432)의 구성예>
도 36은, 도 33의 학습 장치(432)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 13의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 36에 있어서, 학습 장치(432)는, 학습부(33)를 갖는다. 학습부(33)는, 탭 선택부(41 및 42), 가산부(44), 계수 산출부(45), 그리고 클래스 분류부(461)를 갖는다.
따라서, 도 36의 학습 장치(432)는, 학습부(33)를 갖는 점에서, 도 13의 경우와 공통된다. 또한, 학습 장치(432)는, 학습부(33)가, 탭 선택부(41 및 42), 가산부(44), 그리고 계수 산출부(45)를 갖는 점에서, 도 13의 경우와 공통된다.
단, 도 36의 학습 장치(432)는, 학습부(33)에 있어서, 클래스 분류부(43)를 대신하여, 클래스 분류부(461)가 설치되어 있는 점에서, 도 13의 경우와 상이하다.
클래스 분류부(461)에는, 탭 선택부(42)로부터, 취득 가능 정보로서의 주목 화소의 클래스 탭이 공급된다. 또한, 클래스 분류부(461)에는, 취득 가능 정보로서의 부호화 정보가 공급됨과 함께, 재배열 버퍼(102)(도 32)로부터, 취득 불가능 정보로서의 원화상이 공급된다.
클래스 분류부(461)는, 도 35의 클래스 분류부(441)와 마찬가지로 구성되며, 클래스 탭, 부호화 정보 및 원화상을 사용하여, 클래스 분류부(441)와 마찬가지인 클래스 분류를 행한다.
즉, 클래스 분류부(461)는, 도 13의 클래스 분류부(43)과 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 클래스 분류부(461)는, 원화상을 사용하여, 클래스 분류를 행하고, 주목 화소의 제2 클래스로서의 부가 클래스를 구한다.
그리고, 클래스 분류부(461)는, 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성하고, 가산부(44)에 공급한다.
따라서, 가산부(44)에서는, 최종적인 클래스마다, 정규 방정식을 구하는 가산이 행해지고, 계수 산출부(45)에서는, 최종적인 클래스마다의 탭 계수가 구해진다.
여기서, 최종적인 클래스마다의 탭 계수는, 통상 클래스의 클래스수와, 부가 클래스의 클래스수의 승산값의 수만큼 클래스의 탭 계수가 된다.
<부호화 처리>
도 37은 도 32의 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 32의 부호화 장치(11)에서는, 스텝 S111 내지 S129에 있어서, 도 14의 스텝 S11 내지 S29와 각각 마찬가지 처리가 행해진다.
단, 부호화 장치(11)에 있어서, 클래스 분류 적응 필터(411)의 학습 장치(432)(도 33)는, 도 10의 학습 장치(132)와 마찬가지로, 거기에 공급되는 복호 도중 화상을 학생 데이터로 함과 함께, 그 복호 도중 화상에 대응하는 원화상을 교사 데이터로 하여, 적절히, 탭 계수 학습을 행하지만, 그 탭 계수 학습에서는, 최종적인 클래스마다의 탭 계수가, 필터 정보로서 생성된다. 그리고, 그 최종적인 클래스마다의 탭 계수가, 스텝 S112에서 갱신되는 필터 정보, 및 스텝 S113에서 전송 대상으로 설정되는 필터 정보가 된다.
또한, 스텝 S125에 있어서, 클래스 분류 적응 필터(411)는, 도 14의 스텝 S25와 마찬가지로, 연산부(110)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시하지만, 그 클래스 분류 적응 처리에서는, 클래스 탭, 부호화 정보 및 원화상을 사용하여, 클래스 분류가 행해지고, 통상 클래스와 부가 클래스로부터, 최종적인 클래스가 생성된다.
또한, 클래스 분류 적응 필터(411)에 있어서, 클래스 분류 적응 처리는, 최종적인 클래스마다의 탭 계수를 사용해서 행해진다.
또한, 클래스 분류 적응 필터(411)는, 클래스 분류 적응 처리에서 얻어진 부가 클래스를, 필터 정보로서, 가역 부호화부(106)에 공급한다.
또한, 스텝 S127에서는, 가역 부호화부(106)는, 도 14의 스텝 S27과 마찬가지로, 양자화 계수, 부호화 정보 및 필터 정보를 부호화하지만, 그 필터 정보에는, 부가 클래스와, 최종적인 클래스마다의 탭 계수가 포함된다.
따라서, 가역 부호화부(106)에서 얻어지는 부호화 데이터에는, 양자화 계수, 부호화 정보 및 필터 정보로서의 부가 클래스나 최종적인 클래스마다의 탭 계수가 포함된다. 그리고 이러한 부호화 데이터는, 스텝 S128에서, 도 14의 스텝 S28에서 설명한 바와 같이, 축적 버퍼(107)로부터, 적절히 판독되어 전송된다.
도 38은, 도 37의 스텝 S125에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(411)의 화상 변환 장치(431)(도 34)에서는, 스텝 S141 내지 S147에 있어서, 도 15의 스텝 S41 내지 S47과 각각 마찬가지 처리가 행해진다.
단, 스텝 S143의 주목 화소의 클래스 분류에서는, 클래스 분류부(441)(도 34, 도 35)는, 클래스 탭, 부호화 정보 및 원화상을 사용하여, 주목 화소의 클래스 분류를 행한다.
즉, 클래스 분류에서는, 스텝 S151 내지 S153에 있어서, 도 15의 스텝 S51 내지 S53과 각각 마찬가지 처리가 행해진다.
구체적으로는, 스텝 S151에 있어서, 클래스 분류부(441)(도 35)의 제1 클래스 분류부(451)는, 탭 선택부(22)로부터의 클래스 탭을 구성하는 화소로부터, 예를 들어 ADRC 코드 등의 화상 특징량을 추출하고, 처리는 스텝 S152로 진행한다.
스텝 S152에서는, 제1 클래스 분류부(451)는, 주목 화소에 관한 필요한 부호화 정보를 취득하고, 미리 결정된 규칙에 따라서, 부호화 정보를, 정보 코드로 변환하고, 처리는 스텝 S153으로 진행한다.
스텝 S153에서는, 제1 클래스 분류부(451)는, 화상 특징량 및 정보 코드로부터, 주목 화소의 제1 클래스로서의 통상 클래스를 나타내는 클래스 코드를 생성하고, 클래스 코드 생성부(453)에 공급하고, 처리는 스텝 S154로 진행한다.
스텝 S154에서는, 제2 클래스 분류부(452)는, 주목 화소의 원화상에 대응하는 대응 화소를 포함하는 CU나, CTU, 슬라이스 등의 특정 영역을, 제2 클래스로서의 부가 클래스용 정보로서 취득하고, 처리는 스텝 S155로 진행한다.
또한, 부가 클래스용 정보는, 원화상으로부터 취득하는 것 외에, 부호화 정보(부호화 데이터에 포함시킬 수 있는 것인지 여부는, 불문한다)로부터도 취득할 수 있다.
스텝 S155에서는, 제2 클래스 분류부(452)는, 부가 클래스용 정보로부터, 예를 들어 액티비티 등의 화상 특징량을 추출하고, 그 화상 특징량의 역치 처리를 행함으로써, 주목 화소의 부가 클래스를 나타내는 클래스 코드를 구한다.
그리고, 제2 클래스 분류부(452)는, 부가 클래스를 나타내는 클래스 코드를, 클래스 코드 생성부(453)에 공급하고, 처리는 스텝 S155로부터 스텝 S156으로 진행한다.
스텝 S156에서는, 클래스 코드 생성부(453)가, 제1 클래스 분류부(451)로부터의 통상 클래스를 나타내는 클래스 코드와, 제2 클래스 분류부(452)로부터의 부가 클래스를 나타내는 클래스 코드로부터, 주목 화소의 최종적인 클래스를 나타내는 클래스 코드를 생성한다.
그리고, 클래스 코드 생성부(453)는, 주목 화소의 최종적인 클래스(를 나타내는 클래스 코드)를, 화상 변환 장치(431)(도 34)의 계수 취득부(24)에 공급하고, 스텝 S143의 클래스 분류를 종료한다.
또한, 클래스 분류 적응 필터(411)의 화상 변환 장치(431)(도 34)에서는, 스텝 S147에 있어서, 예측 연산부(25)이, 도 15의 스텝 S47과 마찬가지로, 연산부(110)로부터의 복호 도중 화상에 대하여 얻어진 화소값으로 구성되는 필터 후 화상을, 프레임 메모리(112)(도 32)에 공급하는 것 외에, 클래스 분류부(441)(도 34)가, 스텝 S143의 클래스 분류에서 얻어진 제2 클래스로서의 부가 클래스를, 필터 정보로서, 가역 부호화부(106)(도 32)에 공급한다.
<복호 장치(12)의 제5 구성예>
도 39는, 도 1의 복호 장치(12)의 제5 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 16의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 39에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214) 및 클래스 분류 적응 필터(471)를 갖는다.
따라서, 도 39의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 16의 경우와 공통된다.
단, 도 39의 복호 장치(12)는, 클래스 분류 적응 필터(206)를 대신하여, 클래스 분류 적응 필터(471)를 갖는 점에서, 도 16의 경우와 상이하다.
도 39의 복호 장치(12)는, 도 32의 부호화 장치(11)로부터 전송되어 오는 부호화 데이터를 복호한다.
그 때문에, 가역 복호부(202)로부터 클래스 분류 적응 필터(471)에 공급되는 필터 정보에는, 최종적인 클래스마다의 탭 계수나 부가 클래스가 포함된다.
클래스 분류 적응 필터(471)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 도 16의 클래스 분류 적응 필터(206)와 공통된다.
단, 클래스 분류 적응 필터(471)에서는, 취득 가능 정보를 사용한 클래스 분류에 의해, 제1 클래스로서의 통상 클래스가 구해지고, 그 통상 클래스와, 가역 복호부(202)로부터의 필터 정보로서의 부가 클래스로부터, 최종적인 클래스가 생성되는 점에서, 클래스 분류 적응 필터(206)와 상이하다.
<클래스 분류 적응 필터(471)의 구성예>
도 40은 도 39의 클래스 분류 적응 필터(471)의 구성예를 도시하는 블록도이다.
도 40에 있어서, 클래스 분류 적응 필터(471)는, 화상 변환 장치(481)를 갖는다.
화상 변환 장치(481)에는, 연산부(205)(도 39)로부터 복호 도중 화상이 공급됨과 함께, 가역 복호부(202)로부터 필터 정보로서의 최종적인 클래스마다의 탭 계수 및 부가 클래스, 그리고 부호화 정보가 공급된다.
화상 변환 장치(481)는, 도 33의 화상 변환 장치(431)와 마찬가지로, 복호 도중 화상을 제1 화상으로 하여, 클래스(최종적인 클래스)마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 재배열 버퍼(207) 및 프레임 메모리(210)(도 39)에 공급한다.
또한, 화상 변환 장치(481)는, 클래스 분류 적응 처리에 있어서, 도 33의 화상 변환 장치(431)와 마찬가지로, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 화상 변환 장치(481)는, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭 및 부호화 정보(부호화 데이터에 포함시킬 수 있는 부호화 정보)를 사용한 클래스 분류에 의해, 주목 화소의 제1 클래스로서의 통상 클래스를 구함과 함께, 취득 불가능 정보로서의 원화상을 사용한 클래스 분류에 의해 구해지는 주목 화소의 제2 클래스로서의 부가 클래스를, 가역 복호부(202)(도 39)로부터의 필터 정보로부터 취득하고, 그들의 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한다.
그리고, 화상 변환 장치(481)는, 주목 화소의 최종적인 클래스의 탭 계수를 사용하여, 식 (1)의 예측 연산을 행한다.
<화상 변환 장치(481)의 구성예>
도 41은, 도 40의 화상 변환 장치(481)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 18의 화상 변환 장치(231)와 공통되는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 41에 있어서, 화상 변환 장치(481)는, 탭 선택부(241 및 242), 계수 취득부(244), 예측 연산부(245), 그리고 클래스 분류부(491)를 갖는다.
따라서, 도 41의 화상 변환 장치(481)는, 탭 선택부(241 및 242), 계수 취득부(244), 그리고 예측 연산부(245)를 갖는 점에서, 도 18의 화상 변환 장치(231)와 공통된다.
단, 도 41의 화상 변환 장치(481)는, 클래스 분류부(243)를 대신하여, 클래스 분류부(491)를 갖는 점에서, 도 18의 화상 변환 장치(231)와 상이하다.
가역 복호부(202)(도 39)로부터의 필터 정보로서의 최종적인 클래스마다의 탭 계수(통상 클래스의 클래스수와 부가 클래스의 클래스수의 승산값의 클래스수만의 탭 계수)는, 계수 취득부(244)에 공급되어 기억된다.
또한, 가역 복호부(202)(도 39)로부터의 필터 정보로서의 부가 클래스는, 클래스 분류부(491)에 공급된다.
또한, 클래스 분류부(491)에는, 가역 복호부(202)로부터의 부호화 정보가 공급됨과 함께, 탭 선택부(242)로부터 클래스 탭이 공급된다.
클래스 분류부(491)는, 도 18의 클래스 분류부(243)와 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 클래스 분류부(491)는, 가역 복호부(202)(도 39)로부터의 필터 정보로서 부가 클래스 중에서 주목 화소의 제2 클래스로서의 부가 클래스를 취득한다.
그리고, 클래스 분류부(491)는, 주목 화소의 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성하고, 계수 취득부(244)에 공급한다.
계수 취득부(244)는, 가역 복호부(202)로부터 필터 정보로서의 최종적인 클래스마다의 탭 계수로부터, 클래스 분류부(491)로부터의 주목 화소의 최종적인 클래스의 탭 계수를 취득하고, 예측 연산부(245)에 공급한다.
도 42는, 도 41의 클래스 분류부(491)의 구성예를 도시하는 블록도이다.
도 42에 있어서, 클래스 분류부(491)는, 제1 클래스 분류부(501) 및 클래스 코드 생성부(502)를 갖는다.
제1 클래스 분류부(501)는, 도 18의 클래스 분류부(243)와 마찬가지로, 탭 선택부(242)(도 41)로부터의 클래스 탭과, 가역 복호부(202)(도 39)로부터의 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구하고, 클래스 코드 생성부(502)에 공급한다.
클래스 코드 생성부(502)는, 가역 복호부(202)로부터의 필터 정보로서의 부가 클래스 중에서 주목 화소의 제2 클래스로서의 부가 클래스를 취득한다.
그리고, 클래스 코드 생성부(502)는, 도 35의 클래스 코드 생성부(453)와 마찬가지로, 제1 클래스 분류부(501)로부터의 통상 클래스와, 가역 복호부(202)로부터의 필터 정보로부터 취득한 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성하고, 계수 취득부(244)(도 41)에 공급한다.
<복호 처리>
도 43은, 도 39의 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 39의 복호 장치(12)에서는, 스텝 S161 내지 S173에 있어서, 도 19의 스텝 S61 내지 S73과 각각 마찬가지 처리가 행해진다.
단, 스텝 S162에서는, 가역 복호부(202)는, 도 19의 스텝 S62와 마찬가지로, 부호화 데이터를 복호하고, 그 복호에 의해 얻어지는 양자화 계수를, 역양자화부(203)에 공급함과 함께, 부호화 데이터의 복호에 의해 얻어지는 부호화 정보나 필터 정보를, 인트라 예측부(212)나, 움직임 예측 보상부(213), 클래스 분류 적응 필터(471) 그 밖의 필요한 블록에 공급하지만, 클래스 분류 적응 필터(471)에 공급되는 필터 정보에는, 최종적인 클래스마다의 탭 계수나, 제2 클래스로서의 부가 클래스가 포함된다.
또한, 스텝 S170에 있어서, 클래스 분류 적응 필터(471)는, 도 19의 스텝 S70과 마찬가지로, 연산부(205)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시하지만, 그 클래스 분류 적응 처리에서는, 클래스 탭 및 부호화 정보를 사용한 클래스 분류에 의해 제1 클래스로서의 통상 클래스가 구해지고, 그 통상 클래스와, 가역 복호부(202)(도 39)로부터의 필터 정보로서의 부가 클래스로부터, 최종적인 클래스가 생성된다.
도 44는, 도 43의 스텝 S170에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(471)의 화상 변환 장치(481)(도 41)에서는, 스텝 S181 내지 S187에 있어서, 도 20의 스텝 S81 내지 S87과 각각 마찬가지 처리가 행해진다.
단, 스텝 S183의 주목 화소의 클래스 분류에서는, 클래스 분류부(491)(도 42)는, 가역 복호부(202)(도 39)로부터 공급되는 필터 정보로서의 주목 화소의 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한다.
즉, 클래스 분류에서는, 스텝 S191 내지 S193에 있어서, 도 38의 스텝 S151 내지 S153과 각각 마찬가지 처리가 행해진다.
구체적으로는, 스텝 S191에 있어서, 클래스 분류부(491)(도 42)의 제1 클래스 분류부(501)는, 탭 선택부(242)(도 41)로부터의 클래스 탭을 구성하는 화소로부터, 예를 들어 ADRC 코드 등의 화상 특징량을 추출하고, 처리는 스텝 S192로 진행한다.
스텝 S192에서는, 제1 클래스 분류부(501)는, 주목 화소에 관한 필요한 부호화 정보를 취득하고, 미리 결정된 규칙에 따라서, 부호화 정보를, 정보 코드로 변환하고, 처리는 스텝 S193으로 진행한다.
스텝 S193에서는, 제1 클래스 분류부(501)는, 화상 특징량 및 정보 코드로부터, 주목 화소의 제1 클래스로서의 통상 클래스를 나타내는 클래스 코드를 생성하고, 클래스 코드 생성부(502)에 공급하고, 처리는 스텝 S194로 진행한다.
스텝 S194에서는, 클래스 코드 생성부(502)는, 가역 복호부(202)(도 39)로부터 공급되는 필터 정보로서의 부가 클래스 중에서 주목 화소의 제2 클래스로서의 부가 클래스(를 나타내는 클래스 코드)를 취득한다.
또한, 클래스 코드 생성부(502)는, 제1 클래스 분류부(501)로부터의 통상 클래스(를 나타내는 클래스 코드)와, 가역 복호부(202)로부터의 필터 정보로서의 부가 클래스로부터 취득한 주목 화소의 부가 클래스(를 나타내는 클래스 코드)로부터, 주목 화소의 최종적인 클래스(를 나타내는 클래스 코드)를 생성한다.
그리고, 클래스 코드 생성부(502)는, 주목 화소의 최종적인 클래스를, 계수 취득부(244)(도 41)에 공급하고, 스텝 S183의 클래스 분류를 종료한다.
<클래스의 축퇴>
도 45는, 최종적인 클래스의 축퇴를 설명하는 도면이다.
도 31에서 설명한 바와 같이, 취득 가능 정보를 사용한 클래스 분류에 의해 얻어지는 통상 클래스와, 취득 불가능 정보를 사용한 클래스 분류에 의해 얻어지는 부가 클래스로부터 생성되는 최종적인 클래스를 채용하고, 보다 원화상에 가까운 필터 후 화상을 얻을 수 있는 클래스 분류를 행함으로써, 필터 후 화상(복호 화상)의 S/N을 향상시킬 수 있다.
그러나, 통상 클래스와 부가 클래스로부터 생성되는 최종적인 클래스를 채용하는 경우에는, 통상 클래스만을 채용하는 경우에 비교하여 클래스수가 증가한다. 따라서, 부호화 데이터에 포함되는 필터 정보로서의 탭 계수의 데이터양이 증가하고, 부호화 데이터의 오버헤드가 증가한다.
그리고, 부호화 데이터의 오버헤드 증가는, 압축 효율의 개선의 방해가 된다.
그래서, 통상 클래스와 부가 클래스로부터 생성되는 최종적인 클래스를 채용하는 경우에는, 그 최종적인 클래스를 축퇴할 수 있다.
도 45에서는, 도 31과 마찬가지로, 부호화 장치(11)에 있어서, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭을 사용한 클래스 분류에 의해 얻어지는 8비트의 통상 클래스를 나타내는 클래스 코드의 상위 비트에, 취득 불가능 정보로서의 원화상의 화상 특징량을 사용한 클래스 분류에 의해 얻어지는 2비트의 부가 클래스를 나타내는 클래스 코드를 부가함으로써, 10비트의 클래스 코드로 표현되는 클래스가, 최종적인 클래스로서 구해진다.
그리고, 부호화 장치(11)에서는, 10비트의(클래스 코드로 표현되는) 최종적인 클래스가, 8비트의 축퇴 클래스로 축퇴되어, 그 8비트의 축퇴 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값이 구해진다.
또한, 부호화 장치(11)에서는, 8비트의 축퇴 클래스마다의 탭 계수와, 2비트의 부가 클래스가 전송된다.
또한, 부호화 장치(11)에서는, 10비트의 최종적인 클래스를, 8비트의 축퇴 클래스로 변환하는 변환 테이블이 생성되고, 그 변환 테이블도 전송된다.
최종적인 클래스의 축퇴는, 예를 들어 도 24에서 설명한 방법으로 행할 수 있다. 또한, 최종적인 클래스의 축퇴는, 예를 들어 탭 계수를 좌표축으로 하는 탭 계수 공간에 있어서, 탭 계수(의 세트)끼리의 거리가 짧은 클래스끼리를, 1개의 클래스로 통합하는 것 등에 의해 행할 수 있다. 그 밖에, 최종적인 클래스의 축퇴는, 임의인 방법으로 행할 수 있다.
복호 장치(12)에서는, 부호화 장치(11)로부터 전송되어 오는 축퇴 클래스마다의 탭 계수, 2비트의 부가 클래스 및 변환 테이블이 취득된다.
또한, 복호 장치(12)에서는, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭을 사용하여, 주목 화소가, 8비트의(클래스 코드로 표현되는) 통상 클래스로 클래스 분류된다.
또한, 복호 장치(12)에서는, 8비트의 통상 클래스와, 부호화 장치(11)로부터 전송되어 오는 2비트의 부가 클래스로부터, 부호화 장치(11)의 경우와 마찬가지 10비트의 최종적인 클래스가 구해진다.
그리고, 복호 장치(12)에서는, 10비트의 최종적인 클래스가, 부호화 장치(11)로부터 전송되어 오는 변환 테이블에 따라서, 축퇴 클래스로 변환(축퇴)되고, 그 축퇴 클래스의 탭 계수를 사용한 예측 연산에 의해, 주목 화소에 대응하는 필터 후 화상의 대응 화소의 화소값이 구해진다.
이상과 같이, 최종적인 클래스를 축퇴함으로써, 통상 클래스와 부가 클래스로부터 생성되는 최종적인 클래스를 채용하는 경우에 발생하는, 부호화 데이터의 오버헤드 증가를 억제할 수 있다.
또한, 도 31에서 설명한 바와 같이, 최종적인 클래스의 축퇴를 행하지 않고, 최종적인 클래스마다의 탭 계수 및 부가 클래스를, 필터 정보로서 전송할 것인가, 또는 도 45에서 설명한 바와 같이, 최종적인 클래스의 축퇴를 행하고, 축퇴 클래스마다의 탭 계수, 부가 클래스 및 변환 테이블을 전송할지는, 예를 들어 동작 모드의 전환에 의해 선택할 수 있다.
또한, 최종적인 클래스를 축퇴 클래스로 축퇴하는 경우, 축퇴 클래스의 클래스수는, 예를 들어S/N이 개선되는 정도와, 부호화 데이터의 오버헤드 증가량을 감안하고, 적절히 결정할 수 있다.
<부호화 장치(11)의 제6 구성예>
도 46은, 도 1의 부호화 장치(11)의 제6 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 32의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 46에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117) 및 클래스 분류 적응 필터(511)를 갖는다.
따라서, 도 46의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 32의 경우와 공통된다.
단, 도 46의 부호화 장치(11)는, 클래스 분류 적응 필터(411)를 대신하여, 클래스 분류 적응 필터(511)를 갖는 점에서, 도 32의 경우와 상이하다.
클래스 분류 적응 필터(511)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 클래스 분류 적응 필터(411)와 공통된다.
또한, 클래스 분류 적응 필터(511)에서는, 취득 가능 정보를 사용한 클래스 분류에 의해, 제1 클래스로서의 통상 클래스가 구해짐과 함께, 취득 불가능 정보를 사용한 클래스 분류에 의해 제2 클래스로서의 부가 클래스가 구해지고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스가 생성되는 점에서, 클래스 분류 적응 필터(411)와 공통된다.
또한, 클래스 분류 적응 필터(511)에서는, 부가 클래스가, 필터 정보로서, 가역 부호화부(106)에 공급되어 전송되는 점에서, 클래스 분류 적응 필터(411)와 공통된다.
단, 클래스 분류 적응 필터(511)에서는, 최종적인 클래스가, 도 45에서 설명한 바와 같이 축퇴 클래스로 변환(축퇴)되는 점에서, 클래스 분류 적응 필터(411)와 상이하다.
또한, 클래스 분류 적응 필터(511)에서는, 최종적인 클래스를 축퇴 클래스로 변환하는 변환 테이블이, 축퇴 클래스마다의 탭 계수와 함께, 필터 정보로서, 가역 부호화부(106)에 공급되어 전송되는 점에서, 클래스 분류 적응 필터(411)와 상이하다.
<클래스 분류 적응 필터(511)의 구성예>
도 47은 도 46의 클래스 분류 적응 필터(511)의 구성예를 도시하는 블록도이다.
도 47에 있어서, 클래스 분류 적응 필터(511)는, 화상 변환 장치(531) 및 학습 장치(532)를 갖는다.
화상 변환 장치(531)에는, 연산부(110)(도 46)로부터 복호 도중 화상이 공급됨과 함께, 학습 장치(532)로부터 축퇴 클래스마다의 탭 계수 및 변환 테이블이 공급된다. 또한, 화상 변환 장치(531)에는, 부호화 정보가 공급된다. 또한, 화상 변환 장치(531)에는, 재배열 버퍼(102)(도 46)로부터 원화상이 공급된다.
화상 변환 장치(531)는, 복호 도중 화상을 제1 화상으로 하여, 축퇴 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 프레임 메모리(112)(도 46)에 공급한다.
또한, 화상 변환 장치(531)는, 클래스 분류 적응 처리에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 화상 변환 장치(531)는, 취득 가능 정보로서의 복호 도중 화상에서 얻어지는 클래스 탭 및 부호화 정보(부호화 데이터에 포함시킬 수 있는 부호화 정보)를 사용한 클래스 분류에 의해, 제1 클래스로서의 통상 클래스를 구함과 함께, 취득 불가능 정보로서의, 예를 들어 원화상을 사용한 클래스 분류에 의해 제2 클래스로서의 부가 클래스를 구하고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스를 생성한다.
또한, 화상 변환 장치(531)는, 학습 장치(532)로부터의 변환 테이블에 따라서, 최종적인 클래스를 축퇴 클래스로 변환한다.
또한, 화상 변환 장치(531)는, 부가 클래스를, 필터 정보로서, 가역 부호화부(106)(도 46)에 공급한다.
학습 장치(532)에는, 재배열 버퍼(102)(도 46)로부터 원화상이 공급됨과 함께, 연산부(110)(도 46)로부터 복호 도중 화상이 공급된다. 또한, 학습 장치(532)에는, 부호화 정보가 공급된다.
학습 장치(532)는, 복호 도중 화상을 학생 데이터로 함과 함께, 원화상을 교사 데이터로 하여, 축퇴 클래스마다의 탭 계수를 구하는 탭 계수 학습을 행한다.
또한, 학습 장치(532)는, 탭 계수 학습에 의해 얻어지는 축퇴 클래스마다의 탭 계수를, 필터 정보로서, 화상 변환 장치(531) 및 가역 부호화부(106)(도 46)에 공급한다.
또한, 학습 장치(532)는, 화상 변환 장치(531)와 마찬가지로, 탭 계수 학습에 있어서, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 학습 장치(532)는, 화상 변환 장치(531)와 마찬가지로, 클래스 분류에 있어서, 통상 클래스 및 부가 클래스를 구하고, 그들의 통상 클래스와 부가 클래스로부터, 최종적인 클래스를 생성한다.
또한, 학습 장치(532)는, 최종적인 클래스를 축퇴 클래스로 변환하는 변환 테이블을 생성하고, 그 변환 테이블에 따라서, 최종적인 클래스를 축퇴 클래스로 변환한다.
또한, 학습 장치(532)는, 변환 테이블을, 필터 정보로서, 화상 변환 장치(531) 및 가역 부호화부(106)(도 46)에 공급한다.
<화상 변환 장치(531)의 구성예>
도 48은, 도 47의 화상 변환 장치(531)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 34의 화상 변환 장치(431)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 그 설명은, 적절히 생략한다.
도 48에 있어서, 화상 변환 장치(531)는, 탭 선택부(21 및 22), 계수 취득부(24), 예측 연산부(25), 그리고 클래스 분류부(541)를 갖는다.
따라서, 화상 변환 장치(531)는, 탭 선택부(21 및 22), 계수 취득부(24), 그리고 예측 연산부(25)를 갖는 점에서, 도 34의 화상 변환 장치(431)와 공통된다.
단, 화상 변환 장치(531)는, 클래스 분류부(441)를 대신하여, 클래스 분류부(541)를 갖는 점에서, 도 34의 화상 변환 장치(431)와 상이하다.
클래스 분류부(541)에는, 탭 선택부(22)로부터, 취득 가능 정보로서의 주목 화소의 클래스 탭이 공급된다. 또한, 클래스 분류부(541)에는, 취득 가능 정보로서의 부호화 정보가 공급됨과 함께, 재배열 버퍼(102)(도 46)로부터, 취득 불가능 정보로서의 원화상이 공급된다. 또한, 클래스 분류부(541)에는, 학습 장치(532)(도 47)로부터 변환 테이블이 공급된다.
클래스 분류부(541)는, 도 34의 클래스 분류부(441)와 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구함과 함께, 원화상을 사용하여, 클래스 분류를 행하고, 주목 화소의 제2 클래스로서의 부가 클래스를 구한다.
또한, 클래스 분류부(541)는, 클래스 분류부(441)와 마찬가지로, 부가 클래스를, 필터 정보로서, 가역 부호화부(106)에 공급한다.
또한, 클래스 분류부(541)는, 클래스 분류부(441)와 마찬가지로, 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한다.
그리고, 클래스 분류부(541)는, 주목 화소의 최종적인 클래스를, 학습 장치(532)(도 47)로부터의 변환 테이블에 따라서, 축퇴 클래스로 변환하고, 계수 취득부(24)에 공급한다.
여기서, 도 48에 있어서, 계수 취득부(24)는, 학습 장치(532)로부터 공급되는 축퇴 클래스마다의 탭 계수를 기억하고, 그 축퇴 클래스마다의 탭 계수로부터, 클래스 분류부(541)로부터의 축퇴 클래스의 탭 계수를 취득하고, 예측 연산부(25)에 공급한다.
도 49는, 도 48의 클래스 분류부(541)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 35의 클래스 분류부(441)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 49에 있어서, 클래스 분류부(541)는, 제1 클래스 분류부(451) 내지 클래스 코드 생성부(453) 및 클래스 축퇴부(551)를 갖는다.
따라서, 도 49의 클래스 분류부(541)는, 제1 클래스 분류부(451) 내지 클래스 코드 생성부(453)를 갖는 점에서, 도 35의 클래스 분류부(441)와 공통된다.
단, 클래스 분류부(541)는, 클래스 축퇴부(551)를 새롭게 갖는 점에서, 클래스 분류부(441)와 상이하다.
클래스 축퇴부(551)에는, 학습 장치(532)(도 47)로부터 변환 테이블이 공급됨과 함께, 클래스 코드 생성부(453)로부터 주목 화소의 최종적인 클래스(를 나타내는 클래스 코드)가 공급된다.
클래스 축퇴부(551)는, 학습 장치(532)로부터의 변환 테이블에 따라서, 클래스 코드 생성부(453)로부터의 최종적인 클래스를, 축퇴 클래스(를 나타내는 클래스 코드)로 변환하고, 계수 취득부(24)(도 48)에 공급한다.
<학습 장치(532)의 구성예>
도 50은, 도 47의 학습 장치(532)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 36의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 50에 있어서, 학습 장치(532)는, 학습부(33) 및 변환 테이블 생성부(562)를 갖는다. 학습부(33)는, 탭 선택부(41 및 42), 가산부(44), 계수 산출부(45), 그리고 클래스 분류부(461)를 갖는다.
따라서, 도 50의 학습 장치(532)는, 학습부(33)를 갖는 점에서, 도 36의 경우와 공통된다. 또한, 학습 장치(532)는, 학습부(33)가, 탭 선택부(41 및 42), 가산부(44), 계수 산출부(45), 그리고 클래스 분류부(461)를 갖는 점에서, 도 36의 학습 장치(432)와 공통된다.
단, 학습 장치(532)는, 변환 테이블 생성부(562)를 새롭게 갖는 점에서, 학습 장치(432)와 상이하다.
변환 테이블 생성부(562)에는, 계수 산출부(45)로부터 최종적인 클래스마다의 탭 계수가 공급된다.
변환 테이블 생성부(562)는, 계수 산출부(45)로부터의 최종적인 클래스(마다의 탭 계수)를, 축퇴 클래스(마다의 탭 계수)로 축퇴하고, 최종적인 클래스를 축퇴 클래스로 변환하는 변환 테이블을 생성한다.
그리고, 변환 테이블 생성부(562)는, 축퇴 클래스마다의 탭 계수 및 변환 테이블을, 필터 정보로서, 화상 변환 장치(531)(도 47)와, 가역 부호화부(106)(도 46)에 공급한다.
여기서, 최종적인 클래스의 클래스수는, 통상 클래스의 클래스수와, 부가 클래스의 클래스수의 승산값의 수만큼 클래스수가 되지만, 축퇴 클래스의 클래스수로서는, 예를 들어 통상 클래스의 클래스수와 동등한 클래스수 등을 채용할 수 있다. 단, 축퇴 클래스의 클래스수는, 예를 들어 통상 클래스의 클래스수나, 부가 클래스의 클래스수 등에 한정되는 것은 아니다.
최종적인 클래스의 축퇴는, 예를 들어 도 24에서 설명한 방법으로 행할 수 있다. 또한, 최종적인 클래스의 축퇴는, 예를 들어 탭 계수를 좌표축으로 하는 탭 계수 공간에 있어서, 탭 계수(의 세트)끼리의 거리가 짧은 클래스끼리를, 1개의 클래스로 통합하는 것 등에 의해 행할 수 있다.
또한, 최종적인 클래스의 축퇴는, 축퇴 후의 축퇴 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의해 얻어지는, 원화상에 대응하는 제2 화상의 S/N의 저하를 억제하는 규범(이하, S/N 규범이라고도 한다)에서 행할 수 있다.
최종적인 클래스의 축퇴를, S/N 규범에서 행하는 경우에는, 변환 테이블 생성부(562)에는, 예를 들어 교사 데이터로서의 원화상 및 학생 데이터로서의 복호 도중 화상이 공급된다.
변환 테이블 생성부(562)는, 임의의 방법으로, 최종적인 클래스의 축퇴를 행하고, 축퇴 후의 축퇴 클래스마다의 탭 계수를 사용하여, 클래스 분류 적응 처리를 행함으로써, 교사 데이터로서의 원화상을 예측한 제2 화상을 구하고, 원화상을 참값으로 하는 제2 화상의 S/N을 구한다.
변환 테이블 생성부(562)는, 복수의 축퇴의 방법(축퇴 클래스의 클래스수가 다른 축퇴를 포함한다)에 대해서, 제2 화상의 S/N을 구하고, 그 S/N이 역치 이상이 되는 축퇴의 1개의 방법을, 최종적인 클래스를 축퇴하는 방법으로 선택한다.
<부호화 처리>
도 51은, 도 46의 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 46의 부호화 장치(11)에서는, 스텝 S211 내지 S229에 있어서, 도 37의 스텝 S111 내지 S129와 각각 마찬가지 처리가 행해진다.
단, 부호화 장치(11)에 있어서, 클래스 분류 적응 필터(511)의 학습 장치(532)(도 47)는, 도 33의 학습 장치(432)와 마찬가지로, 거기에 공급되는 복호 도중 화상을 학생 데이터로 함과 함께, 그 복호 도중 화상에 대응하는 원화상을 교사 데이터로 하여, 적절히, 탭 계수 학습을 행하지만, 그 탭 계수 학습에서는, 최종적인 클래스마다의 탭 계수를 축퇴한 축퇴 클래스마다의 탭 계수와, 최종적인 클래스를 축퇴 클래스로 변환하는 변환 테이블이, 필터 정보로서 생성된다. 축퇴 클래스마다의 탭 계수 및 변환 테이블은, 필터 정보로서, 화상 변환 장치(531)(도 47)와 가역 부호화부(106)(도 46)에 공급된다.
또한, 스텝 S212에서의 갱신의 대상의 필터 정보 및 스텝 S213에서의 전송 대상으로 설정되는 필터 정보에는, 축퇴 클래스마다의 탭 계수 및 변환 테이블이 포함된다.
또한, 스텝 S225에 있어서, 클래스 분류 적응 필터(511)는, 도 37의 스텝 S125와 마찬가지로, 연산부(110)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시한다.
즉, 클래스 분류 적응 필터(511)의 클래스 분류 적응 처리에서는, 도 37의 경우와 마찬가지로, 클래스 탭, 부호화 정보 및 원화상을 사용한 클래스 분류에 의해, 통상 클래스 및 부가 클래스가 구해지고, 그 통상 클래스 및 부가 클래스로부터 최종적인 클래스가 생성된다. 그리고, 부가 클래스는, 도 37의 경우와 마찬가지로, 필터 정보로서, 가역 부호화부(106)에 공급된다.
단, 클래스 분류 적응 필터(511)의 클래스 분류 적응 처리에서는, 최종적인 클래스가, 학습 장치(532)(도 47)로부터의 변환 테이블에 따라서 축퇴 클래스로 변환되고, 그 축퇴 클래스마다의 탭 계수가 사용된다.
또한, 스텝 S227에서는, 가역 부호화부(106)는, 도 37의 스텝 S127과 마찬가지로, 양자화 계수, 부호화 정보 및 필터 정보를 부호화하고, 부호화 데이터에 포함시키지만, 필터 정보에는, 부가 클래스, 축퇴 클래스마다의 탭 계수 및 변환 테이블이 포함된다.
따라서, 가역 부호화부(106)에서 얻어지는 부호화 데이터에는, 양자화 계수, 부호화 정보 및 필터 정보로서의 부가 클래스나, 축퇴 클래스마다의 탭 계수, 변환 테이블이 포함된다. 그리고 이러한 부호화 데이터는, 스텝 S228에서, 도 14의 스텝 S28에서 설명한 바와 같이, 축적 버퍼(107)로부터, 적절히 판독되어 전송된다.
도 52는, 도 51의 스텝 S225에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(511)의 화상 변환 장치(531)(도 48)에서는, 스텝 S241 내지 S247에 있어서, 도 38의 스텝 S141 내지 S147과 각각 마찬가지 처리가 행해진다.
단, 스텝 S243의 주목 화소의 클래스 분류에서는, 클래스 분류부(541)(도 48, 도 49)는, 클래스 탭, 부호화 정보 및 원화상을 사용하여, 주목 화소에 대해서, 통상 화상 및 부가 클래스로부터, 최종적인 클래스를 구하고, 그 최종적인 클래스를, 축퇴 클래스로 축퇴한다.
즉, 클래스 분류에서는, 스텝 S251 내지 S256에 있어서, 도 38의 스텝 S151 내지 S156과 각각 마찬가지 처리가 행해지고, 이에 의해, 클래스 분류부(541)(도 49)의 클래스 코드 생성부(453)에서는, 제1 클래스 분류부(451)로부터의 통상 클래스와, 제2 클래스 분류부(452)로부터의 부가 클래스로부터, 주목 화소의 최종적인 클래스가 생성되고, 클래스 축퇴부(551)에 공급된다.
그 후, 처리는 스텝 S256으로부터 스텝 S257로 진행하고, 클래스 축퇴부(551)는, 클래스 코드 생성부(453)로부터의 최종적인 클래스를, 학습 장치(532)(도 47)로부터의 변환 테이블에 따라서, 축퇴 클래스로 변환한다.
그리고, 클래스 축퇴부(551)는, 축퇴 클래스를, 화상 변환 장치(531)(도 48)의 계수 취득부(24)에 공급하고, 스텝 S243의 클래스 분류를 종료한다.
<복호 장치(12)의 제6 구성예>
도 53은 도 1의 복호 장치(12)의 제6 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 39의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 53에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214) 및 클래스 분류 적응 필터(571)를 갖는다.
따라서, 도 53의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 39의 경우와 공통된다.
단, 도 53의 복호 장치(12)는, 클래스 분류 적응 필터(471)를 대신하여, 클래스 분류 적응 필터(571)를 갖는 점에서, 도 39의 경우와 상이하다.
도 53의 복호 장치(12)는, 도 46의 부호화 장치(11)로부터 전송되어 오는 부호화 데이터를 복호한다.
그 때문에, 가역 복호부(202)로부터 클래스 분류 적응 필터(571)에 공급되는 필터 정보에는, 축퇴 클래스마다의 탭 계수 및 변환 테이블이나, 부가 클래스가 포함된다.
클래스 분류 적응 필터(571)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 도 39의 클래스 분류 적응 필터(471)와 공통된다.
단, 클래스 분류 적응 필터(571)는, 클래스 분류 적응 필터(471)와 마찬가지로, 가역 복호부(202)로부터의 필터 정보로서의 부가 클래스를 사용하여, 최종적인 클래스를 생성하지만, 그 최종적인 클래스를, 가역 복호부(202)로부터의 필터 정보로서의 변환 테이블에 따라서, 축퇴 클래스로 변환하는 점에서, 클래스 분류 적응 필터(471)와 상이하다.
<클래스 분류 적응 필터(571)의 구성예>
도 54는, 도 53의 클래스 분류 적응 필터(571)의 구성예를 도시하는 블록도이다.
도 54에 있어서, 클래스 분류 적응 필터(571)는, 화상 변환 장치(581)를 갖는다.
화상 변환 장치(581)에는, 연산부(205)(도 53)로부터 복호 도중 화상이 공급됨과 함께, 가역 복호부(202)로부터 필터 정보로서의 축퇴 클래스마다의 탭 계수, 변환 테이블 및 부가 클래스, 그리고 부호화 정보가 공급된다.
화상 변환 장치(581)는, 도 47의 화상 변환 장치(531)와 마찬가지로, 복호 도중 화상을 제1 화상으로 하여, 클래스(축퇴 클래스)마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 재배열 버퍼(207) 및 프레임 메모리(210)(도 53)에 공급한다.
또한, 화상 변환 장치(581)는, 클래스 분류 적응 처리에 있어서, 도 47의 화상 변환 장치(531)와 마찬가지로, 클래스 분류를, 필요에 따라서, 부호화 정보를 사용해서 행한다.
또한, 화상 변환 장치(581)는, 화상 변환 장치(481)(도 40)와 마찬가지로, 클래스 탭을 사용한 클래스 분류에 의해, 주목 화소의 제1 클래스로서의 통상 클래스를 구함과 함께, 주목 화소의 제2 클래스로서의 부가 클래스를, 가역 복호부(202)(도 53)로부터의 필터 정보로부터 취득하고, 그들의 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한다.
그리고, 화상 변환 장치(581)는, 주목 화소의 최종적인 클래스를, 가역 복호부(202)로부터의 필터 정보로서의 변환 테이블에 따라서, 축퇴 클래스로 변환하고, 그 축퇴 클래스의 탭 계수를 사용하여, 식 (1)의 예측 연산을 행한다.
<화상 변환 장치(581)의 구성예>
도 55는, 도 54의 화상 변환 장치(581)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 41의 화상 변환 장치(481)와 공통되는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 55에 있어서, 화상 변환 장치(581)는, 탭 선택부(241 및 242), 계수 취득부(244), 예측 연산부(245), 그리고 클래스 분류부(591)를 갖는다.
따라서, 도 55의 화상 변환 장치(581)는, 탭 선택부(241 및 242), 계수 취득부(244), 그리고 예측 연산부(245)를 갖는 점에서, 도 41의 화상 변환 장치(481)와 공통된다.
단, 도 55의 화상 변환 장치(581)는, 클래스 분류부(491)를 대신하여, 클래스 분류부(591)를 갖는 점에서, 도 41의 화상 변환 장치(481)와 상이하다.
가역 복호부(202)(도 53)로부터의 필터 정보로서의 축퇴 클래스마다의 탭 계수(통상 클래스의 클래스수와 부가 클래스의 클래스수의 승산값의 클래스수만의 탭 계수)는, 계수 취득부(244)에 공급되어 기억된다.
또한, 가역 복호부(202)(도 53)로부터의 필터 정보로서의 부가 클래스나 변환 테이블은, 클래스 분류부(591)에 공급된다.
또한, 클래스 분류부(591)에는, 가역 복호부(202)로부터의 부호화 정보가 공급됨과 함께, 탭 선택부(242)로부터 클래스 탭이 공급된다.
클래스 분류부(591)는, 도 41의 클래스 분류부(491)와 마찬가지로, 클래스 탭 및 부호화 정보를 사용하여, 클래스 분류를 행하고, 주목 화소의 제1 클래스로서의 통상 클래스를 구한다.
또한, 클래스 분류부(591)는, 도 41의 클래스 분류부(491)와 마찬가지로, 가역 복호부(202)(도 53)로부터의 필터 정보로서 부가 클래스 중에서 주목 화소의 제2 클래스로서의 부가 클래스를 취득한다.
그리고, 클래스 분류부(591)는, 도 41의 클래스 분류부(491)와 마찬가지로, 통상 클래스와 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한다.
또한, 클래스 분류부(591)는, 주목 화소의 최종적인 클래스를, 가역 복호부(202)(도 53)로부터의 필터 정보로서의 변환 테이블에 따라서, 축퇴 클래스로 변환하고, 계수 취득부(244)에 공급한다.
계수 취득부(244)는, 가역 복호부(202)로부터 필터 정보로서의 축퇴 클래스마다의 탭 계수로부터, 클래스 분류부(591)로부터의 주목 화소의 축퇴 클래스의 탭 계수를 취득하고, 예측 연산부(245)에 공급한다.
도 56은 도 55의 클래스 분류부(591)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 42의 클래스 분류부(491)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 56에 있어서, 클래스 분류부(591)는, 제1 클래스 분류부(501), 클래스 코드 생성부(502) 및 클래스 축퇴부(601)를 갖는다.
따라서, 도 56의 클래스 분류부(591)는, 제1 클래스 분류부(501) 및 클래스 코드 생성부(502)를 갖는 점에서, 도 42의 클래스 분류부(491)와 공통된다.
단, 클래스 분류부(591)는, 클래스 축퇴부(601)를 새롭게 갖는 점에서, 클래스 분류부(491)와 상이하다.
클래스 축퇴부(601)에는, 클래스 코드 생성부(502)가 생성하는, 주목 화소의 최종적인 클래스와, 가역 복호부(202)(도 53)로부터의 필터 정보에 포함되는 변환 테이블이 공급된다.
클래스 축퇴부(601)는, 클래스 코드 생성부(502)로부터의 주목 화소의 최종적인 클래스를, 가역 복호부(202)로부터의 변환 테이블에 따라서, 축퇴 클래스로 변환하고, 계수 취득부(244)(도 55)에 공급한다.
<복호 처리>
도 57은 도 53의 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 53의 복호 장치(12)에서는, 스텝 S261 내지 S273에 있어서, 도 43의 스텝 S161 내지 S173과 각각 마찬가지 처리가 행해진다.
단, 스텝 S262에서는, 가역 복호부(202)는, 도 43의 스텝 S162와 마찬가지로, 부호화 데이터를 복호하고, 그 복호에 의해 얻어지는 양자화 계수를, 역양자화부(203)에 공급함과 함께, 부호화 데이터의 복호에 의해 얻어지는 부호화 정보나 필터 정보를, 인트라 예측부(212)나, 움직임 예측 보상부(213), 클래스 분류 적응 필터(571) 그 밖의 필요한 블록에 공급하지만, 클래스 분류 적응 필터(571)에 공급되는 필터 정보에는, 제2 클래스로서의 부가 클래스나, 축퇴 클래스마다의 탭 계수 및 변환 테이블이 포함되는 경우가 있다.
또한, 스텝 S270에 있어서, 클래스 분류 적응 필터(571)는, 도 43의 스텝 S170과 마찬가지로, 연산부(205)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시하지만, 그 클래스 분류 적응 처리에서는, 클래스 탭 및 부호화 정보를 사용한 클래스 분류에 의해 구해지는 통상 클래스와, 가역 복호부(202)(도 53)로부터의 필터 정보로서의 부가 클래스로부터 생성되는 최종적인 클래스가, 가역 복호부(202)로부터의 필터 정보로서의 변환 테이블에 따라서, 축퇴 클래스로 변환된다.
도 58은 도 57의 스텝 S270에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(571)의 화상 변환 장치(581)(도 55)에서는, 스텝 S281 내지 S287에 있어서, 도 44의 스텝 S181 내지 S187과 각각 마찬가지 처리가 행해진다.
단, 스텝 S283의 주목 화소의 클래스 분류에서는, 클래스 분류부(591)(도 56)는, 가역 복호부(202)(도 53)로부터 공급되는 필터 정보로서의 주목 화소의 부가 클래스로부터, 주목 화소의 최종적인 클래스를 생성한 후, 그 최종적인 클래스를 축퇴 클래스로 변환한다.
즉, 클래스 분류에서는, 스텝 S291 내지 S294에 있어서, 도 44의 스텝 S191 내지 S194와 각각 마찬가지 처리가 행해지고, 이에 의해, 클래스 분류부(591)(도 56)의 클래스 코드 생성부(502)에서는, 제1 클래스 분류부(451)로부터의 통상 클래스와, 가역 복호부(202)(도 53)로부터의 필터 정보로서의 부가 클래스로부터, 주목 화소의 최종적인 클래스가 생성되고, 클래스 축퇴부(601)에 공급된다.
그 후, 처리는 스텝 S294로부터 스텝 S295로 진행하고, 클래스 축퇴부(601)는, 가역 복호부(202)(도 53)로부터의 변환 테이블에 따라서, 클래스 코드 생성부(502)로부터의 주목 화소의 최종적인 클래스를, 축퇴 클래스로 변환한다.
그리고, 클래스 축퇴부(601)는, 축퇴 클래스를, 화상 변환 장치(581)(도 55)의 계수 취득부(244)에 공급하고, 스텝 S283의 클래스 분류를 종료한다.
이상과 같이, 통상 클래스와 부가 클래스로부터 생성되는 최종적인 클래스를 채용하는 경우에는, 통상 클래스만을 채용하는 경우에 비교하여 클래스수가 증가하고, 그 결과, 부호화 데이터의 오버헤드가 증가하지만, 최종적인 클래스를 축퇴 클래스로 변환(축퇴)함으로써, 부호화 데이터의 오버헤드 증가를 억제할 수 있다.
<클래스 분류 계수를 사용한 클래스 분류>
도 59는, 클래스 분류 계수의 학습의 개요를 설명하는 도면이다.
클래스 탭으로부터, ADRC 코드 등의 화상 특징량을 구하고, 그 화상 특징량에 따라, 주목 화소를 클래스 분류하는 경우에는, 클래스 분류 적응 처리에 의해 얻어지는 제2 화상의 S/N을 보다 향상시키도록 클래스 분류가 행해진다고는 할 수 없다.
한편, 클래스 분류 계수를 사용한 클래스 분류에서는, 클래스 분류 적응 처리에 의해 얻어지는 제2 화상의 S/N을 보다 향상시키도록 클래스 분류가 행해진다.
클래스 분류 계수는, 탭 계수와 함께, 통계적인 오차를 최소로 하는 학습에 의해 구해진다.
도 59는, 클래스 분류 계수의 학습의 개요를 나타내고 있다.
클래스 분류 계수의 학습은, 말하자면 계층적으로 행해진다. 최초의 계층을 제0 계층이라 한다.
각 계층의 학습에서는, 주목 화소를, 복수의 서브 클래스 중 어느 것의 서브 클래스로 분류하는 서브 클래스 분류를 행하는 클래스 분류 계수가 구해진다.
지금, 서브 클래스 분류에 있어서, 주목 화소를, 예를 들어 2개의 서브 클래스 0 또는 1 중 어느 것으로 분류하는 것으로 하면, 제n 계층의 학습에서는, 2n 클래스(개)의 클래스 분류 계수 cc(n,k)(의 세트)가 구해진다(k=0, 1, …, 2n-1).
여기서, 클래스 분류 계수는, 탭 계수와 함께, 통계적인 오차를 최소로 하는 학습에 의해 구해지지만, 설명을 간단하게 하기 위해서, 여기에서는, 클래스 분류 계수의 학습에만 주목한다.
지금, 클래스 탭이 M개의 화소(의 화소값)로 구성되는 것으로 하고, 그 M개의 화소 중 n번째의 화소의 화소값을, xm으로 나타내는 것으로 한다.
또한, 1 클래스(개)의 클래스 분류 계수(의 세트)는, 클래스 탭의 화소수 M과 동일한 수의 계수로 이루어지고, 그 1 클래스의 클래스 분류 계수 중, m번째의 계수(클래스 분류 계수)를, wm으로 나타내는 것으로 한다.
또한, 학생 데이터로서의 학생 화상을 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 교사 데이터로서의 교사 화상의 화소의 화소값의 예측값의 예측 오차 예측값(이하, 예측 오차 예측값이라고도 한다)을, y로 나타내는 것으로 한다.
또한, 예측 오차 예측값 y는, 클래스 탭 xm 및 클래스 분류 계수 wm을 사용한, 예를 들어 선형 1차식 y=w1x1+w2x2+…+wMxM으로 표현되는 곱의 합 연산 등의 소정의 연산에 의해 구해지는 것으로 한다. 여기서, 소정의 연산을 나타내는, 예를 들어 식 y=w1x1+w2x2+…+wMxM을, 이하 예측 오차 예측식이라고도 한다.
클래스 분류 계수의 학습에서는, 먼저, 제0 계층의 학습이 행해진다.
제0 계층의 학습에서는, 예를 들어 학생 화상의 전체 화소를, 제0 계층의 화소군 (0,0)으로서, 화소군 (0,0)의 각 화소의 화소값을 학생 데이터로 함과 함께, 화소군 (0,0)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (0,0)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm(의 세트)이, 제0 계층의 클래스 분류 계수 cc(0,0)으로서 구해진다.
또한, 제0 계층의 화소군 (0,0)의 각 화소에 대해서, 제0 계층의 클래스 분류 계수 cc(0,0)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제0 계층의 화소군 (0,0)의 화소 중, 예를 들어 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0으로 서브 클래스 분류된다. 또한, 제0 계층의 화소군 (0,0)의 화소 중, 예를 들어 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1로 서브 클래스 분류되고, 제0 계층의 학습은 종료한다.
또한, 서브 클래스 분류에서는, 그 밖에, 예를 들어 예측 오차 예측값 y의 절댓값이 역치 미만인 화소를, 서브 클래스 0으로 분류하고, 예측 오차 예측값 y의 절댓값이 역치 이상인 화소를, 서브 클래스 1로 분류할 수 있다.
또한, 서브 클래스 분류에서는, 화소를, 그 화소의 예측 오차 예측값 y의 절댓값에 의해, 3 이상의 서브 클래스 중 어느 것으로 분류할 수 있다.
여기서, 제0 계층의 화소군 (0,0) 중, 서브 클래스 0으로 서브 클래스 분류된 화소로 구성되는 화소군을, 화소군 (0,0,0)으로 함과 함께, 서브 클래스 1로 서브 클래스 분류된 화소로 구성되는 화소군을, 화소군 (0,0,1)로 한다.
또한, 화소군 (n,k,s)는, 제n 계층의 화소군 (n,k) 중에서, 제n 계층의 클래스 분류 계수 cc(n,k)를 사용한 서브 클래스 분류에 의해 서브 클래스 s로 분류된 화소군을 나타낸다.
화소군 (n,k)는, 제n 계층의 k+1번째의 화소군을 나타낸다. k는, 0, 1, …, 2n-1의 2n개의 값을 취하고, 따라서, 제n 계층의 (서브 클래스 분류 전의) 화소군 (n,k)는, 2n개만큼 존재한다.
제0 계층의 학습의 종료 후, 필요에 따라서, 다음 계층, 즉 제1 계층의 학습이 행해진다.
제1 계층의 학습에서는, 제0 계층의 학습에서의 서브 클래스 분류에서 얻어진 21개의 화소군 (0,0,0) 및 화소군 (0,0,1)을, 제1 계층의 2n개의 화소군 (n,k), 즉 제1 계층의 21개의 화소군 (1,0) 및 화소군 (1,1)로서, 제0 계층의 학습과 마찬가지 처리가 행해진다.
즉, 제1 계층의 1개째의 화소군 (1,0)에 대해서는, 그 화소군 (1,0)을 학생 데이터로 함과 함께, 화소군 (1,0)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (1,0)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제1 계층의 1개(클래스)째의 클래스 분류 계수 cc(1,0)으로서 구해진다.
또한, 제1 계층의 화소군 (1,0)의 각 화소에 대해서, 제1 계층의 클래스 분류 계수 cc(1,0)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제1 계층의 화소군 (1,0)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (1,0,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (1,0,1)로 서브 클래스 분류된다.
제1 계층의 2개째의 화소군 (1,1)에 대해서도, 마찬가지로, 그 화소군 (1,1)을 학생 데이터로 함과 함께, 화소군 (1,1)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (1,1)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제1 계층의 2개(클래스)째의 클래스 분류 계수 cc(1,1)로서 구해진다.
또한, 제1 계층의 화소군 (1,1)의 각 화소에 대해서, 제1 계층의 클래스 분류 계수 cc(1,1)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제1 계층의 화소군 (1,1)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (1,1,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (1,1,1)로 서브 클래스 분류된다.
제1 계층의 학습 종료 후, 필요에 따라서, 다음 계층, 즉 제2 계층의 학습이 행해진다.
제2 계층의 학습에서는, 제1 계층의 학습에서의 서브 클래스 분류에서 얻어진 22개의 화소군 (1,0,0), 화소군 (1,0,1), 화소군 (1,1,0) 및 화소군 (1,1,1)을, 제2 계층의 2n개의 화소군 (n,k), 즉 제2 계층의 22개의 화소군 (2,0), 화소군 (2,1), 화소군 (2,2) 및 화소군 (2,3)으로서, 제0 계층의 학습과 마찬가지 처리가 행해진다.
즉, 제2 계층의 1개째의 화소군 (2,0)에 대해서는, 그 화소군 (2,0)을 학생 데이터로 함과 함께, 화소군 (2,0)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (2,0)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제2 계층의 1개째의 클래스 분류 계수 cc(2,0)으로서 구해진다.
또한, 제2 계층의 화소군 (2,0)의 각 화소에 대해서, 제2 계층의 클래스 분류 계수 cc(2,0)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제2 계층의 화소군 (2,0)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (2,0,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (2,0,1)로 서브 클래스 분류된다.
제2 계층의 2개째의 화소군 (2,1)에 대해서도, 마찬가지로, 그 화소군 (2,1)을 학생 데이터로 함과 함께, 화소군 (2,1)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (2,1)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제2 계층의 2개째의 클래스 분류 계수 cc(2,1)로서 구해진다.
또한, 제2 계층의 화소군 (2,1)의 각 화소에 대해서, 제2 계층의 클래스 분류 계수 cc(2,1)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제2 계층의 화소군 (2,1)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (2,1,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (2,1,1)으로 서브 클래스 분류된다.
제2 계층의 3개째의 화소군 (2,2)에 대해서도, 마찬가지로, 그 화소군 (2,2)를 학생 데이터로 함과 함께, 화소군 (2,2)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (2,2)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제2 계층의 3개째의 클래스 분류 계수 cc(2,2)로서 구해진다.
또한, 제2 계층의 화소군 (2,2)의 각 화소에 대해서, 제2 계층의 클래스 분류 계수 cc(2,2)를 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제2 계층의 화소군 (2,2)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (2,2,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (2,2,1)로 서브 클래스 분류된다.
제2 계층의 4개째의 화소군 (2,3)에 대해서도, 마찬가지로, 그 화소군 (2,3)을 학생 데이터로 함과 함께, 화소군 (2,3)의 각 화소를 대상으로 한 클래스 분류 적응 처리에 의해 얻어지는, 화소군 (2,3)의 각 화소에 대응하는 교사 화상의 화소의 화소값의 예측값의 예측 오차를 교사 데이터로 하고, 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제2 계층의 4개째의 클래스 분류 계수 cc(2,3)으로서 구해진다.
또한, 제2 계층의 화소군 (2,3)의 각 화소에 대해서, 제2 계층의 클래스 분류 계수 cc(2,3)을 사용하여, 예측 오차 예측식에 따라서, 예측 오차 예측값 y가 구해진다.
그리고, 제2 계층의 화소군 (2,3)의 화소 중, 예측 오차 예측값 y가 0 이상인 화소는, 서브 클래스 0의 화소군 (2,3,0)으로 서브 클래스 분류되고, 예측 오차 예측값 y가 0 미만인 화소는, 서브 클래스 1의 화소군 (2,3,1)로 서브 클래스 분류된다.
제2 계층의 학습 종료 후, 필요에 따라서, 다음 계층, 즉 제3 계층의 학습이 행해진다.
제3 계층의 학습에서는, 제2 계층의 학습에서의 서브 클래스 분류에서 얻어진 23개의 화소군 (2,0,0), 화소군 (2,0,1), 화소군 (2,1,0), 화소군 (2,1,1), 화소군 (2,2,0), 화소군 (2,2,1), 화소군 (2,3,0), 화소군 (2,3,1)을, 제3 계층의 2n개의 화소군 (n,k), 즉 제3 계층의 23개의 화소군 (3,0), 화소군 (3,1), 화소군 (3,2), 화소군 (3,3), 화소군 (3,4), 화소군 (3,5), 화소군 (3,6), 화소군 (3,7)로서, 제0 계층의 학습과 마찬가지 처리가 행해진다.
이하, 마찬가지로 하여, 필요한 계층까지의 학습이 행해진다.
클래스 분류 계수의 학습이, 제L 계층의 학습까지 행해진 경우, 제0 계층의 20개의 클래스 분류 계수 cc(2,0)으로부터, 제L 계층의 2L개의 클래스 분류 계수 cc(L,0), cc(L,1), …cc(L,2L-1)까지의 클래스 분류 계수가 얻어진다.
여기서, 제n 계층의 k+1개째의 화소군 (n,k)를, 제n 계층의 클래스 k의 화소군 (n,k)라고도 함과 함께, 제n 계층의 클래스 분류 계수 cc(n,k)를, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)라고도 한다.
클래스 분류 계수의 학습에서는, 제n 계층의 학습에 있어서, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)를 사용하여, 예측 오차 예측식에 따라서, 제n 계층의 클래스 k의 화소군 (n,k)의 서브 클래스 분류가 행해지고, 제n 계층의 클래스 k의 화소군 (n,k)가, 서브 클래스 0의 화소군과, 서브 클래스 1의 화소분으로 분류된다.
그리고, 다음 제n+1 계층의 학습에 있어서, 제n 계층의 클래스 k의 화소군 (n,k) 중, 서브 클래스 0의 화소군이, 제n+1 계층이 있는 클래스 k1의 화소군 (n+1,k1)로 됨과 함께, 서브 클래스 1의 화소군이, 제n+1 계층의 다른 클래스 k2의 화소군 (n+1,k2)로 된다.
또한, 제n+1 계층의 클래스 k1의 화소군 (n+1,k1)의 서브 클래스 분류가, 제n+1 계층의 클래스 k1의 클래스 분류 계수 cc(n+1,k1)을 사용해서 행해짐과 함께, 제n+1 계층의 클래스 k2의 화소군 (n+1,k2)의 서브 클래스 분류가, 제n+1 계층의 클래스 k2의 클래스 분류 계수 cc(n+1,k2)를 사용해서 행해진다.
이하 마찬가지로, 서브 클래스 분류가 재귀적으로 반복하여 행해지고, 제0 계층으로부터 임의의 계층까지의 클래스 분류 계수가 구해진다.
도 60은, 클래스 분류 계수를 사용한 클래스 분류의 개요를 설명하는 도면이다.
클래스 분류 계수를 사용한 클래스 분류는, 클래스 분류 계수의 학습과 마찬가지로, 계층적으로 행해진다.
즉, 클래스 분류 계수를 사용한 클래스 분류에서는, 먼저, 제0 계층의 서브 클래스 분류가 행해진다.
제0 계층의 서브 클래스 분류에서는, 주목 화소에 대해서, 제0 계층의 클래스 분류 계수 cc(0,0)을 사용하여, 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제0 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제0 계층의 서브 클래스 1로 서브 클래스 분류된다.
제0 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제1 계층의 클래스 화소가 된다.
제0 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제1 계층의 클래스가, 주목 화소의 제0 계층의 클래스에, 주목 화소의 제0 계층의 서브 클래스를 가미해서 결정된다.
제0 계층에는, 클래스가 없으므로, 주목 화소의 제1 계층의 클래스는, 주목 화소의 제0 계층의 서브 클래스로부터 결정된다.
즉, 제0 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제1 계층의 클래스는, 예를 들어 서브 클래스 0에 따라서, 클래스 0으로 결정된다.
또한, 제0 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제1 계층의 클래스는, 예를 들어 서브 클래스 1에 따라서, 클래스 1로 결정된다.
여기서, 클래스 k는, 클래스 코드가 k의 클래스를 나타내는 것으로 한다.
제0 계층의 서브 클래스 분류의 종료 후, 다음 계층, 즉 제1 계층의 클래스 분류 계수 cc(1,0) 및 cc(1,1)이 존재하는 경우에는, 제1 계층의 서브 클래스 분류가 행해진다.
제1 계층의 서브 클래스 분류에서는, 제1 계층의 클래스 분류 계수 cc(1,0) 및 cc(1,1) 중, 주목 화소의 제1 계층의 클래스 k의 클래스 분류 계수 cc(1,k)가 사용된다.
따라서, 주목 화소의 제1 계층의 클래스 k가 클래스 0인 경우, 제1 계층의 클래스 분류 계수 cc(1,0)을 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다. 또한, 주목 화소의 제1 계층의 클래스 k가 클래스 1인 경우, 제1 계층의 클래스 분류 계수 cc(1,1)을 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제1 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제1 계층의 서브 클래스 1로 서브 클래스 분류된다.
제1 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제2 계층의 클래스 화소가 된다.
제1 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스가, 주목 화소의 제1 계층의 클래스에, 주목 화소의 제1 계층의 서브 클래스를 가미해서 결정된다.
예를 들어, 주목 화소의 제1 계층의 클래스 k가 클래스 0인 경우, 주목 화소의 제2 계층의 클래스는, 그 제1 계층의 클래스 0에, 주목 화소의 제1 계층의 서브 클래스를 가미해서 결정된다.
즉, 제1 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스는, 주목 화소의 제1 계층의 클래스 0의 하위 비트에, 주목 화소의 제1 계층의 서브 클래스 0을 부가하여, 클래스 002=0으로 결정된다. 여기서, 아래 첨자 2는, 그 직전의 수치가 2진수인 것을 나타낸다.
또한, 제1 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스는, 주목 화소의 제1 계층의 클래스 0의 하위 비트에, 주목 화소의 제1 계층의 서브 클래스 1을 부가하여, 클래스 012=1로 결정된다.
한편, 주목 화소의 제1 계층의 클래스 k가 클래스 1인 경우, 주목 화소의 제2 계층의 클래스는, 그 제1 계층의 클래스 1에, 주목 화소의 제1 계층의 서브 클래스를 가미해서 결정된다.
즉, 제1 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스는, 주목 화소의 제1 계층의 클래스 1의 하위 비트에, 주목 화소의 제1 계층의 서브 클래스 0을 부가하여, 클래스 102=2로 결정된다.
또한, 제1 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스는, 주목 화소의 제1 계층의 클래스 1 하위 비트에, 주목 화소의 제1 계층의 서브 클래스 1을 부가하여, 클래스 112=3으로 결정된다.
제1 계층의 서브 클래스 분류의 종료 후, 다음 계층, 즉 제2 계층의 클래스 분류 계수 cc(2,0), cc(2,1), cc(2,2), cc(2,3)이 존재하는 경우에는, 제2 계층의 서브 클래스 분류가 행해진다.
제2 계층의 서브 클래스 분류에서는, 제2 계층의 클래스 분류 계수 cc(2,0) 내지 cc(2,3) 중, 주목 화소의 제2 계층의 클래스 k의 클래스 분류 계수 cc(2,k)가 사용된다.
따라서, 예를 들어 주목 화소의 제2 계층의 클래스 k가 클래스 0=002인 경우, 제2 계층의 클래스 분류 계수 cc(2,0)을 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제2 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제2 계층의 서브 클래스 1로 서브 클래스 분류된다.
제2 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제3 계층의 클래스 화소가 된다.
제2 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스가, 주목 화소의 제2 계층의 클래스에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
지금의 경우, 주목 화소의 제2 계층의 클래스 k는 클래스 0=002이기 때문에, 주목 화소의 제3 계층의 클래스는, 그 제2 계층의 클래스 0=002에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
즉, 제2 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 0=002의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 0을 부가하여, 클래스 0002=0으로 결정된다.
또한, 제2 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 0=002의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 1을 부가하여, 클래스 0012=1로 결정된다.
주목 화소의 제2 계층의 클래스 k가 클래스 1=012인 경우, 제2 계층의 클래스 분류 계수 cc(2,1)을 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제2 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제2 계층의 서브 클래스 1로 서브 클래스 분류된다.
제2 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제3 계층의 클래스 화소가 된다.
제2 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스가, 주목 화소의 제2 계층의 클래스에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
지금의 경우, 주목 화소의 제2 계층의 클래스 k는 클래스 1=012이기 때문에, 주목 화소의 제3 계층의 클래스는, 그 제2 계층의 클래스 1=012에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
즉, 제2 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 1=012의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 0을 부가하여, 클래스 0102=2로 결정된다.
또한, 제2 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 1=012의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 1을 부가하여, 클래스 0112=3으로 결정된다.
주목 화소의 제2 계층의 클래스 k가 클래스 2=102인 경우, 제2 계층의 클래스 분류 계수 cc(2,2)를 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제2 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제2 계층의 서브 클래스 1로 서브 클래스 분류된다.
제2 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제3 계층의 클래스 화소가 된다.
제2 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스가, 주목 화소의 제2 계층의 클래스에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
지금의 경우, 주목 화소의 제2 계층의 클래스 k는 클래스 2=102이기 때문에, 주목 화소의 제3 계층의 클래스는, 그 제2 계층의 클래스 2=102에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
즉, 제2 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 2=102의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 0을 부가하여, 클래스 1002 =4로 결정된다.
또한, 제2 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 2=102의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 1을 부가하여, 클래스 1012=5로 결정된다.
주목 화소의 제2 계층의 클래스 k가 클래스 3=112인 경우, 제2 계층의 클래스 분류 계수 cc(2,3)을 사용하여, 주목 화소의 예측 오차 예측값 y가 구해진다.
그리고, 주목 화소의 예측 오차 예측값 y가 0 이상인 경우, 주목 화소는, 제2 계층의 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 예측 오차 예측값 y가 0 미만인 경우, 주목 화소는, 제2 계층의 서브 클래스 1로 서브 클래스 분류된다.
제2 계층에 있어서, 서브 클래스 0 또는 1로 서브 클래스 분류된 주목 화소는, 다음 계층, 즉 제3 계층의 클래스 화소가 된다.
제2 계층에 있어서, 주목 화소가 서브 클래스 분류된 경우, 주목 화소의 제2 계층의 클래스가, 주목 화소의 제2 계층의 클래스에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
지금의 경우, 주목 화소의 제2 계층의 클래스 k는 클래스 3=112이기 때문에, 주목 화소의 제3 계층의 클래스는, 그 제2 계층의 클래스 3=112에, 주목 화소의 제2 계층의 서브 클래스를 가미해서 결정된다.
즉, 제2 계층에 있어서, 주목 화소가 서브 클래스 0으로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 3=112의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 0을 부가하여, 클래스 1102=6으로 결정된다.
또한, 제2 계층에 있어서, 주목 화소가 서브 클래스 1로 서브 클래스 분류된 경우, 주목 화소의 제3 계층의 클래스는, 주목 화소의 제2 계층의 클래스 3=1122의 하위 비트에, 주목 화소의 제2 계층의 서브 클래스 1을 부가하여, 클래스 1112=7로 결정된다.
이하, 클래스 분류 계수 cc(n,k)가 존재하지 않는 계층에 도달할 때까지, 각 계층의 서브 클래스 분류가 순차 행해진다.
또한, 클래스 분류 계수의 학습과, 클래스 분류 계수를 사용한 클래스 분류에 대해서는, 예를 들어 일본특허 제5347862호 공보에 기재되어 있다.
<클래스 분류 계수의 학습을 행하는 학습 장치>
도 61은 클래스 분류 계수의 학습을 행하는 학습 장치의 구성예를 도시하는 블록도이다.
도 61의 학습 장치에서는, 클래스 분류 계수가, 탭 계수와 함께, 통계적인 오차를 최소로 하는 학습에 의해 구해진다.
도 61에 있어서, 학습 장치는, 탭 계수 학습부(701), 탭 계수 설정부(702), 서브 클래스 교사 데이터 생성부(703), 클래스 분류 계수 학습부(704), 클래스 분류 계수 설정부(705), 서브 클래스 예측부(706), 서브 클래스 분류부(707), 클래스 결정부(708), 화소 예측부(709) 및 종료 조건 판정부(710)를 갖는다.
탭 계수 학습부(701)에는, 학생 데이터로서, 예를 들어 복호 도중 화상에 상당하는 학생 화상이 공급됨과 함께, 교사 데이터로서, 예를 들어 원화상에 상당하는 교사 화상이 공급된다.
또한, 탭 계수 학습부(701)에는, 클래스 결정부(708)로부터, 학생 화상의 각 화소의 제n 계층의 클래스 k가 공급된다.
탭 계수 학습부(701)는, 클래스 결정부(708)로부터의 제n 계층의 클래스 k마다, 학생 화상의 제n 계층의 클래스 k의 화소군 (n,k)와, 그 화소군 (n,k)에 대응하는 교사 화상의 화소군을 사용하여, 제n 계층의 클래스 k의 탭 계수 tc(n,k)(의 세트)를 구하는 탭 계수 학습을 행한다.
그리고, 탭 계수 학습부(701)는, 탭 계수 학습에 의해 얻어지는, 제n 계층의 클래스 k의 탭 계수 tc(n,k)(k=0, 1, …2n-1)를, 탭 계수 설정부(702)에 공급한다.
탭 계수 설정부(702)는, 탭 계수 학습부(701)로부터의, 제n 계층의 클래스 k의 탭 계수 tc(n,k)(k=0, 1, …2n-1), 즉 제n 계층의 2n 클래스(개)의 탭 계수 tc(n,k)를 기억하고, 화소 예측부(709)에 설정한다.
또한, 탭 계수 설정부(702)는, 종료 조건 판정부(710)의 제어에 따라서, 기억하고 있는 제n 계층의 2n 클래스의 탭 계수 tc(n,k)를 외부에 출력한다.
서브 클래스 교사 데이터 생성부(703)에는, 교사 화상이 공급된다. 또한, 서브 클래스 교사 데이터 생성부(703)에는, 화소 예측부(709)로부터, 학생 화상 및 제n 계층의 2n 클래스의 탭 계수 tc(n,k)를 사용한 클래스 분류 적응 처리에 의해 구해지는, 교사 화상의 화소의 화소값을 예측한 예측값(이하, 화소 예측값이라고도 한다)이 공급된다.
서브 클래스 교사 데이터 생성부(703)는, 교사 화상과, 화소 예측부(709)로부터의 화소 예측값으로부터, 서브 클래스 교사 데이터를 생성하고, 클래스 분류 계수 학습부(704)에 공급한다.
여기서, 서브 클래스 교사 데이터는, 학생 화상의 화소가 속하는 서브 클래스에 관한 정보이며, 클래스 분류 계수 학습부(704)에서의 클래스 분류 계수 학습의 교사 데이터가 된다.
서브 클래스 교사 데이터로서는, 예를 들어 화소 예측부(709)로부터 서브 클래스 교사 데이터 생성부(703)에 공급되는 화소 예측값의, 교사 화상의 화소의 화소값에 대한 예측 오차를 채용할 수 있다.
클래스 분류 계수 학습부(704)에는, 서브 클래스 교사 데이터 생성부(703)로부터 서브 클래스 교사 데이터가 공급되는 것 외에, 학생 화상이 공급된다.
클래스 분류 계수 학습부(704)는, 서브 클래스 교사 데이터로서의 화소 예측값의 예측 오차를 교사 데이터로 함과 함께, 학생 화상의 화소 중, 제n 계층의 클래스 k의 화소군 (n,k)를 학생 데이터로 하고, 도 59에서 설명한 바와 같이, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)를 구하는 클래스 분류 계수 학습을 행한다.
즉, 클래스 분류 계수 학습부(704)에서는, 제n 계층의 클래스 k의 학생 화상의 화소군 (n,k)를 학생 데이터로 함과 함께, 그 화소군 (n,k)의 각 화소에 대응하는 교사 화상의 화소의 화소 예측값의 예측 오차(서브 클래스 교사 데이터)를 교사 데이터로 하고, 상술한 예측 오차 예측식 y=w1x1+w2x2+…+wMxM으로 표현되는, 화소 예측값의 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 클래스 분류 계수 wm이, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)로서 구해진다. 예측 오차 예측값 y의 예측 오차를 통계적으로 최소로 하는 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)는, 예를 들어 탭 계수 학습과 마찬가지로, 최소 제곱법에 의해 구할 수 있다.
클래스 분류 계수 학습부(704)는, 클래스 분류 계수 학습에 의해, 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를 구하면, 그 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를, 클래스 분류 계수 설정부(705)에 공급한다.
클래스 분류 계수 설정부(705)는, 클래스 분류 계수 학습부(704)로부터의 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를 기억하고, 서브 클래스 예측부(706)에 설정한다.
또한, 클래스 분류 계수 설정부(705)는, 종료 조건 판정부(710)의 제어에 따라서, 기억하고 있는 제0 계층으로부터 제n 계층까지의 클래스 분류 계수 cc(0,k), cc(1,k), …, cc(n,k)를 외부에 출력한다.
서브 클래스 예측부(706)에는, 학생 화상이 공급된다.
서브 클래스 예측부(706)는, 학생 화상의 화소군 중 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소에 대해서, 클래스 분류 계수 설정부(705)로부터의, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)={wm}을 사용하여, 예측 오차 예측식 y=w1x1+w2x2+…+wMxM에 따른 예측 연산을 행함으로써, 화소 예측값의 예측 오차 예측값 y를, 서브 클래스 예측값으로서 구한다.
여기서, 서브 클래스 예측값이란, 제n 계층의 클래스 k의 화소군 (n,k)의 화소가 속하는 서브 클래스에 관한 정보로서의 서브 클래스 교사 데이터를 예측한 예측값이다.
서브 클래스 예측부(706)는, 서브 클래스 예측값을, 서브 클래스 분류부(707)에 공급한다.
서브 클래스 분류부(707)는, 서브 클래스 예측부(706)로부터의 서브 클래스 예측값에 따라서, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 서브 클래스 분류를 행한다.
즉, 예를 들어 서브 클래스 예측값(예측 오차 예측값 y)이 0 이상인 화소는, 서브 클래스 0으로 서브 클래스 분류되고, 서브 클래스 예측값이 0 미만인 화소는, 서브 클래스 1로 서브 클래스 분류된다.
서브 클래스 분류부(707)는, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 서브 클래스를, 클래스 결정부(708)에 공급한다.
클래스 결정부(708)는, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 제n+1 계층의 클래스 k'를, 제n 계층의 클래스 k에, 서브 클래스 분류부(707)로부터의 제n 계층의 서브 클래스를 가미하여, 도 60에서 설명한 바와 같이 결정한다.
클래스 결정부(708)는, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소에 대해서 결정한 제n+1 계층의 클래스 k'를, 그 제n+1 계층의 클래스 k'에 속하는 학생 화상의 화소를 식별할 수 있는 형태로, 탭 계수 학습부(701) 및 화소 예측부(709)에 공급한다.
화소 예측부(709)에는, 복호 도중 화상에 상당하는 학생 화상이 공급된다.
화소 예측부(709)는, 클래스 결정부(708)로부터의 제n 계층의 클래스 k(k=0, 1, … 2n-1)마다, 학생 화상의 제n 계층의 클래스 k의 화소군 (n,k)의 각 화소를 주목 화소로 하고, 그 주목 화소에 대응하는 교사 화상의 화소의 화소값의 화소 예측값을, 탭 계수 설정부(702)로부터의 제n 계층의 클래스 k의 탭 계수 tc(n,k)를 사용해서 구하는 클래스 분류 적응 처리(중 식 (1)의 예측 연산)를 행한다.
그리고, 화소 예측부(709)는, 클래스 분류 적응 처리에 의해 얻어지는 각 화소의 화소 예측값을, 서브 클래스 교사 데이터 생성부(703)에 공급한다.
종료 조건 판정부(710)는, 학습의 종료 조건이 만족되었는지 여부를 판정하고, 학습의 종료 조건이 만족되는 경우에는, 학습 장치에서의 탭 계수 tc(n,k) 및 클래스 분류 계수 cc(n,k)의 학습을 종료한다. 또한, 종료 조건 판정부(710)는, 탭 계수 설정부(702) 및 클래스 분류 계수 설정부(705)를 제어함으로써, 탭 계수 설정부(702)가 기억하고 있는 제n 계층의 2n 클래스의 탭 계수 tc(n,k)를 외부에 출력시킴과 함께, 클래스 분류 계수 설정부(705)가 기억하고 있는 제0 계층으로부터 제n-1 계층까지의 클래스 분류 계수 cc(0,k), cc(1,k), …, cc(n-1,k)를 외부에 출력시킨다.
또한, 탭 계수 설정부(702) 및 클래스 분류 계수 설정부(705)는, 1개의 블록으로 구성할 수 있다.
도 62는 도 61의 학습 장치가 행하는 학습 처리의 예를 설명하는 흐름도이다.
스텝 S311에 있어서, 종료 조건 판정부(710)는, 계층(을 나타내는 변수) n을, 초기값으로서의, 예를 들어 0으로 설정한다.
그 후, 처리는 스텝 S311로부터 스텝 S312로 진행하고, 탭 계수 학습부(701)는, 클래스 결정부(708)로부터의 제n 계층의 클래스 k마다, 학생 화상의 제n 계층의 클래스 k의 화소군 (n,k)와, 그 화소군 (n,k)에 대응하는 교사 화상의 화소군을 사용하여, 제n 계층의 클래스 k의 탭 계수 tc(n,k)를 구하는 탭 계수 학습을 행한다.
그리고, 탭 계수 학습부(701)는, 탭 계수 학습에 의해 얻어지는, 제n 계층의 2n 클래스의 탭 계수 tc(n,k)(k=0, 1, …2n-1)을, 탭 계수 설정부(702)에 공급해서 기억시키고, 처리는 스텝 S312로부터 스텝 S313으로 진행한다.
또한, 스텝 S312의 탭 계수 학습에서는, 제0 계층(n=0)에 대해서는, 학생 화상의 전체 화소를, 1개의 클래스(예를 들어, 클래스 0)의 화소로서, 1=20개(클래스)의 탭 계수 tc(0,0)(의 세트)가 구해진다.
스텝 S313에서는, 종료 조건 판정부(710)가, 학습의 종료 조건이 만족되었는지 여부를 판정한다.
여기서, 학습의 종료 조건으로서는, 예를 들어 계층 n이, 최종 계층 N인 것을 채용할 수 있다. 최종 계층 N이란, 탭 계수 tc(n,k)를 구하는 최후의 계층으로, 예를 들어 미리 설정해 둘 수 있다.
또한, 학습의 종료 조건으로서는, 예를 들어 화소 예측부(709)에서의 클래스 분류 적응 처리에 의해 구해지는 화소 예측값으로 구성되는 화상의 S/N의 증가량이 역치 이하인 것 등을 채용할 수 있다.
스텝 S313에 있어서, 학습의 종료 조건이 만족되지 않았다고 판정된 경우, 처리는 스텝 S314로 진행하고, 이하, 제n 계층의 학습이 행해진다.
즉, 스텝 S314에 있어서, 탭 계수 설정부(702)는, 기억하고 있는 제n 계층의 2n 클래스의 탭 계수 tc(n,k)를, 화소 예측부(709)에 설정한다.
화소 예측부(709)는, 클래스 결정부(708)로부터의 제n 계층의 클래스 k(k=0, 1, …2n-1)마다, 학생 화상의 제n 계층의 클래스 k의 화소군 (n,k)의 각 화소를 주목 화소로 하고, 그 주목 화소에 대응하는 교사 화상의 화소의 화소값의 화소 예측값을, 탭 계수 설정부(702)로부터의 제n 계층의 클래스 k의 탭 계수 tc(n,k)를 사용해서 구하는 클래스 분류 적응 처리(중 식 (1)의 예측 연산)를 행한다.
그리고, 화소 예측부(709)는, 클래스 분류 적응 처리에 의해 얻어지는 화소 예측값을, 서브 클래스 교사 데이터 생성부(703)에 공급하고, 처리는 스텝 S314로부터 스텝 S315로 진행한다.
또한, 스텝 S314의 클래스 분류 적응 처리에서는, 제0 계층(n=0)에 대해서는, 학생 화상의 전체 화소를, 1개의 클래스(예를 들어, 클래스 0)의 화소로 하고, 직전의 스텝 S312에서 구해지는 1=20개(클래스)의 탭 계수 tc(0,0)을 사용하여, 1개의 클래스의 화소인, 학생 화상의 각 화소에 대응하는 교사 화상의 화소의 화소값의 화소 예측값이 구해진다.
스텝 S315에서는, 서브 클래스 교사 데이터 생성부(703)는, 교사 화상과, 화소 예측부(709)로부터의 각 화소의 화소 예측값으로부터, 그 화소 예측값의, 교사 화상의 대응 화소의 화소값에 대한 예측 오차를, 서브 클래스 교사 데이터로서 구한다(생성한다).
그리고, 서브 클래스 교사 데이터 생성부(703)는, 서브 클래스 교사 데이터를, 클래스 분류 계수 학습부(704)에 공급하고, 처리는 스텝 S315로부터 스텝 S316으로 진행한다.
스텝 S316에서는, 클래스 분류 계수 학습부(704)는, 서브 클래스 교사 데이터 생성부(703)로부터의 서브 클래스 교사 데이터로서의 화소 예측값의 예측 오차를 교사 데이터로 함과 함께, 학생 화상의 화소 중, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …2n-1)을 학생 데이터로 하고, 제n 계층의 클래스 k마다, 도 59 등에서 설명한 바와 같이, 서브 클래스 분류에 사용하는 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)를 구하는 클래스 분류 계수 학습을 행한다.
클래스 분류 계수 학습부(704)는, 제n 계층의 클래스 k마다의 클래스 분류 계수 학습에 의해, 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를 구하면, 그 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를, 클래스 분류 계수 설정부(705)에 공급해서 기억시킨다.
클래스 분류 계수 설정부(705)는, 클래스 분류 계수 학습부(704)로부터의 제n 계층의 2n 클래스의 클래스 분류 계수 cc(n,k)를 기억하고, 서브 클래스 예측부(706)에 설정하고, 처리는 스텝 S316으로부터 스텝 S317로 진행한다.
스텝 S317에서는, 서브 클래스 예측부(706)는, 학생 화상의 화소군 중 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소에 대해서, 클래스 분류 계수 설정부(705)로부터의, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)={wm}을 사용하여, 예측 오차 예측식 y=w1x1+w2x2+…+wMxM에 따른 예측 연산을 행함으로써, 화소 예측값의 예측 오차 예측값 y를, 서브 클래스 예측값으로서 구하고, 서브 클래스 분류부(707)에 공급한다.
서브 클래스 분류부(707)는, 서브 클래스 예측부(706)로부터의 서브 클래스 예측값에 따라서, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 서브 클래스 분류를 행한다.
즉, 서브 클래스 분류부(707)는, 서브 클래스 예측값(예측 오차 예측값 y)이 0 이상인 화소를, 서브 클래스 0으로 서브 클래스 분류하고, 예측 오차 예측값 y가 0 미만인 화소를, 서브 클래스 1로 서브 클래스 분류한다.
서브 클래스 분류에 의해, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)은, 제n 계층의 서브 클래스 0의 화소군 (n,k,0)과 서브 클래스 1의 화소군 (n,k,1)로 분류된다.
서브 클래스 분류부(707)는, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 서브 클래스를, 클래스 결정부(708)에 공급한다.
클래스 결정부(708)는, 제n 계층의 클래스 k의 화소군 (n,k)(k=0, 1, …, 2n-1)의 각 화소의 제n+1 계층의 클래스 k'를, 제n 계층의 클래스 k에, 서브 클래스 분류부(707)로부터의 제n 계층의 서브 클래스를 가미하여, 도 60에서 설명한 바와 같이 결정한다.
또한, 스텝 S317에서는, 제0 계층(n=0)의 화소군 (0,0)에 대해서는, 제1 계층의 클래스는, 제0 계층의 서브 클래스로부터 결정된다.
즉, 제0 계층에 있어서, 서브 클래스 0으로 서브 클래스 분류된 화소의 제1 계층의 클래스는, 서브 클래스 0에 따라서, 클래스 0으로 결정되고, 서브 클래스 1에 서브 클래스 분류된 화소의 제1 계층의 클래스는, 서브 클래스 1에 따라서, 클래스 1로 결정된다.
클래스 결정부(708)는, 제n 계층의 클래스 k마다, 제n 계층의 클래스 k의 화소군 (n,k)의 각 화소에 대해서, 제n+1 계층의 클래스 k'를 결정하면, 제n+1 계층의 클래스 k'에 속하는 학생 화상의 화소를 식별할 수 있는 형태로, 학생 화상의 각 화소의 제n+1 계층의 클래스 k'를, 탭 계수 학습부(701) 및 화소 예측부(709)에 공급하고, 처리는 스텝 S317로부터 스텝 S318로 진행한다.
스텝 S318에서는, 종료 조건 판정부(710)는, 계층 n을 1만큼 인크리먼트하고, 처리는 스텝 S312로 되돌아간다.
스텝 S312에서는, 탭 계수 학습부(701)는, 클래스 결정부(708)로부터의, 스텝 S318에서의 계층 n의 인크리먼트 후의 제n 계층의 클래스 k마다, 상술한 바와 같이, 학생 화상의 제n 계층의 클래스 k의 화소군 (n,k)와, 그 화소군 (n,k)에 대응하는 교사 화상의 화소군을 사용하여, 제n 계층의 클래스 k의 탭 계수 tc(n,k)를 구하는 탭 계수 학습을 행한다.
그리고, 탭 계수 학습부(701)는, 탭 계수 학습에 의해 얻어지는, 제n 계층의 2n 클래스의 탭 계수 tc(n,k)(k=0, 1, …2n-1)를, 탭 계수 설정부(702)에 공급해서 기억시키고, 처리는 스텝 S312로부터 스텝 S313으로 진행한다.
여기서, 스텝 S314로부터 개시되는, 어느 계층인 제L 계층의 학습은, 스텝 S318로부터 스텝 S312로 되돌아가서, 제L+1 계층의 2L+1 클래스의 탭 계수 tc(L+1,k)(k=0, 1, …2L+1-1)이 구해짐으로써 종료한다.
스텝 S314로부터 시작되어, 스텝 S318로부터 스텝 S312로 되돌아갈 때까지의 처리가, 1 계층의 학습이다.
스텝 S313에 있어서, 학습의 종료 조건이 만족된다고 판정된 경우, 처리는 스텝 S319로 진행하고, 종료 조건 설정부(710)는, 탭 계수 설정부(702) 및 클래스 분류 계수 설정부(705)를 제어함으로써, 탭 계수 설정부(702)가 기억하고 있는 탭 계수 tc(n,k) 및 클래스 분류 계수 설정부(705)가 기억하고 있는 클래스 분류 계수 cc(n,k)를 외부에 출력시키고, 학습 처리는, 종료된다.
즉, 지금, 제N-1 계층의 학습이 종료되고, 계층 n이 최종 계층 N이 되어 있는 것으로 한다.
이 경우, 탭 계수 설정부(702)는, 종료 조건 판정부(710)의 제어에 따라서, 기억하고 있는 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)을 외부에 출력한다.
또한, 클래스 분류 계수 설정부(705)는, 종료 조건 판정부(710)의 제어에 따라서, 기억하고 있는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를 외부에 출력한다.
<클래스 분류에 클래스 분류 계수를 사용하는 클래스 분류 적응 처리를 행하는 화상 변환 장치>
도 63은 클래스 분류에 클래스 분류 계수를 사용하는 클래스 분류 적응 처리를 행하는 화상 변환 장치의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 2의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 63에 있어서, 화상 변환 장치는, 탭 선택부(21 및 22), 예측 연산부(25), 클래스 분류부(721), 그리고 계수 취득부(722)를 갖는다.
따라서, 도 63의 화상 변환 장치는, 탭 선택부(21 및 22), 그리고 예측 연산부(25)를 갖는 점에서, 도 2의 경우와 공통된다.
단, 도 63의 화상 변환 장치는, 클래스 분류부(23) 및 계수 취득부(24)를 대신하여, 클래스 분류부(721) 및 계수 취득부(722)를 각각 갖는 점에서, 도 2의 경우와 상이하다.
클래스 분류부(721)에는, 탭 선택부(22)로부터 클래스 탭이 공급된다.
클래스 분류부(721)는, 도 61의 학습 장치에서 얻어지는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를 기억한다.
클래스 분류부(721)는, 탭 선택부(22)로부터의 클래스 탭을 사용함과 함께, 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를, 필요에 따라서 사용하여, 주목 화소의 클래스 분류를 행하고, 그 클래스 분류에 의해 얻어지는 주목 화소의 클래스(제N 계층의 클래스)를, 계수 취득부(722)에 공급한다.
계수 취득부(722)는, 도 61의 학습 장치에서 얻어지는 제N 계층의 2N 클래스의 탭 계수 tc(n,k)(k=0, 1, …2N-1)을 기억한다.
계수 취득부(722)는, 기억하고 있는 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)로부터, 클래스 분류부(721)로부터 공급되는 주목 화소의 클래스 k의 탭 계수 tc(N,k)을 취득하고, 예측 연산부(25)에 공급한다.
도 64는, 도 63의 클래스 분류부(721)의 구성예를 도시하는 블록도이다.
도 64에 있어서, 클래스 분류부(721)는, 클래스 분류 계수 설정부(731), 서브 클래스 예측부(732), 서브 클래스 분류부(733) 및 클래스 결정부(734)를 갖는다.
클래스 분류 계수 설정부(731)는, 도 61의 학습 장치에서 얻어지는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를 기억한다.
클래스 분류 계수 설정부(731)는, 클래스 결정부(734)로부터 공급되는 주목 화소의 제n 계층의 클래스 k에 따라서, 기억하고 있는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지 중에서 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)를 취득하고, 서브 클래스 예측부(732)에 설정한다.
서브 클래스 예측부(732)에는, 주목 화소의 클래스 탭이 공급된다.
서브 클래스 예측부(732)는, 주목 화소의 클래스 탭을 구성하는 화소의 화소값 xm과, 클래스 분류 계수 설정부(731)로부터의 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)={wm}을 사용하여, 예측 오차 예측식 y=w1x1+w2x2+…+wMxM에 따른 예측 연산을 행한다.
이 예측 연산에 의해, 주목 화소에 대응하는 원화상의 대응 화소의 화소 예측값의 예측 오차 예측값 y가, 주목 화소의 서브 클래스 예측값으로서 구해지고, 서브 클래스 예측부(732)로부터 서브 클래스 분류부(733)에 공급된다.
서브 클래스 분류부(733)는, 서브 클래스 예측부(732)로부터의 서브 클래스 예측값에 따라서, 제n 계층의 클래스 k의 주목 화소의 서브 클래스 분류를 행한다.
즉, 예를 들어 주목 화소의 서브 클래스 예측값(예측 오차 예측값 y)이 0 이상인 경우, 제n 계층의 클래스 k의 주목 화소는, 서브 클래스 0으로 서브 클래스 분류된다. 또한, 주목 화소의 서브 클래스 예측값이 0 미만인 경우, 제n 계층의 클래스 k의 주목 화소는, 서브 클래스 1로 서브 클래스 분류된다.
서브 클래스 분류부(733)는, 제n 계층의 클래스 k의 주목 화소의 서브 클래스를, 클래스 결정부(734)에 공급한다.
클래스 결정부(734)는, 주목 화소의 제n+1 계층의 클래스 k'를, 주목 화소의 제n 계층의 클래스 k에, 서브 클래스 분류부(733)로부터의 주목 화소의 제n 계층의 서브 클래스를 가미하여, 도 60에서 설명한 바와 같이 결정한다.
그리고, 클래스 결정부(734)는, 주목 화소의 제n+1 계층의 클래스 k'를, 클래스 분류 계수 설정부(731)에 공급한다.
이 경우, 클래스 분류 계수 설정부(731)에서는, 클래스 결정부(734)로부터 공급되는 주목 화소의 제n+1 계층의 클래스 k'에 따라서, 기억하고 있는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지의 중에서 제n+1 계층의 클래스 k'의 클래스 분류 계수 cc(n+1,k')가 취득되고, 서브 클래스 예측부(732)에 설정된다.
또한, 클래스 결정부(734)는, 제n+1 계층이, 최종 계층 N인 제N 계층인 경우, 주목 화소의 제N 계층의 클래스 k를, 주목 화소의 클래스 분류 결과로서, 계수 취득부(722)에 공급한다.
도 65는 도 64의 클래스 분류부(721)에서 행해지는, 클래스 분류 계수를 사용한 클래스 분류의 처리의 예를 설명하는 흐름도이다.
스텝 S331에 있어서, 클래스 결정부(734)는, 계층(을 나타내는 변수) n을, 초기값으로서의, 예를 들어 0으로 설정하고, 처리는 스텝 S332로 진행한다.
스텝 S332에서는, 클래스 결정부(734)는, 계층 n이 최종 계층 N인지 여부를 판정한다.
스텝 S332에 있어서, 계층 n이 최종 계층 N이 아니라고 판정된 경우, 처리는 스텝 S333으로 진행하여, 주목 화소의 서브 클래스 예측값이 구해진다.
즉, 스텝 S333에서는, 클래스 분류 계수 설정부(731)는, 클래스 결정부(734)로부터 공급되는 주목 화소의 제n 계층의 클래스 k에 따라서, 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)를, 서브 클래스 예측부(732)에 설정한다.
또한, 제0 계층(n=0)에 대해서는, 클래스 분류 계수 설정부(731)는, 제0 계층의 클래스 분류 계수 cc(0,0)을, 서브 클래스 예측부(732)에 설정한다.
서브 클래스 예측부(732)는, 탭 선택부(22)(도 63)로부터의 주목 화소의 클래스 탭을 구성하는 화소의 화소값 xm과, 클래스 분류 계수 설정부(731)로부터의 제n 계층의 클래스 k의 클래스 분류 계수 cc(n,k)={wm}을 사용하여, 예측 오차 예측식 y=w1x1+w2x2+…+wMxM에 따른 예측 연산을 행한다.
그리고, 서브 클래스 예측부(732)는, 예측 연산에 의해 얻어지는 주목 화소의 서브 클래스 예측값을, 서브 클래스 분류부(733)에 공급하고, 처리는 스텝 S333으로부터 스텝 S334로 진행한다.
스텝 S334에서는, 서브 클래스 분류부(733)는, 서브 클래스 예측부(732)로부터의 서브 클래스 예측값에 따라서, 제n 계층의 클래스 k의 주목 화소의 서브 클래스 분류를 행한다. 그리고, 서브 클래스 분류부(733)는, 서브 클래스 분류에 의해 얻어지는, 주목 화소의, 제n 계층의 서브 클래스를, 클래스 결정부(734)에 공급하고, 처리는 스텝 S334로부터 스텝 S335로 진행한다.
스텝 S335에서는, 클래스 결정부(734)는, 주목 화소의 제n+1 계층의 클래스 k를, 주목 화소의 제n 계층의 클래스 k에, 서브 클래스 분류부(733)로부터의 제n 계층의 서브 클래스를 가미하여, 도 60에서 설명한 바와 같이 결정한다.
그리고, 클래스 결정부(734)는, 주목 화소의 제n+1 계층의 클래스 k를, 클래스 분류 계수 설정부(731)에 공급하고, 처리는 스텝 S335로부터 스텝 S336으로 진행한다.
스텝 S336에서는, 클래스 결정부(734)는, 계층 n을 1만큼 인크리먼트하고, 처리는 스텝 S332로 되돌아간다.
그리고, 스텝 S332에 있어서, 계층 n이 최종 계층 N이라고 판정된 경우, 처리는 스텝 S337로 진행하고, 클래스 결정부(734)는, 주목 화소의 제N 계층의 클래스 k를, 주목 화소의 클래스 분류 결과로서, 계수 취득부(722)(도 63)에 공급하고, 클래스 분류의 처리는 종료한다.
이상과 같은 클래스 분류 계수를 사용한 클래스 분류에 의하면, 화소값의 예측 오차에 의해, 화소가 분류되므로, 클래스 분류 적응 처리에 의해 얻어지는 제2 화상의 S/N을 보다 향상시키도록 클래스 분류를 행하는 것이 가능하게 된다.
<부호화 장치(11)의 제7 구성예>
도 66은 도 1의 부호화 장치(11)의 제7 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 9의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 66에 있어서, 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110), 프레임 메모리(112) 내지 레이트 제어부(117) 및 클래스 분류 적응 필터(811)를 갖는다.
따라서, 도 66의 부호화 장치(11)는, A/D 변환부(101) 내지 연산부(110) 및 프레임 메모리(112) 내지 레이트 제어부(117)를 갖는 점에서, 도 9의 경우와 공통된다.
단, 도 66의 부호화 장치(11)는, 클래스 분류 적응 필터(111)를 대신하여, 클래스 분류 적응 필터(811)를 갖는 점에서, 도 9의 경우와 상이하다.
클래스 분류 적응 필터(811)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 클래스 분류 적응 필터(111)와 공통된다.
단, 클래스 분류 적응 필터(811)에서는, 클래스 분류 계수를 사용해서 클래스 분류가 행해지는 점에서, 클래스 분류 적응 필터(111)와 상이하다.
또한, 클래스 분류 적응 필터(811)에서는, 클래스 분류 계수가, 필터 정보로서, 가역 부호화부(106)에 공급되어 전송되는 점에서, 클래스 분류 적응 필터(111)와 상이하다.
<클래스 분류 적응 필터(811)의 구성예>
도 67은 도 66의 클래스 분류 적응 필터(811)의 구성예를 도시하는 블록도이다.
도 67에 있어서, 클래스 분류 적응 필터(811)는, 화상 변환 장치(831) 및 학습 장치(832)를 갖는다.
화상 변환 장치(831)에는, 연산부(110)(도 66)로부터 복호 도중 화상이 공급됨과 함께, 학습 장치(832)로부터 클래스마다의 탭 계수 및 클래스 분류 계수가 공급된다. 또한, 화상 변환 장치(831)에는 부호화 정보가 공급된다.
화상 변환 장치(831)는, 복호 도중 화상을 제1 화상으로 하여, 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 프레임 메모리(112)(도 66)에 공급한다.
또한, 화상 변환 장치(831)는, 클래스 분류 적응 처리에 있어서, 클래스 분류를, 학습 장치(832)로부터의 클래스 분류 계수를 사용해서 행한다. 또한, 클래스 분류는, 도 10의 화상 변환 장치(131)와 마찬가지로, 필요에 따라서, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보를 사용해서 행할 수 있다.
학습 장치(832)에는, 재배열 버퍼(102)(도 66)로부터 원화상이 공급됨과 함께, 연산부(110)(도 66)로부터 복호 도중 화상이 공급된다. 또한, 학습 장치(832)에는, 부호화 정보가 공급된다.
학습 장치(832)는, 복호 도중 화상 및 원화상을 사용하여, 클래스 분류 계수 학습을 행함과 함께, 탭 계수 학습을 행한다. 탭 계수 학습에서는, 클래스 분류 계수 학습에 의해 얻어지는 클래스 분류 계수를 사용해서 클래스 분류가 행해진다.
또한, 학습 장치(832)는, 클래스 분류 계수 학습에 의해 얻어지는 클래스 분류 계수 및 탭 계수 학습에 의해 얻어지는 클래스마다의 탭 계수를, 필터 정보로서, 화상 변환 장치(831) 및 가역 부호화부(106)(도 66)에 공급한다.
또한, 학습 장치(832)에서는, 화상 변환 장치(831)와 마찬가지로, 클래스 분류를, 필요에 따라서, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보도 사용해서 행할 수 있다.
<화상 변환 장치(831)의 구성예>
도 68은 도 67의 화상 변환 장치(831)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 11의 화상 변환 장치(131)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 그 설명은, 적절히 생략한다.
도 68에 있어서, 화상 변환 장치(831)는, 탭 선택부(21 및 22), 예측 연산부(25), 클래스 분류부(841), 그리고 계수 취득부(842)를 갖는다.
따라서, 화상 변환 장치(831)는, 탭 선택부(21 및 22), 그리고 예측 연산부(25)를 갖는 점에서, 도 11의 화상 변환 장치(131)와 공통된다.
단, 화상 변환 장치(831)는, 클래스 분류부(23) 및 계수 취득부(24)를 대신하여, 클래스 분류부(841) 및 계수 취득부(842)를 각각 갖는 점에서, 도 11의 화상 변환 장치(131)와 상이하다.
클래스 분류부(841)는, 도 67의 학습 장치(832)로부터 공급되는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를 기억한다.
클래스 분류부(841)는, 탭 선택부(22)로부터 공급되는 클래스 탭을 사용함과 함께, 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를, 필요에 따라서 사용하여, 주목 화소의 클래스 분류를 행하고, 그 클래스 분류에 의해 얻어지는 주목 화소의 클래스(제N 계층의 클래스)를, 계수 취득부(842)에 공급한다.
계수 취득부(842)는, 도 67의 학습 장치(832)로부터 공급되는 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)을 기억한다.
계수 취득부(842)는, 기억하고 있는 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)로부터, 클래스 분류부(841)로부터 공급되는 주목 화소의 클래스 k의 탭 계수 tc(N,k)을 취득하고, 예측 연산부(25)에 공급한다.
또한, 클래스 분류부(841)에서는, 클래스 분류 계수 외에, 필요에 따라서, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보도 사용하여, 클래스 분류를 행할 수 있다.
예를 들어, 클래스 분류 계수를 사용한 클래스 분류의 제0 계층의 서브 클래스 분류에 있어서, 클래스 분류 계수 외에, 화상 특징량이나 부호화 정보를 사용함으로써 주목 화소를, 2 또는 3 이상의 서브 클래스로 분류할 수 있다.
도 69는, 도 68의 클래스 분류부(841)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 64의 클래스 분류부(721)와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 69에 있어서, 클래스 분류부(841)는, 클래스 분류 계수 설정부(731), 서브 클래스 예측부(732), 서브 클래스 분류부(733) 및 클래스 결정부(734)를 갖는다.
따라서, 도 69의 클래스 분류부(841)는, 클래스 분류 계수 설정부(731) 내지 클래스 결정부(734)를 갖는 점에서, 도 64의 클래스 분류부(721)와 공통된다.
단, 도 69의 클래스 분류부(841)에서는, 클래스 분류 계수 설정부(731)는, 도 67의 학습 장치(832)로부터 공급되는 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지를 기억한다.
또한, 도 69의 클래스 분류부(841)에서는, 서브 클래스 분류부(733)에, 서브 클래스 예측부(732)로부터, 주목 화소의 서브 클래스 예측값이 공급되는 것 외에, 클래스 탭 및 부호화 정보가 공급된다.
서브 클래스 분류부(733)에서는, 서브 클래스 예측값 외에, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보도 사용하여, 제0 계층의 서브 클래스 분류를 행할 수 있다.
제0 계층의 서브 클래스 분류를, 서브 클래스 예측값 외에, 화상 특징량이나 부호화 정보를 사용해서 행함으로써, 클래스 분류부(841)에서 행해지는 클래스 분류는, 클래스 분류 계수 외에, 화상 특징량이나, 부호화 정보를 사용한 클래스 분류가 된다.
<학습 장치(832)의 구성예>
도 70은, 도 67의 학습 장치(832)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 61의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 70에 있어서, 학습 장치(832)는, 탭 계수 학습부(701), 탭 계수 설정부(702), 서브 클래스 교사 데이터 생성부(703), 클래스 분류 계수 학습부(704), 클래스 분류 계수 설정부(705), 서브 클래스 예측부(706), 서브 클래스 분류부(707), 클래스 결정부(708), 화소 예측부(709) 및 종료 조건 판정부(710)를 갖는다.
따라서, 도 70의 학습 장치(832)는, 탭 계수 학습부(701) 내지 종료 조건 판정부(710)를 갖는 점에서, 도 61의 경우와 공통된다.
단, 도 70의 학습 장치(832)에서는, 서브 클래스 분류부(707)에, 서브 클래스 예측부(706)로부터, 서브 클래스 예측값이 공급되는 것 외에, 학생 화상 및 부호화 정보가 공급된다.
서브 클래스 분류부(707)에서는, 도 69의 서브 클래스 분류부(733)와 마찬가지로, 서브 클래스 예측값 외에, 학생 화상의 각 화소에 대해서, 도 68의 화상 변환 장치(831)에서 생성되는 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보도 사용하여, 제0 계층의 서브 클래스 분류를 행할 수 있다.
제0 계층의 서브 클래스 분류를, 서브 클래스 예측값 외에, 화상 특징량이나 부호화 정보를 사용해서 행함으로써, 클래스 결정부(708)에서 결정되는 클래스는, 클래스 분류 계수 외에, 화상 특징량이나, 부호화 정보를 사용한 클래스 분류에 의해 얻어지는 클래스가 된다.
또한, 도 70의 학습 장치(832)에서는, 종료 조건 판정부(710)에, 화소 예측부(709)가 클래스 분류 적응 처리에 의해 구하는 화소 예측값을 공급함과 함께, 교사 화상을 공급할 수 있다.
이 경우, 종료 조건 판정부(710)에서는, 교사 화상을 참값으로 하여, 화소 예측값의 S/N을 구하고, 학습의 종료 조건으로서, 화소 예측값으로 구성되는 화상의 S/N의 증가량이 역치 이하인 것을 채용할 수 있다.
이러한 종료 조건에 의해 얻어지는 클래스 분류 계수 및 탭 계수에 의하면, S/N을 거의 한계(포화 상태)에까지 향상시키는 것이 가능하게 된다.
<부호화 처리>
도 71은 도 66의 부호화 장치(11)의 부호화 처리의 예를 설명하는 흐름도이다.
도 66의 부호화 장치(11)에서는, 스텝 S411 내지 S429에 있어서, 도 14의 스텝 S11 내지 S29와 각각 마찬가지 처리가 행해진다.
단, 부호화 장치(11)에 있어서, 클래스 분류 적응 필터(811)의 학습 장치(832)(도 67)는, 도 10에 학습 장치(132)와 마찬가지로, 거기에 공급되는 복호 도중 화상을 학생 데이터로 함과 함께, 그 복호 도중 화상에 대응하는 원화상을 교사 데이터로 하여, 적절히, 학습을 행하지만, 그 학습에서는, 클래스마다의 탭 계수와 클래스 분류 계수가, 필터 정보로서 생성된다. 그리고, 클래스마다의 탭 계수와 클래스 분류 계수가, 스텝 S412에서 갱신되는 필터 정보 및 스텝 S413에서 전송 대상으로 설정되는 필터 정보가 된다.
또한, 스텝 S425에 있어서, 클래스 분류 적응 필터(811)는, 도 14의 스텝 S25와 마찬가지로, 연산부(110)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시하지만, 그 클래스 분류 적응 처리에서는, 클래스 분류 계수를 사용해서 클래스 분류를 행한다.
여기서, 클래스 분류 계수를 사용한 클래스 분류에서는, 도 69나 도 70에서 설명한 바와 같이, 클래스 분류 계수 외에, 화상 특징량이나 부호화 정보도 사용할 수 있지만, 이하에서는, 설명을 간단하게 하기 위해서, 클래스 분류 계수를 사용한 클래스 분류에 있어서, 화상 특징량이나 부호화 정보도 사용하는 것에 대해서는, 적절히, 설명을 생략한다.
또한, 스텝 S427에서는, 가역 부호화부(106)(도 66)는, 도 14의 스텝 S27과 마찬가지로, 양자화 계수, 부호화 정보 및 필터 정보를 부호화하고, 부호화 데이터에 포함시키지만, 부호화 데이터에 포함시킬 수 있는 필터 정보에는, 클래스마다의 탭 계수 외에, 클래스 분류 계수가 포함된다.
따라서, 가역 부호화부(106)에서 얻어지는 부호화 데이터에는, 양자화 계수, 부호화 정보, 그리고 필터 정보로서의 탭 계수 및 클래스 분류 계수가 포함된다. 그리고 이러한 부호화 데이터는, 스텝 S428에서, 도 14의 스텝 S28에서 설명한 바와 같이, 축적 버퍼(107)로부터, 적절히 판독되어 전송된다.
도 72는, 도 71의 스텝 S425에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(811)의 화상 변환 장치(831)(도 68)에서는, 스텝 S441 내지 S447에 있어서, 도 15의 스텝 S41 내지 S47과 각각 마찬가지 처리가 행해진다.
단, 스텝 S443의 주목 화소의 클래스 분류에서는, 클래스 분류부(841)(도 68, 도 69)는, 도 65에서 설명한 바와 같이, 클래스 분류 계수를 사용해서 클래스 분류를 행하고, 주목 화소의 최종 계층 N의 클래스를 구한다.
또한, 스텝 S444에서는, 계수 취득부(842)(도 68)는, 제N 계층의 2N 클래스의 탭 계수로부터, 클래스 분류부(841)로부터의 주목 화소의 최종 계층 N의 클래스의 탭 계수를 취득하고, 예측 연산부(25)에 공급한다.
<복호 장치(12)의 제7 구성예>
도 73은, 도 1의 복호 장치(12)의 제7 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 16의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 73에 있어서, 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208), 프레임 메모리(210) 내지 선택부(214) 및 클래스 분류 적응 필터(861)를 갖는다.
따라서, 도 73의 복호 장치(12)는, 축적 버퍼(201) 내지 연산부(205), 재배열 버퍼(207), D/A 변환부(208) 및 프레임 메모리(210) 내지 선택부(214)를 갖는 점에서, 도 16의 경우와 공통된다.
단, 도 73의 복호 장치(12)는, 클래스 분류 적응 필터(206)를 대신하여, 클래스 분류 적응 필터(861)를 갖는 점에서, 도 16의 경우와 상이하다.
도 73의 복호 장치(12)는, 도 66의 부호화 장치(11)로부터 전송되어 오는 부호화 데이터를 복호한다.
그 때문에, 가역 복호부(202)로부터 클래스 분류 적응 필터(861)에 공급되는 필터 정보에는, 클래스마다의 탭 계수 및 클래스 분류 계수가 포함된다.
여기서, 필터 정보에 포함되는 클래스 분류 계수는, 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지의 클래스 분류 계수이다. 또한, 필터 정보에 포함되는 클래스마다의 탭 계수는, 최종 계층 N인 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …, 2N-1)이다.
클래스 분류 적응 필터(861)는, 클래스 분류 적응 처리에 의해, ILF, 즉 DF, SAO 및 ALF의 모두로서 기능하는 필터에서, 클래스 분류 적응 처리에 의해, ILF 처리를 행하는 점에서, 도 16의 클래스 분류 적응 필터(206)와 공통된다.
단, 클래스 분류 적응 필터(861)에서는, 클래스 분류 적응 처리에 있어서, 클래스 분류 계수를 사용한 클래스 분류가 행해지는 점에서, 클래스 분류 적응 필터(206)와 상이하다.
<클래스 분류 적응 필터(861)의 구성예>
도 74는 도 73의 클래스 분류 적응 필터(861)의 구성예를 도시하는 블록도이다.
도 74에 있어서, 클래스 분류 적응 필터(861)는, 화상 변환 장치(871)를 갖는다.
화상 변환 장치(871)에는, 연산부(205)(도 73)로부터 복호 도중 화상이 공급됨과 함께, 가역 복호부(202)로부터 필터 정보로서의 클래스마다의 탭 계수 및 클래스 분류 계수, 그리고 부호화 정보가 공급된다.
화상 변환 장치(871)는, 도 67의 화상 변환 장치(831)와 마찬가지로, 복호 도중 화상을 제1 화상으로 하여, 클래스마다의 탭 계수를 사용한 클래스 분류 적응 처리에 의한 화상 변환을 행함으로써, 제1 화상으로서의 복호 도중 화상을, 원화상에 상당하는 제2 화상으로서의 필터 후 화상으로 변환해서(필터 후 화상을 생성해서), 재배열 버퍼(207) 및 프레임 메모리(210)(도 73)에 공급한다.
또한, 화상 변환 장치(871)는, 도 67의 화상 변환 장치(831)와 마찬가지로, 클래스 분류 적응 처리에 있어서, 클래스 분류를, 가역 복호 장치(202)(도 73)로부터의 필터 정보로서의 클래스 분류 계수를 사용해서 행한다.
화상 변환 장치(871)에서의 클래스 분류는, 도 67의 화상 변환 장치(831)와 마찬가지로, 클래스 분류 계수 외에, 필요에 따라서, 클래스 탭에서 얻어지는 화상 특징량이나, 부호화 정보도 사용해서 행할 수 있다.
<화상 변환 장치(871)의 구성예>
도 75는, 도 74의 화상 변환 장치(871)의 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 18의 화상 변환 장치(231)와 공통되는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 75에 있어서, 화상 변환 장치(871)는, 탭 선택부(241 및 242), 예측 연산부(245), 클래스 분류부(881), 그리고 계수 취득부(882)를 갖는다.
따라서, 도 75의 화상 변환 장치(871)는, 탭 선택부(241 및 242), 그리고 예측 연산부(245)를 갖는 점에서, 도 18의 화상 변환 장치(231)와 공통된다.
단, 도 75의 화상 변환 장치(871)는, 클래스 분류부(243) 및 계수 취득부(244)를 대신하여, 클래스 분류부(881) 및 계수 취득부(882)를 각각 갖는 점에서, 도 18의 화상 변환 장치(231)와 상이하다.
가역 복호부(202)(도 73)로부터의 필터 정보로서의 클래스 분류 계수, 즉 제0 계층의 20 클래스의 클래스 분류 계수 cc(0,0)으로부터, 제N-1 계층의 2N-1 클래스의 클래스 분류 계수 cc(N-1,0), cc(N-1,1), …, cc(N-1,2N-1-1)까지의 클래스 분류 계수는, 클래스 분류부(881)에 공급되어 기억된다.
또한, 가역 복호부(202)(도 73)로부터의 필터 정보로서의 클래스마다의 탭 계수로서의, 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)은, 계수 취득부(882)에 공급되어 기억된다.
클래스 분류부(881)는, 부호화 장치(11)(도 66)측의 클래스 분류부(841)(도 68, 도 69)와 마찬가지로 구성되며, 클래스 분류 계수를 사용하여, 클래스 분류부(841)와 마찬가지인 클래스 분류를 행하고, 그 결과 얻어지는 주목 화소의 제N 계층의 클래스를, 계수 취득부(882)에 공급한다.
계수 취득부(882)는, 기억하고 있는 제N 계층의 2N 클래스의 탭 계수 tc(N,k)(k=0, 1, …2N-1)로부터, 클래스 분류부(881)로부터의, 주목 화소의 제N 계층의 클래스의 탭 계수 tc(N,k)을 취득하고, 예측 연산부(245)에 공급한다.
<복호 처리>
도 76은 도 73의 복호 장치(12)의 복호 처리의 예를 설명하는 흐름도이다.
도 73의 복호 장치(12)에서는, 스텝 S461 내지 S473에 있어서, 도 19의 스텝 S61 내지 S73과 각각 마찬가지 처리가 행해진다.
단, 스텝 S462에서는, 가역 복호부(202)는, 도 19의 스텝 S62와 마찬가지로, 부호화 데이터를 복호하고, 그 복호에 의해 얻어지는 양자화 계수를, 역양자화부(203)에 공급함과 함께, 부호화 데이터의 복호에 의해 얻어지는 부호화 정보나 필터 정보를, 인트라 예측부(212)나, 움직임 예측 보상부(213), 클래스 분류 적응 필터(861) 그 밖의 필요한 블록에 공급하지만, 클래스 분류 적응 필터(861)에 공급되는 필터 정보에는, 클래스마다의 탭 계수 및 클래스 분류 계수가 포함된다.
또한, 스텝 S470에 있어서, 클래스 분류 적응 필터(861)는, 도 19의 스텝 S70과 마찬가지로, 연산부(205)로부터의 복호 도중 화상에, ILF의 처리로서의 클래스 분류 적응 처리를 실시하지만, 그 클래스 분류 적응 처리에서는, 클래스 분류 계수를 사용해서 클래스 분류를 행한다.
또한, 클래스 분류 적응 필터(861)에서는, 클래스 분류 적응 필터(811)(도 66)와 마찬가지로, 클래스 분류 계수를 사용한 클래스 분류에 있어서, 클래스 분류 계수 외에, 화상 특징량이나 부호화 정보도 사용할 수 있다.
도 77은, 도 76의 스텝 S470에서 행해지는 클래스 분류 적응 처리의 예를 설명하는 흐름도이다.
클래스 분류 적응 필터(861)의 화상 변환 장치(871)(도 75)에서는, 스텝 S481 내지 S487에 있어서, 도 20의 스텝 S81 내지 S87과 각각 마찬가지 처리가 행해진다.
단, 스텝 S483의 주목 화소의 클래스 분류에서는, 클래스 분류부(881)(도 75)는, 가역 복호부(202)로부터 필터 정보로서 공급되는 클래스 분류 계수를 사용하여, 부호화 장치(11)(도 66)측의 클래스 분류부(841)(도 68)와 마찬가지인 클래스 분류를 행하여, 주목 화소의 최종 계층 N의 클래스를 구한다.
또한, 스텝 S484에서는, 계수 취득부(882)(도 75)는, 가역 복호부(202)로부터 필터 정보로서 공급되는 제N 계층의 2N 클래스의 탭 계수로부터, 클래스 분류부(881)로부터의 주목 화소의 최종 계층 N의 클래스의 탭 계수를 취득하고, 예측 연산부(245)에 공급한다.
<학습 장치(832)의 다른 구성예>
도 78은, 도 67의 학습 장치(832)의 다른 구성예를 도시하는 블록도이다.
또한, 도면 중, 도 70의 경우와 대응하는 부분에 대해서는, 동일한 부호를 붙이고 있고, 이하에서는, 그 설명은, 적절히 생략한다.
도 78에 있어서, 학습 장치(832)는, 탭 계수 학습부(701), 탭 계수 설정부(702), 서브 클래스 교사 데이터 생성부(703), 클래스 분류 계수 학습부(704), 클래스 분류 계수 설정부(705), 서브 클래스 예측부(706), 서브 클래스 분류부(707), 클래스 결정부(708), 화소 예측부(709), 종료 조건 판정부(710), 전송 대역 검출부(911), 전송량 산출부(912) 및 전송 대상 계수 설정부(913)를 갖는다.
따라서, 도 78의 학습 장치(832)는, 탭 계수 학습부(701) 내지 종료 조건 판정부(710)를 갖는 점에서, 도 70의 경우와 공통된다.
단, 도 78의 학습 장치(832)는, 전송 대역 검출부(911), 전송량 산출부(912) 및 전송 대상 계수 설정부(913)를 새롭게 갖는 점에서, 도 70의 경우와 상이하다.
전송 대역 검출부(911)는, 부호화 장치(11)로부터 부호화 데이터를 전송할 때 사용 가능한 전송 대역(예를 들어, 부호화 데이터에 할당된 비트 레이트 등)을 검출하고, 전송량 산출부(912)에 공급한다.
전송량 산출부(912)는, 전송 대역 검출부(911)로부터의 전송 대역에 기초하여, 그 전송 대역에서 전송 가능한 필터 정보의 데이터양인 전송 가능 전송량을 구하고, 전송 대상 계수 설정부(913)에 공급한다.
전송 대상 계수 설정부(913)에는, 탭 계수 설정부(702)로부터, 각 계층의 학습에서 구해지는 각 계층의 탭 계수, 즉 제0 계층으로부터 제N 계층까지의 탭 계수가 공급된다. 또한, 전송 대상 계수 설정부(913)에는, 클래스 분류 계수 설정부(705)로부터, 제0 계층으로부터 제N-1 계층까지의 클래스 분류 계수가 공급된다.
전송 대상 계수 설정부(913)는, 전송량 산출부(912)로부터의 전송 가능 전송량에 따라서, 탭 계수 설정부(702)로부터의 탭 계수 중에서 전송 대상으로 하는 탭 계수를 선택하고, 필터 정보로서 출력한다.
또한, 전송 대상 계수 설정부(913)는, 전송량 산출부(912)로부터의 전송 가능 전송량에 따라서, 클래스 분류 계수 설정부(705)로부터의 클래스 분류 계수 중에서 전송 대상으로 하는 클래스 분류 계수를 선택하고, 필터 정보로서 출력한다.
즉, 전송 대상 계수 설정부(913)는, 전송량 산출부(912)로부터의 전송 가능 전송량에 따라서, 탭 계수 및 클래스 분류 계수의 전송이 가능한 전송 가능 계층 N'(<=최종 계층 N)를 설정한다. 전송 가능 계층 N'는, 전송 가능 전송량이 클수록, 큰(깊은) 계층으로 설정된다.
또한, 전송 대상 계수 설정부(913)는, 제0 계층으로부터 제N 계층까지의 탭 계수 중, 제N' 계층의 탭 계수를 전송 대상으로 설정(선택)함과 함께, 제0 계층으로부터 제N-1 계층까지의 클래스 분류 계수 중, 제0 계층으로부터 제N'-1 계층까지의 클래스 분류 계수를 전송 대상으로 설정한다.
그리고, 전송 대상 계수 설정부(913)는, 전송 대상으로 설정된 탭 계수 및 클래스 분류 계수(전송 대상 계수)를, 필터 정보로서 출력한다.
따라서, 도 78의 학습 장치(832)를 갖는 부호화 장치(11)에서는, 학습 장치(832)에서 얻어진 탭 계수 및 클래스 분류 계수 중, 전송 가능 전송량에 따라서 전송 대상으로 설정된 탭 계수 및 클래스 분류 계수가 전송된다.
이상과 같이, 학습 장치(832)에서 얻어진 탭 계수 및 클래스 분류 계수 중, 전송 가능 전송량에 따라서 전송 대상으로 설정된 탭 계수 및 클래스 분류 계수를 전송하는 경우에는, 예를 들어 어댑티브 스트리밍과 같은, 전송 대역이 변동하는 변동 전송 방식에 대응할 수 있다.
즉, 전송 대역이 대인 경우에는, 깊은 계층의 클래스로까지 클래스 분류를 행하는 클래스 분류 계수와, 그러한 깊은 계층의 클래스의 탭 계수가 전송되어, S/N의 개선에 크게 이바지할 수 있다. 또한, 전송 대역이 소인 경우에는, 얕은 계층의 클래스까지 클래스 분류를 행하는 클래스 분류 계수와, 그러한 얕은 계층의 클래스의 탭 계수가 전송되어, 전송 대역이 작은 가운데에서 가능한 범위에서 S/N을 개선할 수 있다.
또한, 부호화 데이터를, 변동 전송 방식으로 전송하는 경우에는, 몇개의 전송 대역마다, 그 전송 대역에 적합한 데이터양의 탭 계수 및 클래스 분류 계수를 학습에 의해 구해 두고, 필터 정보로서 전송하는 탭 계수 및 클래스 분류 계수를, 전송 대역(또는 전송 가능 전송량)에 의해 전환할 수 있다.
또한, 전송 대역마다의 탭 계수 및 클래스 분류 계수로부터, 전송 대역에 따라서, 가상의 전송 대상으로서의 탭 계수 및 클래스 분류 계수를 선택하고, 또한 그 가상의 전송 대상으로서의 탭 계수 및 클래스 분류 계수에 대해서, 전송 가능 계층 N'를 설정하고, 제N' 계층의 탭 계수 및 제0 계층으로부터 제N'-1 계층까지의 클래스 분류 계수를, 전송 대상으로 최종적으로 선택할 수 있다.
<RD 곡선>
도 79는, ILF로서, 클래스 분류 적응 처리에 의해 ILF의 처리를 행하는 클래스 분류 적응 필터를 설치한 경우와, ALF를 설치한 경우의 RD(Rate-Distortion) 곡선을 도시하는 도면이다.
또한, 도 79에서는, 클래스 분류 적응 필터를 설치한 경우의 RD 곡선 및 ALF를 설치한 경우의 RD 곡선 외에, ILF를 설치하지 않은 경우의 RD 곡선도 나타내고 있다.
RD 곡선은, S/N을 종축으로 하고, (부호화 데이터의)비트 레이트를, 횡축에 취한 그래프이고, 부호 시의 양자화 파라미터 QP마다, S/N과 비트 레이트에 대응하는 점을 플롯함으로써 얻을 수 있다.
S/N이 클수록, 또한 비트 레이트가 작을수록, 압축 효율은 향상되므로, RD 곡선은, 왼쪽 위측에 위치할수록, 압축 효율이 좋은 것을 나타낸다.
도 79에서는, ALF를 설치한 경우의 압축 효율은, ILF를 설치하지 않은 경우보다 3.2%만큼 향상되어 있는 데 반해, 클래스 분류 적응 필터를 설치한 경우의 압축 효율은, ILF를 설치하지 않은 경우보다 5.5%만큼 향상되어 있다.
따라서, 클래스 분류 적응 필터를 설치한 경우에는, ALF를 설치한 경우보다, 2배 가까이, 압축 효율을 개선할 수 있다.
또한, 본 실시 형태에서는, 설명을 간단하게 하기 위해서, 부호화 장치(11)로부터 복호 장치(12)에 제공하는 필터 정보에는, 탭 계수 그 자체를 포함시키기로 하였지만, 필터 정보에는, 탭 계수 그 자체 대신에, 종 계수 및 파라미터 z를 포함시킬 수 있다. 탭 계수는, 종 계수 및 파라미터 z로부터 구할 수 있으므로, 종 계수 및 파라미터 z는, 탭 계수와 등가인 정보이며, 본 명세서에서는, 필터 정보로서의 탭 계수에는, 탭 계수 그 자체 외에, 종 계수 및 파라미터 z가 포함된다. 탭 계수로서, 종 계수 및 파라미터 z를 채용하는 경우, 파라미터 z는, 예를 들어 소정의 비용 함수에 기초하여 결정할 수 있다.
<다시점 화상 부호화·복호 시스템으로의 적용>
상술한 일련의 처리는, 다시점 화상 부호화·복호 시스템에 적용할 수 있다.
도 80은 다시점 화상 부호화 방식의 일례를 도시하는 도면이다.
도 80에 도시된 바와 같이, 다시점 화상은, 복수의 시점(뷰(view))의 화상을 포함한다. 이 다시점 화상의 복수의 뷰는, 다른 뷰의 정보를 이용하지 않고 자신의 뷰의 화상만을 사용해서 부호화·복호를 행하는 베이스 뷰와, 다른 뷰의 정보를 이용해서 부호화·복호를 행하는 논 베이스 뷰로 이루어진다. 논 베이스 뷰의 부호화·복호는, 베이스 뷰의 정보를 이용하도록 해도 되고, 다른 논 베이스 뷰의 정보를 이용하도록 해도 된다.
도 80의 예와 같은 다시점 화상을 부호화·복호하는 경우, 다시점 화상은, 시점마다 부호화된다. 그리고, 그렇게 해서 얻어진 부호화 데이터를 복호하는 경우, 각 시점의 부호화 데이터는, 각각(즉 시점마다) 복호된다. 이러한 각 시점의 부호화·복호에 대하여, 이상의 실시 형태에 있어서 설명한 방법을 적용해도 된다. 이와 같이 함으로써, S/N 및 압축 효율을, 크게 개선할 수 있다. 즉, 다시점 화상의 경우도 마찬가지로, S/N 및 압축 효율을, 크게 개선할 수 있다.
<다시점 화상 부호화·복호 시스템>
도 81은 상술한 다시점 화상 부호화·복호를 행하는 다시점 화상 부호화·복호 시스템의, 다시점 화상 부호화 장치를 도시하는 도면이다.
도 81에 도시된 바와 같이, 다시점 화상 부호화 장치(1000)는, 부호화부(1001), 부호화부(1002) 및 다중화부(1003)를 갖는다.
부호화부(1001)는, 베이스 뷰 화상을 부호화하고, 베이스 뷰 화상 부호화 스트림을 생성한다. 부호화부(1002)는, 논 베이스 뷰 화상을 부호화하고, 논 베이스 뷰 화상 부호화 스트림을 생성한다. 다중화부(1003)는 부호화부(1001)에 있어서 생성된 베이스 뷰 화상 부호화 스트림과, 부호화부(1002)에 있어서 생성된 논 베이스 뷰 화상 부호화 스트림을 다중화하고, 다시점 화상 부호화 스트림을 생성한다.
도 82는, 상술한 다시점 화상 복호를 행하는 다시점 화상 복호 장치를 도시하는 도면이다.
도 82에 도시된 바와 같이, 다시점 화상 복호 장치(1010)는, 역다중화부(1011), 복호부(1012) 및 복호부(1013)를 갖는다.
역다중화부(1011)는, 베이스 뷰 화상 부호화 스트림과 논 베이스 뷰 화상 부호화 스트림이 다중화된 다시점 화상 부호화 스트림을 역다중화하고, 베이스 뷰 화상 부호화 스트림과, 논 베이스 뷰 화상 부호화 스트림을 추출한다. 복호부(1012)는, 역다중화부(1011)에 의해 추출된 베이스 뷰 화상 부호화 스트림을 복호하고, 베이스 뷰 화상을 얻는다. 복호부(1013)는, 역다중화부(1011)에 의해 추출된 논 베이스 뷰 화상 부호화 스트림을 복호하고, 논 베이스 뷰 화상을 얻는다.
예를 들어, 이러한 다시점 화상 부호화·복호 시스템에 있어서, 다시점 화상 부호화 장치(1000)의 부호화부(1001) 및 부호화부(1002)로서, 이상의 실시 형태에 있어서 설명한 부호화 장치(11)를 적용해도 된다. 이와 같이 함으로써, 다시점 화상의 부호화에 있어서도, 이상의 실시 형태에 있어서 설명한 방법을 적용할 수 있다. 즉, S/N 및 압축 효율을 크게 개선할 수 있다. 또한 예를 들어, 다시점 화상 복호 장치(1010)의 복호부(1012) 및 복호부(1013)로서, 이상의 실시 형태에 있어서 설명한 복호 장치(12)를 적용해도 된다. 이와 같이 함으로써, 다시점 화상의 부호화 데이터의 복호에 있어서도, 이상의 실시 형태에 있어서 설명한 방법을 적용할 수 있다. 즉, S/N 및 압축 효율을 크게 개선할 수 있다.
<계층 화상 부호화·복호 시스템으로의 적용>
또한, 상술한 일련의 처리는, 계층 화상 부호화(스케일러블 부호화)·복호 시스템에 적용할 수 있다.
도 83은 계층 화상 부호화 방식의 일례를 도시하는 도면이다.
계층 화상 부호화(스케일러블 부호화)는, 화상 데이터를, 소정의 파라미터에 대해서 스케일러빌리티(scalability) 기능을 갖도록, 화상을 복수 레이어화(계층화)하고, 레이어마다 부호화하는 것이다. 계층 화상 복호(스케일러블 복호)는, 그 계층 화상 부호화에 대응하는 복호이다.
도 83에 도시된 바와 같이, 화상의 계층화에 있어서는, 스케일러빌리티 기능을 갖는 소정의 파라미터를 기준으로 해서 하나의 화상이 복수의 화상(레이어)으로 분할된다. 즉, 계층화된 화상(계층 화상)은, 그 소정의 파라미터의 값이 서로 상이한 복수의 계층(레이어)의 화상을 포함한다. 이 계층 화상의 복수의 레이어는, 다른 레이어의 화상을 이용하지 않고 자신의 레이어의 화상만을 사용해서 부호화· 복호를 행하는 베이스 레이어와, 다른 레이어의 화상을 이용해서 부호화·복호를 행하는 논 베이스 레이어(인핸스먼트 레이어라고도 칭한다)로 이루어진다. 논 베이스 레이어는, 베이스 레이어의 화상을 이용하도록 해도 되고, 다른 논 베이스 레이어의 화상을 이용하도록 해도 된다.
일반적으로, 논 베이스 레이어는, 용장성이 저감되도록, 자신의 화상과, 다른 레이어의 화상의 차분 화상의 데이터(차분 데이터)에 의해 구성된다. 예를 들어, 하나의 화상을 베이스 레이어와 논 베이스 레이어(인핸스먼트 레이어라고도 칭한다)로 2계층화한 경우, 베이스 레이어의 데이터만으로 원래의 화상보다 저품질의 화상이 얻어지고, 베이스 레이어의 데이터와 논 베이스 레이어의 데이터를 합성함으로써, 원래의 화상(즉 고품질의 화상)이 얻어진다.
이와 같이 화상을 계층화함으로써, 상황에 따라서 다양한 품질의 화상을 용이하게 얻을 수 있다. 예를 들어 휴대 전화와 같은, 처리 능력이 낮은 단말기에 대해서는, 베이스 레이어(base layer)만의 화상 압축 정보를 전송하여, 공간 시간 해상도가 낮거나, 혹은 화질이 좋지 않은 동화상을 재생하고, 텔레비전이나 퍼스널 컴퓨터와 같은, 처리 능력이 높은 단말기에 대해서는, 베이스 레이어(base layer)에 더하여, 인핸스먼트 레이어(enhancement layer)의 화상 압축 정보를 전송하여, 공간 시간 해상도가 높거나, 혹은 화질이 높은 동화상을 재생한다고 하는 것과 같이, 트랜스 코드 처리를 행하지 않고, 단말기나 네트워크의 능력에 따른 화상 압축 정보를, 서버로부터 송신하는 것이 가능하게 된다.
도 83의 예와 같은 계층 화상을 부호화·복호하는 경우, 계층 화상은, 레이어마다 부호화된다. 그리고, 그렇게 해서 얻어진 부호화 데이터를 복호하는 경우, 각 레이어의 부호화 데이터는, 각각(즉 레이어마다) 복호된다. 이러한 각 레이어의 부호화·복호에 대하여, 이상의 실시 형태에 있어서 설명한 방법을 적용해도 된다. 이와 같이 함으로써, S/N 및 압축 효율을 크게 개선할 수 있다. 즉, 계층 화상의 경우도 마찬가지로, S/N 및 압축 효율을 크게 개선할 수 있다.
<스케일러블한 파라미터>
이러한 계층 화상 부호화·계층 화상 복호(스케일러블 부호화·스케일러블 복호)에 있어서, 스케일러빌리티(scalability) 기능을 갖는 파라미터는 임의이다. 예를 들어, 공간 해상도를 그 파라미터로 해도 된다(spatial scalability). 이 스페이셜 스케일러빌리티(spatial scalability)의 경우, 레이어마다 화상의 해상도가 상이하다.
또한, 이러한 스케일러빌리티성을 갖게 하는 파라미터로서, 그 외에는, 예를 들어 시간 해상도를 적용해도 된다(temporal scalability). 이 템포럴 스케일러빌리티(temporal scalability)의 경우, 레이어마다 프레임 레이트가 상이하다.
또한, 이러한 스케일러빌리티성을 갖게 하는 파라미터로서, 예를 들어 신호 잡음비(SNR(Signal to Noise ratio))를 적용해도 된다(SNR scalability). 이 SNR 스케일러빌리티(SNR scalability)의 경우, 레이어마다 SN비가 상이하다.
스케일러빌리티성을 갖게 하는 파라미터는, 상술한 예 이외에서도, 물론 무방하다. 예를 들어, 베이스 레이어(base layer)가 8비트(bit) 화상으로 이루어지고, 여기에 인핸스먼트 레이어(enhancement layer)를 가함으로써, 10비트(bit) 화상이 얻어지는 비트 심도 스케일러빌리티(bit-depth scalability)가 있다.
또한, 베이스 레이어(base layer)가 4:2:0 포맷의 컴포넌트 화상으로 이루어지고, 여기에 인핸스먼트 레이어(enhancement layer)를 가함으로써, 4:2:2 포맷의 컴포넌트 화상이 얻어지는 크로마 스케일러빌리티(chroma scalability)가 있다.
<계층 화상 부호화·복호 시스템>
도 84는 상술한 계층 화상 부호화·복호를 행하는 계층 화상 부호화·복호 시스템의, 계층 화상 부호화 장치를 도시하는 도면이다.
도 84에 도시된 바와 같이, 계층 화상 부호화 장치(1020)는, 부호화부(1021), 부호화부(1022) 및 다중화부(1023)를 갖는다.
부호화부(1021)는, 베이스 레이어 화상을 부호화하고, 베이스 레이어 화상 부호화 스트림을 생성한다. 부호화부(1022)는, 논 베이스 레이어 화상을 부호화하고, 논 베이스 레이어 화상 부호화 스트림을 생성한다. 다중화부(1023)는, 부호화부(1021)에 있어서 생성된 베이스 레이어 화상 부호화 스트림과, 부호화부(1022)에 있어서 생성된 논 베이스 레이어 화상 부호화 스트림을 다중화하고, 계층 화상 부호화 스트림을 생성한다.
도 85는, 상술한 계층 화상 복호를 행하는 계층 화상 복호 장치를 도시하는 도면이다.
도 85에 도시된 바와 같이, 계층 화상 복호 장치(1030)는, 역다중화부(1031), 복호부(1032) 및 복호부(1033)를 갖는다.
역다중화부(1031)는, 베이스 레이어 화상 부호화 스트림과 논 베이스 레이어 화상 부호화 스트림이 다중화된 계층 화상 부호화 스트림을 역다중화하고, 베이스 레이어 화상 부호화 스트림과, 논 베이스 레이어 화상 부호화 스트림을 추출한다. 복호부(1032)는, 역다중화부(1031)에 의해 추출된 베이스 레이어 화상 부호화 스트림을 복호하고, 베이스 레이어 화상을 얻는다. 복호부(1033)는, 역다중화부(1031)에 의해 추출된 논 베이스 레이어 화상 부호화 스트림을 복호하고, 논 베이스 레이어 화상을 얻는다.
예를 들어, 이러한 계층 화상 부호화·복호 시스템에 있어서, 계층 화상 부호화 장치(1020)의 부호화부(1021) 및 부호화부(1022)로서, 이상의 실시 형태에 있어서 설명한 부호화 장치(11)를 적용해도 된다. 이와 같이 함으로써, 계층 화상의 부호화에 있어서도, 이상의 실시 형태에 있어서 설명한 방법을 적용할 수 있다. 즉, S/N 및 압축 효율을 크게 개선할 수 있다. 또한 예를 들어, 계층 화상 복호 장치(1030)의 복호부(1032) 및 복호부(1033)로서, 이상의 실시 형태에 있어서 설명한 복호 장치(12)를 적용해도 된다. 이와 같이 함으로써, 계층 화상의 부호화 데이터의 복호에 있어서도, 이상의 실시 형태에 있어서 설명한 방법을 적용할 수 있다. 즉, S/N 및 압축 효율을 크게 개선할 수 있다.
<컴퓨터>
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 86은 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어 구성예를 도시하는 블록도이다.
도 86에 나타나는 컴퓨터(1100)에 있어서, CPU(Central Processing Unit)(1101), ROM(Read Only Memory)(1102), RAM(Random Access Memory)(1103)은, 버스(1104)를 통해서 서로 접속되어 있다.
버스(1104)에는 또한, 입출력 인터페이스(1110)도 접속되어 있다. 입출력 인터페이스(1110)에는, 입력부(1111), 출력부(1112), 기억부(1113), 통신부(1114) 및 드라이브(1115)가 접속되어 있다.
입력부(1111)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등으로 이루어진다. 출력부(1112)는, 예를 들어 디스플레이, 스피커, 출력 단자 등으로 이루어진다. 기억부(1113)는, 예를 들어 하드 디스크, RAM 디스크, 불휘발성이 메모리 등으로 이루어진다. 통신부(1114)는, 예를 들어 네트워크 인터페이스로 이루어진다. 드라이브(1115)는, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(1121)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(1101)가, 예를 들어 기억부(1113)에 기억되어 있는 프로그램을, 입출력 인터페이스(1110) 및 버스(1104)를 통해서, RAM(1103)에 로드해서 실행함으로써, 상술한 일련의 처리가 행해진다. RAM(1103)에는 또한, CPU(1101)가 각종 처리를 실행하는 상에 있어서 필요한 데이터 등도 적절히 기억된다.
컴퓨터(CPU)(1101)가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(1121)에 기록해서 적용할 수 있다. 그 경우, 프로그램은, 리무버블 미디어(1121)를 드라이브(1115)에 장착함으로써, 입출력 인터페이스(1110)을 통해서, 기억부(1113)에 인스톨할 수 있다.
또한, 이 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송 등의, 유선 또는 무선의 전송 매체를 통해서 제공할 수도 있다. 그 경우, 프로그램은, 통신부(1114)로 수신하고, 기억부(1113)에 인스톨할 수 있다.
그 밖에, 이 프로그램은, ROM(1102)이나 기억부(1113)에, 미리 인스톨해 둘 수도 있다.
<본 기술의 응용>
상술한 실시 형태에 따른 부호화 장치(11)나 복호 장치(12)는, 예를 들어 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신 및 셀룰러 통신에 의한 단말기로의 배신 등에 있어서의 송신기나 수신기, 또는 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치나, 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의, 여러가지 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대해서 설명한다.
<제1 응용예: 텔레비전 수상기>
도 87은 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 도시하는 도면이다.
텔레비전 장치(1200)는, 안테나(1201), 튜너(1202), 디멀티플렉서(1203), 디코더(1204), 영상 신호 처리부(1205), 표시부(1206), 음성 신호 처리부(1207), 스피커(1208), 외부 인터페이스(I/F)부(1209), 제어부(1210), 유저 인터페이스(I/F)부(1211) 및 버스(1212)를 구비한다.
튜너(1202)는, 안테나(1201)를 통해서 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(1202)는, 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(1203)로 출력한다. 즉, 튜너(1202)는, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(1200)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(1203)는, 부호화 비트 스트림으로부터 시청 대상의 프로그램 영상 스트림 및 음성 스트림을 분리하고, 분리한 각 스트림을 디코더(1204)로 출력한다. 또한, 디멀티플렉서(1203)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출한 데이터를 제어부(1210)에 공급한다. 또한, 디멀티플렉서(1203)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행해도 된다.
디코더(1204)는, 디멀티플렉서(1203)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(1204)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(1205)로 출력한다. 또한, 디코더(1204)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(1207)로 출력한다.
영상 신호 처리부(1205)는, 디코더(1204)로부터 입력되는 영상 데이터를 재생하고, 표시부(1206)에 영상을 표시시킨다. 또한, 영상 신호 처리부(1205)는, 네트워크를 통해서 공급되는 어플리케이션 화면을 표시부(1206)에 표시시켜도 된다. 또한, 영상 신호 처리부(1205)는, 영상 데이터에 대해서, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행해도 된다. 또한, 영상 신호 처리부(1205)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성한 화상을 출력 화상에 중첩해도 된다.
표시부(1206)는, 영상 신호 처리부(1205)로부터 공급되는 구동 신호에 의해 구동되어, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic ElectroLuminescence Display)(유기 EL 디스플레이) 등)의 영상면 상에 영상 또는 화상을 표시한다.
음성 신호 처리부(1207)는, 디코더(1204)로부터 입력되는 음성 데이터에 대해서 D/A 변환 및 증폭 등의 재생 처리를 행하고, 스피커(1208)로부터 음성을 출력시킨다. 또한, 음성 신호 처리부(1207)는, 음성 데이터에 대해서 노이즈 제거 등의 추가적인 처리를 행해도 된다.
외부 인터페이스부(1209)는, 텔레비전 장치(1200)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스부(1209)를 통해서 수신되는 영상 스트림 또는 음성 스트림이, 디코더(1204)에 의해 복호되어도 된다. 즉, 외부 인터페이스부(1209)도 또한, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(1200)에 있어서의 전송부로서의 역할을 갖는다.
제어부(1210)는, CPU 등의 프로세서, 그리고 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 및 네트워크를 통해서 취득되는 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 텔레비전 장치(1200)의 기동 시에 CPU에 의해 읽어들여지고, 실행된다. CPU는 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(1211)로부터 입력되는 조작 신호에 따라서, 텔레비전 장치(1200)의 동작을 제어한다.
유저 인터페이스부(1211)는 제어부(1210)와 접속된다. 유저 인터페이스부(1211)는, 예를 들어 유저가 텔레비전 장치(1200)를 조작하기 위한 버튼 및 스위치, 그리고 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(1211)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출해서 조작 신호를 생성하고, 생성한 조작 신호를 제어부(1210)로 출력한다.
버스(1212)는, 튜너(1202), 디멀티플렉서(1203), 디코더(1204), 영상 신호 처리부(1205), 음성 신호 처리부(1207), 외부 인터페이스부(1209) 및 제어부(1210)을 서로 접속한다.
이와 같이 구성된 텔레비전 장치(1200)에 있어서, 디코더(1204)가, 상술한 복호 장치(12)의 기능을 갖도록 해도 된다. 즉, 디코더(1204)가, 부호화 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(1200)는, S/N 및 압축 효율을 크게 개선할 수 있다.
또한, 이와 같이 구성된 텔레비전 장치(1200)에 있어서, 영상 신호 처리부(1205)가, 예를 들어 디코더(1204)로부터 공급되는 화상 데이터를 부호화하고, 얻어진 부호화 데이터를, 외부 인터페이스부(1209)를 통해서 텔레비전 장치(1200)의 외부로 출력시킬 수 있도록 해도 된다. 그리고, 그 영상 신호 처리부(1205)가, 상술한 부호화 장치(11)의 기능을 갖도록 해도 된다. 즉, 영상 신호 처리부(1205)가, 디코더(1204)로부터 공급되는 화상 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 텔레비전 장치(1200)는, S/N 및 압축 효율을 크게 개선할 수 있다.
<제2 응용예: 휴대 전화기>
도 88은, 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 도시하는 도면이다.
휴대 전화기(1220)는, 안테나(1221), 통신부(1222), 음성 코덱(1223), 스피커(1224), 마이크로폰(1225), 카메라부(1226), 화상 처리부(1227), 다중 분리부(1228), 기록 재생부(1229), 표시부(1230), 제어부(1231), 조작부(1232) 및 버스(1233)를 구비한다.
안테나(1221)는, 통신부(1222)에 접속된다. 스피커(1224) 및 마이크로폰(1225)는, 음성 코덱(1223)에 접속된다. 조작부(1232)는, 제어부(1231)에 접속된다. 버스(1233)는, 통신부(1222), 음성 코덱(1223), 카메라부(1226), 화상 처리부(1227), 다중 분리부(1228), 기록 재생부(1229), 표시부(1230) 및 제어부(1231)를 서로 접속한다.
휴대 전화기(1220)는, 음성 통화 모드, 데이터 통신 모드, 촬영 모드 및 텔레비전 전화 모드를 포함하는 여러가지 동작 모드로, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에 있어서, 마이크로폰(1225)에 의해 생성되는 아날로그 음성 신호는, 음성 코덱(1223)에 공급된다. 음성 코덱(1223)은, 아날로그 음성 신호를 음성 데이터로 변환하고, 변환된 음성 데이터를 A/D 변환하고 압축한다. 그리고, 음성 코덱(1223)은, 압축 후의 음성 데이터를 통신부(1222)로 출력한다. 통신부(1222)는, 음성 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(1222)는, 생성한 송신 신호를, 안테나(1221)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(1222)는, 안테나(1221)를 통해서 수신되는 무선 신호를 증폭하고 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(1222)는, 수신 신호를 복조 및 복호해서 음성 데이터를 생성하고, 생성한 음성 데이터를 음성 코덱(1223)으로 출력한다. 음성 코덱(1223)은, 음성 데이터를 신장하고 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(1223)은, 생성한 음성 신호를 스피커(1224)에 공급해서 음성을 출력시킨다.
또한, 데이터 통신 모드에 있어서, 예를 들어 제어부(1231)는, 조작부(1232)를 통하는 유저에 의한 조작에 따라서, 전자 메일을 구성하는 문자 데이터를 생성한다. 또한, 제어부(1231)는, 문자를 표시부(1230)에 표시시킨다. 또한, 제어부(1231)는, 조작부(1232)를 통하는 유저로부터의 송신 지시에 따라서 전자 메일 데이터를 생성하고, 생성한 전자 메일 데이터를 통신부(1222)로 출력한다. 통신부(1222)는, 전자 메일 데이터를 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(1222)는, 생성한 송신 신호를, 안테나(1221)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(1222)는, 안테나(1221)를 통해서 수신되는 무선 신호를 증폭하고 및 주파수 변환하고, 수신 신호를 취득한다. 그리고, 통신부(1222)는, 수신 신호를 복조 및 복호해서 전자 메일 데이터를 복원하고, 복원한 전자 메일 데이터를 제어부(1231)로 출력한다. 제어부(1231)는, 표시부(1230)에 전자 메일의 내용을 표시시킴과 함께, 전자 메일 데이터를 기록 재생부(1229)에 공급하고, 그 기억 매체에 기입시킨다.
기록 재생부(1229)는, 판독 기입 가능한 임의의 기억 매체를 갖는다. 예를 들어, 기억 매체는, RAM 또는 플래시 메모리 등의 내장형 기억 매체여도 되고, 하드 디스크, 자기 디스크, 광자기 디스크, 광 디스크, USB(Universal Serial Bus) 메모리, 또는 메모리 카드 등의 외부 장착형의 기억 매체여도 된다.
또한, 촬영 모드에 있어서, 예를 들어 카메라부(1226)는, 피사체를 촬상해서 화상 데이터를 생성하고, 생성한 화상 데이터를 화상 처리부(1227)로 출력한다. 화상 처리부(1227)는, 카메라부(1226)로부터 입력되는 화상 데이터를 부호화하고, 부호화 스트림을 기록 재생부(1229)에 공급하고, 그 기억 매체에 기입시킨다.
또한, 화상 표시 모드에 있어서, 기록 재생부(1229)는, 기억 매체에 기록되어 있는 부호화 스트림을 판독해서 화상 처리부(1227)로 출력한다. 화상 처리부(1227)는, 기록 재생부(1229)로부터 입력되는 부호화 스트림을 복호하고, 화상 데이터를 표시부(1230)에 공급하고, 그 화상을 표시시킨다.
또한, 텔레비전 전화 모드에 있어서, 예를 들어 다중 분리부(1228)는, 화상 처리부(1227)에 의해 부호화된 영상 스트림과, 음성 코덱(1223)으로부터 입력되는 음성 스트림을 다중화하고, 다중화한 스트림을 통신부(1222)로 출력한다. 통신부(1222)는, 스트림을 부호화 및 변조하고, 송신 신호를 생성한다. 그리고, 통신부(1222)는, 생성한 송신 신호를, 안테나(1221)를 통해서 기지국(도시하지 않음)으로 송신한다. 또한, 통신부(1222)는, 안테나(1221)를 통해서 수신되는 무선 신호를 증폭하고 및 주파수 변환하고, 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호에는, 부호화 비트 스트림이 포함될 수 있다. 그리고, 통신부(1222)는, 수신 신호를 복조 및 복호해서 스트림을 복원하고, 복원한 스트림을 다중 분리부(1228)로 출력한다. 다중 분리부(1228)는, 입력되는 스트림으로부터 영상 스트림 및 음성 스트림을 분리하고, 영상 스트림을 화상 처리부(1227), 음성 스트림을 음성 코덱(1223)으로 출력한다. 화상 처리부(1227)는, 영상 스트림을 복호하고, 영상 데이터를 생성한다. 영상 데이터는, 표시부(1230)에 공급되고, 표시부(1230)에 의해 일련의 화상이 표시된다. 음성 코덱(1223)은, 음성 스트림을 신장하고 및 D/A 변환하고, 아날로그 음성 신호를 생성한다. 그리고, 음성 코덱(1223)은, 생성한 음성 신호를 스피커(1224)에 공급해서 음성을 출력시킨다.
이와 같이 구성된 휴대 전화기(1220)에 있어서, 예를 들어 화상 처리부(1227)가, 상술한 부호화 장치(11)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(1227)가, 화상 데이터를, 이상의 실시 형태에 있어서 설명한 방법에서 부호화하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(1220)는, S/N 및 압축 효율을 크게 개선할 수 있다.
또한, 이와 같이 구성된 휴대 전화기(1220)에 있어서, 예를 들어 화상 처리부(1227)가, 상술한 복호 장치(12)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(1227)가, 부호화 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 휴대 전화기(1220)는, S/N 및 압축 효율을 크게 개선할 수 있다.
<제3 응용예: 기록 재생 장치>
도 89는, 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 도시하는 도면이다.
기록 재생 장치(1240)는, 예를 들어 수신한 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록한다. 또한, 기록 재생 장치(1240)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록해도 된다. 또한, 기록 재생 장치(1240)는, 예를 들어 유저의 지시에 따라서, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커 상에서 재생한다. 이때, 기록 재생 장치(1240)는, 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(1240)는, 튜너(1241), 외부 인터페이스(I/F)부(1242), 인코더(1243), HDD(Hard Disk Drive)부(1244), 디스크 드라이브(1245), 셀렉터(1246), 디코더(1247), OSD(On-Screen Display)부(1248), 제어부(1249) 및 유저 인터페이스(I/F)부(1250)를 구비한다.
튜너(1241)는, 안테나(도시하지 않음)를 통해서 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(1241)는, 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(1246)로 출력한다. 즉, 튜너(1241)는, 기록 재생 장치(1240)에 있어서의 전송부로서의 역할을 갖는다.
외부 인터페이스부(1242)는, 기록 재생 장치(1240)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 외부 인터페이스부(1242)는, 예를 들어IEEE(Institute of Electrical and Electronic Engineers) 1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 또는 플래시 메모리 인터페이스 등이면 된다. 예를 들어, 외부 인터페이스부(1242)를 통해서 수신되는 영상 데이터 및 음성 데이터는, 인코더(1243)로 입력된다. 즉, 외부 인터페이스부(1242)는, 기록 재생 장치(1240)에 있어서의 전송부로서의 역할을 갖는다.
인코더(1243)는, 외부 인터페이스부(1242)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되지 않은 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(1243)는, 부호화 비트 스트림을 셀렉터(1246)로 출력한다.
HDD부(1244)는, 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드 디스크에 기록한다. 또한, HDD부(1244)는, 영상 및 음성의 재생 시에, 이들 데이터를 하드 디스크로부터 판독한다.
디스크 드라이브(1245)는, 장착되어 있는 기록 매체로의 데이터의 기록 및 판독을 행한다. 디스크 드라이브(1245)에 장착되는 기록 매체는, 예를 들어 DVD(Digital Versatile Disc) 디스크(DVD-Video, DVD-RAM(DVD-Random Access Memory), DVD-R(DVD-Recordable), DVD-RW(DVD-Rewritable), DVD+R(DVD+Recordable), DVD+RW(DVD+Rewritable) 등) 또는 Blu-ray(등록상표) 디스크 등이면 된다.
셀렉터(1246)는, 영상 및 음성의 기록 시에는, 튜너(1241) 또는 인코더(1243)로부터 입력되는 부호화 비트 스트림을 선택하고, 선택한 부호화 비트 스트림을 HDD(1244) 또는 디스크 드라이브(1245)로 출력한다. 또한, 셀렉터(1246)는, 영상 및 음성의 재생 시에는, HDD(1244) 또는 디스크 드라이브(1245)로부터 입력되는 부호화 비트 스트림을 디코더(1247)로 출력한다.
디코더(1247)는, 부호화 비트 스트림을 복호하고, 영상 데이터 및 음성 데이터를 생성한다. 그리고, 디코더(1247)는, 생성한 영상 데이터를 OSD부(1248)로 출력한다. 또한, 디코더(1247)는, 생성한 음성 데이터를 외부 스피커로 출력한다.
OSD부(1248)는, 디코더(1247)로부터 입력되는 영상 데이터를 재생하고, 영상을 표시한다. 또한, OSD부(1248)는, 표시하는 영상에, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 중첩해도 된다.
제어부(1249)는, CPU 등의 프로세서, 그리고 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 기록 재생 장치(1240)의 기동 시에 CPU에 의해 읽어들여져서, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(1250)로부터 입력되는 조작 신호에 따라서, 기록 재생 장치(1240)의 동작을 제어한다.
유저 인터페이스부(1250)는, 제어부(1249)와 접속된다. 유저 인터페이스부(1250)는, 예를 들어 유저가 기록 재생 장치(1240)를 조작하기 위한 버튼 및 스위치, 그리고 원격 제어 신호의 수신부 등을 갖는다. 유저 인터페이스부(1250)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출해서 조작 신호를 생성하고, 생성한 조작 신호를 제어부(1249)로 출력한다.
이와 같이 구성된 기록 재생 장치(1240)에 있어서, 예를 들어 인코더(1243)가, 상술한 부호화 장치(11)의 기능을 갖도록 해도 된다. 즉, 인코더(1243)가, 화상 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(1240)는, S/N 및 압축 효율을 크게 개선할 수 있다.
또한, 이와 같이 구성된 기록 재생 장치(1240)에 있어서, 예를 들어 디코더(1247)가, 상술한 복호 장치(12)의 기능을 갖도록 해도 된다. 즉, 디코더(1247)가, 부호화 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 기록 재생 장치(1240)는, S/N 및 압축 효율을 크게 개선할 수 있다.
<제4 응용예: 촬상 장치>
도 90은, 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 도시하는 도면이다.
촬상 장치(1260)는, 피사체를 촬상해서 화상을 생성하고, 화상 데이터를 부호화해서 기록 매체에 기록한다.
촬상 장치(1260)는, 광학 블록(1261), 촬상부(1262), 신호 처리부(1263), 화상 처리부(1264), 표시부(1265), 외부 인터페이스(I/F)부(1266), 메모리부(1267), 미디어 드라이브(1268), OSD부(1269), 제어부(1270), 유저 인터페이스(I/F)부(1271) 및 버스(1272)를 구비한다.
광학 블록(1261)은, 촬상부(1262)에 접속된다. 촬상부(1262)는, 신호 처리부(1263)에 접속된다. 표시부(1265)는, 화상 처리부(1264)에 접속된다. 유저 인터페이스부(1271)는, 제어부(1270)에 접속된다. 버스(1272)는, 화상 처리부(1264), 외부 인터페이스부(1266), 메모리부(1267), 미디어 드라이브(1268), OSD부(1269) 및 제어부(1270)를 서로 접속한다.
광학 블록(1261)은, 포커스 렌즈 및 교축 기구 등을 갖는다. 광학 블록(1261)은, 피사체의 광학상을 촬상부(1262)의 촬상면에 결상시킨다. 촬상부(1262)는, CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(1262)는, 화상 신호를 신호 처리부(1263)로 출력한다.
신호 처리부(1263)는, 촬상부(1262)로부터 입력되는 화상 신호에 대하여 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(1263)는, 카메라 신호 처리 후의 화상 데이터를 화상 처리부(1264)로 출력한다.
화상 처리부(1264)는, 신호 처리부(1263)로부터 입력되는 화상 데이터를 부호화하고, 부호화 데이터를 생성한다. 그리고, 화상 처리부(1264)는, 생성한 부호화 데이터를 외부 인터페이스부(1266) 또는 미디어 드라이브(1268)로 출력한다. 또한, 화상 처리부(1264)는, 외부 인터페이스부(1266) 또는 미디어 드라이브(1268)로부터 입력되는 부호화 데이터를 복호하고, 화상 데이터를 생성한다. 그리고, 화상 처리부(1264)는, 생성한 화상 데이터를 표시부(1265)로 출력한다. 또한, 화상 처리부(1264)는, 신호 처리부(1263)로부터 입력되는 화상 데이터를 표시부(1265)로 출력해서 화상을 표시시켜도 된다. 또한, 화상 처리부(1264)는, OSD부(1269)로부터 취득되는 표시용 데이터를, 표시부(1265)로 출력하는 화상에 중첩해도 된다.
OSD부(1269)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI의 화상을 생성하고, 생성한 화상을 화상 처리부(1264)로 출력한다.
외부 인터페이스부(1266)는, 예를 들어 USB 입출력 단자로서 구성된다. 외부 인터페이스부(1266)는, 예를 들어 화상의 인쇄 시에, 촬상 장치(1260)와 프린터를 접속한다. 또한, 외부 인터페이스부(1266)에는, 필요에 따라서 드라이브가 접속된다. 드라이브에는, 예를 들어 자기 디스크 또는 광 디스크 등의 리무버블 미디어가 장착되고, 리무버블 미디어로부터 판독되는 프로그램이, 촬상 장치(1260)에 인스톨될 수 있다. 또한, 외부 인터페이스부(1266)는, LAN 또는 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성되어도 된다. 즉, 외부 인터페이스부(1266)는, 촬상 장치(1260)에 있어서의 전송부로서의 역할을 갖는다.
미디어 드라이브(1268)에 장착되는 기록 매체는, 예를 들어 자기 디스크, 광자기 디스크, 광 디스크, 또는 반도체 메모리 등의, 판독 기입 가능한 임의의 리무버블 미디어이면 된다. 또한, 미디어 드라이브(1268)에 기록 매체가 고정적으로 장착되고, 예를 들어 내장형 하드디스크 드라이브 또는 SSD(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(1270)는, CPU 등의 프로세서, 그리고 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(1260)의 기동 시에 CPU에 의해 읽어들여져서, 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스부(1271)로부터 입력되는 조작 신호에 따라서, 촬상 장치(1260)의 동작을 제어한다.
유저 인터페이스부(1271)는, 제어부(1270)와 접속된다. 유저 인터페이스부(1271)는, 예를 들어 유저가 촬상 장치(1260)를 조작하기 위한 버튼 및 스위치 등을 갖는다. 유저 인터페이스부(1271)는, 이들 구성 요소를 통해서 유저에 의한 조작을 검출해서 조작 신호를 생성하고, 생성한 조작 신호를 제어부(1270)로 출력한다.
이와 같이 구성된 촬상 장치(1260)에 있어서, 예를 들어 화상 처리부(1264)가, 상술한 부호화 장치(11)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(1264)가, 화상 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 부호화하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(1260)는 S/N 및 압축 효율을 크게 개선할 수 있다.
또한, 이와 같이 구성된 촬상 장치(1260)에 있어서, 예를 들어 화상 처리부(1264)가, 상술한 복호 장치(12)의 기능을 갖도록 해도 된다. 즉, 화상 처리부(1264)가, 부호화 데이터를, 이상의 실시 형태에 있어서 설명한 방법으로 복호하도록 해도 된다. 이와 같이 함으로써, 촬상 장치(1260)는, S/N 및 압축 효율을 크게 개선할 수 있다.
<그 외의 응용예>
또한, 본 기술은, 미리 준비된 해상도 등이 서로 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택해서 사용하는, 예를 들어 MPEG DASH 등과 같은 HTTP 스트리밍에도 적용할 수 있다. 즉, 이러한 복수의 부호화 데이터 사이에서, 부호화나 복호에 관한 정보를 공유할 수도 있다.
또한, 이상에 있어서는, 본 기술을 적용하는 장치나 시스템 등의 예를 설명했지만, 본 기술은, 이에 한정하지 않고, 이러한 장치 또는 시스템을 구성하는 장치에 탑재하는 모든 구성, 예를 들어 시스템 LSI(Large Scale Integration) 등으로서의 프로세서, 복수의 프로세서 등을 사용하는 모듈, 복수의 모듈 등을 사용하는 유닛, 유닛에 또한 그 외의 기능을 부가한 세트 등(즉, 장치의 일부 구성)으로서 실시할 수도 있다.
<비디오 세트>
본 기술을 세트로 해서 실시하는 경우의 예에 대해서, 도 91을 참조하여 설명한다.
도 91은, 본 기술을 적용한 비디오 세트의 개략적인 구성의 일례를 도시하는 도면이다.
근년, 전자 기기의 다기능화가 진행되어 있고, 그 개발이나 제조에 있어서, 그 일부 구성을 판매나 제공 등으로서 실시하는 경우, 1 기능을 갖는 구성으로서 실시를 행하는 경우뿐만 아니라, 관련된 기능을 갖는 복수의 구성을 조합하여, 복수의 기능을 갖는 1세트로서 실시를 행하는 경우도 많이 보이게 되었다.
도 91에 나타나는 비디오 세트(1300)는, 이러한 다기능화된 구성이며, 화상의 부호화나 복호(어느 한쪽이어도 되고, 양쪽이어도 된다)에 관한 기능을 갖는 디바이스에, 그 기능에 관련된 그 외의 기능을 갖는 디바이스를 조합한 것이다.
도 91에 도시된 바와 같이, 비디오 세트(1300)는, 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314) 등의 모듈 군과, 커넥티비티(1321), 카메라(1322) 및 센서(1323) 등의 관련된 기능을 갖는 디바이스를 갖는다.
모듈은, 서로 관련된 몇개의 부품적 기능을 통합하고, 통합이 있는 기능을 가진 부품으로 한 것이다. 구체적인 물리적 구성은 임의이지만, 예를 들어 각각 기능을 갖는 복수의 프로세서, 저항이나 콘덴서 등의 전자 회로 소자, 그 외의 디바이스 등을 배선 기판 등에 배치해서 일체화한 것이 생각된다. 또한, 모듈에 다른 모듈이나 프로세서 등을 조합해서 새로운 모듈로 하는 것도 생각된다.
도 91의 예의 경우, 비디오 모듈(1311)은, 화상 처리에 관한 기능을 갖는 구성을 조합한 것이며, 애플리케이션 프로세서(1331), 비디오 프로세서(1332), 브로드밴드 모뎀(1333) 및 RF 모듈(1334)를 갖는다.
프로세서는, 소정의 기능을 갖는 구성을 SoC(System On a Chip)에 의해 반도체 칩에 집적한 것이며, 예를 들어 시스템 LSI(Large Scale Integration) 등이라 칭해지는 것도 있다. 이 소정의 기능을 갖는 구성은, 논리 회로(하드웨어 구성)여도 되고, CPU, ROM, RAM 등과, 그들을 사용해서 실행되는 프로그램(소프트웨어 구성)이어도 되고, 그 양쪽을 조합한 것이어도 된다. 예를 들어, 프로세서가, 논리 회로와 CPU, ROM, RAM 등을 갖고, 기능의 일부를 논리 회로(하드웨어 구성)에 의해 실현하고, 그 외의 기능을 CPU에 있어서 실행되는 프로그램(소프트웨어 구성)에 의해 실현하도록 해도 된다.
도 91의 애플리케이션 프로세서(1331)는, 화상 처리에 관한 어플리케이션을 실행하는 프로세서이다. 이 애플리케이션 프로세서(1331)에 있어서 실행되는 어플리케이션은, 소정의 기능을 실현하기 위해서, 연산 처리를 행할 뿐만 아니라, 예를 들어 비디오 프로세서(1332) 등, 비디오 모듈(1311) 내외의 구성을 필요에 따라서 제어할 수도 있다.
비디오 프로세서(1332)는, 화상의 부호화·복호(그 한쪽 혹은 양쪽)에 관한 기능을 갖는 프로세서이다.
브로드밴드 모뎀(1333)은, 인터넷이나 공중 전화 회선망 등의 광대역의 회선을 통해서 행해지는 유선 혹은 무선(또는 그 양쪽)의 광대역 통신에 의해 송신하는 데이터(디지털 신호)를 디지털 변조하거나 해서 아날로그 신호로 변환하거나, 그 광대역 통신에 의해 수신한 아날로그 신호를 복조해서 데이터(디지털 신호)로 변환하거나 한다. 브로드밴드 모뎀(1333)은, 예를 들어 비디오 프로세서(1332)가 처리하는 화상 데이터, 화상 데이터가 부호화된 스트림, 애플리케이션 프로그램, 설정 데이터 등, 임의의 정보를 처리한다.
RF 모듈(1334)은, 안테나를 통해서 송수신되는 RF(Radio Frequency) 신호에 대하여, 주파수 변환, 변복조, 증폭, 필터 처리 등을 행하는 모듈이다. 예를 들어, RF 모듈(1334)은, 브로드밴드 모뎀(1333)에 의해 생성된 기저 대역 신호에 대하여 주파수 변환 등을 행해서 RF 신호를 생성한다. 또한, 예를 들어 RF 모듈(1334)은, 프론트엔드 모듈(1314)을 통해서 수신된 RF 신호에 대하여 주파수 변환 등을 행해서 기저 대역 신호를 생성한다.
또한, 도 91에 있어서 점선(1341)으로 나타낸 바와 같이, 애플리케이션 프로세서(1331)와 비디오 프로세서(1332)를, 일체화하고, 1개의 프로세서로서 구성되도록 해도 된다.
외부 메모리(1312)는, 비디오 모듈(1311)의 외부에 설치된, 비디오 모듈(1311)에 의해 이용되는 기억 디바이스를 갖는 모듈이다. 이 외부 메모리(1312)의 기억 디바이스는, 어떤 물리 구성에 의해 실현하도록 해도 되지만, 일반적으로 프레임 단위의 화상 데이터와 같은 대용량의 데이터의 저장에 이용되는 일이 많으므로, 예를 들어 DRAM(Dynamic Random Access Memory)과 같은 비교적 저렴하고 대용량인 반도체 메모리에 의해 실현하는 것이 바람직하다.
파워 매니지먼트 모듈(1313)은, 비디오 모듈(1311)(비디오 모듈(1311) 내의 각 구성)로의 전력 공급을 관리하고, 제어한다.
프론트엔드 모듈(1314)은, RF 모듈(1334)에 대하여 프론트엔드 기능(안테나측의 송수신 단의 회로)를 제공하는 모듈이다. 도 91에 도시된 바와 같이, 프론트엔드 모듈(1314)은, 예를 들어 안테나부(1351), 필터(1352) 및 증폭부(1353)를 갖는다.
안테나부(1351)는, 무선 신호를 송수신하는 안테나 및 그 주변의 구성을 갖는다. 안테나부(1351)는, 증폭부(1353)로부터 공급되는 신호를 무선 신호로서 송신하고, 수신한 무선 신호를 전기 신호(RF 신호)로서 필터(1352)에 공급한다. 필터(1352)는, 안테나부(1351)를 통해서 수신된 RF 신호에 대하여 필터 처리 등을 행하고, 처리 후의 RF 신호를 RF 모듈(1334)에 공급한다. 증폭부(1353)는, RF 모듈(1334)로부터 공급되는 RF 신호를 증폭하고, 안테나부(1351)에 공급한다.
커넥티비티(1321)는, 외부와의 접속에 관한 기능을 갖는 모듈이다. 커넥티비티(1321)의 물리 구성은 임의이다. 예를 들어, 커넥티비티(1321)는, 브로드밴드 모뎀(1333)이 대응하는 통신 규격 이외의 통신 기능을 갖는 구성이나, 외부 입출력 단자 등을 갖는다.
예를 들어, 커넥티비티(1321)가, Bluetooth(등록상표), IEEE 802.11(예를 들어 Wi-Fi(Wireless Fidelity, 등록상표)), NFC(Near Field Co㎜unication), IrDA(InfraRed Data Association) 등의 무선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 신호를 송수신하는 안테나 등을 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, USB(Universal Serial Bus), HDMI(등록상표)(High-Definition Multimedia Interface) 등의 유선 통신 규격에 준거하는 통신 기능을 갖는 모듈이나, 그 규격에 준거한 단자를 갖도록 해도 된다. 또한, 예를 들어 커넥티비티(1321)가, 아날로그 입출력 단자 등의 그 외의 데이터(신호) 전송 기능 등을 갖도록 해도 된다.
또한, 커넥티비티(1321)가, 데이터(신호)의 전송처의 디바이스를 포함하도록 해도 된다. 예를 들어, 커넥티비티(1321)가, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 기록 매체에 대하여 데이터의 판독이나 기입을 행하는 드라이브(리무버블 미디어의 드라이브뿐만 아니라, 하드 디스크, SSD(Solid State Drive), NAS(Network Attached Storage) 등도 포함한다)를 갖도록 해도 된다. 또한, 커넥티비티(1321)가, 화상이나 음성의 출력 디바이스(모니터나 스피커 등)를 갖도록 해도 된다.
카메라(1322)는, 피사체를 촬상하고, 피사체의 화상 데이터를 얻는 기능을 갖는 모듈이다. 카메라(1322)의 촬상에 의해 얻어진 화상 데이터는, 예를 들어 비디오 프로세서(1332)에 공급되어 부호화된다.
센서(1323)는, 예를 들어 음성 센서, 초음파 센서, 광 센서, 조도 센서, 적외선 센서, 이미지 센서, 회전 센서, 각도 센서, 각속도 센서, 속도 센서, 가속도 센서, 경사 센서, 자기 식별 센서, 충격 센서, 온도 센서 등, 임의의 센서 기능을 갖는 모듈이다. 센서(1323)에 의해 검출된 데이터는, 예를 들어 애플리케이션 프로세서(1331)에 공급되어 어플리케이션 등에 의해 이용된다.
이상에 있어서 모듈로서 설명한 구성을 프로세서로서 실현하도록 해도 되고, 반대로 프로세서로서 설명한 구성을 모듈로서 실현하도록 해도 된다.
이상과 같은 구성의 비디오 세트(1300)에 있어서, 후술하는 바와 같이 비디오 프로세서(1332)에 본 기술을 적용할 수 있다. 따라서, 비디오 세트(1300)는, 본 기술을 적용한 세트로 해서 실시할 수 있다.
<비디오 프로세서의 구성예>
도 92는, 본 기술을 적용한 비디오 프로세서(1332)(도 91)의 개략적인 구성의 일례를 도시하는 도면이다.
도 92의 예의 경우, 비디오 프로세서(1332)는, 비디오 신호 및 오디오 신호의 입력을 받아서 이들을 소정의 방식으로 부호화하는 기능과, 부호화된 비디오 데이터 및 오디오 데이터를 복호하고, 비디오 신호 및 오디오 신호를 재생 출력하는 기능을 갖는다.
도 92에 도시된 바와 같이, 비디오 프로세서(1332)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404), 프레임 메모리(1405) 및 메모리 제어부(1406)를 갖는다. 또한, 비디오 프로세서(1332)는, 인코드·디코드 엔진(1407), 비디오 ES(Elementary Stream) 버퍼(1408A 및 1408B), 그리고 오디오 ES 버퍼(1409A 및 1409B)를 갖는다. 또한, 비디오 프로세서(1332)는, 오디오 인코더(1410), 오디오 디코더(1411), 다중화부(MUX(Multiplexer)(1412), 역다중화부(DMUX(Demultiplexer)(1413) 및 스트림 버퍼(1414)를 갖는다.
비디오 입력 처리부(1401)는, 예를 들어 커넥티비티(1321)(도 91) 등으로부터 입력된 비디오 신호를 취득하고, 디지털 화상 데이터로 변환한다. 제1 화상 확대 축소부(1402)는, 화상 데이터에 대하여 포맷 변환이나 화상의 확대 축소 처리 등을 행한다. 제2 화상 확대 축소부(1403)는, 화상 데이터에 대하여, 비디오 출력 처리부(1404)를 통해서 출력하는 곳에서의 포맷에 따라서 화상의 확대 축소 처리를 행하거나, 제1 화상 확대 축소부(1402)와 마찬가지인 포맷 변환이나 화상의 확대 축소 처리 등을 행한다. 비디오 출력 처리부(1404)는, 화상 데이터에 대하여, 포맷 변환이나 아날로그 신호로의 변환 등을 행하여, 재생된 비디오 신호로서 예를 들어 커넥티비티(1321) 등에 출력한다.
프레임 메모리(1405)는, 비디오 입력 처리부(1401), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403), 비디오 출력 처리부(1404) 및 인코드·디코드 엔진(1407)에 의해 공용되는 화상 데이터용 메모리이다. 프레임 메모리(1405)는, 예를 들어 DRAM 등의 반도체 메모리로서 실현된다.
메모리 제어부(1406)는, 인코드·디코드 엔진(1407)으로부터의 동기 신호를 받고, 액세스 관리 테이블(1406A)에 기입된 프레임 메모리(1405)로의 액세스 스케줄에 따라서 프레임 메모리(1405)로의 기입·판독의 액세스를 제어한다. 액세스 관리 테이블(1406A)은, 인코드·디코드 엔진(1407), 제1 화상 확대 축소부(1402), 제2 화상 확대 축소부(1403) 등에서 실행되는 처리에 따라서, 메모리 제어부(1406)에 의해 갱신된다.
인코드·디코드 엔진(1407)은, 화상 데이터의 인코드 처리, 그리고 화상 데이터가 부호화된 데이터인 비디오 스트림의 디코드 처리를 행한다. 예를 들어, 인코드·디코드 엔진(1407)은, 프레임 메모리(1405)로부터 판독한 화상 데이터를 부호화하고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 순차 기입한다. 또한, 예를 들어 비디오 ES 버퍼(1408B)로부터 비디오 스트림을 순차 판독해서 복호하고, 화상 데이터로서 프레임 메모리(1405)에 순차 기입한다. 인코드·디코드 엔진(1407)은, 이들 부호화나 복호에 있어서, 프레임 메모리(1405)를 작업 영역으로서 사용한다. 또한, 인코드·디코드 엔진(1407)은, 예를 들어 매크로 블록마다의 처리를 개시하는 타이밍에, 메모리 제어부(1406)에 대하여 동기 신호를 출력한다.
비디오 ES 버퍼(1408A)는, 인코드·디코드 엔진(1407)에 의해 생성된 비디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 비디오 ES 버퍼(1408B)는, 역다중화부(DMUX)(1413)로부터 공급된 비디오 스트림을 버퍼링하여, 인코드·디코드 엔진(1407)에 공급한다.
오디오 ES 버퍼(1409A)는, 오디오 인코더(1410)에 의해 생성된 오디오 스트림을 버퍼링하여, 다중화부(MUX)(1412)에 공급한다. 오디오 ES 버퍼(1409B)는, 역다중화부(DMUX(1413)로부터 공급된 오디오 스트림을 버퍼링하여, 오디오 디코더(1411)에 공급한다.
오디오 인코더(1410)는, 예를 들어 커넥티비티(1321) 등으로부터 입력된 오디오 신호를 예를 들어 디지털 변환하고, 예를 들어 MPEG 오디오 방식이나 AC3(AudioCode number 3) 방식 등의 소정의 방식으로 부호화한다. 오디오 인코더(1410)는, 오디오 신호가 부호화된 데이터인 오디오 스트림을 오디오 ES 버퍼(1409A)에 순차 기입한다. 오디오 디코더(1411)는, 오디오 ES 버퍼(1409B)로부터 공급된 오디오 스트림을 복호하고, 예를 들어 아날로그 신호로의 변환 등을 행하여, 재생된 오디오 신호로서 예를 들어 커넥티비티(1321) 등에 공급한다.
다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화한다. 이 다중화의 방법(즉, 다중화에 의해 생성되는 비트 스트림의 포맷)은 임의이다. 또한, 이 다중화 시에, 다중화부(MUX)(1412)는, 소정의 헤더 정보 등을 비트 스트림에 부가할 수도 있다. 즉, 다중화부(MUX)(1412)는, 다중화에 의해 스트림의 포맷을 변환할 수 있다. 예를 들어, 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림으로 변환한다. 또한, 예를 들어 다중화부(MUX)(1412)는, 비디오 스트림과 오디오 스트림을 다중화함으로써, 기록용 파일 포맷의 데이터(파일 데이터)로 변환한다.
역다중화부(DMUX)(1413)는, 다중화부(MUX)(1412)에 의한 다중화에 대응하는 방법이며, 비디오 스트림과 오디오 스트림이 다중화된 비트 스트림을 역다중화한다. 즉, 역다중화부(DMUX)(1413)는, 스트림 버퍼(1414)로부터 판독된 비트 스트림으로부터 비디오 스트림과 오디오 스트림을 추출한다(비디오 스트림과 오디오 스트림을 분리한다). 즉, 역다중화부(DMUX)(1413)는, 역다중화에 의해 스트림의 포맷을 변환(다중화부(MUX)(1412)에 의한 변환의 역변환)할 수 있다. 예를 들어, 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등으로부터 공급된 트랜스포트 스트림을, 스트림 버퍼(1414)를 통해서 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다. 또한, 예를 들어 역다중화부(DMUX)(1413)는, 예를 들어 커넥티비티(1321)에 의해 각종 기록 매체로부터 판독된 파일 데이터를, 스트림 버퍼(1414)를 통해서 취득하고, 역다중화함으로써, 비디오 스트림과 오디오 스트림으로 변환할 수 있다.
스트림 버퍼(1414)는, 비트 스트림을 버퍼링한다. 예를 들어, 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급한다.
또한, 예를 들어 스트림 버퍼(1414)는, 다중화부(MUX)(1412)로부터 공급된 파일 데이터를 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 예를 들어 커넥티비티(1321) 등에 공급하고, 각종 기록 매체에 기록시킨다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해서 취득한 트랜스포트 스트림을 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
또한, 스트림 버퍼(1414)는, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독된 파일 데이터를 버퍼링하고, 소정의 타이밍에 있어서, 혹은 외부로부터의 요구 등에 기초하여, 역다중화부(DMUX)(1413)에 공급한다.
이어서, 이와 같은 구성의 비디오 프로세서(1332)의 동작예에 대해서 설명한다. 예를 들어, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 비디오 신호는, 비디오 입력 처리부(1401)에 있어서 4:2:2Y/Cb/Cr 방식 등의 소정의 방식의 디지털 화상 데이터로 변환되고, 프레임 메모리(1405)에 순차 기입된다. 이 디지털 화상 데이터는, 제1 화상 확대 축소부(1402) 또는 제2 화상 확대 축소부(1403)에 판독되어, 4:2:0Y/Cb/Cr 방식 등의 소정의 방식으로의 포맷 변환 및 확대 축소 처리가 행해지고, 다시 프레임 메모리(1405)에 기입된다. 이 화상 데이터는, 인코드·디코드 엔진(1407)에 의해 부호화되고, 비디오 스트림으로서 비디오 ES 버퍼(1408A)에 기입된다.
또한, 커넥티비티(1321) 등으로부터 비디오 프로세서(1332)에 입력된 오디오 신호는, 오디오 인코더(1410)에 의해 부호화되고, 오디오 스트림으로서, 오디오 ES 버퍼(1409A)에 기입된다.
비디오 ES 버퍼(1408A)의 비디오 스트림과, 오디오 ES 버퍼(1409A)의 오디오 스트림은, 다중화부(MUX)(1412)에 판독되어 다중화되고, 트랜스포트 스트림 혹은 파일 데이터 등으로 변환된다. 다중화부(MUX)(1412)에 의해 생성된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해서 외부 네트워크에 출력된다. 또한, 다중화부(MUX)(1412)에 의해 생성된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 예를 들어 커넥티비티(1321) 등에 출력되고, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해서 외부 네트워크로부터 비디오 프로세서(1332)에 입력된 트랜스포트 스트림은, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 또한, 예를 들어 커넥티비티(1321) 등에 있어서 각종 기록 매체로부터 판독되고, 비디오 프로세서(1332)에 입력된 파일 데이터는, 스트림 버퍼(1414)에 버퍼된 후, 역다중화부(DMUX)(1413)에 의해 역다중화된다. 즉, 비디오 프로세서(1332)에 입력된 트랜스포트 스트림 또는 파일 데이터는, 역다중화부(DMUX)(1413)에 의해 비디오 스트림과 오디오 스트림으로 분리된다.
오디오 스트림은, 오디오 ES 버퍼(1409B)를 통해서 오디오 디코더(1411)에 공급되고, 복호되어 오디오 신호가 재생된다. 또한, 비디오 스트림은, 비디오 ES 버퍼(1408B)에 기입된 후, 인코드·디코드 엔진(1407)에 의해 순차 판독되어 복호되어 프레임 메모리(1405)에 기입된다. 복호된 화상 데이터는, 제2 화상 확대 축소부(1403)에 의해 확대 축소 처리되어, 프레임 메모리(1405)에 기입된다. 그리고, 복호된 화상 데이터는, 비디오 출력 처리부(1404)에 판독되어, 4:2:2Y/Cb/Cr 방식 등의 소정의 방식으로 포맷 변환되고, 또한 아날로그 신호로 변환되어, 비디오 신호가 재생 출력된다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 인코드·디코드 엔진(1407)에, 상술한 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 인코드·디코드 엔진(1407)이, 상술한 부호화 장치(11)의 기능 혹은 복호 장치(12)의 기능 또는 그 양쪽을 갖도록 해도 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 상술한 실시 형태의 부호화 장치(11)나 복호 장치(12)와 마찬가지 효과를 얻을 수 있다.
또한, 인코드·디코드 엔진(1407)에 있어서, 본 기술(즉, 부호화 장치(11)의 기능 혹은 복호 장치(12)의 기능 또는 그 양쪽)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되고, 그들 양쪽에 의해 실현하도록 해도 된다.
<비디오 프로세서의 다른 구성예>
도 93은, 본 기술을 적용한 비디오 프로세서(1332)의 개략적인 구성의 다른 예를 나타내는 도면이다.
도 93의 예의 경우, 비디오 프로세서(1332)는, 비디오 데이터를 소정의 방식으로 부호화·복호하는 기능을 갖는다.
보다 구체적으로는, 도 93에 도시된 바와 같이, 비디오 프로세서(1332)는, 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 내부 메모리(1515)를 갖는다. 또한, 비디오 프로세서(1332)는, 코덱 엔진(1516), 메모리 인터페이스(1517), 다중화·역다중화부(MUX DMUX)(1518), 네트워크 인터페이스(1519) 및 비디오 인터페이스(1520)를 갖는다.
제어부(1511)는, 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516) 등, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어한다.
도 93에 도시된 바와 같이, 제어부(1511)는, 예를 들어 메인 CPU(1531), 서브 CPU(1532) 및 시스템 컨트롤러(1533)를 갖는다. 메인 CPU(1531)는, 비디오 프로세서(1332) 내의 각 처리부의 동작을 제어하기 위한 프로그램 등을 실행한다. 메인 CPU(1531)는, 그 프로그램 등에 따라서 제어 신호를 생성하고, 각 처리부에 공급한다(즉, 각 처리부의 동작을 제어한다). 서브 CPU(1532)는, 메인 CPU(1531)의 보조적인 역할을 한다. 예를 들어, 서브 CPU(1532)는, 메인 CPU(1531)가 실행하는 프로그램 등의 자 프로세스나 서브 루틴 등을 실행한다. 시스템 컨트롤러(1533)는, 메인 CPU(1531) 및 서브 CPU(1532)가 실행하는 프로그램을 지정하는 등, 메인 CPU(1531) 및 서브 CPU(1532)의 동작을 제어한다.
디스플레이 인터페이스(1512)는, 제어부(1511)의 제어 하에, 화상 데이터를 예를 들어 커넥티비티(1321) 등에 출력한다. 예를 들어, 디스플레이 인터페이스(1512)는, 디지털 데이터의 화상 데이터를 아날로그 신호로 변환하고, 재생된 비디오 신호로서, 또는 디지털 데이터의 화상 데이터 그대로, 커넥티비티(1321)의 모니터 장치 등에 출력한다.
디스플레이 엔진(1513)은, 제어부(1511)의 제어 하에, 화상 데이터에 대하여, 그 화상을 표시시키는 모니터 장치 등의 하드웨어 스펙에 맞추도록, 포맷 변환, 사이즈 변환, 색 영역 변환 등의 각종 변환 처리를 행한다.
화상 처리 엔진(1514)은, 제어부(1511)의 제어 하에, 화상 데이터에 대하여, 예를 들어 화질 개선을 위한 필터 처리 등, 소정의 화상 처리를 실시한다.
내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516)에 의해 공용되는, 비디오 프로세서(1332)의 내부에 설치된 메모리이다. 내부 메모리(1515)는, 예를 들어 디스플레이 엔진(1513), 화상 처리 엔진(1514) 및 코덱 엔진(1516) 사이에서 행해지는 데이터의 수수에 이용된다. 예를 들어, 내부 메모리(1515)는, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)으로부터 공급되는 데이터를 저장하고, 필요에 따라서(예를 들어, 요구에 따라서), 그 데이터를, 디스플레이 엔진(1513), 화상 처리 엔진(1514), 또는 코덱 엔진(1516)에 공급한다. 이 내부 메모리(1515)는, 어떤 기억 디바이스에 의해 실현하도록 해도 되지만, 일반적으로 블록 단위의 화상 데이터나 파라미터 등이라고 하는 소용량의 데이터의 저장에 이용하는 경우가 많으므로, 예를 들어 SRAM(Static Random Access Memory)과 같은 비교적(예를 들어 외부 메모리(1312)와 비교해서) 소용량이지만 응답 속도가 고속인 반도체 메모리에 의해 실현하는 것이 바람직하다.
코덱 엔진(1516)은, 화상 데이터의 부호화나 복호에 관한 처리를 행한다. 이 코덱 엔진(1516)이 대응하는 부호화·복호의 방식은 임의이며, 그 수는 1개여도 되고, 복수여도 된다. 예를 들어, 코덱 엔진(1516)은, 복수의 부호화·복호 방식의 코덱 기능을 구비하고, 그 중에서 선택된 것으로 화상 데이터의 부호화 또는 부호화 데이터의 복호를 행하도록 해도 된다.
도 93에 나타나는 예에 있어서, 코덱 엔진(1516)은, 코덱에 관한 처리의 기능 블록으로서, 예를 들어 MPEG-2 Video(1541), AVC/H.264(1542), HEVC/H.265(1543), HEVC/H.265(Scalable)(1544), HEVC/H.265(Multi-view)(1545) 및 MPEG-DASH(1551)를 갖는다.
MPEG-2 Video(1541)는, 화상 데이터를 MPEG-2 방식으로 부호화하거나 복호하는 기능 블록이다. AVC/H.264(1542)는, 화상 데이터를 AVC 방식으로 부호화하거나 복호하는 기능 블록이다. HEVC/H.265(1543)는, 화상 데이터를 HEVC 방식으로 부호화하거나 복호하는 기능 블록이다. HEVC/H.265(Scalable)(1544)는, 화상 데이터를 HEVC 방식으로 스케일러블 부호화하거나 스케일러블 복호하는 기능 블록이다. HEVC/H.265(Multi-view)(1545)는, 화상 데이터를 HEVC 방식으로 다시점 부호화하거나 다시점 복호하는 기능 블록이다.
MPEG-DASH(1551)는, 화상 데이터를 MPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP) 방식으로 송수신하는 기능 블록이다. MPEG-DASH는, HTTP(HyperText Transfer Protocol)를 사용해서 비디오의 스트리밍을 행하는 기술이며, 미리 준비된 해상도 등이 서로 상이한 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하고 전송하는 것을 특징 중 하나로 한다. MPEG-DASH(1551)는, 규격에 준거하는 스트림의 생성이나 그 스트림의 전송 제어 등을 행하고, 화상 데이터의 부호화·복호에 대해서는, 상술한 MPEG-2 Video(1541) 내지 HEVC/H.265(Multi-view)(1545)를 이용한다.
메모리 인터페이스(1517)는, 외부 메모리(1312)용 인터페이스이다. 화상 처리 엔진(1514)이나 코덱 엔진(1516)으로부터 공급되는 데이터는, 메모리 인터페이스(1517)를 통해서 외부 메모리(1312)에 공급된다. 또한, 외부 메모리(1312)로부터 판독된 데이터는, 메모리 인터페이스(1517)를 통해서 비디오 프로세서(1332)(화상 처리 엔진(1514) 혹은 코덱 엔진(1516))에 공급된다.
다중화·역다중화부(MUX DMUX)(1518)는, 부호화 데이터의 비트 스트림, 화상 데이터, 비디오 신호 등, 화상에 관한 각종 데이터의 다중화나 역다중화를 행한다. 이 다중화·역다중화의 방법은 임의이다. 예를 들어, 다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 복수의 데이터를 1개로 통합할 뿐만 아니라, 소정의 헤더 정보 등을 그 데이터에 부가할 수도 있다. 또한, 역다중화 시에, 다중화·역다중화부(MUX DMUX)(1518)는, 1개의 데이터를 복수로 분할할뿐만 아니라, 분할한 각 데이터에 소정의 헤더 정보 등을 부가할 수도 있다. 즉, 다중화·역다중화부(MUX DMUX)(1518)는, 다중화·역다중화에 의해 데이터의 포맷을 변환할 수 있다. 예를 들어, 다중화·역다중화부(MUX DMUX)(1518)는, 비트 스트림을 다중화함으로써, 전송용 포맷의 비트 스트림인 트랜스포트 스트림이나, 기록용 파일 포맷의 데이터(파일 데이터)로 변환할 수 있다. 물론, 역다중화에 의해 그 역변환도 가능하다.
네트워크 인터페이스(1519)는, 예를 들어 브로드밴드 모뎀(1333)이나 커넥티비티(1321) 등을 위한 인터페이스이다. 비디오 인터페이스(1520)는, 예를 들어 커넥티비티(1321)나 카메라(1322) 등을 위한 인터페이스이다.
이어서, 이러한 비디오 프로세서(1332)의 동작예에 대해서 설명한다. 예를 들어, 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등을 통해서 외부 네트워크로부터 트랜스포트 스트림을 수신하면, 그 트랜스포트 스트림은, 네트워크 인터페이스(1519)를 통해서 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 예를 들어 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되고, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해서 예를 들어 커넥티비티(1321) 등에 공급되고, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되고, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 파일 데이터로 변환되고, 비디오 인터페이스(1520)를 통해서 예를 들어 커넥티비티(1321) 등에 출력되고, 각종 기록 매체에 기록된다.
또한, 예를 들어 커넥티비티(1321) 등에 의해 도시하지 않은 기록 매체로부터 판독된, 화상 데이터가 부호화된 부호화 데이터의 파일 데이터는, 비디오 인터페이스(1520)를 통해서 다중화·역다중화부(MUX DMUX)(1518)에 공급되어 역다중화되고, 코덱 엔진(1516)에 의해 복호된다. 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 화상 처리 엔진(1514)에 의해 소정의 화상 처리가 실시되고, 디스플레이 엔진(1513)에 의해 소정의 변환이 행해지고, 디스플레이 인터페이스(1512)를 통해서 예를 들어 커넥티비티(1321) 등에 공급되고, 그 화상이 모니터에 표시된다. 또한, 예를 들어 코덱 엔진(1516)의 복호에 의해 얻어진 화상 데이터는, 코덱 엔진(1516)에 의해 재부호화되고, 다중화·역다중화부(MUX DMUX)(1518)에 의해 다중화되어 트랜스포트 스트림으로 변환되고, 네트워크 인터페이스(1519)를 통해서 예를 들어 커넥티비티(1321)나 브로드밴드 모뎀(1333) 등에 공급되어 도시하지 않은 다른 장치로 전송된다.
또한, 비디오 프로세서(1332) 내의 각 처리부 사이에서의 화상 데이터나 그 외의 데이터의 수수는, 예를 들어 내부 메모리(1515)나 외부 메모리(1312)를 이용해서 행해진다. 또한, 파워 매니지먼트 모듈(1313)은, 예를 들어 제어부(1511)로의 전력 공급을 제어한다.
이와 같이 구성되는 비디오 프로세서(1332)에 본 기술을 적용하는 경우, 코덱 엔진(1516)에, 상술한 실시 형태에 따른 본 기술을 적용하면 된다. 즉, 예를 들어 코덱 엔진(1516)이, 상술한 부호화 장치(11)의 기능 혹은 복호 장치(12)의 기능 또는 그 양쪽을 갖도록 하면 된다. 이와 같이 함으로써, 비디오 프로세서(1332)는, 상술한 부호화 장치(11)나 복호 장치(12)와 마찬가지 효과를 얻을 수 있다.
또한, 코덱 엔진(1516)에 있어서, 본 기술(즉, 부호화 장치(11)나 복호 장치(12)의 기능)은, 논리 회로 등의 하드웨어에 의해 실현하도록 해도 되고, 내장 프로그램 등의 소프트웨어에 의해 실현하도록 해도 되고, 그들 양쪽에 의해 실현하도록 해도 된다.
이상으로 비디오 프로세서(1332)의 구성을 두가지 예시했지만, 비디오 프로세서(1332)의 구성은 임의이며, 상술한 두개의 예 이외의 것이어도 무방하다. 또한, 이 비디오 프로세서(1332)는, 1개의 반도체 칩으로서 구성되도록 해도 되지만, 복수의 반도체 칩으로서 구성되도록 해도 된다. 예를 들어, 복수의 반도체를 적층하는 3차원 적층 LSI로 해도 된다. 또한, 복수의 LSI에 의해 실현되도록 해도 된다.
<장치로의 적용예>
비디오 세트(1300)는, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 세트(1300)는, 텔레비전 장치(1200)(도 87), 휴대 전화기(1220)(도 88), 기록 재생 장치(1240)(도 89), 촬상 장치(1260)(도 90) 등에 내장할 수 있다. 비디오 세트(1300)를 내장함으로써, 그 장치는, 상술한 부호화 장치(11)나 복호 장치(12)와 마찬가지 효과를 얻을 수 있다.
또한, 상술한 비디오 세트(1300)의 각 구성의 일부여도, 비디오 프로세서(1332)를 포함하는 것이면, 본 기술을 적용한 구성으로 해서 실시할 수 있다. 예를 들어, 비디오 프로세서(1332)만을 본 기술을 적용한 비디오 프로세서로서 실시할 수 있다. 또한, 예를 들어 상술한 바와 같이 점선(1341)에 의해 나타나는 프로세서나 비디오 모듈(1311) 등을, 본 기술을 적용한 프로세서나 모듈 등으로서 실시할 수 있다. 또한, 예를 들어 비디오 모듈(1311), 외부 메모리(1312), 파워 매니지먼트 모듈(1313) 및 프론트엔드 모듈(1314)을 조합하고, 본 기술을 적용한 비디오 유닛(1361)으로서 실시할 수도 있다. 어느 것의 구성의 경우에도, 상술한 부호화 장치(11)나 복호 장치(12)와 마찬가지 효과를 얻을 수 있다.
즉, 비디오 프로세서(1332)를 포함하는 것이면 어떤 구성이어도, 비디오 세트(1300)의 경우와 마찬가지로, 화상 데이터를 처리하는 각종 장치에 내장할 수 있다. 예를 들어, 비디오 프로세서(1332), 점선(1341)에 의해 나타나는 프로세서, 비디오 모듈(1311), 또는 비디오 유닛(1361)을, 텔레비전 장치(1200)(도 87), 휴대 전화기(1220)(도 88), 기록 재생 장치(1240)(도 89), 촬상 장치(1260)(도 90) 등에 내장할 수 있다. 그리고, 본 기술을 적용한 어느 것의 구성을 내장함으로써, 그 장치는, 비디오 세트(1300)의 경우와 마찬가지로, 상술한 부호화 장치(11)나 복호 장치(12)와 마찬가지 효과를 얻을 수 있다.
<기타>
또한, 본 명세서에서는, 각종 정보가, 부호화 데이터(비트 스트림)에 다중화되어, 부호화측으로부터 복호측으로 전송되는 예에 대해서 설명했지만, 이들 정보를 전송하는 방법은 이러한 예에 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 데이터에 다중화되는 일 없이, 부호화 데이터와 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, 「관련짓는다」라는 용어는, 예를 들어 부호화 데이터에 포함되는 화상(슬라이스 혹은 블록 등, 화상의 일부여도 된다)과 당해 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 이 부호화 데이터(화상)에 관련지어진 정보는, 부호화 데이터(화상)와는 다른 전송로 상에서 전송되도록 해도 된다. 또한, 이 부호화 데이터(화상)에 관련지어진 정보는, 부호화 데이터(화상)와는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에어리어)에 기록되도록 해도 된다. 또한, 화상과 그 화상에 대응하는 정보가, 예를 들어 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어지도록 해도 된다.
또한, 「합성하다」, 「다중화하다」, 「부가하다」, 「일체화하다」, 「포함시키다」, 「저장하다」, 「밀어 넣다」, 「끼워 넣다」, 「삽입하다」 등의 용어는, 예를 들어 플래그 정보와 화상에 관한 정보의 부호화 데이터를 하나의 데이터로 통합한다고 하는 등, 복수의 것을 하나로 통합하는 것을 의미하고, 상술의 「관련짓는다」의 하나의 방법을 의미한다.
또한, 본 기술의 실시 형태는, 상술한 실시 형태에 한정되는 것이 아니고, 본 기술의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통해서 접속되어 있는 복수의 장치 및 1개의 하우징 내에 복수의 모듈이 수납되어 있는 1개의 장치는, 모두 시스템이다.
또한, 예를 들어 1개의 장치(또는 처리부)로서 설명한 구성을 분할하고, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에 있어서 복수의 장치(또는 처리부)로서 설명한 구성을 통합해서 1개의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 것 이외의 구성을 부가하도록 해도 물론 무방하다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함시키도록 해도 된다.
또한, 예를 들어 본 기술은, 1개의 기능을, 네트워크를 통해서 복수의 장치에서 분담, 공동해서 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 예를 들어 상술한 프로그램은, 임의의 장치에 있어서 실행할 수 있다. 그 경우, 그 장치가, 필요한 기능(기능 블록 등)을 갖고, 필요한 정보를 얻을 수 있도록 하면 된다.
또한, 예를 들어 상술한 흐름도에서 설명한 각 스텝은, 1개의 장치에서 실행하는 것 외에, 복수의 장치에서 분담해서 실행할 수 있다. 또한, 1개의 스텝에 복수의 처리가 포함되는 경우에는, 그 1개의 스텝에 포함되는 복수의 처리는, 1개의 장치에서 실행하는 것 외에, 복수의 장치에서 분담해서 실행할 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 프로그램을 기술하는 스텝의 처리가, 본 명세서에서 설명하는 순서를 따라 시계열로 실행되도록 해도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 개별로 실행되도록 해도 된다. 즉, 모순이 생기지 않는 한, 각 스텝의 처리가 상술한 순서와 상이한 순서로 실행되도록 해도 된다. 또한, 이 프로그램을 기술하는 스텝의 처리가, 다른 프로그램의 처리와 병렬로 실행되도록 해도 되고, 다른 프로그램의 처리와 조합해서 실행되도록 해도 된다.
또한, 본 명세서에 있어서 복수 설명한 본 기술은, 모순이 생기지 않는 한, 각각 독립적으로 단체로 실시할 수 있다. 물론, 임의의 복수의 본 기술을 병용해서 실시할 수도 있다. 예를 들어, 어느 것의 실시 형태에 있어서 설명한 본 기술을, 다른 실시 형태에 있어서 설명한 본 기술과 조합해서 실시할 수도 있다. 또한, 상술한 임의의 본 기술을, 상술하지 않은 다른 기술과 병용해서 실시할 수도 있다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것이 아니고, 다른 효과가 있어도 된다.
또한, 본 기술은, 이하의 구성을 취할 수 있다.
<1>
예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 필터 처리부를 구비하고,
상기 필터 처리부는,
상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 예측 탭 선택부와,
상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 클래스 분류부와,
상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 탭 계수 취득부와,
상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는 연산부
를 갖는
화상 처리 장치.
<2>
상기 탭 계수를 전송하는 전송부를 더 구비하는 <1>에 기재된 화상 처리 장치.
<3>
상기 학습을 행하는 학습부를 더 구비하는 <2>에 기재된 화상 처리 장치.
<4>
상기 클래스 분류부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 클래스 분류를 행하는 <2>에 기재된 화상 처리 장치.
<5>
상기 전송부는, 상기 부호화 정보를 전송하는 <4>에 기재된 화상 처리 장치.
<6>
상기 클래스 분류부는,
상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 상기 처리 대상 화소를 제1 클래스로 클래스 분류하고,
복호측에서 취득할 수 없는 소정의 정보를 사용해서, 상기 처리 대상 화소를 제2 클래스로 클래스 분류하고,
상기 제1 클래스 및 상기 제2 클래스로부터, 상기 처리 대상 화소의 최종적인 클래스를 생성하고,
상기 전송부는, 상기 제2 클래스를 전송하는 <2> 내지 <5> 중 어느 하나에 기재된 화상 처리 장치.
<7>
상기 클래스 분류부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 처리 대상 화소의 최종적인 클래스의 클래스수를 축퇴한 축퇴 클래스로 변환하는 변환 테이블에 따라서, 상기 최종적인 클래스를 축퇴 클래스로 변환하고,
상기 탭 계수 취득부는, 상기 처리 대상 화소의 상기 축퇴 클래스의 탭 계수를 취득하고,
상기 전송부는, 상기 변환 테이블을 전송하는 <6>에 기재된 화상 처리 장치.
<8>
상기 클래스 분류부는,
상기 클래스 분류에 사용되는 클래스 탭으로 되는, 상기 제1 화상의 화소의 화소값과, 소정의 클래스 분류 계수를 사용한 예측 연산에 의해, 상기 처리 대상 화소가 속하는 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
상기 서브 클래스 예측값에 따라서, 상기 처리 대상 화소를 서브 클래스로 분류하는
것을 반복함으로써, 상기 처리 대상 화소를 클래스 분류하고,
상기 전송부는, 상기 클래스 분류 계수를 전송하는 <2>에 기재된 화상 처리 장치.
<9>
상기 학생 화상을 사용해서, 상기 탭 계수를 구하는 탭 계수 학습을 행하고,
상기 탭 계수와, 상기 학생 화상에서 선택된 상기 예측 탭을 사용한 예측 연산에 의해, 상기 교사 화상의 화소의 화소 예측값을 구하고,
상기 화소 예측값과, 상기 교사 화상의 화소의 화소값을 비교함으로써, 상기 서브 클래스에 관한 정보를 생성하고,
상기 학생 화상을 사용한, 상기 서브 클래스에 관한 정보를 구하는 예측 연산의 결과와, 상기 서브 클래스에 관한 정보와의 통계적인 오차를 최소로 하는 상기 클래스 분류 계수를 구하는 클래스 분류 계수 학습을 행하고,
상기 클래스 분류 계수 학습에 의해 얻어지는 상기 클래스 분류 계수와, 상기 학생 화상을 사용한 예측 연산에 의해, 상기 학생 화상의 화소의 상기 서브 클래스 예측값을 구하고,
상기 서브 클래스 예측값에 따라서, 상기 학생 화상의 화소를 상기 서브 클래스로 분류하고,
상기 서브 클래스마다, 그 서브 클래스의 상기 학생 화상의 화소를 사용해서, 상기 탭 계수 학습을 행하는
것을 1 계층의 학습으로서 행하는 학습부를 더 구비하는 <8>에 기재된 화상 처리 장치.
<10>
상기 학습부는, 상기 화소 예측값의 S/N(Signal to Noise ratio)에 따라서, 상기 1 계층의 학습을 반복하는 <9>에 기재된 화상 처리 장치.
<11>
상기 전송부는, 최후의 상기 1 계층의 학습에서 얻어지는 상기 탭 계수와, 모든 상기 1 계층의 학습에서 얻어지는 상기 클래스 분류 계수를 전송하는 <10>에 기재된 화상 처리 장치.
<12>
상기 학습부는, 전송이 가능한 전송 가능 전송량에 따라서, 소정 횟수째의 상기 1 계층의 학습에서 얻어지는 상기 탭 계수와, 상기 소정 횟수째까지의 상기 1 계층의 학습에서 얻어지는 상기 클래스 분류 계수를, 전송 대상의 전송 대상 계수로 설정하고,
상기 전송부는, 상기 전송 대상 계수를 전송하는 <10>에 기재된 화상 처리 장치.
<13>
상기 탭 계수를 수취하는 수취부를 더 구비하는 <1>에 기재된 화상 처리 장치.
<14>
상기 클래스 분류부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 클래스 분류를 행하는 <13>에 기재된 화상 처리 장치.
<15>
상기 수취부는, 상기 부호화 정보를 수취하는 <14>에 기재된 화상 처리 장치.
<16>
상기 수취부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용한 클래스 분류에 의해 얻어지는 제1 클래스와, 복호측에서 취득할 수 없는 소정의 정보를 사용한 상기 클래스 분류에 의해 얻어지는 제2 클래스 중, 상기 제2 클래스를 수취하고,
상기 클래스 분류부는,
상기 처리 대상 화소를 상기 제1 클래스로 클래스 분류하고,
상기 제1 클래스 및 상기 수취부에 의해 수취된 상기 제2 클래스로부터, 상기 처리 대상 화소의 최종적인 클래스를 생성하는 <13> 내지 <15> 중 어느 하나에 기재된 화상 처리 장치.
<17>
상기 수취부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 처리 대상 화소의 최종적인 클래스의 클래스수를 축퇴한 축퇴 클래스로 변환하는 변환 테이블을 수취하고,
상기 클래스 분류부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 변환 테이블에 따라서, 상기 축퇴 클래스로 변환하는 <16>에 기재된 화상 처리 장치.
<18>
상기 전송부는,
상기 학생 화상을 사용해서, 상기 탭 계수를 구하는 탭 계수 학습을 행하고,
상기 탭 계수와, 상기 학생 화상에서 선택된 상기 예측 탭을 사용한 예측 연산에 의해, 상기 교사 화상의 화소의 화소 예측값을 구하고,
상기 화소 예측값과, 상기 교사 화상의 화소의 화소값을 비교함으로써, 상기 학생 화상의 화소가 속하는 서브 클래스에 관한 정보를 생성하고,
상기 학생 화상과 학습에 의해 구해지는 클래스 분류 계수를 사용한, 상기 서브 클래스에 관한 정보를 구하는 예측 연산의 결과와, 상기 서브 클래스에 관한 정보와의 통계적인 오차를 최소로 하는 상기 클래스 분류 계수를 구하는 클래스 분류 계수 학습을 행하고,
상기 클래스 분류 계수 학습에 의해 얻어지는 상기 클래스 분류 계수와, 상기 학생 화상을 사용한 예측 연산에 의해, 상기 학생 화상의 화소의 상기 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
상기 서브 클래스 예측값에 따라서, 상기 학생 화상의 화소를 상기 서브 클래스로 분류하고,
상기 서브 클래스마다, 그 서브 클래스의 상기 학생 화상의 화소를 사용해서, 상기 탭 계수 학습을 행하는
1 계층의 학습을 반복
함으로써 얻어지는 상기 탭 계수 및 상기 클래스 분류 계수를 수취하고,
상기 클래스 분류부는,
상기 클래스 분류에 사용되는 클래스 탭으로 되는, 상기 제1 화상의 화소의 화소값과, 상기 클래스 분류 계수를 사용한 예측 연산에 의해, 상기 처리 대상 화소가 속하는 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
상기 서브 클래스 예측값에 따라서, 상기 처리 대상 화소를 서브 클래스로 분류하는
것을 반복함으로써, 상기 처리 대상 화소를 클래스 분류하는 <13>에 기재된 화상 처리 장치.
<19>
상기 필터 처리부는, ILF(In Loop Filter)을 구성하는 DF(Deblocking Filter), SAO(Sample Adaptive Offset) 및 ALF(Adaptive Loop Filter) 중 하나 이상으로서 기능하는 <1> 내지 <18> 중 어느 하나에 기재된 화상 처리 장치.
<20>
예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 스텝을 포함하고,
상기 필터 처리는,
상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 것과,
상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 것과,
상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 것과,
상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는
것을 포함하는
화상 처리 방법.
11 : 부호화 장치
12 : 복호 장치
21, 22 : 탭 선택부
23 : 클래스 분류부
24 : 계수 취득부
25 : 예측 연산부
30 : 학습 장치
31 : 교사 데이터 생성부
32 : 학생 데이터 생성부
33 : 학습부
41, 42 : 탭 선택부
43 : 클래스 분류부
44 : 가산부
45 : 계수 산출부
61 : 파라미터 생성부
62 : 학생 데이터 생성부
63 : 학습부
71 : 가산부
72 : 계수 산출부
81, 82 : 가산부
83 : 계수 산출부
101 : A/D 변환부
102 : 재배열 버퍼
103 : 연산부
104 : 직교 변환부
105 : 양자화부
106 : 가역 부호화부
107 : 축적 버퍼
108 : 역양자화부
109 : 역직교 변환부
110 : 연산부
111 : 클래스 분류 적응 필터
112 : 프레임 메모리
113 : 선택부
114 : 인트라 예측부
115 : 움직임 예측 보상부
116 : 예측 화상 선택부
117 : 레이트 제어부
131 : 화상 변환 장치
132 : 학습 장치
201 : 축적 버퍼
202 : 가역 복호부
203 : 역양자화부
204 : 역직교 변환부
205 : 연산부
206 : 클래스 분류 적응 필터
207 : 재배열 버퍼
208 : D/A 변환부
210 : 프레임 메모리
211 : 선택부
212 : 인트라 예측부
213 : 움직임 예측 보상부
214 : 선택부
231 : 화상 변환 장치
241, 242 : 탭 선택부
243 : 클래스 분류부
244 : 계수 취득부
245 : 예측 연산부
261 : 클래스 분류 적응 필터
262 : 적응 오프셋부
263 : 적응 루프 필터
271 : 클래스 분류 적응 필터
272 : 적응 오프셋부
273 : 적응 루프 필터
281 : 디블록 필터
282 : 클래스 분류 적응 필터
291 : 디블록 필터
292, 311, 321, 411 : 클래스 분류 적응 필터
431 : 화상 변환 장치
432 : 학습 장치
441 : 클래스 분류부
451 : 제1 클래스 분류부
452 : 제2 클래스 분류부
453 : 클래스 코드 생성부
461 : 클래스 분류부
471 : 클래스 분류 적응 필터
481 : 화상 변환 장치
491 : 클래스 분류부
501 : 제1 클래스 분류부
502 : 클래스 코드 생성부
511 : 클래스 분류 적응 필터
531 : 화상 변환 장치
532 : 학습 장치
541 : 클래스 분류부
551 : 클래스 축퇴부
562 : 변환 테이블 생성부
571 : 클래스 분류 적응 필터
581 : 화상 변환 장치
591 : 클래스 분류부
601 : 클래스 축퇴부
701 : 탭 계수 학습부
702 : 탭 계수 설정부
703 : 서브 클래스 교사 데이터 생성부
704 : 클래스 분류 계수 학습부
705 : 클래스 분류 계수 설정부
706 : 서브 클래스 예측부
707 : 서브 클래스 분류부
708 : 클래스 결정부
709 : 화소 예측부
710 : 종료 조건 판정부
721 : 클래스 분류부
722 : 계수 취득부
731 : 클래스 분류 계수 설정부
732 : 서브 클래스 예측부
733 : 서브 클래스 분류부
734 : 클래스 결정부
811 : 클래스 분류 적응 필터
831 : 화상 변환 장치
832 : 학습 장치
841 : 클래스 분류부
842 : 계수 취득부
861 : 클래스 분류 적응 필터
871 : 화상 변환 장치
881 : 클래스 분류부
882 : 계수 취득부
911 : 전송 대역 검출부
912 : 전송량 산출부
913 : 전송 대상 계수 설정부

Claims (20)

  1. 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 필터 처리부를 구비하고,
    상기 필터 처리부는,
    상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 예측 탭 선택부와,
    상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 클래스 분류부와,
    상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 탭 계수 취득부와,
    상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는 연산부
    를 갖는
    화상 처리 장치.
  2. 제1항에 있어서,
    상기 탭 계수를 전송하는 전송부를 더 구비하는 화상 처리 장치.
  3. 제2항에 있어서,
    상기 학습을 행하는 학습부를 더 구비하는 화상 처리 장치.
  4. 제2항에 있어서,
    상기 클래스 분류부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 클래스 분류를 행하는 화상 처리 장치.
  5. 제4항에 있어서,
    상기 전송부는, 상기 부호화 정보를 전송하는 화상 처리 장치.
  6. 제2항에 있어서,
    상기 클래스 분류부는,
    상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 상기 처리 대상 화소를 제1 클래스로 클래스 분류하고,
    복호측에서 취득할 수 없는 소정의 정보를 사용해서, 상기 처리 대상 화소를 제2 클래스로 클래스 분류하고,
    상기 제1 클래스 및 상기 제2 클래스로부터, 상기 처리 대상 화소의 최종적인 클래스를 생성하고,
    상기 전송부는, 상기 제2 클래스를 전송하는 화상 처리 장치.
  7. 제6항에 있어서,
    상기 클래스 분류부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 처리 대상 화소의 최종적인 클래스의 클래스수를 축퇴한 축퇴 클래스로 변환하는 변환 테이블에 따라서, 상기 최종적인 클래스를 축퇴 클래스로 변환하고,
    상기 탭 계수 취득부는, 상기 처리 대상 화소의 상기 축퇴 클래스의 탭 계수를 취득하고,
    상기 전송부는, 상기 변환 테이블을 전송하는 화상 처리 장치.
  8. 제2항에 있어서,
    상기 클래스 분류부는,
    상기 클래스 분류에 사용되는 클래스 탭으로 되는, 상기 제1 화상의 화소의 화소값과, 소정의 클래스 분류 계수를 사용한 예측 연산에 의해, 상기 처리 대상 화소가 속하는 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
    상기 서브 클래스 예측값에 따라서, 상기 처리 대상 화소를 서브 클래스로 분류하는
    것을 반복함으로써, 상기 처리 대상 화소를 클래스 분류하고,
    상기 전송부는, 상기 클래스 분류 계수를 전송하는 화상 처리 장치.
  9. 제8항에 있어서,
    상기 학생 화상을 사용해서, 상기 탭 계수를 구하는 탭 계수 학습을 행하고,
    상기 탭 계수와, 상기 학생 화상에서 선택된 상기 예측 탭을 사용한 예측 연산에 의해, 상기 교사 화상의 화소의 화소 예측값을 구하고,
    상기 화소 예측값과, 상기 교사 화상의 화소의 화소값을 비교함으로써, 상기 서브 클래스에 관한 정보를 생성하고,
    상기 학생 화상을 사용한, 상기 서브 클래스에 관한 정보를 구하는 예측 연산의 결과와, 상기 서브 클래스에 관한 정보와의 통계적인 오차를 최소로 하는 상기 클래스 분류 계수를 구하는 클래스 분류 계수 학습을 행하고,
    상기 클래스 분류 계수 학습에 의해 얻어지는 상기 클래스 분류 계수와, 상기 학생 화상을 사용한 예측 연산에 의해, 상기 학생 화상의 화소의 상기 서브 클래스 예측값을 구하고,
    상기 서브 클래스 예측값에 따라서, 상기 학생 화상의 화소를 상기 서브 클래스로 분류하고,
    상기 서브 클래스마다, 그 서브 클래스의 상기 학생 화상의 화소를 사용해서, 상기 탭 계수 학습을 행하는
    것을 1 계층의 학습으로서 행하는 학습부를 더 구비하는 화상 처리 장치.
  10. 제9항에 있어서,
    상기 학습부는, 상기 화소 예측값의 S/N(Signal to Noise ratio)에 따라서, 상기 1 계층의 학습을 반복하는 화상 처리 장치.
  11. 제10항에 있어서,
    상기 전송부는, 최후의 상기 1 계층의 학습에서 얻어지는 상기 탭 계수와, 모든 상기 1 계층의 학습에서 얻어지는 상기 클래스 분류 계수를 전송하는 화상 처리 장치.
  12. 제10항에 있어서,
    상기 학습부는, 전송이 가능한 전송 가능 전송량에 따라서, 소정 횟수째의 상기 1 계층의 학습에서 얻어지는 상기 탭 계수와, 상기 소정 횟수째까지의 상기 1 계층의 학습에서 얻어지는 상기 클래스 분류 계수를, 전송 대상의 전송 대상 계수로 설정하고,
    상기 전송부는, 상기 전송 대상 계수를 전송하는 화상 처리 장치.
  13. 제1항에 있어서,
    상기 탭 계수를 수취하는 수취부를 더 구비하는 화상 처리 장치.
  14. 제13항에 있어서,
    상기 클래스 분류부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용해서, 클래스 분류를 행하는 화상 처리 장치.
  15. 제14항에 있어서,
    상기 수취부는, 상기 부호화 정보를 수취하는 화상 처리 장치.
  16. 제13항에 있어서,
    상기 수취부는, 상기 제1 화상에서 얻어지는 화상 특징량 및 상기 처리 대상 화소의 예측 부호화에 관한 부호화 정보 중 한쪽, 또는 양쪽을 사용한 클래스 분류에 의해 얻어지는 제1 클래스와, 복호측에서 취득할 수 없는 소정의 정보를 사용한 상기 클래스 분류에 의해 얻어지는 제2 클래스 중, 상기 제2 클래스를 수취하고,
    상기 클래스 분류부는,
    상기 처리 대상 화소를 상기 제1 클래스로 클래스 분류하고,
    상기 제1 클래스 및 상기 수취부에 의해 수취된 상기 제2 클래스로부터, 상기 처리 대상 화소의 최종적인 클래스를 생성하는 화상 처리 장치.
  17. 제16항에 있어서,
    상기 수취부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 처리 대상 화소의 최종적인 클래스의 클래스수를 축퇴한 축퇴 클래스로 변환하는 변환 테이블을 수취하고,
    상기 클래스 분류부는, 상기 처리 대상 화소의 최종적인 클래스를, 상기 변환 테이블에 따라서, 상기 축퇴 클래스로 변환하는 화상 처리 장치.
  18. 제13항에 있어서,
    상기 전송부는,
    상기 학생 화상을 사용해서, 상기 탭 계수를 구하는 탭 계수 학습을 행하고,
    상기 탭 계수와, 상기 학생 화상에서 선택된 상기 예측 탭을 사용한 예측 연산에 의해, 상기 교사 화상의 화소의 화소 예측값을 구하고,
    상기 화소 예측값과, 상기 교사 화상의 화소의 화소값을 비교함으로써, 상기 학생 화상의 화소가 속하는 서브 클래스에 관한 정보를 생성하고,
    상기 학생 화상과 학습에 의해 구해지는 클래스 분류 계수를 사용한, 상기 서브 클래스에 관한 정보를 구하는 예측 연산의 결과와, 상기 서브 클래스에 관한 정보와의 통계적인 오차를 최소로 하는 상기 클래스 분류 계수를 구하는 클래스 분류 계수 학습을 행하고,
    상기 클래스 분류 계수 학습에 의해 얻어지는 상기 클래스 분류 계수와, 상기 학생 화상을 사용한 예측 연산에 의해, 상기 학생 화상의 화소의 상기 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
    상기 서브 클래스 예측값에 따라서, 상기 학생 화상의 화소를 상기 서브 클래스로 분류하고,
    상기 서브 클래스마다, 그 서브 클래스의 상기 학생 화상의 화소를 사용해서, 상기 탭 계수 학습을 행하는
    1 계층의 학습을 반복
    함으로써 얻어지는 상기 탭 계수 및 상기 클래스 분류 계수를 수취하고,
    상기 클래스 분류부는,
    상기 클래스 분류에 사용되는 클래스 탭으로 되는, 상기 제1 화상의 화소의 화소값과, 상기 클래스 분류 계수를 사용한 예측 연산에 의해, 상기 처리 대상 화소가 속하는 서브 클래스에 관한 정보를 예측한 서브 클래스 예측값을 구하고,
    상기 서브 클래스 예측값에 따라서, 상기 처리 대상 화소를 서브 클래스로 분류하는
    것을 반복함으로써, 상기 처리 대상 화소를 클래스 분류하는 화상 처리 장치.
  19. 제1항에 있어서,
    상기 필터 처리부는, ILF(In Loop Filter)를 구성하는 DF(Deblocking Filter), SAO(Sample Adaptive Offset) 및 ALF(Adaptive Loop Filter) 중 하나 이상으로서 기능하는 화상 처리 장치.
  20. 예측 부호화의 잔차와 예측 화상을 가산함으로써 얻어지는 제1 화상에 필터 처리를 행하고, 상기 예측 화상의 예측에 사용되는 제2 화상을 생성하는 스텝을 포함하고,
    상기 필터 처리는,
    상기 제1 화상 중 처리 대상인 처리 대상 화소에 대응하는 상기 제2 화상의 대응 화소의 화소값을 구하는 예측 연산에 사용되는 예측 탭으로 되는 화소를, 상기 제1 화상에서 선택하는 것과,
    상기 처리 대상 화소를, 복수의 클래스 중 어느 것의 클래스로 클래스 분류하는 것과,
    상기 제1 화상에 상당하는 학생 화상과, 상기 제1 화상에 대응하는 원화상에 상당하는 교사 화상을 사용한 학습에 의해 구해진, 상기 복수의 클래스마다의, 상기 예측 연산에 사용되는 탭 계수 중, 상기 처리 대상 화소의 클래스의 탭 계수를 취득하는 것과,
    상기 처리 대상 화소의 클래스의 탭 계수와, 상기 처리 대상 화소의 상기 예측 탭을 사용한 상기 예측 연산을 행함으로써, 상기 대응 화소의 화소값을 구하는
    것을 포함하는
    화상 처리 방법.
KR1020187030029A 2016-05-02 2017-04-18 화상 처리 장치 및 화상 처리 방법 KR20190003497A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016092650 2016-05-02
JPJP-P-2016-092650 2016-05-02
PCT/JP2017/015521 WO2017191749A1 (ja) 2016-05-02 2017-04-18 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
KR20190003497A true KR20190003497A (ko) 2019-01-09

Family

ID=60203107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187030029A KR20190003497A (ko) 2016-05-02 2017-04-18 화상 처리 장치 및 화상 처리 방법

Country Status (6)

Country Link
US (1) US20190124327A1 (ko)
EP (2) EP3684056A1 (ko)
JP (1) JPWO2017191749A1 (ko)
KR (1) KR20190003497A (ko)
CN (1) CN109076217A (ko)
WO (1) WO2017191749A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3471414A4 (en) * 2016-05-02 2021-04-21 Sony Corporation ENCRYPTION DEVICE AND ENCRYPTION METHOD, AND DECCRYPTION DEVICE AND DECryption METHOD
US11451833B2 (en) * 2017-12-01 2022-09-20 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
WO2019111720A1 (ja) * 2017-12-06 2019-06-13 ソニー株式会社 符号化装置、符号化方法、復号装置、及び、復号方法
WO2019131161A1 (ja) * 2017-12-27 2019-07-04 ソニー株式会社 符号化装置、符号化方法、復号装置、及び、復号方法
KR102622950B1 (ko) * 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
CN111461147B (zh) * 2020-04-30 2023-05-23 柳州智视科技有限公司 一种基于图像特征的二进制编码组织算法
WO2023082107A1 (zh) * 2021-11-10 2023-05-19 Oppo广东移动通信有限公司 解码方法、编码方法、解码器、编码器和编解码系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5347862B2 (ko) 1973-01-11 1978-12-23
JP3758228B2 (ja) * 1996-02-29 2006-03-22 ソニー株式会社 クラス分類適応処理における学習方法および学習装置
JP4140259B2 (ja) * 2002-03-29 2008-08-27 ソニー株式会社 情報信号処理装置、情報信号処理方法、プログラムおよびコンピュータ読み取り可能な媒体
US6912255B2 (en) * 2002-05-30 2005-06-28 Mobixell Netwoks Inc. Bit rate control through selective modification of DCT coefficients
JP4158479B2 (ja) * 2002-10-18 2008-10-01 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
JP4240322B2 (ja) 2005-10-03 2009-03-18 ソニー株式会社 係数生成装置及び係数生成方法
JP4770711B2 (ja) 2006-11-15 2011-09-14 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
WO2009047643A2 (en) * 2007-04-23 2009-04-16 Comagna Kft. Mehtod and apparatus for image processing
CA2638465A1 (en) * 2007-08-01 2009-02-01 Jean-Yves Chouinard Learning filters for enhancing the quality of block coded still and video images
EP2237557A1 (en) 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
CN105872541B (zh) * 2009-06-19 2019-05-14 三菱电机株式会社 图像编码装置、图像编码方法及图像解码装置
CN101616324B (zh) * 2009-07-28 2011-06-08 谭洪舟 压缩编码图像的块效应去除装置
US8259819B2 (en) * 2009-12-10 2012-09-04 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for improving video quality by utilizing a unified loop filter
JP2012235407A (ja) * 2011-05-09 2012-11-29 Sony Corp 画像処理装置および画像処理方法
MX337235B (es) 2011-06-28 2016-02-18 Samsung Electronics Co Ltd Metodo de codificacion de video que utiliza ajustes de desplazamiento de conformidad con clasificacion de pixel y aparato para ello, metodo de decodificacion de video y aparato para ello.
CN102857749B (zh) * 2011-07-01 2016-04-13 华为技术有限公司 一种视频图像的像素分类方法和装置
JP5810700B2 (ja) * 2011-07-19 2015-11-11 ソニー株式会社 画像処理装置及び画像処理方法
JP2013085113A (ja) * 2011-10-07 2013-05-09 Sony Corp 画像処理装置および方法
US9357235B2 (en) * 2011-10-13 2016-05-31 Qualcomm Incorporated Sample adaptive offset merged with adaptive loop filter in video coding
CN104541502B (zh) * 2012-09-24 2018-01-26 英特尔公司 用于视频编码和解码的基于直方图分段的局部自适应滤波器
WO2014049981A1 (ja) * 2012-09-28 2014-04-03 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치

Also Published As

Publication number Publication date
WO2017191749A1 (ja) 2017-11-09
EP3454557A4 (en) 2019-03-13
EP3454557A1 (en) 2019-03-13
EP3684056A1 (en) 2020-07-22
JPWO2017191749A1 (ja) 2019-03-07
CN109076217A (zh) 2018-12-21
US20190124327A1 (en) 2019-04-25

Similar Documents

Publication Publication Date Title
US11695941B2 (en) Image processing device and method
JP6780761B2 (ja) 画像符号化装置および方法
US10645384B2 (en) Encoding apparatus and encoding method as well as decoding apparatus and decoding method
EP3457692A1 (en) Image processing device and method
KR20190003497A (ko) 화상 처리 장치 및 화상 처리 방법
US9749625B2 (en) Image processing apparatus and image processing method utilizing a correlation of motion between layers for encoding an image
EP3528499A1 (en) Image processing device and image processing method
CN105900424B (zh) 解码装置、解码方法、编码装置以及编码方法
KR102477784B1 (ko) 화상 처리 장치 및 화상 처리 방법
JP6824034B2 (ja) 画像復号装置および方法
KR20200038933A (ko) 화상 처리 장치 및 화상 처리 방법
EP3515070B1 (en) Encoding color component prediction mode when using intra block copy
US20140037002A1 (en) Image processing apparatus and image processing method
WO2018173873A1 (ja) 符号化装置及び符号化方法、並びに、復号装置及び復号方法
WO2018168484A1 (ja) 符号化装置、符号化方法、復号装置、及び、復号方法
US11423578B2 (en) Encoding device, encoding method, decoding device, and decoding method
WO2014208326A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application