(57)【要約】【課題】本発明は、例えばＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理、復号化処理する場合に適用して、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくすることができ、種々のフォーマットに対応して画像データを符号化、復号することができるようにする。【解決手段】本発明は、ルップアップテーブル４４を形成する全てのデータのうちの一部だけを二次メモリ４３に記録してルックアップテーブル４４を形成する。【選択図】        図１
2007281763.tif 000002
【特許請求の範囲】
【請求項１】
順次画像データを符号化及び又は復号する画像処理方法において、
ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、
前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成するルックアップテーブルの作成ステップとを有し、
前記ルックアップテーブルの作成ステップは、
前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する
ことを特徴とする画像処理方法。
【請求項２】
前記一部のデータが、
使用頻度の高いデータである
ことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記ルックアップテーブルの参照ステップは、
マクロブロック単位で、前記画像データを符号化及び又は復号し、
前記ルックアップテーブルで参照困難な場合、当該マクロブロックにおける処理を中止する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記ルックアップテーブルの参照ステップにおいて前記ルックアップテーブルで参照困難な場合、参照可能なデータを前記二次記憶手段から前記一次記憶手段に格納し、前記ルックアップテーブルを更新するルックアップテーブルの更新ステップを有する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記ルックアップテーブルの参照ステップにおける前記ルックアップテーブルの参照の履歴を記録する履歴記録のステップを有し、
前記ルックアップテーブルの作成ステップは、
前記履歴記録のステップによる記録に基づいて、前記使用頻度の高いデータを検出する
ことを特徴とする請求項２に記載の画像処理方法。
【請求項６】
前記ルックアップテーブルの参照ステップにおいて前記ルックアップテーブルで参照困難な場合、参照可能なデータを前記二次記憶手段から前記一次記憶手段に格納し、前記ルックアップテーブルを更新するルックアップテーブルの更新ステップを有し、
前記ルックアップテーブルの参照ステップは、
マクロブロック単位で、前記画像データを符号化及び又は復号し、
前記ルックアップテーブルで参照困難な場合であって、処理時間に余裕がある場合、前記ルックアップテーブルの更新ステップで前記ルックアップテーブルを更新した後、前記ルックアップテーブルを参照し直して前記画像データを符号化及び又は復号し、
前記ルックアップテーブルで参照困難な場合であって、処理時間に余裕が無い場合、当該マクロブロックにおける処理を中止する
ことを特徴とする請求項１に記載の画像処理方法。
【請求項７】
前記処理時間に余裕が無い場合が、前記ルックアップテーブルの参照ステップにおける処理対象及び又は処理方法を時分割で切り換えて、複数系統の画像データを符号化及び又は復号する場合であり、
前記処理時間に余裕が有る場合が、前記処理時間に余裕が無い場合に比して、前記画像データの系統数が少ない場合である
ことを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記ルックアップテーブルの作成ステップは、
前記ルックアップテーブルの参照ステップにおける処理方法の切り換えに連動して、前記ルックアップテーブルを作成する
ことを特徴とする請求項７に記載の画像処理方法。
【請求項９】
演算処理手段による実行により、順次画像データを符号化及び又は復号する画像処理方法のプログラムにおいて、
ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、
前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを形成するルックアップテーブルの作成ステップとを有し、
前記ルックアップテーブルの作成ステップは、
前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する
ことを特徴とする画像処理方法のプログラム。
【請求項１０】
演算処理手段による実行により、順次画像データを符号化及び又は復号する画像処理方法のプログラムを記録した記録媒体において、
前記画像処理方法のプログラムは、
ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、
前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成するルックアップテーブルの作成ステップとを有し、
前記ルックアップテーブルの作成ステップは、
前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する
ことを特徴とする画像処理方法のプログラムを記録した記録媒体。
【請求項１１】
順次画像データを符号化及び又は復号する画像処理装置において、
ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照部と、
前記ルックアップテーブルに記録するデータを保持する二次記憶手段と、
前記ルックアップテーブルを形成する一次記憶手段と、
前記二次記憶手段に記録したデータを前記一次記憶手段に格納して前記ルックアップテーブルを作成する制御部とを有し、
前記制御部は、
前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＭＰＥＧ（Moving Picture Experts Group）−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理、復号化処理する場合に適用することができる。本発明は、ルックアップテーブルを形成する全てのデータのうちの一部だけを二次記憶手段に記録してルックアップテーブルを形成することにより、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくすることができ、種々のフォーマットに対応して画像データを符号化、復号することができるようにする。
【背景技術】
【０００２】
従来、動画像のエンコーダ、デコーダは、ルックアップテーブルを用いて可変長符号化処理、可変長復号処理している。このようなエンコーダ、デコーダでは、各回路ブロックの動作を切り換えると共に、ルックアップテーブルの内容を書き換え、符号化処理、復号処理のフォーマットを切り換えるものが提供されている。
【０００３】
ここで図３１は、従来のエンコーダを示すブロック図である。このエンコーダ１は、中央処理ユニット（ＣＰＵ）２の制御によって各部が動作を切り換えると共に、メモリ１３に形成されるルックアップテーブルである可変長符号化テーブル１４を書き換え、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理する。なおエンコーダ１は、符号化処理単位であるマクロブロック単位で、画像データＤ１を符号化処理してビデオストリームＤ２を出力する。
【０００４】
このエンコーダ１において、減算回路３は、予測値計算回路４から出力される予測値Ｄ３を画像データＤ１から減算して差分データＤ４を生成する。ディスクリートコサイン変換回路（ＤＣＴ）５は、減算回路３から出力される差分データＤ４をディスクリートコサイン変換処理し、係数データを出力する。量子化回路６は、この係数データを量子化して出力する。
【０００５】
逆量子化回路７は、量子化回路６の出力データを逆量子化処理し、ディスクリートコサイン変換回路５の出力データを復号する。逆ディスクリートコサイン変換回路（逆ＤＣＴ）８は、逆量子化回路７の出力データを逆ディスクリートコサイン変換処理し、減算回路３の出力データＤ４を復号する。加算回路９は、逆ディスクリートコサイン変換回路８の出力データに予測値Ｄ３を加算し、減算回路３に入力される画像データＤ１を復号する。ビデオメモリ１０は、この加算回路９から出力される画像データを格納して保持し、現フレームの画像データ、参照フレームの画像データとして予測値計算回路４に出力する。
【０００６】
予測値計算回路４は、ビデオメモリ１０に保持された画像データを用いて、予測値Ｄ３、動きベクトルＭＶ、予測モードを検出する。
【０００７】
係数予測回路１１は、ＭＰＥＧ−１又はＭＰＥＧ−２では、量子化回路６で量子化した係数データのうちのＤＣ係数（直流成分の係数）の係数データを予測符号化し、他の係数データと共に出力する。またＭＰＥＧ−４では、量子化回路６で量子化したＤＣ係数とＡＣ係数（交流成分の係数）の係数データを予測符号化して出力する。
【０００８】
可変長符号化回路１２は、メモリ１３に保持された可変長符号化テーブル１４を参照して、係数予測回路１１の出力データ、予測値計算回路４で検出された動きベクトルＭＶ、予測モード等を可変長符号化処理する。エンコーダ１は、この可変長符号化回路１２で可変長符号化処理したデータに所定のシーケンスコード等を設定してビデオストリームＤ２を出力する。
【０００９】
中央処理ユニット２は、各部の動作を切り換え制御し、このエンコーダ１で符号化処理するフォーマットを切り換える。また可変長符号化テーブル１４の二次記憶手段であるメモリ１５に記録した各フォーマットの可変長符号化テーブル１６Ａ〜１６Ｃのデータ１６ＡＡ〜１６ＡＮ、１６ＢＡ〜１６ＢＮ、１６ＣＡ〜１６ＣＮから、１種類のデータを選択してメモリ１３に格納し、エンコーダ１で符号化処理するフォーマットに対応する可変長符号化テーブル１４をメモリ１３に形成する。なお中央処理ユニット２は、符号化処理を開始すると、図示しないバッファメモリに格納される可変長符号化回路１２の出力データ量を監視して発生ビット量を監視し、量子化制御の処理を実行する。
【００１０】
図３２は、従来のデコーダを示すブロック図である。このデコーダ２１は、中央処理ユニット（ＣＰＵ）２２の制御によって各部が動作を切り換え、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を復号処理する。ここでデコーダ２１は、例えばハードディスク装置等を介して、図３１のエンコーダ等で生成されたビデオストリームＤ２が入力される。
【００１１】
このデコーダ２１において、可変長復号回路２３は、可変長符号化回路１２（図３１参照）とは逆に、メモリ２４に保持されたルックアップテーブルである可変長復号テーブル２５を参照して、ビデオストリームＤ２から係数予測回路１１の出力データ、動きベクトルＭＶ、予測モード等を復号する。係数逆予測回路２６は、係数予測回路１１とは逆に、可変長復号回路２３で復号された係数予測回路１１の出力データを処理し、量子化回路６の出力データを復号する。逆量子化回路２７は、量子化回路６とは逆に、係数逆予測回路２６の出力データを処理し、ディスクリートコサイン変換回路５の出力データを復号する。逆ディスクリートコサイン変換回路（逆ＤＣＴ）２８は、ディスクリートコサイン変換回路５とは逆に、逆量子化回路２７の出力データを処理し、減算回路３の出力データを復号する。加算回路２９は、この逆ディスクリートコサイン変換回路２８の出力データに、予測値計算回路３０から出力される予測値Ｄ３を加算し、画像データＤ１を復号する。
【００１２】
ビデオメモリ３１は、この加算回路２９から出力される画像データＤ１を格納して保持し、現フレームの画像データ、参照フレームの画像データとして予測値計算回路３０に出力する。予測値計算回路３０は、ビデオメモリ３１に保持された画像データ、可変長復号回路２３で復号された動きベクトル、予測モード等を用いて予測値Ｄ３を復号する。
【００１３】
中央処理ユニット２２は、各部の動作を切り換え制御し、このエンコーダ１で符号化処理するフォーマットを切り換える。また可変長復号テーブル２５の二次記憶手段であるメモリ３４に記録した各フォーマットの可変長復号テーブル３６Ａ〜３６Ｎのデータ３６ＡＡ〜３６ＡＮ、３６ＢＡ〜３６ＢＮ、３６ＣＡ〜３６ＣＮから１種類のデータを選択してメモリ２４に格納し、エンコーダ１で符号化処理するフォーマットに対応する可変長復号テーブル２５をメモリ２４に形成する。
【００１４】
これに対して図３３は、図３１及び図３２について上述したエンコーダ及びデコーダの機能を１台で実現する符号化復号装置の構成を示すブロック図である。この符号化復号装置８１において、図３１及び図３２について上述したエンコーダ１及びデコーダ２１と同一の構成は、対応する符号を付して示し、重複した説明は省略する。
【００１５】
この符号化復号装置８１は、エンコーダとして機能する場合には、減算回路３、ディスクリートコサイン変換回路５、量子化回路６、係数予測回路１１で画像データＤ１を順次処理する。また可変長符号化復号回路８２で、係数予測回路１１から出力される係数データに対応する可変長符号化データをメモリ８３に格納された可変長符号化テーブル１４から検索し、検索した可変長符号化データを用いてビデオストリームＤ２を出力する。また量子化回路６の出力データを逆量子化回路７、逆ディスクリートコサイン変換回路８、加算回路９で順次処理して元の画像データを復号し、この画像データをビデオメモリ１０に格納する。
【００１６】
これに対してデコーダとして機能する場合は、可変長符号化復号回路８２で、ビデオストリームＤ２の可変長符号化データをメモリ８３に格納された可変長復号テーブル２５から検索する。また検索した係数データを、係数逆予測回路２６、逆量子化回路７、逆ディスクリートコサイン変換回路８、加算回路９で順次処理して元の画像データＤ１を復号し、この画像データＤ１をビデオメモリ１０に格納すると共に出力する。
【００１７】
この符号化復号装置８１は、メモリ８３に格納する可変長符号化テーブルのデータ、可変長復号テーブルのデータを、それぞれメモリ８５に複数フォーマット分、保持する。また符号化処理、復号処理するフォーマットに応じて、このメモリ８５に保持した可変長符号化テーブルのデータ、可変長復号テーブルのデータをメモリ８３にロードして可変長符号化テーブル１４、可変長復号テーブル２５をメモリ８３に形成する。
【００１８】
この符号化復号装置８１は、符号化処理、復号処理を同時並列的に実行する場合もあり、この場合は、図示しないメモリを介して、画像データＤ１、ビデオストリームＤ２を時間軸圧縮して交互に入力すると共に、符号化処理、復号処理を時分割で切り換える。またメモリを介して、符号化処理結果のビデオストリームＤ２、復号処理結果の画像データＤ１を元の実時間に時間軸伸長して出力する。この符号化処理、復号処理を同時並列的に実行する場合、符号化復号装置８１は、可変長符号化テーブルのデータ、可変長復号テーブルのデータの双方をメモリ８３にロードし、このメモリ８３に可変長符号化テーブル１４、可変長復号テーブル２５の双方を作成する。
【００１９】
このような複数フォーマットに対応可能なエンコーダ１、デコーダ２１、符号化復号装置８１では、各フォーマットの規格で定められた全ての可変長符号化テーブル、可変長復号テーブルをメモリ１３、２４、８３に形成可能に、メモリ１３、２４、８３の容量が設定されていた。このため可変長符号化テーブル１４、可変長復号テーブル２５を形成するメモリ１３、２４、８３は、対応する複数フォーマットのうちで、最も容量の大きな可変長符号化テーブルのデータ、可変長復号テーブルのデータを格納可能に、メモリ容量が設定されていた。
【００２０】
従来、例えば特開２００４−２７４４１１号公報には、予測処理、逆予測処理に使用するメモリ容量を低減する工夫が提案されている。
【００２１】
ところで従来のエンコーダ１、デコーダ２１、符号化復号装置８１は、対応する複数フォーマットのうちで、最も容量の大きな可変長符号化テーブル、可変長復号テーブルを格納可能に、可変長符号化テーブル、可変長復号テーブルを構成するメモリ１３、２４、８３の容量を設定されていることから、このメモリ１３、２４の容量が大きくなる問題があった。また演算処理手段でこれらエンコーダ１、デコーダ２１、符号化復号装置を構成し、プログラムを書き換えて新たなフォーマットに対応可能とする場合には、可変長符号化テーブル、可変長復号テーブルを構成するメモリ１３、２４、８３の容量によって、対応可能なフォーマットが制限されてしまう問題もある。
【特許文献１】特開２００４−２７４４１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は以上の点を考慮してなされたもので、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくすることができ、種々のフォーマットに対応して画像データを符号化、復号することができる画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体及び画像処理装置を提案しようとするものである。
【課題を解決するための手段】
【００２３】
上記の課題を解決するため請求項１の発明は、順次画像データを符号化及び又は復号する画像処理方法において、ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成するルックアップテーブルの作成ステップとを有し、前記ルックアップテーブルの作成ステップは、前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する。
【００２４】
また請求項９の発明は、演算処理手段による実行により、順次画像データを符号化及び又は復号する画像処理方法のプログラムに適用して、前記画像処理方法のプログラムは、ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成するルックアップテーブルの作成ステップを有し、前記ルックアップテーブルの作成ステップは、前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する。
【００２５】
また請求項１０の発明は、演算処理手段による実行により、順次画像データを符号化及び又は復号する画像処理方法のプログラムを記録した記録媒体に適用して、ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照ステップと、前記ルックアップテーブルに記録するデータを保持する二次記憶手段から、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成するルックアップテーブルの作成ステップとを有し、前記ルックアップテーブルの作成ステップは、前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する。
【００２６】
また請求項１１の発明は、順次画像データを符号化及び又は復号する画像処理装置に適用して、ルックアップテーブルを参照して、前記画像データを符号化及び又は復号するルックアップテーブルの参照部と、前記ルックアップテーブルに記録するデータを保持する二次記憶手段と、前記ルックアップテーブルを形成する一次記憶手段と、前記二次記憶手段に記録したデータを一次記憶手段に格納して前記ルックアップテーブルを作成する制御部とを有し、前記制御部は、前記二次記憶手段に記録した１つのフォーマットのデータのうちの、一部のデータを選択的に前記一次記憶手段に格納して前記ルックアップテーブルを作成する。
【００２７】
請求項１、請求項９、請求項１０又は請求項１１の構成によれば、全てのデータを一次記憶手段に格納する場合に比して、一次記憶手段の容量を小さくすることができ、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくすることができる。また小容量の一次記憶手段で種々のフォーマットに対応することができる。
【発明の効果】
【００２８】
本発明によれば、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくすることができ、種々のフォーマットに対応することができる。
【発明を実施するための最良の形態】
【００２９】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【実施例１】
【００３０】
（１）実施例１の構成
図１は、図３１との対比により本発明の実施例１のエンコーダを示すブロック図である。このエンコーダ４１は、中央処理ユニット（ＣＰＵ）４２の制御によって各部が動作を切り換えると共に、メモリ４３に形成される可変長符号化テーブル４４を書き換え、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理する。なおエンコーダ４１は、この中央処理ユニット４２の処理手順、可変長符号化回路４６、可変長符号化テーブル４４、この可変長符号化テーブル４４を形成するメモリ４３の構成が異なる点を除いて、図３１について上述したエンコーダ１と同一に構成される。従って図１において、図３１と同一の構成は対応する符号を付して示し、重複した説明は省略する。
【００３１】
ここで可変長符号化テーブル４４を形成するメモリ４３は、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４の少なくとも一部の規格については、規格で定められた全ての可変長符号化テーブルを記録困難な、従来に比して小容量により形成される。
【００３２】
中央処理ユニット４２は、各フォーマットで符号化処理を開始する際に、メモリ１５に格納された可変長符号化テーブル１６Ａ、１６Ｂ、１６Ｃのデータ１６ＡＡ〜１６ＡＮ、１６ＢＡ〜１６ＢＮ、１６ＣＡ〜１６ＣＮの中から、対応するフォーマットの可変長符号化テーブルのデータを選択的にメモリ４３に格納し、メモリ４３で可変長符号化テーブル４４を形成する。なおここでこの可変長符号化テーブル１６Ａ、１６Ｂ、１６Ｃは、それぞれＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４の可変長符号化テーブルである。なおこの実施例において、この中央処理ユニット４２の一連の処理を実行するプログラムは、このエンコーダ４１に事前に格納されて提供されるものの、例えば光ディスク、磁気テープ等の記録媒体に記録して提供するようにしてもよく、またインターネット等のネットワークを介してダウンロードにより提供するようにしてもよい。
【００３３】
このとき中央処理ユニット４２は、係数データ以外の可変長符号化処理に使用する可変長符号化テーブルについては、規格に定められた全ての可変長符号化テーブルをメモリ４３に形成するように、メモリ１５に格納された可変長符号化テーブル１６Ａ〜１６Ｎのデータをメモリ４３に格納する。
【００３４】
これに対して量子化回路６で量子化した係数データの可変長符号化処理に使用する可変長符号化テーブルについては、図２に示すように、規格で定められた全ての可変長符号化テーブルのうちの一部のテーブルのみ選択的にメモリ４３に形成するように、メモリ１５に格納された可変長符号化テーブルのデータを選択的にメモリ４３に格納する。
【００３５】
なおこの図２において、符号４７は、例えばメモリ制御回路であり、中央処理ユニット４２の制御によりメモリ４３のアドレス制御を切り換え、順次、メモリ１５から出力される可変長符号化テーブルのデータを選択的にメモリ４３に記録する構成である。なおＭＰＥＧ−１、ＭＰＥＧ−２の可変長符号化テーブル１６Ａ、１６Ｂのデータ１６ＡＡ〜１６ＡＮ、１６ＢＡ〜１６ＢＮは、値０で無い係数データに続く値０の連続数であるラン（ＲＵＮ（１……Ｎ））と、この値０の係数データに続く値０で無い係数データの値であるレベル（ＬＥＶＥＬ（１……Ｎ））との組み合わせ毎に、可変長符号化データ（ＶＬＣ（１……Ｎ））が割り当てられて形成される。またＭＰＥＧ−４の可変長符号化テーブル１６Ｃのデータ１６ＣＡ〜１６ＣＮは、同様に、ラン（ＲＵＮ（１……Ｍ））及びレベル（ＬＥＶＥＬ（１……Ｍ））と、このレベル（ＬＥＶＥＬ（１……Ｍ））で特定される値０で無い係数データが係数データ列の末尾か否かを示す識別データ（ＬＡＳＴ（１……Ｍ））毎に、可変長符号化データ（ＶＬＣ（１……Ｍ））が割り当てられて形成される。従ってこの図２に示す例では、ＭＰＥＧ−２の（ＲＵＮ（１）／ＬＥＶＥＬ（１）／ＶＬＣ（１））〜（ＲＵＮ（３）／ＬＥＶＥＬ（３）／ＶＬＣ（３））のデータ１６ＢＡ〜１６ＢＣのうちでは、（ＲＵＮ（１）／ＬＥＶＥＬ（１）／ＶＬＣ（１））、（ＲＵＮ（２）／ＬＥＶＥＬ（２）／ＶＬＣ（２））のデータ１６ＡＡ、１６ＡＢが選択的にメモリ４３に格納されていることになる。
【００３６】
中央処理ユニット４２は、このようにして可変長符号化テーブル４４を形成すると、符号化処理の開始を各部に指示し、可変長符号化回路４６から出力される出力データの発生符号量に基づいて、例えばＴＭ５（Test mode ５）により符号化制御の処理を実行する。この制御において、中央処理ユニット４２は、当該マクロブロックの目標発生符号量に対して、実際の発生符号量が大きくなった場合、処理の強制終了を可変長符号化回路４６に指示する。また可変長符号化回路４６から後述する不一致情報が通知された場合も、処理の強制終了を可変長符号化回路４６に指示する。
【００３７】
可変長符号化回路４６は、可変長符号化テーブル４４を参照して、係数予測回路１１の出力データ、動きベクトルＭＶ、予測モード等のデータを順次可変長符号化処理する。この可変長符号化処理において、可変長符号化回路４６は、係数予測回路１１の出力データを可変長符号化テーブル４４で参照できない場合、中央処理ユニット４２に不一致情報を通知する。
【００３８】
また可変長符号化回路４６は、中央処理ユニット４２から処理の強制終了が指示されると、ブロックの終了符号（ＥＯＢ：End Of Block）を設定してマクロブロックを構成するブロックの可変長符号化処理を終了する。ここでこの実施例では、係数予測回路１１の出力データを可変長符号化テーブル４４で参照できない場合には中央処理ユニット４２に不一致情報を通知し、中央処理ユニット４２では上述したように不一致情報が通知されると処理の強制終了を指示することから、規格で定められた全ての可変長符号化テーブルのうちの一部のテーブルのみ選択的にメモリ４３に形成するようにして、この一部のテーブルで参照できない係数データが発生した場合には、当該ブロックの符号化処理を中止する。なおここでこのマクロブロックを構成するブロックは、ＭＰＥＧ−２では１つのマクロブロックを水平方向及び垂直方向に分割したブロックであり、ＭＰＥＧ−４ではサブマクロブロックである。
【００３９】
図３及び図４は、この可変長符号化テーブル４４の処理に係るこのエンコーダ４１の処理手順を示すフローチャートである。エンコーダ４１は、ユーザーによりフォーマットが指示されて符号化処理の開始が指示されると、この処理手順を開始してステップＳＰ１からステップＳＰ２に移る。ここでエンコーダ４１は、中央処理ユニット４２において、ユーザーにより指示されたフォーマットの可変長符号化テーブル１６Ａ〜１６Ｃのデータ１６ＡＡ〜１６ＣＮから、メモリ４３にダウンロードするデータが選択される。ここでこの実施例において、中央処理ユニット４２は、メモリ４３にダウンロードするデータとして、使用頻度の高いデータを選択する。ここでＭＰＥＧでは、発生頻度の高い可変長符号化データ程、可変長符号化データのデータ長が短くなるように設定されていることから、中央処理ユニット４２は、可変長符号化データのデータ長が短いデータから、順次、メモリ４３の容量の分だけ、メモリ４３にダウンロードするデータを選択する。
【００４０】
続いてこのエンコーダ４１は、ステップＳＰ３に移り、ステップＳＰ２で中央処理ユニット４２が選択したデータをメモリ４３にダウンロードし、メモリ４３に可変長符号化テーブル４４を形成する。続いてエンコーダ４１は、ステップＳＰ４に移り、中央処理ユニット４２から各部に動作の開始を指示し、可変長符号化処理を開始する。
【００４１】
この処理の開始によって、エンコーダ４１は、順次画像データＤ１を入力して係数データを生成する。また続いてステップＳＰ５に移り、可変長符号化回路４６において、係数予測回路１１から出力される係数データで可変長符号化テーブルを参照し、ここで係数データに対応する可変長符号化データを可変長符号化テーブルで検索できた場合、ステップＳＰ６に移る。
【００４２】
このステップＳＰ６において、エンコーダ４１は、中央処理ユニット４２で可変長符号化処理を強制終了するか否か判断する。ここで中央処理ユニット４２は、当該ブロックの目標発生符号量に対して、実際の発生符号量が大きくなった場合等に、処理を強制終了すると判断する。
【００４３】
このステップＳＰ６で、中央処理ユニット４２が強制終了しないと判断した場合、エンコーダ４１は、ステップＳＰ６からステップＳＰ７に移り、ステップＳＰ５で可変長符号化テーブル４４を参照して得られた可変長符号化データを可変長符号化回路４６から出力し、係数データを可変長符号化処理する。また続くステップＳＰ８で、マクロブロックを構成するブロックの最終の係数データか否か判断し、ここで最終の係数データで無い場合、ステップＳＰ５に戻り、続く係数データを処理する。
【００４４】
これに対して最終の係数データの場合、エンコーダ４１は、ステップＳＰ８からステップＳＰ９に移り、終了符号（ＥＯＢ）を設定する。また続くステップＳＰ１０において、符号化処理の終了が指示されたか否か判断し、ここで否定結果が得られると、続くステップＳＰ１１において、処理対象を続くブロックに切り換えた後、ステップＳＰ５に戻る。これに対して符号化処理の終了が指示されている場合には、ステップＳＰ１０からステップＳＰ１２に移って、この処理手順を終了する。
【００４５】
これに対して可変長符号化テーブルから係数データに対応する可変長符号化データを検索できない場合、エンコーダ４１は、ステップＳＰ５で否定結果が得られ、ステップＳＰ１３に移る。ここでエンコーダ４１は、可変長符号化回路４６から中央処理ユニット４２に不一致情報が通知され、この不一致情報の通知により中央処理ユニット４２から処理の強制終了が指示される。その結果エンコーダ４１は、ステップＳＰ１３からステップＳＰ９に移り、当該ブロックの処理を強制的に終了した後、ステップＳＰ１０に移る。
【００４６】
（２）実施例の動作
以上の構成において、このエンコーダ４１において（図１）、符号化処理対象である画像データＤ１は、減算回路３で予測値Ｄ３との差分データＤ４に変換され、この差分データＤ４がディスクリートコサイン変換回路５でディスクリートコサイン変換処理されて係数データに変換される。またこの係数データが量子化回路６で量子化処理された後、係数予測回路１１で処理される。またこの係数予測回路１１の出力データが可変長符号化回路４６で可変長符号化処理され、動きベクトル、予測モード等の可変長符号化データと多重化処理されてビデオストリームＤ２として出力される。また量子化回路６の出力データが、逆量子化回路７、逆ディスクリートコサイン変換回路８、加算回路９で順次処理されて元の画像データＤ１に復号され、この復号されたデータが予測値の生成基準としてビデオメモリ１０に格納される。
【００４７】
このエンコーダ４１では、この可変長符号化回路４６における係数データの可変長符号化処理、動きベクトル、予測モード等の可変長符号化処理が、メモリ４３に形成された可変長符号化テーブル４４を参照して実行される。またユーザーによるフォーマットの選択によりこのユーザーにより指示されたフォーマットで符号化処理するように、中央処理ユニット４２の制御により各部の動作が切り換え制御され、また可変長符号化テーブル４４が書き換えられる（図２）。
【００４８】
エンコーダ４１では、この可変長符号化テーブル４４を形成するメモリ４３が従来に比して小容量で形成され、また係数データの可変長符号化テーブルについては、規格で定められた全ての可変長符号化テーブルのうちの一部のテーブルのみがメモリ４３に形成される。この実施例では、この一部のテーブルが発生頻度の高い係数データを可変長符号化処理するテーブルに設定される。
【００４９】
その結果、このエンコーダ４１では、従来に比して可変長符号化テーブルを構成するメモリの容量を小さくして、種々のフォーマットに対応することができる。
【００５０】
しかしながらこのままでは、発生頻度の低い係数データが発生した場合、規格で定められている規格で未定義の係数データが発生した場合と同様に処理することになる。因みに、ＭＰＥＧの各フォーマットでは、規格で未定義の係数データが発生した場合、エスケープコードＥＳＣを設定した後、この未定義の係数データを固定長で出力することになる。従って、発生符号量が著しく増大する恐れがある。
【００５１】
そこでエンコーダ４１では、規格で未定義の係数データをも含めて、可変長符号化テーブル４４では検索できない係数データが発生した場合、可変長符号化回路４６から中央処理ユニット４２にその旨通知され、中央処理ユニット４２から可変長符号化回路４６に当該ブロックの処理の中止が指示される。またこの処理の中止の指示によって可変長符号化回路４６で、ブロックの終了符号ＥＯＢが設定され、当該ブロックの符号化処理が終了する（図３及び図４）。
【００５２】
この可変長符号化テーブル４４では検索できない係数データが発生した場合の処理によって、このエンコーダ４１では、従来に比して可変長符号化テーブルを構成するメモリの容量を小さくして種々のフォーマットに対応できるようにして、発生符号量の著しい増大を防止することができる。なおエンコーダ４１では、このように可変長符号化テーブル４４で検索できない係数データが発生した場合に、該当するブロックの処理を打ち切ることから、単に発生頻度の低い係数データに対応するように可変長符号化テーブルを形成する代わりに、発生頻度が低く、かつ処理の打ち切りが高次の係数データとなるように、可変長符号化テーブルを形成してもよい。なおこの場合、高次の係数データにのみ対応する発生頻度の低い可変長符号化テーブルのデータを除外して、メモリ１５に格納された可変長符号化テーブルのデータをメモリ４３に格納して可変長符号化テーブルを形成すればよい。
【００５３】
（３）実施例の効果
以上の構成によれば、二次記憶手段であるメモリ１５に格納された可変長符号化テーブルの全てのデータのうち、使用頻度の高い一部分のデータを選択的にメモリ４３に格納して可変長符号化テーブルを形成することにより、従来に比して可変長符号化テーブルを構成するメモリの容量を小さくして、種々のフォーマットに対応することができる。従ってエンコーダ全体の回路規模を低減するこができ、その結果、消費電力を低減することができる。
【００５４】
またこのとき可変長符号化テーブルでは検索できない係数データが発生した場合、ブロックの処理を打ち切ることにより、発生符号量の増大を防止することができる。
【実施例２】
【００５５】
図５及び図６は、図３及び図４との対比により、本発明の実施例２のエンコーダの処理手順を示すフローチャートである。この実施例のエンコーダは、この図５及び図６の処理手順で示される中央処理ユニットの構成が異なる点を除いて、実施例１のエンコーダ４１と同一に構成される。従って以下の説明では、適宜、図１の構成を流用して説明し、重複した説明は省略する。
【００５６】
この実施例において、中央処理ユニット４２は、可変長符号化回路４６から不一致情報が通知されると、タイマを用いた時間計測により、又は図示しない可変長符号化回路４６の出力データＤ２を一時格納して出力するバッファメモリの空き容量の監視により、可変長符号化回路４６から可変長符号化データを出力する時間的な余裕の有無を判定する。また時間的な余裕が無い場合には、実施例１と同様に、直ちに当該ブロックの処理を中止する。これに対して時間的な余裕が有る場合には、対応する可変長符号化テーブルのデータをメモリ１５からロードしてメモリ４３に格納した可変長符号化テーブルのデータを部分的に書き換え、この不一致情報を出力する原因となった係数データを可変長符号化回路４６で可変長符号化できるようにする。
【００５７】
すなわちこの図５及び図６の処理において、この実施例のエンコーダは、この処理手順を開始するとステップＳＰ２１からステップＳＰ２２に移り、中央処理ユニット４２でメモリ４３にダウンロードする可変長符号化テーブルのデータを選択する。なおこの選択は、実施例１と同一に、使用頻度の高い順に実行される。また続いてこのエンコーダ４１は、ステップＳＰ２３に移り、中央処理ユニット４２によってステップＳＰ２２で選択したデータをメモリ４３にダウンロードし、メモリ４３に可変長符号化テーブル４４を形成する。続いてエンコーダ４１は、ステップＳＰ２４に移り、中央処理ユニット４２から各部に動作の開始を指示し、可変長符号化処理を開始する。
【００５８】
また続いてステップＳＰ２５に移り、可変長符号化回路４６において、係数予測回路１１から出力される係数データで可変長符号化テーブルを参照し、ここで対応する可変長符号化データを検索できた場合、ステップＳＰ２６に移る。
【００５９】
このステップＳＰ２６において、エンコーダは、中央処理ユニット４２で可変長符号化処理を強制終了するか否か判断し、中央処理ユニット４２が強制終了しないと判断した場合、ステップＳＰ２６からステップＳＰ２７に移り、ステップＳＰ２５で可変長符号化テーブル４４を参照して得られた可変長符号化データを可変長符号化回路４６から出力し、係数データを可変長符号化処理する。また続くステップＳＰ２８で、ブロックの最終の係数データか否か判断し、ここで最終の係数データで無い場合、ステップＳＰ２５に戻り、続く係数データを処理する。
【００６０】
これに対して最終の係数データの場合、ステップＳＰ２８からステップＳＰ２９に移り、ブロックの終了符号（ＥＯＢ）を設定する。また続くステップＳＰ３０において、符号化処理の終了が指示されたか否か判断し、ここで否定結果が得られると、続くステップＳＰ３１において、処理対象を続くブロックに切り換えた後、ステップＳＰ２５に戻る。これに対して中央処理ユニット４２から符号化処理の終了が指示されている場合には、ステップＳＰ３０からステップＳＰ３２に移って、この処理手順を終了する。
【００６１】
これに対して係数データに対応する可変長符号化データを可変長符号化テーブル４４で検索できない場合、エンコーダは、ステップＳＰ２５で否定結果が得られ、可変長符号化回路４６から中央処理ユニット４２に不一致情報が通知される。続いてエンコーダは、ステップＳＰ３３において、中央処理ユニット４２で可変長符号化データを出力する時間的な余裕の有無を判定する。また時間的な余裕が無い場合、エンコーダは、ステップＳＰ３３からステップＳＰ２９に移り、実施例１と同様に、直ちに当該ブロックの処理を中止する。
【００６２】
これに対して時間的な余裕が有る場合、エンコーダは、ステップＳＰ３３からステップＳＰ３４に移り、対応する可変長符号化テーブルのデータをメモリ１５からダウンロードしてメモリ４３に格納した可変長符号化テーブルのデータ１６ＡＡ〜１６ＣＮを部分的に書き換える。また続いてステップＳＰ２７に移り、この書き換えた可変長符号化テーブル４４を用いて係数データを符号化処理する。なおこのダウンロードの処理では、メモリ４３に内容をそっくり書き換えるようにして、メモリ４３に形成した可変長符号化テーブル４４を更新するようにしてもよい。
【００６３】
この実施例によれば、二次記憶手段であるメモリ１５に格納された可変長符号化テーブルのデータを部分的に使用して可変長符号化テーブルを形成するようにして、この可変長符号化テーブルで検索できない係数データが発生した場合には、対応する可変長符号化データを改めてダウンロードして符号化処理することにより、従来に比して可変長符号化テーブルを構成するメモリの容量を小さくして、種々のフォーマットに対応して画像データを符号化するようにして、確実に画像データを符号化処理することができる。
【００６４】
またこのようなダウンロードを時間的な余裕のある場合にのみ実行し、時間的に余裕が無い場合には、当該ブロックの処理を打ち切ることにより、処理の打ち切りを極力少なくして時間遅れすることなく画像データを符号化処理することができる。
【実施例３】
【００６５】
図７は、図４との対比により、本発明の実施例３のエンコーダを示すブロック図である。このエンコーダ５１は、可変長符号化テーブル４４の使用履歴をメモリ５３に記録し、このメモリ５３の記録に従って可変長符号化テーブル４４を更新する。このエンコーダ５１は、このメモリ５３に関する構成が異なる点を除いて、実施例２のエンコーダと同一に構成される。従ってこの図７において、図１のエンコーダ１と同一の構成は対応する符号を付して示し、重複した説明は省略する。なお図８は、図２との対比により実施例３のエンコーダの主要な構成を示すブロック図である。
【００６６】
ここでメモリ５３は、図９に示すように、係数予測回路１１の出力データに対応する可変長符号化テーブル４４のデータ毎に、使用の履歴を保持して可変長符号化テーブル４４の使用履歴を記録する。より具体的に、メモリ５３は、係数データに対応する可変長符号化テーブル４４の各データのアドレスが、使用フラグと共に記録されてこの使用履歴が記録される。ここでこのアドレスは、メモリ１５に格納された可変長符号化テーブルのデータにそれぞれに割り振られて、これらのデータを識別する情報である。また使用フラグは、対応するデータの使用、未使用を示すフラグである。メモリ５３は、メモリ４３にこの可変長符号化テーブルのデータを格納する際に、未使用に設定された使用フラグと、対応するアドレスとが中央処理ユニット５２により記録される。
【００６７】
可変長符号化回路５６は、実施例１について上述したと同様に、可変長符号化テーブル４４を参照して、係数予測回路１１の出力データ、動きベクトル、予測モード等のデータを順次可変長符号化処理する。また係数予測回路１１の出力データで可変長符号化テーブル４４を参照できない場合、中央処理ユニット５２に不一致情報を通知し、この通知によって中央処理ユニット５２から処理の強制終了が指示されると、当該ブロックの可変長符号化処理を終了する。
【００６８】
さらに可変長符号化回路５６は、可変長符号化テーブル４４に記録されたデータを係数データの符号化処理に使用すると、メモリ５３に記録した対応するアドレスの使用フラグを未使用から使用に切り換える。
【００６９】
中央処理ユニット５２は、実施例１について上述したと同様にして符号化処理を開始すると、メモリ１５に記録された可変長符号化テーブルのデータからメモリ４３にダウンロードするデータを選択する。またこの選択したデータをメモリ４３にダウンロードして可変長符号化テーブル４４を形成する。また可変長符号化回路５６から不一致情報が通知されると、処理の強制終了を指示する。
【００７０】
また符号化処理の終了が指示されると、各部に動作の終了を指示し、このときメモリ５３に格納した使用履歴の情報を取得する。中央処理ユニット５２は、この使用履歴の情報を、メモリ１５に格納した可変長符号化テーブルのデータ１６ＡＡ〜１６ＣＮ毎に集計し、集計結果を記録して保持する。
【００７１】
中央処理ユニット５２は、可変長符号化処理の開始時、この記録して保持した集計結果に基づいて、図１０に示すように、メモリ１５に格納した可変長符号化テーブルのデータから、使用頻度の高いデータを選択的にメモリ４３に格納して可変長符号化テーブル４４を形成する。なおここで図１０においては、横方向の長さによってデータ長を表す横棒によって、可変長符号化テーブルを形成する各データ１６ＡＡ〜１６ＡＮ（１６ＢＡ〜１６ＢＮ、１６ＣＡ〜１６ＣＮ）を示す。
【００７２】
この実施例によれば、二次記憶手段であるメモリ１５に格納された可変長符号化テーブルのデータを部分的に使用して可変長符号化テーブルを形成するようにして、使用履歴に基づいて、この可変長符号化テーブルを形成するデータを選択することにより、処理の打ち切りを極力少なくして、実施例１と同様の効果を得ることができる。
【実施例４】
【００７３】
図１１は、図９との対比により本発明の実施例４のエンコーダにおける使用履歴の記録を示す略線図である。この実施例では、使用フラグに代えて、使用回数が記録されて使用履歴がメモリ５３に記録される。なおこの実施例のエンコーダは、この使用履歴の記録に関する構成が異なる点を除いて、実施例３のエンコーダ５１と同一に構成される。
【００７４】
この実施例のように使用フラグに代えて、使用回数を記録して使用履歴を記録するようにしても、実施例３と同一の効果を得ることができる。
【実施例５】
【００７５】
図１２は、図３２との対比により本発明の実施例５のデコーダを示すブロック図である。このデコーダ６１は、中央処理ユニット（ＣＰＵ）６２の制御によって各部が動作を切り換えると共に、メモリ６４に形成される可変長復号テーブル６５を書き換え、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を復号する。なおデコーダ６１は、この中央処理ユニット６２の処理手順、可変長復号回路６３、可変長復号テーブル６５、この可変長復号テーブル６５を形成するメモリ６４の構成が異なる点を除いて、図３２について上述したデコーダ２１と同一に構成される。従って図１２において、図３１と同一の構成は対応する符号を付して示し、重複した説明は省略する。
【００７６】
ここで可変長復号テーブル６５を形成するメモリ６４は、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４の少なくとも一部の規格については、規格で定められた全ての可変長復号テーブルを記録困難な、従来に比して小容量により形成される。
【００７７】
中央処理ユニット６２は、各フォーマットで復号化処理を開始する際に、メモリ３４に格納された可変長復号テーブル３６Ａ、３６Ｂ、３６Ｃのデータ３６ＡＡ〜３６ＡＮ、３６ＢＡ〜３６ＢＮ、３６ＣＡ〜３６ＣＮの中から、対応するフォーマットの可変長復号テーブルのデータを選択的にメモリ６４に格納し、メモリ６４に可変長復号テーブル６５を形成する。なおここでこの可変長復号テーブル３６Ａ、３６Ｂ、３６Ｃは、それぞれＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４の可変長復号テーブルである。
【００７８】
このとき中央処理ユニット６２は、係数データ以外の可変長復号化処理に使用する可変長復号テーブルについては、規格に定められた全ての可変長復号テーブルをメモリ６４に形成するように、メモリ３４に格納された可変長復号テーブル３６Ａ〜３６Ｃのデータをメモリ６４に格納する。
【００７９】
これに対して係数データの可変長復号処理に使用する可変長復号テーブルについては、図２との対比により図１３に示すように、規格で定められた全ての可変長復号テーブルのうちの一部分のみ選択的にメモリ６４に形成するように、メモリ３４に格納された可変長復号テーブルのデータから使用頻度の高いデータを選択的にメモリ６４に格納する。なおこの図１３において、符号６７は、例えばメモリ制御回路であり、中央処理ユニット６２の制御によりメモリ６４のアドレス制御を切り換え、順次、メモリ３４から出力される可変長復号テーブルのデータを選択的にメモリ６４に記録する構成である。またこの可変長復号テーブルのデータは、それぞれ可変長符号化テーブルのデータに対応するように形成される。
【００８０】
中央処理ユニット６２は、このようにして可変長復号テーブル６５を形成すると、復号化処理の開始を各部に指示し、可変長復号回路６３から出力される出力データの発生ビット量を監視する。この制御において、中央処理ユニット６２は、当該ブロックの発生符号量が一定の基準値となると、処理の強制終了を可変長復号回路６３に指示する。また可変長復号回路６３から後述する不一致情報が通知された場合も、処理の強制終了を可変長復号回路６３に指示する。
【００８１】
可変長復号回路６３は、可変長復号テーブル６５を参照して、係数データ、動きベクトル、予測モード等のデータを順次可変長復号処理する。この可変長復号処理において、可変長復号回路６３は、係数データを可変長復号テーブル６５で参照できない場合、中央処理ユニット６２に不一致情報を通知する。
【００８２】
また可変長復号回路６３は、中央処理ユニット６２から処理の強制終了が指示されると、当該ブロックの残りの係数データについては、値０に設定して当該ブロックにおける可変長復号処理を終了する。ここでこの実施例では、係数データを可変長復号テーブル６５で参照できない場合には中央処理ユニット６２に不一致情報を通知し、中央処理ユニット６２では上述したように不一致情報が通知されると処理の強制終了を指示することから、規格で定められた全ての可変長復号テーブルのうちの一部のテーブルのみ選択的にメモリ６４に形成するようにして、この一部のテーブルで参照できない係数データが発生した場合には、当該ブロックの復号処理を中止する。
【００８３】
図１４及び図１５は、この可変長復号テーブル６５の処理に係るこのデコーダ６１の処理手順を示すフローチャートである。デコーダ６１は、ユーザーによりデコードが指示されると、この処理手順を開始してステップＳＰ４１からステップＳＰ４２に移る。ここでデコーダ６１は、中央処理ユニット６２において、ユーザーがデコードを指示したファイルのフォーマットを検出し、メモリ３４に格納した可変長復号テーブル３６Ａ〜３６Ｃのデータ３６ＡＡ〜３６ＣＮから、メモリ６４にダウンロードするデータを選択する。ここでこの実施例において、中央処理ユニット６２は、メモリ６４にダウンロードするデータとして、使用頻度の高いデータを選択する。ここでＭＰＥＧでは、発生頻度の高い可変長復号データ程、可変長復号データのデータ長が短くなるように設定されていることから、中央処理ユニット６２は、可変長復号データのデータ長が短いデータから、順次、メモリ６４の容量の分だけ、メモリ６４にダウンロードするデータを選択する。
【００８４】
続いてこのデコーダ６１は、ステップＳＰ４３に移り、ステップＳＰ４２で中央処理ユニット６２が選択したデータをメモリ６４にダウンロードし、メモリ６４に可変長復号テーブル６５を形成する。続いてデコーダ６１は、ステップＳＰ４４に移り、中央処理ユニット６２から各部に動作の開始を指示し、可変長復号処理を開始する。
【００８５】
この処理の開始によって、デコーダ６１は、順次ビデオストリームＤ２の可変長符号化データを入力する。また続くステップＳＰ４５で、可変長復号回路６３において、入力した可変長符号化データで可変長復号テーブル６５を参照し、ここで対応する係数データを可変長復号テーブルで検索できた場合、ステップＳＰ４６に移る。
【００８６】
このステップＳＰ４６において、デコーダ６１は、中央処理ユニット６２で可変長復号処理を強制終了するか否か判断する。ここで中央処理ユニット６２は、当該ブロックの発生符号量が一定基準値より大きくなった場合等に、処理を強制終了すると判断する。
【００８７】
このステップＳＰ４６で、中央処理ユニット６２が強制終了しないと判断した場合、デコーダ６１は、ステップＳＰ４６からステップＳＰ４７に移り、ステップＳＰ４５で可変長復号テーブル６５を参照して得られた可変長復号データを可変長復号回路６３から出力し、係数データを復号する。また続くステップＳＰ４８で、ブロックの最終の可変長符号化データか否か判断し、ここで最終の係数データで無い場合、ステップＳＰ４５に戻り、続く可変長符号化データを処理する。
【００８８】
これに対して最終の可変長符号化データの場合、デコーダ６１は、ステップＳＰ４８からステップＳＰ４９に移り、ブロックの処理を終了する。また続くステップＳＰ５０において、復号処理の終了が指示されたか否か判断し、ここで否定結果が得られると、続くステップＳＰ５１において、処理対象を続くブロックに切り換えた後、ステップＳＰ４５に戻る。これに対して復号処理の終了が指示されている場合には、ステップＳＰ５０からステップＳＰ５２に移って、この処理手順を終了する。
【００８９】
これに対して可変長復号テーブル６５から係数データに対応する可変長復号データを検索できない場合、デコーダ６１は、ステップＳＰ４５で否定結果が得られ、ステップＳＰ５３に移る。ここでデコーダ６１は、可変長復号回路６３から中央処理ユニット６２に不一致情報が通知され、この不一致情報の通知により中央処理ユニット６２から処理の強制終了が指示される。その結果デコーダ６１は、ステップＳＰ５３からステップＳＰ４９に移り、残りの係数データを全て値０に設定して当該ブロックの処理を強制的に終了した後、ステップＳＰ５０に移る。
【００９０】
以上の構成によれば、デコーダに適用して、使用頻度の高いデータを選択的にメモリ６４に格納して可変長復号テーブルを形成することにより、従来に比して可変長復号テーブルを構成するメモリの容量を小さくして、種々のフォーマットに対応することができる。
【実施例６】
【００９１】
図１６及び図１７は、図１４及び図１５との対比により、本発明の実施例６のデコーダの処理手順を示すフローチャートである。この実施例のデコーダは、この図１６及び図１７の処理手順で示される中央処理ユニットの構成が異なる点を除いて、実施例５のデコーダと同一に構成される。従って以下の説明では、適宜、図１２の構成を流用して説明し、重複した説明は省略する。
【００９２】
この実施例において、中央処理ユニット６２は、可変長復号回路６３から不一致情報が通知されると、タイマを用いた時間計測により、又はこのデコーダで復号した画像データを一時格納して出力するバッファメモリの空き容量の監視により、可変長復号回路６３から係数データを出力する時間的な余裕の有無を判定する。また時間的な余裕が無い場合には、実施例５と同様に、直ちに当該ブロックの処理の中止を指示する。これに対して時間的な余裕が有る場合には、対応する可変長復号テーブルのデータをメモリ３４からロードし、メモリ６４に格納した可変長復号テーブルのデータを部分的に書き換え、この不一致情報を出力する原因となった可変長符号化データを可変長復号回路６３で復号できるようにする。
【００９３】
すなわちこの図１６及び図１７の処理において、この実施例のデコーダは、この処理手順を開始するとステップＳＰ６１からステップＳＰ６２に移り、中央処理ユニット６２において、メモリ６４にダウンロードする可変長復号テーブルのデータを選択する。なおこのデータの選択は、実施例５と同一に、使用頻度の高い順に実行される。また続いてこのデコーダは、ステップＳＰ６３に移り、中央処理ユニット６２によってステップＳＰ６２で選択したデータをメモリ６４にダウンロードし、メモリ６４に可変長復号テーブル６５を形成する。続いてデコーダは、ステップＳＰ６４に移り、中央処理ユニット６２から各部に動作の開始を指示し、可変長復号化処理を開始する。
【００９４】
また続いてステップＳＰ６５に移り、可変長復号回路６３において、順次入力されるビデオストリームＤ２の可変長符号化データで可変長復号テーブルを参照し、ここで対応する係数データを検索できた場合、ステップＳＰ６６に移る。
【００９５】
このステップＳＰ６６において、デコーダは、中央処理ユニット６２で可変長符号化処理を強制終了するか否か判断し、中央処理ユニット６２が強制終了しないと判断した場合、ステップＳＰ６６からステップＳＰ６７に移り、ステップＳＰ６５で可変長復号テーブルを参照して得られた係数データを可変長復号回路６３から出力する。また続くステップＳＰ６８で、続くデータが終了符号か否か判断してブロックの最終の可変長符号化データか否か判断し、ここで最終の可変長符号化データで無い場合、ステップＳＰ６５に戻り、続く可変長符号化データを処理する。
【００９６】
これに対して最終の可変長符号化データの場合、ステップＳＰ６８からステップＳＰ６９に移り、ブロックの復号処理を終了する。また続くステップＳＰ７０において、復号化処理の終了が指示されたか否か判断し、ここで否定結果が得られると、続くステップＳＰ７１において、処理対象を続くブロックに切り換えた後、ステップＳＰ６５に戻る。これに対して中央処理ユニット６２から復号化処理の終了が指示されている場合には、ステップＳＰ７０からステップＳＰ７２に移って、この処理手順を終了する。
【００９７】
これに対して可変長符号化データを可変長復号テーブル６５で検索できない場合、デコーダは、ステップＳＰ６５で否定結果が得られ、可変長復号回路６３から中央処理ユニット６２に不一致情報が通知される。続いてデコーダは、ステップＳＰ７３において、中央処理ユニット６２で係数データを出力する時間的な余裕の有無を判定する。また時間的な余裕が無い場合、デコーダは、ステップＳＰ７３からステップＳＰ６９に移り、実施例５と同様に、直ちに当該ブロックの処理を中止する。
【００９８】
これに対して時間的な余裕が有る場合、デコーダは、ステップＳＰ７３からステップＳＰ７４に移り、対応する可変長復号テーブルのデータをメモリ３４からダウンロードしてメモリ６４に格納した可変長復号テーブルのデータを部分的に書き換える。また続いてステップＳＰ６７に移り、この書き換えた可変長復号テーブル６５を用いて係数データを復号する。なおこのダウンロードの処理では、メモリ６４に内容をそっくり書き換えるようにして、メモリ６４に形成した可変長復号テーブル６５を更新するようにしてもよい。
【００９９】
この実施例によれば、本発明をデコーダに適用して、可変長復号テーブルで検索できない場合には、対応する可変長復号テーブルのデータを改めてダウンロードして復号処理することにより、確実に画像データを復号することができるようにして、実施例５と同様の効果を得ることができる。
【０１００】
またこのようなダウンロードを時間的な余裕のある場合にのみ実行し、時間的に余裕が無い場合には、当該ブロックの処理を打ち切ることにより、処理の打ち切りを極力少なくして時間遅れすることなく画像データを復号することができる。
【実施例７】
【０１０１】
図１８は、図１２との対比により、本発明の実施例７のデコーダを示すブロック図である。このデコーダ７１は、可変長復号テーブル６５の使用履歴をメモリ７３に記録し、このメモリ７３の記録に従って可変長復号テーブル６５を更新する。このデコーダ７１は、このメモリ７３に関する構成が異なる点を除いて、実施例５のデコーダと同一に構成される。従ってこの図１８において、図１２のデコーダ６１と同一の構成は対応する符号を付して示し、重複した説明は省略する。なお図１９は、図２との対比により実施例７のデコーダの主要な構成を示すブロック図である。
【０１０２】
ここでメモリ７３は、図２０に示すように、可変長復号テーブル６５のデータ毎に、使用の履歴を保持して可変長復号テーブル６５の使用履歴を記録する。より具体的に、メモリ７３は、可変長復号テーブル６５の各データのアドレスが、使用フラグと共に記録されてこの使用履歴が記録される。ここでこのアドレスは、メモリ３４に保持された可変長復号テーブルのデータにそれぞれに割り振られて、これらのデータを識別する情報である。また使用フラグは、対応するデータの使用、未使用を示すフラグである。メモリ７３は、この可変長復号テーブルのデータを格納する際に、未使用に設定された使用フラグと、対応するアドレスとが中央処理ユニット７２により記録される。なお図９との対比により図１１について上述したように、使用、未使用を示すフラグに代えて、使用回数を記録するようにしてもよい。
【０１０３】
可変長復号回路６３は、実施例５について上述したと同様に、可変長復号テーブル６５を参照して、係数予測回路１１の出力データ、動きベクトル、予測モード等のデータを順次復号する。また可変長復号テーブル６５を参照できない場合、中央処理ユニット７２に不一致情報を通知し、この通知によって中央処理ユニット７２から処理の強制終了が指示されると、当該ブロックの可変長復号処理を終了する。
【０１０４】
さらに可変長復号回路６３は、可変長復号テーブル６５に記録されたデータを係数データの復号に使用すると、メモリ７３に記録した対応するアドレスの使用フラグを未使用から使用に切り換える。
【０１０５】
中央処理ユニット７２は、実施例５について上述したと同様にして復号処理を開始すると、メモリ３４に記録された可変長復号テーブルのデータからメモリ６４にダウンロードするデータを選択する。またこの選択したデータをメモリ６４にダウンロードして可変長復号テーブル６５を形成する。また可変長復号回路６３から不一致情報が通知されると、処理の強制終了を指示する。
【０１０６】
また復号処理の終了が指示されると、各部に動作の終了を指示し、このときメモリ７３に格納した使用履歴の情報を取得する。中央処理ユニット７２は、この使用履歴の情報を、メモリ３４に格納した可変長復号テーブルのデータ３６Ａ〜３６Ｎ毎に集計し、集計結果を記録して保持する。
【０１０７】
中央処理ユニット７２は、復号処理の開始時、この記録して保持した集計結果に基づいて、メモリ３４に格納した可変長復号テーブルのデータから、使用頻度の高いデータを選択的にメモリ６４に格納して可変長復号テーブル６５を形成する（図１０参照）。
【０１０８】
この実施例によれば、二次記憶手段であるメモリ３４に格納された可変長復号テーブルのデータを部分的に使用して可変長復号テーブルを形成するようにして、使用履歴に基づいて、この可変長復号テーブルを形成するデータを選択することにより、従来に比して可変長復号テーブルを構成するメモリの容量を小さくし、種々のフォーマットに対応して画像データを復号することができる。また処理の打ち切りを極力少なくして確実に画像データを復号することができる。
【実施例８】
【０１０９】
図２１は、図３３との対比により、本発明の実施例８の符号化復号装置を示すブロック図である。この符号化復号装置９１は、可変長符号化テーブル４４、可変長復号テーブル６５に関する構成が異なる点を除いて、図３３について上述した符号化復号装置８１、上述の実施例による各エンコーダ、デコーダと同一に構成される。従って、この図２１において、符号化復号装置８１、上述の実施例による各エンコーダ、デコーダと同一の構成は、対応する符号を付して示し、重複した説明は省略する。
【０１１０】
ここでこの符号化復号装置８１は、中央処理ユニット（ＣＰＵ）９４の制御によって各部が動作を切り換えると共に、メモリ９３の内容を更新し、ＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理、復号処理する。また符号化復号装置８１は、時分割で各部が動作を切り換え、符号化処理、復号処理を複数系統で同時並列的に実行する。なおこのため符号化復号装置８１は、図示しないバッファメモリで時間軸圧縮して画像データＤ１、ビデオストリームＤ２を入力し、図示しないバッファメモリで時間軸伸長してビデオストリームＤ２、画像データＤ１を出力する。
【０１１１】
具体的に、符号化復号装置８１は、ユーザーの指示に従って、ＭＰＥＧ−２のフォーマット及び又はＭＰＥＧ−４のフォーマットで、１系統又は複数系統の画像データＤ１を符号化処理する。またビデオストリームＤ２のフォーマットに従って、ＭＰＥＧ−２のフォーマット及び又はＭＰＥＧ−４のフォーマットで、１系統又は複数系統のビデオストリームＤ２を復号処理する。またさらに符号化処理、復号処理を同時並列的に実行する。
【０１１２】
すなわち図２２（Ａ）に示すように、１系統の画像データＤ１を符号化処理する場合、時間軸圧縮した画像データをピクチャー単位で符号化処理する。また図２２（Ｂ）に示すように、１系統のビデオストリームを復号する場合、時間軸圧縮したビデオストリームＤ２をピクチャー単位で復号処理する。なお図２２〜図２４では、１つのピクチャーの符号化処理、復号処理を１つ矩形の枠で囲って示す。また各枠内のＩ、Ｐ、Ｂは、それぞれＩピクチャー、Ｐピクチャー、Ｂピクチャーを示す表示である。
【０１１３】
また図２３（Ａ）に示すように、２系統の画像データＤ１を同時並列的に符号化処理する場合、この２系統の画像データＤ１をフレーム単位の時分割処理で符号化処理する。また図２３（Ｂ）に示すように、２系統のビデオストリームＤ２を同時並列的に復号処理する場合、この２系統のビデオストリームＤ２をフレーム単位の時分割処理で復号処理する。また図２３（Ｃ）に示すように、１系統の画像データＤ１の符号化処理と１系統のビデオストリームＤ２の復号処理とを同時並列的に実行する場合、フレーム単位の時分割処理で符号化処理、復号処理する。
【０１１４】
また図２４（Ａ）に示すように、１系統の符号化処理と、２系統の復号処理とを同時並列的に実行する場合、フレーム単位の時分割処理でこれら３系統を処理する。なおこの場合、例えば２系統のフレームレートが、他の１系統のフレームレートのより小さい場合、図２４（Ｂ）に示すように、このフレームレートの小さい２系統については、交互に処理する。
【０１１５】
この符号化復号装置９１において、メモリ９３は、メモリ８５に記録されたデータがアップロードされて可変長符号化テーブル４４、可変長復号テーブル６５を形成するメモリである。メモリ９３は、ＭＰＥＧ−２、ＭＰＥＧ−４のフォーマットのうちの、１つのフォーマットの可変長符号化テーブル又は可変長復号テーブルのみ記録可能な、従来に比して小容量により形成される。またこれらフォーマットの可変長符号化テーブル、可変長復号テーブルのうちの少なくとも１つについては、規格で定められた全てのテーブルの一部のみを記録可能な、従来に比して小容量により形成される。
【０１１６】
そこで中央処理ユニット９４は、符号化処理、復号処理において、適宜、メモリ８５に記録された可変長符号化テーブルのデータ、可変長復号テーブルのデータを選択的にメモリ９３にダウンロードしてメモリ９３の内容を更新し、可変長符号化テーブル４４又は可変長復号テーブル６５を形成する。すなわち図２２（Ａ）及び（Ｂ）に示すように、１系統のみ処理する場合は、処理を開始する際に、対応するフォーマットのデータを選択的にメモリ８５からメモリ９３にダウンロードする。また図２３及び図２４に示すように、時分割で処理、フォーマットを切り換える場合、処理、フォーマットの切り換えに連動して、対応するフォーマットのデータを選択的にメモリ８５からメモリ９３にダウンロードする。
【０１１７】
またこのメモリ９３へのダウンロードの際に、規格で定められた全てのテーブルをメモリ９３にダウンロードすることが困難な場合、使用頻度の高いデータを選択的にメモリ９３にダウンロードする。
【０１１８】
可変長符号化復号回路９２は、画像データＤ１を符号化処理する場合には、このメモリ９３に形成された可変長符号化テーブル４４を参照して、係数予測回路１１の出力データ、動きベクトル、予測モード等のデータを順次可変長符号化処理する。この符号化処理において、メモリ９３に形成された可変長符号化テーブル４４を参照できない場合、中央処理ユニット９４に不一致情報を通知する。また中央処理ユニット９４から処理の強制終了が指示されると、上述の実施例と同様に終了符号を設定して当該ブロックの符号化処理を終了する。
【０１１９】
また可変長符号化復号回路９２は、ビデオストリームＤ２を復号する場合には、このメモリ９３に形成された可変長復号テーブル６５を参照して、係数データ、動きベクトル、予測モード等のデータを順次復号する。この処理において、メモリ９３に形成された可変長復号テーブル６５を参照できない場合、中央処理ユニット９４に不一致情報を通知する。また中央処理ユニット９４から処理の強制終了が指示されると、上述の実施例と同様に以降の係数データを値０に設定して当該ブロックの復号処理を終了する。
【０１２０】
中央処理ユニット９４は、可変長符号化復号回路９２から不一致情報が通知されると、１系統のみ処理している場合、時間的余裕があると判断し、対応するテーブルのデータをメモリ９３にアップロードし、このアップロードしたデータにより符号化、復号処理する。これに対して複数系統を処理している場合、時間的余裕が無いと判断し、強制終了を可変長符号化復号回路９２に通知する。
【０１２１】
図２５及び図２６は、各１系統の符号化処理及び復号処理を同時並列的に実行する場合のこの符号化復号装置９１の処理手順を示すフローチャートである。なおこの各１系統の符号化処理及び復号処理を同時並列的な処理は、図２３（Ｃ）に示す例である。
【０１２２】
符号化復号装置９１は、この処理手順を開始すると、ステップＳＰ８１からステップＳＰ８２に移り、ここで対応する可変長符号化テーブルのデータをメモリ８５からメモリ９３にダウンロードする。また続くステップＳＰ８３で１ピクチャーの符号化処理を開始する。またステップＳＰ８４でマクロブロックの符号化処理を開始し、続くステップＳＰ８５で当該マクロブロックを構成するブロックの符号化処理を開始する。
【０１２３】
続いて符号化復号装置９１は、ステップＳＰ８６において、係数予測回路１１から出力される係数データでメモリ９３に形成された可変長符号化テーブル４４を参照し、ここで係数データに対応する可変長符号化データを可変長符号化テーブルで検出できたか否か判断する。ここで参照できた場合、符号化復号装置９１は、参照して得られた可変長符号化データを出力し、ステップＳＰ８６からステップＳＰ８７に移り、当該ブロックの末尾の係数データの処理を終了したか否か判断する。このステップＳＰ８７で否定結果が得られると、符号化復号装置９１は、ステップＳＰ８７からステップＳＰ８６に戻り、続く係数データを処理する。
【０１２４】
これに対してステップＳＰ８６で否定結果が得られると、符号化復号装置９１は、ステップＳＰ８６からステップＳＰ８８に移り、終了符号を設定し、当該ブロックの以降の符号化処理を中止する。また続くステップＳＰ８９で、当該マクロブロックの処理が終了したか否か判断し、ここで否定結果が得られると、ステップＳＰ８７に移る。これに対してステップＳＰ８９で肯定結果が得られると、ステップＳＰ８９からステップＳＰ９０に移り、残りの全てのブロックについて、終了符号を設定して処理を中止し、ステップＳＰ９１に移る。また符号化復号装置９１は、ステップＳＰ８７で肯定結果が得られた場合も、ステップＳＰ８７からステップＳＰ９１に移る。
【０１２５】
このステップＳＰ９１において、符号化復号装置９１は、最終のマクロブロックを処理したか否か判断し、ここで否定結果が得られると、ステップＳＰ８５に戻り、次のブロックを処理する。これに対してステップＳＰ９１で肯定結果が得られると、ステップＳＰ９１からステップＳＰ９２に移り、この１つのピクチャーの符号化処理を終了する。
【０１２６】
符号化復号装置９１は、続いてステップＳＰ９３に移り（図２６）、対応する可変長復号テーブルのデータをメモリ８５からメモリ９３にダウンロードする。また続くステップＳＰ９４で１ピクチャーの復号処理を開始する。またステップＳＰ９５でマクロブロックの処理を開始し、続くステップＳＰ９６で当該マクロブロックを構成するブロックの処理を開始する。
【０１２７】
続いて符号化復号装置９１は、ステップＳＰ９６において、係数予測回路１１から出力される係数データでメモリ９３に形成された可変長復号テーブル６５を参照し、ここで可変長復号テーブルを参照して係数データを復号できたか否か判断する。ここで参照できた場合、符号化復号装置９１は、参照して得られた係数データを出力し、ステップＳＰ９７からステップＳＰ９８に移り、当該ブロックの末尾の係数データの処理を終了したか否か判断する。このステップＳＰ９８で否定結果が得られると、符号化復号装置９１は、ステップＳＰ９８からステップＳＰ９７に戻り、続く係数データを復号する。
【０１２８】
これに対してステップＳＰ９７で否定結果が得られると、符号化復号装置９１は、ステップＳＰ９７からステップＳＰ９９に移り、終了符号が設定されているものとして当該ブロックの以降の係数データの復号処理を中止する。また続くステップＳＰ１００で、当該マクロブロックの処理が終了したか否か判断し、ここで否定結果が得られると、ステップＳＰ９８に移る。これに対してステップＳＰ１００で肯定結果が得られると、ステップＳＰ１００からステップＳＰ１０１に移り、残りの全てのブロックについて、復号処理を中止する。また続くステップＳＰ１０２で１つのピクチャーの復号処理を完了したか否か判断し、ここで否定結果が得られると、ステップＳＰ１０２からステップＳＰ１０３に移る。また符号化復号装置９１は、ステップＳＰ９８で肯定結果が得られた場合も、ステップＳＰ９８からステップＳＰ１０３に移る。
【０１２９】
このステップＳＰ１０３において、符号化復号装置９１は、最終のマクロブロックを処理したか否か判断し、ここで否定結果が得られると、ステップＳＰ９６に戻り、次のブロックを処理する。これに対してステップＳＰ１０３で肯定結果が得られると、ステップＳＰ１０３からステップＳＰ１０４に移る。またステップＳＰ１０２で肯定結果が得られた場合も、ステップＳＰ１０２からステップＳＰ１０４に移る。このステップＳＰ１０４で、符号化復号装置９１は、この１つのピクチャーの復号処理を終了し、ステップＳＰ８２に戻る。
【０１３０】
なお符号化復号装置９１は、図２３、図２４について上述した複数系統で処理する場合、この図２７及び図２８の処理手順に対応するように、逐次、時分割で各部の処理を切り換えて符号化処理、復号処理を実行する。
【０１３１】
図２７は、１系統を符号化処理する場合のこの符号化復号装置９１の処理手順を示すフローチャートである。なおこの図２７に示す処理手順において、図２５の処理手順と同一の構成は、対応する符号を付して示し、重複した説明は省略する。従って符号化復号装置９１は、この図２５に示す処理手順を開始すると、メモリ９３に可変長符号化テーブル４４を形成した後、順次処理を開始し、可変長符号化テーブル４４を参照できた場合、参照結果により順次画像データＤ１を符号化処理する。
【０１３２】
これに対して可変長符号化テーブル４４を参照できない場合、ステップＳＰ８６で否定結果が得られ、ステップＳＰ８６からステップＳＰ８６−１に移る。ここで参照できなかった係数データに対応する可変長符号化テーブルのデータをメモリ８５からロードしてメモリ９３の内容を更新した後、ステップＳＰ８６に戻り、この更新したデータを用いて可変長符号化処理する。
【０１３３】
図２８は、１系統を復号処理する場合のこの符号化復号装置９１の処理手順を示すフローチャートである。なおこの図２８に示す処理手順において、図２６の処理手順と同一の構成は、対応する符号を付して示し、重複した説明は省略する。従って符号化復号装置９１は、この図２６に示す処理手順を開始すると、メモリ９３に可変長復号テーブル６５を形成した後、順次処理を開始し、可変長復号テーブル６５を参照できた場合、参照結果により順次ビデオストリームＤ２を復号処理する。
【０１３４】
これに対して可変長復号テーブル６５を参照できない場合、ステップＳＰ９７で否定結果が得られ、ステップＳＰ９７からステップＳＰ９７−１に移る。ここで参照できなかった可変長符号化データに対応する可変長復号テーブルのデータをメモリ８５からロードしてメモリ９３の内容を更新した後、ステップＳＰ９７に戻り、この更新したデータを用いて可変長復号処理する。
【０１３５】
この実施例によれば、符号化復号装置において、二次記憶手段であるメモリ８５に格納された可変長符号化テーブル、可変長復号テーブルのデータのうち、使用頻度の高いデータを選択的にメモリ９３に格納してテーブルを形成することにより、従来に比して可変長符号化テーブル、可変長復号テーブルを構成するメモリの容量を小さくして、種々のフォーマットに対応することができる。
【０１３６】
またこのときテーブルでは検索できないデータが発生した場合、時間的余裕の有無によりブロックの処理を打ち切ることにより、符号化処理において発生符号量の増大を防止することができる。
【実施例９】
【０１３７】
図２９は、図２１との対比により、本発明の実施例９の符号化復号装置を示すブロック図である。この符号化復号装置１０１は、メモリ９９に可変長符号化テーブル４４、可変長復号テーブル６５の使用履歴を記録して保持し、上述の実施例と同様に、この使用履歴に基づいてメモリ９３に可変長符号化テーブルのデータ、可変長復号テーブルのデータをロードする。この実施例では、このメモリ９３にロードするデータに係る構成が異なる点を除いて、実施例８について上述した符号化復号装置と同一に構成される。
【０１３８】
この実施例によれば、符号化復号装置に適用して、使用履歴に基づいてメモリに選択的にロードする可変長符号化テーブルのデータ、可変長復号テーブルのデータを決定するようにしても、上述の各実施例と同様の効果を得ることができる。
【実施例１０】
【０１３９】
ところで上述の各実施例のように、ルックアップテーブルを参照できない場合に符号化処理を中止する場合、結局、メモリにロードするテーブルのデータの如何によって、符号化処理による発生符号量が変化することになる。従ってメモリにロードするテーブルのデータによって、発生符号量を制御できることになる。
【０１４０】
そこでこの実施例では、符号化テーブルで参照できない場合には処理を打ち切るようにして、符号化処理して出力するビデオストリームの目標ビットレートに応じて、メモリにロードする可変長符号化テーブルのデータを可変する。すなわち図３０（Ａ１）〜（Ａ３）に示すように、ビデオストリームの目標ビットレートが大きい場合程、可変長符号化テーブルを構成するデータ数が多くなるように、メモリにロードするデータを制御する。
【０１４１】
なおこのビットレートは、ユーザーにより指示された記録モード、ホスト装置からの指示等により決まることから、この実施例では、記録モード、ホスト装置からの指示により、メモリにロードするデータを制御する。またこの場合に、使用の履歴を記録し、メモリにテーブルを形成する際には、この記録に従って使用頻度の高いデータから順次メモリにロードするようにしてもよい。
【０１４２】
この実施例では、メモリにロードしてテーブルを構成するデータを、ビデオストリームのビットレートに従って制御することにより、併せて発生符号量を制御することができる。
【実施例１１】
【０１４３】
ところでＭＰＥＧでは、連続するピクチャーを所定の順序でＩピクチャー、Ｐピクチャー、Ｂピクチャーに設定して順次符号化処理しており、Ｉピクチャーは、イントラ符号化処理して他のピクチャータイプで参照される。従ってＰ、Ｂピクチャーに比してＩピクチャーは、一般に可変長符号化する係数データ量が多く、また高画質に符号化処理することが望まれる。これに対してＰピクチャーは、他のＰピクチャー、Ｂピクチャーで参照される場合がある。従ってＰピクチャーは、一般に、Ｉピクチャー程では無いものの、Ｂピクチャーに比して可変長符号化する係数データ量が多く、また高画質に符号化処理することが望まれる。
【０１４４】
そこでこの実施例では、符号化テーブルで参照できない場合には処理を打ち切るようにして、ピクチャータイプ毎に、メモリにロードする可変長符号化テーブルのデータを可変する。すなわち図３０（Ｂ１）〜（Ｂ３）に示すように、Ｉピクチャー、Ｐピクチャー、Ｂピクチャーの順に、順次、可変長符号化テーブルを構成するデータ数が少なくなるように、メモリにロードするデータを制御する。なおこの場合に、使用の履歴を記録し、メモリにテーブルを形成する際には、この記録に従って使用頻度の高いデータから順次メモリにロードするようにしてもよい。
【０１４５】
この実施例によれば、メモリにロードしてテーブルを構成するデータ数を、一定のデータ数ではなくピクチャータイプで可変することにより、符号化処理の打ち切りを各ピクチャータイプに応じて適切に設定して符号化処理することができ、全体として見た画質を一定のデータ数で打ち切る場合に比べて向上することができる。また従来に比してより自由度の高いビットレート制御が可能なエンコーダを提供することができる。
【実施例１２】
【０１４６】
なお上述の実施例１０、１１においては、ビットレート、ピクチャータイプに応じてメモリにロードしてテーブルを構成するデータ数を可変する場合について述べたが、本発明はこれに限らず、各種画質を表すパラメータに基づいてルックアップテーブルを形成するデータ数を可変するようにしてもよい。なおこのようなパラメータとしては、画像の輝度レベル、動きベクトルの大きさ、予測値との差分値、予測モード等であり、例えば直前の１つ又は複数のピクチャーで検出したパラメータを使用することが考えられる。
【０１４７】
また上述の実施例においては、ピクチャー単位で処理を切り換える場合について述べたが、本発明はこれに限らず、例えばＧＯＰ単位等、種々の処理単位で処理を切り換えるようにしてもよい。
【０１４８】
また上述の実施例においては、エンコーダ等の一部の構成をハードウエアで作成する場合について述べたが、本発明はこれに限らず、例えばコンピュータにおける各種画像処理プログラムに本発明を適用して、ソフトウエア構成により画像データを符号化処理、復号処理する場合等にも広く適用することができる。なおこの場合、このプログラムは、事前にインストールして提供するようにしてもよく、例えば光ディスク、磁気テープ等の記録媒体に記録して提供するようにしてもよく、またインターネット等のネットワークを介してダウンロードにより提供するようにしてもよい。
【０１４９】
また上述の実施例においては、ＭＰＥＧのフォーマットで符号化、復号する場合について述べたが、本発明はこれに限らず、例えば、Ｈ．２６４／ＡＶＣで使用される可変長符号化テーブル、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）等の種々のフォーマットで符号化、復号する場合に広く適用することができる。
【産業上の利用可能性】
【０１５０】
本発明は、例えばＭＰＥＧ−２、ＭＰＥＧ−４でフォーマットを切り換えて動画像を符号化処理、復号化処理する場合に適用することができる。
【図面の簡単な説明】
【０１５１】
【図１】本発明の実施例１のエンコーダを示すブロック図である。
【図２】図１のエンコーダの主要部を示すブロック図である。
【図３】図１のエンコーダの動作を説明に供するフローチャートである。
【図４】図３の続きを示すフローチャートである。
【図５】本発明の実施例２のエンコーダの動作の説明に供するフローチャートである。
【図６】図５の続きを示すフローチャートである。
【図７】本発明の実施例３のエンコーダを示すブロック図である。
【図８】図７のエンコーダの主要部を示すブロック図である。
【図９】図７のエンコーダにおける使用履歴の説明に供するブロック図である。
【図１０】図７のエンコーダにおける使用履歴の説明に供する略線図である。
【図１１】本発明の実施例４のエンコーダにおける使用履歴の説明に供するブロック図である。
【図１２】本発明の実施例５のデコーダを示すブロック図である。
【図１３】図１２のデコーダの主要部を示すブロック図である。
【図１４】図１２のデコーダの動作の説明に供するフローチャートである。
【図１５】図１４の続きを示すフローチャートである。
【図１６】本発明の実施例６のデコーダの動作の説明に供するフローチャートである。
【図１７】図１６の続きを示すフローチャートである。
【図１８】本発明の実施例７のデコーダを示すブロック図である。
【図１９】図１８のデコーダの主要部を示すブロック図である。
【図２０】図１８のデコーダにおける使用履歴の説明に供するブロック図である。
【図２１】本発明の実施例８の符号化復号装置を示すブロック図である。
【図２２】図２１の符号化復号装置における処理対象の説明に供する略線図である。
【図２３】図２２の続きの略線図である。
【図２４】図２３の続きの略線図である。
【図２５】図２１の符号化復号装置における動作の説明に供するフローチャートである。
【図２６】図２５の続きを示すフローチャートである。
【図２７】図２１の符号化復号装置における１系統のエンコード時の動作の説明に供するフローチャートである。
【図２８】図２１の符号化復号装置における１系統のデコード時の動作の説明に供するフローチャートである。
【図２９】本発明の実施例９の符号化復号装置を示すブロック図である。
【図３０】本発明の他の実施例の説明に供する略線図である。
【図３１】従来のエンコーダを示すブロック図である。
【図３２】従来のデコーダを示すブロック図である。
【図３３】従来の符号化復号装置を示すブロック図である。
【符号の説明】
【０１５２】
１、４１、５１……エンコーダ、２、２２、４２、５２、６２、７２、９４……中央処理ユニット、１２、４６、５６……可変長符号化回路、１３、１５、２４、３４、４３、５３、６４、７３、８３、８５、９３、９９……メモリ、１４、４４……可変長符号化テーブル、２１、６１、７１……デコーダ、２３、６３……可変長復号回路、２５、６５……可変長復号テーブル、８１、９１、１０１……符号化復号装置、８２、９２……可変長符号化復号回路
【図１】
2007281763.tif 000003
【図２】
2007281763.tif 000004
【図３】
2007281763.tif 000005
【図４】
2007281763.tif 000006
【図５】
2007281763.tif 000007
【図６】
2007281763.tif 000008
【図７】
2007281763.tif 000009
【図８】
2007281763.tif 000010
【図９】
2007281763.tif 000011
【図１０】
2007281763.tif 000012
【図１１】
2007281763.tif 000013
【図１２】
2007281763.tif 000014
【図１３】
2007281763.tif 000015
【図１４】
2007281763.tif 000016
【図１５】
2007281763.tif 000017
【図１６】
2007281763.tif 000018
【図１７】
2007281763.tif 000019
【図１８】
2007281763.tif 000020
【図１９】
2007281763.tif 000021
【図２０】
2007281763.tif 000022
【図２１】
2007281763.tif 000023
【図２２】
2007281763.tif 000024
【図２３】
2007281763.tif 000025
【図２４】
2007281763.tif 000026
【図２５】
2007281763.tif 000027
【図２６】
2007281763.tif 000028
【図２７】
2007281763.tif 000029
【図２８】
2007281763.tif 000030
【図２９】
2007281763.tif 000031
【図３０】
2007281763.tif 000032
【図３１】
2007281763.tif 000033
【図３２】
2007281763.tif 000034
【図３３】
2007281763.tif 000035