(57)【特許請求の範囲】
【請求項１】
画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化方法において、
上記符号化画像信号からスキップ・マクロブロックを検出した場合、
ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフィールド構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプを１６×１６のフィールド予測とし、フィールド動きベクトル参照パリティを被予測フィールド・パリティと同じパリティとして、過去のピクチャのマクロブロックをコピーして復号化を行う画像信号復号化方法。
【請求項２】
画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化方法において、
上記符号化画像信号からスキップ・マクロブロックを検出した場合、
ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフレーム構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプをフレーム予測として、過去のピクチャのマクロブロックをコピーして復号化を行う画像信号復号化方法。
【請求項３】
画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化装置において、
上記符号化画像信号からスキップ・マクロブロックを検出する手段と、
上記検出手段がスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフィールド構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプを１６×１６のフィールド予測とし、フィールド動きベクトル参照パリティを被予測フィールド・パリティと同じパリティとして、過去のピクチャのマクロブロックをコピーして復号化を行う手段とを有する画像信号復号化装置。
【請求項４】
画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化装置において、
上記符号化画像信号からスキップ・マクロブロックを検出する手段と、
上記検出手段がスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフレーム構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプをフレーム予測として、過去のピクチャのマクロブロックをコピーして復号化を行う手段とを有する画像信号復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像信号符号化装置から伝送されてくる差分化動きベクトルに基づいて画像信号を復号化する画像信号復号化方法及び画像信号復号化装置に関する。
【０００２】
【従来の技術】
動画像の信号をディジタル化してそのディジタルデータを記録及び伝送する場合、そのデータ量が膨大となるために当該データに対して符号化（圧縮）が行われる。代表的な符号化方式としては、動き補償予測符号化がある。
【０００３】
図９に動き補償予測の原理を示す。この図９において、動き補償予測符号化は、画像信号の時間軸方向の相関を利用した方法であり、既に復号再生されてわかっている画像信号（過去フレームの画像信号）から、現在入力された画像（現フレームの画像）を予測し、当該復号再生されてわかっている画像信号（過去フレームの画像信号）を信号の動きに合わせ移動し、その時の動き情報（動きベクトルＭＶ）とその時の予測誤差情報だけを伝送することで、符号化に必要な情報量を圧縮する方法である。
【０００４】
上述した動き補償予測符号化及びその復号化方法について、その代表的なものには、いわゆるＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  ＥｘｐｅｒｔＧｒｏｕｐ）１の方式がある。このＭＰＥＧ１とは、いわゆるＩＳＯ（国際標準化機構）とＩＥＣ（国際電気標準会議）のＪＴＣ（Ｊｏｉｎｔ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ）１のＳＣ（Ｓｕｂ  Ｃｏｍｍｉｔｔｅｅ）２９のＷＧ（Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ）１１において進行してきた動画像符号化方式の通称である。
【０００５】
ＭＰＥＧ１は、画像内及び画像間符号化処理を有しているが、動き補償予測符号化は、画像間符号化処理の場合に用いられる。図１０に、この場合の動き補償予測の例を示す。この図１０において、画像間符号化処理における動き補償予測では、１画像（ピクチャ）を小ブロック（マクロブロックＭＢと呼ばれ、１６ライン×１６画素で構成される）に分割し、その小ブロック単位で動き補償予測符号化を行う。なお、この図１０の例では、この画像間符号化処理の場合の動き補償予測として、例えば過去フレームと現フレームとの間の前方向予測と、例えば時間的に未来にある未来フレームと現フレームとの間の後方予測とについて図示している。
【０００６】
図１１に、動き補償予測符号化のより具体的な例を示す。先ず、第１段目の処理として、数枚のピクチャを飛び越して図中Ｐで示されるＰピクチャを図中Ｉで示されるＩピクチャ又はＰピクチャを用いて巡回型に予測符号化する。次に、第２段目の処理として、上記Ｐピクチャ又はＩピクチャの間に挟まれた図中Ｂで示されるＢピクチャを前後のＰピクチャ又はＩピクチャから予測符号化する。なお、Ｉピクチャは、画像内符号化画像であり、動き補償予測符号化を使用しないで作られるものである。また、図１１の図中の矢印（時間ｔの方向を示す矢印を除く）は、動き予測の方向を示している。
【０００７】
ここで、ＭＰＥＧ１での動き補償には、マクロブロック単位で以下の４種類のモードが存在する。すなわち、
第１の動き補償のモードとして時間的に過去にあるフレームからの予測のモード（前方向予測モード）と、
第２の動き補償のモードとして時間的に未来にあるフレームからの予測のモード（後方向予測モード）と、
第３の動き補償のモードとして過去と未来の両フレームからの線形予測のモード（両方向予測モード）（すなわち過去フレームからの予測ブロックと未来フレームからの予測ブロックを１画素毎に平均値計算する。）と、
第４の動き補償のモードとして動き補償なし（すなわちイントラ符号化モードである。）のモードとがある。
【０００８】
これら４種類の動き補償のモードの内、Ｐピクチャでは、第１又は第４の動き補償のモードから最適なものがマクロブロック単位で選ばれる。このとき、現フレームの画像に対して動き補償予測時に参照する過去フレームは１フレームが存在する。また、Ｂピクチャでは、第１から第４の動き補償のモードの中から最適なものがマクロブロック単位で選ばれる。このとき、現フレームの画像に対して動き補償予測時に参照する過去フレームと未来フレームはそれぞれ１フレームが存在する。
【０００９】
Ｐピクチャ、Ｂピクチャにおいて、マクロブロック単位での動きベクトルとしては、第１の動き補償のモードの予測では過去フレームを参照する動きベクトルが１つ存在し、第２の動き補償のモードの予測では未来フレームを参照する動きベクトルが１つ存在し、第３の動き補償のモードの予測では過去と未来の両フレームを参照する動きベクトルがそれぞれ１つずつ存在する。
【００１０】
ＭＰＥＧ１では、これらマクロブロック単位で与えられる動きベクトルは、その情報の有する空間的な相関性が高いことを利用して、図１２に示す差分化器により、差分化されて伝送される。
【００１１】
具体的に言うと、差分化器では、端子４０４には第１の動き補償のモードから第４の動き補償のモードの４通りで与えられる動き補償モード信号が供給され、端子４０１には現在入力された動きベクトル信号が供給される。現在入力された動きベクトル信号は、切換スイッチ４０６の共通端子と差分回路４０５の加算入力端子に送られ、動き補償モード信号は切換器４０３に送られる。
【００１２】
切換スイッチ４０６の被切換端子ａはレジスタ群４０２の過去フレーム参照ベクトル用レジスタ４０２ａの入力端子と接続され、被切換端子ｂはレジスタ群４０２の未来フレーム参照ベクトル用レジスタ４０２ｂの入力端子と接続されている。また、このレジスタ群４０２の過去フレーム参照ベクトル用レジスタ４０２ａの出力端子は切換スイッチ４０７の被切換端子ａと接続され、未来フレーム参照ベクトル用レジスタ４０２ｂの出力端子は切換スイッチ４０７の被切換端子ｂと接続されている。これら切換スイッチ４０６及び４０７は、動き補償モード信号が供給される切換器４０３から出力されるレジスタ切換信号Ｓ４０１に従って、被切換端子ａ又はｂの何れか選ばれるものである。切換スイッチ４０７の出力は差分回路４０５の減算入力端子に送られる。
【００１３】
したがって、差分回路４０５では、切換器４０３から出力されたレジスタ切換信号Ｓ４０１に従ってレジスタ群４０２から切換スイッチ４０７を通って読み出された動きベクトル信号Ｓ４０２と、端子４０１からの動きベクトル信号との差分が取られる。この差分回路４０５による差分が、当該差分化器からの差分化動きベクトル信号として端子４０８から出力される。
【００１４】
また、現在入力された動きベクトル信号は、レジスタ切換信号Ｓ４０１により指定されたレジスタ４０２ａ又は４０２ｂに切換スイッチ４０６を通って上書きされ、新たに記憶される。
【００１５】
このように、差分化器では、過去フレームを参照する動きベクトルと未来フレームを参照する動きベクトルとでそれぞれ独立に差分化がなされることになる。
【００１６】
上述した差分化器の動作の具体例を図１３に示す。図中の動きベクトルの（Ｘ，Ｙ）は、Ｘ成分が水平方向の動きを表し、Ｙ成分が垂直方向の動きを表す。そして、空間的に右方向及び下方向の動きには正の値を与え、また左方向及び上方向の動きには負の値を与える。なお、差分化時の初期値には（０，０）を与えている。また、図中のＦＭＶは過去フレーム参照動きベクトルを、ＢＭＶは未来フレーム参照動きベクトルを表している。更に、図中のモード（１）は前方向予測の動き補償モードを、モード（２）は後方向予測の動き補償モードを、モード（３）は両方向予測の動き補償モードを表している。
【００１７】
すなわち、この図１３において、例えば図の左端の小ブロックの動き補償モードがモード（３）で過去フレーム参照動きベクトルＦＭＶが（１０，１０）で未来フレーム参照動きベクトルＢＭＶが（８，８）であるとき、次の右隣のモード（１）の小ブロックにおける動きベクトルが（８，５）ならばその差分化動きベクトルは（８，５）−（１０，１０）の（−２，−５）となり、次の右隣のモード（１）の小ブロックにおける動きベクトルが（７，６）ならばその差分化動きベクトルは（７，６）−（８，５）の（−１，−１）となる。また、次のモード（２）の小ブロックにおける動きベクトルが（９，１０）ならばその差分化動きベクトルは（９，１０）−（８，８）の（１，２）となり、次のモード（３）の小ブロックにおける入力動きベクトルが（５，４）と（８，９）ならばその差分化動きベクトルは（５，４）−（７，６）の（−２，−２）と（８，９）−（９，１０）の（−１，−１）となる。
【００１８】
次に、図１４に図１３で示した差分化器と相補的な構成である差分化された動きベクトルから動きベクトルを再構成するための逆差分化器を示す。
【００１９】
具体的に言うと、逆差分化器では、端子４１４には第１の動き補償のモードから第４の動き補償のモードの４通りで与えられる動き補償モード信号が供給され、端子４０８には現在入力された差分化動きベクトル信号が供給される。差分化動きベクトル信号は加算回路４０９の一方の加算入力端子に送られ、動き補償モード信号は切換器４１３に送られる。
【００２０】
また、切換スイッチ４１１の被切換端子ａはレジスタ群４１０の過去フレーム参照ベクトル用レジスタ４１０ａの出力端子と接続され、被切換端子ｂは未来フレーム参照ベクトル用レジスタ４１０ｂの出力端子と接続されている。切換スイッチ４１１は、動き補償モード信号が供給される切換器４１３から出力されるレジスタ切換信号Ｓ４０３に従って、被切換端子ａ又はｂの何れかが選ばれるものである。この切換スイッチ４１１の共通端子が、加算回路４０９の他方の加算入力端子と接続されている。
【００２１】
したがって、加算回路４０９では、切換器４１３から出力されたレジスタ切換信号Ｓ４０３に従ってレジスタ群４１０から切換スイッチ４１１を通って読み出された動きベクトル信号Ｓ４０４と、端子４０８からの差分化動きベクトル信号との加算が取られる。この加算回路４０９の加算出力が、当該逆差分化器からの再構成動きベクトル信号として端子４１５から出力される。
【００２２】
また、加算回路４０９からの再構成動きベクトル信号は、切換スイッチ４１２の共通端子にも送られる。切換スイッチ４１２は、レジスタ切換信号Ｓ４０３に基づいて被切換端子ａ又はｂの何れかが選ばれるものであり、被切換端子ａがレジスタ群４１０の過去フレーム参照ベクトル用レジスタ４１０ａと接続され、被切換端子ｂが未来フレーム参照ベクトル用レジスタ４１０ｂと接続されているものである。
【００２３】
このため、再構成動きベクトルの情報は、レジスタ切換信号Ｓ４０３により指定されたレジスタ４１０ａ又は４１０ｂに切換スイッチ４１２を通って上書きされ、新たに記憶される。
【００２４】
ところで、ＭＰＥＧ１は、ノンインタレース画像に適した動画像符号化方法であるため、テレピジョン信号であるいわゆるＮＴＳＣ方式やＰＡＬ方式などのインタレース信号の符号化に対しては、必ずしも適しているとは言えず、問題があった。
【００２５】
そのため、近年、ＭＰＥＧ１の後を受けたＭＰＥＧ２において、インタレース信号に対し、効率の良い動き補償予測符号化を行う方式が考えられ、この方式では、図１５に示すように、画像を扱う単位をフレームとフィールドで適応的に切り換える方法がとられている。なお、図１５において、図中ｆｒはフレームを示し、図中ｆｉはフィールドを、図中矢印ＦＲＰはフレームベースの予測を、図中矢印ＦＩＰはフィールドベースの予測を示している。
【００２６】
このとき、ＭＰＥＧ２において、ピクチャ構造をフレームとした場合には、動き補償予測をフレームベースのマクロブロックで行うか、フィールドベースのマクロブロックで行うかを適応的に切り換えるという方法がとられている。
【００２７】
また、ＭＰＥＧ２においては、必要に応じてマクロブロックを上部分と下部分の１６画素×８ラインの領域に分けて、動き補償予測をそれぞれの領域で別々に行うという方法がとられている。
【００２８】
このとき、マクロブロック単位で与えられる動きベクトルは、上述した第１の動き補償のモードの予測では過去フレーム（或いはフィールド）を参照する動きベクトルが１つ以上、第２の動き補償のモードの予測では未来フレーム（或いはフィールド）を参照する動きベクトルが１つ以上、第３の動き補償のモードの予測では過去と未来の両フレーム（或いはフィールド）を参照する動きベクトルがそれぞれ１つ以上ずつ存在する。そして、それぞれの動き補償モードでの動きベクトルの数は、マクロブロック単位で変化する。
【００２９】
このように、ＭＰＥＧ２での動き補償予測方法は、ＭＰＥＧ１に比べ複雑な方式が考えられており、それに伴って、その時の動きベクトルも、ＭＰＥＧ１に比べ多く、その種類も多くなっている。このように状況において、これらの動きベクトルを扱う上で以下に示す２つの問題点が存在する。
【００３０】
すなわち、１番目の問題点は、動きベクトルの符号化に際してはＭＰＥＧ１で用いられている方法を適用できないということである。そのために、幾つかの提案がなされ、それらは、例えば、ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ９３／２２５ｂ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４（１９９３．２公開）の資料のＰ．３２、Ｐ．４４、Ｐ．１４５、Ｐ．１４８に公開されている。
【００３１】
しかしながら、これらの提案は、全ての動き補償のモードをサポートしているとは言えず、未だ不十分なものである。また、これらの提案は、次に説明する２番目の問題点を解決できないという欠点を持っている。
【００３２】
その２番目の問題点は、スキップ・マクロブロック（Ｓｋｉｐｐｅｄ  Ｍａｃｒｏｂｌｏｃｋ）の取扱が明示されていないという問題である。
【００３３】
ここで、ＭＰＥＧ１でのスキップ・マクロブロックは、以下に示す特徴を有するマクロブロックである。すなわち、
第１に、Ｐピクチャでのスキップ・マクロブロックは、
伝送すべき動き補償誤差信号を持たないこと（条件ａ＿１ｅ）、
動き補償モードは前方向予測であること（条件ａ＿２ｅ）、
動きベクトルの値が零であること（条件ａ＿３ｅ）、
第２に、Ｂピクチャでのスキップ・マクロブロックは、
伝送すべき動き補償誤差信号を持たないこと（条件ｂ＿１ｅ）、
動き補償モードが直前に伝送したマクロブロックと同じであること（条件ｂ＿２ｅ）、
図１２に示した差分化器により得られた差分化された動きベクトルの値が零であること（条件ｂ＿３ｅ）、
という特徴を有する。
【００３４】
また、復号化装置（デコーダ）において、ＭＰＥＧ１ではスキップ・マクロブロックは以下のように取り扱われる。すなわち、ＭＰＥＧ１では、
第１に、Ｐピクチャでのスキップ・マクロブロックの処理は、
伝送されてきた動き補償誤差信号を零と考えること（条件ａ＿１ｄ）、
動き補償モードは前方向予測とすること（条件ａ＿２ｄ）、
動きベクトルの値を零とすること（条件ａ＿３ｄ）、
第２に、Ｂピクチャでのスキップ・マクロブロックの処理は、
伝送されてきた動き補償誤差信号を零と考えること（条件ｂ＿１ｄ）、
直前に受信されたマクロブロックの動き補償モードをコピー（複製）すること（条件ｂ＿２ｄ）、
直前に受信されたマクロブロックの動きベクトルをコピー（複製）すること（条件ｂ＿３ｄ）、
のように、スキップ・マクロブロックが取り扱われる。
【００３５】
簡単に言い換えれば、ＭＰＥＧ１において、Ｐピクチャでのスキップ・マクロブロックの復号化処理は、過去の画像からのコピーであり、Ｂピクチャでのスキップ・マクロブロックの復号化処理は、同一フレーム内で直前にデコードされた左隣のマクロブロックからのコピーである。
【００３６】
上述のように、ＭＰＥＧ１において、スキップ・マクロブロックであるマクロブロックについては、符号化装置はデータを何も伝送しない。このように、スキップ・マクロブロックは、符号化効率を上げるうえで重要な符号化技術である。例えば、動画のシーケンスであっても、その内容が静止画（若しくは非常に動きの穏やかな線）が続く場画である場合には、ほとんどのマクロブロックをスキップ・マクロブロックとすることが可能となる。極端な場合には、１フレーム目を動き補償なしで画像内で符号化して伝送し、２フレーム目からはそのマクロブロックをほとんどスキップ・マクロブロックとすることが可能である場合がある。この場合、大幅な符号化効率の向上が期待できる。
【００３７】
このようなことから、上述のＭＰＥＧ２の動き補償予測での動きベクトルを符号化するための方法は、このスキップ・マクロブロックの取扱方法までを考えた方法である必要がある。
【００３８】
しかしながら、従来、ＭＰＥＧ２へ提案されている動きベクトルを符号化する方法は、スキップ・マクロブロックの取扱について考慮されておらず、そのためスキップ・マクロブロックを取り扱うことができないという問題点を持っている。
【００３９】
例えばその問題点の一例を、図１６の差分化器の構成に基づいて説明する。これは上述した資料のＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ９３／２２５ｂ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４に述べられている方法である。
【００４０】
この図１６において、端子５０４には動き補償のモード信号として前方向や後方向や両方向予測のモード情報と、後述するプレディクション・タイプ信号としてフレーム予測やフィールド予測などを示す情報と、ピクチャ構造信号としてフレーム構造やフィールド構造やプログレッシブを示す情報が供給され、その他、フィールド動きベクトルパリティ信号として第１フィールド（フィールド１すなわち例えば奇数フィールド）や第２フィールド（フィールド２すなわち例えば偶数フィールド）を示す情報と、被予測フィールドパリティ信号として同じく第１フィールドや第２フィールドを示す情報と、ピクチャ符号化タイプ信号としてＰ画像やＢ画像などを示す情報が供給される。また、端子５０１には現在入力された動きベクトル信号が供給される。
【００４１】
端子５０４に供給された信号は、切換器５０３に送られる。また、現在入力された動きベクトル信号は、切換器５０３からのスケール指示信号ＳＣＢに基づき現在入力された動きベクトルに対して所定のスケール変換Ｂを施すスケール変換器５０９を介して、切換スイッチ５０６の共通端子と、差分回路５０５の加算入力端子に送られる。
【００４２】
切換スイッチ５０６は、被切換端子ａ〜ｄを有し、被切換端子ａは、後述する動きベクトル記憶用のレジスタメモリ群５０２のレジスタメモリＰＭＶ１の入力端子と接続され、被切換端子ｂは、レジスタメモリ群５０２のレジスタメモリＰＭＶ２の入力端子と接続され、被切換端子ｃは、レジスタメモリＰＭＶ３の入力端子と接続され、被切換端子ｄは、レジスタメモリＰＭＶ４の入力端子と接続されている。また、この動きベクトル記憶用のレジスタメモリ群５０２のレジスタメモリＰＭＶ１の出力端子は、切換スイッチ５０７の被切換端子ａと接続され、レジスタメモリＰＭＶ２の出力端子は、切換スイッチ５０７の被切換端子ｂと接続され、レジスタメモリＰＭＶ３の出力端子は、切換スイッチ５０７の被切換端子ｃと接続され、レジスタメモリＰＭＶ４の出力端子は、切換スイッチ５０７の被切換端子ｄと接続されている。これら切換スイッチ５０６及び５０７は、切換器５０３から出力されるレジスタ切換信号に従って被切換端子ａ〜ｄの何れかが選ばれるものである。
【００４３】
切換スイッチ５０７の出力は、切換器５０３からのスケール指示信号ＳＣＡに基づき所定のスケール変換Ａを施すスケール変換器５１０を介して差分回路５０５の減算入力端子に送られる。差分回路５０５では、スケール変換器５１０からの情報と、端子５０１からの動きベクトル信号との差分が取られる。この差分回路５０５による差分が、当該差分化器からの差分化動きベクトル信号として端子５０８から出力される。
【００４４】
また、現在入力された動きベクトルの情報は、スケール変換器５０９を介し、更にレジスタ切換信号により指定されたレジスタメモリＰＭＶ１〜ＰＭＶ４の何れかに切換スイッチ５０６を通って上書きされ、新たに記憶される。
【００４５】
このように、図１６に示す動きベクトルを差分化するための差分化器は、動きベクトル信号を記憶するための４個のレジスタメモリＰＭＶ１〜ＰＭＶ４からなるレジスタメモリ群５０２を備えている。
【００４６】
ここで、動きベクトル記憶用のレジスタメモリ群５０２の動作について以下に説明する。
【００４７】
ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ９３／２２５ｂ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４におけるＰピクチャでは、図１６のレジスタメモリ群５０２の各レジスタメモリＰＭＶ１〜ＰＭＶ４を以下のように使用するよう提案されていた。
【００４８】
すなわち例えば、レジスタメモリＰＭＶ１には、参照画像（予測画像のもととなる画像）が第１フィールドであり、これに対する被予測フィールド（これから符号化されるフィールド）が第１フィールドである前方向動きベクトルの情報が記憶される。また、レジスタメモリＰＭＶ２には、参照画像が第２フィールドであり、被予測フィールドが第１フィールドである前方向動きベクトルの情報が記憶され、レジスタメモリＰＭＶ３には、参照画像が第１フィールドであり、被予測フィールドが第２フィールドである前方向動きベクトルの情報が記憶され、レジスタメモリＰＭＶ４には、参照画像が第２フィールドであり、被予測フィールドが第２フィールドである前方向動きベクトルの情報が記憶される。すなわち、Ｐピクチャでは、参照画像と被予測フィールドの組み合わせによって、どのレジスタメモリに動きベクトル信号を記憶するかが決められていた。
【００４９】
一方、ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ９３／２２５ｂ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４におけるＢピクチャでは、図１６の各レジスタメモリＰＭＶ１〜ＰＭＶ４を以下のように使用するように提案されていた。
【００５０】
すなわち例えば、レジスタメモリＰＭＶは、前方向動きベクトル用に２個用意され、例えばレジスタメモリＰＭＶ１には、参照画像が第１フィールドである前方向動きベクトルの情報が記憶され、レジスタメモリＰＭＶ２には、参照画像が第２フィールドである前方向動きベクトルの情報が記憶される。また、後方向動きベクトル用にも２個のレジスタメモリＰＭＶが用意され、レジスタメモリＰＭＶ３には、参照画像が第１フィールドである後方向動きベクトルの情報が記憶され、レジスタメモリＰＭＶ４には、参照画像が第２フィールドである後方向動きベクトルの情報が記憶される。すなわち、Ｂピクチャでは、被予測フィールドが第１フィールドであるか第２フィールドであるかにかかわらず、参照画像及び予測の方向が同じである動きベクトル信号が、同じレジスタメモリに記憶されるようになっていた。
【００５１】
この図１６に示す差分化器においては、現在入力される動きベクトルを差分化する際には、その動きベクトルに対応するレジスタメモリＰＭＶ（すなわち、その動きベクトルがＰピクチャの符号化に用いられる場合には、その動きベクトルと同じ参照画像及び被予測フィールドのパリティを有する動きベクトルが記憶されたＰＭＶ。また、その動きベクトルがＢピクチャの符号化に用いられる場合には、その動きベクトルと同じ参照画像のパリティ及び予測の方向を有する動きベクトルが記憶されたＰＭＶ。）の値を取り出し、その値に対して必要に応じて（スケール指示信号ＳＣＡに応じて）スケール変換器５１０による所定のスケール変換Ａを施した後、その値と現在入力された動きベクトルの差分計算を差分回路５０５によって行う。そして、現在入力された動きベクトルは、その値を必要に応じてスケール変換器５０９によってスケール変換Ｂした後、図示は省略しているが、上述したような動きベクトル差分化時に選択参照された何れかのレジスタメモリＰＭＶに上書きされ、ここに新たに記憶される。このようにして、差分化器が構成されている。
【００５２】
また、図１７は、図１６の動きベクトルの差分化器に対応する逆差分化器である。
【００５３】
この図１７に示す逆差分化器において、端子５２４には、動き補償モード信号と、プレディクション・タイプ信号と、ピクチャ構造信号と、フィールド動きベクトルパリティ信号と、被予測フィールドパリティ信号と、ピクチャ符号化タイプ信号とが供給される。また、端子５１８には、現在入力された差分化動きベクトル信号が供給される。
【００５４】
端子５２４を介した情報は切換器５２３に送られ、差分化動きベクトルは加算回路５１９の一方の加算入力端子に送られる。
【００５５】
また、切換スイッチ５２１の被切換端子ａは、上述した図１６の動きベクトル記憶用のレジスタメモリ群５０２と同様の記憶を行う動きベクトル記憶用レジスタメモリ群５２０のレジスタメモリＰＭＶ１の出力端子と接続され、被切換端子ｂは、レジスタメモリＰＭＶ２の出力端子と接続され、被切換端子ｃは、レジスタメモリＰＭＶ３の出力端子と接続され、被切換端子ｄは、レジスタメモリＰＭＶ４の出力端子と接続されている。当該切換スイッチ５２１は、切換器５２３からのレジスタ切換信号に従って被切換端子ａ〜ｄの何れかが選ばれるものである。この切換スイッチ５２１の共通端子は、切換器５２３からのスケール指示信号ＳＣＣに基づいて供給された信号に所定のスケール変換Ｃを施すスケール変換器５２９を介して、加算回路５１９の他方の加算入力端子に接続されている。
【００５６】
したがって、加算回路５１９では、切換器５２３から出力されたレジスタ切換信号に従ってレジスタメモリ群５２０から切換スイッチ５２１を通って読み出され、更にスケール変換器５２９を介した動きベクトル信号と、端子５１８からの差分化動きベクトル信号との加算が取られる。この加算回路５１９の加算出力が、当該逆差分化器からの再構成動きベクトルとして端子５２５から出力される。
【００５７】
また、加算回路５１９からの再構成動きベクトル信号は、切換器５２３からのスケール指示信号ＳＣＤに基づいて供給された信号に所定のスケール変換Ｄを施すスケール変換器５３０を介して、切換スイッチ５２２の共通端子にも送られる。切換スイッチ５２２は、レジスタ切換信号に基づいて被切換端子ａ〜ｄの何れかが選ばれるものであり、被切換端子ａがレジスタメモリ群５２０のレジスタメモリＰＭＶ１の入力端子と接続され、被切換端子ｂがレジスタメモリＰＭＶ２の入力端子と接続され、被切換端子ｃがレジスタメモリＰＭＶ３の入力端子と接続され、被切換端子ｄがレジスタメモリＰＭＶ４の入力端子と接続されているものである。
【００５８】
このため、再構成動きベクトルの情報は、レジスタ切換信号により指定されたレジスタメモリＰＭＶ１〜ＰＭＶ４の何れかに切換スイッチ５２２を通って上書きされ、新たに記憶される。
【００５９】
すなわち、この図１７の逆差分化器においては、入力された差分化動きベクトルに対応するレジスタメモリＰＭＶ（すなわち、その差分化動きベクトルが、Ｐピクチャの復号化に用いられる場合には、その差分化動きベクトルと同じ参照画像及び被予測フィールドのパリティを有する再構成動きベクトルが記憶されたＰＭＶ。また、その差分化動きベクトルが、Ｂピクチャの復号化に用いられる場合には、その差分化動きベクトルと同じ参照画像パリティと予測の方向を有する再構成動きベクトルが記憶されたＰＭＶ。）に記憶されている値を取り出し、その値を必要に応じてスケール変換器５２９によってスケール変換Ｃした後、その値と差分化動きベクトルの加算計算を加算回路５１９によって行うことで、動きベクトルが再構成される。そして、再構成動きベクトルは、その値を必要に応じてスケール変換器５３０によってスケール変換Ｄされた後、動きベクトル再構成時に選択参照されたレジスタメモリＰＭＶ１〜ＰＭＶ４の何れかに上書きされ、新たに記憶される。このように、逆差分化器が構成されている。
【００６０】
次に、図１６の差分化器におけるＢピクチャに対する動作例を図１８を用いて説明する。
【００６１】
この図１８において、マクロブロック（小ブロック）ＭＢ１は、伝送すべき予測誤差信号がないものとする（条件ｂ＿１ｅが満たされる）。また、マクロブロックＭＢ０とマクロブロックＭＢ１は、同じ前方向予測モードである（条件ｂ＿２ｅが満たされる）とする。
【００６２】
このとき、第１の例としてピクチャ構造はフィールド構造であり、被予測フィールドパリティは、第１フィールド（被予測フィールドが第１フィールド）であるとする。プレディクション・タイプは、上部の１６画素×８ラインの領域と下部１６画素×８ラインの領域をそれぞれ別々に予測を行う場合（１６×８  Ｆｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ）である。なお、図１８の例では、例えば、マクロブロックＭＢ０の上部の動きベクトルが（５，１）（１）で、マクロブロックＭＢ０の下部の動きベクトルが（５，５）（２）で、マクロブロックＭＢ１の上部の動きベクトルが（５，５）（３）で、マクロブロックＭＢ１の下部の動きベクトルが（５，５）（４）で、マクロブロックＭＢ２の上部の動きベクトルが（５，５）（５）で、マクロブロックＭＢ２の下部の動きベクトルが（５，５）（６）となっている。
【００６３】
また、マクロブロックＭＢ０とマクロブロックＭＢ１の全ての動きベクトルは、同一の第１フィールドを参照しているものとする。この場合、全ての動きベクトルについて、参照画像のパリティ及び予測の方向が同じになるため、動きベクトルは、図１６のレジスタメモリＰＭＶ１に記憶されている動きベクトルが減算されて伝送される。なお、図１６のレジスタメモリＰＭＶ１は初期値として（０，０）が記憶されているとする。
【００６４】
すなわち、図１８の例の場合、マクロブロックＭＢ０においては、上部の動きベクトル（５，１）（１）とレジスタメモリＰＭＶ１の初期値（０，０）との差分である（５，１）（１）−ＰＭＶ１＝（５，１）が得られ、この値がマクロブロックＭＢ０の上部の差分動きベクトルとして出力される。レジスタメモリＰＭＶ１には動きベクトル（５，１）（１）が記憶される。また、下部の動きベクトル（５，５）（２）とレジスタメモリＰＭＶ１の値（５，１）との差分である（５，５）（２）−ＰＭＶ１＝（０，４）が得られ、この値がマクロブロックＭＢ０の下部の差分動きベクトルとして出力される。レジスタメモリＰＭＶ１には動きベクトル（５，５）（２）が記憶される。次に、マクロブロックＭＢ１についても同様に差分を取ることによって、当該マクロブロックＭＢ１では、差分化動きベクトルは全て零（０，０）となる（前記条件ｂ＿３ｅが満たされる）。
【００６５】
また、第２の例として、上述のように条件ｂ＿１ｅと条件ｂ＿２ｅが満たされているとき、ピクチャ構造がフレーム構造であるとする。プレディクション・タイプは、マクロブロックＭＢの第１フィールドと第２フィールドをそれぞれ別々に予測を行う場合（Ｆｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ）（被予測フィールドが第１フィールドと第２フィールド）であるとする。また、マクロブロックＭＢ０の第１フィールドが（５，１）（１）で、第２フィールドの動きベクトルが（５，５）（２）で、マクロブロックＭＢ１の第１フィールドの動きベクトルが（５，５）（３）で、第２フィールドの動きベクトルが（５，５）（４）で、マクロブロックＭＢ２の第１フィールドの動きベクトルが（５，５）（５）で、第２フィールドの動きベクトルが（５，５）（６）であるとする。
【００６６】
更に、マクロブロックＭＢ０とマクロブロックＭＢ１の全ての動きベクトルは、同一の第１フィールドを参照しているとする。この場合も、参照画像のパリティと予測方向が全ての動きベクトルについて同じとなるため、動きベクトルは、図１６のレジスタメモリＰＭＶ１に記憶されている動きベクトルが減算されて伝送されることになる。よって、この例においても差分のとり方は図１８と同様になり、マクロブロックＭＢ１では、差分化動きベクトルは全て零（０，０）となる（条件ｂ＿３ｅが満たされる）。
【００６７】
このようなことから、上述の２つの例において、ＭＰＥＧ１での規則によれば、マクロブロックＭＢ１は条件ｂ＿１ｅ、ｂ＿２ｅ、ｂ＿３ｅが満たされるのでエンコーダがこのマクロブロックＭＢ１をスキップ・マクロブロックとして処理したとする。
【００６８】
ところがこの場合、それは誤った選択となる。なぜならば、復号化装置側において、条件ｂ＿１ｄとｂ＿２ｄの処理は正しく行われるが、条件ｂ＿３ｄの処理は、マクロブロックＭＢ０とマクロブロックＭＢ１の動きベクトルが実際には異なるにもかかわらず、コピーが行われるからである。すなわち、マクロブロックＭＢ１をスキップ・マクロブロックと判定すると、前者の例ではマクロブロックＭＢ０の上部の動きベクトル（５，１）（１）と、マクロブロックＭＢ１の上部の動きベクトル（５，５）（３）とが異なる（（５，１）（１）≠（５，５）（３））にもかかわらず、マクロブロックＭＢ０からマクロブロックＭＢ１への動きベクトルのコピー（複製）が行われ、復号化は正しく行われない。また、後者の例でも、マクロブロックＭＢ０の第１フィールドの動きベクトル（５，１）（１）と、マクロブロックＭＢ１の第１フィールドの動きベクトル（５，５）（３）は実際には異なっているにもかかわらず。誤ったコピーが行われる。
【００６９】
この問題は、従来、Ｂピクチャにおいて、同一マクロブロック内の動きベクトルを差分化して伝送する際に、同じレジスタメモリ（ＰＭＶ）を２回以上使用し、その内容を更新していることに原因がある。
【００７０】
また、同一マクロブロック内の動きベクトルに関して、同じレジスタメモリ（ＰＭＶ）を２回以上使用することは復号化装置側において更に以下のような問題を生じる。
【００７１】
図１９は、Ｂピクチャに関して伝送された差分化動きベクトルから動きベクトルを再構成する動作を示したものである。なおこの例においては、ピクチャ構造はフィールド構造であり、マクロブロックＭＢ０、ＭＢ１、ＭＢ２はそれぞれ、上部の１６画素×８ラインの領域と下部１６画素×８ラインの領域とが別々に前方向予測モードで符号化されているものとする。また、参照画像は、上部の１６画素×８ラインの領域も下部１６画素×８ラインの領域も単一の第１フィールドであるとする。
【００７２】
この図１９の例においては、上部の領域と下部の領域とは、同じ参照画素のパリティと同じ予測の方向を有するため、例えばレジスタメモリＰＭＶ１だけが使用されて、同一マクロブロック内でそのレジスタメモリＰＭＶ１の内容が変化する。そのため、直前に処理されたマクロブロックの動きベクトルを保持しておくためには、当該レジスタメモリＰＭＶ以外に別の４つのレジスタメモリ（前方向、後方向ベクトルのために２個ずつ）を持つ必要がある。なお、直前のマクロブロックの動きベクトルを保持しておくことは、復号化装置側での、エラー修整などを行う目的の上からもよく行われていることである。
【００７３】
すなわち、図１９においては、図１８による差分化動きベクトルとして、マクロブロックＭＢ０の上部の差分化動きベクトルの（５，１）（１）と、マクロブロックＭＢ０の下部の差分化動きベクトルの（０，４）（２）と、マクロブロックＭＢ１の上部の差分化動きベクトルの（０，０）（３）と、マクロブロックＭＢ１の下部の差分化動きベクトルの（０，０）（４）と、マクロブロックＭＢ２の上部の差分化動きベクトルの（０，０）（５）と、マクロブロックＭＢ２の下部の差分化動きベクトルの（０，０）（５）とが得られるとする。また、レジスタメモリＰＭＶ１は初期値として（０，０）が記憶されているとする。
【００７４】
ここで、この図１９の例の場合、マクロブロックＭＢ０においては、上部の差分化動きベクトル（５，１）（１）とレジスタメモリＰＭＶ１の初期値（０，０）との加算による（５，１）（１）＋ＰＭＶ１＝（５，１）Ａが再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１に送られるようになる。また、このマクロブロックＭＢ０の下部においては、下部の差分化動きベクトル（０，４）（２）とレジスタメモリＰＭＶ１に送られた再構成動きベクトル（５，１）Ａとの加算による（０，４）（２）＋ＰＭＶ１＝（５，５）Ｂが再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１に送られるようになる。同様に、マクロブロックＭＢ１においては、上部の差分化動きベクトル（０，０）（３）とレジスタメモリＰＭＶ１に送られた再構成動きベクトル（５，５）Ｂとの加算による（０，０）（３）＋ＰＭＶ１＝（５，５）Ｃが再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１に送られるようになる。また、このマクロブロックＭＢ１の下部においては、下部の差分化動きベクトル（０，０）（４）とレジスタメモリＰＭＶ１に送られた再構成動きベクトル（５，５）Ｃとの加算による（０，０）（４）＋ＰＭＶ１＝（５，５）Ｄが再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１に送られるようになる。このように、得られた再構成動きベクトルは順次レジスタメモリＰＭＶ１に上書きされるため、直前のマクロブロックの再構成動きベクトルは消失することになる。
【００７５】
このように、復号化装置側においては、直前のマクロブロックＭＢで再構成された動きベクトルの値を保持するために、１つの予測の方向に対して、別に２つのレジスタメモリＰＭＶが必要であり、例えばマクロブロックＭＢ０では動きベクトル（５，１）Ａと（５，５）Ｂの値を、また、マクロブロックＭＢ１では動きベクトル（５，５）Ｃと（５，５）Ｄの値を記憶する必要がある。
【００７６】
【発明が解決しようとする課題】
上述したように、従来のＭＰＥＧ２に提案されている動きベクトルの符号化方法では、スキップ・マクロブロックの取扱を考えておらず、そのためスキップ・マクロブロックを取り扱うことができないという問題点を持っている。
【００７７】
また、復号化装置側においては、直前に処理されたマクロブロックの動きベクトルを保持しておくために、レジスタメモリＰＭＶ以外にレジスタメモリを持つ必要があり、ベクトル（差分化動きベクトル）の逆差分化器の構成が複雑化している。
【００７８】
更に、従来は、ベクトル差分化器、逆差分化器でのレジスタメモリＰＭＶの切り換えのための制御が複雑であり、レジスタメモリＰＭＶの切換器のハードウエア規模が大きいという問題がある。
【００７９】
そこで、本発明では係る点に着目し、動画像の動き補償予測符号化及び復号化においてマクロブロック単位で与えられる動きベクトルが、前方向予測では過去フレーム（或いはフィールド）を参照する動きベクトルが１つ以上、後方向予測では未来フレーム（或いはフィールド）を参照する動きベクトルが１つ以上、両方向予測では過去と未来の両フレーム（或いはフィールド）を参照する動きベクトルがそれぞれ１つ以上ずつ存在する場合であり、かつマクロブロック単位でそれぞれの動き補償モードでの動きベクトルの数が変化する場合において、本発明の目的は、画像信号復号化装置側において、従来よりも簡単な構成で、受信された差分化動きベクトルから動きベクトルを再構成し、また直前に処理されたマクロブロックの動きベクトルを保持しておくために、レジスタメモリＰＭＶ以外にレジスタメモリを持つ必要がない画像信号復号化方法及び画像信号復号化装置を提供することである。
【００８０】
【課題を解決するための手段】
本発明に係る画像信号復号化方法は、画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化方法において、符号化画像信号からスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフィールド構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプを１６×１６のフィールド予測とし、フィールド動きベクトル参照パリティを被予測フィールド・パリティと同じパリティとして、過去のピクチャのマクロブロックをコピーして復号化を行う。
【００８１】
また、本発明に係る画像信号復号化方法は、画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化方法において、符号化画像信号からスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフレーム構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプをフレーム予測として、過去のピクチャのマクロブロックをコピーして復号化を行う。
【００８２】
本発明に係る画像信号復号化装置は、画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化装置において、符号化画像信号からスキップ・マクロブロックを検出する手段と、検出手段がスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフィールド構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプを１６×１６のフィールド予測とし、フィールド動きベクトル参照パリティを被予測フィールド・パリティと同じパリティとして、過去のピクチャのマクロブロックをコピーして復号化を行う手段とを有する。
【００８３】
また、本発明に係る画像信号復号化装置は、画像信号を動き補償モードを含む複数のモードに基づいてマクロブロック毎に符号化し、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送された符号化画像信号を復号する画像信号復号化装置において、符号化画像信号からスキップ・マクロブロックを検出する手段と、検出手段がスキップ・マクロブロックを検出した場合、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフレーム構造である場合、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプをフレーム予測として、過去のピクチャのマクロブロックをコピーして復号化を行う手段とを有する。
【００８４】
【発明の実施の形態】
以下、本発明に係る画像信号復号化方法及び画像信号復号化装置について説明する。
【００８５】
先ず、本発明を適用した動画像復号化装置（デコーダ）に対する送信側の動画像符号化装置（エンコーダ）について図１を参照して説明する。
【００８６】
この動画像符号化装置の基本的な動作を制御するための情報は、画像符号化制御情報入力部３０から与えられ、画像符号化制御記憶用メモリ２９に記憶されている。これらは、画枠サイズ、符号化情報の出力ビットレートなどである。これらの情報は、画像符号化制御信号Ｓ２５として画像符号化制御記憶用メモリ２９から出力される。また、画像符号化制御情報入力部３０からは、画像符号化制御記憶用メモリ２９を介してピクチャ構造信号Ｓ２６（ピクチャがフレーム構造であるかフィールド構造であるかプログレッシブであるかの識別信号）が出力され、更に、ピクチャ符号化タイプ信号Ｓ２７（ＩピクチャかＰピクチャかＢピクチャかの識別信号）も出力される。
【００８７】
また、画像入力端子１０より入力された画像信号は、フィールドメモリ群１１に供給される。更に、入力端子２６からは入力画像同期信号である垂直同期信号Ｓ１１が供給され、参照画像コントロール器２３に供給される。参照画像コントロール器２３には、端子１を介して画像符号化制御信号Ｓ２５、ピクチャ構造信号Ｓ２６、ピクチャ符号化タイプ信号Ｓ２７も供給される。この参照画像コントロール器２３は、垂直同期信号Ｓ１１を受けると、後述する参照画像指示信号Ｓ１０を出力し、それをフィールドメモリ群１１に供給している。
【００８８】
フィールドメモリ群１１に供給されている画像信号の画像は、現在の符号化対象であり、フィールドメモリ群１１は、読み出す画像（ピクチャ）の先頭に同期して、後述するピクチャ・スタート・フラグＳ２２を立て、それを端子２及び端子９を介して参照画像コントロール器２４に供給する。参照画像コントロール器２４は、ピクチャ・スタート・フラグＳ２２が立つと、後述する参照画像指示信号Ｓ１２、Ｓ１３を出力し、それらをフィールドメモリ群１７に供給している。また、端子９を介したピクチャ・スタート・フラグＳ２２は、出力画像コントロール器２５にも供給されている。出力画像コントロール器２５は、ピクチャ・スタート・フラグＳ２２が立つと、後述する出力画像指示信号Ｓ１４を出力し、それをフィールドメモリ群１７に供給している。なお、参照画像コントロール器２４及び出力画像コントロール器２５には、端子３３を介して、画像符号化制御信号Ｓ２５、ピクチャ構造信号Ｓ２６、ピクチャ符号化タイプ信号Ｓ２７が供給される。
【００８９】
また、動き予測回路１２には、フィールドメモリ群１１に供給されている画像信号が送られるとともに、端子１からの画像符号化制御信号Ｓ２５、ピクチャ構造信号Ｓ２６、ピクチャ符号化タイプ信号Ｓ２７が供給される。この動き予測回路１２は、フィールドメモリ群１１に供給されている画像信号に対して、当該現在の符号化対象である画像中の画素の動き予測を過去画像と未来画像を参照して行う。この動き予測は、現在の符号化対象である画像中のブロック画素信号と参照される過去画像又は未来画像とのブロックマッチングであり、マクロブロックの大きさは例えば１６×１６画素、１６×８画素、８×８画素である。
【００９０】
このときの過去及び未来の参照画像は、参照画像コントロール器２３から出力される動き予測の参照画像指示信号Ｓ１０に従ってフィールドメモリ群１１の中から指定される。動き予測回路１２は、選択可能な各動き補償モードそれぞれに対してブロックマッチングでの予測誤差が最小となる参照画像中のブロック位置を検出し、その位置に対応する動きベクトルを動きベクトル信号Ｓ７として、動き補償回路１８に供給する。なお、どの動き補償モードが選択可能であるかは、ピクチャ構造信号Ｓ２６とピクチャ符号化タイプ信号Ｓ２７によって決められる。
【００９１】
また、動き予測回路１２は、動きベクトル信号Ｓ７の付加情報として、プレディクション・タイプ信号Ｓ３０、フィールド動きベクトル参照パリティ信号Ｓ３１、サブ動きベクトル信号Ｓ３２、被予測フィールド・パリティ信号Ｓ３３もまた、動き補償回路１８に供給する。
【００９２】
ここで、プレディクション・タイプ信号Ｓ３０は、例えば動き予測をフレームベースで行ったか、フィールドベースで行ったか、ブロックマッチングを１６×１６画素、１６×８画素、８×８画素の何れで行ったか、ＤＵＡＬ−ＰＲＩＭＥであるかという情報である。なお、８×８画素ブロック予測及びＤＵＡＬ−ＰＲＩＭＥについては、上述の資料ＩＳＯ−ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ９３／２２５ｂ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４にその詳細が述べられているので、ここでは説明を省略する。
【００９３】
また、フィールド動きベクトル参照パリティ信号Ｓ３１は、動き予測をフィールドベースで行った場合に、そのベクトルを参照するフィールドが第１フィールド（フィールド１）か第２フィールド（フィールド２）かを表す信号である。
【００９４】
サブ動きベクトル信号Ｓ３２は、例えばＤＵＡＬ−ＰＲＩＭＥ及び８×８画素ブロック予測のベクトル付属信号である。
【００９５】
被予測フィールド・パリティ信号Ｓ３３は、動き予測をフィールドベースで行った場合に、動きベクトルの予測先のフィールド（被予測フィールド）が第１フィールドか第２フィールドかを表す信号である。
【００９６】
動き補償回路１８は、後述する既に復号再生された画像が蓄えられているフィールドメモリ群１７から、動きベクトル信号Ｓ７、プレディクション・タイプ信号Ｓ３０、フィールド動きベクトル参照パリティ信号Ｓ３１、サブ動きベクトル信号Ｓ３２及び被予測フィールド・パリティ信号Ｓ３３によって指定されるアドレスに位置するブロック画像信号Ｓ３の出力を指示する。このときの参照画像は、参照画像コントロール器２４から出力される動き補償参照画像指示信号Ｓ１２に従ってフィールドメモリ群１７の中から指定される。
【００９７】
動き補償回路１８からのブロック画像信号Ｓ３の出力は、適応的な動作となっており、マクロブロック単位で以下の４種類の動作の内の選択可能な動き補償モードの中から最適なものに切り換えることが可能である。
【００９８】
すなわち、４種類の動作とは、
第１に、過去の再生画像からの動き補償モード（前方向予測モード）と、
第２に、未来の再生画像からの動き補償モード（後方向予測モード）と、
第３に、過去と未来の両再生画像からの動き補償モード（過去の再生画像からの参照ブロックと未来の再生画像からの参照ブロックを１画素毎に線形演算（例えば平均値計算）をする。）（両方向予測モード）と、
第４に、動き補償なし（すなわちイントラ符号化モードである。この場合、ブロック画像信号Ｓ３の出力は、零であることに等しい。）の４種類のモードであり、これらモードの内の選択可能なものから最適なものに切り換える。
【００９９】
ここで、動き補償モードの切換の際には、例えば４種類のモードで出力されるそれぞれのブロック画素信号Ｓ３と現在の符号化対象のブロック画素信号Ｓ１との１画素毎の差分値の絶対値の総和が最小であるモードが選択される。
【０１００】
この選択されたモードは、動き補償モード信号Ｓ９と、その時の動きベクトル信号Ｓ８及びプレディクション・タイプ信号Ｓ４０と、フィールド動きベクトル参照パリティ信号Ｓ４１と、サブ動きベクトル信号Ｓ４２と、被予測フィールド・パリティ信号Ｓ４３として、端子３を介して各部に送られる。
【０１０１】
また、フイールドメモリ群１１からは、現在の符号化対象のマクロブロック画素信号Ｓ１が出力され、またこのマクロブロック画像信号Ｓ１の出力に同期して、ＭＢスタート・フラグＳ３００が出力される。ＭＢカウンタ４９は、ＭＢスタート・フラグＳ３００に同期して、その数をカウントする。また、ＭＢカウンタ４９は、端子４８を介して供給されるピクチャ・スタート・フラグＳ２２が立つとリセットされる。なお、当該ＭＢカウンタ４９には、端子４６を介して画像符号化制御信号Ｓ２５も供給されている。
【０１０２】
このＭＢカウンタ４９から端子４５を介して出力されるスライス・スタート・フラグＳ３０１は、ＭＢカウンタ数が予め決められたスライス長（スライスを作るマクロブロックの数）の倍数になると立てられる。ここで、スライスとは、画像の走査順に連なる１つ又は複数のマクロブロックで構成されるユニットであり、スライスの頭では、最初のマクロブロックは画像内での位置を示すデータを伝送し、受信側においてエラーが起こった場合でも復帰できるように考えられている。スライス長は、ビットストリームの伝送路のエラー状態によって変えられるようになっている。一般的には、伝送路のエラー確率が高い場合ほど、スライス長は短くなる。このときの指定されたスライス長は画像符号化制御記憶用メモリ２９に記憶されている。
【０１０３】
マクロブロック画素信号Ｓ１と動き補償回路１８から供給されるブロック画素信号Ｓ３は、減算器１３にて１画素毎の差分値が計算され、その結果、ブロック差分信号Ｓ２が得られる。ブロック差分信号Ｓ２は、ブロック信号符号化部１４に供給され、ここから符号化信号Ｓ４が得られる。符号化信号Ｓ４は、ブロック信号復号化部１５に供給され、ここで復号化されてブロック再生差分信号Ｓ５となる。
【０１０４】
ここで、ブロック信号符号化部１４には、端子７を介した画像符号化制御信号Ｓ２５と、端子３１及び端子８を介した量子化テーブル信号Ｓ１５も供給される。このブロック信号符号化部１４の構成としては、ＤＣＴ（ディスクリートコサイン変換）器と、その出力係数をバッファメモリ２１から指定された量子化テーブル信号Ｓ１５により量子化する量子化器からなる構成を適用できる。この場合、ブロック信号復号化部１５にも、画像符号化制御信号Ｓ２５と量子化テーブル信号Ｓ１５が供給され、このブロック信号復号化部１５の構成としては、量子化係数を量子化テーブル信号Ｓ１５により逆量子化する逆量子化器と、その出力係数を逆ＤＣＴする逆ＤＣＴ器からなる構成を適用する。
【０１０５】
ブロック再生差分信号Ｓ５は、加算器１６において、動き補償回路１８から出力されるブロック画像信号Ｓ３と１画素毎に加算され、その結果、ブロック再生信号Ｓ６が得られる。このブロック再生信号Ｓ６はフィールドメモリ群１７の中から現在の参照画像指示信号Ｓ１３により指定されるフィールドメモリに格納される。フィールドメモリ群１７に蓄えられた再生画像は、上述の出力画像指示信号Ｓ１４に従って読み出され、再生画像信号として端子３２から出力される。
【０１０６】
一方、符号化信号Ｓ４は、端子６を介して画像符号化制御信号Ｓ２５が供給される１次元信号化部１９にも送られ、ここで１次元配列に格納され、１次元符号化信号Ｓ１６となる。１次元信号化部１９の構成は、ブロック量子化ＤＣＴ係数を、低周波数から高周波数の係数の順にジグザグ・スキャンするスキャン・コンバータ（走査変換器）からなる。１次元符号化信号Ｓ１６は、ＶＬＣ器（可変長符号化器）２０においてハフマン符号などに可変長符号化される。
【０１０７】
また、動きベクトル信号Ｓ８は、端子３及び端子４を介してベクトル差分化器２７に送られ、ここで差分化され、差分化動きベクトル信号Ｓ５０となり、ＶＬＣ器２０にてハフマン符号などに可変長符号化される。なお、端子４には、ＭＢスタート・フラグＳ３００スライス・スタート・フラグＳ３０１、動き補償モード信号Ｓ９、ピクチャ構造信号Ｓ２６、プレディクション・タイプ信号Ｓ４０も供給される。
【０１０８】
ベクトル差分化器２７の詳細について、図２に基づき説明する。この図２において、ベクトル差分化器２７の端子７７にはスライス・スタート・フラグＳ３０１が入力され、端子７１には図１の端子４７及び端子４を介したＭＢスタート・フラグＳ３００が、端子７０には図１の端子３及び端子４を介した動きベクトル信号Ｓ８が、端子７２には図１の端子３及び端子４を介した動き補償モード信号Ｓ９が、端子７３には図１の端子３及び端子４を介したプレディクション・タイプ信号Ｓ４０が、そして端子７４には図１の端子４を介したピクチャ構造信号Ｓ２６が入力される。
【０１０９】
ここで、ピクチャ構造信号Ｓ２６とプレディクション・タイプ信号Ｓ４０により、マクロブロック内での前方向動きベクトル又は後方向動きベクトルの伝送数がわかり、それは下記に示す表１、表２、表３のように決まる。本実施例では、前方向動きベクトルと後方向動きベクトルのそれぞれの最大伝送数は２であり、したがって、マクロブロック内で動きベクトルは最大４個伝送される。なお、マクロブロック内での前或いは後方向動きベクトルの伝送数が２つの場合、この２つの動きベクトルの伝送順は予め定められている。例えば表１のＦｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎの場合、被予測フィールドが第１フィールドである動きベクトルが先に伝送され、被予測フィールドが第２フィールドであるベクトルが後に伝送される。また、表２の１６×８  Ｆｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎの場合には、上部の動きベクトルが先に伝送され、下部の動きベクトルが後に伝送される。また、本実施例における動き補償回路１８は、この伝送順と同じ順序で、動きベクトル信号Ｓ８を出力する。
【０１１０】
【表１】
0003614159.tif 000002
【０１１１】
【表２】
0003614159.tif 000003
【０１１２】
【表３】
0003614159.tif 000004
【０１１３】
本実施例では、図２のベクトル差分化器２７におけるレジスタ群８１を例えば図３に示すように構成する。ここでは、レジスタ群８１として、動きベクトルを記憶するための４個のレジスタメモリＰＭＶ１〜ＰＭＶ４が用意される。
【０１１４】
そして、前方向動きベクトル及び後方向動きベクトルを、それぞれマクロブロック内での伝送順に応じて、レジスタメモリＰＭＶ１〜ＰＭＶ４に１：１に対応させる。具体的には、マクロブロック内で１番目に伝送される前方向動きベクトルは、レジスタメモリＰＭＶ１に記憶される。マクロブロック内で２番目に伝送される前方向動きベクトルは、レジスタメモリＰＭＶ２に記憶される。また、マクロブロック内で１番目に伝送される後方向動きベクトルは、レジスタメモリＰＭＶ３に記憶される。マクロブロック内で２番目に伝送される後方向動きベクトルは、レジスタメモリＰＭＶ４に記憶される。このように、本実施例では、各動きベクトルのマクロブロック内での伝送順が、各動きベクトルをレジスタメモリＰＭＶ１〜ＰＭＶ４の内のどのレジスタメモリに記憶するかを示すインデックスになる。
【０１１５】
言い換えれば、本実施例では、マクロブロック内での前方向動きベクトルの伝送順に“１”〜“２”のインデックスを付け、また後方向動きベクトルの伝送順に“３”〜“４”のインデックスを付け、それぞれのインデックスを有する動きベクトルとレジスタメモリＰＭＶ１〜ＰＭＶ４を１：１に対応づけている。なお、図３のレジスタメモリＰＭＶ１〜ＰＭＶ４の各入力端子ａ〜ｄは、図２の切換スイッチ８０の対応する被切換端子と接続され、出力端子ｅ〜ｈは、図２の切換スイッチ８２の対応する被切換端子と接続される。
【０１１６】
また、表４には、動きベクトルの伝送時のビットストリームのシンタクスを示す。
【０１１７】
【表４】
0003614159.tif 000005
【０１１８】
この表４において、関数”ｆｏｒｗａｒｄ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ（）”が、前方向動きベクトルについてのものであり、関数”ｂａｃｋｗａｒｄ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ（）”が、後方向動きベクトルについてのものである。また、”／＊”と”＊／”に囲まれた文章は、コメントである。この表に示すように、それぞれ伝送する動きベクトルとレジスタメモリＰＭＶを対応づける。なお、ここで”ｍｖ＿ｆｏｒｍａｔ”、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”というパラメータが使用されているが、これらは表１〜表３に基づいて与えられる。”ｍｖ＿ｆｏｒｍａｔ”は、表１、表２にあるように、”ｆｒａｍｅ”タイプと”ｆｉｅｌｄ”タイプがある。”ｆｉｅｌｄ”タイプのベクトルには、基本的にフィールド動きベクトル参照・パリティが付加される。また、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”は、表１〜表３にあるように、１個のマクロブロックでの前方向又は後方向のベクトルの伝送数である。
【０１１９】
ここで、”ｆｏｒｗａｒｄ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ（）”について以下に説明する。先ず、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が１個（０１７行）の場合は、動きベクトルの情報はレジスタメモリＰＭＶ１に格納される。また”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が２個の場合は、１番目に伝送される動きベクトルの情報（０２８行）は、レジスタメモリＰＭＶ１にストアされ、２番目に伝送される動きベクトルの情報（０２９行）は、レジスタメモリＰＭＶ２にストアされる。更に詳細に言うと、動きベクトルの情報の伝送数が１個（０１７行）の場合は、２通りに分岐し、”ｍｖ＿ｆｏｒｍａｔ”が”ｆｒａｍｅ”の場合（０１８行）と”ｍｖ＿ｆｏｒｍａｔ”が”ｆｉｅｌｄ”の場合（０２０行）とがある。”ｍｖ＿ｆｏｒｍａｔ”が”ｆｉｅｌｄ”の場合、更に”ｄｍｖ＝＝１”の場合（０２２行）、”ｐｒｅｄｉｃｔｉｏｎ＿ｔｙｐｅ”は、”Ｄｕａｌ＿ｐｒｉｍｅ”であり、”ｄｍｖ＿ｈｏｒｉｚｏｎｔａｌ”と”ｄｍｖ＿ｖｅｒｔｉｃａｌ”が伝送される。これらは、プレディクション・タイプが、”Ｄｕａｌ＿ｐｒｉｍｅ”のときのサブ動きベクトルである。”ｂａｃｋｗａｒｄ＿ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ（）”についても、同様である。
【０１２０】
なお、ここでは前方向動きベクトルの伝送数が１個であるマクロブロックでは、レジスタメモリＰＭＶ１を更新する際に、同じ値でレジスタメモリＰＭＶ２を更新する。また、後方向動きベクトルの伝送数が１個であるマクロブロックでは、レジスタメモリＰＭＶ３を更新する際に、同じ値でレジスタメモリＰＭＶ４を更新する。
【０１２１】
上述の表４で説明したビットストリーム・シンタクスでの動作を図２の構成を用いて説明する。
【０１２２】
この図２において、端子７０を介して入力される動きベクトル信号Ｓ８を受けて、動きベクトル信号フラグ発生器８７は、動きベクトル信号フラグＳ８６を出力する。この動きベクトル信号フラグＳ８６は動きベクトルカウンタ８８にてカウントされる。なお、動きベクトルカウンタ８８は、端子７１を介したＭＢスタート・フラグＳ３００が立つとリセットされる。この動きベクトルカウンタ８８からの動きベクトル・カウント数信号Ｓ８７は、レジスタ・インデックス指定信号発生器８９に入力される。また、レジスタ・インデックス指定信号発生器８９には、端子７２、７３、７４を介して動き補償モード信号Ｓ９、プレディクション・タイプ信号Ｓ４０、ピクチャ構造信号Ｓ２６が入力されている。
【０１２３】
ここで、ピクチャ構造信号Ｓ２６とプレディクション・タイプ信号Ｓ４０により、マクロブロック内での前方向動きベクトル又は後方向動きベクトルの伝送数（ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ）がわかり、更に、動き補償モード信号Ｓ９により、マクロブロック内で伝送される全動きベクトルの伝送数がわかる。例えば、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が“２”であり、動き補償モード信号Ｓ９が両方向予測モードである場合、マクロブロック内で伝送される動きベクトルは、前方向動きベクトル２個、後方向動きベクトル２個の順番に伝送されるので、マクロブロック内での全動きベクトルの伝送数は４個である。
【０１２４】
この情報に基づき、レジスタ・インデックス指定信号発生器８９は、動きベクトル・カウント数信号Ｓ８７からレジスタ・インデックス指定信号Ｓ８８を生成して出力する。例えば、上述の図３の例において、動きベクトル・カウント数信号Ｓ８７が値１のときは、レジスタ群８１ではレジスタメモリＰＭＶ１が指定され、値２のときはレジスタ群８１ではレジスタメモリＰＭＶ２が指定され、値３のときはレジスタ群８１ではレジスタメモリＰＭＶ３が指定され、値４のときはレジスタ群８１ではレジスタメモリＰＭＶ４が指定される。
【０１２５】
また、別の例として、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が１個であり、動き補償モード信号Ｓ９が後方向予測モードである場合、マクロブロック内で伝送される全動きベクトルの伝送数は後方向ベクトル１個であるので、動きベクトル・カウント数信号Ｓ８７が値１のときは、レジスタ群８１ではレジスタメモリＰＭＶ３が指定される。
【０１２６】
レジスタ群８１は、レジスタ・インデックス指定信号Ｓ８８を受けて、指定されたレジスタメモリに記憶されている動きベクトル信号Ｓ８２を切換スイッチ８２を通して出力する。
【０１２７】
このレジスタ群８１から出力される動きベクトル信号Ｓ８２は、必要に応じ、スケール変換Ａのスケール変換器８４において、端子７５からのプレディクション・タイプ信号Ｓ４０に基づいて切換器８５から出力されるスケール指示信号Ｓ８５（スケール指示信号Ａ）によりスケール変換された後、差分回路８６に入力され、現在入力された動きベクトル信号Ｓ８との差値が計算され、かくして差分化動きベクトル信号Ｓ５０が得られ、これが端子７６から出力される。
【０１２８】
一方、現在入力された動きベクトル信号Ｓ８は、必要に応じ、スケール変換Ｂのスケール変換器８３において、切換器８５から出力されるスケール指示信号Ｓ８３（スケール指示信号Ｂ）によりスケール変換された後（スケール変換された動きベクトル信号Ｓ８０）、レジスタ・インデックス指定信号Ｓ８８により指定されたレジスタメモリに、切換スイッチ８０を通して上書きされ、新たに記憶される。
【０１２９】
なお、スケール変換器８４とスケール変換器８３は、フレームを参照する動きベクトルとフィールドを参照する動きベクトル同士の差分化動きベクトルを計算するときの空間的なスケール調整や、参照フィールドまでの時間的な距離が異なる動きベクトル同士の差分化ベクトルを計算するときの、時間軸的な原因に基づくスケール調整に使用されたりする。
【０１３０】
また、当該ベクトル差分化器２７のレジスタメモリＰＭＶのリセットは、端子７７を介した動き補償モード信号Ｓ９がイントラ符号化モードであるマクロブロックと、同じく端子７７からのスライス・スタート・フラグＳ３０１が立っているマクロブロックにおいて行われ、このとき、レジスタ群８１の中の全てのレジスタメモリは零にリセットされる。このレジスタメモリのリセットの指示は、レジスタ・リセット指示器７８により行われる。
【０１３１】
本実施例では、以上のように動きベクトルの差分化器２７を構成する。なお、上述の実施例においては、動き補償回路１８の動きベクトル信号Ｓ８の出力順を、予め定められた動きベクトルの伝送順と同じにしたが、異ならせることも可能である。ただし、この場合にも、最終的にＶＬＣ器２０への差分化動きベクトル信号Ｓ５０の入力順序は、伝送順と同じにする必要があるため、被予測フィールドパリティ信号をレジスタインデックス指定信号発生器８９に供給して、差分化動きベクトル信号Ｓ５０の出力順を入れ換える等の余分な構成が必要となる。
【０１３２】
次に、図１のスキップ・マクロブロック判定器２８の構成について、図４に基づいて説明する。
【０１３３】
この図４において、スキップ・マクロブロック判定器２８の端子９６には、１次元符号化信号Ｓ１６、すなわち動き補償予測誤差信号Ｓ１６が供給される。また、このスキップ・マクロブロック判定器２８には、動き補償予測誤差信号Ｓ１６の他に、差分化動きベクトル信号Ｓ５０と、図１の端子４からの動きベクトル信号Ｓ８、動き補償モード信号Ｓ９、ピクチャ構造信号Ｓ２６及びプレディクション・タイプ信号Ｓ４０と、図１の端子５からのフィールド動きベクトル参照パリティ信号Ｓ４１、サブ動きベクトル信号Ｓ４２、被予測フィールド・パリティ信号Ｓ４３及びピクチャ符号化タイプ信号Ｓ２７とが供給されるようになっている。すなわち、図４の端子９５には、動きベクトル信号Ｓ８、差分化動きベクトル信号Ｓ５０、動き補償モード信号Ｓ９、プレディクション・タイプ信号Ｓ４０、フィールド動きベクトル参照パリティ信号Ｓ４１、サブ動きベクトル信号Ｓ４２、被予測フィールド・パリティ信号Ｓ４３、ピクチャ符号化タイプ信号Ｓ２７、ピクチャ構造信号Ｓ２６が入力され、これらは、現在のマクロブロックのパラメータ記憶用メモリ９１（以下、現在パラメータ記憶用メモリという。）に記憶される。
【０１３４】
マクロブロックの動き補償予測誤差信号Ｓ１６は、非零係数判定器９４にて伝送すべき信号が存在するかが判定される。ここで、非零係数判定器９４は、伝送すべき信号が存在した場合は、その旨を判定器９３に知らせ、それを受けて当該判定器９３は、スキップ・マクロブロック・フラグＳ８９を“ＦＡＬＳＥ”として出力する。
【０１３５】
一方、伝送すべき予測誤差信号が存在しなかった場合（すなわち、動き補償予測誤差信号Ｓ１６の係数が全て零の場合）は、非零係数判定器９４は、判定器９３に“ＴＲＵＥ”の信号を知らせる。この場合、判定器９３は、更に現在パラメータ記憶用メモリ９１の内容と過去のマクロブロックのパラメータ記憶用メモリ（以下、過去パラメータ記憶用メモリという。）９２の内容を比較、判定する。
【０１３６】
ここで、判定器９３では、ピクチャ符号化タイプ信号Ｓ２７がＰピクチャである場合、
第１に、動きベクトル信号Ｓ８が零であること、
第２に、動き補償モード信号Ｓ９は前方向予測であること、
第３に、プレディクション・タイプ信号Ｓ４０がフィールド予測である場合は、フィールド動きベクトル参照パリティ信号Ｓ４１が、被予測フィールドのパリティと等しいこと、
第４に、サブ動きベクトル信号Ｓ４２は零であること
の条件の比較、判定を行う。
【０１３７】
これらの条件が満たされたとき、判定器９３は、スキップ・マクロブロック・フラグＳ８９を“ＴＲＵＥ”として出力する。そうでないときは、スキップ・マクロブロック・フラグＳ８９は“ＦＡＬＳＥ”である。このスキップ・マクロブロック・フラグＳ８９が端子９７を介して出力され、図１のＶＬＣ器２０に送られるようになっている。
【０１３８】
また、判定器９３では、ピクチャ符号化タイプ信号Ｓ２７がＢピクチャである場合、
第１に、差分化動きベクトル信号Ｓ５０が零であること、
第２に、現在のマクロブロックのパラメータ記憶用メモリ９１と過去のマクロブロックのパラメータ記憶用メモリ９２の内容について、動き補償モード信号Ｓ９、プレディクション・タイプ信号Ｓ４０、フィールド動きベクトル参照パリティ信号Ｓ４１、サブ動きベクトル信号Ｓ４２、被予測フィールド・パリティ信号Ｓ４３が同じであること
の条件の比較、判定を行う。
【０１３９】
これらの条件が満たされたとき、スキップ・マクロブロック・フラグＳ８９を“ＴＲＵＥ”として出力する。そうでないときは、スキップ・マクロブロック・フラグＳ８９は“ＦＡＬＳＥ”である。
【０１４０】
なお、スライスの先頭と最後のマクロブロックでは、上述の条件が満たされる場合でもスキップ・マクロブロックは禁止される。
【０１４１】
スキップ・マクロブロック・フラグＳ８９が“ＦＡＬＳＥ”である場合、現在のマクロブロックのパラメータ記憶用メモリ９１の内容は、過去のマクロブロックのパラメータ記憶用メモリ９２にコピーされる。また、スキップ・マクロブロック・フラグＳ８９が“ＴＲＵＥ”であるマクロブロックについては、ＶＬＣ器２０はデータを何も出力しない。
【０１４２】
以上のようにして、スキップ・マクロブロック判定器２８を構成する。
【０１４３】
更に、スキップ・マクロブロックの判定に関して、他の実施例を説明する。他の実施例では、更に、上述の実施例でのＰピクチャ及びＢピクチャのスキップ・マクロブロックの成立条件を以下のように限定する。すなわち、ピクチャ構造がフレーム構造の場合、プレディクション・タイプをフレーム予測（Ｆｒａｍｅ  ｂａｓｅｄｐｒｅｄｉｃｔｉｏｎ）の場合だけとする。また、ピクチャ構造がフィールド構造の場合、プレディクション・タイプを１６×１６のフィールド予測（１６×１６  Ｆｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ）の場合だけとする。すなわち、Ｂピクチャのプレディクション・タイプも、前のマクロブロックのプレディクション・タイプとは無関係になる。
【０１４４】
この場合のスキップ・マクロブロックの成立条件をまとめると以下のようになる。判定器９３は、非零係数判定器９４が伝送すべき信号が存在しないマクロブロックと判定した場合、更に各マクロブロックがこの成立条件を満たすか否かを判定する。先ず、ピクチャ符号化タイプ信号Ｓ２７がＰピクチャであり、ピクチャ構造信号Ｓ２６がフィールド構造の場合、
第１に、動きベクトル信号Ｓ８が零であること、
第２に、動き補償モード信号Ｓ９が前方向予測であること、
第３に、プレディクション・タイプ信号Ｓ４０が１６×１６のフィールド予測であること、
第４に、フィールド動きベクトル参照パリティ信号Ｓ４１が、被予測フィールドパリティ信号Ｓ４３のパリティと等しいこと、
が成立条件となる。
【０１４５】
また、ピクチャ符号化タイプ信号Ｓ２７がＰピクチャであり、ピクチャ構造信号Ｓ２６がフレーム構造の場合、
第１に、動きベクトル信号Ｓ８が零であること、
第２に、動き補償モード信号Ｓ９が前方向予測であること、
第３に、プレディクション・タイプ信号Ｓ４０がフレーム予測であること、  が成立条件となる。
【０１４６】
また、ピクチャ符号化タイプ信号Ｓ２７がＢピクチャであり、ピクチャ構造信号Ｓ２６がフィールド構造の場合、
第１に、差分化動きベクトル信号Ｓ５０が零であること、
第２に、動き補償モード信号Ｓ９が、前のマクロブロックと同じであること、
第３に、プレディクション・タイプ信号Ｓ４０が、１６×１６のフィールド予測であること、
第４に、フィールド動きベクトル参照パリティ信号Ｓ４１が、前のマクロブロックと同じであること、
第５に、被予測フィールド・パリティ信号Ｓ４３が、前のマクロブロックと同じであること、
が成立条件となる。
【０１４７】
また、ピクチャ符号化タイプ信号Ｓ２７がＢピクチャであり、ピクチャ構造信号Ｓ２６がフレームの場合、
第１に、差分化動きベクトル信号Ｓ５０が零であること、
第２に、動き補償モード信号Ｓ９が、前のマクロブロックと同じであること、第３に、プレディクション・タイプ信号Ｓ４０が、フレーム予測であること、
が成立条件となる。
【０１４８】
図１に戻って、ＶＬＣ器２０からの出力はバッファメモリ２１に蓄積された後、出力端子２２からビットストリームが一定の伝送レートで送出される。
【０１４９】
以上のようにして動画像符号化装置を構成し、動画像の符号化とビットストリームの出力と符号化画像の出力を行う。
【０１５０】
次に、本発明の動きベクトルの逆差分化器を有する動画像復号化装置（デコーダ）について図５に基づいて説明する。
【０１５１】
この図５において、入力端子５０より入力されたビットストリーム信号は、バッファメモリ５１に蓄積された後、そこから、逆ＶＬＣ器５２に供給される。
【０１５２】
逆ＶＬＣ器５２は、復号化するピクチャの先頭を検出すると、ピクチャ・スタート・フラグＳ１０２を立てて、それを参照画像コントロール器５８に供給する。なお、このピクチャ・スタート・フラグＳ１０２は、端子６７及び６１を介して参照画像コントロール器５８に送られる。参照画像コントロール器５８は、ピクチャ・スタート・フラグＳ１０２が立つと、後述する参照画像指示信号Ｓ５８、Ｓ５９を出力し、それらをフィールドメモリ群５７に供給する。
【０１５３】
また、逆ＶＬＣ器５２は、復号化するスライスの先頭を検出すると、スライス・スタート・フラグＳ２１１を立てる。
【０１５４】
また同様にして、ピクチャ・スタート・フラグＳ１０２は、出力画像コントロール器５９にも供給されている。出力画像コントロール器５９は、ピクチャ・スタート・フラグＳ１０２が立つと後述する出力画像指示信号Ｓ６０を出力し、それをフィールドメモリ群５７に供給する。
【０１５５】
逆ＶＬＣ器５２から得られた本発明の動画像復号化装置を制御するための制御情報は、復号化制御情報記憶用メモリ２０１に記憶される。これは、制御信号Ｓ１０４として出力される。また、ピクチャ構造信号Ｓ２０１、ピクチャ符号化タイプ信号Ｓ２０２が復号化制御情報記憶用メモリ２０１から出力される。これらは逆ＶＬＣ器５２に供給される。
【０１５６】
逆ＶＬＣ器５２から取り出された符号化マクロブロック信号Ｓ５０１は、２次元信号化部５３に供給される。また、この逆ＶＬＣ器５２からは、符号化マクロブロック信号Ｓ５０１の出力に同期して、ＭＢスタート・フラグＳ２１０が出力されている。
【０１５７】
符号化マクロブロック信号Ｓ５０１は、２次元信号化部５３にて、２次元ブロック信号Ｓ５１となる。この２次元ブロック信号Ｓ５１は、ブロック信号復号化部５４に供給され、ここで復号されブロック再生差分信号Ｓ５２となされる。
【０１５８】
ブロック信号復号化部５４の構成としては、逆ＶＬＣ器５２から取り出された量子化テーブル信号Ｓ５７により量子化係数を逆量子化する逆量子化器と、その出力係数を逆ＤＣＴ（ディスクリートコサイン変換）する逆ＤＣＴ器からなる構成を適用できる。
【０１５９】
また、２次元信号化部５３の構成は、符号化マクロブロック信号Ｓ５０１を低周波数から高周波数の係数の順に逆ジグザグ・スキャンする逆スキャン・コンバータ（走査変換器）からなる構成を適用できる。
【０１６０】
一方、逆ＶＬＣ器５２から取り出された現在の復号化対象のマクロブロックに付属する差分化動きベクトル信号Ｓ９０は、後述する動きベクトル逆差分化器２０２にて再構成される。この動きベクトル逆差分化器２０２からの再構成動きベクトル信号Ｓ５５と、逆ＶＬＣ器５２から出力されメモリ２０４を介した動き補償モード信号Ｓ５６、プレディクション・タイプ信号Ｓ９１、フィールド動きベクトル参照パリティ信号Ｓ９２、サブ動きベクトル信号Ｓ９３及び被予測フィールド・パリティ信号Ｓ９４は、動き補償器５６に送られる。これら信号を受けて当該動き補償器５６は、既に復号再生された画像が蓄えられているフィールドメモリ群５７の中から、ブロック画像信号の出力を指示する。
【０１６１】
具体的には、上述の参照画像指示信号Ｓ５８によりフィールドメモリ群５７の中から指定される再生画像を参照画像と認識し、動き補償モード信号Ｓ５６と動きベクトル信号Ｓ５５とプレディクション・タイプ信号Ｓ９１とフィールド動きベクトル参照パリティ信号Ｓ９２とサブ動きベクトル信号Ｓ９３と被予測フィールド・パリティ信号Ｓ９４により指定された参照画像内のアドレスに位置するブロック画像信号の出力を指示する。
【０１６２】
動き補償器５６は、動き補償モード信号Ｓ５６に応じた適応的な動作となっており、マクロブロック単位で以下の４種類の動作を行う。なお、ブロックの大きさは例えば１６×１６画素、１６×８画素、８×８画素である。
【０１６３】
すなわち、この場合の４種類の動作のモードとして、
第１に、過去の再生画像からの動き補償モードと、
第２に、未来の再生画像からの動き補償モードと、
第３に、過去と未来の両再生画像からの動き補償モード（過去の再生画像からの参照ブロックと未来の再生画像からの参照ブロックを１画素毎に線形演算（例えば平均値計算）をする。）と、
第４に、動き補償なし（すなわちイントラ符号化モードである。この場合、ブロック画像信号Ｓ５４の出力は、零であることに等しい。）がある。動き補償器５６は、動き補償モード信号Ｓ５６に応じて、この４種類の動作モードの内の１つを選択する。
【０１６４】
ブロック信号復号化部５４からのブロック再生差分信号Ｓ５２は、動き補償器５６から出力されるブロック画像信号Ｓ５４と、加算器５５にて１画素毎に加算され、その結果、ブロック再生信号Ｓ５３が得られる。ブロック再生信号Ｓ５３は、フィールドメモリ群５７の中から現在の参照画像指示信号Ｓ５９により指定されたフィールドメモリに格納される。
【０１６５】
以上のようにしてビットストリームから動画像が再構成される。
【０１６６】
フィールドメモリ群５７に蓄えられた再生画像は、上述の出力画像指示信号Ｓ６０に従って、指定された再生画像が端子６０から出力される。
【０１６７】
なお、動き補償器５６と参照画像コントロール器５８と出力画像コントロール器５９には、端子６２を介して、制御信号Ｓ１０４、ピクチャ構造信号Ｓ２０１、ピクチャ符号化タイプ信号Ｓ２０２が供給されている。
【０１６８】
次に、上述した動きベクトル逆差分化器２０２について図６に基づいて説明する。
【０１６９】
この図６において、端子３１１を介して供給された差分化動きベクトル信号Ｓ９０は、当該図６の動きベクトル逆差分化器２０２にて再構成される。この動きベクトル逆差分化器２０２には、スライス・スタート・フラグＳ２１１、ＭＢスタート・フラグＳ２１０、差分化動きベクトル信号Ｓ９０、動き補償モード信号Ｓ５６、プレディクション・タイプ信号Ｓ９１、そしてピクチャ構造信号Ｓ２０１が入力される。すなわち、ＭＢスタート・フラグＳ２１０は端子３１２に、動き補償モード信号Ｓ５６は端子３１３に、プレディクション・タイプ信号Ｓ９１は端子３１４及び３１６に、ピクチャ構造信号Ｓ２０１は端子３１５に供給される。
【０１７０】
ここで、ピクチャ構造信号Ｓ２０１とプレディクション・タイプ信号Ｓ９１により、マクロブロック内での前方向差分化動きベクトル又は後方向差分化動きベクトルの受信数がわかり、それは上述した表１〜表３のように決まる。本実施例では、前方向差分化動きベクトルと後方向差分化動きベクトルのそれぞれの最大受信数は２であり、したがって、マクロブロック内で差分化動きベクトルは最大４個受信される。
【０１７１】
このため、本実施例では図６の動きベクトル逆差分化器２０２におけるレジスタ群３０５を、上述の図３に示したように構成する。ここでは、上述と同様に動きベクトルを記憶するための４個のレジスタメモリＰＭＶ１〜ＰＭＶ４が用意される。
【０１７２】
そして、前方向差分化動きベクトル及び後方向差分化動きベクトルを、それぞれマクロブロック内での受信順に応じて、レジスタメモリＰＭＶ１〜ＰＭＶ４に１：１に対応させる。具体的には、マクロブロック内で１番目に受信される前方向差分化動きベクトルは、レジスタメモリＰＭＶ１に記憶された再構成動きベクトルと加算される。また、マクロブロック内で２番目に受信される前方向差分化動きベクトルは、レジスタメモリＰＭＶ２に記憶された再構成動きベクトルと加算される。また、マクロブロック内で１番目に受信される後方向差分化動きベクトルは、レジスタメモリＰＭＶ３に記憶された再構成動きベクトルと加算される。また、マクロブロック内で２番目に受信される後方向差分化動きベクトルは、レジスタメモリＰＭＶ４に記憶された再構成動きベクトルと加算される。このように、本実施例では、各動きベクトルのマクロブロック内での受信順が、各差分化動きベクトルをレジスタメモリＰＭＶ１〜ＰＭＶ４の内のどのレジスタメモリに記憶された再構成動きベクトルと加算するかを示すインデックスになる。
【０１７３】
言い換えれば、本実施例ではマクロブロック内での前方向差分化動きベクトルの受信順に“１”〜“２”のインデックスを付け、また後方向差分化動きベクトルの受信順に“３”〜“４”のインデックスを付け、それぞれのインデックスを有する動きベクトルとレジスタメモリＰＭＶを１：１に対応づけている。
【０１７４】
また、動きベクトルのビットストリームのシンタクスについては、上述した表４に示した通りであり、ここでも表中に示すように、それぞれ伝送されてくる動きベクトルとレジスタメモリＰＭＶを対応づける。表４の説明については、動画像符号化装置側で行った通りである。
【０１７５】
なお、ここでは前方向差分化動きベクトルの受信数が１個であるマクロブロックでは、レジスタメモリＰＭＶ１を更新する際に、同じ値でレジスタメモリＰＭＶ２を更新する。また、後方向差分化動きベクトルの受信数が１個であるマクロブロックでは、レジスタメモリＰＭＶ３を更新する際に、同じ値でレジスタメモリＰＭＶ４を更新する。
【０１７６】
レジスタメモリＰＭＶの切換動作について図６を用いて説明する。
【０１７７】
この図６において、端子３１１を介して入力される差分化動きベクトル信号Ｓ９０を受けて、差分化動きベクトル信号フラグ発生器３０８は、差分化動きベクトル信号フラグＳ３０６を出力する。差分化動きベクトル信号フラグＳ３０６は差分化動きベクトルカウンタ３０９にてカウントされる。なお、差分化動きベクトルカウンタ３０９は、ＭＢスタート・フラグＳ２１０が立つとリセットされる。この差分化動きベクトルカウンタ３０９からの動きベクトル・カウント数信号Ｓ３０７は、レジスタ・インデックス指定信号発生器３１０へ入力される。ここへは、動き補償モード信号Ｓ５６、プレディクション・タイプ信号Ｓ９１、ピクチャ構造信号Ｓ２０１が入力されている。
【０１７８】
ここで、ピクチャ構造信号Ｓ２０１とプレディクション・タイプ信号Ｓ９１により、マクロブロック内での前方向差分化動きベクトル又は後方向差分化動きベクトルの伝送数（ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ）がわかり、更に動き補償モード信号Ｓ５６により、マクロブロック内で伝送されてくる全動きベクトルの伝送数がわかる。例えば、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が２であり、動き補償モード信号Ｓ５６が両方向予測モードである場合、マクロブロック内で受信される動きベクトルは、前方向差分化動きベクトル２個、後方向差分化動きベクトル２個の順番に受信されるので全差分化動きベクトルの伝送数は４個である。
【０１７９】
この情報に基づき、レジスタ・インデックス指定信号発生器３１０は、動きベクトル・カウント数信号Ｓ３０７からレジスタ・インデックス指定信号Ｓ３０８を生成して出力する。このレジスタ・インデックス指定信号Ｓ３０８によれば、例えば、上述の例において、動きベクトル・カウント数信号Ｓ３０７が、値１のときはレジスタ群３０５ではレジスタメモリＰＭＶ１が指定され、値２のときはレジスタ群３０５ではレジスタメモリＰＭＶ２が指定され、値３のときはレジスタ群３０５ではレジスタメモリＰＭＶ３が指定され、値４のときはレジスタ群３０５ではレジスタメモリＰＭＶ４が指定される。
【０１８０】
また、別の例として、”ｍｏｔｉｏｎ＿ｖｅｃｔｏｒ＿ｃｏｕｎｔ”が１個であり、動き補償モード信号Ｓ５６が後方向予測モードである場合、マクロブロック内で受信される全差分化動きベクトルの伝送数は後方向差分化動きベクトル１個であるので、動きベクトル・カウント数信号Ｓ３０７が値１のときは、レジスタ群３０５ではレジスタメモリＰＭＶ３が指定される。
【０１８１】
レジスタ群３０５は、レジスタ・インデックス指定信号Ｓ３０８を受けて、指定されたレジスタメモリに記憶されている動きベクトル信号Ｓ３０２を切換スイッチ３０３を通して出力する。
【０１８２】
この出力された動きベクトル信号Ｓ３０２は、必要に応じ、スケール変換Ｃのスケール変換器３０２において、プレディクション・タイプ信号Ｓ９１が供給される切換器３０７から出力されるスケール指示信号Ｓ３０４（スケール指示信号Ｃ）によりスケール変換された後（スケール変換された出力動きベクトル信号Ｓ３０２）、加算回路３０１に入力され、ここで現在入力された差分化動きベクトル信号Ｓ９０と加算され、かくして動きベクトル信号Ｓ５５が再構成される。この動きベクトル信号Ｓ５５が再構成動きベクトルとして端子３１７から出力される。
【０１８３】
一方、現在の再構成された動きベクトル信号Ｓ５５は、必要に応じ、スケール変換Ｄのスケール変換器３０６において、切換器３０７から出力されるスケール指示信号Ｓ３０５（スケール指示信号Ｄ）によりスケール変換された後、レジスタインデックス指定信号Ｓ３０８により指定されたレジスタ群３０５のレジスタメモリＰＭＶに、切換スイッチ３０４を通して上書きされ、新たに記憶される。
【０１８４】
なお、スケール変換器３０２とスケール変換器３０６は、フレームを参照する動きベクトルとフィールドを参照する動きベクトル同士の差分化動きベクトルを計算するときの空間的なスケール調整や、参照フィールドまでの時間的な距離が異なる動きベクトル同士の差分化ベクトルを計算するときの、時間軸的な原因に基づくスケール調整に使用されたりする。
【０１８５】
また、この図６の動きベクトル逆差分化器２０２のレジスタメモリＰＭＶのリセットは、動き補償モード信号Ｓ５６がイントラ符号化モードであるマクロブロックとスライス・スタート・フラグＳ２１１が立っているマクロブロックにおいて行われ、このとき、レジスタ群３０５の中の全てのレジスタメモリは零にリセットされる。このレジスタ群３０５のリセットの指示は、レジスタ・リセット指示器３１８により行われる。なお、このレジスタ・リセット指示器３１８には、図５の端子６８を介し図６の端子３１９を介したスライス・スタート・フラグＳ２１１と、動き補償モード信号Ｓ５６と、図５の端子６４と図６の端子３１９を介したピクチャ符号化タイプ信号Ｓ２０２と、図５の端子６３と図６の端子３１９を介したスキップ・マクロブロック・フラグＳ９５とが供給されている。
【０１８６】
以上のように動きベクトル逆差分化器２０２を構成する。
【０１８７】
次に、図５に戻って復号化器側でのスキップ・マクロブロックの取扱について説明する。
【０１８８】
この図５において、マクロブロックが受信された後、そのマクロブロックの画像上でのアドレスがマクロブロックのヘッダ情報から得られる。すなわち、逆ＶＬＣ器５２で得られたマクロブロック・アドレス信号Ｓ９６は、マクロブロック・アドレス比較器２０３に入力される。
【０１８９】
このマクロブロック・アドレス比較器２０３には、その１つ前に受信されたマクロブロックのアドレスが記憶されており、その値と入力されたマクロブロック・アドレス信号Ｓ９６とが比較される。その結果、マクロブロック・アドレスが不連続であるとき、すなわち差が２以上あるとき、スキップ・マクロブロックが存在することがわかる。この差値よりも１少ない数がスキップ・マクロブロックの個数である。そして、マクロブロック・アドレス比較器２０３はスキップ・マクロブロック・フラグＳ９５を立てる。
【０１９０】
スキップ・マクロブロック・フラグＳ９５が立つと、本実施例の動画像復号化装置は、スキップ・マクロブロックの処理に入る。先ず、逆ＶＬＣ器５２は、スキップ・マクロブロック・フラグＳ９５が立つと、符号化マクロブロック信号Ｓ５０１として零を出力する。したがって、このとき、ブロック再生差分信号Ｓ５２も零となる。
【０１９１】
また、ここで例えばピクチャ符号化タイプ信号Ｓ２０２がＰピクチャである場合、
第１に、図６のレジスタ・リセット指示器３１８は、動きベクトル逆差分化器２０２の中の全てのレジスタメモリＰＭＶを零にリセットし、
第２に、動きベクトル信号Ｓ５５として、動きベクトル逆差分化器２０２は零を出力し、
第３に、逆ＶＬＣ器５２は、動き補償モード信号Ｓ５６を前方向予測として出力し、
第４に、逆ＶＬＣ器５２は、プレディクション・タイプ信号Ｓ９１を、ピクチャ構造信号Ｓ２０１がフレーム構造である場合は、”Ｆｒａｍｅ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ”とし、またピクチャ構造信号Ｓ２０１がフィールド構造である場合は、”１６×１６  Ｆｉｅｌｄ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ”とし、またピクチャ構造信号Ｓ２０１がプログレッシブである場合は、”１６×１６  Ｆｒａｍｅ  ｂａｓｅｄ  ｐｒｅｄｉｃｔｉｏｎ”とし、
第５に、逆ＶＬＣ器５２は、フィールド動きベクトル参照パリティ信号Ｓ９２を被予測フィールド・パリティ信号Ｓ９４と等しくし、
第６に、サブ動きベクトル信号Ｓ９３として、零を出力する。
【０１９２】
また、例えばピクチャ符号化タイプ信号Ｓ２０２がＢピクチャである場合、
第１に、動きベクトル信号Ｓ５５として、動きベクトル逆差分化器２０２はレジスタメモリＰＭＶに記憶されている値を出力し、
第２に、メモリ２０４は、記憶されている直前に復号化されたマクロブロックの動き補償モード信号Ｓ５６、プレディクション・タイプ信号Ｓ９１、フィールド動きベクトル参照パリティ信号Ｓ９２サブ動きベクトル信号Ｓ９３、被予測フィールド・パリティ信号Ｓ９４を出力する。
【０１９３】
更に、動画像符号化装置側において、スキップ・マクロブロックが他の実施例によって判定された場合の動画像復号化装置の処理をまとめると以下のようになる。先ず、ピクチャ符号化タイプ信号Ｓ２０２がＰピクチャであり、ピクチャ構造信号Ｓ２０１がフィールド構造のピクチャにおいて、スキップ・マクロブロック・フラグＳ９５が立った場合、
第１に、レジスタ・リセット指示器３１８は、動きベクトル逆差分化器２０２の中の全てのレジスタメモリＰＭＶを零にリセットし、
第２に、動きベクトル逆差分化器２０２は、動き補償器５６に対して、動きベクトル信号Ｓ５５として零を出力し、
第３に、逆ＶＬＣ器５２は、動き補償器５６に対して、動き補償モード信号Ｓ５６として前方予測を指示し、
第４に、逆ＶＬＣ器５２は、動き補償器５６に対して、プレディクション・タイプ信号Ｓ９１として１６×１６のフィールド予測を指示し、
第５に、逆ＶＬＣ器５２は、動き補償器５６に対して、フィールド動きベクトル参照パリティ信号Ｓ９２として、被予測フィールド・パリティ信号Ｓ９４と同じパリティを指示する。
【０１９４】
また、ピクチャ符号化タイプ信号Ｓ２０２がＰピクチャであり、ピクチャ構造信号Ｓ２０１がフレーム構造のピクチャにおいて、スキップ・マクロブロック・フラグＳ９５が立った場合、
第１に、レジスタ・リセット指示器３１８は、動きベクトル逆差分化器２０２の中の全てのレジスタメモリＰＭＶを零にリセットし、
第２に、動きベクトル逆差分化器２０２は、動き補償器５６に対して、動きベクトル信号Ｓ５５として零を出力し、
第３に、逆ＶＬＣ器５２は、動き補償器５６に対して、動き補償モード信号Ｓ５６として前方予測を指示し、
第４に、逆ＶＬＣ器５２は、動き補償器５６に対して、プレディクション・タイプ信号Ｓ９１としてフレーム予測を指示する。
【０１９５】
また、ピクチャ符号化タイプ信号Ｓ２０２がＢピクチャであり、ピクチャ構造信号Ｓ２０１がフィールド構造のピクチャにおいて、スキップ・マクロブロック・フラグＳ９５が立った場合、
第１に、動きベクトル逆差分化器２０２は、動き補償器５６に対して、動きベクトル信号Ｓ５５としてレジスタメモリＰＭＶに記憶されている値を出力し、
第２に、メモリ２０４は、動き補償器５６に対して、記憶されている直前に復号化されたマクロブロックの動き補償モード信号Ｓ５６、フィールド動きベクトル参照パリティ信号Ｓ９２、被予測フィールド・パリティ信号Ｓ９４を出力する。
【０１９６】
第３に、逆ＶＬＣ器５２は、動き補償器５６に対して、プレディクション・タイプ信号Ｓ９１として１６×１６のフィールド予測を指示する。
【０１９７】
また、ピクチャ符号化タイプ信号Ｓ２０２がＢピクチャであり、ピクチャ構造信号Ｓ２０１がフレーム構造のピクチャにおいて、スキップ・マクロブロック・フラグＳ９５が立った場合、
第１に、動きベクトル逆差分化器２０２は、動き補償器５６に対して、動きベクトル信号Ｓ５５としてレジスタメモリＰＭＶに記憶されている値を出力し、
第２に、メモリ２０４は、動き補償器５６に対して、記憶されている直前に復号化されたマクロブロックの動き補償モード信号Ｓ５６を出力する。
【０１９８】
第３に、逆ＶＬＣ器５２は、動き補償器５６に対して、プレディクション・タイプ信号Ｓ９１としてフレーム予測を指示する。
【０１９９】
以上のようにして、スキップ・マクロブロックの処理を行う。この処理が、スキップ・マクロブロックの個数だけ繰り返される。動画像復号化装置は、得られた信号に基づいて、通常のマクロブロックと同様に復号化を行う。
【０２００】
次に、スキップ・マクロブロックでないマクロブロックが得られたとき、すなわち、端子６６を介して供給されるスキップ・マクロブロック・フラグＳ９５が“ＦＡＬＳＥ”である場合は、そのマクロブロックの動き補償モード信号Ｓ５６、プレディクション・タイプ信号Ｓ９１、フィールド動きベクトル参照パリティ信号Ｓ９２、サブ動きベクトル信号Ｓ９３、被予測フィールド・パリティ信号Ｓ９４でメモリ２０４の内容を更新する。なお、このメモリ２０４には、端子６５を介してピクチャ構造信号Ｓ２０１、ピクチャ符号化タイプ信号Ｓ２０２も供給される。
【０２０１】
以上のようにして動画像復号化装置を構成し、ビットストリームから画像を再生する。
【０２０２】
最後に本実施例の具体的な動作について説明する。
【０２０３】
図７は、先に示した従来のエンコーダ側における第１の差分化の例（図１８）を本実施例で行った場合の動作を示す。
【０２０４】
この図７において、例えば、マクロブロックＭＢ０の上部の動きベクトルが（５，１）（１）で、マクロブロックＭＢ０の下部の動きベクトルが（５，５）（２）で、マクロブロックＭＢ１の上部の動きベクトルが（５，５）（３）で、マクロブロックＭＢ１の下部の動きベクトルが（５，５）（４）で、マクロブロックＭＢ２の上部の動きベクトルが（５，５）（５）で、マクロブロックＭＢ２の下部の動きベクトルが（５，５）（６）となっている。また、上述の図２（すなわち図３）のレジスタメモリＰＭＶ１及びＰＭＶ２は、初期値として（０，０）が記憶されている。
【０２０５】
ここで、図７の例の場合、マクロブロックＭＢ０においては、上部の動きベクトル（５，１）（１）とレジスタメモリＰＭＶ１の初期値（０，０）との差分である（５，１）（１）−ＰＭＶ１＝（５，１）が得られ、この値が、マクロブロックＭＢ０の上部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ１には、動きベクトル（５，１）（１）が記憶される。また、下部の動きベクトル（５，５）（２）とレジスタメモリＰＭＶ２の初期値（０，０）との差分である（５，５）（２）−ＰＭＶ１＝（５，５）が得られ、この値がマクロブロックＭＢ０の下部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ２には、下部の動きベクトル（５，５）（２）が記憶される。また、マクロブロックＭＢ１においては、上部の動きベクトル（５，５）（３）とレジスタメモリＰＭＶ１の値（５，１）との差分である（５，５）（３）−ＰＭＶ１＝（０，４）が得られ、この値が、マクロブロックＭＢ１の上部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ１には、上部の動きベクトル（５，５）（３）が記憶される。また、マクロブロックＭＢ１の下部の動きベクトル（５，５）（４）とレジスタメモリＰＭＶ２の値（５，５）（２）との差分である（５，５）（４）−ＰＭＶ２＝（０，０）が得られ、この値が、マクロブロックＭＢ１の下部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ２には、下部の動きベクトル（５，５）（４）が記憶される。同様に、マクロブロックＭＢ２においては、上部の動きベクトル（５，５）（５）とレジスタメモリＰＭＶ１の値（５，５）（３）との差分である（５，５）（５）−ＰＭＶ１＝（０，０）が得られ、この値が、マクロブロックＭＢ２の上部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ１には、上部の動きベクトル（５，５）（５）が記憶される。また、マクロブロックＭＢ２の下部の動きベクトル（５，５）（６）とレジスタメモリＰＭＶ２の値（５，５）（４）との差分である（５，５）（６）−ＰＭＶ２＝（０，０）が得られ、この値が、マクロブロックＭＢ２の下部の差分化動きベクトルとして出力される。レジスタメモリＰＭＶ２には、下部の動きベクトル（５，５）（６）が記憶される。
【０２０６】
このように、マクロブロックＭＢ２は、伝送すべき予測誤差信号をもたず、動き補償モード等が、直前のマクロブロックと同じである。この場合、マクロブロックＭＢ２は、スキップ・マクロブロックとなる。すなわち、マクロブロックＭＢ２がスキップ・マクロブロックとなった場合、デコーダ側では、直前のマクロブロックＭＢ１から動きベクトルがコピーされるようになる。
【０２０７】
また、図８は、動画像復号化装置側での動作を示す。
【０２０８】
すなわち、図８においては、上述の図７の例における差分化動きベクトルとして、マクロブロックＭＢ０の上部の差分化動きベクトルの（５，１）（１）と、マクロブロックＭＢ０の下部の差分化動きベクトルの（５，５）（２）と、マクロブロックＭＢ１の上部の差分化動きベクトルの（０，４）（３）と、マクロブロックＭＢ１の下部の差分化動きベクトルの（０，０）（４）とが得られ、マクロブロックＭＢ２はスキップ・マクロブロックであるとする。また、上述の図６（すなわち図３）のレジスタメモリＰＭＶ１及びＰＭＶ２は初期値として（０，０）が記憶されているとする。
【０２０９】
ここで、この図８の例の場合、マクロブロックＭＢ０においては、上部の差分化動きベクトル（５，１）（１）とレジスタメモリＰＭＶ１の初期値（０，０）との加算による（５，１）（１）＋ＰＭＶ１＝（５，１）が再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１に送られるようになる。また、このマクロブロックＭＢ０においては、下部の差分化動きベクトル（５，５）（２）とレジスタメモリＰＭＶ２の初期値（０，０）との加算による（５，５）（２）＋ＰＭＶ２＝（５，５）が再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ２に送られるようになる。
【０２１０】
同様に、マクロブロックＭＢ１においては、上部の差分化動きベクトル（０，４）（３）とレジスタメモリＰＭＶ１の再構成動きベクトル（５，１）との加算による（０，４）＋ＰＭＶ１＝（５，５）が再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ１へ送られるようになる。また、このマクロブロックＭＢ１においては、下部の差分化動きベクトル（０，０）（４）とレジスタメモリＰＭＶ２の再構成動きベクトル（５，５）との加算による（０，０）（４）＋ＰＭＶ２＝（５，５）が再構成動きベクトルとして得られ、これがレジスタメモリＰＭＶ２へ送られるようになる。更に、マクロブロックＭＢ２では、スキップ・マクロブロックであるので再構成動きベクトルとして上部で（５，５）（５）が、下部で（５，５）（６）がコピーされる。
【０２１１】
すなわち、この図８の例では、マクロブロックＭＢ２が、スキップ・マクロブロックであるので、レジスタメモリＰＭＶからベクトルがコピーされ、動き補償モードも直前のマクロブロックＭＢ１からコピーされる。このように、本実施例によれば、スキップ・マクロブロックに対しても正しい再構成動きベクトルを得ることができる。
【０２１２】
以上のような特徴をもった動画像符号化装置及び動画像復号化装置を構成する。
【０２１３】
【発明の効果】
本発明に係る画像信号復号化方法及び画像信号復号化装置では、動き補償により符号化されたマクロブロックの動きベクトルを過去の動きベクトルとの差分化動きベクトルとして伝送されてきた符号化画像信号を復号する際に、スキップ・マクロブロックを検出し、ピクチャ符号化タイプがＰピクチャであり、ピクチャ構造がフィールド構造である場合は、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプを１６×１６のフィールド予測とし、フィールド動きベクトル参照パリティを被予測フィールド・パリティと同じパリティとして、過去のピクチャのマクロブロックをコピーして復号化を行う。一方、ピクチャ構造がフレーム構造である場合は、動きベクトルの逆差分化器の中の全てのメモリを零にリセットし、符号化ブロック信号を零とし、動きベクトルを零とし、動き補償モードを前方予測とし、プレディクション・タイプをフレーム予測として、過去のピクチャのマクロブロックをコピーして復号化を行う。これにより、スキップ・マクロブロックに対しても正しい再構成動きベクトルを得ることができる。また、直前に処理されたマクロブロックの動きベクトルを保持しておくために、レジスタメモリＰＭＶ以外にレジスタメモリを持つ必要としない。
【図面の簡単な説明】
【図１】本発明を適用した動画像復号化装置に対する送信側の動画像符号化装置の構成を示すブロック回路図である。
【図２】動画像符号化装置に用いられるベクトル差分化器の構成を示すブロック回路図である。
【図３】動画像符号化装置に用いられるベクトル差分化器及び動きベクトル逆差分化器を説明するためのレジスタメモリを示す図である。
【図４】動画像符号化装置に用いられるスキップ・マクロブロック判定器の構成を示すブロック回路図である。
【図５】本発明を適用した動画像復号化装置の構成を示すブロック回路図である。
【図６】本発明を適用した動画像復号化装置に用いられる動きベクトル逆差分化器の構成を示すブロック回路図である。
【図７】本発明を適用した動画像復号化装置における差分化動きベクトルの具体的な構成を説明するための図である。
【図８】本発明を適用した動画像復号化装置における差分化動きベクトルから動きベクトルを再構成する具体例を説明するための図である。
【図９】動き補償予測の原理を説明するための図である。
【図１０】マクロブロック単位での動き補償予測について説明するための図である。
【図１１】ピクチャ間での動き補償予測について説明するための図である。
【図１２】ＭＰＥＧ１における動きベクトル差分化器の構成を示すブロック回路図である。
【図１３】ＭＰＥＧ１における動きベクトル差分化器の動作例を説明するための図である。
【図１４】ＭＰＥＧ１における動きベクトル逆差分化器の構成を示すブロック回路図である。
【図１５】フレーム／フィールド適応予測を説明するための図である。
【図１６】従来の動きベクトル差分化器の構成を示すブロック回路図である。
【図１７】従来の動きベクトル逆差分化器の構成を示すブロック回路図である。
【図１８】従来の動きベクトル差分化器の問題点を説明するための図である。
【図１９】差分化動きベクトルから動きベクトルを再構成する従来の具体例を説明するための図である。
【符号の説明】
５１  バッファメモリ、５２  逆ＶＬＣ器、５３  ２次元信号化部、５４  ブロック信号復号化部、５５  加算器、５６  動き補償器、５７  フィールドメモリ群、５８  参照画像コントロール器、５９  出力画像コントロール器、２０１  復号化制御情報記憶用メモリ、２０２  動きベクトル逆差分化器、２０３  マクロブロック・アドレス比較器
【図１】
0003614159.tif 000006
【図２】
0003614159.tif 000007
【図３】
0003614159.tif 000008
【図４】
0003614159.tif 000009
【図５】
0003614159.tif 000010
【図６】
0003614159.tif 000011
【図７】
0003614159.tif 000012
【図８】
0003614159.tif 000013
【図９】
0003614159.tif 000014
【図１０】
0003614159.tif 000015
【図１１】
0003614159.tif 000016
【図１２】
0003614159.tif 000017
【図１３】
0003614159.tif 000018
【図１４】
0003614159.tif 000019
【図１５】
0003614159.tif 000020
【図１６】
0003614159.tif 000021
【図１７】
0003614159.tif 000022
【図１８】
0003614159.tif 000023
【図１９】
0003614159.tif 000024