(57)【要約】【課題】  複雑なバンク制御を行うことなく、高速逆方向再生を実現する。【解決手段】  −２倍速再生時、バンクＮＯ．０乃至５は、ＩおよびＰピクチャに占有され、デコード順に格納されるようになされている。そして、バンクＮｏ．５にＩ２ピクチャが格納された次のタイミングで、バンクＮｏ．６にＢ１ピクチャが格納され、Ｂ１ピクチャ表示タイミングの次のタイミングで、バンクＮｏ．７にＢ１２ピクチャが格納され、バンクＮｏ．６が開放される。その後、バンクＮｏ．６および７には、間引かれていないＢピクチャが、Ｂピクチャの表示タイミングがデコードタイミングに対して１フレーム遅れるように交互に格納され、表示後に開放される。バンクＮＯ．０乃至５は、ピクチャの表示か、格納されていたＩピクチャまたはＰピクチャの参照画像としての利用が終了した時点のうちのいずれか遅いタイミングで開放される。本発明は、再生装置に適用できる。【選択図】図３４
2006157871.tif 000002
【特許請求の範囲】
【請求項１】
圧縮符号化映像データをデコードする情報処理装置において、
前記圧縮符号化映像データをデコードするデコード手段と、
前記デコード手段への前記圧縮符号化映像データの供給を制御する供給制御手段と、
前記供給制御手段および前記デコード手段が実行する処理を制御する制御手段と
を備え、
前記デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、
前記制御手段は、ＩピクチャおよびＰピクチャが、前記バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、前記バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、前記デコード手段によるデコード処理を制御する
情報処理装置。
【請求項２】
前記デコード手段は、前記処理単位に含まれる前記Ｉピクチャおよび前記Ｐピクチャのピクチャ数に２を加えた数のピクチャを保持することができる前記バンクメモリを備える
請求項１に記載の情報処理装置。
【請求項３】
前記デコード手段は、３つ備えられ、
前記デコード手段は、８ピクチャを保持することができる前記バンクメモリをそれぞれ備える
請求項１に記載の情報処理装置。
【請求項４】
前記制御手段は、前記処理単位に含まれる複数のピクチャのうち、前記Ｉピクチャおよび前記Ｐピクチャが、Ｂピクチャよりも先にデコードされるように、ピクチャごとのデコード処理の順番を決定する
請求項１に記載の情報処理装置。
【請求項５】
前記制御手段に再生速度を指令する再生速度指令手段を更に備え、
前記制御手段は、
前記再生速度指令手段により指令された再生速度に基づいて、前記処理単位に含まれるピクチャのうち、前記デコード手段から出力されるピクチャを選択し、
前記デコード手段は、
デコード処理を実行するデコード処理実行手段と、
前記デコード処理実行手段へのピクチャの供給を制御するピクチャ供給制御手段と
を備え、
前記ピクチャ供給制御手段は、前記制御手段の制御に基づいて、前記処理単位に含まれるピクチャのうち、前記Ｉピクチャおよび前記Ｐピクチャ、並びに、前記デコード手段から出力されるピクチャとして選択された前記Ｂピクチャを前記デコード処理手段へ供給し、
前記デコード処理手段は、前記制御手段の制御に基づいて、前記ピクチャ供給制御手段により供給されたそれぞれのピクチャをデコードするとともに、前記デコード手段から出力されるピクチャとして選択されたピクチャを出力する
請求項１に記載の情報処理装置。
【請求項６】
前記デコード手段は複数備えられ、
複数の前記デコード手段から出力された非圧縮のデータの供給を受け、供給された前記非圧縮のデータを切り替えて選択的に出力する出力切り替え手段を更に備え、
前記制御手段は、前記出力切り替え手段による処理を更に制御する
請求項１に記載の情報処理装置。
【請求項７】
前記制御手段は、前記デコード手段から出力されるデコード済みのピクチャのうち、前記処理単位の先頭で出力されるピクチャが前記Ｉピクチャまたは前記Ｐピクチャであった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項１に記載の情報処理装置。
【請求項８】
前記第１の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に１を加えた数である
請求項７に記載の情報処理装置。
【請求項９】
前記制御手段は、前記デコード手段から出力されるデコード済みのピクチャのうち、前記処理単位の先頭で出力されるピクチャがＢピクチャであった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項１に記載の情報処理装置。
【請求項１０】
前記第２の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に２を加えた数である
請求項９に記載の情報処理装置。
【請求項１１】
前記制御手段は、前記制御手段に再生速度及び再生方向を指令する再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が正方向であった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項１に記載の情報処理装置。
【請求項１２】
前記第１の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に１を加えた数である
請求項１１に記載の情報処理装置。
【請求項１３】
前記制御手段は、前記再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が逆方向であった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項１に記載の情報処理装置。
【請求項１４】
前記第２の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に２を加えた数である
請求項１３に記載の情報処理装置。
【請求項１５】
前記制御手段は、前記デコード手段によりＢピクチャがデコードされるタイミングが、前記デコード手段によりデコードされて出力されるタイミングの１ピクチャ前になるように、前記デコード手段によるピクチャごとのデコード処理のタイミングを決定する
請求項１に記載の情報処理装置。
【請求項１６】
前記デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリとして、前記デコード処理が実行される処理単位に含まれるピクチャ数より少ない数のバンクメモリを備える
請求項１に記載の情報処理装置。
【請求項１７】
前記圧縮符号化映像データは、ＧＯＰで構成されており、
前記制御手段は、前記バンクメモリの数から３を引いた値より多い数の前記Ｉピクチャまたは前記Ｐピクチャを含むＧＯＰの供給を受けた場合、供給されたＧＯＰを分割して前記バンクメモリの数から２を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含むデコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記デコード処理単位の前記圧縮符号化映像データを供給させる
請求項１に記載の情報処理装置。
【請求項１８】
前記制御手段は、分割されて生成された前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のＧＯＰまたはデコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項１７に記載の情報処理装置。
【請求項１９】
前記圧縮符号化映像データは、ＧＯＰで構成されており、
前記制御手段は、前記バンクメモリの数から３を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含む第１のＧＯＰの供給を受けた場合、時間的に前記第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、前記第１のＧＯＰと前記第２のＧＯＰとに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が前記バンクメモリの数から３を引いた値より少ない数である場合、前記第１のＧＯＰと前記第２のＧＯＰとを結合してデコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記デコード処理単位の前記圧縮符号化映像データを供給させる
請求項１に記載の情報処理装置。
【請求項２０】
前記制御手段は、前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のＧＯＰに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項１９に記載の情報処理装置。
【請求項２１】
前記圧縮符号化映像データは、ＧＯＰで構成されており、
前記制御手段は、第１のＧＯＰ、および、時間的に前記第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、前記第１のＧＯＰと前記第２のＧＯＰとに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が前記バンクメモリの数から３を引いた値の２倍より少ない数である場合、前記第１のＧＯＰと前記第２のＧＯＰとを結合した後分割して、前記バンクメモリの数から２を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含む第１のデコード処理単位および第２のデコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記第１のデコード処理単位および前記第２のデコード処理単位の前記圧縮符号化映像データを個別に供給させる
請求項１に記載の情報処理装置。
【請求項２２】
前記制御手段は、前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のデコード処理単位、または、ＧＯＰに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項２１に記載の情報処理装置。
【請求項２３】
圧縮符号化映像データをデコードする情報処理装置の情報処理方法において、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
情報処理方法。
【請求項２４】
圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラムであって、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
処理をコンピュータに実行させるためのプログラムが記録された記録媒体。
【請求項２５】
圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラムであって、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
処理をコンピュータに実行させるためのプログラム。
【請求項２６】
圧縮符号化映像データをデコードする情報処理装置において、
前記圧縮符号化映像データを記憶する記憶手段と、
前記記憶手段により記憶されている前記圧縮符号化映像データを読み出して出力する読み出し手段と、
前記圧縮符号化映像データをデコードするデコード手段と、
前記デコード手段への前記圧縮符号化映像データの供給を制御する供給制御手段と、
前記供給制御手段および前記デコード手段が実行する処理を制御する制御手段と、
前記制御手段に再生速度を指令する再生速度指令手段と
を備え、
前記デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、
前記制御手段は、ＩピクチャおよびＰピクチャが、前記バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、前記バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、前記デコード手段によるデコード処理を制御する
情報処理装置。
【請求項２７】
圧縮符号化映像データをデコードする情報処理装置の情報処理方法において、
記憶部に記憶された前記圧縮符号化映像データを読み出す読み出しステップと、
再生速度の指令を供給する再生速度指令供給ステップと、
前記再生速度指令供給ステップの処理により供給された前記再生速度の指令を取得する再生速度指令取得ステップと、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
情報処理方法。
【請求項２８】
圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラ
ムであって、
記憶部に記憶された前記圧縮符号化映像データを読み出す読み出しステップと、
再生速度の指令を供給する再生速度指令供給ステップと、
前記再生速度指令供給ステップの処理により供給された前記再生速度の指令を取得する再生速度指令取得ステップと、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
処理をコンピュータに実行させるためのプログラムが記録された記録媒体。
【請求項２９】
圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラムであって、
記憶部に記憶された前記圧縮符号化映像データを読み出す読み出しステップと、
再生速度の指令を供給する再生速度指令供給ステップと、
前記再生速度指令供給ステップの処理により供給された前記再生速度の指令を取得する再生速度指令取得ステップと、
前記圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、
デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて前記供給制御ステップの処理により前記デコーダへの供給が制御された前記圧縮符号化映像データをデコードするデコードステップと
を含み、
前記バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、
前記デコードステップの処理では、前記バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される
処理をコンピュータに実行させるためのプログラム。
【請求項３０】
圧縮符号化映像データをデコードする情報処理装置において、
前記圧縮符号化映像データをデコードするデコード手段と、
前記デコード手段への前記圧縮符号化映像データの供給を制御する供給制御手段と、
前記供給制御手段および前記デコード手段が実行する処理を制御する制御手段と
を備え、
前記デコード手段は、所定数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、
前記圧縮符号化映像データは、ＧＯＰで構成されており、
前記制御手段は、１ＧＯＰの前記圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、前記バンクメモリの数を比較することにより、ＧＯＰを分割または結合して、デコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記デコード処理単位の前記圧縮符号化映像データを供給させる
情報処理装置。
【請求項３１】
前記制御手段は、前記バンクメモリの数から３を引いた値より多い数の前記Ｉピクチャまたは前記Ｐピクチャを含むＧＯＰの供給を受けた場合、供給されたＧＯＰを分割して前記バンクメモリの数から２を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含む前記デコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記デコード処理単位の前記圧縮符号化映像データを供給させる
請求項３０に記載の情報処理装置。
【請求項３２】
前記制御手段は、分割されて生成された前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のＧＯＰまたはデコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項３１に記載の情報処理装置。
【請求項３３】
前記制御手段は、前記バンクメモリの数から３を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含む第１のＧＯＰの供給を受けた場合、時間的に前記第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、前記第１のＧＯＰと前記第２のＧＯＰとに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が前記バンクメモリの数から３を引いた値より少ない数である場合、前記第１のＧＯＰと前記第２のＧＯＰとを結合して前記デコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記デコード処理単位の前記圧縮符号化映像データを供給させる
請求項３０に記載の情報処理装置。
【請求項３４】
前記制御手段は、前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のＧＯＰに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項３３に記載の情報処理装置。
【請求項３５】
前記制御手段は、第１のＧＯＰ、および、時間的に前記第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、前記第１のＧＯＰと前記第２のＧＯＰとに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が前記バンクメモリの数から３を引いた値の２倍より少ない数である場合、前記第１のＧＯＰと前記第２のＧＯＰとを結合した後分割して、前記バンクメモリの数から２を引いた値より少ない数の前記Ｉピクチャまたは前記Ｐピクチャを含む第１のデコード処理単位および第２のデコード処理単位を構成し、前記供給制御手段を制御して、前記デコード手段に前記第１のデコード処理単位および前記第２のデコード処理単位の前記圧縮符号化映像データを個別に供給させる
請求項３０に記載の情報処理装置。
【請求項３６】
前記制御手段は、前記デコード処理単位に含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計が、前記デコード処理単位より時間的に１つ前のデコード処理単位、または、ＧＯＰに含まれる前記Ｉピクチャまたは前記Ｐピクチャの数の合計よりも所定の数以上多くならないように、前記デコード単位を構成する
請求項３５に記載の情報処理装置。
【請求項３７】
前記制御手段は、前記デコード手段から出力されるデコード済みのピクチャのうち、前記処理単位の先頭で出力されるピクチャが前記Ｉピクチャまたは前記Ｐピクチャであった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項３０に記載の情報処理装置。
【請求項３８】
前記第１の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に１を加えた数である
請求項３７に記載の情報処理装置。
【請求項３９】
前記制御手段は、前記デコード手段から出力されるデコード済みのピクチャのうち、前記処理単位の先頭で出力されるピクチャがＢピクチャであった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項３０に記載の情報処理装置。
【請求項４０】
前記第２の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に２を加えた数である
請求項３９に記載の情報処理装置。
【請求項４１】
前記制御手段は、前記制御手段に再生速度及び再生方向を指令する再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が正方向であった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項３０に記載の情報処理装置。
【請求項４２】
前記第１の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に１を加えた数である
請求項４１に記載の情報処理装置。
【請求項４３】
前記制御手段は、前記再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が逆方向であった場合、前記デコード手段によるデコードの開始タイミングと、前記デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるように前記デコード手段を制御する
請求項３０に記載の情報処理装置。
【請求項４４】
前記第２の所定数は、前記Ｉピクチャと前記Ｐピクチャの合計数に２を加えた数である
請求項４３に記載の情報処理装置。
【請求項４５】
複数のＧＯＰで構成される圧縮符号化映像データをデコードする情報処理装置の情報処理方法において、
前記圧縮符号化映像データに含まれるＧＯＰの構成を検出する検出ステップと、
１ＧＯＰの前記圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とを比較する比較ステップと、
前記比較ステップの処理による比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位を構成するデコード処理単位構成ステップと、
前記デコード処理単位構成ステップの処理により構成された前記デコード処理単位ごとにデコード処理を行うデコード処理ステップと
を含む情報処理方法。
【請求項４６】
複数のＧＯＰで構成される圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラムであって、
前記圧縮符号化映像データに含まれるＧＯＰの構成を検出する検出ステップと、
１ＧＯＰの前記圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とを比較する比較ステップと、
前記比較ステップの処理による比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位を構成するデコード処理単位構成ステップと、
前記デコード処理単位構成ステップの処理により構成された前記デコード処理単位ごとにデコード処理を行うデコード処理ステップと
を含む処理をコンピュータに実行させるためのプログラムが記録された記録媒体。
【請求項４７】
複数のＧＯＰで構成される圧縮符号化映像データをデコードする処理をコンピュータに実行させるためのプログラムであって、
前記圧縮符号化映像データに含まれるＧＯＰの構成を検出する検出ステップと、
１ＧＯＰの前記圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とを比較する比較ステップと、
前記比較ステップの処理による比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位を構成するデコード処理単位構成ステップと、
前記デコード処理単位構成ステップの処理により構成された前記デコード処理単位ごとにデコード処理を行うデコード処理ステップと
を含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関し、
特に、複雑なバンクメモリの制御を行うことなく、圧縮符号化データを再生することができるようにした、情報処理装置および情報処理方法、記録媒体、並びに、プログラムに関する。
【背景技術】
【０００２】
映像圧縮技術として、ＭＰＥＧ（Moving Picture Coding Experts Group／Moving Picture Experts Group）が広く用いられている。
【０００３】
ＭＰＥＧで圧縮符号化されたストリームデータをデコードして再生する場合に、通常の再生以外に、高速再生を実行したり、逆方向に再生する技術がある。
【０００４】
例えば、１５ピクチャで１ＧＯＰを構成するMPEG LongGOPでは、デコーダへの入力においてＢピクチャを間引くことで、−３乃至３倍（速度のマイナスは、逆方向の再生であることを示す、以下同様）で高速再生を行うことが可能である（例えば、特許文献１参照）。また、再生スピードごとに、表示したいピクチャ情報のテーブルを持つことで、用意したテーブル分のスピードの再生を行うことができる。
【０００５】
【特許文献１】特開平８−９８１４２号公報
【０００６】
また、例えば、５フレーム間隔で、間欠的に１０フレーム分ずつ圧縮符号化信号を取得し、取得した圧縮符号化信号をすべて復調した後、２つの復号部に５フレーム分ずつ交互に供給して、それぞれ復号処理を実行させた後、復号後のデータをメモリに書き込んで、１フレームおきに読み出すことにより、２倍速の再生信号を得ることができるようにした技術がある（例えば、特許文献２参照）。
【０００７】
【特許文献２】特開平８−５６３３４号公報
【０００８】
また、ＭＰＥＧのストリームは、正方向に再生するのに都合よくできている。例えば、１５ピクチャで１ＧＯＰを構成するMPEG LongGOPにおける１ＧＯＰのコーディングオーダのピクチャの並びは、Ｉ（２）Ｂ（０）Ｂ（１）、Ｐ（５）、Ｂ（３）、Ｂ（４）、Ｐ（８）、Ｂ（６）、Ｂ（７）、Ｐ（１１）、Ｂ（９）、Ｂ（１０）、Ｐ（１４）、Ｂ（１２）、Ｂ（１３）（ただし、カッコ内の数字は、コーディングオーダをディスプレイオーダに並べ替えた場合の順番を示す）となっていて、Ｐピクチャの参照する画像は、一つ前のＩピクチャまたはＰピクチャであり、Ｂピクチャの参照する画像は、コーディングオーダで１つ前のＩピクチャまたはＰピクチャと、２つ前のＩピクチャまたはＰピクチャである。これにより、参照画像用のメモリを２面（２バンク）分予約することで、Ｐピクチャ、Ｂピクチャとも、デコードすることができ、メモリを効率よく使用することができるようになっている。
【０００９】
このように、正方向に再生するのに都合よいＭＰＥＧのストリームを逆転再生するために、複数のデコーダを用いて復号処理を実行し、それぞれ、復号対象となるＧＯＰの直前のＧＯＰを付加してデコーダに供給するようにすることにより、逆方向再生であっても、再生されるピクチャの参照画像を正しく用いることができるようにした技術がある（たとえば、特許文献３）。
【００１０】
【特許文献３】特開平１０−１５０６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
例えば、１５ピクチャで１ＧＯＰを構成するMPEG LongGOPでは、デコーダへの入力においてＢピクチャを間引くことで、−３乃至３倍（速度のマイナスは、逆方向の再生であることを示す、以下同様）で高速再生を行うことが可能であるが、ピクチャの表示間隔が不規則となってしまうため、不自然な表示になる。
【００１２】
また、複数のデコーダチップを用いてデコードを実行するようになされている場合では、表示対象でないＢピクチャを入力段で間引く処理と組み合わせることにより、等間隔の間引きで、更に高速の再生（例えば、２チップで２倍、３チップで４倍、４チップで５倍、５チップで７倍）を実現することができるが、出力処理において、ＩピクチャまたはＰピクチャを間引く処理を行う必要があり、ベースバンドメモリの制御や、デコード済みのデータの中から表示するデータを選択する処理が複雑となってしまう。このため、従来の技術を用いて、動的にスピードを変更させて再生表示させるのは、困難であった。
【００１３】
また、上述したように、再生スピードごとに、表示したいピクチャ情報のテーブルを持つことで、用意したテーブル分のスピードの再生を行うことができる。しかしながら、このような処理では、スピードの切り変わり目はテーブルの単位となり、更に、切り替え時の表示を滞りなく行うためには複雑な制御が必要となる。
【００１４】
そして、ＭＰＥＧのストリームは、上述したように、正方向に再生するのに都合よくできている。しかしながら、逆方向の再生をストリームの入力順に行う場合、１ＧＯＰ分のデコードが終了した後に逆方向に再生を行うようにすると、少なくとも１ＧＯＰ分（例えば、１５フレーム）のデータを記録することができるフレームメモリを備え、参照画像データ用のバンクを多数予約しなければならないため、多くのメモリ容量が必要となってしまう。
【００１５】
本発明はこのような状況に鑑みてなされたものであり、複雑なバンクメモリの制御を行うことなく、圧縮符号化データの高速再生、逆転再生、高速逆転再生を行うことができるようにするものである。
【課題を解決するための手段】
【００１６】
本発明の第１の側面の情報処理装置は、圧縮符号化映像データをデコードするデコード手段と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段と、供給制御手段およびデコード手段が実行する処理を制御する制御手段とを備え、デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、制御手段は、ＩピクチャおよびＰピクチャが、バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、デコード手段によるデコード処理を制御する。
【００１７】
デコード手段には、処理単位に含まれるＩピクチャおよびＰピクチャのピクチャ数に２を加えた数のピクチャを保持することができるバンクメモリを備えさせるようにすることができる。
【００１８】
デコード手段を、３つ備えさせるようにすることができ、デコード手段には、８ピクチャを保持することができるバンクメモリをそれぞれ備えさせるようにすることができる。
【００１９】
制御手段には、処理単位に含まれる複数のピクチャのうち、ＩピクチャおよびＰピクチャが、Ｂピクチャよりも先にデコードされるように、ピクチャごとのデコード処理の順番を決定させるようにすることができる。
【００２０】
制御手段に再生速度を指令する再生速度指令手段を更に備えさせるようにすることができ、制御手段には、再生速度指令手段により指令された再生速度に基づいて、処理単位に含まれるピクチャのうち、デコード手段から出力されるピクチャを選択させるようにすることができ、デコード手段には、デコード処理を実行するデコード処理実行手段と、デコード処理実行手段へのピクチャの供給を制御するピクチャ供給制御手段とを備えさせるようにすることができ、ピクチャ供給制御手段には、制御手段の制御に基づいて、処理単位に含まれるピクチャのうち、ＩピクチャおよびＰピクチャ、並びに、デコード手段から出力されるピクチャとして選択されたＢピクチャをデコード処理手段へ供給させるようにすることができ、デコード処理手段は、制御手段の制御に基づいて、ピクチャ供給制御手段により供給されたそれぞれのピクチャをデコードするとともに、デコード手段から出力されるピクチャとして選択されたピクチャを出力させるようにすることができる。
【００２１】
デコード手段は複数備えられるものとすることができ、複数のデコード手段から出力された非圧縮のデータの供給を受け、供給された非圧縮のデータを切り替えて選択的に出力する出力切り替え手段を更に備えさせるようにすることができ、制御手段は、出力切り替え手段による処理を更に制御ことができる。
【００２２】
制御手段には、デコード手段から出力されるデコード済みのピクチャのうち、処理単位の先頭で出力されるピクチャがＩピクチャまたはＰピクチャであった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００２３】
第１の所定数は、ＩピクチャとＰピクチャの合計数に１を加えた数であるようにすることができる。
【００２４】
制御手段には、デコード手段から出力されるデコード済みのピクチャのうち、処理単位の先頭で出力されるピクチャがＢピクチャであった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００２５】
第２の所定数は、ＩピクチャとＰピクチャの合計数に２を加えた数であるようにすることができる。
【００２６】
制御手段には、制御手段に再生速度及び再生方向を指令する再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が正方向であった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００２７】
第１の所定数は、ＩピクチャとＰピクチャの合計数に１を加えた数であるようにすることができる。
【００２８】
制御手段には、再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が逆方向であった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００２９】
第２の所定数は、ＩピクチャとＰピクチャの合計数に２を加えた数であるようにすることができる。
【００３０】
制御手段には、デコード手段によりＢピクチャがデコードされるタイミングが、デコード手段によりデコードされて出力されるタイミングの１ピクチャ分前になるように、デコード手段によるピクチャごとのデコード処理の順番を決定させるようにすることができる。
【００３１】
デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリとして、デコード処理が実行される処理単位に含まれるピクチャ数より少ない数のバンクメモリを備えるようにすることができる。
【００３２】
圧縮符号化映像データは、ＧＯＰで構成されているものとすることができ、制御手段には、バンクメモリの数から３を引いた値より多い数のＩピクチャまたはＰピクチャを含むＧＯＰの供給を受けた場合、供給されたＧＯＰを分割してバンクメモリの数から２を引いた値より少ない数のＩピクチャまたはＰピクチャを含むデコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させるようにすることができる。
【００３３】
制御手段には、分割されて生成されたデコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のＧＯＰまたはデコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００３４】
圧縮符号化映像データは、ＧＯＰで構成されているものとすることができ、制御手段には、バンクメモリの数から３を引いた値より少ない数のＩピクチャまたはＰピクチャを含む第１のＧＯＰの供給を受けた場合、時間的に第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、第１のＧＯＰと第２のＧＯＰとに含まれるＩピクチャまたはＰピクチャの数の合計がバンクメモリの数から３を引いた値より少ない数である場合、第１のＧＯＰと第２のＧＯＰとを結合してデコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させるようにすることができる。
【００３５】
制御手段には、デコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のＧＯＰに含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００３６】
圧縮符号化映像データは、ＧＯＰで構成されているものとすることができ、制御手段には、第１のＧＯＰ、および、時間的に第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、第１のＧＯＰと第２のＧＯＰとに含まれるＩピクチャまたはＰピクチャの数の合計がバンクメモリの数から３を引いた値の２倍より少ない数である場合、第１のＧＯＰと第２のＧＯＰとを結合した後分割して、バンクメモリの数から２を引いた値より少ない数のＩピクチャまたはＰピクチャを含む第１のデコード処理単位および第２のデコード処理単位を構成し、供給制御手段を制御して、デコード手段に第１のデコード処理単位および第２のデコード処理単位の圧縮符号化映像データを個別に供給させるようにすることができる。
【００３７】
制御手段には、デコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のデコード処理単位、または、ＧＯＰに含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００３８】
本発明の第１の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて供給制御ステップの処理によりデコーダへの供給が制御された圧縮符号化映像データをデコードするデコードステップとを含み、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、デコードステップの処理では、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００３９】
本発明の第１の側面においては、圧縮符号化映像データが複数のデコーダへ供給され、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて圧縮符号化映像データがデコードされ、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００４０】
本発明の第２の側面の情報処理装置は、圧縮符号化映像データを記憶する記憶手段と、記憶手段により記憶されている圧縮符号化映像データを読み出して出力する読み出し手段と、圧縮符号化映像データをデコードするデコード手段と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段と、供給制御手段およびデコード手段が実行する処理を制御する制御手段と、制御手段に再生速度を指令する再生速度指令手段とを備え、デコード手段は、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、制御手段は、ＩピクチャおよびＰピクチャが、バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、デコード手段によるデコード処理を制御する。
【００４１】
本発明の第２の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、記憶部に記憶された圧縮符号化映像データを読み出す読み出しステップと、再生速度の指令を供給する再生速度指令供給ステップと、再生速度指令供給ステップの処理により供給された再生速度の指令を取得する再生速度指令取得ステップと、圧縮符号化映像データの複数のデコーダへの供給を制御する供給制御ステップと、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて供給制御ステップの処理によりデコーダへの供給が制御された圧縮符号化映像データをデコードするデコードステップとを含み、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、デコードステップの処理では、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００４２】
本発明の第２の側面においては、圧縮符号化映像データが記憶され、記憶されている圧縮符号化映像データが読み出されて出力される。また、圧縮符号化映像データが複数のデコーダへ供給され、デコード処理が実行される処理単位に含まれるピクチャ数に応じた数のバンクメモリを用いて圧縮符号化映像データがデコードされ、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００４３】
本発明の第３の側面の情報処理装置は、圧縮符号化映像データをデコードするデコード手段と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段と、供給制御手段およびデコード手段が実行する処理を制御する制御手段とを備え、デコード手段は、所定数のバンクメモリを備えて、デコード処理済のピクチャデータを保持し、圧縮符号化映像データは、ＧＯＰで構成されており、制御手段は、１ＧＯＰの圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、バンクメモリの数を比較することにより、ＧＯＰを分割または結合して、デコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させることができる。
【００４４】
制御手段には、バンクメモリの数から３を引いた値より多い数のＩピクチャまたはＰピクチャを含むＧＯＰの供給を受けた場合、供給されたＧＯＰを分割してバンクメモリの数から２を引いた値より少ない数のＩピクチャまたはＰピクチャを含むデコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させることができる。
【００４５】
制御手段には、分割されて生成されたデコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のＧＯＰまたはデコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００４６】
制御手段には、バンクメモリの数から３を引いた値より少ない数のＩピクチャまたはＰピクチャを含む第１のＧＯＰの供給を受けた場合、時間的に第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、第１のＧＯＰと第２のＧＯＰとに含まれるＩピクチャまたはＰピクチャの数の合計がバンクメモリの数から３を引いた値より少ない数である場合、第１のＧＯＰと第２のＧＯＰとを結合してデコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させることができる。
【００４７】
制御手段には、デコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のＧＯＰに含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００４８】
制御手段には、第１のＧＯＰ、および、時間的に第１のＧＯＰと連続する第２のＧＯＰの構成を検出し、第１のＧＯＰと第２のＧＯＰとに含まれるＩピクチャまたはＰピクチャの数の合計がバンクメモリの数から３を引いた値の２倍より少ない数である場合、第１のＧＯＰと第２のＧＯＰとを結合した後分割して、バンクメモリの数から２を引いた値より少ない数のＩピクチャまたはＰピクチャを含む第１のデコード処理単位および第２のデコード処理単位を構成し、供給制御手段を制御して、デコード手段に第１のデコード処理単位および第２のデコード処理単位の圧縮符号化映像データを個別に供給させることができる。
【００４９】
制御手段には、デコード処理単位に含まれるＩピクチャまたはＰピクチャの数の合計が、デコード処理単位より時間的に１つ前のデコード処理単位、または、ＧＯＰに含まれるＩピクチャまたはＰピクチャの数の合計よりも所定の数以上多くならないように、デコード単位を構成させるようにすることができる。
【００５０】
制御手段には、デコード手段から出力されるデコード済みのピクチャのうち、処理単位の先頭で出力されるピクチャがＩピクチャまたはＰピクチャであった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００５１】
第１の所定数は、ＩピクチャとＰピクチャの合計数に１を加えた数であるものとすることができる。
【００５２】
制御手段には、デコード手段から出力されるデコード済みのピクチャのうち、処理単位の先頭で出力されるピクチャがＢピクチャであった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００５３】
第２の所定数は、ＩピクチャとＰピクチャの合計数に２を加えた数であるものとすることができる。
【００５４】
制御手段には、制御手段に再生速度及び再生方向を指令する再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が正方向であった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第１の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００５５】
第１の所定数は、ＩピクチャとＰピクチャの合計数に１を加えた数であるものとすることができる。
【００５６】
制御手段には、再生速度指令手段により指令された再生速度および再生方向が、通常再生速度、かつ、再生方向が逆方向であった場合、デコード手段によるデコードの開始タイミングと、デコード手段からデコード済みのピクチャの出力が開始されるタイミングが、第２の所定数のピクチャ分ずれるようにデコード手段を制御させるようにすることができる。
【００５７】
第２の所定数は、ＩピクチャとＰピクチャの合計数に２を加えた数であるものとすることができる。
【００５８】
本発明の第３の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、圧縮符号化映像データに含まれるＧＯＰの構成を検出する検出ステップと、１ＧＯＰの圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とを比較する比較ステップと、比較ステップの処理による比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位を構成するデコード処理単位構成ステップと、デコード処理単位構成ステップの処理により構成されたデコード処理単位ごとにデコード処理を行うデコード処理ステップとを含む。
【００５９】
本発明の第３の側面においては、圧縮符号化映像データに含まれるＧＯＰの構成が検出され、１ＧＯＰの圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とが比較され、比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位が構成され、デコード処理単位ごとにデコード処理が実行される。
【発明の効果】
【００６０】
本発明の第１の側面または第２の側面によれば、圧縮符号化データの高速再生、逆転再生、高速逆転再生を行うことができる。特に、ＩピクチャおよびＰピクチャが、ピクチャ数に応じた数のバンクメモリのピクチャタイプにより定められる固定の位置に保持されるようにしたので、複雑なバンクメモリの制御を行うことなく、圧縮符号化データの高速再生、逆転再生、高速逆転再生を行うことができる。
【００６１】
本発明の第３の側面によれば、圧縮符号化データをデコードすることができ、特に、バンクメモリの数に基づいてＧＯＰが分割または結合されてデコード処理単位が構成されるので、例えば、複数のデコーダを用いるときに、デコード遅れやデコードされないピクチャの発生を防止することができる。
【発明を実施するための最良の形態】
【００６２】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００６３】
本発明の第１の側面の情報処理装置（例えば、図１の再生装置）は、圧縮符号化映像データをデコードするデコード手段（例えば、図１のデコーダ２２乃至デコーダ２４）と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段（例えば、図１のＰＣＩブリッジ１７）と、供給制御手段およびデコード手段が実行する処理を制御する制御手段（例えば、図１のＣＰＵ２０）とを備え、デコード手段は、デコード処理が実行される処理単位（例えば、正方向再生においては、コーディングオーダで、第１のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、その後ろの第２のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ、逆方向再生においては、第２のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、逆の表示順においてその前に表示される第３のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ）に含まれるピクチャ数に応じた数のバンクメモリ（例えば、図２のビデオバンクメモリ８２）を備えて、デコード処理済のピクチャデータを保持し、制御手段は、ＩピクチャおよびＰピクチャが、バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、デコード手段によるデコード処理を制御する。
【００６４】
制御手段に再生速度を指令する再生速度指令手段（例えば、図１のＣＰＵ１１）を更に備えさせることができ、制御手段は、再生速度指令手段により指令された再生速度に基づいて、処理単位に含まれるピクチャのうち、デコード手段から出力されるピクチャを選択することができ、デコード手段は、デコード処理を実行するデコード処理実行手段（図２のデコード処理部７７）と、デコード処理実行手段へのピクチャの供給を制御するピクチャ供給制御手段（例えば、図２のエレメンタリストリームアドレス決定部７３）とを備えることができ、ピクチャ供給制御手段は、制御手段の制御に基づいて、処理単位に含まれるピクチャのうち、ＩピクチャおよびＰピクチャ、並びに、デコード手段から出力されるピクチャとして選択されたＢピクチャをデコード処理手段へ供給することができ、デコード処理手段は、制御手段の制御に基づいて、ピクチャ供給制御手段により供給されたそれぞれのピクチャをデコードするとともに、デコード手段から出力されるピクチャとして選択されたピクチャを出力することができる。
【００６５】
デコード手段を複数備えることができ、複数のデコード手段から出力された非圧縮のデータの供給を受け、供給された非圧縮のデータを切り替えて選択的に出力する出力切り替え手段（例えば、図１のセレクタ２５）を更に備えることができ、制御手段は、出力切り替え手段による処理を更に制御することができる。
【００６６】
本発明の第１の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、圧縮符号化映像データの複数のデコーダ（例えば、図１のデコーダ２２乃至デコーダ２４）への供給を制御する供給制御ステップ（例えば、図１５のステップＳ１０５の処理）と、デコード処理が実行される処理単位（例えば、正方向再生においては、コーディングオーダで、第１のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、その後ろの第２のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ、逆方向再生においては、第２のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、逆の表示順においてその前に表示される第３のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ）に含まれるピクチャ数に応じた数のバンクメモリ（例えば、図２のビデオバンクメモリ８２）を用いて供給制御ステップの処理によりデコーダへの供給が制御された圧縮符号化映像データをデコードするデコードステップ（例えば、図１８のステップＳ１９２またはステップＳ１９３の処理）とを含み、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、デコードステップの処理では、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００６７】
本発明の第２の側面の情報処理装置（例えば、図１の再生装置）は、圧縮符号化映像データを記憶する記憶手段（例えば、図１のＨＤＤ１６）と、記憶手段により記憶されている前記圧縮符号化映像データを読み出して出力する読み出し手段（例えば、図１のサウスブリッジ１５）と、圧縮符号化映像データをデコードするデコード手段（例えば、図１のデコーダ２２乃至デコーダ２４）と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段（例えば、図１のＰＣＩブリッジ１７）と、供給制御手段およびデコード手段が実行する処理を制御する制御手段（例えば、図１のＣＰＵ２０）と、制御手段に再生速度を指令する再生速度指令手段（例えば、図１のＣＰＵ１１）とを備え、デコード手段は、デコード処理が実行される処理単位（例えば、正方向再生においては、コーディングオーダで、第１のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、その後ろの第２のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ、逆方向再生においては、第２のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、逆の表示順においてその前に表示される第３のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ）に含まれるピクチャ数に応じた数のバンクメモリ（例えば、図２のビデオバンクメモリ８２）を備えて、デコード処理済のピクチャデータを保持し、制御手段は、ＩピクチャおよびＰピクチャが、バンクメモリのうち、ピクチャタイプにより定められる固定の位置に保持され、バンクメモリに保持されているデコード処理済のピクチャデータが、必要に応じて参照画像として利用されるように、デコード手段によるデコード処理を制御する。
【００６８】
本発明の第２の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、記憶部に記憶された前記圧縮符号化映像データを読み出す読み出しステップ（例えば、図３のステップＳ１の処理）と、再生速度の指令を供給する再生速度指令供給ステップ（例えば、図３のステップＳ５またはステップＳ１１の処理）と、再生速度の指令を取得する再生速度指令取得ステップ（例えば、図１５のステップＳ１０１の処理）と、圧縮符号化映像データの複数のデコーダ（例えば、図１のデコーダ２２乃至デコーダ２４）への供給を制御する供給制御ステップ（例えば、図１５のステップＳ１０５の処理）と、デコード処理が実行される処理単位（例えば、正方向再生においては、コーディングオーダで、第１のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、その後ろの第２のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ、逆方向再生においては、第２のＧＯＰの先頭の２つのＢピクチャ以外の１３ピクチャと、逆の表示順においてその前に表示される第３のＧＯＰの先頭のＩＢＢの３ピクチャとの合計１６ピクチャ）に含まれるピクチャ数に応じた数のバンクメモリ（例えば、図２のビデオバンクメモリ８２）を用いて供給制御ステップの処理によりデコーダへの供給が制御された圧縮符号化映像データをデコードするデコードステップ（例えば、図１８のステップＳ１９２またはステップＳ１９３の処理）とを含み、バンクメモリには、ＩピクチャおよびＰピクチャが、ピクチャタイプにより定められる固定の位置に保持され、デコードステップの処理では、バンクメモリに保持されているデコード処理済のピクチャデータが必要に応じて参照画像として用いられて、デコードが実行される。
【００６９】
本発明の第３の側面の情報処理装置（例えば、図１の再生装置）は、圧縮符号化映像データをデコードする情報処理装置であって、圧縮符号化映像データをデコードするデコード手段（例えば、図１のデコーダ２２乃至デコーダ２４）と、デコード手段への圧縮符号化映像データの供給を制御する供給制御手段（例えば、図１のＰＣＩブリッジ１７）と、供給制御手段およびデコード手段が実行する処理を制御する制御手段（例えば、図１のＣＰＵ２０）とを備え、デコード手段は、所定数のバンクメモリ（例えば、図２のビデオバンクメモリ８２）を備えて、デコード処理済のピクチャデータを保持し、圧縮符号化映像データは、ＧＯＰで構成されており、制御手段は、１ＧＯＰの圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、バンクメモリの数を比較することにより、ＧＯＰを分割または結合して、デコード処理単位を構成し、供給制御手段を制御して、デコード手段にデコード処理単位の圧縮符号化映像データを供給させる。
【００７０】
本発明の第３の側面の情報処理方法、記録媒体に記録されたプログラム、並びに、プログラムは、圧縮符号化映像データに含まれるＧＯＰの構成を検出する検出ステップ（例えば、図６０のステップＳ６０３）と、１ＧＯＰの圧縮符号化映像データに含まれるＩピクチャまたはＰピクチャの数と、デコード処理済のピクチャデータを保持するためのバンクメモリの数とを比較する比較ステップ（例えば、図６０のステップＳ６０４、ステップＳ６０５、ステップＳ６０７、または、ステップＳ６０９）と、比較ステップの処理による比較結果に基づいて、ＧＯＰを分割または結合して、デコード処理単位を構成するデコード処理単位構成ステップ（例えば、図６０のステップＳ６０６、ステップＳ６０８、ステップＳ６１０、または、ステップＳ６１１）と、デコード処理単位構成ステップの処理により構成されたデコード処理単位ごとにデコード処理を行うデコード処理ステップ（例えば、図６０のステップＳ６１２）とを含む。
【００７１】
以下、図を参照して、本発明の実施の形態について説明する。
【００７２】
図１は本発明を適用した再生装置１のハードウェア構成を示すブロック図である。
【００７３】
ＣＰＵ（Central Processing Unit）１１は、ノースブリッジ１２に接続され、例えば、ＨＤＤ（Hard disk Drive）１６に記憶されているデータの読み出しなどの処理を制御したり、ＣＰＵ２０が実行するデコードのスケジューリング、デコードおよび表示出力の制御などの処理の開始、変更、または終了を指令するためのコマンドを生成し、出力する。ノースブリッジ１２は、ＰＣＩバス（Peripheral Component Interconnect/Interface）１４に接続され、例えば、ＣＰＵ１１の制御に基づいて、サウスブリッジ１５を介して、ＨＤＤ１６に記憶されているデータの供給を受けて、ＰＣＩバス１４、ＰＣＩブリッジ１７を介して、メモリ１８に供給する。また、ノースブリッジ１２は、メモリ１３とも接続されており、ＣＰＵ１１の処理に必要なデータを授受する。
【００７４】
メモリ１３は、ＣＰＵ１１が実行する処理に必要なデータを保存することが可能な、例えば、ＤＤＲ（Double Data Rate）等の高速アクセス可能な記憶用のメモリである。サウスブリッジ１５は、ＨＤＤ１６のデータの書き込みおよび読み出しを制御する。ＨＤＤ１６には、圧縮符号化されたストリームデータが記憶されている。
【００７５】
ＰＣＩブリッジ１７は、コマンドバッファ３１およびリザルトバッファ３２を内部に備えるとともに、ＣＰＵ１１の制御に基づいてＨＤＤ１６から読み出されたストリームデータをバッファリングするメモリ１８が接続されている。ＰＣＩブリッジ１７は、ＣＰＵ１１の制御に基づいてＨＤＤ１６から読み出されたストリームデータを、メモリ１８に供給して保存させることができるとともに、ＣＰＵ２０の制御に基づいて、メモリ１８に保存されているストリームデータを読み出して、デコーダ２２乃至デコーダ２４に供給する。また、ＰＣＩブリッジ１７は、ＰＣＩバス１４またはコントロールバス１９を介したコマンドまたはリザルトに対応する制御信号の授受を制御する。
【００７６】
コマンドバッファ３１は、ＣＰＵ１１から、ノースブリッジ１２およびＰＣＩバス１４を介してコマンドの書き込みを受けるとともに、ＣＰＵ２０から、コントロールバス１９を介して、書き込まれているコマンドが読み出されるようになされている。また、リザルトバッファ３２は、コントロールバス１９を介して、ＣＰＵ２０によりコマンドに対するリザルトの書き込みを受けるとともに、ＣＰＵ１１から、ノースブリッジ１２およびＰＣＩバス１４を介して、書き込まれているリザルトが読み取られるようになされている。
【００７７】
メモリ１８は、ＰＣＩブリッジ１７の制御に基づいて、ＨＤＤ１６により読み出された、圧縮符号化されたストリームデータを記憶するものであり、例えば、SDRAM（Synchronous Dynamic Random Access Memory）等で構成されている。
【００７８】
ＣＰＵ２０は、コントロールバス１９を介して、ＣＰＵ１１によりＰＣＩブリッジ１７のコマンドバッファ３１に書き込まれたコマンドを読み取り、このコマンドにしたがって、ＰＣＩブリッジ１７、デコーダ２２乃至デコーダ２４、および、セレクタ２５が実行する処理を制御する。メモリ２１は、ＣＰＵ２０の処理に必要なデータを記憶する。
【００７９】
デコーダ２２乃至デコーダ２４は、ＣＰＵ２０の制御に基づいて、供給された圧縮符号化されたストリームデータをデコードし、非圧縮の映像信号を出力する。デコーダ２２は、その内部にメモリ４１を、デコーダ２３は、その内部にメモリ４２を、デコーダ２４は、その内部にメモリ４３を有し、必要に応じて、供給された圧縮符号化されたストリームデータ、または、デコードされた非圧縮の映像信号を保持することが可能なようになされている。また、デコーダ２２乃至デコーダ２４は、再生装置１に含まれない独立した装置として設けられていても良い。
【００８０】
セレクタ２５は、ＣＰＵ２０による設定に基づいて、デコーダ２２乃至デコーダ２４により出力された非圧縮のＳＤＩ（Serial Digital Interface）データの出力をフレーム精度で切り替えることができる。
【００８１】
なお、図１の再生装置１は、１つの装置として構成されていても良いし、複数の装置によって構成されるようにしても良い。例えば、図１の再生装置のうち、ＣＰＵ１１、ノースブリッジ１２、メモリ１３、サウスブリッジ１５、および、ＨＤＤ１６の部分が、パーソナルコンピュータの構成のうちの一部であるとし、PCIカード、PCI−Expressカードなどの拡張カード、または、拡張ボードに、ＰＣＩバス１４、ＰＣＩブリッジ１７、メモリ１８、コントロールバス１９、ＣＰＵ２０、メモリ２１、デコーダ２２乃至デコーダ２４、および、セレクタ２５の機能を備えさせ、パーソナルコンピュータに拡張カードを装着して再生装置１として機能するようにしても良い。また、これらを、さらに複数の装置に分割して、再生装置１を構成するようにしても良い。
【００８２】
次に、再生装置１の動作について説明する。
【００８３】
ＨＤＤ１６には、ＭＰＥＧのLong GOP方式で圧縮された圧縮映像のデータが記憶されている。
【００８４】
ＣＰＵ１１は、ノースブリッジ１２を介して、サウスブリッジ１５を制御して、図示しない操作入力部から供給されたユーザの操作入力を基に、ＨＤＤ１６から、圧縮符号化されたストリームデータを読み出させ、ノースブリッジ１２、ＰＣＩバス１４、および、ＰＣＩブリッジ１７を介して、メモリ１８に供給させて記憶させるとともに、再生スピード（再生方向を示す情報を含む）を示す情報、デコード開始コマンド、または、表示開始コマンドなどを、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に書き込む。
【００８５】
ＣＰＵ２０は、ＰＣＩブリッジ１７のコマンドバッファ３１に書き込まれたＣＰＵ１１からのコマンドを基に、圧縮符号化されたストリームデータのデコードおよび表示のスケジュールを決定する。具体的には、ＣＰＵ２０は、デコードに利用されるデコーダ２２乃至デコーダ２４の選択、圧縮符号化されたストリームデータのデコーダ２２乃至デコーダ２４への入力のタイミング、フレームごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定する。
【００８６】
そして、ＣＰＵ２０は、ＰＣＩブリッジ１７を制御して、メモリ１８に記憶されている圧縮符号化されたストリームデータを、決定されたスケジュールに基づいて、デコーダ２２乃至デコーダ２４のうちのいずれか対応するものに供給させる。
【００８７】
ＣＰＵ２０は、デコーダ２２乃至デコーダ２４を制御して、供給された圧縮符号化されたデータをデコードさせる。デコーダ２２乃至デコーダ２４は、供給された圧縮符号化されたストリームデータをデコードして、非圧縮のＳＤＩデータを生成して、セレクタ２５に出力する。
【００８８】
そして、ＣＰＵ２０は、セレクタ２５を制御して、デコーダ２２乃至デコーダ２４より出力された非圧縮のＳＤＩデータの出力を切り替えさせる。
【００８９】
図２は、デコーダ２２乃至デコーダ２４の更に詳細な構成を示すブロック図である。
【００９０】
入力処理部７１は、ＰＣＩブリッジ１７から供給された圧縮符号化されたストリームデータをメモリコントローラ７４に供給して入力バッファ７５に保存させるとともに、供給されたストリームデータから、ピクチャ単位で、先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどを取得して、アドレス管理テーブル７２に供給する。
【００９１】
アドレス管理テーブル７２は、入力処理部７１から供給された、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報を、テーブルＩＤにより区別可能なテーブル情報として、それぞれ、ピクチャ別に保持する。
【００９２】
エレメンタリストリームアドレス決定部７３は、ＣＰＵ２０からコントロールバス１９を介して供給される制御信号を基に、入力バッファ７５に保存されたストリームデータを、ピクチャ単位でデコード処理部７７に供給させることができるように、アドレス管理テーブル７２に保持されている所定のテーブルＩＤで示されるテーブル情報から、対応するピクチャの先頭番地およびピクチャサイズ情報を読み出して、メモリコントローラ７４に供給する。
【００９３】
メモリコントローラ７４は、入力バッファ７５へのストリームデータの書き込みおよび読み出しを制御する。すなわち、メモリコントローラ７４は、入力処理部７１から供給されたストリームデータを入力バッファ７５に書き込むとともに、エレメンタリストリームアドレス決定部７３から供給される、対応するピクチャの先頭番地およびピクチャサイズ情報を基に、所定のピクチャを読み出して、デコード処理部７７に供給する。
【００９４】
入力バッファ７５は、SDRAMなどの記憶用のメモリで構成された図１のメモリ４１乃至メモリ４３の記録領域のうちの一部に相当し、メモリコントローラ７４の制御に基づいて、ストリームデータを保存する。
【００９５】
コントロールバス７６は、データバス１９を介してＣＰＵ２０から供給される制御信号を、エレメンタリストリームアドレス決定部７３、デコード処理部７７、書き込み画アドレス決定部７８、参照画アドレス決定部７９、および、出力アドレス決定部８０に供給するとともに、デコーダ２２乃至デコーダ２４の内部において実行される処理に関する情報を、データバス１９を介して、ＣＰＵ２０に供給する。
【００９６】
デコード処理部７７は、メモリコントローラ７４により入力バッファ７５から読み出されたＭＰＥＧビデオストリームを、参照画アドレス決定部７９から供給された参照画を必要に応じて参照してデコードし、デコードされたベースバンド（非圧縮）の映像信号を、書き込み画アドレス決定部７８に供給する。
【００９７】
書き込み画アドレス決定部７８は、データバス１９を介してＣＰＵ２０から供給される制御信号を、コントロールバス７６を介して取得し、この制御信号に基づいて、デコード処理部７７によりデコードされて供給されたベースバンドの映像信号のビデオバンクメモリ８２における記録位置、すなわち、保存されるバンク位置を決定し、ベースバンドの映像信号を、メモリコントローラ８１を介して、ビデオバンクメモリ８２の所定のバンク位置に保存させる。
【００９８】
参照画アドレス決定部７９は、データバス１９を介してＣＰＵ２０から供給される制御信号を、コントロールバス７６を介して取得し、この制御信号に基づいて、ビデオバンクメモリ８２のうち、Ｐピクチャの前方向（forward）の参照画像バンクとして指定されたバンクに保持されているフレーム画像データや、Ｂピクチャの前方向および後ろ方向（backward）の参照画像バンクとして指定されたバンクに保持されているフレーム画像データを、メモリコントローラ８１を制御して読み出させ、デコード処理部７７に供給する。
【００９９】
出力アドレス決定部８０は、データバス１９を介してＣＰＵ２０から供給される制御信号を、コントロールバス７６を介して取得し、この制御信号に基づいて、ビデオバンクメモリ８２に保持されているフレーム画像データのうちの出力画像、すなわち、表示させるフレームのバンクを指定して、メモリコントローラ８１を制御して読み出させ、出力する。
【０１００】
メモリコントローラ８１は、ビデオバンクメモリ８２へのフレーム画像の書き込みおよび読み出しを制御する。ビデオバンクメモリ８２は、SDRAMなどの記憶用のメモリで構成された図１のメモリ４１乃至メモリ４３の記録領域のうちの一部に相当する、８バンク（８面）のフレーム画像用のバンクメモリであり、メモリコントローラ８１の制御に基づいて、１フレームのフレーム画像データを設定されたバンクに保持する。
【０１０１】
次に、図３のフローチャートを参照して、ＣＰＵ１１が実行する制御処理について説明する。
【０１０２】
ステップＳ１において、ＣＰＵ１１は、ノースブリッジ１２およびサウスブリッジ１５を制御して、ユーザによりデコードして出力するストリームデータとして指定された、圧縮符号化されたストリームデータのうちの複数ＧＯＰをＨＤＤ１６から読み出す。
【０１０３】
ステップＳ２において、ＣＰＵ１１は、読み出した複数ＧＯＰのストリームデータを、ＰＣＩバス１４を介してＰＣＩブリッジ１７に供給し、メモリ１８に転送する。
【０１０４】
ステップＳ３において、ＣＰＵ１１は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に、データ転送完了と、メモリ１８に転送されたＧＯＰに含まれるピクチャのピクチャ情報を供給することにより、ＣＰＵ２０に対して、データ転送完了と、ピクチャ情報とを通知する。ピクチャ情報には、例えば、ピクチャタイプ、ピクチャ単位のヘッダ情報、ピクチャサイズなどの情報が含まれる。
【０１０５】
ステップＳ４において、ＣＰＵ１１は、ＣＰＵ２０およびメモリ１８から、準備完了の通知を受ける。具体的には、ＣＰＵ１１は、ＣＰＵ２０がコントロールバス１９を介してＰＣＩブリッジ１７のリザルトバッファ３２に供給した、データ転送完了とピクチャ情報の通知に対するリザルトを、ノースブリッジ１２およびＰＣＩバス１４を介して読み込むとともに、メモリ１８から、ＰＣＩブリッジ１７、ＰＣＩバス１４およびノースブリッジ１２を介して、複数ＧＯＰのストリームデータの保存終了の通知を受ける。
【０１０６】
ステップＳ５において、ＣＰＵ１１は、図示しない操作入力部から、ユーザによる再生出力処理の開始の指令を受け、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に、デコード開始コマンドを送信し、デコーダ２２乃至デコーダ２４により、デコード処理を開始させる。デコード開始コマンドには、表示スピード情報が含まれる。
【０１０７】
ＣＰＵ１１は、ステップＳ６において、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に、表示開始コマンドを送信し、ステップＳ７において、デコーダによりデコードされて得られたＳＤＩ信号、すなわち、ベースバンドの画像信号の、１ＧＯＰ分の表示を開始させる。
【０１０８】
ステップＳ８において、ＣＰＵ１１は、ＣＰＵ２０がコントロールバス１９を介してＰＣＩブリッジ１７のリザルトバッファ３２に供給した表示開始コマンドに対するリザルト、すなわち、後述する図１８のステップＳ１９４において、ＣＰＵ２０がＰＣＩブリッジ１７のリザルトバッファ３２に書き込んだフレームごとの表示完了の通知を、ノースブリッジ１２およびＰＣＩバス１４を介して読み込んで、いずれのピクチャの表示が終了したかを常にチェックしておくことにより、１ＧＯＰの表示完了を検出する。
【０１０９】
ステップＳ９において、ＣＰＵ１１は、表示されたＧＯＰは、表示されるストリームデータの最後であるか否かを判断する。ステップＳ９において、表示されたＧＯＰは、表示されるストリームデータの最後であると判断された場合、処理は終了される。
【０１１０】
ステップＳ９において、表示されたＧＯＰは、表示されるストリームデータの最後ではないと判断された場合、ステップＳ１０において、ＣＰＵ１１は、図示しない操作入力部から供給される信号を基に、例えば、ストリームデータの再生終了、再生されているストリームデータの変更、もしくは、再生速度または方向の変更指令など、入力ストリーム状態の変更を伴う指令がユーザから入力されたか否かを判断する。
【０１１１】
ステップＳ１０において、入力ストリーム状態の変更を伴う指令がユーザから入力されたと判断された場合、ステップＳ１１において、ＣＰＵ１１は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に、ユーザの操作入力に対応するコマンドを送信する。
【０１１２】
ステップＳ１０において、入力ストリーム状態の変更を伴う指令がユーザから入力されていないと判断された場合、または、ステップＳ１１の処理の終了後、ステップＳ１２において、ＣＰＵ１１は、ＨＤＤ１６に、表示させるストリームデータが残っているか否かを判断する。ステップＳ１２において、ＨＤＤ１６に、表示させるストリームデータが残っていないと判断された場合、処理は、ステップＳ７に戻り、メモリ１８に転送され、まだ表示されていないストリームデータにおいて、ステップＳ７以降の処理が繰り返される。
【０１１３】
ステップＳ１２において、ＨＤＤ１６に、表示させるストリームデータが残っていると判断された場合、ステップＳ１３において、ＣＰＵ１１は、ノースブリッジ１２およびサウスブリッジ１５を制御して、デコードして出力するストリームデータのうち、メモリ１８へ転送済みのＧＯＰに続く１ＧＯＰをＨＤＤ１６から読み出す。
【０１１４】
ステップＳ１４において、ＣＰＵ１１は、読み出した１ＧＯＰのストリームデータを、ＰＣＩバス１４を介してＰＣＩブリッジ１７に供給し、メモリ１８に転送する。すなわち、メモリ１８には、再生されるストリームデータの終了部分付近が保持されている場合を除いて、基本的には、所定数のＧＯＰが保持されているようになされている。
【０１１５】
ステップＳ１５において、ＣＰＵ１１は、ノースブリッジ１２およびＰＣＩバス１４を介して、ＰＣＩブリッジ１７のコマンドバッファ３１に、データ転送完了と、メモリ１８に転送されたＧＯＰに含まれるピクチャのピクチャ情報を供給することにより、ＣＰＵ２０に対して、データ転送完了と、ピクチャ情報とを通知する。ピクチャ情報には、例えば、ピクチャタイプ、ピクチャ単位のサイズなどの情報が含まれる。
【０１１６】
ステップＳ１６において、ＣＰＵ１１は、ＣＰＵ２０およびメモリ１８から、準備完了の通知を受ける。具体的には、ＣＰＵ１１は、ＣＰＵ２０がコントロールバス１９を介してＰＣＩブリッジのリザルトバッファ３２に供給した、データ転送完了とピクチャ情報の通知に対するリザルトを、ノースブリッジ１２およびＰＣＩバス１４を介して読み込むとともに、メモリ１８から、ＰＣＩブリッジ１７、ＰＣＩバス１４およびノースブリッジ１２を介して、複数ＧＯＰのストリームデータの保存終了の通知を受ける。
【０１１７】
ステップＳ１６の処理の終了後、処理は、ステップＳ７に進み、それ以降の処理が繰り返される。
【０１１８】
このような処理により、ＣＰＵ１１は、ＣＰＵ２０にコマンドを供給し、供給したコマンドに対するリザルトを受けて、ストリームデータのデコードと、デコードされたデータの表示を制御することができる。
【０１１９】
ここでは、デコードされたデータを１ＧＯＰずつ表示させる場合について説明したが、デコードされて生成されたＳＤＩ信号を外部に出力する場合にも、同様の処理を実行することにより、ＣＰＵ１１は、ＣＰＵ２０にコマンドを供給し、供給したコマンドに対するリザルトを受けて、ストリームデータのデコードと、デコードされたデータの外部への出力を制御することができることは言うまでもない。
【０１２０】
そして、ＣＰＵ２０は、ＣＰＵ１１から供給されるコマンドに基づいて、複数のデコーダ（図１においては、デコーダ２２乃至デコーダ２４）によるデコード処理を制御する。具体的には、ＣＰＵ２０は、デコードに利用されるデコーダ２２乃至デコーダ２４の選択、換言すれば、圧縮符号化されたストリームデータの供給先を、デコーダ２２乃至デコーダ２４のうちのいずれにするのかを選択する処理を実行する。更に、ＣＰＵ２０は、圧縮符号化されたストリームデータのデコーダ２２乃至デコーダ２４のうち対応するものへの入力のタイミング、ピクチャごとのデコードのタイミング、参照画像のバンク位置の設定、デコード時のバンクメモリの割り当て、および、デコードされたピクチャの出力、すなわち、表示のタイミングを決定し、これらのタイミングを基に、ＰＣＩブリッジ１７、デコーダ２２乃至デコーダ２４、および、セレクタ２５を制御する。以下、図４乃至図３８を参照して、ＣＰＵ２０によるデコードおよび表示出力の制御について説明する。
【０１２１】
ＣＰＵ２０は、デコーダ２２乃至デコーダ２４によるデコード処理と、セレクタ２５により出力されるＳＤＩ信号のセレクト処理とを制御するために、メモリ２１に、各種情報を保持可能な複数のレジスタおよび情報キューを有するようになされている。情報キューは、ＦＩＦＯ（First In First Out）のキュー（queue）構造で、ＣＰＵ１１により供給されたコマンドや、ピクチャタイプ情報が対応付けられたピクチャＩＤおよびピクチャＩＤに付随する情報（例えば、時間情報）などを、デコードタイミングのスケジューリングや、デコードおよび表示の制御の用途ごとに、それぞれ所定の深さで蓄積することができるようになされている。
【０１２２】
ＣＰＵ２０は、対応する情報キューに蓄積された情報を用いて、デコードおよび表示のタイミングを制御する。すなわち、メモリ２１にピクチャがキューされるのではなく、ＣＰＵ２０の制御に基づいて、ピクチャＩＤがそれぞれの情報キューに設定されることにより、ＣＰＵ２０は、デコードおよび表示のタイミングを制御するための演算処理を実行することができる。
【０１２３】
各種情報を蓄積する情報キューとして、例えば、コントロールバス１９を介して、ＰＣＩブリッジ１７のコマンドバッファ３１から取得したコマンドを蓄積するコマンドキューをはじめとして、処理待ち行列に対応する入力ピクチャのピクチャＩＤがコーディングオーダで蓄積される入力ピクチャキュー、入力ピクチャキューに蓄積されたピクチャＩＤをリオーダしてディスプレイオーダに並べ替えて蓄積する表示順情報キュー、表示順情報キューに蓄積されたピクチャＩＤから、ＩピクチャおよびＰピクチャを抽出してデコード順に並べ替えて蓄積するＩ／Ｐピクチャデコードキュー、Ｉ／Ｐピクチャデコードキューに設定されたピクチャＩＤに加えて、これらのピクチャＩＤに対応する時間情報が更に蓄積される時間情報付きＩ／Ｐピクチャデコードキュー、表示順にピクチャＩＤが設定される表示順設定キュー、表示順設定キューに設定されたピクチャＩＤに加えて、これらのピクチャＩＤに対応する時間情報が更に蓄積される時間情報付き表示順設定キュー、次に表示されるピクチャのピクチャＩＤを保持する表示キューなどが、ＣＰＵ２０による各種制御に用いられている。各キューに蓄積される情報、各キューの深さ、その情報を用いて実行される処理の詳細については、それぞれ後述する。
【０１２４】
次に、図４のフローチャートを参照して、フレームごとに行う処理１について説明する。この処理ルーチンは、表示が指令されたストリームデータが終了するまで、または、表示の終了が指令されるまで、１フレームごとに繰り返して実行される。
【０１２５】
ステップＳ３１において、図５を用いて後述する入力ストリーム状態変更処理が実行される。入力ストリーム状態変更処理は、ＣＰＵ１１から新たなコマンドが発行されているか否かを確認する処理である。
【０１２６】
ステップＳ３２において、図６を用いて後述するデコードスケジュール処理１が実行される。デコードスケジュール処理１において、デコードタイミングがスケジュールされる。
【０１２７】
ステップＳ３３において、ＣＰＵ２０は、１フレーム単位で処理の時間を表すカウンタである時間カウンタを参照することにより、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームであるか否かを判断する。
【０１２８】
ステップＳ３３において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームではないと判断された場合、ステップＳ３４において、図３８を用いて後述する１フレームディレイ表示設定処理が実行される。１フレームディレイ表示設定処理によって、１つ前の処理ルーチンにおけるステップＳ３５のフレーム制御処理１においてデコードされて生成されたベースバンドのフレーム画像の表示が設定される。
【０１２９】
ステップＳ３３において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームであると判断された場合、または、ステップＳ３４の処理の終了後、ステップＳ３５において、図１８を用いて後述するフレーム制御処理１が実行される。フレーム制御処理１において、処理対象となっているフレームがデコードされる。
【０１３０】
ステップＳ３６において、ＣＰＵ２０は、すべてのフレームの処理が終了したか否かを判断する。ステップＳ３６において、すべてのフレームの処理が終了していないと判断された場合、ステップＳ３７において、ＣＰＵ２０は、１フレームを単位とする時間カウンタをインクリメントする。
【０１３１】
ステップＳ３７の処理の終了後、処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。ステップＳ３６において、すべてのフレームの処理が終了したと判断された場合、処理は終了される。
【０１３２】
このようにして、ＣＰＵ２０は、１フレームの処理ごとに、時間カウンタをカウントアップし、ユーザの指令した再生速度に応じて、デコードをスケジュールして、１フレームごとに、デコードを行わせ、表示を設定することができる。
【０１３３】
次に、図５のフローチャートを参照して、図４のステップＳ３１において実行される、入力ストリーム状態変更処理について説明する。
【０１３４】
ステップＳ５１において、ＣＰＵ２０は、ＰＣＩブリッジ１７のコマンドバッファ３１から取得したコマンドを蓄積するコマンドキューをチェックする。
【０１３５】
ステップＳ５２において、ＣＰＵ２０は、コマンドキューに、例えば、再生速度（再生方向を含む）の変更、または、再生終了の指令など、入力ストリーム状態を変更させる新たなコマンドが保存されているか否かを判断する。
【０１３６】
ステップＳ５２において、コマンドキューに新たなコマンドが保存されていると判断された場合、ステップＳ５３において、ＣＰＵ２０は、コマンドキューに最も早い時刻に保存されたコマンドに基づいて、再生速度および再生方向の設定に基づいたストリーム入力状態を変更する。ステップＳ５２において、コマンドキューに新たなコマンドが保存されていないと判断された場合、または、ステップＳ５３の処理の終了後、処理は、図４のステップＳ３１に戻り、ステップＳ３２に進む。
【０１３７】
このような処理により、ＰＣＩブリッジ１７のコマンドバッファ３１から取得したコマンドを蓄積するコマンドキューに最も早い時刻に保存されたコマンドが参照され、そのコマンドに基づいて、ストリームの入力状態が変更される。
【０１３８】
次に、図６のフローチャートを参照して、図４のステップＳ３２において実行される、デコードスケジュール処理１について説明する。
【０１３９】
ステップＳ７１において、ＣＰＵ２０は、入力ピクチャキューを参照して、入力ピクチャキューが空であるか否かを判断する。入力ピクチャキューは、後述する入力処理（ステップＳ７２）において設定される情報キューであり、デコードのスケジュールが次に決定される入力ピクチャと、そのスケジューリングに必要なピクチャのピクチャＩＤが設定される。
【０１４０】
再生装置１が取り扱うストリームデータが、図７に示されるように、１ＧＯＰが１５ピクチャで構成されているＭＰＥＧのLONG GOPのストリームデータである場合、１ＧＯＰ相当の１５ピクチャごとにデコード処理を行うデコーダ２２乃至デコーダ２４のそれぞれには、それぞれのＧＯＰにおいて、表示順で先頭となる２つのＢピクチャを除いた１３ピクチャと、正方向の再生の場合は、その前のＧＯＰにおいて、表示順で先頭となるＩＢＢの３ピクチャ、逆方向の場合は、その後ろのＧＯＰにおいて、表示順で先頭となるＩＢＢの３ピクチャとの１６ピクチャが供給される。
【０１４１】
図８を用いて、デコーダ２２乃至デコーダ２４のそれぞれが担当するデコードの単位について説明する。図８では、デコーダ２２乃至デコーダ２４に供給されるピクチャの並びを、ディスプレイオーダで示している。再生装置１においては、１ＧＯＰ相当（１５ピクチャ）ごとに、デコード処理がデコーダ２２乃至デコーダ２４のうちの１つのデコーダにおいてそれぞれ実行されるが、上述したように、デコーダ２２乃至デコーダ２４のそれぞれには、１ＧＯＰにおいて表示順で先頭となる２つのＢピクチャを除いた１３ピクチャと、その前またはその後ろのＧＯＰにおいて表示順で先頭から３つのピクチャとの１６ピクチャが供給される。したがって、再生方向が正方向の場合は、図８Ａに示されるように、デコーダ２２乃至デコーダ２４のうちの第１のデコーダに、第１ＧＯＰの先頭の２つのＢピクチャを除いた１３ピクチャと第２のＧＯＰの先頭の３ピクチャが供給され、第２のデコーダに、第２ＧＯＰの先頭の２つのＢピクチャを除いた１３ピクチャと第３ＧＯＰの先頭の３ピクチャが供給され、同様にして、第３のデコーダに、第３ＧＯＰの先頭の２つのＢピクチャを除いた１３ピクチャと第４ＧＯＰの先頭の３ピクチャが供給される。また、再生方向が逆方向の場合は、図８Ｂに示されるように、デコーダ２２乃至デコーダ２４のうちの第１のデコーダに、第２ＧＯＰの先頭の２つのＢピクチャを除いた１３ピクチャと第３のＧＯＰの先頭の３ピクチャが供給され、第２のデコーダに、第１ＧＯＰの先頭の２つのＢピクチャを除いた１３ピクチャと第２ＧＯＰの先頭の３ピクチャが供給される。
【０１４２】
そして、入力ピクチャキューには、デコーダ２２乃至デコーダ２４に入力されるピクチャのうち、デコードタイミングのスケジュール待ちである入力ピクチャと、そのスケジューリングに必要なピクチャとのピクチャＩＤが設定される。すなわち、入力ピクチャキューには、LONG GOPのストリームデータのうち、１ＧＯＰの１５ピクチャと、その前またはその後ろのＧＯＰの先頭のＩＢＢの３ピクチャとの１８ピクチャのピクチャＩＤが保持される。
【０１４３】
図９Ａに、正方向の再生のために、ＭＰＥＧのLONG GOPのストリームデータのうち、第１のＧＯＰの１５ピクチャと、その後ろの第２のＧＯＰの先頭のＩＢＢの３ピクチャのピクチャＩＤが入力ピクチャキューに設定されている状態を示し、図９Ｂに、逆方向の再生のために、MPEGのLONG GOPのストリームデータのうち、第２のＧＯＰの１５ピクチャと、逆の表示順においてその前に表示される第３のＧＯＰの先頭のＩＢＢの３ピクチャのピクチャＩＤが入力ピクチャキューに設定されている状態を示す。
【０１４４】
ステップＳ７１において、入力ピクチャキューが空ではないと判断された場合、処理は、図４のステップＳ３２に戻り、ステップＳ３３に進む。すなわち、デコードのスケジュール処理は、LONG GOPの１５ピクチャとは２ピクチャ分ずれた位置から設定される１３ピクチャと次の３つのピクチャとの１６ピクチャ分の処理単位ごとにまとめて実行される。
【０１４５】
ステップＳ７１において、入力ピクチャキューが空であると判断された場合、ステップＳ７２において、図１５のフローチャートを用いて後述する入力処理が実行される。
【０１４６】
ステップＳ７３において、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタの値を基に、次にデータの供給を受けるデコーダに対応して設定される時間情報付き表示順設定キューが空であるか否かを判断する。時間情報付き表示順設定キューとは、後述するステップＳ８０の時間情報付きスケジュール決定処理において設定されるキューであり、複数のデコーダのそれぞれ（図１を用いて説明した場合においては、デコーダ２２乃至デコーダ２４の３つのデコーダのそれぞれ）に対応して設定される。時間情報付き表示順設定キューの詳細については、図１７のフローチャートを参照して後述する。
【０１４７】
ステップＳ７３において、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空ではないと判断された場合、すなわち、スケジュール済みの１ＧＯＰ相当のピクチャに対して、フレームごとにデコード処理または表示処理が実行されている途中である場合、処理は、図４のステップＳ３２に戻り、ステップＳ３３に進む。
【０１４８】
ステップＳ７３において、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空であると判断された場合、ステップＳ７４において、ＣＰＵ２０は、リオーダ処理を実行する。リオーダ処理とは、入力ピクチャキューに設定されているコーディングオーダに並べられている１８ピクチャに対応するピクチャＩＤを、ディスプレイオーダに入れ替えて表示順情報キューに設定する処理である。
【０１４９】
したがって、再生方向が正方向である場合、表示順情報キューには、図１０Ａに示されるように、図９Ａを用いて説明した入力ピクチャキューに設定されているピクチャＩＤが、ディスプレイオーダに並べ替えられて設定され、再生方向が逆方向である場合、表示順情報キューには、図１０Ｂに示されるように、図９Ｂを用いて説明した入力ピクチャキューに設定されているピクチャＩＤが、ディスプレイオーダに並べ替えられて設定される。
【０１５０】
ステップＳ７４において、リオーダ処理が実行されて、表示順情報キューにピクチャＩＤがセットされたとき、入力ピクチャキューにキューされているピクチャＩＤはすべて出力され、入力ピクチャキューは空となる。すなわち、上述したステップＳ７１において、入力ピクチャキューが空であると判断される場合とは、入力ピクチャキューにキューされたピクチャＩＤに対するリオーダ処理が実行された場合であり、入力ピクチャキューが空ではないと判断される場合とは、この処理以前に実行されたデコードスケジュール処理１のステップＳ７２において入力処理が実行された後、次にデータの供給を受けるデコーダに対応する時間情報付き表示順設定キューが空ではないため、ステップＳ７４においてリオーダ処理が実行されていない場合である。
【０１５１】
ステップＳ７５において、ＣＰＵ２０は、ステップＳ７４において設定された表示順情報キューを参照し、Ｉ／Ｐピクチャデコードキューに、デコードするＧＯＰのうちのＩピクチャおよびＰピクチャのピクチャＩＤを、デコード順に設定する。Ｉ／Ｐピクチャデコードキューとは、Ｂピクチャに先行してデコードされるＩピクチャおよびＰピクチャのピクチャＩＤをデコード順に設定するキューである。
【０１５２】
図１１に、正方向再生および逆方向再生におけるＩ／Ｐピクチャデコードキューを示す。正方向再生の場合のＩ／Ｐピクチャデコードキューには、図１１Ａに示されるように、図１０Ａを用いて説明した表示順情報キューに設定されているピクチャＩＤのうち、ＩピクチャおよびＰピクチャに対応する６つのピクチャのピクチャＩＤが設定され、逆方向再生の場合のＩ／Ｐピクチャデコードキューには、図１１Ｂに示されるように、図１０Ｂを用いて説明した表示順情報キューに設定されているピクチャＩＤのうち、ＩピクチャおよびＰピクチャに対応する６つのピクチャのピクチャＩＤが設定される。
【０１５３】
ステップＳ７６において、ＣＰＵ２０は、ＩピクチャおよびＰピクチャを格納するバンク位置、および、Ｐピクチャのデコードにおける参照画像バンクを指定する。ＩピクチャおよびＰピクチャは、図２のビデオバンクメモリ８２において、８つのバンクのうち、固定の６つのバンクを使用するようになされている。
【０１５４】
ＩピクチャおよびＰピクチャ（アンカーフレームとも称する）を先にデコードし、デコード後に保持されるバンク位置を固定しておくことにより、正方向、逆方向、頭だしなどの、どのピクチャからの再生も、即時に行えるようにすることができる。また、ＩピクチャおよびＰピクチャを先にデコードしておくことにより、先にデコードする６枚のＩピクチャおよびＰピクチャの処理時間が短いほど、ユーザによる再生開始や、再生速度または再生方向の変更の指示から、指示を反映した表示開始までの時間を、表示開始フレームのＧＯＰ内の位置に関わらず短縮することや、スクラブ再生で任意のピクチャを表示する場合の表示時間を短縮することなどが可能となり、高速再生時のパフォーマンスが向上する。
【０１５５】
ステップＳ７７において、ＣＰＵ２０は、ステップＳ７６の処理により指定された、ＩピクチャおよびＰピクチャがそれぞれ格納されるバンク位置を基に、Ｂピクチャのデコードにおける参照画像バンクの位置を指定する。なお、Ｂピクチャが格納されるバンク位置は、後述するフレーム制御処理１において指定される。
【０１５６】
ステップＳ７８において、ＣＰＵ２０は、表示順設定キューを設定する。
【０１５７】
図１２に、正方向再生および逆方向再生における表示順設定キューを示す。正方向再生の場合の表示順設定キューには、図１２Ａに示されるように、図１０Ａを用いて説明した表示順情報キューにキューされている１８個のピクチャＩＤのうち、先頭の２つのＢピクチャと、最後のＩピクチャを除いた１５個のピクチャＩＤ、すなわち、図８Ａを用いて説明した正方向再生の場合にデコーダ２２乃至デコーダ２４のうちのいずれかに供給されるピクチャのうち、最後のＩピクチャを除いた１５ピクチャのピクチャＩＤが、表示される順番に設定される。
【０１５８】
そして、逆方向再生の場合の表示順設定キューには、図１２Ｂに示されるように、図１０Ｂを用いて説明した表示順情報キューにキューされている１８個のピクチャＩＤのうち、先頭の２つのＢピクチャと、最後のＩピクチャを除いた１５個のピクチャＩＤ、すなわち、図８Ｂを用いて説明した逆方向再生の場合にデコーダ２２乃至デコーダ２４のうちのいずれかに供給されるピクチャのうち、最後のＩピクチャを除いた１５ピクチャのピクチャＩＤが、実際に表示される順番に設定される。
【０１５９】
ステップＳ７８において表示順設定キューが設定されるときに、表示順情報キューにキューされているピクチャＩＤは、すべて出力され、表示順情報キューは空となる。
【０１６０】
ステップＳ７９において、図１６のフローチャートを用いて後述する表示位相決定処理が実行される。表示位相決定処理は、１ＧＯＰ相当の１５フレーム＋１フレームの処理単位におけるデコードの開始と表示の開始のタイミングのずれを決定する処理である。
【０１６１】
ステップＳ８０において、図１７のフローチャートを用いて後述する時間情報付きスケジュール決定処理が実行される。時間情報付きスケジュール決定処理は、フレームごとのデコードのタイミングを制御するために、デコードのスケジューリングを実行して、所定の情報キューに、ピクチャＩＤに対応付けて時間情報を設定する処理である。
【０１６２】
ステップＳ７９およびステップＳ８０の処理によって、デコードと表示のタイミングがスケジュールされる。具体的には、例えば、再生方向が正方向で通常速度の再生である場合など、表示の先頭がＩピクチャまたはＰピクチャである場合、図１３に示されるように、先にＩピクチャおよびＰピクチャがデコードされた後、Ｂピクチャがデコードされ、表示開始のタイミングは、デコード開始から６ピクチャ分ずれることにより、Ｂピクチャのデコードのタイミングと表示のタイミングが、１フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。また、再生の方向が逆方向の場合、換言すれば、スピード設定が負の値である場合など、表示の先頭がＢピクチャである場合、図１４に示されるように、先にＩピクチャおよびＰピクチャがデコードされた後、Ｂピクチャがデコードされ、表示開始のタイミングは、デコード開始から７ピクチャ分ずれることにより、Ｂピクチャのデコードのタイミングと表示のタイミングが、１フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。
【０１６３】
ステップＳ８１において、ＣＰＵ２０は、次にデコードされるデータを供給するデコーダの設定を切り替える処理を実行する。具体的には、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタの値がデコーダの数（図１を用いて説明した再生装置１においては、デコーダ２２乃至デコーダ２４の３つ）より１少ない値（図１を用いて説明した再生装置１においては、２）と等しい場合、レジスタの値を０とし、レジスタの値が、デコーダの数より２以上少ない場合、レジスタの値を１インクリメントする。ステップＳ８１の処理の終了後、処理は、図４のステップＳ３２に戻り、ステップＳ３３に進む。
【０１６４】
このような処理により、デコードと表示のタイミングがスケジュールされる。
【０１６５】
次に、図１５のフローチャートを参照して、図６のステップＳ７２において実行される、入力処理について説明する。
【０１６６】
ステップＳ１０１において、ＣＰＵ２０は、図３を用いて説明した制御処理のステップＳ５においてＣＰＵ１１がコマンドバッファ３１に送信したデコード開始コマンドに含まれている表示スピード情報、または、図３を用いて説明した制御処理のステップＳ１１においてＣＰＵ１１がコマンドバッファ３１に送信したユーザの操作入力に対応するコマンドから、スピード設定値を取得し、メモリ２１に保持する。スピード設定値が正の値であるとき、再生処理は正方向再生であり、負の値であるとき、再生処理は、逆方向再生であるものとすることができる。
【０１６７】
例えば、スピード設定値が１であるとき、通常再生であるものとし、スピード設定値が１以上の値であるとき、高速再生であるものとし、スピード設定値が１未満の正の値であるとき、低速再生であるものとし、スピード設定値が−１であるとき、通常速度の逆方向再生であるものとし、スピード設定値が−１以下の値であるとき、高速の逆方向再生であるものとし、スピード設定値が絶対値１未満の負の値であるとき、低速の逆方向再生であるものとすることができる。
【０１６８】
ステップＳ１０２において、ＣＰＵ２０は、ステップＳ１０１において取得したスピード設定値が正の値であるか負の値であるかを基に、実行される処理は正方向の再生処理であるか否かを判断する。
【０１６９】
ステップＳ１０２において、正方向の再生処理であると判断された場合、ステップＳ１０３において、ＣＰＵ２０は、次にデコードする１５フレームのうちの先頭から１３フレームを含む１ＧＯＰと、その次のＧＯＰのＩ，Ｂ，ＢピクチャのピクチャＩＤを、図９Ａを用いて説明した入力ピクチャキューに設定する。
【０１７０】
ステップＳ１０２において、正方向の再生処理ではない、すなわち、逆方向の再生処理であると判断された場合、ステップＳ１０４において、ＣＰＵ２０は、次にデコードする１５フレームのうちの後ろから１３フレームを含む１ＧＯＰと、その前のＧＯＰのＩ，Ｂ，ＢピクチャのピクチャＩＤを、図９Ｂを用いて説明した入力ピクチャキューに設定する。
【０１７１】
ステップＳ１０３またはステップＳ１０４の処理の終了後、ステップＳ１０５において、ＣＰＵ２０は、ＰＣＩブリッジ１７を制御して、入力ピクチャキューの設定、および、次のデータを供給するデコーダを示すレジスタの値（再生されるストリームの最初のＧＯＰにおいては、初期設定によって定められる値であり、２番目以降のＧＯＰにおいては、図６のステップＳ８１の処理により定められる値である）に基づいて、メモリ１８に保存されているストリームデータのうち、図８を用いて説明した１６フレームの圧縮画像データの、デコーダ２２乃至デコーダ２４のうちの所定のデコーダへの転送を制御する。
【０１７２】
デコーダ２２乃至デコーダ２４の入力処理部７１は、供給された１６フレームのデータをメモリコントローラ７４に供給して、入力バッファ７５に保存させるとともに、アドレス管理テーブル７２に、ピクチャ単位の先頭番地、データサイズ、ピクチャヘッダ情報、Ｑマトリクスなどの情報を供給し、それぞれ、ピクチャ別に、テーブルＩＤにより区別可能なテーブル情報として保持させる。
【０１７３】
ステップＳ１０６において、ＣＰＵ２０は、コントロールバス１９を介して、ＰＣＩブリッジ１７のリザルトバッファ３２に、デコーダ２２乃至デコーダ２４のうちの所定のデコーダへの１ＧＯＰ相当のストリームの転送処理の終了を示すリザルトを供給することにより、ＣＰＵ１１に対してストリームの転送処理の終了を通知し、処理は、図６のステップＳ７２に戻り、ステップＳ７３に進む。
【０１７４】
このような処理により、デコーダ２２乃至デコーダ２４に、図８を用いて説明したデコード処理単位となる１６フレームのデータが供給される。
【０１７５】
次に、図１６のフローチャートを参照して、図６のステップＳ７９において実行される、デコード開始タイミングに対して表示開始タイミングをディレイさせる位相を設定するための、表示位相決定処理について説明する。
【０１７６】
ステップＳ１３１において、ＣＰＵ２０は、図１２を用いて説明した表示順設定キューに設定されている、表示するピクチャの数の情報を、表示ピクチャ数レジスタに保持する。図１２においては、表示順設定キューに１５ピクチャ分のピクチャＩＤが設定されているので、表示ピクチャ数レジスタには、値１５が保存される。
【０１７７】
ステップＳ１３２において、ＣＰＵ２０は、図１１を用いて説明したＩ／Ｐピクチャデコードキューに保持されている、デコードされるＩピクチャおよびＰピクチャの総数を、Ｉ／Ｐピクチャ数レジスタに保持する。図１１においては、Ｉ／Ｐピクチャデコードキューに、６ピクチャ分のピクチャＩＤが設定されているので、Ｉ／Ｐピクチャ数レジスタには、値６が保存される。
【０１７８】
ステップＳ１３３において、ＣＰＵ２０は、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプはＢピクチャであるか否かを判断する。これは、通常速度再生または逆方向の通常速度再生における位相のずれ量を算出している場合、再生方向は正方向か逆方向かを判断しているのと同義である。なお、後述する間引き処理１が実行された後では、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプがＢピクチャであっても、その再生速度の設定値によっては、再生方向が正方向であることもあり、逆方向であることもある。
【０１７９】
ステップＳ１３３において、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプはＢピクチャであると判断された場合、ステップＳ１３４において、ＣＰＵ２０は、デコードされるＩピクチャおよびＰピクチャの総数に１を加えた数を、Ｉ／Ｐピクチャデコードキューに保持されているピクチャＩＤに対応するＩピクチャおよびＰピクチャのデコード開始タイミングに対する、表示順設定キューに保持されるピクチャＩＤに対応するピクチャの表示開始タイミングの時間的な位相のずれ量disp_phaseとする。
【０１８０】
例えば、上述した図１４に示されるように、再生速度が−１倍である場合、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプはＢピクチャであるので、先にＩピクチャおよびＰピクチャがデコードされた後、表示開始のタイミングが、デコード開始から７ピクチャ分ずらされて、Ｂピクチャのデコードのタイミングと表示のタイミングが１フレーム分ずれるように、Ｂピクチャがデコードされる。
【０１８１】
ステップＳ１３３において、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプはＢピクチャではないと判断された場合、ステップＳ１３５において、ＣＰＵ２０は、デコードされるＩピクチャおよびＰピクチャの総数を、Ｉ／Ｐピクチャデコードキューに保持されているピクチャＩＤに対応するＩピクチャおよびＰピクチャのデコードタイミングに対する、表示順設定キューに保持されるピクチャＩＤに対応するピクチャの表示開始タイミングの時間的な位相のずれ量disp_phaseとする。
【０１８２】
例えば、上述した図１３に示されるように、再生速度が１倍である場合、表示順設定キューの先頭に設定されているピクチャＩＤに対応するピクチャのピクチャタイプはＩピクチャであり、Ｂピクチャではないので、先にＩピクチャおよびＰピクチャがデコードされた後、表示開始のタイミングが、デコード開始から６ピクチャ分ずらされて、Ｂピクチャのデコードのタイミングと表示のタイミングが１フレーム分ずれるように、Ｂピクチャがデコードされる。
【０１８３】
ステップＳ１３４またはステップＳ１３５の処理の終了後、ステップＳ１３６において、ＣＰＵ２０は、ステップＳ１３４またはステップＳ１３５において決定された表示の位相のずれ量disp_phaseを、内部のレジスタに記憶する。
【０１８４】
ステップＳ１３７において、ＣＰＵ２０は、処理中のＧＯＰは、表示開始ＧＯＰ（再生スピードが変更されたときの、対応するスピードでの再生開始部分を含む）であるか否かを判断する。
【０１８５】
ステップＳ１３７において、処理中のＧＯＰは表示開始ＧＯＰではないと判断された場合、ステップＳ１３８において、ＣＰＵ２０は、ステップＳ１３４またはステップＳ１３５において決定された表示位相のずれ量disp_phaseから、前回の処理、すなわち、１つ前に表示されるＧＯＰにおける表示位相のずれ量prev_disp_phaseを減算し、その結果をずれ量補正値disp_zeroとして内部のレジスタに記憶するとともに、ステップＳ１３４またはステップＳ１３５において決定された表示位相のずれ量disp_phaseを１つ前に表示されるＧＯＰにおける表示位相のずれ量prev_disp_phaseに代入して、処理は、図６のステップＳ７９に戻り、ステップＳ８０に進む。
【０１８６】
ステップＳ１３７において、処理中のＧＯＰは表示開始ＧＯＰであると判断された場合、ステップＳ１３９において、ＣＰＵ２０は、ずれ量補正値disp_zeroとして、初期値０を設定して内部のレジスタに記憶し、処理は、図６のステップＳ７９に戻り、ステップＳ８０に進む。
【０１８７】
このような処理により、デコード開始タイミングに対して表示開始タイミングをディレイさせる位相が決定される。
【０１８８】
次に、図１７のフローチャートを参照して、図６のステップＳ８０において実行される、時間情報付きスケジュール決定処理について説明する。
【０１８９】
ステップＳ１６１において、ＣＰＵ２０は、処理対象は、入力ストリーム状態が変更されてから最初の１ＧＯＰ相当のデコード処理単位であるか否かを判断する。間引きの前後でピクチャタイプが変更されるのは、少なくとも２番目以降のデコード処理単位の場合であるので、ステップＳ１６１において、処理対象が、最初の１ＧＯＰ相当のデコード処理単位であると判断された場合、処理は、後述するステップＳ１６６に進む。
【０１９０】
ステップＳ１６１において、処理対象が、最初の１ＧＯＰ相当のデコード処理単位ではないと判断された場合、ステップＳ１６２において、ＣＰＵ２０は、間引きの前後で先頭ピクチャがＩピクチャまたはＰピクチャからＢピクチャに変更されているか否かを判断する。
【０１９１】
ステップＳ１６２において、間引きの前後で先頭ピクチャがＩピクチャまたはＰピクチャからＢピクチャに変更されていると判断された場合、ステップＳ１６３において、ＣＰＵ２０は、位相調整値を１とし、処理は、後述するステップＳ１６７に進む。
【０１９２】
ステップＳ１６２において、間引きの前後で先頭ピクチャがＩピクチャまたはＰピクチャからＢピクチャに変更されていないと判断された場合、ステップＳ１６４において、ＣＰＵ２０は、間引きの前後で先頭ピクチャがＢピクチャからＩまたはＰピクチャに変更されているか否かを判断する。
【０１９３】
ステップＳ１６４において、間引きの前後で先頭ピクチャがＢピクチャからＩまたはＰピクチャに変更されていると判断された場合、ステップＳ１６５において、ＣＰＵ２０は、位相調整値を−１とし、処理は、後述するステップＳ１６７に進む。
【０１９４】
ステップＳ１６１において、処理対象が、最初のデコード処理単位であると判断された場合、または、ステップＳ１６４において、間引きの前後で先頭ピクチャがＢピクチャからＩまたはＰピクチャに変更されていないと判断された場合、ステップＳ１６６において、ＣＰＵ２０は、位相調整値を０とする。
【０１９５】
ステップＳ１６３、ステップＳ１６５、または、ステップＳ１６６の処理の終了後、ステップＳ１６７において、ＣＰＵ２０は、デコーダ２２乃至デコーダ２４のうちのいずれかのデコーダにおいてデコードされるデコード処理単位の１６枚のピクチャにおいて、先頭のフレームがデコードされるタイミングを示すデコード開始時刻情報time_baseの値を、１つ前のデコード処理単位のデコード開始時刻情報であるprev_time_base、表示位相のずれ量補正値を示すdisp_zero、後述する間引き処理１において算出された時間情報調整値added_count、および、ステップＳ１６１乃至ステップＳ１６６の処理によって求められた位相調整値を用いて算出する（式（１））。
【０１９６】
デコード開始時刻情報time_base＝前ＧＯＰのデコード開始時刻情報prev_time_base−表示位相のずれ量補正値disp_zero＋時間情報調整値added_count＋位相調整値
・・・（１）
【０１９７】
なお、表示開始ＧＯＰに対して、式（１）の演算処理が実行される場合、前ＧＯＰのデコード開始時刻情報を示すprev_time_base、および、前ＧＯＰの間引き処理１において算出される時間情報調整値added_countは、０として演算される。
【０１９８】
ステップＳ１６８において、ＣＰＵ２０は、次にデータが供給されるデコーダに対応する時間情報付きＩ／Ｐピクチャデコードキューを設定する。
【０１９９】
時間情報付きＩ／Ｐピクチャデコードキューは、図１１を用いて説明したＩ／Ｐピクチャデコードキューに設定されているピクチャＩＤに対応付けて、先頭にデコードされるピクチャのデコード開始時刻time_baseの情報、および、１フレームを単位とする時間カウンタのカウント値が設定されるものであり、再生装置１に備えられているデコーダごと（ここでは、デコーダ２２乃至デコーダ２４のそれぞれ）に対応して設けられている。
【０２００】
具体的には、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタの値を参照し、次にデータが供給されるデコーダに対応する時間情報付きＩ／Ｐピクチャデコードキューを設定する。ＣＰＵ２０は、Ｉ／ＰピクチャデコードキューにキューされているピクチャＩＤのうち、先頭のピクチャＩＤに対応するフレームがデコードされるタイミングを示す情報として、上述したデコード開始時刻情報time_baseの情報を用いるとともに、各ピクチャＩＤに対応するそれぞれのフレームがデコードされるタイミングを示す情報としては、１フレームを単位とする時間カウンタのカウント値を用いる。
【０２０１】
ステップＳ１６８において、時間情報付きＩ／Ｐピクチャデコードキューが設定されたとき、Ｉ／ＰピクチャデコードキューにキューされているピクチャＩＤはすべて出力されて、Ｉ／Ｐピクチャデコードキューは空となる。
【０２０２】
ステップＳ１６９において、ＣＰＵ２０は、次にデータが供給されるデコーダに対応する時間情報付き表示順設定キューを設定する。
【０２０３】
時間情報付き表示順設定キューは、図１２を用いて説明した表示順設定キューに設定されているピクチャＩＤに対応付けて、先頭に表示されるピクチャのデコード開始時刻に対する表示タイミングの位相のずれ量から１を減算した値、および、１フレームを単位とする時間カウンタのカウント値が設定されるものであり、再生装置１に備えられているデコーダごと（ここでは、デコーダ２２乃至デコーダ２４のそれぞれ）に対応して設けられている。
【０２０４】
具体的には、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタの値を参照し、次にデータが供給されるデコーダに対応する時間情報付き表示順設定キューを設定する。ＣＰＵ２０は、表示順設定キューにキューされているピクチャＩＤのうち、実際の表示順において先頭となるフレームに対応するフレームの表示タイミングを示す、上述した表示位相決定処理において決定された位相のずれ量disp_phaseから１を減算した値を、Ｂピクチャのデコードタイミングにあわせた基準時刻情報として用いるとともに、各ピクチャＩＤに対応するそれぞれのフレームがデコードされるタイミングを示す情報としては、１フレームを単位とする時間カウンタのカウント値を用いる。
【０２０５】
ステップＳ１６９において時間情報付き表示順設定キューが設定されたとき、表示順設定キューにキューされているピクチャＩＤはすべて出力されて、表示順設定キューは空となる。
【０２０６】
ステップＳ１７０において、ＣＰＵ２０は、デコード開始時刻情報time_baseに、上述した図１６のステップＳ１３１において表示ピクチャ数レジスタに保持された値を加えた値を、前のＧＯＰのデコード開始時刻情報prev_time_baseとして、レジスタに保存し、処理は、図６のステップＳ８０に戻り、ステップＳ８１に進む。
【０２０７】
このような処理により、デコードの処理単位となる１６フレーム分のデコード処理タイミングが設定される。
【０２０８】
図１６および図１７を用いて説明した処理により、デコードの位相と表示の位相が、ＩピクチャおよびＰピクチャの枚数、表示する枚数、先頭に表示するピクチャがＢピクチャであるか否かなどを基に決定されて、時間情報として設定される。これにより、複数のデコーダを用いて正逆方向の高速再生を行うときに発生する、それぞれのデコーダにおいてデコードされたり出力されて表示されるピクチャの枚数の変化に追従して、動的にスピードを変更して、連続的にデコード済みの画像を表示させることが可能となる。更に、再生スピードの変更が指令されて、任意の位置のピクチャから間引き間隔の変更が行なわれた場合でも、表示する数の増減を反映することで、対応しているスピード範囲において、再生スピードをフレーム単位で変更させて、連続的にスピードを変更させることが可能となる。
【０２０９】
図６乃至図１７を用いて説明した処理により、図４のステップＳ３２においてデコードスケジュール処理１が実行される。
【０２１０】
そして、図４のステップＳ３３において、最初のフレームから６フレーム目までのいずれかのフレームであるか否かが判断され、最初のフレームから６フレーム目までのいずれかのフレームであると判断された場合、ステップＳ３４の１フレームディレイ表示設定処理はスキップされ、ステップＳ３５において、フレーム制御処理１が実行される。
【０２１１】
次に、図１８のフローチャートを参照して、図４のステップＳ３５において実行される、フレーム制御処理１について説明する。
【０２１２】
ステップＳ１９１において、ＣＰＵ２０は、再生装置１内で実行される各処理のタイミングを管理するためのカウンタである時間管理カウンタと、時間情報付きＩ／Ｐピクチャデコードキューを参照し、表示時刻が過ぎてしまったストリームデータがあるか否かを判断する。ステップＳ１９１において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、処理は、後述するステップＳ１９７に進む。
【０２１３】
ステップＳ１９１において、表示時刻が過ぎてしまったストリームデータがないと判断された場合、ステップＳ１９２において、図１９を用いて後述するＩピクチャおよびＰピクチャデコード処理が実行される。
【０２１４】
ステップＳ１９３において、図２０を用いて後述するＢピクチャデコード処理が実行される。
【０２１５】
ステップＳ１９４において、ＣＰＵ２０は、ＣＰＵ１１に、表示ピクチャ情報を通知する。具体的には、ＣＰＵ２０は、コントロールバス１９を介して、ＰＣＩブリッジ１７のリザルトバッファ３２に、図３のステップＳ６において、ＣＰＵ１１から送信された表示開始コマンドに対するリザルトとして表示ピクチャ情報を書き込むことにより、ＣＰＵ１１に対して、表示ピクチャ情報を通知する。ＣＰＵ１１は、ＰＣＩブリッジ１７のリザルトバッファ３２に書き込まれる表示ピクチャ情報を参照することにより、表示されるピクチャがいずれのＧＯＰのいずれのピクチャであるかを知ることができる。
【０２１６】
ステップＳ１９５において、ＣＰＵ２０は、時間管理カウンタをインクリメントする。
【０２１７】
ステップＳ１９６において、図２３を用いて後述する間引き処理１が実行されて、処理は、図４のステップＳ３５に戻り、ステップＳ３６に進む。
【０２１８】
ステップＳ１９１において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、ステップＳ１９７において、図３５を用いて後述するアンダーフロー処理が実行されて、処理は、図４のステップＳ３５に戻り、ステップＳ３６に進む。
【０２１９】
このような処理により、表示が遅れていなければ、設定されたデコードスケジュールに基づいて、１フレーム分のデコードが実行されて、表示ピクチャ情報が、ＣＰＵ１１に通知され、間引き処理１が実行される。そして、表示が遅れているとき、後述するアンダーフロー処理が実行される。
【０２２０】
次に、図１９のフローチャートを参照して、図１８のステップＳ１９２において実行されるＩピクチャおよびＰピクチャデコード処理について説明する。
【０２２１】
ステップＳ２２１において、ＣＰＵ２０は、時間管理カウンタの値と、時間情報付きＩ／Ｐピクチャデコードキューに設定された、次にデコードされるピクチャのピクチャＩＤに対応付けられている時間情報とが一致したか否かを判断する。ステップＳ２２１において、時間管理カウンタの値は、時間情報付きＩ／Ｐピクチャデコードキューに設定された時間情報と一致していないと判断された場合、処理は、図１８のステップＳ１９２に戻り、ステップＳ１９３に進む。
【０２２２】
ステップＳ２２１において、時間管理カウンタの値と、時間情報付きＩ／Ｐピクチャデコードキューに設定された時間情報とが一致したと判断された場合、ステップＳ２２２において、ＣＰＵ２０は、デコードを実行するデコーダとして設定されているデコーダ２２乃至デコーダ２４のうちのいずれかを、コントロールバス１９を介して制御し、Ｉピクチャ、または、Ｐピクチャをデコードさせ、時間情報付きＩ／Ｐピクチャデコードキューから、デコードコマンドが実行されたピクチャに対応するピクチャＩＤを削除する。
【０２２３】
具体的には、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタに保持されている値を参照し、デコーダ２２乃至デコーダ２４のうちデコードを実行するデコーダとして設定されているもののエレメンタリストリームアドレス決定部７３を制御して、時間情報付きＩ／Ｐピクチャデコードキューに設定されたピクチャＩＤに対応するピクチャのデータを、メモリコントローラ７４により、入力バッファ７５から読み出させて、デコード処理部７７に供給させる。
【０２２４】
デコードされるピクチャがＩピクチャである場合、ＣＰＵ２０は、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＩピクチャをデコードさせるとともに、書き込み画アドレス決定部７８を制御して、デコードされたフレームデータをメモリコントローラ８１に供給させて、ビデオバンクメモリ８２のうち、図６のステップＳ７６においてＩピクチャの格納用に指定されたバンクに保存させる。また、デコードされるピクチャがＰピクチャである場合、ＣＰＵ２０は、参照画アドレス決定部７９を制御して、図６のステップＳ７６において設定されたＰピクチャの参照バンク位置を基に、メモリコントローラ８１により、ビデオバンクメモリ８２に格納されている参照画を読み出させて、デコード処理部７７に供給させ、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＰピクチャをデコードさせるとともに、書き込み画アドレス決定部７８を制御して、デコードされたフレームデータをメモリコントローラ８１に供給させて、ビデオバンクメモリ８２のうち、図６のステップＳ７６においてＰピクチャの格納用に指定されたバンクに保存させる。
【０２２５】
ステップＳ２２２の処理の終了後、処理は、図１８のステップＳ１９２に戻り、ステップＳ１９３に進む。
【０２２６】
このような処理により、設定されたスケジュールに基づいて、Ｉピクチャ、または、Ｐピクチャがデコードされる。
【０２２７】
次に、図２０のフローチャートを参照して、図１８のステップＳ１９３において実行されるＢピクチャデコード処理について説明する。
【０２２８】
ステップＳ２４１において、ＣＰＵ２０は、時間管理カウンタの設定と、時間情報付き表示順設定キューに設定された現在の先頭のピクチャＩＤに対応する時間情報が一致したか否かを判断する。時間情報付き表示順設定キューに設定された時間情報とは、スケジュール時の１５フレームのうち、実際の表示順において先頭となるフレームに対応するフレームの表示タイミングを示す、上述した表示位相決定処理において決定された位相のずれ量disp_phaseから１を減算した値（Ｂピクチャのデコードタイミングにあわせた基準時刻情報）、または、１５フレームのうち、実際の表示順において先頭となるフレーム以外の各ピクチャＩＤに対応する、１フレームを単位とする時間カウンタのカウント値である。ステップＳ２４１において、時間管理カウンタの設定は、時間情報付き表示順設定キューに設定された時間情報と一致しないと判断された場合、処理は、図１８のステップＳ１９３に戻り、ステップＳ１９４に進む。
【０２２９】
ステップＳ２４１において、時間管理カウンタの設定は、時間情報付き表示順設定キューに設定された時間情報と一致すると判断された場合、ステップＳ２４２において、ＣＰＵ２０は、時間情報と一致すると判断されたのは、Ｂピクチャに対応するピクチャＩＤであるか否かを判断する。
【０２３０】
ステップＳ２４２において、時間情報と一致すると判断されたのは、Ｂピクチャに対応するピクチャＩＤであると判断された場合、ステップＳ２４３において、ＣＰＵ２０は、デコードを実行するデコーダとして設定されているデコーダ２２乃至デコーダ２４のうちのいずれかを、コントロールバス１９を介して制御し、このピクチャＩＤで示されるＢピクチャをデコードさせる。
【０２３１】
具体的には、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタに保持されている値を参照し、デコーダ２２乃至デコーダ２４のうちデコードを実行するデコーダとして設定されているもののエレメンタリストリームアドレス決定部７３を制御して、時間情報付き表示順設定キューに設定されたピクチャＩＤに対応するピクチャのデータを、メモリコントローラ７４により、入力バッファ７５から読み出させて、デコード処理部７７に供給させる。そして、ＣＰＵ２０は、参照画アドレス決定部７９を制御して、図６のステップＳ７７において設定されたＢピクチャの参照バンク位置を基に、メモリコントローラ８１により、ビデオバンクメモリ８２に格納されている参照画を読み出させて、デコード処理部７７に供給させ、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＢピクチャをデコードさせる。
【０２３２】
ステップＳ２４４において、ＣＰＵ２０は、Ｂピクチャを格納するバンク位置を設定する。すなわち、ＣＰＵ２０は、ビデオバンクメモリ８２のうち、ＩピクチャまたはＰピクチャの格納用に指定されていない２つのバンクに対してＢピクチャが交互に格納されるように、書き込み画アドレス決定部７８を制御する。ＣＰＵ２０は、書き込み画アドレス決定部７８を制御して、デコード処理部７７によりデコードされたフレームデータをメモリコントローラ８１に供給させて、ビデオバンクメモリ８２の設定されたバンク位置にデコードされたフレームデータを記憶させる。
【０２３３】
ステップＳ２４２において、時間情報と一致すると判断されたのは、Ｂピクチャに対応するピクチャＩＤではないと判断された場合、または、ステップＳ２４４の処理の終了後、ステップＳ２４５において、ＣＰＵ２０は、時間情報付き表示順設定キューに設定された現在の先頭のピクチャＩＤを、表示キューに設定する。表示キューは、１つのピクチャＩＤのみが保持される深さ１のキューである。
【０２３４】
具体的には、ＣＰＵ２０は、ステップＳ２４２において、時間情報と一致すると判断されたのは、Ｂピクチャに対応するピクチャＩＤではないと判断された場合、上述した図１９のステップＳ２２２において、時間情報付き表示順設定キューに設定された現在の先頭のピクチャＩＤに対応するＩピクチャまたはＰピクチャのデコードが制御されているので、ＣＰＵ２０は、そのＩピクチャまたはＰピクチャに対応するピクチャＩＤを表示キューに設定する。また、ステップＳ２４２において、時間情報と一致すると判断されたのは、Ｂピクチャに対応するピクチャＩＤであると判断されて、ステップＳ２４３においてＢピクチャのデコードが制御された場合、ＣＰＵ２０は、時間情報付き表示順設定キューに設定された現在の先頭のピクチャＩＤ、すなわち、デコードされたＢピクチャに対応するピクチャＩＤを、表示キューに設定する。
【０２３５】
そして、時間情報付き表示順設定キューに設定された現在の先頭のピクチャＩＤは、時間情報付き表示順設定キューから出力され、表示キューに設定されたピクチャＩＤに対応するピクチャの次に表示されるピクチャに対応するピクチャＩＤが、時間情報付き表示順設定キューの先頭となるか、または、時間情報付き表示設定キューが空となる。ステップＳ２４５の処理の終了後、処理は、図１８のステップＳ１９３に戻り、ステップＳ１９４に進む。
【０２３６】
このようにして、時間情報付きＩ／Ｐピクチャデコードキューおよび時間情報付き表示順設定キューに設定されている時間情報を基に、デコードが実行される。正方向再生の場合は、図２１に示されるように、時間情報付きＩ／Ｐピクチャデコードキューに設定されている時間情報を基に、ＩピクチャおよびＰピクチャがデコードされ、時間情報付き表示順設定キューに設定されている時間情報を基に、Ｂピクチャがデコードされる。また、逆方向再生の場合は、図２２に示されるように、時間情報付きＩ／Ｐピクチャデコードキューに設定されている時間情報を基に、ＩピクチャおよびＰピクチャがデコードされ、時間情報付き表示順設定キューに設定されている時間情報を基に、Ｂピクチャがデコードされる。
【０２３７】
また、Ｂピクチャのデコードのタイミングは、図２１および図２２に示されるように、正方向再生、逆方向再生のいずれの場合であっても、後述する１フレームディレイ表示設定処理により、Ｂピクチャのデコードのタイミングが表示されるタイミングと１フレームずれるようになされている。
【０２３８】
なお、図２１および図２２においては、１倍速およびー１倍速における場合のデコードタイミングと表示タイミングについてそれぞれ図示されているが、高速再生が実行される場合、後述する間引き処理１により、時間情報付き表示順設定キューの設定が変更されて、次の処理ルーチンにおいて、間引き処理１後の時間情報付き表示順設定キューの設定を基に、デコードが実行されるようになされている。高速再生が実行される場合、Ｂピクチャはすべてデコードされるのではなく、間引かれてデコードされるが、ＩピクチャおよびＰピクチャのデコードは、高速再生が実行される場合も、同様に全ピクチャにおいて実行される。
【０２３９】
次に、図２３のフローチャートを参照して、図１８のステップＳ１９５において実行される、間引き処理１について説明する。
【０２４０】
ステップＳ２７１において、ＣＰＵ２０は、図５を用いて説明した入力ストリーム状態変更処理において設定されたストリーム入力状態を基に、ユーザの設定に基づいた再生速度は、正方向、または、逆方向の高速再生であるか否かを判断する。ステップＳ２７１において、高速再生ではないと判断された場合、処理は、図１８のステップＳ１９６に戻り、図４のステップＳ３６に進む。
【０２４１】
ステップＳ２７１において、高速再生であると判断された場合、ステップＳ２７２において、ＣＰＵ２０は、処理中のフレームは、スピード設定が変更された後の最初のＧＯＰの最初のフレームであるか否かを判断する。
【０２４２】
ステップＳ２７２において、処理中のフレームは、入力ストリーム状態が変更された後の最初のＧＯＰの最初のフレームであると判断された場合、ステップＳ２７３において、ＣＰＵ２０は、スピード設定値を基に、間引き周期を決定して、レジスタに保存する。
【０２４３】
具体的には、ＣＰＵ２０は、例えば、２倍速または−２倍速で再生が行われる場合、間引き周期を１／２としてレジスタに保存し、３倍速または−３倍速で再生が行われる場合、間引き周期を１／３としてレジスタに保存する。
【０２４４】
ステップＳ２７４において、ＣＰＵ２０は、間引き処理１においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。
【０２４５】
ステップＳ２７２において、処理中のフレームは、入力ストリーム状態が変更された後の最初のＧＯＰの最初のフレームではないと判断された場合、または、ステップＳ２７４の処理の終了後、ステップＳ２７５において、ＣＰＵ２０は、時間情報付き表示順設定キューに保持されているピクチャＩＤに対応付けられて、確認済みフラグが設定されているか否かを基に、時間情報付き表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップＳ２８０の処理により、時間情報付き表示順設定キューに設定されるフラグである。ステップＳ２７５において、時間情報付き表示順設定キューはすべて確認済みであると判断された場合、処理は、図１８のステップＳ１９６に戻り、図４のステップＳ３６に進む。
【０２４６】
ステップＳ２７５において、時間情報付き表示順設定キューはすべて確認済みではない、換言すれば、時間情報付き表示順設定キューに確認済みフラグが設定されていないピクチャＩＤが残っていると判断された場合、ステップＳ２７６において、ＣＰＵ２０は、フレームカウンタを１インクリメントする。
【０２４７】
ステップＳ２７７において、ＣＰＵ２０は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、ＣＰＵ２０は、間引き周期が１／２である場合、フレーム数をカウントするフレームカウンタの値が２ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が１／３である場合、フレーム数をカウントするフレームカウンタの値が３ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップＳ２７７において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップＳ２８０に進む。
【０２４８】
ステップＳ２７７において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップＳ２７８において、ＣＰＵ２０は、処理対象のフレームに対応するピクチャＩＤを、時間情報付き表示順設定キューから削除するか、または、時間情報付き表示順設定キューの対応するピクチャＩＤに対して、非表示であることを示すフラグを対応付ける。
【０２４９】
ステップＳ２７９において、図２４を用いて説明する、時間情報再設定処理が実行される。
【０２５０】
ステップＳ２７７において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップＳ２７９の処理の終了後、ステップＳ２８０において、ＣＰＵ２０は、時間情報付き表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャＩＤに対応付けて確認済みフラグを設定し、処理は、ステップＳ２７５に戻り、それ以降の処理が繰り返される。
【０２５１】
このような処理により、表示されないフレームのピクチャＩＤが、時間情報付き表示順設定キューから削除されるか、または、時間情報付き表示順設定キューの対応するピクチャＩＤに対して、非表示であることを示すフラグが対応付けられる。Ｂピクチャのデコード処理と、１フレームディレイ表示設定処理（後述）は、時間情報付き表示順設定キューを参照して実行される。高速再生の設定に基づいて、時間情報付き表示順設定キューの設定が更新されるため、この処理ルーチン以降にデコードされるＢピクチャは、表示されるもののみとなり（間引かれるＢピクチャは、デコード処理部７７に供給されない）、間引かれるＩピクチャまたはＰピクチャは、デコードはされるが、表示されないようになされる。
【０２５２】
また、フレームカウンタは、スピード設定が変更されるまで、すなわち、入力ストリーム状態が変更されるまで、ＧＯＰにかかわらず、リセットされずに連続してインクリメントされるので、例えば、１ＧＯＰが１５フレームで構成されている場合の２倍速、４倍速、または、−２倍速、−４倍速など、間引き周期の分母が１ＧＯＰを構成するフレームの数を割り切ることができない値となってしまうため、ＧＯＰによって、表示されないピクチャの位置が変更される場合であっても、入力ストリームにおけるフレームの順番を示すフレームカウンタの値を用いて、間引き周期を基に、表示が行われるか否かを容易に決定することができる。
【０２５３】
このようにして、Ｂピクチャはデコーダへのストリーム入力で間引き、ＩピクチャおよびＰピクチャはデコード後の表示を止めることで、等間隔で間引きが施され、スピードの動的な変更に追従可能なように高速再生を行うことが可能となる。ＩピクチャおよびＰピクチャは、デコード時に他のピクチャからの参照画像として用いられる場合があるので、この方法は、できるだけバンクメモリの面数を少なくして等間隔で間引きを施して高速再生を実行するために、有効な方法である。
【０２５４】
これにより、等間隔の間引きを行いつつ、デコーダを２つ用いる場合には、−３倍乃至３倍の範囲で速度設定が可能となり、デコーダを３つ用いる場合には、−６倍乃至６倍の範囲で速度設定が可能となり、更に、２個以上のデコーダにおいて、同様の間引き処理１の制御を適用して、高速再生を実現することができる。
【０２５５】
次に、図２４のフローチャートを参照して、図２３のステップＳ２７９において実行される時間情報再設定処理について説明する。
【０２５６】
ステップＳ３０１において、ＣＰＵ２０は、スピード設定値の変更により発生した間引き処理１によるピクチャの変更数（削除数または追加数）を検出する。
【０２５７】
ステップＳ３０２において、ＣＰＵ２０は、ピクチャの変更数（削除数または追加数）を、時間情報調整値added_countとする。
【０２５８】
ステップＳ３０３において、ＣＰＵ２０は、時間情報付き表示順設定キューの時間情報を、連続となるように再設定し、処理は、図２３のステップＳ２７９に戻り、ステップＳ２８０に進む。
【０２５９】
このような処理により、再生速度の設定値に対応して、間引き後の時間情報付き表示順設定キューの設定が変更され、これ以降の処理ルーチンにおいては、変更された時間情報付き表示順設定キューを基に、Ｂピクチャのデコードタイミングとすべてのフレームの表示設定が制御される。
【０２６０】
間引き処理１における時間情報付き表示順設定キューの設定について、図２５乃至図３０を用いて説明する。図２５乃至図３０においては、上部に、間引き前のスケジューリングの状態が、間引きされるフレームを点線で記載することによって示されており、その下部に、間引き処理１後のスケジューリングの状態が示されている。また、図２５乃至図３０において、カッコ内の数字の０，１，２は、デコーダ２２乃至デコーダ２４のうちのいずれかに対応してそれぞれ設定されている情報キューに蓄積される情報、または、デコーダ２２乃至デコーダ２４のうちのいずれかにおいてそれぞれ実行される処理であることを示すものである。
【０２６１】
例えば、＋２倍速の高速再生における場合、図２５に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−７であり、時間情報調整値added_countは、−７となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプがIピクチャから変更されてＢピクチャとなるので、位相調整値は−１となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−８となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＢピクチャであることからＩピクチャのデコード開始タイミングより７フレーム分遅れる。
【０２６２】
また、例えば、−２倍速の高速再生における場合、図２６に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−７であり、時間情報調整値added_countは、−７となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Ｂピクチャのまま変更されないので、位相調整値は０となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−７となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＢピクチャであることからＩピクチャのデコード開始タイミングより７フレーム分遅れる。
【０２６３】
例えば、＋４倍速の高速再生における場合、図２７に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−１１であり、時間情報調整値added_countは、−１１となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプがＩピクチャから変更されてＢピクチャとなるので、位相調整値は−１となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−１２となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＢピクチャであることからＩピクチャのデコード開始タイミングより７フレーム分遅れる。
【０２６４】
例えば、−４倍速の高速再生における場合、図２８に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−１１であり、時間情報調整値added_countは、−１１となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Ｂピクチャのまま変更されないので、位相調整値は０となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−１１となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＢピクチャであることからＩピクチャのデコード開始タイミングより７フレーム分遅れる。
【０２６５】
例えば、＋５倍速の高速再生における場合、図２９に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−１２であり、時間情報調整値added_countは、−１２となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Ｉピクチャのまま変更されないので、位相調整値は０となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−１２となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＩピクチャであることからＩピクチャのデコード開始タイミングより６フレーム分遅れる。
【０２６６】
例えば、−５倍速の高速再生における場合、図３０に示されるように、間引き前後におけるデコード単位内の表示ピクチャ数の変更は−１２であり、時間情報調整値added_countは、−１２となる。そして、次のデコード単位の先頭のピクチャのピクチャタイプは、Ｂピクチャのまま変更されないので、位相調整値は０となるため、time_baseの調整量は、表示位相のずれ量補正値disp_zeroが０であるとき、−１２となる。そして、２つ目のＧＯＰの表示開始タイミングは、先頭がＢピクチャであることからＩピクチャのデコード開始タイミングより７フレーム分遅れる。
【０２６７】
そして、図２５乃至図３０に示されるように、次に繰り返して実行される、図１７を用いて説明した時間情報付きスケジュール決定処理のステップＳ１６７において、デコード開始時刻情報time_baseが、上述した式（１）を基に算出される。そして、図２５乃至図３０に示されるように、算出されたデコード開始時刻情報time_baseを基に、時間情報付きＩ／Ｐピクチャデコードキューに設定されたピクチャＩＤに対応するＩピクチャおよびＰピクチャのデコード開始タイミングが決定され、算出されたデコード開始時刻情報time_baseと、表示されないフレームが削除された時刻情報付き表示順設定キューを基に、間引き処理１後のＢピクチャのデコードおよび表示のスケジュールが決定される。
【０２６８】
例えば、Ｎ＝１５，Ｍ＝３のLONG GOPのＭＰＥＧストリームを再生装置１でデコードする場合、図２のビデオバンクメモリ８２の８つのバンクのうちのバンクＮｏ．０乃至５の６つのバンクに、固定的に、Ｉ,Ｐ，Ｐ，Ｐ，Ｐ，Ｉのアンカーフレームが格納され、Ｂピクチャが、表示の１フレーム前にデコードされるように、残りのバンクＮｏ．６および７に交互に格納されるようにすることで、ビデオバンクメモリ８２に備えられているバンクが８面のみであっても、正方向、逆方向で、デコーダの数（本実施例の再生装置１では３つ）に対応して定められるスピード範囲内の表示を実行させることが可能である。
【０２６９】
図３１乃至図３４を用いて、図２のビデオバンクメモリ８２の設定について説明する。
【０２７０】
図３１は、１倍速再生時に各ピクチャが図２のビデオバンクメモリ８２の８つのバンクに格納される状態を表す図である。
【０２７１】
バンクＮｏ．０乃至５は、ＩピクチャおよびＰピクチャに占有され、デコード済みのＩピクチャおよびＰピクチャが、デコード順に格納されるようになされている。そして、最初のＩ２ピクチャの表示タイミングと同時に、バンクＮｏ．６にＢ３ピクチャが格納され、Ｂ３ピクチャが表示されるタイミングと同時に、バンクＮｏ．７にＢ４ピクチャが格納され、Ｂ３ピクチャが表示されるタイミングには、表示が終了されたＢ３ピクチャが格納されていたバンクＮｏ．６と、参照画像としての利用が終了したＩ２ピクチャが格納されていたバンクＮｏ．０とが開放される。その後、バンクＮｏ．６および７には、Ｂピクチャが、Ｂピクチャの表示タイミングがデコードタイミングに対して１フレーム遅れるように交互に格納され、表示後に開放される。また、バンクＮｏ．１乃至５は、格納されていたＰピクチャの参照画像としての利用が終了した時点で開放される。すなわち、バンクＮｏ．０乃至５は、ピクチャの表示によって開放されるのではなく、格納されていたＩピクチャまたはＰピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放される。
【０２７２】
図３２は、２倍速再生時に各ピクチャが図２のビデオバンクメモリ８２の８つのバンクに格納される状態を表す図である。
【０２７３】
バンクＮｏ．０乃至５は、ＩピクチャおよびＰピクチャに占有され、デコード済みのＩピクチャおよびＰピクチャが、デコード順に格納されるようになされている。そして、最初のＩ２ピクチャの表示タイミングと同時に、バンクＮｏ．６にＢ４ピクチャが格納され、Ｂ４ピクチャが表示されるタイミングと同時に、バンクＮｏ．７にＢ６ピクチャが格納され、Ｂ６ピクチャが表示されるタイミングには、表示が終了されたＢ４ピクチャが格納されていたバンクＮｏ．６と、参照画像としての利用が終了したＩ２ピクチャが格納されていたバンクＮｏ．０とが開放される。その後、バンクＮｏ．６および７には、間引かれていないＢピクチャが、Ｂピクチャの表示タイミングがデコードタイミングに対して１フレーム遅れるように交互に格納され、表示後に開放される。また、バンクＮｏ．０乃至５は、ピクチャの表示によって開放されるのではなく、格納されていたＩピクチャまたはＰピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放されるので、バンクＮｏ．１乃至５は、格納されていたＰピクチャの参照画像としての利用とピクチャの表示とがいずれも終了した時点で開放される。
【０２７４】
図３３は、−１倍速再生時に各ピクチャが図２のビデオバンクメモリ８２の８つのバンクに格納される状態を表す図である。
【０２７５】
バンクＮｏ．０乃至５は、ＩピクチャおよびＰピクチャに占有され、デコード済みのＩピクチャおよびＰピクチャが、デコード順に格納されるようになされている。そして、バンクＮｏ．５にＩ２ピクチャが格納された次のタイミングで、バンクＮｏ．６にＢ１ピクチャが格納され、Ｂ１ピクチャが表示されるタイミングと同時に、バンクＮｏ．７にＢ０ピクチャが格納され、Ｂ１ピクチャが表示されるタイミングには、表示が終了されたＢ１ピクチャが格納されていたバンクＮｏ．６が開放される。その後、バンクＮｏ．６および７には、Ｂピクチャが、Ｂピクチャの表示タイミングがデコードタイミングに対して１フレーム遅れるように、交互に格納され、表示後に開放される。バンクＮｏ．０乃至５は、ピクチャの表示か、格納されていたＩピクチャまたはＰピクチャの参照画像としての利用が終了した時点のうちのいずれか遅いタイミングで開放される。すなわち、図３３における場合は、逆方向再生であるので、最初にバンクＮｏ．０に格納されたＩ２ピクチャは、最後に表示されるため、このＧＯＰの表示が終了するまで開放されない。
【０２７６】
図３４は、−２倍速再生時に各ピクチャが図２のビデオバンクメモリ８２の８つのバンクに格納される状態を表す図である。
【０２７７】
バンクＮｏ．０乃至５は、ＩピクチャおよびＰピクチャに占有され、デコード済みのＩピクチャおよびＰピクチャが、デコード順に格納されるようになされている。そして、バンクＮｏ．５にＩ２ピクチャが格納された次のタイミングで、バンクＮｏ．６にＢ１ピクチャが格納され、Ｂ１ピクチャが表示されるタイミングの次のタイミングで、バンクＮｏ．７にＢ１２ピクチャが格納され、表示が終了されたＢ１ピクチャが格納されていたバンクＮｏ．６が開放される。その後、バンクＮｏ．６および７には、間引かれていないＢピクチャが、Ｂピクチャの表示タイミングがデコードタイミングに対して１フレーム遅れるように交互に格納され、表示後に開放される。バンクＮｏ．０乃至５は、ピクチャの表示か、格納されていたＩピクチャまたはＰピクチャの参照画像としての利用が終了した時点のうちのいずれか遅いタイミングで開放される。すなわち、図３４における場合も、逆方向再生であるので、最初にバンクＮｏ．０に格納されたＩ２ピクチャは、最後に表示されるため、このＧＯＰの表示が終了するまで開放されない。
【０２７８】
このように、ＭＰＥＧなどに代表される画像圧縮方式で一般的な双方向のフレーム間予測を用いて圧縮した映像データを逆転再生、高速再生するような場合において、ＩピクチャおよびＰピクチャを先にデコードし、Ｂピクチャのデコードを表示の１フレーム前のタイミングとなるようにスケジュールすることにより、ＩピクチャおよびＰピクチャを、フレームを保持しておくバンクの固定位置に格納し、複雑なバンク面制御を行うことなく、バンクの面数をできるだけ少なくして、効率よく逆方向再生、逆方向高速再生を実現することができる。
【０２７９】
具体的には、フレームを保持しておくバンクの数が、デコードの処理単位に含まれるＩピクチャおよびＰピクチャの数と、Ｂピクチャ格納分の２面との合計数であれば、アンカーフレームであるＩピクチャおよびＰピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生を実現することができる。
【０２８０】
例えば、本実施例のように、Ｎ＝１５，Ｍ＝３の、MPEG LONG GOPストリームでは、Ｉ，Ｐ，Ｐ，Ｐ，Ｐピクチャの５面＋次のＩピクチャの１面＋Ｂピクチャの２面の合計で、８面のビデオバンクメモリを用意することにより、ＩピクチャおよびＰピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生、逆方向高速再生を実現することができる。
【０２８１】
また、ユーザからの操作によるスピード変更レスポンスを向上するために、フレーム単位でスピードを変更する目的で、Ｂピクチャのデコードおよび、表示を止める処理を行おうとしたとき、Ｂピクチャのデコードと、表示のタイミングの制御を別に管理しているにもかかわらず、バンクを管理するための処理が煩雑となることを防いで、バンク管理をシンプルにすることができ、例えば、入力ストリームの過渡状態で不正な参照処理などが行われたとしても容易に復帰することができ（後述するアンダーフロー処理）、スピード変更をフレーム単位に行うことができる。
【０２８２】
次に、図３５のフローチャートを参照して、図１８のステップＳ１９７において実行されるアンダーフロー処理について説明する。
【０２８３】
ステップＳ３６１において、ＣＰＵ２０は、時間管理カウンタおよび時間カウンタを参照し、表示処理に対してストリームデータの供給が間に合っていない状態、すなわち、アンダーフローが発生したか否かを判断する。ステップＳ３６１において、アンダーフローが発生していないと判断された場合、処理は、図１８のステップＳ１９７に戻り、図４のステップＳ３６に進む。
【０２８４】
ステップＳ３６１において、アンダーフローが発生していると判断された場合、ステップＳ３６２において、ＣＰＵ２０は、時間を示すカウンタである時間カウンタの値を、時間情報付きＩ／Ｐピクチャデコードキューの先頭の時刻にあわせて修正し、処理は、図１８のステップＳ１９７に戻り、図４のステップＳ３６に進む。
【０２８５】
図３６および図３７を用いて、アンダーフロー発生時の時間カウンタの値の補正について説明する。なお、図３６および図３７において、カッコ内の数字の０，１，２は、デコーダ２２乃至デコーダ２４のうちのいずれかに対応してそれぞれ設定されている情報キューに蓄積される情報、または、デコーダ２２乃至デコーダ２４のうちのいずれかにおいてそれぞれ実行される処理であることを示すものである。
【０２８６】
図３６には、図２９を用いて説明した場合と同様に、−５倍速再生でアンダーフローが発生していない場合の時間カウンタに対して、情報キューに蓄積される情報、および、デコードと表示のタイミングが図示されている。図３６においては、あるＧＯＰのＩピクチャのデコード開始タイミングの時間カウンタの値が７である場合を例としている。
【０２８７】
そして、例えば、２フレーム分アンダーフローが発生した場合、図３７に示されるように、時間カウンタを２フレーム分遅延させ、その時間カウンタを参照して処理を再開させることにより、それ以降のスケジューリングとデコードおよび表示の制御を、滞りなく実行させることが可能となる。
【０２８８】
このような処理により、例えば、高速再生時のＨＤＤ１６のスループット不足などにより、ストリームの供給が滞った場合であっても、ストリームの供給が滞ったことによるアンダーフロー状態を検出し、時間情報計数をアンダーフローした時間分戻すことにより、破綻無く再生処理を再開することが可能である。
【０２８９】
そして、図４のステップＳ３６において、すべてのフレームの処理が終了されていないと判断された場合、ステップＳ３７において、時間カウンタがインクリメントされ、処理は、ステップＳ３１に戻り、次のフレームに対して、それ以降の処理が繰り返される。
【０２９０】
７フレーム目以降、ステップＳ３３においては、最初のフレームから６番目のフレームまでのいずれかのフレームではないと判断されるので、ステップＳ３４において、１フレームディレイ表示設定処理が実行される。
【０２９１】
次に、図３８のフローチャートを参照して、７フレーム目以降で、図４のステップＳ３４において実行される、１フレームディレイ表示処理について説明する。
【０２９２】
ステップＳ３６１において、ＣＰＵ２０は、表示キューに保持されている情報を基に、デコーダ２２乃至デコーダ２４のうちの、設定されているデコーダによるデコード処理から１フレーム遅れで表示が行われるように、表示命令を、デコーダ２２デコーダ２４のうちの、設定されているデコーダに、コントロールバス１９を介して通知し、表示キューの対応するピクチャＩＤを削除する。このとき、デコーダ２２乃至デコーダ２４のうちの、設定されているデコーダの出力アドレス決定部８０は、コントロールバス７６を介して、ＣＰＵ２０からの制御信号を受け、メモリコントローラ８０を制御して、ビデオバンクメモリ８２から、対応するピクチャを読み出させて、セレクタ２５に供給する。
【０２９３】
ステップＳ３６２において、ＣＰＵ２０は、図６のステップＳ８１において設定される次のデータを供給するデコーダを示すレジスタに保持されている値を基に、セレクタ２５を制御して、デコード済みのフレームの出力を制御し、処理は、図４のステップＳ３４に戻り、ステップＳ３５に進む。
【０２９４】
例えば、再生速度が１倍である場合、図２１を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるＢピクチャのデコードタイミングに対して、１フレーム分Ｂピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。
【０２９５】
また、再生速度が−１倍である場合も、図２２を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるＢピクチャのデコードタイミングに対して、１フレーム分Ｂピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。
【０２９６】
また、＋２倍速の高速再生における場合は図２５、−２倍速の高速再生における場合は図２６、＋４倍速の高速再生における場合は図２７、−４倍速の高速再生における場合は図２８、＋５倍速の高速再生における場合は図２９、そして、−５倍速の高速再生における場合は図３０を用いて説明したように、時間情報付き表示順設定キューに設定されている時間情報を基に実行されるＢピクチャのデコードタイミングに対して、１フレーム分Ｂピクチャの表示が遅れて実行されるように、時間情報付き表示順設定キューに設定されているピクチャの順に、表示が設定される。
【０２９７】
このような処理により、フレームを保持しておくバンクの数が、デコードの処理単位に含まれるＩピクチャおよびＰピクチャの数と、Ｂピクチャ格納分の２面との合計数であれば、アンカーフレームであるＩピクチャおよびＰピクチャを、バンクの固定位置に格納して、複雑なバンク面制御を行わずに、高速再生、逆方向再生、および、逆方向高速再生を実現することができる。
【０２９８】
なお、デコードと表示の開始タイミングの位相のずれは、デコード処理単位に含まれるＩピクチャおよびＰピクチャの数に基づいて求められるものとして説明したが、例えば、デコード処理単位に含まれるフレームのうち、表示されるフレーム数を基にデコードと表示の開始タイミングの位相のずれを求めることができるようにしても良い。
【０２９９】
なお、正方向または逆方向の高速再生が実行される場合、例えば、２番目以降のデコード処理単位におけるデコードのスケジューリングにおいて、表示されるフレームと表示されないフレームとの判断、すなわち、間引きが行われるのに先立って、例えば、デコード処理単位の先頭で表示されるピクチャのピクチャタイプなどの符号化パラメータを予め検出するようにしても良い。
【０３００】
例えば、表示されるフレームと表示されないフレームとの判断が行われる前に、前のデコード処理単位のデコードのスケジュールにおいて計数されたフレームカウンタと、算出された間引き周期とに基づいて、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するようにしても良いし、他の方法で、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出することができるようにしても良い。
【０３０１】
このようにすることにより、デコードのスケジュール処理を、更に、正確に高速に実行することが可能となる。
【０３０２】
デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための具体的な処理の一例について、以下に説明する。
【０３０３】
図３９のフローチャートを参照して、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出する処理をスケジューリングに先立って行うことができるようにした、フレームごとに行う処理２について説明する。この処理ルーチンは、表示が指令されたストリームデータが終了するまで、または、表示の終了が指令されるまで、１フレームごとに繰り返して実行される。
【０３０４】
ステップＳ４３１において、図５を用いて説明した入力ストリーム状態変更処理が実行される。
【０３０５】
ステップＳ４３２において、図４０を用いて後述するデコードスケジュール処理２が実行される。デコードスケジュール処理２において、デコードタイミングがスケジュールされる。そして、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理が実行されるようになされている。
【０３０６】
ステップＳ４３３において、ＣＰＵ２０は、１フレーム単位で処理の時間を表すカウンタである時間カウンタを参照することにより、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームであるか否かを判断する。
【０３０７】
ステップＳ４３３において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームではないと判断された場合、ステップＳ４３４において、図３８を用いて説明した１フレームディレイ表示設定処理が実行される。
【０３０８】
ステップＳ４３３において、処理の対象となっているのは、デコード順において、再生されるストリームデータの最初のフレームから６番目のフレームのうちのいずれかのフレームであると判断された場合、または、ステップＳ４３４の処理の終了後、ステップＳ４３５において、図４２を用いて後述するフレーム制御処理２が実行される。フレーム制御処理２において、処理対象となっているフレームがデコードされる。
【０３０９】
ステップＳ４３６において、ＣＰＵ２０は、すべてのフレームの処理が終了したか否かを判断する。ステップＳ４３６において、すべてのフレームの処理が終了していないと判断された場合、ステップＳ４３７において、ＣＰＵ２０は、１フレームを単位とする時間カウンタをインクリメントする。
【０３１０】
ステップＳ４３７の処理の終了後、処理は、ステップＳ４３１に戻り、それ以降の処理が繰り返される。ステップＳ４３６において、すべてのフレームの処理が終了したと判断された場合、処理は終了される。
【０３１１】
このようにして、ＣＰＵ２０は、１フレームの処理ごとに、時間カウンタをカウントアップし、ユーザの指令した再生速度に応じて、デコードをスケジュールして、１フレームごとに、デコードを行わせ、表示を設定するが、この処理においては、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理を実行するようになされている。
【０３１２】
次に、図４０のフローチャートを参照して、図３９のステップＳ４３２において実行される、デコードスケジュール処理１について説明する。
【０３１３】
ステップＳ４７１乃至ステップＳ４７８において、図６のステップＳ７１乃至ステップＳ７８と基本的に同様の処理が実行される。
【０３１４】
すなわち、入力ピクチャキューを参照して、入力ピクチャキューが空であるか否かが判断され、入力ピクチャキューが空ではないと判断された場合、処理は、図３９のステップＳ４３２に戻り、ステップＳ４３３に進む。入力ピクチャキューが空であると判断された場合、図１５のフローチャートを用いて説明した入力処理が実行される。
【０３１５】
そして、次にデータの供給を受けるデコーダに対応して設定される時間情報付き表示順設定キューが空であるか否かが判断され、時間情報付き表示順設定キューが空ではないと判断された場合、すなわち、スケジュール済みの１ＧＯＰ相当のピクチャに対して、フレームごとにデコード処理または表示処理が実行されている途中である場合、処理は、図３９のステップＳ４３２に戻り、ステップＳ４３３に進む。
【０３１６】
時間情報付き表示順設定キューが空であると判断された場合、リオーダ処理が実行され、Ｉ／Ｐピクチャデコードキューに、デコードするＧＯＰのうちのＩピクチャおよびＰピクチャのピクチャＩＤが、デコード順に設定される。そして、ＩピクチャおよびＰピクチャを格納するバンク位置、および、Ｐピクチャのデコードにおける参照画像バンクが指定され、ＩピクチャおよびＰピクチャがそれぞれ格納されるバンク位置を基に、Ｂピクチャのデコードにおける参照画像バンクの位置が指定され、図１２を用いて説明した表示順設定キューが設定される。
【０３１７】
そして、ステップＳ４７９において、図４１を用いて後述する間引き処理２が実行される。この間引き処理２は、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出するための処理である。
【０３１８】
そして、ステップＳ４８０乃至ステップＳ４８２において、図６のステップＳ７９乃至ステップＳ８１において実行された処理と基本的に同等の処理が実行される。すなわち、図１６のフローチャートを用いて説明した表示位相決定処理が実行され、図１７のフローチャートを用いて説明した時間情報付きスケジュール決定処理が実行され、デコードと表示のタイミングがスケジュールされる。
【０３１９】
具体的には、ステップＳ４７９において実行された間引き処理２により、デコードタイミングのスケジュール処理に先立って、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを予め検出することができるので、例えば、表示の先頭がＩピクチャまたはＰピクチャである場合、図１３を用いて説明した様に、先にＩピクチャおよびＰピクチャがデコードされた後、Ｂピクチャがデコードされ、表示開始のタイミングは、デコード開始から６ピクチャ分ずれることにより、Ｂピクチャのデコードのタイミングと表示のタイミングが、１フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。また、表示の先頭がＢピクチャである場合、図１４を用いて説明した様に、先にＩピクチャおよびＰピクチャがデコードされた後、Ｂピクチャがデコードされ、表示開始のタイミングは、デコード開始から７ピクチャ分ずれることにより、Ｂピクチャのデコードのタイミングと表示のタイミングが、１フレーム分ずれるように、デコードと表示のタイミングのスケジュールが行われる。
【０３２０】
そして、次にデコードされるデータを供給するデコーダの設定を切り替える処理が実行されて、処理は、図３９のステップＳ４３２に戻り、ステップＳ４３３に進む。
【０３２１】
このような処理により、デコードと表示のタイミングがスケジュールされる。
【０３２２】
次に、図４１のフローチャートを参照して、図４０のステップＳ４７９において実行される間引き処理２について説明する。
【０３２３】
ステップＳ５０１において、ＣＰＵ２０は、図５を用いて説明した入力ストリーム状態変更処理において設定されたストリーム入力状態を基に、ユーザの設定に基づいた再生速度は、正方向、または、逆方向の高速再生であるか否かを判断する。ステップＳ５０１において、高速再生ではないと判断された場合、処理は、後述するステップＳ５１０に進む。
【０３２４】
ステップＳ５０１において、高速再生であると判断された場合、ステップＳ５０２において、ＣＰＵ２０は、処理中のフレームは、スピード設定が変更された後の最初のＧＯＰの最初のフレームであるか否かを判断する。
【０３２５】
ステップＳ５０２において、処理中のフレームは、入力ストリーム状態が変更された後の最初のＧＯＰの最初のフレームであると判断された場合、ステップＳ５０３において、ＣＰＵ２０は、スピード設定値GOP_Speedを基に、間引き周期を決定して、レジスタに保存する。
【０３２６】
具体的には、ＣＰＵ２０は、例えば、２倍速または−２倍速で再生が行われる場合、間引き周期を１／２としてレジスタに保存し、３倍速または−３倍速で再生が行われる場合、間引き周期を１／３としてレジスタに保存する。
【０３２７】
ステップＳ５０４において、ＣＰＵ２０は、間引き処理２においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。
【０３２８】
ステップＳ５０２において、処理中のフレームは、入力ストリーム状態が変更された後の最初のＧＯＰの最初のフレームではないと判断された場合、または、ステップＳ５０４の処理の終了後、ステップＳ５０５において、ＣＰＵ２０は、表示順設定キューに保持されているピクチャＩＤに対応付けられて、確認済みフラグが設定されているか否かを基に、表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップＳ５０９の処理により、表示順設定キューに設定されるフラグである。ステップＳ５０５において、表示順設定キューはすべて確認済みであると判断された場合、処理は、後述するステップＳ５１０に進む。
【０３２９】
ステップＳ５０５において、表示順設定キューはすべて確認済みではない、換言すれば、表示順設定キューに確認済みフラグが設定されていないピクチャＩＤが残っていると判断された場合、ステップＳ５０６において、ＣＰＵ２０は、フレームカウンタを１インクリメントする。
【０３３０】
ステップＳ５０７において、ＣＰＵ２０は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、ＣＰＵ２０は、間引き周期が１／２である場合、フレーム数をカウントするフレームカウンタの値が２ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が１／３である場合、フレーム数をカウントするフレームカウンタの値が３ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップＳ５０７において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップＳ５０９に進む。
【０３３１】
ステップＳ５０７において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップＳ５０８において、ＣＰＵ２０は、表示順設定キューの処理対象のフレームに、非表示であることを示す削除フラグを設定する。
【０３３２】
ステップＳ５０７において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップＳ５０８の処理の終了後、ステップＳ５０９において、ＣＰＵ２０は、表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャＩＤに対応付けて確認済みフラグを設定し、処理は、ステップＳ５０５に戻り、それ以降の処理が繰り返される。
【０３３３】
ステップＳ５０１において、高速再生ではないと判断された場合、または、ステップＳ５０５において、表示順設定キューはすべて確認済みであると判断された場合、ステップＳ５１０において、ＣＰＵ２０は、表示順設定キューに、間引き処理２の実行時のスピード設定値であるGOP_Speedを設定し、図４０のステップＳ４７９に戻り、ステップＳ４８０に進む。
【０３３４】
このような処理により、表示順設定キューにおいて、デコードのスケジューリングに先立って、表示されないフレームに非表示であることを示す削除フラグが対応付けられるので、デコードのスケジュール時には、デコード処理単位の先頭で表示されるピクチャのピクチャタイプを検出することができる。そして、この処理ルーチン以降にデコードされるＢピクチャは、表示されるもののみとなり（間引かれるＢピクチャは、デコード処理部７７に供給されない）、間引かれるＩピクチャまたはＰピクチャは、デコードはされるが、表示されないようになされる。
【０３３５】
次に、図４２のフローチャートを参照して、図３９のステップＳ４３５において実行される、フレーム制御処理２について説明する。
【０３３６】
ステップＳ５４１において、ＣＰＵ２０は、再生装置１内で実行される各処理のタイミングを管理するためのカウンタである時間管理カウンタと、時間情報付きＩ／Ｐピクチャデコードキューを参照し、表示時刻が過ぎてしまったストリームデータがあるか否かを判断する。ステップＳ５４１において、表示時刻が過ぎてしまったストリームデータがあると判断された場合、処理は、後述するステップＳ５４７に進み、図３５を用いて説明したアンダーフロー処理が実行されて、処理は、図３９のステップＳ４３５に戻り、ステップＳ４３６に進む。
【０３３７】
ステップＳ５４１において、表示時刻が過ぎてしまったストリームデータがないと判断された場合、ステップＳ５４２乃至ステップＳ５４５において、図１８のステップＳ１９２乃至ステップＳ１９５と基本的に同様の処理が実行される。
【０３３８】
すなわち、図１９を用いて説明したＩピクチャおよびＰピクチャデコード処理が実行され、図２０を用いて説明したＢピクチャデコード処理が実行される。そして、ＣＰＵ２０から、ＣＰＵ１１に、表示ピクチャ情報が通知され、ＣＰＵ２０は、時間管理カウンタをインクリメントする。これらの処理は、図４１のステップＳ５０８において削除フラグが設定されなかった（間引かれなかった）フレームに対して実行される。
【０３３９】
そして、ステップＳ５４６において、図４３を用いて後述する間引き処理３が実行されて、処理は、図３９のステップＳ４３５に戻り、ステップＳ４３６に進む。
【０３４０】
このような処理により、表示が遅れていなければ、設定されたデコードスケジュールに基づいて、１フレーム分のデコードが実行されて、表示ピクチャ情報が、ＣＰＵ１１に通知され、間引き処理３が実行される。そして、表示が遅れているとき、図３５を用いて説明したアンダーフロー処理が実行される。
【０３４１】
次に、図４３のフローチャートを参照して、図４２のステップＳ５４６において実行される間引き処理３について説明する。
【０３４２】
ステップＳ５７１において、ＣＰＵ２０は、１つ前に実行された間引き処理（デコードスケジュール処理２において、間引き処理２が実行された場合は、間引き処理２）の実行時と比較して、再生のスピード設定が同方向で高速になったか否かを判断する。具体的には、ＣＰＵ２０は、現在のスピード設定値speedと、表示順設定キューに設定されているGOP_speedとを基に、speed／GOP_speed＞１が成立するか否かを判断することにより、１つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が同方向で高速になったか否かを判断する。ステップＳ５７１において、１つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が、同方向で高速になっていない、すなわち、前の間引き処理と速度が変更されていないか、遅くなったか、または、逆方向になったと判断された場合、処理は、図４２のステップＳ５４６に戻り、処理は、図３９のステップＳ４３６に進む。
【０３４３】
ステップＳ５７１において、１つ前に実行された間引き処理の実行時と比較して、再生のスピード設定が、同方向で高速になったと判断された場合、ステップＳ５７２において、ＣＰＵ２０は、間引き処理２の実行時と現在のそれぞれのスピード設定値を基に、間引き周期を決定して、レジスタに保存する。
【０３４４】
具体的には、ＣＰＵ２０は、speed／GOP_speedの絶対値の逆数を基に間引き周期を設定し、例えば、間引き処理２の実行時にスピード設定が２倍速であったが、現在のスピード設定値が４倍速であった場合、間引き周期を１／２として、間引き周期を保持するレジスタに保存する。
【０３４５】
ステップＳ５７３において、ＣＰＵ２０は、間引き処理３においてデコード処理単位にかかわらずフレームの数をカウントするフレームカウンタをリセットする。
【０３４６】
ステップＳ５７４において、ＣＰＵ２０は、時間情報付き表示順設定キューに保持されているピクチャＩＤに対応付けられて、確認済みフラグが設定されているか否かを基に、時間情報付き表示順設定キューはすべて確認済みであるか否かを判断する。確認済みフラグは、後述するステップＳ５７９の処理により、時間情報付き表示順設定キューに設定されるフラグである。ステップＳ５７４において、時間情報付き表示順設定キューはすべて確認済みであると判断された場合、処理は、図４２のステップＳ５４６に戻り、処理は、図３９のステップＳ４３６に進む。
【０３４７】
ステップＳ５７４において、時間情報付き表示順設定キューはすべて確認済みではない、換言すれば、時間情報付き表示順設定キューに確認済みフラグが設定されていないピクチャＩＤが残っていると判断された場合、ステップＳ５７５において、ＣＰＵ２０は、フレームカウンタを１インクリメントする。
【０３４８】
ステップＳ５７６において、ＣＰＵ２０は、間引き周期の決定の結果、レジスタに保持されている間引き周期と、フレームカウンタの値を参照し、フレームカウンタに示されるフレームは表示されるか否かを判断する。具体的には、ＣＰＵ２０は、間引き周期が１／２である場合、フレーム数をカウントするフレームカウンタの値が２ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにしたり、間引き周期が１／３である場合、フレーム数をカウントするフレームカウンタの値が３ｎ（ｎは正の整数）であれば、表示を行い、それ以外の場合は、表示を行わないようにする。ステップＳ５７６において、表示が行われると判断された場合、すなわち、間引かれないフレームであると判断された場合、処理は、後述するステップＳ５７９に進む。
【０３４９】
ステップＳ５７６において、表示されないと判断された場合、すなわち、間引かれるフレームであると判断された場合、ステップＳ５７７において、ＣＰＵ２０は、処理対象のフレームに対応するピクチャＩＤを、時間情報付き表示順設定キューから削除するか、または、時間情報付き表示順設定キューの対応するピクチャＩＤに対して、非表示であることを示すフラグを対応付ける。
【０３５０】
ステップＳ５７８において、図２４を用いて説明した、時間情報再設定処理が実行される。このとき、ステップＳ３０２において算出される時間情報調整値added_countは、一つ前の間引き処理と比較してスピード設定が変化した場合の、ステップＳ５７６およびステップＳ５７７の処理による間引きによって変更されたピクチャの数である。
【０３５１】
ステップＳ５７６において、フレームカウンタに示されるフレームの表示が行われると判断された場合、または、ステップＳ５７８の処理の終了後、ステップＳ５７９において、ＣＰＵ２０は、時間情報付き表示順設定キューのフレームカウンタに示されるフレームに対応するピクチャＩＤに対応付けて確認済みフラグを設定し、処理は、ステップＳ５７４に戻り、それ以降の処理が繰り返される。
【０３５２】
このような処理により、間引き処理２から速度設定が変更されて、同方向で、かつ、高速になった場合には、表示されないフレームのピクチャＩＤが、時間情報付き表示順設定キューから削除されるか、または、時間情報付き表示順設定キューの対応するピクチャＩＤに対して、非表示であることを示すフラグが対応付けられる。Ｂピクチャのデコード処理と、１フレームディレイ表示設定処理は、再設定された時間情報付き表示順設定キューを参照して実行される。間引き処理２から速度設定が変更されて、同方向で、かつ、高速になった場合には、その速度設定に基づいて、時間情報付き表示順設定キューの設定が更新されるため、この処理ルーチン以降にデコードされるＢピクチャは、表示されるもののみとなり（間引かれるＢピクチャは、デコード処理部７７に供給されない）、間引かれるＩピクチャまたはＰピクチャは、デコードはされるが、表示されないようになされる。
【０３５３】
したがって、デコードのスケジューリングが終了した後でも、１フレームごとに、速度設定の変更があるか否かが検出されて、間引き処理２から速度設定が変更されて、同方向で、かつ、高速になった場合には、時間情報付き表示順設定キューが再設定されるので、速度変更にすばやく追従して、ストリームが再生されるようにデコードをスケジューリングすることが可能となる。
【０３５４】
以上においては、１５ピクチャで１ＧＯＰが構成されている場合について説明したが、例えば、１ＧＯＰに含まれるアンカーフレーム（ＩピクチャおよびＰピクチャ）の数が、５つ以上または４つ以下であるような場合について、図４４乃至図６４を用いて説明する。
【０３５５】
図４４および図４５を用いて、１ＧＯＰを構成するピクチャのアンカーフレーム数が多いため、図１を用いて説明した再生装置１により上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にしてデコード処理を行った場合に発生する不具合について説明する。
【０３５６】
まず、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（０）、Ｂ０からＰ２０までの２１ピクチャで１ＧＯＰが構成されているＧＯＰ（１）、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（２）を含むストリームを、上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰを１つのデコーダ（デコーダ２２乃至デコーダ２４のうちのいずれか）でデコードして１倍速で正方向に再生する場合について、図４４を用いて説明する。
【０３５７】
それぞれのＧＯＰの先頭のＢピクチャは、前のＧＯＰとともにデコードされる。ＧＯＰ（１）のアンカーフレームは７フレームであるので、ＧＯＰ（１）をデコードするデコーダにおいて、ビデオバンクメモリ８２の８つのバンクのうち、アンカーフレームをデコードするために用いられる６つのバンクがＩ２乃至Ｐ１７で一杯になり、続くアンカーフレーム（Ｐ２０と次のＧＯＰ（２）のＩ２）が配置できなくなる。したがって、ＧＯＰ（１）をデコードするデコーダでは、アンカーフレームＰ２０と次のＧＯＰ（２）のＩ２をデコード時に参照することができない。これにより、ＧＯＰ（１）のＰ１７以降のピクチャと、ＧＯＰ（２）のＢ０Ｂ１はデコードすることができない。
【０３５８】
次に、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（０）、Ｂ０からＰ２０までの２１ピクチャで１ＧＯＰが構成されているＧＯＰ（１）、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（２）を含むストリームを、上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰを１つのデコーダ（デコーダ２２乃至デコーダ２４のうちのいずれか）でデコードして１倍速で逆方向に再生する場合について、図４５を用いて説明する。
【０３５９】
それぞれのＧＯＰの先頭のＢピクチャは、次にデコードされるＧＯＰとともにデコードされる。この場合においても、ＧＯＰ（１）のアンカーフレームは７フレームであるので、図４４を用いて説明した場合と同様に、ＧＯＰ（１）をデコードするデコーダにおいて、ビデオバンクメモリ８２の８つのバンクのうち、アンカーフレームをデコードするために用いられる６つのバンクがＩ２乃至Ｐ１７で一杯になり、続くアンカーフレーム（Ｐ２０と前のＧＯＰ（２）のＩ２）が配置できなくなる。したがって、ＧＯＰ（１）をデコードするデコーダでは、アンカーフレームＰ２０と前のＧＯＰ（２）のＩ２をデコード時に参照することができない。これにより、ＧＯＰ（１）のＰ１７以降のピクチャと、ＧＯＰ（２）のＢ０Ｂ１はデコードすることができない。
【０３６０】
このように、１ＧＯＰを構成するピクチャのアンカーフレーム数が多い場合、図１を用いて説明した再生装置１により上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰごとにデコード処理を施すと、再生できないフレームが発生してしまう。
【０３６１】
一方、１ＧＯＰに含まれるアンカーフレームの数が５つ以下であるＧＯＰと、１ＧＯＰに含まれるアンカーフレームの数が５つ以上であるＧＯＰとが連続し、かつ、高速再生される場合に発生する不具合ついて、図４６および図４７を用いて説明する。
【０３６２】
まず、Ｂ０Ｂ１Ｉ２の３ピクチャで１ＧＯＰが構成されているＧＯＰ（０）、ＧＯＰ（１）、ＧＯＰ（２）が連続し、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（３）およびＧＯＰ（４）を含むストリームを、上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰを１つのデコーダ（デコーダ２２乃至デコーダ２４のうちのいずれか）でデコードして２倍速で正方向に再生する場合について、図４６を用いて説明する。
【０３６３】
それぞれのＧＯＰの先頭のＢピクチャは、前のＧＯＰとともにデコードされる。ＧＯＰ（０）乃至ＧＯＰ（２）のアンカーフレームはそれぞれ１フレームのみであり、続くＧＯＰ（３）のアンカーフレームは５つである。ＧＯＰ（０）のＢ０Ｂ１のうち表示されるピクチャであるＢ０は、一つ前のフレームとともに、デコーダ２においてデコードされ、次に、ＧＯＰ（０）のＩ２ピクチャと、表示されるＧＯＰ（１）のＢ１とが、デコーダ０においてデコードされ、次に、ＧＯＰ（１）のＩ２ピクチャと、表示されるＧＯＰ（２）のＢ０とが、デコーダ１においてデコードされる。そして、それぞれのデコーダにおいて、表示される全てのピクチャが出力された後、次のデコード処理が始まるようになされる。
【０３６４】
すなわち、デコーダ０においては、ＧＯＰ（１）のＢ１が表示のために出力されたのち、ＧＯＰ（３）のアンカーフレームのデコードが開始されるので、デコード遅れが発生してしまい、ＧＯＰ（３）のアンカーフレームのデコードが終了して、最初に表示されるピクチャであるＢ３がデコードされるまでの間、デコーダ２によりデコードされたＧＯＰ（３）のＢ１が出力された状態となってしまう。
【０３６５】
次に、Ｂ０Ｂ１Ｉ２の３ピクチャで１ＧＯＰが構成されているＧＯＰ（４）、ＧＯＰ（３）、ＧＯＰ（２）が連続し、Ｂ０からＰ１４までの１５ピクチャで１ＧＯＰが構成されているＧＯＰ（１）およびＧＯＰ（０）を含むストリームを、上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰを１つのデコーダ（デコーダ２２乃至デコーダ２４のうちのいずれか）でデコードして２倍速で逆方向に再生する場合について、図４７を用いて説明する。
【０３６６】
それぞれのＧＯＰの先頭のＢピクチャは、次にデコードされるＧＯＰとともにデコードされる。この場合においても、ＧＯＰ（４）乃至ＧＯＰ（２）のアンカーフレームはそれぞれ１フレームのみであり、続くＧＯＰ（１）のアンカーフレームは５つである。ＧＯＰ（４）の前のＧＯＰのＢ０Ｂ１のうち、表示されるＢ０は、ＧＯＰ（４）のＩ２とともにデコーダ１でデコードされ、ＧＯＰ（４）のＢ０Ｂ１のうち表示されるピクチャであるＢ１は、次のＧＯＰ（３）のＩ２とともに、デコーダ０においてデコードされる。次に、ＧＯＰ（３）のＢ０Ｂ１のうち表示されるピクチャであるＢ１は、次のＧＯＰ（２）のＩ２とともに、デコーダ２においてデコードされ、次に、ＧＯＰ（２）のＢ０Ｂ１のうち表示されるピクチャであるＢ０は、次のＧＯＰ（１）とともに、デコーダ１においてデコードされる。そして、それぞれのデコーダにおいて、表示される全てのピクチャが出力された後、次のデコード処理が始まるようになされる。
【０３６７】
すなわち、デコーダ１においては、ＧＯＰ（４）のＩ２が表示のために出力されたのち、ＧＯＰ（１）のアンカーフレームのデコードが開始されるので、デコード遅れが発生してしまい、ＧＯＰ（１）のアンカーフレームのデコードが終了して、最初に表示されるピクチャであるＧＯＰ（２）のＢ０がデコードされるまで、デコーダ２によりデコードされたＧＯＰ（３）のＩ２が出力された状態となってしまう。
【０３６８】
このように、１ＧＯＰを構成するピクチャのアンカーフレーム数が少ないものと多いものが連続している場合、図１を用いて説明した再生装置１により上述した１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰごとにデコード処理を施すと、アンカーフレームのデコードにかかる時間のため、デコード遅れが発生してしまう。
【０３６９】
図４４乃至図４７を用いて説明した様な、１５ピクチャで１ＧＯＰが構成されていない場合の不具合を解消するために、図１を用いて説明した再生装置１においては、それぞれのＧＯＰの構成を検出し、デコーダ２２乃至デコーダ２４のビデオバンクメモリ８２の数に対応したアンカーフレームを有するデコード処理単位としてのデコードユニットを、ＧＯＰの分割および結合により構成するようにしても良い。
【０３７０】
１ＧＯＰに３０フレーム含まれている場合のＧＯＰ分割と、分割されたＧＯＰのそれぞれのデコードについて、図４８乃至図５０を用いて説明する。
【０３７１】
図４８に示されるように、ＧＯＰ（０）は、Ｂ０乃至Ｐ２９の３０フレームで構成され、次にＧＯＰ（１）が続いている。それぞれのデコード処理単位において、先頭の２枚のＢピクチャは、その前のＧＯＰと一緒にデコードされるようになされている。
【０３７２】
ビデオバンクメモリ８２においてアンカーフレームに割り当てられるのはビデオバンクメモリ８２の８バンクのうちの６バンクであるが、ＧＯＰ（０）には、アンカーフレームが１０フレーム存在するので、上述したように、１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰごとにデコード処理を施す方法では、全てのフレームをデコードすることができない。そこで、図４８の下段に示されるように、ＧＯＰ（０）をアンカーフレームが６フレーム以下となるように２つに分割してデコード処理単位を構成し、分割された中に含まれるＰピクチャおよびＢピクチャを全てデコードするために必要となるアンカーフレームを含めてデコードを行うものとする。
【０３７３】
図４９に示されるように、ＧＯＰ（０）をＩ２乃至Ｐ１７と、Ｂ１８乃至Ｐ２９およびＢ０Ｂ１の２つのデコード単位ＧＯＰ（０−０）とＧＯＰ（０−１）とに分割してそれぞれ異なるデコーダにてデコードする。後半のＧＯＰ（０−１）の先頭の２つのＢピクチャＢ１８Ｂ１９をデコードするには、ＧＯＰ（０−０）の最後のアンカーフレームＰ１７が必要である。すなわち、Ｐ１７はＧＯＰ（０−１）のアンカーフレームでもある。また、後半のＧＯＰ（０−１）のアンカーフレームをデコードするには、前半のＧＯＰ（０−０）のアンカーフレームが必要である。したがって、ＧＯＰ（０−１）のアンカーフレームをデコードする前に、ＧＯＰ（０−０）のアンカーフレームを、アンカーフレームのデコード用の６つのバンクを用いてデコードし、その後、ＧＯＰ（０−１）のアンカーフレームと次のＧＯＰの先頭のＩピクチャをアンカーフレームのデコード用の６つのバンクを用いて（それぞれのバンクを上書きして）デコードする。
【０３７４】
したがって、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位をデコードするデコーダにおいても、アンカーフレームは固定バンクでデコードされ、正方向であっても逆方向であっても、通常再生であっても、高速再生であっても、そのデコード順は不変である。一方、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位においても、Ｂピクチャは、再生方向および再生速度によって、デコード順が異なる。図４９においては、再生速度１倍の正方向再生および逆方向再生におけるデコード順が示されている。
【０３７５】
すなわち、図５０に示されるように、再生速度１倍の正方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームＩ２乃至Ｐ１７がデコードされた後、ＧＯＰ（０−０）のＢピクチャＢ３乃至Ｂ１６がデコードされるとともに、異なるデコーダにおいて、アンカーフレームＩ２乃至Ｐ１４がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームＰ１７乃至Ｐ２９およびＧＯＰ（１）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（０−１）のＢピクチャＢ１８乃至Ｂ２８と、ＧＯＰ（１）のＢ０Ｂ１がデコードされる。
【０３７６】
そして、再生速度１倍の逆方向再生においては、いずれかのデコーダにおいて、アンカーフレームＩ２乃至Ｐ１４がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームＰ１７乃至Ｐ２９およびＧＯＰ（１）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（１）のＢ１Ｂ０とＧＯＰ（０−１）のＢピクチャＢ２８乃至Ｂ１８がデコードされ、異なるデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームＩ２乃至Ｐ１７がデコードされた後、ＧＯＰ（０−０）のＢピクチャＢ１６乃至Ｂ３がデコードされる。
【０３７７】
次に、１ＧＯＰに含まれるアンカーフレーム数が４以下であるＧＯＰが連続する場合のデコード処理単位の設定と、デコード処理について、図５１乃至図５３を用いて説明する。
【０３７８】
図５１に示されるように、Ｂ０乃至Ｐ５の６フレームで１ＧＯＰのＧＯＰ（０）が構成され、Ｂ（０）乃至Ｐ８の９フレームでＧＯＰ（１）が構成され、そして、ＧＯＰ（２）が続いている。それぞれのデコード処理単位において、先頭の２枚のＢピクチャは、その前のＧＯＰと一緒にデコードされるようになされている。
【０３７９】
ビデオバンクメモリ８２においてアンカーフレームに割り当てられるのはビデオバンクメモリ８２の８バンクのうちの６バンクであるが、ＧＯＰ（０）には、アンカーフレームが２フレーム存在し、ＧＯＰ（１）には、アンカーフレームが３フレーム存在する。そこで、図５１の下段に示されるように、ＧＯＰ（０）とＧＯＰ（１）とを結合してアンカーフレームが６フレーム以下となるデコード処理単位を設定し、デコードを行うものとする。
【０３８０】
ここでは、ＧＯＰ（０）の先頭のＢ０およびＢ１は、前のＧＯＰとともにデコードされ、ＧＯＰ（０）のＩ２乃至Ｐ５、ＧＯＰ（１）、および、ＧＯＰ（２）の先頭のＢ０およびＢ１を、１つのデコード処理単位ＧＯＰ（０−０）としてデコードする。図５２に示されるように、アンカーフレームは固定バンクでデコードされ、正方向であっても逆方向であっても、通常再生であっても、高速再生であっても、そのデコード順は不変である。一方、Ｂピクチャは、再生方向および再生速度によって、デコード順が異なる。図５２においては、再生速度１倍の正方向再生および逆方向再生におけるデコード順が示されている。
【０３８１】
すなわち、図５３に示されるように、再生速度１倍の正方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームおよびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（０−０）のＢピクチャがデコードされる。そして、再生速度１倍の逆方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームおよびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（０−０）のＢピクチャが、逆方向再生されるようにデコードされる。
【０３８２】
次に、１ＧＯＰに含まれるアンカーフレーム数が６ＧＯＰ以上の長いＧＯＰと、１ＧＯＰに含まれるアンカーフレーム数が４以下の短いＧＯＰが連続している場合、これらのＧＯＰを結合した後分割してデコード処理単位を設定し、デコーダへの負荷を均等化するようにした場合について、図５４乃至図５６を用いて説明する。
【０３８３】
図５４に示されるように、Ｂ０乃至Ｐ２０の２１フレームで１ＧＯＰのＧＯＰ（０）が構成され、Ｂ０乃至Ｐ８の９フレームで１ＧＯＰのＧＯＰ（１）が構成され、次にＧＯＰ（２）が続いている。それぞれのデコード処理単位において、先頭の２枚のＢピクチャは、その前のＧＯＰと一緒にデコードされるようになされている。
【０３８４】
ビデオバンクメモリ８２においてアンカーフレームに割り当てられるのはビデオバンクメモリ８２の８バンクのうちの６バンクであるが、ＧＯＰ（０）には、アンカーフレームが７フレーム存在するので、上述したように、１５ピクチャで１ＧＯＰが構成されている場合と同様にして１ＧＯＰごとにデコード処理を施す方法では、不具合なくデコードすることができない。そこで、ＧＯＰ（０）をアンカーフレームが６フレーム以下となる２つのデコード処理単位に分割するようにしてもよいが、ここでは、続くＧＯＰを構成するフレーム数が少ないので、図５４の下段に示されるように、ＧＯＰ（０）とＧＯＰ（１）を結合した後、分割して、ＧＯＰ（０）とＧＯＰ（１）から、２つのデコード処理単位ＧＯＰ（０−０）とＧＯＰ（０−１）とを設定し、このデコード処理単位に基づいてデコードを行うものとする。
【０３８５】
図５５に示されるように、ＧＯＰ（０）とＧＯＰ（１）を結合した後、ＧＯＰ（０）のＩ２乃至Ｐ１７を第１のデコード処理単位ＧＯＰ（０−０）とし、ＧＯＰ（０）のＢ１８乃至Ｐ２０、ＧＯＰ（１）全体、および、ＧＯＰ（２）のＢ１Ｂ２とを第２のデコード処理単位ＧＯＰ（０−１）として、それぞれ異なるデコーダにてデコードする。ＧＯＰ（０−１）の先頭の２つのＢピクチャＢ１８Ｂ１９をデコードするには、ＧＯＰ（０−０）の最後のアンカーフレームＰ１７が必要である。すなわち、Ｐ１７はＧＯＰ（０−１）のアンカーフレームでもある。また、後半のＧＯＰ（０−１）のアンカーフレームをデコードするには、前半のＧＯＰ（０−０）のアンカーフレームが必要である。したがって、ＧＯＰ（０−１）のアンカーフレームをデコードする前に、ＧＯＰ（０−０）のアンカーフレームを、アンカーフレームのデコード用の６つのバンクを用いてデコードし、その後、ＧＯＰ（０−１）のアンカーフレームと次のＧＯＰの先頭のＩピクチャをアンカーフレームのデコード用の６つのバンクを用いて（それぞれのバンクを上書きして）デコードする。
【０３８６】
したがって、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位をデコードするデコーダにおいても、アンカーフレームは固定バンクでデコードされ、正方向であっても逆方向であっても、通常再生であっても、高速再生であっても、そのデコード順は不変である。一方、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位においても、Ｂピクチャは、再生方向および再生速度によって、デコード順が異なる。図５５においては、再生速度１倍の正方向再生および逆方向再生におけるデコード順が示されている。
【０３８７】
すなわち、図５６に示されるように、再生速度１倍の正方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームである、ＧＯＰ（０）のＩ２乃至Ｐ１７がデコードされた後、ＧＯＰ（０−０）のＢピクチャ、すなわち、ＧＯＰ（０）のＢ３乃至Ｂ１６がデコードされる。そして、異なるデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームＩ２乃至Ｐ１４がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームである、ＧＯＰ（０）のＰ１７，Ｐ２０、ＧＯＰ（１）のＩ２，Ｐ５，Ｐ８、およびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（０−１）のＢピクチャである、ＧＯＰ（０）のＢ１８、Ｂ１９、ＧＯＰ（１）のＢ０乃至Ｂ７、および、ＧＯＰ（２）のＢ０Ｂ１がデコードされる。
【０３８８】
そして、再生速度１倍の逆方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームＩ２乃至Ｐ１４がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームである、ＧＯＰ（０）のＰ１７，Ｐ２０、ＧＯＰ（１）のＩ２，Ｐ５，Ｐ８、およびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（２）のＢ１Ｂ０と、ＧＯＰ（０−１）のＢピクチャである、ＧＯＰ（１）のＢ７乃至Ｂ０、および、ＧＯＰ（０）のＢ１９、Ｂ１８がデコードされる。そして、異なるデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームである、ＧＯＰ（０）のＩ２乃至Ｐ１７がデコードされた後、ＧＯＰ（０−０）のＢピクチャ、すなわち、ＧＯＰ（０）のＢ１６乃至Ｂ３がデコードされる。
【０３８９】
次に、１ＧＯＰに含まれるアンカーフレーム数が４以下の短いＧＯＰと、１ＧＯＰに含まれるアンカーフレーム数が６ＧＯＰ以上の長いＧＯＰとが連続している場合、これらのＧＯＰを結合した後分割してデコード処理単位を設定し、デコーダへの負荷を均等化するようにした場合について、図５７乃至図５９を用いて説明する。
【０３９０】
図５７に示されるように、Ｂ０乃至Ｐ８の９フレームで１ＧＯＰのＧＯＰ（０）が構成され、Ｂ０乃至Ｐ２０の２１フレームで１ＧＯＰのＧＯＰ（１）が構成され、次にＧＯＰ（２）が続いている。それぞれのデコード処理単位において、先頭の２枚のＢピクチャは、その前のＧＯＰと一緒にデコードされるようになされている。
【０３９１】
ビデオバンクメモリ８２においてアンカーフレームに割り当てられるのはビデオバンクメモリ８２の８バンクのうちの６バンクである。ＧＯＰ（０）には、アンカーフレームが３フレームしか存在しないが、ＧＯＰ（１）には、アンカーフレームが７フレーム存在するので、図５７の下段に示されるように、ＧＯＰ（０）とＧＯＰ（１）を結合した後、分割して、ＧＯＰ（０）とＧＯＰ（１）から、２つのデコード処理単位ＧＯＰ（０−０）とＧＯＰ（０−１）とを設定し、このデコード処理単位に基づいてデコードを行うものとする。
【０３９２】
図５８に示されるように、ＧＯＰ（０）とＧＯＰ（１）を結合した後、ＧＯＰ（０）のＩ２乃至ＧＯＰ（１）のＰ８を第１のデコード処理単位ＧＯＰ（０−０）とし、ＧＯＰ（１）のＢ９乃至Ｐ２０と、ＧＯＰ（２）のＢ１Ｂ２とを第２のデコード処理単位ＧＯＰ（０−１）として、それぞれ異なるデコーダにてデコードする。ＧＯＰ（０−１）の先頭の２つのＢピクチャＢ９Ｂ１０をデコードするには、ＧＯＰ（０−０）の最後のアンカーフレームＰ８が必要である。すなわち、Ｐ８はＧＯＰ（０−１）のアンカーフレームでもある。また、後半のＧＯＰ（０−１）のアンカーフレームをデコードするには、前半のＧＯＰ（０−０）のアンカーフレームのうち、ＧＯＰ（１）のＩ２およびＰ５が必要である。したがって、ＧＯＰ（０−１）のアンカーフレームをデコードする前に、ＧＯＰ（０−０）のアンカーフレームに含まれるＧＯＰ（１）のＩ２およびＰ５を、アンカーフレームのデコード用の６つのバンクのうちのいずれかを用いてデコードし、その後、ＧＯＰ（０−１）のアンカーフレームと次のＧＯＰの先頭のＩピクチャをアンカーフレームのデコード用の６つのバンクを用いて（それぞれのバンクを上書きして）デコードする。
【０３９３】
したがって、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位をデコードするデコーダにおいても、アンカーフレームは固定バンクでデコードされ、正方向であっても逆方向であっても、通常再生であっても、高速再生であっても、そのデコード順は不変である。一方、ＧＯＰ（０−０）とＧＯＰ（０−１）のいずれのデコード処理単位においても、Ｂピクチャは、再生方向および再生速度によって、デコード順が異なる。図５８においては、再生速度１倍の正方向再生および逆方向再生におけるデコード順が示されている。
【０３９４】
すなわち、図５９に示されるように、再生速度１倍の正方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームである、ＧＯＰ（０）のＩ２乃至Ｐ８と、ＧＯＰ（１）のＩ２乃至Ｐ８がデコードされた後、ＧＯＰ（０−０）のＢピクチャ、すなわち、ＧＯＰ（０）のＢ３乃至Ｂ７とＧＯＰ（１）のＢ０乃至Ｂ７がデコードされる。そして、異なるデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームのうちＧＯＰ（１）のアンカーフレームであるＩ２およびＰ５がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームである、ＧＯＰ（１）のＰ８乃至Ｐ２０、およびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（０−１）のＢピクチャであるＧＯＰ（１）のＢ９乃至Ｂ１９、および、ＧＯＰ（２）のＢ０Ｂ１がデコードされる。
【０３９５】
そして、再生速度１倍の逆方向再生においては、いずれかのデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームのうちＧＯＰ（１）のアンカーフレームであるＩ２およびＰ５がデコードされた後、それを参照画像として、ＧＯＰ（０−１）のアンカーフレームである、ＧＯＰ（１）のＰ８乃至Ｐ２０、およびＧＯＰ（２）の先頭のＩ２がデコードされ、続いて、ＧＯＰ（２）のＢ１Ｂ０と、ＧＯＰ（０−１）のＢピクチャである、ＧＯＰ（１）のＢ１９乃至Ｂ９がデコードされる。そして、異なるデコーダにおいて、ＧＯＰ（０−０）のアンカーフレームである、ＧＯＰ（０）のＩ２乃至Ｐ８およびＧＯＰ（１）のＩ２乃至Ｐ８がデコードされた後、ＧＯＰ（０−０）のＢピクチャ、すなわち、ＧＯＰ（１）のＢ７乃至Ｂ０およびＧＯＰ（０）のＢ７乃至Ｂ３がデコードされる。
【０３９６】
図４８乃至図５９を用いて説明した様にして、デコード処理単位としてのデコードユニットが構成されるので、デコードユニットごとにスケジューリングが実行されて、指定された再生方向および再生速度で再生されるように、必要に応じて間引き処理が実行されて、デコードが行われ、ストリームが再生出力される。
【０３９７】
具体的には、ＣＰＵ２０が、メモリ１８に転送されて保存されている複数のＧＯＰのうちの次にデコードされるＧＯＰと、その次（２番目）のＧＯＰの構成を読み出して、アンカーフレームの数を基に、デコード処理単位としてのデコードユニットを、ＧＯＰの分割および結合により構成し、ＰＣＩブリッジ１７に制御コマンドを送出して、メモリ１８からデコードユニットごとにストリームデータを読み出させて、デコーダ２２乃至デコーダ２４のいずれかに供給させるように制御する。ＰＣＩブリッジ１７は、ＣＰＵ２０の制御に基づいて、メモリ１８からデコードユニットごとにストリームデータを読み出して、デコーダ２２乃至デコーダ２４のいずれかに供給する。
【０３９８】
そして、ＣＰＵ２０は、デコードユニットに対して、上述した場合と同様にしてスケジューリングを行う。このとき、例えば、図４８を用いて説明したＧＯＰ（０−１）図５４を用いて説明したＧＯＰ（０−１）、または、図５７を用いて説明したＧＯＰ（０−１）図５４を用いて説明したＧＯＰ（０−１）のように、そのデコードユニットのアンカーフレームをデコードするために、他のデコードユニットのアンカーフレームの少なくとも一部をデコードする必要がある場合、入力ピクチャキューには、アンカーフレームをデコードするために必要な他のデコードユニットのアンカーフレームも設定され、これらは、Ｉ／Ｐピクチャデコードキューの先頭から順に設定される。しかし、アンカーフレームをデコードするために必要な他のデコードユニットのアンカーフレームは、この処理によって表示されないので、表示順設定キューには設定されない。
【０３９９】
そして、ＣＰＵ２０は、次のデータを供給するデコーダを示すレジスタに保持されている値を参照し、デコーダ２２乃至デコーダ２４のうちデコードを実行するデコーダとして設定されているものを制御する。デコード処理を実行するデコーダ２２乃至デコーダ２４のうちのいずれかのエレメンタリストリームアドレス決定部７３は、ＣＰＵ２０の制御に基づいて、時間情報付きＩ／Ｐピクチャデコードキューに設定されたピクチャＩＤに対応するピクチャのデータを、メモリコントローラ７４により、入力バッファ７５から読み出して、デコード処理部７７に供給する。
【０４００】
デコードされるピクチャがＩピクチャである場合、ＣＰＵ２０は、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＩピクチャをデコードさせるとともに、書き込み画アドレス決定部７８を制御して、デコードされたフレームデータをメモリコントローラ８１に供給させて、ビデオバンクメモリ８２のうちＩピクチャの格納用に指定されたバンクに保存させる。また、デコードされるピクチャがＰピクチャである場合、ＣＰＵ２０は、参照画アドレス決定部７９を制御してＰピクチャの参照バンク位置を基に、メモリコントローラ８１により、ビデオバンクメモリ８２に格納されている参照画を読み出させて、デコード処理部７７に供給させ、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＰピクチャをデコードさせるとともに、書き込み画アドレス決定部７８を制御して、デコードされたフレームデータをメモリコントローラ８１に供給させて、ビデオバンクメモリ８２のうちＰピクチャの格納用に指定されたバンクに保存させる。また、デコードされるピクチャがＢピクチャである場合、ＣＰＵ２０は、参照画アドレス決定部７９を制御して、Ｂピクチャの参照バンク位置を基に、メモリコントローラ８１により、ビデオバンクメモリ８２に格納されている参照画を読み出させて、デコード処理部７７に供給させ、デコード処理部７７を制御して、メモリコントローラ７４から供給されたＢピクチャをデコードさせる。
【０４０１】
次に、図６０のフローチャートを参照して、１ＧＯＰを構成するピクチャ数が１５以外であるときのＧＯＰ分割・結合処理について説明する。
【０４０２】
ステップＳ６０１において、ＣＰＵ２０は、分割後、スケジューリングされていないデコードユニットがあるか否かを判断する。
【０４０３】
ステップＳ６０１において、スケジューリングされていないデコードユニットがあると判断された場合、ステップＳ６０２において、ＣＰＵ２０は、上述したフレームごとに行う処理１またはフレームごとに行う処理２によって、スケジュールされていない分割後のデコードユニットのデコードをスケジューリングし、デコードする。
【０４０４】
ステップＳ６０１において、スケジューリングされていないデコードユニットがないと判断された場合、ステップＳ６０３において、ＣＰＵ２０は、デコードのスケジューリングが行われていない次のＧＯＰおよび２番目のＧＯＰの構成を検出する。
【０４０５】
ステップＳ６０４において、ＣＰＵ２０は、次のＧＯＰは、１つのデコーダでデコード可能な最大のサイズよりも大きいか否かを判断する。具体的には、ＣＰＵ２０は、次のＧＯＰのアンカーフレームの数を確認し、１つのデコーダにおいてアンカーフレームのデコード用に用意されているバンクの数と比較することにより、次のＧＯＰが１つのデコーダでデコード可能な最大のサイズよりも大きいか否かを判断する。
【０４０６】
ステップＳ６０４において、次のＧＯＰは１つのデコーダでデコード可能な最大のサイズよりも大きいと判断された場合、ステップＳ６０５において、ＣＰＵ２０は、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとなるか否かを判断する。具体的には、ＣＰＵ２０は、ビデオバンクメモリ８２が８つのバンクを有している場合、次のＧＯＰと２番目のＧＯＰとを結合したときにアンカーフレームが１０フレーム以下、すなわち、ビデオバンクメモリ８２のバンク数から３を減算した値の２倍以下となっているか否かを判断する。
【０４０７】
ステップＳ６０５において、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとなると判断された場合（例えば、図５４乃至図５６を用いて説明した様に、１ＧＯＰに含まれるアンカーフレーム数が６ＧＯＰ以上の長いＧＯＰと、１ＧＯＰに含まれるアンカーフレーム数が４以下の短いＧＯＰが連続している場合など）、処理は、後述するステップＳ６１０に進む。
【０４０８】
ステップＳ６０５において、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとならないと判断された場合、ステップＳ６０６において、ＣＰＵ２０は、例えば、図４８乃至図５０を用いて説明した３０ピクチャで１ＧＯＰが構成されている場合のように、次のＧＯＰを、１つのデコーダでデコード可能な大きさの複数のデコードユニットに分割し、処理は、後述するステップＳ６１２に進む。
【０４０９】
ステップＳ６０４において、次のＧＯＰは１つのデコーダでデコード可能な最大のサイズよりも大きくない（すなわち、小さい）と判断された場合、ステップＳ６０７において、ＣＰＵ２０は、次のＧＯＰと２番目のＧＯＰとを結合して、１つのデコーダでデコード可能なサイズとなるか否かを判断する。
【０４１０】
ステップＳ６０７において、次のＧＯＰと２番目のＧＯＰとを結合して、１つのデコーダでデコード可能なサイズとなると判断された場合、ステップＳ６０８において、ＣＰＵ２０は、例えば、図５１乃至図５３を用いて説明した１ＧＯＰに含まれるアンカーフレーム数が４以下であるＧＯＰが連続する場合のようにして、次のＧＯＰと２番目のＧＯＰとを結合して、１つのデコードユニットとし、処理は、後述するステップＳ６１２に進む。
【０４１１】
ステップＳ６０７において、次のＧＯＰと２番目のＧＯＰとを結合して、１つのデコーダでデコード可能なサイズとならないと判断された場合、ステップＳ６０９において、ＣＰＵ２０は、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとなるか否かを判断する。具体的には、ＣＰＵ２０は、例えば、図５７乃至図５９を用いて説明した１ＧＯＰに含まれるアンカーフレーム数が４以下の短いＧＯＰと、１ＧＯＰに含まれるアンカーフレーム数が６ＧＯＰ以上の長いＧＯＰとが連続しているときなどのように、ビデオバンクメモリ８２が８つのバンクを有している場合、次のＧＯＰと２番目のＧＯＰとを結合したときにアンカーフレームが１０フレーム以下、すなわち、ビデオバンクメモリ８２のバンク数から３を減算した値の２倍以下となっているか否かを判断する。
【０４１２】
ステップＳ６０５において、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとなると判断された場合、または、ステップＳ６０９において、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとなると判断された場合、ステップＳ６１０において、ＣＰＵ２０は、例えば、図５４乃至図５６を用いて説明した場合や、図５７乃至図５９を用いて説明した場合のように、次のＧＯＰと２番目のＧＯＰとを結合後、分割して、２つのデコードユニットとし、処理は、後述するステップＳ６１２に進む。
【０４１３】
ステップＳ６０９において、次のＧＯＰと２番目のＧＯＰとを結合して、２つのデコーダでデコード可能なサイズとならないと判断された場合、ステップＳ６１１において、ＣＰＵ２０は、次のＧＯＰを、そのまま、１つのデコードユニットとする。
【０４１４】
ステップＳ６０６、ステップＳ６０８、ステップＳ６１０、または、ステップＳ６１１の処理の終了後、ステップＳ６１２において、ＣＰＵ２０は、上述した処理により設定されたデコードユニットのうち、次にデコードされるデコードユニットのデコードを、上述したフレームごとに行う処理１またはフレームごとに行う処理２によってスケジューリングし、デコードする。
【０４１５】
ステップＳ６１３において、ＣＰＵ２０は、スケジュールされていない分割後のデコードユニットがある場合、そのデコードユニットを、スケジュール待ちのデータとして保持し、処理が終了される。
【０４１６】
このような処理により、１ＧＯＰを構成するピクチャ数が、１５ピクチャ以外であり、ＧＯＰごとに異なるような場合においても、高速にデコード処理ができるように、ＧＯＰの分割や結合が行われる。
【０４１７】
なお、ここでは、デコーダ２２乃至デコーダ２４のそれぞれのビデオバンクメモリ８２が８バンクであり、そのうち６バンクがアンカーフレームのデコード用として固定されている場合のスケジューリングが無駄なく行われるようなＧＯＰの分割または結合の方法について説明したが、デコーダ２２乃至デコーダ２４のそれぞれのビデオバンクメモリ８２に保持可能なフレームの数（バンクの数）が８つではない場合、または、アンカーフレームのデコード用として固定されているバンクの数が上述したものとは異なる場合などにおいては、ビデオバンクメモリ８２に保持可能なフレームの数（バンクの数）やアンカーフレームのデコード用として固定されているバンクの数に応じて、ＧＯＰの分割または結合が行われるようにしても良いことは言うまでもない。具体的には、アンカーフレームのデコード用として固定されているバンクの数が６つよりも少ない場合、１つのデコードユニットに含まれるアンカーフレームの数が６つよりも少なくなるようにデコードユニットが設定され、アンカーフレームのデコード用として固定されているバンクの数が６つより多い場合、１つのデコードユニットに含まれるアンカーフレームの数が６つよりも多いアンカーフレームのデコード用として固定されているバンクの数よりも少なくなるようにデコードユニットが設定される。
【０４１８】
以上説明した処理により、図４４を用いて説明した様に２１フレームで１ＧＯＰが構成されている場合の正方向１倍速再生においても、図６１に示されるように、不具合なくデコード処理が実行される。
【０４１９】
すなわち、２１フレームで１ＧＯＰが構成されているＧＯＰ（１）は、２つのデコードユニットに分割され、デコーダ１とデコーダ２によりデコードされる。そのとき、後半のデコードユニットのアンカーフレームをデコードするために、まず、デコーダ２から出力されない前半のデコードユニットのアンカーフレームがデコードされた後、後半のデコードユニットのアンカーフレームが、アンカーフレーム用に固定されているバンクを用いて（必要に応じて、前半のデコードユニットのアンカーフレームに上書きされて）デコードされる。
【０４２０】
また、同様にして、図４５を用いて説明した様に２１フレームで１ＧＯＰが構成されている場合の逆方向１倍速再生においても、図６２に示されるように、不具合なくデコード処理が実行される。
【０４２１】
すなわち、２１フレームで１ＧＯＰが構成されているＧＯＰ（１）は、２つのデコードユニットに分割され、デコーダ２とデコーダ１によりデコードされる。そのとき、後半のデコードユニットのアンカーフレームをデコードするために、まず、デコーダ２から出力されない前半のデコードユニットのアンカーフレームがデコードされた後、後半のデコードユニットのアンカーフレームが、アンカーフレーム用に固定されているバンクを用いて（必要に応じて、前半のデコードユニットのアンカーフレームに上書きされて）デコードされる。
【０４２２】
同様にして、図４６を用いて説明した様にアンカーフレーム数の少ないＧＯＰとアンカーフレーム数の多いＧＯＰが連続している場合の正方向２倍速再生においても、図６３に示されるように、不具合なくデコード処理が実行される。
【０４２３】
すなわち、Ｂ０Ｂ１Ｉ２で構成されているＧＯＰ（０）とＧＯＰ（１）とが結合されて１つのデコードユニットが構成され、Ｂ０Ｂ１Ｉ２で構成されているＧＯＰ（２）とＢ０乃至Ｐ１４の１５フレームで構成されているＧＯＰ（３）とは、結合された後、２つのデコードユニットに分割される。
【０４２４】
ＧＯＰ（０）とＧＯＰ（１）とで構成されているデコードユニットの先頭のＢ０Ｂ１（ＧＯＰ（０）のＢ０Ｂ１）のうちの表示されるＢ（０）と、このＢピクチャをデコードするために必要な参照画であるＩ２は、その前のＧＯＰまたはデコードユニットとともに、デコーダ２でデコードされる。ＧＯＰ（２）とＧＯＰ（３）の前半とで構成されているデコードユニットの先頭のＢ０Ｂ１（ＧＯＰ（２）のＢ０Ｂ１）のうちの表示されるＢ（０）と、このＢピクチャをデコードするために必要な参照画であるＩ２は、その前のデコードユニットであるＧＯＰ（０）とＧＯＰ（１）とで構成されるデコードユニットとともに、デコーダ０でデコードされる。ＧＯＰ（３）の後半で構成されているデコードユニットの表示されるＢピクチャの先頭であるＢ（７）は、その前のデコードユニットであるＧＯＰ（２）とＧＯＰ（３）の前半とで構成されているデコードユニットとともに、デコーダ１でデコードされる。ＧＯＰ（４）の先頭のＢ０Ｂ１のうち、表示されるＢ０と、このＢピクチャをデコードするために必要な参照画であるＩ２は、その前のデコードユニットであるＧＯＰ（３）の後半で構成されているデコードユニットとともに、デコーダ２でデコードされる。そして、ＧＯＰ（４）のＩ２以降は、デコーダ０でデコードされる。
【０４２５】
更に、同様に、図４７を用いて説明した様にアンカーフレーム数の少ないＧＯＰとアンカーフレーム数の多いＧＯＰが連続している場合の逆方向２倍速再生においても、図６４に示されるように、不具合なくデコード処理が実行される。
【０４２６】
すなわち、Ｂ０Ｂ１Ｉ２で構成されているＧＯＰ（４）とＧＯＰ（３）とが結合されて１つのデコードユニットが構成され、Ｂ０Ｂ１Ｉ２で構成されているＧＯＰ（２）とＢ０乃至Ｐ１４の１５フレームで構成されているＧＯＰ（１）とは、結合された後、２つのデコードユニットに分割される。
【０４２７】
ＧＯＰ（４）とＧＯＰ（３）とで構成されているデコードユニットの先頭のＢ０Ｂ１（ＧＯＰ（３）のＢ０Ｂ１）を除いたピクチャと、その前のデコードユニットの２枚のＢピクチャのうちの表示されるピクチャ（この図においては、Ｂ０）およびこのＢピクチャをデコードするために必要な参照画であるＩ２は、デコーダ１でデコードされる。そして、ＧＯＰ（４）とＧＯＰ（３）とで構成されているデコードユニットの先頭のＢ０Ｂ１（ＧＯＰ（３）のＢ０Ｂ１）のうちの表示されるＢ（０）と、このＢピクチャをデコードするために必要な参照画であるＩ２は、その次にデコードされるデコードユニットであるＧＯＰ（２）とＧＯＰ（１）の後半により構成されるデコードユニットとともに、デコーダ０でデコードされる。ＧＯＰ（２）とＧＯＰ（１）の後半とで構成されているデコードユニットの先頭のＢ９Ｂ１０（ＧＯＰ（１）のＢ９Ｂ１０）のうちの表示されるＢ（９）と、このＢピクチャをデコードするために必要な参照画であるＰ８Ｐ１１は、その次にデコードされるデコードユニットである、ＧＯＰ（１）の前半とともに、デコーダ２でデコードされる。ＧＯＰ（１）の前半で構成されているデコードユニットの表示されるＢピクチャの先頭であるＢ（１）は、ＧＯＰ（０）とともに、デコーダ１でデコードされる。
【０４２８】
このようにして、ＣＰＵ２０は、アンカーフレーム数に基づいて、ＧＯＰを適宜分割または結合して、デコーダ２２乃至デコーダ２４に設けられているビデオバンクメモリ８２の数に対応する数のアンカーフレームを有するデコードユニットを構成し、ＰＣＩブリッジ１７を制御して、デコードユニットごとに、デコーダ２２乃至デコーダ２４にストリームを供給させるとともに、デコードユニットごとにデコード処理や表示順をスケジュールし、デコーダ２２乃至デコーダ２４を制御してデコードさせるようにする。これにより、アンカーフレーム数がＧＯＰによって異なるようなストリームデータが供給された場合にも、再生装置１は、デコードされないフレームを発生させたり、デコード遅れを発生させることなく、高速にデコード処理を行うようにすることが可能となる。
【０４２９】
なお、ＧＯＰ分割時の後ろのデコードユニット、すなわち、アンカーフレームデコードのために、前のデコードユニットのアンカーフレームをデコードする必要があるデコードユニットにおいては、そのデコードユニットに含まれているアンカーフレームの数が６フレームである場合、そのデコードユニットに含まれているアンカーフレームのデコード開始タイミングから表示開始タイミングのずれは、先頭がＩピクチャまたはＰピクチャのとき６ピクチャずれで、Ｂピクチャのとき７ピクチャずれである。また、そのデコードユニットに含まれているアンカーフレームの数が５フレーム以下のｎフレームである場合、そのデコードユニットに含まれているアンカーフレームのデコード開始タイミングと表示開始タイミングのずれは、デコードユニットに含まれるアンカーフレーム数に基づいて変更されるものとなり、先頭がＩピクチャまたはＰピクチャのときｎフレームずれで、Ｂピクチャのときｎ＋１フレームずれである。
【０４３０】
なお、以上の説明においては、アンカーフレームのデコード用として固定されているバンクの数に対して、１つのデコードユニットに含まれるアンカーフレームの数が同一か、それよりも少なくなるようにデコードユニットが設定されるものとして説明したが、デコードユニットは、前のデコードユニットのアンカーフレーム数と比較して、ｍ（ｍは１以上の実験的経験的に設定可能な正の整数で、例えば、２乃至４フレーム程度が好適である）フレーム以上多くしないようにデコードユニットを設定すると、更に好適である。
【０４３１】
例えば、アンカーフレーム数１のＧＯＰと、アンカーフレーム数１０のＧＯＰとがが連続していた場合、２ＧＯＰの合計アンカーフレーム数が１１となり、この２ＧＯＰを加えて、２つのデコードユニットを構成することができない。このため、「アンカーフレーム数１＋１」「アンカーフレーム数５＋１」「アンカーフレーム数５＋１」の構成でデコードが行われてしまい、デコード遅れが発生してしまう。
【０４３２】
そこで、例えば、前のデコードユニットのアンカーフレーム数と比較して、２以上多いアンカーフレームを含まないようにデコードユニットを設定するものとした場合、２ＧＯＰの合計アンカーフレーム数が１１であるとき、「アンカーフレーム数１＋１」「アンカーフレーム数３＋１」「アンカーフレーム数３＋１」「アンカーフレーム数４＋１」の構成でデコードユニットが構成されて、デコードが実行されるので、デコード遅れは発生しない。
【０４３３】
以上説明した処理（間引き処理が２段階である場合と１段階のみである場合のいずれの場合も）においては、ＨＤＤ１６に記録されている圧縮符号化データに対して、ＨＤＤ１６から読み出すデータとして有効であるか否かを示す読み出し用のフラグ群、デコードのスケジューリングにおいて有効であるか否かを示すデコード用のフラグ群、デコードされたデータを表示するスケジューリングにおいて有効であるか否かを示す表示用のフラグ群等をメタデータとして適宜設け、一連のフラグ群を再生速度・方向に応じて自動的に更新することによりスケジューリングを管理することも可能である。
【０４３４】
このとき、過去の可変速再生処理に用いた一連のスケジューリング、フラグ群の更新情報を、別途スケジューリングのメタデータ（履歴情報）として管理することも可能であり、必要に応じて、圧縮符号化データ中にシンタックスとして記述したり、記録媒体であるＨＤＤ１６等に別途記録したりしても良い。
【０４３５】
また、デコーダ数、バンク数、デコーダＩＤ等をメタデータ（構成履歴情報）として管理することも可能である。さらに、再生速度、再生方向等をメタデータ（再生履歴情報）として管理することも可能である。このとき、これらメタデータを、必要に応じて圧縮符号化データ中にシンタックスとして記述したり、記録媒体であるＨＤＤ１６等に別途記録したりしても良い。
【０４３６】
このようなメタデータ（履歴情報）を参照することにより、過去に行われたスケジューリング処理を再利用することができ、更に正確に高速にスケジューリング処理を実行することが可能となる。
【０４３７】
なお、このようなメタデータは、例えば、データベースとして外部装置で管理するような構成にしてもよい。
【０４３８】
なお、上述の実施の形態においては、デコーダ２２乃至デコーダ２４が、ＨＤＤ１６に記録されている圧縮符号化データを、完全にデコードしない（中途段階までデコードする）場合においても、本発明は適用可能である。
【０４３９】
具体的には、例えば、デコーダ２２乃至デコーダ２４が、可変長符号に対する復号および逆量子化のみを行い、逆DCT変換を実行しない場合や、逆量子化を行うが可変長符号に対する復号を行わない場合などにおいても、本発明を適用することができる。このような場合、例えば、デコーダ２２乃至デコーダ２４は、例えば、符号化処理および復号処理処理においてどの段階（例えば逆量子化の段階）まで処理が行われたかを示す履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。
【０４４０】
さらに、上述の実施の形態においては、ＨＤＤ１６に、不完全に符号化されたデータ（例えば、DCT変換および量子化が行われているが、可変長符号化処理が行われていないデータなど）と、必要に応じて、符号化処理および復号処理の履歴情報が記憶されており、デコーダ２２乃至デコーダ２４が、ＣＰＵ２０の制御に基づいて、供給された不完全に符号化されたデータをデコードし、ベースバンド信号に変換することができるような場合においても、本発明は適用可能である。
【０４４１】
具体的には、デコーダ２２乃至デコーダ２４が、例えば、DCT変換および量子化が行われているが、可変長符号化処理が行われていない不完全に符号化されたデータに対して、逆DCT変換および逆量子化のみを行い、可変長符号に対する復号は実行しない場合などにおいても、本発明を適用することができる。
【０４４２】
また、このような場合、例えば、ＣＰＵ２０は、不完全に符号化されたデータに対応付けられてＨＤＤ１６に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ２２乃至デコーダ２４によるデコードのスケジューリングを行うことができるようにしても良い。
【０４４３】
さらに、上述の実施の形態においては、ＨＤＤ１６に、不完全に符号化されたデータと、必要に応じて、符号化処理および復号処理の履歴情報が記憶されており、デコーダ２２乃至デコーダ２４が、ＣＰＵ２０の制御に基づいて、供給された不完全に符号化されたデータを完全にデコードしない（中途段階までデコードする）場合においても、本発明は適用可能である。
【０４４４】
また、このような場合も、例えば、ＣＰＵ２０は、不完全に符号化されたデータに対応付けられてＨＤＤ１６に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ２２乃至デコーダ２４によるデコードのスケジューリングを行うことができるようにしても良い。更に、この場合においても、デコーダ２２乃至デコーダ２４は、符号化処理および復号処理の履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。
【０４４５】
換言すれば、デコーダ２２乃至デコーダ２４が、ＣＰＵ２０の制御に基づいて、部分的な復号を行う（復号処理の工程のうちの一部を実行する）場合においても、本発明は適用可能であり、ＣＰＵ２０は、不完全に符号化されたデータに対応付けてＨＤＤ１６に記憶されている符号化処理および復号処理の履歴情報を取得し、これらの情報に基づいて、デコーダ２２乃至デコーダ２４によるデコードのスケジューリングを行うことができ、デコーダ２２乃至デコーダ２４は、符号化処理および復号処理の履歴情報を必要に応じて生成し、不完全に復号されたデータに対応付けて出力することができるようにしても良い。
【０４４６】
更に、ＨＤＤ１６には、圧縮符号化されたストリームデータに対応付けて、更に、符号化処理および復号処理の履歴情報を記録するようにしても良く、ＣＰＵ２０は、圧縮符号化されたストリームデータのデコードのスケジューリングを、符号化処理および復号処理の履歴情報に基づいて行うようにしても良い。さらに、デコーダ２２乃至デコーダ２４が、ＣＰＵ２０の制御に基づいて、圧縮符号化されたストリームデータをデコードして、ベースバンド信号に変換することができるような場合においても、符号化処理および復号処理の履歴情報を必要に応じて生成し、ベースバンド信号に対応付けて出力することができるようにしても良い。
【０４４７】
なお、上述の実施の形態においては、再生装置１が、それぞれ、複数のデコーダを有しているものとして説明したが、デコーダが、それぞれ、独立した装置として構成されている場合においても、本発明は適用可能である。
【０４４８】
このとき、独立した装置として構成されているデコーダは、圧縮符号化データの供給を受けてこれを復号し、表示または出力するのみならず、上述した場合と同様にして、圧縮符号化データの供給を受け、中途段階まで部分的に復号して、符号化および復号の履歴情報とともに外部に出力したり、部分的に符号化されたデータの供給を受け、復号処理を行い、ベースバンド信号に変換して外部に出力したり、部分的に符号化されたデータの供給を受け、中途段階まで部分的に復号して、符号化および復号の履歴情報とともに外部に出力するようにしても良い。
【０４４９】
さらに、上述の実施の形態においては、ＣＰＵ１１およびＣＰＵ２０がそれぞれ別の形態で構成されているが、ＣＰＵの構成は、これに限らず、例えば、ＣＰＵ１１およびＣＰＵ２０を、再生装置１全体を制御する１つのＣＰＵとして構成する形態も考えられる。また、ＣＰＵ１１およびＣＰＵ２０がそれぞれ独立して構成されている場合であっても、ＣＰＵ１１およびＣＰＵ２０を１つのチップとして構成するようにしてもよい。
【０４５０】
更に、ＣＰＵ１１およびＣＰＵ２０がそれぞれ独立して構成されている場合、上述の実施の形態においてＣＰＵ１１が実行した処理の少なくとも一部を、例えば、時分割で、ＣＰＵ２０が実行することができるようにしたり、ＣＰＵ２０が実行した処理の少なくとも一部を、例えば、時分割で、ＣＰＵ１１が実行することができるようにしてもよい。すなわち、ＣＰＵ１１およびＣＰＵ２０には、分散処理が可能なプロセッサを用いるようにしても良い。
【０４５１】
また、例えば、再生装置１をネットワークに接続可能な構成とし、上述の実施の形態において、ＣＰＵ１１またはＣＰＵ２０が実行した処理の少なくとも一部を、ネットワークを介して接続されている他の装置のＣＰＵにおいて実行させることができるようにしても良い。
【０４５２】
同様に、上述の実施の形態においては、メモリ１３およびメモリ２１がそれぞれ別の形態で構成されているが、これに限らず、メモリ１３およびメモリ２１を、再生装置１において１つのメモリとして構成する形態も考えられる。
【０４５３】
さらに、上述の実施の形態においては、ＨＤＤ１６、デコーダ２２乃至デコーダ２４、および、セレクタ２５を、それぞれ、ブリッジおよびバスを介して接続し、再生装置として一体化されている場合について述べたが、本発明はこれに限らず、例えば、これらの構成要素のうちの一部が、外部から有線または無線で接続される場合や、これらの構成要素が、この他、種々の接続形態で相互に接続される場合にも適用することができる。
【０４５４】
さらに、上述の実施の形態においては、圧縮されたストリームデータがＨＤＤに記憶されている場合について述べたが、本発明はこれに限らず、例えば、光ディスク、光磁気ディスク、半導体メモリ、磁気ディスク等の種々の記録媒体に記録されたストリームデータに対して再生処理を行う場合にも適用することができる。
【０４５５】
さらに、上述の実施の形態においては、ＣＰＵ２０、メモリ２１、メモリ１８、デコーダ２２乃至デコーダ２４、および、セレクタ２５を、同一の拡張カード（例えば、PCIカード、PCI−Expressカード）に搭載する形態に限らず、例えばPCI−Expressなどの技術によりカード間の転送速度が高い場合には、これらの構成要素を、それぞれ別の拡張カードに搭載するようにしてもよい。
【０４５６】
また、本発明は、例えば、Ｈ２６４／ＡＶＣなどの他の符号化方法においても適用可能であることはいうまでもない。
【０４５７】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、例えば、図１を用いて説明した再生装置１は、図６５に示されるようなパーソナルコンピュータ２０１により構成される。
【０４５８】
図６５において、ＣＰＵ（Central Processing Unit）２１１は、ＲＯＭ（Read Only Memory）２１２に記憶されているプログラム、または記憶部２１８からＲＡＭ（Random Access Memory）２１３にロードされたプログラムにしたがって、各種の処理を実行する。ＲＡＭ２１３にはまた、ＣＰＵ２１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０４５９】
ＣＰＵ２１１、ＲＯＭ２１２、およびＲＡＭ２１３は、バス２１４を介して相互に接続されている。このバス２１４にはまた、入出力インタフェース２１５も接続されている。
【０４６０】
入出力インタフェース２１５には、キーボード、マウスなどよりなる入力部２１６、ディスプレイやスピーカなどよりなる出力部２１７、ハードディスクなどより構成される記憶部２１８、モデム、ターミナルアダプタなどより構成される通信部２１９が接続されている。通信部２１９は、インターネットを含むネットワークを介しての通信処理を行う。
【０４６１】
入出力インタフェース２１５にはまた、必要に応じてドライブ２２０が接続され、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、もしくは、半導体メモリ２３４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２１８にインストールされる。
【０４６２】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０４６３】
この記録媒体は、図６５に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク２３１（フロッピディスクを含む）、光ディスク２３２（ＣＤ-ＲＯＭ（Compact Disk-Read Only Memory），ＤＶＤ（Digital Versatile Disk）を含む）、光磁気ディスク２３３（ＭＤ（Mini-Disk）（商標）を含む）、もしくは半導体メモリ２３４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているＲＯＭ２１２や、記憶部２１８に含まれるハードディスクなどで構成される。
【０４６４】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４６５】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０４６６】
【図１】本発明を適用した再生装置の構成を示すブロック図である。
【図２】図１のデコーダの詳細な構成を示すブロック図である。
【図３】制御処理について説明するためのフローチャートである。
【図４】フレームごとに行う処理１について説明するためのフローチャートである。
【図５】入力ストリーム状態変更処理について説明するためのフローチャートである。
【図６】デコードスケジュール処理１について説明するためのフローチャートである。
【図７】MPEG LONG GOPについて説明するための図である。
【図８】１つのデコーダでデコードが行われる処理単位について説明するための図である。
【図９】入力ピクチャキューに蓄積される情報について説明するための図である。
【図１０】表示順情報キューに蓄積される情報について説明するための図である。
【図１１】Ｉ／Ｐピクチャデコードキューに蓄積される情報について説明するための図である。
【図１２】表示順設定キューに蓄積される情報について説明するための図である。
【図１３】デコードと表示のタイミングについて説明するための図である。
【図１４】デコードと表示のタイミングについて説明するための図である。
【図１５】入力処理について説明するためのフローチャートである。
【図１６】表示位相決定処理について説明するためのフローチャートである。
【図１７】時間情報付きスケジュール決定処理について説明するためのフローチャートである。
【図１８】フレーム制御処理１について説明するためのフローチャートである。
【図１９】ＩピクチャおよびＰピクチャデコード処理について説明するためのフローチャートである。
【図２０】Ｂピクチャデコード処理について説明するためのフローチャートである。
【図２１】デコードと表示のスケジュールについて説明するための図である。
【図２２】デコードと表示のスケジュールについて説明するための図である。
【図２３】間引き処理１について説明するためのフローチャートである。
【図２４】時間情報再設定処理について説明するためのフローチャートである。
【図２５】２倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図２６】−２倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図２７】４倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図２８】−４倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図２９】５倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図３０】−５倍速の場合の間引き後のデコードと表示のスケジュールについて説明するための図である。
【図３１】通常再生時のバンク管理について説明するための図である。
【図３２】２倍速再生時のバンク管理について説明するための図である。
【図３３】−１倍速再生時のバンク管理について説明するための図である。
【図３４】−２倍速再生時のバンク管理について説明するための図である。
【図３５】アンダーフロー処理について説明するためのフローチャートである。
【図３６】アンダーフローが発生していない場合の時間カウンタについて説明するための図である。
【図３７】アンダーフローが発生した場合の時間カウンタの修正について説明するための図である。
【図３８】１フレームディレイ処理について説明するためのフローチャートである。
【図３９】フレームごとに行う処理２について説明するためのフローチャートである。
【図４０】デコードスケジュール処理２について説明するためのフローチャートである。
【図４１】間引き処理２について説明するためのフローチャートである。
【図４２】フレーム制御処理２について説明するためのフローチャートである。
【図４３】間引き処理３について説明するためのフローチャートである。
【図４４】アンカーフレーム数が多いＧＯＰをデコードする場合について説明するための図である。
【図４５】アンカーフレーム数が多いＧＯＰをデコードする場合について説明するための図である。
【図４６】アンカーフレーム数が少ないＧＯＰをデコードする場合について説明するための図である。
【図４７】アンカーフレーム数が少ないＧＯＰをデコードする場合について説明するための図である。
【図４８】ＧＯＰの分割により構成されるデコードユニットについて説明するための図である。
【図４９】ＧＯＰの分割により構成されるデコードユニットについて説明するための図である。
【図５０】ＧＯＰの分割により構成されるデコードユニットについて説明するための図である。
【図５１】ＧＯＰの結合により構成されるデコードユニットについて説明するための図である。
【図５２】ＧＯＰの結合により構成されるデコードユニットについて説明するための図である。
【図５３】ＧＯＰの結合により構成されるデコードユニットについて説明するための図である。
【図５４】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図５５】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図５６】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図５７】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図５８】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図５９】ＧＯＰの結合および分割により構成されるデコードユニットについて説明するための図である。
【図６０】ＧＯＰ分割・結合処理について説明するためのフローチャートである。
【図６１】ＧＯＰの分割により構成されるデコードユニットのデコード処理について説明するための図である。
【図６２】ＧＯＰの分割により構成されるデコードユニットのデコード処理について説明するための図である。
【図６３】ＧＯＰの結合、および、ＧＯＰの結合後の分割により構成されるデコードユニットのデコード処理について説明するための図である。
【図６４】ＧＯＰの結合、および、ＧＯＰの結合後の分割により構成されるデコードユニットのデコード処理について説明するための図である。
【図６５】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０４６７】
１  再生装置，  １１  ＣＰＵ，  １６  ＨＤＤ，  ２０  ＣＰＵ，  ２２乃至２４  デコーダ，  ２５  セレクタ，  ７１  入力処理部，  ７２  アドレス管理テーブル，  ７３  エレメンタリストリームアドレス決定部，  ７４  メモリコントローラ，  ７５  入力バッファ，  ７６  コントロールバス，  ７７  デコード処理部，  ７８  書き込み画アドレス決定部，  ７９  参照画アドレス決定部，  ８０  出力アドレス決定部，  ８１  メモリコントローラ，  ８２  ビデオバンクメモリ
【図１】
2006157871.tif 000003
【図２】
2006157871.tif 000004
【図３】
2006157871.tif 000005
【図４】
2006157871.tif 000006
【図５】
2006157871.tif 000007
【図６】
2006157871.tif 000008
【図７】
2006157871.tif 000009
【図８】
2006157871.tif 000010
【図９】
2006157871.tif 000011
【図１０】
2006157871.tif 000012
【図１１】
2006157871.tif 000013
【図１２】
2006157871.tif 000014
【図１３】
2006157871.tif 000015
【図１４】
2006157871.tif 000016
【図１５】
2006157871.tif 000017
【図１６】
2006157871.tif 000018
【図１７】
2006157871.tif 000019
【図１８】
2006157871.tif 000020
【図１９】
2006157871.tif 000021
【図２０】
2006157871.tif 000022
【図２１】
2006157871.tif 000023
【図２２】
2006157871.tif 000024
【図２３】
2006157871.tif 000025
【図２４】
2006157871.tif 000026
【図２５】
2006157871.tif 000027
【図２６】
2006157871.tif 000028
【図２７】
2006157871.tif 000029
【図２８】
2006157871.tif 000030
【図２９】
2006157871.tif 000031
【図３０】
2006157871.tif 000032
【図３１】
2006157871.tif 000033
【図３２】
2006157871.tif 000034
【図３３】
2006157871.tif 000035
【図３４】
2006157871.tif 000036
【図３５】
2006157871.tif 000037
【図３６】
2006157871.tif 000038
【図３７】
2006157871.tif 000039
【図３８】
2006157871.tif 000040
【図３９】
2006157871.tif 000041
【図４０】
2006157871.tif 000042
【図４１】
2006157871.tif 000043
【図４２】
2006157871.tif 000044
【図４３】
2006157871.tif 000045
【図４４】
2006157871.tif 000046
【図４５】
2006157871.tif 000047
【図４６】
2006157871.tif 000048
【図４７】
2006157871.tif 000049
【図４８】
2006157871.tif 000050
【図４９】
2006157871.tif 000051
【図５０】
2006157871.tif 000052
【図５１】
2006157871.tif 000053
【図５２】
2006157871.tif 000054
【図５３】
2006157871.tif 000055
【図５４】
2006157871.tif 000056
【図５５】
2006157871.tif 000057
【図５６】
2006157871.tif 000058
【図５７】
2006157871.tif 000059
【図５８】
2006157871.tif 000060
【図５９】
2006157871.tif 000061
【図６０】
2006157871.tif 000062
【図６１】
2006157871.tif 000063
【図６２】
2006157871.tif 000064
【図６３】
2006157871.tif 000065
【図６４】
2006157871.tif 000066
【図６５】
2006157871.tif 000067