JP5147180B2 - ソフトウェアベースオーディオレンダリング - Google Patents
ソフトウェアベースオーディオレンダリング Download PDFInfo
- Publication number
- JP5147180B2 JP5147180B2 JP2006000680A JP2006000680A JP5147180B2 JP 5147180 B2 JP5147180 B2 JP 5147180B2 JP 2006000680 A JP2006000680 A JP 2006000680A JP 2006000680 A JP2006000680 A JP 2006000680A JP 5147180 B2 JP5147180 B2 JP 5147180B2
- Authority
- JP
- Japan
- Prior art keywords
- audio
- video
- clock
- drift
- software
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims description 271
- 238000000034 method Methods 0.000 claims description 245
- 230000008569 process Effects 0.000 claims description 225
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims 7
- 230000007423 decrease Effects 0.000 claims 1
- 239000000523 sample Substances 0.000 description 47
- 239000000872 buffer Substances 0.000 description 41
- 238000012545 processing Methods 0.000 description 21
- 238000012952 Resampling Methods 0.000 description 14
- 230000001186 cumulative effect Effects 0.000 description 9
- 238000005070 sampling Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 239000012723 sample buffer Substances 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002250 progressing effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4341—Demultiplexing of audio and video streams
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/10—Packings; Fillings; Grids
- C02F3/103—Textile-type packing
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F3/02—Aerobic processes
- C02F3/10—Packings; Fillings; Grids
- C02F3/109—Characterized by the shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43072—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8106—Monomedia components thereof involving special audio data, e.g. different tracks for different languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F3/00—Biological treatment of water, waste water, or sewage
- C02F2003/001—Biological treatment of water, waste water, or sewage using granular carriers or supports for the microorganisms
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Hydrology & Water Resources (AREA)
- Environmental & Geological Engineering (AREA)
- Water Supply & Treatment (AREA)
- Chemical & Material Sciences (AREA)
- Organic Chemistry (AREA)
- Microbiology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
次の説明は、ソフトウェアベースオーディオレンダリングならびに/あるいは外部クロックを用いるオーディオレンダリングプロセスおよび/またはビデオレンダリングプロセスの同期化の方法およびシステムに関する。
図1に、ソフトウェアベースオーディオレンダリングおよび/またはソフトウェアベースビデオレンダリングを実行する例示的なシステム100を示す。システム100に、ディスプレイデバイス104に結合された、PCなどのコンピューティングデバイス102が含まれる。コンピューティングデバイス102を、全般的に106に示されているように、インターネットなどのネットワークにも結合することができる。
ディジタルオーディオコンテンツは、ユーザのためにサウンドを累積的に作るために所与のソースレートで処理されるように構成された複数のサンプルと考えることができる。ソース110などのソースは、ソースクロックまたは外部クロック(具体的に指定されない)に従って所与のソースレートでオーディオサンプルを供給する。たとえば、所与のソースレートが、1000サンプル毎秒またはヘルツ(Hz)である場合に、そのソースは、ソースクロックに従って1000hzのレートでサンプルを作る。他のソースレートが以下で説明する技法に適するが、ソースレートは、一般に、20000ヘルツから50000ヘルツの範囲で動作する。そのように高いサンプル毎秒では、人間は、一般に個々のサンプルを検出することができない。以下で明白になるように、この事実を、オーディオクロック同期化に有利に使用することができる。
ソフトウェアベースビデオデコーダ120は、パーサ112からビデオコンテンツを受け取り、ビデオコンテンツの個々のフレームをデコードする。ソフトウェアベースビデオデコーダ120は、デコードされたフレームをバッファ122Aにバッファリングする。ソフトウェアベースビデオレンダリングエンジン124は、バッファ122Aにアクセスし、バッファ122Aに置かれたデコードされたフレームをビデオデコーダ120によってレンダリングする。フレームがレンダリングされると、ソフトウェアベースビデオレンダリングエンジンは、レンダリングされたフレームをグラフィックスハードウェア126に出力する。レンダリングされたフレームは、バッファ122Bにも保管され、ここで、このフレームを、ビデオデコーダ120によってダウンストリームフレームのデコードに使用することができる。この特定のシステムコンフィギュレーションでは、2つのバッファが使用される。しかし、他のシステムコンフィギュレーションでは、3つ以上のバッファを使用することができる。さらに、この特定のシステムコンフィギュレーションでは、2つのFIFO(先入れ先出し)バッファが利用される。
ソフトウェアベースオーディオレンダリングエンジン116およびソフトウェアベースビデオレンダリングエンジン124は、システム100が、ユーザのために対応するオーディオとビデオを同期化することを可能にする。たとえば、ソフトウェアベースビデオレンダリングエンジンは、個々のビデオフレームが、ディスプレイデバイスでの表示のためにスキャンされるディスプレイサイクルに入る実際の時刻を判定することができる。ソフトウェアベースビデオレンダリングエンジンは、この時刻をソフトウェアベースオーディオレンダリングエンジンに伝えることができ、このソフトウェアベースオーディオレンダリングエンジンは、対応するオーディオサンプルを適当な時刻にレンダリングすることができ、その結果、サウンド作成が、ビジュアルイメージに対応するようになる。そのようなプロセスを、以下で少なくとも図8〜9に関して説明する。
図2に、上で説明したソフトウェアベースビデオレンダリングプロセスを実装するのに使用できる例示的なコンピューティングデバイスを示す。コンピューティングデバイス242に、1つまたは複数のプロセッサまたは処理ユニット244、システムメモリ246、およびシステムメモリ246を含むさまざまなシステムコンポーネントをプロセッサ244に結合するバス248が含まれる。マルチスレッディング技法を1つまたは複数のプロセッサで使用して、複数のタスクの並列処理を可能にすることができる。
図3に、全般的に300に示された、外部クロックとソフトウェアベースオーディオレンダリングクロックの間の累積ドリフトを制限する例示的なソフトウェアベースオーディオレンダリングプロセスを示す。
次のアルゴリズムをソフトウェアベースオーディオレンダリングプロセスによって利用して、外部クロックとソフトウェアベースオーディオレンダクロックの間のドリフトを減らすかなくすことができる。このアルゴリズムは、オーディオクロックが外部クロックより低速の第1状態とオーディオクロックが外部クロックより高速の第2状態との間で交番することによって、ソフトウェアベースオーディオレンダクロックと外部クロックの間の累積ドリフトをなくすことができる。
ΔS×T=ΔT×Sa (1)
式(1)では、ΔSは、オーディオソースレートに、ソフトウェアベースオーディオレンダクロックと外部クロックの間のクロックレートの差を乗じたものであり、Tは、ドリフトが閾値を超えた時の時刻であり、ΔTは、閾値であり、Saは、オーディオサンプリングレートである。この2つのクロックの間の差のよい測定値をもたらすのに十分に大きいが、リップシンクが問題にならないのに十分に小さい閾値を選択するべきである。
Sm=Sa+ΔS (2)
である。
δtj=ΔAj/Sj (3)
から計算される。したがって、動作状態に入ってからのソフトウェアベースオーディオレンダリングプロセスの総オーディオ時間は、
Sc=Sm±δSc (5)
である。ここで、δScは、Sm+δScを使用するときにオーディオクロックが外部クロックよりわずかに高速であることと、Sm−δScを使用するときにオーディオクロックが外部クロックよりわずかに低速であることと、次の条件が満足されることとを保証する最小の正の値である。この特定のアルゴリズムは、オーディオクロックが事前定義の閾値の正の値と負の値の間でドリフトするように構成される。順方向または正のドリフトで累積される誤差は、逆方向または負のドリフトで累積される誤差を打ち消す。したがって、このアルゴリズムは、累積誤差を減らすかなくす。したがって、正の閾値と負の閾値の間のドリフト時間が、固定小数点誤差累積が大きくなるのに十分に長くならないように値を選択することができる。
Sj=Sm+(−1)j+1×sign(ΔS)×δSj (6)
かつ
δSj+1=δSj/2 (7)
であり、j≧cの場合に、
δSj=δSc (8)
である。
λj=Sa/|Sa−Sj| (9)
から計算され、Sj>Saの場合の1デシメーションの剰余およびSj<Saの場合の挿入は、
γj=1.0×Sa/|Sa−δSj|−λj (10)
である。
ディスプレイサイクルを説明するために、図1および5を集合的に検討されたい。図5に、それぞれ全般的に502、504、および506の、ソフトウェアベースビデオレンダリングエンジン124によって追跡される3つの連続するビデオフレームAA、BB、およびCCのディスプレイサイクルのタイムライン500を示す。タイムライン500では、時間が左から右に進行する。タイムライン500の左端領域に示されているように、現在のフレームAAのディスプレイサイクルが、全般的に502に示されている。上で述べたように、ディスプレイサイクルには、2つのスキャニングサイクルまたはVBIサイクルが含まれ、偶数フィールドが第1VBIサイクルにスキャンされ、その後、奇数フィールドが第2VBIサイクルにスキャンされる。各VBIサイクルは、イメージ生成に寄与しないVBIイベントで最高点に達する。
図7A〜7Bは、ビデオデータをレンダリングするソフトウェアベースプロセスを表す。この特定の実装は、national television standards committee(NTSC)によって確立された、他の国の中でも米国で利用されている標準規格に基づく。以下で説明する概念は、とりわけ、欧州で利用されているphase alternating line(PAL)、ディジタル多用途ディスク(DVD)、および480pなどの他の標準規格に適用可能である。1つのコンフィギュレーションで、このプロセスを、図1および2に関して説明したものなどのシステムを使用して実装することができる。説明されるソフトウェアベースビデオレンダリングプロセスに、動作702〜734が含まれる。動作702〜724は、全般的に、ビデオレンダリングプロセスに関し、動作726〜734は、全般的に、外部クロックとレンダリングプロセスクロックの間の潜在的なクロックドリフトへの対処に関する。このソフトウェアベースビデオレンダリングプロセスは、動作702のスタートアッププロセスで開始される。
いくつかの実装で、ソフトウェアベースオーディオレンダリングプロセスおよびソフトウェアベースビデオレンダリングプロセスが、同期化プロセスで互いに通信して、再生時の待ち時間を減らすと同時に、捨てられる最初のフレームの発生を最小にすることができる。さらに、同期化プロセスは、ソフトウェアベースオーディオレンダリングプロセスおよびソフトウェアベースビデオレンダリングプロセスが出会うさまざまなオーディオフォーマットおよびビデオフォーマットならびに関連する圧縮技法および圧縮解除技法に動的に適応的とすることができる。そのようなオーディオビデオ同期化の例を、以下で、再生コマンド受取時のスタートアップおよび一時停止コマンドに応答する一時停止の文脈で説明する。
さまざまな概念を、上でソフトウェアベースのオーディオレンダリングおよびビデオレンダリングに関して説明した。さまざまな実装で、これらの概念を複数のコンフィギュレーションで組み合わせることができる。たとえば、ビデオクロック従属化の概念を利用して、ビデオクロックをソースなどの外部クロックに同期化しながらリアルタイムビデオレンダリングをもたらすことができる。オーディオクロックを、挿入およびデシメーションの概念を利用してビデオクロックに同期化することができる。オーディオおよびビデオのスタートアップ同期化は、オーディオレンダリングプロセスとビデオレンダリングプロセスの間の通信を容易にして、捨てられる最初のフレームの発生を最小にしながら再生時の待ち時間を減らすことができる。
104 ディスプレイデバイス
110 ソース
112 パーサ
114 オーディオデコーダ
115A オーディオバッファ
115B オーディオバッファ
116 オーディオレンダリングエンジン
118 オーディオハードウェア
120 ビデオデコーダ
122A ビデオバッファ
122B ビデオバッファ
124 ビデオレンダリングエンジン
126 グラフィックスハードウェア
128 TVエンコーダ
244 処理ユニット
246 システムメモリ
248 バス
250 ROM
252 RAM
254 BIOS
266 SCSIインターフェース
268 シリアルポート
270 オペレーティングシステム
272 アプリケーションプログラム
274 他のモジュール
276 プログラムデータ
278 キーボード
282 キーボード/マウスインターフェース
286 ビデオハードウェア
290 ローカルエリアネットワーク
292 広域ネットワーク
294 ネットワークインターフェース
296 モデム
298 チューナコンポーネント
Claims (9)
- ソースから受け取ったオーディオサンプルを処理するためのオーディオハードウェアを含むコンピュータに、
外部クロックとオーディオクロックとの間の差であるドリフトが累積するレートである第1のドリフトレートを測定するステップであって、前記オーディオサンプルは前記ソースにより前記外部クロックにしたがって供給され、前記オーディオサンプルは前記オーディオハードウェアにより前記オーディオクロックにしたがって消費されるステップと、
前記ドリフトが第1閾値に達したことに応答し、第2ドリフトレートを達成するために、前記オーディオハードウェアにより消費されるオーディオサンプルの数を調整するステップであって、前記第2ドリフトレートは、前記第1ドリフトレートより大きさが小さく、前記第1ドリフトレートと反対の極性を有するステップと
を実行させることを特徴とするコンピュータプログラム。 - 前記調整するステップは、
前記ドリフトが前記第2ドリフトレートで第2閾値に達するように、前記オーディオクロックをさらに操作するステップを含み、前記第2閾値は前記第1閾値より小さい大きさを有し、前記第1の閾値と反対の極性を有することを特徴とする請求項1に記載のコンピュータプログラム。 - 前記さらに操作するステップは、前記第2のドリフトレートより大きさが小さく、かつ所定の時間内に前記ドリフトを打ち消す第3ドリフトレートを判定するステップを含むことを特徴とする請求項2に記載のコンピュータプログラム。
- 前記ドリフトが前記所定の時間内に前記第2閾値の対向する極性の間で振動する最小値が確立されるまで、徐々に小さくなるドリフトレートを計算するステップをさらに前記コンピュータに実行させることを特徴とする請求項3に記載のコンピュータプログラム。
- 前記第2閾値は、前記オーディオクロックに固有のジッタの大きさの少なくとも2倍であり、前記第2ドリフトレートで前記ドリフトが反対の極性の前記第2閾値に達することを特徴とする請求項2に記載のコンピュータプログラム。
- 前記第2ドリフトレートで、前記ドリフトは、負の極性の前記第2閾値から正の極性の前記第2閾値まで達するのに要する時間と同一の時間で正の極性の前記第2閾値から負の極性の前記第2閾値に達することを特徴とする請求項2に記載のコンピュータプログラム。
- ソースから受け取ったオーディオサンプルを処理するためのオーディオハードウェアを含むコンピュータに、
オーディオクロックレートを測定するステップであって、前記オーディオサンプルは前記ソースにより外部クロックにしたがって供給され、前記オーディオサンプルは前記オーディオハードウェアにより前記オーディオクロックにしたがって消費されるステップと、
前記外部クロックレートと前記オーディオクロックレートとの差であるドリフトが振動するように、前記オーディオハードウェアにより消費される前記オーディオサンプルの数を調整するステップと、
をコンピュータに実行させ、前記操作するステップは、
前記第1閾値を選択するステップと、
前記ドリフトが前記第1閾値と等しいときに、前記ドリフトが累積するレートであるドリフトレートを低減するために前記オーディオクロックを調整するステップと、
前記ドリフトが前記第2閾値に達したときに、前記ドリフトを打ち消すように前記オーディオクロックをさらに操作するステップであって、前記第2閾値は前記第1閾値より小さい値を有し、前記第1閾値と反対の極性を有するステップと
を含むことを特徴とするコンピュータプログラム。 - 前記オーディオクロックを調整するステップは、ソースからの少なくとも1つのオーディオフレームを2回レンダリングするステップを含むことを特徴とする請求項7に記載のコンピュータプログラム。
- 前記さらに操作するステップは、少なくとも1つのオーディオサンプルを破棄することを含むことを特徴とする請求項7に記載のコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/029,912 | 2005-01-05 | ||
US11/029,912 US7519845B2 (en) | 2005-01-05 | 2005-01-05 | Software-based audio rendering |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006215540A JP2006215540A (ja) | 2006-08-17 |
JP5147180B2 true JP5147180B2 (ja) | 2013-02-20 |
Family
ID=36575997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006000680A Active JP5147180B2 (ja) | 2005-01-05 | 2006-01-05 | ソフトウェアベースオーディオレンダリング |
Country Status (5)
Country | Link |
---|---|
US (1) | US7519845B2 (ja) |
EP (1) | EP1684516B1 (ja) |
JP (1) | JP5147180B2 (ja) |
KR (1) | KR101183337B1 (ja) |
CN (1) | CN1812589B (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127242B1 (en) * | 2010-08-12 | 2012-02-28 | The United States Of America As Represented By The Secretary Of The Army | Graphic user interface and software for processing large size signal data samples in a small buffer using automatically adjusted decimation ratio |
US8488688B2 (en) | 2004-10-29 | 2013-07-16 | Sharp Kabushiki Kaisha | Communication method and radio transmitter |
US8150442B2 (en) | 2005-01-18 | 2012-04-03 | Sharp Kabushiki Kaisha | Method and apparatus for controlling power of subcarriers in a wireless communication system |
GB0508946D0 (en) * | 2005-04-30 | 2005-06-08 | Ibm | Method and apparatus for streaming data |
TWI321752B (en) * | 2005-10-06 | 2010-03-11 | Quanta Comp Inc | Audio/video playing system |
US9420332B2 (en) * | 2006-07-06 | 2016-08-16 | Qualcomm Incorporated | Clock compensation techniques for audio decoding |
US7765315B2 (en) * | 2007-01-08 | 2010-07-27 | Apple Inc. | Time synchronization of multiple time-based data streams with independent clocks |
GB2451828A (en) * | 2007-08-13 | 2009-02-18 | Snell & Wilcox Ltd | Digital audio processing method for identifying periods in which samples may be deleted or repeated unobtrusively |
US9571901B2 (en) * | 2007-12-28 | 2017-02-14 | Intel Corporation | Synchronizing audio and video frames |
US8655953B2 (en) | 2008-07-18 | 2014-02-18 | Porto Technology, Llc | System and method for playback positioning of distributed media co-viewers |
US8754904B2 (en) * | 2011-04-03 | 2014-06-17 | Lucidlogix Software Solutions, Ltd. | Virtualization method of vertical-synchronization in graphics systems |
US8909667B2 (en) | 2011-11-01 | 2014-12-09 | Lemi Technology, Llc | Systems, methods, and computer readable media for generating recommendations in a media recommendation system |
US8762815B2 (en) * | 2012-04-30 | 2014-06-24 | Lsi Corporation | Systems and methods for data decoder state preservation during extended delay processing |
JP2013243626A (ja) * | 2012-05-23 | 2013-12-05 | Sony Corp | 信号処理装置、信号処理方法、およびプログラム |
TWI557727B (zh) | 2013-04-05 | 2016-11-11 | 杜比國際公司 | 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品 |
KR20150045349A (ko) * | 2013-10-18 | 2015-04-28 | 명지대학교 산학협력단 | 실감 효과 미디어 데이터 파일 구성 방법 및 장치, 실감 효과 미디어 데이터 파일 재생 방법 및 장치 및 실감 효과 미디어 데이터 파일 구조 |
EP2871848A1 (en) * | 2013-11-12 | 2015-05-13 | Koninklijke KPN N.V. | Providing correction information for media synchronization |
US9621948B2 (en) * | 2015-01-29 | 2017-04-11 | Universal Electronics Inc. | System and method for prioritizing and filtering CEC commands |
US10176644B2 (en) * | 2015-06-07 | 2019-01-08 | Apple Inc. | Automatic rendering of 3D sound |
US10229540B2 (en) * | 2015-12-22 | 2019-03-12 | Google Llc | Adjusting video rendering rate of virtual reality content and processing of a stereoscopic image |
US10510317B2 (en) | 2016-06-03 | 2019-12-17 | Apple Inc. | Controlling display performance with target presentation times |
US10726604B2 (en) * | 2016-06-03 | 2020-07-28 | Apple Inc. | Controlling display performance using display statistics and feedback |
US10353424B2 (en) | 2016-07-01 | 2019-07-16 | Imagination Technologies Limited | Clock synchronisation |
US10255033B2 (en) * | 2016-12-13 | 2019-04-09 | EVA Automation, Inc. | Wireless coordination of audio playback |
US11403106B2 (en) | 2019-09-28 | 2022-08-02 | Tencent America LLC | Method and apparatus for stateless parallel processing of tasks and workflows |
US20230073736A1 (en) * | 2020-02-21 | 2023-03-09 | Qualcomm Incorporated | Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time |
US11336935B1 (en) * | 2020-11-25 | 2022-05-17 | Amazon Technologies, Inc. | Detecting audio-video desyncrhonization |
US11659217B1 (en) | 2021-03-29 | 2023-05-23 | Amazon Technologies, Inc. | Event based audio-video sync detection |
CN116543777A (zh) * | 2022-01-26 | 2023-08-04 | 瑞昱半导体股份有限公司 | 动态调整音频时钟的音频处理设备及音频处理方法 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9405914D0 (en) * | 1994-03-24 | 1994-05-11 | Discovision Ass | Video decompression |
US4642794A (en) | 1983-09-27 | 1987-02-10 | Motorola Computer Systems, Inc. | Video update FIFO buffer |
JPH0697899A (ja) * | 1992-09-16 | 1994-04-08 | Hitachi Ltd | 再生クロック周波数の調整方法 |
AU5992094A (en) * | 1993-05-10 | 1994-12-12 | Taligent, Inc. | Multimedia synchronization system |
FR2731864B1 (fr) | 1995-03-14 | 1997-06-06 | Sgs Thomson Microelectronics | Decodeur mpeg a capacite memoire reduite |
JPH09238362A (ja) * | 1996-02-29 | 1997-09-09 | Fujitsu Ltd | テレビジョン表示機能をもつ情報処理装置 |
US5661665A (en) | 1996-06-26 | 1997-08-26 | Microsoft Corporation | Multi-media synchronization |
JP3472667B2 (ja) | 1996-08-30 | 2003-12-02 | 株式会社日立製作所 | ビデオデータ処理装置およびビデオデータ表示装置 |
US5764965A (en) * | 1996-09-23 | 1998-06-09 | Silicon Graphics, Inc. | Synchronization infrastructure for use in a computer system |
US6262776B1 (en) | 1996-12-13 | 2001-07-17 | Microsoft Corporation | System and method for maintaining synchronization between audio and video |
US6606410B2 (en) * | 1997-01-17 | 2003-08-12 | Samsung Electronics Co., Ltd. | Method and apparatus for detecting a synchronous signal |
US5761434A (en) * | 1997-03-06 | 1998-06-02 | Advanced Micro Devices, Inc. | Digital audio system including a software controlled phase lock loop for synchronizing audio sources to a common clock source |
US6100906A (en) * | 1998-04-22 | 2000-08-08 | Ati Technologies, Inc. | Method and apparatus for improved double buffering |
US6279058B1 (en) * | 1998-07-02 | 2001-08-21 | Advanced Micro Devices, Inc. | Master isochronous clock structure having a clock controller coupling to a CPU and two data buses |
US6304297B1 (en) | 1998-07-21 | 2001-10-16 | Ati Technologies, Inc. | Method and apparatus for manipulating display of update rate |
US6661846B1 (en) * | 1998-10-14 | 2003-12-09 | Sony Corporation | Adaptive clocking mechanism for digital video decoder |
JP2000122681A (ja) | 1998-10-20 | 2000-04-28 | Victor Co Of Japan Ltd | 音声データ同期再生装置 |
US6144323A (en) | 1998-12-09 | 2000-11-07 | Lsi Logic Corporation | Method and apparatus for decoding video data |
US6762761B2 (en) | 1999-03-31 | 2004-07-13 | International Business Machines Corporation | Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions |
US6598172B1 (en) * | 1999-10-29 | 2003-07-22 | Intel Corporation | System and method for clock skew compensation between encoder and decoder clocks by calculating drift metric, and using it to modify time-stamps of data packets |
US6594773B1 (en) | 1999-11-12 | 2003-07-15 | Microsoft Corporation | Adaptive control of streaming data in a graph |
US6429902B1 (en) | 1999-12-07 | 2002-08-06 | Lsi Logic Corporation | Method and apparatus for audio and video end-to-end synchronization |
JP4612171B2 (ja) * | 2000-10-27 | 2011-01-12 | 株式会社東芝 | 動画像復号再生モジュールと再生時刻管理プログラムとマルチメディア情報受信装置 |
GB2373121A (en) | 2001-03-10 | 2002-09-11 | Sharp Kk | Frame rate controller |
US6943844B2 (en) * | 2001-06-13 | 2005-09-13 | Intel Corporation | Adjusting pixel clock |
US6880098B1 (en) * | 2001-09-07 | 2005-04-12 | Sprint Communications Company L.P. | Timing recovery in a packet network using a buffer |
AU2002361767A1 (en) | 2001-12-17 | 2003-07-09 | Becomm Corporation | Method and system for synchronization of content rendering |
US9948977B2 (en) * | 2003-01-09 | 2018-04-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System, method, and apparatus for determining presentation time for picture without presentation time stamp |
US20060007356A1 (en) | 2002-10-24 | 2006-01-12 | Thomson Licensing S.A. | Method and system for maintaining lip synchronization |
KR100981693B1 (ko) | 2002-12-16 | 2010-09-13 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비디오 신호의 타임-베이스를 변경하는 시스템 |
US20060104367A1 (en) | 2003-01-06 | 2006-05-18 | Koninklijke Philips Electronics N.V. | Method and apparatus for improving audio-video signal sync stability in digital recording devices |
FI114882B (fi) | 2003-04-30 | 2005-01-14 | Nokia Corp | Kuvakehysten päivityksen synkronointi |
US8995536B2 (en) | 2003-07-23 | 2015-03-31 | Broadcom Corporation | System and method for audio/video synchronization |
US6768433B1 (en) * | 2003-09-25 | 2004-07-27 | Lsi Logic Corporation | Method and system for decoding biphase-mark encoded data |
US7574274B2 (en) * | 2004-04-14 | 2009-08-11 | Nvidia Corporation | Method and system for synchronizing audio processing modules |
US20060007200A1 (en) | 2004-07-08 | 2006-01-12 | David Young | Method and system for displaying a sequence of image frames |
US7786998B2 (en) | 2004-11-12 | 2010-08-31 | Ati Technologies Ulc | Methods and apparatus for controlling video playback |
US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
-
2005
- 2005-01-05 US US11/029,912 patent/US7519845B2/en active Active
- 2005-12-28 EP EP05113032.6A patent/EP1684516B1/en active Active
-
2006
- 2006-01-04 KR KR1020060000974A patent/KR101183337B1/ko active IP Right Grant
- 2006-01-05 JP JP2006000680A patent/JP5147180B2/ja active Active
- 2006-01-05 CN CN2006100025112A patent/CN1812589B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2006215540A (ja) | 2006-08-17 |
US7519845B2 (en) | 2009-04-14 |
CN1812589A (zh) | 2006-08-02 |
CN1812589B (zh) | 2011-02-23 |
KR20060080550A (ko) | 2006-07-10 |
EP1684516A3 (en) | 2007-02-28 |
EP1684516A2 (en) | 2006-07-26 |
EP1684516B1 (en) | 2018-05-16 |
US20060146185A1 (en) | 2006-07-06 |
KR101183337B1 (ko) | 2012-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5147180B2 (ja) | ソフトウェアベースオーディオレンダリング | |
US9489980B2 (en) | Video/audio synchronization apparatus and video/audio synchronization method | |
US8526501B2 (en) | Decoder and decoding method based on video and audio time information | |
JPH10507597A (ja) | マルチメディア・システムのためのプログラマブルなオーディオ−ビデオ同期方法および装置 | |
US8582033B2 (en) | Movie reproduction system and movie reproduction method for reducing delay time of reproduced movie | |
CN101119461B (zh) | 保持视频帧及音频帧同步播放的系统及方法 | |
JP6486628B2 (ja) | メディア・ストリームの同期再生を行う相互接続マルチメディア・システム | |
US7158187B2 (en) | Audio video reproduction apparatus, audio video reproduction method, program, and medium | |
US20060150071A1 (en) | Software-based video rendering | |
CN110519627A (zh) | 一种音频数据的同步方法和装置 | |
JP4933145B2 (ja) | ネットワーク受信機 | |
JP2009200938A (ja) | バッファ制御装置及び受信装置 | |
US20020023120A1 (en) | Method of playing multimedia data | |
JP5093233B2 (ja) | 信号出力装置、情報機器、信号出力方法および信号出力プログラム | |
US6697121B2 (en) | Synchronous decoding method for AV packets | |
US7254310B2 (en) | Clock-slaving in a programmable video recorder | |
US20100329632A1 (en) | Video processing apparatus and video processing method | |
JP5101668B2 (ja) | デジタルビデオ収録再生装置 | |
US20070248170A1 (en) | Transmitting Apparatus, Receiving Apparatus, and Reproducing Apparatus | |
CN110856028B (zh) | 一种媒体数据的播放方法、设备及存储介质 | |
JP3764878B2 (ja) | 映像音声再生装置,映像音声再生方法,プログラム,および媒体 | |
JP2010220156A (ja) | 映像再生装置および方法並びにプログラム | |
JP2007201797A (ja) | 伝送システム及び映像出力方法 | |
JP2005229168A (ja) | メディア出力システムとその同期誤差制御方法およびプログラム | |
JP5092028B2 (ja) | 映像処理装置及び映像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111025 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120710 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5147180 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151207 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |
|
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 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |