(57)【要約】      （修正有）【課題】タイル境界の連続性を考慮して、適応的にタイル境界のインループフィルタ処理を適用できるようにする符号化装置を提供する。【解決手段】複数のタイルによって構成される複数の境界に対して、境界に隣接する画素をフィルタ処理するか否かを決定する決定手段１０３と、決定手段による決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、複数の境界うちの少なくとも２つに対して符号化する符号化手段１１１と、を有する。【選択図】図１
2018107500.tif 000002
【特許請求の範囲】
【請求項１】
複数のタイルを有する画像を符号化するための符号化装置において、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、
前記決定手段による決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも２つに対して符号化する符号化手段と、を有することを特徴とする符号化装置。
【請求項２】
前記複数のタイルは矩形状であり、少なくとも２つの境界を構成することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記符号化手段は、２つのタイル間によって構成される境界ごとに前記制御情報を符号化することを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記符号化手段は、制御情報として、水平方向の境界に隣接する画素をフィルタ処理するか否かを示す水平方向の制御情報および垂直方向の境界に隣接する画素をフィルタするか否かを示す垂直方向の制御情報を符号化
ことを特徴とする請求項１に記載の符号化装置。
【請求項５】
前記水平方向の制御情報は、水平方向の複数のタイル境界に共通の制御情報であることを特徴とする請求項４に記載の符号化装置。
【請求項６】
前記垂直方向の制御情報は、垂直方向の複数のタイル境界に共通の制御情報であることを特徴とする請求項４に記載の符号化装置。
【請求項７】
前記制御情報は、１フレームの画像を構成するために合成される複数の画像の配置に対応するインデックスであることを特徴とする請求項１に記載の符号化装置。
【請求項８】
複数のタイルを有する画像をビットストリームから復号するための復号装置において、
画像を復号する復号手段と、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成手段と、
前記生成手段によって生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、
前記決定手段によってフィルタ処理すると決定された境界に対してフィルタ処理する処理手段とを有することを特徴とする復号装置。
【請求項９】
前記複数のタイルは矩形状であり、少なくとも２つの境界を構成することを特徴とする請求項８に記載の復号装置。
【請求項１０】
前記生成手段は、２つのタイル間によって構成される境界ごとに前記制御情報を生成することを特徴とする請求項８に記載の復号装置。
【請求項１１】
前記生成手段は、制御情報として、水平方向の境界に隣接する画素をフィルタ処理するか否かを示す水平方向の制御情報および垂直方向の境界に隣接する画素をフィルタするか否かを示す垂直方向の制御情報を生成することを特徴とする請求項８に記載の復号装置。
【請求項１２】
前記水平方向の制御情報は、水平方向の複数のタイル境界に共通の制御情報であることを特徴とする請求項１１に記載の復号装置。
【請求項１３】
前記垂直方向の制御情報は、垂直方向の複数のタイル境界に共通の制御情報であることを特徴とする請求項１１に記載の復号装置。
【請求項１４】
前記制御情報は、１フレームの画像を構成するために合成される複数の画像の配置に対応するインデックスであることを特徴とする請求項８に記載の復号装置。
【請求項１５】
複数のタイルを有する画像を符号化するための符号化方法において、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定ステップと、
前記決定ステップにおける決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも２つに対して符号化する符号化ステップと、を有することを特徴とする符号化方法。
【請求項１６】
複数のタイルを有する画像をビットストリームから復号するための復号方法において、
画像を復号する復号ステップと、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成ステップと、
前記生成ステップにおいて生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタ処理するか否かを決定する決定ステップと、
前記決定ステップにおいてフィルタ処理すると決定された境界に対してフィルタ処理する処理ステップとを有することを特徴とする復号方法。
【請求項１７】
請求項１ないし請求項７のいずれか一項に記載の符号化装置の処理をコンピュータに実行させるためのプログラム。
【請求項１８】
請求項８ないし請求項１４のいずれか一項に記載の復号装置の処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化装置、符号化方法及びプログラム、復号装置、復号方法及びプログラムおよび画像符号データに関し、特にブロック境界におけるフィルタリング処理に関する。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣと記す）が知られている。ＨＥＶＣには、１フレームを複数の矩形状の領域に分割して符号化・復号の並列処理等を可能にする、Ｔｉｌｅ（タイル）と呼ばれる手法が採用されている。タイルを用いることにより、符号化・復号の並列処理による高速化を実現すると共に画像符号化装置・画像復号装置が備えるメモリ容量を削減することが可能となっている。
【０００３】
また、ＨＥＶＣでは符号化された画像の画質を向上させるため、デブロッキングフィルタやサンプルアダプティブオフセットといったインループフィルタ処理も採用されている。こうしたインループフィルタ処理はタイルの境界をまたいだ画素に対しても適用することが可能であるが、タイルの境界をまたいだ画素に対してインループフィルタ処理を適用すると、符号化・復号の並列処理に支障をきたす場合がある。そのため、ＨＥＶＣではタイルの境界をまたいだ画素に対してインループフィルタ処理を適用するか否かを選択することができるｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素が採用されている。上記シンタックス要素が１の場合にはタイル境界に対するインループフィルタの適用を可能にし、０の場合にはタイル境界に対するインループフィルタの適用を禁止にするといった具合である。これにより、並列実装性を重視する場合には上記シンタックス要素を０とし、タイル境界の画質を重視する場合には上記シンタックス要素を１とすることができる。
【０００４】
近年、ＶＲ（Ｖｉｒｕｔａｌ  Ｒｅａｌｉｔｙ）技術の発達に伴い、３６０°映像を複数のカメラで撮影し、撮影した画像を圧縮・符号化するユースケースが生まれている。３６０°映像の撮影方法として、６台のカメラで上下左右前後の各方向の画像を撮影し合成する手法がある（非特許文献１）。こうして撮影された画像は、撮影された６枚の画像を並び替えて合成して１枚の画像とし、圧縮・符号化される。並び替えについては、図９（ａ）のようにサイコロを展開するように並べる手法や、図９（ｂ）〜（ｄ）のように合体後の画像の面積が最小となるよう、長方形にさらに並び替える手法が検討されている（非特許文献２）。図９（ａ）のような手法では、左と前、前と右など隣接した画像の境界が常に連続しているが、合体後の画像の四隅に無駄な領域が発生してする。一方で、図９（ｂ）〜（ｄ）のような手法では、合体後の画像に無駄な領域は発生しないが、隣接した画像の境界の中に連続している境界と不連続な境界が混在する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＪＶＥＴ  寄書  ＪＶＥＴ−Ｃ００２１  インターネット＜ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｖｅｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／＞
【非特許文献２】ＪＶＥＴ  寄書  ＪＶＥＴ−Ｄ００２２  インターネット＜ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｖｅｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／４＿Ｃｈｅｎｇｄｕ／ｗｇ１１／＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述のデブロッキングフィルタやサンプルアダプティブオフセットに代表されるインループフィルタを用いることは符号化効率の観点から有効であると考えられている。また、前述の図９（ｂ）〜（ｄ）のように複数のカメラで撮影して合成された画像、すなわち画像の境界の中に連続している境界と不連続な境界が混在する画像を符号化する場合、各カメラで撮影された画像をタイルに対応づけて符号化するのが自然である。しかしながらＨＥＶＣに代表される既存の手法では、画像内の全てのタイル境界に対して一様にインループフィルタ処理を適用するか否かしか選択することができない。すなわち、連続したタイル境界、不連続なタイル境界の区別なくインループフィルタを適用するか否かしか選択することができない。その場合、不連続なタイル境界を優先してインループフィルタの不適用を選択すると、本来インループフィルタ処理によって画質向上が期待できる連続したタイル境界に対してインループフィルタを適用することができない。一方、連続したタイル境界を優先してインループフィルタの適用を選択すると、不連続なタイル境界に対してインループフィルタを適用することになり、不連続なタイル境界周辺に不必要な画質劣化を生じさせてしまう。したがって、本発明は上述した課題を解決するためになされたものであり、タイル境界の連続性を考慮して、適応的にタイル境界のインループフィルタ処理を適用できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
前述の問題点を解決するため、本発明の符号化装置は以下の構成を有する。すなわち、複数のタイルを有する画像を符号化するための符号化装置において、前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、前記決定手段による決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも２つに対して符号化する符号化手段と、を有することを特徴とする。
【０００８】
さらに、本発明の復号装置は以下の構成を有する。すなわち、複数のタイルを有する画像をビットストリームから復号するための復号装置において、画像を復号する復号手段と、前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成手段と、前記生成手段によって生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタリング処理するか否かを決定する決定手段と、前記決定手段によってフィルタリング処理すると決定された境界に対してフィルタリング処理する処理手段とを有することを特徴とする。
【発明の効果】
【０００９】
タイル境界ごとにインループフィルタ処理を適用するか否かを適応的に選択することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】画像符号化装置の構成を示すブロック図
【図２】画像復号装置の構成を示すブロック図
【図３】（ａ）〜（ｂ）、タイル境界の連続性とインループフィルタ処理の対象画素の関係の一例を示す図
【図４】画像符号化装置における画像符号化処理を示すフローチャート
【図５】画像符号化装置および画像復号装置におけるインループフィルタ処理を示すフローチャート
【図６】（ａ）〜（ｂ）画像符号化装置によって生成され、画像復号装置によって復号されるビットストリーム構造の一例を示す図
【図７】画像復号装置における復号処理を示すフローチャート
【図８】画像符号化装置、画像復号装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
【図９】（ａ）〜（ｄ）複数のカメラで撮影された画像を並び替え、１枚の画像とする配置例を示す図
【図１０】（ａ）〜（ｃ）画像符号化装置によって生成され、画像復号装置によって復号されるビットストリームのタイル分割情報およびフィルタ制御情報に関するシンタックスを表す図。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
以下、本発明の符号化側の実施形態を、図面を用いて説明する。本実施形態では特に図９（ｂ）に示された画像を入力して符号化する場合について説明する。
【００１３】
図１は本実施形態の画像符号化装置を示すブロック図である。図１の各ブロックは、全てハードウェアとして構成されてもよいし、一部または全てのブロックがソフトウエアによって構成されてもよい。
【００１４】
図１において、端子１０１は画像データを入力する端子である。
【００１５】
タイル分割部１０２は、入力画像のタイル分割方法を決定し、分割する処理を行う。
【００１６】
フィルタ制御情報生成部１０３は、各タイル境界の画素に対して後述のインループフィルタ処理を行うか否かについての情報である、フィルタ制御情報を生成し、出力する。
【００１７】
予測部１０４は、ブロック単位の画像データに対し、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、入力された画像データと前記予測画像データから予測誤差を算出し、出力する。また、予測に必要な情報、例えば予測モード等の情報も予測誤差と併せて出力される。以下ではこの予測に必要な情報を予測情報と呼称する。
【００１８】
変換・量子化部１０５は、前記予測誤差をブロック単位で直交変換して変換係数を得、さらに量子化を行い、量子化係数を得る。
【００１９】
逆量子化・逆変換部１０６は、変換・量子化部１０５から出力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
【００２０】
フレームメモリ１０８は、再生された画像データを格納しておくメモリである。
【００２１】
画像再生部１０７は、予測部１０４から出力された予測情報に基づいて、フレームメモリ１０８を適宜参照して予測画像データを生成し、生成された予測画像データと入力された予測誤差とから再生画像データを生成し、出力する。
【００２２】
インループフィルタ部１０９は、再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【００２３】
符号化部１１０は、変換・量子化部１０５から出力された量子化係数および予測部１０４から出力された予測情報を符号化して、符号データを生成し出力する。
【００２４】
統合符号化部１１１は、タイル分割部１０２やフィルタ制御情報生成部１０３からの出力を符号化して、ヘッダに格納するヘッダ符号データを生成する。生成されたヘッダ符号データは、符号化部１１０から出力された符号データととともに、ビットストリームを形成して出力する
端子１１２は、統合符号化部１１１で生成されたビットストリームを外部に出力する端子である。
【００２５】
図１に示す画像符号化装置における画像の符号化処理を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わない。
【００２６】
端子１０１から入力された１フレーム分の画像データはタイル分割部１０２に入力される。端子１０１において入力される画像データはＮ枚（Ｎ≧３）の画像を並び替えて合成された１フレーム分の画像データとする。Ｎ枚（Ｎ≧３）の画像の配置は回転した画像の配置も含むものとする。本実施の形態では、何枚分の画像がどのように配置されて合成されているかを示す情報を取得してもよい。
【００２７】
タイル分割部１０２は、入力画像のタイル分割方法を決定し、決定した分割方法に基づいて入力された画像データをタイル単位に分割して予測部１０４に出力する。すなわち、また、決定したタイル分割方法をタイル分割情報としてフィルタ制御情報生成部１０３および統合符号化部１１１に出力する。タイル分割の決定方法は特に限定されず、入力された画像の特性を用いても良いし、上記のように何枚分の画像がどのように配置されて合成されているかを示す情報を用いても良いし、ユーザからの入力によって決定しても良い。本実施の形態では、入力された１フレーム分の画像データは、合成されたＮ枚の画像の境界に沿って分割され、Ｎ個（Ｎ≧３）のタイルによってＭ個（Ｍ≧２）のタイルの境界を有する画像データが構成されるものとして説明する。例えば、図９（ｂ）に示されたような画像の符号化を行う場合、前・右・後・下・左・上のそれぞれの画像を個別のタイルに対応付ける、すなわち６つのタイルから構成される画像を符号化する、といった具合である。
【００２８】
次に、フィルタ制御情報生成部１０３は、各タイル境界に対してインループフィルタ処理を行うか否かを決定し、その情報をフィルタ制御情報として、インループフィルタ部１０９および統合符号化部１１１に出力する。フィルタ制御情報の決定方法は特に限定されず、入力された画像の特性を用いても良いし、ユーザからの入力によって決定しても良い。また、フィルタ制御情報生成部１０３は、外部から入力されたまたは内部で算出されたタイル分割状態に関する情報および各タイル境界の連続性に関する情報に基づいて決定しても構わない。例えば、図９（ｂ）に示されたような画像の符号化を行う場合、タイル分割部１０２によって６つのタイルから構成される画像を符号化することが決定される。この場合、画像の上部に存在している２つの垂直方向のタイル境界（「前」と「右」の間、「右」と「後」の間）および画像の左部に存在している１つの水平方向のタイル境界（「前」と「下」の間）は画素値が連続している。一方でそれ以外の４つのタイル境界においては画素が連続していないことになる。その場合、フィルタ制御情報生成部１０３は、画素が連続している３つのタイル境界についてはインループフィルタ処理を行い、残りの４つの不連続なタイル境界についてはインループフィルタ処理を行わないことを示す情報をフィルタ制御情報として出力する。
【００２９】
統合符号化部１１１では、タイル分割情報やフィルタ制御情報を符号化し、それぞれタイル分割情報符号およびフィルタ制御情報符号を生成する。符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
【００３０】
予測部１０４は、タイル分割部１０２から入力されたタイル単位の画像データを複数のブロックに分割し、ブロック単位の予測処理が実行される。予測処理の結果、予測誤差が生成され、変換・量子化部１０５に入力される。また、予測部１０４は予測情報を生成し、符号化部１１０および画像再生部１０７に出力する。
【００３１】
変換・量子化部１０５は、入力された予測誤差に直交変換・量子化を行い、量子化係数を生成する。生成された量子化係数は符号化部１１０および逆量子化・逆変換部１０６に入力される。
【００３２】
逆量子化・逆変換部１０６は、入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数を逆直交変換して予測誤差を再生し、画像再生部１０７に出力する。
【００３３】
画像再生部１０７は、予測部１０４から入力される予測情報に基づいて、フレームメモリ１０８を適宜参照し、予測画像を再生する。そして再生された予測画像と逆量子化・逆変換部１０６から入力された再生された予測誤差から画像データを再生し、フレームメモリ１０８に入力し、格納する。
【００３４】
インループフィルタ部１０９は、フレームメモリ１０８から再生画像を読み出し、フィルタ対象のブロック位置およびフィルタ制御情報１０３から入力されたフィルタ制御情報に基づいて、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像を再びフレームメモリ１０８に入力し、再格納する。このフィルタ処理された画像は予測部１０４におけるインター予測などに用いられる。
【００３５】
本実施形態でのインループフィルタ処理について、図３を用いて説明する。フィルタ対象のブロックの位置およびフィルタ制御情報に基づいて、下記のいずれかのフィルタ処理を行う。ここではタイル境界におけるフィルタ処理についてのみ説明するが、タイル境界以外の画素位置におけるフィルタ処理は、既存の画像符号化方式に基づいて実施されるものとする。また、ここでは説明を容易にするため、ブロックサイズを４×４ブロックとするが、これに限定されない。
【００３６】
図３（ａ）は２つの４×４ブロックの境界をまたいでデブロッキングフィルタ処理を行う場合の一例である。外枠３００の内部には、４×４画素の２つのブロックが存在し、角丸長方形３０１に囲まれた各ブロックのタイル境界に隣接する３画素、合計６画素に対してフィルタ処理が実行されるものとする。図３（ａ）に示す左側のブロックはタイル０に属しており、右側のブロックはタイル１に属している。すなわち左右のブロックは異なるタイルに属しているブロックであり、左右のブロックの境界はタイルの境界でもある。このタイル境界は図９（ｂ）の上部（例えば「前」と「右」の間）などでみられるような画素値が連続したタイル境界であるものとする。この場合、フィルタ制御情報生成部１０３からは画素が連続したタイル境界にはインループ処理を行うことを示すフィルタ制御情報が入力されるため、○の記号で示された６画素全てがフィルタ処理の対象となり、６画素全てに対しフィルタ処理が行われる。
【００３７】
一方、図３（ｂ）は図３（ａ）と異なり、左右のタイルの境界は、図９（ｂ）の下部（例えば「左」と「上」の間）などでみられるような画素値が不連続なタイル境界であるものとする。この場合、フィルタ制御情報生成部１０３からは画素が不連続なタイル境界にはインループ処理を行わないことを示すフィルタ制御情報が入力されるため、×の記号で示された６画素全てがフィルタ処理の対象とならない。よって、この６画素に対してはフィルタ処理が行われない。
【００３８】
本実施形態ではデブロッキングフィルタについて言及したが、アダプティブループフィルタやサンプルアダプティブオフセットといった他のインループフィルタ処理についても同様の制御を行っても構わない。また、本実施形では左右のブロック間のフィルタ処理について説明したが、上下のブロック間においても同様の処理が行われる。さらには、各ブロック３画素がフィルタリング処理される例を示したが、処理される画素数はこれに限定されない。例えば、左側のブロックは３画素、右側のブロックは２画素など、それぞれのブロックで処理対象となる画素数が異なる非対称なフィルタリング処理を行うことも可能である。
【００３９】
図１に戻り、符号化部１１０では、ブロック単位で、変換・量子化部１０５で生成された量子化係数、予測部１０４から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部１１１に出力される。
【００４０】
統合符号化部１１１では、符号化処理に先駆けて生成されたタイル分割情報符号やフィルタ制御情報符号、符号化部で生成された符号データなどを多重化してビットストリームが形成される。最終的に、端子１１２から外部に出力される。
【００４１】
図６（ａ）に符号化されたタイル分割情報およびフィルタ制御情報を含んだビットストリームの例を示す。タイル分割情報はタイル分割情報符号として、フィルタ制御情報はフィルタ制御情報符号としてシーケンス、ピクチャ等のヘッダのいずれかに含まれる。本実施形態では図６（ａ）に示されるようにピクチャのヘッダ部分に含まれるものとする。図１０（ａ）はこれらの符号を含んだピクチャのヘッダ部分のシンタックスの構成の一例を表す図である。ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇはタイル分割の有無を示す符号であり、本実施形態では図９（ｂ）に示す画像を入力し、６つのタイルに分割する場合について説明しているので、この値は１となる。ｅｎｔｏｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇは本実施形態とは関係しないため説明を省略する。ｎｕｍ＿ｔｉｌｅ＿ｃｏｌｕｍｎｓ＿ｍｉｎｕｓ１は水平方向のタイル数から１を減じた値を示している。本実施形態では水平方向に３つのタイルが存在しているので、この値は２となる。一方、ｎｕｍ＿ｔｉｌｅ＿ｒｏｗｓ＿ｍｉｎｕｓ１は垂直方向のタイル数から１を減じた値を示している。本実施形態では垂直方向に２つのタイルが存在しているので、この値は１となる。ｕｎｉｆｏｒｍ＿ｓｐａｃｉｎｇ＿ｆｌａｇは各タイルのサイズ（垂直・水平方向の画素数）が一致しているか否かを示す符号であり、本実施形態では全てのタイルのサイズが一致しているため、この値は１となる。なお、この値が０の時、すなわち全てのタイルサイズが一致していない場合は、それぞれのタイルの横・縦のサイズを示すｃｏｌｕｍｎ＿ｗｉｄｔｈ＿ｍｉｎｕｓ１およびｒｏｗ＿ｈｅｉｇｈｔ＿ｍｉｎｕｓ１を符号化するが、本実施形態では説明を省略する。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇはタイル境界のインループフィルタ処理を可能にするか否かを示す符号であるが、本実施形態では一部の境界でインループフィルタ処理を可能とするので、この値を１とする。
【００４２】
以下のシンタックスは上記ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１の時のみ符号化する。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｆｌａｇはそれぞれのタイル境界に対して、インループフィルタ処理を行うか否かを示す情報を個別に符号化するか否かを示す符号である。本実施形態では個別にインループフィルタ処理の可否を設定する必要があるため、この値を１とする。
【００４３】
さらに以下のシンタックスは上記ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｆｌａｇが１の時のみ符号化する。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｂｏｔｔｏｍ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは当該タイルの下側のタイル境界に対しインループフィルタ処理を行うか否かを示す符号である。本実施形態では、下側にタイル境界を有したタイルは上側の行の３つ（前、右、後）存在しているため、この符号は３回符号化される。すなわち、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｂｏｔｔｏｍ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは上下の２つのタイル間によって構成される境界ごとに符号化される。「前」のタイルの下側のタイル境界は連続した境界であるため、１つ目のこの値はインループフィルタ処理を行うことを示す１となる。一方で、「右」および「後」のタイルの下側のタイル境界は不連続な境界であるため、２つ目および３つ目のこの値はインループフィルタ処理を行わないことを示す０となる。なお、下側の行の３つ（下、左、上）のタイルについては、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｂｏｔｔｏｍ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは符号化されない。次にｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｒｉｇｈｔ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは当該タイルの右側のタイル境界に対しインループフィルタ処理を行うか否かを示す符号である。すなわち、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｒｉｇｈｔ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、左右の２つのタイル間によって構成される境界ごとに符号化される。本実施形態では、右側にタイル境界を有したタイルは４つ（前、右、下、左）存在しているため、この符号は４回符号化される。「前」および「右」のタイルの右側のタイル境界は連続した境界であるため、１つ目および２つ目のこの値はインループフィルタ処理を行うことを示す１となる。一方で、「下」および「左」のタイルの右側のタイル境界は不連続な境界であるため、３つ目および４つ目のこの値はインループフィルタ処理を行わないことを示す０となる。なお、最も右側の列に存在するタイル（後、上）については、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｒｉｇｈｔ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは符号化されない。すなわち、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｂｏｔｔｏｍ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、画像の内部のタイル境界について符号化される。同様にｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｒｉｇｈｔ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、画像の内部のタイル境界について符号化される。そして、画像の外周を構成するタイルの境界については符号化されない。
【００４４】
図４は、本実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。
【００４５】
まず、ステップＳ４０１にて、タイル分割部１０２は、入力画像のタイル分割方法を決定し、決定した分割方法に基づいて入力された画像データをタイル単位に分割する。また決定したタイル分割方法をタイル分割情報とし、タイル分割情報は統合符号化部１１１によって符号化される。
【００４６】
ステップＳ４０２にて、フィルタ制御情報生成部１０３は各タイル境界の画素に対して、インループフィルタ処理を行うか否かを決定し、その情報をフィルタ制御情報とし、フィルタ制御情報も統合符号化部１１１によって符号化される。
【００４７】
ステップＳ４０３にて、予測部１０４は、入力されたタイル単位の画像データを複数のブロックに切り出し、ブロック単位でイントラ予測ないしはインター予測を行い、予測情報および予測画像データを生成する。さらに入力された画像データと前記予測画像データから予測誤差を算出する。
【００４８】
ステップＳ４０４にて、変換・量子化部１０５は、ステップＳ４０３で算出された予測誤差を直交変換して変換係数を生成し、さらに量子化を行い、量子化係数を生成する。
【００４９】
ステップＳ４０５にて、逆量子化・逆変換部１０６は、ステップＳ４０４で生成された量子化係数を逆量子化・逆直交変換し、予測誤差を再生する。
【００５０】
ステップＳ４０６にて、画像再生部１０７はステップＳ４０３で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップＳ４０５で生成された予測誤差とから画像データを再生する。
【００５１】
ステップＳ４０７にて、符号化部１１０は、ステップＳ４０３で生成された予測情報およびステップＳ４０４で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
【００５２】
ステップＳ４０８にて、画像符号化装置は、タイル内の全てのブロックの符号化が終了したか否かの判定を行い、終了していればステップＳ４０９に進み、そうでなければ次のブロックを対象として、ステップＳ４０３に戻る。
【００５３】
ステップＳ４０９にて、画像符号化装置は、フレーム内の全てのタイルの符号化が終了したか否かの判定を行い、終了していればステップＳ４１０に進み、そうでなければ次のタイルを対象として、ステップＳ４０３に戻る。
【００５４】
ステップＳ４１０にて、インループフィルタ部１０９はステップＳ４０６で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【００５５】
図５はステップＳ４１０におけるインループフィルタ処理の詳細を示すフローチャートである。
【００５６】
まず、ステップＳ５０１にて、インループフィルタ部１０９はインループフィルタ対象の画素の位置から、対象画素がタイル境界に存在するか否かを判定する。タイル境界に存在していると判定されればＳ５０２に進み、そうでなければＳ５０３に進む。Ｓ５０１において、タイル境界に存在する、という意味は、画像内部のタイル境界に存在する、ということを指す。
【００５７】
ステップＳ５０２にて、インループフィルタ部１０９は、タイル境界に存在する対象画素がフィルタリングの対象となるか否かをステップＳ４０２で生成されたフィルタ制御情報に基づいて判定する。フィルタリングをすると判定されればＳ５０３に進み、そうでなければＳ５０４に進む。
【００５８】
ステップＳ５０３にて、インループフィルタ部１０９は、対象画素に対してインループフィルタ処理を行う。
【００５９】
ステップＳ５０４にて、インループフィルタ部１０９は、全ての画素のインループフィルタ処理が終了したか否かの判定を行い、終了していればステップＳ５０５に進み、そうでなければ次の画素を対象として、ステップＳ５０１に戻る。
【００６０】
ステップＳ５０５にて、インループフィルタ部１０９は、全ての種類のインループフィルタ処理が終了したか否かの判定を行う。終了していれば、インループフィルタ処理を終了し、そうでなければ次の種類のインループフィルタ処理を対象としてステップＳ５０１に戻る。
【００６１】
例えば、ＨＥＶＣにおいては、デブロッキングフィルタ、サンプルアダプティブオフセットといった２つのインループフィルタ処理が定義されているが、それらの切り替えを本ステップで実行する。具体的には、まずは全画素を対象としたデブロッキングフィルタ処理を実施し、その後サンプルアダプティブオフセット処理へ切り替えてステップＳ５０１に戻る。また、サンプルアダプティブオフセット処理も終了した場合はインループフィルタ処理を終了する。本実施形態ではＨＥＶＣ同様のデブロッキングフィルタ・サンプルアダプティブオフセットといった２つのインループフィルタ処理を実行するものとしているが、他のインループフィルタ処理（例えばアダプティブループフィルタなど）を実行しても構わない。またインループフィルタ処理の順序はこれらに限定されない。
【００６２】
以上の構成と動作により、特にステップＳ４１０において、タイル境界ごとにインループフィルタ処理の適用可否を制御可能にしたことで、タイル境界の連続性に応じてタイル境界にインループフィルタ処理を適用するか否かを選択することができる。結果として、画素が連続したタイル境界においては、インループフィルタ処理を適用し、画素が不連続のタイル境界においては引ループフィルタ処理を適用しないことができるようになるため、画質を向上させることができる。
【００６３】
なお、本実施形態では図６（ａ）に示すように、タイル分割情報およびフィルタ制御情報をピクチャヘッダ部分で符号化するものとしたが、符号化される位置はこれに限定されない。図６（ｂ）に示されるように画像のシーケンスヘッダ部分で符号化されても良いし、他の位置で符号化されても構わない。
【００６４】
なお、本実施形態では図１０（ａ）に示されるようなシンタックスの構成を持つビットストリームを符号化するものとしたが、ビットストリームの構成はこれに限定されない。例えば、図１０（ｂ）のようなシンタックスの構成を持つことも可能である。図１０（ａ）は各タイル境界に対して、フィルタ制御情報を符号化していたが、図１０（ｂ）は全ての水平方向のタイル境界、そして垂直方向のタイル境界に対してそれぞれ共通のフィルタ制御情報を符号化する場合の例を示している。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは画像内の全ての垂直方向のタイル境界に対しインループフィルタ処理を行うか否かを示すフラグである。すなわち、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｈｏｒｉｚｏｎｔａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、水平方向の複数のタイル境界に共通の水平方向制御情報である。また、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは画像内の全ての水平方向のタイル境界に対しインループフィルタを行うか否かを示すフラグである。すなわち、ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｖｅｒｔｉｃａｌ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、垂直方向の複数のタイル境界に共通の垂直方向制御情報である。例えば、図９（ｄ）に示される画像が入力された場合、前者（…ｈｏｒｉｚｏｎｔａｌ…ｆｌａｇ）を１とし、後者（…ｖｅｒｔｉｃａｌ…ｆｌａｇ）を０とすることで、より少ない符号量でタイル境界に対するフィルタリング制御を実現することができる。すなわち、図１０（ｂ）のシンタックス構成を有するフラグは、ある方向（水平方向あるいは垂直方向）に対して複数のタイルが配置された画像の場合、それぞれのタイルの境界におけるインループフィルタ処理の適用可否が同じ場合に効果的である。また、図１０（ａ）、（ｂ）の変形例として、タイル境界の水平あるいは垂直のうちの一方向を図１０（ｂ）のフラグを用いてインループフィルタ処理の適用可否を設定してもよい。そして、その他の方向を図（ａ）のようにそれぞれのタイル境界ごとにフラグを割り当ててインループフィルタ処理の適用可否を設定してもよい。
【００６５】
また、図１０（ｃ）のようなシンタックス構成を持つことも可能である。図１０（ｃ）はｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｉｄｃをフィルタ制御情報として符号化することを特徴としている。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｉｄｃは特定のタイルの配置方法に対応したインデックスを示している。例えばフィルタ制御情報として、「１」を図９（ｂ）、「２」を図９（ｃ）、「３」を図９（ｄ）などと対応付けるインデックスが符号化される。図１０（ｃ）のシンタックス構成は、１フレームの画像を構成するために合成される６つの画像の配置が、例えば図９（ｂ）〜（ｄ）のように、いくつかの形式に定められる場合に有効である。図１０（ｃ）のシンタックス構成の場合、画像復号装置は、各インデックスに対応する図９（ｂ）〜（ｄ）の配置における、各タイルの境界についてのインループフィルタ処理の適用可否を把握しておく必要がある。これにより、複数のタイル配置方法にも対応しつつ、より少ない符号量でタイル境界に対するフィルタリング制御を実現することができる。
【００６６】
また、本実施形態では矩形状のタイルの境界に対するフィルタリングを制御するものとしたが、制御の対象はこれに限定されない。矩形以外の形状をとることもできるスライスの境界に対するフィルタリングを同様に制御することも可能であるし、タイルやスライス以外の新しい処理単位に対して適用することも可能である。
【００６７】
また、本実施形態では既存のＨＥＶＣに基づいてタイルは矩形状であることを前提としていたが、タイルおよび他の処理単位が三角形など他の形状をとることとなっても適用することは可能である。
【００６８】
図２は、本発明の実施形態に係る画像復号装置の構成を示すブロック図である。本実施形態では、画像符号化装置において生成された符号化データの復号処理について説明する。図２の各ブロックは、全てハードウェアとして構成されてもよいし、一部または全てのブロックがソフトウエアによって構成されてもよい。
【００６９】
端子２０１は符号化されたビットストリームを入力する端子である。分離復号部２０２は、ビットストリームから復号処理に関する情報、係数に関する符号データに分離し、さらにビットストリームのヘッダ部に存在する符号データを分離し、復号する。本実施形態では、復号処理によってタイル分割情報およびフィルタ制御情報を再生し、後段に出力する。すなわち、分離復号部２０２は、図１の統合符号化部１１１と逆の動作を行う。
【００７０】
復号部２０３は、分離復号部２０２から出力された符号データを復号し、量子化係数および予測情報を再生する。
【００７１】
逆量子化・逆変換部２０４は、図１の逆量子化・逆変換部１０６と同様に、ブロック単位で量子化係数を入力し、逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。
【００７２】
フレームメモリ２０７少なくとも１フレーム分の画像を記憶するメモリであり、再生されたピクチャの画像データを格納しておく。
【００７３】
画像再生部２０５は、図１の画像再生部１０７と同様に、入力された予測情報に基づいてフレームメモリ２０７を適宜参照して予測画像データを生成する。そして、この予測画像データと逆量子化・逆変換部２０４で再生された予測誤差から再生画像データを生成し、出力する。
【００７４】
インループフィルタ部２０６は、図１のインループフィルタ部１０９と同様に、再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【００７５】
端子２０８は、フィルタ処理された画像データを外部に出力する。
【００７６】
図２に示す画像復号装置における画像の復号処理を以下に説明する。本実施形態では、図１の画像符号化装置で生成されたビットストリームを復号する。
【００７７】
図２において、端子２０１から入力されたビットストリームは分離復号部２０２に入力される。分離復号部２０２は、ビットストリームから復号処理に関する情報、係数に関する符号データを分離し、さらにビットストリームのヘッダ部に存在する符号データを復号する。具体的には、復号処理によってタイル分割情報およびフィルタ制御情報が再生される。本実施形態では、まず、図６（ａ）に示されるビットストリームのピクチャヘッダからタイル分割情報の符号およびフィルタ制御情報の符号を抽出して復号する。なお、以下の説明としては、ピクチャヘッダ部分は図１０（ａ）に示されたシンタックス構成を用いているものとする。まず、ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇ符号を復号し、タイル分割が用いられていることを示す１という値を得る。ｅｎｔｏｒｏｐｙ＿ｃｏｄｉｎｇ＿ｓｙｎｃ＿ｅｎａｂｌｅｄ＿ｆｌａｇは本実施形態とは関係しないため説明を省略する。次にｎｕｍ＿ｔｉｌｅ＿ｃｏｌｕｍｎｓ＿ｍｉｎｕｓ１符号を復号し、水平方向に３つのタイルが存在していることを示す２という値を得る。さらにｎｕｍ＿ｔｉｌｅ＿ｒｏｗｓ＿ｍｉｎｕｓ１符号を復号し、垂直方向に２つのタイルが存在していることを示す１という値を得る。続いてｕｎｉｆｏｒｍ＿ｓｐａｃｉｎｇ＿ｆｌａｇ符号を復号し、各タイルのサイズ（垂直・水平方向の画素数）が一致していることを示す１いう値を得る。次にｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇ符号を復号し、タイル境界のインループフィルタ処理を可能にすることを示す１という値を得る。
【００７８】
ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１であるため、さらにシンタックスの復号を続ける。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｆｌａｇ符号を復号し、それぞれのタイル境界に対して、インループフィルタ処理を行うことを示す１という値を得る。
【００７９】
ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｆｌａｇが１であるため、さらにシンタックスの復号を続ける。ｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｂｏｔｔｏｍ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇ符号を復号し、各タイルの下側のタイル境界に対しインループフィルタ処理を行うか否かを示す情報を得る。本実施形態では、下側にタイル境界を有した３つのタイル（前、右、後）に対して、それぞれ１、０、０という値を情報として得る。次にｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｒｉｇｈｔ＿ｔｉｌｅ＿ｂｏｕｎｄａｒｙ＿ｅｎａｂｌｅｄ＿ｆｌａｇ符号を復号し、各タイルの右側のタイル境界に対しインループフィルタ処理を行うか否かを示す情報を得る。本実施形態では、右側にタイル境界を有したタイルは４つのタイル（前、右、下、左）に対して、それぞれ１、１、０、０という値を情報として得る。このようにして得られたフィルタ制御情報はインループフィルタ部２０６に出力される。続いて、ピクチャデータのブロック単位の符号データを再生し、復号部２０３に出力する。
【００８０】
復号部２０３では、符号データを復号し、量子化係数および予測情報を再生する。再生された量子化係数は逆量子化・逆変換部２０４に出力され、再生された予測情報は画像再生部２０５に出力される。
【００８１】
逆量子化・逆変換部２０４は、入力された量子化係数に対し逆量子化を行って直交変換係数を生成し、さらに逆直交変換を施して予測誤差を再生する。再生された予測情報は画像再生部２０５に出力される。
【００８２】
画像再生部２０５は、復号部２０３から入力された予測情報に基づいて、フレームメモリ２０７を適宜参照し、予測画像を再生する。この予測画像と逆量子化・逆変換部２０４から入力された予測誤差から画像データを再生し、フレームメモリ２０７に入力し、格納する。格納された画像データは予測の際の参照に用いられる。
【００８３】
インループフィルタ部２０６は、図１の１０９同様、フレームメモリ２０７から再生画像を読み出し、分離復号部２０２から入力されたフィルタ制御情報に基づき、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像は再びフレームメモリ２０７に入力される。本実施形態でのインループフィルタ処理は、図１の画像符号化装置におけるインループフィルタ処理と同一であるため、詳しい説明は省略する。
【００８４】
インループフィルタ部２０６にてフィルタ処理された画像は再びフレームメモリ２０７に格納され、最終的には端子２０８から外部に出力される。
【００８５】
図７は、図２の画像復号装置における画像の復号処理を示すフローチャートである。
【００８６】
まず、ステップＳ７０１にて、分離復号部２０２は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号し、タイル分割情報やフィルタ制御情報を再生する。
【００８７】
ステップＳ７０２にて、復号部２０３は、ステップＳ７０１で分離された符号データを復号し、量子化係数および予測情報を再生する。
【００８８】
ステップＳ７０３にて、逆量子化・逆変換部２０４は、ブロック単位で量子化係数に対し逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。
【００８９】
ステップＳ７０４にて、画像再生部２０５は、ステップＳ７０２で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップＳ７０３で生成された予測誤差から画像データを再生する。
【００９０】
ステップＳ７０５にて、画像再生部２０５あるいは画像復号装置の不図示の制御部は、タイル内の全てのブロックの復号が終了したか否かの判定を行う。終了していればステップＳ７０６に進み、そうでなければ次のブロックを対象として、ステップＳ７０２に戻る。
【００９１】
ステップＳ７０６にて、画像再生部２０５あるいは画像復号装置の不図示の制御部は、フレーム内の全てのタイルの符号化が終了したか否かの判定を行う。終了していればステップＳ７０７に進み、そうでなければ次のタイルを対象として、ステップＳ７０２に戻る。
【００９２】
ステップＳ７０７にて、インループフィルタ部２０６はステップＳ７０４で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【００９３】
インループフィルタ処理の詳細を示すフローチャートは画像符号化装置における処理を示す図５と同一であるため、説明を省略する。
【００９４】
以上の構成と動作により、図１の画像符号化装置において生成された、タイル境界の連続性に応じてタイル境界にインループフィルタ処理を適用するか否かを選択することができるようになったビットストリームを復号することができる。
【００９５】
なお、本実施形態では、図６（ａ）に示すように、タイル分割情報およびフィルタ制御情報がピクチャヘッダ部分に含まれているビットストリームを復号するものとしたが、情報の符号化位置はこれに限定されない。図６（ｂ）に示されるように画像のシーケンスヘッダ部分で符号化されていても良いし、他の位置で符号化されていても構わない。
【００９６】
なお、本実施形態では図１０（ａ）に示されるようなシンタックスの構成を持つビットストリームの復号について示したが、復号するビットストリームの構成はこれに限定されない。例えば図１０（ｂ）のようなシンタックスの構成を持つビットストリームを復号しても良い。図１０（ｂ）は全ての水平方向のタイル境界および垂直方向のタイル境界に対して共通のフィルタ制御情報が符号化されている場合の例を示している。例えば、図９（ｄ）に示される画像が実施形態１の符号化装置で符号化されて生成されたビットストリームを復号する場合、前者（…ｈｏｒｉｚｏｎｔａｌ…ｆｌａｇ）を復号して１という値、後者（…ｖｅｒｔｉｃａｌ…ｆｌａｇ）を復号して０という値を得る。これにより、全ての水平方向のタイル境界に対してインループフィルタ処理を行い、全ての垂直方向のタイル境界に対してはインループフィルタ処理を行わないというフィルタ制御情報をより少ない符号量で符号化されたビットストリームを復号することができる。
【００９７】
さらには、図１０（ｃ）のようなシンタックス構成を持つビットストリームを復号することも可能である。図１０（ｃ）ではｌｏｏｐ＿ｆｉｌｔｅｒ＿ａｃｒｏｓｓ＿ｔｉｌｅｓ＿ｃｏｎｔｒｏｌ＿ｉｄｃによって示されるインデックスを特定のタイル配置方法と対応させることができる。例えば１を図９（ｂ）、２を図９（ｃ）、３を図９（ｄ）などと対応付ける、といった具合である。これにより、より多様なタイル配置方法にも対応しつつ、より少ない符号量でタイル境界に対するフィルタリング制御を実現したビットストリームを復号することができる。
【００９８】
図１、図２に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
【００９９】
図８は、上記各実施形態に係る画像符号化装置および画像復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１００】
ＣＰＵ８０１は、ＲＡＭ８０２やＲＯＭ８０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ８０１は、図１、図２に示した各処理部として機能することになる。
【０１０１】
ＲＡＭ８０２は、外部記憶装置８０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）８０７を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ８０２は、ＣＰＵ８０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ８０２は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【０１０２】
ＲＯＭ８０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部８０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ８０１に対して入力することができる。表示部８０５は、ＣＰＵ８０１による処理結果を表示する。また表示部８０５は例えば液晶ディスプレイで構成される。
【０１０３】
外部記憶装置８０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置８０６には、ＯＳ（オペレーティングシステム）や、図１、図２に示した各部の機能をＣＰＵ８０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置８０６には、処理対象としての各画像データが保存されていても良い。
【０１０４】
外部記憶装置８０６に保存されているコンピュータプログラムやデータは、ＣＰＵ８０１による制御に従って適宜、ＲＡＭ８０２にロードされ、ＣＰＵ８０１による処理対象となる。Ｉ／Ｆ８０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ８０７を介して様々な情報を取得したり、送出したりすることができる。８０８は上述の各部を繋ぐバスである。
【０１０５】
上述の図４、図５、および図７に示すフローチャートの処理は、ＲＯＭ８０３に格納されたプログラムをＲＡＭ８０２へ読み出し、そのプログラムに基づいてＣＰＵによって実行される。
【０１０６】
上述したように、本発明により、タイル境界ごとにインループフィルタ処理を適用するか否かを選択することができるようになる。そのため、特に連続しているタイル境界の画質を向上させることが可能になり、符号化効率をさらに向上させることができる。
【０１０７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０８】
本発明は静止画・動画の符号化・復号を行う符号化装置・復号装置に用いられる。特に、タイル分割およびインループフィルタ処理を使用する符号化方式および復号方式に適用が可能である。
【符号の説明】
【０１０９】
１０１、１１２、２０１、２０８  端子
１０２  タイル分割部
１０３  フィルタ制御情報生成部
１０４  予測部
１０５  変換・量子化部
１０６、２０４  逆量子化・逆変換部
１０７、２０５  画像再生部
１０８、２０７  フレームメモリ
１０９、２０６  インループフィルタ部
１１０  符号化部
１１１  統合符号化部
２０２  分離復号部
２０３  復号部
【図１】
2018107500.tif 000003
【図２】
2018107500.tif 000004
【図３】
2018107500.tif 000005
【図４】
2018107500.tif 000006
【図５】
2018107500.tif 000007
【図６】
2018107500.tif 000008
【図７】
2018107500.tif 000009
【図８】
2018107500.tif 000010
【図９】
2018107500.tif 000011
【図１０】
2018107500.tif 000012