(57)【要約】【課題】複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの複数の処理結果の転送を容易とする。【解決手段】動画像処理装置は、並列動作可能な第１と第２の動画像処理ユニットと、第１と第２のバッファ７２５２、７２５３を含むデータ転送ユニット７２５を具備する。第１の動画像処理ユニットは１つの画像の１つの行のマクロブロックＭＢ００…を順次処理して、第２の動画像処理ユニットは次の行のマクロブロックＭＢ１０…を順次処理する。第１と第２の動画像処理は、第１と第２のデブロッキングフィルタ７１３、７２３を含み、第１のフィルタ７１３と比較して、第２のフィルタ７２３の動作タイミングは、マクロブロック２個分の処理時間、遅延される。第１のフィルタ７１３と第２のフィルタ７２３の処理結果とは、転送ユニット７２５の第１のバッファ７２５２と第２のバッファ７２５３とを介して外部メモリに転送される。【選択図】図８
2011023995.tif 000002
【特許請求の範囲】
【請求項１】
並列動作が可能な第１の動画像処理ユニットと第２の動画像処理ユニットとを具備する動画像処理装置であって、
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが前記並列動作を実行する際に、前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものであり、
前記第１の動画像処理ユニットは１つの画像の１つの行に配列された第１の複数のマクロブロックを順次処理するものであり、前記第２の動画像処理ユニットは前記１つの画像の前記１つの行の次の行に配列された第２の複数のマクロブロックを順次処理するものであり、
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとは、画像復号時のブロック歪を低減するための第１のデブロッキングフィルタと第２のデブロッキングフィルタとをそれぞれ含むものであり、
前記第１のデブロッキングフィルタの動作タイミングと比較して、前記第２のデブロッキングフィルタの動作タイミングは、前記マクロブロック２個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものであり、
前記動画像処理装置は、少なくとも第１のバッファと第２のバッファとを含むデータ転送ユニットを更に具備するものであり、
前記第１のデブロッキングフィルタの第１のフィルタ処理結果は前記データ転送ユニットの前記第１のバッファに蓄積可能とされ、前記第２のデブロッキングフィルタの第２のフィルタ処理結果は前記データ転送ユニットの前記第２のバッファに蓄積可能とされ、
前記第１のバッファに蓄積された前記第１のフィルタ処理結果と前記第２のバッファに蓄積された前記第２のフィルタ処理結果とは、外部メモリに前記第１のバッファと前記第２のバッファとから順次に転送可能とされたことを特徴とする動画像処理装置。
【請求項２】
前記第１のバッファの第１の記憶容量は前記第２のバッファの第２の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、
前記所定の記憶容量は前記第２のデブロッキングフィルタの前記動作タイミングの遅延の間に前記第１のデブロッキングフィルタが生成する前記第１のフィルタ処理結果を蓄積可能であることを特徴とする請求項１に記載の動画像処理装置。
【請求項３】
前記第１のデブロッキングフィルタと前記第２のデブロッキングフィルタと前記データ転送ユニットとは、パイプライン動作を実行するものであり、
前記パイプライン動作の１つのタイムスロットの間に、前記データ転送ユニットの前記第１のバッファと前記第２のバッファとは、前記第１のフィルタ処理結果と前記第２のフィルタ処理結果とを並列に保持しているものであり、
前記第１のバッファと前記第２のバッファとに保持された前記第１のフィルタ処理結果と前記第２のフィルタ処理結果とは、前記パイプライン動作の前記１つのタイムスロットの次の１つのタイムスロットの間に前記データ転送ユニットによって前記外部メモリに順次転送可能とされたことを特徴とする請求項２に記載の動画像処理装置。
【請求項４】
前記第１のデブロッキングフィルタと前記データ転送ユニットの前記第１のバッファとは所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第２のデブロッキングフィルタと前記データ転送ユニットの前記第２のバッファとは前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものであり、
前記所定の処理期間の他の処理間において、前記第１のデブロッキングフィルタの前記第１のフィルタ処理結果と前記第２のデブロッキングフィルタの前記第２のフィルタ処理結果とが、前記第１のバッファと前記第２のバッファとから前記外部メモリに順次に転送可能とされたことを特徴とする請求項３に記載の動画像処理装置。
【請求項５】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとは、第１の可変長符号化復号部と第２の可変長符号化復号部と、第１の周波数変換部と第２の周波数変換部と、第１の動き補償部と第２の動き補償部とをそれぞれ更に含むものであり、
前記第１の動画像処理ユニットに含まれた前記第１の可変長符号化復号部と前記第１の周波数変換部と前記第１の動き補償部と前記第１のデブロッキングフィルタと、前記第２の動画像処理ユニットに含まれた前記第２の可変長符号化復号部と前記第２の周波数変換部と前記第２の動き補償部と前記第２のデブロッキングフィルタとは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とする請求項４に記載の動画像処理装置。
【請求項６】
前記第１のデブロッキングフィルタと前記第２のデブロッキングフィルタとは第１のメモリと第２のメモリとをそれぞれ内蔵するものであり、
前記第１のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第１のメモリに格納可能とされる一方、前記第２のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第２のメモリに格納可能とされたことを特徴とする請求項５に記載の動画像処理装置。
【請求項７】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとに接続された他のメモリを更に具備するものであり、
前記第１のデブロッキングフィルタによってフィルタ処理された前記１つの行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされる一方、前記第２のデブロッキングフィルタによってフィルタ処理された前記次の行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行の更に次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされたことを特徴とする請求項６に記載の動画像処理装置。
【請求項８】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットと前記データ転送ユニットとは、前記動画像処理装置を構成する半導体集積回路の半導体基板に集積化されたことを特徴とする請求項７に記載の動画像処理装置。
【請求項９】
前記データ転送ユニットはダイレクトメモリアクセスコントローラであることを特徴とする請求項８に記載の動画像処理装置。
【請求項１０】
前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリであることを特徴とする請求項１乃至請求項９のいずれかに記載の動画像処理装置。
【請求項１１】
並列動作が可能な第１の動画像処理ユニットと第２の動画像処理ユニットとを具備する動画像処理装置の動作方法であって、
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが前記並列動作を実行する際に、前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものであり、
前記第１の動画像処理ユニットは１つの画像の１つの行に配列された第１の複数のマクロブロックを順次処理するものであり、前記第２の動画像処理ユニットは前記１つの画像の前記１つの行の次の行に配列された第２の複数のマクロブロックを順次処理するものであり、
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとは、画像復号時のブロック歪を低減するための第１のデブロッキングフィルタと第２のデブロッキングフィルタとをそれぞれ含むものであり、
前記第１のデブロッキングフィルタの動作タイミングと比較して、前記第２のデブロッキングフィルタの動作タイミングは、前記マクロブロック２個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものであり、
前記動画像処理装置は、少なくとも第１のバッファと第２のバッファとを含むデータ転送ユニットを更に具備するものであり、
前記第１のデブロッキングフィルタの第１のフィルタ処理結果は前記データ転送ユニットの前記第１のバッファに蓄積可能とされ、前記第２のデブロッキングフィルタの第２のフィルタ処理結果は前記データ転送ユニットの前記第２のバッファに蓄積可能とされ、
前記第１のバッファに蓄積された前記第１のフィルタ処理結果と前記第２のバッファに蓄積された前記第２のフィルタ処理結果とは、外部メモリに前記第１のバッファと前記第２のバッファとから順次に転送可能とされたことを特徴とする動画像処理装置の動作方法。
【請求項１２】
前記第１のバッファの第１の記憶容量は前記第２のバッファの第２の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、
前記所定の記憶容量は前記第２のデブロッキングフィルタの前記動作タイミングの遅延の間に前記第１のデブロッキングフィルタが生成する前記第１のフィルタ処理結果を蓄積可能であることを特徴とする請求項１１に記載の動画像処理装置の動作方法。
【請求項１３】
前記第１のデブロッキングフィルタと前記第２のデブロッキングフィルタと前記データ転送ユニットとは、パイプライン動作を実行するものであり、
前記パイプライン動作の１つのタイムスロットの間に、前記データ転送ユニットの前記第１のバッファと前記第２のバッファとは、前記第１のフィルタ処理結果と前記第２のフィルタ処理結果とを並列に保持しているものであり、
前記第１のバッファと前記第２のバッファとに保持された前記第１のフィルタ処理結果と前記第２のフィルタ処理結果とは、前記パイプライン動作の前記１つのタイムスロットの次の１つのタイムスロットの間に前記データ転送ユニットによって前記外部メモリに順次転送可能とされたことを特徴とする請求項１２に記載の動画像処理装置の動作方法。
【請求項１４】
前記第１のデブロッキングフィルタと前記データ転送ユニットの前記第１のバッファとは所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第２のデブロッキングフィルタと前記データ転送ユニットの前記第２のバッファとは前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものであり、
前記所定の処理期間の後の他の処理期間において、前記第１のデブロッキングフィルタの前記第１のフィルタ処理結果と前記第２のデブロッキングフィルタの前記第２のフィルタ処理結果とが、前記第１のバッファと前記第２のバッファとから前記外部メモリに順次に転送可能とされたことを特徴とする請求項１３に記載の動画像処理装置の動作方法。
【請求項１５】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとは、第１の可変長符号化復号部と第２の可変長符号化復号部と、第１の周波数変換部と第２の周波数変換部と、第１の動き補償部と第２の動き補償部とをそれぞれ更に含むものであり、
前記第１の動画像処理ユニットに含まれた前記第１の可変長符号化復号部と前記第１の周波数変換部と前記第１の動き補償部と前記第１のデブロッキングフィルタと、前記第２の動画像処理ユニットに含まれた前記第２の可変長符号化復号部と前記第２の周波数変換部と前記第２の動き補償部と前記第２のデブロッキングフィルタとは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とする請求項１４に記載の動画像処理装置の動作方法。
【請求項１６】
前記動画像処理装置は、前記第１のデブロッキングフィルタと前記第２のデブロッキングフィルタとは第１のメモリと第２のメモリとをそれぞれ内蔵するものであり、
前記第１のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第１のメモリに格納可能とされる一方、前記第２のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第２のメモリに格納可能とされたことを特徴とする請求項１５に記載の動画像処理装置の動作方法。
【請求項１７】
前記動画像処理装置は、前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとに接続された他のメモリを更に具備するものであり、
前記第１のデブロッキングフィルタによってフィルタ処理された前記１つの行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされる一方、前記第２のデブロッキングフィルタによってフィルタ処理された前記次の行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行の更に次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされたことを特徴とする請求項１６に記載の動画像処理装置の動作方法。
【請求項１８】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットと前記データ転送ユニットとは、前記動画像処理装置を構成する半導体集積回路の半導体基板に集積化されたことを特徴とする請求項１７に記載の動画像処理装置の動作方法。
【請求項１９】
前記データ転送ユニットはダイレクトメモリアクセスコントローラであることを特徴とする請求項１８に記載の動画像処理装置の動作方法。
【請求項２０】
前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリであることを特徴とする請求項１１乃至請求項１９のいずれかに記載の動画像処理装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像処理装置およびその動作方法に関し、特に複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの複数の処理結果の転送を容易とするのに有効な技術に関するものである。
【背景技術】
【０００２】
動画像符号化方式としては、ＩＴＵ−Ｔ(国際電気通信連合電気通信標準化部門；International Telecommunication Union、 Telecommunication Standardization Sector)において規格化されたＨ．２６３、ＩＳＯ(International Organization for Standardization)／ＩＥＣ(International Electrotechnical Commission) ＪＴＣ１のＭＰＥＧ(Moving Picture Experts Group)で規格化されたＭＰＥＧ−２、ＭＰＥＧ−４、ＳＭＰＴＥ(Society of Motion Picture and Television Engineers)が提案したＶＣ−１などがある。また、ＩＴＵ−Ｔの勧告Ｈ．２６４として承認されるとともにＩＳＯ／ＩＥＣによって国際基準１４４９６−１０(MPEG part 10)  Advanced Video Coding(ＡＶＣ)として承認されたＨ．２６４／ＡＶＣが最新の国際標準のビデオ符号化である。
【０００３】
下記非特許文献１の８．７章の「デブロッキングフィルタプロセス」ＰＰ．１３８〜１４６には、勧告Ｈ．２６４／ＡＶＣに準拠して画像復号時に生じるブロック歪を減少させるためのデブロッキングフィルタが記載されている。
【０００４】
また、下記非特許文献２のＡｎｎｅｘＪの「デブロッキングフィルタモード」ＰＰ．８０〜８４にはＨ．２６３の拡張規格Ａｎｎｅｘに準拠したデブロッキングフィルタが記載されている。
【０００５】
また更に、下記非特許文献３には、ＶＣ−１のデブロッキングフィルタが記載されている。
【０００６】
図２は、勧告Ｈ．２６４／ＡＶＣに準拠するデブロッキングフィルタの機能を説明する図である。
【０００７】
図２に示すように勧告Ｈ．２６４／ＡＶＣに準拠するデブロッキングフィルタでは１６×１６画素のマクロブロックを列方向(垂直方向)に４分割する４個のブロックの境界２０１、２０２、２０３、２０４に関して、各境界の左側の４画素２０９と各境界の右側の４画素２１０とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計８画素をフィルタ処理結果によって書き換えるものである。次にマクロブロックを行方向(水平方向)に４分割する４個のブロックの境界２０５、２０６、２０７、２０８に関して、各境界の下側の４画素２１１と各境界の上側の４画素２１２とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計８画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
【０００８】
図１６は、Ｈ．２６３  Ａｎｎｅｘに準拠するデブロッキングフィルタの機能を説明する図である。
【０００９】
図１６に示すようにＨ．２６３  Ａｎｎｅｘに準拠するデブロッキングフィルタ処理では、１６×１６画素のマクロブロックを行方向(水平方向)に２分割する２個のブロックの境界１６０５、１６０７に関して、各境界の下側の４画素１６１１と各境界の上側の４画素１６１２とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計８画素をフィルタ処理結果によって書き換えるものである。次にマクロブロックを列方向(垂直方向)に２分割する２個のブロックの境界１６０１、１６０３に関して、各境界の左側の４画素１６０９と各境界の右側の４画素１６１０とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計８画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、Ｈ．２６４／ＡＶＣと同様に上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
【００１０】
ＶＣ−１に準拠するデブロッキングフィルタ処理では、２つのモードがある。
【００１１】
図１７は、ＶＣ−１に準拠するデブロッキングフィルタの1つ目のモードの機能を説明する図である。1つ目のモードは、１６×１６画素のマクロブロックを行方向(水平方向)に４分割する３個のブロック境界１７０６、１７０７、１７０８とこのマクロブロックの上側に隣接するマクロブロックを4分割する1個のブロック境界１７０５に関して、各境界の下側の４画素１７１１と各境界の上側の４画素１７１２を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計８画素をフィルタ処理結果によって書き換えるものである。次に、マクロブロックを列方向(垂直方向)に４分割する３個のブロック境界１７０２、１７０３、１７０４とこのマクロブロックの左側に隣接するマクロブロックを4分割する1個のブロック境界１７０１に関して、各境界の左側の４画素１７０９と各境界の右側の４画素１７１０を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計８画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素と左上側に隣接するマクロブロックの画素が必要になる。
【００１２】
図１８は、ＶＣ−１に準拠するデブロッキングフィルタの２つ目のモードの機能を説明する図である。２つ目のモードは、１６×１６画素のマクロブロックを行方向(水平方向)に４分割する２個のブロック境界１８０７、１８０８とこのマクロブロックの上側に隣接するマクロブロックを行方向(水平方向)に４分割する２個のブロック境界１８０５、１８０６に関して、各境界の下側の４画素１８１１と各境界の上側の４画素１８１２を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計８画素をフィルタ処理結果によって書き換えるものである。次に、１６×１６画素のマクロブロックを列方向(垂直方向)に４分割する４個のブロック境界１８０１、１８０２、１８０３、１８０４に関して、各境界の左側の４画素１８０９と各境界の右側の４画素１８１０とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計８画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
【００１３】
一方、デブロッキングフィルタ処理の結果は復号処理の最後に次の画面の動き補償処理のための参照復号画像を生成する段階で使用されるため、フィルタ処理が完了した領域は外部メモリに出力されるものである。
【００１４】
図３は、勧告Ｈ．２６４／ＡＶＣに準拠するデブロッキングフィルタ処理で１つのマクロブロックＭＢ１１と上側に隣接するマクロブロックＭＢ０１の間の境界と１つのマクロブロックＭＢ１１と左側に隣接するマクロブロックＭＢ１０の間の境界でのフィルタ処理を実行後、フィルタ処理が完了した領域および外部メモリに出力する範囲を説明する図である。
【００１５】
図３に示すように、マクロブロックＭＢ１１におけるデブロッキングフィルタ処理を実行した結果、フィルタ処理の全てが完了した領域３０１は、処理対象のマクロブロックＭＢ１１や左側の隣接するマクロブロックＭＢ１０のマクロブロック境界からずれ、上側に隣接するマクロブロックＭＢ０１や左上側に隣接するマクロブロックＭＢ００にまたがる。従って外部メモリに出力可能な範囲は、デブロッキングフィルタ処理対象のマクロブロックＭＢ１１からずれる。
【００１６】
例えば、下記特許文献１ではデブロッキングフィルタ処理対象のマクロブロックＭＢ１１の左側に隣接するマクロブロックＭＢ１０と、マクロブロックＭＢ１１の左上側に隣接するマクロブロックＭＢ００を含む範囲３０２または、デブロッキングフィルタ処理対象のマクロブロックＭＢ１１と、マクロブロックＭＢ１１の左側に隣接するマクロブロックＭＢ１０と、マクロブロックＭＢ１１の上側に隣接するマクロブロックＭＢ０１と、マクロブロックＭＢ１１の左上側に隣接するマクロブロックＭＢ００をまたぐ範囲３０３を外部メモリに出力する画像復号装置が記載されている。
【００１７】
一方、下記特許文献２には、勧告Ｈ．２６４／ＡＶＣに準拠した動画符号化または動画復号でのイントラ・フレーム予測を実行する際に、偶数の行に配列された第１のマクロブロックを処理する第１動画像処理ユニット２＿０と次の行に配列された第２のマクロブロックを処理する第２動画像処理ユニット２＿１とが並列動作することが記載されている。その際、偶数の行に配列された第１のマクロブロックの複数の近傍マクロブロックの第１動画像処理ユニット２＿０による処理結果が、メモリユニットＬＭに格納される。この格納結果を利用して第２動画像処理ユニット２＿１は、次の行の１つのマクロブロックの処理を実行するものである。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２００７−２５８８８２号  公報
【特許文献２】特開２００８−４２５７１号  公報
【非特許文献】
【００１９】
【非特許文献１】Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ  ｅｔ  ａｌ，  “Ｄｒａｆｔ  ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ａｎｄ  Ｆｉｎａｌ  Ｄｒａｆｔ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ｏｆ  Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ(ＩＴＵ−Ｔ  Ｒｅｃ．  Ｈ．２６４｜ＩＳＯ／ＩＥＣ  １４４９５−１０  ＡＶＣ” ，  Ｍａｒｃｈ  ２００３ｈｔｔｐ：／／ｗｗｗ．ｈ２６３１．ｃｏｍ／ｈ２６４／ＪＶＣ−Ｇ０５０．ｐｄｆ＃ｓｅａｒｃｈ＝’Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ  ＪＶＴＧ０５０ｄ３５．ｄｏｃ‘[平成２１年０６月０１日検索]
【非特許文献２】ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｈ．２６３  ，  “Ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｌｏｗ  ｂｉｔ  ｒａｔｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ，”Ｓｅｒｉｅｓ  Ｈ：  ＡＵＤＩＯＶＩＳＵＡＬ  ＡＮＤ  ＭＵＬＴＩＭＥＤＩＡ  ＳＹＳＴＥＭ，  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ｏｆ  Ａｕｄｉｏｖｉｓｕａｌ  Ｓｅｒｖｉｃｅｓ  −  Ｃｏｄｉｎｇ  ｏｆ  Ｍｏｖｉｎｇ  Ｖｉｄｅｏ，  ＩＮＴＥＲＮＡＴＩＯＮＡＬ  ＴＥＬＥＣＯＭＭＵＮＩＣＡＴＩＯＮ  ＵＮＩＯＮ  −ＴＥＬＥＣＭＯＭＭＵＮＯＣＡＴＩＯＮ  ＳＴＡＮＤＡＲＤ  ＳＥＣＴＯＲ，Ｆｅｂｒｕａｒｙ  １９９８ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６３−１９９８０２＝Ｓ／ｅｎ[平成２１年０６月３０日検索]
【非特許文献３】ＳＭＰＴＥ  Ｄｒａｆｔ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｔｅｌｅｖｉｓｉｏｎ  ＳＭＰＴＥ  ４２１Ｍ，  Ｐｒｏｐｏｓｅｄ  ＳＭＰＴＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  Ｔｅｌｅｖｉｓｉｏｎ：  ＶＣ−１  Ｃｏｍｐｒｅｓｓｅｄ  Ｖｉｄｅｏ  Ｂｉｔｓｔｒｅａｍ  Ｆｏｒｍａｔ  ａｎｄ  Ｄｅｃｏｄｉｎｇ  Ｐｒｏｃｅｓｓ，  Ａｕｇｕｓｔ  ２３，  ２００５ｈｔｔｐ：／／ｍｕｌｔｉｍｅｄｉａ．ｃｘ／ｍｉｒｒｏｒ／ｓ４２１ｍ．ｐｄｆ＃ｓｅａｒｃｈ＝‘ＳＭＰＴＥ  ４２１Ｍ  ｄｒａｆｔ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ＶＸ１’[平成２１年０６月３０日検索]
【発明の概要】
【発明が解決しようとする課題】
【００２０】
本発明に先立って本発明者等は、動画像処理装置の研究・開発に従事した。
【００２１】
この研究・開発では、上記特許文献２に記載の複数の行に配列された複数のマクロブロックの複数の動画像処理ユニットによる並列処理から着想を得て、複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法が検討された。
【００２２】
図４は、本発明に先立って本発明者等によって検討された複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法を説明する図である。
【００２３】
図４に示す方法では第１のデブロッキングフィルタ回路ＤＥＢ１が奇数行である１行目、３行目…のいずれかの行に配列されたマクロブロックを水平方向にデブロッキングフィルタ処理を実行するのと並列に、第２のデブロッキングフィルタ回路ＤＥＢ２が偶数行である２行目、４行目…のいずれかの行に配列されたマクロブロックを水平方向にデブロッキングフィルタ処理を実行するものである。この並列処理では、第１のデブロッキングフィルタ回路ＤＥＢ１の動作タイミングと比較して、第２のデブロッキングフィルタ回路ＤＥＢ２の動作タイミングは、２個のマクロブロックのデブロッキングフィルタ処理時間分、遅延する必要がある。
【００２４】
図５は、図４に示した処理方法において、第１のデブロッキングフィルタ回路ＤＥＢ１の動作タイミングと比較して、第２のデブロッキングフィルタ回路ＤＥＢ２の動作タイミングが２個のマクロブロックの処理時間分遅延する必要があることを説明するための図であり、第１のデブロッキングフィルタ回路ＤＥＢ１が3行目を処理し、第２のデブロッキングフィルタ回路ＤＥＢ２が4行目を処理する様子を示している。
【００２５】
図５に示すように第１のデブロッキングフィルタ回路ＤＥＢ１によるデブロッキングフィルタ処理は、３行目の１列目のマクロブロック(ＭＢ２０)から開始して右方向の２列目、３列目…のマクロブロック(ＭＢ２１、ＭＢ２２)に向かって行方向(水平方向)に順次に進行する。第２のデブロッキングフィルタ回路ＤＥＢ２によるデブロッキングフィルタ処理は、４行目の１列目のマクロブロック(ＭＢ３０)から開始して右方向の２列目、３列目…のマクロブロック(ＭＢ３１、ＭＢ３２…)に向かって行方向(水平方向)に順次に進行する。しかし、４行目の１列目のマクロブロック(ＭＢ３０)のデブロッキングフィルタ処理には、３行目の１列目のマクロブロック(ＭＢ２０)の下側境界の４画素の領域５０２に関するフィルタ処理が完了している必要がある。このフィルタ処理が完了するタイミングは、３行目の１列目のマクロブロック(ＭＢ２０)の下側境界の４画素の領域５０２のうちで右側に隣接するマクロブロックＭＢ２１との間の右側境界５０１の４画素に関するフィルタ処理が完了するタイミングである。従って、第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による３行目と４行目とに配列されたマクロブロックのデブロッキングフィルタ処理の制御を容易とするためには、第１のデブロッキングフィルタ回路ＤＥＢ１の動作タイミングと比較して、第２のデブロッキングフィルタ回路ＤＥＢ２の動作タイミングを２個のマクロブロックの処理時間分遅延する必要があるものである。
【００２６】
図６は、図５に示す第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による３行目と４行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に、上記特許文献１に開示されている方法で外部メモリに転送される領域を示す図である。具体的には、図３に示す範囲３０２を外部メモリに転送する例を示している。
【００２７】
図６にて、領域６０４は第１のデブロッキングフィルタ回路ＤＥＢ１による３行目の４列目のマクロブロック(ＭＢ２３)のフィルタ処理によって外部メモリに転送される領域を示す一方、領域６０５は第２のデブロッキングフィルタ回路ＤＥＢ２による４行目の２列目のマクロブロック(ＭＢ３１)のフィルタ処理によって外部メモリに転送される領域を示し、領域６０４と領域６０５は２個のマクロブロック分、列方向(垂直方向)で相違する位置に配列されている。このように、第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による複数のマクロブロックのデブロッキングフィルタ並列処理の結果、領域６０４のフィルタ処理結果と領域６０５のフィルタ処理結果を外部メモリに転送する必要がある。しかし、列方向(垂直方向)で相違する位置に配列された複数のマクロブロックの処理結果の外部メモリに転送することは、単一のフィルタ処理結果を外部メモリに転送するよりも負担が増加する。
【００２８】
列方向(垂直方向)で相違する位置の複数のマクロブロック(ＭＢ)を外部メモリにデータ転送することが困難となることを、下記に説明する。
【００２９】
図１３は、列方向(垂直方向)にて相違する位置に配列された複数のマクロブロック(ＭＢ)の処理結果を外部メモリに転送することが、単一のフィルタ処理結果を外部メモリに転送するより負担が増加する理由を説明するための図であり、第１のデブロッキングフィルタ回路ＤＥＢ１が５行目の２列目に配列されたマクロブロック(ＭＢ４１)を処理し、第２のデブロッキングフィルタ回路ＤＥＢ２が４行目のL列目に配列されたマクロブロック(ＭＢ３(Ｌ−１))を処理する場合、外部メモリに転送される領域を示す。
【００３０】
図１３で、領域１３０５は第１のデブロッキングフィルタ回路ＤＥＢ１による５行目の２列目のマクロブロック(ＭＢ４１)のフィルタ処理によって外部メモリに転送される領域を示す一方、領域１３０４は第２のデブロッキングフィルタ回路ＤＥＢ２による４行目のL列目のマクロブロック(ＭＢ３(Ｌ−１))のフィルタ処理によって外部メモリに転送される領域を示し、領域１３０４と領域１３０５とはＬ−２個マクロブロック分水平方向で相違する位置に配列されている。
【００３１】
このような外部メモリへのデータ転送では、外部メモリの複数の転送先のアドレス(ディスティネーションアドレス)を指定する必要があるだけではなく、列方向(垂直方向)で相違する位置に配列された複数のマクロブロック(ＭＢ)である複数の転送元のアドレス(ソースアドレス)を指定する必要がある。このアドレス指定は動画像処理装置を構成する半導体集積回路に内蔵されたメモリコントローラもしくは中央処理装置(ＣＰＵ)によって実行可能であるが、ソースアドレスの指定のためにはアドレス計算が必要となり、外部メモリへのデータ転送の効率が低下するものである。
【００３２】
上述のような理由で、単一のデブロッキングフィルタ回路を有する動画像処理装置が単一行に配列されたマクロブロックを順次デブロッキングフィルタ処理を実行する通常処理と比較して、複数の行に配列された複数のマクロブロックの複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する場合には、複数のマクロブロックの処理結果の外部メモリへの転送の負担が増加するものである。
【００３３】
本発明は、以上のような本発明に先立った本発明者等による検討の結果、なされたものである。
【００３４】
従って、本発明の目的とするところは、複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの複数の処理結果の転送を容易とすることにある。
【００３５】
また、本発明の他の目的とするところは、複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの転送の負担を軽減することにある。
【００３６】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００３７】
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
【００３８】
すなわち、本発明の代表的な実施の形態は、並列動作が可能な第１の動画像処理ユニット(７１９)と第２の動画像処理ユニット(７２９)とを具備する動画像処理装置(７５０)である。
【００３９】
前記第１と前記第２の動画像処理ユニットとが前記並列動作を実行する際に、前記第１と前記第２の動画像処理ユニットが処理するデータ処理単位は、所定数の画素を含むマクロブロックである。
【００４０】
前記第１の動画像処理ユニットは１つの画像の１つの行に配列された第１の複数のマクロブロック(ＭＢ００、ＭＢ０１、ＭＢ０２、ＭＢ０３…)を順次処理して、前記第２の動画像処理ユニットは前記１つの画像の前記１つの行の次の行に配列された第２の複数のマクロブロック(ＭＢ１０、ＭＢ１１、ＭＢ１２、ＭＢ１３…)を順次処理する。
【００４１】
前記第１と前記第２の動画像処理ユニット(７１９、７２９)は、画像復号時のブロック歪を低減するための第１と第２のデブロッキングフィルタ(７１３、７２３)を含む(図７、図８参照)。
【００４２】
前記第１のデブロッキングフィルタ(７１３)の動作タイミングと比較して、前記第２のデブロッキングフィルタ(７２３)の動作タイミングは、前記マクロブロック２個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図９参照)。
【００４３】
前記動画像処理装置(７５０)は、少なくとも第１のバッファ(７２５２)と第２のバッファ(７２５３)とを含むデータ転送ユニット(７２５)を更に具備する。
【００４４】
前記第１のデブロッキングフィルタ(７１３)の第１のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第１のバッファ(７２５２)に蓄積可能とされ、前記第２のデブロッキングフィルタ(７２３)の第２のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第２のバッファ(７２５３)に蓄積可能とされる。
【００４５】
前記第１のバッファ(７２５２)に蓄積された前記第１のフィルタ処理結果と前記第２のバッファ(７２５３)に蓄積された前記第２のフィルタ処理結果とは、外部メモリに前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とから順次に転送可能とされたことを特徴とするものである(図９参照)。
【発明の効果】
【００４６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【００４７】
すなわち、本発明によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の複数の処理結果の外部メモリへの転送に際して、第１のバッファ(７２５２)と第２のバッファ(７２５３)とは、並列処理される複数のマクロブロック(ＭＢ)の列方向(垂直方向)の位置の相違および第１と第２のデブロッキングフィルタ(７１３、７２３)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
【図面の簡単な説明】
【００４８】
【図１】図１は、図７と図８とに示す本発明の実施の形態１による動画像処理装置の第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による１行目と２行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に処理結果を外部メモリに転送する場合に、外部メモリに転送される領域を示す図である。
【図２】図２は、勧告Ｈ．２６４／ＡＶＣに準拠するデブロッキングフィルタの機能を説明する図である。
【図３】図３は、勧告Ｈ．２６４／ＡＶＣに準拠するデブロッキングフィルタ処理で１つのマクロブロックＭＢ１１と上側に隣接するマクロブロックＭＢ０１の間の境界と１つのマクロブロックＭＢ１１と左側に隣接するマクロブロックＭＢ１０の間の境界でのフィルタ処理を実行後、フィルタ処理が完了した領域および外部メモリに出力する範囲を説明する図である。
【図４】図４は、本発明に先立って本発明者等によって検討された複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法を説明する図である。
【図５】図５は、図４に示した処理方法において、第１のデブロッキングフィルタ回路ＤＥＢ１の動作タイミングと比較して、第２のデブロッキングフィルタ回路ＤＥＢ２の動作タイミングが２個のマクロブロックの処理時間分遅延する必要があることを説明するための図である。
【図６】図６は、図５に示す第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による３行目と４行目のマクロブロックのデブロッキングフィルタ並列処理の完了後にすぐに、フィルタ処理結果のうち特許文献１で開示している範囲のうち、処理対象のマクロブロックの左側に隣接するマクロブロックの範囲、具体的には、図３に示す範囲３０２を外部メモリに転送する場合、外部メモリに転送される領域を示す図である。
【図７】図７は、本発明の実施の形態１による動画像処理装置の基本構成を示す図である。
【図８】図８は、図７に示した本発明の実施の形態１による動画像処理装置の主要部の詳細構成を示す図である。
【図９】図９は、図７と図８とに示した本発明の実施の形態１による動画像処理装置の第１のデブロッキングフィルタ(ＤＥＢ１)７１３と第２のデブロッキングフィルタ(ＤＥＢ２)７２３とＤＭＡコントローラ(ＤＭＡＣ)７２５のパイプライン動作を説明する図である。
【図１０】図１０は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング１でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【図１１】図１１は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング２でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【図１２】図１２は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング３でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【図１３】列方向(垂直方向)で相違する位置に配列された複数のマクロブロック(ＭＢ)の処理結果を外部メモリに転送することが、単一のデブロッキングフィルタ回路を有する動画像処理装置がフィルタ処理結果を外部メモリに転送するよりも負担が増加する理由を説明するための図である。
【図１４】図１４は、本発明の実施の形態２による動画像処理装置の基本構成を示す図である。
【図１５】図１５は、図１４に示した本発明の実施の形態２による動画像処理装置のＤＭＡコントローラ(ＤＭＡＣ)１４２５詳細構成を示す図である。
【図１６】図１６は、Ｈ．２６３  Ａｎｎｅｘに準拠するデブロッキングフィルタの機能を説明する図である。
【図１７】図１７は、ＶＣ−１に準拠するデブロッキングフィルタのモード１の機能を説明する図である。
【図１８】図１８は、ＶＣ−１に準拠するデブロッキングフィルタのモード２の機能を説明する図である。
【発明を実施するための形態】
【００４９】
１．実施の形態の概要
まず、本願において開示される発明の代表的な実施の形態について概要を説明する。
【００５０】
代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００５１】
［１］本発明の代表的な実施の形態は、並列動作が可能な第１の動画像処理ユニット(７１９)と第２の動画像処理ユニット(７２９)とを具備する動画像処理装置(７５０)である。
【００５２】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが前記並列動作を実行する際に、前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものである。
【００５３】
前記第１の動画像処理ユニットは１つの画像の１つの行に配列された第１の複数のマクロブロック(ＭＢ００、ＭＢ０１、ＭＢ０２、ＭＢ０３…)を順次処理するものであり、前記第２の動画像処理ユニットは前記１つの画像の前記１つの行の次の行に配列された第２の複数のマクロブロック(ＭＢ１０、ＭＢ１１、ＭＢ１２、ＭＢ１３…)を順次処理するものである。
【００５４】
前記第１の動画像処理ユニット(７１９)と前記第２の動画像処理ユニット(７２９)とは、画像復号時のブロック歪を低減するための第１のデブロッキングフィルタ(７１３)と第２のデブロッキングフィルタ(７２３)とをそれぞれ含むものである(図７、図８参照)。
【００５５】
前記第１のデブロッキングフィルタ(７１３)の動作タイミングと比較して、前記第２のデブロッキングフィルタ(７２３)の動作タイミングは、前記マクロブロック２個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図９参照)。
【００５６】
前記動画像処理装置(７５０)は、少なくとも第１のバッファ(７２５２)と第２のバッファ(７２５３)とを含むデータ転送ユニット(７２５)を更に具備するものである。
【００５７】
前記第１のデブロッキングフィルタ(７１３)の第１のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第１のバッファ(７２５２)に蓄積可能とされ、前記第２のデブロッキングフィルタ(７２３)の第２のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第２のバッファ(７２５３)に蓄積可能とされる。
【００５８】
前記第１のバッファ(７２５２)に蓄積された前記第１のフィルタ処理結果と前記第２のバッファ(７２５３)に蓄積された前記第２のフィルタ処理結果とは、外部メモリに前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とから順次に転送可能とされたことを特徴とするものである(図９参照)。
【００５９】
前記実施の形態によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の処理結果の外部メモリへの転送に際して、前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とは並列処理される複数のマクロブロック(ＭＢ)の列方向(垂直方向)の位置の相違および前記第１と前記第２のデブロッキングフィルタ(７１３、７２３)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
【００６０】
好適な実施の形態では、前記第１のバッファ(７２５２)の第１の記憶容量は前記第２のバッファ(７２５３)の第２の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、前記所定の記憶容量は前記第２のデブロッキングフィルタ(７２３)の前記動作タイミングの遅延の間に前記第１のデブロッキングフィルタ(７１３)が生成する前記第１のフィルタ処理結果(００、０１)を蓄積可能であることを特徴とするものである(図９参照)。
【００６１】
前記好適な実施の形態によれば、前記第２のデブロッキングフィルタ(７２３)の前記動作タイミングの遅延を吸収することが可能となる。
【００６２】
他の好適な実施の形態では、前記第１のデブロッキングフィルタ(７１３)と前記第２のデブロッキングフィルタ(７２３)と前記データ転送ユニット(７２５)とは、パイプライン動作を実行するものである。
【００６３】
前記パイプライン動作の１つのタイムスロット(Ｔｉｍｍｉｎｇ３)の間に、前記データ転送ユニット(７２５)の前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とは、前記第１のフィルタ処理結果(００)と前記第２のフィルタ処理結果(１０)とを並列に保持しているものである。
【００６４】
前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とに保持された前記第１のフィルタ処理結果(００)と前記第２のフィルタ処理結果(１０)とは、前記パイプライン動作の前記１つのタイムスロット(Ｔｉｍｍｉｎｇ３)の次の１つのタイムスロット(Ｔｉｍｍｉｎｇ４)の間に前記データ転送ユニット(７２５)によって前記外部メモリに順次転送可能とされたことを特徴とする(図９参照)。
【００６５】
より好適な実施の形態では、前記第１のデブロッキングフィルタ(７１３)と前記データ転送ユニット(７２５)の前記第１のバッファ(７２５２)とは所定の処理期間(Ｔｉｍｍｉｎｇ０〜Ｔｉｍｍｉｎｇ３)で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第２のデブロッキングフィルタ(７２３)と前記データ転送ユニット(７２５)の前記第２のバッファ(７２５３)とは前記所定の処理期間(Ｔｉｍｍｉｎｇ０〜Ｔｉｍｍｉｎｇ２)で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものである。
【００６６】
前記所定の処理期間(Ｔｉｍｍｉｎｇ０〜Ｔｉｍｍｉｎｇ３)の後の他の処理期間(Ｔｉｍｍｉｎｇ４〜)において、前記第１のデブロッキングフィルタ(７１３)の前記第１のフィルタ処理結果と前記第２のデブロッキングフィルタ(７２３)の前記第２のフィルタ処理結果とが、前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とから前記外部メモリに順次に転送可能とされたことを特徴とするものである(図９参照)。
【００６７】
他のより好適な実施の形態では、前記第１の動画像処理ユニット(７１９)と前記第２の動画像処理ユニット(７２９)とは、第１の可変長符号化復号部(７１０)と第２の可変長符号化復号部(７２０)と、第１の周波数変換部(７１１)と第２の周波数変換部(７２１)と、第１の動き補償部(７１２)と第２の動き補償部(７２２)とをそれぞれ更に含むものである(図７参照)。
【００６８】
前記第１の動画像処理ユニット(７１９)に含まれた前記第１の可変長符号化復号部(７１０)と前記第１の周波数変換部(７１１)と前記第１の動き補償部(７１２)と前記第１のデブロッキングフィルタ(７１３)と、前記第２の動画像処理ユニット(７２９)に含まれた前記第２の可変長符号化復号部(７２０)と前記第２の周波数変換部(７２１)と前記第２の動き補償部(７２２)と前記第２のデブロッキングフィルタ(７２３)とは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とするものである(図９参照)。
【００６９】
別のより好適な実施の形態による動画像処理装置(７５０)は、前記第１のデブロッキングフィルタ(７１３)と前記第２のデブロッキングフィルタ(７２３)とは、第１のメモリ(７１３３)と第２のメモリ(７２３３)とをそれぞれ内蔵するものである。
【００７０】
前記第１のデブロッキングフィルタ(７１３)によってフィルタ処理された処理対象のマクロブロック(ＭＢ００)のデータが、次の処理対象のマクロブロック(ＭＢ０１)の次のフィルタ処理のために前記第１のメモリ(７１３３)に格納可能とされる一方、前記第２のデブロッキングフィルタ(７２３)によってフィルタ処理された処理対象のマクロブロック(ＭＢ１０)のデータが、次の処理対象のマクロブロック(ＭＢ１１)の次のフィルタ処理のために前記第２のメモリ(７２３３)に格納可能とされたことを特徴とするものである(図１０、図１１、図１２参照)。
【００７１】
更に別のより好適な実施の形態による動画像処理装置(７５０)は、前記第１の動画像処理ユニット(７１９)と前記第２の動画像処理ユニット(７２９)とに接続された他のメモリ(７２４)を更に具備するものである。
【００７２】
前記第１のデブロッキングフィルタ(７１３)によってフィルタ処理された前記１つの行に配列されるマクロブロック(ＭＢ０２)の下側境界の領域(１２０２)のデータが、前記次の行に配列されるマクロブロック(ＭＢ１２、ＭＢ１３)のイントラ・フレーム予測のために前記他のメモリ(７２４)に格納可能とされる一方、前記第２のデブロッキングフィルタ(７２３)によってフィルタ処理された前記次の行に配列されるマクロブロック(ＭＢ１０)の下側境界の領域(１２１２)のデータが、前記次の行の更に次の行に配列されるマクロブロック(ＭＢ２０、ＭＢ２１)のイントラ・フレーム予測のために前記他のメモリ(７２４)に格納可能とされたことを特徴とするものである(図１０、図１１、図１２参照)。
【００７３】
具体的な実施の形態は、前記第１の動画像処理ユニット(７１９)と前記第２の動画像処理ユニット(７２９)と前記データ転送ユニット(７２５)とは、前記動画像処理装置(７５０)を構成する半導体集積回路の半導体基板に集積化されたことを特徴とするものである(図７参照)。
【００７４】
より具体的な実施の形態では、前記データ転送ユニット(７２５)はダイレクトメモリアクセスコントローラ(ＤＭＡＣ)であることを特徴とするものである(図７参照)。
【００７５】
最も具体的な実施の形態では、前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ)であることを特徴とするものである。
【００７６】
〔２〕本発明の別の観点の代表的な実施の形態は、並列動作が可能な第１の動画像処理ユニット(７１９)と第２の動画像処理ユニット(７２９)とを具備する動画像処理装置(７５０)の動作方法である。
【００７７】
前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが前記並列動作を実行する際に、前記第１の動画像処理ユニットと前記第２の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものである。
【００７８】
前記第１の動画像処理ユニットは１つの画像の１つの行に配列された第１の複数のマクロブロック(ＭＢ００、ＭＢ０１、ＭＢ０２、ＭＢ０３…)を順次処理するものであり、前記第２の動画像処理ユニットは前記１つの画像の前記１つの行の次の行に配列された第２の複数のマクロブロック(ＭＢ１０、ＭＢ１１、ＭＢ１２、ＭＢ１３…)を順次処理するものである。
【００７９】
前記第１の動画像処理ユニット(７１９)と前記第２の動画像処理ユニット(７２９)とは、画像復号時のブロック歪を低減するための第１のデブロッキングフィルタ(７１３)と第２のデブロッキングフィルタ(７２３)とをそれぞれ含むものである(図７、図８参照)。
【００８０】
前記第１のデブロッキングフィルタ(７１３)の動作タイミングと比較して、前記第２のデブロッキングフィルタ(７２３)の動作タイミングは、前記マクロブロック２個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図９参照)。
【００８１】
前記動画像処理装置(７５０)は、少なくとも第１のバッファ(７２５２)と第２のバッファ(７２５３)とを含むデータ転送ユニット(７２５)を更に具備するものである。
【００８２】
前記第１のデブロッキングフィルタ(７１３)の第１のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第１のバッファ(７２５２)に蓄積可能とされ、前記第２のデブロッキングフィルタ(７２３)の第２のフィルタ処理結果は前記データ転送ユニット(７２５)の前記第２のバッファ(７２５３)に蓄積可能とされる。
【００８３】
前記第１のバッファ(７２５２)に蓄積された前記第１のフィルタ処理結果と前記第２のバッファ(７２５３)に蓄積された前記第２のフィルタ処理結果とは、外部メモリに前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とから順次に転送可能とされたことを特徴とするものである(図９参照)。
【００８４】
前記実施の形態によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の処理結果の外部メモリに際して、前記第１のバッファ(７２５２)と前記第２のバッファ(７２５３)とは並列処理される複数のマクロブロック(ＭＢ)の列方向(垂直方向)の位置の相違および前記第１と前記第２のデブロッキングフィルタ(７１３、７２３)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
【００８５】
２．実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【００８６】
［実施の形態１］
《動画像処理装置の基本構成》
図７は、本発明の実施の形態１による動画像処理装置の基本構成を示す図である。
【００８７】
図７に示す動画像処理装置７５０は、可変長符号化復号部(ＶＬＣＳ)７０３、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９、メモリ制御部(ＭＥＣ)７１４、ラインメモリコントローラ(ＬＭＣ)７２４、全体制御部(ＣＴＲＬ)７１５、ＤＭＡコントローラ(ＤＭＡＣ)７２５、内部バス７０２を具備するものである。好ましい実施の形態によれば、動画像処理装置７５０は、例えば単結晶シリコン基板などの一つの半導体基板に形成された大規模半導体集積回路(ＬＳＩ：Large Scale Integrated Circuits)の形態で構成されている。
【００８８】
《可変長符号化復号部》
可変長符号化復号部(ＶＬＣＳ)７０３には、ハードディスクドライブ(ＨＤＤ)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線ＬＡＮ(ローカルエリアネットワーク)等のメディアからＤＭＡコントローラ７２５を介して動画符号化データがビットストリーム(ＢＳ)の形態で供給される。可変長符号化復号部(ＶＬＣＳ)７０３の内部にストリーム解析部が内蔵され、このストリーム解析部によって奇数行である１行目、３行目…に配列されたマクロブロックが第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９に供給される一方、偶数行である２行目、４行目…に配列されたマクロブロックが第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９に供給される。
【００８９】
可変長符号化復号部(ＶＬＣＳ)７０３の内部にパイプライン制御部が内蔵され、このパイプライン制御部によってマクロブロックに関する第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９と第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９との並列動作のためのパイプライン動作が制御される。すなわち、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９の内部回路である第１の可変長符号化復号部(ＶＬＣＦ１)７１０と第１の周波数変換部(ＴＲＦ１)７１１と第１の動き補償部(ＦＭＥ１)７１２と第１のデブロッキングフィルタ(ＤＥＢ１)７１３とは、可変長符号化復号部(ＶＬＣＳ)７０３のパイプライン制御部によって制御されることによってパイプライン動作を実行するものである。また、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９の内部回路である第２の可変長符号化復号部(ＶＬＣＦ２)７２０と第２の周波数変換部(ＴＲＦ２)７２１と第２の動き補償部(ＦＭＥ２)７２２と第２のデブロッキングフィルタ(ＤＥＢ２)７２３とは、可変長符号化復号部(ＶＬＣＳ)７０３のパイプライン制御部によって制御されることによってパイプライン動作を実行するものである。
【００９０】
また可変長符号化復号部(ＶＬＣＳ)７０３は、供給されるビットストリームを可変長復号することによって、マクロブロックタイプと動きベクトルを抽出して、後段の第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９と第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９とで必要なパラメータ群の値を求める機能を有するものである。
【００９１】
《可変長符号化復号部》
可変長符号化復号部(ＶＬＣＳ)７０３から奇数行と偶数行のマクロブロックがそれぞれ供給される第１の可変長符号化復号部(ＶＬＣＦ１)７１０と第２の可変長符号化復号部(ＶＬＣＦ２)７２０は、コンテキストベース適応可変長符号化復号を実行することによって、動きベクトル情報やマクロブロックパラメータや周波数変換情報の復号処理を実行するものである。
【００９２】
《周波数変換部》
第１の周波数変換部(ＴＲＦ１)７１１と第２の周波数変換部(ＴＲＦ２)７２１とは、第１の可変長符号化復号部(ＶＬＣＦ１)７１０と第２の可変長符号化復号部(ＶＬＣＦ２)７２０から周波数変換情報が供給されることによって、逆量子化(ＩＱ：Inverse Quantization)と逆ディスクリートコサイン変換(ＩＤＣＴ：Inverse Discrete Cosine Transformation)とを実行する。すなわち、第１の周波数変換部(ＴＲＦ１)７１１、第２の周波数変換部(ＴＲＦ２)７２１は、第１の可変長符号化復号部(ＶＬＣＦ１)７１０、第２の可変長符号化復号部(ＶＬＣＦ２)７２０から供給される周波数変換情報としての量子化変換係数と量子化パラメータとを処理して、逆量子化変換して変換係数を算出して、算出された変換係数を逆直交変換して画素値又はフレーム間予測残差を求め、第１の動き補償部(ＦＭＥ１)７１２、第２の動き補償部(ＦＭＥ２)７２２から供給される参照画像とフレーム間予測残差を加算して画素値を算出して、算出された画像を出力する。
【００９３】
《動き補償部》
第１の動き補償部(ＦＭＥ１)７１２と第２の動き補償部(ＦＭＥ２)７２２とは、動き補償処理を実行する。すなわち、第１の動き補償部(ＦＭＥ１)７１２、第２の動き補償部(ＦＭＥ２)７２２は、メモリ制御部(ＭＥＣ)７１４と内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを介して外部メモリから供給される参照画像を使用して動き探索の実行によって動きベクトル位置の参照画像を算出して、第１の周波数変換部(ＴＲＦ１)７１１、第２の周波数変換部(ＴＲＦ２)７２１に出力する。
【００９４】
《デブロッキングフィルタ》
第１のデブロッキングフィルタ(ＤＥＢ１)７１３と第２のデブロッキングフィルタ(ＤＥＢ２)７２３とは、画像復号時に生じるブロック歪を減少させるためのデブロッキングフィルタ処理を実行するものである。すなわち、第１と第２のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２)７１３、７２３は、第１と第２の周波数変換部(ＴＲＦ１、ＴＲＦ２)７１１、７２１から供給される処理対象のマクロブロック(ＭＢ)の画像データと図８で説明される第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３から供給される処理対象の左のマクロブロック(ＭＢ)の画像データとを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(ＭＢ)のフィルタ処理結果である復号画像は内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを介して外部メモリに転送される一方、処理対象のマクロブロック(ＭＢ)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス７０２を介して図８で説明される第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３に格納される。
【００９５】
《メモリ制御部》
メモリ制御部(ＭＥＣ)７１４は第１と第２の可変長符号化復号部(ＶＬＣＦ１、ＶＬＣＦ２)７１０、７２０から供給される動きベクトルの情報からフレーム間予測に使用するための参照画像を、内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを経由して外部メモリから、第１と第２の動き補償部(ＦＭＥ１、ＦＭＥ２)７１２、７２２に供給するものである。
【００９６】
《全体制御部》
全体制御部(ＣＴＲＬ)７１５は、動画像処理装置７５０の全ての内部回路の動作を制御するものである。特に、全体制御部(ＣＴＲＬ)７１５は、第１と第２のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２)７１３、７２３の動作を制御する動作制御信号(ｄｅｂ＿ｓｔａｒｔ)を生成するものである。
【００９７】
《ラインメモリコントローラ》
ラインメモリコントローラ(ＬＭＣ)７２４は、奇数行のマクロブロック(ＭＢ)に関しての第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９の処理結果と関係するパラメータを格納して、偶数行のマクロブロック(ＭＢ)に関する第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９に必要な画像と関係するパラメータを転送するものである。また、ラインメモリコントローラ(ＬＭＣ)７２４は、偶数行のマクロブロック(ＭＢ)に関しての第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９の処理結果と関係するパラメータを格納して、奇数行のマクロブロック(ＭＢ)に関する第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９に必要な画像と関係するパラメータを転送するものである。このようにして、ラインメモリコントローラ(ＬＭＣ)７２４は、デブロッキングフィルタのために使用されるマクロブロック(ＭＢ)のデータを格納するものであり、上記特許文献２に記載されたように、動画像処理装置７５０の内部のスタティックランダムアクセスメモリ(ＳＲＡＭ)に接続されるものである。
【００９８】
《ＤＭＡコントローラ》
ＤＭＡコントローラ(ＤＭＡＣ：Direct Memory Access Controller)７２５は、上記特許文献２に記載されたＤＭＡコントローラと同様に、動画像処理装置７５０の外部バス７０１に接続される外部メモリ(例えば、同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory))と第１と第２の動画像処理ユニット(ＣＯＤＥＣ１、ＣＯＤＥＣ２)７１９、７２９との間で大量のマクロブロック(ＭＢ)を含むビットストリームの高速データ転送に使用されるものである。
【００９９】
《動画像処理装置の主要部の詳細構成》
図８は、図７に示した動画像処理装置７５０の第１のデブロッキングフィルタ(ＤＥＢ１)７１３と第２のデブロッキングフィルタ(ＤＥＢ２)７２３とＤＭＡコントローラ(ＤＭＡＣ)７２５の詳細な構成を示す図である。
【０１００】
《共有のラインメモリコントローラ》
図７で説明したように、第１と第２の動画像処理ユニット(ＣＯＤＥＣ１、ＣＯＤＥＣ２)７１９、７２９は、イントラ・フレーム予測のために、ラインメモリコントローラ(ＬＭＣ)７２４を共有するものである。
【０１０１】
《デブロッキングフィルタの詳細構成》
第１のデブロッキングフィルタ(ＤＥＢ１)７１３は、第１の周波数変換部(ＴＲＦ１)７１１から供給される画像データに関してデブロッキングフィルタ演算処理を実行する第１のフィルタ回路７１３１、第１のフィルタ回路７１３１の演算結果を格納する第１のローカルメモリ(ＬＲＡＭ)７１３３、第１のフィルタ回路７１３１の演算結果を第１のローカルメモリ(ＬＲＡＭ)７１３３に転送する動作を制御する第１のローカルＤＭＡ回路７１３２、第１のフィルタ回路７１３１と第１のローカルＤＭＡ回路７１３２の動作を制御する第１の制御回路７１３０を含んでいる。
【０１０２】
第２のデブロッキングフィルタ(ＤＥＢ２)７２３は、第２の周波数変換部(ＴＲＦ２)７２１から供給される画像データに関してデブロッキングフィルタ演算処理を実行する第２のフィルタ回路７２３１、第２のフィルタ回路７２３１の演算結果を格納する第２のローカルメモリ(ＬＲＡＭ)７２３３、第２のフィルタ回路７２３１の演算結果を第２のローカルメモリ(ＬＲＡＭ)７２３３に転送する動作を制御する第２のローカルＤＭＡ回路７２３２、第２のフィルタ回路７２３１と第２のローカルＤＭＡ回路７２３２の動作を制御する第２の制御回路７２３０を含んでいる。
【０１０３】
《ＤＭＡコントローラの詳細構成》
ＤＭＡコントローラ(ＤＭＡＣ)７２５は、デブロッキングフィルタ処理に必要な構成として、第１のデブロッキングフィルタ(ＤＥＢ１)７１３から転送される画像データを格納する第１のバッファ７２５２、第２のデブロッキングフィルタ(ＤＥＢ２)７２３から転送される画像データを格納する第２のバッファ７２５３、外部メモリのアドレスを生成するアドレス生成回路７２５１、第１のバッファ７２５２と第２のバッファ７２５３とアドレス生成回路７２５１との動作を制御する制御回路７２５０を含んでいる。第１のバッファ７２５２と第２のバッファ７２５３は動画像処理装置７５０の外部バス７０１と接続されているので、第１のバッファ７２５２と第２のバッファ７２５３の格納データは外部バス７０１を介して外部メモリとしてのＳＤＲＡＭの所定の格納領域に転送されることが可能である。尚、外部メモリの格納領域は、ＤＭＡコントローラ(ＤＭＡＣ)７２５のアドレス生成回路７２５１が生成したアドレスの値によって指定されることができる。また、ＤＭＡコントローラ(ＤＭＡＣ)７２５は、可変長符号化復号部(ＶＬＣＳ)７０３、メモリ制御部(ＭＥＣ)７１４にデータを供給する機能も有するが、構成の記述は割愛する。
【０１０４】
《動画像処理装置の動作》
次に、図７と図８とに示した本発明の実施の形態１による動画像処理装置の動作を、説明する。
【０１０５】
まず、内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを介して外部メモリから可変長符号化復号部(ＶＬＣＳ)７０３に復号対象のマクロブロックを含むビットストリームが供給されると、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９の動作が起動される。一方、図５で説明したように第１のデブロッキングフィルタ(ＤＥＢ１)７１３と比較して第２のデブロッキングフィルタ(ＤＥＢ２)７２３の動作タイミングは、２個のマクロブロックの処理時間分遅延する必要があるので、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９は、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９が２マクロブロック分の処理が完了した後に起動する必要がある。
【０１０６】
従って、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９では、第１の可変長符号化復号部(ＶＬＣＦ１)７１０がマクロブロック(ＭＢ)の可変長復号を実行して、第１の動き補償部(ＦＭＥ１)７１２が動き探索を実行して動きベクトル位置の参照画像を算出して、第１の周波数変換部(ＴＲＦ１)７１１が逆量子化と逆直交変換とを実行して、処理対象のマクロブロック(ＭＢ)がイントラマクロブロックの場合には参照画像を使用して画面内(イントラ)予測を実行して、画像を出力する。一方、処理対象のマクロブロック(ＭＢ)がインターマクロブロックの場合には参照画像とフレーム間予測残差を使用して動き補償処理を実行して、画像を出力する。第１のデブロッキングフィルタ(ＤＥＢ１)７１３は、第１の周波数変換部(ＴＲＦ１)７１１から供給される処理対象のマクロブロック(ＭＢ)の画像データと第１のローカルメモリ(ＬＲＡＭ)７１３３から供給される処理対象の左のマクロブロック(ＭＢ)の画像データを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(ＭＢ)のフィルタ処理結果である復号画像は内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを介して外部メモリに転送される一方、処理対象のマクロブロック(ＭＢ)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス７０２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３に格納される。
【０１０７】
第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９が２マクロブロック分の処理が完了した後、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９の動作が開始される。従って、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９では、第２の可変長符号化復号部(ＶＬＣＦ２)７２０がマクロブロックの可変長復号を実行して、第２の動き補償部(ＦＭＥ２)７２２が動き探索を実行して動きベクトル位置の参照画像を算出して、第２の周波数変換部(ＴＲＦ２)７２１が逆量子化と逆直交変換とを実行して、処理対象のマクロブロック(ＭＢ)がイントラマクロブロックの場合には参照画像を使用して画面内(イントラ)予測を実行して、画像を出力する。一方、処理対象のマクロブロック(ＭＢ)がインターマクロブロックの場合には参照画像とフレーム間予測残差を使用して動き補償処理を実行して、画像を出力する。第２のデブロッキングフィルタ(ＤＥＢ２)７２３は、第２の周波数変換部(ＴＲＦ２)７２１から供給される処理対象のマクロブロック(ＭＢ)の画像データと第２のローカルメモリ(ＬＲＡＭ)７２３３から供給される処理対象の左のマクロブロック(ＭＢ)の画像データを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(ＭＢ)のフィルタ処理結果である復号画像は内部バス７０２とＤＭＡコントローラ(ＤＭＡＣ)７２５と外部バス７０１とを介して外部メモリに転送される一方、処理対象のマクロブロック(ＭＢ)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス７０２を介して第２のローカルメモリ(ＬＲＡＭ)７２３３に格納される。
【０１０８】
《パイプライン動作》
図９は、図７と図８とに示した本発明の実施の形態１による動画像処理装置の第１のデブロッキングフィルタ(ＤＥＢ１)７１３と第２のデブロッキングフィルタ(ＤＥＢ２)７２３とＤＭＡコントローラ(ＤＭＡＣ)７２５のパイプライン動作を説明する図である。
【０１０９】
尚、図９のパイプライン動作は、図４に示した画像の奇数行である１行目の最初のマクロブロック(ＭＢ)００の次の２列目のマクロブロック(ＭＢ)０１の位置を起点としたものである。
【０１１０】
＜タイミング１＞
まず全体制御部(ＣＴＲＬ)７１５から供給される動作制御信号(ｄｅｂ＿ｓｔａｒｔ)の立ち上がり９０９のタイミングにて、第１のデブロッキングフィルタ(ＤＥＢ１)７１３の動作が起動される。すると、第１のフィルタ回路７１３１が第１のローカルメモリ(ＬＲＡＭ)７１３３から第１のローカルＤＭＡ回路７１３２を介して供給される処理対象のマクロブロックの左側のマクロブロック(この場合マクロブロック(ＭＢ)００)と、第１の周波数変換部(ＴＲＦ１)７１１から供給される処理対象のマクロブロック(この場合はマクロブロック(ＭＢ)０１)とを、使用してデブロッキングフィルタ処理を実行する。尚、処理対象が３行目の最初のマクロブロック(ＭＢ)２０以降の場合には、ラインメモリコントローラ(ＬＭＣ)７２４から供給された処理対象マクロブロックの上側のデータも使用される。デブロッキングフィルタ処理は、例えば、勧告Ｈ．２６４／ＡＶＣに準拠する場合は、前述したように図２の破線の境界に対して実行されるものである。
【０１１１】
図１０は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング１でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【０１１２】
第１のフィルタ回路７１３１による処理対象のマクロブロック(ＭＢ)０１のデブロッキングフィルタ処理の完了後に、図１０に示す処理対象の左のマクロブロック(ＭＢ)００の上部の領域１０００のデータは図９の矢印９０１のように第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３からＤＭＡコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の１番目のエントリー(ｂｕｆｆｅｒ１［１］)に出力される。
【０１１３】
すると、その後に、第１の制御回路７１３０がフレームの座標を使用して生成した画像出力信号ｉｍｇ＿ｏｕｔ１の立ち上がり９０７の後のタイミング４でＤＭＡコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の１番目のエントリー(ｂｕｆｆｅｒ１［１］)のデータ(図１０に示したマクロブロック(ＭＢ)００の領域１０００のデータ)を、図９の矢印９０５のように外部バス７０１を介して外部メモリに出力する。外部メモリに出力された図１０の領域１０００のデータは、動き補償処理のための参照復号画像の生成に使用される。
【０１１４】
一方、タイミング１で、この図１０に示す処理対象のマクロブロック(ＭＢ)０１の領域１００１のデータは、次の処理対象のマクロブロック(ＭＢ)０２のデブロッキングフィルタ処理のために、図９の矢印９０２のように第１のフィルタ回路７１３１から第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３に出力される。また更に図１０に示したマクロブロック(ＭＢ)００の下側境界の領域１００２のデータは、ラインメモリコントローラ(ＬＭＣ)７２４に出力されることによって、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９による偶数行の２行目の最初のマクロブロック(ＭＢ)１０と２列目のマクロブロック(ＭＢ)１１のイントラ・フレーム予測の処理と第２のデブロッキングフィルタ(ＤＥＢ２)７２３による偶数行の２行目の最初のマクロブロック(ＭＢ)１０のデブロッキングフィルタ処理に使用される。
【０１１５】
＜タイミング２＞
次に全体制御部(ＣＴＲＬ)７１５から供給された動作制御信号(ｄｅｂ＿ｓｔａｒｔ)の次の立ち上がり９１９のタイミングで、マクロブロック(ＭＢ)０２に対する動作が開始される。すると、第１のフィルタ回路７１３１が第１の周波数変換部(ＴＲＦ１)７１１から供給される処理対象のマクロブロック(ＭＢ)０２と第１のローカルメモリ(ＬＲＡＭ)７１３３から第１のローカルＤＭＡ回路７１３２を介して供給される処理対象の左側のマクロブロック(ＭＢ)０１とを、使用してデブロッキングフィルタ処理を実行する。
【０１１６】
図１１は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング２でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【０１１７】
第１のフィルタ回路７１３１による処理対象のマクロブロック(ＭＢ)０２のデブロッキングフィルタ処理の完了後に、図１１に示す処理対象の左のマクロブロック(ＭＢ)０１の上部の領域１１００のデータは図９の矢印９１１のように第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３からＤＭＡコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の２番目のエントリー(ｂｕｆｆｅｒ１［２］)に出力される。
【０１１８】
すると、その後に、第１の制御回路７１３０がフレームの座標を使用して生成した画像出力信号ｉｍｇ＿ｏｕｔ１の２回目の立ち上がりの後のタイミング５で第１のバッファ７２５２の２番目のエントリー(ｂｕｆｆｅｒ１［２］)のデータ(図１１に示したマクロブロック(ＭＢ)０１の領域１１００のデータ)を、外部バス７０１を介して外部メモリに出力する。外部メモリに出力された図１１の領域１１００のデータは、動き補償処理のための参照復号画像の生成に使用される。
【０１１９】
一方、このタイミング２で、図１１に示した処理対象のマクロブロック(ＭＢ)０２の領域１１０１のデータは、次の処理対象のマクロブロック(ＭＢ)０３のデブロッキングフィルタ処理のために、図９の矢印９１２のように第１のフィルタ回路７１３１から第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３に出力される。更に図１１に示したマクロブロック(ＭＢ)０１の下側境界の領域１１０２のデータは、ラインメモリコントローラ(ＬＭＣ)７２４に出力され、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９による偶数行の２行目の２列目のマクロブロック(ＭＢ)１１と３列目のマクロブロック(ＭＢ)１２のイントラ・フレーム予測の処理と第２のデブロッキングフィルタ(ＤＥＢ２)７２３による偶数行である２行目のマクロブロック(ＭＢ)１１のデブロッキングフィルタ処理に使用される。
【０１２０】
一方、全体制御部(ＣＴＲＬ)７１５から供給される動作制御信号(ｄｅｂ＿ｓｔａｒｔ)の２回目の立ち上がり９１９のタイミングで第２のデブロッキングフィルタ(ＤＥＢ２)７２３による図４に示した画像の偶数行である２行目の最初のマクロブロック(ＭＢ)１０に対する動作が起動される。すると、第２の周波数変換部(ＴＲＦ２)７２１から供給される処理対象のマクロブロック(ＭＢ)１０のデータを使用して、デブロッキングフィルタ処理を実行する。第２のフィルタ回路７２３１による処理対象のマクロブロック(ＭＢ)１０のデブロッキングフィルタ処理の完了後、図１１に示す処理対象のマクロブロック(ＭＢ)１０の領域１１１１は、次の処理対象のマクロブロック(ＭＢ)１１のデブロッキングフィルタ処理のために、図９の矢印９００のように第２のフィルタ回路７２３１から第２のローカルＤＭＡ回路７２３２を介して第２のローカルメモリ(ＬＲＡＭ)７２３３に出力される。
【０１２１】
＜タイミング３＞
次に全体制御部(ＣＴＲＬ)７１５から供給された動作制御信号(ｄｅｂ＿ｓｔａｒｔ)の更に次の立ち上がり９２９のタイミングで、マクロブロック(ＭＢ)０３に対する動作が開始される。すると、第１のフィルタ回路７１３１が第１の周波数変換部(ＴＲＦ１)７１１から供給される処理対象のマクロブロック(ＭＢ)０３と第１のローカルメモリ(ＬＲＡＭ)７１３３から第１のローカルＤＭＡ回路７１３２を介して供給される処理対象の左側のマクロブロック(ＭＢ)０２とを、使用してデブロッキングフィルタ処理を実行する。
【０１２２】
図１２は、図９に示した本発明の実施の形態１による動画像処理装置のパイプライン動作のタイミング３でＤＭＡコントローラ(ＤＭＡＣ)７２５と第１のローカルメモリ(ＬＲＡＭ)７１３３と第２のローカルメモリ(ＬＲＡＭ)７２３３とラインメモリコントローラ(ＬＭＣ)７２４に出力される画像の領域を示す図である。
【０１２３】
第１のフィルタ回路７１３１による処理対象のマクロブロック(ＭＢ)０３のデブロッキングフィルタ処理の完了後に、図１２に示す処理対象の左のマクロブロック(ＭＢ)０２の領域１２００のデータは図９の矢印９２１のように第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３からＤＭＡコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の３番目のエントリー(ｂｕｆｆｅｒ１[３])に出力される。
【０１２４】
すると、その後、第１の制御回路７１３０がフレームの座標を使用して生成した画像出力信号ｉｍｇ＿ｏｕｔ１の３回目の立ち上がりの後のタイミング６(図示せず)で第１のバッファ７２５２の３番目のエントリー(ｂｕｆｆｅｒ１[３])のデータ(図１２に示したマクロブロック(ＭＢ)０２の領域１２００のデータ)を、外部バス７０１を介して外部メモリに出力する。外部メモリに出力された図１２の領域１２００のデータは、動き補償処理のための参照復号画像の生成に使用される。
【０１２５】
一方、このタイミング３で、図１２に示した処理対象のマクロブロック(ＭＢ)０３の領域１２０１のデータは、次の処理対象のマクロブロック(ＭＢ)０４のデブロッキングフィルタ処理のために、図９の矢印９２２のように第１のフィルタ回路７１３１から第１のローカルＤＭＡ回路７１３２を介して第１のローカルメモリ(ＬＲＡＭ)７１３３に出力される。更に図１２に示したマクロブロック(ＭＢ)０２の下側境界の領域１２０２のデータは、ラインメモリコントローラ(ＬＭＣ)７２４に出力され、第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９による偶数行の２行目の３列目のマクロブロック(ＭＢ)１２と４列目のマクロブロック(ＭＢ)１３のイントラ・フレーム予測の処理と第２のデブロッキングフィルタ(ＤＥＢ２)７２３による偶数行である２行目のマクロブロック(ＭＢ)１２のデブロッキングフィルタ処理に使用される。
【０１２６】
一方、全体制御部(ＣＴＲＬ)７１５から供給される動作制御信号(ｄｅｂ＿ｓｔａｒｔ)の３回目の立ち上がり９２９のタイミングで第２のデブロッキングフィルタ(ＤＥＢ２)７２３による図４に示した画像の偶数行である２行目の２番目のマクロブロック(ＭＢ)１１に対する動作が、起動される。すると、第２のフィルタ回路７２３１が第２の周波数変換部(ＴＲＦ２)７２１から供給される処理対象のマクロブロック(ＭＢ)１１と第２のローカルメモリ(ＬＲＡＭ)７２３３から第２のローカルＤＭＡ回路７２３２を介して供給される処理対象の左側のマクロブロック(ＭＢ)１０とを、使用してデブロッキングフィルタ処理を実行する。
【０１２７】
第２のフィルタ回路７２３１による処理対象のマクロブロック(ＭＢ)１１のデブロッキングフィルタ処理の完了後、図１２に示す処理対象のマクロブロック(ＭＢ)１１の領域１２１１は、次の処理対象のマクロブロック(ＭＢ)１２のデブロッキングフィルタ処理のために、図９の矢印９０４のように第２のフィルタ回路７２３１から第２のローカルＤＭＡ回路７２３２を介して第２のローカルメモリ(ＬＲＡＭ)７２３３に出力される。
【０１２８】
第２のフィルタ回路７２３１による処理対象のマクロブロック(ＭＢ)１１のデブロッキングフィルタ処理の完了後に、図１２に示す処理対象の左のマクロブロック(ＭＢ)１０の上部の領域１２１０のデータは図９の矢印９０３のように第２のローカルＤＭＡ回路７２３２を介して第２のローカルメモリ(ＬＲＡＭ)７２３３からＤＭＡコントローラ(ＤＭＡＣ)７２５の第２のバッファ７２５３の１番目のエントリー(ｂｕｆｆｅｒ２［１］)に出力される。
【０１２９】
すると、その後に、第２の制御回路７２３０がフレームの座標を使用して生成した画像出力信号ｉｍｇ＿ｏｕｔ２の１回目の立ち上がり９０８の後のタイミング４で第２のバッファ７２５３の１番目のエントリー(ｂｕｆｆｅｒ２［１］)のデータ(図１２に示した処理対象の左のマクロブロック(ＭＢ)１０の上部の領域１２１０のデータ)を、外部バス７０１を介して外部メモリに出力する。外部メモリに出力された図１２の領域１２１０のデータは、動き補償処理のための参照復号画像の生成に使用される。
【０１３０】
更に図１２に示したマクロブロック(ＭＢ)１０の下側境界の領域１２１２のデータは、ラインメモリコントローラ(ＬＭＣ)７２４に出力され、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９による奇数行の３行目の最初のマクロブロック(ＭＢ)２０と２列目のマクロブロック(ＭＢ)２１のイントラ・フレーム予測の処理と第１のデブロッキングフィルタ(ＤＥＢ１)７１３による奇数行の３行目の最初のマクロブロック(ＭＢ)２０のデブロッキングフィルタ処理に使用される。タイミング５以降はタイミング４と同じ動作を繰り返す。
【０１３１】
＜タイミング４＞
図１は、図７と図８とに示す本発明の実施の形態１による動画像処理装置第１と第２のデブロッキングフィルタ回路ＤＥＢ１、ＤＥＢ２による１行目と２行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に処理結果を外部メモリに転送する場合に、外部メモリに転送される領域を示す図である。
【０１３２】
図９に示すパイプライン動作のタイミング４では、図１で１行目の１列目のマクロブロック(ＭＢ)００の領域１００(図１０の領域１０００参照)と図１で２行目の１列目のマクロブロック(ＭＢ)１０の上部の領域１１０(図１２の領域１２１０参照)のデータとが、ＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の１番目のエントリー(ｂｕｆｆｅｒ１［１］)と第２のバッファ７２５３の１番目のエントリー(ｂｕｆｆｅｒ２［１］)とから外部メモリに出力される。このように、ＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２と第２のバッファ７２５３とが、第１と第２のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２)７１３、７２３による１行目と２行目との同一の１列目のマクロブロック(ＭＢ)００、１０の領域１００、１１０のデータをタイミング４で順次に外部メモリに出力するものである。この際に、外部メモリの複数の転送先アドレス(ディスティネーションアドレス)は図８に示したＤＭＡＣコントローラ(ＤＭＡＣ)７２５のアドレス生成回路７２５１によって容易に指定されることが可能であり、複数の転送元アドレス(ソースアドレス)はＤＭＡＣコントローラ(ＤＭＡＣ)７２５の適切なポインタがＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の１番目のエントリー(ｂｕｆｆｅｒ１［１］)と第２のバッファ７２５３の１番目のエントリー(ｂｕｆｆｅｒ２［１］)を指定することによって容易に指定されることが可能である。
【０１３３】
＜タイミング５＞
次に、図９に示すパイプライン動作のタイミング５では、図１で１行目の２列目のマクロブロック(ＭＢ)０１の領域(図１１の領域１１００参照)と図１で２行目の２列目のマクロブロック(ＭＢ)１１の上部の領域のデータとが、ＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の２番目のエントリー(ｂｕｆｆｅｒ１［２］)と第２のバッファ７２５３の２番目のエントリー(ｂｕｆｆｅｒ２［２］)とから外部メモリに出力される。この場合にも、ＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２と第２のバッファ７２５３とが、第１と第２のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２)７１３、７２３による１行目と２行目との同一の２列目のマクロブロック(ＭＢ)０１、１１の領域のデータをタイミング５で順次に外部メモリに出力するものである。この際にも、外部メモリの複数の転送先アドレス(ディスティネーションアドレス)は図８に示したＤＭＡＣコントローラ(ＤＭＡＣ)７２５のアドレス生成回路７２５１によって容易に指定されることが可能であり、複数の転送元アドレス(ソースアドレス)はＤＭＡＣコントローラ(ＤＭＡＣ)７２５の適切なポインタがＤＭＡＣコントローラ(ＤＭＡＣ)７２５の第１のバッファ７２５２の２番目のエントリー(ｂｕｆｆｅｒ１［２］)と第２のバッファ７２５３の２番目のエントリー(ｂｕｆｆｅｒ２［２］)を指定することによって容易に指定されることが可能である。
【０１３４】
次に、並列動作する動画像処理ユニットを３個以上にする実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【０１３５】
［実施の形態２］
《動画像処理装置の基本構成》
図１４は、本発明の実施の形態２による動画像処理装置の基本構成を示す図である。
【０１３６】
図１４に示す動画像処理装置１４５０は、可変長符号化復号部(ＶＬＣＳ)７０３、並列動作が可能なＮ個の動画像処理ユニット(ＣＯＤＥＣ１、ＣＯＤＥＣ２…、ＣＯＤＥＣＮ)１４１９、ラインメモリコントローラ(ＬＭＣ)７２４、全体制御部(ＣＴＲＬ)７１５、ＤＭＡコントローラ(ＤＭＡＣ)１４２５、内部バス７０２を具備するものである。
【０１３７】
図１４に示す動画像処理装置１４５０は、図７に示した実施の形態１に動画像処理ユニットをさらに複数追加して、３個以上で構成されてものである。以降では、動画像処理ユニットの個数をＮと表記する。好ましい実施の形態によれば、動画像処理装置１４５０は、例えば単結晶シリコン基板などの一つの半導体基板に形成された大規模半導体集積回路(ＬＳＩ：Large Scale Integrated Circuits)の形態で構成されている。動画像処理ユニット(ＣＯＤＥＣ１、ＣＯＤＥＣ２…、ＣＯＤＥＣＮ)１４１９は、図７に示す第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９と同一の内部構成かつ同一の機能を有する。
【０１３８】
《ＤＭＡコントローラの詳細構成》
図１５は、図１４に示した動画像処理装置１４５０のＤＭＡコントローラ(ＤＭＡＣ)１４２５の詳細な構成を示す図である。
【０１３９】
ＤＭＡコントローラ(ＤＭＡＣ)１４２５は、動画像処理装置１４５０の外部バス７０１に接続される外部メモリ(例えば、同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ))と並列動作が可能なＮ個の動画像処理ユニット(ＣＯＤＥＣ１、ＣＯＤＥＣ２、…、ＣＯＤＥＣＮ)１４１９との間で大量のマクロブロック(ＭＢ)を含むビットストリームの高速データ転送に使用されるものである。ＤＭＡコントローラ(ＤＭＡＣ)１４２５は、デブロッキングフィルタ処理に必要な構成として、Ｎ個のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２、…、ＤＥＢＮ))１４１３から転送される画像データを格納するＮ個のバッファ１４２５２、１４２５３、…１４２５２Ｎ、外部メモリのアドレスを生成するアドレス生成回路１４２５１、Ｎ個のバッファ１４２５２、１４２５３、…１４２５２Ｎとアドレス生成回路１４２５１との動作を制御する制御回路１４２５０を含んでいる。Ｎ個のバッファ１４２５２、１４２５３、…１４２５２Ｎは動画像処理装置７５０の外部バス７０１と接続されているので、Ｎ個のバッファ１４２５２、１４２５３、…１４２５２Ｎの格納データは外部バス７０１を介して外部メモリとしてのＳＤＲＡＭの所定の格納領域に転送されることが可能である。尚、外部メモリの格納領域は、ＤＭＡコントローラ(ＤＭＡＣ)７２５のアドレス生成回路１４２５１が生成したアドレスの値によって指定されることができる。また、ＤＭＡコントローラ(ＤＭＡＣ)１４２５は、可変長符号化復号部(ＶＬＣＳ)７０３、メモリ制御部(ＭＥＣ)７１４にデータを供給する機能も有するが、前記機能を実現する構成の記述は割愛する。
【０１４０】
また、実施の形態１では、２個のデブロッキングフィルタによる処理結果のＤＭＡコントローラ(ＤＭＡＣ)７２５の２個のバッファから外部メモリに出力していたが、並列動作する動画像処理ユニットを４個以上とした場合、外部メモリに出力するＤＭＡコントローラ(ＤＭＡＣ)７２５のバッファの個数を変更することで対応が可能である。例えば、並列動作可能な動画像処理ユニットを８個とした場合には、第１の動画像処理ユニット(ＣＯＤＥＣ１)と第３の動画像処理ユニット(ＣＯＤＥＣ３)と第５の動画像処理ユニット(ＣＯＤＥＣ５)と第７の動画像処理ユニット(ＣＯＤＥＣ７)とが奇数行のマクロブロックを順次処理する一方、第２の動画像処理ユニット(ＣＯＤＥＣ２)と第４の動画像処理ユニット(ＣＯＤＥＣ４)と第６の動画像処理ユニット(ＣＯＤＥＣ６)と第８の動画像処理ユニット(ＣＯＤＥＣ８)とが偶数行のマクロブロックを順次処理するものと想定する。この場合に、方式(Ａ)：２個のデブロッキングフィルタによる２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する、方式(Ｂ)：４個のデブロッキングフィルタによる４つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する、方式(Ｃ)：８個のデブロッキングフィルタによる８つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する、と言う３つの場合が考えられる。
【０１４１】
方式(Ａ)：２個のデブロッキングフィルタによって２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する場合は、第１と第２のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２)によって最初の奇数行と最初の偶数行との２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力して、第３と第４のデブロッキングフィルタ(ＤＥＢ３、ＤＥＢ４)によって次の奇数行と次の偶数行との２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力して、第５と第６のデブロッキングフィルタ(ＤＥＢ５、ＤＥＢ６)によって更に次の奇数行と更に次の偶数行との２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力して、第７と第８のデブロッキングフィルタ(ＤＥＢ７、ＤＥＢ８)によってまた更に次の奇数行とまた更に次の偶数行との２つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する。この時、第ｉ(ｉ＝１、２、３、・・・、８)デブロッキングフィルタの処理結果を格納するＤＭＡコントローラ(ＤＭＡＣ)１４２５内のバッファｂｕｆｆｅｒ(ｉ)のエントリー数は、(２−(ｉ  ｍｏｄ  ２)＋１)×２となる。ここで、Ｋ  ｍｏｄ  ＮはＫをＮで割った余りを示す。
【０１４２】
方式(Ｂ)：４個のデブロッキングフィルタによって４つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する場合は、第１と第２と第３と第４のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２、ＤＥＢ３、ＤＥＢ４)によって最初の奇数行と最初の偶数行と次の奇数行と次の偶数行との４つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力して、第５と第６と第７と第８のデブロッキングフィルタ(ＤＥＢ５、ＤＥＢ６、ＤＥＢ７、ＤＥＢ８)によって更に次の奇数行とまた次の偶数行とまた更に次の奇数行とまた更に次の偶数行との４つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する。この時、第ｉ(ｉ＝１、２、３、・・・、８)デブロッキングフィルタの処理結果を格納するＤＭＡコントローラ(ＤＭＡＣ)７２５内のバッファｂｕｆｆｅｒ(ｉ)のエントリー数は、(４−(ｉ  ｍｏｄ  ４)＋１)×２となる。
【０１４３】
方式(Ｃ)：８個のデブロッキングフィルタによる８つの行の同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する場合は、第１と第２と第３と第４と第５と第６と第７と第８のデブロッキングフィルタ(ＤＥＢ１、ＤＥＢ２、ＤＥＢ３、ＤＥＢ４ＤＥＢ５、ＤＥＢ６、ＤＥＢ７、ＤＥＢ８)によって１行目と２行目と３行目と４行目と５行目と６行目と７行目と８行目との同一列のマクロブロック(ＭＢ)の処理結果を外部メモリに出力する。この時、第ｉ(ｉ＝１、２、３、・・・、Ｋ)デブロッキングフィルタの処理結果を格納するＤＭＡコントローラ(ＤＭＡＣ)１４２５内のバッファｂｕｆｆｅｒ(ｉ)のエントリー数は、(Ｋ−(ｉ  ｍｏｄ  Ｋ)＋１)×２となる。
【０１４４】
以上、本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１４５】
例えば、前記の実施の形態１では第２の動画像処理ユニット(ＣＯＤＥＣ２)７２９の第２のデブロッキングフィルタ(ＤＥＢ２)７２３は、第１の動画像処理ユニット(ＣＯＤＥＣ１)７１９の第１のデブロッキングフィルタ(ＤＥＢ１)７１３よりも２マクロブロック分の処理が完了した後に起動するものであった。
【０１４６】
本発明はこれに限定されるものではなく、第２のデブロッキングフィルタ(ＤＥＢ２)７２３は第１のデブロッキングフィルタ(ＤＥＢ１)７１３よりも３マクロブロック分またはそれ以上のブロック数の処理が完了した後に起動することもできる。
【符号の説明】
【０１４７】
７０１…外部バス
７０２…内部バス
７０３…可変長符号化復号部(ＶＬＣＳ)
７１０、７２０…可変長符号化復号部(ＶＬＣＦ１、２)
７１１、７２１…周波数変換部(ＴＲＦ１、２)
７１２、７２２…動き補償部(ＦＭＥ１、２)
７１３、７２３…デブロッキングフィルタ(ＤＥＢ１、２)
７１３０、７２３０…デブロッキングフィルタ制御回路
７１３１、７２３１…フィルタ回路
７１３２、７２３２…ローカルＤＭＡ回路
７１４…メモリ制御部(ＭＥＣ)
７１５…全体制御部(ＣＴＲＬ)
７１９、７２９…動画像処理ユニット(ＣＯＤＥＣ１、２)
７２４…ラインメモリコントローラ(ＬＭＣ)
７２５…ＤＭＡコントローラ(ＤＭＡＣ)
７２５０…ＤＭＡコントローラ制御回路
７２５１…アドレス生成回路
７２５２、７２５３…バッファ
【図１】
2011023995.tif 000003
【図２】
2011023995.tif 000004
【図３】
2011023995.tif 000005
【図４】
2011023995.tif 000006
【図５】
2011023995.tif 000007
【図６】
2011023995.tif 000008
【図７】
2011023995.tif 000009
【図８】
2011023995.tif 000010
【図９】
2011023995.tif 000011
【図１０】
2011023995.tif 000012
【図１１】
2011023995.tif 000013
【図１２】
2011023995.tif 000014
【図１３】
2011023995.tif 000015
【図１４】
2011023995.tif 000016
【図１５】
2011023995.tif 000017
【図１６】
2011023995.tif 000018
【図１７】
2011023995.tif 000019
【図１８】
2011023995.tif 000020