(57)【要約】【課題】オーディオ・ビデオ同期制御方式において、入力ファイルのアクセスユニットの大きさに依存しない小さなサイズの復号化用バッファを用いて、オーディオ・ビデオ同期制御回路の規模を削減する。【解決手段】圧縮符号化されたオーディオ・ビデオデータを含む入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔におけるデータ量を算出する。算出した時間間隔にしたがって、前記データ量をもつオーディオデータとビデオデータをオーディオバッファとビデオバッファにそれぞれ格納する。タイムスタンプ情報に基づいてデータ転送回数を算出する。算出したデータ転送回数にしたがって、前記オーディオデータと前記ビデオデータをオーディオデコーダとビデオデコーダへ転送する。【選択図】  図２
2004254186.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化されたオーディオ・ビデオデータを含む入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔におけるデータ量を算出する手順と、
前記時間間隔にしたがって、前記データ量をもつオーディオデータとビデオデータをオーディオバッファとビデオバッファにそれぞれ格納する手順と、
前記タイムスタンプ情報に基づいてデータ転送回数を算出する手順と、
前記データ転送回数にしたがって、前記オーディオデータと前記ビデオデータをオーディオデコーダとビデオデコーダへ転送する手順と
を有することを特徴とするオーディオ・ビデオ同期制御方法。
【請求項２】
前記オーディオバッファと前記ビデオバッファの大きさは、適用される製品のビットレートに基づいて算出されることを特徴とする請求項１記載のオーディオ・ビデオ同期制御方法。
【請求項３】
入力ファイルからの圧縮符号化されたオーディオ・ビデオデータをオーディオデータとビデオデータに分離するとともに、オーディオ・ビデオ同期制御を行う分離部と、分離されたオーディオデータを格納するオーディオバッファと、格納されたオーディオデータを復号化するオーディオデコーダと、分離されたビデオデータを格納するビデオバッファと、格納されたビデオデータを復号化するビデオデコーダとを有するオーディオ・ビデオ同期制御装置であって、
前記分離部は
前記入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔のデータ量を算出する手段と、
算出された時間間隔にしたがって、算出されたデータ量をもつオーディオデータとビデオデータを前記オーディオバッファと前記ビデオバッファにそれぞれ格納する手段と、
前記タイムスタンプ情報に基づいてデータ転送回数を算出する手段と、
算出されたデータ転送回数にしたがって、格納された前記オーディオデータと前記ビデオデータを、前記オーディオデコーダと前記ビデオデコーダへそれぞれ転送する手段と
を備えることを特徴とするオーディオ・ビデオ同期制御装置。
【請求項４】
前記オーディオバッファと前記ビデオバッファはそれぞれ、同じサイズの２個のバッファを並列に接続して構成されることを特徴とする請求項３記載のオーディオ・ビデオ同期制御装置。
【請求項５】
前記分離部は、当該アクセスユニットのデータ転送累積時間と対応するタイムスタンプ情報を比較することにより時間ずれを検知し、検知された時間ずれに応じて前記データ転送回数を調整することにより前記時間ずれを補正する時間ずれ補償回路を備えることを特徴とする請求項３又は４記載のオーディオ・ビデオ同期制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＭＰＥＧ４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ４）システムに規定されるＭＰ４ファイルにおけるオーディオ・ビデオストリームのように、予め圧縮符号化されたオーディオ・ビデオストリームを同期再生するオーディオ・ビデオ同期制御方法及びその装置に関するものである。
【０００２】
【従来の技術】
従来のオーディオ・ビデオ同期制御方式では、あるタイムベースに基づいて圧縮符号化されたオーディオ・ビデオストリームにおけるアクセスユニット（ＡＵ）ごとにデコードタイムスタンプ（ＤＴＳ）を記述し、そのデコードタイムスタンプに従って同期再生を行う方式が利用されている。
【０００３】
アクセスユニット（ＡＵ）とは、オーディオ・ビデオストリームにおいて独立にアクセスできるデータ単位である。たとえば、ビデオの場合はＶＯＰ（ビデオオブジェクトプレーン）の符号化データに相当する。ＭＰＥＧ４では、圧縮符号化されたオーディオ・ビデオストリームの同期制御はアクセスユニット（ＡＵ）単位で行われる。
【０００４】
図１は、従来のオーディオ・ビデオ同期制御装置の一例を示す。
【０００５】
図１のオーディオ・ビデオ同期制御装置において、ＭＰ４ファイル１０は、ＭＰ４ファイルフォーマットで圧縮符号化されたオーディオ・ビデオストリームを含み、ＡＵ／ＤＴＳ分離回路１２に入力される。ＡＵ／ＤＴＳ分離回路１２は入力ファイル１０を、オーディオストリームのアクセスユニット（ＡＵ）と、ビデオストリームのアクセスユニット（ＡＵ）とに分離して、オーディオＡＵバッファ１４とビデオＡＵバッファ１８にそれぞれ格納する。
【０００６】
オーディオＡＵバッファ１４に格納された各アクセスユニット（ＡＵ）のオーディオデータ（ａｕ＿ｄａｔａ）は、オーディオデコーダ１６へ転送され、オーディオデコーダ１６で復号化（デコード）される。ビデオＡＵバッファ１８に格納された各アクセスユニット（ＡＵ）のビデオデータ（ａｕ＿ｄａｔａ）は、ビデオデコーダ２０へ転送され、ビデオデコーダ２０で復号化（デコード）される。  オーディオデコーダ１６が復号化したオーディオデータはスピーカで再生されると同時に、ビデオデコーダ２０が復号化したビデオデータは表示モニタ上に表示される。
【０００７】
また、図１の従来の構成において、ＡＵ／ＤＴＳ分離回路１２は、入力ファイル１０から、オーディオストリームの各アクセスユニットのＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）とビデオストリームの各アクセスユニットのＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）とを分離して、オーディオＤＴＳバッファ２２とビデオＤＴＳバッファ２４にそれぞれ格納する。
【０００８】
図１の従来のオーディオ・ビデオ同期制御装置において、同期制御回路２６は、オーディオ・ビデオストリームの各ＤＴＡ時間間隔を監視して、オーディオデータについての復号化処理開始を指示する制御信号ａ＿ｄｅｃ＿ｓｔａｒｔと、ビデオデータについての復号化処理開始を指示する制御信号ｖ＿ｄｅｃ＿ｓｔａｒｔを、オーディオデコーダ１６とビデオデコーダ２０へそれぞれ出力する。従って、同期制御回路２６は、ＤＴＳ時間間隔にしたがって、対応するデコーダがアクセスユニット単位で復号化処理を開始するように同期制御を行っている。
【０００９】
ここで、ＭＰ４ファイルは、各エレメントストリームに対して、該当アクセスユニットのＤＴＳとその次のアクセスユニットのＤＴＳ間の時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）を記述するテーブルを有する。このＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）は、各エレメントストリームに対して、次式（１）のように算出される。
【００１０】
【数１】
2004254186.tif 000003
ここで、ｐはそのストリームにおける該当アクセスユニットを識別する番号である。ｐ＝０のときＤＴＳ（０）＝０とする。ＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）の時間単位は、（１／ｔｉｍｅ＿ｓｃａｌｅ）秒である。
【００１１】
ＤＴＳ時間間隔のテーブルは、図７に示したような構造を有する。図７は、あるＭＰ４ファイルにおけるビデオストリームのアクセスユニット（ＡＵ）のＤＴＳテーブルの一例である。図７において、ａｕ＿ｃｏｕｎｔは、同一のＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）を有するアクセスユニットの個数を示す。
【００１２】
従来のオーディオ・ビデオ同期制御方式では、テーブルに記述したＤＴＳ時間間隔に従ってアクセスユニット（ＡＵ）を復号化することで同期を確立している。
【００１３】
なお、本発明に関連する従来の技術として、特開平１１−１６４２５６号公報には、オーディオとビデオの処理を独立して行い、基準となる処理時間が異なるオーディオデータとビデオデータの同期再生を行うためのオーディオ・ビデオ同期再生方法が示されている。
【００１４】
【特許文献１】
特開平１１−１６４２５６号公報
【００１５】
【発明が解決しようとする課題】
従来のオーディオ・ビデオ同期制御方式では、アクセスユニット単位で同期を制御するため、復号化用バッファをアクセスユニット単位で用意する必要がある。しかし、アクセスユニットの大きさ（ａｕ＿ｓｉｚｅ）は、様々な要因（例えば、ビットレート）により変化するものである。ディジタルビデオカメラへ適用する場合、例えば、８ＭｂｐｓＶＧＡのＩＶＯＰでは、１つのアクセスユニットの大きさが数百Ｋバイトになることが頻繁にある。一方、携帯用オーディオ・ビデオ機器では、大容量のバッファを設けることは望ましくない。
【００１６】
よって、従来のオーディオ・ビデオ同期制御方式では、復号化用バッファをアクセスユニット単位で用意する必要がため、同期制御回路の規模も大きくなる傾向がある。
【００１７】
また、オーディオ・ビデオストリームを同期再生する際に、時間ずれが発生した場合、ビデオアクセスユニットをスキップしたり、リピート表示したりすることにより、時間ずれを補償する必要がある。従来のオーディオ・ビデオ同期制御方式では、時間ずれを効率よく補償するための方法が考慮されていない。
【００１８】
本発明は、上記の点に鑑みてなされたものであり、入力ファイルのアクセスユニットの大きさに依存しない小さなサイズの復号化用バッファを用いて、オーディオ・ビデオ同期制御回路の規模を削減することが可能なオーディオ・ビデオ同期制御方法及び装置を提供することを目的とする。
【００１９】
【課題を解決するための手段】
上記課題を解決するため、本発明になるオーディオ・ビデオ同期制御方法は、圧縮符号化されたオーディオ・ビデオデータを含む入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔におけるデータ量を算出する手順と、前記時間間隔にしたがって、前記データ量をもつオーディオデータとビデオデータをオーディオバッファとビデオバッファにそれぞれ格納する手順と、前記タイムスタンプ情報に基づいてデータ転送回数を算出する手順と、前記データ転送回数にしたがって、前記オーディオデータと前記ビデオデータをオーディオデコーダとビデオデコーダへ転送する手順とを有することを特徴とする。
【００２０】
また、上記課題を解決するため、本発明になるオーディオ・ビデオ同期制御装置は、入力ファイルからの圧縮符号化されたオーディオ・ビデオデータをオーディオデータとビデオデータに分離するとともに、オーディオ・ビデオ同期制御を行う分離部と、分離されたオーディオデータを格納するオーディオバッファと、格納されたオーディオデータを復号化するオーディオデコーダと、分離されたビデオデータを格納するビデオバッファと、格納されたビデオデータを復号化するビデオデコーダとを有するオーディオ・ビデオ同期制御装置であって、前記分離部が、前記入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔のデータ量を算出する手段と、算出された時間間隔にしたがって、算出されたデータ量をもつオーディオデータとビデオデータを前記オーディオバッファと前記ビデオバッファにそれぞれ格納する手段と、前記タイムスタンプ情報に基づいてデータ転送回数を算出する手段と、算出されたデータ転送回数にしたがって、格納された前記オーディオデータと前記ビデオデータを、前記オーディオデコーダと前記ビデオデコーダへそれぞれ転送する手段とを備えることを特徴とする。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００２２】
まず、本発明のオーディオ・ビデオ同期制御方式の基本原理について説明する。
【００２３】
前述したように、従来のオーディオ・ビデオ同期制御方式では、ＭＰ４ファイルに記述された各アクセスユニットの大きさ（ａｕ＿ｓｉｚｅ）をもつＡＵデータを復号化用バッファに格納して、ＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）で同期を制御している。この代わりに、本発明のオーディオ・ビデオ同期制御方式では、ＭＰ４ファイルに記述された、各アクセスユニットの大きさ（ａｕ＿ｓｉｚｅ）と各アクセスユニットのＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）から、算出される一定の時間間隔（Δｔ）のデータ量（Δｄａｔａ）をもつオーディオ・ビデオデータを復号化用バッファに格納して、算出される転送回数（ｓｃｎｔ）でデコーダへ転送することにより、同期を確立する。
【００２４】
データ量（Δｄａｔａ）と一定の時間間隔（Δｔ）は、ＭＰ４ファイルに記述されたａｕ＿ｓｉｚｅとａｕ＿ｄｔｓ＿ｄｅｌｔａから、次式（２）と（３）に従って算出される。
【００２５】
【数２】
2004254186.tif 000004
【００２６】
【数３】
2004254186.tif 000005
ここで、ｎは任意の整数である（以下、このｎをタイムスケール定数という）。また、転送回数（ｓｃｎｔ）は、次式（４）に従って算出される。
【００２７】
【数４】
2004254186.tif 000006
図２は、本発明の第１の実施の形態に係るオーディオ・ビデオ同期制御装置を示す。図２のオーディオ・ビデオ同期制御装置は、Δｄａｔａ／Δｔ分離回路３２と、一対のバッファスイッチ３３、４３と、一対のオーディオバッファ３４、３８と、一対のビデオバッファ４２、４４と、一対のバッファスイッチ３５、４５と、オーディオデコーダ１６と、ビデオデコーダ２０とを含む。
【００２８】
図２のオーディオ・ビデオ同期制御装置において、バッファスイッチ３３、４３とバッファスイッチ３５、４５の切り替え動作は、Δｄａｔａ／Δｔ分離回路３２の制御部から出力される制御信号により制御される。
【００２９】
また、Δｄａｔａ／Δｔ分離回路３２の制御部からバッファスイッチ３３、４３への制御信号は、オーディオバッファ３４、３８と、ビデオバッファ４２、４４に対して、バッファスイッチ３３、４３の切り替え動作が交互に行われるように出力される。すなわち、図２に示したように、ある時点でバッファスイッチ３３がオーディオバッファ３８側と導通する状態であるとき、バッファスイッチ４３はビデオバッファ４４側と導通する状態になる。次の時点でバッファスイッチ３３、４３の切り替え動作が行われると、バッファスイッチ３３はオーディオバッファ３４側と導通する状態となり、同時に、バッファスイッチ４３はビデオバッファ４２側と導通する状態になる。
【００３０】
同様に、Δｄａｔａ／Δｔ分離回路３２の制御部からバッファスイッチ３５、４５への制御信号は、オーディオバッファ３４、３８と、ビデオバッファ４２、４４に対して、バッファスイッチ３５、４５の切り替え動作が交互に行われるように出力される。すなわち、図２に示したように、ある時点でバッファスイッチ３５がオーディオバッファ３４側と導通する状態であるとき、バッファスイッチ４５はビデオバッファ４２側と導通する状態になる。次の時点でバッファスイッチ３５、４５の切り替え動作が行われると、バッファスイッチ３５はオーディオバッファ３８側と導通する状態となり、同時に、バッファスイッチ４５はビデオバッファ４４側と導通する状態になる。
【００３１】
図２に示したように、図１の従来構成におけるＡＵ／ＤＴＳ分離回路１２の代わりに、この実施形態のオーディオ・ビデオ同期制御装置では、Δｄａｔａ／Δｔ分離回路３２を設けている。ＭＰ４ファイル１０は、ＭＰ４ファイルフォーマットで圧縮符号化されたオーディオ・ビデオストリームを含み、Δｄａｔａ／Δｔ分離回路３２に入力される。
【００３２】
Δｄａｔａ／Δｔ分離回路３２は、ＭＰ４ファイル１０から得られる各アクセスユニットについてのａｕ＿ｓｉｚｅとａｕ＿ｄｔｓ＿ｄｅｌｔａを用いて、上式（２）と（３）にしたがい一定の時間間隔（Δｔ）のデータ量（Δｄａｔａ）を算出する。また、Δｄａｔａ／Δｔ分離回路３２は、上式（４）にしたがい転送回数（ｓｃｎｔ）を算出する。
【００３３】
Δｄａｔａ／Δｔ分離回路３２は、入力ファイル１０を、算出した一定の時間間隔（Δｔ）のデータ量（Δｄａｔａ）をもつオーディオデータとビデオデータとに分離して、オーディオバッファ３４、３８のいずれか一方とビデオバッファ４２、４４のいずれか一方にそれぞれ格納する。
【００３４】
図２のオーディオ・ビデオ同期制御装置においては、Δｄａｔａ／Δｔ分離回路３２が、一定の時間間隔（Δｔ）でバッファスイッチ３３、４３の切り替え動作を制御して、データ量（Δｄａｔａ）の大きさをもつオーディオデータをオーディオバッファ３４、３８のいずれか一方に、データ量（Δｄａｔａ）の大きさをもつビデオデータをビデオバッファ４２、４４のいずれか一方に格納する。
【００３５】
また同時に、Δｄａｔａ／Δｔ分離回路３２は、算出した転送回数（ｓｃｎｔ）に基づいてバッファスイッチ３５、４５の切り替え動作を制御して、オーディオバッファ３４、３８の他方のバッファにすでに格納されたオーディオデータをオーディオデコーダ１６へ転送すると共に、ビデオバッファ４２、４４の他方のバッファにすでに格納されたビデオデータをビデオデコーダ２０へ転送する。
【００３６】
上記の実施形態によれば、従来の構成に比べて小さなサイズの復号化用バッファを用いてオーディオ・ビデオ同期制御装置を構成することができ、入力ファイルのアクセスユニットの大きさに依存しないサイズをもつ復号化用バッファを用いることで、オーディオ・ビデオ同期制御回路の規模を削減することが可能である。
【００３７】
また、上記の実施形態のオーディオ・ビデオ同期制御装置においては、適用される製品に使用されるビットレート（ｂｉｔｒａｔｅ）に基づいて、復号化用バッファの大きさ（ｂｕｆｆｅｒ＿ｓｉｚｅ）を近似的に求めることが可能である。その場合には、次式（５）に従って、復号化用バッファの大きさ（ｂｕｆｆｅｒ＿ｓｉｚｅ）を算出することで、図２の構成におけるバッファ３４、３８、４２、４４の各バッファサイズを決定すればよい。
【００３８】
【数５】
2004254186.tif 000007
上記のバッファサイズ決定方法によれば、適用される製品のビットレート（ｂｉｔｒａｔｅ）が非常に大きい場合であっても、上式（５）におけるタイムスケール定数ｎの値を大きな値に設定することにより、バッファサイズが増大してしまうことを回避することができる。
【００３９】
さらに、図２の構成のオーディオ・ビデオ同期制御装置は、Δｄａｔａ／Δｔ分離回路３２が図６の時間ずれ補償回路（後述する）を含むよう構成することで、Δｄａｔａ／Δｔ分離回路３２の制御部によるバッファスイッチ切り替え動作における時間ずれを検知して、その時間ずれを補正することができる。
【００４０】
以下、この時間ずれの補正方式の原理について説明する。
【００４１】
まず、上式（１）を変形することで、次式（６）が得られる。
【００４２】
【数６】
2004254186.tif 000008
上式（６）から明らかなように、ｐ番目のアクセスユニットのデコードタイムスタンプｄｔｓ（ｐ）とＤＴＳ時間間隔ａｕ＿ｄｔｓ＿ｄｅｌｔａを加算すれば、（ｐ＋１）番目のアクセスユニットのデコードタイムスタンプｄｔｓ（ｐ＋１）が求まる。
【００４３】
次式（８）で算出される、ｐ番目のアクセスユニットについてのデータ転送累積時間ｔ＿ｐａｓｔの値と、ｐ番目のアクセスユニットのデコードタイムスタンプｄｔｓ（ｐ）の値とを比較することで、時間ずれが発生したか否かを検知できる。すなわち、次式（７）で算出される、時間ずれｔ＿ｄｉｆｆの値がゼロに等しくなければ、時間ずれが発生したと判定する。時間ずれｔ＿ｄｉｆｆの算出値が正であれば、データ転送累積時間ｔ＿ｐａｓｔの値が大きすぎる場合であり、時間ずれｔ＿ｄｉｆｆの算出値が負であれば、データ転送累積時間ｔ＿ｐａｓｔの値が小さすぎる場合である。
【００４４】
【数７】
2004254186.tif 000009
【００４５】
【数８】
2004254186.tif 000010
ここで、Δｔｉは各アクセスユニットの一定時間間隔（（３）式）の値を示す。
【００４６】
さらに、次式（９）にしたがって、時間ずれｔ＿ｄｉｆｆを補正することができる。
【００４７】
【数９】
2004254186.tif 000011
この例では、式（９）に従って修正されたａｕ＿ｄｔｓ＿ｄｅｌｔａ（ｐ）を、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２の制御部内の、ＤＴＳ時間間隔を格納するためのレジスタに転送して、前回算出した時間間隔（Δｔ）の値が調整されることで、時間ずれの補正が行われる。
【００４８】
次に、本発明のオーディオ・ビデオ同期制御方式を実際の場合に適用した例について説明する。
【００４９】
図８は、図７と同じＭＰ４ファイルに記述される各アクセスユニットのデータ量（ａｕ＿ｓｉｚｅ）の一例を示す。この例では、ｔｉｍｅ＿ｓｃａｌｅ＝１０００、ｎ＝１、ｂｉｔｒａｔｅ＝２Ｍｂｐｓ、ｂｕｆｆｅｒ＿ｓｉｚｅ＝０Ｘ１６０バイトに設定している。
【００５０】
図９は、図７のデコードタイムスタンプ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）と、図８の各アクセスユニットのデータ量（ａｕ＿ｓｉｚｅ）とに基づき算出されるデータ量（Δｄａｔａ）の一例を示す。
【００５１】
図９の例において、４番目のアクセスユニットについてデコードタイムスタンプＤＴＳ（４）＝０Ｘ８５，データ転送累積時間ｔ＿ｐａｓｓ＝０Ｘ８３とすると、上式（７）及び（８）により、ａｕ＿ｄｔｓ＿ｄｅｌｔａ（５）＝０Ｘ２２−（０Ｘ８５−０Ｘ８３）＝０Ｘ１８となる。
【００５２】
上記の例で説明したように、従来のオーディオ・ビデオ同期制御方式では、同期を確立するため、１０Ｋバイト以上の容量のバッファを用意する必要がある。しかし、本発明のオーディオ・ビデオ同期制御方式を適用すれば、１０パーセント以上のバッファを削減することができる。
【００５３】
図３は、図２のオーディオ・ビデオ同期制御装置が実行する同期制御方法の一例を説明するためのフロー図である。とくに、図３の同期制御フローは、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２の制御部（以下、制御部という）がバッファスイッチ３５、４５の切り替え動作を制御するために実行される。
【００５４】
図３の同期制御フローが開始すると、制御部は、ステップＳ１において、カウンタのカウント値ｃｎｔをゼロにリセットして、カウント動作を開始する。
【００５５】
ステップＳ２において、制御部は、経過時間ｔ＿ｉｎｔが算出したΔｔの時間間隔に達したか否かを判定する。ステップＳ２は、経過時間ｔ＿ｉｎｔがΔｔの時間間隔に達するまでくりかえし実行される。
【００５６】
ステップＳ２でΔｔの時間間隔に達すると、ステップＳ３において、制御部は、制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）をバッファスイッチ３５、４５へ出力するとともに、カウンタのカウント値ｃｎｔをインクリメントする。
【００５７】
ステップＳ３が完了すると、ステップＳ４において、制御部は、カウンタのカウント値ｃｎｔが算出したデータ転送回数ｓｃｎｔに達したか否かを判定する。データ転送回数ｓｃｎｔに達した場合には、次のアクセスユニットのデータの復号化処理を開始するため、上記ステップＳ１へ戻って上記処理を繰り返す。
【００５８】
データ転送回数ｓｃｎｔにまだ達しない場合には、同一アクセスユニットの残りのデータの復号化処理を継続するため、上記ステップＳ２へ戻って上記処理を繰り返す。
【００５９】
図２の構成では、復号化用バッファのオーバフローやアンダーフローを回避するために、ダブルバッファ（オーディオバッファ３４、３８、及びビデオバッファ４２、４４）を設けている。入力ファイル１０の先頭のアクセスユニットのデータについては、算出したデータ量Δｄａｔａをもつデータを、オーディオバッファ３４とビデオバッファ４２に格納する。次のアクセスユニット以降のデータについては、バッファスイッチ制御によって、交互に、オーディオバッファ３４と３８のいずれか一方とビデオバッファ４２、４４のいずれか一方に格納していく。
【００６０】
図４は、図２のオーディオ・ビデオ同期制御装置に用いられるバッファスイッチ制御回路を示す。
【００６１】
図４のバッファスイッチ制御回路は、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２内に設けられ、その動作はΔｄａｔａ／Δｔ分離回路３２の制御部によって制御される。とくに、図４のバッファスイッチ制御回路は、バッファスイッチ３３、４３の切り替え動作を制御するための制御信号ｓｗｉｔｃｈ＿ｏｎを出力する。
【００６２】
図４において、このバッファスイッチ制御回路５０は、クロック生成部（ＣＬＫ）５１と、カウンタ（ｃｎｔ）５２と、クロック数算出部（ｃｌｋ＿ｎｕｍ）５３と、コンパレータ（ＣＯＭＰ）５４とを含む。
【００６３】
クロック生成部５１は、所定の周波数（ＣＬＫ＿Ｈｚ）をもつクロック信号をカウンタ５２とクロック数算出部５３へ出力する。
【００６４】
カウンタ５２は、入力されるクロック信号をカウントして、カウント値（ｃｎｔ）を示す信号をコンパレータ５４の一方の入力に送出する。また、起動時に入力されるリセット信号（ｒｅｓｅｔ）に応じて、カウンタ５２のカウント値はゼロにリセットされ、カウンタ５２はクロック信号のカウント動作を開始する。また、カウンタ５２は、コンパレータ５４の出力から制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）を受取った場合にも、カウント値がリセットされ、クロック信号のカウント動作を再開する。
【００６５】
クロック数算出部５３は、次式（１０）にしたがってクロック数（ｃｌｋ＿ｎｕｍ）を算出して、その算出結果をコンパレータ５４のもう一方の入力に送出する。
【００６６】
【数１０】
2004254186.tif 000012
ここで、ΔｔはΔｄａｔａ／Δｔ分離回路３２が算出した上記の時間間隔を示し、ＣＬＫ＿Ｈｚは入力されるクロック信号の周波数を示す。
【００６７】
コンパレータ５４は、カウンタ５２から受取ったカウント値（ｃｎｔ）と、クロック数算出部５３から受取ったクロック数（ｃｌｋ＿ｎｕｍ）とを比較する。カウント値（ｃｎｔ）が増加して、クロック数（ｃｌｋ＿ｎｕｍ）に等しくなると、コンパレータ５４は制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）をバッファスイッチ３３、４３へ出力する。また、制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）が出力されると、カウンタ５２のカウント値がゼロにリセットされ、カウンタ５２はクロック信号のカウント動作を再開する。
【００６８】
図２の構成においては、バッファスイッチ制御回路５０起動後、最初に制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）が出力されると、バッファスイッチ３３はオーディオバッファ３４側に導通され、バッファスイッチ４３はビデオバッファ４２側に導通される。その後、バッファスイッチ制御回路５０の動作に従い、制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）が出力されるごとに、オーディオバッファ３４、３８と、ビデオバッファ４２、４４に対して、バッファスイッチ３３、４３の切り替え動作が交互に行われる。
【００６９】
図５は、図２のオーディオ・ビデオ同期制御装置が実行する同期制御方法の一例を説明するためのフロー図である。とくに、図５の同期制御フローは、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２の制御部がバッファスイッチ３３、４３の切り替え動作を制御するために実行される。
【００７０】
図５の同期制御フローは、図４に説明したバッファスイッチ制御回路５０の動作と同様であるので、その説明を省略する。
【００７１】
図６は、本発明の第２の実施の形態に係るオーディオ・ビデオ同期制御装置を示す。とくに、図６のオーディオ・ビデオ同期制御装置は、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２が、その制御部によるバッファスイッチ切り替え動作に時間ずれが発生した場合にその時間ずれを補正するための時間ずれ補償回路を含むように構成される。
【００７２】
図６の時間ずれ補償回路は、クロック生成部（ＣＬＫ）５１と、カウンタ（ｃｎｔ）５２と、カウント数（ｄｔｓ＿ｃｎｔ＿ｎｕｍ）格納レジスタ５３と、コンパレータ（ＣＯＭＰ）５４と、バッファスイッチ回路６１と、カウンタ（ｃｎｔ）６２と、カウント数（ｄｔｓ＿ｃｎｔ＿ｎｕｍ）格納レジスタ６３と、減算器（ｓｕｂ）６４と、ＤＴＳ時間間隔格納レジスタ６５と、加算器（ａｄｄ）６６とを含む。
【００７３】
図６の構成におけるバッファスイッチ回路６１は、図４のバッファスイッチ制御回路と同様に構成される。バッファスイッチ回路６１が制御信号ｓｗｉｔｃｈ＿ｏｎ（＝１）を出力するとき、カウンタ６２のカウント値ｃｎｔがインクリメントされる。カウンタ６２は、データ転送累積時間ｔ＿ｐａｓｔの値を示す信号（ｔ＿ｐａｓｓ）を減算器６４の一方の入力に送出する。
【００７４】
該当するアクセスユニットのｄｔｓをクロック信号の周期で割り算することにより算出したｄｔｓ＿ｃｎｔ＿ｎｕｍの値をレジスタ５３とレジスタ６３に格納する。レジスタ６３は該当するアクセスユニットのｄｔｓの値に相当する信号（ｄｔｓ）を減算器６４の他方の入力に出力する。
【００７５】
図６のバッファスイッチ制御回路５０は、カウンタ５２のカウント値ｃｎｔがレジスタ５３に格納されたｄｔｓ＿ｃｎｔ＿ｎｕｍの値に達したとき、制御信号ｓｕｂ＿ｏｎ（＝１）を減算器６４の制御入力に出力する。このとき、減算器６４は、上式（７）に示した時間ずれｔ＿ｄｉｆｆの値を示す信号（ｔ＿ｄｉｆｆ）を加算器６６の一方の入力に出力する。他方、レジスタ６５は、該当するアクセスユニットのＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ＿ｐ）を示す信号を加算器６６の他方の入力に出力する。そして、加算器６６の出力によって、時間ずれｔ＿ｄｉｆｆが補正されて、補正後のＤＴＳ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ＿ｐ）でレジスタ６５の格納データが修正される。
【００７６】
上記実施形態のオーディオ・ビデオ同期制御装置によれば、図２の構成におけるΔｄａｔａ／Δｔ分離回路３２の制御部によるバッファスイッチ切り替え動作における時間ずれを検知することができ、簡易な方式で検知された時間ずれを補正することができる。
【００７７】
（付記１）
圧縮符号化されたオーディオ・ビデオデータを含む入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔におけるデータ量を算出する手順と、前記時間間隔にしたがって、前記データ量をもつオーディオデータとビデオデータをオーディオバッファとビデオバッファにそれぞれ格納する手順と、前記タイムスタンプ情報に基づいてデータ転送回数を算出する手順と、前記データ転送回数にしたがって、前記オーディオデータと前記ビデオデータをオーディオデコーダとビデオデコーダへ転送する手順と  を有することを特徴とするオーディオ・ビデオ同期制御方法。
【００７８】
（付記２）
前記オーディオバッファと前記ビデオバッファの大きさは、適用される製品のビットレートに基づいて算出されることを特徴とする付記１記載のオーディオ・ビデオ同期制御方法。
【００７９】
（付記３）
入力ファイルからの圧縮符号化されたオーディオ・ビデオデータをオーディオデータとビデオデータに分離するとともに、オーディオ・ビデオ同期制御を行う分離部と、分離されたオーディオデータを格納するオーディオバッファと、格納されたオーディオデータを復号化するオーディオデコーダと、分離されたビデオデータを格納するビデオバッファと、格納されたビデオデータを復号化するビデオデコーダとを有するオーディオ・ビデオ同期制御装置であって、前記分離部は、  前記入力ファイルから得られる各アクセスユニットのサイズ情報とタイムスタンプ情報に基づいて一定の時間間隔のデータ量を算出する手段と、算出された時間間隔にしたがって、算出されたデータ量をもつオーディオデータとビデオデータを前記オーディオバッファと前記ビデオバッファにそれぞれ格納する手段と、  前記タイムスタンプ情報に基づいてデータ転送回数を算出する手段と、算出されたデータ転送回数にしたがって、格納された前記オーディオデータと前記ビデオデータを、前記オーディオデコーダと前記ビデオデコーダへそれぞれ転送する手段とを備えることを特徴とするオーディオ・ビデオ同期制御装置。
【００８０】
（付記４）
前記オーディオバッファと前記ビデオバッファはそれぞれ、同じサイズの２個のバッファを並列に接続して構成されることを特徴とする付記３記載のオーディオ・ビデオ同期制御装置。
【００８１】
（付記５）
前記分離部は、当該アクセスユニットのデータ転送累積時間と対応するタイムスタンプ情報を比較することにより時間ずれを検知し、検知された時間ずれに応じて前記データ転送回数を調整することにより前記時間ずれを補正する時間ずれ補償回路を備えることを特徴とする付記３又は４記載のオーディオ・ビデオ同期制御装置。
【００８２】
（付記６）
前記分離部は、前記分離部と前記オーディオバッファ間、及び前記分離部と前記ビデオバッファ間にそれぞれ設けた第１のバッファスイッチと、前記オーディオバッファと前記オーディオデコーダ間、及び前記ビデオバッファと前記ビデオデコーダ間にそれぞれ設けた第２のバッファスイッチの切り替え動作を交互に行うよう構成したことを特徴とする付記３記載のオーディオ・ビデオ同期制御装置。
【００８３】
（付記７）
前記時間ずれ補償回路は、所定の周波数で入力されるクロック信号のカウント値と、前記時間間隔とに基づいて、前記オーディオバッファ及び前記ビデオバッファと、前記分離部との導通を切り替えるための制御信号を出力するバッファスイッチ制御回路を含むことを特徴とする付記５記載のオーディオ・ビデオ同期制御装置。
【００８４】
（付記８）
前記分離部は、所定の周波数で入力されるクロック信号のカウント値と、前記時間間隔とに基づいて、前記オーディオバッファ及び前記ビデオバッファと、前記分離部との導通を切り替えるための制御信号を出力するバッファスイッチ制御回路を含むことを特徴とする付記３記載のオーディオ・ビデオ同期制御装置。
【００８５】
【発明の効果】
以上説明したように、本発明のオーディオ・ビデオ同期制御方法及び装置によれば、入力ファイルのアクセスユニットの大きさに依存しないサイズをもつ復号化用バッファを用いることで、オーディオ・ビデオ同期制御回路の規模を削減することが可能である。したがって、オーディオ・ビデオ同期制御方式のコストの低減および処理時間の短縮に寄与することができる。また、本発明のオーディオ・ビデオ同期制御方法及び装置によれば、Δｄａｔａ／Δｔ分離回路の制御部によるバッファスイッチ切り替え動作に発生する可能性のある時間ずれを検知することができ、簡易な方式で検知された時間ずれを補正することができる。
【図面の簡単な説明】
【図１】従来のオーディオ・ビデオ同期制御装置の一例を示す図である。
【図２】本発明の第１の実施の形態に係るオーディオ・ビデオ同期制御装置を示す図である。
【図３】図２のオーディオ・ビデオ同期制御装置が実行する同期制御方法の一例を説明するためのフロー図である。
【図４】図３の同期制御方法を実現するために用いられるバッファスイッチ制御回路を示す図である。
【図５】図２のオーディオ・ビデオ同期制御装置が実行する同期制御方法の一例を説明するためのフロー図である。
【図６】本発明の第２の実施の形態に係るオーディオ・ビデオ同期制御装置を示す図である。
【図７】ＭＰ４ファイルに記述される各アクセスユニット間のデコードタイムスタンプ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）の一例を示す図である。
【図８】図７と同じＭＰ４ファイルに記述される各アクセスユニットのデータ量（ａｕ＿ｓｉｚｅ）の一例を示す図である。
【図９】図７のデコードタイムスタンプ時間間隔（ａｕ＿ｄｔｓ＿ｄｅｌｔａ）と、図８の各アクセスユニットのデータ量（ａｕ＿ｓｉｚｅ）とに基づき算出されるデータ量（Δｄａｔａ）の一例を示す図である。
【符号の説明】
１０  ＭＰ４ファイル
１２  ＡＵ／ＤＴＳ分離回路
１４  オーディオＡＵバッファ
１６  オーディオデコーダ
１８  ビデオＡＵバッファ
２０  ビデオデコーダ
２２  オーディオＤＴＳバッファ
２４  ビデオＤＴＳバッファ
２６  同期制御回路
３２  Δｄａｔａ／Δｔ分離回路
３３  バッファスイッチ
３４  オーディオバッファ
３５  バッファスイッチ
３８  オーディオバッファ
４２  ビデオバッファ
４３  バッファスイッチ
４４  ビデオバッファ
４５  バッファスイッチ
【図１】
2004254186.tif 000013
【図２】
2004254186.tif 000014
【図３】
2004254186.tif 000015
【図４】
2004254186.tif 000016
【図５】
2004254186.tif 000017
【図６】
2004254186.tif 000018
【図７】
2004254186.tif 000019
【図８】
2004254186.tif 000020
【図９】
2004254186.tif 000021