JP2010505150A - Method and system for error robust audio playback time stamp reporting - Google Patents
Method and system for error robust audio playback time stamp reporting Download PDFInfo
- Publication number
- JP2010505150A JP2010505150A JP2009530580A JP2009530580A JP2010505150A JP 2010505150 A JP2010505150 A JP 2010505150A JP 2009530580 A JP2009530580 A JP 2009530580A JP 2009530580 A JP2009530580 A JP 2009530580A JP 2010505150 A JP2010505150 A JP 2010505150A
- Authority
- JP
- Japan
- Prior art keywords
- audio
- count
- consumed
- decoder
- bytes
- 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.)
- Granted
Links
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
-
- 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
- H04N19/436—Methods 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 using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- 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/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
-
- 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/439—Processing of audio elementary 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4425—Monitoring of client processing errors or hardware failure
-
- 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
Abstract
オーディオデコーダ中で消費されたバイトを使用して、組込みマルチメディアシステムを再同期させる方法およびシステムである。消費されたバイトは、再送信を要求しないシステムでのビットエラー処理および誤り訂正を補償するためのメカニズムを提供する。オーディオデコーダは消費されたバイトを継続追跡し、消費されたバイトを周期的に報告する。再同期が必要かどうかを決定するために、予め決められたバイトカウントに対してビットエラーが処理され、訂正されているため、ホストマイクロプロセッサは消費された実際のバイトをインデックス付けする。
【選択図】 図3A method and system for resynchronizing an embedded multimedia system using bytes consumed in an audio decoder. The consumed bytes provide a mechanism to compensate for bit error handling and error correction in systems that do not require retransmission. The audio decoder keeps track of the consumed bytes and reports the consumed bytes periodically. To determine whether resynchronization is necessary, the host microprocessor indexes the actual bytes consumed as bit errors have been processed and corrected for a predetermined byte count.
[Selection] Figure 3
Description
本発明は、組込みマルチメディアシステムの分野において同期のために使用されるオーディオ時間スタンプ表示に関する。 The present invention relates to an audio time stamp display used for synchronization in the field of embedded multimedia systems.
マルチプロセッサシステムでは、オーディオデコーディングのような計算集約的なタスクは、通常、デジタル信号プロセサ(DSP)のような別個のプロセッサで行われ、一方、オーディオ/ビデオ同期(audio/video synchronization)のようなタスク処理はホストのマイクロプロセッサによって行われる。アドバンスドRISCマシーン(ARM)のようなホストマイクロプロセッサは、オーディオ/オーディオ同期(audio/audio sync)、オーディオ/ビデオ同期(audio/video sync)およびオーディオ再生時間(audio playback time)ディスプレイのような多くの目的のためにオーディオデコーダからの時間スタンプ報告(time stamp reporting)を必要とする。 In multiprocessor systems, computationally intensive tasks such as audio decoding are usually performed by a separate processor such as a digital signal processor (DSP), while audio / video synchronization is performed. Task processing is performed by the host microprocessor. Host microprocessors such as Advanced RISC machines (ARM) have many such as audio / audio sync, audio / video sync and audio playback time displays. Requires time stamp reporting from the audio decoder for the purpose.
送信制御プロトコル(TCP)は、送り手から受け手までの、信頼でき、かつ規則正しいデータ搬送を保証する。しかし、それは再送信オーバーヘッド(帯域幅浪費をもたらす)を要求し、また、受け手においてバッファーするための余分な遅れはオーディオまたはビデオのリアルタイム再生の中断をもたららし得る。TCPは、マルチメディアストリーミングには通常使用されない。 Transmission Control Protocol (TCP) guarantees reliable and regular data transfer from sender to receiver. However, it requires retransmission overhead (which results in wasted bandwidth) and the extra delay to buffer at the receiver can result in interruption of real-time playback of audio or video. TCP is not typically used for multimedia streaming.
別のプロトコルとして、ユーザデータグラムプロトコル(UDP)は、データの誤りが確かなことをアドレスするために巡回冗長検査(CRC)のようなチェックサムを使用する。UDP Liteは単に敏感なヘッダーデータにチェックサムを使用して、コーデックが誤り破損データ(error corrupted data)を処理することを可能にする。それ故、UDP Liteはより速いが、発見されずにオーディオもしくはビデオコーデックに送られるビットエラーに帰着し得る。最もオリジナルの装置製造者(OEM)は、それがより速くて再送信帯域幅オーバーヘッドがなく、また、ほとんどのオーディオ/ビデオコーデックがある程度ビットエラーを扱うことができるという事実により、モバイル装置ストリーミング用のUDPを要求する。 As another protocol, the User Datagram Protocol (UDP) uses a checksum such as a cyclic redundancy check (CRC) to address that the data error is certain. UDP Lite simply uses a checksum on the sensitive header data, allowing the codec to handle error corrupted data. Therefore, UDP Lite is faster, but can result in bit errors being sent to the audio or video codec without being discovered. The most original equipment manufacturers (OEMs) believe that it is faster and has no retransmission bandwidth overhead, and the fact that most audio / video codecs can handle some bit errors. Request UDP.
例えば、クァルコムのMediaFlo放送システムは、再送信を許可しない独自のプロトコル(proprietary protocol)を使用する。したがって、オーディオ/ビデオコーデックは誤ったビットストリームを受け取り得る。一般に、UDP Liteあるいは他の「ベスト−エフォート」(信頼できない)プロトコルを使用するマルチメディアストリーミングシステムについては、オーディオ/ビデオコーデックは、上部層において検知できない誤ったビットストリームデータを受け取り得る。 For example, Qualcomm's MediaFlo broadcast system uses a proprietary protocol that does not allow retransmission. Thus, the audio / video codec may receive an incorrect bitstream. In general, for multimedia streaming systems using UDP Lite or other “best-effort” (unreliable) protocols, the audio / video codec may receive erroneous bitstream data that cannot be detected at the upper layer.
時間スタンプを報告する従来の方法は、オーディオデコーダに、再生時間(playback time)あるいはオーディオフレーム番号(audio frame number)をホストマイクロプロセッサに報告させることである。しかしながら、オーディオパケットに誤りがある場合、報告された時間スタンプは誤っている。 A conventional way of reporting time stamps is to have the audio decoder report the playback time or audio frame number to the host microprocessor. However, if there is an error in the audio packet, the reported time stamp is incorrect.
ほとんどのビデオコーディング標準は、オーディオビデオ同期を維持するためにホストマイクロプロセッサによって有利に使用することができるビットストリーム内に埋め込まれた時間スタンプ情報を持っている。しかしながら、そのようなタイムスタンプは、オーディオコーディング標準においては典型的に利用可能ではない。 Most video coding standards have time stamp information embedded in the bitstream that can be used advantageously by the host microprocessor to maintain audio-video synchronization. However, such time stamps are typically not available in audio coding standards.
ハフマン符号のような可変長コード体系を使用するパックされたオーディオビットストリーム(packed audio bitstream )については、ビットストリームが破損するとオーディオデコーダは正確なビットストリーム境界情報を失い、ホストのマイクロプロセッサにもはや正確な時間スタンプを報告することができないことになる。パケット中であるビットエラーに遭遇すると、オーディオデコーダは一般に多かれ少なかれビットストリームデータを消費するため、不正確な報告が続いて起こる。その結果、再生時間はビットストリーム消費率との同期から外れるであろう。ホストのマイクロプロセッサが、同期あるいは他の目的で、報告された誤ったオーディオ再生時間を使用すると、誤りの累積的な性質は、再度正確に同期することを不可能にする。 For packed audio bitstreams that use variable length coding schemes such as Huffman codes, if the bitstream is corrupted, the audio decoder loses accurate bitstream boundary information and is no longer accurate to the host microprocessor. Will not be able to report the correct time stamp. When a bit error is encountered in a packet, the audio decoder typically consumes more or less bitstream data, so incorrect reporting follows. As a result, playback time will be out of sync with the bitstream consumption rate. If the host microprocessor uses the reported wrong audio playback time for synchronization or other purposes, the cumulative nature of the error makes it impossible to synchronize correctly again.
これらを考慮して、改善されたシステム同期のためのホストマイクロプロセッサへの正確な時間スタンプ報告を達成する、誤りに対して強靭(robust)な報告方法および組込みマルチメディアシステムを提供することが望ましい。 In view of these, it would be desirable to provide a robust error reporting method and embedded multimedia system that achieves accurate time stamp reporting to the host microprocessor for improved system synchronization .
また、オーディオビットストリームにおける誤りの累積的な性質を補償するマルチメディアシステムでの使用のために、誤りに対してロバストな報告方法を提供することが望ましい。 It would also be desirable to provide a robust reporting method for errors for use in multimedia systems that compensate for the cumulative nature of errors in an audio bitstream.
さらに、再送信を要求しないプロトコルを使用するマルチメディアシステムにおいて、誤りの累積的な性質を補償するエラーロバスト(error robust)な報告方法を提供することが望ましい。 In addition, it is desirable to provide an error robust reporting method that compensates for the cumulative nature of errors in multimedia systems that use protocols that do not require retransmission.
さらに、UDP Liteあるいは他の「ベスト−エフォート」(信頼できない)のプロトコルを使用するマルチメディアシステムで使用することができるエラーロバストな報告方法を提供することが望ましい。 In addition, it is desirable to provide an error robust reporting method that can be used in multimedia systems using UDP Lite or other “best-effort” (unreliable) protocols.
上記のものを考慮して、本発明は、改善されたシステム同期用のホストマイクロプロセッサに報告する正確なタイムスタンプを達成する、エラーロバストな報告方法および組込みマルチメディアシステム(embedded multimedia system)を提供することを目的とする。 In view of the above, the present invention provides an error robust reporting method and an embedded multimedia system that achieves an accurate time stamp reporting to the host microprocessor for improved system synchronization. The purpose is to do.
本発明は、オーディオビットストリームにおける誤りの累積的な性質を補償するマルチメディアシステムでの使用のための、エラーロバストな報告方法を提供することをもう一つの目的とする。 It is another object of the present invention to provide an error robust reporting method for use in multimedia systems that compensates for the cumulative nature of errors in an audio bitstream.
さらに本発明は、再送信を要求しないプロトコルを使用するマルチメディアシステムにおける、誤りの累積的な性質を補償するエラーロバストな報告方法を提供することを別の目的とする。 It is yet another object of the present invention to provide an error robust reporting method that compensates for the cumulative nature of errors in multimedia systems that use protocols that do not require retransmission.
さらに本発明は、UDP Liteあるいは他の「ベスト−エフォート」(信頼できない)のプロトコルを使用するマルチメディアシステムで使用することができる、エラーロバストな報告方法を提供することを別の目的とする。 It is yet another object of the present invention to provide an error robust reporting method that can be used in multimedia systems using UDP Lite or other “best-effort” (unreliable) protocols.
本発明の先のおよび他の目的は、オーディオビットストリームをデコードし、オーディオデコーダによって消費されたバイト(bytes)をカウントし、消費されたバイトのカウントを報告するように動作可能なオーディオデコーダと;消費されたバイトのカウントに基づいて、システムを再同期(resynchronize)させるように動作可能なホストマイクロプロセッサを備えた複数のプロセッサを有するマルチメディアシステムによって遂行される。 The previous and other objects of the present invention are an audio decoder operable to decode an audio bitstream, count bytes consumed by the audio decoder, and report the count of bytes consumed; Performed by a multimedia system having multiple processors with a host microprocessor operable to resynchronize the system based on the count of bytes consumed.
オーディオデコーダはさらに、スピーカーによってプレイアウトされたオーディオビットストリームのデコードされたサンプル数をカウントするように動作可能なサンプルカウンタを含む。報告は、また、サンプルカウンタのカウント数を送る。 The audio decoder further includes a sample counter operable to count the number of decoded samples of the audio bitstream played out by the speakers. The report also sends the count number of the sample counter.
ホストマイクロプロセッサは、ビットストリームを組み立てて通信し、かつ、使用のためのコールバックインターバルをオーディオデコーダによってメモリに書きこむように操作可能なビットストリーム組み立てモジュールを含む。コールバックインターバルは、デコードされたサンプル数の関数で、報告がホストマイクロプロセッサに送られる頻度を示す。 The host microprocessor includes a bitstream assembly module operable to assemble and communicate the bitstream and to write a callback interval for use to memory by the audio decoder. The callback interval is a function of the number of samples decoded and indicates how often the report is sent to the host microprocessor.
ホストマイクロプロセッサは、予め決められたバイトカウントおよび予め決められたバイトカウントに関連する予め決められたオーディオ再生時間を有するルックアップテーブル(LUT)を含む。エラーロバストな再生時間スタンプ報告相互参照モジュールが、消費されたバイトのカウントとLUT中でインデックス付けされた予め決められたバイトカウントとを相互に参照するために使用される。 The host microprocessor includes a look-up table (LUT) having a predetermined byte count and a predetermined audio playback time associated with the predetermined byte count. An error robust playback time stamp reporting cross reference module is used to cross-reference the count of bytes consumed and a predetermined byte count indexed in the LUT.
ホストマイクロプロセッサは、早送り、巻き戻し、あるいは停止のユーザ入力コマンドに応答する。ここで、早送りまたは巻き戻しのユーザ入力コマンドに応答して、システムはオーディオデコーダおよびサンプルカウンタ中で消費されたバイトのカウントをリセットし、LUTを再構成する。 The host microprocessor responds to a fast forward, rewind, or stop user input command. Here, in response to a fast forward or rewind user input command, the system resets the count of bytes consumed in the audio decoder and sample counter and reconfigures the LUT.
オペレーションにおいて、再同期は、デコードされたオーディオビットストリームのオーディオプレイアウトを表示する再生時間ディスプレイの再同期を含む。さらに、オーディオビットストリームと関係するビデオストリームの再同期が必要とされる。 In operation, resynchronization includes playback time display resynchronization displaying the audio playout of the decoded audio bitstream. Furthermore, resynchronization of the video stream associated with the audio bitstream is required.
オーディオデコーダは、ウィンドウズ(登録商標)・メディア・オーディオ、高品質オーディオコーディング(AAC)デコーダ、AAC Plusデコーダ、改良されたAAC Plusデコーダ(eAAC+)、MP3およびリアル・オーディオ・ビットストリーム・フォーマットの少なくとも1つと互換性を有する。 The audio decoder is at least one of Windows Media Audio, High Quality Audio Coding (AAC) Decoder, AAC Plus Decoder, Improved AAC Plus Decoder (eAAC +), MP3 and Real Audio Bitstream Format Compatible with one.
別の態様では、本発明は、オーディオデコーダによってオーディオビットストリームをデコードし、デコードの間に消費されたバイトをカウントするステップと;消費されたバイトのカウントをホストマイクロプロセッサに報告するステップと;報告された消費バイトを処理するステップと;報告された消費バイトに基づいて、システムを再同期するステップとを備える、マルチメディアシステムを再同期させる方法に向けられる。 In another aspect, the invention decodes an audio bitstream by an audio decoder and counts bytes consumed during decoding; reporting a count of bytes consumed to a host microprocessor; reporting Directed to a method of resynchronizing a multimedia system comprising: processing the consumed bytes consumed; and resynchronizing the system based on the reported consumed bytes.
さらに別の態様では、本発明は、組込みマルチメディアシステムにおいて使用され、オーディオビットストリームをデコードし、消費されたバイトをカウントして、再度システムを同期させるために、消費されたバイトのカウントを周期的にホストマイクロプロセッサに報告するように操作可能なオーディオデコーダに向けられる。 In yet another aspect, the present invention is used in embedded multimedia systems to cycle the count of consumed bytes to decode the audio bitstream, count the consumed bytes, and synchronize the system again. Directed to an audio decoder operable to report to a host microprocessor.
さらに別の態様では、本発明は、組込みマルチメディアシステムの複数のプロセッサによって実行可能なプログラム命令に向けられ、そのプログラム命令は、その実行によって、オーディオビットストリームをデコードし、デコードの間に消費されたバイトをカウントし、消費されたバイトのカウントを報告し、消費されたバイトのカウントに基づいてシステムを再度同期するように操作可能とされる。 In yet another aspect, the present invention is directed to program instructions executable by a plurality of processors of an embedded multimedia system, the program instructions decoding the audio bitstream upon execution and being consumed during decoding. It is operable to count new bytes, report the count of bytes consumed, and resynchronize the system based on the count of bytes consumed.
以上の要約は、以下の本発明の好適な実施形態の詳細な説明と同様に、添付の図面と共に読まれた時、一層よく理解されよう。本発明を例示する目的で、図面中では現時点で好ましい実施例が示される。しかしながら、本発明は示された配置そのものに制限されないことを理解すべきである。 The foregoing summary, as well as the following detailed description of preferred embodiments of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there are shown in the drawings embodiments which are presently preferred. However, it should be understood that the invention is not limited to the arrangement shown.
本発明は様々な異なる形態での実施が可能であるが、この明細書と添付の図面は本発明の使用の例としていくつかの形態だけを示す。本発明は、記述された通りの実施例に制限されるようには意図されず、本発明の範囲は添付の請求項で指摘されるであろう。 While this invention may be embodied in many different forms, this specification and the accompanying drawings show only a few forms as examples of the use of the invention. The invention is not intended to be limited to the embodiments as described, but the scope of the invention will be pointed out in the appended claims.
本発明による組込みマルチメディアシステムの好ましい実施例は、可変長コード体系への特定のアプリケーションとともに以下に述べられる。マルチメディアシステムはメディア再生アプリケーションを使用することができる。オーディオデコーダは、ウィンドウズ・メディア・オーディオ、高品質オーディオコーディング(advanced audio coding)(AAC)デコーダ、AAC Plusデコーダ(AAC Plus decoder)、改良AAC Plusデコーダ(eAAC+)、MP3およびリアル・オーディオ・ビットストリーム・フォーマット(Real Audio bitstream formats)と互換性を有する。しかしながら、本発明はゲームオーディオアプリケーション用を含む他の形態のオーディオデコーダに適用できることが当業者によって理解されよう。 A preferred embodiment of an embedded multimedia system according to the present invention is described below with a specific application to a variable length coding scheme. Multimedia systems can use media playback applications. Audio decoders include Windows Media Audio, advanced audio coding (AAC) decoder, AAC Plus decoder, improved AAC Plus decoder (eAAC +), MP3 and real audio bitstream Compatible with Real Audio bitstream formats. However, it will be appreciated by those skilled in the art that the present invention is applicable to other forms of audio decoders, including for game audio applications.
全体を通して同様の要素には同様の参照番号が付された図面を詳細に参照すると、図1および2A-2Bに、全般的に10で示される、本発明による組込みマルチメディアシステムの実施例が示される。 Referring in detail to the drawings in which like elements have been given like reference numerals throughout, FIGS. 1 and 2A-2B show an embodiment of an embedded multimedia system according to the present invention, generally indicated at 10. It is.
一般に、組込みマルチメディアシステム10は、スピーカー44によるオーディオ、およびビデオディスプレイ46によるビデオのような複数のメディア出力を含んでいる。システム10はさらに、ビデオディスプレイ46と統合あるいは分離された再生時間ディスプレイ(playback time display)48(ファントムで示される)を出力する。例示された組込みマルチメディアシステム10はオーディオとビデオの両方を含んでいるが、任意のユーザ選択プログラムは、オーディオのみ、あるいはオーディオとビデオの両方を含み得る。
In general, the embedded
組込みマルチメディアシステム10では、図2Bで最も見られるように、ホストマイクロプロセッサ12は、ビットストリーム組み立てモジュール(bitstream assembling module)14中に、パックされたオーディオビットストリーム(packed audio bitstream)を組み立てるプログラム命令を含んでおり、そしてパックされたオーディオビットストリームをDSP 30中のオーディオデコーダ32へ送る。オーディオデコーダ32は、パックされたオーディオビットストリームをスピーカー44によってプレイアウトされる波形へデコードするプログラム命令を含んでいる。一般に、プログラムのパックされたオーディオビットストリーム中の各フレームは、ルックアップテーブル(LUT)構成モジュール15によって構成されその後ルックアップテーブル(LUT)22に格納される予め決められたオーディオ再生時間およびバイトカウントと関連付けられている。
In the embedded
典型的な実施例では、プログラムのフレームFR1、FR2、…FRXの予め決められたオーディオ再生時間は、24A、24B、…24Xとして表示される。さらに、LUT 22は、各フレームの予め決められたオーディオ再生時間24A、24B、…24Xに関連する予め決められたバイトカウント26A、26B、…26Xを有する。
In the exemplary embodiment, the predetermined audio playback times of program frames FR1, FR2,... FRX are displayed as 24A, 24B,. In addition, the
ホストマイクロプロセッサ12はさらに、エラーロバストな再生時間スタンプ報告相互参照モジュール(error-robust playback time stamp report cross referencing module)16として機能するように操作可能なプログラム命令を含んでおり、モジュール16は、LUT 22中の特定フレームの格納され予め決められたオーディオ再生時間24A、24B…24Xを相互参照する。さらに、再同期オペレーションについては、ホストマイクロプロセッサ12はさらに再同期評価モジュール(resynchronization evaluation module)18および再同期モジュール(resynchronization module)20として操作可能なプログラム命令を含む。
The
オーディオデコーダ32はエラーロバストなオーディオ再生時間スタンプ報告発生器40として機能するように操作可能なプログラム命令を含んでいる。図2Aで最も見られるように、エラーロバストなオーディオ再生時間スタンプ報告発生器40は、レポートインターバル比較器 34、サンプルカウンタ36およびバイトカウンタ(byte counter)38を含む。 Audio decoder 32 includes program instructions operable to function as error robust audio playback time stamp report generator 40. As best seen in FIG. 2A, the error robust audio playback time stamp report generator 40 includes a report interval comparator 34, a sample counter 36, and a byte counter 38.
レポートインターバル比較器34はコールバックインターバルを時間と比較し、その結果、エラーロバストなオーディオ再生時間スタンプ報告発生器40が報告を送ることができる。レポートインターバル比較器34は、共有メモリ50に格納された1つ以上のコールバックインターバル54を受け取り、抽出(extract)する。ここで、コールバックインターバル54はホストマイクロプロセッサ12によって書き込まれている。オーディオデコーダ32はプログラムの全体にわたって使用のためにコールバックインターバルを使用することができる。
The report interval comparator 34 compares the callback interval with time so that the error robust audio playback time stamp report generator 40 can send a report. Report interval comparator 34 receives and extracts one or more callback intervals 54 stored in shared
エラーロバストなオーディオ再生時間スタンプ報告発生器40は、ホストマイクロプロセッサ12に送られるエラーロバストなオーディオ再生時間スタンプ報告を作成する。エラーロバストなオーディオ再生時間スタンプ報告は、サンプルカウンタ36からのサンプルカウントとバイトカウンタ38からのバイトカウントを含む。
The error robust audio playback time stamp report generator 40 generates an error robust audio playback time stamp report that is sent to the
オペレーションでは、ホストマイクロプロセッサ12は、ホストマイクロプロセッサ12にエラーロバストなオーディオ再生時間スタンプ報告をどれくらいの頻度で送らねればならないかに関してオーディオデコーダ32に指示するために、プレイアウトされたオーディオサンプルの数(N)によってコールバックインターバル54をセットし、および/または送るであろう。コールバックインターバル54はホストマイクロプロセッサ12がLUT構成モジュール15によってLUT 22を構成するのを支援するために使用することができる。オーディオデコーダ32は共有メモリ50からコールバックインターバル54を抽出する。代替として、コールバックインターバル54は、ホストコマンド中でDSP 30に送られてもよい。さらに、オーディオデコーダ32は、バイトカウンタ38によって消費されたビットストリームのバイト数、および、デコードされサンプルカウンタ36を介してスピーカー44に送られたサンプル数の追跡を継続する。エラーロバストなオーディオ再生時間スタンプ報告発生器40は、要求されたコールバックインターバルもしくはコールバックインターバルの整数倍で、サンプルカウンタ36のサンプルカウントとバイトカウンタ38のバイトカウントの両方を報告し返す。
In operation, the
ホストマイクロプロセッサ12は、再生の開始から予め決められたオーディオ再生時間24A、24B、…24Xを備えたビットストリームのバイト数(バイトカウント)26A、26B、…26Xを写像するルックアップテーブル(LUT)22を保存する。ホストマイクロプロセッサ12がエラーロバストなオーディオ再生時間スタンプ報告を受け取ると、ホストマイクロプロセッサ12は、サンプルの数が少なくとも1つのビットストリームエラーの可能性による正確なタイミング表示ではないかもしれないことを認識する。したがって、ホストマイクロプロセッサ12は、予め決められたオーディオ再生時間24A、24B、…24Xを見つけるために、LUT 22にインデックスを付けるため、報告からの消費されたバイトの数(バイトカウント)を使用する。好ましくは、「LUT 22中へのインデックス」は、パックされたオーディオビットストリームにおけるいかなるエラーも一時的にはフレーム境界に配置されていないバイトカウントに帰着するため、報告中で送られたバイトカウントに最も近いLUT 22中のエントリーを見つけるために、最も近いマッチ探索を使用するべきである。
The
既知のバイトカウントとサンプルカウントによって、ホストマイクロプロセッサ12は、どこでオーディオがプレイアウトし、オーディオ、オーディオと関連付けられたビデオ、および再生時間ディスプレイのうちの少なくとも1つと同期化するかを決定することができる。
With the known byte count and sample count, the
メディア(オーディオまたはビデオ)再生のための巻き戻し、早送り、あるいは停止のコマンドが受け取られると、ホストマイクロプロセッサ12はオーディオデコーダ32に対応するコマンドを送り、そうするように指示する。オーディオデコーダ32はサンプルカウンタ36とバイトカウンタ38をリセットする。さらに、ホストマイクロプロセッサ12はLUT構成モジュール15を介してLUT 22を再構成する。サンプルコマンドとバイトコマンドは、サンプルカウンタ36とバイトカウンタ38を0(ゼロ)にリセットするために使用される。代替として、サンプルコマンドとバイトコマンドは、サンプルカウンタ36とバイトカウンタ38を単に前に進めてもよく、あるいは後退させてもよい。
When a rewind, fast forward or stop command for media (audio or video) playback is received, the
ホストマイクロプロセッサ12および/またはDSP 30は、図5のステップS172A、S172B、S172Cでなされた決定に基づいて、バイト/サンプルカウンタをいつリセットするべきかを知る。オーディオ再生はリアルタイムにあり、人間の耳は、落とされた、あるいは追加されたオーディオサンプルに非常に敏感であるので、再同期は、ビデオフレームを削除するか、ビデオフレームを遅らせるようにホストマイクロプロセッサ12によって制御される。ビデオ再生によって、1つのフレームを二度落とすか、二度プレイすることができる。
The
様々なビットストリームエラー検知および処理の仕組みがオーディオデコーダにおいて利用可能である。オーディオデコーダ32は、それがエラービットストリームを検知あるいはヒットした場合、出力を無音にし、あるいは出力パルス符号変調(PCM)を隠すことができる。オーディオデコーディングはこれまでに良く確立されているので、デコーディングおよびエラーハンドリングについてこれ以上の説明は行わない。 Various bitstream error detection and processing mechanisms are available in the audio decoder. Audio decoder 32 can silence the output or conceal output pulse code modulation (PCM) if it detects or hits an error bitstream. Since audio decoding has been well established so far, no further explanation will be given for decoding and error handling.
エラーロバストなオーディオ再生時間スタンプ報告方法100およびマルチメディアシステム10は、ビットストリーム長が対立するチャンネル条件下であっても同じままであるという事実を利用する。ホストマイクロプロセッサ12は、オーディオビットストリームフレーム境界でのパックされたビットストリーム位置をスルーして、予め決められたオーディオ再生時間を相互参照するためにオーディオバイトカウントを使用する。そしてその結果、ビットストリームにおける任意のエラーにかかわらず、システム10の再同期のためのような正確な「実際の」オーディオ再生時間を決定することができる。
Error robust audio playback time
図3を参照して、エラーロバストなオーディオ再生時間スタンプ報告方法100は、図4の方法150によってシステム10のホストの再同期を容易にするためにマルチメディアシステム10にインプリメントすることができるエラーロバストなタイムスタンプ報告を可能にする。方法100は、オーディオデコーダ32がホストマイクロプロセッサ12からのパックされたオーディオビットストリームをデコードするステップS102で始まる。ステップS102にステップS104およびS106が続く。ステップS104ではデコードが行われるとともに、バイトカウンタ38がステップS104でデコーダによって消費されたバイトをカウントする。ステップS106に返って、ステップS106はデコードプロセスの間にエラーが検知されたかどうかを決定する。もし決定が「いいえ」である場合、ステップS106にステップS109が続き、ステップS110でスピーカー44によってプレイアウトされるサンプルがカウントされる。
Referring to FIG. 3, error robust audio playback time
再びステップS106に返って、もしステップS106での決定が「はい」(エラーが検知されたことを意味する)である場合、ステップS106にステップS108が続き、検知されたエラーに適した既知のエラー訂正処理技術を使用してエラーが処理される。またステップS108にステップS109が続き、ステップS110(ステップS110はステップS109に続く)でプレイアウトされるサンプルがカウントされる。 Returning to step S106 again, if the determination in step S106 is yes (meaning an error was detected), step S106 is followed by step S108, which is a known error suitable for the detected error. Errors are handled using correction processing techniques. Step S108 is followed by step S109, and the samples to be played out in step S110 (step S110 follows step S109) are counted.
理解されるように、ステップS102、S106およびS108は、オーディオデコーダ32がスピーカー44を介してプレイアウトされる(ステップS110)前に受信ビットストリーム中のビットエラーをデコードし訂正あるいは処理するデコーディングプロセスの一部である。 As will be appreciated, steps S102, S106, and S108 are decoding processes that decode and correct or process bit errors in the received bitstream before audio decoder 32 is played out through speaker 44 (step S110). Is part of.
再びステップS109に返って、ステップS109には、コールバックインターバル54あるいはコールバックインターバル54の整数倍が到達したかどうかを決定するためにステップS112が続く。コールバックインターバル54はサンプルカウントの関数である。もし決定が「いいえ」である場合、ステップS112はステップS109に返る。もしステップS112の決定が「はい」である場合、ステップS112にステップS114が続き、バイトカウントとサンプルカウントを有するエラーロバストなオーディオ再生時間スタンプ報告がホストマイクロプロセッサ12に送られる。ステップS114にはステップS116が続き、さらに何らかのプログラミングがあるかどうかが決定される。ステップS120の決定が「はい」である場合、ステップS120はステップS102に返る。そうではなく、ステップS120の決定が「いいえ」である場合、方法100は終了する。
Returning again to step S109, step S109 is followed by step S112 to determine whether callback interval 54 or an integer multiple of callback interval 54 has been reached. Callback interval 54 is a function of sample count. If the determination is “No”, step S112 returns to step S109. If the determination in step S112 is yes, step S112 is followed by step S114, and an error robust audio playback time stamp report having a byte count and a sample count is sent to the
図4を参照して、システム再同期方法150が示される。方法150は、ホストマイクロプロセッサ12が、バイトカウントおよびサンプルカウントを備えたエラーロバストなオーディオ再生時間スタンプ報告を受け取るステップS152で始まる。ステップS152にはステップS154が続き、パックされたビットストリームのフレーム用に予め決められたオーディオ再生時間24A、24B、…24XがLUT 22中でルックアップあるいは探索される。バイトカウントに近い予め決められたオーディオ再生時間のエントリーを見つけるために、最も近いマッチ探索が使用され得る。ステップS154は、エラーロバストな再生時間スタンプ報告相互参照モジュール16によって実行される。
Referring to FIG. 4, a
ステップS154にはステップS156が続き、バイトカウントと相互参照された予め決められたオーディオ再生時間とを使用して、実際のオーディオ再生時間が計算される。ステップS156にはステップS158が続き、ステップS156での計算結果に基づいて、再同期が必要か否かが決定される。もし決定が「いいえ」であれば、方法150は終了する。ステップS156およびS158は再同期評価モジュール18によって実行される。
Step S154 is followed by step S156, where the actual audio playback time is calculated using the byte count and the predetermined audio playback time cross-referenced. Step S156 is followed by step S158, and it is determined whether resynchronization is necessary based on the calculation result in step S156. If the decision is “no”, the
他方、ステップS158での決定が「はい」である場合、ステップS158にステップS160およびS162が続く。ステップS162では、再同期モジュール20が再生時間ディスプレイを同期させる。ステップS160では、プログラムがさらにビデオを含んでいるかどうかが決定される。もし決定が「いいえ」である場合、ステップS160にステップS164が続き、オーディオ−オーディオ同期(audio-audio sync)が実行される。他方、ステップS160での決定が「はい」である場合、プログラムはビデオとオーディオの両方を含んでいる。したがって、ステップS166でオーディオ−ビデオ同期(audio-video sync)を行う必要がある。ステップS162、S164およびS166で再同期方法150が終了する。もし再同期がビデオフレームの挿入や遅延、あるいはビデオの他の操作によって実行されるならば、LUT 22を修正する必要はない。したがって、ビデオの任意の時点の再同期は、次のサンプルカウントおよびバイトカウントの報告がLUT 22で配列されるようにUT 22を再配列する(エラーが生じなかったと仮定して)。他方、もし再同期がオーディオフレームが落とされあるいは操作されることを要求する場合、LUT 22は再構成を要求し得る。
On the other hand, if the determination in step S158 is “yes”, steps S160 and S162 follow step S158. In step S162, the resynchronization module 20 synchronizes the playback time display. In step S160, it is determined whether the program further includes video. If the determination is “no”, step S160 is followed by step S164, and audio-audio sync is performed. On the other hand, if the determination in step S160 is “Yes”, the program includes both video and audio. Therefore, it is necessary to perform audio-video sync in step S166.
組込みマルチメディアシステム10は、個々の特定のアプリケーションに言及することはできないが、上に言及されない他のメディアアプリケーションのための同期情報を要求してもよい。
The embedded
図5を参照して、エラーロバストなオーディオ再生時間スタンプ報告のためのオーディオデコーダ32のホストマイクロプロセッサ制御方法170のフローチャートが示される。方法170はステップS172A、172Bおよび172Cから始まる。オペレーションでは、ホストマイクロプロセッサ12は、ステップS172Aで新しいプログラムの再生のためのユーザコマンドを、ステップS172Bでプログラムの早送りのためのユーザコマンドを、またステップS172Cでプログラムの巻き戻しのためのユーザコマンドを受け取ることができる。
Referring to FIG. 5, a flowchart of a host
ステップS172A、172Bおよび/または172CにはステップS174が続き、ホストマイクロプロセッサ12が、新しいバイトカウントおよびそれに関連する予め決められたオーディオ再生時間24A、24B、…、24XでLUT 22を構成あるいは再構成する。ステップS174にステップS176(ファントムで示される)が続き、サンプルカウンタ36がリセットされる。ステップS176(ファントムで示される)にステップS178(ファントムで示される)が続き、バイトカウンタ38がリセットされる。LUT 22は新しい、あるいはリセットされたバイトカウントを使用して構成される。1つの実施例では、サンプルカウンタ36およびバイトカウンタ38は、0(ゼロ)あるいはホストマイクロプロセッサ12および/またはDSP 30によって決定された他のある数にリセットされる。ステップS178(ファントムで示される)にはオプションのステップS180(ファントムで示される)が続き、そこでは、コールバックインターバルすなわちコールバックインターバル用のカウンタがセットあるいはリセットされる。コールバックインターバル54は、適宜、送ることができる。例えば、ステップS180でのコールバックインターバルは、再生のために新しいプログラムが開始されたときだけにセットされ、他の時はセットされない。
Steps S172A, 172B and / or 172C are followed by step S174, where the
ステップS176とS178は、新しいプログラム選択、早送り、あるいは巻き戻しのためのユーザ入力を受け取るホストマイクロプロセッサ12の結果としてホストマイクロプロセッサ12とDSP 30との間のインターフェースがサンプルカウンタ36、バイトカウンタ38のセットあるいはリセットをもたらすことを示すために、ファントムで示されている。同様に、コールバックインターバルもセットあるいはリセットされてもよい。さらに、サンプルカウンタ36およびバイトカウンタ38のリセットもDSP 30によって自動的に行われてもよい。
Steps S176 and S178 indicate that the interface between the
図1、2Aおよび2Bの実施例では、コールバックインターバル54を通信するためのホストマイクロプロセッサ12とDSP 30との間のインターフェースは、共有メモリ50である。この実施例では、ホストマイクロプロセッサ12は共有メモリ50にコールバックインターバル54を書き込む。DSP 30は、エラーロバストなオーディオ再生時間スタンプ報告発生器40による使用のために、共有メモリ50からコールバックインターバル54を読み出す。代替では、コールバックインターバル54を通信するホストマイクロプロセッサ12とDSP 30との間のインターフェースは、ホストマイクロプロセッサ12からDSP 30に送られるコマンドである。
In the embodiment of FIGS. 1, 2A and 2B, the interface between the
図6を参照して、DSP 30(ファントムで示される)の詳細を有するマルチメディアシステム10'の代替実施例のブロックダイヤグラムが示される。この実施例では、コールバックインターバルを通信するホストマイクロプロセッサとDSP 30との間のインターフェースは、共有メモリ50'である。エラーロバストなオーディオ再生時間スタンプ報告のサンプルカウント52とバイトカウント53を送るためのDSP30とホストマイクロプロセッサ12との間のインターフェースは、オーディオデコーダ32'によってサンプルカウント52およびバイトカウント53を共有メモリ50の記憶位置に書き込むことを含む。ホストマイクロプロセッサ12は、共有メモリ50'からサンプルカウント52およびバイトカウント53を読み出す。さらに、エラーロバストなオーディオ再生時間スタンプ報告発生器40'は、ホストマイクロプロセッサ12にエラーロバストなオーディオ再生時間スタンプ割り込みを送る。その割り込みは、共有メモリ50'中のサンプルカウント52およびバイトカウント53の利用可能性をホストマイクロプロセッサ12に通知する。
Referring to FIG. 6, a block diagram of an alternative embodiment of a
上記を考慮して、本発明は、システム同期のためにホストマイクロプロセッサに報告する正確な時間スタンプを達成するエラーロバストな通知方法および組込みマルチメディアシステム10を提供する。その方法とシステム10は、また、システムを同期させるためにオーディオビットストリームにおける誤りの累積的な性質を補償する。
In view of the above, the present invention provides an error robust notification method and embedded
ここで開示された組込みマルチメディアシステム、方法およびプログラム命令によってエラーロバストな報告が正確な時間スタンプ報告を達成し、またオーディオビットストリームにおける誤りの累積的な性質を補償することが当業者によって理解されるであろう。また、エラーロバストな報告は、プロトコルが再送信を要求しない場合に誤りの累積的な性質を補償する。例えば、プロトコルはUDP Liteあるいは他の「ベスト−エフォート」(信頼できない)プロトコルであり得る。エラーロバストな報告は、また、改善された同期を可能にする。 It will be appreciated by those skilled in the art that error robust reporting achieves accurate time stamp reporting and compensates for the cumulative nature of errors in the audio bitstream with the embedded multimedia system, method and program instructions disclosed herein. It will be. Error robust reporting also compensates for the cumulative nature of errors when the protocol does not require retransmission. For example, the protocol may be UDP Lite or other “best-effort” (untrusted) protocols. Error robust reporting also allows for improved synchronization.
本発明の実施例の先の記述は、例示および説明の目的で提示された。本発明は、開示された形態そのものに限定されるよう意図されるものではなく、上記の教示に照らして変更および変形が可能であり、あるいは本発明の実施から変更および変形を得ることができる。実施例は、当業者が本発明を様々な実施例および意図された特定の使用に適した様々な変更をもって実施できるように、本発明の本質およびその実際的な適用を説明するために選択され、記述された。本発明の範囲はここに添付された請求項とそれらの均等物によって定義されるように意図される。 The foregoing description of the embodiments of the present invention has been presented for purposes of illustration and description. The present invention is not intended to be limited to the precise forms disclosed, but can be modified and modified in light of the above teachings, or can be modified and modified from the practice of the invention. The examples are selected to illustrate the nature of the invention and its practical application so that those skilled in the art may practice the invention with various embodiments and various modifications suitable for the particular use intended. Described. The scope of the present invention is intended to be defined by the claims appended hereto and their equivalents.
Claims (44)
オーディオビットストリームをデコードし、前記デコードによって消費されたバイトをカウントし、前記消費されたバイトのカウントを報告するオーディオデコーダと;
前記消費されたバイトのカウントに基づいてシステムを再同期するホストマイクロプロセッサと;
を備えるマルチメディアシステム。 A multimedia system having a plurality of processors,
An audio decoder that decodes an audio bitstream, counts bytes consumed by the decoding, and reports the count of bytes consumed;
A host microprocessor that resynchronizes the system based on the count of bytes consumed;
A multimedia system comprising:
前記誤りに対して強靭なオーディオ再生時間スタンプ報告発生器は、前記ホストマイクロプロセッサによる使用のために、前記報告の前記サンプルカウンタのカウントおよび前記消費されたバイトを前記共有メモリに書き込む、請求項3に記載のシステム。 And further comprising a shared memory, wherein the host microprocessor includes a bitstream assembly module that assembles and communicates a bitstream and writes a callback interval to the shared memory for use by the audio decoder, wherein the callback interval Is a function of the number of decoded samples and indicates how often the report is sent to the host microprocessor;
4. The error tolerant audio playback time stamp report generator writes the sample counter count of the report and the consumed bytes to the shared memory for use by the host microprocessor. The system described in.
前記消費されたバイトのカウウントと前記LUT中でインデックス付けされた前記予め決められたバイトカウントとを相互参照する、誤りに対して強靭な再生時間スタンプ報告相互参照モジュールとを含む、請求項1に記載のシステム。 The host microprocessor includes a look-up table (LUT) having a predetermined byte count and a predetermined audio playback time associated with the predetermined byte count;
The error-tolerant playback time stamp reporting cross-reference module that cross-references the consumed byte count and the predetermined byte count indexed in the LUT. The described system.
オーディオビットストリームをデコードし、前記デコードの間に消費されたバイトをカウントし、前記消費されたバイトの前記カウントを報告するためのデコード手段と;
前記消費されたバイトを処理し、前記消費されたバイトのカウントに基づいて前記システムを再同期するための処理手段と;
を備えるマルチメディアシステム。 A multimedia system,
Decoding means for decoding an audio bitstream, counting bytes consumed during the decoding and reporting the count of bytes consumed;
Processing means for processing the consumed bytes and resynchronizing the system based on the count of consumed bytes;
A multimedia system comprising:
前記消費されたバイトのカウントと前記LUT中でインデックス付けされた前記予め決められたバイトカウントとを相互に参照するための相互参照手段と;
を含む、請求項13に記載のシステム。 The processing means includes a lookup table (LUT) having a predetermined byte count and a predetermined audio playback time associated with the predetermined byte count;
Cross-reference means for cross-referencing the consumed byte count and the predetermined byte count indexed in the LUT;
14. The system of claim 13, comprising:
オーディオデコーダによってオーディオビットストリームをデコードし、前記デコードの間に消費されたバイトをカウントするステップと;
前記消費されたバイトのカウントをホストマイクロプロセッサに報告するステップと;
報告された前記消費されたバイトを処理するステップと;
前記報告された前記消費されたバイトに基づいて前記システムを再同期するステップと;
を備える方法。 A method of resynchronizing a multimedia system,
Decoding an audio bitstream by an audio decoder and counting bytes consumed during said decoding;
Reporting the count of consumed bytes to a host microprocessor;
Processing the reported consumed bytes;
Resynchronizing the system based on the reported consumed bytes;
A method comprising:
前記デコードするステップの間の使用のためにコールバックインターバルをセットするステップとをさらに備え、前記コールバックインターバルは前記デコードサンプル数の関数であり、前記報告するステップの頻度を示す、請求項26に記載の方法。 Assembling and communicating a bitstream;
27. Setting a callback interval for use during the decoding step, wherein the callback interval is a function of the number of decoded samples and indicates the frequency of the reporting step. The method described.
前記予め決められたバイトカウントと前記予め決められたバイトカウントに関連付けられた予め決められたオーディオ再生時間とを有するルックアップテーブル(LUT)中で、前記消費されたバイトのカウントを予め決められたバイトカウントと相互参照することを備える、請求項24に記載の方法。 The processing step includes
In a look-up table (LUT) having the predetermined byte count and a predetermined audio playback time associated with the predetermined byte count, the count of consumed bytes is predetermined. 25. The method of claim 24, comprising cross-referencing with a byte count.
前記消費されたバイトのカウントに基づいて前記システムを再同期させる、プログラム命令。 Program instructions executable by a plurality of processors of an embedded multimedia system, the execution of the program instructions causing the processor to decode an audio bitstream, counting bytes consumed during the decoding, and the consumption Report the count of received bytes;
Program instructions for resynchronizing the system based on the count of bytes consumed.
前記消費されたバイトのカウントと前記LUT中でインデックス付けされた予め決められたバイトカウントとを相互参照させる、請求項39に記載のプログラム命令。 The program instructions further configure the look-up table (LUT) having a predetermined byte count and a predetermined audio playback time associated with the predetermined byte count upon execution of the program instructions. Let;
40. The program instructions of claim 39, wherein the program instructions cause a cross-reference to the consumed byte count and a predetermined byte count indexed in the LUT.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/535,406 | 2006-09-26 | ||
US11/535,406 US9083994B2 (en) | 2006-09-26 | 2006-09-26 | Method and system for error robust audio playback time stamp reporting |
PCT/US2007/079595 WO2008039871A2 (en) | 2006-09-26 | 2007-09-26 | Resynchronisation of a multimedia decoder using audio timestamps |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010505150A true JP2010505150A (en) | 2010-02-18 |
JP5096472B2 JP5096472B2 (en) | 2012-12-12 |
Family
ID=39167219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009530580A Expired - Fee Related JP5096472B2 (en) | 2006-09-26 | 2007-09-26 | Method and system for error robust audio playback time stamp reporting |
Country Status (6)
Country | Link |
---|---|
US (1) | US9083994B2 (en) |
EP (1) | EP2070329B1 (en) |
JP (1) | JP5096472B2 (en) |
KR (1) | KR101047820B1 (en) |
CN (1) | CN101518081B (en) |
WO (1) | WO2008039871A2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100906766B1 (en) * | 2007-06-18 | 2009-07-09 | 한국전자통신연구원 | Apparatus and method for transmitting/receiving voice capable of estimating voice data of re-synchronization section |
US9794605B2 (en) * | 2007-06-28 | 2017-10-17 | Apple Inc. | Using time-stamped event entries to facilitate synchronizing data streams |
CN102081941B (en) * | 2009-11-30 | 2012-09-05 | 天瀚科技股份有限公司 | Method of processing audio-video data in an E-book reader |
CN103269257B (en) * | 2013-05-13 | 2016-08-24 | 杰发科技(合肥)有限公司 | A kind of method detecting variable-length encoding code stream mistake and decoding and error detector element |
US9684294B2 (en) * | 2015-01-09 | 2017-06-20 | Tyco Safety Products Canada Ltd. | Multi-core processor for optimized power consumption in a security and home automation system |
CN113113013B (en) * | 2021-04-15 | 2022-03-18 | 北京帝派智能科技有限公司 | Intelligent voice interaction interruption processing method, device and system |
EP4322536A1 (en) | 2021-08-05 | 2024-02-14 | Samsung Electronics Co., Ltd. | Electronic device and method for multimedia playback in electronic device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0776134A2 (en) * | 1995-11-22 | 1997-05-28 | General Instrument Corporation Of Delaware | Error recovery of audio data carried in a packetized data stream |
JP2000278354A (en) * | 1999-03-23 | 2000-10-06 | Yamaha Corp | Packet transfer device |
JP2001025014A (en) * | 1999-05-24 | 2001-01-26 | Agilent Technol Inc | Method and device for decoding compressed multi-media communication and evaluating quality of multi-media communication |
US6363207B1 (en) * | 1998-10-22 | 2002-03-26 | Sony Corporation | Method and apparatus for a virtual system time clock for digital audio/video processor |
JP2002247565A (en) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | Network av camera and system |
JP2003316397A (en) * | 2002-04-16 | 2003-11-07 | Microsoft Corp | Error resistance coding |
WO2008006080A2 (en) * | 2006-07-06 | 2008-01-10 | Qualcomm Incorporated | Clock drift compensation techniques for audio decoding |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3354597B2 (en) | 1991-08-12 | 2002-12-09 | 富士通株式会社 | Counter circuit and its application circuit |
US6125398A (en) * | 1993-11-24 | 2000-09-26 | Intel Corporation | Communications subsystem for computer-based conferencing system using both ISDN B channels for transmission |
US5488570A (en) * | 1993-11-24 | 1996-01-30 | Intel Corporation | Encoding and decoding video signals using adaptive filter switching criteria |
US5838874A (en) * | 1995-05-08 | 1998-11-17 | Kabushiki Kaisha Toshiba | Audiovisual encoding system with a reduced number of audio encoders |
US6101195A (en) * | 1997-05-28 | 2000-08-08 | Sarnoff Corporation | Timing correction method and apparatus |
US20030161614A1 (en) * | 1997-11-28 | 2003-08-28 | Kabushiki Kaisha Toshiba | Method and apparatus for playing back data recorded on a recoding medium |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6359479B1 (en) * | 1998-08-04 | 2002-03-19 | Juniper Networks, Inc. | Synchronizing data transfers between two distinct clock domains |
US6512552B1 (en) * | 1999-03-29 | 2003-01-28 | Sony Corporation | Subpicture stream change control |
AU5140200A (en) * | 1999-05-26 | 2000-12-18 | Enounce, Incorporated | Method and apparatus for controlling time-scale modification during multi-media broadcasts |
US7539130B2 (en) * | 2000-03-28 | 2009-05-26 | Nokia Corporation | Method and system for transmitting and receiving packets |
US6961631B1 (en) * | 2000-04-12 | 2005-11-01 | Microsoft Corporation | Extensible kernel-mode audio processing architecture |
EP1255406B1 (en) * | 2000-04-21 | 2007-02-07 | Matsushita Electric Industrial Co., Ltd. | Trick play apparatus for digital storage medium |
US7212726B2 (en) * | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
CN1463441A (en) * | 2001-04-20 | 2003-12-24 | 皇家菲利浦电子有限公司 | Trick play for MP3 |
US6977980B2 (en) * | 2001-08-29 | 2005-12-20 | Rambus Inc. | Timing synchronization methods and systems for transmit parallel interfaces |
WO2003023785A2 (en) | 2001-09-06 | 2003-03-20 | Thomson Licensing S.A. | Method and apparatus for elapsed playback timekeeping of variable bit-rate digitally encoded audio data files |
US20030099196A1 (en) * | 2001-11-23 | 2003-05-29 | Benoist Sebire | Radio bearer service for IMS services |
US6912010B2 (en) * | 2002-04-15 | 2005-06-28 | Tektronix, Inc. | Automated lip sync error correction |
DE60211157T2 (en) * | 2002-09-06 | 2007-02-08 | Sony Deutschland Gmbh | Synchronous playback of media packages |
CH704101B1 (en) * | 2002-11-06 | 2012-05-31 | Barix Ag | Method and apparatus for synchronized playback of data streams. |
CN1720749B (en) * | 2002-12-04 | 2010-12-08 | 三叉微系统(远东)有限公司 | Method of automatically testing audio/video synchronization |
KR100711328B1 (en) | 2003-02-27 | 2007-04-27 | 마츠시타 덴끼 산교 가부시키가이샤 | Data processing device and method |
US7227899B2 (en) * | 2003-08-13 | 2007-06-05 | Skystream Networks Inc. | Method and system for re-multiplexing of content-modified MPEG-2 transport streams using interpolation of packet arrival times |
US7392417B2 (en) * | 2003-10-06 | 2008-06-24 | Nxp B.V. | Device for exchanging data signals between two clock domains |
US8687607B2 (en) | 2003-10-08 | 2014-04-01 | Qualcomm Incorporated | Method and apparatus for feedback reporting in a wireless communications system |
US20050166135A1 (en) * | 2004-01-05 | 2005-07-28 | Burke David G. | Apparatus, system and method for synchronized playback of data transmitted over an asynchronous network |
US20050226601A1 (en) * | 2004-04-08 | 2005-10-13 | Alon Cohen | Device, system and method for synchronizing an effect to a media presentation |
ATE376330T1 (en) * | 2004-07-22 | 2007-11-15 | Harman Becker Automotive Sys | DATA TRANSFER SYNCHRONIZATION SCHEME |
US20060069457A1 (en) * | 2004-09-24 | 2006-03-30 | Texas Instruments Incorporated | Dynamically adjustable shared audio processing in dual core processor |
US7335576B2 (en) * | 2004-10-08 | 2008-02-26 | Irvine Sensors Corp. | Method for precision integrated circuit die singulation using differential etch rates |
US8335576B1 (en) * | 2005-09-22 | 2012-12-18 | Teradici Corporation | Methods and apparatus for bridging an audio controller |
US8189586B2 (en) * | 2006-04-12 | 2012-05-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Plural telecommunications functions having sharing transaction(s) |
US8948206B2 (en) * | 2006-08-31 | 2015-02-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Inclusion of quality of service indication in header compression channel |
-
2006
- 2006-09-26 US US11/535,406 patent/US9083994B2/en not_active Expired - Fee Related
-
2007
- 2007-09-26 KR KR1020097008276A patent/KR101047820B1/en not_active IP Right Cessation
- 2007-09-26 CN CN2007800352174A patent/CN101518081B/en not_active Expired - Fee Related
- 2007-09-26 EP EP07843264.8A patent/EP2070329B1/en not_active Not-in-force
- 2007-09-26 JP JP2009530580A patent/JP5096472B2/en not_active Expired - Fee Related
- 2007-09-26 WO PCT/US2007/079595 patent/WO2008039871A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0776134A2 (en) * | 1995-11-22 | 1997-05-28 | General Instrument Corporation Of Delaware | Error recovery of audio data carried in a packetized data stream |
US6363207B1 (en) * | 1998-10-22 | 2002-03-26 | Sony Corporation | Method and apparatus for a virtual system time clock for digital audio/video processor |
JP2000278354A (en) * | 1999-03-23 | 2000-10-06 | Yamaha Corp | Packet transfer device |
JP2001025014A (en) * | 1999-05-24 | 2001-01-26 | Agilent Technol Inc | Method and device for decoding compressed multi-media communication and evaluating quality of multi-media communication |
JP2002247565A (en) * | 2001-02-22 | 2002-08-30 | Hitachi Ltd | Network av camera and system |
JP2003316397A (en) * | 2002-04-16 | 2003-11-07 | Microsoft Corp | Error resistance coding |
WO2008006080A2 (en) * | 2006-07-06 | 2008-01-10 | Qualcomm Incorporated | Clock drift compensation techniques for audio decoding |
Also Published As
Publication number | Publication date |
---|---|
US20080074542A1 (en) | 2008-03-27 |
KR20090089287A (en) | 2009-08-21 |
JP5096472B2 (en) | 2012-12-12 |
US9083994B2 (en) | 2015-07-14 |
CN101518081B (en) | 2013-03-06 |
EP2070329A2 (en) | 2009-06-17 |
EP2070329B1 (en) | 2017-06-14 |
CN101518081A (en) | 2009-08-26 |
WO2008039871A2 (en) | 2008-04-03 |
KR101047820B1 (en) | 2011-07-08 |
WO2008039871A3 (en) | 2008-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5096472B2 (en) | Method and system for error robust audio playback time stamp reporting | |
JP5031972B2 (en) | Method for reducing time delay with respect to received information in transmission of coded information | |
US8762580B2 (en) | Common event-based multidevice media playback | |
US9338208B2 (en) | Common event-based multidevice media playback | |
KR101429773B1 (en) | Method and system loss-tolerant for multimedia multicasting | |
US7710941B2 (en) | Method and device for the synchronised restitution of data flows | |
US20100088103A1 (en) | Playback apparatus and playback method | |
US9843489B2 (en) | System and method for synchronous media rendering over wireless networks with wireless performance monitoring | |
JP6290915B2 (en) | Common event-based multi-device media playback | |
US20150271225A1 (en) | Transport accelerator implementing extended transmission control functionality | |
US20060029139A1 (en) | Data transmission synchronization scheme | |
US20060013123A1 (en) | Method and apparatus for processing transmission error in DMB system | |
WO2002065452A1 (en) | Method and apparatus for encoding and decoding pause information | |
US7561518B2 (en) | Data sending/receiving system and method, information providing apparatus and method, and data receiving apparatus and method | |
JP2013518514A (en) | Majority error correction technology | |
EP3474512B1 (en) | Controlling dual-mode bluetooth low energy multimedia devices | |
US8223136B2 (en) | Error detection and prevention inacoustic data | |
US20050083970A1 (en) | Apparatus, system and method of transmitting data | |
US6735223B1 (en) | Method of controlling offset of time stamp and apparatus for transmitting packet using the same | |
US20110022399A1 (en) | Auto Detection Method for Frame Header | |
US20090220094A1 (en) | Processing circuit capable of modifying digital audio signals | |
US20050195857A1 (en) | Method and apparatus for extracting payload from a packetized elementary stream packet | |
WO2021171057A1 (en) | Systems and methods for selective storing of data included in a corrupted data packet | |
JP6237367B2 (en) | Data transmission system, transmission device, reception device, transmission program, reception program, and data transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120725 |
|
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: 20120821 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120920 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |