JP4875204B2 - 符号化オーディオデータを処理するための装置及び方法 - Google Patents

符号化オーディオデータを処理するための装置及び方法 Download PDF

Info

Publication number
JP4875204B2
JP4875204B2 JP2010506343A JP2010506343A JP4875204B2 JP 4875204 B2 JP4875204 B2 JP 4875204B2 JP 2010506343 A JP2010506343 A JP 2010506343A JP 2010506343 A JP2010506343 A JP 2010506343A JP 4875204 B2 JP4875204 B2 JP 4875204B2
Authority
JP
Japan
Prior art keywords
data stream
frame boundary
audio
matching pattern
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010506343A
Other languages
English (en)
Other versions
JP2010525414A (ja
Inventor
ルディ ハンター メッツ,
Original Assignee
ソニー エリクソン モバイル コミュニケーションズ, エービー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー エリクソン モバイル コミュニケーションズ, エービー filed Critical ソニー エリクソン モバイル コミュニケーションズ, エービー
Publication of JP2010525414A publication Critical patent/JP2010525414A/ja
Application granted granted Critical
Publication of JP4875204B2 publication Critical patent/JP4875204B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、携帯音楽プレーヤその他のマルチメディア装置などに使用し得る、オーディオデコーダに関する。オーディオデコーダは、格納されたオーディオファイルまたはネットワークを介して提供されるデータストリームを復号化するために使用される。
オーディオを符号化するために様々な標準規格が知られている。また、符号化オーディオデータをデータストリーム(データファイルまたはネットワークを介して提供されるデータストリームを含む)に含めるために様々な標準規格も知られている。Audio Data Transport Stream (ADTS)方式はそれらの一例で、広く使われているAdvanced Audio Coding (AAC) 標準規格に従って符号化されたオーディオをデータストリームに含ませて送信するために使用される。
ADTSその他の方式では、データストリームを、それぞれのフレームがヘッダを有するオーディオデータのフレームに組織化する。あるアプリケーションでは、符号化オーディオフレームの始まりを判定するためにデータストリームの部分をスキャンする必要があり得る。そのスキャンを容易にするために、フレームヘッダに同期語(syncword)と呼ばれるものを含めるのが一般的である。同期語は、一定の長さをもち、一定の値であり、一般的には、例えばヘッダの最初などヘッダの決められた位置に置かれる。
データストリームをスキャンして同期語の存在を検出することはフレームヘッダを特定するのに有効ではあるが、誤りを生じることもあり得る。実用的な理由から、一般に同期語は12ビットなど、比較的短いため、オーディオペイロードデータ中、すなわちフレームヘッダの外で、見かけ上の同期語が現れることがあり得る。それによって誤ったフレーム検出が行われてしまう。そのような検出誤りから回復するため様々な方法はあり得るが、検出誤りによって貴重な処理時間、処理サイクルが使われてしまう。
したがって、検出誤りを低減して、データストリームにおけるフレーム境界を効果的に特定する方法が必要である。
データストリームにおける複数の符号化オーディオフレームであって各フレームがヘッダを有する符号化オーディオフレームを復号化するオーディオデコーダが提供される。オーディオデコーダは、同期語と、有効な符号化オーディオフレームのヘッダフィールドに対する少なくとも1つの予測値に対応する1つ以上の付加ビットとを含むマッチングパタンを生成し、マッチングパタンのインスタンスがないかデータストリームの部分を検索してフレーム境界を検出し、検出されたフレーム境界に対応するデータストリームにおける点から始まる1つ以上の符号化オーディオフレームを復号化するための1つ以上の回路を含む。
実施形態において、オーディオデコーダは、同期語と、有効な符号化オーディオフレームのヘッダフィールドに対する少なくとも1つの予測値に対応する1つ以上の付加ビットとを含むマッチングパタンを生成するマッチングパタン生成部を含む。オーディオデコーダは更に、前記マッチングパタンのインスタンスがないかデータストリームの部分を検索してフレーム境界を検出するフレーム境界検出部と、前記検出されたフレーム境界に対応する前記データストリームにおける点から始まる1つ以上の符号化オーディオフレームを復号化するフレームデコーダとを含む。実施形態において、前記フレーム境界検出部は、前記マッチングパタンの所定数のインスタンスを検索するように構成され、前記検出されたフレーム境界は、前記所定数のインスタンスのうちの最後のものに対応する。また、前記フレーム境界検出部は、停止信号を受信するように構成され、前記フレーム境界検出部は更に、前記停止信号が受信されるまで、前記マッチングパタンのインスタンスがないか前記データストリームの部分を検索するように構成される。また、実施形態において、前記フレーム境界検出部は更に、検出された前記マッチングパタンのインスタンスの数を示す、前記停止信号の生成に用いるためのフレーム検出信号を提供するように構成される。また、実施形態において、前記符号化フレームは、Audio Data Transport Stream (ADTS)ヘッダを含み、マッチングパタン生成部は、12ビット同期語と、1ビットIDフィールド、2ビットレイヤフィールド、1ビット保護なしフィールドの予測値に対応する付加ビットとを含むマッチングパタンを生成するように構成される。
また、実施形態において、オーディオ処理誤りを検出し、前記オーディオ処理誤りに対応する前記データストリームにおける誤り位置を特定する復号化誤り検出部を更に有し、前記フレーム境界検出部は、前記誤り位置から前記検索を開始する。また、実施形態において、前記フレーム境界検出部は更に、前記検出されたフレーム境界が有効なヘッダに対応しているかを検証するように構成される。また、実施形態において、前記フレーム境界検出部は、前記データストリームにおけるCRC(cyclical redundancy checksum)ビットを評価して前記検出されたフレーム境界が有効なヘッダに対応しているかを確認することによって、前記検出されたフレーム境界が有効なヘッダに対応しているかを検証するように構成される。
データストリームにおける複数の符号化オーディオフレームを復号化するための種々の方法も開示する。そのような方法の一例は、同期語と、有効な符号化オーディオフレームのヘッダフィールドに対する少なくとも1つの予測値に対応する1つ以上の付加ビットとを含むマッチングパタンを生成するステップと、前記マッチングパタンのインスタンスがないかデータストリームの部分を検索することによりフレーム境界を検出するステップと、前記検出されたフレーム境界に対応する前記データストリームにおける点から始まる1つ以上の符号化オーディオフレームを復号化するステップとを有する。実施形態において、前記フレーム境界を検出するステップは、前記マッチングパタンの所定数のインスタンスを検索するステップを含み、前記検出されたフレーム境界は、前記所定数のインスタンスのうちの最後のものに対応する。実施形態において、上記方法は、停止信号を受信するステップを更に有し、前記フレーム境界を検出するステップは、前記停止信号が受信されるまで、前記マッチングパタンのインスタンスがないか前記データストリームの部分を検索するステップを含む。実施形態において、前記フレーム境界を検出するステップは、前記停止信号が受信される前に検出された前記マッチングパタンの最後のインスタンスに対応するフレーム境界を検出するステップを含む。実施形態において、上記方法は、検出された前記マッチングパタンのインスタンスの数を示す、前記停止信号の生成に用いるためのフレーム検出信号を提供するステップを更に有する。
方法の実施形態においては、上記した装置と同様に、前記符号化オーディオフレームは、Advanced Audio Codec Rawデータブロックを含む。実施形態において、前記フレームヘッダは、Audio Data Transport Stream (ADTS)ヘッダを含み、前記マッチングパタンは、12ビット同期語と、1ビットIDフィールド、2ビットレイヤフィールド、1ビット保護なしフィールドの予測値に対応する付加ビットとを含む。
実施形態において、上記したいずれかの方法は、オーディオ処理誤りを検出するステップと、前記オーディオ処理誤りに対応する前記データストリームにおける誤り位置を特定するステップとを更に有し、前記マッチングパタンのインスタンスがないか前記データストリームの部分を検索するステップは、前記誤り位置から開始する。また、実施形態において、前記フレーム境界を検出するステップは、前記検出されたフレーム境界が有効なヘッダに対応しているかを検証するステップを含む。また、実施形態において、前記検出されたフレーム境界が有効なヘッダに対応しているかを検証するステップは、CRC(cyclical redundancy checksum)ビットを評価して前記検出されたフレーム境界が有効なヘッダに対応しているかを確認するステップを含む。
符号化オーディオフレームを含むデータストリームを示す図である。 符号化オーディオフレームのヘッダ構造の一例を示す図。 本発明の実施形態で使用されるマッチングパタンの一例を示す図。 符号化オーディオフレームを処理する方法の一例を示す図。 オーディオフレームを処理するオーディオデコーダの一例を示すブロック図。
本発明は、符号化オーディオデータを含むデータストリームであってデータストリームがフレームに組織化されるデータストリームを処理する方法を提供する。以下説明する方法で、フレーム境界の検出誤りを少なくし、オーディオデコーダにおける誤り回復の改良及びオーディオ処理機能の強化を可能にする。本発明は、ファイルに組織化され、不揮発性メモリに格納されるオーディオデータ、または、ネットワーク接続可能な装置で受信される、オーディオストリームまたはマルチメディアストリームにおけるオーディオデータに適用可能である。
図1は、いくつかの符号化オーディオフレーム72を含むデータストリーム70を示す。符号化オーディオフレーム72はそれぞれヘッダ80を含む。ここで、ヘッダの始まりはフレーム境界74に対応する。
データストリーム70は、MP3(MPEG Layer 3)、Advanced Audio Coding(AAC)などの種々の公知のオーディオ符号化方式のうちの1つによって符号化されたオーディオデータを含むことができる。AACは、MPEG-2標準規格(正式には ISO/IEC 13818-7:1997)のPart7として、また、MPEG-4標準規格(正式にはISO/IEC 14496-3:1999)のPart3として標準化されている。さまざまなオーディオ符号化方法が既に存在しており、将来も開発されていくであろうが、それらの各手法は、オーディオデータを圧縮し符号化するための様々な技術を含むことは、当業者は理解するであろう。AAC標準でいうと、それ自体で、“プロファイル(profile)”または“オブジェクトタイプ(object type)”に整理される多数の符号化方法を有している。
AACで符号化されたような符号化オーディオデータは一般的に、データブロックの系列からなる。そのデータをカプセル化するために様々の方法が提案されている。その中で一番単純な方法は、オーディオデータがファイルとして整理され、完全なファイルとしてメモリに格納される状況において使用されることを想定している。そのような状況においては、オーディオのカプセル化は、単にデータファイルの最初に1つのヘッダを挿入するだけでよい。このヘッダは、オーディオデータのフォーマットを示すデータを、その他のデータとともに含むことができる。例えば、AACファイル作成するためには、Audio Data Interchange Format (ADIF)が、AACデータととともに使用される。ADIFヘッダは、ファイルのフォーマットを特定するためのフィールド、著作権の管理に関するデータ、オーディオデータの生成に使用されたオーディオ符号化方式に関する詳細のデータを含む。
ネットワーク環境におけるオーディオストリーム又はマルチメディアストリームの転送などを扱うために、符号化オーディオデータのより複雑なカプセル化手法が開発されている。インターネットラジオやモバイル通信で実現されるネットワークストリーム環境においては、オーディオデコーダは、全てのオーディオデータにアクセスすることがいつでもできるわけではない。さらに、例えばビデオデータのように、データ転送のために、オーディオデータはマルチメディアと織り合わされることもあり得る。この場合に対応するべく、オーディオデータが図1に示される符号化オーディオフレーム72のようなフレームに組織化される、オーディオデータをカプセル化するさまざまな手法が提案されている。AACデータとともに使用されるそのような方式の一例が、Audio Data Transport Stream (ADTS)フォーマットである。このフォーマットは、MPEG-2 Part 7、MPEG-4 Part 3において、AACとともに標準化されている。図1に示されるように、ADTSフォーマットデータは一般に、データストリーム70に整理され、そのデータストリームが符号化オーディオフレーム72に組織化され、それぞれの符号化オーディオフレーム72はヘッダ80を含む。
ADTSを使うか使わないにかかわらず、データストリームは、符号化オーディオに加えて、例えばビデオデータなどの他のデータを含みうることは、当業者は認識するであろう。したがって、一連の符号化オーディオフレーム72としてフォーマットされたオーディオデータを使用する転送手法は、データストリーム70における他のデータと区別するのに有用である。よって、符号化オーディオフレーム72は、連続するブロックに組織化される必要はない。さらに、オーディオフレームを使用するADTS及びその他の転送方式は、データネットワークにおけるオーディオのストリーミングに関するアプリケーションに限定されない。ADTSのようなフレームベースの方式は、ADIFのような簡単なフォーマットよりもオーバヘッドが増大するが、フレームベースのフォーマットは言うまでもなく、オーディオデータがファイルに組織化され、取得や再生のためメモリに格納される状況に好適である。従って、本明細書において、「データストリーム」とは、ファイルに組織化されてメモリに格納されるデータ、あるいは、オーディオデコーダがいつでもオーディオデータの全てにアクセスできるわけではないインターネットラジオなどのストリーミングアプリケーションにより転送されるデータをいう。
図2は、データストリーム70における符号化オーディオフレーム72のヘッダ80の一例を示す図である。ヘッダ80は、フレームヘッダの存在を表すのに使用される固定長のビット列である同期語(syncword)82を含む。図2では、同期語82は12個の“1”からなるビット列からなり、フレームヘッダの最初に現れる。ADTSフォーマットでは図2に示されるようなヘッダが使用されるが、他のフォーマットにおいては、異なる長さ、異なるデータ、さらには、ヘッダ中の異なる位置に現れる同期語を有するヘッダが使用されうることはもちろんである。しかし、所与の転送フォーマットにおいては構成及び内容が一定であることが、同期語82の一貫性の特徴である。したがって、ADTSでフォーマットされたすべてのデータストリームにおいては、例えば、各ヘッダ80は同一の同期語82を有することになる。
一方、ヘッダ内の他のフィールドは、データストリームによって変化しうる。例えば、図2のヘッダ80は1ピットのIDフィールドを含んでいる。ADTSでは、このフィールドは、データストリーム70がMPEG-2 標準で符号化されたのか(ID フィールド = 1 )、MPEG-4 標準で符号化されたのか(ID フィールド = 0)を示している。そのため、このフィールドはデータストリームによって変わることがあり得る。また図2には、ADTSでは“00”固定されているレイヤフィールド86、保護なし(Protection Absent)フィールド88(ADTSでは、ヘッダがチェックサムを含むかどうか表す1ビットのフィールド)、プロファイルフィールド90(ADTSでは、AAC符号化の中でどれが使われたかを示す2ビットのフィールド)も表示されている。ヘッダは最後に、ヘッダの安全性の検証に使用されうる、ADTSではオプションであるCRC (cyclical redundancy check) チェックサム・フィールド92を含む。
図2はヘッダの一例の構成を示したものに過ぎない。様々な代案が可能だが、通常のヘッダ80は、同じタイプのデータストリームに対してすべての値が一定である同期語と、さらに、同じタイプの違ったデータストリーム70で変化する又は同じデータストリームの中でもヘッダによって変わる様々な他のフィールドとを備える。例えば、ADTSでは、IDフィールド84、レイヤフィールド86、保護なしフィールド88、プロファイルフィールド90は、通常は1つのデータストリーム70の中では一定である。ただし、データストリームが変わると1つ以上のフィールドが変わることはあり得る。一方、CRCフィールド92は、同じデータストリーム中でもヘッダ80とヘッダ80との間で変わり得る。ヘッダの中で1つ以上のフィールドがデータストリームの中で一定であるため、多くの場合、任意のヘッダ80の同期語のみならず、有効なヘッダ80の内容について前もって得た知識から1つ以上のフィールドの値を予測することが可能である。
データストリーム70を処理する場合には、フレームヘッダ80の始めに対応するフレーム境界74を検出する必要がある。データストリーム70は通常は直線的(すなわち、1ビットずつ、または、1ワードずつ)に処理されるが、データストリーム70の中に誤りのあるデータが存在すると、データストリーム70の処理される位置から次のヘッダ80の位置を特定する必要が生じる。さらに、オーディオ再生装置では、1つまたは複数の符号化オーディオフレーム72がスキップされる場合があるので、ヘッダの特定を繰り返し行うための、より複雑な機能が必要である。たとえば、早送り機能では、データストリーム70の任意の点でデータ処理を停止し、そのデータストリーム70における次の符号化オーディオフレーム72から再開する必要がある。そのような機能は、停止信号が送られるまで符号化オーディオフレーム72をスキップすることが必要になるであろう。代わりに、そのような機能は、所定の数の符号化フレームをスキップし、次に来る符号化オーディオフレーム72から再生(すなわち復号化)を再開することが必要になろう。
一般に、データストリーム70は連続的にスキャンされ同期語82に一致するビット列が検索される。そのため、次の符号化オーディオフレームに進み、単純に同期語82と一致するまで次々とデータストリーム70をスキャンし、一致したビットの位置から、符号化オーディオフレーム72の処理が始まる。
しかし、同期語82が実用的な長さであるほど、同期語82とマッチするビット列がヘッダ80の同期語位置であると限らなくなってくる。一致するビット列が符号化オーディオデータの中でランダムな位置で現れることがあり得る。具体的な例としては、そのようなビット列のランダムな発生がASTSフォーマットされたデータの中でよく見られている。
結果として、符号化オーディオの処理では、上述の従来技術に依存するどんなフレーム境界検出方法でも、受け入れがたい頻度の検出誤りが生じうる。そのような検出誤りを防止する方法においては、同期語に一致するビット列を検出してから、続くビットが通常のヘッダファイルに対応するかを確認するため解析することで、正しく解析されれば、次のオーディオデータの処理を進める。この解析は、ヘッダ80の安全性を検証するCRCチェックサム・フィールド92の評価を含み、これにより有効なヘッダ80が検出されたことを間接的に検証している。
しかし、ヘッダを全て解析するには時間がかかる。処理サイクルが限定されている処理環境では、頻繁に起こるフレーム境界の検出誤りは、たとえその頻度が比較的低いとしても、望ましくない。
図3は、本発明による実施形態で使用し得るマッチングパタン60を示している。マッチングパタン60は、ターゲットとするデータストリーム70の有効な符号化オーディオフレーム72にある同期語82と同一の同期語62を含む。そのマッチングパタン60には、データストリーム70の有効な符号化オーディオフレーム72のヘッダ80中で予測できる一つまたは複数のフィールドの値に対応する付加ビット64も含まれる。その付加ビット64の内容を以下で説明する。付加ビットは効果的に同期語を拡張するために使用できる。同期語の長さは検出誤り頻度に直接関係するので、同期語の拡張は、検出誤り頻度を下げることができる。
図4は、本発明による1つまたは複数の実施形態で、データストリーム70の符号化オーディオフレーム72を処理する方法を示している。データストリーム70関して知られている情報に基づいて、最初に、マッチングパタン60を再生する(ブロック100)。特に、マッチングパタンは、ターゲットとするデータストリーム70の有効なヘッダ80で現れる同期語82に対応する同期語60を含む。例えば、ターゲットとするデータストリーム70がADTSフォーマット化されたデータであるとき、同期語62は12個の“1”ビットの列で構成される。
ブロック100で生成されたマッチングパタン60は、1つ以上の付加ビット64も含む。この付加ビット64は、特定のデータストリーム70の有効なヘッダ80に含まれている1つまたは複数のフィールドの予測値を含む。上述したように、同じ種類のデータストリーム70間で値が変化しても、特定のデータストリーム70中を考えるとき、ヘッダ80の特定のフィールドの値は一定である。それに応じて、ターゲットとするデータストリーム70の1つのヘッダ80に対してそのフィールドの値がわかれば、他のヘッダ80の中でも対応するフィールドの値が同じであることが予想できる。
また図2を参照すると、ADTSヘッダは、例えば、IDフィールド84、レイヤフィールド86、保護なしフィールド88、プロファイルフィールド88を含みうる。データストリームがADTSでフォーマットされている場合、そのフィールドの全てが、特定のデータストリーム70の中で、通常は一定である。逆に、CRCチェックサム・フィールド92の場合は、フォーマットされたヘッダとヘッダの間でフィールドが変化する。
したがって、オーディオデコーダは、ADTSフォーマットされたデータストリーム70で使用するためのマッチングパタン60を生成でき、そのマッチングパタンは、12ビットの同期語62と、付加ビット64としてIDフィールド84とレイヤフィールド86、保護なしフィールド88、プロファイルフィールド90のうちの1つまたは複数に対応する予想値を含む。以下の限定にはならない例では、結果として得られるマッチングパタン60の長さは18ビットである。代わりに、マッチングパタン60は12ビットの同期語62と、付加ビット64としてIDフィールド84とレイヤフィールド86と、保護なしフィールド88とだけに対応する予想値を含むこともあり得る。この場合には、マッチングパタン60の長さは16ビットで、つまり2バイト、である。この長さが本発明の実施形態ではより便利であり得る。
図4のブロック100は、マッチングパタン60を生成することを示している。マッチングパタン60は同期語62と付加ビット64の様々な組み合わせにより構成することができる。上述したように、その付加ビットはデータストリーム70の有効な符号化オーディオフレーム72のヘッダにある1つ以上のフィールドに対応する予想値から構成される。そのヘッダフィールドの値は、ターゲットとするデータストリーム70の過去の情報を用いて予想することができる。この過去の情報は、ターゲットとするデータストリーム70の1つのヘッダ80の内容を解析することで、または、別に提供されているターゲットとするデータストリーム70の情報を使うことで取得することができる。例えば、ストリーミングされる環境では、オーディオストリームを発生させているコンピュタサーバが、データストリーム70と別にオーディオストリームを記述するパラメータを提供することがあり得る。そのパラメータとしては、例えば、データストリーム70はMPEG-2標準に従ったAACエンコードされたデータである、あるいは、データストリーム70はヘッダ80にはCRCチェックサム・フィールド92を含まない、といった情報を提供するものがある。これらのパラメータがどのようにフォーマットされたかにかかわらず、以上により、最初にヘッダ80を復号化することなく、ヘッダ80の中での複数のヘッダフィールドの値を予想することができる。そのため、オーディオデコーダは、ヘッダ80をデコードすることで得られる情報、又は、別に提供される情報を使ってマッチングパタン60を生成し得る。
図4は更に、マッチングパタンのインスタンス(instance)がないかをデータストリーム70の一部を検索することによりフレーム境界74を検出することを示している(ブロック102)。この検索は上述の同期語検索と同じように、つまりマッチングパタン60に一致するビット列を見つけるためデータストリームを連続的にスキャンすることで行うことができる。例えば、これは、データストリームを、マッチングパタンの長さと同じ長さのシフトレジスタに連続的に通すことで実行することができる。それぞれのサイクルでは、シフトレジスタの内容をマッチングパタン60と比較し、一致した場合にはフレーム境界を示すことになる。代わりに、データストリーム70の一部を、その一部の全ての可能な位置をマッチングパタンと比較するように設定された処理部がメモリに格納し、マッチを発見したとき、フレーム境界の検出を示す。上に挙げられた例はすべて、ただの例であって、それらの態様で本発明を限定するものではない。情報処理技術の分野における通常の知識を有する者であれば、データストリーム70の一部からマッチングパタン60のインスタンスを検索する様々な方法が可能であることが分かろう。
どんな場合でも、マッチングパタン60は同期語62より長いので、マッチングパタンとデータストリームの任意ビット列と一致する確率は、同期語だけの場合に比べて低い。マッチングパタン60に含まれる付加ビット64の数によるが、この方法により、検出誤り率を大幅に低減させることできる。例えば、符号化された音楽は一般にランダムであると仮定すると、長さ16ビットのマッチングパタンを使用することで検出誤り率を93%以上に低減させることができる。もちろん、実際の場合では、この改善の効果は変化するが、それでも、検出誤り率は、比較的少ない付加ビットを使った時にも、大幅に低減する。
ブロック102で表示している検出ステップでは、オプションとしてデータストリーム70の中でマッチングパタンの複数のインスタンスを検出することもできる。この方法の一例として、データストリーム70の中で、マッチングパタンのインスタンスを所定の数だけ連続的に検査し、最終に検索したフレーム境界を検出する。例えば、この方法のアプリケーションはフレーム5個をスキップする必要がある場合が挙げられる。この場合には、検出ステップは、データストリーム70の中で、5個の連続したマッチングパタン60のインスタンスを検索することを含み、検出したフレーム境界はその5個の連続したインスタンスの最終のインスタンスに対応する。
他の実施形態では、停止信号を受けるまで、データストリーム70がマッチングパタン60の複数のインスタンスが連続的検査される。この実施形態では、検出されたフレーム境界74は停止信号が受ける前に最終的に検査されたマッチングパタン60のインスタンスに対応するものとすることができる。
本発明のもう一つの実施形態としては、それぞれのマッチングパタン60のインスタンスの検出を、マッチングが得られたこと示す信号の発生のトリガとし、この信号を停止信号として使用する。例えば、マッチングパタン60の複数のインスタンスのためにデータストリーム70が高速に検索される。各マッチングによって信号が発生するので、その発生した信号を数えることで、マッチが検出された回数を示すパラメータが得られる。たとえば、あるアプリケーションが60フレームをスキップすることが必要になると、60回のマッチがカウントされるまで検索を実行させ、60回のカウントを完了すると停止信号を発生することでスキップ処理を終了させる。この場合、検出したフレーム境界74は、この例では、停止信号を受ける前に検出されたマッチングパタン60の最終のインスタンスに対応する。
フレーム境界74を検出してから、次の符号化オーディオフレーム72に進むことができる。本発明のある実施形態では、ブロック104で表示しているように、検出されたフレーム境界74に対応する符号化オーディオフレーム72のヘッダ80がオーディオデータを復号化する前に検証することができる。例えば、CRCチェックサム・フィールド92を計算することでヘッダ80を正しく受信したことを確認する。フレーム検出誤りの場合(本発明の実施形態では、発生する確率は低いものの発生する可能性はある)には、CRCチェックサム92はほぼ確実に不良となり、データが破損したこと、又は、間違ったフレーム境界74を検出していることが示される。したがって、CRCチェックサム・フィールド92の評価によって、検出したフレーム境界74は有効なヘッダ80に対応しているかを確認できる。
検出したフレーム境界74が有効なヘッダに対応することを検証できる他の方法も使用可能である。例えば、ヘッダ80はフレーム長さを示す情報を含んでいれば、処理部はデータストリームの先にあり得る次のフレームの同期語が正しい位置であることが確認できる。しかし、検出されたフレーム境界74が有効なヘッダに対応することを検証する処理は一般に、追加的な処理ステップを必要とする。したがって、本発明の教示による検出誤りの低減は、フレーム境界検出の検証に使われる処理ステップの低減にもつながる。
ブロック106で示すように、検出されたフレームヘッダが有効であれば、符号化オーディオフレーム72の復号化が、データストリームの検出されたフレーム境界に対応する点から始まる。符号化オーディオフレームの復号化は適用される符号化方法に従って行われる。したがって、例えば、AACで符号化されたオーディオフレーム73はAACデコーダを使って復号化される。
図5は、本発明の一つまたは複数の実施形態によるオーディオデコーダの一例を簡単化して示すブロック図である。オーディオデコーダ50は、最低限、制御論理部52と、マッチングパタン生成部54と、フレーム境界検出部56と、フレームデコーダ58とを備える。デコーダ50はメモリ40とインタフェースするように表示され、復号化オーディオを出力する。
制御論理部52は、オーディオデコーダ50の全体的な制御を行う。制御論理部52がオーディオ復号化処理の開始及び停止をトリガする。さらに、制御論理部52は、キーパッド、タッチ画面などのユーザインタフェースのための論理部も含み、ユーザがオーディオデコーダ50を操作することを可能にする。
代わりに、又は、追加として、制御論理部52は他のソフトウェアまたはソフトウェアモジュールと通信するためのAPI(application programming interface)を実現する。
マッチングパタン生成部54は、上述したように、ターゲットとするデータストリーム70に対して使用するマッチングパタン60を生成する。そのため、マッチングパタン生成部54には、データストリームで使われている同期語82の情報を含むターゲットとするデータストリーム70についての情報が提供される。追加として、マッチングパタン生成部54には、ターゲットとするデータストリーム70中で、最低限一つの有効なヘッダフィールドの予測値の情報が提供される。上述したように、その情報は、ターゲットとするデータストリームの中で1つのヘッダ80を読むことで、又は、別に提供されるデータストリームに関する情報から参照することで取得することができる。どの場合でも、マッチングパタン生成部54は、同期語62(同期語82とまったく同じである)と有効なヘッダの1つまたは複数のヘッダフィールドに対応する予測値とを含むマッチングパタン60を生成する。
マッチングパタン60のインスタンスをデータストリームの一部の中から検索するために、フレーム境界検出部56によってマッチングパタン60が使用される。マッチングパタン60のそれぞれのインスタンスは一般に、フレーム境界74に対応する。本発明のある実施形態では、フレーム境界検出部56は、マッチングパタンの最初のインスタンスで検索を停止し、それに対応するフレーム境界を取得する。他の実施形態では、フレーム境界検出部56は、データストリーム70を、制御論理部52から停止信号を発生するまで検索し続けるように構成され、それにより、マッチングパタン60の複数のインスタンスを検索する。この例の場合、検出されたフレーム境界74は停止信号受ける前に検索された最終のマッチングパタン60のインスタンスに対応するフレーム境界になる。
もう一つの方法として、上述したように、フレーム境界検出部56は、データストリーム70を、所定の回数のマッチングパタンのインスタンスを検索するまで検索し続けるように構成され、それによって、得られる検出されたフレーム境界74は最終に検索されたマッチングパタンのインスタンスに対応するものになる。
どんな場合でも、フレーム境界検出部56は、検出されたフレーム境界74に関する情報はフレームデコーダ58に転送する。フレームデコーダ58は、適切な復号化アルゴリズムを使用し、1つまたは複数の符号化オーディオフレームを復号化する。フレームデコーダ58は、オーディオアプリケーションで使用するため、及び/又は、アナログオーディオに変換するために、例えばPCM(pulse code modulation)オーディオストリームのような非圧縮のオーディオストリームになる復号化オーディオ出力を発生する。
オーディオデコーダ50はデータストリーム70にアクセスするため、メモリとインタフェースすることがあり得る。データストリーム70はファイルとして組織化し、メモリ40に格納することが可能で、この場合、メモリ40はランダムアクセスメモリ(RAM)、又はフラシュ、磁気ディスク記憶装置のような不揮発性メモリであり得る。
データストリーム70はネットワーク上でストリーミングオーディオ、またはマルチメディア情報源から生成されうる。メモリ40は、データストリーム70の一部をバファリングするランダムアクセスメモリ(RAM)である。
制御論理部52、マッチングパタン生成部54、フレーム境界検出部56、フレームデコーダ58は、デジタル論理ハードウェア、又は、ソフトウェアを実行するマイクロプロセッサ、または、その両方の組み合わせで実現することができる。どんなブロックでも専用のプロセッサで実現することができるし、いくつかのブロックを1つのプロセッサで実現することもできる。フレームデコーダ58は特に、専用のDSP(digital signal processor)で実現することができ、他の部分は一般的に全体として、または部分として、一般使用のためのマイクロプロセッサまたはDSPを使って実現することができる。追加として、どんなブロックの機能でも、発明の本質から離れることなく、1つまたは複数のプロセッサまたはハードウェアブロックの間で分けることがあり得る。
当業者であれば、本発明によれば、オーディオデコーダで使用される符号化オーディオストリームのフレーム境界を、高速かつ効果的に検出する方法及び装置が広く提供されることが理解されよう。
本発明は、発明の本質から離れることがなく、ここに記載されてない方法で実施することが可能である。そのため、本発明は上述の特徴及び利点又は図面に限定されない。本発明は、以下の特許請求の範囲及びそれに対して法律的に均等な範囲によってのみ限定される。

Claims (10)

  1. データストリーム(70)における複数の符号化オーディオフレーム(72)であって各フレームがヘッダ(80)を有する符号化オーディオフレーム(72)を復号化する方法であって、
    同期語(62)と、有効な符号化オーディオフレーム(72)のヘッダ(80)フィールドに対する少なくとも1つの予測値に対応する1つ以上の付加ビット(64)とを含むマッチングパタン(60)を生成するステップと、
    前記マッチングパタン(60)のインスタンスがないかデータストリーム(70)の部分を検索することによりフレーム境界(74)を検出するステップと、
    前記検出されたフレーム境界(74)に対応する前記データストリーム(70)における点から始まる1つ以上の符号化オーディオフレーム(72)を復号化するステップと、
    を有することを特徴とする方法。
  2. 前記フレーム境界(74)を検出するステップは、前記マッチングパタン(60)の所定数のインスタンスを検索するステップを含み、前記検出されたフレーム境界(74)は、前記所定数のインスタンスのうちの最後のものに対応することを特徴とする請求項1に記載の方法。
  3. 停止信号を受信するステップを更に有し、
    前記フレーム境界(74)を検出するステップは、前記停止信号が受信されるまで、前記マッチングパタン(60)のインスタンスがないか前記データストリーム(70)の部分を検索するステップを含むことを特徴とする請求項1に記載の方法。
  4. 前記符号化オーディオフレーム(72)は、Advanced Audio Codec Rawデータブロックを含み、前記フレームヘッダ(80)は、Audio Data Transport Stream (ADTS)ヘッダを含み、前記マッチングパタン(60)は、12ビット同期語(62)と、1ビットIDフィールド(84)、2ビットレイヤフィールド(86)、1ビット保護なしフィールド(88)の予測値に対応する付加ビット(64)とを含むことを特徴とする請求項1に記載の方法。
  5. オーディオ処理誤りを検出するステップと、
    前記オーディオ処理誤りに対応する前記データストリーム(70)における誤り位置を特定するステップと、を更に有し、
    前記マッチングパタン(60)のインスタンスがないか前記データストリーム(70)の部分を検索するステップは、前記誤り位置から開始することを特徴とする請求項1に記載の方法。
  6. 前記フレーム境界(74)を検出するステップは、CRC(cyclical redundancy checksum)ビットを評価して前記検出されたフレーム境界(74)が有効なヘッダ(80)に対応しているかを確認することにより、前記検出されたフレーム境界(74)が有効なヘッダ(80)に対応しているかを検証するステップを含むことを特徴とする請求項1に記載の方法。
  7. データストリーム(70)における符号化オーディオフレーム(72)を復号化するオーディオデコーダ(50)であって、
    同期語(62)と、有効な符号化オーディオフレーム(72)のヘッダ(80)フィールドに対する少なくとも1つの予測値に対応する1つ以上の付加ビット(64)とを含むマッチングパタン(60)を生成するマッチングパタン生成部(54)と、
    前記マッチングパタン(60)のインスタンスがないかデータストリーム(70)の部分を検索してフレーム境界(74)を検出するフレーム境界検出部(56)と、
    前記検出されたフレーム境界(74)に対応する前記データストリーム(70)における点から始まる1つ以上の符号化オーディオフレーム(72)を復号化するフレームデコーダ(58)と、
    を備えることを特徴とするオーディオデコーダ(50)。
  8. 前記フレーム境界検出部(56)は、前記マッチングパタン(60)の所定数のインスタンスを検索するように構成され、前記検出されたフレーム境界(74)は、前記所定数のインスタンスのうちの最後のものに対応することを特徴とする請求項に記載のオーディオデコーダ(50)。
  9. 前記フレーム境界検出部(56)は、停止信号を受信するように構成され、
    前記フレーム境界検出部(56)は更に、前記停止信号が受信されるまで、前記マッチングパタン(60)のインスタンスがないか前記データストリーム(70)の部分を検索するように構成されている
    ことを特徴とする請求項に記載のオーディオデコーダ(50)。
  10. オーディオ処理誤りを検出し、前記オーディオ処理誤りに対応する前記データストリームにおける誤り位置を特定する復号化誤り検出部を更に有し、
    前記フレーム境界検出部(56)は、前記誤り位置から前記検索を開始する
    ことを特徴とする請求項に記載のオーディオデコーダ(50)。
JP2010506343A 2007-04-27 2008-01-31 符号化オーディオデータを処理するための装置及び方法 Expired - Fee Related JP4875204B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/741,297 US7778839B2 (en) 2007-04-27 2007-04-27 Method and apparatus for processing encoded audio data
US11/741,297 2007-04-27
PCT/US2008/052581 WO2008134103A1 (en) 2007-04-27 2008-01-31 Method and apparatus for processing encoded audio data

Publications (2)

Publication Number Publication Date
JP2010525414A JP2010525414A (ja) 2010-07-22
JP4875204B2 true JP4875204B2 (ja) 2012-02-15

Family

ID=39563226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010506343A Expired - Fee Related JP4875204B2 (ja) 2007-04-27 2008-01-31 符号化オーディオデータを処理するための装置及び方法

Country Status (7)

Country Link
US (1) US7778839B2 (ja)
EP (1) EP2149138B1 (ja)
JP (1) JP4875204B2 (ja)
CN (1) CN101675473B (ja)
AT (1) ATE478417T1 (ja)
DE (1) DE602008002254D1 (ja)
WO (1) WO2008134103A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112570B2 (en) * 2007-03-15 2012-02-07 Broadcom Corporation Pipelined buffer interconnect with trigger core controller
EP2131590A1 (en) * 2008-06-02 2009-12-09 Deutsche Thomson OHG Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
US8527267B2 (en) * 2008-12-04 2013-09-03 Linear Accoustic, Inc. Adding additional data to encoded bit streams
TWI384459B (zh) * 2009-07-22 2013-02-01 Mstar Semiconductor Inc 音框檔頭之自動偵測方法
JP5785082B2 (ja) * 2009-08-20 2015-09-24 ジーブイビービー ホールディングス エス.エイ.アール.エル. オーディオ・ストリームを合成する装置、方法及びプログラム
EP3499503B1 (en) * 2010-04-13 2024-07-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoding sample-accurate representation of an audio signal
US20120185604A1 (en) * 2011-01-14 2012-07-19 Alexander Shatsky System and method for indicating callee preferences
JP5805796B2 (ja) * 2011-03-18 2015-11-10 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 柔軟なコンフィギュレーション機能性を有するオーディオエンコーダおよびデコーダ
US20170099119A1 (en) * 2015-10-02 2017-04-06 Samsung Electronics Co., Ltd. Signalling of checksum for 802.11 mac headers
US11258576B2 (en) * 2017-05-26 2022-02-22 Harbin Hytera Technology Corp., Ltd. Method, device, transmitter, and receiver for detecting syncwords
US12266351B2 (en) * 2022-08-26 2025-04-01 Qualcomm Incorporated Adaptive frame skipping for speech recognition

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530931A (ja) * 1998-11-13 2002-09-17 モトローラ・リミテッド 分散音声認識プロセスにおける受信データの処理方法および装置
JP2008084382A (ja) * 2006-09-26 2008-04-10 Oki Electric Ind Co Ltd 圧縮データ再生方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI94817C (fi) * 1993-06-10 1995-10-25 Nokia Telecommunications Oy Puheendekoodausmenetelmä ja puheendekoodain
US6421646B1 (en) * 1999-01-12 2002-07-16 Texas Instruments Incorporated Probabilistic method and system for verifying synchronization words
US6721710B1 (en) 1999-12-13 2004-04-13 Texas Instruments Incorporated Method and apparatus for audible fast-forward or reverse of compressed audio content
US20020027845A1 (en) 2000-09-05 2002-03-07 Tomoko Sogabe Reproduction apparatus, reproduction method, program, and recording medium
EP1308931A1 (de) * 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist
CN100463382C (zh) * 2002-04-08 2009-02-18 松下电器产业株式会社 多媒体数据解码装置
WO2004077406A1 (ja) * 2003-02-28 2004-09-10 Matsushita Electric Industrial Co., Ltd. 再生装置および再生方法
JP2005217486A (ja) * 2004-01-27 2005-08-11 Matsushita Electric Ind Co Ltd ストリーム復号装置
TWI268666B (en) * 2004-03-02 2006-12-11 Ali Corp Frame calculation method of decoded audio a frame calculation method of decoded audio obtaining a true frame length by referring to no padding bit
US8131134B2 (en) 2004-04-14 2012-03-06 Microsoft Corporation Digital media universal elementary stream
JP2006317575A (ja) * 2005-05-11 2006-11-24 Matsushita Electric Ind Co Ltd オーディオ復号装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002530931A (ja) * 1998-11-13 2002-09-17 モトローラ・リミテッド 分散音声認識プロセスにおける受信データの処理方法および装置
JP2008084382A (ja) * 2006-09-26 2008-04-10 Oki Electric Ind Co Ltd 圧縮データ再生方法

Also Published As

Publication number Publication date
WO2008134103A1 (en) 2008-11-06
EP2149138B1 (en) 2010-08-18
US20080270143A1 (en) 2008-10-30
US7778839B2 (en) 2010-08-17
ATE478417T1 (de) 2010-09-15
EP2149138A1 (en) 2010-02-03
DE602008002254D1 (de) 2010-09-30
CN101675473A (zh) 2010-03-17
CN101675473B (zh) 2012-07-11
JP2010525414A (ja) 2010-07-22

Similar Documents

Publication Publication Date Title
JP4875204B2 (ja) 符号化オーディオデータを処理するための装置及び方法
JP6530542B2 (ja) 複数のメディア処理ノードによる適応処理
KR100946057B1 (ko) 데이터 프레임에 코딩된 부가 데이터의 존재 결정
EP2289245B1 (en) Method and apparatus for generating or cutting or changing a frame based bit stream format file including at least one header section, and a corresponding data structure
US7940807B2 (en) Methods, decoder circuits and computer program products for processing MPEG audio frames
US7421641B2 (en) Intelligent error checking method and mechanism
US9484040B2 (en) Audio decoding method and associated apparatus
CN101266820B (zh) 数据再生装置及数据再生方法
TWI384459B (zh) 音框檔頭之自動偵測方法
US20260012666A1 (en) Techniques for transmitting media using a data transport format
RU2793832C2 (ru) Способ аудиокодирования и способ аудиодекодирования
CN101964187A (zh) 帧标题的自动检测方法
KR20050077109A (ko) Mpeg 오디오 디코딩 방법

Legal Events

Date Code Title Description
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: 20111028

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: 20111124

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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