JP2004350307A - 画像符号化装置および画像復号化装置 - Google Patents

画像符号化装置および画像復号化装置 Download PDF

Info

Publication number
JP2004350307A
JP2004350307A JP2004180820A JP2004180820A JP2004350307A JP 2004350307 A JP2004350307 A JP 2004350307A JP 2004180820 A JP2004180820 A JP 2004180820A JP 2004180820 A JP2004180820 A JP 2004180820A JP 2004350307 A JP2004350307 A JP 2004350307A
Authority
JP
Japan
Prior art keywords
circuit
frame
block
encoding
reduction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004180820A
Other languages
English (en)
Inventor
Noboru Yamaguchi
昇 山口
Takashi Ida
孝 井田
Yoshihiro Kikuchi
義浩 菊池
Toshiaki Watanabe
敏明 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004180820A priority Critical patent/JP2004350307A/ja
Publication of JP2004350307A publication Critical patent/JP2004350307A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】オブジェクトの形状情報を効率よく符号化する装置を提供すること。
【解決手段】時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト(Ob)毎に符号化する動画像符号化装置におけるObの形状を表すアルファマップの符号化回路であって、Obを含む方形領域をM×N画素で構成されるブロック(BL)毎に分割する手段と、BLを前記方形領域内において一定規則により順次符号化する手段 220とを有し、BLの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置おいて、BL近傍の再生値を蓄える手段と、すでに符号化されたフレーム(FM)の再生信号を蓄える再生信号保持手段FMと、該保持手段内の再生信号を用い動き補償予測値を生成する予測手段 250と、BL近傍の再生値も含めて変化画素を検出する手段とを有する構成とし、相対アドレス符号化の参照変化画素をBL内の画素値でなく動き補償予測信号から求める。
【選択図】 図12

Description

本発明は、画像信号を高能率に符号化し、伝送・蓄積すると共に、復号するための画像符号化装置および画像復号化装置に関する。
画像信号は膨大な情報量を持つため、伝送や蓄積に供する場合には圧縮符号化するのが一般的である。そして、画像信号を高能率に符号化するには、フレーム単位の画像を、所要画素数単位(例えば、M×N画素(M:水平方向の画素数、N:垂直方向の画素数))でブロックに分割し、その分割した各ブロック毎に直交変換して画像の持つ空間周波数を各周波数成分に分離し、変換係数として取得してこれを符号化する。
ところで、画像符号化の一つとして、『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,』において、ミッドレベル符号化と呼ばれる範疇に属する画像符号化法が提案されている。
この方式では、例えば、図16(a)のような背景と被写体(以後、被写体をオブジェクトと呼ぶ)からなる画像があったとして、この背景とオブジェクトを図16の(b),(c)のように分けて符号化している。
このように、背景(図16(c))やオブジェクト(図16(b))を別々に符号化するためには、オブジェクトの形状や画面内の位置を表す例えば2値の副画像情報であるアルファマップ信号(図16(d)参照、図中、白画素がオブジェクトの画素を示す)が必要となる。なお、背景のアルファマップ信号(図16(e))は、オブジェクトのアルファマップ信号から一意に求められる。
ところで、このアルファマップ信号を効率的に符号化する方法として、2値画像の符号化法(例えば、MMR(Modified Modified READ)符号化等)や、線図形の符号化法(チェイン符号化等)が用いられている。
また、更にアルファマップの符号量を低減するために、形状の輪郭線をポリゴン近似してスプライン曲線でスムーシングする方法(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号参照)などがある。
ここで、アルファマップを縮小して符号化し、拡大する際に曲線近似する方法の例を説明する。
<MMR符号化回路の具体例>
(ブロックベース符号化の具体例)
図18(a)は、ブロック単位(例えば、M×N画素構成のブロック単位(M:水平方向の画素数、N:垂直方向の画素数))で符号化する場合の変化画素の関係を表す図である。また、図18(b)は、参照変化画素b1を検出するための参照領域を表す図である。
ブロックベース符号化においては、以下のように変化画素の符号化を単純化して符号化しても良い。なお、以下の処理は、スキャンの順序を切り換えても良いし、縮小されたブロックに適用しても良い。
単純化した変化画素の符号化は、次のようにして行う。
今、変化画素ai (i=0 〜1)、参照変化画素b1それぞれについての、画面左上からラスタ順に求めた際のアドレス(または画素順序)を各々、abs_ai (i=0 〜1)、abs_b1 と表記し、変化画素a0 の属するラインをa0_lineと表記すると、a0_lineおよびr_ ai (i=0 〜1)、r_ b1 の値は、以下の式で求められる。
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 はブロックの水平方向の画素数を示している。
そして、変化画素の相対アドレス“r_a1−r_b1”あるいは、“r_a1−r_a0”の値を符号化することで、再生値が得られる。これが、上述の “単純化した変化画素の符号化”である。
図19は、2値画像の符号化法であるMMR符号化を、ブロックベースで実施する場合の処理の流れを示すフローチャートである。以後、フローチャートに従って符号化処理を説明する。ここでの処理は、まず、起点変化画素の位置を初期化し(S501)、初期位置(ブロックの左上画素)での画素値を1ビットで符号化する(S502)、次に初期位置において参照変化画素b1を検出する(S503)。
ここで、参照変化画素b1が検出されなかった場合には、参照領域に変化画素が存在しないことから垂直モードが使えないため、垂直パスモードの状態を“TRUE”(真)とし、b1が検出された場合は垂直モードが使えるため、垂直パスモードの状態を“FALSE”(偽)とする。
以上で初期状態のセッティングを終了し、符号化ループの処理に移る。
まず、変化画素a1を検出し(S505)、変化画素a1が検出されたか否かを判定し(S506)、変化画素a1が検出されなかった場合には、以後、変化画素が無いため、符号化の終了を示す符号化処理終了符号(EOMB;End of MB)を符号化する(S507)。
また、S506での判定の結果、変化画素a1が検出された場合には、垂直パスモード(Vertical pass mode)の状態を判定する(S508)。ここで、垂直パスモードの状態が“TRUE”ならば、垂直パスモードの符号化処理(S516)を行い、垂直パスモードの状態が“FALSE”ならば、b1を検出する (S509)。
次に、b1が検出されたか否かを判定し(S510)、参照変化画素b1が検出されなかった場合には、水平モードのステップ(S513)に進み、参照変化画素b1が検出された場合には、”r_a1−r_b1”の絶対値がしきい値 (VTH)よりも大きいか否かを判定し(S511)、その結果、しきい値(VTH)以下の場合には、垂直モードのステップ(S512)に進み、しきい値 (VTH)よりも大きい場合には、水平モードのステップ(S513)に進む。
水平モードのステップ(S513)では、“r_a1−r_a0”の値が符号化される。ここで、“r_a1−r_a0”の値が“WIDTH”よりも小さいか否かを判定し(S514)、その結果、“WIDTH”以上の場合には、垂直パスモードの状態を“TRUE”(真)として(S515)、垂直パスモードのステップ(S516)に進み、垂直パスモードのステップ(S516)が終了したら、垂直パスモードの状態を“FALSE”(偽)とする。
以上、垂直モード、水平モード、垂直パスモードの何れかが終了した後(alまでの符号化が終了した後)、a1の位置を新たなa0の位置として(S518)、S505の処理に戻る。
図17は、VLCテーブル(可変長符号テーブル)の例である。
ここで、垂直パスモードの状態が“TRUE”の場合には、符号の種類はV0(モードV0)、H(水平モード)、EOMB(符号化処理終了符号)の3種類しか生起しないため、垂直パスモードの状態に応じて、VLCを切り換えることができる。なお、垂直パスモードの状態が“TRUE”の場合、EOMBはa0がブロックの左上の位置(初期位置)にある場合のみ生起する。従って、この場合には、図17の“0”内の符号が用いられる。
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 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
画像を符号化する場合に、画面内を背景とオブジェクトに分割して符号化する方式があるが、この場合、背景とオブジェクトを分けるために、オブジェクトの形状や画面内の位置を表すアルファマップ信号が必要となる。そして、画像の符号化情報と共に、このアルファマップの情報も符号化してビットストリーム化し、伝送や蓄積に供する。
しかし、画面内を背景とオブジェクトに分割して符号化する方式の場合、従来の符号化法のように画面内を一括して符号化するのに比べ、アルファマップがある分、符号量増加が問題となり、このアルファマップの符号量増加による符号化効率の低下が問題となる。
そこでこの発明の目的とするところは、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようにした画像符号化装置および画像復号化装置を提供することにある。
上記目的を達成するため、本発明は次のように構成する。
第1には、画像をその画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップと共に符号化し、前記アルファマップは相対アドレス符号化を用いて符号化する画像符号化装置において、
既に符号化した変化画素を参照変化画素とし、この参照変化画素と、次に符号化する変化画素の相対的な位置を表すシンボルを可変長符号化テーブルを用いて符号化する手段と、前記可変長符号化テーブルを2つ以上保持し、既に符号化した前記アルファマップのパターンによって、前記可変長符号化テーブルを切り替える手段とを備えることを特徴とする。
第2には、この符号化装置により符号化されて得られた符号化ビットストリームを復号する復号化装置であって、
前記シンボルを可変長符号化テーブルを用いて復号する手段と、前記可変長符号化テーブルを2つ以上保持し、既に復号した前記アルファマップのパターンによって、前記可変長符号化テーブルを切り替える手段とを備えることを特徴とする。
さらには、前記可変長符号化テーブルを切り替える手段は、参照変化画素の近くのパターンによって切り替えることを特徴とする。
このような構成の本装置は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化することにより符号量を少なくするようにした符号化/復号化において、複数種の可変長符号化テーブルを用意しておき、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものであり、このような本発明によれば、アルファマップの符号量をいっそう低減できる効果が得られる。
また、第2には本発明は、時系列データとして得られる複数フレーム(画像フレーム)の動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置における、オブジェクトの形状を表すアルファマップを符号化する符号化回路であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割する手段と、この分割されて得られた上記ブロックを、前記方形領域内において一定規則により順次、符号化する手段とを有し、ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置において、
ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、前記再生値蓄積手段を参照し、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
これにより、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようになる。
また、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム (画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段と、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段とを有し、相対アドレス符号化情報を、切り替え情報と共に符号化するものである。
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレーム(画像フレーム)の再生信号を蓄える画像保持手段(フレームメモリ)と、画像保持手段(フレームメモリ)内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段を有し、切り替え情報にしたがって参照変化画素を求めるようにしたものである。
この場合、相対アドレス符号化にあたり、参照変化画素b1を現在処理中の画像のブロックである“current block ”内より検出するか、前回処理した画像のブロックである“ compensated block”内より検出するかを、ブロック単位で切り替えて処理することができ、符号化側ではこの切り替え用の情報も併せて符号化し、復号化側ではこれを復号して、復号化処理の際に当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えるようにすることができ、このようにすることによって、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
また本発明は、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置において、
オブジェクトの形状を表すアルファマップ信号について、ブロック近傍の再生信号を含む該フレームの再生信号と、符号化が終了したフレームの再生信号を蓄えるフレームメモリと、
ブロック内の画素値を2値の何れか一方の値で全て置き換える手段と、
フレームメモリ内のすでに符号化が終了したフレームの再生信号を用いて、動き補償予測値を生成する動き補償予測手段と、
ブロック毎に2値画像を縮小・拡大する手段と、
その縮小・拡大率をサイド情報として符号化する手段と、
ブロック毎に縮小された2値画像を符号化する2値画像符号化手段とからなるアルファマップ符号化手段を備えて構成した。
そして、前記アルファマップ符号化手段は前記ブロックの再生画像を、ブロック内を2値の何れか一方の値で全て置き換えた再生値と、動き補償予測値と、ブロック毎に縮小・拡大する事で得られた再生値とのうちの何れかから選択するようにした。従って、アルファマップ信号の符号化を、高品位で効率の良い形態で実施でき、高品位の画質を維持し、かつ、高圧縮率で符号化することができるようになる。
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置において、
ブロック近傍の再生信号を含む該フレームの再生信号と、符号化済みフレームの再生信号を蓄えるフレームメモリと、
ブロック内の画素値を2値の何れか一方の値で全て置き換える手段と、
フレームメモリ内のすでに符号化が終了したフレームの再生信号を用いて、動き補償予測値を生成する動き補償予測手段と、
ブロック毎に2値画像を縮小・拡大する手段と、
ブロック毎に縮小された2値画像を復号化する2値画像復号化手段とからなるアルファマップ復号化手段を備えて構成した。
そして、前記アルファマップ復号化手段は、前記ブロックの再生画像を、ブロック内を2値の何れか一方の値で全て置き換えた再生値と、動き補償予測値と、ブロック毎に縮小・拡大することで得られた再生値のうちの何れかから選択するようにした。従って、高品位の画像を再生できるようになる。
また、アルファマップをブロック毎に符号化する際に、ブロック毎の属性を符号化する方式であって、オブジェクトを含む、ブロックサイズの倍数で表される符号化領域を設定する手段と、
この領域内をブロックに分割する手段と、
各ブロックに対して、各々の属性に固有のラベルを割り当てるラベル付け手段と、上記ラベルをフレーム毎に保持する記億手段と、
現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する決定手段と、
少なくとも上記記憶手段に保持された前フレームのラベルと上記参照ブロックによって予測値を決定する予測手段と、
上記符号化ブロックのラベル情報を、上記予測値を用いて符号化する符号化手段とを有して構成するようにした。
また、アルファマップのブロック毎の属性を再生する復号化装置として、
復号化したラベルをフレーム毎に保持する記憶手段と、
現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する決定手段と、
少なくとも上記記億手段に保持された前フレームのラベルと上記参照ブロックによつて予測値を決定する予測手段と、
上記復号ブロックのラベル情報を、上記予測値を用いて復号化する復号化手段を備えて構成するようにした。
これらにより、アルファマップをマクロブロック(画像を例えば、16×16画素といった所定の複数画素構成に分割した場合のその分割した単位画像ブロック)毎に符号化する際に、各ブロックの属性に固有のラベルを付してこれを符号化するようにし、このラベルを再生して元のアルファマップのデータを再生することにより、効率の良い符号化できるようになる。
また、本発明は、画像を、その画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップと共に符号化するに当たり、アルファマップをブロック毎に符号化する際に、ブロック毎の属性を符号化するようにした方式の画像符号化装置であって、
オブジェクトを含む、ブロックサイズの倍数で表される符号化領域を設定する手段と、この領域内をブロックに分割する手段と、各ブロックに対して、各々の属性に固有のラベルを割り当てるラベル付け手段と、上記ラベルあるいは上記アルファマップをフレーム毎に保持する記億手段と、現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する決定手段と、少なくとも上記記憶手段に保持された前フレームのラベルあるいはアルファマップと、上記参照ブロックによって予測値を決定する予測手段と、上記符号化ブロックのラベル情報を、上記予測値を用いて符号化する符号化手段とを有する構成とする。
さらには、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化する手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備えるようにする。
あるいは、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化する手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備え、また、上記予測手段は、参照ブロックが複数ある場合には、上記複数の参照ブロックのラベルのうち、数が多いラベルを予測値とする手段を備えるようにする。
あるいは、フレーム単位での縮小・拡大率を保持する記憶手段を設けると共に、 上記符号化手段は、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大縮率対応に符号化するものであって、前フレームあるいは現フレームあるいはその両方の縮小・拡大率に応じて、複数種のうちから選択した一つの可変長符号化テーブルを用いて符号化ブロックの符号化処理をする手段を備え、また、上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から得た前フレームの縮小・拡大率を用いて現フレームの符号化ブロックに対応する前フレームの参照ブロックを決定する手段を備える。
また、アルファマップのブロック毎の属性を再生する復号化装置において、
復号化したラベルあるいはアルファマップをフレーム毎に保持する記憶手段と、現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する決定手段と、少なくとも上記記億手段に保持された前フレームのラベルあるいはアルファマップと上記参照ブロックによつて予測値を決定する予測手段と、上記復号ブロックのラベル情報を、上記予測値を用いて復号化する復号化手段を有することを特徴とする。
そして、さらには、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
上記縮小・拡大情報を保持する記憶手段とを有し、
上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備えるものであることを特徴とする。
あるいは、フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
上記縮小・拡大情報を保持する記憶手段とを有し、
上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、上記予測手段は、参照ブロックが複数ある場合には、複数の参照ブロックのラベルのうち、数が多いラベルを予測値とするものであることを特徴とする。
また、水平・垂直方向共に1/2N (N=1,2,3,…)に縮小された2値画像のブロックを拡大する拡大回路として、
該ブロック近傍再生値を保持するメモリと、該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、水平・垂直共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大する手段とを備え、上記拡大手段においては、常に1/2N に縮小された参照画素値を用いることを特徴とする。
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置であって、
上記フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域を設定する設定手段と、この設定手段により設定された領域内をブロックに分割する分割手段と、分割された上記ブロック内を動き補償予測するために必要な動きベクトルを予測符号化する手段とを有する画像符号化装置において、
参照フレーム内の領域のフレーム内における位置を表す第1の位置べクトルを保持するメモリと、該参照フレーム内領域のフレーム内での位置を表す第2の位置ベクトルを符号化する符号化手段と、符号化対象ブロック近傍の再生済みのブロックの動きベクトルを保持する動きべクトルメモリと、上記動きベクトルメモリに蓄えられている動きべクトルを用いて、符号化対象ブロックの動きベクトルを予測する手段とを備えてなり、
上記予測手段において使用する動きベクトルが、前記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置べクトルとの差分べクトルと、ゼロベクトルを切り換えて用いるようにすることを特徴とする。
また、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置であって、該フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域をブロック毎に再生する画像復号化装置において、
上記ブロック内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、参照フレーム内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、参照フレーム内の領域のフレーム内での位置を表す第1の位置ベクトルを保持するメモリと、該フレーム内の領域のフレーム内での位置を表す第2の位置ベクトルを復号化する手段と、復号化対象ブロック近傍の補正済みのブロックの動きベクトルを保持する動きベクトルメモリと、上記動きベクトルメモリに保持された動きベクトルを用いて、復号化対象ブロックの動きベクトルを予測する予測手段とを有し、
上記予測手段で使用するための動きべクトルが、上記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルのいずれかとすることを特徴とする。
本発明によれば、アルファマップの符号量を低減することができるため、フレーム単位で符号化する従来の符号化法と比べて、大幅な符号化効率の低下なしにオブジェクト毎に別々に符号化することができるようになる。
以下、本発明の具体例について、図面を参照して説明する。初めに、本発明が適用される画像符号化および画像復号化装置について概略を説明しておく。
(本発明が適用される画像符号化および画像復号化装置)
図1は、画像を符号化する場合に、画面内を背景とオブジェクトに分割して符号化する方式であって本発明を適用した画像符号化装置のブロック図である。本発明における画像符号化装置は、図1に示すように、差分回路100、動き補償予測回路(MC)110、直交変換回路120、量子化回路130、可変長符号化回路(VLC)140、逆量子化回路(IQ)150、逆直交変換回路160、加算回路170、多重化回路180、アルファマップ符号化回路200とから構成される。
アルファマップ符号化回路200は、入力されたアルファマップを符号化し、この符号化された信号をアルファマップ信号として多重化回路180に出力する機能と、このアルファマップ信号を復号して局部復号信号として出力する機能を有する。
特に、本アルファマップ符号化回路200は、入力されたアルファマップを符号化するにあたり、与えられた縮小率(倍率)で解像度を縮小する処理を行い、この解像度縮小処理されたものを符号化すると共に、この符号化したものと縮小率の情報(倍率情報)とを多重化してこれをアルファマップ信号として多重化回路180に出力する機能を有する。そして、局部復号信号としては、解像度縮小処理されたものを元の解像度に戻す処理をして得たものを用いる構成である。
差分回路100は、動き補償予測回路110より供給される動き補償予測信号と入力画像信号との差分信号を算出するものであり、直交変換回路120は、差分回路100から供給された差分信号を、アルファマップの情報にしたがって、直交変換係数に変換して出力するものである。
量子化回路130はこの直交変換回路120により得られた直交変換係数を量子化する回路であり、可変長符号化回路140はこの量子化回路130の出力を符号化して出力するものである。多重化回路180はこの可変長符号化回路140により符号化されたものと、前記アルファマップ信号とを、動きベクトル情報等のサイド情報と共に多重化多重化してビットストリームとして出力するものである。
逆量子化回路150は量子化回路130の出力を逆量子化するものであり、逆直交変換回路160はこの逆量子化回路150の出力を前記アルファマップに基いて逆直交変換するものであり、加算回路170はこの逆直交変換回路160の出力と動き補償予測回路110から与えられる予測信号(動き補償予測信号)とを加算して差分回路100に出力するものである。
動き補償予測回路110は、フレームメモリを有し、アルファマップ復号化回路200から与えられる局部復号信号にもとづいて動作してオブジェクト領域の信号、背景領域の信号を蓄積する機能を有する。また、動き補償予測回路110は蓄積したオブジェクト領域の画像から動き補償値を予測して予測値として出力し、また、蓄積した背景領域の画像から動き補償値を予測して予測値として出力する機能を有する。
このような構成の本装置の作用を説明する。本装置には、画像信号とその画像信号のアルファマップが入力される。
そして、これらのうち、画像信号はフレーム毎にそれぞれ所定画素サイズ(例えば、M×N画素(M:水平方向の画素数、N:垂直方向の画素数))のブロックに分割された後、ブロック位置順に信号線10を介して差分回路100に供給される。そして、差分回路100では、この入力(画像信号)と、予測信号(オブジェクト予測回路110からの動き補償予測信号の出力)との差分信号が算出され、直交変換回路120に供給される。
直交変換回路120では、供給された差分信号を、信号線40を介してアルファマップ符号化回路200から供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そして、ここで量子化される。量子化回路130にて量子化されて得られた変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。
逆量子化回路150に供給された変換係数は、ここで逆量子化された後、逆直交変換回路160において逆変換される。そして、加算回路170において動き補償予測回路110より供給される動き補償予測値と加算され、局部復号画像として出力されて、再び動き補償予測回路110に入力される。
そして、この加算回路170の出力である局部復号画像は、動き補償予測回路110内のフレームメモリに蓄えられる。
一方、この動き補償予測回路110は、アルファマップ復号化回路200から与えられる局部復号信号に基づいてオブジェクトの領域のブロックの処理のタイミングでは“オブジェクトの動き補償予測値”を、また、それ以外のタイミングでは“背景部分の動き補償予測値”を出力して差分回路100に与える。
すなわち、動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、オブジェクトのブロック対応部分の画像信号が差分回路100に入力されているのか、あるいは背景部分のブロック対応部分の画像信号が差分回路100に入力されているのかを知り、オブジェクトのブロック対応部分の画像信号の入力期間中であれば、オブジェクトの動き補償予測信号を、そして、背景部分のブロック対応部分の画像信号入力期間中であれば、背景の動き補償予測信号を、差分回路100に与える。
差分回路100では、この入力された画像信号と、その画像の領域対応の予測信号との差を算出するので、その結果、入力画像がオブジェクト対応の領域のものであれば、そのオブジェクトの対応位置での予測値との差分信号が、また、入力画像が背景の領域のものであれば、その背景位置対応の予測値との差分信号が算出され、直交変換回路120に供給される。
直交変換回路120では、供給された差分信号を信号線40を介して供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そして、直交変換係数はこの量子化回路130にて量子化される。
量子化回路130にて量子化された変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。そして、逆量子化回路150に供給された変換係数はここで逆量子化された後、逆直交変換回路160において逆変換されて加算回路170に供給される。そして、予測値切り換え回路500を介して加算回路170に供給される予測値と加算されることになる。
加算回路170の出力である局部復号画像の信号は、動き補償予測回路110に供給される。そして、この動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、加算回路170からオブジェクトのブロック対応の信号が出力されているのか、あるいは背景部分のブロック対応の信号が出力されているのかを知り、その結果、オブジェクトのブロック対応の信号の出力中であれば、オブジェクト用のフレームメモリに、また、背景部分のブロック対応の信号の出力中であれば、背景用のメモリに与えるべく動作して対応のメモリに蓄える。
そして、これにより、オブジェクト用のフレームメモリにはオブジェクト画像のみが、また、背景用のメモリには背景画像のみの画像が得られることになる。これにより、動き補償予測回路110はオブジェクト画像を利用してオブジェクト画像の予測値を求めることができ、また、背景部分の画像を利用して背景画像の予測値を求めることができる。
上述したように、アルファマップ符号化回路200では、入力されるアルファマップを符号化し、この符号化されたアルファマップ信号を信号線30を介して多重化回路180に供給している。
また、多重化回路180には、可変長符号化回路140から出力された変換係数が線40を介して供給されている。そして、多重化回路180は供給されているこれらアルファマップ信号および変換係数の符号化値とを、動きベクトル情報等のサイド情報と共に多重化した後、信号線50を介して出力して本画像符号化装置の最終出力としての符号化ビットストリームとなる。
以上が符号化装置の構成と作用であり、画像の誤差信号を得るにあたって、オブジェクト用および背景用の画像により動き補償予測を行うべく、アルファマップにしたがって処理中の画像の現在ブロック位置がオブジェクト領域位置であるのか、背景領域位置であるのかを判別しながら、処理中の画像の現在ブロック位置がオブジェクト領域位置であればオブジェクト用の画像から求めた予測値を用い、背景領域位置であれば背景用の画像から求めた予測値を用いて差分を求めるようにした。
そして、オブジェクト用および背景用の予測には動き補償予測回路に、この差分から得た画像について、アルファマップにしたがってそれぞれ対応の領域部分の画像を保持させ、予測に供するようにした。これにより、オブジェクトおよび背景それぞれで最適な動き補償予測を行うことができるようになり、質の良い画像圧縮符号化と復号化を可能にする。
一方、図2は本発明が用いられる復号化装置のブロック図である。復号化装置は、図2に示すように、分離化回路300、可変長復号化回路310、逆量子化回路320、逆直交変換回路330、加算回路340、動き補償予測回路350、アルファマップ復号化回路400とより構成される。
分離化回路300は入力される符号化ビットストリームを分離化処理してアルファマップ信号と画像の符号化信号等を得る回路であり、アルファマップ復号化回路400はこの分離化回路300にて分離されたアルファマップ信号を復号してアルファマップを再生する回路である。
可変長復号化回路310は、分離化回路300にて分離された画像の符号化信号を復号するものであり、逆量子化回路320はこの復号されたものを逆量子化して元の係数に戻すものであり、逆直交変換回路330はこの係数をアルファマップにしたがって逆直交変換して予測誤差信号に戻すものであり、加算回路340は、この予測誤差信号に動き補償予測回路350からの動き補償予測値を加算して再生画像信号として出力するものである。この再生画像信号が復号化装置の最終出力となる。
動き補償予測回路350は、加算回路340から出力された再生画像信号をアルファマップにしたがってフレームメモリに蓄積することによりオブジェクト画像と背景画像とを得ると共に、この蓄積されて得られた画像からオブジェクトの動き補償予測信号、背景の動き補償予測を得るものである。
このような構成の復号化装置においては、符号化ビットストリームは、線70を介して分離化回路300に供給され、分離化回路300において各々の情報毎に分離されることにより、アルファマップ信号に関する符号と、画像信号の可変長符号とに分けられる。
そして、アルファマップ信号に関する符号は、信号線80を介してアルファマップ復号化回路400に供給され、また、画像信号の可変長符号は可変長復号化回路310にそれぞれ供給される。
アルファマップ信号に関する符号はアルファマップ復号化回路400においてアルファマップ信号に再生され、信号線90を介して逆直交変換回路330と動き補償予測回路350に出力される。
一方、可変長復号化回路310では、分離化回路300から供給される符号を復号し、逆量子化回路320に供給して、ここで逆量子化する。逆量子化された変換係数は、線90を介して供給されるアルファマップにしたがって逆直交変換回路330により逆変換され、加算回路340に供給される。加算回路340では、逆直交変換回路330からの逆直交変換された信号と、動き補償予測回路350より供給される動き補償予測信号とを加算し、再生画像を得る。
以上が本発明を適用する画像符号化装置および画像復号化装置の概要である。 本発明は、図1に示す符号化装置の構成要素であるアルファマップ符号化回路200および図2に示す復号化装置の構成要素であるアルファマップ復号化回路400に関わるものであり、具体的な実施形態を示すものである。
本発明の要部詳細の説明に入る前に、先行技術としてのアルファマップ符号化回路200に触れておく。図3は、先行技術(特願平8−237053号)におけるアルファマップ符号化回路200の構成を示すブロック図である。図に示すように、先行技術におけるアルファマップ符号化回路200は、解像度変換回路(縮小回路)210、(拡大回路)230、2値画像符号化回路(block-based MMR encoder )220、多重化回路240とから構成されている。
これらのうち、解像度変換回路210は解像度縮小変換用の変換回路であり、与えられる拡大率に従った縮小率でアルファマップを符号化し、また、解像度変換回路230は解像度縮拡大変換用の変換回路であって、与えられる拡大率に従った拡大率でアルファマップを符号化する機能を有する。
解像度変換回路230は解像度変換回路210が解像度縮小変換したものを元のサイズに戻すために設けてあり、この解像度変換回路230により元のサイズに戻されたアルファマップが、信号線40を介して直交変換回路120,逆直交変換回路160に与えられるアルファマップ局部復号信号となる。
2値画像符号化回路220は解像度変換回路210の出力する解像度縮小変換されたアルファマップ信号を2値画像符号化して出力するものであり、多重化回路240は2値画像符号化出力と前記信号線60を介して与えられる拡大率の情報とを多重化して出力するものである。
このような構成のアルファマップ符号化回路200においては、アルファマップ信号入力線20を介して入力されるアルファマップを、解像度変換回路210により指定の拡大率で縮小符号化し、この符号化されたアルファマップ信号を信号線30を介して出力し、また、縮小符号化されたアルファマップ信号を解像度変換回路230により元の解像度に復号して得た局部復号信号を信号線40を介して直交変換回路120,逆直交変換回路160に出力する。
すなわち、信号線60を介してアルファマップ符号化回路200に所望とする縮小・拡大率の設定情報を供給することで、上記トレードオフを図ることが可能となる。
信号線60を介して供給された縮小・拡大率の設定情報信号は、解像度変換回路210,230、2値画像符号化回路220に供給され、アルファマップ信号の発生符号量を制御することが可能となる。また、信号線60を介して供給された縮小・拡大率の符号(設定情報信号)は、多重化回路240にて、符号化されたアルファマップ信号と多重化され、信号線30を介して出力され、アルファマップの符号化信号として画像符号化装置の最終出力段である多重化回路180に与えられることになる。
次に先行技術としてのアルファマップ復号化回路400に触れておく。図4は先行技術(特願平8−237053号)における具体的なアルファマップ復号化回路400である。
図に示すように、アルファマップ復号化回路400は、2値画像復号化回路410(block-based MMR decoder )、解像度変換回路420、分離化回路430にて構成される。
分離化回路430は、図2に示す画像復号化装置内の分離化回路300で分離されて当該アルファマップ復号化回路400に入力されたアルファマップ信号からアルファマップ信号の符号と縮小・拡大率の符号(縮小・拡大率の設定情報信号)に分離する回路であり、2値画像復号化回路410はアルファマップ信号の符号を、分離化回路430から分離して与えられる縮小・拡大率の符号にしたがって2値画像に戻す回路であり、解像度変換回路420はこの2値画像を、分離化回路430から分離して与えられる縮小・拡大率の符号にしたがって解像度拡大変換して出力するものである。
図4において、信号線80を介してアルファマップ復号化回路400に供給された符号は、分離化回路430によりアルファマップ信号の符号と縮小・拡大率の符号に分離され、各々信号線81および信号線82を介して出力される。
2値画像復号化回路410では、信号線81を介して供給されるアルファマップ信号の符号と信号線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を再生し、信号線83を介して解像度変換回路420に供給する。解像度変換回路420では、信号線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を元のサイズに拡大してアルファマップ信号を再生した後、信号線90を介して出力する。
以上が、本発明を適用する前提となる符号化回路および復号化回路の概要である。
次に、このような符号化回路および復号化回路に適用する本発明の詳細を説明する。はじめに、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化するにあたり、出現頻度の多いシンボルには短い符号を割り当てるように可変長符号化テーブル(VLCテーブル)を作っておくことにより、総符号量を少なくする場合に、既に符号化/復号化されたアルファマップの画素パターンによって、可変長符号化テーブル(VLCテーブル)を適応的に切り替えることで、さらに符号量を削減するようにした具体例を説明する。
(第1の具体例)
第1の具体例に示す本発明は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化し、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものである。
本発明の第1の具体例を説明する。
図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”を出力する。
一方、図4の2値画像復号化回路410では、符号化に利用したもの同じ図17のVLCテーブルを用いて、例えば、入力された符号が“1”である場合には“V0を再”生し、入力された符号が“0001”である場合には“EOMB”を再生する。
この場合に、出現頻度の多いシンボルには短い符号を割り当てるように可変長符号化テーブル(VLCテーブル)を作っておけば、総符号量を少なくできる。
本発明は、既に符号化/復号化されたアルファマップの画素パターンによって、可変長符号化テーブル(VLCテーブル)を適応的に切り替えることで、さらに符号量を削減するものである。
<第1の具体例の符号化回路の構成>
図5は、図1のアルファマップ符号化回路200あるいは、図3の2値画像符号化回路220をより詳細に表した、本発明の一具体例を示すブロック図である。
アルファマップ信号1は、a1検出回路2、及び符号化済みのアルファマップを保持するメモリ3に入力される。a1検出回路2では、図18等を用いて説明した変化画素a1の位置4が検出され、モード決定回路5に送られる。同時にまた、メモリ3からは参照変化画素b1の位置6がモード決定回路5に送られる。
モード決定回路5では、図19を用いて説明したアルゴリズムにより、モードが決定され、そのモードが、符号化されるシンボル7として符号化回路8に送られる。
メモリ3からは、符号化済みの参照変化画素b1の周囲のパターン9が、テーブル決定回路1−10に送られる。テーブル決定回路1−10では、複数の可変長符号化テーブルのうちの一つが選択されて出力される。
ここで、例えば、図7に示すように、参照変化画素b1の上方において、右上から左下向きのエッジがある場合は、参照変化画素b1の下方にも同じエッジが直線的に延びる場合が多いので、画素x1、x2、x3の中ではx1にa1がある確率が高い。
そこで、参照変化画素b1の上方がこのようなパターンの時には、VL1(r_a1−r_b1=−1)に短い符号を割り当てたテーブルを用いる。
<テーブル決定方法のより詳細な具体例>
テーブル決定方法のより詳細な具体例を図8と図9に示す。ここでは、図8に示した参照変化画素b1の上2ラインのc0〜c5に着目する。これらの画素が参照変化画素b1と同じ値なら“1”、異なる値なら“0”として、図9に示したように、c0〜c5の順序で“0”と“1”を並べる。
この2進数を10進数に変換したものをコンテキスト番号と呼ぶ。
そして、各々のコンテキスト番号に対応させて、例えば、
[コンテキスト番号=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の時]
以下省略
といったように可変長符号化テーブルを用意しておく。
このテーブルで、
VL1は、r_a1−r_b1=−1を表し、
VL2は、r_a1−r_b1=−2、
VR1は、r_a1−r_b1=1、
VR2は、r_a1−r_b1=2を表す。
図7はコンテキスト番号=1となるので、上のVL1が1ビットで符号化できるテーブルが選択される。
再び図5に戻り、説明を続ける。符号化回路8ではテーブル決定回路1−10から送られてくる選択されたテーブル11を用いて符号12が決定される。そして、その決定した符号12を出力する。
図6に、図2に示した復号化装置の構成要素としてのアルファマップ復号化回路400あるいは、図4に示した復号化装置の構成要素としての2値画像復号化回路410を、より詳細に表したブロック構成図を示す。これは、図5の具体例で生成される符号12を復号するものである。
符号12は復号化回路13に入力される。
メモリ14にはそれまでに復号されたアルファマップが保持されており、参照変化画素b1の周囲のパターン15がテーブル決定回路16に送られる。
テーブル決定回路16では、複数の可変長符号化テーブルのうちの一つが選択されたテーブル17として、復号化回路13に送られる。テーブル決定のアルゴリズムは図5のテーブル決定回路1−10と同じである。
テーブル17によって、シンボル18が復号され、a1再生回路19に送られる。a1再生回路19ではシンボル18とメモリ14から送られてくるb1の位置1−20によってa1の位置を求め、a1までのアルファマップ1−21を再生する。
再生されたアルファマップ1−21は出力され、また、今後の復号のためにメモリ14に保持される。
以上、第1の具体例は、複数の所定の可変長符号化テーブルを切り替えるものであるが、図10に、実際に生起したシンボルの頻度によって、テーブルをダイナミックに修正していく具体例を次に第2の具体例として示す。
(第2の具体例)
<第2の具体例の符号化装置の構成>
以上の第1の具体例は、複数の所定の可変長符号化テーブルを切り替えるものであるが、図10に、実際に生起したシンボルの頻度によって、テーブルをダイナミックに修正していく具体例を示す。これは第1の具体例の構成である図5の構成に、カウンタ22とハフマンテーブル生成回路23を加えた構成である。
カウンタ22にはモード決定回路5からのシンボル7と、テーブル決定回路1−10からのコンテキスト番号24が入力される。カウンタ22では、各シンボルの発生回数をコンテキスト番号別に保持する。
そして、一定の時間が経過した後にコンテキスト番号別に各シンボルの発生回数25がハフマンテーブル生成回路23に送られる。
ハフマンテーブル生成回路23では、ハフマン符号化(藤田「基礎情報理論」(昭晃堂)pp.52−53、1987年)によって符号化テーブル26が
生成される。そのテーブル26がテーブル決定回路1−10に送られて、該当するコンテキスト番号のテーブルがテーブル26で置き換えられる。このハフマンテーブルの生成と置き換えを全てのコンテキスト番号について行う。
<第2の具体例の復号化装置の構成>
図10の具体例で生成される符号を復号するための復号化装置を図11に示す。図11に示す第1の具体例としての復号化装置も、やはり、図6ににカウンタ27とハフマンテーブル生成回路28を加えた構成である。
カウンタ27とハフマンテーブル生成回路28の動作は図10と同じである。 以上述べたように、第1および第2の具体例は、変化画素の位置を特定するシンボルを可変長符号化テーブルを用いて符号化することにより符号量を少なくするようにした符号化/復号化において、複数種の可変長符号化テーブルを用意しておき、既に符号化した前記アルファマップのパターンによって、その可変長符号化テーブルを切り替えることを特徴とするものであり、このような本発明によれば、アルファマップの符号量をいっそう低減できる効果が得られる。
次に、相対アドレス符号化の参照変化画素を、M×N画素(M:水平方向の画素数、N:垂直方向の画素数)構成のブロック内の画素値からでなく、動き補償予測信号から求めるようにした具体例を第3の具体例として説明する。
(第3の具体例)
第3の具体例は、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からだけでなく、動き補償予測信号からも求められることを特徴とするものである。
図12は、第3の具体例としてのアルファマップ符号化回路を説明するブロック図である。また、図13は、第3の具体例としてのアルファマップ復号化回路を説明するブロック図である。
図12、図13および図14を用いて本発明のアルファマップ符号化回路200およびアルファマップ復号化回路400を説明する。
第3の具体例においては、図3に示すアルファマップ符号化回路200を、図12の如く構成し、また、図4に示すアルファマップ復号化回路400を、図13の如く構成する。
図12に示すように、本具体例のアルファマップ符号化回路200は、解像度変換回路(縮小処理用回路)210、解像度変換回路(拡大処理用回路)230、2値画像符号化回路(block-based MMR encoder )220、多重化回路240、そして、さらに動き補償予測回路250および縮小回路260とから構成されている。
これらのうち、解像度変換回路210は解像度縮小変換用の変換回路であり、与えられる縮小・拡大率の設定情報信号に従った縮小率でアルファマップを符号化し、また、解像度変換回路230は解像度縮拡大変換用の変換回路であって、与えられる拡大率に従った拡大率でアルファマップを符号化する機能を有する。
解像度変換回路230は解像度変換回路210が解像度縮小変換したものを元のサイズに戻すために設けてあり、この解像度変換回路230により元のサイズに戻されたアルファマップが、信号線40を介して直交変換回路120,逆直交変換回路160に与えられるアルファマップ局部復号信号となる。
2値画像符号化回路220は、解像度変換回路210の出力する解像度縮小変換されたアルファマップ信号を2値画像符号化して出力するものであって、詳細は後述するが、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化するものである。また、多重化回路240は2値画像符号化出力と前記与えられる拡大率の情報とを多重化して出力するものである。
第3の具体例における符号化回路の構成は、動き補償予測回路250および縮小処理用の解像度変換回路260を備えている点が、上述した先行技術の構成(図3の回路)と異なるものであり、動き補償予測回路250には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されていて、拡大回路230より供給される再生信号が蓄えることができる構成であると共に、更に、動き補償予測回路250には、動きベクトル信号(図示せず)が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線41を介して縮小処理用の解像度変換回路260に供給する構成としてある。
縮小処理用の解像度変換回路260は、信号線41を介して供給される動き補償予測回路250からの動き補償信号を、信号線60を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線42を介して2値画像符号化回路220に出力する。
なお、2値画像符号化回路220として構成する場合では、信号線21を介して供給される解像度変換回路210からの解像度縮小変換されたアルファマップ信号を2値画像符号化して出力する。
このような構成のアルファマップ符号化回路200においては、信号線60を介して供給される縮小・拡大率の設定情報信号は、解像度変換回路210,230,260、および2値画像符号化回路220に供給され、アルファマップ信号の発生符号量を制御することを可能とする。また、信号線60を介して供給された縮小・拡大率の符号(設定情報信号)は、多重化回路240にて、符号化されたアルファマップ信号と多重化され、信号線30を介して出力され、アルファマップの符号化信号として画像符号化装置の最終出力段である図1の多重化回路180に与えられることになる。
本装置では、アルファマップ信号入力線20を介して入力されるアルファマップを、信号線60を介して与えられる所望の縮小・拡大率の設定情報に従って解像度変換回路210は縮小符号化し、2値画像符号化回路220に与える。
2値画像符号化回路220は、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化し、2値画像符号化出力として多重化回路240と解像度変換回路230とに与える。そして、多重化回路240はこの2値画像符号化出力である符号化されたアルファマップ信号と、前記信号線60を介して与えられる拡大率の情報とを多重化して信号線30に出力する。
一方、解像度変換回路230では、この2値画像符号化回路220から与えられたこの縮小符号化されたアルファマップ信号(2値画像符号化出力)を、信号線60を介して得た縮小・拡大率の設定情報信号に従って元の解像度に復号し、局部復号信号として得て、この得た局部復号信号を信号線40を介して動き補償予測回路250および図1の直交変換回路120,逆直交変換回路160に出力する。
一方、動き補償予測回路250には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大処理用の解像度変換回路230より供給される再生信号が蓄えられる。そして、動き補償予測回路250は、別途供給される動きベクトル信号にしたがってアルファマップの動き補償予測信号を生成し、信号線41を介して縮小処理用の解像度変換回路260に供給する。解像度変換回路260はこの供給された動き補償予測信号を、信号線60を介して得た縮小・拡大率の設定情報信号に従って解像度縮小変換し、2値画像符号化回路220に与える。
2値画像符号化回路220は、縮小処理用の解像度変換回路260から与えられた解像度縮小変換されたアルファマップの動き補償予測信号を利用し、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を符号化する。
以上が、第3の具体例のアルファマップ符号化回路の概要である。アルファマップ復号化回路は次のようになる。
図13に示すように、本具体例のアルファマップ復号化回路400は、2値画像復号化回路410(block-based MMR decoder )、解像度変換回路(拡大処理用回路)420、分離化回路430、そして、さらに動き補償予測回路440、および解像度変換回路(縮小処理用回路)450にて構成されている。
これらのうち、分離化回路430は、図2に示す画像復号化装置内の分離化回路300で分離され、当該アルファマップ復号化回路400に入力されたアルファマップ信号からアルファマップ信号の符号と縮小・拡大率の符号に分離する回路であり、2値画像復号化回路410はアルファマップ信号の符号を、分離化回路430から分離して与えられる縮小・拡大率の符号(縮小・拡大率の設定情報信号)にしたがって2値画像に戻す回路であり、詳細は後述するが、縮小処理用の解像度変換回路450から信号線92にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して復号化するものである。
拡大処理用の解像度変換回路420はこの2値画像復号化回路410からのアルファマップ信号の符号である2値画像を、分離化回路430から分離して与えられる縮小・拡大率の符号(縮小・拡大率の設定情報信号)にしたがって解像度拡大変換して出力するものである。
第3の具体例における復号化回路の構成は、動き補償予測回路440および縮小処理用の解像度変換回路450を備えている点が、上述した先行技術の構成 (図4の回路)と異なるものである。そして、動き補償予測回路440は、先に符号化されたフレームの再生画像を蓄積するフレームメモリを有しており、拡大処理用の解像度変換回路420より供給される再生信号を蓄えると共に、動きベクトル信号(図示せず)が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線91を介して縮小処理用の解像度変換回路450に供給する構成となっている。
解像度変換回路450はこの動き補償予測信号を、信号線82を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線92を介して2値画像復号化回路410に出力する。
このような構成のアルファマップ復号化回路400においては、信号線80を介してアルファマップ復号化回路400に供給された符号は、分離化回路430によりアルファマップ信号の符号と縮小・拡大率の符号に分離され、各々信号線81および信号線82を介して出力される。
2値画像復号化回路410では、詳細は後述するが、縮小処理用の解像度変換回路450から信号線92にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用し、信号線81を介して供給されるアルファマップ信号の符号と信号線82を介して供給される縮小・拡大率の符号(縮小・拡大率の設定情報信号)に従って2値画像に戻す復号化処理を施すことにより、縮小されているアルファマップ信号を再生し、信号線83を介して解像度変換回路420に供給する。
解像度変換回路420では、2値画像復号化回路410の再生した縮小されているアルファマップ信号を、信号線82を介して供給される縮小・拡大率の符号に基づいて元のサイズに拡大してアルファマップ信号を再生した後、信号線90を介して出力する。
2値画像符号化回路220は、解像度変換回路210から得られた解像度縮小変換済みアルファマップ信号を、縮小処理用の解像度変換回路260から信号線42にて供給される解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化し、2値画像符号化出力として多重化回路240と解像度変換回路230とに与える。そして、多重化回路240はこの2値画像符号化出力である符号化されたアルファマップ信号と、前記信号線60を介して与えられる拡大率の情報とを多重化して信号線30に出力する。
一方、解像度変換回路420では、この2値画像復号化回路410から与えられたこの縮小符号化されたアルファマップ信号(2値画像符号化出力)を、信号線82を介して得た縮小・拡大率の設定情報信号に従って元の解像度に復号し、局部復号信号として得て、この得た局部復号信号を動き補償予測回路440に出力する。
一方、動き補償予測回路440には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大処理用の解像度変換回路420より供給される再生信号が蓄えられる。そして、動き補償予測回路420は、別途供給される動きベクトル信号にしたがってアルファマップの動き補償予測信号を生成し、信号線91を介して縮小処理用の解像度変換回路450に供給する。解像度変換回路450はこの供給された動き補償予測信号を、信号線82を介して得た縮小・拡大率の設定情報信号に従って解像度縮小変換し、2値画像復号化回路410に与える。
2値画像復号化回路410は、縮小処理用の解像度変換回路450から与えられた解像度縮小変換されたアルファマップの動き補償予測信号を利用し、分離化回路430からの縮小・拡大率の設定情報信号に従って、分離化回路430からのアルファマップ信号を復号化する。
以上が、本発明を適用した復号化回路の概要である。
既に説明しているように、本発明を適用した第3の具体例における符号化回路の構成は、動き補償予測回路250および縮小回路260を備えている点が先行技術の構成(図3の回路)と異なり、また、復号化回路の構成は、動き補償予測回路440および縮小回路450を備えている点が先行技術の構成(図4の回路)と異なる。
動き補償予測回路250または440には、先に符号化されたフレームの再生画像を蓄積するフレームメモリが具備されており、拡大回路230または420より供給される再生信号が蓄えられる。更に、動き補償予測回路250または440には、ここには図示していない動きベクトル信号が供給され、この動きベクトル信号にしたがって動き補償予測信号を生成し、信号線41および信号線91を介して縮小回路260または450に供給する。
ここで、動きベクトル信号は、図1および図2の装置に具備されている、動き補償予測回路110または350で用いられる動きベクトル信号を利用しても良いし、アルファマップ符号化回路200において、アルファマップ用の動きベクトル検出回路を具備することにより、アルファマップ用の動きベクトル信号を求めても良い。
すなわち、動き補償予測回路250または440に供給される動きベクトル信号の求め方は種々知られており、本発明に関わるものではないため、ここではこれ以上言及しない。
縮小回路260または450においては、信号線41および信号線91を介して供給される動き補償信号を、信号線60および信号線82を介して供給される縮小・拡大率の設定情報信号に応じて縮小した後、信号線42および信号線92を介して出力する。
なお、2値画像符号化回路220として構成する場合では、信号線21を介して供給される解像度縮小変換されたアルファマップ信号を2値画像符号化して出力する。
ここで、本具体例にかかる2値画像符号化回路220が上述した先行技術と根本的に異なる点は、信号線42を介して供給される、解像度縮小変換されたアルファマップの動き補償予測信号を利用して符号化する機能を具備していることである。
このことについて、詳しく説明する。
図14は、動き補償予測信号を利用して符号化する方法を説明する図であり、フレーム画像単位の画像における分割されたN×M画素構成の画像ブロックのうちの一つを示している。
図14において、“current block ”は処理対象ブロックであり、入力された現在の処理画像のブロックである。また、“compensated block ”は補償ブロックであり、前回処理対象となった画像のブロックである。
本発明の適用前提となる先行技術では、現在の処理対象画像のブロックに対応するアルファマップの該当ブロック上での参照変化画素b1を変化画素a0、a1と同じ“current block ”内で検出していた。
一方、本発明では、参照変化画素b1を動き補償予測信号である“compensated block ”内から検出しており、この点が新しい概念である。すなわち、現在の処理対象画像のブロックに対応するアルファマップの該当ブロック上での参照変化画素b1を、動き補償予測信号である“compensated block ”内から検出している。
なお、本発明は、参照変化画素b1の検出手段が異なるだけで、a0 、a1およびb1の相対アドレスを用いて符号化・復号化を行う点は、先行技術と同一である。
図14において、a0 は起点変化画素であり、すでに起点変化画素a0 までは符号化が済んでいる。また、a1 は、起点変化画素a0 の次の変化画素であり、b0 は、“ compensated block”内において、a0 と同じ位置の画素(変化画素とは限らない)である。また、a0 (b0 )が属するラインを“a0 - line”と表記すると、参照変化画素b1は次のように定義される。
ここで、abs_Xをブロック左上の画素からブロック内をラスタ順にスキャンした際の、画素Xのアドレスとする。なお、ブロック左上の画素のアドレスは“0”とする。
abs_b0 <abs_b1 であり、符号“×”を付して示す画素は変化画素であって、変化画素×が“a0 - line”上にある場合には、“a0 ”と反対色の最初の変加画素を参照変化画素b1とし、変化画素が“a0 - line”上にない場合は、該ライン上の最初の変加画素を参照変化画素b1 とする。
図14(a)は変化画素が“a0_line”上にない場合であり、この場合、次のラインの最初の変化画素を“b1 ”としている。
また、図14(b)は、変化画素が“a0 - line”上にある場合であるが、この変化画素×は、“a”と反対色ではないので“b1”とはせずに、次のラインの最初の変化画素を“b1”としている。
なお、“a0 - line”および“r_ai (i=0 〜1)”、“r_b1 ”の値は、以下の式で求められる。
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 はブロックの水平方向の画素数を示している。
本発明では、参照変化画素b1の定義が先行技術とは変わったため、“r_ b1 ”の定義も、上式のように変更される。
図14を用いて説明した例は、“ compensated block”内から参照変化画素b1を求める手段の一例であり、参照変化画素b1の検出については種々変形が可能である。
また、2値画像復号化回路においては、信号線92を介して供給される解像度縮小変換されたアルファマップの動き補償予測信号(“ compensated block”)を利用して、2値画像符号化回路220と同一の手順で参照変化画素b1を検出する。
更に、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、たとえばブロック単位で切り替えるようにすることもできる。この際、2値画像符号化回路220では切り替え用の情報も併せて符号化し、2値画像復号化回路410では当該切り替え用の情報も復号化して、復号化処理の際には当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、たとえばブロック単位で切り替えるようにする。
このようにすると、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
また、先行技術と同様、スキャン順序を切り替える手段を具備して図15(a)に示すように、スキャン順序を横方向スキャンに切り替えたり、図15(b)に示すように、縦方向スキャンに切り替えるようにすることで、変化画素の数が減り、更に符号量が削減されて、これも一層、効率の良い符号化につながる。
以上、第3の具体例は、時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置における、オブジェクトの形状を表すアルファマップを符号化する符号化回路であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割する手段と、この分割されて得られた上記ブロックを、前記方形領域内において一定規則により順次、符号化する手段とを有し、ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置において、
ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、相対アドレス符号化の参照変化画素を、上記ブロック内の画素値からでなく、動き補償予測信号から求めるようにしたものである。
これにより、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようになる。
また、ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、前記再生値蓄積手段の蓄積再生値の情報を参照し、ブロック近傍の再生値も含めて変化画素を検出する手段と、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段とを有し、相対アドレス符号化情報を、切り替え情報と共に符号化するものである。
また、アルファマップ復号化回路において、M×N画素で構成されるブロック毎に、オブジェクトを含む方形領域内を一定規則で順次復号化する手段と、ブロック近傍の再生値を蓄える再生値蓄積手段と、すでに符号化されたフレームの再生信号を蓄えるフレームメモリと、フレームメモリ内の再生信号を用いて、動き補償予測値を生成する動き補償予測回路と、ブロック近傍の再生値も含めて変化画素を検出する手段とを有し、上記ブロック内の再生画素値から求められた、相対アドレス符号化の参照変化画素と、動き補償予測信号から求められた、相対アドレス符号化の参照変化画素を切り替える手段を有し、切り替え情報にしたがって参照変化画素を求めるようにしたものである。
この場合、相対アドレス符号化にあたり、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えて処理することができ、符号化側ではこの切り替え用の情報も併せて符号化し、復号化側ではこれを復号化して、符号化されたアルファマップの復号化処理の際に当該切り替え用の情報に基づいて、参照変化画素b1を“current block ”内より検出するか、“ compensated block”内より検出するかを、ブロック単位で切り替えるようにすることができ、このようにすることによって、ブロック単位の画像内容に基づいて、最適処理が可能になり、一層、効率の良い符号化が可能になる。
以上、本発明によれば、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようにした画像符号化装置および画像復号化装置が得られる。
以上の具体例は、アルファマップ符号化回路200の構成において、MMR(Modified Modified READ)符号化を用いた場合の例を説明したものであった。しかし、本発明はMMR符号化に限定されるものではなく、他の任意の2値画像符号化回路を用いても実現可能である。そこで、そのような例を以下説明する。
(第4の具体例)
図21、図22および図20を用いてアルファマップ符号化回路200およびアルファマップ復号化回路400の具体的な構成を説明する。
図20は、アルファマップの画面内を例えば、16×16画素といった所定の複数画素構成によるマクロブロック(MB)単位に分割した図であり、正方形の升目で示したものが分割の境界線であって、升目一つ一つがマクロブロック(MB)である。
2値で表現されたアルファマップの場合(オブジェクトを合成する際の重み係数も含めて多値で表現される場合もある)、オブジェクトの形状情報は画素毎に白か黒かのいずれかで表される。従って、図20に示されるように、アルファマップの画面における各マクロブロック(MB)の中身の状態は、“allW”(全て白)、“allB”(全て黒)、“Multi”(その他)の3種類のいずれかに分類される。
人物像のアルファマップである図20のような画面の場合、背景は“白”、人物部分は“黒”であるから、“Multi”に分類されるオブジェクトの境界部分が含まれるマクロブロック(MB)のみ、2値画像符号化すればよい。また、“Multi”に分類されるブロック(MB)の中でも、動き補償予測誤差値が設定値(しきい値)以下の場合には、該ブロック(MB)を動き補償予測値でコピーする。このように、コピーされるマクロブロック(MB)のモードを“copy”、2値面像符号化されるマクロブロック(MB)のモードを“coded”と表記すると、該マクロブロック(MB)の符号化モードは次の4通りとなる。
(1)“allW”
(2)“allB”
(3)“copy”
(4)“coded”
それぞれのモードの符号化法あるいは復号化法については、アルファマップ符号化回路200、アルファマップ復号化回路400の中で説明する。
<第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からなる。
これらのうち、ブロック内画素値設定回路1400はマクロブロック内の画素値を全て白とする画素データを発生する回路であり、ブロック内画素値設定回路1500はマクロブロック内の画素値を全て黒とする画素データを発生する回路である。
CR(縮小・拡大率)判定回路1110は、アルファマップ信号入力線20を介して供給されるアルファマップ信号を解析し、1フレーム分のアルファマップ画像をどの程度の縮小・拡大率で処理すべきかを判定すると共にその判定結果を縮小・拡大率情報b2として出力するものである。また、縮小回路1710はアルファマップ信号入力線20を介して供給されるアルファマップ信号をフレーム全体について、前記スキャンタイプ(ST)判定回路1770は2値画像符号化回路1700からの出力符号化出力を基にスキャン方向を判定してスキャン方向情報b4を出力するものである。
また、転置回路1750はこのスキャンタイプ(ST)判定回路1770の出力するスキャン方向情報b4を基に、前記縮小回路1710の縮小処理した1フレーム分のアルファマップ信号について各マクロブロックの位置を、転置処理する回路であり、転置回路1760はスキャンタイプ判定回路1770の出力するスキャン方向情報b4を基に、前記縮小回路1710,1720,1730の出力を転置処理して出力する回路であり、2値画像符号化回路1700はこれらの転置回路1750、1760を介して与えられた縮小アルファマップ信号を符号化処理して出力するものである。
また、拡大回路1720は縮小回路1710を介して与えられるアルファマップ信号を前記CR判定回路1110の出力する縮小・拡大率で拡大処理する回路であり、動き補償予測回路1600はフレームメモリ1300に蓄積されている参照フレームの再生画像を用いて動き補償予測信号を生成し、モード判定回路1100および縮小回路1740に出力するものであり、縮小回路1740は前記動き補償予測信号を前記CR判定回路1110の出力する縮小・拡大率で縮小処理する回路であり、縮小回路1730は前記フレームメモリ1300に蓄積されている参照フレームの再生画像を前記CR判定回路1110の出力する縮小・拡大率で縮小処理する回路である。
また、セレクタ1200はモード判定回路1100の出力する分類情報に従ってブロック内画素値設定回路1400からの再生信号m0,ブロック内画素値設定回路1500からの再生信号m1,動き補償予測回路1600からの動き補償予測信号m2,拡大回路1720からの再生信号m3のうち、所要のものを選択して出力する回路であり、フレームメモリ1300はこのセレクタ1200の出力をフレーム単位で記憶するメモリである。
また、モード判定回路1100は、動き補償予測回路1600からの動き補償予測信号と2値画像符号化回路1700からの符号化信号b4を参照して、アルファマップ信号入力線20を介して供給されるアルファマップ信号を解析し、マクロブロック毎に“allW”、“allB”、“copy”、“coded”の何れに分類されるかを判定すると共に判定結果をモード情報b0として出力するものである。
動きベクトル検出回路(MVE)1780は、アルファマップ信号入力線20を介して供給されるアルファマップ信号から動きベクトルを検出するものであり、MV符号化回路1790は、動きベクトル検出回路(MVE)1780で検出された動きベクトルを符号化し、その符号化結果を動きベクトル情報b1として出力するものである。例えば、MV符号化回路1970に予測符号化を適用した場合にはその予測誤差信号が動きベクトル情報b1として出力されることになる。
VLC(可変長符号化)・多重化回路1800は、モード判定回路1100からのモード情報b0およびMV符号化回路1790からの動きベクトル情報b1およびCR(縮小・拡大率)判定回路1110からの縮小・拡大率情報b2およびスキャンタイプ(ST)判定回路1770からのスキャン方向情報b3および2値画像符号化回路1700からの2値符号化情報b4を受けてこれらを可変長符号化し、多重化して信号線30へと出力するものである。
このような構成において、符号化対象であるアルファマップ信号は、アルファマップ信号入力線20を介してアルファマップ符号化回路200に供給される。そして、これを受けたアルファマップ符号化回路200では、そのモード判定回路1100においてアルファマップ信号を解析し、マクロブロック毎に“allW”、“allB”、“copy”、“coded”の何れに分類されるかを判定する。ここで、分類の評・価基準としては、例えば、ミスマッチ画素数を用いる。
具体的には次の通りである。
モード判定回路1100は、まず、入力されたマクロブロック内の信号を全て白に置き換えた場合のミスマッチ画素数を計算し、この数がしきい値以下となるマクロブロックを“allW”に分類する。同様に、モード判定回路1100は、マクロブロック内を全て黒に置き換えた場合“allW”に分類する。同様に、マクロブロック内を全て黒に置き換えた場合のミスマッチ画素数がしきい値以下となるマクロブロックを“allB”に分類する。
次に、モード判定回路1100は、“allW”にも“allB”にも分類されないマクロブロックに対して、信号線1010を介して供給される動き補償予測値とのミスマッチ画素数を計算し、この数がしきい値以下となるブロックを“copy”に分類する。
ここで、“allW”“allB”あるいは“copy”にも分類されなかったマクロブロックは、“coded”に分類される。
モード判定回路1100によるこの分類情報b0は、信号線1020を介してセレクタ1200に供給され、セレクタ1200では該ブロックのモードが“allW”の場合は、ブロック内画素値設定回路1400においてブロック内画素値が全て白にされた再生信号m0を選択し、信号線40を介してフレームメモリ1300に供給し、該フレームの記憶領域に蓄えると共に、アルファマップ符号化回路200の出力として出力する。
同様に、該マクロブロックのモードが“allB”の場合は、セレクタ1200はマクロブロック内画素値設定回路1500においてマクロブロック内画素値が全て黒にされた再生信号m1を選択し、また、該マクロブロックのモードが“copy”の場合は、信号線1010を介して供給される動き補償予測回路1600により生成された動き補償予測信号m2を選択し、また、該マクロブロックのモードが“coded”の場合には、縮小回路1710、拡大回路1720を経て供給される再生信号m3を選択して、これを信号線40を介してフレームメモリ1300に供給し、該フレームの記憶領域に蓄えると共に、アルファマップ符号化回路200の出力信号として出力する。
また、モード判定回路1110において“coded”に分類されたマクロブロックの画素値は、縮小回路1710において縮小された後、2値画像符号化回路1700において符号化される。ここで、縮小回路1710で用いられる縮小・拡大率(CR(Conversion Ratio))の設定情報は、CR判定回路1110において求められる。例えば、縮小率を“1(縮小しない)”、“1/2(水平・垂直共に1/2)”、“1/4(水平・垂直共に1/4)”の3通りに定めた場合、CR判定回路1110では、次のステップでCR(縮小・拡大率)が求められる。
(1) 該マクロブロックを“1/4”に縮小した際の再生信号と、該マクロブロックとのミスマッチ数を計算し、この数がしきい値以下の場合には、縮小率を“1/4”とする。
(2) 上記(1)でミスマッチ数がしきい値よりも大きい場合には、該マクロブロックを“1/2”に縮小した際の再生信号と、該マクロブロックとのミスマッチ数を計算し、この数がしきい値以下の楊合には、縮小率を“1/2”とする。
(3) 上記(2)でミスマッチ数がしきい値よりも大きい場合には、該マクロブロックの縮小率を“1”とする。
このようにして求められたCR(縮小・拡大率)の値は、信号線1030を介して縮小回路1710,1730,1740、拡大回路1720および2値画像符号化回路1700に供給されると共に、VLC(可変長符号化)・多重化回路1800に供給され符号化された後、他の符号と多重化される。また、転置回路1750では、縮小回路1710より供給される、縮小された該ブロックの信号の位置が転置される(水平方向のアドレスと垂直方向のアドレスが入れ替えられる)。
このことにより、符号化の順序を水平方向のスキャン順に行うか、垂直方向のスキャン順に行うかが切り換えられる。また、転置回路1760では、縮小回路1730により縮小された該マクロブロック近傍の再生画素値と、縮小回路1740により縮小された動き補償予測信号とで、それぞれの信号の位置が転置される。
転置回路1750,1760において、転置処理するか否かの判定は、例えば、2値画像符号化回路1700において水平スキャンと垂直スキャンとでそれぞれ符号化を行い、信号線1040を介して出力される符号化情報b4をST(Scan Type)判定回路1770に供給することによって、このST判定回路1770が、符号量の少なくなるスキャン方向を選択することで決まる。
2値画像符号化回路1700では、転置回路1750より供給される該マクロブロックの信号を、転置回路1760より供給される参照信号を用いて符号化する。
なお、具体的な2値画像符号化法の一例として、上述の第3の具体例で用いた手法が挙げられるが、これに限らず、第4の具体例でのこの2値画像符号化回路1700では他の2値画像符号化を適用することができる。
“coded”に分類されたブロックの中には、フレーム内の参照画素を用いる“intra”符号化モードと、動き補償予測信号を参照する“inter”符号化モードとがある。ここで、intra/interの切り替えは、例えば、線1040を介して供給される2値画像符号化回路1700からの符号化情報をモード判定回路1100に供給し、符号量の少なくなるモードを選択すればよい。ここで、選択された符号化モード(intra/inter)の情報は、信号線1050を介して2値画像符号化回路1700に供給される。
以上の手段により選択された最適なモードにて符号化された、2値画像符号化回路1700の符号化情報は、信号線1040を介してVLC・多重化回路1800に供給され、他の符号と共に多重化される。また、モード判定回路1100からは最適なモードの情報が信号線1060を介してVLC・多重化回路1800に供給され、符号化された後、他の符号と共に多重化される。また、動きベクトル検出回路(MVE)1780では、最適な動きベクトルが検出される。ここで、動きベクトルの検出方法については、種々存在しており、また、動きべクトルの検出法そのものは、本発明の要部ではないため、ここでは省略する。検出された動きベクトルは、信号線1070を介して動き補償予測回路1600に供給されると共に、MV符号化回路1790にて符号化された後、VLC・多重化回路1800に供給され、符号化された後、他の符号と共に多重化される。
多重化された符号は、信号線30を介して出力される。動き補償予測回路1600では、信号線1070を介して供給される動きベクトル信号に基づいてフレームメモリ1300に蓄積されている参照フレームの再生画像を用いて動き補償予測信号を生成し、信号線1010を介してモード判定回路1100および縮小回路1740に出力する。
以上の処理の結果、画質の良い、しかも、高圧縮率での画像符号化をすることができる。
次に復号化について説明する。
<アルファマップ復号化回路の構成例>
図22は、アルファマップ復号化回路400の詳細な構成図である。
図に示すように、アルファマップ復号化回路400は、VLC(可変長符号化)・分離化回路2100、モード再生回路2200、セレクタ2300、マクロブロック内画素値設定回路2400,2500、動き補償予測回路2600、フレームメモリ2700、2値画像復号化回路2800、拡大回路2810、転置回路2820,2850、縮小回路2830,2840、2値画像復号化回路2800、動きベクトル再生回路2900より構成される。
これらのうち、VLC(可変長符号化)・分離化回路2100は、多重化されて送られてきたアルファマップの符号化ビットストリームを復号し、モード情報b0、動きベクトル情報b1、縮小・拡大率情報b2、スキャン方向情報b3、2値画像符号化情報b4に分離する回路であり、モード再生回路2200はこの分離されたモード情報b0を受けて、“allW”,“allB”,“copy”,“coded”の4種のモードのうちのいずれのモードであるかを再生する回路である。
2値画像復号化回路2800は前記VLC(可変長符号化)・分離化回路2100により分離された2値画像符号化情報b4を、前記分離された縮小・拡大率情報b2およびモード再生回路2200からの再生されたモード情報および転置回路2850の情報とを用いて2値画像に復号化して出力する回路であり、拡大回路2810は前記分離された縮小・拡大率情報b2の情報を用いて前記復号された2値画像を拡大処理する回路であり、転置回路2820はこの拡大処理された画像を、前記分離されたスキャン方向情報b3に従って転置処理し、再生信号m3として出力する回路である。
また、マクロブロック内画素値設定回路2400は,マクロブロック内画素値が全て白にされた再生信号m0を発生する回路であり、マクロブロック内画素値設定回路2500は,マクロブロック内画素値が全て黒にされた再生信号m1を発生する回路である。
動きベクトル再生回路2900は、前記VLC(可変長符号化)・分離化回路2100により分離された動きベクトル情報b1を用いてマクロブロックの動きベクトルを再生する回路であり、動き補償予測回路2600はこの再生された動きベクトルを用いてフレームメモリ2700の蓄積参照フレームを再生画像から動き補償予測値m2を生成する回路であり、縮小回路2840は前記分離された縮小・拡大率情報b2の情報を用いて前記動き補償予測値m2を縮小処理するものであり、縮小回路2830は前記分離された縮小・拡大率情報b2の情報を用いて前記フレームメモリ2700の蓄積参照フレームの画像を縮小処理するものであり、転置回路2850は前記VLC(可変長符号化)・分離化回路2100により分離されたスキャン方向情報b3を基に、縮小回路2830,2840の出力する縮小画像を転置処理して2値画像復号化回路2800に出力する回路である。
また、セレクタ2300は、モード再生回路2200の出力するモード情報に応じて、マクロブロック内画素値設定回路2400,2500の再生信号m0,m1、動き補償予測回路2600の動き補償予測値m2、転置回路2820の再生信号m3のうち、いずれかを選択して出力するものであり、フレームメモリ2700はこのセレクタ2300の出力した画像信号をフレーム単位で保持するメモリである。
このような構成のアルファマップ復号化回路400は、信号線80を介してアルファマップの符号化ビットストリームが供給される。そして、このビットストリームはVLD(可変長復号化)・分離化回路2100に供給される。
すると、VLD(可変長復号化)・分離化回路2100では、このビットストリームを復号し、かつ、モード情報b0、動きベクトル情報b1、縮小・拡大率情報b2、スキャン方向情報b3、2値画像符号化情報b4に分離する。これら分離された情報はマクロブロック単位で管理される。
そして、この分離された情報のうち、モード情報b0は、モード再生回跨2200に供給され、該マクロブロックが以下のモードの何れに属するかを分類する。
(1)“allW”
(2)“allB”
(3)“copy”
(4)“coded”
ここで、“coded”には、図21の符号化回路の具体例で述べたとおり“intra”のモードと“inter”のモードとがある。すなわち、フレーム内の参照画素を用いるのが“intra”符号化モードであり、動き補償予測信号を参照するのが“inter”符号化モードである。
セレクタ2300では、信号線2010を介して供給される上記の符号化モードに応じて、該マクロブロックのモードが“allW”の場合は、ブロック内画素値設定回路2400においてマクロブロック内画素値が全て白にされた再生信号m0が選択され、信号線90を介してフレームメモリ2700に供給され、該フレームメモリ2700の当該マクロブロックが属する画像フレームの記憶領域に蓄えられると共に、アルファマップ復号化回路400から復号化されたアルファマップの画像として出力される。
同様に、該マクロブロックのモードが“allB”の場合は、マクロブロック内画素値設定回路2500において、ブロック内画素値が全て黒にされた再生信号m1が選択され、また、該ブロックのモードが“copy”の場合は、信号線2020を介して供給される動き補償予測回路2600において生成された動き補償予測信号m2が選択され、また、該ブロックのモードが゛“coded”の場合には、拡大回路2810、転置回路2820を経て供給される再生信号m3が選択され、信号線90を介してフレームメモリ2700に供給され、該フレームメモリ2700の当該マクロブロックが属する画像フレームの記憶領域に蓄えられると共に、アルファマップ復号化回路400から復号化されたアルファマップの画像として出力される。
一方、分離された動きベクトル情報b1は、動きベクトル再生回路2900に供給され、該マクロブロックの動きベクトルが再生される。ここで、再生された動きベクトルは、信号線2030を介して動き補償予測回路2600に供給され、動き補償予測回路2600ではこの動きベクトルに基づいて、フレームメモリ2700に蓄積されている参照フレームの再生面像から動き補償予測値を生成する。そして、信号線2020を介して縮小回路2840とセレクタ2300とに出力する。
また、分離された縮小・拡大率情報b2は、縮小回路2830および拡大回路2810に供給されると共に、2値画像復号化回路2800に供給され、スキャン方向情報b3は、転置回路2820,2850に供給される。
そして、スキャン方向情報b3を受けた転置回路2820では、拡大回路2810より供給される、元のサイズに戻された該マクロブロックの再生信号の位置が転置される(水平方向のアドレスと垂直方向のアドレスが入れ替えられる)。また、スキャン方向情報b3を受けた転置回路2850では、縮小回路2830により縮小された該ブロック近傍の再生画素値と、縮小回路2840により縮小された動き補償予測信号とで、それぞれの信号の位置が転置される。
縮小・拡大率情報b2を受けた2値画像復号化回路2800では、分離化回路2100により分離された該マクロブロックの2値画像符号化情報b4を、転置回路2850より供給される参照信号を用いて復号化する。
ところで、先行技術として本発明者らが提案した特願平8−237053号の第4の具体例に記載したように、拡大回路1720,2810の出力には斜め方向の不連続性に起因する画質劣化が発生する場合があるが、この問題を解決するために拡大回路1720,2810には、斜め方向の不連続性を抑えるフィルタを備えるようにしても良い。
なお、2値画像符号化回路1700と同様に、用いる2値画像復号化回路2800の構成は上述の第3の具体例に示した構成例に限らない。
<複数の2値画像符号化法を切り換える具体例>
上記の具体例の中で、2値画像符号化回路1700および2値画像復号化回路2800の具体例は、上述の第3の具体例に限らないと記述した。そこで、これ以外の例を示しておく。
別の2値画像符号化法として、例えば、マルコフモデル符号化法がある(参照:テレビジョン学会編、“画像情報圧縮”、pp.171 〜176 )。図23がマルコフモデル符号化法の一例を説明する図である。図中の画素xが符号化の対象となる着目画素であり、画素a〜fが画素xを符号化する際に参照される参照画素である。
ここで、画素a〜fは画素xを符号化する際に既に符号化が終了している画素とする。着目画素xは、参照画素a〜fの状態によって、VLC(可変長符号化)を使用する場合には可変長符号テーブルが、そして、算術符号を使用する場合には確率テーブルが、適応的に切り換えられて符号化される。
この具体例を本発明に適用する場合、“intra”符号化は、現在処理しようとしているマクロブロック内で、着目画素より先に符号化された画素を参照画素とし、“inter”符号化は現在処理しようとしているマクロブロック内で、着目画素より先に符号化された画素だけでなく、動き補償予測誤差信号内の画素も参照画素として用いればよい。
本具体例では、例えば、
[方式1]第3の具体例の方式(MMRに基づいた符号化方式)
と、
[方式2]マルコフモデル符号化を適応的に切り換えて符号化する方式
の両方式を備え、これらを適応的に選択して使用する形態を採用することを特徴としている。
図24(a)は、本具体例で用いられる、2値画像符号化回路1700のブロック図である。図に示すように、2値画像符号化回路1700は、一対のセレクタ4110,4140と、一対の2値画像符号化回路から構成されている。これらのうち、セレクタ4101は入力側の選択回路であり、セレクタ4102は出力側の選択回路である。2値画像符号化回路4120は上記[方式1]で符号化する第1の2値画像符号化回路であり、2値画像符号化回路4130は上記[方式2]で符号化する第2の2値画像符号化回路である。
2値画像符号化回路1700では、信号線4101を介して転置回路1750から供給される処理対象マクロブロックの信号を、信号線4103を介して供給される切り換え信号に応じて選択切換えするセレクタ4110,4140により、第1の2値画像符号化回路4120と第2の2値画像符号化回路4130に適応的に振り分け、この振り分けられたマクロブロックの信号を符号化する。
符号化された情報は、信号線4102を介して出力される。なお、図24(a)では2値画像符号化回路1700に供給される信号の信号線1030,1050、転置回路1760からの信号線は、省略されている。
ここで、信号線4103を介して供給される切り換え情報は、予め設定されたデフォルト値でも良いし、画像内容に基づいて適切な切り換え情報を求めて、サイド情報として別途符号化し、復号側に伝送するようにしてもよい。
これにより、画像内容に基づいた最適処理が可能になり、また、アプリケーションに応じて複数の符号化方式の中から適切なものを選択して使用することも可能になる。
同様に、図24(b)は、本具体例で用いられる2値画像復号化回路2800のブロック図である。図に示すように、2値画像復号化回路2800は一対のセレクタ4210,4240、一対の2値画像復号化回路4220,4230とから構成されている。これらのうち、セレクタ4210は入力側の選択回路であり、セレクタ4240は出力側の選択回路である。また、2値画像復号化回路4220は上記[方式1]で符号化した画像を復号化する第1の2値画像復号化回路であり、2値画像復号化回路4230は上記[方式2]符号化した画像を復号する第2の2値画像復号化回路である。
このような構成の2値画像復号化回路2800では、信号線4201を介して供絵される処理対象マクロブロックの2値画像符号化情報b4を、信号線4203を介して供給される切り換え信号に応じてセレクタ4210,4240により、第1の2値画像復号化回路4220と第2の2値画像復号化回路4230に適応的に振り分けて復号化する。
復号化された信号は、信号線4202を介して出力される。なお、図24(b)では2値画像復号化回路2800に対する分離化回路2100からの信号供給用の信号線,モード再生回路2200からの信号線,転置回路2850からの信号線は省略されている。
ここで、信号線4203を介して供給される切り換え情報は、デフォルト値でも良いし、符号化されて送られてきたビットストリームから当該切換情報を得るエンコーダから送られてきた情報でも良い。
次に縮小・拡大を行うための回路例を具体的に示す。
<<縮小・拡大回路に関わる具体例>>
[拡大処理の例]
本発明は、符号化領域単位あるいはブロック単位(マクロブロック単位)で縮小・拡大処理を施すことでレート制御を行っている。この縮小・拡大処理に利用する技術の例として、本願発明者等が特願平8−237053号に開示した“双一次内挿”がある。この技術について触れておく。当該双一次内挿は、参考文献“尾上編:画像処理ハンドブック,p.630,昭晃堂”を基に説明すると図35の如きである。
図35(a)において、Pexは変換後の画素位置であり、当該Pexは図35(a)のように実数画素位置を指し示す。
そこで、入力信号の整数画素位置A,B,C,Dとの距離関係から、8つの領域に分けて図35(b)に示す論理式により、A〜Dの画素値Ia〜IdからPexの画素値Ipを求める。
このようなものが“双一次内挿”という処理であり、A〜Dの画素値Ia〜IdからPexの画素値Ipを簡易に求めることができるものである。
ところで、この双一次内挿処理は周囲の4画素のみを用いて処理を行っているため、広い範囲での変化が反映されず、特に斜め方向の不連続性が発生し易くなっている。この問題を解決するための一例として、拡大処理を行った後にスムーシングフィルタ処理(平滑化処理)を施す例を、先願の発明(特願平8−237053号)に提示している。
具体的に説明する。図36は、スムーシング処理(平滑化処理)を説明するための図である。ここで、図36の(a)は元のサイズの2値画像、図36の(b)はこれを縮小して得た2値画像である。図36においては、オブジェクト領域は黒丸印で、また、バックグラウンド(背景)領域は白丸印で示してある。
この例では、サンプリング変換(拡大・縮小変換)がなされることにより発生する斜め方向の不連続性を滑らかにするために、バックグラウンド領域の画素(白丸)一つ一つについて、それを中心にして、その上下左右の画素、つまり、隣接画素を調べ、そのうち、2画素以上がオブジェクト領域の画素(黒丸)であったときは、そのバックグラウンド領域の画素を、オブジェクト領域に含める処理を行う。
すなわち、今、バックグラウンド領域にある一つの画素である検査対象画素が図36(b)における二重丸印で示す位置の画素である場合のように、その隣接画素に、2画素以上、オブジェクト領域の画素(黒丸)があったときは、その二重丸印で示す位置の画素(つまり、検査対象画素)を黒丸印の画素にしてオブジェクト領域の画素にする。黒丸印の画素が例えば、“1”、白丸印が“0”であるとすると、二重丸印で示す位置の画素(画素値“0”)を、画素値“1”に置き換える処理をする。このような処理により、斜め方向の不連続性を解消できるようになる。
図37は、スムーシングフィルタ(平滑化処理フィルタ)の別の例である。図37に示される、3×3画素のマスクの中心の画素をCとして、Cに対して左上の画素をTL、右上の画素をTR、左下の画素をBL、右下の画素をBRとすると、下記の式により、画素Cのフィルタリングされた値が求められる。ここで、オブジェクトの値を“1”、背景の値を“0”で表わしている。
Figure 2004350307
すなわち、このフィルタ演算処理は、もし画素Cが“0”であれば、画素TL,TR,BL,BRを加算した値が“2”より大きいか否かを調べ、大きい場合は画素Cの値を“1”とし、大きくない場合は画素Cを“0”とし、また、もし画素Cが“0”でなければ、画素TL,TR,BL,BRを加算した値が“2”より小さいか否かを調べ、小さい場合は画素Cの値を“1”とし、大きくない場合は画素Cを“0”とするというものである。
このフィルタによれば、対象となる画素Cに対して斜め方向に位置する画素値の変化を考慮して画素Cの値を修正するため、斜め方向の不連続性が解消される。なお、スムーシングフィルタの構成は上記例に限ったものではなく、メディアンフィルタ等の非線形フィルタを用いても良い。
図58(a)は、双一次内挿により水平・垂直共に2倍に拡大する処理を表す図である。図58(a)において、縮小ブロックの画素は白丸印すなわち“O”印で表され、内挿される画素はバツ印すなわち、“×”印で表されており、それぞれの画素値は“0”あるいは“1”の何れかである。
この場合、図35(b)の論理式で内挿される画素(再生画素)の値を求めると、
Ip1=Ia,Ip2=Ib,Ip3=Ic,Ip4=Id
となる。
従って、画素Aの周りの4つの内挿画素の画素値は全てIaとなるために、拡大画像は2×2画素が同じ値となり、滑らかさが失われる。そこで、双一次内挿の重み付けを以下の様に変更することで、上記の問題は解決される。
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の画素値である。
『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回繰り返せばよい。
以上は、演算により拡大処理する例であるが、演算によらずとも拡大処理することはできる。その例を次に説明する。
<演算によらない拡大処理の例>
ここでは、テーブルを用意してこれをメモリに保持させ、このテーブルに従って一義的に画素を置き換えるようにするものである。
具体的に説明する。まず、例えばメモリのアドレスを4ビットとし、Ia,Ib,Ic,Idを並べて得られるアドレスに、その、Ia,Ib,Ic,Idのパターンによって得られるIp1,Ip2,Ip3,Ip4を下表の様に予め記録しておく。
Figure 2004350307
この例は、“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が一義的に定まるテーブルを表している。
このようなテーブルを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を決める実施例と言える。
なお、コンテキストは
コンテキスト=2*2*2*Ia+2*2*Ib+2*Ic+Id
で求まる。
コンテキストによって内挿値を求める手法は、上述の例の場合、参照する画素数を4つとしたが、これに限らず、以下で説明する12個等、いくつの場合でも実現できる。
また、参照画素と内挿画素の配置についても、例えば、図64(a)のように内挿画素P1に対しては点線で囲んだ領域の9画素分を参照画素としてコンテキスト(=0〜511)を求め、そのコンテキストによって、内挿画素P1を“0”か“1”かに決定する方法もある。
内挿画素P2、P3、P4についても、それぞれの内挿位置とその位置を囲む直近の4個の参照画素の位置関係に応じて、図64(b),(c),(d)の点線で囲んだ画素を参照画素とする。
この際、図のように参照画素A〜Iの、内挿画素Pに対する相対的な位置が同じになるように配置(例えば、(b)は(a)を時計回りに90度回転した配置になっている)しておけば、同じ画素パターンを回転しただけのものは、同じコンデキストになるので、内挿画素P1〜P4で共通の内容のテーブルとしたメモリを用いることができる。
次に、4×4画素のマクロブロックを16×16画素に拡大する場合の例を説明する。
4×4画素のマクロブロックを16×16画素に拡大するには、まず、4×4のサイズのマクロブロックMBを8×8のサイズに拡大し、次に8×8のサイズのマクロブロックMBから16×16のサイズのマクロブロックMBに拡大すると云う手順を踏むことになる。
この4×4のサイズのマクロブロックMBから8×8のサイズに拡大する時の外部参照画素ATとALを図65(a)に示し、8×8のサイズのマクロブロックMBから拡大する時の外部参照画素BTとBLを図65(b)に示す。
外部参照画素ATは2行8列、外部参照画素ALは4行2列、外部参照画素BTは2行12列、外部参照画素BLは8行2列の配列である。
これらの外部参照画素の値は図42を用いて説明したように、既に再生したマクロブロックの所定の位置の画素の平均値として求める必要がある。しかし、2値画像符号化回路1700と2値画像復号化回路2800では、4×4画素のサイズで符号化する際には、外部参照画素ATとALを参照し、8×8画素のサイズで符号化する際には、外部参照画素BTとBLを参照するため、これを転用すれば拡大処理のためだけにわざわざ外部参照画素を求めると云った無駄は回避できる。
ここで、外部参照BTとBLについては、平均値を求めずに、外部参照画素ATとALから、コンピュータプログラミング用の言語であるC言語で記述すれば、
Figure 2004350307
という処理によって求めると、平均値を求める場合と多少結果は異なるが、平均値演算を省くことができる。
上述の処理は、図65の例えば、画素p1を画素p2と画素p3にコピーし、画素p4を画素p5と画素p6にコピーするというように、ATやALの値を繰り返して画素を追加処理していくことで、BTやBLを生成するものである。なお、C言語プログラム中の“[ ][ ]”は配列を示し、[ ]中の数字は10進数を示す。
以上は、拡大処理の具体的手法を説明した。次に、縮小処理の具体的手法を説明する。
[縮小処理]
図38は、ブロック(マクロブロック)を縦横“1/2”のサイズに縮小する縮小処理の一例である。この例では、点線枠内領域一つ一つを単位縮小ブロック領域とすると、当該単位縮小ブロック領域内の2×2画素(各点線枠内における“O”で示した計4画素)毎の平均値(図38の“×”)を、その単位縮小ブロック領域での画素値としている。つまり、マクロブロックを縦横“1/4”のサイズに縮小する場合には、単位縮小ブロック領域毎に、その領域内の4×4画素毎の平均値を求めて、当該単位縮小ブロック領域での画素値とすればよいわけである。
また図39のように、画素A,B,C,Dからなる、ある単位縮小ブロック領域を考えた場合、当該単位縮小ブロック領域の画素Xの値を求めて当該単位縮小ブロック領域の値とするにあたり、画素A〜Dの平均値を求めるのではなく、これよりも広い範囲の画素位置の画素E,F,G,H,I,J,K,L,M,N,O,Pを含めて、これらA〜Pの平均値を求めるようにしてもよい。つまり、隣接の単位縮小ブロック領域の画素のうち、画素A〜Dに隣接する画素を含めてこれらの平均値を採用する方式とするわけである。
以上は、現存する画素の値の平均値を単位縮小ブロック領域の画素値とすることで、その単位縮小ブロック領域の画素数を減らすようにし、マクロブロックのサイズ縮小を図るようにした例であった。このような、計算を伴わずに、機械的な間引き処理でもマクロブロックを縮小処理することができる。
その例を次に説明する。はじめに、マクロブロック内で閉じた処理を説明する。
図40は、画素間引きによる縮小処理の例である。16×16画素構成のマクロブロックMBは画素間引きによる縮小処理を施した結果、8×8画素構成のブロックに縮小された様子を示している。すなわち、図中で点線の白丸印で示された画素が間引かれた画素であり、実線の白丸印で示された画素が単位縮小ブロック領域の画素値(図40の“×”)となる。この場合、縮小率(CR)は間引かれる画素の割合を表すことになる。なお、画素間引きの方法は図40で説明した方法に限らず、例えば、五の目格子状に画素を間引いても良い。また、この場合、拡大処理とは、間引かれた画素を内挿することに相当する。
以上、種々の縮小処理の具体的手法を説明した。次に拡大処理について説明する。
図41は、拡大処理を表す図である。図において、実線方形枠はマクロブロックを示しており、点線枠表示された部分の升目一つ一つが単位縮小ブロック領域を示している。単位縮小ブロック領域内の白丸印は現存画素を表わしており、内挿により画素数を増やしてマクロブロックの拡大を図るようにする。内挿される画素は“×”で表されており、内挿後は“O”の画素は不要画素となる。
マクロブロック境界部の画素を内挿する際に、マクロブロック外の画素値が必要になる。この場合、図の矢印で示されているように、マクロブロック内の最も近くの画素値を割り当てればよい。
すなわち、ある単位縮小ブロック領域の画素内挿をする場合、自己及び自己と隣接する各単位縮小ブロック領域である周囲8ブロックの画素値の計9画素分の画素値が、処理に必要である。しかし、マクロブロック内における当該ある単位縮小ブロック領域が、マクロブロック境界部に位置していると、前記の周囲8ブロックのいくつかは自己の所属外のマクロブロック所属のものとなることから、当該自己所属マクロブロック外の画素値を別途、もらってくる必要があるということになる。この場合は、図の矢印で示されているように、自己の所属マクロブロック内の最も近くの画素値をそれぞれ割り当てて便宜的にその処理に必要な近隣の単位縮小ブロック領域での画素値とし、利用すればよい。
なお、マクロブロック毎の縮小・拡大処理は、そのマクロブロック内で閉じている必要はなく、図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画素で表現される。
1/2縮小画像を元の画像サイズに復元する場合(標準倍率画像に復元する場合)、1/2縮小画像の1画素の領域は4画素構成に戻すが、それをマクロブロック内で閉じずに内挿により行うには次のようにする。
例えば、図42において、あるマクロブロックの、ある単位縮小ブロック領域(点線枠内領域)の画素1や画素2を内挿により再生する場合を考えてみる。この場合、その処理時点で現存するのは“O”印の画素情報である。従って、内挿しようとする画素1や画素2の周囲にある現存画素は画素3,4,5,6であるから、これら画素3,4,5,6を用いて双一次内挿を行う。ただし、“画素3”や“画素4”は隣接ブロック(隣接するマクロブロック)に所属する画素で、しかも、拡大前の画素(1/2縮小画像の画素)であり、当該隣接ブロックは時間的に前の時点で処理される位置にあるブロックであるので、このマクロブロックの拡大処理後には、不要となるデータであるから、メモリリソースの節約の観点から、既に廃棄してしまっていることがある。
そのようなシステムの場合には、例えば、“画素3”で云えばそのマクロブロックでの内挿済みで現存する隣接画素である画素7,8,9,10の平均値を求めて、前記廃棄してしまった“画素3”の値とするのも一つの方法であるが、その平均値を求める演算を少なくしたい場合には、画素7,8,9,10の計4画素のうち、内挿しようとする画素1,2に近い、画素9,10の平均値を、前記廃棄してしまった“画素3”の値として用いるようにしてもよい。
また、画素10をそのまま流用して“画素3”の値とするようにすると、さらに演算を省ける。“画素4”についても、同様に、その近くの画素値で代用する。また、同様なケースで、“画素11”の内挿には、例えば、“画素12”の代わりに画素14と画素15の平均値、“画素13”の代わりに画素16、画素18の代わりに画素17を用いる。
フレーム画像Pfは通常、オブジェクト部分を主体とした最小の矩形範囲、例えば、図59(a)に示される符号化領域CA内をブロック(マクロブロック)に分割して符号化するため、符号化領域の境界部に位置するブロックでは、該ブロックの左・上・左上・右上に隣接するブロックが、符号化領域CAの外部に位置することとなってしまう場合がある。
この場合、図42のように、該ブロック近傍の再生画素値(再生した画素の値)を利用する場合でも、符号化領域CAの外部に位置するマクロブロックである場合には再生両素値を参照せずに、図41のように自己所属マクロブロック内の最も近くの画素値を便宜的に割り当てて用いればよい。
更に、誤りの影響を受ける伝送路でデータの授受を行う場合には、誤りの影響を受け難くするために、前記の符号化領域CAよりも小さい単位(これを“同期回復単位”呼ぶ)で符号化処理を閉じる場合がある。
これにより、誤りの影響をこの“同期回復単位”で断ち切ることが可能となり、誤りの影響を受け難くなる。ここで、“同期回復単位”とは、図59(b)にUnなる符号を付して示した点線で囲まれる各領域を指す。“同期回復単位”は符号化領域CAを小さく区切った領域であるが、複数のマクロブロックで構成されることは変わりない。
この方式の場合、“同期回復単位”内で符号化処理を閉じるため、ある“同期回復単位”で使用するデータに伝送誤りがあるものが含まれていたとしても、その誤りのあるデータを参照して処理するのは当該ある“同期回復単位”内だけであり、隣接の“同期回復単位”は当該誤りのあるデータを参照して処理することはないから、伝送誤りが波及しにくい処理方式となる訳である。
この場合でも、図42のように、該ブロック近傍の再生画素値を利用する際に、該ブロックが含まれる“同期回復単位”以外の同期回復単位に属するマクロブロックの再生画素値を参照せずに、図41の様にマクロブロック内の最も近くの画素値を割り当てる。
上述したような、“マクロブロックや同期回復単位の外側を参照するか、しないか”は、符号に切り換えビットを用意し、これを用いて切り換えるようにすると伝送エラーの頻度や、許容される演算量、メモリ量などの様々な状況に対応することができる。
ところで、先に述べたように双一次内挿では、周囲の4画素のみを用いて処理を行っている。そのため、再生された画素による画像には、特に斜め方向の不連続性が発生し、視覚的劣化が起き易い傾向が避けられない。これを回避するには例えば、図41の内挿対象画素を内挿する例を取り上げてみると、その内挿の際に、双一次内挿の参照範囲よりも広い拡大参照範囲に含まれる画素を用いて内挿する。
すなわち、双一次内挿の参照範囲よりも広い拡大参照範囲に含まれる画素を用いて内挿することで、より広い範囲の画素の傾向が反映されることになり、不連続性の問題が回避される。また、内挿に用いる画素の数が“4画素”のように偶数個であるよりも、“9画素”のように奇数個の方が、多数決効果が得られ、不連続性の回避効果がより一層顕著に得られる場合がある。
図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を示す。
また、“1/4”サイズの縮小拡大処理は、“l/2”サイズの縮小拡大処理を2回施すことで実現しても良い。
次に、フレーム単位の拡大・縮小処理との組み合わせの例を、第5の具体例として説明する。
(第5の具体例)
本発明者らが特願平8−237053号で示した先行技術には、フレーム単位(実際にはオブジェクトを含む方形領域)で縮小・拡大を施すことでレート制御する実施例と、ブロックのような小領域単位で縮小・拡大を施すことでレート制御する実施例とを提示している。また、上述の第1乃至第3の具体例には、さらに具体的な小領域単位で縮小・拡大を施すことにより、レート制御するようにした例を示した。
ここに説明する本具体例においては、フレーム単位での縮小・拡大処理と、小領域単位での縮小・拡大処理を組み合わせて使用する例を示すものである。
<アルファマップ符号化装置>
図25は、本具体例のアルファマップ符号化装置を説明する図である。この装置は縮小回路5300,5210,5260、2値画像符号化回路5220、拡大回路5230,5400、動き補償予測回路5250、多重化回路5240,5500とより構成される。
このような構成において、アルファマップ信号入力線20を介して供給される2値化されたアルファマップ画像は、縮小回路5300において縮小・拡大率CRに基づいてフレーム単位に縮小される。フレーム単位に縮小された信号は、信号線5020を介してアルファマップ符号化回路5200に供給され、小領域に分割された後、符号化される。
ここで、アルファマップ符号化回路5200は、図12のアルファマップ符号化回路200と等価であり、アルファマップ符号化回路5200の構成要素5210〜5260は、それぞれ図12のアルファマップ符号化回路200の構成要素210〜260と同じ機能を有するので、アルファマップ符号化回路5200の説明はここでは省略する。また、図12のアルファマップ符号化回路200の構成は、図1のアルファマップ符号化回路200の構成を簡略化して表現したものであるため、アルファマップ符号化回路5200の構成は、図1のアルファマップ符号化回路200と等価な構成でも良い。
アルファマップ符号化回路5200で符号化された符号化情報には、小領域毎の縮小・拡大率CRbが多重化されており、信号線5030を介して多重化回路5500に供給され、フレーム単位の縮小・拡大率CRの符号化情報と多重化され、信号線30を介して出力される。
また、アルファマップ符号化回路5200の再生画像は信号線5040を介して拡大回路5400に供給され、フレーム単位の縮小・拡大率CRに基づいて拡大された後、信号線40を介して出力される。
<アルファマップ復号化装置>
図26は、本具体例の復号化装置を説明する図である。このアルファマップ復号化装置は、分離化回路6500,6430、2値画像復号化回路6410、縮小回路6450、動き補償予測回路6440、拡大回路6420,6600とから構成されている。
このような構成において、信号線80を介して供給される符号化情報は、分離化回路6500でフレーム単位の縮小・拡大率CRと、小領域単位の符号化情報に分離される。そして、小領域単位の符号化情報は、信号線6080を介してアルファマップ復号化回路6400に供給され、小領域単位の再生信号が信号線6090を介して拡大回路6600に供給される。
アルファマップ復号化回路6400は、図13のアルファマップ復号化回路400と等価なため、ここでは説明を省略する。また、図13のアルファマップ復号化回路400の構成は、図2のアルファマップ復号化回路400の構成を簡略化して表現したものであるため、アルファマップ復号化回路6400の構成は、図2のアルファマップ復号化回路400と等価な構成でも良い。
拡大回路6600では、フレーム単位の縮小率CRの情報に基づいて、信号線6090を介して供給される再生信号を拡大処理して、信号線90より出力させる。
このように、ここではアルファマップ信号をフレーム単位で縮小・拡大処理し、かつ、小領域単位で縮小・拡大処理するようにした。このフレーム単位での縮小・拡大と、小領域単位での縮小・拡大とを組み合わせることで、縮小・拡大率情報のようなサイド情報が削減されるため、特に、低い符号化レートで符号化する場合に効果的となる。
次にフレームメモリについて、触れておく。
図25、図26には明示していないが、符号化装置と復号化装置にはいずれも再生画像を蓄積するためのフレームメモリが必要である。図52は、フレーム毎の解像度の例を表した図である。本発明では、動き補償予測を用いているため、例えば、時刻nのフレームを符号化する際には、時刻n−1のフレームの解像度を時刻nのフレームでの解像度(この場合、縮小・拡大率)に一致させなければならない。ここで、フレームメモリに蓄積する再生画像が、アルファマップ符号化回路5200によって図52に示されるようにフレーム単位の解像度(この例の場合、時刻nのフレームならばCR=1/2(図52の(a))、時刻nのフレームならばCR=1(図52の(c)))で蓄積される場合と、元の解像度(時刻に関わらず、常に縮小・拡大率CR=1)で蓄積される場合の2通りが考えられる。
前者においては、フレームメモリは信号線5040および信号線6090を介して供給されるフレーム単位の解像度の再生画像を蓄積することになり、後者におけるフレームメモリは、信号線40および信号線90を介して供給される元の解像度の再生画像を蓄積することになる。
従って、図25の符号化装置および図26の復号化装置においてフレームメモリを明示すると、前者のフレームメモリ(これをFM1(符号化装置用)、FM3(復号化装置用)と表すこととする)の場合は、図53および図54のようになり、後者のフレームメモリ(これをFM2(符号化装置用)、FM4(復号化装置用)と表すこととする)の場合は、図55および図56のようになる。
つまり、図53の符号化装置は、縮小・拡大率CRの情報と拡大回路5230の出力情報をFM1なるフレームメモリに保持し、この保持情報をMC(動き補償予測回路)5250に与えるように構成したものであり、図54の復号化装置は、CRの情報と拡大回路6420からの出力をFM3なるフレームメモリに保存し、この保存出力を動き補償予測回路6440に与えるように構成したものである。
また、図55の符号化装置は、縮小・拡大率CRの情報と拡大回路5400の出力情報をFM2なるフレームメモリに保持し、この保持情報をMC(動き補償予測回路)5250に与えるように構成したものであり、図56の復号化装置は、CRの情報と拡大回路6600からの出力を保存し、この保存出力を動き補償予測回路6440に与えるように構成したものである。
フレームメモリFM1,FM3の具体的な構成例は、図57(a)に示した如きものとなり、フレームメモリFM2,FM4の具体的な構成例は、図57(b)に示した如きのものとなる。
フレームメモリFM1,FM3は、図57(a)に示すように、現フレームの画像を保存するフレームメモリm11と、このフレームメモリm11の保持画像を別途与えられる拡大・縮小率CRの情報対応に縮小・拡大処理する縮小・拡大回路m12、この縮小・拡大回路m12で縮小・拡大処理された出力を保存するフレームメモリm13とからなり、また、フレームメモリFM2,FM4は、図57(b)に示すように、現フレームの画像を保存するフレームメモリm21と、このフレームメモリm21の保持画像を、別途与えられる拡大・縮小率CRの情報対応に縮小処理する縮小回路m22、この縮小回路m22で縮小処理された出力を保存するフレームメモリm12とからなる。
このような構成のフレームメモリにおける動作を説明する。
まずフレームメモリFM1,FM3の場合、これらには信号線5040および信号線6090を介してフレーム単位でそのフレームの対応する解像度の再生画像が供給され、現フレーム保存用のフレームメモリm11に蓄積される。フレームメモリm11は、現フレームの符号化(例えば、時刻n)が終了した時点で現フレームの再生画像が全て蓄積されている。
次に、縮小・拡大回路m12では、時刻n+1におけるフレームの符号化が開始される時点で、時刻nにおけるフレームの再生画像をフレームメモリm11から読み込み、時刻n+1におけるフレームのフレーム単位での縮小・拡大率CRと一致するように、縮小・拡大処理(解像度変換)を行う。
図52の例において、(a)に示すように時刻nにおけるフレームの縮小・拡大率CRは“1/2”であり、また、(b)に示すようにその次フレームである時刻n+1におけるフレームの縮小・拡大率CRは“1”であるので、この場合、縮小・拡大回路m12では縮小・拡大率CRを“1/2”から“1”に変換する処理を行うことになる。
縮小・拡大回路m12で解像度変換された時刻nにおける再生画像は、前フレームのフレームメモリm13に蓄積され、時刻n+1におけるフレームの動き補償予測の参照画像となる。
フレームメモリFM2,FM4の場合、これらには信号線40および信号線90を介して元の解像度(CR=1)の再生画像が供給され、現フレームのフレームメモリm21に蓄積される。フレームメモリm21には、現フレームの符号化(例えば、時刻n)が終了した時点で現フレームの再生画像が全て蓄積されている。
次に、縮小回路m22では、時刻n+1におけるフレームの符号化が開始される時点で、時刻nにおけるフレームの再生画像をフレームメモリm21から銃み込み、時刻n+1におけるフレームのフレーム単位での縮小・拡大率CRと一致するように、縮小処理(解像度変換)を行う。
フレームメモリm21に蓄積される再生画像は常に縮小・拡大率CR=1であるので、図52の例では、時刻n+1における縮小・拡大率CRは“1”であるから、この場合、縮小回路m22では解像度変換処理を行わない。なお、図52の例の場合、現フレームが時刻n+1の場合、時刻n+2におけるフレームの解像度は“1/2”であるから、縮小回路m22では縮小・拡大率CRを“l”から“1/2”にする解像度変換処理を行うことになる。
縮小回路m22で解像度変換された時刻nにおけるフレームの再生画像は、前フレームのフレームメモリm33に蓄積され、時刻n+1におけるフレームの動き捕償予測の参照画像となる。
以上、フレームメモリFM1,FM2,FM3,FM4の具体的な構成と作用を述べたが、フレームメモリFM1,FM3は、信号線5040および信号線6090を介して供給されるフレーム単位の解像度の再生画像が蓄積されることが特徴であり、また、フレームメモリFM2,FM4は、信号線40および信号線90を介して供給されるフレーム単位での解像度の再生画像が蓄積されることが特徴であるため、それぞれ、他に種々の構成が考えられる。
(第6の具体例)
次に、マクロブロックの属性情報を符号化する方式の例を第6の具体例として説明する。まず、先行技術である特願平8−237053号にて、提案した方式の説明をする。
図29は、時刻nと時刻n−1におけるあるマクロブロックの属性情報の一例を表している。但し、ここで云う属性情報とは、“allW”(そのマクロブロックの構成画素全てが白)、“allB”(そのマクロブロックの構成画素全てが黒)、“Multi”(そのマクロブロックの構成画素は白黒混在)といったマクロブロックの中味の状態を示した情報である。
そして、例えば、“allW”を符号“0”で、“allB”を符号“3”で、そして、“Multi”を符号“1”でラベル付けして示した例である。
フレームにおけるオブジェクト部分を含む最小矩形領域に着目し、その左上を、領域の境界部に接するように、方形領域を設定すると、当該設定した方形領域に含まれる各マクロブロックの属性情報の分布(ラベルの分布)は、例えば、図29の如きとなる。
そして、図29における(a)に示した時刻nのフレームでのマクロブロックの構成画素属性情報の分布例と、(b)に示した時刻n−1のフレームでのマクロブロックの構成画素属性情報の分布例のように、時間的に近いフレームのアルファマップ間では、非常に似たラベル付けが行われる。
従って、このような場合には、フレーム間においてラベルの相関が高いため、既に符号化済みのフレームのラベルを利用して、現フレームのラベルを符号化することで、大幅に符号化効率が改善されることになる。
また、一般に、時刻nのフレームにおける符号化領域(オブジェクト部分を主体とした最小の矩形範囲、例えば、図59(a)に示される符号化領域CA)と、時刻n−1のフレームにおける符号化領域のサイズが異なる場合がある。この場合、一例として、図30に示す手順で、時刻n−1のフレームでの符号化領域サイズを時刻nのフレームでのサイズに合わせる。例えば、時刻nのフレームにおける符号化領域サイズが、時刻n−1のフレームにおける符号化領域サイズに比べて行が1行分長く、列が1列分短い場合は、図30(a)のように、行の短い時刻n−1のフレームにおける符号化領域について、その領域内右端の1列分のマクロブロック列をカットし、その後、下部の1行分のマクロブロック列をその下にコピーして行を増やす。
この状態が図46(b)である。
また、時刻n−1のフレームにおける符号化領域サイズが、時刻nのフレームにおける符号化領域サイズより列については1列分短く、行については1行分長い場合は、符号化領域内の下端の1行分のマクロブロック列をカットし、その後、その符号化領域内の右端の1列分のマクロブロック列をその隣りにコピーして1列増やす。
サイズが合わないときは、このようにしてサイズを合わせる。なお、サイズの合わせ方は前記の方法に限ったものではない。そして、最終的に、図30(b)の様に、時刻nのフレームでのサイズに合わせられた、時刻n−1のフレームでのラベルを、ここでは便宜上、時刻n−1’のラベルと表記して以下の説明に用いることにする。
図31(a)は、時刻nでの上述のマクロブロックの属性情報と、時刻n−1’での上述のマクロブロックの属性情報の差分、つまり各マクロブロック位置での各ラベルの差分を、同一位置のもの同士でとった結果を示している。
ここで、“S”は“ラベルが一致している”ことを示し、“D”は“ラベルが不一致である”ことを示す。
一方、図31(b)は、時刻nでの上述のマクロブロックの属性情報における隣接画素位置のラベルの差分をとった結果を示している。ここで、左端のラベルは、1ライン上の右端の画素位置でのラベルとの差を取り、左上端の画素位量でのラベルは、“0”との差を取ることにしている。以後、便宜的に図31(a)をフレーム間符号化、図31(b)をフレーム内符号化と呼ぶことにする。
図31より、フレーム間符号化の方がフレーム内符号化に比べて“S”の割合が多く、フレーム間符号化の方が予測が当たるため、符号量の削減を図ることができる。
なお、フレーム間での相関が極端に小さい場合、フレーム内符号化に比べて符号化効率が低下するおそれがある。この場合は、1ビットの符号でフレーム内符号化を行うか、フレーム間符号化を行うかを切り換えられるようにしておき、フレーム内符号化で符号化できるようにする。当然のことながら、最初に符号化するフレームは、参照するラベルが無いため、フレーム内符号化を行う。この際、フレーム間/フレーム内を切り換える符号は必要ない。
幾種類かの予測の方法を切り替える例を、さらに具体的に説明する。
上述の例では、フレーム間の相関が小さい場合に、フレーム内符号化を行う場合を示した。しかし、この他にも、例えば本発明を画像伝送に用いる場合などで、伝送誤りが問題となる時にも、フレーム内符号化は有効である。
例えば、伝送誤りが発生し、前のフレームが正しく再生されていない場合に、フレーム間符号化を用いると、現フレームも正しく再生されないが、フレーム内符号化を用いると、正しく再生することができる。
また、フレーム内符号化であっても、多くのマクロブロックを参照していると、伝送誤りには弱くなる。つまり、参照するマクロブロックを多くすると、符号量は少なくできるが、参照したマクロブロックの数が多くなれば、それだけ伝送誤りを含んだマクロブロックを参照する可能性が高くなり、その参照したマクロブロックに含まれる誤りが取り込まれて処理結果に反映されてしまうことになるから、伝送誤りには弱くなると云え、逆に参照するマクロブロックを少なくすると、符号量は多くなるが、上記理由から伝送誤りには強くなると云える。
そこで、伝送誤りに強く、符号量も少なくする工夫が必要なる。それには次のようすると良い。
一例として、伝送誤りに強く、符号量も少なくするためには、幾つかの予測モードを用意しておき、それらを切り替えて用いる方法が有効である。
予測モードとしては、例えば、
(A)フレーム間符号化モード
(B)フレーム内符号化モード
(C)同期回復単位内符号化モード
(D)予測なしのモード
がある。
ここで、“同期回復単位”とは、既に説明したように、オブジェクトの矩形領域をさらに分割したもの、すなわち、矩形の符号化領域CAをさらに所要のマクロブロック単位で分割したものを意味し、例えば、各同期回復単位の符号量が等しくなるように分割したり、あるいは、所定の数のマクロブロックをまとめて同期回復単位としたりする。
“同期回復単位内符号化モード”では、参照ブロック(参照するマクロブロックのことで、自己の所属マクロブロックの隣接マクロブロック)が、たとえフレーム内であっても、“同期回復単位”の外側にある場合は、参照せずに、例えば予め定めるラベルを予測値とする。
これにより、フレーム内で伝送誤りが発生したとしても、それが、“同期回復単位”の外であれば、その“同期回復単位”は正しく再生することができる。
また、予測なしとは、他のマクロブロックは全く参照せずに、該マクロブロックのラベルを符号化するものであり、誤りにはこのモードが最も強い。
これら複数種のモードを用意して、誤りが発生する頻度によっていずれか最適な一つを選択切り替えして使用する。そして、その切り替えは、“同期回復単位”毎に行っても良いし、フレーム毎に行っても良いし、シーケンス毎に行っても良い。どのモードで符号化されたかという情報は符号化装置から復号化装置に送られるようにする。
また、別のモードとして、符号化しようとしている対象の領域の、フレーム内における占有位置如何によって、符号化テーブルを切り替える方法もある。
すなわち、画像は一般的な傾向として、例えば、図20のようにフレームの中心部分では、オブジェクトが存在する確率が高く、フレームの端ではオブジェクトが存在しない確率が高い。
このことに着目して、フレームの端に接するマクロブロックでは“allW”に短い符号を割り当てたテーブルを用い、それ以外のマクロブロックでは、“allB”に短い符号を割り当てたテーブルを用いるようにすると、予測を用いなくても、符号量を減らすことができる。これが予測なしモードである。
また、より単純に、複数の符号化テーブルを用意し、その符号化テーブルを切り替えて用いる方法もある。これの切り替え情報は、例えば、“同期回復単位”毎、あるいは、フレーム毎、シーケンス毎に符号化する。
図32は、上述した処理を実現するための本具体例のシステム構成を示すブロック図であり、このブロック図を参照して処理の流れを説明する。
この図32の構成において、破線で囲まれた部分が前述した処理を実現する本具体例に係わる部分である。図32(a)はアルファマップ符号化装置であり、オブジェクト領域検出回路3100、ブロック化回路3110、ラベル付け回路3120、ブロック符号化回路3130、ラベルメモリ3140、サイズ変更回路3150、ラベル符号化回路3160、多重化回路(MUX)3170とより構成されている。
これらのうち、オブジェクト領域検出回路3100は、入力されたアルファマップ信号を元に、そのアルファマップ信号においてオブジェクトを含んでいる部分についての方形領域を検出して、その方形領域のサイズに関する情報と共に当該方形領域のアルファマップ信号を出力するものである。ブロック化回路3110は、この方形領域のアルファマップ信号をマクロブロック化する回路であり、ラベル付け回路3120は、このマクロブロック化されたアルファマップ信号に,ついてそのブロック毎に、そのマクロブロックでのアルファマップ信号内容の属性(allW(白のみ)、Multi(白と黒の混合)、allB(黒のみ))を判定し、各属性に対応するラベル(“0”、“1”、“3”)を割り当てる回路である。
ブロック符号化回路3130は、ラベルが“1”(Multi)のもののマクロブロックについて、そのマクロブロック内のアルファマップ信号を符号化する回路であり、ラベルメモリ3140は、ラベル付け回路3120より供給されるラベル情報とラベルメモリ出力線3020を介してオブジェクト領域検出回路3100から与えられる領域のサイズ情報を蓄積すると共に、この蓄積したラベル情報とサイズ情報を併せてサイズ変更回路3150に供給するためのメモリである。
サイズ変更回路3150は、ラベルメモリ3140より供給される、時刻n−1のフレームのラベル情報とサイズ情報と、オブジェクト領域検出回路3100から与えられる、時刻nのフレームのサイズ情報とから、時刻n−1のラベル情報を時刻nのサイズに相当する様にサイズを変吏する回路であり、ラベル符号化回路3160は、このサイズ変更されたラベル情報を予測値として、ラベル付け回路3120より供給されるラベル情報を符号化する回路である。
また、多重化回路3170は、ラベル符号化回路3160の得た符号化情報と、ブロック符号化回路3130より供給される符号化情報と、オブジェクト領域検出回路3100から与えられるサイズ情報とを多重化して出力する回路である。
このような構成の符号化装置において、信号線3010を介して供給されるアルファマップ信号は、オブジェクト領域検出回路3100に与えられ、このオブジェクト領域検出回路3100は、このアルファマップ信号からオブジェクトを含む方形領域を検出する。この方形領域のサイズに関する情報は信号線3020を介して出力され、領域内部のアルファマップ信号は、ブロック化回路3110に供給される。
ブロック化回路3110は、この領域内部のアルファマップ信号についてマクロブロック化する。マクロブロック化されたアルファマップ信号はラベル付け回路3120とブロック符号化回路3130に供給される。
ラベル付け回路3120では、マクロブロック毎の属性(“allW”、“Muti”、“allB”)を判定し、各属性に対応するラベル(“0”、“1”、“3”)を割り当てる。そして、この割り当てられたラベル情報は、ブロック符号化回路3130、ラベルメモリ3140、ラベル符号化回路3160に供給される。
ブロック符号化回路3130では、ラベルが“1”(Multi)のとき、マクロブロック内のアルファマップ信号が符号化され、その符号化情報は多重化回路3170に供給される。ラベルメモリ3140には、ラベル付け回路3120より供給されるラベル情報とラベルメモリ出力線3020を介する領域のサイズ情報が蓄積され、ラベル情報とサイズ情報を併せてラベルメモリ出力線3030よりサイズ変更回路3150へと供給される。
サイズ変更回路3150では、ラベルメモリ出力線3030を介して供給される、時刻n−1のフレームのラベル情報とサイズ情報と、信号線3020を介して供給される時刻nのサイズ情報とから、時刻n−1のラベル情報を時刻nのサイズに相当する様にサイズを変更したラベル情報をラベル符号化回路3160に供給する。
ラベル符号化回路3160では、サイズ変更回路3150より供給されるラベル情報を予測値として、ラベル付け回路3120に供給されるラベル情報を符号化し、その符号化情報は多重回路3170に供給される。多重化回路3170では、ブロック符号化回路3130とラベル符号化回路3130とラベル符号化回路3160より供給される符号化情報と、ラベルメモリ出力線3020を介して供給されるサイズ情報とを多重化した後、信号線3040を介して出力する。
以上が符号化装置の構成と作用である。次に復号化装置の構成と作用を説明する。
図32(b)に示すアルファマップ符号化装置は、分離化回路(DMUX)3200、ラベル複合化回路3210、サイズ変更回路3220、ラベルメモリ3230、ブロック複合化回路3240より構成される。
これらのうち、分離化回路3200は、信号線3050を介して供給される符号化情報を分離する回路であり、ラベル複合化回路3210は、サイズ変更回路3220より供給される、時刻n−1のラベル情報のサイズを変更した情報を予測値として、時刻nのラベル情報を再生する回路である。
また、サイズ変更回路3220は、サイズ変更回路3150と同様の働きをする回路であって、ラベルメモリ3230より供給される、時刻n−1のフレームでのラベル情報とサイズ情報と、分離化回路3200から分離して与えられる、時刻nのフレームのサイズ情報とから、時刻n−1のフレームでのラベル情報を時刻nのサイズに相当する様にサイズを変更する回路であり、ラベルメモリ3230は、ラベルメモリ3140と同様の働きをする回路であって、ラベル複合化回路3210より復号化されて供給されるラベル情報と、分離化回路3200から与えられる領域のサイズ情報を蓄積すると共に、この蓄積したラベル情報とサイズ情報を併せてサイズ変更回路3220に供給するためのメモリである。
また、ブロック復号化回路3240は、ラベル復号化回路3210より供給される、再生されたラベル情報にしたがって、ブロック毎にアルファマップ信号を再生する回路である。
このような構成の復号化装置の作用を説明する。
分離化回路3200では、信号線3050を介して供給される符号化情報を分離して、ブロック複合化回路3240とラベル復号化回路3210に供給すると共に、信号線3060を介してサイズ情報を出力する。ラベル復号化回路3210では、サイズ変更回路3220より供給される時刻n−1のフレームでのラベル情報のサイズを変更した情報を予測値として、時刻nのフレームでのラベル情報を再生する。
再生されたラベル情報はブロック復号化回路3240とラベルメモリ3230に供給される。ブロック復号化回路3240では、ラベル復号化回路3210より供給される、再生されたラベル情報にしたがって、ブロック毎にアルファマップ信号を再生する。なお、サイズ変更回路3220はサイズ変更回路3150と、ラベルメモリ3230は、ラベルメモリ3140と、各々同一の動作をするため、ここでは深く説明しない。
以上、マクロブロック単位にしたアルファマップをラベル付けし、既に符号化済みのフレームのマクロブロックのラベルを利用して、現フレームのマクロブロックのラベルを符号化するようにした符号化装置と複合化装置の例を説明した。時間的に近いフレームのアルファマップ間では、そのマクロブロックは非常に似たラベル付けが行われる。従って、このような場合には、フレーム間においてラベルの相関が高いため、既に符号化済みのフレームのラベルを利用して、現フレームのラベルを符号化することで、大幅に符号化効率を図ることができるようになる。
ところで、このような先行技術としての発明では、フレーム内あるいはフレーム間において隣接する1ブロック(1マクロブロック)を参照してVLC(可変長符号化)テーブルを切り換えていた。この場合、フレーム間相関が高い場合には、“フレーム間の隣接ブロック”を参照し、フレーム間相関が低い場合には、“フレーム内の隣接ブロック”を参照して、VLCテーブルを切り換えていた。しかし、実際の応用では、フレーム間相関とフレーム内相関両方を利用した方が良い場合が多い。
そこで、ある画素位置のモードを“M(h、v、t)”(h、v、tは各々、水平、垂直、時間方向の座標軸を表す)とすると、モード“M(x、y、n)”を符号化する際に、例えば、“M(x−1、y、n)”、“M(x、y−1、n)”、“M(x、y、n−1)”を参照してVLCテーブルを選択することにする。ここで、図29のようにモードの数が3通りの場合、参照ブロック数が3ブロック(3マクロブロック)ならば、VLCテーブルの数は3の3乗(=27)個となる。また、参照ブロック数をこれ以上多くすることも可能である(例えば、“M(x−1、y−1、n)”、“M(x、y、n−2)”)。
この場合、VLCテーブルの数が多くなるだけでなく、新たに追加する参照ブロック間とのブロック間相関も低下するため、参照ブロック数を増やしても符号化効率はあまり向上しない。従って、VLCテーブルの数と、符号化効率とのトレードオフを図る必要がある。
次に、ブロックの属性情報を符号化する別方式の具体例を説明する。
ここでは、前のフレームのラベルを予測に用いてブロックの属性情報を符号化する方式を説明する。
<前のフレームのラベルを予測に用いる符号化装置の具体例>
図43は本発明の一具体例としての符号化回路のブロック図である。図に示すように、この符号化回路はオブジェクト領域検出回路502、ブロック化回路504、ラベル付け回路506、ラベル符号化回路508、ラベルメモリ509、参照ブロック決定回路510、予測回路512とから構成される。
これらのうち、オブジェクト領域検出回路502は、アルファマップの信号501からオブジェクトを含む、ブロックサイズの倍数で表される領域を符号化領域として設定すると共に、当該符号化領域のアルファマップ信号503を切り出す回路であり、ブロック化回路504は、この切り出されたアルファマップ信号503を16×16画素構成のブロック単位(マクロブロック単位)に分割(ブロック化)して出力するものであり、ラベル付け回路506は、ブロック化されたアルファマップ信号505について、オブジェクトの含み具合に応じた所定のラベルを付与し、ラベル情報507として出力するものである。
ラベル符号化回路508は、与えられる予測値514によって符号化テーブルを切り替えてラベル情報507を符号化し、出力するものであり、ラベルメモリ509は、ラベル付け回路506によってブロック毎に付与された上記のラベル情報507を記憶するものであり、参照ブロック決定回路510は、前フレームにおいて符号化ブロックと同じ位置にあるブロックを参照ブロック511として決定するといった処理を行うものであり、予測回路512はラベルメモリ509に保持されている前フレームのラベル513を参照し、参照ブロック511の位置のラベルを予測してこれを予測値514としてラベル符号化回路508に送るものである。
このような構成の符号化装置において、アルファマップの信号501は、オブジェクト領域検出回路502に入力される。オブジェクト領域検出回路502では、オブジェクトを含む、ブロックサイズの倍数で表される領域が符号化領域として設定され、符号化領域で切り出されたアルファマップ503がブロック化回路504に送られる。ブロック化回路504では、アルファマップ503が16×16画素構成のブロック単位(マクロブロック単位)に分割され、ブロック化されたアルファマップ505は、ラベル付け回路506に送られる。ラベル付け回路506では、例えば、
・ブロック内にオブジェクトが含まれない :“ラベル0”
・ブロック内の一部にオブジェクトが含まれる:“ラベル1”
・ブロック内の全てがオブジェクトである :“ラベル3”
といったラベル情報507(モード情報)がブロック毎に付与される。ラベル情報507はラベル符号化回路508に送られ、またラベルメモリ509に記憶される。このラベルメモリ509にはそれまでに符号化されたラベルが記憶されている。
一方、参照ブロック決定回路510では、例えば前フレームにおいて符号化ブロックと同じ位置にあるブロックが参照ブロック511として決定され、予測回路512に送られる。予測回路512には、ラベルメモリ509から前フレームのラベル513も入力され、そのうちの参照ブロック511の位置のラベルが予測値514としてラベル符号化回路508に送られる。ラベル符号化回路508では、予測値514によって符号化テーブルを切り替えてラベル情報507を符号化し、符号515が出力される。
ここで、符号化領域が常にフレームと等しい時は、参照ブロックは一つに決まる。しかし、符号化領域がフレームよりも小さく、かつ、前フレームと現フレームでその符号化額域の位置が異なる場合は、フレームの角を原点とする座標軸を用いるか、符号化領域の角を原点とする座標軸を用いるかで参照ブロックは異なってくる。
この座標軸の取り扱いについて詳しく説明する。
図44(a),(b)は、時刻n−1と時刻nにおけるフレーム画像Fn-1 ,FnとそれぞれのフレームFn-1 ,Fnにおける符号化領域CAの各マクロブロックのモード情報MDの例である。
先願の発明(特願平8−237053号)では、一例として、現フレーム(時刻n)内の符号化領域の原点Vc0と、前フレーム(時刻n−1)内の符号化領域の原点Vp0を一致させて、該ブロックのモード情報を符号化する際に参照とするブロックを決定する具体例を提示した。これは、符号化領域の座標軸に基づいてブロックの対応付けを行うものである。
この場合、図45(a)のように、前フレームの符号化領域の右端あるいは下端を“cut”または“copy”することで、現フレームの符号化領域のサイズに一致させている。
図44の例では、符号化領域の左端および上端が変化している。このような場合、現フレームのモード情報に対応するブロックは、図45(a)に示されるように斜線部のブロック(21個)が一致していないため、この値を用いて符号化すると符号化効率が低下する恐れがある。
図44のような例では、現フレームの原点Fc0と前フレームの原点Fp0を一致させて、フレームの座標軸上で最も近いブロック位置のブロックを参照ブロックとした方がよい。
図44の場合、フレームの座標軸に基づいて参照ブロックを求めると図45 (b)の様になる。つまり、図44の例では、左端と上端で変化があるため、図45(b)のように左端と上端を“cut”または“copy”することで、現フレームの符号化領域のサイズに一致させることになる。この場合、現フレームのモード情報に対応するブロックは、図45(b)に示されるように、一致していないブロックは、斜線部のブロック(3個)だけになる。
即ち、状況に応じて前フレームのラベルを、符号化領域の座標軸に基づいて変更するか、フレームの座標軸に基づいて変更するかを切り替えることにより、符号化効率の改善が図れる。座標軸の決定法は、符号化装置側で最適な方を選択して切り替え情報を送つても良いし、符号化装置と復号化装置とで共に既知の情報を用いて決定してもよい。
図46は、符号化領域の座標軸を用いた方が良い例である。この例はカメラを右方向に振った場合のように、(a)のフレームFn-1 から(b)のフレームFnのようにフレームが大きく移り変わったことを示している。この例の場合、図から明らかなように、フレーム内での符号化領域の位置が大きくずれているため、フレームの座標軸に基づいて参照ブロックを決定するのは得策ではない。
即ち、現フレーム(時刻n時点のフレームFn)と前フレーム(時刻n−1時点のフレームFn-1 )とでフレーム内での符号化領域CAの位置が大きくずれている場合には符号化領域の座標軸を用いた方がよく、フレーム内での符号化領域の位置があまりずれていない場合にはフレームの座標軸を用いた方がよい。
現フレームFn と前フレームFn-1 とでフレーム内での符号化領域の位置が大きくずれでいるか否かは、フレーム内における符号化領域の位置を表す情報(ベクトル)prev_refscurr_refと符号化領域の大きさから判断できる。
すなわち、アルファマップを併用する動画像符号化装置における符号化データ構成は規格により図47に示す如きとなっている。すなわち、符号化データは符号化領域のレイヤ、マクロブロックMBのレイヤ、2値形状のレイヤを含み、符号化領域のレイヤは符号化領域サイズ情報、符号化領域位置情報、符号化領域縮小・拡大率情報などを含む。そして、MBのレイヤは、2値形状情報,texture MV情報、多値形状情報、texture情報からなり、2値形状情報はモード情報、動きベクトル情報、縮小・拡大率情報、スキャン方向情報、2値符号化情報を含む。
これらのうち、符号化領域サイズ情報は符号化領域のサイズ(縦横の大きさ)を表す情報を指し、符号化領域位置情報は符号化領域の位置(Vp0、Vc0の位置)を表す情報を指し、符号化領域縮小・拡大率情報は符号化領域単位での2値画像の縮小・拡大率(CR)情報を指す。
また、MB符号化情報はMB内のオブジェクトを再生するための情報を指す。 MBのレイヤにおける2値形状情報はMB内の各画素がオブジェクト内部か否かを表す情報を指し、texture MV情報はMB内の輝度信号や色差信号を動き捕償予測するための動きベクトル情報を指し、多値形状情報はオブジェクトを他のオブジェクトと合成する際の重みづけ情報を指し、texture情報はMB内の輝度信号や色差信号の符号化情報を指す。
また、2値形状のレイヤにおけるモード情報はMB内の2値画像の属性を表す情報を指し、動きベクトル情報はMB内の2値の画像を動き補償予測するための動きベクトル情報を指し、縮小・拡大率情報はMB単位での2値画像の縮小・拡大率(CR)情報を指し、スキャン方向情報は符号化の順序が水平方向か垂直方向かを示す情報を指し、2値符号化情報は2値画像の符号化情報を指す。
符号化領域の位置(Vp0、Vc0の位置)を表す情報は、符号化領域位置情報に納められており、従って、この情報を用いることで符号化領域の位置(Vp0、Vc0の位置)を知ることができる。この情報を用いてフレームFn-1 とフレームFnを比較する。この比較はフレームのホームポジションから符号化領域のホームポジション位置までのベクトルをそれぞれ求めてこのベクトルによって行う。
その結果、例えば、図46の様に“prev_refとcurr_ref”の差が大きく、現フレームと前フレームとで符号化領域の大きさがほとんど変化がない場合には、符号化領域の座標軸に基づいてた方が良いことが分かる。ここで、“prev_refとcurr_ref”および符号化領域の大きさの情報は、符号化領域の符号化に先立って符号化されており、復号装置側でも既知の情報であるため、どちらの座標軸を用いたかを識別する付加情報は必要ない。
また、図48(a)に示すようにフレーム530の一部分として符号化領域531が設定された場合、符号化領域531の外側はラベルが決まらない。しかし、次のフレームの符号化の際には、符号化領域531の外側が参照ブロックとなる事があるので、何らかのラベルを挿入しておく必要がある。
図48(d)は、図48(a)におけるラベル未定の部分に所定の値、この場合は“0”を挿入した例である。図48(c)は、図48(a)におけるラベル未定部分について、符号化領域から外挿した例であり、これは、オブジェクトの動きが大きかったり、形状が激しく変化するなどして、前フレームではオブジェクトが無かった部分に次のフレームではオブジェクトが現れる確率が高い場合に有効である。
図48(b)は、図48(a)のラベル未定部分について、ラベルメモリ509のメモリ空間のうち、次のフレームの符号化領域532の部分だけを外挿し、その他の部分は上書きしない例であり、このようにすると、2フレーム以上前のフレームのラベルを予測に用いることができる。
以前のフレームのラベルを予測に用いたい場合は、他に、例えば外挿や所定値の挿入は全く行わずに、メモリ空間のうち、符号化領域だけを更新していく方法もある。
次に、図52を用いて説明した、フレームの縮小・拡大率(CR)がフレーム毎に切り替わる場合のラベルの予測方法について説明する。
図60は、縮小処理の例であって、前フレームが“CR=1”で現フレームが“CR=1/2”の例であり、この場合、縮小して得ようとする現フレームの対象ブロックである例えばマクロブロックMB1に対応する前フレームのブロックは、図に示したように、MB2〜MB5の4つある(図61参照)。つまり、前フレームのマクロブロックMB2,MB3,MB4,MB5が縮小後のマクロブロックMB1になる。
今、現フレームのマクロブロックMB1のアドレスを(x,y)とすると、前フレームのブロックMB2〜MB5のアドレスは(2x,2y)、(2x+1,2y)、(2x,2y+1)、(2x+1、2y+1)で得られる。
ここでの係数“2”は、前フレームと現フレームの縮小・拡大率CRの値の比として与えられる。
ブロックMB1のラベルの符号化の予測には、ブロックMB2、MB3、MB4、MB5のいずれかのラベルを用いるのが適当であるが、その決め方にはいくつか方法がある。
まず、最も簡単で演算量が少ないのは、4つのうちの所定の位置(例えば左上)にあるブロックのラベルを用いる方法である。あるいは、4つのラベルに同じものがある時は、その数が最も多いラベルを予測値として用いるようにすれば、予測が当たる確率は高くなる。
同じ内容を持つラベルの数が等しい場合、つまり、二組ずつに分かれてしまった場合には、出現頻度が高い順に予めラベルに順序を付けておき、その順序で上位のラベルを予測値として選択する。フレーム内に矩形の符号化領域CAを設定する場合、符号化領域CAの角を原点とする座標軸を用いると、図61のように、現フレームのブロック(符号化対象のマクロブロック)の境界は参照フレームのマクロブロックの境界に重なる。
しかし、符号化対象の領域はマクロブロックの幅よりも小さなステップで位置設定可能とし、フレームの角を原点とする座標軸を用いると、図62のように、一般にブロックの境界は重ならず、MB6〜MB14の計9つのマクロブロックが参照される。
この場合は、全体が参照されているマクロブロックMB10のラベルを用いる。
図63は、前フレームが縮小・拡大率CR=1/2で現フレームが縮小・拡大率CR=1の例であり、この場合、マクロブロックMB19は縮小フレーム中のマクロブロックMB15の右下の部分を参照することになる。この時は、ブロックMB15のラベルを予測値とするか、あるいは、参照部分がブロックMB16〜MB18とも近いことから、これらのブロックのラベルを考慮に入れて、例えば前述したように多数決などで予測値を決めてもよい。
<ラベルを予測に用いる復号化装置の構成例>
図49にラベルを予測に用いるようにした本発明の復号化装置の構成例をブロック図で示す。
この復号化装置は、ラベル復号化回路516、ラベルメモリ517、参照ブロック決定回路518、予測回路520とから構成される。
これらのうち、ラベル復号化回路516は、入力された復号対象の符号データからラベルのデータを復号化するものであり、ラベルメモリ517は、この復号化されたラベルのデータを記憶するものであり、参照ブロック決定回路518は、前フレームにおいて符号化ブロックと同じ位置にあるブロックを参照ブロック519として決定するといった処理を行うものである。
また、予測回路520は前フレームのラベル521と参照ブロック519から予測値522を求め、ラベル復号化回路516に与える機能を有する。
このような構成の復号化装置において、復号対象である符号化データのストリーム515はラベル復号化回路516に入力され、ラベルが復号化される。
一方、ラベルメモリ517には、それまでに復号化されたラベルが記憶されている。また、参照ブロック決定回路518では、符号化装置で説明したものと同じように参照ブロック519が決定され予測回路520に送られる。予測回路520でも符号化装置と同様に前フレームのラベル521と参照ブロック519から予測値522が求められ、ラベル復号化回路516に送られる。ラベル復号化回路516では、予測値522によって復号化テーブルを切り替えてラベル523を復号化し出力する。
また、あるブロックのモード“M(h、v、t)”(h、v、tは各々、水平、垂直、時間方向の座標軸を表す)を符号化する際に、例えば、“M(x−1、y、n)”、“M(x、y−1、n)”、“M(x、y、n−1)”などを参照して符号化テーブルを切り替えるのであるが、ここで用いるモードに、動き補償に用いる動きベクトルの情報の一部を含め、以下に示すモードの集合(これをモード集合Aと呼ぶことにする。)を用いることもできる。
[モード集合A]
(1) “a11W”
(2) “a11B”
(3) “copy(動きベクトル==0)”
(4) “copy(動きベクトル!=0)”
(5) “coded”
ここで、モード集合Aの(3)と(4)はいずれもcopyモードであるが、モード集合Aの(3)は、動きベクトルがゼロであることを意味し、モード集合Aの(4)は、動きベクトルがゼロ以外であることを意味する。モード集合Aの(4)の場合は動きベクトルの値を別途符号化する必要があるが、モード集合Aの(3)の場合は、動きベクトルを符号化する必要はない。動きベクトルがゼロである確率が高い場合に、モード集合Aを用いると、モードの符号量と動きベクトルの符号量の合計を削減できる。
この例において、“copy(動きベクトル==0)”として得られるブロックの全ての画素が例えば黒の場合、上記(2)と(3)はどちらのモードでも同じ再生画像が得られる。つまり、これら2つのモードを分ける必要はない。同様に、“copy(動きベクトル==0)”として得られるブロックの全ての画素が白の場合、上記(1)と(3)は分ける必要はない。そこで、
[モード集合B」
(1) “a11W”
(2) “a11B”
(3) “copy(動きベクトル!=0)”
(4) “coded”
として、
ステップA1:“copy(動きベクトル==0)″”とした時に得られる動き補償予測画像が全て黒である場合は、ステップA3へ、そうでない場合は、ステップA2へ進む。
ステップA2: “copy(動きベクトル==0)”とした時に得られる動き補償予測画像が全て白である場合は、ステップA4へ、そうでない場合は、ステップA5へ進む。
ステップA3: 参照する““M(*、*、*)”が、“copy(動きベクトル==0)”の場合には“M(*、*、*)”を““a11B”に置き換える。ステップA6に進む。
ステップA4: 参照する“M(*、*、*)”が、“copy(動きベクトル==0)”の場合には“M(*、*、*)゛”を“a11W”に置き換える。ステップA6に進む。
ステップA5: “M(x、y、n)”をモード集合Aの符号化テーブルを用いて符号化する。符号化終了。
ステップA6: “M(x、ysn)”をモード集合Aの符号化テーブルを用いて符号化する。符号化終了。
以上のA0からA6の手順を踏むアルゴリズム(図50)を用いれば、同じ結果となるものに複数のモードが用意されるという無駄が無くなり、ブロックの属性情報の符号量を削減できる。なぜなら、4つのモード(モード集合B)を切り替える符号の平均符号長は、5つのモード(モード集合A)を切り替える符号の平均符号長よりも短くできるからである。但し、モード集合Aのみをブロック毎に切り替える方式は、モード集合Aのみを用いる場合と比較して、演算量とメモリ量が多少増加するので、この増加が問題にならない場合に用いる。
復号化処理は図50のフローチャートと全く同じアルゴリズムで符号化テーブルをモード集合A用あるいはモード集合B用のいずれかに決定し、そのテーブルを用いて復号化する。
上述のアルゴリズムと同じ効果が得られる別のアルゴリズムを図51に示す。ここで、
[モード集合C]
(1) “a11W”
(2) “copy(動きベクトル==0)”
(3) “copy(動きベクトル!=0)”
(4) “coded”
[モード集合D]
(1) “a11B”
(2) “copy(動きベクトル==0)”
(3) “copy(動きベクトル!=0)”
(4) “coded”
である。
図51のフローチャートを説明する。
ステップB1:“copy(動きベクトル==0)”とした時に得られる動き補償予測画像が全て黒である場合は、ステップB3へ、そうでない場合は、ステップB2へ進む。
ステップB2:“copy(動きベクトル==0)”とした時に得られる動き補償予測画像が全て白である場合は、ステップB4へ、そうでない場合は、ステップB5へ進む。
ステップB3:参照する“M(*、*、*)””が、“allB”の場合には“M(*、*、*)”を“copy(動きベクトル==0)”に置き換える。ステップB6に進む。
ステップB4:参照する“M(*、*、*)”が、“a11W”の場合には “M(*、*、*)”を““copy(動きベクトル==0)”に置き換える。stepb7に進む。
ステップB5:“M(x.y.n)”をモード集合Aの符号化テーブルを用いて符号化する。符号化終了。
ステップB6:“M(xsysn)”をモード集合Cの符号化テーブルを用いて符号化する。符号化終了。
ステップB7:“M(x.y.n)”をモード集合Dの符号化テーブルを用いて符号化する。符号化終了。
また、ブロックの属性としては、符号化のパラメータ、例えばブロックサイズやブロックの縮小率、符号化スキャンの方向、動きベクトルの値なども必要に応じて含めることもできる。スキャン方向を含めた例を示す。
[モード集合E]
(1) “a11W”
(2) “a11B”
(3) “copy(動きベクトル==0)”
(4) “copy(動きベクトル!=0)”
(5) “codedかつ水平スキャン”
(6) “codedかつ垂直スキャン”
なお、“==”は左辺は右辺の値と等しい、“!=”は左辺は右辺の値と等しくないことを示す。
以上、述べてきたように、本発明では、前のフレームの参照ブロックを予測に用いるのであるが、この参照ブロックのラベルではなく、アルファマップそのものを予測に用いても構わない。すなわち、アルファマップをメモリに記億しておき、各ブロックの属性を符号化する度に、その参照ブロックの属性(“allW”、“Multi”、“allB”など)を判定し、その属性によって符号化テーブルを切り替える。
このようにすると、前のフレームを符号化した時に用いたブロックとは、位置が数画素ずれたものも参照ブロックとすることができる。つまり、参照ブロックが前のフレームを符号化した時に用いたブロックとピッタリと重ならなくてもかまわなくなり、より精度の高い予測が可能となる。
また、参照ブロックのアルファマップを用いた予測と、ラベルを用いた予測を組み合わせることも可能である。
例えば、まず、参照ブロックのアルファマップを用いて、“allW”、“Multi”、“allB”によって符号化テーブルを切り替え、さらに、“Multi”のものについては、参照ブロックのラベルを用いて符号化テーブルを切り替えるようにする。
前のフレームの参照する部分については、ブロック毎に与えられる動きベクトルを利用する方法もある。つまり、既に符号化の終わった、符号化ブロックに隣接するマクロブロックの動きベクトルによって指し示される部分を前のフレームから切り出し、それが、“allW″か、“Multi”か、“allB”かによって符号化テーブルを切り替える。
(第7の具体例)
本発明は画像を符号化する場合に、画面内を背景とオブジェクトとに分割して符号化する方式において、背景とオブジェクトを分けるために、オブジェクト形状や画面内の位置を表すアルファマップ信号を使用する。そして、このアルファマップ信号を画像の符号化情報と共に符号化してビットストリーム化し、伝送するようにしたり蓄積したりするが、前者は放送やパソコン通信に、そして、後者はミュージックCDなどのように、コンテンツを納めた商品として取り引きされることになる。
そして、商品として記憶媒体に記録した動画像コンテンツを提供する場合に、蓄積媒体に画像の符号化情報とこのアルファマップ信号の圧縮符号化したものとを合わせたビットストリームで蓄積して、一つの媒体で長時間に亘るコンテンツを納めて映画などを鑑賞できるようにするが、このようなアルファマップの画像を含む圧縮符号化したビットストリームを格納した蓄積媒体を対象とする再生システムの例を次に第7の具体例として説明する。
<本発明による情報を蓄積する媒体に関する具体例>
図27、図28を用いて本具体例を説明する。図27は、図21のVLC・多重化回路1800において多重化された、モード情報b0、動きベクトル情報b1、縮小・拡大率情報b2、スキャン方向情報b3、2値画像符号化情報b4の符号列のフォーマット例を示している。本発明では、2値画像符号化情報b4を復号する際に、b0〜b3までの情報が復号されている必要がある。また、モード情報b0は他の全ての情報bl〜b4に先だって復号されていないと、他の情報を復号することは出来ない。従って、各情報b0〜b4は、図27のように、先頭にモード情報、最後に2値面像符号化情報が配置される構成でなければならない。
図28は、図27で示される符号列が蓄積される記録媒体8100を用いて画像信号を再生するシステムを示す図である。記録媒体8100には、図27で示された符号列を含む符号列が蓄積されている。8200はこの蓄積媒体8100に蓄積されている符号列から、画像信号を再生するデコーダであり、8300は再生画像を出力する画像情報出力装置である。
このような構成の本システムは、蓄積媒体8100に図27に示す如きのフォーマットの符号列を蓄積してある。デコーダ8300はこの蓄積媒体8100に蓄積されている符号列から、画像信号を再生する。すなわち、デコーダ8200は、蓄積媒体8100より信号線8010を介して符号列を読み込み、図33および図34に示す手順により再生画像を生成する。ここで、図34は図33の“2値画像再生”のステップ(S5)のフローチャートである。
図33,図34に従って、デコーダ8200での処理を内容を説明する。すなわち、まずはじめにモード情報が復号され(ステップS1)、その復号されたモード情報が“allW”,“allB”,“copy”のいずれかに該当するか否かを調べる(ステップS2,S3,S4)。
その結果、“allW”であればマクロブロック内の画素値を全て白にして処理を終え(ステップS6)、また、“allW”でなく、“allB”であればマクロブロック内の画素値を全て黒にして処理を終え(ステップS7)、また、“allW”でもなく、“allB”でもなく、“copy”であったとすれば動きベクトルを情報を復号し(ステップS8)、動き補償予測し(ステップS9)、マクロブロック内をこの求めた動き補償予測値でコピーする(ステップS10)。そして、処理を終了する。
一方、ステップS2,S3,S4において“allW”でもなく、“allB”でもなく、“copy”でもなかった場合には2値画像再生の処理に移る(ステップS5)。
このS5での処理は図34に示す如きであり、まずはじめに“inter”符号化であるか否かを調べる(ステップS21)。その結果、“inter”符号化であれば動きベクトル情報を復号し(ステップS25)、動き補償予測し(ステップS26)、次に縮小・拡大率情報を復号し(ステップS22)、スキャン方向情報を復号する(ステップS23)。そして、2値符号化情報を復号し(ステップS24)、処理を終了する。
一方、ステップS21での判断の結果、“inter”符号化でなかったときは縮小・拡大率情報を復号し(ステップS22)、スキャン方向情報を復号する(ステップS23)。そして、2値符号化情報を復号し(ステップS24)、処理を終了する。
このようにしてデコーダ8200では画像を再生し、この再生した面像を信号線8020を介して画像情報出力装置8300に供給することにより、当該再生面像がこの画像情報出力装置8300に表示される。
ここで、画像情報出力装置とは、例えばディスプレイやプリンタ等を指す。なお、先の具体例にあるように、フレーム単位の縮小・拡大と、小領域単位の縮小・拡大を組み合わせた符号化・復号化装置の場合、フレーム単位縮小・拡大率の情報は、図27に示される小領域単位の符号列に先だって再生されていなければならないため、フレーム単位縮小・拡大率の符号は該フレームにおける全ての小領域単位の符号列の前に位置する。
このように、蓄積媒体にコンテンツとしての動画像とアルファマップ信号とを、圧縮符号化してビットストリームとして格納した場合に、その蓄積媒体の再生システムを提供できる。
(第8の具体例)
動きベクトルの予測符号化に関する具体例を第8の具体例として説明する。
図21、図22は、本発明のフレームワークを表す図である。図21において、動きべクトル検出回路1780で検出された動きベクトルは、信号線1070を介してMV符号化回路1790に供給され、符号化された後、VLC・多重化回路1800に供給され、他の符号化情報と多重化されて線30を介して出力される。
図22において、VLD・分離化回路2100によって、信号線80を介して供給された符号化情報から分離された動きベクトル情報b1は、動きベクトル再生回路2900にて動きべクトル信号に再生される。
本具体例は、上記のMV符号化回路1790および動きベクトル再生回路2900に関わるものである。
一般的に、動きベクトル信号の相関が隣接ブロック間で強いため、この相関を除去するために予測符号化により動きべクトルは符号化される。
図66は、動きベクトルの予測符号化の一例を説明するための図である。
図66において、方形の各枠はマクロブロックを示しており、下地がドットパターンで示された方形枠は、符号化対象ブロックである。この符号化対象ブロックの動きベクトルをMVsとすると、当該符号化対象ブロックのMVsに対する予測ベクトルMVPsを求めるには、当該符号化対象ブロックの直前のマクロブロック(図66における符号化対象ブロックの左隣)のブロックの動きベクトルMVs1と、当該符号化対象ブロックの直上のマクロブロック(図66における符号化対象ブロックの上隣)のブロックの動きベクトルMVs2、そして、当該直上のマクロブロックの右隣のブロックの動きベクトルMVsを用いる。
このように、符号化対象ブロックの動きベクトルMVsに対する予測べクトルMVPsは、一般的に、符号化対象ブロック周辺のブロックの動きベクトルMVs1、MVs2、MVs3を用いて求められる。
例えば、MVPsの水平・垂直成分MVPs_hおよびMVPs_vは、以下のように求められる。
MVPs_h=Median(MVs1_h、MVs2_h、MVs3_h)
MVPs_v=Median(MVs1_v 、MVs2_v 、MVs3_v )
ここで、“Median()”とは“()”内の値の中央値を求める処理であり、動きベクトルMVsn(n=1,2,3)の水平・垂直成分をそれぞれ、
MVsn_h、MVsn_v
と表記している。
また、予測ベクトルMVPsを求める別の例として、MVs1、MVs2、MVs3の順にそれぞれのブロックに動きベクトルが存在するか否かをチェックし、最初に動きベクトルが存在するブロックの動きベクトルをMVPsとする方法もある。
図67(a),(b)は、時刻n−1と時刻nにおけるフレーム画像Fn−1、Fnとそれぞれのフレームにおける符号化領域CAn−1、CAnの例である。ここで、符号化対象ブロック周辺のブロックがオブジェクトを含まないブロックの場合、そのブロックには動きべクトルが存在しない。また、フレーム内符号化されたブロックの場合にも、そのブロックには動きべクトルが存在しない。
例えば、MVs1,MVs2,MVs3の全てが存在しない場合、予測ベクトルMVPsにはデフォルト値(べクトル)を用いることになる。
オブジェクトの動きが小さい場合は、このデフォルト値を零なる動きベクトルである“ゼロベクトル”としても問題ないが、図67(a)のフレームから図67(b)のフレームへの遷移のように、フレーム内でのオブジェクトの位置の動きが大きい場合には、動きべクトルの予測が当たらなくなり、符号化効率が低下する。
本発明ではこのデフォルト値として、図67(a)に示されたベクトル“prev_ref”と図67(b)に示されたベクトル“curr_ref”との差分ベクトル“offset”と、“ゼロベクトル”とを適応的に切り換えて用いることを特徴とする。
ここで、“offset”は以下の式で求められる。
offset=prev_ref−curr_ref
デフォルト値“offset”と“ゼロベクトル”の切り替えは、例えば、フレームの座標軸に基づいて求められた時刻nのオブジェクトと時刻n−1のオプジェクトの誤差値と、符号化領域の座標軸に基づいて求められた時刻n時点でのオブジェクトと時刻n−1時点でのオブジェクトの誤差値を比較して、前者が大きい場合は“offset”を、また、後者が大きい場合は“ゼロベクトル”を、デフォルト値として用いるようにすればよい。
この場合、切り替え情報として1ビットのサイド情報を送る必要がある。また、このような動きベクトルの予測値のデフォルト値として、“offset”と“ゼロベクトル”を切り替えることは、テクスチャ情報の動きベクトルの予測符号化にも同様に適用できる。
次に、図21に示したMV符号化回路1790の具体的構成例と、図22に示すMV再生回路2900の具体的構成例を、第9の具体例として説明する。
(第9の具体例)
[MV符号化回路1790の構成]
図68は、図21に示したシステムにおけるMV符号化回路1790及びその付帯回路の具体例を示すブロック図であり、(a)は付帯回路としてのデフォルト値演算回路、(b)はMV符号化回路1790である。
図68(a)に示す付帯回路としてのデフォルト値演算回路は、オブジェクト領域について、現時点での処理フレームと、前時点での処理フレームとから、前時点から見た現時点でのフレームのオブジェクトの位置移動を、フレーム間での動きベクトル値として求めるためのものであり、図68(a)において、e10は符号化領域検出回路、e11はデフォルト値決定回路、e12は領域情報メモリ、e13はオフセット算出回路、e14はセレクタである。
また、e1は現時点でのフレームデータを入力するための信号線であり、図21におけるシステムの信号線20に該当するもので、当該信号線20から入力される現時点のフレームデータを入力として受けるためのものである。また、図68(a)におけるe2は、フレームメモリ1300に保持された前時点フレームデータを供給するための信号線であり、この信号線e2を介して、フレームメモリ1300から前時点のフレームデータの供給を受ける。また、e3はデフォルト値決定回路e11からのフラグの情報を出力する信号線であり、e4は符号化領域検出回路e10からの符号化領域CAnの情報を供給する信号線であり、e6は領域情報メモリe12から読み出される符号化領域CAn−1の位置情報を供給する信号線である。
また、前記符号化領域検出回路e10は、信号線e1を介して供給される現時点フレームFn−1の画像信号をもとに、符号化領域CAnのサイズおよび位置情報VC0 を検出するものであり、その検出結果は信号線e4を介して、デフォルト値決定回路e11、領域情報メモリe12およびオフセット算出回路e13に供給するようにしてある。
また、領域情報メモリe12は、符号化領域CAn−1のサイズおよび位置の情報を蓄積するメモリであり、時刻nの時点でのフレームの符号化が終了後、符号化領域CAnのサイズおよび位置情報を蓄積することになる。
オフセット算出回路e13は、信号線e4を介して供給される符号化領域CAnと、信号線e6を介して供給される符号化領域CAn−1の位置情報を用いて、ベクトル値“offset”を求め、それをセレクタe14に与えるものである。
また、セレクタe14は、零の動きベクトル値である“ゼロベクトル”とオフセット算出回路e13から与えられる“offset”とを入力とし、これらのいずれか一方を信号線e3を介してデフォルト値決定回路e11から供給されるフラグに従って選択する回路であり、このセレクタe14の選択したベクトル値をデフォルト値として信号線e5を介してMV符号化回路1790のセレクタ1793に出力する回路である。
以上が、デフォルト値演算回路の構成である。
次に、MV符号化回路1790の構成を説明する。
MV符号化回路1790は、図68(b)に示すように、MVメモリ1791、MV予測回路1792、セレクタ1793、差分回路1794より構成される。
これらのうち、MVメモリ1791は図21における信号線1070を介して供給される動きベクトル検出回路1780からの動きベクトル情報を保存するメモリであり、符号化対象ブロックの周囲の動きベクトルMVsn(n−1,2,3)がこのMVメモリ1790に保持される。
MV予測回路1792は、MVメモリ1791から供給される符号化対象ブロックの周囲の動きベクトルMVsn(n−1,2,3)をもとに、予測べクトルMVPsを求める回路である。ここで、MVsn(n−1,2,3)が存在しない場合は、予測ベクトルMVPsが正常に求められないため、当該MV予測回路1792は、予測ベクトルMVPsが正常に求められたか否かを識別する信号を出力する機能を備えており、この識別信号を信号線1795を介してセレクタ1793に供給する仕組みとしてある。
セレクタ1793は、MV予測回路1792より供給されるMVPsと、信号線e5を介して与えられるデフォルト値とを入力とし、前記信号線1795を介して供給される信号に従って、両者のうちの一方を選択して、差分回路1794に供給するものである。
差分回路1794は、動きベクトルの予測誤差信号を求める回路であって、信号線1070を介して供給される動きベクトル検出回路1780からの動きベクトル情報と、セレクタ1793を介して与えられるMVPsまたはデフォルト値との差を求めて、その結果を動きべクトル情報b1としてMV符号化回路1790から出力するものである。
次にこのような構成の符号化回路の作用を説明する。
図68(a)において、信号線e1にはフレームメモリ1300に保存された前時点での画像信号(前時点でのフレームのフレームデータ)であるフレームFnの画像信号が供給され、信号線e2には現時点での画像信号(現時点でのフレームのフレームデータ)であるフレームFn−1の画像信号が供給される。
そして、フレームFnの画像信号はデフォルト値決定回路e11に入力され、フレームFn−1の画像信号はデフォルト値決定回路e11と符号化領域検出回路e10に入力される。
符号化領域検出回路e10では、フレームFn−1の画像信号をもとに、符号化領域CAnのサイズおよび位置情報VC0 が検出され、その検出結果は信号線e4を介して、デフォルト値決定回路e11、領域情報メモリe12およびオフセット算出回路e13に供給される。
一方、デフォルト値決定回路e11では、信号線e4を介して供給される符号化領域検出回路e10からの符号化領域CAnの情報と、信号線e6を介して領域情報メモリe12から供給される符号化領域CAn−1のサイズおよび位置情報を用いて、フレームFnとフレームFn−1との誤差量と、符号化領域CAnとCAn−1との誤差量との比較を行う。そして、その比較の結果、前者が大きい場合にはデフォルト値として“offset”を用い、それ以外の場合はデフォルト値としてゼロベクトルを用いるように決定し、デフォルト値として“offset”を用いるか、ゼロベクトルを用いるか、を識別するフラグの情報を信号線e3を介して出力する。
信号線e3を介してデフォルト値決定回路e11から出力されたフラグの情報は、信号線e4を介して符号化領域検出回路e10から出力された符号化領域CAnのサイズおよび位置の情報と共に、図47のデータフォーマットにおける符号化領域のレイヤに多重化される。そして、伝送あるいは記録媒体への保存に供される。
一方、領域情報メモリe12は、符号化領域CAn−1のサイズおよび位置情報を蓄積するメモリであり、時刻nの符号化が終了後、符号化領域CAnのサイズおよび位置情報を蓄積することになる。
オフセット算出回路e13では、信号線e4を介して供給される符号化領域CAnと、信号線e6を介して供給される符号化領域CAn−1の位置情報を用いて、ベクトル値“offset”を求めた後、セレクタe14に供給する。
セレクタe14では、信号線e3を介してデフォルト値決定回路e11から供給されるフラグに従って、“offset”とゼロベクトルとの何れかが選択され、これをデフォルト値とする。そして、このデフォルト値は信号線e5を介してMV符号化回路1790のセレクタ1793に出力される。
図68(b)のMV符号化回路1790には、符号化対象ブロックの動きベクトルMVsが信号線1070を介して供給され、MVメモリ1791および差分回路1794に供給される。
MV予測回路1792には、MVメモリ1791から符号化対象ブロックの周囲の動きベクトルMVsn(n−1,2,3)が供給され、予測べクトルMVPsが求められる。ここで、MVsn(n−1,2,3)が存在しない場合は、予測ベクトルMVPsが正常に求められないため、予測ベクトルMVPsが正常に求められたか否かを識別する信号を生成してこれを信号線1795を介し、セレクタ1793に供給する。
セレクタ1793では、信号線1795を介して供給される識別信号に従って、MV予測回路1792より供給されるMVPsか、または、信号線e5の出力であるデフォルト値かが選択され、差分回路1794に供給される。
差分回路1794では、動きベクトルの予測誤差信号が計算され、その計算結果は動きべクトル情報b1としてMV符号化回路1790から出力される。
以上は動きベクトル符号化の処理内容であった。次にこのようにして符号化された動きベクトルの復号化処理について説明する。
[復号化回路]
図69は、本発明を実現するための復号化回路の具体例を示すブロック図であり、MV符号化されたデータの再生をするための要部構成を示したブロック図であって、図22に示したシステムにおけるMV再生回路2900及びその付帯回路の具体例を示すブロック図である。図69における(a)は付帯回路としてのデフォルト値演算回路、(b)はMV再生回路2900である。
図69(a)に示す付帯回路としてのデフォルト値演算回路は、領域情報メモリd10、オフセット算出回路d11、セレクタd12とから構成される。また、d1は符号化されて伝送されてきたデータあるいは記憶媒体に記憶されて読み出されたデータの上位レイヤに含まれているデフォルト値選択識別用のフラグの情報を与える信号線、d2は符号化されて伝送されてきたデータの上位レイヤに含まれている領域CAnの位置情報を与える信号線であり、これらは符号化回路側におけるe3,e4に対応する。
また、d3は領域CAn−1の位置情報を与える信号線、d4はデフォルト値を出力する信号線である。
上記領域情報メモリd10は、領域CAn−1の位置情報を蓄積するメモリであり、オフセット算出回路d11は、信号線d2を介して供給される領域CAnの位置情報と、信号線d3を介して供給される領域CAn−1の位置情報とを用いてベクトル値“offset”を求めるものであって、この求めたベクトル値“offset”はセレクタd12に供給する構成としてある。
また、セレクタd12は予め与えられた零の動きベクトル値と、オフセット算出回路d11から与えられるベクトル値“offset”とのうちの一方を、信号線e1を介して与えられるデフォルト値選択識別用のフラグの情報対応に選択して出力するものであり、このセレクタd12の出力がデフォルト値として信号線d4に出力され、MV再生回路2900に与えられる構成である。
以上が復号側におけるデフォルト値演算回路の構成である。
次にMV再生回路2900の構成を説明する。
MV再生回路2900は、図69(b)に示すように、加算回路2901、セレクタ2902、MV予測回路2903、MVメモリ2904とからなる。
これらのうち、加算回路2901は、復号化対象ブロックの動きベクトルの予測誤差信号である動きベクトル情報b1とセレクタ2902を介して与えられるデフォルト値とを受けて、両者を加算して出力する回路であり、この加算出力はMVメモリ2904並びに図22の構成における信号線2030に出力される構成である。
また、MVメモリ2904は、前記加算回路2910の加算出力を保持して復号化対象ブロックの周囲の動きベクトルMVsn(n=1,2,3)を供給するためのものであり、また、MV予測回路2903は、MVメモリ2904から供給される復号化対象ブロックの周囲の動きベクトルMVsn(n=1,2,3)から予測ベクトルMVPsを求め、セレクタ2902に与えるものである。なお、MVsn(n=1,2,3)が存在しない場合は、予測ベクトルMVPsが正常に求められないため、MV予測回路2903には、予測ベクトルMVPsが正常に求められたか否かを識別する信号を発生する機能を持たせてあり、この識別信号は、信号線2905を介してセレクタ2902に供給する構成としてある。
セレクタ2902は、信号線e4を介して与えられるデフォルト値と、MV予測回路2903から与えられる予測ベクトルMVPsを入力とし、これらの一方を、信号線2905を介して供給される識別信号に従って、選択して加算回路2901に与える回路である。
次に、このような構成の復号化側システムの作用を説明する。
図69(a)において、信号線d1にはデフォルト値として“offset”を用いるか、ゼロベクトルを用いるかを識別するフラグが供給され、信号線d2には領域CAnの位置情報が供給される。
信号線d2を介して供給された領域CAnの位置情報は、領域情報メモリd10とオフセット算出回路d11に供給される。領域情報メモリd10は、領域CAn−1の位置情報を蓄積するメモリであり、時刻nの復号化が終了後、領域CAnの位置情報を蓄積することになる。
オフセット算出回路d11では、信号線d2を介して供給される領域CAnの位置情報と、信号線d3を介して供給される領域CAn−1の位置情報とを用いてベクトル値“offset”を求めた後、ベクトル値“offset”をセレクタd12に供給する。
セレクタe12では、信号線d1を介して供給されるフラグに従って、“offset”と“ゼロベクトル”のうちの何れか一方が選択され、デフォルト値として信号線e4を介してMV再生回路2900へと出力する。
次に図69(b)のMV再生回路2900においては、復号化対象ブロックの動きベクトルの予測誤差信号である“動きベクトル情報b1”が供給され、加算回路2901に供給される。
また、MV予測回路2903には、MVメモリ2904から復号化対象ブロックの周囲の動きベクトルMVsn(n=1,2,3)が供給され、予測ベクトルMVPsが求められる。ここで、MVsn(n=1,2,3)が存在しない場合は、予測ベクトルMVPsが正常に求められないため、予測ベクトルMVPsが正常に求められたか否かを識別する信号を信号線2905を介してセレクタ2902に供給する。
セレクタ2902では、信号線2905を介して供給される当該識別信号に従って、MV予測回路2903より供給されるMVPsか、または信号線d4の出力であるデフォルト値のいずれかが選択され、加算回路2901に供給される。
加算回路2901では、動きベクトルの予測誤差信号(“動きベクトル情報b1”)と予測信号MVPsとが加算され、これによって復号化対象ブロックの動きベクトルMVsが再生される。そして、この復号化対象ブロックの動きベクトルMVsは信号線2030を介してMV再生回路2900から出力されると共に、MVメモリ2904に蓄積される。
このようにして、図21に示す構成での必要なMV符号化処理と、図22に示す構成での必要なMV再生処理が実現できる。
以上、種々の実施例を説明したが、本発明によれば、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率よく符号化できると共に、その復号を行うことができるようにした画像符号化装置および復号化装置が得られる。
また、本発明によれば、アルファマップの符号量を低減することができるため、フレーム単位で符号化する従来の符号化法と比べて、大幅な符号化効率の低下なしにオブジェクト毎に別々に符号化することができるようになる。
なお、本発明は上述した具体例に限定することなく種々変形して実施し得る。
本発明を適用する前提となる符号化装置の全体の概略的な構成を示すブロック図。 本発明を適用する前提となる復号化装置の全体の概略的な構成を示すブロック図。 本発明を適用する前提となる符号化装置におけるアルファマップ符号化回路の構成を示すブロック図。 本発明を適用する前提となるアルファマップ復号化回路の構成を示すブロック図。 本発明の第1の具体例にかかる符号化回路の一具体例を示すブロック図。 本発明の第1の具体例にかかる復号化回路の一具体例を示すブロック図。 本発明の第1の具体例を説明するための図であって、変化画素b1の周囲の様子の例を示す図。 本発明の第1の具体例を説明するための図であって、参照画素の例を示す図。 本発明の第1の具体例を説明するための図であって、コンテキスト番号の決定方法を説明するための図。 本発明の第2の具体例にかかる符号化回路例を示すブロック図。 本発明の第2の具体例にかかる復号化回路の具体例を示すブロック図。 本発明の第3の具体例にかかる符号化回路の具体例を示すブロック図。 本発明の第3の具体例にかかる復号化回路の具体例を示すブロック図。 本発明の第3の具体例を説明するための図であって、フレーム間符号化における変化画素の検出手段を説明する図。 スキャン方向切り替えを説明する図。 アルファマップを説明する図。 先行技術を説明するための図であって、VLCテーブル(可変長符号化テーブル)の例を示す図。 先行技術を説明するための図であって、ブロック単位で符号化する場合の変化画素の関係を表す図およびb1を検出する為の参照領域を表す図(ブロックベース符号化の変化画素の関係と参照領域を表す図)。 先行技術を説明するための図であって、MMRをブロックベースで符号化する場合のフローチャート。 本発明で用いるアルファマップの画面内を所定の複数画素構成によるマクロブロック(MB)単位に分割した様子を示す図。 本発明の第4の具体例におけるアルファマップ符号化回路の構成例を示すブロック図。 本発明の第4の具体例におけるアルファマップ復号化回路の構成例を示すブロック図。 マルコフモデル符号化を説明するための図。 複数の2値面像符号化法を切り換えて使用する2値画像符号化回路および2値画像復号化回路の構成例を示すブロック図。 本発明の第5の具体例におけるフレーム単位の縮小・拡大と、小領域単位の縮小・拡大を組み合わせたアルファマップ符号化回路の構成を示すブロツク図。 本発明の第5の具体例におけるフレーム単位の縮小・拡大と、小領域単位の縮小・拡大を組み合わせたアルファマップ復号化回路の構成を示すブロック図。 本発明のアルファマップ符号化回路から出力されるビット列の並び順を説明する図。 本発明の第6の具体例のシステム構成例を示すブロック図。 本発明の第6の具体例における先行技術の説明をするための図。 本発明の第6の具体例における先行技術の説明をするための図。 本発明の第6の具体例における先行技術の説明をするための図。 本発明の第6の具体例における先行技術の説明をするための図。 本発明の第6の具体例における処理手順を説明をするためのフローチャート。 本発明の第6の具体例における処理手順を説明をするためのフローチャート。 縮小・拡大処理に利用する双一次内挿を説明するための図。 スムーシング処理(平滑化処理)を説明するための図。 本発明で用いるスムーシングフィルタ(平滑化処理フィルタ)の別の例を説明するための図。 ブロック(マクロブロック)を縦横“1/2”のサイズに縮小する縮小処理の一例を説明するための図。 縮小ブロックの画素値を求める手法の例を説明するための図。 画素間引きによる縮小処理の例を説明するための図。 本発明で用いる拡大処理の例を説明するための図。 ブロック毎の縮小・拡大処理の別の例を説明するための図。 本発明の第6の具体例における符号化回路の構成例を示すブロック図。 時刻n−1と時刻nにおけるフレーム画像Fn-1 ,FnとそれぞれのフレームFn-1 ,Fnにおける符号化領域CAの各マクロブロックのモード情報MDの例を説明するための図。 符号化領域の変化とモード情報の対応するブロックの位置の変化の様子を説明するための図。 本発明の時刻n−1と時刻nにおけるフレーム画像Fn-1 ,FnとそれぞれのフレームFn-1 ,Fnにおける符号化領域CAの各マクロブロックのモード情報MDの例を説明するための図。 アルファマップを併用する動画像符号化装置における符号化データ構成を説明するための図。 符号化領域が占める対象部分がフレームの一部分である場合に生じるラベル未定部分の対処法を説明するための図。 ラベルを予測に用いるようにした本発明の復号化装置の構成例を示すブロック図。 本発明の符号化装置で用いる符号化処理手順の例を示すフローチャート。 本発明の符号化装置で用いる符号化処理手順の別の例を示すフローチャート。 フレーム毎の解像度の例を表した図。 図25の符号化装置に必要なフレームメモリを明示的に含めて表した場合の符号化装置の構成例を示すブロック図。 図26の復号化装置に必要なフレームメモリを明示的に含めて表した場合の復号化装置の構成例を示すブロック図。 図25の符号化装置に必要なフレームメモリを明示的に含めて表した場合の符号化装置の別の構成例を示すブロック図。 図26の復号化装置に必要なフレームメモリを明示的に含めて表した場合の別の復号化装置の構成例を示すブロック図。 本発明の符号化装置および復号化装置で用いるフレームメモリの構成例を示すブロック図。 双一次内挿により水平・垂直共に2倍に拡大する処理の例を説明するための図。 本発明で使用する双一次内挿処理により水平・垂直共に2倍に拡大する処理内容を説明するための図。 本発明で使用する縮小処理の例を説明するための図。 本発明で使用する縮小処理を説明するための図。 本発明で用いるラベル予測方法を説明するための図。 本発明で使用する縮小フレームから拡大処理によりフレームを復元する処理の説明をするための図。 本発明で適用する拡大処理における内挿画素位置と参照画素の利用範囲を説明する図。 本発明で適用する拡大処理における参照画素の追加処理の例を説明する図。 本発明にて用いる動きベクトルの予測符号化の一例を説明するための図。 フレーム内でのオブジェクトの位置の動きが大きい場合での、動きべクトルの予測の不都合を説明するための図。 本発明システムにおけるMV符号化回路1790とその周辺回路の具体的構成例を示すブロック図。 本発明システムにおけるMV再生回路2900とその周辺回路の具体的構成例を示すブロック図。
符号の説明
2…a1検出回路
3,14…メモリ
5…モード決定回路
8…符号化回路
1−10…テーブル決定回路
13…復号化回路
16…テーブル決定回路
17,26…テーブル
19…a1再生回路
22,27…カウンタ
23,28…ハフマンテーブル生成回路
100…差分回路
110,350…動き補償予測回路
120…直交変換回路
130…量子化回路
140…可変長符号化回路
150,320…逆量子化回路
160,330…逆直交変換回路
170,340…加算回路
180,240…多重化回路
200…アルファマップ符号化回路
210,230,260,420…解像度変換回路
220…2値画像符号化回路
300,430,520…分離化回路
310…可変長復号化回路
400…アルファマップ復号化回路
410…2値画像復号化回路
502…オブジェクト領域検出回路
504…ブロック化回路
506…ラベル付け回路
508…ラベル符号化回路
509…ラベルメモリ
510…参照ブロック決定回路
512…予測回路
516…ラベル復号化回路
517…ラベルメモリ
518…参照ブロック決定回路
520…予測回路
1100…モード判定回路
1110…CR(縮小・拡大率)判定回路
1200,2300…セレクタ
1300…フレームメモリ
1400,1500…ブロック内画素値設定回路
1600…動き補償予測回路
1700…2値画像符号化回路
1710,1730,1740,2830,2840…縮小回路
1720…拡大回路
1750,1760,2820,2850…転置回路
1770…スキャンタイプ(ST)判定回路
1780…動きベクトル検出回路(MVE)
1791…MVメモリ
1792…MV予測回路
1793…セレクタ
1794…差分回路
1800…VLC(可変長符号化)・多重化回路
1900…動きベクトル再生回路
2100…VLC(可変長符号化)・分離化回路
2400,2500…マクロブロック内画素値設定回路
2600…動き補償予測回路
2700…フレームメモリ
2800…2値画像復号化回路
2810…拡大回路
2800…2値画像復号化回路
2901…加算回路
2902…セレクタ
2903…MV予測回路
2904…MVメモリ
8100…蓄積媒体
8200…デコーダ
8300…画像情報出力装置
e10…符号化領域検出回路
e11…デフォルト値決定回路
e12…領域情報メモリ
e13…オフセット算出回路
e14…セレクタ
d10…領域情報メモリ
d11…オフセット算出回路
d12…セレクタ。

Claims (22)

  1. アルファマップのブロック毎の属性を再生する復号化装置において、
    復号化したラベルあるいはアルファマップをフレーム毎に保持する記憶手段と、
    現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する決定手段と、
    少なくとも上記記億手段に保持された前フレームのラベルあるいはアルファマップと上記参照ブロックによつて予測値を決定する予測手段と、
    上記復号ブロックのラベル情報を、上記予測値を用いて復号化する復号化手段を有することを特徴とする画像復号化装置。
  2. 請求項1記載の画像復号化装置において、
    符号化領域はフレーム内の一部分であり、
    上記記憶手段は、符号化領域以外のラベルとしては符号化領域のラベルから外挿して得られるものを保持する構成とすることを特徴とする画像復号化装置。
  3. 請求項1記載の画像復号化装置において、
    上記符号化領域はフレーム内の一部分であり、
    上記記憶手段は、保持対象を符号化領域のラベルとすると共に、上記予測手段は上記参照ブロックが、前フレームの符号化領域の外側となった時には、その近傍の符号化領域のラベルを予測値として用いる構成とすることを特徴とする画像復号化装置。
  4. 請求項1〜請求項3いずれか記載の画像復号化装置において、
    上記符号化領域はフレーム内の一部分であり、
    上記決定手段は、上記符号化領域の座標軸に基づいて上記参照ブロックを決定する構成とすることを特徴とする画像復号化装置。
  5. 請求項1〜請求項3いずれか記載の画像復号化装置において、
    上記符号化領域はフレーム内の一部分であり、
    上記決定手段は、上記符号化領域の座標軸に基づいて求まる第1の参照ブロックと、上記フレームの座標軸に基づいて求まる第2の参照ブロックのいずれか一方を選択して上記参照ブロックとする構成とすることを特徴とする画像復号化装置。
  6. 請求項5記載の画像復号化装置において、
    上記決定手段は、上記第1の参照ブロックと上記第2の参照ブロックのうち、いずれか一方を選択結果を識別する情報によって選択する構成とすることを特徴とする画像復号化装置。
  7. 請求項5記載の画像復号化装置において、
    上記決定手段は、前フレームの符号化領域の位置と現フレームの符号化領域の位置によって、上記第1の参照ブロックと上記第2の参照ブロックのうち、いずれか一方を選択する構成とすることを特徴とする画像復号化装置。
  8. 請求項1〜請求項5いずれか記載の画像復号化装置において、
    複数の復号化テーブルを用意し、
    上記予測手段は、どの復号化テーブルを用いるかを表すインデックスが上記予測値として用いられる構成とすることを特徴とする画像復号化装置。
  9. 請求項1〜請求項8いずれか記載の画像復号化装置において、
    上記予測手段は、既に復号化した現フレームのブロックのラベルも用いて予測値を決定する構成とすることを特徴とする画像復号化装置。
  10. 請求項1〜請求項9いずれか記載の画像復号化装置において、
    上記符号化ブロックの属性として、
    少なくとも、
    そのブロックはオブジェクトの内側にあることを意味する第1の属性と、
    そのブロックはオブジェクトの外側にあることを意味する第2の属性と、
    そのブロックは2値画像符号化されることを意味する第3の属性と、
    そのブロックは前のフレームのアルファマップの所定の部分をそのままコピーすることを意味する第4の属性を有し、
    上記前のフレームのアルファマップの所定の部分が前のフレームのオブジェクトの内側と外側をまたぐ場合は、上記第1から第4の属性を区別して復号化し、
    上記前のフレームのアルファマップの所定の部分が前のフレームのオブジェクトの内側にある場合は、上記第1の属性と第4の属性を同一視して復号化し、
    上記前のフレームのアルファマップの所定の部分が前のフレームのオブジェクトの外側にある場合は、上記第2の属性と第4の属性を同一視して復号化する構成とすることを特徴とする画像復号化装置。
  11. 請求項1記載の画像復号化装置において、
    フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
    上記縮小・拡大情報を保持する記憶手段とを有し、
    上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備えるものであることを特徴とする画像復号化装置。
  12. 請求項1記載の画像復号化装置において、
    フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
    上記縮小・拡大情報を保持する記憶手段とを有し、
    上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、
    上記予測手段は、参照ブロックが複数ある場合には、複数の参照ブロックのラベルのうち、数が多いラベルを予測値とするものであることを特徴とする画像復号化装置。
  13. 請求項1記載の画像復号化装置において、
    フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
    上記縮小・拡大情報を保持する記憶手段とを有し、
    上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、
    上記予測手段は、参照ブロックが複数ある場合には、複数の参照ブロックのうち、予め定める位置にあるブロックのラベルを予測値とする手段を備えることを特徴とする画像復号化装置。
  14. 請求項1記載の画像復号化装置において、
    フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
    上記縮小・拡大情報を保持する記憶手段とを有し、
    上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、
    上記予測手段は、予めラベルに優先順位をつけておき、参照ブロックが複数ある場合には、複数の参照ブロックのラベルうち、上記優先順位の高いラベルを予測値とするものであることを特徴とする画像復号化装置。
  15. 請求項1記載の画像復号化装置において、
    フレーム単位でフレームの縮小・拡大率が可変であり、上記縮小・拡大率情報を復号化する手段と、
    上記縮小・拡大情報を保持する記憶手段とを有し、
    上記決定手段は、現フレームの縮小・拡大率と、上記記億手段から読み出される、前フレームの縮小・拡大率を用いて現フレームの復号ブロックに対応する前フレームの参照ブロックを決定する機能を備え、
    上記復号化手段は、複数種の可変長符号化テーブルを持ち、前フレームあるいは現フレームあるいはその両方の縮小・拡大率に応じて選択した一つの可変長符号化テーブルを用いて復号化するものであることを特徴とする画像復号化装置。
  16. 請求項1記載の画像復号化装置において、
    ブロック毎に動きベクトルが与えられ、上記動きベクトルを保持する手段と、既に符号化したブロックの動きベクトルを用いて、前のフレームの第2の参照ブロックを決定する手段と、
    複数種の符号化テーブルを持ち、上記第2の参照ブロックによって符号化テーブルの一つを選択して上記復号化手段の復号処理に供する手段と、
    を有することを特徴とする画像復号化装置。
  17. 請求項1記載の画像復号化装置において、
    上記予測手段は、予め定める複数種類の予測の方法のうち、いずれかを選択して用いるものであることを特徴とする画像復号化装置。
  18. 請求項17記載の画像復号化装置において、
    上記予測手段は、その予測の方法として少なくとも、フレーム内符号化とフレーム間符号化を含むものであることを特徴とする画像復号化装置。
  19. 時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置であり、
    オブジェクトの形状を表す2値画像であるアルファマップ信号について、上記各ブロックをそのブロックの水平・垂直方向共に1/2N (N=1,2,3,…)に縮小処理する手段と、この縮小処理されたブロックを拡大処理する拡大回路とを有し、符号化にあたってはレート制御のために上記縮小処理されたブロックと拡大処理されたブロックとを選択的に利用するようにした画像符号化装置において、
    上記拡大回路は、
    上記ブロックの近傍再生値を保持するメモリと、
    該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、
    水平・垂直方向共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大する拡大処理手段と、
    を備えて構成し、
    上記拡大処理手段においては、常に1/2N に縮小された参照画素値を用いるようにすることを特徴とする画像符号化装置。
  20. 水平・垂直共に1/2N (N=1,2,3,…)に縮小された2値画像のブロックを拡大する拡大回路であって、
    該ブロック近傍再生値を保持するメモリと、
    該ブロックの縮小率に応じて上記メモリに保持された再生値を1/2N に縮小することで参照画素値を求める手段と、
    水平・垂直共に2倍に拡大する処理をN回繰り返すことで元のサイズに拡大すると共に、この拡大処理においては、常に1/2N に縮小された参照画素値を用いる拡大処理手段と、
    を具備することを特徴とする画像符号化装置。
  21. 時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に符号化する動画像符号化装置であって、オブジェクトを含む方形領域をM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に分割すると共に、この分割されて得られた上記ブロック毎に、前記方形領域内を一定規則により順次、符号化する画像符号化装置であって、
    上記フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域を設定する設定手段と、この設定手段により設定された領域内をブロックに分割する分割手段と、分割された上記ブロック内を動き補償予測するために必要な動きベクトルを予測符号化する手段とを有する画像符号化装置において、
    参照フレーム内の領域のフレーム内における位置を表す第1の位置べクトルを保持するメモリと、
    該参照フレーム内領域のフレーム内での位置を表す第2の位置ベクトルを符号化する符号化手段と、
    符号化対象ブロック近傍の再生済みのブロックの動きベクトルを保持する動きべクトルメモリと、
    上記動きベクトルメモリに蓄えられている動きべクトルを用いて、符号化対象ブロックの動きベクトルを予測する手段とを備えてなり、
    上記予測手段において使用する動きベクトルが、前記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置べクトルとの差分べクトルと、ゼロベクトルを切り換えて用いるようにすることを特徴とする画像符号化装置。
  22. 時系列データとして得られる複数フレームの動画像信号を任意形状のオブジェクト毎に復号化する動画像復号化装置であって、オブジェクトを含むM×N画素(M:水平方向の画素数、N:垂直方向の画素数)で構成されるブロック毎に、その方形領域内を一定規則により順次、復号化する画像復号化装置であって、該フレーム内において、オブジェクトを含むブロックサイズの倍数で表される領域をブロック毎に再生する画像復号化装置において、
    上記ブロック内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、
    参照フレーム内を動き補償予測するために必要な、予測符号化された動きベクトルを復号する手段と、
    参照フレーム内の領域のフレーム内での位置を表す第1の位置ベクトルを保持するメモリと、
    該フレーム内の領域のフレーム内での位置を表す第2の位置ベクトルを復号化する手段と、
    復号化対象ブロック近傍の補正済みのブロックの動きベクトルを保持する動きベクトルメモリと、
    上記動きベクトルメモリに保持された動きベクトルを用いて、復号化対象ブロックの動きベクトルを予測する予測手段とを有し、
    上記予測手段で使用するための動きべクトルが、上記動きベクトルメモリに存在しない場合にはデフォルトの動きベクトルを予測値とし、このデフォルトの動きベクトルは第1の位置ベクトルと第2の位置ベクトルとの差分ベクトルと、ゼロベクトルのいずれかとすることを特徴とする画像復号化装置。
JP2004180820A 1996-10-31 2004-06-18 画像符号化装置および画像復号化装置 Withdrawn JP2004350307A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004180820A JP2004350307A (ja) 1996-10-31 2004-06-18 画像符号化装置および画像復号化装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP29003396 1996-10-31
JP9243297 1997-04-10
JP11615797 1997-04-18
JP14423997 1997-06-02
JP2004180820A JP2004350307A (ja) 1996-10-31 2004-06-18 画像符号化装置および画像復号化装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17777397A Division JP4034380B2 (ja) 1996-10-31 1997-06-18 画像符号化/復号化方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007220412A Division JP2008011564A (ja) 1996-10-31 2007-08-27 画像符号化装置および画像復号化装置

Publications (1)

Publication Number Publication Date
JP2004350307A true JP2004350307A (ja) 2004-12-09

Family

ID=33545588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004180820A Withdrawn JP2004350307A (ja) 1996-10-31 2004-06-18 画像符号化装置および画像復号化装置

Country Status (1)

Country Link
JP (1) JP2004350307A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007214998A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007214998A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP4034380B2 (ja) 画像符号化/復号化方法及び装置
US7184600B2 (en) Video coding and video decoding apparatus
US6259738B1 (en) Video encoding apparatus and video decoding apparatus
JP2008228336A (ja) 画像符号化方法及び装置
JP2004350307A (ja) 画像符号化装置および画像復号化装置
JP2004343788A (ja) 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体
JP2007202169A (ja) 画像復号化方法及び装置
JP2004320808A (ja) 画像符号化装置
JP2004320807A (ja) 画像符号化装置および画像復号化装置
JPH104549A (ja) 画像符号化装置および画像復号化装置
JP2008011564A (ja) 画像符号化装置および画像復号化装置
JP2007195209A (ja) 画像符号化方法及び装置
JP2007166664A (ja) 画像符号化方法及び装置
JP2007195210A (ja) 画像復号化方法及び装置
JP2007166663A (ja) 画像復号化方法及び装置
JP2007166665A (ja) 画像復号化方法及び装置
JP2007166662A (ja) 画像符号化方法及び装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080430