(57)【要約】【課題】所定ブロックの画像データをマクロブロック単位で挿入する構成を簡略化できるようにする。【解決手段】入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化装置に、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化手段と、二値化データの符号長を前記二値化データに付加する符号長付加手段と、前記二値化データの符号長に応じて、前記二値化手段によって生成された二値化データを選択したり、またはＩ＿ＰＣＭデータをダミーデータとして選択したりするデータ選択手段とを設け、入力される動画像の各フレームから生成した二値化データの符号長に応じて、二値化データを選択したり、またはダミーデータとして挿入されたＩ＿ＰＣＭデータを選択したりするようにして、I＿PCMデータをマクロブロック単位で挿入する構成を簡略化できるようにする。【選択図】  図１
2010193398.tif 000002
【特許請求の範囲】
【請求項１】
入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化装置であって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化手段と、
前記二値化手段によって生成された二値化データの符号長を前記二値化データに付加する符号長付加手段と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入手段とを有することを特徴とする画像符号化装置。
【請求項２】
前記二値化データの符号長が予め設定された所定の値よりも小さい場合には前記二値化手段によって生成された二値化データを選択し、前記二値化データの符号長が予め設定された所定の値よりも大きい場合には前記所定ブロックの画像データを選択するデータ選択手段をさらに有することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記二値化手段によって生成された二値化データに、余剰データを適宜付加して、前記任意のブロックごとの二値化データを少なくとも８ビット単位に整列させるデータ整列手段をさらに有することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記所定ブロックの画像データの挿入の有無を示す属性情報を各ブロックに付加する属性情報付加手段をさらに有することを特徴とする請求項２又は３に記載の画像符号化装置。
【請求項５】
前記データ挿入手段から出力される二値化データを可変長符号化する可変長符号化手段と、
前記可変長符号化手段により可変長符号化された符号データの符号長を所定の値と比較する符号長比較手段とをさらに有し、
前記データ選択手段は、前記符号長比較手段の比較の結果、前記二値化データの符号長が予め設定された所定の値よりも大きい場合には、可変長符号化した符号データを廃棄し、前記所定ブロックの画像データを選択し、前記二値化データの符号長が予め設定された所定の値よりも小さい場合には、前記属性情報付加手段により付加された属性情報を検査し、前記属性情報が画像データ挿入有を示す場合に、前記挿入された所定ブロックの画像データを廃棄するとともに可変長符号化した符号データを選択して最終的な符号出力データとして出力することを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記ブロックごとに符号化を行う過程において局所復号処理された１マクロブロック分の画像データをI＿PCMデータとして保存するI＿PCMバッファをさらに有し、
前記データ挿入手段は、前記所定ブロックの画像データとして前記I＿PCMバッファに保存されているI＿PCMデータを挿入することを特徴とする請求項１〜５の何れか１項に記載の画像符号化装置。
【請求項７】
入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法であって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、
前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とを有することを特徴とする画像符号化方法。
【請求項８】
入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法をコンピュータに実行させるコンピュータプログラムであって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、
前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置及び画像符号化方法に関し、特に、Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣ等の動画像の符号化装置に用いて好適な技術に関する。
【背景技術】
【０００２】
動画像符号化の規格の１つとして、ISO/IECの国際標準規格である、MPEG-1, MPEG-2, MPEG-4が広く使用されている。近年、より高い符号化効率を持つ規格として、ITU-T H.264（あるいはISO/IEC MPEG-4 AVCと呼称される）が勧告され、その実用化が急速に進んでいる。以下、図７を参照しながらH.264規格に対応した符号化装置の従来例を説明する。
【０００３】
図７において、７００は画像符号化装置である。７０１は画像メモリであり、符号化の対象となるフレーム、及び動き補償で使用する参照フレームを一時的に記憶する。７０２は動き検出部であり、動きベクトルの検出をマクロブロック単位で行う。７０３はデブロッキングフィルタであり、符号化対象画像と参照画像との差分データにおけるブロックノイズを低減するために使用される。７０４は動き補償部であり、動き検出部７０２で求められた動きベクトルに従って、符号化対象画像と参照画像との差分を求める。７０５は整数変換部であり、所定のマクロブロックサイズのデータを周波数空間に変換する。なお、直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていたが、デコーダにおいては、有限精度での演算により、逆変換時の変換誤差が蓄積されるという問題点があった。この問題点を解消するため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。
【０００４】
７０６は量子化部であり、整数変換部７０５で行われた整数変換によって得られた係数データを量子化する。７０８は逆量子化部であり、局所（ローカル）デコード画像のための逆量子化処理を行う。７０７は逆整数変換部であり、逆整数変換処理を行う。
【０００５】
一方、量子化部７０６において量子化された係数データはCABAC (Content Adaptive Binary Arithmetic Coding)と呼ばれるエントロピー符号化部７１０に送られる。CABACの構成要素として、二値化部７１１、及び算術符号化部７１２を図示している。
【０００６】
二値化部７１１は、量子化済みの係数データ、動きベクトル、及びマクロブロックに付随する各種情報など、すべての符号化要素（シンタックスエレメントと呼称される）に対して二値化処理を行う。二値化の方式については、各シンタックスエレメントによって異なった可変長符号表が定義されている。
【０００７】
算術符号化部７１２は、二値化部７１１において二値化されたデータに対して、１ビットずつの順次処理によって符号化を行う。したがって、マクロブロックの総処理時間は、入力される二値データのビット数によって変動する。しかも、各ビットの処理結果を、後続するビットの符号化処理に反映させて、適応的に符号化効率を向上させるフィードバック型アルゴリズムであるため、複数ビットの一括処理が原理的に困難であるという特徴がある。
【０００８】
７０９は、量子化ステップ制御部であり、ピクチャ単位での符号量制御を行う。量子化ステップ制御を行うためには、ピクチャの符号化過程において、マクロブロックごとの既発生符号量の観測を行っている。そして、目標とするピクチャの総発生符号量との差異を観測しながら量子化ステップを随時更新することによって量子化ステップ制御を実現している。
【０００９】
しかしながら、前述したように、従来の符号化装置７００の場合には、算術符号化部７１２で行われる算術符号化は、処理時間が入力（＝二値化済みデータ）のビット数によって変動してしまう。このため、マクロブロック単位での処理時間のワースト値をあらかじめ推測することが困難であるので、ピクチャ全体での総処理時間に破綻が生じてしまうという可能性もある。また、H.264勧告においては、１マクロブロックの最大符号長が4:2:0サンプリングの場合では、3200ビット以内に納めなければならないという規定がある。
【００１０】
これは、デコーダにおいて、算術復号化の処理負荷が局所的に過大になり、復号処理が破綻してしまうのを防止するためである。非常に稀なケースではあるものの、CABAC処理後のマクロブロック符号長が前述した3200ビットを超過する場合には、これを画像データそのものに置き換える処理が行われる。この場合のマクロブロックタイプはI＿PCMと呼ばれる。具体的には、I＿PCMモードでのマクロブロックのサイズは、以下の（式１）により、3072ビット（固定）となる。
64（画素／ブロック）×6（ブロック）×8（ビット）＝3072ビット ・・・(式１)
【００１１】
このとき、置き換えが行われる画像の内容についての規定は特に無いが、隣接マクロブロックのフレーム内予測処理との並列処理を考慮すると、原画像ではなく、局所復号画像を用いることが望ましい。したがって、この処理を行うためには、符号化済で、かつ動き補償の参照フレームとして使用されないフレームもすべてI＿PCMデータ置き換え用として保存しておく必要がある。
【００１２】
こうした仕組みを利用して、１マクロブロック当りの最大符号量超過を保護するために、エントロピー符号化前の情報からある閾値を元に符号量を判定し、Ｉ＿ＰＣＭデータへ差し替える方法が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００７−１６６０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
前記特許文献１においては、変換係数からマクロブロックごとの算術符号処理後の符号長を推定し、推定値が所定のしきい値を超えた場合には、I＿PCMモードを無条件に選択するようにしている。
【００１５】
しかしながら、CABAC処理では、マクロブロック単位の算術符号処理時間が二値化データの符号長により変動してしまうため、マクロブロック単位でパイプライン処理を行い、所定時間内に処理を終了することを保証するのが困難である。
【００１６】
このような問題点を解決するために、図８で示すように、二値化出力を１フレーム（あるいは１フィールド）分蓄積して、算術符号化だけをフレーム単位で遅延させて行う手法が考えられる。
【００１７】
図８の例では、フレームメモリ８０１、符号処理部（動き補償／量子化部）８０２、二値化部８０３、二値バッファ８０４、セレクタ８０５、算術符号化部８０６を設けている。そして、フレームｎの１フレーム分の二値データを二値バッファ８０４でバッファリングして、フレーム（ｎ＋１）の期間に算術符号化部８０６で一括して算術符号化を行っている。
【００１８】
このようにすれば、特定のマクロブロックで処理時間が過大になったとしても、フレーム全体では処理時間を平滑化することができるので、フレーム時間内にすべてのマクロブロックの処理を終了させることが容易になる。
【００１９】
このとき、前述したように、マクロブロック単位の算術符号量が特定の値（4:2:0サブサンプリングで3200ビット）を超えた場合には、I＿PCMモードに置き換えなければならない。この場合のI＿PCMデータは、局所復号画像であることが望ましいため、結局このフレームの画像を、たとえ以降の処理で参照フレームとして使用されない場合でもフレームメモリ８０１内に保存しておき、必要に応じてI＿PCMとして挿入しなければならない。したがって、この方法の場合も冗長なメモリ領域を確保しておかなければならない不都合がある。
【００２０】
また、変換係数の分布状況や二値符号長の判定により、あらかじめ強制的にI＿PCMモードにしてしまう方法では、算術符号量が特定の値を実際には超えなかった場合でもI＿PCMモードになってしまう可能性がある。このため、出力符号量が最適ではなくなってしまうという問題もあった。
【００２１】
本発明は前述の問題点に鑑み、所定ブロックの画像データをマクロブロック単位で挿入する構成を簡略化できるようにすることを目的としている。
【課題を解決するための手段】
【００２２】
本発明の画像符号化装置は、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化装置であって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化手段と、前記二値化手段によって生成された二値化データの符号長を前記二値化データに付加する符号長付加手段と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入手段とを有することを特徴とする。
【００２３】
本発明の画像符号化方法は、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法であって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とを有することを特徴とする。
【００２４】
本発明のコンピュータプログラムは、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法をコンピュータに実行させるコンピュータプログラムであって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、入力される動画像の各フレームから生成した二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するようにしたので、所定ブロックの画像データをマクロブロック単位で挿入する構成を簡略化することができる。これにより、バッファを介して遅延させて算術符号化処理を行っても、I＿PCM保存用のフレームメモリを装備しておく必要がなくなる。
また、本発明の他の特徴によれば、I＿PCMモード判定をより最適化することができ、最終的に、無駄な符号量を削減することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態を示し、入力画像信号を二値化処理するまでの構成例を示すブロック図である。
【図２】本発明の第１の実施形態を示し、二値化されたデータを算術符号化して出力する構成例を示すブロック図である。
【図３】本発明の第１の実施形態を示し、二値符号データ列の例を示す図である。
【図４】本発明の第１の実施形態を示し、二値符号データ列の詳細例を示す図である。
【図５】本発明の第１の実施形態を示し、二値化処理部までの処理手順を説明するフローチャートである。
【図６】本発明の第１の実施形態を示し、算術符号部の処理手順を説明するフローチャートである。
【図７】従来の画像符号化装置の構成例を説明するブロック図である。
【図８】二値データフレーム遅延バッファを設けた例を説明するブロック図である。
【図９】本発明の第２の実施形態を示し、第１のフォーマットとは別のフォーマットを形成した場合の例を示す図である。
【発明を実施するための形態】
【００２７】
（第１の実施形態）
以下、添付図面を参照しながら本発明の第１の実施形態を説明する。
図１は、本発明の第１の実施形態の画像符号化装置１００の構成例を説明するブロックである。
図１において、１０１は画像メモリであり、符号化の対象となる動画像のフレーム、及び動き補償で使用する参照フレームを一時的に記憶する。１０２は動き検出部であり、マクロブロック単位での動きベクトルの検出を行う。１０３はデブロッキングフィルタであり、符号化対象画像と参照画像との差分データにおけるブロックノイズを低減するために使用される。
【００２８】
１０４は動き補償部であり、動き検出部１０２で求められた動きベクトルに従って、符号化対象画像と参照画像との差分を求める。１０５は整数変換部であり、所定のマクロブロックサイズのデータを周波数空間に変換する。なお、直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていたが、デコーダにおいては、有限精度での演算により、逆変換時の変換誤差が蓄積されるという問題があった。このため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。
【００２９】
１０６は量子化部であり、整数変換部１０５における整数変換によって得られた係数データを量子化する。１０７は逆量子化部であり局所（ローカル）デコード画像のための逆量子化処理を行う。１０８は逆整数変換部であり、逆整数変換処理を行う。一方、量子化部１０６において量子化された係数データは二値化部１１０に送られる。二値化部１１０は、符号化対象ブロックの各符号化要素を二値化して二値化データを生成する。
【００３０】
１１１は符号量チェック部であり、マクロブロックごとに二値化済データの符号長を、予め設定された所定の値と大小比較する。比較する値については後述する。１１２は、バイトアライナであり、二値データに対して適宜余剰ビットを追加して二値データとしてバイトアライン処理を行う。付加するビット数については、以下の式により求められる。
付加ビット数＝（二値化データ符号長）％８・・・（式２）
【００３１】
１１３は、ヘッダ／フッタ付加部であり、二値データ長及びI＿PCM付加有無情報を二値化データに付加する符号長付加を行う。また、Ｉ＿ＰＣＭデータの挿入の有無を示す属性情報を各ブロックに付加する属性情報付加を行う。１１５はI＿PCMバッファであり、符号化処理の過程において、局所復号処理された１マクロブロック分のＩ＿ＰＣＭデータを保存する。１１４はセレクタであり、ヘッダ／フッタ付加部１１３から出力されるヘッダ／フッタが付加された二値データに、I＿PCMバッファ１１５に記憶されたＩ＿ＰＣＭデータを適応的に挿入する動作を行う。１１６は二値バッファであり、図８で示した二値バッファ８０４のように、１フレーム分の二値データを保存する。
【００３２】
図３に、本実施形態の二値符号データ系列の一例を示す。
図３においてBLEN３０１はマクロブロック単位での二値符号長であり、BIN３０２は二値符号データである。F３０３はI＿PCMフラグであり、I＿PCMデータが二値データ後に挿入されているかどうかを示すためのものである。I＿PCM３０４は１マクロブロック分の画素データが挿入されている。
【００３３】
図４に、詳細なデータフィールドを示す。
４０１及び４０２はBLENフィールドであり、１６ビットでBIN長を示す。マクロブロックの符号長は、3200ビットに制限されている。このため、１６ビット以内で十分に表記可能である。４０３はBINデータ、４０４はスタッフィングビットであり、前述した（式２）に従って、バイト単位で余剰なフィールドを埋める。本実施形態においては、二値化データに、余剰データを適宜付加して、所定ブロックごとの二値化データを少なくとも８ビット単位に整列させるデータ整列を行う。
【００３４】
４０５は、I＿PCMフラグであり、I＿PCMデータが後続するときのみ'１'とする。図４の場合では、スタッフィングビットとして２ビット挿入することにより、I＿PCMフィールド直前でのバイトアライメント処理を行っている。４０６はI＿PCMデータであり、このマクロブロックにのみI＿PCMデータが挿入されていることを示す。
【００３５】
図２に、本実施形態における二値化処理以後のエンコーダの動作を記す。
２０１は二値バッファであり、図１における二値バッファ１１６に相当する。この二値バッファ２０１から読み出された二値符号データは、ヘッダ／フッタ検出部（ヘッダ／フッタアナライザ）２０２に送られ、前段のヘッダ／フッタ付加部１１３で付加されたヘッダ／フッタ情報が解析される。
【００３６】
ヘッダ／フッタ検出部２０２においては、まず、BLENが取得され、その値（二値符号長）に従って、二値符号の各シンタックスエレメントに対して、算術符号化部２０４において可変長符号化処理が行われる。また、本実施形態においては、ITU-T H.264規格、あるいはISO/IEC 14496-10 (MPEG-4 Advanced Video Coding)規格に準拠する符号化処理が行なわれる。算術符号化部２０４から出力される算術符号出力は、算術符号バッファ２０６に順次ストアされる。また、ヘッダ／フッタ検出部２０２の出力はI＿PCM抽出部２０３に送られ、I＿PCMが抽出される。
【００３７】
２０５は、二値符号長をチェックする符号量チェッカであり、１マクロブロックの算術符号処理が終了した後に出力された総算術符号長のサイズが、3200ビット以上か否かをチェックする。このチェックの結果、総算術符号長のサイズが3200ビット以上であれば、第２のデータ選択手段として設けられているセレクタ２０７はI＿PCM抽出部２０３の出力を選択する。そして、後続するI＿PCMデータをそのまま最終符号出力とし、算術符号バッファ２０６の内容は廃棄される。また、この場合は、算術符号化部２０４の予測状態（入力に応じて順次適応的に学習された履歴情報のこと）は、すべてピクチャ単位での初期状態にリセットされる。
【００３８】
反対に、出力された総算術符号長のサイズが、3200ビット以下の場合は、セレクタ２０７は算術符号バッファ２０６の内容を最終出力として選択し、かつ後続するI＿PCMフラグをチェックする。このチェックの結果、'１'が検出された場合には、後続するI＿PCMデータを廃棄する。この場合は、I＿PCMデータは実際に読み出されること無く、バッファのポインタを所定のバイト数（4:2:0で3072バイト）分だけ進めればよい。
【００３９】
前述した（式１）で示すごとくI＿PCMのサイズは固定であるため、そのサイズを敢えて二値データ内に示す必要はない。また、ヘッダ／フッタはバイトアラインされているため、次マクロブロックのヘッダ位置も検索しやすい構造となっている。以上のようにして、セレクタ２０７によりにより選択されたデータが結合されて最終的な符号出力データが生成される。
【００４０】
以上の処理手順を、図５及び図６のフローチャートを参照しながら説明する。
図５は、二値符号化までの処理手順を説明するフローチャートである。
ステップＳ５０１で処理が開始されると、ステップＳ５０２においては二値化処理が行われる。次に、ステップＳ５０３に進み、ステップＳ５０２において二値化されたデータを二値バッファ１１６に記録する。次に、ステップＳ５０４において、ヘッダとして二値データ符号長（BLEN）を記録する。
【００４１】
次に、ステップＳ５０５において、二値データ符号長と、あらかじめ実験的に求められた所定の値（Ｎ）とを比較する符号長比較が行われる。実際には、所定の値Ｎは規格上の最大値である3200ビット、及び算術符号の符号化効率から算出される。定量的な評価により、二値符号を入力とした算術符号化の符号化効率は、７０〜８０％程度と測定されている。したがって、所定の値Ｎは、仮にマージンを＋１０％与えるとすれば、
N＝3200／0.9≒3500ビット・・・（式３）
とすればよいことになる。
【００４２】
ステップＳ５０５の比較の結果、二値データサイズが所定の値Ｎ（例えば、規格上の最大値）よりも小さい場合には、ステップＳ５０６に進み、I＿PCMフラグがクリアされる。また、ステップＳ５０５の比較の結果、二値データサイズが所定の値Ｎよりも大きい場合は、ステップＳ５０７に進み、I＿PCMフラグがセットされる。その後、ステップＳ５０８に進み、I＿PCMフラグがセットされたことに応じて、二値符号データの後ろにI＿PCMが書き込まれる。
【００４３】
ステップＳ５０６またはステップＳ５０８の処理が終了するとステップＳ５０９に進む。ステップＳ５０９においては、ピクチャ内で最終マクロブロック分まで処理を終了したか否かを判断する。この判断の結果、最終マクロブロックまで終了していない場合にはステップＳ５０２に戻って前述した処理を行う。また、ステップＳ５０９の判断の結果、最終マクロブロックまで終了した場合にはステップＳ５１０に進んでエンド処理を行う。
【００４４】
次に、図６のフローチャートを参照しながら算術符号化以降の処理手順の一例を説明する。
ステップＳ６０１で処理が開始されると、次のステップＳ６０２で、二値符号データ長が読み出される。次に、ステップＳ６０３で各シンタックスエレメントに応じた算術符号化が１マクロブロック分行われる。
【００４５】
次に、ステップＳ６０４において、１マクロブロック分の算術符号長が3200ビットよりも小さいか否かが比較される。この比較の結果、符号長が3200ビットを超過した場合は、ステップＳ６０６に進み、ステップＳ６０３において符号化された算術符号データが廃棄される。その後、ステップＳ６０８において、二値データに後続するI＿PCMデータが最終的なビットストリームとして採用されて記録される。
【００４６】
一方、ステップＳ６０４の比較の結果、符号長が3200ビット以下の場合は、ステップＳ６０５に進み、算術符号化された算術符号データが最終的にビットストリームとして採用されて記録される。次に、ステップＳ６０７において、I＿PCMフラグの有無を検査し、画像データ挿入有を示す'１'がセットされている場合はステップＳ６０９に進み、二値符号データに後続したI＿PCMデータは廃棄される。
【００４７】
ステップＳ６０７の検証の結果、'１'がセットされていない場合はステップＳ６１０に進む。また、ステップＳ６０８またはステップＳ６０９の処理が終了した場合にもステップＳ６１０に進む。ステップＳ６１０においては、ピクチャ内で最終マクロブロック分まで処理を終了したか否かを判断する。この判断の結果、最終マクロブロックまで終了していない場合にはステップＳ６０２に戻って前述した処理を行う。また、ステップＳ６１０の判断の結果、最終マクロブロックまで終了した場合にはステップＳ６１１に進んでエンド処理を行う。
【００４８】
以上のような処理を行うことにより、CABAC処理について、フレーム単位での遅延を行って処理を行う場合においても、I＿PCMモード処理を容易に実行することが可能になる。かつ、規格によるビット長制限に該当しないマクロブロックをI＿PCMモードにし、余剰の符号を発生させてしまう不都合を防止することができる。
【００４９】
（第２の実施形態）
次に、図９を参照しながら本発明の第２の実施形態を説明する。
本実施形態では、図４に示した二値符号データと同じデータを使用して、別のフォーマットを形成した場合の例である。図９において、９０２及び９０３はBLENフィールドであり、１６ビットでBIN長を示している。９０４はBINデータ、９０５はスタッフィングビットである。また、９０６はI＿PCMデータであり、このマクロブロックにのみI＿PCMデータが挿入されていることを示す。
【００５０】
このようなフォーマットにおいて、BLEN９０２、９０３の値は、実際には１２ビット（＜４０９５）で収まる。このため、本実施形態においてはBLENフィールド９０２のMSBをI＿PCMフラグ９０１としている。このフォーマットにおいては、マクロブロック MB(n+1)においては、フッタの１ビットがなくなるためバイトアラインの必要性がなくなっている。このように、BLEN及びI＿PCMフラグは、任意の配置で構成することが可能である。
【００５１】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像符号化装置を構成する各手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５２】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５３】
なお、本発明は、前述した画像符号化方法における各工程を実行するソフトウェアのプログラム（実施形態では図５、図６に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５４】
したがって、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５６】
プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００５７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５８】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現され得る。
【００６１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【００６２】
１００  画像符号化装置
１０１  画像メモリ
１０２  動き検出部
１０３  デブロッキングフィルタ
１０４  動き補償部
１０５  整数変換部
１０６  量子化部
１０７  逆量子化部
１０８  逆整数変換部
１０９  量子化ステップ制御部
１１０  二値化部
１１１  符号量チェック部
１１２  バイトアライナ
１１３  ヘッダ／フッタ付加部
１１４  セレクタ
１１５  I＿PCMバッファ
１１６  二値バッファ
２０１  二値バッファ
２０２  ヘッダ／フッタ検出部
２０３  I＿PCM検出部
２０４  算術符号化部
２０５  符号量チェッカ
２０６  算術符号バッファ
２０７  セレクタ
【図１】
2010193398.tif 000003
【図２】
2010193398.tif 000004
【図３】
2010193398.tif 000005
【図４】
2010193398.tif 000006
【図５】
2010193398.tif 000007
【図６】
2010193398.tif 000008
【図７】
2010193398.tif 000009
【図８】
2010193398.tif 000010
【図９】
2010193398.tif 000011