(57)【要約】【課題】  ビデオとオーディオが多重化されたストリームのランダムアクセス再生において、ビデオとオーディオの同期再生は難しい。【解決手段】  多重分離部１１０は、入力された多重化ストリームからビデオパケット、オーディオパケットおよび字幕パケットを分離し、それぞれビデオデコーダ１３０、オーディオデコーダ１４０および字幕デコーダ１５０に供給する。ビデオデコーダ１３０は、入力されたビデオパケットを復号するとともに、ビデオストリームから取得した復号先頭ピクチャのＰＴＳをもとにして表示先頭ピクチャのＰＴＳを算出する。クロック制御部１２０は、表示先頭ピクチャのＰＴＳを同期信号としてオーディオデコーダ１４０および字幕デコーダ１５０に与える。オーディオデコーダ１４０および字幕デコーダ１５０は、表示先頭ＰＴＳと同じＰＴＳ値をもつオーディオおよび字幕のアクセスユニットを復号する。【選択図】  図４
2007012218.tif 000002
【特許請求の範囲】
【請求項１】
ビデオストリームとオーディオストリームが多重化された多重化ストリームからビデオデータとオーディオデータを分離する分離部と、
前記ビデオデータを復号するビデオ復号部と、
前記オーディオデータを復号するオーディオ復号部と、
前記オーディオ復号部にビデオの再生と同期を取るための同期信号を与える制御部とを含み、
前記ビデオ復号部は、前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部を含み、
前記制御部は、算出された前記表示先頭ピクチャの再生タイムスタンプを前記同期信号として前記オーディオ復号部に与えることを特徴とする再生装置。
【請求項２】
前記タイムスタンプ算出部は、前記復号先頭ピクチャおよび前記表示先頭ピクチャの表示遅延に関するパラメータを前記ビデオストリームから取得し、前記遅延時間に関するパラメータを利用して前記復号先頭ピクチャの再生タイムスタンプをもとに前記表示先頭ピクチャの再生タイムスタンプを算出することを特徴とする請求項１に記載の再生装置。
【請求項３】
前記復号先頭ピクチャの表示遅延に関するパラメータは、前記復号先頭ピクチャが復号されてから表示されるまでの遅延時間を示すものであることを特徴とする請求項２に記載の再生装置。
【請求項４】
前記表示先頭ピクチャの表示遅延に関するパラメータは、前記復号先頭ピクチャが復号されてから前記表示先頭ピクチャが表示されるまでの遅延時間を示すものであることを特徴とする請求項２または３に記載の再生装置。
【請求項５】
前記表示先頭ピクチャの表示遅延に関するパラメータは、前記復号先頭ピクチャが復号されてから前記表示先頭ピクチャが復号されるまでの遅延時間と、前記表示先頭ピクチャが復号されてから前記表示先頭ピクチャが表示されるまでの遅延時間を示すものであることを特徴とする請求項２または３に記載の再生装置。
【請求項６】
前記タイムスタンプ算出部は、前記復号先頭ピクチャの再生タイムスタンプから、前記復号先頭ピクチャが復号されてから表示されるまでの遅延時間を減算し、その減算結果に、前記復号先頭ピクチャが復号されてから前記表示先頭ピクチャが表示されるまでの遅延時間を加算することにより、前記表示先頭ピクチャの再生タイムスタンプを算出することを特徴とする請求項４に記載の再生装置。
【請求項７】
前記タイムスタンプ算出部は、前記復号先頭ピクチャと前記表示先頭ピクチャが異なる場合にのみ、前記表示先頭ピクチャの再生タイムスタンプの算出を行い、前記復号先頭ピクチャと前記表示先頭ピクチャが一致する場合は、前記復号先頭の再生タイムスタンプをそのまま前記表示先頭ピクチャの再生タイムスタンプとして前記制御部に与えることを特徴とする請求項１から６のいずれかに記載の再生装置。
【請求項８】
ビデオストリーム、オーディオストリームおよび字幕ストリームが多重化された多重化ストリームからビデオデータ、オーディオデータおよび字幕データを分離する分離部と、
前記ビデオデータを復号するビデオ復号部と、
前記オーディオデータを復号するオーディオ復号部と、
前記字幕データを復号する字幕復号部と、
前記オーディオ復号部および前記字幕復号部にビデオの再生と同期を取るための同期信号を与える制御部とを含み、
前記ビデオ復号部は、前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部を含み、
前記制御部は、算出された前記表示先頭ピクチャの再生タイムスタンプを前記同期信号として前記オーディオ復号部および前記字幕復号部に与えることを特徴とする再生装置。
【請求項９】
ビデオストリームとオーディオストリームが多重化された多重化ストリームから分離されたビデオデータを復号する復号部と、
前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部とを含むことを特徴とするビデオ復号装置。
【請求項１０】
ビデオストリームとオーディオストリームが多重化された多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出し、算出された前記表示先頭ピクチャの再生タイムスタンプに同期させて前記オーディオストリームを復号して再生することを特徴とする同期再生方法。
【請求項１１】
ビデオストリームとオーディオストリームが多重化された多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得するステップと、
前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するステップと、
ビデオの再生にオーディオの再生を同期させるための同期信号として、算出された前記表示先頭ピクチャの再生タイムスタンプを出力するステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ビデオとオーディオが多重化されたストリームを復号する再生装置、ビデオ復号装置、および同期再生方法に関する。
【背景技術】
【０００２】
ＤＶＤ（Digital Versatile Disc）などの大容量の光ディスクメディアを再生可能なメディアプレーヤやパーソナルコンピュータが普及しており、高品質の映像コンテンツがＤＶＤなどに格納されて提供されている。また、テレビ放送などで提供されるコンテンツをＤＶＤに録画することのできるＤＶＤレコーダも普及している。ＤＶＤなどの記録媒体にビデオやオーディオを蓄積するためには圧縮符号化技術が不可欠である。また、映像コンテンツでは、動画に音声や字幕が同期して再生される必要があり、同期再生のための制御機構も必須である。
【０００３】
動画像圧縮符号化技術の標準として、ＭＰＥＧ（Moving Picture Experts Group）やＨ．２６４／ＡＶＣ（Advanced Video Coding）がある。ビデオやオーディオの符号化ストリームは、再生時刻情報など同期再生に必要なヘッダ情報とともにシステム多重化されて、記録媒体に蓄積される。蓄積メディア向けのシステム多重化技術の標準として、ＭＰＥＧ−２システムのプログラムストリームなどがある。
【０００４】
ＭＰＥＧ−２システムのプログラムストリームでは、ビデオおよびオーディオの再生の単位であるアクセスユニット単位で再生すべき時刻を示すＰＴＳ（Presentation Time Stamp、プレゼンテーションタイムスタンプ）情報が付加されている。ビデオとオーディオの同期再生は、このＰＴＳ情報にもとづいて行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＭＰＥＧ−２システムのプログラムストリームなどの多重化ストリームを先頭から再生せずに、途中の画像から再生するランダムアクセスを行った場合、システムレイヤで得られるＰＴＳ情報だけではビデオとオーディオの同期再生を正しく行うことができないことがある。ビデオのストリームは、動画像符号化処理レイヤにおいて、未来のフレームを参照するフレーム間予測符号化が行われていることがあり、ランダムアクセスポイントからの再生を行った場合、フレームの復号順序と表示順序が一致せず、ランダムアクセスの際に取得されたシステムレイヤで取得されたＰＴＳ情報は、そのままではビデオとオーディオの同期再生のための基準タイムスタンプとして利用することができないからである。
【０００６】
表示順序において先頭となるピクチャのＰＴＳ情報を何らかの方法で取得し、表示先頭ピクチャのＰＴＳ情報を基準としてオーディオや字幕を同期させる必要があるが、多重化ストリームのファイルサイズを小さく抑えるため、ＰＴＳ情報はランダムアクセスポイントのピクチャにしか付加されていないことが多く、同期再生に必要なＰＴＳ情報はシステムレイヤでは得られない。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ビデオとオーディオなどが多重化されたストリームをランダムアクセスして再生する際に、ビデオとオーディオなどを同期させることのできる再生装置、ビデオ復号装置および同期再生方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の再生装置は、ビデオストリームとオーディオストリームが多重化された多重化ストリームからビデオデータとオーディオデータを分離する分離部と、前記ビデオデータを復号するビデオ復号部と、前記オーディオデータを復号するオーディオ復号部と、前記オーディオ復号部にビデオの再生と同期を取るための同期信号を与える制御部とを含む。前記ビデオ復号部は、前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部を含む。前記制御部は、算出された前記表示先頭ピクチャの再生タイムスタンプを前記同期信号として前記オーディオ復号部に与える。
【０００９】
本発明の別の態様もまた、再生装置である。この装置は、ビデオストリーム、オーディオストリームおよび字幕ストリームが多重化された多重化ストリームからビデオデータ、オーディオデータおよび字幕データを分離する分離部と、前記ビデオデータを復号するビデオ復号部と、前記オーディオデータを復号するオーディオ復号部と、前記字幕データを復号する字幕復号部と、前記オーディオ復号部および前記字幕復号部にビデオの再生と同期を取るための同期信号を与える制御部とを含む。前記ビデオ復号部は、前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部を含む。前記制御部は、算出された前記表示先頭ピクチャの再生タイムスタンプを前記同期信号として前記オーディオ復号部および前記字幕復号部に与える。
【００１０】
本発明のさらに別の態様は、ビデオ復号装置である。この装置は、ビデオストリームとオーディオストリームが多重化された多重化ストリームから分離されたビデオデータを復号する復号部と、前記多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するタイムスタンプ算出部とを含む。
【００１１】
本発明のさらに別の態様は、同期再生方法である。この方法は、ビデオストリームとオーディオストリームが多重化された多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得し、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出し、算出された前記表示先頭ピクチャの再生タイムスタンプに同期させて前記オーディオストリームを復号して再生する。
【００１２】
本発明のさらに別の態様は、プログラムである。このプログラムは、ビデオストリームとオーディオストリームが多重化された多重化ストリームに対して途中のピクチャから再生するランダムアクセスがなされた場合に、最初に復号される復号先頭ピクチャの再生時刻を指定する再生タイムスタンプを前記ビデオストリームから取得するステップと、前記復号先頭ピクチャの再生タイムスタンプをもとに最初に表示される表示先頭ピクチャの再生タイムスタンプを算出するステップと、ビデオの再生にオーディオの再生を同期させるための同期信号として、算出された前記表示先頭ピクチャの再生タイムスタンプを出力するステップとをコンピュータに実行させる。
【００１３】
このプログラムは、ビデオやオーディオのデコーダ等のハードウエア資源の基本的な制御を行なうために機器に組み込まれるファームウエアの一部として提供されてもよい。このファームウエアは、たとえば、機器内のＲＯＭやフラッシュメモリなどの半導体メモリに格納される。このファームウエアを提供するため、あるいはファームウエアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００１４】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、ビデオとオーディオなどが多重化されたストリームをランダムアクセスして再生する際に、ビデオとオーディオなどを正確に同期させることができる。
【発明を実施するための最良の形態】
【００１６】
図１は、実施の形態に係る多重符号化装置２００の構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【００１７】
多重符号化装置２００には、ビデオデータ、オーディオデータおよび字幕データが入力される。このオーディオと字幕はビデオと同期して再生されるべきものである。
【００１８】
ビデオエンコーダ２１０は、一例として、Ｈ．２６４／ＡＶＣ規格にしたがって、入力されたビデオデータを符号化し、符号化ビデオストリームを生成する。
【００１９】
オーディオエンコーダ２２０は、一例として、ＭＰＥＧオーディオなどの規格にしたがって、入力されたオーディオデータを符号化し、符号化オーディオストリームを出力する。字幕エンコーダ２３０は、入力された字幕データを符号化し、符号化字幕ストリームを出力する。
【００２０】
ビデオエンコーダ２１０、オーディオエンコーダ２２０および字幕エンコーダ２３０により符号化されたストリームは、エレメンタリストリーム（Elementary Stream；ＥＳ）と呼ばれる。
【００２１】
Ｈ．２６４／ＡＶＣ規格では、動画像符号化処理を行うＶＣＬ（Video Coding Layer、ビデオ符号化層）と呼ばれるレイヤと、符号化されたデータを伝送または蓄積するシステムレイヤとの間に、ＮＡＬ（Network Abstraction Layer、ネットワーク抽象層）と呼ばれるレイヤが設けられている。
【００２２】
ビデオ、オーディオ、字幕の各エレメンタリストリームは、このＮＡＬと呼ばれるレイヤでＮＡＬユニットと呼ばれる単位で扱われ、情報の伝送や蓄積を行うためのシステムレイヤにマッピングされる。
【００２３】
ビデオストリームにおいてピクチャ単位でのアクセスを可能とするために、いくつかのＮＡＬユニットがアクセスユニットと呼ばれる単位にまとめられる。オーディオストリーム、字幕ストリームも同様に、いくつかのＮＡＬユニットをまとめたアクセスユニット単位でアクセス可能に構成される。
【００２４】
本実施の形態の多重符号化装置２００は、システムレイヤにおいてＭＰＥＧ−２システムのプログラムストリーム（Program Stream；ＰＳ）の規格にしたがって、多重化ストリームを生成し、記録媒体に蓄積する。多重化のために、ビデオ、オーディオ、字幕の各ストリームはパケット化される。
【００２５】
ビデオパケット化部２４０は、ビデオエンコーダ２１０から出力される符号化ビデオストリームをＰＥＳ（Packetized Elementary Stream）パケットにパケット化する。同様に、オーディオパケット化部２５０は、オーディオエンコーダ２２０から出力される符号化オーディオストリームをＰＥＳパケットにパケット化し、字幕パケット化部２６０は、字幕エンコーダ２３０から出力される符号化字幕ストリームをＰＥＳパケットにパケット化する。
【００２６】
多重化部２７０は、ビデオ、オーディオおよび字幕のＰＥＳパケットをＭＰＥＧ−２システムのプログラムストリームとして多重化し、生成された多重化ストリームを出力する。生成された多重化ストリームは、ＤＶＤやメモリカードなどの記録媒体に記録される。
【００２７】
図２は、ビデオエンコーダ２１０の構成図である。ビデオエンコーダ２１０は、フレーム単位で動画像の入力信号を受け取り、フレーム画像を符号化し、動画像の符号化ストリームを出力する。
【００２８】
Ａ／Ｄ変換部５０は、アナログ入力信号をデジタル化し、フレーム並べ替え用バッファ５２に与える。フレーム並べ替え用バッファ５２は、フレーム間予測符号化のためにフレームを並べ替えて保持するバッファである。Ｈ．２６４／ＡＶＣ規格では、フレーム間予測符号化の際、過去、未来のいずれのフレームを参照画像としてもよく、また参照するフレームの枚数も任意であり、フレームの並べ替え用のバッファを設け、動き予測・補償部６６に参照画像を供給する必要がある。
【００２９】
動き予測・補償部６６は、フレーム並べ替え用バッファ５２に格納されている過去または未来の画像フレームを参照画像として利用し、Ｐ（Predictive）フレームまたはＢ（Bi-predictive prediction）フレームのマクロブロック毎に動き予測を行い、動きベクトルと動き補償された予測画像とを生成する。動き予測・補償部６６は、生成した動きベクトルを可変長符号化部６８に与え、予測画像を差分器５４に与える。
【００３０】
差分器５４は、フレーム並べ替え用バッファ５２から供給される画像フレームがＩ（Intra）フレームである場合、そのまま直交変換部５６に供給し、Ｐ／Ｂフレームである場合は、動き予測・補償部６６から供給される予測画像との差分を計算して直交変換部５６に供給する。
【００３１】
直交変換部５６は、供給されたＩフレームの画像もしくはＰ／Ｂフレームの差分画像を離散コサイン変換（Discrete Cosine Transform；ＤＣＴ）し、得られたＤＣＴ係数を量子化部５８に与える。
【００３２】
量子化部５８は、ＤＣＴ係数を量子化し、可変長符号化部６８に与える。また、量子化部５８は、動き補償を行うために、画像フレームの量子化されたＤＣＴ係数を逆量子化部６０に供給する。逆量子化部６０は、与えられた量子化データを逆量子化し、逆直交変換部６２に与え、逆直交変換部６２は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームはフレームメモリ６４に格納される。
【００３３】
動き予測・補償部６６は、フレームメモリ６４に格納された再構成されたフレーム画像を符号化対象フレームとして参照し、動き補償を行う。
【００３４】
可変長符号化部６８は、量子化部５８により量子化されたＤＣＴ係数の可変長符号化を行い、可変長符号化された圧縮画像データを蓄積バッファ７０に格納する。可変長符号化部６８は、Ｐ／Ｂフレームの場合は、動き予測・補償部６６から与えられた動きベクトルとともに差分画像の量子化されたＤＣＴ係数を可変長符号化する。
【００３５】
レート制御部７２は、蓄積バッファ７０に蓄積されるフレーム画像のフレームレートを制御し、量子化部５８における量子化ステップを調整する。フレーム画像は可変長符号化されるため、各フレームのデータ量は符号化するまで判明しない。そのため、蓄積バッファ７０に蓄積されたフレーム画像を再生するときのフレームレートを検出して、量子化ステップを増減し、所定のフレームレートで再生が可能な符号量に調整する必要がある。
【００３６】
蓄積バッファ７０に蓄積された圧縮フレーム画像と動きベクトル情報を含む画像圧縮情報が符号化ビデオストリームとして出力され、ビデオパケット化部２４０に供給される。
【００３７】
図３は、多重符号化装置２００により生成されるプログラムストリーム３００のデータ構造を説明する図である。
【００３８】
ＭＰＥＧ−２システムのプログラムストリーム３００は、ビデオストリーム、オーディオストリームおよび字幕ストリームがＰＥＳパケットとしてパケット化され、多重化されたものである。複数のＰＥＳパケットをまとめた単位はパック（Pack）と呼ばれ、プログラムストリーム３００は、パックを順次並べたデータ構造をもつ。ここでは、１つのパック内に１つのＰＥＳパケットを含む構成を採用している。
【００３９】
先頭のパックは、パックヘッダ３０２とビデオＰＥＳパケット３０４を含む。ビデオＰＥＳパケット３０４のヘッダには、ビデオの再生時刻の基準を与えるＰＴＳ情報３０５が含まれ、ペイロードにはビデオデータ３０６が含まれる。
【００４０】
このＰＴＳ情報３０５は、ランダムアクセスの対象となるアクセスユニットのビデオＰＥＳパケットにのみ含まれ、ランダムアクセスの対象とならないアクセスユニットのビデオＰＥＳパケットにはＰＴＳ情報は含まれない。プログラムストリーム３００のデータサイズが大きくなるのを避けるためである。もっともプログラムストリーム３００のデータサイズが大きくなってもかまわない場合は、ランダムアクセスの対象であるかどうかを問わず、すべてのアクセスユニットのビデオＰＥＳパケットのヘッダにＰＴＳ情報をもたせてもかまわない。
【００４１】
第２のパックは、パックヘッダ３０８とビデオＰＥＳパケット３１０を含む。第３のパックは、パックヘッダ３１２とオーディオＰＥＳパケット３１４を含む。第４のパックは、パックヘッダ３１６と字幕ＰＥＳパケット３１８を含む。オーディオＰＥＳパケット３１４および字幕ＰＥＳパケット３１８のヘッダにも、オーディオおよび字幕の再生時刻の基準を与えるＰＴＳ情報が適宜含まれている。
【００４２】
ビデオストリームのアクセスユニットがランダムアクセスされた場合、ランダムアクセスされたアクセスユニットのビデオＰＥＳパケット３０４のヘッダからＰＴＳ情報３０５が取り出される。
【００４３】
Ｈ．２６４／ＡＶＣ規格では、ＩＤＲ（Instantaneous Decoding Refresh）ピクチャを用いたランダムアクセス機能が規定されている。ＩＤＲピクチャは、そのピクチャよりも前のピクチャの情報がなくても、それ以降のピクチャの復号が可能となるピクチャであり、参照ピクチャを一時的に保持していたバッファもリセットされる。多重符号化装置２００のビデオエンコーダ２１０は、ＩＤＲピクチャに対してＰＴＳ情報を記録しており、記録媒体に格納されたプログラムストリーム３００がランダムアクセスされた際、復号先頭ピクチャであるＩＤＲピクチャからＰＴＳ値が取得される。
【００４４】
このように、ＭＰＥＧ−２システムのプログラムストリームでは、ビデオ、オーディオおよび字幕の同期再生のために、ビデオ、オーディオおよび字幕のそれぞれについて、再生の単位であるアクセスユニットに、再生出力時刻を示すＰＴＳが付加されている。ビデオ、オーディオおよび字幕の各アクセスユニットのＰＴＳを同期させることで、ビデオ、オーディオおよび字幕の同期再生が基本的には可能である。
【００４５】
しかしながら、プログラムストリームに対してランダムアクセスを行った場合、ビデオストリームは、未来のフレームを参照するフレーム間予測符号化がなされているため、符号化ビデオストリームから復号されるピクチャの順序と、表示されるピクチャの順序は一致しない。したがって、復号順序において最初のピクチャが表示順序において最初になるとは限らない。ランダムアクセスしたときに得られるビデオのＰＴＳは、復号先頭のピクチャから取得されたものであるから、表示順序で最初のピクチャのＰＴＳとは一般に異なる。復号先頭ピクチャのＰＴＳに合わせてオーディオや字幕を同期させてしまうと、復号先頭ピクチャは表示順の最初のピクチャではない場合に、同期が正しく取れないことになる。そこで、本実施の形態の同期再生装置１００では、同期再生を正しく行えるように、復号先頭ピクチャのＰＴＳから表示先頭ピクチャのＰＴＳを内部的に算出する。
【００４６】
図４は、実施の形態に係る同期再生装置１００の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
【００４７】
同期再生装置１００は、ビデオ、オーディオおよび字幕のパケットが多重化されたストリームの入力を受け取り、ビデオ、オーディオおよび字幕の同期再生を行う。この多重化ストリームは、多重符号化装置２００により生成され、記録媒体に蓄積されたものであり、ランダムアクセスされ、ランダムアクセスされたポイントからストリームのパケットデータが読み出され、同期再生装置１００に入力される。
【００４８】
多重分離部１１０は、入力された多重化ストリームからビデオパケット、オーディオパケットおよび字幕パケットを分離し、それぞれビデオデコーダ１３０、オーディオデコーダ１４０および字幕デコーダ１５０に供給する。
【００４９】
また、多重分離部１１０は、システムレイヤにおいて、ビデオパケットからＰＴＳ情報を抽出し、得られたＰＴＳをクロック制御部１２０に与える。このＰＴＳは、ビデオストリームのランダムアクセスポイントにおけるアクセスユニットのヘッダから取得されるものであり、復号先頭ピクチャのＰＴＳ（以下、「復号先頭ＰＴＳ」という）である。
【００５０】
クロック制御部１２０は、ビデオの再生に同期させるための同期信号をオーディオデコーダ１４０および字幕デコーダ１５０に与え、同期制御を行う。まず、クロック制御部１２０は、復号先頭ＰＴＳをビデオデコーダ１３０に与える。
【００５１】
ビデオデコーダ１３０は、入力されたビデオの圧縮情報を復号するとともに、復号先頭ＰＴＳをもとにして表示先頭ピクチャのＰＴＳ（以下、「表示先頭ＰＴＳ」という）を算出する。ビデオデコーダ１３０は、表示先頭ＰＴＳをクロック制御部１２０に与える。また、ビデオデコーダ１３０は、復号されたビデオデータを表示出力部１６０に与える。
【００５２】
クロック制御部１２０は、ビデオデコーダ１３０から与えられた表示先頭ＰＴＳを同期信号としてオーディオデコーダ１４０および字幕デコーダ１５０に与える。オーディオデコーダ１４０および字幕デコーダ１５０は、表示先頭ＰＴＳと同じＰＴＳ値をもつオーディオおよび字幕のアクセスユニットを復号し、オーディオデコーダ１４０は復号されたオーディオデータを音声出力部１７０に与え、字幕デコーダ１５０は復号された字幕データを表示出力部１６０に与える。
【００５３】
表示出力部１６０は、ビデオデータと字幕データを表示装置に表示し、音声出力部１７０はオーディオデータをスピーカから出力する。表示先頭ピクチャのＰＴＳに同期して、オーディオデータと字幕データが再生されているため、オーディオと字幕がビデオに正しく同期する。
【００５４】
図５は、ビデオデコーダ１３０の構成図である。ビデオデコーダ１３０は、多重分離部１１０からビデオの符号化フレーム画像と動きベクトル情報を含む画像圧縮情報の入力を受け取り、圧縮された画像情報を復号して出力信号を生成する。
【００５５】
蓄積バッファ１０は、多重分離部１１０から入力される画像圧縮情報を蓄積する。可変長復号部１２は、蓄積バッファ１０に蓄積された画像圧縮情報を可変長復号し、復号された画像データを逆量子化部１４に供給し、動きベクトル情報を動き補償部２２に供給する。
【００５６】
逆量子化部１４は、可変長復号部１２により復号された画像データを逆量子化し、逆直交変換部１６に供給する。逆直交変換部１６は、逆量子化部１４により逆量子化されたＤＣＴ係数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆直交変換部１６により復元された画像データは、加算器１８に供給される。
【００５７】
逆直交変換部１６から出力される画像データがＩフレームである場合、加算器１８は、Ｉフレームの画像データをそのままフレーム並べ替え用バッファ２４に格納するとともに、Ｐ／Ｂフレームの予測画像を生成する際の参照画像としてフレームメモリ２０に格納する。
【００５８】
逆直交変換部１６から出力された画像データがＰ／Ｂフレームである場合、その画像データは差分画像であるため、加算器１８は、その差分画像と動き補償部２２から供給される予測画像とを加算することにより、元の画像データを復元し、フレーム並べ替え用バッファ２４に格納する。
【００５９】
動き補償部２２は、可変長復号部１２から供給される動きベクトル情報と、フレームメモリ２０に格納された参照画像とを用いて、Ｐ／Ｂフレームの予測画像を生成し、加算器１８に供給する。
【００６０】
フレーム並べ替え用バッファ２４は、蓄積されたフレーム画像を表示順序に並べ替えるためのバッファであり、表示順に並べ替えられたフレーム画像はＤ／Ａ変換部２６に供給される。Ｄ／Ａ変換部２６はフレーム画像をアナログ信号に変換し、表示出力部１６０に出力する。
【００６１】
表示先頭ＰＴＳ算出部２８は、クロック制御部１２０から復号先頭ＰＴＳを取得する。また、可変長復号部１２は、復号されたビデオストリームから「ＣＰＢ引き抜き遅延時間」（cpb_removal_delay）と「ＤＰＢ出力遅延時間」（dpb_output_delay）の２つのパラメータを抽出し、表示先頭ＰＴＳ算出部２８に供給する。表示先頭ＰＴＳ算出部２８は、復号先頭ＰＴＳ、ＣＰＢ引き抜き遅延およびＤＰＢ出力遅延にもとづいて、表示先頭ＰＴＳを算出し、クロック制御部１２０に与える。
【００６２】
ここで、「ＣＰＢ引き抜き遅延時間」と「ＤＰＢ出力遅延時間」は、Ｈ．２６４／ＡＶＣ規格により符号化されるビデオストリームのシンタックスパラメータであり、ピクチャタイミングＳＥＩ（Picture Timing Supplemental Enhancement Information）に含まれる情報である。これらのパラメータは、Ｈ．２６４／ＡＶＣで採用されている仮想デコーダモデルにしたがって規定されている。以下、この仮想デコーダモデルについて説明する。
【００６３】
ビデオデコーダ１３０は、ビデオのビットストリームを蓄積バッファ１０にバッファリングしながら、符号化されたデータを復号し、画像を再生するが、このとき、蓄積バッファ１０がオーバーフローしたり、アンダーフローすることがないように、ビットストリームが生成されている必要がある。このため、Ｈ．２６４／ＡＶＣ規格では、仮想デコーダモデルによりデコーダの振る舞いがモデル化されている。
【００６４】
仮想デコーダモデルでは、ＣＰＢ（Coded Picture Buffer、符号化ピクチャバッファ）とＤＰＢ（Decoded Picture Buffer、復号ピクチャバッファ）の２つのバッファが規定されている。ＣＰＢは、復号処理に投入される前のビットストリームを蓄積するバッファであり、図５のビデオデコーダ１３０の蓄積バッファ１０に相当する。ＤＰＢは、デコーダにより復号されたピクチャを表示するまでの間、蓄積するバッファであり、ビデオデコーダ１３０のフレーム並べ替え用バッファ２４に相当する。
【００６５】
アクセスユニットのデータは、まずＣＰＢに入力され、各アクセスユニットのデータは、ＣＰＢリムーバルタイム（CPB removal time）で指定された時刻（「ＣＰＢ引き抜き時刻」と呼ぶ）にＣＰＢから取り出され、復号される。
【００６６】
復号されたピクチャは、ＣＰＢ引き抜き時刻にＤＰＢに入力され、蓄積される。ＤＰＢに蓄積されたピクチャは、ＤＰＢアウトプットタイム（DPB output time）で指定された時刻（「ＤＰＢ出力時刻」という）にＤＰＢから出力され、表示される。
【００６７】
仮想デコーダでは、ビデオストリームのデータは、ＣＰＢから引き抜かれると同時に、瞬時に復号されて、ＤＰＢに入力されるものとしてモデル化されている。ＤＰＢは、動き補償のために参照ピクチャを一時的に保持するため、復号されたピクチャの表示順序を入れ替えるため、および表示出力時刻まで復号されたピクチャを保持しておくために使用される。
【００６８】
ＣＰＢ引き抜き時刻とＤＰＢ出力時刻が同じであるなら、ＣＰＢから引き抜かれて復号されたピクチャは、ＤＰＢに蓄積されずに、そのまま出力されるが、そのピクチャが参照ピクチャであるなら、動き補償の際に参照するためにＤＰＢに保持される。また、ＤＰＢ出力時刻がＣＰＢ引き抜き時刻よりも大きい場合は、ＣＰＢから引き抜かれて復号されたピクチャは、表示順序を入れ替えるために、ＤＰＢにいったん蓄積され、ＤＰＢ出力時刻まで出力が遅延される。
【００６９】
「ＣＰＢ引き抜き遅延時間」は、最初のピクチャの復号が始まってから、あるピクチャがＣＰＢから引き抜かれるまでの遅延時間であり、「ＤＰＢ出力遅延時間」は、あるピクチャがＣＰＢから引き抜かれた後、ＤＰＢから出力されるまでの遅延時間である。
【００７０】
図６は、表示先頭ＰＴＳ算出部２８による表示先頭ＰＴＳの算出手順を説明する図である。同図の上段にはピクチャの復号順序が示され、下段にはピクチャの表示順序が示されている。
【００７１】
符号化ビデオストリームにおいて、ＩＤＲ２、Ｐ５、Ｂ０、Ｂ１の順でピクチャが復号されるとする。ＩＤＲ２は、ランダムアクセスされた復号先頭ピクチャである。ＩＤＲ、Ｐ、Ｂの各記号は、それぞれＩＤＲピクチャ、Ｐピクチャ、Ｂピクチャであることを示し、各記号の後ろの数字は表示順序を示す。すなわち、Ｂ０、Ｂ１、ＩＤＲ２の順でピクチャが表示される。Ｂ０が表示先頭ピクチャである。
【００７２】
ＩＤＲ２の復号時刻において、ＩＤＲ２のＰＴＳ値であるＰＴＳＩＤＲ２と、ＤＰＢ出力遅延時間であるｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＩＤＲ２が取得される。ＰＴＳＩＤＲ２は復号先頭ＰＴＳである。ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＩＤＲ２は、符号３３４で示すように、復号先頭ピクチャＩＤＲ２がＣＰＢから引き抜かれて復号が開始される時刻から、その復号先頭ピクチャＩＤＲ２がＤＰＢから出力される時刻までの遅延時間である。
【００７３】
次に、表示先頭ピクチャＢ０の表示時刻において、ＣＰＢ引き抜き遅延時間であるｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙＢ０と、ＤＰＢ出力遅延時間であるｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＢ０が取得される。
【００７４】
ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙＢ０は、符号３３０で示すように、復号先頭ピクチャＩＤＲ２がＣＰＢから引き抜かれて復号が開始される時刻から、表示先頭ピクチャＢ０がＣＰＢから引き抜かれて復号が開始される時刻までの遅延時間である。
【００７５】
ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＢ０は、符号３３２で示すように、表示先頭ピクチャＢ０がＣＰＢから引き抜かれて復号が開始される時刻から、その表示先頭ピクチャＢ０がＤＰＢから出力される時刻までの遅延時間である。
【００７６】
表示先頭ＰＴＳ算出部２８は、表示先頭ピクチャＢ０のＰＴＳ値であるＰＴＳＢ０を次式により算出する。
【００７７】
ＰＴＳＢ０＝ＰＴＳＩＤＲ２−（ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＩＤＲ２−（ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙＢ０＋ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＢ０））
【００７８】
この式は、同図からも明らかなように、復号先頭ピクチャＩＤＲ２のＰＴＳＩＤＲ２から復号先頭ピクチャＩＤＲ２のＤＰＢ出力遅延時間ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＩＤＲ２を減算し、その計算結果に、表示先頭ピクチャＢ０のＣＰＢ引き抜き遅延時間ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙＢ０とＤＢＰ出力遅延時間ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＢ０を加算すると、表示先頭ピクチャＢ０のＰＴＳＢ０が求まることを示している。
【００７９】
ここで、表示先頭ピクチャＢ０のＣＰＢ引き抜き遅延時間ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙＢ０とＤＢＰ出力遅延時間ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙＢ０の和は、復号先頭ピクチャＩＤＲ２がＣＰＢから引き抜かれて復号が開始される時刻から、表示先頭ピクチャＢ０がＤＰＢから出力される時刻までの遅延時間である。
【００８０】
なお、表示先頭ピクチャが復号先頭ピクチャと同一である場合は、表示先頭ピクチャのＰＴＳ値を求める必要はない。復号先頭ピクチャのＰＴＳ値がそのまま利用できるからである。復号先頭ピクチャが表示先頭ピクチャになるかどうかは復号処理が進むまで判明しないが、最初に表示出力されるピクチャがＰＴＳ値をもっていれば、それは復号先頭ピクチャでもあったということであり、その復号先頭ピクチャのもつＰＴＳ値をそのまま利用すればよい。これにより、表示先頭ピクチャが復号先頭ピクチャと同一である場合に表示先頭ＰＴＳの計算を省略して、処理コストを減らすことができる。
【００８１】
図７は、同期再生装置１００による同期再生処理の手順を説明するフローチャートである。
【００８２】
クロック制御部１２０は、多重分離部１１０により分離された符号化ビデオストリームにおいて、ランダムアクセスポイントのパケットヘッダから復号先頭ＰＴＳを取得し、ビデオデコーダ１３０に与える（Ｓ１０）。
【００８３】
ビデオデコーダ１３０において、表示先頭ＰＴＳ算出部２８は、可変長復号部１２により復号されたビデオストリームの復号先頭アクセスユニットからＤＢＰ出力遅延時間ｄｂｐ＿ｏｕｔｐｕｔ＿ｄｅｌａｙを取得する（Ｓ１２）。
【００８４】
最初のピクチャが表示される際、表示先頭ＰＴＳ算出部２８は、復号先頭アクセスユニットと表示先頭アクセスユニットが一致するかどうかを判定する（Ｓ１４）。復号先頭アクセスユニットと表示先頭アクセスユニットが一致する場合（Ｓ１４のＹ）、表示先頭ＰＴＳを保持する変数に復号先頭ＰＴＳの値を代入する（Ｓ２０）。
【００８５】
復号先頭アクセスユニットと表示先頭アクセスユニットが一致しない場合（Ｓ１４のＮ）、表示先頭ＰＴＳ算出部２８は、表示先頭アクセスユニットからＣＰＢ引き抜き遅延時間ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙとＤＰＢ出力遅延時間ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙを取得する（Ｓ１６）。
【００８６】
表示先頭ＰＴＳ算出部２８は、復号先頭ＰＴＳから復号先頭アクセスユニットのＤＢＰ出力遅延時間ｄｂｐ＿ｏｕｔｐｕｔ＿ｄｅｌａｙを減算し、表示先頭アクセスユニットのＣＰＢ引き抜き遅延時間ｃｐｂ＿ｒｅｍｏｖａｌ＿ｄｅｌａｙとＤＰＢ出力遅延時間ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙを加算することにより、表示先頭ＰＴＳを算出する（Ｓ１８）。
【００８７】
表示先頭ＰＴＳ算出部２８は、ステップＳ２０またはステップＳ１８で得られた表示先頭ＰＴＳを出力し、クロック制御部１２０に与える（Ｓ２２）。
【００８８】
クロック制御部１２０は、ビデオデコーダ１３０から取得した表示先頭ＰＴＳをオーディオデコーダ１４０と字幕デコーダ１５０に与え、オーディオデコーダ１４０および字幕デコーダ１５０はそれぞれ、ビデオの表示先頭ＰＴＳと同期するオーディオおよび字幕を復号する（Ｓ２４）。
【００８９】
ビデオデコーダ１３０、オーディオデコーダ１４０および字幕デコーダ１５０の復号結果を受けて、表示出力部１６０および音声出力部１７０は、ビデオ、オーディオおよび字幕を同期再生する（Ｓ２６）。
【００９０】
以上述べたように、本実施の形態の同期再生装置１００によれば、復号先頭ピクチャのＰＴＳ値をシステムレイヤで取得し、ビデオストリームのパラメータであるＣＰＢ引き抜き遅延時間とＤＰＢ出力遅延時間を参照して、表示先頭ピクチャのＰＴＳ値を計算により求めることができる。これにより、表示先頭ピクチャのＰＴＳ値を基準としてオーディオと字幕の再生を行うことが可能となり、ランダムアクセスを行った場合でも、ビデオの再生にオーディオと字幕の再生を正確に同期させることができる。
【００９１】
表示先頭ピクチャのＰＴＳ値を計算により求めることができるため、すべてのピクチャにシステムレイヤでＰＴＳ情報をもたせる必要がなく、ランダムアクセスポイントのピクチャにのみＰＴＳ情報を付加するだけで済む。そのため、システムレイヤにおけるオーバーヘッドを減らすことができ、同期制御のための処理が軽くなる。
【００９２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。そのような変形例を説明する。
【００９３】
上記の実施の形態では、システムレイヤにおいてＭＰＥＧ−２システムのプログラムストリームを用いて、ビデオストリームとオーディオストリームの多重化が行われ、蓄積用の多重化ストリームを生成したが、システムレイヤでは、ＭＰＥＧ−２システム以外の規格が用いられてもよい。たとえば、Ｈ．２６４／ＡＶＣファイルフォーマットにしたがって、ビデオとオーディオの多重化が行われてもよい。また、ＶＣＬのレイヤについても、実施の形態では、Ｈ．２６４／ＡＶＣを用いて動画の符号化を行ったが、復号先頭ＰＴＳから表示先頭ＰＴＳを算出するために必要なパラメータが動画ストリームから取得できる規格であれば、Ｈ．２６４／ＡＶＣ以外の規格が用いられてもよい。
【００９４】
上記の実施の形態では、記録媒体に蓄積された多重化ストリームをランダムアクセスしたときに、ビデオの復号先頭ＰＴＳから表示先頭ＰＴＳを算出する手順を説明したが、この手順は、放送される多重化ストリームにおいて、放送の途中から視聴する際にも適用することができる。放送途中から視聴する際でも、符号化ビデオストリームの復号先頭ピクチャと表示先頭ピクチャが一致しない状況が発生するため、表示先頭ピクチャのＰＴＳを求めて、オーディオや字幕を同期させる必要があるからである。このように、本発明の同期制御は、蓄積メディア向けの多重化ストリームだけでなく、ＭＰＥＧ−２システムのトランスポートストリームやＲＴＰ（Real-time Trasnport Protocol）などにより伝送される伝送メディア向けの多重化ストリームに対しても適用することができる。
【図面の簡単な説明】
【００９５】
【図１】実施の形態に係る多重符号化装置の構成図である。
【図２】図１のビデオエンコーダの構成図である。
【図３】図１の多重符号化装置により生成されるプログラムストリームのデータ構造を説明する図である。
【図４】実施の形態に係る同期再生装置の構成図である。
【図５】図４のビデオデコーダの構成図である。
【図６】図５の表示先頭ＰＴＳ算出部による表示先頭ＰＴＳの算出手順を説明する図である。
【図７】図４の同期再生装置による同期再生処理の手順を説明するフローチャートである。
【符号の説明】
【００９６】
１０  蓄積バッファ、  １２  可変長復号部、  １４  逆量子化部、  １６  逆直交変換部、  １８  加算器、  ２０  フレームメモリ、  ２２  動き補償部、  ２４  フレーム並べ替え用バッファ、  ２６  Ｄ／Ａ変換部、  ２８  表示先頭ＰＴＳ算出部、  １００  同期再生装置、  １１０  多重分離部、  １２０  クロック制御部、  １３０  ビデオデコーダ、  １４０  オーディオデコーダ、  １５０  字幕デコーダ、  １６０  表示出力部、  １７０  音声出力部、  ２００  多重符号化装置、  ２１０  ビデオエンコーダ、  ２２０  オーディオエンコーダ、  ２３０  字幕エンコーダ、  ２４０  ビデオパケット化部、  ２５０  オーディオパケット化部、  ２６０  字幕パケット化部、  ２７０  多重化部。
【図１】
2007012218.tif 000003
【図２】
2007012218.tif 000004
【図３】
2007012218.tif 000005
【図４】
2007012218.tif 000006
【図５】
2007012218.tif 000007
【図６】
2007012218.tif 000008
【図７】
2007012218.tif 000009