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 PDF

Info

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
Application number
JP2009530580A
Other languages
Japanese (ja)
Other versions
JP5096472B2 (en
Inventor
チェン、ミンシャ
マウロ、アンソニー・パトリック・ザ・セカンド
チョイ、エディー・エル.ティー.
ガオ、ユジイ
サンパト、クンタル・ディリプシン
ジブニー、マシュー・ブライン
ガバーダン、サティシュ
グプタ、サミア・クマー
ガルダドリ、ハリナス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010505150A publication Critical patent/JP2010505150A/en
Application granted granted Critical
Publication of JP5096472B2 publication Critical patent/JP5096472B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/2368Multiplexing of audio and video streams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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
    • H04N19/436Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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
    • 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
    • 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
    • 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/439Processing of audio elementary streams
    • 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/442Monitoring 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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/442Monitoring 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/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages

Abstract

オーディオデコーダ中で消費されたバイトを使用して、組込みマルチメディアシステムを再同期させる方法およびシステムである。消費されたバイトは、再送信を要求しないシステムでのビットエラー処理および誤り訂正を補償するためのメカニズムを提供する。オーディオデコーダは消費されたバイトを継続追跡し、消費されたバイトを周期的に報告する。再同期が必要かどうかを決定するために、予め決められたバイトカウントに対してビットエラーが処理され、訂正されているため、ホストマイクロプロセッサは消費された実際のバイトをインデックス付けする。
【選択図】 図3
A 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.

図1は、本発明によるマルチメディアシステムのブロックダイヤグラムを例示する図である。FIG. 1 is a diagram illustrating a block diagram of a multimedia system according to the present invention. 図2Aは、ファントムで示されるオーディオデコーダの詳細を備えた、図1のマルチメディアシステムのブロックダイヤグラムを例示する図である。FIG. 2A is a diagram illustrating a block diagram of the multimedia system of FIG. 1 with details of the audio decoder shown in phantom. 図2Bは、ファントムで示されるホストマイクロプロセッサの詳細を備えた、図1のマルチメディアシステムのブロックダイヤグラムを例示する図である。FIG. 2B is a diagram illustrating a block diagram of the multimedia system of FIG. 1 with details of the host microprocessor shown in phantom. 図3は、本発明に従って、オーディオデコーダによるエラーロバストなオーディオ再生時間スタンプ報告方法のフローチャートを例示する図である。FIG. 3 is a flowchart illustrating an error robust audio playback time stamp reporting method by an audio decoder according to the present invention. 図4は、本発明に従ってシステム再同期方法のフローチャートを例示する図である。FIG. 4 is a diagram illustrating a flowchart of a system resynchronization method according to the present invention. 図5は、本発明に従って、エラーロバストなオーディオ再生時間スタンプ報告方法のためのホストマイクロプロセッサ制御のフローチャートを例示する図である。FIG. 5 is a diagram illustrating a host microprocessor controlled flow chart for an error robust audio playback time stamp reporting method according to the present invention. 図6は、ファントムで示されるオーディオデコーダの詳細を備えた、本発明によるマルチメディアシステムの代替実施例のブロックダイヤグラムを例示する図である。FIG. 6 is a diagram illustrating a block diagram of an alternative embodiment of a multimedia system according to the present invention with details of an audio decoder shown in phantom.

発明の詳細な説明Detailed Description of the Invention

本発明は様々な異なる形態での実施が可能であるが、この明細書と添付の図面は本発明の使用の例としていくつかの形態だけを示す。本発明は、記述された通りの実施例に制限されるようには意図されず、本発明の範囲は添付の請求項で指摘されるであろう。   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 multimedia system 10 includes multiple media outputs, such as audio via speakers 44 and video via video display 46. The system 10 further outputs a playback time display 48 (shown in phantom) that is integrated or separated from the video display 46. Although the illustrated embedded multimedia system 10 includes both audio and video, any user selection program may include audio only or both audio and video.

組込みマルチメディアシステム10では、図2Bで最も見られるように、ホストマイクロプロセッサ12は、ビットストリーム組み立てモジュール(bitstream assembling module)14中に、パックされたオーディオビットストリーム(packed audio bitstream)を組み立てるプログラム命令を含んでおり、そしてパックされたオーディオビットストリームをDSP 30中のオーディオデコーダ32へ送る。オーディオデコーダ32は、パックされたオーディオビットストリームをスピーカー44によってプレイアウトされる波形へデコードするプログラム命令を含んでいる。一般に、プログラムのパックされたオーディオビットストリーム中の各フレームは、ルックアップテーブル(LUT)構成モジュール15によって構成されその後ルックアップテーブル(LUT)22に格納される予め決められたオーディオ再生時間およびバイトカウントと関連付けられている。   In the embedded multimedia system 10, as best seen in FIG. 2B, the host microprocessor 12 assembles a packed audio bitstream into a bitstream assembling module 14. And the packed audio bitstream is sent to the audio decoder 32 in the DSP 30. Audio decoder 32 includes program instructions for decoding the packed audio bitstream into a waveform that is played out by speaker 44. In general, each frame in a program's packed audio bitstream is pre-determined by a predetermined audio playback time and byte count that is constructed by a lookup table (LUT) construction module 15 and then stored in a lookup table (LUT) 22 Associated with.

典型的な実施例では、プログラムのフレーム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 LUT 22 has a predetermined byte count 26A, 26B,... 26X associated with a predetermined audio playback time 24A, 24B,.

ホストマイクロプロセッサ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 host microprocessor 12 further includes program instructions operable to function as an error-robust playback time stamp report cross referencing module 16, the module 16 including a LUT The audio playback times 24A, 24B,. Further, for resynchronization operations, the host microprocessor 12 further includes program instructions operable as a resynchronization evaluation module 18 and a resynchronization module 20.

オーディオデコーダ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 memory 50. Here, the callback interval 54 is written by the host microprocessor 12. The audio decoder 32 can use the callback interval for use throughout the program.

エラーロバストなオーディオ再生時間スタンプ報告発生器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 host microprocessor 12. The error robust audio playback time stamp report includes a sample count from the sample counter 36 and a byte count from the byte counter 38.

オペレーションでは、ホストマイクロプロセッサ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 host microprocessor 12 determines the frequency of the played-out audio samples to instruct the audio decoder 32 as to how often an error robust audio playback time stamp report should be sent to the host microprocessor 12. The callback interval 54 will be set and / or sent by a number (N). Callback interval 54 can be used to assist host microprocessor 12 in configuring LUT 22 with LUT configuration module 15. The audio decoder 32 extracts the callback interval 54 from the shared memory 50. Alternatively, the callback interval 54 may be sent to the DSP 30 in a host command. In addition, the audio decoder 32 continues to track the number of bytes in the bitstream consumed by the byte counter 38 and the number of samples decoded and sent to the speaker 44 via the sample counter 36. The error robust audio playback time stamp report generator 40 reports back both the sample count of the sample counter 36 and the byte count of the byte counter 38 at the requested callback interval or an integer multiple of the callback interval.

ホストマイクロプロセッサ12は、再生の開始から予め決められたオーディオ再生時間24A、24B、…24Xを備えたビットストリームのバイト数(バイトカウント)26A、26B、…26Xを写像するルックアップテーブル(LUT)22を保存する。ホストマイクロプロセッサ12がエラーロバストなオーディオ再生時間スタンプ報告を受け取ると、ホストマイクロプロセッサ12は、サンプルの数が少なくとも1つのビットストリームエラーの可能性による正確なタイミング表示ではないかもしれないことを認識する。したがって、ホストマイクロプロセッサ12は、予め決められたオーディオ再生時間24A、24B、…24Xを見つけるために、LUT 22にインデックスを付けるため、報告からの消費されたバイトの数(バイトカウント)を使用する。好ましくは、「LUT 22中へのインデックス」は、パックされたオーディオビットストリームにおけるいかなるエラーも一時的にはフレーム境界に配置されていないバイトカウントに帰着するため、報告中で送られたバイトカウントに最も近いLUT 22中のエントリーを見つけるために、最も近いマッチ探索を使用するべきである。   The host microprocessor 12 has a look-up table (LUT) that maps the number of bytes (byte count) 26A, 26B,... 26X of the bitstream with audio playback times 24A, 24B,. Save 22. When the host microprocessor 12 receives an error robust audio playback time stamp report, the host microprocessor 12 recognizes that the number of samples may not be an accurate timing indication due to the possibility of at least one bitstream error . Therefore, the host microprocessor 12 uses the number of bytes consumed (byte count) from the report to index the LUT 22 to find the predetermined audio playback times 24A, 24B,... 24X. . Preferably, the “index into LUT 22” is the byte count sent in the report, as any errors in the packed audio bitstream will result in a byte count that is temporarily not located at frame boundaries. To find the entry in the closest LUT 22, the closest match search should be used.

既知のバイトカウントとサンプルカウントによって、ホストマイクロプロセッサ12は、どこでオーディオがプレイアウトし、オーディオ、オーディオと関連付けられたビデオ、および再生時間ディスプレイのうちの少なくとも1つと同期化するかを決定することができる。   With the known byte count and sample count, the host microprocessor 12 may determine where the audio is played out and synchronized with at least one of the audio, the video associated with the audio, and the playback time display. it can.

メディア(オーディオまたはビデオ)再生のための巻き戻し、早送り、あるいは停止のコマンドが受け取られると、ホストマイクロプロセッサ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 host microprocessor 12 sends a corresponding command to the audio decoder 32 to instruct it to do so. The audio decoder 32 resets the sample counter 36 and the byte counter 38. In addition, the host microprocessor 12 reconfigures the LUT 22 via the LUT configuration module 15. The sample command and byte command are used to reset the sample counter 36 and byte counter 38 to 0 (zero). Alternatively, the sample command and byte command may simply move the sample counter 36 and byte counter 38 forward or back.

ホストマイクロプロセッサ12および/またはDSP 30は、図5のステップS172A、S172B、S172Cでなされた決定に基づいて、バイト/サンプルカウンタをいつリセットするべきかを知る。オーディオ再生はリアルタイムにあり、人間の耳は、落とされた、あるいは追加されたオーディオサンプルに非常に敏感であるので、再同期は、ビデオフレームを削除するか、ビデオフレームを遅らせるようにホストマイクロプロセッサ12によって制御される。ビデオ再生によって、1つのフレームを二度落とすか、二度プレイすることができる。   The host microprocessor 12 and / or DSP 30 knows when to reset the byte / sample counter based on the decision made in steps S172A, S172B, S172C of FIG. Because audio playback is in real time and the human ear is very sensitive to dropped or added audio samples, resynchronization removes the video frame or delays the video frame so that the host microprocessor Controlled by 12. With video playback, one frame can be dropped twice or played twice.

様々なビットストリームエラー検知および処理の仕組みがオーディオデコーダにおいて利用可能である。オーディオデコーダ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 stamp reporting method 100 and multimedia system 10 take advantage of the fact that the bitstream length remains the same even under opposing channel conditions. The host microprocessor 12 uses the audio byte count to cross-reference the predetermined audio playback time through the packed bitstream position at the audio bitstream frame boundary. As a result, an accurate “actual” audio playback time, such as for resynchronization of the system 10, can be determined regardless of any errors in the bitstream.

図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 stamp reporting method 100 can be implemented in multimedia system 10 to facilitate resynchronization of system 10 hosts by method 150 of FIG. Enable accurate time stamp reporting. The method 100 begins at step S102 where the audio decoder 32 decodes the packed audio bitstream from the host microprocessor 12. Step S102 is followed by steps S104 and S106. In step S104, decoding is performed and the byte counter 38 counts the bytes consumed by the decoder in step S104. Returning to step S106, step S106 determines whether an error has been detected during the decoding process. If the determination is “no”, step S106 is followed by step S109, and the samples played out by the speaker 44 are counted in step S110.

再びステップ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 host microprocessor 12. Step S114 is followed by step S116 to determine if there is any further programming. If the determination in step S120 is “Yes”, step S120 returns to step S102. Otherwise, if the determination in step S120 is “No”, method 100 ends.

図4を参照して、システム再同期方法150が示される。方法150は、ホストマイクロプロセッサ12が、バイトカウントおよびサンプルカウントを備えたエラーロバストなオーディオ再生時間スタンプ報告を受け取るステップS152で始まる。ステップS152にはステップS154が続き、パックされたビットストリームのフレーム用に予め決められたオーディオ再生時間24A、24B、…24XがLUT 22中でルックアップあるいは探索される。バイトカウントに近い予め決められたオーディオ再生時間のエントリーを見つけるために、最も近いマッチ探索が使用され得る。ステップS154は、エラーロバストな再生時間スタンプ報告相互参照モジュール16によって実行される。   Referring to FIG. 4, a system resynchronization method 150 is shown. The method 150 begins at step S152 where the host microprocessor 12 receives an error robust audio playback time stamp report comprising a byte count and a sample count. Step S152 is followed by step S154, where a predetermined audio playback time 24A, 24B,... 24X for the packed bitstream frame is looked up or searched in the LUT 22. The closest match search can be used to find a predetermined audio playback time entry close to the byte count. Step S154 is performed by the error robust playback time stamp report cross-reference module 16.

ステップ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 method 150 ends. Steps S156 and S158 are executed by the resynchronization evaluation module 18.

他方、ステップ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. Resynchronization method 150 ends at steps S162, S164, and S166. If resynchronization is performed by insertion or delay of video frames, or other manipulation of video, there is no need to modify LUT 22. Thus, any time resynchronization of the video reorders UT 22 (assuming no errors occurred) so that the next sample count and byte count reports are aligned at LUT 22. On the other hand, if resynchronization requires an audio frame to be dropped or manipulated, the LUT 22 may require reconfiguration.

組込みマルチメディアシステム10は、個々の特定のアプリケーションに言及することはできないが、上に言及されない他のメディアアプリケーションのための同期情報を要求してもよい。   The embedded multimedia system 10 cannot request individual specific applications, but may request synchronization information for other media applications not mentioned above.

図5を参照して、エラーロバストなオーディオ再生時間スタンプ報告のためのオーディオデコーダ32のホストマイクロプロセッサ制御方法170のフローチャートが示される。方法170はステップS172A、172Bおよび172Cから始まる。オペレーションでは、ホストマイクロプロセッサ12は、ステップS172Aで新しいプログラムの再生のためのユーザコマンドを、ステップS172Bでプログラムの早送りのためのユーザコマンドを、またステップS172Cでプログラムの巻き戻しのためのユーザコマンドを受け取ることができる。   Referring to FIG. 5, a flowchart of a host microprocessor control method 170 of the audio decoder 32 for error robust audio playback time stamp reporting is shown. Method 170 begins with steps S172A, 172B, and 172C. In operation, the host microprocessor 12 receives a user command for playing a new program in step S172A, a user command for fast-forwarding the program in step S172B, and a user command for rewinding the program in step S172C. Can receive.

ステップ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 host microprocessor 12 configures or reconfigures the LUT 22 with a new byte count and associated predetermined audio playback times 24A, 24B,..., 24X. To do. Step S174 is followed by step S176 (indicated by a phantom), and the sample counter 36 is reset. Step S176 (indicated by phantom) is followed by step S178 (indicated by phantom), and the byte counter 38 is reset. LUT 22 is configured with a new or reset byte count. In one embodiment, sample counter 36 and byte counter 38 are reset to 0 (zero) or some other number determined by host microprocessor 12 and / or DSP 30. Step S178 (indicated by a phantom) is followed by an optional step S180 (indicated by a phantom) in which a callback interval or counter for the callback interval is set or reset. The callback interval 54 can be sent as appropriate. For example, the callback interval at step S180 is set only when a new program is started for playback, and is not set at other times.

ステップS176とS178は、新しいプログラム選択、早送り、あるいは巻き戻しのためのユーザ入力を受け取るホストマイクロプロセッサ12の結果としてホストマイクロプロセッサ12とDSP 30との間のインターフェースがサンプルカウンタ36、バイトカウンタ38のセットあるいはリセットをもたらすことを示すために、ファントムで示されている。同様に、コールバックインターバルもセットあるいはリセットされてもよい。さらに、サンプルカウンタ36およびバイトカウンタ38のリセットもDSP 30によって自動的に行われてもよい。   Steps S176 and S178 indicate that the interface between the host microprocessor 12 and the DSP 30 as a result of the host microprocessor 12 receiving user input for new program selection, fast forward, or rewind is the sample counter 36, byte counter 38 It is shown with a phantom to show that it causes a set or reset. Similarly, the callback interval may be set or reset. Further, the reset of the sample counter 36 and the byte counter 38 may be automatically performed by the DSP 30.

図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 host microprocessor 12 and the DSP 30 for communicating the callback interval 54 is a shared memory 50. In this embodiment, host microprocessor 12 writes callback interval 54 into shared memory 50. The DSP 30 reads the callback interval 54 from the shared memory 50 for use by the error robust audio playback time stamp report generator 40. Alternatively, the interface between the host microprocessor 12 and the DSP 30 that communicates the callback interval 54 is a command sent from the host microprocessor 12 to the DSP 30.

図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 multimedia system 10 ′ with details of DSP 30 (shown in phantom) is shown. In this embodiment, the interface between the host microprocessor and DSP 30 that communicates the callback interval is a shared memory 50 '. The interface between the DSP 30 and the host microprocessor 12 to send the sample count 52 and byte count 53 of the error robust audio playback time stamp report the sample count 52 and byte count 53 by the audio decoder 32 ' Including writing to a memory location. The host microprocessor 12 reads the sample count 52 and byte count 53 from the shared memory 50 ′. In addition, the error robust audio playback time stamp report generator 40 ′ sends an error robust audio playback time stamp interrupt to the host microprocessor 12. The interrupt notifies the host microprocessor 12 of the availability of the sample count 52 and byte count 53 in the shared memory 50 ′.

上記を考慮して、本発明は、システム同期のためにホストマイクロプロセッサに報告する正確な時間スタンプを達成するエラーロバストな通知方法および組込みマルチメディアシステム10を提供する。その方法とシステム10は、また、システムを同期させるためにオーディオビットストリームにおける誤りの累積的な性質を補償する。   In view of the above, the present invention provides an error robust notification method and embedded multimedia system 10 that achieves an accurate time stamp reporting to the host microprocessor for system synchronization. The method and system 10 also compensates for the cumulative nature of errors in the audio bitstream to synchronize the system.

ここで開示された組込みマルチメディアシステム、方法およびプログラム命令によってエラーロバストな報告が正確な時間スタンプ報告を達成し、またオーディオビットストリームにおける誤りの累積的な性質を補償することが当業者によって理解されるであろう。また、エラーロバストな報告は、プロトコルが再送信を要求しない場合に誤りの累積的な性質を補償する。例えば、プロトコルは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:
前記オーディオデコーダは、スピーカーによってプレイアウトされた前記オーディオビットストリームのデコードサンプル数をカウントするサンプルカウンタをさらに備える、 請求項1に記載のシステム。   The system of claim 1, wherein the audio decoder further comprises a sample counter that counts the number of decoded samples of the audio bitstream that is played out by a speaker. 前記オーディオデコーダは、前記報告を生成するために誤りに対して強靭なオーディオ再生時間スタンプ報告発生器を備え、前記報告は、前記サンプルカウンタのカウントをさらに備える、請求項2に記載のシステム。   3. The system of claim 2, wherein the audio decoder comprises an audio playback time stamp report generator that is robust to errors to generate the report, the report further comprising a count of the sample counter. 共有メモリをさらに備え、前記ホストマイクロプロセッサは、ビットストリームを組み立てて通信しかつ前記オーディオデコーダによる使用のためにコールバックインターバルを前記共有メモリに書き込むビットストリーム組み立てモジュールを含み、なお、前記コールバックインターバルは前記デコードサンプル数の関数であり、前記報告が前記ホストマイクロプロセッサに送られる頻度を示す;
前記誤りに対して強靭なオーディオ再生時間スタンプ報告発生器は、前記ホストマイクロプロセッサによる使用のために、前記報告の前記サンプルカウンタのカウントおよび前記消費されたバイトを前記共有メモリに書き込む、請求項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)と;
前記消費されたバイトのカウウントと前記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.
前記ホストマイクロプロセッサは、予め決められたオーディオプログラム用の前記LUTを構成するためのLUT構成モジュールを含む、請求項5に記載のシステム。   6. The system of claim 5, wherein the host microprocessor includes a LUT configuration module for configuring the LUT for a predetermined audio program. 前記ホストマイクロプロセッサは早送り、巻き戻し、停止を行うためのユーザ入力コマンドに応答し、前記早送り、巻き戻しのための前記ユーザ入力コマンドに応答して前記ホストマイクロプロセッサは前記LUTを再構成し、前記オーディオデコーダは前記消費されたバイトをリセットする、請求項6に記載のシステム。   The host microprocessor is responsive to user input commands for fast forward, rewind, and stop; in response to the user input commands for fast forward, rewind, the host microprocessor reconfigures the LUT; The system of claim 6, wherein the audio decoder resets the consumed bytes. 前記オーディオデコーダは、さらに、コールバックインターバルを受け取り前記消費されたバイトをリセットするために前記ホストマイクロプロセッサとインターフェースする、請求項1に記載のシステム。   The system of claim 1, wherein the audio decoder further interfaces with the host microprocessor to receive a callback interval and reset the consumed bytes. 前記ホストマイクロプロセッサが前記システムを再同期するとき、前記デコードされたオーディオビットストリームのオーディオプレイアウトを表示する再生時間ディスプレイが再同期される、請求項1に記載のシステム。   The system of claim 1, wherein a playback time display that displays an audio playout of the decoded audio bitstream is resynchronized when the host microprocessor resynchronizes the system. 前記ホストマイクロプロセッサが前記システムを再同期するとき、前記オーディオビットストリームと関係するビデオストリームが再同期される、請求項1に記載のシステム。   The system of claim 1, wherein a video stream associated with the audio bitstream is resynchronized when the host microprocessor resynchronizes the system. 前記オーディオデコーダはデジタル信号プロセサ(DSP)によって実行されるプログラム命令を含み、前記ホストマイクロプロセッサは、アドバンスドRISCマシン(ARM)によって実行されるプログラム命令を含む、請求項1に記載のシステム。   The system of claim 1, wherein the audio decoder includes program instructions executed by a digital signal processor (DSP), and the host microprocessor includes program instructions executed by an advanced RISC machine (ARM). 前記オーディオデコーダは、ウィンドウズ・メディア・オーディオ、高品質オーディオコーディング(AAC)デコーダ、AAC Plusデコーダ、改良AAC Plusデコーダ(eAAC+)、MP3およびリアル・オーディオ・ビットストリーム・フォーマットのうちの少なくとも1つとの互換性を有する、請求項1に記載のシステム。   The audio decoder is compatible with 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 2. The system according to claim 1, wherein the system has characteristics. マルチメディアシステムであって、
オーディオビットストリームをデコードし、前記デコードの間に消費されたバイトをカウントし、前記消費されたバイトの前記カウントを報告するためのデコード手段と;
前記消費されたバイトを処理し、前記消費されたバイトのカウントに基づいて前記システムを再同期するための処理手段と;
を備えるマルチメディアシステム。
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:
前記デコード手段は、プレイアウトされたオーディオビットストリームのデコードサンプル数をカウントするためのサンプルカウント手段をさらに備える、請求項13に記載のシステム。   14. The system according to claim 13, wherein the decoding means further comprises sample counting means for counting the number of decoded samples of the playout audio bitstream. 前記デコード手段は、前記サンプルカウント手段のカウントを報告するための報告手段をさらに備える、請求項14に記載のシステム。   15. The system according to claim 14, wherein the decoding means further comprises reporting means for reporting a count of the sample counting means. コールバックインターバルを格納するための格納手段をさらに備え、前記処理手段は、ビットストリームを組み立てて通信しかつ前記デコード手段による使用のために前記コールバックインターバルを前記格納手段に書き込むための手段を含み、前記コールバックインターバルは前記デコードサンプル数の関数であり、前記処理手段による使用のために前記報告手段が前記サンプルカウント手段のカウントおよび前記消費されたバイトを前記格納手段に書き込む頻度を示す、請求項15に記載のシステム。   Storage means for storing a callback interval further comprises processing means for assembling and communicating a bitstream and writing the callback interval into the storage means for use by the decoding means. The callback interval is a function of the number of decoded samples and indicates how often the reporting means writes the count of the sample counting means and the consumed bytes to the storage means for use by the processing means. Item 15. The system according to item 15. 前記処理手段は、予め決められたバイトカウントおよび前記予め決められたバイトカウントに関連付けられた予め決められたオーディオ再生時間を有するルックアップテーブル(LUT)と;
前記消費されたバイトのカウントと前記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:
前記処理手段は、予め決められたオーディオプログラム用の前記LUTを構成するための構成手段を含む、請求項17に記載のシステム。   18. The system of claim 17, wherein the processing means includes configuration means for configuring the LUT for a predetermined audio program. 前記処理手段は、早送り、巻き戻し、停止を行うためのユーザ入力コマンドに反応し、前記早送り、巻き戻しのための前記ユーザ入力コマンドに反応して、前記処理手段前記構成手段は前記LUTを再構成するための再構成手段を含み、前記デコード手段は前記消費されたバイトをリセットするためのリセット手段を含む、請求項18に記載のシステム。   The processing means is responsive to user input commands for fast forward, rewind, and stop, and in response to the user input commands for fast forward and rewind, the processing means is configured to reconfigure the LUT. 19. The system of claim 18, including reconfiguration means for configuring, wherein the decoding means includes reset means for resetting the consumed bytes. 前記デコード手段は、さらに、コールバックインターバルを受け取り前記消費されたバイトをリセットするために前記処理手段とインターフェースするインターフェース手段を備える、請求項13に記載のシステム。   14. The system of claim 13, wherein the decoding means further comprises interface means for receiving a callback interval and interfacing with the processing means to reset the consumed bytes. 前記処理手段は、前記デコードされたオーディオビットストリームのオーディオプレイアウトを表示する再生時間ディスプレイを再同期するための再同期手段を含む、請求項13に記載のシステム。   14. The system of claim 13, wherein the processing means includes resynchronizing means for resynchronizing a playback time display that displays an audio playout of the decoded audio bitstream. 前記処理手段は、前記オーディオビットストリームと関係するビデオストリームを再同期するための再同期手段を含む、 請求項13に記載のシステム。   14. The system of claim 13, wherein the processing means includes resynchronization means for resynchronizing a video stream associated with the audio bitstream. 前記デコード手段は、ウィンドウズ・メディア・オーディオ、高品質オーディオコーディング(AAC)デコーダ、AAC Plusデコーダ、改良AAC Plusデコーダ(eAAC+)、MP3およびリアル・オーディオ・ビットストリーム・フォーマットのうちの少なくとも1つとの互換性を有する、請求項13に記載のシステム。   The decoding means is compatible with 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 14. The system according to claim 13, wherein the system has characteristics. マルチメディアシステムを再同期する方法であって、
オーディオデコーダによってオーディオビットストリームをデコードし、前記デコードの間に消費されたバイトをカウントするステップと;
前記消費されたバイトのカウントをホストマイクロプロセッサに報告するステップと;
報告された前記消費されたバイトを処理するステップと;
前記報告された前記消費されたバイトに基づいて前記システムを再同期するステップと;
を備える方法。
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:
前記デコードするステップの間、プレイアウトされた前記オーディオビットストリームのデコードサンプル数をカウントするステップをさらに備える、請求項24に記載の方法。   25. The method of claim 24, further comprising counting the number of decoded samples of the played out audio bitstream during the decoding step. 前記報告するステップは、前記デコードサンプル数のカウントを報告するステップをさらに備える、請求項25に記載の方法。   26. The method of claim 25, wherein the reporting step further comprises reporting a count of the number of decoded samples. ビットストリームを組み立てて通信するステップと;
前記デコードするステップの間の使用のためにコールバックインターバルをセットするステップとをさらに備え、前記コールバックインターバルは前記デコードサンプル数の関数であり、前記報告するステップの頻度を示す、請求項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.
前記報告するステップは、前記ホストマイクロプロセッサによる使用のために、前記オーディオデコーダによって消費された前記バイトとデコードされたサンプルのカウントとをメモリに書き込むステップを備える、請求項27に記載の方法。   28. The method of claim 27, wherein the reporting step comprises writing the bytes consumed by the audio decoder and a count of decoded samples to a memory for use by the host microprocessor. 前記処理するステップは、
前記予め決められたバイトカウントと前記予め決められたバイトカウントに関連付けられた予め決められたオーディオ再生時間とを有するルックアップテーブル(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.
前記デコードするステップに先立って、予め決められたオーディオプログラムのための前記LUTを構成するステップをさらに備える、請求項29に記載の方法。   30. The method of claim 29, further comprising configuring the LUT for a predetermined audio program prior to the decoding step. 前記再同期するステップは、前記デコードされたオーディオビットストリームのオーディオプレイアウトを表示する再生時間ディスプレイを再同期するステップを備える、請求項24に記載の方法。   25. The method of claim 24, wherein the resynchronizing step comprises resynchronizing a playback time display that displays an audio playout of the decoded audio bitstream. 前記再同期するステップは、前記オーディオビットストリームと関係するビデオストリームを再同期するステップを備える、請求項24に記載の方法。   25. The method of claim 24, wherein the resynchronizing step comprises resynchronizing a video stream associated with the audio bitstream. 前記デコードするステップは、ウィンドウズ・メディア・オーディオ、高品質オーディオコーディング(AAC)デコーダ、AAC Plusデコーダ、改良AAC Plusデコーダ(eAAC+)、MP3およびリアルオーディオ・ビットストリーム・フォーマットのうちの少なくとも1つとの互換性を有する、請求項24に記載の方法。   The decoding step is compatible with 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 25. The method of claim 24, wherein the method is sexual. 組込みマルチメディアシステムにおける使用のためのオーディオデコーダであって、オーディオビットストリームをデコードし、消費されたバイトをカウントし、前記システムの再同期のために前記消費されたバイトのカウントをホストマイクロプロセッサに周期的に報告するオーディオデコーダ。   An audio decoder for use in an embedded multimedia system, which decodes an audio bitstream, counts consumed bytes, and counts the consumed bytes to a host microprocessor for resynchronization of the system Audio decoder that reports periodically. 前記オーディオデコーダは、さらに、スピーカーによってプレイアウトされたオーディオビットストリームのデコードされたサンプル数をカウントする、請求項34に記載のデコーダ。   35. The decoder of claim 34, wherein the audio decoder further counts the number of decoded samples of an audio bitstream that is played out by a speaker. 前記オーディオデコーダは、さらに、前記サンプルカウンタのカウントを報告する、請求項35に記載のデコーダ。   36. The decoder of claim 35, wherein the audio decoder further reports a count of the sample counter. 前記オーディオデコーダは、さらに、前記サンプルカウンタおよび前記消費されたバイトのカウントをメモリに書き込み、前記メモリからコールバックインターバルを検索する、請求項36に記載のデコーダ。   38. The decoder of claim 36, wherein the audio decoder further writes the sample counter and the count of consumed bytes to a memory and retrieves a callback interval from the memory. 前記オーディオデコーダは、ウィンドウズ・メディア・オーディオ、高品質オーディオコーディング(AAC)デコーダ、AAC Plusデコーダ、改良AAC Plusデコーダ(eAAC+)、MP3およびリアルオーディオ・ビットストリーム・フォーマットのうちの少なくとも1つとの互換性を有する、請求項34に記載のデコーダ。   The audio decoder is compatible with 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 35. The decoder of claim 34, comprising: 組込みマルチメディアシステムの複数のプロセッサによって実行可能なプログラム命令であって、前記プログラム命令の実行によって前記プロセッサに、オーディオビットストリームをデコードさせ、前記デコードの間に消費されたバイトをカウントさせ、前記消費されたバイトのカウントを報告させ;
前記消費されたバイトのカウントに基づいて前記システムを再同期させる、プログラム命令。
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.
前記プログラム命令は、その実行によって前記プロセッサに、さらに、スピーカーによってプレイアウトされたオーディオビットストリームのデコードサンプル数をカウントさせる、請求項39に記載のプログラム命令。   40. The program instruction of claim 39, wherein execution of the program instruction causes the processor to further count the number of decoded samples of the audio bitstream played out by a speaker. 前記報告するためのプログラム命令は、その実行によって前記プロセッサに、さらに、前記デコードサンプル数のカウントを報告させる、請求項40に記載のプログラム命令。   41. The program instructions of claim 40, wherein the program instructions for reporting cause the processor to further report a count of the number of decode samples by execution thereof. 前記プログラム命令は、その実行によって前記プロセッサに、ビットストリームを組み立てて通信させ、かつコールバックインターバルをメモリに書き込ませる、なお、前記コールバックインターバルは前記デコードサンプル数の関数で、前記デコードするためのプログラム命令による報告の頻度を示す、請求項39に記載のプログラム命令。   The program instructions cause the processor to assemble and communicate a bitstream upon execution and write a callback interval into memory, wherein the callback interval is a function of the number of decoded samples and for decoding 40. A program instruction according to claim 39, which indicates the frequency of reporting by the program instruction. 前記プログラム命令は、その実行によって前記プロセッサに、さらに、予め決められたバイトカウントと前記予め決められたバイトカウントに関連付けられた予め決められたオーディオ再生時間とを有するルックアップテーブル(LUT)を構成させ;
前記消費されたバイトのカウントと前記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.
前記プログラム命令は、その実行によって前記プロセッサに、早送り、巻き戻し、停止を行うためのユーザ入力コマンドに応答させ、前記早送り、巻き戻しのための前記ユーザ入力コマンドに応答して、前記プログラム命令はその実行によって前記プロセッサに、前記消費されたバイトのカウントをリセットさせ、前記LUTを再構成させる、請求項43に記載のプログラム命令。   The program instructions cause the processor to respond to user input commands for fast forward, rewind, and stop by execution, and in response to the user input commands for fast forward and rewind, the program instructions 44. The program instructions of claim 43, wherein execution causes the processor to reset the count of consumed bytes and reconfigure the LUT.
JP2009530580A 2006-09-26 2007-09-26 Method and system for error robust audio playback time stamp reporting Expired - Fee Related JP5096472B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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