(57)【特許請求の範囲】
【請求項１】
画像データの動き量を検出し、当該動き量を利用して上記画像データに動き補償予測符号化を行うと共に、上記動き量を検出する際に使用した検出範囲を表すコードを利用して当該動き量を符号化する画像符号化装置において、
上記画像データの１画面を所定のブロツクに分割し、所定検出範囲内で上記各ブロツクの動き量を検出する動き量検出手段と、
上記動き量検出手段によつて検出した上記動き量を１画面分集計して大きさが最大の動き量を検出し、当該最大動き量を検出し得る最小の検出範囲を求めて当該最小検出範囲を表す上記コードを出力する最適コード検出手段と、
上記動き量検出手段によつて検出した上記動き量を利用して上記画像データに動き補償予測符号化を行うと共に、上記最適コード検出手段から出力される上記コードに応じた変数を求めて上記動き量を当該変数と所定の係数による積と余りによつて表し、当該係数と余りを符号化することによつて上記動き量を符号化する符号化手段と
を具えることを特徴とする画像符号化装置。
【請求項２】
上記画像データを１画面分記憶し得る記憶容量を有し、上記画像データを順次蓄積して１画面分蓄積したら当該画像データを順次読み出して上記符号化手段に供給する第１の記憶手段と、
上記動き量検出手段によつて検出した上記動き量を１画面分記憶し得る記憶容量を有し、上記動き量を順次蓄積して１画面分蓄積したら当該動き量を順次読み出して上記符号化手段に供給する第２の記憶手段と
を具えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
画像データの動き量を検出し、当該動き量を利用して上記画像データに動き補償予測符号化を行うと共に、上記動き量を検出する際に使用した検出範囲を表すコードを利用して当該動き量を符号化する画像符号化方法において、
上記画像データの１画面を所定のブロツクに分割し、所定検出範囲内で上記各ブロツクの動き量を検出し、
検出した上記動き量を１画面分集計して大きさが最大の動き量を検出し、当該最大動き量を検出し得る最小の検出範囲を求めて当該最小検出範囲を表す上記コードを検出し、
検出した上記動き量を利用して上記画像データに動き補償予測符号化を行うと共に、検出した上記コードに応じた変数を求めて上記動き量を当該変数と所定の係数による積と余りによつて表し、当該係数と余りを符号化することによつて上記動き量を符号化する
ことを特徴とする画像符号化方法。
【請求項４】
上記画像データを順次蓄積して１画面分蓄積したら当該画像データを順次読み出すことにより上記画像データを１画面分遅らせると共に、上記動き量を順次蓄積して１画面分蓄積したら当該動き量を順次読み出すことにより上記動き量を１画面分遅らせる
ことを特徴とする請求項３に記載の画像符号化方法。
【発明の詳細な説明】
【０００１】
【目次】
以下の順序で本発明を説明する。
発明の属する技術分野
従来の技術（図４〜図８）
発明が解決しようとする課題
課題を解決するための手段
発明の実施の形態（図１〜図３）
発明の効果
【０００２】
【発明の属する技術分野】
本発明は画像符号化装置及び画像符号化方法に関し、例えば画像信号を光磁気デイスクや磁気テープなどの記録媒体に記録したり、或いは画像信号を放送局などから受信端末装置側に向けて伝送する際に適用して好適なものである。
【０００３】
【従来の技術】
従来、画像信号をデイジタル化して記録又は伝送する場合、単純にデイジタル化しただけでは画像データのデータ量が膨大になり、そのため記録媒体の記録容量や伝送路の伝送速度が膨大になつてしまう。これを回避するため、画像信号をデイジタル化して記録又は伝送する場合には、一般に画像データを符号化して圧縮することによりデータ量を減らすようになされている。その際使用される代表的な符号化方式として、動き補償フレーム間予測符号化がある。
【０００４】
この動き補償フレーム間予測符号化はフレーム間予測符号化に動き補償を適用した符号化方式である。フレーム間予測符号化とは、現フレームの各画素値と、当該現フレームとは時間的に異なる他のフレーム（以下、参照フレームと呼ぶ）から予測した予測値との差分（以下、これを予測残差と呼ぶ）を取り、当該差分を量子化することによりデータ量を減らす符号化方式である。また動き補償とは、単純に参照フレームの画素値から予測するのではなく、フレーム内の各部の動き量（以下、これを動きベクトルと呼ぶ）を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。
【０００５】
すなわち動き補償フレーム間予測符号化とは、図４に示すように、現フレームの動きベクトルｘを検出し、その動きベクトルの分だけシフトした予測値と現フレームとの予測残差を量子化することによりデータ量を減らす符号化方式である。この方式の場合には、復号時に動きベクトルの情報が必要になるため、符号化された画像データを記録又は伝送する際には、その動きベクトルも符号化されて記録又は伝送される。
因みに、動きベクトルを検出する際には、所定の大きさの検出範囲ａが指定され、その検出範囲内で動きベクトルを検出するようになされている。
【０００６】
このような動き補償フレーム間予測符号化の代表的なものとして、ＩＳＯ（International Organization for Standardization：国際標準化機構）等の機関によつて標準化されたＭＰＥＧ（Moving Picture Expert Group ）１やＭＰＥＧ２といつた符号化方式がある。これらの符号化方式は上述した動き補償フレーム間予測に加えて２次元ＤＣＴ（Discrete Cosine Transform ：離散コサイン変換）や可変長符号化を組み合わせた方式であり、一段と画像データのデータ量を削減し得るようになされたものである。因みに、ＭＰＥＧ１は主に動画像を光磁気デイスクや磁気テープに記録する際に使用される符号化方式である。またＭＰＥＧ２は主に動画像を放送又は伝送する際に使用される符号化方式であり、ＭＰＥＧ１の機能を拡張したものである。
【０００７】
このようなＭＰＥＧ１やＭＰＥＧ２では（以下、総称して単にＭＰＥＧと呼ぶ）、１フレーム画像を16×16画素のブロツク（以下、これをマクロブロツクと呼ぶ）に分割し、このブロツク単位で符号化処理を行う。またＭＰＥＧの符号化モードには、大別してイントラ符号化と非イントラ符号化の２つがある。イントラ符号化は符号化対象のフレーム画像をそのフレーム内の情報だけで符号化する、いわゆるフレーム内符号化である。また非イントラ符号化は符号化対象のフレーム画像をそのフレーム内の情報とそのフレームとは時間的に異なる他のフレームの情報との双方を使用して符号化する、いわゆるフレーム間予測符号化である。
【０００８】
またＭＰＥＧでは、図５に示すように、幾つかのフレーム画像のまとまりをグループオブピクチヤ（Group Of Picture：以下、これをＧＯＰと呼ぶ）として定義し、そのＧＯＰを基本単位として符号化処理を行うようになされている。ＧＯＰ内の各フレーム画像は、Ｉピクチヤ（Intra coded picture ）、Ｐピクチヤ（Predictive coded picture）又はＢピクチヤ（Bidirectionally predictive coded picture）のいずれかに分類され、各ピクチヤに対応した符号化処理が行われる。
例えば図５においては、ＧＯＰの先頭のフレーム画像Ｆ１をＩピクチヤとして符号化処理し、２番目のフレーム画像Ｆ２をＢピクチヤとして符号化処理し、３番目のフレーム画像Ｆ３をＰピクチヤとして符号化処理している。以下、同様に４番目以降のフレーム画像Ｆ４〜Ｆ１７についてはＢピクチヤ又はＰピクチヤとして交互に符号化処理している。
【０００９】
またこの例では、各ピクチヤに対する具体的な符号化処理としては以下のようになつている。Ｉピクチヤの場合には、フレーム内符号化を施し、そのフレーム画像内の情報だけを符号化する。またＰピクチヤの場合には、図５（Ａ）に示すように、そのフレーム画像よりも時間的に過去にあるＩピクチヤ又はＰピクチヤから予測した予測値とそのフレーム画像との予測残差を符号化する（すなわち順方向フレーム間予測符号化）。またＢピクチヤの場合には、図５（Ｂ）に示すように、そのフレーム画像よりも時間的に過去及び未来にあるフレーム画像の双方から予測した予測値とそのフレーム画像との予測残差を符号化する（すなわち双方向フレーム間予測符号化）。
因みに、時間的に過去又は未来のフレーム画像から予測値を求める場合には（すなわちフレーム間予測符号化の場合には）、動きベクトルを検出して予測値に動き補償を行う。従つてＩピクチヤやＢピクチヤの場合には、予測残差の他に動き補償に使用した動きベクトルの情報も符号化される。
【００１０】
ここで動きベクトルを検出する際には、図４に示したような所定の検出範囲ａが設定され、その検出範囲内で動きベクトルを検出する。その際、一般的には、図６に示すように、予測に際して参照するフレーム画像の距離に応じて検出範囲ａを変えるようになされている。例えば参照距離が「１」の場合（すなわち隣のフレーム画像を参照する場合）には、図６に示すような検出範囲ａ1 の中から動きベクトルを検出し、参照距離が「２」の場合（すなわち２つ隣のフレーム画像を参照する場合）には、図６に示すように、検出範囲ａ1 よりも広い検出範囲ａ2 の中から動きベクトルを検出し、参照距離が「３」の場合（すなわち３つ隣のフレーム画像を参照する場合）には、図６に示すように、検出範囲ａ2 よりも広い検出範囲ａ3 の中から動きベクトルを検出する。
【００１１】
因みに、動きベクトルはマクロブロツク単位で検出される。その際に使用される検出方法としては、例えば現フレーム側のマクロブロツク（以下、基準ブロツクと呼ぶ）を固定しておき、参照フレーム側のマクロブロツク（以下、参照ブロツクと呼ぶ）を検出範囲ａ内で移動させ、基準ブロツクと最も似通つた参照ブロツクの位置を見つけることにより、動きベクトルを検出する。
【００１２】
ところで符号化対象のフレーム画像がＰピクチヤやＢピクチヤの場合には動きベクトルの情報も符号化されるが、その際、実際には動きベクトルそのものを符号化するのではなく、上述した動きベクトルの検出範囲ａを示すエフコード（以下、ｆコードと呼ぶ）と、そのｆコードを使用して表した動きベクトルの大きさを表すパラメータ（具体的にはモーシヨンコードとモーシヨンレジデユアル）とを符号化する。
また動きベクトルを検出する際の検出範囲ａ1 〜ａ3 等（図６参照）も、実際にはｆコードによつて指定されている。例えば参照距離が「１」であればｆコード「３」が指定され、参照距離が「２」であればｆコード「４」が指定され、参照距離が「３」であればｆコード「５」が指定される。
【００１３】
ここでｆコードと実際の検出範囲との対応関係を図７に示す。この図７に示すように、検出範囲は画素数で示されている。例えばｆコード「３」が指定されている場合には、基準ブロツクの位置を中心として「−32」画素から「＋31.5」画素までの範囲で動きベクトルを検出するようになされている。因みに、検出範囲としては水平方向と垂直方向の２つのパラメータがあり、動きベクトルも水平方向と垂直方向とでそれぞれ別々に検出される。すなわちｆコード「３」が指定された場合には、基準ブロツクを中心とした水平方向の「−32」画素から「＋31.5」画素までの範囲において水平方向の動きベクトルを検出すると共に、基準ブロツクを中心とした垂直方向の「−32」画素から「＋31.5」画素までの範囲において垂直方向の動きベクトルを検出する。なお、ＭＰＥＧ１では水平及び垂直方向に対して同じｆコードを指定するようになつており、ＭＰＥＧ２では水平及び垂直方向に対して独立にｆコードを指定し得るようになつている。またｆコードとしては各ピクチヤ毎に１つのｆコードが指定されるようになつている（但し、ＭＰＥＧ２では上述したように水平及び垂直方向で独立にｆコードを指定し得るためｆコードとしては実際には２つになる）。
【００１４】
ここでこのようなＭＰＥＧの原理に基づいて形成された符号化装置の構成を図８に示す。但し、ここでは符号化処理として図５に示した参照関係で符号化処理するものとして説明する。
この図５に示すように、符号化装置１は大別して動きベクトル検出器２と符号化器３とによつて構成されている。動きベクトル検出器２は、画像データＳ１から得られる１ピクチヤ分の画像データをマクロブロツクに分割して当該マクロブロツク毎の動きベクトルを検出し、当該検出した各動きベクトルを動きベクトル情報Ｓ２として符号化器３に出力する。また動きベクトル検出器２は動きベクトルを検出する際に使用した検出範囲を示すｆコードをｆコード情報Ｓ３として符号化器３に出力する。
【００１５】
具体的に説明すると、画像データＳ１から得られた１ピクチヤ分の画像データがＰピクチヤに対応するものであれば、２つ隣のフレーム画像を参照画像とするので、動きベクトル検出器２はｆコードを「４」として決定し、それに応じた検出範囲内で水平及び垂直方向の各動きベクトルを各マクロブロツク毎に検出する（検出範囲については図７参照）。そして動きベクトル検出器２はその検出した各動きベクトルと検出に使用したｆコードを符号化器３に出力する。
また画像データＳ１から得られた１ピクチヤ分の画像データがＢピクチヤに対応するものであれば、１つ隣のフレーム画像を参照画像とするので、動きベクトル検出器２はｆコードを「３」と決定し、それに応じた検出範囲内で水平及び垂直方向の各動きベクトルを各マクロブロツク毎に検出し、当該各動きベクトルとｆコードを符号化器３に出力する。
因みに、画像データＳ１がＩピクチヤに対応するものであれば符号化処理としてフレーム内符号化を行うため、動きベクトル検出器２は動きベクトルの検出動作を行わない。
【００１６】
符号化器３は入力された画像データＳ１に対してフレーム内符号化又は動き補償フレーム間予測符号化を施して当該画像データＳ１を順次符号化する。例えば画像データＳ１がＩピクチヤに対応するものであれば、そのピクチヤ内の画像データだけを使用したフレーム内符号化を行う。また画像データＳ１がＰピクチヤに対応するものであれば、そのピクチヤ内の画像データと２つ隣のピクチヤの画像データから予測した予測値との予測残差を求め、当該予測残差を符号化する。また画像データＳ１がＢピクチヤに対応するものであれば、そのピクチヤ内の画像データと１つ隣のピクチヤの画像データから予測した予測値との予測残差を求め、当該予測残差を符号化する。但し、ＰピクチヤやＢピクチヤの場合には、動きベクトル検出器２から受けた動きベクトル情報Ｓ２を利用して予測値に対して動きベクトルに応じた動き補償を行い、その結果得た予測値との予測残差を求めて符号化を行う（すなわちＰピクチヤやＢピクチヤの場合には、動き補償フレーム間予測符号化を行う）。
【００１７】
また符号化器３は動きベクトル検出器２から得た各動きベクトルを符号化する。その際、符号化器３は動きベクトルそのものを符号化するのではなく、動きベクトル検出器２から得たｆコードと、そのｆコードを使用して表した動きベクトルの大きさを表すモーシヨンコード及びモーシヨンレジデユアルとを符号化する。
符号化器３は、このような符号化処理によつて得た各データをＭＰＥＧフオーマツトで規定される所定順序に合わせて配列し、符号化データＳ４として出力する。因みに、この符号化データＳ４は、記録装置であれば記録手段に渡され、伝送装置であれば送信手段に渡される。
【００１８】
なお、符号化データの配列は階層的構造を有し、大別するとシーケンス層、ＧＯＰ層、ピクチヤ層、スライス層、マクロブロツク層及びブロツク層に分かれている。上述したｆコードに関しては、ＭＰＥＧ１の場合にはピクチヤ層のピクチヤヘツダ領域に格納し、ＭＰＥＧ２の場合にはピクチヤ層のピクチヤコーデイングエクステンシヨン領域に格納するようになされている。またモーシヨンコードやモーシヨンレジデユアルに関してはマクロブロツク層に格納し、予測残差に関してはブロツク層に格納するようになされている。
【００１９】
【発明が解決しようとする課題】
ところで上述したような従来の符号化装置１では、参照するフレーム画像の距離によつて一義的にｆコードを決定し、そのｆコードによつて示される検出範囲で動きベクトルを検出している。このため実際には動きベクトルが小さいにも係わらず大きなｆコードで動きベクトルを検出するといつた事象が起きることがある。上述のような符号化装置１では、動きベクトルを符号化する際にｆコードとそれによつて算出されるモーシヨンコード及びモーシヨンレジデユアルとを符号化するようになつており、このような事象が生じた場合にはモーシヨンレジデユアルが大きくなつて符号化効率が劣化するといつた不都合が生じることがある。
【００２０】
本発明は以上の点を考慮してなされたもので、従来のような符号化効率の劣化を未然に回避し得る画像符号化装置及び画像符号化方法を提案しようとするものである。
【００２１】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、画像データの動き量を検出し、当該動き量を利用して画像データに動き補償予測符号化を行うと共に、動き量を検出する際に使用した検出範囲を表すコードを利用して当該動き量を符号化する画像符号化装置において、画像データの１画面を所定のブロツクに分割し、所定検出範囲内で各ブロツクの動き量を検出する動き量検出手段と、動き量検出手段によつて検出した動き量を１画面分集計して大きさが最大の動き量を検出し、当該最大動き量を検出し得る最小の検出範囲を求めて当該最小検出範囲を表すコードを出力する最適コード検出手段と、動き量検出手段によつて検出した動き量を利用して画像データに動き補償予測符号化を行うと共に、最適コード検出手段から出力されるコードに応じた変数を求め、動き量を当該変数と所定の係数による積と余りによつて表し、当該係数と余りを符号化することによつて動き量を符号化する符号化手段とを設けるようにした。
このように実際に検出された動き量を基づいて最適なコードを求めるようにしたことにより、動き量を表す際の変数を小さくし得、これによつて余りの部分を小さくし得る。このため本発明においては、従来のように余りの部分が大きくなつて符号化効率が劣化するといつたことを未然に回避することができる。
【００２２】
また本発明においては、画像データを順次蓄積して１画面分蓄積したら当該画像データを順次読み出して符号化手段に供給する第１の記憶手段と、動き量を順次蓄積して１画面分蓄積したら当該動き量を順次読み出して符号化手段に供給する第２の記憶手段とを設けるようにした。このようにして第１及び第２の記憶手段を設けるようにしたことにより、符号化手段に対する画像データと動き量の供給タイミングを１画面分遅らせてコードの供給タイミングに合わせることができる。
【００２３】
【発明の実施の形態】
以下図面について、本発明の一実施例を詳述する。
【００２４】
まず始めにＭＰＥＧ方式におけるｆコードとモーシヨンコード及びモーシヨンレジデユアルとの関係について説明する。符号化器においては、マクロブロツク単位で検出された水平及び垂直方向の各動きベクトルをｆコードを使用して表現するが、その際には、まずｆコードをｆとして、次式、
【数１】
0003724662.tif 000002
で示される変数Ｆを求める。次に各動きベクトルｘの大きさをこの変数Ｆを使用して、次式、
【数２】
0003724662.tif 000003
に示すような表現形式で表現する。すなわち動きベクトルｘを、変数Ｆと係数（ｍｃ−１）による積と余り（ｍｒ＋１）とによつて表現する。この（２）式に於けるｍｃがモーシヨンコードと呼ばれるものであり、ｍｒがモーシヨンレジデユアルと呼ばれるものである。この場合、モーシヨンコードｍｃは、図１に示すように、「−16」〜「＋16」までの整数であり、動きベクトルｘを表現する上で最適な値が選ばれる。
【００２５】
この（２）式に示すように、モーシヨンレジデユアルｍｒは、動きベクトルｘを変数Ｆによる積形式で表したときの余りに相当するものである。従つて動きベクトルｘが小さいときに大きなｆコードを使用すると（すなわち変数Ｆが大きいと）、このモーシヨンレジデユアルｍｒが大きくなるおそれがある。因みに、（２）式のような表現形式を使用すると、動きベクトルｘの大きさにも依るが、モーシヨンレジデユアルとしては最悪で「Ｆ−２」まで取り得るおそれがある。
【００２６】
ところで動きベクトルに関しては、ｆコード、モーシヨンコードｍｃ及びモーシヨンレジデユアルｍｒを可変長符号化するようになされている（但し、ｆコードについては符号化せず、ｆコードを表す所定のコードを使用する）。このためｆコードが最適でないためにモーシヨンレジデユアルｍｒが大きくなつた場合には、モーシヨンレジデユアルｍｒを可変長符号化したコード自体も大きくなり、符号化効率が劣化するといつた事象が起きる。
【００２７】
また符号化されたデータは、図２に示すように、それぞれ符号化データのビツトストリーム中の所定位置に格納される。例えばｆコードについては、ＭＰＥＧ１ではピクチヤ層のピクチヤヘツダ領域（ＰＨ）に格納され、ＭＰＥＧ２ではピクチヤ層のピクチヤコーデイングエクステンシヨン領域（ＰＣＥ）に格納される。またマクロブロツク毎に水平及び垂直方向で得られるモーシヨンコードｍｃやモーシヨンレジデユアルｍｒについては、それぞれマクロブロツク層の先頭領域（Ａ）に格納される。因みに、マクロブロツク毎に得られる予測残差を可変長符号化した画像データはマクロブロツク層中のブロツク層（Ｂ）に格納される。
因みに、ＭＰＥＧにおいては１ピクチヤ分の総ビツト量は固定ビツト量に規定されている。
【００２８】
符号化データのビツトストリームがこのような構造を有する場合に、上述したようにｆコードが最適でないためにモーシヨンレジデユアルｍｒが大きくなると、画像データを格納するブロツク層（Ｂ）の領域が狭くなり、その結果、画像データに対して割り当てる割当ビツト量が減つてしまい、画質が劣化するといつた不具合まで引き起こる。
このようにして動きベクトルの大きさに対してｆコードが最適でないと、符号化効率が劣化するだけでなく、画質まで劣化するといつた不都合が生じるおそれがある。そこで本発明においては、この点に着目し、実際の動きベクトルの大きさに対して最適なｆコードを求めることにより符号化効率を劣化させないようにすると共に、画質を劣化させないようにする。
【００２９】
以下に本発明を適用した符号化装置の具体的構成について説明する。但し、この場合にも、図５に示した参照関係で符号化処理するものとして説明する。
図８との対応部分に同一符号を付した図３において、１０は全体として本発明を適用した符号化装置を示し、バツフア１１、１２及び最適ｆコード検出器１３が追加されたことを除いて図５に示した符号化装置１とほぼ同様に構成される。
【００３０】
動きベクトル検出器２は、画像データＳ１から得られる１ピクチヤ分の画像データをマクロブロツクに分割して当該マクロブロツク毎の動きベクトルを検出し、当該検出した各動きベクトルを動きベクトル情報Ｓ２としてバツフア１２及び最適ｆコード検出器１３に出力する。例えば画像データＳ１から得られた１ピクチヤ分の画像データがＰピクチヤに対応するものであれば、２つ隣のフレーム画像を参照画像とするので、動きベクトル検出器２はｆコードを仮に「４」として決定し、その検出範囲内で水平及び垂直方向の各動きベクトルを各マクロブロツク毎に検出する（検出範囲については図７参照）。また画像データＳ１から得られた１ピクチヤ分の画像データがＢピクチヤに対応するものであれば、１つ隣のフレーム画像を参照画像とするので、動きベクトル検出器２はｆコードを仮に「３」と決定し、その検出範囲内で水平及び垂直方向の各動きベクトルを各マクロブロツク毎に検出する。
因みに、この場合には、動きベクトル検出器２は動きベクトルの検出に際して使用したｆコードは出力しない。
【００３１】
最適ｆコード検出器１３は、動きベクトル検出器２から出力される動きベクトルを１ピクチヤ分集計し、その中から水平及び垂直方向別に最大の動きベクトルを検出する。そして検出した最大動きベクトルを検出し得る最も小さい検出範囲を求めてそれを表す最適なｆコードを水平及び垂直方向別に検出し、当該検出したｆコードをｆコード情報Ｓ１０として符号化器３に出力する（但し、ＭＰＥＧ１の場合には、水平及び垂直方向別にｆコードを設定し得ないので２つのｆコードのうち大きい方を出力し、ＭＰＥＧ２の場合には、水平及び垂直方向別にｆコードを設定し得るので２つのｆコードを両方出力する）。
【００３２】
バツフア１２は１ピクチヤ分の動きベクトルを記憶し得る記憶容量を有し、動きベクトル検出器２から供給される各動きベクトルを順次記憶し、１ピクチヤ分蓄積したら順次読み出して符号化器３に出力する。これにより最適ｆコード検出器１３が最適なｆコードを検出するまでに掛かる時間分（すなわち１ピクチヤ分）だけ、符号化器３に対する動きベクトルの供給タイミングを遅らせることができ、最適ｆコード検出器１３と供給タイミングを合わせることができる。
【００３３】
一方、符号化器３に画像データＳ１を入力する信号系においてもバツフア１１が設けられている。バツフア１１は１ピクチヤ分の画像データＳ１を記憶し得る記憶容量を有し、入力された画像データＳ１を順次記憶し、１ピクチヤ分蓄積したら順次読み出して符号化器３に出力する。これにより最適ｆコード検出器１３が最適なｆコードを検出するまでに掛かる時間分（すなわち１ピクチヤ分）だけ、符号化器３に対する画像データの供給タイミングを遅らせることができ、最適ｆコード検出器１３と供給タイミングを合わせることができる。
【００３４】
符号化器３は入力された画像データＳ１に対してフレーム内符号化又は動き補償フレーム間予測符号化を施して当該画像データＳ１を符号化する。例えば画像データＳ１がＩピクチヤに対応するものであれば、そのピクチヤ内の画像データだけを使用したフレーム内符号化を行う。また画像データＳ１がＰピクチヤに対応するものであれば、そのピクチヤ内の画像データと２つ隣のピクチヤの画像データから予測した予測値との予測残差を求め、当該予測残差を符号化する。また画像データＳ１がＢピクチヤに対応するものであれば、そのピクチヤ内の画像データと１つ隣のピクチヤの画像データから予測した予測値との予測残差を求め、当該予測残差を符号化する。但し、ＰピクチヤやＢピクチヤの場合には、動きベクトル検出器２で検出した動きベクトルを利用して予測値に対して動き補償を行い、その結果得た予測値との予測残差を求めて符号化を行う（すなわちＰピクチヤやＢピクチヤの場合には、動き補償フレーム間予測符号化を行う）。
【００３５】
また符号化器３は動きベクトル検出器２から得た各動きベクトルを符号化する。その際、符号化器３は（１）及び（２）式で示される表現形式で動きベクトルを表現し、ｆコード、モーシヨンコードｍｃ及びモーシヨンレジデユアルｍｒを符号化する。但し、ｆコードは符号化せずに当該ｆコードを表すコードをそのまま使用し、モーシヨンコードｍｃ及びモーシヨンレジデユアルｍｒを可変長符号化する。
符号化器３はこのような符号化処理によつて得た各データをＭＰＥＧフオーマツトで規定される所定順序に合わせて配列し、符号化データＳ４として出力する。
【００３６】
以上の構成において、動きベクトル検出器２は参照距離に応じて仮のｆコードを決定し、そのｆコードで示される検出範囲内から動きベクトルを検出する。検出された各動きベクトルは最適ｆコード検出器１３に供給されると共に、バツフア１２に供給される。最適ｆコード検出器１３は１ピクチヤ分の動きベクトルを集計してその中から最大の動きベクトルを検出し、その最大動きベクトルを検出し得る最も小さいｆコードを検出して符号化器３に出力する。このｆコード出力タイミングに合わせてバツフア１２も一時蓄積していた動きベクトルを符号化器３に出力する。また画像データＳ１を一時蓄積していたバツフア１１も、このｆコード出力タイミングに合わせて画像データＳ１を符号化器３に出力する。
【００３７】
符号化器３は入力された画像データＳ１をピクチヤタイプに応じてフレーム内符号化又は動き補償フレーム間予測符号化する。また符号化器３は動き補償フレーム間予測符号化したときに利用した動きベクトル（すなわちバツフア１２を介して供給された動きベクトル）を符号化する。その際、符号化器３は動きベクトルを（１）及び（２）式で示した表現形式で表現し、その中のモーシヨンコードｍｃ及びモーシヨンレジデユアルを符号化する。この場合、符号化器３に対しては最適ｆコード検出器１３によつて検出した最適かつ最小のｆコードが供給されているので、（２）式に示したパラメータＦも小さくなり、余り項であるモーシヨンレジデユアルｍｒも小さくなる。従つてこの符号化装置１０の場合には、従来のようにｆコードの不適切によつて生じる符号化効率の劣化を未然に回避し得、最適な符号化効率で符号化することができる。
【００３８】
ところでモーシヨンレジデユアルｍｒは最終的に図２に示すビツトストリーム中のマクロブロツク層の先頭領域（Ａ）に格納されるが、上述したようにモーシヨンレジデユアルｍｒが小さくなれば、画像データを格納するブロツク層（Ｂ）の領域が狭くなるようなことはない。従つてこの符号化装置１０の場合には、画像データの割当ビツト量を確実に確保し得、画質の劣化を未然に回避し得る。
【００３９】
このようにして動きベクトル検出器で検出した動きベクトルの最大値を検出し、当該最大動きベクトルを検出し得る最小のｆコード（すなわち実際の動きベクトルの大きさに合つた最適なｆコード）を選択して符号化器３に供給するようにしたことにより、動きベクトルを符号化する際にモーシヨンレジデユアルｍｒを小さくして効率良く符号化することができる。
【００４０】
以上の構成によれば、実際に得られた動きベクトルの最大値を検出し、当該最大動きベクトルを検出し得る最小のｆコードを求めて符号化器３に供給する最適ｆコード検出器１３を設けるようにしたことにより、動きベクトルを符号化する際にモーシヨンレジデユアルｍｒを小さくし得、効率良く符号化することができる。
【００４１】
さらに以上の構成によれば、モーシヨンレジデユアルｍｒを小さくし得るため、画像データの割当ビツト量を確実に確保し得、従来のような画質の劣化を未然に回避し得る。
かくするにつき従来のような符号化効率の劣化を未然に回避し得る符号化装置を実現し得る。
【００４２】
なお上述の実施例においては、各ピクチヤの参照関係が図５に示した参照関係にあるものとして説明したが、本発明はこれに限らず、予測符号化時の参照関係がその他のパターンであつても良い。要は、本発明においては、参照関係については限定されるものではない。
【００４３】
また上述の実施例においては、図５に示すように、Ｐピクチヤの間にＢピクチヤが１枚存在する場合として説明したが、本発明はこれに限らず、例えばＰピクチヤの間にＢピクチヤが２枚存在する場合であつても良い。要は、本発明においては、Ｉ、Ｂ及びＰピクチヤの位置関係については限定されるものではない。
【００４４】
また上述の実施例においては、本発明をＭＰＥＧの符号化方式に適用した場合について述べたが、本発明はこれに限らず、例えばＩＴＵ（International Telecommunication Union ：国際電気通信連合）等が標準化した「H.261 」と呼ばれる符号化方式に適用するようにしても良い。要は、画像データの動き量を検出し、当該動き量を利用して画像データに動き補償予測符号化を行うと共に、当該動き量を検出する際に使用した検出範囲を表すコードを利用して動き量を符号化する画像符号化装置であれば本発明を広く適用することができる。
【００４５】
【発明の効果】
上述のように本発明によれば、検出した動き量を１画面分集計して大きさが最大の動き量を検出し、当該最大動き量を検出し得る最小の検出範囲を求めて当該最小検出範囲を表すコードを符号化手段に供給する最適コード検出手段を設けるようにしたことにより、実際に検出された動き量に応じた最適なコードを得ることができ、これによつて動き量を表す際の余りの部分を小さくし得る。従つて従来のように余りの部分が大きくなつて符号化効率が劣化するといつたことを未然に回避し得る。かくするにつき従来のような符号化効率の劣化を未然に回避し得る画像符号化装置を実現し得る。
【図面の簡単な説明】
【図１】ＭＰＥＧに於けるモーシヨンコードを示す図表である。
【図２】ＭＰＥＧに於ける符号化データのビツトストリーム構造を示す略線図である。
【図３】本発明の一実施例による符号化装置の構成を示すブロツク図である。
【図４】動き補償フレーム間予測符号化の原理の説明に供する略線図である。
【図５】ＭＰＥＧに於けるピクチヤタイプの説明に供する略線図である。
【図６】動きベクトルの検出範囲の説明に供する略線図である。
【図７】ｆコードと検出範囲の関係を示す図表である。
【図８】従来の符号化装置の構成を示すブロツク図である。
【符号の説明】
１、１０……符号化装置、２……動きベクトル検出器、３……符号化器、１１、１２……バツフア、１３……最適ｆコード検出器。
【図１】
0003724662.tif 000004
【図２】
0003724662.tif 000005
【図３】
0003724662.tif 000006
【図４】
0003724662.tif 000007
【図５】
0003724662.tif 000008
【図６】
0003724662.tif 000009
【図７】
0003724662.tif 000010
【図８】
0003724662.tif 000011