IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ KDDI株式会社の特許一覧

特開2024-92063画像復号装置、画像復号方法及びプログラム
<>
  • 特開-画像復号装置、画像復号方法及びプログラム 図1
  • 特開-画像復号装置、画像復号方法及びプログラム 図2
  • 特開-画像復号装置、画像復号方法及びプログラム 図3
  • 特開-画像復号装置、画像復号方法及びプログラム 図4
  • 特開-画像復号装置、画像復号方法及びプログラム 図5
  • 特開-画像復号装置、画像復号方法及びプログラム 図6
  • 特開-画像復号装置、画像復号方法及びプログラム 図7
  • 特開-画像復号装置、画像復号方法及びプログラム 図8
  • 特開-画像復号装置、画像復号方法及びプログラム 図9
  • 特開-画像復号装置、画像復号方法及びプログラム 図10
  • 特開-画像復号装置、画像復号方法及びプログラム 図11
  • 特開-画像復号装置、画像復号方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024092063
(43)【公開日】2024-07-05
(54)【発明の名称】画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240628BHJP
   H04N 19/186 20140101ALI20240628BHJP
   H04N 19/117 20140101ALI20240628BHJP
【FI】
H04N19/70
H04N19/186
H04N19/117
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024077617
(22)【出願日】2024-05-10
(62)【分割の表示】P 2020059931の分割
【原出願日】2020-03-30
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、総務省、「多様な用途、環境下での高精細映像の活用に資する次世代映像伝送・通信技術の研究開発」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】110001564
【氏名又は名称】フェリシテ弁理士法人
(72)【発明者】
【氏名】海野 恭平
(72)【発明者】
【氏名】河村 圭
(72)【発明者】
【氏名】内藤 整
(57)【要約】
【課題】符号化及び復号対象のシーケンスが4:0:0フォーマット或いは4:4:4フォーマットで各カラー画像をモノクロ画像として符号化及び復号する場合に不要なシンタックスの符号化・復号処理及びビット量を削減すること。
【解決手段】本発明に係る画像復号装置200において、復号部210は、第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスがピクチャヘッダのシンタックスとして含まれていない場合に、ピクチャヘッダのCb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、ピクチャパラメータセットのシンタックスとして復号されたCb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなす。
【選択図】図5
【特許請求の範囲】
【請求項1】
画像復号装置であって、
復号部を備えており、
前記復号部は、
ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号し、
前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号し、
ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号し、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号し、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなすことを特徴とする画像復号装置。
【請求項2】
ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号する工程と、
前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、
ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号する工程と、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなす工程とを有することを特徴とする画像復号方法。
【請求項3】
画像復号装置で用いるプログラムであって、コンピュータに、
ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号する工程と、
前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、
ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号する工程と、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなす工程とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
非特許文献1では、デブロッキングフィルタ処理を制御する一部のシンタックスについて、輝度信号(Y信号)及び色差信号(Cb信号及びCr信号)が、それぞれ個別のシンタックスを備えており、色信号ごとに異なる値を設定することができる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Versatile Video Coding (Draft 8)、JVET-Q2001
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1では、符号化及び復号対象のシーケンスのカラーフォーマットに関わらず、Y信号、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを常に符号化及び復号しなければならないという問題点があった。
【0005】
そこで、本発明は、上述の課題に鑑みてなされたものであり、符号化及び復号対象のシーケンスに色差信号データが存在する場合のみ、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを符号化及び復号することで、かかるシーケンスに色差データが存在しない場合に不要なシンタックスの符号化・復号処理及びビット量を削減できる画像復号装置、画像復号方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の特徴は、画像復号装置であって、復号部を備えており、前記復号部は、ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号し、前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号し、ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号し、前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号し、前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなすことを要旨とする。
【0007】
本発明の第2の特徴は、ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号する工程と、前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号する工程と、前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなす工程とを有することを要旨とする。
【0008】
本発明の第3の特徴は、画像復号装置で用いるプログラムであって、コンピュータに、ピクチャパラメータセットのシンタックスとして、前記ピクチャパラメータセット内に色差関連のシンタックスを含むかどうかを示す第1フラグを復号する工程と、前記第1フラグが前記ピクチャパラメータセット内に色差関連のシンタックスを含むことを示している場合に、前記ピクチャパラメータセットのシンタックスとして、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、ピクチャヘッダのシンタックスとして、復号対象のピクチャヘッダに対応するピクチャにおいてデブロッキングフィルタ処理を使用可とするか否かを示す第2フラグを復号する工程と、
前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合に、前記ピクチャヘッダのシンタックスとして、輝度信号のデブロッキングフィルタ処理を制御するシンタックスを復号する工程と、前記第2フラグがデブロッキングフィルタ処理を使用可とすることを示している場合で、且つ、前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスが前記ピクチャヘッダのシンタックスとして含まれていない場合に、前記ピクチャヘッダの前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値を、前記ピクチャパラメータセットのシンタックスとして復号された前記Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスの値と同一であるとみなす工程とを実行させることを要旨とする。
【発明の効果】
【0009】
本発明によれば、符号化及び復号対象のシーケンスに色差信号データが存在する場合のみ、Cb信号及びCr信号のデブロッキングフィルタ処理を制御するシンタックスを符号化及び復号することで、かかるシーケンスに色差データが存在しない場合に不要なシンタックスの符号化・復号処理及びビット量を削減できる画像復号装置、画像復号方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係る画像処理システム10の構成の一例を示す図である。
図2】一実施形態に係る画像復号装置200の機能ブロックの一例を示す図である。
図3】一実施形態に係る画像復号装置200の復号部210によって受信される符号化データ(ビットストリーム)の構成の一例である。
図4】SPS211に含まれる制御データの一例である。
図5】PPS212に含まれる制御データの一例である。
図6】ピクチャヘッダ213に含まれる制御データの一例である。
図7】スライスヘッダ214A/214Bに含まれる制御データの一例である。
図8】一実施形態に係る画像復号装置200のインループフィルタ処理部250の機能ブロックの一例について示す図である。
図9】一実施形態に係る画像復号装置200のインループフィルタ処理部250のデブロッキングフィルタ部250Aの機能ブロックの一例を示す図である。
図10】一実施形態に係る画像復号装置200のインループフィルタ処理部250のフィルタ決定部254A/254Bの処理フローの一例を示すフローチャートである。
図11】一実施形態に係る画像復号装置200のインループフィルタ処理部250のフィルタ決定部254A/254Bの処理フローで用いられる表の一例を示す図である。
図12】一実施形態に係る画像符号化装置100の機能ブロックの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施形態における構成要素は、適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、以下の実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【0012】
(第1実施形態)
以下、図1図12を参照して、本発明の第1実施形態に係る画像処理システム10について説明する。図1は、本実施形態に係る実施形態に係る画像処理システム10を示す図である。
【0013】
図1に示すように、画像処理システム10は、画像符号化装置100及び画像復号装置200を有する。
【0014】
画像符号化装置100は、入力画像信号を符号化することによって符号化データを生成するように構成されている。画像復号装置200は、符号化データを復号することによって出力画像信号を生成するように構成されている。
【0015】
ここで、かかる符号化データは、画像符号化装置100から画像復号装置200に対して伝送路を介して送信されてもよい。また、符号化データは、記憶媒体に格納された上で、画像符号化装置100から画像復号装置200に提供されてもよい。
【0016】
(画像復号装置200)
以下、図2を参照して、本実施形態に係る画像復号装置200について説明する。図2は、本実施形態に係る画像復号装置200の機能ブロックの一例について示す図である。
【0017】
図2に示すように、画像復号装置200は、復号部210と、逆変換・逆量子化部220と、加算器230と、インター予測部241と、イントラ予測部242と、インループフィルタ処理部250と、フレームバッファ260とを有する。
【0018】
復号部210は、画像符号化装置100によって生成される符号化データを復号し、係数レベル値を復号するように構成されている。
【0019】
ここで、例えば、復号は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化されたデータの復号である。
【0020】
復号部210は、符号化データの復号処理によって制御データを取得するように構成されていてもよい。
【0021】
ここで、制御データは、符号化ブロック(CU:Coding Unit)サイズや、予測ブロック(PU:Prediction Unit)サイズや、変換ブロック(TU:Transform Unit)サイズ等のサイズデータを含んでもよい。
【0022】
逆変換・逆量子化部220は、復号部210から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部220は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0023】
加算器230は、逆変換・逆量子化部220から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、フィルタ処理前復号信号をイントラ予測部242及びインループフィルタ処理部250に出力するように構成されている。
【0024】
ここで、フィルタ処理前復号信号は、イントラ予測部242で用いる参照ブロックを構成する。
【0025】
インター予測部241は、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0026】
具体的には、インター予測部241は、符号化データから復号した動きベクトルと参照フレームに含まれる参照信号に基づいて予測信号を予測ブロック毎に生成するように構成されている。インター予測部241は、予測信号を加算器230に出力するように構成されている。
【0027】
イントラ予測部242は、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0028】
具体的には、イントラ予測部242は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。イントラ予測部242は、予測信号を加算器230に出力するように構成されている。
【0029】
インループフィルタ処理部250は、加算器230から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ260に出力するように構成されている。
【0030】
ここで、インループフィルタ処理は、複数のフィルタ処理から構成されていてもよい。例えば、フィルタ処理は、ブロック(符号化ブロック、予測ブロック、変換ブロック或いはそれらを分割したサブブロック)の境界部分で生じる歪みを減少するデブロッキングフィルタ処理や、画像符号化装置100から伝送されるフィルタ係数やフィルタ選択情報や画像の絵柄の局所的な性質等に基づいてフィルタを切り替える適応ループフィルタ処理である。
【0031】
フレームバッファ260は、インター予測部241で用いる参照フレームを蓄積するように構成されている。
【0032】
ここで、フィルタ処理後復号信号は、インター予測部241で用いる参照フレームを構成する。
【0033】
(復号部210)
以下、図3図7を用いて、復号部210によって復号される制御データについて説明する。
【0034】
図3は、復号部210で受信する符号化データ(ビットストリーム)の構成の一例である。
【0035】
かかるビットストリームの先頭に、SPS211が含まれていてもよい。SPS211は、シーケンス(ピクチャの集合)単位での制御データの集合である。具体例については後述する。各SPS211は、複数のSPS211が存在する場合に個々を識別するためのSPS id情報を少なくとも含む。
【0036】
かかるビットストリームにおいて、SPS211の次に、PPS212が含まれていてもよい。PPS212は、ピクチャ(スライスの集合)単位での制御データの集合である。各PPS212は、複数のPPS212が存在する場合に個々を識別するためのPPS id情報を少なくとも含む。また、各PPS212は、各PPS212に対応するSPS211を指定するためのSPS id情報を少なくとも含む。
【0037】
かかるビットストリームにおいて、PPS212の次に、ピクチャヘッダ213が含まれていてもよい。ピクチャヘッダ213も、ピクチャ(スライスの集合)単位での制御データの集合である。PPS212は、複数のピクチャに対して単一のPPS212を共有することができる。一方、ピクチャヘッダ213は、ピクチャ毎に必ず伝送される。ピクチャヘッダ213は、各ピクチャに対応するPPS212を指定するためのPPS id情報を少なくとも含む。
【0038】
かかるビットストリームにおいて、ピクチャヘッダ213の次に、スライスヘッダ214Aが含まれていてもよい。スライスヘッダ214Aは、スライス単位での制御データの集合である。具体例については後述する。スライスヘッダ214Aの一部として、上述のピクチャヘッダ213の情報が含まれていてもよい。
【0039】
かかるビットストリームにおいて、スライスヘッダ214Aの次に、スライスデータ215Aが含まれていてもよい。スライスデータ215Aは、上述の係数レベル値やサイズデータ等を含んでもよい。
【0040】
以上のように、各スライスデータ214A/215Aに、1つずつスライスヘッダ215A/215B、ピクチャヘッダ213、PPS212及びSPS211が対応する構成となる。上述のように、ピクチャヘッダ213にて、どのPPS212を参照するかをPPS idで指定し、さらに、かかるPPS212にて、どのSPS211を参照するかをSPS idで指定するため、複数のスライスデータ215A/215Bに対して共通のSPS211及びPPS212を用いることができる。
【0041】
言い換えると、SPS211及びPPS211は、ピクチャごと及びスライスごとに必ずしも伝送する必要がない。例えば、図3のように、スライスヘッダ214A/214Bの直前では、SPS211及びPPS212を符号化しないようなビットストリームの構成とすることもできる。
【0042】
なお、図3の構成は、あくまで一例である。各スライスデータ215A/215Bに、スライスヘッダ214A/214B、ピクチャヘッダ213、PPS212及びSPS211で指定された制御データが対応する構成となっていれば、ビットストリームの構成要素として、上述以外の要素が追加されてもよい。また、同様に、伝送に際して図3と異なる構成に整形されてもよい。
【0043】
図4は、SPS211内に含まれる制御データの一例である。
【0044】
SPS211は、上述の通り、少なくとも各SPS211を識別するためのSPS id情報 (sps#seq#parameter#set#id)を含む。
【0045】
SPS211は、当該シーケンスの色差フォーマット情報(chroma#format#idc)を含んでもよい。例えば、chroma#format#idcの値が「0」の場合は、4:0:0フォーマット(モノクロ)を意味し、chroma#format#idcの値が「1」の場合は、4:2:0フォーマットを意味し、chroma#format#idcの値が「2」の場合は、4:2:2フォーマットを意味し、chroma#format#idcの値が「3」の場合は、4:4:4フォーマットを意味するように定義することができる。
【0046】
また、chroma#format#idcの値が「3」の場合、すなわち、4:4:4フォーマットの場合には、SPS211は、追加で、セパレートプレーン適否情報(separate#colour#plane#flag)を含んでもよい。
【0047】
例えば、separate#colour#plane#flagの値が「0」の場合は、復号部210は、3つあるカラープレーン間(例えば、YCbCrやRGB等)の相関を利用して復号を行い、separate#colour#plane#flagの値が「1」の場合は、かかるカラープレーンを独立に(それぞれモノクロ画像とみなして)復号するように構成されていてもよい。
【0048】
なお、SPS211に、separate#colour#plane#flagが含まれていなかった場合、復号部210は、separate#colour#plane#flagの値を「0」とみなしてもよい。
【0049】
さらに、復号部210は、上述のchroma#format#idcの値及びseparate#colour#plane#flagの値を参照して、変数ChromaArrayTypeの値を設定してもよい。
【0050】
例えば、復号部210は、separate#colour#plane#flagの値が「0」の場合は、ChromaArrayTypeの値をchroma#format#idcの値と同じ値に設定してもよい。
【0051】
また、復号部210は、separate#colour#plane#flagの値が「1」の場合は、chroma#format#idcの値を「0」に設定してもよい。
【0052】
以上のような定義とすることで、ChromaArrayType=0の場合は、4:0:0フォーマット(モノクロ)である場合か、4:4:4フォーマットで各カラープレーンがモノクロ画像とみなして復号される場合を意味する。
【0053】
言い換えると、ChromaArrayType=0の場合は、当該シーケンスに色差データが存在しない場合と解釈し、ChromaArrayType!=0の場合は、当該シーケンスに色差データが存在する場合と解釈することができる。
【0054】
図5は、PPS212に含まれる制御データの一例である。
【0055】
PPS212は、上述の通り、少なくとも各PPS212を識別するためのPPS id情報(pps#pic#parameter#set#id)を含む。また、PPS212は、上述の通り、少なくとも当該PPS212に対応するSPS211を指定するためのSPS id情報であるpps#seq#parameter#set#idを含む。
【0056】
PPS212は、当該PPS212内に色差関連のシンタックスを含むかどうかを示すフラグ(pps#chroma#tool#offsets#present#flag)を含んでもよい。
【0057】
例えば、pps#chroma#tool#offsets#present#flagの値が「0」の場合は、色差関連のシンタックスを含まないと定義し、pps#chroma#tool#offsets#present#flagの値が「1」の場合は、色差関連のシンタックスを含むと定義してもよい。
【0058】
なお、ChromaArrayType=0の場合、すなわち、当該シーケンスに色差データが存在しない場合は、pps#chroma#tool#offsets#present#flagの値が「0」であることと制約されていてもよい。
【0059】
PPS212は、後述するデブロッキングフィルタ処理を制御するシンタックスを当該PPS212に含むかどうかを示すフラグ(deblocking#filter#control#present#flag)を含んでもよい。
【0060】
例えば、deblocking#filter#control#present#flagの値が「0」の場合は、デブロッキングフィルタ処理を制御するシンタックスを含まないと定義し、deblocking#filter#control#present#flagの値が「1」の場合は、デブロッキングフィルタ処理を制御するシンタックスを含むと定義してもよい。
【0061】
また、deblocking#filter#control#present#flagの値が「1」の場合は、PPS212は、デブロッキングフィルタ処理を制御するシンタックスとして、deblocking#filter#override#enabled#flagを含んでもよい。
【0062】
例えば、deblocking#filter#override#enabled#flagの値が「1」の場合、後述するピクチャヘッダ213又はスライスヘッダ214A/214Bに含まれる情報にて、PPS212に含まれるデブロッキングフィルタ処理制御情報の上書きを許可すると定義し、deblocking#filter#override#enabled#flagの値が「0」の場合、かかるデブロッキングフィルタ処理制御情報の上書きを許可しない、と定義してもよい。
【0063】
また、復号部210は、PPS212に、deblocking#filter#override#enabled#flagが含まれていなかった場合、deblocking#filter#override#enabled#flagの値を「0」とみなしてよい。
【0064】
PPS212は、ピクチャ単位でデブロッキングフィルタ処理を使用可とするか或いは使用不可とするかを定義するフラグ(pps#deblocking#filter#disabled#flag)を含んでもよい。
【0065】
例えば、pps#deblocking#filter#disabled#flag=0の場合は、デブロッキングフィルタ処理を使用可とすると定義し、pps#deblocking#filter#disabled#flag=1の場合は、デブロッキングフィルタ処理を使用不可とすると定義してもよい。
【0066】
また、PPS212に、pps#deblocking#filter#disabled#flagが含まれていなかった場合、復号部210は、pps#deblocking#filter#disabled#flagの値を「0(デブロッキングフィルタ処理を使用可とする)」とみなしてよい。
【0067】
PPS212は、pps#deblocking#filter#disabled#flagの値が「0」の場合(デブロッキングフィルタ処理を使用可とする場合)、pps#beta#offset#div2及びpps#tc#offset#div2を含んでもよい。
【0068】
pps#beta#offset#div2の値及びpps#tc#offset#div2の値は、後述する輝度信号(Y信号)のデブロッキングフィルタ処理に用いる変数βと変数tCの値を算出する際に用いられる。
【0069】
PPS212に、pps#beta#offset#div2及びpps#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値を「0」とみなしてもよい。
【0070】
さらに、pps#chroma#tool#offsets#present#flagの値が「1」の場合、PPS212は、色差信号(Cb信号及びCr信号)のそれぞれのデブロッキングフィルタ処理に用いる変数β及び変数tCの算出に用いるpps#cb#beta#offset#div2、pps#cb#tc#offset#div2、pps#cr#beta#offset#div2及びpps#cb#tc#offset#div2を含んでもよい。
【0071】
PPS212に、pps#cb#beta#offset#div2、pps#cb#tc#offset#div2、pps#cr#beta#offset#div2及びpps#cb#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値を0とみなしてもよい。
【0072】
以上のように、pps#chroma#tool#offsets#present#flagの値が、PPS212内に色差関連のシンタックスを含むことを示している場合のみ、色差信号のデブロッキングフィルタ処理を制御するシンタックス(pps#cb#beta#offset#div2、pps#cb#tc#offset#div2、pps#cr#beta#offset#div2及びpps#cb#tc#offset#div2)をPPS212内に含めるようにすることで、例えば、当該ピクチャが4:0:0フォーマットである場合や、当該ピクチャが4:4:4フォーマットで各カラープレーンをモノクロ画像とみなして復号される場合、すなわち、色差データが存在しない場合に、不要なシンタックスがPP212Sに含まれることを防ぐことができる。これにより、無駄な復号処理を削減することができ、また、PPS212のビット量を削減することができる。
【0073】
また、deblocking#filter#override#enabled#flagの値が「1」の場合、PPS212は、後述するピクチャヘッダ213にデブロッキングフィルタ処理を制御する情報が含まれているかどうかを示すフラグ(dbf#info#in#ph#flag)を含んでもよい。
【0074】
例えば、dbf#info#in#ph#flag=0の場合は、ピクチャヘッダ213にデブロッキングフィルタ処理制御情報が含まれないと定義し、dbf#info#in#ph#flag=1の場合は、ピクチャヘッダ213にデブロッキングフィルタ処理制御情報が含まれると定義してもよい。
【0075】
また、PPS212に、dbf#info#in#ph#flagが含まれていない場合、復号部210は、dbf#info#in#ph#flagの値を「0」とみなしてもよい。
【0076】
図6は、ピクチャヘッダ213に含まれる制御データの一例である。
【0077】
ピクチャヘッダ213は、上述の通り、少なくとも当該ピクチャヘッダ213に対応するPPS212を指定するためのPPS id情報であるph#pic#parameter##set#idを含む。
【0078】
また、ph#pic#parameter##set#idによって指定されたPPS212に関連するdeblocking#filter#override#enabled#flagの値及びdbf#info#in#ph#flagの値がいずれも「1」の場合、ピクチャヘッダ213は、ph#deblocking#filter#override#flagを含んでもよい。
【0079】
ピクチャヘッダ213に、ph#deblocking#filter#override#flagが含まれない場合、復号部210は、ph#deblocking#filter#override#flagの値を「0」とみなしてもよい。
【0080】
ph#deblocking#filter#override#flagの値が「1」の場合、ピクチャヘッダ213は、ph#deblocking#filter#disabled#flagを含んでもよい。
【0081】
ph#deblocking#filter#disabled#flag=1の場合は、当該ピクチャヘッダ213に対応するスライス内で、デブロッキングフィルタ処理が使用不可であることを意味する。
【0082】
一方、ph#deblocking#filter#disabled#flag=0の場合は、当該ピクチャヘッダ213に対応するスライス内で、デブロッキングフィルタ処理が使用可であることを意味する。
【0083】
ピクチャヘッダ213に、ph#deblocking#filter#disabled#flagが含まれない場合、復号部210は、ph#deblocking#filter#disabled#flagの値をpps#deblocking#filter#disabled#flagと同じ値であるとみなしてもよい。
【0084】
ph#deblocking#filter#disabled#flagの値が「0」の場合(デブロッキングフィルタ処理が使用可である場合)、ピクチャヘッダ213は、ph#beta#offset#div2及びph#tc#offset#div2を含んでもよい。
【0085】
ph#beta#offset#div2の値及びph#tc#offset#div2の値は、後述する輝度信号(Y信号)のデブロッキングフィルタ処理に用いる変数βと変数tCの値を算出する際に用いられる。
【0086】
ピクチャヘッダ213に、ph#beta#offset#div2及びph#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値をpps#beta#offset#div2及びpps#tc#offset#div2と同じ値とみなしてもよい。
【0087】
さらに、ChromaArrayTypeの値が「0」以外の場合(すなわち、ChromaArrayType=1、2又は3の場合)、ピクチャヘッダ213は、色差信号(Cb信号及びCr信号)のそれぞれのデブロッキングフィルタ処理に用いる変数β及び変数tCの算出に用いられるph#cb#beta#offset#div2、ph#cb#tc#offset#div2、ph#cr#beta#offset#div2及びph#cr#tc#offset#div2を含んでもよい。
【0088】
ピクチャヘッダ213に、ph#cb#beta#offset#div2、ph#cb#tc#offset#div2、ph#cr#beta#offset#div2及びph#cr#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値を、pps#cb#beta#offset#div2、pps#cb#tc#offset#div2、pps#cr#beta#offset#div2及びpps#cr#tc#offset#div2と同じ値とみなしてもよい。
【0089】
以上のように、ChromaArrayTypeの値が、色差データが存在することを示しているときにのみ、色差信号のデブロッキングフィルタ処理を制御するシンタックス(ph#cb#beta#offset#div2、ph#cb#tc#offset#div2、ph#cr#beta#offset#div2及びph#cr#tc#offset#div2)をピクチャヘッダ213内に含めるようにすることで、例えば、当該ピクチャが4:0:0フォーマットである場合や、当該ピクチャが4:4:4フォーマットで各カラープレーンをモノクロ画像とみなして復号される場合、すなわち、色差データが存在しない場合に、不要なシンタックスをピクチャヘッダ213に含めることを防ぐことができる。これにより、無駄な復号処理を削減することができ、また、ピクチャヘッダ213のビット量を削減することができる。
【0090】
図7は、スライスヘッダ214A/214Bに含まれる制御データの一例である。
【0091】
スライスヘッダ214A/214Bは、picture#header#in#slice#header#flagを含んでもよい。
【0092】
picture#header#in#slice#header#flagの値が「1」の場合、スライスヘッダ214A/214Bは、図7に示すpicture#header#structure( )の位置に、図6で説明したピクチャヘッダ213のシンタックスを含むことができる。
【0093】
また、当該スライスヘッダ214A/214Bが対応するピクチャヘッダ213にてph#pic#parameter#set#idで指定されたPPS212に関連するdeblocking#filter#override#enabled#flagの値及びdbf#info#in#ph#flagの値がいずれも「1」の場合、スライスヘッダ214A/214Bは、slice#deblocking#filter#override#flagを含んでもよい。
【0094】
スライスヘッダ214A/214Bに、slice#deblocking#filter#override#flagが含まれない場合、復号部210は、slice#deblocking#filter#override#flagの値を「0」とみなしてもよい。
【0095】
slice#deblocking#filter#override#flagの値が「1」の場合、ピクチャヘッダ214A/214Bは、
slice#deblockling#filter#disabled#flagを含んでもよい。
【0096】
ここで、slice#deblockling#filter#disabled#flag=1の場合は、当該スライス内で、デブロッキングフィルタ処理が使用不可であることを意味する。一方、slice#deblockling#filter#disabled#flag=0の場合は、当該スライス内で、デブロッキングフィルタ処理が使用可であることを意味する。
【0097】
スライスヘッダ214A/214Bに、slice#deblockling#filter#disabled#flagが含まれない場合、復号部210は、slice#deblockling#filter#disabled#flagの値をph#deblockling#filter#disabled#flagと同じ値であるとみなしてもよい。
【0098】
slice#deblockling#filter#disabled#flagの値が「0」の場合(デブロッキングフィルタ処理が使用可である場合)、スライスヘッダ214A/214Bは、slice#beta#offset#div2及びslice#tc#offset#div2を含んでもよい。
【0099】
slice#beta#offset#div2の値及びslice#tc#offset#div2の値は、後述する輝度信号(Y信号)のデブロッキングフィルタ処理に用いる変数βと変数tCの値を算出する際に用いられる。
【0100】
スライスヘッダ214A/214Bに、slice#beta#offset#div2及びslice#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値を、ph#beta#offset#div2及びph#tc#offset#div2と同じ値とみなしてもよい。
【0101】
さらに、ChromaArrayTypeの値が「0」以外の場合(すなわち、ChromaArrayType=1、2又は3の場合)、スライスヘッダ214A/214Bは、色差信号(Cb信号及びCr信号)のそれぞれのデブロッキングフィルタ処理に用いる変数β及び変数tCの算出に用いられるslice#cb#beta#offset#div2、slice#cb#tc#offset#div2、slice#cr#beta#offset#div2及びslice#cr#tc#offset#div2を含んでもよい。
【0102】
スライスヘッダ214A/214Bに、slice#cb#beta#offset#div2、slice#cb#tc#offset#div2、slice#cr#beta#offset#div2及びslice#cr#tc#offset#div2が含まれていなかった場合、復号部210は、それぞれの値を、ph#cb#beta#offset#div2、ph#cb#tc#offset#div2、ph#cr#beta#offset#div2及びph#cr#tc#offset#div2と同じ値とみなしてもよい。
【0103】
以上のように、ChromaArrayTypeの値が、色差データが存在することを示しているときにのみ、色差信号のデブロッキングフィルタ処理を制御するシンタックス(slice#cb#beta#offset#div2、slice#cb#tc#offset#div2、slice#cr#beta#offset#div2及びslice#cr#tc#offset#div2)をスライスヘッダ214A/214B内に含めるようにすることで、例えば、当該ピクチャが4:0:0フォーマットである場合や、当該ピクチャが4:4:4フォーマットで各カラープレーンをモノクロ画像とみなして復号される場合、すなわち、色差データが存在しない場合に、不要なシンタックスをスライスヘッダ214A/214Bに含めることを防ぐことができる。これにより、無駄な復号処理を削減することができ、また、スライスヘッダ214A/214Bのビット量を削減することができる。
【0104】
以上で説明したフラグの値は、あくまでも一例である。フラグの値(「0」及び「1」)に与える意味を逆転させた場合、対応する処理もそれに応じて逆転させることで等価な処理を実現可能である。また、シンタックス間の参照関係が存在しないシンタックス同士については、復号する順番が入れ替わってもよい。更に、上述以外のシンタックスが、SPS211、PPS212、ピクチャヘッダ213、スライスヘッダ214A/214Bに、それぞれ含まれていてもよい。
【0105】
(インループフィルタ処理部250)
以下、図8を参照して、本実施形態に係るインループフィルタ処理部250について説明する。図8は、本実施形態に係る画像復号装置200のインループフィルタ処理部250の機能ブロックの一例について示す図である。
【0106】
図8に示すように、インループフィルタ処理部250は、デブロッキングフィルタ部250Aと、SAO部250Bと、適応ループフィルタ部250Cとを有する。
【0107】
SAO部250Bは、サンプルアダプティブオフセット処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
【0108】
同様に、適応ループフィルタ部250Cは、適応ループフィルタ処理を行うブロックであり、公知の処理を用いることができるため、具体的な処理内容の説明は省略する。
【0109】
以下、デブロッキングフィルタ部250Aの処理内容の一例について説明する。
【0110】
図9に示すように、デブロッキングフィルタ部250Aは、ブロック境界検出部251と、境界強度判定部253と、フィルタ決定部254と、フィルタ処理部255とを有する。
【0111】
ここで、末尾に「A」が付されている構成は、垂直方向のブロック境界に対するデブロッキングフィルタ処理に関する構成であり、末尾に「B」が付されている構成は、水平方向のブロック境界に対するデブロッキングフィルタ処理に関する構成である。
【0112】
以下、垂直方向のブロック境界に対するデブロッキングフィルタ処理が行われた後に、水平方向のブロック境界に対するデブロッキングフィルタ処理が行われるケースについて例示する。
【0113】
デブロッキングフィルタ処理は、上述したように、符号化ブロックに対して適用されてもよく、予測ブロックに対して適用されてもよく、変換ブロックに対して適用されてもよい。また、デブロッキングフィルタ処理は、上記の各ブロックを分割したサブブロックに適用されてもよい。すなわち、対象ブロック及び隣接ブロックは、符号化ブロックであってもよく、予測ブロックであってもよく、変換ブロックであってもよく、これらを分割したサブブロックでもよい。
【0114】
サブブロックにデブロッキングフィルタを適用する場合は、適宜、以下の説明のブロックをサブブロックに読み替えることができる。
【0115】
垂直方向のブロック境界に対するデブロッキングフィルタ処理及び水平方向のブロック境界に対するデブロッキングフィルタ処理は、同様の処理であるため、以下においては、垂直方向のブロック境界に対するデブロッキングフィルタ処理について説明する。
【0116】
ブロック境界検出部251Aは、ブロックサイズを示す制御データに基づいて、ブロックの境界を検出するように構成されている。ここで、ブロックは、符号化ブロック(CU)、予測ブロック(PU)、変換ブロック(TU)である。具体的な検出方法は、既知の手法が適用可能なため、詳細の説明は省略する。
【0117】
境界強度判定部253Aは、対象ブロックと隣接ブロックとのブロック境界の境界強度を判定するように構成されている。例えば、境界強度は、「0」、「1」及び「2」の3種類の整数値のうちいずれかをとると定義してもよい。境界強度の具体的な算出方法は、既知の手法が適用可能なため、詳細な説明は省略する。
【0118】
フィルタ決定部254Aは、ブロック境界に適用するフィルタ処理(例えば、デブロッキングフィルタ処理)の種類を決定するように構成されている。
【0119】
例えば、フィルタ決定部254Aは、ブロック境界の境界強度や、対象ブロック及び隣接ブロックに含まれる量子化パラメータ等に基づいて、ブロック境界に対して、フィルタ処理を適用するか否か、弱フィルタ処理及び強フィルタ処理のいずれのフィルタ処理を適用するかについて決定するように構成されていてもよい。
【0120】
また、フィルタ決定部254Aは、輝度信号のブロック境界及び色差信号(Cb信号又はCr信号)のブロック境界について、それぞれ異なる手順でフィルタ処理の適否及びフィルタ強度(弱フィルタまたは強フィルタ)を決定してもよい。
【0121】
フィルタ決定部254Aは、ブロック境界の境界強度が「0」である場合に、フィルタ処理を適用しないと決定するように構成されていてもよい。
【0122】
以下、図10を用いて、フィルタ決定部254Aにおける色差信号(Cb信号又はCr信号)のブロック境界における具体的な処理手順の一例について説明する。以下では、Cb信号における処理手順を説明するが、Cr信号も同様な手順で処理可能である。
【0123】
ステップS101において、フィルタ決定部254Aは、当該ブロック境界の境界強度を確認する。かかる境界強度が「0」の場合は、本処理は、ステップS109へ進み、フィルタ決定部254Aは、当該ブロック境界には、デブロッキングフィルタを適用しないと決定する。かかる境界強度が「0」より大きい場合は、本処理は、ステップS102へ進む。
【0124】
ステップS102において、フィルタ決定部254Aは、変数βの値及び変数tCの値を算出する。
【0125】
まず、変数βの算出法について説明する。
【0126】
第1に、フィルタ決定部254Aは、以下の通り、変数Qの値を算出する。
【0127】
Q=Clip3(0,63,QpC+(slice#cb#beta#offset#div2<<1))
ここで、QpCは、例えば、当該ブロック境界に隣接する2つのブロックの量子化パラメータの平均値である。
【0128】
第2に、フィルタ決定部254Aは、前記Qの値と図11に示す表を用いて、β′を決定する。
【0129】
第3に、フィルタ決定部254Aは、上記で決めたβ′に基づいて、以下の式によって、変数βを算出する。
【0130】
β=β′×(1<<(BitDepth-8))
ここで、BitDepthは、画素値の内部ビット深度である。
【0131】
次に、変数tCの算出法について説明する。
【0132】
第1に、フィルタ決定部254Aは、以下の通り、変数Qの値を算出する。
【0133】
Q=Clip3(0,65,QpC+2×(bS-1)+(slice#cb#tc#offset#div2<<1))
ここで、bSは、境界強度の値である。
【0134】
第2に、フィルタ決定部254Aは、上述のQの値及び図11に示す表を用いて、tC’を決定する。
【0135】
第3に、フィルタ決定部254Aは、上記で決めたtC’に基づいて、以下の式によって、変数tCを算出する。
【0136】
tC=(BitDeapth<10)?(tC’+2)>>(10-BitDeapth):tC’×(1<<(BitDeapth-10))
以上のように、フィルタ決定部254Aは、変数βの値及び変数tCの値を算出し、本処理は、ステップS103へ進む。
【0137】
ステップS103において、フィルタ決定部254Aは、フィルタ適用有無を判定する。
【0138】
例えば、当該ブロック境界に隣接する2つのブロック(便宜上、片方を「ブロックP」と呼び、もう片方を「ブロックQ」と呼ぶ)の最大フィルタ長がいずれも「1」で且つ境界強度が「2」でない場合、本処理は、ステップS109へ進み、フィルタ決定部254Aは、フィルタを適用しないと決定する。それ以外の場合は、本処理は、ステップS104へ進む。
【0139】
なお、最大フィルタ長(maxFilterLengthP、maxFilterLengthQ)は、例えば、非特許文献1に記載の方法で予め算出しておくことができる。
【0140】
ステップS104において、フィルタ決定部254Aは、ブロックQに対応する最大フィルタ長(maxFilterLengthQ)が「3」であるかを確認する。
【0141】
ブロックQに対応する最大フィルタ長(maxFilterLengthQ)が「3」でない場合は、本処理は、ステップS108へ進み、フィルタ決定部254Aは、弱フィルタを適用すると決定する。それ以外の場合は、本処理は、ステップS105へ進む。
【0142】
ステップS105において、フィルタ決定部254Aは、第1に、当該ブロック境界のブロックノイズらしさを示す変数dを算出する。変数dは、例えば、非特許文献1に記載の方法で算出できる。
【0143】
フィルタ決定部254Aは、第2に、変数dが、上述の変数βより小さいかどうかを確認する。変数dが変数βより小さい場合は、本処理は、ステップS106へ進む。そうでない場合は、本処理は、ステップS108へ進み、フィルタ決定部254Aは、弱フィルタを適用すると決定する。
【0144】
ステップS106では、フィルタ決定部254Aは、以下の3つの所定条件全てを満足するかどうかを確認する。
【0145】
dpq<(β>>2)
(Abs(p3-P0)+Abs(q0-q3))<(β>>3)
Abs(p0-q0)<((5×tC+1))
ここで、dpqは、上述の変数dと同様に、当該ブロック境界のブロックノイズらしさを示す変数である。具体的には、dpqは、例えば、非特許文献1に記載の方法で算出できる。
【0146】
また、p0及びq0は、ブロックP及びブロックQにおいて、ブロック境界に隣接する画素の画素値である。同様に、p3及びq3は、ブロックP及びブロックQにおいてブロック境界から4画素離れた場所に位置する画素の画素値である。更に、Abs()は、引数の絶対値を返す関数である。
【0147】
上述の3つの条件の全てを満足する場合、本処理は、ステップS107へ進み、フィルタ決定部254Aは、強フィルタを適用すると決定する。そうでない場合、本処理は、ステップS108へ進み、フィルタ決定部254Aは、弱フィルタを適用すると決定する。
【0148】
以上のように、フィルタ決定部254Aでは、例えば、変数β及び変数tCの値を用いて、当該ブロック境界にフィルタを適用するか否か、適用する場合は、弱フィルタにするか強フィルタにするかを決定することができる。
【0149】
上述の例では、変数βの値及び変数tCの値が大きくなるほど、フィルタが適用されやすくなり、また、フィルタの種類としては強フィルタが適用されやすくなることがわかる。
【0150】
また、変数βの値及び変数tCの値は、例えば、Cb信号については、slice#cb#beta#offset#div2及びslice#cb#tc#offset#div2で調整可能であり、ピクチャ単位及びスライス単位で、当該シンタックスの値を設定することで、フィルタのかかりやすさ及びフィルタの強度を調整することができる。
【0151】
フィルタ処理部255Aは、フィルタ決定部254Aの決定に基づいて、デブロッキング前画像に対する処理を行うように構成されている。デブロッキング前画像に対する処理は、フィルタ処理無し、弱フィルタ処理、強フィルタ処理等である。
【0152】
(画像符号化装置100)
以下、図12を参照して、本実施形態に係る画像符号化装置100について説明する。図12は、本実施形態に係る画像符号化装置100の機能ブロックの一例について示す図である。
【0153】
図12に示すように、画像符号化装置100は、インター予測部111と、イントラ予測部112と、減算器121と、加算器122と、変換・量子化部131と、逆変換・逆量子化部132と、符号化部140と、インループフィルタ処理部150と、フレームバッファ160とを有する。
【0154】
インター予測部111は、インター予測部241と同様に、インター予測(フレーム間予測)によって予測信号を生成するように構成されている。
【0155】
具体的には、インター予測部111は、符号化対象のフレーム(以下、対象フレーム)とフレームバッファ160に格納される参照フレームとの比較によって、参照フレームに含まれる参照ブロックを特定し、特定された参照ブロックに対する動きベクトルを決定するように構成されている。
【0156】
また、インター予測部111は、参照ブロック及び動きベクトルに基づいて予測ブロックに含まれる予測信号を予測ブロック毎に生成するように構成されている。インター予測部111は、予測信号を減算器121及び加算器122に出力するように構成されている。ここで、参照フレームは、対象フレームとは異なるフレームである。
【0157】
イントラ予測部112は、イントラ予測部242と同様に、イントラ予測(フレーム内予測)によって予測信号を生成するように構成されている。
【0158】
具体的には、イントラ予測部112は、対象フレームに含まれる参照ブロックを特定し、特定された参照ブロックに基づいて予測信号を予測ブロック毎に生成するように構成されている。また、イントラ予測部112は、予測信号を減算器121及び加算器122に出力するように構成されている。
【0159】
ここで、参照ブロックは、予測対象のブロック(以下、対象ブロック)について参照されるブロックである。例えば、参照ブロックは、対象ブロックに隣接するブロックである。
【0160】
減算器121は、入力画像信号から予測信号を減算し、予測残差信号を変換・量子化部131に出力するように構成されている。ここで、減算器121は、イントラ予測又はインター予測によって生成される予測信号と入力画像信号との差分である予測残差信号を生成するように構成されている。
【0161】
加算器122は、逆変換・逆量子化部132から出力される予測残差信号に予測信号を加算してフィルタ処理前復号信号を生成し、かかるフィルタ処理前復号信号をイントラ予測部112及びインループフィルタ処理部150に出力するように構成されている。
【0162】
ここで、フィルタ処理前復号信号は、イントラ予測部112で用いる参照ブロックを構成する。
【0163】
変換・量子化部131は、予測残差信号の変換処理を行うとともに、係数レベル値を取得するように構成されている。さらに、変換・量子化部131は、係数レベル値の量子化を行うように構成されていてもよい。
【0164】
ここで、変換処理は、予測残差信号を周波数成分信号に変換する処理である。かかる変換処理では、離散コサイン変換(DCT;Discrete Cosine Transform)に対応する基底パターン(変換行列)が用いられてもよく、離散サイン変換(DST;Discrete Sine Transform)に対応する基底パターン(変換行列)が用いられてもよい。
【0165】
逆変換・逆量子化部132は、逆変換・逆量子化部220と同様に、変換・量子化部131から出力される係数レベル値の逆変換処理を行うように構成されている。ここで、逆変換・逆量子化部132は、逆変換処理に先立って、係数レベル値の逆量子化を行うように構成されていてもよい。
【0166】
ここで、逆変換処理及び逆量子化は、変換・量子化部131で行われる変換処理及び量子化とは逆の手順で行われる。
【0167】
符号化部140は、変換・量子化部131から出力された係数レベル値を符号化し、符号化データを出力するように構成されている。
【0168】
ここで、例えば、符号化は、係数レベル値の発生確率に基づいて異なる長さの符号を割り当てるエントロピー符号化である。
【0169】
また、符号化部140は、係数レベル値に加えて、復号処理で用いる制御データを符号化するように構成されている。
【0170】
なお、上述したように、制御データは、符号化ブロックサイズや予測ブロックサイズや変換ブロックサイズ等のサイズデータを含んでもよい。
【0171】
インループフィルタ処理部150は、インループフィルタ処理部250と同様に、加算器122から出力されるフィルタ処理前復号信号に対してフィルタ処理を行うとともに、フィルタ処理後復号信号をフレームバッファ160に出力するように構成されている。
【0172】
フレームバッファ160は、インター予測部111で用いる参照フレームを蓄積するように構成されている。
【0173】
ここで、フィルタ処理後復号信号は、インター予測部111で用いる参照フレームを構成する。
【0174】
また、上述の画像符号化装置100及び画像復号装置200は、コンピュータに各機能(各工程)を実行させるプログラムであって実現されていてもよい。
【0175】
なお、上記の各実施形態では、本発明を画像符号化装置100及び画像復号装置200への適用を例にして説明したが、本発明は、かかる例のみに限定されるものではなく、画像符号化装置100及び画像復号装置200の各機能を備えた画像符号化/復号システムにも同様に適用できる。
【符号の説明】
【0176】
10…画像処理システム
100…画像符号化装置
111、241…インター予測部
112、242…イントラ予測部
121…減算器
122、230…加算器
131…変換・量子化部
132、220…逆変換・逆量子化部
140…符号化部
150、250…インループフィルタ処理部
160、260…フレームバッファ
200…画像復号装置
210…復号部
211…SPS
212…PPS
213…ピクチャヘッダ
214A、214B…スライスヘッダ
215A、215B…スライスデータ
250A…デブロッキングフィルタ部
251、251A、251B…ブロック境界検出部
253、253A、253B…境界強度判定部
254、254A、254B…フィルタ決定部
255、255A、255B…フィルタ処理部
250B…SAO部
250C…適応ループフィルタ部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12