(57)【要約】  ビデオストリームとオーディオストリームとを正確に同期して出力する。  ビデオストリーム（６ａ）が入力されると、ビデオフレームに付与されたビデオ出力時刻情報が抽出される。その後、差分値計算手段（４ａ）により、同期信号（８）の発生時刻とビデオ出力時刻情報との差分値が計算される。さらに、オーディオ出力時刻補正手段（４ｂ）により、差分値を用いてオーディオフレームそれぞれに付与されたオーディオ出力時刻情報が補正される。そして、画像出力手段（２ｂ）により、同期信号（８）に同期してビデオフレームで示される画像が出力される。また、音声出力手段（３ｂ）により、基準時刻情報の値と補正後のビデオ出力時刻情報の値とが一致したときに、一致したオーディオ出力時刻情報が付与されたオーディオフレームで示される音声が出力される。
2009028038.tif 000002
【特許請求の範囲】
【請求項１】
ストリームデータに基づいて映像と音声とを出力するためのデコーダ装置において、
時間と共に値が増加する基準時刻情報を生成する時刻情報発生手段と、
ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報が付与されたビデオデータを符号化したビデオストリームが入力されると、入力された前記ビデオストリームを復号して前記ビデオデータを生成すると共に、前記ビデオフレームに付与された前記ビデオ出力時刻情報を抽出するビデオ復号手段と、
オーディオフレームごとの音声の出力時刻を示すオーディオ出力時刻情報が付与されたオーディオデータを符号化したオーディオストリームが入力されると、入力された前記オーディオストリームを復号して前記オーディオデータを生成するオーディオ復号手段と、
画像の出力タイミングを示す同期信号の発生時刻と前記ビデオ出力時刻情報との差分値を計算する差分値計算手段と、
前記差分値計算手段で計算された前記差分値を用いて、前記オーディオフレームそれぞれに付与された前記オーディオ出力時刻情報を補正するオーディオ出力時刻補正手段と、
前記同期信号の発生時における前記基準時刻情報の値と、前記同期信号の発生時に表示可能な前記ビデオ出力時刻情報の範囲との関係が予め定義されており、前記同期信号が発生するごとに、そのときの前記基準時刻情報の値に応じて表示可能な前記ビデオ出力時刻情報が付与された前記ビデオフレームで示される画像を出力する画像出力手段と、
前記基準時刻情報の値と補正後の前記オーディオ出力時刻情報の値とが一致したときに、一致した前記オーディオ出力時刻情報が付与された前記オーディオフレームで示される音声を出力する音声出力手段と、
を有することを特徴とするデコーダ装置。
【請求項２】
前記ビデオ復号手段は、先頭の前記ビデオフレームに付与された前記ビデオ出力時刻情報を、ビデオ先頭時刻情報として抽出し、
前記オーディオ復号手段は、先頭の前記オーディオフレームに付与された前記オーディオ出力時刻情報を、オーディオ先頭時刻情報として抽出し、
前記ビデオ先頭時刻情報と前記オーディオ先頭時刻情報との値を比較し、前記ビデオ先頭時刻情報の値の方が大きければ、前記ビデオ先頭時刻情報で示される時刻をオーディオ出力開始時刻と決定する出力開始時刻決定手段をさらに有し、
前記音声出力手段は、前記基準時刻情報で示される時刻が前記オーディオ出力開始時刻に達する以前は、生成した前記音声を無効なデータに置き換えることを特徴とする請求の範囲第１項記載のデコーダ装置。
【請求項３】
前記出力開始時刻決定手段は、前記オーディオ先頭時刻情報の値の方が大きければ、前記オーディオ先頭時刻情報より大きな値で最小の前記ビデオ出力時刻情報が付与された時刻をビデオ出力開始時刻と決定し、
前記画像出力手段は、前記ビデオ出力開始時刻より小さい値の前記ビデオ出力時刻情報が付与された前記ビデオフレームから生成した前記画像を無効なデータに置き換えることを特徴とする請求の範囲第２項記載のデコーダ装置。
【請求項４】
前記出力開始時刻決定手段は、前記オーディオ先頭時刻情報の値の方が大きければ、前記ビデオ出力開始時刻と同じ時刻をオーディオ出力開始時刻と決定し、
前記音声出力手段は、前記基準時刻情報で示される時刻が前記オーディオ出力開始時刻に達する以前は、生成した前記音声を無効なデータに置き換えることを特徴とする請求の範囲第３項記載のデコーダ装置。
【請求項５】
前記ビデオ先頭時刻情報と前記オーディオ先頭時刻情報とのいずれか一方の情報が抽出されてからの経過時間を計測し、他方の情報が抽出される前に前記経過時間が所定の閾値を超えた場合にはタイムアウトと判定し、タイムアウトと判定された場合、前記ビデオ先頭時刻情報のみが抽出されていればビデオ単独出力と決定し、前記オーディオ先頭時刻情報のみが抽出されていればオーディオ単独出力と決定するタイムアウト判定手段をさらに有し、
前記画像出力手段は、前記ビデオ単独出力と決定されると、前記ビデオフレームからの画像データの生成、および生成した前記画像データの出力を開始する、
ことを特徴とする請求の範囲第１項記載のデコーダ装置。
【請求項６】
前記差分値計算手段は、予め定義された、前記同期信号の発生時における前記基準時刻情報の値と、前記同期信号の発生時に表示可能な前記ビデオ出力時刻情報の範囲との関係に基づいて、前記ビデオ出力時刻情報を表示可能な前記基準時刻情報を判断し、前記ビデオ出力時刻情報と前記ビデオ出力時刻情報を表示可能な前記基準時刻情報との差分値を計算することを特徴とする請求の範囲第１項記載のデコーダ装置。
【請求項７】
ストリームデータに基づいてデコーダ装置により映像と音声とを出力するためのデコード方法において、
時刻情報発生手段が、時間と共に値が増加する基準時刻情報を生成し、
ビデオ復号手段が、ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報が付与されたビデオデータを符号化したビデオストリームが入力されると、入力された前記ビデオストリームを復号して前記ビデオデータを生成すると共に、前記ビデオフレームに付与された前記ビデオ出力時刻情報を抽出し、
オーディオ復号手段が、オーディオフレームごとの音声の出力時刻を示すオーディオ出力時刻情報が付与されたオーディオデータを符号化したオーディオストリームが入力されると、入力された前記オーディオストリームを復号して前記オーディオデータを生成し、
差分値計算手段が、画像の出力タイミングを示す同期信号の発生時刻と前記ビデオ出力時刻情報との差分値を計算し、
オーディオ出力時刻補正手段が、前記差分値計算手段で計算された前記差分値を用いて、前記オーディオフレームそれぞれに付与された前記オーディオ出力時刻情報を補正し、
画像出力手段が、前記同期信号の発生時における前記基準時刻情報の値と、前記同期信号の発生時に表示可能な前記ビデオ出力時刻の範囲との関係が予め定義されており、前記同期信号が発生するごとに、そのときの前記基準時刻情報の値に応じて表示可能な前記ビデオ出力時刻情報が付与された前記ビデオフレームで示される画像を出力し、
音声出力手段が、前記基準時刻情報の値と補正後の前記オーディオ出力時刻情報の値とが一致したときに、一致した前記オーディオ出力時刻情報が付与された前記オーディオフレームで示される音声を出力する、
ことを特徴とするデコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストリームデータのデコーダ装置およびデコード方法に関し、特にビデオストリームとオーディオストリームとの同期出力を行うデコーダ装置、およびデコード方法に関する。
【背景技術】
【０００２】
近年、ビデオ・オーディオのデジタル信号処理技術がめざましく進歩している。そして、技術の進歩に伴い、デジタル放送、放送と通信の融合の実現に向けたシステム開発が世界各国で進められている。【０００３】
放送と通信の融合が進んでいる技術分野として、データストリーミングによる情報配信サービスがある。このようなストリーム配信方式によるサービスは、特に増加傾向にある。ストリーム配信方式においては、リアルタイムで受信データの再生処理を行うことが一般的である。このような方式を利用したシステムとして、ＶＯＤ（ビデオオンデマンド）やライブ映像のストリーミング配信、あるいはテレビ会議システムなどがあげられる。【０００４】
また、インターネットに代表される広域かつ多種多様なネットワークにおける画像配信サービスも急速に発展している。これらの画像配信は多くの場合、ＭＰＥＧ（Moving Picture Experts Group）やＨ．２６４という圧縮技術を利用したストリーム配信である。【０００５】
リアルタイムシステムにおけるビデオ・オーディオ出力は、デコーダ装置側でシステムストリームからシステム基準時刻（ＰＣＲ：Program Clock ReferenceやＳＣＲ：System Clock Reference）を抽出し、その抽出した値でＳＴＣ（System Time Clock）再生を行い、ビデオ・オーディオストリームが持つＰＴＳ（Presentation Time Stamp）と比較し再生する。これにより、ビデオとオーディオの同期の取れたリアルタイム出力をすることが可能である。【０００６】
また、オーディオデータと動画データとにタイムコードを付加し、受信装置において、タイムコードを用いて音声出力を画像出力に同期させる技術がある（例えば、特許文献１参照）。【０００７】
なお、ビデオ出力は、垂直同期信号（ＶＳＹＮＣ）に合わせる必要がある。一方、オーディオ出力は、ＳＴＣに合わせて直ぐに再生できる。すると、ビデオ出力は、ＰＴＳで示される時刻になった後、次のＶＳＹＮＣが出力されるまで待ち時間が発生する。その結果、ビデオ出力がオーディオ出力よりも遅延する。このとき、ビデオ・オーディオ出力を同時に出力開始させるには、ビデオ出力タイミング（ＶＳＹＮＣの発信時刻）とオーディオ出力タイミングの違いを吸収するための何らかの機能の追加が必要となる。例えば、ビデオストリームから抽出したＰＴＳをホールドし、ＶＳＹＮＣで、ホールドした信号を受信側システムクロックのカウンタにロードさせる。これにより、ビデオストリームから抽出したＰＴＳをホールドしている間、オーディオ出力も待たされる。その結果、ビデオ出力とオーディオ出力を正確に同期させることができる（例えば、特許文献２参照）。
【特許文献１】特開平９−６５３０３号公報
【特許文献２】特開２００２−１７６６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、リアルタイム伝送では、ＰＣＲまたはＳＣＲを元にＳＴＣの値を決定し利用することが前提である。そのため、デコーダ装置におけるＳＴＣに任意の値を設定することはできない。すなわち、リアルタイム伝送では、特許文献２に示されているような、映像・音声同期出力の目的で、ホールドしておいたＰＴＳの値を、任意のタイミングでＳＴＣにロードすることはできない。従って、従来の技術では、リアルタイム伝送において、ＶＳＹＮＣが出力されるまで待ち時間による出力誤差を吸収することができなかった。【０００９】
さらに、従来のビデオとオーディオとの同期手法は、出力先頭フレームのビデオとオーディオとのＰＴＳが一致する場合しか想定されておらず、ＰＴＳが不一致の場合には適用できなかった。すなわち、ビデオデータとオーディオデータのエンコーダへの入力タイミングが一致しない（入力開始時のビデオとオーディオに付加されるＰＴＳ値が異なる）場合もある。その場合、従来技術では、各々のタイミングでデータストリームがデコーダに入力される。画像出力部および音声出力部では、ビデオストリームとオーディオストリームそれぞれの先頭のＰＴＳとＳＴＣを比較して、画像／音声出力開始タイミングを判断する。そのため、ビデオストリームとオーディオストリームとの先頭のＰＴＳ値が異なる場合、受信側において、ビデオ・オーディオの出力開始タイミングを一致させることができない。【００１０】
さらに、デコーダ側で受信するストリームに関しては、ビデオストリームのみ、あるいはオーディオストリームのみということも考えられる。この場合は、そういったケースを判別する手段が必要になる。【００１１】
本発明はこのような点に鑑みてなされたものであり、ビデオストリームとオーディオストリームとを正確に同期して出力することができるデコーダ装置、およびデコード方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では上記課題を解決するために、図１に示すようなデコーダ装置が提供される。時刻情報発生手段１は、時間と共に値が増加する基準時刻情報を生成する。ビデオ復号手段２ａは、ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報が付与されたビデオデータを符号化したビデオストリーム６ａが入力されると、入力されたビデオストリーム６ａを復号してビデオデータ６ｂを生成すると共に、ビデオフレームに付与されたビデオ出力時刻情報を抽出する。オーディオ復号手段３ａは、オーディオフレームごとの音声の出力時刻を示すオーディオ出力時刻情報が付与されたオーディオデータを符号化したオーディオストリーム７ａが入力されると、入力されたオーディオストリーム７ａを復号してオーディオデータ７ｂを生成する。差分値計算手段４ａは、画像の出力タイミングを示す同期信号８の発生時刻とビデオ出力時刻情報との差分値を計算する。オーディオ出力時刻補正手段４ｂは、差分値計算手段４ａで計算された差分値を用いて、オーディオフレームそれぞれに付与されたオーディオ出力時刻情報を補正する。画像出力手段２ｂは、同期信号８の発生時における基準時刻情報の値と、同期信号８の発生時に表示可能なビデオ出力時刻情報の範囲との関係が予め定義されており、同期信号８が発生するごとに、そのときの基準時刻情報の値に応じて表示可能なビデオ出力時刻情報が付与されたビデオフレームで示される画像を出力する。音声出力手段３ｂは、基準時刻情報の値と補正後のオーディオ出力時刻情報の値とが一致したときに、一致したオーディオ出力時刻情報が付与されたオーディオフレームで示される音声を出力する。【００１３】
このようなデコーダ装置によれば、ビデオストリーム６ａが入力されると、ビデオ復号手段２ａにより、入力されたビデオストリーム６ａが復号されビデオデータ６ｂを生成すると共に、ビデオフレームに付与されたビデオ出力時刻情報が抽出される。また、オーディオストリーム７ａが入力されると、オーディオ復号手段３ａにより、入力されたオーディオストリーム７ａが復号され、オーディオデータ７ｂが生成される。その後、差分値計算手段４ａにより、同期信号８の発生時刻とビデオ出力時刻情報との差分値が計算される。さらに、オーディオ出力時刻補正手段４ｂにより、差分値を用いてオーディオフレームそれぞれに付与されたオーディオ出力時刻情報が補正される。そして、画像出力手段２ｂにより、同期信号８が発生するごとに、そのときの基準時刻情報の値に応じて表示可能なビデオ出力時刻情報が付与されたビデオフレームで示される画像が出力される。また、音声出力手段３ｂにより、基準時刻情報の値と補正後のビデオ出力時刻情報の値とが一致したときに、一致したオーディオ出力時刻情報が付与されたオーディオフレームで示される音声が出力される。
【発明の効果】
【００１４】
本発明では、同期信号の発生時刻とビデオ出力時刻情報との差分値によってオーディオ出力時刻情報を補正するようにしたため、画像出力と音声出力とを正確に同期させることができる。【００１５】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】発明の概要を示す図である。
【図２】本実施の形態のシステム構成例を示す図である。
【図３】エンコーダ装置の内部構造を示すブロック図である。
【図４】デコーダ装置の内部構造を示すブロック図である。
【図５】ビデオ出力における表示フレームの有効範囲を示す図である。
【図６】ＰＴＳ制御装置の処理手順を示すフローチャートである。
【図７】エンコーダ装置によるエンコード処理を示すタイミングチャートである。
【図８】デコーダ装置によるデコード処理を示すタイミングチャートである。
【図９】オーディオキャプチャがビデオキャプチャより先に開始された場合の出力時期を示すタイミングチャートである。
【図１０】ビデオストリームのみが入力されたときの出力例を示す図である。
【図１１】オーディオストリームのみが入力されたときの出力例を示す図である。
【図１２】ＰＴＳ制御部の内部構造を示すブロック図である。
【図１３】マイクロコンピュータで実現したＰＴＳ制御部の例を示す図である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、発明の概要を示す図である。本発明に係るデコーダ装置は、時刻情報発生手段１、ビデオ復号手段２ａ、オーディオ復号手段３ａ、差分値計算手段４ａ、オーディオ出力時刻補正手段４ｂ、タイムアウト判定手段５ａ、出力開始時刻決定手段５ｂ、画像出力手段２ｂ、および音声出力手段３ｂを有している。【００１８】
時刻情報発生手段１は、時間と共に値が増加する基準時刻情報を生成する。例えば、時刻情報発生手段１は、ビデオストリーム６ａやオーディオストリーム７ａを符号化したエンコード装置が、ビデオストリーム６ａやオーディオストリーム７ａと共に送出した時刻基準参照値に基づいて基準時刻情報（例えば、ＳＴＣ）を生成する。【００１９】
ビデオ復号手段２ａには、ビデオストリーム６ａが入力される。ビデオストリーム６ａは、ビデオデータを符号化したものである。ビデオストリーム６ａには、ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報（例えば、ビデオＰＴＳ）が付与されている。ビデオ復号手段２ａは、ビデオストリーム６ａが入力されると、入力されたビデオストリーム６ａを復号してビデオデータ６ｂを生成する。また、ビデオ復号手段２ａは、ビデオフレームに付与されたビデオ出力時刻情報を抽出する。例えば、ビデオストリーム６ａの先頭のビデオフレームに付与されたビデオ出力時刻情報を、ビデオ先頭時刻情報６ｃとして抽出する。【００２０】
オーディオ復号手段３ａには、オーディオストリーム７ａが入力される。オーディオストリーム７ａは、オーディオデータを符号化したものである。オーディオストリーム７ａには、オーディオフレームごとの画像の出力時刻を示すオーディオ出力時刻情報（例えば、オーディオＰＴＳ）が付与されている。オーディオ復号手段３ａは、オーディオストリーム７ａが入力されると、入力されたオーディオストリーム７ａを復号してオーディオデータ７ｂを生成する。また、オーディオ復号手段３ａは、先頭のオーディオフレームに付与されたオーディオ出力時刻情報を、オーディオ先頭時刻情報７ｃとして抽出する。【００２１】
差分値計算手段４ａは、画像の出力タイミングを示す同期信号８（例えば、画像出力時の垂直同期信号）の発生時刻とビデオ出力時刻情報との差分値を計算する。
オーディオ出力時刻補正手段４ｂは、差分値計算手段４ａで計算された差分値を用いて、オーディオフレームそれぞれに付与されたオーディオ出力時刻情報を補正する。【００２２】
タイムアウト判定手段５ａは、ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとのいずれか一方の情報が抽出されてからの経過時間を計測する。そして、タイムアウト判定手段５ａは、他方の情報（ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとのうちの未抽出の情報）が抽出される前に経過時間が所定の閾値を超えた場合には、タイムアウトと判定する。そして、タイムアウト判定手段５ａは、タイムアウトと判定した場合、ビデオ先頭時刻情報６ｃのみが抽出されていればビデオ単独出力と決定し、オーディオ先頭時刻情報７ｃのみが抽出されていればオーディオ単独出力と決定する。【００２３】
出力開始時刻決定手段５ｂは、ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとの値を比較する。比較の結果、ビデオ先頭時刻情報６ｃの値の方が大きければ、出力開始時刻決定手段５ｂは、ビデオ先頭時刻情報６ｃで示される時刻をオーディオ出力開始時刻と決定する。また、比較の結果、オーディオ先頭時刻情報７ｃの値の方が大きければ、出力開始時刻決定手段５ｂは、オーディオ先頭時刻情報７ｃより大きな値で最小のビデオ出力時刻情報が付与された時刻をビデオ出力開始時刻およびオーディオ出力開始時刻と決定する。【００２４】
画像出力手段２ｂは、同期信号８を発生させている。画像出力手段２ｂは、同期信号８の発生時における基準時刻情報の値と、同期信号８の発生時に表示可能なビデオ出力時刻情報の範囲との関係が予め定義されており、同期信号８が発生するごとに、そのときの基準時刻情報の値に応じて表示可能なビデオ出力時刻情報が付与されたビデオフレームで示される画像（例えば、ＮＴＳＣ（National Television Standards Committee）などの画像信号）を出力する。なお、画像出力手段２ｂは、出力開始時刻決定手段５ｂで決定されたビデオ出力開始時刻より小さい値のビデオ出力時刻情報が付与されたビデオフレームから生成した画像については、無効なデータに置き換える。また、画像出力手段２ｂは、タイムアウト判定手段５ａにおいてビデオ単独出力と決定されると、出力開始時刻決定手段５ｂによるビデオ出力開始時刻の決定を待たずに、ビデオフレームに基づく画像出力を開始する。【００２５】
音声出力手段３ｂは、基準時刻情報の値と補正後のオーディオ出力時刻情報の値とが一致したときに、一致したオーディオ出力時刻情報が付与されたオーディオフレームで示される音声（例えば、アナログの音声信号）を出力する。また、音声出力手段３ｂは、基準時刻情報で示される時刻がオーディオ出力開始時刻に達する以前は、生成した音声を無効なデータに置き換える。また、画像出力手段２ｂは、タイムアウト判定手段５ａにおいてオーディオ単独出力と決定されると、出力開始時刻決定手段５ｂによるオーディオ出力開始時刻の決定を待たずに、オーディオフレームに基づく音声出力を開始する。【００２６】
このようなデコーダ装置によれば、ビデオストリーム６ａが入力されると、ビデオ復号手段２ａにより、入力されたビデオストリーム６ａが復号されビデオデータ６ｂを生成すると共に、ビデオフレームに付与されたビデオ出力時刻情報が抽出される（図１の例では、代表としてビデオ先頭時刻情報６ｃが抽出されている）。また、オーディオストリーム７ａが入力されると、オーディオ復号手段３ａにより、入力されたオーディオストリーム７ａが復号され、オーディオデータ７ｂが生成されると共に、ビデオフレームに付与されたビデオ出力時刻情報が抽出される（図１の例では、代表としてオーディオ先頭時刻情報７ｃが抽出されている）。【００２７】
その後、差分値計算手段４ａにより、同期信号８の発生時刻とビデオ出力時刻情報との差分値が計算される。さらに、オーディオ出力時刻補正手段４ｂにより、差分値を用いてオーディオフレームそれぞれに付与されたオーディオ出力時刻情報が補正される。【００２８】
ここで、ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとのいずれか一方の情報が抽出されてからの経過時間が所定の閾値を超えるまで他方の情報が抽出されなかった場合、タイムアウト判定手段５ａにおいてタイムアウトと判定される。このとき、ビデオ先頭時刻情報６ｃのみが抽出されていればビデオ単独出力と決定され、オーディオ先頭時刻情報７ｃのみが抽出されていればオーディオ単独出力と決定される。ビデオ単独出力と決定された場合、出力開始時刻決定手段５ｂによるビデオ出力開始時刻の決定を待たずに、画像出力手段２ｂによって、ビデオフレームに基づく画像出力が開始される。オーディオ単独出力と決定された場合、出力開始時刻決定手段５ｂによるオーディオ出力開始時刻の決定を待たずに、音声出力手段３ｂによってオーディオフレームに基づく音声出力が開始される。なお、オーディオ単独出力と決定された場合、ビデオ出力時刻情報が抽出できず、差分値計算手段４ａによる差分値は計算できない。そのため、音声出力手段３ｂでは、オーディオストリーム７ａに付与されていたオーディオ出力時刻情報（補正されていない値）に基づいてオーディオフレームの出力時刻が判断される。【００２９】
タイムアウトになる前にビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとが共に抽出されると、出力開始時刻決定手段５ｂにより、ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとの値が比較される。比較の結果、ビデオ先頭時刻情報６ｃの値の方が大きければ、ビデオ先頭時刻情報６ｃで示される時刻がビデオ出力開始時刻およびオーディオ出力開始時刻と決定される。また、比較の結果、オーディオ先頭時刻情報７ｃの値の方が大きければ、出力開始時刻決定手段５ｂは、オーディオ先頭時刻情報７ｃより大きな値で最小のビデオ出力時刻情報が付与された時刻をビデオ出力開始時刻およびオーディオ出力開始時刻と決定される。【００３０】
そして、画像出力手段２ｂにより、同期信号８が発生するごとに、そのときの基準時刻情報の値に応じて表示可能なビデオ出力時刻情報が付与されたビデオフレームで示される画像が出力される。その際、出力開始時刻決定手段５ｂで決定されたビデオ出力開始時刻より小さい値のビデオ出力時刻情報が付与されたビデオフレームから生成した画像については、無効なデータに置き換えられる。【００３１】
また、音声出力手段３ｂでは、基準時刻情報の値と補正後のビデオ出力時刻情報の値とが一致したときに、一致したオーディオ出力時刻情報が付与されたオーディオフレームで示される音声が出力される。その際、基準時刻情報で示される時刻がオーディオ出力開始時刻に達する以前は、生成した音声が無効なデータに置き換えられる。【００３２】
このように、同期信号の発生時刻とビデオ出力時刻情報との差分値によってオーディオ出力時刻情報を補正するようにしたため、画像出力と音声出力とを正確に同期させることができる。すなわち、ビデオフレームのビデオ出力時刻情報で示される時刻と同期信号の発信時刻とのずれの分だけ、オーディオフレームのオーディオ出力時刻情報を補正することで、画像と音声とを正確に同期させることができる。しかも、前述の特許文献２の技術のように、基準時刻情報（例えばＳＴＣ）を任意の値に変更するようなことはしないため、本願発明はリアルタイム伝送においても適用可能な汎用性の高い技術である。【００３３】
また、ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとを比較し、遅く受信したストリーム（ビデオ先頭時刻情報６ｃとオーディオ先頭時刻情報７ｃとのうち値の大きい方の情報が付与されたストリーム）に、ビデオ出力開始時刻とオーディオ出力開始時刻を合わせるようにした。そして、ビデオ出力開始時刻（オーディオ出力開始時刻も同じ）より前の画像や音声は無効データに置き換えた。これにより、ビデオストリームとオーディオストリームとのキャプチャ開始時刻に差があっても、再生出力時には同時に出力開始することができる。【００３４】
さらに、一方のビデオ先頭時刻情報とオーディオ先頭時刻情報との一方のみが抽出され、所定時間経過するまで他方の情報が抽出されない場合、タイムアウトを発生させるようにした。そして、タイムアウトが発生した場合、既に入力されているストリームのみの単独での出力を行うようにした。これにより、ビデオストリームとオーディオストリームとの両方のストリームが入力されるのか、あるいは一方のストリームのみが入力されるのかが不明な場合であっても、デコーダ装置側において適切に判断して出力することができる。【００３５】
次に、本発明をＭＰＥＧの規格に合わせて実現した場合の例を、実施の形態として詳細を説明する。
図２は、本実施の形態のシステム構成例を示す図である。エンコーダ装置１００とデコーダ装置２００とは、ネットワーク１０を介して接続されている。【００３６】
エンコーダ装置１００には、カメラ１１とマイク１２が接続されている。エンコーダ装置１００は、カメラ１１から入力された映像とマイク１２から入力された音とをデジタルデータに符号化する。エンコーダ装置１００は、符号化したビデオデータとオーディオデータとをストリーミングによってネットワーク１０経由でデコーダ装置２００に送信する。【００３７】
デコーダ装置２００には、テレビ１３が接続されている。デコーダ装置２００は、エンコーダ装置１００からストリーミングで送られたビデオデータとオーディオデータとを再生する。そして、デコーダ装置２００は、再生された映像をテレビ１３に表示させる。また、デコーダ装置２００は、再生された音声をテレビ１３のスピーカから出力させる。【００３８】
図３は、エンコーダ装置の内部構造を示すブロック図である。エンコーダ装置１００は、キャプチャ部１１０、ビデオ符号化部１２０、オーディオ符号化部１３０、多重化部１４０、およびネットワークインタフェース１５０を有している。【００３９】
キャプチャ部１１０には、カメラ１１からビデオ信号が入力されると共に、マイク１２からオーディオ信号が入力される。キャプチャ部１１０は、入力されたビデオ信号とオーディオ信号とをデジタルデータに変換（キャプチャ）する。そして、キャプチャ部１１０は、ビデオ信号から生成されたビデオデータをビデオ符号化部１２０に対して出力する。また、キャプチャ部１１０は、オーディオ信号から生成されたオーディオデータを１オーディオフレーム（オーディオ信号の所定のサンプリング数ごとにブロック化した再生単位）の分だけ内蔵のメモリに格納する。そして、キャプチャ部１１０は、１オーディオフレームのデータに区切られたオーディオデータをオーディオ符号化部１３０に対して出力する。【００４０】
ビデオ符号化部１２０は、キャプチャ部１１０からビデオデータを受け取る。また、ビデオ符号化部１２０は、多重化部１４０内のＳＴＣラッチ回路１４２に接続されており、ＳＴＣラッチ回路１４２からＳＴＣの値を取得する。ＳＴＣは、映像と音声を同期再生するための基準時間である。【００４１】
ビデオ符号化部１２０は、ＰＴＳ生成回路１２１を有している。ＰＴＳ生成回路１２１には、ＳＴＣが入力される。ＰＴＳ生成回路１２１は、取得したＳＴＣから出力時刻情報（ＰＴＳ）を生成する。具体的には、ＰＴＳは、キャプチャ時のＳＴＣカウンタ値にオフセットαを加算した値である。ここで、オフセットαは、ビデオデータの符号化によって生じる遅延時間の最大値である。オフセットαの値は、予めビデオ符号化部１２０の内部メモリに設定されている。【００４２】
そして、ビデオ符号化部１２０は、ＭＰＥＧやＨ．２６４符号化方式などで、ビデオデータの圧縮符号化を行う。さらに、ビデオ符号化部１２０は、符号化されたビデオストリーム（ＥＳ：Elementary Stream）とＰＴＳとを多重化部１４０に出力する。【００４３】
オーディオ符号化部１３０は、キャプチャ部１１０からオーディオデータを受け取る。また、オーディオ符号化部１３０は、多重化部１４０内のＳＴＣラッチ回路１４２に接続されており、ＳＴＣラッチ回路１４２からＳＴＣの値を取得する。【００４４】
オーディオ符号化部１３０は、ＰＴＳ生成回路１３１を有している。ＰＴＳ生成回路１３１には、ＳＴＣが入力される。ＰＴＳ生成回路１３１は、取得したＳＴＣからキャプチャ時刻（ＰＴＳ）を生成する。具体的には、ＰＴＳは、キャプチャ時のＳＴＣカウンタ値にオフセットβを加算した値である。ここで、オフセットβは、オーディオデータの符号化によって生じる遅延時間の最大値である。オフセットβの値は、予めオーディオ符号化部１３０の内部メモリに設定されている。【００４５】
そして、オーディオ符号化部１３０は、ＭＰＥＧ−１ＬａｙｅｒＩＩやＡＡＣ（Advanced Audio Coding）などで、オーディオデータの圧縮符号化を行う。さらに、オーディオ符号化部１３０は、音声の符号化されたオーディオストリーム（ＡＥＳ：Audio Elementary Stream）とＰＴＳとを多重化部１４０に出力する。【００４６】
多重化部１４０は、ビデオストリームおよびオーディオストリームの多重化を行う。具体的には、多重化部１４０は、ビデオストリームおよびオーディオストリームの各ストリームからＰＥＳ（Packetized Elementary Stream）への変換を行う。さらに、多重化部１４０は、多重化開始時刻を算出する。そして、多重化部１４０は、多重化開始時刻とＳＴＣカウンタ１４１の値とを比較する。多重化部１４０は、ＳＴＣが多重化開始時刻に到達する直前にＰＥＳをシステムストリームに変換し、システムストリームを出力する。【００４７】
また、多重化部１４０は、ＳＴＣカウンタ１４１とＳＴＣラッチ回路１４２とを有している。ＳＴＣカウンタ１４１は、基準時間を発生させる。ＳＴＣラッチ回路１４２は、カメラ１１から出力される垂同期信号（ＶＳＹＮＣ）が入力されている。ＶＳＹＮＣは、画面を切り換えるタイミングを制御する信号である。ＳＴＣラッチ回路１４２は、ＶＳＹＮＣのタイミングでＳＴＣカウンタ１４１の値をラッチ（保持）する。ＳＴＣラッチ回路１４２がラッチしたＳＴＣの値は、ビデオ符号化部１２０とオーディオ符号化部１３０とに送られる。【００４８】
ネットワークインタフェース１５０は、多重化部１４０から出力されたシステムストリームを、ネットワーク１０経由でデコーダ装置２００に送信する。
このようなエンコーダ装置１００によれば、カメラ１１から入力されたビデオ信号は、キャプチャ部１１０でキャプチャされる。キャプチャ部１１０では、１画面単位でビデオデータを内部メモリに格納する。そして、キャプチャ部１１０は、その画面データをビデオ符号化部１２０に出力する。【００４９】
また、マイク１２から入力されたオーディオ信号は、キャプチャ部１１０でキャプチャされる。キャプチャ部１１０は、１オーディオフレームごとのオーディオデータをメモリに格納する。そして、キャプチャ部１１０は、オーディオデータをオーディオ符号化部１３０に出力する。【００５０】
ビデオ符号化部１２０では、１ビデオフレーム分の画面データを受け取ったときのＳＴＣラッチ回路１４２の値（ＳＴＣ）を取得する。すると、ＰＴＳ生成回路１２１によって、ＳＴＣにオフセットαが加算され、ビデオＰＴＳが生成される。次に、ビデオ符号化部１２０は、１ビデオフレーム分の画面データおよびビデオＰＴＳを入力として、ＭＰＥＧやＨ．２６４符号化方式などで圧縮符号化を行う。生成される画像符号化データ（ビデオストリーム）は、複数のパケットで構成されるストリーミングデータである。ビデオＰＴＳは、ビデオパケットのヘッダ部に設定される。そして、ビデオ符号化部１２０は、画像符号化データ（ビデオストリーム）を多重化部１４０に出力する。【００５１】
オーディオ符号化部１３０では、１オーディオフレーム分のオーディオデータを受け取ったときのＳＴＣラッチ回路１４２の値（ＳＴＣ）を取得する。すると、ＰＴＳ生成回路１３１によって、ＳＴＣにオフセットβが加算され、オーディオＰＴＳが生成される。次に、オーディオ符号化部１３０は、１オーディオフレーム分のオーディオデータおよびオーディオＰＴＳを入力として、ＭＰＥＧ−１ＬａｙｅｒＩＩやＡＡＣなどで圧縮符号化を行う。生成される音声符号化データ（オーディオストリーム）は、複数のパケットで構成されるストリーミングデータである。オーディオＰＴＳは、オーディオパケットのヘッダ部に設定される。そして、オーディオ符号化部１３０は、音声符号化データ（オーディオストリーム）を多重化部１４０に出力する。【００５２】
多重化部１４０では、ビデオストリームおよびオーディオストリームの各ストリームが多重化され、ＰＥＳストリームに変換される。さらに、多重化部１４０では、多重化開始時刻が算出される（例えば、現在のＳＴＣカウンタ１４１の値にシステムストリームへの変換に要する時間分の数値を加算した値を多重化開始時刻とする）。多重化部１４０は、多重化開始時刻とＳＴＣカウンタ１４１の値とを比較し、ＳＴＣカウンタ１４１の値が多重化開始時刻に到達する直前にＰＥＳストリームをシステムストリームに変換し、システムストリーム出力を行う。【００５３】
システムストリームのヘッダには、ＳＴＣカウンタ１４１の値が時刻基準参照値として含められる。ここで、システムストリームが、ＭＰＥＧ−ＰＳ（Program Stream）であれば、システム時刻基準参照値（ＳＣＲ）が時刻基準参照値である。また、システムストリームがＭＰＥＧ−ＴＳ（Transport Stream）であれば、プログラム時刻基準参照値（ＰＣＲ）が時刻基準参照値である。時刻基準参照値は、デコーダ装置２００における基準時刻となるＳＴＣの値をセットするための情報である。【００５４】
多重化部１４０から出力されたシステムストリームは、ネットワークインタフェース１５０を介してデコーダ装置２００に送信される。
図４は、デコーダ装置の内部構造を示すブロック図である。デコーダ装置２００は、ネットワークインタフェース２１０、分離部２２０、ビデオ復号部２３０、オーディオ復号部２４０、ＰＴＳ制御部２５０、画像出力部２６０、および音声出力部２７０を有している。【００５５】
ネットワークインタフェース２１０は、エンコーダ装置１００から送信されたシステムストリームをネットワーク１０経由で受信する。そして、ネットワークインタフェース２１０は、受信したシステムストリームを分離部２２０に渡す。【００５６】
分離部２２０は、システムストリームを、ビデオストリームおよびオーディオストリームに分離する。具体的には、ストリーム分離部２２１が設けられている。ストリーム分離部２２１は、システムストリームのヘッダから時刻基準参照値を抽出し、ＳＴＣカウンタ２２２に渡す。さらに、ストリーム分離部２２１は、システムストリームをＰＥＳへ変換後、ＰＥＳに含まれるパケットを、ビデオパケットとオーディオパケットに分類する。さらに、ストリーム分離部２２１は、ビデオパケットからビデオストリームを生成し、オーディオパケットからオーディオストリームを生成する。そして、ストリーム分離部２２１は、ビデオストリームをビデオ復号部２３０に送信し、オーディオストリームをオーディオ復号部２４０に送信する。【００５７】
また、分離部２２０内のＳＴＣカウンタ２２２は、ストリーム分離部２２１から渡された時刻基準参照値を参照して、ＳＴＣを再現する。なお、時刻基準参照値を用いたＳＴＣの再現技術には、ＭＰＥＧなどの各規格で決められた技術が用いられる。【００５８】
さらに、分離部２２０には、ＳＴＣラッチ回路２２３が設けられている。ＳＴＣラッチ回路２２３には、画像出力部２６０からＶＳＹＮＣが入力されている。そして、ＳＴＣラッチ回路２２３は、ＶＳＹＮＣのタイミングでＳＴＣカウンタ２２２の値をラッチ（保持）する。ＳＴＣラッチ回路２２３がラッチしたＳＴＣの値は、ＰＴＳ制御部２５０、画像出力部２６０、および音声出力部２７０に送られる。【００５９】
ビデオ復号部２３０は、画像の符号化データ（ビデオストリーム）を受け取ると、ビデオストリームを復号し、ビデオデータを再生する。ビデオ復号部２３０は、再生したビデオデータを画像出力部２６０に送信する。送信する１ビデオストリームごとのビデオデータには、その画像の出力時を示すビデオＰＴＳが付与される。また、ビデオ復号部２３０は、ＰＴＳ抽出部２３１を有している。ＰＴＳ抽出部２３１は、ビデオストリームのヘッダから最初のビデオＰＴＳ（ビデオ先頭ＰＴＳ）を抽出し、ＰＴＳ制御部２５０に渡す。なお、ビデオ復号部２３０は、ビデオ先頭ＰＴＳに限らず、ビデオストリームから順次抽出されるビデオＰＴＳを全てＰＴＳ制御部２５０に渡すようにしてもよい。【００６０】
オーディオ復号部２４０は、音声の符号化データ（オーディオストリーム）を受け取ると、オーディオストリームを復号し、オーディオデータを再生する。また、オーディオ復号部２４０は、ＰＴＳ抽出部２４１を有している。ＰＴＳ抽出部２４１は、オーディオストリームのヘッダから最初のオーディオＰＴＳ（オーディオ先頭ＰＴＳ）を抽出し、ＰＴＳ制御部２５０に渡す。なお、オーディオ復号部２４０は、オーディオ先頭ＰＴＳに限らず、オーディオストリームから順次抽出されるオーディオＰＴＳを全てＰＴＳ制御部２５０に渡すようにしてもよい。オーディオ復号部２４０には、ＰＴＳ制御部２５０から、ビデオデータの各ビデオＰＴＳとＶＳＹＮＣが出力されるＳＴＣとの差分値が入力される。【００６１】
オーディオ復号部２４０は、オーディオストリームヘッダから抽出したオーディオＰＴＳに、ＰＴＳ制御部２５０から受け取った差分値を加減算して、１オーディオフレームごとのオーディオデータのオーディオＰＴＳとする。そして、オーディオ復号部２４０は、差分値によって補正されたオーディオＰＴＳを１オーディオフレームごとのオーディオデータに付与し、そのオーディオデータを音声出力部２７０に送信する。【００６２】
ＰＴＳ制御部２５０は、ビデオ復号部２３０とオーディオ復号部２４０とのそれぞれからビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとを受け取り、取得したＰＴＳに基づいて画像と音声との出力タイミングを制御する。具体的には、ＰＴＳ制御部２５０には、ＳＴＣラッチ回路２２３にラッチされたＳＴＣが入力されている。ＰＴＳ制御部２５０は、ビデオデータの最初のビデオフレームのビデオ先頭ＰＴＳとＶＳＹＮＣが出力されるときのＳＴＣとの差分値を計算する。そして、ＰＴＳ制御部２５０は、計算した差分値をオーディオ復号部２４０に渡す。【００６３】
また、ＰＴＳ制御部２５０は、ビデオ復号部２３０から入力されたビデオ先頭ＰＴＳとオーディオ復号部２４０とから入力されたオーディオ先頭ＰＴＳとを比較し、ビデオデータとオーディオデータとの出力開始時を判断する。そして、ＰＴＳ制御部２５０は、画像出力開始時を示すＰＴＳ（画像出力開始ＰＴＳ）を画像出力部２６０に送信すると共に、音声出力開始時を示すＰＴＳ（音声出力開始ＰＴＳ）を音声出力部２７０に送信する。【００６４】
さらに、ＰＴＳ制御部２５０は、ビデオ復号部２３０とオーディオ復号部２４０とのいずれか一方からＰＴＳ（ビデオ先頭ＰＴＳまたはオーディオ先頭ＰＴＳ）が入力されると、タイマによる時間計測を開始する。他方のＰＴＳが所定の時間内に入力されなかった場合（タイムアウト発生）、ＰＴＳ制御部２５０は、ビデオデータまたはオーディオデータのみのストリーミングと判断する。ビデオ復号部２３０からビデオ先頭ＰＴＳが入力された後、所定期間内にオーディオ復号部２４０からオーディオ先頭ＰＴＳが入力されなかった場合、画像出力部２６０に対してのみ、画像出力開始ＰＴＳを送信する。また、オーディオ復号部２４０からオーディオ先頭ＰＴＳが入力された後、所定期間内にビデオ復号部２３０からビデオ先頭ＰＴＳが入力されなかった場合、音声出力部２７０に対してのみ音声出力開始ＰＴＳを送信する。【００６５】
画像出力部２６０は、ビデオ復号部２３０から入力されたビデオデータをテレビ１３のモニタ１３ａに表示する。なお、１ビデオフレームごとの画面の切り換えは、ＶＳＹＮＣのタイミングで行われる。ＶＳＹＮＣは、画像出力部２６０内の回路から所定周期で発信されている。また、ＶＳＹＮＣは、分離部２２０内のＳＴＣラッチ回路２２３に対して出力されている。【００６６】
なお、画像出力部２６０は、１ビデオフレームごとのビデオデータを蓄える画像バッファ２６１を有している。画像出力部２６０は、ビデオ復号部２３０から受け取ったビデオデータを一時的に画像バッファ２６１に蓄積する。そして、画像出力部２６０は、ＰＴＳ制御部２５０から画像出力開始ＰＴＳを受け取ると、画像出力開始ＰＴＳより小さい値のＰＴＳが付与されたビデオデータを無効データとする。【００６７】
さらに、画像出力部２６０にはＳＴＣラッチ回路２２３からＳＴＣが入力されている。そして、画像出力部２６０は、画像出力開始ＰＴＳ以降のＰＴＳが付与されたビデオデータを、付与されたＰＴＳの値とＳＴＣの値とが一致するタイミングでモニタ１３ａに表示する。なお、無効とされたビデオデータと、表示が終了したビデオデータとは、画像バッファ２６１から削除される。【００６８】
音声出力部２７０は、オーディオ復号部２４０から入力されたオーディオデータで示される音をテレビ１３のスピーカ１３ｂから出力する。なお、音声出力部２７０は、１オーディオフレームごとのオーディオデータを蓄える音声バッファ２７１を有している。音声出力部２７０は、オーディオ復号部２４０から受け取ったオーディオデータを一時的に音声バッファ２７１に蓄積する。そして、音声出力部２７０は、ＰＴＳ制御部２５０から音声出力開始ＰＴＳを受け取ると、音声出力開始ＰＴＳより小さい値のＰＴＳが付与されたオーディオデータを無効データとする。【００６９】
さらに、音声出力部２７０にはＳＴＣラッチ回路２２３からＳＴＣが入力されている。そして、音声出力部２７０は、音声出力開始ＰＴＳ以降のＰＴＳが付与されたオーディオデータを、付与されたＰＴＳの値とＳＴＣの値とが一致するタイミングで音声信号に変換し、スピーカ１３ｂに出力する。なお、無効とされたオーディオデータと、出力が終了したオーディオデータとは、音声バッファ２７１から削除される。【００７０】
このようなデコーダ装置２００によれば、ネットワークインタフェース２１０によって、エンコーダ装置１００が送信したシステムストリームが受信される。受信したシステムストリームは、分離部２２０に送られる。入力されたシステムストリームは、分離部２２０にてＰＥＳストリームに変換後、ビデオストリームおよびオーディオストリームに変換される。ビデオストリームは、ビデオ復号部２３０に出力され、オーディオストリームは、オーディオ復号部２４０に出力される。【００７１】
また、分離部２２０においてシステムストリームから時刻基準参照値（ＰＣＲまたはＳＣＲ）が抽出され、ＳＴＣ再生が行われる。再生されたＳＴＣは、ＳＴＣカウンタ２２２にセットされる。ＳＴＣカウンタ２２２の値は、ＶＳＹＮＣ信号入力のタイミングで、ＳＴＣラッチ回路２２３にラッチされる。ラッチされたＳＴＣの値は、ＰＴＳ制御部２５０、画像出力部２６０、および音声出力部２７０に出力される。【００７２】
ビデオストリームは、ビデオ復号部２３０において復号される。復号されたビデオデータは、１ビデオフレームごとにＰＴＳが付与され、画像出力部２６０に送られる。また、ビデオ復号部２３０のＰＴＳ抽出部２３１では、ビデオストリームのパケットヘッダからビデオ先頭ＰＴＳが抽出される。抽出されたビデオ先頭ＰＴＳは、ＰＴＳ制御部２５０に送られる。【００７３】
ＰＴＳ制御部２５０では、ビデオ先頭ＰＴＳとＶＳＹＮＣ出力時のＳＴＣとの差分値が計算される。計算された差分値は、オーディオ復号部２４０に送られる。
オーディオストリームは、オーディオ復号部２４０において復号される。復号されたオーディオデータは、１オーディオフレームごとにオーディオＰＴＳが付与される。その際、各オーディオフレームのオーディオＰＴＳは、ＰＴＳ制御部２５０から入力された差分値だけ加減算される。そして、差分値による補正後のＰＴＳが付与されたオーディオフレームごとのオーディオデータが音声出力部２７０に送られる。また、オーディオ復号部２４０のＰＴＳ抽出部２４１では、オーディオストリームのパケットヘッダからオーディオ先頭ＰＴＳが抽出される。抽出されたオーディオ先頭ＰＴＳは、ＰＴＳ制御部２５０に送られる。【００７４】
ＰＴＳ制御部２５０では、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとのいずれか一方が入力されると、カウンタによる時間計測を開始する。そして、予め指定された時間内に他方のＰＴＳが入力されれば、ＰＴＳ制御部２５０において、画像と音声との同時出力制御が行われる。また、一方のＰＴＳ入力後の所定の時間内に他方のＰＴＳが入力されなければ、ＰＴＳ制御部２５０において、画像または音声のいずれか一方のみの出力制御が行われる。【００７５】
同時出力制御では、ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとのうち大きい方の値に出力開始時刻を合わせる。このとき、ビデオ先頭ＰＴＳの値の方が大きければ、ビデオ先頭ＰＴＳの値がビデオ出力開始ＰＴＳおよびオーディオ出力開始ＰＴＳとされる。また、オーディオ先頭ＰＴＳの値の方が大きければ、オーディオ先頭ＰＴＳより大きなビデオＰＴＳのうちの最小値が、ビデオ出力開始ＰＴＳおよびオーディオ出力開始ＰＴＳとされる。そして、ＰＴＳ制御部２５０から画像出力部２６０にビデオ出力開始ＰＴＳが送信され、音声出力部２７０にオーディオ出力開始ＰＴＳが送信される。【００７６】
なお、ＰＴＳ制御部２５０では、ビデオ復号部２３０から順次ビデオＰＴＳが入力されていれば、そのビデオＰＴＳの値に基づいてオーディオ先頭ＰＴＳより大きなビデオＰＴＳのうちの最小値を判断することができる。ビデオ復号部２３０からビデオ先頭ＰＴＳしか入力されていない場合、ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳの値に対して１フレーム分のＰＴＳ数を順次加算した値を計算することで、後続のビデオＰＴＳの値を求める。そして、ＰＴＳ制御部２５０は、算出したビデオＰＴＳに基づいて、オーディオ先頭ＰＴＳより大きなビデオＰＴＳのうちの最小値を判断することができる。【００７７】
画像出力部２６０では、ビデオ復号部２３０から受け取ったビデオデータが、画像バッファ２６１に格納される。画像出力部２６０では、ＰＴＳ制御部２５０から入力されたビデオ出力開始ＰＴＳより後のＰＴＳが付与されたビデオデータからモニタ１３ａへの出力を開始する。それ以前のＰＴＳが付与されたビデオデータは、画像バッファ２６１から削除される。ビデオデータを出力する際には、ＳＴＣラッチ回路２２３から入力されるＳＴＣに基づいて、次のＶＳＹＮＣのタイミングで出力するＰＴＳの値の範囲が判断される。そして、出力するタイミングとなったＰＴＳが付与されたビデオデータが、ＶＳＹＮＣと同期してモニタ１３ａに出力される。【００７８】
音声出力部２７０では、オーディオ復号部２４０から受け取ったオーディオデータが、音声バッファ２７１に格納される。音声出力部２７０では、ＰＴＳ制御部２５０から入力されたオーディオ出力開始ＰＴＳより前のオーディオデータが無効なデータ（例えば、無音となるようなデータ）に変換される。そして、ＳＴＣラッチ回路２２３から入力されるＳＴＣの値に応じたＰＴＳの出力範囲に該当するＰＴＳが付与されたオーディオデータが音声信号に変換され、スピーカ１３ｂに出力される。【００７９】
このようにして、画像出力と音声出力とを極めて正確に同期させることができる。すなわち、画像はＶＳＹＮＣに同期して表示させる必要があるため、ＶＳＹＮＣの出力時刻とＰＴＳとＳＴＣとが一致する時刻との差分に応じた誤差が生じる。そこで、ビデオデータに付与するＰＴＳに、ビデオデータのＰＴＳとＶＳＹＮＣが出力される時刻のＳＴＣとの差分値を加減算することで、オーディオデータについてもＶＳＹＮＣに同期させることができる。その結果、画像と音声とを正確に同期させて出力することができる。【００８０】
なお、図４の例では、ＳＴＣラッチ回路２２３が分離部２２０内に設けられているが、ＳＴＣラッチ回路２２３は、ＰＴＳ制御部２５０内に設けることもできる。ＳＴＣラッチ回路２２３がＰＴＳ制御部２５０内に設けられた場合、ＳＴＣカウンタ２２２の値をＰＴＳ制御部２５０に入力すると共に、画像出力部２６０からＰＴＳ制御部２５０へＶＳＹＮＣを入力する必要がある。また、画像出力部２６０と音声出力部２７０とへのＳＴＣの供給は、ＰＴＳ制御部２５０に設けられたＳＴＣラッチ回路から行われる。【００８１】
ここで、ＶＳＹＮＣが出力されたタイミングで表示可能なＰＴＳの範囲について説明する。
図５は、ビデオ出力における表示フレームの有効範囲を示す図である。図５には、上から順に、ビデオフレームのＰＴＳ値、ビデオ表示タイミング、ＶＳＹＮＣ出力時のＳＴＣ値、およびＶＳＹＮＣ出力タイミングが時系列で示されている。【００８２】
ビデオ側で用いられるＶＳＹＮＣに同期したビデオフレームの表示において、あるＶＳＹＮＣのＳＴＣ値に対して表示可能なビデオフレームは、あるＳＴＣを基準にして、そのＳＴＣの時刻を含む１フレーム時間の時間帯に存在するビデオフレームである（なお、これは一例であって、１フレーム時間が重複しないように範囲が決めてあればよい）。【００８３】
例えば、図５の例に示すように、１ビデオフレーム進むごとのＰＴＳの値の増加が３００３の場合、ＳＴＣ：９００３の時の表示可能なビデオフレームは、ビデオＰＴＳの値が７５０２〜１０５０４のビデオフレームである。【００８４】
なお、１ビデオフレーム進むごとのＰＴＳの値の増加は、フレームレートによって決定される。フレームレートは、画像の放送方式によって決められている。ビデオのフレームレートが５９．９４Ｈｚ（ＮＴＳＣ）および５０Ｈｚ（ＰＡＬ：Phase Alternation by Line）時の１ビデオフレーム分のＰＴＳ値はそれぞれ以下の通りである。
・フレームレートが５９．９４Ｈｚ（ＮＴＳＣ）のとき、１ビデオフレーム分のＰＴＳ値（９０ＫＨｚ換算）は３００３である。
・フレームレートが５０Ｈｚ（ＰＡＬ）のとき、１ビデオフレーム分のＰＴＳ値（９０ＫＨｚ換算）は３６００である。【００８５】
よって、あるＳＴＣ値（Ｔ）における表示可能なＰＴＳの範囲は以下のようになる。
・フレームレートが５９．９４Ｈｚの場合
Ｔ−１５０１  ≦  ＰＴＳ  ＜  Ｔ＋１５０２
・フレームレートが５０Ｈｚの場合
Ｔ−１８００  ≦  ＰＴＳ  ＜  Ｔ＋１８００
例えば、図５ではＰＴＳが７５０２〜１０５０４の範囲内にあるビデオフレームは、ＳＴＣ値が９００３のときに表示可能である。また、ＰＴＳが１０５０５〜１３５０７の範囲内にあるビデオフレームは、ＳＴＣ値が１２００６のときに表示可能である。【００８６】
次に、ＰＴＳ制御部２５０が実行する処理の手順を説明する。
図６は、ＰＴＳ制御装置の処理手順を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。【００８７】
［ステップＳ１１］ＰＴＳ制御部２５０は、ビデオ復号部２３０またはオーディオ復号部２４０のいずれかからＰＴＳが入力されたか否かを判断する。ＰＴＳが入力されたら処理がステップＳ１２に進められる。ＰＴＳが入力されていない場合、ステップＳ１１の処理が繰り返される。【００８８】
［ステップＳ１２］ＰＴＳ制御部２５０は、入力されたＰＴＳがビデオ復号部２３０からのビデオ先頭ＰＴＳなのか、あるいはオーディオ復号部２４０からのオーディオ先頭ＰＴＳなのかを判断する。ビデオ先頭ＰＴＳが入力された場合、処理がステップＳ１３に進められる。オーディオ先頭ＰＴＳが入力された場合、処理がステップＳ１８に進められる。【００８９】
［ステップＳ１３」ビデオ先頭ＰＴＳが入力されると、ＰＴＳ制御部２５０は、タイマによる時間計測をスタートする。
［ステップＳ１４］ＰＴＳ制御部２５０は、オーディオ復号部２４０からオーディオ先頭ＰＴＳが入力されたか否かを判断する。オーディオ先頭ＰＴＳが入力された場合、処理がステップＳ２３に進められる。オーディオ先頭ＰＴＳが入力されていない場合、処理がステップＳ１５に進められる。【００９０】
［ステップＳ１５］ＰＴＳ制御部２５０は、オーディオ先頭ＰＴＳ待ち時間がタイムアウトとなったか否かを判断する。具体的には、ＰＴＳ制御部２５０内のメモリには、オーディオ先頭ＰＴＳ待ち時間が予め設定されている。そして、ＰＴＳ制御部２５０は、タイマにより計測された時間がオーディオ先頭ＰＴＳ待ち時間を超えた場合、タイムアウトと判断する。タイムアウトとなった場合、処理がステップＳ１６に進められる。タイムアウトとなっていない場合、処理がステップＳ１４に進められオーディオ先頭ＰＴＳが入力されるのを待つ。【００９１】
［ステップＳ１６］タイムアウトとなると、ＰＴＳ制御部２５０は、ＳＴＣラッチ回路２２３にラッチされたＳＴＣを受信する。
［ステップＳ１７］ＰＴＳ制御部２５０は、画像出力部２６０に対して、ビデオストリーム（ＥＳ）のＳＴＣ同期出力の開始を指示する。具体的には、ＰＴＳ制御部２５０は、ステップＳ１６で受信したＳＴＣをビデオ出力開始ＰＴＳとして、画像出力部２６０に対して出力する。すると、画像出力部２６０では、ビデオ出力開始ＰＴＳ以降のＰＴＳが付与された画像データが、ＳＴＣに同期して順次出力される。その後、ＰＴＳ制御部２５０の処理が終了する。【００９２】
［ステップＳ１８］オーディオ先頭ＰＴＳが入力されると、ＰＴＳ制御部２５０は、タイマによる時間計測をスタートする。
［ステップＳ１９］ＰＴＳ制御部２５０は、ビデオ復号部２３０からビデオ先頭ＰＴＳが入力されたか否かを判断する。ビデオ先頭ＰＴＳが入力された場合、処理がステップＳ２３に進められる。ビデオ先頭ＰＴＳが入力されていない場合、処理がステップＳ２０に進められる。【００９３】
［ステップＳ２０］ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳ待ち時間がタイムアウトとなったか否かを判断する。具体的には、ＰＴＳ制御部２５０内のメモリには、ビデオ先頭ＰＴＳ待ち時間が予め設定されている。そして、ＰＴＳ制御部２５０は、タイマにより計測された時間がビデオ先頭ＰＴＳ待ち時間を超えた場合、タイムアウトと判断する。タイムアウトとなった場合、処理がステップＳ２１に進められる。タイムアウトとなっていない場合、処理がステップＳ１９に進められビデオ先頭ＰＴＳが入力されるのを待つ。【００９４】
［ステップＳ２１］タイムアウトとなると、ＰＴＳ制御部２５０は、ＳＴＣラッチ回路２２３にラッチされたＳＴＣを受信する。
［ステップＳ２２］ＰＴＳ制御部２５０は、音声出力部２７０に対して、オーディオストリーム（ＡＥＳ）のＳＴＣ同期出力の開始を指示する。具体的には、ＰＴＳ制御部２５０は、ステップＳ２１で受信したＳＴＣをオーディオ出力開始ＰＴＳとして、音声出力部２７０に対して出力する。すると、音声出力部２７０では、オーディオ出力開始ＰＴＳ以降のＰＴＳが付与された音声データが、ＳＴＣに同期して順次出力される。その後、ＰＴＳ制御部２５０の処理が終了する。【００９５】
［ステップＳ２３］ＰＴＳ制御部２５０は、ＳＴＣラッチ回路２２３にラッチされたＳＴＣを受信する。
［ステップＳ２４］ＰＴＳ制御部２５０は、出力開始時のＰＴＳを取得する。具体的には、ＰＴＳ制御部２５０は、ビデオ復号部２３０から入力されたビデオ先頭ＰＴＳと、ステップＳ２３で取得したＳＴＣとを比較する。次に、ＰＴＳ制御部２５０は、取得したＳＴＣに応じた表示可能なＰＴＳ範囲を判断する（図５参照）。ここで、１ビデオフレーム進むごとのＰＴＳの値の増加数はフレームレートに応じて決まっている。そのため、ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳに基づいて、ビデオ先頭ＰＴＳ以降の各ビデオフレームのビデオＰＴＳの値を算出できる。そこで、ＰＴＳ制御部２５０は、ビデオ復号部２３０から出力される１ビデオフレームごとの画像データのＰＴＳの中で、ステップＳ２３で取得したＳＴＣで表示可能なＰＴＳ範囲に含まれるＰＴＳを判断する。そして、ＰＴＳ制御部２５０は、表示可能なＰＴＳを出力開始時のビデオＰＴＳ（ビデオ出力開始ＰＴＳ）とする。【００９６】
［ステップＳ２５］ＰＴＳ制御部２５０は、ステップＳ２３で取得したＳＴＣと、ビデオ出力開始ＰＴＳとの差分値を計算する。例えば、取得したＳＴＣの値から、出力開始時のＰＴＳの値が減算される。図５に示したように、ＳＴＣに応じて表示可能なＰＴＳは、該当するＳＴＣよりも値が大きい場合と小さい場合とがある。ＳＴＣよりもＰＴＳの方が大きければ、減算結果（差分値）は負の数となる。ＳＴＣよりもＰＴＳの方が小さければ、減算結果（差分値）は正の数となる。算出された差分値、オーディオ復号部２４０に渡される。これにより、オーディオ復号部２４０では、オーディオフレームの各ＰＴＳに差分値を加算（実質的には差分値の正負に応じた加減算）することで、ビデオとのフレームの表示誤差を補正することができる。【００９７】
［ステップＳ２６］ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとを比較する。ビデオ先頭ＰＴＳの方が大きければ、処理がステップＳ２７に進められる。ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとの値が同じであれば、処理がステップＳ２８に進められる。オーディオ先頭ＰＴＳの方が大きければ、処理がステップＳ２９に進められる。【００９８】
［ステップＳ２７］ビデオ先頭ＰＴＳの方が大きい場合、ＰＴＳ制御部２５０は、ビデオＰＴＳに合わせた映像・音声の同時出力開始を指示する。具体的には、ＰＴＳ制御部２５０は、ビデオ出力開始ＰＴＳを画像出力部２６０に対して送信すると共に、ビデオ出力開始ＰＴＳと同じ値のオーディオ出力開始ＰＴＳを音声出力部２７０に対して出力する。すると、音声出力部２７０では、オーディオストリーム（ＡＥＳ）の先頭のオーディオフレームからオーディオ出力開始ＰＴＳで示される時刻以前の音声データは、無効データに書き換えられる。その結果、映像と音声とが同時に出力開始される。その後、ＰＴＳ制御部２５０の処理が終了する。【００９９】
［ステップＳ２８］ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとの値が同じ場合、ＰＴＳ制御部２５０は、映像・音声の同時出力開始を指示する。具体的には、ＰＴＳ制御部２５０は、ビデオ出力開始ＰＴＳを画像出力部２６０に対して送信すると共に、ビデオ出力開始ＰＴＳと同じ値のオーディオ出力開始ＰＴＳを音声出力部２７０に対して出力する。すると、画像出力部２６０と音声出力部２７０とは、共にストリームの先頭のフレームから出力を開始する。その後、ＰＴＳ制御部２５０の処理が終了する。【０１００】
［ステップＳ２９］オーディオ先頭ＰＴＳの方が大きい場合、ＰＴＳ制御部２５０は、オーディオＰＴＳに合わせた映像・音声の同時出力開始を指示する。具体的には、ＰＴＳ制御部２５０は、オーディオ先頭ＰＴＳより大きなビデオＰＴＳのうちの最小の値を判断し、そのビデオＰＴＳの値をビデオ出力開始ＰＴＳとして画像出力部２６０に対して送信すると共に、そのビデオＰＴＳの値をオーディオ出力開始ＰＴＳとして音声出力部２７０に対して出力する。すると、画像出力部２６０では、ビデオストリーム（ＥＳ）の先頭のビデオフレームからビデオ出力開始ＰＴＳより前のＰＴＳが付与されたビデオフレームまでは、無効データに書き換えられる。そして、画像出力部２６０によって、ビデオ出力開始ＰＴＳ以降のビデオフレームによる映像が出力される。【０１０１】
また、音声出力部２７０では、オーディオ先頭ＰＴＳが付されたオーディオフレーム（オーディオストリームの先頭のオーディオフレーム）から音声出力を開始する。ただし、音声出力部２７０は、オーディオ出力開始ＰＴＳで示された時刻以前の音声データを無効データに書き換える。すなわち、ビデオの１ビデオフレーム分の時間と、オーディオフレームの１オーディオフレーム分の時間とは一致しないため、ビデオとオーディオが同時にサンプリング開始されていない（ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとが不一致）場合、オーディオ先頭ＰＴＳはビデオＰＴＳとずれてしまう。そこで、音声出力部２７０では、オーディオ先頭ＰＴＳからオーディオ出力開始ＰＴＳ（オーディオ先頭ＰＴＳ以後の最初のビデオＰＴＳと同じ）までの時間は、無効データ（無音のデータ）に置き換えることで音声出力の開始を遅らせる。その結果、映像と音声とが同時に出力開始される。その後、ＰＴＳ制御部２５０の処理が終了する。【０１０２】
なお、オーディオ先頭ＰＴＳの方が大きい場合、ビデオ先出し出力制御を行うこともできる。その場合、ＰＴＳ制御部２５０は、ビデオ先頭ＰＴＳの値をビデオ出力開始ＰＴＳとして画像出力部２６０に対して送信する。また、ＰＴＳ制御部２５０は、オーディオ先頭ＰＴＳの値をオーディオ出力開始ＰＴＳとして音声出力部２７０に対して送信する。すると、画像出力部２６０による映像出力の方が、音声出力部２７０による音声出力よりも先に開始される。【０１０３】
次に、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳが同じ場合に、画像と音声とを正確に同期させた出力例をタイミングチャートを用いて説明する。
図７は、エンコーダ装置によるエンコード処理を示すタイミングチャートである。図７には、上から順に、ビデオデータ、オーディオデータ、ＳＴＣ、ビデオストリーム（ＥＳ）、およびオーディオストリーム（ＡＥＳ）の時間遷移が示されている。【０１０４】
ビデオデータの時間遷移としては、ビデオ符号化部１２０に入力される１ビデオフレームごとのビデオデータが示されている。オーディオデータの時間遷移としては、オーディオ符号化部１３０に入力される１オーディオフレームごとのオーディオデータが示されている。ＳＴＣの時間遷移としては、ビデオ符号化部１２０またはオーディオ符号化部１３０がＳＴＣラッチ回路１４２から取得したＳＴＣの値が示されている。【０１０５】
ビデオストリームの時間遷移としては、ビデオ符号化部１２０から出力されるビデオパケットの遷移が示されている。また、ビデオパケットの出力開始時刻の位置に、そのビデオパケットのパケットヘッダに付与されるビデオＰＴＳの値が示されている。【０１０６】
オーディオストリームの時間遷移としては、オーディオ符号化部１３０から出力されるオーディオパケットの遷移が示されている。また、オーディオパケットの出力開始時刻の位置に、そのオーディオパケットのパケットヘッダに付与されるオーディオＰＴＳの値が示されている。【０１０７】
図７の例では、ビデオデータとオーディオデータとが同時にエンコーダ装置１００に入力開始されている。ビデオデータの１ビデオフレーム分の時間は「Ｔ＿Ｖｉｄｅｏ」で示されている。「Ｔ＿Ｖｉｄｅｏ」の時間周期で、１ビデオフレーム分のビデオデータ（Ｖｉｄｅｏ１，Ｖｉｄｅｏ２，・・・）が順次ビデオ符号化部１２０に入力されている。【０１０８】
オーディオデータの１オーディオフレーム分の時間は「Ｔ＿Ａｕｄｉｏ」で示されている。「Ｔ＿Ａｕｄｉｏ」の時間周期で、１オーディオフレーム分のオーディオデータ（Ａｕｄｉｏ１，Ａｕｄｉｏ２，・・・）が順次オーディオ符号化部１３０に入力されている。【０１０９】
ビデオ符号化部１２０で符号化データが生成されると、ビデオストリームが出力される。ビデオストリームは、１ビデオフレーム分のビデオパケット群（ＶｉｄｅｏＡＵ１，ＶｉｄｅｏＡＵ２，・・・）に分離できる。図７の例では、最初のビデオフレームのビデオパケット群「ＶｉｄｅｏＡＵ１」の出力開始時のＳＴＣの値は「ＳＴＣ＿Ｖｉｄｅｏ１」である。２つめのビデオフレームのビデオパケット群「ＶｉｄｅｏＡＵ２」の出力開始時のＳＴＣの値は「ＳＴＣ＿Ｖｉｄｅｏ２」である。【０１１０】
各ビデオフレームを構成するビデオパケット群（ＶｉｄｅｏＡＵ１，ＶｉｄｅｏＡＵ２，・・・）の先頭のビデオパケットのパケットヘッダには、ビデオＰＴＳが設定される。最初のビデオフレームのビデオパケット群（ＶｉｄｅｏＡＵ１）の先頭のビデオパケットには、そのビデオフレームのビデオＰＴＳ（ＰＴＳ＿Ｖ１）が設定される。ＰＴＳ＿Ｖ１の値は、ビデオパケット出力時のＳＴＣの値（ＳＴＣ＿Ｖｉｄｅｏ１）に所定の符号化遅延時間の最大値αを加算した値である。２つ目のビデオフレームのビデオパケット群（ＶｉｄｅｏＡＵ２）の先頭のビデオパケットには、そのビデオフレームのビデオＰＴＳ（ＰＴＳ＿Ｖ２）が設定される。「ＰＴＳ＿Ｖ２」の値は、直前のビデオフレームのビデオＰＴＳの値「ＰＴＳ＿Ｖ１」に、１ビデオフレーム分の時間「Ｔ＿Ｖｉｄｅｏ」を加算した値である。【０１１１】
オーディオ符号化部１３０で符号化データが生成されると、オーディオストリームが出力される。オーディオストリームは、１オーディオフレーム分のオーディオパケット群（ＡｕｄｉｏＡＵ１，ＡｕｄｉｏＡＵ２，・・・）に分離できる。図７の例では、最初のオーディオフレームのオーディオパケット群「ＡｕｄｉｏＡＵ１」の出力開始時のＳＴＣの値は「ＳＴＣ＿Ａｕｄｉｏ１」である。２つ目のオーディオフレームのオーディオパケット群「ＡｕｄｉｏＡＵ２」の出力開始時のＳＴＣの値は「ＳＴＣ＿Ａｕｄｉｏ２」である。【０１１２】
各オーディオフレームを構成するオーディオパケット群（ＡｕｄｉｏＡＵ１，ＡｕｄｉｏＡＵ２，・・・）の先頭のオーディオパケットのパケットヘッダには、オーディオＰＴＳが設定される。最初のオーディオフレームのオーディオパケット群（ＡｕｄｉｏＡＵ１）の先頭のオーディオパケットには、そのオーディオフレームのオーディオＰＴＳ（ＰＴＳ＿Ａ１）が設定される。ＰＴＳ＿Ａ１の値は、オーディオパケット出力時のＳＴＣの値（ＳＴＣ＿Ａｕｄｉｏ１）に所定の符号化遅延時間の最大値βを加算した値である。２つ目のオーディオフレームのオーディオパケット群（ＡｕｄｉｏＡＵ２）の先頭のオーディオパケットには、そのオーディオフレームのオーディオＰＴＳ（ＰＴＳ＿Ａ２）が設定される。「ＰＴＳ＿Ａ２」の値は、直前のオーディオフレームのオーディオＰＴＳの値「ＰＴＳ＿Ａ１」に、１オーディオフレーム分の時間「Ｔ＿Ａｕｄｉｏ」を加算した値である。【０１１３】
次に、デコード処理の手順を説明する。
図８は、デコーダ装置によるデコード処理を示すタイミングチャートである。図８には、上から順に、ビデオストリーム、オーディオストリーム、ＳＴＣ、ＶＳＹＮＣ（垂直同期信号）、ビデオデータ、およびオーディオデータの時間遷移が示されている。【０１１４】
ビデオストリームの時間遷移としては、ビデオ復号部２３０に入力されるビデオストリームのビデオパケットの遷移が示されている。ビデオパケットは、１ビデオフレームごとの集合（ビデオパケット群）に分けて示されている。また、括弧書きで、そのビデオパケット群の先頭のビデオパケットに付与されたビデオＰＴＳが示されている。【０１１５】
オーディオストリームの時間遷移としては、オーディオ復号部２４０に入力されるオーディオストリームのオーディオパケットの遷移が示されている。オーディオパケットは、１オーディオフレームごとの集合（オーディオパケット群）に分けて示されている。また、括弧書きで、そのオーディオパケット群の先頭のオーディオパケットに付与されたオーディオＰＴＳが示されている。【０１１６】
ＳＴＣの時間遷移としては、ビデオ復号部２３０またはオーディオ復号部２４０がＳＴＣラッチ回路２２３から取得したＳＴＣの値が示されている。ＶＳＹＮＣの時間遷移では、画像出力部２６０で発生するＶＳＹＮＣの出力時刻が矢印で示されている。ビデオデータの時間遷移としては、画像出力部２６０に入力される１ビデオフレームごとのビデオデータが示されている。オーディオデータの時間遷移としては、音声出力部２７０に入力される１オーディオフレームごとのオーディオデータが示されている。【０１１７】
この例では、ビデオストリームがオーディオストリームより先に入力されている。ビデオストリームでは、まず、ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）が付与されたビデオパケット（ＶｉｄｅｏＡＵ１）が入力されている。その後、後続のビデオパケット（ＶｉｄｅｏＡＵ２）が入力されている。ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）には、予め符号化遅延時間の最大値αが加算されている。そのため、ビデオパケットで示されるビデオフレームの画像が表示されるのは、そのビデオパケットの入力からビデオＰＴＳのカウント数「α」に応じた時間経過後である。【０１１８】
オーディオストリームでは、まず、オーディオ先頭ＰＴＳ（ＰＴＳ＿Ａ１）が付与されたオーディオパケット（ＡｕｄｉｏＡＵ１）が入力されている。その後、後続のオーディオパケット（ＡｕｄｉｏＡＵ２）が入力されている。オーディオ先頭ＰＴＳ（ＰＴＳ＿Ａ１）には、予め符号化遅延時間の最大値βが加算されている。そのため、オーディオパケットで示されるオーディオフレームの音声が出力されるのは、そのオーディオパケットの入力からオーディオＰＴＳのカウント数「β」に応じた時間経過後である。そして、「α」と「β」との値の調整により、ビデオとオーディオのキャプチャ開始が同時であれば、ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）とオーディオ先頭ＰＴＳ（ＰＴＳ＿Ａ１）との値は同じとなる。【０１１９】
この場合、ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）の値が、ビデオ出力開始ＰＴＳおよびオーディオ出力開始ＰＴＳとなる。すると、ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）を表示可能なＳＴＣに対応するＶＳＹＮＣのタイミングに合わせて画像出力が開始される。また、オーディオデータについては、ビデオ先頭ＰＴＳと、ＶＳＹＮＣのタイミングでラッチされたＳＴＣとの差分値（ΔＴ）の分だけ、各オーディオフレームのオーディオＰＴＳの値が加減算される。図８の例では、差分値（ΔＴ）だけ加算されている。例えば、ビデオデータの出力タイミングにおけるＳＴＣ値を「９００３」、出力開始時のビデオのビデオＰＴＳ値を「８０００」とした場合、差分値は９００３−８０００＝１００３になる。この値をオーディオデータのオーディオＰＴＳに加算してＳＴＣ同期にてオーディオデータを出力させる。【０１２０】
このようにして、ビデオ先頭ＰＴＳ（ＰＴＳ＿Ｖ１）を表示可能なＳＴＣに対応するＶＳＹＮＣのタイミングに合わせて音声出力が開始される。その結果、ビデオデータの出力開始時刻とオーディオデータの出力開始時刻を正確に一致させることができる。【０１２１】
次に、オーディオキャプチャがビデオキャプチャより先に開始された場合について説明する。
図９は、オーディオキャプチャがビデオキャプチャより先に開始された場合の出力時期を示すタイミングチャートである。この例では、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとの比較結果、ビデオ先頭ＰＴＳ＞オーディオ先頭ＰＴＳとなる。【０１２２】
ここで、ビデオフレームのビデオ先頭ＰＴＳを８０００、ビデオＰＴＳが８０００時の出力ＶＳＹＮＣタイミングのＳＴＣを９００３、先頭オーディオフレームのオーディオＰＴＳを７０００とする（ビデオのフレームレートは５９．９４Ｈｚとし、１ビデオフレーム分のビデオＰＴＳは、９０ＫＨｚ換算にて３００３とする。ビデオおよびオーディオともストリームに付加されているＰＴＳは９０ＫＨｚ単位とする）。また、図９では、オーディオフレーム２１，２２，２３，２４，・・・のうち、無効データを網掛で示している。【０１２３】
オーディオフレームについては、例えば、符号化モードはＭＰＥＧ−１ＬａｙｅｒＩＩ、サンプリング周波数を４８Ｋｚとした場合、１オーディオフレーム分のサンプル数は符号化モードごとに規格上にて決まっており、ＭＰＥＧ−１ＬａｙｅｒＩＩでは、１１５２となる。また、ビデオフレームの出力開始時のビデオＰＴＳと出力ＶＳＹＮＣタイミング時のＳＴＣとの差分値は９００３−８０００＝１００３である。【０１２４】
ビデオフレームとの出力開始タイミングをあわせる為に、オーディオフレーム２１中のオーディオ先頭ＰＴＳ：７０００から８０００までの音声データは、無効データ２１ａに書き換えられる。オーディオフレーム２１のＰＴＳ：８０００以降のデータは、有効データ２１ｂである。【０１２５】
さらに、オーディオフレームごとのオーディオＰＴＳの値には、ビデオ出力開始ＰＴＳと出力ＶＳＹＮＣタイミング時のＳＴＣとの差分値「１００３」が加算される。
なお、オーディオの先頭のフレームデータから８０００−７０００＝１０００（単位は９０ＫＨｚ）分のデータに関しては、下記の計算にて、何サンプル分のデータになるかを算出することで無効データ２１ａに書き換えることが可能である（無効データとは、音声の出力に影響のしない、例えばＮＵＬＬデータなどを指す）。【０１２６】
ビデオ先頭ＰＴＳからオーディオ先頭ＰＴＳを減算し、減算結果に「オーディオサンプリング周波数／１秒間のＰＴＳ増加数」を乗算することで、無効データとすべきオーディオデータのサンプリング数を計算できる。図９の例では、以下のような値となる。
無効データサンプル数＝（８０００−７０００）×４８０００／９００００＝５３３
このように、オーディオのキャプチャが先に行われた場合、ビデオデータのビデオ出力開始ＰＴＳを表示するＳＴＣ以降に音声出力が開始される。その結果、映像と音声は、正確に同時に出力開始される。しかも、ビデオフレームの出力開始時のＰＴＳと出力ＶＳＹＮＣタイミングのＳＴＣとの差分値によってオーディオＰＴＳを補正することで、ビデオ・オーディオの同期のとれた出力が行われる。【０１２７】
次に、ビデオストリームのみ、あるいはオーディオストリームのみの場合の出力例を説明する。
ＰＴＳ制御部２５０は、タイマによって、デコーダ装置２００へのストリーム入力が、ビデオストリームのみかオーディオストリームのみかを判定することができる。タイマは装置内部でカウントアップを可能とし、カウントアップ周期および判定に必要な閾値は、任意に設定可能である。【０１２８】
ＰＴＳ制御部２５０にて、ビデオストリームおよびオーディオストリームのどちらか一方のＰＴＳ受信後、タイマが判定に必要な閾値を超えた（タイムアウトした）場合は、受信済みの出力部にて、タイムアウト時のＳＴＣの値を取得する。そして、単独のストリームとしてＳＴＣに同期した出力を適用させる。【０１２９】
図１０は、ビデオストリームのみが入力されたときの出力例を示す図である。ビデオストリームが入力され、所定時間経過してもオーディオストリームが入力されなければ、ビデオデータのみの出力が行われる。ビデオデータは、ＶＳＹＮＣに同期して出力される。【０１３０】
図１１は、オーディオストリームのみが入力されたときの出力例を示す図である。オーディオストリームが入力され、所定時間経過してもビデオストリームが入力されなければ、オーディオデータのみの出力が行われる。オーディオデータは、ＶＳＹＮＣに関係なく、オーディオＰＴＳで示される値にＳＴＣが達したときに出力される。【０１３１】
なお、ビデオストリーム入力のみにより、ビデオフレーム出力を開始している状態で、一定時間経過後（判定に必要な閾値以内）、オーディオストリームが入力された場合は、ビデオフレームの出力開始ＰＴＳとＶＳＹＮＣのタイミング時のＳＴＣとの差分値をオーディオフレームのＰＴＳに加算する。これにより、ビデオ出力途中からのビデオ・オーディオの同期出力が可能となる。【０１３２】
逆の入力ケースとして、例えば、オーディオストリーム入力のみにより、オーディオフレーム出力を開始している状態で、一定時間経過後（判定に必要な閾値以内）、ビデオストリームが入力された場合は、各々の出力タイミングでＳＴＣ同期して出力するか、オーディオ出力を一度仕切りなおしてビデオ・オーディオの同期出力を行う。いずれの方式とするかは、伝送システムの運用形態に応じて容易に対応可能とする。【０１３３】
次に、上記処理を実現するＰＴＳ制御部２５０の内部構造について説明する。
図１２は、ＰＴＳ制御部の内部構造を示すブロック図である。ＰＴＳ制御部２５０は、タイマ２５１、ＰＴＳ判定部２５２、同期方式判定部２５３、およびＰＴＳ差分情報抽出部２５４を有している。【０１３４】
タイマ２５１は、ＰＴＳ判定部２５２からの指示に従って時間計測を開始する。タイマ２５１が計測した時間は、ＰＴＳ判定部２５２から参照可能である。
ＰＴＳ判定部２５２は、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとの入力を受け付ける。ＰＴＳ判定部２５２は、ビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳとのいずれか一方が入力されると、タイマ２５１による時間計測を開始する。また、ＰＴＳ判定部２５２は、入力されたＰＴＳを同期方式判定部２５３に通知する。その後、ＰＴＳ判定部２５２は、タイマを監視する。タイマ２５１による時間計測開始から所定の閾値以上待っても、他方のＰＴＳが入力されなかった場合、ＰＴＳ判定部２５２は、タイムアウト情報を同期方式判定部２５３に通知する。時間計測開始から所定時間経過前に、他方のＰＴＳが入力された場合、ＰＴＳ判定部２５２は、遅れて受信したＰＴＳを同期方式判定部２５３に通知する。【０１３５】
同期方式判定部２５３は、ＳＴＣラッチ回路２２３経由で現在のＳＴＣを取得する。さらに、同期方式判定部２５３は、タイムアウト情報が入力されると、取得したＳＴＣ値と通知されたＰＴＳからビデオ出力開始ＰＴＳ、またはオーディオ出力開始ＰＴＳとを決定する。同期方式判定部２５３は、ＰＴＳ判定部２５２からビデオ先頭ＰＴＳとオーディオ先頭ＰＴＳのいずれか一方を受け取り、タイムアウト前に他方のＰＴＳを受け取ると、現在のＳＴＣ、オーディオ先頭ＰＴＳ、およびビデオ先頭ＰＴＳから出力開始ＰＴＳを決定する。出力開始ＰＴＳが決定されると、同期方式判定部２５３は、ビデオ出力開始ＰＴＳを画像出力部２６０に対して出力し、オーディオ出力開始ＰＴＳを音声出力部２７０に対して出力する。【０１３６】
また、同期方式判定部２５３は、ビデオ出力開始ＰＴＳと出力時のＳＴＣ（ビデオ出力開始ＰＴＳが付与されたビデオフレームのＶＳＹＮＣに同期させた出力時のＳＴＣ）を、ＰＴＳ差分情報抽出部２５４へ通知する。【０１３７】
ＰＴＳ差分情報抽出部２５４では、ビデオ出力開始ＰＴＳと、そのビデオ出力開始ＰＴＳのビデオフレームを表示可能なＳＴＣとの差分値を算出し、オーディオ復号部２４０へ通知する。すると、オーディオ復号部２４０において通知された値がオーディオフレームのＰＴＳに加算され、オーディオフレームが音声出力部２７０に送信される。【０１３８】
このようにして、ＰＴＳ制御が可能となる。
なお、ＰＴＳ制御部２５０は、マイクロコンピュータによって実現することもできる。以下、マイクロコンピュータで実現したＰＴＳ制御部の例を説明する。【０１３９】
図１３は、マイクロコンピュータで実現したＰＴＳ制御部の例を示す図である。ＰＴＳ制御部２５０ａは、ＣＰＵ２５６、ＲＯＭ２５７、ＲＡＭ２５８、および入出力インタフェース２５９を有している。【０１４０】
ＣＰＵ２５６は、ＰＴＳ制御部２５０ａ全体を制御する。また、ＣＰＵ２５６は、ＲＯＭ２５７に予め格納されたプログラムに従って、図６に示された処理を実行する。なお、ＣＰＵ２５６は、処理の中間データなどは、一時的にＲＡＭ２５８に格納する。さらに、ＣＰＵ２５６は、処理に必要な入力値を入出力インタフェース２５９経由で受け取り、処理結果の出力値を入出力インタフェース２５９経由で出力する。【０１４１】
ＲＯＭ２５７は、図６に示した処理をＣＰＵ２５６に実行させるためのプログラムが格納されている。タイマによる時間計測の閾値も、ＲＯＭ２５７に予め格納されている。
ＲＡＭ２５８は、ＣＰＵ２５６の演算のためのワークメモリとして使用される。例えば、ＣＰＵ２５６がタイマ機能によって時間計測を行う場合、時間を示す値が適宜ＲＡＭ２５８に格納される。時間を示す値は、ＣＰＵ２５６によって随時更新される。【０１４２】
入出力インタフェース２５９は、外部の回路とのデータの入出力を行う回路である。入出力インタフェース２５９には、ビデオ復号部２３０からビデオ先頭ＰＴＳが入力され、オーディオ復号部２４０からオーディオ先頭ＰＴＳが入力される。また、ＰＴＳ制御部２５０には、ＳＴＣラッチ回路２２３からＳＴＣが入力される。入出力インタフェース２５９からオーディオ復号部２４０へは、差分値が出力される。また、入出力インタフェース２５９から画像出力部２６０へビデオ出力開始ＰＴＳが出力され、音声出力部２７０へオーディオ出力開始ＰＴＳが出力される。【０１４３】
なお、ＰＴＳ制御部２５０ａが有すべき機能の処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。【０１４４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【０１４５】
プログラムを実行するデコーダ装置は、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、デコーダ装置は、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、デコーダ装置は、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、デコーダ装置は、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。【０１４６】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１４７】
１  時刻情報発生手段
２ａ  ビデオ復号手段
２ｂ  画像出力手段
３ａ  オーディオ復号手段
３ｂ  音声出力手段
４ａ  差分値計算手段
４ｂ  オーディオ出力時刻補正手段
５ａ  タイムアウト判定手段
５ｂ  出力開始時刻決定手段
６ａ  ビデオストリーム
６ｂ  ビデオデータ
７ａ  オーディオストリーム
７ｂ  オーディオデータ
８  同期信号
【図１】
2009028038.tif 000003
【図２】
2009028038.tif 000004
【図３】
2009028038.tif 000005
【図４】
2009028038.tif 000006
【図５】
2009028038.tif 000007
【図６】
2009028038.tif 000008
【図７】
2009028038.tif 000009
【図８】
2009028038.tif 000010
【図９】
2009028038.tif 000011
【図１０】
2009028038.tif 000012
【図１１】
2009028038.tif 000013
【図１２】
2009028038.tif 000014
【図１３】
2009028038.tif 000015
【手続補正書】
【提出日】平成21年10月26日(2009.10.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストリームデータに基づいて映像と音声とを出力するためのデコーダ装置において、
時間と共に値が増加する基準時刻情報を生成する時刻情報発生手段と、
ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報が付与されたビデオデータを符号化したビデオストリームが入力されると、入力された前記ビデオストリームを復号して前記ビデオデータを生成すると共に、前記ビデオフレームに付与された前記ビデオ出力時刻情報を抽出するビデオ復号手段と、
オーディオフレームごとの音声の出力時刻を示すオーディオ出力時刻情報が付与されたオーディオデータを符号化したオーディオストリームが入力されると、入力された前記オーディオストリームを復号して前記オーディオデータを生成するオーディオ復号手段と、
画像の出力タイミングを示す同期信号の発生時刻と前記ビデオ出力時刻情報との差分値を計算する差分値計算手段と、
前記差分値計算手段で計算された前記差分値を用いて、前記オーディオフレームそれぞれに付与された前記オーディオ出力時刻情報を補正するオーディオ出力時刻補正手段と、
前記同期信号の発生時における前記基準時刻情報の値と、前記同期信号の発生時に表示可能な前記ビデオ出力時刻情報の範囲との関係が予め定義されており、前記同期信号が発生するごとに、そのときの前記基準時刻情報の値に応じて表示可能な前記ビデオ出力時刻情報が付与された前記ビデオフレームで示される画像を出力する画像出力手段と、
前記基準時刻情報の値と補正後の前記オーディオ出力時刻情報の値とが一致したときに、一致した前記オーディオ出力時刻情報が付与された前記オーディオフレームで示される音声を出力する音声出力手段と、
を有することを特徴とするデコーダ装置。
【請求項２】
前記ビデオ復号手段は、先頭の前記ビデオフレームに付与された前記ビデオ出力時刻情報を、ビデオ先頭時刻情報として抽出し、
前記オーディオ復号手段は、先頭の前記オーディオフレームに付与された前記オーディオ出力時刻情報を、オーディオ先頭時刻情報として抽出し、
前記ビデオ先頭時刻情報と前記オーディオ先頭時刻情報との値を比較し、前記ビデオ先頭時刻情報の値の方が大きければ、前記ビデオ先頭時刻情報で示される時刻をオーディオ出力開始時刻と決定する出力開始時刻決定手段をさらに有し、
前記音声出力手段は、前記基準時刻情報で示される時刻が前記オーディオ出力開始時刻に達する以前は、生成した前記音声を無効なデータに置き換えることを特徴とする請求項１記載のデコーダ装置。
【請求項３】
前記出力開始時刻決定手段は、前記オーディオ先頭時刻情報の値の方が大きければ、前記オーディオ先頭時刻情報より大きな値で最小の前記ビデオ出力時刻情報が付与された時刻をビデオ出力開始時刻と決定し、
前記画像出力手段は、前記ビデオ出力開始時刻より小さい値の前記ビデオ出力時刻情報が付与された前記ビデオフレームから生成した前記画像を無効なデータに置き換えることを特徴とする請求項２記載のデコーダ装置。
【請求項４】
前記出力開始時刻決定手段は、前記オーディオ先頭時刻情報の値の方が大きければ、前記ビデオ出力開始時刻と同じ時刻をオーディオ出力開始時刻と決定し、
前記音声出力手段は、前記基準時刻情報で示される時刻が前記オーディオ出力開始時刻に達する以前は、生成した前記音声を無効なデータに置き換えることを特徴とする請求項３記載のデコーダ装置。
【請求項５】
前記ビデオ先頭時刻情報と前記オーディオ先頭時刻情報とのいずれか一方の情報が抽出されてからの経過時間を計測し、他方の情報が抽出される前に前記経過時間が所定の閾値を超えた場合にはタイムアウトと判定し、タイムアウトと判定された場合、前記ビデオ先頭時刻情報のみが抽出されていればビデオ単独出力と決定し、前記オーディオ先頭時刻情報のみが抽出されていればオーディオ単独出力と決定するタイムアウト判定手段をさらに有し、
前記画像出力手段は、前記ビデオ単独出力と決定されると、前記ビデオフレームからの画像データの生成、および生成した前記画像データの出力を開始する、
ことを特徴とする請求項１記載のデコーダ装置。
【請求項６】
ストリームデータに基づいてデコーダ装置により映像と音声とを出力するためのデコード方法において、
時刻情報発生手段が、時間と共に値が増加する基準時刻情報を生成し、
ビデオ復号手段が、ビデオフレームごとの画像の出力時刻を示すビデオ出力時刻情報が付与されたビデオデータを符号化したビデオストリームが入力されると、入力された前記ビデオストリームを復号して前記ビデオデータを生成すると共に、前記ビデオフレームに付与された前記ビデオ出力時刻情報を抽出し、
オーディオ復号手段が、オーディオフレームごとの音声の出力時刻を示すオーディオ出力時刻情報が付与されたオーディオデータを符号化したオーディオストリームが入力されると、入力された前記オーディオストリームを復号して前記オーディオデータを生成し、
差分値計算手段が、画像の出力タイミングを示す同期信号の発生時刻と前記ビデオ出力時刻情報との差分値を計算し、
オーディオ出力時刻補正手段が、前記差分値計算手段で計算された前記差分値を用いて、前記オーディオフレームそれぞれに付与された前記オーディオ出力時刻情報を補正し、
画像出力手段が、前記同期信号の発生時における前記基準時刻情報の値と、前記同期信号の発生時に表示可能な前記ビデオ出力時刻の範囲との関係が予め定義されており、前記同期信号が発生するごとに、そのときの前記基準時刻情報の値に応じて表示可能な前記ビデオ出力時刻情報が付与された前記ビデオフレームで示される画像を出力し、
音声出力手段が、前記基準時刻情報の値と補正後の前記オーディオ出力時刻情報の値とが一致したときに、一致した前記オーディオ出力時刻情報が付与された前記オーディオフレームで示される音声を出力する、
ことを特徴とするデコード方法。
【国際調査報告】
2009028038.tif 000016
2009028038.tif 000017
2009028038.tif 000018
2009028038.tif 000019