(57)【特許請求の範囲】
【請求項１】
ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取る受け取り手段と、
前記受け取り手段により受け取られた前記バッファ特性情報と前記closed_GOPを表す情報とを用いて、前記受け取り手段により受け取られた前記ビットストリームを復号する復号手段と
を備える復号装置。
【請求項２】
前記バッファ特性情報は、前記ビットストリームを復号する際の復号可能な最小ビットレートと、最小バッファサイズとの組み合わせを含む
請求項１に記載の復号装置。
【請求項３】
前記バッファ特性情報は、前記ビットストリームを復号する際の復号可能な最小ビットレートと、最小バッファサイズと、最小遅延量との組み合わせを含む
請求項１に記載の復号装置。
【請求項４】
前記受け取り手段により受け取られた前記バッファ特性情報に基づいて、前記ビットストリームをデコーダのバッファを破綻させることなく復号可能かを判定する判定手段を更に備え、
前記復号手段は、前記判定手段により復号可能であると判定された場合に、前記受け取り手段により受け取られたビットストリームを復号する
請求項１に記載の復号装置。
【請求項５】
前記判定手段は、バッファサイズおよび復号ビットレートを含むデコーダ情報に基づいて、前記ビットストリームをデコーダのバッファを破綻させることなく復号可能か否かを判定する
請求項４に記載の復号装置。
【請求項６】
前記判定手段は、前記受け取り手段により受け取られた前記バッファ特性情報を用いて、前記ビットストリームを復号する際のバッファサイズと前記ビットストリームのビットレートとを変数とする特性曲線を作成し、バッファサイズ及び復号ビットレートが前記特性曲線より上に位置する場合に、復号可能であると判定する
請求項５に記載の復号装置。
【請求項７】
前記判定手段は、前記ビットストリームのシーケンス全体を対象とした前記バッファ特性情報を用いて、前記特性曲線を作成する
請求項６に記載の復号装置。
【請求項８】
前記受け取り手段は、前記ビットストリームから前記バッファ特性情報を受け取る
請求項１に記載の復号装置。
【請求項９】
前記バッファ特性情報は、前記ビットストリーム中にヘッダとして挿入されており、
前記受け取り手段は、前記ヘッダから前記バッファ特性情報を受け取る
請求項８に記載の復号装置。
【請求項１０】
前記バッファ特性情報は、前記ビットストリーム中のランダムにアクセスが可能な所定区間毎に、ヘッダとして挿入されている
請求項９に記載の復号装置。
【請求項１１】
前記バッファ特性情報は、前記ビットストリームのシーケンス全体を対象とした前記バッファ特性情報として、前記ビットストリームに挿入されている
請求項９に記載の復号装置。
【請求項１２】
ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、
受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、受け取られた前記ビットストリームを復号する
ステップを含む復号方法。
【請求項１３】
ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、
受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、前記ビットストリームを復号する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項１４】
ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、
受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、前記ビットストリームを復号する
ステップを含む処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置および方法、プログラム、並びに記録媒体に関し、特に、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン放送、インターネットなどのネットワークメディアを介して送受信する際に、若しくは光ディスク、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いて好適な復号装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の良い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Expert Group）などの方式に準拠した装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG２（ISO/IEC 13818-2）は、汎用画像圧縮方式として定義された規格であり、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、例えばDVD（Digital Versatile Disk）規格に代表されるように、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに広く用いられている。
【０００４】
このMPEG２圧縮方式を用いることにより、例えば、７２０×４８０画素を持つ標準解像度の飛び越し走査画像に対しては４乃至８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像に対しては１８乃至２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００５】
MPEG２は主として放送用に適合する高画質符号化を対象としていたが、より高い圧縮率の符号化方式には対応していなかったので、MPEG４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００６】
さらに、近年、テレビ会議用の画像符号化を当初の目的として、国際電気連合の電気通信標準化部門であるITU-T (International Telecommunication Union − Telecommunication Standardization Sector)によるＨ.２６Ｌ（ITU-T Q6/16 VCEG）という標準の規格化が進んでいる。Ｈ．２６Ｌは、MPEG２やMPEG４といった符号化方式に比べ、その符号化、復号に、より多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。
【０００７】
また、現在、MPEG４の活動の一環として、このＨ．２６Ｌに基づいた、より高い符号化効率を実現する符号化技術の標準化がITU-Tと共同でＪＶＴ（Joint Video Team）として行われている。
【０００８】
ここで、離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換と動き補償とによる画像圧縮について説明する。図１は、従来の画像情報符号化装置の一例の構成を示す図である。
【０００９】
図１に示した画像情報符号化装置１０において、入力端子１１より入力されたアナログ信号からなる画像情報は、Ａ／Ｄ変換部１２により、デジタル信号に変換される。そして、画面並べ替えバッファ１３は、Ａ／Ｄ変換部１２より供給された画像情報のＧＯＰ（Group of Pictures）構造に応じて、フレームの並べ替えを行う。
【００１０】
ここで、画面並べ替えバッファ１３は、イントラ（画像内）符号化が行われる画像に対しては、フレーム全体の画像情報を直交変換部１５に供給する。直交変換部１５は、画像情報に対して離散コサイン変換若しくはカルーネン・レーベ変換等の直交変換を施し、変換係数を量子化部１６に供給する。量子化部１６は、直交変換部１５から供給された変換係数に対して量子化処理を施す。
【００１１】
可逆符号化部１７は、量子化部１６から供給された量子化された変換係数や量子化スケール等から符号化モードを決定し、この符号化モードに対して可変長符号化、又は算術符号化等の可逆符号化を施し、画像符号化単位のヘッダ部に挿入される情報を形成する。そして、可逆符号化部１７は、符号化された符号化モードを蓄積バッファ１８に供給して蓄積させる。この符号化された符号化モードは、画像圧縮情報として出力端子１９より出力される。
【００１２】
また、可逆符号化部１７は、量子化された変換係数に対して可変長符号化、若しくは算術符号化等の可逆符号化を施し、符号化された変換係数を蓄積バッファ１８に供給して蓄積させる。この符号化された変換係数は、画像圧縮情報として出力端子１９より出力される。
【００１３】
量子化部１６の挙動は、蓄積バッファ１８に蓄積された変換係数のデータ量に基づいて、レート制御部２０によって制御される。また、量子化部２０は、量子化後の変換係数を逆量子化部２１に供給し、逆量子化部２１は、その量子化後の変換係数を逆量子化する。逆直交変換部２２は、逆量子化された変換係数に対して逆直交変換処理を施して復号画像情報を生成し、その情報をフレームメモリ２３に供給して蓄積させる。
【００１４】
また、画面並べ替えバッファ１３は、インター（画像間）符号化が行われる画像に関しては、画像情報を動き予測・補償部２４に供給する。動き予測・補償部２４は、同時に参照される画像情報をフレームメモリ２３より取り出し、動き予測・補償処理を施して参照画像情報を生成する。動き予測・補償部２４は、生成した参照画像情報を加算器１４に供給し、加算器１４は、参照画像情報を対応する画像情報との差分信号に変換する。また、動き予測・補償部２４は、同時に動きベクトル情報を可逆符号化部１７に供給する。
【００１５】
可逆符号化部１７は、量子化部１６から供給され量子化された変換係数および量子化スケール、並びに動き予測・補償部２４から供給された動きベクトル情報等から符号化モードを決定し、その決定した符号化モードに対して可変長符号化または算術符号化等の可逆符号化を施し、画像符号化単位のヘッダ部に挿入される情報を生成する。そして、可逆符号化部１７は、符号化された符号化モードを蓄積バッファ１８に供給して蓄積させる。この符号化された符号化モードは、画像圧縮情報として出力される。
【００１６】
また、可逆符号化部１７は、その動きベクトル情報に対して可変長符号化若しくは算術符号化等の可逆符号化処理を施し、画像符号化単位のヘッダ部に挿入される情報を生成する。
【００１７】
また、イントラ符号化と異なり、インター符号化の場合、直交変換部１５に入力される画像情報は、加算器１４より得られた差分信号である。なお、その他の処理については、イントラ符号化を施される画像圧縮情報と同様であるため、その説明を省略する。
【００１８】
次に、上述した画像情報符号化装置１０に対応する画像情報復号装置の一例の構成を図２に示す。図２に示した画像情報復号装置４０において、入力端子４１より入力された画像圧縮情報は、蓄積バッファ４２において一時的に格納された後、可逆復号部４３に転送される。
【００１９】
可逆復号部４３は、定められた画像圧縮情報のフォーマットに基づき、画像圧縮情報に対して可変長復号若しくは算術復号等の処理を施し、ヘッダ部に格納された符号化モード情報を取得し逆量子化部４４等に供給する。また同様に、可逆復号部４３は、量子化された変換係数を取得し逆量子化部４４に供給する。さらに、可逆復号部４３は、復号するフレームがインター符号化されたものである場合には、画像圧縮情報のヘッダ部に格納された動きベクトル情報についても復号し、その情報を動き予測・補償部５１に供給する。
【００２０】
逆量子化部４４は、可逆復号部４３から供給された量子化後の変換係数を逆量子化し、変換係数を逆直交変換部４５に供給する。逆直交変換部４５は、定められた画像圧縮情報のフォーマットに基づき、変換係数に対して逆離散コサイン変換若しくは逆カルーネン・レーベ変換等の逆直交変換を施す。
【００２１】
ここで、対象となるフレームがイントラ符号化されたものである場合、逆直交変換処理が施された画像情報は、画面並べ替えバッファ４７に格納され、Ｄ／Ａ変換部４８におけるＤ／Ａ変換処理の後に出力端子４９から出力される。
【００２２】
また、対象となるフレームがインター符号化されたものである場合、動き予測・補償部５１は、可逆復号処理が施された動きベクトル情報とフレームメモリ５０に格納された画像情報とに基づいて参照画像を生成し、加算器４６に供給する。加算器４６は、この参照画像と逆直交変換部４５からの出力とを合成する。なお、その他の処理については、イントラ符号化されたフレームと同様であるため、説明を省略する。
【００２３】
ところで、先に述べたJoint Video Teamで標準化が行われている符号化方式（以下JVT Codec）では、ＭＰＥＧ２やＭＰＥＧ４などの符号化効率を改善するため、様々な方式が検討されている。例えば、離散コサイン変換の変換方法は、４×４ブロックサイズの整数係数変換が用いられている。そして、動き補償の際のブロックサイズが可変であり、より最適な動き補償が行えるようになっている。しかしながら、基本的な方式は、図１に示した画像情報符号化装置１０において行われる符号化方式と同様に行うことが可能であるようにされている。
【００２４】
従って、図２に示した画像情報復号装置４０において行われる復号方式と、基本的に同じ方式により復号することが可能であるようにされている。
【００２５】
ところで異なる復号装置（デコーダ）間での互換性を維持し、バッファをオーバーフローまたはアンダーフローさせないために、ＭＰＥＧやＩＴＵ−Ｔでは、バッファモデルが導入されている。仮想デコーダバッファモデルを標準で定義し、符号化装置（エンコーダ）は、この仮想デコーダバッファを破綻しないように符号化することによりデコーダ側でのバッファオーバーフローまたはアンダーフローを防ぎ、互換性を維持することが可能とされている。
【００２６】
ＭＰＥＧにおける仮想バッファモデルについて、図３を参照して説明する。以下の説明において、デコーダバッファへの入力ビットレートをＲ、デコーダバッファのサイズをＢ、デコーダが最初のフレームをバッファから引き抜く時のバッファ占有量をＦ、その際の遅延時間をＤとする。また、時刻ｔ０，ｔ１，ｔ２，・・・における各フレームのビット量をｂ０，ｂ１，ｂ２・・・とする。
【００２７】
ここでフレームレートをＭとすると、
ｔi+1−ｔi＝１／Ｍが成り立つ。
【００２８】
Ｂiを、時刻ｔiにおけるフレームのビット量ｂiを引き抜く直前のバッファ占有量とすると以下の式（１）が成り立つ。
Ｂ0＝Ｆ
Ｂi+1＝ｍｉｎ（Ｂ，Ｂi―ｂi＋Ｒ（ｔi+1−ｔi））  ・・・（１）
【００２９】
ここで、ＭＰＥＧ２における固定ビットレート符号化方式の場合、エンコーダは次式（２）の条件を満たすよう符号化しなければならない。
Ｂｉ≦Ｂ
Ｂｉ−ｂｉ≧０    ・・・（２）
このような条件が満たされている間は、エンコーダは、バッファオーバーフローやアンダーフローを発生させてしまうような符号化を行うようなことがないとされている。
【００３０】
また、ＭＰＥＧ２における可変ビットレート符号化方式の場合、入力ビットレートＲは、プロファイル、レベルで定義される最大ビットレートであり、Ｆ＝Ｂである。従って式（１）は、次式（３）のように書き換えられる。
Ｂ0＝Ｂ
Ｂi+1＝ｍｉｎ（Ｂ，Ｂi―ｂi＋Ｒmax（ｔi+1−ｔi））  ・・・（３）
【００３１】
この時、エンコーダは、次式（４）に表される条件を満たすように符号化を実行しなければならない。
Ｂi―ｂi≧０    ・・・（４）
この条件が満たされるとき、エンコーダは、デコーダ側でバッファアンダーフローが起こらないような符号化を行うことになる。デコーダバッファが一杯になった時は、エンコーダバッファは空であり、符号化ビットストリームが発生していないことを意味する。従って、エンコーダは、デコーダのバッファオーバーフローを起こさないように監視する必要は無い。
【００３２】
ＭＰＥＧでは、各プロファイル、レベルで定義されるバッファサイズ、ビットレートに基づいて上述したようなバッファの制約を守るように符号化が行なわれる。各プロファイル、レベルに準拠したデコーダは、そのビットストリームを破綻することなく復号することができる。
【発明の概要】
【発明が解決しようとする課題】
【００３３】
しかしながら、実際にはプロファイル、レベルに規定されたバッファサイズ、ビットレートを用いない場合でも、ビットストリームを復号することが出来る場合がある。
【００３４】
例えば、ビットレートＲ、バッファＢ、初期遅延時間Ｆ（Ｒ，Ｂ，Ｆ）で符号化されたビットストリームは、より大きなバッファサイズＢ'（Ｂ'＞Ｂ）を持つデコーダによっても復号可能である。また、より高いビットレートＲ'（Ｒ'＞Ｒ）で復号することも可能である。
【００３５】
例えば、デコーダの復号ビットレートが、符号化ビットレートより低い場合においても、十分大きなバッファサイズをもったデコーダであれば復号することが可能である。
【００３６】
このように、所定のビットストリームが与えられた場合、各ビットレートにおいて、そのビットストリームを復号するために必要な最小バッファサイズＢminが存在する。このような関係を図４に示す。
【００３７】
JVT Codecでは、各プロファイル、レベルで固定のビットレート、バッファサイズで復号するだけでなく、図４に示したような条件を有するデコーダで復号できるように標準化が進められている。必ずしもエンコーダの符号化ビットレート、バッファサイズとデコーダの復号ビットレート、バッファサイズが同一でなくとも復号できることを目的としている。この目的が達成されることにより、例えば、復号ビットレートが高いデコーダでは、バッファサイズを削減することなどが可能になる。
【００３８】
しかしながら、このような情報は、ビットストリーム中で時間的に変動する。そのため、デコーダ互換のための制約が緩められている分、所定の条件下では復号可能であっても、別の条件下では復号不可能になる場合があるといった問題があった。例えば、このような（Ｒ，Ｂ）の特性が時間的に変動する場合、所定の時刻で復号可能であっても、別の時刻では復号不可能である可能性があるといった問題があった。
【００３９】
ランダムアクセスなどで、別なシーンや、別なチャンネルなどに移行した場合も、必ずしも復号可能であるとは限らなくなるといった問題があった。また、スプライシング(Splicing)などビットストリームレベルでの編集を行った際、デコード可能性を保証できなくなるといった問題があった。
【００４０】
本発明はこのような状況に鑑みてなされたものであり、ビットストリームの復号可能性を効率よく判断し、またスプライシングなどビットストリームの編集を簡便に行えるようにすることを目的とする。
【課題を解決するための手段】
【００４１】
本発明の復号装置は、ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取る受け取り手段と、前記受け取り手段により受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、前記受け取り手段により受け取られた前記ビットストリームを復号する復号手段とを備える。
【００４２】
前記バッファ特性情報には、前記ビットストリームを復号する際の復号可能な最小ビットレートと、最小バッファサイズとの組み合わせを含ませることができる。
【００４３】
前記バッファ特性情報には、前記ビットストリームを復号する際の復号可能な最小ビットレートと、最小バッファサイズと、最小遅延量との組み合わせを含ませることができる。
【００４４】
前記受け取り手段により受け取られた前記バッファ特性情報に基づいて、前記ビットストリームをデコーダのバッファを破綻させることなく復号可能かを判定する判定手段を更に備え、前記復号手段は、前記判定手段により復号可能であると判定された場合に、前記受け取り手段により受け取られたビットストリームを復号するようにすることができる。
【００４５】
前記判定手段は、バッファサイズおよび復号ビットレートを含むデコーダ情報に基づいて、前記ビットストリームをデコーダのバッファを破綻させることなく復号可能か否かを判定することができる。
【００４６】
前記判定手段には、前記受け取り手段により受け取られた前記バッファ特性情報を用いて、前記ビットストリームを復号する際のバッファサイズと前記ビットストリームのビットレートとを変数とする特性曲線を作成し、バッファサイズ及び復号ビットレートが前記特性曲線より上に位置する場合に、復号可能であると判定させることができる。
【００４７】
前記判定手段には、前記ビットストリームのシーケンス全体を対象とした前記バッファ特性情報を用いて、前記特性曲線を作成させることができる。
【００４８】
前記受け取り手段は、前記ビットストリームから前記バッファ特性情報を受け取ることができる。
【００４９】
前記バッファ特性情報は、前記ビットストリーム中にヘッダとして挿入されており、前記受け取り手段は、前記ヘッダから前記バッファ特性情報を受け取ることができる。
【００５０】
前記バッファ特性情報は、前記ビットストリーム中のランダムにアクセスが可能な所定区間毎に、ヘッダとして挿入されているようにすることができる。
【００５１】
前記バッファ特性情報は、前記ビットストリームのシーケンス全体を対象とした前記バッファ特性情報として、前記ビットストリームに挿入されているようにすることができる。
【００５２】
本発明の復号方法は、ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、受け取られた前記ビットストリームを復号するステップを含む。
【００５３】
本発明のプログラムは、ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、前記ビットストリームを復号する。
【００５４】
本発明の記録媒体は、ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とを受け取り、受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、受け取られた前記ビットストリームを復号するステップを含む処理をコンピュータに実行させる。
【００５５】
本発明においては、ビットストリームと、前記ビットストリームのビットレートと前記ビットストリームを復号する際のバッファサイズとの組み合わせに従って前記ビットストリームが復号可能であるか否かを判定する際に用いるバッファ特性情報と、closed_GOPを表す情報とが受け取られ、受け取られた前記バッファ特性情報とclosed_GOPを表す情報とを用いて、受け取られた前記ビットストリームが復号される。
【発明の効果】
【００５６】
本発明によれば、復号側で、バッファが破綻してしまうようなことを防ぐことが可能となる。
【図面の簡単な説明】
【００５７】
【図１】従来の画像情報符号化装置の一例の構成を示す図である。
【図２】従来の画像情報復号装置の一例の構成を示す図である。
【図３】バッファ量について説明する図である。
【図４】ビットレートとバッファ量の関係について説明する図である。
【図５】本発明を適用した符号化装置の一実施の形態の構成を示す図である。
【図６】バッファ量について説明する図である。
【図７】本発明を適用した復号装置の一実施の形態の構成を示す図である。
【図８】本発明を適用した編集装置の一実施の形態の構成を示す図である。
【図９】ビットレートとバッファ量の関係について説明する図である。
【図１０】媒体を説明する図である。
【発明を実施するための形態】
【００５８】
以下に、本発明の実施の形態について図面を参照して説明する。図５は、本発明を適用した符号化装置の一実施の形態の構成を示す図である。図５に示した符号化装置７０は、図１に示した画像情報符号化装置１０を含む構成とされている。ここでは、画像情報符号化装置１０の構成などについては、既に説明したので、その説明は適宜省略する。
【００５９】
画像情報符号化装置１０に入力された画像情報は、符号化され、画像圧縮情報（ＢＳ：ビットストリーム）としてバッファ７１とビットストリーム解析部７２に出力される。バッファ７１は、入力されたビットストリームを一旦記憶し、必要に応じ、バッファ情報付加部７３に出力する。ビットストリーム解析部７２は、ビットストリーム中の所定の区間、例えば、ＧＯＰやランダムアクセスポイント間でのバッファの占有状態を調べ、その情報をバッファ情報ＢＨとしてバッファ情報付加部７３に供給する。ここで、ランダムアクセスポイントとは、ＪＶＴ規格において、ビットストリーム中でランダムにアクセスが可能な所定の区間のことを言う。また、同様にＧＯＰとは、ＭＰＥＧ２／ＭＰＥＧ４規格において、ランダムにアクセスが可能な所定の区間のことを言う。
【００６０】
バッファ情報付加部７３は、入力されたバッファ情報ＢＨを、同じく入力されたビットストリームに付加して出力する。
【００６１】
ここでは、ビットストリーム解析部７２が行う解析の一例として、各ランダムアクセスポイント間でバッファ占有状態を調べ、各ランダムアクセスポイントにヘッダ情報としてバッファ占有状態の情報を符号化してビットストリームを構成する場合を例にあげて説明する。ここでは、このような説明を行うが、ＧＯＰ単位で求めるようにしても良いし、他の任意の単位で求めるようにしても良く、以下に説明する単位に、他の単位を用いた場合においても、本発明を適用できることは言うまでもない。
【００６２】
図６を参照して（Ｒmin、Ｂmin）の特性を決定する方法について説明する。ここで、Ｒminは、バッファへの入力ビットレートＲの最小値を示し、Ｂminは、バッファサイズＢの最小値を示すとする。
【００６３】
所定のビットストリームのビットレートＲが与えられた場合、そのビットストリームを復号ビットレートＲで復号する復号装置（例えば、図７に示す構成を有する）で復号可能である最低限のバッファサイズＢminは、例えば、以下のようにして決定される。
【００６４】
所定のアクセスポイント間のフレーム数をＮとする。各フレームの発生ビット量をｂ（ｉ）（ｉ＝１，Ｎ）、バッファから各フレームのデータを引き抜く直前のバッファ占有量をＢ（ｉ）、引き抜いた直後のバッファ占有量をＢ２（ｉ）とする。符号化装置のバッファ量をＢとすれば、
Ｂ２（ｉ）＝Ｂ（ｉ）―ｂ（ｉ）
Ｂ（ｉ＋１）＝Ｂ２（ｉ）＋Ｒ／（Frame Rate）  ・・・（５）
ただし、ｉｆ（Ｂ（ｉ＋１）＞Ｂ）Ｂ（ｉ＋１）＝Ｂとし、Ｂ（ｉ）の最大値はＢである。また遅延量ＦはＦ＝Ｂとする。
【００６５】
このとき、Ｂminは、次式（６）で求められる。
Ｂmin＝Ｂ―ｍｉｎ（Ｂ２（ｉ））    ・・・（６）
このときのＲをＲminとすれば、上記のような方法により（Ｒmin、Ｂmin）を決定することができる。
【００６６】
次に、（Ｒmin、Ｂmin、Ｆmin）を決定する方法の一例を説明する。Ｂ＝Ｂmin、Ｒ＝Ｒminとする。式（５）と同様に、次式（７）が成り立つ。
Ｂ２（ｉ）＝Ｂ（ｉ）−ｂ（ｉ）
Ｂ（ｉ＋１）＝Ｂ２（ｉ）＋Ｒ／（Frame Rate）  ・・・（７）
ただし、以下の条件に基づくアンダーフローに対する監視が行われる。
ｉｆ（Ｂ２（ｉ）＜０）｛
Ｆmin＝Ｆmin＋（０―Ｂ２（ｉ））；
Ｂ２（ｉ）＝０；｝
【００６７】
Ｆminは、各ランダムアクセスポイントの先頭で０に初期化される。また、オーバーフローに対する監視も同様に、以下の条件に基づき行われる。
ｉｆ（Ｂ（ｉ＋１）＞Ｂ）Ｂ（ｉ＋１）＝Ｂ
ランダムアクセスポイント間の全てのフレームに対して上記した検査が行われることにより、（Ｒmin、Ｂmin、Ｆmin）が決定される。
【００６８】
上記した（Ｒmin、Ｂmin、Ｆmin）は、予め定められた所定の個数だけ検査を行うようにしても良いし、その中で独立な組み合わせのみを定義するようにしても良い。上記のようにして求められた特性は、図４に示すようになる。各点の間は線形補間される。上記のようにして求められた、（Ｒmin、Ｂmin、Ｆmin）の値、バッファ情報ＢＨは、バッファ情報付加部７３によりビットストリーム中の所定の位置に挿入され、符号化され出力される。
【００６９】
ビットストリーム解析部７２は、上述したような、各ランダムアクセス間の（Ｒmin、Ｂmin、Ｆmin）と同時にビットストリーム全体に対して同様の解析を行い、ビットストリーム全体に対する特性、（Ｒmin、Ｂmin、Ｆmin）globalを決定し、この値を、バッファ情報付加部７３に、バッファ情報ＢＨとして供給する。
【００７０】
画像情報符号化装置１０から出力されたビットストリームＢＳは、バッファ７１において所定の時間だけ遅延された後、バッファ情報付加部７３に入力される。バッファ情報付加部７３は、ビットストリーム中の所定の位置にビットストリーム解析部７２より供給されるバッファ情報ＢＨを挿入し、最終的な出力ビットストリームＢＳを出力する。
【００７１】
ここで、バッファ情報ＢＨ（若しくはバッファ特性情報）は、例えば、（Ｒmin、Ｂmin、Ｆmin）や（Ｒmin、Ｂmin、Ｆmin）globalである。バッファ情報付加部７３は、ビットストリームＢＳ中の所定の位置に、上記情報を挿入する。ここでシンタクスの一例を以下に示し説明する。
【００７２】
RAP_header（）｛
RAP_startcode;
closed_GOP;
broken_link;
NumBufferParam;
for(i = 0; i < NumBufferParam; i++){
Rate[i];
Buffer[i];
F[i];}}
【００７３】
ランダムアクセスポイント間の（Ｒmin、Ｂmin、Ｆmin）は、例えば、その直前のランダムアクセスポイントヘッダに、上記したシンタクスのように記録される。RAP_startcodeは、ＲＡＰヘッダが存在し、そのヘッダの開始を示すコードである。
【００７４】
closed_GOPは、そのＧＯＰ内の全てのピクチャが他のＧＯＰのピクチャを参照することがなく独立であるか、または、他のＧＯＰのピクチャを参照するという依存関係があるかどうかを示すフラグである。broken_linkは、編集などにより、そのＧＯＰの前後でビットストリームの置き換えが行われた場合、予測の参照画像が存在するか否かを示すフラグである。
【００７５】
NumBuffer_Paramは、求めた特性セット（Ｒmin、Ｂmin、Ｆmin）の数を示す。Rate[i]、Buffer[i]、F[i]は、それぞれをＲmin、Ｂmin、Ｆmin示す。ここでは、例えば、Ｒminは、小さいものから順に記録される。
【００７６】
ビットストリーム全体の（Ｒmin、Ｂmin、Ｆmin）globalは、例えば、そのビットストリームの先頭のシーケンスヘッダに、以下のシンタクスのようにして記録される。
【００７７】
Sequence_header （）{
Sequence_startcode;
:
:
NumBufferParam;
for(i = 0; i < NumBufferParam; i++) {
Rate[i];
Buffer[i];
F[i];}}
【００７８】
ここで、NumBuffer_Paramは、求めた特性セット（Ｒmin、Ｂmin、Ｆmin）globalの数を示す。Rate[i]、Buffer[i]、F[i]は、それぞれをＲmin、Ｂmin、Ｆminを示す。ここでは、例えば、Ｒminは、小さいものから順に記録される。
【００７９】
バッファ情報付加部７３において、上記のバッファ情報ＢＨが付加された後、最終的な出力ビットストリームＢＳが出力される。
【００８０】
なお、発明の実施の形態ではバッファ情報ＢＨとして、最小ビットレートRmin、最小バッファサイズBminおよび最小遅延量Fminの全てをビットストリームに付加するように説明した。しかし、この例に限らず、最小ビットレートRmin、最小バッファサイズBmin若しくは最小遅延量Fminのうち、少なくとも一つをビットストリームに加えるようにしてもよい。例えば、最小ビットレートRminおよび最小バッファサイズBminの組み合わせをビットストリームに付加するようにしてもよい。
【００８１】
図７に本発明を適用した復号装置の一実施の形態の構成を示す。図７に示した復号装置９０は、図５に示した符号化装置７０に対応するものであり、内部に、図２に示した画像情報復号装置４０を含んでいる。復号装置９０に入力されたビットストリームＢＳは、ビットストリーム解析部９１と復号可能性判定部９２に供給される。
【００８２】
ビットストリーム解析部９１は、ビットストリーム中のバッファ情報ＢＨを復号し、復号可能性判定部９２に出力する。ビットストリーム解析部９１は、ビットストリームをパースし、シーケンスヘッダに記録されている、（Ｒmin、Ｂmin、Ｆmin）globalを復号する。また、各ランダムアクセスポイントヘッダに記録されている、（Ｒmin、Ｂmin、Ｆmin）を復号する。これら情報が復号可能性判定部９２に出力される。
【００８３】
復号可能性判定部９２は、バッファ情報ＢＨおよび画像情報復号装置４０より供給されるデコーダ情報ＤＩに基づいて、入力されたビットストリームがバッファを破綻させること無く復号可能であるかどうかを判定する。デコーダ情報ＤＩは、例えば、デコーダバッファサイズおよび復号ビットレートなどである。
【００８４】
復号可能性判定部９２は、（Ｒmin、Ｂmin、Ｆmin）globalから、図４に示したような特性曲線を作成する。各点の間は線形補間する。この時、デコーダ（復号装置９０）のバッファおよび復号ビットレートが（Ｒmin、Ｂmin、Ｆmin）globalにより作られる特性曲線より上に位置する場合、入力されたビットストリームは、復号可能であると判断することが可能である。従ってこのようなとき、復号可能性判定部９２は、復号可能であると判定し、ビットストリームを画像情報復号装置４０に供給する。
【００８５】
画像情報復号装置４０は、図２に示した画像情報復号装置４０と基本的に同様な構成により、同様な処理を実行し、入力されたビットストリームを復号し、画像情報を図示されていないテレビジョン受像機などに出力する。
【００８６】
ビットストリーム全体を復号可能であるかどうかは上記のように、（Ｒmin、Ｂmin、Ｆmin）globalの特性曲線、デコーダバッファサイズ、復号ビットレートを調べることによって判定することが可能である。
【００８７】
また、ランダムアクセスなどにより、所定のランダムアクセスポイントから特定の区間のみを復号したい場合、同様にして、復号可能性判定部９２は、（Ｒmin、Ｂmin、Ｆmin）から図４に示すような特性曲線を作成する。各点の間は線形補間する。この時、デコーダのバッファおよび復号ビットレートが（Ｒmin、Ｂmin、Ｆmin）により作られる特性曲線より上に位置する場合、ビットストリームは復号可能である。従ってこのようなとき、復号可能性判定部９２は、復号可能であると判定し、ビットストリームを画像情報復号装置４０に供給する。
【００８８】
次にビットストリームの編集を行う際の説明を行う。図８は、本発明を適用したビットストリームの編集を行う編集装置１１０の一実施の形態の構成を示す図である。編集装置１１０が行う編集の例として、入力ビットストリーム１の一部を、別の入力ビットストリーム２に置き換えるスプライスを行う場合を例に挙げて説明する。
【００８９】
ここで、スプライスについて簡単に説明するに、スプライスとは、所定のビットストリームをランダムアクセスポイントにおいて別のビットストリームに置き換えて編集を行うことである。このようなスプライスは、例えば、テレビジョン放送の番組に、コマーシャルの放送を挿入する際などである。この場合、入力ビットストリーム１がテレビジョン放送の番組のビットストリームであり、入力ビットストリーム２がコマーシャルのビットストリームである。
【００９０】
入力ビットストリーム１は、ビットストリーム解析部１１１−１に入力され、入力ビットストリーム２は、ビットストリーム解析部１１１−２に入力される。ビットストリーム解析部１１１−１，１１１−２は、それぞれ入力されたビットストリーム１，２中に含まれているバッファ情報ＢＨ１，２を復号し、ビットストリーム編集部１１２に出力する。
【００９１】
ビットストリーム編集部１１２は、バッファ情報ＢＨ１，２に基づき、所定の編集ポイントで、入力ビットストリーム１に対して入力ビットストリーム２を挿入可能であるか否かを判定する。この時、編集後のビットストリームが、デコーダ（復号装置９０）のバッファを破綻させずに復号可能であるためには、ランダムアクセスポイントとその直前のバッファ占有量の値が同一であるという条件が必要である。
【００９２】
ＭＰＥＧ２，４方式を用いるデコーダは、特定のビットレート、バッファサイズで動作することが想定されていたが、ＪＶＴ方式を用いるデコーダにおいては、図４に示すように、その他のビットレート、バッファサイズであっても、（Ｒmin、Ｂmin、Ｆmin）の特性曲線より上にある場合、復号することが可能であるようにバッファに対する制約が緩和されている。
【００９３】
ビットストリームの編集により、その編集前後でデコード可能性が変化しないようにするためには、編集区間の（Ｒmin、Ｂmin、Ｆmin）が同一であれば良い。従って、ビットストリーム編集部１１２は、編集区間に位置するランダムアクセスポイントヘッダにおける（Ｒmin、Ｂmin、Ｆmin）特性を、入力ビットストリーム１，２に対して作成し、これらの値が一致する場合、その区間をビットストリーム２に置換する。一致しない場合、ビットストリーム１または２に対してパディングビットを挿入して、（Ｒmin、Ｂmin、Ｆmin）が一致するようにした後、入力ビットストリーム２に置換する。
【００９４】
ＪＶＴにおいては、バッファに対する規制が緩和されているが、このことを利用すれば、スプライスにおけるバッファの適合条件を緩和することが可能になる。ＪＶＴにおいては、デコーダのバッファサイズおよび復号ビットレートが（Ｒmin、Ｂmin、Ｆmin）の上に位置する場合、復号可能であることがわかる。従って、元の入力ビットストリーム１の所定の編集区間の（Ｒmin、Ｂmin、Ｆmin）に対して、挿入する入力ビットストリーム２の所定編集区間の（Ｒmin、Ｂmin、Ｆmin）が常に下にある場合、入力ビットストリーム１を復号可能なデコーダは、その区間をビットストリーム２に置換しても復号可能であることになる。
【００９５】
図９にその関係を図示する。曲線１は、入力ビットストリーム１の編集区間での（Ｒmin、Ｂmin、Ｆmin）特性を示す。曲線２は入力ビットストリーム２の編集区間での（Ｒmin、Ｂmin、Ｆmin）特性を示す。デコーダのバッファ、復号ビットレートが、この曲線の上に来る場合、復号可能であることから、図９に示すように曲線２が常に曲線１の下に来るとき、復号可能であることが保証される。
【００９６】
従って、ビットストリーム編集部１１２は、編集区間に位置するランダムアクセスポイントヘッダにおける（Ｒmin、Ｂmin、Ｆmin）特性を、ビットストリーム１，２に対して作成し、ビットストリーム２の特性曲線が、ビットストリーム１の特性曲線の下に来る場合、その区間をビットストリーム２に置換する。
【００９７】
逆に、一致しないような場合、ビットストリーム１または２に対してパディングビットを挿入して、ビットストリーム２の（Ｒmin、Ｂmin、Ｆmin）特性曲線が、ビットストリーム１の特性曲線の下に位置するように変更した後、入力ビットストリーム２に置換する。
【００９８】
このような条件を満たすようにスプライスを行った場合、ビットストリーム１を復号可能なデコーダを破綻させることはない。ビットストリーム編集部１１２はスプライスをした後、最終的なビットストリームを出力する。
【００９９】
このように、ビットストリーム中のランダムアクセスが行えるポイントのヘッダに、（Ｒmin、Ｂmin、Ｆmin）といった最小ビットレート、最小バッファサイズ、最小初期遅延時間などの情報を含ませることにより、復号側において、ビットストリームの復号可能性を効率良く判断することが可能となり、また、スプライシングなどのビットストリームの編集を容易に、かつ、復号側のバッファを破綻させることなく復号が常に行えるようにすることが可能となる。
【０１００】
図１０は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのＣＰＵ（Central Processing Unit）２１１は、ＲＯＭ（Read Only Memory）２１２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）２１３には、ＣＰＵ２１１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース２１５は、キーボードやマウスから構成される入力部２１６が接続され、入力部２１６に入力された信号をＣＰＵ２１１に出力する。また、入出力インタフェース２１５には、ディスプレイやスピーカなどから構成される出力部７も接続されている。
【０１０１】
さらに、入出力インタフェース２１５には、ハードディスクなどから構成される記憶部２１８、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部２１９も接続されている。ドライブ２２０は、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、半導体メモリ２３４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１０２】
記録媒体は、図１０に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２３１（フレキシブルディスクを含む）、光ディスク２３２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク２３３（MD（Mini-Disc）（登録商標）を含む）、若しくは半導体メモリ２３４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ２１２や記憶部２１８が含まれるハードディスクなどで構成される。
【０１０３】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１０４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０１０５】
７０  符号化装置，  ７１  バッファ，  ７２  ビットストリーム解析部，  ７３  バッファ情報付加部，  ９０  復号装置，  ９１  ビットストリーム解析部，  ９２  復号可能性判定部，  １１１  ビットストリーム解析部，  １１２  ビットストリーム編集部
【図１】
0005429580.tif 000002
【図２】
0005429580.tif 000003
【図３】
0005429580.tif 000004
【図４】
0005429580.tif 000005
【図５】
0005429580.tif 000006
【図６】
0005429580.tif 000007
【図７】
0005429580.tif 000008
【図８】
0005429580.tif 000009
【図９】
0005429580.tif 000010
【図１０】
0005429580.tif 000011