(57)【特許請求の範囲】
【請求項１】
動画像を構成する各ピクチャを予測符号化する予測符号化装置であって、
符号化対象画像に対して所定のブロック単位毎に予測処理を行う予測処理手段と、
前記予測処理手段における予測処理の結果を直交変換し、量子化して多値データを生成する変換手段と、
前記多値データを、２値化データに変換する２値化手段と、
前記２値化データの量を検出する検出手段と、
前記２値化データを算術符号化して符号化データを生成する符号化手段と、
前記符号化データに、前記検出手段によって検出された２値化データの量を示す情報を多重化して符号化データストリームを生成する多重化処理手段と
を備えることを特徴とする予測符号化装置。
【請求項２】
前記２値化データの量は、前記符号化対象画像を構成するスライス毎のデータ量であることを特徴とする請求項１に記載の予測符号化装置。
【請求項３】
前記多重化処理手段は、前記２値化データの量を、閾値と比較して前記２値化データの量が前記閾値よりも大きい場合に、当該２値化データの量を示す情報を多重化することを特徴とする請求項１又は２に記載の予測符号化装置。
【請求項４】
前記多重化処理手段は、前記符号化対象画像が、前記予測処理手段により他の符号化対象画像の予測処理において参照画像として用いられた場合に、前記符号化対象画像についての前記２値化データの量を示す情報を多重化することを特徴とする請求項１乃至３のいずれか１項に記載の予測符号化装置。
【請求項５】
前記多重化処理手段は、前記２値化データの量を示す情報を、複数ピクチャ分まとめて、符号化データストリームの先頭の所定ピクチャのアクセス・ユニットに多重化することを特徴とする請求項１乃至４のいずれか１項に記載の予測符号化装置。
【請求項６】
動画像を構成する各ピクチャを予測符号化する予測符号化装置の制御方法であって、
予測処理手段が、符号化対象画像に対して所定のブロック単位毎に予測処理を行う予測処理工程と、
前記予測処理工程における予測処理の結果を、変換手段が直交変換し、量子化して多値データを生成する変換工程と、
２値化手段が、前記多値データを２値化データに変換する２値化工程と、
検出手段が、前記２値化データの量を検出する検出工程と、
符号化手段が、前記２値化データを算術符号化して符号化データを生成する符号化工程と、
多重化処理手段が、前記符号化データに、前記検出工程において検出された２値化データの量を示す情報を多重化して符号化データストリームを生成する多重化処理工程と
を備えることを特徴とする予測符号化装置の制御方法。
【請求項７】
コンピュータを請求項１乃至５のいずれか１項に記載の予測符号化装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の予測符号化装置及びその制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
動画像の符号化方式の１つにＭＰＥＧ−４ ＡＶＣ：ＩＳＯ／ＩＥＣ １４４９６−１０、別称Ｈ．２６４（以下、ＭＰＥＧ−４ ＡＶＣと称す。）があり、ディジタル・テレビ放送や映像記録メディアへ採用されている。ＭＰＥＧ−４ ＡＶＣでは、以下の２つのようなコンテキスト適応型のエントロピー符号化方式を採用することで、従来のエントロピー符号化方式に対して符号化効率を高めている。
【０００３】
・コンテキスト適応型可変長符号化（CAVLC:Context−based Adaptive Varibale Length Coding）
・コンテキスト適応型２値算術符号化（CABAC:Context−based Adaptive Binary Arithmetic Coding）
このうち、ＣＡＢＡＣでは、符号化対象データに対し２値化処理（バイナライゼーション）を行い、その２値化データ（bin）の発生確率をコンテキスト（現在の符号化対象や周囲の状況）に応じて演算する。そして、当該演算結果を符号化データとすることで算術符号化を行う。２値化処理で出力される２値化データ長は、符号化装置に入力される映像信号や符号化条件によって変動する。よって、特性上、膨大な２値化データが発生する可能性が認識されており、２値化データに対する算術符号化処理のリアルタイム性保証への懸念や、発生した２値化データを格納するメモリ領域が事前に確定できないといった問題がある。
【０００４】
これに対して、符号化時に２値化データ量を抑えるための方法が提案されている。特許文献１は、２値化処理によるバイナリデータのデータ量が本来の２値化処理により発生するバイナリデータ量より少なくなるように、直交変換後の値からオフセット値を減算し、量子化を行う方法を提案している。また、動きベクトル検出において最小の評価値が得られる動きベクトルで符号化した場合よりも、２値化データ量が小さくなる動きベクトルを選択する方法も提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０２０１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、提案方法では、以下の２つの点に起因して、本来の符号化条件に対して画質低下が懸念される。
１）本来適用したい符号化条件で符号化した直交変換後の変換係数値に対して加工を行う点
２）評価値が最小となる動きベクトルで符号化した場合より、２値化データ量が少なくなるような動きベクトルを適用する点
また復号処理を考えた場合、２値化データ量は算術復号処理後に得られる情報であるため、ワーストケースを想定して実際に発生する２値化データ量よりも大きい、冗長なメモリ領域を用意しなければならない状況が想定される。一方、ワーストケースを想定せずに限定的サイズのメモリ領域を構成した場合、メモリ領域がオーバーフローして復号化処理が破綻してしまうおそれがある。
【０００７】
よって、符号化時に画質を低下させず、かつ、復号化装置側で算術復号化前に最適な２値化メモリ領域を配置して冗長なメモリ領域を不要とし、２値化メモリ領域のオーバーフローによる復号化処理の破綻を未然に防止可能な技術が望まれる。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明は、動画像を構成する各ピクチャを予測符号化する予測符号化装置であって、
符号化対象画像に対して所定のブロック単位毎に予測処理を行う予測処理手段と、
前記予測処理手段における予測処理の結果を直交変換し、量子化して多値データを生成する変換手段と、
前記多値データを、２値化データに変換する２値化手段と、
前記２値化データの量を検出する検出手段と、
前記２値化データを算術符号化して符号化データを生成する符号化手段と、
前記符号化データに、前記検出手段によって検出された２値化データの量を示す情報を多重化して符号化データストリームを生成する多重化処理手段と
を備える。
【発明の効果】
【０００９】
本発明では、符号化時に画質を低下させず、かつ、復号化装置側で算術復号化前に最適な２値化メモリ領域を配置して冗長なメモリ領域を不要とし、２値化メモリ領域のオーバーフローによる復号化処理の破綻を未然に防止可能な技術を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る予測符号化装置の構成例を示すブロック図。
【図２】ＮＡＬユニット及びアクセス・ユニットの構成を示す図。
【図３】"bin_info SEI"のシンタクスを説明するための図。
【図４】"bin_info SEI"を多重化した符号化データの例を示す図。
【図５】"bin_info SEI"を利用した復号化処理例を示した図。
【図６】"bin_info SEI"復号化処理の他の例を示した図。
【図７】実施形態２に係る"bin_info SEI"の生成方法を示すフローチャート。
【図８】"bin_info SEI"を利用した復号化処理の更に他の例を示した図。
【図９】本実施形態に係る復号化装置の構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１２】
［実施形態１］
例えばＭＰＥＧ−４ ＡＶＣ（ＩＳＯ／ＩＥＣ １４４９６−１０）方式によって、動画像を構成する各ピクチャを予測符号化する本発明の実施形態に係る予測符号化装置の構成及び処理の流れについて、図１のブロック図を参照しながら説明を行う。本実施形態に係る予測符号化装置１００は、符号化対象画像を例えば８×８画素や１６×１６画素のブロックに分割した所定のブロック単位毎（例えばマクロブロック単位毎）に処理する。図１の予測符号化装置１００において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵが実行することにより、ソフトウェア的に構成されてもよい。
【００１３】
まず予測方法決定部１０１は、符号化対象画像内の各マクロブロックに対する予測方法を決定する処理部である。入力される符号化対象画像と、符号化済み画像を格納するメモリ１０３から読み出した符号化済み画像から、簡易的な画面内予測又は動き検出を含む画面間予測処理を行って符号化効率を示す評価値を算出する。そして、算出した符号化効率が最適となる予測方式を決定する。このとき、符号化対象マクロブロックがＩスライスの場合は、予測画素ブロックサイズ及び予測モードを決定する。また、Ｐスライス又はＢスライスの場合、画面内予測又は画面間予測のうち、符号化効率の高い方を選択する。画面内予測の場合、画面内予測画素ブロックサイズ及び画面内予測モード等の画面内予測符号化用パラメータを決定する。一方の画面間予測の場合、参照画像フレーム、マクロブロック分割パターン、動きベクトル等の画面間予測符号化用パラメータを決定する。
【００１４】
予測処理部１０２は、予測方法決定部１０１により指定された予測符号化用パラメータに応じて、メモリ１０３から読み出した符号化済み画像から予測画像を生成する。予測画像は局所復号化部１０５へ出力されると共に、符号化対象のマクロブロックと予測画像との差分となる予測残差信号を生成し、直交変換・量子化部１０４へ出力する。
【００１５】
直交変換・量子化部１０４は、指定された画素ブロック単位（８×８画素、４×４画素等のブロック単位）に整数精度離散コサイン変換及び、離散アダマール変換による直交変換処理を行う。離散アダマール変換は、１６×１６画素ブロック単位で画面内予測処理が行われた輝度信号又は、色差信号に対して各画素ブロックを整数精度離散コサイン変換した結果のＤＣ（直流）成分に対してのみ行われる。直交変換された変換係数は、後述する符号量制御部１０６により、指定された量子化パラメータに応じた量子化ステップで量子化される。得られた量子化データは、エントロピー符号化部１０７へ出力される。
【００１６】
量子化データは同時に、局所復号化部１０５へ入力され、局所復号化部１０５で量子化データに対して逆量子化処理、逆直交変換処理（逆離散アダマール変換及び逆整数精度離散コサイン変換）を行う。そして、得られたデータに対して予測処理部１０２から入力される予測画像を加算して復号化処理を行う。こうして復号化されたデータは、メモリ１０３で保持する。メモリ１０３で保持された復号化データは、以降の画面内予測処理に利用される。更にデブロッキングフィルタ処理が施された復号化データをメモリ１０３へ保持する。メモリ１０３が保持したデブロッキングフィルタ処理後の復号化データは、以降の画面間予測処理で利用される。
【００１７】
エントロピー符号化部１０７は、入力データに対してスライス単位にＣＡＢＡＣ（コンテキスト適応型２値算術符号化）によるエントロピー符号化処理を行う処理部である。エントロピー符号化部１０７において、２値化部１０７ａは入力される多値データを２値化データへ変換する。２値化データ・メモリ１０７ｂは、２値化部１０７ａが生成した２値化データを格納する。コンテキスト計算部１０７ｃは、２値化データの発生確率をコンテキストに応じて計算し、保持する。算術符号化部１０７ｄは、コンテキスト計算部１０７ｃにより供給される発生確率に応じて算術符号化を行う。なお、２値化データ量検出部１０７ｅは、２値化部１０７ａが生成して、２値化データ・メモリ１０７ｂに格納された２値化データをカウントすることによって、スライス単位に発生した２値化データの量を検出する。
【００１８】
算術符号化部１０７ｄで符号化されたデータと、２値化データ量検出部１０７ｅで検出された２値化データの量を示す情報（２値化データ情報）は、ピクチャ単位毎に多重化処理部１０８へ供給される。なお２値化データ情報は、ピクチャのシーケンス先頭からの符号化順でのピクチャ・カウント数、参照画像であるかどうかを示す情報（"ref_pic_flag"）、及びピクチャを構成するスライス数とスライス単位での２値化データ量を示す情報で構成される。なお、参照画像であるかどうかとは、他の符号化対象画像を動き補償予測符号化する際に用いられたかどうか、を意味し、係る情報は、予測方法決定部１０１から得られる。
【００１９】
符号量制御部１０６は、符号化ピクチャバッファ（ＣＰＢ）をオーバーフロー、又はアンダーフローさせないように符号化データの符号量を制御する処理部である。エントロピー符号化部１０７から供給されるエントロピー符号化後の発生符号量を元に量子化パラメータを生成し、直交変換・量子化部１０４へ供給する。
【００２０】
多重化処理部１０８は、生成した符号化ストリームを符号化データとして出力する。多重化処理部１０８において、システム情報生成部１０８ａは符号化データに関するシステム情報を生成する。復号化補助情報生成部１０８ｂは、符号化データに対する付加情報となる復号化補助情報を生成する。ストリーム生成部１０８ｃは、生成されたシステム情報、復号化補助情報、及び、符号化データを所定の単位でパケット化し、符号化データストリームとして出力する。以上の処理部により予測符号化装置１００が構成されている。
【００２１】
上記構成において、エントロピー符号化部１０７の２値化部１０７ａが生成する２値化データは、エントロピー符号化過程で発生する中間的な符号化データであり、そのデータを格納するための２値化データ・メモリ１０７ｂを必要とする。一方、復号化装置側を考えた場合も同様に算術復号化後の中間的な符号化データとなる２値化データが発生するため、２値化データ・メモリが必要となる。
【００２２】
しかしながら、この中間的に発生する２値化データ量は、最終的な符号化データからは得ることができないため、復号化装置側では、符号化単位（スライス）の算術復号化が完了した時点で初めて２値化データの発生量を知ることになる。よって、算術復号化前に実際に発生する２値化データ量となる最適な２値化データ・メモリを確保することが極めて困難である。そのため、予めワーストケースを想定した２値化データ・メモリを確保しておく必要がある。
【００２３】
本実施形態では、復号化装置側で復号化前に２値化データ量を得られるようにするために、多重化処理部１０８は、エントロピー符号化部１０７から供給される２値化データに関する情報を復号化補助情報として符号化データに多重化する。
【００２４】
以下に復号化補助情報生成部（１０８ｂ）で生成される復号化補助情報について説明を行う。まず、ＭＰＥＧ−４ ＡＶＣでは、様々なネットワークでの利用が考慮されているため、以下の２つの階層が規定されている。
・映像符号化処理を扱うビデオ符号化層（VCL:Video Coding Layer）
・実際の伝送・蓄積のシステムとの間にネットワーク抽象化層（NAL:Network Abstraction Layer）
このうちＮＡＬは、図２（Ａ）に示すように、ＮＡＬヘッダとＲＢＳＰ（Row Byte Sequence Payload）から構成されるＮＡＬユニットと呼ばれる単位でパケット化される。ＮＡＬヘッダは、ＮＡＬユニットの種類(nal_unit_type)と参照画像かどうかを識別する(nal_ref_idc)のに用いられる。nal_ref_idcの値が"００"であれば参照画像ではなく、それ以外の場合、参照画像であることを示す。ＲＢＳＰは、符号化データの実体を格納する。ＮＡＬユニットの種類は、図２（Ｂ）に示す通りであり、識別番号(nal_unit_type)に基づいて識別され、以下のようなものが含まれる。
・映像符号化データ（スライス）
・映像符号化データのシーケンスに関する情報であるＳＰＳ（Sequence Parameter Set）
・映像符号化データのピクチャに関する情報であるＰＰＳ（Picture Parameter Set）
・映像符号化データの付加情報であるＳＥＩ（Supplemental Enhancement Information）
これらのＮＡＬユニットをピクチャ単位にまとめた単位をアクセス・ユニットと呼ぶ。図２（Ｃ）に示すようにアクセス・ユニットの先頭には、アクセス・ユニット内のピクチャタイプを識別可能な情報を含むＡＵＤ（アクセス・ユニット・デリミター、Access unit delimiter）と呼ばれるＮＡＬユニットが位置する。それに続いて、ＳＰＳ、ＰＰＳ、スライスデータなどのピクチャに必要なＮＡＬユニット群で構成される。上記のＮＡＬユニットのうち、ＳＰＳ、ＰＰＳは、システム情報生成部１０８ａ、ＳＥＩは、復号化補助情報生成部１０８ｂで生成される。アクセス・ユニットの構成は、ストリーム生成部１０８ｃで行われる。
【００２５】
ここで、多重化処理部１０８は、まずエントロピー符号化部１０７からピクチャ単位に入力される２値化データ情報から、復号化補助情報をＳＥＩとして生成する。ＳＥＩには、ユーザー定義のシンタクスを使用可能な"user data SEI"が用意されている。"user data SEI"には更に、"user data unregistered SEI"と"user registered by ITU-T Recomendation T.35 SEI"の２種類が定義されている。ここでは"user data unregistered SEI"を利用して復号化補助情報を多重化するものとし、図３（Ａ）に"user data unregistered SEI"のシンタクスを示す。
【００２６】
図３（Ａ）におけるシンタクス要素のうち、"user_data_payload_byte"領域に２値化データ情報を格納することが可能である。また、"user data unregistered SEI"に２値化データ情報が格納されていることを、"uuid_iso_iec_11578"領域によりＵＵＩＤで識別できるようにしておく。"user_data_payload_byte"領域に格納するための２値化データ情報を"bin_info"、そのＳＥＩを"bin_info SEI"と呼ぶものとし、そのシンタクスの定義を図３（Ｂ）に示す。
【００２７】
pic_posは、"bin_info"に対応するピクチャ位置を示す情報であり、シーケンス先頭からの符号化順（復号化装置側では復号化順、即ちデコーディング・オーダ）でのピクチャ・カウント数が格納される。num_sliceは、ピクチャを構成するスライス数を示す。続いてnum_sliceで示されるスライス数に対応するスライス毎の２値化データ量（キロビット）がbin_sizeとして格納される。なお、２値化データ量は、ピクチャ単位のデータ量として格納されていてもよい。
【００２８】
以上のシンタクスに従って、復号化補助情報生成部１０８ｂは、エントロピー符号化部１０７から入力される２値化データ情報を元に上記の"bin_info SEI"を生成し、ストリーム生成部１０８ｃにてアクセス・ユニットに多重化される。
【００２９】
上記のように"bin_info SEI"を多重化した１ピクチャ４スライスで符号化した符号化データの例を図４（Ａ）及び図４（Ｂ）に示す。図４（Ａ）は、ピクチャ単位に"bin_info SEI"を多重化した例であり、代表してＩ０及びＢ６の各ピクチャに付加されたＳＥＩの内容を示している。ピクチャＩ０は、符号化順で先頭となるため、pic_pos＝０であり、１ピクチャ４スライスで符号化されているため、num_slice＝４となる。続いてピクチャに含まれている各スライスの２値化データ量がbin_size[0]からbin_size[3]まで、４スライス分格納されている。
【００３０】
ピクチャＢ６は、符号化順で１１ピクチャ目となるため、pic_pos＝１０であり、ピクチャＩ０と同様に４スライスで符号化されているため、num_slice＝４となる。また、スライス毎の２値化データ量が、bin_size[0]からbin_size[3]まで４スライス分格納されている。図４（Ａ）は、アクセス・ユニット毎に"bin_info SEI"を多重化している例を示しているが、図４（Ｂ）に示すように符号化データストリームの先頭の所定ピクチャのアクセス・ユニットに、その符号化データストリームの各ピクチャのＳＥＩをまとめて多重化するようにしても良い。例えば、符号化データストリームの先頭のＩピクチャのアクセス・ユニットに複数ピクチャ（例えば、１ＧＯＰ分、１動画ファイル分）の"bin_info SEI"を纏めて多重化しても良い。このように多重化することで、復号化装置側で先行して複数ピクチャ分の"bin_info SEI"を取得することが容易になる。
【００３１】
以上のように多重化した"bin_info SEI"は、復号化装置側で以下に示すような場合に有効となる。
【００３２】
共有メモリ内に２値化データ・メモリ領域を動的に配置可能な機構を持つ復号化装置を考えた場合、ＭＰＥＧ−４ ＡＶＣ規格で規定された上限となる２値化データ発生量を考慮して２値化データ・メモリ領域を配置することが想定される。しかしながら２値化データ量が規格で規定された上限近くまで発生する頻度は低く、多くの場合は、復号化処理に対して冗長なメモリ領域を２値化データ・メモリ領域に割り当てていると考えられる。例えば、符号化データにおける各ピクチャの２値化データ量が図５（Ａ）に示すグラフのように遷移していたとし、復号化装置側では、グラフの破線で示すメモリサイズの領域を配置していたとする。この場合、復号化装置側では復号化の過程でグラフの斜線で示される領域５０１は未使用な冗長なメモリ領域となる。そこで、"bin_info SEI"を利用することによりグラフに示す２値化データ量の遷移も把握できるため、図５（Ｂ）に示すように各ピクチャに対応した最適な２値化メモリ領域を配置することが可能となる。結果として、冗長なメモリ領域を配置することなく空き領域を有効活用することが可能となる。
【００３３】
また、符号化データにおける各ピクチャの２値化データが図６（Ａ）に示すグラフのように遷移していたとし、復号化装置側では、グラフの破線６０１で示すように規格で規定された上限を格納できないようなサイズのメモリ領域を配置していたとする。この場合、１３枚目のピクチャで膨大な２値化データが発生し、算術復号化を実行中に２値化メモリ領域のオーバーフローさせる可能性がある。このような場合でも、"bin_info SEI"により得られた値から、図６（Ｂ）に示すように１３枚目のピクチャの２値化データ量を格納可能なメモリ領域を事前に割り当てることができる。結果として、２値化データ・メモリ領域のオーバーフローを未然に防ぐことが可能となる。
【００３４】
もちろん図５（Ｂ）に示す例のようにピクチャ単位に最適値でメモリ領域を配置しても良い。また、仮にメモリ領域が拡張して配置できない場合には、１３枚目のピクチャの復号化を事前にキャンセルし、他のピクチャへ置き換えるなどのエラー補間処理を実行してもよい。これにより、未然に２値化メモリ・オーバーフローを回避することにより復号化処理のリアルタイム性を保証することが容易になる。
【００３５】
一方、２値化データ量はメモリ領域だけでなく算術復号化処理性能への影響も考えられる。一般にＣＡＢＡＣにおける算術復号化は、最低でも２値化データの１ｂｉｎを処理するのにクロックの１サイクルを必要とすることが知られている。このためＣＡＢＡＣ復号化処理の性能は、算術復号化処理部を駆動するクロック周波数に依存する。
【００３６】
例えば、算術復号化処理部の駆動クロック周波数を動的に可変可能な復号化装置を考えた場合、通常は規格の上限となる２値化データ量の復号化を所定時間内に処理可能なクロック周波数で駆動させる必要が生じる。そこで、本発明による復号化補助情報を用いて復号化を行うことで、算術復号化を開始する前に２値化データ発生量を得ることができるため、算術復号化処理に必要な性能を予め算出することが可能となる。結果として、符号化データ毎に最適なクロック周波数で算術復号化処理部を駆動すれば良く、消費電力を抑えることが期待できる。
【００３７】
また、算術復号化処理部の駆動クロック周波数が固定である復号化装置を考えると、膨大な２値化データが発生する符号化データに対しては、算術復号化処理性能を満たすことが困難な場合がある。その場合、算術復号化処理性能を超える２値化データが発生した時点で何らかのリカバリー処理が実行されるよう設計されることが想定される。しかしながら、この場合も同様に処理性能を超えたかどうかは算術復号化後に得られるため、算術復号化処理に要した時間をロスし、復号化処理のリアルタイム性を保証することが困難になる可能性が高い。このような場合でも、本発明による復号化補助情報を用れば、算術復号化を開始する前に２値化データ発生量を得ることができる。よって、算術復号化を開始する前に、算術復号化処理負荷の高いピクチャをスキップするなどの対応が可能となり、復号化処理のリアルタイム性を保証することが容易となる。
【００３８】
図９に上述した予測符号化装置１００で生成された符号化データを復号化可能な、本実施形態に係わる復号化装置９００のブロック図を示す。図９において、ＣＰＵ９０１は、復号化処理に必要とされる画像データ格納用バッファ及び符号化データ格納用バッファ等のワークメモリ領域をメモリ９０６上へ配置し、復号化装置９００を構成する後述の各処理部を制御する。
【００３９】
クロック生成部９０２は、復号化装置を構成する各処理部を駆動するためのクロック信号を生成し、各処理部へ供給する。尚、クロック生成部９０２で生成するクロック信号のクロック周波数は、ＣＰＵ９０１によりプログラマブルに制御可能となっている。
【００４０】
符号化データ入力部９０３は、入力された符号化データストリームに対してスタート・コード（０ｘ０００００１）によりＮＡＬユニットの先頭を検出し、ＮＡＬユニットの種別を判定する。ＮＡＬユニットは、入力された符号化データのシーケンスに関する情報であるＳＰＳ（Ｓｅｑｕｅｎｃｅ Ｐａｒａｍｅｔｅｒ Ｓｅｔ）、符号化データのピクチャに関する情報であるＰＰＳ（Ｐｉｃｔｕｒｅ Ｐａｒａｍｅｔｅｒ Ｓｅｔ）、符号化データの付加情報であるＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ Ｅｎｈａｎｃｅｍｅｎｔ Ｉｎｆｏｒｍａｔｉｏｎ）、そして映像符号化データ（スライス）等が含まれる。種別を判定したＮＡＬユニットの内、ＳＰＳ，ＰＰＳ，ＳＥＩ及びスライスヘッダからビットストリーム情報（以下、ＳＰＳ，ＰＰＳ，ＳＥＩ及びスライスヘッダを合わせてビットストリーム情報と呼ぶ）をＣＰＵ９０１へ通知し、スライスデータをエントロピー復号化処理部９０４へ送信する。
【００４１】
エントロピー復号化処理部９０４は、ＣＰＵ９０１から設定されたビットストリーム情報に基づき、エントロピー復号化を行い中間データとなる２値化データをメモリ９０６へ書き込む。メモリＩ／Ｆ部９０５は、各処理部からのメモリ・アクセス要求を調停し、メモリ９０６に対する読み出し・書き込み制御を行う。メモリ９０６は、エントロピー復号化処理部９０４により復号化された２値化データと予測復号化処理部９０７により復元された画像データを格納するメモリであり、メモリＩ／Ｆ部９０５を介して各処理部により共有して使用される。
【００４２】
予測復号化処理部９０７は、１６×１６画素ブロックから成るマクロブロック単位に予測復号化処理を行う処理部である。予測復号化処理部９０７は、２値化データを復号化する２値化データ復号化処理部と、画面内予測又は画面間予測による予測画像を生成する予測画像生成部と、逆量子化・逆直交変換により残差信号を復元する逆変換処理部と、予測画像と残差信号を加算して画像データを復元する画像復号化処理部と、復号化された画像データへデブロッキングフィルタ処理を行うデブロッキングフィルタ処理部から構成されている。
【００４３】
予測復号化処理部９０７は、まず始めに、ＣＰＵ９０１から設定されたビットストリーム情報に基づき、メモリ９０６から２値化データを読み出す。そして、予測復号化に必要な画面内予測画像又は画面間予測画像の生成に必要な予測モード及び動きベクトル情報等を復元し、メモリ９０６から読み出した参照画像を元に予測画像を生成する。続いて、逆量子化・逆直交変換処理により残差信号を復元し、予測画像と残差信号を加算して画像データを復元する。復元された画像データに必要に応じてデブロッキングフィルタ処理を施した画像データをメモリ９０６へ書き込む。
【００４４】
映像データ出力部９０８は、予測復号化処理部９０７により復元された画像データをＣＰＵ９０１から指定された表示順でメモリ９０６から読み出し、垂直・水平同期信号を付加して映像信号として出力する。
【００４５】
以上のように構成される復号化装置９００に対して、予測符号化装置１００により生成した符号化データを入力した場合でも、ＣＰＵ９０１では、２値化データ情報を含むＳＥＩ、即ち"bin_info SEI"を取得することで、２値化データの発生量を得ることが可能である。よって、前述したように映像復号化処理を実行する前に最適な２値化データ用バッファ領域をメモリ９０６へ配置することも、クロック生成部９０２に対して最適な周波数のクロック信号を生成することも可能である。
【００４６】
［実施形態２］
実施形態２の予測符号化装置は、実施形態１で示した予測符号化装置１００と構成は同様であるので図１を流用するものとし、差分となる復号化補助情報生成部１０８ｂにおける復号化補助情報の生成方法について説明する。
【００４７】
実施形態１では、ピクチャ毎に"bin_info SEI"を多重化する場合の例を示した。しかしながら、復号化装置側で想定している２値化メモリ領域よりも実際に発生する２値化データ量が少ない場合には、"bin_info SEI"は不要であると考えられる。また、一般に非参照画像よりも参照画像に対してより多くの符号量が割り当てられるため、参照画像でより多くの２値化データが発生する可能性が高く、非参照画像では、２値化データ量が少ないと考えられる。
【００４８】
このことから、２値化データ量が所定閾値以上の場合、及び、符号化対象ピクチャが参照画像である場合の少なくともいずれかの場合に"bin_info SEI"を生成し多重化することが符号量の観点からも効率的である。そこで、２値化データ量に対する閾値を予め"bin_thr"として設定しておく。その上で、エントロピー符号化部１０７から多重化処理部１０８へ入力される２値化データ情報について、符号化対象画像が参照画像であるかどうかを示す情報が"ref_pic_flag"で示される。また、２値化データ量を示す情報を"bin_cur"として、２値化データ量が所定閾値以上の場合で、かつ、符号化対象ピクチャが参照画像である場合に"bin_info SEI"を生成する。
【００４９】
以下、本実施形態における"bin_info SEI"の生成方法を図７のフローチャートを参照して説明する。当該フローチャートに対応する処理は、例えば、多重化処理部１０８として機能するＣＰＵが対応するプログラム（ＲＯＭ等に格納）を実行することにより実現できる。
【００５０】
まず、エントロピー符号化部１０７から多重化処理部１０８へ２値化データ情報が入力されると、Ｓ７０１において復号化補助情報生成部１０８ｂは、"ref_pic_flag"の値から符号化対象画像が参照画像であるかどうかを判定する。もし、"ref_pic_flag"の値が１であり、符号化対象画像が参照画像である場合（Ｓ７０１で「ＹＥＳ」）、Ｓ７０２に移行する。Ｓ７０２では、復号化補助情報生成部１０８ｂが閾値"bin_thr"と入力２値化データ量"bin_cur"とを比較する。もし"bin_cur"が"bin_thr"以上の場合（Ｓ７０２で「ＹＥＳ」）、Ｓ７０３で復号化補助情報生成部１０８ｂが入力２値化データ情報から"bin_info SEI"を生成する。また、ストリーム生成部１０８ｃは、当該"bin_info SEI"をアクセス・ユニットに多重化する。一方、符号化対象画像が参照画像でない場合（Ｓ７０１で「ＮＯ」）や、"bin_cur"が"bin_thr"より小さい場合（Ｓ７０２で「ＮＯ」）、復号化補助情報生成部１０８ｂは復号化補助情報を生成しない。
【００５１】
なお、上記では入力２値化データ量を符号化対象画像１ピクチャ分のデータ量として考えるが、スライス毎に比較を行ってもよい。その場合、いずれかのスライスのデータ量が閾値を超えた場合に復号化補助情報生成部１０８ｂが復号化補助情報を生成する。
【００５２】
このように本実施形態では、復号化補助情報生成部１０８ｂが、符号化対象画像が参照画像であるかどうかの判定と、２値化データ量の判定とを行う。よって、参照画像で、かつ、２値化データ量が閾値以上の符号化対象画像についてのみ"bin_info SEI"が生成される。これにより、冗長な"bin_info SEI"によるデータ量の増大を回避可能となる。なお、本実施形態では、符号化対象画像が参照画像であり、かつ、２値化データ量が閾値以上の場合を生成条件としたが、どちらか一方を満たせば"bin_info SEI"生成してもよい。
【００５３】
また、本実施形態によれば、復号化装置側でも、多重化されている"bin_info SEI"がクリティカルな２値化データ量が発生するものとして判断し、復号化処理を行うことが可能となる。例えば、符号化データにおける各ピクチャの２値化データ量が図８（Ａ）に示すグラフのように遷移していたとする。斜線で示されたピクチャは参照画像であり、グラフの破線が２値化データ量に対して設定された閾値"bin_thr"とする。この場合、図７のフローチャートで示した方法により、参照画像且つ、"bin_thr"以上の２値化データが発生しているＩ０、Ｐ０及びＰ３ピクチャに対して"bin_info SEI"が多重化される。復号化装置側では、図８（Ｂ）に示すようにＩ０、Ｐ０及びＰ３で受信した"bin_info SEI"に従ってメモリを配置することで容易に２値化データ領域を破綻させることなく復号化を行うことが可能となる。
【００５４】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005706771.tif 000002
【図２】
0005706771.tif 000003
【図３】
0005706771.tif 000004
【図４】
0005706771.tif 000005
【図５】
0005706771.tif 000006
【図６】
0005706771.tif 000007
【図７】
0005706771.tif 000008
【図８】
0005706771.tif 000009
【図９】
0005706771.tif 000010