(57)【要約】【課題】Ｈ．２６４／ＡＶＣのイントラ・フレーム予測に際して、複数の動画像並列処理ユニットによる並列処理を容易とすること。【解決手段】Ｈ．２６４／ＡＶＣに準拠した動画符号化と動画復号とを行う機能ブロックＦＢは、２つの動画像処理ユニット２＿０、２＿１と、１つのピクチャーの１つの行に配列された第１の複数のマクロブロックＭＢ６００…ＭＢ６１１の第１動画像処理ユニット２＿０による処理結果と関係するデータを格納するメモリユニットＬＭとを含む。ＬＭの格納データから複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の処理結果に関係するデータが第２動画像処理ユニット２＿１へ転送される。第２動画像処理ユニット２＿１はこの転送データを使用して、次の行に配列された第２の複数のマクロブロックＭＢ７００…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理を行う。【選択図】図１
2008042571.tif 000002
【特許請求の範囲】
【請求項１】
Ｈ．２６４／ＡＶＣに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロックであって、
並列動作可能な少なくとも第１動画像処理ユニットと第２動画像処理ユニットとを具備するものであり、
前記第１動画像処理ユニットと前記第２動画像処理ユニットとが前記並列動作するに際して、前記第１動画像処理ユニットと前記第２動画像処理ユニットとが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものであり、
前記第１動画像処理ユニットは１つのピクチャーの１つの行に配列された第１の複数のマクロブロックをシーケンシャルに処理して、前記第２動画像処理ユニットは前記１つのピクチャーの前記１つの行と異なる他の行に配列された第２の複数のマクロブロックをシーケンシャルに処理するものであり、
前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの１つのマクロブロックの処理でのイントラ・フレーム予測に際して、前記第１の複数のマクロブロックのうちから前記１つのマクロブロックの近傍に位置する複数の近傍マクロブロックの前記第１動画像処理ユニットによる処理結果と関係するデータが使用され、
前記第１動画像処理ユニットと前記第２動画像処理ユニットとに接続され、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロックの前記第１動画像処理ユニットによる処理結果と関係するデータを格納するメモリユニットを更に具備するものであり、
前記メモリユニットに格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロックの前記第１動画像処理ユニットによる前記処理結果に関係する前記データが、前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニットから前記第２動画像処理ユニットへ転送される機能ブロック。
【請求項２】
前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理での前記イントラ・フレーム予測の前記処理開始に先立って前記メモリユニットから転送された前記複数の近傍マクロブロックの前記第１動画像処理ユニットによる前記処理結果に関係する前記データの中から前記１つのマクロブロックの前記イントラフレーム予測で使用される予測モードに従って前記複数の近傍マクロブロックの１つのマクロブロックの処理結果が選択され、当該選択された処理結果を使用して前記第２動画像処理ユニットは前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理を実行する請求項１に記載の機能ブロック。
【請求項３】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、マクロブロックの処理結果と関係するデータを格納するメモリを含み、
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記マクロブロックの直後の後続マクロブロックの処理でのイントラ・フレーム予測に前記メモリに格納された前記マクロブロックの前記処理結果と関係する前記データを使用する請求項１と請求項２とのいずれかに記載の機能ブロック。
【請求項４】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続により構成され、
前記第２動画像処理ユニットのパイプライン動作の開始タイミングは、前記第１動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の２つのタイムスロットまたはそれ以上遅延している請求項１から請求項３までのいずれかに記載の機能ブロック。
【請求項５】
インターレース画像におけるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応する請求項４に記載の機能ブロック。
【請求項６】
前記第１動画像処理ユニットは１つのピクチャーの１つの行に配列された第１の複数のマクロブロックと前記１つの行の直後の第１後続行に配列された第２の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理する一方、前記第２動画像処理ユニットは前記第１後続行の直後の第２後続行に配列された第３の複数のマクロブロックと前記第２後続行の直後の第３後続行に配列された第４の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理して、
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続とにより構成され、
前記第２動画像処理ユニットのパイプライン動作の開始タイミングは、前記第１動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の４つのタイムスロットまたはそれ以上遅延している請求項１からから請求項３までのいずれかに記載の機能ブロック。
【請求項７】
インタレース画像におけるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理に対応する請求項６に記載の機能ブロック。
【請求項８】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続と、
前記複数の機能サブユニットに接続された複数の入出力インターフェースの従属接続とにより構成され、
前記複数の入出力インターフェースは、前記第１動画像処理ユニットと前記第２動画像処理ユニットとのいずれかによるマクロブロックの処理結果と関係するデータを転送するものであり、
前記第１動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第１データパスを介して前記第２動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続され、
前記第２動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第２データパスを介して前記メモリユニットの入力に接続され、
前記メモリユニットの出力は第３データパスを介して前記第１動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続される請求項４と請求項６とのいずれかに記載の機能ブロック。
【請求項９】
前記複数の入出力インターフェースのそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニットが使用するか否かを判別して、使用する場合は前記対応するサブユニットへ前記データを供給するものである請求項８に記載の機能ブロック。
【請求項１０】
前記第１の複数のマクロブロックと前記第２の複数のマクロブロックとを含むビットストリームを解析して、前記第１の複数のマクロブロックを前記第１動画像処理ユニットへ供給して、前記第２の複数のマクロブロックを前記第２動画像処理ユニットへ供給するコントローラを更に具備する請求項４と請求項６とのいずれかに記載の機能ブロック。
【請求項１１】
記憶装置と前記第１動画像処理ユニットおよび前記第２動画像処理ユニットとの間で前記ビットストリームを転送するダイレクトメモリアクセスコントローラを更に具備する請求項１０に記載の機能ブロック。
【請求項１２】
前記第１動画像処理ユニットと前記第２動画像処理ユニットの前記複数の機能サブユニットは前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成され、
システム初期化のシーケンスに前記機能ブロックを符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号が供給され、前記動作モード信号による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号により指示された装置として動作する請求項１から請求項１１までのいずれかに記載の機能ブロック。
【請求項１３】
前記メモリユニットは、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロックの前記第１動画像処理ユニットによる前記処理結果と関係する前記１つの行分の前記データを格納するラインメモリである請求項１から請求項１１までのいずれかに記載の機能ブロック。
【請求項１４】
Ｈ．２６４／ＡＶＣに準拠したＨ．２６４／ＡＶＣに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロックをコアとして含む半導体集積回路であって、
並列動作可能な少なくとも第１動画像処理ユニットと第２動画像処理ユニットとを具備するものであり、
前記第１動画像処理ユニットと前記第２動画像処理ユニットとが前記並列動作するに際して、前記第１動画像処理ユニットと前記第２動画像処理ユニットとが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものであり、
前記第１動画像処理ユニットは１つのピクチャーの１つの行に配列された第１の複数のマクロブロックをシーケンシャルに処理して、前記第２動画像処理ユニットは前記１つのピクチャーの前記１つの行と異なる他の行に配列された第２の複数のマクロブロックをシーケンシャルに処理するものであり、
前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの１つのマクロブロックの処理でのイントラ・フレーム予測に際して、前記第１の複数のマクロブロックのうちから前記１つのマクロブロックの近傍に位置する複数の近傍マクロブロックの前記第１動画像処理ユニットによる処理結果と関係するデータが使用され、
前記第１動画像処理ユニットと前記第２動画像処理ユニットとに接続され、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロックの前記第１動画像処理ユニットによる処理結果と関係するデータを格納するメモリユニットを更に具備するものであり、
前記メモリユニットに格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロックの前記第１動画像処理ユニットによる前記処理結果に関係する前記データが、前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニットから前記第２動画像処理ユニットへ転送される半導体集積回路。
【請求項１５】
前記第２動画像処理ユニットによる前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理での前記イントラ・フレーム予測の前記処理開始に先立って前記メモリユニットから転送された前記複数の近傍マクロブロックの前記第１動画像処理ユニットによる前記処理結果に関係する前記データの中から前記１つのマクロブロックの前記イントラフレーム予測で使用される予測モードに従って前記複数の近傍マクロブロックの１つのマクロブロックの処理結果が選択され、当該選択された処理結果を使用して前記第２動画像処理ユニットは前記第２の複数のマクロブロックの前記１つのマクロブロックの前記処理を実行する請求項１４に記載の半導体集積回路。
【請求項１６】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、マクロブロックの処理結果と関係するデータを格納するメモリを含み、
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記マクロブロックの直後の後続マクロブロックの処理でのイントラ・フレーム予測に前記メモリに格納された前記マクロブロックの前記処理結果と関係する前記データを使用する請求項１５と請求項１６のいずれかに記載の半導体集積回路。
【請求項１７】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続により構成され、
前記第２動画像処理ユニットのパイプライン動作の開始タイミングは、前記第１動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の２つのタイムスロットまたはそれ以上遅延している請求項１４から請求項１６までのいずれかに記載の半導体集積回路。
【請求項１８】
インターレース画像におけるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応する請求項１７に記載の半導体集積回路。
【請求項１９】
前記第１動画像処理ユニットは１つのピクチャーの１つの行に配列された第１の複数のマクロブロックと前記１つの行の直後の第１後続行に配列された第２の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理する一方、前記第２動画像処理ユニットは前記第１後続行の直後の第２後続行に配列された第３の複数のマクロブロックと前記第２後続行の直後の第３後続行に配列された第４の複数のマクロブロックとの同一列の一対のマクロブロックペアをデータ単位として処理して、
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続とにより構成され、
前記第２動画像処理ユニットのパイプライン動作の開始タイミングは、前記第１動画像処理ユニットのパイプライン動作の開始タイミングよりもパイプライン動作の４つのタイムスロットまたはそれ以上遅延している請求項１４から請求項１６までのいずれかに記載の半導体集積回路。
【請求項２０】
インタレース画像におけるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理に対応する請求項１９に記載の半導体集積回路。
【請求項２１】
前記第１動画像処理ユニットと前記第２動画像処理ユニットのそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニットのパイプライン接続と、
前記複数の機能サブユニットに接続された複数の入出力インターフェースの従属接続とにより構成され、
前記複数の入出力インターフェースは、前記第１動画像処理ユニットと前記第２動画像処理ユニットとのいずれかによるマクロブロックの処理結果と関係するデータを転送するものであり、
前記第１動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第１データパスを介して前記第２動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続され、
前記第２動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の他端は第２データパスを介して前記メモリユニットの入力に接続され、
前記メモリユニットの出力は第３データパスを介して前記第１動画像処理ユニットの前記複数の入出力インターフェースの前記従属接続の一端に接続される請求項１７と請求項１９とのいずれかに記載の半導体集積回路。
【請求項２２】
前記複数の入出力インターフェースのそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニットが使用するか否かを判別して、使用する場合は前記対応するサブユニットへ前記データを供給するものである請求項２１に記載の半導体集積回路。
【請求項２３】
前記第１の複数のマクロブロックと前記第２の複数のマクロブロックとを含むビットストリームを解析して、前記第１の複数のマクロブロックを前記第１動画像処理ユニットへ供給して、前記第２の複数のマクロブロックを前記第２動画像処理ユニットへ供給するコントローラを更に具備する請求項１７と請求項１９とのいずれかに記載の半導体集積回路。
【請求項２４】
記憶装置と前記第１動画像処理ユニットおよび前記第２動画像処理ユニットとの間で前記ビットストリームを転送するダイレクトメモリアクセスコントローラを更に具備する請求項２３に記載の半導体集積回路。
【請求項２５】
前記第１動画像処理ユニットと前記第２動画像処理ユニットの前記複数の機能サブユニットは前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成され、
システム初期化のシーケンスに前記機能ブロックを符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号が供給され、前記動作モード信号による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号により指示された装置として動作する請求項１４から請求項２４までのいずれかに記載の半導体集積回路。
【請求項２６】
前記メモリユニットは、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロックの前記第１動画像処理ユニットによる前記処理結果と関係する前記１つの行分の前記データを格納するラインメモリである請求項１４から請求項２４までのいずれかに記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴＵ−Ｔの勧告Ｈ．２６４／ＡＶＣに準拠した動画符号化と動画復号との少なくともいずれかを実行する機能モジュールおよびそれを含む半導体集積回路に係わり、特にＨ．２６４／ＡＶＣのイントラ・フレーム予測での動画像並列処理を容易とするのに好適な技術に関する。
【背景技術】
【０００２】
動画像符号化方式としては、現在ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）による動画像符号化方式が世界的に普及しているが、ＩＴＵ−Ｔ（国際電気通信連合電気通信標準化部門；International Telecommunication Union、 Telecommunication Standardization Sector）の勧告Ｈ．２６４として承認されるとともにＩＳＯ／ＩＥＣ（International Organization for Standardization/ International Electrotechnical Commission）によって国際基準１４４９６−１０（ＭＰＥＧ  ｐａｒｔ  １０）  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として承認されたＨ。２４６／ＡＶＣが最新の国際標準のビデオ符号化である。
【０００３】
下記非特許文献１には、勧告Ｈ。２４６／ＡＶＣに準拠したビデオ符号化技術が記載されている。勧告Ｈ。２４６／ＡＶＣによるビデオコーディングは、ビデオコンテキストを有効に表現するように設計されたビデオコーディング層（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ）と、ビデオのＶＣＬ表現をフォーマットするとともに種々の転送層や記憶媒体による転送のために適切な方法でのヘッダ情報を与えるネットワーク抽象層（Ｎｅｔｗｏｒｋ  Ａｂｓｔｒａｃｔｉｏｎ  Ｌａｙｅｒ）とから構成されている。
【０００４】
また、下記非特許文献２には、Ｈ。２４６／ＡＶＣによるビデオコーディング層（ＶＣＬ）は、ブロックベースドハイブリッドビデオコーディングと呼ばれるアプローチに従っていると記載している。ＶＣＬ設計は、マクロブロック、スライス、スライスブロックから構成されており、各ピクチャーは固定サイズの複数のマクロブロックに分割され、各マクロブロックは輝度成分で１６×１６サンプルの四角形ピクチャー領域とそれに対応する２つの色差成分のそれぞれに四角形サンプル領域とを含んでいる。１つのピクチャーは１つまたはそれ以上のスライスを含むことができ、各スライスはアクティブシーケンスとピクチャーパラメータセットとを与えると言う意味で自己包含的であり、スライス表現は基本的には他のスライスからの情報を使用することなくデコードされることができるので、シンタックスエレメントはビットストリームとピクチャーの領域のサンプルの値とから解析できる。しかしながら、より完全なデコーディングのために、スライス境界にわたってデブロッキングフィルタを適応するためには、他のスライスからのいくつかの情報が必要となる。また。各スライスはピクチャーの他のスライスと独立にエンコードされデコードされるので、スライスは並列処理に使用できることも、下記非特許文献２に記載されている。
【０００５】
一方で、動画像符号を扱うシステムは、デジタルＨＤＴＶ（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  ＴｅｌｅＶｉｓｉｏｎ）放送受信機やＨＤＴＶ信号を撮影可能なデジタルビデオカメラなど、画像サイズは大画面化してきている。これらの信号を処理する画像符号化装置や画像復号装置には、ますます高い処理性能が求められている。
【０００６】
【非特許文献１】Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ  ｅｔ  ａｌ、“Ｏｖｅｒｖｉｅｗ  ｏｆ  ｔｈｅ  Ｈ．２６４／ＡＶＣ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ”、  ＩＥＥＥＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  ＶＩＤＥＯ  ＴＥＣＨＮＯＬＯＧＹ、  ＪＵＬＹ  ２００３、  ＰＰ．１−１９．
【非特許文献２】ＧＡＲＹ  Ｊ。  ＳＵＬＬＩＶＡＮ  ｅｔ  ａｌ、“Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ−Ｆｒｏｍ  Ｃｏｎｃｅｐｔ  ｔｏ  ｔｈｅ  Ｈ．２６４／ＡＶＣ  Ｓｔａｎｄａｒｄ”、  ＰＲＯＣＥＥＤＩＮＧ  ＯＦ  ＴＨＥ  ＩＥＥＥ、  ＶＯＬ。９３、  Ｎｏ。１、  ＪＡＮＵＡＲＹ  ２００５、ＰＰ．１８−３１．
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明に先立って本発明者等は、上記Ｈ．２６４／ＡＶＣに準拠した動画像符号化と復号とを実行する低消費電力の機能ブロックの開発に従事した。
【０００８】
この開発に際して、ＨＤＴＶの大画面の動画像符号化と復号とを動作周波数を上げることなく高処理能力で処理するために、動画像の並列処理を採用すると言う基本設計がまず考えられた。これは、上記非特許文献２での「Ｈ．２６４／ＡＶＣの各スライスはピクチャーの他のスライスと独立にエンコードされてデコードされるので、スライスは並列処理に使用できる」との記載と、基本的に一致する。
【０００９】
しかし、本発明者等は上記Ｈ．２６４／ＡＶＣに準拠した動画像符号化と復号とを実行する機能ブロックの並列処理化を更に詳細に検討したところ、次のような問題と改良設計の方向とが明らかとなった。
【００１０】
上述の機能ブロックを構成する複数の動画像並列処理ユニットが並列処理するデータとしては、スライスは輝度成分で１６×１６サンプルの複数のマクロブロックを含んでいるので、１つのスライスは大き過ぎる。一方、各スライスはピクチャーの左上から右下へのラスタースキャンの順序で処理される複数のマクロブロックの１つのシーケンスであるので、上述の複数の動画像並列処理ユニットが並列処理するデータ単位として、スライスよりもデータ量の小さなマクロブロックとする。また、各動画像並列処理ユニットは、複数のマクロブロックの１つのシーケンスをシーケンシャルに処理する。
【００１１】
しかし、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理を行うには、上記Ｈ．２６４／ＡＶＣのビデオコーディング層（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ）を構成するイントラ・フレーム予測に対応することが必要となる。１つのピクチャー内部でのビデオコーディングの１つの技術要素であるイントラ・フレーム予測では、輝度成分で１６×１６サンプルの四角形ピクチャー領域を持つマクロブロックは４×４サンプルのブロック１６個に分割される場合がある。
【００１２】
図２は、Ｈ．２６４／ＡＶＣに準拠した１つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。同図に示すように、１つのピクチャーは例えば複数のスライスＳｌｉｃｅ＃０、Ｓｌｉｃｅ＃１、Ｓｌｉｃｅ＃２に分割され、１つのスライスＳｌｉｃｅ＃０はＭＢ０００〜ＭＢ２０７の３２個のマクロブロックに分割されている。１つのピクチャーの全てのマクロブロックＭＢ０００〜ＭＢ８１１のそれぞれは、輝度成分で１６×１６サンプルの四角形ピクチャー領域とそれに対応する２つの色差成分のそれぞれに８×８サンプル領域とを含んでいる。
【００１３】
図３は、Ｈ．２６４／ＡＶＣに準拠したイントラ・フレーム予測で４×４サンプルの１つのブロックが空間的に近傍のサンプルから予測される予測モードＰＭの様子を示す図である。同図に示すように、記号ａから記号ｐまでの４×４ブロックの１６サンプルは、記号Ａから記号Ｑとラベルされた近傍ブロック中で以前に復号されたサンプルを使用して予測することができる。更に、図３に示すように予測モードＰＭは、９つの４×４予測モードを含んでいる。モード０（垂直予測）では４×４ブロックの上のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード１（水平予測）では４×４ブロックの左のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード２（ＤＣ予測）では４×４ブロックの上のブロックと左のブロックのうちの有効画素の平均値から予測され、モード３（斜め左下予測）では斜め右上のサンプルから矢印に示すように予測され、モード４（斜め右下予測）では斜め左上のサンプルから矢印に示すように予測され、モード５（垂直右下予測）では斜め左上のサンプルから矢印に示すように予測され、モード６（水平右下予測）では斜め左上のサンプルから矢印に示すように予測され、モード７（垂直左下予測）では斜め右上のサンプルから矢印に示すように予測され、モード８（水平右上予測）では斜め左下のサンプルから矢印に示すように予測される。
【００１４】
図３に示したＨ．２６４／ＡＶＣに準拠したイントラ・フレーム予測を上述したマクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理で対応するためには、複数の動画像並列処理ユニットの間において近傍ブロックで以前に復号されたサンプルの高速データ転送が必要なことが、本発明者等の検討により明らかとされた。
【００１５】
図２に示すように、例えば機能ブロックを構成する第１動画像処理ユニットが１つのピクチャーの０番目の行、２番目の行、４番目の行、…の偶数行に配列されたマクロブロックＭＢ０００…、ＭＢ２００…、ＭＢ４００をシーケンシャルに処理する一方、第２動画像処理ユニットが１つのピクチャーの１番目の行、３番目の行、５番目の行、…の奇数行に配列されたマクロブロックＭＢ１００…、ＭＢ３００…、ＭＢ５００をシーケンシャルに処理することを想定する。すると、図２の右下に示すように第２動画像処理ユニットが７行目に配列されたマクロブロックＭＢ７０７の処理する場合に、第１動画像処理ユニットが処理したデータを必要とする。マクロブロックＭＢ７０７の左上の４×４ブロックの１６サンプルと右上の４×４ブロックの１６サンプルとをイントラ・フレーム予測する場合を例に示す。また、この時なデータのコピーが必要なマクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８が、いずれもイントラ４×４予測されたマクロブロックであると仮定する。
【００１６】
まず、マクロブロックＭＢ７０７の左上４×４ブロックが図３のモード４（斜め右下予測）で予測される場合は、第１動画像処理ユニットが６行目に配列されたマクロブロックＭＢ６０６の右下の１サンプルのデータと、マクロブロックＭＢ６０７の左下の１×４サンプルのデータと、第２動画像処理ユニットが７行目に配列されたマクロブロックＭＢ７０６の右上の４×４ブロックの処理で生成された４×１サンプルのデータとを、第２動画像処理ユニットへ転送する必要がある。また、マクロブロックＭＢ７０７の右上４×４ブロックが図３のモード３（斜め左下予測）で予測される場合は、第１動画像処理ユニットが６行目に配列されたマクロブロックＭＢ６０７の右下の１×４サンプルのデータと６行目に配列されたマクロブロックＭＢ６０８の左下の１×４サンプルのデータとを、第２動画像処理ユニットによる７行目に配列されたマクロブロックＭＢ７０７の右上の４×４ブロックの処理時に第２動画像処理ユニットへ転送コピーする必要がある。マクロブロックＭＢ７０６からのデータコピーは、第２動画像処理ユニットの内部にデータコピー用のレジスタ等のメモリを配置することにより容易に実現することができる。しかし、マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８からのデータのコピーは、第１動画像処理ユニットが６行目に配列された３つのマクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８中の３個の４×４ブロックの処理で生成された３個のデータを第１動画像処理ユニット内部に配置したデータコピー用のレジスタ等のメモリに格納して、その後に７行目のマクロブロックＭＢ７０７のイントラ・フレーム予測の処理を行う第２動画像処理へ高速データ転送するという複雑な制御が必要となる。すなわち第２動画像処理ユニットによるマクロブロックＭＢ７０７のイントラ・フレーム予測の処理開始時点で、第１動画像処理ユニットによるマクロブロックＭＢ６０８の復号処理およびこの復号処理結果の第２動画像処理ユニットへのデータ転送が終了している必要がある。
【００１７】
また、今度は、第１動画像処理ユニットがマクロブロックＭＢ８０７のイントラ・フレーム予測処理の開始時点で、第２動画像処理ユニットが処理したマクロブロックＭＢ７０６、ＭＢ７０７、ＭＢ７０８の復号処理結果のデータを必要とする。
【００１８】
以上説明したように、Ｈ．２６４／ＡＶＣでは１つのピクチャー中の１つのスイライス中の下の行に配列されたマクロブロックは同一のスライス中に上の行に配列された近傍マクロブロックの処理結果に依存している。
【００１９】
従って、本発明の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることにある。
【００２０】
一方、水平方向に最大で１９２０個のピクセルと垂直方向に最大で１０８０本の走査線との大画面を持つＨＤＴＶでは、良く知られているように２つのスキャンモードを有する。１つ目は交互走査線によるインターレース・スキャンであり、２つ目は連続走査線によるプログレッシブ・スキャンである。
【００２１】
Ｈ．２６４／ＡＶＣのビデオコーディング層（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｌａｙｅｒ）の符号化ビデオシーケンスも、インタレース・スキャン信号に対応し、フィールド・ピクチャ、フレーム・ピクチャ、マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャを有している。
【００２２】
図６はＨ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスで規定されたマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャＰＦとフィールド・ピクチャＩＦとを示す図である。同図に示すように、フィールド・ピクチャＩＦでは、偶数番号の行を含むトップフィールドＴＦと奇数番号の行を含むボトムフィールドＢＦが別個に符号化されている。
【００２３】
図７はＨ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスがマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャＰＦの場合に複数のマクロブロックを並列動作する第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１とが処理する様子を示す図である。マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャＰＦでは偶数番号の行のマクロブロックのシーケンスと奇数番号の行のマクロブロックのシーケンスとが水平方向で同一の列の偶数番号の行の１つのマクロブロックＭＢ０００と奇数番号の行の１つのマクロブロックＭＢ１００とからなるマクロブロックペアＭＢＰとして符号化されている。従って、２つの動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０、Ｃｏｄｅｃ＿ＥＬ＿１が、マクロブロックペアＭＢＰをデータ単位として並列処理するのが効率的となる。このマクロブロックペアＭＢＰをデータ単位とした並列処理でのイントラ・フレーム予測の方法は図７の左上の矢印のようになる。
【００２４】
一方、図１１と図１２とは、Ｈ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスがフィールド・ピクチャＩＦの場合に偶数番号の行のみを含むトップフィールドＴＦの時間帯と奇数番号の行のみを含むボトムフィールドＢＦの時間帯とで複数のマクロブロックを並列動作する第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１とが処理する様子を示す図である。いずれの場合にも、２つの動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０、Ｃｏｄｅｃ＿ＥＬ＿１が並列処理するデータ単位は図７のマクロブロックペアＭＢＰではなく１つのマクロブロックＭＢとなる。このマクロブロックＭＢをデータ単位とした並列処理でのイントラ・フレーム予測の方法は図１１および図１２の左上の矢印のようになる。これは図２に示すプログレッシブシーケンスと同様の方法になる。
【００２５】
従って、Ｈ．２６４に準拠する動画符号化と復号とを実行する機能ブロックは、並列処理での単位が互いに異なるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとのいずれにも対応できることが必要とされる。
【００２６】
従って、本発明の他の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとのいずれにも対応可能とすることにある。
【００２７】
また、本発明の他の目的とするところは、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることができるコアを含む半導体集積回路を提供することにある。
【００２８】
本発明の前記並びにその他の目的と新規な特徴とは、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。
【００３０】
すなわち、本発明のひとつの形態によるＨ．２６４／ＡＶＣに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロック（ＦＢ）は、並列動作可能な少なくとも第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０；２＿０）と第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１；２＿１）とを具備するものである（図１参照）。
【００３１】
前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）とが前記並列動作するに際して、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）とが処理するデータ処理単位は、複数のサンプル数を有するマクロブロックを含むものである（図２参照）。
【００３２】
前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）は１つのピクチャーの１つの行に配列された第１の複数のマクロブロック（ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１）をシーケンシャルに処理して、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）は前記１つのピクチャーの前記１つの行と異なる他の行に配列された第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）をシーケンシャルに処理するものである（図２、図４参照）。
【００３３】
前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の１つのマクロブロック（ＭＢ７０７）の処理でのイントラ・フレーム予測に際して、前記第１の複数のマクロブロック（ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１）のうちから前記１つのマクロブロック（ＭＢ７０７）の近傍に位置する複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータが使用される（図２、図４参照）。
【００３４】
Ｈ．２６４／ＡＶＣに準拠した動画符号化と動画復号との少なくともいずれかを実行可能な機能ブロック（ＦＢ）は、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）とに接続され、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロック（ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータを格納するメモリユニット（ＬＭ）を更に具備する（図１参照）。
【００３５】
前記メモリユニット（ＬＭ）に格納された前記処理結果と関係する前記データの中から少なくとも前記複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による前記処理結果に関係する前記データが、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の前記１つのマクロブロック（ＭＢ７０７）の前記処理での前記イントラ・フレーム予測の処理開始に先立って、前記メモリユニット（ＬＭ）から前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ転送される（図４参照）。
【００３６】
本発明の前記ひとつの形態による手段によれば、下記の動作により当初の目的を達成することができる。
【００３７】
前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の前記１つのマクロブロック（ＭＢ７０７）の処理でのイントラ・フレーム予測の処理開始に先立って、少なくとも前記１つのマクロブロック（ＭＢ７０７）の近傍に位置する前記複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータが、前記メモリユニット（ＬＭ）から前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ既に転送されている。その結果、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）とによる並列処理が容易となる。
【００３８】
本発明のひとつの好適な形態による機能ブロック（ＦＢ）では、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の前記１つのマクロブロック（ＭＢ７０７）の前記処理での前記イントラ・フレーム予測の処理開始に先立って前記メモリユニット（ＬＭ）から転送された前記複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による前記処理結果に関係する前記データの中から前記１つのマクロブロック（ＭＢ７０７）の前記イントラフレーム予測で使用される予測モード（例えば、図３のモード０）に従って前記複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）の１つのマクロブロック（例えば、ＭＢ６０７）の処理結果が選択され、当該選択された処理結果を使用して前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）は前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の前記１つのマクロブロック（例えば、ＭＢ７０７）の前記処理を実行するものである。
【００３９】
本発明の前記ひとつの好適な形態による手段によれば、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）が前記１つのマクロブロック（ＭＢ７０７）の前記イントラフレーム予測を行う場合に、前記メモリユニットから前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ既に転送されたデータの中から予測モードに従って直ちに必要な処理結果を選択して、その選択した処理結果を使用して前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）は直ちに前記１つのマクロブロック（例えば、ＭＢ７０７）の処理を実行することができる。このように複数の動画像並列処理ユニットの間のデータ転送を行うことで、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測を高速で実現することができる。
【００４０】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）では、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のそれぞれは、マクロブロック（ＭＢ６０６、ＭＢ７０６）の処理結果と関係するデータを格納するメモリ（３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ）を含む。前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のそれぞれは、前記マクロブロック（ＭＢ６０６、ＭＢ７０６）の直後の後続マクロブロック（ＭＢ６０７、ＭＢ７０７）の処理でのイントラ・フレーム予測に前記メモリ（３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ）に格納された前記マクロブロック（ＭＢ６０６、ＭＢ７０６）の前記処理結果と関係する前記データを使用する（図１、図２参照）。
【００４１】
本発明の前記ひとつの具体的な形態による手段によれば、前記イントラ・フレーム予測で使用される予測モードが図３のモード１（水平予測）であれば、前記後続マクロブロック（ＭＢ６０７、ＭＢ７０７）の処理においてイントラ・フレーム予測に前記メモリ（３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ）に格納された前記マクロブロック（ＭＢ６０６、ＭＢ７０６）の前記処理結果と関係する前記データを使用することができる。
【００４２】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）では、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）のパイプライン接続により構成されている。前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のパイプライン動作の開始タイミングは、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）のパイプライン動作の開始タイミングよりもパイプライン動作の２つのタイムスロット（２ＴＳ）またはそれ以上遅延している（図４参照）。
【００４３】
本発明の前記ひとつの具体的な形態による手段によれば、パイプライン動作の１つ目のタイムスロット（ＴＳ）で前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による前記第１の複数のマクロブロック（ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１）の１つのマクロブロック（ＭＢ６０８）の処理が実行されて、処理結果と関係するデータが前記メモリユニット（ＬＭ）に格納される。また、パイプライン動作の２つ目のタイムスロット（ＴＳ）で、前記メモリユニット（ＬＭ）から前記処理結果と関係する前記データを前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ転送することが可能である。その結果、パイプライン動作の３つ目のタイムスロット（ＴＳ）で前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記第２の複数のマクロブロック（ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１）の前記１つのマクロブロック（ＭＢ７０７）の処理でのイントラ・フレーム予測に際して、前記１つのマクロブロック（ＭＢ７０７）の近傍に位置する前記複数の近傍マクロブロック（ＭＢ６０６、ＭＢ６０７、ＭＢ６０８）から選択された１つの近傍マクロブロック（ＭＢ６０８）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータを使用することができる。
【００４４】
更に本発明の前記ひとつの具体的な形態による手段によれば、フィールド・ピクチャのトップフィールドとボトムフィールドとのいずれにおいてもパイプライン動作の１つ目のタイムスロット（ＴＳ）で前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による０行目に配列された前記第１の複数のマクロブロック（ＭＢ０００、ＭＢ００１、ＭＢ００２…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１）の１つのマクロブロック（ＭＢ００２）の処理が実行されて、処理結果と関係するデータが前記メモリユニット（ＬＭ）に格納される。また、パイプライン動作の２つ目のタイムスロットＴＳで、前記メモリユニット（ＬＭ）から前記処理結果と関係する前記データを前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ転送することが可能である。その結果、パイプライン動作の３つ目のタイムスロットＴＳで前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による１行目に配列された前記第２の複数のマクロブロック（ＭＢ１００、ＭＢ１０１、ＭＢ１０２…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１）の前記１つのマクロブロック（ＭＢ１０１）の処理でのイントラ・フレーム予測に際して、前記１つのマクロブロック（ＭＢ１０１）の近傍に位置する前記複数の近傍マクロブロック（ＭＢ０００、ＭＢ００１、ＭＢ００２）から選択された１つの近傍マクロブロック（ＭＢ００２）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータを使用することができる。このようにして、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれの処理にも対応することが可能となる(図１３参照)。
【００４５】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）では、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）は１つのピクチャーの１つの行に配列された第１の複数のマクロブロック（ＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１）と前記１つの行の直後の第１後続行に配列された第２の複数のマクロブロック（ＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１）との同一列の一対のマクロブロックペア（ＭＢＰ）をデータ単位として処理する一方、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）は前記第１後続行の直後の第２後続行に配列された第３の複数のマクロブロック（ＭＢ２００…ＭＢ２０６、ＭＢ２０７、ＭＢ２０８…ＭＢ２１１）と前記第２後続行の直後の第３後続行に配列された第４の複数のマクロブロック（ＭＢ３００…ＭＢ３０６、ＭＢ３０７、ＭＢ３０８…ＭＢ３１１）との同一列の一対のマクロブロックペア（ＭＢＰ）をデータ単位として処理する。前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）のパイプライン接続とにより構成されている。前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のパイプライン動作の開始タイミングは、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）のパイプライン動作の開始タイミングよりもパイプライン動作の４つのタイムスロット（４ＴＳ）またはそれ以上遅延している（図１０参照）。
【００４６】
本発明の前記ひとつの具体的な形態による手段によれば、パイプライン動作の１つ目のタイムスロット（ＴＳ）で１つのピクチャーの１つの行に配列された第１の複数のマクロブロック（ＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による１つのマクロブロック（ＭＢ０００）の処理が実行されて、パイプライン動作の２つ目のタイムスロット（ＴＳ）で第１後続行に配列された第２の複数のマクロブロック（ＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による１つのマクロブロック（ＭＢ１００）の処理が実行されて、２つのマクロブロック（ＭＢ０００、ＭＢ１００）からなる１つのマクロブロックペア（ＭＢＰ）の処理が完了する。パイプライン動作の３つ目のタイムスロット（ＴＳ）で１つの行に配列された第１の複数のマクロブロック（ＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による１つの後続マクロブロック（ＭＢ００１）の処理が実行されて、パイプライン動作の４つ目のタイムスロット（ＴＳ）で第１後続行に配列された第２の複数のマクロブロック（ＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による１つの後続マクロブロック（ＭＢ１０１）の処理が実行されて、２つのマクロブロック（ＭＢ００１、ＭＢ１０１）からなる１つのマクロブロックペア（ＭＢＰ）の処理が完了して、更にこれらの処理に関係するデータが前記メモリユニット（ＬＭ）に格納される。パイプライン動作の５つ目のタイムスロット（ＴＳ）で前記第１後続行の直後の第２後続行に配列された第３の複数のマクロブロック（ＭＢ２００…ＭＢ２０６、ＭＢ２０７、ＭＢ２０８…ＭＢ２１１）の１つのマクロブロック（ＭＢ２００）を含むマクロブロックペア（ＭＢＰ）の処理でのイントラ・フレーム予測に際して、このマクロブロックペア（ＭＢＰ）の近傍に位置する前記複数の近傍マクロブロックペア（ＭＢ０００、ＭＢ１００、ＭＢ００１、ＭＢ１０１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）による処理結果と関係するデータを前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）が使用することができる。その結果、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの処理にも対応することが可能となる(図１０参照)。
【００４７】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）では、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）のそれぞれは、前記動画符号化と前記動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）のパイプライン接続と、前記複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）に接続された複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１）の従属接続とにより構成されている。前記複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１）は、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）とのいずれかによるマクロブロックの処理結果と関係するデータを転送する。前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）の前記複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０）の前記従属接続の他端は第１データパス（９＿０）を介して前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）の前記複数の入出力インターフェース（１０＿３１、１０＿４１、１０＿５１）の前記従属接続の一端に接続され、前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）の前記複数の入出力インターフェース（１０＿３１、１０＿４１、１０＿５１）の前記従属接続の他端は第２データパス（９＿１）を介して前記メモリユニット（ＬＭ）の入力に接続され、前記メモリユニット（ＬＭ）の出力は第３データパス（９＿２）を介して前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）の前記複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０）の前記従属接続の一端に接続される（図１参照）。
【００４８】
本発明の前記ひとつの具体的な形態による手段によれば、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）の前記複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１）と、前記メモリユニット（ＬＭ）と、前記第１データパス（９＿０）と、前記第２データパス（９＿１）と、前記第３データパス（９＿２）とがリングデータパスを構成するので、イントラ・フレーム予測で使用されるデータの転送を前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）との間で容易とすることができる（図１参照）。
【００４９】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）では、前記複数の入出力インターフェース（１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１）のそれぞれは転送されたマクロブロックの処理結果と関係するデータが対応するサブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）が使用するか否かを判別して、使用する場合は前記対応するサブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）へ前記データを供給するものである（図５参照）。
【００５０】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）は、前記第１の複数のマクロブロックと前記第２の複数のマクロブロックとを含むビットストリーム（ＢＳ）を解析して、前記第１の複数のマクロブロックを前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）へ供給して、前記第２の複数のマクロブロックを前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）へ供給するコントローラ（ＣＮＴ）を更に具備する（図１参照）。
【００５１】
本発明のひとつの具体的な形態による機能ブロック（ＦＢ）は、記憶装置（外部ＳＤＲＡＭ）と前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）および前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）との間で前記ビットストリーム（ＢＳ）を転送するダイレクトメモリアクセスコントローラ（ＤＭＡＣ）を更に具備する（図１６参照）。
【００５２】
本発明の更に具体的な形態による機能ブロック（ＦＢ）では、前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿０）と前記第２動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）の前記複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）は前記動画像復号と前記動画像符号化とに使用可能な共通ハードウェア・リソースで構成されている。システム初期化のシーケンスに前記機能ブロック（ＦＢ）を符号化装置としてさせるか復号装置として動作させるかを指示する動作モード信号（ＥＮ／ＤＥＣ）が供給され、前記動作モード信号（ＥＮ／ＤＥＣ）による指示に応答して前記共通ハードウェア・リソースが前記動作モード信号（ＥＮ／ＤＥＣ）により指示された装置として動作するものである（図１参照）。
【００５３】
本発明の更に具体的な形態による機能ブロック（ＦＢ）では、前記メモリユニット（ＬＭ）は、前記１つのピクチャーの前記１つの行に配列された前記第１の複数のマクロブロック（ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１）の前記第１動画像処理ユニット（Ｃｏｄｅｃ＿ＥＬ＿１）による前記処理結果と関係する前記１つの行分の前記データを格納するラインメモリである（図１参照）。
【００５４】
また、本発明の最も具体的な形態によれば、前記機能ブロック（ＦＢ）はコアとして半導体集積回路のチップ上に構成されている（図１参照）。
【発明の効果】
【００５５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【００５６】
すなわち、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットの並列処理を容易とすることができる。
【００５７】
また、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャーのいずれにも対応可能とすることも可能である。
【００５８】
更に、本発明によれば、マクロブロックをデータ単位とした複数の動画像並列処理ユニットによる並列処理において、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測に対応するに際して、複数の動画像並列処理ユニットによる並列処理を容易とすることができるコアを含む半導体集積回路を提供することも可能である。
【発明を実施するための最良の形態】
【００５９】
≪機能ブロックの構成≫
図１は、本発明の１つの実施形態によるＨ．２６４に準拠する動画符号化と動画復号とのいずれも実行する機能ブロックＦＢを示す図である。
【００６０】
この機能ブロックＦＢは、携帯電話端末やディジタル・カメラ等の動画処理用半導体集積回路のＩＰ（Intellectual Property）コアとして半導体集積回路のチップ上に構成されている。また、図１では、例えばパワーオン時もしくはパワーオンリセット時等の機能ブロックＦＢのシステム初期化のシーケンスに機能ブロックＦＢを復号装置（デコーダ）として動作させることを指示するレベルもしくはビットパターンの動作モード信号ＤＥＣが供給される。その結果、この動作モード信号ＤＥＣによる指示に応答して第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とを構成する共通ハードウェア・リソース３＿０、４＿０、５＿０、３＿１、４＿１、５＿１が復号装置（デコーダ）として動作する。また、システム初期化のシーケンスに機能ブロックＦＢを符号化装置（エンコーダ）として動作させることを指示する他のレベルもしくは別のビットパターンの動作モード信号ＥＮが供給されると、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とを構成する共通ハードウェア・リソース３＿０、４＿０、５＿０、３＿１、４＿１、５＿１が符号化装置（エンコーダ）として動作する。
【００６１】
図１で、復号装置（デコーダ）としての機能ブロックＦＢには、例えばハードディスクドライブ（ＨＤＤ）、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線ＬＡＮ（ローカルエリアネットワーク）等のメディアからＨ．２６４に準拠する動画符号化データがビットストリームＢＳの形態により供給される。この動画符号化データは機能ブロックＦＢにより復号され、復号データは表示用のメモリデバイス８に格納されて、表示デバイス１４により動画が表示されることができる。
【００６２】
図１に示すように、機能ブロックＦＢは、複数のマクロブロックを含むビットストリームＢＳを解析して第１の複数のマクロブロックを第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）へ供給する一方、第２の複数のマクロブロックを第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）へ供給するコントローラＣＮＴを含んでいる。
【００６３】
コントローラＣＮＴは、マクロブロック信号線２３を介してマクロブロックを第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とへ供給するストリーム解析部ＳＴ＿Ａｎ（１＿０）と、制御信号線１３を介して第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の並列パイプライン動作を制御するマクロブロックパイプライン制御部ＭＢＬＣｎｔ（１＿１）とを含んでいる。
【００６４】
第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とが並列動作するに際して、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とが処理するデータ処理単位は、図２に示すように、１６×１６のサンプル数を有するマクロブロックＭＢ０００…ＭＢ８１１を含むものである。
【００６５】
図２に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）は１つのピクチャーの０番目の行、２番目の行、４番目の行…の偶数の行に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ２００…ＭＢ４００…ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１をラスタスキャンの方向にシーケンシャルに処理して、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は同一の１つのピクチャーの１番目の行、３番目の行、５番目の行…の奇数の行に配列された第２の複数のマクロブロックＭＢ１００…ＭＢ３００…ＭＢ５００…ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１をラスタスキャンの方向にシーケンシャルに処理するものである。また、図２に示すように、１つのピクチャーは例えば複数のスライスＳｌｉｃｅ＃０、Ｓｌｉｃｅ＃１、Ｓｌｉｃｅ＃２に分割され、１つのスライスＳｌｉｃｅ＃０はＭＢ０００〜ＭＢ２０７の３２個のマクロブロックに分割されている。１つのピクチャーの全てのマクロブロックＭＢ０００〜ＭＢ８１１のそれぞれは、輝度成分で１６×１６サンプルの四角形ピクチャー領域とそれに対応する２つの色差成分のそれぞれにサンプル領域とを含んでいる。
【００６６】
また、図１の機能ブロックＦＢの第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とは、一例として、図３に示した９個のモード０〜モード８を含むＨ．２６４／ＡＶＣに準拠したイントラ・フレーム予測を行うように構成されている。従って、図２に示すように第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）による奇数の行に配列された第２の複数のマクロブロックＭＢ１００…ＭＢ３００…ＭＢ５００…ＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測に際して、偶数の行に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ２００…ＭＢ４００…ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１のうちから上述の１つのマクロブロックＭＢ７０７の近傍に位置する複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータが使用される。
【００６７】
また、図１の機能ブロックＦＢは、データパス９＿０、９−１、９−２を介して第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とに接続されたメモリユニットＬＭ（６）を含んでいる。このメモリユニットＬＭ（６）はラインメモリとして構成され、入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿６０と、ラインメモリコントローラＬＭＣ（１１）と、スタティックランダムアクセスメモリＳＲＡＭ（１２）とから構成されている。このメモリユニットＬＭ（６）には、１つのピクチャーの偶数の行に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ２００…ＭＢ４００…ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータが格納される。次に、このメモリユニットＬＭに格納された偶数行のマクロブロックの処理結果と関係するデータは、次の奇数行のイントラ・フレーム予測で６行目の複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の処理結果に関係するデータがメモリユニットＬＭから第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）へ転送される。すると、転送された６行目の１つの近傍マクロブロックデータを利用して第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は、奇数行である７行目に配列された第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測を行う。同様にして、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は、７行目に配列された第２の複数の１２個のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の処理を行い、その処理結果と関係するデータがメモリユニットＬＭに格納される。次に、このメモリユニットＬＭに格納された奇数行の７行目のマクロブロックの処理結果と関係するデータは、偶数行の次の８行目のイントラ・フレーム予測で７行目の複数の近傍マクロブロックＭＢ７０６、ＭＢ７０７、ＭＢ７０８の１つの近傍マクロブロックの処理結果に関係するデータがメモリユニットＬＭから第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）へ転送される。すると、転送された７行目の１つの近傍マクロブロックデータを利用して第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）は、偶数行である８行目に配列された第１の複数のマクロブロックＭＢ８００…ＭＢ８０６、ＭＢ８０７、ＭＢ８０８…ＭＢ８１１の１つのマクロブロックＭＢ８０７の処理でのイントラ・フレーム予測を行う。同様にして、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は、８行目に配列された第２の複数の１２個のマクロブロックＭＢ８００…ＭＢ８０６、ＭＢ８０７、ＭＢ８０８…ＭＢ８１１の処理を行い、その処理結果と関係するデータがメモリユニットＬＭに格納される。
【００６８】
特に、メモリユニットＬＭに格納された１つのピクチャーの偶数の行に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ２００…ＭＢ４００…ＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータの中から少なくとも直後の奇数の行に配列された第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の近傍の直前の偶数の行に配列された複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果に関係するデータが、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）による第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測の処理開始に先立って、メモリユニットＬＭから第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）へ転送される。
【００６９】
従って、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）によるる第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測の処理開始に先立って、少なくとも１つのマクロブロックＭＢ７０７の近傍に位置する複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータが、メモリユニットＬＭから第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）へ既に転送されている。さらに、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）による第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測の処理開始に先立って前記メモリユニットＬＭから転送された複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果に関係するデータの中から１つのマクロブロックＭＢ７０７のイントラフレーム予測で使用される予測モード（例えば、図３のモード０）に従って複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８の１つのマクロブロック（例えば、ＭＢ６０７）の処理結果が選択され、この選択された処理結果を使用して第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロック（例えば、ＭＢ７０７）の処理を実行するものである。このようにして、Ｈ．２６４／ＡＶＣのビデオコーディング層を構成するイントラ・フレーム予測で使用される予測モードに対応するに際して、予測モードに従って１つ近傍マクロブロックの処理結果に関係するデータが選択されるので、複数の動画像並列処理ユニットによる並列処理を容易とすることができる。
【００７０】
また、図１に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のそれぞれは、マクロブロックＭＢ６０６、ＭＢ７０６の処理結果と関係するデータを格納するメモリ３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ、４＿０＿Ｒｅｇ、４＿１＿Ｒｅｇ、５＿０＿Ｒｅｇ、３＿５＿Ｒｅｇを含む。第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のそれぞれは、マクロブロックＭＢ６０６、ＭＢ７０６の直後の後続マクロブロックＭＢ６０７、ＭＢ７０７の処理でのイントラ・フレーム予測にメモリ３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ、４＿０＿Ｒｅｇ、４＿１＿Ｒｅｇ、５＿０＿Ｒｅｇ、３＿５＿Ｒｅｇに格納されたマクロブロックＭＢ６０６、ＭＢ７０６の処理結果と関係するデータを使用する。従って、イントラ・フレーム予測で使用される予測モードが図３のモード１（水平予測）であれば、後続マクロブロックＭＢ６０７、ＭＢ７０７の処理においてイントラ・フレーム予測にメモリ３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ、４＿０＿Ｒｅｇ、４＿１＿Ｒｅｇ、５＿０＿Ｒｅｇ、３＿５＿Ｒｅｇに格納されたマクロブロックＭＢ６０６、ＭＢ７０６の処理結果と関係するデータを使用することができる。尚、これらのメモリ３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ、４＿０＿Ｒｅｇ、４＿１＿Ｒｅｇ、５＿０＿Ｒｅｇ、３＿５＿Ｒｅｇのそれぞれは、複数のビットを格納するレジスタ、フリップフロップ、ＳＲＡＭ等により構成されることができる。また、図１に示すように、メモリ３＿０＿Ｒｅｇ、３＿１＿Ｒｅｇ、４＿０＿Ｒｅｇ、４＿１＿Ｒｅｇ、５＿０＿Ｒｅｇ、３＿５＿Ｒｅｇのそれぞれは、２面で構成されている。この２面の一方の面が他方の動画処理ユニットへデータを供給している間に、他方の面が自己の動画処理ユニットによる処理結果と関係するデータを格納することができる。
【００７１】
更に、図１に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のそれぞれは、動画符号化と動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット３＿０、４＿０、５＿０；３＿１、４＿１、５＿１のパイプライン接続とにより構成されている。
【００７２】
第１の機能サブユニット３＿０、３＿１は、Ｈ．２６４のコンテキストベース適応可変長符号化処理とその逆のコンテキストベース適応可変長復号処理とを行う可変長処理部ＶＬＣである。この可変長処理部ＶＬＣである第１の機能サブユニット３＿０、３＿１は、マクロブロックパラメータや、動きベクトル情報や、周波数変換情報の符号化処理や復号処理を行い、図１では後者の復号処理を行う。
【００７３】
第２の機能サブユニット４＿０、４＿１は、Ｈ．２６４の量子化とＤＣＴ（ディスクリートコサイン変換）の周波数変換との処理とその逆の逆量子化と逆ＤＣＴの逆周波数変換の処理とを行う周波数変換部ＴＲＦで、図１では後者の逆量子化と逆ＤＣＴと逆周波数変換の処理と周波数係数予測の処理とを行う。
【００７４】
第３の機能サブユニット５＿０、５＿１は、Ｈ．２６４の動き予測処理とその逆の動き補償処理とを行う動き処理部ＭＣで、図１では後者の動き補償処理とデブロッキングフィルタ処理とを行う。
【００７５】
また、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の複数の機能サブユニット３＿０、４＿０、５＿０；３＿１、４＿１、５＿１のパイプラインは、制御信号線１３を介してコントローラＣＮＴのマクロブロックパイプライン制御部ＭＢＬＣｎｔ（１＿１）によって制御される。
【００７６】
図４は、図１に示した機能ブロックＦＢの第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の複数の機能サブユニット３＿０、４＿０、５＿０；３＿１、４＿１、５＿１のパイプライン動作を説明する図である。
【００７７】
図４に示すように、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のパイプライン動作の開始タイミングは、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）のパイプライン動作の開始タイミングよりもパイプライン動作の２つのタイムスロット２ＴＳ分遅延している。この遅延は、３つのタイムスロット３ＴＳまたはそれ以上とすることもできる。
【００７８】
図４に示すように、パイプライン動作の１つ目のタイムスロットＴＳで第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の機能サブユニット（ＶＬＣ）３＿０による６行目に配列された第１の複数のマクロブロックＭＢ６００…ＭＢ６０６、ＭＢ６０７、ＭＢ６０８…ＭＢ６１１の１つのマクロブロックＭＢ６０８の処理が実行されて、処理結果と関係するデータ９０（マクロブロックパラーメータ９０）が機能サブユニット（ＶＬＣ）３＿０のメモリ３＿０＿ＲｅｇとメモリユニットＬＭとに格納される。このマクロブロックパラーメータ９０は、後に図８を用いて詳述するインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列されたデータである。１つ目のタイムスロットＴＳで、このデータ９０は、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の機能サブユニット（ＶＬＣ）３＿０から第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の従属接続された３つの入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３０、１０＿４０、１０＿５０とデータパス９＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の従属接続された３つの入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３１、１０＿４１、１０＿５１とデータパス９＿１とを介してメモリユニットＬＭに格納されることができる。
【００７９】
図５は第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）および第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の従属接続された３つの入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１との構成を示す図である。例えば、入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３１では、データパス９＿０に接続された入力信号線１０３から供給されたアドレス信号とデータ信号とイネーブル信号とがレジスタ１００に供給される。入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３０、１０＿４０、１０＿５０、１０＿３１、１０＿４１、１０＿５１のそれぞれには、ユニークなデバイス番号が付与されている。従って、入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３１のアドレスデコーダ１０１にユニークなデバイス番号に対応するアドレス信号が供給されると、アドレスデコーダ１０１の出力により出力信号線１０４のアドレス信号とデータ信号とイネーブル信号とが第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１に供給される。もし、アドレス信号がユニークなデバイス番号に対応しなければ、アドレス信号とデータ信号とイネーブル信号とはマルチプレクサ１０２と出力信号線１０６とを介して次段の入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿４１の入力信号線１０３に供給される。また、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１から生成されたアドレス信号とデータ信号とイネーブル信号も、マルチプレクサ１０２と出力信号線１０６とを介して次段の入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿４１の入力信号線１０３に供給されることができる。
【００８０】
また、図４に示すように、パイプライン動作の２つ目のタイムスロットＴＳで、メモリユニットＬＭから上述の処理結果と関係するデータ９０を読み出す。更に、この読み出された処理結果と関係するデータ９０をデータパス９＿２と第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の従属接続された３つの入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３０、１０＿４０、１０＿５０とデータパス９＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の１つの入出力インターフェース（Ｉ／Ｏ  Ｉｎｔ）１０＿３１とを介して第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１へ転送することが可能である。
【００８１】
その結果、パイプライン動作の３つ目のタイムスロットＴＳでの第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１による７行目に配列された第２の複数のマクロブロックＭＢ７００…ＭＢ７０６、ＭＢ７０７、ＭＢ７０８…ＭＢ７１１の１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測に際して、７行目に配列されたこの１つのマクロブロックＭＢ７０７の近傍に位置する６行目に配列された複数の近傍マクロブロックＭＢ６０６、ＭＢ６０７、ＭＢ６０８から選択された１つの近傍マクロブロックＭＢ６０８の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の機能サブユニット（ＶＬＣ）３＿０による処理結果と関係するデータ９０（マクロブロックパラーメータ９０）を使用することができる。
【００８２】
以上説明したパイプライン動作の３つのタイムスロット３ＴＳの間に、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の複数の入出力インターフェース１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１と、メモリユニットＬＭと、データパス９＿０、９＿１、９＿２とで構成されたリングデータパスを用いることにより、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の機能サブユニット（ＶＬＣ）３＿０による６行目に配列された第１の複数のマクロブロックの１つのマクロブロックＭＢ６０８の処理の実行と処理結果と関係するデータ９０のメモリユニットＬＭへの格納と、上述の処理結果と関係するデータ９０のメモリユニットＬＭからの読み出しと第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１への転送と、この転送されたデータ９０を使用した第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１による７行目に配列された第２の複数のマクロブロックの１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測とが可能となっている。
【００８３】
従って、上述のリングデータパスは、実際には長い信号伝達経路を持っているが、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の機能サブユニット（ＶＬＣ）３＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１との間で双方向に一方の処理結果と関係するデータ９０を他方に伝達する図１と図４とに示した仮想高速信号伝送線９０＿Ｖｔｌを提供していると見做すことができる。
【００８４】
更に図４に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０は、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の１段目のパイプラインの機能サブユニット（ＶＬＣ）３＿０で生成されたマクロブロックＭＢ６０８の処理結果と関係するデータ９０と周波数変換情報とを利用して、６行目に配列されたマクロブロックＭＢ６０８の逆量子化と逆ＤＣＴと逆周波数変換の処理と周波数係数予測の処理とを行う。この処理によって得られた処理結果から、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０は、イントラ予測用の画素データ９１を第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿１）で７行目に配列されたマクロブロックＭＢ７０７を処理する２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿１へ転送する。このイントラ予測用の画素データ９１も、後に図８を用いて詳述するインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列されたデータである。このイントラ予測用の画素データ９１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０から第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿１）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿１への転送は、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の複数の入出力インターフェース１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１と、メモリユニットＬＭと、データパス９＿０、９＿１、９＿２とで構成された上述のリングデータパスを経由して実行される。従って、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿１との間で双方向に一方のイントラ予測用の画素データ９１を他方に伝達する図１と図４とに示した仮想高速信号伝送線９１＿Ｖｔｌを提供していると見做すことができる。このリングデータパスを用いることにより、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０による６行目に配列された第１の複数のマクロブロックの１つのマクロブロックＭＢ６０８の処理の実行と処理結果と関係するイントラ予測用の画素データ９１のメモリユニットＬＭへの格納と、上述の処理結果と関係するイントラ予測用の画素データ９１のメモリユニットＬＭからの読み出しと第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の機能サブユニット（ＶＬＣ）３＿１への転送と、この転送されたイントラ予測用の画素データ９１を使用した第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿１による７行目に配列された第２の複数のマクロブロックの１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測とが可能となっている。
【００８５】
また、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０は、１段目のパイプラインの機能サブユニット（ＶＬＣ）３＿０で生成された６行目に配列されたマクロブロックＭＢ６０８の処理結果と関係するデータ９０を３段目のパイプラインの機能サブユニット（ＭＣ）５＿０である動き処理部へ転送する。
【００８６】
この動き処理に関係して、Ｈ．２６４／ＡＶＣのビデオコーディング層ＶＣＬは、複数のピクチャーの間の予測であるインターピクチャー予測（インターフレーム予測）を行う動き補償予測ＭＣＰの機能も有している。
【００８７】
図８は、Ｈ．２６４／ＡＶＣの動き補償予測ＭＣＰのために、１つのマクロブロックが更に小さな領域に分割されることを示す図である。図８の上段は輝度で１６×１６、１６×８、８×１６、８×８のサンプルのブロックサイズのセグメンテーションを示し、図８の下段は輝度で８×８、８×４、４×８、４×４のサンプルのブロックサイズのセグメンテーションを示している。図８の上段と下段との動き補償予測のためのブロックは、動き補償予測のためのシンタックスを含んでいる。このシンタックスを利用することによって、１つ以上の以前に符号化されたピクチャーが動き補償予測のための参照に使用されるマルチピクチャー動き補償予測が可能となる。また、本発明の実施形態による複数のマクロブロックの並列処理においては、図８に示したいずれのブロックの最終行に配列されたデータが複数の処理ユニットの間で転送される。
【００８８】
図９は、Ｈ．２６４／ＡＶＣのマルチピクチャー動き補償予測を示す図である。現在のピクチャーＣＰは以前に符号化されたピクチャーから動きベクトルとピクチャー参照パラメータΔ（＝１、２、４）とを伝達することによって予測されることができる。
【００８９】
図４に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿０である動き処理部は、２段目のパイプラインの機能サブユニット（ＴＲＦ）４＿０から転送された１段目のパイプラインの機能サブユニット（ＶＬＣ）３＿０で生成された６行目に配列されたマクロブロックＭＢ６０８の処理結果と関係するデータ９０を使用して、図９に示すようなＨ．２６４／ＡＶＣのマルチピクチャー動き補償予測を６行目に配列されたマクロブロックＭＢ６０８に対して実行する。その結果、得られた処理結果の中から第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿０である動き処理部は、図８で説明したインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列された４から８ラインの画素データ９２を第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿１である動き処理部へ転送する。このインターピクチャー予測の動き補償予測に使用するブロックの最終行に配列された４から８ラインの画素データ９２の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿０である動き処理部から第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿１）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿１である動き処理部への転送は、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の複数の入出力インターフェース１０＿３０、１０＿４０、１０＿５０；１０＿３１、１０＿４１、１０＿５１と、メモリユニットＬＭと、データパス９＿０、９＿１、９＿２とで構成された上述のリングデータパスを経由して実行される。従って、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿０と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿１である動き処理部との間で双方向に一方の画素データ９２を他方に伝達する図１と図４とに示した仮想高速信号伝送線９２＿Ｖｔｌを提供していると見做すことができる。このリングデータパスを用いることにより、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の３段目のパイプラインの機能サブユニット（ＭＣ）５＿１である動き処理部による６行目に配列された第１の複数のマクロブロックの１つのマクロブロックＭＢ６０８の処理の実行と処理結果と関係する画素データ９２のメモリユニットＬＭへの格納と、上述の処理結果と関係する画素データ９２のメモリユニットＬＭからの読み出しと３段目のパイプラインの機能サブユニット（ＭＣ）５＿１への転送と、この転送された画素データ９２を使用した３段目のパイプラインの機能サブユニット（ＭＣ）５＿１による７行目に配列された第２の複数のマクロブロックの１つのマクロブロックＭＢ７０７の処理でのイントラ・フレーム予測とが可能となっている。
【００９０】
また以上の動作により、１つのピクチャーの複数のマクロブロックを含む２つの行を同時に並列処理することが可能になる。すなわち、同一動作周波数の単一動作と比較すると、２つの並列処理は２倍の処理性能を有していることに相当する。また単一動作で２倍の処理性能を達成する場合と比較すると、動作周波数を１／２にすることが可能になり、モバイル機器のバッテリー動作に好適となる。また、ラインメモリのメモリユニットＬＭ（６）は第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とで共有するため、処理性能当りのメモリ容量は１／２になっている。  図４に示した時間差２ＴＳの並列パイプライン動作は、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャのトップフィールドとボトムフィールドとのいずれにも対応することができる。
【００９１】
≪フィールド・ピクチャへの対応≫
図１３は、Ｈ．２６４／ＡＶＣのフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することができる機能ブロックＦＢの並列パイプライン動作を説明する図である。
【００９２】
図１３の並列パイプライン動作でも、時間差は２ＴＳとなっている。従って、フィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれの時間帯でもパイプライン動作の１つ目のタイムスロットＴＳで第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による０行目に配列された第１の複数のマクロブロックＭＢ０００、ＭＢ００１、ＭＢ００２…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１の１つのマクロブロックＭＢ００２の処理が実行されて、処理結果と関係するデータがメモリユニットＬＭに格納される。また、パイプライン動作の２つ目のタイムスロットＴＳで、メモリユニットＬＭから処理結果と関係するデータを第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）へ転送することが可能である。その結果、パイプライン動作の３つ目のタイムスロットＴＳで第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）による１行目に配列された第２の複数のマクロブロックＭＢ１００、ＭＢ１０１、ＭＢ１０２…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１の１つのマクロブロックＭＢ１０１の処理でのイントラ・フレーム予測に際して、１つのマクロブロックＭＢ１０１の近傍に位置する複数の近傍マクロブロックＭＢ０００、ＭＢ００１、ＭＢ００２から選択された１つの近傍マクロブロックＭＢ００２の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータを使用することができる。このようにして、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することが可能となる。
【００９３】
≪マクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャへの対応≫
図１０は、Ｈ．２６４／ＡＶＣのマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャＰＭに対応する機能ブロックＦＢを示す図である。
【００９４】
この機能ブロックＦＢでは、図７に示すように、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）は１つのピクチャーの０行目に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１と０行目の直後の１行目に配列された第２の複数のマクロブロックＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１との同一列の一対のマクロブロックペアＭＢＰをデータ単位として処理する一方、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）は１行目の直後の２行目に配列された第３の複数のマクロブロックＭＢ２００…ＭＢ２０６、ＭＢ２０７、ＭＢ２０８…ＭＢ２１１と２行目の直後の３行目に配列された第４の複数のマクロブロックＭＢ３００…ＭＢ３０６、ＭＢ３０７、ＭＢ３０８…ＭＢ３１１との同一列の一対のマクロブロックペアＭＢＰをデータ単位として処理する。
【００９５】
図１０の前記機能ブロックＦＢでは、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のそれぞれは、動画符号化と動画復号との選択された一方の処理を実行するように互いに機能が異なりパイプライン動作で異なるタイミングで動作する複数の機能サブユニット（３＿０、４＿０、５＿０；３＿１、４＿１、５＿１）のパイプライン接続とにより構成されている。第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）のパイプライン動作の開始タイミングは、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）のパイプライン動作の開始タイミングよりもパイプライン動作の４つのタイムスロット（４ＴＳ）またはそれ以上遅延している。
【００９６】
従って、パイプライン動作の１つ目のタイムスロットＴＳで１つのピクチャーの０行目に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による１つのマクロブロックＭＢ０００の処理が実行されて、パイプライン動作の２つ目のタイムスロットＴＳで１行目に配列された第２の複数のマクロブロックＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による１つのマクロブロックＭＢ１００の処理が実行されて、２つのマクロブロックＭＢ０００、ＭＢ１００からなる１つのマクロブロックペアＭＢＰの処理が完了する。パイプライン動作の３つ目のタイムスロットＴＳで０行目に配列された第１の複数のマクロブロックＭＢ０００…ＭＢ００６、ＭＢ００７、ＭＢ００８…ＭＢ０１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による１つの後続マクロブロックＭＢ００１の処理が実行されて、パイプライン動作の４つ目のタイムスロットＴＳで１行目に配列された第２の複数のマクロブロックＭＢ１００…ＭＢ１０６、ＭＢ１０７、ＭＢ１０８…ＭＢ１１１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による１つの後続マクロブロックＭＢ１０１の処理が実行されて、２つのマクロブロックＭＢ００１、ＭＢ１０１からなる１つのマクロブロックペアＭＢＰの処理が完了して、更にこれらの処理に関係するデータがメモリユニットＬＭに格納される。パイプライン動作の５つ目のタイムスロットＴＳで１行目の直後の２行目に配列された第３の複数のマクロブロックＭＢ２００…ＭＢ２０６、ＭＢ２０７、ＭＢ２０８…ＭＢ２１１の１つのマクロブロックＭＢ２００を含むマクロブロックペアＭＢＰの処理でのイントラ・フレーム予測に際して、このマクロブロックペアＭＢＰの近傍に位置する複数の近傍マクロブロックペアＭＢ０００、ＭＢ１００、ＭＢ００１、ＭＢ１０１の第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）による処理結果と関係するデータを第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）が使用することができる。その結果、Ｈ．２６４／ＡＶＣのビデオコーディング層の符号化ビデオシーケンスであるマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャにも対応することが可能となる。
【００９７】
≪符号化装置≫
図１４は、本発明の１つの実施形態による機能ブロックＦＢが符号化装置（エンコーダ）として動作することを示す図である。
【００９８】
システム初期化のシーケンスに機能ブロックＦＢを符号化装置として動作させることを指示するレベルもしくはビットパターンの動作モード信号ＥＮが供給されると、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）とを構成する共通ハードウェア・リソース３＿０、４＿０、５＿０、３＿１、４＿１、５＿１が符号化装置（エンコーダ）として動作する。
【００９９】
また、ＣＣＤ等の撮像装置２０からの動画データが機能ブロックＦＢの動画信号処理部２１に供給され、動画信号処理部２１で動画データが分離されて第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の第３の機能サブユニット５＿０の動き処理部ＭＣと第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の第３の機能サブユニット５＿１の動き処理部ＭＣとに供給される。第３の機能サブユニット５＿０の動き処理部ＭＣの出力と第３の機能サブユニット５＿１の動き処理部ＭＣの出力とは、それぞれ第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の第２の機能サブユニット４＿０の周波数変換部ＴＲＦの入力と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の第２の機能サブユニット４＿１の周波数変換部ＴＲＦの入力とに供給される。第２の機能サブユニット４＿０の周波数変換部ＴＲＦの出力と第２の機能サブユニット４＿１の周波数変換部ＴＲＦの出力とは、それぞれ第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）の第１の機能サブユニット３＿０の可変長処理部ＶＬＣの入力と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の第１の機能サブユニット３＿１の可変長処理部ＶＬＣの入力とに供給される。第１の機能サブユニット３＿０の可変長処理部ＶＬＣの出力と第１の機能サブユニット３＿１の可変長処理部ＶＬＣの出力のＨ．２６４／ＡＶＣに準拠したビデオ符号化データは、コントローラＣＮＴのストリーム・マルチプレクサ（Ｓｔ＿ＭＰＸ）１＿０と記憶制御部２２とを介してＨＤＤ、光ディスク、大容量不揮発性フラッシュメモリ等の記憶装置２３に格納される。
【０１００】
≪並列度を向上した復号装置≫
図１５は、本発明の他の１つの実施形態により並列度を向上した機能ブロックＦＢが復号装置（デコーダ）として動作することを示す図である。
【０１０１】
機能ブロックＦＢは、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）、第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）、第３動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿２（２＿２）、第４動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿３（２＿３）の４つから構成され、複数のマクロブロックのデータ並列処理度が向上されている。また、システム初期化のシーケンスに機能ブロックＦＢを符号化装置として動作させることを指示するレベルもしくはビットパターンの動作モード信号ＥＮが供給されると、図１４と同様に図１５の機能ブロックＦＢは符号化装置（エンコーダ）として動作することは言うまでもない。
【０１０２】
≪機能ブロックＦＢの具体例≫
図１６は、本発明の１つの実施形態による機能ブロックＦＢの具体例を示す図である。
【０１０３】
図１６に示すように、機能ブロックＦＢとしてのコアＶＰＵ（Video Processing Unit）は、可変長符号化復号部（ストリーム同期処理）ＶＬＣ＿Ｓ（図１のコントローラＣＮＴに相当）と、共通ハードウェア・リソースＶＬＣ＿Ｆ、ＴＲＦ、ＦＭＥ、ＤＥＢ、ＣＭＥ、ＰＭＤを含む第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）および第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）と、動き検出・イントラ予測用メモリ制御部ＭＥＣと、ＶＰＵ全体制御部ＣＴＲＬと、ラインメモリコントローラＬＭＣ（図１のラインメモリコントローラＬＭＣ（１１）に相当）と、ダイレクトメモリアクセスコントローラＤＭＡＣとから構成されている。ＶＰＵ全体制御部ＣＴＲＬとダイレクトメモリアクセスコントローラＤＭＡＣとは、パケットデータを転送可能な６４ビットのスーパーハイウェイバスＳＨｗｙに接続されている。
【０１０４】
特に、ダイレクトメモリアクセスコントローラＤＭＡＣは、スーパーハイウェイバスＳＨｗｙに接続される外部ＳＤＲＡＭと第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）および第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）との間の大量のマクロブロックを含むビットストリームの高速データ転送に使用される。
【０１０５】
また、第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）および第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の共通ハードウェア・リソースは、下記のような機能サブユニットＶＬＣ＿Ｆ、ＴＲＦ、ＦＭＥ、ＤＥＢ、ＣＭＥ、ＰＭＤを含んでいる。
【０１０６】
ＶＬＣ＿Ｆは可変長符号化復号部（マクロブロック同期処理）、ＴＲＦは周波数変換・係数予測部、ＦＭＥは密探索動き検出・動き補償部、ＤＥＢはデブロッキングフィルタ・動き補償部、ＣＭＥ疎探索動き検出部、ＰＭＤはイントラ予測部である。復号また、可変長符号化復号部（ストリーム同期処理）ＶＬＣ＿Ｓは、シンタックス解析部ＳＴＸとＨ．２６４算術符号化・復号部ＣＡＢＡＣとを含んでいる。これらの全てのサブブロックは、リング型バスＳＢＵＳを介して互いに接続され、各サブブロックが固有のＩＤを持つことで、イントラ・フレーム予測やインター・フレーム予測のデータを含む全てのデータ転送を行うことができる。
【０１０７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０８】
例えば、マクロブロックを処理する第１動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿０（２＿０）と第２動画像処理ユニットＣｏｄｅｃ＿ＥＬ＿１（２＿１）の内部構成は、プロセッサタイプでも、ハードワイヤード専用回路でも構成することができる。すなわち、図１における機能サブユニット３＿０、３＿１、４＿０、４＿１、５＿０、５＿１のそれぞれは、ソフト処理のプロセッサでも、専用回路によるハードウェア処理でも構成することができる。
【０１０９】
本発明は、動画処理用半導体集積回路以外にも、アナログとディジタルとが混載したミックスドシグナルシステムＬＳＩに搭載するＨ．２６４に準拠する動画符号化と動画復号とを実行するＩＰコアとして広く採用することができる。
【図面の簡単な説明】
【０１１０】
【図１】図１は、本発明の１つの実施形態によるＨ．２６４に準拠する動画符号化と動画復号とのいずれも実行する機能ブロックを示す図である。
【図２】図２は、Ｈ．２６４／ＡＶＣに準拠した１つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。
【図３】図３は、Ｈ．２６４／ＡＶＣに準拠したイントラ・フレーム予測で４×４サンプルの１つのブロックが空間的に近傍のサンプルから予測される予測モードＰＭの様子を示す図である。
【図４】図４は、図１に示した機能ブロックの第１動画像処理ユニットと第２動画像処理ユニットの複数の機能サブユニットのパイプライン動作を説明する図である。
【図５】図５は、第１動画像処理ユニットおよび第２動画像処理ユニットの従属接続された３つの入出力インターフェースとの構成を示す図である。
【図６】図６はＨ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスで規定されたマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャとフィールド・ピクチャとを示す図である。
【図７】図７はＨ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスがマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャの場合に複数のマクロブロックを並列動作する第１動画像処理ユニットと第２動画像処理ユニットとが処理する様子を示す図である。
【図８】図８は、Ｈ．２６４／ＡＶＣの動き補償予測ＭＣＰのために、１つのマクロブロックが更に小さな領域に分割されることを示す図である。
【図９】図９は、Ｈ．２６４／ＡＶＣのマルチピクチャー動き補償予測を示す図である。
【図１０】図１０は、Ｈ．２６４／ＡＶＣのマクロブロック適応型のフレーム・フィールド符号化されたフレーム・ピクチャに対応する機能ブロックを示す図である。
【図１１】図１１は、Ｈ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスがフィールド・ピクチャの場合に偶数番号の行のみを含むトップフィールドの時間帯で複数のマクロブロックを並列動作する第１動画像処理ユニットと第２動画像処理ユニットとが処理する様子を示す図である。い
【図１２】図１２は、Ｈ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスがフィールド・ピクチャの場合に奇数番号の行のみを含むボトムフィールドの時間帯で複数のマクロブロックを並列動作する第１動画像処理ユニットと第２動画像処理ユニットとが処理する様子を示す図である。
【図１３】図１３は、Ｈ．２６４／ＡＶＣのフィールド・ピクチャーのトップフィールドとボトムフィールドとのいずれにも対応することができる機能ブロックＦＢの並列パイプライン動作を説明する図である。
【図１４】図１４は、本発明の１つの実施形態による機能ブロックが符号化装置として動作することを示す図である。
【図１５】図１５は、本発明の他の１つの実施形態により並列度を向上した機能ブロックが復号装置として動作することを示す図である。
【図１６】図１６は、本発明の１つの実施形態による機能ブロックの具体例を示す図である。
【符号の説明】
【０１１１】
ＦＢ  機能ブロック
Ｃｏｄｅｃ＿ＥＬ＿０；２＿０  第１動画像処理ユニット
Ｃｏｄｅｃ＿ＥＬ＿１；２＿１  第２動画像処理ユニット
ＣＮＴ  コントローラ
ＬＭ（６）  メモリユニット
３＿０、３＿１（ＶＬＣ）  可変長処理部
４＿０、４＿１（ＴＲＦ）  周波数変換部
５＿０、５＿１（ＭＣ）  動き処理部
１０＿３０、１０＿４０、１０＿５０、１０＿３１、１０＿４１、１０＿５１  入出力インターフェース
１１  ラインメモリコントローラ
１２  ＳＲＡＭ
【図１】
2008042571.tif 000003
【図２】
2008042571.tif 000004
【図３】
2008042571.tif 000005
【図４】
2008042571.tif 000006
【図５】
2008042571.tif 000007
【図６】
2008042571.tif 000008
【図７】
2008042571.tif 000009
【図８】
2008042571.tif 000010
【図９】
2008042571.tif 000011
【図１０】
2008042571.tif 000012
【図１１】
2008042571.tif 000013
【図１２】
2008042571.tif 000014
【図１３】
2008042571.tif 000015
【図１４】
2008042571.tif 000016
【図１５】
2008042571.tif 000017
【図１６】
2008042571.tif 000018