説明

AVビットストリーム再生装置

【課題】同期語が存在しないAVビットストリームに対しても、デコーダ内部でエラーの対応を完結できるようにする。
【解決手段】AVビットストリームからデコード対象ストリームを抽出するとともに、抽出したデコード対象ストリームに、フレームの先頭であることを示すビットパターンである同期語を付加するデマルチプレクス部110を設ける。また、同期語が付加されたデコード対象ストリームから同期語を検索する同期部120を設ける。さらに、デコード対象ストリームの所定の開始位置からデコード処理を行うデコード部140を設ける。そして、同期部120によって、同期語を検索できた場合に、開始位置をデコード部140に指示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AVビットストリームからオーディオ、又はビデオのフレーム先頭位置を検出しデコードするAVビットストリーム再生装置に関するものである。
【背景技術】
【0002】
近年のAVファイルのオーディオ圧縮フォーマットには、可逆圧縮フォーマットや、非圧縮フォーマット(LPCM:Linear PCM)が存在する。また、パーソナルコンピュータの普及により、AVファイルのオーサリングが簡単に行えるようになった。
【0003】
また、様々なメーカーがオーサリングソフト、エンコーダを発売しており、インターネット上で公開されているシェアウエア、フリーソフトもあわせると、エンコーダの数は数え切れない。しかし、そのエンコーダの品質は様々であり、中には運用規格に反するエンコードを行うものも存在する。
【0004】
これらオーディオ、ビデオのストリームは各アプリケーションのフォーマットにあわせてパケッタイズされ、記録、放送される。このパケッタイズ処理は正しいが、オーディオ、ビデオストリームが規格に違反している場合は、デコード時にフレームの先頭位置を見失い、同期状態から外れてしまうことがある。この状態では、オーディオ、ビデオストリームを正しくデコードすることはできない。
【0005】
そのため、入力されたビットストリームが規格違反であってもその違反を許容してデコード処理を行い、PCMデータを作成するものがある(例えば特許文献1を参照)。
【特許文献1】特開2007−58128号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、この装置では同期状態から外れてしまったときに復帰することはできない。同期状態から外れてしまった場合に、元の同期状態に復帰する方法は、例えば以下の2つが考えられる。
【0007】
1つ目は、システムをフラッシュして、再度ストリームを供給しなおす方法である。これは、ビットストリームのエラーを検出し次第、ビットストリームバッファをフラッシュし、エラーのあるパケットを破棄し、システムを初期化し、次のパケットから再供給し、デコードしなおす方法である。この方法は同期語(オーディオストリームの先頭であることを示すビットパターン)のないLPCM系ストリームのデコーダの復帰方法としてよく使用される。
【0008】
2つ目の方法は、デコーダ自身がオーディオ、ビデオストリームの先頭を検索する方法である。この方法はMP3などの圧縮オーディオフォーマット等でよく使われている。MP3の場合、オーディオストリーム中にそのオーディオストリームの先頭であることを示すビットパターンである0xFFFが存在する。これを同期語(シンクワード)という。MP3はこの同期語を検索することで、オーディオストリームの先頭位置を探すことができる。そのため、フレームの先頭を見つけ、元の同期状態に復帰することが可能となる。この方法は同期語の存在する圧縮フォーマットで使用されている。
【0009】
ここで、2つ目の方法では、デコーダ内部で発見されるエラーへの対応がデコーダ内部で完結しているのに対し、1つ目の方法では、上位層の対応が必要となるため、デコーダの制御を難しくする原因の1つであった。
【0010】
また、各デコーダをライブラリ化する際に、2つ目の方法のように、エラー処理を内部で閉じるようにしたい。しかし、LPCM系ストリームには同期語が存在しないため、実質的に2つ目の方法を実施することができなかった。
【0011】
本発明は上記の問題に着目してなされたものであり、同期語が存在しないAVビットストリームに対しても、デコーダ内部でエラーの対応を完結できるようにすることを目的としている。
【課題を解決するための手段】
【0012】
上記の課題を解決するため、本発明の一態様は、
オーディオストリーム、及びビデオストリームのうちの何れかであるデコード対象ストリームのフレーム先頭位置をAVビットストリームから検出しデコードするAVビットストリーム再生装置であって、
前記AVビットストリームから前記デコード対象ストリームを抽出するとともに、抽出したデコード対象ストリームに、フレームの先頭であることを示すビットパターンである同期語を付加するデマルチプレクス部と、
前記同期語が付加されたデコード対象ストリームから前記同期語を検索する同期部と、
前記デコード対象ストリームの所定の開始位置からデコード処理を行うデコード部と、
を備え、
前記同期部は、前記同期語を検索できた場合に、検索できた同期語に応じた記開始位置を前記デコード部に指示することを特徴とする。
【発明の効果】
【0013】
本発明によれば、同期語が存在しないAVビットストリームに対しても、デコーダ内部でエラーの対応を完結することが可能になる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
【0015】
《発明の実施形態1》
図1は、本発明の実施形態1に係るAVビットストリーム再生装置の構成を示す図である。このAVビットストリーム再生装置は、同図に示すように、デマルチプレクス部110、同期部120、オーディオバッファ130、及びデコード部140を備えている。
【0016】
デマルチプレクス部110は、入力ストリームであるAVビットストリームS01をオーディオストリームS02とビデオストリームS03とに分けるとともに、同期語(シンクワード)をオーディオストリームS02の特定の位置に付加してオーディオバッファ130に置く。具体的には、デマルチプレクス部110は、オーディオストリームS02中にヘッダ情報が含まれる場合は、ヘッダ情報の直前に同期語を付加する。
【0017】
なお、ここでは同期語は、例えば0xFFFFであるものとする。また、図1におけるオーディオストリームS04が、同期語が付加されてオーディオバッファ130に格納されたオーディオストリームである。
【0018】
同期部120は、デマルチプレクス部110によって同期語を付加されたであろうオーディオバッファ130の位置からオーディオストリームS04を切り出し、その値が0xFFFFであった場合は、同期状態であるとして、オーディオストリームS04のフレームの先頭アドレスをデコード部140へ送る。
【0019】
ここで、切り出した値が0xFFFFでなかった場合は、同期部120は、切り出し位置をずらして再度切り出しを行い、0xFFFFを切り出せるまでこれを繰り返す。切り出した値が0xFFFFであった場合は、オーディオストリームS04のフレームの先頭アドレスをデコード部140へ送る。
【0020】
上記のようにしてフレームの先頭アドレスが送られると、デコード部140は、送られた先頭アドレスに応じ、オーディオバッファ130内のオーディオストリームS04に対してデコード処理を行う。
【0021】
ここで、デコード部140でストリームエラーと判定された場合は、再度同期部120が0xFFFFの検索を繰り返す。これにより、0xFFFFが付加された位置を同期部120が発見することができ、オーディオストリームS04のフレーム位置を確認できる。それゆえ、フレームの先頭位置を見失って、同期状態から外れてしまった場合に、同期状態へ戻すことが可能となる。
【0022】
なお、オーディオストリームS02内に0xFFFFという値が存在しうる場合は、デマルチプレクス部110がその値から同期状態だと誤って判定してしまうこともある。しかし、同期部120が0xFFFFを検索し続けることで、最終的にはもとの同期状態に戻ることができる。
【0023】
以上のように、本実施形態によれば、同期語が存在しないAVビットストリームに対しても、デコーダ内部でエラーの対応を完結することが可能になる。
【0024】
《発明の実施形態2》
図2は、本発明の実施形態2に係るAVビットストリーム再生装置の構成を示す図である。
【0025】
本実施形態では同期部120の構成が実施形態1と異なっている。本実施形態の同期部120は同期語を発見すると、次に同期語が付加される予定のオーディオストリームS04内の位置を調べる。そして、2箇所とも同期語であった場合に、フレームの先頭アドレスをデコード部140へ送る。
【0026】
このように、同期語の確認箇所を増やすことで、実施形態1よりもより確実に同期状態と判定できる。
【0027】
なお、この例では同期部120が確認する同期語は2箇所であったが、2箇所以上の同期語を確認するようにしてもよい。
【0028】
《発明の実施形態3》
図3は、本発明の実施形態3に係るAVビットストリーム再生装置の構成を示す図である。本実施形態では、同期語として、実施形態で採用した0xFFFFのようにオーディオストリームS02によくありうるビットパターンではなく、音響上ありえないビットパターンを採用する。
【0029】
例えば、オーディオの最小値の0x8000と最大値0x7FFFを連続させた0x80007FFFなどは、通常のオーディオストリームのパターンとしては、存在しないため誤って同期状態と判定することはほとんどありえない。すなわち、このような値を同期語として採用することで、誤って同期状態と判定する確率を低くすることができる。
【0030】
《発明の実施形態4》
図4は、本発明の実施形態4に係るAVビットストリーム再生装置の構成を示す図である。
【0031】
本実施形態のデマルチプレクス部110は、所定の法則にしたがって同期語を変更する。ここでは、上記の法則の一例として、例えば、順番に0x0001、0x0002、0x0003、・・・と、新たに付加する同期語を(前回の同期語+1)にするという法則が採用されているものとする。ただし、例えばAVビットストリームS01が違う2種類のストリームを繋げたものであった場合には、その境界でデマルチプレクス部110は、意図的に同期語を(前回の同期語+1)でないもの(すなわち上記の法則に従わない値)を付加するものとする。例えば、境界では、0x0003の次に0x0001、0x0002と付加する。
【0032】
同期部120は、例えば0x0001を検出したら、次の同期語は0x0002であることを期待して同期語検索をおこなう。
【0033】
ここで、AVビットストリームS01が違う2種類のストリームを繋げたものであり、上記のように、境界において、0x0003の次に0x0001、0x0002と、同期語が付加されていたとすると、同期部120では、0x0003の次に0x0004ではなく0x0001を検出してしまう。しかし、同期部120は、0x0001に続いて、さらに0x0002を検出するので、同期語であることを判定でき、かつ、値が(前回の同期語+1)でないことから、AVビットストリームS01の境界部分であることを判定することができる。
【0034】
《発明の実施形態5》
図5は、本発明の実施形態5に係るAVビットストリーム再生装置の構成を示す図である。
【0035】
本実施形態では、オーディオストリームS02は、ヘッダ情報を含んでおり、デマルチプレクス部110は、ヘッダ情報の直前に同期語(0xFFFF)を付加する。
【0036】
また、同期部120は、同期語を検出した後、その直後に続くヘッダ情報にエラーが無いかを調べてから同期状態と判定する。
【0037】
これにより誤って同期状態と判定する確率を低くすることができる。
【0038】
《発明の実施形態6》
図6は、本発明の実施形態6に係るAVビットストリーム再生装置の構成を示す図である。
【0039】
本実施形態では、デマルチプレクス部110は、オーディオフレームの先頭が判断できる場合には、ここに同期語(例えば0xFFFF)を付加する。
【0040】
したがって、同期部120が検出した同期語に続くオーディオストリームS05が、デコードすべきオーディオストリームの先頭となっている(すなわち、同期語がオーディオストリームの先頭と直結している)ので、同期状態から外れた状態から同期状態に戻っても、オーディオストリームの先頭へのポインタ移動が不要となる。
【0041】
なお、上記の各実施形態は、オーディオストリームをデコードする例を説明したが、ビデオストリームのデコードについても同様に行うことが出来ることは言うまでもない。
【産業上の利用可能性】
【0042】
本発明に係るAVビットストリーム再生装置は、同期語が存在しないAVビットストリームに対しても、デコーダ内部でエラーの対応を完結することが可能になるという効果を有し、AVビットストリームからオーディオ、又はビデオのフレーム先頭位置を検出しデコードするAVビットストリーム再生装置等として有用である。
【図面の簡単な説明】
【0043】
【図1】実施形態1に係るAVビットストリーム再生装置の構成を示す図である。
【図2】実施形態2に係るAVビットストリーム再生装置の構成を示す図である。
【図3】実施形態3に係るAVビットストリーム再生装置の構成を示す図である。
【図4】実施形態4に係るAVビットストリーム再生装置の構成を示す図である。
【図5】実施形態5に係るAVビットストリーム再生装置の構成を示す図である。
【図6】実施形態6に係るAVビットストリーム再生装置の構成を示す図である。
【符号の説明】
【0044】
110 デマルチプレクス部
120 同期部
130 オーディオバッファ
140 デコード部
S01 AVビットストリーム
S02 オーディオストリーム
S03 ビデオストリーム
S04 オーディオストリーム
S05 オーディオストリーム

【特許請求の範囲】
【請求項1】
オーディオストリーム、及びビデオストリームのうちの何れかであるデコード対象ストリームのフレーム先頭位置をAVビットストリームから検出しデコードするAVビットストリーム再生装置であって、
前記AVビットストリームから前記デコード対象ストリームを抽出するとともに、抽出したデコード対象ストリームに、フレームの先頭であることを示すビットパターンである同期語を付加するデマルチプレクス部と、
前記同期語が付加されたデコード対象ストリームから前記同期語を検索する同期部と、
前記デコード対象ストリームの所定の開始位置からデコード処理を行うデコード部と、
を備え、
前記同期部は、前記同期語を検索できた場合に、検索できた同期語に応じた前記開始位置を前記デコード部に指示することを特徴とするAVビットストリーム再生装置。
【請求項2】
請求項1のAVビットストリーム再生装置であって、
前記同期部は、複数の同期語を確認して、デコード対象ストリームのフレームの先頭位置を検出することを特徴とするAVビットストリーム再生装置。
【請求項3】
請求項1のAVビットストリーム再生装置であって、
前記同期語は、デコード対象ストリーム中に存在し得ないビットパターンであることを特徴とするAVビットストリーム再生装置。
【請求項4】
請求項1のAVビットストリーム再生装置であって、
前記AVビットストリームは、複数種類のビットストリームを繋げたものであり、
前記デマルチプレクス部は、所定の法則にしたがって前記同期語を変更し、
前記同期部は、前記所定の法則に基づいて変化する前記同期語に基づいて、複数種類のビットストリームの境界を検出することを特徴とするAVビットストリーム再生装置。
【請求項5】
請求項1のAVビットストリーム再生装置であって、
前記AVビットストリームは、ヘッダ情報を含むものであり、
前記デマルチプレクス部は、前記ヘッダ情報の前に前記同期語を付加することを特徴とするAVビットストリーム再生装置。
【請求項6】
請求項1のAVビットストリーム再生装置であって、
前記デマルチプレクス部は、前記デコード対象ストリームにおけるフレームの先頭に前記同期語を付加することを特徴とするAVビットストリーム再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−5150(P2009−5150A)
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【出願番号】特願2007−164977(P2007−164977)
【出願日】平成19年6月22日(2007.6.22)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】