JP4982907B2 - 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構 - Google Patents

1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構 Download PDF

Info

Publication number
JP4982907B2
JP4982907B2 JP2010272208A JP2010272208A JP4982907B2 JP 4982907 B2 JP4982907 B2 JP 4982907B2 JP 2010272208 A JP2010272208 A JP 2010272208A JP 2010272208 A JP2010272208 A JP 2010272208A JP 4982907 B2 JP4982907 B2 JP 4982907B2
Authority
JP
Japan
Prior art keywords
pixel
color difference
stored
ram
rectangular area
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
JP2010272208A
Other languages
English (en)
Other versions
JP2011050113A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2010272208A priority Critical patent/JP4982907B2/ja
Publication of JP2011050113A publication Critical patent/JP2011050113A/ja
Application granted granted Critical
Publication of JP4982907B2 publication Critical patent/JP4982907B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、動画像を動き予測する動き予測機構に関し、特に動き予測の際における画像の抽出方法に関する。
電気通信に関する国際標準化機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)のVCEG(Video Coding Experts Group)とISO/IECのMPEG(Moving Picture Expetrts Group)によって、動画像符号化の最新国際標準としてH.264が開発され、実用化されている。
H.264は、MPEG−2やMPEG−4に比べて、同程度の画質で2倍の圧縮を行うことができ、低ビットレートのテレビ会議からHDTV(High Definition Television)までの幅広い用途に適用可能である。
H.264のエンコーダにおいて、動き予測機構(ME(Motion Estimation))、動き補償機構(MC(Motion Compensation))、及びフレームメモリ間で動きを予測すべく画像データの授受が行われる。少ないフレームメモリ容量で効率的に動画圧縮を実行することができるメモリとして例えば特許文献1に開示されたメモリがある。
特開2004−222262号公報
上記した特許文献1は主としてフレームメモリの改良にすぎず、動き予測機構内で用いられる内部メモリに関しては改良されておらず、動き予測機構が比較的簡単な回路構成で高速な動き予測が行えていないという問題点があった。
この発明は上記問題点を解決するためになされたもので、回路構成の簡略化を図りながら高速に動き予測が行える動き予測機構を得ることを目的とする。
この発明に係る請求項1記載の1/4画素色差用動き予測機構は、所定の画像領域における整数画素精度の色差データを分割して、格納色差データ単位に格納する第1所定数の色差用記憶部と、前記第1所定数の色差用記憶部から読み出される前記格納色差データの組合せから、1/4画素精度の基準位置情報に基づき演算処理を行い、1/4画素精度の所定の色差用演算後基準領域を予測結果色差データとして生成する色差用1/4画素生成部とを備え、前記第1所定数の色差用記憶部において、水平方向に隣接する前記格納色差データが第1の数分画素を重複させながら格納され、垂直方向に第2の数分連続して隣接する前記格納色差データが前記第1所定数の色差用記憶部間で異なるように格納される。
この発明に係る請求項2記載の1/4画素輝度・色差用動き予測機構は、所定の画像領域における整数画素精度の輝度データ及び色差データを分割して、格納輝度データ及び格納色差データ単位にそれぞれ格納する第1所定数の1/4画素探索用記憶部、前記第1所定数の1/4画素探索用記憶部から読み出される前記格納輝度データの組合せに基づき、所定の演算処理を実行することにより、水平方向及び垂直方向共に1/4画素精度で所定の輝度用演算後基準領域を取得して動き予測を行い予測結果輝度データを得るとともに、前記第1所定数の1/4画素探索用記憶部から読み出される前記格納色差データの組合せに基づき、前記予測結果輝度データの1/4画素精度の位置情報に対応して、1/4画素精度の所定の色差用演算後基準領域を予測結果色差データとして生成する、1/4画素動き予測部とを備え、前記第1所定数の1/4画素探索用記憶部において、水平方向に隣接する前記格納輝度データが第1の数分画素を重複させながら格納され、垂直方向に第2の数分連続して隣接する前記格納輝度データが前記第1所定数の1/4画素用記憶部間で異なるように格納され、水平方向に隣接する前記格納色差データ及び垂直方向に第3の数分連続して隣接する前記格納色差データが、前記第1所定数の1/4画素探索用記憶部間で異なるように格納される。
この発明に係る請求項1記載の1/4画素色差用動き予測機構の第1所定数の色差用記憶部において、他方方向に隣接する格納色差データが第1の数分画素を重複させながら格納され、一方方向に第2の数分連続して隣接する格納色差データが第1所定数の色差用記憶部間で異なるように格納される。
したがって、第1所定数の色差用記憶部から読み出される格納色差データの組合せから演算して得られる色差用演算後基準領域を、所定の画像領域における任意の位置で効率的に得ることができる。
その結果、色差用1/4画素生成部は、色差用演算後基準領域の取得処理の効率化に伴い色差データに対する1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した効率化によって、色差用1/4画素生成部の演算処理負担の軽減を図ることができる分、回路構成の軽減化を図ることができる。
この発明に係る請求項2記載の1/4画素輝度・色差用動き予測機構の第1所定数の1/4画素探索用記憶部において、水平方向に隣接する格納輝度データが第1の数分画素を重複させながら格納され、垂直方向に第2の数分連続して隣接する格納輝度データが第1所定数の1/4画素用記憶部間で異なるように格納され、水平方向に隣接する格納色差データ及び垂直方向に第3の数分連続して隣接する格納色差データが、第1所定数の1/4画素探索用記憶部間で異なるように格納される。
したがって、第1所定数の1/4画素探索用記憶部から読み出される格納輝度データ及び格納色差データの組合せから演算して得られる輝度用演算後基準領域及び色差用演算後基準領域を、所定の画像領域における任意の位置でそれぞれ効率的に得ることができる。
その結果、輝度用演算後基準領域及び色差用演算後基準領域の取得処理の効率化に伴い1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した効率化によって、1/4画素動き予測部の演算処理負担の軽減を図ることができる分、回路構成の軽減化を図ることができる。
この発明の実施の形態1である動き予測機構及びその周辺の構成を示すブロック図である。 図1のRAM_HIMEが格納する元画像領域を模式的に示す説明図である。 動き予測に用いられる輝度データの取得矩形領域例を示す説明図である。 8×4の抽出矩形領域の抽出状況を示す説明図である。 RAM_HIMEの具体的格納例を模式的に示す説明図である。 16×2の抽出矩形領域の抽出状況を示す説明図である。 16×16のマクロブロック抽出例(その1)を模試的に示す説明図である。 16×16のマクロブロック抽出例(その2)を模試的に示す説明図である。 図1のRAM_HMEYが格納する元画像領域を模式的に示す説明図である。 16×1の抽出矩形領域の抽出状況を示す説明図である。 輝度用1/4画素生成処理におけるQPGの整数画素読み出し内容を模式的に示す説明図である。 QPGの処理内容を模式的に示す説明図である。 1/2補間画素生成内容例を示す説明図である。 図1のRAM_HSMEが格納する元画素領域を模式的に示す説明図である。 動き予測に用いられる輝度データの取得矩形領域例を示す説明図である。 8×4の演算矩形領域の抽出状況を示す説明図である。 図1のSMEによる抽出矩形領域の算出方法を示す説明図である。 図1のRAM_HMECが格納する元画素領域を模式的に示す説明図である。 RAM_HMECの格納領域を模式的に示す説明図である。 5×5の演算矩形領域の抽出状況を示す説明図である。 QPGによるbi-linar filterの処理内容を模式的に示す説明図である。 この発明の実施の形態2である動き予測機構及びその周辺の構成を示すブロック図である。 図22のRAM_HMEが格納する元画素領域を模式的に示す説明図である。 動き予測に用いられる輝度データの取得矩形領域例を示す説明図である。 RAM_HIMEの輝度データ格納領域を模式的に示す説明図である。 8×4の抽出矩形領域の抽出状況を示す説明図である。 図22のMEによる1/4画素精度の8×4の抽出矩形領域の算出処理説明用の説明図である。 RAM_HMEが格納するU用及びV用の元画素領域を模式的に示す説明図である。 RAM_HMEの色差データの格納領域を模式的に示す説明図である。 5×5のU演算矩形領域及びV演算矩形領域の抽出状況を示す説明図である。 MEによるbi-linar filterの処理内容を模式的に示す説明図である。
<実施の形態1>
(全体構成)
図1はこの発明の実施の形態1である動き予測機構及びその周辺の構成を示すブロック図である。同図に示すように、組合せ輝度・色差用動き予測機構であるME2はSDRAM1より輝度データD1及び色差データD2を受け、動き予測結果として輝度・色差データD3をMC3に出力する。なお、H.264のエンコーダにおいて、SDRAM1のフレームメモリに相当し、ME2は動き予測機構に相当し、MC3は動き補償機構に相当する。
ME2はRAM_HIME(H.264 Integer pel Motion Estimation)21、RAM_HMEY(H.264 Motion Estimation Y)22、RAM_HSME(H.264 Sub pel Motion Estimation)23、RAM_HMEC(H.264 Motion Estimation Chroma)24、IME(Integer pel Motion Estimation)11、QPG(Quater Pixel Generator)12、SME(Sub pel Motion Estimation)13及びQPG14より構成される。
SDRAM1は整数画素精度の輝度データD1及び色差データD2を格納しており、輝度データに対する整数動き予測用SRAM(整数画素探索用記憶部)であるRAM_HIME21は、SDRAM1より整数画素の輝度データD1を後述する条件を満足して格納する。輝度データに対する整数画素動き予測部であるIME11は、RAM_HIME21に格納された輝度データを用いて、整数画素探索処理を行って整数画素精度で予測し、予測結果輝度データの基準位置を示す基準位置信号S11をSME13に出力する。
輝度データに対する1/4画素探索用の整数画素記憶SRAM(輝度用一時記憶部)であるRAM_HMEY22は、SDRAM1より輝度データD1を後述する条件を満足して格納する。輝度用1/4画素生成部であるQPG12はRAM_HMEY22に格納された輝度データを用いて、後述する輝度用1/4画素生成処理を行って整数画素データに(水平方向,垂直方向,斜め方向)1/2画素データ及び(垂直方向)1/4画素データが加味された一部1/4画素輝度データS12をRAM_HSME23に出力する。
一部1/4画素記憶用SRAM(1/4画素探索用記憶部)であるRAM_HSME23は、一部1/4画素輝度データS12を後述する条件を満足して格納する。輝度データに対する1/4画素動き予測部であるSME13は、基準位置信号S11によって指示された基準位置から水平方向及び垂直方向に{−0.75〜+0.75}の範囲で、1/4画素精度の画素探索を行う。すなわち、SME13は、RAM_HSME23に格納された一部1/4画素輝度データS12を用いて、後述する1/4画素探索処理を行って1/4画素単位の探索結果である輝度データS13(予測結果輝度データ)を出力するとともに、輝度データS13の1/4画素単位の基準位置を指示する基準位置信号S13p(基準位置情報)をQPG14に出力する。
色差データに対する動き予測用のSRAM(色差用記憶部)であるRAM_HMEC24は、SDRAM1より整数画素の色差データD2を後述する条件を満足して格納する。色差用1/4画素生成部であるQPG14は、RAM_HMEC24に格納された色差データを用いて、基準位置信号S13pを基準として後述する色差用1/4画素生成処理を行って、輝度データS13に対応する1/4画素精度の色差データS14(予測結果色差データ)を生成する。この色差データS14と輝度データS13とが輝度・色差データD3となる。
(輝度データに対する整数画素動き予測機構)
図1で示したRAM_HIME21及びIME11によって、輝度データに対する整数画素動き予測機構を構成する。
(RAM_HIME21,IME11)
図2はRAM_HIME21が格納する元画像領域30を模式的に示す説明図である。同図において、n(pixel)×m(line)の元画像領域30(所定の画像領域)における任意の8(pixel)×4(line)の抽出矩形領域42(所定の基準抽出領域)が抽出可能に格納される。図2ではn=40,m=40の場合を示している。
図3は動き予測に用いられる輝度データの整数画素(位置)精度の取得矩形領域例を示す説明図である。同図(a) に示すように、2つの8×4の抽出矩形領域42よって8×8の矩形領域31を取得したり、同図(b) に示すように、4つの抽出矩形領域42よって8×16の矩形領域32を取得したり、同図(c) に示すように、4つの抽出矩形領域42よって16×8の矩形領域33を取得したり、同図(d) に示すように、8つの抽出矩形領域42によって16×16の矩形領域34を取得することができる。
RAM_HIME21は4枚のRAM_HIME21a〜21dから構成され、以下の条件を満足するように輝度データD1を格納する。なお、SDRAM1からは、8(pixel)×2(line)単位で輝度データD1が読み出されることを前提としている。以下では、RAM_HIME21a〜21dの一を代表させてRAM_HIME21xと表記する。
(1) RAM_HIME21xの1アドレス当たりの格納輝度データの格納単位は8×2である。
(2) 縦横方向に隣接する8×2の格納輝度データは、RAM_HIME21a〜21d間で異なるように格納される。
(3) 横方向に4連続隣接する8×2の格納輝度データは、RAM_HIME21a〜21d間で異なるように格納される。
(4) 読み出しは元画像領域30全てのデータが、SDRAM1からRAM_HIME21a〜21dに格納された後に行う。
(5) 読み出しは4枚のRAM_HIME21a〜21dに対し同時に行い、1サイクル(1回の読み出し)で16×4あるいは、32×2の読み出し矩形領域を得る。
(6)16×4の読み出し矩形領域に対し、8×4の矩形領域を抽出矩形領域として抽出する。
(7)32×2の読み出し矩形領域に対し、16×2の矩形領域を抽出矩形領域として抽出する。
図4は8×4の抽出矩形領域の抽出状況を示す説明図である。同図(a) に示すように、RAM_HIME21a〜21dから読み出し輝度データD21〜D24が得られる。その結果、上記条件(2)を満足するため、同図(b) に示すように、読み出し輝度データD21〜D24によって16×4の読み出し矩形領域41を得ることができる。そして、同図(c) に示すように、読み出し矩形領域41内の任意の8×4の矩形領域を抽出矩形領域42として抽出することができる。
図5はRAM_HIME21xの具体的格納例を模式的に示す説明図である。図5において、輝度データ「Yij_k」の「i」は8pixel単位の水平位置を示し、「j」は8line単位の垂直位置を示し、「k」は2line単位のライン位置を示している。同図(a) に示すように、元画像領域30は40×40の整数画素領域を有している。一方、同図(b) に示すように、RAM_HIME21a〜21d間は1アドレス当たり8×2単位で輝度データを記憶し、元画像領域30内において、上記条件(2)及び条件(3)を満足することにより、1回の読み出し動作によって8×2単位で16×4及び32×2の矩形領域が抽出可能なように、RAM_HIME21a〜21d内に分散して輝度データD1が格納されている。なお、1pixel当たり8ビット割り当てられているため、同図(b) に示すように、1アドレス当たり128ビット(=8×8×2)の容量が割り当てられる。
例えば、図5(a) に示すように、抽出矩形領域42を得るための読み出し矩形領域41(Y10_3,Y20_3,Y11_0,Y21_0)を選択する場合、RAM_HIME21aはアドレス11番に「Y20_3」が格納され、RAM_HIME21bのアドレス2番に「Y11_0」が格納され、RAM_HIME21cはアドレス12番に「Y21_0」が格納され、RAM_HIME21dのアドレス1番に「Y10_3」が格納されているため、RAM_HIME21a〜21dそれぞれから上記アドレスの8×2の輝度データを読み出すことにより、16×4の読み出し矩形領域41を得ることができる。その結果、読み出し矩形領域41から任意の8×4の抽出矩形領域42を抽出することができる。
図6は16×2の抽出矩形領域の抽出状況を示す説明図である。同図(a) に示すように、RAM_HIME21a〜21dから読み出し輝度データD21〜D24が得られる。その結果、上記条件(3)を満足するため、同図(b) に示すように、読み出し輝度データD21〜D24によって32×2の読み出し矩形領域43を得ることができる。そして、同図(c) に示すように、読み出し矩形領域43内の任意の16×2の矩形領域を抽出矩形領域44として抽出することができる。
図7は16×16のマクロブロック抽出例(その1)を模試的に示す説明図である。なお、同図の説明する前提として、図4で示した抽出矩形領域42の抽出処理をメイン抽出処理、図6で示した抽出矩形領域44の抽出処理をサブ抽出処理とする。
同図に示すように、矩形領域34aの先頭ライン位置ppが、RAM_HIME21x内の1アドレスに記憶された2ライン分の輝度データの最初の1ライン位置p1と一致する場合、必ず、8個の抽出矩形領域42よって16×16の矩形領域34aを得ることができるため、8回のメイン抽出処理により8サイクルで読み出すことができる。
図8は16×16のマクロブロック抽出例(その2)を模試的に示す説明図である。同図に示すように、矩形領域34bの先頭ライン位置ppが、RAM_HIME21x内の1アドレスに記憶された2ライン分の輝度データの2番目1ライン位置p2と一致する場合、16×16の矩形領域34aは8回のメイン抽出処理に加え、1回のサブ抽出処理による9サイクルで読み出す必要がある。
このように、RAM_HIME21xからは任意の8×4の抽出矩形領域を1〜2サイクルで読み出すことができ、16×16のマクロブロックを8〜9サイクルで読み出すことができる。その結果、後段のIME11は、探索画素位置を整数単位に変化させながら高速に16×16のマクロブロックを読み出すことにより、高速に動き予測が行える。なお、IME11による動き予測自体は既存の方法で行われ、その予測結果である整数画素精度の基準位置信号S11がSME13に出力される。また、実際の動き予測自体は16×16のマクロブロック内の8×8の整数画素単位で行われるが、本願発明の特徴との関連性は希薄なため、詳細な説明は省略する。
上述のように、RAM_HIME21及びIME11から構成される整数画素動き予測機構において、4枚のRAM_HIME21a〜21dは上記条件(1)〜(7)を満足して格納輝度データD1を格納している。
したがって、RAM_HIME21a〜21dから1〜2回の読み出し動作によって読み出された4個の読み出し輝度データD21〜D24の組合せによって、元画像領域30における任意の抽出矩形領域42(44)を抽出可能となり、抽出矩形領域42に関し読み出し効率の向上を図っている。
その結果、IME11は、抽出矩形領域42の抽出処理の効率化に伴い整数画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した読み出し効率の向上によって、IME11の演算処理負担の軽減を図ることができる分、回路構成の簡略化を図ることができる。
(1/4画素輝度用動き予測機構)
図1のRAM_HMEY22、QPG12、RAM_HSME23及びSME13によって、輝度データに対する1/4画素輝度用動き予測機構を構成する。
(RAM_HMEY22)
図9はRAM_HMEY22が格納する元画像領域35を模式的に示す説明図である。同図において、n(pixel)×m(line)の元画像領域35における16(pixel)×1(line)の抽出矩形領域46が抽出可能に格納される。図9ではn=40,m=40の場合を示している。
輝度用一時記憶部であるRAM_HMEY22は2枚のRAM_HMEY22a及び22bから構成され、以下の条件を満足するように輝度データD1を格納する。なお、SDRAM1から8(pixel)×2(line)単位で輝度データD1が読み出されることを前提としている。また、RAM_HMEY22a及び22bの一を代表させてRAM_HMEY22xと表記する。
(1) RAM_HMEY22xの1アドレス当たりの格納輝度データの格納単位は16×1である。
(2) SDRAM1から読み出される8×2の輝度データを、2つの8×1の輝度データに分割してRAM_HMEY22a及び22bにそれぞれ同時に書き込む。
(3) 横方向に隣接する16×1の格納輝度データは、RAM_HMEY22a及び22b間で異なるように格納される。
(4) 読み出しは元画像領域35全てのデータが、SDRAM1からRAM_HMEY22a及び22bに格納された後に行う 。
(5) 読み出しは2枚のRAM_HMEY22a及び22bに対し同時に行い、1サイクルで32×1の読み出し矩形領域を得る。
(6) 32×1の読み出し矩形領域に対し、16×1の矩形領域を抽出矩形領域として抽出する。
図10は16×1の抽出矩形領域の抽出状況を示す説明図である。同図(a) に示すように、RAM_HMEY22a及び22bから読み出し輝度データD25及びD26が得られる。その結果、上記条件(3)を満足するため、同図(b) に示すように、1回の読み出し動作によって、読み出し輝度データD25及びD26によって32×1の読み出し矩形領域45を得ることができる。そして、同図(c) に示すように、読み出し矩形領域45内の任意の16×1の矩形領域を抽出矩形領域46として抽出することができる。
(輝度用1/4画素生成処理(QPG12))
図11は輝度用1/4画素生成処理におけるQPG12の整数画素読み出し内容を模式的に示す説明図である。同図(a) に示すRAM_HMEY22に格納された40×40の元画像領域35から、同図(a) ,(b) に示すように、抽出矩形領域46の水平位置を8または9(pixel)毎にずらせながら、0〜39(line)にかけて整数画素を順次読み出し、QPG12は、1/4画素演算領域36から1/4画素生成領域37内の整数画素に1/2補間画素62及び垂直方向の1/4補間画素64を加えた一部1/4画素輝度データS12を生成する。
図12はQPG12の処理内容を模式的に示す説明図である。同図(a) に示すように、RAM_HMEY22より抽出された16×1の抽出矩形領域46の輝度データが、同図(b) に示すように、15×1のリードレジスタ50に格納される。なお、一部1/4画素輝度データS12の生成は水平方向の14〜15pixelの整数画素があれば可能であるため、16×1の抽出矩形領域46のうち15×1が画素データが選択的にリードレジスタ50に格納される構成が示されている。
同図(b) に示すように、リードレジスタ50に格納されたデータは、新たに抽出矩形領域46の輝度データが読み出される毎に15×1のラインバッファ51にシフトされ、以降、新たに抽出矩形領域46の輝度データが読み出される毎に15×1のラインバッファ52〜56の順にシフトされる。したがって、ラインバッファ51〜56(buf0〜buf5)内に垂直方向に隣接した6個の整数画素を格納することができる。
そして、水平方向に隣接する6個の整数画素61によって1つの(水平方向)1/2補間画素62aが得られ(6tap filter)、垂直方向に隣接する6個の整数画素61によって(垂直方向)1/2補間画素62bが得られ(6tap filter)、垂直方向に隣接する6個の1/2補間画素62aによって(ななめ方向)1/2補間画素62cが得られる(6tap filter)。
図13は「6tap filter」による1/2補間画素生成内容例を示す説明図である。同図に示すように、水平方向に隣接する6個の整数画素61a〜61f(I)によって1個の1/2補間画素62a(H)を得ることができ、垂直方向に隣接する6個の整数画素61g〜61l(I)によって1個の1/2補間画素62b(V)を得ることができる。同様にして、垂直方向に隣接する6個の1/2補間画素62a(H)によって1個の1/2補間画素62c(S)を得ることができる。
図12に戻って、同図(c) に示すように、垂直方向に隣接する整数画素61(I)及び1/2補間画素62b(V)によって、1/4補間画素64a(iv)あるいは1/4補間画素64c(vi)が得られ(2tap filter)、垂直方向に隣接する1/2補間画素62a(H)及び1/2補間画素62c(S)によって1/4補間画素64b(hs)あるいは1/4補間画素64d(sh)が得られる。なお、QPG12は、次段のRAM_HSME23のメモリ効率を考慮して、1/4補間画素69a〜69hは生成しない。
その結果、1つの整数画素61に対し、3つの1/2補間画素62a〜62cと、4つの1/4補間画素64a〜64dとが追加された一部1/4画素輝度データS12が生成される。
すなわち、0/4lineに対応して14個の整数画素61と13個の1/2補間画素62aとが得られ、1/4lineに対応して14個の1/4補間画素64aと13個の1/4補間画素64bとが得られ、2/4lineに対応して14個の1/2補間画素62bと13個の1/2補間画素62cが得られ、3/4lineに対応して14個の1/4補間画素64cと13個の1/4補間画素64dとが得られる。
0/4〜3/4lineそれぞれにおいて、ラインバッファ51〜56内の格納データに基づく6タップフィルタ処理、2タップフィルタ処理によって、27pixel分の情報が得られる。ただし、1/2補間画素62a、1/4補間画素64b、1/2補間画素62c及び1/4補間画素64dは1/6補間により求まるため、有効に求まるpixel数は7〜8画素に留まる。
上述のように求められた27pixelまたは29pixelの輝度データは、書き込み輝度データD11、書き込み輝度データD12として、異なる2つのRAM_HSME23に区分されて書き込まれる。
(RAM_HSME23)
RAM_HSME23は、8枚のRAM_HSME23a〜23hで構成され、QPG12より生成される一部1/4画素輝度データS12を1/4画素単位で縦方向4lineと横方向16pixelとが、RAM_HSME23a〜23h間で異なるように格納する。
図14はRAM_HSME23が格納する元画素領域(元画像領域)70を模式的に示す説明図である。同図において、n*2(pixel)×m*4(line)の元画素領域70における16(pixel)×4(line)の演算用抽出矩形領域47(輝度データ演算用抽出領域)が抽出可能に格納される。この演算用抽出矩形領域47から後述する水平方向1/4画素生成処理後に1/4画素単位精度の位置で、8×4の演算後矩形領域48(輝度用演算後基準領域)を得ることができる。
図15は1/4画素精度の動き予測に用いられる輝度データの取得矩形領域例を示す説明図である。同図(a) に示すように、2つの演算後矩形領域48よって8×8の矩形領域71を取得したり、同図(b) に示すように、4つの演算後矩形領域48よって8×16の矩形領域72を取得したり、同図(c) に示すように、4つの演算後矩形領域48よって16×8の矩形領域73を取得したり、同図(d) に示すように、8つの演算後矩形領域48によって16×16の矩形領域74を取得することが1/4画素の位置精度で行える。
RAM_HSME23は8枚のRAM_HSME23a〜23hから構成され、以下の条件を満足するように、格納される。なお、RAM_HSME23a〜23hの一を代表させてRAM_HSME23xと表記する。
(1) RAM_HSME23xの1アドレス当たりの格納一部1/4画素輝度データの格納単位は16×1である。格納するラインは次の4種類であり(図12(c) 参照)、一括りで格納する。
0/4line:整数画素(I)及び水平1/2画素(H)
1/4line:1/4画素(iv)及び1/4画素(hs)
2/4line:垂直1/2画素(V)及び斜め1/2画素(S)
3/4line:1/4画素(vi)及び1/4画素(sh)
(2) 書き込みは27×1または29×1ずつ2〜3分割して、2〜3枚のRAM_HSME23xに対し同時に行う(2つのRAM_HSME23xで最大32×1格納できる)。
(3) 横方向に隣接する16×1の格納一部1/4画素輝度データは、RAM_HSME23a〜23h間で異なるように格納される。
(4) 縦方向に整数画素単位に4隣接する16×1の格納一部1/4画素輝度データは、RAM_HSME23a〜23h間で異なるように格納される。
(5) 読み出しは元画素領域70全てのデータが、RAM_HSME23a〜23hに格納された後に行う。
(6) 読み出しは8枚のRAM_HSME23a〜23hに対し同時に行い、1サイクルで1/4画素位置精度で32×4の読み出し矩形領域を得る。
(7)32×4の読み出し矩形領域を用いて得られる、16×4の矩形領域を1/4画素単位の演算用抽出矩形領域47として抽出する。
(8)16×4の演算用抽出矩形領域47に対し、所定の演算処理である水平方向1/2補間演算(2tap filter)を行い、一部1/4画素輝度データS12をさらに水平方向に1/4画素補間した後、水平方向及び垂直方向の位置精度が1/4画素精度の8×4の矩形領域を演算後矩形領域48として得る。
図16は8×4の演算矩形領域の抽出状況を示す説明図である。同図(a) に示すように、RAM_HSME23a〜23hから読み出し輝度データD31〜D38が得られる。その結果、上記条件(1),(3),(4)を満足するため、同図(b) に示すように、読み出し輝度データD31〜D38によって32×4の読み出し矩形領域58を得ることができる。そして、同図(c) に示すように、読み出し矩形領域58内の任意の16×4の矩形領域を演算用抽出矩形領域47として抽出することができる。さらに、同図(d) に示すように、演算用抽出矩形領域47の輝度データを用いて水平方向2タップフィルタ処理を行って8×4の演算後矩形領域48を得ることができる。
図17はSME13による演算後矩形領域48の算出方法を示す説明図である。同図において、0/4lineの演算用抽出矩形領域47が得られた場合を仮定する。この場合、演算用抽出矩形領域47は整数画素61(I)と1/2補間画素62a(H)のみによる16×4の構成を採る。すなわち、8個の整数画素61と8個の1/2補間画素62aとからなる計16個の画素の4line分が演算用抽出矩形領域47となる。
そして、演算用抽出矩形領域47から、水平方向1/4lineの1/4補間画素69a(「ih」図12参照)による演算後矩形領域48を得る場合を仮定する。この場合、4lineそれぞれにおいて、整数画素61と整数画素61の右側に位置する1/2補間画素62aとの組(8組)それぞれにおいて、1/2補間を行うことにより8個の1/4補間画素69aを得ることができ、最終的に8×4の1/4補間画素69aからなる演算後矩形領域48を得ることができる。
SME13は演算後矩形領域48に基づき1/4画素精度の動き予測を行い、最終的に予測結果として得られた演算後矩形領域48を規定する輝度データS13をMC3に出力するとともに、予測結果として得られた演算後矩形領域48の1/4画素精度の基準位置を示す基準位置信号S13pをQPG14に出力する。
RAM_HMEY22、QPG12、RAM_HSME23及びSME13からなる1/4画素輝度用動き予測機構において、8枚のRAM_HSME23a〜23hは、上記した条件(1)〜(8)を満足して格納1/4画素輝度データを格納している。
したがって、RAM_HSME23a〜23hから、1回の読み出し動作によって読み出された8個の読み出し輝度データD31〜D38の組合せによって、元画素領域70における任意の演算後矩形領域48が演算可能な演算用抽出矩形領域47を抽出可能になり、演算後矩形領域48の取得処理の効率化を図っている。
その結果、SME13は、演算後矩形領域48の取得処理の効率化に伴い1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した効率化によって、SME13の演算処理負担の軽減を図ることができる分、回路構成の簡略化を図ることができる。
上述したように、ME2は、RAM_HIME21及びIME11からなる整数画素動き予測機構と、RAM_HMEY22、QPG12、RAM_HSME23及びSME13からなる1/4画素輝度用動き予測機構とからなる組合せ輝度用動き予測機構を含んでいる。
したがって、SME13は基準位置信号S11で指示される整数画素単位の基準位置を基点として1/4画素精度の動き予測を行うことができるため、回路構成の軽減化を図りながら、1/4画素精度の輝度データに基づく動き予測をより高速に行うことができる。
(1/4画素色差用動き予測機構)
RAM_HMEC24及びQPG14によって、1/4画素色差用動き予測機構を構成する。
(RAM_HMEC24,QPG14)
図18はRAM_HMEC24が格納する元画素領域(元画像領域)38U及び元画素領域(元画像領域)38Vを模式的に示す説明図である。同図(a) において、n(pixel)×m(line)の元画素領域38Uにおける5(pixel)×5(line)の演算用矩形領域39U(色差データ演算用抽出領域)が抽出可能に格納される。同様にして、同図(b) において、n(pixel)×m(line)の元画素領域38Vにおける5(pixel)×5(line)の演算用矩形領域39V(色差データ演算用抽出領域)が抽出可能に格納される。図18ではn=40,m=40の場合を示している。
図19はRAM_HMEC24の格納領域を模式的に示す説明図である。同図に示すように、水平方向の色差画素(U,V)を4画素毎ずらしながら、U,V共に8pixel分を1アドレスに格納する。
図19(a) に示すように、格納領域area(0)は水平位置0〜7pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて1アドレスに格納する。図19(b) に示すように、格納領域area(1)は水平位置4〜11pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて1アドレスに格納する。図19(c) に示すように、格納領域area(2)は水平位置8〜15pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて1アドレスに格納する。以降、同様にして、図19(d) に示すように、格納領域area(k)は水平位置(k×4)〜{(k×4)+7}pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて1アドレスに格納する。図18の元画素領域38U及び元画素領域38Vが20×20(n=20,m=20)の場合、図19(d) においてk=4となる。
RAM_HMEC24は5枚のRAM_HMEC24a〜24eから構成され、格納領域area(i(i=1〜kのいずれか))において、垂直方向に連続する5lineの色差画素は必ずRAM_HMEC24a〜24e間で分散するように色差データD2を格納する。
そして、5枚のRAM_HMEC24a〜24eは、以下の条件を満足するように、色差データD2を格納する。なお、RAM_HMEC24a〜24eの一を代表させてRAM_HMEC24xと表記する。
(1) RAM_HMEC24xの1アドレス当たりの格納単位は16×1(2×(8×1))である。格納する色差画素はU,Vそれぞれ8画素分である。すなわち、U,Vそれぞれについて格納色差データの格納単位は8×1である。
(2) U,Vそれぞれに於ける格納色差データは横方向に4画素分重複させながら、U,V共に8pixel分を1アドレスに格納する。
(3) 縦方向に5隣接する16×1(2×(8×1))の色差データ(U,Vそれぞれに於ける8×1の格納色差データ)は、RAM_HMEC24a〜24e間で異なるように格納される。
(4) 読み出しは元画素領域38U及び元画素領域38V全てのデータが、SDRAM1からRAM_HMEC24a〜24eに格納された後に行う。
(5) 読み出しは5枚のRAM_HMEC24a〜24eに対し同時に行い、1サイクルで16(8+8)×5の読み出し矩形領域を得る。
(6) 読み出した(8+8)×5の読み出し矩形領域から(5+5)×5の演算用矩形領域39U及び演算用矩形領域39Vを得る。
(7) (5+5)×5の演算用矩形領域39U及び演算用矩形領域39Vに対し、2次元線形補間処理(bi-linear filter)をかけて1/4画素精度の(4+4)×4の演算後矩形領域40U及び演算後矩形領域40V(色差用演算後基準領域)を抽出する。
なお、色差画素は輝度画素に対して半分の情報量なので処理時間に余裕がある場合は、RAM_HMEC24a〜24eに代えて1枚のRAM_HMEC24tの構成を採用することにより、RAM_HMEC24に関しSRAM枚数を削減を図ることができる。
RAM_HMEC24を1枚のRAM_HMEC24tで構成する場合、上述したRAM_HMEC24a〜24eの条件(1)における「RAM_HMEC24x」は「1枚のRAM_HMEC24t」に置き換わり、条件(3)は不要となり、条件(4)の「RAM_HMEC24a〜24e」が「1枚のRAM_HMEC24t」に置き換わる。
そして、条件(5)は「読み出しは1枚のRAM_HMEC24tに対し行い、5サイクルで16(8+8)×5の読み出し矩形領域を得る。」となる。他の条件は上述した条件と同様である。
図20は5×5の演算矩形領域の抽出状況を示す説明図である。同図(a) に示すように、RAM_HMEC24xから読み出し色差データD27が得られる。その結果、上記条件(2),(3)を満足するため、同図(b) に示すように、RAM_HMEC24a〜24eそれぞれの読み出し色差データD27によって任意の(8+8)×5の読み出し矩形領域(図20では1line分のみ示す)を得ることができる。なお、1枚のRAM_HMEC24tから読み出す場合は読み出し色差データD27を5サイクルかけて読み出すことにより、任意の(8+8)×5の読み出し矩形領域を得ることができる。
そして、同図(c) に示すように、同図(b) の読み出し矩形領域内の任意の(5+5)×5の演算用矩形領域39U及び演算用矩形領域39Vとなる抽出矩形領域49を抽出することができる(図20では1line分のみ示す)。抽出矩形領域49は抽出矩形領域49u及び抽出矩形領域49vから構成され、抽出矩形領域49uの5line分で演算用矩形領域39Uが構成され、抽出矩形領域49vの5line分で演算用矩形領域39Vが構成されることになる。
図21はQPG14による演算処理である2次元線形補間処理(bi-linear filter)の処理内容を模式的に示す説明図である。QPG14はSME13より1/4画素精度の基準位置信号S13pを受け、基準位置信号S13pに対応する4×4の演算後矩形領域40U及び演算後矩形領域40Vの算出が可能な演算用矩形領域39U及び演算用矩形領域39Vを抽出する。
図21(a) に示すように、演算用矩形領域39U内の5×5のU整数画素65において、4つのU整数画素65から補間して一のU補間画素67を算出することにより、4×4のU補間画素67からなる演算後矩形領域40Uを得ることができる。なお、基準位置信号S13pに応じて4つのU整数画素65の補間計算用の重み付けが適宜変更される。
図21(b) に示すように、演算用矩形領域39V内の5×5のV整数画素66において、4つのV整数画素66から補間して一のV補間画素68を算出することにより、4×4のV補間画素68からなる演算後矩形領域40Vを得ることができる。なお、基準位置信号S13pに応じて4つのV整数画素66の補間計算用の重み付けが適宜変更される。
このようにして得られた演算後矩形領域40U及び演算後矩形領域40VのU補間画素67及びV補間画素68を規定したデータが色差データS14として出力される。
上述のように、RAM_HMEC24及びQPG14からなる1/4画素色差用動き予測機構において、5枚のRAM_HMEC24a〜24eは、上記した条件(1)〜(7)を満足して格納色差データを格納している。
したがって、RAM_HMEC24a〜24eから1回の読み出し動作によって読み出された5個の読み出し色差データD27の組合せによって、元画素領域38U及び元画素領域38Vにおける任意の演算後矩形領域40U及び演算後矩形領域40Vの演算による取得に関し効率化を図っている。
その結果、QPG14は、演算後矩形領域40U及び演算後矩形領域40Vの取得の効率化に伴い1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した効率化によって、QPG14の演算処理負担の軽減を図ることができる分、回路構成の簡略化を図ることができる。
また、RAM_HMEC24を1枚のRAM_HMEC24tで実現する構成を採用した場合、色差画素の処理時間に余裕がある環境下においては、RAM枚数の削減を図り、かつ、効率的な1/4画素精度の動き予測が行える効果を奏する。
したがって、実施の形態1のME2は、RAM_HIME21及びIME11からなる整数画素動き予測機構と、RAM_HMEY22、QPG12、RAM_HSME23及びSME13からなる1/4画素輝度用動き予測機構と、RAM_HMEC24及びQPG14からなる1/4画素色差用動き予測機構とから構成されるため、上述したように、回路構成の軽減化を図りながら、1/4画素精度の輝度データ及び色差データに基づく動き予測をより高速に行い、1/4画素の位置精度で輝度データS13及び色差データS14からなる、予測結果である輝度・色差データD3を高速に出力することができる効果を奏する。
この際、記憶部であるRAM_HIME21、RAM_HMEY22、RAM_HSME23及びRAM_HMEC24それぞれについて、上述した格納条件を満足するように輝度データあるいは色差データD2を格納することにより、必要最小限のSRAM枚数にし、かつ、演算部であるIME11、QPG12、SME13及びQPG14の演算機能を用途(輝度データ探索(整数画素精度、1/4画素精度)、色差データ探索)に応じて適宜分散させることにより、演算部の回路構成も必要最小限に押させることができるため、比較的安価な構成で実現できる効果を奏する。
(その他)
実施の形態1では、RAM_HIME21及びIME11からなる整数画素動き予測機構、RAM_HMEY22、QPG12、RAM_HSME23及びSME13からなる1/4画素輝度用動き予測機構、並びにRAM_HMEC24及びQPG14からなる1/4画素色差用動き予測機構によって、組合せ輝度・色差用動き予測機構であるME2が構成されている例を示している。これ以外の構成として以下の構成の動き予測機構も考えられる。
実施の形態1ではQPG14は色差データS14を決定する基準位置情報として基準位置信号S13pを用いたが、IME11の予測結果である整数画素精度の輝度データの基準位置を指示する情報を取り込むことにより、整数画素精度の予測結果色差データを得ることもできる。すなわち、上記整数画素動き予測機構と上記1/4画素色差用動き予測機構による整数画素精度の組合せ輝度・色差用動き予測機構を実現することができる。
SME13はIME11からの基準位置信号S11を基点として1/4画素精度の動き予測を行ったが、基準位置信号S11を用いることなく、探索可能な全画像領域において1/4画素精度の動き予測を行う構成も考えられる。すなわち、上記整数画素動き予測機構を省略し、上記1/4画素輝度用動き予測機構と上記1/4画素色差用動き予測機構とによる1/4画素精度の組合せ輝度・色差用動き予測機構を実現することができる。
また、QPG12では垂直方向のみ1/4画素精度の輝度データを含む一部1/4画素輝度データS12を求め、SME13によって水平方向の1/4画素精度の輝度データを所定の演算処理により求める構成を採用したが、水平方向と垂直方向を逆にして、QPG12で水平方向のみ1/4画素精度の輝度データを含む一部1/4画素輝度データS12を求め、SME13によって垂直方向の1/4画素精度の輝度データを所定の演算処理により求める構成も考えられる。
また、RAM_HMEY22とRAM_HMEC24とで互いに共有させることにより、RAM枚数の削減を図ることができる。
<実施の形態2>
(全体構成)
図22はこの発明の実施の形態2である動き予測機構及びその周辺の構成を示すブロック図である。同図に示すように、1/4画素探索用記憶部であるRAM_HME(H.264 Motion Estimation)26はSDRAM4より輝度データD4及び色差データD5を受け、後述する条件を満足して格納する。
整数画素を含む1/4画素精度で動き予測が可能な1/4画素動き予測部であるME5は、RAM_HME26から得られる輝度データD6及び色差データD7を用いて、後述する総合探索処理を行って1/4画素精度の予測結果として輝度・色差データD8(予測結果輝度データ及び予測結果色差データ)を動き補償機構であるMC6に出力する。RAM_HME26及びME5によって1/4画素動き予測機構を構成する。
(輝度データ処理)
図23はRAM_HME26が格納する元画素領域80を模式的に示す説明図である。同図において、nL(pixel)×mL(line)の元画素領域80における14(pixel)×10(line)の読み出し矩形領域91が抽出可能に格納される。この読み出し矩形領域91から後述する垂直方向及び水平方向1/4画素生成処理後に1/4画素単位精度の位置で、8×4の演算後矩形領域60(輝度用演算後基準領域)を得る。図23ではnL=32,mL=32の場合を示している。
図24は動き予測に用いられる輝度データの取得矩形領域例を示す説明図である。同図(a) に示すように、2つの演算後矩形領域60よって8×8の矩形領域81を取得したり、同図(b) に示すように、4つの演算後矩形領域60よって8×16の矩形領域82を取得したり、同図(c) に示すように、4つの演算後矩形領域60よって16×8の矩形領域83を取得したり、同図(d) に示すように、8つの演算後矩形領域60によって16×16の矩形領域84を取得することができる。
図25はRAM_HME26の輝度データ格納領域を模式的に示す説明図である。同図に示すように、水平方向の輝度画素を4画素毎にずらしながら、16pixel分を1アドレスに格納する。
図25(a) に示すように、格納領域areaL(0)は水平位置0〜15pixelの輝度画素を0line〜(mL-1)lineそれぞれについて1アドレスに格納する。図25(b) に示すように、格納領域areaL(1)は水平位置4〜19pixelの輝度画素を0line〜(mL-1)lineそれぞれについて1アドレスに格納する。図25(c) に示すように、格納領域areaL(2)は水平位置8〜23pixelの輝度画素を0line〜(mL-1)lineそれぞれについて1アドレスに格納する。以降、同様にして、図25(d) に示すように、格納領域areaL(k)は水平位置(k×4)〜{(k×4)+15}pixelの輝度画素を0line〜(mL-1)lineそれぞれについて1アドレスに格納する。図23の元画素領域80が32×32(nL=32,mL=32)の場合、図25(d) においてk=4となる。
RAM_HME26は10枚のRAM_HME26a〜26jから構成され、格納領域areaL(i(i=1〜kのいずれか))において、垂直方向に連続する10line(少なくとも9line)の輝度画素は必ずRAM_HME26a〜26j間で分散するように輝度データD4及び色差データD5を格納する。
前述したように、RAM_HME26は10枚のRAM_HME26a〜26jから構成され、以下の条件を満足するように、格納される。なお、RAM_HME26a〜26jの一を代表させてRAM_HME26xと表記する。
(1) RAM_HME26xの1アドレス当たりの格納輝度データの格納単位は16×1である。格納する輝度画素は16画素分である。
(2) 横方向に4画素分重複させながら、格納輝度データの16pixel分を1アドレスに格納する。
(3) 縦方向に10隣接(少なくとも9隣接)する16×1の格納輝度データは、RAM_HME26a〜26j間で異なるように格納される。
(4) 読み出しは元画素領域80全てのデータが、SDRAM4からRAM_HME26a〜26jに格納された後に行う。
(5) 読み出しは10枚のRAM_HME26a〜26jに対し同時に行い、1サイクルで16×10の読み出し矩形領域を得る。
(6) 読み出した16×10の読み出し矩形領域から13×9の演算用矩形領域59を得る。
(7) 13×9の演算用矩形領域59に対し、2tap filter及び6tap filterによる演算を並行して実行し、水平方向及び垂直方向双方における1/4画素精度の8×4の演算後矩形領域60を抽出する。
図26は8×4の演算後矩形領域60の得るための演算処理状況を示す説明図である。同図(a) に示すように、RAM_HME26a〜26jから読み出し輝度データD41〜D50が得られる。その結果、上記条件(2),(3)を満足するため、同図(b) に示すように、RAM_HME26a〜26jそれぞれの読み出し輝度データD41〜D50によって任意の16×10の読み出し矩形領域57を得ることができる。
そして、同図(c) に示すように、同図(b) の読み出し矩形領域57内の任意の13×9の演算用矩形領域59(輝度データ演算用抽出領域)を抽出することができる。演算用矩形領域59内の整数画素データに基づき1/4画素並列演算処理(所定の演算処理)を行うことにより、同図(d) に示すように、1/4画素精度の演算後矩形領域60を得ることができる。
図27はME5による1/4画素精度の8×4の演算後矩形領域60を得るための演算処理内容を示す説明図である。同図に示すように、読み出し輝度データD41〜D50それぞれの14pixel分のデータにより、整数画素61による14×10の読み出し矩形領域91が得られている。なお、8×4の演算後矩形領域60を得るには、最小限、整数画素61による13×9の演算用矩形領域59が得られれば十分であるが、説明の都合上、ここでは読み出し矩形領域91を例に挙げて説明する。
読み出し矩形領域91から任意の8×4において1/4画素精度の演算後矩形領域60を得ることができる。すなわち、以下の補間処理(1/4画素並列演算処理)が実行可能である。
(1):水平方向に隣接する6個の整数画素61による6タップフィルタ処理を行い、(水平方向)1/2補間画素62a(H)を順次得る(6tap filter)。
(2):垂直方向に隣接する6個の整数画素61による6タップフィルタ処理を行い、(垂直方向)1/2補間画素62b(V)を順次得る(6tap filter)。
(3):垂直方向に隣接する6個の1/2補間画素62aによる6タップフィルタ処理を行い、斜め1/2補間画素62c(S)を得る(6tap filter)。
(4):垂直方向に隣接する整数画素61及び1/2補間画素62bによる2タップフィルタ処理を行い、(垂直方向)1/4補間画素64a(iv)及び64c(vi)を得る。
(5):垂直方向に隣接する1/2補間画素62a及び1/2補間画素62cによる2タップフィルタ処理を行い、(垂直方向)1/4補間画素64b(hs)及び64d(sh)を得る。
(6):水平方向に隣接する整数画素61及び1/2補間画素62aによる2タップフィルタ処理を行い、(水平方向)1/4補間画素69a(ih)及び69b(hi)を得る(「ih」,「hi」については図12(c) 参照)。
(7):水平方向に隣接する1/4補間画素64a及び1/4補間画素64bによる2タップフィルタ処理を行い、(水平方向)1/4補間画素69c(vh)及び69d(hv)を得る(「vh」,「hv」については図12(c) 参照)。
(8):水平方向に隣接する1/2補間画素62b及び1/2補間画素62cによる2タップフィルタ処理を行い、(水平方向)1/4補間画素69e(vs)及び69f(sv)を得る(「vs」,「sv」については図12(c) 参照)。
(9):水平方向に隣接する1/4補間画素64c及び1/4補間画素64dによる2タップフィルタ処理を行い、(水平方向)1/4補間画素69g(vh′)及び69h(hv′)を得る(「vh」,「hv」については図12(c) 参照)。
上記処理(1)〜(9)の処理からなる1/4画素並列演算処理は、処理(1) 〜(9)それぞれについて元となるデータが得られ次第、実行可能であるため、かなりの処理(例えば処理(1)と処理(2)とは並列処理可能)が並列に処理することが可能であるため、実施の形態1に比べて高速に演算後矩形領域60を得ることができる。
例えば、整数画素61(I)による8×4の演算後矩形領域60aを得る場合は、演算後矩形領域60a内の整数画素61のみ存在すれば十分であるため、処理(1)〜(9)を実行することなく、読み出し矩形領域91から演算後矩形領域60aを抽出すればよい。
また、1/4補間画素64b(hs)による8×4の演算後矩形領域60bは、処理(1),(3),(5)を実行することにより得ることができる。同様にして、1/4補間画素64c(vi)による8×4の演算後矩形領域60cは、処理(2),(4)を実行することにより得ることができる。
このように、ME5はRAM_HME26に格納された整数画素精度の輝度データD6に基づき、高速に整数画素精度を含む1/4画素精度の演算後矩形領域60を得て、整数画素精度あるいは1/4画素精度で動き予測を行い、整数画素精度あるいは1/4画素精度の予測結果輝度データを得る。
したがって、実施の形態1のように、まず、整数画素精度で動き予測処理を行って整数画素精度の予測結果輝度データの基準位置を検出した後、上記基準位置から−0.75〜+0.75の範囲で1/4画素精度の動き予測処理を行った場合、実施の形態1のME2が輝度データS13を得るよりも早期に、ME5が輝度・色差データD8を構成する1/4画素精度の予測結果輝度データを得ることができる。
なお、ME5は整数画素からなる輝度データD6に基づき、直接、1/4画素精度の動き予測が可能であるため、整数画素精度の動き予測処理を行うことなく、予測当初から1/4画素精度の動き予測処理を行って1/4画素精度の予測結果輝度データを得ることもできる。
上述のように、実施の形態2のME5において、10枚のRAM_HME26a〜26jは、上記した条件(1)〜(9)を満足して格納輝度データを格納する。
したがって、RAM_HME26a〜26jから、1回の読み出し動作によって読み出された読み出し輝度データD41〜D50の組合せによって、元画素領域80における任意の演算後矩形領域60を演算により取得することに関し効率化を図っている。
その結果、演算後矩形領域60の取得処理の効率化に伴い1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した読み出し効率の向上によって、ME5の演算処理負担の軽減を図ることができる分、回路構成の簡略化を図ることができる。
(色差データ処理)
図28はRAM_HME26が格納するU用及びV用の元画素領域85及び86を模式的に示す説明図である。同図において、nC(pixel)×mC(line)の元画素領域85及び86それぞれにおける5(pixel)×5(line)のU演算用矩形領域87及びV演算用矩形領域88(色差データ演算用抽出領域)を抽出可能に格納される。このU演算用矩形領域87及びV演算用矩形領域88から、上述した予測結果輝度データに基づく8×4の演算後矩形領域60に対応するU演算後矩形領域89及びV演算後矩形領域90(色差データ演算後基準領域)を得る。
図29はRAM_HME26の色差データの格納領域を模式的に示す説明図である。同図に示すように、水平方向の色差画素(U,V)を重複させることなく16pixel単位でずらしながら、U,V共に8pixel分を1アドレスに格納する。なお、図29では図25で示したareaL(0)〜areaL(k)と対応させてareaC(0)〜areaC(k)を設定している関係で、areaC(i)の1アドレス当たりの格納量が見かけ上、32pixel分となっているが、実際にはU,V共に8pixel分を1アドレスに格納する。例えば、areaC(0)のアドレス0はRAM_HME26aがU,V共にline0の上位8pixel分(8〜15)を格納し、RAM_HME26bがU,V共にline0の下位8pixel分(0〜7)を格納することになる。
図29(a) に示すように、格納領域areaC(0)は水平位置0〜15pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて、上述したように2つのRAM_HME26間で上位、下位8pixelを分担して1アドレスに格納する。以降、同様にして、図29(b) に示すように、格納領域areaC(k)は水平位置(k×16)〜{(k×16)+15}pixelの色差画素(U,V)をU,V一組として0line〜(m-1)lineそれぞれについて、2つのRAM_HME26間で上位、下位8pixelを分担して1アドレスに格納する。図28の元画素領域85及び86が16×16(nC=16,mC=16)の場合、図29(b) においてk=0となる。
色差データの格納に関し、RAM_HME26xは以下の条件を満足する。
(1) RAM_HME26xの1アドレス当たりの格納単位は16×1(2×(8×1))である。格納する色差画素はU,Vそれぞれ8画素分である。すなわち、U,Vそれぞれについて格納色差データの格納単位は8×1となる。
(2) 横方向に画素重複なく、U,V共に8pixel分を1アドレスに格納する。
(3) 横方向に隣接する16×1(2×(8×1))の色差データ(U,Vそれぞれについて8×1の格納色差データ)は、RAM_HME26a〜26j間で異なるように格納される。
(4) 縦方向に5隣接する16×1(2×(8×1))の色差データ(U,Vそれぞれについて8×1の格納色差データ)は、RAM_HME26a〜26j間で異なるように格納される。
(5) 読み出しは元画素領域85及び86全てのデータが、SDRAM4からRAM_HME26a〜26jに格納された後に行う。
(6) 読み出しは10枚のRAM_HME26a〜26jに対し同時に行い、1サイクルで16(8+8)×5の読み出し矩形領域を得る。
(7) 読み出した(8+8)×5の読み出し矩形領域から(5+5)×5のU演算用矩形領域87及びV演算用矩形領域88を得る。
(8) (5+5)×5のU演算用矩形領域87及びV演算用矩形領域88に対し、bi-linar filterをかけて1/4画素精度の(4+4)×4のU演算後矩形領域89及びV演算後矩形領域90として抽出する。
図30は5×5のU演算用矩形領域87及びV演算用矩形領域88の抽出状況を示す説明図である。同図(a) に示すように、RAM_HME26a〜26jから読み出し色差データD51〜D55が得られる。その結果、上記条件(3),(4)を満足するため、同図(b) に示すように、RAM_HME26a〜26jそれぞれの読み出し色差データD51〜D55によって任意の(16+16)×5の読み出し矩形領域を得ることができる。すなわち、読み出し色差データD51〜D55内のU用読み出し色差データD51u〜D55uによってU用の16×5の読み出し矩形領域が得られ、読み出し色差データD51〜D55内のV用読み出し色差データD51v〜D55vによってV用の16×5の読み出し矩形領域が得られる。
そして、同図(c) に示すように、同図(b) の読み出し矩形領域内の任意の5×5のU演算用矩形領域87及び5×5のV演算用矩形領域88を抽出することができる。
図31はME5による2次元線形補間処理(bi-linear filter)の処理内容を模式的に示す説明図である。同図(a) に示すように、U演算用矩形領域87内の5×5のU整数画素65において、4つのU整数画素65から補間して一のU補間画素67を算出することにより、4×4のU補間画素67からなるU演算後矩形領域89を得ることができる。なお、1/4画素精度の予測結果輝度データにおける演算後矩形領域60の基準位置に応じて4つのU整数画素65の補間計算用の重み付けが適宜変更される。
図31(b) に示すように、V演算用矩形領域88内の5×5のV整数画素66において、4つのV整数画素66から補間して一のV補間画素68を算出することにより、4×4のV補間画素68からなるV演算後矩形領域90を得ることができる。なお、なお、輝度データの演算後矩形領域60の基準位置に応じて4つのV整数画素66の補間計算用の重み付けが適宜変更される。
このようにして得られたU演算後矩形領域89及びV演算後矩形領域90のU補間画素67及びV補間画素68を規定した予測結果色差データと、上述した予測結果輝度データとが輝度・色差データD8としてMC6に出力される。
このように、RAM_HME26から1サイクルでU演算後矩形領域89及びV演算後矩形領域90の算出に必要なU演算用矩形領域87及びV演算用矩形領域88を得ることができるため、ME5はRAM_HME26に格納された色差データD7に基づきU演算後矩形領域89及びV演算後矩形領域90の色差データを高速に算出することができる。
実施の形態2のME5において、10枚のRAM_HME26a〜26jは、上記した条件(1)〜(8)を満足して格納色差データを格納する。
したがって、RAM_HME26a〜26jから、1回の読み出し動作によって読み出された読み出し色差データD51〜D55の組合せによって、元画素領域85及び86における任意のU演算後矩形領域89及びV演算後矩形領域90の演算による取得に関し効率化を図っている。
その結果、U演算矩形領域89及びV演算矩形領域90の取得処理の効率化に伴いME5の色差データに対する1/4画素精度の動き予測を高速に行うことができる効果を奏する。また、上記した効率化によって、ME5の演算処理負担の軽減を図ることができる分、回路構成の簡略化を図ることができる。
このように、実施の形態2のME5は、実施の形態1のME2が輝度・色差データD3を得るよりも早期に、輝度・色差データD8を得ることができる。さらに、実施の形態1のRAM_HIME21が4枚、RAM_HMEY22が2枚、RAM_HSME23が8枚及びRAM_HMEC24が5枚(1枚)の総計19枚(15枚)必要なのに対し、実施の形態2のRAM_HME26は10枚で済ますことができる分、実施の形態1に比べ(S)RAM枚数の低減化を図ることができる効果も奏する。
さらに、実施の形態2のRAM_HME26は整数画素のみを格納すれば十分であり、実施の形態1のRAM_HSME23のように1/4画素を格納する必要がない分、(S)RAM容量を少なくすることができる効果も奏する。ただし、ME5は整数画素精度の輝度データD6に基づき、1/4画素精度の輝度データを得るためにかなりの部分を並列演算処理する必要があるため、ME2を構成するIME11、QPG12、SME13及びQPG14に比べて回路構成が複雑になる。
1 SDRAM
2 ME
3 MC
4 SDRAM
5 ME
6 MC
11 IME
12 QPG
13 SME
14 QPG
21 RAM_HIME
22 RAM_HMEY
23 RAM_HSME
24 RAM_HMEC
26 RAM_HME

Claims (2)

  1. 所定の画像領域における整数画素精度の色差データを分割して、格納色差データ単位に格納する第1所定数の色差用記憶部と、
    前記第1所定数の色差用記憶部から読み出される前記格納色差データの組合せから、1/4画素精度の基準位置情報に基づき演算処理を行い、1/4画素精度の所定の色差用演算後基準領域を予測結果色差データとして生成する色差用1/4画素生成部とを備え、
    前記第1所定数の色差用記憶部において、水平方向に隣接する前記格納色差データが第1の数分画素を重複させながら格納され、垂直方向に第2の数分連続して隣接する前記格納色差データが前記第1所定数の色差用記憶部間で異なるように格納されることを特徴とする、
    1/4画素色差用動き予測機構。
  2. 所定の画像領域における整数画素精度の輝度データ及び色差データを分割して、格納輝度データ及び格納色差データ単位にそれぞれ格納する第1所定数の1/4画素探索用記憶部と、
    前記第1所定数の1/4画素探索用記憶部から読み出される前記格納輝度データの組合せに基づき、所定の演算処理を実行することにより、水平方向及び垂直方向共に1/4画素精度で所定の輝度用演算後基準領域を取得して動き予測を行い予測結果輝度データを得るとともに、
    前記第1所定数の1/4画素探索用記憶部から読み出される前記格納色差データの組合せに基づき、前記予測結果輝度データの1/4画素精度の位置情報に対応して、1/4画素精度の所定の色差用演算後基準領域を予測結果色差データとして生成する、1/4画素動き予測部とを備え、
    前記第1所定数の1/4画素探索用記憶部において、
    水平方向に隣接する前記格納輝度データが第1の数分画素を重複させながら格納され、垂直方向に第2の数分連続して隣接する前記格納輝度データが前記第1所定数の1/4画素用記憶部間で異なるように格納され、
    水平方向に隣接する前記格納色差データ及び垂直方向に第3の数分連続して隣接する前記格納色差データが、前記第1所定数の1/4画素探索用記憶部間で異なるように格納されることを特徴とする、
    1/4画素輝度・色差用動き予測機構。
JP2010272208A 2010-12-07 2010-12-07 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構 Active JP4982907B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010272208A JP4982907B2 (ja) 2010-12-07 2010-12-07 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010272208A JP4982907B2 (ja) 2010-12-07 2010-12-07 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006190453A Division JP4682384B2 (ja) 2006-07-11 2006-07-11 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構

Publications (2)

Publication Number Publication Date
JP2011050113A JP2011050113A (ja) 2011-03-10
JP4982907B2 true JP4982907B2 (ja) 2012-07-25

Family

ID=43835900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010272208A Active JP4982907B2 (ja) 2010-12-07 2010-12-07 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構

Country Status (1)

Country Link
JP (1) JP4982907B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61154362A (ja) * 1984-12-27 1986-07-14 Canon Inc 画像記憶装置
JP3803122B2 (ja) * 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
JPH10191236A (ja) * 1996-12-25 1998-07-21 Nec Corp 画像処理装置及び画像データメモリ配置方法
JP3417473B2 (ja) * 1999-01-07 2003-06-16 日本電気株式会社 メモリアクセスシステム
JP2002199404A (ja) * 2000-12-25 2002-07-12 Seiko Epson Corp 画像処理装置
KR100543443B1 (ko) * 2003-01-14 2006-01-23 삼성전자주식회사 동영상 압축을 위한 내장형 메모리 장치
JP4511842B2 (ja) * 2004-01-26 2010-07-28 パナソニック株式会社 動きベクトル検出装置及び動画撮影装置
CN1942870B (zh) * 2004-04-15 2010-05-12 松下电器产业株式会社 信息处理装置及数据访问方法
KR100668302B1 (ko) * 2004-07-28 2007-01-12 삼성전자주식회사 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법
JP2007189518A (ja) * 2006-01-13 2007-07-26 Matsushita Electric Ind Co Ltd 信号処理装置、撮像装置、ネットワークカメラシステム及び映像システム

Also Published As

Publication number Publication date
JP2011050113A (ja) 2011-03-10

Similar Documents

Publication Publication Date Title
KR100907843B1 (ko) 비디오 모션 보상용 캐싱 방법 및 장치
JP5115498B2 (ja) 画像符号化装置、画像符号化制御方法およびプログラム
US8135224B2 (en) Generating image data
JP4682384B2 (ja) 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構
JP4709155B2 (ja) 動き検出装置
JP2010119084A (ja) 高速動き探索装置及びその方法
JP2008022134A5 (ja)
JP4982907B2 (ja) 1/4画素色差用動き予測機構及び1/4画素輝度・色差用動き予測機構
CN110381321B (zh) 一种用于运动补偿的插值计算并行实现方法
US8305500B2 (en) Method of block-based motion estimation
JPH11196425A (ja) 動きベクトル検出装置
CN102215404B (zh) 嵌入式系统中视频的解码方法和系统
JPH05300497A (ja) 画像処理装置及びディジタル信号処理プロセッサ
Biswas et al. An efficient VLSI architecture of the enhanced three step search algorithm
KR100719939B1 (ko) 영상 움직임 추정기 및 그 영상 움직임 추정기를 이용한영상 압축방법
KR100836534B1 (ko) 저전력 서브 픽셀 보간 블록 구조
KR100243469B1 (ko) 프레임 메모리에 있어서 어드레스 발생장치
KR100235486B1 (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 슬라이스 위치 보상방법 및 회로
KR100226705B1 (ko) 어드레스 발생시 프레임 메모리 상태 천이방법 및 장치
KR100672376B1 (ko) 움직임 보상 방법
TWI478589B (zh) 區塊方式的動作估算方法及圖框速率提高方法
KR100243473B1 (ko) 프레임 메모리에 있어서 예측 매크로블록에 대한 어드레스 발생시 움직임 벡터 보상회로
JPH10210481A (ja) メモリ制御装置
JP2007243366A (ja) 動きベクトル探索装置
Chen et al. A High Performance Hardware Architecture of Sub-Pixel Interpolator for H. 264/AVC Encoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

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: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120406

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4982907

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250