以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、フレーム画像をブロックに分割し、分割したブロックである処理対象のブロック(着目ブロック)について、その分割形状の候補(分割候補)を決定する際に、着目ブロックの周囲に存在する隣接ブロックの分割形状と、所定の分割パターンにて定義された隣接ブロックの分割形状(照合パターン)とを比較し、両分割形状が合致する照合パターンに基づいて、着目ブロックの分割候補を決定することを特徴とする。
これにより、着目ブロックの分割候補が符号化方式に対応して予め設定される従来手法よりも、分割候補の数を減らすことができる。そして、最終的に1つの分割形状を決定する際に、従来手法よりも少ない数の分割候補についてのみ試行すればよく、それ以外の分割形状については試行する必要がないから、試行回数を低減することができる。以下、実施例1〜5を挙げて詳細に説明する。
〔用語の定義〕
実施例1〜5を説明するにあたり、用語を定義する。図1は、フレーム画像がブロック分割される際の着目ブロック及び隣接ブロックを説明する図である。分割処理が行われる処理対象のブロックを「着目ブロック」といい、着目ブロックに隣接するブロックを「隣接ブロック」という。図1の例では、101が着目ブロックであり、102〜109が隣接ブロックである。また、着目ブロックにおいて候補となる分割形状を「分割候補」という。
隣接ブロックには、処理の順番に応じて、既に分割候補が決定され分割形状も決定されたブロックと、未だ分割候補が決定されておらず分割形状も決定されていないブロックとが存在する。前者を「処理済み隣接ブロック」といい、後者及び画面外に位置するブロックを「未処理隣接ブロック」という。「隣接ブロック」は、処理済み隣接ブロック及び未処理隣接ブロックのいずれかに相当する。以下、処理済み隣接ブロックを「処理済みブロック」といい、未処理隣接ブロックを「未処理ブロック」という。
〔実施例1〕
まず、実施例1について説明する。実施例1は、符号化装置において、処理済み及び/または未処理の隣接ブロックのパターンと、予め設定された分割パターンに含まれる照合パターンとを比較し、両パターンが合致する照合パターンに対応する導出分割を分割候補に決定する例である。
(符号化装置/実施例1)
図2は、実施例1の符号化装置の構成を示すブロック図である。この符号化装置1は、ブロック化部10及び符号化処理部20を備えている。
ブロック化部10は、フレーム画像を入力し、フレーム画像を所定の小領域のブロックに分割し、分割したブロック毎に、当該分割ブロックをさらに分割する際の分割形状の候補(分割候補)を決定する。ブロック化部10は、分割候補のブロックについて、符号化処理部20に符号化処理を行わせ(試行し)、符号化処理部20からビット量等を入力して動き補償予測のコストを求め、動き補償予測のコストに基づいて1つの分割候補を特定し、分割形状を決定する。尚、動き補償予測のコストは、符号化処理部20が算出するようにしてもよい。そして、ブロック化部10は、決定した分割形状のブロックを符号化対象のブロックとして符号化処理部20に出力すると共に、分割形状を特定するためのデータ(分割形状データ)を符号化処理部20に出力する。ブロック化部10の処理の詳細については後述する。
符号化処理部20は、ブロック化部10からブロック及び分割形状データを入力し、入力したブロックを符号化対象ブロックとし、動きベクトルを検出して予測画像を生成し、符号化対象ブロックと予測画像との間の差分信号を生成する。そして、符号化処理部20は、差分信号、動きベクトル及び分割形状データを符号化し、ビットストリームを生成し、ビットストリームを出力する。また、符号化処理部20は、ブロック化部10にて動き補償予測のコストを求めるために必要なビット量等を算出し、ビット量等をブロック化部10に出力する。符号化処理部20の処理の詳細については後述する。
(ブロック化部10)
図3は、図2に示したブロック化部10の構成を示すブロック図である。このブロック化部10は、分割候補決定部11、メモリ12−1,12−2、分割形状決定部13及びブロック化処理部14を備えている。
メモリ12−1には、予め設定された分割パターン表が格納されている。分割パターン表は、着目ブロックの分割形状(以下、「導出分割」をいう。)と、着目ブロックに隣接する隣接ブロックの分割形状(以下、「照合パターン」という。)との関係を定義したパターン(以下、「分割パターン」をいう。)が複数定義されたデータである。
メモリ12−2には、後述する分割形状決定部13により1以上の分割候補から決定された分割候補の分割形状が、ブロック毎に格納されている。メモリ12−2に分割形状が格納されているブロックは、処理済みブロックである。
分割候補決定部11は、フレーム画像を入力し、フレーム画像を所定のブロックに分割し、メモリ12−1から分割パターン表を読み出す。そして、分割候補決定部11は、分割したブロックを着目ブロックに設定し、着目ブロックについて、メモリ12−2から隣接ブロックの分割形状を読み出し、隣接ブロックの分割形状等のパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、1以上の分割候補を決定する。そして、分割候補決定部11は、着目ブロックについての1以上の分割候補を分割形状決定部13に出力する。分割候補決定部11の処理の詳細については後述する。
分割形状決定部13は、分割候補決定部11から着目ブロックについての1以上の分割候補を入力し、1以上の分割候補のそれぞれについて、当該分割候補にて分割されるブロックについての符号化処理を、ブロック化処理部14を介して符号化処理部20に行わせ、符号化処理部20からビット量等を入力して動き補償予測のコストを求める。そして、分割形状決定部13は、分割候補毎に求めた動き補償予測のコストに基づいて、1つの分割候補を特定し、分割形状を決定する。そして、分割形状決定部13は、決定した分割形状(の識別情報)をブロック化処理部14に出力すると共に、メモリ12−2に格納する。これにより、メモリ12−2には、ブロック毎に処理済みブロックの分割形状(の識別情報)が格納される。
また、分割形状決定部13は、決定した分割形状を、予め設定された複数の分割形状の中から識別するための分割形状データを生成し、当該ブロックの分割形状データとして符号化処理部20に出力する。
例えば、分割形状データは、予め設定された複数の分割形状が8種類存在する場合、それぞれの分割形状に対応した番号0〜7が用いられ、3ビットのデータにより構成される。
ブロック化処理部14は、フレーム画像を入力し、フレーム画像を所定のブロックに分割し、分割したブロックに対応する分割形状を分割形状決定部13から入力し、分割したブロックを、分割形状が示す形状にさらに分割し、分割後のブロックを符号化処理部20に出力する。
(分割候補決定部11)
次に、図3に示した分割候補決定部11について詳細に説明する。図4は、分割候補決定部11の処理を示すフローチャートである。まず、分割候補決定部11は、フレーム画像を入力し、フレーム画像を所定のブロックに分割する(ステップS401)。そして、分割候補決定部11は、メモリ12−1から分割パターン表を読み出し(ステップS402)、ステップS401にて分割したブロックを着目ブロックに設定する(ステップS403)。
分割候補決定部11は、着目ブロックに隣接する複数の隣接ブロックについて、そのパターンを特定する(ステップS404)。具体的には、分割候補決定部11は、メモリ12−2から隣接ブロックの分割形状(処理済みブロックとして格納されている隣接ブロックのみの分割形状)を読み出し、読み出した分割形状についての処理済みブロックである隣接ブロック以外の隣接ブロックを未処理ブロックに設定する。そして、分割候補決定部11は、読み出した分割形状の処理済みブロック及び設定した未処理ブロックから、隣接ブロックのパターンを特定する。
分割候補決定部11は、ステップS403にて特定した隣接ブロックのパターン(実際のパターン)と、メモリ12−1から読み出した分割パターン表の分割パターンに含まれる照合パターンとを比較する(ステップS405)。この比較処理は、分割パターン表の全ての分割パターンについて行う。
分割候補決定部11は、ステップS405において、隣接ブロックのパターンが照合パターンに合致すると判定した場合(ステップS405:合致)、当該照合パターンに対応する導出分割を分割候補に追加することで、当該着目ブロックの分割候補を決定する(ステップS406)。ここで、分割候補決定部11は、隣接ブロックのパターンが複数の照合パターンと合致すると判定した場合には、当該照合パターンに対応する導出分割のうち分割候補に含まれていない導出分割を分割候補に追加する(分割候補が重複しないように導出分割を分割候補に追加する)。
一方、分割候補決定部11は、ステップS405において、隣接ブロックのパターンが分割パターン表の全ての分割パターンに含まれる照合パターンに合致しないと判定した場合(ステップS405:合致せず)、符号化方式に対応して予め設定された複数の分割形状を、当該着目ブロックの分割候補に決定する(ステップS407)。このステップS407の処理は、従来手法と同じである。
(分割パターン表)
図5は、分割パターン表の例を示す図であり、(a)〜(f)の6種類の分割パターンを示している。これらの分割パターンは、図1に対応して9個のブロックから構成される。図5(a)〜(f)において、中央のブロックが着目ブロックであり、中央以外の8個のブロックが隣接ブロックであり、照合パターンである。
○は、いかなるブロックにも合致することを示す任意ブロックコードを示し、△は、未処理ブロックのみと合致することを示す未処理ブロックコードを示す。また、空白の□は、分割なしのブロックを示し、実線を含む□は、当該実線を基準にして分割するブロックを示す。例えば、縦の実線を含む□は、垂直2分割のブロックを示し、横の実線を含む□は、水平2分割のブロックを示す。また、点線を含む□は、当該点線を基準にして分割する導出分割のブロックを示す。例えば、縦横の点線を含む□は、導出分割が垂直及び水平4分割のブロックを示す。つまり、導出分割は、中央のブロック内の点線で示した分割形状である。また、中央のブロック内に点線が存在しない導出分割は、分割なしを示している。
例えば、図5(a)の分割パターンは、照合パターンの隣接ブロック103,108が垂直2分割の処理済みブロックであり、隣接ブロック102,104,105,106,107,109が任意ブロックコードのブロックであることを示している。また、この場合の着目ブロック101の導出分割は、垂直2分割の分割形状であることを示している。
図5(d)の分割パターンは、照合パターンの隣接ブロック102〜106,108が分割なしの処理済みブロックであり、隣接ブロック107,109が未処理ブロックコードのブロックであることを示している。また、この場合の着目ブロック101の導出分割は、分割なしの分割形状であることを示している。
図5(e)の分割パターンは、照合パターンの隣接ブロック102,104,106〜109が任意ブロックコードのブロックであり、隣接ブロック103は垂直2分割の処理済みブロックであり、隣接ブロック105は、水平2分割の処理済みブロックであることを示している。また、この場合の着目ブロック101の導出分割は、垂直及び水平4分割の分割形状であることを示している。
このように、分割パターンは、8個の隣接ブロックにおける分割形状が、任意ブロックコード、未処理ブロックコード及び分割なしよりも優先して導出分割に反映されるように、定義されている。例えば、図5(a)(b)において、導出分割には、隣接ブロック103,108における垂直2分割の分割形状が反映され、図5(c)において、導出分割には、隣接ブロック102,109における右斜め下方向2分割の分割形状が反映され、図5(f)において、導出分割には、隣接ブロック102における右斜め下方向2分割の分割形状が反映される。
(分割候補決定部11の処理例)
図6は、分割候補決定部11の処理例を説明する図である。図6(1)〜(6)の左側の9個のブロックは、着目ブロック及び図4のステップS403にて特定された隣接ブロックのパターンを示している。図6(1)〜(6)の右側の分割形状等は、図4のステップS405及びステップS406にて決定された分割候補を示している。隣接ブロックにおいて、□は、分割なしの処理済みブロックを示し、黒丸を含む□は、未処理ブロックを示す。その他は、図5と同様である。
分割候補決定部11は、図6(1)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンと、図5に示した分割パターン表の各分割パターンに含まれる照合パターンとを比較する。分割候補決定部11は、このパターンが図5(a)及び(e)の照合パターンに合致すると判定し、図5(a)及び(e)に示した着目ブロックの導出分割(垂直2分割の分割形状、並びに垂直及び水平4分割の分割形状)を分割候補に決定する。
分割候補決定部11は、図6(2)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンと、図5に示した分割パターン表の各分割パターンに含まれる照合パターンとを比較する。分割候補決定部11は、このパターンが図5(a)及び(c)の照合パターンに合致すると判定し、図5(a)及び(c)に示した着目ブロックの導出分割(垂直2分割の分割形状、及び右斜め下方向2分割の分割形状)を分割候補に決定する。
分割候補決定部11は、図6(3)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンと、図5に示した分割パターン表の各分割パターンに含まれる照合パターンとを比較する。分割候補決定部11は、このパターンが図5のいずれの照合パターンにも合致しないと判定し、従来手法と同様に、符号化方式に対応して予め設定された複数の分割形状を、分割候補に決定する。
分割候補決定部11は、図6(4)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンが図5(f)の照合パターンに合致すると判定し、図5(f)に示した着目ブロックの導出分割(右斜め下方向2分割の分割形状)を分割候補に決定する。
分割候補決定部11は、図6(5)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンが図5(d)の照合パターンに合致すると判定し、図5(d)に示した着目ブロックの導出分割(分割なし)を分割候補に決定する。この場合、着目ブロックは分割されず、ブロック化部10のブロック化処理部14から符号化処理部20へ、元のサイズの分割されたブロックが出力される。
分割候補決定部11は、図6(6)に示す8個の隣接ブロックからなるパターンを特定した場合、このパターンが図5(a)及び(e)の照合パターンに合致すると判定し、図5(a)及び(e)に示した着目ブロックの導出分割(垂直2分割の分割形状、並びに垂直及び水平4分割の分割形状)を分割候補に決定する。
尚、分割候補決定部11は、隣接ブロックのパターンと照合パターンとを比較し、例えば、図5(a)の照合パターン及び図5(c)の照合パターンと合致すると判定した場合、着目ブロックの導出分割として、垂直2分割の分割形状及び右斜め下方向2分割の分割形状の分割候補を決定する。この場合、分割形状決定部13は、分割候補が示す垂直2分割の分割形状について、動き補償予測のコストを求め、1つの分割候補を特定して分割形状を決定するようにしてもよいし、分割なしの分割候補を優先し、動き補償予測のコストを求めることなく、分割なしに決定するようにしてもよい。
また、図5及び図6では、説明を容易にするため、照合パターン及び導出分割等を図の形状で示したが、実際は、分割形状の種類、任意ブロックコード、未処理ブロックコード等を何らかの数値または文字等に置き換えたテーブルが符号化装置1に実装され、またはプログラムとして実装される。
(符号化処理部20)
図7は、図2に示した符号化処理部20の構成を示すブロック図である。この符号化処理部20は、減算部21、直交変換部22、量子化部23、逆量子化部24、逆直交変換部25、加算部26、デブロッキングフィルタ27、メモリ28、フレーム内予測部29、動き補償予測部30、切替スイッチ31、スキャニング部32及びエントロピー符号化部33を備えている。
符号化処理部20は、動き補償予測、フレーム内予測、直交変換、量子化、エントロピー符号化等によって画像のブロックを符号化する。また、符号化処理部20は、復号した画像を予測に用いるため、当該符号化処理部20内に復号処理部を内包している。
動き補償予測部30は、フレーム間予測を行う場合に用いられ、ブロック化部10から符号化対象のブロックを入力すると共に、メモリ28から参照画像を読み出し、ブロック及び参照画像を用いて動きベクトルを検出し、動きベクトルを用いて動き補償を行う。そして、動き補償予測部30は、動き補償により得られた予測画像を、切替スイッチ31を介して減算部21及び加算部26に出力する。また、動き補償予測部30は、動きベクトルをエントロピー符号化部33に出力する。
フレーム内予測部29は、フレーム内予測を行う場合に用いられ、メモリ28から参照画像を読み出し、参照画像を用いて外挿補間を行い、その結果得られた予測画像を、切替スイッチ31を介して減算部21及び加算部26に出力する。
フレーム間予測及びフレーム内予測のいずれも同様の処理が施されるため、以下、フレーム間予測の場合を説明する。
減算部21は、ブロック化部10から符号化対象のブロックを入力すると共に、動き補償予測部30から予測画像を入力し、ブロックと予測画像との差分信号を生成して直交変換部22に出力する。
直交変換部22は、減算部21から差分信号を入力し、差分信号に対して直交変換を施し、直交変換係数を生成して量子化部23に出力する。
量子化部23は、直交変換部22から差分信号の直交変換係数を入力し、この直交変換係数に対応する配列で量子化を行うための正規化係数マトリクスを用いて、直交変換係数に対して量子化処理を行い、量子化ブロックを生成してスキャニング部32及び逆量子化部24に出力する。
スキャニング部32は、量子化部23から、直交変換係数に対応する予め設定されたスキャニングオーダーで量子化ブロックの読み出しを行い、読み出した量子化ブロックをエントロピー符号化部33に出力する。
エントロピー符号化部33は、スキャニング部32から量子化ブロックを、動き補償予測部30から動きベクトルを、ブロック化部10から分割形状データをそれぞれ入力し、これらのデータにエントロピー符号化処理を施し、ビットストリームを生成して出力する。また、エントロピー符号化部33は、生成したビットストリームからビット量を算出し、ビット量をブロック化部10に出力する。
逆量子化部24は、量子化部23から量子化ブロックを入力し、量子化ブロックに逆量子化処理を施し、直交変換係数を生成して逆直交変換部25に出力する。
逆直交変換部25は、逆量子化部24から直交変換係数を入力し、直交変換係数に逆直交変換を施し、逆直交変換信号を加算部26に出力する。
加算部26は、動き補償予測部30から予測画像を入力すると共に、逆直交変換部25から逆直交変換信号を入力し、予測画像と逆直交変換信号とを加算して復号画像を生成し、復号画像をデブロッキングフィルタ27に出力する。
デブロッキングフィルタ27は、加算部26から復号画像を入力し、復号画像のブロック歪みを抑制するためのフィルタ処理を行い、フィルタ処理後の復号画像をメモリ28に格納する。また、デブロッキングフィルタ27は、復号画像のブロック歪みに関するデータ(原画との間の劣化量)を生成してブロック化部10に出力する。
これにより、エントロピー符号化部33により算出されたビット量及びデブロッキングフィルタ27により生成された復号画像の歪みに関するデータは、ブロック化部10の分割形状決定部13に出力され、分割形状決定部13において、複数の分割候補から1つの分割候補を特定して分割形状を決定する動き補償予測のコストを求めるために用いられる。
メモリ28に格納された復号画像は、フレーム間予測における参照画像、及びフレーム内予測における参照画像として用いられる。切替スイッチ31は、フレーム間予測及びフレーム内予測の切り替えのために用いられる。
以上のように、実施例1の符号化装置1によれば、ブロック化部10の分割候補決定部11は、着目ブロックについて、分割形状決定部13により分割形状が決定された処理済みの隣接ブロック及び未処理の隣接ブロックのパターンと、予め設定された分割パターン表の分割パターンに含まれる照合パターンとを比較し、両パターンが合致する場合に、その照合パターンに対応する導出分割を分割候補に決定するようにした。そして、分割形状決定部13は、分割候補決定部11により決定された分割候補についてのみ、動き補償予測のコストを求め、動き補償予測のコストに基づいて、1つの分割候補を特定して分割形状を決定するようにした。
これにより、分割候補の分割形状に対して、分割形状の良否を求める試行を行えばよいから、符号化方式に応じて予め設定された分割形状の全てに対して試行を行う従来手法よりも、その回数を低減することができる。つまり、ブロックの分割形状を決定する際に、分割形状の候補の数を減らすことができ、結果として、それぞれの分割形状の良否を求める試行の回数を低減することができる。また、実施例1の符号化装置1から出力されるビットストームを入力し復号するために、従来の復号装置を用いることができる。
〔実施例2〕
次に、実施例2について説明する。実施例2は、符号化装置において、1以上の分割候補から分割形状を決定した後、当該1以上の分割候補の中からその分割形状を識別するための分割形状コードを生成し、分割形状コードを、符号化装置から復号装置へ伝送する例であり、また、分割パターン表を、符号化装置から復号装置へ伝送する例である。
(符号化装置/実施例2−1)
図8は、実施例2−1の符号化装置の構成を示すブロック図である。この符号化装置2は、ブロック化部40及び符号化処理部50を備えている。図2に示した実施例1の符号化装置1とこの実施例2−1の符号化装置2とを比較すると、実施例1の符号化装置1は、例えば予め設定された分割形状が8種類存在する場合、その中から分割候補を決定し、その分割形状を8種類の中から識別するための分割形状データを出力する。この場合の分割形状データは、0〜7であるから、3ビットのデータにより構成される。
これに対し、実施例2−1の符号化装置2は、例えば予め設定された分割形状が8種類存在し、その中から3種類の分割候補を決定し、3種類の分割候補から分割形状を決定した場合、決定した分割形状を3種類の分割候補の中から識別するための分割形状コードを出力する。この場合の分割形状コードは、0〜2であるから、2ビットのデータにより構成される。
このように、実施例2−1の符号化装置2は、予め設定された分割形状から1つを識別するための分割形状データ(3ビットのデータ)ではなく、決定した分割候補から1つを識別するための分割形状コード(2ビットのデータ)を出力すればよい。これは、後述する復号装置が、符号化装置2と同様に分割候補を決定し、分割形状コードを用いることで、分割候補の中から1つの分割形状を決定することができるからである。
図8を参照して、ブロック化部40は、図2に示した実施例1のブロック化部10と同様に、フレーム画像を入力し、フレーム画像を所定のブロックに分割し、分割候補を決定する。そして、ブロック化部40は、分割候補のブロックについて、動き補償予測のコストを求め、動き補償予測のコストに基づいて1つの分割候補を特定し、分割形状を決定する。そして、ブロック化部40は、決定した分割形状のブロック及び分割形状コードを符号化処理部50に出力する。
符号化処理部50は、ブロック化部40からブロック及び分割形状コードを入力し、図2に示した実施例1の符号化処理部20と同様に、入力したブロックを符号化対象ブロックとし、動きベクトルを検出して予測画像と生成し、符号化対象ブロックと予測画像との間の差分信号を生成する。そして、符号化処理部50は、差分信号、動きベクトル及び分割形状コードを符号化し、ビットストリームを生成して出力し、ビット量等をブロック化部40に出力する。
(ブロック化部40)
図9は、図8に示したブロック化部40の構成を示すブロック図である。このブロック化部40は、分割候補決定部11、メモリ12−1,12−2、分割形状決定部15及びブロック化処理部14を備えている。図3に示した実施例1のブロック化部10と実施例2のブロック化部40とを比較すると、両ブロック化部10,40は、分割候補決定部11、メモリ12−1,12−2及びブロック化処理部14を備えている点で同一である。一方、実施例2のブロック化部40は、実施例1のブロック化部10における分割形状決定部13とは異なる分割形状決定部15を備えている点で相違する。
分割候補決定部11、メモリ12−1,12−2及びブロック化処理部14については図3に示した実施例1と同様であるから、ここでは説明を省略する。
分割形状決定部15は、図3に示した分割形状決定部13と同様に、分割候補決定部11から着目ブロックについての1以上の分割候補を入力し、1以上の分割候補のそれぞれについて、動き補償予測のコストを求め、動き補償予測のコストに基づいて、1つの分割候補を特定して分割形状を決定する。
また、分割形状決定部15は、図3に示した分割形状決定部13と異なり、決定した分割形状を分割候補の中から識別するための分割形状コードを生成し、当該ブロックの分割形状コードとして符号化処理部50に出力する。
以上のように、実施例2−1の符号化装置2によれば、実施例1の符号化装置1と同様の効果を奏する。すなわち、分割形状の良否を求める試行の回数を低減することができる。
また、ブロック化部40の分割形状決定部15は、決定した分割形状を分割候補の中から識別するための分割形状コードを生成するようにした。この分割形状コードはビットストリームに符号化され、符号化装置2から出力される。
これにより、後述する復号装置は、符号化装置2と同様に分割候補を決定し、分割形状コードを用いて、分割候補の中から1つの分割形状を決定することができる。つまり、予め設定された分割形状から1つを識別するための分割形状データよりもビット数の小さい分割形状コードが出力されるから、ビットレートを低くすることができる。
(復号装置/実施例2−2)
実施例2−2の復号装置及び後述する実施例2−4の復号装置は、いずれも低ビットレートのビットストームを入力し、伝送効率を向上させることを目的とした装置である。
図10は、実施例2−2の復号装置の構成を示すブロック図である。この復号装置3は、図8に示した実施例2−1の符号化装置2に対応する復号側の装置であり、エントロピー復号部60、分割形状識別部61及び復号処理部70を備えている。
復号装置3が、図8に示した実施例2−1の符号化装置2から出力されたビットストリームを入力すると、エントロピー復号部60は、ビットストリームを入力し、ビットストリームにエントロピー復号を施し、復号ブロック、動きベクトル及び分割形状コードを生成する。そして、エントロピー復号部60は、復号ブロック、動きベクトル及び分割形状コードを分割形状識別部61に出力する。
分割形状識別部61は、エントロピー復号部60から復号ブロック、動きベクトル及び分割形状コードを入力し、分割形状コードに対応するブロック毎に(分割形状コードが示す分割形状を有するブロック毎に)、当該ブロックを分割する際の分割候補を決定する。そして、分割形状識別部61は、分割候補の中から分割形状コードが示す分割候補を特定し、当該ブロックについての分割形状を識別し、当該ブロックに対応する1以上の復号ブロックのそれぞれをその分割形状のブロック(復号対象のブロック)として復号処理部70に出力すると共に、入力した動きベクトルをそのまま復号処理部70に出力する。尚、復号ブロックは、符号化装置2において、分割形状に分割されたブロック(符号化対象のブロック)に対応している。分割形状識別部61の処理の詳細については後述する。
復号処理部70は、分割形状識別部61からブロック及び動きベクトルを入力し、入力したブロックを復号対象のブロックとし、動きベクトルから予測画像を生成し、復号対象のブロックである差分信号と予測画像とを加算して復号画像を生成する。復号処理部70の処理の詳細については後述する。
(分割形状識別部61)
図11は、図10に示した分割形状識別部61の構成を示すブロック図である。この分割形状識別部61は、分割候補決定部62、メモリ63−1,63−2及び分割形状抽出部64を備えている。
メモリ63−1には、図3に示したメモリ12−1に格納された分割パターン表と同じ分割パターン表が格納されている。メモリ63−2には、図3に示したメモリ12−2と同様に、ブロック毎に分割形状が格納されている。この分割形状は、後述する分割形状抽出部64により1以上の分割候補から抽出された分割候補の分割形状である。メモリ63−2に分割形状が格納されているブロックは、処理済みブロックである。
分割候補決定部62は、エントロピー復号部60から復号ブロック及び分割形状コードを入力し、分割形状コードに対応するブロックを着目ブロックに設定し、着目ブロックについて、図3に示した分割候補決定部11と同様に、メモリ63−2から読み出した隣接ブロックの分割形状等のパターンと、メモリ63−1から読み出した分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、1以上の分割候補を決定する。そして、分割候補決定部62は、着目ブロックについての1以上の分割候補を分割形状抽出部64に出力する。
分割形状抽出部64は、エントロピー復号部60から復号ブロック及び分割形状コードを入力すると共に、分割候補決定部62から1以上の分割候補を入力し、1以上の分割候補から分割形状コードが示す分割候補を特定し、分割候補が示す分割形状を、分割形状コードに対応するブロックの分割形状として抽出し、その分割形状の復号ブロックを復号対象のブロックとして復号処理部70に出力する。
例えば、実施例2−1の符号化装置2のブロック化部40において、あるブロックAについて、分割候補決定部11により3種類の分割候補a,b,cが決定され、分割形状決定部15により3種類の分割候補a,b,cから1つの分割候補bの分割形状が決定され、決定された分割形状の分割形状コードb’が生成された場合を想定する。実施例2−2の復号装置3においても、分割形状コードb’に対応するブロックAについて、分割形状識別部61の分割候補決定部62は、同じ3種類の分割候補a,b,cを決定し、分割形状抽出部64は、分割形状コードb’に基づいて、3種類の分割候補a,b,cのうちの1つの分割候補bを特定し、分割候補bの分割形状を、当該ブロックAの分割形状に決定する。
このように、分割形状コードを用いることで、符号化装置2の分割形状決定部15により決定される分割形状と、復号装置3の分割形状抽出部64により抽出される分割形状とが一致する。
尚、分割形状識別部61は、エントロピー復号部60から入力する動きベクトルを、そのまま復号処理部70に出力する。
(復号処理部70)
図12は、図10に示した復号処理部70の構成を示すブロック図である。この復号処理部70は、スキャニング部71、逆量子化部72、逆直交変換部73、加算部74、デブロッキングフィルタ75、メモリ76、フレーム内予測部77、動き補償予測部78、切替スイッチ79及び並べ替え部80を備えている。
スキャニング部71は、符号化装置2側で指定されるスキャニングオーダーにて、分割形状識別部61を介してブロックを読み出し、ブロックを逆量子化部72に出力する。逆量子化部72は、スキャニング部71が読み出したブロックを入力し、ブロックに逆量子化処理を施し、差分信号の直交変換係数を生成して逆直交変換部73に出力する。逆直交変換部73は、逆量子化部72から差分信号の直交変換係数を入力し、差分信号の直交変換係数に逆直交変換を施し、ブロックの差分信号を加算部74に出力する。
動き補償予測部78は、フレーム間予測を行う場合に用いられ、メモリ76から参照画像を読み出すと共に、エントロピー復号部60から動きベクトルを入力し、動きベクトルを用いて動き補償を行い、参照画像から予測画像を生成し、予測画像を、切替スイッチ79を介して加算部74に出力する。
フレーム内予測部77は、フレーム内予測を行う場合に用いられ、メモリ76から参照画像を読み出し、参照画像を用いて外挿補間を行い、その結果得られた予測画像を、切替スイッチ79を介して加算部74に出力する。
フレーム間予測及びフレーム内予測のいずれも同様の処理が施されるため、以下、フレーム間予測の場合を説明する。
加算部74は、逆直交変換部73からブロックの差分信号を入力すると共に、動き補償予測部78から予測画像を入力し、ブロックの差分信号と予測画像とを加算して画像信号を復元し、復元した画像信号をデブロッキングフィルタ75に出力する。
デブロッキングフィルタ75は、加算部74から復元した画像信号を入力し、復元した画像信号のブロック歪みを抑制するためのフィルタ処理を行い、フィルタ処理後の画像をメモリ76に格納すると共に、並べ替え部80に出力する。
並べ替え部80は、デブロッキングフィルタ75からフィルタ処理後の画像を入力し、画像を並べ替えてフレーム画像を生成し、フレーム画像を出力する。
メモリ76に格納された画像は、フレーム間予測における参照画像、及びフレーム内予測における参照画像として用いられる。切替スイッチ79は、フレーム間予測及びフレーム内予測の切り替えのために用いられる。
以上のように、実施例2−2の復号装置3によれば、エントロピー復号部60は、実施例2−1の符号化装置2から入力したビットストリームにエントロピー復号を施し、復号ブロック、動きベクトル及び分割形状コードを生成するようにした。そして、分割形状識別部61の分割候補決定部62は、実施例2−1の符号化装置2の分割候補決定部11と同様に、着目ブロックについて、分割形状抽出部64により分割形状が抽出された隣接ブロック及び未決定の隣接ブロックのパターンと、予め設定された分割パターン表の分割パターンに含まれる照合パターンとを比較し、両パターンが合致する場合に、その照合パターンに対応する導出分割を分割候補に決定するようにした。そして、分割形状抽出部64は、分割候補決定部62により決定された1以上の分割候補のうち、分割形状コードが示す分割候補を特定し、分割候補が示す分割形状を抽出するようにした。
この場合、実施例2−2の復号装置3へ分割形状コードを含むビットストリームを出力する実施例2−1の符号化装置2では、前述のとおり、ブロックの分割形状を決定する際に、分割形状の候補の数を減らすことができ、結果として、それぞれの分割形状の良否を求める試行の回数を低減することができる。
そして、実施例2−2の復号装置3では、符号化装置2と同様に分割候補を決定し、分割形状コードを用いて、分割候補の中から1つの分割形状を抽出するようにした。これにより、予め設定された分割形状から1つを識別するための分割形状データよりもビット数の小さい分割形状コードを用いるから、ビットレートを低くすることができ、伝送効率を向上させることができる。
(符号化装置/実施例2−3)
図13は、実施例2−3の符号化装置の構成を示すブロック図である。この符号化装置4は、ブロック化部41及び符号化処理部51を備えている。図8に示した実施例2−1の符号化装置2と実施例2−3の符号化装置4とを比較すると、実施例2−1の符号化装置2は、分割パターン表を出力しないのに対し、実施例2−3の符号化装置4は、分割パターン表を出力する点で相違する。
ブロック化部41は、図8に示した実施例2−1のブロック化部40と同様の処理を行い、さらに、分割パターン表を符号化処理部51に出力する。
符号化処理部51は、ブロック化部41からブロック、分割形状コード及び分割パターン表を入力し、図8に示した実施例2−1の符号化処理部50と同様の処理を行い、差分信号、動きベクトル及び分割形状コードに加え、分割パターン表も符号化し、ビットストリームを生成して出力する。
(ブロック化部41)
図14は、図13に示したブロック化部41の構成を示すブロック図である。このブロック化部41は、図9に示した実施例2−1のブロック化部40の構成部に加え、さらに、分割パターン表読出部16を備えている。図9に示した実施例2−1のブロック化部40と同じ構成部については、ここでは説明を省略する。
分割パターン表読出部16は、メモリ12−1から分割パターン表を読み出し、分割パターン表を符号化処理部51に出力する。分割パターン表は、符号化処理部51において、差分信号、動きベクトル及び分割形状コードと共に符号化され、ビットストリームとして出力される。
以上のように、実施例2−3の符号化装置4によれば、実施例2−1の符号化装置2と同様の効果を奏する。すなわち、分割形状の良否を求める試行の回数を低減することができ、ビットレートを低くすることができる。
また、ブロック化部40の分割パターン表読出部16は、メモリ12−1から分割パターン表を読み出すようにした。この分割パターン表はビットストリームに符号化され、符号化装置4から出力される。
さらに、後述する復号装置が、分割パターン表を入力してメモリに格納することで、符号化装置4と復号装置との間で、常に同一の分割パターン表を保持することができる。符号化装置4にて分割パターン表が更新された場合、復号装置は、更新された分割パターン表を自動更新することができる。
(復号装置/実施例2−4)
図15は、実施例2−4の復号装置の構成を示すブロック図である。この復号装置5は、図13に示した実施例2−3の符号化装置4に対応する復号側の装置であり、エントロピー復号部65、分割形状識別部66及び復号処理部70を備えている。図10に示した実施例2−2の復号装置3と実施例2−4の復号装置5とを比較すると、実施例2−2の復号装置3は、分割パターン表を入力しないのに対し、実施例2−4の復号装置5は、分割パターン表を入力してメモリに格納する点で相違する。
復号装置5が、図13に示した実施例2−3の符号化装置4から出力されたビットストリームを入力すると、エントロピー復号部65は、ビットストリームを入力し、ビットストリームにエントロピー復号を施し、復号ブロック、動きベクトル及び分割形状コードに加え、分割パターン表も生成する。そして、エントロピー復号部65は、復号ブロック、動きベクトル、分割形状コード及び分割パターン表を分割形状識別部66に出力する。
分割形状識別部66は、エントロピー復号部65から復号ブロック、動きベクトル、分割形状コード及び分割パターン表を入力し、図10に示した実施例2−2のエントロピー復号部60と同様の処理を行い、分割パターン表をメモリに格納する。復号処理部70は、図10に示した実施例2−2の復号処理部70と同様の処理を行う。
(分割形状識別部66)
図16は、図13に示した分割形状識別部66の構成を示すブロック図である。この分割形状識別部66は、図11に示した実施例2−2の分割形状識別部61の構成部に加え、さらに、分割パターン表格納部67を備えている。図11に示した実施例2−2の分割形状識別部61と同じ構成部については、ここでは説明を省略する。
分割パターン表格納部67は、エントロピー復号部65から分割パターン表を入力し、分割パターン表をメモリ63−1に格納する。これにより、実施例2−3のメモリ12−1(符号化側のメモリ12−1)に格納された分割パターン表と同じ分割パターン表が、メモリ63−1(復号側のメモリ63−1)に格納される。
以上のように、実施例2−4の復号装置5によれば、実施例2−2の復号装置3と同様の効果を奏する。また、実施例2−3の符号化装置4との間で、常に同一の分割パターン表を保持することができ、符号化装置4にて分割パターン表が更新された場合、当該復号装置5において、更新された分割パターン表を自動更新することができる。
〔実施例3〕
次に、実施例3について説明する。実施例3は、分割候補を決定する際に、フレーム画像の全ブロックを、2つの市松模様のブロック群に分類し、第1のブロック群のブロックについて処理を行い、その後、第2のブロック群のブロックについて処理を行う例である。
図17は、ラスタスキャン順の処理を説明する図である。斜線を含む□は処理済みブロックを示し、空白の□は未処理ブロックを示す。一般に、ブロック単位の画像処理はラスタスキャン順に行われる。そのため、符号化側の分割候補決定部11及び復号側の分割候補決定部62は、着目ブロック101の分割候補を、処理済みブロック102〜105及び未処理ブロック106〜109を用いて決定する。つまり、着目ブロック101の処理においては、処理済みブロックはブロック102〜105に限定され、着目ブロック101を挟む処理済みブロックは存在しない。
この場合、分割候補決定部11,62が着目ブロック101の分割候補を決定する際に、隣接ブロックとして、着目ブロック101を挟む処理済みブロックが存在することにより、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。
そこで、実施例3では、実施例1の符号化装置1、実施例2−1の符号化装置2、実施例2−2の復号装置3、実施例2−3の符号化装置4及び実施例2−4の復号装置5において、着目ブロックの分割候補を決定する際に、隣接ブロックとして、着目ブロックを挟む処理済みブロックが存在するように、処理の順番を設定する。
図18は、実施例3の分割候補決定部11,62の処理を示すフローチャートであり、図19は、図18の説明を補充する図である。まず、分割候補決定部11,62は、フレーム画像を所定のブロックに分割し(ステップS1801)、分割したフレーム画像の全ブロックを、2つの市松模様のブロック群に分類する(ステップS1802)。
図19を参照して、斜め線で示したブロック群1,2,3・・・,10が、2つの市松模様のブロック群のうち第1のブロック群を示し、これ以外のブロック群11,12,13,14,・・・が、第2のブロック群を示す。元のフレーム画像を構成する全ブロックをラスタスキャンした場合を想定すると、第1のブロック群は、ラスタスキャンした場合の1番目のブロック、3番目のブロック等により構成され、第2のブロック群は、ラスタスキャンした場合の2番目のブロック、4番目のブロック等により構成される。つまり、フレーム画像を構成する全てのブロックが2種類のブロックに区別され、2種類のブロックが格子状に交互に配置された市松模様を形成する場合に、フレーム画像を構成する全てのブロックが、2つのブロック群に分類される。
図18に戻って、分割候補決定部11,62は、第1のブロック群のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS1803)。
図19のステップS1803を参照して、分割候補決定部11,62は、第1のブロック群の各ブロック1,2,3,4,・・・について、その番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック10について、処理済みブロックである隣接ブロック7,8及び未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、第1のブロック群に対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図18に戻って、分割候補決定部11,62は、ステップS1803にて第1のブロック群の全ブロックを処理した後、第2のブロック群のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS1804)。
図19のステップS1804を参照して、分割候補決定部11,62は、第2のブロック群の各ブロック11,12,13,14,・・・について、その番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック14について、処理済みブロックである隣接ブロック11,2,12,4,5,7及び未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、第2のブロック群に対する処理は、第1のブロック群に対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック14を挟む処理済みブロックとして、隣接ブロック2,7及び隣接ブロック4,5が存在する。
以上のように、実施例3によれば、実施例1,2と同様の効果を奏する。また、分割候補決定部11,62は、フレーム画像を所定のブロックに分割し、分割したフレーム画像の全ブロックを、2つの市松模様のブロック群(第1のブロック群及び第2のブロック群)に分類するようにした。そして、分割候補決定部11,62は、第1のブロック群のブロックについて、ラスタスキャン順に分割候補を決定し、その後、第2のブロック群のブロックについて、ラスタスキャン順に分割候補を決定するようにした。
これにより、第2のブロック群に対する処理では、着目ブロックを挟む隣接ブロックに処理済みブロックが存在することになり、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。
〔実施例4〕
次に、実施例4について説明する。実施例4は、着目ブロックの分割候補を決定する際に、着目ブロックを挟む処理済みブロックが存在するように、処理の順番を設定し、フレーム画像を2つに分類することなく、フレーム画像の行単位に処理を行う例である。
実施例3では、フレーム画像を2つに分類し、合計2回分の処理を行うことから、遅延量が大きい。具体的には、ラスタスキャンにてフレーム画像に対して1回の処理を行う場合に比べ、実施例3では、1回分の処理の遅延がある。
そこで、実施例4では、実施例1の符号化装置1、実施例2−1の符号化装置2、実施例2−2の復号装置3、実施例2−3の符号化装置4及び実施例2−4の復号装置5において、着目ブロックの分割候補を決定する際に、実施例3と同様に、隣接ブロックとして、着目ブロックを挟む処理済みブロックが存在するように、処理の順番を設定し、フレーム画像を2つに分類することなく、フレーム画像の1行毎または2行毎に処理を行うことで、遅延を短くする。以下、実施例4について、3つの具体例(実施例4−1,4−2,4−3)を説明する。
(実施例4−1)
実施例4−1は、フレーム画像の1行毎に、奇数列のブロック及び偶数列ブロックに分けて分割候補を決定する。偶数列のブロックに対する処理では、着目ブロックを挟む隣接ブロックに処理済みブロックが存在することになる。
図20は、実施例4−1の分割候補決定部11,62の処理を示すフローチャートであり、図21は、図20の説明を補充する図である。実施例4−1では、まず、分割候補決定部11,62は、フレーム画像を所定のブロックに分割し(ステップS2001)、1行目を着目行に設定する(ステップS2002)。
分割候補決定部11,62は、ステップS2002または後述するステップS2006から移行して、着目行の奇数列のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2003)。
図21のステップS2003を参照して、分割候補決定部11,62は、後述するステップS2006にて着目行を2行目に設定した場合、当該着目行の奇数列の各ブロック1,2,3について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック3について、処理済みブロックである左上の隣接ブロック及び上の隣接ブロック、並びにそれ以外の未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、着目行の奇数列のブロックに対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図20に戻って、分割候補決定部11,62は、ステップS2003にて着目行の奇数列の全ブロックを処理した後、ステップS2003にて処理を行っていないブロック、すなわち着目行の偶数列のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2004)。
図21のステップS2004を参照して、分割候補決定部11,62は、着目行の偶数列の各ブロック4,5について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック5について、処理済みブロックである左上の隣接ブロック、上の隣接ブロック、右上の隣接ブロック及び隣接ブロック2,3、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、着目行の偶数列のブロックに対する処理は、奇数列のブロックに対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック5を挟む処理済みブロックとして、隣接ブロック2,3が存在する。
図20に戻って、分割候補決定部11,62は、着目行がフレーム画像の最終行であるか否かを判定し(ステップS2005)。着目行が最終行でないと判定した場合(ステップS2005:N)、着目行を1行進めた行に設定し(ステップS2006)、ステップS2003へ移行する。一方、分割候補決定部11,62は、ステップS2005において、着目行が最終行であると判定した場合(ステップS2005:Y)、処理を終了する。
以上のように、実施例4−1によれば、実施例3と同様の効果を奏する。また、分割候補決定部11,62は、着目行の奇数列のブロックについて分割候補を決定し、その後、着目行の偶数列のブロックについて分割候補を決定し、全ての行について、このような処理を行うようにした。
これにより、着目行の偶数列のブロックに対する処理は、着目ブロックを挟む処理済みブロックが存在することになり、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。また、実施例4では、フレーム画像を2つに分類して処理する実施例3と異なり、フレーム画像の1行毎に処理を行うようにしたから、遅延を短くすることができる。
尚、図20及び図21に示した実施例4−1の処理では、奇数列のブロックについて処理を行った後、偶数列のブロックについて処理を行うようにしたが、その逆でもよい。具体的には、分割候補決定部11,62は、ステップS2003にて、着目行の偶数列のブロックについて分割候補を決定し、その後に、ステップS2004にて、着目行の奇数列のブロックについて分割候補を決定する。
(実施例4−2)
実施例4−2は、フレーム画像の1行毎に、着目行について奇数列または偶数列のブロックの分割候補を決定し、着目1行前について偶数列または奇数列のブロックの分割候補を決定する。着目行の1行前のブロックに対する処理では、着目ブロックを挟む隣接ブロックに処理済みブロックが存在することになる。
図22は、実施例4−2の分割候補決定部11,62の処理を示すフローチャートであり、図23は、図22の説明を補充する図である。実施例4−2では、まず、分割候補決定部11,62は、フレーム画像を所定のブロックに分割し(ステップS2201)、1行目を着目行に設定する(ステップS2202)。
分割候補決定部11,62は、ステップS2202または後述するステップS2206から移行して、着目行の奇数列(または偶数列)のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2203)。尚、分割候補決定部11,62は、着目行がフレーム画像の最終行+1の場合、当該ステップS2203の処理を行うことなく、後述するステップS2204へ移行する。
図23の左上に示すステップS2203(奇数列)を参照して、分割候補決定部11,62は、後述するステップS2206にて着目行を3行目に設定した場合、当該着目行の奇数列の各ブロック1,2,3について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック2について、処理済みブロックである左上の隣接ブロック及び右上の隣接ブロック、並びにそれ以外の未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、着目行の奇数列のブロックに対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図22に戻って、分割候補決定部11,62は、ステップS2203にて着目行の奇数列(または偶数列)の全ブロックを処理した後、着目行の1行前(着目1行前)について以前のステップS2203にて処理を行っていないブロック、すなわち着目1行前の奇数列(または偶数列)のブロックについて、ラスタスキャン順に、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2204)。尚、分割候補決定部11,62は、着目1行前が−1行目の場合(着目行が1行目の場合)、当該ステップS2204の処理を行うことなく、後述するステップS2205へ移行する。
図23の右上に示すステップS2204(奇数列)を参照して、分割候補決定部11,62は、着目1行前の奇数列の各ブロック4,5,6について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック5について、処理済みブロックである左上、上、右上、左、右の隣接ブロック及び隣接ブロック2、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、着目1行前の奇数列のブロックに対する処理は、その上の行の全ブロック(着目2行前のブロック)、両隣のブロック(着目1行前の偶数列のブロック)及び下のブロック(着目行の奇数列のブロック)に対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック5を挟む処理済みブロックとして、上の隣接ブロック及び隣接ブロック2と、左の隣接ブロック及び右の隣接ブロックとが存在する。
図22に戻って、分割候補決定部11,62は、着目行がフレーム画像の最終行+1であるか否かを判定する(ステップS2205)。分割候補決定部11,62は、ステップS2205において、着目行が最終行+1でないと判定した場合(ステップS2205:N)、着目行を1行進めた行に設定すると共に、奇数列と偶数列を入れ替え(ステップS2206)、ステップS2203へ移行する。
ステップS2206において、奇数行と偶数列を入れ替えるとは、ステップS2203及びステップS2204にて奇数列のブロックを処理した場合、次のステップS2203及びステップS2204では偶数列のブロックについて処理することを意味し、逆に、ステップS2203及びステップS2204にて偶数列のブロックを処理した場合、次のステップS2203及びステップS2204では奇数列のブロックを処理することを意味する。このように、ステップS2203〜ステップS2206により、奇数列のブロックの処理及び偶数列のブロックの処理が繰り返される。
図23の左下に示すステップS2203(偶数列)を参照して、着目行が3行目に設定され、ステップS2203(奇数行)及びステップS2204(偶数行)の処理が完了した後、分割候補決定部11,62は、ステップS2206にて着目行を4行目に設定し、当該着目行の偶数列の各ブロック7,8について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック8について、処理済みブロックである隣接ブロック2,3、及び未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、着目行の偶数列のブロックに対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図23の右下に示すステップS2204(偶数列)を参照して、分割候補決定部11,62は、着目1行前の偶数列の各ブロック9,10について、番号順に、分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック10について、処理済みブロックである隣接ブロック5,6,2,3,8及び上の隣接ブロック、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、着目1行前の偶数列のブロックに対する処理は、その上の行の全ブロック(着目2行前のブロック)、両隣のブロック(着目1行前の奇数列のブロック)及び下のブロック(着目行の偶数列のブロック)に対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック10を挟む処理済みブロックとして、上の隣接ブロック及び隣接ブロック8と、隣接ブロック2,3とが存在する。
図22に戻って、分割候補決定部11,62は、ステップS2205において、着目行が最終行+1であると判定した場合(ステップS2205:Y)、処理を終了する。
以上のように、実施例4−2によれば、実施例3と同様の効果を奏する。また、分割候補決定部11,62は、着目行の奇数列(または偶数列)のブロックについて分割候補を決定し、その後、着目1行前の奇数列(または偶数列)のブロックについて分割候補を決定し、全ての行について、このような処理を行うようにした。
これにより、着目1行前の奇数列(または偶数列)のブロックに対する処理は、着目ブロックを挟む処理済みブロックが存在することになり、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。実施例4−1における着目ブロックを挟む処理済みブロックは、着目ブロックの両隣のみであるが、実施例4−2における着目ブロックを挟む処理済みブロックは、着目ブロックの両隣に加え上下も対象となる。したがって、実施例4−2では、実施例4−1よりも一層精度の高い候補を決定することができ、画像劣化を防ぐことができる。また、実施例4−2では、フレーム画像を2つに分類して処理する実施例3と異なり、フレーム画像の1行毎に、着目行及び着目1行前について処理を行うようにしたから、遅延を短くすることができる。
現在規格化されている画像符号化方式では、斜め方向の分割は存在しないため、実施例4−2のように、上下の処理済みブロック及び左右の処理済みブロックで着目ブロックを挟むことができれば十分である。
また、実施例4−2によれば、全ブロックの半分のブロックで、着目ブロックを挟む処理ブロックが存在することにより、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。前述の実施例4−1及び後述する実施例4−3においても、全ブロックの半分のブロックにつき同じ効果がある。
尚、図22及び図23に示した実施例4−2の処理では、奇数列から処理を始めるようにしたが、偶数列から処理を始めるようにしてもよい。
(実施例4−3)
実施例4−3は、フレーム画像の1行毎に、着目行について奇数列または偶数列のブロックの分割候補を決定し、着目行のブロック毎に着目1行前について同列のブロックの分割候補を決定する。着目行の1行前の同列のブロックに対する処理では、着目ブロックを挟む隣接ブロックに処理済みブロックが存在することになる。
図24は、実施例4−3の分割候補決定部11,62の処理を示すフローチャートであり、図25は、図24の説明を補充する図である。実施例4−3では、まず、分割候補決定部11,62は、フレーム画像を所定のブロックに分割し(ステップS2401)、1行目を着目行に設定する(ステップS2402)。
分割候補決定部11,62は、ステップS2402、後述するステップS2405または後述するステップS2407から移行して、着目行の奇数列(または偶数列)のブロックについて、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2403)。尚、分割候補決定部11,62は、着目行がフレーム画像の最終行+1の場合、当該ステップS2403の処理を行うことなく、後述するステップS2404へ移行する。
図25の左上に示すステップS2403(奇数列)を参照して、分割候補決定部11,62は、後述するステップS2407にて着目行を3行目に設定した場合、当該着目行の奇数列のブロック1について分割候補を決定し、後述するステップS2404にて着目1行前の同列のブロック2について分割候補を決定した後、当該着目行の奇数列のブロック3について分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック3について、処理済みブロックである左上の隣接ブロック及び右上の隣接ブロック、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、着目行の奇数列のブロックに対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図24に戻って、分割候補決定部11,62は、ステップS2403にて着目行の奇数列(または偶数列)のブロックを処理した後、着目1行前の同列のブロックについて、図4のステップS402〜ステップS407の処理にて分割候補を決定する(ステップS2404)。尚、分割候補決定部11,62は、着目1行前が−1行目の場合(着目行が1行目の場合)、当該ステップS2404の処理を行うことなく、後述するステップS2405へ移行する。
図25の右上に示すステップS2404(奇数列)を参照して、分割候補決定部11,62は、ステップS2403にて着目行の奇数列のブロック3について分割候補を決定した後、着目1行前の同列のブロック4について分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック4について、処理済みブロックである左上の隣接ブロック、上の隣接ブロック、右上の隣接ブロック、左の隣接ブロック、右の隣接ブロック及び隣接ブロック3、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、着目1行前の同列(奇数列)のブロックに対する処理は、その上の行の全ブロック(着目2行前のブロック)、両隣のブロック(着目1行前の偶数列のブロック)及び下のブロック(着目行の奇数列のブロック)に対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック4を挟む処理済みブロックとして、上の隣接ブロック及び隣接ブロック3と、左の隣接ブロック及び右の隣接ブロックとが存在する。
図24に戻って、分割候補決定部11,62は、着目行及び着目1行前の全ブロックについてステップS2403及びステップS2404の処理が完了したか否かを判定する(ステップS2405)。分割候補決定部11,62は、ステップS2405において、着目行及び着目1行前の全ブロックについて処理が完了していないことを判定した場合(ステップS2405:N)、ステップS2403移行する。そして、分割候補決定部11,62は、ステップS2403及びステップS2404において、ラスタスキャン順に、次のブロックの分割候補を決定する。ステップS2403及びステップS2404の処理は、着目行及び着目1行前の全ブロックについて完了するまで繰り返して行われる。
分割候補決定部11,62は、ステップS2405において、着目行及び着目1行前の全ブロックについて処理が完了していることを判定した場合(ステップS2405:Y)、着目行がフレーム画像の最終行+1であるか否かを判定する(ステップS2406)。分割候補決定部11,62は、ステップS2406において、着目行が最終行+1でないと判定した場合(ステップS2406:N)、図22のステップS2206と同様に、着目行を1行進めた行に設定すると共に、奇数列と偶数列を入れ替え(ステップS2407)、ステップS2403へ移行する。
図25の左下に示すステップS2403(偶数列)を参照して、着目行が3行目に設定され、ステップS2403(奇数行)及びステップS2404(奇数行)の処理が完了した後、分割候補決定部11,62は、ステップS2407にて着目行を4行目に設定し、当該着目行の偶数列のブロック7について分割候補を決定し、ステップS2404にて着目1行前の同列のブロック8について分割候補を決定した後、当該着目行の偶数列のブロック9について分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック9について、処理済みブロックである左上の隣接ブロック3及び右上の隣接ブロック5、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。この場合、着目行の偶数列のブロックに対する処理では、着目ブロックを挟む処理済みブロックは存在しない。
図25の右下に示すステップS2404(偶数列)を参照して、分割候補決定部11,62は、ステップS2403にて着目行の偶数列のブロック9について分割候補を決定した後、着目1行前の同列のブロック10について分割候補を決定する。例えば、分割候補決定部11,62は、着目ブロック10について、処理済みブロックである隣接ブロック4,6,3,5,9及び上の隣接ブロック、並びに未処理ブロックである他の隣接ブロックのパターンと、分割パターン表の分割パターンに含まれる照合パターンとを比較することにより、分割候補を決定する。
これにより、着目1行前の同列(偶数列)のブロックに対する処理は、その上の行の全ブロック(着目2行前のブロック)、両隣のブロック(着目1行前の奇数列のブロック)及び下のブロック(着目行の偶数列のブロック)に対する処理の後に行われるから、着目ブロックを挟む処理済みブロックが存在することになる。例えば、着目ブロック10を挟む処理済みブロックとして、上の隣接ブロック及び隣接ブロック9と、隣接ブロック3,5とが存在する。
図24に戻って、分割候補決定部11,62は、ステップS2406において、着目行が最終行+1であると判定した場合(ステップS2406:Y)、処理を終了する。
以上のように、実施例4−3によれば、実施例3と同様の効果を奏する。また、分割候補決定部11,62は、着目行の奇数列(または偶数列)のブロックについて分割候補を決定し、その後、着目1行前の同列の奇数列(または偶数列)のブロックについて分割候補を決定し、全ての行について、このような処理を行うようにした。
これにより、着目1行前の同列(着目行と同じ列)のブロックに対する処理は、着目ブロックを挟む処理済みブロックが存在することになり、精度の高い分割候補を決定することができ、結果として、復号側にて画像劣化を防ぐことができる。実施例4−1における着目ブロックを挟む処理済みブロックは、着目ブロックの両隣のみであるが、実施例4−3における着目ブロックを挟む処理済みブロックは、実施例4−2と同様に、着目ブロックの両隣に加え上下も対象となる。したがって、実施例4−3では、実施例4−1よりも一層精度の高い候補を決定することができ、画像劣化を防ぐことができる。また、実施例4−3では、フレーム画像を2つに分類して処理する実施例3と異なり、フレーム画像の1行毎に、着目行及び着目1行前について処理を行うようにしたから、遅延を短くすることができる。また、実施例4−3では、着目行及び着目1行前につきブロック単位で処理を行うため、行単位で処理を行う実施例4−2よりも、遅延を短くすることができる。
尚、図24及び図25に示した実施例4−3の処理では、奇数列から処理を始めるようにしたが、偶数列から処理を始めるようにしてもよい。
〔実施例5〕
次に、実施例5について説明する。実施例5は、分割パターン表を生成する例である。以下、実施例1〜4にて用いた分割パターン表を生成する処理について詳細に説明する。照合パターンにおいて、未処理ブロックコード及び任意ブロックコード以外のコード(分割形状を有するブロックのコード及び分割なしのブロックのコード)を、「分割コード」というものとする。
図26は、分割パターン表を生成する処理を示すフローチャートである。この分割パターン表を生成する処理は、実施例2−3における符号化装置4のブロック化部41に備えた分割パターン表生成部(図14には図示せず)により行われる例である。分割パターン表生成部は、図26に示す処理を行い、生成した分割パターンを分割パターン表として、メモリ12−1に格納する。
尚、分割パターン表を生成する処理を、分割パターン表生成装置により行うようにしてもよい。分割パターン表生成装置は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。分割パターン表生成装置は、生成した分割パターンを分割パターン表として、CD−ROM等の媒体または通信ネットワーク、及び実施例1〜4における符号化装置1,2,4に備えた図示しないインターフェースを介して、ブロック化部10,40,41に備えたメモリ12−1に格納する。また、分割パターン表生成装置は、生成した分割パターンを分割パターン表として、CD−ROM等の媒体または通信ネットワーク、及び実施例2〜4における復号装置3,5に備えた図示しないインターフェースを介して、分割形状識別部61,66に備えたメモリ63−1に格納する。
図26を参照して、分割パターン表生成部は、分割パターンを生成するための基本となる、予め設定された分割形状を入力し(ステップS2601)、分割形状を隣接ブロックに配置し、その分割線が一直線に並ぶ配置を検索する(ステップS2602)。具体的には、分割パターン表生成部は、分割パターンを構成する隣接ブロックのうち、着目ブロックを挟む上下、左右または斜めの2つの隣接ブロック(図1では、ブロック103,108、ブロック105,106、ブロック102,109及びブロック104,107)に分割形状を配置し、分割形状の分割線を延長すると一直線に並ぶ配置を検索する。そして、分割パターン表生成部は、ステップS2602にて検索した配置を含む3種類の分割パターン(a−1)(a−2)(a−3)を生成する。
分割パターン表生成部は、ステップS2602の検索にて分割形状を2つの隣接ブロックに配置した際に、その分割形状の分割線の直線に沿った分割形状を導出分割に設定し、任意ブロックコードをその他の隣接ブロックに設定することで、2ブロックの分割コードを含む分割パターン(着目ブロックを挟む2つの隣接ブロックに分割形状を配置した分割パターン)(a−1)を生成する(ステップS2603)。これにより、分割パターン(a−1)を構成する照合パターンの8つの隣接ブロックのうち、2つの隣接ブロックには分割形状の分割コードが設定され、残りの隣接ブロックには任意ブロックコードが設定される。
図27(1)は、図26のステップS2603により生成された、2ブロックの分割コードを含む分割パターン(a−1)の例を示す図である。図27(1)の左側に示すように、分割形状が垂直2分割の場合、着目ブロックの上下の隣接ブロックには垂直2分割の分割形状の分割コードが設定され、その他の隣接ブロックには任意ブロックコードが設定され、着目ブロックの導出分割には垂直2分割の分割形状が設定された分割パターンが生成される。
また、図27(1)の右側に示すように、分割形状が右斜め下方向2分割の場合、着目ブロックの左上及び右下の隣接ブロックには右斜め下方向2分割の分割形状の分割コードが設定され、その他の隣接ブロックには任意ブロックコードが設定され、着目ブロックの導出分割には右斜め下方向2分割の分割形状が設定された分割パターンが生成される。
図26に戻って、分割パターン表生成部は、ステップS2603にて生成した分割パターン(a−1)について、分割コードが設定された2つの隣接ブロックのうちのどちらか一方に、分割コードに代えて未処理ブロックコードを設定することで、1ブロックの分割コードを含む分割パターン(着目ブロックの隣接ブロック1つに分割形状を配置した分割パターン)(a−2)を生成する(ステップS2604)。また、分割パターン表生成部は、ステップS2604にて未処理ブロックコードを設定していない他方の隣接ブロックに、分割コードに代えて未処理ブロックコードを設定することで、1ブロックの分割コードを含む分割パターン(a−3)を生成する(ステップS2604)。これにより、分割パターン(a−2)(a−3)を構成する照合パターンの8つの隣接ブロックのうち、1つの隣接ブロックには分割形状の分割コードが設定され、1つの隣接ブロックには未処理ブロックコードが設定され、残りの隣接ブロックには任意ブロックコードが設定される。
図27(2)は、図26のステップS2604により生成された、1ブロックの分割コードを含む分割パターン(a−2)の例を示す図である。図27(2)の左側に示すように、図27(1)の左側に示した分割パターン(a−1)の下の隣接ブロックについて、垂直2分割の分割コードの代わりに未処理ブロックコードが設定される。また、図27(2)の右側に示すように、図27(1)の右側に示した分割パターン(a−1)の右斜め下の隣接ブロックについて、右斜め下方向2分割の分割コードの代わりに未処理ブロックコードが設定される。
図27(3)は、図26のステップS2604により生成された、1ブロックの分割コードを含む分割パターン(a−3)の例を示す図である。図27(3)の左側に示すように、図27(1)に左側に示した分割パターン(a−1)において、図27(2)の左側に示す未処理ブロックコードが設定されなかった上の隣接ブロックについて、垂直2分割の分割コードの代わりに未処理ブロックコードが設定される。また、図27(3)の右側に示すように、図27(1)に右側に示した分割パターン(a−1)において、図27(2)の右側に示す未処理ブロックコードが設定されなかった右斜め上の隣接ブロックについて、右斜め下方向2分割の分割コードの代わりに未処理ブロックコードが設定される。
図26に戻って、分割パターン表生成部は、ステップS2604の後、分割パターン(a−1)の着目ブロックに設定された導出分割のうち、2つの導出分割を組み合わせた導出分割を特定する(ステップS2605)。分割パターン(a−1)の着目ブロックに設定された導出分割には、2つの導出分割を組み合わせた導出分割と、それ以外の導出分割とが存在する。
図28は、図26のステップS2605における2つの導出分割を組み合わせた導出分割の例を示す図である。例えば、垂直2分割の導出分割と水平2分割の導出分割とを組み合わせた導出分割として、垂直及び水平4分割の導出分割がある。また、右斜め下方向2分割の導出分割と左斜め下方向2分割の導出分割とを組み合わせた導出分割として、右斜め下方向及び左斜め下方向4分割の導出分割がある。また、左寄り2分割の導出分割と右寄り2分割の導出分割とを組み合わせた導出分割として、左寄り及び右寄り3分割の導出分割がある。
図26に戻って、分割パターン表生成部は、分割パターン(a−1)のうち、ステップS2605にて特定した導出分割の組み合わせ元の導出分割を有する2つの分割パターン(a−1)について、これらの照合パターンを合成することで、新たな照合パターンαを生成する(ステップS2606)。
図29は、図26のステップS2606における照合パターンの合成規則を示す図である。分割パターン表生成部は、ステップS2606の照合パターンの合成処理において、同じ隣接ブロックにつき、一方には分割コードが設定され、他方には未処理ブロックコードが設定されている場合、合成後の隣接ブロックには分割コードを設定する。また、分割パターン表生成部は、一方には分割コードが設定され、他方には任意ブロックコードが設定されている場合、合成後の隣接ブロックには分割コードを設定する。また、分割パターン表生成部は、一方には未処理ブロックコードが設定され、他方には任意ブロックコードが設定されている場合、合成後の隣接ブロックには未処理ブロックコードを設定する。
このように、分割パターン表生成部は、ステップS2606の照合パターンの合成処理において、同じ隣接ブロックにつき、分割コード、未処理ブロックコード、任意ブロックコードの優先順位で、合成後の隣接ブロックを設定する。
また、分割パターン表生成部は、両方に未処理ブロックコードが設定されている場合、合成後の隣接ブロックには未処理ブロックコードを設定する。同様に、分割パターン表生成部は、両方に任意ブロックコードが設定されている場合、合成後の隣接ブロックには任意ブロックコードを設定し、両方に同じ分割コードAが設定されている場合、合成後の隣接ブロックには分割コードAを設定する。
分割パターン表生成部は、一方には分割コードAが設定され、他方には分割コードAとは異なる分割コードBが設定されている場合、合成後の隣接ブロックには分割コードAまたは分割コードBを設定する。この場合、分割パターン表生成部は、合成後の隣接ブロックに分割コードAを設定した照合パターンα、及び、合成後の隣接ブロックに分割コードBを設定した照合パターンαをそれぞれ生成する。例えば、同じ隣接ブロックにつき異なる分割コードが設定されており、その隣接ブロックが3個存在する場合は、23=8個の照合パターンαが生成される。
図30は、図26のステップS2606により生成された照合パターンαの例を示す図である。図29に示した規則に従い、例1及び例2の照合パターンαが生成される。例3は、2つの分割パターンをそれぞれ構成する照合パターンにおいて、着目ブロックの上の隣接ブロックにつき、一方には分割コードA(左寄り2分割の分割コード)が設定され、他方には分割コードB(右寄り2分割の分割コード)が設定されている場合の例である。この場合、合成後の当該隣接ブロックに分割コードAが設定された照合パターンαと、分割コードBが設定された照合パターンαとが生成される。
尚、図30には説明の便宜上、着目ブロックも示されているが、照合パターンは、着目ブロックを含まない。後述する図31も同様である。
図26に戻って、分割パターン表生成部は、ステップS2606にて生成した照合パターンαを対象に、着目ブロックを挟む2つのブロックについて、分割コードを有する照合パターンを選択する(ステップS2607)。選択された照合パターンに含まれる分割コードの組数をNとする。図30に示した例1の照合パターンの場合、分割コードの組数はN=2である。
分割パターン表生成部は、ステップS2607にて選択した照合パターンにおける分割コードの各組について、当該組内の分割コードのどちらか一方を未処理ブロックコードに設定することで、各組の分割コードの一つを未処理ブロックコードに置き換えた照合パターンβを生成する(ステップS2608)。分割コードの組数Nに対し、2N個の照合パターンβが生成される。
図31は、図26のステップS2608により生成された照合パターンβの例を示す図である。ステップS2607により生成された照合パターンαが図30に示した例1の場合(N=2の場合)、ステップS2608にて、4個の照合パターンβが生成される。照合パターンαにおいて、分割コードs1,s2を第1組とし、分割コードs3,s4を第2組とする。
照合パターンαにおいて、第1組の分割コードs1,s2のうちの分割コードs1が未処理ブロックコードに置き換えられ、第2組の分割コードs3,s4のうちの分割コードs3が未処理ブロックコードに置き換えられることで、最上段の照合パターンβが生成される。また、第1組の分割コードs1,s2のうちの分割コードs2が未処理ブロックコードに置き換えられ、第2組の分割コードs3,s4のうちの分割コードs3が未処理ブロックコードに置き換えられることで、2段目の照合パターンβが生成される。
照合パターンαにおいて、第1組の分割コードs1,s2のうちの分割コードs1が未処理ブロックコードに置き換えられ、第2組の分割コードs3,s4のうちの分割コードs4が未処理ブロックコードに置き換えられることで、3段目の照合パターンβが生成される。また、第1組の分割コードs1,s2のうちの分割コードs2が未処理ブロックコードに置き換えられ、第2組の分割コードs3,s4のうちの分割コードs4が未処理ブロックコードに置き換えられることで、最下段の照合パターンβが生成される。このように、4個の照合パターンβが生成される。
図26に戻って、分割パターン表生成部は、ステップS2608の後、ステップS2606にて生成した照合パターンα及びステップS2608にて生成した照合パターンβと、これに対応する導出分割とを組み合わせることで、分割パターン(b)を生成する(ステップS2609)。
図30及び図31では、それぞれ照合パターンα,βとして説明したが、着目ブロックの導出分割も示されている。図30を参照して、照合パターンαとこれに対応する着目ブロックの導出分割とを組み合わせることにより、分割パターン(b)が生成される。また、図31を参照して、照合パターンβとこれに対応する着目ブロックの導出分割とを組み合わせることにより、分割パターン(b)が生成される。
図26に戻って、分割パターン表生成部は、ステップS2609の後、ステップS2603にて生成した分割パターン(a−1)、ステップS2604にて生成した分割パターン(a−2)(a−3)、及びステップS2609にて生成した分割パターン(b)について、重複した分割パターンのうち1つの分割パターンのみを残し、他の分割パターンを除去する(ステップS2610)。また、符号化方式で許容されていない分割形状を有する分割パターンも除去する。そして、分割パターン表生成部は、重複のない分割パターンを出力し、分割パターン表としてメモリ12−1に格納する(ステップS2611)。重複した分割パターンとは、照合パターン及び着目ブロックの導出分割の両方が完全に一致する分割パターンをいう。例えば、照合パターンが同一であっても、着目ブロックの導出分割が異なる分割パターンは、重複した分割パターンではない。
以上のように、実施例5によれば、分割パターン表生成部は、予め設定された分割形状を隣接ブロックに配置に、分割形状の分割線が一直線に並ぶ配置を探索することで、2ブロックの当該分割形状を含む分割パターン(a−1)を生成し、1ブロックの当該分割形状を含む分割パターン(a−2)(a−3)を生成するようにした。また、分割パターン表生成部は、2つの導出分割を組み合わせた導出分割を特定し、元となる2つの導出分割のそれぞれの照合パターンを合成して照合パターンαを生成し、着目ブロックを挟む2つの隣接ブロックが分割コードを有する照合パターンについて、分割コードを未処理ブロクコードに置き換えた照合パターンβを生成し、照合パターンα,βと対応する導出分割とを組み合わせて分割パターン(b)を生成するようにした。そして、分割パターン表生成部は、分割パターン(a−1)(a−2)(a−3)(b)から重複した分割パターン及び符号化方式で許容されていない分割形状を有する分割パターンを除去し、分割パターン表として出力する。
これにより、実施例1〜4にて用いる分割パターン表を、自動的に生成することが可能となる。
以上、実施例を挙げて本発明を説明したが、本発明は前記実施例に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、図5に示した分割パターン表、図6に示した分割候補決定部11の処理例、図27に示した分割パターン(a−1)(a−2)(a−3)、図28に示した2つの導出分割の組み合わせ、図30に示した照合パターンα、及び、図31に示した照合パターンβは、それぞれ例示であり、本発明は、これらに限定されるものではない。
尚、実施例1〜4による符号化装置1,2,4及び復号装置3,5のハードウェア構成としては、通常のコンピュータを使用することができる。符号化装置1,2,4及び復号装置3,5は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。符号化装置1に備えたブロック化部10及び符号化処理部20の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。符号化装置2に備えたブロック化部40及び符号化処理部50、符号化装置4に備えたブロック化部41及び符号化処理部51、復号装置3に備えたエントロピー復号部60、分割形状識別部61及び復号処理部70、並びに、復号装置5に備えたエントロピー復号部65、分割形状識別部66及び復号処理部70についても同様である。これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。