<本技術を適用した画像処理システム>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示す図である。
図1において、画像処理システムは、符号化装置11及び復号装置12を有する。
符号化装置11には、符号化対象の元画像が供給される。
符号化装置11は、例えば、HEVC(High Efficiency Video Coding)や、AVC(Advanced Video Coding)、MPEG(Moving Picture Experts Group)等のような予測符号化により、元画像を符号化する。なお、符号化装置11の予測符号化は、上述のHEVC等に限定されるものではない。
符号化装置11の予測符号化では、元画像の予測画像が生成され、元画像と予測画像との残差が符号化される。
さらに、符号化装置11の予測符号化では、予測符号化の残差と予測画像とを加算することにより得られる復号途中画像に、ILF(In Loop Filter)をかけるILF処理を行うことで、予測画像の予測に用いられる参照画像が生成される。
ここで、ILF処理としてのフィルタ処理(フィルタリング)が、復号途中画像に施されることにより得られる画像を、フィルタ後画像ともいう。
符号化装置11は、予測符号化を行う他、復号途中画像と元画像とを用いて学習を行うことにより、例えば、フィルタ後画像が、なるべく元画像に近くなるようなILF処理としてのフィルタ処理を行うためのタップ係数等を求める。
さらに、符号化装置11は、削減処理を行うことにより、タップ係数を削減した削減フィルタ情報を生成する。
符号化装置11のILF処理は、削減処理により求められた削減フィルタ情報を用いて得られるタップ係数を用いて行われる。
ここで、タップ係数等を求める学習や、削減フィルタ情報を生成する削減処理は、例えば、元画像の1又は複数のシーケンスごとや、元画像の1又は複数のシーン(シーンチェンジから、次のシーンチェンジまでのフレーム)ごと、元画像の1又は複数のフレーム(ピクチャ)ごと、元画像の1又は複数のスライスごと、ピクチャの符号化の単位のブロック(CUやPU等)の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(Signal to Noise Ratio)の画像とするとともに、第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次式によって求められることになる。
但し、式(1)において、xnは、対応画素としての高画質画素yに対する予測タップを構成する、n番目の低画質画像の画素(以下、適宜、低画質画素という)の画素値を表し、wnは、n番目の低画質画素(の画素値)と乗算されるn番目のタップ係数を表す。なお、式(1)では、予測タップが、N個の低画質画素x1,x2,・・・,xNで構成されることとする。
ここで、高画質画素の画素値yは、式(1)に示した線形1次式ではなく、2次以上の高次の式によって求めるようにすることも可能である。
いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
いま、式(2)の予測値yk’は、式(1)にしたがって求められるため、式(2)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(3)において、xn,kは、対応画素としての第kサンプルの高画質画素に対する予測タップを構成するn番目の低画質画素を表す。
式(3)(又は式(2))の予測誤差ekを0とするタップ係数wnが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのようなタップ係数wnを求めることは、一般には困難である。
そこで、タップ係数wnが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適なタップ係数wnは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
但し、式(4)において、Kは、対応画素としての高画質画素ykと、その高画質画素ykに対する予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(4)の自乗誤差の総和Eの最小値(極小値)は、式(5)に示すように、総和Eをタップ係数wnで偏微分したものを0とするwnによって与えられる。
そこで、上述の式(3)をタップ係数wnで偏微分すると、次式が得られる。
式(5)と(6)から、次式が得られる。
式(7)のekに、式(3)を代入することにより、式(7)は、式(8)に示す正規方程式で表すことができる。
式(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とを用いた次式によって生成されることとする。
但し、式(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を導入して、次式で定義する。
式(10)を、式(9)に代入することにより、次式が得られる。
式(11)によれば、タップ係数wnは、種係数βm,nと変数tmとの線形1次式によって求められることになる。
ところで、いま、第kサンプルの高画質画素の画素値の真値をykと表すとともに、式(1)によって得られるその真値ykの予測値をyk’と表すと、その予測誤差ekは、次式で表される。
いま、式(12)の予測値yk’は、式(1)にしたがって求められるため、式(12)のyk’を、式(1)にしたがって置き換えると、次式が得られる。
但し、式(13)において、xn,kは、対応画素としての第kサンプルの高画質画素に対する予測タップを構成するn番目の低画質画素を表す。
式(13)のwnに、式(11)を代入することにより、次式が得られる。
式(14)の予測誤差ekを0とする種係数βm,nが、高画質画素を予測するのに最適なものとなるが、すべての高画質画素について、そのような種係数βm,nを求めることは、一般には困難である。
そこで、種係数βm,nが最適なものであることを表す規範として、例えば、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
但し、式(15)において、Kは、対応画素としての高画質画素ykと、その高画質画素ykに対する予測タップを構成する低画質画素x1,k,x2,k,・・・,xN,kとのセットのサンプル数(学習用のサンプルの数)を表す。
式(15)の自乗誤差の総和Eの最小値(極小値)は、式(16)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
式(13)を、式(16)に代入することにより、次式が得られる。
いま、Xi,p,j,qとYi,pを、式(18)と(19)に示すように定義する。
この場合、式(17)は、Xi,p,j,qとYi,pを用いた式(20)に示す正規方程式で表すことができる。
式(20)の正規方程式は、例えば、掃き出し法等を用いることにより、種係数β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を求めることは、一般には困難である。
なお、式(21)は、式(11)によって、次式のように変形することができる。
そこで、種係数βm,nが最適なものであることを表す規範として、例えば、やはり、最小自乗法を採用することとすると、最適な種係数βm,nは、次式で表される自乗誤差の総和E(統計的な誤差)を最小にすることで求めることができる。
式(23)の自乗誤差の総和Eの最小値(極小値)は、式(24)に示すように、総和Eを種係数βm,nで偏微分したものを0とするβm,nによって与えられる。
式(22)を、式(24)に代入することにより、次式が得られる。
いま、Xi,j,とYiを、式(26)と(27)に示すように定義する。
この場合、式(25)は、Xi,jとYiを用いた式(28)に示す正規方程式で表すことができる。
式(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,nz0+β2,nz1+・・・+βM,nzM-1で定義し、この式(9)によって、水平及び垂直方向の空間解像度を、いずれも、パラメータzに対応して向上させるためのタップ係数wnを求めるようにしたが、タップ係数wnとしては、水平解像度と垂直解像度を、独立のパラメータzxとzyに対応して、それぞれ独立に向上させるものを求めるようにすることも可能である。
すなわち、タップ係数wnを、式(9)に代えて、例えば、3次式β1,nzx 0zy 0+β2,nzx 1zy 0+β3,nzx 2zy 0+β4,nzx 3zy 0+β5,nzx 0zy 1+β6,nzx 0zy 2+β7,nzx 0zy 3+β8,nzx 1zy 1+β9,nzx 2zy 1+β10,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でのクラス分類適応処理に用いられるタップ係数を削減した削減フィルタ情報を取得する。
可逆符号化部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として機能するフィルタで、クラス分類適応処理によって、ILF処理を行う。
クラス分類適応フィルタ111には、演算部110から復号途中画像が供給される他、並べ替えバッファ102から、復号途中画像に対応する元画像が供給されるとともに、符号化装置11の各ブロックから必要な符号化情報が供給される。
クラス分類適応フィルタ111は、演算部110からの復号途中画像に相当する生徒画像と、並べ替えバッファ102からの元画像に相当する教師画像とを用いるとともに、必要に応じて、符号化情報を用いて、クラスごとのタップ係数を求める学習を行う。
すなわち、クラス分類適応フィルタ111は、例えば、演算部110からの復号途中画像そのものを生徒画像とするとともに、並べ替えバッファ102からの元画像そのものを教師画像として、必要に応じて、符号化情報を用いて、クラスごとのタップ係数を求める学習を行う。
さらに、クラス分類適応フィルタ111は、クラスごとのタップ係数を削減する削減処理を行い、その削減処理により、クラスごとのタップ係数を削減した削減フィルタ情報を生成する。削減フィルタ情報は、クラス分類適応フィルタ111から可逆符号化部106に供給される。
また、クラス分類適応フィルタ111は、削減フィルタ情報を用いて得られるタップ係数を用いて、演算部110からの復号途中画像を、フィルタ後画像に変換する。
すなわち、クラス分類適応フィルタ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、及び、画像変換装置133を有する。
学習装置131には、並べ替えバッファ102(図9)から元画像が供給されるとともに、演算部110(図9)から復号途中画像が供給される。さらに、学習装置131には、符号化情報が供給される。
学習装置131は、復号途中画像を生徒データとするとともに、元画像を教師データとして、クラスごとのタップ係数を求める学習(以下、タップ係数学習ともいう)を行う。
さらに、学習装置131は、タップ係数学習により得られるクラスごとのタップ係数を、削減装置132に供給する。
なお、学習装置131は、タップ係数学習において、クラス分類を、必要に応じて、符号化情報を用いて行う。
削減装置132は、学習装置131からのクラスごとのタップ係数を削減した削減フィルタ情報を生成する削減処理を行い、その削減処理により得られる削減フィルタ情報を、画像変換装置133及び可逆符号化部106(図9)に供給する。
画像変換装置133には、演算部110(図9)から復号途中画像が供給されるとともに、削減装置132から削減フィルタ情報が供給される。さらに、画像変換装置133には、符号化情報が供給される。
画像変換装置133は、削減装置132の削減フィルタ情報を用いて、クラスごとのタップ係数を更新する。さらに、画像変換装置133は、復号途中画像を第1の画像として、クラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ112(図9)に供給する。
なお、画像変換装置133は、クラス分類適応処理において、クラス分類を、必要に応じて、符号化情報を用いて行う。
<画像変換装置133のタップ係数の更新タイミングの例>
図11は、画像変換装置133がクラス分類適応処理に用いるタップ係数の更新タイミングの例を示す図である。
画像変換装置133は、例えば、図11に示すように、1フレーム以上のFフレームおきのフレームのタイミングを、クラス分類適応処理に用いるタップ係数を更新する更新タイミングとして、タップ係数を更新する。
更新タイミングでは、学習装置131が、タップ係数学習を行い、クラスごとのタップ係数を求める。ここで、最新のタップ係数学習により求められるタップ係数を、最新係数ともいう。
画像変換装置133では、更新タイミングにおいて、クラス分類適応処理に用いられている現在のタップ係数(以下、現在係数ともいう)が、最新係数に更新される。
符号化装置11において、画像変換装置133が、現在係数を最新係数に更新する場合には、復号装置12(図1)でも、符号化装置11と同様に、現在係数を最新係数に更新する必要がある。
復号装置12において、現在係数を最新係数に更新するには、例えば、符号化装置11から復号装置12に最新係数を伝送する必要がある。
しかしながら、更新タイミングごとに、すべてのクラスの最新係数を、符号化装置11から復号装置12に伝送するのでは、圧縮効率が低下する。
そこで、符号化装置11では、削減装置132において、学習装置131からのクラスごとの最新係数を削減した削減フィルタ情報を生成する削減処理を行い、その削減処理により得られる削減フィルタ情報を、復号装置12に伝送することで、圧縮効率を向上させる。
<削減装置132の削減処理の例>
図12は、削減装置132の削減処理の例を説明する図である。
図12では、第0フレーム、第Fフレーム、第2Fフレーム、第3Fフレーム、...のFフレームおきのフレームのタイミングが、更新タイミングになっている。
各更新タイミングでは、学習装置131が、タップ係数学習を行い、クラスごとの最新係数を求めている。
削減装置132は、削減処理において、タップ係数学習で得られるクラスごとの最新係数から、0クラス以上のクラスの最新係数を、選択係数として選択し、その選択係数を、削減フィルタ情報として出力する。
例えば、削減装置132は、各クラスについて、現在係数に代えて、最新係数を、クラス分類適応処理(の式(1)の予測演算)に用いる場合のメリットの程度を表すメリット判定値を求める。そして、削減装置132は、メリット判定値が閾値以上のクラスの最新係数を、選択係数に選択する。
図12では、更新タイミングにおいて、タップ係数学習によって、C個のクラス0,1,...,C-1の最新係数が求められている。
第0フレームの更新タイミング、すなわち、例えば、符号化が開始されるタイミングでは、C個のクラス0ないしC-1のすべての最新係数が選択係数に選択されている。
そして、第Fフレームの更新タイミングでは、クラス0ないしC-1の最新係数のうちの、クラス3の最新係数が、メリット判定値が閾値以上のクラスの最新係数になっており、選択係数に選択されている。また、第2Fフレームの更新タイミングでは、クラス0ないしC-1の最新係数のうちの、クラス2の最新係数が、メリット判定値が閾値以上のクラスの最新係数になっており、選択係数に選択されている。
以上のように、削減装置132では、C個のクラス0ないしC-1の最新係数のうちの、メリット判定値が閾値以上のクラスの最新係数だけが、選択係数として選択され、削減フィルタ情報として出力される。
したがって、更新タイミングにおいて、符号化装置11から復号装置12には、C個のクラス0ないしC-1すべての最新係数ではなく、選択係数として選択されたクラスの最新係数が、削減フィルタ情報として伝送されるので、更新タイミングにおいて、常時、C個のクラス0ないしC-1すべての最新係数が伝送される場合に比較して、圧縮効率を向上させることができる。
なお、C個のクラス0ないしC-1の最新係数のうちの、大多数のクラスの最新係数のメリット判定値が閾値以上になる場合、すなわち、メリット判定値が閾値以上になる最新係数のクラス数が、クラスの総数Cに近い所定数以上である場合には、削減装置132では、メリット判定値が閾値以上のクラスの最新係数だけを、選択係数として選択するのではなく、C個のクラス0ないしC-1すべての最新係数を、選択係数として選択し、削減フィルタ情報として出力することができる。
また、メリット判定値としては、例えば、RD(Rate-Distortion)コストに対応する値を採用することができる。すなわち、メリット判定値を求めるタップ係数のクラスを、注目する注目クラスとすると、注目クラスの(最新係数の)メリット判定値としては、例えば、注目クラスについて、最新係数を用いた場合のRDコストそのものや、注目クラスについて、現在係数を用いた場合のRDコストとの比較で、最新係数を用いた場合のRDコストが優れている程度を表す値(RDコストどうしの差分等)を採用することができる。
さらに、メリット判定値としては、例えば、1クラスのN個のタップ係数w1,w2,...,wNそれぞれを座標軸とするタップ係数空間での、注目クラスの最新係数と現在係数との係数間距離に対応する値、すなわち、例えば、最新係数と現在係数との係数間距離を採用することができる。
また、メリット判定値としては、例えば、注目クラスについて、最新係数を用いて求められるフィルタ後画像のS/Nに対応する値を採用することができる。すなわち、メリット判定値としては、例えば、注目クラスについて、最新係数を用いて求められるフィルタ後画像のS/Nそのものや、注目クラスについて、現在係数を用いて求められるフィルタ後画像のS/Nとの比較で、最新係数を用いて求められるフィルタ後画像のS/Nが優れている程度を表す値(S/Nどうしの差分等)を採用することができる。
さらに、メリット判定値としては、例えば、注目クラスのタップ係数(現在係数)がクラス分類適応処理(の式(1)の予測演算)に用いられる使用頻度に対応する値を採用することができる。すなわち、メリット判定値としては、例えば、前回の更新タイミングから今回の更新タイミングまでの期間等の最近の一定期間に、注目クラスのタップ係数が、クラス分類適応処理に用いられた回数を採用することができる。
圧縮効率の向上、及び、復号画像のS/Nの向上の観点からは、メリット判定値として、RDコストに対応する値を採用することが望ましい。但し、メリット判定値として、RDコストを採用する場合には、メリット判定値の計算に、大きな計算コストを要する。メリット判定値として、例えば、上述の係数間距離や、フィルタ後画像のS/N、使用頻度に対応する値を採用することにより、メリット判定値の計算に要する計算コストを削減することができる。
<学習装置131の構成例>
図13は、図10の学習装置131の構成例を示すブロック図である。
なお、図中、図3及び図4の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図13において、学習装置131は、学習部33を有する。学習部33は、タップ選択部41及び42、クラス分類部43、足し込み部44、並びに、係数算出部45を有する。
したがって、図13の学習装置131は、学習部33を有する点で、図3の場合と共通する。さらに、学習装置131は、学習部33が、タップ選択部41ないし係数算出部45を有する点で、図4の場合と共通する。
但し、図13の学習装置131は、教師データ生成部31及び生徒データ生成部32を有しない点で、図3の場合と相違する。
さらに、図13の学習装置131は、学習部33において、クラス分類部43に、符号化情報が供給される点で、図4の場合と相違する。
図13の学習装置131では、クラス分類部23が、クラスタップ(から得られる画像特徴量)や符号化情報を必要に応じて用いてクラス分類を行う。
また、図13の学習装置131では、復号途中画像を生徒データとして用いるとともに、その復号途中画像に対応する元画像を教師データとして用いて、タップ係数学習が行われ、そのタップ係数学習により得られるクラスごとのタップ係数が、最新係数として、係数算出部45から削減装置132に供給される。
学習装置131でのタップ係数学習は、元画像の符号化と並列して行うこともできるし、元画像の符号化とは関係なく、前もって行っておくこともできる。
タップ係数学習を、元画像の符号化とは関係なく、前もって行う場合には、複数のカテゴリの元画像を教師データとして用いて、カテゴリごとに、タップ係数学習を行うことができる。そして、更新タイミングでは、複数のカテゴリのタップ係数のうちの、例えば、所定のコスト関数を最小にするカテゴリのタップ係数を、最新係数として出力することができる。
なお、クラス分類部43では、クラスタップとしての復号途中画像の画素の画素値から得られる注目画素の画像特徴量、及び、注目画素の符号化情報のうちの一方、又は、両方を用いて、クラス分類を行うことができる。
クラスタップとしては、例えば、注目画素を中心とする十字型の9画素や、注目画素を中心とする3×3画素の正方形状の9画素や、注目画素を中心とする、水平方向及び垂直方向を対角線とする菱形状の13画素等を採用することができる。
さらに、クラスタップは、例えば、注目画素のフレーム(ピクチャ)である注目フレームの画素と、注目画素に隣接するフレーム等の注目フレーム以外のフレームの画素とから構成することができる。
また、クラス分類に用いる画像特徴量としては、例えば、クラスタップを対象とした1ビットADRC処理により得られるADRCコード(ADRC値)を採用することができる。
いま、説明を簡単にするため、クラス分類部43が、画像特徴量としてのADRCコードのみを用いて、注目画素のクラス分類を行うこととすると、クラス分類部43は、注目画素を、例えば、ADRCコードに対応するクラスコードのクラスにクラス分類する。
例えば、クラスコードが10進数で表される場合、ADRCコードに対応するクラスコードとは、ADRCコードを2進数とみなして、その2進数のADRCコードを10進数に変換した値を意味する。
例えば、9画素で構成されるクラスタップを対象とした1ビットADRC処理によって得られるADRCコードが、000011100であれば、そのADRCコード000011100に対応するクラスコードは、28になる。
ここで、クラス分類に用いる画像特徴量としては、クラスタップから得られるADRCコードの他、例えば、クラスタップを構成する画素の画素値のダイナミックレンジや差分絶対値和等のADRCコード以外の画像特徴量を採用することができる。
クラス分類に用いる画像特徴量として、例えば、クラスタップを構成する画素の画素値のダイナミックレンジを採用する場合、例えば、ダイナミックレンジを、1以上の閾値で閾値処理することにより、注目画素を2以上のクラスのうちのいずれかのクラスにクラス分類することができる。
さらに、クラス分類は、ADRCコード等の1つの画像特徴量ではなく、例えば、ADRCコード及びダイナミックレンジ等の複数の画像特徴量を用いて行うことができる。
また、クラス分類は、注目画素の画像特徴量の他、注目画素の符号化情報を用いて行うことができる。
クラス分類に用いる注目画素の符号化情報としては、例えば、注目画素を含むCUやPU等のブロック内における注目画素の位置を表すブロック位相や、注目画素を含むピクチャのピクチャタイプ、注目画素を含むPUの量子化パラメータQP等を採用することができる。
クラス分類に用いる注目画素の符号化情報として、ブロック位相を採用する場合には、例えば、注目画素がブロックの境界の画素であるか否かによって、注目画素をクラス分類することができる。
また、クラス分類に用いる注目画素の符号化情報として、ピクチャタイプを採用する場合には、例えば、注目画素を含むピクチャが、Iピクチャ、Pピクチャ、及び、Bピクチャのうちのいずれであるかによって、注目画素をクラス分類することができる。
さらに、クラス分類に用いる注目画素の符号化情報として、量子化パラメータQPを採用する場合には、例えば、量子化の粗さ(細かさ)によって、注目画素をクラス分類することができる。
また、クラス分類は、画像特徴量又は符号化情報を用いて行う他、例えば、画像特徴量及び符号化情報の両方を用いて行うことができる。
<削減装置132の構成例>
図14は、図10の削減装置132の構成例を示すブロック図である。
図14において、削減装置132は、選択部141を有する。
選択部141には、学習装置131から最新係数としてのクラスごとのタップ係数が供給される。
選択部141は、学習装置131からの最新係数の各クラスについて、現在係数に代えて、最新係数を、クラス分類適応処理(の式(1)の予測演算)に用いる場合のメリットの程度を表すメリット判定値を求める。
そして、選択部141は、メリット判定値が閾値以上のクラスの最新係数を、選択係数に選択し、削減フィルタ情報として、画像変換装置133(図10)、及び、可逆符号化部106(図9)に供給する。
<画像変換装置133の構成例>
図15は、図10の画像変換装置133の構成例を示すブロック図である。
なお、図中、図2の画像変換装置20と対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
図15において、画像変換装置133は、タップ選択部21ないしクラス分類部23、予測演算部25、及び、係数取得部151を有する。
したがって、画像変換装置133は、タップ係数選択部21ないしクラス分類部23、及び、予測演算部25を有する点で、図2の画像変換装置20と同様に構成される。
但し、画像変換装置133は、係数取得部24に代えて、係数取得部151を有する点で、画像変換装置20と相違する。
画像変換装置133では、復号途中画像が、第1の画像として、タップ選択部21及び22に供給され、予測演算部25では、フィルタ後画像が第2の画像として求められる。
また、画像変換装置133では、符号化情報が、クラス分類部23に供給され、クラス分類部23が、クラスタップや符号化情報を必要に応じて用いて、学習装置131(図13)のクラス分類部43と同様のクラス分類を行う。
係数取得部151には、削減装置132から、削減フィルタ情報としての選択係数が供給される。
係数取得部151は、削減装置132からの削減フィルタ情報としての選択係数を用いて、クラス分類適応処理に用いるクラスごとのタップ係数を得る。そして、係数取得部151は、削減フィルタ情報としての選択係数を用いて得られたクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、予測演算部25に供給する。
図16は、図15の係数取得部151の構成例を示すブロック図である。
図16において、係数取得部151は、更新部161、記憶部162、及び、取得部163を有する。
更新部161には、削減装置132から、削減フィルタ情報としての選択係数が供給される。
更新部161は、削減装置132からの削減フィルタ情報としての選択係数によって、記憶部162に記憶された現在係数としてのクラスごとのタップ係数を更新する。
記憶部162は、クラスごとのタップ係数を記憶する。
ここで、記憶部162は、例えば、符号化装置11の電源がオンにされたタイミングや、符号化装置11において、元画像のシーケンスの符号化が開始されるタイミング等の所定のタイミングで、リセットされる(記憶内容が初期化される)。
記憶部162のリセットのタイミング(以下、初期化タイミングともいう)は、タップ係数の更新タイミングになっており、学習装置131が、タップ係数学習を行い、そのタップ係数学習により得られる最新係数としてのクラスごとのタップ係数が、削減装置132に供給される。
初期化タイミングでは、削減装置132は、学習装置131からの最新係数としてのすべてのクラスのタップ係数を、選択係数に選択し、削減フィルタ情報として、可逆符号化部106(図9)及び更新部161に出力する。
この場合、更新部161は、削減装置132からの削減フィルタ情報としてのすべてのクラスのタップ係数を、記憶部162に記憶させる。
画像変換装置133では、以上のように記憶部162に記憶されたクラスごとのタップ係数を現在係数として、クラス分類適応処理が行われる。
そして、その後、更新タイミングとなって、削減装置132から更新部161に、削減フィルタ情報が供給されると、更新部161は、削減装置132からの削減フィルタ情報としての選択係数によって、記憶部162に記憶された現在係数のうちの、選択係数のクラスの現在係数を、選択係数に更新する。
取得部163には、クラス分類部23から、注目画素のクラス(のクラスコード)が供給される。取得部163は、記憶部162に記憶された現在係数から、注目画素のクラスの現在係数としてのタップ係数を取得し、予測演算部25に供給する。
<符号化処理>
図17は、図9の符号化装置11の符号化処理の例を説明するフローチャートである。
なお、図17等に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する符号化処理についても、同様である。
符号化装置11において、クラス分類適応フィルタ111の学習装置131(図10)は、そこに供給される復号途中画像を生徒データとして一時記憶するとともに、その復号途中画像に対応する元画像を教師データとして一時記憶している。
そして、学習装置131は、ステップS11において、現在のタイミングが、タップ係数の更新タイミングであるかどうかを判定する。
ここで、タップ係数の更新タイミングは、例えば、1以上のフレーム(ピクチャ)ごとや、1以上のシーケンスごと、1以上のスライスごと、CTU等の所定のブロックの1以上のラインごと等のように、あらかじめ決めておくことができる。
また、タップ係数の更新タイミングとしては、1以上のフレーム(ピクチャ)ごとのタイミングのような周期的(固定的)なタイミングの他、フィルタ後画像のS/Nが閾値以下になったタイミング(フィルタ後画像の、元画像に対する誤差が閾値以上になったタイミング)や、残差(の絶対値和等)が閾値以上になったタイミング等の、いわば動的なタイミングを採用することができる。
ステップS11において、現在のタイミングが、タップ係数の更新タイミングでないと判定された場合、処理は、ステップS12ないしS20をスキップして、ステップS21に進む。
また、ステップS11において、現在のタイミングが、タップ係数の更新タイミングであると判定された場合、処理は、ステップS12に進み、学習装置131は、タップ係数学習を行う。
すなわち、学習装置131は、例えば、前回の更新タイミングから、今回の更新タイミングまでの間に記憶した復号途中画像及び元画像を、それぞれ、生徒データ及び教師データとして、タップ係数学習を行い、クラスごとの最新係数としてのタップ係数を求める。
そして、学習装置131は、タップ係数学習により得られたクラスごとの最新係数を、削減装置132に供給し、処理は、ステップS12からステップS13に進む。
ステップS13では、削減装置132(図14)の選択部141は、タップ係数学習によりタップ係数が求められる全クラスの中で、まだ、注目クラスに選択していない1つのクラスを注目クラスに選択して、処理は、ステップS14に進む。
ステップS14では、選択部141は、注目クラスの最新係数について、例えば、RDコスト等のメリット判定値を算出し、処理は、ステップS15に進む。
ステップS15では、選択部141は、注目クラスの最新係数についてのメリット判定値が、例えば、あらかじめ決められた閾値以上であるかどうかを判定する。
ステップS15において、注目クラスの最新係数についてのメリット判定値が閾値以上であると判定された場合、処理は、ステップS16に進み、選択部141は、注目クラスの最新係数を、選択係数に選択する。
そして、処理は、ステップS16からステップS17に進み、選択部141は、選択係数を、削減フィルタ情報として、可逆符号化部106(図9)、及び、画像変換装置133(図10)に出力し、処理は、ステップS18に進む。
一方、ステップS15において、注目クラスの最新係数についてのメリット判定値が閾値以上でないと判定された場合、処理は、ステップS16及びS17をスキップして、ステップS18に進む。
したがって、注目クラスの最新係数は、メリット判定値が閾値以上である場合にのみ、削減フィルタ情報として、可逆符号化部106(図9)、及び、画像変換装置133(図10)に供給される。
ステップS18では、削減装置132(図14)の選択部141が、タップ係数学習によりタップ係数が求められる全クラスを、注目クラスとしたかどうかを判定する。
ステップS18において、まだ、全クラスを、注目クラスとしていないと判定された場合、処理は、ステップS13に戻り、以下、同様の処理が繰り返される。
また、ステップS18において、全クラスを、注目クラスとしたと判定された場合、処理は、ステップS19に進み、可逆符号化部106(図9)は、削減装置132の選択部141からの削減フィルタ情報を、伝送対象に設定して、処理は、ステップS20に進む。伝送対象に設定された削減フィルタ情報は、後述するステップS21で行われる予測符号化処理において符号化データに含められて伝送される。
ステップS20では、画像変換装置133において、係数取得部151(図16)の更新部161が、削減装置132からの削減フィルタ情報としての選択係数を用い、記憶部162に記憶された現在係数のうちの、選択係数のクラスのタップ係数を、現在係数から選択係数に更新し、処理は、ステップS21に進む。
ステップS21では、元画像の予測符号化処理が行われ、符号化処理は終了する。
図18は、図17のステップS21の予測符号化処理の例を説明するフローチャートである。
予測符号化処理では、ステップS31において、A/D変換部101(図9)は、元画像をA/D変換し、並べ替えバッファ102に供給して、処理は、ステップS32に進む。
ステップS32において、並べ替えバッファ102は、A/D変換部101からの元画像を記憶し、符号化順に並べ替えて出力し、処理は、ステップS33に進む。
ステップS33では、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS34に進む。ステップS34において、動き予測補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS35に進む。
イントラ予測部114のイントラ予測処理、及び、動き予測補償部115のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
ステップS35では、予測画像選択部116は、イントラ予測部114及び動き予測補償部115で得られる各コスト関数に基づいて、最適な予測モードを決定する。そして、予測画像選択部116は、イントラ予測部114により生成された予測画像と、動き予測補償部115により生成された予測画像のうちの最適な予測モードの予測画像を選択して出力し、処理は、ステップS35からステップS36に進む。
ステップS36では、演算部103は、並べ替えバッファ102が出力する元画像である符号化対象の対象画像と、予測画像選択部116が出力する予測画像との残差を演算し、直交変換部104に供給して、処理は、ステップS37に進む。
ステップS37では、直交変換部104は、演算部103からの残差を直交変換し、その結果得られる変換係数を、量子化部105に供給して、処理は、ステップS38に進む。
ステップS38では、量子化部105は、直交変換部104からの変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部106及び逆量子化部108に供給して、処理は、ステップS39に進む。
ステップS39では、逆量子化部108は、量子化部105からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部109に供給して、処理は、ステップS40に進む。ステップS40では、逆直交変換部109は、逆量子化部108からの変換係数を逆直交変換し、その結果得られる残差を、演算部110に供給して、処理は、ステップS41に進む。
ステップS41では、演算部110は、逆直交変換部109からの残差と、予測画像選択部116が出力する予測画像とを加算し、演算部103での残差の演算の対象となった元画像に対応する復号途中画像を生成する。演算部110は、復号途中画像を、クラス分類適応フィルタ111又はフレームメモリ112に供給し、処理は、ステップS41からステップS42に進む。
演算部110からクラス分類適応フィルタ111に、復号途中画像が供給される場合、ステップS42において、クラス分類適応フィルタ111は、演算部110からの復号途中画像に、ILFの処理としてのクラス分類適応処理(クラス分類適応フィルタ処理)を施す。復号途中画像に、クラス分類適応処理が施されることにより、復号途中画像をILFでフィルタリングする場合よりも元画像に近いフィルタ後画像が求められる(生成される)。
クラス分類適応フィルタ111は、クラス分類適応処理により得られるフィルタ後画像を、フレームメモリ112に供給して、処理は、ステップS42からステップS43に進む。
ステップS43では、フレームメモリ112は、演算部110から供給される復号途中画像、又は、クラス分類適応フィルタ111から供給されるフィルタ後画像を、復号画像として記憶し、処理は、ステップS44に進む。フレームメモリ112に記憶された復号画像は、ステップS34やS35で、予測画像を生成する元となる参照画像として使用される。
ステップS44では、可逆符号化部106は、量子化部105からの量子化係数を符号化する。さらに、可逆符号化部106は、量子化部105での量子化に用いられた量子化パラメータQPや、イントラ予測部114でのイントラ予測処理で得られた予測モード、動き予測補償部115でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化データに含める。
また、可逆符号化部106は、図17のステップS19で伝送対象に設定された削減フィルタ情報を符号化し、符号化データに含める。そして、可逆符号化部106は、符号化データを、蓄積バッファ107に供給し、処理は、ステップS44からステップS45に進む。
ステップS45において、蓄積バッファ107は、可逆符号化部106からの符号化データを蓄積し、処理は、ステップS46に進む。蓄積バッファ107に蓄積された符号化データは、適宜読み出されて伝送される。
ステップS46では、レート制御部117は、蓄積バッファ107に蓄積されている符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御し、符号化処理は終了する。
図19は、図18のステップS42で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ111の画像変換装置133(図15)では、ステップS51において、タップ選択部21が、演算部110から供給される復号途中画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素(処理対象画素)として選択し、処理は、ステップS52に進む。
ステップS52において、タップ選択部21及び22が、演算部110から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を、それぞれ選択する。そして、タップ選択部21は、予測タップを、予測演算部25に供給し、タップ選択部22は、クラスタップを、クラス分類部23に供給する。
その後、処理は、ステップS52からステップS53に進み、クラス分類部23は、注目画素についてのクラスタップ、及び、注目画素についての符号化情報を用いて、注目画素のクラス分類を行う。
すなわち、クラス分類では、ステップS61において、クラス分類部23は、タップ選択部22からのクラスタップを構成する画素から、例えば、ADRCコード(ADRC値)等の画像特徴量を抽出(算出)し、処理は、ステップS62に進む。
ステップS62では、クラス分類部23は、注目画素についての必要な符号化情報を取得し、あらかじめ決められた規則に従って、符号化情報を、情報コードに変換して、処理は、ステップS63に進む。
すなわち、例えば、符号化情報が、Iピクチャ、Pピクチャ、又は、Bピクチャを表すピクチャタイプである場合、Iピクチャ、Pピクチャ、及び、Bピクチャには、例えば、情報コード0,1,2がそれぞれ割り当てられており、その割り当てに従い、注目画素のピクチャタイプが、情報コードに変換される。
ステップS63では、クラス分類部23は、画像特徴量及び情報コードから、注目画素のクラスを表すクラスコードを生成し、係数取得部151に供給して、ステップS53のクラス分類を終了する。
例えば、画像特徴量がADRCコードである場合には、クラス分類部23は、画像特徴量としてのADRCコードの上位ビットに、情報コードを付加して得られる数値を、注目画素のクラスを表すクラスコードとして生成する。
ステップS53のクラス分類が終了すると、処理は、ステップS54に進み、係数取得部151が、記憶部162(図16)に記憶されたクラスごとのタップ係数から、クラス分類部23から供給されるクラスコードが表すクラスのタップ係数を取得し、予測演算部25に供給して、処理は、ステップS55に進む。
ここで、係数取得部151(図16)の記憶部162に記憶されるクラスごとのタップ係数は、図17のステップS20において、削減装置132からの削減フィルタ情報としての選択係数を用いて更新されている。
ステップS55では、予測演算部25は、タップ選択部21からの予測タップと、係数取得部151からのタップ係数とを用いて、式(1)予測演算を行う。これにより、予測演算部25は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS56に進む。
ステップS56では、タップ選択部21が、演算部110からの復号途中画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS56において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS51に戻り、以下、同様の処理が繰り返される。
また、ステップS56において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS57に進み、予測演算部25は、演算部110からの復号途中画像(としてのブロック)に対して得られた画素値で構成されるフィルタ後画像を、フレームメモリ112(図9)に供給する。そして、クラス分類適応処理は終了され、処理はリターンする。
以上のように、図9の符号化装置11では、すべてのクラスの最新係数ではなく、選択係数として選択されたクラスの最新係数が、削減フィルタ情報として伝送されるので、すべてのクラスの最新係数が伝送される場合に比較して、圧縮効率を向上させることができる。
ここで、クラス分類適応処理に用いるクラス数を大にすることにより、基本的には、復号画像のS/Nを向上させることができる。しかしながら、クラス数を大にした場合、そのようなクラス数のタップ係数を、符号化装置11から復号装置12に伝送するのでは、圧縮効率が低下する。
そこで、符号化装置11では、クラスごとの最新係数としてのタップ係数のうちの、メリット判定値が優れている(本実施の形態では、閾値以上になっている)クラスのタップ係数を、選択係数として選択し、すべてのクラスのタップ係数ではなく、選択係数だけを伝送する。これにより、復号画像のS/Nを向上させるとともに、圧縮効率を向上させることができる。
ここで、メリット判定値が優れていない最新係数のクラス(以下、非更新クラスともいう)については、例えば、最新係数と現在係数とが同様の値になる。最新係数と現在係数とが同様の値になる場合としては、例えば、最新係数のタップ係数学習に用いられた元画像(及び復号途中画像)と、現在係数のタップ係数学習に用いられた元画像(及び復号途中画像)とが、同一性がある画像である場合がある。
つまり、非更新クラスについては、現在係数のタップ係数学習に用いられた、時間的に過去の元画像から、最新係数のタップ係数学習に用いられた、時間的に最近の元画像までの間の元画像の系列に、いわば時間方向の同一性があり、その時間方向の同一性に起因して、最新係数と現在係数とが同様の値になる。
そして、最新係数が、現在係数と同様の値であれば、クラス分類適応処理において、最新係数を用いた場合でも、現在係数を用いた場合でも、復号画像のS/Nに、ほとんど影響はない。
そこで、符号化装置11では、復号画像のS/Nにほとんど影響がない非更新クラスの最新係数を伝送しないこととして、圧縮効率を向上させる。したがって、かかる圧縮率の向上は、元画像(あるいは、タップ係数)の時間方向の同一性を利用した圧縮率の向上であるということができる。
<復号装置12の第1の構成例>
図20は、図1の復号装置12の第1の構成例を示すブロック図である。
図20において、復号装置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は、図9のクラス分類適応フィルタ111と同様に、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF(の)処理を行う。
すなわち、クラス分類適応フィルタ206は、演算部205からの復号途中画像を第1の画像として、可逆復号部202からの削減フィルタ情報を用いて得られるクラスごとのタップ係数を用いたクラス分類適応処理(による画像変換)を、可逆復号部202からの符号化情報を必要に応じて用いて行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)出力する。
クラス分類適応フィルタ206が出力するフィルタ後画像は、図9のクラス分類適応フィルタ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の構成例>
図21は、図20のクラス分類適応フィルタ206の構成例を示すブロック図である。
図21において、クラス分類適応フィルタ206は、画像変換装置231を有する。
画像変換装置231には、演算部205(図20)から復号途中画像が供給されるとともに、可逆復号部202から削減フィルタ情報、及び、符号化情報が供給される。
画像変換装置231は、図10の画像変換装置133と同様に、復号途中画像を第1の画像として、クラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ207及びフレームメモリ210(図20)に供給する。
なお、画像変換装置231は、図10の画像変換装置133と同様に、クラス分類適応処理において用いるタップ係数を、削減フィルタ情報を用いて得る(更新する)。
また、画像変換装置231は、クラス分類適応処理において、図10の画像変換装置133と同様に、クラス分類を、必要に応じて、符号化情報を用いて行う。
<画像変換装置231の構成例>
図22は、図21の画像変換装置231の構成例を示すブロック図である。
図22において、画像変換装置231は、タップ選択部241及び242、クラス分類部243、係数取得部244、並びに、予測演算部245を有する。
タップ選択部241ないし予測演算部245は、画像変換装置133(図15)を構成するタップ選択部21ないしクラス分類部23、係数取得部151、及び、予測演算部25とそれぞれ同様に構成される。
タップ選択部241及び242には、演算部205(図20)から復号途中画像が供給される。
タップ選択部241は、演算部205からの復号途中画像を第1の画像として、復号途中画像の画素を、順次、注目画素に選択する。
さらに、タップ選択部241は、注目画素について、復号途中画像から、図15のタップ選択部21で選択される予測タップと同一構造の予測タップを選択し、予測演算部245に供給する。
タップ選択部242は、注目画素について、演算部205からの復号途中画像を第1の画像として、復号途中画像の画素から、図15のタップ選択部22で選択されるクラスタップと同一構造のクラスタップを選択し、クラス分類部243に供給する。
クラス分類部243には、タップ選択部242からクラスタップが供給される他、可逆復号部202(図20)から、符号化情報が供給される。
クラス分類部243は、タップ選択部242からのクラスタップ、及び、可逆復号部202からの符号化情報を用いて、図15のクラス分類部23と同一のクラス分類を行い、注目画素のクラス(を表すクラスコード)を、係数取得部244に供給する。
係数取得部244には、クラス分類部243から注目画素のクラスが供給される他、可逆復号部202から削減フィルタ情報が供給される。
係数取得部244は、可逆復号部202からの削減フィルタ情報としての選択係数を用いて、クラス分類適応処理に用いるクラスごとのタップ係数を得る。そして、係数取得部244は、削減フィルタ情報としての選択係数を用いて得られたクラスごとのタップ係数から、クラス分類部243からの注目画素のクラスのタップ係数を取得し、予測演算部245に供給する。
予測演算部245は、タップ選択部241からの予測タップと、係数取得部244からのタップ係数とを用いて、式(1)の予測演算を行い、復号途中画像の注目画素に対応する元画像の対応画素の画素値の予測値を、第2の画像としてのフィルタ後画像の画素の画素値として求めて出力する。
図23は、図22の係数取得部244の構成例を示すブロック図である。
図23において、係数取得部244は、更新部251、記憶部252、及び、取得部253を有する。
更新部251には、可逆復号部202(図20)から、削減フィルタ情報としての選択係数が供給される。
更新部251は、可逆復号部202からの削減フィルタ情報としての選択係数によって、記憶部252に記憶された現在係数としてのクラスごとのタップ係数を更新する。
記憶部252は、クラスごとのタップ係数を記憶する。
ここで、図16で説明したように、符号化装置11では、例えば、電源がオンにされたタイミングや、元画像のシーケンスの符号化が開始されるタイミング等の初期化タイミングにおいて、削減装置132(図10)が、学習装置131からの最新係数としてのすべてのクラスのタップ係数を、選択係数に選択し、削減フィルタ情報として、可逆符号化部106に出力する。
したがって、初期化タイミングでは、符号化装置11から復号装置12に伝送されてくる削減フィルタ情報は、すべてのクラスのタップ係数(最新係数)になっており、更新部251は、その削減フィルタ情報としてのすべてのクラスのタップ係数を、記憶部252に記憶させる。
画像変換装置231(図22)では、以上のように記憶部252に記憶されたクラスごとのタップ係数を現在係数として、クラス分類適応処理が行われる。
そして、その後、更新タイミングとなって、符号化装置11から復号装置12に、削減フィルタ情報が伝送されてくると、更新部251は、符号化装置11からの削減フィルタ情報としての選択係数によって、記憶部252に記憶された現在係数としてのタップ係数のうちの、選択係数のクラスの現在係数を、選択係数に更新する。
取得部253には、クラス分類部243から、注目画素のクラス(のクラスコード)が供給される。取得部253は、記憶部252に記憶された現在係数から、注目画素のクラスの現在係数としてのタップ係数を取得し、予測演算部245に供給する。
<復号処理>
図24は、図20の復号装置12の復号処理の例を説明するフローチャートである。
なお、図24等に示す復号処理の各ステップの順番は、説明の便宜上の順番であり、実際の復号処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する復号処理についても、同様である。
復号処理では、ステップS71において、蓄積バッファ201は、符号化装置11から伝送されてくる符号化データを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS72に進む。
ステップS72では、可逆復号部202は、蓄積バッファ201から供給される符号化データを受け取って復号し、その復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報や削減フィルタ情報が得られた場合、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。
さらに、可逆復号部202は、符号化情報及び削減フィルタ情報を、クラス分類適応フィルタ206に供給する。
その後、処理は、ステップS72からステップS73に進み、クラス分類適応フィルタ206は、可逆復号部202から削減フィルタ情報が供給されたかどうかを判定する。
ステップS73において、削減フィルタ情報が供給されていないと判定された場合、処理は、ステップS74をスキップして、ステップS75に進む。
また、ステップS73において、削減フィルタ情報が供給されたと判定された場合、処理は、ステップS74に進み、クラス分類適応フィルタ206の画像変換装置231(図22)を構成する係数取得部244(図23)の更新部251が、可逆復号部202からの削減フィルタ情報としての選択係数を取得し、その削減フィルタ情報としての選択係数により、記憶部252に記憶された現在係数としてのクラスごとのタップ係数を更新する。
そして、処理は、ステップS74からステップS75に進み、予測復号処理が行われ、復号処理は終了する。
図25は、図24のステップS75の予測復号処理の例を説明するフローチャートである。
ステップS81において、逆量子化部203は、可逆復号部202からの量子化係数を逆量子化し、その結果得られる変換係数を、逆直交変換部204に供給して、処理は、ステップS82に進む。
ステップS82では、逆直交変換部204は、逆量子化部203からの変換係数を逆直交変換し、その結果得られる残差を、演算部205に供給して、処理は、ステップS83に進む。
ステップS83では、イントラ予測部212又は動き予測補償部213が、フレームメモリ210から選択部211を介して供給される参照画像、及び、可逆復号部202から供給される符号化情報を用いて、予測画像を生成する予測処理を行う。そして、イントラ予測部212又は動き予測補償部213は、予測処理により得られる予測画像を、選択部214に供給し、処理は、ステップS83からステップS84に進む。
ステップS84では、選択部214は、イントラ予測部212又は動き予測補償部213から供給される予測画像を選択し、演算部205に供給して、処理は、ステップS85に進む。
ステップS85では、演算部205は、逆直交変換部204からの残差と、選択部214からの予測画像を加算することにより、復号途中画像を生成する。そして、演算部205は、復号途中画像を、クラス分類適応フィルタ206、又は、並べ替えバッファ207及びフレームメモリ210に供給して、処理は、ステップS85からステップS86に進む。
演算部205からクラス分類適応フィルタ206に、復号途中画像が供給される場合、ステップS86において、クラス分類適応フィルタ206は、演算部205からの復号途中画像に、ILFの処理としてのクラス分類適応処理(クラス分類適応フィルタ処理)を施す。復号途中画像に、クラス分類適応処理が施されることにより、符号化装置11の場合と同様に、復号途中画像をILFでフィルタリングする場合よりも元画像に近いフィルタ後画像が求められる。
クラス分類適応フィルタ206は、クラス分類適応処理により得られるフィルタ後画像を、並べ替えバッファ207及びフレームメモリ210に供給して、処理は、ステップS86からステップS87に進む。
ステップS87では、並べ替えバッファ207は、演算部205から供給される復号途中画像、又は、クラス分類適応フィルタ206から供給されるフィルタ後画像を、復号画像として一時記憶する。さらに、並べ替えバッファ207は、記憶した復号画像を、表示順に並べ替えて、D/A変換部208に供給し、処理は、ステップS87からステップS88に進む。
ステップS88では、D/A変換部208は、並べ替えバッファ207からの復号画像をD/A変換し、処理は、ステップS89に進む。D/A変換後の復号画像は、図示せぬディスプレイに出力されて表示される。
ステップS89では、フレームメモリ210は、演算部205から供給される復号途中画像、又は、クラス分類適応フィルタ206から供給されるフィルタ後画像を、復号画像として記憶し、復号処理は終了する。フレームメモリ210に記憶された復号画像は、ステップS83の予測処理で、予測画像を生成する元となる参照画像として使用される。
図26は、図24のステップS86で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ206の画像変換装置231(図22)では、ステップS91において、タップ選択部241が、演算部205から供給される復号途中画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS92に進む。
ステップS92において、タップ選択部241及び242が、演算部205から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を、それぞれ選択する。そして、タップ選択部241は、予測タップを予測演算部245に供給し、タップ選択部242は、クラスタップを、クラス分類部243に供給する。
その後、処理は、ステップS92からステップS93に進み、クラス分類部243は、タップ選択部242から供給される注目画素についてのクラスタップ、及び、可逆復号部202から供給される注目画素についての符号化情報を用いて、図19で説明した場合と同様の、注目画素のクラス分類を行う。
クラス分類部243は、クラス分類により得られる注目画素のクラスを表すクラスコードを生成し、係数取得部244に供給して、処理は、ステップS93からステップS94に進む。
ステップS94では、係数取得部244が、図24のステップS74で更新された記憶部252(図23)に記憶されたタップ係数からクラス分類部243から供給されるクラスコードが表すクラスのタップ係数を取得し、予測演算部245に供給して、処理は、ステップS95に進む。
ステップS95では、予測演算部245は、タップ選択部241からの予測タップと、係数取得部244からのタップ係数とを用いて、式(1)予測演算を行う。これにより、予測演算部245は、注目画素に対応する元画像の対応画素の画素値の予測値を、フィルタ後画像の画素値として求め、処理は、ステップS96に進む。
ステップS96では、タップ選択部241が、演算部205からの復号途中画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS96において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS91に戻り、以下、同様の処理が繰り返される。
また、ステップS96において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS97に進み、予測演算部245は、演算部205からの復号途中画像(としてのブロック)に対して得られた画素値で構成されるフィルタ後画像を、並べ替えバッファ207及びフレームメモリ210(図9)に供給する。そして、クラス分類適応処理は終了され、処理はリターンする。
以上のように、図9の符号化装置11及び図20の復号装置12では、ILF処理を、クラス分類適応処理によって行うので、ILFの処理結果よりも元画像に近いフィルタ後画像を得ることができる。その結果、復号画像のS/Nを改善することができる。さらに、元画像に近いフィルタ後画像を得ることができることから、残差が小さくなるので、圧縮効率を改善することができる。また、符号化装置11では、リミット判定値が閾値以上のクラスの最新係数を選択することで、クラスごとのタップ係数を削減した削減フィルタ情報を生成し、復号装置12に対して、すべてのクラスの最新係数としてのタップ係数ではなく、削減フィルタ情報を伝送するので、圧縮効率を、より改善することができる。
なお、ILFとしては、例えば、ブロックノイズを低減するためのDF(Deblocking Filter)、リンギングを低減するためのSAO(Sample Adaptive Offset)、符号化誤差(復号画像の、元画像に対する誤差)を最小化するためのALF(Adaptive Loop Filter)がある。
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及び圧縮効率を、大きく改善することができる。
また、クラス分類適応処理では、フィルタ処理としての式(1)の予測演算に用いるタップ係数について、ALFのような点対称の制約や、フィルタ係数を13個とする制約はなく、そのため、フィルタ後画像の、元画像に対する統計的な誤差を、ALFよりも小さくするタップ係数を、学習により求めることができる。
さらに、クラス分類適応処理では、例えば、タップ係数のデータ量と、復号画像のS/N及び圧縮効率とを考慮して、タップ係数の数、すなわち、予測タップを構成する画素の数や、予測タップの構造を設計することができる。
また、クラス分類適応処理では、注目画素のフレームだけではなく、そのフレームの前後のフレームの画素も含めて、予測タップを構成することができる。
以上のように、クラス分類適応処理では、画素ごとに、クラス分類、及び、フィルタ処理としての式(1)の予測演算が行われるので、画素ごとに、その画素に適したフィルタ処理の効果を生じさせることができる。
その結果、例えば、エッジやテクスチャを潰しすぎずに、NR(Noise Reduction)の効果を生じさせることや、リンギングを抑制することができる。すなわち、例えば、エッジ部分の画素については、そのエッジ部分を維持し(ディテールを残し)、平坦部分の画素については、ノイズを十分に除去することができる。
また、クラス分類適応処理では、例えば、クラス分類を、ブロック位相等の符号化情報を用いて行うことで、注目画素がブロックの境界の画素であるかどうかによって、NRの効果を調整することができる。その結果、例えば、ブロック歪みが生じている画素に、そのブロック歪みを除去するのに適切なフィルタ処理を施すとともに、ブロック歪み以外のノイズが生じている画素に、そのノイズを除去するのに適切なフィルタ処理を施すことができる。
さらに、クラス分類適応処理では、例えば、注目画素のフレームだけではなく、そのフレームの前後のフレームの画素も含めて、予測タップを構成することで、動きぼけ等の動きに起因する画質の劣化を改善することができる。
ここで、本技術では、クラス分類適応処理が、符号化装置11及び復号装置12内で扱われる復号途中画像を対象として行われるので、ブロック位相、さらには、ブロック位相を特定するのに必要なブロックに関する情報(例えば、ブロックのサイズや、ブロックの境界等)は、符号化処理や復号処理において得ることができる。
一方、例えば、特許第4770711号公報には、MPEGデコーダが出力する復号画像を、ブロック位相を用いたクラス分類適応処理により高画質化する技術が記載されている。特許第4770711号公報に記載の技術では、MPEGデコーダの外部で、MPEGデコーダが出力する復号画像を対象としたクラス分類適応処理が行われるため、ブロックに関する情報は、決め打ちするか、又は、何らかの方法で検出する必要がある。
なお、図9の符号化装置11の第1の構成例では、クラス分類適応処理によって、ILF、すなわち、DF,SAO、及び、ALFのすべての処理を行うこととしたが、クラス分類適応処理では、ILFのすべてではなく、DF,SAO、及び、ALFのうちの1つ又は2つの処理を行うことができる。図20の復号装置12の第1の構成例、並びに、後述する符号化装置11及び復号装置12の他の構成例でも、同様である。
<符号化装置11の第2の構成例>
図27は、図1の符号化装置11の第2の構成例を示すブロック図である。
なお、図中、図9の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図27において、符号化装置11は、A/D変換部101ないし演算部110、フレームメモリ112ないしレート制御部117、及び、クラス分類適応フィルタ311を有する。
したがって、図27の符号化装置11は、A/D変換部101ないし演算部110、及び、フレームメモリ112ないしレート制御部117を有する点で、図9の場合と共通する。
但し、図27の符号化装置11は、クラス分類適応フィルタ111に代えて、クラス分類適応フィルタ311を有する点で、図9の場合と相違する。
クラス分類適応フィルタ311は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、クラス分類適応フィルタ111と共通する。
但し、クラス分類適応フィルタ311では、タップ係数学習により求められた複数のクラスのタップ係数が削減処理により削減されることで、その複数のクラスの数以下のクラスに統合した統合クラスごとのタップ係数と、元の複数のクラスと統合クラスとの対応関係を表す対応関係情報としての対応関係LUT(Look Up Table)とが、削減フィルタ情報として生成される点で、クラス分類適応フィルタ311は、クラス分類適応フィルタ111と相違する。
さらに、クラス分類適応フィルタ311は、削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTを用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ111と相違する。
<クラス分類適応フィルタ311の構成例>
図28は、図27のクラス分類適応フィルタ311の構成例を示すブロック図である。
なお、図中、図10のクラス分類適応フィルタ111と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図28において、クラス分類適応フィルタ311は、学習装置131、削減装置(削減部)321、及び、画像変換装置322を有する。
したがって、クラス分類適応フィルタ311は、学習装置131を有する点で、図10のクラス分類適応フィルタ111と共通する。
但し、クラス分類適応フィルタ311は、削減装置132及び画像変換装置133に代えて、削減装置321及び画像変換装置322をそれぞれ有する点で、クラス分類適応フィルタ111と相違する。
削減装置321には、学習装置131から、タップ係数学習で得られた複数のクラスのタップ係数が供給される。
ここで、学習装置131においてタップ係数が求められるクラスを、初期クラスともいう。また、初期クラスの数(全クラス数)は、C個(クラス)であることとする。
削減装置321は、学習装置131からのC個の初期クラスのタップ係数を削減した削減フィルタ情報を生成する削減処理を行い、その削減処理により得られる削減フィルタ情報を、画像変換装置322及び可逆符号化部106(図27)に供給する。
すなわち、削減装置321は、削減処理において、C個の初期クラスごとのタップ係数を、C個以下の数であるU個のクラスに統合した統合クラスごとのタップ係数を生成する。
さらに、削減装置321は、初期クラスと統合クラスとの対応関係を表す対応関係情報としての対応関係LUTを生成する。
そして、削減装置321は、U個の統合クラスごとのタップ係数、及び、対応関係LUTを、削減フィルタ情報として、画像変換装置322及び可逆符号化部106(図27)に供給する。
画像変換装置322には、演算部110(図27)から復号途中画像が供給されるとともに、削減装置321から削減フィルタ情報が供給される。さらに、画像変換装置322には、符号化情報が供給される。
画像変換装置322は、復号途中画像を第1の画像として、削減装置321からの削減フィルタ情報としての統合クラスごとのタップ係数(削減フィルタ情報を用いて得られるタップ係数)及び対応関係LUTを用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ112(図27)に供給する。
なお、画像変換装置322は、クラス分類適応処理において、クラス分類を、必要に応じて、符号化情報を用いて行う。
<削減装置321の削減処理の例>
図29は、削減装置321の削減処理の例を説明する図である。
図29では、クラス分類適応処理に用いるタップ係数の更新タイミングにおいて、学習装置131でのタップ係数学習により、C個の初期クラス0,1,...C-1のタップ係数が求められている。
削減装置321は、C個の初期クラス0ないしC-1のうちの2以上の初期クラスを、統合候補クラスとして統合した場合の統合クラスごとのタップ係数をクラス分類適応処理(の式(1)の予測演算)に用いる適切さを表すタップ係数評価値を算出する。
さらに、削減装置321は、タップ係数評価値に応じて、統合候補クラスを統合し、その統合後のクラスごとのタップ係数を対象として、同様の統合を繰り返す。そして、削減装置321は、その統合により最終的に得られる、C個以下のU個のクラス(統合クラス)0,1,...,U-1のタップ係数を、削減フィルタ情報として出力する。
また、削減装置321は、初期クラスと統合クラスと対応関係LUTを生成し、削減フィルタ情報として出力する。
図29では、例えば、初期クラス0は、他のクラスとは統合されずに、そのまま、統合クラス0になっている。また、例えば、初期クラス1及び2は、統合クラス1に統合されている。そのため、図29の対応関係LUTでは、初期クラス0と統合クラス0とが対応付けられるとともに、初期クラス1及び2と統合クラス1とが対応付けられている。
画像変換装置322(図28)で行われるクラス分類適応処理では、クラス分類により得られる注目画素のクラスとしての初期クラスが、削減フィルタ情報としての対応関係LUTに従い、統合クラスに変換される。そして、削減フィルタ情報としての統合クラスごとのタップ係数から、注目画素の統合クラスのタップ係数が取得され、そのタップ係数を用いて、予測演算が行われる。
ここで、タップ係数評価値としては、例えば、RDコストに対応する値を採用することができる。例えば、タップ係数評価値として、RDコストを採用し、RDコストが向上するように、初期クラスから統合候補クラスを選択して統合を行うことができる。さらに、クラスの統合は、例えば、RDコストが向上しなくなるまで繰り返し行うこと(RDコストが向上する限り続行すること)ができる。
以上のように、タップ係数評価値として、RDコストを採用し、そのRDコストに応じて、統合候補クラスの選択と統合とを繰り返すことにより、統合を行うクラスの最適化、及び、統合により最終的に得られる統合クラスの個数Uの最適化を図り、ひいては、圧縮効率及び復号画像のS/Nを向上させることができる。
また、タップ係数評価値としては、例えば、異なるクラスのタップ係数どうしの係数間距離に対応する値を採用することができる。例えば、タップ係数評価値として、異なるクラスのタップ係数どうしの係数間距離を採用し、係数間距離が近いクラスがなくなるように、統合候補クラスの選択と統合とを繰り返すことができる。
さらに、タップ係数評価値としては、例えば、フィルタ後画像のS/Nに対応する値を採用することができる。例えば、タップ係数評価値として、フィルタ後画像のS/Nを採用し、フィルタ後画像のS/Nが向上するように、統合候補クラスの選択と統合とを繰り返すことができる。
また、タップ係数評価値としては、例えば、タップ係数がクラス分類適応処理に用いられる使用頻度に対応する値を採用することができる。例えば、タップ係数評価値として、タップ係数の使用頻度を採用し、使用頻度が低いタップ係数のクラス、すなわち、注目画素のクラス分類結果として得られるクラスが少ないクラスが統合されて、タップ係数の使用頻度が低い統合クラスがなくなるように、統合候補クラスの選択と統合とを繰り返すことができる。
さらに、タップ係数評価値としては、例えば、特定の1クラスであるモノクラスのタップ係数と、他のクラスのタップ係数との差分に対応する値を採用することができる。
ここで、初期クラスの中の、ある1クラスのタップ係数としては、例えば、他のクラスのタップ係数の平均的なタップ係数(例えば、クラス数を1クラスとしてタップ係数学習を行うことにより得られるタップ係数)を採用することができる。いま、この1クラスを、モノクラスということとする。
タップ係数評価値としては、例えば、モノクラスのタップ係数と、他のクラスのタップ係数との差分絶対値和等を採用することができる。この場合、モノクラスのタップ係数との差分絶対値和が小さいタップ係数のクラスがなくなるように、統合候補クラスの選択と統合とを繰り返すことができる。
圧縮効率の向上、及び、復号画像のS/Nの向上の観点からは、タップ係数評価値として、RDコストに対応する値を採用することが望ましい。但し、タップ係数評価値として、RDコストを採用する場合には、タップ係数評価値の計算に、大きな計算コストを要する。タップ係数評価値として、例えば、上述の係数間距離や、フィルタ後画像のS/N、使用頻度、モノクラスのタップ係数との差分に対応する値を採用することにより、タップ係数評価値の計算に要する計算コストを削減することができる。
<削減装置321の構成例>
図30は、図28の削減装置321の構成例を示すブロック図である。
図30において、削減装置321は、クラス統合部331、記憶部332、対応関係検出部333、及び、記憶部334を有する。
クラス統合部331には、学習装置131から初期クラスごとのタップ係数が供給される。
クラス統合部331は、学習装置131から初期クラスごとのタップ係数を、記憶部332に記憶された係数リスト(クラスごとのタップ係数を登録するリスト)に登録する。
さらに、クラス統合部331は、記憶部332の係数リストにタップ係数が登録されたクラスから、例えば、2つのクラスを統合候補クラスとして選択する。
そして、クラス統合部331は、統合候補クラスの統合前と統合後について、タップ係数評価値としてのRDコスト等を算出し、統合後の方が、統合前よりも、タップ係数評価値が改善する場合には、統合候補クラスのタップ係数を統合し、その統合後のクラスのタップ係数によって、記憶部332の係数リストを更新する(例えば、統合候補クラスのタップ係数を、統合後のクラスのタップ係数に書き換えてまとめる)。
ここで、2つのクラスC1及びC2のタップ係数の統合では、例えば、クラスC1及びC2のうちのいずれか一方のクラスのタップ係数や、クラスC1及びC2のタップ係数の平均値等を、統合後のクラスのタップ係数に採用することができる。
また、例えば、クラスC1及びC2のタップ係数を求めるときに用いられた式(8)における左辺の行列のコンポーネント(Σxn,kxn',k)と、右辺のベクトルのコンポーネント(Σxn,kyk)を保持しておき、クラスC1のタップ係数を求めるときに用いられた行列のコンポーネント(Σxn,kxn',k)、又は、ベクトルのコンポーネント(Σxn,kyk)と、クラスC2のタップ係数を求めるときに用いられた行列のコンポーネント(Σxn,kxn',k)、又は、ベクトルのコンポーネント(Σxn,kyk)とを足し込むことで、統合後のクラスについての行列のコンポーネント(Σxn,kxn',k)、又は、ベクトルのコンポーネント(Σxn,kyk)をそれぞれ求め、その統合後のクラスについての行列のコンポーネント(Σxn,kxn',k)、及び、ベクトルのコンポーネント(Σxn,kyk)で規定される式(8)に示した正規方程式を解くことで、クラスC1及びC2を統合した統合後のクラスのタップ係数を求めることができる。
クラス統合部331は、統合候補クラスのタップ係数を統合し、その統合後のクラスのタップ係数によって、記憶部332の係数リストを更新すると、統合したクラス(統合候補クラス)と、統合後のクラスとを表す統合情報を、対応関係検出部333に供給する。
記憶部332は、クラスごとのタップ係数が登録される係数リストを記憶している。
記憶部332の係数リストは、クラス統合部331によるクラスの統合により更新される。そして、クラス統合部331によるクラスの統合が終了すると、係数リストに登録されているタップ係数、すなわち、統合クラスのタップ係数は、削減フィルタ情報として、削減装置321から出力される。
対応関係検出部333は、クラス統合部331から供給される統合情報から、統合前のクラスと統合後のクラスとを検出し、その統合前のクラスと統合後のクラスとを対応付けるように、記憶部334の対応関係LUTを更新する。
記憶部334は、初期クラスと統合クラスとの対応関係が登録された対応関係LUTを記憶する。
記憶部334に記憶された対応関係LUTには、初期値として、例えば、初期クラスcと統合クラスcとを対応付ける情報が登録される。
そして、例えば、初期クラスc1とc2とが統合され、その統合後のクラスがクラスu1である場合には、初期クラスのc1及びc2と、統合クラスu1とを対応付けるように、対応関係LUTが、対応関係検出部333によって更新される。
<画像変換装置322の構成例>
図31は、図28の画像変換装置322の構成例を示すブロック図である。
なお、図中、図15の画像変換装置133と対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
図31において、画像変換装置322は、タップ選択部21ないしクラス分類部23、予測演算部25、及び、係数取得部341を有する。
したがって、画像変換装置322は、タップ係数選択部21ないしクラス分類部23、及び、予測演算部25を有する点で、図15の画像変換装置133と同様に構成される。
但し、画像変換装置322は、係数取得部151に代えて、係数取得部341を有する点で、画像変換装置133と相違する。
係数取得部341には、削減装置321から、削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTが供給される。
係数取得部341は、削減装置321からの削減フィルタ情報としての統合クラスごとのタップ係数を、クラス分類適応処理に用いるクラスごとのタップ係数として、その統合クラスごとのタップ係数から、注目画素の統合クラスのタップ係数を取得し、予測演算部25に供給する。
すなわち、係数取得部341は、クラス分類部23からの注目画素のクラス(初期クラス)を、削減装置321からの削減フィルタ情報としての対応関係LUTに従って、統合クラスに変換する。さらに、係数取得部341は、削減フィルタ情報としての統合クラスごとのタップ係数から、注目画素の統合クラスのタップ係数を取得し、予測演算部25に供給する。
図32は、図31の係数取得部341の構成例を示すブロック図である。
図32において、係数取得部341は、記憶部351、統合クラス変換部352、及び、取得部353を有する。
記憶部351には、削減装置321(図30)から、削減フィルタ情報としての統合クラスごとのタップ係数が供給される。
記憶部351は、削減装置321からの削減フィルタ情報としての統合クラスごとのタップ係数を記憶する。
統合クラス変換部352には、クラス分類部23から、注目画素のクラス分類結果としての初期クラスが供給される。さらに、統合クラス変換部352には、削減装置321から、削減フィルタ情報としての対応関係LUTが供給される。
統合クラス変換部352は、対応関係LUTに従い、注目画素の初期クラスを、注目画素の統合クラスに変換し、取得部353に供給する。
取得部353は、記憶部351に記憶された統合クラスごとのタップ係数から、統合クラス変換部352からの注目画素の統合クラスのタップ係数を取得し、予測演算部25に供給する。
<符号化処理>
図33は、図27の符号化装置11の符号化処理の例を説明するフローチャートである。
ステップS111において、クラス分類適応フィルタ311の学習装置131(図28)は、図17のステップS11と同様に、現在のタイミングが、タップ係数の更新タイミングであるかどうかを判定する。
ステップS111において、現在のタイミングが、タップ係数の更新タイミングでないと判定された場合、処理は、ステップS112ないしS122をスキップして、ステップS123に進む。
また、ステップS111において、現在のタイミングが、タップ係数の更新タイミングであると判定された場合、処理は、ステップS112に進み、学習装置131は、図17のステップS12と同様に、タップ係数学習を行う。
そして、学習装置131は、タップ係数学習により得られたクラス(初期クラス)ごとのタップ係数を、削減装置321に供給し、処理は、ステップS112からステップS113に進む。
ステップS113では、削減装置321(図30)のクラス統合部331が、学習装置131からタップ係数が供給された初期クラスごとのタップ係数を、記憶部332の係数リストに登録する。さらに、クラス統合部331は、係数リストにタップ係数が登録されているクラスのうちの2個のクラスの組み合わせすべてについて、係数間距離を算出し、処理は、ステップS113からステップS114に進む。
ステップS114では、クラス統合部331は、記憶部332(図30)の係数リストにタップ係数が記憶されているクラスのうちの2個のクラスどうしの組み合わせの中で、係数間距離が最も近い組み合わせの2個のクラスを、統合候補クラスに選択し、処理は、ステップS115に進む。
ステップS115では、クラス統合部331は、2個の統合候補クラスを、1個のクラスに統合した場合の、統合後のクラスのタップ係数を算出し、処理は、ステップS116に進む。
ステップS116では、クラス統合部331は、直前のステップS115で、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数について、例えば、RDコスト等のタップ係数評価値を算出し、処理は、ステップS117に進む。
ここで、学習装置131において、初期クラスごとのタップ係数が得られた後、最初に、ステップS116が行われる場合には、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数について、タップ係数評価値が算出されるとともに、統合前のクラスごとのタップ係数、すなわち、初期クラスごとのタップ係数についても、タップ係数評価値が算出される。
ステップS117では、クラス統合部331は、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数についてのタップ係数評価値が、統合前のタップ係数評価値から改善するかどうかを判定する。
ステップS117において、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数についてのタップ係数評価値が改善すると判定された場合、処理は、ステップS118に進む。
ステップS118では、クラス統合部331は、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数によって、記憶部332(図30)の係数リストを更新する。
さらに、クラス統合部331は、統合した2個の統合候補クラスと、統合後のクラスとを表す統合情報を、対応関係検出部333(図30)に供給する。対応関係検出部333は、クラス統合部331から供給される統合情報に応じて、統合した2個の統合候補クラスと、統合後のクラスとを対応付けるように、記憶部334の対応関係LUTを更新し、処理は、ステップS118からステップS119に進む。
ステップS119では、クラス統合部331は、直前に行った2個の統合候補クラスの統合によって得られた統合後のクラス(以下、最新統合クラスともいう)と、記憶部332の係数リストにタップ係数が登録されている他のクラスとの組み合わせすべてについて係数間距離を算出する。
ここで、記憶部332の係数リストにタップ係数が登録されているクラスのうちの、最新統合クラス以外の2個のクラスの組み合わせについての係数間距離は、過去に行われたステップS113又はS119で、既に算出されているので、その既に算出されている係数間距離を利用して、以降の処理を行うことができる。
ステップS119において、係数間距離が算出された後、処理は、ステップS114に戻り、以下、同様の処理が繰り返される。
そして、ステップS117において、2個の統合候補クラスを1個のクラスに統合した後の統合クラスごとのタップ係数についてのタップ係数評価値が改善しないと判定された場合、すなわち、クラスの統合を行っても、タップ係数評価値としてのRDコストが、それ以上改善しない場合、処理は、ステップS120に進む。
ステップS120では、削減装置321は、記憶部332の係数リストに登録されたクラス(統合クラス)ごとのタップ係数と、記憶部334の対応関係LUTを、削減フィルタ情報として、可逆符号化部106(図27)、及び、画像変換装置322(図28)に出力し、処理は、ステップS121に進む。
ステップS121では、可逆符号化部106(図27)は、削減装置321からの削減フィルタ情報を、伝送対象に設定して、処理は、ステップS122に進む。伝送対象に設定された削減フィルタ情報は、後述するステップS123で行われる予測符号化処理において符号化データに含められて伝送される。
ステップS122では、画素変換装置322(図31)において、係数取得部341(図32)の記憶部351が、その記憶部351に記憶されているクラスごとのタップ係数を、削減装置321からの削減フィルタ情報としての統合クラスごとのタップ係数に更新し(削減フィルタ情報としての統合クラスごとのタップ係数を上書きする形で記憶し)、処理は、ステップS123に進む。
ステップS123では、元画像の予測符号化処理が行われ、符号化処理は終了する。
図34は、図33のステップS123の予測符号化処理の例を説明するフローチャートである。
予測符号化処理では、ステップS131ないしS146において、図18のステップS31ないしS46とそれぞれ同様の処理が行われる。
なお、ステップS142において、クラス分類適応フィルタ311は、図18のステップS42と同様に、演算部110からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図33のステップS120で、削減装置321が画像変換装置322に出力する削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTが用いられる。
さらに、ステップS144では、可逆符号化部106は、図18のステップS44と同様に、量子化係数、符号化情報、及び、削減フィルタ情報を符号化するが、その削減フィルタ情報には、統合クラスごとのタップ係数、及び、対応関係LUTが含まれる。
したがって、可逆符号化部106で得られる符号化データには、量子化係数、符号化情報、並びに、削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTが含まれる。そして、かかる符号化データは、ステップS145で、図18のステップS45で説明したように、蓄積バッファ107から、適宜読み出されて伝送される。
図35は、図34のステップS142で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ311の画像変換装置322(図31)では、ステップS151において、タップ選択部21が、図19のステップS51と同様に、演算部110から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS152に進む。
ステップS152では、タップ選択部21及び22が、図19のステップS52と同様に、演算部110から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、予測演算部25及びクラス分類部23に、それぞれ供給する。
その後、処理は、ステップS152からステップS153に進み、クラス分類部23は、図19のステップS53と同様に、注目画素についてのクラスタップ、及び、注目画素についての符号化情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部23は、注目画素のクラス分類により得られる注目画素の初期クラスを、係数取得部341に供給し、処理は、ステップS153からステップS154に進む。
ステップS154では、係数取得部341(図32)の統合クラス変換部352が、クラス分類部23から供給される注目画素の初期クラスを、図33のステップS120で削減装置321から供給される削減フィルタ情報としての対応関係LUTに従って、注目画素の統合クラスに変換する。そして、統合クラス変換部352は、注目画素の統合クラスを、取得部353(図32)に供給して、処理は、ステップS154からステップS155に進む。
ステップS155では、取得部353が、記憶部351に図33のステップS122で記憶された統合クラスごとのタップ係数から、統合クラス変換部352からの注目画素の統合クラスのタップ係数を取得し、予測演算部25に供給して、処理は、ステップS156に進む。
ステップS156ないしS158では、図19のステップS55ないしS57とそれぞれ同様の処理が行われる。
以上のように、図27の符号化装置11では、タップ係数学習により得られた初期クラスごとのタップ係数ではなく、その初期クラスの数以下のクラスに統合した統合クラスごとのタップ係数と、初期クラスと統合クラスとの対応関係を表す対応関係情報としての対応関係LUTとが、削減フィルタ情報として伝送される。
また、初期クラスごとのタップ係数の統合は、統合クラスごとのタップ係数を、クラス分類適応処理に用いる適切さを表すタップ係数評価値としてのRDコストに応じて行われる。
したがって、初期クラスが、より少ない数の統合クラスに統合されることにより、初期クラスごとのタップ係数が伝送される場合に比較して、圧縮効率及び復号画像のS/Nを向上させることが可能となる。
<復号装置12の第2の構成例>
図36は、図1の復号装置12の第2の構成例を示すブロック図である。
なお、図中、図20の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図36において、復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、フレームメモリ210ないし選択部214、及び、クラス分類適応フィルタ411を有する。
したがって、図36の復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、及び、フレームメモリ210ないし選択部214を有する点で、図20の場合と共通する。
但し、図36の復号装置12は、クラス分類適応フィルタ206に代えて、クラス分類適応フィルタ411を有する点で、図20の場合と相違する。
図36の復号装置12は、図27の符号化装置11から伝送されてくる符号化データを復号する。
そのため、可逆復号部202からクラス分類適応フィルタ411に供給される削減フィルタ情報には、統合クラスごとのタップ係数と対応関係LUTが含まれる。
クラス分類適応フィルタ411は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、図20のクラス分類適応フィルタ206と共通する。
但し、クラス分類適応フィルタ411は、削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTを用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ206と相違する。
<クラス分類適応フィルタ411の構成例>
図37は、図36のクラス分類適応フィルタ411の構成例を示すブロック図である。
図37において、クラス分類適応フィルタ411は、画像変換装置431を有する。
画像変換装置431には、演算部205(図36)から復号途中画像が供給されるとともに、可逆復号部202から削減フィルタ情報としての統合クラスごとのタップ係数及び対応関係LUT、並びに、符号化情報が供給される。
画像変換装置431は、図28の画像変換装置322と同様に、復号途中画像を第1の画像として、削減フィルタ情報としての統合クラスごとのタップ係数(削減フィルタ情報を用いて得られるタップ係数)及び対応関係LUTを用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ207及びフレームメモリ210(図36)に供給する。
なお、画像変換装置431は、クラス分類適応処理において、図28の画像変換装置322と同様に、クラス分類を、必要に応じて、符号化情報を用いて行う。
<画像変換装置431の構成例>
図38は、図37の画像変換装置431の構成例を示すブロック図である。
なお、図中、図22の画像変換装置231と共通する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図38において、画像変換装置431は、タップ選択部241ないしクラス分類部243、予測演算部245、及び、係数取得部441を有する。
したがって、図38の画像変換装置431は、タップ選択部241ないしクラス分類部243、及び、予測演算部245を有する点で、図22の画像変換装置231と共通する。
但し、図38の画像変換装置431は、係数取得部244に代えて、係数取得部441を有する点で、図22の画像変換装置231と相違する。
係数取得部441には、可逆復号部202(図36)から、削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTが供給される。
係数取得部441は、可逆復号部202からの削減フィルタ情報としての統合クラスごとのタップ係数を、クラス分類適応処理に用いるクラスごとのタップ係数として、その統合クラスごとのタップ係数から、注目画素の統合クラスのタップ係数を取得し、予測演算部245に供給する。
すなわち、係数取得部441は、クラス分類部243からの注目画素のクラス(初期クラス)を、可逆復号部202からの削減フィルタ情報としての対応関係LUTに従って、統合クラスに変換する。さらに、係数取得部441は、削減フィルタ情報としての統合クラスごとのタップ係数から、注目画素の統合クラスのタップ係数を取得し、予測演算部245に供給する。
図39は、図38の係数取得部441の構成例を示すブロック図である。
図39において、係数取得部441は、記憶部451、統合クラス変換部452、及び、取得部453を有する。記憶部451ないし取得部453は、図32の記憶部351ないし取得部353と同様に構成される。
すなわち、記憶部451には、可逆復号部202(図36)から、削減フィルタ情報としての統合クラスごとのタップ係数が供給される。
記憶部451は、可逆復号部202からの削減フィルタ情報としての統合クラスごとのタップ係数を記憶する。
統合クラス変換部452には、クラス分類部243から、注目画素のクラス分類結果としての初期クラスが供給される。さらに、統合クラス変換部452には、可逆復号部202から、削減フィルタ情報としての対応関係LUTが供給される。
統合クラス変換部452は、対応関係LUTに従い、注目画素の初期クラスを、注目画素の統合クラスに変換し、取得部453に供給する。
取得部453は、記憶部451に記憶された統合クラスごとのタップ係数から、統合クラス変換部452からの注目画素の統合クラスのタップ係数を取得し、予測演算部245に供給する。
<復号処理>
図40は、図36の復号装置12の復号処理の例を説明するフローチャートである。
復号処理では、ステップS171において、蓄積バッファ201は、図24のステップS71と同様に、符号化装置11から伝送されてくる符号化データを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS172に進む。
ステップS172では、可逆復号部202は、図24のステップS72と同様に、蓄積バッファ201から供給される符号化データを受け取って復号し、その復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報や削減フィルタ情報が得られた場合、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。
さらに、可逆復号部202は、符号化情報及び削減フィルタ情報を、クラス分類適応フィルタ411に供給する。
その後、処理は、ステップS172からステップS173に進み、クラス分類適応フィルタ411は、可逆復号部202から削減フィルタ情報が供給されたかどうかを判定する。
ステップS173において、削減フィルタ情報が供給されていないと判定された場合、処理は、ステップS174をスキップして、ステップS175に進む。
また、ステップS173において、削減フィルタ情報が供給されたと判定された場合、処理は、ステップS174に進み、クラス分類適応フィルタ411の画像変換装置431(図38)を構成する係数取得部441が、削減フィルタ情報としての統合クラスごとのタップ係数及び対応関係LUTを取得する。
さらに、係数取得部441(図39)では、記憶部451が、記憶部451に記憶されているクラスごとのタップ係数を、削減フィルタ情報としての統合クラスごとのタップ係数に更新する(削減フィルタ情報としての統合クラスごとのタップ係数を上書きする形で記憶する)。
そして、処理は、ステップS174からステップS175に進み、予測復号処理が行われ、復号処理は終了する。
図41は、図40のステップS175の予測復号処理の例を説明するフローチャートである。
予測復号処理では、ステップS181ないしS189において、図25のステップS81ないしS89とそれぞれ同様の処理が行われる。
なお、ステップS186において、クラス分類適応フィルタ411は、図25のステップS86と同様に、演算部205からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図40のステップS174で、係数取得部441が取得した削減フィルタ情報としての統合クラスごとのタップ係数、及び、対応関係LUTが用いられる。
図42は、図41のステップS186で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ411の画像変換装置431(図38)では、ステップS191において、タップ選択部241が、図26のステップS91と同様に、演算部205から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS192に進む。
ステップS192では、タップ選択部241及び242が、図26のステップS92と同様に、演算部205から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、予測演算部245及びクラス分類部243に、それぞれ供給する。
その後、処理は、ステップS192からステップS193に進み、クラス分類部243は、図26のステップS93と同様に、注目画素についてのクラスタップ、及び、注目画素についての符号化情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部243は、注目画素のクラス分類により得られる注目画素の初期クラスを、係数取得部441に供給し、処理は、ステップS193からステップS194に進む。
ステップS194では、係数取得部441(図39)の統合クラス変換部452が、クラス分類部243から供給される注目画素の初期クラスを、図40のステップS174で係数取得部441が取得した削減フィルタ情報としての対応関係LUTに従って、注目画素の統合クラスに変換する。そして、統合クラス変換部452は、注目画素の統合クラスを、取得部453(図39)に供給して、処理は、ステップS194からステップS195に進む。
ステップS195では、取得部453が、記憶部451に図40のステップS174で記憶された統合クラスごとのタップ係数から、統合クラス変換部452からの注目画素の統合クラスのタップ係数を取得し、予測演算部245に供給して、処理は、ステップS196に進む。
ステップS196ないしS198では、図26のステップS95ないしS97とそれぞれ同様の処理が行われる。
以上のように、図27の符号化装置11及び図36の復号装置12では、ILF処理を、クラス分類適応処理によって行うので、ILFの処理結果よりも元画像に近いフィルタ後画像を得ることができる。その結果、復号画像のS/Nを改善することができる。さらに、元画像に近いフィルタ後画像を得ることができることから、残差が小さくなるので、圧縮効率を改善することができる。また、符号化装置11では、タップ係数評価値が改善されるように、初期クラスのタップ係数を統合することで、クラスごとのタップ係数を削減した削減フィルタ情報を生成し、復号装置12に対して、初期クラスごとのタップ係数ではなく、削減フィルタ情報を伝送するので、圧縮効率を、より改善することができる。
<符号化装置11の第3の構成例>
図43は、図1の符号化装置11の第3の構成例を示すブロック図である。
なお、図中、図9の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図43において、符号化装置11は、A/D変換部101ないし演算部110、フレームメモリ112ないしレート制御部117、及び、クラス分類適応フィルタ511を有する。
したがって、図43の符号化装置11は、A/D変換部101ないし演算部110、及び、フレームメモリ112ないしレート制御部117を有する点で、図9の場合と共通する。
但し、図43の符号化装置11は、クラス分類適応フィルタ111に代えて、クラス分類適応フィルタ511を有する点で、図9の場合と相違する。
クラス分類適応フィルタ511は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、クラス分類適応フィルタ111と共通する。
但し、クラス分類適応フィルタ511では、クラスごとのタップ係数を削減した削減フィルタ情報を生成する削減処理において、クラスごとの種係数(式(9)のβm,n)が、削減フィルタ情報として生成される点で、クラス分類適応フィルタ511は、クラス分類適応フィルタ111と相違する。
さらに、クラス分類適応フィルタ511は、削減フィルタ情報としてのクラスごとの種係数を用いて得られるクラスごとのタップ係数を用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ111と相違する。
すなわち、クラス分類適応フィルタ511は、削減フィルタ情報としてのクラスごとの種係数から、クラスごとのタップ係数が生成される点で、クラス分類適応フィルタ111と相違する。
また、クラス分類適応フィルタ511では、削減フィルタ情報の他、パラメータ情報が、可逆符号化部106に供給されて伝送される点で、クラス分類適応フィルタ511は、クラス分類適応フィルタ111と相違する。
すなわち、図5ないし図8で説明したように、種係数から、タップ係数を生成するにあたっては、例えば、パラメータzが必要であるが、クラス分類適応フィルタ511は、種係数からタップ係数を生成するときに用いるパラメータzに関するパラメータ情報を、可逆符号化部106に供給する。
これにより、パラメータ情報は、削減フィルタ情報と同様に、例えば、符号化データに含めて伝送される。
なお、図5ないし図8で説明したように、種係数からタップ係数を生成するときに用いるパラメータとしては、1個(種類)のパラメータzの他、2個のパラメータzx及びzyや3個のパラメータzx,zy,zt等の複数のパラメータを採用することができる。但し、以下では、説明を簡単にするため、種係数からタップ係数を生成するときに用いるパラメータとしては、1個のパラメータzを採用することとする。
<クラス分類適応フィルタ511の構成例>
図44は、図43のクラス分類適応フィルタ511の構成例を示すブロック図である。
図44において、クラス分類適応フィルタ511は、学習装置531、及び、画像変換装置322を有する。
学習装置531には、並べ替えバッファ102(図43)から元画像が供給されるとともに、演算部110(図43)から復号途中画像が供給される。さらに、学習装置531には、符号化情報が供給される。
学習装置531は、復号途中画像を生徒データとするとともに、元画像を教師データとして、クラスごとの種係数を求める学習(以下、種係数学習ともいう)を行う。
さらに、学習装置531は、種係数学習により得られるクラスごとの種係数を、タップ係数学習により求められるクラスごとのタップ係数を削減した削減フィルタ情報として、画像変換装置532及び可逆符号化部106(図43)に供給する。
ここで、種係数によれば、式(9)に従い、様々な値のパラメータzに対して、タップ係数を求めることができるので、種係数は、複数の値のパラメータzに対するタップ係数を削減した情報(削減フィルタ情報)であるということができる。
したがって、学習装置531は、種係数学習によりクラスごとの種係数を求める学習装置として機能するととともに、クラスごとのタップ係数を削減した削減フィルタ情報を生成する削減部としても機能する。
なお、学習装置531は、種係数学習において、クラス分類を、必要に応じて、符号化情報を用いて行う。
画像変換装置532には、演算部110(図43)から復号途中画像が供給されるとともに、学習装置531から削減フィルタ情報が供給される。さらに、画像変換装置532には、符号化情報が供給される。
画像変換装置532は、学習装置531の削減フィルタ情報としてのクラスごとの種係数を用いて、クラスごとのタップ係数を求める。さらに、画像変換装置532は、復号途中画像を第1の画像として、クラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ112(図43)に供給する。
また、画像変換装置532は、クラスごとのタップ係数を求める際に、削減フィルタ情報としてのクラスごとの種係数の他、パラメータzを用いるが、そのパラメータzに関するパラメータ情報を、可逆符号化部106(図43)に供給する。
なお、画像変換装置532は、クラス分類適応処理において、クラス分類を、必要に応じて、符号化情報を用いて行う。
<学習装置531の構成例>
図45は、図44の学習装置531の構成例を示すブロック図である。
図45において、学習装置531は、パラメータ生成部541、次数設定部542、学習部543、及び、選択部544を有する。
パラメータ生成部541には、符号化情報が供給される。パラメータ生成部541は、そこに供給される符号化情報のうちの、例えば、注目画素の符号化情報(注目画素を含むブロックの符号化情報や、注目画素を含むフレーム(ピクチャ)の符号化情報等を含む)に応じた値のパラメータzを生成し、学習部543に供給する。
ここで、パラメータzの生成に用いる注目画素の符号化情報としては、例えば、注目画素を符号化するときの符号量目標値(ビットレート)や、量子化パラメータQP等の、符号化/復号時のILFを、クラス分類適応処理によって実現するのに適した符号化情報を採用することができる。
パラメータzの生成に用いる符号化情報として、符号量目標値や量子化パラメータQPを採用する場合には、符号量目標値や量子化パラメータQP、ひいては、元画像の絵柄(アクティビティ)に応じた値のパラメータzが生成される。
ここで、パラメータ生成部541では、符号量目標値や量子化パラメータQP等の複数の符号化情報のうちの1個の符号化情報に応じて、1個のパラメータzを生成する他、符号量目標値や量子化パラメータQP等の複数の符号化情報それぞれに応じて、複数個のパラメータを生成することができる。但し、図43で説明したように、本実施の形態では、説明を簡単にするため、種係数からタップ係数を生成するときに用いるパラメータとしては、1個のパラメータzを採用することとする。
次数設定部542は、種係数学習により求める種係数の次数M、すなわち、式(9)に従ってタップ係数wnを求めるときに用いる種係数βm,nの数Mを設定し、学習部543に供給する。
学習部543には、パラメータ生成部541からパラメータzが供給されるとともに、次数設定部542から次数Mが供給される他、並べ替えバッファ102(図43)から元画像が供給されるとともに、演算部110(図43)から復号途中画像が供給される。さらに、学習部543には、符号化情報が供給される。
学習部531は、復号途中画像を生徒データとするとともに、元画像を教師データとして、パラメータ生成部541からのパラメータzを用いて、次数設定部542からの次数Mの種係数を求める種係数学習を行う。
学習部531は、種係数学習によって、例えば、各クラスについて、複数の次数Mの種係数を求め、選択部544に供給する。
なお、学習部531は、種係数学習において、クラス分類を、必要に応じて、符号化情報を用いて行う。
選択部544は、各クラスについて、学習部531からの複数の次数Mの種係数の中から、所定の次数の種係数を選択し、削減フィルタ情報として、画像変換装置532(図44)及び可逆符号化部106(図43)に供給する。
図46は、図45の学習部543の構成例を示すブロック図である。
なお、図中、図8の学習部63と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
また、図46では、学習部543は、図8の学習部63を利用して構成されているが、学習部543は、その他、図7の学習部63を利用して構成することができる。
図46において、学習部543は、タップ選択部41ないしクラス分類部43、係数算出部45、及び、足し込み部81ないし係数算出部83を有する。
したがって、学習部543は、図8の学習部63と同様に構成される。
但し、学習部543では、クラス分類部43が、クラスタップや符号化情報を必要に応じて用いてクラス分類を行う。
また、学習部543では、復号途中画像を生徒データとして用いるとともに、その復号途中画像に対応する元画像を教師データとして用いて、種係数学習が行われ、その種係数学習により得られるクラスごとの種係数が、係数算出部83から、選択部544(図45)に供給される。
さらに、学習部543では、足し込み部82は、図8で説明した場合と同様に、パラメータ生成部541(図45)から供給されるパラメータz(に対応する変数tm)と、係数算出部45から供給される最適なタップ係数wnを対象とした足し込みを、クラスごとに行うが、その足し込みは、次数設定部542から供給される複数の次数Mについて行われる。すなわち、式(26)の計算が、次数設定部542からの複数の次数Mについて行われる。
その結果、足し込み部82では、クラスごとに、複数の次数Mについて、式(28)の正規方程式が求められ、係数算出部83に供給される。したがって、係数算出部83では、クラスごとに、複数の次数Mについて、種係数が求められる。
なお、学習装置531(図44)での種係数学習は、図10の学習装置131のタップ係数学習と同様に、元画像の符号化と並列して行うこともできるし、元画像の符号化とは関係なく、前もって行っておくこともできる。
<パラメータzとタップ係数との関係>
図47は、パラメータzとタップ係数との関係を説明する図である。
図47では、横軸をパラメータzとするとともに、縦軸をタップ係数とする2次元平面に、パラメータzに対するタップ係数、すなわち、パラメータzが得られる元画像及び復号途中画像を用いたタップ係数学習により得られるタップ係数を表す係数点がプロットされている。
図47では、複数の係数点、すなわち、複数の値それぞれのパラメータzに対するタップ係数の係数点がプロットされているが、これらの複数の係数点に対応するパラメータzとタップ係数との関係を表す曲線を、関係曲線ということとする。
関係曲線は、種係数を用いた式(9)で表され、したがって、種係数は、関係曲線を規定(定義)する。
例えば、パラメータzが、図45で説明したように、元画像の絵柄(アクティビティ)に応じた値になっている場合、種係数によって規定される関係曲線が、係数点の分布にフィットするほど、パラメータzに応じた絵柄の画像について、種係数とパラメータzとから得られるタップ係数を用いたクラス分類適応処理によって、元画像に近い画像(S/Nの高い画像)が得られる。
図48は、係数点の分布と、係数点の分布にフィットする関係曲線を規定する種係数の次数との関係の例を説明する図である。
係数点の分布が線形に近い簡単な分布である場合には、係数点の分布にフィットする関係曲線を規定する種係数は、少ない次数の種係数で済む。
一方、係数点の分布が複雑である場合には、係数点の分布にフィットする関係曲線を規定する種係数は、大きい(高い)次数の種係数になる。
図49は、係数点の分布と、係数点の分布にフィットする関係曲線を規定する種係数の次数との関係の他の例を説明する図である。
図48で説明したように、係数点の分布が複雑である場合には、係数点の分布にフィットする関係曲線を規定する種係数は、大きい次数の種係数になる。
しかしながら、元画像のある(時間方向の)区間Dでは、係数点の分布が複雑になる場合であっても、その区間Dの一部の区間D'では、パラメータz(を生成する元になる符号化情報)の振れ幅(変動)が小さいことがある。
この場合、区間Dの元画像を用いたタップ係数の係数点の分布にフィットする関係曲線を規定する種係数の次数は、大になるが、区間D'の元画像を用いたタップ係数の係数点の分布にフィットする関係曲線を規定する種係数の次数は、小さくすることができる。
そこで、学習装置(図45)では、選択部544が、種係数から求められるタップ係数をクラス分類適応処理(の式(1)の予測演算)に用いる適切さを表す種係数評価値に応じて、学習部531での種係数学習により得られる複数の次数の種係数の中から、係数点の分布にフィットする関係曲線を規定する次数の種係数を選択し、削減フィルタ情報として、画像変換装置532(図44)及び可逆符号化部106(図43)に供給する。
ここで、種係数評価値としては、例えば、種係数学習に用いられる元画像を符号化するときのRDコストに対応する値を採用することができる。例えば、種係数評価値として、RDコストを採用し、種係数学習により得られる複数の次数の種係数のうちの、RDコストが最良の次数の種係数を、削減フィルタ情報として選択することにより、係数点の分布にフィットする関係曲線を規定する、少ない次数の種係数を、削減フィルタ情報として得ることができる。その結果、圧縮効率及び復号画像のS/Nを向上させることができる。
また、種係数評価値としては、例えば、種係数学習に用いられる元画像の絵柄(アクティビティ)に対応する値を採用することができる。例えば、種係数評価値として、元画像の所定の区間の絵柄の変動幅(例えば、アクティビティの変動量)を採用し、種係数学習により得られる複数の次数の種係数のうちの、絵柄の変動幅に比例するような次数の種係数を、削減フィルタ情報として選択することにより、様々な絵柄の元画像に対応する復号途中画像のクラス分類適応処理に適切なタップ係数の係数点の分布にフィットする関係曲線を規定する、少ない次数の種係数を、削減フィルタ情報として得ることができる。その結果、圧縮効率及び復号画像のS/Nを向上させることができる。
さらに、種係数評価値としては、例えば、種係数学習に用いられる元画像を符号化するときの符号量目標値(ビットレート)や量子化パラメータQP等の符号化情報に対応する値を採用することができる。例えば、種係数評価値として、元画像の所定の区間の符号量目標値や量子化パラメータQPの変動幅を採用し、種係数学習により得られる複数の次数の種係数のうちの、符号量目標値や量子化パラメータQPの変動幅に比例するような次数の種係数を、削減フィルタ情報として選択することにより、様々な符号量目標値や量子化パラメータQPの元画像に対応する復号途中画像のクラス分類適応処理に適切なタップ係数の係数点の分布にフィットする関係曲線を規定する、少ない次数の種係数を、削減フィルタ情報として得ることができる。その結果、圧縮効率及び復号画像のS/Nを向上させることができる。
また、種係数評価値としては、例えば、種係数学習に用いられる元画像に対して生成されるパラメータzに対応する値を採用することができる。例えば、種係数評価値として、種係数学習に用いられる元画像の区間のパラメータzの変動幅(振れ幅)を採用し、種係数学習により得られる複数の次数の種係数のうちの、パラメータzの変動幅に比例するような次数の種係数を、削減フィルタ情報として選択することにより、係数点の分布にフィットする関係曲線を規定する、少ない次数の種係数を、削減フィルタ情報として得ることができる。その結果、圧縮効率及び復号画像のS/Nを向上させることができる。
圧縮効率の向上、及び、復号画像のS/Nの向上の観点からは、種係数評価値として、RDコストに対応する値を採用することが望ましい。但し、種係数評価値として、RDコストを採用する場合には、種係数評価値の計算に、大きな計算コストを要する。種係数評価値として、例えば、上述の元画像の絵柄や、符号化情報、パラメータzに対応する値を採用することにより、種係数評価値の計算に要する計算コストを削減することができる。
ここで、元画像の絵柄、ひいては、例えば、元画像の符号化時の符号量目標値や量子化パラメータQPが時間的に変化した場合に、その変化後の元画像について、クラス分類適応処理により、元画像により近いフィルタ後画像を得るためには、変化後の元画像を用いたタップ係数学習を行い、そのタップ係数学習により得られるタップ係数を用いて、クラス分類適応処理を行うことが望ましい。
しかしながら、元画像の絵柄が時間的に変化した場合であっても、その変化がそれほど大きな変化でないときに、変化後の元画像を用いたタップ係数学習を行い、そのタップ係数学習により得られるタップ係数を、符号化装置11から復号装置12に伝送するのでは、圧縮効率が悪化する。
また、元画像の絵柄が、シーンチェンジ等で大きく変化した場合には、変化前の元画像を用いたタップ係数学習で得られたタップ係数を、クラス分類適応処理に使用し続けるのでは、復号画像(フィルタ後画像)のS/Nが悪化する。
これに対して、符号量目標値や量子化パラメータQPに応じて生成されたパラメータzを用いた種係数学習により得られる種係数によれば、元画像の符号化時の符号量目標値や量子化パラメータQPに応じて生成されるパラメータzを用いて、その符号量目標値や量子化パラメータQPに対応する元画像との誤差が少ない復号画像(フィルタ後画像)を得ることができるタップ係数を求めることができる。そして、そのようなタップ係数を用いてクラス分類適応処理を行うことで、復号画像のS/Nの悪化を防止することができる。
さらに、種係数によれば、大ざっぱには、その種係数を求める種係数学習で用いられたパラメータzが生成された符号量目標値や量子化パラメータQPの範囲の元画像について、高S/Nの復号画像(フィルタ後画像)を得ることができる。すなわち、元画像の符号化時の符号量目標値や量子化パラメータQPが時間的に多少変動した場合に、クラス分類適応処理に、現在の種係数を使用し続けても、高S/Nの復号画像を得ることができる。したがって、元画像の符号化時の符号量目標値や量子化パラメータQPが時間的に多少変動した程度では、種係数学習を新たに行い、新たな種係数を、符号化装置11から復号装置12に伝送する必要がないので、圧縮効率を向上させることができる。
以上のように、種係数によれば、元画像の絵柄、ひいては、元画像の符号化時の符号量目標値や量子化パラメータQPが時間的に多少変動しても、その種係数から得られるタップ係数を用いたクラス分類適応処理により、高S/Nの復号画像を得ることができるので、種係数は、元画像の絵柄、すなわち、例えば、元画像の符号化時の符号量目標値や量子化パラメータQP等の時間的な変化を吸収する、ということができる。
<画像変換装置532の構成例>
図50は、図44の画像変換装置532の構成例を示すブロック図である。
なお、図中、図15の画像変換装置133と対応する部分については、同一の符号を付してあり、その説明は、適宜省略する。
図50において、画像変換装置532は、タップ選択部21ないしクラス分類部23、予測演算部25、パラメータ生成部561、及び、係数取得部562を有する。
したがって、画像変換装置532は、タップ係数選択部21ないしクラス分類部23、及び、予測演算部25を有する点で、図15の画像変換装置133と同様に構成される。
但し、画像変換装置532は、パラメータ生成部561を新たに有する点で、画像変換装置133と相違する。さらに、画像変換装置532は、係数取得部151に代えて、係数取得部562を有する点で、画像変換装置133と相違する。
パラメータ生成部561には、符号化情報が供給される。パラメータ生成部561は、そこに供給される符号化情報のうちの、注目画素の符号量目標値や量子化パラメータQP等の符号化情報に応じて、図45の学習装置531のパラメータ生成部541と同様のパラメータzを生成し、係数取得部562に供給する。
また、パラメータ生成部561は、例えば、パラメータzを、パラメータ情報として、可逆符号化部106(図43)に供給する。
ここで、パラメータ生成部561が可逆符号化部106に供給するパラメータ情報としては、パラメータzそのものの他、例えば、そのパラメータzを生成するのに用いた符号量目標値や量子化パラメータQP等の符号化情報等を採用することができる。パラメータ生成部561において、パラメータzを、可逆符号化部106に供給される符号化情報を用いて生成する場合には、パラメータ情報は、可逆符号化部106に供給しなくてもよい(伝送しなくてもよい)。
係数取得部562には、パラメータ生成部561からパラメータzが供給される他、学習装置531から削減フィルタ情報としてのクラスごとの種係数が供給される。
係数取得部562は、学習装置531からの削減フィルタ情報としてのクラスごとの種係数と、パラメータ生成部561からのパラメータzとを用い、式(9)に従って、クラスごとのタップ係数を生成する。そして、係数取得部562は、クラスごとのタップ係数から、クラス分類部23から供給される注目画素のクラスのタップ係数を取得し、予測演算部25に供給する。
又は、係数取得部562は、学習装置531からの削減フィルタ情報としてのクラスごとの種係数のうちの、クラス分類部23から供給される注目画素のクラスの種係数と、パラメータ生成部561からのパラメータzとを用いて、注目画素のクラスのタップ係数を生成することにより取得し、予測演算部25に供給する。
図51は、図50の係数取得部562の構成例を示すブロック図である。
図51において、係数取得部562は、記憶部571、タップ係数算出部572、記憶部573、及び、取得部574を有する。
記憶部571には、学習装置531(図44)から、削減フィルタ情報としてのクラスごとの種係数が供給される。
記憶部571は、学習装置531からの削減フィルタ情報としてのクラスごとの種係数を記憶する。
タップ係数算出部572には、パラメータ生成部561から注目画素について生成されたパラメータzが供給される。タップ係数算出部572は、記憶部571に記憶されたクラスごとの種係数と、パラメータ生成部561からのパラメータzとを用い、式(9)に従って、クラスごとのタップ係数を算出し、記憶部573に供給する。
記憶部573は、タップ係数算出部572からのクラスごとのタップ係数を記憶する。
取得部574には、クラス分類部23から、注目画素のクラスが供給される。
取得部574は、記憶部571に記憶されたクラスごとのタップ係数から、クラス分類部23からの注目画素のクラスのタップ係数を取得し、予測演算部25に供給する。
<符号化処理>
図52は、図43の符号化装置11の符号化処理の例を説明するフローチャートである。
符号化装置11において、クラス分類適応フィルタ511の学習装置531(図44)は、そこに供給される復号途中画像を生徒データとして一時記憶するとともに、その復号途中画像に対応する元画像を教師データとして一時記憶している。
ステップS211において、クラス分類適応フィルタ511の学習装置531(図44)は、現在のタイミングが、種係数の更新タイミングであるかどうかを判定する。
ここで、種係数の更新タイミングは、図17で説明したタップ係数の更新タイミングと同様に、例えば、1以上のフレームごとや、1以上のシーケンスごと、1以上のスライスごと、CTU等の所定のブロックの1以上のラインごと等のように、あらかじめ決めておくことができる。
また、種係数の更新タイミングとしては、図17で説明したタップ係数の更新タイミングと同様に、1以上のフレームごとのタイミングのような周期的(固定的)なタイミングの他、フィルタ後画像のS/Nが閾値以下になったタイミング等の動的なタイミングを採用することができる。
ステップS211において、現在のタイミングが、種係数の更新タイミングでないと判定された場合、処理は、ステップS212ないしS219をスキップして、ステップS220に進む。
また、ステップS211において、現在のタイミングが、種係数の更新タイミングであると判定された場合、処理は、ステップS212に進み、学習装置531は、タップ係数を求める。
すなわち、学習装置531(図45)は、例えば、前回の更新タイミングから、今回の更新タイミングまでの間に記憶した復号途中画像及び元画像を、それぞれ、生徒データ及び教師データとして、タップ係数学習を行い、係数算出部45(図46)において、生徒データ及び教師データとなった復号途中画像及び元画像の符号化情報から生成される複数の値のパラメータzそれぞれについて、クラスごとのタップ係数が求められる。
そして、学習装置531の学習部543(図46)では、係数算出部45が、複数の値のパラメータzそれぞれについての、クラスごとのタップ係数を、足し込み部82に供給して、処理は、ステップS212からステップS213に進む。
ステップS213では、学習部543は、ステップS212でタップ係数が求められた全クラスの中で、まだ、注目クラスに選択していない1つのクラスを注目クラスに選択して、処理は、ステップS214に進む。
ステップS214では、学習部543(図46)の足し込み部82及び係数算出部83が、ステップS212で求められた、複数の値のパラメータzについての、クラスごとのタップ係数の中の、複数の値のパラメータzについての、注目クラスのタップ係数と、複数の値のパラメータzとを用いて、注目クラスの種係数を算出する。
注目クラスの種係数の算出では、学習装置531(図45)において、次数設定部542から学習部543に対して、複数の次数Mが供給され、学習部543(図46)の足し込み部82及び係数算出部83では、その複数の次数Mそれぞれについて、注目クラスの種係数が算出される。
学習装置531(図45)では、学習部543が、複数の次数Mそれぞれについての注目クラスの種係数を、選択部544に供給して、処理は、ステップS214からステップS215に進む。
ステップS215では、選択部544が、学習部543からの複数の次数Mそれぞれについての注目クラスの種係数について、種係数から求められるタップ係数をクラス分類適応処理に用いる適切さを表す種係数評価値としての、例えば、RDコスト等を算出し、処理は、ステップS216に進む。
ステップS216では、選択部544は、複数の次数Mそれぞれについての注目クラスの種係数の中から、種係数評価値が最良の次数Mの注目クラスの種係数を、最適次数Mの種係数として選択し、処理は、ステップS217に進む。
ステップS217では、学習部543(図45)が、ステップS212でタップ係数が求められた全クラスを、注目クラスとしたかどうかを判定する。
ステップS217において、まだ、全クラスを、注目クラスとしていないと判定された場合、処理は、ステップS213に戻り、以下、同様の処理が繰り返される。
また、ステップS217において、全クラスを、注目クラスとしたと判定された場合、処理は、ステップS218に進み、選択部544(図45)は、ステップS216で各クラスについて選択した最適次数Mの種係数を、削減フィルタ情報として、可逆符号化部106(図43)、及び、画像変換装置532(図44)に出力する。
さらに、ステップS218では、可逆符号化部106(図43)が、学習装置531(の選択部544)からの削減フィルタ情報を、伝送対象に設定して、処理は、ステップS219に進む。伝送対象に設定された削減フィルタ情報は、後述するステップS220で行われる予測符号化処理において符号化データに含められて伝送される。
ステップS219では、画像変換装置532(図50)において、係数取得部562(図51)の記憶部571が、その記憶内容を、学習装置531(の選択部544)からの削減フィルタ情報としてのクラスごとの最適次数Mの種係数に更新し(クラスごとの種係数を、上書きする形で記憶し)、処理は、ステップS220に進む。
ステップS220では、元画像の予測符号化処理が行われ、符号化処理は終了する。
図53は、図52のステップS220の予測符号化処理の例を説明するフローチャートである。
予測符号化処理では、ステップS231ないしS246において、図18のステップS31ないしS46とそれぞれ同様の処理が行われる。
なお、ステップS242において、クラス分類適応フィルタ511は、図18のステップS42と同様に、演算部110からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図52のステップS219で、係数取得部562(図51)の記憶部571に記憶された削減フィルタ情報としてのクラスごとの種係数から得られるクラスごとのタップ係数が用いられる。
また、ステップS242でのクラス分類適応処理では、後述するように、注目画素の符号化情報から生成されたパラメータzのパラメータ情報が、クラス分類適応フィルタ511から可逆符号化部106に供給される。
さらに、ステップS244では、可逆符号化部106は、図18のステップS44と同様に、量子化係数、符号化情報、及び、削減フィルタ情報を符号化するが、その削減フィルタ情報には、クラスごとの種係数が含まれる。
また、ステップS244では、可逆符号化部106は、クラス分類適応フィルタ511から供給されるパラメータ情報を符号化する。
したがって、可逆符号化部106で得られる符号化データには、量子化係数、符号化情報、削減フィルタ情報としてのクラスごとの種係数、及び、パラメータ情報が含まれる。そして、かかる符号化データは、ステップS245で、図18のステップS45で説明したように、蓄積バッファ107から、適宜読み出されて伝送される。
図54は、図53のステップS242で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ511の画像変換装置532(図50)では、ステップS251において、タップ選択部21が、図19のステップS51と同様に、演算部110から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS252に進む。
ステップS252では、パラメータ生成部561(図50)が、注目画素の符号化情報からパラメータzを生成し、係数取得部562に供給する。さらに、パラメータ生成部561は、パラメータzに関するパラメータ情報として、例えば、パラメータzそのものを、可逆符号化部106に供給する。可逆符号化部106に供給されたパラメータ情報は、図53で説明したように、ステップS244で符号化され、ステップS245で伝送される。
ステップS252の後、処理は、ステップS253に進み、係数取得部562(図51)のタップ係数算出部572が、図52のステップS219で記憶部571に記憶されたクラスごとの種係数と、直前のステップS252でパラメータ生成部561から供給されたパラメータzとを用いて、クラスごとのタップ係数を算出する。さらに、タップ係数算出部572は、クラスごとのタップ係数を、記憶部573に記憶させ、処理は、ステップS253からステップS254に進む。
ここで、ステップS252でのパラメータzの生成、及び、ステップS253でのタップ係数の算出は、例えば、フレームごとに行うことができる。
すなわち、ステップS252では、注目画素のフレームの符号化情報を用いて、そのフレームに共通のパラメータz、すなわち、フレーム単位のパラメータzを生成し、ステップS253では、フレーム単位のパラメータzを用いて、フレーム単位で、クラスごとのタップ係数を算出することができる。
ここで、パラメータzの生成、及び、そのパラメータzを用いたタップ係数の算出は、フレーム単位以外の、例えば、画素単位や、ブロック単位、複数フレーム単位等の任意の単位で行うことができる。
但し、パラメータzの生成及びタップ係数の算出を、細かすぎる単位で行うと、パラメータzのパラメータ情報を伝送する頻度が高くなって、圧縮効率が劣化する。一方、パラメータzの生成及びタップ係数の算出を、粗すぎる(大きすぎる)単位で行うと、タップ係数を用いたクラス分類適応処理により得られるフィルタ後画像(復号画像)のS/Nが劣化するおそれがある。
したがって、パラメータzの生成及びタップ係数の算出を行う単位は、圧縮効率とS/Nとを考慮して決定することが望ましい。
また、パラメータ情報の、可逆符号化部106の供給、すなわち、パラメータ情報の伝送は、パラメータzが生成されるたびに行う他、前回と異なるパラメータzが生成された場合にのみ行うこと(前回と同一のパラメータzが生成された場合には行わないこと)ができる。
パラメータ情報の伝送を、前回と異なるパラメータzが生成された場合にのみ行うことにより、パラメータzの生成を細かい単位で行った場合の圧縮効率の劣化を抑制することができる。
同様に、パラメータzを用いたタップ係数の算出も、前回と異なるパラメータzが生成された場合にのみ行うことができる。この場合、タップ係数の算出に要する演算コストを低減することができる。
ステップS254では、タップ選択部21及び22が、図19のステップS52と同様に、演算部110から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、予測演算部25及びクラス分類部23に、それぞれ供給する。
その後、処理は、ステップS254からステップS255に進み、クラス分類部23は、図19のステップS53と同様に、注目画素についてのクラスタップ、及び、注目画素についての符号化情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部23は、注目画素のクラス分類により得られる注目画素の初期クラスを、係数取得部562に供給し、処理は、ステップS255からステップS256に進む。
ステップS256では、係数取得部562(図51)の取得部574が、直前に行われたステップS253で記憶部573に記憶されたクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、予測演算部25に供給して、処理は、ステップS257に進む。
ステップS257ないしS259では、図19のステップS55ないしS57とそれぞれ同様の処理が行われる。
以上のように、図43の符号化装置11では、クラスごとのタップ係数そのものではなく、種係数学習により得られるクラスごとの種係数が、削減フィルタ情報として伝送される。
また、各クラスの種係数の次数は、RDコスト等の種係数評価値が最良になるように選択され、高S/Nの復号画像(フィルタ後画像)が得られる範囲で、より小さい値になる。
したがって、圧縮効率及び復号画像のS/Nを向上させることができる。
<復号装置12の第3の構成例>
図55は、図1の復号装置12の第3の構成例を示すブロック図である。
なお、図中、図20の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図55において、復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、フレームメモリ210ないし選択部214、及び、クラス分類適応フィルタ611を有する。
したがって、図55の復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、及び、フレームメモリ210ないし選択部214を有する点で、図20の場合と共通する。
但し、図55の復号装置12は、クラス分類適応フィルタ206に代えて、クラス分類適応フィルタ611を有する点で、図20の場合と相違する。
図55の復号装置12は、図43の符号化装置11から伝送されてくる符号化データを復号する。
そのため、可逆復号部202からクラス分類適応フィルタ611に供給される削減フィルタ情報には、クラスごとの種係数が含まれる。
また、図43の符号化装置11から伝送されてくる符号化データには、パラメータ情報が含まれる。可逆復号部202での符号化データの復号により、パラメータ情報が得られた場合、そのパラメータ情報は、可逆復号部202から、クラス分類適応フィルタ611に供給される。
クラス分類適応フィルタ611は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、図20のクラス分類適応フィルタ206と共通する。
但し、クラス分類適応フィルタ611は、パラメータ情報から得られるパラメータzと、削減フィルタ情報としてのクラスごとの種係数とから、クラスごとのタップ係数を算出し、そのクラスごとのタップ係数を用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ206と相違する。
<クラス分類適応フィルタ611の構成例>
図56は、図55のクラス分類適応フィルタ611の構成例を示すブロック図である。
図56において、クラス分類適応フィルタ611は、画像変換装置631を有する。
画像変換装置631には、演算部205(図55)から復号途中画像が供給されるとともに、可逆復号部202からパラメータ情報、削減フィルタ情報としてのクラスごとの種係数、及び、符号化情報が供給される。
画像変換装置631は、パラメータ情報から得られるパラメータzと、削減フィルタ情報としてのクラスごとの種係数とから、クラスごとのタップ係数を、図44の画像変換装置532と同様に算出し、復号途中画像を第1の画像として、クラスごとのタップ係数を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ207及びフレームメモリ210(図55)に供給する。
なお、画像変換装置631は、クラス分類適応処理において、図44の画像変換装置532と同様に、クラス分類を、必要に応じて、符号化情報を用いて行う。
<画像変換装置631の構成例>
図57は、図56の画像変換装置631の構成例を示すブロック図である。
なお、図中、図22の画像変換装置231と共通する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図57において、画像変換装置631は、タップ選択部241ないしクラス分類部243、予測演算部245、及び、係数取得部641を有する。
したがって、図57の画像変換装置631は、タップ選択部241ないしクラス分類部243、及び、予測演算部245を有する点で、図22の画像変換装置231と共通する。
但し、図57の画像変換装置631は、係数取得部244に代えて、係数取得部641を有する点で、図22の画像変換装置231と相違する。
係数取得部641には、可逆復号部202(図55)からパラメータ情報及び削減フィルタ情報としてのクラスごとの種係数が供給される。
係数取得部641は、図50の係数取得部562と同様に、クラスごとのタップ係数を生成する。
すなわち、係数取得部641は、例えば、削減フィルタ情報としてのクラスごとの種係数と、パラメータ情報から得られるパラメータzとを用い、式(9)に従って、クラスごとのタップ係数を生成する。そして、係数取得部641は、クラスごとのタップ係数から、クラス分類部243から供給される注目画素のクラスのタップ係数を取得し、予測演算部245に供給する。
図58は、図57の係数取得部641の構成例を示すブロック図である。
図58において、係数取得部641は、記憶部671、タップ係数算出部672、記憶部673、及び、取得部674を有する。
記憶部671には、可逆復号部202(図55)から、削減フィルタ情報としてのクラスごとの種係数が供給される。
記憶部671は、可逆復号部202からの削減フィルタ情報としてのクラスごとの種係数を記憶する。
タップ係数算出部672には、可逆復号部202からパラメータ情報が供給される。タップ係数算出部672は、パラメータ情報から、符号化装置11で用いられたパラメータz(図50のパラメータ生成部561で生成されたパラメータz)を取得し、そのパラメータzと、記憶部671に記憶されたクラスごとの種係数とを用い、式(9)に従って、クラスごとのタップ係数を算出し、記憶部673に供給する。
記憶部673は、タップ係数算出部672からのクラスごとのタップ係数を記憶する。
取得部674には、クラス分類部243から、注目画素のクラスが供給される。
取得部674は、記憶部673に記憶されたクラスごとのタップ係数から、クラス分類部243からの注目画素のクラスのタップ係数を取得し、予測演算部245に供給する。
<復号処理>
図59は、図55の復号装置12の復号処理の例を説明するフローチャートである。
復号処理では、ステップS271において、蓄積バッファ201は、図24のステップS71と同様に、符号化装置11から伝送されてくる符号化データを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS272に進む。
ステップS272では、可逆復号部202は、図24のステップS72と同様に、蓄積バッファ201から供給される符号化データを受け取って復号し、その復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報や、削減フィルタ情報、パラメータ情報が得られた場合、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。
さらに、可逆復号部202は、符号化情報、削減フィルタ情報、及び、パラメータ情報を、クラス分類適応フィルタ611に供給する。
その後、処理は、ステップS272からステップS273に進み、クラス分類適応フィルタ611は、可逆復号部202から削減フィルタ情報が供給されたかどうかを判定する。
ステップS273において、削減フィルタ情報が供給されていないと判定された場合、処理は、ステップS274をスキップして、ステップS275に進む。
また、ステップS273において、削減フィルタ情報が供給されたと判定された場合、処理は、ステップS274に進み、クラス分類適応フィルタ611の画像変換装置631(図57)を構成する係数取得部641が、削減フィルタ情報としてのクラスごとの種係数を取得する。
さらに、係数取得部641(図58)では、記憶部671が、記憶部671に記憶されているクラスごとの種係数を、削減フィルタ情報としてのクラスごとの種係数に更新する(削減フィルタ情報としてのクラスごとの種係数を上書きする形で記憶する)。
そして、処理は、ステップS274からステップS275に進み、予測復号処理が行われ、復号処理は終了する。
図60は、図59のステップS275の予測復号処理の例を説明するフローチャートである。
予測復号処理では、ステップS281ないしS289において、図25のステップS81ないしS89とそれぞれ同様の処理が行われる。
なお、ステップS286において、クラス分類適応フィルタ611は、図25のステップS86と同様に、演算部205からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図59のステップS274で、係数取得部641が取得した削減フィルタ情報としてのクラスごとの種係数から生成されるクラスごとのタップ係数が用いられる。
図61は、図60のステップS286で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ611の画像変換装置631(図57)では、ステップS291において、タップ選択部241が、図26のステップS91と同様に、演算部205から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS292に進む。
ステップS292では、画像変換装置631(図57)の係数取得部641が、可逆復号部202(図55)から、注目画素についてのパラメータ情報が供給されたかどうかを判定する。
ステップS292において、注目画素についてのパラメータ情報が供給されていないと判定された場合、処理は、ステップS293をスキップして、ステップS294に進む。
すなわち、注目画素についてのパラメータ情報が、前回、注目画素になった画素のパラメータ情報と同一であり、符号化装置11から伝送されてきていない場合、処理は、ステップS292から、ステップS293をスキップして、ステップS294に進み、以下、可逆復号部202(図55)からクラス分類適応フィルタ611に最後に供給されたパラメータ情報から得られたパラメータzを用いて算出されたタップ係数を用いて、フィルタ後画像を求める式(1)の予測演算が行われる。
一方、ステップS292において、可逆復号部202(図55)から、注目画素についてのパラメータ情報が供給されたと判定された場合、処理は、ステップS293に進み、そのパラメータ情報から得られるパラメータzを用いて、新たなタップ係数が算出される。
すなわち、ステップS293では、係数取得部641(図58)のタップ係数算出部672が、図59のステップS274で記憶部671に記憶された削減フィルタ情報としてのクラスごとの種係数と、可逆復号部202(図55)から供給された、注目画素についてのパラメータ情報から得られるパラメータzとを用いて、クラスごとのタップ係数を算出する。
さらに、タップ係数算出部672は、クラスごとのタップ係数を、記憶部673に供給して、上書きする形で記憶させ、処理は、ステップS293からステップS294に進む。
ステップS294では、タップ選択部241及び242が、図26のステップS92と同様に、演算部205から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、予測演算部245及びクラス分類部243に、それぞれ供給する。
その後、処理は、ステップS294からステップS295に進み、クラス分類部243は、図26のステップS93と同様に、注目画素についてのクラスタップ、及び、注目画素についての符号化情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部243は、注目画素のクラス分類により得られる注目画素のクラスを、係数取得部641に供給し、処理は、ステップS295からステップS296に進む。
ステップS296では、係数取得部641(図58)の取得部674が、直前のステップS293で記憶部673に記憶されたクラスごとのタップ係数から、クラス分類部243からの注目画素のクラスのタップ係数を取得し、予測演算部245に供給して、処理は、ステップS297に進む。
ステップS297ないしS299では、図26のステップS95ないしS97とそれぞれ同様の処理が行われる。
以上のように、図43の符号化装置11及び図55の復号装置12では、ILF処理を、クラス分類適応処理によって行うので、ILFの処理結果よりも元画像に近いフィルタ後画像を得ることができる。その結果、復号画像のS/Nを改善することができる。さらに、元画像に近いフィルタ後画像を得ることができることから、残差が小さくなるので、圧縮効率を改善することができる。また、符号化装置11では、種係数評価値が最良になるように、各クラスの種係数の次数を選択して、クラスごとのタップ係数を削減した削減フィルタ情報としてのクラスごとの種係数を生成し、復号装置12に対して、クラスごとのタップ係数ではなく、削減フィルタ情報を伝送するので、圧縮効率を、より改善することができる。
<タップ係数を削減した削減フィルタ情報の他の例>
図62は、タップ係数学習により得られるクラスごとのタップ係数を削減した削減フィルタ情報の他の例を説明する図である。
タップ係数を削減した削減フィルタ情報としては、メリット判定値が閾値以上のクラスのタップ係数や、統合クラスごとのタップ係数及び対応関係LUT、クラスごとの種係数の他、タップ係数学習により得られるクラスごとのタップ係数を削減して得られる任意の情報を採用することができる。
ここで、タップ係数は、符号化データのオーバーヘッドとなるため、タップ係数のデータ量が多いと、圧縮効率が低下する。また、1クラスのタップ係数の数(式(1)のN)が大であると、式(1)の予測演算の演算コストが大になる。
タップ係数学習により得られるクラスごとのタップ係数を削減することにより、圧縮効率の低下や、予測演算の演算コストが大になることを抑制することができる。
タップ係数学習により得られるクラスごとのタップ係数の削減は、例えば、クラスの総数を少なくするクラスの縮退や、タップ係数自体の削減によって行うことができる。
例えば、図62に示すように、注目画素を中心とする十字型の9画素で、クラスタップを構成し、1ビット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である場合には、点対称の対称性があるとみなして、点対称の位置関係にある予測タップとしての画素どうしのタップ係数として、同一のタップ係数を採用することができる。
以上のように、タップ係数を削減するタップ係数削減方法としては、様々な方法を採用することができる。
すなわち、例えば、図62で説明したように、クラスタップに対して得られる、最上位ビットが1のADRCコードの各ビットの反転を行うことで、クラス数を1/2に縮退することや、クラスタップにおいて線対称や点対称の位置関係にある画素のADRC結果が同一のクラスどうしを、1つのクラスに統合すること等の、クラスタップに対して得られるクラスコードを操作することにより、クラス(数)を少なくして、タップ係数を削減するクラスコード利用法を、タップ係数削減方法として採用することができる。
また、例えば、図62で説明したように、予測タップを構成する画素に対して、その画素と線対称や点対称等の所定の位置関係にある画素に対するタップ係数(と同一のタップ係数)を採用することにより、各クラスのタップ係数を削減する位置関係利用法を、タップ係数削減方法として採用することができる。
さらに、例えば、図9ないし図26の符号化装置11及び復号装置12の第1の構成例で説明したように、最新のタップ係数学習により求められる最新係数のうちの、メリット判定値が閾値以上のクラスの最新係数だけを、選択係数として選択することにより、タップ係数を削減する係数選択法を、タップ係数削減方法として採用することができる。
また、例えば、図27ないし図42の符号化装置11及び復号装置12の第2の構成例で説明したように、タップ係数評価値(RDコスト等)が改善するように、係数間距離が最も近い組み合わせの2個のクラス等の複数のクラスを統合することにより、タップ係数を削減する係数間距離利用法を、タップ係数削減方法として採用することができる。
さらに、例えば、図43ないし図61の符号化装置11及び復号装置12の第3の構成例で説明したように、複数の値のパラメータzに対するタップ係数にフィットする関係曲線を規定する種係数を求めることにより、タップ係数を削減する種係数利用法を、タップ係数削減方法として採用することができる。
なお、タップ係数削減方法は、以上のクラスコード利用法、位置関係利用法、係数選択法、係数間距離利用法、及び、種係数利用法に限定されるものではなく、タップ係数を少なくする任意の方法を採用することができる。
すなわち、タップ係数削減方法としては、その他、例えば、タップ係数を可逆の圧縮方式で圧縮する方法や、タップ係数の性能をクラスごとに評価するクラス評価値に基づき、クラス性能評価値が閾値以上のクラス以外のクラスを削除することにより、タップ係数を削減するクラス評価値利用法等がある。
ここで、ある注目クラスのタップ係数の性能を評価するクラス評価値としては、例えば、注目クラスのタップ係数を用いて予測演算を行って得られるフィルタ後画像を用いて符号化を行った場合のRDコストや、PSNR(Peak signal-to-noise ratio)、クラス分類適応処理を用いない一般のILFのフィルタ処理を行って得られる画像と元画像との第1のMSE(Mean Squared Error)と、注目クラスのタップ係数を用いて予測演算を行って得られるフィルタ後画像と元画像との第2のMSEとの差分(第1のMSE−第2のMSE)であるΔMSE等を採用することができる。
図63は、クラス評価値利用法によるタップ係数の削減の例を説明する図である。
図63は、タップ係数学習で得られた初期クラスごとのタップ係数のクラス評価値としてのΔMSEの昇順に初期クラスを並べたときの、各初期クラス(のタップ係数)のクラス評価値の例を示している。
図63において、横軸は、クラス評価値の昇順に並べた初期クラスを表し、縦軸は、各初期クラスのクラス評価値を表す。
ここで、ある初期クラスのクラス評価値としてのΔMSEは、その初期クラスのタップ係数を用いた予測演算により得られるフィルタ後画像の画質が、クラス分類適応処理を用いないILFのフィルタ処理を行って得られる画像の画質との比較で、どの程度改善しているかの画質改善効果を表す。
クラス評価値利用法によるタップ係数の削減では、クラス評価値の昇順に並べた初期クラスのうちの1つの初期クラスが、境界クラスに設定される。そして、境界クラスよりも、クラス評価値の順位が下位の順位の初期クラスが、削除の対象のクラスとして削除される。
境界クラスとしては、例えば、クラス評価値が閾値以上の初期クラスの中で、クラス評価値が最小の初期クラス、又は、クラス評価値が閾値以下の初期クラスの中で、クラス評価値が最大の初期クラスや、クラス評価値の順位が、あらかじめ決められた順位の初期クラス等を採用することができる。
<符号化装置11の第4の構成例>
図64は、図1の符号化装置11の第4の構成例を示すブロック図である。
なお、図中、図9の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図64において、符号化装置11は、A/D変換部101ないし演算部110、フレームメモリ112ないしレート制御部117、及び、クラス分類適応フィルタ911を有する。
したがって、図64の符号化装置11は、A/D変換部101ないし演算部110、及び、フレームメモリ112ないしレート制御部117を有する点で、図9の場合と共通する。
但し、図64の符号化装置11は、クラス分類適応フィルタ111に代えて、クラス分類適応フィルタ911を有する点で、図9の場合と相違する。
クラス分類適応フィルタ911は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、クラス分類適応フィルタ111と共通する。
但し、クラス分類適応フィルタ911では、タップ係数学習により求められた複数の初期クラスのタップ係数が削減処理により削減されることで、その複数の初期クラスのタップ係数よりも少ないデータ量に縮退されたタップ係数が、削減フィルタ情報として生成される点で、クラス分類適応フィルタ911は、クラス分類適応フィルタ111と相違する。
また、クラス分類適応フィルタ911では、初期クラスのタップ係数を、少ないデータ量のタップ係数に変換する縮退が、複数の縮退方法の中から選択された縮退方法で行われるが、その縮退方法を表す縮退情報が、削減フィルタ情報として生成される点で、クラス分類適応フィルタ911は、クラス分類適応フィルタ111と相違する。
さらに、クラス分類適応フィルタ911は、削減フィルタ情報としての縮退後のタップ係数、及び、縮退情報を用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ111と相違する。
<クラス分類適応フィルタ911の構成例>
図65は、図64のクラス分類適応フィルタ911の構成例を示すブロック図である。
図65において、クラス分類適応フィルタ911は、学習装置931、削減装置(削減部)932、及び、画像変換装置933を有する。
学習装置931には、並べ替えバッファ102(図64)から元画像が供給されるとともに、演算部110(図64)から復号途中画像が供給される。さらに、学習装置931には、符号化情報が供給される。
学習装置931は、復号途中画像を生徒データとするとともに、元画像を教師データとして、初期クラスごとのタップ係数を求めるタップ係数学習を行う。
さらに、学習装置931は、タップ係数学習により得られる初期クラスごとのタップ係数を、削減装置932に供給する。
なお、学習装置931は、タップ係数学習において、クラス分類を、必要に応じて、符号化情報を用いて行う。
また、学習装置931は、タップ係数学習において、注目画素のクラス分類を、注目画素に関する複数種類の画素関連情報を用いて行う。
画素関連情報は、ADRCコード等の画像特徴量と、量子化パラメータQP等の符号化情報とに大別される。注目画素のクラス分類に用いる複数種類の画素関連情報としては、1種類以上の画像特徴量と1種類以上の符号化情報との組み合わせや、複数種類の画像特徴量と0種類以上の符号化情報との組み合わせ、0種類以上の画像特徴量と複数種類の符号化情報の組み合わせを採用することができる。
削減装置932には、上述のように、学習装置931から、タップ係数学習で得られた初期クラスのタップ係数が供給される。さらに、削減装置932には、学習装置931と同様に、教師データとなる元画像、生徒データとなる復号途中画像、及び、符号化情報が供給される。
削減装置932は、学習装置931からの初期クラスごとのタップ係数を、そのタップ係数よりも少ないデータ量のタップ係数に縮退する削減処理を行う。
なお、タップ係数の縮退には、各クラスのタップ係数自体を少なくする縮退と、クラスを少なくするクラスの縮退とに大別される。削減装置932では、各クラスのタップ係数自体を少なくする縮退と、クラスを少なくするクラスの縮退との一方、又は、両方を行うことができるが、以下では、削減装置932でのタップ係数の縮退としては、少なくとも、クラスの縮退が行われることを前提に説明を行う。
削減装置932は、初期クラスごとのタップ係数の縮退を行い、その縮退により、初期クラスごとのタップ係数を、初期クラスのクラス数よりも少ないクラス数の縮退クラスごとのタップ係数を求める。
削減装置932は、初期クラスごとのタップ係数から縮退クラスごとのタップ係数を得る縮退を、複数の縮退方法の中から選択された縮退方法で行う。
削減装置932では、縮退クラスごとのタップ係数を得るのに用いる縮退方法の選択が、教師データとしての元画像、生徒データとしての復号途中画像、及び、符号化情報を用いて行われる。
削減装置932は、削減処理において、縮退により得られた縮退クラスごとのタップ係数と、その縮退クラスごとのタップ係数を得るのに用いられた縮退方法を表す縮退情報とを、削減フィルタ情報として生成し、画像変換装置933及び可逆符号化部106(図64)に供給する。
画像変換装置933には、演算部110(図64)から復号途中画像が供給されるとともに、削減装置932から削減フィルタ情報が供給される。さらに、画像変換装置933には、符号化情報が供給される。
画像変換装置933は、復号途中画像を第1の画像として、削減装置932からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数及び縮退情報を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、フレームメモリ112(図64)に供給する。
なお、画像変換装置933は、クラス分類適応処理において、クラス分類を、必要に応じて、符号化情報を用いて行う。
<学習装置931の構成例>
図66は、図65の学習装置931の構成例を示すブロック図である。
図66において、学習装置931は、学習部940及び記憶部946を有する。学習部940は、タップ選択部941及び942、クラス分類部943、足し込み部944、並びに、係数算出部945を有する。
学習部940は、タップ係数学習により初期クラスごとのタップ係数を求める点で、図13の学習部33と共通する。
但し、学習部940は、クラス分類が、実質的に、様々なクラス分類方法で行われ、その結果、数千や数万以上の初期クラスごとのタップ係数が求められる点で、そのような膨大な数よりも十分に少ない数のクラスごとのタップ係数が求められる図13の学習部33と相違する。
タップ選択部941は、図13のタップ選択部41と同様に、生徒データとしての復号途中画像を構成する画素を、順次、注目画素として選択し、その注目画素を表す情報を、必要なブロックに供給する。
さらに、タップ選択部941は、注目画素について、生徒データとしての復号途中画像を構成する画素から、予測タップとなる1以上の画素を選択し、その1以上の画素で構成される予測タップを、足し込み部44に供給する。
タップ選択部942は、注目画素について、生徒データとしての復号途中画像を構成する画素から、クラスタップとなる1以上の画素を選択し、その1以上の画素で構成されるクラスタップを、クラス分類部943に供給する。
なお、タップ選択部942は、注目画素について、複数種類の画素関連情報としての画像特徴量を検出するために用いる複数のクラスタップを構成する。
クラス分類部943は、注目画素について、タップ選択部942からの複数のクラスタップから検出される画像特徴量や符号化情報、すなわち、複数種類の画素関連情報を用いて、クラス分類を行い、その結果得られる注目画素のクラスに対応するクラスコードを、足し込み部944に出力する。
以上のように、クラス分類部943では、複数種類の画素関連情報を用いてクラス分類が行われることで、注目画素が、例えば、数千や数万以上のクラスのうちのいずれかのクラスに(クラス)分類される。
クラス分類部943で得られるクラスが初期クラスであり、したがって、初期クラスのクラス数は、クラス分類部943が分類し得るクラスのクラス数に等しい。
足し込み部944は、図13の足し込み部44と同様に、教師データとしての元画像を構成する画素から、注目画素に対応する対応画素(の画素値)を取得し、対応画素と、タップ選択部941から供給される注目画素についての予測タップを構成する生徒データとしての復号途中画像の画素(の画素値)とを対象とした足し込みを、クラス分類部943から供給される初期クラス(のクラスコード)ごとに行う。
そして、足し込み部944は、足し込みを行うことにより、各初期クラスについて、式(8)に示した正規方程式をたて、その正規方程式を、係数算出部945に供給する。
係数算出部945は、図13の係数算出部45と同様に、足し込み部944から供給される各初期クラスについての正規方程式を解くことにより、クラス分類部943で分類し得るクラス数の初期クラスごとのタップ係数(wn)を求め、記憶部946に記憶する。
記憶部946は、係数算出部945からの初期クラスごとのタップ係数を記憶する。
図67は、図66のタップ選択部42とクラス分類部943の構成例を示すブロック図である。
図67において、タップ選択部942は、1以上の選択部9511,9512,・・・,951H−1を有する。また、クラス分類部943は、複数であるH個の情報検出部9521,9522,・・・,952H、複数であるH個のサブクラス分類部9531,9532,・・・,953H、及び、クラス構成部954を有する。
選択部951hには、生徒データとしての復号途中画像が供給される。選択部951は、第hの画像特徴量の検出に用いる第hのクラスタップとなる画素を、復号途中画像から選択して、その画素から第hのクラスタップを構成し、情報検出部952hに供給する。
ここで、ある選択部951hで構成する第hのクラスタップと、他の選択部951h’で構成する第h’のクラスタップとは、同一のタップ構造であっても良いし、異なるタップ構造であっても良い。
情報検出部952hは、選択部951hからの第hのクラスタップを構成する画素から、第hの画像特徴量を検出し、第hの画素関連情報として、サブクラス分類部953hに供給する。
情報検出部952hでは、例えば、第hのクラスタップの1ビットADRC処理により得られるADRCコードや、第hのクラスタップを構成する画素の画素値のDR(Dynamic Range)等の画像特徴量を検出することができる。
なお、情報検出部9521ないし952Hのうちの、情報検出部952Hには、注目画素の符号化情報が供給される。情報検出部952Hは、注目画素の符号化情報から、必要な情報を検出し、さらに、必要に応じて加工して、第Hの画素関連情報として、サブクラス分類部953Hに供給する。
サブクラス分類部953hは、情報検出部952hから供給される第hの画素関連情報を用いて、注目画素を、その注目画素の(最終的な)初期クラスのサブセットとしての第hのサブクラスにサブクラス分類し、その結果得られる注目画素の第hのサブクラスを、クラス構成部954に供給する。
サブクラス分類部953hでのサブクラス分類の方法としては、例えば、第hの画素関連情報を1、又は、複数の閾値と比較する閾値処理を行って、第hの画素関連情報と閾値との比較結果を表す値を、サブクラス(コード)として出力する方法や、第hの画素関連情報が、例えば、ADRCコードのようなビット列である場合には、そのビット列をそのまま、サブクラスとして出力する方法等がある。
なお、画素関連情報の閾値処理を行って、サブクラス分類を行う場合、画素関連情報が、同一種類の画素関連情報であっても、その画素関連情報の閾値処理に用いる閾値が異なるサブクラス分類どうしは、異なる(方法の)サブクラス分類である。
また、第hのクラスタップと第h’のクラスタップとが、異なるタップ構造である場合、情報検出部952hと952h’とで、第hのクラスタップと第h’のクラスタップとから、同一種類の画素関連情報が検出されても、第hのクラスタップから検出された画素関連情報を用いたサブクラス分類と、第h’のクラスタップから検出された画素関連情報を用いたサブクラス分類とは、異なる方法のサブクラス分類である。
クラス構成部954は、サブクラス分類部9531ないし953Hから供給される第1ないし第HのサブクラスであるH個のサブクラスの組み合わせから、注目画素の初期クラスを構成し、足し込み部944(図66)に供給する。
クラス分類部943で行われるクラス分類は、選択部951hで構成されるクラスタップのタップ構造、情報検出部952hで検出される画像関連情報の種類、及び、サブクラス分類部953hで行われるサブクラス分類の方法(サブクラス分類方法)によって、様々な方法のクラス分類になる。
また、クラス分類部943で行われるクラス分類は、様々な方法(クラス分類方法)のクラス分類が含まれている、ということができる。
なお、図67では、説明を簡単にするため、情報検出部952hの数と、サブクラス分類部953hの数とを、一致させているが、情報検出部952hの数と、サブクラス分類部953hの数とは、一致していなくてもよい。
また、ある情報検出部952hで検出された(第hの)画素関連情報は、サブクラス分類部953hに供給するとともに、又は、サブクラス分類部953hに供給するのではなく、他のサブクラス分類部953h’に供給することができる。
さらに、サブクラス分類部953h’は、情報検出部952h’から供給される(第h’の)画素関連情報を用いてサブクラス分類を行う他、情報検出部952hから供給される画素関連情報、又は、情報検出部952h及び952h’それぞれから供給される画素関連情報の両方を用いて、サブクラス分類を行うことができる。
また、クラス分類部943では、クラス構成部954において、サブクラス分類部9531ないし953Hから供給されるH個のサブクラスの組み合わせを用いて初期クラスを構成するクラス分類を行う他、H個のサブクラスのうちの、H個未満のH1,H2,・・・個のサブクラスの組み合わせを用いて初期クラスを構成するクラス分類を行うことができる。
H個以下の1又は複数のサブクラスの組み合わせのうちの、ある組み合わせを用いて初期クラスを構成するクラス分類と、他の組み合わせを用いて初期クラスを構成するクラス分類とは、異なる方法のクラス分類である、ということができる。
クラス分類部943では、1つの方法のクラス分類を行う他、複数の方法(複数種類のクラス分類方法)のクラス分類を行うことができる。
そして、クラス分類部943において、複数種類のクラス分類方法でクラス分類を行う場合には、その複数種類のクラス分類方法の中で、復号画像の画質及び符号化効率が最良になるクラス分類方法、すなわち、例えば、RDコスト等が最良のクラス分類方法を、最適クラス分類方法として選択することができる。さらに、クラス分類部943では、最適クラス分類方法で行ったクラス分類により得られる初期クラスを、注目画素のクラスとして出力することができる。また、符号化装置11では、復号装置12に対して、最適クラス分類方法を表す情報を、削減フィルタ情報に含めて伝送し、復号装置12では、最適クラス分類方法でクラス分類を行うことができる。
<画素関連情報となる画像特徴量の例>
図68は、画素関連情報となる画像特徴量の例を示す図である。
画素関連情報となる画像特徴量としては、例えば、ADRCコードや、DR、DiffMax、定常性、アクティビティ、二次微分和、最大方向差分、フィルタバンク出力等を採用することができる。
ADRCコードは、図2等で説明したようにして求めることができる。すなわち、例えば、1ビットADRCコードは、クラスタップを構成する画素の輝度等の画素値を、閾値によって2値に分割し、その2値の画素値を並べることにより求めることができる。
ADRCコードを用いた(サブ)クラス分類によれば、クラスタップ(を構成する画素群)の波形パターン(エッジやテクスチャ(方向を含む)等)を網羅的に分類し.クラス分類適応処理において、クラスタップの波形パターンごとに、画像の最適な復元効果を得ることができる。
DRは、クラスタップを構成する画素の輝度等の画素値の最大値と最小値との差分である。DRを用いたクラス分類は、クラス分類適応処理において、DRが小である場合には、平坦部のノイズ等の低減に寄与し、DRが大である場合には、エッジの復元に寄与する。
DiffMaxは、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値である。DiffMaxを用いたクラス分類は、クラス分類適応処理において、DiffMaxが小である場合には、グラデーションの偽輪郭の低減に寄与し、DiffMaxが大である場合には、急峻なエッジ(段差)の復元に寄与する。
なお、DR及びDiffMaxの組み合わせ、すなわち、例えば、DiffMax/DRや、DiffMaxとDRとの二軸表現(DiffMax, DR)は、DRだけ又はDiffMaxだけとは異なる画像特徴量として、クラスタップにおいて、DRの振幅を何画素かけて登り切るかの指標にすることができる。
定常性は、例えば、クラスタップにおいて、方向ごとの隣接する画素の画素値の差分絶対値和の最大となる方向と最小となる方向との差分絶対値和の差分を表す値によって表すことができる。定常性を用いたクラス分類は、クラス分類適応処理において、定常性が小である場合には、テクスチャ(やノイズのような細かい模様)の復元に寄与し、定常性が大である場合には、エッジ(構造線)の復元に寄与する。
アクティビティは、例えば、クラスタップにおいて、水平と垂直方向に隣接する画素の画素値の差分絶対値和で表すことができる。アクティビティを用いたクラス分類は、クラス分類適応処理において、アクティビティが小である場合には、ステップエッジ(単純なパターン)の復元に寄与し、アクティビティが大である場合には、テクスチャ(複雑なパターン)の復元に寄与する。
二次微分和は、例えば、クラスタップにおいて、水平と垂直方向に隣接する画素の画素値の二次微分の絶対値和である。二次微分和を用いたクラス分類は、二次微分和が小である場合には、ステップエッジの復元に寄与し、二次微分和が大である場合には、テクスチャの復元に寄与する。
最大方向差分は、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値和が最大となる方向を表す値である。最大方向差分を用いたクラス分類は、注目画素の周辺の振幅や、勾配、構造等の方向を分類し、これにより、クラス分類適応処理において、注目画素の周辺の振幅や、勾配、構造等の方向ごとに、画像の最適な復元効果を得ることができる。
フィルタバンク出力は、方向性を持つ複数のバンドパスフィルタに対して、クラスタップを構成する画素の画素値を入力して得られる値である。フィルタバンク出力を用いたクラス分類は、計算コストが大きいが、最大方向差分を用いたクラス分類に比較して、分類精度が高い。
情報検出部952hで検出する画像特徴量としては、以上のような、ADRCコードや、DR、DiffMax、定常性、アクティビティ、二次微分和、最大方向差分、フィルタバンク出力の他、任意の画像特徴量を採用することができる。
<クラスの構成の例>
図69は、図67のクラス構成部954が、サブクラス分類部9531ないし953Hから供給される第1ないし第Hのサブクラスから初期クラスを構成する方法の例を示す図である。
図69のAは、第1ないし第Hのサブクラスから初期クラスを構成する第1の方法を説明する図である。
クラス構成部954では、第1ないし第Hのサブクラスの積を求め、その積を、初期クラスとすることができる。すなわち、クラス構成部954では、第1ないし第Hのサブクラスを表すH個のビット列を並べた新たなビット列を構成し、その新たなビット列を、初期クラスを表すビット列として出力することができる。
図69のBは、第1ないし第Hのサブクラスから初期クラスを構成する第2の方法を説明する図である。
クラス構成部954では、第1ないし第Hのサブクラス(画素関連情報)を軸とするサブクラス空間(画素関連情報空間)に、例えば、学習装置931でのタップ係数学習に用いる教師データとしての元画像、及び、生徒データとしての復号途中画像とのセット(以下、学習サンプルともいう)のうちの生徒データとしての復号途中画像の各画素に対して得られる第1ないし第Hのサブクラス(画素関連情報)に対応する点をプロットする。
さらに、クラス構成部954は、サブクラス空間にプロットされた、学習サンプルに対して得られた第1ないし第Hのサブクラスに対応する点に対して、k-means法等を適用することによって、サブクラス空間を、複数のクラスタにクラスタリングする。
そして、クラス構成部954は、注目画素の第1ないし第Hのサブクラスに対応する点がクラスタリングされるクラスタに対応する値を、注目画素の初期クラスとして出力する。
<クラス分類に用いる複数種類の画素関連情報の組み合わせの例>
図70は、注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせの第1の例を示す図である。
注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせとしては、例えば、ADRCコードとDRとの組み合わせを用いることができる。
ADRCコードを用いたサブクラス分類によれば、注目画素が、その注目画素の周辺の波形パターンによって分類される波形パターン分類が行われる。また、DRを用いたサブクラス分類によれば、注目画素が、その注目画素の周辺の振幅によって分類される振幅分類が行われる。
その結果、ADRCコードとDRとの組み合わせを用いたクラス分類、すなわち、例えば、ADRCコードを用いたサブクラス分類の結果と、DRを用いたサブクラス分類の結果とを用いたクラス分類によれば、注目画素は、その注目画素の周辺のエッジとテクスチャによって分類される。
図71は、注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせの第2の例を示す図である。
注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせとしては、例えば、ADRCコード、DR、及び、DiffMax/DRの組み合わせを用いることができる。
DiffMax/DRを用いたサブクラス分類によれば、注目画素が、その注目画素の周辺の勾配によって分類される勾配分類が行われる。
ADRCコード、DR、及び、DiffMax/DRの組み合わせは、図70のADRCコードとDRとの組み合わせに、DiffMax/DRが加わった組み合わせである。したがって、ADRCコード、DR、及び、DiffMax/DRの組み合わせを用いたクラス分類によれば、注目画素は、その注目画素の周辺のエッジ、グラデーション、及び、テクスチャによって分類される。
ここで、ADRCコードは、クラスタップを構成する各画素の輝度等の画素値と閾値との比較結果であり、注目画素の周辺の画素値の変化の方向の情報を含み、かかるADRCコードを用いた(サブ)クラス分類によれば、注目画素の周辺の波形パターンを網羅的に分類することができる。
但し、ADRCコードは、注目画素の周辺の波形パターンの振幅や勾配の情報を含まないため,ADRCコードを用いたクラス分類では、平坦部のノイズや,グラデーション部分の偽輪郭のような破綻を精度良く分類して低減することや、大きいエッジと小さいエッジとを区別してエッジの強度に合わせた復元を行うことが困難な場合がある。
そこで、ADRCコードに、DR、及び、DiffMax/DRを組み合わせ、そのADRCコード、DR、及び、DiffMax/DRの組み合わせを用いて、クラス分類を行うことで、注目画素の周辺の局所領域の画像に適した復元を行うことが可能になる。
すなわち、ADRCコードに、DR、及び、DiffMax/DRの組み合わせを用いたクラス分類によれば、ADRCコードによって、注目画素の周辺の波形パターンを網羅的に分類することができる。さらに、DR及びDiffMax/DRによって、平坦部のノイズや,グラデーション部分の偽輪郭のような破綻を精度良く分類して低減することや、大きいエッジと小さいエッジとを区別してエッジの強度に合わせた復元を行うことができる。
例えば、DR及びDiffMax/DRがいずれも小である場合には、平坦部やグラデーション部分での偽輪郭等を分類して低減することができる。また、例えば、DRが小で、DiffMax/DRが大である場合には、平坦部のブロックノイズ等のノイズを分類して低減することができる。さらに、例えば、DRが大で、DiffMax/DRが小である場合には、緩やかな勾配のエッジを分類して、そのようなエッジを強調しすぎないようにすることができる。また、例えば、DR及びDiffMax/DRがいずれも大である場合には、急峻なエッジを分類して、そのようなエッジを適切に強調して復元することができる。
図72は、注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせの第3の例を示す図である。
注目画素のクラス分類に用いる複数種類の画素関連情報の組み合わせとしては、例えば、二次微分和とDRとのセット(組み合わせ)、DiffMaxとDRとのセット、及び、最大方向差分の組み合わせを用いることができる。
なお、二次微分和とDRとのセットについては、二次微分和に代えて、定常性又はアクティビティを用いることができる。また、最大方向差分については、最大方向差分に代えて、フィルタバンク出力を用いることができる。
二次微分和とDRとのセット、DiffMaxとDRとのセット、及び、最大方向差分の組み合わせを用いるクラス分類によれば、例えば、二次微分和とDRとのセットにより、エッジとテクスチャを分類することができる。また、例えば、DiffMaxとDRとのセット(例えば、DiffMax/DR)により、エッジ等の勾配を分類し、最大方向差分により、エッジの方向を分類することができる。
その結果、二次微分和とDRとのセット、DiffMaxとDRとのセット、及び、最大方向差分の組み合わせを用いるクラス分類によれば、エッジ、テクスチャ、及び、グラデーション(グラデーションの方向を含む)を分類することができる。
<削除装置932の構成例>
図73は、図65の削除装置932の構成例を示すブロック図である。
図73において、削除装置932は、縮退候補クラス選択部971、縮退対象クラス選択部972、クラス縮退部973、評価値算出部974、及び、縮退方法選択部975を有する。
縮退候補クラス選択部971には、学習装置931(図65)から、初期クラスごとのタップ係数が供給される。また、縮退候補クラス選択部971には、例えば、学習装置931に供給されるのと同様の学習サンプルとしての生徒データ(復号途中画像)、及び、教師データ(元画像)が供給される。
縮退候補クラス選択部971は、学習装置931からの初期クラスごとのタップ係数を用い、生徒データ(復号途中画像)を第1の画像として、その第1の画像を、教師データ(元画像)に相当する相当画像に変換する。さらに、縮退候補クラス選択部971は、相当画像と教師データとを用いて、各初期クラスのタップ係数の性能を表すクラス評価値を、初期クラスごとに求め、そのクラス評価値に応じて、初期クラスの中から、縮退の対象の候補となる縮退候補クラスを選択し、その縮退候補クラス(を表す情報)を、縮退対象クラス選択部972に供給する。
縮退候補クラス選択部971は、画像変換部981及び選択部982を有する。
画像変換部981は、初期クラスごとに、その初期クラスのタップ係数と生徒データとしての復号途中画像とを用いた予測演算を行うことで、生徒データとしての復号途中画像を、教師データとしての元画像に相当する相当画像に変換する画像変換を行う。そして、画像変換部981は、初期クラスごとに得られる相当画像を、選択部982に供給する。
選択部982は、画像変換部981からの初期クラスごとの相当画像と、教師データとしての元画像とを用いて、各初期クラスのクラス評価値を求める。クラス評価値としては、例えば、RDコストやS/N等を採用することができる。
選択部982は、各初期クラスのクラス評価値を用いて、例えば、図63で説明したように、境界クラスを決定し、境界クラスよりも、クラス評価値の順位が下位の順位の初期クラスを、縮退候補クラスに選択して、縮退対象クラス選択部972に供給する。
縮退対象クラス選択部972は、縮退候補クラス選択部971からの縮退候補クラスの中から、まだ、縮退対象クラスに選択していない1つのクラス、又は、すべてのクラスを、縮退の対象となる縮退対象クラスに選択し、その縮退対象クラス(を表す情報)を、クラス縮退部973に供給する。
ここでは、説明を簡単にするため、縮退対象クラス選択部972は、縮退候補クラス選択部971からの縮退候補クラスのすべてを、縮退対象クラスに選択することとする。
クラス縮退部973には、縮退対象クラス選択部972から縮退対象クラスが供給される他、学習装置931(図65)から、初期クラスごとのタップ係数が供給される。また、クラス縮退部973には、例えば、学習装置931に供給されるのと同様の学習サンプルとしての生徒データ(復号途中画像)、及び、教師データ(元画像)、並びに、符号化情報が供給される。
クラス縮退部973は、初期クラスから、縮退対象クラスをなくすように、クラスの縮退を行う。すなわち、例えば、縮退対象クラスが、縮退対象クラスでない他のクラスに統合される。この場合、縮退対象クラスにクラス分類される画素は、統合後の他のクラスを、縮退後のクラスとして、その縮退後のクラスにクラス分類される。クラス縮退部973において、クラスの縮退は、複数種類の縮退方法のそれぞれによって行われる。
さらに、クラス縮退部973は、学習サンプルとしての生徒データ、及び、教師データ、並びに、符号化情報を用い、複数種類の縮退方法それぞれについて、初期クラスを縮退した縮退クラスごとのタップ係数を求める(求め直す)。
そして、クラス縮退部973は、複数種類の縮退方法それぞれについての縮退クラスごとのタップ係数と、縮退方法を表す縮退情報とを、評価値算出部974、及び、縮退方法選択部975に供給する。
ここで、クラス縮退部973での縮退の方法としては、図62及び図63等で説明した、例えば、クラスコード利用法や、位置関係利用法、係数選択法、係数間距離利用法、種係数利用法、クラス評価値利用法等のタップ係数削減方法、その他の任意の方法を採用することができる。
評価値算出部974には、クラス縮退部973から、(複数種類の縮退方法それぞれについての)複数種類の縮退クラスごとのタップ係数が供給される他、例えば、学習装置931に供給されるのと同様の学習サンプルとしての生徒データ(復号途中画像)、及び、教師データ(元画像)、並びに、符号化情報が供給される。
評価値算出部974は、クラス縮退部973からの複数種類の縮退クラスごとのタップ係数それぞれについて、その縮退クラスごとのタップ係数を予測演算に用いる適切さを表す縮退評価値を求める。
縮退クラスごとのタップ係数(を得るのに用いられた縮退方法)の縮退評価値は、例えば、学習サンプルとしての生徒データ、及び、教師データ、並びに、符号化情報を用いて求められる。
すなわち、評価値算出部974は、画像変換部991及び縮退評価値算出部992を有する。
画像変換部991は、クラス縮退部973からの複数種類の縮退クラスごとのタップ係数それぞれについて、その縮退クラスごとのタップ係数を用いたクラス分類適応処理により、生徒データとしての復号途中画像を、教師データとしての元画像に相当する相当画像に変換する画像変換を行い、その画像変換によって得られる相当画像を、縮退評価値算出部992に供給する。
縮退評価値算出部992は、画像変換部991から供給される、複数種類の縮退クラスごとのタップ係数それぞれについて得られる相当画像と、教師データとしての元画像とを用いて、複数種類の縮退クラスごとのタップ係数それぞれについて、例えば、RDコストやS/N等を、縮退評価値として求める。
そして、縮退評価値算出部992は、複数種類の縮退クラスごとのタップ係数それぞれについての縮退評価値を、縮退方法選択部975に供給する。
縮退方法選択部975は、クラス縮退部973からの複数種類の縮退方法それぞれについての縮退クラスごとのタップ係数及び縮退情報の中から、評価値算出部774からの縮退評価値が最良の縮退方法についての縮退クラスごとのタップ係数、及び、縮退情報を、高性能な縮退方法(高性能縮退方法)で縮退された縮退クラスごとのタップ係数、及び、その高性能縮退方法を表す縮退情報として選択し、削減フィルタ情報として、画像変換装置933(図65)、及び、可逆符号化部106(図64)に供給する。
なお、ここでは、縮退対象クラス選択部972において、縮退候補クラスのすべてを、縮退対象クラスに選択し、クラス縮退部973において、縮退対象クラスとしての縮退候補クラスのすべてをなくす縮退を行うこととしたが、縮退対象クラス選択部972では、縮退候補クラスの中から、縮退対象クラスとするクラスを1つずつ選択することができる。
この場合、クラス縮退部973では、縮退対象クラス選択部972で選択された1つの縮退対象クラスをなくす縮退が行われ、その縮退後のクラスごとのタップ係数についての縮退評価値が、評価値算出部974で求められる。
縮退方法選択部975は、縮退後のクラスごとのタップ係数についての縮退評価値が、前回よりも改善した場合には、図73において、点線の矢印で示すように、縮退対象クラス選択部972に、縮退候補クラスの中から、縮退対象クラスとする1つのクラスを新たに選択させて、以下、同様の処理を繰り返すことができる。
一方、縮退後のクラスごとのタップ係数についての縮退評価値が、前回よりも改善しなかった場合には、縮退方法選択部975は、前回の時点で得られた縮退後のクラスごとのタップ係数を、その縮退方法での最終的な縮退結果とすることができる。
この場合、縮退後のクラスのクラス数の最適化を図ることができる。
また、図73では、削減フィルタ情報に、縮退情報を含めることとしたが、削減フィルタ情報には、縮退情報に代えて、初期クラスと縮退クラスとの対応関係を表すテーブルである対応関係LUTを含めることができる。
縮退情報によれば、その縮退情報が表す縮退方法によって、初期クラスを縮退することで、縮退クラスを求めることができる。したがって、対応関係LUTは、初期クラスと縮退クラスとの対応関係を、直接的に表す情報であるということができるのに対して、縮退方法は、初期クラスと縮退クラスとの対応関係を、間接的に表す情報であるということができる。
なお、削減装置932において、縮退評価値が最良の縮退方法と、その縮退方法によって縮退された縮退クラスごとのタップ係数を選択する処理は、1つのクラス分類方法でクラス分類が行われた初期クラスごとのタップ係数を対象に行う他、複数種類のクラス分類方法それぞれでクラス分類が行われた複数種類の初期クラスごとのタップ係数を対象に行うことができる。
縮退評価値が最良の縮退方法と、その縮退方法によって縮退された縮退クラスごとのタップ係数を選択する処理を、複数種類のクラス分類方法それぞれでクラス分類が行われた複数種類の初期クラスごとのタップ係数を対象に行う場合には、複数種類のクラス分類方法それぞれと複数種類の縮退方法それぞれとの組み合わせの中から、RDコスト等の縮退評価値が最良のクラス分類方法と縮退方法との組み合わせを選択することができる。
<画像変換部981の構成例>
図74は、図73の画像変換部981の構成例を示すブロック図である。
図74において、画像変換部981は、タップ選択部711、係数取得部714、及び、予測演算部715を有する。
タップ選択部711には、生徒データとしての復号途中画像が供給される。
タップ選択部711は、生徒データとしての復号途中画像の画素を、順次、注目画素として、その注目画素について、例えば、図66のタップ選択部941と同様の予測タップを構成し、予測演算部715に供給する。
係数取得部714には、学習装置931(図65)からの初期クラスごとのタップ係数が供給される。
係数取得部714は、初期クラスとしての各クラスを、順次、注目クラスに選択し、学習装置931(図65)からの初期クラスごとのタップ係数から、注目クラスのタップ係数を取得して、予測演算部715に供給する。
予測演算部715は、タップ選択部711からの予測タップと、係数取得部714からの注目クラスのタップ係数とを用いた予測演算を、例えば、図31の予測演算部25と同様に行い、各初期クラスについて、教師データとしての元画像に相当する相当画像を生成し、選択部982(図73)に供給する。
<画像変換部991の構成例>
図75は、図73の画像変換部991の構成例を示すブロック図である。
図75において、画像変換部991は、タップ選択部721及び722、クラス分類部723、係数取得部724、並びに、予測演算部725を有する。
タップ選択部721及び722には、生徒データとしての復号途中画像が供給される。
タップ選択部721は、生徒データとしての復号途中画像の画素を、順次、注目画素として、その注目画素について、例えば、図66のタップ選択部941と同様の予測タップを構成し、予測演算部725に供給する。
タップ選択部722は、注目画素について、図66のタップ選択部942と同様のクラスタップを構成し、クラス分類部723に供給する。
クラス分類部723は、図66のクラス分類部943と同様に、注目画素について、複数種類の画素関連情報、すなわち、タップ選択部722からのクラスタップから検出される画像特徴量や符号化情報を用いて、クラス分類を行い、その結果得られる注目画素の初期クラスを、係数取得部724に供給する。
係数取得部724には、クラス分類部723から注目画素の初期クラスが供給される他、クラス縮退部973(図73)から縮退情報と、その縮退情報が表す縮退方法で縮退された縮退クラスごとのタップ係数が供給される。
係数取得部724は、クラス縮退部973からの縮退情報に基づいて、クラス分類部723から注目画素の初期クラスを、縮退クラスに変換する。さらに、係数取得部724は、クラス縮退部973からの縮退クラスごとのタップ係数から、注目画素の縮退クラスのタップ係数を取得し、予測演算部725に供給する。
予測演算部725は、タップ選択部721からの予測タップと、係数取得部724からの注目画素の縮退クラスのタップ係数とを用いた予測演算を、例えば、図31の予測演算部25と同様に行い、最終的には、教師データとしての元画像に相当する相当画像を生成し、縮退評価値算出部992(図73)に供給する。
<係数取得部724の構成例>
図76は、図75の係数取得部724の構成例を示すブロック図である。
図76において、係数取得部724は、記憶部731、縮退クラス変換部732、及び、取得部733を有する。
記憶部731には、クラス縮退部973(図73)から、縮退クラスごとのタップ係数が供給される。
記憶部731は、クラス縮退部973からの縮退クラスごとのタップ係数を記憶する。
縮退クラス変換部732には、クラス分類部723(図75)から、注目画素のクラス分類結果としての初期クラスが供給される。さらに、縮退クラス変換部732には、クラス縮退部973(図73)から、縮退情報が供給される。
縮退クラス変換部732は、縮退情報に従い、注目画素の初期クラスを、注目画素の縮退クラスに変換し、取得部733に供給する。
取得部733は、記憶部731に記憶された縮退クラスごとのタップ係数から、縮退クラス変換部732からの注目画素の縮退クラスのタップ係数を取得し、予測演算部725(図75)に供給する。
<クラス縮退部973の構成例>
図77は、図73のクラス縮退部973の構成例を示すブロック図である。
図77において、クラス縮退部973は、複数であるV個の縮退部7411,7412,...,741V、及び、V個の学習部7421,7422,...,742Vを有し、V種類の縮退方法で、学習装置931の初期クラスごとのタップ係数の縮退を行う。さらに、クラス縮退部973は、V種類の縮退方法それぞれについて、その縮退方法で縮退された縮退クラスごとのタップ係数学習を行うことで、複数種類の縮退方法それぞれについて、初期クラスを縮退した縮退クラスごとのタップ係数を求め直す。
縮退部741vには、学習装置931(図65)から初期クラスごとのタップ係数が供給されるとともに、縮退対象クラス選択部972(図73)から、縮退対象クラスが供給される。
縮退部741vは、学習装置931からタップ係数が供給される初期クラスから、縮退対象クラス選択部972からの縮退対象クラスをなくすように、第vの縮退方法によって、クラスの縮退を行う。そして、縮退部741vは、第vの縮退方法を表す縮退情報を、学習部742vに供給する。
学習部742vには、縮退部741vから縮退情報が供給される他、例えば、学習装置931に供給されるのと同様の学習サンプルとしての生徒データ(復号途中画像)、及び、教師データ(元画像)、並びに、符号化情報が供給される。
学習部742vは、学習サンプルとしての生徒データ、及び、教師データ、並びに、符号化情報を用い、タップ係数学習を行って、初期クラスを縮退した縮退クラスごとのタップ係数を求める(求め直す)。
すなわち、学習部742vは、タップ係数学習において、注目画素のクラス分類の結果である初期クラスを、縮退部741vからの縮退情報が表す第vの縮退方法に応じて、縮退クラスに変換し、その縮退クラスごとのタップ係数(以下、第vの縮退方法で縮退された縮退クラスごとのタップ係数ともいう)を求める。
そして、学習部742vは、第vの縮退方法で縮退された縮退クラスごとのタップ係数と、第vの縮退方法を表す縮退情報とを、評価値算出部974及び縮退方法選択部975(図73)に供給する。
第vの縮退方法としては、例えば、図62及び図63等で説明した、例えば、クラスコード利用法や、位置関係利用法、係数選択法、係数間距離利用法、種係数利用法、クラス評価値利用法等のタップ係数削減方法、その他の任意の方法の1つを単独で採用することができる。
また、第vの縮退方法としては、例えば、係数間距離利用法と種係数利用法との組み合わせや、クラスコード利用法と係数間距離利用法との組み合わせ等の、複数の方法の組み合わせを採用することができる。
例えば、初期クラスへのクラス分類に、ADRCコードを用いている場合には、係数間距離利用法とクラスコード利用法との組み合わせた縮退方法を採用することができる。この場合、係数間距離利用法だけや、クラスコード利用法だけの場合よりも、縮退評価値が良くなり、かつ、データ量が少なくなるように、初期クラスごとのタップ係数の縮退を行うことが可能となる。
また、例えば、初期クラスへのクラス分類に、DRやDiffMax等の連続して変化する(意味のある)物理量を画像特徴量として用いている場合には、初期クラスごとのタップ係数の縮退方法として、DR及びDiffMaxの一方又は両方をパラメータとする種係数利用法を、少なくとも採用することができる。種係数利用法による縮退によれば、圧縮効率とトレードオフの関係にあるPSNRを改善することができる。
さらに、初期クラスごとのタップ係数の縮退には、例えば、係数間距離利用法と種係数利用法との組み合わせた縮退方法を採用することができる。係数間距離が近いある初期クラスcと他の初期クラスc'とであっても、初期クラスcに分類される画像特徴量と、初期クラスc'に分類される画像特徴量とが大きく異なることがある。この場合、初期クラスc及びc'を、係数間距離利用法で、1つのクラス(縮退クラス)に縮退するよりも、初期クラスcのタップ係数、及び、初期クラスc'のタップ係数を、画像特徴量をパラメータとする種係数利用法により縮退することで、画質改善効果を大にすることや、圧縮効率(符号化効率)を向上させることができることがある。
なお、クラス分類に、少なくともADRCコードを用いている場合には、初期クラスごとのタップ係数の縮退には、クラスコード利用法が、特に有用であることがある。
また、クラス分類に、少なくとも、ADRC,DR、又は、DiffMaxを用いている場合には、初期クラスごとのタップ係数の縮退には、クラス評価値利用法が、特に有用であることがある。
さらに、クラス分類に、DR又はDiffMaxを用いている場合には、初期クラスごとのタップ係数の縮退には、種係数利用法が、特に有用であることがある。
図78は、種係数利用法による初期クラスごとのタップ係数の縮退の例を説明する図である。
図78では、ADRCコードを用いたサブクラス分類により得られるADRCサブクラスと、DRを用いたサブクラス分類により得られるDRサブクラスとから、初期クラスが構成されている。
また、図78では、ADRCサブクラス及びDRサブクラスは、いずれも、2ビットで表され、初期クラスは、2ビットのADRCサブクラスと、2ビットのDRサブクラスとを並べた4ビットで表される。
したがって、初期クラスのクラス数は、16(=24)クラスである。
以上のような16クラスの初期クラスごとのタップ係数tc#iを、DRをパラメータとする種係数利用法により縮退することにより、2ビットのADRCサブクラスを縮退クラスとする縮退クラスごとの種係数sc#jが得られる。
図78では、例えば、ADRCサブクラスが00で、DRサブクラスが00, 01, 10, 11の4クラスの初期クラスのタップ係数tc#0, tc#1, tc#2, tc#3,が、ADRCサブクラスが00の縮退クラスの種係数sc#0に縮退されている。他の初期クラスのタップ係数についても、同様である。
縮退クラスごとの種係数sc#jからは、式(9)に従い、DRをパラメータzとして、様々な値のDRに対する、縮退クラスごとのタップ係数を生成することができる。
なお、初期クラスごとのタップ係数の縮退が、種係数利用法で行われる場合、縮退方法としての種係数利用法を表す縮退情報には、パラメータとして用いられた画像特徴量(の種類)を表す情報を含ませることができる。この場合、復号装置12では、縮退情報に含まれる情報から、パラメータを認識し、そのパラメータを用いて、種係数からタップ係数を求めることができる。
図79は、図77の学習部742vの構成例を示すブロック図である。
図79において、学習部742vは、タップ選択部751及び752、クラス分類部753、足し込み部754、係数算出部755、及び、縮退クラス変換部756を有する。
タップ選択部751及び752、並びに、クラス分類部753は、図66の学習装置931のタップ選択部941及び942、並びに、クラス分類部752と同様の処理を行う。
これにより、足し込み部754には、タップ選択部751から、生徒データとしての復号途中結果画像から選択された注目画素の予測タップが供給され、縮退クラス変換部756には、クラス分類部753から、初期クラスが供給される。
縮退クラス変換部756には、クラス分類部753から初期クラスが供給される他、縮退部741v(図77)から第vの縮退方法を表す縮退情報が供給される。
縮退クラス変換部756は、縮退部741vからの縮退情報に従い、注目画素の初期クラスを、縮退情報が表す第vの縮退方法で縮退した縮退クラスに変換し、足し込み部754に供給する。
足し込み部754は、図66の足し込み部944と同様に、教師データとしての元画像を構成する画素から、注目画素に対応する対応画素(の画素値)を取得し、対応画素と、タップ選択部941から供給される注目画素についての予測タップを構成する生徒データとしての復号途中画像の画素(の画素値)とを対象とした足し込みを行う。
但し、足し込み部754は、足し込みを、初期クラスごとではなく、縮退クラス変換部756から供給される縮退クラス(のクラスコード)ごとに行う。
そして、足し込み部754は、足し込みを行うことにより、各縮退クラスについて、式(8)に示した正規方程式をたて、その正規方程式を、係数算出部755に供給する。
係数算出部755は、図13の係数算出部45と同様に、足し込み部754から供給される各縮退クラスについての正規方程式を解くことにより、クラス分類部953で分類し得る数の初期クラスを第vの縮退方法で縮退した縮退クラスごとのタップ係数(wn)を求め(直し)、縮退部741v(図77)からの第vの縮退方法を表す縮退情報とともに、評価値算出部974及び縮退方法選択部975(図73)に供給する。
<画像変換装置933の構成例>
図80は、図65の画像変換装置933の構成例を示すブロック図である。
図80において、画像変換装置933は、タップ選択部771及び772、クラス分類部773、係数取得部774、及び、予測演算部775を有する。
タップ選択部771ないし予測演算部775は、図75のタップ選択部721ないし予測演算部725とそれぞれ同様に構成される。
タップ選択部771及び772には、第1の画像としての復号途中画像が供給される。
タップ選択部771は、第1の画像としての復号途中画像の画素を、順次、注目画素として、その注目画素について、例えば、図66のタップ選択部941と同様の予測タップを構成し、予測演算部775に供給する。
タップ選択部772は、注目画素について、図66のタップ選択部942と同様のクラスタップを構成し、クラス分類部773に供給する。
クラス分類部773は、図66のクラス分類部943と同様に、注目画素について、複数種類の画素関連情報、すなわち、タップ選択部772からのクラスタップから検出される画像特徴量や符号化情報を用いて、クラス分類を行い、その結果得られる注目画素の初期クラスを、係数取得部774に供給する。
係数取得部774には、クラス分類部773から注目画素の初期クラスが供給される他、削減装置932(図65)(図73)から、削減フィルタ情報が供給される。
ここで、削減装置932から係数取得部774に供給される削減フィルタ情報は、削減装置943の縮退方法選択部975(図73)が出力する削減フィルタ情報であり、第1ないし第vの縮退方法の中で、縮退評価値が最良の高性能縮退方法を表す縮退情報と、その高性能縮退方法で初期クラスごとのタップ係数を縮退した縮退クラスごとのタップ係数を含む。
係数取得部774は、削減装置932からの削減フィルタ情報に含まれる縮退情報に基づき、その縮退情報が表す縮退方法で、クラス分類部773から注目画素の初期クラスを、縮退クラスに変換する。さらに、係数取得部774は、削減装置932からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数から、注目画素の縮退クラスのタップ係数を取得し、予測演算部775に供給する。
予測演算部775は、タップ選択部771からの予測タップと、係数取得部774からの注目画素の縮退クラスのタップ係数とを用いた予測演算を、例えば、図31の予測演算部25と同様に行い、最終的には、元画像に相当する第2の画像としてのフィルタ後画像を生成し、フレームメモリ112(図64)に供給する。
<係数取得部774の構成例>
図81は、図80の係数取得部774の構成例を示すブロック図である。
図81において、係数取得部774は、記憶部781、縮退クラス変換部782、及び、取得部783を有する。
記憶部781ないし取得部783は、図76の記憶部731ないし取得部733と同様に構成される。
記憶部781には、削減装置932(図65)(図73)から、削減フィルタ情報が供給される。
記憶部781は、削減装置932からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数を記憶する。
縮退クラス変換部782には、クラス分類部773(図80)から、注目画素のクラス分類結果としての初期クラスが供給される。さらに、縮退クラス変換部782には、削減装置932から削減フィルタ情報が供給される。
縮退クラス変換部782は、削減フィルタ情報に含まれる縮退情報に従い、注目画素の初期クラスを、注目画素の縮退クラスに変換し、取得部783に供給する。
取得部783は、記憶部781に記憶された縮退クラスごとのタップ係数から、縮退クラス変換部782からの注目画素の縮退クラスのタップ係数を取得し、予測演算部775(図80)に供給する。
<符号化処理>
図82は、図64の符号化装置11の符号化処理の例を説明するフローチャートである。
ステップS311において、クラス分類適応フィルタ911の学習装置931(図65)は、図17のステップS11と同様に、現在のタイミングが、タップ係数の更新タイミングであるかどうかを判定する。
ステップS311において、現在のタイミングが、タップ係数の更新タイミングでないと判定された場合、処理は、ステップS312ないしS319をスキップして、ステップS320に進む。
また、ステップS311において、現在のタイミングが、タップ係数の更新タイミングであると判定された場合、処理は、ステップS312に進み、学習装置931は、複数の画素関連情報を用いたクラス分類を行い、初期クラスごとのタップ係数を求めるタップ係数学習を行う。
そして、学習装置931は、タップ係数学習により得られた初期クラスごとのタップ係数を、削減装置932に供給し、処理は、ステップS312からステップS313に進む。
ステップS313では、削減装置932の縮退候補クラス選択部971(図73)が、学習装置931からタップ係数が供給された初期クラスの中から、縮退候補クラスを選択し、縮退対象クラス選択部972(図73)に供給する。
縮退対象クラス選択部972は、縮退候補クラス選択部971からの縮退候補クラスの中から、縮退対象クラスを選択し、クラス縮退部973(図73)に供給して、処理は、ステップS313からステップS314に進む。
ステップS314では、クラス縮退部973は、学習装置931からの初期クラスごとのタップ係数を、初期クラスから(縮退対象クラス選択部972からの)縮退対象クラスをなくした縮退クラスごとのタップ係数に縮退する。
クラス縮退部973は、初期クラスごとのタップ係数を対象とした縮退を、複数種類の縮退方法によって行い、これにより、複数種類の縮退クラスごとのタップ係数を求める。
そして、クラス縮退部973は、複数種類の縮退方法それぞれについて、縮退方法を表す縮退情報と、その縮退方法で縮退された縮退クラスごとのタップ係数とを、評価値算出部974、及び、縮退方法選択部975(図73)に供給して、処理は、ステップS314からステップS315に進む。
ステップS315では、評価値算出部974は、クラス縮退部973からの複数種類の縮退クラスごとのタップ係数それぞれについて、縮退クラスごとのタップ係数を予測演算に用いる適切さを表す縮退評価値を求める。評価値算出部974は、複数種類の縮退クラスごとのタップ係数それぞれについての縮退評価値を、縮退方法選択部975(図73)に供給し、処理は、ステップS315からステップS316に進む。
ステップS316では、縮退方法選択部975は、クラス縮退部973からの複数種類の縮退方法それぞれについての縮退クラスごとのタップ係数及び縮退情報の中から、高性能縮退方法で縮退された縮退クラスごとのタップ係数、及び、その高性能縮退方法を表す縮退情報、すなわち、評価値算出部774からの縮退評価値が最良の縮退方法についての縮退クラスごとのタップ係数(必要に応じて、種係数を含む)、及び、縮退情報を選択し、削減フィルタ情報として取得する。
ステップS317では、削減装置932の縮退方法選択部975は、削減フィルタ情報を、可逆符号化部106(図64)、及び、画像変換装置933(図65)に出力し、処理は、ステップS318に進む。
ステップS318では、可逆符号化部106(図64)は、削減装置932からの削減フィルタ情報を、伝送対象に設定して、処理は、ステップS319に進む。伝送対象に設定された削減フィルタ情報は、後述するステップS320で行われる予測符号化処理において符号化データに含められて伝送される。
ステップS319では、画素変換装置933(図80)において、係数取得部774(図81)の記憶部781が、その記憶部781に記憶されている縮退クラスごとのタップ係数を、削減装置932からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数に更新し(削減フィルタ情報に含まれる縮退クラスごとのタップ係数を上書きする形で記憶し)、処理は、ステップS320に進む。
ステップS320では、元画像の予測符号化処理が行われ、符号化処理は終了する。
図83は、図82のステップS320の予測符号化処理の例を説明するフローチャートである。
予測符号化処理では、ステップS331ないしS346において、図18のステップS31ないしS46とそれぞれ同様の処理が行われる。
なお、ステップS342において、クラス分類適応フィルタ911は、図18のステップS42と同様に、演算部110からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図82のステップS317で、削減装置932が画像変換装置933に出力する削減フィルタ情報に含まれる縮退クラスごとのタップ係数、及び、縮退情報が用いられる。
さらに、ステップS344では、可逆符号化部106は、図18のステップS44と同様に、量子化係数、符号化情報、及び、削減フィルタ情報を符号化するが、その削減フィルタ情報には、縮退クラスごとのタップ係数、及び、縮退情報が含まれる。
したがって、可逆符号化部106で得られる符号化データには、量子化係数、符号化情報、並びに、削減フィルタ情報としての縮退クラスごとのタップ係数、及び、縮退情報が含まれる。そして、かかる符号化データは、ステップS345で、図18のステップS45で説明したように、蓄積バッファ107から、適宜読み出されて伝送される。
図84は、図83のステップS342で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ911の画像変換装置933(図80)では、ステップS351において、タップ選択部771が、図19のステップS51と同様に、演算部110から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS352に進む。
ステップS352では、タップ選択部771及び772が、演算部110から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、予測演算部775及びクラス分類部773に、それぞれ供給する。
その後、処理は、ステップS352からステップS353に進み、クラス分類部773は、注目画素についてのクラスタップから検出される画素特徴量や、注目画素についての符号化情報等の、注目画素についての複数の画素関連情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部773は、注目画素のクラス分類により得られる注目画素の初期クラスを、係数取得部774に供給し、処理は、ステップS353からステップS354に進む。
ステップS354では、係数取得部774(図81)の縮退クラス変換部782が、クラス分類部773から供給される注目画素の初期クラスを、図82のステップS317で削減装置932から供給される削減フィルタ情報としての縮退情報が表す縮退方法に従って、注目画素の縮退クラスに変換する。そして、縮退クラス変換部782は、注目画素の縮退クラスを、取得部783(図81)に供給して、処理は、ステップS354からステップS355に進む。
ステップS355では、取得部783が、記憶部781に図82のステップS319で記憶された縮退クラスごとのタップ係数から、縮退クラス変換部782からの注目画素の縮退クラスのタップ係数を取得し、予測演算部775に供給して、処理は、ステップS356に進む。
ステップS356ないしS358では、図19のステップS55ないしS57とそれぞれ同様の処理が行われる。
以上のように、図64の符号化装置11では、注目画素のクラス分類が、複数の画素関連情報を用いて行われることにより、多数のクラス数の初期クラスごとのタップ係数が求められる。さらに、初期クラスごとのタップ係数が、複数種類の縮退方法から選択された縮退方法、すなわち、例えば、縮退評価値が最良の縮退方法で縮退され、その結果得られる縮退クラスごとのタップ係数と、その縮退クラスごとのタップ係数を得るのに用いられた縮退方法を表す縮退情報とが、削減フィルタ情報として伝送される。
したがって、圧縮効率及び復号画像のS/Nを向上させることが可能となる。
<復号装置12の第4の構成例>
図85は、図1の復号装置12の第4の構成例を示すブロック図である。
なお、図中、図20の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図85において、復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、フレームメモリ210ないし選択部214、及び、クラス分類適応フィルタ811を有する。
したがって、図85の復号装置12は、蓄積バッファ201ないし演算部205、並べ替えバッファ207、D/A変換部208、及び、フレームメモリ210ないし選択部214を有する点で、図20の場合と共通する。
但し、図85の復号装置12は、クラス分類適応フィルタ206に代えて、クラス分類適応フィルタ811を有する点で、図20の場合と相違する。
図85の復号装置12は、図64の符号化装置11から伝送されてくる符号化データを復号する。
そのため、可逆復号部202からクラス分類適応フィルタ811に供給される削減フィルタ情報には、縮退クラスごとのタップ係数と縮退情報が含まれる。
クラス分類適応フィルタ811は、クラス分類適応処理を行うことにより、ILFとして機能するフィルタで、クラス分類適応処理によって、ILF処理を行う点で、図20のクラス分類適応フィルタ206と共通する。
但し、クラス分類適応フィルタ811は、削減フィルタ情報としての縮退クラスごとのタップ係数、及び、縮退情報を用いてクラス分類適応処理を行う点で、クラス分類適応フィルタ206と相違する。
<クラス分類適応フィルタ811の構成例>
図86は、図85のクラス分類適応フィルタ811の構成例を示すブロック図である。
図86において、クラス分類適応フィルタ811は、画像変換装置831を有する。
画像変換装置831には、演算部205(図85)から復号途中画像が供給されるとともに、可逆復号部202から削減フィルタ情報としての縮退クラスごとのタップ係数及び縮退情報、並びに、符号化情報が供給される。
画像変換装置831は、図65の画像変換装置933と同様に、復号途中画像を第1の画像として、削減フィルタ情報に含まれる縮退クラスごとのタップ係数(削減フィルタ情報を用いて得られるタップ係数)及び縮退情報を用いたクラス分類適応処理による画像変換を行うことで、第1の画像としての復号途中画像を、元画像に相当する第2の画像としてのフィルタ後画像に変換して(フィルタ後画像を生成して)、並べ替えバッファ207及びフレームメモリ210(図85)に供給する。
なお、画像変換装置831は、クラス分類適応処理において、図65の画像変換装置933と同様に、クラス分類を、必要に応じて、符号化情報を用いて行う。
<画像変換装置831の構成例>
図87は、図86の画像変換装置831の構成例を示すブロック図である。
図87において、画像変換装置831は、タップ選択部841及び842、クラス分類部843、係数取得部844、並びに、予測演算部845を有する。
そして、タップ選択部841及び842には、演算部205(図85)から第1の画像としての復号途中画像が供給される。また、クラス分類部843には、可逆復号部202(図85)から、符号化情報が供給される。さらに、係数取得部844には、可逆復号部202から、削減フィルタ情報が供給される。
画像変換装置831では、タップ選択部841ないし予測演算部845において、画像変換装置933(図65)(図80)と同様の処理が行われ、これにより、演算部205(図85)から第1の画像としての復号途中画像が、元画像に相当する第2の画像としてのフィルタ後画像に変換される。
すなわち、タップ選択部841は、演算部205からの第1の画像としての復号途中画像の画素を、順次、注目画素として、その注目画素について、例えば、図80のタップ選択部771と同様の予測タップを構成し、予測演算部845に供給する。
タップ選択部842は、注目画素について、図80のタップ選択部772と同様のクラスタップを構成し、クラス分類部843に供給する。
クラス分類部843は、図80のクラス分類部773と同様に、注目画素について、複数種類の画素関連情報、すなわち、タップ選択部842からのクラスタップから検出される画像特徴量や符号化情報を用いて、クラス分類を行い、その結果得られる注目画素の初期クラスを、係数取得部844に供給する。
係数取得部844は、可逆復号部202からの削減フィルタ情報に含まれる縮退情報に基づき、その縮退情報が表す縮退方法で、クラス分類部843から注目画素の初期クラスを、縮退クラスに変換する。さらに、係数取得部844は、可逆復号部202からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数から、注目画素の縮退クラスのタップ係数を取得し、予測演算部845に供給する。
予測演算部845は、タップ選択部841からの予測タップと、係数取得部844からの注目画素の縮退クラスのタップ係数とを用いた予測演算を、例えば、図31の予測演算部25と同様に行い、最終的には、元画像に相当する第2の画像としてのフィルタ後画像を生成し、画面並べ替えバッファ207、及び、フレームメモリ210(図85)に供給する。
なお、図67で説明したように、符号化装置11のクラス分類適応フィルタ911では、複数種類のクラス分類方法の中から、RDコスト等が最良のクラス分類方法を、最適クラス分類方法として選択し、その最適クラス分類方法で、初期クラスへのクラス分類を行うことができる。さらに、符号化装置11では、復号装置12に対して、最適クラス分類方法を表す情報を、削減フィルタ情報に含めて伝送することができる。
復号装置12では、削減フィルタ情報に、最適クラス分類方法を表す情報が含まれる場合には、その情報が表す最適クラス分類方法で、初期クラスへのクラス分類が行われる。
すなわち、削減フィルタ情報に、最適クラス分類方法を表す情報が含まれる場合には、画像変換装置831を構成するクラス分類部843は、削減フィルタ情報に含まれる情報が表す最適クラス分類方法で、初期クラスへのクラス分類を行う。
図88は、図87の係数取得部844の構成例を示すブロック図である。
図88において、係数取得部844は、記憶部851、縮退クラス変換部852、及び、取得部853を有する。記憶部851ないし取得部853は、図81の記憶部781ないし取得部783と同様に構成される。
記憶部851には、可逆復号部202(図85)から、削減フィルタ情報に含まれる縮退クラスごとのタップ係数が供給される。
記憶部851は、可逆復号部202からの削減フィルタ情報に含まれる縮退クラスごとのタップ係数を記憶する。
縮退クラス変換部852には、クラス分類部843から、注目画素のクラス分類結果としての初期クラスが供給される。さらに、縮退クラス変換部852には、可逆復号部202から、削減フィルタ情報に含まれる縮退情報が供給される。
縮退クラス変換部852は、削減フィルタ情報に含まれる縮退情報に従い、注目画素の初期クラスを、注目画素の縮退クラスに変換し、取得部853に供給する。
取得部853は、記憶部851に記憶された縮退クラスごとのタップ係数から、縮退クラス変換部852からの注目画素の縮退クラスのタップ係数を取得し、予測演算部845に供給する。
<復号処理>
図89は、図85の復号装置12の復号処理の例を説明するフローチャートである。
復号処理では、ステップS371において、蓄積バッファ201は、図24のステップS71と同様に、符号化装置11から伝送されてくる符号化データを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS372に進む。
ステップS372では、可逆復号部202は、図24のステップS72と同様に、蓄積バッファ201から供給される符号化データを受け取って復号し、その復号により得られる量子化係数を、逆量子化部203に供給する。
また、可逆復号部202は、符号化データの復号により、符号化情報や削減フィルタ情報が得られた場合、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。
さらに、可逆復号部202は、符号化情報及び削減フィルタ情報を、クラス分類適応フィルタ811に供給する。
その後、処理は、ステップS372からステップS373に進み、クラス分類適応フィルタ811は、可逆復号部202から削減フィルタ情報が供給されたかどうかを判定する。
ステップS373において、削減フィルタ情報が供給されていないと判定された場合、処理は、ステップS374をスキップして、ステップS375に進む。
また、ステップS373において、削減フィルタ情報が供給されたと判定された場合、処理は、ステップS374に進み、クラス分類適応フィルタ811の画像変換装置831(図87)を構成する係数取得部844が、削減フィルタ情報に含まれる縮退クラスごとのタップ係数(必要に応じて種係数を含む)及び縮退情報を取得する。
さらに、係数取得部844(図88)では、記憶部851が、記憶部851に記憶されている縮退クラスごとのタップ係数を、削減フィルタ情報に含まれる縮退クラスごとのタップ係数に更新する(削減フィルタ情報に含まれる縮退クラスごとのタップ係数を上書きする形で記憶する)。
そして、処理は、ステップS374からステップS375に進み、予測復号処理が行われ、復号処理は終了する。
図90は、図89のステップS375の予測復号処理の例を説明するフローチャートである。
予測復号処理では、ステップS381ないしS389において、図25のステップS81ないしS89とそれぞれ同様の処理が行われる。
なお、ステップS386において、クラス分類適応フィルタ811は、図25のステップS86と同様に、演算部205からの復号途中画像に、ILFの処理としてのクラス分類適応処理を施すが、そのクラス分類適応処理では、図89のステップS374で、係数取得部844が取得した削減フィルタ情報に含まれる縮退クラスごとのタップ係数、及び、縮退情報が用いられる。
図91は、図90のステップS386で行われるクラス分類適応処理の例を説明するフローチャートである。
クラス分類適応フィルタ811の画像変換装置831(図87)では、ステップS391において、タップ選択部841が、演算部205から供給される復号途中画像から、まだ、注目画素とされていない画素の1つを、注目画素として選択し、処理は、ステップS392に進む。
ステップS392では、タップ選択部841及び842が、画像変換装置933(図80)のタップ選択部771及び772と同様に、演算部205から供給される復号途中画像から、注目画素についての予測タップ及びクラスタップとする画素を選択し、クラス分類部843及び予測演算部845に、それぞれ供給する。
その後、処理は、ステップS392からステップS393に進み、クラス分類部843は、画像変換装置933(図80)のクラス分類部773と同様に、注目画素についてのクラスタップ、及び、注目画素についての符号化情報、すなわち、注目画素の複数の画素関連情報を用いて、注目画素のクラス分類を行う。
そして、クラス分類部843は、注目画素のクラス分類により得られる注目画素の初期クラスを、係数取得部844に供給し、処理は、ステップS393からステップS394に進む。
ステップS394では、係数取得部844(図88)の縮退クラス変換部852が、クラス分類部843から供給される注目画素の初期クラスを、図89のステップS374で係数取得部844が取得した削減フィルタ情報に含まれる縮退情報に従って、注目画素の縮退クラスに変換する。そして、縮退クラス変換部852は、注目画素の縮退クラスを、取得部853(図88)に供給して、処理は、ステップS394からステップS395に進む。
ステップS395では、取得部853が、記憶部851に図89のステップS374で記憶された縮退クラスごとのタップ係数から、縮退クラス変換部852からの注目画素の縮退クラスのタップ係数を取得し、予測演算部845に供給して、処理は、ステップS396に進む。
ステップS396ないしS398では、図26のステップS95ないしS97とそれぞれ同様の処理が行われる。
以上のように、図64の符号化装置11及び図85の復号装置12では、ILF処理を、クラス分類適応処理によって行うので、ILFの処理結果よりも元画像に近いフィルタ後画像を得ることができる。その結果、復号画像のS/Nを改善することができる。さらに、元画像に近いフィルタ後画像を得ることができることから、残差が小さくなるので、圧縮効率を改善することができる。
また、符号化装置11では、様々な画素関連情報を用いて、多数の初期クラスへのクラス分類を行い、その後、初期クラスごとのタップ係数を複数種類の縮退方法のうちの縮退評価値が最良の縮退方法で縮退した縮退クラスごとのタップ係数と、その縮退方法を表す縮退情報とを含む削減フィルタ情報を、復号装置12に伝送するので、圧縮効率を、より改善することができる。
なお、一般のALFでは、クラス分類方法や、クラス分類で得られるクラスの数が固定であるため、復号途中画像の画素が、その画素の特徴を適切に表していないクラスに分類されることが少なからず生じる。
一方、クラス分類適応フィルタ911及び811(図64、図85)では、復号途中画像の画素のクラス分類が、2種類や3種類以上の画素関連情報を用いて行われ、復号途中画像の画素が、例えば、1000以上や10000以上の多数のクラスに分類されるので、画素の特徴を適切に表していないクラスに分類されることを抑制することができる。その結果、復号途中画像から得られるフィルタ後画像の画質を改善することができる。
さらに、クラス分類適応フィルタ911及び811では、2種類や3種類以上の画素関連情報を用いて行われるクラス分類により得られる初期クラスのうちの、ΔMSE等の画質改善効果が小さい初期クラスを、縮退対象クラスとして、初期クラスが、縮退対象クラス(のタップ係数)をなくした縮退クラスに縮退されるので、オーバーヘッドとなるタップ係数のデータ量を少なくすることができる。その結果、フィルタ後画像の画質を改善の程度を(ほぼ)維持しながら、符号化効率(圧縮効率)を改善することができる。
<多視点画像符号化・復号システムへの適用>
上述した一連の処理は、多視点画像符号化・復号システムに適用することができる。
図92は、多視点画像符号化方式の一例を示す図である。
図92に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
図92の例のような多視点画像を符号化・復号する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ(すなわち視点毎に)復号される。このような各視点の符号化・復号に対して、以上の実施の形態において説明した方法を適用してもよい。このようにすることにより、S/N及び圧縮効率を向上させることができる。つまり、多視点画像の場合も同様に、S/N及び圧縮効率を向上させることができる。
<多視点画像符号化・復号システム>
図93は、上述した多視点画像符号化・復号を行う多視点画像符号化・復号システムの、多視点画像符号化装置を示す図である。
図93に示されるように、多視点画像符号化装置1000は、符号化部1001、符号化部1002、及び多重化部1003を有する。
符号化部1001は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部1002は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部1003は、符号化部1001において生成されたベースビュー画像符号化ストリームと、符号化部1002において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
図94は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。
図94に示されるように、多視点画像復号装置1010は、逆多重化部1011、復号部1012、及び復号部1013を有する。
逆多重化部1011は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部1012は、逆多重化部1011により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部1013は、逆多重化部1011により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
例えば、このような多視点画像符号化・復号システムにおいて、多視点画像符号化装置1000の符号化部1001及び符号化部1002として、以上の実施の形態において説明した符号化装置11を適用してもよい。このようにすることにより、多視点画像の符号化においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を向上させることができる。また例えば、多視点画像復号装置1010の復号部1012及び復号部1013として、以上の実施の形態において説明した復号装置12を適用してもよい。このようにすることにより、多視点画像の符号化データの復号においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を向上させることができる。
<階層画像符号化・復号システムへの適用>
また、上述した一連の処理は、階層画像符号化(スケーラブル符号化)・復号システムに適用することができる。
図95は、階層画像符号化方式の一例を示す図である。
階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号(スケーラブル復号)は、その階層画像符号化に対応する復号である。
図95に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
図95の例のような階層画像を符号化・復号する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ(すなわちレイヤ毎に)復号される。このような各レイヤの符号化・復号に対して、以上の実施の形態において説明した方法を適用してもよい。このようにすることにより、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)がある。
<階層画像符号化・復号システム>
図96は、上述した階層画像符号化・復号を行う階層画像符号化・復号システムの、階層画像符号化装置を示す図である。
図96に示されるように、階層画像符号化装置1020は、符号化部1021、符号化部1022、及び多重化部1023を有する。
符号化部1021は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部1022は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部1023は、符号化部1021において生成されたベースレイヤ画像符号化ストリームと、符号化部1022において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
図97は、上述した階層画像復号を行う階層画像復号装置を示す図である。
図97に示されるように、階層画像復号装置1030は、逆多重化部1031、復号部1032、及び復号部1033を有する。
逆多重化部1031は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部1032は、逆多重化部1031により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部1033は、逆多重化部1031により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
例えば、このような階層画像符号化・復号システムにおいて、階層画像符号化装置1020の符号化部1021及び符号化部1022として、以上の実施の形態において説明した符号化装置11を適用してもよい。このようにすることにより、階層画像の符号化においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を向上させることができる。また例えば、階層画像復号装置1030の復号部1032及び復号部1033として、以上の実施の形態において説明した復号装置12を適用してもよい。このようにすることにより、階層画像の符号化データの復号においても、以上の実施の形態において説明した方法を適用することができる。すなわち、S/N及び圧縮効率を向上させることができる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図98は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図98に示されるコンピュータ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は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブルメディア821を駆動する。
以上のように構成されるコンピュータでは、CPU1101が、例えば、記憶部1113に記憶されているプログラムを、入出力インタフェース1110及びバス1104を介して、RAM1103にロードして実行することにより、上述した一連の処理が行われる。RAM1103にはまた、CPU1101が各種の処理を実行する上において必要なデータ等も適宜記憶される。
コンピュータ(CPU1101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア821に記録して適用することができる。その場合、プログラムは、リムーバブルメディア821をドライブ1115に装着することにより、入出力インタフェース1110を介して、記憶部1113にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部1114で受信し、記憶部1113にインストールすることができる。
その他、このプログラムは、ROM1102や記憶部1113に、あらかじめインストールしておくこともできる。
<本技術の応用>
上述した実施の形態に係る符号化装置11や復号装置12は、例えば、衛星放送、ケーブルTV等の有線放送、インターネット上での配信、及びセルラー通信による端末への配信等における送信機や受信機、又は、光ディスク、磁気ディスク及びフラッシュメモリ等の媒体に画像を記録する記録装置や、これら記憶媒体から画像を再生する再生装置等の、様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<第1の応用例:テレビジョン受像機>
図99は、上述した実施の形態を適用したテレビジョン装置の概略的な構成の一例を示す図である。
テレビジョン装置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の応用例:携帯電話機>
図100は、上述した実施の形態を適用した携帯電話機の概略的な構成の一例を示す図である。
携帯電話機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の応用例:記録再生装置>
図101は、上述した実施の形態を適用した記録再生装置の概略的な構成の一例を示す図である。
記録再生装置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から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD1244又はディスクドライブ1245へ出力する。また、セレクタ1246は、映像及び音声の再生時には、HDD1244又はディスクドライブ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の応用例:撮像装置>
図102は、上述した実施の形態を適用した撮像装置の概略的な構成の一例を示す図である。
撮像装置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)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
<ビデオセット>
本技術をセットとして実施する場合の例について、図103を参照して説明する。
図103は、本技術を適用したビデオセットの概略的な構成の一例を示す図である。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図103に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図103に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、及びセンサ1323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図103の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ1331、ビデオプロセッサ1332、ブロードバンドモデム1333、及びRFモジュール1334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図103のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(又はその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図103において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図103に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、及び増幅部1353を有する。
アンテナ部1351は、無線信号を送受信するアンテナ及びその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
<ビデオプロセッサの構成例>
図104は、本技術を適用したビデオプロセッサ1332(図103)の概略的な構成の一例を示す図である。
図104の例の場合、ビデオプロセッサ1332は、ビデオ信号及びオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータ及びオーディオデータを復号し、ビデオ信号及びオーディオ信号を再生出力する機能とを有する。
図104に示されるように、ビデオプロセッサ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(図103)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第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の機能又はその両方)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
<ビデオプロセッサの他の構成例>
図105は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示す図である。
図105の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
より具体的には、図105に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及び内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、及びビデオインタフェース1520を有する。
制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、及びコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
図105に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、及びシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531及びサブCPU1532が実行するプログラムを指定する等、メインCPU1531及びサブCPU1532の動作を制御する。
ディスプレイインタフェース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は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化又は符号化データの復号を行うようにしてもよい。
図105に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、及びMPEG-DASH1551を有する。
MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至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の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
<装置への適用例>
ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置1200(図99)、携帯電話機1220(図100)、記録再生装置1240(図101)、撮像装置1260(図102)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、及びフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、又は、ビデオユニット1361を、テレビジョン装置1200(図99)、携帯電話機1220(図100)、記録再生装置1240(図101)、撮像装置1260(図102)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、上述した符号化装置11や復号装置12と同様の効果を得ることができる。
<その他>
なお、本明細書では、各種情報が、符号化データ(ビットストリーム)に多重化されて、符号化側から復号側へ伝送される例について説明したが、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、例えば、符号化データに含まれる画像(スライス若しくはブロック等、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。すなわち、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、この符号化データ(画像)に関連付けられた情報は、符号化データ(画像)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。さらに、画像とその画像に対応する情報とが、例えば、複数フレーム、1フレーム、又はフレーム内の一部分等の任意の単位で互いに関連付けられるようにしてもよい。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、例えば、1つの装置(又は処理部)として説明した構成を分割し、複数の装置(又は処理部)として構成するようにしてもよい。逆に、以上において複数の装置(又は処理部)として説明した構成をまとめて1つの装置(又は処理部)として構成されるようにしてもよい。また、各装置(又は各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(又は処理部)の構成の一部を他の装置(又は他の処理部)の構成に含めるようにしてもよい。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像のうちの処理対象である処理対象画素に対応する、前記予測画像の予測に用いられる第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択する予測タップ選択部と、
前記処理対象画素を、複数のクラスのうちのいずれかのクラスにクラス分類するクラス分類部と、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められる前記複数のクラスごとのタップ係数を削減した削減フィルタ情報を用いて得られる前記タップ係数から、前記処理対象画素のクラスのタップ係数を取得するタップ係数取得部と、
前記処理対象画素のクラスのタップ係数と、前記処理対象画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、前記第1の画像にフィルタ処理を行い、前記第2の画像を生成するフィルタ処理部と、
前記削減フィルタ情報を伝送する伝送部と
を備える符号化装置。
<2>
前記削減フィルタ情報を生成する削減部をさらに備える
<1>に記載の符号化装置。
<3>
前記削減部は、最新の学習により求められた前記複数のクラスのタップ係数である最新係数の中から選択されたクラスの最新係数である選択係数を、前記削減フィルタ情報として出力する
<2>に記載の符号化装置。
<4>
前記削減部は、現在の前記タップ係数である現在係数に代えて、前記最新係数を、前記予測演算に用いる場合のメリットの程度を表すメリット判定値に応じて前記複数のクラスの最新係数の中から選択されたクラスの前記選択係数を、前記削減フィルタ情報として出力する
<3>に記載の符号化装置。
<5>
前記メリット判定値は、
RD(Rate-Distortion)コスト、
前記最新係数と前記現在係数との係数間距離、
前記最新係数を用いて求められる前記第2の画像のS/N(Signal to Noise Ratio)、
又は、前記クラスのタップ係数が前記予測演算に用いられる使用頻度
に対応する値である
<4>に記載の符号化装置。
<6>
前記削減部は、前記複数のクラスの最新係数のうちの、所定数以上のクラスの最新係数が選択係数として選択される場合、前記複数のクラスすべての最新係数を、前記削減フィルタ情報として出力する
<3>ないし<5>のいずれかに記載の符号化装置。
<7>
前記削減部は、
前記複数のクラスを、前記複数のクラスの数以下のクラスに統合した統合クラスごとのタップ係数と、
前記複数のクラスと前記統合クラスとの対応関係を表す対応関係情報と
を、前記削減フィルタ情報として生成する
<2>に記載の符号化装置。
<8>
前記削減部は、前記複数のクラスのうちの2以上のクラスを統合候補クラスとして統合した場合の統合クラスごとのタップ係数を前記予測演算に用いる適切さを表すタップ係数評価値に応じて、前記統合候補クラスを統合する
<7>に記載の符号化装置。
<9>
前記タップ係数評価値は、
RD(Rate-Distortion)コスト、
異なるクラスの前記タップ係数どうしの係数間距離、
前記タップ係数を用いて求められる前記第2の画像のS/N(Signal to Noise Ratio)、
前記クラスのタップ係数が前記予測演算に用いられる使用頻度、
又は、特定の1クラスであるモノクラスの前記タップ係数と、他のクラスの前記タップ係数との差分
に対応する値である
<8>に記載の符号化装置。
<10>
前記削減部は、パラメータとの所定の演算により前記タップ係数が求められる前記クラスごとの種係数を、前記削減フィルタ情報として生成する
<2>に記載の符号化装置。
<11>
前記元画像の予測符号化に関する符号化情報に応じて、前記パラメータを生成するパラメータ生成部をさらに備え、
前記伝送部は、前記パラメータに関するパラメータ情報を伝送する
<10>に記載の符号化装置。
<12>
前記削減部は、前記種係数から求められる前記タップ係数を前記予測演算に用いる適切さを表す種係数評価値に応じて選択される次数の種係数を、前記削減フィルタ情報として生成する
<11>に記載の符号化装置。
<13>
前記種係数評価値は、
RD(Rate-Distortion)コスト、
前記元画像のアクティビティ、
又は、前記元画像の予測符号化時の符号量目標値、若しくは、量子化パラメータ
に対応する値である
<12>に記載の符号化装置。
<14>
前記処理対象画素に関する情報を、画素関連情報として、
前記クラス分類部は、複数種類の前記画素関連情報を用いて、前記処理対象画素を、前記複数のクラスのうちのいずれかのクラスにクラス分類し、
前記削減部は、
前記複数のクラスを少なくするクラスの縮退を、複数種類の縮退方法の中から選択された縮退方法によって行うことにより得られる、前記複数のクラスの縮退後の縮退クラスごとのタップ係数と、
前記複数のクラスと前記縮退クラスとの対応関係を表す対応関係情報として、前記複数種類の縮退方法の中から選択された縮退方法を表す縮退情報と
を、前記削減フィルタ情報として生成する
<2>に記載の符号化装置。
<15>
前記削減部は、前記複数種類の縮退方法それぞれによって得られる複数種類の前記縮退クラスごとのタップ係数それぞれを前記予測演算に用いる適切さを表す縮退評価値に応じて、前記縮退方法を選択する
<14>に記載の符号化装置。
<16>
前記縮退評価値は、RD(Rate-Distortion)コストに対応する値である
<15>に記載の符号化装置。
<17>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像のうちの処理対象である処理対象画素に対応する、前記予測画像の予測に用いられる第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することと、
前記処理対象画素を、複数のクラスのうちのいずれかのクラスにクラス分類することと、
前記第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められる前記複数のクラスごとのタップ係数を削減した削減フィルタ情報を用いて得られる前記タップ係数から、前記処理対象画素のクラスのタップ係数を取得することと、
前記処理対象画素のクラスのタップ係数と、前記処理対象画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求めることと
を含み、前記第1の画像にフィルタ処理を行い、前記第2の画像を生成することと、
前記削減フィルタ情報を伝送することと
を含む符号化方法。
<18>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められる複数のクラスごとのタップ係数を削減した削減フィルタ情報を受け取る受け取り部と、
前記第1の画像のうちの処理対象である処理対象画素に対応する、前記予測画像の予測に用いられる第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択する予測タップ選択部と、
前記処理対象画素を、前記複数のクラスのうちのいずれかのクラスにクラス分類するクラス分類部と、
前記削減フィルタ情報を用いて得られる前記タップ係数から、前記処理対象画素のクラスのタップ係数を取得するタップ係数取得部と、
前記処理対象画素のクラスのタップ係数と、前記処理対象画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求める演算部と
を有し、前記第1の画像にフィルタ処理を行い、前記第2の画像を生成するフィルタ処理部と
を備える復号装置。
<19>
前記削減フィルタ情報は、最新の学習により求められた前記複数のクラスのタップ係数である最新係数の中から選択されたクラスの最新係数である選択係数であり、
前記タップ係数取得部は、
前記クラスごとのタップ係数を記憶し、
記憶している前記クラスごとのタップ係数のうちの、前記選択係数のクラスのタップ係数を、前記選択係数に更新する
<18>に記載の復号装置。
<20>
前記削減フィルタ情報は、
前記複数のクラスを、前記複数のクラスの数以下のクラスに統合した統合クラスごとのタップ係数と、
前記複数のクラスと前記統合クラスとの対応関係を表す対応関係情報と
であり、
前記タップ係数取得部は、
前記統合クラスごとのタップ係数を記憶し、
前記対応関係情報に従って、前記処理対象画素のクラスを、前記処理対象画素の統合クラスに変換し、
前記統合クラスごとのタップ係数から、前記処理対象画素の統合クラスのタップ係数を取得する
<18>に記載の復号装置。
<21>
前記削減フィルタ情報は、パラメータとの所定の演算により前記タップ係数が求められる、前記クラスごとの種係数であり、
前記タップ係数取得部は、前記パラメータと前記種係数との所定の演算により、前記タップ係数を求める
<18>に記載の復号装置。
<22>
前記受け取り部は、前記元画像の予測符号化を行う符号化側で、前記元画像の予測符号化に関する符号化情報に応じて生成される前記パラメータに関するパラメータ情報を受け取り、
前記タップ係数取得部は、前記パラメータ情報から得られるパラメータと、前記種係数との所定の演算により、前記タップ係数を求める
<21>に記載の復号装置。
<23>
前記削減フィルタ情報は、
前記複数のクラスを少なくするクラスの縮退を、複数種類の縮退方法の中から選択された縮退方法によって行うことにより得られる、前記複数のクラスの縮退後の縮退クラスごとのタップ係数と、
前記複数のクラスと前記縮退クラスとの対応関係を表す対応関係情報として、前記複数種類の縮退方法の中から選択された縮退方法を表す縮退情報と
であり、
前記タップ係数取得部は、
前記縮退クラスごとのタップ係数を記憶し、
前記縮退情報に従って、前記処理対象画素のクラスを、前記処理対象画素の縮退クラスに変換し、
前記縮退クラスごとのタップ係数から、前記処理対象画素の縮退クラスのタップ係数を取得する
<18>に記載の復号装置。
<24>
予測符号化の残差と予測画像とを加算することにより得られる第1の画像に相当する生徒画像と、前記第1の画像に対応する元画像に相当する教師画像とを用いた学習により求められる複数のクラスごとのタップ係数を削減した削減フィルタ情報を受け取ることと、
前記第1の画像のうちの処理対象である処理対象画素に対応する、前記予測画像の予測に用いられる第2の画像の対応画素の画素値を求める予測演算に用いられる予測タップとなる画素を、前記第1の画像から選択することと、
前記処理対象画素を、前記複数のクラスのうちのいずれかのクラスにクラス分類することと、
前記削減フィルタ情報を用いて得られる前記タップ係数から、前記処理対象画素のクラスのタップ係数を取得することと、
前記処理対象画素のクラスのタップ係数と、前記処理対象画素の前記予測タップとを用いた前記予測演算を行うことにより、前記対応画素の画素値を求めることと
を含み、前記第1の画像にフィルタ処理を行い、前記第2の画像を生成することと
を含む復号方法。