(57)【特許請求の範囲】
【請求項１】
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化した符号化データを示す入力ストリームを復号する動画像復号装置であって、
前記入力ストリームからグループ情報を抽出するグループ情報抽出部と、
前記入力ストリームから抽出したグループ復号遅延情報と、前記グループ情報抽出部で抽出されたグループ情報からグループ毎に復号時刻を算出する復号時刻算出部と、
前記入力ストリームから抽出したグループ出力遅延情報と、前記グループ情報抽出部で抽出されたグループ情報から、前記ピクチャの先頭グループの出力時刻を算出する出力時刻算出部と、
前記入力ストリームを受け取り、前記復号時刻算出部で算出されたグループ毎の復号時刻に復号を行い、復号ブロックを出力するブロック復号部と、
前記復号ブロックを保存するフレームメモリと、
前記フレームメモリに保存された前記グループ内の各復号ブロックを前記出力時刻算出部で算出された前記ピクチャの先頭グループの出力時刻に出力するグループ出力部と、
前記グループの表示を制御する表示制御部とを備え、
前記ブロック復号部は、前記各グループの復号時刻に復号に必要な全データが到達しているかどうかを受信データに基づいて確認し、
前記表示制御部は、前記グループの復号時刻に、前記グループの復号に必要な全データが到達していない場合には、前記グループの属する前記ピクチャの各復号ブロックの代わりに、前記フレームメモリに保存された別の復号ブロックを表示するように前記グループ出力部を制御する動画像復号装置。
【請求項２】
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化した符号化データを示す入力ストリームを復号する動画像復号方法であって、
前記入力ストリームからグループ情報を抽出し、
前記入力ストリームから抽出したグループ復号遅延情報と、抽出されたグループ情報からグループ毎に復号時刻を算出し、
前記入力ストリームから抽出したグループ出力遅延情報と、抽出されたグループ情報から、前記ピクチャの先頭グループの出力時刻を算出し、
前記入力ストリームを受け取り、算出されたグループ毎の復号時刻に復号を行い、復号ブロックを出力し、
前記復号ブロックをフレームメモリに保存し、
前記フレームメモリに保存された前記グループ内の各復号ブロックを算出された前記ピクチャの先頭グループの出力時刻に出力し、
前記グループの表示を制御する処理をコンピュータが実行し、
前記復号を行う処理は、前記グループの復号時刻に復号に必要な全データが到達しているかどうかを受信データに基づいて確認し、
前記表示を制御する処理は、前記グループの復号時刻に、前記グループの復号に必要な全データが到達していない場合には、前記グループの属する前記ピクチャの各復号ブロックの代わりに、前記フレームメモリに保存された別の復号ブロックを表示するように制御する動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像データに含まれるピクチャを複数のブロックに分割してブロックごとに符号化して得られた入力ストリームを復号する動画像復号装置及び動画像復号方法に関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。
【０００３】
代表的な動画像の符号化標準技術として、ＩＳＯ／ＩＥＣ（International Standardization Organization/International Electrotechnical Commission）で策定されたＭＰＥＧ（Moving Picture Experts Group phase）−２、ＭＰＥＧ−４、あるいはＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４（H.264 MPEG-4 Advanced Video Coding）が広く利用されている。
【０００４】
このような符号化標準技術では、符号化対象のピクチャと、その前後のピクチャの情報を用いて、符号化対象のピクチャを符号化するインター符号化方法及び符号化対象ピクチャが持つ情報のみを用いて符号化するイントラ符号化方法が採用されている。
【０００５】
一般に、インター符号化方法で符号化されたピクチャ又はブロックの符号量は、イントラ符号化方法で符号化されたピクチャ又はブロックの符号量に比べて小さい。このように、選択された符号化モードにより、シーケンス内でピクチャの符号量の偏りが生じる。同様に、選択された符号化モードにより、ピクチャ内でブロックの符号量の偏りが生じる。
【０００６】
そこで、符号量が時間的に変動しても、一定の伝送レートにて符号化された動画像を含むデータストリームを伝送できるように、伝送元の装置にデータストリーム用の送信バッファが用意され、また伝送先の装置にデータストリーム用の受信バッファが用意される。
【０００７】
これらのバッファによる遅延（以降、バッファ遅延と呼ぶ）が、符号化装置における各ピクチャの入力から、復号装置における復号した各ピクチャの表示までの遅延（以降、コーデック遅延と呼ぶ）の主要因となる。コーデック遅延には、復号に関する遅延である復号遅延と、表示（出力）に関する遅延である表示遅延とを含む。
【０００８】
バッファのサイズを小さくすることでバッファ遅延及びコーデック遅延は減少する。しかし、バッファのサイズが小さくなるほど、ピクチャ毎の符号量配分の自由度も減少し、その結果として再生される動画像の画質が劣化する。符号量配分の自由度は、符号量の変動度合いを意味する。
【０００９】
ＭＰＥＧ−２及びＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４では、それぞれＶＢＶ（Video Buffering Verifier）とＣＰＢ（Coded Picture Buffer）と呼ばれる、理想的な復号装置における受信バッファの動作を規定している。以降、理想的な復号装置を理想復号装置と呼ぶ。
【００１０】
動画像符号化装置は、理想復号装置の受信バッファをオーバーフロー及びアンダーフローさせないように、符号量を制御する。理想復号装置は、復号処理に要する時間が０である瞬時復号を行うと規定されている。例えば、ＶＢＶに関する動画像符号化装置の制御を行う技術がある（例えば、特許文献１参照）。
【００１１】
動画像符号化装置は、理想復号装置の受信バッファがオーバーフロー及びアンダーフローしないように、理想復号装置があるピクチャを復号する時刻にそのピクチャのデータが受信バッファに格納されていることを保証するように符号量を制御する。
【００１２】
受信バッファのアンダーフローは、動画像符号化装置が一定の伝送レートでストリームを送信した場合に、各ピクチャの符号量が多く、動画像復号装置が復号、表示するべき時刻までに、ピクチャの復号に必要なデータの伝送が完了していない場合に生じる。すなわち、受信バッファのアンダーフローは、復号装置の受信バッファ内にピクチャを復号するために必要データが存在していないことである。この場合、動画像復号装置は復号処理を行うことができないため、フレームスキップが発生することとなる。
【００１３】
動画像復号装置は、受信バッファのアンダーフローを起こさずに復号処理するため、受信時刻から所定の時間だけストリームを遅延させてからピクチャを表示する。
【００１４】
上述したように、理想復号装置では、処理時間０で、瞬時的に復号処理が完了すると規定される。そのため、動画像符号化装置へのｉ番目ピクチャ（以降、Ｐ（ｉ）とも表記する）の入力時刻をｔ（ｉ）、理想復号装置における、Ｐ（ｉ）の復号時刻をｄｔ（ｉ）とすれば、そのピクチャが表示可能となる時刻は、復号時刻と同様でｄｔ（ｉ）となる。
【００１５】
全てのピクチャにおいてピクチャの表示期間｛ｔ（ｉ＋１）−ｔ（ｉ）｝と｛ｄｔ（ｉ＋１）−ｄｔ（ｉ）｝が等しくなるので、復号時刻ｄｔ（ｉ）は、入力時刻ｔ（ｉ）から固定時間ｄｌｙ分だけ遅延させた時刻｛ｄｔ（ｉ）＝ｔ（ｉ）＋ｄｌｙ｝となる。従って、動画像符号化装置は、時刻ｄｔ（ｉ）までに復号に必要なデータを動画像復号装置の受信バッファに伝送完了させなければならない。
【００１６】
図１は、従来技術による受信バッファのバッファ占有量の遷移例を示す図である。図１に示す例では、横軸は時刻を表し、縦軸は受信バッファのバッファ占有量を表す。実線のグラフ１０は、各時刻におけるバッファ占有量を表す。
【００１７】
受信バッファでは、所定の伝送レートでバッファ占有量が回復し、各ピクチャの復号時刻にそのピクチャを復号するために用いられる分のデータがバッファから引き抜かれる。図１に示す例ではＰ（ｉ）のデータが、時刻ａｔ（ｉ）から受信バッファに入力開始され、Ｐ（ｉ）の最後のデータが時刻ｆｔ（ｉ）に入力される。理想復号装置は時刻ｄｔ（ｉ）でＰ（ｉ）の復号を完了し、その時刻ｄｔ（ｉ）においてＰ（ｉ）が表示可能となる。
【００１８】
理想復号装置が瞬時復号を行う一方で、実際の動画像復号装置は所定の復号処理時間を要する。一般には１ピクチャの復号処理時間は、ピクチャの表示期間よりも短いが、ピクチャの表示期間に近い時間となる。
【００１９】
時刻ａｔ（ｉ）からｆｔ（ｉ）までＰ（ｉ）のデータが受信バッファに入力されるが、各ブロックの復号に必要なデータがａｔ（ｉ）からｆｔ（ｉ）内のどの時刻に到着するか保証されない。そのため、実際の動画像復号装置は、時刻ｆｔ（ｉ）からＰ（ｉ）の復号処理を開始することとなる。従って、１ピクチャの復号処理に必要な最悪の処理時間をｃｔとすれば、実際の動画像復号装置は、時刻ｆｔ（ｉ）＋ｃｔにしか復号処理を完了することが保証できない。
【００２０】
動画像符号化装置が保証しているのは、時刻ｄｔ（ｉ）までに、Ｐ（ｉ）の復号に必要なデータが受信バッファに到着していること、すなわち、ｆｔ（ｉ）≦ｄｔ（ｉ）となることである。そのため、ｆｔ（ｉ）が最も遅くなる場合、ｆｔ（ｉ）はｄｔ（ｉ）と等しくなる。
【００２１】
このとき、Ｐ（ｉ）全体の復号処理が完了することが保証される時刻は、ｄｔ（ｉ）＋ｃｔとなる。表示するピクチャの間隔が一定となるよう、全てのピクチャを表示するには、動画像復号装置は、各ピクチャの表示時刻を理想復号装置よりも少なくとも時間ｃｔだけ遅延させなければならない。
【００２２】
ＭＰＥＧ−２のＶＢＶ、及びＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４のＣＰＢでは、動画像復号装置における各符号化ピクチャの到着時刻と、復号した各符号化ピクチャの表示時刻との差は、（ｆｔ（ｉ）−ａｔ（ｉ）＋ｃｔ）となる。すなわち、符号化装置への各ピクチャ入力から、復号化装置での該当ピクチャ出力までのコーデック遅延を時間ｃｔ未満にすることは困難である。つまり、時間ｃｔは通常１ピクチャ処理時間であるので、１ピクチャ処理時間未満のコーデック遅延を達成することは困難である。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００３−１７９９３８号公報
【非特許文献】
【００２４】
【非特許文献１】JCTVC-H1003, " High-Efficiency Video Coding (HEVC) text specification draft 6", Joint Collaborative Team on Video Coding of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, February 2012
【非特許文献２】MPEG-2 Test Model 5. April 1993.ISO-IEC/JTC1/SC29/WG11/N0400 (http://www.mpeg.org/MPEG/MSSG/tm5/)
【発明の概要】
【発明が解決しようとする課題】
【００２５】
従来技術では、コーデック遅延を１ピクチャ処理時間にするのは困難であるが、コーデック遅延を１ピクチャ処理時間未満にするには、次の方法がある。例えば、この方法は、ピクチャ内の各ブロックを、Ｎ個のグループのどれか一つに割り当て、また各グループに復号開始時刻を割り当てる。グループは、例えば１ブロックラインである。ブロックラインは、ピクチャの水平方向のブロック列を表す。
【００２６】
各グループの発生情報量を均一にできれば、連続するグループの復号開始時刻の差はグループ当たりの処理時間と一致し、また時間ｃｔはグループ当たりの処理時間ｃｔ／Ｎとなる。そのため、結果として、コーデック遅延をグループ当たりの処理時間にまで小さくすることが可能になる。
【００２７】
図２は、グループ分割によりコーデック遅延を１ピクチャ時間未満にした例を示す図である。図２に示すグラフ１７は、従来方式のバッファ占有量の時間遷移を表す。一方、図２に示すグラフ１５は、グループ分割によるバッファ占有量の時間遷移を表す。
【００２８】
グループ分割方式により、Ｐ（ｉ）のｎ番目のグループ（以降Ｇ（ｉ，ｎ）とも表記する）の復号開始時刻ｄｇｔ（ｉ，ｎ）が規定され、バッファ占有量が小さくなる。各グループは、対応する復号開始時刻から、符号１６が示すグループ復号時間ｃｔ／Ｎを要して復号されることにより、各グループの表示可能時刻の遅延が短縮される。
【００２９】
グループ分割方式は、各グループの発生情報量をほぼ均一にすることで、コーデック遅延をグループ当たりの時間にまで小さくする。このコーデック遅延は、グループ内での各ブロックの発生情報量が極端に偏った場合の最悪値であるが、実際には適切なレート制御により、グループ内の各ブロックの発生情報量の偏りを小さくすることができる。この場合、コーデック遅延を更に軽減することが理論上可能であるが、ブロック分割方法では実現することは困難である。この理由を図３〜６を用いて説明する。
【００３０】
図３は、動画像復号装置の受信バッファの様子を示す図である。図３に示す例では、受信バッファへの符号化データの到着量累積値と、復号処理により消費した符号化データの累積値とを用いて表現したものである。
【００３１】
図３に示すグラフ２０は、符号化データの到着量累積値を表す。符号化データは、一定のレートＲにて動画像符号化装置から動画像復号装置へと伝送される。図３に示す例では、動画像復号装置の受信バッファへの最初のビットの到着時刻、すなわちａｔ（０）を０としている。
【００３２】
図３に示すグラフ２１は、ピクチャ単位の瞬時復号処理により消費した符号化データの累積値である。初期遅延ｄｌｙ後に、ｉ番目のピクチャＰ（ｉ）（ｉ＝０，...）を順に、ｄｔ（ｉ）にて瞬時復号する。連続する２つのピクチャの瞬時復号時刻の差ｄｔ（ｉ＋１）−ｄｔ（ｉ）は一定である。Ｐ（ｉ）の符号化情報量は、ｂ（ｉ）で表わす。
【００３３】
ａｔ（ｉ）及びｆｔ（ｉ）はそれぞれ、Ｐ（ｉ）の符号化データの先頭ビット及び最終ビットが動画像復号装置に到着する時刻を表す。動画像復号装置の受信バッファをアンダーフローさせないためには、ｄｔ（ｉ）にてＰ（ｉ）の全符号化データが到着してなければならい。すなわち、ｄｔ（ｉ）≧ｆｔ（ｉ）及びｄｔ（ｉ−１）≧ａｔ（ｉ）が満たされていることを要する。
【００３４】
各時刻での受信バッファの容量は、各時刻でのグラフ２０とグラフ２１との差分に対応する。例えば時刻ｄｔ（０）でのＰ（０）の瞬時復号後の受信バッファの容量は、符号２５で示したビット量になる。
【００３５】
図４は、１つのＰ（ｉ）に着目した受信バッファの様子を示す図である。図４は、図３の一部を拡大して説明する。特に、図４に示す例では、ピクチャ単位で瞬時復号した場合に動画像復号装置の受信バッファがアンダーフローせず、かつａｔ（ｉ）及びｆｔ（ｉ）が最も遅い時刻の場合、即ちｄｔ（ｉ）＝ｆｔ（ｉ）及びｄｔ（ｉ−１）＝ａｔ（ｉ）の場合を示している。図４に示す例では、グループ数Ｎは４とし、各グループに含まれるブロック数及び発生情報量、ｄｇｔ（ｉ，ｎ＋１）−ｄｇｔ（ｉ，ｎ）は均一であるとする。
【００３６】
図４に示すグラフ３０は、動画像復号装置の受信バッファへの符号化データの到着量累積値を表す。グラフ３１は、ピクチャ単位で瞬時復号した場合の、消費した符号化データの累積値である。
【００３７】
グラフ３２は、ｄｇｔ（ｉ，ｎ）にてＰ（ｉ）のｎ番目のグループＧ（ｉ，ｎ）の瞬時復号を行った場合の、消費した符号化データの累積値である。
【００３８】
グループ分割方式は、各グループの発生情報量が、ピクチャ内で平均化されているということを前提にする。すわなち、Ｐ（ｉ）の各グループにおける各ブロックの発生情報量の総和が、ｂ（ｉ）／Ｎとなるということである。ｂ（ｉ）は、Ｐ（ｉ）の発生情報量とする。
【００３９】
Ｐ（ｉ）のグループ内の各ブロックの発生情報量の最小値は０であり、最大値はｂ（ｉ）／Ｎとなる。Ｐ（ｉ）内の各ブロックをｄｔ（ｉ−１）からｄｔ（ｉ）までの間で等間隔にて瞬時復号した場合、消費した符号化データの累積値グラフｆ（ｔ）は、符号３５〜３８で示される四角形領域の内部に存在することになる。
【００４０】
各ブロックの発生情報量が均一の場合、ｆ（ｔ）は、符号３５〜３８で示される四角形領域の左下頂点と右上頂点とを結ぶ直線（グラフ３０と一致）となる。先頭ブロックでグループ全体のビット量が発生する場合には、ｆ（ｔ）は各四角形の左端線及び上端線をつないだ線となる。後者はバッファ遅延の観点で最悪の場合となる。
【００４１】
図４に示す例では、ｄｔ（ｉ−１）からｄｔ（ｉ）までの時刻の間に、Ｐ（ｉ）の各ブロックのビットが到着する。ｘ番目のビット（ｘ＝［１，ｂ（ｉ）］）の到着時刻ｇ（ｘ）は、以下の式で表される。
【００４２】
【数１】
0006288129.tif 000002
実際の動画像復号装置の挙動を鑑み、Ｐ（ｉ）の各ブロックをｄｔ（ｉ−１）からｄｔ（ｉ）までの間で等間隔にて瞬時復号した場合を考える。ピクチャ内のブロック総数をＭとした場合、Ｐ（ｉ）内のｍ番目のブロックの理想瞬時復号時刻ｐ（ｉ，ｍ）は、以下の式で表される。
【００４３】
【数２】
0006288129.tif 000003
ｆ（ｔ）の形状によっては、ｆ（ｔ）がグラフ３０よりも上側になる。つまり、ｆ（ｐ（ｉ，ｍ））＜ｇ（ｆ（ｐ（ｉ，ｍ）））となり、ブロックの復号に必要となる全てのビットが動画像復号装置の受信バッファに届かず、アンダーフローが発生する。各ブロックのビット量が均一の場合には、ｆ（ｐ（ｉ，ｍ））＝ｇ（ｆ（ｐ（ｉ，ｍ）））となりアンダーフローは発生しないが、バッファ遅延の観点で最悪のケースである。
【００４４】
先頭ブロックでグループ全体のビット量が発生する場合には、先頭ブロックの復号に必要な全ビットの到着時刻がｄｇｔ（ｉ，ｎ＋１）−ｄｔｇ（ｉ，ｎ）だけ遅れることになる。
【００４５】
グループ分割方式では、動画像復号装置がｆ（ｔ）の形状を知ることができない。よって、Ｇ（ｉ，ｎ）の先頭ブロックのビット到着遅延が、最悪値であるｄｇｔ（ｉ，ｎ）−ｄｇｔ（ｉ，ｎ−１）の場合になった場合でもアンダーフローの発生回避を保証するようにする。そうすると、Ｇ（ｉ，ｎ）内の全ブロックの瞬時復号時刻をｄｇｔ（ｉ，ｎ）まで遅くすることが要求される。すなわち、Ｐ（ｉ）の先頭ブロックの復号開始時刻は、ｄｇｔ（ｉ，１）となり、従来技術には、コーデック遅延のさらなる軽減を行うことができないという１つ目の課題があった。
【００４６】
また、従来技術では、復号時間ｃｔ／Ｎで復号したのちに、瞬時に表示可能であることを仮定している。しかし、非特許文献１では、ピクチャを水平だけではなく、垂直に分割することも許すタイルと呼ばれる符号化方法が採用されている。そのため、復号時間ｃｔ／Ｎで復号したのちも、瞬時に表示可能ではない場合が存在する。瞬時に表示可能ではない場合の例を、図５を用いて説明する。
【００４７】
図５は、瞬時に表示可能ではない場合の一例を示す図である。非特許文献１において、ピクチャを水平だけでなく、垂直に分割したそれぞれの領域は、タイルと呼ばれる。図５に示す例では、ピクチャを４つのタイルに分割している。
【００４８】
左上、右上、左下、右下の順番に、タイル０（ｔ４０）、タイル１（ｔ４１）、タイル２（ｔ４２）、タイル３（ｔ４３）とし、タイルはこの順番に処理される。
【００４９】
さらに、それぞれのタイルの内部で、複数ブロックを持ついくつかのグループを含む。図５に示す例では、グループ０から３までがｓ４１〜ｓ４４で示されている。この時、復号は、グループの順番に処理され、ｓｃ４１からｓｃ４２で示されるようなスキャン順又は復号順となる。
【００５０】
この復号順に対して、表示順は、ディスプレイによってはラスタスキャンである場合があり、そのとき、符号ｓｃ４３で示されるような順番となる。この時、グループは復号処理が終わっても、瞬時に表示可能とはならない場合が存在する。
【００５１】
例えば、グループ０（ｓ４１）の復号が終わった直後を考える。このとき、タイル０（ｔ４０）に含まれるピクチャ上段の左半分のＣＴＢ、例えばブロックｂ４１、ブロックｂ４２は、グループ０（ｓ４１）に属しているため表示可能である。しかし、タイル１（ｔ４１）に含まれるピクチャ上段の右半分に含まれているＣＴＢ、例えばブロックｂ４５、ブロックｂ４６はグループ２（ｓ４３）に属しているため、復号されておらず、従って表示可能ではない。
【００５２】
ディスプレイがラスタスキャンである場合、画面左端から右端まで順番に表示するような構造になっているため、ピクチャ上段を表示しようとした時、グループ２（ｓ４３）に属するブロックも表示しなくてはならず、従って、グループ２（ｓ４３）が復号され、表示可能になるまで待つ必要がある。
【００５３】
グループ２（ｓ４３）の復号完了までに必要な時間は、スキャン順でｓｃ４１とｓｃ４２が通過するブロックがすべて復号された時間となる。
【００５４】
グループ分割方式においては、復号を早くすることはできるが、表示可能時刻に関して何も考慮していない。そのため、従来技術には、ピクチャが表示されることを保証するために、結局１ピクチャ分の時間を待つ必要があるという２つ目の課題があった。
【００５５】
また、非特許文献１では、バッファに累積可能であるビット量よりも、ピクチャが複雑である場合など、ピクチャの復号に必要なビット量の方が大きいときの動作を規定している。
【００５６】
図６は、ピクチャの復号に必要なビット量の方が大きいときの動作を説明するための図である。動画像符号化装置は、図６に示すグラフ５０のように決められたレート５１で示されたレートＲの累積を、ピクチャの引き抜きビット量の累積５２を超えないように、符号量の調整を行う。
【００５７】
しかし、ピクチャが複雑であるなど、符号化に必要なビット量がバッファに累積しているビット量では足りず、アンダーフローを起こしてしまう場合がある。例えば、図６に示すグラフ５３のような場合である。
【００５８】
アンダーフローを起こす時は、図６に示すグラフ５４のように、復号装置は、そもそものピクチャの復号時刻ｄｔ（０）では復号を開始せず、復号に必要なビットがバッファに受信された時刻ｄｔ'に復号を実行する。
【００５９】
そして、一般的に、遅延したピクチャの表示タイミングは、本来その次のピクチャが表示されるべきタイミングｄｔ（１）となる。そして、本来ｄｔ（１）の時刻に表示されるべきピクチャは、復号は行われるが表示はスキップされる。
【００６０】
しかし、非特許文献１において、グループ単位でアンダーフローが発生した場合の規定については、明確に定義されていないという３つ目の課題があった。
【００６１】
そこで、以下に開示の技術は、上記３つ目の課題を少なくとも解決すべく、グループ単位でアンダーフローが発生した場合に適切に処理することができる動画像符号化装置、動画像符号化方法、動画像復号装置及び動画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【００６２】
開示の一態様における動画像復号装置は、動画像データに含まれる各ピクチャを複数のブロックに分割して符号化した符号化データを示す入力ストリームを復号する動画像復号装置であって、前記入力ストリームからグループ情報を抽出するグループ情報抽出部と、前記入力ストリームから抽出したグループ復号遅延情報と、前記グループ情報抽出部で抽出されたグループ情報からグループ毎に復号時刻を算出する復号時刻算出部と、前記入力ストリームから抽出したグループ出力遅延情報と、前記グループ情報抽出部で抽出されたグループ情報から、前記ピクチャの先頭グループの出力時刻を算出する出力時刻算出部と、前記入力ストリームを受け取り、前記復号時刻算出部で算出されたグループ毎の復号時刻に復号を行い、復号ブロックを出力するブロック復号部と、前記復号ブロックを保存するフレームメモリと、前記フレームメモリに保存された前記グループ内の各復号ブロックを前記出力時刻算出部で算出された前記ピクチャの先頭グループの出力時刻に出力するグループ出力部と、前記グループの表示を制御する表示制御部とを備え、前記ブロック復号部は、前記各グループの復号時刻に復号に必要な全データが到達しているかどうかを受信データに基づいて確認し、前記表示制御部は、前記グループの復号時刻に、前記グループの復号に必要な全データが到達していない場合には、前記グループの属する前記ピクチャの各復号ブロックの代わりに、前記フレームメモリに保存された別の復号ブロックを表示するように前記グループ出力部を制御する。
【発明の効果】
【００６３】
開示の技術によれば、グループ単位でアンダーフローが発生した場合に適切に処理することができる。
【図面の簡単な説明】
【００６４】
【図１】従来技術による受信バッファのバッファ占有量の遷移例を示す図。
【図２】グループ分割によりコーデック遅延を１ピクチャ時間未満にした例を示す図。
【図３】動画像復号装置の受信バッファの様子を示す図。
【図４】１つのＰ（ｉ）に着目した受信バッファの様子を示す図。
【図５】瞬時に表示可能ではない場合の一例を示す図。
【図６】ピクチャの復号に必要なビット量の方が大きいときの動作を説明するための図。
【図７】実施例１による動画像符号化装置の概略構成の一例を示すブロック図。
【図８】Ｐ（ｉ）に着目した場合の符号化データの累積値を表す図。
【図９】表示遅延を説明するための図。
【図１０】受信バッファに到着した符号化データのビット量の累積値と、Ｐ（ｉ）内の各ブロックでの発生情報量の累積値との関係を示す図。
【図１１】グループ出力時刻情報の算出を説明するための図。
【図１２】実施例１における動画像符号化処理の一例を示すフローチャート。
【図１３】実施例１における出力処理の一例を示すフローチャート。
【図１４】実施例２における動画像復号装置の概略構成の一例を示すブロック図。
【図１５】実施例２における動画像復号処理の一例を示すフローチャート。
【図１６】実施例２における出力処理の一例を示すフローチャート。
【図１７】実施例３における動画像符号化装置の概略構成の一例を示すブロック図。
【図１８】アンダーフローの発生を説明するための図。
【図１９】アンダーフロー発生時の処理を説明するための図。
【図２０】実施例３における動画像符号化装置の処理の一例を示すフローチャート。
【図２１】実施例４における動画像復号装置の概略構成の一例を示すブロック図。
【図２２】実施例４における動画像復号装置の処理の一例を示すフローチャート。
【図２３】実施例５における動画像処理装置の概略構成の一例を示すブロック図。
【発明を実施するための形態】
【００６５】
以下、添付図面を参照しながら各実施例について詳細に説明する。実施例で説明する動画像符号化装置は、動画像データに含まれる各ピクチャをグループ単位で符号化し、符号化データとしてビットストリームを出力する。
【００６６】
なお、ピクチャは、フレーム又はフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
【００６７】
また、符号化対象の動画像は、カラー動画像であってもよく、又はモノクロ動画像であってもよい。
【００６８】
［実施例１］
＜構成＞
図７は、実施例１による動画像符号化装置１００の概略構成の一例を示すブロック図である。動画像符号化装置１００は、符号化処理部１１０と、符号量制御部１２０と、グループ決定部１３０と、復号時刻決定部１４０と、出力時刻決定部１５０とを有する。
【００６９】
符号化処理部１１０は、直交変換部１１１と、量子化部１１２と、エントロピー符号化部１１３とを有する。
【００７０】
符号量制御部１２０は、量子化値算出部１２１と、バッファ占有量算出部１２２と、ビットカウンタ１２３とを有する。
【００７１】
符号量制御部１２０は、グループに含まれる全てのブロックの出力に必要なデータが、所定の伝送レートで復号装置に伝送された場合に、算出された出力時刻と決定された出力遅延により表される時刻までに出力装置の復号バッファに到達するように符号量を制御する。
【００７２】
グループ決定部１３０は、グループ構成決定部１３１と、グループ情報付加部１３２とを有する。
【００７３】
復号時刻決定部１４０は、グループ復号時刻算出部１４１と、グループ復号遅延決定部１４２と、グループ復号遅延情報付加部１５３とを有する。
【００７４】
出力時刻決定部１５０は、グループ出力時刻算出部１５１と、グループ出力遅延決定部１５２と、グループ出力遅延情報付加部１５２とを有する。
【００７５】
動画像符号化装置１００が有するこれらの各部は、それぞれ、別個の回路として動画像符号化装置１００に実装される。あるいは、動画像符号化装置１００が有するこれらの各部は、その各部の機能を実現する回路が集積された一つの集積回路として動画像符号化装置１００に実装されてもよい。あるいはまた、動画像符号化装置１００が有するこれらの各部は、動画像符号化装置１００が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールであってもよい。
【００７６】
動画像データに含まれる符号化対象ピクチャは、図示しない制御部によりブロック単位に分割され、ブロックごとに直交変換部１１１に入力される。各ブロックは、例えば、１６×１６画素を有する。
【００７７】
直交変換部１１１は、図示しないフレームメモリに蓄積された局所復号済ピクチャからイントラ予測値もしくはインター予測値を算出し、入力ブロックとの差分演算を行いブロック予測誤差を算出する。更にブロック予測誤差に対し直交変換を行う。
【００７８】
量子化部１１２は、直交変換したブロック予測誤差に対し量子化演算を行う。量子化演算における量子化パラメータ（制御情報）は、量子化値算出部１２１から与えられる。この結果である、量子化直交変換係数、及びイントラ予測もしくはインター予測のパラメータ（イントラ予測方向、動きベクトル情報等）は、ブロック圧縮データとしてエントロピー符号化部１１３に出力される。量子化された直交変換係数は、図示しない局所復号部により、逆量子化・逆直交変換を行った後、イントラ予測値もしくはインター予測値を加算して局所復号ブロックを生成後、図示しないフレームメモリに蓄積する。
【００７９】
エントロピー符号化部１１３は、量子化部１１２から出力されるブロック圧縮データに対しエントロピー符号化を行う。
【００８０】
量子化値算出部１２１は、バッファ占有量算出部１２２から出力される、理想復号装置の受信バッファの状態及び次に符号化するブロックの発生情報量上限とから各ブロックの量子化値を計算する。
【００８１】
バッファ占有量算出部１２２は、ビットカウンタ１２３から出力される、符号化データのビット量累積値と、グループ構成決定部１３１から出力されるグループ情報、グループ復号遅延決定部１４２から出力されるグループの復号時刻及びグループの復号遅延から、理想復号装置の受信バッファの状態及び次に符号化するブロックの発生情報量上限を計算する。
【００８２】
ビットカウンタ１２３は、エントロピー符号化部１１３の出力ビット数をカウントし、符号化データの累積値を出力する。
【００８３】
グループ構成決定部１３１は、複数のブロックに対し、各ブロックが属するグループを決定する。グループ構成決定部１３１は、例えば符号化処理中のブロックが属するグループを、図示しない制御部から受け取ったブロックカウント情報と図示しない制御部より受け取った符号化方法指定情報とを用いて所定方法に従って決定する。
【００８４】
ブロックカウント情報は、ピクチャに含まれる各ブロックの番号を表す情報であり、例えば、ピクチャの左上端のブロックに対する番号が１に設定され、ラスタスキャン順に従って各ブロックに番号が割り当てられる。そして、ピクチャの右下端のブロックに対して、最大の番号が割り当てられる。なお、ブロックカウント情報は、他の順序に従って各ブロックに割り当てられた番号を含んでもよい。
【００８５】
グループ構成決定部１３１は、グループ毎の復号処理時間を均等化するために、各グループに含まれるブロックの数が出来る限り等しくなるように複数のグループを決定することが好ましい。
【００８６】
例えば、グループ構成決定部１３１は、ブロックライン単位で各ブロックをグループに分割すれば、任意のピクチャサイズにおいて各グループに含まれるブロックの数を等しくすることができる。
【００８７】
例えば、ピクチャサイズが、高精細度テレビジョン放送（High Definition Television、ＨＤＴＶ）相当の１９２０画素×１０８８画素であり、ブロックサイズが１６画素×１６画素であれば、ブロックライン数は６８である。したがって、この場合、符号化対象ピクチャに含まれる各ブロックは、６８個のグループの何れかに分類される。
【００８８】
グループに含まれるブロックの数は、１から画面全体のブロック数までの間の値に設定しても良い。
【００８９】
グループ構成決定部１３１は、符号化対象ブロックが属するグループの識別情報をバッファ占有量算出部１２２へ通知する。グループ構成決定部１３１は、各グループに含まれるブロックの情報をグループ復号時刻算出部１４１とグループ出力時刻算出部１５１へ通知する。なお、グループ構成決定部１３１は、各グループの先頭に位置するブロックのインデックスをグループ復号時刻算出部１４１とグループ出力時刻算出部１５１へ通知してもよい。
【００９０】
グループ情報付加部１３２は、ピクチャ内のグループ数と各グループ内のブロック情報とを示すグループ情報を符号化データに付加する。
【００９１】
グループ復号時刻算出部１４１は、グループ構成決定部１３１から出力されるグループ情報から各グループの復号時刻を算出し、グループ復号遅延決定部１４２に通知する。
【００９２】
グループ復号遅延決定部１４２は、各グループの復号遅延を決定し、各グループの復号時刻と共にバッファ占有量算出部１２２とグループ復号遅延情報付加部１４３とに通知する。決定された復号遅延は、遅延情報として通知される。
【００９３】
グループ復号遅延情報付加部１４３は、グループの復号時刻と復号遅延とを受け取り、グループ復号遅延情報として符号化データに付加する。
【００９４】
グループ出力時刻算出部１５１は、図示しない制御部より受け取った符号化方法指定情報と、グループ構成決定部１３１から出力されるグループ情報より、各グループの出力時刻（表示時刻とも呼ぶ）を算出し、出力時刻情報をグループ出力遅延決定部１５２へ通知する。
【００９５】
グループ出力遅延決定部１５２は、各グループの出力時刻から、各グループの出力遅延を決定し、出力遅延情報をグループ出力遅延情報付加部１５３へ通知する。
【００９６】
グループ出力遅延情報付加部１５３は、各グループの出力時刻と出力遅延とを受け取り、グループ出力遅延情報として符号化データに付加する。
【００９７】
≪復号遅延≫
ｉ番目のピクチャＰ（ｉ）内の各ブロックをｄｔ（ｉ−１）からｄｔ（ｉ）までの間で等間隔にて瞬時復号した場合を考える。この場合、消費した符号化データの累積値グラフｆ（ｔ）は、ブロック当たりの情報量の下限・上限を設定する等の適切なレート制御により、ブロック伝送遅延を小さくすることが可能である。また、この情報を動画像復号装置に通知することで、ブロックの復号開始最早時刻を更に早めることが可能である。図８を用いて説明する。
【００９８】
図８は、Ｐ（ｉ）に着目した場合の符号化データの累積値を表す図である。グラフ６０は、レートがＲである符号化データの到着量累積値である。グラフ６１は、ピクチャ単位で瞬時復号した場合の消費した符号化データの累積値である。
【００９９】
符号６２〜６６は、符号６７〜７１で表される各グループ（Ｇ０〜Ｇ４）にて復号のために消費した符号化データの累積値である。
【０１００】
各グループの存在範囲とグラフ６０との関係を見ると、Ｇ（１）〜Ｇ（４）においては、常にレートが符号化データの累積値より上であるため、Ｇ（１）〜Ｇ（４）の各ブロックの瞬時復号をｄｔ（ｉ−１）からｄｇｔ（ｉ，１）の間で等間隔に行った場合でもアンダーフローは発生しない。
【０１０１】
Ｇ（０）においては、Ｇ（０）の符号化データの累積値がレートを超えてしまうため、アンダーフローが発生する。このアンダーフローを回避するためには、符号化データの累積値がレートを超えなければよく、その最小値は間隔Δｔとなる。
【０１０２】
Δｔは、どのグループで発生してもｄｇｔ（ｉ，ｎ）−ｄｇｔ（ｉ，ｎ−１）よりも小さくなる。動画像復号装置は、Ｐ（ｉ）における、それぞれのグループのΔｔの最大値を用いて、Ｐ（ｉ）の先頭ブロックの復号開始時刻をｄｔ（ｉ−１）＋Δｔ（ｉ）とすることで、全ブロックをアンダーフローすることなく、等間隔で瞬時復号することが出来る。
【０１０３】
シーケンス全体では、全ピクチャのΔｔ（ｉ）の最大値Δｔから、最初のピクチャの先頭ブロック復号開始時刻ｄｉｎｉｔを以下の式のようにすることで、全ピクチャの全ブロックをアンダーフローすることなく、等間隔で瞬時復号することが出来る。
【０１０４】
【数３】
0006288129.tif 000004
またＰ（ｉ）内でｎ番目のグループの復号開始が可能となる時刻の最早値ｒ（ｉ，ｎ）は、以下の式で表される。
【０１０５】
【数４】
0006288129.tif 000005
動画像符号化装置にて、Δｔがｄｇｔ（ｉ，ｎ）−ｄｇｔ（ｉ，ｎ−１）より小さい値になるように各ピクチャ、各グループの発生情報量を制御し、Δｔの値を明示的に動画像復号装置に伝送する。動画像復号装置にて、グループＧ（ｉ，ｎ）の瞬時復号時刻をｒ（ｉ，  ｎ）とすることで、確実に各ブロックの復号開始時刻を保証することができる。
【０１０６】
動画像復号装置側のグループは、動画像符号化装置から通知されたグループと必ずしも一致しなくても良い。動画像復号装置側のグループが、動画像符号化装置から通知されたグループと一致する場合には、ｒ（ｉ，ｎ）＝ｄｇｔ（ｉ，ｎ）となる。
【０１０７】
≪表示遅延≫
対象とするグループの表示遅延を明示的に付加拡張情報とすることで、復号装置の方に最も早い表示タイミングを通知することができ、表示遅延を最小のものとすることができる。例えば、図５に示すようなタイル分割かつグループ分割であった場合の表示遅延の指定方法を図５と図９を用いて説明をする。
【０１０８】
図５に示す場合、最も表示遅延が大きくなるのは、グループ０（ｓ４１）の最上段の表示である。グループ０（ｓ４１）の最上段の表示を開始するためには、少なくともグループ２（ｓ４３）のピクチャ最上段の画素値の復号が終わっている必要がある。そこで、表示遅延を明示的に付加拡張情報として通知する。
【０１０９】
図９は、表示遅延を説明するための図である。グループ０（ｓ４１）の最上段の表示が可能になる時刻を図９に示すｏｇｔ（０）とする。ｏｇｔ（０）はグループ２の引き抜き時刻ｄｇｔ（２）よりも、その復号にかかる時間が遅く設定されている。この時の表示時刻は、ピクチャの復号がある一定の速さで行われるとして、以下の式であらわされる。
ｏｇｔ（０）＝ｄｇｔ（０）＋（ｄｇｔ（２）−ｄｇｔ（１））＋ｌ／Ｌ（ｄｇｔ（３）−ｄｇｔ（２））  ・・・式（５）
Ｌはｓ４３で表されるグループ２内の垂直方向の総ライン数、ｌはｓ４３で表されるグループ２内でピクチャ右上端が何ライン目かを表す。ｌ／Ｌ（ｄｇｔ（３）−ｄｇｔ（２））は、グループを復号するために、１グループ時間かかると仮定したとき、ｓ４３で表されるグループ２のピクチャ右上端の復号が完了する時刻を表す。
【０１１０】
つまり、表示可能時刻は、ｓ４１で表されるグループ０の復号時刻ｄｇｔ（０）に対し、ｓ４１で表されるグループ０の瞬時復号時刻からｓ４３で表されるグループ２の瞬時復号時刻までの時間を足す。さらに、表示可能時刻は、グループ２のピクチャ右上端の復号が完了するまでに実際にかかる時間を足したものである。
【０１１１】
動画像符号化装置側では、上式で表される時間を明示的に付加拡張情報として送信することで、復号装置側に、実復号時間も考慮した適切な時刻を通知することが可能になり、遅延の少ない表示を保証することができる。
【０１１２】
また、上記の例で、表示時刻の内のグループ２のピクチャ右上端の復号が完了する時刻の部分を、ｓ４３で表されるグループ２全ての復号が実際に完了する時間ｄｇｔ（３）−ｄｇｔ（２）としても、１ピクチャの復号が完了した時刻を表示可能時刻とするよりも早い時刻を通知することができるため、遅延の少ない表示を保証することができる。
【０１１３】
≪復号時刻の算出≫
実施例１におけるグループ復号時刻情報の算出方法を説明する。以降の説明は、符号化対象ピクチャに含まれる総ブロック数をＭとする。
【０１１４】
グループ復号時刻算出部１４１は、まず、符号化順番でｉ番目のピクチャＰ（ｉ）の入力時刻ｔ（ｉ）から所定の遅延時間ｄｌｙ分遅延させたＰ（ｉ）の復号時刻ｄｔ（ｉ）｛＝ｔ（ｉ）＋ｄｌｙ｝に基づいて、ピクチャＰ（ｉ）のｎ番目のグループＧ（ｉ，ｎ）が復号される時刻を表す復号時刻ｄｇｔ（ｉ，ｎ）を算出する。または、グループ復号時刻算出部１４１は、復号時刻として、ｄｇｔ（ｉ，ｎ）の代わりに、ｄｇｔ（ｉ，ｎ）と等価な｛ｄｇｔ（ｉ，ｎ）−ｄｇｔ（ｉ，ｎ−１）｝を算出してもよい。また、グループ復号時刻算出部１４１は復号時刻を適当な単位、例えば１／９００００秒単位の倍数となるように丸めてもよい。
【０１１５】
グループ復号時刻算出部１４１は、各グループの復号時刻を、各グループに含まれる各ブロックの復号処理に要する時間を均等とするために、１ピクチャ当たりの復号処理に要する時間をグループ数Ｎで等分割するように決定する。この場合、Ｇ（ｉ，ｎ）（ｎ＝１，２，...，Ｎ）の復号時刻ｄｇｔ（ｉ，ｎ）は、次式に従って算出される。
【０１１６】
【数５】
0006288129.tif 000006
なお、ｄｔ（ｉ）はＰ（ｉ）の復号時刻である。ｄ（ｉ＋１）−ｄ（ｉ）はｉによらず一定であり、以降ｓと表現する。
【０１１７】
さらにグループ復号時刻算出部１４１は、２番目以降に符号化・復号されるグループの復号時刻ｄｇｔ（ｉ，ｎ）（ｎ≧２）を、次式のように決定してもよい。
【０１１８】
【数６】
0006288129.tif 000007
さらに、グループ復号時刻決定部１４１は、２番目以降に符号化・復号されるグループの復号時刻ｄｇｔ（ｉ，ｎ）（ｎ≧２）を、次式のように決定してもよい。
【０１１９】
【数７】
0006288129.tif 000008
グループ復号遅延決定部１４２は、ピクチャ全体のブロック遅延最大値Δｔを符号化開始前に決定する。Δｔは次式で表される範囲の値にする。
【０１２０】
【数８】
0006288129.tif 000009
バッファ占有量算出部１２２は、理想復号装置の受信バッファのバッファ占有量、及び次に符号化するブロックの発生情報量上限を、以下のように計算する。
【０１２１】
図１０は、Ｐ（ｉ）の符号化処理における、理想復号装置の受信バッファに到着した符号化データのビット量の累積値と、Ｐ（ｉ）内の各ブロックでの発生情報量の累積値との関係を示す図である。
【０１２２】
グラフ７２は、理想復号装置の受信バッファに到着した符号化データのビット量の累積値Ｒ（ｔ）である。グラフ７５は、グラフ７２をΔｔだけ左にずらしたものであり、Ｒ´（ｔ）とする。Ｒ´（ｔ）＝Ｒ（ｔ＋Δｔ）の関係がある。
【０１２３】
図１０に示すＢ（ｉ）は、Ｐ（０）からＰ（ｉ）までの発生符号化データの累積値を表す。ｂ（ｉ）はＰ（ｉ）全体の発生情報量を表し、Ｂ（ｉ）−Ｂ（ｉ−１）と同じである。
【０１２４】
グラフ７３は、時刻ｄｔ（ｉ−１）での値がＢ（ｉ−１）、時刻ｄｔ（ｉ）での値がＢ（ｉ）であり、傾きがｂ（ｉ）／ｓとなる直線Ｖ（ｔ）である。ｓは１ピクチャ時間であり、ｄｔ（ｉ）−ｄｔ（ｉ−１）と同じである。
【０１２５】
グラフ７３は、時刻ｄｔ（ｉ−１）からｄｔ（ｉ）までの間に、各ブロックを均等間隔で復号化し、また発生情報量が等しくｂ（ｉ）／Ｍとなる場合の、ブロック単位の符号化データの消費曲線ｆ（ｔ）に相当する。
【０１２６】
グラフ７４は、実際のブロック単位の符号化データの消費曲線ｆ（ｔ）であり、点７７は、ｍ番目のブロックまで復号した場合のブロック単位の符号化データの消費量累積値である。
【０１２７】
理想復号装置が、グループ復号時刻情報から算出されるグループ復号開始早時刻ｒ（ｉ，ｎ）にグループｎを復号したときに受信バッファのアンダーフローを生じさせないためには、以下の条件を満たす必要がある。量子化値算出部１２１は、常に以下の条件が満たされるように量子化値を算出する。
【０１２８】
【数９】
0006288129.tif 000010
領域７６は、ｆ（ｔ）が、時刻ｄｔｇ（ｉ，ｕ−１）からｄｔｇ（ｉ，ｕ）までの間で取ることが許される範囲を示す。
【０１２９】
≪量子化値算出≫
量子化値算出部１２１における、ブロックｍの量子化値算出方法を以下に説明する。実施例１では、各グループに含まれるブロック数は等しくＭ／Ｎとしている。
【０１３０】
ブロックｍが属するｎ番目のグループＧ（ｉ，ｎ）の先頭ブロックの処理を開始するに当たり、Ｇ（ｉ，ｎ）の目標情報量Ｔ（ｉ，ｎ）を以下の式に従い計算する。ここでｎ＝Ｃｅｉｌ（ｍ＊Ｎ／Ｍ）である。
【０１３１】
【数１０】
0006288129.tif 000011
Ｔ（ｉ）はＰ（ｉ）全体の目標情報量であり、Ｔ'（ｉ，ｎ）はＧ（ｉ，ｎ）の実発生情報量である。Ｔ（ｉ）は、公知の方式を用いて、Ｐ（０）からＰ（ｉ−１）までの実発生情報量の総和によって決定される。
【０１３２】
量子化値算出部１２１は例えば、ＭＰＥＧ−２における標準化団体参照ソフトウェアＴｅｓｔ  Ｍｏｄｅｌ５（非特許文献２を参照）における量子化値算出方法に従い、Ｇ（ｉ，ｎ）の実発生情報量がＴ（ｉ，ｎ）に近づくように量子化値を算出する。
【０１３３】
次に量子化値算出部１２１は、Ｇ（ｉ，ｎ）全体の符号化処理が終了した時のＰ（ｉ）内の発生情報量累積値の期待値ｂ'（ｉ，ｎ）と、ｎ番目のグループをエントロピー符号化する前のＰ（ｉ）内の発生情報量累積値Ｂ（ｉ，ｎ−１）との差ｄ１を所定の閾値ＤＴＨ１と比較する。
【０１３４】
ｂ'（ｉ，ｎ）は以下の式で計算される。
【０１３５】
【数１１】
0006288129.tif 000012
閾値ＤＴＨ１は、次式で表される。
【０１３６】
【数１２】
0006288129.tif 000013
ｂ０は量子化値をその取り得る値の範囲のうちの最大値とした場合に、各ブロックで発生する最大の符号量である。（（Ｍ／Ｎ）−ｍ）は、Ｇ（ｉ，ｍ）で符号化処理が終わっていないブロック数に相当する。ｏｆｆｓｅｔはマージン項である。
【０１３７】
ｄ１＜ＤＴＨ１となる場合には、量子化値算出部１２１は、量子化値を最大値とする。
【０１３８】
なおｂ０は、周波数係数を全て０としたときのブロックの符号量を用いても良い。ｄ１＜ＤＴＨ１となる場合には、量子化値算出部１２１は、符号化対象ブロックの全ての周波数係数が０に量子化されるように量子化値を決定する。この制御により、グループ内の符号化処理が済んでいない残りブロックの符号量の平均値がｂ０を超えなければ、Ｔ（ｉ，ｎ）≧Ｔ'（ｉ，ｎ）、即ちｆ（ｄｔｇ（ｉ，ｎ））≦Ｖ（ｄｔｇ（ｉ，ｎ））が保証される。そして理想復号装置の受信バッファがアンダーフローしないことが保証される。
【０１３９】
以上により、量子化値算出部１２１は、動画像符号化装置１００からの出力ストリームを実際に所定のレートＲに従って動画像復号装置へ伝送すれば、動画像復号装置の受信バッファがアンダーフローしないように動画像データの符号量を制御することが可能となる。
【０１４０】
量子化値算出部１２１は、求めた量子化値を量子化部１１２へ通知する。
【０１４１】
≪出力時刻算出≫
次に、実施例１における、グループ出力時刻情報の算出方法について説明する。図１１は、グループ出力時刻情報の算出を説明するための図である。
【０１４２】
以降の説明は、符号化対象ピクチャに含まれる総ブロック数をＭとする。また、ピクチャの幅と高さ、タイルの幅と高さ、ＣＴＢの幅と高さをそれぞれ（ｗｉｄｔｈｐ，ｈｅｉｇｈｔｐ）、（ｗｉｄｔｈｔ，ｈｅｉｇｈｔｔ）、（ｗｉｄｔｈｃ，ｈｅｉｇｈｔｃ）とする。ここで、すべてのタイル（ｔ８０〜ｔ８３）のサイズは等しく、タイルはラスタスキャン順ｓｃ８３に処理されるとする。つまり、図１１に示す例では、タイル０（ｔ８０）、タイル１（ｔ８１）、タイル２（ｔ８２）、タイル３（ｔ８３）の順番に処理される。
【０１４３】
さらに、図１１に示す例では、グループは１７個のＣＴＢを持つとし、すべてのグループで、ＣＴＢの個数は等しいとする。この時、グループ０（ｓ８１）はピクチャ内のＣＴＢのインデックス０から３列目の４行目までとなる。
【０１４４】
このように考えると右上のタイル１（ｔ８１）の最上段のＣＴＢ列は、グループ２（ｓ８３）に含まれることになる。そのため、ディスプレイがラスタスキャン順に表示される場合、少なくとも、グループ０（ｓ８１）はグループ２（ｓ８３）が復号されたのちにしか表示することは出来ない。
【０１４５】
グループ２（ｓ８３）が復号されたのち表示する場合、まず、瞬時復号であることを仮定し、グループｋの引き抜きタイミングをｄ（ｋ）とすれば、グループ０（ｓ８１）の出力時刻ｏｇｔ（０）は次式のように表される。
【０１４６】
【数１３】
0006288129.tif 000014
また、復号に１ピクチャ時間ｓかかり、ピクチャ内のグループの数をＮとする場合、グループの復号に必要な時間は、ｓ／Ｎとなる。つまり、瞬時復号時の復号時刻ｄｇｔを利用すると、グループ２の復号が完了する時刻ｄｇｔ'（２）とグループ０（ｓ８１）の表示時刻ｏｇｔ（０）は次式のように表される。
【０１４７】
【数１４】
0006288129.tif 000015
ここで、動画像符号化装置１００は、前復号ピクチャの復号時刻より、グループの出力時刻を減算した出力遅延時間を復号装置に通知することで、復号装置側において、表示時刻を保証することが出来る。
【０１４８】
また、非特許文献１で開示されるＨＥＶＣにおけるデブロッキングフィルタのような、ポストフィルタにおいても、当該グループを表示するために、当該グループに後に復号されるグループの復号を待たなければならない場合が存在する。その様な場合でも、後に復号されるグループの復号時刻を考慮し、適切に表示遅延を設定してやることで、１ピクチャ時間未満の表示遅延を達成することが可能である。
【０１４９】
≪出力ストリーム≫
動画像符号化装置１００は、動画像復号装置と、各ブロックが属するグループ、グループ復号遅延、及びグループ出力遅延を共有するために、少なくとも、各グループに属するブロックを表すグループ情報、グループ復号遅延情報、及びグループ出力遅延情報を出力データストリームに付加して、動画像復号装置へ通知する。出力データストリームは、単に出力ストリームとも呼ぶ。
【０１５０】
そこで、グループ復号遅延情報付加部１４３は、例えば、グループ復号遅延を、各ピクチャもしくは所定のピクチャ間隔で、出力データストリームのヘッダ情報に付加する。
【０１５１】
また、グループ出力遅延情報付加部１５３は、例えばグループ出力遅延を、各ピクチャもしくは所定のピクチャ間隔で、出力データストリームのヘッダ情報に付加する。
【０１５２】
また、グループ情報付加部１３２は、例えばグループ情報を、各ピクチャもしくは所定のピクチャ間隔で、出力データストリームのヘッダ情報に付加する。
【０１５３】
ヘッダ情報は、例えば、ＭＰＥＧ−２に規定される、シーケンスヘッダー（Sequence Header）、またはＨ．２６４に規定されるシーケンスパラメータセット（Sequence Parameter Set）若しくはSupplemental Enhancement Informationとすることができる。なお、グループごとの復号時刻は、ＭＰＥＧ−２に規定されるピクチャヘッダー（Picture Header）、またはＨ．２６４に規定されるスライスヘッダー（Slice Header）など、各ピクチャに必ず付随されるヘッダ情報に付加されてもよい。
【０１５４】
各グループに含まれるブロックの数が等しくなるようにグループが決定されている場合、動画像符号化装置１００は動画像復号装置へ全ブロックがＮ個のグループに等分割されたことを通知する。そのために、グループ構成決定部１３１から、グループ情報付加部１３２に、グループ情報としてグループ数Ｎが通知される。
【０１５５】
グループ情報付加部１３２は、そのグループ情報を符号化する。ＭＰＥＧ−２及びＨ．２６４では、マクロブロックと呼ばれる１６ｘ１６画素のブロック単位で符号化が行われており、このブロック数は通常２０ｂｉｔで表現可能な範囲を超えない。グループの数Ｎの最大値は、せいぜいブロック数の最大値と等しいことから、Ｎの符号化も固定ｂｉｔ長で符号化すればよい。
【０１５６】
また、各グループに含まれるブロックの数が等しいと限らない場合、グループ構成決定部１３１からグループ情報付加部１３２に対して、グループ数Ｎとともに、各グループの先頭ブロックのインデックス情報がグループ情報として通知される。
【０１５７】
グループ情報付加部１３２は、まず、グループ数Ｎを符号化し、順次各グループの先頭ブロックのインデックス情報を符号化する。先頭ブロックのインデックス情報に対する符号化方法も、例えば、固定ｂｉｔ長の符号化方式が用いられる。また、グループ情報付加部１３２は、グループ数Ｎ及び各グループの先頭ブロックのインデックス情報を符号化するために、ハフマン符号といった可変長符号化方式など、他の符号化方式を用いてもよい。
【０１５８】
＜動作＞
次に、実施例１における動画像符号化装置１００の動作について説明する。図１２は、実施例１における動画像符号化処理の一例を示すフローチャートである。
【０１５９】
ステップＳ１００で、シーケンスの符号化動作開始に当たり、まずグループ復号遅延Δｔが決定される。Δｔは、シーケンス内にて内包するブロック数が最小となるグループの時間より小さくなるように決定される。
【０１６０】
ステップＳ１０１で、グループ復号遅延情報付加部１４３は、グループ情報、グループ復号時刻遅延情報をデータストリームに付加する。
【０１６１】
ステップＳ１０２で、グループ構成決定部１３１は、各ピクチャの符号化開始に当たり、まずピクチャ内のグループを決定する。シーケンス内の各ピクチャにおけるグループ数及び各グループが内包するブロック数はピクチャ毎に決定することが可能である。またはシーケンス内の全ピクチャで同じグループ数とし、また各グループが内包するブロック数を均等にしても良い。
【０１６２】
ステップＳ１０３で、グループ復号遅延決定部１４２は、グループ毎にグループ復号遅延を算出する（ステップＳ１０３）。
【０１６３】
ステップＳ１０４で、バッファ占有量算出部１２２は、各グループの復号開始に当たり、理想復号装置の受信バッファのバッファ状態、及び次に符号化するグループの発生情報量上限を推定する。
【０１６４】
ステップＳ１０５で、量子化値算出部１２１は、受信バッファのバッファ状態、及び次に符号化するグループの発生情報量上限を元に、グループの復号開始最早時刻までにグループの全データが受信バッファに到着するように、ブロックの量子化値を計算する。
【０１６５】
ステップＳ１０６で、符号化処理部１１０は、計算した量子化値を用いてブロックの符号化を行う。
【０１６６】
次に、実施例１における動画像符号化装置１００の出力処理について説明する。図１３は、実施例１における出力処理の一例を示すフローチャートである。
【０１６７】
ステップＳ２００で、出力時刻決定部１５０は、グループ情報をデータストリームから抽出する。
【０１６８】
ステップＳ２０１で、グループ出力遅延決定部１５２は、グループ出力遅延情報を決定する。グループ出力遅延時刻は、上述したようにして決定することができる。
【０１６９】
ステップＳ２０２で、グループ出力遅延情報付加部１５３は、グループ出力遅延情報をデータストリームに付加する。
【０１７０】
以上、実施例１によれば、１ピクチャ時間未満のコーデック遅延を実現する際、グループの復号又は出力を早めることで、さらなる低遅延化を実現することができる。
【０１７１】
［実施例２］
次に、実施例２における動画像復号装置について説明する。実施例２では、実施例１における動画像符号化装置１００で符号化されたストリームを適切に復号する。
【０１７２】
＜構成＞
図１４は、実施例２における動画像復号装置２００の概略構成の一例を示すブロック図である。動画像復号装置２００は、受信バッファ２０５と、ブロック復号部２１０と、フレームメモリ２１１と、グループ出力部２１２と、復号時刻算出部２２０と、出力時刻算出部２３０と、グループ情報抽出部２４０とを有する。
【０１７３】
グループ情報抽出部２４０は、入力したストリーム（入力ストリームとも呼ぶ）から、各ブロックを所定の間隔で分割したグループを示すグループ情報を抽出する。
【０１７４】
復号時刻算出部２２０は、グループ復号遅延情報抽出部２２１と、グループ復号時刻算出部２２２とを有する。
【０１７５】
出力時刻算出部２３０は、グループ出力遅延情報抽出部２３１と、グループ出力時刻算出部２３２とを有する。
【０１７６】
動画像復号装置２００が有するこれらの各部は、それぞれ、別個の回路として動画像復号装置２００に実装される。あるいは、動画像復号装置２００が有するこれらの各部は、その各部の機能を実現する回路が集積された一つの集積回路として動画像復号装置２００に実装されてもよい。あるいはまた、動画像復号装置２００が有するこれらの各部は、動動画像復号装置２００が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールであってもよい。
【０１７７】
受信バッファ２０５は、動画像符号化装置１００により送信されたストリームを受信し、バッファリングする。
【０１７８】
ブロック復号部２１０は、グループ復号時刻算出部２２２から出力されるグループの復号開始時刻に、受信バッファ２０５からデータを取得し、先頭ブロックから順に復号処理を行い、復号したブロックを順次出力する。復号開始時刻は、単に復号時刻とも呼ぶ。
【０１７９】
フレームメモリ２１１は、ブロック復号部２１０から出力される復号ブロックを保存する。フレームメモリ２１１は、例えば出力対象グループが出力される前にバッファリングされる復号バッファとしても機能する。また、復号バッファは、フレームメモリ２１１とは異なる構成であってもよい。
【０１８０】
グループ出力部２１２は、グループ出力時刻算出部２３２から出力されるグループ出力時刻に、該当グループの出力を行う。
【０１８１】
グループ復号遅延情報抽出部２２１は、符号化データである入力ストリームから、グループ復号遅延情報を抽出する。
【０１８２】
グループ復号時刻算出部２２２は、グループ情報抽出部２４０から出力されるグループ情報と、グループ復号遅延情報抽出部２２１から出力されるグループ復号遅延情報から各グループの復号開始時刻を算出する。
【０１８３】
グループ復号時刻算出部２２２は、例えばｉ番目のピクチャＰ（ｉ）の先頭ブロックの復号開始時刻ｄｔｂ（ｉ）を、以下の式で計算する。
【０１８４】
【数１５】
0006288129.tif 000016
グループ出力遅延情報抽出部２３１は、符号化データである入力ストリームから、グループ出力遅延情報を抽出する。
【０１８５】
グループ出力時刻算出部２３２は、グループ情報抽出部２４０から出力されるグループ情報と、グループ出力遅延情報抽出部２２１から出力されるグループ出力遅延情報から各グループの出力時刻を算出する。
【０１８６】
動画像復号装置２００は、通知されたグループ数Ｎ、グループの復号遅延情報に基づき、各復号グループの復号開始時刻を算出する。また、通知されたグループ数Ｎ、グループの出力遅延情報に基づき、各復号グループの出力時刻を算出する。
【０１８７】
＜動作＞
次に、実施例２における動画像復号装置２００の動作について説明する。図１５は、実施例２における動画像復号処理の一例を示すフローチャートである。図１５に示すステップＳ３００で、グループ情報抽出部２４０は、各ピクチャの復号開始に当たり、まず、グループ情報をデータストリームから抽出する。
【０１８８】
ステップＳ３０１で、グループ復号遅延情報抽出部２２１は、グループ復号遅延情報をデータストリームから抽出する。
【０１８９】
ステップＳ３０２で、グループ復号時刻算出部２２２は、先頭グループの復号開始時刻を算出する。
【０１９０】
シーケンス内の各ピクチャにおける復号グループ数及び各復号グループが内包するブロック数はピクチャ毎に決定することが可能である。またはシーケンス内の全ピクチャで同じ復号グループ数とし、また各復号グループが内包するブロック数を均等にしても良い。更に、復号グループは、ブロック復号時刻情報に記述されているグループと同じとしても良い。
【０１９１】
ステップＳ３０３で、ブロック復号部２１０は、グループ復号ループ内で、グループの復号時刻まで待つ。
【０１９２】
ステップＳ３０４で、ブロック復号部２１０は、受信バッファ２０５からデータを取得し、各ブロックを復号する。
【０１９３】
ステップＳ３０５で、グループ復号時刻算出部２２２は、次のグループの復号開始時刻を計算する。
【０１９４】
ステップＳ３０６で、ブロック復号部２１０は、復号された復号ブロックをフレームメモリに出力する。
【０１９５】
次に、実施例２における動画像復号装置２００の出力処理について説明する。図１６は、実施例２における出力処理の一例を示すフローチャートである。
【０１９６】
ステップＳ４００で、グループ復号遅延情報抽出部２２１は、各ピクチャの復号開始に当たり、まずグループ出力遅延情報をデータストリームから抽出する。
【０１９７】
ステップＳ４０１で、グループ復号時刻算出部２２２は、次に、グループ出力遅延情報から、Ｐ（ｉ）の先頭グループの出力開始時刻を算出する。
【０１９８】
ステップＳ４０２で、グループ出力時刻算出部２３２は、グループの出力開始時間を算出
ステップＳ４０３で、ブロック復号部２１０は、グループの出力開始時刻に従い、グループに属する復号ブロックを算出する。
【０１９９】
以上、実施例２によれば、実施例１における動画像符号化装置１００で符号化されたストリームを適切に復号することができる。
【０２００】
［実施例３］
次に、実施例３における動画像符号化装置について説明する、実施例３では、グループ単位でアンダーフローが発生する場合に、どのような処理を行うか規定する。
【０２０１】
＜構成＞
図１７は、実施例３による動画像符号化装置３００の概略構成の一例を示すブロック図である。動画像符号化装置３０１は、符号化処理部３１０と、符号量制御部３２０と、グループ決定部３３０と、復号時刻決定部３４０と、出力時刻決定部３５０とを有する。
【０２０２】
符号化処理部３１０、グループ決定部３３０、復号時刻決定部３４０、出力時刻決定部３５０は、図７に示す符号化処理部１１０、グループ決定部１３０、復号時刻決定部１４０、出力時刻決定部１５０と同様の処理を行う。
【０２０３】
符号量制御部３２０は、量子化値算出部３２１と、バッファ占有量算出部３２２と、ビットカウンタ３２３と、フィラー付加部３２４とを有する。
【０２０４】
符号量制御部３２０は、グループに含まれる全てのブロックの復号に必要なデータが、所定の伝送レートで復号装置に伝送された場合に、決定された表示時刻により表される時刻までに復号装置の受信バッファに到達するように符号量を制御する。
【０２０５】
量子化値算出部３２１、ビットカウンタ３２３は、図７に示す量子化値算出部１２１、ビットカウンタ１２３と同様の処理を行う。
【０２０６】
バッファ占有量算出部３２２は、図７に示すバッファ占有量算出部１２２の動作に加え、グループの発生情報量が目標値を上回り、復号開始時刻までにグループの全データが理想復号装置の受信バッファに到達しない、バッファアンダーフロー状態になるどうかを調べる。
【０２０７】
バッファアンダーフロー状態を検出した場合、フィラー付加部３２４に対し処理ピクチャの最後にダミーデータを入れるように指示すると共に、図示しない全体制御部に対してバッファアンダーフロー状態を通知する。図示しない全体制御部はバッファアンダーフロー状態を通知された場合、次に符号化するピクチャの符号化処理をスキップするように制御する。
【０２０８】
フィラー付加部３２４は、処理ピクチャの最後にダミーデータを挿入する。挿入するダミーデータの量はバッファ占有量算出部３２２から指示される。
【０２０９】
フィラー付加部３２４は、グループに含まれる全てのブロックの復号に必要なデータが表示時刻までに復号装置の受信バッファに到達しない場合には、出力ストリームにフィラーデータを付加する。また、フィラー付加部３２４は、フィラーデータを付加することで、グループを含むピクチャ最後のブロックの復号に必要なデータが、表示時刻までに復号装置の受信バッファに到達しないように制御する。
なお、本実施例では、ピクチャ内のグループにおいてアンダーフローが発生した場合に、Ｆｉｌｌｅｒ Ｄａｔａを挿入する例を示したが、図１７の量子化値算出部３２１で量子化値を制御することにより、該当ピクチャ全体の情報量を増やし、該当ピクチャを故意にアンダーフローさせることも可能である。
具体的には、図１８のように、ピクチャが４個のグループから構成されているとする。ここで最初のグループがｄｇｔ（０）でアンダーフローを起こした場合、量子化算出部では、ピクチャの発生情報量を制御し、次のピクチャの到着時刻 ｄｔ（０）＝ｄｇｔ（３）でピクチャがアンダーフローを起こすように、グループ１乃至３の量子化器を制御する。同様に、第ｎのグループでアンダーフローを起こした場合には、第（ｎ＋１）番目以降のグループの量子化器を適切に制御することで、該当ピクチャがアンダーフローを起こすようにする。
このように、本実施例では、あるピクチャ内のグループのうち一つのグループでもアンダーフローが発生した場合に、該当ピクチャ全体がアンダーフローとなるように、該当ピクチャの発生情報量を制御する。
【０２１０】
上記の通り、フィラー付加部３２４は、情報量制御部としての機能を有し、グループに含まれる全てのブロックの復号に必要なデータが表示時刻までに復号装置の受信バッファに到達しない場合には、次のピクチャの最初のデータが表示時刻までに復号装置の受信バッファに到達しないように制御する。
【０２１１】
《アンダーフロー時の処理》
まず、図１８を用いて、ピクチャ内のグループにおいて、アンダーフローが起こった場合を考える。図１８は、アンダーフローの発生を説明するための図である。図１８に示すグラフ９０のように、基本的に、グループ単位の復号時刻を定義したときも、符号化装置側はＳＥＩメッセージなどの追加情報で復号装置に送る情報通りにスケジューリングされた復号時刻で復号できるように、符号量の調整を行う。
【０２１２】
しかし、図１８に示すグラフ９１のように、ｄｇｔ（０）において、最初のグループのアンダーフローが発生した場合、復号に必要なビットがバッファに受信されるまで、復号を行わないことは上記と同様である。
【０２１３】
留意すべきは、１ピクチャの表示が保証される必要があり、グループのアンダーフローが発生した場合でも、表示を１ピクチャ遅らせなければならないことである。なぜなら、グループのアンダーフローが発生した場合、１グループの復号に必要なビットがバッファに受信されるまで待つためである。次の復号タイミングは、図１８に示すグラフ９１に示すｄｇｔ'となる。
【０２１４】
この場合、その後の復号時刻もその分だけ遅延してしまうため、そのグループの属するピクチャが復号され、表示される時刻ｄｔ（０）になっても、全てのグループの復号が完了しなくなるので、１ピクチャ表示を遅らせる。
【０２１５】
ここで、グループとしてはアンダーフローを起こしても、ピクチャとしてはアンダーフローを起こしていなかった場合を考える。グループ単位ではアンダーフローを起こしているため、グループ復号を遅らせ、かつ１ピクチャ表示を遅らせ、次のピクチャをスキップしようとする。
【０２１６】
しかし、ピクチャ単位ではアンダーフローを起こしていないため、通常の時刻でピクチャ表示を行おうとする、という矛盾した状況が発生する。この場合、グループの復号が遅れているため、通常のピクチャのタイミングでは復号が終わっておらず、適切なピクチャを出力することができない。
【０２１７】
さらに、その次のピクチャの表示タイミングでも、その次のピクチャに必要な復号が終わっておらず、適切なピクチャを出力することができない。といったように、ピクチャの表示タイミングに適切なピクチャが復号されなくなる。
【０２１８】
そこで、図１９に示すように、グループでアンダーフローが起こった場合には、ピクチャとしても、アンダーフローが起こるように該当ピクチャの発生情報量を制御し、１ピクチャ表示を遅らせ、その次に表示されるべきピクチャをスキップさせる。これにより、グループ単位で復号した場合と、ピクチャ単位で復号した場合で同一のピクチャをスキップさせることができるため、グループ単位の復号とピクチャ単位の復号で各ピクチャ間の表示間隔を同一とすることができる。
【０２１９】
図１９は、アンダーフロー発生時の処理を説明するための図である。例えば、図１９に示す例において、ｄｇｔ（１）でアンダーフローが起こった場合、ｄｔ（１）で復号されるべきピクチャの量は符号９５で示したように、符号化ストリーム到着レート９６よりも小さいにもかかわらず、ｄｔ（１）においてアンダーフローが起こったものとする。これにより、１ピクチャ表示を遅らせ、ｄｔ（１）で表示されるピクチャをｄｔ（２）で表示し、ｄｔ（２）で表示されるべきピクチャをスキップする。
【０２２０】
また符号化装置側においても、グループでアンダーフローが起こった場合には、ピクチャの符号化データに該当ピクチャの次のグループ以降での量子化制御やｆｉｌｌｅｒ  ｄａｔａ追加などを行い、該当ピクチャでアンダーフローを故意に起こすことで、グループ単位とピクチャ単位の双方で復号した場合に同一のピクチャをスキップすることが出来るため、両者で各ピクチャ間のスキップまで含めた表示間隔を同一とし、整合性をとることが可能である。
【０２２１】
≪アンダーフロー検出、ピクチャ情報量制御≫
実施例３による動画像符号化装置における、アンダーフロー検出方法、及びピクチャの発生情報量制御方法を以下に示す。
【０２２２】
まず、符号量制御部３２０は、実施例１の場合と同様の動作を行うとする。アンダーフローは、バッファ占有量算出部３２２において検出される。このとき、少なくとも一つのグループで、上記の条件（２）に示される条件が満たされない場合、当該ピクチャに含まれるグループで、アンダーフローが発生したと検出される。
【０２２３】
この時、バッファ占有量算出部３２２は、フィラー付加部３２４にアンダーフロー発生情報を通知する。フィラー付加部３２４は、アンダーフロー発生情報を受け取り、アンダーフローが発生したことを確認したとき、ピクチャの表示がスキップされるような処理を行う。
【０２２４】
例えば、Ｆｉｌｌｅｒ  ｄａｔａを出力ストリームに付与することで、ピクチャ単位でのアンダーフローを故意に発生させ、ピクチャの表示をスキップさせる。Ｆｉｌｌｅｒ  ｄａｔａの付加方法は、容易に類推できるため、ここでは説明を省略する。
あるいは、バッファ占有量算出部３２２で、あるピクチャのあるグループでアンダーフローを検出した場合には、該当ピクチャ内の該当グループの次のグループ以降で、該当ピクチャがアンダーフローするよう、量子化値算出部で量子化値を制御してピクチャ全体の発生情報量を制御し、該当ピクチャのアンダーフローを故意に発生させる。
【０２２５】
以上の処理を行うことで、ピクチャの表示をスキップさせることで、ピクチャの表示順番がずれることを防ぐことが出来る。
【０２２６】
＜動作＞
次に、実施例３における動画像符号化装置３００の動作について説明する。図２０は、実施例３における動画像符号化装置の処理の一例を示すフローチャートである。
【０２２７】
ステップＳ５００で、バッファ占有量算出部３２２は、復号装置の受信バッファのバッファ占有量に基づいて、グループ単位にアンダーフローするかどうかを確認する。
【０２２８】
ステップＳ５０１で、バッファ占有量算出部３２２は、グループ単位でアンダーフローが発生すると判断したら、ピクチャ単位に見てもアンダーフローするように、ピクチャの発生情報量の制御を行う。その制御の例としては、たとえばフィラー付加部３２４で出力ストリームにフィラーを負荷する、あるいは、量子化値を制御する、などの方法がある。アンダーフローを起こしたピクチャは、ビッグピクチャとも呼ばれる。
【０２２９】
以上、実施例３によれば、グループ単位でアンダーフローが発生する場合にも適切に処理することができる。
［実施例４］
次に、実施例４における動画像復号装置について説明する、実施例４では、実施例３における動画像符号化装置により符号化された符号化データを適切に復号することができる。
【０２３０】
＜構成＞
図２１は、実施例４における動画像復号装置４００の概略構成の一例を示すブロック図である。動画像復号装置４００は、受信バッファ４０５と、グループ復号遅延情報抽出部４２１と、グループ出力遅延情報抽出部４３１と、グループ復号時刻算出部４２２と、グループ出力時刻算出部と４３２と、グループ情報抽出部４４０と、ブロック復号部４１０と、フレームメモリ４１１と、グループ出力部４１２と、表示制御部４１３とを有する。
【０２３１】
動画像復号装置４００が有するこれらの各部は、それぞれ、別個の回路として動画像復号装置４００に実装される。あるいは、動画像復号装置４００が有するこれらの各部は、その各部の機能を実現する回路が集積された一つの集積回路として動画像復号装置４００に実装されてもよい。あるいはまた、動画像復号装置４００が有するこれらの各部は、動動画像復号装置４００が有するプロセッサ上で実行されるコンピュータプログラムにより実現される機能モジュールであってもよい。
【０２３２】
≪アンダーフロー検出、ストリーム編集≫
実施例４による動画像復号装置４００における、アンダーフロー検出方法、及びビットストリーム編集方法を説明する。
【０２３３】
まず、ブロック復号部４１０は、実施例１の場合と同様の動作を行うとする。アンダーフローは、ブロック復号部４１０において検出される。ブロック復号部４１０は、図示しないエントロピー復号部からのビット量情報を受け取る。
【０２３４】
このとき、少なくとも一つのグループで、上記の条件（２）に示される条件が満たされない場合、当該ピクチャに含まれるグループで、アンダーフローが発生したと検出される。例えば、図１８に示すグラフ９１においては、ｄｇｔ（１）でアンダーフローが発生していることを示している。
【０２３５】
この時、ブロック復号部４１０は、表示制御部４１３にアンダーフロー発生情報を通知する。表示制御部４１３は、アンダーフロー発生情報を受け取ったことでアンダーフローが発生したことを確認し、ピクチャの表示をスキップする処理を行う。
【０２３６】
つまり、復号時刻がｄｔ（ｋ）である当該ピクチャのグループｄｇｔ（ｌ）においてアンダーフローが発生した場合、ｄｔ（ｋ）にピクチャとしては復号可能なビット量がバッファに蓄えられていても、ｄｔ（ｋ）はｄｔ（ｋ＋１）に表示される。また、本来ｄｔ（ｋ＋１）に表示されるはずだったピクチャは、スキップされる。
【０２３７】
例えば、図１９に示す例では、ｄｔ（１）に表示されるはずだったピクチャはｄｔ（２）に表示され、ｄｔ（２）に表示されるはずだったピクチャはスキップされる。なお、この例では復号は瞬時だとし、さらに出力（表示）は復号と同時に行うことが出来るとしている。
【０２３８】
これにより、ピクチャの表示をスキップさせることで、ピクチャの表示順番がずれることを防ぐことが出来る。
【０２３９】
＜動作＞
次に、実施例４における動画像復号装置４００の動作について説明する。図２２は、実施例４における動画像復号装置４００の処理の一例を示すフローチャートである。
【０２４０】
ステップＳ６００で、ブロック復号部４１０は、受信バッファ４０５のバッファ占有量に基づいて、グループ単位にアンダーフローするかどうかを確認する。
【０２４１】
ステップＳ６０１で、ブロック復号部４１０は、グループ単位でアンダーフローが発生していると判断したら、表示制御部４１３にアンダーフロー発生情報を通知する。表示制御部４１３は、アンダーフロー発生情報が通知されると、表示ピクチャのタイミングが正しくなるように修正する。
【０２４２】
以上、実施例４によれば、実施例３における動画像符号化装置３００により符号化された符号化データを適切に復号することができる。
【０２４３】
［実施例５］
図２３は、動画像処理装置５００の概略構成の一例を示すブロック図である。動画像処理装置５００は、各実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図２３に示すように、動画像処理装置５００は、制御部５０１、主記憶部５０２、補助記憶部５０３、ドライブ装置５０４、ネットワークＩ／Ｆ部５０６、入力部５０７、表示部５０８を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
【０２４４】
制御部５０１は、コンピュータの中で、各装置の制御やデータの演算、加工を行うＣＰＵである。また、制御部５０１は、主記憶部５０２や補助記憶部５０３に記憶されたプログラムを実行する演算装置であり、入力部５０７や記憶装置からデータを受け取り、演算、加工した上で、表示部５０８や記憶装置などに出力する。
【０２４５】
主記憶部５０２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などであり、制御部５０１が実行する基本ソフトウェアであるＯＳやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【０２４６】
補助記憶部５０３は、ＨＤＤ（Hard Disk Drive）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【０２４７】
ドライブ装置５０４は、記録媒体５０５、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
【０２４８】
また、記録媒体５０５は、所定のプログラムを格納する。この記録媒体５０５に格納されたプログラムは、ドライブ装置５０４を介して動画像処理装置５００にインストールされる。インストールされた所定のプログラムは、動画像処理装置５００により実行可能となる。
【０２４９】
ネットワークＩ／Ｆ部５０６は、有線及び／又は無線回線などのデータ伝送路により構築されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器と動画像処理装置５００とのインターフェースである。
【０２５０】
入力部５０７は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部５０８の表示画面上でキーの選択等を行うためのマウスやスライドパッド等を有する。また、入力部５０７は、ユーザが制御部５０１に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
【０２５１】
表示部５０８は、ＬＣＤ（Liquid Crystal Display）等を有し、制御部５０１から入力される表示データに応じた表示が行われる。なお、表示部５０８は、外部に設けられてもよく、その場合は、動画像処理装置５００は、表示制御部を有する。
【０２５２】
このように、前述した各実施例で説明した動画像符号化処理又は動画像復号装置は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理又は動画像復号装置を実現することができる。
【０２５３】
また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体５０５に記録し、このプログラムが記録された記録媒体５０５をコンピュータや携帯端末に読み取らせて、前述した処理を実現させることも可能である。
【０２５４】
なお、記録媒体５０５は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体５０５には、搬送波は含まれない。
【０２５５】
動画像処理装置５００で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部５０１が補助記憶部５０３からプログラムを読み出して実行することにより上記各部のうち１又は複数の各部が主記憶部５０２上にロードされ、１又は複数の各部が主記憶部５０２上に生成されるようになっている。
【０２５６】
また、前述した各実施例で説明した動画像符号化処理は、１つ又は複数の集積回路に実装してもよい。
【０２５７】
上述した各実施例による動画像符号化装置は、様々な用途に利用される。例えば、この動画像符号化装置又は動画像復号装置は、ビデオカメラ、映像送信装置、映像受信装置、テレビ電話システム、コンピュータあるいは携帯電話機に組み込まれる。
【０２５８】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【０２５９】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０２６０】
なお、以上の各実施例に関し、さらに以下の付記を開示する。
（付記１）
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化する動画像符号化装置であって、
複数のブロックに対し、各ブロックの属するグループを決定するグループ構成決定部と、
前記各ブロックの属するグループ情報を出力ストリームに付加するグループ情報付加部と、
前記グループ毎に復号時刻を算出し出力ストリームに付加する復号時刻決定部と、
前記グループ毎に表示時刻を算出し出力ストリームに付加する出力時刻決定部と、
グループに含まれる全てのブロックの復号に必要なデータが、所定の伝送レートで復号装置に伝送された場合に、前記出力時刻決定部より算出された表示時刻により表される時刻までに復号装置の受信バッファに到達するように符号量を制御する符号量制御部と、
前記符号量制御手段の制御情報に基づいて符号化を行う符号化処理部と、
グループに含まれる全てのブロックの復号に必要なデータが前記表示時刻までに復号装置の受信バッファに到達しない場合には、次のピクチャの最初のデータが前記表示時刻までに復号装置の受信バッファに到達しないように制御する情報量制御部と、
を備える動画像符号化装置。
（付記２）
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化する動画像符号化方法であって、
複数のブロックに対し、各ブロックの属するグループを決定し、
前記各ブロックの属するグループ情報を出力ストリームに付加し、
前記グループ毎に復号時刻を算出し出力ストリームに付加し、
前記グループ毎に表示時刻を算出し出力ストリームに付加し、
グループに含まれる全てのブロックの復号に必要なデータが、所定の伝送レートで復号装置に伝送された場合に、前記表示時刻により表される時刻までに復号装置の受信バッファに到達するように符号量を制御し、
前記制御された符号量に基づいて符号化を行い、
グループに含まれる全てのブロックの復号に必要なデータが前記表示時刻までに復号装置の受信バッファに到達しない場合には、次のピクチャの最初のデータが前記表示時刻までに復号装置の受信バッファに到達しないように情報量を制御する処理を
コンピュータが実行する動画像符号化方法。
（付記３）
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化した符号化データを示す入力ストリームを復号する動画像復号装置であって、
前記入力ストリームからグループ情報を抽出するグループ情報抽出部と、
グループ毎に復号時刻情報を算出する復号時刻算出部と、
前記グループ毎に出力時刻を算出する出力時刻算出部と、
前記出力ストリームを受け取り、復号を行い、復号ブロックを出力するブロック復号部と、
前記復号ブロックを保存するフレームメモリと、
前記フレームメモリに保存された前記グループ内の各復号ブロックを出力するグループ出力部と、
前記グループの表示を制御する表示制御部とを備え、
前記ブロック復号部は、前記グループの復号時刻に復号に必要な全データが到達しているかどうかを確認し、
前記表示制御部は、前記グループの復号時刻に復号に必要な全データが到達していない場合には、該当グループの各復号ブロックの代わりに、前記フレームメモリに保存された別の復号ブロックを表示するようにグループ出力部を制御する動画像復号装置。
（付記４）
動画像データに含まれる各ピクチャを複数のブロックに分割して符号化した符号化データを示す入力ストリームを復号する動画像復号方法であって、
前記入力ストリームからグループ情報を抽出し、
グループ毎に復号時刻情報を算出し、
前記グループ毎に出力時刻を算出し、
前記出力ストリームを受け取り、復号を行い、復号ブロックを出力し、
前記復号ブロックをフレームメモリに保存し、
前記フレームメモリに保存された前記グループ内の各復号ブロックを出力し、
前記グループの表示を制御する処理をコンピュータが実行し、
前記復号を行う処理は、前記グループの復号時刻に復号に必要な全データが到達しているかどうかを確認し、
前記表示を制御する処理は、前記グループの復号時刻に復号に必要な全データが到達していない場合には、該当グループの各復号ブロックの代わりに、前記フレームメモリに保存された別の復号ブロックを表示するように制御する動画像復号方法。
【符号の説明】
【０２６１】
１００、３００  動画像符号化装置
２００、４００  動画像復号装置
５００  動画像処理装置
１１０  符号化処理部
１２０  符号量制御部
１３０  グループ決定部
１４０  復号時刻決定部
１４２  グループ復号遅延決定部
１４３  グループ復号遅延情報付加部
１５０  出力時刻決定部
１５２  グループ出力遅延決定部
１５３  グループ出力遅延情報付加部
２１０  ブロック復号部
２１２  グループ出力部
２２１  グループ復号遅延情報抽出部
２２２  グループ復号時刻算出部
２３１  グループ出力遅延情報抽出部
２３２  グループ出力時刻算出部
３２４  フィラー付加部
４１３  表示制御部
【図１】
0006288129.tif 000017
【図２】
0006288129.tif 000018
【図３】
0006288129.tif 000019
【図４】
0006288129.tif 000020
【図５】
0006288129.tif 000021
【図６】
0006288129.tif 000022
【図７】
0006288129.tif 000023
【図８】
0006288129.tif 000024
【図９】
0006288129.tif 000025
【図１０】
0006288129.tif 000026
【図１１】
0006288129.tif 000027
【図１２】
0006288129.tif 000028
【図１３】
0006288129.tif 000029
【図１４】
0006288129.tif 000030
【図１５】
0006288129.tif 000031
【図１６】
0006288129.tif 000032
【図１７】
0006288129.tif 000033
【図１８】
0006288129.tif 000034
【図１９】
0006288129.tif 000035
【図２０】
0006288129.tif 000036
【図２１】
0006288129.tif 000037
【図２２】
0006288129.tif 000038
【図２３】
0006288129.tif 000039