(57)【要約】【課題】符号化データを退避しておくためのメモリバッファの確保と退避用メモリバッファへのコピー処理が不要な入力バッファ管理装置を持つ再生装置を実現する。【解決手段】メモリバッファ１００からデータを取得するリードポインタ（１０１，１０２）を複数もち、それぞれに対し読み出しを禁止する無効領域１０８を登録できる無効領域テーブル１０５と、リードポインタが無効領域に入ると無効領域を読み飛ばす読み出し位置制御装置１０４とを備え、リードポインタ１０１をヘッダと制御情報の取得に割り当て、リードポインタ１０２を符号化データの取得に割り当て、リードポインタ１０２に対しリードポインタ１０１が取得する領域を無効領域として無効領域テーブル１０５に登録することでリードポインタ１０２は連続領域から取得するのと同様にデータ取得でき、符号化データを退避用メモリバッファへ退避することなくデコードできる。【選択図】図１
2008135133.tif 000002
【特許請求の範囲】
【請求項１】
符号化データと符号化データを復号するための制御情報とを有するビットストリームから前記符号化データを処理することができるビットストリーム再生装置であって、
前記ビットストリームを受信し記憶するメモリバッファと、
前記メモリバッファからデータを読み出すための複数のリードポインタと、
前記リードポインタの各々に対しデータを読み飛ばす無効領域を登録する無効領域テーブルと、
前記無効領域テーブルから情報を読み出して前記リードポインタが前記無効領域に差し掛かったことを自動的に判断し前記無効領域のデータを読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、
前記リードポインタを用いて前記メモリバッファからビットストリームを読み出し復号するデコーダと、
前記符号化データを解析しその結果に基づいて前記無効領域テーブルに無効領域を登録するとともに、前記デコーダからの指示によっても前記無効領域テーブルに無効領域を登録し既に登録された情報との整合をとる無効領域情報登録装置とを備え、
前記複数のリードポインタをそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、前記無効領域情報登録装置により前記制御情報が格納された領域を前記無効領域として前記無効領域テーブルに登録することで、前記制御情報の前または前後に位置することにより不連続に格納された符号化データを連続領域に格納されているものとして扱えるように制御したことを特徴とするビットストリーム再生装置。
【請求項２】
前記ビットストリームは、固有の同期語を含むヘッダと符号化データとからなり、フレームからなる一定のデコード単位で復号できる構成とし、
前記ヘッダを解析し復号に必要なフレーム長を算出するために必要なデータ量を第１の閾値とし、前記メモリバッファ内に前記第１の閾値以上のデータが存在するかどうかを判定する手段と、各フレームにおいて前記ヘッダから算出した前記フレーム長を第２の閾値とし、前記メモリバッファ内に前記第２の閾値以上のデータが存在することを判定する手段とを備えたデータ量検出装置と、前記フレーム長に基づき当該フレームの次のフレームの同期語を検出する次フレーム検出装置とを備え、
前記データ量検出装置で前記第１の閾値以上のデータを検出すると、前記デコーダに対しヘッダ解析許可を与え、前記第２の閾値以上のデータ量を検出すると共に、当該フレームが最終フレームでない場合に前記次フレーム検出装置で所定の位置に次フレームの同期語が存在することが検出できた場合に前記デコーダに対しデコード許可を与え、当該フレームが最終フレームの場合に前記第２の閾値以上のデータ量を検出すると前記デコーダに対しデコード許可を与える制御をもつようにした請求項１記載のビットストリーム再生装置。
【請求項３】
任意の２つのリードポインタ間の有効データサイズを算出する有効データ量検出装置と、
前記有効データ量検出装置で得られたデータサイズと予め定められた閾値とを比較する有効データ量判定装置と、前記有効データ量判定装置の判定結果に基づいてリードポインタ位置を制御するリードポインタ位置制御装置とを備え、
前記リードポインタ位置制御装置が、復号時のエラーやデータスキップにより前記複数のリードポインタのうち特定のリードポインタのみ進み他のリードポインタが進まない場合に前記各リードポインタ間のデータ量が閾値以下になるように制御することで前記メモリバッファのオーバーフローを防ぐと共に各リードポインタ間に一定のデータ量を確保することで復号が再開できる請求項１記載のビットストリーム再生装置。
【請求項４】
符号化データと符号化データを復号するための制御情報とを有するビットストリームから、前記符号化データをフレームからなる一定のデコード単位で処理することができるビットストリーム再生装置であって、
前記ビットストリームを受信し記憶するメモリバッファと、
前記メモリバッファからデータを読み出すための複数のリードポインタと、
前記リードポインタの各々に対しデータを読み飛ばす無効領域と共に前記制御情報を登録する制御情報領域テーブルと、
前記制御情報領域テーブルから情報を読み出して前記リードポインタが前記無効領域に差し掛かったことを自動的に判断し前記無効領域を読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、
前記リードポインタを用いて前記メモリバッファからビットストリームを読み出し復号するデコーダと、
前記符号化データを解析しその結果に基づいて前記制御情報領域テーブルに無効領域と制御情報を登録するとともに、前記デコーダからの指示によっても前記制御情報領域テーブルに無効領域と制御情報を登録し既に登録された情報との整合をとる制御情報領域登録装置と、
前記読み出し位置制御装置からの情報通知により前記制御情報領域テーブルに登録された前記制御情報を読み出し次フレームの復号に用いる前記デコーダの制御情報を書き換えるデコーダ制御情報書き換え装置とを備え、
前記複数のリードポインタをそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、前記制御情報領域登録装置により前記制御情報が格納された領域を前記無効領域として前記制御情報と共に前記制御情報領域テーブルに登録し、前記読み出し位置制御装置から前記デコーダ制御情報書き換え装置に情報通知があった場合に前記無効領域に対応するフレームの切れ目で前記デコーダ制御情報書き換え装置により前記デコーダの制御情報を書き換えるように制御したことを特徴とするビットストリーム再生装置。
【請求項５】
複数の符号化データと複数の符号化データを復号するための制御情報とを有する複数のビットストリームから前記複数の符号化データを処理することができるビットストリーム再生装置であって、
前記ビットストリームを受信し記憶するメモリバッファと、
前記メモリバッファからデータを読み出すための複数のリードポインタと、
前記リードポインタの各々に対しデータを読み飛ばす領域を第１の無効領域とし、前記第１の無効領域の情報を登録する無効領域テーブルと、
前記メモリバッファに記憶されたビットストリームの領域情報を登録する領域情報テーブルと、
前記領域情報テーブルから領域情報を読み出して前記リードポインタの各々に対して自動的に読み飛ばすビットストリームの領域を判断し第２の無効領域として出力する制御を行う読み出し領域制御装置と、
前記リードポインタが前記無効領域テーブルから情報を読み出して得た前記第１の無効領域または前記読み出し領域制御装置から通知された前記第２の無効領域に差し掛かったことを自動的に判断し、前記第１または第２の無効領域を読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、
前記複数のリードポインタをそれぞれ用いて前記メモリバッファからビットストリームを読み出し復号する複数のデコーダと、
前記ビットストリームを解析しその結果に基づいて前記無効領域テーブルおよび領域情報テーブルに前記第１の無効領域および領域情報をそれぞれ登録するとともに前記デコーダからの指示によっても前記無効領域テーブルおよび領域情報テーブルに前記第１の無効領域および領域情報をそれぞれ登録し既に登録された情報との整合をとる領域情報登録装置とを備え、
前記メモリバッファに複数のビットストリームが混合して記憶された場合に前記リードポインタの各々が前記読み出し領域制御装置を用いて所望の一種類のビットストリームのみを連続領域として読み出せるように制御を行うことで、前記各デコーダごとに復号に必要なデータのみを取得でき同時に複数のビットストリームを復号できることを特徴とするビットストリーム再生装置。
【請求項６】
記録媒体からビットストリームを再生してメモリバッファに書き込み、前記メモリバッファから読み出して復号する請求項１，２，３，４または５記載のビットストリーム再生装置。
【請求項７】
有線又は無線伝送路を介して送信されてくるビットストリームを受信するストリーム受信装置を持つ請求項１，２，３，４または５記載のビットストリーム再生装置。
【請求項８】
前記ビットストリームは音楽情報が符号化されたストリームである請求項６または７記載のビットストリーム再生装置。
【請求項９】
前記ビットストリームは可変ビットレートで符号化された動画像符号化ストリームである請求項６または７記載のビットストリーム再生装置。
【請求項１０】
前記ビットストリームはＭＰＥＧ規格に従って符号化された動画像符号化ストリームであり、前記制御情報は符号化ストリーム内に多重化されている請求項６または７記載のビットストリーム再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声や音楽情報・動画像の符号化ストリームを復号する装置におけるメモリバッファからの読み出しを制御し、符号化された音楽情報や動画情報等のビットストリームを再生するビットストリーム再生装置に関する。
【背景技術】
【０００２】
音声やオーディオ・動画像の符号化ビットストリームの復号装置において、デコーダへデータを供給するための入力バッファの構成として、従来の構成について図１０を用いて説明する。
【０００３】
図１２は従来のビットストリーム復号装置を示す。図１２において、１０００はビットストリームを一定量蓄積するFIFO形式の入力バッファ、１００１は図１１に示すような制御情報と符号化データが前後するようなビットストリームを復号する際に入力バッファ１０００から取得したデータを一時的に退避しておくための退避バッファである。
【０００４】
図１２において図１１のストリームを複合しようとした場合、符号化データＡの復号には制御情報Ａを取得し、取得した制御情報Ａに基づいて符号化データＡを入力バッファ１０００から順次取得し復号すればよいが、符号化データＢ（Ｂ−１，Ｂ−２）を復号するためには、制御情報Ｂが符号化データＢ−１の後に格納されており、符号化データＢの復号に必要な制御情報Ｂを取得するために符号化データＢ−１を入力バッファ１０００から取得してしまう必要がある。しかし、取得した符号化データＢ−１は復号する対象データであるため、破棄することはできず、一旦退避バッファに退避することになる。また、図１１のようなデータでなくとも入力バッファ１０００がFIFO構造のため、復号対象としているフレームの信頼性を次フレームの同期ワードが所定の位置に存在することで確認する等が困難であり、誤った同期語を元に復号してノイズが発生したり、入力バッファ１０００へのデータ供給が間に合わずにアンダーフローを起こす可能性がある。さらに、復号時にエラーが発生した場合には、エラー発生時点から復号再開できずに本来復号されるべきデータを破棄してしまう可能性がある。したがって、この方法を採用した場合、様々な方式の符号化データに対応した復号装置を安価に構成できるが、図１１のような符号化データを復号する場合もしくは、データの信頼性を確認した上で復号しようとした場合等には必ず退避バッファへのコピーが発生し、メモリ容量と処理の負荷が高くなる（例えば、特許文献１参照）。
【特許文献１】特開平８−６５１７０号公報（第１０頁、第一図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のビットストリーム復号装置は上記のように構成されているため、入力された符号化ストリームが、ヘッダ情報と符号化データが同期しておらず、復号すべき符号化データが当該フレームのヘッダ情報よりも前又は後のフレームにも含まれるような符号化ストリームの場合、復号対象としている当該フレームのヘッダ情報よりも前のフレームに格納されている符号化データを退避しておく必要がある。また、データの信頼性を確認するために当該フレームに続く次フレームの同期語が所定の位置に存在することを確認した後に復号する場合、当該フレームのデータを退避する必要があり、退避ためのメモリバッファと、そのメモリバッファへのコピー処理が必要となり、多くの資源と処理性能が必要となっていた。
【０００６】
また、デコーダへの入力経路が２系統存在することなり、エラーが発生した場合のバッファメモリ管理や復号処理中の入力バッファの切り替えも複雑となっていた。
【０００７】
したがって、本発明の目的は、ＭＰ３のような制御情報の前に復号対象となる符号化データが格納されたストリームの場合でも、符号化データを退避しておくためのメモリバッファの確保と退避用メモリバッファへのコピー処理が不要な入力バッファ管理装置を持つビットストリーム再生装置を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、第１の発明のビットストリーム再生装置は、符号化データと符号化データを復号するための制御情報とを有するビットストリームから符号化データを処理することができるビットストリーム再生装置であって、ビットストリームを受信し記憶するメモリバッファと、メモリバッファからデータを読み出すための複数のリードポインタと、リードポインタの各々に対しデータを読み飛ばす無効領域を登録する無効領域テーブルと、無効領域テーブルから情報を読み出してリードポインタが無効領域に差し掛かったことを自動的に判断し無効領域のデータを読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、リードポインタを用いてメモリバッファからビットストリームを読み出し復号するデコーダと、符号化データを解析しその結果に基づいて無効領域テーブルに無効領域を登録するとともに、デコーダからの指示によっても無効領域テーブルに無効領域を登録し既に登録された情報との整合をとる無効領域情報登録装置とを備え、複数のリードポインタをそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、無効領域情報登録装置により制御情報が格納された領域を無効領域として無効領域テーブルに登録することで、制御情報の前または前後に位置することにより不連続に格納された符号化データを連続領域に格納されているものとして扱えるように制御したことを特徴とする。
【０００９】
第１の発明によれば、複数のリードポインタをそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、無効領域情報登録装置により制御情報が格納された領域を無効領域として無効領域テーブルに登録することで、制御情報の前または前後に位置することにより不連続に格納された符号化データを連続領域に格納されているものとして扱えるように制御したので、ビットストリームを復号するための制御情報と符号化データが同期しておらず、制御情報の前または制御情報の前後に復号すべき符号化データが格納されているビットストリームの場合でも、データを退避するためのバッファメモリと退避のためのコピー処理を削減できる。すなわち、リードポインタを複数持てるため、制御情報を取得するためのリードポインタと符号化データを復号するためのリードポインタを割り当て、制御情報が格納された領域の先頭アドレスとサイズを無効領域テーブルに登録することで、制御情報と符号化データが同期したビットストリームと同様に擬似的に連続領域に格納されたデータとして扱うことができる。また、無効領域テーブルへの登録情報は制御情報が格納されている領域の先頭アドレスとサイズが算出できれは良く、先頭アドレスと終了アドレスを登録しても良い。
【００１０】
第２の発明のビットストリーム再生装置は、第１の発明のビットストリーム再生装置において、ビットストリームは、固有の同期語を含むヘッダと符号化データとからなり、フレームからなる一定のデコード単位で復号できる構成とし、ヘッダを解析し復号に必要なフレーム長を算出するために必要なデータ量を第１の閾値とし、メモリバッファ内に第１の閾値以上のデータが存在するかどうかを判定する手段と、各フレームにおいてヘッダから算出したフレーム長を第２の閾値とし、メモリバッファ内に第２の閾値以上のデータが存在することを判定する手段とを備えたデータ量検出装置と、フレーム長に基づき当該フレームの次のフレームの同期語を検出する次フレーム検出装置とを備え、データ量検出装置で第１の閾値以上のデータを検出すると、デコーダに対しヘッダ解析許可を与え、第２の閾値以上のデータ量を検出すると共に、当該フレームが最終フレームでない場合に次フレーム検出装置で所定の位置に次フレームの同期語が存在することが検出できた場合にデコーダに対しデコード許可を与え、当該フレームが最終フレームの場合に第２の閾値以上のデータ量を検出するとデコーダに対しデコード許可を与える制御をもつようにした。
【００１１】
第２の発明によれば、ユニークなシンクワードを含むヘッダと符号化データからなりフレーム等の一定のデコード単位で復号できるビットストリームの場合、メモリバッファへのビットストリームの書き込みと、デコーダがメモリバッファからビットストリームを読み出す動作が非同期に行なわれる場合でも、メモリバッファ内のデータ量を判定し制御情報からフレーム長を算出できるサイズを第１の閾値とするデータ量以上のデータがメモリバッファに存在すれば現在のフレームの同期語の検出及びフレーム長の算出を行い、算出したフレーム長で定まる第２の閾値以上のデータ量がメモリバッファ内に存在すれば次のフレームの同期語が所定の位置に存在することを確認した後、現在のフレームの同期を確立し、デコーダに対し復号許可を行なうことで、デコード途中でのアンダーフロー発生による音切れや誤った同期語を元に復号した場合のノイズ発生を防止できる。
【００１２】
第３の発明のビットストリーム再生装置は、第１の発明のビットストリーム再生装置において、任意の２つのリードポインタ間の有効データサイズを算出する有効データ量検出装置と、有効データ量検出装置で得られたデータサイズと予め定められた閾値とを比較する有効データ量判定装置と、有効データ量判定装置の判定結果に基づいてリードポインタ位置を制御するリードポインタ位置制御装置とを備え、リードポインタ位置制御装置が、復号時のエラーやデータスキップにより複数のリードポインタのうち特定のリードポインタのみ進み他のリードポインタが進まない場合に各リードポインタ間のデータ量が閾値以下になるように制御することでメモリバッファのオーバーフローを防ぐと共に各リードポインタ間に一定のデータ量を確保することで復号が再開できる。
【００１３】
第３の発明によれば、復号エラーが連続で発生した場合やメモリバッファ内のデータスキップ等により複数のリードポインタのうち特定のリードポインタのみ進み他のリードポインタが進められない場合でも、制御情報より前に格納され得るデータサイズの最大値を閾値とし、各リードポインタ間のデータ量が閾値以下となるようにリードポインタを進める制御をすることでメモリバッファのオーバーフローを防ぐことができ、また制御情報と符号化データが同期しておらず、制御情報の前または制御情報の前後に復号すべき符号化データが格納されているビットストリームのデータスキップの場合には、各リードポインタ間のデータ量を確保することで、再生再開指令後速やかに復号が再開できるようになる。
【００１４】
第４の発明のビットストリーム再生装置は、符号化データと符号化データを復号するための制御情報とを有するビットストリームから、符号化データをフレームからなる一定のデコード単位で処理することができるビットストリーム再生装置であって、ビットストリームを受信し記憶するメモリバッファと、メモリバッファからデータを読み出すための複数のリードポインタと、リードポインタの各々に対しデータを読み飛ばす無効領域と共に制御情報を登録する制御情報領域テーブルと、制御情報領域テーブルから情報を読み出してリードポインタが無効領域に差し掛かったことを自動的に判断し無効領域を読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、リードポインタを用いてメモリバッファからビットストリームを読み出し復号するデコーダと、符号化データを解析しその結果に基づいて制御情報領域テーブルに無効領域と制御情報を登録するとともに、デコーダからの指示によっても制御情報領域テーブルに無効領域と制御情報を登録し既に登録された情報との整合をとる制御情報領域登録装置と、読み出し位置制御装置からの情報通知により制御情報領域テーブルに登録された制御情報を読み出し次フレームの復号に用いるデコーダの制御情報を書き換えるデコーダ制御情報書き換え装置とを備え、複数のリードポインタをそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、制御情報領域登録装置により制御情報が格納された領域を無効領域として制御情報と共に制御情報領域テーブルに登録し、読み出し位置制御装置からデコーダ制御情報書き換え装置に情報通知があった場合に無効領域に対応するフレームの切れ目でデコーダ制御情報書き換え装置によりデコーダの制御情報を書き換えるように制御したことを特徴とする。
【００１５】
第４の発明によれば、制御情報領域登録装置により制御情報が格納された領域を無効領域として制御情報と共に制御情報領域テーブルに登録し、読み出し位置制御装置からデコーダ制御情報書き換え装置に情報通知があった場合に無効領域に対応するフレームの切れ目でデコーダ制御情報書き換え装置によりデコーダの制御情報を書き換えるように制御したので、各フレームへの制御情報の付加や入力されるストリームが格納されるパケットの再構成なしに復号可能となる。すなわち、フレーム等のデコード単位毎に制御情報を持たず、デコード単位とは非同期に制御情報を持ったビットストリームの復号の場合でも、制御情報が格納された領域を無効領域として登録する制御情報領域テーブルに制御情報も登録できるようにしておき、無効領域情報が読みだされる際に次回デコード時に使用する制御情報を書き換える制御を持つことで、制御情報とデコード対象のデータとの整合が保証できるようにすることができる。このため、各フレームへの制御情報の付加や、複数のフレームをまとめて復号する場合のデコード単位の再構成をすることなく復号が可能となる。
【００１６】
第５の発明のビットストリーム再生装置は、複数の符号化データと複数の符号化データを復号するための制御情報とを有する複数のビットストリームから複数の符号化データを処理することができるビットストリーム再生装置であって、ビットストリームを受信し記憶するメモリバッファと、メモリバッファからデータを読み出すための複数のリードポインタと、リードポインタの各々に対しデータを読み飛ばす領域を第１の無効領域とし、第１の無効領域の情報を登録する無効領域テーブルと、メモリバッファに記憶されたビットストリームの領域情報を登録する領域情報テーブルと、領域情報テーブルから領域情報を読み出してリードポインタの各々に対して自動的に読み飛ばすビットストリームの領域を判断し第２の無効領域として出力する制御を行う読み出し領域制御装置と、リードポインタが無効領域テーブルから情報を読み出して得た第１の無効領域または読み出し領域制御装置から通知された第２の無効領域に差し掛かったことを自動的に判断し、第１または第２の無効領域を読み飛ばすように読み出し位置を制御する読み出し位置制御装置と、複数のリードポインタをそれぞれ用いてメモリバッファからビットストリームを読み出し復号する複数のデコーダと、ビットストリームを解析しその結果に基づいて無効領域テーブルおよび領域情報テーブルに第１の無効領域および領域情報をそれぞれ登録するとともにデコーダからの指示によっても無効領域テーブルおよび領域情報テーブルに第１の無効領域および領域情報をそれぞれ登録し既に登録された情報との整合をとる領域情報登録装置とを備え、メモリバッファに複数のビットストリームが混合して記憶された場合にリードポインタの各々が読み出し領域制御装置を用いて所望の一種類のビットストリームのみを連続領域として読み出せるように制御を行うことで、各デコーダごとに復号に必要なデータのみを取得でき同時に複数のビットストリームを復号できることを特徴とする。
【００１７】
第５の発明によれば、メモリバッファに複数のビットストリームが混合して記憶された場合にリードポインタの各々が読み出し領域制御装置を用いて所望の一種類のビットストリームのみを連続領域として読み出せるように制御を行うことで、各デコーダごとに復号に必要なデータのみを取得でき同時に複数のビットストリームを復号できるので、多重化されたデータを多重分離装置を用いて分離する処理、分離した各動画像やオーディオデータ等を其々の専用の入力バッファ装置にコピーする処理を省いたより省電力なビットストリーム再生システムが構築できる。すなわち、動画像やオーディオ等の複数の種類の符号化データが多重化されているビットストリームの復号の場合でも、メモリバッファに記憶されたデータの種別情報や開始位置を登録する領域情報テーブルを設け、複数の各リードポインタの次の読み出し位置がデコーダから通知された読み出したい符号化データ（ビットストリーム）の種別情報と異なる符号化データの開始位置であることを検知した場合、前記領域情報テーブル内の情報を確認し読み出したい符号化データの次の領域までスキップさせる制御を持つことで、各種符号化データ用の複数の入力バッファ装置を用意し、多重化されているビットストリームの多重分離処理を行い、各入力バッファ装置にデータコピーを行うことなく復号が可能となる。
【００１８】
第６の発明のビットストリーム再生装置は、第１，２，３，４または５の発明のビットストリーム再生装置において、記録媒体からビットストリームを再生してメモリバッファに書き込み、メモリバッファから読み出して復号する。
【００１９】
第７の発明のビットストリーム再生装置は、第１，２，３，４または５の発明のビットストリーム再生装置において、有線又は無線伝送路を介して送信されてくるビットストリームを受信するストリーム受信装置を持つ。
【００２０】
第６，７の発明によれば、記録媒体、有線又は無線伝送路からビットストリームを読み出して再生することができ、上記のように省メモリかつ省電力なビットストリーム再生システムが構築できる。
【００２１】
第８の発明のビットストリーム再生装置は、第６または７の発明のビットストリーム再生装置において、ビットストリームは音楽情報が符号化されたストリームである。
【００２２】
第９の発明のビットストリーム再生装置は、第６または７の発明のビットストリーム再生装置において、ビットストリームは可変ビットレートで符号化された動画像符号化ストリームである。
【００２３】
第８，９の発明によれば、音楽情報、動画像の符号化ストリームを再生することができる。
【００２４】
第１０の発明のビットストリーム再生装置は、第６または７の発明のビットストリーム再生装置において、ビットストリームはＭＰＥＧ規格に従って符号化された動画像符号化ストリームであり、制御情報は符号化ストリーム内に多重化されている。
【発明の効果】
【００２５】
本発明のビットストリーム再生装置は、様々な符号化方式で符号化されたストリームに対し共通の入力バッファ管理方式を提供することで、余計なメモリ領域の確保やコピー処理を削減し、システム全体の低電力化および低コスト化が可能である。
【発明を実施するための最良の形態】
【００２６】
（実施の形態１）
本発明の実施の形態１におけるビットストリーム再生装置について、特にその入力バッファ管理方法としてリードポインタの制御方法を図１を参照しながら説明する。
【００２７】
図１は、本発明の実施の形態１におけるビットストリーム復号装置を示すブロック図である。
【００２８】
図1において、１１はビットストリーム入力バッファ装置であり、１００はビットストリーム入力バッファ装置１１が持つリング形式のメモリバッファである。メモリバッファ１００はビットストリームを受信し記憶する。１０１および１０２はメモリバッファ１００からデータを読み出すリードポインタであり、２つ以上のリードポインタを設定でき、１０３はメモリバッファ１００へデータを書き込むライトポインタである。１０４はリードポインタ（１０１，１０２）の読み出し位置を制御する読み出し位置制御装置であり、１０５はそれぞれのリードポインタ（１０１，１０２）について読み出しを禁止する無効領域を登録する無効領域テーブルである。無効領域テーブル１０５はリードポインタの各々に対しデータを読み飛ばす無効領域１０８を登録する。読み出し位置制御装置１０４は無効領域テーブル１０５に登録された情報に基づいてリードポインタ１０１またはリードポインタ１０２の読み出し位置を制御する。この際、リードポインタが無効領域に差し掛かったことを自動的に判断し無効領域１０８を読み飛ばすように読み出し位置を制御する。１０６はビットストリームを復号するデコーダであり、デコーダ１０６はリードポインタ１０１または１０２を用いてメモリバッファ１００からデータを読み出し復号する。１０７はビットストリームを解析しその解析結果またはデコーダ１０６からの指示に従ってリードポインタ１０１または１０２に対する無効領域を無効領域テーブル１０５に登録する無効領域情報登録装置である。無効領域情報登録装置１０７は無効領域テーブル１０５に登録する無効領域１０８と既に登録された情報との整合をとる。
【００２９】
上記の構成において、符号化データと符号化データを復号するための制御情報とを有するビットストリームから符号化データを処理する際、複数のリードポインタ（１０１，１０２）をそれぞれ制御情報取得用と符号化データ復号用に割り当てておき、無効領域情報登録装置１０７により制御情報が格納された領域を無効領域１０８として無効領域テーブル１０５に登録することで、制御情報の前または前後に位置することにより不連続に格納された符号化データを擬似的に連続領域に格納されているものとして扱えるように制御している。
【００３０】
本実施形態において入力され得る制御情報の前または前後にも符号化データが配置されたストリームは図１１に示したとおりである。図１におけるデコーダ１０６により、符号化データＡを制御情報Ａに基づいて復号され、符号化データＢ−１およびＢ−２は制御情報Ｂに、符号化データＣは制御情報Ｃに基づいて復号される。
【００３１】
メモリバッファ１００に同期語Ａからストリームが格納されており、デコーダ１０６はリードポインタ１０１を同期語と制御情報を取得するために使用し、リードポインタ１０２は符号化データを取得するために使用するものとし、どちらのリードポインタも同期語Ａの先頭に位置する状態とする。
【００３２】
デコーダ１０６で符号化データＡを復号するにあたって、まずリードポインタ１０１を用いて同期語Ａから制御情報Ａを取得するが、メモリバッファ１００はFIFO構造ではないため、リードポインタ１０１を用いて取得した同期語Ａおよび制御情報Ａもメモリバッファ１００には存在し、リードポインタ１０２で取得可能な状態で保持される。そのため、リードポインタ１０１でストリームを取得する際に、無効領域テーブル１０５に同期語Ａが格納されている先頭アドレスと制御情報Ａが格納されている終端までのサイズまたは終端アドレスのどちらか一方もしくは両方をリードポインタ１０２に対する無効領域として登録しておく。これにより、リードポインタ１０２を用いてデータを取得しようとした際に、読み出し位置制御装置１０４が無効領域テーブル１０５に登録された情報を読み出し、リードポインタ１０２を符号化データＡの先頭に移動させることで、リードポインタ１０２は符号化データＡを読み出すことができる。無効領域テーブル１０５への無効領域の登録は、デコーダ１０６で復号を開始する前に無効領域情報登録装置１０７を用いてビットストリームを解析し登録しておいてもよい。
【００３３】
同様にして、符号化データＢを復号する際にもリードポインタ１０１を用いて同期語Ｂと制御情報Ｂを取得する際に、同期語Ｂが格納されている先頭アドレスと制御情報Ｂが格納されている終端までのサイズまたは終端アドレスのどちらか一方もしくは両方をリードポインタ１０２に対する無効領域として登録しておく。符号化データＢは制御情報Ｂの前後に符号化データＢ−１および符号化データＢ−２として格納されているが、リードポインタ１０２が符号化データＢ−１を取得しきった時点で読み出し位置制御装置１０４が無効領域テーブル１０５よりデータを読み出しリードポインタ１０２を符号化データＢ−２の先頭に移動させる。このため、デコーダ１０６は不連続に格納された符号化データＢをリードポインタ１０２を用いて連続領域に配置されているデータと同様に取得できる。
（実施の形態２）
本発明の実施の形態２を図２および図３に基づいて説明する。
【００３４】
図２は本発明の実施の形態２におけるビットストリーム復号装置を示すブロック図であり、図１と同一の符号は同一または相当部分を示している。また、図３は本発明の実施の形態２における動作を示すフローである。
【００３５】
図２において、２１はビットストリーム入力バッファ装置であり、２００はリードポインタ１０１または１０２からライトポインタ１０３までに格納されている有効データサイズを検出するデータ量検出装置であり、２０１はデコーダ１０６が算出したフレーム長に基づいて当該フレームの次フレームの同期語が所定の位置に存在するかどうかを検出する次フレーム検出装置である。有効データサイズとは、リードポインタ１０１または１０２からライトポインタ１０３までに実際に格納されているデータサイズから無効領域として登録されているデータサイズを減算したサイズである。
【００３６】
ビットストリームは、固有の同期語を含むヘッダと符号化データとからなり、フレーム等の一定のデコード単位で復号できる構成とする。データ量検出装置２００は、ヘッダを解析し復号に必要なフレーム長を算出するために必要なデータ量を第１の閾値とし、メモリバッファ１００内に第１の閾値以上のデータが存在するかどうかを判定する手段と、各フレームにおいてヘッダから算出したフレーム長を第２の閾値とし、メモリバッファ１００内に第２の閾値以上のデータが存在することを判定する手段とを備えている。
【００３７】
データ量検出装置２００で第１の閾値以上のデータを検出すると、デコーダ１０６に対しヘッダ解析許可を与え、第２の閾値以上のデータ量を検出すると共に、当該フレームが最終フレームでない場合に次フレーム検出装置２０１で所定の位置に次フレームの同期語が存在することが検出できた場合にデコーダ１０６に対しデコード許可を与え、当該フレームが最終フレームの場合に第２の閾値以上のデータ量を検出するとデコーダ１０６に対しデコード許可を与える制御をもつようにしている。
【００３８】
すなわち、図３に示すように、データ量検出装置２００は各規格で定められたフレーム長を算出するために必要なデータサイズを第１の閾値とするデータ量以上のデータがメモリバッファ１００に存在すればデコーダ１０６に対し制御情報の解析許可を与えフレーム長を算出させる（ステップ３００，３０１，３０２，３０３）。また、データ量検出装置２００はデコーダ１０６が算出したフレーム長を第２の閾値とし、メモリバッファ１００に第２の閾値以上のデータ量が存在すれば次フレーム検出装置２０１に対し次フレームの同期語検出指示を出し、次フレーム検出装置２０１は所定の位置に次フレームの同期語が存在すれば復号対象としているフレームは正しいフレームとして同期確立させ、デコーダ１０６に対し復号許可を与えるように制御する（ステップ３０４，３０５，３０６）ことで誤った同期語を元に復号した場合のノイズ発生や、復号途中でのアンダーフローによるノイズ発生を防止できる。
（実施の形態３）
本発明の実施の形態３を図４および図５に基づいて説明する。
【００３９】
図４は本発明の実施の形態３におけるビットストリーム復号装置を示すブロック図であり、図１と同一の符号は同一または相当部分を示している。また、図５は本発明の実施の形態３における２つのリードポインタ間の有効データ量の推移を示す図である。
【００４０】
図４において、４１はビットストリーム入力バッファ装置であり、４００はリードポインタ１０１と１０２の間に格納されているデータに関してリードポインタ間有効データサイズを検出する有効データ量検出装置であり、４０１はリードポインタ間有効データサイズが予め定められた閾値を超えているかどうかを判定する有効データ量判定装置であり、４０２は有効データ量判定装置４０１でリードポインタ間有効データ量が閾値を超えていると判定された場合に、先行しているリードポインタを基準としてリードポインタ間有効データ量が閾値以下となるように他方のリードポインタを進める制御を行なうリードポインタ位置制御装置である。
【００４１】
リードポインタ間有効データサイズとは、リードポインタ１０１と１０２の間に実際に格納されているデータサイズから無効領域として登録されているデータサイズを減算したサイズである。また、閾値は規格で定められている符号化データの最大サイズ以上とし、図１１のようなストリームの場合は符号化データが当該フレームより前のフレームに格納され得るサイズの最大サイズ以上とする。
【００４２】
上記の構成において、リードポインタ位置制御装置４０２が復号時のエラーやデータスキップにより複数のリードポインタのうち特定のリードポインタのみ進み他のリードポインタが進まない場合に各リードポインタ間のデータ量が閾値以下になるように制御すると共に各リードポインタ間に一定のデータ量を確保することで復号が再開できる。
【００４３】
すなわち、図４においては１０１が先行リードポインタであり、リードポインタ１０１を基準としたリードポインタ１０２までの有効データサイズが閾値を超えていた場合に、リードポインタ１０１と１０２間の有効データサイズが閾値以下となるようにリードポインタ１０２を進めることで、図５に示すようにリードポインタ１０２が進まないことでメモリバッファ１００がオーバーフローすることを防止できる。また、リードポインタ１０１と１０２間に復号に必要となるデータを一定量確保することで、図１１に示すようなデータの場合でも制御情報の前に格納されたデータを保証できるため、復号再開の指示と共に素早く復号再開可能となる。
（実施の形態４）
本発明の実施の形態４を図６および図７に基づいて説明する。
【００４４】
図６は本発明の実施の形態４におけるビットストリーム復号装置を示すブロック図であり、図１と同一の符号は同一または相当部分を示している。また、図７は本発明の実施の形態４における入力ストリームの例を示した図である。
【００４５】
図６において、６１はビットストリーム入力バッファ装置であり、６００はフレーム毎に制御情報を持たないストリームで多重化ストリームのパケットのようにフレームとは非同期なタイミングで読み出される場合に、各リードポインタに対し多重化ストリームの制御情報領域と共に制御情報自体もテーブルに登録できるようにした制御情報領域テーブルである。すなわち、制御情報領域テーブル６００は、リードポインタの各々に対しデータを読み飛ばす無効領域１０８と共に制御情報を登録する。６０１は制御情報領域テーブル６００から登録された領域をリードポインタが通過したことを通知されると共に、次フレームの復号に用いるデコーダ内の制御情報を更新するデコーダ制御情報書き換え装置である。すなわち、デコーダ制御情報書き換え装置６０１は、読み出し位置制御装置１０４からの情報通知により制御情報領域テーブル６００に登録された制御情報を読み出しデコーダの制御情報を書き換える。６０２はビットストリームを解析しその解析結果またはデコーダ１０６からの指示に従ってリードポインタ１０１または１０２に対する無効領域およびデコーダ１０６の動作を制御する情報を制御情報領域テーブル６００に登録する制御情報領域登録装置である。制御情報領域登録装置６０２は、制御情報領域テーブル６００に登録された無効領域と既に登録された情報との整合をとる。
【００４６】
上記の構成において、読み出し位置制御装置１０４からデコーダ制御情報書き換え装置６０１に情報通知があった場合に無効領域に対応するフレームの切れ目でデコーダ制御情報書き換え装置６０１によりデコーダ１０６の制御情報を書き換える制御手段をもつ。
【００４７】
図７において入力されるストリームは、一定サイズでパケット化された状態で格納されており、パケットのサイズは必ずしもフレームと同期していない。フレーム４−１および４−２は１つのフレームデータが２つのパケットに跨って格納されている状態である。図７のようなストリームにおいて、各フレーム先頭が含まれるパケットの制御情報領域に記述された制御情報に基づいて復号される場合、フレーム４−１および４−２は制御情報Ａに基づいて復号される必要があるため、従来、制御情報を各フレームに付加するかフレーム４−１および４−２が複数のパケットに跨らないようにパケットを再構成する必要があるが、図６における制御情報領域登録装置６０２により解析を行い制御情報領域テーブル６００に制御情報領域と制御情報を登録しておき、リードポインタが制御情報Ｂの領域を通過すると共にデコーダ制御情報書き換え装置６０１を用いてデコーダ内部の次のフレームを復号するための制御情報を制御情報Ｂに更新することで、フレーム４の復号時には制御情報Ａに基づいて復号し、フレーム５の復号時には制御情報Ｂに基づいて復号できるため、各フレームへの制御情報の付加やパケットの再構成なしに復号可能となる。
（実施の形態５）
本発明の実施の形態５を図８に基づいて説明する。
【００４８】
図８は本発明の実施の形態５におけるビットストリーム再生システムの構成例を示すブロック図である。
【００４９】
すなわち、実施の形態１〜４において、記録媒体、有線又は無線伝送路から送信されてくる符号化ビットストリームを再生してメモリバッファに書き込み、メモリバッファから読み出して復号する。
【００５０】
図８において、８００は放送等の電波を受信するためのアンテナであり、８０３はアンテナ８００で受信した電波から動画像と音声が多重化されたストリームを取り出し多重分離装置８０４へ渡すための放送受信装置である。８０１は音楽情報や動画像が記録可能な記録媒体であり、８０２は記録媒体８０１からストリームを読み出し多重分離装置８０４へ渡すデータ読み出し装置である。ストリームは音楽情報が符号化されたストリームや、可変ビットレートで符号化された動画像符号化ストリームである。動画像符号化ストリームはＭＰＥＧ規格に従って符号化され、制御情報はストリーム内に多重化されている。
【００５１】
この場合、多重分離装置８０４はデータ読み出し装置８０２および放送受信装置８０３から送られてくるストリームを解析し動画像データと音声・オーディオデータに分離する。多重分離装置８０４へ渡されるストリームは動画像と音声・オーディオが１つのストリームとして多重化されている場合だけでなく、音声・オーディオのみの場合もある。多重分離装置８０４において解析され分離されたストリームにおいて、動画像データの部分はVideoストリーム入力バッファ装置８０５に一旦格納され、Videoデコーダ８０７によって復号され、表示装置８０９によって視覚的に表示される。また、多重分離装置８０４において解析され分離されたストリームにおいて、音声・オーディオデータの部分はAudioストリーム入力バッファ装置８０６に一旦格納され、Audioデコーダ８０８によって復号され、スピーカー装置８１１によって出力される。Videoストリーム入力バッファ装置８０５およびAudioストリーム入力バッファ装置８０６はそれぞれ上記した１１，２１，４１，６１のうちいずれか１つのビットストリーム入力バッファ装置を備えている。８１０は多重化ストリームに格納された情報に基づき、動画像と音声・オーディオデータの復号タイミングの同期合わせを行なう同期制御装置である。このように構成することで、どのような形式のビットストリームが入力されても、不要な退避メモリ領域の確保や退避のためのコピー処理がなく、省メモリかつ省電力なビットストリーム再生システムが構築できる。
（実施の形態６）
本発明の実施の形態６を図９および図１０に基づいて説明する。
【００５２】
図９は本発明の実施の形態６におけるビットストリーム復号装置を示すブロック図であり、図１と同一の符号は同一または相当部分を示している。
【００５３】
図９において、７１はビットストリーム入力バッファ装置であり、７０１はメモリバッファ１００に記憶されているデータの領域情報を登録する領域情報テーブルであり、７０２は領域情報テーブル７０１に登録されている情報に基づいて複数のリードポインタ（１０１,１０２）の位置を制御する読み出し領域制御装置である。この際、リードポインタの各々に対して自動的に読み飛ばす無効領域１０８を判断し無効領域を読み飛ばすように読み出し位置を制御する。複数のリードポインタは２つ(１０１，１０２)しか示していないが、必要に応じて追加してもよい。７０６はビットストリームを解析しその解析結果およびデコーダ１０６または７０３からの指示に従って無効領域テーブル１０５または領域情報テーブル７０１に領域情報の登録を行う領域情報登録装置である。領域情報登録装置７０６は、無効領域テーブル１０５および領域情報テーブル７０１に登録された無効領域および領域情報を既に登録された情報との整合をとる。領域情報テーブル７０１への情報登録はデコーダ１０６または７０３で復号を開始する前に領域情報登録装置７０６によってビットストリームを解析しその解析結果にしたがって登録される。デコーダ７０３はデコーダ１０６と異なるビットストリームの復号を行うデコーダであり、デコーダ１０６と同様に複数のリードポインタを用いてメモリバッファ１００からデータを読み出し復号するだけでなく、複数のリードポインタに対する無効領域を領域情報登録装置７０６に登録指示を行い、無効領域テーブル１０５に登録することもできる。７０４はメモリバッファ１００に記憶されているビットストリームＡの領域状態を表し、７０５は７０４と同様にビットストリームＢの領域状態を表したものである。
【００５４】
上記の構成において、メモリバッファ１００に複数のビットストリームが混合して記憶された場合に複数のリードポインタの各々が読み出し領域制御装置７０２を用いて所望の一種類のビットストリームのみを擬似的に連続領域として読み出せるように制御を行うことで、各デコーダごとに復号に必要なデータのみを取得でき同時に複数のビットストリームを復号できる。
【００５５】
この場合、メモリバッファ１００にビットストリームを送信する際に各種ビットストリームの書き込み開始位置とビットストリームの種別を識別するための種別情報を領域情報登録装置７０６で解析を行い領域情報テーブル７０１に登録しておく。また、各種デコーダはどのビットストリームを取得するかという種別情報を読み出し領域制御装置７０２に通知しておく。ビットストリームＡ７０４を復号するにあたって、デコーダ１０６はリードポインタ１０１を用いてビットストリームＡ７０４の取得を行えるよう読み出し領域制御装置７０２に通知を行う。読み出し領域制御装置７０２は領域情報テーブル７０１の情報の確認を行い、リードポインタ１０１の次の読み出し位置がデコーダ１０６から通知された種別情報（ビットストリームＡ７０４）と異なるビットストリームＢ７０５の開始位置であることを検知した場合、次のビットストリームＡ７０４の書き込み開始位置を領域情報テーブル７０１から検索し、リードポインタ１０１の読み出し位置を制御している読み出し位置制御装置１０４に前記書き込み開始位置までスキップさせるよう情報を通知する制御を行うことにより、デコーダ１０６はリードポインタ１０１を用いてメモリバッファ１００に不連続で記憶されているビットストリームＡ７０４を連続領域であるかのように取得でき、復号を行うことができる。
【００５６】
同様にして、ビットストリームＢ７０５を復号する場合にあたっても、デコーダ７０３がリードポインタ１０２を用いてビットストリームＢ７０５の取得を行えるよう読み出し領域制御装置７０２に種別情報の通知を行っておけば、読み出し領域制御装置７０２の制御により、メモリバッファ１００内のビットストリームＢ７０５を連続領域として読み出し、復号を行うことができる。
【００５７】
図９の構成では、デコーダ１０６に対してリードポインタ１０１、デコーダ７０３に対してリードポインタ１０２を割り当て２種類のビットストリームの復号を示しているが、新たなデコーダとその新たなデコーダに割り当てるリードポインタを追加すれば、３種類以上のビットストリーム復号に対応できる。また、複数のデコーダの各々に割り当てるリードポインタを追加し、それぞれ制御情報取得用と符号化データ復号用に割り当てておけば、実施の形態１において示されている制御を同時に複数のデコーダで実現することができる。
【００５８】
図１０は本発明の実施の形態６におけるビットストリーム再生システムの構成例を示すブロック図であり、図８と同一の符号は同一または相当部分を示している。
【００５９】
図１２において、１２００はデータ読み出し装置８０２または放送受信装置８０３から送られてくる動画像、オーディオデータが多重化されたストリームを格納する上記のVideo/Audio入力バッファ装置７１である。前記入力バッファ装置１２００に多重化されたストリームを記憶させる際に動画像やオーディオデータ其々の開始位置等の情報を登録しておけば、前記入力バッファ装置１２００に記憶されている多重化されたデータから、動画像データはVideoデコーダ８０７に、オーディオデータはAudioデコーダ８０８に直接供給し、復号を行うことができる。このような構成にすることにより、多重化されたデータを多重分離装置を用いて分離する処理、分離した各動画像やオーディオデータを其々の専用の入力バッファ装置にコピーする処理を省いたより省電力なビットストリーム再生システムが構築できる。
【産業上の利用可能性】
【００６０】
本発明に係るビットストリーム再生装置は、音声や画像の圧縮データ、例えばＩＳＯ（International Organaization for Standardization）で標準化されたＭＰＥＧ（Moving Picture Experts Group）-1/2等のデータストリームを再生するための大規模集積回路内のハードウエアやマイクロコンピュータ等によるソフトウエア等として有効である。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態１のビットストリーム再生装置のブロック図。
【図２】本発明の実施の形態２のビットストリーム再生装置のブロック図。
【図３】本発明の実施の形態２の動作を説明するフローチャート。
【図４】本発明の実施の形態３のビットストリーム再生装置のブロック図。
【図５】本発明の実施の形態３のリードポインタ間のデータ量の推移を示すグラフ。
【図６】本発明の実施の形態４のビットストリーム再生装置のブロック図。
【図７】各フレームに制御情報を持たないストリームの例を示す図。
【図８】本発明の実施の形態５の動画像再生システムのブロック図。
【図９】本発明の実施の形態６のビットストリーム再生装置のブロック図。
【図１０】本発明の実施の形態６の動画像再生システムのブロック図。
【図１１】制御情報とデータが非同期となるストリームの例を示す図。
【図１２】従来のビットストリーム再生装置のブロック図。
【符号の説明】
【００６２】
１１，２１，４１，６１，７１  ビットストリーム入力バッファ装置
１００  メモリバッファ
１０１，１０２  リードポインタ
１０３  ライトポインタ
１０４  読み出し位置制御装置
１０５  無効領域テーブル
１０６  デコーダ
１０７  無効領域情報登録装置
２００  データ量検出装置
２０１  次フレーム検出装置
４００  有効データ量検出装置
４０１  有効データ量判定装置
４０２  リードポインタ位置制御装置
６００  制御情報領域テーブル
６０１  デコーダ制御情報書き換え装置
６０２  制御情報領域登録装置
７０１  領域情報テーブル
７０２  読み出し領域制御装置
７０６  領域情報登録装置
８０５  Videoストリーム入力バッファ装置
８０６  Audioストリーム入力バッファ装置
１０００  FIFOバッファ
１００１  データ退避用バッファ
１２００  Video/Audioストリーム入力バッファ装置
【図１】
2008135133.tif 000003
【図２】
2008135133.tif 000004
【図３】
2008135133.tif 000005
【図４】
2008135133.tif 000006
【図５】
2008135133.tif 000007
【図６】
2008135133.tif 000008
【図７】
2008135133.tif 000009
【図８】
2008135133.tif 000010
【図９】
2008135133.tif 000011
【図１０】
2008135133.tif 000012
【図１１】
2008135133.tif 000013
【図１２】
2008135133.tif 000014