特表-19131161IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧
再表2019-131161符号化装置、符号化方法、復号装置、及び、復号方法
(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO/0
(43)【国際公開日】2019年7月4日
【発行日】2020年12月17日
(54)【発明の名称】符号化装置、符号化方法、復号装置、及び、復号方法
(51)【国際特許分類】
   H04N 19/82 20140101AFI20201120BHJP
   H04N 19/46 20140101ALI20201120BHJP
【FI】
   H04N19/82
   H04N19/46
【審査請求】未請求
【予備審査請求】未請求
【全頁数】68
【出願番号】特願2019-562969(P2019-562969)
(21)【国際出願番号】PCT/0/0
(22)【国際出願日】2018年12月13日
(31)【優先権主張番号】特願2017-251817(P2017-251817)
(32)【優先日】2017年12月27日
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニー株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】川合 拓郎
(72)【発明者】
【氏名】細川 健一郎
(72)【発明者】
【氏名】森藤 孝文
(72)【発明者】
【氏名】池田 優
(72)【発明者】
【氏名】永野 隆浩
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159SS26
5C159TA69
5C159TB10
5C159TC02
5C159TD13
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本技術は、画質を向上させることができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。
符号化装置は、局所復号された復号画像に、所定のタップ係数と復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成する。さらに、符号化装置は、そのフィルタ画像を用いて、元画像を符号化する。復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する。さらに、復号装置は、復号画像に、DC予測式を適用するフィルタ処理を行い、フィルタ画像を生成する。本技術は、画像の符号化及び復号を行う場合に適用することができる。
【特許請求の範囲】
【請求項1】
符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
を備える復号装置。
【請求項2】
前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
請求項1に記載の復号装置。
【請求項3】
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
請求項2に記載の復号装置。
【請求項4】
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
請求項2に記載の復号装置。
【請求項5】
前記符号化ビットストリームに含まれる前記採用予測方法を表す予測方法情報をパースするパース部をさらに備え、
前記フィルタ部は、前記パース部によりパースされた前記予測方法情報が表す前記採用予測方法の予測式を、前記復号画像に適用する
請求項2に記載の復号装置。
【請求項6】
前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
請求項5に記載の復号装置。
【請求項7】
前記フィルタ部は、
前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
請求項1に記載の復号装置。
【請求項8】
前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
請求項7に記載の復号装置。
【請求項9】
前記符号化ビットストリームに含まれる、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報をパースするパース部をさらに備え、
前記フィルタ部は、前記パース部によりパースされた前記分類方法情報が表す前記採用クラス分類方法で前記クラス分類を行う
請求項8に記載の復号装置。
【請求項10】
前記復号部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
請求項1に記載の復号装置。
【請求項11】
符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
を含む復号方法。
【請求項12】
局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
を備える符号化装置。
【請求項13】
前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
請求項12に記載の符号化装置。
【請求項14】
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
請求項13に記載の符号化装置。
【請求項15】
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
請求項13に記載の符号化装置。
【請求項16】
前記符号化部は、前記元画像を符号化することにより得られる符号化データと前記採用予測方法を表す予測方法情報とを含む符号化ビットストリームを生成する
請求項13に記載の符号化装置。
【請求項17】
前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
請求項16に記載の符号化装置。
【請求項18】
前記フィルタ部は、
前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
請求項12に記載の符号化装置。
【請求項19】
前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
請求項18に記載の符号化装置。
【請求項20】
前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報と、を含む符号化ビットストリームを生成する
請求項19に記載の符号化装置。
【請求項21】
前記符号化部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
請求項12に記載の符号化装置。
【請求項22】
局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、
前記フィルタ画像を用いて、元画像を符号化することと
を含む符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、符号化装置、符号化方法、復号装置、及び、復号方法に関し、特に、例えば、画質を向上させることができるようにする符号化装置、符号化方法、復号装置、及び、復号方法に関する。
【背景技術】
【0002】
HEVC(High Efficiency Video Coding)の後継規格としてFVC(Future Video Coding)の標準化の開始に向けた作業が進められており、画像の符号化及び復号に用いるILF(In Loop Filter)として、デブロッキングフィルタ、適応オフセットフィルタに加えて、バイラテラルフィルタ(Bilateral Filter)、ALF(Adaptive Loop Filter)が検討されている(例えば、非特許文献1を参照)。
【0003】
また、既存のALFの改善するフィルタとして、GALF(Geometry Adaptive Loop Filter)が提案されている(例えば、非特許文献2を参照)。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Algorithm description of Joint Exploration Test Model 7 (JEM7), 2017-08-19
【非特許文献2】Marta Karczewicz, Li Zhang, Wei-Jung Chien, Xiang Li, "Geometry transformation-based adaptive in-loop filter", IEEE Picture Coding Symposium (PCS), 2016.
【発明の概要】
【発明が解決しようとする課題】
【0005】
現在提案されているALFでは、符号化により劣化した画質の復元の精度が十分ではない場合があり、画質をより向上させることができるインループフィルタの提案が要請されている。
【0006】
本技術は、このような状況に鑑みてなされたものであり、画質を向上させることができるようにするものである。
【課題を解決するための手段】
【0007】
本技術の復号装置は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部とを備える復号装置である。
【0008】
本技術の復号方法は、符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することとを含む復号方法である。
【0009】
本技術の復号装置及び復号方法においては、符号化ビットストリームに含まれる符号化データが、フィルタ画像を用いて復号され、復号画像が生成される。また、前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理が行われ、前記フィルタ画像が生成される。
【0010】
本技術の符号化装置は、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部とを備える符号化装置である。
【0011】
本技術の符号化方法は、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、前記フィルタ画像を用いて、元画像を符号化することとを含む符号化方法である。
【0012】
本技術の符号化装置及び符号化方法においては、局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理が行われ、フィルタ画像が生成される。そして、前記フィルタ画像を用いて、元画像が符号化される。
【0013】
なお、符号化装置や復号装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【0014】
また、符号化装置や復号装置は、コンピュータにプログラムを実行させることにより実現することができる。プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【0015】
本技術によれば、画質を向上させることができる。
【0016】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0017】
図1】フィルタ処理に用いられる予測式の第1の例を説明する図である。
図2】予測処理としてのフィルタ処理に用いられる予測式の第2の例を説明する図である。
図3】予測処理としてのフィルタ処理に用いられる予測式の第3の例(DC予測式の第1の例)を説明する図である。
図4】DCタップDC#iを説明する図である。
図5】DC予測式の第2の例を説明する図である。
図6】タップ係数のボリューム化を説明する図である。
図7】本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。
図8】フィルタ部23及び33の構成例を示すブロック図である。
図9】クラス分類部51及び予測部52の構成例を示すブロック図である。
図10】クラス分類方法を説明する図である。
図11】予測方法を説明する図である。
図12】差分ADRCを説明する図である。
図13】差分ADRCを用いたクラス分類を行うクラス分類部の構成例を示すブロック図である。
図14】閾値テーブルの例を示す図である。
図15】複数のクラス分類方法の例を説明する図である。
図16】複数の予測方法の例を説明する図である。
図17】符号化装置20の符号化処理の概要を説明するフローチャートである。
図18】復号装置30の復号処理の概要を説明するフローチャートである。
図19】符号化装置20の詳細な構成例を示すブロック図である。
図20】ILF111の構成例を示すブロック図である。
図21】学習装置131の構成例を示すブロック図である。
図22】予測装置132の構成例を示すブロック図である。
図23】符号化装置20の符号化処理の例を説明するフローチャートである。
図24】予測符号化処理の例を説明するフローチャートである。
図25】フィルタ処理の例を説明するフローチャートである。
図26】復号装置30の詳細な構成例を示すブロック図である。
図27】ILF206の構成例を示すブロック図である。
図28】予測装置231の構成例を示すブロック図である。
図29】復号装置30の復号処理の例を説明するフローチャートである。
図30】予測復号処理の例を説明するフローチャートである。
図31】フィルタ処理の例を説明するフローチャートである。
図32】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
<技術内容・技術用語をサポートする文献等>
【0019】
本願で開示される範囲は、本明細書及び図面に記載されている内容だけではなく、出願当時において公知となっている以下の文献に記載されている内容も含まれる。
【0020】
文献1:AVC規格書("Advanced video coding for generic audiovisual services", ITU-T H.264(04/2017))
文献2:HEVC規格書("High efficiency video coding", ITU-T H.265(12/2016))
文献3:FVC アルゴリズム解説書(Algorithm description of Joint Exploration Test Model 7 (JEM7), 2017-08-19)
【0021】
つまり、上述の文献に記載されている内容もサポート要件を判断する際の根拠となる。例えば、文献1に記載されているQuad-Tree Block Structure、文献3に記載されているQTBT(Quad Tree Plus Binary Tree)やBlock Structureが実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たす。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、実施の形態において直接的な記載がない場合でも、本技術の開示範囲内であり、請求の範囲のサポート要件を満たす。
【0022】
また、本明細書において、画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、上述の文献1ないし3に記載のTB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding Tree Block)、CTU(Coding Tree Unit)、変換ブロック、サブブロック、マクロブロック、タイル、又は、スライス等、任意の部分領域(処理単位)が含まれる。
【0023】
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合がある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0024】
<定義>
【0025】
本願では、以下の用語を、以下のように定義する。
【0026】
符号化データとは、画像を符号化することにより得られるデータであり、例えば、画像(の残差)を直交変換して量子化することにより得られるデータである。
【0027】
符号化ビットストリームとは、符号化データを含むビットストリームであり、必要に応じて、符号化に関する符号化情報を含む。符号化情報には、符号化データを復号するのに必要な情報、すなわち、例えば、符号化で量子化が行われている場合の量子化パラメータQPや、符号化で予測符号化(動き補償)が行われている場合の動きベクトル等が、少なくとも含まれる。
【0028】
取得可能情報とは、符号化ビットストリームから取得可能な情報である。したがって、取得可能情報は、画像を符号化し、符号化ビットストリームを生成する符号化装置、及び、符号化ビットストリームを画像に復号する復号装置のいずれでも取得可能な情報でもある。取得可能情報には、例えば、符号化ビットストリームに含められる符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる画像の画像特徴量がある。
【0029】
予測式とは、第1のデータから第2のデータを予測する多項式である。第1のデータ及び第2のデータが、例えば、画像(データ)である場合、予測式は、第1の画像から第2の画像を予測する多項式となる。かかる多項式である予測式の各項は、1個のタップ係数と1個以上の予測タップとの積で構成され、したがって、予測式は、タップ係数と予測タップとの積和演算を行う式である。第1の画像の画素のうちの予測に用いるi番目の予測タップとしての画素(の画素値)をxiと、i番目のタップ係数をwiと、第2の画像の画素(の画素値の予測値)をy'と、それぞれ表すとともに、予測式として、1次項のみからなる多項式を採用することとすると、予測式は、式y'=Σwixiで表される。式y'=Σwixiにおいて、Σは、iについてのサメーションを表す。予測式を構成するタップ係数wiは、予測式により得られる値y'の、真値yとの誤差y'-yを統計的に最小にする学習により求められる。タップ係数を求める学習の方法としては、最小自乗法がある。タップ係数を求める学習では、予測式が適用される第1の画像に相当する、学習の生徒となる生徒データ(予測式への入力xi)としての生徒画像と、第1の画像に予測式を適用した結果として得たい第2の画像に相当する、学習の教師となる教師データ(予測式の演算により求められる予測値の真値y)としての教師画像とを用いて、正規方程式を構成する各項の係数の足し込み(係数のサメーション)を行うことにより、正規方程式が求められ、その正規方程式を解くことにより、タップ係数が求められる。
【0030】
予測処理とは、第1の画像に、予測式を適用して、第2の画像を予測する処理であり、予測処理では、第1の画像の画素(の画素値)を用いて、予測式の演算としての積和演算を行うことにより、第2の画像の予測値が求められる。第1の画像を用いて積和演算を行うことは、第1の画像にフィルタをかけるフィルタ処理ということができ、第1の画像を用いて、予測式の積和演算(予測式の演算としての積和演算)を行う予測処理は、フィルタ処理の一種であるということができる。
【0031】
フィルタ画像とは、フィルタ処理の結果得られる画像を意味する。予測処理としてのフィルタ処理により、第1の画像から得られる第2の画像(の予測値)は、フィルタ画像である。
【0032】
タップ係数とは、予測式である多項式の各項を構成する係数であり、ディジタルフィルタのタップにおいて、フィルタリングの対象の信号に乗算されるフィルタ係数に相当する。
【0033】
予測タップとは、予測式の演算に用いられる画素(の画素値)であり、予測式において、タップ係数と乗算される。予測タップには、画素(の画素値)そのものの他、画素から求められる値、例えば、あるブロック内の画素(の画素値)の総和や平均値等が含まれる。
【0034】
ここで、予測式の演算に用いる予測タップとしての画素等を選択することは、ディジタルフィルタのタップに、入力となる信号を供給する接続線を張る(配する)ことに相当することから、予測式の演算に用いる予測タップとしての画素を選択することを、「予測タップを張る」ともいう。クラスタップについても、同様である。
【0035】
クラス分類とは、画素を複数のクラスのうちのいずれかのクラスに分類することを意味する。クラス分類は、例えば、クラスタップ等を用いて行われる。
【0036】
クラスタップとは、クラス分類に用いられる画素(の画素値)である。クラスタップを用いたクラス分類は、例えば、クラスタップ(となっている画素)の画像特徴量を閾値処理することにより行うことができる。なお、クラス分類は、クラスタップを用いて行う他、取得可能情報に含まれる符号化情報を用いて行うことができる。例えば、符号化装置及び復号装置において、デブロッキングフィルタがかけられる場合、クラス分類は、符号化情報としての、デブロッキングフィルタに関するDF(Deblocking Filter)情報を用いて行うことができる。具体的には、例えば、デブロッキングフィルタにおいて、ストロングフィルタ又はウィークフィルタのうちのいずれが適用されたかや、いずれも適用されなかったということをDF情報として画素ごとに用いて、クラス分類を行うことができる。
【0037】
高次項とは、予測式としての多項式を構成する項のうちの、2個以上の予測タップ(としての画素)の積を有する項である。
【0038】
D次項とは、予測式としての多項式を構成する項のうちの、D個の予測タップの積を有する項である。例えば、1次項は、1個の予測タップを有する項であり、2次項は、2個のタップ係数の積を有する項である。
【0039】
D次係数とは、D次項を構成するタップ係数を意味する。
【0040】
D次タップとは、D次項を構成する予測タップ(としての画素)を意味する。ある1個の画素が、D次タップであり、かつ、D次タップとは異なるD’次タップであることもある。また、D次タップのタップ構造と、D次タップとは異なるD’次タップのタップ構造とは、同一である必要はない。
【0041】
タップ構造とは、(例えば、注目画素の位置を基準とする、)予測タップやクラスタップとしての画素の配置を意味する。タップ構造は、予測タップやクラスタップのタップの張り方、ということもできる。
【0042】
DC予測式とは、DC項を含む予測式である。
【0043】
DC項とは、予測式としての多項式を構成する項のうちの、予測タップとしての画像のDC成分を表す値とタップ係数との積の項である。
【0044】
DCタップとは、DC項の予測タップ、すなわち、DC成分を表す値を意味する。
【0045】
DC係数とは、DC項のタップ係数を意味する。
【0046】
1次予測式とは、1次項のみからなる予測式である。
【0047】
高次予測式とは、高次項を含む予測式、すなわち、1次項と2次以上の高次項とからなる予測式や、2次以上の高次項のみからなる予測式である。
【0048】
第1の画像の画素のうちの予測に用いるi番目の予測タップ(画素値等)をxiと、i番目のタップ係数をwiと、予測式により求める第2の画像の画素(の画素値の予測値)をyと、それぞれ表すこととすると、1次予測式は、式y=Σwixiで表される。
【0049】
また、1次項及び2次項のみからなる高次予測式は、例えば、式y=Σwixi+Σ(Σwj,kxk)xjで表される。
【0050】
さらに、例えば、1次予測式にDC項を含ませたDC予測式は、例えば、式Σwixi+wDCBDCBで表される。ここで、wDCBは、DC係数を表し、DCBは、DCタップを表す。
【0051】
1次予測式、高次予測式、及び、DC予測式のタップ係数は、いずれも、上述したような最小自乗法による学習を行うことにより求めることができる。
【0052】
タップ係数のボリューム化とは、予測式を構成するタップ係数を多項式で近似すること、すなわち、その多項式を構成する係数(種係数)を求めることを意味する。
【0053】
係数予測式とは、ボリューム化において、タップ係数wを近似する多項式である。係数予測式は、種係数βmとパラメータzとを用いた項で構成され、例えば、式w=Σβmzm-1で表される。式w=Σβmzm-1において、Σは、mについてのサメーションを表し、種係数βmは、係数予測式のm番目の係数を表す。係数予測式w=Σβmzm-1によれば、パラメータzを変数として、様々なタップ係数wが近似される。パラメータzとしては、例えば、取得可能情報に応じた値(例えば、量子化パラメータQPと同一の値等)を採用することができる。また、パラメータzとしては、その他、例えば、符号化効率(例えば、RD(Rate-Distortion)コスト等)を最良にすること等の所定の指標に基づいて、適応的に選択する(決める)ことができる。
【0054】
係数予測式w=Σβmzm-1において、サメーション(Σ)をとる変数mの最大値Mは、あらかじめ固定の値に決めておくことができる。また、変数mの最大値Mは、その他、例えば、符号化効率を最良にすること等の所定の指標に基づいて、適応的に選択することができる。
【0055】
種係数とは、ボリューム化に用いられる係数予測式の係数を意味する。種係数は、タップ係数を求める学習と同様の学習により求めることができる。すなわち、例えば、係数予測式w=Σβmzm-1を構成する種係数βmは、例えば、係数予測式w=Σβmzm-1により得られる値(タップ係数の予測値)w'の、真値wとの誤差w'-wを統計的に最小にする学習を、最小自乗法により行うことにより求めることができる。種係数βmを求める学習は、例えば、ある量子化パラメータQPで符号化されて復号された復号画像から元画像を予測する予測式のタップ係数を教師データとするとともに、その量子化パラメータQPに応じたパラメータzを生徒データとして用いて行うことができる。
【0056】
予測方法とは、予測式を用いた予測処理の方法を意味する。予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位(同一のタップ係数の予測式を適用する画素の単位)等によって規定(画定)される。
【0057】
予測方法情報とは、予測方法を表す情報である。予測方法情報は、予測処理に用いる予測式を表す情報や、予測タップのタップ構造を表す情報、予測処理を行う単位を表す情報を、必要に応じて含む。
【0058】
クラス分類方法とは、クラス分類の方法を意味する。クラス分類方法は、例えば、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位(クラス分類において、同一のクラスに分類する画素の単位)等によって規定される。
【0059】
分類方法情報とは、クラス分類方法を表す情報である。分類方法情報は、クラス分類に用いる画像特徴量等を表す情報や、クラスタップのタップ構造を表す情報、クラス分類を行う単位を表す情報を、必要に応じて含む。
【0060】
係数情報とは、予測式を構成するタップ係数に関係する情報である。係数情報には、タップ係数に関係する様々な情報が採用され得る。例えば、係数情報には、タップ係数そのもの、タップ係数を求める係数予測式を構成する種係数、又は、タップ係数若しくは種係数を識別する係数ID(identification)が含まれる。係数IDは、復号装置にプリセットされている複数セットのタップ係数若しくは種係数、又は、復号装置が既に受信しているタップ係数若しくは種係数の中から、予測処理に用いるタップ係数若しくは種係数のセットを指定するときに用いることができる。また、係数情報が種係数又は種係数を識別する係数IDを含む場合には、係数情報は、さらに、係数予測式の計算に用いるパラメータzや、係数予測式の次数を、必要に応じて含む。係数予測式の次数とは、例えば、係数予測式が式w=Σβmzm-1で表される場合の、サメーション(Σ)をとる変数mの最大値Mより1だけ小さい値M-1である。係数予測式の次数によれば、係数予測式w=Σβmzm-1に従って、タップ係数wを求めるときのサメーション(Σ)の範囲を特定することができる。
【0061】
<本技術の概要>
【0062】
図1は、符号化されて復号(局所復号を含む)された復号画像から、その復号画像に対する元画像を予測する予測処理としてのフィルタ処理に用いられる予測式の第1の例を説明する図である。
【0063】
復号画像から、その復号画像に対する元画像を予測する予測処理(としてのフィルタ処理)に用いる予測式としては、例えば、図1に示すような式(1)の予測式を採用することができる。
【0064】
y=Σwnxn
・・・(1)
【0065】
式(1)の予測式y=Σwnxnにおいて、yは、復号画像の注目する注目画素に対応する元画像の対応画素(の画素値の予測値)を表し、Σは、nを1からNまでの整数に変えてのサメーションを表す。また、wnは、n番目のタップ係数を表し、xnは、注目画素についてn番目の予測タップとして選択される復号画像の画素(の画素値)を表す。Nは、予測式y=Σwnxnを構成するタップ係数wn(及び予測タップxn)の数を表す。
【0066】
予測式y=Σwnxnは、1次項のみからなる1次予測式であり、1次予測式によれば、それほどデータ量が多くないタップ係数wnで、その1次予測式を復号画像に適用することにより得られるフィルタ画像の画質を向上させることができる。但し、1次予測式では、元画像のディテールを、精度良く復元することが困難な場合がある。
【0067】
予測処理に用いる予測式としては、1次予測式の他、画素xnが2次以上の高次の多項式である高次予測式や、DC項を含む多項式であるDC予測式等を採用することができる。
【0068】
図2は、予測処理としてのフィルタ処理に用いられる予測式の第2の例を説明する図である。
【0069】
予測処理に用いる予測式としては、例えば、図2に示すような高次予測式を採用することができる。
【0070】
高次予測式としては、1個のタップ係数と、1個以上の予測タップとしての画素(の画素値)との積を項とし、高次項(2次以上の高次の項)を含む多項式であれば、任意の多項式を採用することができる。すなわち、高次予測式としては、例えば、1次項(1次の項)及び2次項(2次の項)のみからなる多項式や、1次項及び2次以上の複数の異なる次数の高次項からなる多項式、2次以上の1又は複数の次数の高次項からなる多項式等を採用することができる。
【0071】
但し、以下では、説明を簡単にするため、図2に示すような、1次項及び2次項のみからなる式(2)の多項式を、高次予測式に採用する場合について説明する。
【0072】
y=Σwixi+Σ(Σwj,kxk)xj
・・・(2)
【0073】
図2に示すように、式(2)において、wixiは1次項を表し、wj,kxkxjは2次項を表す。したがって、式(2)の高次予測式は、1次項及び2次項のみからなる多項式である。以下、1次項及び2次項のみからなる式(2)の高次予測式を、2次予測式ともいう。
【0074】
式(2)において、1次項wixiのサメーション(Σ)は、変数iを1からN1までの範囲の整数に変えてとられる。N1は、予測タップのうちの1次タップ(1次項の予測タップ)としての画素xiの数、及び、タップ係数のうちの1次係数(1次項のタップ係数)wiの数を表す。wiは、タップ係数のうちの、i番目の1次係数を表す。xiは、予測タップのうちのi番目の1次タップとしての画素(の画素値)を表す。
【0075】
また、式(2)において、2次項wj,kxkxjの2つのサメーションのうちの1つ目のサメーションは、変数jを1からN2までの範囲の整数に変えてとられ、2つ目のサメーションは、変数kをjからN2までの範囲の整数に変えてとられる。N2は、予測タップのうちの2次タップ(2次項の予測タップ)としての画素xj(xk)の数、及び、タップ係数のうちの2次係数(2次項のタップ係数)wj,kの数を表す。wj,kは、タップ係数のうちの、j×k番目の2次係数を表す。xj及びxkは、それぞれ、予測タップのうちのj番目及びk番目の2次タップとしての画素を表す(k>=j)。
【0076】
なお、ここでは、式(2)の説明のために、1次タップをxiで表すとともに、2次タップをxj及びxkで表すこととしたが、以下では、xに付すサフィックスによって、1次タップと2次タップとを、特に区別しない。すなわち、例えば、1次タップ及び2次タップのいずれであっても、例えば、xn等を用いて、1次タップxnや2次タップxn、あるいは、予測タップxn等と記載する。タップ係数である1次係数wi及び2次係数wj,kについても、同様である。
【0077】
いま、予測タップとなる画素の候補としてあらかじめ決められた候補画素すべてを予測タップとして用い、かつ、候補画素から重複を許してD個の画素を選択する全通りの組み合わせそれぞれのD個の画素(の画素値)の積の項を、D次項として有する高次予測式を、全通り予測式ということとする。
【0078】
式(2)の高次予測式は、1次タップの候補画素の数がN1個であり、2次タップの候補画素の数がN2個である場合の全通り予測式になっている。
【0079】
1次タップとしての画素の数がN1個である場合、全通り予測式の1次項(及び1次係数)の数N1'は、1次タップの数N1に等しい。2次タップとしての画素の数がN2個である場合、全通り予測式の2次項(及び2次係数)の数N2'は、式N2'=N2C2+N2で表される。N2C2は、N2個から2個を重複なしで選択する組み合わせの数を表す。
【0080】
式(2)のような高次予測式によれば、その高次予測式を復号画像に適用することにより得られるフィルタ画像において、1次予測式では困難であった元画像のディテールを、精度良く復元することができる。但し、高次予測式では、2次係数の数N2'が、式N2'=N2C2+N2で表されるため、2次タップの候補画素の数N2が多いと、2次係数の数N2'が膨大となり、符号化装置から復号装置に伝送するタップ係数(特に、2次係数)のデータ量が多くなって、符号化効率が低下することがあり得る。
【0081】
図3は、予測処理としてのフィルタ処理に用いられる予測式の第3の例を説明する図である。
【0082】
すなわち、図3は、DC予測式の第1の例を説明する図である。
【0083】
なお、本実施の形態では、説明を簡単にするため、DC予測式として、1次予測式にDC項を含ませた予測式を採用することとする。但し、DC予測式としては、高次予測式にDC項を含ませた予測式を採用することができる。
【0084】
DC予測式は、例えば、式(3)で表される。
【0085】
y=WX
・・・(3)
【0086】
式(3)において、Wは、タップ係数を要素とする行ベクトル(列ベクトルを転置したベクトル)を表し、Xは、予測タップを要素とする列ベクトルを表す。
【0087】
式(3)のDC予測式は、図3に示すように、タップ係数として、N個の1次係数w1, w2, ..., wNと4個のDC係数wDC1, wDC2, wDC3, wDC4とを有する。さらに、式(3)のDC予測式は、図3に示すように、予測タップとして、N個の1次タップx1, x2, ..., xNと4個のDCタップDC1, DC2, DC3, DC4を有する。
【0088】
この場合、式(3)のDC予測式は、式(4)で表される。
【0089】
y=Σwnxn+ΣwDC#iDC#i
・・・(4)
【0090】
式(4)において、右辺の1つ目のサメーションは、nを1からNまでの範囲の整数に変えてのサメーションを表し、右辺の2つ目のサメーションは、iを1,2,3,4に変えてのサメーションを表す。
【0091】
式(4)のDC予測式において、wDC#iDC#iがDC項であり、したがって、式(4)のDC予測式は、4個のDC項を有する。
【0092】
図4は、式(4)のDCタップDC#iを説明する図である。
【0093】
DCタップDC#iとしては、図4に示すように、復号画像の注目画素を含むブロック(以下、注目ブロックともいう)の上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値(や総和)を採用することができる。DCタップDC#iとしての画素値の平均値を求めるブロックとしては、例えば、デブロッキングフィルタがかけられるブロックを採用することができる。
【0094】
式(4)のようなDC予測式によれば、DC項の効果により、そのDC予測式を復号画像に適用することにより得られるフィルタ画像において、ブロック歪み等の符号化歪みを大きく抑制することができる。但し、DC予測式では、例えば、高次予測式ほどではないが、それでも、DC項がない1次予測式と比較して、DC項の分だけ、タップ係数のデータ量が多くなる。
【0095】
図5は、DC予測式の第2の例を説明する図である。
【0096】
式(3)のDC予測式は、図5に示すように、タップ係数として、N個の1次係数w1, w2, ..., wNと1個のDC係数wDCBとを有することができる。さらに、式(3)のDC予測式は、図5に示すように、予測タップとして、N個の1次タップx1, x2, ..., xNと1個のDCタップDCBを有することができる。
【0097】
この場合、式(3)のDC予測式は、式(5)で表される。
【0098】
y=Σwnxn+wDCBDCB
・・・(5)
【0099】
式(5)のDC予測式において、wDCBDCBがDC項であり、したがって、式(5)のDC予測式は、DC項を1項だけ有する。
【0100】
式(5)のDC項wDCBDCBを構成するDCタップDCBとしては、図4に示した注目ブロックの上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値(や総和)を用いた、注目画素と注目ブロックの上下左右に隣接するブロックそれぞれとの距離に応じた補間を行うことにより得られる補間値を採用することができる。かかる補間には、線形補間やバイリニア補間その他の補間を採用することができる。
【0101】
式(5)のDC予測式によれば、式(4)のDC予測式と同様に、ブロック歪み等の符号化歪みを大きく抑制することができる。さらに、式(5)のDC予測式では、式(4)のDC予測式に比較して、DC項が少ないので、その分だけ、タップ係数(DC係数)のデータ量を少なくすることができる。
【0102】
図6は、タップ係数のボリューム化を説明する図である。
【0103】
ボリューム化では、予測式を構成するタップ係数を多項式で近似する場合の種係数、すなわち、タップ係数を近似する多項式である係数予測式の係数が求められる。
【0104】
ボリューム化において、タップ係数wnを求める(近似する)係数予測式は、例えば、図6に示すように、式(6)で表される。
【0105】
wn=Σβm,nzm-1
・・・(6)
【0106】
ここで、式(6)において、wnは、n番目のタップ係数を表し、Σは、mを1からMまでの整数に変えてのサメーションを表す。βm,nは、n番目のタップ係数wnを求める係数予測式のm番目の種係数を表し、zは、種係数βm,nを用いて、タップ係数wnを求めるのに用いられるパラメータ(ボリューム)を表す。係数予測式によれば、様々なパラメータzを与えることにより、種係数βm,nから、様々な性質(画質、動き量、シーン等)の復号画像に適したタップ係数wn(様々な性質の復号画像について、元画像との誤差が少ないフィルタ画像を生成することができるタップ係数wn)を得ることができる。
【0107】
なお、種係数は、1次予測式のタップ係数は勿論、高次予測式やDC予測式のタップ係数、その他、任意の予測式のタップ係数について求めることができる。
【0108】
ここで、種係数βm,nによれば、パラメータzを与えることにより、係数予測式から、タップ係数wnを求めることができるので、種係数βm,nは、タップ係数wnと(ほぼ)等価な情報である、ということができる。
【0109】
符号化装置及び復号装置において、ILFのフィルタ処理として、種係数から得られるタップ係数で構成される予測式を用いた予測処理を採用する場合、係数予測式のパラメータzは、例えば、符号化ビットストリームから取得可能な取得可能情報を用いて生成することができる。
【0110】
取得可能情報には、例えば、符号化ビットストリームに含まれる量子化パラメータQP等の符号化情報や、符号化ビットストリームに含まれる符号化データを復号することにより得られる復号画像の画像特徴量がある。
【0111】
パラメータz(の値)としては、符号化情報に応じた値や、復号画像の画像特徴量に応じた値を採用することができる。
【0112】
例えば、復号画像の注目画素の(ブロック(CU(Coding Unit)等)の)量子化パラメータQPや、注目画素のフレームの量子化パラメータQPの平均値、注目画素のフレームの画素のうちの、注目画素のクラスにクラス分類される画素(のブロック)の量子化パラメータQPの平均値を、変数QPとして、その変数QPを、パラメータzとして採用すること(z=QP)や、変数QPを引数とする関数f(QP)の関数値を、パラメータzとして採用すること(z=f(QP))ができる。
【0113】
また、例えば、復号画像の注目画素Iの画像特徴量(例えば、注目画素Iの動き量)や、注目画素Iを含む局所領域の画像特徴量(例えば、局所領域の動き量)、注目画素Iのフレーム全体の画像特徴量(全画面動きの動き量)を、変数q(I)として、その変数q(I)を引数とする関数f(q(I))の関数値を、パラメータzとして採用すること(z=f(q(I)))ができる。
【0114】
さらに、変数QP及びq(I)のうちの一方の他、その両方を引数とする関数f(QP, q(I))の関数値を、パラメータzとして採用すること(z=f(QP, q(I)))ができる。
【0115】
ここで、取得可能情報は、符号化装置では勿論、復号装置でも、符号化ビットストリームから得ることができる。したがって、パラメータz(の値)として、取得可能情報に応じた値を採用する場合には、符号化装置から復号装置に対して、パラメータzを伝送する必要がない。
【0116】
また、パラメータzは、取得可能情報に応じて生成する他、元画像に応じて生成することができる。例えば、元画像の画像特徴量に応じた値や、元画像を用いて求められる復号画像のPSNR(Peak signal-to-noise ratio)等に応じた値等を、パラメータzとして採用することができる。但し、元画像は、復号装置で得ることができないため、パラメータzを、元画像に応じて生成する場合には、例えば、その元画像に応じて生成したパラメータzを、符号化ビットストリームに含めること等によって、符号化装置から復号装置に伝送する必要がある。
【0117】
図7は、本技術を適用した画像処理システムの一実施の形態の概要を示すブロック図である。
【0118】
図7において、画像処理システムは、符号化装置20及び復号装置30を有する。
【0119】
符号化装置20は、符号化部21、局所復号部22、及び、フィルタ部23を有する。
【0120】
符号化部21には、符号化対象の画像である元画像(データ)が供給されるとともに、フィルタ部23からフィルタ画像が供給される。
【0121】
符号化部21は、フィルタ部23からのフィルタ画像を用いて、元画像を、例えば、CU等の所定のブロック単位で(予測)符号化し、その符号化により得られる符号化データを、局所復号部22に供給する。
【0122】
すなわち、符号化部21は、フィルタ部23からのフィルタ画像の動き補償を行って得られる元画像の予測画像を、元画像から減算し、その結果得られる残差を符号化する。
【0123】
符号化部21には、フィルタ部23からフィルタ情報が供給される。
【0124】
符号化部21は、符号化データと、フィルタ部23からのフィルタ情報とを含む符号化ビットストリームを生成して伝送(送信)する。
【0125】
局所復号部22には、符号化部21から符号化データが供給される他、フィルタ部23からフィルタ画像が供給される。
【0126】
局所復号部22は、符号化部21からの符号化データの局所復号を、フィルタ部23からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像を、フィルタ部23に供給する。
【0127】
すなわち、局所復号部22は、符号化部21からの符号化データを残差に復号し、その残差に、フィルタ部23からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
【0128】
フィルタ部23は、局所復号部22からの復号画像に、予測式を適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成して、符号化部21及び局所復号部22に供給する。
【0129】
また、フィルタ部23は、フィルタ処理を行うにあたり、必要に応じて、予測式を構成するタップ係数を求める学習や、種係数を求める学習を行う。そして、フィルタ部23は、タップ係数又は種係数、その他のフィルタ処理に関する情報を必要に応じて含むフィルタ情報を、符号化部21に供給する。
【0130】
復号装置30は、パース部31、復号部32、及び、フィルタ部33を有する。
【0131】
パース部31は、符号化装置20が伝送する符号化ビットストリームを受信してパースを行い、そのパースにより得られるフィルタ情報を、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給する。
【0132】
復号部32には、パース部31から符号化データが供給される他、フィルタ部33からフィルタ画像が供給される。
【0133】
復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて、例えば、CU等の所定のブロック単位で行い、その結果得られる復号画像を、フィルタ部33に供給する。
【0134】
すなわち、復号部32は、局所復号部22と同様に、パース部31からの符号化データを残差に復号し、その残差に、フィルタ部33からのフィルタ画像の動き補償を行って得られる元画像の予測画像を加算することで、元画像を復号した復号画像を生成する。
【0135】
フィルタ部33は、復号部32からの復号画像に、フィルタ部23と同様のフィルタ処理を行い、フィルタ画像を生成して、復号部32に供給する。
【0136】
フィルタ部33は、フィルタ処理を行うにあたり、必要に応じて、パース部31からのフィルタ情報を用いる。また、フィルタ部33は、フィルタ処理により得られる(生成される)フィルタ画像を、復号部32に供給する他、元画像を復元した復元画像として出力する。
【0137】
上述したように、符号化装置20において、フィルタ部23は、フィルタ処理に用いる予測式を構成するタップ係数を求める学習、又は、そのタップ係数を近似する係数予測式を構成する種係数を求める学習を行うことができる。
【0138】
フィルタ部23において、タップ係数を求める学習が行われる場合、フィルタ部23は、そのタップ係数で構成される予測式を用いて、フィルタ処理を行う。さらに、そのタップ係数は、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。復号装置30のフィルタ部33では、符号化装置から伝送されてくるフィルタ情報に含まれるタップ係数で構成される予測式を用いて、フィルタ処理が行われる。
【0139】
フィルタ部23において、種係数を求める学習が行われる場合、フィルタ部23は、その種係数とパラメータzとから求められるタップ係数で構成される予測式を用いて、フィルタ処理を行う。さらに、その種係数は、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。復号装置30のフィルタ部33では、符号化装置から伝送されてくるフィルタ情報に含まれる種係数とパラメータzとから求められるタップ係数で構成される予測式を用いて、フィルタ処理が行われる。
【0140】
なお、フィルタ部23において、種係数を求める学習が行われる場合、その種係数とともにタップ係数を求めるのに用いられるパラメータzとして、取得可能情報に応じた値が採用される場合には、パラメータzは、符号化装置20から復号装置30に伝送されない。但し、パラメータzを、例えば、元画像等の、取得可能情報ではない情報に応じて生成する場合には、パラメータzは、種係数とともに、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。
【0141】
また、フィルタ部23及び33には、タップ係数又は種係数をプリセットしておくことができる。
【0142】
フィルタ部23及び33に、複数セットのタップ係数又は種係数がプリセットされ、フィルタ部23が、複数セットのタップ係数又は種係数から1セットのタップ係数又は種係数を選択して、その1セットのタップ係数を用いて、フィルタ処理を行う場合、フィルタ処理に用いられる1セットのタップ係数又は種係数を識別する係数IDが、フィルタ情報に含められ、符号化装置20から復号装置30に伝送される。
【0143】
なお、フィルタ部23において、タップ係数又は種係数を求める学習が行われる場合、その学習により求められたタップ係数又は種係数が、過去に、符号化装置20から復号装置30に伝送されたタップ係数又は種係数に(ほぼ)一致するときには、学習により求められたタップ係数又は種係数に代えて、そのタップ係数又は種係数を識別する係数IDを、フィルタ情報に含めて、符号化装置20から復号装置30に伝送することができる。
【0144】
また、フィルタ部23及び33では、係数予測式として、1次予測式、高次予測式、及び、DC予測式のうちのいずれをも採用することができる。
【0145】
1次予測式によれば、それほどデータ量が多くないタップ係数で、その1次予測式を復号画像に適用することにより得られるフィルタ画像の画質を向上させることができる。高次予測式によれば、1次予測式では困難であった元画像のディテールを、精度良く復元することができ、これにより、フィルタ画像の画質を向上させることができる。DC予測式によれば、ブロック歪み等の符号化歪みを大きく抑制することができ、これにより、フィルタ画像の画質を向上させることができる。
【0146】
ところで、フィルタ処理、すなわち、予測式を用いた予測処理には、その予測処理の方法である予測方法に得失がある。予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定されるが、例えば、あるタップ構造の予測タップや、ある予測式では、復号画像によっては、予測処理により得られるフィルタ画像の画質を十分に向上させることができないこと、すなわち、例えば、復号画像の僅かな波形変化に対して、元画像の対応する波形変化を、フィルタ画像において十分に復元することができないことがある。
【0147】
そこで、本技術では、複数の予測方法を用意し、その複数の予測方法の中から、予測処理に採用する採用予測方法を適応的に選択して、その採用予測方法の予測処理を行うことで、フィルタ画像の画質を十分に向上させることができるようにする。複数の予測方法の中には、DC予測式を用いる予測方法を、少なくとも含めることができる。
【0148】
また、フィルタ部23及び33において、復号画像を対象とする予測処理は、復号画像の画素のクラス分類を行い、そのクラス分類により得られるクラスごとに行うことができる。クラス分類方法は、例えば、クラス分類に用いる画像特徴量等の情報や、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定されるが、固定のクラス分類方法では、例えば、復号画像が波形が鈍った低画質の画像である場合に、復号画像の画素を適切に分類することができず、予測処理で最終的に得られるフィルタ画像の画質を十分に向上させることができないことがある。
【0149】
そこで、本技術では、複数のクラス分類方法を用意し、その複数のクラス分類方法の中から、クラス分類に採用する採用クラス分類方法を適応的に選択して、その採用クラス分類方法のクラス分類を行うことで、フィルタ画像の画質を十分に向上させることができるようにする。
【0150】
ここで、クラスごとに行われる予測処理を、クラス分類予測処理ともいう。クラス分類予測処理の基本的な原理については、例えば、特開2005-236633に記載されている。
【0151】
クラス分類予測処理において、採用クラス分類方法や採用予測方法を適応的に選択する(切り替える)ことにより、様々なシーンの復号画像に対して得られるフィルタ画像の画質を向上させることができる。採用クラス分類方法や採用予測方法等を表す情報は、少ない情報量で、符号化装置20から復号装置30に伝送することができる。
【0152】
図8は、採用クラス分類方法や採用予測方法を適応的に選択してクラス分類予測処理としてのフィルタ処理を行うフィルタ部23及び33の構成例を示すブロック図である。
【0153】
図8において、フィルタ部23は、クラス分類部41、予測部42、選択部43、DB(database)44、クラス分類部45、及び、予測部46を有する。
【0154】
クラス分類部41には、復号画像が供給される。クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の各画素に対して行い、復号画像の各画素のクラスを、予測部42に供給する。
【0155】
図8では、クラス分類部41は、ADRC(Adaptive Dynamic Range Coding)によるクラス分類とALF型のクラス分類との2種類のクラス分類方法でクラス分類を行う。
【0156】
ADRCによるクラス分類では、復号画像から、クラスタップとしての画素が選択され、そのクラスタップを対象として、ADRCが行われる。LビットADRCでは、例えば、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの差であるダイナミックレンジDR=MAX-MINが求められる。さらに、クラスタップとしての各画素の画素値から、最小値MINが減算され、その減算値がDR/2Lで除算(再量子化)される。そして、以上のようにして得られる、クラスタップとしてのLビットの各画素の画素値を、所定の順番で並べたビット列が、ADRCコードとして出力される。
【0157】
したがって、例えば、1ビットADRCでは、クラスタップとしての各画素の画素値は、最大値MAXと最小値MINとの平均値で除算され(小数点以下切り捨て)、これにより、各画素の画素値が1ビットとされる(2値化される)。すなわち、1ビットADRCでは、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの平均値を、画素値を分類する分類閾値として、クラスタップとしての各画素の画素値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。そして、量子化後の1ビットの画素値を所定の順番で並べたビット列が、ADRCコードとして出力される。
【0158】
ADRCによるクラス分類では、かかるADRCコード(が表す値)が、クラスを表す。
【0159】
ここで、以下では、特に断らない限り、ADRCは、1ビットADRCを意味することとする。
【0160】
ALF型のクラス分類では、既存のALFと同様のクラス分類が行われる。
【0161】
なお、図8では、説明を簡単にするため、クラス分類部41が、2種類のクラス分類方法それぞれでクラス分類を行うこととしたが、クラス分類部41では、1種類又は3種類以上のクラス分類方法それぞれでクラス分類を行うことができる。
【0162】
予測部42には、クラス分類部41から複数のクラス分類方法それぞれについて得られた復号画像の各画素のクラスが供給される他、元画像及び復号画像が供給される。
【0163】
予測部42は、複数の予測方法それぞれについて、復号画像及びその復号画像に対応する元画像をそれぞれ生徒データ及び教師データとして用いてタップ係数を求める学習(以下、タップ係数学習ともいう)を、クラス分類部41からの複数のクラス分類方法それぞれについて得られたクラスごとに行うことにより、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、その組み合わせのクラス分類方法でクラス分類を行い、その組み合わせの予測方法の予測処理を行う場合に用いられるクラスごとのタップ係数を求める。
【0164】
さらに、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、タップ係数学習により求められたタップ係数で構成される予測式を、復号画像に適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
【0165】
予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、フィルタ画像と元画像とを比較することにより、フィルタ画像のPSNRを求めるとともに、元画像の符号化を行って得られる符号化データと、その符号化データの復号に必要な情報(動きベクトル等の符号化情報や、タップ係数等)とを含む符号化ビットストリームのデータ量を求める。
【0166】
そして、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、PSNR、符号化ビットストリームのデータ量、クラス分類方法を表す分類方法情報、予測方法を表す予測方法情報、及び、タップ係数に関する係数情報を対応付けて、選択部43に供給する。
【0167】
予測部42において、タップ係数学習が行われる場合、係数情報は、そのタップ係数学習で求められるタップ係数である。
【0168】
図8では、予測部42は、DC予測式を用いる予測処理と、1次予測式を用いる予測処理との2種類の予測方法で予測処理を行う。
【0169】
なお、図8では、説明を簡単にするため、予測部42が、2種類の予測方法それぞれで予測処理を行うこととしたが、予測部42では、3種類以上の予測方法それぞれで予測処理を行うことができる。
【0170】
選択部43は、予測部42からPSNR、符号化ビットストリームのデータ量、分類方法情報、予測方法情報、及び、係数情報が供給される複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、符号化効率が最良の組み合わせを選択する。
【0171】
すなわち、選択部43は、例えば、予測部42から供給される、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、その組み合わせにおけるPSNR及び符号化ビットストリームのデータ量を用いて、符号化効率としての、例えば、RDコストを求める。さらに、選択部43は、RDコストが最良の組み合わせのクラス分類方法及び予測方法を、クラス分類及び予測処理に採用する採用クラス分類方法及び採用予測方法それぞれに選択する。
【0172】
また、選択部43は、採用クラス分類方法及び採用予測方法の組み合わせにおける係数情報としてのタップ係数を、予測処理に採用する採用タップ係数に選択し、DB44に供給して記憶させる。
【0173】
採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、DB44に記憶された係数情報としての採用タップ係数は、フィルタ情報に含められ、符号化部21(図7)に供給される。そして、符号化部21において、フィルタ情報は、符号化ビットストリームに含められ、符号化装置20から復号装置30に伝送される。
【0174】
符号化装置20から復号装置30へのフィルタ情報の伝送(フィルタ情報の生成や、タップ係数学習等も同様)は、例えば、ピクチャ単位、スライス単位、タイル単位、その他の任意のブロック単位で行うことができる。
【0175】
選択部43は、採用クラス分類方法を表す分類方法情報を、クラス分類部45に供給するとともに、採用予測方法を表す予測方法情報を、予測部46に供給する。
【0176】
クラス分類部45には、選択部43から分類方法情報が供給される他、復号画像が供給される。クラス分類部45は、選択部43からの分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部46に供給する。
【0177】
予測部46には、選択部43から採用予測方法を表す予測方法情報が供給されるとともに、クラス分類部45から、復号画像の各画素のクラスが供給される他、復号画像が供給される。
【0178】
予測部46は、DB44に記憶された係数情報としての(採用)タップ係数のうちのクラス分類部45からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、選択部43からの予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、符号化部21及び局所復号部22(図8)に供給する。
【0179】
図8において、フィルタ部33は、クラス分類部51、及び、予測部52を有する。
【0180】
復号装置30では、パース部31(図7)において、符号化装置20からの符号化ビットストリームに含まれるフィルタ情報がパースされ、フィルタ部33に供給される。
【0181】
フィルタ部33において、フィルタ情報に含まれる分類方法情報は、クラス分類部51に供給され、フィルタ情報に含まれる予測方法情報及び係数情報は、予測部52に供給される。
【0182】
クラス分類部51には、分類方法情報が供給される他、復号画像が供給される。クラス分類部51は、分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部52に供給する。
【0183】
予測部52には、予測方法情報及び係数情報が供給される他、復号画像が供給される。予測部52は、係数情報としての(採用)タップ係数のうちのクラス分類部51からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、復号部32(図7)に供給する。
【0184】
以上のように、複数のクラス分類方法及び複数の予測方法の中からそれぞれ選択された採用クラス分類方法及び採用予測方法で、クラス分類及び予測処理を行うことにより、様々なシーンの復号画像に対して得られるフィルタ画像の画質を向上させることができる。
【0185】
なお、クラス分類方法は、固定にすることができる。
【0186】
また、図8では、予測部42において、タップ係数を求めるタップ係数学習を行うこととしたが、予測部42では、タップ係数学習に代えて、種係数を求める学習(以下、種係数学習ともいう)を行うことができる。予測部42において、種係数学習が行われる場合、係数情報には、種係数学習により求められるクラスごとの種係数、さらには、必要に応じて、種係数で構成される係数予測式の次数、及び、パラメータzが含まれる。
【0187】
すなわち、種係数学習において、係数予測式の次数が、適応的に選択される場合、係数情報には、その適応的に選択される次数が含まれる。また、パラメータzが、取得可能情報以外の情報に応じて生成される場合、係数情報には、パラメータzが含まれる。
【0188】
また、予測部42では、タップ係数学習を行わず、かつ、予測部42及び52には、あらかじめ行われたタップ係数学習により得られる複数セットのタップ係数をプリセットしておくことができる。この場合、係数情報には、複数セットのタップ係数のうちの、採用予測方法で用いられるタップ係数のセットを識別する係数IDを含めることができる。なお、予測部42において、タップ係数学習を行う場合でも、タップ係数学習により求められた最新のタップ係数が、係数情報として、符号化装置20から復号装置30に過去に伝送されたタップ係数に一致するときには、タップ係数学習により求められた最新のタップ係数に代えて、過去に伝送されたタップ係数を識別する係数IDを、係数情報に含めることができる。以上の点、種係数についても同様である。
【0189】
図9は、図8のクラス分類部51及び予測部52の構成例を示すブロック図である。
【0190】
なお、図8のクラス分類部45及び予測部46も、図9と同様に構成される。
【0191】
クラス分類部51は、クラスタップ選択部61及び分類部62を有する。
【0192】
ここで、クラス分類部51に供給される分類方法情報は、クラス分類に用いる画像特徴量等の情報、クラスタップのタップ構造、及び、クラス分類を行う単位を表す情報を含む。
【0193】
分類方法情報のうちの、クラスタップのタップ構造を表す情報は、クラスタップ選択部61に供給され、クラス分類に用いる画像特徴量等を表す情報、及び、クラス分類を行う単位を表す情報は、分類部62に供給される。
【0194】
クラスタップ選択部61は、復号画像の各画素について、その復号画像から、分類方法情報が表すタップ構造のクラスタップとしての画素を選択し、分類部62に供給する。
【0195】
分類部62は、クラスタップから、分類方法情報が表す画像特徴量を抽出し、その画像特徴量を用いて、復号画像の各画素のクラス分類を行う。
【0196】
クラスタップから抽出される画像特徴量としては、例えば、ADRCコード(波形パターン)や、クラスタップとしての画素の画素値の最大値と最小値との差分であるDR(Dynamic Range)、クラスタップにおいて、水平、垂直、斜め方向に隣接する画素の画素値の差分絶対値の最大値であるDiffMax、DR及びDiffMaxを用いて得られるDiffMax/DR、その他の画像特徴量がある。
【0197】
また、分類部62は、復号画像の各画素のクラス分類を、分類方法情報が表す単位、すなわち、例えば、1画素単位や、横×縦が2×2画素単位等で行う。クラス分類が、例えば、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類される。
【0198】
分類部62によるクラス分類により得られる復号画像の各画素のクラスは、予測部52(のタップ係数取得部65)に供給される。
【0199】
予測部52は、バッファ63、パラメータ取得部64、タップ係数取得部65、予測タップ選択部66、及び、予測演算部67を有する。
【0200】
ここで、予測部52に供給される予測方法情報は、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位を表す情報を含む。また、予測部52に供給される係数情報は、必要に応じて、タップ係数、種係数、係数ID、係数予測式の次数、パラメータzを含む。
【0201】
予測方法情報のうちの、予測処理に用いる予測式を表す情報、及び、予測処理を行う単位を表す情報は、予測演算部67に供給され、予測タップのタップ構造を表す情報は、予測タップ選択部66に供給されるとともに、必要に応じて、タップ係数取得部65に供給される。
【0202】
係数情報のうちの係数予測式の次数や係数IDは、必要に応じて、タップ係数取得部65に供給され、タップ係数又は種係数は、バッファ63に供給される。係数情報のうちのパラメータzは、必要に応じて、パラメータ取得部64に供給される。
【0203】
バッファ63は、係数情報に、クラスごとのタップ係数又は種係数が含まれる場合、そのクラスごとのタップ係数又は種係数を記憶する。
【0204】
パラメータ取得部64は、係数情報にパラメータzが含まれる場合、そのパラメータzを取得し、タップ係数取得部65に供給する。また、パラメータ取得部64は、係数情報にパラメータzが含まれない場合、取得可能情報である符号化情報や復号画像の特徴量から、パラメータzを生成することにより取得し、そのパラメータzを、タップ係数取得部65に供給する。
【0205】
タップ係数取得部65は、バッファ63にクラスごとのタップ係数が記憶される場合、バッファ63に記憶されたクラスごとのタップ係数から、分類部62からの復号画像の画素のクラスのタップ係数を取得し、予測演算部67に供給する。
【0206】
なお、バッファ63に複数セットのクラスごとのタップ係数が記憶され、係数情報に、係数IDが含まれる場合、タップ係数取得部65は、バッファ63に記憶された複数セットのクラスごとのタップ係数のうちの、係数IDによって識別されるクラスごとのタップ係数のセットの中から、分類部62からの復号画像の画素のクラスのタップ係数を取得し、予測演算部67に供給する。
【0207】
また、バッファ63にクラスごとの種係数が記憶される場合、タップ係数取得部65は、バッファ63に記憶されたクラスごとの種係数から、分類部62からの復号画像の画素のクラスの種係数を取得する。そして、タップ係数取得部65は、復号画像の画素のクラスの種係数とパラメータ取得部64からのパラメータzとで構成される係数予測式を演算することにより、分類部62からの復号画像の画素のクラスのタップ係数を求め、予測演算部67に供給する。
【0208】
この場合、タップ係数取得部65は、係数情報に、係数予測式の次数が含まれるときには、その係数情報に含まれる次数によって、係数予測式の次数を認識し、係数予測式の演算を行う。係数情報に、係数予測式の次数が含まれないとき、タップ係数取得部65は、係数予測式の次数がデフォルトの次数であると認識する。また、タップ係数取得部65は、必要に応じて、予測方法情報に含まれる予測タップのタップ構造に関する情報から、係数予測式の演算によって求めるべきタップ係数の個数を認識する。係数予測式の演算によって求めるべきタップ係数の個数が、デフォルトの個数にあらかじめ決められている場合には、予測タップのタップ構造を表す情報を、タップ係数取得部65に供給する必要はない。
【0209】
バッファ63に複数セットのクラスごとの種係数が記憶され、係数情報に、係数IDが含まれる場合、タップ係数取得部65は、バッファ63に記憶された複数セットのクラスごとの種係数のうちの、係数IDによって識別されるクラスごとの種係数のセットの中から、分類部62からの復号画像の画素のクラスの種係数を取得し、その種係数を用いてタップ係数を求める。
【0210】
種係数が用いられない場合、図9において点線で示す部分は、不要となる。すなわち、予測部55は、パラメータ取得部64なしで構成される。また、係数予測式の次数及びパラメータzは、不要となる。さらに、予測タップのタップ構造を表す情報を、タップ係数取得部65に供給する必要はない。
【0211】
以下では、説明を簡単にするため、係数IDを用いないこととし、係数予測式の次数としては、デフォルトの次数を採用することとする。さらに、係数予測式の演算によって求めるべきタップ係数の個数は、デフォルトの個数にあらかじめ決められており、パラメータzは、取得可能情報から生成される(求められる)こととする。
【0212】
したがって、係数情報には、タップ係数又は種係数が含まれるが、係数予測式の次数、係数ID、及び、パラメータzは含まれない。また、予測タップのタップ構造を表す情報は、タップ係数取得部65に供給されない。
【0213】
図10は、クラス分類方法を説明する図である。
【0214】
クラス分類方法は、例えば、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定される。
【0215】
クラスタップのタップ構造には、例えば、クラスタップの平面の形状であるタップ形状が、十字形状である、x字形状である、正方形状である、菱形形状である、といったバリエーションがある。また、クラスタップのタップ構造には、例えば、クラスタップを密に張る、又は、疎らに張る、といったバリエーションや、注目画素を中心として、クラスタップを張る範囲をどの程度の広さの範囲に張るのか、といったバリエーションがある。
【0216】
クラス分類に用いる情報には、例えば、ADRC(コード)や、アクティビティ(様々な方向のアクティビティの他、特定の方向のアクティビティを含む)、後述する差分ADRC(コード)、ADRCとDRとの組み合わせ(ADRC×DR)等のバリエーションがある。また、フィルタ部23及び33の前段に、デブロッキングフィルタや適応オフセットフィルタ等のフィルタ部23及び33以外のフィルタ(以下、前段フィルタともいう)が設けられている場合には、その前段フィルタに関する情報を、クラス分類に用いる情報として採用することができる。例えば、前段フィルタとして、デブロッキングフィルタが設けられている場合には、そのデブロッキングフィルタに関するDF(Deblocking Filter)情報として、ストロングフィルタ又はウィークフィルタのうちのいずれが適用されたかや、いずれも適用されなかったという情報を用いて、クラス分類を行うことができる。なお、前段フィルタに関する情報のみを用いてクラス分類を行う場合には、クラスタップは、不要である。
【0217】
ADRCや差分ADRCによれば、復号画像の細かい波形変化を捉えることができ、そのような細かい波形変化に応じて、画素を分類することができる。アクティビティや、ADRCとDRとの組み合わせによれば、ノイズの画素(ノイズが多い画素)と非ノイズ(エッジやテクスチャ等)の画素とを分類することができる。DF情報によれば、デブロッキングフィルタで生じる歪みの復元に適するように、画素を分類することができる。
【0218】
クラス分類を行う単位には、例えば、1画素単位や、2×2画素単位等のバリエーションがある。クラス分類が、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類される。1画素単位のクラス分類は、復号画像が精細な画像である場合に有効である。2×2画素単位のクラス分類を行う場合に得られるフィルタ画像は、1画素単位のクラス分類を行う場合に得られるフィルタ画像よりもぼけるので、2×2画素単位のクラス分類は、復号画像が低画質の画像である場合に有効である。
【0219】
クラス分類方法を規定するクラスタップのタップ構造、クラス分類に用いる情報、及び、クラス分類を行う単位は、復号画像の画質に関係なく選択することができるが、何らの制限もないと、選択し得るクラス分類方法の数が膨大になることがあり得る。そこで、選択し得るクラス分類方法は、例えば、図10に示すように、復号画像の画質によって分けることができる。
【0220】
例えば、復号画像の画質が高画質である場合、復号画像には、ぼけていない、ディテールが多い、高域の周波数成分が多い、といった特徴があるので、かかる特徴を考慮して、クラス分類に用いる情報としては、ADRC、アクティビティ、又は、差分ADRCを採用することができる。
【0221】
復号画像の画質が高画質である場合、クラスタップのタップ構造としては、クラスタップを密に張ることを採用するとともに、タップ形状を、十字形状、x字形状、正方形状、又は、菱形形状にすることを採用することができる。また、クラス分類を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
【0222】
以上のようなクラス分類方法を採用することにより、高画質の復号画像のエッジ際やディテールの細かい波形変化を捉えて、復号画像の各画素を分類することができる。
【0223】
なお、復号画像の画質が高画質であることは、例えば、量子化パラメータQPが(閾値より)小さいこと、復号画像の1画面(フレーム)の高域の周波数成分が多いこと、復号画像の1画面において、動きがある領域が小さいこと(ぼけていないこと)等により判定することができる。
【0224】
一方、復号画像の画質が低画質である場合、復号画像には、ぼけている、平坦部が多い、低域の周波数成分が多い、といった特徴があるので、かかる特徴を考慮して、クラス分類に用いる情報としては、ADRC、アクティビティ、ADRCとDRとの組み合わせ、又は、DF情報を採用することができる。なお、DF情報は、前段フィルタとして、デブロッキングフィルタが存在する場合にのみ採用し得る。
【0225】
復号画像の画質が低画質である場合、クラスタップのタップ構造としては、クラスタップを疎らに張ること、及び、クラスタップを広範囲に張ることを採用するとともに、タップ形状を、十字形状、x字形状、正方形状、又は、菱形形状にすることを採用することができる。また、クラス分類を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
【0226】
低画質の復号画像では、エッジやディテールのような局所特徴が鈍るので、以上のようなクラス分類方法を採用することにより、低画質の復号画像の広範囲の波形変化を捉えて、ブロック歪み等の符号化歪みを大きく低減することができるように、復号画像の各画素を分類することができる。
【0227】
なお、復号画像の画質が低画質であることは、例えば、量子化パラメータQPが大きいこと、復号画像の1画面の低域の周波数成分が多いこと、復号画像の1画面において、動きがある領域が大きいこと(ぼけていること)等により判定することができる。
【0228】
図11は、予測方法を説明する図である。
【0229】
予測方法は、例えば、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定される。
【0230】
予測タップのタップ構造には、例えば、タップ形状が、13画素、25画素、又は41画素の菱形形状である、といったバリエーションや、予測タップを密に張る、又は、疎らに張る、といったバリエーションがある。さらに、予測タップのタップ構造には、予測タップを、注目画素を中心とする基準範囲全体に張る、基準範囲より狭い範囲に張る、基準範囲より広い範囲にある、といったバリエーションや、予測タップのタップ数(予測タップとしての画素の数)を、基準数より大にする、基準数より小にする、又は、基準数にする、といったバリエーションがある。さらに、予測タップのタップ構造には、予測タップを、注目画素に近い位置については密に張り、注目画素から遠い位置については疎らに張る、といったバリエーションがある。
【0231】
なお、基準範囲とは、例えば、横×縦が7×7画素の範囲等の、あらかじめ決められた範囲である。基準範囲が7×7画素の範囲である場合、基準範囲より狭い範囲としては、例えば、5×5画素の範囲を採用し、基準範囲より広い範囲としては、例えば、9×9画素の範囲を採用することができる。ここでいう範囲は、予測タップとして選択し得る画素の範囲を意味し、その範囲内の画素すべてが、予測タップに選択されるとは限らない。
【0232】
基準数とは、例えば、25画素等の画素数の、あらかじめ決められたタップ数(画素数)である。基準数が25画素(注目画素を中心とする菱形形状の25画素)である場合、基準数より大きいタップ数としては、例えば、41画素(注目画素を中心とする菱形形状の41画素)を採用し、基準数より小さいタップ数としては、例えば、13画素(注目画素を中心とする菱形形状の13画素)を採用することができる。
【0233】
予測処理に用いる予測式には、例えば、1次予測式や、高次予測式、DC予測式といったバリエーションがある。1次予測式によれば、それほど多くないデータ量のタップ係数で、画質を向上させたフィルタ画像を得ることができる。高次予測式によれば、元画像のディテール(細かい波形変化)を復元したフィルタ画像を得ることができる。DC予測式によれば、ブロック歪みを大きく抑制したフィルタ画像を得ることができる。
【0234】
予測処理を行う単位には、例えば、1画素単位や、2×2画素単位等のバリエーションがある。予測処理が、2×2画素単位で行われる場合、その2×2画素の4画素それぞれについては、各画素を基準として、予測タップが選択されるが、予測処理は、同一のタップ係数、すなわち、同一のクラスのタップ係数を用いて行われる。したがって、予測処理が、2×2画素単位で行われる場合、その2×2画素の4画素は、同一のクラスに分類されていなければならず、クラス分類を行う単位が2×2画素単位である必要がある。
【0235】
1画素単位の予測処理は、復号画像が精細な画像である場合に有効である。2×2画素単位の予測処理により得られるフィルタ画像は、1画素単位の予測処理により得られるフィルタ画像よりもぼけるので、2×2画素単位の予測処理は、復号画像が低画質の画像である場合に有効である。
【0236】
予測方法を規定する予測タップのタップ構造、予測処理に用いる予測式、及び、予測処理を行う単位は、復号画像の画質に関係なく選択することができるが、何らの制限もないと、選択し得る予測方法の数が膨大になることがあり得る。そこで、選択し得る予測方法は、例えば、図11に示すように、図10のクラス分類方法の場合と同様に、復号画像の画質によって分けることができる。
【0237】
高画質の復号画像、及び、低画質の復号画像には、図10で説明したような特徴があり、復号画像の画質が高画質であるか、又は、低画質であるかは、やはり、図10で説明したように判定することができる。
【0238】
復号画像が高画質である場合、予測タップのタップ構造としては、予測タップを密に張ることを採用するとともに、予測タップを基準範囲全体又は基準範囲より狭い範囲に張ることを採用することができる。さらに、予測タップのタップ構造としては、予測タップのタップ数を基準数より大にすることを採用することができる。予測処理に用いる予測式としては、1次予測式又は高次予測式を採用することができる。予測処理を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
【0239】
以上のような予測方法を採用することにより、高画質の復号画像については、元画像のディテールの僅かな波形変化を復元したフィルタ画像を生成することができる。
【0240】
一方、復号画像が低画質画像である場合、予測タップのタップ構造としては、予測タップを基準範囲全体又は基準範囲より広い範囲に張ることを採用するとともに、予測タップを、注目画素に近い位置については密に張り、遠い位置については疎らに張ることを採用することができる。さらに、予測タップのタップ構造としては、予測タップのタップ数を基準数より大にする又は小にすることを採用することができる。予測処理に用いる予測式としては、1次予測式、高次予測式、又は、DC予測式を採用することができる。予測処理を行う単位としては、1画素単位又は2×2画素単位を採用することができる。
【0241】
以上のような予測方法を採用することにより、低画質の復号画像については、その復号画像の広範囲の情報を参照して、ブロック歪み等の符号化歪みを大きく低減したフィルタ画像を生成することができる。
【0242】
低画像の復号画像については、予測タップのタップ構造としては、特に、疎らでも密でも良いので、広範囲に亘って、予測タップを張ることが有効である。広範囲に亘って予測タップを張る場合には、予測タップを疎らに張ること(タップ飛ばし)によって、予測タップが多くなること、ひいては、タップ係数が多くなることを抑制することができる。
【0243】
ここで、DC予測式のDC項を構成する予測タップとしてのDCタップは、注目ブロックの上下左右に隣接するブロックそれぞれの、ブロック内の画素値の平均値や、それらの平均値を用いた補間により得られる補間値であるので、実質的に、注目ブロックの上下左右に隣接するブロックの広範囲に亘る画素に張られた予測タップであるということができる。
【0244】
なお、図10で説明した複数のクラス分類方法それぞれと、図11で説明した複数の予測方法それぞれとの組み合わせについては、クラス数や、各クラスのタップ係数の数によって、係数情報となるタップ係数(又は種係数)のデータ量に大きなばらつきが生じることがあり得る。
【0245】
そこで、複数のクラス分類方法それぞれと複数の予測方法それぞれとの各組み合わせについて得られるタップ係数(又は種係数)については、例えば、類似するタップ係数のクラスどうしを1つのクラスにまとめるクラスの縮退を、必要に応じて行うことで、各組み合わせについて得られるタップ係数のデータ量を、同程度に揃えることができる。
【0246】
図12は、差分ADRCを説明する図である。
【0247】
差分ADRCでは、注目画素について選択されたクラスタップとしての複数の画素のうちの1の画素としての、例えば、注目画素と、他の画素それぞれとの画素値の差分絶対値を対象として、ADRCが行われる。図12では、注目画素について、注目画素と、その上下左右それぞれに連続して位置する2画素ずつとの、十字形状の9画素が、クラスタップに選択されている。そして、クラスタップの注目画素と他の8個の画素それぞれとの差分絶対値D(1), D(2), ..., D(8)が求められ、その8個の差分絶対値D(1)ないしD(8)を対象として、ADRCが行われる。
【0248】
(1ビット)ADRCでは、図8で説明したように、クラスタップとしての画素の画素値の最大値MAXと最小値MINとの平均値を分類閾値として、クラスタップとしての各画素の画素値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。
【0249】
したがって、差分ADRCでは、注目画素と、他の画素それぞれとの画素値の差分絶対値の最大値と最小値との平均値を分類閾値として、各差分絶対値が、分類閾値以上であれば、1に量子化され、分類閾値以上でなければ、0に量子化される。そして、量子化後の0又は1の差分絶対値を所定の順番で並べたビット列が、差分絶対値D(1)ないしD(8)についてのADRCコード(以下、差分ADRCコードともいう)として出力される。
【0250】
差分ADRC(コード)を用いたクラス分類によれば、注目画素と周辺の画素との画素の画素値(輝度等)の差分に基づいて、画素(注目画素)が分類される。
【0251】
差分ADRCでは、差分絶対値を量子化するときの分類閾値が、差分絶対値の最大値と最小値との差、つまり、差分絶対値のダイナミックレンジに応じて変化するので、注目画素を、その注目画素付近のシーンに応じて、分類することができ、これにより、元画像に存在するエッジを保存しながら、エッジ際の歪や、複雑なテクスチャの形状を復元したフィルタ画像を生成することが可能となる。
【0252】
ところで、例えば、文字や幾何学的なパターンのエッジについては、エッジでの画素値の変化が大きい場合や小さい場合がある。また、差分ADRCでは、分類閾値が、差分絶対値の最大値と最小値との平均値に一意に設定される。このため、差分ADRCを用いたクラス分類では、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、異なるクラスに分類されることがある。
【0253】
しかしながら、文字や幾何学的なパターンのエッジについては、エッジでの画素値の変化の大小にかかわらず、同一のクラスに分類し、同一のタップ係数で構成される予測式を適用することが望ましい。
【0254】
そこで、差分ADRCを用いたクラス分類において、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、分類閾値を固定に設計する方法がある。
【0255】
しかしながら、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、分類閾値を固定に設計すると、エッジ以外の特徴を有する画像の画素が、適切に分類されなくなることがあり、クラス分類の分類性能が低下することがある。
【0256】
そこで、差分ADRCを用いたクラス分類では、分類閾値を、差分絶対値の最大値と最小値との平均値に設定するのではなく、必要に応じて、例えば、画素値の変化が大きいエッジの画素と、画素値の変化が小さいエッジの画素とが、同一のクラスに分類されるように、例えば、差分絶対値のダイナミックレンジに応じて、フレキシブルに設定することができる。
【0257】
図13は、以上のように、分類閾値を、差分絶対値のダイナミックレンジに応じて、フレキシブルに設定する、差分ADRCを用いたクラス分類を行うクラス分類部の構成例を示すブロック図である。
【0258】
図13において、クラス分類部は、クラスタップ選択部71、差分ADRC部72、テーブル記憶部73、分類閾値設定部74、及び、差分ADRC部75を有する。
【0259】
クラスタップ選択部71には、復号画像が供給される。クラスタップ選択部71は、復号画像の注目画素について、クラスタップとしての画素を、復号画像から選択し、差分ADRC部72及び75に供給する。
【0260】
差分ADRC部72は、クラスタップ選択部71からの注目画素のクラスタップを対象として、差分ADRCを行い、その結果得られるクラスを、注目画素の仮のクラスである仮クラスとして、分類閾値設定部74に供給する。なお、差分ADRC部72では、分類閾値を、クラスタップとしての画素の差分絶対値の最大値と最小値との平均値に設定して、差分ADRCが行われる。
【0261】
テーブル記憶部73は、差分ADRC部72で得られる任意の仮クラスについて、その仮クラスに分類される画素の最終的なクラスである最終クラスを求めるのに用いる分類閾値のテーブル(以下、閾値テーブルともいう)を記憶する。
【0262】
分類閾値設定部74は、テーブル記憶部73に記憶された閾値テーブルを参照し、その閾値テーブルに、差分ADRC部72からの注目画素の仮クラスについて、分類閾値Thとクラスタップとしての画素(の画素値)の差分絶対値のダイナミックレンジDRとの関係を表す分類閾値関係情報が登録されている場合には、その分類閾値関係情報に従って、最終クラスを求めるのに用いる分類閾値Thを設定し、差分ADRC部75に供給する。
【0263】
差分ADRC部75は、分類閾値設定部74から分類閾値Thが供給される場合、その分類閾値Thを用いて、クラスタップ選択部71からの注目画素のクラスタップを対象とする差分ADRCを行い、その結果得られるクラスを、注目画素の最終クラスとして出力する。
【0264】
また、差分ADRC部75は、分類閾値設定部74から分類閾値Thが供給されない場合、差分ADRC部72と同様に、クラスタップ選択部71からの注目画素のクラスタップを対象とする差分ADRCを行い、その結果得られるクラスを、注目画素の最終クラスとして出力する。
【0265】
したがって、差分ADRC部75に対して、分類閾値設定部74から分類閾値Thが供給されない場合、差分ADRC部75では、分類閾値を、クラスタップとしての画素の差分絶対値の最大値と最小値との平均値に設定して、差分ADRCが行われる。この場合、差分ADRC部75において差分ADRCを行わずに、差分ADRC部72で得られた仮クラスを、そのまま、最終クラスとして出力することができる。
【0266】
図14は、図13のテーブル記憶部73に記憶される閾値テーブルの例を示す図である。
【0267】
図14の閾値テーブルでは、仮クラスについて、分類閾値関係情報が登録されている。
【0268】
分類閾値関係情報は、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて変化する分類閾値Thを表す閾値曲線を規定する情報で、例えば、2つのダイナミックレンジDR1及びDR2と、2つの分類閾値Th1及びTh2とを有する。
【0269】
図14に示すように、例えば、横軸をダイナミックレンジDRとするとともに、縦軸を分類閾値Thとする2次元平面において、分類閾値関係情報DR1, DR2, Th1, Th2によって規定される曲線が、閾値曲線である。
【0270】
分類閾値設定部74は、仮クラスの分類閾値関係情報によって規定される閾値曲線に従い、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて、分類閾値Thを設定する。
【0271】
差分ADRCを用いたクラス分類を行う場合には、以上のような閾値テーブルを、必要に応じて、分類方法情報に含めて、符号化装置20から復号装置30に伝送することができる。
【0272】
なお、閾値テーブルにおいて、分類閾値関係情報DR1, DR2, Th1, Th2は、すべての仮クラスについて登録されている必要はない。すなわち、閾値テーブルには、クラスタップとしての画素の差分絶対値のダイナミックレンジDRに応じて、分類閾値Thをフレキシブルに設定したい仮クラスについてだけ、分類閾値関係情報DR1, DR2, Th1, Th2を登録することができる。
【0273】
図15は、複数のクラス分類方法の例を説明する図である。
【0274】
図8で説明したように、クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の各画素に対して行う。
【0275】
一方、クラス分類方法は、クラス分類に用いる情報(画像特徴量等)、クラスタップのタップ構造(タップの張り方)、及び、クラス分類を行う単位によって規定される。
【0276】
したがって、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位として、複数の情報、複数のタップ構造、及び、複数の単位を、それぞれ用意し、その複数の情報それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数のクラス分類方法を構成することができる。
【0277】
しかしながら、複数の情報それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数のクラス分類方法を構成する場合には、複数のクラス分類方法の数が膨大になるおそれがある。
【0278】
ところで、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の組み合わせには、適切な組み合わせがあり得る。
【0279】
そこで、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の組み合わせとして、幾つかの適切な組み合わせを用意し、その幾つかの適切な組み合わせを、クラス分類部41で行うクラス分類の複数のクラス分類方法として採用することができる。
【0280】
図15は、以上のような、クラス分類に用いる情報、クラスタップのタップ構造、及び、クラス分類を行う単位の適切な組み合わせとしての複数のクラス分類方法の例を示している。
【0281】
図15においては、図10の場合と同様に、選択し得るクラス分類方法が、復号画像の画質によって分けられている。但し、選択し得るクラス分類方法は、必ずしも、復号画像の画質によって分ける必要はない。
【0282】
復号画像の画質が高画質である場合、クラス分類に用いる情報として、ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
【0283】
また、クラス分類に用いる情報として、既存のALFで採用されているアクティビティを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を既存のALFで採用されている正方形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。さらに、クラス分類に用いる情報として、差分ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
【0284】
例えば、クラス分類に用いる情報として、差分ADRCを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法によれば、特に、エッジ際や複雑なテクスチャを構成する画素を、適切にクラス分類することができる。
【0285】
一方、復号画像の画質が低画質である場合、クラス分類に用いる情報として、ADRCを採用し、クラスタップのタップ構造として、クラスタップを疎らに張ること、及び、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。さらに、クラス分類に用いる情報として、既存のALFで採用されているアクティビティを採用し、クラスタップのタップ構造として、クラスタップを密に張ること、及び、タップ形状を既存のALFで採用されている正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。
【0286】
また、クラス分類に用いる情報として、ADRCとDR(クラスラップの最大値と最小値との差)との組み合わせ(ADRC×DR)を採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすること、及び、DR用のクラスタップのタップ形状を正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用することができる。
【0287】
その他、復号画像の画質が低画質である場合に、前段フィルタとして、デブロッキングフィルタが設けられているときには、クラス分類に用いる情報として、ADRCとDF情報との組み合わせ(ADRC×DF情報)を採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用することができる。
【0288】
例えば、クラス分類に用いる情報として、ADRCとDRとの組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすること、及び、DR用のクラスタップのタップ形状を正方形状にすることを採用し、クラス分類を行う単位として、2×2画素単位を採用するクラス分類方法によれば、特に、平坦部やグラデーションを構成する画素を、適切にクラス分類することができる。
【0289】
また、例えば、クラス分類に用いる情報として、ADRCとDF情報との組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法によれば、特に、ブロック歪みを構成する画素を、適切にクラス分類することができる。さらに、デブロッキングフィルタで生じる歪みの復元に適するように、クラス分類を行うことができる。
【0290】
図16は、複数の予測方法の例を説明する図である。
【0291】
図8で説明したように、予測部42は、複数の予測方法それぞれについて、その予測方法の予測処理としてのフィルタ処理(及びタップ係数学習又は種係数学習)を、復号画像に対して行う。
【0292】
一方、予測方法は、予測処理に用いる予測式、予測タップのタップ構造(タップの張り方)、及び、予測処理を行う単位によって規定される。
【0293】
したがって、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位として、複数の予測式、複数のタップ構造、及び、複数の単位を、それぞれ用意し、その複数の予測式それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数の予測方法を構成することができる。
【0294】
しかしながら、複数の予測式それぞれ、複数のタップ構造それぞれ、及び、複数の単位それぞれを組み合わせて、複数の予測方法を構成する場合には、複数の予測方法の数が膨大になるおそれがある。
【0295】
ところで、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の組み合わせには、適切な組み合わせがあり得る。
【0296】
そこで、予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の組み合わせとして、幾つかの適切な組み合わせを用意し、その幾つかの適切な組み合わせを、予測部42で行う予測処理の複数の予測方法として採用することができる。
【0297】
図16は、以上のような予測処理に用いる予測式、予測タップのタップ構造、及び、予測処理を行う単位の適切な組み合わせとしての複数の予測方法の例を示している。
【0298】
図16においては、図11の場合と同様に、選択し得る予測方法が、復号画像の画質によって分けられている。但し、選択し得る予測方法は、必ずしも、復号画像の画質によって分ける必要はない。
【0299】
復号画像の画質が高画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを密に張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。さらに、予測処理に用いる予測式として、高次予測式としての2次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、予測タップを密に張ること、及び、予測タップを基準範囲より狭い範囲に張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。
【0300】
なお、以上のように、予測処理に用いる予測式として、2次予測式を採用し、予測タップのタップ構造として、予測タップを基準範囲より狭い範囲に張ることを採用する場合には、2次タップは、基準範囲より狭い範囲で、かつ、1次タップが張られる範囲より狭い範囲に張ることができる。
【0301】
一方、復号画像の画質が低画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、2×2画素単位を採用することができる。さらに、予測処理に用いる予測式として、高次予測式としての2次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、予測タップを疎らに張ること、及び、予測タップのタップ数をあらかじめ決められた数より小にすることを採用し、予測処理を行う単位として、2×2画素単位を採用することができる。
【0302】
なお、以上のように、予測タップのタップ構造として、予測タップを疎らに張ること、及び、予測タップのタップ数をあらかじめ決められた数より小にすることを採用する場合、高画質の復号画像について、予測処理に用いる予測式として、2次予測式が採用される場合よりも、予測タップが、疎らに、かつ、広い範囲に張られることになる。
【0303】
その他、復号画像の画質が低画質である場合、予測処理に用いる予測式として、DC予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを、注目画素に近い位置については密に張り、注目画素から遠い位置については疎らに張ること、及び、予測タップのタップ数を、DCタップの分だけ1次予測式を採用する場合より小にすること、予測処理を行う単位として、2×2画素単位を採用することができる。さらに、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、1画素単位を採用することができる。
【0304】
なお、本実施の形態において、復号画像の画質が低画質である場合、予測処理に用いる予測式として、1次予測式を採用し、予測タップのタップ構造として、タップ形状を菱形形状にすること、及び、予測タップを疎らに張ることを採用し、予測処理を行う単位として、1画素単位を採用する、図16の最下欄の予測方法は、図15の最下欄に示した、前段フィルタとして、デブロッキングフィルタが設けられており、クラス分類に用いる情報として、ADRCとDF情報との組み合わせを採用し、クラスタップのタップ構造として、ADRC用のクラスタップを疎らに張り、タップ形状を十字形状にすることを採用し、クラス分類を行う単位として、1画素単位を採用するクラス分類方法が選択されるときに選択し得る。
【0305】
図17は、図7の符号化装置20の符号化処理の概要を説明するフローチャートである。
【0306】
図17のフローチャートに従った処理は、例えば、フレーム(ピクチャ)単位で行われる。
【0307】
ステップS21において、符号化部21(図7)は、フィルタ部23からのフィルタ画像を用いて、元画像を(予測)符号化し、その符号化により得られる符号化データを、局所復号部22に供給して、処理は、ステップS22に進む。
【0308】
ステップS22では、局所復号部22は、符号化部21からの符号化データの局所復号を、フィルタ部23からのフィルタ画像を用いて行い、その結果得られる(局所)復号画像を、フィルタ部23に供給して、処理は、ステップS23に進む。
【0309】
ステップS23では、フィルタ部23(図8)において、クラス分類部41が、局所復号部22からの復号画像の画素を、順次、注目画素に選択し、処理は、ステップS24に進む。
【0310】
ステップS24では、クラス分類部41は、複数のクラス分類方法それぞれについて、そのクラス分類方法のクラス分類を、復号画像の注目画素に対して行い、注目画素のクラスを、予測部42に供給して、処理は、ステップS25に進む。
【0311】
ステップS25では、予測部42は、複数の予測方法それぞれについて、クラス分類部41からの複数のクラス分類方法それぞれについて得られたクラスごとの画素と元画像とを用いて、タップ係数学習(又は種係数学習)を行い、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数(又は種係数)を求める。
【0312】
さらに、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、タップ係数学習により求められたタップ係数(又は種係数学習により求められた種係数から求められるタップ係数)で構成される予測式を、復号画像に適用する予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
【0313】
予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、フィルタ画像と元画像とを比較することにより、フィルタ画像のPSNRを求めるとともに、元画像の符号化を行って得られる符号化データと、その符号化データの復号に必要な情報とを含む符号化ビットストリームのデータ量を求める。
【0314】
そして、予測部42は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせについて、PSNR、符号化ビットストリームのデータ量、クラス分類方法を表す分類方法情報、予測方法を表す予測方法情報、及び、タップ係数(又は種係数)を対応付けて、選択部43に供給し、処理は、ステップS25からステップS26に進む。
【0315】
ステップS26では、選択部43は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数(又は種係数から求められたタップ係数)を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、予測部42は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数(又はタップ係数を求めるのに用いられた種係数)を、採用タップ係数(又は種係数)に選択し、係数情報に含める。
【0316】
選択部43は、採用クラス分類方法及び採用予測方法の組み合わせについての係数情報に含まれる採用タップ係数(又は種係数)を、DB44に供給して記憶させ、処理は、ステップS26からステップS27に進む。
【0317】
ここで、採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、DB44に記憶された係数情報としての採用タップ係数は、フィルタ情報に含められ、フィルタ部23から符号化部21(図7)に供給される。
【0318】
また、選択部43は、採用クラス分類方法を表す分類方法情報を、クラス分類部45に供給するとともに、採用予測方法を表す予測方法情報を、予測部46に供給する。
【0319】
ステップS27において、クラス分類部45は、選択部43からの分類方法情報が表す(採用)クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを、予測部46に供給する。予測部46は、DB44に記憶された係数情報としての採用タップ係数(又は種係数から生成されるタップ係数)のうちのクラス分類部45からのクラスのタップ係数で構成される予測式を復号画像に適用することにより、選択部43からの予測方法情報が表す(採用)予測方法の予測処理としてのフィルタ処理を行い、その結果得られるフィルタ画像を、符号化部21及び局所復号部22(図8)に供給する。そして、処理は、ステップS27からステップS28に進む。
【0320】
ここで、ステップS27において予測部46から符号化部21及び局所復号部22に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS21及びS22の処理で用いられる。
【0321】
ステップS28では、符号化部21は、フィルタ部23からのフィルタ情報、すなわち、分類方法情報、予測方法情報、及び、係数情報を含む符号化ビットストリームを生成して伝送する。
【0322】
なお、予測部42において、種係数学習が行われる場合、係数情報には、種係数が含まれるとともに、その種係数からタップ係数を求める係数予測式の次数、及び、パラメータzが必要に応じて含まれる。
【0323】
図18は、図7の復号装置30の復号処理の概要を説明するフローチャートである。
【0324】
図18のフローチャートに従った処理は、例えば、図17の符号化処理と同様に、フレーム単位で行われる。
【0325】
ステップS41において、パース部31(図7)は、符号化装置20から伝送されてくる符号化ビットストリームを受信し、符号化ビットストリームに含まれるフィルタ情報をパースして、フィルタ部33に供給する。さらに、パース部31は、符号化ビットストリームに含まれる符号化データを、復号部32に供給し、処理は、ステップS41からステップS42に進む。
【0326】
ステップS42では、復号部32は、パース部31からの符号化データの復号を、フィルタ部33からのフィルタ画像を用いて行い、その結果得られる復号画像を、フィルタ部33に供給して、処理は、ステップS43に進む。
【0327】
ステップS43では、フィルタ部33(図8)において、クラス分類部51が、復号部32からの復号画像の画素を、順次、注目画素に選択し、処理は、ステップS44に進む。
【0328】
ステップS44では、クラス分類部51は、フィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、予測部52に供給して、処理は、ステップS45に進む。
【0329】
ステップS45では、予測部52は、フィルタ情報に含まれる係数情報における採用タップ係数から、クラス分類部51からの注目画素のクラスの(採用)タップ係数を取得し、処理は、ステップS46に進む。
【0330】
ここで、係数情報が、クラスごとのタップ係数を含む場合には、予測部52は、ステップS45において、上述のように、係数情報に含まれるクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得する。
【0331】
また、係数情報が、クラスごとの種係数を含む場合には、予測部52は、ステップS45において、係数情報に含まれるクラスごとの種係数から、注目画素のクラスの種係数を取得するとともに、パラメータzを取得し、注目画素のクラスの種係数とパラメータzとで構成される係数予測式を演算することにより、注目画素のクラスのタップ係数を求める。
【0332】
ステップS46では、予測部52は、ステップS45で取得したタップ係数で構成される予測式を復号画像に適用することにより、フィルタ情報に含まれる予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、フィルタ画像を生成する。
【0333】
フィルタ画像は、フィルタ部33から復号部32(図7)に供給されるとともに、元画像を復元した復元画像として出力される。
【0334】
ステップS46でフィルタ部33から復号部32に供給されるフィルタ画像は、例えば、復号画像の次のフレームを対象として行われるステップS42の処理で用いられる。
【0335】
<符号化装置20の構成例>
【0336】
図19は、図7の符号化装置20の詳細な構成例を示すブロック図である。
【0337】
なお、以下説明するブロック図については、図が煩雑になるのを避けるため、各ブロックの処理で必要となる情報(データ)を供給する線の記載を、適宜省略する。
【0338】
図19において、符号化装置20は、A/D変換部101、並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、及び、蓄積バッファ107を有する。さらに、符号化装置20は、逆量子化部108、逆直交変換部109、演算部110、ILF111、フレームメモリ112、選択部113、イントラ予測部114、動き予測補償部115、予測画像選択部116、及び、レート制御部117を有する。
【0339】
A/D変換部101は、アナログ信号の元画像を、ディジタル信号の元画像にA/D変換し、並べ替えバッファ102に供給して記憶させる。
【0340】
並べ替えバッファ102は、元画像のフレームを、GOP(Group Of Picture)に応じて、表示順から符号化(復号)順に並べ替え、演算部103、イントラ予測部114、動き予測補償部115、及び、ILF111に供給する。
【0341】
演算部103は、並べ替えバッファ102からの元画像から、予測画像選択部116を介してイントラ予測部114又は動き予測補償部115から供給される予測画像を減算し、その減算により得られる残差(予測残差)を、直交変換部104に供給する。
【0342】
例えば、インター符号化が行われる画像の場合、演算部103は、並べ替えバッファ102から読み出された元画像から、動き予測補償部115から供給される予測画像を減算する。
【0343】
直交変換部104は、演算部103から供給される残差に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、直交交換により得られる直交変換係数を量子化部105に供給する。
【0344】
量子化部105は、直交変換部104から供給される直交変換係数を量子化する。量子化部105は、レート制御部117から供給される符号量の目標値(符号量目標値)に基づいて量子化パラメータQPを設定し、直交変換係数の量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された直交変換係数である符号化データを、可逆符号化部106に供給する。
【0345】
可逆符号化部106は、量子化部105からの符号化データとしての量子化された直交変換係数を所定の可逆符号化方式で符号化する。直交変換係数は、レート制御部117の制御の下で量子化されているので、可逆符号化部106の可逆符号化により得られる符号化ビットストリームの符号量は、レート制御部117が設定した符号量目標値となる(又は符号量目標値に近似する)。
【0346】
また、可逆符号化部106は、符号化装置20での予測符号化に関する符号化情報のうちの、復号装置30での復号に必要な符号化情報を、各ブロックから取得する。
【0347】
ここで、符号化情報としては、例えば、イントラ予測やインター予測の予測モード、動きベクトル等の動き情報、符号量目標値、量子化パラメータQP、ピクチャタイプ(I,P,B)、CU(Coding Unit)やCTU(Coding Tree Unit)の情報等がある。
【0348】
例えば、予測モードは、イントラ予測部114や動き予測補償部115から取得することができる。また、例えば、動き情報は、動き予測補償部115から取得することができる。
【0349】
可逆符号化部106は、符号化情報を取得する他、ILF111から、そのILF111でのフィルタ処理に関するフィルタ情報を取得する。
【0350】
可逆符号化部106は、符号化情報及びフィルタ情報を、例えば、CAVLC(Context-Adaptive Variable Length Coding)やCABAC(Context-Adaptive Binary Arithmetic Coding)等の可変長符号化又は算術符号化その他の可逆符号化方式で符号化し、符号化後の符号化情報及びフィルタ情報、及び、量子化部105からの符号化データを含む符号化ビットストリームを生成して、蓄積バッファ107に供給する。
【0351】
蓄積バッファ107は、可逆符号化部106から供給される符号化ビットストリームを、一時的に蓄積する。蓄積バッファ107に蓄積された符号化ビットストリームは、所定のタイミングで読み出されて伝送される。
【0352】
量子化部105において量子化された直交変換係数である符号化データは、可逆符号化部106に供給される他、逆量子化部108にも供給される。逆量子化部108は、量子化された直交変換係数を、量子化部105による量子化に対応する方法で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部109に供給する。
【0353】
逆直交変換部109は、逆量子化部108から供給される直交変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換し、その逆直交変換の結果得られる残差を、演算部110に供給する。
【0354】
演算部110は、逆直交変換部109から供給される残差に、予測画像選択部116を介してイントラ予測部114又は動き予測補償部115から供給される予測画像を加算し、これにより、元画像を復号した復号画像(の一部)を得て出力する。
【0355】
演算部110が出力する復号画像は、ILF111に供給される。
【0356】
ILF111は、例えば、クラス分類予測処理としてのフィルタ処理を行い、元画像を予測(復元)する。
【0357】
ILF111には、演算部110から復号画像が供給される他、並べ替えバッファ102から、復号画像に対応する元画像が供給される。
【0358】
ILF111は、例えば、演算部110からの復号画像、及び、並べ替えバッファ102からの元画像を、それぞれ生徒データ及び教師データとして用いて、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、タップ係数学習又は種係数学習を行う。
【0359】
さらに、ILF111は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数又は種係数から生成された(求められた)タップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、ILF111は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数又は種係数を、採用タップ係数又は種係数として、係数情報に含める。
【0360】
そして、ILF111は、採用クラス分類方法を表す分類方法情報、採用予測方法を表す予測方法情報、及び、係数情報を含むフィルタ情報を生成し、可逆符号化部106に供給する。
【0361】
また、ILF111は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、ILF111は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数又は種係数から生成されるタップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を出力する。
【0362】
ILF111が出力するフィルタ画像は、フレームメモリ112に供給される。
【0363】
ここで、以下では、説明を簡単にするため、ILF111では、タップ係数学習及び種係数学習のうちの、例えば、タップ係数学習が行われることとする。
【0364】
ILF111は、タップ係数学習に用いる生徒画像及び教師画像によって、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの1以上のフィルタとして機能させることができる。
【0365】
また、ILF111を、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの2以上のフィルタとして機能させる場合、その2以上のフィルタの配置順は任意である。
【0366】
さらに、ILF111は、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALF以外のフィルタとして機能させることができる。また、図19では、ILF111以外のフィルタが設けられていないが、ILF111に加えて、デブロッキングフィルタ、適応オフセットフィルタ、バイラテラルフィルタ、及び、ALFのうちの1以上のフィルタを、ILF111の前段及び後段のうちの一方又は両方に設けることができる。以上の点、復号装置30でも同様である。
【0367】
フレームメモリ112は、ILF111から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶する。フレームメモリ112に記憶された復元画像は、必要なタイミングで、予測画像の生成に用いられる参照画像として、選択部113に供給される。
【0368】
選択部113は、フレームメモリ112から供給される参照画像の供給先を選択する。例えば、イントラ予測部114においてイントラ予測が行われる場合、選択部113は、フレームメモリ112から供給される参照画像を、イントラ予測部114に供給する。また、例えば、動き予測補償部115においてインター予測が行われる場合、選択部113は、フレームメモリ112から供給される参照画像を、動き予測補償部115に供給する。
【0369】
イントラ予測部114は、並べ替えバッファ102から供給される元画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用い、例えば、PU(Prediction Unit)を処理単位として、イントラ予測(画面内予測)を行う。イントラ予測部114は、所定のコスト関数(例えば、RDコスト等)に基づいて、最適なイントラ予測モードを選択し、その最適なイントラ予測モードで生成された予測画像を、予測画像選択部116に供給する。また、上述したように、イントラ予測部114は、コスト関数に基づいて選択されたイントラ予測モードを示す予測モードを、可逆符号化部106等に適宜供給する。
【0370】
動き予測補償部115は、並べ替えバッファ102から供給される元画像と、選択部113を介してフレームメモリ112から供給される参照画像とを用い、例えば、PUを処理単位として、動き予測(インター予測)を行う。さらに、動き予測補償部115は、動き予測により検出される動きベクトルに応じて動き補償を行い、予測画像を生成する。動き予測補償部115は、あらかじめ用意された複数のインター予測モードで、インター予測を行い、予測画像を生成する。
【0371】
動き予測補償部115は、複数のインター予測モードそれぞれについて得られた予測画像の所定のコスト関数に基づいて、最適なインター予測モードを選択する。さらに、動き予測補償部115は、最適なインター予測モードで生成された予測画像を、予測画像選択部116に供給する。
【0372】
また、動き予測補償部115は、コスト関数に基づいて選択されたインター予測モードを示す予測モードや、そのインター予測モードで符号化された符号化データを復号する際に必要な動きベクトル等の動き情報等を、可逆符号化部106に供給する。
【0373】
予測画像選択部116は、演算部103及び210に供給する予測画像の供給元(イントラ予測部114又は動き予測補償部115)を選択し、その選択した方の供給元から供給される予測画像を、演算部103及び210に供給する。
【0374】
レート制御部117は、蓄積バッファ107に蓄積された符号化ビットストリームの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。すなわち、レート制御部117は、蓄積バッファ107のオーバーフロー及びアンダーフローが生じないように、符号化ビットストリームの目標符号量を設定し、量子化部105に供給する。
【0375】
なお、図19において、演算部103ないし可逆符号化部106が図7の符号化部21に、逆量子化部108ないし演算部110が図7の局所復号部22に、ILF111が図7のフィルタ部23に、それぞれ相当する。
【0376】
<ILF111の構成例>
【0377】
図20は、図19のILF111の構成例を示すブロック図である。
【0378】
図20において、ILF111は、学習装置131及び予測装置132を有する。
【0379】
学習装置131には、並べ替えバッファ102(図19)から元画像が供給されるとともに、演算部110(図19)から復号画像が供給される。
【0380】
学習装置131は、復号画像及び元画像をそれぞれ生徒データ及び教師データとして用いて、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、タップ係数学習を行う。
【0381】
さらに、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたタップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、学習装置131は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数を、採用タップ係数に選択する。そして、学習装置131は、採用タップ係数を係数情報として、その係数情報、採用クラス分類方法を表す分類方法情報、及び、採用予測方法を表す予測方法情報を含むフィルタ情報を生成し、予測装置132に供給するとともに、可逆符号化部106(図19)に供給する。
【0382】
予測装置132には、学習装置131からフィルタ情報が供給される他、演算部110(図19)から復号画像が供給される。
【0383】
予測装置132は、学習装置131からのフィルタ情報を用いて、復号画像を対象に、クラス分類予測処理を行うことにより、フィルタ画像を生成して、フレームメモリ112(図19)に供給する。
【0384】
すなわち、予測装置132は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、予測装置132は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を、フレームメモリ112に供給する。
【0385】
<学習装置131の構成例>
【0386】
図21は、図20の学習装置131の構成例を示すブロック図である。
【0387】
図21において、学習装置131は、選択部141、学習部142、及び、選択部143を有する。
【0388】
選択部141は、例えば、図15及び図16で説明したような複数のクラス分類方法それぞれの分類方法情報と、複数の予測方法それぞれの予測方法情報とを記憶している。
【0389】
選択部141は、複数の分類方法情報のうちの1つと、複数の予測方法情報のうちの1つとの組み合わせのうちの、まだ、注目する組み合わせとしての注目情報に選択していない組み合わせを、注目情報に選択し、学習部142及び選択部143に供給する。
【0390】
学習部142は、タップ選択部151、クラス分類部152、足し込み部153、及び、係数算出部154を有し、復号画像及び元画像を、それぞれ生徒データ及び教師データとして、タップ係数学習を行う。タップ係数学習では、選択部141から供給される注目情報としての組み合わせを構成する分類方法情報が表すクラス分類方法でクラス分類が行われ、注目情報としての組み合わせを構成する予測方法情報が表す予測方法で予測処理が行われる場合のタップ係数が求められる。
【0391】
タップ選択部151は、生徒データとしての復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部151は、選択部141からの注目情報としての組み合わせを構成する予測方法情報が表す予測方法に従い、注目画素について、生徒画像を構成する画素から、予測タップとしての画素を選択し、足し込み部153に供給する。
【0392】
クラス分類部152は、例えば、復号画像の画素を用い、選択部141からの注目情報としての組み合わせを構成する分類方法情報が表すクラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、足し込み部153に出力する。
【0393】
足し込み部153は、教師データとしての元画像から、注目画素に対応する対応画素を選択し、対応画素(の画素値)と、タップ選択部151から供給される注目画素についての予測タップとを対象とした、正規方程式を構成する各項の足し込みを、クラス分類部152から供給される注目画素のクラスごとに行う。ここで、足し込みが行われる正規方程式は、選択部141からの注目情報としての組み合わせを構成する予測方法情報が表す予測方法によって決まる。
【0394】
そして、足し込み部153は、生徒データとしての復号画像の、例えば、1フレームの画素すべてを注目画素として、正規方程式を構成する各項の足し込みを行うことにより、各クラスについて、正規方程式をたて、その正規方程式を、係数算出部154に供給する。
【0395】
係数算出部154は、足し込み部153から供給される各クラスについての正規方程式を解くことにより、クラスごとのタップ係数を求める。
【0396】
係数算出部154は、以上のようにして求められた、注目情報についてのクラスごとのタップ係数を、選択部143に供給する。
【0397】
選択部143には、選択部141から注目情報が供給されるとともに、学習部142(の係数算出部154)から注目情報についてのクラスごとのタップ係数が供給される他、タップ係数学習の生徒データ及び教師データとしての復号画像及び元画像が供給される。
【0398】
選択部143は、選択部141からの注目情報としてのクラス分類方法と予測方法との組み合わせと、学習部142からの、注目情報についてのタップ係数とを対応付けて記憶する。
【0399】
選択部143は、選択部141から注目情報として順次供給される、クラス分類方法と予測方法との各組み合わせについてのタップ係数の中から、そのタップ係数を用いてクラス分類予測処理としてのフィルタ処理を行った場合に符号化効率を最良にするタップ係数を、採用タップ係数に選択する。ここで、選択部143は、クラス分類予測処理を行うにあたり、クラス分類を、用いるタップ係数に対応付けられた組み合わせを構成するクラス分類方法で行い、予測処理を、用いるタップ係数に対応付けられた組み合わせを構成する予測方法で行う。
【0400】
選択部143は、採用タップ係数に対応付けられた組み合わせを構成するクラス分類方法と予測方法とを、それぞれ、採用クラス分類方法と採用予測方法とに選択する。そして、選択部143は、採用タップ係数を係数情報とし、その係数情報、採用クラス分類方法を表す分類方法情報、及び、採用予測方法を表す予測方法情報を含むフィルタ情報を生成して、予測装置132(図20)に供給するとともに、可逆符号化部106(図19)に供給する。
【0401】
<予測装置132の構成例>
【0402】
図22は、図20の予測装置132の構成例を示すブロック図である。
【0403】
図22において、予測装置132は、フィルタ情報記憶部171、タップ選択部181、クラス分類部182、係数取得部183、及び、予測演算部184を有する。
【0404】
フィルタ情報記憶部171は、学習装置131(の選択部143(図21))から供給されるフィルタ情報を記憶する。フィルタ情報記憶部171に記憶されたフィルタ情報に含まれる分類方法情報は、クラス分類部182に供給される。また、フィルタ情報記憶部171に記憶されたフィルタ情報に含まれる係数情報は、係数取得部183に供給され、フィルタ情報に含まれる予測方法情報は、タップ選択部181及び予測演算部184に供給される。
【0405】
タップ選択部181及びクラス分類部182には、演算部110からの復号画像が供給される。
【0406】
タップ選択部181は、復号画像の画素を、順次、注目画素に選択する。さらに、タップ選択部181は、注目画素について、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、予測演算部184に供給する。
【0407】
クラス分類部182は、復号画像等を用い、フィルタ情報記憶部171に記憶された分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、その結果得られる注目画素のクラスを、係数取得部183に供給する。
【0408】
係数取得部183は、フィルタ情報記憶部171に記憶された係数情報としてのクラスごとのタップ係数を記憶し、その記憶したタップ係数のうちの、クラス分類部182からの注目画素のクラスのタップ係数を取得する。さらに、係数取得部183は、注目画素のクラスのタップ係数を、予測演算部184に供給する。
【0409】
予測演算部184は、タップ選択部181からの予測タップと、係数取得部183から供給されるタップ係数とを用いて、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従った予測式の演算を行うことにより、元画像の画素の予測値を求め、その予測値を画素値とするフィルタ画像を、フレームメモリ112(図19)に供給する。
【0410】
<符号化処理>
【0411】
図23は、図19の符号化装置20の符号化処理の例を説明するフローチャートである。
【0412】
なお、図23等に示す符号化処理の各ステップの順番は、説明の便宜上の順番であり、実際の符号化処理の各ステップは、適宜、並列的に、必要な順番で行われる。後述する処理についても、同様である。
【0413】
符号化装置20において、ILF111の学習装置131(図21)は、そこに供給される復号画像を一時記憶するとともに、その復号画像に対応する元画像を一時記憶する。
【0414】
そして、学習装置131は、ステップS101において、現在のタイミングが、フィルタ情報を更新する更新タイミングであるかどうかを判定する。
【0415】
ここで、フィルタ情報の更新タイミングは、例えば、1以上のフレーム(ピクチャ)ごとや、1以上のシーケンスごと、1以上のスライスごと、CTU等の所定のブロックの1以上のラインごと等のように、あらかじめ決めておくことができる。
【0416】
また、フィルタ情報の更新タイミングとしては、1以上のフレーム(ピクチャ)ごとのタイミングのような周期的(固定的)なタイミングの他、フィルタ画像のS/Nが閾値以下になったタイミング(フィルタ画像の、元画像に対する誤差が閾値以上になったタイミング)や、残差(の絶対値和等)が閾値以上になったタイミング等の、いわば動的なタイミングを採用することができる。
【0417】
ここでは、例えば、学習装置131が、復号画像及び元画像の1フレームを用いて、タップ係数学習を行うこととし、1フレームごとのタイミングがフィルタ情報の更新タイミングであることとする。
【0418】
ステップS101において、現在のタイミングが、フィルタ情報の更新タイミングでないと判定された場合、処理は、ステップS102ないしS105をスキップして、ステップS106に進む。
【0419】
また、ステップS101において、現在のタイミングが、フィルタ情報の更新タイミングであると判定された場合、処理は、ステップS102に進み、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数を求めるタップ係数学習を行う。
【0420】
すなわち、学習装置131は、例えば、前回の更新タイミングから、今回の更新タイミングまでの間に記憶した復号画像及び元画像(ここでは、学習装置131(ILF111)に供給された最新の1フレームの復号画像及び元画像)を用いて、タップ係数学習を行い、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせそれぞれについて、クラスごとのタップ係数を求める。
【0421】
そして、処理は、ステップS102からステップS103に進み、学習装置131は、複数のクラス分類方法それぞれと複数の予測方法それぞれとの組み合わせの中から、その組み合わせについて求められたクラスごとのタップ係数を用いた予測処理を行った場合に、符号化効率を最良にするクラス分類方法及び予測方法の組み合わせを、採用クラス分類方法及び採用予測方法の組み合わせに選択する。さらに、学習装置131は、採用クラス分類方法及び採用予測方法の組み合わせについて求められたクラスごとのタップ係数を、採用タップ係数に選択し、処理は、ステップS103からステップS104に進む。
【0422】
ステップS104では、学習装置131は、採用タップ係数を係数情報として、その係数情報と、採用クラス分類方法を表す分類方法情報及び採用予測方法を表す予測方法情報とを含むフィルタ情報を生成し、予測装置132(図22)、及び、可逆符号化部106(図19)に供給する。
【0423】
可逆符号化部106(図19)は、学習装置131からのフィルタ情報を、伝送対象に設定して、処理は、ステップS104からステップS105に進む。伝送対象に設定されたフィルタ情報は、後述するステップS106で行われる予測符号化処理において符号化ビットストリームに含められて伝送される。
【0424】
ステップS105では、予測装置132が、学習装置131からのフィルタ情報によって、フィルタ情報記憶部171(図22)に記憶されているフィルタ情報を更新し(フィルタ情報を上書きする形で記憶させ)、処理は、ステップS106に進む。
【0425】
ステップS106では、元画像の予測符号化処理が行われ、符号化処理は終了する。
【0426】
図24は、図23のステップS106の予測符号化処理の例を説明するフローチャートである。
【0427】
予測符号化処理では、ステップS111において、A/D変換部101(図19)は、元画像をA/D変換し、並べ替えバッファ102に供給して、処理は、ステップS112に進む。
【0428】
ステップS112において、並べ替えバッファ102は、A/D変換部101からの元画像を記憶し、符号化順に並べ替えて出力し、処理は、ステップS113に進む。
【0429】
ステップS113では、イントラ予測部114は、イントラ予測モードのイントラ予測処理を行い、処理は、ステップS114に進む。ステップS114において、動き予測補償部115は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行い、処理は、ステップS115に進む。
【0430】
イントラ予測部114のイントラ予測処理、及び、動き予測補償部115のインター動き予測処理では、各種の予測モードのコスト関数が演算されるとともに、予測画像が生成される。
【0431】
ステップS115では、予測画像選択部116は、イントラ予測部114及び動き予測補償部115で得られる各コスト関数に基づいて、最適な予測モードを決定する。そして、予測画像選択部116は、イントラ予測部114により生成された予測画像と、動き予測補償部115により生成された予測画像のうちの最適な予測モードの予測画像を選択して出力し、処理は、ステップS115からステップS116に進む。
【0432】
ステップS116では、演算部103は、並べ替えバッファ102が出力する元画像である符号化対象の対象画像と、予測画像選択部116が出力する予測画像との残差を演算し、直交変換部104に供給して、処理は、ステップS117に進む。
【0433】
ステップS117では、直交変換部104は、演算部103からの残差を直交変換し、その結果得られる直交変換係数を、量子化部105に供給して、処理は、ステップS118に進む。
【0434】
ステップS118では、量子化部105は、直交変換部104からの直交変換係数を量子化し、その量子化により得られる量子化係数を、可逆符号化部106及び逆量子化部108に供給して、処理は、ステップS119に進む。
【0435】
ステップS119では、逆量子化部108は、量子化部105からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部109に供給して、処理は、ステップS120に進む。ステップS120では、逆直交変換部109は、逆量子化部108からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部110に供給して、処理は、ステップS121に進む。
【0436】
ステップS121では、演算部110は、逆直交変換部109からの残差と、予測画像選択部116が出力する予測画像とを加算し、演算部103での残差の演算の対象となった元画像に対応する復号画像を生成する。演算部110は、復号画像を、ILF111に供給し、処理は、ステップS121からステップS122に進む。
【0437】
ステップS122では、ILF111は、演算部110からの復号画像に、予測処理(クラス分類予測処理)としてのフィルタ処理を施し、そのフィルタ処理により得られるフィルタ画像を、フレームメモリ112に供給して、処理は、ステップS122からステップS123に進む。
【0438】
ステップS123では、フレームメモリ112は、ILF111から供給されるフィルタ画像を、元画像を復元した復元画像として記憶し、処理は、ステップS124に進む。フレームメモリ112に復元画像として記憶されたフィルタ画像は、ステップS113やS114で、予測画像を生成する元となる参照画像として使用される。
【0439】
ステップS124では、可逆符号化部106は、量子化部105からの量子化係数である符号化データを符号化し、その符号化データを含む符号化ビットストリームを生成する。さらに、可逆符号化部106は、量子化部105での量子化に用いられた量子化パラメータQPや、イントラ予測部114でのイントラ予測処理で得られた予測モード、動き予測補償部115でのインター動き予測処理で得られた予測モードや動き情報等の符号化情報を必要に応じて符号化し、符号化ビットストリームに含める。
【0440】
また、可逆符号化部106は、図23のステップS104で伝送対象に設定されたフィルタ情報を必要に応じて符号化し、符号化ビットストリームに含める。そして、可逆符号化部106は、符号化ビットストリームを、蓄積バッファ107に供給し、処理は、ステップS124からステップS125に進む。
【0441】
ステップS125において、蓄積バッファ107は、可逆符号化部106からの符号化ビットストリームを蓄積し、処理は、ステップS126に進む。蓄積バッファ107に蓄積された符号化ビットストリームは、適宜読み出されて伝送される。
【0442】
ステップS126では、レート制御部117は、蓄積バッファ107に蓄積されている符号化ビットストリームの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御し、符号化処理は終了する。
【0443】
図25は、図24のステップS122で行われるフィルタ処理の例を説明するフローチャートである。
【0444】
ステップS131において、ILF111の予測装置132(図22)は、演算部110から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS132に進む。
【0445】
ステップS132において、予測装置132は、注目画素について、ステップS105(図23)でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、処理は、ステップS133に進む。
【0446】
ステップS133では、予測装置132は、ステップS105でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、処理は、ステップS134に進む。
【0447】
ステップS134では、予測装置132は、ステップS105でフィルタ情報記憶部171に記憶された最新のフィルタ情報に含まれる係数情報としてのクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、処理は、ステップS135に進む。
【0448】
ステップS135では、予測装置132は、注目画素についての予測タップと、注目画素のクラスのタップ係数とを用いて構成される、フィルタ情報記憶部171に記憶された予測方法情報が表す採用予測方法に従った予測式を、復号画像に適用するフィルタ処理を行い、すなわち、予測式の演算を行い、フィルタ画像を求める。
【0449】
その後、処理は、ステップS135からステップS136に進み、予測装置132は、演算部110からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS136において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS131に戻り、以下、同様の処理が繰り返される。
【0450】
また、ステップS136において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS137に進み、予測装置132は、演算部110からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、フレームメモリ112(図19)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
【0451】
<復号装置30の構成例>
【0452】
図26は、図7の復号装置30の詳細な構成例を示すブロック図である。
【0453】
図26において、復号装置30は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、ILF206、並べ替えバッファ207、及び、D/A変換部208を有する。また、復号装置30は、フレームメモリ210、選択部211、イントラ予測部212、動き予測補償部213、及び、選択部214を有する。
【0454】
蓄積バッファ201は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、所定のタイミングにおいて、その符号化ビットストリームを、可逆復号部202に供給する。
【0455】
可逆復号部202は、蓄積バッファ201からの符号化ビットストリームを受信し、図19の可逆符号化部106の符号化方式に対応する方式で復号する。
【0456】
そして、可逆復号部202は、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部203に供給する。
【0457】
また、可逆復号部202は、パースを行う機能を有する。可逆復号部202は、符号化ビットストリームの復号結果に含まれる必要な符号化情報やフィルタ情報をパースし、符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。さらに、可逆復号部202は、フィルタ情報を、ILF206に供給する。
【0458】
逆量子化部203は、可逆復号部202からの符号化データとしての量子化係数を、図19の量子化部105の量子化方式に対応する方式で逆量子化し、その逆量子化により得られる直交変換係数を、逆直交変換部204に供給する。
【0459】
逆直交変換部204は、逆量子化部203から供給される直交変換係数を、図19の直交変換部104の直交変換方式に対応する方式で逆直交変換し、その結果得られる残差を、演算部205に供給する。
【0460】
演算部205には、逆直交変換部204から残差が供給される他、選択部214を介して、イントラ予測部212又は動き予測補償部213から予測画像が供給される。
【0461】
演算部205は、逆直交変換部204からの残差と、選択部214からの予測画像とを加算し、復号画像を生成して、ILF206に供給する。
【0462】
ILF206は、図19のILF111と同様に、クラス分類予測処理によるフィルタ処理を行い、元画像を予測(復元)する。
【0463】
ILF206には、演算部205から復号画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。ILF206は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、ILF206は、復号画像の各画素に、フィルタ情報に含まれる係数情報としての採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を出力する。
【0464】
ILF206が出力するフィルタ画像は、図19のILF111が出力するフィルタ画像と同様の画像であり、並べ替えバッファ207及びフレームメモリ210に供給される。
【0465】
並べ替えバッファ207は、ILF206から供給されるフィルタ画像を、元画像を復元した復元画像として一時記憶し、復元画像のフレーム(ピクチャ)の並びを、符号化(復号)順から表示順に並べ替え、D/A変換部208に供給する。
【0466】
D/A変換部208は、並べ替えバッファ207から供給される復元画像をD/A変換し、図示せぬディスプレイに出力して表示させる。
【0467】
フレームメモリ210は、ILF206から供給されるフィルタ画像を一時記憶する。さらに、フレームメモリ210は、所定のタイミングにおいて、又は、イントラ予測部212や動き予測補償部213等の外部の要求に基づいて、フィルタ画像を、予測画像の生成に用いる参照画像として、選択部211に供給する。
【0468】
選択部211は、フレームメモリ210から供給される参照画像の供給先を選択する。選択部211は、イントラ符号化された画像を復号する場合、フレームメモリ210から供給される参照画像をイントラ予測部212に供給する。また、選択部211は、インター符号化された画像を復号する場合、フレームメモリ210から供給される参照画像を動き予測補償部213に供給する。
【0469】
イントラ予測部212は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図19のイントラ予測部114において用いられたイントラ予測モードで、フレームメモリ210から選択部211を介して供給される参照画像を用いてイントラ予測を行う。そして、イントラ予測部212は、イントラ予測により得られる予測画像を、選択部214に供給する。
【0470】
動き予測補償部213は、可逆復号部202から供給される符号化情報に含まれる予測モードに従い、図19の動き予測補償部115において用いられたインター予測モードで、フレームメモリ210から選択部211を介して供給される参照画像を用いてインター予測を行う。インター予測は、可逆復号部202から供給される符号化情報に含まれる動き情報等を必要に応じて用いて行われる。
【0471】
動き予測補償部213は、インター予測により得られる予測画像を、選択部214に供給する。
【0472】
選択部214は、イントラ予測部212から供給される予測画像、又は、動き予測補償部213から供給される予測画像を選択し、演算部205に供給する。
【0473】
なお、図26において、可逆復号部202が図7のパース部31に、逆量子化部203ないし演算部205が図7の復号部32に、ILF206が図7のフィルタ部33に、それぞれ相当する。
【0474】
<ILF206の構成例>
【0475】
図27は、図26のILF206の構成例を示すブロック図である。
【0476】
図27において、ILF206は、予測装置231を有する。
【0477】
予測装置231には、演算部205(図26)から復号画像が供給されるとともに、可逆復号部202からフィルタ情報が供給される。
【0478】
予測装置231は、可逆復号部202からのフィルタ情報を用いて、クラス分類予測処理としてのフィルタ処理を行い、元画像の予測値を画素値とするフィルタ画像を生成して、並べ替えバッファ207及びフレームメモリ210(図26)に供給する。
【0479】
すなわち、予測装置231は、フィルタ情報の分類方法情報が表す採用クラス分類方法で、復号画像の各画素のクラス分類を行い、その各画素のクラスを求める。さらに、予測装置231は、復号画像の各画素に、フィルタ情報の係数情報に含まれる採用タップ係数のうちの、その画素のクラスのタップ係数で構成される予測式を適用することにより、フィルタ情報の予測方法情報が表す採用予測方法の予測処理としてのフィルタ処理を行い、そのフィルタ処理により生成されるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210に供給する。
【0480】
<予測装置231の構成例>
【0481】
図28は、図27の予測装置231の構成例を示すブロック図である。
【0482】
図28において、予測装置231は、フィルタ情報記憶部241、タップ選択部251、クラス分類部252、係数取得部253、及び、予測演算部254を有する。
【0483】
フィルタ情報記憶部241、及び、タップ選択部251ないし予測演算部254は、図22のフィルタ情報記憶部171、及び、タップ選択部181ないし予測演算部184とそれぞれ同様に構成され、予測装置231では、図22の予測装置132と同様の処理が行われるので、説明を省略する。
【0484】
<復号処理>
【0485】
図29は、図26の復号装置30の復号処理の例を説明するフローチャートである。
【0486】
復号処理では、ステップS201において、蓄積バッファ201は、符号化装置20から伝送されてくる符号化ビットストリームを一時蓄積し、適宜、可逆復号部202に供給して、処理は、ステップS202に進む。
【0487】
ステップS202では、可逆復号部202は、蓄積バッファ201から供給される符号化ビットストリームを受け取って復号し、符号化ビットストリームの復号結果に含まれる符号化データとしての量子化係数を、逆量子化部203に供給する。
【0488】
また、可逆復号部202は、符号化ビットストリームの復号結果に、フィルタ情報や符号化情報が含まれる場合には、そのフィルタ情報や符号化情報をパースする。そして、可逆復号部202は、必要な符号化情報を、イントラ予測部212や動き予測補償部213その他の必要なブロックに供給する。また、可逆復号部202は、フィルタ情報を、ILF206に供給する。
【0489】
その後、処理は、ステップS202からステップS203に進み、ILF206は、可逆復号部202からフィルタ情報が供給されたかどうかを判定する。
【0490】
ステップS203において、フィルタ情報が供給されていないと判定された場合、処理は、ステップS204をスキップして、ステップS205に進む。
【0491】
また、ステップS203において、フィルタ情報が供給されたと判定された場合、処理は、ステップS204に進み、予測装置231(図28)が、可逆復号部202からのフィルタ情報を取得する。さらに、予測装置231は、可逆復号部202からのフィルタ情報によって、予測装置231のフィルタ情報記憶部241に記憶されているフィルタ情報を更新する。
【0492】
そして、処理は、ステップS204からステップS205に進み、予測復号処理が行われ、復号処理は終了する。
【0493】
図30は、図29のステップS205の予測復号処理の例を説明するフローチャートである。
【0494】
ステップS211において、逆量子化部203は、可逆復号部202からの量子化係数を逆量子化し、その結果得られる直交変換係数を、逆直交変換部204に供給して、処理は、ステップS212に進む。
【0495】
ステップS212では、逆直交変換部204は、逆量子化部203からの直交変換係数を逆直交変換し、その結果得られる残差を、演算部205に供給して、処理は、ステップS213に進む。
【0496】
ステップS213では、イントラ予測部212又は動き予測補償部213が、フレームメモリ210から選択部211を介して供給される参照画像、及び、可逆復号部202から供給される符号化情報を用いて、予測画像を生成するイントラ予測処理又はインター動き予測処理を行う。そして、イントラ予測部212又は動き予測補償部213は、イントラ予測処理又はインター動き予測処理により得られる予測画像を、選択部214に供給し、処理は、ステップS213からステップS214に進む。
【0497】
ステップS214では、選択部214は、イントラ予測部212又は動き予測補償部213から供給される予測画像を選択し、演算部205に供給して、処理は、ステップS215に進む。
【0498】
ステップS215では、演算部205は、逆直交変換部204からの残差と、選択部214からの予測画像を加算することにより、復号画像を生成する。そして、演算部205は、復号画像を、ILF206に供給して、処理は、ステップS215からステップS216に進む。
【0499】
ステップS216では、ILF206は、演算部205からの復号画像に、予測処理(クラス分類予測処理)としてのフィルタ処理を施し、そのフィルタ処理により得られるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210に供給して、処理は、ステップS216からステップS217に進む。
【0500】
ステップS217では、並べ替えバッファ207は、ILF206から供給されるフィルタ画像を、復元画像として一時記憶する。さらに、並べ替えバッファ207は、記憶した復元画像を、表示順に並べ替えて、D/A変換部208に供給し、処理は、ステップS217からステップS218に進む。
【0501】
ステップS218では、D/A変換部208は、並べ替えバッファ207からの復元画像をD/A変換し、処理は、ステップS219に進む。D/A変換後の復元画像は、図示せぬディスプレイに出力されて表示される。
【0502】
ステップS219では、フレームメモリ210は、ILF206から供給されるフィルタ画像を、復元画像として記憶し、復号処理は終了する。フレームメモリ210に記憶された復元画像は、ステップS213のイントラ予測処理又はインター動き予測処理で、予測画像を生成する元となる参照画像として使用される。
【0503】
図31は、図30のステップS216で行われるフィルタ処理の例を説明するフローチャートである。
【0504】
ステップS231において、ILF206の予測装置231(図28)は、演算部205から供給される復号画像(としてのブロック)の画素のうちの、まだ、注目画素とされていない画素の1つを、注目画素に選択し、処理は、ステップS232に進む。
【0505】
ステップS232において、予測装置231は、注目画素について、ステップS204(図29)でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる予測方法情報が表す採用予測方法に従ったタップ構造の予測タップとしての画素を、復号画像から選択し、処理は、ステップS233に進む。
【0506】
ステップS233では、予測装置231は、ステップS204でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる分類方法情報が表す採用クラス分類方法で、注目画素のクラス分類を行い、処理は、ステップS234に進む。
【0507】
ステップS234では、予測装置231は、ステップS204でフィルタ情報記憶部241に記憶された最新のフィルタ情報に含まれる係数情報としてのクラスごとのタップ係数から、注目画素のクラスのタップ係数を取得し、処理は、ステップS235に進む。
【0508】
ステップS235では、予測装置231は、注目画素についての予測タップと、注目画素のクラスのタップ係数とを用いて構成される、フィルタ情報記憶部241に記憶された予測方法情報が表す採用予測方法に従った予測式を、復号画像に適用するフィルタ処理を行い、すなわち、予測式の演算を行い、フィルタ画像を求める。
【0509】
その後、処理は、ステップS235からステップS236に進み、予測装置231は、演算部205からの復号画像(としてのブロック)の画素の中に、まだ、注目画素としていない画素があるかどうかを判定する。ステップS236において、まだ、注目画素としていない画素があると判定された場合、処理は、ステップS231に戻り、以下、同様の処理が繰り返される。
【0510】
また、ステップS236において、まだ、注目画素とされていない画素がないと判定された場合、処理は、ステップS237に進み、予測装置231は、演算部205からの復号画像(としてのブロック)に対して得られた画素値で構成されるフィルタ画像を、並べ替えバッファ207及びフレームメモリ210(図26)に供給する。そして、フィルタ処理は終了され、処理はリターンする。
【0511】
<本技術を適用したコンピュータの説明>
【0512】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0513】
図32は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0514】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。
【0515】
あるいはまた、プログラムは、リムーバブル記録媒体311に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体311としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0516】
なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク305にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0517】
コンピュータは、CPU(Central Processing Unit)302を内蔵しており、CPU302には、バス301を介して、入出力インタフェース310が接続されている。
【0518】
CPU302は、入出力インタフェース310を介して、ユーザによって、入力部307が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、CPU302は、ハードディスク305に格納されたプログラムを、RAM(Random Access Memory)304にロードして実行する。
【0519】
これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。
【0520】
なお、入力部307は、キーボードや、マウス、マイク等で構成される。また、出力部306は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0521】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0522】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0523】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0524】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0525】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0526】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0527】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0528】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0529】
<本技術の適用対象>
本技術は、任意の画像符号化・復号方式に適用することができる。つまり、上述した本技術と矛盾しない限り、変換(逆変換)、量子化(逆量子化)、符号化(復号)、予測等、画像符号化・復号に関する各種処理の仕様は任意であり、上述した例に限定されない。また、上述した本技術と矛盾しない限り、これらの処理の内の一部を省略してもよい。
【0530】
<処理単位>
以上において説明した各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【0531】
<制御情報>
以上の各実施の形態において説明した本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
【0532】
<ブロックサイズ情報>
本技術を適用するブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0533】
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0534】
なお、本技術は、以下の構成をとることができる。
【0535】
<1>
符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成する復号部と、
前記復号部により生成された前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成するフィルタ部と
を備える復号装置。
<2>
前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
<1>に記載の復号装置。
<3>
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
<2>に記載の復号装置。
<4>
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
<2>又は<3>に記載の復号装置。
<5>
前記符号化ビットストリームに含まれる前記採用予測方法を表す予測方法情報をパースするパース部をさらに備え、
前記フィルタ部は、前記パース部によりパースされた前記予測方法情報が表す前記採用予測方法の予測式を、前記復号画像に適用する
<2>ないし<4>のいずれかに記載の復号装置。
<6>
前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
<5>に記載の復号装置。
<7>
前記フィルタ部は、
前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
<1>ないし<6>のいずれかに記載の復号装置。
<8>
前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
<7>に記載の復号装置。
<9>
前記符号化ビットストリームに含まれる、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報をパースするパース部をさらに備え、
前記フィルタ部は、前記パース部によりパースされた前記分類方法情報が表す前記採用クラス分類方法で前記クラス分類を行う
<8>に記載の復号装置。
<10>
前記復号部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記符号化データを復号する
<1>ないし<9>のいずれかに記載の復号装置。
<11>
符号化ビットストリームに含まれる符号化データを、フィルタ画像を用いて復号し、復号画像を生成することと、
前記復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、前記フィルタ画像を生成することと
を含む復号方法。
<12>
局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成するフィルタ部と、
前記フィルタ部により生成された前記フィルタ画像を用いて、元画像を符号化する符号化部と
を備える符号化装置。
<13>
前記フィルタ部は、前記DC予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された、前記フィルタ処理に採用する採用予測方法の予測式を、前記復号画像に適用する
<12>に記載の符号化装置。
<14>
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、2次以上の高次の高次項を含む予測式である高次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
<13>に記載の符号化装置。
<15>
前記フィルタ部は、前記DC予測式を用いる予測方法、及び、1次項のみからなる予測式である1次予測式を用いる予測方法を少なくとも含む複数の予測方法の中から選択された前記採用予測方法の予測式を、前記復号画像に適用する
<13>又は<14>に記載の符号化装置。
<16>
前記符号化部は、前記元画像を符号化することにより得られる符号化データと前記採用予測方法を表す予測方法情報とを含む符号化ビットストリームを生成する
<13>ないし<15>のいずれかに記載の符号化装置。
<17>
前記予測方法情報は、前記採用予測方法の予測式を表す情報、及び、前記予測式の演算に用いる画素である予測タップのタップ構造を表す情報を含む
<16>に記載の符号化装置。
<18>
前記フィルタ部は、
前記復号画像の画素を、複数のクラスのうちのいずれかのクラスに分類するクラス分類を行い、
前記復号画像の画素に、前記画素のクラスの前記タップ係数で構成される前記予測式を適用する
<12>ないし<17>のいずれかに記載の符号化装置。
<19>
前記フィルタ部は、複数のクラス分類方法の中から選択されたクラス分類方法で前記クラス分類を行う
<18>に記載の符号化装置。
<20>
前記符号化部は、前記元画像を符号化することにより得られる符号化データと、前記複数のクラス分類方法の中から選択された、前記クラス分類に採用する採用クラス分類方法を表す分類方法情報と、を含む符号化ビットストリームを生成する
<19>に記載の符号化装置。
<21>
前記符号化部は、Quad-Tree Block Structure、又は、QTBT(Quad Tree Plus Binary Tree) Block StructureのCU(Coding Unit)を処理単位として、前記元画像を符号化する
<12>ないし<20>のいずれかに記載の符号化装置。
<22>
局所復号された復号画像に、所定のタップ係数と前記復号画像の画素との積和演算を行う、DC(Direct Current)項を含む予測式であるDC予測式を適用するフィルタ処理を行い、フィルタ画像を生成することと、
前記フィルタ画像を用いて、元画像を符号化することと
を含む符号化方法。
【符号の説明】
【0536】
20 符号化装置, 21 符号化部, 22 局所復号部, 23 フィルタ部, 30 復号装置, 31 パース部, 32 復号部, 33 フィルタ部, 41 クラス分類部, 42 予測部, 43 選択部, 44 DB, 45 クラス分類部, 46 予測部, 51 クラス分類部, 52 予測部, 61 クラスタップ選択部, 62 分類部, 63 バッファ, 64 パラメータ取得部, 65 タップ係数取得部, 66 予測タップ選択部, 67 予測演算部, 71 クラスタップ選択部, 72 差分ADRC部, 73 テーブル記憶部, 74 分類閾値設定部, 75 差分ADRC部, 101 A/D変換部, 102 並べ替えバッファ, 103 演算部, 104 直交変換部, 105 量子化部, 106 可逆符号化部, 107 蓄積バッファ, 108 逆量子化部, 109 逆直交変換部, 110 演算部, 111 ILF, 112 フレームメモリ, 113 選択部, 114 イントラ予測部, 115 動き予測補償部, 116 予測画像選択部, 117 レート制御部, 131 学習装置, 132 予測装置, 141 選択部, 142 学習部, 143 選択部, 151 タップ選択部, 152 クラス分類部, 153 足し込み部, 154 係数算出部, 171 フィルタ情報記憶部, 181 タップ選択部, 182 クラス分類部, 183 係数取得部, 184 予測演算部, 201 蓄積バッファ, 202 可逆復号部, 203 逆量子化部, 204 逆直交変換部, 205 演算部, 206 ILF, 207 並べ替えバッファ, 208 D/A変換部, 210 フレームメモリ, 211 選択部, 212 イントラ予測部, 213 動き予測補償部, 214 選択部, 231 予測装置, 241 フィルタ情報記憶部, 251 タップ選択部, 252 クラス分類部, 253 係数取得部, 254 予測演算部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
【国際調査報告】