トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 画像符号化装置および画像復号化装置
【発明者】 【氏名】山口 昇

【氏名】井田 孝

【氏名】菊池 義浩

【氏名】渡邊 敏明

【要約】 【課題】オブジェクトの形状情報を効率よく符号化する装置を提供すること。

【構成】時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト(Ob)毎に符号化する動画像符号化装置におけるObの形状を表すアルファマップの符号化回路であって、Obを含む方形領域をM×N画素で構成されるブロック(BL)毎に分割する手段と、BLを前記方形領域内において一定規則により順次符号化する手段 220とを有し、BLの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置おいて、BL近傍の再生値を蓄える手段と、すでに符号化されたフレーム(FM)の再生信号を蓄える再生信号保持手段FMと、該保持手段内の再生信号を用い動き補償予測値を生成する予測手段 250と、BL近傍の再生値も含めて変化画素を検出する手段とを有する構成とし、相対アドレス符号化の参照変化画素をBL内の画素値でなく動き補償予測信号から求める。
【特許請求の範囲】
【請求項1】
時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト単位で符号化する動画像符号化装置において、
前記オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割する手段と、
前記オブジェクトの形状を表す2値画像であるアルファマップ信号について前記各ブロックを水平・垂直方向共に1/2N(N=1,2,3,…)に縮小する縮小処理手段と、
前記ブロックの近傍再生値を保持するメモリと、
前記メモリに保持された再生値を1/2Nに縮小することで参照画素値を求める手段と、
水平・垂直方向共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大する拡大処理手段と、
を備えて構成し、
上記拡大処理手段においては、常に1/2N に縮小された参照画素値を用いるように
縮小処理されたブロックを拡大処理する拡大回路とを有し、符号化にあたってはレート制御のために上記縮小処理されたブロックと拡大処理されたブロックとを選択的に利用するようにした画像符号化装置において、
上記拡大回路は、
上記ブロックの近傍再生値を保持するメモリと、
該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、
水平・垂直方向共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大する拡大処理手段と、
を備えて構成し、
上記拡大処理手段においては、常に1/2N に縮小された参照画素値を用いるようにすることを特徴とする画像符号化装置。
【請求項2】
水平・垂直共に1/2N (N=1,2,3,…)に縮小された2値画像のブロックを拡大する拡大回路であって、
該ブロック近傍再生値を保持するメモリと、
該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、
水平・垂直共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大すると共に、この拡大処理においては、常に1/2N に縮小された参照画素値を用いる拡大処理手段と、
を具備することを特徴とする画像符号化装置。
【請求項3】
時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置であって、
上記フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域を設定する設定手段と、この設定手段により設定された領域内をブロックに分割する分割手段と、分割された上記ブロック内を動き補償予測するために必要な動きベクトルを予測符号化する手段とを有する画像符号化装置において、
参照フレーム内の領域のフレーム内における位置を表す第1の位置ベクトルを保持するメモリと、
該参照フレーム内領域のフレーム内での位置を表す第2の位置ベクトルを符号化する符号化手段と、
符号化対象ブロック近傍の再生済みのブロックの動きベクトルを保持する
動きベクトル
動きベクトルメモリと、
上記動きベクトルメモリに蓄えられている動きベクトルを用いて、符号化対象ブロックの動きベクトルを予測する手段とを備えてなり、
上記予測手段において使用する動きベクトルが、前記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルを切り換えて用いるようにすることを特徴とする画像符号化装置。
【請求項4】
時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置であって、該フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域をブロック毎に再生する画像復号化装置において、
上記ブロック内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、
参照フレーム内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、
参照フレーム内の領域のフレーム内での位置を表す第1の位置ベクトルを保持するメモリと、
該フレーム内の領域のフレーム内での位置を表す第2の位置ベクトルを復号化する手段と、
復号化対象ブロック近傍の補正済みのブロックの動きベクトルを保持する動きベクトルメモリと、
上記動きベクトルメモリに保持された動きベクトルを用いて、復号化対象ブロックの動きベクトルを予測する予測手段とを有し、
上記予測手段で使用するための動きベクトルが、上記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルのいずれかとすることを特徴とする画像復号化装置。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、画像信号を高能率に符号化し、伝送・蓄積すると共に、復号するための画像符号化装置および画像復号化装置に関する。
【背景技術】
【0002】
画像信号は膨大な情報量を持つため、伝送や蓄積に供する場合には圧縮符号化するのが一般的である。そして、画像信号を高能率に符号化するには、フレーム単位の画像を、所要画素数単位(例えば、M×N画素(M:水平方向の画素数、N:垂直方向の画素数))でブロックに分割し、その分割した各ブロック毎に直交変換して画像の持つ空間周波数を各周波数成分に分離し、変換係数として取得してこれを符号化する。
【0003】
ところで、画像符号化の一つとして、『J.Y.A.Wang et.al.“Applying Mid-level Vision Techniques for Video Data Compression and Manipulation”,M.I.T.Media Lab.Tech.Report No.263,Feb.1994,』において、ミッドレベル符号化と呼ばれる範疇に属する画像符号化法が提案されている。
【0004】
この方式では、例えば、図16(a)のような背景と被写体(以後、被写体をオブジェクトと呼ぶ)からなる画像があったとして、この背景とオブジェクトを図16の(b),(c)のように分けて符号化している。
【0005】
このように、背景(図16(c))やオブジェクト(図16(b))を別々に符号化するためには、オブジェクトの形状や画面内の位置を表す例えば2値の副画像情報であるアルファマップ信号(図16(d)参照、図中、白画素がオブジェクトの画素を示す)が必要となる。なお、背景のアルファマップ信号(図16(e))は、オブジェクトのアルファマップ信号から一意に求められる。
【0006】
ところで、このアルファマップ信号を効率的に符号化する方法として、2値画像の符号化法(例えば、MMR(Modified Modified READ)符号化等)や、線図形の符号化法(チェイン符号化等)が用いられている。
【0007】
また、更にアルファマップの符号量を低減するために、形状の輪郭線をポリゴン近似してスプライン曲線でスムーシングする方法(J.Ostermann,“Object-based analysis-synthesis coding based on the souece model of moving rigid 3D objects”,Signal Process.:Image Comm.Vol.6 No.2 pp.143-161,1994)や、アルファマップを縮小して符号化し、拡大する際に曲線近似する方法(特願平5−297133号参照)などがある。
【0008】
ここで、アルファマップを縮小して符号化し、拡大する際に曲線近似する方法の例を説明する。
【0009】
<MMR符号化回路の具体例>
(ブロックベース符号化の具体例)
図18(a)は、ブロック単位(例えば、M×N画素構成のブロック単位(M:水平方向の画素数、N:垂直方向の画素数))で符号化する場合の変化画素の関係を表す図である。また、図18(b)は、参照変化画素b1を検出するための参照領域を表す図である。
ブロックベース符号化においては、以下のように変化画素の符号化を単純化して符号化しても良い。なお、以下の処理は、スキャンの順序を切り換えても良いし、縮小されたブロックに適用しても良い。
【0010】
単純化した変化画素の符号化は、次のようにして行う。
今、変化画素ai (i=0 〜1)、参照変化画素b1それぞれについての、画面左上からラスタ順に求めた際のアドレス(または画素順序)を各々、abs_ai (i=0 〜1)、abs_b1 と表記し、変化画素a0 の属するラインをa0_lineと表記すると、a0_lineおよびr_ ai (i=0 〜1)、r_ b1 の値は、以下の式で求められる。
【0011】
a0_line = (int)((abs_ a0 +WIDTH)/WIDTH)−1
r_ a0 = abs_a0 − a0_line*WIDTH
r_ a1 = abs_a1 − a0_line*WIDTH
r_ b1 = abs_b1 − (a0_line−1)*WIDTH
上記式において、*は乗算を、(int)(X) はXの小数点以下切り捨てを意味しており、WIDTH はブロックの水平方向の画素数を示している。
【0012】
そして、変化画素の相対アドレス“r_a1−r_b1”あるいは、“r_a1−r_a0”の値を符号化することで、再生値が得られる。これが、上述の “単純化した変化画素の符号化”である。
【0013】
図19は、2値画像の符号化法であるMMR符号化を、ブロックベースで実施する場合の処理の流れを示すフローチャートである。以後、フローチャートに従って符号化処理を説明する。ここでの処理は、まず、起点変化画素の位置を初期化し(S501)、初期位置(ブロックの左上画素)での画素値を1ビットで符号化する(S502)、次に初期位置において参照変化画素b1を検出する(S503)。
【0014】
ここで、参照変化画素b1が検出されなかった場合には、参照領域に変化画素が存在しないことから垂直モードが使えないため、垂直パスモードの状態を“TRUE”(真)とし、b1が検出された場合は垂直モードが使えるため、垂直パスモードの状態を“FALSE”(偽)とする。
【0015】
以上で初期状態のセッティングを終了し、符号化ループの処理に移る。
まず、変化画素a1を検出し(S505)、変化画素a1が検出されたか否かを判定し(S506)、変化画素a1が検出されなかった場合には、以後、変化画素が無いため、符号化の終了を示す符号化処理終了符号(EOMB;End of MB)を符号化する(S507)。
【0016】
また、S506での判定の結果、変化画素a1が検出された場合には、垂直パスモード(Vertical pass mode)の状態を判定する(S508)。ここで、垂直パスモードの状態が“TRUE”ならば、垂直パスモードの符号化処理(S516)を行い、垂直パスモードの状態が“FALSE”ならば、b1を検出する (S509)。
【0017】
次に、b1が検出されたか否かを判定し(S510)、参照変化画素b1が検出されなかった場合には、水平モードのステップ(S513)に進み、参照変化画素b1が検出された場合には、”r_a1−r_b1”の絶対値がしきい値 (VTH)よりも大きいか否かを判定し(S511)、その結果、しきい値(VTH)以下の場合には、垂直モードのステップ(S512)に進み、しきい値 (VTH)よりも大きい場合には、水平モードのステップ(S513)に進む。
【0018】
水平モードのステップ(S513)では、“r_a1−r_a0”の値が符号化される。ここで、“r_a1−r_a0”の値が“WIDTH”よりも小さいか否かを判定し(S514)、その結果、“WIDTH”以上の場合には、垂直パスモードの状態を“TRUE”(真)として(S515)、垂直パスモードのステップ(S516)に進み、垂直パスモードのステップ(S516)が終了したら、垂直パスモードの状態を“FALSE”(偽)とする。
【0019】
以上、垂直モード、水平モード、垂直パスモードの何れかが終了した後(alまでの符号化が終了した後)、a1の位置を新たなa0の位置として(S518)、S505の処理に戻る。
【0020】
図17は、VLCテーブル(可変長符号テーブル)の例である。
ここで、垂直パスモードの状態が“TRUE”の場合には、符号の種類はV0(モードV0)、H(水平モード)、EOMB(符号化処理終了符号)の3種類しか生起しないため、垂直パスモードの状態に応じて、VLCを切り換えることができる。なお、垂直パスモードの状態が“TRUE”の場合、EOMBはa0がブロックの左上の位置(初期位置)にある場合のみ生起する。従って、この場合には、図17の“0”内の符号が用いられる。
【非特許文献1】J. Y. A. Wang et. al. “Applying Mid-level Vision Techniques for Video Data Compression and Manipulation” ,M. I. T. Media Lab. Tech. Report No. 263, Feb. 1994
【非特許文献2】J. Ostermann, “Object-based analysis-synthesis coding based on the souece model of moving rigid 3D objects”, Signal Process. :Image Comm. Vol. 6 No. 2 pp. 143-161,1994
【発明の開示】
【発明が解決しようとする課題】
【0021】
画像を符号化する場合に、画面内を背景とオブジェクトに分割して符号化する方式があるが、この場合、背景とオブジェクトを分けるために、オブジェクトの形状や画面内の位置を表すアルファマップ信号が必要となる。そして、画像の符号化情報と共に、このアルファマップの情報も符号化してビットストリーム化し、伝送や蓄積に供する。
【0022】
しかし、画面内を背景とオブジェクトに分割して符号化する方式の場合、従来の符号化法のように画面内を一括して符号化するのに比べ、アルファマップがある分、符号量増加が問題となり、このアルファマップの符号量増加による符号化効率の低下が問題となる。
【0023】
そこでこの発明の目的とするところは、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようにした画像符号化装置および画像復号化装置を提供することにある。
【課題を解決するための手段】
【0024】
上記目的を達成するため、本発明は次のように構成する。
【0025】
第1には、画像をその画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップと共に符号化し、前記アルファマップは相対アドレス符号化を用いて符号化する画像符号化装置において、
既に符号化した変化画素を参照変化画素とし、この参照変化画素と、次に符号化する変化画素の相対的な位置を表すシンボルを可変長符号化テーブルを用いて符号化する手段と、前記可変長符号化テーブルを2つ以上保持し、既に符号化した前記アルファマップのパターンによって、前記可変長符号化テーブルを切り替える手段とを備えることを特徴とする。
【0026】
第2には、この符号化装置により符号化されて得られた符号化ビットストリームを復号する復号化装置であって、
前記シンボルを可変長符号化テーブルを用いて復号する手段と、前記可変長符号化テーブルを2つ以上保持し、既に復号した前記アルファマップのパターンによって、前記可変長符号化テーブルを切り替える手段とを備えることを特徴とする。
【0027】
さらには、前記可変長符号化テーブルを切り替える手段は、参照変化画素の近くのパターンによって切り替えることを特徴とする。
【0028】
このような構成の本装置は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化することにより符号量を少なくするようにした符号化/復号化において、複数種の可変長符号化テーブルを用意しておき、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものであり、このような本発明によれば、アルファマップの符号量をいっそう低減できる効果が得られる。
【0029】
また、第2には本発明は、時系列データとして得られる複数フレーム(画像フレーム)の動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置における、オブジェクトの形状を表すアルファマップを符号化する符号化回路であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割する手段と、この分割されて得られた上記ブロックを、前記方形領域内において一定規則により順次、符号化する手段とを有し、ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置において、
ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、前記再生値蓄積手段を参照し、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
【0030】
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
【0031】
これにより、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようになる。
【0032】
また、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム (画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段と、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段とを有し、相対アドレス符号化情報を、切り替え情報と共に符号化するものである。
【0033】
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段を有し、切り替え情報にしたがって参照変化画素を求めるようにしたものである。
【0034】
この場合、相対アドレス符号化にあたり、参照変化画素b1を現在処理中の画像のブロックである“current block ”内より検出するか、前回処理した画像のブロックである“ compensated block”内より検出するかを、ブロック単位で切り替えて処理することができ、符号化側ではこの切り替え用の情報も併せて符号化し、復号化側ではこれを復号して、復号化処理の際に当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えるようにすることができ、このようにすることによって、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
【0035】
また本発明は、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置において、
オブジェクトの形状を表すアルファマップ信号について、ブロック近傍の再生信号を含む該フレームの再生信号と、符号化が終了したフレームの再生信号を蓄えるフレームメモリと、
ブロック内の画素値を2値の何れか一方の値で全て置き換える手段と、
フレームメモリ内のすでに符号化が終了したフレームの再生信号を用いて、動き補償予測値を生成する動き補償予測手段と、
ブロック毎に2値画像を縮小・拡大する手段と、
その縮小・拡大率をサイド情報として符号化する手段と、
ブロック毎に縮小された2値画像を符号化する2値画像符号化手段とからなるアルファマップ符号化手段を備えて構成した。
【0036】
そして、前記アルファマップ符号化手段は前記ブロックの再生画像を、ブロック内を2値の何れか一方の値で全て置き換えた再生値と、動き補償予測値と、ブロック毎に縮小・拡大する事で得られた再生値とのうちの何れかから選択するようにした。従って、アルファマップ信号の符号化を、高品位で効率の良い形態で実施でき、高品位の画質を維持し、かつ、高圧縮率で符号化することができるようになる。
【0037】
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置において、
ブロック近傍の再生信号を含む該フレームの再生信号と、符号化済みフレームの再生信号を蓄えるフレームメモリと、
ブロック内の画素値を2値の何れか一方の値で全て置き換える手段と、
フレームメモリ内のすでに符号化が終了したフレームの再生信号を用いて、動き補償予測値を生成する動き補償予測手段と、
ブロック毎に2値画像を縮小・拡大する手段と、
ブロック毎に縮小された2値画像を復号化する2値画像復号化手段とからなるアルファマップ復号化手段を備えて構成した。
【0038】
そして、前記アルファマップ復号化手段は、前記ブロックの再生画像を、ブロック内を2値の何れか一方の値で全て置き換えた再生値と、動き補償予測値と、ブロック毎に縮小・拡大することで得られた再生値のうちの何れかから選択するようにした。従って、高品位の画像を再生できるようになる。
【0039】
また、アルファマップをブロック毎に符号化する際に、ブロック毎の属性を符号化する方式であって、オブジェクトを含む、ブロックサイズの倍数で表される符号化領域を設定する手段と、
この領域内をブロックに分割する手段と、
各ブロックに対して、各々の属性に固有のラベルを割り当てるラベル付け手段と、上記ラベルをフレーム毎に保持する記億手段と、
現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する決定手段と、
少なくとも上記記憶手段に保持された前フレームのラベルと上記参照ブロックによって予測値を決定する予測手段と、
上記符号化ブロックのラベル情報を、上記予測値を用いて符号化する符号化手段とを有して構成するようにした。
【0040】
また、アルファマップのブロック毎の属性を再生する復号化装置として、
復号化したラベルをフレーム毎に保持する記憶手段と、
現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する決定手段と、
少なくとも上記記億手段に保持された前フレームのラベルと上記参照ブロックによつて予測値を決定する予測手段と、
上記復号ブロックのラベル情報を、上記予測値を用いて復号化する復号化手段を備えて構成するようにした。
【0041】
これらにより、アルファマップをマクロブロック(画像を例えば、16×16画素といった所定の複数画素構成に分割した場合のその分割した単位画像ブロック)毎に符号化する際に、各ブロックの属性に固有のラベルを付してこれを符号化するようにし、このラベルを再生して元のアルファマップのデータを再生することにより、効率の良い符号化できるようになる。
【0042】
また、本発明は、画像を、その画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップと共に符号化するに当たり、アルファマップをブロック毎に符号化する際に、ブロック毎の属性を符号化するようにした方式の画像符号化装置であって、
オブジェクトを含む、ブロックサイズの倍数で表される符号化領域を設定する手段と、この領域内をブロックに分割する手段と、各ブロックに対して、各々の属性に固有のラベルを割り当てるラベル付け手段と、上記ラベルあるいは上記アルファマップをフレーム毎に保持する記億手段と、現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する決定手段と、少なくとも上記記憶手段に保持された前フレームのラベルあるいはアルファマップと、上記参照ブロックによって予測値を決定する予測手段と、上記符号化ブロックのラベル情報を、上記予測値を用いて符号化する符号化手段とを有する構成とする。
【0043】
さらには、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化する手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備えるようにする。
【0044】
あるいは、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化する手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備え、また、上記予測手段は、参照ブロックが複数ある場合には、上記複数の参照ブロックのラベルのうち、数が多いラベルを予測値とする手段を備えるようにする。
【0045】
あるいは、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、 上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化するものであって、前フレームあるいは現フレームあるいはその両方の縮小・拡大率に応じて、複数種のうちから選択した一つの可変長符号化テーブルを用いて符号化ブロックの符号化処理をする手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備える。
【0046】
また、アルファマップのブロック毎の属性を再生する復号化装置において、
復号化したラベルあるいはアルファマップをフレーム毎に保持する記憶手段と、現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する決定手段と、少なくとも上記記億手段に保持された前フレームのラベルあるいはアルファマップと上記参照ブロックによつて予測値を決定する予測手段と、上記復号ブロックのラベル情報を、上記予測値を用いて復号化する復号化手段を有することを特徴とする。
【0047】
そして、さらには、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
上記縮小・拡大情報を保持する記憶手段とを有し、
上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備えるものであることを特徴とする。
【0048】
あるいは、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
上記縮小・拡大情報を保持する記憶手段とを有し、
上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、上記予測手段は、参照ブロックが複数ある場合には、複数の参照ブロックのラベルのうち、数が多いラベルを予測値とするものであることを特徴とする。
【0049】
また、水平・垂直方向共に1/2N (N=1,2,3,…)に縮小された2値画像のブロックを拡大する拡大回路として、
該ブロック近傍再生値を保持するメモリと、該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、水平・垂直共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大する手段とを備え、上記拡大手段においては、常に1/2N に縮小された参照画素値を用いることを特徴とする。
【0050】
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置であって、
上記フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域を設定する設定手段と、この設定手段により設定された領域内をブロックに分割する分割手段と、分割された上記ブロック内を動き補償予測するために必要な動きベクトルを予測符号化する手段とを有する画像符号化装置において、
参照フレーム内の領域のフレーム内における位置を表す第1の位置ベクトルを保持するメモリと、該参照フレーム内領域のフレーム内での位置を表す第2の位置ベクトルを符号化する符号化手段と、符号化対象ブロック近傍の再生済みのブロックの動きベクトルを保持する動きベクトルメモリと、上記動きベクトルメモリに蓄えられている動きベクトルを用いて、符号化対象ブロックの動きベクトルを予測する手段とを備えてなり、
上記予測手段において使用する動きベクトルが、前記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルを切り換えて用いるようにすることを特徴とする。
【0051】
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置であって、該フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域をブロック毎に再生する画像復号化装置において、
上記ブロック内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、参照フレーム内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、参照フレーム内の領域のフレーム内での位置を表す第1の位置ベクトルを保持するメモリと、該フレーム内の領域のフレーム内での位置を表す第2の位置ベクトルを復号化する手段と、復号化対象ブロック近傍の補正済みのブロックの動きベクトルを保持する動きベクトルメモリと、上記動きベクトルメモリに保持された動きベクトルを用いて、復号化対象ブロックの動きベクトルを予測する予測手段とを有し、
上記予測手段で使用するための動きベクトルが、上記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルのいずれかとすることを特徴とする。
【発明の効果】
【0052】
本発明によれば、アルファマップの符号量を低減することができるため、フレーム単位で符号化する従来の符号化法と比べて、大幅な符号化効率の低下なしにオブジェクト毎に別々に符号化することができるようになる。
【発明を実施するための最良の形態】
【0053】
以下、本発明の具体例について、図面を参照して説明する。初めに、本発明が適用される画像符号化および画像復号化装置について概略を説明しておく。
【0054】
(本発明が適用される画像符号化および画像復号化装置)
図1は、画像を符号化する場合に、画面内を背景とオブジェクトに分割して符号化する方式であって本発明を適用した画像符号化装置のブロック図である。本発明における画像符号化装置は、図1に示すように、差分回路100、動き補償予測回路(MC)110、直交変換回路120、量子化回路130、可変長符号化回路(VLC)140、逆量子化回路(IQ)150、逆直交変換回路160、加算回路170、多重化回路180、アルファマップ符号化回路200とから構成される。
【0055】
アルファマップ符号化回路200は、入力されたアルファマップを符号化し、この符号化された信号をアルファマップ信号として多重化回路180に出力する機能と、このアルファマップ信号を復号して局部復号信号として出力する機能を有する。
【0056】
特に、本アルファマップ符号化回路200は、入力されたアルファマップを符号化するにあたり、与えられた縮小率(倍率)で解像度を縮小する処理を行い、この解像度縮小処理されたものを符号化すると共に、この符号化したものと縮小率の情報(倍率情報)とを多重化してこれをアルファマップ信号として多重化回路180に出力する機能を有する。そして、局部復号信号としては、解像度縮小処理されたものを元の解像度に戻す処理をして得たものを用いる構成である。
【0057】
差分回路100は、動き補償予測回路110より供給される動き補償予測信号と入力画像信号との差分信号を算出するものであり、直交変換回路120は、差分回路100から供給された差分信号を、アルファマップの情報にしたがって、直交変換係数に変換して出力するものである。
【0058】
量子化回路130はこの直交変換回路120により得られた直交変換係数を量子化する回路であり、可変長符号化回路140はこの量子化回路130の出力を符号化して出力するものである。多重化回路180はこの可変長符号化回路140により符号化されたものと、前記アルファマップ信号とを、動きベクトル情報等のサイド情報と共に多重化多重化してビットストリームとして出力するものである。
【0059】
逆量子化回路150は量子化回路130の出力を逆量子化するものであり、逆直交変換回路160はこの逆量子化回路150の出力を前記アルファマップに基いて逆直交変換するものであり、加算回路170はこの逆直交変換回路160の出力と動き補償予測回路110から与えられる予測信号(動き補償予測信号)とを加算して差分回路100に出力するものである。
【0060】
動き補償予測回路110は、フレームメモリを有し、アルファマップ復号化回路200から与えられる局部復号信号にもとづいて動作してオブジェクト領域の信号、背景領域の信号を蓄積する機能を有する。また、動き補償予測回路110は蓄積したオブジェクト領域の画像から動き補償値を予測して予測値として出力し、また、蓄積した背景領域の画像から動き補償値を予測して予測値として出力する機能を有する。
【0061】
このような構成の本装置の作用を説明する。本装置には、画像信号とその画像信号のアルファマップが入力される。
【0062】
そして、これらのうち、画像信号はフレーム毎にそれぞれ所定画素サイズ(例えば、M×N画素(M:水平方向の画素数、N:垂直方向の画素数))のブロックに分割された後、ブロック位置順に信号線10を介して差分回路100に供給される。そして、差分回路100では、この入力(画像信号)と、予測信号(オブジェクト予測回路110からの動き補償予測信号の出力)との差分信号が算出され、直交変換回路120に供給される。
【0063】
直交変換回路120では、供給された差分信号を、信号線40を介してアルファマップ符号化回路200から供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そして、ここで量子化される。量子化回路130にて量子化されて得られた変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。
【0064】
逆量子化回路150に供給された変換係数は、ここで逆量子化された後、逆直交変換回路160において逆変換される。そして、加算回路170において動き補償予測回路110より供給される動き補償予測値と加算され、局部復号画像として出力されて、再び動き補償予測回路110に入力される。
【0065】
そして、この加算回路170の出力である局部復号画像は、動き補償予測回路110内のフレームメモリに蓄えられる。
【0066】
一方、この動き補償予測回路110は、アルファマップ復号化回路200から与えられる局部復号信号に基づいてオブジェクトの領域のブロックの処理のタイミングでは“オブジェクトの動き補償予測値”を、また、それ以外のタイミングでは“背景部分の動き補償予測値”を出力して差分回路100に与える。
【0067】
すなわち、動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、オブジェクトのブロック対応部分の画像信号が差分回路100に入力されているのか、あるいは背景部分のブロック対応部分の画像信号が差分回路100に入力されているのかを知り、オブジェクトのブロック対応部分の画像信号の入力期間中であれば、オブジェクトの動き補償予測信号を、そして、背景部分のブロック対応部分の画像信号入力期間中であれば、背景の動き補償予測信号を、差分回路100に与える。
【0068】
差分回路100では、この入力された画像信号と、その画像の領域対応の予測信号との差を算出するので、その結果、入力画像がオブジェクト対応の領域のものであれば、そのオブジェクトの対応位置での予測値との差分信号が、また、入力画像が背景の領域のものであれば、その背景位置対応の予測値との差分信号が算出され、直交変換回路120に供給される。
【0069】
直交変換回路120では、供給された差分信号を信号線40を介して供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そして、直交変換係数はこの量子化回路130にて量子化される。
【0070】
量子化回路130にて量子化された変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。そして、逆量子化回路150に供給された変換係数はここで逆量子化された後、逆直交変換回路160において逆変換されて加算回路170に供給される。そして、予測値切り換え回路500を介して加算回路170に供給される予測値と加算されることになる。
【0071】
加算回路170の出力である局部復号画像の信号は、動き補償予測回路110に供給される。そして、この動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、加算回路170からオブジェクトのブロック対応の信号が出力されているのか、あるいは背景部分のブロック対応の信号が出力されているのかを知り、その結果、オブジェクトのブロック対応の信号の出力中であれば、オブジェクト用のフレームメモリに、また、背景部分のブロック対応の信号の出力中であれば、背景用のメモリに与えるべく動作して対応のメモリに蓄える。
【0072】
そして、これにより、オブジェクト用のフレームメモリにはオブジェクト画像のみが、また、背景用のメモリには背景画像のみの画像が得られることになる。これにより、動き補償予測回路110はオブジェクト画像を利用してオブジェクト画像の予測値を求めることができ、また、背景部分の画像を利用して背景画像の予測値を求めることができる。
【0073】
上述したように、アルファマップ符号化回路200では、入力されるアルファマップを符号化し、この符号化されたアルファマップ信号を信号線30を介して多重化回路180に供給している。
【0074】
また、多重化回路180には、可変長符号化回路140から出力された変換係数が線40を介して供給されている。そして、多重化回路180は供給されているこれらアルファマップ信号および変換係数の符号化値とを、動きベクトル情報等のサイド情報と共に多重化した後、信号線50を介して出力して本画像符号化装置の最終出力としての符号化ビットストリームとなる。
【0075】
以上が符号化装置の構成と作用であり、画像の誤差信号を得るにあたって、オブジェクト用および背景用の画像により動き補償予測を行うべく、アルファマップにしたがって処理中の画像の現在ブロック位置がオブジェクト領域位置であるのか、背景領域位置であるのかを判別しながら、処理中の画像の現在ブロック位置がオブジェクト領域位置であればオブジェクト用の画像から求めた予測値を用い、背景領域位置であれば背景用の画像から求めた予測値を用いて差分を求めるようにした。
【0076】
そして、オブジェクト用および背景用の予測には動き補償予測回路に、この差分から得た画像について、アルファマップにしたがってそれぞれ対応の領域部分の画像を保持させ、予測に供するようにした。これにより、オブジェクトおよび背景それぞれで最適な動き補償予測を行うことができるようになり、質の良い画像圧縮符号化と復号化を可能にする。
【0077】
一方、図2は本発明が用いられる復号化装置のブロック図である。復号化装置は、図2に示すように、分離化回路300、可変長復号化回路310、逆量子化回路320、逆直交変換回路330、加算回路340、動き補償予測回路350、アルファマップ復号化回路400とより構成される。
【0078】
分離化回路300は入力される符号化ビットストリームを分離化処理してアルファマップ信号と画像の符号化信号等を得る回路であり、アルファマップ復号化回路400はこの分離化回路300にて分離されたアルファマップ信号を復号してアルファマップを再生する回路である。
【0079】
可変長復号化回路310は、分離化回路300にて分離された画像の符号化信号を復号するものであり、逆量子化回路320はこの復号されたものを逆量子化して元の係数に戻すものであり、逆直交変換回路330はこの係数をアルファマップにしたがって逆直交変換して予測誤差信号に戻すものであり、加算回路340は、この予測誤差信号に動き補償予測回路350からの動き補償予測値を加算して再生画像信号として出力するものである。この再生画像信号が復号化装置の最終出力となる。
【0080】
動き補償予測回路350は、加算回路340から出力された再生画像信号をアルファマップにしたがってフレームメモリに蓄積することによりオブジェクト画像と背景画像とを得ると共に、この蓄積されて得られた画像からオブジェクトの動き補償予測信号、背景の動き補償予測を得るものである。
【0081】
このような構成の復号化装置においては、符号化ビットストリームは、線70を介して分離化回路300に供給され、分離化回路300において各々の情報毎に分離されることにより、アルファマップ信号に関する符号と、画像信号の可変長符号とに分けられる。
【0082】
そして、アルファマップ信号に関する符号は、信号線80を介してアルファマップ復号化回路400に供給され、また、画像信号の可変長符号は可変長復号化回路310にそれぞれ供給される。
【0083】
アルファマップ信号に関する符号はアルファマップ復号化回路400においてアルファマップ信号に再生され、信号線90を介して逆直交変換回路330と動き補償予測回路350に出力される。
【0084】
一方、可変長復号化回路310では、分離化回路300から供給される符号を復号し、逆量子化回路320に供給して、ここで逆量子化する。逆量子化された変換係数は、線90を介して供給されるアルファマップにしたがって逆直交変換回路330により逆変換され、加算回路340に供給される。加算回路340では、逆直交変換回路330からの逆直交変換された信号と、動き補償予測回路350より供給される動き補償予測信号とを加算し、再生画像を得る。
【0085】
以上が本発明を適用する画像符号化装置および画像復号化装置の概要である。 本発明は、図1に示す符号化装置の構成要素であるアルファマップ符号化回路200および図2に示す復号化装置の構成要素であるアルファマップ復号化回路400に関わるものであり、具体的な実施形態を示すものである。
【0086】
本発明の要部詳細の説明に入る前に、先行技術としてのアルファマップ符号化回路200に触れておく。図3は、先行技術(特願平8−237053号)におけるアルファマップ符号化回路200の構成を示すブロック図である。図に示すように、先行技術におけるアルファマップ符号化回路200は、解像度変換回路(縮小回路)210、(拡大回路)230、2値画像符号化回路(block-based MMR encoder )220、多重化回路240とから構成されている。
【0087】
これらのうち、解像度変換回路210は解像度縮小変換用の変換回路であり、与えられる拡大率に従った縮小率でアルファマップを符号化し、また、解像度変換回路230は解像度縮拡大変換用の変換回路であって、与えられる拡大率に従った拡大率でアルファマップを符号化する機能を有する。
【0088】
解像度変換回路230は解像度変換回路210が解像度縮小変換したものを元のサイズに戻すために設けてあり、この解像度変換回路230により元のサイズに戻されたアルファマップが、信号線40を介して直交変換回路120,逆直交変換回路160に与えられるアルファマップ局部復号信号となる。
【0089】
2値画像符号化回路220は解像度変換回路210の出力する解像度縮小変換されたアルファマップ信号を2値画像符号化して出力するものであり、多重化回路240は2値画像符号化出力と前記信号線60を介して与えられる拡大率の情報とを多重化して出力するものである。
【0090】
このような構成のアルファマップ符号化回路200においては、アルファマップ信号入力線20を介して入力されるアルファマップを、解像度変換回路210により指定の拡大率で縮小符号化し、この符号化されたアルファマップ信号を信号線30を介して出力し、また、縮小符号化されたアルファマップ信号を解像度変換回路230により元の解像度に復号して得た局部復号信号を信号線40を介して直交変換回路120,逆直交変換回路160に出力する。
【0091】
すなわち、信号線60を介してアルファマップ符号化回路200に所望とする縮小・拡大率の設定情報を供給することで、上記トレードオフを図ることが可能となる。
【0092】
信号線60を介して供給された縮小・拡大率の設定情報信号は、解像度変換回路210,230、2値画像符号化回路220に供給され、アルファマップ信号の発生符号量を制御することが可能となる。また、信号線60を介して供給された縮小・拡大率の符号(設定情報信号)は、多重化回路240にて、符号化されたアルファマップ信号と多重化され、信号線30を介して出力され、アルファマップの符号化信号として画像符号化装置の最終出力段である多重化回路180に与えられることになる。
【0093】
次に先行技術としてのアルファマップ復号化回路400に触れておく。図4は先行技術(特願平8−237053号)における具体的なアルファマップ復号化回路400である。
【0094】
図に示すように、アルファマップ復号化回路400は、2値画像復号化回路410(block-based MMR decoder )、解像度変換回路420、分離化回路430にて構成される。
【0095】
分離化回路430は、図2に示す画像復号化装置内の分離化回路300で分離されて当該アルファマップ復号化回路400に入力されたアルファマップ信号からアルファマップ信号の符号と縮小・拡大率の符号(縮小・拡大率の設定情報信号)に分離する回路であり、2値画像復号化回路410はアルファマップ信号の符号を、分離化回路430から分離して与えられる縮小・拡大率の符号にしたがって2値画像に戻す回路であり、解像度変換回路420はこの2値画像を、分離化回路430から分離して与えられる縮小・拡大率の符号にしたがって解像度拡大変換して出力するものである。
【0096】
図4において、信号線80を介してアルファマップ復号化回路400に供給された符号は、分離化回路430によりアルファマップ信号の符号と縮小・拡大率の符号に分離され、各々信号線81および信号線82を介して出力される。
【0097】
2値画像復号化回路410では、信号線81を介して供給されるアルファマップ信号の符号と信号線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を再生し、信号線83を介して解像度変換回路420に供給する。解像度変換回路420では、信号線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を元のサイズに拡大してアルファマップ信号を再生した後、信号線90を介して出力する。
【0098】
以上が、本発明を適用する前提となる符号化回路および復号化回路の概要である。
【0099】
次に、このような符号化回路および復号化回路に適用する本発明の詳細を説明する。はじめに、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化するにあたり、出現頻度の多いシンボルには短い符号を割り当てるように可変長符号化テーブル(VLCテーブル)を作っておくことにより、総符号量を少なくする場合に、既に符号化/復号化されたアルファマップの画素パターンによって、可変長符号化テーブル(VLCテーブル)を適応的に切り替えることで、さらに符号量を削減するようにした具体例を説明する。
【0100】
(第1の具体例)
第1の具体例に示す本発明は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化し、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものである。
【0101】
本発明の第1の具体例を説明する。
【0102】
図3の2値画像符号化回路220では、図17で示した可変長符号化テーブル(VLCテーブル)を用いて、変化画素の位置を表すシンボル(Mode)が符号化される。例えば、垂直パスモードが“FALSE”で、“V0(垂直モードでr_a1−r_b1=0)”であった時には符号として“1”を出力する。あるいは、“V1(垂直モードで|r_a1−r_b1|=1)”の時は“01s” (s:r_a1−r_b1の正負によって“0”あるいは“1”)を出力し、 “EOMB(符号化終了)”の時は“0001”を出力する。
【0103】
一方、図4の2値画像復号化回路410では、符号化に利用したもの同じ図17のVLCテーブルを用いて、例えば、入力された符号が“1”である場合には“V0を再”生し、入力された符号が“0001”である場合には“EOMB”を再生する。
【0104】
この場合に、出現頻度の多いシンボルには短い符号を割り当てるように可変長符号化テーブル(VLCテーブル)を作っておけば、総符号量を少なくできる。
【0105】
本発明は、既に符号化/復号化されたアルファマップの画素パターンによって、可変長符号化テーブル(VLCテーブル)を適応的に切り替えることで、さらに符号量を削減するものである。
【0106】
<第1の具体例の符号化回路の構成>
図5は、図1のアルファマップ符号化回路200あるいは、図3の2値画像符号化回路220をより詳細に表した、本発明の一具体例を示すブロック図である。
【0107】
アルファマップ信号1は、a1検出回路2、及び符号化済みのアルファマップを保持するメモリ3に入力される。a1検出回路2では、図18等を用いて説明した変化画素a1の位置4が検出され、モード決定回路5に送られる。同時にまた、メモリ3からは参照変化画素b1の位置6がモード決定回路5に送られる。
【0108】
モード決定回路5では、図19を用いて説明したアルゴリズムにより、モードが決定され、そのモードが、符号化されるシンボル7として符号化回路8に送られる。
【0109】
メモリ3からは、符号化済みの参照変化画素b1の周囲のパターン9が、テーブル決定回路1−10に送られる。テーブル決定回路1−10では、複数の可変長符号化テーブルのうちの一つが選択されて出力される。
【0110】
ここで、例えば、図7に示すように、参照変化画素b1の上方において、右上から左下向きのエッジがある場合は、参照変化画素b1の下方にも同じエッジが直線的に延びる場合が多いので、画素x1、x2、x3の中ではx1にa1がある確率が高い。
【0111】
そこで、参照変化画素b1の上方がこのようなパターンの時には、VL1(r_a1−r_b1=−1)に短い符号を割り当てたテーブルを用いる。
【0112】
<テーブル決定方法のより詳細な具体例>
テーブル決定方法のより詳細な具体例を図8と図9に示す。ここでは、図8に示した参照変化画素b1の上2ラインのc0〜c5に着目する。これらの画素が参照変化画素b1と同じ値なら“1”、異なる値なら“0”として、図9に示したように、c0〜c5の順序で“0”と“1”を並べる。
この2進数を10進数に変換したものをコンテキスト番号と呼ぶ。
【0113】
そして、各々のコンテキスト番号に対応させて、例えば、
[コンテキスト番号=0の時]
V0 1
VL1 010
VR1 011
VL2 000010
VR2 000011
EOMB 0001
H 001
[コンテキスト番号=1の時]
V0 010
VL1 1
VR1 000010
VL2 011
VR2 000011
EOMB 0001
H 001
[コンテキスト番号=2の時]
以下省略
といったように可変長符号化テーブルを用意しておく。
【0114】
このテーブルで、
VL1は、r_a1−r_b1=−1を表し、
VL2は、r_a1−r_b1=−2、
VR1は、r_a1−r_b1=1、
VR2は、r_a1−r_b1=2を表す。
【0115】
図7はコンテキスト番号=1となるので、上のVL1が1ビットで符号化できるテーブルが選択される。
【0116】
再び図5に戻り、説明を続ける。符号化回路8ではテーブル決定回路1−10から送られてくる選択されたテーブル11を用いて符号12が決定される。そして、その決定した符号12を出力する。
【0117】
図6に、図2に示した復号化装置の構成要素としてのアルファマップ復号化回路400あるいは、図4に示した復号化装置の構成要素としての2値画像復号化回路410を、より詳細に表したブロック構成図を示す。これは、図5の具体例で生成される符号12を復号するものである。
【0118】
符号12は復号化回路13に入力される。
【0119】
メモリ14にはそれまでに復号されたアルファマップが保持されており、参照変化画素b1の周囲のパターン15がテーブル決定回路16に送られる。
【0120】
テーブル決定回路16では、複数の可変長符号化テーブルのうちの一つが選択されたテーブル17として、復号化回路13に送られる。テーブル決定のアルゴリズムは図5のテーブル決定回路1−10と同じである。
【0121】
テーブル17によって、シンボル18が復号され、a1再生回路19に送られる。a1再生回路19ではシンボル18とメモリ14から送られてくるb1の位置1−20によってa1の位置を求め、a1までのアルファマップ1−21を再生する。
【0122】
再生されたアルファマップ1−21は出力され、また、今後の復号のためにメモリ14に保持される。
【0123】
以上、第1の具体例は、複数の所定の可変長符号化テーブルを切り替えるものであるが、図10に、実際に生起したシンボルの頻度によって、テーブルをダイナミックに修正していく具体例を次に第2の具体例として示す。
【0124】
(第2の具体例)
<第2の具体例の符号化装置の構成>
以上の第1の具体例は、複数の所定の可変長符号化テーブルを切り替えるものであるが、図10に、実際に生起したシンボルの頻度によって、テーブルをダイナミックに修正していく具体例を示す。これは第1の具体例の構成である図5の構成に、カウンタ22とハフマンテーブル生成回路23を加えた構成である。
【0125】
カウンタ22にはモード決定回路5からのシンボル7と、テーブル決定回路1−10からのコンテキスト番号24が入力される。カウンタ22では、各シンボルの発生回数をコンテキスト番号別に保持する。
【0126】
そして、一定の時間が経過した後にコンテキスト番号別に各シンボルの発生回数25がハフマンテーブル生成回路23に送られる。
【0127】
ハフマンテーブル生成回路23では、ハフマン符号化(藤田「基礎情報理論」(昭晃堂)pp.52−53、1987年)によって符号化テーブル26が
生成される。そのテーブル26がテーブル決定回路1−10に送られて、該当するコンテキスト番号のテーブルがテーブル26で置き換えられる。このハフマンテーブルの生成と置き換えを全てのコンテキスト番号について行う。
【0128】
<第2の具体例の復号化装置の構成>
図10の具体例で生成される符号を復号するための復号化装置を図11に示す。図11に示す第1の具体例としての復号化装置も、やはり、図6ににカウンタ27とハフマンテーブル生成回路28を加えた構成である。
【0129】
カウンタ27とハフマンテーブル生成回路28の動作は図10と同じである。 以上述べたように、第1および第2の具体例は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化することにより符号量を少なくするようにした符号化/復号化において、複数種の可変長符号化テーブルを用意しておき、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものであり、このような本発明によれば、アルファマップの符号量をいっそう低減できる効果が得られる。
【0130】
次に、相対アドレス符号化の参照変化画素を、M×N画素(M:水平方向の画素数、N:垂直方向の画素数)構成のブロック内の画素値からでなく、動き補償予測信号から求めるようにした具体例を第3の具体例として説明する。
【0131】
(第3の具体例)
第3の具体例は、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からだけでなく、動き補償予測信号からも求められることを特徴とするものである。
【0132】
図12は、第3の具体例としてのアルファマップ符号化回路を説明するブロック図である。また、図13は、第3の具体例としてのアルファマップ復号化回路を説明するブロック図である。
【0133】
図12、図13および図14を用いて本発明のアルファマップ符号化回路200およびアルファマップ復号化回路400を説明する。
【0134】
第3の具体例においては、図3に示すアルファマップ符号化回路200を、図12の如く構成し、また、図4に示すアルファマップ復号化回路400を、図13の如く構成する。
【0135】
図12に示すように、本具体例のアルファマップ符号化回路200は、解像度変換回路(縮小処理用回路)210、解像度変換回路(拡大処理用回路)230、2値画像符号化回路(block-based MMR encoder )220、多重化回路240、そして、さらに動き補償予測回路250および縮小回路260とから構成されている。
【0136】
これらのうち、解像度変換回路210は解像度縮小変換用の変換回路であり、与えられる縮小・拡大率の設定情報信号に従った縮小率でアルファマップを符号化し、また、解像度変換回路230は解像度縮拡大変換用の変換回路であって、与えられる拡大率に従った拡大率でアルファマップを符号化する機能を有する。
【0137】
解像度変換回路230は解像度変換回路210が解像度縮小変換したものを元のサイズに戻すために設けてあり、この解像度変換回路230により元のサイズに戻されたアルファマップが、信号線40を介して直交変換回路120,逆直交変換回路160に与えられるアルファマップ局部復号信号となる。
【0138】
2値画像符号化回路220は、解像度変換回路210の出力する解像度縮小変換されたアルファマップ信号を2値画像符号化して出力するものであって、詳細は後述するが、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化するものである。また、多重化回路240は2値画像符号化出力と前記与えられる拡大率の情報とを多重化して出力するものである。
【0139】
第3の具体例における符号化回路の構成は、動き補償予測回路250および縮小処理用の解像度変換回路260を備えている点が、上述した先行技術の構成(図3の回路)と異なるものであり、動き補償予測回路250には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されていて、拡大回路230より供給される再生信号が蓄えることができる構成であると共に、更に、動き補償予測回路250には、動きベクトル信号(図示せず)が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線41を介して縮小処理用の解像度変換回路260に供給する構成としてある。
【0140】
縮小処理用の解像度変換回路260は、信号線41を介して供給される動き補償予測回路250からの動き補償信号を、信号線60を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線42を介して2値画像符号化回路220に出力する。
【0141】
なお、2値画像符号化回路220として構成する場合では、信号線21を介して供給される解像度変換回路210からの解像度縮小変換されたアルファマップ信号を2値画像符号化して出力する。
【0142】
このような構成のアルファマップ符号化回路200においては、信号線60を介して供給される縮小・拡大率の設定情報信号は、解像度変換回路210,230,260、および2値画像符号化回路220に供給され、アルファマップ信号の発生符号量を制御することを可能とする。また、信号線60を介して供給された縮小・拡大率の符号(設定情報信号)は、多重化回路240にて、符号化されたアルファマップ信号と多重化され、信号線30を介して出力され、アルファマップの符号化信号として画像符号化装置の最終出力段である図1の多重化回路180に与えられることになる。
【0143】
本装置では、アルファマップ信号入力線20を介して入力されるアルファマップを、信号線60を介して与えられる所望の縮小・拡大率の設定情報に従って解像度変換回路210は縮小符号化し、2値画像符号化回路220に与える。
【0144】
2値画像符号化回路220は、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化し、2値画像符号化出力として多重化回路240と解像度変換回路230とに与える。そして、多重化回路240はこの2値画像符号化出力である符号化されたアルファマップ信号と、前記信号線60を介して与えられる拡大率の情報とを多重化して信号線30に出力する。
【0145】
一方、解像度変換回路230では、この2値画像符号化回路220から与えられたこの縮小符号化されたアルファマップ信号(2値画像符号化出力)を、信号線60を介して得た縮小・拡大率の設定情報信号に従って元の解像度に復号し、局部復号信号として得て、この得た局部復号信号を信号線40を介して動き補償予測回路250および図1の直交変換回路120,逆直交変換回路160に出力する。
【0146】
一方、動き補償予測回路250には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大処理用の解像度変換回路230より供給される再生信号が蓄えられる。そして、動き補償予測回路250は、別途供給される動きベクトル信号にしたがってアルファマップの動き補償予測信号を生成し、信号線41を介して縮小処理用の解像度変換回路260に供給する。解像度変換回路260はこの供給された動き補償予測信号を、信号線60を介して得た縮小・拡大率の設定情報信号に従って解像度縮小変換し、2値画像符号化回路220に与える。
【0147】
2値画像符号化回路220は、縮小処理用の解像度変換回路260から与えられた解像度縮小変換されたアルファマップの動き補償予測信号を利用し、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を符号化する。
【0148】
以上が、第3の具体例のアルファマップ符号化回路の概要である。アルファマップ復号化回路は次のようになる。
【0149】
図13に示すように、本具体例のアルファマップ復号化回路400は、2値画像復号化回路410(block-based MMR decoder )、解像度変換回路(拡大処理用回路)420、分離化回路430、そして、さらに動き補償予測回路440、および解像度変換回路(縮小処理用回路)450にて構成されている。
【0150】
これらのうち、分離化回路430は、図2に示す画像復号化装置内の分離化回路300で分離され、当該アルファマップ復号化回路400に入力されたアルファマップ信号からアルファマップ信号の符号と縮小・拡大率の符号に分離する回路であり、2値画像復号化回路410はアルファマップ信号の符号を、分離化回路430から分離して与えられる縮小・拡大率の符号(縮小・拡大率の設定情報信号)にしたがって2値画像に戻す回路であり、詳細は後述するが、縮小処理用の解像度変換回路450から信号線92にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して復号化するものである。
【0151】
拡大処理用の解像度変換回路420はこの2値画像復号化回路410からのアルファマップ信号の符号である2値画像を、分離化回路430から分離して与えられる縮小・拡大率の符号(縮小・拡大率の設定情報信号)にしたがって解像度拡大変換して出力するものである。
【0152】
第3の具体例における復号化回路の構成は、動き補償予測回路440および縮小処理用の解像度変換回路450を備えている点が、上述した先行技術の構成 (図4の回路)と異なるものである。そして、動き補償予測回路440は、先に符号化されたフレームの再生画像を蓄積するフレームメモリを有しており、拡大処理用の解像度変換回路420より供給される再生信号を蓄えると共に、動きベクトル信号(図示せず)が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線91を介して縮小処理用の解像度変換回路450に供給する構成となっている。
【0153】
解像度変換回路450はこの動き補償予測信号を、信号線82を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線92を介して2値画像復号化回路410に出力する。
【0154】
このような構成のアルファマップ復号化回路400においては、信号線80を介してアルファマップ復号化回路400に供給された符号は、分離化回路430によりアルファマップ信号の符号と縮小・拡大率の符号に分離され、各々信号線81および信号線82を介して出力される。
【0155】
2値画像復号化回路410では、詳細は後述するが、縮小処理用の解像度変換回路450から信号線92にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用し、信号線81を介して供給されるアルファマップ信号の符号と信号線82を介して供給される縮小・拡大率の符号(縮小・拡大率の設定情報信号)に従って2値画像に戻す復号化処理を施すことにより、縮小されているアルファマップ信号を再生し、信号線83を介して解像度変換回路420に供給する。
【0156】
解像度変換回路420では、2値画像復号化回路410の再生した縮小されているアルファマップ信号を、信号線82を介して供給される縮小・拡大率の符号に基づいて元のサイズに拡大してアルファマップ信号を再生した後、信号線90を介して出力する。
【0157】
2値画像符号化回路220は、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化し、2値画像符号化出力として多重化回路240と解像度変換回路230とに与える。そして、多重化回路240はこの2値画像符号化出力である符号化されたアルファマップ信号と、前記信号線60を介して与えられる拡大率の情報とを多重化して信号線30に出力する。
【0158】
一方、解像度変換回路420では、この2値画像復号化回路410から与えられたこの縮小符号化されたアルファマップ信号(2値画像符号化出力)を、信号線82を介して得た縮小・拡大率の設定情報信号に従って元の解像度に復号し、局部復号信号として得て、この得た局部復号信号を動き補償予測回路440に出力する。
【0159】
一方、動き補償予測回路440には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大処理用の解像度変換回路420より供給される再生信号が蓄えられる。そして、動き補償予測回路420は、別途供給される動きベクトル信号にしたがってアルファマップの動き補償予測信号を生成し、信号線91を介して縮小処理用の解像度変換回路450に供給する。解像度変換回路450はこの供給された動き補償予測信号を、信号線82を介して得た縮小・拡大率の設定情報信号に従って解像度縮小変換し、2値画像復号化回路410に与える。
【0160】
2値画像復号化回路410は、縮小処理用の解像度変換回路450から与えられた解像度縮小変換されたアルファマップの動き補償予測信号を利用し、分離化回路430からの縮小・拡大率の設定情報信号に従って、分離化回路430からのアルファマップ信号を復号化する。
【0161】
以上が、本発明を適用した復号化回路の概要である。
【0162】
既に説明しているように、本発明を適用した第3の具体例における符号化回路の構成は、動き補償予測回路250および縮小回路260を備えている点が先行技術の構成(図3の回路)と異なり、また、復号化回路の構成は、動き補償予測回路440および縮小回路450を備えている点が先行技術の構成(図4の回路)と異なる。
【0163】
動き補償予測回路250または440には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大回路230または420より供給される再生信号が蓄えられる。更に、動き補償予測回路250または440には、ここには図示していない動きベクトル信号が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線41および信号線91を介して縮小回路260または450に供給する。
【0164】
ここで、動きベクトル信号は、図1および図2の装置に具備されている、動き補償予測回路110または350で用いられる動きベクトル信号を利用しても良いし、アルファマップ符号化回路200において、アルファマップ用の動きベクトル検出回路を具備することにより、アルファマップ用の動きベクトル信号を求めても良い。
【0165】
すなわち、動き補償予測回路250または440に供給される動きベクトル信号の求め方は種々知られており、本発明に関わるものではないため、ここではこれ以上言及しない。
【0166】
縮小回路260または450においては、信号線41および信号線91を介して供給される動き補償信号を、信号線60および信号線82を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線42および信号線92を介して出力する。
【0167】
なお、2値画像符号化回路220として構成する場合では、信号線21を介して供給される解像度縮小変換されたアルファマップ信号を2値画像符号化して出力する。
【0168】
ここで、本具体例にかかる2値画像符号化回路220が上述した先行技術と根本的に異なる点は、信号線42を介して供給される、解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化する機能を具備していることである。
このことについて、詳しく説明する。
【0169】
図14は、動き補償予測信号を利用して符号化する方法を説明する図であり、フレーム画像単位の画像における分割されたN×M画素構成の画像ブロックのうちの一つを示している。
【0170】
図14において、“current block ”は処理対象ブロックであり、入力された現在の処理画像のブロックである。また、“compensated block ”は補償ブロックであり、前回処理対象となった画像のブロックである。
【0171】
本発明の適用前提となる先行技術では、現在の処理対象画像のブロックに対応するアルファマップの該当ブロック上での参照変化画素b1を変化画素a0、a1と同じ“current block ”内で検出していた。
【0172】
一方、本発明では、参照変化画素b1を動き補償予測信号である“compensated block ”内から検出しており、この点が新しい概念である。すなわち、現在の処理対象画像のブロックに対応するアルファマップの該当ブロック上での参照変化画素b1を、動き補償予測信号である“compensated block ”内から検出している。
【0173】
なお、本発明は、参照変化画素b1の検出手段が異なるだけで、a0 、a1およびb1の相対アドレスを用いて符号化・復号化を行う点は、先行技術と同一である。
【0174】
図14において、a0 は起点変化画素であり、すでに起点変化画素a0 までは符号化が済んでいる。また、a1 は、起点変化画素a0 の次の変化画素であり、b0 は、“ compensated block”内において、a0 と同じ位置の画素(変化画素とは限らない)である。また、a0 (b0 )が属するラインを“a0 - line”と表記すると、参照変化画素b1は次のように定義される。
【0175】
ここで、abs_Xをブロック左上の画素からブロック内をラスタ順にスキャンした際の、画素Xのアドレスとする。なお、ブロック左上の画素のアドレスは“0”とする。
【0176】
abs_b0 <abs_b1 であり、符号“×”を付して示す画素は変化画素であって、変化画素×が“a0 - line”上にある場合には、“a0 ”と反対色の最初の変加画素を参照変化画素b1とし、変化画素が“a0 - line”上にない場合は、該ライン上の最初の変加画素を参照変化画素b1 とする。
【0177】
図14(a)は変化画素が“a0_line”上にない場合であり、この場合、次のラインの最初の変化画素を“b1 ”としている。
【0178】
また、図14(b)は、変化画素が“a0 - line”上にある場合であるが、この変化画素×は、“a”と反対色ではないので“b1”とはせずに、次のラインの最初の変化画素を“b1”としている。
【0179】
なお、“a0 - line”および“r_ai (i=0 〜1)”、“r_b1 ”の値は、以下の式で求められる。
【0180】
a0 - line= (int)((abs- a0 +WIDTH)/WIDTH)−1
r- a0 = abs - a0 − a0 - line*WIDTH
r- a1 = abs - a1 − a0 - line*WIDTH
r- b1 = abs - b1 − a0 - line*WIDTH
上記式において、*は乗算を、また、(int)(X) はXの小数点以下切り捨てを意味しており、WIDTH はブロックの水平方向の画素数を示している。
【0181】
本発明では、参照変化画素b1の定義が先行技術とは変わったため、“r_ b1 ”の定義も、上式のように変更される。
【0182】
図14を用いて説明した例は、“ compensated block”内から参照変化画素b1を求める手段の一例であり、参照変化画素b1の検出については種々変形が可能である。
【0183】
また、2値画像復号化回路においては、信号線92を介して供給される解像度縮小変換されたアルファマップの動き補償予測信号(“ compensated block”)を利用して、2値画像符号化回路220と同一の手順で参照変化画素b1を検出する。
【0184】
更に、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、たとえばブロック単位で切り替えるようにすることもできる。この際、2値画像符号化回路220では切り替え用の情報も併せて符号化し、2値画像復号化回路410では当該切り替え用の情報も復号化して、復号化処理の際には当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、たとえばブロック単位で切り替えるようにする。
【0185】
このようにすると、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
【0186】
また、先行技術と同様、スキャン順序を切り替える手段を具備して図15(a)に示すように、スキャン順序を横方向スキャンに切り替えたり、図15(b)に示すように、縦方向スキャンに切り替えるようにすることで、変化画素の数が減り、更に符号量が削減されて、これも一層、効率の良い符号化につながる。
【0187】
以上、第3の具体例は、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置における、オブジェクトの形状を表すアルファマップを符号化する符号化回路であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割する手段と、この分割されて得られた上記ブロックを、前記方形領域内において一定規則により順次、符号化する手段とを有し、ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置において、
ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
【0188】
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
【0189】
これにより、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようになる。
【0190】
また、ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、前記再生値蓄積手段の蓄積再生値の情報を参照し、ブロック近傍の再生値も含めて変化画素を検出する手段と、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段とを有し、相対アドレス符号化情報を、切り替え情報と共に符号化するものである。
【0191】
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段を有し、切り替え情報にしたがって参照変化画素を求めるようにしたものである。
【0192】
この場合、相対アドレス符号化にあたり、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えて処理することができ、符号化側ではこの切り替え用の情報も併せて符号化し、復号化側ではこれを復号化して、符号化されたアルファマップの復号化処理の際に当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えるようにすることができ、このようにすることによって、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
【0193】
以上、本発明によれば、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようにした画像符号化装置および画像復号化装置が得られる。
【0194】
以上の具体例は、アルファマップ符号化回路200の構成において、MMR(Modified Modified READ)符号化を用いた場合の例を説明したものであった。しかし、本発明はMMR符号化に限定されるものではなく、他の任意の2値画像符号化回路を用いても実現可能である。そこで、そのような例を以下説明する。
【0195】
(第4の具体例)
図21、図22および図20を用いてアルファマップ符号化回路200およびアルファマップ復号化回路400の具体的な構成を説明する。
【0196】
図20は、アルファマップの画面内を例えば、16×16画素といった所定の複数画素構成によるマクロブロック(MB)単位に分割した図であり、正方形の升目で示したものが分割の境界線であって、升目一つ一つがマクロブロック(MB)である。
【0197】
2値で表現されたアルファマップの場合(オブジェクトを合成する際の重み係数も含めて多値で表現される場合もある)、オブジェクトの形状情報は画素毎に白か黒かのいずれかで表される。従って、図20に示されるように、アルファマップの画面における各マクロブロック(MB)の中身の状態は、“allW”(全て白)、“allB”(全て黒)、“Multi”(その他)の3種類のいずれかに分類される。
【0198】
人物像のアルファマップである図20のような画面の場合、背景は“白”、人物部分は“黒”であるから、“Multi”に分類されるオブジェクトの境界部分が含まれるマクロブロック(MB)のみ、2値画像符号化すればよい。また、“Multi”に分類されるブロック(MB)の中でも、動き補償予測誤差値が設定値(しきい値)以下の場合には、該ブロック(MB)を動き補償予測値でコピーする。このように、コピーされるマクロブロック(MB)のモードを“copy”、2値面像符号化されるマクロブロック(MB)のモードを“coded”と表記すると、該マクロブロック(MB)の符号化モードは次の4通りとなる。
【0199】
(1)“allW”
(2)“allB”
(3)“copy”
(4)“coded”
それぞれのモードの符号化法あるいは復号化法については、アルファマップ符号化回路200、アルファマップ復号化回路400の中で説明する。
【0200】
<第4の具体例におけるアルファマップ符号化回路の構成例>
図21は、アルファマップ符号化回路200の詳細な構成図である。図21の構成においては、モード判定回路1100、CR(縮小・拡大率)判定回路1110、セレクタ1200、ブロック内画素値設定回路1400,1500、動き補償予測回路1600、2値画像符号化回路1700、縮小回路1710,1730,1740、拡大回路1720、フレームメモリ1300、転置回路1750,1760、スキャンタイプ(ST)判定回路1770、動きベクトル検出回路(MVE)1780、MV符号化回路1790、VLC(可変長符号化)・多重化回路1800からなる。
【0201】
これらのうち、ブロック内画素値設定回路1400はマクロブロック内の画素値を全て白とする画素データを発生する回路であり、ブロック内画素値設定回路1500はマクロブロック内の画素値を全て黒とする画素データを発生する回路である。
【0202】
CR(縮小・拡大率)判定回路1110は、アルファマップ信号入力線20を介して供給されるアルファマップ信号を解析し、1フレーム分のアルファマップ画像をどの程度の縮小・拡大率で処理すべきかを判定すると共にその判定結果を縮小・拡大率情報b2として出力するものである。また、縮小回路1710はアルファマップ信号入力線20を介して供給されるアルファマップ信号をフレーム全体について、前記スキャンタイプ(ST)判定回路1770は2値画像符号化回路1700からの出力符号化出力を基にスキャン方向を判定してスキャン方向情報b4を出力するものである。
【0203】
また、転置回路1750はこのスキャンタイプ(ST)判定回路1770の出力するスキャン方向情報b4を基に、前記縮小回路1710の縮小処理した1フレーム分のアルファマップ信号について各マクロブロックの位置を、転置処理する回路であり、転置回路1760はスキャンタイプ判定回路1770の出力するスキャン方向情報b4を基に、前記縮小回路1710,1720,1730の出力を転置処理して出力する回路であり、2値画像符号化回路1700はこれらの転置回路1750、1760を介して与えられた縮小アルファマップ信号を符号化処理して出力するものである。
【0204】
また、拡大回路1720は縮小回路1710を介して与えられるアルファマップ信号を前記CR判定回路1110の出力する縮小・拡大率で拡大処理する回路であり、動き補償予測回路1600はフレームメモリ1300に蓄積されている参照フレームの再生画像を用いて動き補償予測信号を生成し、モード判定回路1100および縮小回路1740に出力するものであり、縮小回路1740は前記動き補償予測信号を前記CR判定回路1110の出力する縮小・拡大率で縮小処理する回路であり、縮小回路1730は前記フレームメモリ1300に蓄積されている参照フレームの再生画像を前記CR判定回路1110の出力する縮小・拡大率で縮小処理する回路である。
【0205】
また、セレクタ1200はモード判定回路1100の出力する分類情報に従ってブロック内画素値設定回路1400からの再生信号m0,ブロック内画素値設定回路1500からの再生信号m1,動き補償予測回路1600からの動き補償予測信号m2,拡大回路1720からの再生信号m3のうち、所要のものを選択して出力する回路であり、フレームメモリ1300はこのセレクタ1200の出力をフレーム単位で記憶するメモリである。
【0206】
また、モード判定回路1100は、動き補償予測回路1600からの動き補償予測信号と2値画像符号化回路1700からの符号化信号b4を参照して、アルファマップ信号入力線20を介して供給されるアルファマップ信号を解析し、マクロブロック毎に“allW”、“allB”、“copy”、“coded”の何れに分類されるかを判定すると共に判定結果をモード情報b0として出力するものである。
【0207】
動きベクトル検出回路(MVE)1780は、アルファマップ信号入力線20を介して供給されるアルファマップ信号から動きベクトルを検出するものであり、MV符号化回路1790は、動きベクトル検出回路(MVE)1780で検出された動きベクトルを符号化し、その符号化結果を動きベクトル情報b1として出力するものである。例えば、MV符号化回路1970に予測符号化を適用した場合にはその予測誤差信号が動きベクトル情報b1として出力されることになる。
【0208】
VLC(可変長符号化)・多重化回路1800は、モード判定回路1100からのモード情報b0およびMV符号化回路1790からの動きベクトル情報b1およびCR(縮小・拡大率)判定回路1110からの縮小・拡大率情報b2およびスキャンタイプ(ST)判定回路1770からのスキャン方向情報b3および2値画像符号化回路1700からの2値符号化情報b4を受けてこれらを可変長符号化し、多重化して信号線30へと出力するものである。
【0209】
このような構成において、符号化対象であるアルファマップ信号は、アルファマップ信号入力線20を介してアルファマップ符号化回路200に供給される。そして、これを受けたアルファマップ符号化回路200では、そのモード判定回路1100においてアルファマップ信号を解析し、マクロブロック毎に“allW”、“allB”、“copy”、“coded”の何れに分類されるかを判定する。ここで、分類の評・価基準としては、例えば、ミスマッチ画素数を用いる。
【0210】
具体的には次の通りである。
モード判定回路1100は、まず、入力されたマクロブロック内の信号を全て白に置き換えた場合のミスマッチ画素数を計算し、この数がしきい値以下となるマクロブロックを“allW”に分類する。同様に、モード判定回路1100は、マクロブロック内を全て黒に置き換えた場合“allW”に分類する。同様に、マクロブロック内を全て黒に置き換えた場合のミスマッチ画素数がしきい値以下となるマクロブロックを“allB”に分類する。
次に、モード判定回路1100は、“allW”にも“allB”にも分類されないマクロブロックに対して、信号線1010を介して供給される動き補償予測値とのミスマッチ画素数を計算し、この数がしきい値以下となるブロックを“copy”に分類する。
ここで、“allW”“allB”あるいは“copy”にも分類されなかったマクロブロックは、“coded”に分類される。
【0211】
モード判定回路1100によるこの分類情報b0は、信号線1020を介してセレクタ1200に供給され、セレクタ1200では該ブロックのモードが“allW”の場合は、ブロック内画素値設定回路1400においてブロック内画素値が全て白にされた再生信号m0を選択し、信号線40を介してフレームメモリ1300に供給し、該フレームの記憶領域に蓄えると共に、アルファマップ符号化回路200の出力として出力する。
【0212】
同様に、該マクロブロックのモードが“allB”の場合は、セレクタ1200はマクロブロック内画素値設定回路1500においてマクロブロック内画素値が全て黒にされた再生信号m1を選択し、また、該マクロブロックのモードが“copy”の場合は、信号線1010を介して供給される動き補償予測回路1600により生成された動き補償予測信号m2を選択し、また、該マクロブロックのモードが“coded”の場合には、縮小回路1710、拡大回路1720を経て供給される再生信号m3を選択して、これを信号線40を介してフレームメモリ1300に供給し、該フレームの記憶領域に蓄えると共に、アルファマップ符号化回路200の出力信号として出力する。
【0213】
また、モード判定回路1110において“coded”に分類されたマクロブロックの画素値は、縮小回路1710において縮小された後、2値画像符号化回路1700において符号化される。ここで、縮小回路1710で用いられる縮小・拡大率(CR(Conversion Ratio))の設定情報は、CR判定回路1110において求められる。例えば、縮小率を“1(縮小しない)”、“1/2(水平・垂直共に1/2)”、“1/4(水平・垂直共に1/4)”の3通りに定めた場合、CR判定回路1110では、次のステップでCR(縮小・拡大率)が求められる。
【0214】
(1) 該マクロブロックを“1/4”に縮小した際の再生信号と、該マクロブロックとのミスマッチ数を計算し、この数がしきい値以下の場合には、縮小率を“1/4”とする。
【0215】
(2) 上記(1)でミスマッチ数がしきい値よりも大きい場合には、該マクロブロックを“1/2”に縮小した際の再生信号と、該マクロブロックとのミスマッチ数を計算し、この数がしきい値以下の楊合には、縮小率を“1/2”とする。
【0216】
(3) 上記(2)でミスマッチ数がしきい値よりも大きい場合には、該マクロブロックの縮小率を“1”とする。
【0217】
このようにして求められたCR(縮小・拡大率)の値は、信号線1030を介して縮小回路1710,1730,1740、拡大回路1720および2値画像符号化回路1700に供給されると共に、VLC(可変長符号化)・多重化回路1800に供給され符号化された後、他の符号と多重化される。また、転置回路1750では、縮小回路1710より供給される、縮小された該ブロックの信号の位置が転置される(水平方向のアドレスと垂直方向のアドレスが入れ替えられる)。
【0218】
このことにより、符号化の順序を水平方向のスキャン順に行うか、垂直方向のスキャン順に行うかが切り換えられる。また、転置回路1760では、縮小回路1730により縮小された該マクロブロック近傍の再生画素値と、縮小回路1740により縮小された動き補償予測信号とで、それぞれの信号の位置が転置される。
【0219】
転置回路1750,1760において、転置処理するか否かの判定は、例えば、2値画像符号化回路1700において水平スキャンと垂直スキャンとでそれぞれ符号化を行い、信号線1040を介して出力される符号化情報b4をST(Scan Type)判定回路1770に供給することによって、このST判定回路1770が、符号量の少なくなるスキャン方向を選択することで決まる。
【0220】
2値画像符号化回路1700では、転置回路1750より供給される該マクロブロックの信号を、転置回路1760より供給される参照信号を用いて符号化する。
【0221】
なお、具体的な2値画像符号化法の一例として、上述の第3の具体例で用いた手法が挙げられるが、これに限らず、第4の具体例でのこの2値画像符号化回路1700では他の2値画像符号化を適用することができる。
【0222】
“coded”に分類されたブロックの中には、フレーム内の参照画素を用いる“intra”符号化モードと、動き補償予測信号を参照する“inter”符号化モードとがある。ここで、intra/interの切り替えは、例えば、線1040を介して供給される2値画像符号化回路1700からの符号化情報をモード判定回路1100に供給し、符号量の少なくなるモードを選択すればよい。ここで、選択された符号化モード(intra/inter)の情報は、信号線1050を介して2値画像符号化回路1700に供給される。
【0223】
以上の手段により選択された最適なモードにて符号化された、2値画像符号化回路1700の符号化情報は、信号線1040を介してVLC・多重化回路1800に供給され、他の符号と共に多重化される。また、モード判定回路1100からは最適なモードの情報が信号線1060を介してVLC・多重化回路1800に供給され、符号化された後、他の符号と共に多重化される。また、動きベクトル検出回路(MVE)1780では、最適な動きベクトルが検出される。ここで、動きベクトルの検出方法については、種々存在しており、また、動きベクトルの検出法そのものは、本発明の要部ではないため、ここでは省略する。検出された動きベクトルは、信号線1070を介して動き補償予測回路1600に供給されると共に、MV符号化回路1790にて符号化された後、VLC・多重化回路1800に供給され、符号化された後、他の符号と共に多重化される。
【0224】
多重化された符号は、信号線30を介して出力される。動き補償予測回路1600では、信号線1070を介して供給される動きベクトル信号に基づいてフレームメモリ1300に蓄積されている参照フレームの再生画像を用いて動き補償予測信号を生成し、信号線1010を介してモード判定回路1100および縮小回路1740に出力する。
【0225】
以上の処理の結果、画質の良い、しかも、高圧縮率での画像符号化をすることができる。
【0226】
次に復号化について説明する。
【0227】
<アルファマップ復号化回路の構成例>
図22は、アルファマップ復号化回路400の詳細な構成図である。
図に示すように、アルファマップ復号化回路400は、VLC(可変長符号化)・分離化回路2100、モード再生回路2200、セレクタ2300、マクロブロック内画素値設定回路2400,2500、動き補償予測回路2600、フレームメモリ2700、2値画像復号化回路2800、拡大回路2810、転置回路2820,2850、縮小回路2830,2840、2値画像復号化回路2800、動きベクトル再生回路2900より構成される。
【0228】
これらのうち、VLC(可変長符号化)・分離化回路2100は、多重化されて送られてきたアルファマップの符号化ビットストリームを復号し、モード情報b0、動きベクトル情報b1、縮小・拡大率情報b2、スキャン方向情報b3、2値画像符号化情報b4に分離する回路であり、モード再生回路2200はこの分離されたモード情報b0を受けて、“allW”,“allB”,“copy”,“coded”の4種のモードのうちのいずれのモードであるかを再生する回路である。
【0229】
2値画像復号化回路2800は前記VLC(可変長符号化)・分離化回路2100により分離された2値画像符号化情報b4を、前記分離された縮小・拡大率情報b2およびモード再生回路2200からの再生されたモード情報および転置回路2850の情報とを用いて2値画像に復号化して出力する回路であり、拡大回路2810は前記分離された縮小・拡大率情報b2の情報を用いて前記復号された2値画像を拡大処理する回路であり、転置回路2820はこの拡大処理された画像を、前記分離されたスキャン方向情報b3に従って転置処理し、再生信号m3として出力する回路である。
【0230】
また、マクロブロック内画素値設定回路2400は,マクロブロック内画素値が全て白にされた再生信号m0を発生する回路であり、マクロブロック内画素値設定回路2500は,マクロブロック内画素値が全て黒にされた再生信号m1を発生する回路である。
【0231】
動きベクトル再生回路2900は、前記VLC(可変長符号化)・分離化回路2100により分離された動きベクトル情報b1を用いてマクロブロックの動きベクトルを再生する回路であり、動き補償予測回路2600はこの再生された動きベクトルを用いてフレームメモリ2700の蓄積参照フレームを再生画像から動き補償予測値m2を生成する回路であり、縮小回路2840は前記分離された縮小・拡大率情報b2の情報を用いて前記動き補償予測値m2を縮小処理するものであり、縮小回路2830は前記分離された縮小・拡大率情報b2の情報を用いて前記フレームメモリ2700の蓄積参照フレームの画像を縮小処理するものであり、転置回路2850は前記VLC(可変長符号化)・分離化回路2100により分離されたスキャン方向情報b3を基に、縮小回路2830,2840の出力する縮小画像を転置処理して2値画像復号化回路2800に出力する回路である。
【0232】
また、セレクタ2300は、モード再生回路2200の出力するモード情報に応じて、マクロブロック内画素値設定回路2400,2500の再生信号m0,m1、動き補償予測回路2600の動き補償予測値m2、転置回路2820の再生信号m3のうち、いずれかを選択して出力するものであり、フレームメモリ2700はこのセレクタ2300の出力した画像信号をフレーム単位で保持するメモリである。
【0233】
このような構成のアルファマップ復号化回路400は、信号線80を介してアルファマップの符号化ビットストリームが供給される。そして、このビットストリームはVLD(可変長復号化)・分離化回路2100に供給される。
【0234】
すると、VLD(可変長復号化)・分離化回路2100では、このビットストリームを復号し、かつ、モード情報b0、動きベクトル情報b1、縮小・拡大率情報b2、スキャン方向情報b3、2値画像符号化情報b4に分離する。これら分離された情報はマクロブロック単位で管理される。
【0235】
そして、この分離された情報のうち、モード情報b0は、モード再生回跨2200に供給され、該マクロブロックが以下のモードの何れに属するかを分類する。
【0236】
(1)“allW”
(2)“allB”
(3)“copy”
(4)“coded”
ここで、“coded”には、図21の符号化回路の具体例で述べたとおり“intra”のモードと“inter”のモードとがある。すなわち、フレーム内の参照画素を用いるのが“intra”符号化モードであり、動き補償予測信号を参照するのが“inter”符号化モードである。
【0237】
セレクタ2300では、信号線2010を介して供給される上記の符号化モードに応じて、該マクロブロックのモードが“allW”の場合は、ブロック内画素値設定回路2400においてマクロブロック内画素値が全て白にされた再生信号m0が選択され、信号線90を介してフレームメモリ2700に供給され、該フレームメモリ2700の当該マクロブロックが属する画像フレームの記憶領域に蓄えられると共に、アルファマップ復号化回路400から復号化されたアルファマップの画像として出力される。
【0238】
同様に、該マクロブロックのモードが“allB”の場合は、マクロブロック内画素値設定回路2500において、ブロック内画素値が全て黒にされた再生信号m1が選択され、また、該ブロックのモードが“copy”の場合は、信号線2020を介して供給される動き補償予測回路2600において生成された動き補償予測信号m2が選択され、また、該ブロックのモードが゛“coded”の場合には、拡大回路2810、転置回路2820を経て供給される再生信号m3が選択され、信号線90を介してフレームメモリ2700に供給され、該フレームメモリ2700の当該マクロブロックが属する画像フレームの記憶領域に蓄えられると共に、アルファマップ復号化回路400から復号化されたアルファマップの画像として出力される。
【0239】
一方、分離された動きベクトル情報b1は、動きベクトル再生回路2900に供給され、該マクロブロックの動きベクトルが再生される。ここで、再生された動きベクトルは、信号線2030を介して動き補償予測回路2600に供給され、動き補償予測回路2600ではこの動きベクトルに基づいて、フレームメモリ2700に蓄積されている参照フレームの再生面像から動き補償予測値を生成する。そして、信号線2020を介して縮小回路2840とセレクタ2300とに出力する。
【0240】
また、分離された縮小・拡大率情報b2は、縮小回路2830および拡大回路2810に供給されると共に、2値画像復号化回路2800に供給され、スキャン方向情報b3は、転置回路2820,2850に供給される。
【0241】
そして、スキャン方向情報b3を受けた転置回路2820では、拡大回路2810より供給される、元のサイズに戻された該マクロブロックの再生信号の位置が転置される(水平方向のアドレスと垂直方向のアドレスが入れ替えられる)。また、スキャン方向情報b3を受けた転置回路2850では、縮小回路2830により縮小された該ブロック近傍の再生画素値と、縮小回路2840により縮小された動き補償予測信号とで、それぞれの信号の位置が転置される。
【0242】
縮小・拡大率情報b2を受けた2値画像復号化回路2800では、分離化回路2100により分離された該マクロブロックの2値画像符号化情報b4を、転置回路2850より供給される参照信号を用いて復号化する。
【0243】
ところで、先行技術として本発明者らが提案した特願平8−237053号の第4の具体例に記載したように、拡大回路1720,2810の出力には斜め方向の不連続性に起因する画質劣化が発生する場合があるが、この問題を解決するために拡大回路1720,2810には、斜め方向の不連続性を抑えるフィルタを備えるようにしても良い。
【0244】
なお、2値画像符号化回路1700と同様に、用いる2値画像復号化回路2800の構成は上述の第3の具体例に示した構成例に限らない。
【0245】
<複数の2値画像符号化法を切り換える具体例>
上記の具体例の中で、2値画像符号化回路1700および2値画像復号化回路2800の具体例は、上述の第3の具体例に限らないと記述した。そこで、これ以外の例を示しておく。
【0246】
別の2値画像符号化法として、例えば、マルコフモデル符号化法がある(参照:テレビジョン学会編、“画像情報圧縮”、pp.171 〜176 )。図23がマルコフモデル符号化法の一例を説明する図である。図中の画素xが符号化の対象となる着目画素であり、画素a〜fが画素xを符号化する際に参照される参照画素である。
ここで、画素a〜fは画素xを符号化する際に既に符号化が終了している画素とする。着目画素xは、参照画素a〜fの状態によって、VLC(可変長符号化)を使用する場合には可変長符号テーブルが、そして、算術符号を使用する場合には確率テーブルが、適応的に切り換えられて符号化される。
【0247】
この具体例を本発明に適用する場合、“intra”符号化は、現在処理しようとしているマクロブロック内で、着目画素より先に符号化された画素を参照画素とし、“inter”符号化は現在処理しようとしているマクロブロック内で、着目画素より先に符号化された画素だけでなく、動き補償予測誤差信号内の画素も参照画素として用いればよい。
【0248】
本具体例では、例えば、
[方式1]第3の具体例の方式(MMRに基づいた符号化方式)
と、
[方式2]マルコフモデル符号化を適応的に切り換えて符号化する方式
の両方式を備え、これらを適応的に選択して使用する形態を採用することを特徴としている。
【0249】
図24(a)は、本具体例で用いられる、2値画像符号化回路1700のブロック図である。図に示すように、2値画像符号化回路1700は、一対のセレクタ4110,4140と、一対の2値画像符号化回路から構成されている。これらのうち、セレクタ4101は入力側の選択回路であり、セレクタ4102は出力側の選択回路である。2値画像符号化回路4120は上記[方式1]で符号化する第1の2値画像符号化回路であり、2値画像符号化回路4130は上記[方式2]で符号化する第2の2値画像符号化回路である。
【0250】
2値画像符号化回路1700では、信号線4101を介して転置回路1750から供給される処理対象マクロブロックの信号を、信号線4103を介して供給される切り換え信号に応じて選択切換えするセレクタ4110,4140により、第1の2値画像符号化回路4120と第2の2値画像符号化回路4130に適応的に振り分け、この振り分けられたマクロブロックの信号を符号化する。
【0251】
符号化された情報は、信号線4102を介して出力される。なお、図24(a)では2値画像符号化回路1700に供給される信号の信号線1030,1050、転置回路1760からの信号線は、省略されている。
【0252】
ここで、信号線4103を介して供給される切り換え情報は、予め設定されたデフォルト値でも良いし、画像内容に基づいて適切な切り換え情報を求めて、サイド情報として別途符号化し、復号側に伝送するようにしてもよい。
【0253】
これにより、画像内容に基づいた最適処理が可能になり、また、アプリケーションに応じて複数の符号化方式の中から適切なものを選択して使用することも可能になる。
【0254】
同様に、図24(b)は、本具体例で用いられる2値画像復号化回路2800のブロック図である。図に示すように、2値画像復号化回路2800は一対のセレクタ4210,4240、一対の2値画像復号化回路4220,4230とから構成されている。これらのうち、セレクタ4210は入力側の選択回路であり、セレクタ4240は出力側の選択回路である。また、2値画像復号化回路4220は上記[方式1]で符号化した画像を復号化する第1の2値画像復号化回路であり、2値画像復号化回路4230は上記[方式2]符号化した画像を復号する第2の2値画像復号化回路である。
【0255】
このような構成の2値画像復号化回路2800では、信号線4201を介して供絵される処理対象マクロブロックの2値画像符号化情報b4を、信号線4203を介して供給される切り換え信号に応じてセレクタ4210,4240により、第1の2値画像復号化回路4220と第2の2値画像復号化回路4230に適応的に振り分けて復号化する。
【0256】
復号化された信号は、信号線4202を介して出力される。なお、図24(b)では2値画像復号化回路2800に対する分離化回路2100からの信号供給用の信号線,モード再生回路2200からの信号線,転置回路2850からの信号線は省略されている。
【0257】
ここで、信号線4203を介して供給される切り換え情報は、デフォルト値でも良いし、符号化されて送られてきたビットストリームから当該切換情報を得るエンコーダから送られてきた情報でも良い。
【0258】
次に縮小・拡大を行うための回路例を具体的に示す。
【0259】
<<縮小・拡大回路に関わる具体例>>
[拡大処理の例]
本発明は、符号化領域単位あるいはブロック単位(マクロブロック単位)で縮小・拡大処理を施すことでレート制御を行っている。この縮小・拡大処理に利用する技術の例として、本願発明者等が特願平8−237053号に開示した“双一次内挿”がある。この技術について触れておく。当該双一次内挿は、参考文献“尾上編:画像処理ハンドブック,p.630,昭晃堂”を基に説明すると図35の如きである。
【0260】
図35(a)において、Pexは変換後の画素位置であり、当該Pexは図35(a)のように実数画素位置を指し示す。
【0261】
そこで、入力信号の整数画素位置A,B,C,Dとの距離関係から、8つの領域に分けて図35(b)に示す論理式により、A〜Dの画素値Ia〜IdからPexの画素値Ipを求める。
【0262】
このようなものが“双一次内挿”という処理であり、A〜Dの画素値Ia〜IdからPexの画素値Ipを簡易に求めることができるものである。
【0263】
ところで、この双一次内挿処理は周囲の4画素のみを用いて処理を行っているため、広い範囲での変化が反映されず、特に斜め方向の不連続性が発生し易くなっている。この問題を解決するための一例として、拡大処理を行った後にスムーシングフィルタ処理(平滑化処理)を施す例を、先願の発明(特願平8−237053号)に提示している。
【0264】
具体的に説明する。図36は、スムーシング処理(平滑化処理)を説明するための図である。ここで、図36の(a)は元のサイズの2値画像、図36の(b)はこれを縮小して得た2値画像である。図36においては、オブジェクト領域は黒丸印で、また、バックグラウンド(背景)領域は白丸印で示してある。
【0265】
この例では、サンプリング変換(拡大・縮小変換)がなされることにより発生する斜め方向の不連続性を滑らかにするために、バックグラウンド領域の画素(白丸)一つ一つについて、それを中心にして、その上下左右の画素、つまり、隣接画素を調べ、そのうち、2画素以上がオブジェクト領域の画素(黒丸)であったときは、そのバックグラウンド領域の画素を、オブジェクト領域に含める処理を行う。
【0266】
すなわち、今、バックグラウンド領域にある一つの画素である検査対象画素が図36(b)における二重丸印で示す位置の画素である場合のように、その隣接画素に、2画素以上、オブジェクト領域の画素(黒丸)があったときは、その二重丸印で示す位置の画素(つまり、検査対象画素)を黒丸印の画素にしてオブジェクト領域の画素にする。黒丸印の画素が例えば、“1”、白丸印が“0”であるとすると、二重丸印で示す位置の画素(画素値“0”)を、画素値“1”に置き換える処理をする。このような処理により、斜め方向の不連続性を解消できるようになる。
【0267】
図37は、スムーシングフィルタ(平滑化処理フィルタ)の別の例である。図37に示される、3×3画素のマスクの中心の画素をCとして、Cに対して左上の画素をTL、右上の画素をTR、左下の画素をBL、右下の画素をBRとすると、下記の式により、画素Cのフィルタリングされた値が求められる。ここで、オブジェクトの値を“1”、背景の値を“0”で表わしている。
【数1】


【0268】
すなわち、このフィルタ演算処理は、もし画素Cが“0”であれば、画素TL,TR,BL,BRを加算した値が“2”より大きいか否かを調べ、大きい場合は画素Cの値を“1”とし、大きくない場合は画素Cを“0”とし、また、もし画素Cが“0”でなければ、画素TL,TR,BL,BRを加算した値が“2”より小さいか否かを調べ、小さい場合は画素Cの値を“1”とし、大きくない場合は画素Cを“0”とするというものである。
【0269】
このフィルタによれば、対象となる画素Cに対して斜め方向に位置する画素値の変化を考慮して画素Cの値を修正するため、斜め方向の不連続性が解消される。なお、スムーシングフィルタの構成は上記例に限ったものではなく、メディアンフィルタ等の非線形フィルタを用いても良い。
【0270】
図58(a)は、双一次内挿により水平・垂直共に2倍に拡大する処理を表す図である。図58(a)において、縮小ブロックの画素は白丸印すなわち“O”印で表され、内挿される画素はバツ印すなわち、“×”印で表されており、それぞれの画素値は“0”あるいは“1”の何れかである。
【0271】
この場合、図35(b)の論理式で内挿される画素(再生画素)の値を求めると、
Ip1=Ia,Ip2=Ib,Ip3=Ic,Ip4=Id
となる。
従って、画素Aの周りの4つの内挿画素の画素値は全てIaとなるために、拡大画像は2×2画素が同じ値となり、滑らかさが失われる。そこで、双一次内挿の重み付けを以下の様に変更することで、上記の問題は解決される。
【0272】
Ip1:if(2*Ia +Ib +Ic +Id >2)then“1”else“0”
Ip2:if(Ia +2*Ib +Ic +Id >2)then“1”else“0”
Ip3:if(Ia +Ib +2*Ic+Id >2)then“1”else“0”
Ip4:if(Ia +Ib +Ic +2*Id >2)then“1”else“0”
ここで、Pi(i=1,2,3,4)は、図58(a)に示される“×”位置に対応した内挿される画素であり、Ipi(i=l,2,3,4)は画素Pi(i=1,2,3,4)の画素値(“1”または“0”)である。また、A,B,C,Dは縮小ブロックの画素、Ia ,Ib ,Ic ,Id はこれら画素A,B,C,Dの画素値である。
【0273】
『Ip1:if(2*Ia +Ib +Ic +Id >2)then“1”else“0”』の意味は、画素p1の画素値Ip1は、もし、Ia の2倍値と、Ibと、Ic と、Id との和が2より大きければ“1”とし、そうでなければ“0”とするということを示しており、
『Ip2:if(Ia +2*Ib +Ic +Id >2)then“1”else“0”』の意味は、
画素p2の画素値Ip2は、もし、Ib の2倍値と、Ia と、Ic と、Id との和が2より大きければ、“1”とし、そうでなければ“0”とすると云うことを示しており、
『Ip3:if(Ia +Ib +2*Ic+Id >2)then“1”else“0”』の意味は、
画素p3の画素値Ip3は、もし、Ic の2倍値と、Ia と、Ib と、Id との和が2より大きければ、“1”とし、そうでなければ“0”とすると云うことを示しており、
『Ip4:if(Ia +Ib +Ic +2*Id >2)then“1”else“0”』の意味は、
画素p4の画素値Ip4は、もし、Id の2倍値と、Ia と、Ib と、Ic との和が2以上ならば、“1”とし、そうでなければ“0”とすると云うことを示している。
なお、水平・垂直共に4倍に拡大する場合は、上記の処理を2回繰り返せばよい。
【0274】
以上は、演算により拡大処理する例であるが、演算によらずとも拡大処理することはできる。その例を次に説明する。
【0275】
<演算によらない拡大処理の例>
ここでは、テーブルを用意してこれをメモリに保持させ、このテーブルに従って一義的に画素を置き換えるようにするものである。
【0276】
具体的に説明する。まず、例えばメモリのアドレスを4ビットとし、Ia,Ib,Ic,Idを並べて得られるアドレスに、その、Ia,Ib,Ic,Idのパターンによって得られるIp1,Ip2,Ip3,Ip4を下表の様に予め記録しておく。
【表1】


【0277】
この例は、“Ia,Ib,Ic,Id”が“0,0,0,0”の時は、“Ip1,Ip2,Ip3,Ip4”が“0,0,0,0”であることを、“Ia,Ib,Ic,Id”が“0,0,0,1”の時は、“Ip1,Ip2,Ip3,Ip4”が“0,0,0,0”であることを、“Ia,Ib,Ic,Id”が“0,0,1,1”の時は、“Ip1,Ip2,Ip3,Ip4”が“0,0,1,1”であることを、“Ia,Ib,Ic,Id”が“0,1,0,1”の時は、“Ip1,Ip2,Ip3,Ip4”が“0,1,0,1”であることを、そして、“Ia,Ib,Ic,Id”が“0,1,1,0”の時は、“Ip1,Ip2,Ip3,Ip4”が“0,1,1,0”であることを、…と云う具合にIa,Ib,Ic,Idの内容の組み合わせが決まれば、Ip1,Ip2,Ip3,Ip4が一義的に定まるテーブルを表している。
【0278】
このようなテーブルをIa,Ib,Ic,Idの内容がアドレス、そのアドレスの格納データがIp1,Ip2,Ip3,Ip4となるようにメモリに設定保持させ手おくと、内挿処理を行う時には、メモリにIa,Ib,Ic,Idのアドレスを入力して、それに対応するIp1,Ip2,Ip3,Ip4を読み出すだけで、内挿値を求めることができる。ここで、Ip1,Ip2,Ip3,Ip4の並びは2進数であるが、これを10進数に変換した数値をコンテキストと呼ぶこととすると、この手法は、Ip1,Ip2,Ip3,Ip4によって求まるコンテキストによって、内挿値Ip1,Ip2,Ip3,Ip4を決める実施例と言える。
【0279】
なお、コンテキストは
コンテキスト=2*2*2*Ia+2*2*Ib+2*Ic+Id
で求まる。
【0280】
コンテキストによって内挿値を求める手法は、上述の例の場合、参照する画素数を4つとしたが、これに限らず、以下で説明する12個等、いくつの場合でも実現できる。
【0281】
また、参照画素と内挿画素の配置についても、例えば、図64(a)のように内挿画素P1に対しては点線で囲んだ領域の9画素分を参照画素としてコンテキスト(=0〜511)を求め、そのコンテキストによって、内挿画素P1を“0”か“1”かに決定する方法もある。
【0282】
内挿画素P2、P3、P4についても、それぞれの内挿位置とその位置を囲む直近の4個の参照画素の位置関係に応じて、図64(b),(c),(d)の点線で囲んだ画素を参照画素とする。
【0283】
この際、図のように参照画素A〜Iの、内挿画素Pに対する相対的な位置が同じになるように配置(例えば、(b)は(a)を時計回りに90度回転した配置になっている)しておけば、同じ画素パターンを回転しただけのものは、同じコンデキストになるので、内挿画素P1〜P4で共通の内容のテーブルとしたメモリを用いることができる。
【0284】
次に、4×4画素のマクロブロックを16×16画素に拡大する場合の例を説明する。
4×4画素のマクロブロックを16×16画素に拡大するには、まず、4×4のサイズのマクロブロックMBを8×8のサイズに拡大し、次に8×8のサイズのマクロブロックMBから16×16のサイズのマクロブロックMBに拡大すると云う手順を踏むことになる。
【0285】
この4×4のサイズのマクロブロックMBから8×8のサイズに拡大する時の外部参照画素ATとALを図65(a)に示し、8×8のサイズのマクロブロックMBから拡大する時の外部参照画素BTとBLを図65(b)に示す。
【0286】
外部参照画素ATは2行8列、外部参照画素ALは4行2列、外部参照画素BTは2行12列、外部参照画素BLは8行2列の配列である。
【0287】
これらの外部参照画素の値は図42を用いて説明したように、既に再生したマクロブロックの所定の位置の画素の平均値として求める必要がある。しかし、2値画像符号化回路1700と2値画像復号化回路2800では、4×4画素のサイズで符号化する際には、外部参照画素ATとALを参照し、8×8画素のサイズで符号化する際には、外部参照画素BTとBLを参照するため、これを転用すれば拡大処理のためだけにわざわざ外部参照画素を求めると云った無駄は回避できる。
【0288】
ここで、外部参照BTとBLについては、平均値を求めずに、外部参照画素ATとALから、コンピュータプログラミング用の言語であるC言語で記述すれば、
【数2】


【0289】
という処理によって求めると、平均値を求める場合と多少結果は異なるが、平均値演算を省くことができる。
【0290】
上述の処理は、図65の例えば、画素p1を画素p2と画素p3にコピーし、画素p4を画素p5と画素p6にコピーするというように、ATやALの値を繰り返して画素を追加処理していくことで、BTやBLを生成するものである。なお、C言語プログラム中の“[ ][ ]”は配列を示し、[ ]中の数字は10進数を示す。
【0291】
以上は、拡大処理の具体的手法を説明した。次に、縮小処理の具体的手法を説明する。
【0292】
[縮小処理]
図38は、ブロック(マクロブロック)を縦横“1/2”のサイズに縮小する縮小処理の一例である。この例では、点線枠内領域一つ一つを単位縮小ブロック領域とすると、当該単位縮小ブロック領域内の2×2画素(各点線枠内における“O”で示した計4画素)毎の平均値(図38の“×”)を、その単位縮小ブロック領域での画素値としている。つまり、マクロブロックを縦横“1/4”のサイズに縮小する場合には、単位縮小ブロック領域毎に、その領域内の4×4画素毎の平均値を求めて、当該単位縮小ブロック領域での画素値とすればよいわけである。
【0293】
また図39のように、画素A,B,C,Dからなる、ある単位縮小ブロック領域を考えた場合、当該単位縮小ブロック領域の画素Xの値を求めて当該単位縮小ブロック領域の値とするにあたり、画素A〜Dの平均値を求めるのではなく、これよりも広い範囲の画素位置の画素E,F,G,H,I,J,K,L,M,N,O,Pを含めて、これらA〜Pの平均値を求めるようにしてもよい。つまり、隣接の単位縮小ブロック領域の画素のうち、画素A〜Dに隣接する画素を含めてこれらの平均値を採用する方式とするわけである。
【0294】
以上は、現存する画素の値の平均値を単位縮小ブロック領域の画素値とすることで、その単位縮小ブロック領域の画素数を減らすようにし、マクロブロックのサイズ縮小を図るようにした例であった。このような、計算を伴わずに、機械的な間引き処理でもマクロブロックを縮小処理することができる。
その例を次に説明する。はじめに、マクロブロック内で閉じた処理を説明する。
【0295】
図40は、画素間引きによる縮小処理の例である。16×16画素構成のマクロブロックMBは画素間引きによる縮小処理を施した結果、8×8画素構成のブロックに縮小された様子を示している。すなわち、図中で点線の白丸印で示された画素が間引かれた画素であり、実線の白丸印で示された画素が単位縮小ブロック領域の画素値(図40の“×”)となる。この場合、縮小率(CR)は間引かれる画素の割合を表すことになる。なお、画素間引きの方法は図40で説明した方法に限らず、例えば、五の目格子状に画素を間引いても良い。また、この場合、拡大処理とは、間引かれた画素を内挿することに相当する。
【0296】
以上、種々の縮小処理の具体的手法を説明した。次に拡大処理について説明する。
【0297】
図41は、拡大処理を表す図である。図において、実線方形枠はマクロブロックを示しており、点線枠表示された部分の升目一つ一つが単位縮小ブロック領域を示している。単位縮小ブロック領域内の白丸印は現存画素を表わしており、内挿により画素数を増やしてマクロブロックの拡大を図るようにする。内挿される画素は“×”で表されており、内挿後は“O”の画素は不要画素となる。
【0298】
マクロブロック境界部の画素を内挿する際に、マクロブロック外の画素値が必要になる。この場合、図の矢印で示されているように、マクロブロック内の最も近くの画素値を割り当てればよい。
すなわち、ある単位縮小ブロック領域の画素内挿をする場合、自己及び自己と隣接する各単位縮小ブロック領域である周囲8ブロックの画素値の計9画素分の画素値が、処理に必要である。しかし、マクロブロック内における当該ある単位縮小ブロック領域が、マクロブロック境界部に位置していると、前記の周囲8ブロックのいくつかは自己の所属外のマクロブロック所属のものとなることから、当該自己所属マクロブロック外の画素値を別途、もらってくる必要があるということになる。この場合は、図の矢印で示されているように、自己の所属マクロブロック内の最も近くの画素値をそれぞれ割り当てて便宜的にその処理に必要な近隣の単位縮小ブロック領域での画素値とし、利用すればよい。
【0299】
なお、マクロブロック毎の縮小・拡大処理は、そのマクロブロック内で閉じている必要はなく、図42に示されるように、該ブロック近傍の再生値(左・上・左上・右上に隣接するブロック内の画素値)を用いるようにしても良い。
このことを具体的に説明する。
図42において、実線方形枠はあるブロック(マクロブロック)を示し、“×”印は倍率1倍のときの画像(標準倍率画像)の各画素を示している。マクロブロックは通常、16×16画素構成であり、フレームを1/2に圧縮した場合にブロック内の画素は8×8画素構成になり、先の16×16画素構成はそれぞれ2×2画素分の画像が1画素で表現されることになるので、この場合の2×2画素分の画像を代表点の情報を1画素表現形式にして表したのが図42における“O”印である。点線で示した枠内が、単位縮小ブロック領域であって、標準倍率画像での4画素構成(2×2)の領域を示しており、1/2縮小の場合はこの点線枠内領域毎に1画素で表現される。
【0300】
1/2縮小画像を元の画像サイズに復元する場合(標準倍率画像に復元する場合)、1/2縮小画像の1画素の領域は4画素構成に戻すが、それをマクロブロック内で閉じずに内挿により行うには次のようにする。
例えば、図42において、あるマクロブロックの、ある単位縮小ブロック領域(点線枠内領域)の画素1や画素2を内挿により再生する場合を考えてみる。この場合、その処理時点で現存するのは“O”印の画素情報である。従って、内挿しようとする画素1や画素2の周囲にある現存画素は画素3,4,5,6であるから、これら画素3,4,5,6を用いて双一次内挿を行う。ただし、“画素3”や“画素4”は隣接ブロック(隣接するマクロブロック)に所属する画素で、しかも、拡大前の画素(1/2縮小画像の画素)であり、当該隣接ブロックは時間的に前の時点で処理される位置にあるブロックであるので、このマクロブロックの拡大処理後には、不要となるデータであるから、メモリリソースの節約の観点から、既に廃棄してしまっていることがある。
【0301】
そのようなシステムの場合には、例えば、“画素3”で云えばそのマクロブロックでの内挿済みで現存する隣接画素である画素7,8,9,10の平均値を求めて、前記廃棄してしまった“画素3”の値とするのも一つの方法であるが、その平均値を求める演算を少なくしたい場合には、画素7,8,9,10の計4画素のうち、内挿しようとする画素1,2に近い、画素9,10の平均値を、前記廃棄してしまった“画素3”の値として用いるようにしてもよい。
【0302】
また、画素10をそのまま流用して“画素3”の値とするようにすると、さらに演算を省ける。“画素4”についても、同様に、その近くの画素値で代用する。また、同様なケースで、“画素11”の内挿には、例えば、“画素12”の代わりに画素14と画素15の平均値、“画素13”の代わりに画素16、画素18の代わりに画素17を用いる。
【0303】
フレーム画像Pfは通常、オブジェクト部分を主体とした最小の矩形範囲、例えば、図59(a)に示される符号化領域CA内をブロック(マクロブロック)に分割して符号化するため、符号化領域の境界部に位置するブロックでは、該ブロックの左・上・左上・右上に隣接するブロックが、符号化領域CAの外部に位置することとなってしまう場合がある。
この場合、図42のように、該ブロック近傍の再生画素値(再生した画素の値)を利用する場合でも、符号化領域CAの外部に位置するマクロブロックである場合には再生両素値を参照せずに、図41のように自己所属マクロブロック内の最も近くの画素値を便宜的に割り当てて用いればよい。
【0304】
更に、誤りの影響を受ける伝送路でデータの授受を行う場合には、誤りの影響を受け難くするために、前記の符号化領域CAよりも小さい単位(これを“同期回復単位”呼ぶ)で符号化処理を閉じる場合がある。
【0305】
これにより、誤りの影響をこの“同期回復単位”で断ち切ることが可能となり、誤りの影響を受け難くなる。ここで、“同期回復単位”とは、図59(b)にUnなる符号を付して示した点線で囲まれる各領域を指す。“同期回復単位”は符号化領域CAを小さく区切った領域であるが、複数のマクロブロックで構成されることは変わりない。
【0306】
この方式の場合、“同期回復単位”内で符号化処理を閉じるため、ある“同期回復単位”で使用するデータに伝送誤りがあるものが含まれていたとしても、その誤りのあるデータを参照して処理するのは当該ある“同期回復単位”内だけであり、隣接の“同期回復単位”は当該誤りのあるデータを参照して処理することはないから、伝送誤りが波及しにくい処理方式となる訳である。
【0307】
この場合でも、図42のように、該ブロック近傍の再生画素値を利用する際に、該ブロックが含まれる“同期回復単位”以外の同期回復単位に属するマクロブロックの再生画素値を参照せずに、図41の様にマクロブロック内の最も近くの画素値を割り当てる。
【0308】
上述したような、“マクロブロックや同期回復単位の外側を参照するか、しないか”は、符号に切り換えビットを用意し、これを用いて切り換えるようにすると伝送エラーの頻度や、許容される演算量、メモリ量などの様々な状況に対応することができる。
【0309】
ところで、先に述べたように双一次内挿では、周囲の4画素のみを用いて処理を行っている。そのため、再生された画素による画像には、特に斜め方向の不連続性が発生し、視覚的劣化が起き易い傾向が避けられない。これを回避するには例えば、図41の内挿対象画素を内挿する例を取り上げてみると、その内挿の際に、双一次内挿の参照範囲よりも広い拡大参照範囲に含まれる画素を用いて内挿する。
【0310】
すなわち、双一次内挿の参照範囲よりも広い拡大参照範囲に含まれる画素を用いて内挿することで、より広い範囲の画素の傾向が反映されることになり、不連続性の問題が回避される。また、内挿に用いる画素の数が“4画素”のように偶数個であるよりも、“9画素”のように奇数個の方が、多数決効果が得られ、不連続性の回避効果がより一層顕著に得られる場合がある。
【0311】
図58(b)に、12個の画素を用いて内挿を行う例を示す。先に図58(a)を用いて説明した実施例の表記を用いると、あるマクロブロックの1/2縮小画像におけるマクロブロック内ある位置での再生画素をp1,p2,p3,p4、そして、それらの値(画素値)をIp1,Ip2,Ip3,Ip4とした場合に、これらIp1,Ip2,Ip3,Ip4は、
Ip1:if(4*Ia +2*(Ib +Ic +Id )+Ie +If +Ig +Ih +Ii +Ij +Ik +Il )>8 then “1” else “0”
Ip2:if(4*Ib +2*(Ia +Ic +Id )+Ie +If +Ig +Ih +Ii +Ij +Ik +Il )>8 then “1” else “0”
Ip3:if(4*Ic +2*(Ib +Ia +Id )+Ie +If +Ig +Ih +Ii +Ij +Ik +Il )>8 then “1” else “0”
Ip4:if(4*Id +2*(Ib +Ic +Ia )+Ie +If +Ig +Ih +Ii +Ij +Ik +Il )>8 then “1” else “0”
で表せる。ただし、aは画素A、bは画素B、cは画素C、dは画素D、eは画素E、fは画素F、gは画素G、hは画素H、iは画素I、jは画素J、kは画素K、lは画素Lを示す。
【0312】
また、“1/4”サイズの縮小拡大処理は、“l/2”サイズの縮小拡大処理を2回施すことで実現しても良い。
【0313】
次に、フレーム単位の拡大・縮小処理との組み合わせの例を、第5の具体例として説明する。
【0314】
(第5の具体例)
本発明者らが特願平8−237053号で示した先行技術には、フレーム単位(実際にはオブジェクトを含む方形領域)で縮小・拡大を施すことでレート制御する実施例と、ブロックのような小領域単位で縮小・拡大を施すことでレート制御する実施例とを提示している。また、上述の第1乃至第3の具体例には、さらに具体的な小領域単位で縮小・拡大を施すことにより、レート制御するようにした例を示した。
【0315】
ここに説明する本具体例においては、フレーム単位での縮小・拡大処理と、小領域単位での縮小・拡大処理を組み合わせて使用する例を示すものである。
【0316】
<アルファマップ符号化装置>
図25は、本具体例のアルファマップ符号化装置を説明する図である。この装置は縮小回路5300,5210,5260、2値画像符号化回路5220、拡大回路5230,5400、動き補償予測回路5250、多重化回路5240,5500とより構成される。
【0317】
このような構成において、アルファマップ信号入力線20を介して供給される2値化されたアルファマップ画像は、縮小回路5300において縮小・拡大率CRに基づいてフレーム単位に縮小される。フレーム単位に縮小された信号は、信号線5020を介してアルファマップ符号化回路5200に供給され、小領域に分割された後、符号化される。
【0318】
ここで、アルファマップ符号化回路5200は、図12のアルファマップ符号化回路200と等価であり、アルファマップ符号化回路5200の構成要素5210〜5260は、それぞれ図12のアルファマップ符号化回路200の構成要素210〜260と同じ機能を有するので、アルファマップ符号化回路5200の説明はここでは省略する。また、図12のアルファマップ符号化回路200の構成は、図1のアルファマップ符号化回路200の構成を簡略化して表現したものであるため、アルファマップ符号化回路5200の構成は、図1のアルファマップ符号化回路200と等価な構成でも良い。
【0319】
アルファマップ符号化回路5200で符号化された符号化情報には、小領域毎の縮小・拡大率CRbが多重化されており、信号線5030を介して多重化回路5500に供給され、フレーム単位の縮小・拡大率CRの符号化情報と多重化され、信号線30を介して出力される。
【0320】
また、アルファマップ符号化回路5200の再生画像は信号線5040を介して拡大回路5400に供給され、フレーム単位の縮小・拡大率CRに基づいて拡大された後、信号線40を介して出力される。
【0321】
<アルファマップ復号化装置>
図26は、本具体例の復号化装置を説明する図である。このアルファマップ復号化装置は、分離化回路6500,6430、2値画像復号化回路6410、縮小回路6450、動き補償予測回路6440、拡大回路6420,6600とから構成されている。
【0322】
このような構成において、信号線80を介して供給される符号化情報は、分離化回路6500でフレーム単位の縮小・拡大率CRと、小領域単位の符号化情報に分離される。そして、小領域単位の符号化情報は、信号線6080を介してアルファマップ復号化回路6400に供給され、小領域単位の再生信号が信号線6090を介して拡大回路6600に供給される。
【0323】
アルファマップ復号化回路6400は、図13のアルファマップ復号化回路400と等価なため、ここでは説明を省略する。また、図13のアルファマップ復号化回路400の構成は、図2のアルファマップ復号化回路400の構成を簡略化して表現したものであるため、アルファマップ復号化回路6400の構成は、図2のアルファマップ復号化回路400と等価な構成でも良い。
【0324】
拡大回路6600では、フレーム単位の縮小率CRの情報に基づいて、信号線6090を介して供給される再生信号を拡大処理して、信号線90より出力させる。
【0325】
このように、ここではアルファマップ信号をフレーム単位で縮小・拡大処理し、かつ、小領域単位で縮小・拡大処理するようにした。このフレーム単位での縮小・拡大と、小領域単位での縮小・拡大とを組み合わせることで、縮小・拡大率情報のようなサイド情報が削減されるため、特に、低い符号化レートで符号化する場合に効果的となる。
【0326】
次にフレームメモリについて、触れておく。
図25、図26には明示していないが、符号化装置と復号化装置にはいずれも再生画像を蓄積するためのフレームメモリが必要である。図52は、フレーム毎の解像度の例を表した図である。本発明では、動き補償予測を用いているため、例えば、時刻nのフレームを符号化する際には、時刻n−1のフレームの解像度を時刻nのフレームでの解像度(この場合、縮小・拡大率)に一致させなければならない。ここで、フレームメモリに蓄積する再生画像が、アルファマップ符号化回路5200によって図52に示されるようにフレーム単位の解像度(この例の場合、時刻nのフレームならばCR=1/2(図52の(a))、時刻nのフレームならばCR=1(図52の(c)))で蓄積される場合と、元の解像度(時刻に関わらず、常に縮小・拡大率CR=1)で蓄積される場合の2通りが考えられる。
【0327】
前者においては、フレームメモリは信号線5040および信号線6090を介して供給されるフレーム単位の解像度の再生画像を蓄積することになり、後者におけるフレームメモリは、信号線40および信号線90を介して供給される元の解像度の再生画像を蓄積することになる。
【0328】
従って、図25の符号化装置および図26の復号化装置においてフレームメモリを明示すると、前者のフレームメモリ(これをFM1(符号化装置用)、FM3(復号化装置用)と表すこととする)の場合は、図53および図54のようになり、後者のフレームメモリ(これをFM2(符号化装置用)、FM4(復号化装置用)と表すこととする)の場合は、図55および図56のようになる。
【0329】
つまり、図53の符号化装置は、縮小・拡大率CRの情報と拡大回路5230の出力情報をFM1なるフレームメモリに保持し、この保持情報をMC(動き補償予測回路)5250に与えるように構成したものであり、図54の復号化装置は、CRの情報と拡大回路6420からの出力をFM3なるフレームメモリに保存し、この保存出力を動き補償予測回路6440に与えるように構成したものである。
【0330】
また、図55の符号化装置は、縮小・拡大率CRの情報と拡大回路5400の出力情報をFM2なるフレームメモリに保持し、この保持情報をMC(動き補償予測回路)5250に与えるように構成したものであり、図56の復号化装置は、CRの情報と拡大回路6600からの出力を保存し、この保存出力を動き補償予測回路6440に与えるように構成したものである。
【0331】
フレームメモリFM1,FM3の具体的な構成例は、図57(a)に示した如きものとなり、フレームメモリFM2,FM4の具体的な構成例は、図57(b)に示した如きのものとなる。
【0332】
フレームメモリFM1,FM3は、図57(a)に示すように、現フレームの画像を保存するフレームメモリm11と、このフレームメモリm11の保持画像を別途与えられる拡大・縮小率CRの情報対応に縮小・拡大処理する縮小・拡大回路m12、この縮小・拡大回路m12で縮小・拡大処理された出力を保存するフレームメモリm13とからなり、また、フレームメモリFM2,FM4は、図57(b)に示すように、現フレームの画像を保存するフレームメモリm21と、このフレームメモリm21の保持画像を、別途与えられる拡大・縮小率CRの情報対応に縮小処理する縮小回路m22、この縮小回路m22で縮小処理された出力を保存するフレームメモリm12とからなる。
【0333】
このような構成のフレームメモリにおける動作を説明する。
まずフレームメモリFM1,FM3の場合、これらには信号線5040および信号線6090を介してフレーム単位でそのフレームの対応する解像度の再生画像が供給され、現フレーム保存用のフレームメモリm11に蓄積される。フレームメモリm11は、現フレームの符号化(例えば、時刻n)が終了した時点で現フレームの再生画像が全て蓄積されている。
【0334】
次に、縮小・拡大回路m12では、時刻n+1におけるフレームの符号化が開始される時点で、時刻nにおけるフレームの再生画像をフレームメモリm11から読み込み、時刻n+1におけるフレームのフレーム単位での縮小・拡大率CRと一致するように、縮小・拡大処理(解像度変換)を行う。
【0335】
図52の例において、(a)に示すように時刻nにおけるフレームの縮小・拡大率CRは“1/2”であり、また、(b)に示すようにその次フレームである時刻n+1におけるフレームの縮小・拡大率CRは“1”であるので、この場合、縮小・拡大回路m12では縮小・拡大率CRを“1/2”から“1”に変換する処理を行うことになる。
【0336】
縮小・拡大回路m12で解像度変換された時刻nにおける再生画像は、前フレームのフレームメモリm13に蓄積され、時刻n+1におけるフレームの動き補償予測の参照画像となる。
【0337】
フレームメモリFM2,FM4の場合、これらには信号線40および信号線90を介して元の解像度(CR=1)の再生画像が供給され、現フレームのフレームメモリm21に蓄積される。フレームメモリm21には、現フレームの符号化(例えば、時刻n)が終了した時点で現フレームの再生画像が全て蓄積されている。
【0338】
次に、縮小回路m22では、時刻n+1におけるフレームの符号化が開始される時点で、時刻nにおけるフレームの再生画像をフレームメモリm21から銃み込み、時刻n+1におけるフレームのフレーム単位での縮小・拡大率CRと一致するように、縮小処理(解像度変換)を行う。
【0339】
フレームメモリm21に蓄積される再生画像は常に縮小・拡大率CR=1であるので、図52の例では、時刻n+1における縮小・拡大率CRは“1”であるから、この場合、縮小回路m22では解像度変換処理を行わない。なお、図52の例の場合、現フレームが時刻n+1の場合、時刻n+2におけるフレームの解像度は“1/2”であるから、縮小回路m22では縮小・拡大率CRを“l”から“1/2”にする解像度変換処理を行うことになる。
【0340】
縮小回路m22で解像度変換された時刻nにおけるフレームの再生画像は、前フレームのフレームメモリm33に蓄積され、時刻n+1におけるフレームの動き捕償予測の参照画像となる。
【0341】
以上、フレームメモリFM1,FM2,FM3,FM4の具体的な構成と作用を述べたが、フレームメモリFM1,FM3は、信号線5040および信号線6090を介して供給されるフレーム単位の解像度の再生画像が蓄積されることが特徴であり、また、フレームメモリFM2,FM4は、信号線40および信号線90を介して供給されるフレーム単位での解像度の再生画像が蓄積されることが特徴であるため、それぞれ、他に種々の構成が考えられる。
【0342】
(第6の具体例)
次に、マクロブロックの属性情報を符号化する方式の例を第6の具体例として説明する。まず、先行技術である特願平8−237053号にて、提案した方式の説明をする。
【0343】
図29は、時刻nと時刻n−1におけるあるマクロブロックの属性情報の一例を表している。但し、ここで云う属性情報とは、“allW”(そのマクロブロックの構成画素全てが白)、“allB”(そのマクロブロックの構成画素全てが黒)、“Multi”(そのマクロブロックの構成画素は白黒混在)といったマクロブロックの中味の状態を示した情報である。
そして、例えば、“allW”を符号“0”で、“allB”を符号“3”で、そして、“Multi”を符号“1”でラベル付けして示した例である。
【0344】
フレームにおけるオブジェクト部分