JP3215087B2 - オーディオとビデオの同期方法及びデジタルビデオプロセッサ - Google Patents

オーディオとビデオの同期方法及びデジタルビデオプロセッサ

Info

Publication number
JP3215087B2
JP3215087B2 JP22761998A JP22761998A JP3215087B2 JP 3215087 B2 JP3215087 B2 JP 3215087B2 JP 22761998 A JP22761998 A JP 22761998A JP 22761998 A JP22761998 A JP 22761998A JP 3215087 B2 JP3215087 B2 JP 3215087B2
Authority
JP
Japan
Prior art keywords
audio
video
value
frame
frames
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
Application number
JP22761998A
Other languages
English (en)
Other versions
JPH11191286A (ja
Inventor
クーン タン ユー
ユー ゴン−サン
Original Assignee
ソニー エレクトロニクス インク
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ソニー エレクトロニクス インク filed Critical ソニー エレクトロニクス インク
Publication of JPH11191286A publication Critical patent/JPH11191286A/ja
Application granted granted Critical
Publication of JP3215087B2 publication Critical patent/JP3215087B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オーディオとビデ
オの同期方法及びデジタルビデオプロセッサに関し、例
えば、テレビジョン受像機の画面に表示される画像のデ
ジタル処理に関し、特に、オーディオ信号とビデオ信号
とをデジタル的に同期させてビデオ表示装置に出力させ
る処理に関する。
【0002】
【従来の技術】今日製造されているテレビジョン受像機
の殆どが、例えばビデオテープレコーダ(以下、VTR
という。)、デジタルビデオディスク(以下、DVDと
いう。)プレーヤ、ケーブル、デジタル衛星システム
(以下、DSSという。)等の様々な番組の信号源装置
と接続できるようになっており、これらの番組の信号源
装置からは、音を生成するためのオーディオ信号と、音
に対応する画像を表示するためのビデオ信号とが出力さ
れる。これらの信号源装置の中には、ムービングピクチ
ャエキスパートグループ−2(以下、MPEG−2:Mo
ving Picture Expert Group-2という。)のオーディオ
/ビデオデジタル圧縮規格に準拠したデジタルオーディ
オ信号及びビデオ信号を出力するものもある。したがっ
て、現在のテレビジョン受像機及び/又はDVDプレー
ヤに、圧縮されたデジタル入力信号を処理して所望の画
像を表示するためのデジタル出力信号を出力する機能を
持たせることが望ましい。多くの場合、これらのデジタ
ル信号は、アナログ信号に変換されて、従来のアナログ
テレビジョン受像機の表示装置に表示される。
【0003】番組のオーディオ/ビデオ信号源装置から
の信号に基づいた画像の表示と、それに対応した音を出
力するためのデジタル信号処理を実現するためには、従
来のアナログオーディオ/ビデオ信号処理では見られな
かった種々の設計が試みられている。例えば、デジタル
信号処理では、オーディオ信号が、ビデオ信号と別にな
っており、すなわち音声と画像とが独立して処理され
る。なお、番組の信号源装置から供給された所望のオー
ディオ信号とビデオ信号が互いに対応し、一体となって
再生されるように、音声と画像は、同期して再生されな
ければならない。
【0004】番組の信号源装置は、オーディオデータ及
びビデオデータを、例えばMPEG−2フォーマットに
より、データパケットとして出力する。オーディオデー
タ及びビデオデータの各パケットは、番組の信号源装置
から連続的なデータストリームとして受信される。ビデ
オデータの各パケットは、ヘッダブロックと、それに続
くデータブロックとを有する。データブロックは、例え
ば1〜20等の複数のビデオデータのフレームを含むこ
とができ、これらのフレームは、ビデオデータの完全な
フィールド、又はピクチャの種類及び表示順序を識別す
るための固有のヘッダブロックを有するコード化された
グループオブピクチャを含むことができる。ビデオデー
タのパケットのヘッダブロックは、例えばビデオデータ
のフォーマットの識別子、圧縮の種類、必要に応じて画
像の大きさ、表示順序、その他の全てのパラメータ等の
制御情報を含んでいる。オーディオデータのパケット
も、ヘッダブロックを有し、このヘッダブロックも同様
に、オーディオデータのデコード法及び適用された所望
のエンハンスメント処理方法に関するインストラクショ
ンを含んだオーディオデータのフォーマットを識別する
ために用いられる。また、オーディオデータのパケット
は、ヘッダブロックに続いてデータブロックを有し、こ
のオーディオデータブロックは、例えば1〜約20等の
複数のオーディオデータのブロック又はフレームを含ん
でいる。
【0005】オーディオデータ及びビデオデータのパケ
ットのヘッダブロックの特定の1つは、再生出力の時刻
管理情報であるプレゼンテーションタイムスタンプ(以
下、PTS:Presentation Time Stampという。)値を
含んでおり、これは、そのデータパケットに適用できる
タイムスタンプである。このPTSの値は、オーディオ
データ及びビデオデータの生成又は記録中に動作してい
るシステム時刻クロック(以下、STC:System Time
Clockという。)を基準とした時刻である。また、オー
ディオデータ及びビデオデータの再生の際にも、同様の
STCが動作しており、オーディオデータ及びビデオデ
ータがそれぞれのPTSによって示される時刻に再生さ
れると、オーディオデータとビデオデータは、理想的に
同期して利用者に出力される。すなわち、PTSは、オ
ーディオデータとビデオデータを同期して表示又は再生
するために用いられる。
【0006】オーディオデータをデコードする際、オー
ディオデータは、番組の信号源装置及び音声再生装置の
能力に適合した伸長、再構成及びエンハンス処理を施さ
なければならない。ある用途においては、オーディオデ
ータのパケットに、生のオーディオデータが6チャネル
分含まれることもある。音声再生装置は、チャネル数に
依存し、例えば2〜6チャンネルのオーディオデータを
再生することができ、複数のオーディオのチャネルを提
供するために、生のオーディオデータのチャネルを選択
的に使用して、これらのチャネルのオーディオデータ
を、オーディオ用のファーストインファーストアウトメ
モリ(以下、FIFOという。)に記憶する。
【0007】ビデオデータをデコードするには、通常、
伸長、部分的なフレームの全フレームへの変換、全フレ
ームの認識が必要とされる。デコード処理と同時に、オ
ーディオデータ及びビデオデータのフレームが出力さ
れ、すなわち利用者に対して再生され、この再生は、オ
ーディオデータとビデオデータのフレームが互いに対応
し、一体となるように同期していなければならない。
【0008】従来技術から明らかなように、オーディオ
データ及びビデオデータのパケットのデマルチプレクス
は、データのデコード及び再生が同期するように、デー
タパケットを分解するとともに、コンテントデータ自体
だけでなくデコードに必要なインストラクションをも記
憶させるという複雑な処理である。ある周知の技術によ
ると、オーディオ及びビデオのコンテントデータ、すな
わち生のデータは、オーディオ及びビデオの各FIFO
メモリに記憶される。これらのFIFOは、メモリコン
トローラによって制御される書込及び読出ポインタを備
えており、このメモリコントローラは、CPUの一般的
な制御下にある。書込ポインタは、デマルチプレクス処
理に必要な機能として動作され、この書込ポインタによ
って、データが各FIFOに連続して分配される。読出
ポインタは、デコード処理とは独立であって、並行する
機能として動作され、データがFIFOから連続して読
み出される。デマルチプレクス処理において、生のデー
タがFIFOにロードされるのに加えて、それに対応し
たPTSの値があれば、それがオーディオ及びビデオの
各PTSテーブル内の記憶域に書き込まれる。PTSの
値をFIFO中のデータと対応させるために、通常、P
TSの値に加えて、PTSに続いて受信されたデータの
うちの最初の1バイトが書き込まれた各FIFO内の位
置も、それぞれのオーディオ及びビデオのPTSテーブ
ルに書き込まれる。
【0009】オーディオデータ及びビデオデータが、デ
マルチプレクス処理によってFIFOメモリに書き込ま
れる一方で、オーディオデータ及びビデオデータは、オ
ーディオデータ及びビデオデータのデコード及び再生処
理の間に、それぞれのFIFOから同時に、かつ並行に
読み出される。この両方処理が行われている間、オーデ
ィオデータ及びビデオデータのデコード処理によって読
み出されるオーディオデータとビデオデータが時間的に
同期しているかを監視する監視処理が必要である。上述
した周知の技術では、この監視処理は、デコード処理に
よって動作するFIFOの読出ポインタをPTSテーブ
ルに記憶されている記憶域と関係づけることにより、行
われる。読出ポインタが、PTSの値に対応した記憶域
に十分に近いときは、PTSがデコード処理に関する現
在の時刻を示していると決定することができる。このよ
うな方法でPTSの値を識別することにより、PTS
を、1つのデコード処理が他のデコード処理より先行又
は後行しているかを決定するために比較に用いることが
できる。
【0010】しかしながら、この方法には、以下の理由
による欠点がある。オーディオデータ及びビデオデータ
のデコード処理の間、それぞれのFIFOに対する読出
ポインタは、CPUからのいかなるインストラクション
とは無関係なメモリコントローラに直接的に相互作用す
るデコード処理によって、自動的かつ連続的に動作され
ている。これは、オーディオデータとビデオデータをデ
マルチプレクスし、デコードして出力する全体の処理
が、同期して連続的に行われなければならないため、避
けられないことである。
【0011】オーディオとビデオのデコード及び再生を
同期させるための上述した技術には、監視処理と様々な
デコード処理との間には本来的な遅延があるといった重
大な問題がある。例えば、オーディオデータをデコード
する際、オーディオデコーダは、監視処理を実行してい
るCPUに対して開始オーディオフレーム割込を、1つ
のオーディオフレームのデコードを開始する毎にかけ
る。1つのオーディオフレームのデコードが開始される
と、監視処理は、現在オーディオFIFOから読み出さ
れているデータと、対応するPTS、すなわち現在読み
出されているデータがオーディオFIFOに書き込まれ
たときのオーディオPTSテーブルに書き込まれた値を
有するPTSとを対応させなければならない。理論的に
は、オーディオフレームの開始における読出ポインタの
位置が分かっているならば、この読出ポインタの位置
を、デマルチプレクス処理の間にPTSテーブルに記憶
された書込ポインタの位置と比較することができる。現
在の読出ポインタの位置と記憶されている書込ポインタ
の位置とが一致していることが分かると、その記憶され
ている書込ポインタに対応したPTSが、現在読出ポイ
ンタによって識別されるオーディオデータのPTSと一
致していることになる。読み出されるデータに対応する
PTSの値を正確に決定することができると、デコード
及び再生処理は、フレームをスキップするか又は繰り返
して、オーディオ及びビデオのフレームを同期して出力
するという周知の方法で行われる。
【0012】なお、上述した処理において、オーディオ
データとビデオデータの再生における同期がとれない状
態になってしまうには、2つの条件がある。第1の条件
は、監視処理を実行しているCPUが、オーディオデー
タ及びビデオデータのデコード処理の監視とデマルチプ
レクス処理の監視とを時分割で行わなければならないた
めに起こる。したがって、CPUは、通信方式を基礎と
した優先割込を用いて、各監視処理に応答しなければな
らない。また、CPUは、時分割多重の通信バス又はチ
ャネルを介して、メモリコントローラや他の回路と通信
を行っている。したがって、CPUに対して開始オーデ
ィオフレームの割込がかかっても、CPUが同等又は優
先度がより高い他の割込を処理しているときには、開始
オーディオフレーム割込処理は、直ぐには実行されな
い。更に、CPUが直ぐに開始オーディオフレーム割込
処理を実行したとしても、CPUは、時分割多重のバス
を介して、メモリコントローラと通信しなければならな
い。バスへのアクセスは、裁定的(arbitrated)であ
り、また、CPUが、最も高い優先度を有するとはかぎ
らない。なお、開始オーディオフレーム割込処理による
第1の遅延、及び時分割多重のバスを介したメモリコン
トローラとの通信による第2の遅延の間、オーディオデ
ータFIFOに対するデコード処理において、FIFO
からのオーディオデータの読出は、続けられる。したが
って、開始オーディオフレーム割込が、CPUによって
受け付けられ、CPUがメモリコントローラと通信でき
るようになったときにCPUが得るオーディオデータF
IFOの読出ポインタの位置は、通常、開始オーディオ
フレーム割込が最初にCPUに受け付けられたときの読
出ポインタの位置とは異なる。すなわち、CPUがその
割込に応答し、メモリコントローラからオーディオFI
FOの現在の読出ポインタを得るときには、その読出ポ
インタは、もはや割込が発生したときの値ではない。し
たがって、遅延があると、CPUは、不正確な読出ポイ
ンタの位置を得ることになる。
【0013】第2の条件は、読み出されるオーディオパ
ケットが、小さくて、高速に処理されることである。P
TSテーブルには、FIFOの位置の値を有する2つの
PTSエントリがあり、これらは非常に近接している。
したがって、不正確な読出ポインタの位置がPTSテー
ブルの書込ポインタの位置の値と比較されると、間違っ
たPTSエントリが、デコードされるオーディオフレー
ムの開始と関係付けられてしまう。この結果、オーディ
オのフレームとビデオのフレームが、少し同期が外れて
再生される。このような同期の少ないずれは、1回であ
れば、利用者が気づくことはない。
【0014】
【発明が解決しようとする課題】ところで、開始オーデ
ィオフレーム割込の処理時間が長く、オーディオデータ
パケットの読出処理に必要な時間が非常に短い場合に
は、又はこのような複数のオーディオデータパケットが
連続的に発生する場合には、同期のずれはより大きなも
のとなる。また、オーディオ処理における同期のずれ
は、他のデコード処理における同期のずれと累積され
る。したがって、同期のずれが累積されると、利用者
は、同期のずれに気づいたり、煩わされる虞がある。
【0015】すなわち、上述したような装置では、デコ
ード処理の間、PTSテーブルに記憶されたPTSの値
と、それぞれのFIFOメモリから読み出されるオーデ
ィオデータ及びビデオデータとを対応させる必要があ
る。
【0016】本発明の目的は、番組の信号源装置からの
オーディオフレームとビデオフレームをより正確に同期
させて再生するオーディオとビデオの同期方法及びデジ
タルビデオプロセッサを提供することである。
【0017】
【課題を解決するための手段】本発明に係るオーディオ
とビデオの同期方法は、オーディオのプレゼンテーショ
ンタイムスタンプの値を、特定のオーディオデータパケ
ット及びビデオデータパケットはオーディオデータとビ
デオデータを関連付けて再生するための望ましい再生時
刻を表すプレゼンテーションタイムスタンプの値と、該
特定のパケット間の再生されるオーディオ出力フレーム
の数を表すオーディオフレーム数とを含むオーディオデ
ータパケットとして入力されるオーディオ入力データを
デマルチプレクス及びデコードして得られる連続したオ
ーディオフレームの一部であり、ビデオデータパケット
として入力されるビデオ入力データをデマルチプレクス
及びデコードして得られる連続したビデオフレームの一
部であるビデオ出力フレームとともに再生されるオーデ
ィオ出力フレームに関連付けるオーディオとビデオの同
期方法において、オーディオ及びビデオのデマルチプレ
クス処理の間にオーディオ及びビデオのプレゼンテーシ
ョンタイムスタンプの値を特定のオーディオ及びビデオ
データパケットに記憶するステップと、オーディオのデ
マルチプレクス処理の間に記憶されたオーディオプレゼ
ンテーションタイムスタンプの値のうちの1つに対応し
ている各オーディオフレームカウンタにオーディオフレ
ームの数を記憶するステップと、オーディオ及びビデオ
データを特定のオーディオデータパケット及びビデオデ
ータパケットとして連続的にデコードし、オーディオ及
びビデオのフレームをそれぞれ生成するステップと、オ
ーディオのフレームとビデオのフレームを利用者に対し
て同期して再生させるステップと、オーディオのフレー
ムの再生に応答してオーディオフレームカウンタの値を
選択的に減少させるステップと、値が0であるオーディ
オフレームカウンタの1つを検出するステップと、オー
ディオフレームカウンタの1つに対応したオーディオの
プレゼンテーションタイムスタンプの値を読み出すステ
ップと、オーディオ及びビデオのフレームの再生を選択
的に修正して、オーディオとビデオを利用者に対して同
期して出力させるステップとを有する。
【0018】また、本発明に係るオーディオとビデオの
同期方法は、特定のオーディオデータパケット及びビデ
オデータパケットはプレゼンテーションタイムスタンプ
の値と、該特定のパケット間の再生されるオーディオ出
力フレームの数を表すオーディオフレーム数とを含むオ
ーディオの出力データのフレームとビデオの出力データ
のフレームを同期して出力させるオーディオとビデオの
同期方法は、プレゼンテーションタイムスタンプの値を
含むオーディオデータパケットをデマルチプレクスする
オーディオデマルチプレクス処理の間に各オーディオF
IFOのメモリ位置にオーディオデータを連続的に記憶
するステップと、第1のデマルチプレクス処理の間に、
第1のメモリ位置のプレゼンテーションタイムスタンプ
の値をオーディオプレゼンテーションタイムスタンプテ
ーブルに連続的に記憶するステップと、第1のデマルチ
プレクス処理の間に、プレゼンテーションタイムスタン
プの値を含む特定のビデオデータパケットとしてビデオ
FIFOメモリ位置に書き込まれたデータに対応した書
込ポインタの位置を、オーディオプレゼンテーションタ
イムスタンプテーブルの第2のメモリ位置に記憶するス
テップと、第1のデマルチプレクス処理の間に、オーデ
ィオフレームの数をプレゼンテーションタイムスタンプ
テーブルのカウンタ位置に記憶するステップと、CPU
への開始オーディオフレーム割込と同時にオーディオデ
コード処理を開始するステップと、開始オーディオフレ
ーム割込に応答してオーディオFIFOの読出ポインタ
の位置を獲得するステップと、読出ポインタの位置と略
等しい、オーディオプレゼンテーションタイムスタンプ
テーブルの書込ポインタの位置を検出するステップと、
オーディオFIFOから読み出されているオーディオデ
ータをデコードするステップと、連続したオーディオ出
力フレームを利用者に提供するステップと、オーディオ
プレゼンテーションタイムスタンプテーブルの全てのカ
ウンタメモリ位置から1ずつ減算するステップと、シス
テムタイムカウンタの現在の値を、値が0であるカウン
タに対応したオーディオプレゼンテーションタイムスタ
ンプテーブルのプレゼンテーションタイムスタンプの値
に合わせるステップとを有する。
【0019】また、本発明に係るデジタルビデオプロセ
ッサは、特定のオーディオデータパケット及びビデオデ
ータパケットはプレゼンテーションタイムスタンプの値
を含むオーディオデータパケット及びビデオデータパケ
ットを含むオーディオ及びビデオデータをデマルチプレ
クス及びデコードして得られるオーディオとビデオデー
タの出力フレームを同期して再生させるデジタルビデオ
プロセッサにおいて、オーディオデータパケット及びビ
デオデータパケットのオーディオ及びビデオデータを連
続的に記憶するオーディオ及びビデオFIFOメモリ
と、プレゼンテーションタイムスタンプの値を特定のオ
ーディオデータパケットに連続的に記憶する第1のメモ
リ位置と、プレゼンテーションタイムスタンプの値を含
む特定のオーディオデータパケットのオーディオFIF
Oメモリ位置に書き込まれたデータに対応した書込ポイ
ンタ位置を表す値を記憶する第2のメモリ位置と、次の
プレゼンテーションタイムスタンプの値が出るまで再生
されるオーディオフレームの数を記憶するカウンタ位置
として機能する第3のメモリ位置とを有するオーディオ
プレゼンテーションタイムスタンプメモリテーブルと、
プレゼンテーションタイムスタンプの値を特定のビデオ
データパケットに連続的に記憶する第1のメモリ位置
と、プレゼンテーションタイムスタンプの値を含む特定
のビデオデータパケットのビデオFIFOメモリ位置に
書き込まれたデータに対応した書込ポインタ位置を表す
値を記憶する第2のメモリ位置と、利用者に対して再生
される前にビデオデータのフレームをデコードするのに
必要な遅延時間と略等しいビデオのフレームの数を表す
値を記憶するカウンタ位置として機能する第3のメモリ
位置とを有する。
【0020】
【発明の実施の形態】以下、本発明に係るオーディオと
ビデオの同期方法及びデジタルビデオプロセッサについ
て、図面を参照しながら説明する。図1は、本発明を適
用したテレビジョン受像機の具体的な構成を示すブロッ
ク図である。
【0021】図1に示すように、このテレビジョン受像
機18は、デジタルオーディオ/ビデオプロセッサ20
を備えており、このデジタルオーディオ/ビデオプロセ
ッサ20には、入力端子22を介して、所望の画像を生
成するのに必要なオーディオ情報及びビデオ情報を含む
一連のデータパケットが連続的に供給される。これらの
情報、すなわちオーディオデータ及びビデオデータは、
例えばビデオテープレコーダ(以下、VTRとい
う。)、DVDプレーヤ、ケーブル、デジタル衛星シス
テム(以下、DSSという。)の受信機、テレビジョン
受像機18内の表示されたメニューコマンドで選択され
る機器の1つから供給され、また、ビデオ情報は、複数
の異なるフォーマットの1つで供給される。通常、オー
ディオデータ及びビデオデータのパケットは、ムービン
グピクチャエキスパートグループ−2(以下、MPEG
−2:Moving Picture Expert Group-2という。)の規
格に準拠したフォーマットで供給される。
【0022】供給されたオーディオデータ及びビデオデ
ータのパケットは、互いに独立した並行のデータストリ
ームにデマルチプレクス(分離)される。また、オーデ
ィオデータとビデオデータの出力フレームのデコード及
び再生処理も、デマルチプレクス処理とは独立した並行
のデータストリームにおいて連続的に行われる。更に、
デマルチプレクス処理は、供給されるオーディオデータ
及びビデオデータの性質に依存して、実時間において顕
著に変化する処理である。更にまた、表示されるビデオ
フレームの数及び表示順序は、供給される生のビデオデ
ータからは決定することができない。ビデオフレームの
作成及びその表示順序の決定は、デコード処理の際に行
われ、それは、ビデオデータパケットのヘッダ部にある
コントロールデータによって最初に決定されている。同
様に、データパケットとして供給される生のオーディオ
データは、出力及び表示されるオーディオデータとは殆
ど似ておらず、表示されるオーディオデータのフレーム
は、オーディオデータのデコード処理の間に生成され
る。
【0023】ところで、出力オーディオフレームの長さ
は、実時間上においてどんな長さにもすることができ、
複数のオーディオフレームを1つのビデオフレームに対
応させることができ、反対に、1つのオーディオフレー
ムを、複数のビデオフレームから生成された画像が表示
されている間に、出力することもできる。なお、オーデ
ィオデータのフレームとビデオデータのフレームは、同
期して再生され、利用者に、互いに対応し、一体として
提供されることが必要である。オーディオデータ及びビ
デオデータのパケットのヘッダブロックの特定の1つ
は、オーディオデータのフレームとビデオデータのフレ
ームを同期して出力するためのプレゼンテーションタイ
ムスタンプ(以下、PTS:Presentation Time Stamp
という。)を含んでおり、このPTSは、オーディオデ
ータ及びビデオデータの生成中又は記録中に動作してい
るシステムタイムカウンタを基準とした時刻である。同
様なシステムカウンタが、オーディオデータ及びビデオ
データのフレームのデコード及び再生中に、CPU26
の中で動作しており、オーディオ用及びビデオ用のPT
Sテーブルが、デマルチプレクス処理中に生成される。
オーディオ及びビデオのフレームが完全に同期して出力
されるときには、それらの記憶されたPTSの値は、シ
ステムタイムカウンタの現在の値と等しい。ところで、
オーディオデータとビデオデータは、独立した並行のビ
ットストリームとして異なる処理が施されるので、この
ような正確な時間制御は容易ではない。したがって、こ
のような理由により、オーディオデータ及びビデオデー
タのフレームは、システムタイムカウンタに対して同期
がずれて再生されることがある。その結果、利用者に対
して、オーディオデータとビデオデータが、同期がずれ
て再生されることになる。
【0024】デジタルオーディオ/ビデオプロセッサ2
0を構成する各回路の詳細な動作を、フローチャートを
用いて説明する。図2は、図1に示すデマルチプレクサ
19の通常の動作を示したフローチャートである。
【0025】ステップS202において、デマルチプレ
クサ19は、例えばDVDプレーヤから入力端子22を
介して、オーディオデータパケット、ビデオデータパケ
ット及びサブピクチャデータパケットをランダムな順序
で含むデータを、入力ビットストリームとして連続的に
受信する。
【0026】ステップS204において、パケットのヘ
ッダブロックが抽出される。ステップS206におい
て、ヘッダブロックに基づいて、パケットがビデオデー
タパケットであるかが判定され、該当するときは処理は
ステップS208に進む。ステップS208において、
図1に示すCPU26に対してビデオのデマルチプレク
ス割込がかけられる。ステップS210において、ビデ
オデータが、図1に示すメモリ24内に設けられている
図4に示すビデオデータ用のファーストインファースト
アウト(以下、FIFOという。)バッファ320に連
続的に記憶される。
【0027】同様に、ステップS212において、パケ
ットが、ヘッダブロックに基づいてオーディオデータパ
ケットであると判定されると、処理はステップS214
に進む。ステップS214において、CPU26に対し
てオーディオのデマルチプレクス割込がかけられる。ス
テップS216において、オーディオデータがメモリ2
4内に設けられている図4に示すオーディオデータ用の
FIFOバッファ300に連続的に記憶される。
【0028】同様に、ステップS218において、パケ
ットが、ヘッダブロックに基づいてサブピクチャデータ
パケットであると判定されると、処理はステップS26
2に進む。ステップS220において、CPU26に対
してサブピクチャのデマルチプレクス割込がかけられ
る。ステップS222において、サブピクチャデータが
メモリ24内に設けられているサブピクチャデータFI
FOバッファ(図示せず)に連続的に記憶される。デマ
ルチプレクサ19は他の処理を行うが、これらの処理
は、オーディオとビデオの同期には関係しないので、デ
マルチプレクサ19のこれ以上の動作の説明は省略す
る。
【0029】図3は、CPU26において続いて実行さ
れているデマルチプレクス処理を示したフローチャート
であり、図4は、オーディオデータ及びビデオデータの
様々な部分が、メモリ24内にどのように分配されてい
るかを示す模式図である。メモリ24内には、図4に示
すオーディオデータ用のFIFOバッファ300及びビ
デオデータ用のFIFOバッファ320に加えて、オー
ディオ用のPTSテーブル302と、ビデオ用のPTS
テーブル324が設けられている。
【0030】図3に示すように、ステップS250にお
いて、CPU26は、デマルチプレクサ19からの割込
に応答する。ステップS252において、CPU26
は、その割込がオーディオPTSの割込であるかを判定
し、該当するときはステップS254に進む。ステップ
S254において、オーディオデータパケットのヘッダ
ブロックのPTSの値が、オーディオ用のPTSテーブ
ル302の、例えば位置304にロード、すなわち記憶
される。また、オーディオデータ用のFIFOバッファ
300にロードされたオーディオデータのうちの最初の
バイトの位置に対応したFIFOバッファ300の書込
ポインタ306の位置が、オーディオ用のPTSテーブ
ル302の、例えば位置308に記憶される。
【0031】上述したように、PTSは、特定のオーデ
ィオデータパケットのみに含まれているが、また、これ
らのオーディオデータパケットのヘッダブロックには、
現在のオーディオデータパケットの現在のPTSと、次
のオーディオデータパケットのPTSとの間に出力され
るべきオーディオデータフレームの数を示すオーディオ
フレームナンバーを有するフィールドが設けられてい
る。また、オーディオ用のPTSテーブル302には、
例えば記憶域309にフレームカウンタが設けられてい
る。PTSの値を含んでいるオーディオデータパケット
をデマルチプレクスする際、このPTSの値は、例えば
位置304等の適切な位置にロードされる。更に、次の
PTSの値までのオーディオフレームの数が、対応する
フレームカウンタ、すなわちフレームカウンタ310の
値に加算されて、その合計値が、次のPTSに対応した
フレームカウンタ、すなわちフレームカウンタ316に
書き込まれる。例えば、次のオーディオデータパケット
までのフレーム数が7であるPTSが位置304にロー
ドされると、その数である7が、フレームカウンタ31
0の現在の値10に加算され、この合計値17が、PT
Sの値を有する次のオーディオデータパケットに対応し
たフレームカウンタ316に書き込まれる。
【0032】オーディオのデマルチプレクス処理が実行
されている間、出力オーディオフレームのデコード及び
再生処理も、同時に、デマルチプレクス処理と並行して
実行されている。オーディオ再生処理において、各オー
ディオフレームが出力されると、オーディオ用のPTS
テーブル302の全てのフレームカウンタの値が減少さ
れる。したがって、次のPTSのカウント値がフレーム
カウンタ316にロードされると、フレームカウンタ3
10にロードされた値は、元の値よりも減少している。
その結果、オーディオ用のPTSテーブル302の記憶
域309のフレームカウンタの値は、オーディオデータ
パケットがデマルチプレクスされて、FIFOバッファ
300に書き込まれる毎に変化し、同時に並行して実行
されている処理として、オーディオデータが、FIFO
バッファ300から読み出され、デコードされて、出力
オーディオフレームが利用者に出力される。
【0033】図3に示すステップS256において、C
PU26は、割込がビデオPTSの割込であるかを判定
し、該当するときにはステップS258に進む。ステッ
プS258において、ビデオデータパケットのヘッダブ
ロックのPTS(以下、単にビデオPTSという。)の
値が、図4に示すビデオ用のPTSテーブル324の、
例えば位置322に記憶される。また、パケットのビデ
オデータの最初のバイトが記憶されるときのビデオデー
タ用のFIFOバッファ320の書込ポインタ326の
位置が、ビデオ用のPTSテーブル324の、例えば位
置328に書き込まれる。また、ビデオ用のPTSテー
ブル324にも、フレームカウンタが設けられており、
デマルチプレクス処理の間、CPU26は、例えば位置
322のPTSに対応したフレームカウンタ330を、
例えば16進法におけるFFのような無意味な値に設定
する。
【0034】図3に示すステップS260において、C
PU26は、割込がサブピクチャPTSの割込であるか
を判定し、該当するときにはステップS262に進む。
ステップS262において、CPU26は、サブピクチ
ャのPTSを内部レジスタ(図示せず)に記憶する。P
TSの値は、全てのサブピクチャデータのパケットに含
まれており、システムタイムクロック(STC)が記憶
されているPTSと同じ値になったときに、対応するサ
ブピクチャが出力される。サブピクチャの同期は、オー
ディオ及びビデオの同期ほど重要でないので、サブピク
チャデータの処理についてのこれ以上の詳細については
説明を省略する。
【0035】デマルチプレクスにおける割込がかけられ
た後、図1乃至図4を参照して説明したデマルチプレク
ス処理が、同様に繰り返される。次のオーディオデータ
パケットの生のデータは、オーディオデータ用のFIF
Oバッファ300に連続的にロードされる。次のオーデ
ィオデータパケットが、そのヘッダブロックにPTSを
有していないときは、オーディオ用のPTSテーブル3
02に対するPTSエントリは作成されない。ところ
で、次のオーディオデータパケットが、そのヘッダブロ
ックにPTSを有しているときには、PTSは、オーデ
ィオ用のPTSテーブル302の、例えば位置312に
書き込まれる。書込ポインタ306が現在のオーディオ
データパケットの最初のオーディオデータをFIFOバ
ッファ300にロードする位置である書込ポインタの位
置が、位置314にロードされる。また、現在のPTS
と次のPTSとの間のオーディオデータのフレーム数
が、不レムカウンタ316の値に加算されて、フレーム
カウンタ317にロードされる。更に、連続した各ビデ
オデータパケットの生のビデオデータが、ビデオデータ
用のFIFOバッファ320に連続的にロードされ、そ
れらののデータが適切なときには、PTSの値が、各書
込ポインタ位置とともに、ビデオ用のPTSテーブル3
24にロードされる。オーディオデータ、ビデオデータ
及びサブピクチャデータのパケットのデマルチプレクス
処理は、同様の連続した方法で行われ、適切なデータが
FIFOバッファ及びPTSテーブルにロードされる。
【0036】以上の説明でも明らかなように、デマルチ
プレクス処理の間、データは、デマルチプレクス処理に
必要な機能として、オーディオデータ用及びビデオデー
タ用の各FIFOバッファ300、320に書き込まれ
る。また、デマルチプレクス処理の間、PTSの値は、
各オーディオ及びビデオデータとは対応しておらず、各
PTSテーブル302、324に記憶される。同時の独
立した並行の処理において、オーディオデータとビデオ
データは、FIFOバッファ300、320から読み出
されて、図1に示すオーディオデコーダ25、ビデオデ
コーダ23によってデコードされて、利用者に対して出
力される。デコード処理の間、オーディオデータ用及び
ビデオデータ用のFIFOバッファ300、320の読
出ポインタ318、332は、メモリ24のコントロー
ラによって、自動的かつ連続的に移動されており、これ
らの読出ポインタは、通常、CPU26からの特別なイ
ンストラクションによって制御されているわけではな
い。デコード処理の間に、オーディオのフレームとビデ
オデータのフレームを同期して再生するために、各FI
FOバッファ300、320から読み出されるオーディ
オデータ及びビデオデータのストリームを、オーディオ
用及びビデオ用のPTSテーブル302、324に記憶
されている適切なPTSの値に、再び対応させなければ
ならない。
【0037】図1に示すオーディオデコーダ25は、図
2に示すステップS204においてヘッダブロックが抽
出されたことを検出すると、オーディオデコード処理を
初期化する。そして、オーディオデコーダ25は、CP
U26に対してオーディオデコード割込をかけて、次の
オーディオデータパケットのデコード処理を開始する。
オーディオデコーダ25がCPU26に対してオーディ
オデコード割込をかけるたとき、連続して移動している
図4に示す読出ポインタ318は、オーディオデコーダ
25がデータを読み出しているFIFOバッファ300
における現在の位置を示している。ところで、CPU2
6は、優先度及び実時間処理の要求が異なる非常に多く
の割込を処理しなければならない。したがって、CPU
26が、オーディオデコーダ割込よりも優先度が高い割
込を処理しているときには、オーディオデコーダ割込が
処理されるまでに遅延が生じる。また、CPU26は、
メモリ24内メモリコントローラや他の回路と、時分割
多重のバス又はチャネル29を介して通信を行ってい
る。開始オーディオフレーム割込の処理による第1の遅
延、及び時分割多重化のバス29を介したメモリコント
ローラとの通信による第2の遅延の間、オーディオデコ
ーダ25は、オーディオデータ用のFIFOバッファ3
00からオーディオデータを読み出し続けており、ま
た、読出ポインタ318も、連続して移動している。
【0038】図5に示すステップS400において、C
PU26は、オーディオデコード割込に応答する。ステ
ップS402において、CPU26は、読出ポインタ3
18の現在の位置の値を読み込む。ところで、読出ポイ
ンタ318の現在の位置は、CPU26にオーディオデ
コード割込が最初供給されたときの読出ポインタ318
の位置とは異なる。ステップS404において、CPU
26は、オーディオ用のPTSテーブル302に記憶さ
れている全ての書込ポインタの位置を走査して、現在の
読出ポインタの値に最も近い書込ポインタの値、例えば
図4に示す位置350においる書込ポインタの値を検出
する。ステップS408において、この最も近い書込ポ
インタの値を現在の読出ポインタの値から減算して、差
分を求める。ステップS410において、その差分が、
差分の許容される最大値(以下、最大許容差分値とい
う。)と比較される。この最大許容差分値は、ステップ
S400においてCPU26がオーディオデコード割込
に応答する際に生じる最大の遅延時間内における書込ポ
インタ318の動きを予測した関数で表される。
【0039】ステップS410において、位置350に
おける最も近い書込ポインタの値と現在の読出ポインタ
の値との差分が、最大許容差分値以上かが判定され、該
当するときは、処理は終了する。すなわち、オーディオ
用のPTSテーブル302の位置352におけるPTS
の値を含めて、現在の読出ポインタ318によって読み
出されているオーディオデータに対応するPTSの値は
ないということである。ステップS410において、そ
の差分が、最大許容差分値未満のときは、処理はステッ
プS412に進む。すなわち、検出された書込ポインタ
の位置350に対応した位置352のPTSの値は、読
出ポインタ318によって現在読み出されているオーデ
ィオデータに対応していると決定される。
【0040】ステップS412において、位置350の
最も近い書込ポインタの値に対応したフレームカウンタ
354の値が評価され、それが、オーディオフレームの
数の観点から判断されるオーディオデコード処理の期間
又は時間、すなわち長さに略等しいかが判定される。オ
ーディオデータのフレームをデコードするのに必要な実
時間は、かなり正確に予測することができる。また、デ
コード処理の時間は、デコードされるデータのオーディ
オフレームの数に応じて較正又は計ることができる。フ
レームカウンタは、オーディオデータの各フレームが出
力されるに従って減少されるので、フレームカウンタの
値は、デコーダの遅延におけるオーディオフレームの数
に等しいと予測される。したがって、デコード処理の最
後に、オーディオ用のPTSテーブル302のフレーム
カウンタ354の値が、現在のオーディオデータをデコ
ードする際に予想される遅延と略等しいときは、再生さ
れるオーディオデータは、オーディオ用のPTSテーブ
ル302のフレームカウンタの値が0であるPTSの値
に対応していることになる。
【0041】なお、デコード処理の間、ビットエラーが
生じる可能性があるため、ステップS412において、
カウンタの値が、オーディオデコード処理の時間内のオ
ーディオフレームの数と略等しくないと判定されること
がある。この場合、ステップS414において、フレー
ムカウンタ354の値は、変更されて、デコーダ遅延時
間内のオーディオフレームの数に設定される。したがっ
て、この処理においてエラーが起こる度に、フレームカ
ウンタのうちの1つにおけるエラー値が検出されて、訂
正される。1つのフレームカウンタの値が訂正される
と、オーディオ用のPTSテーブル302のフレームカ
ウンタ354の下に位置する他のフレームカウンタの値
も、フレームカウンタ354に対して行われたのと同じ
変化分で変更される。すなわち、マルチプレクス処理の
間、PTSの値は、FIFOバッファ300のオーディ
オデータに対応していなかったが、CPU26は、デコ
ード処理の間は、FIFOバッファ300から読み出さ
れているオーディオデータとオーディオ用のPTSテー
ブル302におけるPTSの値とを対応させることによ
って、割込に応答する。
【0042】図6に示すように、ビデオデコード処理
は、ビデオデマルチプレクス処理と同様に、オーディオ
デコード処理とは独立に、連続して並行に実行される。
図1に示すオーディオデコーダ25は、オーディオデコ
ード処理を初期化するが、一方、ビデオデコード処理の
初期化はCPU26が行う。図6に示すのステップS5
00において、CPU26は、図2に示すステップS2
04においてビデオデータパケットから抽出されたビデ
オヘッダを検出する。その後のビデオデコード処理は、
機能的にはオーディオデコード処理と同じである。すな
わち、ステップS502において、CPU26は、ビデ
オデータ用のFIFOバッファ320の図4に示す書込
ポインタ332の現在の位置を読み込む。上述したよう
に、この動作によって、時分割多重の通信バス29を介
してメモリ24内のメモリコントローラにアクセスして
いるCPU26に、遅延が生じる。したがって、ビデオ
データ用のFIFOバッファ320と対応している読出
ポインタ332は、CPU26がポインタ位置の読出の
インストラクションを出した時刻の位置、及びCPU2
6が現在の読出ポインタを認識した時刻の位置から動い
てしまう。ステップS506において、CPU26は、
ビデオ用のPTSテーブル324において現在の読出ポ
インタ位置の値に最も近い書込ポインタ位置の値、例え
ば読出ポインタ位置の値に一致した位置360の書込ポ
インタ位置の値を検出する。ステップS508におい
て、現在の読出ポインタ位置の値と、最も近い書込ポイ
ンタ位置の値との差分が求められる。ステップS510
において、この差分が、最大値と比較される。この最大
値は、オーディオデコード処理と同様に、CPU26が
書込ポインタ332の現在の位置を決定する際に生ずる
遅延時間の関数で表される。
【0043】この差分が最大値以上のときは、読出ポイ
ンタの現在の値に対応したビデオデータには、ビデオ用
のPTSテーブル324に記憶された対応するPTSの
値がないということである。一方、現在の読出ポインタ
の値と、最も近い書込ポインタの値との差分が、最大値
未満のときは、位置360の最も近い書込ポインタの値
に対応した位置362のPTSの値は、現在の読出ポイ
ンタ332によって読み出されているビデオデータに対
応していると決定される。また、ステップS512にお
いて、ビデオ用のPTSテーブル324の位置264に
おけるカウンタの値は、デコードされるフレームの数の
観点から判断されるビデオデコード処理の遅延時間に等
しい同じ値に設定される。オーディオデータと同様に、
ビデオデータをデコードするのに必要な実時間は、かな
り正確に予測できる。また、読出ポインタの現在の位置
に対応したビデオデータを処理するのに必要な時間は、
ビデオデータのフレームの数に応じて較正又は計ること
ができる。したがって、読出ポインタの現在の位置に対
応したビデオデータがビデオデコーダ23から再生され
る前に、ビデオデコーダ23によって処理されようとし
ているビデオデータのフレームの数は、ビデオ用のPT
Sテーブル324のフレームカウンタ364にロードさ
れる。その後、ステップS514において、CPU26
は、ビデオデコーダ23に対して、ビデオデコード処理
を開始するコマンドを供給する。
【0044】上述したように、オーディオデータ及びビ
デオデータは、図4に示すオーディオ用及びビデオ用の
各FIFOバッファ300、320から連続的に読み出
され、読み出されたデータは、オーディオ及びビデオの
各デコーダ25、23によって連続的に、独立して並行
に処理される。オーディオデコード処理の間、オーディ
オデコーダ25は、利用者に出力できる状態にあるオー
ディオフレームを生成する。その時、オーディオデコー
ダ25は、CPU26に対してオーディオフレーム割込
をかけ、その後直ちに、オーディオフレームのパケット
の再生を開始する処理を行う。図7に示すように、ステ
ップS600において、CPU26は、オーディオフレ
ーム割込に応答して、図4に示すオーディオ用のPTS
テーブル302の全てのフレームカウンタ309の値を
1ずつ減少させる。ステップS604において、CPU
26は、値が0になっているフレームカウンタがあるか
を検出する。例えば、CPU26は、フレームカウンタ
370の値が0であることを検出すると、ステップS6
06に進む。ステップS606において、CPU26
は、値が0であるフレームカウンタ対応したオーディオ
PTSの値を、例えば位置372から読み出す。
【0045】フレームカウンタの状態が0であることを
検出すると、ステップS608において、CPU26
は、オーディオがマスターとして選択されていたかを判
定し、該当するときはステップS610に進む。オーデ
ィオデータとビデオデータを同期させる方法には、互い
に異なる幾つかの方法がある。上述したように、CPU
26内に設けられたシステムタイムカウンタは、オーデ
ィオ及びビデオのフレームを再生している間、動作して
いる。完全に同期している場合は、オーディオ及びビデ
オのフレームが出力されるとき、それらの記憶されたP
TSの値が、システムタイムカウンタの現在の値に等し
くなる。ところで、出力フレームのオーディオストリー
ム又はビデオストリームのどちらかが、システムタイム
カウンタに同期しないか、又は互いに同期しない場合が
ある。同期をとるための第1の方法として、オーディオ
をマスターとして選択し、ビデオをオーディオに同期さ
せる方法がある。第2の方法として、ビデオをマスター
として選択し、オーディオをビデオに同期させる方法が
ある。第3の方法として、オーディオ及びビデオの両方
をシステムタイムカウンタに同期させる方法がある。こ
れらの各方法には、信号源、信号源のフォーマット、オ
ーディオ/ビデオプロセッサの能力等に依存した利点と
欠点がある。通常、オーディオをマスターとするか、ビ
デオをマスターとするか、又はマスターなしかを選択す
ることは、テレビジョン受像機の製造者によって選択さ
れるシステムパラメータである。又は、利用者が、これ
を選択することもできる。他の応用としては、マスター
を、オーディオ/ビデオプロセッサによって動的に適応
的に選択する方法がある。
【0046】CPU26が、図7のステップS608に
おいて、オーディオがマスターであると判定すると、ス
テップS610において、CPU26は、システムタイ
ムカウンタの現在の値と、例えば位置372等の値が0
であるフレームカウンタに対応したPTSの値との差分
に、システムタイムカウンタが等しくなるように、シス
テムタイムカウンタを拡張し、又その値にオフセットを
与える。このシステムタイムカウンタの拡張は、以下に
述べるように、ビデオを同期させるのに用いられる。C
PU26は、ステップS608において、オーディオが
マスターではないと判定すると、ステップS612にお
いて、CPU26は、PTSテーブルの値が0であるカ
ウンタに対応したPTSの値が、システムタイムカウン
タの現在の値に現在のシステムタイムカウンタの拡張分
を加えた値に対して一定の範囲内にあるかを判定する。
上述したステップS608におけるオーディオがマスタ
ーである場合と同様に、ビデオマスターモードが用いら
れると、ビデオ再生処理において、システムタイムカウ
ンタの拡張の値が生成及び更新される。ところで、オー
ディオ及びビデオのどちらともマスターとして選択され
ていない場合、システムタイムカウンタの拡張の値は0
である。ステップS612において、選択されたPTS
の値が、システムタイムカウンタとシステムタイムカウ
ンタの拡張分と一定の制限値とを加算した値と比較され
る。この制限値の大きさは、オーディオにおいては、C
PUがメモリコントローラと通信することによる遅延
と、CPUがPTS割込に応答するまでの遅延と、オー
ディオ及びビデオの同期において許容される程度のエラ
ーとを加算した値に略等しい。
【0047】ステップS612において、PTSテーブ
ル302から読み出したPTSの値が、システムタイム
カウンタの現在の値とにその拡張分と制限値と加算した
値よりも大きい、すなわちオーディオフレームが、シス
テム自体がオーディオフレームに求めている再生の時間
よりも早く又は先行して再生されているときは、処理は
ステップS614に進む。すなわち、再生されているオ
ーディオフレームとビデオフレームとの同期が明らかに
ずれている場合である。ステップS614において、C
PU26は、同期のずれを是正するために、オーディオ
フレームを反復するインストラクションをオーディオデ
コーダ25に供給する。ビデオフレームが自然に進行し
ている間にオーディオフレームを反復させることによっ
て、オーディオフレームは時間的に戻った状態となり、
ビデオフレームと再び同期することになる。
【0048】ステップS612において、PTSテーブ
ル302から読み出されたのPTSの値が、システムタ
イムカウンタの現在の値とその拡張分と制限値とを加算
した値よりも小さい場合、ステップS616において、
CPU26は、PTSテーブル302のPTSの値が、
システムタイムカウンタの現在の値とその拡張分の加算
値から制限値を減算した値よりも小さいかを判定し、該
当するときにはステップS618に進む。PTSの値が
小さいときは、オーディオフレームが、システム自体が
オーディオフレームに求めている再生の時間よりも遅く
又は後行して再生されていることを意味する。ステップ
S618において、CPU26は、同期のずれを是正す
るために、オーディオフレームをスキップするインスト
ラクションをオーディオデコーダ25に供給する。ビデ
オフレームが自然に進行している間にオーディオフレー
ムをスキップすることによって、オーディオフレームは
時間的に進んだ状態となり、ビデオフレームと再び同期
することになる。
【0049】図8に示すように、ビデオフレームの出力
処理は、最初の部分以外は図7に示すオーディオフレー
ムの出力処理に類似している。ステップS700におい
て、CPU26は、ビデオフレームの再生を制御するラ
スタスキャン処理から発生する割込に応答する。ステッ
プS700において、割込に応答した後、ステップS7
02において、CPU26は、ビデオを再生するための
様々な内部レジスタを初期化する。その後、ステップS
704において、CPU26は、例えばフレームカウン
タ336、364等の全てのフレームカウンタの値を1
ずつ減少させる。なお、CPUは、FFという値を有す
るビデオフレームカウンタは減少させない。ステップS
708において、CPUは、値が0になっているフレー
ムカウンタがあるかを判定する。CPU26は、例えば
フレームカウンタ336の値が0であることを検出する
と、そのビデオPTSの値を読み出す。
【0050】図8に示すステップS712において、C
PU26は、ビデオがマスターであるかを判定し、該当
するときはステップS714に進む。ステップS714
において、CPU26は、システムタイムカウンタの現
在の値と、例えば位置372等の値が0であるフレーム
カウンタに対応したPTSの値との差分に、システムタ
イムカウンタが等しくなるように、システムタイムカウ
ンタを拡張し、又はその値にオフセットを与える。CP
U26は、ステップS712において、オーディオがマ
スターではないと判定すると、ステップS716におい
て、CPU26は、PTSテーブルカウンタの値が0で
あるカウンタに対応したPTSの値が、システムカウン
タの現在の値に対して一定の範囲内にあるかを判定す
る。ステップS716において、CPU26は、PTS
テーブルの位置338のビデオPTSの値が、システム
タイムカウンタの現在の値とその拡張分と制限値とを加
算した値よりも大きいかを判定する。この制限値は、ビ
デオの場合、最短のビデオフレームの持続時間の半分の
値に略等しい値とされる。ステップS716において、
PTSテーブルの位置338のビデオPTSの値が、シ
ステムタイムカウンタの現在の値とその拡張分と制限値
とを加算した値よりも大きい場合、ビデオフレームが、
システム自体がビデオフレームに求めている再生の時間
よりも早く又は先行して再生されていることを意味す
る。ステップS718において、CPU26は、同期の
ずれを是正するために、ビデオフレームを反復するイン
ストラクションをビデオデコーダ23に供給する。オー
ディオフレームが自然に進行している間にビデオフレー
ムを反復させることによって、ビデオフレームは時間的
に戻った状態となり、オーディオフレームと再び同期す
ることになる。
【0051】ステップS716において、PTSテーブ
ルの位置338のビデオPTSの値が、システムタイム
カウンタの現在の値とその拡張分と制限値と加算した値
よりも小さい場合、ビデオフレームは、システム自体が
ビデオフレームに求めている再生の時間よりも遅く又は
後行して再生されていることを意味する。ステップS7
22において、CPU26は、同期ずれを是正するため
に、ビデオフレームをスキップするインストラクション
をビデオデコーダ23に供給する。オーディオフレーム
が自然に進行している間にビデオフレームをスキップす
ることによって、ビデオフレームは時間的に進んだ状態
となり、オーディオフレームと再び同期することにな
る。
【0052】すなわち、オーディオ及びビデオ出力処理
は、利用者に対してオーディオとビデオが同期するよう
に、並行して、連続的に、独立して行われる。この処理
の間、現在表示されているビデオフレームのPTSと、
現在出力されているオーディオフレームのPTSとが比
較されて、同期ずれが検出されると、ビデオフレームを
反復するか又はスキップして、同期を取り戻すようにす
る。
【0053】本発明を適用した上述のテレビジョン受像
機には、従来の装置にはない重要な利点がある。従来の
装置では、オーディオPTS割込に対する応答が遅延す
ることと、オーディオデータのパケットを非常に速く処
理しなければならないことの組合せによって、オーディ
オ用のPTSテーブルから間違ったオーディオPTSの
値が選択される虞があった。この場合、間違ったオーデ
ィオPTSの値が、オーディオデータFIFOから読み
出されているオーディオデータに対応してしまうことに
なる。従来の装置では、図6で述べたように、オーディ
オ用のPTSテーブル302のカウンタは、ビデオカウ
ンタと同じように動作する。したがって、オーディオ用
のPTSテーブルの記憶域309に設けられたカウンタ
は、オーディオデコード処理の間に、オーディオデコー
ダの時間に一致したオーディオフレームの数とともに、
ロードされる。したがって、従来の装置では、間違った
PTSの値がPTSテーブルから選択されると、デコー
ドによる遅延の後、間違ったフレームカウンタの値がP
TSテーブル302に記憶される。更に、この間違った
PTSの値が、オーディオとビデオを同期して再生させ
る目的に用いられ、結果的に、オーディオとビデオの同
期がすれて利用者に出力される。
【0054】本発明では、オーディオデータパケットの
ヘッダ情報に含まれているオーディオフレームの数が、
オーディオ用のPTSテーブル302のフレームカウン
タと、対応するPTSの値とを生成する際に、デマルチ
プレクス処理の一部として、用いられる。また、フレー
ムカウンタの値は、各オーディオフレームを出力するデ
コード処理の間に、減少され、したがって、オーディオ
用のPTSテーブル302に基づいてデコードされて出
力されるオーディオフレームの数は、各オーディオデー
タパケットのデコード処理の間、正確に制御される。こ
の方法は、PTSの値と出力されるデコードされたデー
タとを対応させるのに、PTSの値を識別するためにメ
モリポインタ同士を比較する従来の方法よりも遙かに正
確な方法である。なお、本発明に係る装置では、メモリ
ポインタの比較は、発生したエラーを訂正するために、
オーディオ用のPTSテーブルカウンタ値がオーディオ
デコーダの遅延の値と略等しいかを確かめるためのみに
用いられている。
【0055】本発明では、ヘッダブロックからのオーデ
ィオフレームの数を用いて、デコード処理におけるPT
Sの値をCPU内のオーディオフレームカウンタに入れ
ることにより、再生処理の間、オーディオPTSの値
と、デマルチプレクスされたオーディオデータとを正確
にに一致させ続けることができる。ビデオデータパケッ
トのヘッダ部には、予測されるPTSの値の間のビデオ
フレームの数に関する同様な情報が含まれていない。し
かし、本発明では、オーディオフレームの再生が非常に
正確なので、図7及び図8に示した処理に従ってオーデ
ィオとビデオが同期するように調節することによって、
理想的な再生に極めて近い状態で、オーディオとビデオ
を高い精度で同期させて出力することができる。
【0056】なお、本発明は、上述した実施の形態に限
定されるものではなく、例えば、オーディオデータパケ
ットのヘッダブロックには、PTSの値を含むととも
に、連続したオーディオPTSの値の間のオーディオデ
ータのバイト数、すなわち現在のデータパケットのオー
ディオデータのバイト数と、次のPTSの値を有するが
データパケットまでのオーディオデータのバイト数とを
加算したバイト数が含まれている。このデータを、書込
ポインタの位置の代わりに、オーディオ用及びビデオ用
のPTSテーブル302、324に記憶するようにして
もよい。
【0057】図4では、フレームカウンタの値を、オー
ディオデータパケットのヘッダブロックからのオーディ
オフレームの数に、前のカウンタの値を加算することに
よって求め、この加算値を、現在のPTSの値に対応し
たフレームカウンタに書き込むようにしている。そし
て、全てのフレームカウンタの値を、各オーディオフレ
ームが出力される度に1ずつ減少するようにしている。
このような処理の代わりに、例えばオーディオデータパ
ケットのヘッダブロックからのオーディオフレームの数
を、フレームカウンタに書き込むようにしてもよい。こ
の場合、現在動作しているカウンタのみの値が、オーデ
ィオフレームの出力に伴って減少される。カウンタの値
が0になると、次のカウンタの値が減少される。
【0058】上述の実施の形態ではオーディオとビデオ
を同期させるために、例えば装置のシステムタイムカウ
ンタを用いている。このシステムタイムカウンタは、オ
ーディオデータ及びビデオデータを再生するときに、P
TSの値と直接関係するカウントの状態を示すカウンタ
である。このようなシステムタイムカウンタの代わり
に、例えばPTSの値によって調整することができる他
のカウンタ又はクロックを用いて、オーディオとビデオ
を同期させるようにしてもよい。
【0059】
【発明の効果】本発明では、ヘッダブロックからのオー
ディオフレームの数を用いて、デコード処理におけるP
TSの値をCPU内のオーディオフレームカウンタに入
れることにより、再生処理の間、オーディオPTSの値
と、デマルチプレクスされたオーディオデータとを正確
に一致させ続けることができる。ビデオデータパケット
のヘッダ部には、予測されるPTSの値の間のビデオフ
レームの数に関する同様な情報が含まれていない。しか
し、本発明では、オーディオフレームの再生が非常に正
確なので、オーディオとビデオが同期するように調節す
ることによって、理想的な再生に極めて近い状態で、オ
ーディオとビデオを高い精度で同期させて出力すること
ができる。
【図面の簡単な説明】
【図1】 本発明を適用したデジタルオーディオ/ビデ
オプロセッサを用いたテレビジョン受像機の具体的な構
成を示すブロック図である。
【図2】 デジタルオーディオ/ビデオプロセッサを構
成するデマルチプレクサの動作を説明するためのフロー
チャートである。
【図3】 CPUで実行されるデマルチプレクス処理を
説明するためのフローチャートである。
【図4】 デジタルオーディオ/ビデオプロセッサを構
成するメモリ内のデータの配置を示す模式図である。
【図5】 CPUで実行されるオーディオデコード処理
を説明するためのフローチャートである。
【図6】 CPUで実行されるビデオデコード処理を説
明するためのフローチャートである。
【図7】 CPUで実行されるオーディオデータのフレ
ームの再生処理を説明するためのフローチャートであ
る。
【図8】 CPUで実行されるビデオデータのフレーム
の再生処理を説明するためのフローチャートである。
【符号の説明】
18 テレビジョン受像機、19 デマルチプレクサ、
20 デジタルオーディオ/ビデオプロセッサ、23
ビデオデコーダ、24 メモリ、25 オーディオデコ
ーダ、26 CPU、27 オーディオI/O、28
ビデオ混合器、29 時分割多重化のバス、38 エン
コーダ、40 D/A、42 ビデオモニタ、48 ホ
ストプロセッサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI H04N 5/93 H04N 5/93 A 7/04 G 7/045 7/04 101 (56)参考文献 特開 平10−271457(JP,A) 特開 平10−262246(JP,A) 特開 平10−136355(JP,A) 特開 平9−128895(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11B 27/00 - 27/10 G09G 5/00 - 5/12 H04N 5/60 H04N 5/91 - 5/93 H04N 7/04

Claims (31)

    (57)【特許請求の範囲】
  1. 【請求項1】 オーディオのプレゼンテーションタイム
    スタンプの値を、特定のオーディオデータパケット及び
    ビデオデータパケットはオーディオデータとビデオデー
    タを関連付けて再生するための望ましい再生時刻を表す
    プレゼンテーションタイムスタンプの値と、該特定のパ
    ケット間の再生されるオーディオ出力フレームの数を表
    すオーディオフレーム数とを含むオーディオデータパケ
    ットとして入力されるオーディオ入力データをデマルチ
    プレクス及びデコードして得られる連続したオーディオ
    フレームの一部であり、ビデオデータパケットとして入
    力されるビデオ入力データをデマルチプレクス及びデコ
    ードして得られる連続したビデオフレームの一部である
    ビデオ出力フレームとともに再生されるオーディオ出力
    フレームに関連付けるオーディオとビデオの同期方法に
    おいて、 オーディオ及びビデオのデマルチプレクス処理の間にオ
    ーディオ及びビデオのプレゼンテーションタイムスタン
    プの値を特定のオーディオ及びビデオデータパケットに
    記憶するステップと、 オーディオのデマルチプレクス処理の間に上記記憶され
    たオーディオプレゼンテーションタイムスタンプの値の
    うちの1つに対応している各オーディオフレームカウン
    タにオーディオフレームの数を記憶するステップと、 オーディオ及びビデオデータを特定のオーディオデータ
    パケット及びビデオデータパケットとして連続的にデコ
    ードし、オーディオ及びビデオのフレームをそれぞれ生
    成するステップと、 オーディオのフレームとビデオのフレームを利用者に対
    して同期して再生させるステップと、 オーディオのフレームの再生に応答してオーディオフレ
    ームカウンタの値を選択的に減少させるステップと、 値が0であるオーディオフレームカウンタの1つを検出
    するステップと、 上記オーディオフレームカウンタの1つに対応したオー
    ディオのプレゼンテーションタイムスタンプの値を読み
    出すステップと、 オーディオ及びビデオのフレームの再生を選択的に修正
    して、オーディオとビデオを利用者に対して同期して出
    力させるステップとを有するオーディオとビデオの同期
    方法。
  2. 【請求項2】オーディオとビデオの同期方法において、
    オーディオのプレゼンテーションタイムスタンプの値を
    読み出すステップの後に、 システムタイムカウンタの値が、オーディオフレームカ
    ウンタの1つに対応したオーディオのプレゼンテーショ
    ンタイムスタンプの値とシステムタイムカウンタの現在
    の値との差分と略等しくなるようにオーディオクロック
    の拡張を行うステップと、 システムタイムカウンタがオーディオのフレームと同期
    して再生するように、上記オーディオクロックの拡張に
    よってシステムタイムカウンタの現在の値を調整するス
    テップとを更に有する請求項1に記載のオーディオとビ
    デオの同期方法。
  3. 【請求項3】ビデオデコード処理の開始時に、ビデオデ
    コード処理の持続時間と略等しい持続時間を持った、各
    ビデオフレームカウンタのビデオフレームの枚数を、特
    定のビデオデータパケットとして記憶するステップと、 ビデオのフレームの再生に応答して全てのビデオフレー
    ムカウンタの値を減少させるステップと、 値が0であるビデオフレームカウンタの1つを検出する
    ステップと、 上記ビデオフレームカウンタの1つに対応したビデオの
    プレゼンテーションタイムスタンプの値を読み出すステ
    ップと、 ビデオフレームカウンタの1つに対応したビデオのプレ
    ゼンテーションタイムスタンプの値が、システムタイム
    カウンタの現在の値にオーディオクロックの拡張分を加
    算した値と略等しいと判定し、オーディオフレームとビ
    デオフレームが同期すると判定するステップとを更に有
    する請求項2に記載のオーディオとビデオの同期方法。
  4. 【請求項4】値が0であるビデオフレームカウンタの1
    つに応答して、ビデオのフレームが、現在利用者に出力
    されているオーディオのフレームと同期せずに速く出力
    されていると判定するステップと、 ビデオのフレームがオーディオのフレームと同期して出
    力されるようにビデオのフレームを反復するステップと
    を更に有する請求項3に記載のオーディオとビデオの同
    期方法。
  5. 【請求項5】ビデオフレームカウンタの1つに対応した
    ビデオのプレゼンテーションタイムスタンプの値が、シ
    ステムタイムカウンタの現在の値にオーディオクロック
    の拡張分を加算した値より大きいと判定し、ビデオのフ
    レームがオーディオのフレームよりも速く出力されてい
    ると判定するステップを更に有する請求項4に記載のオ
    ーディオとビデオの同期方法。
  6. 【請求項6】値が0であるビデオフレームカウンタの1
    つに応答して、ビデオのフレームが、現在利用者に出力
    されているオーディオのフレームと同期せずに遅く出力
    されていると判定するステップと、 ビデオのフレームがオーディオのフレームと同期して出
    力されるようにビデオのフレームをスキップするステッ
    プとを更に有する請求項5に記載のオーディオとビデオ
    の同期方法。
  7. 【請求項7】ビデオフレームカウンタの1つに対応した
    ビデオのプレゼンテーションタイムスタンプの値が、シ
    ステムタイムカウンタの現在の値にオーディオクロック
    の拡張分を加算した値より小さいと判定し、ビデオのフ
    レームがオーディオのフレームよりも遅く出力されてい
    ると判定するステップを更に有する請求項6に記載のオ
    ーディオとビデオの同期方法。
  8. 【請求項8】ビデオフレームカウンタの1つに対応した
    ビデオのプレゼンテーションタイムスタンプの値が、シ
    ステムタイムカウンタの現在の値にオーディオクロック
    の拡張分を足してオーディオデータのデコード処理にお
    ける遅延時間とオーディオ及びビデオの同期において許
    容される程度のエラーとを加算した値に略等しい制限値
    を減算したものより小さいと判定するステップを更に有
    する請求項7に記載のオーディオとビデオの同期方法。
  9. 【請求項9】ビデオの再生フレームとオーディオの再生
    フレームの同期を決定するために、オーディオマスター
    同期が選択されているかを検出するステップを有する請
    求項8に記載のオーディオとビデオの同期方法。
  10. 【請求項10】ビデオデコード処理の開始時に、ビデオ
    デコード処理の持続時間と略等しい持続時間を持った、
    各ビデオフレームカウンタのビデオフレームの枚数を、
    特定のビデオデータパケットとして記憶するステップ
    と、 ビデオのフレームの再生に応答して全てのビデオフレー
    ムカウンタの値を減少させるステップと、 値が0であるビデオフレームカウンタの1つを検出する
    ステップと、 上記ビデオフレームカウンタの1つに対応したビデオの
    プレゼンテーションタイムスタンプの値を読み出すステ
    ップと、 システムタイムカウンタの値が、ビデオフレームカウン
    タの1つに対応したビデオのプレゼンテーションタイム
    スタンプの値とシステムタイムカウンタの現在の値との
    差分と略等しくなるようにビデオクロックの拡張を行う
    ステップと、 システムタイムカウンタがビデオのフレームと同期して
    再生するように、上記ビデオクロックの拡張によってシ
    ステムタイムカウンタの現在の値を調整するステップと
    を更に有する請求項1に記載のオーディオとビデオの同
    期方法。
  11. 【請求項11】値が0であるオーディオフレームカウン
    タの1つに応答して、オーディオのフレームが、現在利
    用者に出力されているビデオのフレームと同期せずに速
    く出力されていると判定するステップと、 オーディオのフレームがビデオのフレームと同期して出
    力されるようにオーディオのフレームを反復するステッ
    プとを更に有する請求項10に記載のオーディオとビデ
    オの同期方法。
  12. 【請求項12】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値にビデオク
    ロックの拡張分を加算した値より大きいと判定し、オー
    ディオのフレームがビデオのフレームよりも速く出力さ
    れていると判定するステップを更に有する請求項11に
    記載のオーディオとビデオの同期方法。
  13. 【請求項13】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値にビデオク
    ロックの拡張分と最短のビデオフレームの持続時間の略
    半分と略等しい制限値とを加算した値より大きいと判定
    するステップを更に有する請求項12に記載のオーディ
    オとビデオの同期方法。
  14. 【請求項14】値が0であるオーディオフレームカウン
    タの1つに応答して、オーディオのフレームが、現在利
    用者に出力されているビデオのフレームと同期せずに遅
    く出力されていると判定するステップと、 オーディオのフレームがビデオのフレームと同期して出
    力されるようにオーディオのフレームをスキップするス
    テップとを更に有する請求項13に記載のオーディオと
    ビデオの同期方法。
  15. 【請求項15】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値にビデオク
    ロックの拡張分を加算した値より小さいと判定し、オー
    ディオのフレームがビデオのフレームよりも遅く出力さ
    れていると判定するステップを更に有する請求項14に
    記載のオーディオとビデオの同期方法。
  16. 【請求項16】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値にビデオク
    ロックの拡張分を加算して最短のビデオフレームの持続
    時間の略半分と略等しい制限値を減算した値より小さい
    と判定するステップを更に有する請求項15に記載のオ
    ーディオとビデオの同期方法。
  17. 【請求項17】オーディオの再生フレームとビデオの再
    生フレームの同期を決定するために、ビデオマスター同
    期が選択されているかを検出するステップを有する請求
    項16に記載のオーディオとビデオの同期方法。
  18. 【請求項18】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値より大きい
    と判定し、オーディオのフレームがビデオのフレームよ
    りも速く出力されていると判定するステップを更に有す
    る請求項11に記載のオーディオとビデオの同期方法。
  19. 【請求項19】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値に最短のビ
    デオフレームの持続時間の略半分と略等しい制限値を加
    算した値より大きいと判定するステップを更に有する請
    求項18に記載のオーディオとビデオの同期方法。
  20. 【請求項20】値が0であるオーディオフレームカウン
    タの1つに応答して、オーディオのフレームが、現在利
    用者に出力されているビデオのフレームと同期せずに遅
    く出力されていると判定するステップと、 オーディオのフレームがビデオのフレームと同期して出
    力されるようにオーディオのフレームをスキップするス
    テップとを更に有する請求項19に記載のオーディオと
    ビデオの同期方法。
  21. 【請求項21】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値より小さい
    と判定し、オーディオのフレームがビデオのフレームよ
    りも遅く出力されていると判定するステップを更に有す
    る請求項20に記載のオーディオとビデオの同期方法。
  22. 【請求項22】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値に最短のビ
    デオフレームの持続時間の略半分と略等しい制限値を減
    算した値より小さいと判定するステップを更に有する請
    求項21に記載のオーディオとビデオの同期方法。
  23. 【請求項23】値が0であるビデオフレームカウンタの
    1つに応答して、ビデオのフレームが、現在利用者に出
    力されているオーディオのフレームと同期せずに速く出
    力されていると判定するステップと、 ビデオのフレームがオーディオのフレームと同期して出
    力されるようにビデオのフレームを反復するステップと
    を更に有する請求項22に記載のオーディオとビデオの
    同期方法。
  24. 【請求項24】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値より大きい
    と判定し、オーディオのフレームがビデオのフレームよ
    りも速く出力されていると判定するステップを更に有す
    る請求項23に記載のオーディオとビデオの同期方法。
  25. 【請求項25】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値に最短のビ
    デオフレームの持続時間の略半分と略等しい制限値を加
    算した値より大きいと判定するステップを更に有する請
    求項24に記載のオーディオとビデオの同期方法。
  26. 【請求項26】値が0であるオーディオフレームカウン
    タの1つに応答して、オーディオのフレームが、現在利
    用者に出力されているビデオのフレームと同期せずに遅
    く出力されていると判定するステップと、 オーディオのフレームがビデオのフレームと同期して出
    力されるようにオーディオのフレームをスキップするス
    テップとを更に有する請求項25に記載のオーディオと
    ビデオの同期方法。
  27. 【請求項27】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値より小さい
    と判定し、オーディオのフレームがビデオのフレームよ
    りも遅く出力されていると判定するステップを更に有す
    る請求項26に記載のオーディオとビデオの同期方法。
  28. 【請求項28】オーディオフレームカウンタの1つに対
    応したオーディオのプレゼンテーションタイムスタンプ
    の値が、システムタイムカウンタの現在の値に最短のビ
    デオフレームの持続時間の略半分と略等しい制限値を減
    算した値より小さいと判定するステップを更に有する請
    求項27に記載のオーディオとビデオの同期方法。
  29. 【請求項29】クロックの拡張が決定及び使用されず、
    ビデオとオーディオが独立してシステムタイムカウンタ
    と同期するマスター同期が選択されていないかを検出す
    るステップを更に有する請求項27に記載のオーディオ
    とビデオの同期方法。
  30. 【請求項30】特定のオーディオデータパケット及びビ
    デオデータパケットはプレゼンテーションタイムスタン
    プの値と、該特定のパケット間の再生されるオーディオ
    出力フレームの数を表すオーディオフレーム数とを含む
    オーディオの出力データのフレームとビデオの出力デー
    タのフレームを同期して出力させるオーディオとビデオ
    の同期方法において、 プレゼンテーションタイムスタンプの値を含むオーディ
    オデータパケットをデマルチプレクスするオーディオデ
    マルチプレクス処理の間に各オーディオFIFOのメモ
    リ位置にオーディオデータを連続的に記憶するステップ
    と、 第1のデマルチプレクス処理の間に、第1のメモリ位置
    のプレゼンテーションタイムスタンプの値をオーディオ
    プレゼンテーションタイムスタンプテーブルに連続的に
    記憶するステップと、 第1のデマルチプレクス処理の間に、プレゼンテーショ
    ンタイムスタンプの値を含む特定のビデオデータパケッ
    トとしてビデオFIFOメモリ位置に書き込まれたデー
    タに対応した書込ポインタの位置を、オーディオプレゼ
    ンテーションタイムスタンプテーブルの第2のメモリ位
    置に記憶するステップと、 第1のデマルチプレクス処理の間に、オーディオフレー
    ムの数をプレゼンテーションタイムスタンプテーブルの
    カウンタ位置に記憶するステップと、 CPUへの開始オーディオフレーム割込と同時にオーデ
    ィオデコード処理を開始するステップと、 開始オーディオフレーム割込に応答してオーディオFI
    FOの読出ポインタの位置を獲得するステップと、 読出ポインタの位置と略等しい、オーディオプレゼンテ
    ーションタイムスタンプテーブルの書込ポインタの位置
    を検出するステップと、 オーディオFIFOから読み出されているオーディオデ
    ータをデコードするステップと、 連続したオーディオ出力フレームを利用者に提供するス
    テップと、 オーディオプレゼンテーションタイムスタンプテーブル
    の全てのカウンタメモリ位置から1ずつ減算するステッ
    プと、 システムタイムカウンタの現在の値を、値が0であるカ
    ウンタに対応したオーディオプレゼンテーションタイム
    スタンプテーブルのプレゼンテーションタイムスタンプ
    の値に合わせるステップとを有するオーディオとビデオ
    の同期方法。
  31. 【請求項31】特定のオーディオデータパケット及びビ
    デオデータパケットはプレゼンテーションタイムスタン
    プの値を含むオーディオデータパケット及びビデオデー
    タパケットを含むオーディオ及びビデオデータをデマル
    チプレクス及びデコードして得られるオーディオとビデ
    オデータの出力フレームを同期して再生させるデジタル
    ビデオプロセッサにおいて、 オーディオデータパケット及びビデオデータパケットの
    オーディオ及びビデオデータを連続的に記憶するオーデ
    ィオ及びビデオFIFOメモリと、 プレゼンテーションタイムスタンプの値を特定のオーデ
    ィオデータパケットに連続的に記憶する第1のメモリ位
    置と、プレゼンテーションタイムスタンプの値を含む特
    定のオーディオデータパケットのオーディオFIFOメ
    モリ位置に書き込まれたデータに対応した書込ポインタ
    位置を表す値を記憶する第2のメモリ位置と、次のプレ
    ゼンテーションタイムスタンプの値が出るまで再生され
    るオーディオフレームの数を記憶するカウンタ位置とし
    て機能する第3のメモリ位置とを有するオーディオプレ
    ゼンテーションタイムスタンプメモリテーブルと、 プレゼンテーションタイムスタンプの値を特定のビデオ
    データパケットに連続的に記憶する第1のメモリ位置
    と、プレゼンテーションタイムスタンプの値を含む特定
    のビデオデータパケットのビデオFIFOメモリ位置に
    書き込まれたデータに対応した書込ポインタ位置を表す
    値を記憶する第2のメモリ位置と、利用者に対して再生
    される前にビデオデータのフレームをデコードするのに
    必要な遅延時間と略等しいビデオのフレームの数を表す
    値を記憶するカウンタ位置として機能する第3のメモリ
    位置とを有するビデオプレゼンテーションタイムスタン
    プメモリテーブルとを備えるデジタルビデオプロセッ
    サ。
JP22761998A 1997-07-28 1998-07-28 オーディオとビデオの同期方法及びデジタルビデオプロセッサ Expired - Fee Related JP3215087B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/901,090 US5959684A (en) 1997-07-28 1997-07-28 Method and apparatus for audio-video synchronizing
US08/901090 1997-07-28

Publications (2)

Publication Number Publication Date
JPH11191286A JPH11191286A (ja) 1999-07-13
JP3215087B2 true JP3215087B2 (ja) 2001-10-02

Family

ID=25413584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22761998A Expired - Fee Related JP3215087B2 (ja) 1997-07-28 1998-07-28 オーディオとビデオの同期方法及びデジタルビデオプロセッサ

Country Status (3)

Country Link
US (1) US5959684A (ja)
EP (1) EP0895427A3 (ja)
JP (1) JP3215087B2 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262777B1 (en) * 1996-11-15 2001-07-17 Futuretel, Inc. Method and apparatus for synchronizing edited audiovisual files
CN1199471C (zh) * 1997-11-28 2005-04-27 松下电器产业株式会社 提高了处理效率的图象声音处理装置
KR19990061872A (ko) * 1997-12-31 1999-07-26 서평원 에스티비에서 비디오데이터 전송제어시스템
US6678006B1 (en) * 1998-01-07 2004-01-13 Ati Technologies, Inc. Method and apparatus for video processing that includes sub-picture scaling
US6249319B1 (en) * 1998-03-30 2001-06-19 International Business Machines Corporation Method and apparatus for finding a correct synchronization point within a data stream
JP4098420B2 (ja) * 1998-11-04 2008-06-11 富士通株式会社 音響データ・動画データの同期再構築方法及び装置
US6587635B1 (en) * 1999-03-29 2003-07-01 Sony Corporation Subpicture master control
US6512552B1 (en) * 1999-03-29 2003-01-28 Sony Corporation Subpicture stream change control
CN1691643B (zh) * 1999-03-30 2010-05-12 松下电器产业株式会社 数据处理系统、数据发送/接收设备和记录媒体
US6480902B1 (en) * 1999-05-25 2002-11-12 Institute For Information Industry Intermedia synchronization system for communicating multimedia data in a computer network
AU1023601A (en) * 1999-10-07 2001-05-10 Thomson Licensing S.A. Method and device for writing data to a recording medium in digital video system
JP2003517797A (ja) * 1999-12-14 2003-05-27 サイエンティフィック−アトランタ, インコーポレイテッド 調和されたリソースの割当てを有するビデオ信号を適応的に復号化するシステムおよび方法
TW526666B (en) * 2000-03-29 2003-04-01 Matsushita Electric Ind Co Ltd Reproducing method for compression coded data and device for the same
US6654956B1 (en) * 2000-04-10 2003-11-25 Sigma Designs, Inc. Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data
US7136577B1 (en) * 2000-06-29 2006-11-14 Tandberg Telecom As RTP-formated media clips
JP2004507172A (ja) * 2000-08-16 2004-03-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディアアプリケーションを再生する方法
US6975363B1 (en) * 2000-08-31 2005-12-13 Microsoft Corporation Methods and systems for independently controlling the presentation speed of digital video frames and digital audio samples
US6813438B1 (en) 2000-09-06 2004-11-02 International Business Machines Corporation Method to customize the playback of compact and digital versatile disks
US6920181B1 (en) 2000-09-19 2005-07-19 Todd Porter Method for synchronizing audio and video streams
JP4208398B2 (ja) * 2000-10-05 2009-01-14 株式会社東芝 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置
JP2002290932A (ja) * 2001-03-27 2002-10-04 Toshiba Corp デジタル放送受信装置とその制御方法
TW499818B (en) * 2001-03-29 2002-08-21 Winbond Electronics Corp Audio/video packet synchronous decoding method
US7047201B2 (en) * 2001-05-04 2006-05-16 Ssi Corporation Real-time control of playback rates in presentations
US6639649B2 (en) * 2001-08-06 2003-10-28 Eastman Kodak Company Synchronization of music and images in a camera with audio capabilities
US7274857B2 (en) 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
US7729421B2 (en) * 2002-02-20 2010-06-01 International Business Machines Corporation Low latency video decoder with high-quality, variable scaling and minimal frame buffer memory
US8046792B2 (en) * 2002-03-20 2011-10-25 Tvworks, Llc Multi-channel audio enhancement for television
US6850284B2 (en) * 2002-08-27 2005-02-01 Motorola, Inc. Method and apparatus for decoding audio and video information
EP1554868A4 (en) * 2002-10-24 2011-06-01 Thomson Licensing METHOD AND SYSTEM FOR MAINTAINING LIP SYNCHRONIZATION
JP2004294584A (ja) * 2003-03-26 2004-10-21 Sony Corp 音楽データ転送記録方法および音楽再生装置
US8086752B2 (en) * 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
JP4459590B2 (ja) * 2003-10-10 2010-04-28 パナソニック株式会社 Dtvデータ処理装置
JP2005167338A (ja) * 2003-11-28 2005-06-23 Toshiba Corp 映像音声再生装置
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7471337B2 (en) * 2004-06-09 2008-12-30 Lsi Corporation Method of audio-video synchronization
US7400653B2 (en) * 2004-06-18 2008-07-15 Dolby Laboratories Licensing Corporation Maintaining synchronization of streaming audio and video using internet protocol
US8600217B2 (en) * 2004-07-14 2013-12-03 Arturo A. Rodriguez System and method for improving quality of displayed picture during trick modes
US20060018633A1 (en) * 2004-07-22 2006-01-26 Ching-Yu Tsai Digital video storage system and related method of storing digital video data
EP1788572A4 (en) * 2004-08-03 2012-01-04 Sharp Kk INFORMATION RECORDING DEVICE, INFORMATION RECORDING PROGRAM, MEDIUM WITH RECORDED INFORMATION RECORDING PROGRAM, RECORDING MEDIUM, INFORMATION RECORDING METHOD, REPRODUCING DEVICE
US8233540B2 (en) * 2005-03-10 2012-07-31 Qualcomm Incorporated Method of time base reconstruction for discrete time labeled video
KR20060105890A (ko) * 2005-03-31 2006-10-12 삼성전자주식회사 디지털 방송 수신 장치 및 그 장치에서의 동기화 처리 방법
CA2541560C (en) 2006-03-31 2013-07-16 Leitch Technology International Inc. Lip synchronization system and method
TWI314017B (en) * 2006-07-12 2009-08-21 Quanta Comp Inc System and method for synchronizing video frames and audio frames
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US20080144505A1 (en) * 2006-11-03 2008-06-19 Michael Anthony Isnardi Method and Apparatus for Bitrate Reduction
CN100450163C (zh) * 2006-11-30 2009-01-07 中兴通讯股份有限公司 一种移动多媒体广播视音频同步播放的方法
CN100546391C (zh) * 2007-03-09 2009-09-30 北京牡丹视源电子有限责任公司 数字电视视音频同步性测量方法
US20090033791A1 (en) * 2007-07-31 2009-02-05 Scientific-Atlanta, Inc. Video processing systems and methods
JP4858389B2 (ja) * 2007-09-28 2012-01-18 日本電気株式会社 動画像受信装置、動画像受信方法、及びプログラム
KR100915798B1 (ko) * 2008-01-24 2009-09-07 주식회사 텔레칩스 개선된 압축 포맷에 의한 디지털 방송 녹화 방법
US8300696B2 (en) * 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
CN101827271B (zh) * 2009-03-04 2012-07-18 联芯科技有限公司 音频视频同步方法、装置以及数据接收终端
US20100231788A1 (en) * 2009-03-11 2010-09-16 Chao-Kuei Tseng Playback system and method synchronizing audio and video signals
JP2010035183A (ja) * 2009-09-14 2010-02-12 Panasonic Corp Dtvデータ処理装置
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US9398322B2 (en) 2011-04-27 2016-07-19 Time Warner Cable Enterprises Llc Multi-lingual audio streaming
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
CN106034263B (zh) * 2015-03-09 2020-03-03 腾讯科技(深圳)有限公司 媒体文件中音视频的校准方法、装置及存储介质
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
CN106331562B (zh) * 2015-06-16 2020-04-24 南宁富桂精密工业有限公司 云端服务器、控制设备及音频视频同步方法
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
DE102017123319A1 (de) * 2017-10-09 2019-04-11 Sennheiser Electronic Gmbh & Co. Kg Verfahren und System zur Erfassung und Synchronisation von Audio- und Videosignalen und Audio/Video-Erfassungs- und Synchronisationssystem
CN108495164B (zh) * 2018-04-09 2021-01-29 珠海全志科技股份有限公司 音视频同步处理方法及装置、计算机装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396497A (en) * 1993-02-26 1995-03-07 Sony Corporation Synchronization of audio/video information
JP3197766B2 (ja) * 1994-02-17 2001-08-13 三洋電機株式会社 Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ
US5642171A (en) * 1994-06-08 1997-06-24 Dell Usa, L.P. Method and apparatus for synchronizing audio and video data streams in a multimedia system
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5815634A (en) * 1994-09-30 1998-09-29 Cirrus Logic, Inc. Stream synchronization method and apparatus for MPEG playback system
US5598352A (en) * 1994-09-30 1997-01-28 Cirrus Logic, Inc. Method and apparatus for audio and video synchronizing in MPEG playback systems
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
US5771075A (en) * 1994-12-08 1998-06-23 Lg Electronics Inc. Audio/video synchronizer
IT1268195B1 (it) * 1994-12-23 1997-02-21 Sip Decodificatore per segnali audio appartenenti a sequenze audiovisive compresse e codificate.
KR0152916B1 (ko) * 1995-04-11 1998-10-15 문정환 데이타 동기화장치 및 방법
JPH0918870A (ja) * 1995-06-30 1997-01-17 Sony Corp タイミング検出回路及びその方法
JPH09205618A (ja) * 1996-01-29 1997-08-05 Mitsubishi Electric Corp 動画像音声伸張再生装置および動画像音声同期制御器

Also Published As

Publication number Publication date
JPH11191286A (ja) 1999-07-13
EP0895427A2 (en) 1999-02-03
US5959684A (en) 1999-09-28
EP0895427A3 (en) 2006-01-18

Similar Documents

Publication Publication Date Title
JP3215087B2 (ja) オーディオとビデオの同期方法及びデジタルビデオプロセッサ
US6859612B2 (en) Decoder and reproducing unit
JP3106987B2 (ja) オーディオ・ビデオ同期再生装置
JP3197766B2 (ja) Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ
KR100290331B1 (ko) 오디오-비디오 신호의 동기 재생 장치
US6512552B1 (en) Subpicture stream change control
KR100711328B1 (ko) 데이터 처리 장치 및 방법
US6163647A (en) Apparatus for synchronized playback of audio-video signals
JP3094999B2 (ja) オーディオ・ビデオ同期再生装置
US5596420A (en) Auto latency correction method and apparatus for MPEG playback system
EP0783824B1 (en) Programmable audio-video synchronization method and apparatus for multimedia systems
US6862044B2 (en) Digital broadcast receiving apparatus for restoring and synchronizing sound and image data and control method thereof
US6363207B1 (en) Method and apparatus for a virtual system time clock for digital audio/video processor
EP0677961A2 (en) Method for recording and reproducing data
EP2200297B1 (en) System comprising a video data reproducing apparatus and a recording medium for special mode reproduction in a picture-in-picture or double-frame display mode
US7881584B2 (en) Reproducing apparatus and method, and recording medium
US6041067A (en) Device for synchronizing data processing
JPH0918870A (ja) タイミング検出回路及びその方法
JPH10262208A (ja) 同期ずれ制御装置及び方法
JP3133630B2 (ja) Mpegシステムデコーダ
KR20040080930A (ko) 정보 처리 장치 및 방법
KR20000068121A (ko) 정보 신호 디코딩 방법 및 장치
JP2872104B2 (ja) タイムスタンプ付加装置および方法、並びにそれを用いた動画像圧縮伸張伝送システムおよび方法
US8107796B2 (en) Data processing device, data processing method, program, program recording medium, data recording medium, and data structure
US20010014853A1 (en) Decoding synchronous control apparatus, decoding apparatus, and decoding synchronous control method

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010619

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080727

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090727

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees