(57)【要約】  画像の圧縮符号化処理を、マクロブロック毎にパイプラインにより並列に行う場合において、ＭＰＥＧ４ＡＶＣにおけるスキップモード等により符号化対象ブロックを圧縮符号化する際には、符号化対象ブロックに隣接する隣接ブロックの動きベクトル等が必要となる。しかし、パイプラインステージの構成によっては、隣接ブロックの動きベクトル等が決定してないことがある。このような場合には、符号化対象ブロックについて、スキップモード等により圧縮符号化処理ができないことを課題としてなされたものである。符号化対象ブロックの前ブロックが選択しうる全ての動き情報に対する、符号化対象ブロックの全ての動き情報候補を算出し、前ブロックの動き情報が決定した後、算出した動き情報候補から、前ブロックについて決定した動き情報に対応する動き情報を、符号化対象ブロックのスキップモード等における動き情報とする。
2007136088.tif 000002
【特許請求の範囲】
【請求項１】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、
前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備える
ことを特徴とする画像符号化装置。
【請求項２】
前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、
各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
ことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
ことを特徴とする請求項１記載の画像符号化装置。
【請求項４】
前記画像符号化装置は、更に
各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第３処理手段を備え、
前記第２処理手段は、前記第１処理手段による処理が完了したブロックについての予測画像を、前記第３処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記予測画像候補特定情報は、前記第２処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項６】
各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項７】
前記画像符号化装置は、第１ステージと第２ステージとの２つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、
前記第１処理手段は、各ブロックを処理対象として逐次、
他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第１ステージの処理を実行するものであり、
前記第２処理手段は、
前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、
前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第１処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第２ステージの処理を実行するものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項８】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、
前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含む
ことを特徴とする画像符号化方法。
【請求項９】
画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、
前記圧縮符号化処理は、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、
前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含む
ことを特徴とするコンピュータプログラム。
【請求項１０】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、
前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備える
ことを特徴とする画像符号化用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を圧縮符号化する画像符号化装置に関し、特に圧縮符号化処理の高速化に関する。
【背景技術】
【０００２】
画像の圧縮符号化方式であるＭＰＥＧ４ＡＶＣ（Motion Pictures Experts Group 4 Advanced Video Coding）規格には、符号化モードとして、スキップモードと空間ダイレクトモードとが規定されている。
両符号化モードは、共に圧縮符号化（以下、単に「符号化」ともいう）の対象となる画像（以下、「符号化対象画像」という）を、所定サイズ、例えば１６×１６画素のマクロブロック単位で処理する際に、現在の処理対象であるマクロブロック（以下、「符号化対象ブロック」という）の動きベクトルと符号化対象ブロックの予測に使用する、符号化対象ブロックと同サイズの参照画像を識別する参照画像番号（以下、両者の組を「動き情報」という）とを、その符号化対象ブロックに隣接する複数のマクロブロック（以下、「隣接ブロック」という）の動き情報に基づいて算出する。そして、算出した動き情報に基づいて予測した、符号化対象ブロックの予測画像と符号化対象ブロックの原画像との差分情報を符号化する。【０００３】
つまり、スキップモード又は空間ダイレクトモード（以下、「スキップモード等」ともいう）により符号化したマクロブロックの動き情報は、復号する際に隣接ブロックの動き情報から算出できるため、符号化対象ブロックの動き情報を符号化する必要がなく、即ち、符号化対象ブロックの予測画像と原画像との差分情報のみを符号化すればよいため、スキップモード等により符号化することによって、符号量を減らすことができる。【０００４】
ところで、画像の符号化処理を高速化するために、各マクロブロックについて、パイプラインにより並列に処理する技術が知られている。
上述の通り、符号化対象ブロックをスキップモード等により符号化するためには、隣接ブロックの動き情報が必要となる。
従って、例えば、パイプラインステージを、各マクロブロックについて順次、スキップモード等により符号化する場合の動き情報を算出する第１ステージと第１ステージの処理が完了したマクロブロックについて、スキップモード等により符号化した場合の符号量に基づいてスキップモード等により符号化するかを判定する第２ステージとに分けて構成した場合に、符号化対象ブロックについての第１ステージの処理を開始する際に、符号化対象ブロックに対する全ての隣接ブロックについての第２ステージの処理が完了していない場合には、各隣接ブロックについて符号化モードが決定していないこととなる。【０００５】
即ち、各隣接ブロックについての動き情報が決定していないため、第１ステージにおいて、符号化対象ブロックについてのスキップモード等における動き情報の算出ができないこととなる。
この問題を解決する技術として、例えば特許文献１の画像符号化装置がある。以下、特許文献１における画像符号化装置について説明する。【０００６】
特許文献１における画像符号化装置は、符号化対象画像をマクロブロック単位でパイプラインにより並列に符号化する画像符号化装置であり、符号化対象画像の左上のマクロブロックから水平方向に１行分処理し、次の行の処理に進み、右下のマクロブロックまで順に処理する。
特許文献１における画像符号化装置は、符号化対象ブロックの処理を開始する際に、隣接ブロックの１つである、符号化対象ブロックの左のマクロブロック（以下、「前ブロック」という）の動き情報の算出が完了していない場合に、前ブロックの代わりに動きベクトルの算出が完了している、前ブロックの左のブロック（以下、「近傍ブロック」という）の動き情報を用いて、符号化対象ブロックのスキップモード等における動き情報を生成する。【０００７】
その後、前ブロックの動き情報の算出が完了すると、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致するかを確認し、一致する場合には、スキップモード等により符号化対象ブロックを符号化できることとなる。
このように、特許文献１における画像符号化装置では、前ブロックの動き情報の算出が完了していなくても、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、パイプラインによる並列処理を妨げることなく符号化処理の高速化を実現できる。
【特許文献１】特許第３８７９７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１における画像符号化装置では、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致せず、スキップモード等により符号化できない場合も少なくない。
そこで、本発明は係る問題に鑑みてなされたものであり、従来とは異なる方法により、符号化処理の高速化を図ることができる画像符号化装置を提供する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像符号化装置は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備えることを特徴とする。【００１０】
また、上記課題を解決するために、本発明に係る画像符号化装置による画像符号化方法は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含むことを特徴とする。【００１１】
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられるコンピュータプログラムは、画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、前記圧縮符号化処理は、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含むことを特徴とする。【００１２】
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられる画像符号化用集積回路は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備えることを特徴とする。【００１３】
ここで、所定サイズのブロックは、ｎ×ｎ画素、例えば１６×１６画素のマクロブロックであり、予測画像は、各ブロックと同サイズの画像である。
【発明の効果】
【００１４】
上述の構成を備える本発明に係る画像符号化装置は、第１処理手段では、各ブロックについて、そのブロックの予測画像候補特定情報を前ブロックの予測画像候補特定情報に基づいて生成しておき、第２処理手段では、第１処理手段による処理と並行して、第１処理手段による処理が完了した１のブロックについての予測画像を、そのブロックの予測画像候特定情報が示す予測画像の候補から、前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づき選択するため、各ブロックについて、第１処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。【００１５】
即ち、各ブロックについて、そのブロックの前ブロックの予測画像の決定を待たずに符号化処理を開始できるため、符号化処理の高速化を実現できる。
また、予測画像候補特定情報として、例えば動き情報（動きベクトルと参照画像）の候補を使用することにより、各ブロックの予測画像候補特定情報は、前ブロックの動き情報の候補に基づいて生成された動き情報の候補となり、ＭＰＥＧ４ＡＶＣにおけるスキップモードや空間ダイレクトモードによる符号化が可能となり、符号量を抑えることができる。【００１６】
また、前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むとしてもよい。
これにより、他の画像を探索することにより検出した動きベクトルとして、例えばＭＰＥＧ４ＡＶＣにおける画面間予測（インターモード）で規定されている動きベクトルを用いることにより、予測画像候補特定情報には、画面間予測（インターモード）における予測画像を特定する特定情報が含まれる。【００１７】
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むこととしてもよい。【００１８】
これにより、例えば、隣接ブロックを、ＭＰＥＧ４ＡＶＣ規格のスキップモードにおいて用いられる所定のマクロブロックとすることにより、予測画像候補特定情報が示す予測画像の候補には、スキップモードや空間ダイレクトモードにより符号化した場合の予測画像が含まれるため、この予測画像が選択された場合に、符号量を抑えることができる。
また、前記画像符号化装置は、更に各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第３処理手段を備え、前記第２処理手段は、前記第１処理手段による処理が完了したブロックについての予測画像を、前記第３処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択することとしてもよい。【００１９】
これにより、所定位置にある画素の画素値として、例えばＭＰＥＧ４ＡＶＣにおける画面内予測（イントラモード）で規定されている所定の画素の画素値を用いることにより、予測画像候補特定情報には、画面内予測（イントラモード）における予測画像の候補を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。【００２０】
また、前記予測画像候補特定情報は、前記第２処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものであるとしてもよい。
これにより、例えば、第１処理手段による処理対象のブロックをＭＢｎ、第２処理手段による処理対象のブロックをＭＢｎ−１、第２処理手段による処理が完了したブロックをＭＢｎ−２とすると、ＭＢｎの予測画像候補特定情報は、ＭＢｎ−２の予測画像候補特定情報に基づいて生成された、ＭＢｎ−１の予測画像候補特定情報に基づいて生成されることになるが、第２処理手段による処理が完了したＭＢｎ―２の予測画像特定情報に基づいて、ＭＢｎの予測画像候補特定情報を生成することにより、ＭＢｎの予測画像候補特定情報が示す予測画像の候補の数の増大を抑えることができる。【００２１】
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものであることとしてもよい。
これにより、符号化対象ブロックの予測画像候補特定情報は、その前ブロックの予測画像候補の一部のみを特定する情報に基づいて生成するため、予測画像候補特定情報が示す予測画像の候補の数を抑えることにより、画像符号化装置の処理負荷を減らすことができる。【００２２】
また、前記画像符号化装置は、第１ステージと第２ステージとの２つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、前記第１処理手段は、各ブロックを処理対象として逐次、他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第１ステージの処理を実行するものであり、前記第２処理手段は、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第１処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第２ステージの処理を実行するものであることとしてもよい。【００２３】
これにより、各ブロックについて、第１処理手段において生成される予測画像候補特定情報には、動きベクトル投機算出部が前ブロックの予測画像候補特定情報に基づいて生成したそのブロックの予測画像の候補を特定する特定情報を含み、第２処理手段における動きベクトル決定部が、動きベクトル投機算出部により生成された特定情報が示すそのブロックの予測画像の候補を、前ブロックについての予測画像特定情報に基づき絞り込むため、各ブロックについて、第１処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。【００２４】
また、各ブロックについて、第１処理手段において生成される予測画像候補特定情報には、動き検出部において生成された特定情報を含み、第２処理手段におけるモード判定部は、動きベクトル決定部が絞り込んだ予測画像の候補と、予測画像候補特定情報が示す予測画像の候補のうち、動き検出部が生成した特定情報が示す予測画像の候補とから、予測画像を選択するため、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態１に係る画像符号化装置１００のパイプライン処理の流れを説明するための図である。
【図２】本発明の実施の形態１に係る画像符号化装置１００の機能構成図である。
【図３】本発明の実施の形態１に係る画像符号化装置１００の動作を示すフローチャートである。
【図４】本発明の実施の形態２に係る画像符号化装置２００の機能構成図である。
【図５】本発明の実施の形態２に係る画像符号化装置２００の処理を示すフローチャートである。
【図６】符号化対象ブロックと隣接画素との関係を説明するための図である。
【図７】符号化対象ブロックと隣接ブロックとの関係を説明するための図である。
【符号の説明】
【００２６】
１００、２００    画像符号化装置
１０１    動き検出部
１０２、２０１    動きベクトル投機算出部
１０３    第１動き補償部
１０４、２０３    動きベクトル決定部
１０５    第２動き補償部
１０６    イントラ予測部
１０７、２０４    モード判定部
１０８    直交変換部
１０９    量子化部
１１０    逆量子化部
１１１    逆直交変換部
１１２    加算部
１１３    デブロックフィルタ部
１１４    可変長符号化部
１１５    ＤＭＡコントローラ
１１６    外部メモリ
２０２    確認部
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
＜実施の形態１＞
＜概要＞
実施の形態１に係る画像符号化装置は、ＭＰＥＧ４ＡＶＣ規格に準拠し、符号化対象画像を、所定サイズ（例えば、１６×１６画素）のマクロブロック単位でパイプライン処理により符号化する画像符号化装置を改良したものである。【００２８】
実施の形態１に係る画像符号化装置は、イントラモードとインターモードとスキップモードとの３つの符号化モードうち、符号量が最小になる符号化モードをマクロブロック毎に選択し、選択した符号化モードによりそのマクロブロックを符号化する。
以下、各符号化モードについて簡単に説明する。
イントラモードとは、符号化対象のマクロブロックである符号化対象ブロックに隣接する画素（以下、「隣接画素」という）の画素値に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。【００２９】
ここで、隣接画素について図６を用いて説明する。
図６は、符号化対象ブロックと隣接画素との関係を説明するための図である。
隣接画素とは、同図に示す符号化対象ブロックの左のマクロブロックの１６画素（同図Ａの画素）と上のマクロブロックの１６画素（同図Ｂの画素）をいう。
予測画像の生成は、複数の予測モード（垂直予測、水平予測等）から１つの予測モードを選択して、選択した予測モードに対応した隣接画素内の画素値、つまり、予測モード毎に異なる隣接画素内の画素値を用いて行う。【００３０】
予測モードとして、例えば垂直予測を選択する場合、符号化対象ブロックの各列の画素の画素値は、同列にある同図Ｂの各画素の画素値と等しいものとして予測画像を生成する。
なお、予測モードの選択方法については、従来技術であるため詳細な説明は省略するが、例えば周辺のマクロブロックの予測モードに基づいて選択する方法などを用いることができる。【００３１】
インターモードとは、符号化対象ブロックを含む符号化対象画像と異なる画像（以下、「探索領域画像」という）を探索することにより、符号化対象ブロックと似たブロックへの相対位置を示すための動きベクトルを検出し、検出した動きベクトルと探索領域画像を示す参照画像番号とからなる動き情報に基づき符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報と動き情報とを符号化する符号化モードである。【００３２】
スキップモードとは、符号化対象ブロックに隣接する複数のマクロブロックである隣接ブロックの動き情報を用いて符号化対象ブロックの動き情報を算出し、算出した動き情報に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。このようにスキップモードでは、差分情報のみを符号化し、動き情報を符号化する必要がないため、符号量を抑えることができる。【００３３】
ここで、隣接ブロックについて、図７を用いて説明する。
図７は、符号化対象ブロックと隣接ブロックとの関係を説明するための図である。同図に示すＡ〜Ｆのマクロブロックのうち、ブロックＥをスキップモードにおける符号化対象ブロックとすると、隣接ブロックとは、ブロックＢ〜Ｄのことをいう。
ただし、ブロックＣが符号化対象画像に存在しない等、ブロックＣの動き情報を用いることができない場合には、ブロックＣに代えてブロックＡをブロックＥの隣接ブロックとし、更にブロックＡ〜Ｃの全てが符号化対象画像内に存在しない等、ブロックＡ〜Ｃの全ての動き情報を用いることができない場合には、ブロックＤのみをブロックＥの隣接ブロックとする。なお、以下では、符号化対象ブロックＥの左のブロックＤを「前ブロック」と呼ぶ。【００３４】
ブロックＢ〜ＤをブロックＥの隣接ブロックとした場合、ブロックＥの動きベクトルは、ブロックＢ〜Ｄの各動きベクトルの水平成分及び垂直成分それぞれについての中央値（メディアン）を取り、求めたものである。なお、隣接ブロックの中に符号化モードがイントラモードであるマクロブロックがある場合、そのマクロブロックの動きベクトルは「０」であるとして、ブロックＥの動きベクトルを算出する。【００３５】
また、ブロックＥのスキップモードにおける参照画像は、ブロックＥを含む符号化対象画像の１つ前に表示される画像であり、参照画像番号は「０」である。
なお、参照画像番号は、表示順において符号化対象ブロックを含む符号化対象画像を基準にした参照画像の位置（相対位置）を示す番号であり、表示順が符号化対象画像から離れるほど、大きな参照画像番号が割り当てられる。【００３６】
以下、実施の形態１に係る画像符号化装置について、図１を用いて具体的に説明する。
図１は、実施の形態１に係る画像符号化装置のパイプライン処理の流れを説明するための図である。
実施の形態１に係る画像符号化装置は、符号化対象画像について、マクロブロック毎に符号量が最小となる符号化モードを選択して、選択した符号化モードによりそのマクロブロックを符号化するものであり、符号化対象画像の左上のマクロブロックから水平方向に１行分処理して、次の行の処理に移り、右上のマクロブロックまで順に処理する。【００３７】
同図に示すように、実施の形態１に係る画像符号化装置の処理は、第１ステージから第４ステージまでの４ステージパイプラインにより構成され、各タイムスロット（ＴＳ１、ＴＳ２、ＴＳ３、ＴＳ４、・・・）において各パイプラインステージにおける処理は並行して行われる。
以下、符号化対象画像において、ｎ番目に処理を開始されるマクロブロック（ＭＢｎ）に着目して、各パイプラインステージにおける処理の概要を説明する。【００３８】
まず、第１ステージでは、ＭＢｎについてインターモードにより符号化する場合の動き情報の検出とスキップモードにより符号化する場合の動き情報の算出を並行して行う。
次に、第２ステージでは、ＭＢｎについて各符号化モードで符号化する場合の予測画像の生成と、各予測画像と原画像との差分情報の算出を並行して行い、符号量が最小となる符号化モードをＭＢｎの符号化モードとして決定する。【００３９】
次に、第３ステージ及び第４ステージでは、第２ステージで決定したＭＢｎの符号化モードによりＭＢｎを符号化し、符号化後の符号化ストリームを生成する。
ところで、第１ステージにおいて、ＭＢｎについてスキップモードにおける動き情報を算出するためには、ＭＢｎの前ブロックであるＭＢｎ−１の動き情報が必要となるが、ＭＢｎ−１の符号化モードは第２ステージの処理の完了により決定する。【００４０】
従って、ＭＢｎについての第１ステージにおける処理を開始する時点（ＴＳ１の開始時点）で、ＭＢｎ−１は、第２ステージにおける処理を開始されようとしており、ＭＢｎ−１の符号化モードは決定していない。即ち、ＭＢｎ−１の動き情報は決定していない。
そのため、実施の形態１に係る画像符号化装置は、第１ステージにおいて、ＭＢｎ−１の符号化モードを、上述した各符号化モード（イントラモードとインターモードとスキップモード）それぞれに仮定した場合のＭＢｎのスキップモードにおける各動き情報（以下、「動き情報候補」という）を算出する。つまり、ＭＢｎのスキップモードにおける動き情報として３つの候補を算出する。【００４１】
また、ＭＢｎについての第２ステージにおける処理を開始する時点（ＴＳ２の開始時点）では、ＭＢｎ−１についての第２ステージにおける処理は完了しているため、ＭＢｎ−１の符号化モードは決定している。
そのため、第２ステージでは、第１ステージにおいて算出したＭＢｎのスキップモードにおける３つの動き情報候補から、決定したＭＢｎ−１の符号化モードに対応する動き情報を、ＭＢｎのスキップモードにおける動き情報として選択し、選択した動き情報に基づいてＭＢｎのスキップモードにおける予測画像を生成し、生成した予測画像とＭＢｎの原画像との差分情報を算出する。【００４２】
また、上記処理と並行して第２ステージでは、ＭＢｎのイントラモード及びインターモードおける予測画像をそれぞれ生成し、各予測画像とＭＢｎの原画像との差分情報をそれぞれ算出する。なお、ＭＢｎのインターモードにおける予測画像は、第１ステージにおいて検出した動き情報に基づいて生成する。
また、第２ステージでは、ＭＢｎについての各符号化モード（イントラモード、インターモード、スキップモード）における差分情報が算出されると、各符号化モードにおける差分情報から各符号化モードにおける符号量を算出して、最も符号量が小さくなる符号化モードを、ＭＢｎにおける符号化モードとして決定する。【００４３】
このように、実施の形態１に係る画像符号化装置は、前ブロックの動き情報の決定を待つことなく符号化対象ブロックの処理を開始できるため、パイプラインによる符号化処理の高速化を維持しつつ、符号化対象ブロックについてスキップモードによる符号化が可能となるため、符号化量を抑えることができる。
＜構成＞
まず、実施の形態１に係る画像符号化装置１００の構成について、図２を用いて説明する。【００４４】
図２は、画像符号化装置１００の機能構成図である。
同図に示すように、画像符号化装置１００は、動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４、ＤＭＡコントローラ１１５、外部メモリ１１６を含んで構成される。【００４５】
また、画像符号化装置１００は、図示していないが、ＣＰＵ（Central Processing Unit）及び内部メモリを備え、上述の動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。【００４６】
また、本実施の形態では、動き検出部１０１の処理と動きベクトル投機算出部１０２の処理とが第１ステージに、第１動き補償部１０３の処理と動きベクトル決定部１０４の処理と第２動き補償部１０５の処理とイントラ予測部１０６の処理とモード判定部１０７の処理とが第２ステージに、直交変換部１０８の処理と量子化部１０９の処理と逆量子化部１１０の処理と逆直交変換部１１１の処理と加算部１１２の処理とが第３ステージに、デブロックフィルタ部１１３の処理と可変長符号化部１１４の処理とが第４ステージに相当するようパイプラインを構成している。なお、第１ステージの処理は、本発明における第１処理手段に相当し、第２ステージの処理は、本発明における第２処理手段と第3処理手段とに相当する。【００４７】
動き検出部１０１は、符号化対象ブロックについてのインターモードにおける動きベクトルを検出し、検出した動きベクトルと動きベクトルの検出に用いた探索領域画像を示す参照画像番号とからなる動き情報を動きベクトル投機算出部１０２及び第１動き補償部１０３に送出する機能を有する。
具体的には、動き検出部１０１は、符号化対象ブロック（例えば、１６×１６画素のマクロブロック）の原画像と動きベクトルの探索対象である探索領域画像とをＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリ（図示しない）に読み出し、読み出した符号化対象ブロックの原画像と探索領域画像との間でブロックマッチングを行い、探索領域画像において、符号化対象ブロックの原画像と最も類似度が高いマクロブロックを見つけることにより、そのマクロブロックへの相対位置を示す動きベクトルを検出する。【００４８】
なお、動きベクトルの検出に関し、小数画素精度（１／２画素精度、１／４画素精度）の動きベクトルの検出も可能であるが、説明の便宜上、整数画素制度の動きベクトルの検出を行うものとして説明する。
また、探索領域画像は、後述するデブロックフィルタ部１１３により外部メモリ１１６に格納されたデブロック処理後の復号画像であり、以下では、例えば表示順において、符号化対象ブロックを含む符号化対象画像の１つ前の画像に対する復号画像であるとして説明する。【００４９】
動きベクトルを検出すると、動き検出部１０１は、検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を動きベクトル投機算出部１０２及び第１動き補償部１０３に送出する。
動きベクトル投機算出部１０２は、符号化対象ブロックについてスキップモードにおける動き情報候補を算出し、算出した符号化対象ブロックの動き情報候補を動きベクトル決定部１０４に送出する機能を有する。【００５０】
即ち、動きベクトル投機算出部１０２は、後述するモード判定部１０７により内部メモリに格納された、符号化対象ブロックの前ブロック以外の隣接ブロックの動き情報と、符号化モードが決定していない前ブロックが選択し得る全ての符号化モードに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補を算出する。
以下、動き情報候補の算出について、具体的に説明する。なお、前ブロックの符号化モードによらず、参照画像番号は「０」である。【００５１】
前ブロックの符号化モードがイントラモードであると仮定した場合、前ブロックの動きベクトルは０であるとして、前ブロックを含む隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックがイントラモードであると仮定して算出した動き情報を「ｍ１」と呼ぶ。
また、前ブロックの符号化モードがインターモードであると仮定した場合、動き検出部１０１から受領した前ブロックのインターモードにおける動きベクトルと、他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがインターモードであると仮定して算出した動き情報を「ｍ２」と呼ぶ。【００５２】
また、前ブロックの符号化モードがスキップモードであると仮定した場合、前ブロックについてもスキップモードにおける３つの動き情報候補を有することとなる。
そこで、動きベクトル投機算出部１０２は、後述するモード判定部１０７から受領した、前ブロックの左のマクロブロックに対して決定した符号化モードを示すモード情報を用いて、前ブロックのスキップモードにおける３つの動き情報候補から、前ブロックの左のマクロブロックに対して決定した符号化モードに対応する１つの動きベクトルを、前ブロックのスキップモードにおける動きベクトルとして選択し、選択した前ブロックのスキップモードにおける動き情報の動きベクトルと他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがスキップモードであると仮定して算出した動き情報を「ｍ３」と呼ぶ。【００５３】
なお、動きベクトル投機算出部１０２は、符号化対象ブロックに対して算出した動き情報候補（ｍ１〜ｍ３）を内部メモリに格納しておく。格納された動き情報候補（ｍ１〜ｍ３）は、次に処理されるマクロブロックに対してｍ３の動き情報を算出する際に使用される。
また、動きベクトル投機算出部１０２は、算出した動き情報候補（ｍ１〜ｍ３）が示す各参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出しておく。この参照画像は、第２動き補償部１０５の後述する符号化対象ブロックのスキップモードにおける予測画像の生成処理に使用される。【００５４】
第１動き補償部１０３は、動き検出部１０１から受領した符号化対象ブロックのインターモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動き情報とをモード判定部１０７に送出する機能を有する。
予測画像の生成について、具体的には、動き検出部１０１から受領した参照画像番号が示す探索領域画像において、動きベクトルが示すブロックを予測画像とする。【００５５】
動きベクトル決定部１０４は、後述するモード判定部１０７から受領したモード情報が示す前ブロックの符号化モードに対応する１つの動き情報を、動きベクトル投機算出部１０２から受領した符号化対象ブロックのスキップモードにおける３つの動き情報候補（ｍ１〜ｍ３）から選択し、選択した符号化対象ブロックのスキップモードにおける動き情報を第２動き補償部１０５へ送出する機能を有する。【００５６】
例えば、前ブロックの符号化モードがインターモードに決定した場合には、符号化対象ブロックのスキップモードにおける動き情報としてｍ２を第２動き補償部１０５へ送出する。
第２動き補償部１０５は、動きベクトル決定部１０４から受領した、符号化対象ブロックのスキップモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動きベクトル決定部１０４から受領したスキップモードにおける動き情報をモード判定部１０７に送出する機能を有する。【００５７】
予測画像の生成について、具体的には、動きベクトル決定部１０４から受領した動き情報が示す参照画像を予測画像とする。
イントラ予測部１０６は、符号化対象ブロックの隣接画素の画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と予測画像の生成に使用した予測モードを示す予測モード情報とをモード判定部１０７に送出する機能を有する。【００５８】
なお、イントラ予測部１０６が外部メモリ１１６から読み出す隣接画素の画像は、後述する加算部１１２により外部メモリ１１６に格納された復号画像である。
モード判定部１０７は、第１動き補償部１０３から受領したインターモードにおける差分情報と第２動き補償部１０５から受領したスキップモードにおける差分情報とイントラ予測部１０６とから受領したイントラモードにおける差分情報とに基づき、符号量が最小となる符号化モードを符号化対象ブロックの符号化モードとして決定する機能を有する。なお、インターモードにより符号化する場合の符号量には、上述の差分情報だけでなく動き情報の符号量も考慮する。【００５９】
また、モード判定部１０７は、決定した符号化モードを示すモード情報を動きベクトル投機算出部１０２と動きベクトル決定部１０４とに送出し、決定した符号化モードについての差分情報を直交変換部１０８に送出し、決定した符号化モードについての予測画像を加算部１１２に送出し、可変長符号化部１１４にモード情報と決定した符号化モードに応じた情報（インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報）を送出する。【００６０】
なお、モード判定部１０７は、決定した符号化モードに対応する動き情報（インターモードにおける動き情報、又はスキップモードにおける動き情報）を内部メモリに格納する。
直交変換部１０８は、モード判定部１０７から受領した差分情報に対し離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部１０９に送出する機能を有する。【００６１】
量子化部１０９は、直交変換部１０８から受領した係数情報に対し量子化処理を行い、量子化した係数情報を逆量子化部１１０と可変長符号化部１１４に送出する機能を有する。
逆量子化部１１０は、量子化部から受領した量子化した係数情報に対し、逆量子化処理を行い、処理結果である係数情報を逆直交変換部１１１に送出する機能を有する。【００６２】
逆直交変換部１１１は、逆量子化部１１０から受領した係数情報に対し、逆直交変換処理を行い、処理結果である差分情報を加算部１１２に送出する機能を有する。
加算部１１２は、モード判定部１０７から受領した予測画像と、逆直交変換部１１１から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し、生成した復号画像をデブロックフィルタ部１１３へ送出すると共に、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。【００６３】
デブロックフィルタ部１１３は、加算部１１２から受領した復号画像に対し、デブロックフィルタによるブロック歪の除去処理（以下、「デブロック処理」という）を行い、デブロック処理後の復号画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。
可変長符号化部１１４は、量子化部１０９から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い、処理後の符号化ストリームを、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。なお、モード判定部１０７から受領したモード情報と決定した符号化モードに応じた情報は符号化ストリームにおけるヘッダの生成に使用される。【００６４】
ＤＭＡコントローラ１１５は、各部からの外部メモリ１１６へのアクセス要求を調停し、外部メモリ１１６と内部メモリとの間のデータ転送を行う一般的なＤＭＡコントローラである。
外部メモリ１１６は、各符号化対象ブロックと、加算部により格納された復号画像と、デブロックフィルタ部１１３により格納されたデブロック処理後の復号画像と、可変長符号化部１１４により格納された符号化ストリームとを記憶するＤＲＡＭなどで構成されたメモリである。【００６５】
＜動作＞
次に、上記構成を備える画像符号化装置１００の動作について、図３を用いて説明する。
図３は、画像符号化装置１００の動作を示すフローチャートである。
以下では、画像符号化装置１００の処理をパイプラインステージ毎に説明する。なお、第１ステージから第４ステージまでの各パイプラインステージは、異なるマクロブロックを処理対象として並列して処理する。【００６６】
＜第１ステージの動作＞
まず、第１ステージでの画像符号化装置１００の動作について説明する。第１ステージでは、以下説明する動き検出部１０１の処理（ステップＳ０１〜０３）と、動きベクトル投機算出部１０２の処理（ステップＳ０４、０５）とは、並行して実行される。
動き検出部１０１は、符号化対象ブロックの原画像と動きベクトルの探索対象である探索領域画像とを、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ０１、Ｓ０２）。【００６７】
動き検出部１０１は、探索領域画像から符号化対象ブロックの原画像と最も類似度が高いマクロブロックを探索して動きベクトルを検出し（ステップＳ０３）、第１動き補償部１０３に検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を送出する。
一方、動きベクトル投機算出部１０２は、符号化対象ブロックの前ブロックの符号化モードをイントラモードとインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補（ｍ１〜ｍ３）を算出し（ステップＳ０４）、算出した動き情報候補（ｍ１〜ｍ３）を動きベクトル決定部１０４に送出する。【００６８】
また、動きベクトル投機算出部１０２は、動き情報候補（ｍ１〜ｍ３）それぞれが示す参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ０５）。
＜第２ステージの動作＞
次に、第２ステージでの画像符号化装置１００の動作について説明する。【００６９】
第２ステージでは、以下説明する第１動き補償部１０３の処理（ステップＳ０６、０７）と、動きベクトル決定部１０４及び第２動き補償部１０５の処理（ステップＳ０８〜１０）と、イントラ予測部１０６の処理（ステップＳ１１、１２）とは、並行して実行される。
第１動き補償部１０３は、動き検出部１０１から受領した動き情報に基づいてインターモードにおける符号化対象ブロックの予測画像を生成する（ステップＳ０６）。【００７０】
第１動き補償部１０３は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ０７）、算出した差分情報と、生成した予測画像と、動き検出部１０１から受領した動き情報とをモード判定部１０７に送出する。
また、動きベクトル決定部１０４は、動きベクトル投機算出部１０２から受領した動き情報候補（ｍ１〜ｍ３）から、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択し（ステップＳ０８）、選択した動き情報を第２動き補償部１０５に送出する。【００７１】
第２動き補償部１０５は、動きベクトル決定部１０４から受領した動き情報に基づいてスキップモードにおける符号化対象ブロックの予測画像を生成する（ステップＳ０９）。
第２動き補償部１０５は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ１０）、算出した差分情報と、生成した予測画像と動きベクトル決定部１０４から受領したスキップモードにおける動き情報をモード判定部１０７に送出する。【００７２】
また、イントラ予測部１０６は、符号化対象ブロックの隣接画素の画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成する（ステップＳ１１）。
イントラ予測部１０６は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ１２）、算出した差分情報と、生成した予測画像と、予測モード情報とをモード判定部１０７に送出する。【００７３】
モード判定部１０７は、第１動き補償部１０３と第２動き補償部１０５とイントラ予測部１０６からそれぞれ受領した差分情報に基づいて各符号化モード（インターモード、スキップモード、イントラモード）のうち、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する（ステップＳ１３）。
モード判定部１０７は、決定した符号化モードを示すモード情報を動きベクトル投機算出部１０２と動きベクトル決定部１０４に、決定した符号化モードにおける差分情報を直交変換部１０８に、決定した符号化モードにおける予測画像を加算部１１２に、モード情報と決定した符号化モードに応じた情報（インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報）を可変長符号化部１１４に送出する。【００７４】
＜第３ステージの動作＞
次に、第３ステージでの画像符号化装置１００の動作について説明する。
直交変換部１０８は、モード判定部１０７から受領した差分情報に対して離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部１０９に送出し（ステップＳ１４）、量子化部１０９は、直交変換部１０８から受領した係数情報に対して量子化処理を行い、量子化した係数情報を逆量子化部１１０と可変長符号化部１１４に送出する（ステップＳ１５）。【００７５】
逆量子化部１１０は、量子化部から受領した量子化した係数情報に対して逆量子化処理を行い、処理結果である係数情報を逆直交変換部１１１に送出し（ステップＳ１６）、逆直交変換部１１１は、逆量子化部１１０から受領した係数情報に対して逆直交変換処理を行い、処理結果である差分情報を加算部１１２に送出する（ステップＳ１７）。
＜第４ステージの動作＞
次に、第４ステージでの画像符号化装置１００の動作について説明する。【００７６】
第４ステージでは、以下説明する加算部１１２とデブロックフィルタ部
１１３の処理（ステップＳ１８〜２０）と、可変長符号化部１１４の処理（ステップＳ２１、２２）とは、並行して実行される。
加算部１１２は、モード判定部１０７から受領した予測画像と、逆直交変換部１１１から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し（ステップＳ１８）、生成した復号画像をデブロックフィルタ部１１３へ送出すると共に、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する。【００７７】
デブロックフィルタ部１１３は、加算部１１２から受領した復号画像に対してデブロック処理を行い（ステップＳ１９）、デブロック処理後の復号画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する（ステップＳ２０）。
可変長符号化部１１４は、量子化部１０９から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い（ステップＳ２１）、処理後の符号化ストリームを、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する（ステップＳ２２）。【００７８】
＜考察＞
以下、本実施の形態に係る画像符号化装置１００が奏する効果について、特許文献１における画像符号化装置と比較して説明する。
特許文献１における画像符号化装置では、前ブロックの代わりに他の近傍ブロックの動き情報を用いて、符号化対象ブロックのスキップモードにおける動き情報を生成しているため、パイプラインによる符号化処理の高速化を維持することはできるが、後に決定した前ブロックの動き情報と近傍ブロックの動き情報とが相違する場合には、スキップモードによる符号化ができないという問題がある。【００７９】
一方、画像符号化装置１００は、符号化対象ブロックの前ブロックが選択し得る全ての動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、前ブロックの動き情報決定後に、算出した動き情報効果から、決定した前ブロックの動き情報に対応する１つの動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択する。【００８０】
従って、パイプラインによる符号化処理の高速化を維持しつつ、各マクロブロックについて確実にスキップモードによる符号化が可能となるため、符号化量を削減することができる。
＜実施の形態２＞
＜概要＞
実施の形態１の動きベクトル投機算出部１０２は、前ブロックが選択しうる全ての符号化モード（イントラモード、インターモード、スキップモード）のそれぞれに対する各動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものである。【００８１】
しかし、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものとすると、動きベクトル投機算出部１０２の処理時間、特に参照画像の転送処理時間が大きくなり、また、全ての参照画像を格納するための大容量の内部メモリが必要となる。
そこで、実施の形態２の動きベクトル投機算出部は、前ブロックが選択し得る各符号化モードのうち、画質や符号化効率の向上に有効な符号化モード、具体的にはインターモードとスキップモードとに対する各動き情報のみに基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、各動き情報候補が示す参照画像を取得する。【００８２】
これにより、動きベクトル投機算出部の処理時間、特に参照画像の転送処理時間を抑え、また、内部メモリの容量を削減することができる。
＜構成＞
まず、実施の形態２に係る画像符号化装置２００の構成について、図４を用いて説明する。【００８３】
図４は、画像符号化装置２００の機能構成図である。
同図に示すように、画像符号化装置２００は、動き検出部１０１、第１動き補償部１０３、第２動き補償部１０５、イントラ予測部１０６、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４、ＤＭＡコントローラ１１５、外部メモリ１１６、動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４を含んで構成される。【００８４】
動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４以外については、実施の形態１に係る画像符号化装置１００と同様であるため、説明は省略する。
また、画像符号化装置２００は、図示していないが、ＣＰＵ（Central Processing Unit）及び内部メモリを備え、上述の動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。【００８５】
また、本実施の形態では、動きベクトル投機実行部４０１の処理は、第１ステージに、確認部２０２の処理と動きベクトル決定部２０３の処理とモード判定部２０４の処理とは、第２ステージに相当するようパイプラインを構成している。
動きベクトル投機算出部２０１は、基本的には、画像符号化装置１００の動きベクトル投機算出部１０２と同様の機能を有するが、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出し、動きベクトル決定部２０３に送出すると共に、算出した動き情報候補（ｍ２、ｍ３）が示す各参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出しておく点で、動きベクトル投機算出部１０２とは異なる。【００８６】
確認部２０２は、モード判定部２０４から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるかを確認し、動きベクトル決定部２０３及びモード判定部２０４に確認結果を示す確認結果情報を送出する機能を有する。
動きベクトル決定部２０３は、基本的には、画像符号化装置１００の動きベクトル決定部１０４と同様の機能を有するが、確認部２０２から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、符号化対象ブロックのスキップモードにおける動き情報の選択を行わない点で、ベクトル決定部１０４とは異なる。【００８７】
モード判定部２０４は、基本的には、画像符号化装置１００のモード判定部１０７と同様の機能を有するが、確認部２０２から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、スキップモード以外のモードを符号化対象ブロックの符号化モードとして決定する点で、モード判定部１０７とは異なる。【００８８】
つまり、前ブロックの符号化モードがイントラモードである場合には、第１動き補償部１０３から受領したインターモードにおける差分情報とイントラ予測部１０６とから受領したイントラモードにおける差分情報とに基づき、インターモードとイントラモードとのうち符号量が小さくなる符号化モードを、符号化対象ブロックの符号化モードとして決定する。【００８９】
＜動作＞
次に、上記構成を備える画像符号化装置２００の動作について、図５を用いて説明する。
図５は、画像符号化装置２００の動作を示すフローチャートである。同図に示すステップＳ０１〜Ｓ２２の処理は、図３に示す実施の形態１に係る画像符号化装置１００の同符号の処理と同様であるため、説明は省略し、以下では、相違点のみについて説明する。【００９０】
第１ステージにおいて、動き検出部１０１の処理（ステップＳ０１〜０３）と並行して、動きベクトル投機算出部２０１は、符号化対象ブロックの前ブロックの符号化モードをインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出し（ステップＳ３１）、算出した動き情報候補（ｍ２、ｍ３）を動きベクトル決定部２０３に送出する。【００９１】
また、動きベクトル投機算出部２０１は、動き情報候補（ｍ２、ｍ３）それぞれが示す参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ３２）。
第２ステージにおいて、第１動き補償部１０３の処理（ステップＳ０６、０７）と、イントラ予測部１０６の処理（ステップＳ１１、１２）と並行して、確認部２０２は、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるか否かを確認し（ステップＳ３３）、確認結果を示す確認結果情報を動きベクトル決定部２０３とモード判定部２０４とに送出する。【００９２】
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードである旨を示す場合には（ステップＳ３３：Ｙ）、動きベクトル決定部２０３は、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、動きベクトル投機算出部２０１から受領した動き情報候補（ｍ２、ｍ３）から符号化対象ブロックのスキップモードにおける動き情報として選択し（ステップＳ３４）、選択した動き情報を第２動き補償部１０５に送出する。【００９３】
第２動き補償部１０５は、実施の形態１で説明したように、スキップモードにおける符号化対象ブロックの予測画像の生成（ステップＳ０９）と、符号化対象ブロックの予測画像と原画像との差分情報の算出（ステップＳ１０）とを行い、算出した差分情報と、生成した予測画像と、動きベクトル決定部２０３から受領したスキップモードにおける動き情報とをモード判定部２０４に送出する。【００９４】
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードでない旨、即ちイントラモードである旨を示す場合には（ステップＳ３３：Ｎ）、ステップＳ３４、Ｓ０９、Ｓ１０の処理を行わず、以降説明するステップＳ３５に進む。
モード判定部１０７は、受領している差分情報とに基づき、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する（ステップＳ３５）。【００９５】
つまり、前ブロックの符号化モードがインターモード又はスキップモードである旨を示す確認結果情報を確認部２０２から受領している場合には、第１動き補償部１０３と第２動き補償部１０５とイントラ予測部１０６とからそれぞれ差分情報を受領しているため、３つの差分情報に基づいて符号化対象ブロックの符号化モードを決定する。
一方、前ブロックの符号化モードがインターモード又はスキップモードでない旨、即ち、イントラモードである旨を示す確認結果情報を確認部２０２から受領している場合には、第２動き補償部１０５から差分情報を受領していないため、第１動き補償部１０３とイントラ予測部１０６とから受領した２つの差分情報に基づき、符号化対象ブロックの符号化モードを決定する。
＜補足＞
以上、本発明に係る画像符号化装置について実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの画像符号化装置に限られないことは勿論である。即ち、
（１）各実施の形態において、動き検出部１０１が動き検出を行う際に用いる探索領域画像は、符号化対象ブロックを含む符号化対象画像の１つの前の画像に対する復号画像であるとして説明したが、１つ前の画像に対するもの限らず、複数枚前の画像に対する復号画像であってもよい。【００９６】
また、探索領域画像は、符号化対象画像の１つの前の画像に対する復号画像全体であるとして説明したが、その一部であってもよい。例えば、符号化対象画像の１つの前の画像に対する復号画像において、符号化対象ブロックと同じ位置にあるブロックとその周囲１５画素の範囲の画像としてもよい。
（２）各実施の形態においては、４ステージパイプラインにより処理を行うものとして説明したが、ＣＰＵの処理能力に応じて、例えば、実施の形態１における第３ステージと第４ステージとを１つのステージにするよう構成し、３ステージパイプラインにより処理することとしてもよい。【００９７】
（３）実施の形態１における動きベクトル投機算出部１０２は、符号化対象ブロックのスキップモードにおける動き情報候補を算出するものとして説明したが、空間ダイレクトモードにおける動き情報候補を算出するものとしてもよい。
なお、スキップモードにおいては、前ブロックの符号化モードがいずれのモードであっても参照画像番号は「０」であるとして説明したが、空間ダイレクトモードの場合、Ｌ０、Ｌ１方向それぞれについて、隣接ブロックの各参照画像番号のうち、最小の参照画像番号を符号化対象ブロックの参照画像番号とする点でスキップモードの場合とは異なる。【００９８】
ただし、隣接ブロックの参照画像番号が「−１」、即ち隣接ブロックの符号化モードがイントラモードである等の場合には、符号化対象ブロックの空間ダイレクトモードにおける参照画像番号は「０」となる。
なお、実施の形態２の動きベクトル投機算出部２０１においても同様に変形することが可能である。【００９９】
（４）実施の形態２において、動きベクトル投機算出部２０１は、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとにおける各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出するものとして説明したが、これに限られるものではなく、例えば、イントラモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ１、ｍ３）を算出するものとしてもよいし、スキップモードに対する動き情報のみに基づいて、符号化対象ブロックの動き情報候補（ｍ３）を算出するものとしてもよい。【０１００】
また、動きベクトル投機算出部２０１が算出する動き情報候補の個数に制限はなく、ＣＰＵの処理能力等に応じて決定することが可能である。
（５）各実施の形態において、イントラ予測部１０６の処理が第２ステージの処理に含まれるものとして説明したが、イントラ予測部１０６の処理は、第１ステージの処理に含まれるものとしてもよい。つまり、イントラ予測部１０６の処理は、モード判定部１０７（又は２０４）が符号化対象ブロックの符号化モードを決定するまでに、完了していればよい。【０１０１】
（６）実施の形態１において、動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現するものとして説明したが、その処理の一部又は全部をハードウェアにより実現してもよい。【０１０２】
その際、各機能は、典型的には集積回路であるＬＳＩとして実現されるが、これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
なお、実施の形態２における動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４の各機能についても同様である。
（７）各実施の形態において、画像符号化装置の各機能を実現するためにＣＰＵに実行させるプログラムを、記録媒体に記録し、又は各種通信路等を介して流通させ、頒布させることもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ等がある。流通、頒布されたプログラムは、プロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがそのプログラムを実行することにより、各実施の形態で示したような画像符号化装置の各種機能が実現されるようになる。【０１０３】
（８）各実施の形態に係る画像符号化装置は、ＭＰＥＧ４ＡＶＣ規格に準拠するものとして説明したが、他の圧縮符号化方式、例えばＭＰＥＧ４等に準拠するものであってもよい。
【産業上の利用可能性】
【０１０４】
本発明に係る画像符号化装置は、符号化処理の高速化を図るために利用される。
【図１】
2007136088.tif 000003
【図２】
2007136088.tif 000004
【図３】
2007136088.tif 000005
【図４】
2007136088.tif 000006
【図５】
2007136088.tif 000007
【図６】
2007136088.tif 000008
【図７】
2007136088.tif 000009
【手続補正書】
【提出日】平成20年11月14日(2008.11.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、
前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備える
ことを特徴とする画像符号化装置。
【請求項２】
前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、
各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
ことを特徴とする請求項１記載の画像符号化装置。
【請求項３】
各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む
ことを特徴とする請求項１記載の画像符号化装置。
【請求項４】
前記画像符号化装置は、更に
各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第３処理手段を備え、
前記第２処理手段は、前記第１処理手段による処理が完了したブロックについての予測画像を、前記第３処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択する
ことを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記予測画像候補特定情報は、前記第２処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項６】
各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項７】
前記画像符号化装置は、第１ステージと第２ステージとの２つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、
前記第１処理手段は、各ブロックを処理対象として逐次、
他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第１ステージの処理を実行するものであり、
前記第２処理手段は、
前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、
前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第１処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第２ステージの処理を実行するものである
ことを特徴とする請求項１記載の画像符号化装置。
【請求項８】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、
前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含む
ことを特徴とする画像符号化方法。
【請求項９】
画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、
前記圧縮符号化処理は、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、
前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含む
ことを特徴とするコンピュータプログラム。
【請求項１０】
画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、
各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、
前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備える
ことを特徴とする画像符号化用集積回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像を圧縮符号化する画像符号化装置に関し、特に圧縮符号化処理の高速化に関する。
【背景技術】
【０００２】
画像の圧縮符号化方式であるＭＰＥＧ４ＡＶＣ（Motion Pictures Experts Group 4 Advanced Video Coding）規格には、符号化モードとして、スキップモードと空間ダイレクトモードとが規定されている。
両符号化モードは、共に圧縮符号化（以下、単に「符号化」ともいう）の対象となる画像（以下、「符号化対象画像」という）を、所定サイズ、例えば１６×１６画素のマクロブロック単位で処理する際に、現在の処理対象であるマクロブロック（以下、「符号化対象ブロック」という）の動きベクトルと符号化対象ブロックの予測に使用する、符号化対象ブロックと同サイズの参照画像を識別する参照画像番号（以下、両者の組を「動き情報」という）とを、その符号化対象ブロックに隣接する複数のマクロブロック（以下、「隣接ブロック」という）の動き情報に基づいて算出する。そして、算出した動き情報に基づいて予測した、符号化対象ブロックの予測画像と符号化対象ブロックの原画像との差分情報を符号化する。
【０００３】
つまり、スキップモード又は空間ダイレクトモード（以下、「スキップモード等」ともいう）により符号化したマクロブロックの動き情報は、復号する際に隣接ブロックの動き情報から算出できるため、符号化対象ブロックの動き情報を符号化する必要がなく、即ち、符号化対象ブロックの予測画像と原画像との差分情報のみを符号化すればよいため、スキップモード等により符号化することによって、符号量を減らすことができる。
【０００４】
ところで、画像の符号化処理を高速化するために、各マクロブロックについて、パイプラインにより並列に処理する技術が知られている。
上述の通り、符号化対象ブロックをスキップモード等により符号化するためには、隣接ブロックの動き情報が必要となる。
従って、例えば、パイプラインステージを、各マクロブロックについて順次、スキップモード等により符号化する場合の動き情報を算出する第１ステージと第１ステージの処理が完了したマクロブロックについて、スキップモード等により符号化した場合の符号量に基づいてスキップモード等により符号化するかを判定する第２ステージとに分けて構成した場合に、符号化対象ブロックについての第１ステージの処理を開始する際に、符号化対象ブロックに対する全ての隣接ブロックについての第２ステージの処理が完了していない場合には、各隣接ブロックについて符号化モードが決定していないこととなる。
【０００５】
即ち、各隣接ブロックについての動き情報が決定していないため、第１ステージにおいて、符号化対象ブロックについてのスキップモード等における動き情報の算出ができないこととなる。
この問題を解決する技術として、例えば特許文献１の画像符号化装置がある。以下、特許文献１における画像符号化装置について説明する。
【０００６】
特許文献１における画像符号化装置は、符号化対象画像をマクロブロック単位でパイプラインにより並列に符号化する画像符号化装置であり、符号化対象画像の左上のマクロブロックから水平方向に１行分処理し、次の行の処理に進み、右下のマクロブロックまで順に処理する。
特許文献１における画像符号化装置は、符号化対象ブロックの処理を開始する際に、隣接ブロックの１つである、符号化対象ブロックの左のマクロブロック（以下、「前ブロック」という）の動き情報の算出が完了していない場合に、前ブロックの代わりに動きベクトルの算出が完了している、前ブロックの左のブロック（以下、「近傍ブロック」という）の動き情報を用いて、符号化対象ブロックのスキップモード等における動き情報を生成する。
【０００７】
その後、前ブロックの動き情報の算出が完了すると、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致するかを確認し、一致する場合には、スキップモード等により符号化対象ブロックを符号化できることとなる。
このように、特許文献１における画像符号化装置では、前ブロックの動き情報の算出が完了していなくても、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、パイプラインによる並列処理を妨げることなく符号化処理の高速化を実現できる。
【特許文献１】特許第３８７９７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１における画像符号化装置では、近傍ブロックの動き情報を用いて符号化対象ブロックの動きベクトルの算出を行うため、算出された前ブロックの動き情報と近傍ブロックの動き情報が一致せず、スキップモード等により符号化できない場合も少なくない。
そこで、本発明は係る問題に鑑みてなされたものであり、従来とは異なる方法により、符号化処理の高速化を図ることができる画像符号化装置を提供する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る画像符号化装置は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化装置であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備えることを特徴とする。
【００１０】
また、上記課題を解決するために、本発明に係る画像符号化装置による画像符号化方法は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化方法であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含むことを特徴とする。
【００１１】
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられるコンピュータプログラムは、画像について、所定サイズのブロック単位で圧縮符号化する圧縮符号化処理をコンピュータに行わせるためのコンピュータプログラムであって、前記圧縮符号化処理は、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理ステップと、前記第１処理ステップにおいて１のブロックが処理されるのと並行して、当該第１処理ステップによる処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理ステップとを含むことを特徴とする。
【００１２】
また、上記課題を解決するために、本発明に係る画像符号化装置に用いられる画像符号化用集積回路は、画像について、所定サイズのブロック単位で圧縮符号化する画像符号化用集積回路であって、各ブロックを処理対象として逐次、当該ブロックの予測画像の候補を特定する予測画像候補特定情報を、当該ブロックの前に処理された前ブロックの予測画像候補特定情報に基づき生成する第１処理手段と、前記第１処理手段において１のブロックが処理されるのと並行して、当該第１処理手段による処理が完了したブロックについての予測画像を、当該ブロックの予測画像候補特定情報が示す予測画像の候補から、当該ブロックの前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づいて選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成する第２処理手段とを備えることを特徴とする。
【００１３】
ここで、所定サイズのブロックは、ｎ×ｎ画素、例えば１６×１６画素のマクロブロックであり、予測画像は、各ブロックと同サイズの画像である。
【発明の効果】
【００１４】
上述の構成を備える本発明に係る画像符号化装置は、第１処理手段では、各ブロックについて、そのブロックの予測画像候補特定情報を前ブロックの予測画像候補特定情報に基づいて生成しておき、第２処理手段では、第１処理手段による処理と並行して、第１処理手段による処理が完了した１のブロックについての予測画像を、そのブロックの予測画像候特定情報が示す予測画像の候補から、前ブロックに対して選択された１つの予測画像を特定する予測画像特定情報に基づき選択するため、各ブロックについて、第１処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
【００１５】
即ち、各ブロックについて、そのブロックの前ブロックの予測画像の決定を待たずに符号化処理を開始できるため、符号化処理の高速化を実現できる。
また、予測画像候補特定情報として、例えば動き情報（動きベクトルと参照画像）の候補を使用することにより、各ブロックの予測画像候補特定情報は、前ブロックの動き情報の候補に基づいて生成された動き情報の候補となり、ＭＰＥＧ４ＡＶＣにおけるスキップモードや空間ダイレクトモードによる符号化が可能となり、符号量を抑えることができる。
【００１６】
また、前記画像符号化装置は、逐次入力される画像を圧縮符号化するものであり、各ブロックについて、当該ブロックの予測画像候補特定情報は、他の画像を探索することにより検出した動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むとしてもよい。
これにより、他の画像を探索することにより検出した動きベクトルとして、例えばＭＰＥＧ４ＡＶＣにおける画面間予測（インターモード）で規定されている動きベクトルを用いることにより、予測画像候補特定情報には、画面間予測（インターモード）における予測画像を特定する特定情報が含まれる。
【００１７】
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、
当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含むこととしてもよい。
【００１８】
これにより、例えば、隣接ブロックを、ＭＰＥＧ４ＡＶＣ規格のスキップモードにおいて用いられる所定のマクロブロックとすることにより、予測画像候補特定情報が示す予測画像の候補には、スキップモードや空間ダイレクトモードにより符号化した場合の予測画像が含まれるため、この予測画像が選択された場合に、符号量を抑えることができる。
また、前記画像符号化装置は、更に各ブロックを処理対象として逐次、当該ブロックに対して所定位置にある画素の画素値に基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含ませる第３処理手段を備え、前記第２処理手段は、前記第１処理手段による処理が完了したブロックについての予測画像を、前記第３処理手段が前記特定情報を含ませた予測画像候補特定情報が示す予測画像の候補から選択することとしてもよい。
【００１９】
これにより、所定位置にある画素の画素値として、例えばＭＰＥＧ４ＡＶＣにおける画面内予測（イントラモード）で規定されている所定の画素の画素値を用いることにより、予測画像候補特定情報には、画面内予測（イントラモード）における予測画像の候補を特定する特定情報が含まれる。
従って、予測画像特定情報が示す複数の予測画面の候補から、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
【００２０】
また、前記予測画像候補特定情報は、前記第２処理手段による処理が完了したブロックの予測画像特定情報にも基づいて生成したものであるとしてもよい。
これにより、例えば、第１処理手段による処理対象のブロックをＭＢｎ、第２処理手段による処理対象のブロックをＭＢｎ−１、第２処理手段による処理が完了したブロックをＭＢｎ−２とすると、ＭＢｎの予測画像候補特定情報は、ＭＢｎ−２の予測画像候補特定情報に基づいて生成された、ＭＢｎ−１の予測画像候補特定情報に基づいて生成されることになるが、第２処理手段による処理が完了したＭＢｎ―２の予測画像特定情報に基づいて、ＭＢｎの予測画像候補特定情報を生成することにより、ＭＢｎの予測画像候補特定情報が示す予測画像の候補の数の増大を抑えることができる。
【００２１】
また、各ブロックについて、当該ブロックの予測画像候補特定情報は、当該ブロックの前ブロックの予測画像の候補の一部のみを特定する情報に基づいて生成したものであることとしてもよい。
これにより、符号化対象ブロックの予測画像候補特定情報は、その前ブロックの予測画像候補の一部のみを特定する情報に基づいて生成するため、予測画像候補特定情報が示す予測画像の候補の数を抑えることにより、画像符号化装置の処理負荷を減らすことができる。
【００２２】
また、前記画像符号化装置は、第１ステージと第２ステージとの２つのパイプラインステージから構成されるパイプラインにより処理を行うものであり、前記第１処理手段は、各ブロックを処理対象として逐次、他の画像を探索することにより検出した当該ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を含む前記予測画像候補特定情報を生成する動き検出部と、当該ブロックに対して所定位置にある前記前ブロックを含む複数の隣接ブロックの動きベクトルに基づいて生成した予測画像の候補を特定する特定情報を前記予測画像候補特定情報に含める動きベクトル投機算出部とを含み、前記第１ステージの処理を実行するものであり、前記第２処理手段は、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動きベクトル投機算出部が生成した特定情報が示す予測画像の候補を前記前ブロックについての予測画像特定情報に基づいて絞り込む動きベクトル決定部と、前記動きベクトル決定部が絞り込んだ予測画像の候補と、前記予測画像候補特定情報が示す予測画像の候補のうち、前記動き検出部が生成した特定情報が示す予測画像の候補とから、前記第１処理手段による処理が完了したブロックについての予測画像を選択し、圧縮符号化結果に反映されるべき差分信号として、選択された１つの予測画像と原画像との差分信号を出力し、選択された１つの予測画像を特定する予測画像特定情報を生成するモード判定部とを含み、前記第２ステージの処理を実行するものであることとしてもよい。
【００２３】
これにより、各ブロックについて、第１処理手段において生成される予測画像候補特定情報には、動きベクトル投機算出部が前ブロックの予測画像候補特定情報に基づいて生成したそのブロックの予測画像の候補を特定する特定情報を含み、第２処理手段における動きベクトル決定部が、動きベクトル投機算出部により生成された特定情報が示すそのブロックの予測画像の候補を、前ブロックについての予測画像特定情報に基づき絞り込むため、各ブロックについて、第１処理手段による処理開始時にそのブロックの前ブロックに対する予測画像が決定されていなくても、そのブロックの圧縮符号化処理を開始することができる。
【００２４】
また、各ブロックについて、第１処理手段において生成される予測画像候補特定情報には、動き検出部において生成された特定情報を含み、第２処理手段におけるモード判定部は、動きベクトル決定部が絞り込んだ予測画像の候補と、予測画像候補特定情報が示す予測画像の候補のうち、動き検出部が生成した特定情報が示す予測画像の候補とから、予測画像を選択するため、例えば符号量が最小となる予測画像をブロック毎に選択することによって、符号量を抑えた圧縮符号化が可能となる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
＜実施の形態１＞
＜概要＞
実施の形態１に係る画像符号化装置は、ＭＰＥＧ４ＡＶＣ規格に準拠し、符号化対象画像を、所定サイズ（例えば、１６×１６画素）のマクロブロック単位でパイプライン処理により符号化する画像符号化装置を改良したものである。
【００２６】
実施の形態１に係る画像符号化装置は、イントラモードとインターモードとスキップモードとの３つの符号化モードうち、符号量が最小になる符号化モードをマクロブロック毎に選択し、選択した符号化モードによりそのマクロブロックを符号化する。
以下、各符号化モードについて簡単に説明する。
イントラモードとは、符号化対象のマクロブロックである符号化対象ブロックに隣接する画素（以下、「隣接画素」という）の画素値に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。
【００２７】
ここで、隣接画素について図６を用いて説明する。
図６は、符号化対象ブロックと隣接画素との関係を説明するための図である。
隣接画素とは、同図に示す符号化対象ブロックの左のマクロブロックの１６画素（同図Ａの画素）と上のマクロブロックの１６画素（同図Ｂの画素）をいう。
予測画像の生成は、複数の予測モード（垂直予測、水平予測等）から１つの予測モードを選択して、選択した予測モードに対応した隣接画素内の画素値、つまり、予測モード毎に異なる隣接画素内の画素値を用いて行う。
【００２８】
予測モードとして、例えば垂直予測を選択する場合、符号化対象ブロックの各列の画素の画素値は、同列にある同図Ｂの各画素の画素値と等しいものとして予測画像を生成する。
なお、予測モードの選択方法については、従来技術であるため詳細な説明は省略するが、例えば周辺のマクロブロックの予測モードに基づいて選択する方法などを用いることができる。
【００２９】
インターモードとは、符号化対象ブロックを含む符号化対象画像と異なる画像（以下、「探索領域画像」という）を探索することにより、符号化対象ブロックと似たブロックへの相対位置を示すための動きベクトルを検出し、検出した動きベクトルと探索領域画像を示す参照画像番号とからなる動き情報に基づき符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報と動き情報とを符号化する符号化モードである。
【００３０】
スキップモードとは、符号化対象ブロックに隣接する複数のマクロブロックである隣接ブロックの動き情報を用いて符号化対象ブロックの動き情報を算出し、算出した動き情報に基づいて符号化対象ブロックの予測画像を生成し、生成した予測画像と符号化対象ブロックの原画像との差分情報を符号化する符号化モードである。このようにスキップモードでは、差分情報のみを符号化し、動き情報を符号化する必要がないため、符号量を抑えることができる。
【００３１】
ここで、隣接ブロックについて、図７を用いて説明する。
図７は、符号化対象ブロックと隣接ブロックとの関係を説明するための図である。同図に示すＡ〜Ｆのマクロブロックのうち、ブロックＥをスキップモードにおける符号化対象ブロックとすると、隣接ブロックとは、ブロックＢ〜Ｄのことをいう。
ただし、ブロックＣが符号化対象画像に存在しない等、ブロックＣの動き情報を用いることができない場合には、ブロックＣに代えてブロックＡをブロックＥの隣接ブロックとし、更にブロックＡ〜Ｃの全てが符号化対象画像内に存在しない等、ブロックＡ〜Ｃの全ての動き情報を用いることができない場合には、ブロックＤのみをブロックＥの隣接ブロックとする。なお、以下では、符号化対象ブロックＥの左のブロックＤを「前ブロック」と呼ぶ。
【００３２】
ブロックＢ〜ＤをブロックＥの隣接ブロックとした場合、ブロックＥの動きベクトルは、ブロックＢ〜Ｄの各動きベクトルの水平成分及び垂直成分それぞれについての中央値（メディアン）を取り、求めたものである。なお、隣接ブロックの中に符号化モードがイントラモードであるマクロブロックがある場合、そのマクロブロックの動きベクトルは「０」であるとして、ブロックＥの動きベクトルを算出する。
【００３３】
また、ブロックＥのスキップモードにおける参照画像は、ブロックＥを含む符号化対象画像の１つ前に表示される画像であり、参照画像番号は「０」である。
なお、参照画像番号は、表示順において符号化対象ブロックを含む符号化対象画像を基準にした参照画像の位置（相対位置）を示す番号であり、表示順が符号化対象画像から離れるほど、大きな参照画像番号が割り当てられる。
【００３４】
以下、実施の形態１に係る画像符号化装置について、図１を用いて具体的に説明する。
図１は、実施の形態１に係る画像符号化装置のパイプライン処理の流れを説明するための図である。
実施の形態１に係る画像符号化装置は、符号化対象画像について、マクロブロック毎に符号量が最小となる符号化モードを選択して、選択した符号化モードによりそのマクロブロックを符号化するものであり、符号化対象画像の左上のマクロブロックから水平方向に１行分処理して、次の行の処理に移り、右上のマクロブロックまで順に処理する。
【００３５】
同図に示すように、実施の形態１に係る画像符号化装置の処理は、第１ステージから第４ステージまでの４ステージパイプラインにより構成され、各タイムスロット（ＴＳ１、ＴＳ２、ＴＳ３、ＴＳ４、・・・）において各パイプラインステージにおける処理は並行して行われる。
以下、符号化対象画像において、ｎ番目に処理を開始されるマクロブロック（ＭＢｎ）に着目して、各パイプラインステージにおける処理の概要を説明する。
【００３６】
まず、第１ステージでは、ＭＢｎについてインターモードにより符号化する場合の動き情報の検出とスキップモードにより符号化する場合の動き情報の算出を並行して行う。
次に、第２ステージでは、ＭＢｎについて各符号化モードで符号化する場合の予測画像の生成と、各予測画像と原画像との差分情報の算出を並行して行い、符号量が最小となる符号化モードをＭＢｎの符号化モードとして決定する。
【００３７】
次に、第３ステージ及び第４ステージでは、第２ステージで決定したＭＢｎの符号化モードによりＭＢｎを符号化し、符号化後の符号化ストリームを生成する。
ところで、第１ステージにおいて、ＭＢｎについてスキップモードにおける動き情報を算出するためには、ＭＢｎの前ブロックであるＭＢｎ−１の動き情報が必要となるが、ＭＢｎ−１の符号化モードは第２ステージの処理の完了により決定する。
【００３８】
従って、ＭＢｎについての第１ステージにおける処理を開始する時点（ＴＳ１の開始時点）で、ＭＢｎ−１は、第２ステージにおける処理を開始されようとしており、ＭＢｎ−１の符号化モードは決定していない。即ち、ＭＢｎ−１の動き情報は決定していない。
そのため、実施の形態１に係る画像符号化装置は、第１ステージにおいて、ＭＢｎ−１の符号化モードを、上述した各符号化モード（イントラモードとインターモードとスキップモード）それぞれに仮定した場合のＭＢｎのスキップモードにおける各動き情報（以下、「動き情報候補」という）を算出する。つまり、ＭＢｎのスキップモードにおける動き情報として３つの候補を算出する。
【００３９】
また、ＭＢｎについての第２ステージにおける処理を開始する時点（ＴＳ２の開始時点）では、ＭＢｎ−１についての第２ステージにおける処理は完了しているため、ＭＢｎ−１の符号化モードは決定している。
そのため、第２ステージでは、第１ステージにおいて算出したＭＢｎのスキップモードにおける３つの動き情報候補から、決定したＭＢｎ−１の符号化モードに対応する動き情報を、ＭＢｎのスキップモードにおける動き情報として選択し、選択した動き情報に基づいてＭＢｎのスキップモードにおける予測画像を生成し、生成した予測画像とＭＢｎの原画像との差分情報を算出する。
【００４０】
また、上記処理と並行して第２ステージでは、ＭＢｎのイントラモード及びインターモードおける予測画像をそれぞれ生成し、各予測画像とＭＢｎの原画像との差分情報をそれぞれ算出する。なお、ＭＢｎのインターモードにおける予測画像は、第１ステージにおいて検出した動き情報に基づいて生成する。
また、第２ステージでは、ＭＢｎについての各符号化モード（イントラモード、インターモード、スキップモード）における差分情報が算出されると、各符号化モードにおける差分情報から各符号化モードにおける符号量を算出して、最も符号量が小さくなる符号化モードを、ＭＢｎにおける符号化モードとして決定する。
【００４１】
このように、実施の形態１に係る画像符号化装置は、前ブロックの動き情報の決定を待つことなく符号化対象ブロックの処理を開始できるため、パイプラインによる符号化処理の高速化を維持しつつ、符号化対象ブロックについてスキップモードによる符号化が可能となるため、符号化量を抑えることができる。
＜構成＞
まず、実施の形態１に係る画像符号化装置１００の構成について、図２を用いて説明する。
【００４２】
図２は、画像符号化装置１００の機能構成図である。
同図に示すように、画像符号化装置１００は、動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４、ＤＭＡコントローラ１１５、外部メモリ１１６を含んで構成される。
【００４３】
また、画像符号化装置１００は、図示していないが、ＣＰＵ（Central Processing Unit）及び内部メモリを備え、上述の動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。
【００４４】
また、本実施の形態では、動き検出部１０１の処理と動きベクトル投機算出部１０２の処理とが第１ステージに、第１動き補償部１０３の処理と動きベクトル決定部１０４の処理と第２動き補償部１０５の処理とイントラ予測部１０６の処理とモード判定部１０７の処理とが第２ステージに、直交変換部１０８の処理と量子化部１０９の処理と逆量子化部１１０の処理と逆直交変換部１１１の処理と加算部１１２の処理とが第３ステージに、デブロックフィルタ部１１３の処理と可変長符号化部１１４の処理とが第４ステージに相当するようパイプラインを構成している。なお、第１ステージの処理は、本発明における第１処理手段に相当し、第２ステージの処理は、本発明における第２処理手段と第3処理手段とに相当する。
【００４５】
動き検出部１０１は、符号化対象ブロックについてのインターモードにおける動きベクトルを検出し、検出した動きベクトルと動きベクトルの検出に用いた探索領域画像を示す参照画像番号とからなる動き情報を動きベクトル投機算出部１０２及び第１動き補償部１０３に送出する機能を有する。
具体的には、動き検出部１０１は、符号化対象ブロック（例えば、１６×１６画素のマクロブロック）の原画像と動きベクトルの探索対象である探索領域画像とをＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリ（図示しない）に読み出し、読み出した符号化対象ブロックの原画像と探索領域画像との間でブロックマッチングを行い、探索領域画像において、符号化対象ブロックの原画像と最も類似度が高いマクロブロックを見つけることにより、そのマクロブロックへの相対位置を示す動きベクトルを検出する。
【００４６】
なお、動きベクトルの検出に関し、小数画素精度（１／２画素精度、１／４画素精度）の動きベクトルの検出も可能であるが、説明の便宜上、整数画素制度の動きベクトルの検出を行うものとして説明する。
また、探索領域画像は、後述するデブロックフィルタ部１１３により外部メモリ１１６に格納されたデブロック処理後の復号画像であり、以下では、例えば表示順において、符号化対象ブロックを含む符号化対象画像の１つ前の画像に対する復号画像であるとして説明する。
【００４７】
動きベクトルを検出すると、動き検出部１０１は、検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を動きベクトル投機算出部１０２及び第１動き補償部１０３に送出する。
動きベクトル投機算出部１０２は、符号化対象ブロックについてスキップモードにおける動き情報候補を算出し、算出した符号化対象ブロックの動き情報候補を動きベクトル決定部１０４に送出する機能を有する。
【００４８】
即ち、動きベクトル投機算出部１０２は、後述するモード判定部１０７により内部メモリに格納された、符号化対象ブロックの前ブロック以外の隣接ブロックの動き情報と、符号化モードが決定していない前ブロックが選択し得る全ての符号化モードに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補を算出する。
以下、動き情報候補の算出について、具体的に説明する。なお、前ブロックの符号化モードによらず、参照画像番号は「０」である。
【００４９】
前ブロックの符号化モードがイントラモードであると仮定した場合、前ブロックの動きベクトルは０であるとして、前ブロックを含む隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックがイントラモードであると仮定して算出した動き情報を「ｍ１」と呼ぶ。
また、前ブロックの符号化モードがインターモードであると仮定した場合、動き検出部１０１から受領した前ブロックのインターモードにおける動きベクトルと、他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがインターモードであると仮定して算出した動き情報を「ｍ２」と呼ぶ。
【００５０】
また、前ブロックの符号化モードがスキップモードであると仮定した場合、前ブロックについてもスキップモードにおける３つの動き情報候補を有することとなる。
そこで、動きベクトル投機算出部１０２は、後述するモード判定部１０７から受領した、前ブロックの左のマクロブロックに対して決定した符号化モードを示すモード情報を用いて、前ブロックのスキップモードにおける３つの動き情報候補から、前ブロックの左のマクロブロックに対して決定した符号化モードに対応する１つの動きベクトルを、前ブロックのスキップモードにおける動きベクトルとして選択し、選択した前ブロックのスキップモードにおける動き情報の動きベクトルと他の隣接ブロックの動きベクトルから符号化対象ブロックの動きベクトルを算出する。以下、前ブロックの符号化モードがスキップモードであると仮定して算出した動き情報を「ｍ３」と呼ぶ。
【００５１】
なお、動きベクトル投機算出部１０２は、符号化対象ブロックに対して算出した動き情報候補（ｍ１〜ｍ３）を内部メモリに格納しておく。格納された動き情報候補（ｍ１〜ｍ３）は、次に処理されるマクロブロックに対してｍ３の動き情報を算出する際に使用される。
また、動きベクトル投機算出部１０２は、算出した動き情報候補（ｍ１〜ｍ３）が示す各参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出しておく。この参照画像は、第２動き補償部１０５の後述する符号化対象ブロックのスキップモードにおける予測画像の生成処理に使用される。
【００５２】
第１動き補償部１０３は、動き検出部１０１から受領した符号化対象ブロックのインターモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動き情報とをモード判定部１０７に送出する機能を有する。
予測画像の生成について、具体的には、動き検出部１０１から受領した参照画像番号が示す探索領域画像において、動きベクトルが示すブロックを予測画像とする。
【００５３】
動きベクトル決定部１０４は、後述するモード判定部１０７から受領したモード情報が示す前ブロックの符号化モードに対応する１つの動き情報を、動きベクトル投機算出部１０２から受領した符号化対象ブロックのスキップモードにおける３つの動き情報候補（ｍ１〜ｍ３）から選択し、選択した符号化対象ブロックのスキップモードにおける動き情報を第２動き補償部１０５へ送出する機能を有する。
【００５４】
例えば、前ブロックの符号化モードがインターモードに決定した場合には、符号化対象ブロックのスキップモードにおける動き情報としてｍ２を第２動き補償部１０５へ送出する。
第２動き補償部１０５は、動きベクトル決定部１０４から受領した、符号化対象ブロックのスキップモードにおける動き情報に基づいて予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と動きベクトル決定部１０４から受領したスキップモードにおける動き情報をモード判定部１０７に送出する機能を有する。
【００５５】
予測画像の生成について、具体的には、動きベクトル決定部１０４から受領した動き情報が示す参照画像を予測画像とする。
イントラ予測部１０６は、符号化対象ブロックの隣接画素の画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成し、予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し、予測画像と差分情報と予測画像の生成に使用した予測モードを示す予測モード情報とをモード判定部１０７に送出する機能を有する。
【００５６】
なお、イントラ予測部１０６が外部メモリ１１６から読み出す隣接画素の画像は、後述する加算部１１２により外部メモリ１１６に格納された復号画像である。
モード判定部１０７は、第１動き補償部１０３から受領したインターモードにおける差分情報と第２動き補償部１０５から受領したスキップモードにおける差分情報とイントラ予測部１０６とから受領したイントラモードにおける差分情報とに基づき、符号量が最小となる符号化モードを符号化対象ブロックの符号化モードとして決定する機能を有する。なお、インターモードにより符号化する場合の符号量には、上述の差分情報だけでなく動き情報の符号量も考慮する。
【００５７】
また、モード判定部１０７は、決定した符号化モードを示すモード情報を動きベクトル投機算出部１０２と動きベクトル決定部１０４とに送出し、決定した符号化モードについての差分情報を直交変換部１０８に送出し、決定した符号化モードについての予測画像を加算部１１２に送出し、可変長符号化部１１４にモード情報と決定した符号化モードに応じた情報（インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報）を送出する。
【００５８】
なお、モード判定部１０７は、決定した符号化モードに対応する動き情報（インターモードにおける動き情報、又はスキップモードにおける動き情報）を内部メモリに格納する。
直交変換部１０８は、モード判定部１０７から受領した差分情報に対し離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部１０９に送出する機能を有する。
【００５９】
量子化部１０９は、直交変換部１０８から受領した係数情報に対し量子化処理を行い、量子化した係数情報を逆量子化部１１０と可変長符号化部１１４に送出する機能を有する。
逆量子化部１１０は、量子化部から受領した量子化した係数情報に対し、逆量子化処理を行い、処理結果である係数情報を逆直交変換部１１１に送出する機能を有する。
【００６０】
逆直交変換部１１１は、逆量子化部１１０から受領した係数情報に対し、逆直交変換処理を行い、処理結果である差分情報を加算部１１２に送出する機能を有する。
加算部１１２は、モード判定部１０７から受領した予測画像と、逆直交変換部１１１から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し、生成した復号画像をデブロックフィルタ部１１３へ送出すると共に、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。
【００６１】
デブロックフィルタ部１１３は、加算部１１２から受領した復号画像に対し、デブロックフィルタによるブロック歪の除去処理（以下、「デブロック処理」という）を行い、デブロック処理後の復号画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。
可変長符号化部１１４は、量子化部１０９から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い、処理後の符号化ストリームを、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する機能を有する。なお、モード判定部１０７から受領したモード情報と決定した符号化モードに応じた情報は符号化ストリームにおけるヘッダの生成に使用される。
【００６２】
ＤＭＡコントローラ１１５は、各部からの外部メモリ１１６へのアクセス要求を調停し、外部メモリ１１６と内部メモリとの間のデータ転送を行う一般的なＤＭＡコントローラである。
外部メモリ１１６は、各符号化対象ブロックと、加算部により格納された復号画像と、デブロックフィルタ部１１３により格納されたデブロック処理後の復号画像と、可変長符号化部１１４により格納された符号化ストリームとを記憶するＤＲＡＭなどで構成されたメモリである。
【００６３】
＜動作＞
次に、上記構成を備える画像符号化装置１００の動作について、図３を用いて説明する。
図３は、画像符号化装置１００の動作を示すフローチャートである。
以下では、画像符号化装置１００の処理をパイプラインステージ毎に説明する。なお、第１ステージから第４ステージまでの各パイプラインステージは、異なるマクロブロックを処理対象として並列して処理する。
【００６４】
＜第１ステージの動作＞
まず、第１ステージでの画像符号化装置１００の動作について説明する。第１ステージでは、以下説明する動き検出部１０１の処理（ステップＳ０１〜０３）と、動きベクトル投機算出部１０２の処理（ステップＳ０４、０５）とは、並行して実行される。
動き検出部１０１は、符号化対象ブロックの原画像と動きベクトルの探索対象である探索領域画像とを、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ０１、Ｓ０２）。
【００６５】
動き検出部１０１は、探索領域画像から符号化対象ブロックの原画像と最も類似度が高いマクロブロックを探索して動きベクトルを検出し（ステップＳ０３）、第１動き補償部１０３に検出した動きベクトルと探索領域画像を示す参照画像番号、つまり動き情報を送出する。
一方、動きベクトル投機算出部１０２は、符号化対象ブロックの前ブロックの符号化モードをイントラモードとインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補（ｍ１〜ｍ３）を算出し（ステップＳ０４）、算出した動き情報候補（ｍ１〜ｍ３）を動きベクトル決定部１０４に送出する。
【００６６】
また、動きベクトル投機算出部１０２は、動き情報候補（ｍ１〜ｍ３）それぞれが示す参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ０５）。
＜第２ステージの動作＞
次に、第２ステージでの画像符号化装置１００の動作について説明する。
【００６７】
第２ステージでは、以下説明する第１動き補償部１０３の処理（ステップＳ０６、０７）と、動きベクトル決定部１０４及び第２動き補償部１０５の処理（ステップＳ０８〜１０）と、イントラ予測部１０６の処理（ステップＳ１１、１２）とは、並行して実行される。
第１動き補償部１０３は、動き検出部１０１から受領した動き情報に基づいてインターモードにおける符号化対象ブロックの予測画像を生成する（ステップＳ０６）。
【００６８】
第１動き補償部１０３は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ０７）、算出した差分情報と、生成した予測画像と、動き検出部１０１から受領した動き情報とをモード判定部１０７に送出する。
また、動きベクトル決定部１０４は、動きベクトル投機算出部１０２から受領した動き情報候補（ｍ１〜ｍ３）から、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択し（ステップＳ０８）、選択した動き情報を第２動き補償部１０５に送出する。
【００６９】
第２動き補償部１０５は、動きベクトル決定部１０４から受領した動き情報に基づいてスキップモードにおける符号化対象ブロックの予測画像を生成する（ステップＳ０９）。
第２動き補償部１０５は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ１０）、算出した差分情報と、生成した予測画像と動きベクトル決定部１０４から受領したスキップモードにおける動き情報をモード判定部１０７に送出する。
【００７０】
また、イントラ予測部１０６は、符号化対象ブロックの隣接画素の画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出し、隣接画素の画素値に基づき、符号化対象ブロックのイントラモードにおける予測画像を生成する（ステップＳ１１）。
イントラ予測部１０６は、生成した予測画像と内部メモリに格納された符号化対象ブロックの原画像との差分情報を算出し（ステップＳ１２）、算出した差分情報と、生成した予測画像と、予測モード情報とをモード判定部１０７に送出する。
【００７１】
モード判定部１０７は、第１動き補償部１０３と第２動き補償部１０５とイントラ予測部１０６からそれぞれ受領した差分情報に基づいて各符号化モード（インターモード、スキップモード、イントラモード）のうち、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する（ステップＳ１３）。
モード判定部１０７は、決定した符号化モードを示すモード情報を動きベクトル投機算出部１０２と動きベクトル決定部１０４に、決定した符号化モードにおける差分情報を直交変換部１０８に、決定した符号化モードにおける予測画像を加算部１１２に、モード情報と決定した符号化モードに応じた情報（インターモードに決定した場合の動き情報や、イントラモードに決定した場合の予測モード情報）を可変長符号化部１１４に送出する。
【００７２】
＜第３ステージの動作＞
次に、第３ステージでの画像符号化装置１００の動作について説明する。
直交変換部１０８は、モード判定部１０７から受領した差分情報に対して離散コサイン変換等の直交変換処理を行い、処理結果である係数情報を量子化部１０９に送出し（ステップＳ１４）、量子化部１０９は、直交変換部１０８から受領した係数情報に対して量子化処理を行い、量子化した係数情報を逆量子化部１１０と可変長符号化部１１４に送出する（ステップＳ１５）。
【００７３】
逆量子化部１１０は、量子化部から受領した量子化した係数情報に対して逆量子化処理を行い、処理結果である係数情報を逆直交変換部１１１に送出し（ステップＳ１６）、逆直交変換部１１１は、逆量子化部１１０から受領した係数情報に対して逆直交変換処理を行い、処理結果である差分情報を加算部１１２に送出する（ステップＳ１７）。
＜第４ステージの動作＞
次に、第４ステージでの画像符号化装置１００の動作について説明する。
【００７４】
第４ステージでは、以下説明する加算部１１２とデブロックフィルタ部
１１３の処理（ステップＳ１８〜２０）と、可変長符号化部１１４の処理（ステップＳ２１、２２）とは、並行して実行される。
加算部１１２は、モード判定部１０７から受領した予測画像と、逆直交変換部１１１から受領した差分情報とを加算し、符号化対象ブロックの復号画像を生成し（ステップＳ１８）、生成した復号画像をデブロックフィルタ部１１３へ送出すると共に、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する。
【００７５】
デブロックフィルタ部１１３は、加算部１１２から受領した復号画像に対してデブロック処理を行い（ステップＳ１９）、デブロック処理後の復号画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する（ステップＳ２０）。
可変長符号化部１１４は、量子化部１０９から受領した量子化した係数情報に対し可変長符号化処理や算術符号化処理を行い（ステップＳ２１）、処理後の符号化ストリームを、ＤＭＡコントローラ１１５を介して外部メモリ１１６に格納する（ステップＳ２２）。
【００７６】
＜考察＞
以下、本実施の形態に係る画像符号化装置１００が奏する効果について、特許文献１における画像符号化装置と比較して説明する。
特許文献１における画像符号化装置では、前ブロックの代わりに他の近傍ブロックの動き情報を用いて、符号化対象ブロックのスキップモードにおける動き情報を生成しているため、パイプラインによる符号化処理の高速化を維持することはできるが、後に決定した前ブロックの動き情報と近傍ブロックの動き情報とが相違する場合には、スキップモードによる符号化ができないという問題がある。
【００７７】
一方、画像符号化装置１００は、符号化対象ブロックの前ブロックが選択し得る全ての動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、前ブロックの動き情報決定後に、算出した動き情報効果から、決定した前ブロックの動き情報に対応する１つの動き情報を、符号化対象ブロックのスキップモードにおける動き情報として選択する。
【００７８】
従って、パイプラインによる符号化処理の高速化を維持しつつ、各マクロブロックについて確実にスキップモードによる符号化が可能となるため、符号化量を削減することができる。
＜実施の形態２＞
＜概要＞
実施の形態１の動きベクトル投機算出部１０２は、前ブロックが選択しうる全ての符号化モード（イントラモード、インターモード、スキップモード）のそれぞれに対する各動き情報に基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものである。
【００７９】
しかし、符号化対象ブロックのスキップモードにおける動き情報候補を全て算出し、各動き情報候補が示す全ての参照画像を取得するものとすると、動きベクトル投機算出部１０２の処理時間、特に参照画像の転送処理時間が大きくなり、また、全ての参照画像を格納するための大容量の内部メモリが必要となる。
そこで、実施の形態２の動きベクトル投機算出部は、前ブロックが選択し得る各符号化モードのうち、画質や符号化効率の向上に有効な符号化モード、具体的にはインターモードとスキップモードとに対する各動き情報のみに基づいて、符号化対象ブロックのスキップモードにおける動き情報候補を算出し、各動き情報候補が示す参照画像を取得する。
【００８０】
これにより、動きベクトル投機算出部の処理時間、特に参照画像の転送処理時間を抑え、また、内部メモリの容量を削減することができる。
＜構成＞
まず、実施の形態２に係る画像符号化装置２００の構成について、図４を用いて説明する。
【００８１】
図４は、画像符号化装置２００の機能構成図である。
同図に示すように、画像符号化装置２００は、動き検出部１０１、第１動き補償部１０３、第２動き補償部１０５、イントラ予測部１０６、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４、ＤＭＡコントローラ１１５、外部メモリ１１６、動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４を含んで構成される。
【００８２】
動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４以外については、実施の形態１に係る画像符号化装置１００と同様であるため、説明は省略する。
また、画像符号化装置２００は、図示していないが、ＣＰＵ（Central Processing Unit）及び内部メモリを備え、上述の動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現される。
【００８３】
また、本実施の形態では、動きベクトル投機実行部４０１の処理は、第１ステージに、確認部２０２の処理と動きベクトル決定部２０３の処理とモード判定部２０４の処理とは、第２ステージに相当するようパイプラインを構成している。
動きベクトル投機算出部２０１は、基本的には、画像符号化装置１００の動きベクトル投機算出部１０２と同様の機能を有するが、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出し、動きベクトル決定部２０３に送出すると共に、算出した動き情報候補（ｍ２、ｍ３）が示す各参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出しておく点で、動きベクトル投機算出部１０２とは異なる。
【００８４】
確認部２０２は、モード判定部２０４から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるかを確認し、動きベクトル決定部２０３及びモード判定部２０４に確認結果を示す確認結果情報を送出する機能を有する。
動きベクトル決定部２０３は、基本的には、画像符号化装置１００の動きベクトル決定部１０４と同様の機能を有するが、確認部２０２から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、符号化対象ブロックのスキップモードにおける動き情報の選択を行わない点で、ベクトル決定部１０４とは異なる。
【００８５】
モード判定部２０４は、基本的には、画像符号化装置１００のモード判定部１０７と同様の機能を有するが、確認部２０２から受領した確認結果情報が示す確認結果が、前ブロックの符号化モードはインターモード又はスキップモードでない、即ちイントラモードである旨を示す場合に、スキップモード以外のモードを符号化対象ブロックの符号化モードとして決定する点で、モード判定部１０７とは異なる。
【００８６】
つまり、前ブロックの符号化モードがイントラモードである場合には、第１動き補償部１０３から受領したインターモードにおける差分情報とイントラ予測部１０６とから受領したイントラモードにおける差分情報とに基づき、インターモードとイントラモードとのうち符号量が小さくなる符号化モードを、符号化対象ブロックの符号化モードとして決定する。
【００８７】
＜動作＞
次に、上記構成を備える画像符号化装置２００の動作について、図５を用いて説明する。
図５は、画像符号化装置２００の動作を示すフローチャートである。同図に示すステップＳ０１〜Ｓ２２の処理は、図３に示す実施の形態１に係る画像符号化装置１００の同符号の処理と同様であるため、説明は省略し、以下では、相違点のみについて説明する。
【００８８】
第１ステージにおいて、動き検出部１０１の処理（ステップＳ０１〜０３）と並行して、動きベクトル投機算出部２０１は、符号化対象ブロックの前ブロックの符号化モードをインターモードとスキップモードとのそれぞれに仮定し、それぞれに仮定した場合の符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出し（ステップＳ３１）、算出した動き情報候補（ｍ２、ｍ３）を動きベクトル決定部２０３に送出する。
【００８９】
また、動きベクトル投機算出部２０１は、動き情報候補（ｍ２、ｍ３）それぞれが示す参照画像を、ＤＭＡコントローラ１１５を介して外部メモリ１１６から内部メモリに読み出す（ステップＳ３２）。
第２ステージにおいて、第１動き補償部１０３の処理（ステップＳ０６、０７）と、イントラ予測部１０６の処理（ステップＳ１１、１２）と並行して、確認部２０２は、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードがインターモード又はスキップモードであるか否かを確認し（ステップＳ３３）、確認結果を示す確認結果情報を動きベクトル決定部２０３とモード判定部２０４とに送出する。
【００９０】
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードである旨を示す場合には（ステップＳ３３：Ｙ）、動きベクトル決定部２０３は、モード判定部１０７から受領した前ブロックのモード情報が示す符号化モードに対応する動き情報を、動きベクトル投機算出部２０１から受領した動き情報候補（ｍ２、ｍ３）から符号化対象ブロックのスキップモードにおける動き情報として選択し（ステップＳ３４）、選択した動き情報を第２動き補償部１０５に送出する。
【００９１】
第２動き補償部１０５は、実施の形態１で説明したように、スキップモードにおける符号化対象ブロックの予測画像の生成（ステップＳ０９）と、符号化対象ブロックの予測画像と原画像との差分情報の算出（ステップＳ１０）とを行い、算出した差分情報と、生成した予測画像と、動きベクトル決定部２０３から受領したスキップモードにおける動き情報とをモード判定部２０４に送出する。
【００９２】
確認結果情報が、前ブロックの符号化モードはインターモード又はスキップモードでない旨、即ちイントラモードである旨を示す場合には（ステップＳ３３：Ｎ）、ステップＳ３４、Ｓ０９、Ｓ１０の処理を行わず、以降説明するステップＳ３５に進む。
モード判定部１０７は、受領している差分情報とに基づき、符号化量が最小となる符号化モードを、符号化対象ブロックの符号化モードとして決定する（ステップＳ３５）。
【００９３】
つまり、前ブロックの符号化モードがインターモード又はスキップモードである旨を示す確認結果情報を確認部２０２から受領している場合には、第１動き補償部１０３と第２動き補償部１０５とイントラ予測部１０６とからそれぞれ差分情報を受領しているため、３つの差分情報に基づいて符号化対象ブロックの符号化モードを決定する。
一方、前ブロックの符号化モードがインターモード又はスキップモードでない旨、即ち、イントラモードである旨を示す確認結果情報を確認部２０２から受領している場合には、第２動き補償部１０５から差分情報を受領していないため、第１動き補償部１０３とイントラ予測部１０６とから受領した２つの差分情報に基づき、符号化対象ブロックの符号化モードを決定する。
＜補足＞
以上、本発明に係る画像符号化装置について実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの画像符号化装置に限られないことは勿論である。即ち、
（１）各実施の形態において、動き検出部１０１が動き検出を行う際に用いる探索領域画像は、符号化対象ブロックを含む符号化対象画像の１つの前の画像に対する復号画像であるとして説明したが、１つ前の画像に対するもの限らず、複数枚前の画像に対する復号画像であってもよい。
【００９４】
また、探索領域画像は、符号化対象画像の１つの前の画像に対する復号画像全体であるとして説明したが、その一部であってもよい。例えば、符号化対象画像の１つの前の画像に対する復号画像において、符号化対象ブロックと同じ位置にあるブロックとその周囲１５画素の範囲の画像としてもよい。
（２）各実施の形態においては、４ステージパイプラインにより処理を行うものとして説明したが、ＣＰＵの処理能力に応じて、例えば、実施の形態１における第３ステージと第４ステージとを１つのステージにするよう構成し、３ステージパイプラインにより処理することとしてもよい。
【００９５】
（３）実施の形態１における動きベクトル投機算出部１０２は、符号化対象ブロックのスキップモードにおける動き情報候補を算出するものとして説明したが、空間ダイレクトモードにおける動き情報候補を算出するものとしてもよい。
なお、スキップモードにおいては、前ブロックの符号化モードがいずれのモードであっても参照画像番号は「０」であるとして説明したが、空間ダイレクトモードの場合、Ｌ０、Ｌ１方向それぞれについて、隣接ブロックの各参照画像番号のうち、最小の参照画像番号を符号化対象ブロックの参照画像番号とする点でスキップモードの場合とは異なる。
【００９６】
ただし、隣接ブロックの参照画像番号が「−１」、即ち隣接ブロックの符号化モードがイントラモードである等の場合には、符号化対象ブロックの空間ダイレクトモードにおける参照画像番号は「０」となる。
なお、実施の形態２の動きベクトル投機算出部２０１においても同様に変形することが可能である。
【００９７】
（４）実施の形態２において、動きベクトル投機算出部２０１は、動き情報が決定していない前ブロックが選択し得る符号化モードのうち、インターモードとスキップモードとにおける各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ２、ｍ３）を算出するものとして説明したが、これに限られるものではなく、例えば、イントラモードとスキップモードとに対する各動き情報に基づいて、符号化対象ブロックの動き情報候補（ｍ１、ｍ３）を算出するものとしてもよいし、スキップモードに対する動き情報のみに基づいて、符号化対象ブロックの動き情報候補（ｍ３）を算出するものとしてもよい。
【００９８】
また、動きベクトル投機算出部２０１が算出する動き情報候補の個数に制限はなく、ＣＰＵの処理能力等に応じて決定することが可能である。
（５）各実施の形態において、イントラ予測部１０６の処理が第２ステージの処理に含まれるものとして説明したが、イントラ予測部１０６の処理は、第１ステージの処理に含まれるものとしてもよい。つまり、イントラ予測部１０６の処理は、モード判定部１０７（又は２０４）が符号化対象ブロックの符号化モードを決定するまでに、完了していればよい。
【００９９】
（６）実施の形態１において、動き検出部１０１、動きベクトル投機算出部１０２、第１動き補償部１０３、動きベクトル決定部１０４、第２動き補償部１０５、イントラ予測部１０６、モード判定部１０７、直交変換部１０８、量子化部１０９、逆量子化部１１０、逆直交変換部１１１、加算部１１２、デブロックフィルタ部１１３、可変長符号化部１１４の各機能は、内部メモリに記憶されているプログラムをＣＰＵに実行させることにより実現するものとして説明したが、その処理の一部又は全部をハードウェアにより実現してもよい。
【０１００】
その際、各機能は、典型的には集積回路であるＬＳＩとして実現されるが、これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
なお、実施の形態２における動きベクトル投機算出部２０１、確認部２０２、動きベクトル決定部２０３、モード判定部２０４の各機能についても同様である。
（７）各実施の形態において、画像符号化装置の各機能を実現するためにＣＰＵに実行させるプログラムを、記録媒体に記録し、又は各種通信路等を介して流通させ、頒布させることもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ等がある。流通、頒布されたプログラムは、プロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがそのプログラムを実行することにより、各実施の形態で示したような画像符号化装置の各種機能が実現されるようになる。
【０１０１】
（８）各実施の形態に係る画像符号化装置は、ＭＰＥＧ４ＡＶＣ規格に準拠するものとして説明したが、他の圧縮符号化方式、例えばＭＰＥＧ４等に準拠するものであってもよい。
【産業上の利用可能性】
【０１０２】
本発明に係る画像符号化装置は、符号化処理の高速化を図るために利用される。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施の形態１に係る画像符号化装置１００のパイプライン処理の流れを説明するための図である。
【図２】本発明の実施の形態１に係る画像符号化装置１００の機能構成図である。
【図３】本発明の実施の形態１に係る画像符号化装置１００の動作を示すフローチャートである。
【図４】本発明の実施の形態２に係る画像符号化装置２００の機能構成図である。
【図５】本発明の実施の形態２に係る画像符号化装置２００の処理を示すフローチャートである。
【図６】符号化対象ブロックと隣接画素との関係を説明するための図である。
【図７】符号化対象ブロックと隣接ブロックとの関係を説明するための図である。
【符号の説明】
【０１０４】
１００、２００    画像符号化装置
１０１    動き検出部
１０２、２０１    動きベクトル投機算出部
１０３    第１動き補償部
１０４、２０３    動きベクトル決定部
１０５    第２動き補償部
１０６    イントラ予測部
１０７、２０４    モード判定部
１０８    直交変換部
１０９    量子化部
１１０    逆量子化部
１１１    逆直交変換部
１１２    加算部
１１３    デブロックフィルタ部
１１４    可変長符号化部
１１５    ＤＭＡコントローラ
１１６    外部メモリ
２０２    確認部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007136088.tif 000010
【図２】
2007136088.tif 000011
【図３】
2007136088.tif 000012
【図４】
2007136088.tif 000013
【図５】
2007136088.tif 000014
【図６】
2007136088.tif 000015
【図７】
2007136088.tif 000016
【国際調査報告】
2007136088.tif 000017
2007136088.tif 000018