JP4046496B2 - 動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム - Google Patents
動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム Download PDFInfo
- Publication number
- JP4046496B2 JP4046496B2 JP2001306074A JP2001306074A JP4046496B2 JP 4046496 B2 JP4046496 B2 JP 4046496B2 JP 2001306074 A JP2001306074 A JP 2001306074A JP 2001306074 A JP2001306074 A JP 2001306074A JP 4046496 B2 JP4046496 B2 JP 4046496B2
- Authority
- JP
- Japan
- Prior art keywords
- encoded data
- cut
- decoding
- decoded
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、予測符号化方式を用いた動画像符号化データを復号する動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラムに関する。
【0002】
【従来の技術】
デジタル画像を記録したり、転送したりする場合、データ量を削減するために符号化を行なうのが一般的である。デジタル動画像の場合、符号化の方法としては時間的、空間的冗長を利用してデータの削減を行なう方法がある。
時間的冗長を利用する方法としては、動画像を構成する各画像を複数のブロックに分けて、各ブロックの画像間における動きを検出して、該当する画像間のブロックの差分を取り、ブロックの動きの情報と画像間のブロックの差分だけをデータとして取り扱うことにより、データ量を削減する手法がある。
空間的冗長を利用する方法としては、動画像を構成する各画像を複数のブロックに分けて、ブロック内の画素データを直交変換し量子化する方法がある。
MPEG2(ISO/IEC13818−2)動画像符号化方式は、前記時間的冗長と空間的冗長の両方を併用した符号化方式であり、映像を扱う機器、例えば、デジタル衛星放送、DVDビデオプレーヤーなど、広く一般に使われるようになってきている。
【0003】
MPEG方式において、動画像を構成する個々の画像は、それぞれ、16×16画素の大きさの規則正しく並べられた複数のブロックに分けられ、表示位置の左上の隅のブロックから、右方向へ順次符号化される。右の隅まで到達すると、符号化したブロック列の一段下の左隅まで移動し、順次画面全体が符号化される。符号化する画像を構成する各ブロック(以降符号化ブロックと呼ぶ)は、前後の画像を参照し、参照画像内の任意の位置のなるべく似通ったブロック(以降予測ブロックと呼ぶ)を対象として、符号化ブロックと予測ブロックとの表示画像上の相対的な位置関係を表す動きベクトルと、符号化ブロックと予測ブロックの差分情報だけを符号化データとする。符号化ブロックには、他のブロックを参照しないタイプ、時間的に過去の画像又は未来の画像のみを参照するタイプ、時間的に過去と未来の両方の画像を参照するタイプがある。符号化ブロックは、後述する画像の種類の制約と、データの圧縮の効率の良い方法を選択して符号化されている。
【0004】
MPEG2の場合には、インターレース画像方式を考慮して、画像(以降ピクチャと呼ぶ)はフレーム又はフィールドとして扱うことができる。フレーム単位で扱う場合には、符号化ブロックはフィールドに分けて、それぞれ、別のフィールドのブロックを参照することもできる。
ピクチャを構成する各符号化ブロックは、予測ブロックが存在する場合、符号化ブロックと予測ブロックの差分を取り、参照する予測ブロックが存在しない場合には、符号化ブロックのデータがそのまま扱われる。符号化ブロックと予測ブロックの差分データ、または、符号化ブロックのデータは、さらに直交変換され、量子化された後、例えば周波数成分順に並べられ、可変長符号化され、データの量を削減したMPEG符号化データとなる。復号の際には、この手順を逆に順次行なっていけば、符号化データを元の画像データに戻すことができ、動画像として表示することができる。
【0005】
MPEG2のピクチャには、ピクチャを構成する各ブロックの参照方法により、I、P、Bの3種類のタイプが定義されている。Iピクチャは、参照を行なわないブロックのみで構成される。Pピクチャは、参照を行なわないブロックと、過去のピクチャを参照するブロックとで構成される。Bピクチャは、参照を行なわないブロックと、過去のピクチャを参照するブロックと、未来のピクチャを参照するブロックと、過去と未来のピクチャ両方を参照するブロックから構成される。参照を行なうPピクチャとBピクチャは、参照するピクチャがあらかじめ復号されていなければ復号ができない性質がある。
【0006】
ここで、図を用いて、MPEG2のピクチャのタイプについて説明する。図14は、MPEG2で符号化された動画像のフレーム構成例である。図におけるB0は、Bピクチャであり、動画像の表示順で0番目、すなわち最初に表示するフレームであることを意味する。B1は、Bピクチャであり、動画像の表示順で1番目、すなわちB0に続けて表示するフレームである。I2は、Iピクチャであり、B1に続けて表示するフレームである。
【0007】
このように、今後、説明と図の中で、ピクチャタイプと表示順の組み合わせにより、各ピクチャを識別する表現をする。I2から、矢印がB0、B1、B3、B4、P5に向かって出ているが、これは、I2がそれぞれの矢印の先のピクチャに参照されていることを意味する。この図から分かるように、MPEGにおいて参照をされるピクチャは、Iピクチャ、Pピクチャのみであり、Bピクチャは参照されない。Pピクチャは、表示順で直前のIピクチャ又はPピクチャを参照することができる。Bピクチャは、表示順で直前と直後のIピクチャ、又はPピクチャを参照することができる。
【0008】
ところで、図14に示したような符号化データを復号することを考えた場合、例えば、B3を復号するには、B3が参照するI2とP5をあらかじめ復号する必要がある。しかし、P5は、表示順ではB3よりも後なので、符号化データが、表示順になっていた場合、例えば、B3、B4の符号化データを一旦蓄積して、P5を復号してから、B3、B4の符号化データを復号するというような複雑な復号手法をとる必要が生じる。MPEGにおいては、上のような事情を考え、符号化データのピクチャの順番の並びを入れ替えて、常に参照するピクチャが先に符号化されている構造になっている。これをリオーダリングと呼んでいる。
【0009】
その結果、前記例では、P5がB3よりも先に符号化されているので、復号処理においては、たとえ、表示順で後のピクチャを参照していたとしても符号化データを順次復号することができる。但し、符号化データ内のピクチャの順番が表示順になっていないので、復号後、画像データの表示順を適切に操作して、正しい順序で表示されるようにする必要がある。
【0010】
図15に実際の符号化データの復号と、表示方法についてタイミングの一例を示す。図15の中に、フレームパルスを示しているが、通常の復号再生において、1フレーム時間毎に1フレームの表示を行なうので、復号処理もフレームパルスに合わせて1フレーム時間に1フレーム行なうことにより、適切な復号速度を保つ。
【0011】
まず、I2の復号を行なうが、先にB0、B1を表示しなければならないので、I2は一旦メモリに保存しておく。次に、B0を復号するが、B0は、先に復号したI2を参照しながら復号する。Bピクチャは、通常、過去と未来両方のピクチャを参照できるが、符号化データの先頭では、時間的に過去のIピクチャ、又はPピクチャが存在しないので、未来のピクチャのみ参照する。B0は、表示順で先頭の画像なので、復号後、直ちに表示することができる。続いて、B1を復号するが、B0と同様に、I2を参照して復号する。B1は、表示順でB0の次に表示する。次にP5を復号するが、I2と同様に表示するタイミングまでは一旦メモリに保存する。B1の後には、復号済みのI2を表示する。この作業を繰り返すことにより、動画像を適切に復号し、タイミングよく表示することにより、正常な連続的な動画像を出力することができる。
【0012】
ここで、さらに、MPEG方式の動画像符号化データの構造について説明をする。MPEG方式の動画像符号化データは、図16に示すように、階層的な構造をもっており、各階層の先頭に、その下位階層の復号に必要なデータと、それに続いて、下位階層構造が1つ以上並んでいる構造を取る。
【0013】
最上位層は、シーケンス層であり、シーケンスヘッダと、それに続いて、1つ以上のGOP(Group Of Pictures)から構成される。シーケンスヘッダ部の先頭には、スタートコードが存在する。スタートコードは、通常、符号化データの中では、他には現れないパターンのデータであり、符号化データ内でこのパターンを検索することにより、ヘッダの先頭位置を見つけられるようになっている。スタートコードは、シーケンスヘッダだけでなく、以下に述べるシーケンス以下の各ヘッダ内の先頭にも存在する。
【0014】
シーケンスヘッダ部には例えば、画像のサイズなどの情報が含まれている。GOP層は、GOPヘッダと、1つ以上のピクチャで構成される。また、符号化順でGOP先頭のデータはIピクチャであり、表示順でGOPの最後は、Iピクチャ又は、Pピクチャである。ピクチャは、ピクチャヘッダと、1つ以上のスライスから構成される。ピクチャヘッダには、例えば、ピクチャタイプの情報が含まれている。スライスには、スライスヘッダと、1つ以上のブロックの情報が含まれている。各ブロックの情報には、スタートコードが存在しないので、符号化データ内のスタートコード検索で見つけられる復号開始のエントリ位置は、スライスヘッダである。MPEG2の場合、スライスは、ピクチャを構成するブロックの横一列に最低1つはあることとしている。
【0015】
GOPは、符号化順でIピクチャから開始されるので、GOPの上位層にあたる、シーケンスヘッダ内の復号に必要なデータが保存されていれば、復号処理の開始位置とすることが可能である。しかし、図17の例に示すGOP2のB0、B1のように、GOPの先頭で表示順でIピクチャよりも前のBピクチャは、一つ前のGOPに属するIピクチャ、又はPピクチャを参照することがある。この場合、GOP2のB0、B1は正しく復号するには、一つ前のGOP1の先頭から復号を開始する必要がある。
MPEGでは、GOPヘッダ内に、Closed_GOPとBroken_Linkという2つの情報をもっている。
【0016】
Closed_GOPが1の場合、図17の例に示すGOP4のGOPのB0、B1のように先頭で表示順でIピクチャよりも前のBピクチャは、前のGOPのピクチャを参照しない。従って、この場合、GOP4の先頭から復号を開始してもGOPの先頭で表示順でIピクチャよりも前のBピクチャは、正常に復号することが可能である。
【0017】
Broken_Linkは、GOPの先頭で表示順でIピクチャよりも前のBピクチャの参照が不適当な場合に1とする。これは、例えば、関連性のないGOP同士を接続した場合に、Broken_Linkを1にすることにより、正常に復号できないGOPの先頭で表示順でIピクチャよりも前のBピクチャの復号や表示をスキップするのに利用できる。
図17の例に示す、GOP6は、Broken_Linkが1であり、Closed_GOPが0の場合であり、この時GOP6のB0、B1は、復号開始位置に関らず、正常に復号することができないので、復号や表示のスキップをするといった対応が可能である。
【0018】
媒体に動画像を記録する場合、単純な復号再生表示だけではなく、早送り、巻き戻し、サーチ、静止画表示、スロー再生などといった特殊再生機能も提供するのが一般的である。特に光磁気ディスクや、ハードディスク、半導体メモリなどの媒体に記録する場合、その特徴であるランダムアクセス性を用いて、任意の動画像の全部又は一部を自在に選択して、繋いで表示する編集再生、あるいは動画像の中で不必要な一部分だけを切り取ったスキップ再生の実現が考えられる。動画像の中で表示を行なう一部分をカットと呼ぶが、編集再生は、任意の複数のカットを連続して表示することによって実現される。また、スキップ再生は、一つの動画像の任意の複数のカットを連続して表示することによって、複数のカットの間の部分がスキップされたように表示されることによって実現される。従って、スキップ再生は、編集再生の一種として扱うことができ、同一の技術で実現が可能である。今後、スキップ再生も編集再生として説明をする。
【0019】
図18に一般的なMPEG2復号装置のブロック図を示す。ディスクなどの記録媒体から読み出された符号化データは、ビデオバッファ101に蓄積される。ビデオバッファ101に蓄積された符号化データは、ビデオバッファ101に入力された順番に復号器102に供給される。復号器102は、符号化データを復号し、フレームメモリ103へフレーム画像データを出力する。フレームメモリ103は、フレーム画像データを蓄積し、適切な順番に入れ替えて、表示回路へ画像データを出力する。
【0020】
図18の復号装置を使用して、編集再生を行なおうとした場合、次の方法が考えられる。
まず、最初に表示するカットの符号化データ(以降カットアウト符号化データと呼ぶ)をビデオバッファ101に供給する。最後に表示したいフレームのカットアウト符号化データをビデオバッファ101に供給完了した時点で、次に表示するカットのデータ(以降カットイン符号化データと呼ぶ)を供給する。
さらに、別のカットを表示する場合には、先ほどカットイン符号化データとしていた符号化データをカットアウト符号化データとし、新たに表示予定の符号化データをカットイン符号化データとして、ビデオバッファ101への供給を切り替えていけばよい。
【0021】
しかし、前記MPEGの階層構造で説明したように、正常な動画像を得るためには、適切なエントリーポイントから復号を開始する必要がある。もっとも適当なエントリーポイントは、シーケンスヘッダの先頭であるが、シーケンスヘッダ内の復号に必要な情報が保存されているのであれば、GOPの先頭から復号開始が可能である。カットイン符号化データの先頭を任意の画像としたいのであれば、エントリーポイントから、復号を開始して、復号を進めて目的の画像を表示できる位置まで復号を進めた後に表示を開始する必要がある。一般的に、目的の画像の復号できるまでのピクチャの枚数は、数枚以上になり、復号器の復号速度も十分に速くないので、1フレーム時間内に処理を終了させるのは、通常は不可能であるケースが多い。
【0022】
図19に、図18に示す構成の復号器を使用して、編集再生を行なった場合のカット間の復号と、表示について例を示す。図19の(a)では、カットイン符号化データの表示開始がGOP2のB0である場合の例を示す。この時は、前記エントリーポイントと、表示開始位置が一致するので、1フレーム時間に複数ピクチャの復号を進める必要がなく、連続的に表示することが可能である。
【0023】
図19の(b)では、カットイン符号化データの表示開始がGOP4のI2の例を示す。この場合、I2を復号した後に、B0、B1のデータをスキップする必要があり、カットイン画像を次のフレームに表示ができないため、スキップ処理が遅い場合には、カットアウト符号化データの最終表示画像GOP3のP8を静止画表示する必要がある。図19の(c)では、GOP6のB7をカットイン符号化データの表示開始としている。GOP6のI2、P5、P8、B7の順に復号する必要があり、この復号を行なっている期間、カットイン画像を次のフレームに表示ができないため、カットアウト符号化データの最終画像GOP5のB4を静止画表示する必要があり、動画像を連続的に編集再生できなくなっていた。
【0024】
この問題点を解決するための従来技術として、動画像を連続的に編集再生するために、特開平11−220695号公報に公開されている方法がある。その実施例として掲げている方法の概略について、図20、図21、図22、図23を用いて説明する。
【0025】
図20は、この従来の復号装置を表すブロック図である。第1のビデオバッファ104は、符号化データを入力し、蓄積して、第1の復号器105に出力する。第1の復号器105は、第1のビデオバッファ104から入力された符号化データを復号して、復号画像データを第1のフレームメモリ106に出力する。フレームメモリ106は、第1の復号器105から復号画像データを入力し、蓄積して、スイッチ110に出力する。
第2のビデオバッファ107は、符号化データを入力し、蓄積して、第2の復号器108に出力する。第2の復号器108は、第2のビデオバッファ107から入力された符号化データを復号して、復号画像データを第2のフレームメモリ109に出力する。フレームメモリ109は、第2の復号器108から復号画像データを入力し、蓄積して、スイッチ110に出力する。
スイッチ110は、第1のフレームメモリと第2のフレームメモリからの復号画像データのいずれかを選択して、表示部へ出力する。
【0026】
図21に、図20の復号装置に基づく復号、表示のタイミング例を示す。カットアウト符号化データは、第1のビデオバッファ104に供給される。第1の復号器105は、復号装置が管理する時間情報に基づいて第1のビデオバッファ104より、符号化データを入力し、復号し、復号画像データを、第1のフレームメモリに出力する。スイッチ110は、第1のフレームメモリ104からの出力を選択しており、第1のフレームメモリ104からの出力信号を表示部へ出力する。
一方、表示が編集点に到達する時間よりも前に、カットイン符号化データは、第2のビデオバッファ107に供給される。第2の復号器108は、第2のビデオバッファ107から符号化データを入力し復号し、復号画像データを第2のフレームメモリ109に出力する。
【0027】
カットイン符号化データの復号が所定の位置まで達したならば、第2の復号器は一時停止する。表示が編集点に到達したならば、スイッチ110は、第2のフレームメモリ109からの出力を選択し、表示部に出力する。また、同時に第2の復号器は復号を再開する。その結果、編集点前後の連続性を保ちながら編集再生表示が行なわれる。
【0028】
図22は、別の復号装置を表すブロック図である。
第1のビデオバッファ111は、符号化データを入力し、蓄積して、スイッチ112に出力する。第2のビデオバッファ115は、符号化データを入力し、蓄積して、スイッチ112に出力する。スイッチ112は、第1のビデオバッファ111と第2のビデオバッファ115からの符号化データのいずれかを選択して、復号器113に供給する。復号器113は、スイッチ112で選択された符号化データを入力し、復号する。復号した画像データは、フレームメモリ114に出力する。フレームメモリ114は、復号器113から復号画像データを入力し、蓄積した後、連続した動画像となるように、順次、表示部に出力する。
【0029】
図23に、図22の復号装置に基づく復号、表示のタイミング例を示す。カットアウト符号化データは、第1のビデオバッファ111に供給される。スイッチ112は、第1のビデオバッファ111からのデータを選択しており、復号器113は、復号装置が管理する時間情報に基づいてカットアウト符号化データを復号し、フレームメモリ114に出力する。フレームメモリ114は、復号器113から復号画像データを入力し、蓄積した後、表示時間管理情報に基づいて適切に表示部に出力する。
【0030】
次に、表示が編集点に到達するよりも前に、カットイン符号化データの復号が適切な位置まで進められるように、並列復号を開始する。並列復号は、復号器113が、例えば、1フレーム時間に2フレーム分の復号能力を有する場合、まず、スイッチ112により、第1のビデオバッファ111を選択し、カットアウト符号化データを1フレーム行なう。
【0031】
次にスイッチ112により、第2のビデオバッファ115を選択し、カットアウト符号化データを1フレーム復号するという具合に交互にカットアウト符号化データとカットイン符号化データの復号を行なうことによって、時分割によって異なる複数の符号化データを並列的に復号する。なお、交互に復号する時の切り替えの単位は、ピクチャ単位、あるいはブロック単位でもどんな量でもよいとしている。カットイン符号化データが所定の位置まで達したならば、カットイン符号化データの復号は一時停止する。表示出力が、切り替え点に達したならば、表示する復号画像データをカットイン側にし、スイッチ112を第2のビデオバッファ115側に切り替えて、カットイン符号化データの復号を再開する。その結果、編集点前後の連続性を保ちながら編集再生表示が行なわれる。
【0032】
【発明が解決しようとする課題】
しかしながら、図20に示す復号装置は、回路の大部分を占める復号器が複数必要であり、回路規模の増大により、コスト、消発電力の増加してしまう問題がある。
【0033】
図22に示す復号装置による復号方法は、時分割による並列復号の際、切り替えをピクチャ毎、あるいは、ブロック毎というように、どのようなデータ量であっても良いと規定している。しかし、例えば、符号化データにエラーが発生した場合や、記録媒体からのデータの供給の遅延により、復号予定のデータが壊れていて判別ができない、あるいは、データが来るのを待つ必要が生じるような不測の事態において、適切に切り替えが行なわれない可能性がある。この結果、時分割復号を行なっている際にカットアウト符号化データの復号処理が、表示よりも遅れてしまい、一時静止画表示をしなければならない問題が発生する恐れがある。
【0034】
また、図22に示す復号装置による復号方法は、符号化データによって異なる符号化データの各階層のヘッダ部分に含まれている復号に必要な情報を、符号化データの切り替え単位に応じて複数保持し、スイッチの切り替えと連動して切り替える必要がある。
1フレーム時間に2フレーム以上の復号能力がある復号器の場合、フレーム単位の切り替えが可能である。この場合、複数個保持しなければならない復号に必要な情報は、ピクチャ層よりも上の階層、すなわち、GOPヘッダとシーケンスヘッダに含まれる情報だけである。
【0035】
従って、1フレーム時間に2フレームよりも遅い復号能力しか有しない復号器の場合には、フレーム単位の切り替えを行なうことができない問題がある。このため、切り替えが、例えばブロック単位など小さな単位になり、シーケンスヘッダ、GOPヘッダ、ピクチャヘッダ、スライスヘッダに含まれる情報と、さらに、各ブロックの動きベクトルといった、差分情報しか符号化されていない情報も、保持する必要があり、フレーム単位の切り替えと比べると格段に多くの情報を符号化データ毎に保持する必要が生じる。
【0036】
本発明の目的は、回路規模の増加を最小限にとどめながら、符号化データの並列復号処理を、時間により適切に処理タイミング管理ができ、復号情報を保持するデータ量を大幅に削減することが可能な連続的動画像の表示を行なう動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラムを提供することにある。
【0037】
【課題を解決するための手段】
本発明は、予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させる動画像復号装置において、カットアウト符号化データを記憶する第1符号化データ記憶部と、カットイン符号化データを記憶する第2符号化データ記憶部と、前記第1符号化データ記憶部又は前記第2符号化データ記憶部に記憶されている符号化データのうち、一つを選択するスイッチと、前記スイッチにより選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号する復号部と、前記復号部で復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力する復号データ出力部と、1画像表示単位を表示する時間である表示単位時間毎に同期信号を出力する同期信号出力部と、各部を制御する制御部と、を備えており、前記制御部は、前記復号部によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データを次の同期信号が入力されるまで選択させる制御を行うことを特徴とする動画像復号装置である。ここで、画像表示単位とは、例えばフレームやフィールドに該当する画像データであり、MPEG2でいうピクチャ単位である。
【0038】
また、本発明は、 次に出力するカットイン符号化データが第2符号化データ記憶部上のどの位置にあるかを管理する出力ポインタを記憶する出力ポインタ記憶部を更に備え、前記制御部は、前記出力ポインタの値を前記第2符号化データ記憶部から読み出して一旦前記出力ポインタ記憶部に記憶させる手段と、前記出力ポインタ記憶部に記憶した前記出力ポインタを前記第2符号化データ記憶部に書き込む手段と、を備えたことを特徴とする動画像復号装置である。
【0039】
また、本発明は、次に出力するカットイン符号化データが第2符号化データ記憶部上のどの位置にあるかを管理する出力ポインタを記憶する出力ポインタ記憶部を更に備え、前記制御部は、前記復号部によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データのうち、前記出力ポインタ記憶部に記憶された出力ポインタの位置から符号化データを読み出すように、次の同期信号が入力されるまで選択させる制御を行うことを特徴とする動画像復号装置である。
【0040】
また、本発明は、前記制御部は、前記第2符号化データ記憶部上に符号化データの入力停止位置を示す入力停止位置ポインタを設定し、前記第2符号化データ記憶部に書き込む手段を備えたことを特徴とする動画像復号装置である。
【0041】
また、本発明は、予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させる動画像復号方法において、カットアウト符号化データを記憶する第1符号化データ記憶部又はカットイン符号化データを記憶する第2符号化データ記憶部のうち、いずれかから符号化データを一つ選択するステップと、前記選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号するステップと、前記復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力するステップと、を備え、前記カットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データを、1画像表示単位を表示する時間である表示単位時間毎に出力される同期信号が入力されるまで選択させるステップを有する動画像復号方法である。
【0042】
また、本発明は、上述した動画像復号方法をコンピュータに実行させるプログラムが記録されている記録媒体である。
【0043】
また、本発明は、カットアウト符号化データを記憶する第1符号化データ記憶部と、カットイン符号化データを記憶する第2符号化データ記憶部と、を備えたコンピュータに、予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させるプログラムにおいて、前記第1符号化データ記憶部又は前記第2符号化データ記憶部に記憶されている符号化データのうち、一つを選択する選択機能と、前記選択機能により選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号する復号機能と、前記復号機能で復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力する復号データ出力機能と、1画像表示単位を表示する時間である表示単位時間毎に同期信号を出力する同期信号出力機能と、を実現させるためのプログラムであって、前記復号機能によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記選択機能に第2符号化データ記憶部に記憶された符号化データを次の同期信号が入力されるまで選択させる制御を実現させる為のプログラムである。
【0044】
<第1実施形態>
図1は、本発明を適用した動画像復号装置の第1実施形態を示すブロック図である。この動画像復号装置は、光ディスク等の記録媒体から入力される符号化データを蓄積する第1のビデオバッファ1と、第2のビデオバッファ7と、該ビデオバッファ1,7に蓄積された符号化データを選択するスイッチ4と、フレーム時間をカウントしてパルスを出力するタイマー3と、符号化データを復号する復号器5と、復号データを蓄積して所定の順番で表示部(図示せず)へ出力するフレームメモリ6と、各部を制御情報に基づいて制御する制御部8とを備える。
【0045】
以下に、動画像復号装置の動作概略を述べる。
まず、光磁気ディスク等の記録媒体から画像データである符号化データを一旦メインバッファ(図示せず)に蓄積する。また、記録媒体から読み出した画像に関する制御情報(ピクチャの再生表示順等)が制御部8に入力される。制御部8は、制御情報に基づいて符号化データを、例えば編集再生を行うためのカットアウト符号化データとカットイン符号化データに分割してメインバッファに出力させ、第1のビデオバッファ1及び第2のビデオバッファ7のそれぞれに入力させる。第1のビデオバッファ1及び第2のビデオバッファ7は、符号化データを蓄積して、スイッチ4に出力する。スイッチ4は、制御部8から制御を受け、第1のビデオバッファ1と第2のビデオバッファ7からの符号化データのいずれかを選択して、復号器5に供給する。
【0046】
復号器5は、スイッチ4から入力された符号化データを復号し、復号データをフレームメモリ6へ出力する。タイマー3は、1画面を表示するためのフレーム時間間隔で、制御部8に時間になったことを知らせるパルス信号を出力する。制御部8は、タイマー3からの信号を受け取り、スイッチ4の切り替えと、表示部に出力するフレームメモリ6内の画像データの選択制御を行なう。フレームメモリ6は、復号器5から、復号画像データを入力し、制御部8からの制御により、表示部に対して所定の順番で復号画像データを出力する。
【0047】
次に、復号処理について詳しく述べる。
カットアウト符号化データは、第1のビデオバッファ1に供給され、スイッチ4を経て、復号器5に供給される。制御部8は、タイマー3から、フレーム時間ごとに合図を示すパルス信号を受け、フレームメモリ6内に表示するべき画像データが存在する場合には、フレームメモリ6に対して、表示すべきデータを指示し、また復号器5に1フレームの符号化データを復号させる。こうして、制御部8による繰り返しフレームメモリ6に対する表示すべきデータの指示と、復号器5による1フレームの復号とを行なうことによって、フレームメモリ6から、表示部に対して、順次フレーム画像データが出力され、動画像として表示ができる。
【0048】
編集再生を行なう場合には、カットアウト符号化データを第1のビデオバッファ1に供給するのと並行して、カットイン符号化データを第2のビデオバッファ7に供給する。制御部8は、タイマー3から、フレーム時間の合図(パルス)を受けとると、フレームメモリ6に対して、表示すべきデータを指示する。次に、スイッチ4を制御して、第1のビデオバッファ1側を選択し、復号器5にカットアウト符号化データの1フレームを復号させる。
【0049】
次に、制御部8は、スイッチ4を制御して、第2のビデオバッファ7側を選択し、復号器5にカットイン符号化データを復号させる。制御部8は、タイマー3から次のフレーム時間の合図(パルス)を受けとると、カットイン符号化データの復号を中断し、フレームメモリ6に対して、表示すべきデータを指示し、スイッチ4を制御して、第1のビデオバッファ1側を選択し、復号器5にカットアウト符号化データの1フレームの復号を行なわせる。
【0050】
その後、制御部8はスイッチ4を制御して、第2のビデオバッファ7側を選択し、前回中断したカットイン符号化データの復号を再開する。制御部8は、タイマー3から合図(パルス)を受けて、フレームメモリ6の制御と、復号器5にカットアウト符号化データの1フレーム復号を行なわせる。その後、制御部8は、タイマー3から次の合図が来るまで、復号部5にカットイン符号化データの復号を行なわせることによって、カットアウト符号化データの復号を、1フレーム時間毎に、1フレーム復号しながら、時分割を用いて並列的に、カットイン符号化データの復号をすることができる。
【0051】
カットイン符号化データの復号が、先頭の画像を表示できる位置まで進んだところで、カットイン符号化データ側の復号を、一旦停止して、カットアウト符号化データのみを復号する状態に移行する。すなわち、制御部8が、タイマー3から合図(パルス)を受けて、繰り返しフレームメモリ6の制御と、復号部5にカットアウト符号化データの1フレームの復号を行なわせる状態に移行する。
【0052】
その後、カットアウト符号化データの復号が、最終表示画像まで到達したところで、制御部8では、タイマー3から、フレーム時間の合図(パルス)を受け、フレームメモリ6に対して、表示する画像データを指示し、スイッチ4を制御して、第2のビデオバッファ7側を選択し、復号部5にカットイン符号化データを復号させる。さらに、制御部8は、フレームメモリ6に対して、カットアウト符号化データの最終表示画像を指示したところで、その次に表示する画像データは、カットイン符号化データの先頭画像となるように制御する。そして、以降は、カットイン符号化データの復号画像データを順次表示するように制御する。
【0053】
制御部8が、タイマー3から合図を受けて、繰り返しフレームメモリ6の制御と、復号部5にカットイン符号化データを1フレームの復号を繰り返し行なわせることによって、フレームメモリ6から、表示部に対して、フレーム画像データが順次出力され連続した動画像として表示ができる。
【0054】
図2は、第1実施形態における復号処理を示すタイミング図である。
タイマー3の出力は、通常フレーム同期信号期間ごとに発生する。最初、期間Aに示すようにカットアウト符号化データは、フレーム同期信号に合わせて、1フレームの復号と1フレームの表示を繰り返し、通常の復号再生状態にある。
【0055】
次に、期間Bに示すように、カットアウト符号化データに対して、フレーム同期信号に合わせて、1フレームの復号と1フレームの表示を行いながら、カットアウト符号化データを1フレーム復号してから次のフレーム同期信号までの時間に、カットイン符号化データの復号を進める。これを、カットイン符号化データが、その先頭のフレームを表示できるようになるまで復号を繰り返す。カットイン符号化データが、先頭のフレームを表示できるデータまで復号されたならば、カットイン符号化データの復号は、一旦中断する。そして、期間Cで示すように、カットアウト符号化データをフレーム同期信号に合わせて、1フレームの復号と1フレームの表示を繰り返す通常の復号再生状態となる。
【0056】
復号が、カットアウト符号化データの最終画像に到達したならば、期間Dに示すように、カットアウト符号化データの復号は停止して、代わりにあらかじめ復号を進めてあるカットイン符号化データの復号を開始する。カットアウト符号化データの最終画像を表示した後に、期間Eに示すように、カットイン符号化データの先頭画像を表示するように表示部への出力を制御し、その後、カットイン例の符号化データをフレーム毎に順次出力していくことにより、連続的な動画の切り替えを行なう。
【0057】
次に、制御部8が各部を制御して画像の編集再生処理を行う手順について説明する。
図3は、制御部8がカットイン符号化データによる編集再生処理を行う場合の制御処理手順を示すフローチャートである。
まず、ステップS11(以降S11と記載する)で示しているように、カットイン符号化データがビデオバッファ7に入力開始されるまで、カットアウト符号化データの復号及び表示制御を行なう。次に、S12で示すように、カットイン符号化データがビデオバッファ7に入力された時点で、時分割復号を用いて、カットアウト符号化データの復号及び表示制御を行ないながら、並行してカットイン符号化データの復号を行なう。そして、S13で示すように、カットアウト符号化データとカットイン符号化データの復号及び表示の制御の切り替えを行なう。
【0058】
ここで、図4、図5、図6を用いて、図3で示したフローチャートのより詳細なフローについて説明をする。
図4は、図3のS11のカットアウト復号データの復号及び表示制御の詳細を示すフローチャートである。
まず、S21において、制御部8はタイマー3からのフレームパルスが入力されると、S22以降の処理を行う。これは、S21よりも後段に続くステップの実行が、1フレーム時間に一回になるように調整するためである。次にS22において、制御部8はフレームメモリ6に対して表示する画像データ(カットアウト符号化データを復号した画像データ)を制御して表示部へ出力させる。これは、画像データを動画像として表示するために行なう。
【0059】
次にS23において、カットアウト符号化データが、カットアウト符号化データの最終表示画像データまで復号が完了しており、カットイン符号化データがないならば、この復号処理を終了し、それ以外ならば、S24を実行する。S24において、制御部8からの制御信号を受けて、復号器5がカットアウト符号化データを1フレームだけ復号し、フレームメモリ6に出力する。次にS25において、制御部8は、カットイン符号化データがビデオバッファ7に入力されたかを確認し、入力されていれば、S12に進み、入力されていなければ、S21に戻る。
【0060】
図5は、時分割復号を用いてカットアウト符号化データの復号と表示制御を行ないながら、並行してカットイン符号化データの復号を行なう時の図3のS12の詳細を説明するフローチャートである。
まず最初に、S31において、制御部8はタイマー3からのフレームパルスが入力されると、S32以降の処理を行う。これは、S31よりも後段に続くステップの実行が、1フレーム時間に一回になるように調整するためである。次にS32において、制御部8は、フレームメモリ6に対して表示する画像データ(カットアウト符号化データを復号した画像データ)を制御して表示部へ出力させる。これは、画像データを、動画像として表示するために行なう。
【0061】
次にS33において、カットアウト符号化データが、カットアウト符号化データの最終表示画像データまで復号が完了しているならば、S47を実行し、それ以外ならば、S34を実行する。S34において、制御部8からの制御信号を受けて、復号器5がカットアウト符号化データを1フレームだけ復号し、フレームメモリ6に出力する。次にS35において、復号器5がカットイン符号化データの復号を行なう。S36で、タイマー3から次のフレームパルスが入力されているかを確認する。次のフレームパルスであればS32に戻り、まだ1フレーム時間内であれば、S37に進む。S37において、カットイン符号化データが復号完了したかを確認する。カットイン符号化データが復号完了していなければ、S35に戻り、処理を続ける。すなわち、カットイン符号化データの復号を1フレーム時間が完了するまで、続行する。カットイン符号化データが復号完了していればS13へ進む。
【0062】
図6は、図3のS13のカットアウト符号化データとカットイン符号化データの復号及び、表示の切り替えの詳細を示すフローチャートである。
まず、最初に、S41において、制御部8はタイマー3からのフレームパルスが入力されると、S42以降の処理を行う。これは、S41よりも後段に続くステップの実行が、1フレーム時間に一回になるように調整するためである。
【0063】
次にS42において、フレームメモリ6に蓄積されたカットアウト符号化データの表示が完了したかを確認する。カットアウト符号化データの最終表示画像データがフレームメモリ6から出力されているならば、S44を実行し、それ以外、すなわちカットアウト符号化データの最終表示画像データがフレームメモリ6から出力されていないならば、S43を実行する。S43は、カットアウト符号化データを復号した画像データを出力するように、フレームメモリ6を制御する。S44は、カットイン符号化データを復号した画像データを出力するようにフレームメモリを制御する。
【0064】
次にS45において、カットアウト符号化データが、カットアウト符号化データの最終表示画像データまで復号が完了しているならば、S47を実行し、それ以外ならば、S46を実行する。また、前述のS33でカットアウト符号化データの復号が完了した場合も、S47を実行する。S46は、カットアウト符号化データを1フレーム復号し、S47は、カットイン符号化データを1フレーム復号する。こうして、復号処理すべき符号化データが、どちらか一方になった場合には、それを1フレーム処理を行うことになる。
【0065】
次にS48において、カットイン符号化データの最終表示画像の復号に達しているかどうかを判断し、そうである場合は、S49において、フレームメモリ6に蓄積された復号データ(S46,47で復号されたデータ)を出力制御し、このタスクを終了する。カットイン符号化データの最終表示画像の復号に達していない場合は、S41に戻って、繰り返し、1フレームの表示制御と復号を行なう。
【0066】
このように、カットアウト符号化データと、カットイン符号化データを時分割を用いて、並列的に復号する際、カットアウト符号化データに対して、表示との同期を取るため、フレームの同期信号を開始基準として、1フレーム時間毎に1フレームの復号が行なわれる。一方、カットイン符号化データの復号は、カットアウト符号化データの復号とは異なり、1フレームというような復号量を基準としてではなく、カットアウト符号化データを復号して、次のフレームの開始基準信号が来るまでの時間によって動作が管理される。復号装置の復号能力が、1フレーム時間内に2フレームの速度よりも遅い場合、カットイン符号化データの復号は、図2に示すように、複数のフレーム時間を要する。
【0067】
また、復号装置の復号能力が、1フレーム時間内に2フレームの速度よりも速い場合、カットイン符号化データの復号は、1フレーム時間毎に、1フレーム以上の復号が可能である。また、符号化データのエラーといった不測の事態により、カットイン符号化データの復号に時間を要する場合においても、適切な時間にこれを中断して、カットアウト符号化データの復号処理を行なうことができ、表示時間に対して復号が遅れてしまうことを回避できるので、動画像の連続的な表示を保つことができる。
【0068】
<第2の実施形態>
図7は、本発明を適用した動画像復号装置の第2実施形態を示すブロック図である。この動画像復号装置は、図1のものとほぼ同じ構成なので、同一部分には同一符号を付す。図1の動画像復号装置と異なるのは、ビデオバッファ1,7のポインタ位置を記憶する記憶部9を備えたことである。制御部8は、ビデオバッファ1,7の出力ポインタ位置や、入力停止ポインタ位置等を一旦記憶部9に保存し、それをまたビデオバッファ1,7のポインタレジスタ(図示せず)に書き込む処理を行う。
【0069】
(第1の処理例)
図7の動画像復号装置により、編集再生処理を行う場合の第1の処理例を次に述べる。
まず、カットアウト符号化データが、第1のビデオバッファ1に供給され、スイッチ4を経て、復号器5に供給される。制御部8は、タイマー3から、フレーム時間ごとに合図(パルス信号)を受ける。フレームメモリ6内に表示するべき画像データが存在する場合には、制御部8は、フレームメモリ6に対して、表示すべきデータを指示し、復号部5に1フレームの符号化データを復号させる。制御部8が、タイマー3からフレームパルスを受けて、繰り返しフレームメモリ6の制御と、1フレームの復号を行なう。このことによって、フレームメモリ6から、表示部に対して、フレーム画像データが順次出力され、動画像として表示ができる。
【0070】
次に、カットイン符号化データが、第2のビデオバッファ7に供給開始される。制御部8は、タイマー3からフレーム時間ごとに合図を受け、フレームメモリ6に対して、表示すべきデータを指示し、スイッチ4を制御して、第1のビデオバッファ1側を選択し、復号器5にカットアウト符号化データの1フレームを復号させる。続いて、スイッチ4を制御して、第2のビデオバッファ7側を選択し、復号器5にカットイン符号化データを復号させる。
【0071】
ここで、制御部8は、第2のビデオバッファ7からのデータを復号する際、符号化データ内の特定のスタートコードを検出したならば、第2のビデオバッファ7のメモリの出力ポインタ位置を読み出し記憶部9に保存する。ここで、特定のスタートコードは、例えば、ピクチャヘッダの先頭のスタートコードや、スライスヘッダの先頭のスタートコードなどでもよい。
【0072】
さらに制御部8は、タイマー3から次のフレームパルスを受けたところで、カットイン符号化データの復号を中断し、フレームメモリ6に対して、表示すべきデータを指示し、スイッチ4を制御して、第1のビデオバッファ1側を選択し、カットアウト符号化データの1フレームを復号する。その後、制御部8は、スイッチ4を制御して、第2のビデオバッファ7側を選択し、前記保存した第2のビデオバッファ7のメモリの出力ポインタ位置を、第2のビデオバッファ7のメモリの出力ポインタレジスタに書き込む。第2のビデオバッファ7は、メモリの出力バッファポインタレジスタが書き替えられたことにより、符号化データを遡って出力する。これにより、復号器5は、カットイン符号化データの復号を、前回中断した位置よりも、手前から復号を再開する。
【0073】
制御部8が、タイマー3からフレームパルスを受けて、フレームメモリ15の制御をして画像データを出力し、復号器5を制御してカットアウト符号化データの1フレーム復号する。その後、タイマー3から次のフレームパルスが来るまで、カットイン符号化データを前回の復号中断よりも一部データを遡って復号を行なわせる。このことによって、カットアウト符号化データの復号を、1フレーム時間毎に、1フレーム復号しながら、時分割を用いて並列的に、カットイン符号化データの復号をすることができる。
【0074】
そして、カットイン符号化データの復号が、先頭の画像を表示できる位置まで進んだならば、カットイン側の復号は、一旦停止して、カットアウト符号化データのみを復号する状態、すなわち、制御部8が、タイマー13から合図を受け、フレームメモリ15の制御をして画像データを出力し、復号器5の制御をしてカットアウト符号化データを1フレームの復号を繰り返し行なう状態に移行する。
【0075】
そして、カットアウト符号化データの復号が、最終表示画像まで到達したならば、復号器5では、タイマー3から、フレームパルスを受け、フレームメモリ6に対して、表示する画像データを指示し、スイッチ4を制御して、第2のビデオバッファ7側を選択し、カットイン符号化データを復号する。
制御部8が、タイマー3からフレームパルスを受けて、繰り返しフレームメモリ6の制御して画像データを出力し、復号器5を制御してカットイン符号化データを1フレームの復号を行なう。このことによって、フレームメモリ6から、表示部に対して、フレーム画像データが順次出力され動画像として表示ができる。
【0076】
ここで、カットアウト符号化データの復号とカットイン符号化データの復号を時分割を用いて並列的に復号する動作において、メモリの出力ポインタを保存するスタートコードをピクチャヘッダ先頭のスタートコードとした場合、そのピクチャにおいて復号完了したスライスを制御部8が記憶部9に記憶しておくことにより、ピクチャヘッダまで遡って復号を再開したときに、復号済みのスライスをスキップしてから、復号を再開することができる。
【0077】
図8に、カットアウト符号化データの復号とカットイン符号化データの復号を時分割を用いて並列的に復号する際の、カットイン符号化データの復号の例を示す。カットイン符号化データがピクチャの復号の途中で中断された場合、次の復号開始時は、そのピクチャの先頭の位置まで遡る場合である。
【0078】
まず、1回目の復号においては、ピクチャの上部分が復号され、タイマー3からのフレームパルスにより、SLICE3の途中のブロックの復号で中断される。
2回目の復号においては、符号化データが、ピクチャの先頭位置まで遡っており、復号器は、ピクチャヘッダ部分の情報を取り込んで、その後、すでに復号済みのSLICE1、SLICE2をスキップしてから復号を開始する。しかし、再び、タイマー3からの合図により、ピクチャの復号途中で中断される。
3回目の復号では、2回目の復号と同様に、符号化データが、ピクチャの先頭位置まで遡っており、復号器は、ピクチャヘッダ部分の情報を取り込んで、その後、すでに復号済みのスライスをスキップしてから復号を開始し、1ピクチャの復号が完了する。
【0079】
図9は、時分割復号を用いてカットアウト符号化データの復号と表示制御を行ないながら、並行してカットイン符号化データの復号を行なう時の詳細を説明するフローチャートである。この復号処理は、基本的には図3におけるフローチャートに沿って処理されるものであるが、S12の内容が異なる。したがって、第1の処理例におけるS12に該当する部分をS12aとして以下説明を行う。
【0080】
まず最初に、S51において、タイマーからフレームパルスを受ける。これは、S51よりも後段に続くステップの実行が、1フレーム時間に一回になるように調整するためである。次にS52において、フレームメモリ6に対して表示する画像データを制御する。これは画像データを動画像として表示するために行なう。
【0081】
次にS53において、カットアウト符号化データが復号完了していれば、図6に示すS47に進む。カットアウト符号化データが復号完了していなければ、S54に進む。S54において、復号器5は、カットアウト符号化データを1フレームだけ復号し、フレームメモリ6に出力する。次にS55において、制御部8は、前回のカットイン符号化データを復号した際に、タイマー3からのフレームパルスによってカットイン符号化データの復号を中断したかどうかを判断し、中断した場合はS56に、していない場合はS59を実行する。S56では、以前のカットイン符号化データにおいて、すでに記憶部9に保存してあるスタートコード検出位置(出力ポインタ位置)をカットイン符号化データを蓄積しているビデオバッファ7の出力ポインタレジスタにセットする。こうして、カットイン符号化データの供給を遡り、例えば、ピクチャヘッダの先頭から開始するようにする。次にS57において、ピクチャヘッダ内に含まれる、復号に必要なデータを取得する。次にS58において、すでに復号済みのスライスをスキップする。
【0082】
S59において、カットイン符号化データの復号を行なう。S60において、復号器5が復号中に例えばピクチャスタートコードを検出した場合、S61で、制御部8はそのときの出力ポインタ位置を記憶部9に保存する。S56において、ビデオバッファ7の出力ポインタレジスタにセットする値である。S62において、タイマー3からのフレームパルスを受け取った場合、S52からの処理を繰り返す。S63において、カットイン符号化データが復号完了したかを確認し、カットイン符号化データが復号完了していなければ、S59に戻り、処理を続ける。すなわち、カットイン符号化データの復号を1フレーム時間が完了するまで、続行する。カットイン符号化データが復号完了していればS13へ進む。
【0083】
本処理例においては、カットイン符号化データの復号が中断され、次に復号を再開する時に、符号化データをピクチャの先頭まで遡りピクチャヘッダの復号を再度行なうので、符号化データのピクチャヘッダよりも下の階層に含まれる復号情報は記憶しておく必要がなく、復号情報を記憶しておくメモリを少なく抑えることが可能である。
【0084】
(第2の処理例)
図7の動画像復号装置により、編集再生処理を行う場合の第2の処理例を次に述べる。
図10に、カットアウト符号化データの復号とカットイン符号化データの復号を時分割を用いて並列的に復号する動作の際の、カットイン符号化データの復号の別の例を示す。図10においては、カットイン符号化データがピクチャの復号の途中で中断された場合、次の復号開始時には、そのスライスの先頭の位置まで遡るようになっている。
【0085】
まず、1回目の復号においては、ピクチャの上部分が復号され、タイマー3の合図(パルス)により、SLICE3途中のブロックの復号で中断される。2回目の復号においては、符号化データが、スライスの先頭位置まで遡っており、復号器5は、SLICE3の先頭位置から復号を開始する。しかし、再び、次のタイマ13からの合図(パルス)により、SLICE6の途中のブロックの復号で中断される。3回目の復号では、2回目の復号と同様に、符号化データが、SLICE6の先頭位置まで遡っており、復号器5は、SLICE6の先頭から復号を開始し、1ピクチャの復号が完了する。
【0086】
図11は、時分割復号を用いてカットアウト符号化データの復号と表示制御を行ないながら、並行してカットイン符号化データの復号を行なう時の詳細を説明するフローチャートである。この復号処理は、基本的には図3におけるフローチャートに沿って処理されるものであるが、S12の内容が異なる。したがって、第2の処理例におけるS12に該当する部分をS12bとして以下説明を行う。
【0087】
まず最初に、S71において、制御部8は、タイマー3からフレームパルスを受ける。これは、S71よりも後段に続くステップの実行が、1フレーム時間に一回になるように調整するためである。次にS72において、フレームメモリ6に対して表示する画像データを制御する。これは、画像データを動画像として表示するために行なう。
【0088】
次に、S73において、カットアウト符号化データが復号完了しているのが確認できれば、図6に示すS47に進む。カットアウト符号化データが復号完了していなければ、S74に進む。S74において、復号器5はカットアウト符号化データを1フレームだけ復号し、フレームメモリ6に出力する。次にS75において、前回のカットイン符号化データを復号した除に、タイマー3からのパルスによって、カットイン符号化データの復号を中断したかどうかを判断し、中断した場合はS76に、していない場合はS79を実行する。S76では、以前のカットイン符号化データにおいて、すでに記憶部9に保存してあるスタートコード検出位置(出力ポイント位置)をカットイン符号化データを蓄積しているビデオバッファ7の出力ポインタレジスタにセットする。こうして、カットイン符号化データの供給を遡り、例えば、ピクチャヘッダの先頭から開始するようにする。次にS77において、ピクチャヘッダ内に含まれる、復号に必要なデータを取得する。次にS78において、すでに復号済みのスライスをスキップする。
【0089】
S79において、カットイン符号化データの復号を行なう。S80において、復号中に例えばピクチャスタートコードを検出した場合、S81で、制御部8は、そのときの出力ポインタ位置を記憶部9に保存する。これは、S76において、出力ポインタにセットする値である。さらに、S82において、出力ポインタ位置を、ビデオバッファ7に対する入力ポインタ停止位置としてレジスタにセットする。
【0090】
ビデオバッファ7は、入力ポインタが入力ポインタ停止位置まで来た場合、符号化データの入力を停止し、符号化データを遡るのに必要なデータを保存する。S83において、制御部8がタイマー3からのフレームパルスを受け取った場合、S72からの処理を繰り返す。受け取っていない場合、S84において、カットイン符号化データが復号完了したかを確認する。カットイン符号化データが復号完了していなければ、S79に戻り、処理を続ける。すなわち、カットイン符号化データの復号を1フレーム時間が完了するまで、続行する。カットイン符号化データが復号完了していればS13へ進む。
【0091】
本処理例においてはカットイン符号化データの復号を中断した場合、次に復号を再開するにあたって、符号化データをスライスの先頭まで遡り、スライスの先頭から再度復号するので、符号化データのスライスヘッダよりも下の階層に含まれる復号情報は記憶しておく必要がない。第1の処理例のようにピクチャヘッダまで遡る例に比べて、復号情報を記憶しておくメモリを多く取らなければならないが、符号化データを遡るデータ量が少なく、スライスをスキップする処理も必要がなくなるので、より高速に復号処理を行なうことができる。
【0092】
さて、第2の処理例では、制御部8が第1のビデオバッファ1と第2のビデオバッファ7それぞれに対して、入力停止位置ポインタレジスタをセットできるようになっている。ビデオバッファ1,7には、メモリの位置を指し示す入力ポインタと出力ポインタがあり、それぞれ、符号化データの入力と出力位置を管理している。メモリは、通常、一定のリニアな空間を循環的に使用している。データを入力して、入力ポインタが移動していき、循環して出力ポインタ位置まで到達すると、メモリ内は、すべて蓄積された符号化データになってしまい、これ以上データを蓄積できない状態(フル)になる。逆に、データを出力して、出力ポインタが移動していき、循環して入力ポインタ位置まで到達してしまうと、メモリ内には、データが蓄積されていない状態(エンプティ)になる。
【0093】
ところで、ここで示すような循環的なメモリ管理を使用した場合、フル状態になるときに、符号化データを遡るために出力ポインタ位置を移動しようとしても、遡りたい符号化データが、新しくビデオバッファに入力されるデータにより破壊されている。この問題を回避するために、入力停止位置ポインタを定義し、復号器5は、復号の際、符号化データ内の特定のスタートコードを検出したならば、ビデオバッファのメモリの出力ポインタ位置を読み出し保存すると同時に、この位置をビデオバッファの入力停止位置ポインタレジスタにセットする。入力ポインタは、入力停止位置ポインタ位置に達すると、入力を停止し、遡りたい符号化データが、新しくビデオバッファに入力されるデータにより破壊されることを回避する。
【0094】
図12にビデオバッファのデータの管理の様子の例を示す。図12の(a)では、ビデオバッファの初期状態を示している。入力ポインタ、出力ポインタ共に同一位置を指しており、エンプティ状態である。次に、(b)では、データが入力されて、符号化データが蓄積されている状態を示している。(c)では、通常の復号状態におけるビデオバッファの例を示している。入力ポインタ、出力ポインタが共に移動しており、ビデオバッファにデータが入力と出力がされている状態である。この例では、出力ポインタ位置に近くなってきて、メモリバッファがほぼ、フルの状態になっている。(d)では、入力停止位置ポインタレジスタをセットしたことにより、入力ポインタが停止した状態になっている様子を示している。(e)では、さらに出力を進めた結果、メモリバッファ内の蓄積されているデータの容量が減った様子を示している。しかし、入力が停止して、入力ポインタが移動していないので、入力停止位置ポインタから、出力ポインタ位置までのデータは、メモリ内に凍っている。(f)では、出力ポインタを移動して、符号化データを遡った状態を示している。
【0095】
図13は、ビデオバッファ内の制御を示すフローチャートである。
まず、S91において、制御部8が、ビデオバッファ内に符号化データがフルの状態であるかを判定し、フルの場合はS94にジャンプする。フルではない場合は、S92において、入力ポインタ位置が、入力ポインタ停止位置にあるかどうかを判定し、入力ポインタ停止位置の場合は、S94にジャンプする。入力ポインタ停止位置のではない場合は、S93において、制御部8がビデオバッファ1,7に符号化データを入力する。
【0096】
次に、S94において、制御部8が出力ポインタ位置を書き替えたか否かを判定し、書き替えた場合は、S95へ、書き替えなかった場合は、S96にジャンプする。S95において、出力位置ポインタを移動する。次にS96において、ビデオバッファがエンプティ状態かを判定し、エンプティの場合は、S91に、エンプティではない場合はS97にジャンプする。S97において、制御部8からデータを要求されているかを判定し、要求されていないならば、S91にジャンプし、そうでない場合は、S98において、符号化データを復号器5に出力し、S91にジャンプする。
【0097】
こうして、復号の際、符号化データ内の特定のスタートコードを検出したならば、ビデオバッファのメモリの出力ポインタ位置を読み出し保存すると同時に、この位置をビデオバッファの入力停止位置ポインタレジスタにセットするので、入力ポインタは、入力停止位置ポインタ位置に達すると、入力を停止し、遡りたい符号化データが、新しくビデオバッファに入力されるデータにより破壊されないようにする。
【0098】
なお、本発明は上記実施形態に限定させるものではなく、例えば、フレーム単位で処理を行っているが、フィールド単位でも構わない。また、符号化データはカットアウトとカットインの2種類であったが、これに限らず複数であってもよい。その場合は、それぞれの符号化データを蓄積するビデオバッファが必要となる。
また、上記復号処理は、コンピュータに実行させるプログラムにより実現される場合もあり、該プログラムは記録媒体に記録され提供される。
【0099】
【発明の効果】
本発明によれば、一つの復号器を、時分割復号により、並列的に複数の復号に利用することができるため回路規模の増加を最小限にとどめ、コスト、消費電力の増加を少なく抑えながら、連続的な動画像の表示を行なう編集再生ができる。
また、並列復号処理の際、一つの符号化データの復号処理を、時間により適切に処理タイミング管理ができるので、エラーが発生した場合や、記録媒体からのデータの供給の遅延により、復号予定のデータが壊れていて判別ができない、あるいは、データが来るのを待つ必要が生じる場合にも、適切な時間内に切り替えを行なうことができる。
また、中断した符号化データを遡って復号を再開する機能により、符号化データごとの情報を再復号によって得ることができるため、復号情報を保持するデータ量を大幅に削減することが可能である。
【図面の簡単な説明】
【図1】本発明を適用した動画像復号装置の第1実施形態を示すブロック図である。
【図2】第1実施形態における復号処理を示すタイミング図である。
【図3】第1実施形態におけるカットイン符号化データによる編集再生処理を行う場合の制御処理手順を示すフローチャートである。
【図4】第1実施形態における図3のS11の処理を詳細に表すフローチャートである。
【図5】第1の実施形態における図3のS12の処理を詳細に表すフローチャートである。
【図6】第1の実施形態における図3のS51の処理を詳細に表すフローチャートである。
【図7】本発明を適用した動画像復号装置の第2実施形態を示すブロック図である。
【図8】符号化データをピクチャの先頭まで遡って復号するときの復号手順の第1の処理例を説明する図である。
【図9】第1の処理例の復号手順を示すフローチャートである。
【図10】符号化データをピクチャの先頭まで遡って復号するときの復号手順の第2の処理例を説明する図である。
【図11】第2の処理例の復号手順を示すフローチャートである。
【図12】ビデオバッファ部のデータ管理動作を説明する図である。
【図13】ビデオバッファ部のデータ管理動作を示すフローチャートである。
【図14】MPEGのピクチャタイプ構成と参照の仕組みを説明する図である。
【図15】MPEGの符号化データのリオーグリングを説明する図である。
【図16】MPEGの符号化データの階層構造を説明する図である。
【図17】MPEGのGOP間の参照について説明する図である。
【図18】従来の一般的な復号装置の構成を表すブロック図である。
【図19】従来の一般的な復号装置における編集再生のタイミング図である。
【図20】複数の復号器を用いて、連続的な編集再生を実現する動画像復号装置の構成を表すブロック図である。
【図21】複数の復号器を用いて、連続的な編集再生を実現する動画像復号装置の編集再生のタイミング図である。
【図22】時分割復号を用いて、連続的な編集再生を実現する動画像復号装置の構成を表すブロック図である。
【図23】時分割復号を用いて、連続的な編集再生を実現する動画蝕復号装置の編集再生のタイミング図である。
【符号の説明】
1,7 ビデオバッファ、
3 タイマー
4 スイッチ
5 復号器
6 フレームメモリ
8 制御部
9 記憶部
Claims (7)
- 予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させる動画像復号装置において、
カットアウト符号化データを記憶する第1符号化データ記憶部と、
カットイン符号化データを記憶する第2符号化データ記憶部と、
前記第1符号化データ記憶部又は前記第2符号化データ記憶部に記憶されている符号化データのうち、一つを選択するスイッチと、
前記スイッチにより選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号する復号部と、
前記復号部で復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力する復号データ出力部と、
1画像表示単位を表示する時間である表示単位時間毎に同期信号を出力する同期信号出力部と、
各部を制御する制御部と、
を備えており、
前記制御部は、前記復号部によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データを次の同期信号が入力されるまで選択させる制御を行うことを特徴とする動画像復号装置。 - 次に出力するカットイン符号化データが第2符号化データ記憶部上のどの位置にあるかを管理する出力ポインタを記憶する出力ポインタ記憶部を更に備え、
前記制御部は、
前記出力ポインタの値を前記第2符号化データ記憶部から読み出して一旦前記出力ポインタ記憶部に記憶させる手段と、
前記出力ポインタ記憶部に記憶した前記出力ポインタを前記第2符号化データ記憶部に書き込む手段と、
を備えたことを特徴とする請求項1に記載の動画像復号装置。 - 次に出力するカットイン符号化データが第2符号化データ記憶部上のどの位置にあるかを管理する出力ポインタを記憶する出力ポインタ記憶部を更に備え、
前記制御部は、前記復号部によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データのうち、前記出力ポインタ記憶部に記憶された出力ポインタの位置から符号化データを読み出すように、次の同期信号が入力されるまで選択させる制御を行うことを特徴とする請求項1に記載の動画像復号装置。 - 前記制御部は、前記第2符号化データ記憶部上に符号化データの入力停止位置を示す入力停止位置ポインタを設定し、前記第2符号化データ記憶部に書き込む手段を備えたことを特徴とする請求項1から3のいずれか一項に記載の動画像復号装置。
- 予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させる動画像復号方法において、
カットアウト符号化データを記憶する第1符号化データ記憶部又はカットイン符号化データを記憶する第2符号化データ記憶部のうち、いずれかから符号化データを一つ選択するステップと、
前記選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号 するステップと、
前記復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力するステップと、
を備え、
前記カットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記スイッチに第2符号化データ記憶部に記憶された符号化データを、1画像表示単位を表示する時間である表示単位時間毎に出力される同期信号が入力されるまで選択させるステップを有する動画像復号方法。 - 請求項5に記載の動画復号方法をコンピュータに実行させるプログラムが記録されている記録媒体。
- カットアウト符号化データを記憶する第1符号化データ記憶部と、カットイン符号化データを記憶する第2符号化データ記憶部と、を備えたコンピュータに、
予測符号化方式で符号化されている符号化データの中から、最初に表示されるカットアウト符号化データと、次に表示されるカットイン符号化データとを時分割を用いて並列的に復号し、表示させるプログラムにおいて、
前記第1符号化データ記憶部又は前記第2符号化データ記憶部に記憶されている符号化データのうち、一つを選択する選択機能と、
前記選択機能により選択された符号化データを、表示速度よりも速い速度で復号画像データとして復号する復号機能と、
前記復号機能で復号された復号画像データを一旦保存し、所定の表示順番に復号画像データを1画像表示単位ごとに出力する復号データ出力機能と、
1画像表示単位を表示する時間である表示単位時間毎に同期信号を出力する同期信号出力機能と、
を実現させるためのプログラムであって、
前記復号機能によりカットアウト符号化データが復号された後に、前記カットイン符号化データを復号するために、前記選択機能に第2符号化データ記憶部に記憶された符号化データを次の同期信号が入力されるまで選択させる制御を実現させる為のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001306074A JP4046496B2 (ja) | 2001-10-02 | 2001-10-02 | 動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001306074A JP4046496B2 (ja) | 2001-10-02 | 2001-10-02 | 動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003111032A JP2003111032A (ja) | 2003-04-11 |
JP4046496B2 true JP4046496B2 (ja) | 2008-02-13 |
Family
ID=19125766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001306074A Expired - Fee Related JP4046496B2 (ja) | 2001-10-02 | 2001-10-02 | 動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4046496B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4693427B2 (ja) * | 2005-01-27 | 2011-06-01 | 京セラ株式会社 | ディジタル放送受信装置 |
-
2001
- 2001-10-02 JP JP2001306074A patent/JP4046496B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003111032A (ja) | 2003-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100389977B1 (ko) | 리버스플레이백동작으로인코딩된데이타의플레이백방법및재생장치 | |
EP0700221B1 (en) | Data reproduction | |
TW587392B (en) | Trick mode playback of recorded video | |
KR100402188B1 (ko) | 압축인코딩된이미지데이터를재생하는방법및장치 | |
EP1003339A1 (en) | Reproduction of data | |
KR100789507B1 (ko) | 동화상 데이터의 기록 재생방법 및 장치 | |
EP2186328B1 (en) | Method for generating video data for trick play | |
KR100950540B1 (ko) | 사용자 선택가능한 가변 트릭 모드 속도 | |
JP4120055B2 (ja) | 再生装置及び再生方法 | |
EP1701545B1 (en) | Image reproducing device, method, and program | |
JP4218626B2 (ja) | 復号化装置、復号化方法および復号化プログラム、再生システム、再生装置、再生方法および再生プログラム、ならびに、記録媒体 | |
JP4046496B2 (ja) | 動画像復号装置、動画像復号方法、その方法をコンピュータに実行させるプログラムが記録されている記録媒体及びプログラム | |
KR101177193B1 (ko) | 동화상 재생 장치 | |
JP2001285877A (ja) | 圧縮符号化データ復号装置および復号方法 | |
JP3570785B2 (ja) | 動画像伸張再生方法および装置 | |
JP3657855B2 (ja) | 画像復号装置及び画像復号方法 | |
JP2001177829A (ja) | 動画像データの再生方法および動画画像データ再生装置 | |
JP3704356B2 (ja) | 符号化映像信号の復号化装置およびそれを用いた蓄積復号化装置 | |
JPH06339113A (ja) | 動画像記録再生装置 | |
JPH08130715A (ja) | 画像再生装置 | |
JPH0636521A (ja) | ディスクならびに動画像復号化方法および装置 | |
JPH0998382A (ja) | 動画像情報の再生装置及び再生方法 | |
JP3806289B2 (ja) | 動画像符号化装置におけるフレームメモリ管理方法及びフレームメモリ管理装置 | |
JP2007129489A (ja) | 映像再生装置および映像再生方法 | |
KR0128878B1 (ko) | 엠펙 비트 스트림 포맷을 이용하는 점프 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040611 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060919 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071120 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131130 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |