(57)【要約】  従来の復号回路を流用し、並列化の効率を低下させることなく、１ピクチャ内に依存関係がある符号化ピクチャを復号する。  画像復号装置（１００）であって、符号化ピクチャが２分割されるように符号化ストリームを分割するストリーム分割部（１１０）と、２個の分割符号化ストリームをそれぞれ復号する復号処理部（１２０、１３０）とを備え、復号処理部（１２０、１３０）のそれぞれは、予め定められた順序で復号し、画素データと制御データとを含む復号データを生成する復号部（１２３、１３３）と、復号データが他の処理部で参照されるかを判定する転送判定部（１２４、１３４）と、他の処理部との間で復号データを転送するデータ転送部（１２５、１３５）と、参照される復号データが得られているかを判定する復号判定部（１２２、１３２）とを備え、復号部（１２３、１３３）は、復号データが得られている場合に分割符号化ストリームを復号する。
2009063646.tif 000002
【特許請求の範囲】
【請求項１】
画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号装置であって、
前記符号化ピクチャがＮ個（Ｎは２以上の整数）の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割部と、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを復号するＮ個の復号処理部とを備え、
前記Ｎ個の復号処理部のそれぞれは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定部と、
前記第１判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第２判定部とを備え、
前記復号部は、
前記第２判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
画像復号装置。
【請求項２】
前記ストリーム分割部は、Ｎ−１本の水平軸を境界線として前記符号化ピクチャをＮ個の領域に分割されるように前記符号化ストリームを分割することで、前記Ｎ個の分割符号化ストリームを生成し、
前記Ｎ個の領域のそれぞれは、前記復号処理部が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域である
請求項１記載の画像復号装置。
【請求項３】
前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、
前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、
前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームを復号し、
前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第２分割符号化ストリームを復号し、
前記第２復号処理部が備える前記データ転送部は、前記第１復号処理部から送信される、前記第１領域が復号されることで得られる復号データの少なくとも一部を受信し、
前記第２復号処理部が備える前記第２判定部は、前記符号化ピクチャの前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたか否かを判定し、
前記第２復号処理部が備える前記復号部は、前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたと判定された場合、前記符号化ピクチャの前記第２領域の復号を開始する
請求項２記載の画像復号装置。
【請求項４】
前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面内予測に基づいて復号する際に、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも１つを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
請求項３記載の画像復号装置。
【請求項５】
前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
請求項４記載の画像復号装置。
【請求項６】
前記第２判定部は、前記復号部による復号の対象である対象第１処理単位との依存関係を示す制御データと、当該対象第１処理単位と依存関係を有する画素の画素データとの少なくとも１つを含む復号データが全て、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する
請求項５記載の画像復号装置。
【請求項７】
前記ストリーム分割部は、前記符号化ピクチャが等しい大きさのＮ個の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成する
請求項６記載の画像復号装置。
【請求項８】
前記画像復号装置は、さらに、
前記復号部によって生成された復号データと、前記データ転送部によって受信された復号データとを記憶する記憶部を備え、
前記第２判定部は、前記画面内予測及び画面間予測に基づいて参照される復号データが、前記記憶部に既に記憶されているか否かを判定し、
前記復号部は、前記第２判定部によって復号データが前記記憶部に記憶されていると判定された場合に、前記符号化ストリームを復号する
請求項７記載の画像復号装置。
【請求項９】
前記第１処理単位は、前記符号化ピクチャを構成するマクロブロックであり、
前記第２処理単位は、マクロブロックラインである
請求項８記載の画像復号装置。
【請求項１０】
画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号方法であって、
前記符号化ピクチャがＮ個（Ｎは２以上の整数）の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割ステップと、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれをＮ個の復号処理部を用いて復号する復号処理ステップとを含み、
前記復号処理ステップでは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定ステップと、
前記第１判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第２判定ステップとを含み、
前記復号ステップでは、
前記第２判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
画像復号方法。
【請求項１１】
画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する集積回路であって、
前記符号化ピクチャがＮ個（Ｎは２以上の整数）の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割部と、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを復号するＮ個の復号処理部とを備え、
前記Ｎ個の復号処理部のそれぞれは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定部と、
前記第１判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第２判定部とを備え、
前記復号部は、
前記第２判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
集積回路。
【請求項１２】
画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号方法をコンピュータに実行させるプログラムであって、
前記符号化ピクチャがＮ個（Ｎは２以上の整数）の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割ステップと、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれをＮ個の復号処理部を用いて復号する復号処理ステップとを含み、
前記復号処理ステップでは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定ステップと、
前記第１判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第２判定ステップとを含み、
前記復号ステップでは、
前記第２判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面内予測及び画面間予測に基づいて符号化された符号化ストリームを復号する画像復号装置及び画像復号方法に関し、特に、復号処理を相互にバスで接続された複数の復号部で並列に処理する画像復号装置及び画像復号方法に関するものである。
【背景技術】
【０００２】
従来、画面間差分を用いた圧縮符号化（以下、単に「符号化」と呼ぶ）技術として、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）符号化技術がある（非特許文献１参照）。また、近年ではさらに高圧縮を実現するＨ．２６４（非特許文献２参照）が符号化規格として採用されてきている。Ｈ．２６４では、従来のＭＰＥＧ規格と同様に、１６×１６画素で構成されるマクロブロックと呼ばれる矩形のブロックを単位として、符号化、及び、復号が行われる。【０００３】
Ｈ．２６４では、従来のＭＰＥＧ規格と同様に、画面間予測と呼ばれる符号化アルゴリズムが用いられる。画面間予測処理を行う必要があるマクロブロックを復号する場合は、デコード済みのピクチャの情報を用いて画素値の予測を行うため、デコード済みのピクチャのデータを保持しておき、必要に応じてこれらのデータを参照する。一方、画面内予測処理を行う必要があるマクロブロックを復号する場合は、デコード中の直前のマクロブロックと、空間的に上、左上、右上に位置する隣接のマクロブロックとの情報を用いて復号を行うために、デコードした同一画面内のマクロブロックの情報を保持しておき、以降のマクロブロックの復号を行うことになる。【０００４】
上述のようなＭＰＥＧ規格、又は、Ｈ．２６４などの符号化方式で符号化された符号化ストリームを復号する際に、符号化ストリームを複数の符号化ストリームに分割し、複数のデコードチップがそれぞれ、分割された符号化ストリームを復号する技術が開示されている。このとき、上述のようにデコード済みのピクチャ、又は、マクロブロックの情報を用いて復号を行うために、複数のデコードチップ間で、復号により得られたデータを互いに転送しなければならない。【０００５】
例えば、特許文献１では、ＭＰＥＧなどの復号において、ピクチャを空間的に分割して複数の復号回路を用いたシステムで復号を行う場合に、画面間予測に必要なデータを相互にバスを通じて転送することによって、復号処理を並列化する手法が提案されている。【０００６】
図１２は、特許文献１に記載の複数の復号回路を用いて復号処理を並列化する際の１ピクチャ内の復号順序を示す図である。同図に示す例では、１つのピクチャを上下の２つの領域に分割し、この２つの領域をそれぞれ第１復号回路と第２復号回路とが復号する。このとき、通常、上のマクロブロックラインから順にピクチャを復号するのに対して、特許文献１に記載の技術では、図１２に示すように下のマクロブロックラインから順にピクチャを復号する。【０００７】
このようにすることで、第２復号回路で次のピクチャを復号する際に参照されるデータを、参照されないデータよりも先に復号することができる。したがって、第２復号回路が次のピクチャを復号する際に、第１復号回路からのデータの転送を待つ時間を低減することができる。【０００８】
また、特許文献２では、１ピクチャ内のマクロブロックの処理状態を監視し、対象マクロブロックを処理する際に参照されるマクロブロックの処理が完了している場合に、対象マクロブロックを処理する技術が記載されている。例えば、画面内予測処理を行う場合、対象マクロブロックの空間的に左、上、左上、及び、右上に位置するマクロブロックの完了を検出して、これらのデータがそろっているマクロブロックの処理を複数の回路に割り当てることで、処理を並列化する。
【特許文献１】特開２００７−６０４８８号公報
【特許文献２】特開２００６−１２９２８５号公報
【非特許文献１】ＩＴＵ−Ｔ勧告  Ｈ．２６２  「Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｇｅｎｅｒｉｃ  ｃｏｄｉｎｇ  ｏｆ  ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅｓ  ａｎｄ  ａｓｓｏｃｉａｔｅｄ  ａｕｄｉｏ  ｉｎｆｏｒｍａｔｉｏｎ：  Ｖｉｄｅｏ」
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６４「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来技術には、以下のような課題がある。【００１０】
特許文献１に記載の技術は、Ｈ．２６４で符号化された符号化ピクチャのように、１ピクチャ内で依存関係があるような符号化ピクチャを復号することはできないという課題がある。【００１１】
特許文献１に記載の技術では、１ピクチャ内の復号順序を変更し、他のピクチャの復号時に参照されるデータを参照されないデータより先に復号することで、必要なデータが転送されるのを待つ時間を低減する。この技術は、１ピクチャ内の依存関係がない場合に有効な技術である。言い換えると、１ピクチャ内に依存関係がある場合、復号順序を変更することができなくなるので、特許文献１に記載の技術は、１ピクチャ内に依存関係がある符号化ピクチャを復号することができない。【００１２】
また、特許文献２に記載の技術では、処理のオーバーヘッドが大きく、処理の並列化の効率が悪くなるという課題がある。特許文献２に記載の技術で画面内予測処理を含む復号の並列化を行う場合には、マクロブロック処理の完了を確認するために相互に通信が必要であり、また必要なデータの転送もマクロブロック処理単位で行わないといけない。このため、処理のオーバーヘッドが大きく、並列化の効率が悪くなる。また、特許文献２に記載の技術は、既存の復号回路と処理の手順が大きく異なるため、従来の復号回路の流用を行うのが難しいという課題もある。なお、既存の（又は、従来の）復号回路とは、例えば、ＭＰＥＧ−２規格に基づいて符号化された符号化ストリームを復号する復号回路のことであり、同一ピクチャ内の異なるマクロブロックライン間で依存関係を有しない符号化ピクチャを復号する復号回路である。【００１３】
そこで、本発明は、従来の復号回路を流用し、並列化の効率を低下させることなく、１ピクチャ内に依存関係がある符号化ピクチャを復号することができる画像復号装置及び画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記従来の課題を解決するため、本発明の画像復号装置は、画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを復号する画像復号装置であって、前記符号化ピクチャがＮ個（Ｎは２以上の整数）の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割部と、前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを復号するＮ個の復号処理部とを備え、前記Ｎ個の復号処理部のそれぞれは、前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定部と、前記第１判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第２判定部とを備え、前記復号部は、前記第２判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号する。【００１５】
これにより、画面間予測に必要な画素データだけでなく、第１処理単位（復号の処理単位、例えば、マクロブロック）の依存関係を示す制御データが得られている場合に復号を開始するので、画面内予測に基づいて符号化された符号化ピクチャも復号することができる。例えば、Ｈ．２６４などのようにピクチャ内の依存関係が複雑で、この依存関係に従って、予め復号する順序が定められているような場合であっても、制御データに基づいて依存関係を判定しながら、参照されるデータが得られている場合に復号を行うことができる。【００１６】
また、データ転送を行う頻度を低減することができるので、復号処理部間で相互に通信するオーバーヘッドを小さくすることができる。また、従来とは異なり復号順序を入れ替えるなどの複雑な制御を行わないので、既存の復号回路を流用することができる。【００１７】
このように、画面間予測のみならず、画面内予測に基づいて１ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、１ピクチャ内に依存関係がある符号化ピクチャを復号することができる。【００１８】
また、前記ストリーム分割部は、Ｎ−１本の水平軸を境界線として前記符号化ピクチャをＮ個の領域に分割されるように前記符号化ストリームを分割することで、前記Ｎ個の分割符号化ストリームを生成し、前記Ｎ個の領域のそれぞれは、前記復号処理部が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域であってもよい。【００１９】
これにより、１つの復号処理部が１つの領域を復号することで生成される復号データは、この領域に隣接する領域を復号する復号処理部によってしか参照されない。よって、復号処理部間の接続は、互いに隣接する領域を復号する復号処理部間を接続するだけでよく、簡易な構成で画像復号装置を実現することができる。【００２０】
また、前記ストリーム分割部は、Ｎ−１本の水平軸を境界線として前記符号化ピクチャがＮ個の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成し、前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームを復号し、前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第２分割符号化ストリームを復号し、前記第２復号処理部が備える前記データ転送部は、前記第１復号処理部から送信される、前記第１領域が復号されることで得られる復号データの少なくとも一部を受信し、前記第２復号処理部が備える前記第２判定部は、前記符号化ピクチャの前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたか否かを判定し、前記第２復号処理部が備える前記復号部は、前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたと判定された場合、前記符号化ピクチャの前記第２領域の復号を開始してもよい。【００２１】
これにより、複雑な制御を行うことなく、画面内予測に基づいて符号化された符号化ピクチャを復号することができる。【００２２】
また、前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面内予測に基づいて復号する際に、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも１つを含む場合に、当該復号データが他の復号処理部によって参照されると判定してもよい。【００２３】
これにより、他の復号処理部が、入力される他の分割符号化ストリームを復号する際に、依存関係に関する情報を得ることができ、正しく復号することができる。【００２４】
また、前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを含む場合に、当該復号データが他の復号処理部によって参照されると判定してもよい。【００２５】
これにより、動きベクトルの探索範囲は、通常、Ｈ．２６４などの規格で予め定められているため、符号化ピクチャを分割した時点で、どの復号処理部がどの画素を参照する可能性があるかを判定することができる。【００２６】
また、前記第２判定部は、前記復号部による復号の対象である対象第１処理単位との依存関係を示す制御データと、当該対象第１処理単位と依存関係を有する画素の画素データとの少なくとも１つを含む復号データが全て、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定してもよい。【００２７】
これにより、復号部による復号の対象である対象第１処理単位（例えば、対象ブロック）と依存関係を有するデータが全て得られているか否かを判定し、全て得られている場合に復号を行うので、参照すべきデータが得られていないまま復号を開始してしまうなどの不具合を防ぐことができる。【００２８】
また、前記ストリーム分割部は、前記符号化ピクチャが等しい大きさのＮ個の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成してもよい。【００２９】
これにより、各復号処理部における処理にかかる時間をおおむね等しくすることができ、必要なデータが転送されるのを各復号処理部が待つ時間を低減することができる。【００３０】
また、前記画像復号装置は、さらに、前記復号部によって生成された復号データと、前記データ転送部によって受信された復号データとを記憶する記憶部を備え、前記第２判定部は、前記画面内予測及び画面間予測に基づいて参照される復号データが、前記記憶部に既に記憶されているか否かを判定し、前記復号部は、前記第２判定部によって復号データが前記記憶部に記憶されていると判定された場合に、前記符号化ストリームを復号してもよい。【００３１】
これにより、必要なデータを蓄積しておくことができるので、何度も同じデータを転送する必要がなくなり、データが転送されるのを待つ時間を低減することができる。【００３２】
また、前記第１処理単位は、前記符号化ピクチャを構成するマクロブロックであり、前記第２処理単位は、マクロブロックラインであってもよい。【００３３】
これにより、マクロブロックごとに転送するよりも処理のオーバーヘッドを小さくすることができ、並列化の効率を高めることができる。【００３４】
なお、本発明は、画像復号装置として実現できるだけではなく、当該画像復号装置を構成する処理部をステップとする方法として実現することもできる。また、これらステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。【００３５】
また、上記の各画像復号装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されていてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。
【発明の効果】
【００３６】
本発明の画像復号装置及び画像復号方法によれば、画面間予測のみならず、画面内予測に基づいて１ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、１ピクチャ内に依存関係がある符号化ピクチャを含む符号化ストリームを復号することができる。
【図面の簡単な説明】
【００３７】
【図１】図１は、本実施の形態の画像復号装置の構成を示すブロック図である。
【図２】図２は、水平軸を境界線として２つの等しい大きさの領域に分割された符号化ピクチャを示す図である。
【図３】図３は、画面内予測に基づいたピクチャ内の参照関係を示す図である。
【図４】図４は、画面間予測に基づいたピクチャ間の参照関係を示す図である。
【図５】図５は、ピクチャの符号化順序（復号順序）と表示順序とを示す図である。
【図６】図６は、ピクチャを２つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。
【図７】図７は、複数の復号処理部による処理のタイミングを示す図である。
【図８】図８は、本実施の形態の画像復号装置の動作を示すフローチャートである。
【図９】図９は、本実施の形態の第１復号処理部の動作を示すフローチャートである。
【図１０】図１０は、本実施の形態の第２復号処理部の動作を示すフローチャートである。
【図１１】図１１は、ピクチャを３つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。
【図１２】図１２は、従来の複数の復号回路を用いて復号処理を並列化する際の１ピクチャ内の復号順序を示す図である。
【符号の説明】
【００３８】
１００  画像復号装置
１１０  ストリーム分割部
１２０  第１復号処理部
１２１、１３１  ストリームバッファ
１２２、１３２  復号判定部
１２３、１３３  復号部
１２４、１３４  転送判定部
１２５、１３５  データ転送部
１２６、１３６  ビデオバッファ
１３０  第２復号処理部
１４０  データ転送バス
２００  符号化ピクチャ
２０１、２０１ａ、２０１ｂ、２０１ｃ  上半分
２０２、２０２ａ、２０２ｂ、２０２ｃ  下半分
２００ａ  イントラ符号化ピクチャ
２００ｂ  インター符号化ピクチャ
２００ｃ  参照ピクチャ
３０１ａ、３０１ｂ、３０１ｃ、３０３ａ、３０３ｂ、３０３ｃ  上部
３０２ａ、３０２ｂ、３０２ｃ、３０４ａ、３０４ｂ、３０４ｃ  下部
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施の形態について、図面を参照しながら説明する。【００４０】
本実施の形態の画像復号装置は、複数のデコードチップを用いて、画面内予測及び画面間予測に基づいて符号化された符号化ピクチャを含む符号化ストリームを並列処理で復号する。具体的には、符号化ピクチャがＮ（Ｎは２以上の整数）個の領域に分割されるように、符号化ストリームをＮ個の分割符号化ストリームに分割する。そして、Ｎ個のデコードチップを用いて、Ｎ個の分割符号化ストリームのそれぞれを並列処理で復号する。このとき、復号の処理単位間（例えば、マクロブロック間）の依存関係を示す制御データを転送し、対象ブロックの参照データがすべて得られていることを判定しながら、対象ブロックを復号する。【００４１】
図１は、本実施の形態の画像復号装置１００の構成を示すブロック図である。同図に示す画像復号装置１００は、ストリーム分割部１１０と、第１復号処理部１２０と、第２復号処理部１３０と、データ転送バス１４０とを備える。【００４２】
ストリーム分割部１１０は、入力される符号化ストリームに含まれる符号化ピクチャがＮ個の領域に分割されるように符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成する。例えば、符号化ピクチャは、Ｎ−１本の水平軸を境界線としてＮ個の領域に分割される。符号化ストリームに含まれる複数の符号化ピクチャのそれぞれは、同じ水平軸を境界線としてＮ個の領域に分割される。分割符号化ストリームは、複数の符号化ピクチャの同じ領域を含むストリームである。なお、Ｎ個の領域のそれぞれは、第１復号処理部１２０又は第２復号処理部１３０が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域であることが好ましい。また、Ｎ個の領域のそれぞれは、等しい大きさであることが好ましい。本実施の形態では、一例として、図２に示すように、Ｎ＝２の場合について説明する。【００４３】
図２は、水平軸を境界線として２つの等しい大きさの領域に分割された符号化ピクチャを示す図である。同図に示すように、符号化ピクチャ２００は、水平軸を基準として上半分２０１と下半分２０２との２つの等しい大きさの領域に分割される。上半分２０１を含む分割符号化ストリームは、第１復号処理部１２０に送信され、下半分２０２を含む分割符号化ストリームは、第２復号処理部１３０に送信される。【００４４】
例えば、符号化ピクチャ２００が、４０９６×２０４８画素の解像度を有する場合、Ｈ．２６４では、動きベクトルの垂直方向の最大値は５１２画素であると定められている。したがって、動きベクトルの垂直方向の最大探索範囲は、５１２×２＝１０２４画素である。このように、例えば、動きベクトルの最大探索範囲は、垂直方向の画素数で示される。符号化ピクチャ２００は、最大探索範囲の半分である５１２画素以上の領域に分割されるのが望ましい。図２では、上半分２０１及び下半分２０２はそれぞれ、４０９６×１０２４画素からなる領域である。【００４５】
図１に戻ると、第１復号処理部１２０は、ストリーム分割部１１０によって生成された分割符号化ストリームの１つを復号する。ここでは、図２に示すように符号化ピクチャ２００は上下に２分割され、第１復号処理部１２０は、符号化ピクチャ２００の上半分２０１を含む分割符号化ストリームを復号する。第１復号処理部１２０は、図１に示すように、ストリームバッファ１２１と、復号判定部１２２と、復号部１２３と、転送判定部１２４と、データ転送部１２５と、ビデオバッファ１２６とを備える。【００４６】
ストリームバッファ１２１は、ストリーム分割部１１０によって生成された２つの分割符号化ストリームのうち、符号化ピクチャ２００の上半分２０１を含む分割符号化ストリームを格納するメモリなどである。【００４７】
復号判定部１２２は、復号部１２３による復号の際に画面内予測及び画面間予測に基づいて参照される復号データが既に生成されているか、又は、他の復号処理部（ここでは、第２復号処理部１３０）から既に受信されているか否かを判定する。なお、後述するように、復号部１２３は、所定の処理単位（例えば、マクロブロック）ごとに復号を行うことで画素値を示す画素データと、所定の処理単位間の依存関係を示す制御データとを生成する。復号判定部１２２は、復号の対象となる対象ブロックとの依存関係を示す制御データと、当該対象ブロックと依存関係を有する画素の画素データとの少なくとも１つを含む復号データ（参照データ）が全て、生成され、又は、受信されているか否かを判定する。具体的には、これらの参照データがビデオバッファ１２６に既に格納されているか否かを判定する。【００４８】
参照データは、例えば、画面内予測の場合は、対象ブロックの左、上、左上、及び、右上などのブロックの画素値を示す画素データ、並びに、予測の方向などを示す制御データである。画面間予測の場合は、以前に復号されたピクチャの各画素の画素値を示す画素データである。具体的には、対象ブロックの動きベクトルを探索する際の探索範囲に含まれる画素の画素値である。なお、Ｈ．２６４などでは、対象ブロックに隣接するブロックの動きベクトルと、既に復号済みの参照画像の動きベクトルとを利用することで、対象ブロックの動きベクトルを検出することもできる。この場合、参照される復号データは、対象ブロックと他のブロックとの依存関係を示す制御データも含む。なお、制御データとは、具体的には、符号化ストリームに含まれるシンタクス要素、すなわち、各パラメータセット、ヘッダ情報、及び、パラメータセットとヘッダ情報とを用いて導出される情報の一部である。【００４９】
復号部１２３は、ストリームバッファ１２１から分割符号化ストリームを読み出し、読み出した分割符号化ストリームを、画面内予測及び画面間予測に基づいて所定の処理単位ごとに予め定められた順序で復号する。これにより、復号部１２３は、画素値を示す画素データと、処理単位間の依存関係を示す制御データとを含む復号データを生成する。【００５０】
具体的には、復号部１２３は、参照する復号データがビデオバッファ１２６に既に格納されていると復号判定部１２２によって判定された場合に、ビデオバッファ１２６から参照する復号データを読み出し、読み出した復号データに含まれる制御データを用いて、復号の対象である処理単位と依存関係を有する画素の画素データを参照することで分割符号化ストリームを復号する。【００５１】
なお、所定の処理単位とは、符号化ピクチャの分割された領域を構成する画素、マクロブロック、スライスなどの単位であり、ここでは、復号部１２３は、一例として、１６×１６画素のマクロブロック単位で復号する。また、予め定められた順序とは、マクロブロックの符号化順序であり、例えば、復号部１２３は、左上のマクロブロックからマクロブロックラインに沿って順に復号する。１行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから順に復号する。なお、復号部１２３は、ピクチャヘッダ、及び、スライスヘッダを順に復号した後、マクロブロックの復号を行う。【００５２】
転送判定部１２４は、復号部１２３によって生成された復号データが他の復号処理部（ここでは、第２復号処理部１３０）によって参照されるか否かを、制御データに示される処理単位ごとの依存関係に基づいて判定する。転送判定部１２４は、復号部１２３によって生成された復号データをビデオバッファ１２６に格納すると共に、当該復号データが参照されると判定した場合は、当該復号データをデータ転送部１２５にも送信する。【００５３】
具体的には、この転送判定部１２４は、第２復号処理部１３０による復号時に参照される可能性がある復号データは、参照される復号データであると判定する。例えば、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域（ここでは、下半分２０２）を他の復号処理部（ここでは、第２復号処理部１３０）が画面内予測に基づいて復号する際に、復号部１２３によって生成された復号データが、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも１つを含む場合に、転送判定部１２４は、復号データが参照されると判定する。【００５４】
また、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域（ここでは、下半分２０２）を他の復号処理部（ここでは、第２復号処理部１３０）が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを、復号部１２３によって生成された復号データが含む場合に、転送判定部１２４は、当該復号データが参照されると判定する。このとき、動きベクトルの探索範囲は、例えば、復号部１２３がピクチャヘッダを復号することによって得られる符号化ピクチャの解像度などから決定される。【００５５】
データ転送部１２５は、他の復号処理部（ここでは、第２復号処理部１３０）によって参照されると転送判定部１２４によって判定された復号データを、復号処理の処理単位以上の処理単位毎に、他の復号処理部（ここでは、第２復号処理部１３０）にデータ転送バス１４０を介して送信する。さらに、他の復号処理部（ここでは、第２復号処理部１３０）から送信される復号データを、データ転送バス１４０を介して受信する。なお、転送の処理単位は、例えば、マクロブロックラインである。【００５６】
データ転送部１２５は、マクロブロックライン分の復号データを蓄積するバッファを内部に備えていてもよい。あるいは、バッファを備える代わりに、ビデオバッファ１２６から転送対象のマクロブロックラインの復号データを読み出して転送してもよい。【００５７】
ビデオバッファ１２６は、復号部１２３によって生成された復号データと、データ転送部１２５によって受信された復号データとを記憶するメモリなどである。【００５８】
第２復号処理部１３０は、ストリーム分割部１１０によって生成された分割符号化ストリームの１つを復号する。ここでは、図２に示すように符号化ピクチャ２００は上下に２分割され、第２復号処理部１３０は、符号化ピクチャ２００の下半分２０２を含む分割符号化ストリームを復号する。第２復号処理部１３０は、図１に示すように、ストリームバッファ１３１と、復号判定部１３２と、復号部１３３と、転送判定部１３４と、データ転送部１３５と、ビデオバッファ１３６とを備える。【００５９】
ストリームバッファ１３１は、ストリーム分割部１１０によって生成された２つの分割符号化ストリームのうち、符号化ピクチャ２００の下半分２０２を含む分割符号化ストリームを格納するメモリなどである。【００６０】
復号判定部１３２は、復号部１３３による復号の際に画面内予測及び画面間予測に基づいて参照される復号データが既に生成されているか、又は、他の復号処理部（ここでは、第１復号処理部１２０）から既に受信されているか否かを判定する。なお、後述するように、復号部１３３は、所定の処理単位（例えば、マクロブロック）ごとに復号を行うことで画素値を示す画素データと、所定の処理単位間の依存関係を示す制御データとを生成する。復号判定部１３２は、復号の対象となる対象ブロックとの依存関係を示す制御データと、当該対象ブロックと依存関係を有する画素の画素データとの少なくとも１つを含む復号データ（参照データ）が全て、生成され、又は、受信されているか否かを判定する。具体的には、これらの参照データがビデオバッファ１３６に既に格納されているか否かを判定する。【００６１】
例えば、復号判定部１３２は、図２に示すように符号化ピクチャ２００が上下に２分割された場合、上半分２０１の最後のブロックがデータ転送部１３５によって受信されたか否かを判定する。【００６２】
復号部１３３は、ストリームバッファ１３１から分割符号化ストリームを読み出し、読み出した分割符号化ストリームを、画面内予測及び画面間予測に基づいて所定の処理単位ごとに予め定められた順序で復号する。これにより、復号部１３３は、画素値を示す画素データと、処理単位間の依存関係を示す制御データとを含む復号データを生成する。【００６３】
具体的には、復号部１３３は、参照する復号データがビデオバッファ１３６に既に格納されていると復号判定部１３２によって判定された場合に、ビデオバッファ１３６から参照する復号データを読み出し、読み出した復号データに含まれる制御データを用いて、復号の対象である処理単位と依存関係を有する画素の画素データを参照することで分割符号化ストリームを復号する。【００６４】
なお、所定の処理単位とは、符号化ピクチャの分割された領域を構成する画素、マクロブロック、スライスなどの単位であり、ここでは、復号部１３３は、一例として、１６×１６画素のマクロブロック単位で復号する。また、予め定められた順序とは、マクロブロックの符号化順序であり、例えば、復号部１３３は、左上のマクロブロックからマクロブロックラインに沿って順に復号する。１行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから順に復号する。【００６５】
例えば、図２に示すように符号化ピクチャ２００が上下に２分割された場合、復号部１３３は、上半分２０１の最後のブロックが復号されることで生成される復号データが受信されたと復号判定部１３２によって判定された場合、符号化ピクチャ２００の下半分２０２の復号を開始する。【００６６】
転送判定部１３４は、復号部１３３によって生成された復号データが他の復号処理部（ここでは、第１復号処理部１２０）によって参照されるか否かを、制御データに示される処理単位ごとの依存関係に基づいて判定する。転送判定部１３４は、復号部１３３によって生成された復号データをビデオバッファ１３６に格納すると共に、当該復号データが参照されると判定した場合は、当該復号データをデータ転送部１３５にも送信する。【００６７】
具体的には、この転送判定部１３４は、第１復号処理部１２０による復号時に参照される可能性がある復号データは、参照される復号データであると判定する。例えば、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域（ここでは、上半分２０１）を他の復号処理部（ここでは、第１復号処理部１２０）が画面内予測に基づいて復号する際に、復号部１３３によって生成された復号データが、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも１つを含む場合に、転送判定部１３４は、復号データが参照されると判定する。【００６８】
また、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域（ここでは、上半分２０１）を他の復号処理部（ここでは、第１復号処理部１２０）が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを、復号部１３３によって生成された復号データが含む場合に、転送判定部１３４は、当該復号データが参照されると判定する。このとき、動きベクトルの探索範囲は、例えば、復号部１３３がピクチャヘッダを復号することによって得られる符号化ピクチャの解像度などから決定される。【００６９】
データ転送部１３５は、他の復号処理部（ここでは、第１復号処理部１２０）によって参照されると転送判定部１３４によって判定された復号データを、復号処理の処理単位以上の処理単位毎に、他の復号処理部（ここでは、第１復号処理部１２０）にデータ転送バス１４０を介して送信する。さらに、他の復号処理部（ここでは、第１復号処理部１２０）から送信される復号データを、データ転送バス１４０を介して受信する。なお、転送の処理単位は、例えば、マクロブロックラインである。【００７０】
データ転送部１３５は、マクロブロックライン分の復号データを蓄積するバッファを内部に備えていてもよい。あるいは、バッファを備える代わりに、ビデオバッファ１３６から転送対象のマクロブロックラインの復号データを読み出して転送してもよい。【００７１】
ビデオバッファ１３６は、復号部１３３によって生成された復号データと、データ転送部１３５によって受信された復号データとを記憶するメモリなどである。【００７２】
データ転送バス１４０は、データ転送部１２５とデータ転送部１３５とを接続し、互いにデータを転送するためのバスである。なお、本実施の形態の画像復号装置１００が、さらに、他の復号処理部を備える場合は、他の復号処理部が備えるデータ転送部とも接続し、互いにデータを転送することができる。【００７３】
以上の構成により、本実施の形態の画像復号装置１００は、符号化ストリームを複数の分割符号化ストリームに分割し、複数の復号処理部のそれぞれによって、互いに復号データを転送しながら、分割符号化ストリームを復号する。このとき、画素データのみならず、ブロック間の依存関係を示す制御データも転送し、対象ブロックの参照データがすべて得られていることを判定しながら、対象ブロックを復号する。【００７４】
次に、画面内予測に基づいて符号化された符号化ピクチャ内の依存関係について説明する。なお、以下では、画面内予測に基づいて符号化されたイントラマクロブロックのみで構成されるイントラ符号化ピクチャを例に挙げて説明する。ただし、イントラマクロブロックと画面間予測に基づいて符号化されたインターマクロブロックとで構成されるピクチャも、以下に示す依存関係を有する。また、復号時にデブロッキングフィルタ処理を行う場合は、１行上のマクロブロックラインの復号データも必要とされるため、インターマクロブロックのみで構成されるピクチャの場合も同様である。【００７５】
図３は、画面内予測に基づいたピクチャ内の参照関係を示す図である。第１復号処理部１２０は、イントラ符号化ピクチャ２００ａの上半分２０１ａを復号し、第２復号処理部１３０は、イントラ符号化ピクチャ２００ａの下半分２０２ａを復号する。【００７６】
第１復号処理部１２０は、イントラ符号化ピクチャ２００ａの上半分２０１ａを左上のマクロブロックから順に復号を開始する。Ｈ．２６４では、同一のピクチャ内で、対象ブロックの左、上、左上、及び、右上のブロックを参照することで対象ブロックを復号する。なお、例えば、上半分２０１ａの最上部のマクロブロックラインに含まれるマクロブロックのように、上、左上、及び、右上のブロックが存在しない場合は、対象ブロックは、左のブロックのみを参照して符号化されているので、左のブロックのみを参照することで対象ブロックを復号することができる。【００７７】
したがって、第１復号処理部１２０は、イントラ符号化ピクチャ２００ａの上半分２０１ａを復号する際に、自身が既に復号したブロックを参照することで上半分２０１ａの全てを復号することができる。このため、他の復号処理部から復号データを受信する必要はない。【００７８】
第２復号処理部１３０は、イントラ符号化ピクチャ２００ａの下半分２０２ａを左上のマクロブロックから順に復号を開始する。下半分２０２ａの最上部のマクロブロックラインは、１行上のマクロブロックラインに含まれるブロックを参照することで復号される。しかしながら、当該１行上のマクロブロックラインはイントラ符号化ピクチャ２００ａの上半分２０１ａに含まれ、第１復号処理部１２０によって復号される。【００７９】
したがって、第１復号処理部１２０は、イントラ符号化ピクチャ２００ａの上半分２０１ａの最下部のマクロブロックラインに対応する復号データを第２復号処理部１３０に転送しなければならない。なお、第２復号処理部１３０が２行目以降のマクロブロックラインを復号する際は、自身が復号したブロックを参照することで復号することができる。【００８０】
以上のように、イントラ符号化ピクチャ２００ａを上下に２つの領域（上半分２０１ａと下半分２０２ａ）に分割して復号する場合、第１復号処理部１２０が、上半分２０１ａの最下部のマクロブロックラインに対応する復号データを第２復号処理部１３０に転送しなければ、第２復号処理部１３０は下半分２０２ａの復号を開始することができない。これは、イントラ符号化ピクチャ内でブロックごとの依存関係（すなわち、参照関係）が存在するためである。【００８１】
次に、画面間予測に基づいて符号化された符号化ピクチャ（インター符号化ピクチャ）と参照ピクチャとの依存関係について説明する。なお、インター符号化ピクチャとは、インターマクロブロックのみで構成されるピクチャ、又は、イントラマクロブロックとインターマクロブロックとで構成されるピクチャである。【００８２】
図４は、画面間予測に基づいたピクチャ間の参照関係を示す図である。第１復号処理部１２０は、インター符号化ピクチャ２００ｂの上半分２０１ｂを復号し、第２復号処理部１３０は、インター符号化ピクチャ２００ｂの下半分２０２ｂを復号する。【００８３】
なお、参照ピクチャ２００ｃは、画面内予測又は画面間予測に基づいて符号化されたピクチャであり、インター符号化ピクチャ２００ｂより復号順序（符号化順序）が先のピクチャである。第１復号処理部１２０は、参照ピクチャ２００ｃの上半分２０１ｃを既に復号しており、第２復号処理部１３０は、参照ピクチャ２００ｃの下半分２０２ｃを既に復号している。【００８４】
第１復号処理部１２０は、インター符号化ピクチャ２００ｂの上半分２０１ｂを左上のマクロブロックから順に復号を開始する。このとき、先に復号された参照ピクチャ２００ｃを画面間予測の動きベクトルの検出に用いる。通常、動きベクトルのとり得る値は、Ｈ．２６４などの規格で定められているため、上半分２０１ｂを復号する際に参照されるピクチャの領域は、参照ピクチャ２００ｃの全ての領域ではなく、一部の領域であることが多い。したがって、画面間予測に必要な領域に対応する復号データのうち、第２復号処理部１３０によって生成される復号データを、第２復号処理部１３０は第１復号処理部１２０に送信する。【００８５】
例えば、インター符号化ピクチャ２００ｂが、４０９６×２０４８画素の解像度を有する場合、Ｈ．２６４では動きベクトルの垂直方向の最大値は５１２画素であると定められている。したがって、図３に示すように、上半分２０１ｂを画面間予測に基づいて復号する際に必要となるデータは、参照ピクチャ２００ｃの上半分２０１ｃと、参照ピクチャ２００ｃの下半分２０２ｃの上部５１２画素ライン分である。参照ピクチャ２００ｃの上半分２０１ｃは第１復号処理部１２０によって復号済みであり、参照ピクチャ２００ｃの下半分２０２ｃの上部５１２画素ライン分は第２復号処理部１３０によって復号され、第１復号処理部１２０に送信される。【００８６】
第２復号処理部１３０は、インター符号化ピクチャ２００ｂの下半分２０２ｂを左上のマクロブロックから順に復号を開始する。このとき、同様に、下半分２０２ｂを復号する際に参照されるピクチャの領域は、参照ピクチャ２００ｃの全ての領域ではなく、一部の領域であることが多い。したがって、画面間予測に必要な領域のうち、第１復号処理部１２０によって生成される復号データを、第１復号処理部１２０は第２復号処理部１３０に送信する。【００８７】
インター符号化ピクチャ２００ｂが、４０９６×２０４８画素の解像度を有する場合、下半分２０２ｂを画面間予測に基づいて復号する際に必要となるデータは、参照ピクチャ２００ｃの下半分２０２ｃと、参照ピクチャ２００ｃの上半分２０１ｃの下部５１２画素ライン分である。参照ピクチャ２００ｃの下半分２０２ｃは第２復号処理部１３０によって復号済みであり、参照ピクチャ２００ｃの上半分２０１ｃの下部５１２画素ライン分は第１復号処理部１２０によって、第２復号処理部１３０に送信される。【００８８】
以上のように、規格に応じて動きベクトルの探索範囲に相当する領域の復号データがビデオバッファ１２６又は１３６に格納されるように、互いに復号データを転送する。つまり、転送判定部１２４又は１３４は、復号部１２３又は１３３によって生成された復号データが、動きベクトルの探索範囲に相当する領域内に含まれるか否かを判定することで、当該復号データを転送するか否かを判定することができる。【００８９】
なお、ピクチャの解像度などの情報は、ピクチャヘッダを復号することで得られる。したがって、第１復号処理部１２０は、復号部１２３がピクチャヘッダを復号することで、解像度に関する情報を得ることができ、復号判定部１２２及び転送判定部１２４は、当該情報に基づいて、それぞれの判定処理を行う。【００９０】
続いて、図５に示すような符号化ストリームを復号する場合の時間的な流れについて説明する。【００９１】
図５は、ピクチャの符号化順序（復号順序）と表示順序とを示す図である。同図の“Ｉ”は、Ｉピクチャ、すなわち、イントラ符号化ピクチャを示す。“Ｐ”は、Ｐピクチャ、すなわち、単方向予測（一般的には、順方向予測）に基づいて符号化されたインター符号化ピクチャを示す。“Ｂ”は、Ｂピクチャ、すなわち、双予測に基づいて符号化されたインター符号化ピクチャを示す。以下では、説明を簡単にするため、Ｐピクチャは、Ｐスライスのみで構成され、ＢピクチャはＢスライスのみで構成されるとする。なお、例えば、Ｐ1ピクチャは、Ｉ0ピクチャを参照し、Ｂ2ピクチャは、Ｉ0ピクチャ及びＰ1ピクチャを参照する。【００９２】
なお、以下では、符号化ピクチャは４０９６×２０４８画素の解像度を有し、動きベクトルの垂直方向の最大値が５１２画素である場合について説明する。【００９３】
図６は、符号化ピクチャを２つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。同図に示すように、第１復号処理部１２０は、符号化ピクチャの上半分（Ｉ0−ｔｏｐ、Ｐ1−ｔｏｐ、Ｂ2−ｔｏｐ、・・・）のみを含む分割符号化ストリームを復号する。第２復号処理部１３０は、符号化ピクチャの下半分（Ｉ0−ｂｏｔｔｏｍ、Ｐ1−ｂｏｔｔｏｍ、Ｂ2−ｂｏｔｔｏｍ、・・・）のみを含む分割符号化ストリームを復号する。【００９４】
Ｉ0−ｔｏｐの上部３０１ａは、Ｉ0−ｔｏｐの上部５１２画素ライン分の領域である。上部３０１ａは、第１復号処理部１２０によって復号される。【００９５】
Ｉ0−ｔｏｐの下部３０２ａは、Ｉ0−ｔｏｐの下部５１２画素ライン分の領域である。下部３０２ａは、第２復号処理部１３０によってＰ1ピクチャ及びＢ2ピクチャなどを復号する際に参照される領域である。下部３０２ａは、第１復号処理部１２０によって復号され、復号により生成された復号データは、第２復号処理部１３０に転送される。【００９６】
Ｉ0−ｂｏｔｔｏｍの上部３０３ａは、Ｉ0−ｂｏｔｔｏｍの上部５１２画素ライン分の領域である。上部３０３ａは、第１復号処理部１２０によってＰ1ピクチャ及びＢ2ピクチャなどを復号する際に参照される領域である。上部３０３ａは、第２復号処理部１３０によって復号され、復号により生成された復号データは、第１復号処理部１２０に転送される。【００９７】
Ｉ0−ｂｏｔｔｏｍの下部３０４ａは、Ｉ0−ｂｏｔｔｏｍの下部５１２画素ライン分の領域である。下部３０４ａは、第２復号処理部１３０によって復号される。【００９８】
Ｐ1−ｔｏｐの上部３０１ｂは、Ｐ1−ｔｏｐの上部５１２画素ライン分の領域である。上部３０１ｂは、第１復号処理部１２０によってＩ0−ｔｏｐ（上部３０１ａと下部３０２ａ）を参照することで復号される。【００９９】
Ｐ1−ｔｏｐの下部３０２ｂは、Ｐ1−ｔｏｐの下部５１２画素ライン分の領域である。下部３０２ｂは、第２復号処理部１３０によってＢ2ピクチャなどを復号する際に参照される領域である。下部３０２ｂは、第１復号処理部１２０によってＩ0−ｔｏｐ（上部３０１ａと下部３０２ａ）とＩ0−ｂｏｔｔｏｍの上部３０３ａとを参照することで復号され、復号により生成された復号データは、第２復号処理部１３０に転送される。【０１００】
Ｐ1−ｂｏｔｔｏｍの上部３０３ｂは、Ｐ1−ｂｏｔｔｏｍの上部５１２画素ライン分の領域である。上部３０３ｂは、第１復号処理部１２０によってＢ2ピクチャなどを復号する際に参照される領域である。上部３０３ｂは、第２復号処理部１３０によってＩ0−ｔｏｐの下部３０２ａとＩ0−ｂｏｔｔｏｍ（上部３０３ａと下部３０４ａ）とを参照することで復号され、復号により生成された復号データは、第１復号処理部１２０に転送される。【０１０１】
Ｐ1−ｂｏｔｔｏｍの下部３０４ｂは、Ｐ1−ｂｏｔｔｏｍの下部５１２画素ライン分の領域である。下部３０４ｂは、第２復号処理部１３０によってＩ0−ｂｏｔｔｏｍ（上部３０３ａと下部３０４ａ）を参照することで復号される。【０１０２】
Ｂ2−ｔｏｐの上部３０１ｃは、Ｐ1−ｔｏｐの上部５１２画素ライン分の領域である。上部３０１ｃは、第１復号処理部１２０によってＩ0−ｔｏｐ（上部３０１ａと下部３０２ａ）とＰ1−ｔｏｐ（上部３０１ｂと下部３０２ｂ）を参照することで復号される。【０１０３】
Ｂ2−ｔｏｐの下部３０２ｃは、Ｂ2−ｔｏｐの下部５１２画素ライン分の領域である。下部３０２ｃは、第１復号処理部１２０によってＩ0−ｔｏｐ（上部３０１ａと下部３０２ａ）とＩ0−ｂｏｔｔｏｍの上部３０３ａとＰ1−ｔｏｐ（上部３０１ｂと下部３０２ｂ）とＰ1−ｂｏｔｔｏｍの上部３０３ｂとを参照することで復号される。【０１０４】
Ｂ2−ｂｏｔｔｏｍの上部３０３ｃは、Ｂ2−ｂｏｔｔｏｍの上部５１２画素ライン分の領域である。上部３０３ｃは、第２復号処理部１３０によってＩ0−ｔｏｐの下部３０２ａとＩ0−ｂｏｔｔｏｍ（上部３０３ａと下部３０４ａ）とＰ1−ｔｏｐの下部３０２ｂとＰ1−ｂｏｔｔｏｍ（上部３０３ｂと下部３０４ｂ）とを参照することで復号される。【０１０５】
Ｂ2−ｂｏｔｔｏｍの下部３０４ｃは、Ｂ2−ｂｏｔｔｏｍの下部５１２画素ライン分の領域である。下部３０４ｃは、第２復号処理部１３０によってＩ0−ｂｏｔｔｏｍ（上部３０３ａと下部３０４ａ）とＰ1−ｂｏｔｔｏｍ（上部３０３ｂと下部３０４ｂ）とを参照することで復号される。【０１０６】
上述したように、本実施の形態では、第２復号処理部１３０がＩ0−ｂｏｔｔｏｍの復号を開始するためには、Ｉ0−ｔｏｐの最下部のマクロブロックラインに対応する復号データが必要である。したがって、第２復号処理部１３０は、第１復号処理部１２０から送信されたＩ0−ｔｏｐの最下部の復号データを受信したと同時に、Ｉ0−ｂｏｔｔｏｍの復号を開始する。このため、図６に示すように、第１復号処理部１２０と第２復号処理部１３０とでは、半分のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。【０１０７】
したがって、Ｉ0−ｔｏｐ及びＩ0−ｂｏｔｔｏｍは、異なる復号時間に、異なる復号処理部によって、また、Ｐ1−ｔｏｐ及びＰ1−ｂｏｔｔｏｍと、Ｂ2−ｔｏｐ及びＢ2−ｂｏｔｔｏｍとも同様に、異なる復号時間に、異なる復号処理部によって、パイプライン的に並列処理される。【０１０８】
また、復号時にデブロッキングフィルタ処理を行う場合、対象マクロブロックの１行上のマクロブロックラインの復号データも必要となる。このため、例えば、Ｐ1−ｂｏｔｔｏｍの上部３０３ｂを復号するためにはＰ1−ｔｏｐの下部３０２ｂの復号データが必要となるので、Ｐ1−ｔｏｐの下部３０２ｂの復号データが転送されている場合に、Ｐ1−ｂｏｔｔｏｍの上部３０３ｂの復号を開始することができる。Ｂ2−ｂｏｔｔｏｍの上部３０３ｃの復号についても同様である。また、Ｐピクチャ又はＢピクチャにイントラスライスが含まれている場合も同様である。【０１０９】
図７は、複数の復号処理部による処理のタイミングを示す図である。【０１１０】
まず、時刻ｔ0で、第１復号処理部１２０は、Ｉ0−ｔｏｐの左上のマクロブロックから順に復号を開始する。マクロブロックラインごとに順に復号を行い、時刻ｔ1で、Ｉ0−ｔｏｐの上部３０１ａの復号が完了する。Ｉ0−ｔｏｐの上部３０１ａの復号データは、第２復号処理部１３０によって参照されることはないので、第２復号処理部１３０に転送する必要はない。【０１１１】
第１復号処理部１２０は、時刻ｔ1で、引き続きＩ0−ｔｏｐの下部３０２ａの復号を開始する。下部３０２ａの復号データは、第２復号処理部１３０によって参照される可能性があるので、第２復号処理部１３０に転送しなければならない。そこで、第１復号処理部１２０は、時刻ｔ2で、下部３０２ａのうち最上部の１行分のマクロブロックラインの復号を完了し、完了と同時に、当該マクロブロックラインの復号データを第２復号処理部１３０に転送を開始する。【０１１２】
さらに、第１復号処理部１２０は、引き続きＩ0−ｔｏｐの下部３０２ａの復号を行い、生成した復号データをマクロブロックラインごとに第２復号処理部１３０に転送する。そして、時刻ｔ3で、第１復号処理部１２０は、Ｉ0−ｔｏｐの全てのマクロブロックの復号を完了する。完了と同時に、第１復号処理部１２０は、Ｐ1−ｔｏｐの左上のマクロブロックから順に復号を開始する。Ｐ1−ｔｏｐのうち上部３０１ｂを復号する際に参照されるＩ0ピクチャの領域は、Ｉ0−ｔｏｐのみであるので、Ｐ1−ｔｏｐの上部３０１ｂを復号する際は、第２復号処理部１３０の復号処理の進み具合に関わらず、復号処理を開始することができる。【０１１３】
時刻ｔ4で、第１復号処理部１２０は、Ｉ0−ｔｏｐの最下部のマクロブロックラインの復号データの転送を完了する。なお、転送は、復号データが生成されてからでないと実行できないので、必ず、ｔ4＞ｔ3を満たす。【０１１４】
第２復号処理部１３０は、時刻ｔ4で、第１復号処理部１２０から送信された復号データを受信すると同時に、Ｉ0−ｂｏｔｔｏｍの左上のマクロブロックから順に復号を開始する。Ｉ0−ｂｏｔｔｏｍの上部３０３ａの復号データは、第１復号処理部１２０によって参照される可能性があるため、第２復号処理部１３０は、第１復号処理部１２０に当該復号データを転送しなければならない。【０１１５】
第２復号処理部１３０は、時刻ｔ5で、Ｉ0−ｂｏｔｔｏｍの最上部の１行分のマクロブロックラインの復号を完了し、完了と同時に、第１復号処理部１２０への転送を開始する。そして、時刻ｔ6で、第２復号処理部１３０は当該最上部の１行分のマクロブロックラインの復号データの転送を完了する。同様にして、第２復号処理部１３０は、引き続きＩ0−ｂｏｔｔｏｍの復号を行い、Ｉ0−ｂｏｔｔｏｍの上部３０３ａの復号データをマクロブロックラインごとに順に第１復号処理部１２０に転送し、時刻ｔ9で、この転送を完了する。【０１１６】
第２復号処理部１３０は、時刻ｔ13で、Ｉ0−ｂｏｔｔｏｍの復号を完了し、完了と同時に、Ｐ1−ｂｏｔｔｏｍの左上のマクロブロックから復号を開始する。なお、Ｐ1−ｂｏｔｔｏｍを復号する際に参照されるＩ0ピクチャの領域は、Ｉ0−ｔｏｐの下部３０２ａとＩ0−ｂｏｔｔｏｍとのみである。【０１１７】
時刻ｔ7で、第１復号処理部１２０は、Ｐ1−ｔｏｐの上部３０１ｂの復号を完了する。完了と同時に、Ｐ1−ｔｏｐの下部３０２ｂの最上部のマクロブロックラインの復号を開始する。ただし、このとき、Ｉ0−ｂｏｔｔｏｍの最上部のマクロブロックラインを参照する可能性があるため、Ｐ1−ｔｏｐの下部３０２ｂの最上部の１行分のマクロブロックラインの復号を開始する時刻ｔ7は、当該マクロブロックラインの転送が完了する時刻ｔ6より後でなくてはならない。すなわち、ｔ7＞ｔ6を満たさなければならない。【０１１８】
仮に、第１復号処理部１２０がＰ1−ｔｏｐの上部３０１ｂの復号を完了した時点で、Ｉ0−ｂｏｔｔｏｍの最上部のマクロブロックラインの復号データの転送が完了していない場合は、第１復号処理部１２０は、転送が完了するまで復号処理を一時的に停止する。なお、以降のマクロブロックラインについても同様である。【０１１９】
さらに、Ｐ1−ｔｏｐの下部３０２ｂの復号データは、第２復号処理部１３０によってＢ2−Ｂｏｔｔｏｍの復号時に参照される可能性があるため、第１復号処理部１２０は、当該復号データを第２復号処理部１３０に転送しなければならない。そこで、時刻ｔ8で、第１復号処理部１２０は、下部３０２ｂのうち最上部の１行分のマクロブロックラインの復号を完了し、完了と同時に、当該マクロブロックラインの復号データを第２復号処理部１３０に転送を開始する。【０１２０】
さらに、第１復号処理部１２０は、Ｐ1−ｔｏｐの下部３０２ｂの復号を行い、生成した復号データをマクロブロックラインごとに第２復号処理部１３０に転送する。時刻ｔ10は、Ｐ1−ｔｏｐの最下部の１行分のマクロブロックラインの復号を開始する時刻である。この時刻ｔ10までに、Ｉ0−ｂｏｔｔｏｍの上部３０３ａの復号データの転送が完了していなければならない。すなわち、ｔ10＞ｔ9を満たさなければならない。【０１２１】
そして、第１復号処理部１２０は、時刻ｔ11で、Ｐ1−ｔｏｐの全てのマクロブロックの復号を完了する。完了と同時に、第１復号処理部１２０は、Ｂ2−ｔｏｐの左上のマクロブロックから順に復号を開始する。Ｂ2−ｔｏｐのうち上部３０１ｃを復号する際に参照されるＩ0ピクチャ及びＰ1ピクチャの領域は、Ｉ0−ｔｏｐ及びＰ1−ｔｏｐのみであるので、Ｂ2−ｔｏｐの上部３０１ｃを復号する際は、第２復号処理部１３０の復号処理の進み具合に関わらず、復号処理を開始することができる。また、第１復号処理部１２０は、時刻ｔ12で、Ｐ1−ｔｏｐの最下部の１行分のマクロブロックラインの転送を完了する。【０１２２】
以下、同様にして、Ｂ2ピクチャ、Ｂ3ピクチャ、Ｂ4ピクチャを並列処理で復号する。【０１２３】
なお、第１復号処理部１２０によるＩ0−ｔｏｐの復号時間（ｔ0からｔ3までの時間）、Ｐ0−ｔｏｐの復号時間（ｔ3からｔ11までの時間）、及び、第２復号処理部１３０によるＩ0−ｂｏｔｔｏｍの復号時間（ｔ4からｔ13までの時間）を、例えば、符号化ストリームのフレームレートが毎秒３０フレーム（３０ｆｐｓ）の場合は、３０分の１秒以内に収めることで、Ｉ0−ｔｏｐの復号時間分、すなわち、３０分の１秒の復号遅延はあるものの、復号処理における実時間処理が可能となる。【０１２４】
なお、上述したように、Ｈ．２６４では、画面間予測に基づいて動きベクトルを検出する際に、対象ブロックの周辺のブロックの動きベクトルを参照することもできる。この場合、例えば、Ｐ1−ｂｏｔｔｏｍの上部３０３ｂを復号する際に、Ｐ1−ｔｏｐの下部３０２ｂの復号データが必要となる。したがって、図７に示すように、時刻ｔ12で、第１復号処理部１２０は、Ｐ1−ｔｏｐの復号データの転送を完了し、完了した時点で、第２復号処理部１３０は、Ｐ1−ｂｏｔｔｏｍの復号を開始する。すなわち、Ｉ0−ｂｏｔｔｏｍの復号が終了した時刻ｔ13で、Ｐ1−ｔｏｐの復号データの転送が完了していない場合（ｔ13＜ｔ12）は、第２復号処理部１３０は、Ｐ1−ｔｏｐの復号データの転送が完了するのを一時的に待つ必要がある。【０１２５】
しかしながら、第１復号処理部１２０は、ピクチャの上半分の復号が完了した時点では、直ちに、次のピクチャの上半分の復号を開始することができる。これにより、必要なデータが転送されるのを待つ時間を低減することができる。【０１２６】
次に、本実施の形態の画像復号装置１００の動作について説明する。【０１２７】
まず、本実施の形態の画像復号装置１００に符号化ストリームが入力されると、ストリーム分割部１１０は、当該符号化ストリームを２個の分割符号化ストリームに分割し、第１復号処理部１２０及び第２復号処理部１３０に分割符号化ストリームを１つずつ供給する。第１復号処理部１２０及び第２復号処理部１３０はそれぞれ、ストリームバッファ１２１又は１３１に分割符号化ストリームを格納する。【０１２８】
以下では、複数の復号処理部がそれぞれ分割符号化ストリームを復号する処理について説明する。ここでは、第１復号処理部１２０が行う処理について説明する。なお、第２復号処理部１３０は、同様の処理を行う。【０１２９】
図８は、本実施の形態の画像復号装置１００の動作を示すフローチャートである。【０１３０】
まず、復号部１２３は、ストリームバッファ１２１から分割符号化ストリームを読み出し、復号対象の復号処理単位（例えば、対象ブロック）がどのデータを参照するかなどを示す制御データを取得し、復号判定部１２２に供給する。復号判定部１２２は、制御データに基づいて、復号対象の復号処理単位を復号する際に参照される参照データが既に得られているか否かを判定する（Ｓ１０１）。【０１３１】
具体的には、復号部１２３によって既に生成されている復号データ、及び、データ転送部１２５によって第２復号処理部１３０から受信された復号データが、ビデオバッファ１２６に格納されているか否かを判定する。なお、復号判定部１２２は、イントラ符号化ピクチャの最初の復号処理単位を復号する場合などの他のデータを参照しない場合は、参照データが既に得られていると判定する。【０１３２】
参照データがまだ得られていないと判定された場合（Ｓ１０１でＮｏ）、必要な参照データが全て得られるまで、分割符号化ストリームの符号化処理を待機させる。【０１３３】
参照データが既に得られていると判定された場合（Ｓ１０１でＹｅｓ）、復号部１２３は、対象の復号処理単位を復号することで、復号データを生成する（Ｓ１０２）。生成した復号データは、転送判定部１２４を介して、ビデオバッファ１２６に格納される。【０１３４】
次に、転送判定部１２４は、復号部１２３によって生成された復号データが、転送の対象であるか否かを判定する（Ｓ１０３）。具体的には、第２復号処理部１３０による復号処理時に、当該復号データが参照されるか否かを制御データに基づいて判定する。当該復号データが参照される場合、当該復号データは転送の対象であると判定する。なお、他の復号処理部が複数ある場合は、どの復号処理部に転送するかも判定する。【０１３５】
復号部１２３によって生成された復号データが転送の対象であると判定され（Ｓ１０３でＹｅｓ）、転送の対象であると判定された復号データが、転送処理単位（例えば、マクロブロックライン）に達した場合（Ｓ１０４でＹｅｓ）、データ転送部１２５は、転送処理単位で復号データを第２復号処理部１３０に転送する（Ｓ１０５）。【０１３６】
転送の対象であると判定された復号データが、転送処理単位に達していない場合（Ｓ１０４でＮｏ）、次の復号処理単位の復号を行う（Ｓ１０１に戻る）。ただし、転送処理単位に達していない場合でも、次の復号処理単位がない場合は、データ転送部１２５は、未転送の復号データを第２復号処理部１３０に転送する（Ｓ１０５）。【０１３７】
復号部１２３によって生成された復号データが転送の対象でないと判定され（Ｓ１０３でＮｏ）、次の復号処理単位がある場合（Ｓ１０６でＹｅｓ）、次の復号処理単位の復号を行う（Ｓ１０１に戻る）。次の復号処理単位がない場合（Ｓ１０６でＮｏ）、復号処理を終了する。【０１３８】
以上のように、対象ブロックの復号に必要な参照データが得られている場合に、対象ブロックを復号する。さらに、復号により生成された復号データが他の復号処理部によって参照される場合は、当該他の復号処理部に転送される。このようにして、複数の復号処理部は、互いに参照するデータを転送しながら符号化ストリームを並列処理で復号することができる。【０１３９】
続いて、第１復号処理部１２０と第２復号処理部１３０とのより具体的な処理について図９及び図１０を用いて説明する。以下では、符号化ピクチャが４０９６×２０４８画素の解像度を有し、動きベクトルの垂直方向の最大値が５１２画素である場合について説明する。なお、復号処理単位は、１６×１６画素のマクロブロックであり、転送処理単位は、マクロブロックラインであるとする。【０１４０】
図９は、本実施の形態の第１復号処理部１２０の動作を示すフローチャートである。【０１４１】
まず、復号部１２３は、分割符号化ストリーム中に含まれるそれより前のピクチャを画面間予測処理で参照しないと保証されているＩＤＲピクチャを検出して、検出したＩＤＲピクチャを１枚目のＩピクチャとして復号を開始する。Ｉピクチャのデコードは、ピクチャヘッダデコード、スライスヘッダデコードに続き、マクロブロックのデコードを行う。【０１４２】
マクロブロックを復号する際に、復号判定部１２２は、対象マクロブロックを復号するのに必要な参照データが既に得られているか否かを判定する（Ｓ２０１）。なお、ＩＤＲピクチャの場合、最初のマクロブロックは他のピクチャ及びマクロブロックを参照することなく復号されるので、この判定処理（Ｓ２０１）は行わなくてもよい。【０１４３】
参照データがまだ得られていないと判定された場合（Ｓ２０１でＮｏ）、必要な参照データが得られるまで、復号部１２３の復号処理を待機させる。必要な参照データが得られたと判定された場合（Ｓ２０１でＹｅｓ）、復号部１２３は、当該参照データを参照することで、対象マクロブロックを復号する（Ｓ２０２）。【０１４４】
次に、転送判定部１２４は、復号した対象マクロブロックが、第２復号処理部１３０が画面間予測処理の際に参照される可能性がある範囲であるか否かを判定する。具体的には、まず、復号した対象マクロブロックがピクチャの左端のマクロブロックであるか否かを判定する（Ｓ２０３）。対象マクロブロックが左端のマクロブロックである場合（Ｓ２０３でＹｅｓ）、さらに、転送判定部１２４は、対象マクロブロックの垂直方向の位置が５１２画素以上の位置であるか否かを判定する（Ｓ２０４）。【０１４５】
対象マクロブロックが左端のマクロブロックでない場合（Ｓ２０３でＮｏ）、又は、対象マクロブロックの垂直方向の位置が５１２画素未満の位置である場合（Ｓ２０４でＮｏ）、対象マクロブロックが最終マクロブロックでなければ（Ｓ２０６でＮｏ）、次のマクロブロックを新たな対象マクロブロックとして復号を行う（Ｓ２０１に戻る）。【０１４６】
対象マクロブロックが左端のマクロブロックであり、かつ、垂直方向の位置が５１２画素以上の位置である場合（Ｓ２０４でＹｅｓ）、データ転送部１２５は、当該対象マクロブロックの直前ラインの復号データを、データ転送バス１４０を介して、第２復号処理部１３０に転送する（Ｓ２０５）。【０１４７】
以上のように、マクロブロックのデコードを左上端のマクロブロックから順に行い、最後のマクロブロックの復号を完了した場合（Ｓ２０６でＹｅｓ）、データ転送部１２５は、最終ラインの復号データを第２復号処理部１３０にデータ転送バス１４０を介して転送する（Ｓ２０７）。そして、第１復号処理部１２０は、次のピクチャに対して同様の処理を行う。【０１４８】
以上のように、本実施の形態では、特許文献１とは異なり、符号化ピクチャ内で復号の順序を変更することはない。すなわち、従来と同様に、左上のマクロブロックから順にマクロブロックラインに沿って復号する。そして、１行のマクロブロックラインの復号が終了すると、次の行のマクロブロックラインの左端のマクロブロックから復号を行う。このため、複雑な制御を行う必要もなく、既存の復号回路を利用することができる。【０１４９】
図１０は、本実施の形態の第２復号処理部１３０の動作を示すフローチャートである。【０１５０】
まず、マクロブロックを復号する際に、復号判定部１３２は、対象マクロブロックを復号するのに必要な参照データが既に得られているか否かを判定する（Ｓ３０１）。具体的には、第２復号処理部１３０は、第１復号処理部１２０と同様に、符号化ストリーム中のＩＤＲピクチャから復号を開始する。しかしながら、上述したように、復号処理を始めるにあたり画面内予測を行うためには、上方向に隣接しているマクロブロックの情報が必要となる。この情報は、第１復号処理部１２０によって復号された際に明らかとなる情報である。したがって、第２復号処理部１３０は、第１復号処理部１２０が復号した情報のうち画面内予測に必要な制御データがデータ転送バス１４０を通じて転送されたか否かを判定する。【０１５１】
参照データがまだ得られていないと判定された場合（Ｓ３０１でＮｏ）、必要な参照データが得られるまで、復号部１３３の復号処理を待機させる。必要な参照データが得られたと判定された場合（Ｓ３０１でＹｅｓ）、復号部１３３は、当該参照データを参照することで、対象マクロブロックを復号する（Ｓ３０２）。【０１５２】
次に、転送判定部１３４は、復号した対象マクロブロックが、第１復号処理部１２０が画面間予測処理の際に参照される可能性がある範囲であるか否かを判定する。具体的には、まず、復号した対象マクロブロックがピクチャの左端のマクロブロックであるか否かを判定する（Ｓ３０３）。対象マクロブロックが左端のマクロブロックである場合（Ｓ３０３でＹｅｓ）、さらに、転送判定部１３４は、対象マクロブロックの垂直方向の位置が５１２画素未満の位置であるか否かを判定する（Ｓ３０４）。【０１５３】
さらに、本実施の形態では、転送は、マクロブロックラインごとに行うので、垂直方向の位置が１６画素以上である場合（Ｓ３０５でＹｅｓ）、すなわち、１行のマクロブロックラインが得られている場合に、データ転送部１３５は、当該対象マクロブロックの直前ラインの復号データを、データ転送バス１４０を介して、第１復号処理部１２０に転送する（Ｓ３０６）。【０１５４】
対象マクロブロックが左端のマクロブロックでない場合（Ｓ３０３でＮｏ）、対象マクロブロックの垂直方向の位置が５１２画素未満の位置である場合（Ｓ３０４でＮｏ）、又は、対象マクロブロックの垂直方向の位置が１６画素未満の位置である場合（Ｓ３０５でＮｏ）対象マクロブロックが最終マクロブロックでなければ（Ｓ３０６でＮｏ）、次のマクロブロックを新たな対象マクロブロックとして復号を行う（Ｓ３０１に戻る）。【０１５５】
以上のように、マクロブロックのデコードを左上端のマクロブロックから順に行い、最後のマクロブロックの復号を完了した場合（Ｓ３０７でＹｅｓ）、第２復号処理部１３０は、次のピクチャに対して同様の処理を行う。【０１５６】
以上のように、本実施の形態の画像復号装置及び画像復号方法によれば、必要なデータが転送されるのを待つ時間を低減することができる。また、画面間予測に必要な画素データだけでなく、復号の処理単位（例えば、マクロブロック）の依存関係を示す制御データが得られている場合に復号を開始するので、画面内予測に基づいて符号化された符号化ピクチャも復号することができる。さらに、データ転送を行う頻度を低減することができるので、復号処理部間で相互に通信するオーバーヘッドを小さくすることができる。【０１５７】
このように、画面間予測のみならず、画面内予測に基づいて１ピクチャ内に依存関係を有する場合にも、従来の復号回路を流用し、並列化の効率を低下させることなく、１ピクチャ内に依存関係がある符号化ピクチャを復号することができる。【０１５８】
以上、本発明の画像復号装置及び画像復号方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。【０１５９】
例えば、復号部１２３及び１３３は、１６×１６画素のマクロブロックごとに復号するとしたが、画素ごとに復号してもよい。また、マクロブロックの大きさも１６×１６画素に限らず、８×８、８×１６、又は、１６×８画素など他の大きさでもよい。【０１６０】
また、データ転送バス１４０を通じて、他方の復号処理部にデータを送信する単位をマクロブロックライン（すなわち、１６画素ライン）ごととして説明したが、このデータの送信する単位は、５１２画素ライン未満の複数の行をまとめて転送しても、５１２画素ライン全てをまとめて転送してもよい。あるいは、スライス単位などでデータを送信してもよい。【０１６１】
また、本実施の形態では、符号化ストリームに含まれる複数の符号化ピクチャのそれぞれは、同じ水平軸を境界線としてＮ個の領域に分割され、Ｎ個の分割符号化ストリームは、各符号化ピクチャの同じ領域を含む場合について説明した。これに対して、符号化ピクチャごとに境界線の位置が異なっていてもよい。また、Ｎ個の領域のそれぞれが、異なる大きさでもよい。なお、分割する方向は、垂直軸、又は、対称軸を境界線としてもよい。ただし、依存関係が複雑になるので、水平軸を境界線とするのが望ましい。【０１６２】
また、本実施の形態では、２つの復号処理部を用いて復号処理を２並列で処理していく場合を説明したが、同様に、より多くの復号処理部を用いて並列処理を行ってもよい。例えば、２本の水平軸を境界線として符号化ピクチャを３つの等しい大きさの領域に分割してもよい。【０１６３】
図１１は、ピクチャを３つの領域に分割した場合の復号処理の時間的な流れを模式的に示す図である。同図に示すように、画像復号装置は、第１復号処理部、第２復号処理部、及び、第３復号処理部の３つの処理部を用いて、並列処理を行う。【０１６４】
第１復号処理部は、符号化ピクチャの上部（Ｉ0−ｔｏｐ、Ｐ1−ｔｏｐ、Ｂ2−ｔｏｐ、・・・）のみを含む分割符号化ストリームを復号する。第２復号処理部は、符号化ピクチャの中部（Ｉ0−ｍｉｄｄｌｅ、Ｐ1−ｍｉｄｄｌｅ、Ｂ2−ｍｉｄｄｌｅ、・・・）のみを含む分割符号化ストリームを復号する。第３復号処理部は、符号化ピクチャの下部（Ｉ0−ｍｉｄｄｌｅ、Ｐ1−ｍｉｄｄｌｅ、Ｂ2−ｍｉｄｄｌｅ、・・・）のみを含む分割符号化ストリームを復号する。【０１６５】
Ｉ0−ｍｉｄｄｌｅの最上部の１行分のマクロブロックラインを復号する際には、Ｉ0−ｔｏｐの最下部の１行分のマクロブロックラインの復号データが必要である。したがって、第２復号処理部は、Ｉ0−ｔｏｐの最下部の１行分のマクロブロックラインの復号データの受信が完了すると同時に、Ｉ0−ｍｉｄｄｌｅの左上のマクロブロックの復号を開始する。このため、図１１に示すように、第１復号処理部と第２復号処理部とでは、３分の１のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。【０１６６】
Ｉ0−ｂｏｔｔｏｍの最上部の１行分のマクロブロックラインを復号する際には、Ｉ0−ｍｉｄｄｌｅの最下部の１行分のマクロブロックラインの復号データが必要である。したがって、第３復号処理部は、Ｉ0−ｍｉｄｄｌｅの最下部の１行分のマクロブロックラインの復号データの受信が完了すると同時に、Ｉ0−ｂｏｔｔｏｍの左上のマクロブロックの復号を開始する。このため、図１１に示すように、第２復号処理部と第３復号処理部とでは、３分の１のピクチャを復号するのに要する時間分だけ復号の開始のタイミングが異なる。【０１６７】
したがって、Ｉ0−ｔｏｐ、Ｉ0−ｍｉｄｄｌｅ及びＩ0−ｂｏｔｔｏｍは、異なる復号時間に、異なる復号処理部によって、また、Ｐ1−ｔｏｐ、Ｐ1−ｍｉｄｄｌｅ及びＰ1−ｂｏｔｔｏｍと、Ｂ2−ｔｏｐ、Ｂ2−ｍｉｄｄｌｅ及びＢ2−ｂｏｔｔｏｍとも同様に、異なる復号時間に、異なる復号処理部によって、パイプライン的に並列処理される。【０１６８】
以上のように、イントラ符号化ピクチャの第１領域（例えば、Ｉ0−ｔｏｐ）の下方向に隣接する第２領域（Ｉ0−ｍｉｄｄｌｅ）を復号する際は、第２領域を復号する復号処理部は、第１領域の最後のブロックが復号され、その復号データが転送されるのを待って、復号を開始する。これにより、互いにデータの転送を行いながら、複数の復号処理部により並列処理で符号化ストリームを復号することができる。なお、復号データをどの復号処理部に転送するかは、各復号処理部が備える転送判定部が判定する。【０１６９】
なお、特に、符号化ピクチャを３つ以上の領域に分割する場合は、これらの領域のそれぞれが、動きベクトルの最大探索範囲の半分以上の大きさであることが好ましい。具体的には、ピクチャの垂直画素数をＬ、分割数をＮ、動きベクトルの最大探索範囲をＭとすると、以下の（式１）が成り立つ。【０１７０】
（式１）  Ｌ／Ｎ≧Ｍ／２
このため、分割数Ｎは、以下の（式２）を満たすように決定される。【０１７１】
（式２）  Ｎ≦２Ｌ／Ｍ
こうすることで、例えば、図１１では、Ｐ1−ｂｏｔｔｏｍを画面間予測に基づいて復号する際に参照される領域は、Ｉ0−ｍｉｄｄｌｅとＩ0−ｂｏｔｔｏｍとに限られ、Ｉ0−ｔｏｐを参照することはない。これにより、第１復号処理部と第３復号処理部とを接続しなくてもよいので、簡単な構成で画像復号装置を実現することができる。【０１７２】
さらに、このとき、分割された領域のそれぞれが、動きベクトルの最大探索範囲以上の大きさである場合は、１つのマクロブロックの復号データが２つ以上の復号処理部によって参照されることはない。【０１７３】
また、本実施の形態では、復号処理部同士は双方向に通信可能な共有バスを通じてデータを相互に転送するものとして説明しているが、データをやりとりするバスはそれぞれ単方向にのみ転送可能な個別のバスとして構成されてもかまわない。また、データをやりとりする手段はバスに限定されるものではなく、複数のメモリのバンク切り替えなどにより共有する構成でもかまわない。【０１７４】
また、複数の復号処理部は、それぞれ別々のＬＳＩとして備えられてもよく、あるいは、単一のＬＳＩ内に統合されたシステムであってもかまわない。【０１７５】
かかる構成によれば、複数の復号処理部で構成されるシステムにおいて、画面を水平方向に分割し、それぞれの領域の復号処理を並列に処理する際に、画面内予測及び画面間予測に必要なデータを相互に転送し必要なデータがそろったことを検出しながら、それぞれの復号処理部が処理を進めることが可能となる。【０１７６】
また、本発明は、上述したように、画像復号装置及び画像復号方法として実現できるだけではなく、本実施の形態の画像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。【０１７７】
また、本発明は、画像復号装置を構成する構成要素の一部又は全部を、１個のシステムＬＳＩから構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどを含んで構成されるコンピュータシステムである。
【産業上の利用可能性】
【０１７８】
本発明の画像復号装置及び画像復号方法は、既存の復号部を組み合わせることで、より高解像度な画像を容易に復号できるという効果を奏し、例えば、デジタルカメラ、デジタルテレビなどに利用することができる。
【図１】
2009063646.tif 000003
【図２】
2009063646.tif 000004
【図３】
2009063646.tif 000005
【図４】
2009063646.tif 000006
【図５】
2009063646.tif 000007
【図６】
2009063646.tif 000008
【図７】
2009063646.tif 000009
【図８】
2009063646.tif 000010
【図９】
2009063646.tif 000011
【図１０】
2009063646.tif 000012
【図１１】
2009063646.tif 000013
【図１２】
2009063646.tif 000014
【手続補正書】
【提出日】平成21年5月27日(2009.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画面内予測及び画面間予測に基づいて符号化された複数の符号化ピクチャを含む符号化ストリームを復号する画像復号装置であって、
前記複数の符号化ピクチャのそれぞれがＮ個（Ｎは２以上の整数）の領域にＮ−１本の水平軸を境界線として分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割部と、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを、互いに異なる符号化ピクチャが並列処理されるように復号するＮ個の復号処理部とを備え、
前記Ｎ個の復号処理部のそれぞれは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定部と、
前記第１判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第２判定部とを備え、
前記復号部は、
前記第２判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号し、
前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、
前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、
前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームに含まれる第１符号化ピクチャの前記第１領域を復号し、
前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第１復号処理部による前記第１領域の復号中に、前記第２分割符号化ストリームに含まれる、前記第１符号化ピクチャの前の第２符号化ピクチャの前記第２領域を復号する
画像復号装置。
【請求項２】
前記Ｎ個の領域のそれぞれは、前記復号処理部が画面間予測に基づいて復号する際に動きベクトルを探索する最大の範囲である最大探索範囲の半分以上の大きさの領域である
請求項１記載の画像復号装置。
【請求項３】
前記第２復号処理部が備える前記データ転送部は、前記第１復号処理部から送信される、前記第１領域が復号されることで得られる復号データの少なくとも一部を受信し、
前記第２復号処理部が備える前記第２判定部は、前記符号化ピクチャの前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたか否かを判定し、
前記第２復号処理部が備える前記復号部は、前記第１領域の最後の第１処理単位が復号されることで生成される復号データが受信されたと判定された場合、前記符号化ピクチャの前記第２領域の復号を開始する
請求項２記載の画像復号装置。
【請求項４】
前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面内予測に基づいて復号する際に、当該他の領域との依存関係を示す制御データと、当該他の領域との依存関係に基づいて参照される画素の画素データとの少なくとも１つを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
請求項３記載の画像復号装置。
【請求項５】
前記第１判定部は、前記復号部によって生成された復号データが、他の分割符号化ストリームに含まれる符号化ピクチャの他の領域を他の復号処理部が画面間予測に基づいて復号する際の動きベクトルの探索範囲に位置する画素の画素データを含む場合に、当該復号データが他の復号処理部によって参照されると判定する
請求項４記載の画像復号装置。
【請求項６】
前記第２判定部は、前記復号部による復号の対象である対象第１処理単位との依存関係を示す制御データと、当該対象第１処理単位と依存関係を有する画素の画素データとの少なくとも１つを含む復号データが全て、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する
請求項５記載の画像復号装置。
【請求項７】
前記ストリーム分割部は、前記符号化ピクチャが等しい大きさのＮ個の領域に分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成する
請求項６記載の画像復号装置。
【請求項８】
前記画像復号装置は、さらに、
前記復号部によって生成された復号データと、前記データ転送部によって受信された復号データとを記憶する記憶部を備え、
前記第２判定部は、前記画面内予測及び画面間予測に基づいて参照される復号データが、前記記憶部に既に記憶されているか否かを判定し、
前記復号部は、前記第２判定部によって復号データが前記記憶部に記憶されていると判定された場合に、前記符号化ストリームを復号する
請求項７記載の画像復号装置。
【請求項９】
前記第１処理単位は、前記符号化ピクチャを構成するマクロブロックであり、
前記第２処理単位は、マクロブロックラインである
請求項８記載の画像復号装置。
【請求項１０】
画面内予測及び画面間予測に基づいて符号化された複数の符号化ピクチャを含む符号化ストリームを復号する画像復号方法であって、
前記複数の符号化ピクチャのそれぞれがＮ個（Ｎは２以上の整数）の領域にＮ−１本の水平軸を境界線として分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割ステップと、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを、互いに異なる符号化ピクチャが並列処理されるようにＮ個の復号処理部を用いて復号する復号処理ステップとを含み、
前記復号処理ステップでは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定ステップと、
前記第１判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第２判定ステップとを含み、
前記復号ステップでは、
前記第２判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号し、
前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、
前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、
前記復号処理ステップでは、
前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームに含まれる第１符号化ピクチャの前記第１領域を復号し、
前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第１復号処理部による前記第１領域の復号中に、前記第２分割符号化ストリームに含まれる、前記第１符号化ピクチャの前の第２符号化ピクチャの前記第２領域を復号する
画像復号方法。
【請求項１１】
画面内予測及び画面間予測に基づいて符号化された複数の符号化ピクチャを含む符号化ストリームを復号する集積回路であって、
前記複数の符号化ピクチャのそれぞれがＮ個（Ｎは２以上の整数）の領域にＮ−１本の水平軸を境界線として分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割部と、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを、互いに異なる符号化ピクチャが並列処理されるように復号するＮ個の復号処理部とを備え、
前記Ｎ個の復号処理部のそれぞれは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号部と、
前記復号部によって生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定部と、
前記第１判定部によって前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送部と、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号部によって既に生成されている、又は、前記データ転送部によって既に受信されているか否かを判定する第２判定部とを備え、
前記復号部は、
前記第２判定部によって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号し、
前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、
前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、
前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームに含まれる第１符号化ピクチャの前記第１領域を復号し、
前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第１復号処理部による前記第１領域の復号中に、前記第２分割符号化ストリームに含まれる、前記第１符号化ピクチャの前の第２符号化ピクチャの前記第２領域を復号する
集積回路。
【請求項１２】
画面内予測及び画面間予測に基づいて符号化された複数の符号化ピクチャを含む符号化ストリームを復号する画像復号方法をコンピュータに実行させるプログラムであって、
前記複数の符号化ピクチャのそれぞれがＮ個（Ｎは２以上の整数）の領域にＮ−１本の水平軸を境界線として分割されるように前記符号化ストリームを分割することで、Ｎ個の分割符号化ストリームを生成するストリーム分割ステップと、
前記ストリーム分割部によって生成されたＮ個の分割符号化ストリームのそれぞれを、互いに異なる符号化ピクチャが並列処理されるようにＮ個の復号処理部を用いて復号する復号処理ステップとを含み、
前記復号処理ステップでは、
前記分割符号化ストリームを画面内予測及び画面間予測に基づいて、前記符号化ピクチャの領域を構成する第１処理単位ごとに、予め定められた順序で復号することで、画素値を示す画素データと第１処理単位間の依存関係を示す制御データとを含む復号データを生成する復号ステップと、
前記復号ステップで生成される復号データが他の復号処理部によって参照されるか否かを、前記制御データに示される第１処理単位間の依存関係に基づいて判定する第１判定ステップと、
前記第１判定ステップで前記復号データが参照されると判定された場合、当該復号データを参照する他の復号処理部に当該復号データを、前記第１処理単位以上の第２処理単位ごとに送信し、かつ、他の復号処理部から送信される復号データを受信するデータ転送ステップと、
画面内予測及び画面間予測に基づいて参照される復号データが、前記復号ステップで既に生成されている、又は、前記データ転送ステップで既に受信されているか否かを判定する第２判定ステップとを含み、
前記復号ステップでは、
前記第２判定ステップによって復号データが生成されている、又は、受信されていると判定された場合、当該復号データに含まれる制御データを用いて、復号の対象である対象第１処理単位と依存関係を有する画素の画素データを参照することで、画面内予測及び画面間予測に基づいて前記分割符号化ストリームを復号し、
前記Ｎ個の分割符号化ストリームの１つである第１分割符号化ストリームは、前記Ｎ個の領域のうち第１領域を含み、
前記Ｎ個の分割符号化ストリームの１つである第２分割符号化ストリームは、前記第１領域の下方向に隣接する第２領域を含み、
前記復号処理ステップでは、
前記Ｎ個の復号処理部の１つである第１復号処理部は、前記第１分割符号化ストリームに含まれる第１符号化ピクチャの前記第１領域を復号し、
前記Ｎ個の復号処理部の１つである第２復号処理部は、前記第１復号処理部による前記第１領域の復号中に、前記第２分割符号化ストリームに含まれる、前記第１符号化ピクチャの前の第２符号化ピクチャの前記第２領域を復号する
プログラム。
【国際調査報告】
2009063646.tif 000015
2009063646.tif 000016
2009063646.tif 000017
2009063646.tif 000018