(57)【要約】【課題】  同期情報を用いることなく、オーディオとビデオとを同期させる。【解決手段】  ストリーム復号装置であって、ビデオストリームをデコードし、そのうちの正常にデコードできなかった部分等のサイズに応じた第１のデコード情報及びデコードされたビデオデータを出力するビデオデコーダと、オーディオストリームをデコードし、そのうちの正常にデコードできなかった部分等のサイズに応じた第２のデコード情報及びデコードされたビデオデータを出力するオーディオデコーダと、前記デコードされたビデオデータを格納して出力するビデオ出力バッファと、前記デコードされたオーディオデータを格納して出力するオーディオ出力バッファと、前記第１及び第２のデコード情報に従って、前記デコードされたビデオデータと前記デコードされたオーディオデータとが同期して出力されるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御する出力制御部とを備える。【選択図】      図１
2005348160.tif 000002
【特許請求の範囲】
【請求項１】
オーディオストリームとビデオストリームとを有し、その少なくとも一方には同期情報が含まれていないビットストリームをデコードするストリーム復号装置であって、
前記ビデオストリームをデコードし、そのうちの正常にデコードできた部分又は正常にデコードできなかった部分のサイズに応じた第１のデコード情報と、デコードされたビデオデータとを出力するビデオデコーダと、
前記オーディオストリームをデコードし、そのうちの正常にデコードできた部分又は正常にデコードできなかった部分のサイズに応じた第２のデコード情報と、デコードされたオーディオデータとを出力するオーディオデコーダと、
前記デコードされたビデオデータを格納して出力するビデオ出力バッファと、
前記デコードされたオーディオデータを格納して出力するオーディオ出力バッファと、
前記第１及び第２のデコード情報に従って、前記デコードされたビデオデータと前記デコードされたオーディオデータとが同期して出力されるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御する出力制御部とを備える
ストリーム復号装置。
【請求項２】
請求項１に記載のストリーム復号装置において、
前記第１のデコード情報は、
前記ビデオストリームのうちの正常にデコードすることができなかった部分のサイズであり、
前記第２のデコード情報は、
前記オーディオストリームのうちの正常にデコードすることができなかった部分のサイズである
ことを特徴とするストリーム復号装置。
【請求項３】
請求項１に記載のストリーム復号装置において、
前記第１のデコード情報は、
前記ビデオストリームのうちの正常にデコードすることができなかった部分の再生に要する時間であり、
前記第２のデコード情報は、
前記オーディオストリームのうちの正常にデコードすることができなかった部分の再生に要する時間である
ことを特徴とするストリーム復号装置。
【請求項４】
請求項３に記載のストリーム復号装置において、
前記出力制御部は、
前記第１のデコード情報と前記第２のデコード情報との差に基づいて、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項５】
請求項１に記載のストリーム復号装置において、
前記第１のデコード情報は、
前記ビデオストリームのうちの正常にデコードすることができた部分の再生に要する時間であり、
前記第２のデコード情報は、
前記オーディオストリームのうちの正常にデコードすることができた部分の再生に要する時間である
ことを特徴とするストリーム復号装置。
【請求項６】
請求項５に記載のストリーム復号装置において、
前記出力制御部は、
前記第１のデコード情報と前記第２のデコード情報との差に基づいて、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項７】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、デコードの際に正常にデコードできない部分があった方の出力を遅くするように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項８】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、デコードの際に正常にデコードできない部分がなかった方の出力を速くするように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項９】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方の出力の進行を一時停止させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項１０】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方をスキップさせるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項１１】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方を低速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項１２】
請求項１に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方を高速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項１３】
請求項１に記載のストリーム復号装置において、
前記ビットストリームを格納し、前記ビデオデコーダ及び前記オーディオデコーダに出力するストリームバッファを更に備え、
前記出力制御部は、
前記第１及び第２のデコード情報に基づいて、前記デコードされたビデオデータと前記デコードされたオーディオデータとの間の再生に要する時間差が所定の値よりも大きいことを検出した場合には、前記ストリームバッファ、前記ビデオ出力バッファ、及び前記オーディオ出力バッファをクリアするものである
ことを特徴とするストリーム復号装置。
【請求項１４】
請求項１に記載のストリーム復号装置において、
正常にデコードすることができない部分がない場合に前記第１又は第２のデコード情報として得られるべき情報を、基準情報として格納して出力する基準情報記憶部を更に備え、
前記出力制御部は、
前記基準情報と前記第１のデコード情報とに応じて、前記ビデオ出力バッファを制御し、前記基準情報と前記第２のデコード情報とに応じて、前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項１５】
請求項１４に記載のストリーム復号装置において、
前記基準情報は、
データサイズを表す情報である
ことを特徴とするストリーム復号装置。
【請求項１６】
請求項１４に記載のストリーム復号装置において、
前記基準情報は、
データの再生に要する時間を表す情報である
ことを特徴とするストリーム復号装置。
【請求項１７】
請求項１４に記載のストリーム復号装置において、
前記第１のデコード情報は、
前記ビデオストリームのうちの正常にデコードすることができた部分のサイズであり、
前記第２のデコード情報は、
前記オーディオストリームのうちの正常にデコードすることができた部分のサイズである
ことを特徴とするストリーム復号装置。
【請求項１８】
請求項１４に記載のストリーム復号装置において、
前記第１のデコード情報は、
前記ビデオストリームのうちの正常にデコードすることができた部分の再生に要する時間であり、
前記第２のデコード情報は、
前記オーディオストリームのうちの正常にデコードすることができた部分の再生に要する時間である
ことを特徴とするストリーム復号装置。
【請求項１９】
請求項１４に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方の出力の進行を一時停止させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項２０】
請求項１４に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方をスキップさせるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項２１】
請求項１４に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方を低速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項２２】
請求項１４に記載のストリーム復号装置において、
前記出力制御部は、
前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方を高速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである
ことを特徴とするストリーム復号装置。
【請求項２３】
請求項１４に記載のストリーム復号装置において、
前記ビットストリームを格納し、前記ビデオデコーダ及び前記オーディオデコーダに出力するストリームバッファを更に備え、
前記出力制御部は、
前記基準情報と前記第１又は第２のデコード情報との間の差が所定の値よりも大きいことを検出した場合には、前記ストリームバッファ、前記ビデオ出力バッファ、及び前記オーディオ出力バッファをクリアするものである
ことを特徴とするストリーム復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビットストリームをデコードして出力するストリーム復号装置に関し、特に、デコードされたビデオデータとオーディオデータとを同期させる技術に関する。
【背景技術】
【０００２】
近年、インターネットのブロードバンド化が広まったことにより、大きなデータサイズのファイルのやり取りが盛んに行われるようになっている。ブロードバンド化後に特に頻繁に転送されるようになったのは、高画質、高音質の動画ファイルである。動画ファイルのフォーマットには、ＷＭＶ（Windows Media Video）、ＡＳＦ（Advanced systems format）、ＭＰＥＧ（Moving Picture Experts Group）、ＡＶＩ（Audio Video Interleaving）等の様々なものがある。
【０００３】
例えばＡＶＩフォーマットに関しては、ファイルを圧縮するためのアルゴリズムがシステムから独立しているので、様々な圧縮コーデックを用意することによって様々な圧縮技術を使うことが可能である。つまり、オーディオとビデオの圧縮に使う圧縮コーデックを統一する必要がなく、例えば、オーディオにＭＰ３（MPEG Audio Layer 3）、ビデオにＤｉｖＸの圧縮技術を組み合わせて用いることができる。
【０００４】
しかし、このフォーマットは自由度が大きいので、ＡＶＩフォーマットのファイルにはオーディオとビデオとの間の同期に関する情報は含まれていないことが多い。このため、再生の際に、オーディオとビデオとの間の同期が一度ずれてしまったら、再び同期させることができない。そこで、オーディオ及びビデオのうちのいずれかのデコード処理が遅れそうになった場合には、遅れそうになった方のデコード処理の質を落とす技術、すなわち、デコード処理として軽い処理を用いて処理が遅れないようにし、同期ずれを起こさないようにする技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１１２９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図９は、従来のストリーム復号装置の構成例を示すブロック図である。入力ストリームバッファ９１１には、ＡＶＩフォーマットのファイルを伝送するビットストリームＳＴＲＭが入力されているとする。そのうちのビデオストリームがビデオストリームバッファ９１２を経由してビデオデコーダ９２２に入力され、オーディオストリームがオーディオストリームバッファ９１４を経由してオーディオデコーダ９２４に入力される。
【０００６】
ビデオデコーダ９２２は、ビデオストリームをデコードしてその結果ＶＯＵＴを出力し、オーディオデコーダ９２４は、オーディオストリームをデコードしてその結果ＡＯＵＴを出力する。ＡＶＩフォーマットのファイルでは、オーディオとビデオとを同期させるための同期信号が含まれていないので、オーディオ及びビデオのデコード結果がそのまま順次出力される。
【０００７】
図１０（ａ）は、図９において、ビデオデコーダ９２２に入力されるビデオストリーム、及びオーディオデコーダ９２４に入力されるオーディオストリームの例を示す説明図である。図１０（ｂ）は、図１０（ａ）のビットストリームがデコードされて得られたビデオデータ及びオーディオデータの例を示す説明図である。
【０００８】
図１０（ａ）のように、ビデオストリームにはエラーがなく、オーディオストリームにはエラーがある場合には、オーディオデコーダ９２４は、エラーの部分をスキップしてデコードしてしまう。このため、オーディオとビデオをそのまま順次出力していくと、図１０（ｂ）のように、エラーのあった個所から後では、オーディオがビデオよりも先に進んでしまい、オーディオとビデオとの間の同期がずれてしまう。
【０００９】
このように、ＡＶＩフォーマットのファイルのように同期情報を含まないファイルを伝送するストリームにおいて、オーディオ又はビデオのいずれかのストリーム自身にエラーがあると、復号の際にオーディオとビデオとの間の同期がずれてしまう。そして、同期情報がないので、オーディオとビデオとの間の同期がずれてしまった場合、両者のタイミングを修正して再び同期させることができなかった。
【００１０】
本発明は、オーディオとビデオとの間の同期がずれてしまっても、同期情報を用いることなく、両者を再び同期させることができるストリーム復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するため、請求項１の発明が講じた手段は、オーディオストリームとビデオストリームとを有し、その少なくとも一方には同期情報が含まれていないビットストリームをデコードするストリーム復号装置であって、前記ビデオストリームをデコードし、そのうちの正常にデコードできた部分又は正常にデコードできなかった部分のサイズに応じた第１のデコード情報と、デコードされたビデオデータとを出力するビデオデコーダと、前記オーディオストリームをデコードし、そのうちの正常にデコードできた部分又は正常にデコードできなかった部分のサイズに応じた第２のデコード情報と、デコードされたオーディオデータとを出力するオーディオデコーダと、前記デコードされたビデオデータを格納して出力するビデオ出力バッファと、前記デコードされたオーディオデータを格納して出力するオーディオ出力バッファと、前記第１及び第２のデコード情報に従って、前記デコードされたビデオデータと前記デコードされたオーディオデータとが同期して出力されるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御する出力制御部とを備えるものである。
【００１２】
これによると、ビットストリームにエラー等が含まれるために正常にデコードできなかった部分があり、ビデオとオーディオとの間の同期がずれてしまっても、第１及び第２のデコード情報によってビデオとオーディオとの間の時間差を知ることができるので、ビデオとオーディオとを同期させることができる。
【００１３】
請求項２の発明では、請求項１に記載のストリーム復号装置において、前記第１のデコード情報は、前記ビデオストリームのうちの正常にデコードすることができなかった部分のサイズであり、前記第２のデコード情報は、前記オーディオストリームのうちの正常にデコードすることができなかった部分のサイズである。
【００１４】
請求項３の発明では、請求項１に記載のストリーム復号装置において、前記第１のデコード情報は、前記ビデオストリームのうちの正常にデコードすることができなかった部分の再生に要する時間であり、前記第２のデコード情報は、前記オーディオストリームのうちの正常にデコードすることができなかった部分の再生に要する時間である。
【００１５】
請求項４の発明では、請求項３に記載のストリーム復号装置において、前記出力制御部は、前記第１のデコード情報と前記第２のデコード情報との差に基づいて、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００１６】
請求項５の発明では、請求項１に記載のストリーム復号装置において、前記第１のデコード情報は、前記ビデオストリームのうちの正常にデコードすることができた部分の再生に要する時間であり、前記第２のデコード情報は、前記オーディオストリームのうちの正常にデコードすることができた部分の再生に要する時間である。
【００１７】
請求項６の発明では、請求項５に記載のストリーム復号装置において、前記出力制御部は、前記第１のデコード情報と前記第２のデコード情報との差に基づいて、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００１８】
請求項７の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、デコードの際に正常にデコードできない部分があった方の出力を遅くするように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００１９】
請求項８の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、デコードの際に正常にデコードできない部分がなかった方の出力を速くするように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００２０】
請求項９の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方の出力の進行を一時停止させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００２１】
請求項１０の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方をスキップさせるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００２２】
請求項１１の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方を低速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００２３】
請求項１２の発明では、請求項１に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方を高速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００２４】
請求項１３の発明は、請求項１に記載のストリーム復号装置において、前記ビットストリームを格納し、前記ビデオデコーダ及び前記オーディオデコーダに出力するストリームバッファを更に備え、前記出力制御部は、前記第１及び第２のデコード情報に基づいて、前記デコードされたビデオデータと前記デコードされたオーディオデータとの間の再生に要する時間差が所定の値よりも大きいことを検出した場合には、前記ストリームバッファ、前記ビデオ出力バッファ、及び前記オーディオ出力バッファをクリアするものである。
【００２５】
請求項１４の発明は、請求項１に記載のストリーム復号装置において、正常にデコードすることができない部分がない場合に前記第１又は第２のデコード情報として得られるべき情報を、基準情報として格納して出力する基準情報記憶部を更に備え、前記出力制御部は、前記基準情報と前記第１のデコード情報とに応じて、前記ビデオ出力バッファを制御し、前記基準情報と前記第２のデコード情報とに応じて、前記オーディオ出力バッファを制御するものである。
【００２６】
これによると、ビデオストリーム又はオーディオストリームを正常にデコードすることができたとした場合を基準として、ビデオ及びオーディオの出力をそれぞれ制御することができるので、ビデオとオーディオとの間の同期を保つことができる。
【００２７】
請求項１５の発明では、請求項１４に記載のストリーム復号装置において、前記基準情報は、データサイズを表す情報である。
【００２８】
請求項１６の発明では、請求項１４に記載のストリーム復号装置において、前記基準情報は、データの再生に要する時間を表す情報である。
【００２９】
請求項１７の発明では、請求項１４に記載のストリーム復号装置において、前記第１のデコード情報は、前記ビデオストリームのうちの正常にデコードすることができた部分のサイズであり、前記第２のデコード情報は、前記オーディオストリームのうちの正常にデコードすることができた部分のサイズである。
【００３０】
請求項１８の発明では、請求項１４に記載のストリーム復号装置において、前記第１のデコード情報は、前記ビデオストリームのうちの正常にデコードすることができた部分の再生に要する時間であり、前記第２のデコード情報は、前記オーディオストリームのうちの正常にデコードすることができた部分の再生に要する時間である。
【００３１】
請求項１９の発明では、請求項１４に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方の出力の進行を一時停止させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００３２】
請求項２０の発明では、請求項１４に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方をスキップさせるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００３３】
請求項２１の発明では、請求項１４に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、進んでいる方を低速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００３４】
請求項２２の発明では、請求項１４に記載のストリーム復号装置において、前記出力制御部は、前記デコードされたビデオデータと前記デコードされたオーディオデータとのうち、遅れている方を高速で再生させるように、前記ビデオ出力バッファ及び前記オーディオ出力バッファを制御するものである。
【００３５】
請求項２３の発明は、請求項１４に記載のストリーム復号装置において、前記ビットストリームを格納し、前記ビデオデコーダ及び前記オーディオデコーダに出力するストリームバッファを更に備え、前記出力制御部は、前記基準情報と前記第１又は第２のデコード情報との間の差が所定の値よりも大きいことを検出した場合には、前記ストリームバッファ、前記ビデオ出力バッファ、及び前記オーディオ出力バッファをクリアするものである。
【発明の効果】
【００３６】
本発明によると、オーディオとビデオとの間の同期がずれてしまっても、同期情報を用いることなく、両者を再び同期させることができる。したがって、同期させるための信号を有しないビットストリームをデコードする場合において、オーディオとビデオとの間の同期を保つことができる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３８】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るストリーム復号装置の構成例を示すブロック図である。図１のストリーム復号装置は、ビデオデコーダ２２と、オーディオデコーダ２４と、ビデオ出力バッファ２６と、オーディオ出力バッファ２８と、デコード情報記憶部３２，３４と、出力制御部４２とを備え、ストリームバッファとして、入力ストリームバッファ１１と、ビデオストリームバッファ１２と、オーディオストリームバッファ１４とを備えている。
【００３９】
入力ストリームバッファ１１には、ＡＶＩフォーマットのファイルを伝送するビットストリームＳＴＲＭが入力されているとする。ビットストリームＳＴＲＭは、オーディオストリームとビデオストリームとを有し、これらのいずれにも同期情報が含まれていない。入力ストリームバッファ１１は、ビットストリームＳＴＲＭを所定のサイズずつ格納し、ビデオストリームバッファ１２及びオーディオストリームバッファ１４は、格納されたビットストリームＳＴＲＭのうちのビデオストリーム及びオーディオストリームをそれぞれ格納する。
【００４０】
ビデオデコーダ２２は、ビデオストリームバッファ１２からビデオストリームを読み出してデコードし、その結果をビデオ出力バッファ２６に出力する。また、ビデオデコーダ２２は、デコードの際に得られたデコード情報をデコード情報記憶部３２に出力する。
【００４１】
オーディオデコーダ２４は、オーディオストリームバッファ１４からオーディオストリームを読み出してデコードし、その結果をオーディオ出力バッファ２８に出力する。また、オーディオデコーダ２４は、デコードの際に得られたデコード情報をデコード情報記憶部３４に出力する。
【００４２】
例えば、ビデオデコーダ２２は、入力されたビデオストリームのうち、正常にデコードすることができなかった部分、すなわち、エラーとなる部分のサイズ（以下では、エラーデータサイズと称する）を求めてデコード情報として出力する。同様に、オーディオデコーダ２４は、入力されたオーディオストリームのうち、正常にデコードすることができなかった部分のサイズであるエラーデータサイズを求めてデコード情報として出力する。
【００４３】
デコード情報記憶部３２，３４はいずれも、受け取ったデコード情報を格納し、出力制御部４２に出力する。出力制御部４２は、デコード情報記憶部３２，３４から出力されるデコード情報に応じて、ビデオ出力バッファ２６及びオーディオ出力バッファ２８を制御する。ビデオ出力バッファ２６及びオーディオ出力バッファ２８は、出力制御部４２の制御に従って、ビデオデータＶＯＵＴ及びオーディオデータＡＯＵＴをそれぞれ出力する。
【００４４】
図２（ａ）は、図１において、ビデオデコーダ２２に入力されるビデオストリーム、及びオーディオデコーダ２４に入力されるオーディオストリームの例を示す説明図である。図２（ｂ）は、図２（ａ）のビットストリームがデコードされて得られたビデオデータ及びオーディオデータの例を示す説明図である。図２（ｃ）は、図１において、ビデオ出力バッファ２６から出力されるビデオデータＶＯＵＴ、及びオーディオ出力バッファ２８から出力されるオーディオデータＡＯＵＴの例を示す説明図である。
【００４５】
図２（ａ）のように、ビデオストリームにはエラーがなく、オーディオストリームにはエラーがあるとすると、オーディオデコーダ２４は、エラーの部分をスキップしてデコードしてしまう。このため、ビデオデコーダ２２及びオーディオデコーダ２４の出力は図２（ｂ）のようになり、エラーのあった個所から後では、オーディオがビデオよりも先に進んでしまい、オーディオとビデオとの間の同期がずれてしまう。図２（ｂ）において、デコードされたビデオデータの再生に要する時間はＹ、デコードされたオーディオデータの再生に要する時間はＸ（Ｘ＜Ｙ）である。
【００４６】
そこで、出力制御部４２は、ビデオデコーダ２２及びオーディオデコーダ２４から出力されたデコード情報に従って、デコードされたビデオデータとデコードされたオーディオデータとが同期して出力されるように、ビデオ出力バッファ２６及びオーディオ出力バッファ２８を制御する。
【００４７】
すなわち、出力制御部４２は、デコード情報記憶部３２から出力されるデコード情報（ビデオのエラーデータサイズ）をビデオのビットレートで割って、サイズがエラーデータサイズであるデータの再生に要する時間（エラー再生時間）をビデオについて求め、デコード情報記憶部３４から出力されるデコード情報（オーディオのエラーデータサイズ）をオーディオのビットレートで割って、オーディオのエラー再生時間を求める。出力制御部４２は、ビットストリームＳＴＲＭのヘッダ情報から、ビデオ及びオーディオのビットレートを既に求めているものとする。
【００４８】
更に出力制御部４２は、ビデオのエラー再生時間とオーディオのエラー再生時間との間の差を求め、ビデオ及びオーディオのうちの遅れている方、言い換えると、デコードされたビデオデータ及びオーディオデータのうちのエラーがなかった方のデータの出力を速くして、そのまま出力する場合に要する時間よりも求められた時間差だけ短い時間で出力するように、ビデオ出力バッファ２６及びオーディオ出力バッファ２８を制御する。
【００４９】
図２（ｂ）の場合は、エラーがなかったビデオの方が遅れているので、出力制御部４２は、求められた時間差の分だけ、ビデオ出力バッファ２６にビデオデータをスキップさせ、ビデオとオーディオとを同期させる。言い換えると、デコードされたビデオデータを時間Ｘの間に再生させるようにする。すると、ビデオ出力バッファ２６及びオーディオ出力バッファ２８からそれぞれ出力されるビデオデータＶＯＵＴ及びオーディオデータＡＯＵＴは、図２（ｃ）のようになり、ビデオとオーディオとの間の同期を保つことができる。
【００５０】
なお、出力制御部は、ビデオの出力をスキップさせる代わりに、例えば、そのまま出力する場合に要する時間よりも求められた時間差だけ短い時間で出力するように、ビデオ出力バッファ２６にビデオを高速再生させるように（すなわち、ビデオのフレーム間隔を短くするように）してもよい。
【００５１】
図３は、図１において、ビデオ出力バッファから出力されるビデオデータＶＯＵＴ、及びオーディオ出力バッファから出力されるオーディオデータＡＯＵＴの他の例を示す説明図である。図１の出力制御部は、次のように構成されていてもよい。
【００５２】
すなわち、出力制御部は、ビデオのエラー再生時間とオーディオのエラー再生時間との間の差を求め、ビデオ及びオーディオのうちの進んでいる方、言い換えると、ビデオ及びオーディオのうちのエラーがあった方のデータの出力を遅くして、そのまま出力する場合に要する時間よりも求められた時間差だけ長い時間で出力するように、ビデオ出力バッファ２６及びオーディオ出力バッファ２８を制御するようにしてもよい。
【００５３】
図２（ｂ）の場合は、エラーがあったオーディオの方が進んでいるので、出力制御部は、求められた時間差だけ、オーディオ出力バッファ２８にオーディオの出力の進行を一時停止させ、ビデオとオーディオとを同期させる。言い換えると、デコードされたオーディオデータを時間Ｙの間に再生させるようにする。すると、ビデオ出力バッファ２６及びオーディオ出力バッファ２８からそれぞれ出力されるビデオデータＶＯＵＴ及びオーディオデータＡＯＵＴは、図３のようになり、ビデオとオーディオとの間の同期を保つことができる。
【００５４】
以上のように、図１のストリーム復号装置によると、ビデオとオーディオとが同期しなくなっても、同期情報を用いることなく、また、デコードされたビデオデータ又はオーディオデータにデータを付加することなく、ビデオとオーディオとの間の同期を再び保つようにすることができる。
【００５５】
なお、出力制御部は、オーディオの出力の進行を一時停止させる代わりに、例えば、そのまま出力する場合に要する時間よりも求められた時間差だけ長い時間で出力するように、オーディオ出力バッファ２８にオーディオを低速再生させるようにしてもよい。
【００５６】
また、本実施形態においては、ビデオデコーダ２２及びオーディオデコーダ２４は、エラーデータサイズをデコード情報として出力するものとして説明したが、これに代えて、入力されたストリームのうち、正常にデコードすることができた部分のサイズ（以下では、正常再生データサイズと称する）をデコード情報として出力するようにしてもよい。
【００５７】
また、ビデオデコーダ及びオーディオデコーダが、ビットストリームＳＴＲＭのヘッダ情報から、ビデオ及びオーディオのビットレートをそれぞれ既に求めているものとし、ビデオ及びオーディオについて、正常にデコードすることができなかった部分の再生に要する時間をそれぞれ求め、デコード情報として出力するようにしてもよい。すなわち、ビデオ及びオーディオのエラーデータサイズをそれぞれのビットレートで割り、それぞれ得られた値（ビデオ及びオーディオのエラー再生時間）をデコード情報として出力するようにしてもよい。
【００５８】
また、ビデオデコーダ及びオーディオデコーダが、ビットストリームＳＴＲＭのヘッダ情報から、ビデオ及びオーディオのビットレートをそれぞれ既に求めているものとし、ビデオ及びオーディオについて、正常にデコードすることができた部分の再生に要する時間をそれぞれ求め、デコード情報として出力するようにしてもよい。すなわち、ビデオ及びオーディオの正常再生データサイズを求め、それぞれの正常再生データサイズをそれぞれのビットレートで割り、それぞれ得られた値（ビデオ及びオーディオの正常再生時間）をデコード情報として出力するようにしてもよい。
【００５９】
（第１の実施形態の変形例）
図４は、本発明の第１の実施形態の変形例に係るストリーム復号装置の構成例を示すブロック図である。図４のストリーム復号装置は、図１のストリーム復号装置において、デコード情報記憶部３２，３４に代えてデコード情報記憶部２３２を備え、ビデオデコーダ２２、オーディオデコーダ２４、及び出力制御部４２に代えて、ビデオデコーダ２２２と、オーディオデコーダ２２４と、出力制御部２４２とを備えるものである。その他の構成要素は、図１を参照して説明したものと同様である。
【００６０】
ビットストリームＳＴＲＭのヘッダ情報から、ビデオデコーダ２２２は、ビデオのビットレートを求め、オーディオデコーダ２２４は、オーディオのビットレートを求める。ビデオデコーダ２２２は、ビデオストリームバッファ１２からビデオストリームを読み出してデコードし、その結果をビデオ出力バッファ２６に出力する。また、ビデオデコーダ２２２は、デコードの際に得られたデコード情報をデコード情報記憶部２３２に出力する。
【００６１】
オーディオデコーダ２２４は、オーディオストリームバッファ１４からオーディオストリームを読み出してデコードし、その結果をオーディオ出力バッファ２８に出力する。また、オーディオデコーダ２２４は、デコードの際に得られたデコード情報をデコード情報記憶部２３２に出力する。
【００６２】
例えば、ビデオデコーダ２２２は、入力されたビデオストリームのエラーデータサイズを求め、これをビデオのビットレートで割り、得られた値（ビデオのエラー再生時間）をデコード情報として出力する。オーディオデコーダ２２４は、入力されたオーディオストリームのエラーデータサイズを求め、これをオーディオのビットレートで割り、得られた値（オーディオのエラー再生時間）をデコード情報として出力する。
【００６３】
また、これに代えて、ビデオデコーダが、ビデオの正常データサイズを求め、これをビデオのビットレートで割り、得られた値（ビデオの正常再生時間）をデコード情報として出力するようにし、かつ、オーディオデコーダが、オーディオの正常データサイズを求め、これをオーディオのビットレートで割り、得られた値（オーディオの正常再生時間）をデコード情報として出力するようにしてもよい。
【００６４】
デコード情報記憶部２３２は、ビデオデコーダ２２及びオーディオデコーダ２４からデコード情報を受け取り、ビデオデコーダ２２のデコード情報とオーディオデコーダ２４のデコード情報との差を求めて格納し、これを出力制御部２４２に出力する。デコード情報記憶部２３２が格納する値は、ビデオとオーディオとの間の時間差を示す値となっている。
【００６５】
出力制御部２４２は、デコード情報記憶部２３２から出力されるデコード情報に基づいて、デコードされたビデオデータとデコードされたオーディオデータとが同期して出力されるように、ビデオ出力バッファ２６及びオーディオ出力バッファ２８を制御する。出力制御部２４２による制御の詳細な点については、ビデオのエラー再生時間とオーディオのエラー再生時間との間の時間差を求めた後における、図１の出力制御部４２と同様であるので、説明を省略する。
【００６６】
（第２の実施形態）
図５は、本発明の第２の実施形態に係るストリーム復号装置の構成例を示すブロック図である。図５のストリーム復号装置は、入力ストリームバッファ３１１と、ビデオストリームバッファ３１２と、オーディオストリームバッファ３１４と、ビデオデコーダ２２と、オーディオデコーダ２４と、ビデオ出力バッファ３２６と、オーディオ出力バッファ３２８と、デコード情報記憶部３３２，３３４と、出力制御部３４２とを備えている。
【００６７】
入力ストリームバッファ３１１、ビデオストリームバッファ３１２、オーディオストリームバッファ３１４、ビデオ出力バッファ３２６、オーディオ出力バッファ３２８、及びデコード情報記憶部３３２，３３４は、出力制御部３４２から出力されるリセット信号に従って、それぞれが格納しているデータを消去するように構成されている点が、図１の入力ストリームバッファ１１、ビデオストリームバッファ１２、オーディオストリームバッファ１４、ビデオ出力バッファ２６、オーディオ出力バッファ２８、及びデコード情報記憶部３２，３４のそれぞれとは異なっている。ビデオデコーダ２２、及びオーディオデコーダ２４は、図１を参照して説明したものと同様である。
【００６８】
ビデオデコーダ２２、及びオーディオデコーダ２４は、デコード情報記憶部３３２，３３４のそれぞれに、デコード情報としてエラー再生データサイズ又はエラー再生時間を出力する。デコード情報記憶部３３２，３３４はいずれも、受け取ったデコード情報を格納し、出力制御部３４２に出力する。出力制御部３４２は、デコード情報記憶部３３２から受け取ったデコード情報とデコード情報記憶部３３４から受け取ったデコード情報とに基づいて、デコードされたビデオデータとデコードされたオーディオデータとの間の再生に要する時間差を求める。ここで、デコード情報がエラー再生データサイズである場合には、各エラー再生データサイズをビデオ及びオーディオのそれぞれのビットレートで割った後に差を求め、デコード情報がエラー再生時間である場合には、入力されたエラー再生時間の差を求める。
【００６９】
得られた値が所定の値よりも大きいことを検出した場合には、出力制御部３４２は、フラッシュ処理を行う。すなわち、出力制御部３４２は、入力ストリームバッファ３１１、ビデオストリームバッファ３１２、オーディオストリームバッファ３１４、ビデオ出力バッファ３２６、オーディオ出力バッファ３２８、及びデコード情報記憶部３３２，３３４にリセット信号を出力し、これらのバッファ等をクリアして、既に求められたデータを出力しないようにする。その他の点は、図１のストリーム復号装置と同様である。
【００７０】
その後、入力ストリームバッファ３１１には、次に処理すべきビットストリームＳＴＲＭの新たな部分が入力され、復号が開始される。このため、ビデオとオーディオとの間に時間差があっても、それが蓄積されることがなく、再びビデオとオーディオとを同期させて出力することができるようになる。
【００７１】
なお、デコード情報として正常再生データサイズ又は正常再生時間を用いるようにすることも同様に可能である。
【００７２】
（第３の実施形態）
図６は、本発明の第３の実施形態に係るストリーム復号装置の構成例を示すブロック図である。図６のストリーム復号装置は、図１のストリーム復号装置において、ビデオデコーダ２２、オーディオデコーダ２４、及び出力制御部４２に代えて、ビデオデコーダ４２２、オーディオデコーダ４２４、及び出力制御部４４２をそれぞれ備え、かつ、基準情報記憶部３６，３８を更に備えるものである。その他の構成要素は、図１を参照して説明したものと同様であるので、同一の参照番号を付してその説明を省略する。
【００７３】
ビデオデコーダ４２２及びオーディオデコーダ４２４は、エラーなく正常にデコードすることができる場合に得られると予想されるデコード情報を、ビットストリームＳＴＲＭのヘッダ情報から予め算出しておき、基準情報として基準情報記憶部３６，３８にそれぞれ格納させる。デコード情報は、ここでは正常再生データサイズであるとするが、正常再生時間等であってもよい。
【００７４】
ビデオデコーダ４２２は、ビデオストリームバッファ１２からビデオストリームを読み出してデコードし、その結果をビデオ出力バッファ２６に出力する。また、ビデオデコーダ４２２は、デコードの際に得られたデコード情報をデコード情報記憶部３２に出力する。
【００７５】
オーディオデコーダ４２４は、オーディオストリームバッファ１４からオーディオストリームを読み出してデコードし、その結果をオーディオ出力バッファ２８に出力する。また、オーディオデコーダ４２４は、デコードの際に得られたデコード情報をデコード情報記憶部３４に出力する。
【００７６】
出力制御部４４２は、デコード情報記憶部３２に格納されたデコード情報と、基準情報記憶部３６に格納された基準情報との差を求め、求められた値に従って、ビデオ出力バッファ２６を制御する。例えば、デコード情報が正常再生データサイズであって、デコード情報記憶部３２に格納されたデコード情報の値が基準情報の値よりも小さい場合には、ビデオに正常に再生されない部分があったと考えられるので、出力制御部４４２は、両者の差をビデオのビットレートで割り、得られた時間だけ、ビデオデータＶＯＵＴの出力を遅らせる。
【００７７】
出力制御部４４２は、オーディオについても同様に、デコード情報記憶部３４に格納されたデコード情報と、基準情報記憶部３８に格納された基準情報との差を求め、求められた値に従って、オーディオ出力バッファ２８を制御する。
【００７８】
このように、図６のストリーム復号装置によると、ビットストリームを正常にデコードすることができたとした場合を基準として、ビデオ及びオーディオの出力をそれぞれ制御することによって、ビデオとオーディオとの間の同期を保つことができる。
【００７９】
（第３の実施形態の変形例）
図７は、本発明の第３の実施形態の変形例に係るストリーム復号装置の構成例を示すブロック図である。図７のストリーム復号装置は、図６のストリーム復号装置において、基準情報記憶部３６，３８に代えて基準情報記憶部５３６を備え、ビデオデコーダ４２２、オーディオデコーダ４２４、及び出力制御部４４２に代えて、ビデオデコーダ５２２と、オーディオデコーダ５２４と、出力制御部５４２とを備えるものである。その他の構成要素は、図１を参照して説明したものと同様である。
【００８０】
ビデオデコーダ５２２は、エラーなく正常にデコードすることができる場合に得られると予想されるデコード情報を、ビットストリームＳＴＲＭのヘッダ情報から予め算出しておき、基準情報として基準情報記憶部５３６に格納させる。デコード情報は、ここでは例として正常再生時間であるとするが、エラー再生時間であってもよい。基準情報は、オーディオについてもビデオについてと同じ値となるので、ビデオデコーダ５２２に代えて、オーディオデコーダ５２４が、基準情報を算出して基準情報記憶部５３６に格納させるようにしてもよい。
【００８１】
ビットストリームＳＴＲＭのヘッダ情報から、ビデオデコーダ５２２は、ビデオのビットレートを求め、オーディオデコーダ５２４は、オーディオのビットレートを求める。ビデオデコーダ５２２は、ビデオストリームバッファ１２からビデオストリームを読み出してデコードし、その結果をビデオ出力バッファ２６に出力する。また、ビデオデコーダ５２２は、デコードの際に得られたデコード情報をデコード情報記憶部３２に出力する。
【００８２】
オーディオデコーダ５２４は、オーディオストリームバッファ１４からオーディオストリームを読み出してデコードし、その結果をオーディオ出力バッファ２８に出力する。また、オーディオデコーダ５２４は、デコードの際に得られたデコード情報をデコード情報記憶部３４に出力する。
【００８３】
ここで、ビデオデコーダ５２２は、入力されたビデオストリームの正常再生データサイズを求め、これをビデオのビットレートで割り、得られた値（ビデオの正常再生時間）をデコード情報として出力する。オーディオデコーダ５２４は、入力されたオーディオストリームの正常再生データサイズを求め、これをオーディオのビットレートで割り、得られた値（オーディオの正常再生時間）をデコード情報として出力する。
【００８４】
基準情報記憶部５３６は、ビデオデコーダ５２２又はオーディオデコーダ５２４からデコード情報を受け取って格納し、これを出力制御部５４２に出力する。
【００８５】
出力制御部５４２は、デコード情報記憶部３２に格納されたデコード情報と、基準情報記憶部５３６に格納された基準情報との差を求め、求められた値に従って、ビデオ出力バッファ２６を制御する。例えば、デコード情報が正常再生時間であって、デコード情報記憶部３２に格納されたデコード情報の値が基準情報の値よりも小さい場合には、ビデオに正常に再生されない部分があったと考えられるので、出力制御部５４２は、両者の差だけ、ビデオデータＶＯＵＴの出力を遅らせる。
【００８６】
出力制御部５４２は、オーディオについても同様に、デコード情報記憶部３４に格納されたデコード情報と、基準情報記憶部５３６に格納された基準情報との差を求め、求められた値に従って、オーディオ出力バッファ２８を制御する。
【００８７】
（第４の実施形態）
図８は、本発明の第４の実施形態に係るストリーム復号装置の構成例を示すブロック図である。図８のストリーム復号装置は、入力ストリームバッファ３１１と、ビデオストリームバッファ３１２と、オーディオストリームバッファ３１４と、ビデオデコーダ４２２と、オーディオデコーダ４２４と、ビデオ出力バッファ３２６と、オーディオ出力バッファ３２８と、デコード情報記憶部３３２，３３４と、基準情報記憶部６３６，６３８と、出力制御部６４２とを備えている。
【００８８】
入力ストリームバッファ３１１、ビデオストリームバッファ３１２、オーディオストリームバッファ３１４、ビデオ出力バッファ３２６、オーディオ出力バッファ３２８、及びデコード情報記憶部３３２，３３４は、図５を参照して説明したものと同様である。ビデオデコーダ４２２及びオーディオデコーダ４２４は、図６を参照して説明したものと同様である。基準情報記憶部６３６，６３８は、出力制御部６４２から出力されるリセット信号に従ってクリアされる点が、図６の基準情報記憶部３６，３８のそれぞれとは異なっている。
【００８９】
ビデオデコーダ４２２、及びオーディオデコーダ４２４は、デコード情報記憶部３３２，３３４のそれぞれに、デコード情報として正常再生データサイズ又は正常再生時間を出力する。デコード情報記憶部３３２，３３４はいずれも、受け取ったデコード情報を格納し、出力制御部６４２に出力する。
【００９０】
出力制御部６４２は、デコード情報記憶部３３２から受け取ったデコード情報と基準情報記憶部６３６から受け取った基準情報との差を求め、得られた値が所定の値よりも大きいことを検出した場合には、フラッシュ処理を行う。すなわち、出力制御部６４２は、入力ストリームバッファ３１１、ビデオストリームバッファ３１２、オーディオストリームバッファ３１４、ビデオ出力バッファ３２６、オーディオ出力バッファ３２８、デコード情報記憶部３３２，３３４、及び基準情報記憶部６３６，６３８にリセット信号を出力し、これらのバッファ等をクリアする。その他の点は、図６のストリーム復号装置と同様である。
【００９１】
また、出力制御部６４２は、デコード情報記憶部３３４から受け取ったデコード情報と基準情報記憶部６３８から受け取った基準情報との差を求め、得られた値が所定の値よりも大きいことを検出した場合にも、同様にフラッシュ処理を行う。
【００９２】
その後、入力ストリームバッファ３１１には、次に処理すべきビットストリームＳＴＲＭの新たな部分が入力され、復号が開始されるので、再びビデオとオーディオとを同期させて出力することができるようになる。
【００９３】
以上の実施形態において、ビットストリームＳＴＲＭはＡＶＩフォーマットのファイルを伝送するビットストリームであるとして説明したが、オーディオストリームとビデオストリームとを有し、その少なくとも一方に同期情報が含まれていないようなビットストリームであれば同様に説明することができる。
【産業上の利用可能性】
【００９４】
以上説明したように、本発明は、同期情報を用いることなく、オーディオとビデオとを同期させることができるので、ストリーム復号装置として有用である。
【図面の簡単な説明】
【００９５】
【図１】本発明の第１の実施形態に係るストリーム復号装置の構成例を示すブロック図である。
【図２】（ａ）は、図１において、ビデオデコーダに入力されるビデオストリーム、及びオーディオデコーダに入力されるオーディオストリームの例を示す説明図である。（ｂ）は、（ａ）のビットストリームがデコードされて得られたビデオデータ及びオーディオデータの例を示す説明図である。（ｃ）は、図１において、ビデオ出力バッファから出力されるビデオデータＶＯＵＴ、及びオーディオ出力バッファから出力されるオーディオデータＡＯＵＴの例を示す説明図である。
【図３】図１において、ビデオ出力バッファから出力されるビデオデータＶＯＵＴ、及びオーディオ出力バッファから出力されるオーディオデータＡＯＵＴの他の例を示す説明図である。
【図４】本発明の第１の実施形態の変形例に係るストリーム復号装置の構成例を示すブロック図である。
【図５】本発明の第２の実施形態に係るストリーム復号装置の構成例を示すブロック図である。
【図６】本発明の第３の実施形態に係るストリーム復号装置の構成例を示すブロック図である。
【図７】本発明の第３の実施形態の変形例に係るストリーム復号装置の構成例を示すブロック図である。
【図８】本発明の第４の実施形態に係るストリーム復号装置の構成例を示すブロック図である。
【図９】従来のストリーム復号装置の構成例を示すブロック図である。
【図１０】（ａ）は、図９において、ビデオデコーダに入力されるビデオストリーム、及びオーディオデコーダに入力されるオーディオストリームの例を示す説明図である。（ｂ）は、（ａ）のビットストリームがデコードされて得られたビデオデータ及びオーディオデータの例を示す説明図である。
【符号の説明】
【００９６】
１１，３１１  入力ストリームバッファ
１２，３１２  ビデオストリームバッファ
１４，３１４  オーディオストリームバッファ
２２，２２２，４２２，５２２  ビデオデコーダ
２４，２２４，４２４，５２４  オーディオデコーダ
２６，３２６  ビデオ出力バッファ
２８，３２８  オーディオ出力バッファ
３２，３４，２３２，３３２，３３４  デコード情報記憶部
３６，３８，５３６，６３６，６３８  基準情報記憶部
４２，２４２，３４２，４４２，５４２，６４２  出力制御部
【図１】
2005348160.tif 000003
【図２】
2005348160.tif 000004
【図３】
2005348160.tif 000005
【図４】
2005348160.tif 000006
【図５】
2005348160.tif 000007
【図６】
2005348160.tif 000008
【図７】
2005348160.tif 000009
【図８】
2005348160.tif 000010
【図９】
2005348160.tif 000011
【図１０】
2005348160.tif 000012