JP5253312B2 - 動画像処理装置およびその動作方法 - Google Patents

動画像処理装置およびその動作方法 Download PDF

Info

Publication number
JP5253312B2
JP5253312B2 JP2009167518A JP2009167518A JP5253312B2 JP 5253312 B2 JP5253312 B2 JP 5253312B2 JP 2009167518 A JP2009167518 A JP 2009167518A JP 2009167518 A JP2009167518 A JP 2009167518A JP 5253312 B2 JP5253312 B2 JP 5253312B2
Authority
JP
Japan
Prior art keywords
moving image
image processing
deblocking filter
unit
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009167518A
Other languages
English (en)
Other versions
JP2011023995A (ja
JP2011023995A5 (ja
Inventor
義崇 平松
啓明 中田
真和 江浜
誠二 望月
隆史 湯浅
憲一 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009167518A priority Critical patent/JP5253312B2/ja
Priority to US12/819,394 priority patent/US8483279B2/en
Publication of JP2011023995A publication Critical patent/JP2011023995A/ja
Publication of JP2011023995A5 publication Critical patent/JP2011023995A5/ja
Application granted granted Critical
Publication of JP5253312B2 publication Critical patent/JP5253312B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、動画像処理装置およびその動作方法に関し、特に複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの複数の処理結果の転送を容易とするのに有効な技術に関するものである。
動画像符号化方式としては、ITU−T(国際電気通信連合電気通信標準化部門;International Telecommunication Union、 Telecommunication Standardization Sector)において規格化されたH.263、ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) JTC1のMPEG(Moving Picture Experts Group)で規格化されたMPEG−2、MPEG−4、SMPTE(Society of Motion Picture and Television Engineers)が提案したVC−1などがある。また、ITU−Tの勧告H.264として承認されるとともにISO/IECによって国際基準14496−10(MPEG part 10) Advanced Video Coding(AVC)として承認されたH.264/AVCが最新の国際標準のビデオ符号化である。
下記非特許文献1の8.7章の「デブロッキングフィルタプロセス」PP.138〜146には、勧告H.264/AVCに準拠して画像復号時に生じるブロック歪を減少させるためのデブロッキングフィルタが記載されている。
また、下記非特許文献2のAnnexJの「デブロッキングフィルタモード」PP.80〜84にはH.263の拡張規格Annexに準拠したデブロッキングフィルタが記載されている。
また更に、下記非特許文献3には、VC−1のデブロッキングフィルタが記載されている。
図2は、勧告H.264/AVCに準拠するデブロッキングフィルタの機能を説明する図である。
図2に示すように勧告H.264/AVCに準拠するデブロッキングフィルタでは16×16画素のマクロブロックを列方向(垂直方向)に4分割する4個のブロックの境界201、202、203、204に関して、各境界の左側の4画素209と各境界の右側の4画素210とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計8画素をフィルタ処理結果によって書き換えるものである。次にマクロブロックを行方向(水平方向)に4分割する4個のブロックの境界205、206、207、208に関して、各境界の下側の4画素211と各境界の上側の4画素212とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計8画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
図16は、H.263 Annexに準拠するデブロッキングフィルタの機能を説明する図である。
図16に示すようにH.263 Annexに準拠するデブロッキングフィルタ処理では、16×16画素のマクロブロックを行方向(水平方向)に2分割する2個のブロックの境界1605、1607に関して、各境界の下側の4画素1611と各境界の上側の4画素1612とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計8画素をフィルタ処理結果によって書き換えるものである。次にマクロブロックを列方向(垂直方向)に2分割する2個のブロックの境界1601、1603に関して、各境界の左側の4画素1609と各境界の右側の4画素1610とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計8画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、H.264/AVCと同様に上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
VC−1に準拠するデブロッキングフィルタ処理では、2つのモードがある。
図17は、VC−1に準拠するデブロッキングフィルタの1つ目のモードの機能を説明する図である。1つ目のモードは、16×16画素のマクロブロックを行方向(水平方向)に4分割する3個のブロック境界1706、1707、1708とこのマクロブロックの上側に隣接するマクロブロックを4分割する1個のブロック境界1705に関して、各境界の下側の4画素1711と各境界の上側の4画素1712を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計8画素をフィルタ処理結果によって書き換えるものである。次に、マクロブロックを列方向(垂直方向)に4分割する3個のブロック境界1702、1703、1704とこのマクロブロックの左側に隣接するマクロブロックを4分割する1個のブロック境界1701に関して、各境界の左側の4画素1709と各境界の右側の4画素1710を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計8画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素と左上側に隣接するマクロブロックの画素が必要になる。
図18は、VC−1に準拠するデブロッキングフィルタの2つ目のモードの機能を説明する図である。2つ目のモードは、16×16画素のマクロブロックを行方向(水平方向)に4分割する2個のブロック境界1807、1808とこのマクロブロックの上側に隣接するマクロブロックを行方向(水平方向)に4分割する2個のブロック境界1805、1806に関して、各境界の下側の4画素1811と各境界の上側の4画素1812を使用して所定の演算式に従ったフィルタ処理を実行して、各境界の上下両側で計8画素をフィルタ処理結果によって書き換えるものである。次に、16×16画素のマクロブロックを列方向(垂直方向)に4分割する4個のブロック境界1801、1802、1803、1804に関して、各境界の左側の4画素1809と各境界の右側の4画素1810とを使用して所定の演算式に従ったフィルタ処理を実行して、各境界の左右両側で計8画素をフィルタ処理結果によって書き換えるものである。従って、マクロブロック単位でデブロッキングフィルタ処理を実行するには、上側に隣接するマクロブロックの画素と左側に隣接するマクロブロックの画素が必要になる。
一方、デブロッキングフィルタ処理の結果は復号処理の最後に次の画面の動き補償処理のための参照復号画像を生成する段階で使用されるため、フィルタ処理が完了した領域は外部メモリに出力されるものである。
図3は、勧告H.264/AVCに準拠するデブロッキングフィルタ処理で1つのマクロブロックMB11と上側に隣接するマクロブロックMB01の間の境界と1つのマクロブロックMB11と左側に隣接するマクロブロックMB10の間の境界でのフィルタ処理を実行後、フィルタ処理が完了した領域および外部メモリに出力する範囲を説明する図である。
図3に示すように、マクロブロックMB11におけるデブロッキングフィルタ処理を実行した結果、フィルタ処理の全てが完了した領域301は、処理対象のマクロブロックMB11や左側の隣接するマクロブロックMB10のマクロブロック境界からずれ、上側に隣接するマクロブロックMB01や左上側に隣接するマクロブロックMB00にまたがる。従って外部メモリに出力可能な範囲は、デブロッキングフィルタ処理対象のマクロブロックMB11からずれる。
例えば、下記特許文献1ではデブロッキングフィルタ処理対象のマクロブロックMB11の左側に隣接するマクロブロックMB10と、マクロブロックMB11の左上側に隣接するマクロブロックMB00を含む範囲302または、デブロッキングフィルタ処理対象のマクロブロックMB11と、マクロブロックMB11の左側に隣接するマクロブロックMB10と、マクロブロックMB11の上側に隣接するマクロブロックMB01と、マクロブロックMB11の左上側に隣接するマクロブロックMB00をまたぐ範囲303を外部メモリに出力する画像復号装置が記載されている。
一方、下記特許文献2には、勧告H.264/AVCに準拠した動画符号化または動画復号でのイントラ・フレーム予測を実行する際に、偶数の行に配列された第1のマクロブロックを処理する第1動画像処理ユニット2_0と次の行に配列された第2のマクロブロックを処理する第2動画像処理ユニット2_1とが並列動作することが記載されている。その際、偶数の行に配列された第1のマクロブロックの複数の近傍マクロブロックの第1動画像処理ユニット2_0による処理結果が、メモリユニットLMに格納される。この格納結果を利用して第2動画像処理ユニット2_1は、次の行の1つのマクロブロックの処理を実行するものである。
特開2007−258882号 公報 特開2008−42571号 公報
Thomas Wiegand et al, "Draft ITU−T Recommendation and Final Draft International Standard of Joint Video Specification(ITU−T Rec. H.264|ISO/IEC 14495−10 AVC" , March 2003http://www.h2631.com/h264/JVC−G050.pdf#search=’Thomas Wiegand JVTG050d35.doc‘[平成21年06月01日検索] ITU−T Recommendation H.263 , "Video coding for low bit rate communication,"Series H: AUDIOVISUAL AND MULTIMEDIA SYSTEM, Infrastructure of Audiovisual Services − Coding of Moving Video, INTERNATIONAL TELECOMMUNICATION UNION −TELECMOMMUNOCATION STANDARD SECTOR,February 1998http://www.itu.int/rec/T−REC−H.263−199802=S/en[平成21年06月30日検索] SMPTE Draft Standard for Television SMPTE 421M, Proposed SMPTE Standard for Television: VC−1 Compressed Video Bitstream Format and Decoding Process, August 23, 2005http://multimedia.cx/mirror/s421m.pdf#search=‘SMPTE 421M draft Standard for VX1’[平成21年06月30日検索]
本発明に先立って本発明者等は、動画像処理装置の研究・開発に従事した。
この研究・開発では、上記特許文献2に記載の複数の行に配列された複数のマクロブロックの複数の動画像処理ユニットによる並列処理から着想を得て、複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法が検討された。
図4は、本発明に先立って本発明者等によって検討された複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法を説明する図である。
図4に示す方法では第1のデブロッキングフィルタ回路DEB1が奇数行である1行目、3行目…のいずれかの行に配列されたマクロブロックを水平方向にデブロッキングフィルタ処理を実行するのと並列に、第2のデブロッキングフィルタ回路DEB2が偶数行である2行目、4行目…のいずれかの行に配列されたマクロブロックを水平方向にデブロッキングフィルタ処理を実行するものである。この並列処理では、第1のデブロッキングフィルタ回路DEB1の動作タイミングと比較して、第2のデブロッキングフィルタ回路DEB2の動作タイミングは、2個のマクロブロックのデブロッキングフィルタ処理時間分、遅延する必要がある。
図5は、図4に示した処理方法において、第1のデブロッキングフィルタ回路DEB1の動作タイミングと比較して、第2のデブロッキングフィルタ回路DEB2の動作タイミングが2個のマクロブロックの処理時間分遅延する必要があることを説明するための図であり、第1のデブロッキングフィルタ回路DEB1が3行目を処理し、第2のデブロッキングフィルタ回路DEB2が4行目を処理する様子を示している。
図5に示すように第1のデブロッキングフィルタ回路DEB1によるデブロッキングフィルタ処理は、3行目の1列目のマクロブロック(MB20)から開始して右方向の2列目、3列目…のマクロブロック(MB21、MB22)に向かって行方向(水平方向)に順次に進行する。第2のデブロッキングフィルタ回路DEB2によるデブロッキングフィルタ処理は、4行目の1列目のマクロブロック(MB30)から開始して右方向の2列目、3列目…のマクロブロック(MB31、MB32…)に向かって行方向(水平方向)に順次に進行する。しかし、4行目の1列目のマクロブロック(MB30)のデブロッキングフィルタ処理には、3行目の1列目のマクロブロック(MB20)の下側境界の4画素の領域502に関するフィルタ処理が完了している必要がある。このフィルタ処理が完了するタイミングは、3行目の1列目のマクロブロック(MB20)の下側境界の4画素の領域502のうちで右側に隣接するマクロブロックMB21との間の右側境界501の4画素に関するフィルタ処理が完了するタイミングである。従って、第1と第2のデブロッキングフィルタ回路DEB1、DEB2による3行目と4行目とに配列されたマクロブロックのデブロッキングフィルタ処理の制御を容易とするためには、第1のデブロッキングフィルタ回路DEB1の動作タイミングと比較して、第2のデブロッキングフィルタ回路DEB2の動作タイミングを2個のマクロブロックの処理時間分遅延する必要があるものである。
図6は、図5に示す第1と第2のデブロッキングフィルタ回路DEB1、DEB2による3行目と4行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に、上記特許文献1に開示されている方法で外部メモリに転送される領域を示す図である。具体的には、図3に示す範囲302を外部メモリに転送する例を示している。
図6にて、領域604は第1のデブロッキングフィルタ回路DEB1による3行目の4列目のマクロブロック(MB23)のフィルタ処理によって外部メモリに転送される領域を示す一方、領域605は第2のデブロッキングフィルタ回路DEB2による4行目の2列目のマクロブロック(MB31)のフィルタ処理によって外部メモリに転送される領域を示し、領域604と領域605は2個のマクロブロック分、列方向(垂直方向)で相違する位置に配列されている。このように、第1と第2のデブロッキングフィルタ回路DEB1、DEB2による複数のマクロブロックのデブロッキングフィルタ並列処理の結果、領域604のフィルタ処理結果と領域605のフィルタ処理結果を外部メモリに転送する必要がある。しかし、列方向(垂直方向)で相違する位置に配列された複数のマクロブロックの処理結果の外部メモリに転送することは、単一のフィルタ処理結果を外部メモリに転送するよりも負担が増加する。
列方向(垂直方向)で相違する位置の複数のマクロブロック(MB)を外部メモリにデータ転送することが困難となることを、下記に説明する。
図13は、列方向(垂直方向)にて相違する位置に配列された複数のマクロブロック(MB)の処理結果を外部メモリに転送することが、単一のフィルタ処理結果を外部メモリに転送するより負担が増加する理由を説明するための図であり、第1のデブロッキングフィルタ回路DEB1が5行目の2列目に配列されたマクロブロック(MB41)を処理し、第2のデブロッキングフィルタ回路DEB2が4行目のL列目に配列されたマクロブロック(MB3(L−1))を処理する場合、外部メモリに転送される領域を示す。
図13で、領域1305は第1のデブロッキングフィルタ回路DEB1による5行目の2列目のマクロブロック(MB41)のフィルタ処理によって外部メモリに転送される領域を示す一方、領域1304は第2のデブロッキングフィルタ回路DEB2による4行目のL列目のマクロブロック(MB3(L−1))のフィルタ処理によって外部メモリに転送される領域を示し、領域1304と領域1305とはL−2個マクロブロック分水平方向で相違する位置に配列されている。
このような外部メモリへのデータ転送では、外部メモリの複数の転送先のアドレス(ディスティネーションアドレス)を指定する必要があるだけではなく、列方向(垂直方向)で相違する位置に配列された複数のマクロブロック(MB)である複数の転送元のアドレス(ソースアドレス)を指定する必要がある。このアドレス指定は動画像処理装置を構成する半導体集積回路に内蔵されたメモリコントローラもしくは中央処理装置(CPU)によって実行可能であるが、ソースアドレスの指定のためにはアドレス計算が必要となり、外部メモリへのデータ転送の効率が低下するものである。
上述のような理由で、単一のデブロッキングフィルタ回路を有する動画像処理装置が単一行に配列されたマクロブロックを順次デブロッキングフィルタ処理を実行する通常処理と比較して、複数の行に配列された複数のマクロブロックの複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する場合には、複数のマクロブロックの処理結果の外部メモリへの転送の負担が増加するものである。
本発明は、以上のような本発明に先立った本発明者等による検討の結果、なされたものである。
従って、本発明の目的とするところは、複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの複数の処理結果の転送を容易とすることにある。
また、本発明の他の目的とするところは、複数のマクロブロックのデブロッキングフィルタ並列処理に際して、外部メモリへの転送の負担を軽減することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、本発明の代表的な実施の形態は、並列動作が可能な第1の動画像処理ユニット(719)と第2の動画像処理ユニット(729)とを具備する動画像処理装置(750)である。
前記第1と前記第2の動画像処理ユニットとが前記並列動作を実行する際に、前記第1と前記第2の動画像処理ユニットが処理するデータ処理単位は、所定数の画素を含むマクロブロックである。
前記第1の動画像処理ユニットは1つの画像の1つの行に配列された第1の複数のマクロブロック(MB00、MB01、MB02、MB03…)を順次処理して、前記第2の動画像処理ユニットは前記1つの画像の前記1つの行の次の行に配列された第2の複数のマクロブロック(MB10、MB11、MB12、MB13…)を順次処理する。
前記第1と前記第2の動画像処理ユニット(719、729)は、画像復号時のブロック歪を低減するための第1と第2のデブロッキングフィルタ(713、723)を含む(図7、図8参照)。
前記第1のデブロッキングフィルタ(713)の動作タイミングと比較して、前記第2のデブロッキングフィルタ(723)の動作タイミングは、前記マクロブロック2個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図9参照)。
前記動画像処理装置(750)は、少なくとも第1のバッファ(7252)と第2のバッファ(7253)とを含むデータ転送ユニット(725)を更に具備する。
前記第1のデブロッキングフィルタ(713)の第1のフィルタ処理結果は前記データ転送ユニット(725)の前記第1のバッファ(7252)に蓄積可能とされ、前記第2のデブロッキングフィルタ(723)の第2のフィルタ処理結果は前記データ転送ユニット(725)の前記第2のバッファ(7253)に蓄積可能とされる。
前記第1のバッファ(7252)に蓄積された前記第1のフィルタ処理結果と前記第2のバッファ(7253)に蓄積された前記第2のフィルタ処理結果とは、外部メモリに前記第1のバッファ(7252)と前記第2のバッファ(7253)とから順次に転送可能とされたことを特徴とするものである(図9参照)。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
すなわち、本発明によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の複数の処理結果の外部メモリへの転送に際して、第1のバッファ(7252)と第2のバッファ(7253)とは、並列処理される複数のマクロブロック(MB)の列方向(垂直方向)の位置の相違および第1と第2のデブロッキングフィルタ(713、723)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
図1は、図7と図8とに示す本発明の実施の形態1による動画像処理装置の第1と第2のデブロッキングフィルタ回路DEB1、DEB2による1行目と2行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に処理結果を外部メモリに転送する場合に、外部メモリに転送される領域を示す図である。 図2は、勧告H.264/AVCに準拠するデブロッキングフィルタの機能を説明する図である。 図3は、勧告H.264/AVCに準拠するデブロッキングフィルタ処理で1つのマクロブロックMB11と上側に隣接するマクロブロックMB01の間の境界と1つのマクロブロックMB11と左側に隣接するマクロブロックMB10の間の境界でのフィルタ処理を実行後、フィルタ処理が完了した領域および外部メモリに出力する範囲を説明する図である。 図4は、本発明に先立って本発明者等によって検討された複数の行に配列された複数のマクロブロックを複数のデブロッキングフィルタ回路によって並列にデブロッキングフィルタ処理を実行する方法を説明する図である。 図5は、図4に示した処理方法において、第1のデブロッキングフィルタ回路DEB1の動作タイミングと比較して、第2のデブロッキングフィルタ回路DEB2の動作タイミングが2個のマクロブロックの処理時間分遅延する必要があることを説明するための図である。 図6は、図5に示す第1と第2のデブロッキングフィルタ回路DEB1、DEB2による3行目と4行目のマクロブロックのデブロッキングフィルタ並列処理の完了後にすぐに、フィルタ処理結果のうち特許文献1で開示している範囲のうち、処理対象のマクロブロックの左側に隣接するマクロブロックの範囲、具体的には、図3に示す範囲302を外部メモリに転送する場合、外部メモリに転送される領域を示す図である。 図7は、本発明の実施の形態1による動画像処理装置の基本構成を示す図である。 図8は、図7に示した本発明の実施の形態1による動画像処理装置の主要部の詳細構成を示す図である。 図9は、図7と図8とに示した本発明の実施の形態1による動画像処理装置の第1のデブロッキングフィルタ(DEB1)713と第2のデブロッキングフィルタ(DEB2)723とDMAコントローラ(DMAC)725のパイプライン動作を説明する図である。 図10は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング1でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。 図11は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング2でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。 図12は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング3でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。 列方向(垂直方向)で相違する位置に配列された複数のマクロブロック(MB)の処理結果を外部メモリに転送することが、単一のデブロッキングフィルタ回路を有する動画像処理装置がフィルタ処理結果を外部メモリに転送するよりも負担が増加する理由を説明するための図である。 図14は、本発明の実施の形態2による動画像処理装置の基本構成を示す図である。 図15は、図14に示した本発明の実施の形態2による動画像処理装置のDMAコントローラ(DMAC)1425詳細構成を示す図である。 図16は、H.263 Annexに準拠するデブロッキングフィルタの機能を説明する図である。 図17は、VC−1に準拠するデブロッキングフィルタのモード1の機能を説明する図である。 図18は、VC−1に準拠するデブロッキングフィルタのモード2の機能を説明する図である。
1.実施の形態の概要
まず、本願において開示される発明の代表的な実施の形態について概要を説明する。
代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
[1]本発明の代表的な実施の形態は、並列動作が可能な第1の動画像処理ユニット(719)と第2の動画像処理ユニット(729)とを具備する動画像処理装置(750)である。
前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが前記並列動作を実行する際に、前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものである。
前記第1の動画像処理ユニットは1つの画像の1つの行に配列された第1の複数のマクロブロック(MB00、MB01、MB02、MB03…)を順次処理するものであり、前記第2の動画像処理ユニットは前記1つの画像の前記1つの行の次の行に配列された第2の複数のマクロブロック(MB10、MB11、MB12、MB13…)を順次処理するものである。
前記第1の動画像処理ユニット(719)と前記第2の動画像処理ユニット(729)とは、画像復号時のブロック歪を低減するための第1のデブロッキングフィルタ(713)と第2のデブロッキングフィルタ(723)とをそれぞれ含むものである(図7、図8参照)。
前記第1のデブロッキングフィルタ(713)の動作タイミングと比較して、前記第2のデブロッキングフィルタ(723)の動作タイミングは、前記マクロブロック2個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図9参照)。
前記動画像処理装置(750)は、少なくとも第1のバッファ(7252)と第2のバッファ(7253)とを含むデータ転送ユニット(725)を更に具備するものである。
前記第1のデブロッキングフィルタ(713)の第1のフィルタ処理結果は前記データ転送ユニット(725)の前記第1のバッファ(7252)に蓄積可能とされ、前記第2のデブロッキングフィルタ(723)の第2のフィルタ処理結果は前記データ転送ユニット(725)の前記第2のバッファ(7253)に蓄積可能とされる。
前記第1のバッファ(7252)に蓄積された前記第1のフィルタ処理結果と前記第2のバッファ(7253)に蓄積された前記第2のフィルタ処理結果とは、外部メモリに前記第1のバッファ(7252)と前記第2のバッファ(7253)とから順次に転送可能とされたことを特徴とするものである(図9参照)。
前記実施の形態によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の処理結果の外部メモリへの転送に際して、前記第1のバッファ(7252)と前記第2のバッファ(7253)とは並列処理される複数のマクロブロック(MB)の列方向(垂直方向)の位置の相違および前記第1と前記第2のデブロッキングフィルタ(713、723)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
好適な実施の形態では、前記第1のバッファ(7252)の第1の記憶容量は前記第2のバッファ(7253)の第2の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、前記所定の記憶容量は前記第2のデブロッキングフィルタ(723)の前記動作タイミングの遅延の間に前記第1のデブロッキングフィルタ(713)が生成する前記第1のフィルタ処理結果(00、01)を蓄積可能であることを特徴とするものである(図9参照)。
前記好適な実施の形態によれば、前記第2のデブロッキングフィルタ(723)の前記動作タイミングの遅延を吸収することが可能となる。
他の好適な実施の形態では、前記第1のデブロッキングフィルタ(713)と前記第2のデブロッキングフィルタ(723)と前記データ転送ユニット(725)とは、パイプライン動作を実行するものである。
前記パイプライン動作の1つのタイムスロット(Timming3)の間に、前記データ転送ユニット(725)の前記第1のバッファ(7252)と前記第2のバッファ(7253)とは、前記第1のフィルタ処理結果(00)と前記第2のフィルタ処理結果(10)とを並列に保持しているものである。
前記第1のバッファ(7252)と前記第2のバッファ(7253)とに保持された前記第1のフィルタ処理結果(00)と前記第2のフィルタ処理結果(10)とは、前記パイプライン動作の前記1つのタイムスロット(Timming3)の次の1つのタイムスロット(Timming4)の間に前記データ転送ユニット(725)によって前記外部メモリに順次転送可能とされたことを特徴とする(図9参照)。
より好適な実施の形態では、前記第1のデブロッキングフィルタ(713)と前記データ転送ユニット(725)の前記第1のバッファ(7252)とは所定の処理期間(Timming0〜Timming3)で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第2のデブロッキングフィルタ(723)と前記データ転送ユニット(725)の前記第2のバッファ(7253)とは前記所定の処理期間(Timming0〜Timming2)で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものである。
前記所定の処理期間(Timming0〜Timming3)の後の他の処理期間(Timming4〜)において、前記第1のデブロッキングフィルタ(713)の前記第1のフィルタ処理結果と前記第2のデブロッキングフィルタ(723)の前記第2のフィルタ処理結果とが、前記第1のバッファ(7252)と前記第2のバッファ(7253)とから前記外部メモリに順次に転送可能とされたことを特徴とするものである(図9参照)。
他のより好適な実施の形態では、前記第1の動画像処理ユニット(719)と前記第2の動画像処理ユニット(729)とは、第1の可変長符号化復号部(710)と第2の可変長符号化復号部(720)と、第1の周波数変換部(711)と第2の周波数変換部(721)と、第1の動き補償部(712)と第2の動き補償部(722)とをそれぞれ更に含むものである(図7参照)。
前記第1の動画像処理ユニット(719)に含まれた前記第1の可変長符号化復号部(710)と前記第1の周波数変換部(711)と前記第1の動き補償部(712)と前記第1のデブロッキングフィルタ(713)と、前記第2の動画像処理ユニット(729)に含まれた前記第2の可変長符号化復号部(720)と前記第2の周波数変換部(721)と前記第2の動き補償部(722)と前記第2のデブロッキングフィルタ(723)とは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とするものである(図9参照)。
別のより好適な実施の形態による動画像処理装置(750)は、前記第1のデブロッキングフィルタ(713)と前記第2のデブロッキングフィルタ(723)とは、第1のメモリ(7133)と第2のメモリ(7233)とをそれぞれ内蔵するものである。
前記第1のデブロッキングフィルタ(713)によってフィルタ処理された処理対象のマクロブロック(MB00)のデータが、次の処理対象のマクロブロック(MB01)の次のフィルタ処理のために前記第1のメモリ(7133)に格納可能とされる一方、前記第2のデブロッキングフィルタ(723)によってフィルタ処理された処理対象のマクロブロック(MB10)のデータが、次の処理対象のマクロブロック(MB11)の次のフィルタ処理のために前記第2のメモリ(7233)に格納可能とされたことを特徴とするものである(図10、図11、図12参照)。
更に別のより好適な実施の形態による動画像処理装置(750)は、前記第1の動画像処理ユニット(719)と前記第2の動画像処理ユニット(729)とに接続された他のメモリ(724)を更に具備するものである。
前記第1のデブロッキングフィルタ(713)によってフィルタ処理された前記1つの行に配列されるマクロブロック(MB02)の下側境界の領域(1202)のデータが、前記次の行に配列されるマクロブロック(MB12、MB13)のイントラ・フレーム予測のために前記他のメモリ(724)に格納可能とされる一方、前記第2のデブロッキングフィルタ(723)によってフィルタ処理された前記次の行に配列されるマクロブロック(MB10)の下側境界の領域(1212)のデータが、前記次の行の更に次の行に配列されるマクロブロック(MB20、MB21)のイントラ・フレーム予測のために前記他のメモリ(724)に格納可能とされたことを特徴とするものである(図10、図11、図12参照)。
具体的な実施の形態は、前記第1の動画像処理ユニット(719)と前記第2の動画像処理ユニット(729)と前記データ転送ユニット(725)とは、前記動画像処理装置(750)を構成する半導体集積回路の半導体基板に集積化されたことを特徴とするものである(図7参照)。
より具体的な実施の形態では、前記データ転送ユニット(725)はダイレクトメモリアクセスコントローラ(DMAC)であることを特徴とするものである(図7参照)。
最も具体的な実施の形態では、前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリ(SDRAM)であることを特徴とするものである。
〔2〕本発明の別の観点の代表的な実施の形態は、並列動作が可能な第1の動画像処理ユニット(719)と第2の動画像処理ユニット(729)とを具備する動画像処理装置(750)の動作方法である。
前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが前記並列動作を実行する際に、前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものである。
前記第1の動画像処理ユニットは1つの画像の1つの行に配列された第1の複数のマクロブロック(MB00、MB01、MB02、MB03…)を順次処理するものであり、前記第2の動画像処理ユニットは前記1つの画像の前記1つの行の次の行に配列された第2の複数のマクロブロック(MB10、MB11、MB12、MB13…)を順次処理するものである。
前記第1の動画像処理ユニット(719)と前記第2の動画像処理ユニット(729)とは、画像復号時のブロック歪を低減するための第1のデブロッキングフィルタ(713)と第2のデブロッキングフィルタ(723)とをそれぞれ含むものである(図7、図8参照)。
前記第1のデブロッキングフィルタ(713)の動作タイミングと比較して、前記第2のデブロッキングフィルタ(723)の動作タイミングは、前記マクロブロック2個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものである(図9参照)。
前記動画像処理装置(750)は、少なくとも第1のバッファ(7252)と第2のバッファ(7253)とを含むデータ転送ユニット(725)を更に具備するものである。
前記第1のデブロッキングフィルタ(713)の第1のフィルタ処理結果は前記データ転送ユニット(725)の前記第1のバッファ(7252)に蓄積可能とされ、前記第2のデブロッキングフィルタ(723)の第2のフィルタ処理結果は前記データ転送ユニット(725)の前記第2のバッファ(7253)に蓄積可能とされる。
前記第1のバッファ(7252)に蓄積された前記第1のフィルタ処理結果と前記第2のバッファ(7253)に蓄積された前記第2のフィルタ処理結果とは、外部メモリに前記第1のバッファ(7252)と前記第2のバッファ(7253)とから順次に転送可能とされたことを特徴とするものである(図9参照)。
前記実施の形態によれば、複数のマクロブロックのデブロッキングフィルタ並列処理の処理結果の外部メモリに際して、前記第1のバッファ(7252)と前記第2のバッファ(7253)とは並列処理される複数のマクロブロック(MB)の列方向(垂直方向)の位置の相違および前記第1と前記第2のデブロッキングフィルタ(713、723)の動作タイミングの相違を吸収することが可能なため、外部メモリへの複数の処理結果の転送を容易とすることができる。
2.実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
[実施の形態1]
《動画像処理装置の基本構成》
図7は、本発明の実施の形態1による動画像処理装置の基本構成を示す図である。
図7に示す動画像処理装置750は、可変長符号化復号部(VLCS)703、第1の動画像処理ユニット(CODEC1)719、第2の動画像処理ユニット(CODEC2)729、メモリ制御部(MEC)714、ラインメモリコントローラ(LMC)724、全体制御部(CTRL)715、DMAコントローラ(DMAC)725、内部バス702を具備するものである。好ましい実施の形態によれば、動画像処理装置750は、例えば単結晶シリコン基板などの一つの半導体基板に形成された大規模半導体集積回路(LSI:Large Scale Integrated Circuits)の形態で構成されている。
《可変長符号化復号部》
可変長符号化復号部(VLCS)703には、ハードディスクドライブ(HDD)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線LAN(ローカルエリアネットワーク)等のメディアからDMAコントローラ725を介して動画符号化データがビットストリーム(BS)の形態で供給される。可変長符号化復号部(VLCS)703の内部にストリーム解析部が内蔵され、このストリーム解析部によって奇数行である1行目、3行目…に配列されたマクロブロックが第1の動画像処理ユニット(CODEC1)719に供給される一方、偶数行である2行目、4行目…に配列されたマクロブロックが第2の動画像処理ユニット(CODEC2)729に供給される。
可変長符号化復号部(VLCS)703の内部にパイプライン制御部が内蔵され、このパイプライン制御部によってマクロブロックに関する第1の動画像処理ユニット(CODEC1)719と第2の動画像処理ユニット(CODEC2)729との並列動作のためのパイプライン動作が制御される。すなわち、第1の動画像処理ユニット(CODEC1)719の内部回路である第1の可変長符号化復号部(VLCF1)710と第1の周波数変換部(TRF1)711と第1の動き補償部(FME1)712と第1のデブロッキングフィルタ(DEB1)713とは、可変長符号化復号部(VLCS)703のパイプライン制御部によって制御されることによってパイプライン動作を実行するものである。また、第2の動画像処理ユニット(CODEC2)729の内部回路である第2の可変長符号化復号部(VLCF2)720と第2の周波数変換部(TRF2)721と第2の動き補償部(FME2)722と第2のデブロッキングフィルタ(DEB2)723とは、可変長符号化復号部(VLCS)703のパイプライン制御部によって制御されることによってパイプライン動作を実行するものである。
また可変長符号化復号部(VLCS)703は、供給されるビットストリームを可変長復号することによって、マクロブロックタイプと動きベクトルを抽出して、後段の第1の動画像処理ユニット(CODEC1)719と第2の動画像処理ユニット(CODEC2)729とで必要なパラメータ群の値を求める機能を有するものである。
《可変長符号化復号部》
可変長符号化復号部(VLCS)703から奇数行と偶数行のマクロブロックがそれぞれ供給される第1の可変長符号化復号部(VLCF1)710と第2の可変長符号化復号部(VLCF2)720は、コンテキストベース適応可変長符号化復号を実行することによって、動きベクトル情報やマクロブロックパラメータや周波数変換情報の復号処理を実行するものである。
《周波数変換部》
第1の周波数変換部(TRF1)711と第2の周波数変換部(TRF2)721とは、第1の可変長符号化復号部(VLCF1)710と第2の可変長符号化復号部(VLCF2)720から周波数変換情報が供給されることによって、逆量子化(IQ:Inverse Quantization)と逆ディスクリートコサイン変換(IDCT:Inverse Discrete Cosine Transformation)とを実行する。すなわち、第1の周波数変換部(TRF1)711、第2の周波数変換部(TRF2)721は、第1の可変長符号化復号部(VLCF1)710、第2の可変長符号化復号部(VLCF2)720から供給される周波数変換情報としての量子化変換係数と量子化パラメータとを処理して、逆量子化変換して変換係数を算出して、算出された変換係数を逆直交変換して画素値又はフレーム間予測残差を求め、第1の動き補償部(FME1)712、第2の動き補償部(FME2)722から供給される参照画像とフレーム間予測残差を加算して画素値を算出して、算出された画像を出力する。
《動き補償部》
第1の動き補償部(FME1)712と第2の動き補償部(FME2)722とは、動き補償処理を実行する。すなわち、第1の動き補償部(FME1)712、第2の動き補償部(FME2)722は、メモリ制御部(MEC)714と内部バス702とDMAコントローラ(DMAC)725と外部バス701とを介して外部メモリから供給される参照画像を使用して動き探索の実行によって動きベクトル位置の参照画像を算出して、第1の周波数変換部(TRF1)711、第2の周波数変換部(TRF2)721に出力する。
《デブロッキングフィルタ》
第1のデブロッキングフィルタ(DEB1)713と第2のデブロッキングフィルタ(DEB2)723とは、画像復号時に生じるブロック歪を減少させるためのデブロッキングフィルタ処理を実行するものである。すなわち、第1と第2のデブロッキングフィルタ(DEB1、DEB2)713、723は、第1と第2の周波数変換部(TRF1、TRF2)711、721から供給される処理対象のマクロブロック(MB)の画像データと図8で説明される第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233から供給される処理対象の左のマクロブロック(MB)の画像データとを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(MB)のフィルタ処理結果である復号画像は内部バス702とDMAコントローラ(DMAC)725と外部バス701とを介して外部メモリに転送される一方、処理対象のマクロブロック(MB)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス702を介して図8で説明される第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233に格納される。
《メモリ制御部》
メモリ制御部(MEC)714は第1と第2の可変長符号化復号部(VLCF1、VLCF2)710、720から供給される動きベクトルの情報からフレーム間予測に使用するための参照画像を、内部バス702とDMAコントローラ(DMAC)725と外部バス701とを経由して外部メモリから、第1と第2の動き補償部(FME1、FME2)712、722に供給するものである。
《全体制御部》
全体制御部(CTRL)715は、動画像処理装置750の全ての内部回路の動作を制御するものである。特に、全体制御部(CTRL)715は、第1と第2のデブロッキングフィルタ(DEB1、DEB2)713、723の動作を制御する動作制御信号(deb_start)を生成するものである。
《ラインメモリコントローラ》
ラインメモリコントローラ(LMC)724は、奇数行のマクロブロック(MB)に関しての第1の動画像処理ユニット(CODEC1)719の処理結果と関係するパラメータを格納して、偶数行のマクロブロック(MB)に関する第2の動画像処理ユニット(CODEC2)729に必要な画像と関係するパラメータを転送するものである。また、ラインメモリコントローラ(LMC)724は、偶数行のマクロブロック(MB)に関しての第2の動画像処理ユニット(CODEC2)729の処理結果と関係するパラメータを格納して、奇数行のマクロブロック(MB)に関する第1の動画像処理ユニット(CODEC1)719に必要な画像と関係するパラメータを転送するものである。このようにして、ラインメモリコントローラ(LMC)724は、デブロッキングフィルタのために使用されるマクロブロック(MB)のデータを格納するものであり、上記特許文献2に記載されたように、動画像処理装置750の内部のスタティックランダムアクセスメモリ(SRAM)に接続されるものである。
《DMAコントローラ》
DMAコントローラ(DMAC:Direct Memory Access Controller)725は、上記特許文献2に記載されたDMAコントローラと同様に、動画像処理装置750の外部バス701に接続される外部メモリ(例えば、同期型ダイナミックランダムアクセスメモリ(SDRAM:Synchronous Dynamic Random Access Memory))と第1と第2の動画像処理ユニット(CODEC1、CODEC2)719、729との間で大量のマクロブロック(MB)を含むビットストリームの高速データ転送に使用されるものである。
《動画像処理装置の主要部の詳細構成》
図8は、図7に示した動画像処理装置750の第1のデブロッキングフィルタ(DEB1)713と第2のデブロッキングフィルタ(DEB2)723とDMAコントローラ(DMAC)725の詳細な構成を示す図である。
《共有のラインメモリコントローラ》
図7で説明したように、第1と第2の動画像処理ユニット(CODEC1、CODEC2)719、729は、イントラ・フレーム予測のために、ラインメモリコントローラ(LMC)724を共有するものである。
《デブロッキングフィルタの詳細構成》
第1のデブロッキングフィルタ(DEB1)713は、第1の周波数変換部(TRF1)711から供給される画像データに関してデブロッキングフィルタ演算処理を実行する第1のフィルタ回路7131、第1のフィルタ回路7131の演算結果を格納する第1のローカルメモリ(LRAM)7133、第1のフィルタ回路7131の演算結果を第1のローカルメモリ(LRAM)7133に転送する動作を制御する第1のローカルDMA回路7132、第1のフィルタ回路7131と第1のローカルDMA回路7132の動作を制御する第1の制御回路7130を含んでいる。
第2のデブロッキングフィルタ(DEB2)723は、第2の周波数変換部(TRF2)721から供給される画像データに関してデブロッキングフィルタ演算処理を実行する第2のフィルタ回路7231、第2のフィルタ回路7231の演算結果を格納する第2のローカルメモリ(LRAM)7233、第2のフィルタ回路7231の演算結果を第2のローカルメモリ(LRAM)7233に転送する動作を制御する第2のローカルDMA回路7232、第2のフィルタ回路7231と第2のローカルDMA回路7232の動作を制御する第2の制御回路7230を含んでいる。
《DMAコントローラの詳細構成》
DMAコントローラ(DMAC)725は、デブロッキングフィルタ処理に必要な構成として、第1のデブロッキングフィルタ(DEB1)713から転送される画像データを格納する第1のバッファ7252、第2のデブロッキングフィルタ(DEB2)723から転送される画像データを格納する第2のバッファ7253、外部メモリのアドレスを生成するアドレス生成回路7251、第1のバッファ7252と第2のバッファ7253とアドレス生成回路7251との動作を制御する制御回路7250を含んでいる。第1のバッファ7252と第2のバッファ7253は動画像処理装置750の外部バス701と接続されているので、第1のバッファ7252と第2のバッファ7253の格納データは外部バス701を介して外部メモリとしてのSDRAMの所定の格納領域に転送されることが可能である。尚、外部メモリの格納領域は、DMAコントローラ(DMAC)725のアドレス生成回路7251が生成したアドレスの値によって指定されることができる。また、DMAコントローラ(DMAC)725は、可変長符号化復号部(VLCS)703、メモリ制御部(MEC)714にデータを供給する機能も有するが、構成の記述は割愛する。
《動画像処理装置の動作》
次に、図7と図8とに示した本発明の実施の形態1による動画像処理装置の動作を、説明する。
まず、内部バス702とDMAコントローラ(DMAC)725と外部バス701とを介して外部メモリから可変長符号化復号部(VLCS)703に復号対象のマクロブロックを含むビットストリームが供給されると、第1の動画像処理ユニット(CODEC1)719の動作が起動される。一方、図5で説明したように第1のデブロッキングフィルタ(DEB1)713と比較して第2のデブロッキングフィルタ(DEB2)723の動作タイミングは、2個のマクロブロックの処理時間分遅延する必要があるので、第2の動画像処理ユニット(CODEC2)729は、第1の動画像処理ユニット(CODEC1)719が2マクロブロック分の処理が完了した後に起動する必要がある。
従って、第1の動画像処理ユニット(CODEC1)719では、第1の可変長符号化復号部(VLCF1)710がマクロブロック(MB)の可変長復号を実行して、第1の動き補償部(FME1)712が動き探索を実行して動きベクトル位置の参照画像を算出して、第1の周波数変換部(TRF1)711が逆量子化と逆直交変換とを実行して、処理対象のマクロブロック(MB)がイントラマクロブロックの場合には参照画像を使用して画面内(イントラ)予測を実行して、画像を出力する。一方、処理対象のマクロブロック(MB)がインターマクロブロックの場合には参照画像とフレーム間予測残差を使用して動き補償処理を実行して、画像を出力する。第1のデブロッキングフィルタ(DEB1)713は、第1の周波数変換部(TRF1)711から供給される処理対象のマクロブロック(MB)の画像データと第1のローカルメモリ(LRAM)7133から供給される処理対象の左のマクロブロック(MB)の画像データを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(MB)のフィルタ処理結果である復号画像は内部バス702とDMAコントローラ(DMAC)725と外部バス701とを介して外部メモリに転送される一方、処理対象のマクロブロック(MB)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス702を介して第1のローカルメモリ(LRAM)7133に格納される。
第1の動画像処理ユニット(CODEC1)719が2マクロブロック分の処理が完了した後、第2の動画像処理ユニット(CODEC2)729の動作が開始される。従って、第2の動画像処理ユニット(CODEC2)729では、第2の可変長符号化復号部(VLCF2)720がマクロブロックの可変長復号を実行して、第2の動き補償部(FME2)722が動き探索を実行して動きベクトル位置の参照画像を算出して、第2の周波数変換部(TRF2)721が逆量子化と逆直交変換とを実行して、処理対象のマクロブロック(MB)がイントラマクロブロックの場合には参照画像を使用して画面内(イントラ)予測を実行して、画像を出力する。一方、処理対象のマクロブロック(MB)がインターマクロブロックの場合には参照画像とフレーム間予測残差を使用して動き補償処理を実行して、画像を出力する。第2のデブロッキングフィルタ(DEB2)723は、第2の周波数変換部(TRF2)721から供給される処理対象のマクロブロック(MB)の画像データと第2のローカルメモリ(LRAM)7233から供給される処理対象の左のマクロブロック(MB)の画像データを使用して、デブロッキングフィルタ処理を実行する。処理対象の左のマクロブロック(MB)のフィルタ処理結果である復号画像は内部バス702とDMAコントローラ(DMAC)725と外部バス701とを介して外部メモリに転送される一方、処理対象のマクロブロック(MB)のフィルタ処理結果は、次の処理対象のマクロブロックのフィルタ処理のために、内部バス702を介して第2のローカルメモリ(LRAM)7233に格納される。
《パイプライン動作》
図9は、図7と図8とに示した本発明の実施の形態1による動画像処理装置の第1のデブロッキングフィルタ(DEB1)713と第2のデブロッキングフィルタ(DEB2)723とDMAコントローラ(DMAC)725のパイプライン動作を説明する図である。
尚、図9のパイプライン動作は、図4に示した画像の奇数行である1行目の最初のマクロブロック(MB)00の次の2列目のマクロブロック(MB)01の位置を起点としたものである。
<タイミング1>
まず全体制御部(CTRL)715から供給される動作制御信号(deb_start)の立ち上がり909のタイミングにて、第1のデブロッキングフィルタ(DEB1)713の動作が起動される。すると、第1のフィルタ回路7131が第1のローカルメモリ(LRAM)7133から第1のローカルDMA回路7132を介して供給される処理対象のマクロブロックの左側のマクロブロック(この場合マクロブロック(MB)00)と、第1の周波数変換部(TRF1)711から供給される処理対象のマクロブロック(この場合はマクロブロック(MB)01)とを、使用してデブロッキングフィルタ処理を実行する。尚、処理対象が3行目の最初のマクロブロック(MB)20以降の場合には、ラインメモリコントローラ(LMC)724から供給された処理対象マクロブロックの上側のデータも使用される。デブロッキングフィルタ処理は、例えば、勧告H.264/AVCに準拠する場合は、前述したように図2の破線の境界に対して実行されるものである。
図10は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング1でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。
第1のフィルタ回路7131による処理対象のマクロブロック(MB)01のデブロッキングフィルタ処理の完了後に、図10に示す処理対象の左のマクロブロック(MB)00の上部の領域1000のデータは図9の矢印901のように第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133からDMAコントローラ(DMAC)725の第1のバッファ7252の1番目のエントリー(buffer1[1])に出力される。
すると、その後に、第1の制御回路7130がフレームの座標を使用して生成した画像出力信号img_out1の立ち上がり907の後のタイミング4でDMAコントローラ(DMAC)725の第1のバッファ7252の1番目のエントリー(buffer1[1])のデータ(図10に示したマクロブロック(MB)00の領域1000のデータ)を、図9の矢印905のように外部バス701を介して外部メモリに出力する。外部メモリに出力された図10の領域1000のデータは、動き補償処理のための参照復号画像の生成に使用される。
一方、タイミング1で、この図10に示す処理対象のマクロブロック(MB)01の領域1001のデータは、次の処理対象のマクロブロック(MB)02のデブロッキングフィルタ処理のために、図9の矢印902のように第1のフィルタ回路7131から第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133に出力される。また更に図10に示したマクロブロック(MB)00の下側境界の領域1002のデータは、ラインメモリコントローラ(LMC)724に出力されることによって、第2の動画像処理ユニット(CODEC2)729による偶数行の2行目の最初のマクロブロック(MB)10と2列目のマクロブロック(MB)11のイントラ・フレーム予測の処理と第2のデブロッキングフィルタ(DEB2)723による偶数行の2行目の最初のマクロブロック(MB)10のデブロッキングフィルタ処理に使用される。
<タイミング2>
次に全体制御部(CTRL)715から供給された動作制御信号(deb_start)の次の立ち上がり919のタイミングで、マクロブロック(MB)02に対する動作が開始される。すると、第1のフィルタ回路7131が第1の周波数変換部(TRF1)711から供給される処理対象のマクロブロック(MB)02と第1のローカルメモリ(LRAM)7133から第1のローカルDMA回路7132を介して供給される処理対象の左側のマクロブロック(MB)01とを、使用してデブロッキングフィルタ処理を実行する。
図11は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング2でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。
第1のフィルタ回路7131による処理対象のマクロブロック(MB)02のデブロッキングフィルタ処理の完了後に、図11に示す処理対象の左のマクロブロック(MB)01の上部の領域1100のデータは図9の矢印911のように第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133からDMAコントローラ(DMAC)725の第1のバッファ7252の2番目のエントリー(buffer1[2])に出力される。
すると、その後に、第1の制御回路7130がフレームの座標を使用して生成した画像出力信号img_out1の2回目の立ち上がりの後のタイミング5で第1のバッファ7252の2番目のエントリー(buffer1[2])のデータ(図11に示したマクロブロック(MB)01の領域1100のデータ)を、外部バス701を介して外部メモリに出力する。外部メモリに出力された図11の領域1100のデータは、動き補償処理のための参照復号画像の生成に使用される。
一方、このタイミング2で、図11に示した処理対象のマクロブロック(MB)02の領域1101のデータは、次の処理対象のマクロブロック(MB)03のデブロッキングフィルタ処理のために、図9の矢印912のように第1のフィルタ回路7131から第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133に出力される。更に図11に示したマクロブロック(MB)01の下側境界の領域1102のデータは、ラインメモリコントローラ(LMC)724に出力され、第2の動画像処理ユニット(CODEC2)729による偶数行の2行目の2列目のマクロブロック(MB)11と3列目のマクロブロック(MB)12のイントラ・フレーム予測の処理と第2のデブロッキングフィルタ(DEB2)723による偶数行である2行目のマクロブロック(MB)11のデブロッキングフィルタ処理に使用される。
一方、全体制御部(CTRL)715から供給される動作制御信号(deb_start)の2回目の立ち上がり919のタイミングで第2のデブロッキングフィルタ(DEB2)723による図4に示した画像の偶数行である2行目の最初のマクロブロック(MB)10に対する動作が起動される。すると、第2の周波数変換部(TRF2)721から供給される処理対象のマクロブロック(MB)10のデータを使用して、デブロッキングフィルタ処理を実行する。第2のフィルタ回路7231による処理対象のマクロブロック(MB)10のデブロッキングフィルタ処理の完了後、図11に示す処理対象のマクロブロック(MB)10の領域1111は、次の処理対象のマクロブロック(MB)11のデブロッキングフィルタ処理のために、図9の矢印900のように第2のフィルタ回路7231から第2のローカルDMA回路7232を介して第2のローカルメモリ(LRAM)7233に出力される。
<タイミング3>
次に全体制御部(CTRL)715から供給された動作制御信号(deb_start)の更に次の立ち上がり929のタイミングで、マクロブロック(MB)03に対する動作が開始される。すると、第1のフィルタ回路7131が第1の周波数変換部(TRF1)711から供給される処理対象のマクロブロック(MB)03と第1のローカルメモリ(LRAM)7133から第1のローカルDMA回路7132を介して供給される処理対象の左側のマクロブロック(MB)02とを、使用してデブロッキングフィルタ処理を実行する。
図12は、図9に示した本発明の実施の形態1による動画像処理装置のパイプライン動作のタイミング3でDMAコントローラ(DMAC)725と第1のローカルメモリ(LRAM)7133と第2のローカルメモリ(LRAM)7233とラインメモリコントローラ(LMC)724に出力される画像の領域を示す図である。
第1のフィルタ回路7131による処理対象のマクロブロック(MB)03のデブロッキングフィルタ処理の完了後に、図12に示す処理対象の左のマクロブロック(MB)02の領域1200のデータは図9の矢印921のように第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133からDMAコントローラ(DMAC)725の第1のバッファ7252の3番目のエントリー(buffer1[3])に出力される。
すると、その後、第1の制御回路7130がフレームの座標を使用して生成した画像出力信号img_out1の3回目の立ち上がりの後のタイミング6(図示せず)で第1のバッファ7252の3番目のエントリー(buffer1[3])のデータ(図12に示したマクロブロック(MB)02の領域1200のデータ)を、外部バス701を介して外部メモリに出力する。外部メモリに出力された図12の領域1200のデータは、動き補償処理のための参照復号画像の生成に使用される。
一方、このタイミング3で、図12に示した処理対象のマクロブロック(MB)03の領域1201のデータは、次の処理対象のマクロブロック(MB)04のデブロッキングフィルタ処理のために、図9の矢印922のように第1のフィルタ回路7131から第1のローカルDMA回路7132を介して第1のローカルメモリ(LRAM)7133に出力される。更に図12に示したマクロブロック(MB)02の下側境界の領域1202のデータは、ラインメモリコントローラ(LMC)724に出力され、第2の動画像処理ユニット(CODEC2)729による偶数行の2行目の3列目のマクロブロック(MB)12と4列目のマクロブロック(MB)13のイントラ・フレーム予測の処理と第2のデブロッキングフィルタ(DEB2)723による偶数行である2行目のマクロブロック(MB)12のデブロッキングフィルタ処理に使用される。
一方、全体制御部(CTRL)715から供給される動作制御信号(deb_start)の3回目の立ち上がり929のタイミングで第2のデブロッキングフィルタ(DEB2)723による図4に示した画像の偶数行である2行目の2番目のマクロブロック(MB)11に対する動作が、起動される。すると、第2のフィルタ回路7231が第2の周波数変換部(TRF2)721から供給される処理対象のマクロブロック(MB)11と第2のローカルメモリ(LRAM)7233から第2のローカルDMA回路7232を介して供給される処理対象の左側のマクロブロック(MB)10とを、使用してデブロッキングフィルタ処理を実行する。
第2のフィルタ回路7231による処理対象のマクロブロック(MB)11のデブロッキングフィルタ処理の完了後、図12に示す処理対象のマクロブロック(MB)11の領域1211は、次の処理対象のマクロブロック(MB)12のデブロッキングフィルタ処理のために、図9の矢印904のように第2のフィルタ回路7231から第2のローカルDMA回路7232を介して第2のローカルメモリ(LRAM)7233に出力される。
第2のフィルタ回路7231による処理対象のマクロブロック(MB)11のデブロッキングフィルタ処理の完了後に、図12に示す処理対象の左のマクロブロック(MB)10の上部の領域1210のデータは図9の矢印903のように第2のローカルDMA回路7232を介して第2のローカルメモリ(LRAM)7233からDMAコントローラ(DMAC)725の第2のバッファ7253の1番目のエントリー(buffer2[1])に出力される。
すると、その後に、第2の制御回路7230がフレームの座標を使用して生成した画像出力信号img_out2の1回目の立ち上がり908の後のタイミング4で第2のバッファ7253の1番目のエントリー(buffer2[1])のデータ(図12に示した処理対象の左のマクロブロック(MB)10の上部の領域1210のデータ)を、外部バス701を介して外部メモリに出力する。外部メモリに出力された図12の領域1210のデータは、動き補償処理のための参照復号画像の生成に使用される。
更に図12に示したマクロブロック(MB)10の下側境界の領域1212のデータは、ラインメモリコントローラ(LMC)724に出力され、第1の動画像処理ユニット(CODEC1)719による奇数行の3行目の最初のマクロブロック(MB)20と2列目のマクロブロック(MB)21のイントラ・フレーム予測の処理と第1のデブロッキングフィルタ(DEB1)713による奇数行の3行目の最初のマクロブロック(MB)20のデブロッキングフィルタ処理に使用される。タイミング5以降はタイミング4と同じ動作を繰り返す。
<タイミング4>
図1は、図7と図8とに示す本発明の実施の形態1による動画像処理装置第1と第2のデブロッキングフィルタ回路DEB1、DEB2による1行目と2行目のマクロブロックのデブロッキングフィルタ並列処理の完了後に処理結果を外部メモリに転送する場合に、外部メモリに転送される領域を示す図である。
図9に示すパイプライン動作のタイミング4では、図1で1行目の1列目のマクロブロック(MB)00の領域100(図10の領域1000参照)と図1で2行目の1列目のマクロブロック(MB)10の上部の領域110(図12の領域1210参照)のデータとが、DMACコントローラ(DMAC)725の第1のバッファ7252の1番目のエントリー(buffer1[1])と第2のバッファ7253の1番目のエントリー(buffer2[1])とから外部メモリに出力される。このように、DMACコントローラ(DMAC)725の第1のバッファ7252と第2のバッファ7253とが、第1と第2のデブロッキングフィルタ(DEB1、DEB2)713、723による1行目と2行目との同一の1列目のマクロブロック(MB)00、10の領域100、110のデータをタイミング4で順次に外部メモリに出力するものである。この際に、外部メモリの複数の転送先アドレス(ディスティネーションアドレス)は図8に示したDMACコントローラ(DMAC)725のアドレス生成回路7251によって容易に指定されることが可能であり、複数の転送元アドレス(ソースアドレス)はDMACコントローラ(DMAC)725の適切なポインタがDMACコントローラ(DMAC)725の第1のバッファ7252の1番目のエントリー(buffer1[1])と第2のバッファ7253の1番目のエントリー(buffer2[1])を指定することによって容易に指定されることが可能である。
<タイミング5>
次に、図9に示すパイプライン動作のタイミング5では、図1で1行目の2列目のマクロブロック(MB)01の領域(図11の領域1100参照)と図1で2行目の2列目のマクロブロック(MB)11の上部の領域のデータとが、DMACコントローラ(DMAC)725の第1のバッファ7252の2番目のエントリー(buffer1[2])と第2のバッファ7253の2番目のエントリー(buffer2[2])とから外部メモリに出力される。この場合にも、DMACコントローラ(DMAC)725の第1のバッファ7252と第2のバッファ7253とが、第1と第2のデブロッキングフィルタ(DEB1、DEB2)713、723による1行目と2行目との同一の2列目のマクロブロック(MB)01、11の領域のデータをタイミング5で順次に外部メモリに出力するものである。この際にも、外部メモリの複数の転送先アドレス(ディスティネーションアドレス)は図8に示したDMACコントローラ(DMAC)725のアドレス生成回路7251によって容易に指定されることが可能であり、複数の転送元アドレス(ソースアドレス)はDMACコントローラ(DMAC)725の適切なポインタがDMACコントローラ(DMAC)725の第1のバッファ7252の2番目のエントリー(buffer1[2])と第2のバッファ7253の2番目のエントリー(buffer2[2])を指定することによって容易に指定されることが可能である。
次に、並列動作する動画像処理ユニットを3個以上にする実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
[実施の形態2]
《動画像処理装置の基本構成》
図14は、本発明の実施の形態2による動画像処理装置の基本構成を示す図である。
図14に示す動画像処理装置1450は、可変長符号化復号部(VLCS)703、並列動作が可能なN個の動画像処理ユニット(CODEC1、CODEC2…、CODECN)1419、ラインメモリコントローラ(LMC)724、全体制御部(CTRL)715、DMAコントローラ(DMAC)1425、内部バス702を具備するものである。
図14に示す動画像処理装置1450は、図7に示した実施の形態1に動画像処理ユニットをさらに複数追加して、3個以上で構成されてものである。以降では、動画像処理ユニットの個数をNと表記する。好ましい実施の形態によれば、動画像処理装置1450は、例えば単結晶シリコン基板などの一つの半導体基板に形成された大規模半導体集積回路(LSI:Large Scale Integrated Circuits)の形態で構成されている。動画像処理ユニット(CODEC1、CODEC2…、CODECN)1419は、図7に示す第1の動画像処理ユニット(CODEC1)719と同一の内部構成かつ同一の機能を有する。
《DMAコントローラの詳細構成》
図15は、図14に示した動画像処理装置1450のDMAコントローラ(DMAC)1425の詳細な構成を示す図である。
DMAコントローラ(DMAC)1425は、動画像処理装置1450の外部バス701に接続される外部メモリ(例えば、同期型ダイナミックランダムアクセスメモリ(SDRAM))と並列動作が可能なN個の動画像処理ユニット(CODEC1、CODEC2、…、CODECN)1419との間で大量のマクロブロック(MB)を含むビットストリームの高速データ転送に使用されるものである。DMAコントローラ(DMAC)1425は、デブロッキングフィルタ処理に必要な構成として、N個のデブロッキングフィルタ(DEB1、DEB2、…、DEBN))1413から転送される画像データを格納するN個のバッファ14252、14253、…14252N、外部メモリのアドレスを生成するアドレス生成回路14251、N個のバッファ14252、14253、…14252Nとアドレス生成回路14251との動作を制御する制御回路14250を含んでいる。N個のバッファ14252、14253、…14252Nは動画像処理装置750の外部バス701と接続されているので、N個のバッファ14252、14253、…14252Nの格納データは外部バス701を介して外部メモリとしてのSDRAMの所定の格納領域に転送されることが可能である。尚、外部メモリの格納領域は、DMAコントローラ(DMAC)725のアドレス生成回路14251が生成したアドレスの値によって指定されることができる。また、DMAコントローラ(DMAC)1425は、可変長符号化復号部(VLCS)703、メモリ制御部(MEC)714にデータを供給する機能も有するが、前記機能を実現する構成の記述は割愛する。
また、実施の形態1では、2個のデブロッキングフィルタによる処理結果のDMAコントローラ(DMAC)725の2個のバッファから外部メモリに出力していたが、並列動作する動画像処理ユニットを4個以上とした場合、外部メモリに出力するDMAコントローラ(DMAC)725のバッファの個数を変更することで対応が可能である。例えば、並列動作可能な動画像処理ユニットを8個とした場合には、第1の動画像処理ユニット(CODEC1)と第3の動画像処理ユニット(CODEC3)と第5の動画像処理ユニット(CODEC5)と第7の動画像処理ユニット(CODEC7)とが奇数行のマクロブロックを順次処理する一方、第2の動画像処理ユニット(CODEC2)と第4の動画像処理ユニット(CODEC4)と第6の動画像処理ユニット(CODEC6)と第8の動画像処理ユニット(CODEC8)とが偶数行のマクロブロックを順次処理するものと想定する。この場合に、方式(A):2個のデブロッキングフィルタによる2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する、方式(B):4個のデブロッキングフィルタによる4つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する、方式(C):8個のデブロッキングフィルタによる8つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する、と言う3つの場合が考えられる。
方式(A):2個のデブロッキングフィルタによって2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する場合は、第1と第2のデブロッキングフィルタ(DEB1、DEB2)によって最初の奇数行と最初の偶数行との2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力して、第3と第4のデブロッキングフィルタ(DEB3、DEB4)によって次の奇数行と次の偶数行との2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力して、第5と第6のデブロッキングフィルタ(DEB5、DEB6)によって更に次の奇数行と更に次の偶数行との2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力して、第7と第8のデブロッキングフィルタ(DEB7、DEB8)によってまた更に次の奇数行とまた更に次の偶数行との2つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する。この時、第i(i=1、2、3、・・・、8)デブロッキングフィルタの処理結果を格納するDMAコントローラ(DMAC)1425内のバッファbuffer(i)のエントリー数は、(2−(i mod 2)+1)×2となる。ここで、K mod NはKをNで割った余りを示す。
方式(B):4個のデブロッキングフィルタによって4つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する場合は、第1と第2と第3と第4のデブロッキングフィルタ(DEB1、DEB2、DEB3、DEB4)によって最初の奇数行と最初の偶数行と次の奇数行と次の偶数行との4つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力して、第5と第6と第7と第8のデブロッキングフィルタ(DEB5、DEB6、DEB7、DEB8)によって更に次の奇数行とまた次の偶数行とまた更に次の奇数行とまた更に次の偶数行との4つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する。この時、第i(i=1、2、3、・・・、8)デブロッキングフィルタの処理結果を格納するDMAコントローラ(DMAC)725内のバッファbuffer(i)のエントリー数は、(4−(i mod 4)+1)×2となる。
方式(C):8個のデブロッキングフィルタによる8つの行の同一列のマクロブロック(MB)の処理結果を外部メモリに出力する場合は、第1と第2と第3と第4と第5と第6と第7と第8のデブロッキングフィルタ(DEB1、DEB2、DEB3、DEB4DEB5、DEB6、DEB7、DEB8)によって1行目と2行目と3行目と4行目と5行目と6行目と7行目と8行目との同一列のマクロブロック(MB)の処理結果を外部メモリに出力する。この時、第i(i=1、2、3、・・・、K)デブロッキングフィルタの処理結果を格納するDMAコントローラ(DMAC)1425内のバッファbuffer(i)のエントリー数は、(K−(i mod K)+1)×2となる。
以上、本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、前記の実施の形態1では第2の動画像処理ユニット(CODEC2)729の第2のデブロッキングフィルタ(DEB2)723は、第1の動画像処理ユニット(CODEC1)719の第1のデブロッキングフィルタ(DEB1)713よりも2マクロブロック分の処理が完了した後に起動するものであった。
本発明はこれに限定されるものではなく、第2のデブロッキングフィルタ(DEB2)723は第1のデブロッキングフィルタ(DEB1)713よりも3マクロブロック分またはそれ以上のブロック数の処理が完了した後に起動することもできる。
701…外部バス
702…内部バス
703…可変長符号化復号部(VLCS)
710、720…可変長符号化復号部(VLCF1、2)
711、721…周波数変換部(TRF1、2)
712、722…動き補償部(FME1、2)
713、723…デブロッキングフィルタ(DEB1、2)
7130、7230…デブロッキングフィルタ制御回路
7131、7231…フィルタ回路
7132、7232…ローカルDMA回路
714…メモリ制御部(MEC)
715…全体制御部(CTRL)
719、729…動画像処理ユニット(CODEC1、2)
724…ラインメモリコントローラ(LMC)
725…DMAコントローラ(DMAC)
7250…DMAコントローラ制御回路
7251…アドレス生成回路
7252、7253…バッファ

Claims (20)

  1. 並列動作が可能な第1の動画像処理ユニットと第2の動画像処理ユニットとを具備する動画像処理装置であって、
    前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが前記並列動作を実行する際に、前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものであり、
    前記第1の動画像処理ユニットは1つの画像の1つの行に配列された第1の複数のマクロブロックを順次処理するものであり、前記第2の動画像処理ユニットは前記1つの画像の前記1つの行の次の行に配列された第2の複数のマクロブロックを順次処理するものであり、
    前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとは、画像復号時のブロック歪を低減するための第1のデブロッキングフィルタと第2のデブロッキングフィルタとをそれぞれ含むものであり、
    前記第1のデブロッキングフィルタの動作タイミングと比較して、前記第2のデブロッキングフィルタの動作タイミングは、前記マクロブロック2個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものであり、
    前記動画像処理装置は、少なくとも第1のバッファと第2のバッファとを含むデータ転送ユニットを更に具備するものであり、
    前記第1のデブロッキングフィルタの第1のフィルタ処理結果は前記データ転送ユニットの前記第1のバッファに蓄積可能とされ、前記第2のデブロッキングフィルタの第2のフィルタ処理結果は前記データ転送ユニットの前記第2のバッファに蓄積可能とされ、
    前記第1のバッファに蓄積された前記第1のフィルタ処理結果と前記第2のバッファに蓄積された前記第2のフィルタ処理結果とは、外部メモリに前記第1のバッファと前記第2のバッファとから順次に転送可能とされたことを特徴とする動画像処理装置。
  2. 前記第1のバッファの第1の記憶容量は前記第2のバッファの第2の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、
    前記所定の記憶容量は前記第2のデブロッキングフィルタの前記動作タイミングの遅延の間に前記第1のデブロッキングフィルタが生成する前記第1のフィルタ処理結果を蓄積可能であることを特徴とする請求項1に記載の動画像処理装置。
  3. 前記第1のデブロッキングフィルタと前記第2のデブロッキングフィルタと前記データ転送ユニットとは、パイプライン動作を実行するものであり、
    前記パイプライン動作の1つのタイムスロットの間に、前記データ転送ユニットの前記第1のバッファと前記第2のバッファとは、前記第1のフィルタ処理結果と前記第2のフィルタ処理結果とを並列に保持しているものであり、
    前記第1のバッファと前記第2のバッファとに保持された前記第1のフィルタ処理結果と前記第2のフィルタ処理結果とは、前記パイプライン動作の前記1つのタイムスロットの次の1つのタイムスロットの間に前記データ転送ユニットによって前記外部メモリに順次転送可能とされたことを特徴とする請求項2に記載の動画像処理装置。
  4. 前記第1のデブロッキングフィルタと前記データ転送ユニットの前記第1のバッファとは所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第2のデブロッキングフィルタと前記データ転送ユニットの前記第2のバッファとは前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものであり、
    前記所定の処理期間の他の処理間において、前記第1のデブロッキングフィルタの前記第1のフィルタ処理結果と前記第2のデブロッキングフィルタの前記第2のフィルタ処理結果とが、前記第1のバッファと前記第2のバッファとから前記外部メモリに順次に転送可能とされたことを特徴とする請求項3に記載の動画像処理装置。
  5. 前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとは、第1の可変長符号化復号部と第2の可変長符号化復号部と、第1の周波数変換部と第2の周波数変換部と、第1の動き補償部と第2の動き補償部とをそれぞれ更に含むものであり、
    前記第1の動画像処理ユニットに含まれた前記第1の可変長符号化復号部と前記第1の周波数変換部と前記第1の動き補償部と前記第1のデブロッキングフィルタと、前記第2の動画像処理ユニットに含まれた前記第2の可変長符号化復号部と前記第2の周波数変換部と前記第2の動き補償部と前記第2のデブロッキングフィルタとは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とする請求項4に記載の動画像処理装置。
  6. 前記第1のデブロッキングフィルタと前記第2のデブロッキングフィルタとは第1のメモリと第2のメモリとをそれぞれ内蔵するものであり、
    前記第1のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第1のメモリに格納可能とされる一方、前記第2のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第2のメモリに格納可能とされたことを特徴とする請求項5に記載の動画像処理装置。
  7. 前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとに接続された他のメモリを更に具備するものであり、
    前記第1のデブロッキングフィルタによってフィルタ処理された前記1つの行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされる一方、前記第2のデブロッキングフィルタによってフィルタ処理された前記次の行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行の更に次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされたことを特徴とする請求項6に記載の動画像処理装置。
  8. 前記第1の動画像処理ユニットと前記第2の動画像処理ユニットと前記データ転送ユニットとは、前記動画像処理装置を構成する半導体集積回路の半導体基板に集積化されたことを特徴とする請求項7に記載の動画像処理装置。
  9. 前記データ転送ユニットはダイレクトメモリアクセスコントローラであることを特徴とする請求項8に記載の動画像処理装置。
  10. 前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリであることを特徴とする請求項1乃至請求項9のいずれかに記載の動画像処理装置。
  11. 並列動作が可能な第1の動画像処理ユニットと第2の動画像処理ユニットとを具備する動画像処理装置の動作方法であって、
    前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが前記並列動作を実行する際に、前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとが処理するデータ処理単位は、所定数の画素を含むマクロブロックを含むものであり、
    前記第1の動画像処理ユニットは1つの画像の1つの行に配列された第1の複数のマクロブロックを順次処理するものであり、前記第2の動画像処理ユニットは前記1つの画像の前記1つの行の次の行に配列された第2の複数のマクロブロックを順次処理するものであり、
    前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとは、画像復号時のブロック歪を低減するための第1のデブロッキングフィルタと第2のデブロッキングフィルタとをそれぞれ含むものであり、
    前記第1のデブロッキングフィルタの動作タイミングと比較して、前記第2のデブロッキングフィルタの動作タイミングは、前記マクロブロック2個分のデブロッキングフィルタ処理時間、少なくとも遅延されるものであり、
    前記動画像処理装置は、少なくとも第1のバッファと第2のバッファとを含むデータ転送ユニットを更に具備するものであり、
    前記第1のデブロッキングフィルタの第1のフィルタ処理結果は前記データ転送ユニットの前記第1のバッファに蓄積可能とされ、前記第2のデブロッキングフィルタの第2のフィルタ処理結果は前記データ転送ユニットの前記第2のバッファに蓄積可能とされ、
    前記第1のバッファに蓄積された前記第1のフィルタ処理結果と前記第2のバッファに蓄積された前記第2のフィルタ処理結果とは、外部メモリに前記第1のバッファと前記第2のバッファとから順次に転送可能とされたことを特徴とする動画像処理装置の動作方法。
  12. 前記第1のバッファの第1の記憶容量は前記第2のバッファの第2の記憶容量よりも少なくとも所定の記憶容量分、大きく設定され、
    前記所定の記憶容量は前記第2のデブロッキングフィルタの前記動作タイミングの遅延の間に前記第1のデブロッキングフィルタが生成する前記第1のフィルタ処理結果を蓄積可能であることを特徴とする請求項11に記載の動画像処理装置の動作方法。
  13. 前記第1のデブロッキングフィルタと前記第2のデブロッキングフィルタと前記データ転送ユニットとは、パイプライン動作を実行するものであり、
    前記パイプライン動作の1つのタイムスロットの間に、前記データ転送ユニットの前記第1のバッファと前記第2のバッファとは、前記第1のフィルタ処理結果と前記第2のフィルタ処理結果とを並列に保持しているものであり、
    前記第1のバッファと前記第2のバッファとに保持された前記第1のフィルタ処理結果と前記第2のフィルタ処理結果とは、前記パイプライン動作の前記1つのタイムスロットの次の1つのタイムスロットの間に前記データ転送ユニットによって前記外部メモリに順次転送可能とされたことを特徴とする請求項12に記載の動画像処理装置の動作方法。
  14. 前記第1のデブロッキングフィルタと前記データ転送ユニットの前記第1のバッファとは所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行する一方、前記第2のデブロッキングフィルタと前記データ転送ユニットの前記第2のバッファとは前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行するものであり、
    前記所定の処理期間の後の他の処理期間において、前記第1のデブロッキングフィルタの前記第1のフィルタ処理結果と前記第2のデブロッキングフィルタの前記第2のフィルタ処理結果とが、前記第1のバッファと前記第2のバッファとから前記外部メモリに順次に転送可能とされたことを特徴とする請求項13に記載の動画像処理装置の動作方法。
  15. 前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとは、第1の可変長符号化復号部と第2の可変長符号化復号部と、第1の周波数変換部と第2の周波数変換部と、第1の動き補償部と第2の動き補償部とをそれぞれ更に含むものであり、
    前記第1の動画像処理ユニットに含まれた前記第1の可変長符号化復号部と前記第1の周波数変換部と前記第1の動き補償部と前記第1のデブロッキングフィルタと、前記第2の動画像処理ユニットに含まれた前記第2の可変長符号化復号部と前記第2の周波数変換部と前記第2の動き補償部と前記第2のデブロッキングフィルタとは、前記所定の処理期間で前記マクロブロックを順次に処理する前記パイプライン動作を実行することを特徴とする請求項14に記載の動画像処理装置の動作方法。
  16. 前記動画像処理装置は、前記第1のデブロッキングフィルタと前記第2のデブロッキングフィルタとは第1のメモリと第2のメモリとをそれぞれ内蔵するものであり、
    前記第1のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第1のメモリに格納可能とされる一方、前記第2のデブロッキングフィルタによってフィルタ処理された処理対象のマクロブロックのデータが、次の処理対象のマクロブロックの次のフィルタ処理のために前記第2のメモリに格納可能とされたことを特徴とする請求項15に記載の動画像処理装置の動作方法。
  17. 前記動画像処理装置は、前記第1の動画像処理ユニットと前記第2の動画像処理ユニットとに接続された他のメモリを更に具備するものであり、
    前記第1のデブロッキングフィルタによってフィルタ処理された前記1つの行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされる一方、前記第2のデブロッキングフィルタによってフィルタ処理された前記次の行に配列されるマクロブロックの下側境界の領域のデータが、前記次の行の更に次の行に配列されるマクロブロックのイントラ・フレーム予測のために前記他のメモリに格納可能とされたことを特徴とする請求項16に記載の動画像処理装置の動作方法。
  18. 前記第1の動画像処理ユニットと前記第2の動画像処理ユニットと前記データ転送ユニットとは、前記動画像処理装置を構成する半導体集積回路の半導体基板に集積化されたことを特徴とする請求項17に記載の動画像処理装置の動作方法。
  19. 前記データ転送ユニットはダイレクトメモリアクセスコントローラであることを特徴とする請求項18に記載の動画像処理装置の動作方法。
  20. 前記外部メモリは、前記半導体集積回路と接続可能な同期型ダイナミックランダムアクセスメモリであることを特徴とする請求項11乃至請求項19のいずれかに記載の動画像処理装置の動作方法。
JP2009167518A 2009-07-16 2009-07-16 動画像処理装置およびその動作方法 Active JP5253312B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009167518A JP5253312B2 (ja) 2009-07-16 2009-07-16 動画像処理装置およびその動作方法
US12/819,394 US8483279B2 (en) 2009-07-16 2010-06-21 Moving image parallel processor having deblocking filters

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009167518A JP5253312B2 (ja) 2009-07-16 2009-07-16 動画像処理装置およびその動作方法

Publications (3)

Publication Number Publication Date
JP2011023995A JP2011023995A (ja) 2011-02-03
JP2011023995A5 JP2011023995A5 (ja) 2012-06-07
JP5253312B2 true JP5253312B2 (ja) 2013-07-31

Family

ID=43465278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009167518A Active JP5253312B2 (ja) 2009-07-16 2009-07-16 動画像処理装置およびその動作方法

Country Status (2)

Country Link
US (1) US8483279B2 (ja)
JP (1) JP5253312B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345755B2 (en) * 2006-01-09 2013-01-01 Lg Electronics, Inc. Inter-layer prediction method for video signal
TWI463878B (zh) 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
US20120230423A1 (en) * 2011-03-10 2012-09-13 Esenlik Semih Line memory reduction for video coding and decoding
CN104823446B (zh) * 2012-12-06 2019-09-10 索尼公司 图像处理装置、图像处理方法
CN105874800B (zh) * 2014-09-17 2019-05-10 联发科技股份有限公司 句法解析装置和句法解析方法
US10277913B2 (en) 2014-10-22 2019-04-30 Samsung Electronics Co., Ltd. Application processor for performing real time in-loop filtering, method thereof and system including the same
KR102273670B1 (ko) 2014-11-28 2021-07-05 삼성전자주식회사 움직임 보상 정보를 수정하는 데이터 처리 시스템과 데이터 처리 방법
KR101950476B1 (ko) * 2017-04-25 2019-04-29 만도헬라일렉트로닉스(주) 운전자 상태 감지 시스템, 운전자 상태 감지 방법 및 운전자 감지 시스템을 장착한 차량
CN114399034B (zh) * 2021-12-30 2023-05-02 北京奕斯伟计算技术股份有限公司 用于直接存储器访问装置的数据搬运方法
CN114330691B (zh) * 2021-12-30 2023-08-29 北京奕斯伟计算技术股份有限公司 用于直接存储器访问装置的数据搬运方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186524A (ja) * 1999-12-27 2001-07-06 Sanyo Electric Co Ltd ビデオ信号復号装置
KR100843196B1 (ko) * 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
JP2007258882A (ja) 2006-03-22 2007-10-04 Matsushita Electric Ind Co Ltd 画像復号装置
JP4647558B2 (ja) * 2006-07-27 2011-03-09 日本電信電話株式会社 映像符号化並列処理方法,映像符号化装置,映像符号化プログラムおよびその記録媒体
JP4789200B2 (ja) * 2006-08-07 2011-10-12 ルネサスエレクトロニクス株式会社 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路

Also Published As

Publication number Publication date
US8483279B2 (en) 2013-07-09
US20110013696A1 (en) 2011-01-20
JP2011023995A (ja) 2011-02-03

Similar Documents

Publication Publication Date Title
JP5253312B2 (ja) 動画像処理装置およびその動作方法
JP6281851B2 (ja) 画像復号化装置、画像符号化装置、画像復号化方法、画像符号化方法、プログラムおよび集積回路
JP5390773B2 (ja) オーバーラップスムージングおよびインループデブロッキングの区分的な処理
JP4789200B2 (ja) 動画符号化と動画復号とのいずれかを実行する機能モジュールおよびそれを含む半導体集積回路
US8208541B2 (en) Motion estimation device, motion estimation method, motion estimation integrated circuit, and picture coding device
US10986373B2 (en) Moving image encoding method, moving image decoding method, moving image encoding device, and moving image decoding device
KR100772379B1 (ko) 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
JP2008529412A (ja) 中間ループフィルタデータを格納するスクラッチパッド
US9800874B2 (en) Image decoding apparatus executing successive tile decoding and filtering around tile boundary
KR101274112B1 (ko) 영상 부호화 장치
JP2007293533A (ja) プロセッサシステム及びデータ転送方法
JP4625096B2 (ja) 復号化回路、復号化装置、及び復号化システム
JP2007180723A (ja) 画像処理装置及び画像処理方法
JP2014078891A (ja) 画像処理装置、画像処理方法
JP2007258882A (ja) 画像復号装置
JP2006340211A (ja) 動き補償予測装置
JP2009130599A (ja) 動画像復号装置
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2008182471A (ja) 演算装置
JP2008054126A (ja) 映像信号処理装置及び方法、並びに映像信号復号装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120423

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130416

R150 Certificate of patent or registration of utility model

Ref document number: 5253312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350