(57)【要約】【課題】ランダムデコード時に正しい量子化マトリクスでデコードが実行されるようなビットストリームを生成する。【解決手段】B6ピクチャのピクチャヘッダに記載されている量子化マトリクスQ2が読み出されて、Qマトリクスバッファに上書き保存される。量子化マトリクスが記載されていない次のＢ７ピクチャ、および、次のPピクチャであるP11ピクチャが供給された場合、Qマトリクスバッファ１４に上書き保存されている量子化マトリクスQ2が読み出されて、B7ピクチャおよびP11ピクチャのピクチャヘッダに記載される。そして、Ｐ１１ピクチャ以降のピクチャにおいては、ピクチャヘッダに量子化マトリクスが記載されているＢピクチャが供給されなければ、供給された状態のピクチャが出力される。本発明は、ビットストリーム変換装置またはパーソナルコンピュータに適用できる。【選択図】図７
2007318516.tif 000002
【特許請求の範囲】
【請求項１】
ビットストリームを解析する処理をコンピュータに実行させるためのプログラムであって、
前記ビットストリームを、時間的に前方から順次解析し、
前記ビットストリームに含まれるＢピクチャに、量子化マトリクスの値が記載されているかを判断し、
前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し、
前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載する
ステップを含む処理をコンピュータに実行させるプログラム。
【請求項２】
前記所定のフレームは、時間的に次のＰピクチャおよび前記Ｐピクチャまでに配置されているＢピクチャ、または、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャから、前記量子化マトリクスとは異なる値の量子化マトリクスの情報が記載されている時間的に次に配置されているいずれかのフレームまでの間に配置されているフレームである
請求項１に記載のプログラム。
【請求項３】
前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値が記載されたビットストリームをデコードする
ステップを更に含む処理をコンピュータに実行させる請求項１に記載のプログラム。
【請求項４】
前記ビットストリームは、MPEG符号化方式により符号化された符号化ストリームである
請求項１に記載のプログラム。
【請求項５】
ビットストリームを解析する情報処理装置において、
前記ビットストリームを、時間的に前方から順次解析して、前記ビットストリームに含まれるＢピクチャに記載された量子化マトリクスの値を抽出する解析手段と、
前記解析手段により抽出された最新の前記量子化マトリクスを保持する保持手段と、
前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、前記保持手段により保持された前記量子化マトリクスの値を記載する記載手段と
を備える情報処理装置。
【請求項６】
前記所定のフレームは、時間的に次のＰピクチャおよび前記Ｐピクチャまでに配置されているＢピクチャ、または、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャから、前記量子化マトリクスとは異なる値の量子化マトリクスの情報が記載されている時間的に次に配置されているいずれかのフレームまでの間に配置されているフレームである
請求項５に記載の情報処理装置。
【請求項７】
前記記載手段により前記量子化マトリクスの値が記載されたビットストリームをデコードするデコード手段を更に備える
請求項５に記載の情報処理装置。
【請求項８】
前記ビットストリームは、MPEG符号化方式により符号化された符号化ストリームである
請求項５に記載の情報処理装置。
【請求項９】
ビットストリームを解析する情報処理装置の情報処理方法において、
前記ビットストリームを、時間的に前方から順次解析し、
前記ビットストリームに含まれるＢピクチャに、量子化マトリクスの値が記載されているかを判断し、
前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し、
前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載する
ステップを含む情報処理方法。
【請求項１０】
請求項１に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、情報処理方法、並びに、記録媒体に関し、特に、ランダム再生を行う場合に用いて好適な、プログラム、情報処理装置、情報処理方法、並びに、記録媒体に関する。
【背景技術】
【０００２】
MPEG（Moving Picture Expert Group）のLong GOPのストリームにおいては、量子化マトリクスの値が参照されて、デコードが実行される（例えば、特許文献１）。
【特許文献１】特開２００４−３４３２７９号公報
【０００３】
量子化マトリクスは、MPEG（Moving Picture Experts Group）ストリームデータのエンコードおよびデコードの際の量子化のために用いられる8×8のマトリクスである。
【０００４】
図１を用いて、ビットストリーム内に記述されている量子化マトリクスについて説明する。MPEGのLong GOPのストリームは、通常GOP先頭のIピクチャのシーケンスヘッダに、量子化マトリクス（図中の量子化マトリクスQ1）の情報を有している。また、GOP内でも途中で量子化マトリクスの変化があった場合、PピクチャまたはBピクチャのピクチャヘッダ内に量子化マトリクスの情報（図中の量子化マトリクスQ2およびQ2´）が記載されるが、それ以外の、前のピクチャから量子化マトリクスの変化がないピクチャにおいては、ピクチャヘッダに量子化マトリクスのデータが記載されていない場合が多い。
【０００５】
量子化マトリクスとして、Iピクチャのシーケンスヘッダ内にも、Iピクチャ、Pピクチャ、または、Bピクチャのそれぞれのピクチャヘッダ内にも、イントラ用とノンイントラ用の2種類を設定できる。また、4:2:2や4:4:4のストリームでは、図中のB6ピクチャに記述されているように輝度（図中の量子化マトリクスQ2）と色差（図中の量子化マトリクスQ2´）を別々に定義することもできるので、ピクチャヘッダにおいては、イントラ用・ノンイントラ用と輝度用・色差用の組み合わせで最大4種類の量子化マトリクスを設定することができる。
【０００６】
上述した特許文献１に記載されているように、特殊なケースにおいては、ストリームが保有している量子化マトリクスをそのまま利用することができない場合があるが、基本的には、ストリームに記載された量子化マトリクスが利用されて、ストリームのエンコードおよびデコードが実行される。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
MPEGストリームをデコードする場合、ストリームの途中で量子化マトリクスに変化があったときには、その変更点以降は、ピクチャヘッダなどに記載されている、変更された量子化マトリクスを用いてデコードが実行される。しかしながら、例えば、ストリームの途中のBピクチャで量子化マトリクスの変化があって、そのBピクチャのピクチャヘッダにそれ以降に利用するべき量子化マトリクスの値が記載されていた場合に、ランダム再生などにおいてそのBピクチャのデコードが実行されず、それに続く、同一の量子化マトリクスでデコードするべき他のピクチャからデコードが実行されてしまった場合、誤った量子化マトリクスを用いてデコードしてしまうことになり、正常な再生が出来ない。
【０００８】
例えば、図２に示されるように、GOP途中のB6ピクチャのピクチャヘッダに、変更された量子化マトリクスが記載されている状態においては、先頭のI2ピクチャで設定された量子化マトリクスQ1を使用して、I2ピクチャからP8ピクチャまでがエンコードされ、B6ピクチャで設定された量子化マトリクスQ2を使用して、B6ピクチャからB13ピクチャまでがエンコードされている。したがって、このGOPを正常に再生するためには、I2ピクチャからP8ピクチャまでは量子化マトリクスQ1を、B6ピクチャからB13ピクチャまでは量子化マトリクスQ2を使用してデコードすることが必要となる。
【０００９】
しかしながら、B7ピクチャからB１３ピクチャまでのいずれかのピクチャからランダム再生がスタートされた場合、いずれのピクチャおよび参照画像となるピクチャにおいても、量子化マトリクスQ2が検出されないため、量子化マトリクスQ1を用いた量子化が行われてしまい、画質が劣化してしまう。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、ストリームデータにできるだけ冗長な情報を加えることなく、かつ、簡単な処理によって、ランダム再生においても画質劣化を防ぐことができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面のプログラムは、ビットストリームを解析する処理をコンピュータに実行させるためのプログラムであって、前記ビットストリームを、時間的に前方から順次解析し、前記ビットストリームに含まれるＢピクチャに、量子化マトリクスの値が記載されているかを判断し、前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載するステップを含む処理をコンピュータに実行させる。
【００１２】
前記所定のフレームは、時間的に次のＰピクチャおよび前記Ｐピクチャまでに配置されているＢピクチャ、または、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャから、前記量子化マトリクスとは異なる値の量子化マトリクスの情報が記載されている時間的に次に配置されているいずれかのフレームまでの間に配置されているフレームであるものとすることができる。
【００１３】
前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値が記載されたビットストリームをデコードするステップを更に含む処理をコンピュータに実行させることができる。
【００１４】
前記ビットストリームは、MPEG符号化方式により符号化された符号化ストリームである。
【００１５】
本発明の一側面の情報処理装置は、ビットストリームを解析する情報処理装置であって、前記ビットストリームを、時間的に前方から順次解析して、前記ビットストリームに含まれるＢピクチャに記載された量子化マトリクスの値を抽出する解析手段と、前記解析手段により抽出された最新の前記量子化マトリクスを保持する保持手段と、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、前記保持手段により保持された前記量子化マトリクスの値を記載する記載手段とを備える。
【００１６】
前記所定のフレームは、時間的に次のＰピクチャおよび前記Ｐピクチャまでに配置されているＢピクチャ、または、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャから、前記量子化マトリクスとは異なる値の量子化マトリクスの情報が記載されている時間的に次に配置されているいずれかのフレームまでの間に配置されているフレームであるものとすることができる。
【００１７】
前記記載手段により前記量子化マトリクスの値が記載されたビットストリームをデコードするデコード手段を更に備えさせるようにすることができる。
【００１８】
前記ビットストリームは、MPEG符号化方式により符号化された符号化ストリームである。
【００１９】
本発明の一側面の情報処理方法は、ビットストリームを解析する情報処理装置の情報処理方法であって、前記ビットストリームを、時間的に前方から順次解析し、前記ビットストリームに含まれるＢピクチャに、量子化マトリクスの値が記載されているかを判断し、前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載するステップを含む。
【００２０】
本発明の一側面においては、ビットストリームが、時間的に前方から順次解析され、ビットストリームに含まれるＢピクチャに、量子化マトリクスの値が記載されているかが判断され、Ｂピクチャに量子化マトリクスの値が記載されている場合、量子化マトリクスの情報が抽出されて最新の量子化マトリクスが保持され、量子化マトリクスの情報が記載されていたＢピクチャに続く所定のフレームに、保持された量子化マトリクスの値が記載される。
【００２１】
ネットワークとは、少なくとも２つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、１つの装置を構成している内部ブロックどうしであっても良い。
【００２２】
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【００２３】
記録装置は、独立した装置であっても良いし、記録再生装置の記録処理を行うブロックであっても良い。
【発明の効果】
【００２４】
以上のように、本発明の一側面によれば、ビットストリームを解析することができ、特に、量子化マトリクスの情報が記載されていたＢピクチャに続く所定のフレームに、保持された量子化マトリクスの値が記載されたビットストリームを生成するようにしたので、生成されたビットストリームをデコードしたときに、画像の劣化を防ぐようにすることができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２６】
本発明の一側面のプログラムまたは記録媒体に記録されているプログラムは、ビットストリームを解析する処理をコンピュータに実行させるためのプログラムであって、前記ビットストリームを、時間的に前方から順次解析し（例えば、図１５のステップＳ２およびステップＳ３の処理）、前記ビットストリームに含まれるBピクチャに、量子化マトリクスの値が記載されているかを判断し(例えば、図１５のステップＳ４の処理)、前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し(例えば、図１５のステップＳ５の処理)、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載する(例えば、図１５のステップＳ７の処理)ステップを含む処理をコンピュータに実行させる。
【００２７】
本発明の一側面の情報処理装置は、ビットストリームを解析する情報処理装置（例えば、図３のビットストリーム変換装置１または図１３図１４のパーソナルコンピュータ２０１）であって、前記ビットストリームを、時間的に前方から順次解析して、前記ビットストリームに含まれるBピクチャに記載された量子化マトリクスの値を抽出する解析手段(例えば、図３または図１４のビットストリーム解析部１２)と、前記解析手段により抽出された最新の前記量子化マトリクスを保持する保持手段(例えば、図３または図１４のＱマトリクスバッファ１４)と、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、前記保持手段により保持された前記量子化マトリクスの値を記載する記載手段(例えば、図３または図１４のストリーム合成部１５)とを備える。
【００２８】
前記記載手段により前記量子化マトリクスの値が記載されたビットストリームをデコードするデコード手段（例えば、図１４のデコード処理部２６１）を更に備えることができる。
【００２９】
本発明の一側面の情報処理方法は、ビットストリームを解析する情報処理装置（例えば、図３のビットストリーム変換装置１または図１３図１４のパーソナルコンピュータ２０１）の情報処理方法であって、前記ビットストリームを、時間的に前方から順次解析し（例えば、図１５のステップＳ２およびステップＳ３の処理）、前記ビットストリームにBピクチャに、量子化マトリクスの値が記載されているかを判断し(例えば、図１５のステップＳ４の処理)、前記Ｂピクチャに前記量子化マトリクスの値が記載されている場合、前記量子化マトリクスの情報を抽出して最新の前記量子化マトリクスを保持し(例えば、図１５のステップＳ５の処理)、前記量子化マトリクスの情報が記載されていた前記Ｂピクチャに続く所定のフレームに、保持された前記量子化マトリクスの値を記載する(例えば、図１５のステップＳ７の処理)ステップを含む。
【００３０】
以下、図を参照して、本発明の実施の形態について説明する。
【００３１】
図３は、ビットストリーム変換装置１の構成を示すブロック図である。
【００３２】
ビットストリーム変換装置１は、オリジナルビットストリーム取得部１１、ビットストリーム解析部１２、ストリームバッファ１３、Ｑマトリクスバッファ１４、ストリーム合成部１５、および、ビットストリーム出力部１６により構成される。
【００３３】
オリジナルビットストリーム取得部１１は、Ｉピクチャ、Ｐピクチャ、および、Ｂピクチャが含まれているビットストリームの供給を受け、ビットストリーム解析部１２に供給する。
【００３４】
ビットストリーム解析部１２は、Ｉピクチャ、Ｐピクチャ、および、Ｂピクチャが含まれているビットストリームの供給を受け、ビットストリームを解析して、例えば、それぞれのピクチャのピクチャタイプや、ピクチャヘッダに量子化マトリクスが記載されているか否かなどの解析結果をストリーム合成部１５に供給するとともに、Ｂピクチャのピクチャヘッダに量子化マトリクス（Ｑマトリクスとも称される）が記載されていた場合、その量子化マトリクスの値を、Ｑマトリクスバッファ１４に書き込む。Ｑマトリクスバッファ１４に新たな量子化マトリクスの値が書き込まれる場合、上書き保存される。
【００３５】
量子化マトリクスとして、Iピクチャのシーケンスヘッダ内にも、Iピクチャ、Pピクチャ、または、Bピクチャのそれぞれのピクチャヘッダ内にも、イントラ用とノンイントラ用の2種類の量子化マトリクスを設定することができる。また、4:2:2や4:4:4のストリームでは、輝度と色差を別々に定義することもできるので、ピクチャヘッダにおいては、イントラ用・ノンイントラ用と輝度用・色差用の組み合わせで最大4種類の量子化マトリクスを設定することができる。
【００３６】
また、ビットストリーム解析部１２は、供給されたビットストリームを、ストリームバッファ１３に供給する。
【００３７】
ストリームバッファ１３は、ビットストリーム解析部１２から供給されたビットストリームをバッファリングし、ストリーム合成部１５に供給する。
【００３８】
Ｑマトリクスバッファ１４は、ビットストリーム解析部１２の処理により供給された量子化マトリクスを上書き保存する。
【００３９】
ストリーム合成部１５は、ビットストリーム解析部１２から供給されるビットストリームの解析結果に基づいて、ストリームバッファ１３から供給されるストリームの所定のフレームのピクチャヘッダに、Ｑマトリクスバッファ１４に保存されている最新の量子化マトリクスの値を記載し、ビットストリーム出力部１６に供給する。
【００４０】
すなわち、ストリーム合成部１５は、量子化マトリクスの値がピクチャヘッダに記載されていたＢピクチャからストリームオーダでその次のＰピクチャまでのそれぞれのピクチャのピクチャヘッダか、または、ストリームオーダで、次に量子化マトリクスが記載されているピクチャの手前のＢピクチャまでのそれぞれのピクチャのピクチャヘッダに、マトリクスバッファ１４に保存されている最新の量子化マトリクスの値を記載し、ビットストリーム出力部１６に供給する。
【００４１】
ビットストリーム出力部１６は、ストリーム合成部１５から供給された、所定のフレームのピクチャヘッダに量子化マトリクスの値が記載されたビットストリームを、有線または無線の所定の通信経路を介して、他の装置に出力する。
【００４２】
ビットストリーム出力部１６により出力されたビットストリームは、このビットストリームをデコードして出力する再生装置に、有線または無線の所定の通信経路を介して供給されても良いし、例えば、光ディスク、磁気ディスク、または半導体メモリなどの記録媒体にデータを記録する記録装置に、有線または無線の所定の通信経路を介して供給されてもよい。
【００４３】
ビットストリーム変換装置１の動作について、図４乃至図８を用いて説明する。
【００４４】
ビットストリーム変換装置１において、オリジナルビットストリーム取得部１１により取得されたビットストリームは、ビットストリーム解析部１２に供給される。ビットストリーム解析部１２は、供給されたストリームのうちのＢピクチャのピクチャヘッダに量子化マトリクスの情報が記載されていた場合、その情報を読み出して、Qマトリクスバッファ１４に書き込むとともに、解析済みのピクチャをストリームバッファ１３に供給する。
【００４５】
したがって、図４に示されるように、GOPの先頭のI２ピクチャにおいて、シーケンスヘッダ内に記載されている量子化マトリクスは、Qマトリクスバッファ１４（Q matrix Buffer）に書き込まれない。
【００４６】
そして、図５に示されるように、ビットストリーム取得部１１からビットストリーム解析部１２にB6ピクチャが供給された場合、ビットストリーム解析部１２は、B6ピクチャのピクチャヘッダに記載されている量子化マトリクスQ2を読み出し、Qマトリクスバッファ１４に上書き保存する。
【００４７】
そのとき、ビットストリーム出力部１６から出力されるＢ６ピクチャのピクチャヘッダには、量子化マトリクスQ2が記載されている。
【００４８】
そして、図６に示されるように、量子化マトリクスが記載されていない次のＢ７ピクチャがビットストリーム解析部１２に供給されて、ストリームバッファ１３を介してストリーム合成部１５に供給された場合、ストリーム合成部１５は、Qマトリクスバッファ１４に上書き保存されている量子化マトリクスQ2を読み出し、Ｂ７ピクチャのピクチャヘッダに記載して、ビットストリーム出力部１６に供給し、出力させる。
【００４９】
そして、図７に示されるように、量子化マトリクスが記載されていない次のPピクチャであるP11ピクチャがビットストリーム解析部１２に供給されて、ストリームバッファ１３を介してストリーム合成部１５に供給された場合においても、ストリーム合成部１５は、Qマトリクスバッファ１４に上書き保存されている量子化マトリクスQ2を読み出し、P11ピクチャのピクチャヘッダに記載して、ビットストリーム出力部１６に供給し、出力させる。そして、Ｐ１１ピクチャ以降のピクチャにおいては、ピクチャヘッダに量子化マトリクスが記載されているＢピクチャが供給されなければ、ストリーム合成部１５による量子化マトリクスの記載処理は実行されず、ビットストリーム解析部１２に供給された状態のピクチャがビットストリーム出力部１６から出力される。
【００５０】
また、4:2:2または4:4:4のストリームにおいては、ピクチャヘッダ内の拡張量子化マトリクスにおいて、色差用のマトリクスを別途定義することが可能である。したがって、図８に示されるように、ビットストリーム解析部１２は、B6ピクチャのピクチャヘッダに記載されている量子化マトリクスQ2および量子化マトリクスQ2´を読み出し、Qマトリクスバッファ１４に上書き保存する。そして、同様にして、ストリーム合成部１５は、Qマトリクスバッファ１４に上書き保存されている量子化マトリクスQ2および量子化マトリクスQ2´を読み出し、B7ピクチャ、および、P11ピクチャのピクチャヘッダに記載して、ビットストリーム出力部１６に供給し、出力させる。
【００５１】
次に、図９乃至図１２を参照して、このようにしてビットストリーム変換装置１において変換されたビットストリームをデコードして再生出力する場合について説明する。
【００５２】
図９に示されるように、B6ピクチャに量子化マトリクスQ1とは異なる値の量子化マトリクスである量子化マトリクスQ2の情報が記載されているMPEG Long GOPに対して、従来実行されていたように、ランダムデコードが実行される場合、例えば、量子化マトリクスQ2でエンコードされている図中αで示される範囲に含まれるP11ピクチャが再生開始点として指定されたとき、B6ピクチャは参照画像としても利用されない。このため、量子化マトリクスQ2でデコードされるべきP11ピクチャが量子化マトリクスQ1でデコードされてしまい、誤動作となる。すなわち、図９に示されるGOP構造では、量子化マトリクスQ2の情報が記載されているB6ピクチャの後のB7ピクチャから、次のIピクチャの前のB13ピクチャまでのいずれかのフレームに対して、B6ピクチャのデコードを行わずに直接ランダムデコードが指令された場合、同様に誤動作となってしまう。
【００５３】
そこで、上述したように、ビットストリーム変換装置１において、ストリーム中のBピクチャに記載されている量子化マトリクスをバッファリングし、そのBピクチャからストリームオーダで次のＰピクチャまで、または、ストリームオーダで次に量子化マトリクスが記載されているピクチャの手前のBピクチャまでのそれぞれのピクチャのピクチャヘッダに、バッファリングされた量子化マトリクスの値を記載するものとする。
【００５４】
すなわち、図１０に示されるように、ビットストリーム変換装置１において生成された、B6ピクチャに加えてB7ピクチャおよびP11ピクチャが量子化マトリクスQ2の情報を有しているビットストリームにおいては、図９を用いて説明した、オリジナルストリームで誤動作していた区間αのうちのいずれのピクチャが再生開始点として指定されても、量子化マトリクスQ2でデコード処理が実行されるので、誤った量子化マトリクスを用いることによる画像の劣化は発生しない。
【００５５】
具体的には、ビットストリーム変換装置１において生成された、図１０に示されるビットストリームにおいてランダム再生が実行され、B7ピクチャまたはP11ピクチャが再生開始点として指定された場合、B7ピクチャまたはP11ピクチャに記載されている量子化マトリクスQ2を用いてデコード処理が実行される。また、ビットストリーム変換装置１において生成された、図１０に示されるビットストリームにおいてランダム再生が実行され、B9ピクチャ乃至B13ピクチャのうちのいずれかが再生開始点として指定された場合、デコード処理の際にP11ピクチャが参照されることにより、P11ピクチャに記載されている量子化マトリクスQ2を用いてデコード処理が実行される。
【００５６】
従来における場合と、ビットストリーム変換装置１を用いた場合とのデコード処理で、動作が異なる最も極端な例は、図１１に示されるように、GOP先頭のB0ピクチャに量子化マトリクスQ1とは異なる値の量子化マトリクスである量子化マトリクスQ2の情報が記載されているMPEG Long GOPに対して、ランダムデコードが実行される場合である。
【００５７】
先頭のIピクチャの直後のB0ピクチャから、Iピクチャとは異なる量子化マトリクスによってエンコードされている場合、従来実行されていたランダム再生においては、量子化マトリクスQ2の情報が記載されているB0ピクチャの後のB1ピクチャから、次のIピクチャまでのいずれのピクチャがランダム再生の再生開始位置として選択されても、量子化マトリクスQ2でデコードされるべきピクチャが量子化マトリクスQ1でデコードされてしまい、誤動作となる。すなわち、通常MPEG2でよく用いられるGOP構造(N=15,M=3)のストリームでは、13フレームもの区間が誤動作となる。これを一般化すると、１GOPを構成するフレーム数−２のフレームがランダムデコードの再生開始位置に指定された場合において、デコードが誤動作する。
【００５８】
しかしながら、図１２に示されるように、ビットストリーム変換装置１において生成されたビットストリームにおいては、Ｉピクチャのシーケンスヘッダに記載されている量子化マトリクスQ1とは異なる値の量子化マトリクスである量子化マトリクスQ2の情報が記載されているB0ピクチャから、ストリームオーダで次のPピクチャまでのピクチャ、すなわち、B1ピクチャおよびP5ピクチャのピクチャヘッダに量子化マトリクスQ2の情報が記載されるので、B1ピクチャから、次のIピクチャまでのいずれのピクチャがランダム再生の再生開始位置として選択されても、量子化マトリクスQ2でデコードされ、誤動作が発生しない。
【００５９】
具体的には、図１２に示される、ビットストリーム変換装置１において生成されたビットストリームにおいてランダム再生が実行され、B１ピクチャまたはP５ピクチャが再生開始点として指定された場合、B1ピクチャまたはP5ピクチャに記載されている量子化マトリクスQ2を用いてデコード処理が実行される。また、図１２に示される、ビットストリーム変換装置１において生成されたビットストリームにおいてランダム再生が実行され、B3ピクチャ乃至B13ピクチャのうちのいずれかが再生開始点として指定された場合、デコード処理の際にP5ピクチャが参照されることにより、P5ピクチャに記載されている量子化マトリクスQ2を用いてデコード処理が実行される。
【００６０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、ビットストリーム変換装置１は、図１３に示されるようなパーソナルコンピュータ２０１により構成される。
【００６１】
図１３において、CPU（Central Processing Unit）２２１は、ROM（Read Only Memory）２２２に記憶されているプログラム、またはＨＤＤ２２６からRAM（Random Access Memory）２２３にロードされたプログラムに従って各種の処理を実行する。RAM２２３にはまた、CPU２２１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００６２】
CPU２２１、ROM２２２、およびRAM２２３は、バス２２４を介して相互に接続されている。このバス２２４にはまた、インタフェース（Ｉ／Ｆ）２２５−１乃至２２５−３、ＨＤＤ（hard Disc Drive）２２６、映像特殊効果音声ミキシング処理部２２７、および、信号処理部２２８も接続されている。
【００６３】
インタフェース２２５−１には、キーボード２０２、マウス２０３などの入力デバイスが接続されている。インタフェース２２５−２には、記憶装置２０４が接続され、情報を授受することができるようになされている。また、インタフェース２２５−３には、外部映像記録再生装置２０５−１乃至２０５−ｍが接続され、情報を授受することができるようになされている。ＨＤＤ２２６は、ハードディスクをドライブし、各種情報を記憶することができるようになされている。
【００６４】
映像特殊効果音声ミキシング処理部２２７は、信号処理部２２８、並びに、記憶装置２０４および映像記録再生装置２０５−１乃至２０５−ｍとも接続され、記憶装置２０４および映像記録再生装置２０５−１乃至２０５−ｍのいずれかから供給された、または、バス２２４を介して、ＨＤＤ２２６から供給された映像信号に特殊効果を施したり、音声をミキシングするなどして、信号処理部２２８に供給させて出力させたり、記憶装置２０４および映像記録再生装置２０５−１乃至２０５−ｍのうちのいずれかに供給させて保存させる。
【００６５】
信号処理部２２８は、ディスプレイ２２９およびスピーカ２３０とも接続され、例えば、映像特殊効果音声ミキシング処理部２２７などから供給された映像信号を、ディスプレイ２２９に供給して表示させたり、音声信号を、スピーカ２３０に供給して音声出力させる。
【００６６】
ディスプレイ２２９は、例えば、CRT（Cathode Ray Tube)、LCD（Liquid Crystal display）などよりなり、信号処理部２２８から供給される映像を表示する。スピーカは、信号処理部２２８から供給される音声を再生出力する。
【００６７】
バス２２４にはまた、必要に応じてドライブ２３１が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア２０６が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてＨＤＤ２２６にインストールされる。
【００６８】
また、パーソナルコンピュータ２０１には、変換されて生成されたビットストリームをデコードする機能を更に加えるようにすることも可能である。
【００６９】
図１３を用いて説明したパーソナルコンピュータ２０１において、ソフトウェアにより、上述したビットストリーム変換装置１が実行する一連の処理が実行されるとともに、変換されて生成されたビットストリームがデコードされる場合の機能の一例について説明するための機能ブロック図を図１４に示す。
【００７０】
なお、図３または図１３における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００７１】
ＣＰＵ２２１が所定のプログラムを実行することによって、パーソナルコンピュータ２０１は、図３のオリジナルビットストリーム取得部１１、ビットストリーム解析部１２、ストリーム合成部１５、および、ビットストリーム出力部１６と同等の機能を有する。そして、ストリームバッファ１３およびＱマトリクスバッファ１４に対応するデータ記憶領域は、ＲＡＭ２２３に設けられる。なお、ストリームバッファ１３およびＱマトリクスバッファ１４に対応するデータ記憶領域は、ＲＡＭ２２３ではなく、例えば、ＣＰＵ２２１のキャッシュメモリとして設けるようにしてもよい。また、ＣＰＵ２２１が所定のプログラムを実行することによって、パーソナルコンピュータ２０１は、更に、圧縮符号化データをデコードするデコード処理部２６１の機能を有する。
【００７２】
ＣＰＵ２２１のオリジナルビットストリーム取得部１１は、記憶装置２０４、外部映像記録再生装置２０５、または、ＨＤＤ２２６のうちのいずれかの領域に対応するオリジナルビットストリーム記憶部２５１に記録されているビットストリームを取得し、ビットストリーム解析部１２に供給する。
【００７３】
ＣＰＵ２２１のビットストリーム解析部１２は、マウス２０２またはキーボード２０３などの入力デバイスによって入力されたユーザの操作を基に、ビットストリームを解析し、解析済みのピクチャをストリームバッファ１３に供給するとともに、いずれかのＢピクチャのピクチャヘッダに記載されている最新の量子化マトリクスをＱマトリクスバッファ１４にバッファリングする。
【００７４】
そして、ＣＰＵ２２１のストリーム合成部１５は、Ｉピクチャのシーケンスヘッダに記載されている量子化マトリクスQ1とは異なる値の量子化マトリクスである量子化マトリクスQ2の情報が記載されているBピクチャからストリームオーダで次のPピクチャまでのピクチャ、または、更に異なる量子化マトリクスが記載されたピクチャの一つ前のＢピクチャまでの間のピクチャのピクチャヘッダに、Ｑマトリクスバッファ１４にバッファリングされている最新の量子化マトリクスの値を記載する。
【００７５】
そして、ＣＰＵ２２１のストリーム合成部１５は、生成されたビットストリームを、ビットストリーム出力部１６、具体的には、外部インタフェースやメモリなどのドライブまたはドライブを制御するモジュールを介して、記憶装置２０４、外部映像記録再生装置２０５、または、ＨＤＤ２２６のうちのいずれかの領域に対応する変換後ビットストリーム記憶部２７１に供給して記憶させても良いし、Ｉ／Ｆ２２５を介して外部に出力しても良いし、ドライブ２３１を介して、リムーバブルメディア２０６に記録させても良いし、ＣＰＵ２２１のデコード処理部２６１に供給してデコードさせても良い。
【００７６】
デコード処理部２６１は、シーケンスヘッダまたはピクチャヘッダに記載されている量子化マトリクスを用いて、図１０または図１２を用いて説明したようにして、生成されたビットストリームをデコードするので、ランダム再生処理が実行された場合においても、誤った量子化マトリクスが参照されてしまうことによる誤動作が発生しないため、従来における場合と比較して、画質の劣化を抑制することが可能となる。
【００７７】
そして、デコードされたフレーム画像データは、Ｉ／Ｆ２２５を介して外部に出力しても良いし、ドライブ２３１を介して、リムーバブルメディア２０６に記録させても良いし、信号処理部２２８に供給されて、所定の信号処理が施された後、ディスプレイ２２９に供給されて再生表示されるようにしてもよい。
【００７８】
次に、図１５のフローチャートを参照して、図３のビットストリーム変換装置１、または、図１３および図１４を用いて説明したパーソナルコンピュータ２０１のＣＰＵ２２１において実行されるストリーム変換処理について説明する。
【００７９】
ステップＳ１において、オリジナルビットストリーム取得部１１（ＣＰＵ２２１のオリジナルビットストリーム取得部１１）は、オリジナルのビットストリームを取得し、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）に供給する。
【００８０】
ステップＳ２において、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）は、供給されたオリジナルのビットストリームのうちの１ピクチャを読み込む。
【００８１】
ステップＳ３において、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）は、読み込んだピクチャを解析して、例えば、それぞれのピクチャのピクチャタイプや、ピクチャヘッダに量子化マトリクスが記載されているか否かなどの情報を取得する。
【００８２】
ステップＳ４において、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）は、読み込まれたピクチャが、ピクチャヘッダに量子化マトリクスが記載されているＢピクチャであるか否かを判断する。
【００８３】
ステップＳ４において、読み込まれたピクチャは、ピクチャヘッダに量子化マトリクスが記載されているＢピクチャであると判断された場合、ステップＳ５において、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）は、Ｑマトリクスバッファ１４（ＲＡＭ２２３のＱマトリクスバッファ１４）に、記載されていた量子化マトリクスの値を格納する。
【００８４】
ステップＳ４において、読み込まれたピクチャに量子化マトリクスが記載されていないと判断された場合、または、ステップＳ５の処理の終了後、ステップＳ６において、ビットストリーム解析部１２（ＣＰＵ２２１のビットストリーム解析部１２）は、解析済みのピクチャをストリームバッファ１３（ＲＡＭ２２３のストリームバッファ１３）に供給するとともに、ストリームの解析結果をストリーム合成部１５（ＣＰＵ２２１のストリーム合成部１５）に供給する。そして、ストリーム合成部１５は、そのピクチャは、Ｑマトリクスバッファ１４に格納されている量子化マトリクスが記載されていたＢピクチャの次のＰピクチャか、または、そのPピクチャの前までのＢピクチャか、もしくは、次に量子化マトリクスが記載されているピクチャの１つ前までのＢピクチャであるか否かを判断する。
【００８５】
ステップＳ６において、そのピクチャは、Ｑマトリクスバッファ１４に格納されている量子化マトリクスが記載されていたＢピクチャの次のＰピクチャか、または、そのPピクチャの前までのＢピクチャか、もしくは、次に量子化マトリクスが記載されているピクチャの１つ前までのＢピクチャのうちのいずれでもないと判断された場合、処理は、後述するステップＳ８に進む。
【００８６】
ステップＳ６において、そのピクチャは、Ｑマトリクスバッファ１４に格納されている量子化マトリクスが記載されていたＢピクチャの次のＰピクチャか、または、そのPピクチャの前までのＢピクチャか、もしくは、次に量子化マトリクスが記載されているピクチャの１つ前までのＢピクチャのうちのいずれかであると判断された場合、ステップＳ７において、ストリーム合成部１５（ＣＰＵ２２１のストリーム合成部１５）は、Ｑマトリクスバッファ１４に格納されている量子化マトリクスの値を、ストリームバッファ１３に保持されている対応するピクチャデータのピクチャヘッダに記述する。
【００８７】
ステップＳ６において、読み込んだピクチャは、Ｑマトリクスバッファ１４に格納されている量子化マトリクスが記載されていたＢピクチャの次のＰピクチャか、または、その前までのＢピクチャか、もしくは、次に量子化マトリクスが記載されているピクチャの１つ前までのＢピクチャのうちのいずれでもないと判断された場合、または、ステップＳ７の処理の終了後、ステップＳ８において、ストリーム合成部１５（ＣＰＵ２２１のストリーム合成部１５）は、ピクチャデータを、ビットストリーム出力部１６（ＣＰＵ２２１のビットストリーム出力部１６）に供給する。
【００８８】
ステップＳ９において、ビットストリーム出力部１６（ＣＰＵ２２１のビットストリーム出力部１６）は、全てのピクチャの処理が終了したか否かを判断する。ステップＳ９において、全てのピクチャの処理が終了していないと判断された場合、処理は、ステップＳ２に戻り、それ以降の処理が繰り返される。ステップＳ９において、全てのピクチャの処理が終了したと判断された場合、処理が終了される。
【００８９】
このような処理により生成されたビットストリームを用いることにより、その後のデコード処理などにおいて画質の劣化を防ぐことが可能となる。
【００９０】
このように、本発明を適用したビットストリーム変換装置１、または、パーソナルコンピュータ２０１は、圧縮されたビットストリームの供給を受け、これを解析して、オリジナルのビットストリームのＢピクチャのピクチャヘッダに記載されている量子化マトリクスを抽出してバッファリングする。そして、バッファリングされた量子化マトリクスが、所定のピクチャのピクチャヘッダに記載される。
【００９１】
このビットストリームを用いることにより、ランダム再生においても、誤った量子化マトリクスを用いてデコード処理を行わないようにすることができ、画像の劣化を防止することが可能となる。
【００９２】
なお、ここでは、コーディックの方式としてＭＰＥＧを用いた場合を例として説明しているが、量子化マトリクスおよびフレーム相関を用いたコーディック処理を行う場合においても、本発明は適用可能であることはいうまでもない。例えば、ＡＶＣ（Advanced Video Coding）／Ｈ．２６４などにおいて、本発明は適用可能である。
【００９３】
なお、ＡＶＣ/Ｈ.２６４のＢピクチャは、必ずしも、前方向および後ろ方向の双方向の参照画像を用いるとは限らず、過去から２枚の参照画像を用いて予測しても、未来から２枚の参照画像を用いて予測してもよいが、このような場合を考慮して、本発明を適用することは可能であり、本発明を適用することにより、誤った量子化マトリクスを用いてデコード処理を行ってしまう区間を減少することかでき、画像の劣化を抑制することが可能となる。
【００９４】
上述した一連の処理は、上述したように、ハードウェアによってもソフトウェアによっても実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【００９５】
この記録媒体は、図１３に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア２０６などにより構成される。
【００９６】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００９８】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００９９】
【図１】量子化マトリクスについて説明するための図である。
【図２】量子化マトリクスについて説明するための図である。
【図３】ビットストリーム変換装置の構成を示すブロック図である。
【図４】ビットストリーム変換装置の動作について説明するための図である。
【図５】ビットストリーム変換装置の動作について説明するための図である。
【図６】ビットストリーム変換装置の動作について説明するための図である。
【図７】ビットストリーム変換装置の動作について説明するための図である。
【図８】ビットストリーム変換装置の動作について説明するための図である。
【図９】デコード処理において参照される量子化マトリクスについて説明するための図である。
【図１０】デコード処理において参照される量子化マトリクスについて説明するための図である。
【図１１】デコード処理において参照される量子化マトリクスについて説明するための図である。
【図１２】デコード処理において参照される量子化マトリクスについて説明するための図である。
【図１３】パーソナルコンピュータの構成を示すブロック図である。
【図１４】パーソナルコンピュータが有する機能について説明するための機能ブロック図である。
【図１５】ストリーム変換処理について説明するためのフローチャートである。
【符号の説明】
【０１００】
１  ビットストリーム変換装置，  １１  オリジナルビットストリーム取得部，  １２  ビットストリーム解析部，  １３  ストリームバッファ，  １４  Ｑマトリクスバッファ，  １５  ストリーム合成部，  １６  ビットストリーム出力部，  ２０１  パーソナルコンピュータ，  ２２１  ＣＰＵ，  ２６１  デコード処理部
【図１】
2007318516.tif 000003
【図２】
2007318516.tif 000004
【図３】
2007318516.tif 000005
【図４】
2007318516.tif 000006
【図５】
2007318516.tif 000007
【図６】
2007318516.tif 000008
【図７】
2007318516.tif 000009
【図８】
2007318516.tif 000010
【図９】
2007318516.tif 000011
【図１０】
2007318516.tif 000012
【図１１】
2007318516.tif 000013
【図１２】
2007318516.tif 000014
【図１３】
2007318516.tif 000015
【図１４】
2007318516.tif 000016
【図１５】
2007318516.tif 000017