(57)【要約】【課題】  リアルタイムで動画像データを伝送した場合においても画質の劣化を防止すること。【解決手段】  入力画像データからＢピクチャデータを作成するときは、入力画像データに基づいたＢピクチャデータと、スキップＢピクチャデータを作成して符号化データバッファメモリ５に蓄積しておくようにする。そして、ｖｂｖバッファによる検証結果に基づいて、ＢピクチャデータをスキップＢピクチャに置き換えることで、符号化データ出力部６から出力されるビットストリーム出力のデータ量を調整することが可能になる。【選択図】図１
2005072742.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データを圧縮度が異なる所定単位の画像データに符号化した符号化データを出力するように構成されていると共に、前記入力画像データから圧縮度が最も大きい第１の符号化データを作成するときは、前記第１の符号化データと、少なくとも前記第１の符号化データよりデータ量が少ないとされるスキップ符号化データを作成して出力する画像符号化手段と、
前記画像符号化手段からの符号化データを一時的に蓄積する蓄積手段と、
前記蓄積手段に蓄積された前記符号化データに基づいたビットストリームを出力するデータ出力手段と、
前記データ出力手段から出力されるビットストリーム出力を一時蓄積するものであり、所定タイミングで上記符号化データ単位でのデータの読み出しが行われる復号装置側のバッファメモリにおけるデータ蓄積量を仮想的に求めるための仮想バッファを発生させる仮想バッファ発生手段と、
符号化データの作成状況から、前記仮想バッファにおけるデータ蓄積量において得られているデータ蓄積量を検証する検証手段と、
前記検証手段の検証結果に基づいて、前記第１の符号化データを前記スキップ符号化データに置き換えて符号化制御を行う符号化制御手段と、
を備えていることを特徴とする符号化装置。
【請求項２】
前記検証手段は、
前記第１の符号化データ以外の第２の符号化データを検証対象データとして検証を行うときは、前記検証対象データの一つ前の第１の符号化データとしたときの第１のデータ蓄積量と、前記検証対象データの一つ前の第１の符号化データをスキップ符号化データとしたときの第２のデータ蓄積量とを求め、
前記検証対象データのデータ量が、前記第１のデータ蓄積量を越えているときは、前記検証対象データの一つ前の第１の符号化データをスキップ符号化データに置き換えて検証を行うことを特徴とする請求項１に記載の符号化装置。
【請求項３】
入力画像データを圧縮度が異なる所定単位の画像データに符号化した符号化データを出力するように構成されていると共に、前記入力画像データから圧縮度が最も大きい第１の符号化データを作成するときは、前記第１の符号化データと、少なくとも前記第１の符号化データよりデータ量が少ないとされるスキップ符号化データを作成して出力する画像符号化手順と、
前記画像符号化手順からの符号化データを一時的に蓄積する蓄積手順と、
前記蓄積手順に蓄積された前記符号化データに基づいたビットストリームを出力するデータ出力手順と、
前記データ出力手順から出力されるビットストリーム出力を一時蓄積するものであり、所定タイミングで上記符号化データ単位でのデータの読み出しが行われる復号装置側のバッファメモリにおけるデータ蓄積量を仮想的に求めるための仮想バッファを発生させる仮想バッファ発生手順と、
符号化データの作成状況から、前記仮想バッファにおけるデータ蓄積量において得られているデータ蓄積量を検証する検証手順と、
前記検証手順の検証結果に基づいて、前記第１の符号化データを前記スキップ符号化データに置き換えて符号化制御を行う符号化制御手順と、
を実行することを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＭＰＥＧ（Moving Picture Experts Group）の規格で画像データを圧縮して符号化を行う符号化装置及び符号化方法に関するものである。
【背景技術】
【０００２】
従来から画像データに対して圧縮処理を行う方式としては、ＭＰＥＧ方式が提案されており、このＭＰＥＧ方式により画像データを圧縮処理を行い、符号化する符号化装置がある。
上記したような符号化装置では、入力画像データを一旦画像メモリに蓄えた後、圧縮符号化するようにされる。そして、圧縮符号化された符号化データを、バッファメモリに蓄えた後、ビットストリームとして出力するようにされる。
【０００３】
なお、ＭＰＥＧ１及びＭＰＥＧ２は、ＩＳＯ（International Origanization for Standardization：国際標準化機構）とＩＥＣ（International Electrotechnical Commission：国際電気標準会議）によって標準化が進められたカラー動画像蓄積用符号化方式とされる。
ＭＰＥＧ１は、周期的なフレーム内符号化を取り入れた動き補償予測／ＤＣＴ（離散コサイン変換）方式を符号化アルゴリズムとし、１．５Ｍｂｐｓ程度の転送速度を持つとされる。また、ＭＰＥＧ２は、ＭＰＥＧ１の上位バージョンであり、数Ｍｂｐｓ〜数十Ｍｂｐｓという広範囲の転送速度を対象とする。
ＭＰＥＧ１は、主にＣＤ−ＲＯＭなどの蓄積メディアを適用対象とする。またＭＰＥＧ２は放送やＡＶ機器への適用対象としている。
【０００４】
ところで、上記したような符号化装置から出力されるビットストリームを復号装置側に伝送する場合は、復号装置側で連続する画像が途切れることなく、デコードを行うことができるようにするために、符号化装置側でデータ量の制御を行う必要がある。
【０００５】
このため、符号化装置には、復号装置側のバッファメモリのデータ量を管理するために、ＭＰＥＧの規格で規定されているｖｂｖ（Video Buffering Verifier）バッファと呼ばれる理想デコーダモデルの仮想バッファを設定し、このｖｂｖバッファがオーバーフローしたり、アンダーフローしないようにデータ量の検証を行うようにしている。
そして、符号化装置では、このｖｂｖバッファの検証結果に基づいて、符号化データのデータ量を抑制したり、或いは転送時のビットレートを変更するなどして、符号化装置から出力される復号装置側のバッファメモリのデータ量を調整するようにしている。
【０００６】
ここで、図８を参照しながら、従来の符号化装置において、入力画像データの符号化を行ったときにｖｂｖバッファに蓄積されるデータ蓄積量の遷移状態について説明する。
なお、図８では、ビットレートをＲ、フレームレートにより決定されるピクチャ間の時間をＴｐとして説明する。
また、ｖｂｖバッファは、上記したように理想デコーダモデルの仮想バッファであることから、その全体の容量サイズ（vbv_buffer_size）は、復号装置側のバッファメモリの容量サイズに合わせて設定される。
【０００７】
ｖｂｖバッファは、例えば時点ｔ０から入力画像データの符号化が開始されるものとして、以降、例えばビットレートＲのデータ転送速度によりデータが蓄積されることになる。そして、時点ｔ０から時間Ｔｄだけ経過した時点ｔ１において、復号装置側でデコード処理が開始されると、ｖｂｖバッファから１枚目のピクチャに相当するデータｂ１が読み出される。そして、時点ｔ１からＴｐ経過した時点ｔ２において、ｖｂｖバッファから２枚目のピクチャに相当するデータｂ２が読み出される。以降は、時点ｔ２から時間長Ｔｐ経過した時点ｔ３，ｔ４・・・ごとに、ｖｂｖバッファから３枚目、４枚目のピクチャに相当するデータｂ３，ｂ４が読み出されることになる。
【０００８】
ｖｂｖバッファは、このような動作を繰り返し行うことで、各時点において読み出される各ピクチャのデータ量が、各時点におけるデータ蓄積量を越えないかどうかの検証を行うようにしている。
【０００９】
各時点におけるデータ蓄積量の求め方としては、例えば時点ｔ４におけるデータ蓄積量は、例えば時点ｔ３におけるピクチャに相当するデータｂ３が読み出された後のｖｂｖバッファのビット残量をＢ０とすると、次の時点ｔ４におけるデータ蓄積量Ｂ１は、時点ｔ３におけるビット残量Ｂ０と、時点ｔ３から時点ｔ４までの時間長Ｔｐと、そのビットレートＲから以下のような演算により求めることができる。
Ｂ１＝Ｂ０＋Ｒ×Ｔｐ
【００１０】
そして、時点ｔ４では、ｖｂｖバッファから４枚目のピクチャに相当するデータｂ４が読み出されることになるが、このときは、ｖｂｖバッファのデータ蓄積量Ｂ１を上限にして４枚目のピクチャに相当するデータｂ４の読み出しが可能かどうか検証するようにしている。そして、このような検証を行った結果、時点ｔ４において、ｖｂｖバッファから４枚目のピクチャに相当するデータｂ４を読み出すと、ｖｂｖバッファがアンダーフローしてしまうような場合には、例えば画像圧縮符号化部で４枚目のピクチャの符号化データを作成するときのデータ量を減らしたり、或いは４枚目のピクチャに相当するデータを伝送するときのビットレートを変更するなどして、ｖｂｖバッファがアンダーフローしないように制御を行うようにしていた。
【００１１】
なお、本発明に関連する技術文献としては、以下の特許文献を挙げることができる。
【特許文献１】特開平１１−２６２００８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記のように、従来の符号化装置では、ｖｂｖバッファのデータ蓄積量が１枚のピクチャに相当するデータ量より小さい場合は、そのピクチャの符号化データを作成するときの、Ｑ（量子化）スケールを大きくしたり、ＤＣＴ（離散コサイン変換）係数を削るなどの処理を行うなどしてそのピクチャのデータ量を減らして復号装置側のバッファメモリが破綻しないように制御を行うようにしていた。
【００１３】
しかしながら、上記したような制御を行った場合には、例えばデータ量を減らしたピクチャが画像品質に大きく影響を与えるピクチャである場合、例えばそのデータ量を減らしたピクチャが、他のピクチャをデコードする際に参照画像として用いられるピクチャである場合には、復号装置では数フレームにわたって画質の劣化が発生するという欠点があった。
【００１４】
特に、放送または通信などのリアルタイムでのデータ伝送が要求されるシステムで処理を行う場合、上記したような構成の符号化装置では復号装置側で著しい画質劣化を招くおそれがあった。
【課題を解決するための手段】
【００１５】
そこで、本発明は上記したような点を鑑みてなされたものであり、入力画像データを圧縮度が異なる所定単位の画像データに符号化した符号化データを出力するように構成されていると共に、入力画像データから圧縮度が最も大きい第１の符号化データを作成するときは、第１の符号化データと、少なくとも前記第１の符号化データよりデータ量が少ないとされるスキップ符号化データを作成して出力する画像符号化手段と、この画像符号化手段からの符号化データを一時的に蓄積する蓄積手段と、この蓄積手段に蓄積された前記符号化データに基づいたビットストリームを出力するデータ出力手段と、このデータ出力手段から出力されるビットストリーム出力を一時蓄積するものであり、所定タイミングで符号化データ単位でのデータの読み出しが行われる復号装置側のバッファメモリにおけるデータ蓄積量を仮想的に求めるための仮想バッファを発生させる仮想バッファ発生手段と、符号化データの作成状況から、仮想バッファにおけるデータ蓄積量において得られているデータ蓄積量を検証する検証手段と、この検証手段の検証結果に基づいて、前記第１の符号化データを前記スキップ符号化データに置き換えて符号化制御を行う符号化制御手段とを備えて構成することとした。
【００１６】
また本発明の符号化方法は、入力画像データを圧縮度が異なる所定単位の画像データに符号化した符号化データを出力するように構成されていると共に、入力画像データから圧縮度が最も大きい第１の符号化データを作成するときは、第１の符号化データと、少なくとも第１の符号化データよりデータ量が少ないとされるスキップ符号化データを作成して出力する画像符号化手順と、画像符号化手順により作成された符号化データを一時的に蓄積する蓄積手順と、蓄積手順により蓄積された符号化データに基づいたビットストリームを出力するデータ出力手順と、データ出力手順にから出力されるビットストリーム出力により、復号装置側のバッファメモリに蓄積されるデータ量を仮想的に求める仮想バッファ手順と、仮想バッファ手順を用いて復号装置側のデータ量の検証を行う検証手順と、検証手順の検証結果に基づいて、第１の符号化データをスキップ符号化データに置き換えて符号化制御を行う符号化制御手順とを実行するようにした。
【００１７】
上記構成によれば、入力画像データから第１の符号化データを作成するときは、この第１の符号化データよりデータ量が少ないとされるスキップ符号化データを作成するようにされる。そして、仮想バッファ手段を用いた検証手段による検証結果に基づいて、第１の符号化データをスキップ符号化データに置き換えることで、データ出力手段から出力されるビットストリーム出力のデータ量を調整することが可能になる。
【発明の効果】
【００１８】
このような本発明によれば、画質を保つうえで重要とされる、第１の符号化データ以外の第２の符号化データのデータ量を減らすことなく、データ出力手段から出力されるビットストリーム出力のデータ量を調整することが可能になる。
この結果、復号装置側において動画像を復号したときに、従来のように数フレームにわたって画質が大きく損なわれるといったことがなく、画質を大幅に向上させることができるようになる。
【００１９】
特に、本発明の符号化装置は、復号装置への動画像データをリアルタイムでの伝送が要求される放送やＡＶシステムに適用した場合に非常に有用とされるものである。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態としての符号化装置について説明する。
図１は、本実施の形態としての符号化装置の構成を示したブロック図である。
この図１において、画像入力部２を介して入力された画像データは、画像メモリ３に入力される。画像メモリ３は、例えば画像入力部２からの画像データを一時的に保持するようにされる。
【００２１】
画像圧縮符号化部４は、画像メモリ３に保持された画像データについてＭＰＥＧによる圧縮符号化処理を施して出力するようにされる。
すなわち、画像圧縮符号化部４では、映像信号（１フレーム）のブロック化による細分化を行い、各ブロックのデータのＤＣＴ（離散コサイン変換）を行い、さらにビット数を減らすために再量子化を行う（高域成分を０にする）。そして、ブロックを１フレームの画面左上となるブロックからジグザグとなるようにブロック順を並び代え、ランレングスコーディングを行ってさらにビット数を圧縮するようにしている。
【００２２】
ここで、画像圧縮符号化部４において作成される符号化データについて簡単に説明しておく。
画像圧縮符号化部４では、上記のようにして圧縮処理される画像信号の各フレームについては、その時間的に前後となるフレームでは映像情報として非常に似たものであり、これを利用してさらに情報の圧縮が行われ、圧縮度の異なる３種類の画像データ（１フレームの映像データ）が設けられる。これらは、Ｉピクチャ(Intra Picture)、Ｐピクチャ(Predicted Picture)、Ｂピクチャ(Bidirectionally predicted Picture)と呼ばれる。
【００２３】
この場合、Ｉピクチャは、フレーム内予測画面のみからなる画像データとされ、Ｐピクチャはフレーム間順方向予測により生成される画像データとされる。またＢピクチャはフレーム間双方向予測により生成される画像データとされる。このため、ＩピクチャとＰピクチャは原画像と同じ順序で符号化される。
一方、Ｂピクチャは、ＩピクチャとＰピクチャを先に処理した後、間に挿入されるＢピクチャを後で符号化するようにしている。
【００２４】
また、或るＩピクチャから始まる複数のピクチャにより、ＧＯＰ（Group of Picture）が構成される。この場合、各ＧＯＰの独立性を維持して、ランダム・アクセスを行うためには、１つのＧＯＰ内には最低１枚のＩピクチャが必要とされる。またＧＯＰの最後は、ＩピクチャまたはＰピクチャであることが必要とされる。
【００２５】
また本実施の形態の画像圧縮符号化部４は、第１の符号化データであるＢピクチャの符号化データ（以下、「Ｂピクチャデータ」という）を作成するときに、全てのマクロブロックにおいて係数「０」、ベクトル統一で参照値「０」とされる、いわゆるスキップＢピクチャと呼ばれる画像データを合わせて作成するようにされる。そして、このように作成したスキップ符号化データとされるスキップＢピクチャの符号化データ（以下、「スキップＢピクチャデータ」という）を、Ｂピクチャデータと共に符号化データバッファメモリ５に出力するようにされる。なお、スキップＢピクチャデータは、画像サイズが決定されれば一意に求められるものである。
【００２６】
符号化データバッファメモリ５は、画像圧縮符号化部４で符号化された符号化データを取り込んで、一時的に蓄積して、符号化データ出力部６に対して出力するようにされる。
このような符号化データバッファメモリ５の実メモリサイズ（実容量）は、ＭＰＥＧの規格で規定されているｖｂｖバッファの仮想バッファより大きいメモリサイズとされる。
【００２７】
そこで、本実施の形態では、符号化データバッファメモリ５の実メモリサイズがｖｂｖバッファのメモリサイズより大きいことを利用して、画像圧縮符号化部４から取り込んだデータを離散的に読み出すことができるように構成されている。
すなわち、本実施の形態としての符号化データバッファメモリ５は、従来用いられていた、リングバッファやＦＩＦＯ（First in Farst out）バッファ的なものとは異なり、アドレス制御により、離散的に記憶されているデータを連続したデータとして読み出すことができるものとされる。
【００２８】
符号化データ出力部６は、符号化データバッファメモリ５から入力されるピクチャデータをストリームとして出力するようにされる。
【００２９】
符号化制御部７は、画像圧縮符号化部４、符号化データバッファメモリ５、符号化データ出力部６の制御を行うようにされる。
即ち、符号化制御部７は、画像圧縮符号化部４において、画像メモリ３に蓄積された画像データから第２の符号化データであるＩピクチャやＰピクチャ、或いは第１の符号化データであるＢピクチャなどの符号化データを作成するための制御を実行する。また、画像メモリ３に蓄積された画像データからＢピクチャの符号化データを作成する際には、スキップＢピクチャの符号化データを作成するための制御も実行する。
【００３０】
また符号化制御部７は、符号化データバッファメモリ５の実メモリエリアに記憶、保持されているピクチャデータから任意のピクチャデータだけを読み出して出力させるための制御も実行するようにされる。即ち、符号化データバッファメモリ５に離散的に記憶、保持されているピクチャデータを連続したピクチャデータとして出力することが可能とされる。例えば符号化制御部７は、図２に示すように、符号化データバッファメモリ５の実メモリエリアに有効データとして、離散的に存在する複数のピクチャデータＡ，Ｂ，Ｃを連続したピクチャデータとして出力することが可能とされる。
この結果、符号化データ出力部６から出力される符号化データは、例えばピクチャデータＡ、ピクチャデータＢ、ピクチャデータＣの順で連続したものとなる。
【００３１】
また、符号化装置１では、符号化データ出力部６から出力されるビットストリーム出力を、図示しない復号装置（デコーダ）側に伝送する場合は、復号装置側で途切れることなく、デコードできるようにデータ量を制御する必要がある。
このため、符号化装置１には、復号装置側のデータ量を検証するための仮想バッファ手段として、ＭＰＥＧの規格で規定されているｖｂｖバッファが設定されており、このｖｂｖバッファにより、符号化データの発生量を管理して、復号装置側のバッファが破綻しないように、デコーダ側のデータ量の制御を行うようにしている。
【００３２】
このような仮想バッファ手段であるｖｂｖバッファは、物理的なメモリとしては存在しないものであり、例えば符号化制御部７が、その内部に設けられているＲＡＭ（Random Access Memory）７ａなどを作業領域として、ｖｂｖバッファについての演算を実行することにより検証手段として形成されるものである。なお、ｖｂｖバッファは、符号化データバッファメモリ５を作業領域として利用することも可能である。
【００３３】
さらに符号化制御部７は符号化制御手段として、ｖｂｖバッファにより得られた復号装置側のデータ量を検証した検証結果に基づいて、符号化データバッファメモリ５の読み出し制御を行うようにしている。
【００３４】
ここで、図３〜図５を参照しながら、本実施の形態の符号化装置において、入力画像データの符号化を行ったときにｖｂｖバッファに蓄積されるデータ蓄積量の遷移状態について説明する。なお、これら図３〜図５では、ビットレートをＲ、フレームレートにより決定されるピクチャ間の時間をＴｐとする。
【００３５】
本実施の形態においても、ｖｂｖバッファは、先にも述べたように理想デコーダモデルの仮想バッファであることから、その全体の容量サイズ（vbv_buffer_size）は、復号装置側のバッファメモリの容量サイズに合わせて設定される。
【００３６】
ｖｂｖバッファの基本的な動作は、先に図８を用いて説明した従来のｖｂｖバッファと同じとされる。
すなわち、本実施の形態のｖｂｖバッファは、図３に示すように、例えば時点ｔ０から入力画像データの符号化が開始されると、以降、例えばビットレートＲでデータが蓄積されることになる。そして、時点ｔ０から時間Ｔｄだけ経過した或る時点、少なくともｖｂｖバッファ蓄積されるデータがオーバーフローしない或る時点ｔ１において、復号装置側でデコード処理が開始されるものとして、ｖｂｖバッファから１枚目のピクチャに相当するデータｂ１が読み出される。そして、時点ｔ１からＴｐ経過した時点ｔ２において、ｖｂｖバッファから２枚目のピクチャに相当するデータｂ２が読み出される。そして、時点ｔ２から時間長Ｔｐ経過した時点ｔ３・・・において、ｖｂｖバッファから３枚目のピクチャに相当するデータｂ３が読み出されることになる。以降は、時点ｔ３から時間長Ｔｐ経過するごとに、ｖｂｖバッファから各時点でのピクチャに相当するデータが読み出されることになる。
【００３７】
このように本実施の形態のｖｂｖバッファにおいても、上記したような動作を繰り返し行うことで、各時点において読み出される各ピクチャのデータ量が各時点におけるデータ蓄積量を越えないかどうかの検証を行うようにしている。
【００３８】
各時点におけるデータ蓄積量の求め方としては、例えば時点ｔ４におけるデータ蓄積量は、例えば時点ｔ３におけるピクチャに相当するデータｂ３が読み出された後のｖｂｖバッファのビット残量をＢ０とすると、次の時点ｔ４におけるデータ蓄積量Ｂ１は、時点ｔ３におけるビット残量Ｂ０と、時点ｔ３から時点ｔ４までの時間長ＴｐとそのビットレートＲから以下のような演算により求めることができる。
Ｂ１＝Ｂ０＋Ｒ×Ｔｐ
【００３９】
そのうえで、本実施の形態のｖｂｖバッファでは、例えば時点ｔ４においてｖｂｖバッファから読み出される４枚目のピクチャに相当するピクチャデータｂ４が、ＩピクチャまたはＰピクチャだった場合、この時点ｔ４におけるピクチャデータを検証対象データとする。そして、この時点ｔ４の一つ前の読み出し時点ｔ３において、ｖｂｖバッファから読み出されたピクチャがＢピクチャである場合には、時点ｔ３において読み出したピクチャのデータｂ３を、演算により求めたスキップＢピクチャのデータｂｓに置き換えたときのビット残量Ｂ０’を求めるようにしている。
【００４０】
時点ｔ３のＢピクチャをスキップＢピクチャに置き換えたときの時点ｔ４におけるデータ蓄積量Ｂ１’は、ビット残量Ｂ０’と、時点ｔ３から時点ｔ４までの時間長ＴｐとそのビットレートＲから、以下のような演算により求めることができる。
Ｂ１’＝Ｂ０’＋Ｒ×Ｔｐ
【００４１】
ここで、例えば図４に示すように、時点ｔ４のピクチャ（ＩピクチャまたはＰピクチャ）に相当するデータｂ４がデータ蓄積量Ｂ１より大きい（ｂ４＞Ｂ１）とすると、この場合は、ｖｂｖバッファがアンダーフローすることになる。即ち、復号装置のバッファメモリがデータ不足の状態に陥ることになる。
【００４２】
このため、従来の符号化装置では、時点ｔ４のピクチャの符号化データを作成するときのデータ量を減らした、或いはピクチャに相当するビットストリームを出力するときのビットレートを変更するなどの制御を行うようにしていた。
【００４３】
しかしながら、このピクチャデータがＢピクチャをデコードする際の参照画像になるＩピクチャや、Ｐピクチャの場合には、ＩピクチャやＰピクチャの画質のみならず、参照画像として利用したＢピクチャの画質も劣化するため、先においても述べたように、数フレームにわたって画質が劣化することがある。
【００４４】
そこで、本実施の形態の符号化装置１では、図４に示したように、Ｉピクチャ若しくはＰピクチャに相当するデータｂ４が、時点ｔ３のピクチャをＢピクチャのときのデータ蓄積量Ｂ１より大きい（ｂ４＞Ｂ１）場合には、図５に示すように、時点ｔ３におけるピクチャをＢピクチャからステップＢピクチャに置き換えるようにしている。
【００４５】
この結果、図５に示すように、時点ｔ４におけるデータ蓄積量Ｂ１をＢ１’とし、時点ｔ４においてＩピクチャまたはＰピクチャに相当するデータｂ４がデータ蓄積量Ｂ１’より小さくなり、ｖｂｖバッファがアンダーフローしないようにすることができる。すなわち、ｖｂｖバッファにおいて復号装置のバッファメモリに破綻が生じないことを検証することができるようになる。
【００４６】
ここで、図６を用いて、本実施の形態の符号化装置１により、上記のようなｖｂｖバッファの検証結果に基づいたビットストリームを出力するための動作について説明する。
先においても説明したように、符号化データバッファメモリ５の実メモリサイズはｖｂｖバッファのメモリサイズより大きいとされる。
そこで、本実施の形態の符号化装置１では、上記のような符号化データバッファメモリ５を有効的に利用するようにしている。すなわち、符号化制御部７の制御により、符号化データバッファメモリ５に対して離散的に蓄積されたデータを連続したデータとして符号化データ出力部６に対して出力することで、ｖｂｖバッファの検証結果に基づいたビットストリームを出力するようにしている。
【００４７】
このため、本実施の形態の符号化装置１では、符号化制御部７が、画像圧縮符号化部４において、Ｂピクチャデータを作成する際に、このＢピクチャデータと、このＢピクチャデータよりデータ量が少ないスキップＢピクチャデータを作成して符号化データバッファメモリ５に蓄積するようにしている。
【００４８】
そして、上記したようにｖｂｖバッファにおいて、復号装置側のデータ量が規定範囲を超えると検証されたときには、符号化データバッファメモリ５上において、ＢピクチャデータをスキップＢピクチャデータに書き換え、符号化データ出力部６からは、符号化データバッファメモリ５上において書き換えたスキップＢピクチャデータだけを出力するようにしている。これにより、本実施の形態の符号化装置１では、復号装置側のバッファメモリが破綻しないようなビットストリームを出力することができるようになる。
【００４９】
なお、ｖｂｖバッファにおいて、蓄積されるデータ量が規定範囲を超えないと検証されたときには、従来と同様のビットストリームを出力するようにしている。つまり、符号化データバッファメモリ５上において、時点ｔ３におけるピクチャデータをＢピクチャデータからスキップＢピクチャデータに書き換えることなく、ビットストリームが出力されることになる。
【００５０】
このように、本実施の形態の符号化装置１においては、ｖｂｖバッファの検証結果に基づいて、ＢピクチャをスキップＢピクチャに置き換えることで、復号装置において復号するときに画質を保つうえで重要になる、ＩピクチャまたはＰピクチャのデータ量を減らすことなく、復号装置側に伝送されるデータ量の調整を行うようにしている。
【００５１】
このように構成すると、例えばＩピクチャやＰピクチャの量子化スケールを粗く処理してデータ量を減らす場合に比べて、画像品質の向上を図ることができるようになる。これはＢピクチャは量子化スケールを粗く処理しても平均的画質を維持することができるからである。
【００５２】
したがって、本実施の形態とされる符号化装置を、リアルタイムでの伝送が要求される放送やＡＶシステムなどに適用した場合に画質を大幅に向上させることができ、非常に有用とされる。
【００５３】
図７は、上記したようなｖｂｖバッファを用いた検証動作を実現するために、符号化制御部７が実行する処理を示したフローチャートである。なお、以下に示す処理動作は、ｖｂｖバッファにおいて、ＩピクチャまたはＰピクチャに相当するデータの符号化を行うときに実行するものとされる。
【００５４】
この場合、符号化制御部７は、先ず、ステップＳ１０１において、ｖｂｖバッファからＩピクチャまたはＰピクチャの符号化が行われる或る時点より一つ前の時点におけるｖｂｖバッファのバッファ残量Ｂ０と、目標ビットレートＲとから、或る時点におけるＩピクチャまたはＰピクチャの符号化が行われる前のｖｂｖバッファのデータ蓄積量Ｂ１を求めるようにする。
【００５５】
続くステップＳ１０２において、一つ前の時点におけるＢピクチャをスキップＢピクチャとしたときのデータｂｓを求めるようにする。
次に、ステップＳ１０３において、一つ前の時点におけるＢピクチャをスキップＢピクチャとしたときのｖｂｖバッファ残量Ｂ０’と、目標ビットレートＲとから、或る時点におけるＩピクチャまたはＰピクチャの符号化が行われる前のｖｂｖバッファのデータ蓄積量Ｂ１’を求めるようにする。
【００５６】
そして、次のステップＳ１０４において、ｖｂｖバッファのデータ蓄積量Ｂ１’を上限として、ＩピクチャまたはＰピクチャの符号化を行うようにする。
【００５７】
次に、ステップＳ１０５において、ＩピクチャまたはＰピクチャのピクチャデータがｖｂｖバッファのデータ蓄積量Ｂ１を越えたかどうかの判別を行い、データｂがｖｂｖバッファのデータ蓄積量Ｂ１を越えていると判別したときは、ステップＳ１０６に進む。
そして、ステップＳ１０６において、一つ前の時点のＢピクチャをスキップＢピクチャに置き換えて処理を終えることになる。
一方、ステップＳ１０５において、データｂがｖｂｖバッファのデータ蓄積量Ｂ１を越えていないと判別したときは、ＢピクチャをスキップＢピクチャに置き換えることなく処理を終えることになる。
このような処理を行うようにすれば、上記図３〜図５に示したｖｂｖバッファの動作を符号化制御部７により実現することができる。
【００５８】
なお、本実施の形態においては、ＭＰＥＧ方式による符号化方式を例に挙げて説明したが、これはあくまでも一例であり、ＭＰＥＧ方式以外の符号化方式にも適用可能である。
また、本実施の形態では、本発明としてのｖｂｖバッファを用いた検証動作をＩピクチャまたはＰピクチャの符号化時に行うものとして説明したが、Ｂピクチャの符号化時に行うことをも可能である。
また、本実施の形態としての符号化装置の構成は、あくまでも一例であり、仮想バッファを備えた符号化装置で有れば何れの構成のものにも適用可能である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態としての画像符号化装置の構成を示したブロック図である。
【図２】本実施の形態としての符号化データ出力部の構成を示した図である。
【図３】本実施の形態としてのｖｂｖバッファに蓄積されるデータの遷移状態を示した図である。
【図４】本実施の形態としてのｖｂｖバッファに蓄積されるデータの遷移状態を示した図である。
【図５】本実施の形態としてのｖｂｖバッファに蓄積されるデータの遷移状態を示した図である。
【図６】本実施の形態とされる符号化データ出力部の構成を示した図である。
【図７】本実施の形態とされる画像符号化装置の符号化制御部が実行する処理を示したフローチャートである。
【図８】従来のｖｂｖバッファに蓄積されるデータの遷移状態を示した図である。
【符号の説明】
【００６０】
１  符号化装置、２  画像入力部、３  画像メモリ、４  画像圧縮符号化部、５  符号化データバッファメモリ、６  符号化データ出力部、７  符号化制御部、７ａ  ＲＡＭ
【図１】
2005072742.tif 000003
【図２】
2005072742.tif 000004
【図３】
2005072742.tif 000005
【図４】
2005072742.tif 000006
【図５】
2005072742.tif 000007
【図６】
2005072742.tif 000008
【図７】
2005072742.tif 000009
【図８】
2005072742.tif 000010