JP2006166459A - 動きベクタ演算装置及びその方法 - Google Patents

動きベクタ演算装置及びその方法 Download PDF

Info

Publication number
JP2006166459A
JP2006166459A JP2005352532A JP2005352532A JP2006166459A JP 2006166459 A JP2006166459 A JP 2006166459A JP 2005352532 A JP2005352532 A JP 2005352532A JP 2005352532 A JP2005352532 A JP 2005352532A JP 2006166459 A JP2006166459 A JP 2006166459A
Authority
JP
Japan
Prior art keywords
motion vector
block
macroblock
memory
bank
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.)
Granted
Application number
JP2005352532A
Other languages
English (en)
Other versions
JP2006166459A5 (ja
JP4921784B2 (ja
Inventor
Yong-Mi Lee
容美 李
Deuk-Soo Jung
得秀 鄭
Chang-Young Jung
昌永 鄭
Jung-Sun Kang
▲ジュン▼善 姜
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006166459A publication Critical patent/JP2006166459A/ja
Publication of JP2006166459A5 publication Critical patent/JP2006166459A5/ja
Application granted granted Critical
Publication of JP4921784B2 publication Critical patent/JP4921784B2/ja
Expired - Fee Related 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/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/43Hardware specially adapted for motion estimation or compensation
    • 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

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

Abstract

【課題】動きベクタ演算装置及びその方法を提供する。
【解決手段】本発明の動きベクタ演算装置は、マクロブロック内の下側ブロックグループの動きベクタを貯蔵するための第1のバンク及び第2のバンクから構成される上側メモリと、マクロブロック内の右側ブロックグループの動きベクタを貯蔵するための左側メモリと、動作モードそして現在ブロックのスーパーマクロブロック内の位置によって上側メモリの第1/2のバンク及び左側メモリに貯蔵された動きベクタを参照して現在ブロックの動きベクタを予測する予測器と、を含む。これにより、ノーマルモードだけではなく、MBAFFモードでも動き補償過程で遂行される動きベクタ予測を効率的に遂行できる。特に、周辺マクロブロックの動きベクタを貯蔵する上側メモリを効果的に構造化してメモリのサイズを最小化することができる。
【選択図】図13

Description

本発明は、映像処理装置に関するものであり、より詳しくは、MBAFF(Macro Block Adaptive Field/Frame)モードを支援する映像処理装置の動きベクタ演算装置及びその方法に関するものである。
動画像信号の圧縮符号化及び復号化は、低速チャネル(low rate channel)を通じた動画像情報の伝送を可能とするだけではなく、動画像を貯蔵することに要求されるメモリの容量を減少させることができるので、こうした圧縮符号化及び復号化技術は動画像の貯蔵(storage)、伝送(transmission)などの応用を要求するマルチメディア産業における非常に重要な技術である。一方、マルチメディア産業の拡大と情報の互換性のためにこうした情報圧縮方法の標準化作業の必要性が台頭しながら現在まで多様な応用を中心に動画像標準化方案が設けられた。
国際電気通信連合(International Telecommunication Union Telecommunication Standard Sector;ITU−T)は、有無線通信網環境で動画像サービスのための標準規格であるH.261とH.263とを制定し、世界標準化機構(International Standardization Organization;ISO)も動画像標準規格のMPEG(Moving Picture Expert Group)−1、MPEG−2、MPEG−4を設けるなど世界的な標準化論議が活発であった。H.263+とMPEG−4標準が開発された後、無線通信が急激に拡大されつつ従前圧縮方法に比べてさらに向上された圧縮効率を提供し、多様な通信環境を受容できる動画像圧縮技術規格の必要性が発生した。故にITUは、H.26Lと命名された次世代符号化方式の‘技術提案要請書’を発表し、各企業体、研究所及び学界によって活発な研究が進行された。2001年のH.26Lプロジェクト以降、2003年5月にITU−Tは、H.264の標準を承認し、引き続き2003年8月のISO/IECでMPEG−4 Part 10をついに承認した。
ITU−TとISOが共同制定した次世代動画像圧縮標準H.264は多様なネットワーク環境に容易に応ずることができる柔軟性と動画像の符号化効率性側面でMPEG−2、MPEG−4(Part2)など既存技術標準に比べて多くの進歩があった。標準化及び具現過程に参与したエンジニアの評価によれば、H.264のデータ圧縮率は、現在DVDシステムに使用されたMPEG−2の2〜3倍であり、MPEG−4よりは1.5〜2倍以上高いという。新しい技術を用いれば、DVDと同一な画質を約2Mbpsのコーディング率で得ることができ、1Mbpsでは家庭用VCRのような画質を得ることができる。
実際製品とサービスにこの技術を適用すれば、映像データ容量を大幅に縮めながらデータ伝送率を低めることができる。MPEG−2は、ディジタル放送に多く使用され、MPEG−4は携帯電話用映像伝送に使用されるが、H.264はさらに高い圧縮率を必要とするアプリケーションに先ず使用されることと見える。
一般に動画像コーディング方法では、全体映像単位に動き予測及び補償を行う代わりに、一定したサイズの画素、すなわち横方向にM画素、縦方向にN画素の集合単位(MxN表記)に動き予測及び補償を遂行するが、こうした画素の集合をマクロブロック(Macroblock)という。一般に動画像コーディング方法では、マクロブロックのサイズを横に16画素、縦に16画素(16×16表記)に規定する。
一方、H.264/AVC又はMPEG−4 Part 10のような次世代動画像圧縮技術での動き予測及び補償はより小さい画素集合単位に遂行する。16×16マクロブロックサイズから16×8、8×16、8×8ブロックサイズまでマクロブロックモードタイプが決定され、8×8モードは再び8×4、4×8、4×4単位までサブモードタイプが決定される。従って、一つのマクロブロック内のブロックサイズが全て4×4単位である場合最大16個の動きベクタを有し、各ブロック別に動き推定及び予測を遂行しなければならない。
図1は、現在ブロックEについての動きベクタとこの動きベクタの予測に使用される周辺ブロックA,B,C及びDの位置とそれぞれの動きベクタを示す。現在ブロックEの動きベクタは、周辺ブロックA,B,C(或いはD)の各動きベクタを用いて求める。
以下、本明細書で周辺ブロックA,B,C及びDの位置は現在ブロックEを中心に図1に示されたようであり、現在ブロックの動きベクタはMV_E、周辺ブロックAの動きベクタはMV_A、周辺ブロックBの動きベクタはMV_B、周辺ブロックCの動きベクタはMV_Cそして周辺ブロックDの動きベクタはMV_Dに表記する。
現在ブロックの動きベクタを予測するため使用される周辺ブロックの動きベクタは、周辺マクロブロック内のブロックの動きベクタであるか、或いは現在ブロックの位置によっては現在マクロブロック内のブロックの動きベクタであっても良い。
図2A〜図2Cは、現在ブロックのモードタイプと位置によって周辺ブロックの位置を示している。図2Aは、現在マクロブロックEが16×16モードである場合動きベクタを予測するため必要な周辺ブロックを示す。周辺ブロックA,B,C及びDの動きベクタは、周辺マクロブロック内のブロックの動きベクタが使用される。図2B及び図2Cは、現在マクロブロックがそれぞれ16×8モードである場合であって、マクロブロックはマクロブロックより小さい画素集合E0,E1に分けられる。ブロックE0の周辺ブロックA,B,C及びDの動きベクタは、16×16モードと同様に周辺マクロブロック内のブロックの動きベクタが使用され、ブロックE1の周辺ブロックA,Dの動きベクタも周辺マクロブロック内のブロックの動きベクタを使用しているが、ブロックE1の周辺ブロックBの動きベクタは上の場合とは違って、現在マクロブロック内のブロックE0で計算された動きベクタが使用される。
また、ブロックCがコーディングしているスライス(Slice)の外部に存在するか、或いは図2Cで示したように、ブロックE1の周辺ブロックCが現在コーディングするマクロブロック以後にコーディングされるマクロブロック内のブロックであれば、MV_Cの代わりにMV_Dを使用してMV_AとMV_Bと共にブロックE1の動きベクタMV_Eを予測する。
このように、現在ブロックEの動きベクタを予測するためには、周辺ブロックA,B,C及びDの動きベクタが必要なので現在マクロブロックの以前にコーディングされたマクロブロック内のブロックの動きベクタを貯蔵していなければならない。
他方、H.264/AVCコーデック(Codec)は、コーディング効率を高めるためMBAFF(macroblock adaptive frame/field)モードを標準に採択した。図3Aは、縦方向の二つのマクロブロックの対を一つのスーパーマクロブロックとしてコーディングしたMBAFFモードの一例を示している。本明細書では、このように縦方向のマクロブロックの対をスーパーマクロブロックと称する。MBAFFモードではない場合、マクロブロックはフレーム(Frame)モード又はフィールド(Field)モードでのみコーディングされる反面に、MBAFFモードである場合には、スーパーマクロブロック単位にフレームモードとフィールドモードが混ぜられたコーディングが可能である。一般に、ノーマルモードはフレームモード又はノーマルモードのうちいずれか一つにコーディングすることをいう。
図3Bは、ノーマルモードでのスーパーマクロブロックを示している。図3Aに示されたMBAFFモードで、縦方向の二つのマクロブロックの対をスーパーマクロブロックと称したが、ノーマルモードでは一つのマクロブロックがスーパーマクロブロックに該当する。
図4は、スーパーマクロブロックがフィールドモードにコーディングされた場合とフレームモードにコーディングされた場合とを示している。スーパーマクロブロック内のマクロブロックがフィールドモードにコーディングされた場合、スーパーマクロブロックの上部(Top)マクロブロックは、奇数画素ラインでのみ構成され、スーパーマクロブロックの下部(Bottom)のマクロブロックは偶数画素ラインでのみ構成される。反面、スーパーマクロブロックがフレームモードにコーディングされれば、スーパーマクロブロックの上部及び下部マクロブロックは、奇数画素ラインと偶数画素ラインの分離なしで構成される。
一つの画面にフィールドモードにコーディングされたスーパーマクロブロックとフレームモードにコーディングされたスーパーマクロブロックが取り混ぜられている場合には、現在マクロブロックと周辺マクロブロックのフィールド/フレームコーディングの可否によって周辺ブロックの位置が変更され、これを求めるため複雑なインデキシング(Indexing)過程が必要になる。言い換えれば、現在マクロブロックと周辺マクロブロックがフレームモードにコーディングされたか、そうでなければフィールドモードにコーディングされたか、そして現在マクロブロックが上部であるか、そうでなければ下部であるかによって現在ブロックEの動きベクタを予測するため必要な周辺ブロックA,B,C及びDの位置が変更されるためである。
図5A〜図5Cは、現在マクロブロックと周辺マクロブロックのコーディングモードに応じる左側ブロックの動きベクタMV_Aを示している。現在マクロブロックと左側マクロブロックが全てフレームモードにコーディングされたか、全てフィールドモードにコーディングされた場合、現在ブロックEについての左側ブロックの動きベクタMV_Aは、図5Aのような方法に決定される。すなわち、矢印が示されるところに位置したブロックの動きベクタが現在ブロックEについての左側ブロックの動きベクタMV_Aである。
もし現在マクロブロックと左側マクロブロックのコーディングモードが相異なる方式である場合、すなわち現在マクロブロックがフレームモードにコーディングされ、左側マクロブロックがフィールドモードにコーディングされた場合、そして現在マクロブロックがフィールドモードにコーディングされ、左側マクロブロックがフレームモードにコーディングされたら、図5B及び図5Cのように現在ブロックEの位置によって複雑なインデキシング過程を経た後左側ブロックの動きベクタMV_Aが決定される。
図6A〜図6Cは、現在マクロブロックと周辺マクロブロックのコーディング方式による上側ブロックの動きベクタ位置を示す。図6A〜図6Cで、現在スーパーマクロブロック内の上部マクロブロックと下部マクロブロックとをそれぞれE_top、E_bottomに表記し、上側スーパーマクロブロック内の上部マクロブロックと下部マクロブロックとをそれぞれB_top、B_bottomに表記する。
図6Aのように、現在スーパーマクロブロックがフレームモードにコーディングされたら、上側スーパーマクロブロックのコーディング方式に互いに関係なく現在スーパーマクロブロックの上部マクロブロックE_topの上側動きベクタMV_Bは、上側スーパーマクロブロックの下部マクロブロックB_bottom内のブロックの動きベクタに決定され、現在スーパーマクロブロックの下部マクロブロックE_bottomの上側動きベクタMV_Bは現在スーパーマクロブロックの上部マクロブロックT_top内のブロックの動きベクタに決定される。
図6Bのように、現在スーパーマクロブロックと上側スーパーマクロブロックがそれぞれフィールドモードにコーディングされたら、現在スーパーマクロブロックの上部マクロブロックE_topの上側動きベクタMV_Bは、上側スーパーマクロブロックの上部マクロブロックB_top内のブロックの動きベクタに決定され、現在スーパーマクロブロックの下部マクロブロックE_bottomの上側動きベクタMV_Bは上側スーパーマクロブロックの下部マクロブロックB_bottom内のブロックの動きベクタに決定される。
図6Cのように、現在スーパーマクロブロックがフィールドモードにコーディングされ、上側スーパーマクロブロックがフレームモードにコーディングされたら、現在スーパーマクロブロックの上部マクロブロックE_topと現在スーパーマクロブロックの下部マクロブロックE_bottomの上側動きベクタMV_Bは上側スーパーマクロブロックの下部マクロブロックB_bottom内のブロックの動きベクタに決定される。
上側動きベクタMV_Bだけではなく、右上側動きベクタMV_C及び左上側動きベクタMV_Dも図6A〜図6Cに示されたことと類似した方法に選択でき、動きベクタMV_A、MV_B、MV_C(或いはMV_D)を用いて現在マクロブロック内のブロックの動きベクタを求めることができる。
動きベクタの予測は、隣接したブロックの動きベクタの間に動きベクタが類似した特性を用いて動きベクタを効率的にコーディングするところに目的がある。しかしながら、動きベクタの予測のためには周辺マクロブロック内のブロックの動きベクタを参照するので追加的なメモリが要求され、特にMBAFFモードを支援する場合には、参考するべき周辺ブロックの動きベクタの範囲が多様なのでそうではない場合よりメモリのサイズが増加する。また、マクロブロックのコーディング方法がフィールド/フレームモードである場合とマクロブロックの位置が上部/下部によって現在マクロブロックの動きベクタを予測する周辺ブロックの動きベクタを探すため複雑なインデキシング過程が必要である。従って、一つの映像の全てのマクロブロックの動きベクタを全て個別的に貯蔵するか、或いは一つのスライスに該当する全てのベクタを貯蔵する場合、メモリのサイズが大きくなり、インデキシング過程も複雑になる問題点がある。
本発明の技術的課題は、周辺マクロブロックの動きベクタを貯蔵するメモリを効果的に構造化してメモリのサイズを最小化することができる動きベクタ演算システム及びその方法を提供するところにある。
本発明の他の技術的課題は、周辺ブロックの動きベクタを探すため必要なインデキシング過程が単純化された動きベクタ演算システム及びその方法を提供するところにある。
本発明のさらに他の技術的課題は、MBAFFモードでだけではなく、ノーマルモードでも動き補償過程で遂行される動きベクタ演算を効率的に遂行する方法及び装置を提供するところにある。
前述した技術的課題を達成するための本発明の一特徴によれば、動きベクタ演算装置は、マクロブロック内の下側ブロックグループの動きベクタを貯蔵するための第1のバンク及び第2のバンクから構成される上側メモリと、マクロブロック内の右側ブロックグループの動きベクタを貯蔵するための左側メモリ、動作モードそして現在ブロックのスーパーマクロブロック内の位置によって上側メモリの第1/2のバンク及び左側メモリに貯蔵された動きベクタを参照して現在ブロックの動きベクタを予測する予測器と、を含む。
好適な実施形態において、演算装置は、現在ブロックの予測された動きベクタと動きベクタ差を足して動きベクタを出力する加算器をさらに含む。
この実施形態において、予測器は、現在スーパーマクロブロック内のブロックについての加算器から出力される動きベクタを貯蔵するためのレジスターを含む。
この実施形態において、動きベクタ演算装置は、MBAFFモードで動作する。
MBAFFモードで動きベクタ演算装置の特徴は次の通りである。
スーパーマクロブロックは、第1及び第2のマクロブロックを含む。第1及び第2のマクロブロックは、縦方向に隣接したマクロブロックの対である。
予測器は、現在ブロックが第1のマクロブロックに属するとき、加算器から出力される動きベクタが上側メモリの第1のバンクに貯蔵されるように制御する。
現在ブロックが第2のマクロブロックに属するとき、加算器から出力される動きベクタが上側メモリの第2のバンクに貯蔵されるように制御する。
上側メモリの第1及び第2のバンクそれぞれのサイズは、((w×a+1)×s)であり、wは、一つのフレームの横方向のマクロブロックの数、aは、一つのマクロブロック内の横方向のブロックの数、そしてsは動きベクタサイズである。
上側メモリの第1のバンクは、スーパーマクロブロックの左上側スーパーマクロブロックの第1のマクロブロックの下側ブロックグループの最後ブロックから左側スーパーマクロブロックの第1のマクロブロックの下側ブロックグループまでの動きベクタを貯蔵する。
上側メモリの第2のバンクは、スーパーマクロブロックの左上側スーパーマクロブロックの第2のマクロブロックの下側ブロックグループの最後ブロックから左側スーパーマクロブロックの第2のマクロブロックの下側ブロックグループまでの動きベクタを貯蔵する。
左上側スーパーマクロブロックは、スーパーマクロブロックと左側対角線方向に隣接したスーパーマクロブロックであり、左側スーパーマクロブロックは、スーパーマクロブロックと左側方向に隣接したスーパーマクロブロックである。
予測器は、開始アドレス、バンクアドレス及びオフセットアドレスを含むアドレスを発生して上側メモリをアクセスする。
開始アドレスは、スーパーマクロブロック毎に増加され、マクロブロックの下側ブロックグループに含まれたブロックの数ほどずつ増加される。開始アドレスがバンクサイズより大きいとき開始アドレスは、(開始アドレス−バンクサイズ)に再設定される。
バンクアドレスは、上側メモリの第1及び第2のバンクを選択するためのアドレスである。
オフセットアドレスは、マクロブロック内のブロックのサイズ、そして周辺ブロックの位置によって設定される。
アドレスは、開始アドレス、バンクのアドレス及びオフセットアドレスの和である。
予測器は、加算器から出力される動きベクタが上側メモリのアドレスが指定する位置に貯蔵されるように制御する。
左側メモリは、スーパーマクロブロックの左側スーパーマクロブロックの右側ブロックグループの動きベクタを貯蔵する。
好適な実施形態において、動きベクタ演算装置は、ノーマルモードで動作する。ノーマルモード間、演算装置の特徴は次の通りである。
スーパーマクロブロックは、第1のマクロブロックを含む。
予測器は、上側メモリの第1のバンク及び左側メモリに貯蔵された動きベクタそしてスーパーマクロブロックの既に求められた動きベクタを参照してスーパーマクロブロック内の現在ブロックの動きベクタを予測する。
予測器は、加算器から出力される動きベクタが上側メモリの第1のバンクに貯蔵されるように制御する。
前述した技術的課題を達成するための本発明の他の特徴によれば、第1及び第2のバンクを含む上側メモリ、左側メモリそして現在スーパーマクロブロックの動きベクタを貯蔵するためのレジスターを含む動きベクタ演算装置の動きベクタ演算方法は、動作モードそして現在ブロックの現在スーパーマクロブロック内の位置によって上側メモリの第1/2のバンク、左側メモリそしてレジスターに貯蔵された動きベクタを参照して現在ブロックの動きベクタを計算する段階と、動作モードそして現在ブロックの現在スーパーマクロブロック内の位置によって動きベクタを上側メモリの第1/2のバンク又は左側メモリに貯蔵する段階と、を含む。
好適な実施形態において、動きベクタを計算する段階は、上側メモリ及び左側メモリに貯蔵された動きベクタ及び現在スーパーマクロブロック内既に求められた動きベクタを参照して現在ブロックの動きベクタを予測する段階と、予測された動きベクタと動きベクタ差を足して現在ブロックの動きベクタを出力する段階と、を含む。
この実施形態において、動きベクタ演算方法は、MBAFFモードで動作する。
MBAFFモードで動きベクタ演算方法の特徴は次の通りである。
スーパーマクロブロックは、第1のマクロブロック及び第2のマクロブロックを含み、第1及び第2のマクロブロックは、縦方向に隣接したマクロブロックの対である。
貯蔵段階は、現在ブロックがスーパーマクロブロックの第1のマクロブロックの下側ブロックグループに属するとき現在ブロックの計算された動きベクタを上側メモリの第1のバンクに貯蔵する段階と、現在ブロックがスーパーマクロブロックの第2のマクロブロックの下側ブロックグループに属するとき現在ブロックの計算された動きベクタを上側メモリの第2のバンクに貯蔵する段階と、を含む。
貯蔵段階は、現在ブロックがマクロブロックの右側ブロックグループに属するとき現在ブロックの動きベクタを左側メモリに貯蔵する段階を含む。
上側メモリの第1及び第2のバンクそれぞれのサイズは、((w×a+1)×s)であり、wは一つのフレームの横方向のマクロブロックの数、aは一つのマクロブロック内の横方向のブロックの数、そしてsは動きベクタサイズである。
動きベクタ演算方法は、上側メモリをアクセスするためのアドレスを発生する段階をさらに含む。
アドレスは、開始アドレス、バンクアドレス及びオフセットアドレスを含む。バンクアドレスは、上側メモリの第1及び第2のバンクを選択するためのアドレスであり、開始アドレスは、スーパーマクロブロック毎に増加されるアドレスである。開始アドレスは、マクロブロックの下側ブロックグループに含まれたブロックの数ほどずつ増加される。開始アドレスがバンクサイズより大きいとき開始アドレスは、(開始アドレス−バンクサイズ)に再設定される。オフセットアドレスは、マクロブロック内のブロックのサイズによって設定される。アドレスは、開始アドレス、バンクアドレス及びオフセットアドレスの和である。
動きベクタを予測する段階は、現在ブロックの右上側ブロックが有効であり、現在ブロックが第1のマクロブロックの上側ブロックグループに属するとき、上側メモリに貯蔵された上側ブロック及び右上側ブロックの動きベクタを読み出して上側動きベクタと右上側動きベクタにそれぞれ取る段階を含む。
動きベクタを予測する段階は、現在ブロックの右上側ブロックが有効であり、現在ブロックが第1のマクロブロックの上側ブロックグループに属するとき、レジスターに貯蔵された上側ブロックの動きベクタ及び右上側ブロックの動きベクタを上側動きベクタと右上側動きベクタにそれぞれ取る段階をさらに含む。
動きベクタを予測する段階は、現在ブロックの右上側ブロックが有効ではなく、現在ブロックが第1のマクロブロックの上側ブロックグループに属するとき、上側メモリに貯蔵された上側ブロック及び左上側ブロックの動きベクタを読み出して上側動きベクタと左上側動きベクタにそれぞれ取る段階をさらに含む。
動きベクタを予測する段階は、現在ブロックの右上側ブロックが有効ではなく、現在ブロックが第1のマクロブロックの上側ブロックグループに属するとき、レジスターに貯蔵された上側ブロックの上側動きベクタと左上側ブロックの動きベクタとを上側動きベクタと左上側動きベクタにそれぞれ取る段階をさらに含む。
動きベクタを予測する段階は、現在ブロックがマクロブロックの左側境界面に位置するとき、左側メモリに貯蔵された左側ブロックの動きベクタを左側動きベクタに取る段階をさらに含む。
動きベクタを予測する段階は、現在ブロックがマクロブロックの左側境界面に位置しないとき、現在スーパーマクロブロック内の左側ブロックの動きベクタを左側動きベクタに取る段階をさらに含む。
動きベクタを予測する段階は、上側動きベクタ、左/右上側動きベクタそして左側動きベクタに基づいて現在ブロックの動きベクタを予測する段階をさらに含む。
このような本発明によれば、ノーマルモードだけではなく、MBAFFモードでも動き補償過程で遂行される動きベクタ予測を効率的に遂行できる。特に、周辺マクロブロックの動きベクタを貯蔵するメモリを効果的に構造化してメモリのサイズを最小化し、ひいてはMBAFFモード時必要なマクロブロックインデキシングのためのメモリアドレス発生過程を単純化することによって電力消耗を減らすことができる。
以下、添付した図面を参照して本発明の好適な実施形態を詳細に説明する。
本発明の動きベクタ予測システムは、動きベクタ予測時必要な周辺マクロブロックの動きベクタを効率的に貯蔵することによってMBAFFモードだけではなく、ノーマルモードでも使用可能でありながらサイズが最小化されたメモリを備える。また、本発明は、現在及び周辺マクロブロックのコーディング方式によってメモリに貯蔵された周辺ブロックの動きベクタMV_A、MV_B、MV_C及びMV_Dを決定する方法と周辺マクロブロックの動きベクタをメモリに更新する方法とを提供する。
現在ブロックの動きベクタを推定するためには、周辺マクロブロック内のブロックの動きベクタを参照しなければならなく、こうした周辺ブロックは現在マクロブロック前に処理されたマクロブロックであるためマクロブロックの動きベクタをメモリに貯蔵していなければならない。
図7は、現在マクロブロックEと周辺マクロブロックA、B、C及びDとを4×4ブロックの16個に分けたことを示している。もし現在マクロブロック内のブロックが最小サイズである4×4モードである場合には、総16個動きベクタを予測しなければならないため周辺マクロブロックも横方向に4等分、縦方向に4等分分けられてそれぞれのブロックについての動きベクタがメモリに貯蔵されなければならない。
周辺マクロブロックの動きベクタを貯蔵するメモリは、左側マクロブロック内のブロックの動きベクタMV_Aを貯蔵する左側(left)メモリと上側、左上側そして右上側マクロブロック内のブロックの動きベクタMV_B、MV_D、MV_Cを貯蔵する上側(upper)メモリに分けられる。
現在マクロブロックEの左側動きベクタMV_Aを予測するためには左側マクロブロックAの右側ブロックグループA5,A7,A13,A15の動きベクタが必要であり、これは左側メモリに貯蔵される。現在マクロブロックEの上側動きベクタMV_Bを予測するために必要な上側マクロブロックBの下側ブロックグループB10,B11,B14,B15の動きベクタと、現在マクロブロックEの左上側動きベクタMV_Dを予測するために必要な左上側マクロブロックDの下側ブロックグループに属するブロックD15そして現在マクロブロックEの右上側動きベクタMV_Cを予測するために必要な右上側マクロブロックCの下側ブロックグループに属するブロックC10は上側メモリに貯蔵される。
例えば、図7で現在ブロックE0の動きベクタを予測するためには左側メモリに貯蔵された周辺ブロックA5の動きベクタと上側メモリに貯蔵された周辺ブロックB10,B11(又はD15)の動きベクタが使用される。ブロックE5の動きベクタを予測するためには、上側メモリに貯蔵された周辺ブロックB15,C10(又はB14)の動きベクタと現在マクロブロック内のブロックE4の動きベクタが使用される。反面にブロックE3の動きベクタを求めるためには、現在マクロブロック内のブロックE2,E1,E4(又はE0)の動きベクタのみ使用され、左側メモリと上側メモリは参考しない。右上側ブロックが存在しないブロックE7のような場合には、右上側ブロックの代わりに左上側ブロックE4の動きベクタを使用するためこのような条件も考慮してやらなければならない。
先ず、上側メモリに貯蔵される動きベクタについて以下説明する。上側メモリに貯蔵されるブロックの動きベクタは、現在マクロブロックの上側、左上側、右上側マクロブロックの動きベクタであり、メモリのサイズは画面の横側マクロブロック数に比例する。
MBAFFモードである場合、前述したように周辺ブロックの動きベクタを探すため複雑なインデキシング過程が必要である。こうしたインデキシング過程を単純化させるために本発明ではスーパーマクロブロックの上部マクロブロックと下部マクロブロックの動きベクタをそれぞれ他のバンクに貯蔵させるため上部メモリを二つのバンクに分ける。
図8Aは、MBAFFモードで上側メモリに貯蔵される周辺ブロックを示しており、図8Bは、ノーマルモードで上側メモリに貯蔵される周辺ブロックを示している。また、図9は、上部メモリ構造を示している。MBAFFモードで、スーパーマクロブロックの上部マクロブロック内のブロックの動きベクタは、第2のバンク(BANK2)に貯蔵され、下部マクロブロックのブロックの動きベクタは第1のバンク(BANK1)に貯蔵される。一方、ノーマルモードでスーパーマクロブロックは一つのマクロブロックのみを含むため、スーパーマクロブロック内の動きベクタは第2のバンク(BANK2)に貯蔵される。
上側メモリ110には、一つのマクロブロックの下側ブロックグループに属する4個のブロックの動きベクタが貯蔵されるため、メモリのサイズは一つの画面の横方向のマクロブロックの数に比例する。式(1)は、各バンクの最小サイズを示しており、式(2)は全体メモリの最小サイズを示している。
バンクサイズ=(w×a+1)×(動きベクタサイズ) ・・・(1)
メモリサイズ=バンクサイズ×2 ・・・(2)
式(1)で、動きベクタのサイズは、動きベクタを表現するビット数をいい、wは一つのフレームの横方向のマクロブロックの数、そしてaは一つのマクロブロック内の横方向のブロックの数である。この実施形態で、一つのマクロブロックは横方向に4個のブロックを含むため、aは4である。左上側ブロックについての動きベクタを貯蔵するためにメモリのサイズは、(w×4)より1ほど大きい数の倍数でなければならない。
例えば、図8Aで、現在(2w+4)及び(2w+5)番目マクロブロックについての動きベクタを予測するために上側メモリ110に貯蔵された動きベクタは斜線であるブロックの動きベクタである。また、図8Bで、現在(2w+2)番目マクロブロックについての動きベクタを予測するために上側メモリ110に貯蔵された動きベクタは斜線であるブロックの動きベクタである。
本発明では、メモリのサイズを最小化するため、上側メモリに動きベクタを貯蔵するとき、既に使用されたメモリ領域にデータを重ね書きする(overwrite)。詳細に説明すれば、現在マクロブロックの動きベクタが予測された後には現在マクロブロックの下側ブロックグループに属する4個のブロックの動きベクタがメモリに貯蔵されなければならない。この際、メモリのサイズを最小化するため、現在マクロブロックの下側ブロックグループに属する4個のブロックは、もはや参照される可能性がない動きベクタが貯蔵されたメモリ領域に重ね書きされる。
図10は、MBAFFモードで上側メモリの二つのバンクのうち上部マクロブロック内のブロックの動きベクタを貯蔵する第2のバンク(BANK2)の動きベクタ貯蔵方法を概念的に示している。
先ず、図10の<S1>は図8に示された0番目マクロブロックから(2w−2)番目マクロブロックの動きベクタが第2のバンク(BANK2)に貯蔵された状態を示している。0番目マクロブロックから(2w−2)番目マクロブロックの動きベクタはアドレスADDRの0から(W−1)*4+3まで順次に貯蔵される。この状態では、(2w)及び(2w+1)番目マクロブロックについての動きベクタ予測が遂行される。前述したように、上側メモリに貯蔵される各マクロブロックのブロックは下側ブロックグループに属する4個のブロックである。
図10の<S2>は、(2w)及び(2w+1)番目マクロブロックについての動きベクタが遂行された後、(2w)番目マクロブロックの下側ブロックグループに属する4個のブロックの動きベクタが第2のバンク(BANK2)に貯蔵される場合を示している。(2w)番目マクロブロックの下側ブロックグループに属する4個のブロックの動きベクタの一部は、第2のバンク(BANK2)の、それ以上使用されることのない0番目マクロブロックの下側ブロックグループに属する4個のブロックの動きベクタの一部が貯蔵された位置に重ね書きされる。すなわち、(2w)番目マクロブロックの下側ブロックグループに属する4個のブロックのうち一番目ブロックは、第2のバンク(BANK2)のアドレス(w+4)に重ね書きされる。そして、(2w)番目マクロブロックの下側ブロックグループに属する4個のブロックのうち残り3個のブロックは第2のバンク(BANK2)のアドレス0から2まで順次に重ね書きされる。
図10の<S3>は、(2w+2)番目マクロブロックの動きベクタの第2のバンク(BANK2)に貯蔵された状態を示している。図10Bと類似に、(2w+2)番目マクロブロックの4個の動きベクタは、(2w+2)番目マクロブロックの動きベクタが予測された後不要になったメモリ領域(0番目及び2番目マクロブロックが貯蔵された領域)であるアドレス3から6まで重ね書きされる。このように、一つの画面の最後マクロブロックの動きベクタが予測されるときまで現在マクロブロックの動きベクタがメモリに重ね書きされるため動きベクタ予測のために上側メモリのサイズは(4w+1)であれば十分である。
図11は、ノーマルモードで上側メモリの二つのバンクのうち第2のバンク(BANK2)にマクロブロックの動きベクタを貯蔵する方法を概念的に示している。図11に示されたノーマルモードでの動きベクタ貯蔵方法は、図10に示されたMBAFFモードでの動きベクタ貯蔵方法と類似する。但し、ノーマルモードでは、スーパーマクロブロックが一つのマクロブロックのみを含むため、0番目マクロブロックから順次に第2のバンク(BANK2)に貯蔵される。
左側メモリの構造は上側メモリに比べて簡単である。図12は、左側メモリを示している。左側メモリに貯蔵される動きベクタは、現在マクロブロックの左側に位置したマクロブロックの右側ブロックグループの動きベクタである。ノーマルモードである場合には、4個の動きベクタのみ貯蔵すれば良いが、MBAFFモードである場合には、上部マクロブロックで4個の動きベクタ、下部マクロブロックで4個の動きベクタが貯蔵されなければならないため総8個の動きベクタが左側メモリに貯蔵される。
前述したように、現在マクロブロックの動きベクタを求めるためには周辺マクロブロック内のブロックの動きベクタを参照するため、動きベクタを貯蔵するメモリが必要である。特に、MBAFFモードである場合には、参照される周辺ブロックの場合の数が増加するため貯蔵されるべき動きベクタの数も増加し、動きベクタ選択条件も複雑になる。従って、本発明ではかかる問題を解決するためメモリのサイズを最小に減少させながら周辺ブロックの動きベクタを簡単な方法で選択できる動きベクタ予測装置を提供する。
図13は、本発明の好適な実施形態による動きベクタ予測装置を示している。動きベクタ演算装置100は、上側メモリ110と、左側メモリ120と、動きベクタ予測器130そして加算器150と、を含む。好適な実施形態による本発明の上側メモリ110と左側メモリ120は、SRAM(Static Random Access Memory)から構成される。
動きベクタ予測器130は、加算器150から出力される現在スーパーマクロブロックの動きベクタを貯蔵するためのレジスター140を含む。動きベクタ予測器130は、外部から入力されるマクロブロックの情報に基づいて上側メモリ110及び左側メモリ120をアクセスするためのアドレス信号を生成する。マクロブロック情報は、ノーマル/MBAFFモード情報、現在マクロブロックと周辺マクロブロックのコーディングモードがフレーム/フィールドモードであるかの情報、現在マクロブロックの画素集合のサイズ情報などを含む。上側メモリ110及び左側メモリ120に貯蔵される動きベクタは前述したようである。動きベクタ予測器130は、上側メモリ110と左側メモリ120そしてレジスター140に貯蔵された現在スーパーマクロブロック内のブロックの動きベクタを参照して現在ブロックの動きベクタを予測する。加算器180は、動きベクタ予測器140から出力される予測動きベクタと外部から提供される動きベクタ差を足して現在ブロックの動きベクタを出力する。
動きベクタ予測器140から発生される上側メモリ110のアドレスは、バンクアドレスと、開始アドレスそしてオフセットアドレスと、を含む。バンクアドレスは図6のように、現在マクロブロックと周辺マクロブロックのフレーム/フィールドモードに応じて決定されるアドレスであって、周辺スーパーマクロブロックの中で参照されるブロックの位置が上部マクロブロックに属すれば、第2のバンク(BANK2)が選択され、参照されるブロックの位置が下部マクロブロックに属すれば、第1のバンク(BANK1)が選択されるように発生される。
開始アドレスは、マクロブロック単位に変化するアドレスであって、図14のように、マクロブロック当たり貯蔵される動きベクタの個数である4ずつ増加し、バンクサイズより広ければ、(開始アドレス−バンクサイズ)に更新される。
オフセットアドレスは、ブロックモードによって周辺ブロックの位置が違われることを補償するアドレスでブロックのサイズによって決定される。図15A〜図15Cは、オフセットアドレスを決定する方法を概念的に示している。例えば、図15Aに示されたように、マクロブロック内のブロックが16×16モードであるとき、周辺ブロックDのオフセットアドレスは、開始アドレスと同一に0であり、周辺ブロックBのオフセットアドレスは1、周辺ブロックCのアドレスは5である。
図15Bのように、マクロブロック内のブロックが8×8モードである場合には、横方向にブロックが2個存在するため、オフセットアドレスを2番計算しなければならない。ブロックB1の周辺ブロックDのオフセットアドレスは開始アドレスと同一に0であり、周辺ブロックBのオフセットアドレスは1、周辺ブロックCのアドレスは3である。ブロックB2の周辺ブロックDのオフセットアドレスは、開始アドレスと同一な値ではない2であり、周辺ブロックBのオフセットアドレスは3、周辺ブロックCのアドレスは5である。
図15Cでは、マクロブロック内のブロックが4×4モードである場合オフセットアドレスを計算する方法を示している。マクロブロック内のブロックが4×4モードであるとき横方向にブロックが4個存在すればブロックB3,B4,B5,B6のそれぞれの周辺ブロックB,C,Dのオフセットアドレスは、前述した方法と同一な方法に求められる。
マクロブロック毎に変えるバンクアドレスと開始アドレスそしてブロック毎に変えるオフセットアドレスを全て足した値が上側メモリ120の最終アドレスになる。
左側メモリ120は、現在マクロブロックの左側マクロブロックの動きベクタのみを貯蔵するため、図5に示されたように現在マクロブロックと周辺マクロブロックのフレーム/フィールドモードのみ知っていれば複雑なインデキシング過程なしで左側メモリ120を参照できる。
図16A〜図16Bは、本発明の好適な実施形態による動きベクタ予測方法を示すフローチャートである。
段階S300で、上側メモリ110の開始アドレスが計算される。段階S301で、ブロックCの有効性が判別される。図2A及び図2Bに示された例で周辺ブロックCは、現在マクロブロックの動きベクタ予測のため必要であるが、図2Cに示されたように、ブロックE1の周辺ブロックCが現在マクロブロック以後にコーディングされるマクロブロック内のブロックである場合ブロックCの代わりにブロックDが周辺ブロックとして使用される。判別結果、ブロックCが有効であれば段階S310に進行する。
段階S310で、現在ブロックEが上側マクロブロックの上側ブロックグループに属するかの可否が判別される。図7を参照すれば、現在ブロックEが上側マクロブロックの上側ブロックグループに位置するブロックE0,E1,E4のうちいずれか一つであれば、上側メモリ110から周辺ブロックB,Cの動きベクタを読み出してそれぞれ上側動きベクタ及び右上側動きベクタに取る(段階S311)。現在ブロックEが上側マクロブロックの上側ブロックグループではない位置に存在するブロックE2,E3,E6,E8,E9,E12,E10,E11,E14のうちいずれか一つであれば、レジスター140に貯蔵された現在マクロブロックで周辺ブロックB,Cの動きベクタをそれぞれ上側動きベクタ及び右上側動きベクタに取る(段階S312)。
先に、段階S301の判別結果、ブロックCが有効でなければ、段階S320に進行する。段階S320で、現在ブロックEが上側マクロブロックの境界面に位置するかの可否が判別される。図7を参照すれば、現在ブロックEが上側マクロブロックの上側ブロックグループに属するブロックE5であれば、上側メモリ110から周辺ブロックB,Dの動きベクタを読み出してそれぞれ上側動きベクタと左上側動きベクタに取る(段階S321)。もし現在ブロックEが上側マクロブロックの上側ブロックグループではない位置に存在するブロックE7,E13,E15であれば、レジスター140に貯蔵された現在マクロブロックE内の周辺ブロックB,Dの動きベクタをそれぞれ上側動きベクタと左上側動きベクタに取る(段階S322)。
段階S311,S312,S321及びS322のうちいずれか一つが遂行された後であれば、現在ブロックEについての上側動きベクタそして右上側動きベクタ又は左上側動きベクタが得られる。
段階S330で、現在ブロックEが左側ブロックグループに属するかの可否が判別される。現在ブロックEが左側マクロブロックの境界面に位置するブロックE0,E2,E8,E10のうちいずれか一つであれば、左側メモリ120から周辺ブロックAの動きベクタが読み出される(段階S331)。現在ブロックEが左側マクロブロックの境界面に位置しないブロックE1,E3〜E15のうちいずれか一つであれば、現在マクロブロックで周辺ブロックAの動きベクタが求められる(段階S332)。
段階S331又は段階S332が遂行された後であれば、周辺ブロックAの動きベクタが得られる。
従って、段階S340では、求められた周辺ブロックA,BそしてC又はDの動きベクタを用いてブロックEの予測動きベクタが計算される。
先の段階S301〜段階S340は、図13に示された予測動きベクタ検出部140によって遂行される。予測動きベクタ検出部140から出力される予測動きベクタは加算器150によって足された後上側メモリ110及び左側メモリ120に提供される。
段階S341で、現在ブロックEが右側ブロックグループに属するかの可否が判別される。図7を参照すれば、現在ブロックEが右側ブロックグループに属するブロックE5,E7,E13,E15のうち一つであれば、次マクロブロックの動きベクタ予測時周辺ブロックBとして使用されるため左側メモリ120に貯蔵されなければならない(段階S342)。
段階S343で、現在ブロックEが下側ブロックグループに属するかの可否が判別される。再び図7を参照すれば、現在ブロックEが下側ブロックグループに属するブロックE10,E11,E14,E15のうち一つであれば、次マクロブロックの動きベクタ予測時周辺ブロックB,C又はDとして使用されるため、上側メモリ110に貯蔵されなければならない(段階S344)。
段階S345で、現在マクロブロックのブロック全てについての動きベクタ予測が遂行されたかの可否が判別される。前述したような段階によって一つのマクロブロックに属するブロックそれぞれについての動きベクタが計算される。
現在ブロックEについての動きベクタとこの動きベクタの予測に使用される周辺ブロックA,B,C及びDの位置とそれぞれの動きベクタを示す図面である。 現在ブロックのモードタイプと位置によって周辺ブロックの位置を示す図面である。 現在ブロックのモードタイプと位置によって周辺ブロックの位置を示す図面である。 現在ブロックのモードタイプと位置によって周辺ブロックの位置を示す図面である。 縦方向の二つのマクロブロックの対を一つのスーパーマクロブロックとしてコーディングしたMBAFFモードの一例を示す図面である。 ノーマルモードでのスーパーマクロブロックを示す図面である。 スーパーマクロブロックがフィールドモードにコーディングされた場合とフレームモードにコーディングされた場合とを示す図面である。 現在マクロブロックと周辺マクロブロックのコーディングモードによる左側ブロックの動きベクタMV_Aを示す図面である。 現在マクロブロックと周辺マクロブロックのコーディングモードによる左側ブロックの動きベクタMV_Aを示す図面である。 現在マクロブロックと周辺マクロブロックのコーディングモードによる左側ブロックの動きベクタMV_Aを示す図面である。 現在マクロブロックと周辺マクロブロックのコーディング方式による上側ブロックの動きベクタ位置を示す図面である。 現在マクロブロックと周辺マクロブロックのコーディング方式による上側ブロックの動きベクタ位置を示す図面である。 現在マクロブロックと周辺マクロブロックのコーディング方式による上側ブロックの動きベクタ位置を示す図面である。 現在マクロブロックEと周辺マクロブロックA,B,C及びDを4×4ブロックの16個に分けたことを示す図面である。 MBAFFモードで上側メモリに貯蔵される周辺ブロックを示す図面である。 ノーマルモードで上側メモリに貯蔵される周辺ブロックを示す図面である。 上部メモリ構造を示す図面である。 上側メモリの二つのバンクのうち下部マクロブロック内のブロックの動きベクタを貯蔵する第2のバンクの動きベクタ貯蔵方法を概念的に示す図面である。 ノーマルモードで上側メモリの二つのバンクのうち第2のバンクにマクロブロックの動きベクタを貯蔵する方法を概念的に示す図面である。 左側メモリを示す図面である。 本発明の好適な実施形態による動きベクタ予測装置を示す図面である。 スーパーマクロブロック単位に変化する開始アドレス発生方法を示すフローチャートである。 オフセットアドレスを決定する方法を概念的に示す図面である。 オフセットアドレスを決定する方法を概念的に示す図面である。 オフセットアドレスを決定する方法を概念的に示す図面である。 本発明の好適な実施形態による動きベクタ予測方法を示すフローチャートである。 本発明の好適な実施形態による動きベクタ予測方法を示すフローチャートである。
符号の説明
100:動きベクタ演算装置
110:上側メモリ
120:左側メモリ
130:動きベクタ予測器
140:レジスター
150:加算器

Claims (52)

  1. マクロブロック内の下側ブロックグループの動きベクタを貯蔵するための第1のバンク及び第2のバンクから構成される上側メモリと;
    マクロブロック内の右側ブロックグループの動きベクタを貯蔵するための左側メモリ;そして
    動作モードそして現在ブロックのスーパーマクロブロック内の位置によって前記上側メモリの第1/2のバンク及び前記左側メモリに貯蔵された動きベクタを参照して前記現在ブロックの動きベクタを予測する予測器と;
    を含むことを特徴とする動きベクタ演算装置。
  2. 前記現在ブロックの前記予測された動きベクタと動きベクタ差を足して動きベクタを出力する加算器をさらに含むことを特徴とする請求項1に記載の動きベクタ演算装置。
  3. 前記予測器は、
    前記現在スーパーマクロブロック内のブロックについての前記加算器から出力される動きベクタを貯蔵するためのレジスターを含むことを特徴とする請求項2に記載の動きベクタ演算装置。
  4. 前記動きベクタ演算装置は、MBAFFモードで動作することを特徴とする請求項3に記載の動きベクタ演算装置。
  5. 前記スーパーマクロブロックは、第1及び第2のマクロブロックを含むことを特徴とする請求項4に記載の動きベクタ演算装置。
  6. 前記第1及び第2のマクロブロックは、縦方向に隣接したマクロブロックの対であることを特徴とする請求項5に記載の動きベクタ演算装置。
  7. 前記予測器は、
    前記現在ブロックが前記第1のマクロブロックに属するとき、前記加算器から出力される動きベクタが前記上側メモリの前記第1のバンクに貯蔵されるように制御することを特徴とする請求項6に記載の動きベクタ演算装置。
  8. 前記現在ブロックが前記第2のマクロブロックに属するとき、前記加算器から出力される動きベクタが前記上側メモリの前記第2のバンクに貯蔵されるように制御すること
    を特徴とする請求項7に記載の動きベクタ演算装置。
  9. 前記上側メモリの前記第1及び第2のバンクそれぞれのサイズは、
    ((w×a+1)×s)であり、
    wは、一つのフレームの横方向のマクロブロックの数、
    aは、一つのマクロブロック内の横方向のブロックの数、そして
    sは、動きベクタサイズであることを特徴とする請求項8に記載の動きベクタ演算装置。
  10. 前記上側メモリの前記第1のバンクは、
    前記スーパーマクロブロックの左上側スーパーマクロブロックの第1のマクロブロックの下側ブロックグループの最後ブロックから左側スーパーマクロブロックの第1のマクロブロックの下側ブロックグループまでの動きベクタを貯蔵することを特徴とする請求項9に記載の動きベクタ演算装置。
  11. 前記上側メモリの前記第2のバンクは、
    前記スーパーマクロブロックの左上側スーパーマクロブロックの第2のマクロブロックの下側ブロックグループの最後ブロックから左側スーパーマクロブロックの第2のマクロブロックの下側ブロックグループまでの動きベクタを貯蔵することを特徴とする請求項10に記載の動きベクタ演算装置。
  12. 前記左上側スーパーマクロブロックは、前記スーパーマクロブロックと左側対角線方向に隣接したスーパーマクロブロックであることを特徴とする請求項11に記載の動きベクタ演算装置。
  13. 前記左側スーパーマクロブロックは、前記スーパーマクロブロックと左側方向に隣接したスーパーマクロブロックであることを特徴とする請求項12に記載の動きベクタ演算装置。
  14. 前記予測器は、
    開始アドレス、バンクアドレス及びオフセットアドレスを含むアドレスを発生して前記上側メモリをアクセスすることを特徴とする請求項13に記載の動きベクタ演算装置。
  15. 前記開始アドレスは、スーパーマクロブロック毎に増加されることを特徴とする請求項14に記載の動きベクタ演算装置。
  16. 前記開始アドレスは、前記マクロブロックの前記下側ブロックグループに含まれたブロックの数ほどずつ増加されることを特徴とする請求項15に記載の動きベクタ演算装置。
  17. 前記開始アドレスが前記バンクサイズより大きいとき前記開始アドレスは、(開始アドレス−バンクサイズ)に再設定されることを特徴とする請求項16に記載の動きベクタ演算装置。
  18. 前記バンクアドレスは、前記上側メモリの前記第1及び第2のバンクを選択するためのアドレスであることを特徴とする請求項17に記載の動きベクタ演算装置。
  19. 前記オフセットアドレスは、前記マクロブロック内のブロックのサイズによって設定されることを特徴とする請求項18に記載の動きベクタ演算装置。
  20. 前記オフセットアドレスは、周辺ブロックの位置によって設定されること
    を特徴とする請求項19に記載の動きベクタ演算装置。
  21. 前記アドレスは、
    前記開始アドレス、前記バンクのアドレス及び前記オフセットアドレスの和であることを特徴とする請求項20に記載の動きベクタ演算装置。
  22. 前記予測器は、
    前記加算器から出力される動きベクタが前記上側メモリの前記アドレスが指定する位置に貯蔵されるように制御することを特徴とする請求項21に記載の動きベクタ演算装置。
  23. 前記左側メモリは、
    前記スーパーマクロブロックの前記左側スーパーマクロブロックの右側ブロックグループの動きベクタを貯蔵することを特徴とする請求項22に記載の動きベクタ演算装置。
  24. 前記動きベクタ演算装置は、ノーマルモードで動作することを特徴とする請求項23に記載の動きベクタ演算装置。
  25. 前記スーパーマクロブロックは、第1のマクロブロックを含むことを特徴とする請求項24に記載の動きベクタ演算装置。
  26. 前記予測器は、
    前記上側メモリの前記第1のバンク及び前記左側メモリに貯蔵された動きベクタそして前記スーパーマクロブロックの既に求められた動きベクタを参照して前記スーパーマクロブロック内の現在ブロックの動きベクタを予測することを特徴とする請求項25に記載の動きベクタ演算装置。
  27. 前記予測器は、
    前記加算器から出力される動きベクタが前記上側メモリの前記第1のバンクに貯蔵されるように制御することを特徴とする請求項26に記載の動きベクタ演算装置。
  28. 第1及び第2のバンクを含む上側メモリ、左側メモリそして現在スーパーマクロブロックの動きベクタを貯蔵するためのレジスターを含む動きベクタ演算装置の動きベクタ演算方法であって、
    動作モードそして現在ブロックの現在スーパーマクロブロック内の位置によって前記上側メモリの第1/2のバンク、前記左側メモリそして前記レジスターに貯蔵された動きベクタを参照して前記現在ブロックの動きベクタを計算する段階;および
    前記動作モードそして前記現在ブロックの前記現在スーパーマクロブロック内の位置によって前記動きベクタを上側メモリの前記第1/2のバンク又は前記左側メモリに貯蔵する段階;
    を含むことを特徴とする動きベクタ演算方法。
  29. 前記動きベクタを計算する段階は、
    前記上側メモリ及び前記左側メモリに貯蔵された動きベクタ及び前記現在スーパーマクロブロック内既に求められた動きベクタを参照して前記現在ブロックの動きベクタを予測する段階;および
    前記予測された動きベクタと動きベクタ差を足して前記現在ブロックの動きベクタを出力する段階;
    を含むことを特徴とする請求項28に記載の動きベクタ演算方法。
  30. 前記動きベクタ演算方法は、MBAFFモードで動作することを特徴とする請求項29に記載の動きベクタ演算方法。
  31. 前記スーパーマクロブロックは、第1のマクロブロック及び第2のマクロブロックを含むことを特徴とする請求項30に記載の動きベクタ演算方法。
  32. 前記第1及び第2のマクロブロックは、縦方向に隣接したマクロブロックの対であることを特徴とする請求項31に記載の動きベクタ演算方法。
  33. 前記貯蔵段階は、
    前記現在ブロックが前記スーパーマクロブロックの前記第1のマクロブロックの下側ブロックグループに属するとき前記現在ブロックの前記計算された動きベクタを前記上側メモリの前記第1のバンクに貯蔵する段階;および
    前記現在ブロックが前記スーパーマクロブロックの前記第2のマクロブロックの下側ブロックグループに属するとき前記現在ブロックの前記計算された動きベクタを前記上側メモリの前記第2のバンクに貯蔵する段階;
    を含むことを特徴とする請求項32に記載の動きベクタ演算方法。
  34. 前記貯蔵段階は、
    前記現在ブロックが前記マクロブロックの右側ブロックグループに属するとき前記現在ブロックの動きベクタを前記左側メモリに貯蔵する段階を含むことを特徴とする請求項33に記載の動きベクタ演算方法。
  35. 前記上側メモリの前記第1及び第2のバンクそれぞれのサイズは、
    ((w×a+1)×s)であり、
    wは、一つのフレームの横方向のマクロブロックの数、
    aは、一つのマクロブロック内の横方向のブロックの数、そして
    sは、動きベクタサイズであることを特徴とする請求項34に記載の動きベクタ演算方法。
  36. 前記上側メモリをアクセスするためのアドレスを発生する段階をさらに含むことを特徴とする請求項35に記載の動きベクタ演算方法。
  37. 前記アドレスは、
    開始アドレス、バンクアドレス及びオフセットアドレスを含むことを特徴とする請求項36に記載の動きベクタ演算方法。
  38. 前記バンクアドレスは、前記上側メモリの前記第1及び第2のバンクを選択するためのアドレスであることを特徴とする請求項37に記載の動きベクタ演算方法。
  39. 前記開始アドレスは、マクロブロック毎に増加されることを特徴とする請求項38に記載の動きベクタ演算方法。
  40. 前記開始アドレスは、前記マクロブロックの前記下側ブロックグループに含まれたブロックの数ほどずつ増加されることを特徴とする請求項39に記載の動きベクタ演算方法。
  41. 前記開始アドレスが前記バンクサイズより大きいとき前記開始アドレスは、(開始アドレス−バンクサイズ)に再設定されることを特徴とする請求項40に記載の動きベクタ演算方法。
  42. 前記オフセットアドレスは、前記マクロブロック内のブロックのサイズによって設定されることを特徴とする請求項41に記載の動きベクタ演算方法。
  43. 前記アドレスは、
    前記開始アドレス、前記バンクのアドレス及び前記オフセットアドレスの和であることを特徴とする請求項42に記載の動きベクタ演算方法。
  44. 前記動きベクタを予測する段階は、
    前記現在ブロックの右上側ブロックが有効であり、前記現在ブロックが前記第1のマクロブロックの上側ブロックグループに属するとき、前記上側メモリに貯蔵された上側ブロック及び前記右上側ブロックの動きベクタを読み出して上側動きベクタと右上側動きベクタにそれぞれ取る段階を含むことを特徴とする請求項43に記載の動きベクタ演算方法。
  45. 前記動きベクタを予測する段階は、
    前記現在ブロックの右上側ブロックが有効であり、前記現在ブロックが前記第1のマクロブロックの前記上側ブロックグループに属するとき、前記レジスターに貯蔵された前記上側ブロックの動きベクタ及び前記右上側ブロックの動きベクタを前記上側動きベクタと前記右上側動きベクタにそれぞれ取る段階をさらに含むことを特徴とする請求項44に記載の動きベクタ演算方法。
  46. 前記動きベクタを予測する段階は、
    前記現在ブロックの右上側ブロックが有効ではなく、前記現在ブロックが前記第1のマクロブロックの前記上側ブロックグループに属するとき、前記上側メモリに貯蔵された上側ブロック及び左上側ブロックの動きベクタを読み出して上側動きベクタと左上側動きベクタにそれぞれ取る段階をさらに含むことを特徴とする請求項45に記載の動きベクタ演算方法。
  47. 前記動きベクタを予測する段階は、
    前記現在ブロックの右上側ブロックが有効ではなく、前記現在ブロックが前記第1のマクロブロックの上側ブロックグループに属するとき、前記レジスターに貯蔵された前記上側ブロックの上側動きベクタと前記左上側ブロックの動きベクタを前記上側動きベクタと前記左上側動きベクタにそれぞれ取る段階をさらに含むことを特徴とする請求項46に記載の動きベクタ演算方法。
  48. 前記動きベクタを予測する段階は、
    前記現在ブロックがマクロブロックの左側境界面に位置するとき、前記左側メモリに貯蔵された左側ブロックの動きベクタを左側動きベクタに取る段階をさらに含むことを特徴とする請求項47に記載の動きベクタ演算方法。
  49. 前記動きベクタを予測する段階は、
    前記現在ブロックがマクロブロックの左側境界面に位置しないとき、前記現在スーパーマクロブロック内の左側ブロックの動きベクタを左側動きベクタに取る段階をさらに含むことを特徴とする請求項48に記載の動きベクタ演算方法。
  50. 前記動きベクタを予測する段階は、
    前記上側動きベクタ、左/右上側動きベクタそして左側動きベクタに基づいて現在ブロックの動きベクタを予測する段階をさらに含むことを特徴とする請求項49に記載の動きベクタ演算方法。
  51. 前記動きベクタ演算方法は、ノーマルモードで動作することを特徴とする請求項29に記載の動きベクタ演算方法。
  52. ノーマルモード間前記貯蔵段階は、
    前記現在ブロックが前記マクロブロックの下側ブロックグループに属するとき、前記現在ブロックの前記計算された動きベクタを前記上側メモリの前記第1のバンクに貯蔵する段階を含むことを特徴とする請求項51に記載の動きベクタ演算方法。
JP2005352532A 2004-12-09 2005-12-06 動きベクタ演算装置及びその方法 Expired - Fee Related JP4921784B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040103717A KR101104828B1 (ko) 2004-12-09 2004-12-09 움직임 벡터 연산 장치 및 그 방법
KR10-2004-0103717 2004-12-09

Publications (3)

Publication Number Publication Date
JP2006166459A true JP2006166459A (ja) 2006-06-22
JP2006166459A5 JP2006166459A5 (ja) 2009-01-29
JP4921784B2 JP4921784B2 (ja) 2012-04-25

Family

ID=36611464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005352532A Expired - Fee Related JP4921784B2 (ja) 2004-12-09 2005-12-06 動きベクタ演算装置及びその方法

Country Status (3)

Country Link
US (1) US7853091B2 (ja)
JP (1) JP4921784B2 (ja)
KR (1) KR101104828B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048289A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
JP2008048199A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 動き予測処理装置、画像符号化装置および画像復号化装置
JP2008048200A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
JP4534935B2 (ja) * 2005-10-04 2010-09-01 株式会社日立製作所 トランスコーダ、記録装置及びトランスコード方法
KR101325795B1 (ko) * 2006-08-22 2013-11-05 엘지전자 주식회사 H.264/avc에서 매크로블록 데이터의 디코딩 방법 및디코딩 장치
US20100232511A1 (en) * 2009-03-12 2010-09-16 Himax Media Soltuions, Inc. Motion compensator, motion compensating method, and motion-compensated video decoder implementing the same
KR20110068793A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화 및 복호화를 위한 장치 및 방법
JP2011259205A (ja) 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
US9699456B2 (en) 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP2004056823A (ja) * 2002-07-16 2004-02-19 Samsung Electronics Co Ltd 動きベクトル符号化/復号化方法及びその装置
JP2004096705A (ja) * 2002-01-09 2004-03-25 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および動きベクトル復号化方法
JP2005086825A (ja) * 2003-09-07 2005-03-31 Microsoft Corp 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム
JP2006508584A (ja) * 2002-11-27 2006-03-09 タンドベルク・テレコム・エイ・エス ベクトル予測のための方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448310A (en) * 1993-04-27 1995-09-05 Array Microsystems, Inc. Motion estimation coprocessor
KR950014343B1 (ko) * 1993-05-20 1995-11-24 한국방송공사 고화질 티브(hdtv)의 화상데이타 움직임 추정방법 및 그 장치
JPH07250328A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
KR19990005602A (ko) * 1997-06-30 1999-01-25 배순훈 프레임 메모리에 있어서 듀얼 프라임 필드 예측방법
JP4014263B2 (ja) 1997-10-01 2007-11-28 松下電器産業株式会社 映像信号変換装置及び映像信号変換方法
US6519287B1 (en) 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
US6552749B1 (en) * 1999-01-29 2003-04-22 Intel Corporation Method and apparatus for video motion compensation, reduction and color formatting
KR100680452B1 (ko) * 2000-02-22 2007-02-08 주식회사 팬택앤큐리텔 움직임 벡터 메모리의 갱신방법 및 장치
US7035470B2 (en) * 2001-02-05 2006-04-25 Ati Technologies, Inc. System for handling errors related to IDCT data and method thereof
JP2004187107A (ja) 2002-12-04 2004-07-02 Fujitsu Ltd 動画像符号化方法及び動画像復号化方法
JP3715283B2 (ja) * 2003-02-04 2005-11-09 株式会社半導体理工学研究センター 動画像の画像圧縮符号化方法及び装置
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
JP4712642B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 デブロッキングフィルタ、画像符号化装置および画像復号化装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004096705A (ja) * 2002-01-09 2004-03-25 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および動きベクトル復号化方法
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
JP2004056823A (ja) * 2002-07-16 2004-02-19 Samsung Electronics Co Ltd 動きベクトル符号化/復号化方法及びその装置
JP2006508584A (ja) * 2002-11-27 2006-03-09 タンドベルク・テレコム・エイ・エス ベクトル予測のための方法
JP2005086825A (ja) * 2003-09-07 2005-03-31 Microsoft Corp 順方向予測インターレース映像フレームのフィールド用の動きベクトルの予測
JP2005295526A (ja) * 2004-03-11 2005-10-20 Matsushita Electric Ind Co Ltd 画像符号化方法、画像符号化装置および画像符号化プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008048199A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd 動き予測処理装置、画像符号化装置および画像復号化装置
JP2008048200A (ja) * 2006-08-17 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP4592656B2 (ja) * 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
US8189669B2 (en) 2006-08-17 2012-05-29 Fujitsu Semiconductor Limited Motion prediction processor with read buffers providing reference motion vectors for direct mode coding
JP2008048289A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
US8155197B2 (en) 2006-08-18 2012-04-10 Fujitsu Semiconductor Limited Interframe prediction processor with mechanism for providing locations of reference motion vectors used in macroblock adaptive field/frame mode

Also Published As

Publication number Publication date
KR101104828B1 (ko) 2012-01-16
US7853091B2 (en) 2010-12-14
US20060140275A1 (en) 2006-06-29
KR20060065013A (ko) 2006-06-14
JP4921784B2 (ja) 2012-04-25

Similar Documents

Publication Publication Date Title
JP4921784B2 (ja) 動きベクタ演算装置及びその方法
KR100931750B1 (ko) 움직임 벡터 계산방법
KR101068707B1 (ko) 움직임 벡터 계산방법
CN101283600B (zh) 参考图像选择方法以及装置
JP5697614B2 (ja) デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化
JP5248636B2 (ja) 動き補償装置、画面間予測復号化装置、動き補償方法、および集積回路
US8073057B2 (en) Motion vector estimating device, and motion vector estimating method
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
JP2014150568A (ja) 画像の符号化および復号化
JP2007053561A (ja) 画像符号化装置および画像符号化方法
JP2011097572A (ja) 動画像符号化装置
JPWO2009044475A1 (ja) 符号化装置、符号化方法、符号化プログラムおよび符号化回路
JP4709155B2 (ja) 動き検出装置
JP2010119084A (ja) 高速動き探索装置及びその方法
US20080013632A1 (en) Integer pixel motion estimation system, motion estimation system for quarter-pixel luminance, motion estimation system for quarter-pixel chrominance, motion estimation system for combined luminance, motion estimation system for combined lumance and chrominance, and motion estimation system for quarter-pixel luminance and chrominance
JP4957780B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
KR100834443B1 (ko) 비디오 코덱을 위한 메모리 구조 및 메모리 액세스 방법
JP2008052522A (ja) 画像データアクセス装置及び画像データアクセス方法
JP2012253476A (ja) 映像符号化装置
JP2009081781A (ja) 動き補償装置及び動き補償方法
KR101368732B1 (ko) 고성능 h.264/avc 인코더용 움직임 예측장치 및 움직임 예측방법
JP2011097488A (ja) 映像圧縮符号化装置
JP3387883B2 (ja) 画像処理装置、および画像処理方法
JP4438949B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
JP2007195080A (ja) 動画像復号化装置及び動画像復号化プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111208

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees