(57)【要約】  【課題】    予め決められた参照関係に基づいて複数のピクチャデータを符号化する場合の処理時間を短縮できる符号化装置を提供する。【解決手段】  処理可能ＭＢ探索回路１３０において、複数のピクチャデータ間の参照関係に基づいて、複数のピクチャデータ間で並列処理可能なマクロブロックＭＢを特定する。そして、プロセッサ１１１，１１２で、上記特定した複数のマクロブロックＭＢを並列処理する。【選択図】  図１
2006345157.tif 000002
【特許請求の範囲】
【請求項１】
予め決められた参照関係に基づいて複数のピクチャデータを符号化する符号化装置であって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する検出手段と、
前記検出手段の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列に行う複数の処理回路と
を有する符号化装置。
【請求項２】
前記処理回路は、前記ピクチャデータを構成する複数のブロックデータを単位として前記符号化処理を行い、
前記検出手段は、前記複数のピクチャデータ内の符号化処理が可能な前記ブロックデータを検出する
請求項１に記載の符号化装置。
【請求項３】
前記検出手段は、ピクチャデータ内で検出対象の前記ブロックデータに対して所定の位置にある他の前記ブロックデータの符号化処理が終了し、且つ、当該検出対象のブロックデータの符号化に用いる参照対象のピクチャデータ内の参照対象の領域内のブロックデータの符号化が終了していることを条件に、前記検出対象のブロックデータの符号化処理が可能であると判断する
請求項２に記載の符号化装置。
【請求項４】
前記検出手段は、前記ピクチャデータ内の複数のブロックデータ間での参照関係にさらに基づいて前記符号化処理可能なブロックデータを検出し、
前記処理回路は、前記検出手段の検出結果に基づいて、同じ前記ピクチャデータ内に属する複数の前記ブロックデータを並列に処理する
請求項２に記載の符号化装置。
【請求項５】
予め決められた参照関係に基づいて複数のピクチャデータを復号する復号装置であって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する検出手段と、
前記検出手段の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列に行う複数の処理回路と
を有する復号装置。
【請求項６】
前記処理回路は、前記ピクチャデータを構成する複数のブロックデータを単位として前記復号処理を行い、
前記検出手段は、前記複数のピクチャデータ内の復号処理が可能な前記ブロックデータを検出する
請求項５に記載の復号装置。
【請求項７】
前記検出手段は、ピクチャデータ内で検出対象の前記ブロックデータに対して所定の位置にある他の前記ブロックデータの復号処理が終了し、且つ、当該検出対象のブロックデータの復号に用いる参照対象のブロックデータの復号が終了していることを条件に、前記検出対象のブロックデータの復号処理が可能であると判断する
請求項６に記載の復号装置。
【請求項８】
前記検出手段は、前記ピクチャデータ内の複数のブロックデータ間での参照関係にさらに基づいて前記復号処理可能なブロックデータを検出し、
前記処理回路は、前記検出手段の検出結果に基づいて、同じ前記ピクチャデータ内に属する複数の前記ブロックデータを並列に処理する
請求項６に記載の復号装置。
【請求項９】
予め決められた参照関係に基づいて複数のピクチャデータを符号化する符号化方法であって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する第１の工程と、
前記第１の工程の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列処理する第２の工程と
を有する符号化方法。
【請求項１０】
予め決められた参照関係に基づいて複数のピクチャデータを復号する復号方法であって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する第１の工程と、
前記第１の工程の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列処理する第２の工程と
を有する復号方法。
【請求項１１】
予め決められた参照関係に基づいて複数のピクチャデータを符号化するコンピュータが実行するプログラムであって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する第１の手順と、
前記第１の手順の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列処理する第２の手順と
を前記コンピュータに実行させるプログラム。
【請求項１２】
予め決められた参照関係に基づいて複数のピクチャデータを復号するコンピュータが実行するプログラムであって、
前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する第１の手順と、
前記第１の手順の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列処理する第２の手順と
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを符号化する符号化装置、符号化方法およびそのプログラム、並びに画像データを復号する復号装置、復号方法およびそのプログラムに関する。
【背景技術】
【０００２】
近年、画像データをデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧ(Moving Picture Experts Group)や、Ｈ．２６４／ＡＶＣ(Advanced Video Coding)などの方式に準拠した符号化装置および復号装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述した符号化装置および復号装置では、リアルタイム通信などの分野で、処理時間の短縮を図りたいという要請がある。
【０００４】
本発明はかかる事情に鑑みてなされたものであり、予め決められた参照関係に基づいて複数のピクチャデータを符号化する場合の処理時間を短縮できる符号化装置、符号化方法およびそのプログラムを提供することを目的とする。
また、本発明は、予め決められた参照関係に基づいて符号化された複数のピクチャデータを復号する場合の処理時間を短縮できる復号装置、復号方法およびそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の観点の発明の符号化装置は、予め決められた参照関係に基づいて複数のピクチャデータを符号化する符号化装置であって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する検出手段と、前記検出手段の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列に行う複数の処理回路とを有する。
【０００６】
また、本発明の復号装置は、予め決められた参照関係に基づいて複数のピクチャデータを復号する復号装置であって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する検出手段と、前記検出手段の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列に行う複数の処理回路とを有する。
【０００７】
また、本発明の符号化方法は、予め決められた参照関係に基づいて複数のピクチャデータを符号化する符号化方法であって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する第１の工程と、前記第１の工程の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列処理する第２の工程とを有する。
【０００８】
また、本発明の復号方法は、予め決められた参照関係に基づいて複数のピクチャデータを復号する復号方法であって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する第１の工程と、前記第１の工程の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列処理する第２の工程とを有する。
【０００９】
また、本発明のプログラムは、予め決められた参照関係に基づいて複数のピクチャデータを符号化するコンピュータが実行するプログラムであって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の符号化処理が可能なデータを検出する第１の手順と、前記第１の手順の検出結果に基づいて、前記複数のピクチャデータの符号化処理を並列処理する第２の手順とを前記コンピュータに実行させる。
【００１０】
また、本発明のプログラムは、予め決められた参照関係に基づいて複数のピクチャデータを復号するコンピュータが実行するプログラムであって、前記複数のピクチャデータの前記参照関係に基づいて、前記複数のピクチャデータ内の復号処理が可能なデータを検出する第１の手順と、前記第１の手順の検出結果に基づいて、前記複数のピクチャデータの復号処理を並列処理する第２の手順とを前記コンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、予め決められた参照関係に基づいて複数のピクチャデータを符号化する場合の処理時間を短縮できる符号化装置、符号化方法およびそのプログラムを提供することができる。
また、本発明によれば、予め決められた参照関係に基づいて符号化された複数のピクチャデータを復号する場合の処理時間を短縮できる復号装置、復号方法およびそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態に係わる符号化装置について説明する。
＜第１実施形態＞
先ず、本実施形態の構成要素と、本発明の構成要素との関係を説明する。
図１に示す処理可能ＭＢ探索回路１３０が本発明の検出手段の一例である。
また、本実施形態のプロセッサ１１１，１１２が、本発明の処理回路の一例である。
また、本実施形態のマクロブロックＭＢが、本発明のブロックデータの一例である。
【００１３】
以下、本実施形態の画像処理装置１について説明する。
図１は、本実施形態の画像処理装置１の概念図である。
図１に示すように、画像処理装置１は、例えば、マルチプロセッサ１１０、エントロピー符号／算術符号化回路１２１、エントロピー復号／算術復号回路１２２、処理可能ＭＢ探索回路１３０、ビットストリームメモリ１４０、ワークメモリ１５０、フレームメモリ１６０を有する。
図１に示すように、マルチプロセッサ１１０は、制御用バス１１５を介して、エントロピー符号／算術符号化回路１２１、エントロピー復号／算術復号回路１２２および処理可能ＭＢ探索回路１３０と接続されている。
また、マルチプロセッサ１１０は、画像データ用バス１３５を介して、ビットストリームメモリ１４０、ワークメモリ１５０およびフレームメモリ１６０と接続されている。
また、エントロピー符号／算術符号化回路１２１、エントロピー復号／算術復号回路１２２、処理可能ＭＢ探索回路１３０、ビットストリームメモリ１４０、ワークメモリ１５０およびフレームメモリ１６０は、画像データ用バス１３５を介して接続されている。
【００１４】
本実施形態では、マルチプロセッサ１１０の処理は図示しないメモリに記憶されたプログラム（本発明のプログラムの一例）に基づいて行われる。
【００１５】
図１に示すエントロピー符号／算術符号化回路１２１は、マルチプロセッサ１１０で符号化されたピクチャデータにエントロピー符号化あるいは算術符号化を施してビットストリームメモリ１４０に書き込む。
また、エントロピー復号／算術復号回路１２２は、マルチプロセッサ１１０において復号処理を行う場合に、画像データ用バス１３５を介してビットストリームメモリ１４０から入力したピクチャデータをエントロピー復号あるいは算術復号し、制御用バス１１５を介してマルチプロセッサ１１０に出力する。
【００１６】
また、エントロピー符号／算術符号化回路１２１、エントロピー復号／算術復号回路１２２、並びに処理可能ＭＢ探索回路１３０などは、例えば、ＣＭＯＳ(Complementary Metal-Oxide Semiconductor)ゲートで構成される。
また、ワークメモリ１５０は、例えば、ＳＲＡＭ(Static RAM)である。
また、ビットストリームメモリ１４０およびワークメモリ１５０は、例えば、ＤＤＲ−ＳＤＲＡＭである。
【００１７】
［マルチプロセッサ１１０］
マルチプロセッサ１１０は、マクロブロックＭＢを単位とした符号化処理と復号処理とを行う。
本実施形態では、マルチプロセッサ１１０は、符号化方式として、例えば、Ｈ．２６４／ＡＶＣや、ＭＰＥＧなどを採用する。
なお、本実施形態のピクチャデータは、フレームデータ、フィールドデータのいずれでもよい。
【００１８】
＜符号化処理＞
図２は、図１に示すマルチプロセッサ１１０が行う符号化処理の機能ブロック図である。
マルチプロセッサ１１０は、符号化処理において、図２に示す演算部２４、直交変換部２５、量子化部２６、逆量子化部２９、逆直交変換部３０、デブロックフィルタ３１、加算部３３、イントラ予測部４１、並びに動き予測・補償部４２の機能を実現する。
【００１９】
演算部２４は、符号化対象のピクチャデータＴ＿ＰＩＣと、イントラ予測部４１または動き予測・補償部４２から入力した予測画像データとの差分を示す画像データＳ２４を生成し、これを直交変換部２５に出力する。
直交変換部２５は、画像データＳ２４に離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）やカルーネン・レーベ変換などの直交変換を施して変換係数を示す画像データ（例えばＤＣＴ係数）Ｓ２５を生成し、これを量子化部２６に出力する。
【００２０】
量子化部２６は、画像データＳ２５（量子化前の変換係数）を量子化して量子化後の変換係数を示す画像データＳ２６を生成し、これを図１に示すエントロピー符号／算術符号化回路１２１と、図２に示す逆量子化部２９とに出力する。
逆量子化部２９は、量子化部２６の量子化に対応した逆量子化処理を画像データＳ２６に施して、それによって得られたデータを生成し、これを逆直交変換部３０に出力する。
逆直交変換部３０は、逆量子化部２９から入力したデータに、直交変換部２５における直交変換の逆変換を施して生成した画像データを加算部３３に出力する。
【００２１】
加算部３３は、逆直交変換部３０から入力した（デコードされた）画像データと、イントラ予測部４１あるいは動き予測・補償部４２から入力した予測画像データＰＩとを加算して参照（再構成）ピクチャデータを生成し、これをデブロックフィルタ３１に出力する。
デブロックフィルタ３１は、参照ピクチャデータのブロック歪みを除去した画像データを、参照ピクチャデータＲ＿ＰＩＣとしてワークメモリ１５０に書き込む。
【００２２】
イントラ予測部４１は、イントラ符号化するマクロブロックＭＢにおいて、残差が最小となるイントラ予測のモードおよび予測ブロックのブロックサイズを決定する。
イントラ予測部４１は、ブロックサイズとして、４ｘ４および１６ｘ１６画素を用いる。
イントラ予測部４１は、イントラ予測が選択された場合に、イントラ予測による予測画像データＰＩを演算部２４および加算部３３に出力する。
【００２３】
動き予測・補償部４２は、既に符号化され、局所復号され、ワークメモリ１５０に記録されている画像から、動き予測を行い、残差を最小にする動きベクトルおよび動く補償のブロックサイズを決定する。
動き予測・補償部４２は、ブロックサイズとして、１６ｘ１６、１６ｘ８、８ｘ１６、８ｘ８、８ｘ４、４ｘ８および４ｘ４画素を用いる。
動き予測・補償部４２は、インター予測が選択された場合に、インター予測による予測画像データＰＩを演算部２４および加算部３３に出力する。
【００２４】
マルチプロセッサ１１０は、処理可能ＭＢ探索回路１３０の探索結果に基づいて、複数のピクチャデータ間で並列処理して図２に示す符号化処理を行う。
また、マルチプロセッサ１１０は、処理可能ＭＢ探索回路１３０の探索結果に基づいて、ピクチャデータ内の複数のマクロブロックＭＢ間で、図２に示す符号化処理を並列に行う。
【００２５】
［処理可能ＭＢ探索回路１３０（符号化時）］
図３は、マルチプロセッサ１１０の符号化時における図１に示す処理可能ＭＢ探索回路１３０の処理を説明するためのフローチャートである。
ステップＳＴ１１：
処理可能ＭＢ探索回路１３０は、カレント（符号化対象）マクロブロックＭＢが未符号化であり、当該カレントマクロブロックＭＢの画面左および上（図４に示すマクロブロックＭＢ＿Ａ，ＭＢ＿Ｂ，ＭＢ＿Ｃ）が符号化済であるという条件を満たすか否かを判断し、満たすと判断するとステップＳＴ１２に進み、そうでない場合にはステップＳＴ１４に進む。
【００２６】
ステップＳＴ１２：
処理可能ＭＢ探索回路１３０は、図５に示すように、カレントマクロブロックＭＢの参照ピクチャ内の探索領域（参照領域）のマクロブロックＭＢが符号化済であるという条件を満たすか否かを判断し、満たすと判断するとステップＳＴ１３に進み、そうでない場合にはステップＳＴ１４に進む。
【００２７】
ステップＳＴ１３：
処理可能ＭＢ探索回路１３０は、カレントマクロブロックＭＢを符号化処理可能マクロブロックリストＥＰＭＬに登録する。
【００２８】
ステップＳＴ１４：
処理可能ＭＢ探索回路１３０は、カレントマクロブロックＭＢとして未選択のマクロブロックＭＢをカレントマクロブロックＭＢとして選択する。
具体的には、処理可能ＭＢ探索回路１３０は、選択するマクロブロックＭＢのアドレスをインクリメントする。
ステップＳＴ１５：
処理可能ＭＢ探索回路１３０は、１ピクチャデータ内の全てのマクロブロックＭＢについてステップＳＴ１１の処理を終了したと判断するとステップＳＴ１６に進み、そうでない場合にはステップＳＴ１１に進む。
ステップＳＴ１６：
処理可能ＭＢ探索回路１３０は、マルチプロセッサ１１０で連続して符号化処理される３ピクチャデータについてステップＳＴ１１〜ＳＴ１５の処理が終了したと判断するとステップＳＴ１８に進み、そうでない場合にはステップＳＴ１７に進む。
【００２９】
ステップＳＴ１７：
処理可能ＭＢ探索回路１３０は、選択するマクロブロックＭＢのアドレスを「０」にリセットする。
ステップＳＴ１８：
処理可能ＭＢ探索回路１３０は、マルチプロセッサ１１０で並列的に符号化される３ピクチャデータについて符号化処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ１１に戻る。
【００３０】
以下、図１に示す画像処理装置１の符号化処理の動作例を説明する。
図６は、図１に示す画像処理装置１の符号化処理の動作例を説明するためのフローチャートである。
ステップＳＴ２１：
図１に示すプロセッサ１１１が、エントロピー符号／算術符号化回路１２１を起動する。
これにより、エントロピー符号／算術符号化回路１２１が、後のステップＳＴ２５においてマルチプロセッサ１１０で符号化されたピクチャデータにエントロピー符号化あるいは算術符号化を施してビットストリームメモリ１４０に書き込む処理を開始可能な状態になる。
ステップＳＴ２２：
プロセッサ１１１が、図１に示す処理可能ＭＢ探索回路１３０を起動する。
これにより、処理可能ＭＢ探索回路１３０が、図３に示す処理を行い符号化処理可能ＭＢリストＥＰＭＬを生成する。
【００３１】
ステップＳＴ２３：
プロセッサ（親プロセッサ）１１１が、プロセッサ（子プロセッサ）１１２を起動する。
これにより、プロセッサ１１２が後述する図７に示す処理を行う。
ステップＳＴ２４：
プロセッサ１１１が、処理可能ＭＢ探索回路１３０に符号化処理可能なマクロブロックＭＢを問い合わせる。
処理可能ＭＢ探索回路１３０は、プロセッサ１１１からの問い合わせに基づいて、図３に示す手順で生成した符号化処理可能マクロブロックリストＥＰＭＬを基に、プロセッサ１１１に割り当てられたマクロブロックＭＢのなかに、符号化処理可能なマクロブロックＭＢがあるか否かを判断し、符号化処理可能なマクロブロックＭＢがあると判断すると、そのマクロブロックＭＢをプロセッサ１１１に通知する。
プロセッサ１１１は、処理可能なマクロブロックＭＢがある旨の通知を受けると、ステップＳＴ２５に進み、そうでない場合にはステップＳＴ２６に進む。
【００３２】
ステップＳＴ２５：
プロセッサ１１１は、処理対象のマクロブロックＭＢの符号化処理を行う。
具体的には、プロセッサ１１１は、処理対象のマクロブロックＭＢについて、図２に示す機能ブロックに従って符号化処理を行い、その結果を例えば図１に示すワークメモリ１５０やフレームメモリ１６０を介してエントロピー符号／算術符号化回路１２１に出力する。
ステップＳＴ２６：
プロセッサ１１１は、例えば、マルチプロセッサ１１０が実行するシステム管理スレッドなどの上位システムの判断結果を基に、符号化処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ２４に戻る。
【００３３】
図７は、図６に示すステップＳＴ２３において、プロセッサ１１１によって起動されたプロセッサ１１２が実行する符号化処理を説明するためのフローチャートである。
ステップＳＴ３１：
プロセッサ１１２が、処理可能ＭＢ探索回路１３０に符号化処理可能なマクロブロックＭＢを問い合わせる。
処理可能ＭＢ探索回路１３０は、プロセッサ１１２からの問い合わせに基づいて、図３に示す手順で生成した符号化処理可能マクロブロックリストＥＰＭＬを基に、プロセッサ１１２に割り当てられたマクロブロックＭＢのなかに、符号化処理可能なマクロブロックＭＢがあるか否かを判断し、符号化処理可能なマクロブロックＭＢがあると判断すると、そのマクロブロックＭＢをプロセッサ１１２に通知する。
プロセッサ１１２は、符号化処理可能なマクロブロックＭＢがある旨の通知を受けると、ステップＳＴ３２に進み、そうでない場合にはステップＳＴ３３に進む。
【００３４】
ステップＳＴ３２：
プロセッサ１１２は、処理対象のマクロブロックＭＢの符号化処理を行う。
具体的には、プロセッサ１１２は、処理対象のマクロブロックＭＢについて、図２に示す機能ブロックに従って符号化処理を行い、その結果を例えば図１に示すワークメモリ１５０やフレームメモリ１６０を介してエントロピー符号／算術符号化回路１２１に出力する。
ステップＳＴ３３：
プロセッサ１１２は、符号化処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ３１に戻る。
【００３５】
図８は、図１に示す画像処理装置１が符号化処理を行った場合のプロセッサ１１１，１１２およびエントロピー符号／算術符号化回路１２１における処理の流れを説明するための図である。
図８に示すように、期間Ｘ１において、プロセッサ１１１がＩ１ピクチャデータの上半分の符号化処理を行う。
次に、期間Ｘ２において、プロセッサ１１１によるＩ１ピクチャデータの下半分の符号化処理と、プロセッサ１１２によるＰ２ピクチャデータの上半分の符号化処理とを並行して行う。
次に、期間Ｘ３において、プロセッサ１１１によるＢ３ピクチャデータの上半分の符号化処理と、プロセッサ１１２によるＰ２ピクチャデータの下半分の符号化処理とを並列に行う。また、それと並行して、エントロピー符号／算術符号化回路１２１が、Ｉ１ピクチャデータのエントロピー符号化あるいは算術符号化処理を行う。
次に、期間Ｘ４において、プロセッサ１１１によるＢ３ピクチャデータの下半分の符号化処理と、プロセッサ１１２によるＢ４ピクチャデータの上半分の符号化処理とを並列に行う。また、それと並行して、エントロピー符号／算術符号化回路１２１が、Ｐ２ピクチャデータのエントロピー符号化あるいは算術符号化処理を行う。
なお、図８に示すプロセッサ１１１，１１２の符号化処理は、図２に示す機能ブロックに従って行われる。
【００３６】
ところで、図８に示す例では、プロセッサ１１１が、Ｉ１ピクチャデータの上半分と下半分、Ｂ３ピクチャデータの上半分と下半分、Ｐ５ピクチャデータの上半分と下半分の符号化処理を実行し、プロセッサ１１２が、Ｐ２ピクチャデータの上半分と下半分、Ｂ４ピクチャデータの上半分と下半分、Ｂ６ピクチャデータの上半分と下半分の符号化処理を実行する場合を例示したが、各ピクチャデータのマクロブロックＭＢの処理は、参照関係に基づいて並列処理が可能であれば、プロセッサ１１１，１１２の何れで実行されてもよい。
【００３７】
＜復号処理＞
［マルチプロセッサ１１０（復号時）］
図９は、図１に示すマルチプロセッサ１１０が行う復号処理の機能ブロック図である。
マルチプロセッサ１１０は、復号処理において、図９に示す逆量子化部８３、逆直交変換部８４、加算部８５、イントラ予測部８９、並びに動き予測・補償部９０などの機能を実現する。
【００３８】
逆量子化部８３は、エントロピー復号／算術復号回路１２２から入力した可逆復号後の画像データＳ８２を、図２に示す量子化部２６に対応した逆量子化方法で逆量子化して画像データＳ８３を生成し、これを逆直交変換部８４に出力する。
逆直交変換部８４は、逆量子化部８３から入力した画像データＳ８３を、図２に示す直交変換部２５の直交変換に対応した直交逆変換を行って画像データＳ８４を生成し、これを加算部８５に出力する。
加算部８５は、イントラ予測部８９あるいは動き予測・補償部９０から入力した予測画像と、逆直交変換部８４から入力した画像データＳ８４とを加算して画像データＳ８５を生成し、これをワークメモリ１５０およびフレームメモリ１６０に書き込む。
【００３９】
イントラ予測部８９は、ワークメモリ１５０から読み出した画像データＳ８５内の復号対象のブロックデータがイントラ予測符号化されたものである場合に、当該ブロックデータをイントラ方式で復号して予測画像データを生成し、これを加算部８５に出力する。
動き予測・補償部９０は、ワークメモリ１５０から読み出した画像データＳ８５内の復号対象のブロックデータがインター予測符号化されたものである場合に、当該ブロックデータをインター方式で復号して予測画像データを生成し、これを加算部８５に出力する。
【００４０】
［処理可能ＭＢ探索回路１３０（復号時）］
図１０は、マルチプロセッサ１１０の復号時における図１に示す処理可能ＭＢ探索回路１３０の処理を説明するためのフローチャートである。
ステップＳＴ４１：
処理可能ＭＢ探索回路１３０は、カレント（復号対象）マクロブロックＭＢが未復号であり、当該カレントマクロブロックＭＢの画面左および上（図４に示すマクロブロックＭＢ＿Ａ，ＭＢ＿Ｂ，ＭＢ＿Ｃ）が復号済であるという条件を満たすか否かを判断し、満たすと判断するとステップＳＴ４２に進み、そうでない場合にはステップＳＴ４５に進む。
【００４１】
ステップＳＴ４２：
処理可能ＭＢ探索回路１３０は、カレントマクロブロックＭＢがイントラ符号化されているか否かを判断し、イントラ符号化されていると判断すると、ステップＳＴ４４に進み、そうでない場合（インター符号化されている場合）にステップＳＴ４３に進む。
ステップＳＴ４３：
処理可能ＭＢ探索回路１３０は、例えば、図１および図９に示すエントロピー復号／算術復号回路１２２から入力したカレントマクロブロックＭＢの動きベクトルＭＶに基づいて、その参照画像データ内の動きベクトルＭＶで指し示されるマクロブロックＭＢが既に復号済みであるか否かを判断し、復号済みであると判断するとステップＳＴ４４に進み、そうでない場合にはステップＳＴ４５に進む。
【００４２】
ステップＳＴ４４：
処理可能ＭＢ探索回路１３０は、カレントマクロブロックＭＢを復号処理可能マクロブロックリストＤＰＭＬに登録する。
ステップＳＴ４５：
処理可能ＭＢ探索回路１３０は、カレントマクロブロックＭＢとして未選択のマクロブロックＭＢをカレントマクロブロックＭＢとして選択する。
具体的には、処理可能ＭＢ探索回路１３０は、選択するマクロブロックＭＢのアドレスをインクリメントする。
ステップＳＴ４６：
処理可能ＭＢ探索回路１３０は、１ピクチャデータ内の全てのマクロブロックＭＢについてステップＳＴ４１の処理を終了したと判断するとステップＳＴ４７に進み、そうでない場合にはステップＳＴ４１に進む。
ステップＳＴ４７：
処理可能ＭＢ探索回路１３０は、マルチプロセッサ１１０で連続して復号される３ピクチャデータについてステップＳＴ４１〜ＳＴ４６の処理が終了したと判断するとステップＳＴ４８に進み、そうでない場合にはステップＳＴ４９に進む。
【００４３】
ステップＳＴ４８：
処理可能ＭＢ探索回路１３０は、選択するマクロブロックＭＢのアドレスを「０」にリセットする。
ステップＳＴ４９：
処理可能ＭＢ探索回路１３０は、マルチプロセッサ１１０で連続して復号される３ピクチャデータについて復号処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ４１に戻る。
【００４４】
以下、図１に示す画像処理装置１の復号処理の動作例を説明する。
図１１は、図１に示す画像処理装置１の復号処理の動作例を説明するためのフローチャートである。
ステップＳＴ６１：
図１に示すプロセッサ１１１が、エントロピー符号／算術復号回路１２２を起動する。
これにより、エントロピー復号／算術復号回路１２２は、マルチプロセッサ１１０において復号処理を行う場合に、画像データ用バス１３５を介してビットストリームメモリ１４０から入力したピクチャデータをエントロピー復号あるいは算術復号し、制御用バス１１５を介してマルチプロセッサ１１０に出力する。
ステップＳＴ６２：
プロセッサ１１１が、図１に示す処理可能ＭＢ探索回路１３０を起動する。
これにより、処理可能ＭＢ探索回路１３０が、図１０に示す処理を行い、復号処理可能ＭＢリストＤＰＭＬを生成する。
【００４５】
ステップＳＴ６３：
プロセッサ（親プロセッサ）１１１が、プロセッサ（子プロセッサ）１１２を起動する。
これにより、プロセッサ１１２が後述する図１２に示す処理を行う。
ステップＳＴ６４：
プロセッサ１１１が、処理可能ＭＢ探索回路１３０に復号処理可能なマクロブロックＭＢを問い合わせる。
処理可能ＭＢ探索回路１３０は、プロセッサ１１１からの問い合わせに基づいて、図１０に示す手順で生成した復号処理可能マクロブロックリストＤＰＭＬを基に、プロセッサ１１１に割り当てられたマクロブロックＭＢのなかに、復号処理可能なマクロブロックＭＢがあるか否かを判断し、復号処理可能なマクロブロックＭＢがあると判断すると、そのマクロブロックＭＢをプロセッサ１１１に通知する。
プロセッサ１１１は、復号処理可能なマクロブロックＭＢがある旨の通知を受けると、ステップＳＴ６５に進み、そうでない場合にはステップＳＴ６６に進む。
【００４６】
ステップＳＴ６５：
プロセッサ１１１は、復号処理対象のマクロブロックＭＢの復号処理を行う。
具体的には、プロセッサ１１１は、エントロピー復号／算術復号回路１２２から入力した復号処理対象のマクロブロックＭＢについて、図９に示す機能ブロックに従って復号処理を行い、その結果を例えば図１に示すワークメモリ１５０やフレームメモリ１６０に書き込む。
ステップＳＴ６６：
プロセッサ１１１は、例えば、マルチプロセッサ１１０が実行するシステム管理スレッドなどの上位システムの判断結果を基に、復号処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ６４に戻る。
【００４７】
図１２は、図１１に示すステップＳＴ６３において、プロセッサ１１１によって起動されたプロセッサ１１２が実行する復号処理を説明するためのフローチャートである。
ステップＳＴ７１：
プロセッサ１１２が、処理可能ＭＢ探索回路１３０に復号処理可能なマクロブロックＭＢを問い合わせる。
処理可能ＭＢ探索回路１３０は、プロセッサ１１２からの問い合わせに基づいて、図１０に示す手順で生成した復号処理可能マクロブロックリストＤＰＭＬを基に、プロセッサ１１２に割り当てられたマクロブロックＭＢのなかに、復号処理可能なマクロブロックＭＢがあるか否かを判断し、復号処理可能なマクロブロックＭＢがあると判断すると、そのマクロブロックＭＢをプロセッサ１１２に通知する。
プロセッサ１１２は、復号処理可能なマクロブロックＭＢがある旨の通知を受けると、ステップＳＴ７２に進み、そうでない場合にはステップＳＴ７３に進む。
【００４８】
ステップＳＴ７２：
プロセッサ１１２は、復号処理対象のマクロブロックＭＢの符号化処理を行う。
具体的には、プロセッサ１１２は、エントロピー復号／算術復号回路１２２から入力した復号処理対象のマクロブロックＭＢについて、図９に示す機能ブロックに従って符号化処理を行い、その結果を例えば図９に示すワークメモリ１５０やフレームメモリ１６０に書き込む。
ステップＳＴ７３：
プロセッサ１１２は、復号処理を終了したと判断すると処理を終了し、そうでない場合にはステップＳＴ７１に戻る。
【００４９】
図１３は、図１に示す画像処理装置１が復号処理を行った場合のエントロピー復号／算術復号回路１２２およびプロセッサ１１１，１１２における処理の流れを説明するための図である。
図１３に示すように、期間Ｘ１１において、エントロピー復号／算術復号回路１２２が、Ｉ１ピクチャデータの上半分のエントロピーあるいは算術復号処理を行う。
次に、期間Ｘ１２において、プロセッサ１１１が、図９に示す機能ブロックに従って、エントロピー復号／算術復号回路１２２から入力したＩ１ピクチャデータの上半分の復号処理を行う。また、それと並行して、エントロピー復号／算術復号回路１２２によるＰ２ピクチャデータの復号処理が行われる。
次に、期間Ｘ１３において、プロセッサ１１１によるＩ１ピクチャデータの下半分の復号処理と、プロセッサ１１２によるＰ２ピクチャデータの上半分の復号処理とが並行して行われる。また、それと並行して、エントロピー復号／算術復号回路１２２によるＢ３ピクチャデータの復号処理が行われる。
次に、期間Ｘ１４において、プロセッサ１１１によるＢ３ピクチャデータの上半分の復号処理と、プロセッサ１１２によるＰ２ピクチャデータの下半分の復号処理とが並行して行われる。また、それと並行して、エントロピー復号／算術復号回路１２２によるＢ４ピクチャデータの復号処理が行われる。
なお、図１３に示すプロセッサ１１１，１１２の復号処理は、図９に示す機能ブロックに従って行われる。
すなわち、プロセッサ１１１，１１２は、その復号処理において、図１４に示すように、Ｉ，Ｐ，Ｂピクチャデータの復号処理を、処理可能ＭＢ探索回路１３０による復号処理可能なマクロブロックＭＢの判断結果を基に並列に実行する。
【００５０】
ところで、図１３に示す例では、プロセッサ１１１が、Ｉ１ピクチャデータの上半分と下半分、Ｂ３ピクチャデータの上半分と下半分、Ｐ５ピクチャデータの上半分と下半分の復号処理を実行し、プロセッサ１１２が、Ｐ２ピクチャデータの上半分と下半分、Ｂ４ピクチャデータの上半分と下半分、Ｂ６ピクチャデータの上半分と下半分の復号処理を実行する場合を例示したが、各ピクチャデータ内のマクロブロックＭＢの処理は、参照関係に基づいて並列処理が可能であれば、プロセッサ１１１，１１２の何れで実行されてもよい。
【００５１】
以上説明したように、画像処理装置１では、プロセッサ１１１と１１２とで、複数のピクチャデータの符号化処理を並行して行う。そのため、画像処理装置１によれば、符号化処理の処理時間を短縮できる。
また、画像処理装置１では、プロセッサ１１１と１１２とで、複数のピクチャデータの復号処理を並行して行う。そのため、画像処理装置１によれば、復号処理の処理時間を短縮できる。
【００５２】
ところで、上述したように、画像処理装置１において、Ｈ．２６４／ＡＶＣの符号化あるいは復号処理を行うことで、例えば、動作周波数２００ＭＨｚ程度の低速且つ安価なプロセッサ１１１，１１２を用いてＨＤ(High Definition)画像の符号化あるいは復号処理をソフトウェアで実行可能になる。
【００５３】
＜第２実施形態＞
図１５は、本実施形態の画像処理装置１０１の構成図である。
図１５に示すように、画像処理装置１０１は、図１に示す画像処理装置と、マルチプロセッサ１１０ａの構成、並びに処理可能ＭＢ探索回路１３０ａの処理内容を除いて同じである。
【００５４】
図１５に示すように、マルチプロセッサ１１０ａは、プロセッサ１１１１，１１１２，１１１３と、プロセッサ１１２１，１１２２，１１２３とを有する。
本実施形態において、プロセッサ１１１１，１１１２，１１１３は、第１実施形態で説明したプロセッサ１１１の処理を行う。
このとき、プロセッサ１１１１，１１１２，１１１３は、１ピクチャデータの符号化処理および復号処理を、図１６に示すように並列的に行う。
すなわち、画像処理装置１０１では、符号化処理および復号処理を、複数のピクチャデータ間で並列に行うことに加えて、１ピクチャデータ内でも並列処理する。
また、プロセッサ１１２１，１１２２，１１２３は、第１実施形態で説明したプロセッサ１１２の処理を行う。
このとき、プロセッサ１１２１，１１２２，１１２３は、１ピクチャデータの符号化処理および復号処理を、図１６に示すように並列的に行う。
【００５５】
ここで、図１６に示すように、例えば、プロセッサ１１１１がピクチャデータ内の垂直方向Ｖ１のライン上のマクロブロックＭＢについて図中左から右に向けて順に符号化処理を行う。
また、プロセッサ１１１１の処理と並行して、プロセッサ１１１２が、プロセッサ１１１１によって既に上側に隣接するマクロブロックＭＢが符号化済となった垂直方向Ｖ２のライン上のカレントマクロブロックＭＢの符号化処理を行う。
また、プロセッサ１１１１，１１１２の処理と並行して、プロセッサ１１１３が、プロセッサ１１１２によって既に上側に隣接するマクロブロックＭＢが符号化済となった垂直方向Ｖ３のライン上のカレントマクロブロックＭＢの符号化処理を行う。
【００５６】
プロセッサ１１１１，１１１２，１１１３は、復号処理についても、上述した符号化処理と同様に行う。
【００５７】
また、プロセッサ１１２１，１１２２，１１２３も、上述したプロセッサ１１１１，１１１２，１１１３と同様に符号化および復号処理を行う。
【００５８】
本実施形態によれば、ピクチャデータ内でのマクロブロックＭＢの処理が並列化されるため、第１実施形態に比べてさらに処理時間を短縮できる。
【００５９】
＜第３実施形態＞
図１７は、本実施形態の画像処理装置２０１の構成図である。
図１７に示すように、画像処理装置２０１は、図１に示す画像処理装置１から、エントロピー符号／算術符号化回路１２１を除いた構成を有している。
画像処理装置２０１は、符号化処理を行わず、復号処理のみを行う点を除いて、第１実施形態の画像処理装置１と同じである。
【００６０】
図１８は、図１７に示す画像処理装置２０１によって、３ピクチャ同時復号化処理を行った場合の処理の流れを示すタイミングチャート図である。
エントロピー復号／算術復号回路１２２で、ピクチャ単位の同期信号に同期して、1フレーム（1ピクチャ）ずつの復号を行う。最初のＩピクチャがエントロピー復号／算術復号回路１２２で復号化処理の完了後、マルチプロセッサ１１０が復号化を開始する。
図１８に示すように、マルチプロセッサ１１０は、最大３ピクチャの復号化処理を並列に行う。
マルチプロセッサ１１０内の各プロセッサは、常に復号化処理を行っているとは限らず、処理可能ＭＢ探索回路１３０が処理可能なマクロブロックＭＢを見つけることが出来ない期間は、待ちが発生する。
各プロセッサは、必ずしもどのピクチャを復号するかあらかじめ決まっている訳ではなく、処理可能ＭＢ探索回路１３０の通知に従って、処理できるマクロブロックＭＢをそれが属するピクチャデータを問わず、復号するようになっている。
図１４は、３ピクチャ同時復号化処理の空間的なイメージを示した図である。処理タイミングに関しては、必ずしもピクチャ単位の同期信号に同期する必要はない。また、図１４のようにピクチャ間の並列化（複数ピクチャ同時復号）だけでなく、ピクチャ内での並列処理（同一ピクチャ内の複数MB同時復号）も行う。
【００６１】
＜第４実施形態＞
図１９は、本実施形態の画像処理装置３０１の構成図である。
図１９に示すように、画像処理装置３０１は、例えば、マルチプロセッサ１１０、ビットストリームメモリ１４０、ワークメモリ１５０およびフレームメモリ１６０を有し、これらが画像データ用バス１３５を介して接続されている。
【００６２】
画像処理装置３０１において、マルチプロセッサ１１０は、例えば、３つのプロセッサ１１１，１１２，１１３を有し、これらに図２０に示すように複数の異なるピクチャデータ（ピクチャデータ）を並列的に符号化あるいは復号処理させる。
なお、マルチプロセッサ１１０が備えるプロセッサは、４以上であってもよい。
【００６３】
＜第５実施形態＞
図２１は、本実施形態の画像処理装置４０１の構成図である。
図２１に示すように、画像処理装置４０１は、例えば、マルチプロセッサ１１０、エントロピー復号／算術復号回路１２２１，１２２２，１２２３、処理可能ＭＢ探索回路１３０、ビットストリームメモリ１４０、ワークメモリ１５０およびフレームメモリ１６０を有する。
図２１において、第１実施形態と同じ符号を付した構成は、第１実施形態で説明したものと同じである。
【００６４】
エントロピー復号／算術復号回路１２２１，１２２２，１２２３は、例えば、図２２に示すように、ビットストリームメモリ１４０から読み出したピクチャデータ（ピクチャデータ）のエントロピー復号あるいは算術復号を並列処理によって実現する。
当該並列処理は、例えば、処理可能ＭＢ探索回路１３０によって並列処理できるデータを特定し、これをエントロピー復号／算術復号回路１２２１，１２２２，１２２３に通知して行ってもよい。
なお、マルチプロセッサ１１０は、第１実施形態と同様に、図２２に示すように各ピクチャデータを並列的に復号処理する。
【００６５】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、各構成要素を回路によって実現した場合を例示したが、上述した構成要素の全部あるいは一部を、例えば、ＣＰＵ(Central Processing Unit)などの処理回路がプログラムを実行して実現してもよい。
また、上述した実施形態では、複数のプロセッサで処理を並列化する場合を例示したが、本発明における並列処理は、１つのプロセッサでタイムシェアリングなどにより、スレッドを並行処理する場合も含む。
【図面の簡単な説明】
【００６６】
【図１】図１は、本発明は、本発明の第１実施形態の画像処理装置の構成図である。
【図２】図２は、図１に示すマルチプロセッサが実行する符号化処理の機能ブロック図である。
【図３】図３は、図１に示す処理可能ＭＢ探索回路の符号化時の処理を説明するためのフローチャートである。
【図４】図４は、同じピクチャデータ内でのマクロブロックの参照関係を説明するための図である。
【図５】図５は、図１に示すマルチプロセッサによる符号化処理を説明するための図である。
【図６】図６は、図１に示すマルチプロセッサ（プロセッサ１１１）による符号化処理を説明するためのフローチャートである。
【図７】図７は、図１に示すプロセッサ１１２による符号化処理を説明するための図である。
【図８】図８は、図１に示すマルチプロセッサによる符号化処理を説明するためのフローチャートである。
【図９】図９は、図１に示すマルチプロセッサが実行する復号処理の機能ブロック図である。
【図１０】図１０は、図１に示す処理可能ＭＢ探索回路の復号時の処理を説明するためのフローチャートである。
【図１１】図１１は、図１に示すマルチプロセッサによる復号処理を説明するための図である。
【図１２】図１２は、図１に示すマルチプロセッサ（プロセッサ１１１）による復号処理を説明するためのフローチャートである。
【図１３】図１３は、図１に示すマルチプロセッサによる復号処理を説明するための図である。
【図１４】図１４は、図１に示すマルチプロセッサによる復号処理を説明するための図である。
【図１５】図１５は、本発明の第２実施形態の画像処理装置の構成図である。
【図１６】図１６は、図１５に示す画像処理装置の動作を説明するための図である。
【図１７】図１７は、本発明の第３実施形態の画像処理装置の構成図である。
【図１８】図１８は、図１７に示す画像処理装置の動作を説明するための図である。
【図１９】図１９は、本発明の第４実施形態の画像処理装置の構成図である。
【図２０】図２０は、図１９に示す画像処理装置の動作を説明するための図である。
【図２１】図２１は、本発明の第５実施形態の画像処理装置の構成図である。
【図２２】図２２は、図２１に示す画像処理装置の動作を説明するための図である。
【符号の説明】
【００６７】
２４…演算部、２５…直交変換部、２６…量子化部、２７…可逆符号化部、２８…バッファ、２９…逆量子化部、３０…逆直交変換部、３３…加算部、４１…イントラ予測部、４２…動き予測・補償部、８３…逆量子化部、８４…逆直交変換部、８５…加算部、１１０…マルチプロセッサ、１１１，１１２，１１３，１１１１，１１１２，１１１３，１１２１，１１２２，１１２３…プロセッサ、１２１…エントロピー符号／算術符号化回路、１２２…エントロピー復号／算術復号回路、１３０…処理可能ＭＢ探索回路、１４０…ビットストリームメモリ、１５０…ワークメモリ、１６０…フレームメモリ
【図１】
2006345157.tif 000003
【図２】
2006345157.tif 000004
【図３】
2006345157.tif 000005
【図４】
2006345157.tif 000006
【図５】
2006345157.tif 000007
【図６】
2006345157.tif 000008
【図７】
2006345157.tif 000009
【図８】
2006345157.tif 000010
【図９】
2006345157.tif 000011
【図１０】
2006345157.tif 000012
【図１１】
2006345157.tif 000013
【図１２】
2006345157.tif 000014
【図１３】
2006345157.tif 000015
【図１４】
2006345157.tif 000016
【図１５】
2006345157.tif 000017
【図１６】
2006345157.tif 000018
【図１７】
2006345157.tif 000019
【図１８】
2006345157.tif 000020
【図１９】
2006345157.tif 000021
【図２０】
2006345157.tif 000022
【図２１】
2006345157.tif 000023
【図２２】
2006345157.tif 000024