(57)【要約】デコーダ制御装置（１００）内に時間管理部（１０２）とビットストリームの切り替え制御部（１０３）とを備え、デコーダ（１１０）は所定単位の復号処理終了時に切り替え制御部（１０３）に復号処理の終了を通知する。時間管理部（１０２）は、デコーダ性能と、復号処理するビットストリーム数情報と、ビットストリームから抜き出した画像サイズ情報やフレームレートから、規定時間内でそれぞれのビットストリームを復号処理できる限界時間を設定し、限界時間に達した場合はビットストリームの切り替えを切り替え制御部（１０３）に通知する。切り替え制御部（１０３）は、時間管理部（１０２）からの切り替え通知と、デコーダ（１１０）からの所定単位の復号処理の終了通知とを受けてビットストリームを切り替える。【特許請求の範囲】
【請求項１】
複数のビットストリームをそれぞれ蓄積する蓄積装置と、前記蓄積装置からの出力を切り替える第１の切り替え装置と、前記第１の切り替え装置からの出力を入力として復号を行うデコーダと、前記デコーダで復号したデータをそれぞれ蓄積する複数のフレームメモリと、それぞれのビットストリームに応じて前記フレームメモリを切り替える第２の切り替え装置と、前記デコーダを制御するデコーダ制御手段とを備えたマルチストリーム復号装置であって、
前記デコーダ制御手段は、
ビットストリーム中のヘッダを解析するヘッダ解析手段と、
ビットストリームごとに処理時間を割り当てる時間管理手段と、
前記第１及び第２の切り替え装置を制御する切り替え制御手段とを備え、
前記時間管理手段は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、復号するビットストリーム数を含む情報とに応じて、規定時間内でそれぞれのビットストリームの復号処理にかけられる限界時間を決定し、かつ復号処理が前記限界時間に達した場合にビットストリーム切り替え通知信号を出力し、
前記切り替え制御手段は、前記時間管理手段が出力したビットストリーム切り替え通知信号と、前記デコーダがそれぞれのビットストリームの第１の所定単位の復号処理を終了した時点で出力する終了通知信号とを用いて、前記第１及び第２の切り替え装置を切り替えることを特徴とするマルチストリーム復号装置。
【請求項２】
請求項１記載のマルチストリーム復号装置において、
前記時間管理手段は、前記規定時間ごとにそれぞれのビットストリームの復号処理にかけられる時間の前記限界時間を設定し直すことを特徴とするマルチストリーム復号装置。
【請求項３】
請求項１記載のマルチストリーム復号装置において、
前記時間管理手段はビットストリームの復号処理時間が前記限界時間に達した時点で前記デコーダに対して復号処理の中断を通知し、前記デコーダは中断通知を受けて直ちに復号処理を中断することを特徴とするマルチストリーム復号装置。
【請求項４】
請求項３記載のマルチストリーム復号装置において、
前記デコーダ制御手段は、復号の中断が発生した時点で中断した復号処理の再開に必要な前記デコーダ内部の情報を退避し、中断したビットストリームの復号処理が次に開始される前に、退避した情報を前記デコーダに再設定することにより、復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項５】
請求項４記載のマルチストリーム復号装置において、
前記規定時間内で複数のビットストリームの復号処理が中断され、かつ、中断されたビットストリーム以外のビットストリームの第１の所定単位の復号処理が早く終了し、前記規定時間内の処理時間が余った場合に、中断されたそれぞれのビットストリームが第１の所定単位の復号処理が完了するまでの予測時間に応じて、それぞれのビットストリームの復号処理にかけられる限界時間を再設定することを特徴とするマルチストリーム復号装置。
【請求項６】
請求項４記載のマルチストリーム復号装置において、
前記デコーダ内に第２の所定単位の先頭からの処理ビット量をカウントする第１のカウンタを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、
前記巻き戻し制御手段は、前記時間管理手段が復号処理を中断したビットストリームに対して、前記デコーダ制御手段が復号処理を再開する際に、前記第１のカウンタの情報を用いて、前記第２の所定単位の先頭まで前記蓄積装置のポインタを巻き戻し、前記第２の所定単位の先頭から復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項７】
請求項４記載のマルチストリーム復号装置において、
前記複数のフレームメモリからの出力を入力とし、画像を出力する出力制御装置を更に備え、かつ前記デコーダ制御手段内に前記複数のフレームメモリのデータ量を管理するバッファ管理手段を備え、
前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記デコーダに復号処理の中断を通知し、前記デコーダは前記中断通知を受けて直ちに復号処理を中断することを特徴とするマルチストリーム復号装置。
【請求項８】
請求項７記載のマルチストリーム復号装置において、
前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記出力制御装置に対して出力画像の切り替えを通知し、前記出力制御装置は前記切り替え通知を受けて直ちに出力画像の切り替えを行うことを特徴とするマルチストリーム復号装置。
【請求項９】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ内に前記第１の切り替え装置からの出力を一時的に保持する入力バッファと、前記入力バッファ内の未処理ビット量を観測する第２のカウンタとを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、
前記デコーダ制御手段は、前記切り替え制御手段が前記第１の切り替え装置を切り替える際に、前記第２のカウンタの情報を退避し、
切り替える前のビットストリームの復号処理を再開する際に、前記巻き戻し制御手段は、前記第２のカウンタの情報を用いて、前記デコーダが実際に消費した部分まで前記蓄積装置のポインタを巻き戻し、復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項１０】
請求項９記載のマルチストリーム復号装置において、
前記蓄積装置のポインタ情報を利用して前記蓄積装置内のビットストリームの書き潰しを防ぐための手段を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１１】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ制御手段は、前記規定時間終了の直前まで前記デコーダで復号処理していたビットストリームの種類を前記規定時間ごとに判定し、次の規定時間でのビットストリームのデコード順を決定することを特徴とするマルチストリーム復号装置。
【請求項１２】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ内に、前記複数のフレームメモリへのアクセス頻度を制御するメモリアクセス制御装置を備え、
前記メモリアクセス制御装置は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダ制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記複数のフレームメモリのアクセス頻度を制御することを特徴とするマルチストリーム復号装置。
【請求項１３】
請求項１記載のマルチストリーム復号装置において、
前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、前記デコード制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記デコーダに供給するクロックの周波数を決定するクロック制御装置を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１４】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ制御手段から通知される前記規定時間の情報と、前記デコーダから通知される第１の所定単位の復号終了通知とを用いて、前記デコーダに対するクロック供給と停止を切り替えるクロック制御装置を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１５】
請求項１記載のマルチストリーム復号装置において、
前記第１の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とするマルチストリーム復号装置。
【請求項１６】
請求項１記載のマルチストリーム復号装置において、
前記規定時間をビットストリーム中のフレームレートから平均的に割り当てたピクチャ時間、又はスライス時間、又はマクロブロックライン時間、又はマクロブロック時間とするマルチストリーム復号装置。
【請求項１７】
請求項６記載のマルチストリーム復号装置において、
前記第２の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とするマルチストリーム復号装置。
【請求項１８】
請求項１記載のマルチストリーム復号装置において、
ビットストリームをＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２６４のいずれかで圧縮されたビットストリームとするマルチストリーム復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、符号化された複数のビットストリームの復号処理を支援するマルチストリーム復号装置に関するものである。
【背景技術】
【０００２】  図１８は、従来のマルチストリーム復号装置の構成を示している。ここでは、ＭＰＥＧ２Ｖｉｄｅｏを例にする。【０００３】  図１８のマルチストリーム復号装置は、複数のビットストリームを蓄積する蓄積装置である第１及び第２のストリームバッファ（ＳＢ）１０２１，１０２２と、これらのストリームバッファ１０２１，１０２２からの出力を切り替える第１の切り替え装置（ＳＷ）１０２０と、デコーダ１０１０と、復号データを蓄積するための第１及び第２のフレームメモリ（ＦＭ）１０３１，１０３２と、これらのフレームメモリ１０３１，１０３２を入力ビットストリームに応じて切り替える第２の切り替え装置（ＳＷ）１０３０と、デコーダ制御装置１０００とから構成される。デコーダ制御装置１０００は切り替え制御部１００１を含み、デコーダ１０１０は可変長復号部１０１１、逆量子化部１０１２、逆ＤＣＴ部１０１３、動き補償部１０１４から構成される。【０００４】  デコーダ制御装置１０００内の切り替え制御部１００１は、ピクチャ単位で、信号線１０５０を通して第１の切り替え装置１０２０を切り替え、信号線１０５１を通して第２の切り替え装置１０３０を切り替える。【０００５】  第１のストリームバッファ１０２１と第２のストリームバッファ１０２２に蓄積されたビットストリームは信号線１０６０と信号線１０６１を通して出力され、第１の切り替え装置１０２０で選択されて、信号線１０６２を通してデコーダ１０１０に入力される。デコーダ１０１０に入力されたビットストリームは可変長復号部１０１１で可変長復号され、逆量子化部１０１２で逆量子化され、逆ＤＣＴ部１０１３で逆ＤＣＴされる。第１のフレームメモリ１０３１からの入出力バス１０７２と、第２のフレームメモリ１０３２からの入出力バス１０７３は第２の切り替え装置１０３０で選択される。動き補償部１０１４は第２の切り替え装置１０３０で選択されたフレームメモリから信号線１０７１を通して取得した参照画像と、逆ＤＣＴ部１０１３の逆ＤＣＴ結果とを加算して、復元画像を作成し、作成された復元画像は信号線１０７０を通して第２の切り替え装置１０３０で選択されたフレームメモリに格納される。【０００６】  このように従来の構成では複数のビットストリームを切り替えながら単一のデコーダ１０１０で復号処理する際に、入力したビットストリームの処理単位（例えば、ピクチャ単位）のみで切り替えながら復号処理を行っていた（特許文献１参照）。
【特許文献１】特開２００２−１１２１９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】  しかしながら、従来の構成では、入力したビットストリームの処理単位のみで復号処理するビットストリームを切り替えているため、例えば一方のビットストリームがアンダーフローを起こして復号処理が遅れた場合、他方のビットストリームの復号処理も遅れてしまい、特に独立した複数のビットストリームを切り換えながら復号処理する場合にはシステムとして破綻してしまうという課題があった。【０００８】  更に、従来の構成では、ビットストリームを切り替える際に、デコーダ内部に残っており、復号処理ができていないビットストリーム量が判らないために、ビットストリームを切り替える際に必要以上にビットストリームを巻き戻す必要があり、切り替え時のオーバーヘッドが増加してしまうという課題があった。【０００９】  更に、従来の構成では、元々複数のビットストリームを復号処理することができるデコーダを備えているために、単一ビットストリームを復号処理する場合でも複数ビットストリームを復号処理する場合と同じだけのピークメモリバンド幅や消費電力を使ってしまうという課題があった。【００１０】  本発明は以上のような課題を解消するためになされたもので、複数のビットストリームをデコードする際のビットストリーム間の影響を抑え、ビットストリーム切り替え時のオーバーヘッドを抑え、更に、ピークメモリバンド幅や消費電力を抑える復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】  本発明の第１のマルチストリーム復号装置では、複数のビットストリームをそれぞれ蓄積する蓄積装置と、前記蓄積装置からの出力を切り替える第１の切り替え装置と、前記第１の切り替え装置からの出力を入力として復号を行うデコーダと、前記デコーダで復号したデータをそれぞれ蓄積する複数のフレームメモリと、それぞれのビットストリームに応じて前記フレームメモリを切り替える第２の切り替え装置と、前記デコーダを制御するデコーダ制御手段とを備えたマルチストリーム復号装置において、前記デコーダ制御手段は、ビットストリーム中のヘッダを解析するヘッダ解析手段と、ビットストリームごとに処理時間を割り当てる時間管理手段と、前記第１及び第２の切り替え装置を制御する切り替え制御手段とを備え、前記時間管理手段は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、復号するビットストリーム数を含む情報とに応じて、規定時間内でそれぞれのビットストリームの復号処理にかけられる限界時間を決定し、かつ復号処理が前記限界時間に達した場合にビットストリーム切り替え通知信号を出力し、前記切り替え制御手段は、前記時間管理手段が出力したビットストリーム切り替え通知信号と、前記デコーダがそれぞれのビットストリームの第１の所定単位の復号処理を終了した時点で出力する終了通知信号とを用いて、前記第１及び第２の切り替え装置を切り替えることとした。【００１２】  本発明の第２のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記時間管理手段は、前記規定時間ごとにそれぞれのビットストリームの復号処理にかけられる時間の前記限界時間を設定し直すこととした。【００１３】  本発明の第３のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記時間管理手段はビットストリームの復号処理時間が前記限界時間に達した時点で前記デコーダに対して復号処理の中断を通知し、前記デコーダは中断通知を受けて直ちに復号処理を中断することとした。【００１４】  本発明の第４のマルチストリーム復号装置では、前記第３のマルチストリーム復号装置において、前記デコーダ制御手段は、復号の中断が発生した時点で中断した復号処理の再開に必要な前記デコーダ内部の情報を退避し、中断したビットストリームの復号処理が次に開始される前に、退避した情報を前記デコーダに再設定することにより、復号処理を再開することとした。【００１５】  本発明の第５のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記規定時間内で複数のビットストリームの復号処理が中断され、かつ、中断されたビットストリーム以外のビットストリームの第１の所定単位の復号処理が早く終了し、前記規定時間内の処理時間が余った場合に、中断されたそれぞれのビットストリームが第１の所定単位の復号処理が完了するまでの予測時間に応じて、それぞれのビットストリームの復号処理にかけられる限界時間を再設定することとした。【００１６】  本発明の第６のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記デコーダ内に第２の所定単位の先頭からの処理ビット量をカウントする第１のカウンタを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、前記巻き戻し制御手段は、前記時間管理手段が復号処理を中断したビットストリームに対して、前記デコーダ制御手段が復号処理を再開する際に、前記第１のカウンタの情報を用いて、前記第２の所定単位の先頭まで前記蓄積装置のポインタを巻き戻し、前記第２の所定単位の先頭から復号処理を再開することとした。【００１７】  本発明の第７のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記複数のフレームメモリからの出力を入力とし、画像を出力する出力制御装置を更に備え、かつ前記デコーダ制御手段内に前記複数のフレームメモリのデータ量を管理するバッファ管理手段を備え、前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記デコーダに復号処理の中断を通知し、前記デコーダは前記中断通知を受けて直ちに復号処理を中断することとした。【００１８】  本発明の第８のマルチストリーム復号装置では、前記第７のマルチストリーム復号装置において、前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記出力制御装置に対して出力画像の切り替えを通知し、前記出力制御装置は前記切り替え通知を受けて直ちに出力画像の切り替えを行うこととした。【００１９】  本発明の第９のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ内に前記第１の切り替え装置からの出力を一時的に保持する入力バッファと、前記入力バッファ内の未処理ビット量を観測する第２のカウンタとを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、前記デコーダ制御手段は、前記切り替え制御手段が前記第１の切り替え装置を切り替える際に、前記第２のカウンタの情報を退避し、切り替える前のビットストリームの復号処理を再開する際に、前記巻き戻し制御手段は、前記第２のカウンタの情報を用いて、前記デコーダが実際に消費した部分まで前記蓄積装置のポインタを巻き戻し、復号処理を再開することとした。【００２０】  本発明の第１０のマルチストリーム復号装置では、前記第９のマルチストリーム復号装置において、前記蓄積装置のポインタ情報を利用して前記蓄積装置内のビットストリームの書き潰しを防ぐための手段を更に備えることとした。【００２１】  本発明の第１１のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ制御手段は、前記規定時間終了の直前まで前記デコーダで復号処理していたビットストリームの種類を前記規定時間ごとに判定し、次の規定時間でのビットストリームのデコード順を決定することとした。【００２２】  本発明の第１２のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ内に、前記複数のフレームメモリへのアクセス頻度を制御するメモリアクセス制御装置を備え、前記メモリアクセス制御装置は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダ制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記複数のフレームメモリのアクセス頻度を制御することとした。【００２３】  本発明の第１３のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、前記デコード制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記デコーダに供給するクロックの周波数を決定するクロック制御装置を更に備えることとした。【００２４】  本発明の第１４のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ制御手段から通知される前記規定時間の情報と、前記デコーダから通知される第１の所定単位の復号終了通知とを用いて、前記デコーダに対するクロック供給と停止を切り替えるクロック制御装置を更に備えることとした。【００２５】  本発明の第１５のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記第１の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とする。【００２６】  本発明の第１６のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記規定時間をビットストリーム中のフレームレートから平均的に割り当てたピクチャ時間、又はスライス時間、又はマクロブロックライン時間、又はマクロブロック時間とする。【００２７】  本発明の第１７のマルチストリーム復号装置では、前記第６のマルチストリーム復号装置において、前記第２の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とする。【００２８】  本発明の第１８のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、ビットストリームをＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２６４のいずれかで圧縮されたビットストリームとする。
【発明の効果】
【００２９】  本発明の第１のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【００３０】  本発明の第２のマルチストリーム復号装置によれば、規定時間ごとにそれぞれのビットストリームごとの復号処理に割り当てられる限界時間を設定できるので、それぞれのビットストリームの復号処理の状況に応じて最適な処理時間を割り当てることができる。【００３１】  本発明の第３のマルチストリーム復号装置によれば、復号処理の限界時間に達した時点で直ちに復号処理の中断ができるので、復号処理を中断したビットストリーム以外のビットストリームの復号処理に影響を与えることがない。【００３２】  本発明の第４のマルチストリーム復号装置によれば、復号処理を中断したビットストリームの復号処理を再開することができるので、中断されたビットストリームとしては途切れることなしに復号処理できる。【００３３】  本発明の第５のマルチストリーム復号装置によれば、規定時間内の余った時間を、復号処理を中断したビットストリームに割り当て直すことにより、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【００３４】  本発明の第６のマルチストリーム復号装置によれば、第２の所定単位、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際に第２の所定単位の上位階層の情報だけ退避するだけで、復号処理の再開ができる。【００３５】  本発明の第７のマルチストリーム復号装置によれば、出力制御装置のデータ消費状況を見ながら、復号処理を進めることができるので、出力制御装置がデータを消費しきるぎりぎりまで復号処理を継続することができる。【００３６】  本発明の第８のマルチストリーム復号装置によれば、復号装置のデータ供給量と、出力制御装置のデータ消費量とに応じて、出力画像を切り替えることができるので、たとえ復号処理が中断しても違和感のない画像を出力することができる。【００３７】  本発明の第９のマルチストリーム復号装置によれば、ビットストリームを切り替える際にビットストリームの巻き戻しによるオーバーヘッドをなくすことができる。【００３８】  本発明の第１０のマルチストリーム復号装置によれば、内部で処理できていないビットストリームの書き潰しを防ぐことができる。【００３９】  本発明の第１１のマルチストリーム復号装置によれば、ビットストリーム切り替えによるオーバーヘッドを削減することができる。【００４０】  本発明の第１２のマルチストリーム復号装置によれば、メモリバンド幅を復号処理するビットストリームに応じたピークバンド幅に抑えることができるので、外部メモリを共有しているようなシステムにおいて、他のアプリケーションにメモリバンド幅を与えることができる。【００４１】  本発明の第１３のマルチストリーム復号装置によれば、復号処理するビットストリームに応じたクロック周波数を設定することで、消費電力を抑えることができる。【００４２】  本発明の第１４のマルチストリーム復号装置によれば、複数のビット��トリームの復号処理が規定時間よりも早く終了した場合に、クロックを停止することができるので、消費電力を抑えることができる。【００４３】  本発明の第１５のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【００４４】  本発明の第１６のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【００４５】  本発明の第１７のマルチストリーム復号装置によれば、第２の所定単位、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際に第２の所定単位の上位階層の情報だけ退避するだけで、復号処理の再開ができる。【００４６】  本発明の第１８のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【図面の簡単な説明】
【００４７】
【図１】図１は、第１、第２及び第７の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図２】図２は、第１の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図３】図３は、第２の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図４】図４は、第３の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図５】図５は、第３の実施形態によるマルチストリーム復号装置の動作説明図である。
【図６】図６は、第４の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図７】図７は、第４の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図８】図８は、第５の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図９】図９は、第５の実施形態によるマルチストリーム復号装置の動作説明図である。
【図１０】図１０は、第６の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１１】図１１は、第７の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１２】図１２は、第８の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１３】図１３は、第８の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１４】図１４は、第９の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１５】図１５は、第９の実施形態によるマルチストリーム復号装置の動作説明図である。
【図１６】図１６は、第１０の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１７】図１７は、第１０の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１８】図１８は、従来のマルチストリーム復号装置の全体構成を示す図である。
【符号の説明】
【００４８】１００  デコーダ制御装置
１０１  ヘッダ解析部
１０２  時間管理部
１０３  切り替え制御部
１１０  デコーダ
１１１  可変長復号部
１１２  逆量子化部
１１３  逆ＤＣＴ部
１１４  動き補償部
１２０，１３０  切り替え装置（ＳＷ）
１２１，１２２  ストリームバッファ（ＳＢ）
１３１，１３２  フレームメモリ（ＦＭ）
３００  ビットカウンタ
３１０  巻き戻し制御部
４００  バッファ管理部
４１０  出力制御装置
５００  未処理ビットカウンタ
５１０  入力バッファ（ＩＢ）
６５０  メモリアクセス制御部
７００，７５０  クロック制御部
【発明を実施するための最良の形態】
【００４９】  以下、本発明の実施の形態を、図面を参照して詳しく説明する。なお、図面において同一部分又は相当部分には同一の符号を付してその説明は繰り返さない。【００５０】  以下に示す実施の形態では説明を簡略化するため、ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬのビットストリームを２ストリーム復号処理する際の動作とし、規定時間については１フレーム時間（１／３０秒）、デコーダの所定単位の終了通知を１ピクチャ、各ビットストリームのピクチャ構造もフレーム構造として説明する。【００５１】  また、以下に示す実施の形態では説明を簡単にするため、２つのビットストリームをｃｈ０及びｃｈ１という呼び方で呼ぶこととする。【００５２】  なお、以下に示す実施形態では、復号処理するビットストリーム数は２ストリームとしているが、ビットストリーム数に対する限定はなく、いくつであってもよい。【００５３】  以下に示す実施形態では、規定時間を１フレーム時間としているが、規定時間に対する限定はなく、また、所定単位の終了通知を１ピクチャとしているが、所定単位に対する限定もなく、また、ビットストリームのピクチャ構造をフレーム構造としているが、ピクチャ構造に対する限定もない。【００５４】  複数のビットストリームの組み合わせをＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬの２ストリームとして説明しているが、ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬとＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＭＬなどの組み合わせでもよく、ビットストリームの組み合わせに対する限定はない。また、ビットストリームの圧縮方式についてＭＰＥＧ２  Ｖｉｄｅｏを例に説明しているが、圧縮方式に特に限定はなく、Ｈ．２６４などの圧縮方式でもかまわない。【００５５】  デコーダ部分についてＭＰＥＧ２の復号処理を想定した構成になっているが、デコーダ部分の構成については圧縮方式に応じた構成になっていればよいので、特に以下の実施形態で記載している構成でなくてもよい。また、デコーダ制御装置という呼び名が出てくるが、実装としてはハードウェアでもソフトウェアでも、どちらで構成されていてもよい。【００５６】  《第１の実施形態》
第１の実施形態によるマルチストリーム復号装置の構成を図１に示す。図１のマルチストリーム復号装置は、複数のビットストリームを蓄積する蓄積装置である第１及び第２のストリームバッファ（ＳＢ）１２１，１２２と、これらのストリームバッファ１２１，１２２からの出力を切り替える第１の切り替え装置（ＳＷ）１２０と、デコーダ１１０と、復号データを蓄積するための第１及び第２のフレームメモリ（ＦＭ）１３１，１３２と、これらのフレームメモリ１３１，１３２を入力ビットストリームに応じて切り替える第２の切り替え装置（ＳＷ）１３０と、デコーダ制御装置１００とから構成される。デコーダ制御装置１００はヘッダ解析部１０１、時間管理部１０２、切り替え制御部１０３を含み、デコーダ１１０は可変長復号部１１１、逆量子化部１１２、逆ＤＣＴ部１１３、動き補償部１１４から構成される。第１の切り替え装置１２０と第２の切り替え装置１３０は、それぞれデコーダ制御装置１００内の切り替え制御部１０３からの制御信号１５５及び１５６により切り替えられる。【００５７】  第１のストリームバッファ１２１と第２のストリームバッファ１２２に蓄積されたビットストリームは信号線１６０と信号線１６１を通して出力され、第１の切り替え装置１２０で選択されて、信号線１６２を通してデコーダ１１０に入力される。デコーダ１１０に入力されたビットストリームは可変長復号部１１１で可変長復号され、逆量子化部１１２で逆量子化され、逆ＤＣＴ部１１３で逆ＤＣＴされる。第１のフレームメモリ１３１からの入出力バス１７２と、第２のフレームメモリ１３２からの入出力バス１７３は第２の切り替え装置１３０で選択される。動き補償部１１４は第２の切り替え装置１３０で選択されたフレームメモリから信号線１７１を通して取得した参照画像と、逆ＤＣＴ部１１３の逆ＤＣＴ結果とを加算して、復元画像を作成し、作成された復元画像は信号線１７０を通して第２の切り替え装置１３０で選択されたフレームメモリに格納される。【００５８】  デコーダ１１０は、それぞれのビットストリームの復号処理において、所定単位（第１の実施形態の説明ではピクチャ単位とする。）の復号処理が終了した時点で、信号線１５１を通して切り替え制御部１０３に対して復号処理の終了を通知する。【００５９】  ここで、第１のストリームバッファ１２１、第１のフレームメモリ１３１はｃｈ０用、第２のストリームバッファ１２２、第２のフレームメモリ１３２はｃｈ１用として、以下を説明する。【００６０】  上記のとおり、デコーダ制御装置１００はヘッダ解析部１０１、時間管理部１０２、切り替え制御部１０３から構成される。【００６１】  ヘッダ解析部１０１は信号線１５０を通してビットストリームを取得、又は第１のストリームバッファ１２１、第２のストリームバッファ１２２から直接ビットストリームを取得し、スライス層より上位層（ピクチャ層以上：第１の実施形態では所定単位をピクチャとしているのでピクチャ層以上としているが、所定単位に応じて階層は変わる）のビットストリームの解析を行う。ヘッダ解析部１０１が入手したフレームレート及び画像サイズ情報は、時間管理部１０２に送られる。【００６２】  時間管理部１０２は、ヘッダ解析部１０１から送られたそれぞれのビットストリームのフレームレート及び画像サイズと、デコーダ１１０の性能情報より、それぞれのビットストリームの復号処理の限界時間を決定する。【００６３】  時間管理部１０２は、それぞれのビットストリームの復号処理が限界時間に到達した時点で、信号線１５２を通してデコーダ１１０に対して復号処理の中断を通知し、切り替え制御部１０３に対して復号処理するビットストリームの切り替えを通知する。デコーダ１１０は、時間管理部１０２から復号処理の中断通知を受けた場合は直ちに復号処理を中断する。【００６４】  切り替え制御部１０３は、時間管理部１０２からのビットストリームの切り替え通知、又は、デコーダ１１０からのビットストリームの復号処理の終了通知１５１を受けて、復号処理するビットストリームの切り替えを行う。具体的に説明すると、切り替え制御部１０３は、制御信号１５５を通して第１の切り替え装置１２０を切り替え、制御信号１５６を通して第２の切り替え装置１３０を切り替える。【００６５】  以下に時間管理部１０２における復号処理の限界時間の決定方法を、例を挙げて説明する。なお、説明を簡略化するため、以下の前提で行うこととする。【００６６】  規定時間Ｔを１／３０秒（１フレーム時間）とし、デコーダ１１０はｃｈ０のビットストリーム（ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬ）の１ピクチャ分をａ０×Ｔで、ｃｈ１のビットストリーム（ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬ）の１ピクチャ分をｂ０×Ｔでそれぞれ復号処理できる性能を持っているものとする。また、規定時間内での性能見積もりで余った時間をΔＴ０とし、限界時間をＴ（ｌｉｍｉｔ）とする。【００６７】  この場合、ΔＴ０は、
ΔＴ０＝規定期間−（ｃｈ０復号処理見積時間＋ｃｈ１復号処理見積時間）
＝Ｔ−（ａ０×Ｔ＋ｂ０×Ｔ）
＝（１−ａ０−ｂ０）Ｔ  ・・・  式（１）
のようになる。【００６８】  以下、規定時間Ｔ内でｃｈ０のビットストリームから復号処理を行うとして限界時間を設定する。なお、以下は説明を簡略化するため、ｃｈ０から復号処理を行うとして記載するが、ビットストリームの復号処理順に特に限定はない。【００６９】  この場合、Ｔ（ｌｉｍｉｔ）は、
Ｔ（ｌｉｍｉｔ  ｃｈ０）＝ｃｈ０復号処理見積時間＋α０×ΔＴ０
＝ａ０×Ｔ＋α０×（１−ａ０−ｂ０）Ｔ
・・・  式（２）
Ｔ（ｌｉｍｉｔ  ｃｈ１）＝ｃｈ０復号処理見積時間＋ｃｈ１復号処理見積時間＋β０×ΔＴ０
＝ａ０×Ｔ＋ｂ０×Ｔ＋β０×（１−ａ０−ｂ０）Ｔ
・・・  式（３）
０≦Ｔ（ｌｉｍｉｔ  ｃｈ０），Ｔ（ｌｉｍｉｔ  ｃｈ１）≦Ｔ    ・・・  式（４）
のようになる。ここに、α０、β０は係数である。【００７０】  係数α０、β０は式（４）を満たしていれば、特に制約はない。α０やβ０の付け方によっては、ビットストリームの復号処理に優先順位を付けることもできる。また、２ストリーム復号処理する性能がない場合でも、規定時間内で限界時間の制約を付けることで一方のストリームのみ性能保証を行うという設定もできる。【００７１】  なお、ここでは限界時間算出方法の例を挙げたが、上記算出方法でなくてはならないというわけではない。【００７２】  次に、第１の実施形態によるマルチストリーム復号装置の動作を図２を用いて説明する。図２中のリミット２００はｃｈ０のビットストリーム復号処理にかけられる限界時間を示し、時刻２２０〜２３０はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されている（１）、（２）、（３）、（４）はそれぞれのビットストリームを復号処理する順番に付けたピクチャ番号である。また、説明簡略化のため、ｃｈ１の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット２００は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。【００７３】  デコーダ制御装置１００におけるビットストリームの切り替え動作の代表的なパターンを以下で説明する。【００７４】  期間２１０はｃｈ０のビットストリームの復号処理が限界時間内で終わった場合の動作を示す。【００７５】  まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２１で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１０での制御が終了する。【００７６】  期間２１１はｃｈ０のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間内で復号処理の再開が行われた場合の動作を示す。【００７７】  まず、時刻２２２でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２３において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替え��。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２４で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２２４の時点ではまだ規定時間経過していないので、デコーダ制御部１００が時刻２２３で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ０のビットストリームの復号処理を継続再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２５で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、規定期間２１１での制御が終了する。なお、中断したビットストリームの復号処理を時刻２２４で継続して再開したが、再開せずに中断したピクチャを捨ててしまうという選択肢があってもいい。【００７８】  期間２１２と期間２１３はｃｈ０のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間をまたいで復号処理の再開が行われた場合の動作を示す。【００７９】  まず、時刻２２５でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２６において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２７で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１２での制御が終了する。時刻２２７の時点では、直前の規定時間でのｃｈ０のビットストリームの１ピクチャ分の復号処理が終了していないので、デコーダ制御部１００が時刻２２６で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０が直前の規定時間内で復号処理すべきだったｃｈ０のビットストリームの復号処理を継続再開する。直前の規定時間内で復号処理すべきだったｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２８でも、現在の規定時間内でのｃｈ０のビットストリームの復号処理の限界時間（リミット２００）まで到達していないので、ｃｈ０のビットストリームの次のピクチャの復号処理を継続して行う。ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２９で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了���知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２３０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１３での制御が終了する。なお、前の規定時間で中断したビットストリームの復号処理を時刻２２７で継続して再開したが、直前の規定時間内で処理すべきだったピクチャを捨てて、期間２１３内で復号処理すべきピクチャから復号処理を開始するという選択肢があってもいい。【００８０】  以上、デコーダ制御装置１００におけるビットストリームの切り替え動作の３パターンを例に説明したが、復号処理の中断・再開は、期間２１１と期間２１２との組み合わせなど、切り替え方法も組み合わせが色々あり、上記３パターンしかないというわけではないということは言うまでもない。また、ここではｃｈ０のビットストリームの復号処理の中断と再開しか記載していないが、ｃｈ１のビットストリームの復号処理の中断と再開がないわけではないということも言うまでもない。【００８１】  このように第１の実施形態によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【００８２】  しかも、規定時間ごとにそれぞれのビットストリームの復号処理完了までに割り当てられる限界時間を設定できるので、それぞれのビットストリームの復号処理の状況に応じて最適な処理時間を割り当てることができる。【００８３】  また、復号処理の限界時間に達した時点で直ちに復号処理の中断ができるので、復号処理を中断したビットストリーム以外の他のビットストリームの復号処理に影響を与えることがない。【００８４】  また、復号処理を中断したビットストリームの復号処理を再開することができるので、中断されたビットストリームとしては途切れることなしに復号処理できる。【００８５】  《第２の実施形態》
第２の実施形態では、時間管理部１０２における規定時間内での復号処理の限界時間の再割り当て方法について例を挙げて説明する。装置構成は図１のとおりである。ただし、ストリームバッファ及びフレームメモリは３チャンネル分とする。【００８６】  ここで説明を簡略化するため、以下の前提で行うこととする。すなわち、規定時間Ｔを１／３０秒（１フレーム時間）とし、デコーダ１１０はｃｈ０のビットストリーム（ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬ）の復号処理をａ１×Ｔ時間行って中断、ｃｈ１のビットストリーム（ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬ）の復号処理をｂ１×Ｔ時間行って中断、ｃｈ２のビットストリーム（ＭＰＥＧ２  Ｖｉｄｅｏ  ＭＰ＠ＨＬ）の１ピクチャ分をｃ１×Ｔ時間行って完了する。また、ｃｈ０は復号処理を中断した時点でＸ１マクロブロックだけ、ｃｈ１は復号処理を中断した時点でＹ１マクロブロックだけ、それぞれ１ピクチャ完了するまでに残っているものとする。また、ｃｈ２のビットストリームの復号処理完了時点で規定時間に対して余っている時間をＴ１、再割り当てした限界時間をＴ１（ｌｉｍｉｔ）とする。【００８７】  この場合、Ｔ１は、
Ｔ１＝規定時間−（ｃｈ０復号処理時間＋ｃｈ１復号処理時間＋ｃｈ２復号処理時間）
＝Ｔ−（ａ１×Ｔ＋ｂ１×Ｔ＋ｃ１×Ｔ）
＝（１−ａ１−ｂ１−ｃ１）Ｔ  ・・・  式（４）
のようになる。【００８８】  以下、余り時間Ｔ１内でｃｈ０のビットストリームから復号処理の再開を行うとして限界時間を再設定する。また、Ｔ１は復号再開時点を開始時刻０として記載する。なお、以下は説明を簡略化するため、ｃｈ０から復号処理再開を行うとして記載するが、ビットストリームの復号処理再開順に特に限定はない。【００８９】  この場合、Ｔ１（ｌｉｍｉｔ）は、
Ｔ１（ｌｉｍｉｔ  ｃｈ０）＝（Ｘ１／（Ｘ１＋Ｙ１））×（１−ａ１−ｂ１−ｃ１）Ｔ
・・・  式（５）
Ｔ１（ｌｉｍｉｔ  ｃｈ１）＝Ｔ１
＝（１−ａ１−ｂ１−ｃ１）Ｔ  ・・・  式（６）
のようになる。【００９０】  なお、ここでは説明を簡略化するため、デコーダ１１０の性能に応じた限界時間の再割り当てに関する記載は行わないが、残りマクロブロック数から第１の実施形態と同じように、デコーダ１１０の性能を考慮した上で限界時間の再割り当てを行ってもよい。【００９１】  ここでは再割り当て後の限界時間算出方法の例を挙げたが、上記算出方法でなくてはならないというわけではない。【００９２】  次に、第２の実施形態によるマルチストリーム復号装置の動作を図３を用いて説明する。図３中のリミット２５０はｃｈ０のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５１はｃｈ０とｃｈ１のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５２は限界時間再割り当て後のｃｈ０のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５３は限界時間再割り当て後のｃｈ０とｃｈ１のビットストリーム復号処理完了までにかけられる限界時間を示し、時刻２７０〜２７８はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されている（１）、（２）はそれぞれのビットストリームで復号処理する順番に付けたピクチャ番号である。また、説明簡略化のため、ｃｈ２の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット２５０、リミット２５１は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。【００９３】  デコーダ制御装置１００における限界時間の再割り当ての動作について、以下に説明する。【００９４】  期間２６０はｃｈ０のビットストリームの復号処理が限界時間内で終わった場合の動作を示す。この動作は第１の実施形態で説明した内容と、復号処理するビットストリーム数が変わるだけで同じである。【００９５】  まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２７０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２７１で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ２のビットストリームに切り替える。次にｃｈ２のビットストリームの１ピクチャ分の復号処理が終了した時刻２７２で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２６０での制御が終了する。【００９６】  期間２６１はｃｈ０とｃｈ１のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間内で復号処理の限界時間の再割り当てが行われたうえ、復号処理の再開が行われた場合の動作を示す。【００９７】  まず、時刻２７３でｃｈ０のビットストリームの復号処理が��始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２５０になった時点でも完了していないため、時刻２７４において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ１の復号処理の限界時間であるリミット２５１になった時点でも完了していないため、時刻２７５において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ２のビットストリームに切り替える。次にｃｈ２のビットストリームの１ピクチャ分の復号処理が終了した時刻２７６で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２７６の時点ではまだ規定時間経過していないので、ｃｈ０とｃｈ１に対する復号処理の限界時間の再割り当てを行う。【００９８】  時刻２７６において、デコーダ制御部１００が時刻２７４で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ０のビットストリームの復号処理を再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２７７で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、ビットストリームをｃｈ１のビットストリームに切り替える。次に時刻２７７において、デコーダ制御部１００が時刻２７５で退避したｃｈ１のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ１のビットストリームの復号処理を再開する。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２７８で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２６１での制御が終了する。なお、ここではビットストリームの復号処理の再開順をｃｈ０、ｃｈ１としたが、復号処理を再開するビットストリーム順番については特に限定はない。【００９９】  限界時間再割り当て後の動作は、規定時間の最初に限界時間を割り当てた場合の動作（���１の実施形態で説明した内容）と同じなので、ここでは説明を繰り返さない。【０１００】  このように第２の実施形態によれば、規定時間内の余った時間を、復号処理を中断したビットストリームに割り当て直すことにより、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。【０１０１】  《第３の実施形態》
第３の実施形態によるマルチストリーム復号装置の構成を図４に示す。図４のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内にビットカウンタ３００を備え、デコーダ制御装置１００内に巻き戻し制御部３１０を備えた構成になっている。【０１０２】  ビットカウンタ３００は、デコーダ１１０がビットストリーム階層（ピクチャ層、又は、スライス層、又は、マクロブロック層など）の先頭からの処理ビット量をカウントするカウンタである。【０１０３】  巻き戻し制御部３１０は、ビットカウンタ３００の値を信号線３２０を通して取り込み、それぞれのビットストリームを蓄積するための第１のストリームバッファ１２１と第２のストリームバッファ１２２のポインタを巻き戻す機能を備えている。【０１０４】  次に、第３の実施形態によるマルチストリーム復号装置の動作を図２と図５を用いて説明する。図５は復号処理したフレームのイメージを示すもので、ピクチャ３５０は複数のスライス層（スライス０、スライス１、・・・、スライスＮ、・・・）から構成される。【０１０５】  なお、以下では説明を簡略化するため、ビットカウンタ３００をスライス層先頭からのビット量をカウントするものとして記載するが、スライス層先頭カウントするものに限定されるというわけではないことは言うまでもない。【０１０６】  復号処理の中断と再開の際のビットカウンタ３００と巻き戻し制御部３１０の使用方法を、図２における期間２１１の動作を元に説明を行う。【０１０７】  まず、時刻２２２でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２３において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。ここでは、図５のスライスＮの途中で中断が発生したものとして説明を進める。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。この際、ビットカウンタ３００の情報も退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２４で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２２４の時点ではまだ規定時間経過していないので、デコーダ制御部１００が時刻２２３で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、次に巻き戻し制御部３１０が、ビットカウンタ３００の情報を元に、ｃｈ０側のビットストリーム蓄積装置である第１のストリームバッファ１２１のポインタをスライスＮの先頭まで巻き戻す。次にデコーダ１１０がｃｈ０のビットストリームの復号処理をスライスＮの先頭から再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２５で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、規定期間２１１での制御が終了する。【０１０８】  以上、復号処理の限界時間に達した場合での復号処理の中断と再開を例に、ビットカウンタ３００と巻き戻し制御部３１０の使用方法を説明したが、限界時間に達しない場合でも復号処理の中断や再開をする際にこれらを使用できることは言うまでもない。【０１０９】  このように第３の実施形態によれば、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際にビットカウンタ３００がカウントしているビットストリーム階層の上位階層の情報だけ退避するだけで、復号処理の再開ができる。【０１１０】  《第４の実施形態》
第４の実施形態によるマルチストリーム復号装置の構成を図６に示す。図６のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ制御装置１００内にバッファ管理部４００を備え、更に、第１のフレームメモリ１３１からの出力を信号線４２０を通して、第２のフレームメモリ１３２からの出力を信号線４２１を通してそれぞれ取り込み、信号線４２３を通して画像を出力する出力制御装置４１０を備えた構成になっている。【０１１１】  バッファ管理部４００は、それぞれのビットストリームに対応したフレームメモリ１３１，１３２へのデータ供給量をデコーダ１１０から信号線４３０を通して取り込み、それぞれのビットストリームに対応したフレームメモリ１３１，１３２へのデータ消費量を出力制御装置４１０から信号線４４０を通して取り込む。【０１１２】  バッファ管理部４００は、信号線４３０と信号線４４０から取り込んだ情報より、それぞれのビットストリームに対応したフレームメモリ１３１，１３２上のデータ残量を計算し、データ残量が少ないような場合は、デコーダ１１０に対して信号線４３１を通して、復号処理の中断を通知し、出力制御装置４１０に対して信号線４４１を通して、出力画像の切り替えを通知する。【０１１３】  デコーダ１１０は、バッファ管理部４００からの復号処理の中断通知を受けて、復号処理を中断し、出力制御装置４１０はバッファ管理部４００からの出力画像切り替え通知を受けて、出力画像を切り替える。【０１１４】  なお、フレームメモリ１３１，１３２のデータ残量がどの程度までになった場合に、バッファ管理部４００が復号処理の中断と出力画像の切り替えを通知するかは特に限定はない。【０１１５】  次に、第４の実施形態によるマルチストリーム復号装置の動作を図７を用いて説明する。図７中のリミット４５０はｃｈ０のビットストリーム復号処理にかけられる限界時間を示し、時刻４６０〜４６３はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されているＩ０，Ｐ３，Ｂ１，Ｂ２，Ｐ６はピクチャの名称と出力順を示すもので、Ｉ０はＩピクチャで一番目に出力、Ｐ３はＰピクチャで四番目に出力、Ｂ１はＢピクチャで二番目に出力、Ｂ２はＢピクチャで三番目に出力、Ｐ６はＰピクチャで七番目に出力ということになる。また、説明簡略化のため、ｃｈ１の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット４５０は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。【０１１６】  期間４７０、期間４７１では復号処理しか行われておらず、期間４７２から画像が出力されるものとし、期間４７２で復号処理の中断が発生し、期間４７３で中断した復号処理の再開と、バッファ管理部４００からの通知により、復号処理の中断と出力画像の切り替えが発生した場合の動作を例に説明する。以下では、中断と復帰の際の詳細な制御については第１の実施形態で説明しているので繰り返しを行わない。【０１１７】  まず、期間４７０でｃｈ０とｃｈ１のビットストリームにおいてＩ０ピクチャの復号処理が行われる。���に、期間４７１でｃｈ０とｃｈ１のビットストリームにおいてＰ３ピクチャの復号処理が行われる。期間４７０と期間４７１では復号処理の中断は発生していないものとする。【０１１８】  次に期間４７２ではｃｈ０とｃｈ１のビットストリームにおいてＢ１ピクチャの復号処理が行われ、ｃｈ０とｃｈ１のビットストリームのＩ０ピクチャの出力が行われる。【０１１９】  時刻４６０でｃｈ０のビットストリームにおいてＢ１ピクチャの復号処理が開始される。時刻４６１でｃｈ０のビットストリームのＢ１ピクチャの復号処理がｃｈ０の復号処理の限界時間４５０までに完了せず、ｃｈ０の復号処理が中断され、ｃｈ１のビットストリームのＢ１ピクチャの復号処理が開始され、時刻４６２で復号処理が終了する。【０１２０】  次に期間４７３ではｃｈ０のビットストリームのＢ１ピクチャとＢ２ピクチャの復号処理、ｃｈ１のビットストリームのＢ２ピクチャの復号処理が行われ、ｃｈ０とｃｈ１のビットストリームのＢ１ピクチャの出力が開始される。【０１２１】  時刻４６２でｃｈ０のビットストリームのＢ１ピクチャの復号処理が再開され、同時にｃｈ０とｃｈ１のビットストリームのＢ１ピクチャの出力が開始される。この場合、ｃｈ０のビットストリームのＢ１ピクチャの復号処理と、出力処理が同時に発生することとなる。時刻４６２ではＢ１ピクチャのデコーダ１１０での復号処理のデータ供給量が、Ｂ１ピクチャの出力制御装置４１０のデータ消費量を上回っているため、期間４７３の最初のうちはｃｈ０のＢ１ピクチャが出力される。【０１２２】  時刻４６３においてデコーダ１１０のデータ供給量と、出力制御装置４１０のデータ消費量がほとんど変わらなくなると、バッファ管理部４００がデコーダ１１０に対してｃｈ０のビットストリームのＢ１ピクチャの復号処理の中断と、出力制御装置４１０に対して、出力画像の切り替えを通知する。デコーダ１１０はバッファ管理部４００からの復号処理中断通知を受けて、Ｂ１ピクチャの復号処理を中断し、ピクチャをスキップし、Ｂ２ピクチャの復号処理を開始する。出力制御装置４１０はバッファ管理部４００からの出力画像切り替え通知を受けて、ｃｈ０側の出力画像をＢ１ピクチャから、既に、復号処理が完了しているＩ０ピクチャに切り替える。ここではフレームメモリ１３１に対するデコーダ１１０側のデータ供給量と、出力制御装置４１０のデータ消費量がほとんど変わらなくなったとしたが、差がある場合はそのまま復号処理が継続され、出力画像の切り替えも起こらない。【０１２３】  なお、出力画像を切り替える際に、Ｉ０ピクチャに切り替えたが、どの画像に切り替えるかは特に限定はない。【０１２４】  このように第４の実施形態によれば、出力制御装置４１０のデータ消費状況を見ながら、復号処理を進めることができるので、出力制御装置４１０がデータを消費しきるぎりぎりまで復号処理を継続することができる。【０１２５】  また、デコーダ１１０のデータ供給量と、出力制御装置４１０のデータ消費量に応じて、出力画像を切り替えることができるので、たとえ復号処理が中断しても違和感のない画像を出力することができる。【０１２６】  《第５の実施形態》
第５の実施形態によるマルチストリーム復号装置の構成を図８に示す。図８のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内に未処理ビットカウンタ５００と、入力バッファ（ＩＢ）５１０とを備え、デコーダ制御装置１００内に巻き戻し制御部３１０を備えた構成になっている。【０１２７】  未処理ビットカウンタ５００は、入力バッファ５１０にあるビットストリームのうち、デコーダ１１０の可変長復号部１１１でまだ処理されていないビット量を観測するカウンタである。【０１２８】  巻き戻し制御部３１０は、未処理ビットカウンタ５００の値を信号線５２０を通して取り込み、信号線３３０を通して、それぞれのビットストリームを蓄積するための第１のストリームバッファ１２１と第２のストリームバッファ１２２のポインタを巻き戻す機能を備えている。【０１２９】  次に、第５の実施形態によるマルチストリーム復号装置の動作を図２と図９を用いて説明する。図９は第１のストリームバッファ１２１と第２のストリームバッファ１２２とのイメージ図で、ＷＰがストリームバッファ１２１，１２２への書き込み状況を表すポインタであり、ＲＰがストリームバッファ１２１，１２２からの読み出し状況を表すポインタであって、未処理ビットカウンタ５００の値を用いて、巻き戻し制御部３１０がＲＰをＲＰ’まで巻き戻す。【０１３０】  未処理ビットカウンタ５００と巻き戻し制御部３１０の使用方法を、図２における期間２１０の動作を元に説明を行う。【０１３１】  まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、デコーダ制御装置１００が未処理ビットカウンタ５００の値を退避し、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。【０１３２】  時刻２２２において、ｃｈ０のビットストリームの復号処理を開始する前に、巻き戻し制御部３１０が時刻２２０で退避した未処理ビットカウンタ５００の値を用いて、ｃｈ０側である第１のストリームバッファ１２１のポインタを巻き戻し、デコーダ１１０が実際に処理したビットストリームの位置まで巻き戻す。なお、ここではｃｈ１での制御は記載しないが、ｃｈ１においても同じ動作を行う。【０１３３】  このように第５の実施形態によれば、デコーダ１１０の内部での消費していないビット量が判るので、ビットストリームを切り替える際にビットストリームの巻き戻しによるオーバーヘッドをなくすことができる。【０１３４】  《第６の実施形態》
第６の実施形態によるマルチストリーム復号装置の構成を図１０に示す。図１０のマルチストリーム復号装置は、第５の実施形態によるマルチストリーム復号装置を含み、更に、第１及び第２のストリームバッファ１２１，１２２は図９で記載している巻き戻し後のＲＰ’情報を用いて、未処理ビットデータの上書きを防止する機能を備えている。【０１３５】  第１のストリームバッファ１２１と第２のストリームバッファ１２２はＲＰ’情報を元にビットストリーム供給側に対して、ストリームバッファのデータ書き込みの限界値を信号線５５０と信号線５５１を通して通知し、デコーダ１１０での未処理データ書き潰しを防ぐ。【０１３６】  このように第６の実施形態によれば、デコーダ１１０の内部で処理できていないビットストリームの書き潰しを防ぐことができる。【０１３７】  《第７の実施形態》
第７の実施形態によるマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、規定期間の開始時点で、直前で復号処理していたビットストリームの情報を元に、切り替え制御部１０３が復号処理するビットストリーム順を決定する機構を備える。装置構成は、図１のとおりである。【０１３８】  第７の実施形態によるマルチストリーム復号装置の動作を図１１に示す。以下では、規定期間の開始時刻のうち、時刻６２０と時刻６２１での動作を例に説明する。【０１３９】  規定期間６１０はｃｈ０、ｃｈ１の順でビットストリームの復号処理をしていたので、時刻６２０では、切り替え制御部１０３が、規定期間６１１の開始の直前で復号処理していたのはｃｈ１と判断し、ビットストリームの切り替えを行わず、規定期間６１１ではｃｈ１、ｃｈ０の順でビットストリームの復号処理が行われる。同じように時刻６２１では、切り替え制御部１０３が規定期間６１２の開始の直前で復号処理していたのはｃｈ０と判断し、ビットストリームの切り替えを行わず、規定期間６１２ではｃｈ０、ｃｈ１の順でビットストリームの復号処理が行われる。なお、規定時間内でビットストリームの復号処理の中断と再開が発生し、ビットストリームの処理順が不規則になった場合でも同じである。【０１４０】  このように第７の実施形態によれば、ビットストリーム切り替えによるオーバーヘッドを削減することができる。【０１４１】  《第８の実施形態》
第８の実施形態によるマルチストリーム復号装置の構成を図１２に示す。図１２のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内にメモリアクセス制御部６５０を備えた構成になっている。【０１４２】  メモリアクセス制御部６５０は、ヘッダ解析部１０１が取得した画像サイズとフレームレートの情報を信号線６６０を通して取得し、デコーダ制御装置１００から復号処理するビットストリーム数などの情報を信号線６６１を通して取得し、デコーダ１１０が規定期間内に復号処理を終了するために必要なメモリアクセスレートを決定する。【０１４３】  以下にメモリアクセスレートの決定方法を、
（ｉ）    ＨＤ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ）２ｃｈデコードの場合
ｃｈ０  画像サイズ  １９２０ピクセル×１０８８ライン
ｃｈ１  画像サイズ  １９２０ピクセル×１０８８ライン
（ｉｉ）  ＨＤ１ｃｈデコードの場合
ｃｈ０  画像サイズ  １９２０ピクセル×１０８８ライン
ｃｈ１  復号処理なし
（ｉｉｉ）ＳＤ（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ）２ｃｈデコード場合
ｃｈ０  画像サイズ  ７２０ピクセル×４８０ライン
ｃｈ１  画像サイズ  ７２０ピクセル×４８０ライン
という例を挙げて記載する。【０１４４】  メモリアクセス制御部６５０は、デコーダ制御装置１００から上記情報を入手し、規定期間内に復号処理を終了するために必要なメモリアクセスレートを判定し、メモリアクセスレートを決定する。この場合、画像サイズに応じて必要なメモリアクセスレートが決定される。なお、ここでは説明簡略化のため、例（ｉ）でのメモリアクセスレートを基準として、Ａ回／時間として記載し、フレームレートは同じとする。【０１４５】  （ｉ）ＨＤ２ｃｈデコードの場合（基準）、規定期間内に復号処理が終了するために必要なメモリアクセスレートがＡ回／時間なので、メモリアクセス制御部６５０がメモリアクセスレートをＡ回／時間に設定する。【０１４６】  （ｉｉ）ＨＤ１ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なメモリアクセスレートはＨＤ２ｃｈデコードと比べて１／２となる。メモリアクセス制御部６５０はメモリアクセスが（１／２）Ａ回／時間になるようにメモリアクセスレートを設定する。【０１４７】  （ｉｉｉ）ＳＤ２ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なメモリアクセスレートはＨＤ２ｃｈデコードと比べて（７２０×４８０）／（１９２０×１０８８）＝約１／６となる。メモリアクセス制御部６５０はメモリアクセスが約（１／６）Ａ回／時間になるようにメモリアクセスレートを設定する。【０１４８】  このようにして算出した値を元に、メモリアクセス制御部６５０はメモリアクセスのレート制御を行う。図１３に上記の例（ｉ）、（ｉｉ）、（ｉｉｉ）におけるメモリアクセス頻度のイメージ図を示す。メモリアクセス制御部６５０によるメモリアクセスのレート制御を行わない場合は、（ｉ）、（ｉｉ）、（ｉｉｉ）ともピークメモリバンド幅は例（ｉ）と同じだけ使用することになるが、レート制御を行った場合は、（ｉ）、（ｉｉ）、（ｉｉｉ）に合ったピークメモリバンド幅に抑えることができる。【０１４９】  このように第８の実施形態によれば、復号処理するビットストリームに応じたピークメモリバンド幅にメモリバンド幅を抑えることができるので、外部メモリを共有しているようなシステムにおいて、他のアプリケーションにメモリバンド幅を与えることができる。【０１５０】  《第９の実施形態》
第９の実施形態によるマルチストリーム復号装置の構成を図１４に示す。図１４のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、クロック制御部７００を備えた構成になっている。【０１５１】  クロック制御部７００は、ヘッダ解析部１０１が取得した画像サイズとフレームレートの情報を信号線７１０を通して取得し、デコーダ制御装置１００から復号処理するビットストリーム数などの情報を信号線７１１を通して取得し、デコーダ１１０が規定期間内に復号処理を終了するために必要なだけのクロックを信号線７１２を通して供給する。【０１５２】  クロック制御部７００は、デコーダ制御装置１００から上記情報を入手し、規定期間内に復号処理を終了するために必要なクロック周波数を判定し、クロック周波数を制御する。この場合、画像サイズに応じて必要なクロック周波数が決定される。なお、ここでは説明簡略化のため、上記の例（ｉ）のクロック周波数を基準として、Ｓメガヘルツ（ＭＨｚ）として記載し、フレームレートは同じとする。【０１５３】  上記の例（ｉ）、（ｉｉ）、（ｉｉｉ）におけるクロック制御は、次のとおりである。【０１５４】  （ｉ）ＨＤ２ｃｈデコードの場合（基準）、規定期間内に復号処理が終了するために必要なクロック周波数がＳＭＨｚなので、クロック制御部７００がクロック周波数をＳＭＨｚに設定する。【０１５５】  （ｉｉ）ＨＤ１ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なクロック周波数はＨＤ２ｃｈデコードと比べて１／２となる。クロック制御部７００はクロック周波数が（１／２）ＳＭＨｚになるようにクロック周波数を設定する。【０１５６】  （ｉｉｉ）ＳＤ２ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なクロック周波数はＨＤ２ｃｈデコードと比べて（７２０×４８０）／（１９２０×１０８８）＝約１／６となる。クロック制御部７００はクロック周波数が約（１／６）ＳＭＨｚになるようにクロック周波数を設定する。【０１５７】  このようにして算出した値を元にクロック制御部７００はクロック周波数の制御を行う。図１５に例（ｉ）、（ｉｉ）、（ｉｉｉ）のイメージ図を示す。クロック制御部７００によるクロック周波数制御を行わない場合は、（ｉ）、（ｉｉ）、（ｉｉｉ）ともクロック周波数が同じであるため、同じだけの消費電力を使用することになるが、クロック周波数制御を行った場合は、（ｉ）、（ｉｉ）、（ｉｉｉ）に合ったクロック周波数に設定することができるので、（ｉ）、（ｉｉ）、（ｉｉｉ）に合った消費電力に抑えることができる。【０１５８】  このように第９の実施形態によれば、復号処理するビットストリームに応じたクロック周波数を設定することで、消費電力を抑えることができる。【０１５９】  《第１０の実施形態》
第１０の実施形態によるマルチストリーム復号装置の構成を図１６に示す。図１６のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、クロック制御部７５０を備えた構成になっている。【０１６０】  クロック制御部７５０は、時間管理部１０２から規定時間の情報を信号線７６０を通して取得し、デコーダ１１０からピクチャ単位の終了通知を受けて、デコーダ１１０に対してクロック供給が必要かどうか判断し、信号線７６１を通じてデコーダ１１０に供給しているクロックを供給したり、停止したりする。【０１６１】  次に、第１０の実施形態によるマルチストリーム復号装置の動作を図１７を用いて説明する。ここでは、期間８１０の動作をクロック供給と停止について説明する。【０１６２】  期間８１０では時刻８００においてクロック制御部７５０がデコーダ１１０にクロック供給を開始する。時刻８０１にｃｈ０、ｃｈ１のビットストリームの復号処理が完了すると、この時点で規定期間内でデコーダ１１０を動作させる必要はなくなるので、クロック制御部７５０がデコーダ１１０に対するクロック供給を停止する。クロック制御部７５０は規定期間ごとにこの制御を繰り返す。【０１６３】  このように、クロック制御部７５０はデコーダ１１０を動作させる必要がある場合のみクロックを供給することで消費電力を抑えることができる。【０１６４】  このように第１０の実施形態によれば、複数のビットストリームの復号処理が規定時間よりも早く終了した場合に、クロックを停止することができるので、消費電力を抑えることができる。
【産業上の利用可能性】
【０１６５】  本発明のマルチストリーム復号装置は、デジタルテレビや、ＤＶＤ、ＤＶＲなどの蓄積メディアにおける復号装置への適用が可能である。
【図１】
2007032123.tif 000002
【図２】
2007032123.tif 000003
【図３】
2007032123.tif 000004
【図４】
2007032123.tif 000005
【図５】
2007032123.tif 000006
【図６】
2007032123.tif 000007
【図７】
2007032123.tif 000008
【図８】
2007032123.tif 000009
【図９】
2007032123.tif 000010
【図１０】
2007032123.tif 000011
【図１１】
2007032123.tif 000012
【図１２】
2007032123.tif 000013
【図１３】
2007032123.tif 000014
【図１４】
2007032123.tif 000015
【図１５】
2007032123.tif 000016
【図１６】
2007032123.tif 000017
【図１７】
2007032123.tif 000018
【図１８】
2007032123.tif 000019
【手続補正書】
【提出日】平成19年12月7日(2007.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のビットストリームをそれぞれ蓄積する蓄積装置と、前記蓄積装置からの出力を切り替える第１の切り替え装置と、前記第１の切り替え装置からの出力を入力として復号を行うデコーダと、前記デコーダで復号したデータをそれぞれ蓄積する複数のフレームメモリと、それぞれのビットストリームに応じて前記フレームメモリを切り替える第２の切り替え装置と、前記デコーダを制御するデコーダ制御手段とを備えたマルチストリーム復号装置であって、
前記デコーダ制御手段は、
ビットストリーム中のヘッダを解析するヘッダ解析手段と、
ビットストリームごとに処理時間を割り当てる時間管理手段と、
前記第１及び第２の切り替え装置を制御する切り替え制御手段とを備え、
前記時間管理手段は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、復号するビットストリーム数を含む情報とに応じて、規定時間内でそれぞれのビットストリームの復号処理にかけられる限界時間を決定し、かつ復号処理が前記限界時間に達した場合にビットストリーム切り替え通知信号を出力し、
前記切り替え制御手段は、前記時間管理手段が出力したビットストリーム切り替え通知信号と、前記デコーダがそれぞれのビットストリームの第１の所定単位の復号処理を終了した時点で出力する終了通知信号とを用いて、前記第１及び第２の切り替え装置を切り替えることを特徴とするマルチストリーム復号装置。
【請求項２】
請求項１記載のマルチストリーム復号装置において、
前記時間管理手段は、前記規定時間ごとにそれぞれのビットストリームの復号処理にかけられる時間の前記限界時間を設定し直すことを特徴とするマルチストリーム復号装置。
【請求項３】
請求項１記載のマルチストリーム復号装置において、
前記時間管理手段はビットストリームの復号処理時間が前記限界時間に達した時点で前記デコーダに対して復号処理の中断を通知し、前記デコーダは中断通知を受けて直ちに復号処理を中断することを特徴とするマルチストリーム復号装置。
【請求項４】
請求項３記載のマルチストリーム復号装置において、
前記デコーダ制御手段は、復号の中断が発生した時点で中断した復号処理の再開に必要な前記デコーダ内部の情報を退避し、中断したビットストリームの復号処理が次に開始される前に、退避した情報を前記デコーダに再設定することにより、復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項５】
請求項４記載のマルチストリーム復号装置において、
前記規定時間内で複数のビットストリームの復号処理が中断され、かつ、中断されたビットストリーム以外のビットストリームの第１の所定単位の復号処理が早く終了し、前記規定時間内の処理時間が余った場合に、中断されたそれぞれのビットストリームが第１の所定単位の復号処理が完了するまでの予測時間に応じて、それぞれのビットストリームの復号処理にかけられる限界時間を再設定することを特徴とするマルチストリーム復号装置。
【請求項６】
請求項４記載のマルチストリーム復号装置において、
前記デコーダ内に第２の所定単位の先頭からの処理ビット量をカウントする第１のカウンタを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、
前記巻き戻し制御手段は、前記時間管理手段が復号処理を中断したビットストリームに対して、前記デコーダ制御手段が復号処理を再開する際に、前記第１のカウンタの情報を用いて、前記第２の所定単位の先頭まで前記蓄積装置のポインタを巻き戻し、前記第２の所定単位の先頭から復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項７】
請求項４記載のマルチストリーム復号装置において、
前記複数のフレームメモリからの出力を入力とし、画像を出力する出力制御装置を更に備え、かつ前記デコーダ制御手段内に前記複数のフレームメモリのデータ量を管理するバッファ管理手段を備え、
前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記デコーダに復号処理の中断を通知し、前記デコーダは前記中断通知を受けて直ちに復号処理を中断することを特徴とするマルチストリーム復号装置。
【請求項８】
請求項７記載のマルチストリーム復号装置において、
前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記出力制御装置に対して出力画像の切り替えを通知し、前記出力制御装置は前記切り替え通知を受けて直ちに出力画像の切り替えを行うことを特徴とするマルチストリーム復号装置。
【請求項９】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ内に前記第１の切り替え装置からの出力を一時的に保持する入力バッファと、前記入力バッファ内の未処理ビット量を観測する第２のカウンタとを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、
前記デコーダ制御手段は、前記切り替え制御手段が前記第１の切り替え装置を切り替える際に、前記第２のカウンタの情報を退避し、
切り替える前のビットストリームの復号処理を再開する際に、前記巻き戻し制御手段は、前記第２のカウンタの情報を用いて、前記デコーダが実際に消費した部分まで前記蓄積装置のポインタを巻き戻し、復号処理を再開することを特徴とするマルチストリーム復号装置。
【請求項１０】
請求項９記載のマルチストリーム復号装置において、
前記蓄積装置のポインタ情報を利用して前記蓄積装置内のビットストリームの書き潰しを防ぐための手段を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１１】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ制御手段は、前記規定時間終了の直前まで前記デコーダで復号処理していたビットストリームの種類を前記規定時間ごとに判定し、次の規定時間でのビットストリームのデコード順を決定することを特徴とするマルチストリーム復号装置。
【請求項１２】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ内に、前記複数のフレームメモリへのアクセス頻度を制御するメモリアクセス制御装置を備え、
前記メモリアクセス制御装置は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダ制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記複数のフレームメモリのアクセス頻度を制御することを特徴とするマルチストリーム復号装置。
【請求項１３】
請求項１記載のマルチストリーム復号装置において、
前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、前記デコード制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記デコーダに供給するクロックの周波数を決定するクロック制御装置を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１４】
請求項１記載のマルチストリーム復号装置において、
前記デコーダ制御手段から通知される前記規定時間の情報と、前記デコーダから通知される第１の所定単位の復号終了通知とを用いて、前記デコーダに対するクロック供給と停止を切り替えるクロック制御装置を更に備えたことを特徴とするマルチストリーム復号装置。
【請求項１５】
請求項１記載のマルチストリーム復号装置において、
前記第１の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とするマルチストリーム復号装置。
【請求項１６】
請求項１記載のマルチストリーム復号装置において、
前記規定時間をビットストリーム中のフレームレートから平均的に割り当てたピクチャ時間、又はスライス時間、又はマクロブロックライン時間、又はマクロブロック時間とするマルチストリーム復号装置。
【請求項１７】
請求項６記載のマルチストリーム復号装置において、
前記第２の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とするマルチストリーム復号装置。
【請求項１８】
請求項１記載のマルチストリーム復号装置において、
ビットストリームをＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２６４のいずれかで圧縮されたビットストリームとするマルチストリーム復号装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された複数のビットストリームの復号処理を支援するマルチストリーム復号装置に関するものである。
【背景技術】
【０００２】
図１８は、従来のマルチストリーム復号装置の構成を示している。ここでは、ＭＰＥＧ２ Ｖｉｄｅｏを例にする。
【０００３】
図１８のマルチストリーム復号装置は、複数のビットストリームを蓄積する蓄積装置である第１及び第２のストリームバッファ（ＳＢ）１０２１，１０２２と、これらのストリームバッファ１０２１，１０２２からの出力を切り替える第１の切り替え装置（ＳＷ）１０２０と、デコーダ１０１０と、復号データを蓄積するための第１及び第２のフレームメモリ（ＦＭ）１０３１，１０３２と、これらのフレームメモリ１０３１，１０３２を入力ビットストリームに応じて切り替える第２の切り替え装置（ＳＷ）１０３０と、デコーダ制御装置１０００とから構成される。デコーダ制御装置１０００は切り替え制御部１００１を含み、デコーダ１０１０は可変長復号部１０１１、逆量子化部１０１２、逆ＤＣＴ部１０１３、動き補償部１０１４から構成される。
【０００４】
デコーダ制御装置１０００内の切り替え制御部１００１は、ピクチャ単位で、信号線１０５０を通して第１の切り替え装置１０２０を切り替え、信号線１０５１を通して第２の切り替え装置１０３０を切り替える。
【０００５】
第１のストリームバッファ１０２１と第２のストリームバッファ１０２２に蓄積されたビットストリームは信号線１０６０と信号線１０６１を通して出力され、第１の切り替え装置１０２０で選択されて、信号線１０６２を通してデコーダ１０１０に入力される。デコーダ１０１０に入力されたビットストリームは可変長復号部１０１１で可変長復号され、逆量子化部１０１２で逆量子化され、逆ＤＣＴ部１０１３で逆ＤＣＴされる。第１のフレームメモリ１０３１からの入出力バス１０７２と、第２のフレームメモリ１０３２からの入出力バス１０７３は第２の切り替え装置１０３０で選択される。動き補償部１０１４は第２の切り替え装置１０３０で選択されたフレームメモリから信号線１０７１を通して取得した参照画像と、逆ＤＣＴ部１０１３の逆ＤＣＴ結果とを加算して、復元画像を作成し、作成された復元画像は信号線１０７０を通して第２の切り替え装置１０３０で選択されたフレームメモリに格納される。
【０００６】
このように従来の構成では複数のビットストリームを切り替えながら単一のデコーダ１０１０で復号処理する際に、入力したビットストリームの処理単位（例えば、ピクチャ単位）のみで切り替えながら復号処理を行っていた（特許文献１参照）。
【特許文献１】特開２００２−１１２１９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の構成では、入力したビットストリームの処理単位のみで復号処理するビットストリームを切り替えているため、例えば一方のビットストリームがアンダーフローを起こして復号処理が遅れた場合、他方のビットストリームの復号処理も遅れてしまい、特に独立した複数のビットストリームを切り換えながら復号処理する場合にはシステムとして破綻してしまうという課題があった。
【０００８】
更に、従来の構成では、ビットストリームを切り替える際に、デコーダ内部に残っており、復号処理ができていないビットストリーム量が判らないために、ビットストリームを切り替える際に必要以上にビットストリームを巻き戻す必要があり、切り替え時のオーバーヘッドが増加してしまうという課題があった。
【０００９】
更に、従来の構成では、元々複数のビットストリームを復号処理することができるデコーダを備えているために、単一ビットストリームを復号処理する場合でも複数ビットストリームを復号処理する場合と同じだけのピークメモリバンド幅や消費電力を使ってしまうという課題があった。
【００１０】
本発明は以上のような課題を解消するためになされたもので、複数のビットストリームをデコードする際のビットストリーム間の影響を抑え、ビットストリーム切り替え時のオーバーヘッドを抑え、更に、ピークメモリバンド幅や消費電力を抑える復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１のマルチストリーム復号装置では、複数のビットストリームをそれぞれ蓄積する蓄積装置と、前記蓄積装置からの出力を切り替える第１の切り替え装置と、前記第１の切り替え装置からの出力を入力として復号を行うデコーダと、前記デコーダで復号したデータをそれぞれ蓄積する複数のフレームメモリと、それぞれのビットストリームに応じて前記フレームメモリを切り替える第２の切り替え装置と、前記デコーダを制御するデコーダ制御手段とを備えたマルチストリーム復号装置において、前記デコーダ制御手段は、ビットストリーム中のヘッダを解析するヘッダ解析手段と、ビットストリームごとに処理時間を割り当てる時間管理手段と、前記第１及び第２の切り替え装置を制御する切り替え制御手段とを備え、前記時間管理手段は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、復号するビットストリーム数を含む情報とに応じて、規定時間内でそれぞれのビットストリームの復号処理にかけられる限界時間を決定し、かつ復号処理が前記限界時間に達した場合にビットストリーム切り替え通知信号を出力し、前記切り替え制御手段は、前記時間管理手段が出力したビットストリーム切り替え通知信号と、前記デコーダがそれぞれのビットストリームの第１の所定単位の復号処理を終了した時点で出力する終了通知信号とを用いて、前記第１及び第２の切り替え装置を切り替えることとした。
【００１２】
本発明の第２のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記時間管理手段は、前記規定時間ごとにそれぞれのビットストリームの復号処理にかけられる時間の前記限界時間を設定し直すこととした。
【００１３】
本発明の第３のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記時間管理手段はビットストリームの復号処理時間が前記限界時間に達した時点で前記デコーダに対して復号処理の中断を通知し、前記デコーダは中断通知を受けて直ちに復号処理を中断することとした。
【００１４】
本発明の第４のマルチストリーム復号装置では、前記第３のマルチストリーム復号装置において、前記デコーダ制御手段は、復号の中断が発生した時点で中断した復号処理の再開に必要な前記デコーダ内部の情報を退避し、中断したビットストリームの復号処理が次に開始される前に、退避した情報を前記デコーダに再設定することにより、復号処理を再開することとした。
【００１５】
本発明の第５のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記規定時間内で複数のビットストリームの復号処理が中断され、かつ、中断されたビットストリーム以外のビットストリームの第１の所定単位の復号処理が早く終了し、前記規定時間内の処理時間が余った場合に、中断されたそれぞれのビットストリームが第１の所定単位の復号処理が完了するまでの予測時間に応じて、それぞれのビットストリームの復号処理にかけられる限界時間を再設定することとした。
【００１６】
本発明の第６のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記デコーダ内に第２の所定単位の先頭からの処理ビット量をカウントする第１のカウンタを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、前記巻き戻し制御手段は、前記時間管理手段が復号処理を中断したビットストリームに対して、前記デコーダ制御手段が復号処理を再開する際に、前記第１のカウンタの情報を用いて、前記第２の所定単位の先頭まで前記蓄積装置のポインタを巻き戻し、前記第２の所定単位の先頭から復号処理を再開することとした。
【００１７】
本発明の第７のマルチストリーム復号装置では、前記第４のマルチストリーム復号装置において、前記複数のフレームメモリからの出力を入力とし、画像を出力する出力制御装置を更に備え、かつ前記デコーダ制御手段内に前記複数のフレームメモリのデータ量を管理するバッファ管理手段を備え、前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記デコーダに復号処理の中断を通知し、前記デコーダは前記中断通知を受けて直ちに復号処理を中断することとした。
【００１８】
本発明の第８のマルチストリーム復号装置では、前記第７のマルチストリーム復号装置において、前記バッファ管理手段は、前記デコーダから通知される前記複数のフレームメモリへのデータ供給量と、前記出力制御装置から通知される前記複数のフレームメモリのデータ消費量とを用いて前記出力制御装置に対して出力画像の切り替えを通知し、前記出力制御装置は前記切り替え通知を受けて直ちに出力画像の切り替えを行うこととした。
【００１９】
本発明の第９のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ内に前記第１の切り替え装置からの出力を一時的に保持する入力バッファと、前記入力バッファ内の未処理ビット量を観測する第２のカウンタとを、前記デコーダ制御手段内に前記蓄積装置のポインタを巻き戻す巻き戻し制御手段をそれぞれ備え、前記デコーダ制御手段は、前記切り替え制御手段が前記第１の切り替え装置を切り替える際に、前記第２のカウンタの情報を退避し、切り替える前のビットストリームの復号処理を再開する際に、前記巻き戻し制御手段は、前記第２のカウンタの情報を用いて、前記デコーダが実際に消費した部分まで前記蓄積装置のポインタを巻き戻し、復号処理を再開することとした。
【００２０】
本発明の第１０のマルチストリーム復号装置では、前記第９のマルチストリーム復号装置において、前記蓄積装置のポインタ情報を利用して前記蓄積装置内のビットストリームの書き潰しを防ぐための手段を更に備えることとした。
【００２１】
本発明の第１１のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ制御手段は、前記規定時間終了の直前まで前記デコーダで復号処理していたビットストリームの種類を前記規定時間ごとに判定し、次の規定時間でのビットストリームのデコード順を決定することとした。
【００２２】
本発明の第１２のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ内に、前記複数のフレームメモリへのアクセス頻度を制御するメモリアクセス制御装置を備え、前記メモリアクセス制御装置は、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダ制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記複数のフレームメモリのアクセス頻度を制御することとした。
【００２３】
本発明の第１３のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記ヘッダ解析手段が取得した画像サイズとフレームレートとを含むビットストリーム情報と、前記デコーダの処理性能と、前記デコード制御手段から通知される復号処理するビットストリーム数を含む情報とを用いて、前記デコーダに供給するクロックの周波数を決定するクロック制御装置を更に備えることとした。
【００２４】
本発明の第１４のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記デコーダ制御手段から通知される前記規定時間の情報と、前記デコーダから通知される第１の所定単位の復号終了通知とを用いて、前記デコーダに対するクロック供給と停止を切り替えるクロック制御装置を更に備えることとした。
【００２５】
本発明の第１５のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記第１の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とする。
【００２６】
本発明の第１６のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、前記規定時間をビットストリーム中のフレームレートから平均的に割り当てたピクチャ時間、又はスライス時間、又はマクロブロックライン時間、又はマクロブロック時間とする。
【００２７】
本発明の第１７のマルチストリーム復号装置では、前記第６のマルチストリーム復号装置において、前記第２の所定単位をピクチャ単位、又はスライス単位、又はマクロブロックライン単位、又はマクロブロック単位とする。
【００２８】
本発明の第１８のマルチストリーム復号装置では、前記第１のマルチストリーム復号装置において、ビットストリームをＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２６４のいずれかで圧縮されたビットストリームとする。
【発明の効果】
【００２９】
本発明の第１のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００３０】
本発明の第２のマルチストリーム復号装置によれば、規定時間ごとにそれぞれのビットストリームごとの復号処理に割り当てられる限界時間を設定できるので、それぞれのビットストリームの復号処理の状況に応じて最適な処理時間を割り当てることができる。
【００３１】
本発明の第３のマルチストリーム復号装置によれば、復号処理の限界時間に達した時点で直ちに復号処理の中断ができるので、復号処理を中断したビットストリーム以外のビットストリームの復号処理に影響を与えることがない。
【００３２】
本発明の第４のマルチストリーム復号装置によれば、復号処理を中断したビットストリームの復号処理を再開することができるので、中断されたビットストリームとしては途切れることなしに復号処理できる。
【００３３】
本発明の第５のマルチストリーム復号装置によれば、規定時間内の余った時間を、復号処理を中断したビットストリームに割り当て直すことにより、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００３４】
本発明の第６のマルチストリーム復号装置によれば、第２の所定単位、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際に第２の所定単位の上位階層の情報だけ退避するだけで、復号処理の再開ができる。
【００３５】
本発明の第７のマルチストリーム復号装置によれば、出力制御装置のデータ消費状況を見ながら、復号処理を進めることができるので、出力制御装置がデータを消費しきるぎりぎりまで復号処理を継続することができる。
【００３６】
本発明の第８のマルチストリーム復号装置によれば、復号装置のデータ供給量と、出力制御装置のデータ消費量とに応じて、出力画像を切り替えることができるので、たとえ復号処理が中断しても違和感のない画像を出力することができる。
【００３７】
本発明の第９のマルチストリーム復号装置によれば、ビットストリームを切り替える際にビットストリームの巻き戻しによるオーバーヘッドをなくすことができる。
【００３８】
本発明の第１０のマルチストリーム復号装置によれば、内部で処理できていないビットストリームの書き潰しを防ぐことができる。
【００３９】
本発明の第１１のマルチストリーム復号装置によれば、ビットストリーム切り替えによるオーバーヘッドを削減することができる。
【００４０】
本発明の第１２のマルチストリーム復号装置によれば、メモリバンド幅を復号処理するビットストリームに応じたピークバンド幅に抑えることができるので、外部メモリを共有しているようなシステムにおいて、他のアプリケーションにメモリバンド幅を与えることができる。
【００４１】
本発明の第１３のマルチストリーム復号装置によれば、復号処理するビットストリームに応じたクロック周波数を設定することで、消費電力を抑えることができる。
【００４２】
本発明の第１４のマルチストリーム復号装置によれば、複数のビットストリームの復号処理が規定時間よりも早く終了した場合に、クロックを停止することができるので、消費電力を抑えることができる。
【００４３】
本発明の第１５のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００４４】
本発明の第１６のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００４５】
本発明の第１７のマルチストリーム復号装置によれば、第２の所定単位、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際に第２の所定単位の上位階層の情報だけ退避するだけで、復号処理の再開ができる。
【００４６】
本発明の第１８のマルチストリーム復号装置によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【発明を実施するための最良の形態】
【００４７】
以下、本発明の実施の形態を、図面を参照して詳しく説明する。なお、図面において同一部分又は相当部分には同一の符号を付してその説明は繰り返さない。
【００４８】
以下に示す実施の形態では説明を簡略化するため、ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬのビットストリームを２ストリーム復号処理する際の動作とし、規定時間については１フレーム時間（１／３０秒）、デコーダの所定単位の終了通知を１ピクチャ、各ビットストリームのピクチャ構造もフレーム構造として説明する。
【００４９】
また、以下に示す実施の形態では説明を簡単にするため、２つのビットストリームをｃｈ０及びｃｈ１という呼び方で呼ぶこととする。
【００５０】
なお、以下に示す実施形態では、復号処理するビットストリーム数は２ストリームとしているが、ビットストリーム数に対する限定はなく、いくつであってもよい。
【００５１】
以下に示す実施形態では、規定時間を１フレーム時間としているが、規定時間に対する限定はなく、また、所定単位の終了通知を１ピクチャとしているが、所定単位に対する限定もなく、また、ビットストリームのピクチャ構造をフレーム構造としているが、ピクチャ構造に対する限定もない。
【００５２】
複数のビットストリームの組み合わせをＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬの２ストリームとして説明しているが、ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬとＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＭＬなどの組み合わせでもよく、ビットストリームの組み合わせに対する限定はない。また、ビットストリームの圧縮方式についてＭＰＥＧ２ Ｖｉｄｅｏを例に説明しているが、圧縮方式に特に限定はなく、Ｈ．２６４などの圧縮方式でもかまわない。
【００５３】
デコーダ部分についてＭＰＥＧ２の復号処理を想定した構成になっているが、デコーダ部分の構成については圧縮方式に応じた構成になっていればよいので、特に以下の実施形態で記載している構成でなくてもよい。また、デコーダ制御装置という呼び名が出てくるが、実装としてはハードウェアでもソフトウェアでも、どちらで構成されていてもよい。
【００５４】
《第１の実施形態》
第１の実施形態によるマルチストリーム復号装置の構成を図１に示す。図１のマルチストリーム復号装置は、複数のビットストリームを蓄積する蓄積装置である第１及び第２のストリームバッファ（ＳＢ）１２１，１２２と、これらのストリームバッファ１２１，１２２からの出力を切り替える第１の切り替え装置（ＳＷ）１２０と、デコーダ１１０と、復号データを蓄積するための第１及び第２のフレームメモリ（ＦＭ）１３１，１３２と、これらのフレームメモリ１３１，１３２を入力ビットストリームに応じて切り替える第２の切り替え装置（ＳＷ）１３０と、デコーダ制御装置１００とから構成される。デコーダ制御装置１００はヘッダ解析部１０１、時間管理部１０２、切り替え制御部１０３を含み、デコーダ１１０は可変長復号部１１１、逆量子化部１１２、逆ＤＣＴ部１１３、動き補償部１１４から構成される。第１の切り替え装置１２０と第２の切り替え装置１３０は、それぞれデコーダ制御装置１００内の切り替え制御部１０３からの制御信号１５５及び１５６により切り替えられる。
【００５５】
第１のストリームバッファ１２１と第２のストリームバッファ１２２に蓄積されたビットストリームは信号線１６０と信号線１６１を通して出力され、第１の切り替え装置１２０で選択されて、信号線１６２を通してデコーダ１１０に入力される。デコーダ１１０に入力されたビットストリームは可変長復号部１１１で可変長復号され、逆量子化部１１２で逆量子化され、逆ＤＣＴ部１１３で逆ＤＣＴされる。第１のフレームメモリ１３１からの入出力バス１７２と、第２のフレームメモリ１３２からの入出力バス１７３は第２の切り替え装置１３０で選択される。動き補償部１１４は第２の切り替え装置１３０で選択されたフレームメモリから信号線１７１を通して取得した参照画像と、逆ＤＣＴ部１１３の逆ＤＣＴ結果とを加算して、復元画像を作成し、作成された復元画像は信号線１７０を通して第２の切り替え装置１３０で選択されたフレームメモリに格納される。
【００５６】
デコーダ１１０は、それぞれのビットストリームの復号処理において、所定単位（第１の実施形態の説明ではピクチャ単位とする。）の復号処理が終了した時点で、信号線１５１を通して切り替え制御部１０３に対して復号処理の終了を通知する。
【００５７】
ここで、第１のストリームバッファ１２１、第１のフレームメモリ１３１はｃｈ０用、第２のストリームバッファ１２２、第２のフレームメモリ１３２はｃｈ１用として、以下を説明する。
【００５８】
上記のとおり、デコーダ制御装置１００はヘッダ解析部１０１、時間管理部１０２、切り替え制御部１０３から構成される。
【００５９】
ヘッダ解析部１０１は信号線１５０を通してビットストリームを取得、又は第１のストリームバッファ１２１、第２のストリームバッファ１２２から直接ビットストリームを取得し、スライス層より上位層（ピクチャ層以上：第１の実施形態では所定単位をピクチャとしているのでピクチャ層以上としているが、所定単位に応じて階層は変わる）のビットストリームの解析を行う。ヘッダ解析部１０１が入手したフレームレート及び画像サイズ情報は、時間管理部１０２に送られる。
【００６０】
時間管理部１０２は、ヘッダ解析部１０１から送られたそれぞれのビットストリームのフレームレート及び画像サイズと、デコーダ１１０の性能情報より、それぞれのビットストリームの復号処理の限界時間を決定する。
【００６１】
時間管理部１０２は、それぞれのビットストリームの復号処理が限界時間に到達した時点で、信号線１５２を通してデコーダ１１０に対して復号処理の中断を通知し、切り替え制御部１０３に対して復号処理するビットストリームの切り替えを通知する。デコーダ１１０は、時間管理部１０２から復号処理の中断通知を受けた場合は直ちに復号処理を中断する。
【００６２】
切り替え制御部１０３は、時間管理部１０２からのビットストリームの切り替え通知、又は、デコーダ１１０からのビットストリームの復号処理の終了通知１５１を受けて、復号処理するビットストリームの切り替えを行う。具体的に説明すると、切り替え制御部１０３は、制御信号１５５を通して第１の切り替え装置１２０を切り替え、制御信号１５６を通して第２の切り替え装置１３０を切り替える。
【００６３】
以下に時間管理部１０２における復号処理の限界時間の決定方法を、例を挙げて説明する。なお、説明を簡略化するため、以下の前提で行うこととする。
【００６４】
規定時間Ｔを１／３０秒（１フレーム時間）とし、デコーダ１１０はｃｈ０のビットストリーム（ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬ）の１ピクチャ分をａ０×Ｔで、ｃｈ１のビットストリーム（ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬ）の１ピクチャ分をｂ０×Ｔでそれぞれ復号処理できる性能を持っているものとする。また、規定時間内での性能見積もりで余った時間をΔＴ０とし、限界時間をＴ（limit）とする。
【００６５】
この場合、ΔＴ０は、
ΔＴ０＝規定期間−（ｃｈ０復号処理見積時間＋ｃｈ１復号処理見積時間）
＝Ｔ−（ａ０×Ｔ＋ｂ０×Ｔ）
＝（１−ａ０−ｂ０）Ｔ  ・・・  式（１）
のようになる。
【００６６】
以下、規定時間Ｔ内でｃｈ０のビットストリームから復号処理を行うとして限界時間を設定する。なお、以下は説明を簡略化するため、ｃｈ０から復号処理を行うとして記載するが、ビットストリームの復号処理順に特に限定はない。
【００６７】
この場合、Ｔ（limit）は、
Ｔ（limit ch0）＝ｃｈ０復号処理見積時間＋α０×ΔＴ０
＝ａ０×Ｔ＋α０×（１−ａ０−ｂ０）Ｔ
・・・  式（２）
Ｔ（limit ch1）＝ｃｈ０復号処理見積時間＋ｃｈ１復号処理見積時間＋β０×ΔＴ０
＝ａ０×Ｔ＋ｂ０×Ｔ＋β０×（１−ａ０−ｂ０）Ｔ
・・・  式（３）
０≦Ｔ（limit ch0），Ｔ（limit ch1）≦Ｔ    ・・・  式（４）
のようになる。ここに、α０、β０は係数である。
【００６８】
係数α０、β０は式（４）を満たしていれば、特に制約はない。α０やβ０の付け方によっては、ビットストリームの復号処理に優先順位を付けることもできる。また、２ストリーム復号処理する性能がない場合でも、規定時間内で限界時間の制約を付けることで一方のストリームのみ性能保証を行うという設定もできる。
【００６９】
なお、ここでは限界時間算出方法の例を挙げたが、上記算出方法でなくてはならないというわけではない。
【００７０】
次に、第１の実施形態によるマルチストリーム復号装置の動作を図２を用いて説明する。図２中のリミット２００はｃｈ０のビットストリーム復号処理にかけられる限界時間を示し、時刻２２０〜２３０はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されている(1)、(2)、(3)、(4)はそれぞれのビットストリームを復号処理する順番に付けたピクチャ番号である。また、説明簡略化のため、ｃｈ１の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット２００は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。
【００７１】
デコーダ制御装置１００におけるビットストリームの切り替え動作の代表的なパターンを以下で説明する。
【００７２】
期間２１０はｃｈ０のビットストリームの復号処理が限界時間内で終わった場合の動作を示す。
【００７３】
まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２１で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１０での制御が終了する。
【００７４】
期間２１１はｃｈ０のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間内で復号処理の再開が行われた場合の動作を示す。
【００７５】
まず、時刻２２２でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２３において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２４で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２２４の時点ではまだ規定時間経過していないので、デコーダ制御部１００が時刻２２３で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ０のビットストリームの復号処理を継続再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２５で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、規定期間２１１での制御が終了する。なお、中断したビットストリームの復号処理を時刻２２４で継続して再開したが、再開せずに中断したピクチャを捨ててしまうという選択肢があってもいい。
【００７６】
期間２１２と期間２１３はｃｈ０のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間をまたいで復号処理の再開が行われた場合の動作を示す。
【００７７】
まず、時刻２２５でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２６において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２７で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１２での制御が終了する。時刻２２７の時点では、直前の規定時間でのｃｈ０のビットストリームの１ピクチャ分の復号処理が終了していないので、デコーダ制御部１００が時刻２２６で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０が直前の規定時間内で復号処理すべきだったｃｈ０のビットストリームの復号処理を継続再開する。直前の規定時間内で復号処理すべきだったｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２８でも、現在の規定時間内でのｃｈ０のビットストリームの復号処理の限界時間（リミット２００）まで到達していないので、ｃｈ０のビットストリームの次のピクチャの復号処理を継続して行う。ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２９で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２３０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２１３での制御が終了する。なお、前の規定時間で中断したビットストリームの復号処理を時刻２２７で継続して再開したが、直前の規定時間内で処理すべきだったピクチャを捨てて、期間２１３内で復号処理すべきピクチャから復号処理を開始するという選択肢があってもいい。
【００７８】
以上、デコーダ制御装置１００におけるビットストリームの切り替え動作の３パターンを例に説明したが、復号処理の中断・再開は、期間２１１と期間２１２との組み合わせなど、切り替え方法も組み合わせが色々あり、上記３パターンしかないというわけではないということは言うまでもない。また、ここではｃｈ０のビットストリームの復号処理の中断と再開しか記載していないが、ｃｈ１のビットストリームの復号処理の中断と再開がないわけではないということも言うまでもない。
【００７９】
このように第１の実施形態によれば、ビットストリーム間で互いに影響を与えることなしに、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００８０】
しかも、規定時間ごとにそれぞれのビットストリームの復号処理完了までに割り当てられる限界時間を設定できるので、それぞれのビットストリームの復号処理の状況に応じて最適な処理時間を割り当てることができる。
【００８１】
また、復号処理の限界時間に達した時点で直ちに復号処理の中断ができるので、復号処理を中断したビットストリーム以外の他のビットストリームの復号処理に影響を与えることがない。
【００８２】
また、復号処理を中断したビットストリームの復号処理を再開することができるので、中断されたビットストリームとしては途切れることなしに復号処理できる。
【００８３】
《第２の実施形態》
第２の実施形態では、時間管理部１０２における規定時間内での復号処理の限界時間の再割り当て方法について例を挙げて説明する。装置構成は図１のとおりである。ただし、ストリームバッファ及びフレームメモリは３チャンネル分とする。
【００８４】
ここで説明を簡略化するため、以下の前提で行うこととする。すなわち、規定時間Ｔを１／３０秒（１フレーム時間）とし、デコーダ１１０はｃｈ０のビットストリーム（ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬ）の復号処理をａ１×Ｔ時間行って中断、ｃｈ１のビットストリーム（ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬ）の復号処理をｂ１×Ｔ時間行って中断、ｃｈ２のビットストリーム（ＭＰＥＧ２ Ｖｉｄｅｏ ＭＰ＠ＨＬ）の１ピクチャ分をｃ１×Ｔ時間行って完了する。また、ｃｈ０は復号処理を中断した時点でＸ１マクロブロックだけ、ｃｈ１は復号処理を中断した時点でＹ１マクロブロックだけ、それぞれ１ピクチャ完了するまでに残っているものとする。また、ｃｈ２のビットストリームの復号処理完了時点で規定時間に対して余っている時間をＴ１、再割り当てした限界時間をＴ１（limit）とする。
【００８５】
この場合、Ｔ１は、
Ｔ１＝規定時間−（ｃｈ０復号処理時間＋ｃｈ１復号処理時間＋ｃｈ２復号処理時間）
＝Ｔ−（ａ１×Ｔ＋ｂ１×Ｔ＋ｃ１×Ｔ）
＝（１−ａ１−ｂ１−ｃ１）Ｔ  ・・・  式（４）
のようになる。
【００８６】
以下、余り時間Ｔ１内でｃｈ０のビットストリームから復号処理の再開を行うとして限界時間を再設定する。また、Ｔ１は復号再開時点を開始時刻０として記載する。なお、以下は説明を簡略化するため、ｃｈ０から復号処理再開を行うとして記載するが、ビットストリームの復号処理再開順に特に限定はない。
【００８７】
この場合、Ｔ１（limit）は、
Ｔ１（limit ch0）＝（Ｘ１／（Ｘ１＋Ｙ１））×（１−ａ１−ｂ１−ｃ１）Ｔ
・・・  式（５）
Ｔ１（limit ch1）＝Ｔ１
＝（１−ａ１−ｂ１−ｃ１）Ｔ  ・・・  式（６）
のようになる。
【００８８】
なお、ここでは説明を簡略化するため、デコーダ１１０の性能に応じた限界時間の再割り当てに関する記載は行わないが、残りマクロブロック数から第１の実施形態と同じように、デコーダ１１０の性能を考慮した上で限界時間の再割り当てを行ってもよい。
【００８９】
ここでは再割り当て後の限界時間算出方法の例を挙げたが、上記算出方法でなくてはならないというわけではない。
【００９０】
次に、第２の実施形態によるマルチストリーム復号装置の動作を図３を用いて説明する。図３中のリミット２５０はｃｈ０のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５１はｃｈ０とｃｈ１のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５２は限界時間再割り当て後のｃｈ０のビットストリーム復号処理完了までにかけられる限界時間を示し、リミット２５３は限界時間再割り当て後のｃｈ０とｃｈ１のビットストリーム復号処理完了までにかけられる限界時間を示し、時刻２７０〜２７８はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されている(1)、(2)はそれぞれのビットストリームで復号処理する順番に付けたピクチャ番号である。また、説明簡略化のため、ｃｈ２の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット２５０、リミット２５１は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。
【００９１】
デコーダ制御装置１００における限界時間の再割り当ての動作について、以下に説明する。
【００９２】
期間２６０はｃｈ０のビットストリームの復号処理が限界時間内で終わった場合の動作を示す。この動作は第１の実施形態で説明した内容と、復号処理するビットストリーム数が変わるだけで同じである。
【００９３】
まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２７０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２７１で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ２のビットストリームに切り替える。次にｃｈ２のビットストリームの１ピクチャ分の復号処理が終了した時刻２７２で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２６０での制御が終了する。
【００９４】
期間２６１はｃｈ０とｃｈ１のビットストリームの復号処理が限界時間内で終わらず、復号処理の中断が発生した後、規定期間内で復号処理の限界時間の再割り当てが行われたうえ、復号処理の再開が行われた場合の動作を示す。
【００９５】
まず、時刻２７３でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２５０になった時点でも完了していないため、時刻２７４において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ１の復号処理の限界時間であるリミット２５１になった時点でも完了していないため、時刻２７５において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ２のビットストリームに切り替える。次にｃｈ２のビットストリームの１ピクチャ分の復号処理が終了した時刻２７６で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２７６の時点ではまだ規定時間経過していないので、ｃｈ０とｃｈ１に対する復号処理の限界時間の再割り当てを行う。
【００９６】
時刻２７６において、デコーダ制御部１００が時刻２７４で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ０のビットストリームの復号処理を再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２７７で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、ビットストリームをｃｈ１のビットストリームに切り替える。次に時刻２７７において、デコーダ制御部１００が時刻２７５で退避したｃｈ１のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、デコーダ１１０がｃｈ１のビットストリームの復号処理を再開する。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２７８で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、切り替え制御部１０３がビットストリームをｃｈ０のビットストリームに切り替え、規定期間２６１での制御が終了する。なお、ここではビットストリームの復号処理の再開順をｃｈ０、ｃｈ１としたが、復号処理を再開するビットストリーム順番については特に限定はない。
【００９７】
限界時間再割り当て後の動作は、規定時間の最初に限界時間を割り当てた場合の動作（第１の実施形態で説明した内容）と同じなので、ここでは説明を繰り返さない。
【００９８】
このように第２の実施形態によれば、規定時間内の余った時間を、復号処理を中断したビットストリームに割り当て直すことにより、復号装置の性能を最大限に利用した形で、複数ビットストリームの復号処理ができる。
【００９９】
《第３の実施形態》
第３の実施形態によるマルチストリーム復号装置の構成を図４に示す。図４のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内にビットカウンタ３００を備え、デコーダ制御装置１００内に巻き戻し制御部３１０を備えた構成になっている。
【０１００】
ビットカウンタ３００は、デコーダ１１０がビットストリーム階層（ピクチャ層、又は、スライス層、又は、マクロブロック層など）の先頭からの処理ビット量をカウントするカウンタである。
【０１０１】
巻き戻し制御部３１０は、ビットカウンタ３００の値を信号線３２０を通して取り込み、それぞれのビットストリームを蓄積するための第１のストリームバッファ１２１と第２のストリームバッファ１２２のポインタを巻き戻す機能を備えている。
【０１０２】
次に、第３の実施形態によるマルチストリーム復号装置の動作を図２と図５を用いて説明する。図５は復号処理したフレームのイメージを示すもので、ピクチャ３５０は複数のスライス層（スライス０、スライス１、・・・、スライスＮ、・・・）から構成される。
【０１０３】
なお、以下では説明を簡略化するため、ビットカウンタ３００をスライス層先頭からのビット量をカウントするものとして記載するが、スライス層先頭カウントするものに限定されるというわけではないことは言うまでもない。
【０１０４】
復号処理の中断と再開の際のビットカウンタ３００と巻き戻し制御部３１０の使用方法を、図２における期間２１１の動作を元に説明を行う。
【０１０５】
まず、時刻２２２でｃｈ０のビットストリームの復号処理が開始される。次にｃｈ０のビットストリームの復号処理が行われるが、１ピクチャ分の復号処理がｃｈ０の復号処理の限界時間であるリミット２００になった時点でも完了していないため、時刻２２３において、デコーダ制御装置１００内の時間管理部１０２が信号線１５２を通して、デコーダ１１０に復号処理の中断を通知し、更に、切り替え制御部１０３にビットストリームの切り替えを通知する。ここでは、図５のスライスＮの途中で中断が発生したものとして説明を進める。デコーダ１１０は中断通知を受けて、復号処理を中断し、デコーダ制御装置１００はデコーダ１１０内に残っている復号処理再開に必要な情報を退避する。この際、ビットカウンタ３００の情報も退避する。切り替え装置１０３は時間管理部１０２からのビットストリームの切り替え通知を受けて、ビットストリームをｃｈ１のビットストリームに切り替える。次にｃｈ１のビットストリームの１ピクチャ分の復号処理が終了した時刻２２４で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送る。時刻２２４の時点ではまだ規定時間経過していないので、デコーダ制御部１００が時刻２２３で退避したｃｈ０のビットストリームの復号処理の再開に必要な情報をデコーダ１１０に設定し、次に巻き戻し制御部３１０が、ビットカウンタ３００の情報を元に、ｃｈ０側のビットストリーム蓄積装置である第１のストリームバッファ１２１のポインタをスライスＮの先頭まで巻き戻す。次にデコーダ１１０がｃｈ０のビットストリームの復号処理をスライスＮの先頭から再開する。次にｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２５で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、規定期間２１１での制御が終了する。
【０１０６】
以上、復号処理の限界時間に達した場合での復号処理の中断と再開を例に、ビットカウンタ３００と巻き戻し制御部３１０の使用方法を説明したが、限界時間に達しない場合でも復号処理の中断や再開をする際にこれらを使用できることは言うまでもない。
【０１０７】
このように第３の実施形態によれば、例えば、ピクチャやスライスやマクロブロックラインやマクロブロックの先頭から復号処理を再開することができるので、復号処理を中断した際にビットカウンタ３００がカウントしているビットストリーム階層の上位階層の情報だけ退避するだけで、復号処理の再開ができる。
【０１０８】
《第４の実施形態》
第４の実施形態によるマルチストリーム復号装置の構成を図６に示す。図６のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ制御装置１００内にバッファ管理部４００を備え、更に、第１のフレームメモリ１３１からの出力を信号線４２０を通して、第２のフレームメモリ１３２からの出力を信号線４２１を通してそれぞれ取り込み、信号線４２３を通して画像を出力する出力制御装置４１０を備えた構成になっている。
【０１０９】
バッファ管理部４００は、それぞれのビットストリームに対応したフレームメモリ１３１，１３２へのデータ供給量をデコーダ１１０から信号線４３０を通して取り込み、それぞれのビットストリームに対応したフレームメモリ１３１，１３２へのデータ消費量を出力制御装置４１０から信号線４４０を通して取り込む。
【０１１０】
バッファ管理部４００は、信号線４３０と信号線４４０から取り込んだ情報より、それぞれのビットストリームに対応したフレームメモリ１３１，１３２上のデータ残量を計算し、データ残量が少ないような場合は、デコーダ１１０に対して信号線４３１を通して、復号処理の中断を通知し、出力制御装置４１０に対して信号線４４１を通して、出力画像の切り替えを通知する。
【０１１１】
デコーダ１１０は、バッファ管理部４００からの復号処理の中断通知を受けて、復号処理を中断し、出力制御装置４１０はバッファ管理部４００からの出力画像切り替え通知を受けて、出力画像を切り替える。
【０１１２】
なお、フレームメモリ１３１，１３２のデータ残量がどの程度までになった場合に、バッファ管理部４００が復号処理の中断と出力画像の切り替えを通知するかは特に限定はない。
【０１１３】
次に、第４の実施形態によるマルチストリーム復号装置の動作を図７を用いて説明する。図７中のリミット４５０はｃｈ０のビットストリーム復号処理にかけられる限界時間を示し、時刻４６０〜４６３はビットストリームの切り替え又は所定単位の復号処理が終了した時刻を示す。デコーダの部分で記載されているＩ０，Ｐ３，Ｂ１，Ｂ２，Ｐ６はピクチャの名称と出力順を示すもので、Ｉ０はＩピクチャで一番目に出力、Ｐ３はＰピクチャで四番目に出力、Ｂ１はＢピクチャで二番目に出力、Ｂ２はＢピクチャで三番目に出力、Ｐ６はＰピクチャで七番目に出力ということになる。また、説明簡略化のため、ｃｈ１の復号処理完了までにかけられる限界時間は規定期間とし、図中では記載しない。なお、以下の説明ではリミット４５０は全ての規定期間で同じ値を取っているが、規定期間ごとに再設定可能であり、値が変わってもかまわない。
【０１１４】
期間４７０、期間４７１では復号処理しか行われておらず、期間４７２から画像が出力されるものとし、期間４７２で復号処理の中断が発生し、期間４７３で中断した復号処理の再開と、バッファ管理部４００からの通知により、復号処理の中断と出力画像の切り替えが発生した場合の動作を例に説明する。以下では、中断と復帰の際の詳細な制御については第１の実施形態で説明しているので繰り返しを行わない。
【０１１５】
まず、期間４７０でｃｈ０とｃｈ１のビットストリームにおいてＩ０ピクチャの復号処理が行われる。次に、期間４７１でｃｈ０とｃｈ１のビットストリームにおいてＰ３ピクチャの復号処理が行われる。期間４７０と期間４７１では復号処理の中断は発生していないものとする。
【０１１６】
次に期間４７２ではｃｈ０とｃｈ１のビットストリームにおいてＢ１ピクチャの復号処理が行われ、ｃｈ０とｃｈ１のビットストリームのＩ０ピクチャの出力が行われる。
【０１１７】
時刻４６０でｃｈ０のビットストリームにおいてＢ１ピクチャの復号処理が開始される。時刻４６１でｃｈ０のビットストリームのＢ１ピクチャの復号処理がｃｈ０の復号処理の限界時間４５０までに完了せず、ｃｈ０の復号処理が中断され、ｃｈ１のビットストリームのＢ１ピクチャの復号処理が開始され、時刻４６２で復号処理が終了する。
【０１１８】
次に期間４７３ではｃｈ０のビットストリームのＢ１ピクチャとＢ２ピクチャの復号処理、ｃｈ１のビットストリームのＢ２ピクチャの復号処理が行われ、ｃｈ０とｃｈ１のビットストリームのＢ１ピクチャの出力が開始される。
【０１１９】
時刻４６２でｃｈ０のビットストリームのＢ１ピクチャの復号処理が再開され、同時にｃｈ０とｃｈ１のビットストリームのＢ１ピクチャの出力が開始される。この場合、ｃｈ０のビットストリームのＢ１ピクチャの復号処理と、出力処理が同時に発生することとなる。時刻４６２ではＢ１ピクチャのデコーダ１１０での復号処理のデータ供給量が、Ｂ１ピクチャの出力制御装置４１０のデータ消費量を上回っているため、期間４７３の最初のうちはｃｈ０のＢ１ピクチャが出力される。
【０１２０】
時刻４６３においてデコーダ１１０のデータ供給量と、出力制御装置４１０のデータ消費量がほとんど変わらなくなると、バッファ管理部４００がデコーダ１１０に対してｃｈ０のビットストリームのＢ１ピクチャの復号処理の中断と、出力制御装置４１０に対して、出力画像の切り替えを通知する。デコーダ１１０はバッファ管理部４００からの復号処理中断通知を受けて、Ｂ１ピクチャの復号処理を中断し、ピクチャをスキップし、Ｂ２ピクチャの復号処理を開始する。出力制御装置４１０はバッファ管理部４００からの出力画像切り替え通知を受けて、ｃｈ０側の出力画像をＢ１ピクチャから、既に、復号処理が完了しているＩ０ピクチャに切り替える。ここではフレームメモリ１３１に対するデコーダ１１０側のデータ供給量と、出力制御装置４１０のデータ消費量がほとんど変わらなくなったとしたが、差がある場合はそのまま復号処理が継続され、出力画像の切り替えも起こらない。
【０１２１】
なお、出力画像を切り替える際に、Ｉ０ピクチャに切り替えたが、どの画像に切り替えるかは特に限定はない。
【０１２２】
このように第４の実施形態によれば、出力制御装置４１０のデータ消費状況を見ながら、復号処理を進めることができるので、出力制御装置４１０がデータを消費しきるぎりぎりまで復号処理を継続することができる。
【０１２３】
また、デコーダ１１０のデータ供給量と、出力制御装置４１０のデータ消費量に応じて、出力画像を切り替えることができるので、たとえ復号処理が中断しても違和感のない画像を出力することができる。
【０１２４】
《第５の実施形態》
第５の実施形態によるマルチストリーム復号装置の構成を図８に示す。図８のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内に未処理ビットカウンタ５００と、入力バッファ（ＩＢ）５１０とを備え、デコーダ制御装置１００内に巻き戻し制御部３１０を備えた構成になっている。
【０１２５】
未処理ビットカウンタ５００は、入力バッファ５１０にあるビットストリームのうち、デコーダ１１０の可変長復号部１１１でまだ処理されていないビット量を観測するカウンタである。
【０１２６】
巻き戻し制御部３１０は、未処理ビットカウンタ５００の値を信号線５２０を通して取り込み、信号線３３０を通して、それぞれのビットストリームを蓄積するための第１のストリームバッファ１２１と第２のストリームバッファ１２２のポインタを巻き戻す機能を備えている。
【０１２７】
次に、第５の実施形態によるマルチストリーム復号装置の動作を図２と図９を用いて説明する。図９は第１のストリームバッファ１２１と第２のストリームバッファ１２２とのイメージ図で、ＷＰがストリームバッファ１２１，１２２への書き込み状況を表すポインタであり、ＲＰがストリームバッファ１２１，１２２からの読み出し状況を表すポインタであって、未処理ビットカウンタ５００の値を用いて、巻き戻し制御部３１０がＲＰをＲＰ’まで巻き戻す。
【０１２８】
未処理ビットカウンタ５００と巻き戻し制御部３１０の使用方法を、図２における期間２１０の動作を元に説明を行う。
【０１２９】
まず、ｃｈ０のビットストリームの１ピクチャ分の復号処理が終了した時刻２２０で、デコーダ１１０が信号線１５１を通して、デコーダ制御装置１００内の切り替え制御部１０３に終了通知を送り、デコーダ制御装置１００が未処理ビットカウンタ５００の値を退避し、切り替え制御部１０３がビットストリームをｃｈ１のビットストリームに切り替える。
【０１３０】
時刻２２２において、ｃｈ０のビットストリームの復号処理を開始する前に、巻き戻し制御部３１０が時刻２２０で退避した未処理ビットカウンタ５００の値を用いて、ｃｈ０側である第１のストリームバッファ１２１のポインタを巻き戻し、デコーダ１１０が実際に処理したビットストリームの位置まで巻き戻す。なお、ここではｃｈ１での制御は記載しないが、ｃｈ１においても同じ動作を行う。
【０１３１】
このように第５の実施形態によれば、デコーダ１１０の内部での消費していないビット量が判るので、ビットストリームを切り替える際にビットストリームの巻き戻しによるオーバーヘッドをなくすことができる。
【０１３２】
《第６の実施形態》
第６の実施形態によるマルチストリーム復号装置の構成を図１０に示す。図１０のマルチストリーム復号装置は、第５の実施形態によるマルチストリーム復号装置を含み、更に、第１及び第２のストリームバッファ１２１，１２２は図９で記載している巻き戻し後のＲＰ’情報を用いて、未処理ビットデータの上書きを防止する機能を備えている。
【０１３３】
第１のストリームバッファ１２１と第２のストリームバッファ１２２はＲＰ’情報を元にビットストリーム供給側に対して、ストリームバッファのデータ書き込みの限界値を信号線５５０と信号線５５１を通して通知し、デコーダ１１０での未処理データ書き潰しを防ぐ。
【０１３４】
このように第６の実施形態によれば、デコーダ１１０の内部で処理できていないビットストリームの書き潰しを防ぐことができる。
【０１３５】
《第７の実施形態》
第７の実施形態によるマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、規定期間の開始時点で、直前で復号処理していたビットストリームの情報を元に、切り替え制御部１０３が復号処理するビットストリーム順を決定する機構を備える。装置構成は、図１のとおりである。
【０１３６】
第７の実施形態によるマルチストリーム復号装置の動作を図１１に示す。以下では、規定期間の開始時刻のうち、時刻６２０と時刻６２１での動作を例に説明する。
【０１３７】
規定期間６１０はｃｈ０、ｃｈ１の順でビットストリームの復号処理をしていたので、時刻６２０では、切り替え制御部１０３が、規定期間６１１の開始の直前で復号処理していたのはｃｈ１と判断し、ビットストリームの切り替えを行わず、規定期間６１１ではｃｈ１、ｃｈ０の順でビットストリームの復号処理が行われる。同じように時刻６２１では、切り替え制御部１０３が規定期間６１２の開始の直前で復号処理していたのはｃｈ０と判断し、ビットストリームの切り替えを行わず、規定期間６１２ではｃｈ０、ｃｈ１の順でビットストリームの復号処理が行われる。なお、規定時間内でビットストリームの復号処理の中断と再開が発生し、ビットストリームの処理順が不規則になった場合でも同じである。
【０１３８】
このように第７の実施形態によれば、ビットストリーム切り替えによるオーバーヘッドを削減することができる。
【０１３９】
《第８の実施形態》
第８の実施形態によるマルチストリーム復号装置の構成を図１２に示す。図１２のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、デコーダ１１０内にメモリアクセス制御部６５０を備えた構成になっている。
【０１４０】
メモリアクセス制御部６５０は、ヘッダ解析部１０１が取得した画像サイズとフレームレートの情報を信号線６６０を通して取得し、デコーダ制御装置１００から復号処理するビットストリーム数などの情報を信号線６６１を通して取得し、デコーダ１１０が規定期間内に復号処理を終了するために必要なメモリアクセスレートを決定する。
【０１４１】
以下にメモリアクセスレートの決定方法を、
(i)    ＨＤ（High Definition）２ｃｈデコードの場合
ｃｈ０  画像サイズ  １９２０ピクセル×１０８８ライン
ｃｈ１  画像サイズ  １９２０ピクセル×１０８８ライン
(ii)   ＨＤ１ｃｈデコードの場合
ｃｈ０  画像サイズ  １９２０ピクセル×１０８８ライン
ｃｈ１  復号処理なし
(iii)  ＳＤ（Standard Definition）２ｃｈデコード場合
ｃｈ０  画像サイズ  ７２０ピクセル×４８０ライン
ｃｈ１  画像サイズ  ７２０ピクセル×４８０ライン
という例を挙げて記載する。
【０１４２】
メモリアクセス制御部６５０は、デコーダ制御装置１００から上記情報を入手し、規定期間内に復号処理を終了するために必要なメモリアクセスレートを判定し、メモリアクセスレートを決定する。この場合、画像サイズに応じて必要なメモリアクセスレートが決定される。なお、ここでは説明簡略化のため、例(i)でのメモリアクセスレートを基準として、Ａ回／時間として記載し、フレームレートは同じとする。
【０１４３】
(i) ＨＤ２ｃｈデコードの場合（基準）、規定期間内に復号処理が終了するために必要なメモリアクセスレートがＡ回／時間なので、メモリアクセス制御部６５０がメモリアクセスレートをＡ回／時間に設定する。
【０１４４】
(ii) ＨＤ１ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なメモリアクセスレートはＨＤ２ｃｈデコードと比べて１／２となる。メモリアクセス制御部６５０はメモリアクセスが（１／２）Ａ回／時間になるようにメモリアクセスレートを設定する。
【０１４５】
(iii) ＳＤ２ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なメモリアクセスレートはＨＤ２ｃｈデコードと比べて（７２０×４８０）／（１９２０×１０８８）＝約１／６となる。メモリアクセス制御部６５０はメモリアクセスが約（１／６）Ａ回／時間になるようにメモリアクセスレートを設定する。
【０１４６】
このようにして算出した値を元に、メモリアクセス制御部６５０はメモリアクセスのレート制御を行う。図１３に上記の例(i)、(ii)、(iii)におけるメモリアクセス頻度のイメージ図を示す。メモリアクセス制御部６５０によるメモリアクセスのレート制御を行わない場合は、(i)、(ii)、(iii)ともピークメモリバンド幅は例(i)と同じだけ使用することになるが、レート制御を行った場合は、(i)、(ii)、(iii)に合ったピークメモリバンド幅に抑えることができる。
【０１４７】
このように第８の実施形態によれば、復号処理するビットストリームに応じたピークメモリバンド幅にメモリバンド幅を抑えることができるので、外部メモリを共有しているようなシステムにおいて、他のアプリケーションにメモリバンド幅を与えることができる。
【０１４８】
《第９の実施形態》
第９の実施形態によるマルチストリーム復号装置の構成を図１４に示す。図１４のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、クロック制御部７００を備えた構成になっている。
【０１４９】
クロック制御部７００は、ヘッダ解析部１０１が取得した画像サイズとフレームレートの情報を信号線７１０を通して取得し、デコーダ制御装置１００から復号処理するビットストリーム数などの情報を信号線７１１を通して取得し、デコーダ１１０が規定期間内に復号処理を終了するために必要なだけのクロックを信号線７１２を通して供給する。
【０１５０】
クロック制御部７００は、デコーダ制御装置１００から上記情報を入手し、規定期間内に復号処理を終了するために必要なクロック周波数を判定し、クロック周波数を制御する。この場合、画像サイズに応じて必要なクロック周波数が決定される。なお、ここでは説明簡略化のため、上記の例(i)のクロック周波数を基準として、Ｓメガヘルツ（ＭＨｚ）として記載し、フレームレートは同じとする。
【０１５１】
上記の例(i)、(ii)、(iii)におけるクロック制御は、次のとおりである。
【０１５２】
(i) ＨＤ２ｃｈデコードの場合（基準）、規定期間内に復号処理が終了するために必要なクロック周波数がＳＭＨｚなので、クロック制御部７００がクロック周波数をＳＭＨｚに設定する。
【０１５３】
(ii) ＨＤ１ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なクロック周波数はＨＤ２ｃｈデコードと比べて１／２となる。クロック制御部７００はクロック周波数が（１／２）ＳＭＨｚになるようにクロック周波数を設定する。
【０１５４】
(iii) ＳＤ２ｃｈデコードの場合、画像サイズ情報より規定期間内に復号処理が終了するために必要なクロック周波数はＨＤ２ｃｈデコードと比べて（７２０×４８０）／（１９２０×１０８８）＝約１／６となる。クロック制御部７００はクロック周波数が約（１／６）ＳＭＨｚになるようにクロック周波数を設定する。
【０１５５】
このようにして算出した値を元にクロック制御部７００はクロック周波数の制御を行う。図１５に例(i)、(ii)、(iii)のイメージ図を示す。クロック制御部７００によるクロック周波数制御を行わない場合は、(i)、(ii)、(iii)ともクロック周波数が同じであるため、同じだけの消費電力を使用することになるが、クロック周波数制御を行った場合は、(i)、(ii)、(iii)に合ったクロック周波数に設定することができるので、(i)、(ii)、(iii)に合った消費電力に抑えることができる。
【０１５６】
このように第９の実施形態によれば、復号処理するビットストリームに応じたクロック周波数を設定することで、消費電力を抑えることができる。
【０１５７】
《第１０の実施形態》
第１０の実施形態によるマルチストリーム復号装置の構成を図１６に示す。図１６のマルチストリーム復号装置は、第１の実施形態によるマルチストリーム復号装置を含み、更に、クロック制御部７５０を備えた構成になっている。
【０１５８】
クロック制御部７５０は、時間管理部１０２から規定時間の情報を信号線７６０を通して取得し、デコーダ１１０からピクチャ単位の終了通知を受けて、デコーダ１１０に対してクロック供給が必要かどうか判断し、信号線７６１を通じてデコーダ１１０に供給しているクロックを供給したり、停止したりする。
【０１５９】
次に、第１０の実施形態によるマルチストリーム復号装置の動作を図１７を用いて説明する。ここでは、期間８１０の動作をクロック供給と停止について説明する。
【０１６０】
期間８１０では時刻８００においてクロック制御部７５０がデコーダ１１０にクロック供給を開始する。時刻８０１にｃｈ０、ｃｈ１のビットストリームの復号処理が完了すると、この時点で規定期間内でデコーダ１１０を動作させる必要はなくなるので、クロック制御部７５０がデコーダ１１０に対するクロック供給を停止する。クロック制御部７５０は規定期間ごとにこの制御を繰り返す。
【０１６１】
このように、クロック制御部７５０はデコーダ１１０を動作させる必要がある場合のみクロックを供給することで消費電力を抑えることができる。
【０１６２】
このように第１０の実施形態によれば、複数のビットストリームの復号処理が規定時間よりも早く終了した場合に、クロックを停止することができるので、消費電力を抑えることができる。
【産業上の利用可能性】
【０１６３】
本発明のマルチストリーム復号装置は、デジタルテレビや、ＤＶＤ、ＤＶＲなどの蓄積メディアにおける復号装置への適用が可能である。
【図面の簡単な説明】
【０１６４】
【図１】第１、第２及び第７の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図２】第１の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図３】第２の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図４】第３の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図５】第３の実施形態によるマルチストリーム復号装置の動作説明図である。
【図６】第４の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図７】第４の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図８】第５の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図９】第５の実施形態によるマルチストリーム復号装置の動作説明図である。
【図１０】第６の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１１】第７の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１２】第８の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１３】第８の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１４】第９の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１５】第９の実施形態によるマルチストリーム復号装置の動作説明図である。
【図１６】第１０の実施形態によるマルチストリーム復号装置の全体構成を示す図である。
【図１７】第１０の実施形態によるマルチストリーム復号装置の動作を示すタイミングチャートである。
【図１８】従来のマルチストリーム復号装置の全体構成を示す図である。
【符号の説明】
【０１６５】
１００  デコーダ制御装置
１０１  ヘッダ解析部
１０２  時間管理部
１０３  切り替え制御部
１１０  デコーダ
１１１  可変長復号部
１１２  逆量子化部
１１３  逆ＤＣＴ部
１１４  動き補償部
１２０，１３０  切り替え装置（ＳＷ）
１２１，１２２  ストリームバッファ（ＳＢ）
１３１，１３２  フレームメモリ（ＦＭ）
３００  ビットカウンタ
３１０  巻き戻し制御部
４００  バッファ管理部
４１０  出力制御装置
５００  未処理ビットカウンタ
５１０  入力バッファ（ＩＢ）
６５０  メモリアクセス制御部
７００，７５０  クロック制御部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007032123.tif 000020
【図２】
2007032123.tif 000021
【図３】
2007032123.tif 000022
【図４】
2007032123.tif 000023
【図５】
2007032123.tif 000024
【図６】
2007032123.tif 000025
【図７】
2007032123.tif 000026
【図８】
2007032123.tif 000027
【図９】
2007032123.tif 000028
【図１０】
2007032123.tif 000029
【図１１】
2007032123.tif 000030
【図１２】
2007032123.tif 000031
【図１３】
2007032123.tif 000032
【図１４】
2007032123.tif 000033
【図１５】
2007032123.tif 000034
【図１６】
2007032123.tif 000035
【図１７】
2007032123.tif 000036
【図１８】
2007032123.tif 000037
【国際調査報告】
2007032123.tif 000038
2007032123.tif 000039