(57)【要約】【課題】画像の符号化処理を高速に行うことができるようにする。【解決手段】画像データの符号化処理を行う複数の符号化部３１，３２と、符号化部３１，３２で符号化処理に用いる参照画像データを記憶する共有メモリ４１を設ける。制御部６１は、２つの符号化部を交互に確保して、確保した符号化部でフレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせる。さらに、フレーム内予測符号化画像または順方向予測符号化画像の符号化処理に用いられていない符号化部、および確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理が共有メモリに記憶されている参照画像データを用いて行わせる。【選択図】        図１
2012009934.tif 000002
【特許請求の範囲】
【請求項１】
画像データの符号化処理を行う複数の符号化部と、
前記複数の符号化部のそれぞれで行われる符号化処理で用いる参照画像データが記憶される共有メモリと、
前記複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせて、前記フレーム内予測符号化画像または前記順方向予測符号化画像の符号化処理に用いられていない符号化部、および前記確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理を前記共有メモリに記憶されている参照画像データを用いて行わせる制御部と
を有する画像処理装置。
【請求項２】
前記制御部は、２つの符号化部から符号化部を交互に確保して、前記フレーム内予測符号化画像と前記順方向予測符号化画像の符号化処理を優先して行わせる請求項１記載の画像処理装置。
【請求項３】
前記制御部は、前記フレーム内予測符号化画像または前記順方向予測符号化画像の符号化処理の終了から、該符号化処理を行った符号化部で次のフレーム内予測符号化画像または順方向予測符号化画像の符号化処理が行われるまでの期間に、フレーム内予測符号化画像と順方向予測符号化画像間または順方向予測符号化画像と順方向予測符号化画像間の双方向予測符号化画像について符号化処理を完了させる請求項２記載の画像処理装置。
【請求項４】
前記フレーム内予測符号化画像と前記順方向予測符号化画像の符号化処理を優先して行う符号化部と別個に符号化部を設け、
前記制御部は、前記別個の符号化部も用いて、前記双方向予測符号化画像の符号化処理を行わせる請求項３記載の画像処理装置。
【請求項５】
前記符号化部は、前記フレーム内予測符号化画像と順方向予測符号化画像間または順方向予測符号化画像と順方向予測符号化画像間の前記双方向予測符号化画像の数よりも１つ多く設けた請求項４記載の画像処理装置。
【請求項６】
前記共有メモリには、前記符号化処理を行う画像データと符号化処理を行うことによって得られた符号化データを記憶させる請求項１記載の画像処理装置。
【請求項７】
複数の符号化部で画像データの符号化処理を行う符号化処理工程と、
共有メモリに前記複数の符号化部のそれぞれで行われる符号化処理で用いる参照画像データを記憶させる記憶処理工程と、
前記複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせて、前記フレーム内予測符号化画像または前記順方向予測符号化画像の符号化処理に用いられていない符号化部、および前記確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理を前記共有メモリに記憶されている参照画像データを用いて行わせる制御工程と
を設けた画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置と画像処理方法に関する。詳しくは、画像の符号化処理を高速に行うことができるようにする。
【背景技術】
【０００２】
ディジタル映像技術の発展と共に、データ量の増大に対応して映像データを圧縮符号化する技術が発展しつつある。また、データ処理能力の向上に伴い、圧縮符号化における複雑な演算も可能となり、映像データの圧縮率は大幅に高まりつつある。具体的には、衛星および地上波ディジタルハイビジョン放送で採用されている圧縮符号化技術として、ＭＰＥＧ２（Moving Picture Experts Group 2）と呼ばれる圧縮符号化方式が用いられている。また、ＭＰＥＧ２に続いて規格化された圧縮符号化方式の１つであるＭＰＥＧ４ ＡＶＣ／Ｈ．２６４（以下「Ｈ．２６４／ＡＶＣ」という）は、ＭＰＥＧ２よりもさらに圧縮率が向上されている。
【０００３】
このような圧縮符号化を高速に行うため、複数の符号化部を用いて並列に符号化処理を行うことが提案されている。例えば、特許文献１の発明では、画面分割を行い、分割後の領域毎に並列して符号化が行われている。また、特許文献２の発明では、クローズドＧＯＰ(Closed Group Of Pictures)構造を用いて、ＧＯＰ単位で並列に符号化処理が行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１９９３９２号公報
【特許文献２】特開２００８−６６８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、画面を分割して、分割後の領域毎に並列して符号化を行う場合、分割した領域の境界部分が画像に現れてしまうおそれがある。例えば、Ｈ．２６４／ＡＶにおいてイントラ予測が行われる場合、境界に位置するマクロブロックで参照画素の画素データを取得できない場合があり、境界部分の目立った画像となってしまうおそれがある。また、境界面ではデブロックフィルタをかけることができないため、インター予測に用いる参照画像（ローカルデコード画）は、ブロック歪みが残っている画像となってしまう。
【０００６】
また、クローズドＧＯＰ構造を用いると、オープンＧＯＰ構造に比べて圧縮率が悪くなる。また、ＧＯＰ単位で並列に符号化処理が行われるため、ＧＯＰ単位で符号化ビットストリームを格納する大きなバッファが必要となり、符号化処理における遅延が１ＧＯＰに相当する時間以上となってしまう。
【０００７】
そこで、この発明では、画像の符号化処理を高速に行うことができる画像処理装置と画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の第１の側面は、画像データの符号化処理を行う複数の符号化部と、前記複数の符号化部のそれぞれで行われる符号化処理で用いる参照画像データが記憶される共有メモリと、前記複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせて、前記フレーム内予測符号化画像または前記順方向予測符号化画像の符号化処理に用いられていない符号化部、および前記確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理を前記共有メモリに記憶されている参照画像データを用いて行わせる制御部とを有する画像処理装置にある。
【０００９】
この発明においては、画像データの符号化処理を行う符号化部が複数設けられる。また、複数の符号化部のそれぞれで行われる符号化処理で用いられる参照画像データを記憶する共有メモリが設けられる。制御部は、例えば２つの符号化部から符号化部を交互に確保して、フレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせる。さらに、フレーム内予測符号化画像または順方向予測符号化画像の符号化処理の終了から、この符号化処理を行った符号化部で次のフレーム内予測符号化画像または順方向予測符号化画像の符号化処理が行われるまでの期間に、フレーム内予測符号化画像と順方向予測符号化画像間または順方向予測符号化画像間の双方向予測符号化画像について符号化処理が完了するように、双方向予測符号化画像の数または符号化部の数等が設定されて、フレーム内予測符号化画像または順方向予測符号化画像の符号化処理に用いられていない符号化部、および確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理が、共有メモリに記憶されている参照画像データを用いて行われる。
【００１０】
この発明の第２の側面は、複数の符号化部で画像データの符号化処理を行う符号化処理工程と、共有メモリに前記複数の符号化部のそれぞれで行われる符号化処理で用いる参照画像データを記憶させる記憶処理工程と、前記複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理を優先して行わせて、前記フレーム内予測符号化画像または前記順方向予測符号化画像の符号化処理に用いられていない符号化部、および前記確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理を前記共有メモリに記憶されている参照画像データを用いて行わせる制御工程とを設けた画像処理方法にある。
【発明の効果】
【００１１】
この発明によれば、共有メモリが設けられて、画像データの符号化処理を行う符号化部では、共有メモリに記憶されている参照画像データを用いて符号化処理が行われる。また、複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理が優先して行われる。さらに、フレーム内予測符号化画像または順方向予測符号化画像の符号化処理に用いられていない符号化部、および確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理が共有メモリに記憶されている参照画像データを用いて行われる。したがって、画像の符号化処理を高速に行うことができる。また、符号化処理を画面単位で順次行うことから、画面分割後の領域毎に並列して符号化を行う場合のように、境界部分が画像に現れてしまうことがなく、ＧＯＰ単位で並列に符号化処理を行う場合のように、大きなバッファを必要とすることもない。また、ＧＯＰ単位で並列に符号化処理を行う場合に比べてレイテンシを短くできる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の構成を示す図である。
【図２】第１の実施の形態の動作を示すフローチャートである。
【図３】制御信号とデータの流れを示す図である。
【図４】第１の実施の形態の具体的動作を例示した図である。
【図５】第２の実施の形態の構成を示す図である。
【図６】制御信号とデータの流れを示す図である。
【図７】第２の実施の形態の具体的動作を例示した図である。
【図８】第２の実施の形態の他の具体的動作を例示した図である。
【図９】コンピュータの構成を例示した図である。
【発明を実施するための形態】
【００１３】
以下、発明を実施するための形態について説明する。この発明では、共有メモリに参照画像データを記憶させて、符号化部は共有メモリに記憶されている参照画像データを用いて符号化処理を行う。また、複数の符号化部から符号化部を確保して、フレーム内予測符号化画像（以下「Ｉピクチャ」という）と順方向予測符号化画像（以下「Ｐピクチャ」という）の符号化処理を優先させて行う。さらに、ＩピクチャまたはＰピクチャの符号化処理に用いられていない符号化部、および確保した符号化部でＩピクチャまたはＰピクチャの符号化処理が行われていない期間を用いて、双方向予測符号化画像（以下「Ｂピクチャ」という）の符号化処理を共有メモリに記憶されている参照画像データを用いて行う。このように符号化処理を並列して行い、入力された画像データを順次処理できるようにする。なお、説明は以下の順序で行う。
１．第１の実施の形態（２つの符号化部を用いた場合）
２．第２の実施の形態（３つの符号化部を用いた場合）
３．ソフトウェアで符号化処理を行う場合
【００１４】
＜１．第１の実施の形態＞
［第１の実施の形態の構成］
図１は第１の実施の形態の構成を示す図である。画像処理装置１０は、ＤＭＡ２１，５１、第１符号化部３１、第２符号化部３２、共有メモリ４１、制御部６１を有している。また、ＤＭＡ２１，５１と第１符号化部３１と第２符号化部３２および共有メモリ４１は、バス７１を介して制御部６１と接続されている。
【００１５】
ＤＭＡ２１は、制御部６１からの制御信号に基づき、符号化する入力画像データを共有メモリ４１に書き込む。
【００１６】
第１符号化部３１は、制御部６１からの制御信号に基づき、入力画像データの読み込みと、制御信号で示されたピクチャタイプに応じた符号化処理を行う。第１符号化部３１は、符号化処理を行うことにより得られた符号化データを共有メモリ４１に記憶させる。また、第１符号化部３１は、その後に行われる符号化処理で用いる参照画像データを共有メモリ４１に記憶させる。また、第１符号化部３１は、制御信号で示されたピクチャタイプが参照画像データを用いて符号化処理を行うタイプであるとき、共有メモリ４１に記憶されている参照画像データを用いて符号化処理を行う。
【００１７】
第２符号化部３２は、制御部６１からの制御信号に基づき、入力画像データの読み込みと、制御信号で示されたピクチャタイプに応じた符号化処理を行う。第２符号化部３２は、符号化処理を行うことにより得られた符号化データを共有メモリ４１に記憶させる。また、第２符号化部３２は、その後に行われる符号化処理で用いる参照画像データを共有メモリ４１に記憶させる。また、第２符号化部３２は、制御信号で示されたピクチャタイプが参照画像データを用いて符号化処理を行うタイプであるとき、共有メモリ４１に記憶されている参照画像データを用いて符号化処理を行う。
【００１８】
ＤＭＡ５１は、制御部６１からの制御信号に基づき、共有メモリに記憶されている符号化データを読み出して画像処理装置１０から出力する。
【００１９】
制御部６１は、制御信号をＤＭＡ２１，５１と第１符号化部３１と第２符号化部３２に供給して各部の動作を制御する。また、制御部６１は、第１符号化部３１と第２符号化部３２で共有メモリ４１を利用して符号化処理を並列して行わせることで、入力画像データの符号化処理を高速に行えるようにする。
【００２０】
［第１の実施の形態の動作］
図２は、第１の実施の形態の動作を示すフローチャートである。
【００２１】
ステップＳＴ１で制御部６１は、画像データ取り込み指示を行う。制御部６１は、画像データ取り込み指示を示す制御信号をＤＭＡ２１に供給する。ＤＭＡ２１は、制御信号に応じた動作を行い、入力画像データを共有メモリ４１に記憶させる。
【００２２】
ステップＳＴ２で制御部６１は、ＩピクチャまたはＰピクチャの符号化処理を行う符号化部を確保する。制御部６１は、複数の符号化部からＩピクチャまたはＰピクチャの符号化処理を行う符号化部を確保してステップＳＴ３に進む。
【００２３】
ステップＳＴ３で制御部６１は、ＩピクチャまたはＰピクチャの符号化処理を開始可能できるか否か判別する。制御部６１は、ＩピクチャまたはＰピクチャとして符号化処理する画像が共有メモリ４１に記憶されたとき、符号化処理を開始できると判別する。また、制御部６１は、ＩピクチャまたはＰピクチャとして符号化処理する画像が共有メモリ４１に記憶されていないとき、符号化処理を開始できないと判別してステップＳＴ４に進む。さらに、制御部６１は、Ｐピクチャの符号化処理で用いる参照画像データが共有メモリ４１に記憶されていないとき、符号化処理を開始できないと判別してステップＳＴ４に進む。
【００２４】
ステップＳＴ４で制御部６１は、Ｂピクチャの符号化処理を開始可能であるか判別する。制御部６１は、次の条件を満たすときＢピクチャの符号化処理を開始可能と判別する。また、条件を満たさないとき符号化処理を開始できないと判別してステップＳＴ５に進む。
・Ｂピクチャの符号化処理に用いる参照画像データが共有メモリ４１に記憶されている。
・符号化処理中でない符号化部が存在する。
・符号化処理中でない符号化部は、ＩピクチャまたはＰピクチャの符号化処理を優先して行うために確保された符号化部ではない。または、確保された符号化部であっても、次のＩピクチャまたはＰピクチャの符号化処理を開始する前に、Ｂピクチャの符号化処理を終了できる。
【００２５】
ステップＳＴ５で、制御部６１は符号化処理が開始可能であるか否か判別する。制御部６１は、ステップＳＴ３またはステップＳＴ４で、符号化処理が開始可能であると判別されたときステップＳＴ６に進む。また、制御部６１は、符号化処理が開始可能でないときステップＳＴ３に戻る。
【００２６】
ステップＳＴ６で制御部６１は符号化処理を行うピクチャと符号化部を決定する。制御部６１は、ＩピクチャまたはＰピクチャの符号化処理が開始可能であるとき、確保されている符号化部でＩピクチャまたはＰピクチャの符号化処理を行うように決定する。また、制御部６１は、Ｂピクチャの符号化処理が開始可能であるとき、Ｂピクチャの符号化処理を行う符号化部を決定してステップＳＴ７に進む。
【００２７】
ステップＳＴ７で制御部６１は、ステップＳＴ６で決定された符号化部でピクチャの符号化処理を行わせてステップＳＴ８に進む。
【００２８】
ステップＳＴ８で制御部６１は、新たな符号化部の確保が必要か否か判別する。制御部６１は、ＩピクチャまたはＰピクチャの符号化処理を行ったとき、新たな符号化部の確保が必要と判別してステップＳＴ９に進む。また、制御部６１は、ＩピクチャまたはＰピクチャの符号化処理が行われていないときステップＳＴ１０に進む。
【００２９】
ステップＳＴ９で制御部は、符号化部の確保を行う。制御部６１は、例えば２つの符号化部が交互に用いられるように符号化部を確保する。すなわち、制御部６１は、最初に第１符号化部３１を確保してＩピクチャまたはＰピクチャの符号化処理を行ったとき、次にＩピクチャまたはＰピクチャの符号化処理を行うために第２符号化部３２を確保する。また、第２符号化部３２を確保してＩピクチャまたはＰピクチャの符号化処理を行ったとき、次にＩピクチャまたはＰピクチャの符号化処理を行うために第１符号化部３１を確保する。このように、制御部６１は、２つの符号化部を交互に確保してステップＳＴ１０に進む。
【００３０】
ステップＳＴ１０で制御部６１は、符号化データの出力が行われているか判別する。制御部６１は、符号化データの出力を行っていないときステップＳＴ１１に進み、符号化データの出力を行っているときステップＳＴ１２に進む。
【００３１】
ステップＳＴ１１で制御部６１は、符号化データ出力指示を行う。制御部６１は、符号化データ出力指示を示す制御信号をＤＭＡ５１に供給する。ＤＭＡ５１は、制御信号に応じた動作を行い、共有メモリ４１に記憶されている符号化データを出力させてステップＳＴ１２に進む。
【００３２】
ステップＳＴ１２で制御部６１は、符号化処理の終了であるか否か判別する。制御部６１は、例えば符号化処理を終了するユーザ操作が行われていないときや、入力画像データが終了していないときステップＳＴ３に戻る。また、制御部６１は、例えば符号化処理を終了するユーザ操作が行われたときや、入力画像データが終了したとき符号化処理を終了する。
【００３３】
図３は、画像処理装置１０における制御信号とデータの流れを示している。制御部６１は、画像データ取り込み指示を示す制御信号（ＳＣ１）をＤＭＡ２１に出力する。ＤＭＡ２１は、制御信号（ＳＣ１）に応じた動作を行い、入力画像データ（ＳＤ１）を共有メモリ４１に記憶させる。
【００３４】
制御部６１は、ＩピクチャとＰピクチャの符号化処理を、第１符号化部３１と第２符号化部３２を交互に用いて優先して行う。また、Ｂピクチャの符号化処理は、第１符号化部３１と第２符号化部３２において、ＩピクチャやＰピクチャの符号化処理のために確保されていない符号化部と、確保されている符号化部で符号化処理が行われていない期間を用いて行う。
【００３５】
制御部６１は、最初に第１符号化部３１を確保して、例えばＩピクチャの符号化処理が開始可能となったとき、第１符号化部３１に対して、共有メモリ４１に記憶されている入力画像データを用いてＩピクチャの符号化処理を行わせる制御信号（ＳＣ２）を出力する。
【００３６】
第１符号化部３１は、共有メモリ４１に記憶されている入力画像データを用いてＩピクチャの符号化処理を行い、符号化データ（ＳＤ２）と参照画像データ（ＳＤ３）を共有メモリ４１に記憶させる。さらに、第１符号化部３１は、符号化処理が終了したことを示す完了通知信号（ＳＡ２）を制御部６１に出力する。
【００３７】
制御部６１は、Ｉピクチャの符号化処理後に第２符号化部３２を確保する。制御部６１は、Ｐピクチャの符号化処理が開始可能となったとき、第２符号化部３２に対して、共有メモリ４１に記憶されている入力画像データと参照画像データを用いてＰピクチャの符号化処理を行わせる制御信号（ＳＣ３）を出力する。
【００３８】
第２符号化部３２は、共有メモリ４１に記憶されている入力画像データ（ＳＤ１）と、共有メモリ４１に記憶されている参照画像データを用いてＰピクチャの符号化処理を行う。第２符号化部３２は、符号化処理によって生成された符号化データ（ＳＤ４）と、その後に行われる符号化処理で用いられる参照画像データ（ＳＤ５）を共有メモリ４１に記憶させる。さらに、第２符号化部３２は、符号化処理が終了したことを示す完了通知信号（ＳＡ３）を制御部６１に出力する。
【００３９】
その後、制御部６１は、第１符号化部３１と第２符号化部３２を交互に確保して、ＩピクチャやＰピクチャの符号化処理が開始可能となったとき符号化処理を優先して行わせる。
【００４０】
また、制御部６１は、次のＩピクチャまたはＰピクチャの符号化処理に用いる符号化部とは異なる符号化部で、入力画像データと参照画像データを用いてＢピクチャの符号化処理を行わせる。また、制御部６１は、次のＩピクチャまたはＰピクチャの符号化処理に用いる符号化部であっても、次のＩピクチャまたはＰピクチャの符号化処理が開始される前に符号化処理を完了できるとき、この確保されている符号化部でＢピクチャの符号化処理を行わせる。符号化部は、符号化処理で生成された符号化データを共有メモリ４１に記憶させる。
【００４１】
また、制御部６１は、符号化データの出力指示を示す制御信号（ＳＣ４）をＤＭＡ５１に出力する。ＤＭＡ５１は、制御信号（ＳＣ４）に応じた動作を行い、共有メモリ４１から符号化データを読み出して、符号化ビットストリーム（ＳＤ７）の出力を行う。
【００４２】
図４は、第１の実施の形態の具体的動作を例示している。なお、図４では、画像処理装置１０で、１ピクチャの符号化処理に２フレーム期間を要する場合を示している。また、エンコード条件は、プログレッシブ方式で、Ｍ（Ｉ，Ｐピクチャ周期）＝３，Ｎ（１ＧＯＰにおけるピクチャ数）＝１４の場合である。
【００４３】
図４の（Ａ）は、フレーム番号を示している。図４の（Ｂ）は、入力画像データを示している。図４の（Ｃ）は、第１符号化部３１の符号化処理を示している。図４の（Ｄ）は、第２符号化部３２の符号化処理を示している。図４の（Ｅ），（Ｆ），（Ｇ）は、参照画像データを示している。図４の（Ｈ），（Ｉ）は、符号化データを示している。図４の（Ｊ）は、出力する符号化データを示している。
【００４４】
フレーム０でＤＭＡ２１は、Ｂピクチャの画像データＢ0を共有メモリ４１に記憶する。フレーム１でＤＭＡ２１は、Ｂピクチャの画像データＢ1を共有メモリ４１に記憶する。フレーム２でＤＭＡ２１は、Ｉピクチャの画像データＩ2を共有メモリ４１に記憶する。なお、制御部６１は、フレーム０〜２までの期間において、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００４５】
フレーム３でＤＭＡ２１は、Ｂピクチャの画像データＢ3を共有メモリ４１に記憶する。また、制御部６１は、フレーム２でＩピクチャの画像データＩ2が共有メモリ４１に記憶されたことから、Ｉピクチャの符号化処理を優先して行わせる。制御部６１は、例えば第１符号化部３１を確保しておき、第１符号化部３１で画像データＩ2の符号化処理を行わせる。このため、第１符号化部３１は、フレーム３，４の２フレーム期間を使用して画像データＩ2の符号化処理を行い、符号化データＩ2Eと参照画像データＩ2Lを共有メモリ４１に記憶する。また、制御部６１は、画像データＩ2の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第２符号化部３２を確保する。
【００４６】
フレーム４でＤＭＡ２１は、Ｂピクチャの画像データＢ4を共有メモリ４１に記憶する。制御部６１は、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００４７】
フレーム５でＤＭＡ２１は、Ｐピクチャの画像データＰ5を共有メモリ４１に記憶する。また、フレーム５では、参照画像データＩ2Lが共有メモリ４１に記憶されており、この参照画像データＩ2Lを用いて、Ｂピクチャの画像データＢ0，Ｂ1の符号化処理が可能となる。また、フレーム５では、Ｉピクチャの符号化処理が終了していることから、第１符号化部３１と第２符号化部３２で符号化処理を行うことが可能である。さらに、Ｐピクチャの画像データＰ5が共有メモリ４１に記憶されると、制御部６１は、確保されている第２符号化部３２でＰピクチャの画像データＰ5の符号化処理を次のフレームで優先して行わせる。ここで、Ｂピクチャの画像データＢ0の符号化処理に第２符号化部３２を選択すると、画像データＢ0の符号化処理はフレーム６までの期間を要することから、Ｐピクチャの画像データＰ5の符号化処理を優先して行うことができない。したがって、制御部６１は、第１符号化部３１を選択して、画像データＢ0の符号化処理を行わせる。すなわち、第１符号化部３１は、フレーム５，６の２フレーム期間を使用して画像データＢ0の符号化処理を行い、画像データＢ0の符号化処理で生成された符号化データＢ0Eを共有メモリ４１に記憶させる。
【００４８】
フレーム６でＤＭＡ２１は、Ｂピクチャの画像データＢ6を共有メモリ４１に記憶させる。制御部６１は、フレーム５でＰピクチャの画像データＰ5が共有メモリ４１に記憶されたことから、Ｐピクチャの符号化処理を優先して行わせる。制御部６１は、確保されている第２符号化部３２で画像データＰ5の符号化処理を行わせる。このため、第２符号化部３２は、フレーム６，７の２フレーム期間を使用して画像データＰ5の符号化処理を行い、符号化処理で生成された参照画像データＰ5Lと符号化データＰ5Eを共有メモリ４１に記憶する。また、制御部６１は、画像データＰ5の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第１符号化部３１を確保する。
【００４９】
フレーム７でＤＭＡ２１は、Ｂピクチャの画像データＢ7を共有メモリ４１に記憶する。また、フレーム７では、参照画像データＩ2Lが共有メモリ４１に記憶されており、この参照画像データＩ2Lを用いて、Ｂピクチャの画像データＢ1の符号化処理が可能となる。また、フレーム５では、画像データＢ0の符号化処理が終了していることから、第１符号化部３１で符号化処理を行うことが可能である。ここで、第１符号化部３１を用いてＰピクチャの画像データの符号化処理を優先して行われるのはフレーム９であり、第１符号化部３１は、Ｂピクチャの画像データＢ1の符号化処理をフレーム７，８で行うことができる。したがって、制御部６１は、第１符号化部３１を選択してＢピクチャの画像データＢ1の符号化処理を行わせる。すなわち、第１符号化部３１は、フレーム７，８の２フレーム期間を使用して画像データＢ1の符号化処理を行い、画像データＢ1の符号化処理で生成された符号化データＢ1Eを共有メモリ４１に記憶させる。
【００５０】
フレーム８でＤＭＡ２１は、Ｐピクチャの画像データＰ8を共有メモリ４１に記憶する。また、フレーム８では、参照画像データＩ2L，Ｐ5Lが共有メモリ４１に記憶されており、この参照画像データＩ2L，Ｐ5Lを用いて、Ｂピクチャの画像データＢ3，Ｂ4の符号化処理が可能となる。また、フレーム８では、画像データＰ5の符号化処理が終了していることから、第２符号化部３２で符号化処理を行うことが可能である。ここで、第２符号化部３２を用いてＰピクチャの画像データの符号化処理が優先して行われるのはフレーム１２であり、第２符号化部３２は、Ｂピクチャの画像データＢ3の符号化処理をフレーム８，９で行うことができる。したがって、制御部６１は、第２符号化部３２を選択してＢピクチャの画像データＢ3の符号化処理を行わせる。すなわち、第２符号化部３２は、フレーム８，９の２フレーム期間を使用して画像データＢ3の符号化処理を行い、画像データＢ3の符号化処理で生成された符号化データＢ3Eを共有メモリ４１に記憶させる。
【００５１】
フレーム９でＤＭＡ２１は、Ｂピクチャの画像データＢ9を共有メモリ４１に記憶させる。制御部６１は、フレーム８でＰピクチャの画像データＰ8が共有メモリ４１に記憶されたことから、Ｐピクチャの符号化処理を優先して行わせる。制御部６１は、確保されている第１符号化部３１で画像データＰ8の符号化処理を行わせる。このため、第１符号化部３１は、フレーム９，１０の２フレーム期間を使用して画像データＰ8の符号化処理を行い、符号化データＰ8Eと参照画像データＰ8Lを共有メモリ４１に記憶する。なお、フレーム９では、第１符号化部３１と第２符号化部３２で符号化処理が行われているので、制御部６１は、新たなピクチャの符号化処理を開始しない。また、制御部６１は、画像データＰ8の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第２符号化部３２を確保する。
【００５２】
フレーム１０でＤＭＡ２１は、Ｂピクチャの画像データＢ10を共有メモリ４１に記憶する。また、フレーム１０では、参照画像データＩ2L，Ｐ5Lが共有メモリ４１に記憶されており、この参照画像データＩ2L，Ｐ5Lを用いて、Ｂピクチャの画像データＢ4の符号化処理が可能である。また、画像データＢ3の符号化処理がフレーム９で終了していることから、第２符号化部３２で符号化処理を行うことが可能である。ここで、第２符号化部３２を用いてＰピクチャの画像データの符号化処理が優先して行われるのはフレーム１２であり、第２符号化部３２は、Ｂピクチャの画像データＢ4の符号化処理をフレーム１０，１１で行うことができる。したがって、制御部６１は、第２符号化部３２を選択してＢピクチャの画像データＢ4の符号化処理を行わせる。すなわち、第２符号化部３２は、フレーム１０，１１の２フレーム期間を使用して画像データＢ4の符号化処理を行い、画像データＢ4の符号化処理で生成された符号化データＢ4Eを共有メモリ４１に記憶させる。
【００５３】
以下同様に、ＩピクチャまたはＰピクチャの符号化処理で用いる符号化部を第１符号化部３１と第２符号化部３２で交互に切り替えて、優先してＩピクチャまたはＰピクチャの符号化処理を行う。また、ＩピクチャまたはＰピクチャの符号化処理において生成された参照画像データを共有メモリ４１に記憶させる。さらに、ＩピクチャまたはＰピクチャの符号化処理が行われていない符号化部と、確保されている符号化部で符号化処理が行われていない期間で、共有メモリ４１に記憶されている参照画像データを用いてＢピクチャの符号化を行う。
【００５４】
このように符号化処理を行うと、共有メモリ４１には、図４の（Ｈ），（Ｊ）に示すように、符号化データが記憶される。したがって、制御部６１は、ＤＭＡ５１を制御して例えばフレーム８から符号化データＩ2E，Ｂ0E，Ｂ1E，Ｐ5E・・・の順に符号化データの読み出しを行わせる。このように符号化データを読み出すことで、入力画像データが符号化処理された符号化ビットストリームを画像処理装置１０から出力させることができる。
【００５５】
このようにすれば、第１符号化部３１と第２符号化部３２は、共有メモリに記憶されている参照画像データを用いて並列に符号化処理を行うことができるので、符号化処理を高速に行えるようになる。また、第１の実施の形態のように、Ｉ，Ｐピクチャ周期ＭがＭ＝３であり、１つの符号化処理に要する期間が２フレームである場合、図４に示すように、第１符号化部３１と第２符号化部３２を交互に用いて、ＩピクチャとＰピクチャの符号化処理を優先させて行う。さらに、確保されている符号化部で符号化処理が行われていない期間および確保されていない符号化部を利用して、２枚のＢピクチャの符号化処理を行うようにすれば、入力された画像データを順次符号化処理することができる。さらに、符号化処理を画面単位で順次行うことから、画面分割後の領域毎に並列して符号化を行う場合のように、境界部分が画像に現れてしまうことがなく、ＧＯＰ単位で並列に符号化処理を行う場合のように、大きなバッファを必要とすることもない。また、ＧＯＰ単位で並列に符号化処理を行う場合に比べてレイテンシを短くできる。さらに、符号化部毎にメモリを別個に設けると、何れのピクチャの符号化処理を何れの符号化部で行うかに応じて、参照画像データ等を記憶させておくメモリの選択を行わなければならない。しかし、本願発明では、共有メモリ４１に参照画像データや入力画像データおよび符号化データが記憶されるので、メモリの選択等を行う必要がなく処理が容易となる。
【００５６】
＜２．第２の実施の形態＞
［第２の実施の形態の構成］
第２の実施の形態は、３つの符号化部を用いた場合である。図５は第２の実施の形態の構成を示すブロック図である。画像処理装置１０ａは、ＤＭＡ２１，５１、第１符号化部３１、第２符号化部３２、第３符号化部３３、共有メモリ４１、制御部６１を有している。また、ＤＭＡ２１，５１と第１符号化部３１と第２符号化部３２と第３符号化部３３および共有メモリ４１は、バス７１を介して制御部６１と接続されている。
【００５７】
ＤＭＡ２１は、制御部６１からの制御信号に基づき、符号化する入力画像データを共有メモリ４１に書き込む。
【００５８】
第１符号化部３１は、制御部６１からの制御信号に基づき、入力画像データの読み込みと、制御信号で示されたピクチャタイプに応じた符号化処理を行う。第１符号化部３１は、符号化処理を行うことにより得られた符号化データを共有メモリ４１に記憶させる。また、第１符号化部３１は、その後に行われる符号化処理で用いる参照画像データを共有メモリ４１に記憶させる。また、第１符号化部３１は、制御信号で示されたピクチャタイプが参照画像データを用いて符号化処理を行うタイプであるとき、共有メモリ４１に記憶されている参照画像データを用いて符号化処理を行う。
【００５９】
第２符号化部３２は、制御部６１からの制御信号に基づき、入力画像データの読み込みと、制御信号で示されたピクチャタイプに応じた符号化処理を行う。第２符号化部３２は、符号化処理を行うことにより得られた符号化データを共有メモリ４１に記憶させる。また、第２符号化部３２は、その後に行われる符号化処理で用いる参照画像データを共有メモリ４１に記憶させる。また、第２符号化部３２は、制御信号で示されたピクチャタイプが参照画像データを用いて符号化処理を行うタイプであるとき、共有メモリ４１に記憶されている参照画像データを用いて符号化処理を行う。
【００６０】
第３符号化部３３は、制御部６１からの制御信号に基づき、入力画像データの読み込みと、制御信号で示されたピクチャタイプに応じた符号化処理を行う。第３符号化部３３は、符号化処理を行うことにより得られた符号化データを共有メモリ４１に記憶させる。また、第３符号化部３３は、共有メモリ４１に記憶されている参照画像データを用いて符号化処理を行う。
【００６１】
ＤＭＡ５１は、制御部６１からの制御信号に基づき、共有メモリに記憶されている符号化データを読み出して画像処理装置１０ａから出力する。
【００６２】
制御部６１は、制御信号をＤＭＡ２１，５１と第１符号化部３１と第２符号化部３２および第３符号化部３３に供給して各部の動作を制御する。また、制御部６１は、第１符号化部３１と第２符号化部３２および第３符号化部３３で共有メモリ４１を利用して符号化処理を並列して行わせることで、入力画像データの符号化処理を高速に行えるようにする。
【００６３】
［画像処理装置の動作］
画像処理装置１０ａも画像処理装置１０と同様に、図２に示すフローチャートの動作を行う。なお、符号化部を３つ設けた画像処理装置１０ａでは、第１符号化部３１と第２符号化部３２を交互に用いてＩピクチャまたはＰピクチャの符号化処理を優先して行う。また、第１符号化部３１と第２符号化部３２において、ＩピクチャやＰピクチャの符号化処理のために用いられていない符号化部と、確保されている符号化部で符号化処理が行われていない期間、および第３符号化部３３を用いてＢピクチャの符号化処理を行う。
【００６４】
図６は、画像処理装置１０ａにおける制御信号とデータの流れを示している。制御部６１は、画像データ取り込み指示を示す制御信号（ＳＣ１）をＤＭＡ２１に出力する。ＤＭＡ２１は、制御信号（ＳＣ１）に応じた動作を行い、入力画像データ（ＳＤ１）を共有メモリ４１に記憶させる。
【００６５】
制御部６１は、ＩピクチャとＰピクチャの符号化処理を、第１符号化部３１と第２符号化部３２を交互に用いて優先して行う。また、Ｂピクチャの符号化処理は、第１符号化部３１と第２符号化部３２において、ＩピクチャやＰピクチャの符号化処理が行われていない非符号化処理期間、および第３符号化部３３を利用して行う。
【００６６】
制御部６１は、最初に第１符号化部３１を確保して、例えばＩピクチャの符号化処理が開始可能となったとき、第１符号化部３１に対して、共有メモリ４１に記憶されている入力画像データを用いてＩピクチャの符号化処理を行わせる制御信号（ＳＣ２）を出力する。
【００６７】
第１符号化部３１は、共有メモリ４１に記憶されている入力画像データを用いてＩピクチャの符号化処理を行い、符号化データ（ＳＤ２）と参照画像データ（ＳＤ３）を生成して共有メモリ４１に記憶させる。さらに、第１符号化部３１は、符号化処理が終了したことを示す完了通知信号（ＳＡ２）を制御部６１に出力する。
【００６８】
制御部６１は、Ｉピクチャの符号化処理後に第２符号化部３２を確保する。制御部６１は、Ｐピクチャの符号化処理が開始可能となったとき、第２符号化部３２に対して、共有メモリ４１に記憶されている入力画像データと参照画像データを用いてＰピクチャの符号化処理を行わせる制御信号（ＳＣ３）を出力する。
【００６９】
第２符号化部３２は、共有メモリ４１に記憶されている入力画像データ（ＳＤ１）と、共有メモリ４１に記憶されている参照画像データを用いてＰピクチャの符号化処理を行い、符号化データ（ＳＤ４）と参照画像データ（ＳＤ５）を共有メモリ４１に記憶させる。さらに、第２符号化部３２は、符号化処理が終了したことを示す完了通知信号（ＳＡ３）を制御部６１に出力する。
【００７０】
制御部６１は、Ｂピクチャの符号化処理が開始可能となったとき、例えば第３符号化部３３を選択する。制御部６１は、第３符号化部３３に対して、共有メモリ４１に記憶されている入力画像データと参照画像データを用いてＢピクチャの符号化処理を行わせる制御信号（ＳＣ５）を出力する。
【００７１】
第３符号化部３３は、共有メモリ４１に記憶されている入力画像データ（ＳＤ１）と、共有メモリに記憶されている参照画像データを用いてＢピクチャの符号化処理を行い、符号化データ（ＳＤ６）を生成して共有メモリ４１に記憶させる。さらに、第３符号化部３３は、符号化処理が終了したことを示す完了通知信号（ＳＡ５）を制御部６１に出力する。
【００７２】
また、制御部６１は、ＩピクチャやＰピクチャの符号化処理が開始可能となったとき、交互に確保されている第１符号化部３１または第２符号化部３２で符号化処理を優先して行う。さらに、制御部６１は、次のＩピクチャまたはＰピクチャの符号化処理に用いる符号化部とは異なる符号化部で、入力画像データと参照画像データを用いてＢピクチャの符号化処理を行わせて、符号化処理で生成された符号化データを共有メモリ４１に記憶させる。また、制御部６１は、次のＩピクチャまたはＰピクチャの符号化処理に用いる符号化部であっても、次のＩピクチャまたはＰピクチャの符号化処理が開始される前に符号化処理を完了できるときは、この確保されている符号化部でＢピクチャの符号化処理を行わせる。さらに、制御部６１は、Ｂピクチャの符号化処理で生成された符号化データを共有メモリ４１に記憶させる。すなわち、制御部６１は、第３符号化部３３だけでなく、次のＩピクチャまたはＰピクチャの符号化処理が開始される前に符号化処理を完了できるときは、第１符号化部３１や第２符号化部３２を用いて符号化処理を行う。
【００７３】
また、制御部６１は、符号化データの出力指示を示す制御信号（ＳＣ６）をＤＭＡ５１に出力する。ＤＭＡ５１は、制御信号（ＳＣ６）に応じた動作を行い、共有メモリ４１から符号化データを読み出して、符号化ビットストリーム（ＳＤ７）を出力させる。
【００７４】
図７は、第２の実施の形態の具体的動作を例示している。なお、図７では、画像処理装置１０ａで、１ピクチャの符号化処理に２フレーム期間を要する場合を示している。また、エンコード条件は、プログレッシブ方式で、Ｍ＝３，Ｎ＝１４の場合である。
【００７５】
図７の（Ａ）は、フレーム番号を示している。図７の（Ｂ）は、入力画像データを示している。図７の（Ｃ）は、第１符号化部３１の符号化処理を示している。図７の（Ｄ）は、第２符号化部３２の符号化処理を示している。図７の（Ｅ）は、第３符号化部３３の符号化処理を示している。図７の（Ｆ），（Ｇ），（Ｈ）は、参照画像データを示している。図７の（Ｉ），（Ｊ）、（Ｋ）は、符号化データを示している。図７の（Ｌ）は、出力する符号化データを示している。
【００７６】
フレーム０でＤＭＡ２１は、Ｂピクチャの画像データＢ0を共有メモリ４１に記憶する。フレーム１でＤＭＡ２１は、Ｂピクチャの画像データＢ1を共有メモリ４１に記憶する。フレーム２でＤＭＡ２１は、Ｉピクチャの画像データＩ2を共有メモリ４１に記憶する。なお、制御部６１は、フレーム０〜２までの期間において、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００７７】
フレーム３でＤＭＡ２１は、Ｂピクチャの画像データＢ3を共有メモリ４１に記憶する。また、制御部６１は、フレーム２でＩピクチャの画像データＩ2が共有メモリ４１に記憶されたことから、Ｉピクチャの符号化処理を優先して行わせる。制御部６１は、例えば第１符号化部３１を確保しておき、第１符号化部３１で画像データＩ2の符号化処理を行わせる。このため、第１符号化部３１は、フレーム３，４の２フレーム期間を使用して画像データＩ2の符号化処理を行い、符号化データＩ2Eと参照画像データＩ2Lを共有メモリ４１に記憶する。また、制御部６１は、画像データＩ2の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第２符号化部３２を確保する。
【００７８】
フレーム４でＤＭＡ２１は、Ｂピクチャの画像データＢ4を共有メモリ４１に記憶する。制御部６１は、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００７９】
フレーム５でＤＭＡ２１は、Ｐピクチャの画像データＰ5を共有メモリ４１に記憶する。また、フレーム５では、参照画像データＩ2Lが共有メモリ４１に記憶されており、この参照画像データＩ2Lを用いて、Ｂピクチャの画像データＢ0，Ｂ1の符号化処理が可能となる。また、フレーム５では、Ｉピクチャの符号化処理が終了していることから、第１符号化部３１と第２符号化部３２および第３符号化部３３で符号化処理を行うことが可能である。さらに、Ｐピクチャの画像データＰ5が共有メモリ４１に記憶されると、制御部６１は、確保されている第２符号化部３２でＰピクチャの画像データＰ5の符号化処理を次のフレームから優先して行わせる。ここで、Ｂピクチャの画像データの符号化処理に第２符号化部３２を選択すると、画像データの符号化処理はフレーム６までの期間を要することから、Ｐピクチャの画像データＰ5の符号化処理を優先して行うことができない。したがって、制御部６１は、第１符号化部３１と第３符号化部３３を選択して、画像データＢ0，Ｂ1の符号化処理を行わせる。すなわち、第１符号化部３１は、フレーム５，６の２フレーム期間を使用して画像データＢ0の符号化処理を行い、画像データＢ0の符号化処理で生成された符号化データＢ0Eを共有メモリ４１に記憶させる。また、第３符号化部３３は、フレーム５，６の２フレーム期間を使用して画像データＢ1の符号化処理を行い、画像データＢ1の符号化処理で生成された符号化データＢ1Eを共有メモリ４１に記憶させる。
【００８０】
フレーム６でＤＭＡ２１は、Ｂピクチャの画像データＢ6を共有メモリ４１に記憶させる。制御部６１は、フレーム５でＰピクチャの画像データＰ5が共有メモリ４１に記憶されたことから、Ｐピクチャの符号化処理を優先して行わせる。制御部６１は、確保されている第２符号化部３２で画像データＰ5の符号化処理を行わせる。このため、第２符号化部３２は、フレーム６，７の２フレーム期間を使用して画像データＰ5の符号化処理を行い、符号化データＰ5Eと参照画像データＰ5Lを共有メモリ４１に記憶する。また、制御部６１は、画像データＰ5の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第１符号化部３１を確保する。
【００８１】
フレーム７でＤＭＡ２１は、Ｂピクチャの画像データＢ7を共有メモリ４１に記憶する。また、フレーム７では、第１符号化部３１におけるＢピクチャの画像データＢ0の符号化処理が終了しており、第３符号化部３３におけるＢピクチャの画像データＢ1の符号化処理が終了している。しかし、また、Ｂピクチャの画像データＢ3，Ｂ4の符号化処理に用いる参照画像データＰ5Lは共有メモリ４１に記憶されていない。したがって、制御部６１は、Ｂピクチャの符号化処理を開始しない。
【００８２】
フレーム８でＤＭＡ２１は、Ｐピクチャの画像データＰ8を共有メモリ４１に記憶する。また、フレーム８では、参照画像データＩ2L，Ｐ5Lが共有メモリ４１に記憶されており、この参照画像データＩ2L，Ｐ5Lを用いて、Ｂピクチャの画像データＢ3，Ｂ4の符号化処理が可能となる。また、フレーム８では、画像データＰ5の符号化処理が終了していることから、第１符号化部３１と第２符号化部３２および第３符号化部３３で符号化処理を行うことが可能である。ここで、画像データＰ5の符号化処理を行った第２符号化部３２と異なる第１符号化部３１で、次のＰピクチャの符号化処理を開始するのはフレーム９である。したがって、第１符号化部３１でフレーム８からＢピクチャの符号化処理を行うと、Ｐピクチャの符号化処理を優先して行うことができない。また、画像データＰ5の符号化処理を行った第２符号化部３２で、次にＰピクチャの符号化処理を開始するのはフレーム１２である。したがって、制御部６１は、第２符号化部３２と第３符号化部を選択して画像データＢ3，Ｂ4の符号化処理を行わせる。このため、第２符号化部３２は、フレーム８，９の２フレーム期間を使用して画像データＢ3の符号化処理を行い、符号化データＢ3Eを共有メモリ４１に記憶させる。また、第３符号化部３３は、フレーム８，９の２フレーム期間を使用して画像データＢ4の符号化処理を行い、符号化データＢ4Eを共有メモリ４１に記憶させる。
【００８３】
フレーム９でＤＭＡ２１は、Ｂピクチャの画像データＢ9を共有メモリ４１に記憶させる。制御部６１は、フレーム８でＰピクチャの画像データＰ8が共有メモリ４１に記憶されたことから、第１符号化部３１でＰピクチャの画像データＰ8の符号化処理を優先して行わせる。このため、第１符号化部３１は、フレーム９，１０の２フレーム期間を使用して画像データＰ8の符号化処理を行い、符号化データＰ8Eと参照画像データＰ8Lを共有メモリ４１に記憶する。また、制御部６１は、画像データＰ8の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第２符号化部３２を確保する。
【００８４】
フレーム１０でＤＭＡ２１は、Ｂピクチャの画像データＢ10を共有メモリ４１に記憶する。また、フレーム１０では、第２符号化部３２におけるＢピクチャの画像データＢ3の符号化処理が終了しており、第３符号化部３３におけるＢピクチャの画像データＢ4の符号化処理が終了している。しかし、Ｂピクチャの画像データＢ6，Ｂ7の符号化処理に用いる参照画像データＰ8Lは共有メモリ４１に記憶されていない。したがって、制御部６１は、Ｂピクチャの符号化処理を開始しない。
【００８５】
以下同様に、ＩピクチャまたはＰピクチャの符号化で用いる符号化部を第１符号化部３１と第２符号化部３２で交互に切り替える。また、ＩピクチャまたはＰピクチャの符号化処理において生成された参照画像データを共有メモリ４１に記憶させる。さらに、制御部６１は、第１符号化部３１と第２符号化部３２において、ＩピクチャまたはＰピクチャの符号化処理に用いられていない符号化部や確保されている符号化部でＩピクチャまたはＰピクチャの符号化処理が行われていない期間、および第３符号化部３３で、共有メモリ４１に記憶されている参照画像データを用いてＢピクチャの符号化を行う。
【００８６】
このように符号化処理を行うと、共有メモリ４１には、図７の（Ｉ），（Ｊ），（Ｋ）に示すように、符号化データが記憶される。したがって、制御部６１は、ＤＭＡ５１を制御して例えばフレーム７から符号化データＩ2E，Ｂ0E，Ｂ1E，Ｐ5E・・・の順に符号化データの読み出しを行わせる。このように符号化データを読み出すことで、入力画像データが符号化処理された符号化ビットストリームを画像処理装置１０ａから出力させることができる。
【００８７】
このようにすれば、第１符号化部３１と第２符号化部３２および第３符号化部３３は、共有メモリに記憶されている参照画像データを用いて並列に符号化処理を行うことができるので、符号化処理を高速に行えるようになる。また、第２の実施の形態のように、Ｉ，Ｐピクチャ周期ＭがＭ＝３であり、１つの符号化処理に要する期間が２フレームである場合、図７に示すように、第１符号化部３１と第２符号化部３２を交互に用いてＩピクチャとＰピクチャの符号化処理を優先させて行う。また、符号化処理が行われていない非符号化処理期間や第３符号化部３３を利用して、各符号化部で２枚のＢピクチャの符号化処理を行うようにする。このようにすれば、入力された画像データを順次符号化処理することができる。
【００８８】
さらに、３つの符号化部を用いる場合、上述のように同時に２枚のピクチャを符号化処理することができる。また、Ｉ，Ｐピクチャ周期ＭをＭ＝３とすると、ＩピクチャまたはＰピクチャの符号化処理を行った符号化部が、次にＩピクチャまたはＰピクチャの符号化処理を行うまでのフレーム期間は６フレーム期間となる。したがって、符号化部で符号化処理に要する期間が３フレームであっても、入力画像データを順次符号化処理することができる。
【００８９】
図８は、第２の実施の形態の他の具体的動作を例示した図であり、符号化部で符号化処理に要する期間が３フレームであった場合を示している。
【００９０】
図８の（Ａ）は、フレーム番号を示している。図８の（Ｂ）は、入力画像データを示している。図８の（Ｃ）は、第１符号化部３１の符号化処理を示している。図８の（Ｄ）は、第２符号化部３２の符号化処理を示している。図８の（Ｅ）は、第３符号化部３３の符号化処理を示している。図８の（Ｆ），（Ｇ），（Ｈ）は、参照画像データを示している。図８の（Ｉ），（Ｊ）、（Ｋ）は、符号化データを示している。図８の（Ｌ）は、出力する符号化データを示している。
【００９１】
フレーム０でＤＭＡ２１は、Ｂピクチャの画像データＢ0を共有メモリ４１に記憶する。フレーム１でＤＭＡ２１は、Ｂピクチャの画像データＢ1を共有メモリ４１に記憶する。フレーム２でＤＭＡ２１は、Ｉピクチャの画像データＩ2を共有メモリ４１に記憶する。なお、制御部６１は、フレーム０〜２までの期間において、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００９２】
フレーム３でＤＭＡ２１は、Ｂピクチャの画像データＢ3を共有メモリ４１に記憶する。また、制御部６１は、フレーム２でＩピクチャの画像データＩ2が共有メモリ４１に記憶されたことから、Ｉピクチャの符号化処理を優先して行わせる。制御部６１は、例えば確保されている第１符号化部３１で画像データＩ2の符号化処理を行わせる。このため、第１符号化部３１は、フレーム３〜５の３フレーム期間を使用して画像データＩ2の符号化処理を行い、符号化データＩ2Eと参照画像データＩ2Lを共有メモリ４１に記憶する。また、制御部６１は、画像データＩ2の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第２符号化部３２を確保する。
【００９３】
フレーム４でＤＭＡ２１は、Ｂピクチャの画像データＢ4を共有メモリ４１に記憶する。制御部６１は、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００９４】
フレーム５でＤＭＡ２１は、Ｂピクチャの画像データＰ5を共有メモリ４１に記憶する。制御部６１は、共有メモリ４１に参照画像データが記憶されていないことから、Ｂピクチャの符号化処理を開始しない。
【００９５】
フレーム６でＤＭＡ２１は、Ｂピクチャの画像データＢ6を共有メモリ４１に記憶させる。制御部６１は、フレーム５でＰピクチャの画像データＰ5が共有メモリ４１に記憶されたことから、Ｐピクチャの符号化処理を優先して行わせる。制御部６１は、確保されている第２符号化部３２で画像データＰ5の符号化処理を行わせる。このため、第２符号化部３２は、フレーム６〜８の３フレーム期間を使用して画像データＰ5の符号化処理を行い、符号化データＰ5Eと参照画像データＰ5Lを共有メモリ４１に記憶する。また、フレーム６では画像データＩ2の符号化処理が終了して、参照画像データＩ2Lが共有メモリ４１に記憶されている。また、第１符号化部３１は符号化処理が終了しており、第３符号化部は符号化処理が行われていない。したがって、制御部６１は、第１符号化部３１と第３符号化部３３を選択して、画像データＢ0，Ｂ1の符号化処理を行わせる。すなわち、第１符号化部３１は、フレーム６〜８の３フレーム期間を使用して画像データＢ0の符号化処理を行い、符号化データＢ0Eを共有メモリ４１に記憶させる。また、第３符号化部３３は、フレーム６〜８の３フレーム期間を使用して画像データＢ1の符号化処理を行い、符号化データＢ1Eを共有メモリ４１に記憶させる。さらに、制御部６１は、画像データＰ5の符号化処理が終了したとき、次のＩピクチャまたはＰピクチャの符号化処理のため、第１符号化部３１を確保する。
【００９６】
フレーム７でＤＭＡ２１は、Ｂピクチャの画像データＢ7を共有メモリ４１に記憶する。制御部６１は、第１符号化部３１，第２符号化部３２、第３符号化部３３で符号化処理が行われていることから、新たなピクチャの符号化処理を開始しない。
【００９７】
フレーム８でＤＭＡ２１は、Ｂピクチャの画像データＰ8を共有メモリ４１に記憶する。制御部６１は、第１符号化部３１，第２符号化部３２、第３符号化部３３で符号化処理が行われていることから、新たなピクチャの符号化処理を開始しない。
【００９８】
フレーム９でＤＭＡ２１は、Ｂピクチャの画像データＢ9を共有メモリ４１に記憶させる。制御部６１は、フレーム８でＰピクチャの画像データＰ8が共有メモリ４１に記憶されたことから、Ｐピクチャの符号化処理を優先して行わせる。制御部６１は、確保されている第１符号化部３１で画像データＰ8の符号化処理を行わせる。このため、第１符号化部３１は、フレーム９〜１１の３フレーム期間を使用して画像データＰ8の符号化処理を行い、符号化データＰ8Eと参照画像データＰ8Lを共有メモリ４１に記憶する。また、フレーム９では画像データＰ5の符号化処理が終了して、参照画像データＩ2L，Ｐ5Lが共有メモリ４１に記憶されている。また、第２符号化部３２と第３符号化部３３は符号化処理が行われていない。したがって、制御部６１は、第２符号化部３２と第３符号化部３３を選択して、画像データＢ3，Ｂ4の符号化処理を行わせる。すなわち、第２符号化部３２は、フレーム９〜１１の３フレーム期間を使用して画像データＢ3の符号化処理を行い、符号化データＢ3Eを共有メモリ４１に記憶させる。また、第３符号化部３３は、フレーム９〜１１の３フレーム期間を使用して画像データＢ4の符号化処理を行い、符号化データＢ4Eを共有メモリ４１に記憶させる。
【００９９】
フレーム１０でＤＭＡ２１は、Ｂピクチャの画像データＢ9を共有メモリ４１に記憶する。制御部６１は、第１符号化部３１，第２符号化部３２、第３符号化部３３で符号化処理が行われていることから、新たなピクチャの符号化処理を開始しない。
【０１００】
フレーム１１でＤＭＡ２１は、Ｂピクチャの画像データＰ11を共有メモリ４１に記憶する。制御部６１は、第１符号化部３１，第２符号化部３２、第３符号化部３３で符号化処理が行われていることから、新たなピクチャの符号化処理を開始しない。
【０１０１】
以下同様に、ＩピクチャまたはＰピクチャの符号化で用いる符号化部を第１符号化部３１と第２符号化部３２で交互に切り替える。また、ＩピクチャまたはＰピクチャの符号化処理において生成された参照画像データを共有メモリ４１に記憶させる。さらに、第１符号化部３１と第２符号化部３２においてＩピクチャまたはＰピクチャの符号化処理に用いられていない符号化部と第３符号化部３３で、共有メモリ４１に記憶されている参照画像データを用いてＢピクチャの符号化を行う。
【０１０２】
このように符号化処理を行うと、共有メモリ４１には、図８の（Ｉ），（Ｊ），（Ｋ）に示すように、符号化データが記憶される。したがって、制御部６１は、ＤＭＡ５１を制御して例えばフレーム７から符号化データＩ2E，Ｂ0E，Ｂ1E，Ｐ5E・・・の順に符号化データの読み出しを行わせる。このように符号化データを読み出すことで、入力画像データが符号化処理された符号化ビットストリームを画像処理装置１０ａから出力させることができる。
【０１０３】
このようにすれば、第１符号化部３１と第２符号化部３２は、共有メモリに記憶されている参照画像データを用いて並列に符号化処理を行うことができるので、符号化処理を高速に行えるようになる。また、第１の実施の形態のように、Ｉ，Ｐピクチャ周期ＭがＭ＝３であり、１つの符号化処理に要する期間が３フレームである場合、図８に示すように、第１符号化部３１と第２符号化部３２を交互に用いて、ＩピクチャとＰピクチャの符号化処理を優先させて行う。さらに、符号化処理が行われていない非符号化処理期間を利用して、各符号化部で２枚のＢピクチャの符号化処理を行うようにすれば、入力された画像データを順次符号化処理することができる。また、符号化処理を画面単位で順次行うことから、画面分割後の領域毎に並列して符号化を行う場合のように、境界部分が画像に現れてしまうことがなく、ＧＯＰ単位で並列に符号化処理を行う場合のように、大きなバッファを必要とすることもない。また、ＧＯＰ単位で並列に符号化処理を行う場合に比べてレイテンシを短くできる。
【０１０４】
さらに、３つの符号化部を用いる場合、Ｉ，Ｐピクチャ周期ＭをＭ＝３とすると、ＩピクチャまたはＰピクチャの符号化処理を行った符号化部が、次にＩピクチャまたはＰピクチャの符号化処理を行うまでのフレーム期間は３フレーム期間である。したがって、例えば予測処理を高精度に行うため符号化部で符号化処理に要する期間が３フレームとなっても、入力された画像データを順次符号化処理することができる。
【０１０５】
なお、図４，７，８では、エンコード条件をプログレッシブ方式で、Ｍ＝３、Ｎ＝１４とした場合を説明したが、エンコード条件は、これらの条件に限られない。すなわち、ＩピクチャまたはＰピクチャの符号化処理を行った符号化部の非符号化処理期間に、ＩピクチャとＰピクチャ間またはＰピクチャとＰピクチャ間におけるＢピクチャの符号化処理が完了するように、Ｂピクチャの数や符号化部の数を設定すればよい。すなわち、１つのピクチャの符号化処理に要する処理期間がＩ，Ｐピクチャ周期Ｍ以下である場合、Ｉ，Ｐピクチャ周期Ｍ内のＢピクチャの数よりも１つ多く符号化部を設ける。このように、符号化部を設けると、ＩピクチャまたはＰピクチャの符号化処理を行った符号化部で符号化処理が行われていない期間に、ＩピクチャとＰピクチャ間またはＰピクチャとＰピクチャ間に設けられるＢピクチャの符号化処理を完了することができる。したがって、入力された画像データを順次符号化処理することができる。
【０１０６】
また、各ピクチャがすべてフレーム内予測符号化画像であるときは、各ピクチャの画像データを複数の符号化部に順番に割り振って、並列に符号化処理を行えばよい。
【０１０７】
＜３．ソフトウェアで符号化処理を行う場合＞
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１０８】
図９は、上述した一連の処理をプログラムにより実行するコンピュータの構成を例示した図である。コンピュータ装置８０のＣＰＵ８１は、例えばマルチコアＣＰＵであり、ＲＯＭ８２、または記録部８９に記録されているコンピュータ・プログラムにしたがって符号化処理を並列に実行する。
【０１０９】
ＲＡＭ８３には、ＣＰＵ８１が実行するコンピュータ・プログラムやデータなどが適宜記憶される。これらのＣＰＵ８１、ＲＯＭ８２、およびＲＡＭ８３は、バス８４により相互に接続されている。
【０１１０】
ＣＰＵ８１にはまた、バス８４を介して入出力インターフェース８５が接続されている。入出力インターフェース８５には、タッチパネルやキーボード、マウス等で構成されるユーザインタフェース部８６、画像データ等を入力するための入力部８７、ディスプレイなどよりなる出力部８８が接続されている。ＣＰＵ８１は、ユーザインタフェース部８６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ８１は、処理の結果を出力部８８から出力する。
【０１１１】
入出力インターフェース８５に接続されている記録部８９は、例えばハードディスクからなり、ＣＰＵ８１が実行するコンピュータ・プログラムや各種のデータを記録する。通信部９０は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信媒体を介して外部の装置と通信する。また、コンピュータ装置８０は、通信部９０を介してコンピュータ・プログラムを取得し、ＲＯＭ８２や記録部８９に記録してもよい。
【０１１２】
ドライブ９１は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア９５が装着されたとき、それらを駆動して、記録されているコンピュータ・プログラムやデータなどを取得する。取得されたコンピュータ・プログラムやデータは、必要に応じてＲＯＭ８２やＲＡＭ８３または記録部８９に転送される。
【０１１３】
ＣＰＵ８１は、上述した一連の処理を行うコンピュータ・プログラムを読み出して実行して、記録部８９やリムーバブルメディア９５に記録されている画像データや、通信部９０を介して供給された画像データに対する符号化処理を行う。
【０１１４】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示したものであり、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１１５】
この発明の画像処理装置と画像処理方法では、共有メモリが設けられて、画像データの符号化処理を行う符号化部では、共有メモリに記憶されている参照画像データを用いて符号化処理が行われる。また、複数の符号化部から符号化部を確保してフレーム内予測符号化画像と順方向予測符号化画像の符号化処理が優先して行われる。さらに、フレーム内予測符号化画像または順方向予測符号化画像の符号化処理に用いられていない符号化部、および確保した符号化部で符号化処理が行われていない期間を用いて、双方向予測符号化画像の符号化処理が共有メモリに記憶されている参照画像データを用いて行われる。このため、画面分割後の領域毎に並列して符号化を行う場合のように、境界部分が画像に現れてしまうことがなく、ＧＯＰ単位で並列に符号化処理を行う場合のように、大きなバッファを必要とすることなく、画像の符号化処理を高速に行うことができる。また、ＧＯＰ単位で並列に符号化処理を行う場合に比べてレイテンシを短くできる。したがって、画像データの記録再生装置や通信装置、編集装置等に適している。
【符号の説明】
【０１１６】
１０，１０ａ・・・画像処理装置、２１，５１・・・ＤＭＡ、３１・・・第１符号化部、３２・・・第２符号化部、３３・・・第３符号化部、４１・・・共有メモリ、６１・・・制御部、７１，８４・・・バス、８０・・・コンピュータ装置、８１・・・ＣＰＵ、８２・・・ＲＯＭ、８３・・・ＲＡＭ、８５・・・入出力インターフェース、８６・・・ユーザインタフェース部、８７・・・入力部、８８・・・出力部、８９・・・記録部、９０・・・通信部、９１・・・ドライブ、９５・・・リムーバブルメディア
【図１】
2012009934.tif 000003
【図２】
2012009934.tif 000004
【図３】
2012009934.tif 000005
【図４】
2012009934.tif 000006
【図５】
2012009934.tif 000007
【図６】
2012009934.tif 000008
【図７】
2012009934.tif 000009
【図８】
2012009934.tif 000010
【図９】
2012009934.tif 000011