JP4519723B2 - 動きベクトルを利用する動画像データの符号化または復号化装置 - Google Patents

動きベクトルを利用する動画像データの符号化または復号化装置 Download PDF

Info

Publication number
JP4519723B2
JP4519723B2 JP2005187186A JP2005187186A JP4519723B2 JP 4519723 B2 JP4519723 B2 JP 4519723B2 JP 2005187186 A JP2005187186 A JP 2005187186A JP 2005187186 A JP2005187186 A JP 2005187186A JP 4519723 B2 JP4519723 B2 JP 4519723B2
Authority
JP
Japan
Prior art keywords
motion vector
block
motion
macroblock
image data
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.)
Expired - Fee Related
Application number
JP2005187186A
Other languages
English (en)
Other versions
JP2007006399A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2005187186A priority Critical patent/JP4519723B2/ja
Publication of JP2007006399A publication Critical patent/JP2007006399A/ja
Application granted granted Critical
Publication of JP4519723B2 publication Critical patent/JP4519723B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は,動きベクトルを利用する動画像データの符号化または復号化装置に関し,特に,動きベクトルを格納するメモリとそのメモリ制御部を改良して補正された予測用動きベクトルの生成を容易にした符号化または復号化装置に関する。
動画像データの符号化及び復号化の方式として,MPEG2やH261などが普及している。この動画像データの符号化・復号化の方法によれば,フレームの画像データを16×16のマクロブロックMB単位で処理するとともに,現フレームの画像データを符号化する場合,現フレームの画像データの移動方向を示す動きベクトルと,例えば以前のフレームの画像データとその動きベクトルとから生成した予測画像データと現フレームの画像データとの差分データ(予測誤差データ)とを符号化圧縮する。そして,復号化する時は,再生済みの画像データと現フレームの動きベクトルとから生成される予測画像データに差分データを加算して現フレームの画像データを再生する。再生された画像データはさらにその後のフレームの画像データの再生に利用される。このように,画像データそのものを符号化し圧縮するのではなく,動きベクトルと差分データのみを符号化圧縮することで,符号化データのデータ量を小さくすることができる。また,同じ位置の画像データの差分データを利用するよりも,動画像の動く方向を加味した位置の画像を参照画像データとすることで差分(予測誤差)を小さくすることができ,符号化率を高めることができる。
かかる動画像データの符号化と復号化については,例えば特許文献1,2に記載されている。
一方,動きベクトルに基づいて予測画像データを生成するにあたり,対象となる現マクロブロックの動きベクトルではなく,参照先マクロブロックの周囲のマクロブロック(候補マクロブロック)の動きベクトルを利用して,それら動きベクトルの中央値を補償された動きベクトルとして算出し,その補償動きベクトルにもとづいて予測画像データを生成することが提案されている。これは,メディアン予測演算と称され,参照先マクロブロックの周囲にある候補マクロブロックの動きベクトルの情報を加味することで,より高精度の動きベクトルを求めることができ,その補償動きベクトルを利用することで差分データ(予測誤差データ)をより小さくし,もって符号化率のより一層の向上を図っている。
特開2000−102016号公報 特開2004−48552号公報
しかしながら,次世代の動画像符号化・復号化方式であるMPEG4やH.263方式では,マクロブロックに2つの動きベクトルを持たせるようにし,動画ベクトルについてより激しいまたは細かい動きへの追従性を高めて,予測誤差を小さくしている。さらに,H.264方式では,マクロブロックに最大で16の動きベクトルを持たせることができ,動きベクトルの持たせ方に応じて,この動き補償用のブロックタイプ(以下MCブロックタイプと称する)は7種類になる。
上記のようにマクロブロックによって異なる動き補償用ブロックタイプ(MCブロックタイプ)を有するため,メディアン予測演算時に候補となるブロックの動きベクトルのアドレス管理が複雑化し,処理効率が低下するという課題がある。
そこで,本発明の目的は,メディアン予測演算時の候補ブロックの動きベクトルへのアクセスを容易にして処理効率を高めた動画像データの符号化・復号化装置を提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,所定の画素単位からなるマクロブロックに対し,当該マクロブロック内の動画の動きに対応する動きベクトルと,当該動きベクトルにより予測される予測画像データとの差分である予測誤差データとを有する符号化データから,前記動きベクトルに基づく予測画像データを生成し,前記予測誤差データを加算して画像データを再生する動画像データの復号化または符号化装置において,前記マクロブロックに対応して当該マクロブロックの動きベクトルを格納する動きベクトルメモリと,当該マクロブロックに割り当てられた動きベクトルの種類に対応する動き補償ブロックタイプに依存することなく,当該マクロブロックの動きベクトルを最小動き補償ブロック単位で前記動きベクトルメモリに格納し,メディアン予測演算における候補ブロックの動きベクトルを現マクロブロックの動き補償ブロックタイプに応じたアドレスに基づいて前記動きベクトルメモリから読み出すメモリ制御部とを有する。
上記の第1の側面において,好ましい態様では,前記動き補償ブロックタイプは,前記マクロブロックに対して単一の動きベクトルを有する第1のタイプと,前記マクロブロックを細分化した複数の動き補償ブロックに対応して複数の動きベクトルを有する第2のタイプとを少なくとも有し,前記最小動き補償ブロックは,前記第2のタイプでの最小に細分化されうるブロックである。
ここで候補ブロックとは,この現マクロブロックの動きベクトルに基づいて特定される参照先マクロブロックの周囲,例えば上,右上,左に位置するマクロブロックである。勧告されている符号化・復号化方式によれば,候補ブロックの動きベクトルを加味して予測用動きベクトルを求めることで,予測画像データとの差分である予測誤差を小さくすることができる。
本発明によれば,マクロブロックの動き補償ブロックタイプに依存することなく動きベクトルを最小動き補償ブロック単位で格納するので,メディアン予測演算時の候補ブロックの動きベクトルの読み出しを簡単化でき,処理効率を高めることができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図1は,本実施の形態における動画像データの符号化回路と復号化回路の構成図である。図1(A)の符号化回路において,動画像を構成するフレーム毎の画像データIMGが供給され,符号化データCDが出力される。動きベクトル生成部28は,供給された画像データIMGについて16x16画素からなるマクロブロック毎に動きベクトルMVを生成する。フレームメモリ24には以前のフレームの画像データが格納されており,予測画像作成部26が現フレームの動きベクトルMVと例えば前フレームの画像データとから予測画像データ27を生成する。そして,減算器10が画像データIMGと予測画像データ27の差分データを予測誤差データ11として生成する。この予測誤差データ11は,DCT器12が離散コサイン変換を行い,量子化器14が量子化し,量子化されたデータが可変長符号化器16で可変長符号化され,その符号化圧縮された符号化データCDが復号化回路に供給される。一方,量子化されたデータは,逆量子化器18で逆量子化され,逆DCT器20で逆離散コサイン変換されて復号化され,この復号化された予測誤差データが加算器22で予測画像データ27に加算され,元の画像データがローカル復号画像データとしてフレームメモリ24に格納される。
一方,図1(B)の符号化回路では,符号化データCDが可変長復号化器30にて復号化される。復号化された予測誤差データ31は逆量子化器32と逆DCT器34でそれぞれ逆量子化及び逆離散コサイン変換される。また,復号化された動きベクトルMVは予測用動きベクトル生成器42に供給される。予測用動きベクトル生成器42は,例えば前フレームのマクロブロック毎または動き補償ブロック(MCブロック)毎に動きベクトルを格納する動きベクトルメモリ44から,動きベクトルMVに対応する参照先マクロブロックの周囲のブロックの動きベクトルMV1,2,3を読み出し,予測用動きベクトルPMVを求める。予測画像作成部38は,この予測用動きベクトルPMVと例えば前フレームの画像データとに基づき,予測画像データ39を生成する。そして,加算器36が復号化された予測誤差データ35と予測画像データ39とを加算して復号化された画像データIMGを出力する。この復号化された画像データIMGはフレームメモリ40に格納され,次のフレームの画像の予測画像生成に利用される。
図2は,動きベクトルと予測画像及び予測誤差を説明する図である。図2(A)に示されるように,時刻aにおける画像がその後の時刻bにおいて右方向に移動する場合,その移動情報を動きベクトルmvとして時刻bのマクロブロックに割り当てる。動きベクトルmvは,時刻aの画像のうち時刻bのマクロブロックの画像に最も近い画像の位置に対応して生成される。したがって,動きベクトルmvで再生される予測画像と時刻bでの画像との間には何らかの差分(予測誤差)が生じることになる。したがって,動画像符号化回路は,この動きベクトルと予測誤差データとを符号化する。
図2(B)に示されるように,復号化回路では,時刻bの画像50を再生するためには,時刻aでの画像において,画像50に対応する位置52から動きベクトルmvに応じた位置54の画像を予測画像とし,その予測画像に予測誤差を加算して画像50を再生する。
図3は,マクロブロックと動きベクトルの関係を示す図である。図3(A)に示されるとおり,フレームの画像56は16×16画素のマクロブロックMBに分割され,各マクロブロックMBに対して矢印で示す動きベクトル情報が与えられる。また,図3(B)に示されるとおり,マクロブロックMBに対して複数の動きベクトル情報が与えられる場合もある。このように,1つのマクロブロックMBを複数のブロックに分割しその分割したブロック毎に動きベクトル情報を与えることで,急激に変化する動画像に追従して符号化を行うことができる。図3(B)の例では,一部のマクロブロックMBは上下のブロックに分割されそれぞれのブロックに動きベクトルが与えられている。それ以外のマクロブロックMBには単一の動きベクトルが与えられる。
図4は,予測用動きベクトルを説明する図である。また,図5は,予測用動きベクトルを利用した復号化処理のフローチャート図である。両図を参照しながら,復号化処理について説明する。図4には,前フレームFMn-1と現フレームFMnが示されている。ここでは,簡単化のために予測画像データが前フレームの画像データから生成されることを前提にしている。
今,現フレームのマクロブロックMBの画像を再生するとすると,そのマクロブロックMBの動きベクトルMVに基づいて参照先マクロブロックの位置MMCを求め,当該位置MMCに対応する位置の前フレーム画像の参照マクロブロックRMBを検出する(S10)。そして,前フレームの参照マクロブロックRMBの周囲にある上と右上と左の候補ブロックの動きベクトルMV0,MV2,MV3を動きベクトルメモリから読み出す(S12)。さらに,読み出した3つの動きベクトルMV1,2,3の中央値を予測用動きベクトルPMVとして求める(S14)。そして,この予測用動きベクトルPMVに基づく位置にある前フレームFMn-1のマクロブロックの画像データを予測画像データとし,それに差分データ(予測誤差データ)を加算して現フレームFMnのマクロブロックMBの画像データを再生する(S16)。
図6は,動き補償ブロックタイプを説明する図である。図3(B)で説明したとおり,動画像の符号化・復号化方式には,1つのマクロブロックに複数の動きベクトルを与える場合がある。図6には,H.264方式で採用されている動き補償ブロックタイプ(MCブロックタイプ)を示す。画像信号は16x16画素のマクロブロック60の単位で画像信号メモリ(フレームメモリ)に格納される。それに対して,各マクロブロックには動きベクトルMVが与えられるが,その動きベクトルMVは動き補償ブロックタイプ(MCブロックタイプ)に応じて単一または複数割り当てられる。
図6に示すMCブロックタイプは,16x16画素に1つの動きベクトルMVが割り当てられるMCブロックタイプ61と,上下16x8画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ62と,左右8x16画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ63と,4つの8x8画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ64と,8つの8x4画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ65と,8つの4x8画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ66と,16の4x4画素ブロックにそれぞれ動きベクトルMVが割り当てられるMCブロックタイプ67の7種類ある。MCブロックタイプ67は,最小動き補償ブロック(4x4)毎に動きベクトルが割り当てられる。
そのため,動きベクトルメモリに格納される動きベクトルMVの情報は,各マクロブロックのMCブロックタイプに応じて異なる個数になる。これをメモリのアドレス空間で考えると,MCブロックタイプに応じて各マクロブロックの動きベクトル情報の格納アドレス数が1,2,4,8,16個と異なることを意味する。したがって,動きベクトルメモリから候補ブロックの動きベクトルを読み出す場合,MCブロックタイプを考慮して対応するアドレスの動きベクトルを読み出す必要がある。
図7は,異なるMCブロックタイプ間の問題点を示す図である。この例では,現マクロブロック70のMCブロックタイプが8×8のブロック毎に動きベクトルmv0〜3を有するものであり,この現マクロブロック70から読み出すべき候補マクロブロック72が16x16のブロックに一つの動きベクトルmv0を有するものとする。この場合,現マクロブロック70の動きベクトルメモリ71には,MCブロックタイプ情報に加えて4つの動きベクトルmv0〜3が格納され,マクロブロック72の動きベクトルメモリ73には,MCブロックタイプ情報に加えて1つの動きベクトルmv0が格納される。
現マクロブロック70の動きベクトルmv0〜3の3つのブロックに対して読み出すべき候補マクロブロック72の動きベクトルは全て同じ動きベクトル情報mv0になる。しかし,候補マクロブロック72のMCブロックタイプが異なるタイプの場合は,読み出すべき候補マクロブロックの動きベクトルは異なってくる。つまり,互いのMCブロックタイプに応じて,どの動きベクトルを読み出すべきかをその都度演算により求める必要があり,煩雑な処理が要求される。
図8は,本実施の形態におけるメディアン予測での候補マクロブロックへの参照を示す図である。図7で説明したとおり,現マクロブロックのMCブロックタイプと候補マクロブロックのMCブロックタイプとの組合せにより,候補マクロブロックの参照すべき動きベクトルが異なることを説明する。図8中,MBは現マクロブロック,MB1,2,3は,上,右上,左の候補マクロブロックである。
図8(a)〜(d)は現マクロブロックMBが4つの8x8ブロックに対応して動きベクトルが割り当てられるMCブロックタイプであり,それぞれ4つの8x8ブロックに対応して参照すべき候補マクロブロックMB1〜3のブロックが太枠で示されている。この場合,上の候補ブロックMB1は16x16ブロックのMCブロックタイプ,右上の候補ブロックMB2は2個の8x16ブロックのMCブロックタイプ,左の候補ブロックMB3は2個の16x8ブロックのMCブロックタイプである。
図8(a)では,太枠に示されるとおり,現マクロブロックMBのブロック3x0に対して,マクロブロックMB1では1つのブロックの動きベクトルが,MB2では左側の8x16ブロックの動きベクトルが,MB3では上側の16x8ブロックの動きベクトルがそれぞれ読み出される。同様に,図8(b)では,現マクロブロックMBのブロック3x1に対して,マクロブロックMB1では1つのブロックの動きベクトルが,MB2では右側の8x16ブロックの動きベクトルが,MB3では上側の16x8ブロックの動きベクトルがそれぞれ読み出される。図8(c)では,現マクロブロックMBのブロック3x2に対して,マクロブロックMB1では1つのブロックの動きベクトルが,MB2では左側の8x16ブロックの動きベクトルが,MB3では下側の16x8ブロックの動きベクトルがそれぞれ読み出される。そして,図8(d)では,現マクロブロックMBのブロック3x3に対して,マクロブロックMB1では1つのブロックの動きベクトルが,MB2では右側の8x16ブロックの動きベクトルが,MB3では下側の16x8ブロックの動きベクトルがそれぞれ読み出される。
図8(e)は,現マクロブロックMBが16x16ブロックに対応して1つの動きベクトルが割り当てられるMCブロックタイプであり,候補ブロックMB1は4つの8x8ブロック,候補ブロックMB2は上下16x8ブロックのMCブロックタイプであり,候補ブロックMB3は左右8x16ブロックのMCブロックタイプである。この場合,現マクロブロックMBの16x16ブロックに対して,マクロブロックMB1では左下のブロック0x2の動きベクトルが,MB2では下側のブロック1x1の動きベクトルが,MB3では右側のブロック2x1の動きベクトルがそれぞれ読み出される。
図8(f)は,現マクロブロックMBが上下16x8ブロックに対応して2つの動きベクトルが割り当てられるMCブロックタイプであり,候補ブロックMB1は4つの8x8ブロック,候補ブロックMB2は上下16x8ブロックのMCブロックタイプであり,候補ブロックMB3は左右8x16ブロックのMCブロックタイプである。この場合,現マクロブロックMBの上側ブロック3x0に対して,マクロブロックMB1では左下のブロック0x2の動きベクトルが,MB2では下側のブロック1x1の動きベクトルが,MB3では右側のブロック2x1の動きベクトルがそれぞれ読み出される。
以上の通り,現マクロブロックのMCブロックタイプと候補マクロブロックのMCブロックタイプとの組合せに依存して,読み出すべき動きベクトルの位置が異なっている。そして,読み出した動きベクトルの中央値が演算され,それが補償された動きベクトルとして予測画像データの生成に利用される。
図9は,動きベクトルメモリの構成例を示す図である。これにより読み出すべき動きベクトルの位置が異なることを示す。図9には,図8(b)(c)の例が示される。動きベクトルメモリ内には,上側の候補マクロブロックMB1にはブロック0x0の動きベクトルが,右上の候補マクロブロックMB2にはブロック1x0,1x1の動きベクトルが,左の候補マクロブロックMB3にはブロック2x0,2x1の動きベクトルが,そして現マクロブロックMBにはブロック3x0〜3x3の動きベクトルがそれぞれ格納されている。そして,図8(b)のように現マクロブロックのブロック3x1に対しては,実線で示される先のブロックの動きベクトルを読み出す必要があるのに対して,図8(c)のように現マクロブロックのブロック3x2に対しては,破線で示される先のブロックの動きベクトルを読み出す必要がある。このように両マクロブロックのMCブロックタイプに応じて,実線と破線で示したとおり読み出すべき動きベクトルの格納位置(メモリ内アドレス)が異なる。したがって,現マクロブロックと候補マクロブロックのMCブロックタイプ情報を基にして読み出すべき動きベクトルのアドレスを求める必要があり,処理工数の増大になる。
図10は,本実施の形態における動きベクトルメモリへの動きベクトル書き込み方法を示す図である。本実施の形態では,MCブロックタイプに依存することなく各マクロブロックに対して16種類の動きベクトルを動きベクトルメモリに格納する。つまり,動きベクトルメモリに最小動き補償ブロック単位で動きベクトルを書き込む。
図10(a)はMCブロックタイプが16x16ブロックに1つの動きベクトルが与えられるタイプの場合であり,動きベクトルメモリには16のブロック0〜15に対応して同じ動きベクトルを重複して格納する。図10(b)はMCブロックタイプが上下2つの16x8ブロックにそれぞれ動きベクトルが与えられるタイプの場合であるが,動きベクトルメモリには16のブロック0〜15に対応して同じ2つの動きベクトルを重複して格納する。つまり,動きベクトルメモリにはブロック0〜7に対応して第1の動きベクトルを重複して格納し,ブロック8〜15に対応して第2の動きベクトルを重複して格納する。
図10(c)はMCブロックタイプが4つの8x8ブロックにそれぞれ動きベクトルが与えられるタイプの場合であるが,動きベクトルメモリには16のブロック0〜15に対応して4つの動きベクトルを重複して格納する。つまり,動きベクトルメモリにはブロック0,1,4,5に対応して第1の動きベクトルを重複して格納し,ブロック2,3,6,7に対応して第2の動きベクトルを重複して格納し,ブロック8,9,12,13に対応して第3の動きベクトルを重複して格納し,ブロック10,11,14,15に対応して第4の動きベクトルを重複して格納する。
さらに,図10(d)はMCブロックタイプが最小動き補償ブロックである16個の4x4ブロックにそれぞれ動きベクトルが与えられるタイプの場合であり,これら16個の動きベクトルは動きベクトルメモリ内にその最小動き補償ブロック0〜15に対応して格納される。
図11は,本実施の形態における動きベクトルメモリへの動きベクトル書き込み方法を示す図である。図11(a)(b)(c)は図10(a)(b)(c)に対応する。図11(a)に示すとおり,MCブロックタイプが16x16ブロックの場合,動きベクトルメモリにはそのアドレス0x0〜0xF(16進法)に1つの動きベクトルmv0が重複して格納される。また,図11(b)に示すとおり,MCブロックタイプが2つの16x8ブロックの場合,動きベクトルメモリにはアドレス0x0〜0x7に動きベクトルmv0が,アドレス0x8〜0xFに動きベクトルmv1がそれぞれ重複して格納される。そして,図11(c)に示すように,MCブロックタイプが4つの8x8ブロックの場合,動きベクトルメモリのアドレス0x0〜0x3に動きベクトルmv0が,アドレス0x4〜0x7に動きベクトルmv1が,アドレス0x8〜0xBに動きベクトルmv2が,アドレス0xC〜0xFに動きベクトルmv3がそれぞれ重複して格納される。
以上のように,MCブロックタイプにかかわらず,各マクロブロックに対して動きベクトルメモリの16の格納アドレス領域に動きベクトルを格納する。このように最小動き補償ブロック単位で動きベクトルをメモリ内に格納することにより,候補マクロブロックの動きベクトルの読み出し動作では,現マクロブロックのMCブロックタイプのみに依存してどの動きベクトルを読み出せば良いか決定することができる。
図12は,本実施の形態における動きベクトルメモリの読み出し方法を示す図である。図12には,図8(b)(c)の場合の読み出し位置が実線と破線で示されている。本実施の形態によれば,各マクロブロックに対し動きベクトルメモリ内の16のアドレスに動きベクトルが書き込まれる。図8に示すとおり,図8(b)の場合は現マクロブロックMBのブロック3x1に対応して読み出すべき動きベクトルのブロックは斜線矩形で示した通りであり,上ブロックMB1ではアドレス0xC,右上ブロックMB2ではアドレス1xE,左ブロックMB3ではアドレス2x4の動きベクトルが読み出される。また,図8(c)の場合は,現マクロブロックMBのブロック3x2に対応して,上ブロックMB1ではアドレス0xE,右上ブロックMB2ではアドレス1xC,左ブロックMB3ではアドレス2xBの動きベクトルが読み出される。図8(a)(d)の場合も同様である。
また,図8(e)(f)のように現マクロブロックMBのMCブロックタイプが異なると,それに対応して読み出すべきアドレスも異なる。しかしながら,読み出し先のマクロブロックMB1,2,3のMCブロックタイプに依存することなく,現マクロブロックのタイプにのみ依存して読み出しアドレスを確定することができる。各マクロブロックに対して16のアドレス位置に動きベクトルが格納されているからである。
このように,本実施の形態では,メディアン予測工程での候補マクロブロック内の動きベクトルの読み出し動作において,現マクロブロックのMCブロックタイプが判明すればそれに基づいて読み出し先の候補マクロブロックのMCブロックタイプに依存することなく,動きベクトルメモリ内の読み出しアドレスを確定することができる。
なお,現マクロブロックのMCブロックタイプに対応して,各ブロックにおいて読み出すべき候補マクロブロック内のブロックの位置は,MPEG4やH.264などの勧告により指定されている。そこで,勧告により指定されているブロックの位置の例えば先頭アドレスの動きベクトルを読み出すことで,簡単に指定ブロックの動きベクトルを読み出すことができる。読み出し先のマクロブロックのMCブロックタイプに依存することなく,全て16アドレス位置に動きベクトルが格納されるので,読み出しアドレスの特定は現マクロブロックのMCブロックタイプに応じて一義的であり,読み出しアドレスの生成に際して特別の演算処理は必要ない。
図13は,本実施の形態におけるメモリ制御部の構成図である。このメモリ制御部45は,動きベクトルメモリ44(図1(B)参照)に対するメモリインターフェースであり,メモリ44に格納すべき動きベクトルMVをメモリ内の所定のアドレスに書き込み制御し,メモリ44から読み出すべき動きベクトルをメモリ内の対応アドレスから読み出し制御する。読み出されたデータMV1,2,3は,予測用動きベクトル生成部42に供給され,その中央値を求めるなどの演算処理により予測用動きベクトルPMVが生成される。
メモリ制御部45は,マクロブロックの格納すべき動きベクトルMVをメモリ44に書き込むための回路451,452,453と,現マクロブロックに対して読み出すべき動きベクトルMV1,2,3を読み出すための回路454,455を有する。
図1(B)に示したとおり,可変長復号化器30で復号化された動きベクトルMVは,一旦動きベクトルメモリ44に書き込まれる。その時,処理中のマクロブロックMBのアドレスが書き込みアドレス制御部451に与えられると,それが16の書き込みアドレスWAddを順次生成する。また,そのマクロブロックのMCブロックタイプがMVブロックタイプ識別部452に供給され,図6の例では7種類のタイプのいずれかであることが識別され,その識別結果に応じて,タイミング調整及びデータ拡張処理部453が,書き込みアドレスWAddのタイミングに同期して格納動きベクトルMVを書き込みデータWDataとして動きベクトルメモリ44に供給する。
図14は,本実施の形態におけるメモリ制御部の書き込み動作と読み出し動作のタイミングチャート図である。図14(A)(B)に書き込み動作が示される。まず,処理中のマクロブロックMBのMCブロックタイプが16x16の場合は,動きベクトルは1個しかない。そこで,書き込みアドレス制御部451が16個のアドレスをメモリ44に供給するタイミングに同期して,タイミング調整及びデータ拡張処理部453が1つの動きベクトルを書き込みデータWdataとしてメモリ44に与える。それにより,メモリ44の16のアドレスには1つの動きベクトル(16x16(0))が書き込まれる。その結果,図11(a)のようになる。
次に,図11(c)の場合で説明すると,書き込みアドレス制御部451が16個のアドレスをメモリ44に供給するタイミングに同期して,タイミング調整及びデータ拡張処理部453が4種類の動きベクトル(8x8(0)〜(3))を書き込みデータWdataとしてメモリ44に与える。図14中,データラッチ選択信号は,タイミング調整及びデータ拡張処理部453内の制御信号であり,MCブロックタイプ(4x4)に応答して,タイミング調整及びデータ拡張処理部453は,データラッチ選択信号0〜3に応じて格納動きベクトルMVを対応する内部レジスタ(図示せず)にラッチし,ラッチされた動きベクトルを書き込みデータWdataとしてメモリ44に供給する。
さらに,MCブロックタイプが4x4の場合は,16種類の格納動きベクトル4x4(0)〜(15)が,16個の書き込みアドレスWAddに対応してメモリ44に書き込みデータWDataとして与えられる。そして,内部のデータラッチ信号に応答して16種類の動きベクトルが内蔵ラッチ回路にラッチされる。
次に読み出し動作について説明する。動きベクトルメモリの読み出し動作は,図12で説明したとおりである。MCブロックタイプ識別部455は,現マクロブロックのMCブロックタイプを供給されてそれを識別し,読み出しアドレス制御部454は,現マクロブロックに対応する参照マクロブロックのアドレスと識別されたMCブロックタイプに応じて,3つの読み出しアドレスを生成する。その読み出しアドレスに対応してメモリ44から読み出された動きベクトルMV1,2,3が,予測用動きベクトル生成部42に出力される。
図14(C)は,MCブロックタイプが16x16ブロックの場合(図8(e)の例)と8x8ブロックの場合(図8(a)〜(d)の例)の読み出し動作を示す。16x16ブロックの場合,現マクロブロックのMCブロックタイプに対応して,読み出すべき3つの動きベクトルのブロック位置が特定される。したがって,読み出しアドレス制御部454は,アドレスA1,A2,A3を読み出しアドレスRAddとしてメモリ44に供給し,それに対応して動きベクトルmv1,2,3が読み出しデータRDataとして出力される。予測用動きベクトル生成部42は,それらから予測用動きベクトルPMVを生成する。8x8ブロックの場合も同様に,現マクロブロックのMCブロックタイプに対応して読み出すべき3つの動きベクトルのブロック位置が特定される。よって,読み出しアドレス制御部454は,アドレスA11,A12,A13を生成し,それに対応して動きベクトルmv11,12,13が読み出され,予測用動きベクトルPMVが生成される。
読み出しアドレス制御部454は,図12に示したとおり,現マクロブロックのMCブロックタイプに応じてどのアドレスの動きベクトルを読み出すべきかを特定することができ,読み出す先のマクロブロックのMCブロックタイプに依存することなく,画一的に読み出しアドレスを生成することができる。
上記の実施の形態では,図1の復号化回路の動きベクトルメモリ44に対するメモリ制御を対象にして説明した。しかしながら,図1の符号化回路においてもローカル復号画像データを生成する時の動きベクトル生成部28における予測用動きベクトル生成工程においても適用することができる。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)所定の画素単位からなるマクロブロックに対し,当該マクロブロック内の動画の動きに対応する動きベクトルと,当該動きベクトルにより予測される予測画像データとの差分である予測誤差データとが与えられる符号化データから,前記動きベクトルに基づく予測画像データを生成し,前記予測誤差データを加算して画像データを再生する動画像データの復号化または符号化装置において,
前記マクロブロックに対応して当該マクロブロックの動きベクトルを格納する動きベクトルメモリと,
当該マクロブロックに割り当てられた動きベクトルの種類を示す動き補償ブロックタイプに依存することなく,当該マクロブロックの動きベクトルを最小動き補償ブロック単位で前記動きベクトルメモリに格納し,メディアン予測演算における候補ブロックの動きベクトルを現マクロブロックの動き補償ブロックタイプに応じたアドレスに基づいて前記動きベクトルメモリから読み出すメモリ制御部とを有する動画像データの符号化または復号化装置。
(付記2)付記1において,
前記動き補償ブロックタイプは,前記マクロブロックに対して単一の動きベクトルを有する第1のタイプと,前記マクロブロックを細分化した複数の動き補償ブロックに対応して複数の動きベクトルを有する第2のタイプとを少なくとも有し,
前記最小動き補償ブロックは,前記第2のタイプでの最小に細分化されうるブロックであることを特徴とする動画像データの符号化または復号化装置。
(付記3)付記1において,
前記メモリ制御部は,前記マクロブロックに最小動き補償ブロックよりも大きいブロックに動きベクトルが割り当てられている場合は,前記動きベクトルメモリの最小動き補償ブロックに対応する複数アドレスに当該動きベクトルを繰り返し格納することを特徴とする動画像データの符号化または復号化装置。
(付記4)付記1において,
前記メモリ制御部は,前記候補ブロックの動きベクトルを前記動きベクトルメモリから読み出す時に,前記現マクロブロックの動き補償ブロックの位置に応じたアドレスに基づいて前記動きベクトルを読み出すことを特徴とする動画像データの符号化または復号化装置。
(付記5)付記1において,
さらに,前記読み出された複数の候補ブロックの動きベクトルから予測用動きベクトルを演算する予測用動きベクトル生成部を有することを特徴とする動画像データの符号化または復号化装置。
本実施の形態における動画像データの符号化回路と復号化回路の構成図である。 動きベクトルと予測画像及び予測誤差を説明する図である。 マクロブロックと動きベクトルの関係を示す図である。 予測用動きベクトルを説明する図である。 予測用動きベクトルを利用した復号化処理のフローチャート図である。 動き補償ブロックタイプを説明する図である。 異なるMCブロックタイプ間の問題点を示す図である。 本実施の形態におけるメディアン予測での候補マクロブロックへの参照を示す図である。 動きベクトルメモリの構成例を示す図である。 本実施の形態における動きベクトルメモリへの動きベクトル書き込み方法を示す図である。 本実施の形態における動きベクトルメモリへの動きベクトル書き込み方法を示す図である。 本実施の形態における動きベクトルメモリの読み出し方法を示す図である。 本実施の形態におけるメモリ制御部の構成図である。 本実施の形態におけるメモリ制御部の書き込み動作と読み出し動作のタイミングチャート図である。
符号の説明
42:予測用動きベクトル生成部
44:動きベクトルメモリ 45:メモリ制御部
451:書き込みアドレス制御部 454:読み出しアドレス制御部
MV:格納動きベクトル MV1,2,3:読み出し動きベクトル
PMV:予測用動きベクトル

Claims (1)

  1. 所定の画素単位からなるマクロブロックに対し,当該マクロブロック内の動画の動きに対応する動きベクトルと,当該動きベクトルにより予測される予測画像データとの差分である予測誤差データとが与えられる符号化データから,前記動きベクトルに基づく予測画像データを生成し,前記予測誤差データを加算して画像データを再生する動画像データの復号化または符号化装置において,
    前記マクロブロックに対応して当該マクロブロックの動きベクトルを格納する動きベクトルメモリと,
    複数の動きベクトルを前記マクロブロックに割り当て且つブロックサイズの異なる複数種類の動き補償ブロックの当該ブロックサイズを示す補償ブロックタイプに依存することなく,当該マクロブロックの動きベクトルを最小動き補償ブロック単位で前記動きベクトルメモリに格納し,メディアン予測演算における候補ブロックの動きベクトルを現マクロブロックの動き補償ブロックタイプに応じたアドレスに基づいて前記動きベクトルメモリから読み出すメモリ制御部とを有する動画像データの符号化または復号化装置において,
    前記メモリ制御部は,前記マクロブロックに最小動き補償ブロックよりも大きいブロックに動きベクトルが割り当てられている場合は,前記動きベクトルメモリの最小動き補償ブロックに対応する複数アドレスに当該動きベクトルを繰り返し格納することを特徴とする動画像データの符号化または復号化装置。
JP2005187186A 2005-06-27 2005-06-27 動きベクトルを利用する動画像データの符号化または復号化装置 Expired - Fee Related JP4519723B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005187186A JP4519723B2 (ja) 2005-06-27 2005-06-27 動きベクトルを利用する動画像データの符号化または復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005187186A JP4519723B2 (ja) 2005-06-27 2005-06-27 動きベクトルを利用する動画像データの符号化または復号化装置

Publications (2)

Publication Number Publication Date
JP2007006399A JP2007006399A (ja) 2007-01-11
JP4519723B2 true JP4519723B2 (ja) 2010-08-04

Family

ID=37691525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005187186A Expired - Fee Related JP4519723B2 (ja) 2005-06-27 2005-06-27 動きベクトルを利用する動画像データの符号化または復号化装置

Country Status (1)

Country Link
JP (1) JP4519723B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050284A (ja) * 1998-07-13 2000-02-18 Motorola Inc 運動ベクトルの格納および回収を用いることによりビデオ信号を符号化および解読するための方法および装置
JP2004274411A (ja) * 2003-03-10 2004-09-30 Sony Corp 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050284A (ja) * 1998-07-13 2000-02-18 Motorola Inc 運動ベクトルの格納および回収を用いることによりビデオ信号を符号化および解読するための方法および装置
JP2004274411A (ja) * 2003-03-10 2004-09-30 Sony Corp 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法

Also Published As

Publication number Publication date
JP2007006399A (ja) 2007-01-11

Similar Documents

Publication Publication Date Title
JP3863510B2 (ja) 動きベクトル符号化/復号化方法及びその装置
US9516336B2 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
KR101103723B1 (ko) 영상 부호화 방법 및 복호 방법, 그 장치, 그 프로그램 및 프로그램을 기록한 기록 매체
JP2015119502A (ja) 複数の動きベクトル・プレディクタを使用して動きベクトルを推定する方法、装置、エンコーダ、デコーダ及びデコーディング方法
JP2008048199A (ja) 動き予測処理装置、画像符号化装置および画像復号化装置
JP5426655B2 (ja) 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法
JP2009201112A (ja) 直接モード符号化及び復号化方法
JP2010041354A (ja) 動画像符号化方法、符号化装置及び符号化プログラム
JP2008066913A (ja) 画像データ処理方法、画像データ処理方法のプログラム、画像データ処理方法のプログラムを記録した記録媒体及び画像データ処理装置
JP2008141288A (ja) 動きベクトル検出装置および動きベクトル検出方法
KR102210274B1 (ko) 비디오 신호를 인코딩 및 디코딩하기 위한 장치들, 방법들 및, 컴퓨터 판독 가능 매체
JP2004242309A (ja) 飛越走査方式の動画符号化/復号化方法及びその装置
JP2914448B2 (ja) 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
JP4519723B2 (ja) 動きベクトルを利用する動画像データの符号化または復号化装置
JP2003259377A (ja) 動画像符号化方法、動画像復号化方法および符号列フォーマット
JP2006246277A (ja) 再符号化装置、再符号化方法、および再符号化用プログラム
JP4383367B2 (ja) 動きベクトル検出装置
JP5281597B2 (ja) 動きベクトル予測方法,動きベクトル予測装置および動きベクトル予測プログラム
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JP2016134852A (ja) 符号化装置、符号化方法及びプログラム
JP2007097063A (ja) 動画像符号化プログラム、動画像符号化方法および動画像符号化装置
JP3129279B2 (ja) 符号化装置および符号化方法、並びに記録媒体
JP4118180B2 (ja) 符号化復号化システム
JPH1023415A (ja) 画像符号化復号方法および装置
JP2009296282A (ja) スケーラブル動画像符号化方法、スケーラブル動画像符号化装置、スケーラブル動画像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

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

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

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees