JP4879558B2 - 動きベクトル検出装置 - Google Patents

動きベクトル検出装置 Download PDF

Info

Publication number
JP4879558B2
JP4879558B2 JP2005320189A JP2005320189A JP4879558B2 JP 4879558 B2 JP4879558 B2 JP 4879558B2 JP 2005320189 A JP2005320189 A JP 2005320189A JP 2005320189 A JP2005320189 A JP 2005320189A JP 4879558 B2 JP4879558 B2 JP 4879558B2
Authority
JP
Japan
Prior art keywords
motion vector
picture
block
search range
target block
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
JP2005320189A
Other languages
English (en)
Other versions
JP2007129498A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2005320189A priority Critical patent/JP4879558B2/ja
Priority to US11/591,451 priority patent/US8451898B2/en
Priority to CN2006101380215A priority patent/CN1960496B/zh
Publication of JP2007129498A publication Critical patent/JP2007129498A/ja
Application granted granted Critical
Publication of JP4879558B2 publication Critical patent/JP4879558B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、複数のピクチャからなる動画像のピクチャ間予測符号化に用いられる動きベクトル検出装置であって、ピクチャの一部であるブロックが他のピクチャのどの位置から動いてきたかを検出し、その動きを動きベクトルで表現する動きベクトル検出装置に関する。
動画像符号化においては、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮を行う。ここで、時間方向の冗長性を利用する方法として、ピクチャ間予測符号化が用いられる。ピクチャ間予測符号化では、あるピクチャを符号化する際に、表示順序で前方または後方にあるピクチャを参照ピクチャとする。そして、その参照ピクチャからの動きベクルトルを検出し、動き補償を行ったピクチャと符号化対象のピクチャとの差分値に対して空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
MPEGなどの動画像符号化方式では、参照ピクチャを持たずに符号化対象ピクチャのみを用いてピクチャ内予測符号化を行うピクチャをIピクチャと呼ぶ。ここでピクチャとは、フレームおよびフィールドの両者を包含する1つの符号化の単位を意味する。また、既に符号化済みの1枚のピクチャを参照してピクチャ間予測符号化するピクチャをPピクチャと呼び、既に符号化済みの2枚のピクチャを同時に参照してピクチャ間予測符号化するピクチャをBピクチャと呼ぶ。
図22は、動画像符号化方式における各ピクチャの予測関係を示す模式図である。
図22において、縦線は1枚のピクチャを示しており、各ピクチャの右下にピクチャタイプ(I、P、B)を示している。また図22中の矢印は、矢印の始端にあるピクチャが、矢印の終端にあるピクチャを参照ピクチャとして用いてピクチャ間予測符号化されることを示している。例えば、先頭から2枚目のBピクチャは、先頭のIピクチャと先頭から4枚目のPピクチャを参照ピクチャとして用いることにより符号化される。
図23は、ピクチャの表示順序および符号化順序を示す図である。
図23の(a)に示すように、各ピクチャの表示順序は、PピクチャP1、BピクチャB2、BピクチャB3、PピクチャP4、BピクチャB5、BピクチャB6、PピクチャP7、BピクチャB8、BピクチャB9、PピクチャP10となる。一方、これらピクチャの符号化順序は、図23の(b)に示すように、BピクチャB0、PピクチャP4、BピクチャB2、BピクチャB3、PピクチャP7、BピクチャB5、BピクチャB6、PピクチャP10、BピクチャB8、BピクチャB9となる。
なお、従来のMPEG−2のような動画像符号化方式に対し、最新の動画像符号化方式H.264では、Bピクチャは3枚以上のピクチャを参照してもよい。
図24は、H.264における参照関係を示す図である。
この図24に示すように、Bピクチャは、例えば、前方の2枚のPピクチャと、後方の1枚のPピクチャとを参照する。そしてBピクチャにおける動きベクトルが検出される。このように、H.264では、同じ1枚のBピクチャに対して、動きベクトル検出のために参照可能な参照ピクチャの枚数が、MPEG2より多くなっている(例えば、非特許文献1参照)。
ところで、ピクチャ間予測符号化における動きベクトルの検出は、ブロック単位に行なわれる。符号化対象ピクチャに含まれるブロックごとに、そのブロックの画像に最も近い画像を有するブロックが、参照ピクチャの中から探索される。そして、動きベクトルの検出では、通常、演算量の負荷と動きベクトルの精度を考慮し、動きベクトル検出の探索範囲が事前に設定される。このとき、時間の経過とともに対象が移動する場合を想定し、符号化対象のピクチャと参照ピクチャとの間の距離に比例して、動きベクトルの探索範囲を拡大しておく必要がある。
図25は、動きベクトルの検出における探索範囲を示す図である。
例えば、符号化対象ピクチャと参照ピクチャとの間の距離(ピクチャ間距離)が1のときに、動きベクトルの探索範囲が±S×±Sである場合、そのピクチャ間距離がdになると、動きベクトルの探索範囲は(d×±S)×(d×±S)となる。このように、探索範囲はd×d倍に拡大する。すなわち、ピクチャ間距離が長くなる場合、探索範囲は、その距離の変化の割合の自乗に比例して拡大する。
図25に示すように、(n+3)番目の符号化対象ピクチャに含まれるブロックの動きベクトルMV1,MV2,MV3を、n番目の参照ピクチャ、(n+1)番目の参照ピクチャ、または(n+2)番目の参照ピクチャを用いて検出する場合、(n+1)番目の参照ピクチャの探索範囲は、(n+2)番目の参照ピクチャの探索範囲の2×2倍であり、n番目の参照ピクチャの探索範囲は、n+2番目の参照ピクチャの探索範囲の3×3倍となる。
このように、ピクチャ間距離が増大すると、動きベクトルの探索範囲は急激に拡大し、動きベクトル検出の演算回数も膨大になる。このため、演算回数を削減するために、テレスコピックサーチにより動きベクトルを検出する動きベクトル検出装置が提案されている(例えば、特許文献1、2及び3参照)。
テレスコピックサーチは、参照ピクチャと符号化対象ピクチャとの間に存在するピクチャに対して順次動き探索を行うことにより、動きベクトルを検出する手法である。この方法では、ピクチャ間距離が長くなっても、探索範囲は、その距離の変化の割合の自乗ではなく、その割合に比例して拡大する。
図26は、テレスコピックサーチを示す図である。
例えば、(n+3)番目の符号化対象ピクチャに含まれるブロック(対象ブロック)の動きベクトルを、n番目の参照ピクチャを用いて検出する。この場合、テレスコピックサーチでは、まず、(n+2)番目のピクチャの対象ブロックと同一位置を中心とする探索範囲(±S×±S)を用いて、(n+3)番目のピクチャから(n+2)番目のピクチャに対する動きベクトルv1を検出する。続いて、(n+1)番目のピクチャにある、動きベクトルv1の示す位置と同一位置を中心とする探索範囲(±S×±S)を用いて、(n+3)番目のピクチャから(n+1)番目のピクチャに対する動きベクトルv2+v1を検出する。同様に、n番目のピクチャにある、動きベクトルv2+v1の示す位置と同一位置を中心とする探索範囲(±S×±S)を用いて、n+3番目のピクチャからn番目のピクチャへの動きベクトルv3+v2+v1を検出する。この動きベクトルを対象ブロックの動きベクトルv0とする。つまり、全体の探索範囲は3×(±S×±S)となる。
Draft of Version 4 of H.264/AVC(ITU−TRecommendation H.264 and ISO/IEC 14496−10 (MPEG−4 part 10) Advanced Video Coding), Joint Video Team (JVT) of ISO/IEC MPEG & ITU−T VCEG、Document:JVT−N050d1、2005−01−28 特許第2830183号公報 特許第3335137号公報 特開平10−341440号公報
しかしながら、テレスコピックサーチを行なう特許文献1〜3の動きベクトル検出装置であっても、動きベクトルを検出するときの演算量が多いという問題がある。
つまり、テレスコピックサーチでは、参照ピクチャと符号化対象ピクチャの間に存在するピクチャに対して順次動き探索を行うことにより、各ピクチャにおける探索範囲は、それぞれピクチャ間距離に関係なく一定となる。しかし、テレスコピックサーチでは、参照ピクチャと符号化対象ピクチャの間に存在するピクチャに対しても順次動き探索を行うため、参照ピクチャとは無関係な途中のピクチャまで参照しなければならず、その参照回数はピクチャ間距離に比例する。したがって、全体的な探索範囲は、ピクチャ間距離に比例して大きくなり、その結果、動きベクトルを検出するときの演算量が多くなるのである。
さらに、テレスコピックサーチを行なう動きベクトル検出装置では、回路規模が増大するという問題がある。つまり、この動きベクトル検出装置では、参照ピクチャを格納しているメモリから、動きベクトルの検出のために読み出される探索範囲のデータ量が多い。その結果、この動きベクトル検出装置では、メモリの転送動作クロックを高速化したりメモリバンド幅(ビット幅)を広げたりするために回路規模が増大するのである。
図27は、一枚の参照ピクチャにおける探索範囲の変化を示す図である。
一般に、対象ブロック(通常は、マクロブロックであって、例えば、16画素×16ラインから構成されるブロック)に対する参照ピクチャRP1の探索範囲TA1は、参照ピクチャRP1において対象ブロックと同一位置にあるブロックTB1を中心とする範囲である。ここで、参照ピクチャRP1は、水平H画素および垂直Vラインから構成され、探索範囲TA1は、水平h画素および垂直vラインから構成される。したがって、対象ブロックの動きベクトルを検出するときには、水平h画素および垂直vラインのデータがメモリから読み出される。
次に、対象ブロックが水平方向にシフトすると、その対象ブロックに対する参照ピクチャRP1の探索範囲TA2は、参照ピクチャRP1において対象ブロックと同一位置にあるブロックTB2を中心とする範囲となる。したがって、対象ブロックが水平方向にシフトすると、探索範囲もブロックの幅wだけシフトする。この場合、対象ブロックの動きベクトルを検出するときにメモリから読み出されるデータは、探索範囲TA2のデータのうち探索範囲TA1に含まれていなかったデータのみとなる。即ち、新たにメモリから読み出されるデータは、16画素および垂直vラインのデータとなる。
このように、対象ブロックが水平方向にシフトすると、新たな探索範囲に含まれる全てのデータがメモリから読み出されるのではなく、直前の探索範囲に含まれていなかったデータのみがメモリから読み出される。
ここで、テレスコピックサーチの場合、互いに隣接するピクチャごとに上述のような探索範囲のデータがメモリから読み出される。しかし、この場合には、各ピクチャの探索範囲が常にブロックの幅だけシフトするとは限らず、大きくシフトする可能性がある。そのため、探索範囲のデータをメモリから読み出して動きベクトルの検出を行い、そのデータを次の動きベクトルの検出用に蓄積しておいても、ほとんど重複するデータがないので、新たな探索範囲のデータの多くをメモリから読み込む必要がある。したがって、テレスコピックサーチの場合には、メモリからの転送データ量が多くなるのである。また、その結果、消費電力が上昇してしまう。
そこで、本発明は、かかる問題に鑑みてなされたものであって、動きベクトルの検出のための演算量を低減して回路規模の縮小化を図った動きベクトル検出装置を提供することを目的とする。
上記目的を達成するために、本発明に係る動きベクトル検出装置は、参照ピクチャを蓄積する蓄積部と、前記蓄積部に蓄積された同じ参照ピクチャを参照して、複数のピクチャに亘って空間的に同じ位置のブロックについてそれぞれ動きベクトルを検出した後、前記複数のピクチャ内の別の空間位置におけるブロックについてそれぞれ動きベクトルを検出する動きベクトル検出部と、を備え、前記動き検出部は、複数のピクチャに亘って同じ空間位置のブロックについてそれぞれ動きベクトルを検出する際、前記複数のピクチャのうちいずれかのピクチャ内のブロックについて動きベクトルを検出する前に、既に他のピクチャ内の同じ空間位置のブロックについて動きベクトルを検出していた場合、検出済みの動きベクトルに基づいて、動きベクトルの検出対象であるブロックにおける動きベクトルの予測値を算出し、当該予測値に基づいて前記参照ピクチャ内の参照領域を決定し、前記決定された参照領域内のデータを用いて動きベクトルを検出し、動きベクトルの検出対象である前記複数のピクチャのそれぞれは、前記同じ参照ピクチャを参照するピクチャであって、前記検出済みの動きベクトルは、前記複数のピクチャのうち表示順で中間に位置するピクチャにおいて検出された動きベクトルである。
上記目的を達成するために、本発明に係る動きベクトル検出装置は、参照ピクチャを蓄積する蓄積部と、前記蓄積部に蓄積された同じ参照ピクチャを参照して、複数のピクチャに亘って空間的に同じ位置のブロックについてそれぞれ動きベクトルを検出した後、前記複数のピクチャ内の別の空間位置におけるブロックについてそれぞれ動きベクトルを検出する動きベクトル検出部と、を備える。
また、上記目的を達成するために、本発明に係る動きベクトル検出装置は、ピクチャに含まれる対象ブロックの動きベクトルを検出する動きベクトル検出装置であって、第1のピクチャに含まれる対象ブロックと近似する画像を有するブロックを、参照ピクチャから探索することにより、前記第1のピクチャに含まれる前記対象ブロックの第1の動きベクトルを検出する第1の動き検出手段と、前記第1の動きベクトルに基づいて、前記参照ピクチャの探索範囲を特定する探索範囲特定手段と、第2のピクチャに含まれる対象ブロックと近似する画像を有するブロックを、前記探索範囲から探索することにより、前記第2のピクチャに含まれる前記対象ブロックの第2の動きベクトルを検出する第2の動き検出手段とを備えることを特徴とする。例えば、前記探索範囲特定手段は、前記第1および第2のピクチャと前記参照ピクチャとの間での表示時刻の時間差に応じて、前記第1の動きベクトルをスケーリングすることにより、前記第2のピクチャの前記対象ブロックの予測動きベクトルを算出する予測演算手段と、前記予測演算手段により算出された予測動きベクトルにより示される前記参照ピクチャの範囲を前記探索範囲として特定する特定手段とを備える。
第1および第2のピクチャの表示時刻が互いに近く、それぞれのピクチャに含まれる対象ピクチャが空間的に同一の位置にあれば、第1および第2の動きベクトルの向きは等しくなる傾向にある。したがって、本発明では、例えば、第1の動きベクトルから予測動きベクトルが算出されて探索範囲が特定されるように、第1の動きベクトルに基づいて探索範囲が特定されるため、第2の動きベクトルを検出するための探索範囲を適切に特定することができる。その結果、従来のように、第2のピクチャが参照ピクチャから表示時間的に離れていても、参照ピクチャにおける探索範囲を広げることなく、適切な探索範囲で第2のピクチャの対象ブロックの動きベクトルを検出することができる。また、本発明では、テレスコピックサーチのように、直接必要のない動きベクトルまで検出する必要がない。その結果、本発明では全体的な探索範囲を小さくすることができる。さらに、本発明では、第2のピクチャの対象ブロックをずらしながら各対象ブロックの第2の動きベクトルを検出するときにも、テレスコピックサーチと比べて、参照ピクチャを格納しているメモリ(ピクチャメモリ)からの転送データ量を少なくすることができる。即ち、本発明では、表示順序で参照ピクチャと第2のピクチャとの間に他のピクチャがあっても、他のピクチャにおける探索範囲のデータをメモリから読み出す必要がなく、さらに、対象ブロックをずらしながら各対象ブロックの第2の動きベクトルを検出するときには、前回に読み出した探索範囲を有効に利用して、新たにメモリから読み出すデータ量を減らすことができる。
したがって、本発明では、探索範囲を適切な範囲とすることができるため、動きベクトルの検出のための演算量を低減することができるとともに、メモリからの転送データ量を少なくすることができるため、回路規模の縮小化を図ることができる。
また、前記予測演算手段は、前記第2のピクチャにおいて前記第1のピクチャの前記対象ブロックと空間的同一位置にある同位置ブロックを、前記第2のピクチャの前記対象ブロックとして、当該対象ブロックの前記予測動きベクトルを算出し、前記第2の動き検出手段は、前記同位置ブロックを前記第2のピクチャの前記対象ブロックとして、当該対象ブロックの前記第2の動きベクトルを検出することを特徴としてもよい。
これにより、第1のピクチャの対象ブロックと第2のピクチャの対象ブロックとがそれぞれ、各ピクチャ内において空間的に同一の位置にあるため、予測動きベクトルを第2の動きベクトルに近づけることができる。即ち、予測動きベクトルの精度を向上することができ、その結果、探索範囲をより適切に特定することができる。
また、前記第1の動き検出手段は、前記第1のピクチャごとに、当該第1のピクチャに含まれる前記対象ブロックの前記第1の動きベクトルを検出し、前記探索範囲特定手段は、複数の前記第1のピクチャのうち、前記第2のピクチャとの間の表示時刻の時間差が最も短いピクチャの第1の動きベクトルに基づいて、前記参照ピクチャの探索範囲を特定することを特徴としてもよい。
これにより、第1の動きベクトルが複数あるときには、第2のピクチャと表示時間的に近い第1のピクチャの第1の動きベクトルに基づいて探索範囲が特定されるため、第1の動きベクトルが複数あっても、適切な探索範囲を特定することができる。
また、前記特定手段は、前記予測動きベクトルにより示される前記参照ピクチャの範囲と、前記参照ピクチャにおいて前記第2のピクチャの前記対象ピクチャと空間的同一位置にあるブロックとを、前記探索範囲として特定することを特徴としてもよい。
これにより、前記参照ピクチャにおいて第2のピクチャの対象ピクチャと空間的に同一位置にあるブロックが探索範囲に含まれるため、予測動きベクトルにより示される参照ピクチャの範囲に、第2のピクチャの対象ピクチャと近似する画像を有するブロックがなくても、その他の範囲からそのブロックを探索することができ、第2動きベクトルを適切に検出することができる。
また、前記第1または第2の動き検出手段は、既に検出した前記第1または第2の動きベクトルを用いた前記第1または第2のピクチャの前記対象ブロックに対する符号化処理が行なわれている間に、前記第1または第2のピクチャに含まれる他の対象ブロックの第1または第2の動きベクトルを検出することを特徴としてもよい。
これにより、この動きベクトル検出装置が動画像符号化装置に組み込まれたときには、符号化処理と動き検出処理とがパイプライン処理されるため、全体的な処理時間の短縮化を図ることができる。
なお、本発明は、このような動きベクトル検出装置として実現することができるだけでなく、その方法やプログラム、そのプログラムを格納する記憶媒体、集積回路としても実現することができる。
本発明の動きベクトル検出装置は、動きベクトルの探索範囲を小さくして動きベクトルの演算量を低減することができるとともに、外部のメモリから読み出すデータ量を低減することで、低消費電力化および回路規模の縮小化を図ることができるという作用効果を奏する。
以下、本発明の実施の形態における動きベクトル検出装置を備えた動画像符号化装置について図面を参照しながら説明する。
図1は、本発明の実施の形態における動きベクトル検出装置を備えた動画像符号化装置のブロック図である。
動画像符号化装置100は、図1に示すように、ピクチャメモリ112,120、ブロック選択部111、差分演算部113、スイッチ114,127、符号化部115、整列化バッファ116、符号列生成部117、復号化部118、加算演算部119、動きベクトル検出部121、記憶部122、予測演算部123、探索範囲制御部124、モード選択部125および動き補償部126を備えている。
ピクチャメモリ112は、図23の(a)に示すように、動画像を示す複数の入力画像(ピクチャ)を表示順序で取得して格納する。そして、ピクチャメモリ112は、ブロック選択部111で選択された各ピクチャの対象ブロック(動きベクトルの検出対象や符号化対象となるブロック)を差分演算部113、スイッチ14および動きベクトル検出部121へ出力する。
ブロック選択部111は、ピクチャメモリ112に格納されたピクチャから、連続する複数枚のピクチャ単位、例えば、図23の(a)に示すピクチャP1,B2,B3,P4のような単位を選択する。さらに、ブロック選択部111は、それら各ピクチャから所定の位置の対象ブロックを選択して出力するようにピクチャメモリ112を制御する。また、ブロック選択部111は、選択した対象ブロックの位置情報とその対象ブロックが含まれるピクチャ(対象ピクチャ)の表示順情報を、動きベクトル検出部121、記憶部122、予測演算部123、探索範囲制御部124および整列化バッファ116に出力する。
差分演算部113は、入力画像に含まれる対象ブロックの画像と、動き補償部126から出力された予測画像との差分を算出し、その算出結果を予測残差画像として出力する。
スイッチ114は、対象ブロックに対してピクチャ内予測符号化が行われるときには、対象ブロックを符号化部115に出力し、対象ブロックに対してピクチャ間予測符号化が行なわれるときには、差分演算部113からの予測残差画像を符号化部115に出力する。
スイッチ127は、対象ブロックに対してピクチャ間処理が行なわれるときにのみ、動き補償部126からの予測画像を加算演算部119に出力する。
符号化部115は、スイッチ114から出力された対象ブロックまたは予測残差画像に対して周波数変換や量子化などの符号化処理を行なうことで符号化信号を生成する。
整列化バッファ116は、符号化信号に含まれるピクチャを規格に従った並びに配列し、その符号化信号を符号列生成部117に出力する。
符号列生成部117は、整列化バッファ116から出力された符号化信号に対して可変長符号化等を行う。さらに、符号列生成部117は、モード選択部125から動きベクトルや、動き予測のモードを示す情報(後述するダイレクトモード選択情報)などを取得し、可変長符号化された符号化信号に付加することにより、符号列を生成する。
復号化部118は、符号化部115から出力された符号化信号に対して逆量子化や逆周波数変換等の復号化処理を行うことで復号化画像を生成する。
加算演算部119は、復号化部118から出力された復号化画像と、動き補償部126からスイッチ127を介して出力された予測画像とを加算することで、再構築画像を生成する。
ピクチャメモリ120は、加算演算部119で生成されて出力された再構築画像を順次格納する。その結果、ピクチャメモリ120には参照ピクチャが格納される。
動きベクトル検出部121は、ピクチャメモリ112から出力された対象ブロックを取得する。また、動きベクトル検出部121は、その対象ブロックに対する参照ピクチャの探索範囲をピクチャメモリ120から読み出す。そして、動きベクトル検出部121は、対象ブロックの画像に近似する画像を有するブロックをその探索範囲から探索することにより、対象ブロックの画像の動きを示す動きベクトル(参照ピクチャに対する対象ブロックの動きベクトル)を検出する。
予測演算部123は、後述する時間ダイレクトモードにより、対象ブロックの動きベクトルを予測して予測動きベクトルを算出する。
探索範囲制御部124は、予測演算部123により算出された予測動きベクトルに基づいて、参照ピクチャの探索範囲を特定してその探索範囲を動きベクトル検出部121に設定する。
記憶部122は、動きベクトル検出部121で検出された動きベクトルを記憶するための領域を有する。
モード選択部125は、動き予測のモードを選択する。即ち、モード選択部125は、時間ダイレクトモードと非時間ダイレクトモードの何れかを選択する。そして、モード選択部125は、非時間ダイレクトモードを選択したときには、動きベクトル検出部121で検出された動きベクトルを符号列生成部117に出力し、時間ダイレクトモードを選択したときには、時間ダイレクトモードが選択されたことを通知するためのダイレクトモード選択情報を符号列生成部117に出力する。
また、本実施の形態における動きベクトル検出装置100aは、動きベクトルの検出のための演算量を低減して回路規模の縮小化を図ることができるという点に特徴があり、ブロック選択部111と、モード選択部125と、動きベクトル検出部121と、記憶部122と、予測演算部123と、探索範囲制御部124とを備えて構成されている。さらに、本実施の形態では、動きベクトル検出部121が、第1の動きベクトルを検出する第1の動き検出手段と、第2の動きベクトルを検出する第2の動き検出手段とを備えて構成され、予測演算部123と探索範囲制御部124とが、第1の動きベクトルに基づいて参照ピクチャの探索範囲を特定する探索範囲特定手段として構成されている。また、本実施の形態では、予測演算部123が、予測演算手段として構成され、探索範囲制御部124が、予測動きベクトルにより示される参照ピクチャの範囲を探索範囲として特定する特定手段として構成されている。
ここで、一般的な時間ダイレクトモードについて詳細に説明する。
H.264方式では、Bピクチャの符号化において、動きベクトルの情報を削減するため、ダイレクトモードという符号化モードを選択することができる。このダイレクトモードには、時間的方法と空間的方法との2種類の方法がある。時間ダイレクトモードでは、対象ブロック自体は動きベクトルを持たず、符号化済みの他のピクチャの動きベクトルを参照動きベクトルとして、ピクチャ間の表示時間的位置関係に基づいてスケーリングすることによって、対象ブロックの動きベクトルを予測して生成している。
図2は、時間ダイレクトモードにおける動きベクトルの予測生成方法を示す模式図である。なお、この図2に示すP1,B2などの符号中、PはPピクチャ、BはBピクチャを示し、数字は各ピクチャの表示順序を示している。また、各ピクチャP1,B2,B3,P4は、それぞれ表示順情報T1,T2,T3,T4を有している。つまり、各ピクチャは、ピクチャP1、ピクチャB2、ピクチャB3、ピクチャP4の順に表示される。
ここで、ピクチャB3のブロックBL0は、時間ダイレクトモードで符号化される。この場合、ピクチャB3の表示時間的に近傍に位置する既に符号化済みのピクチャであるピクチャP4中の、ブロックBL0と同じ位置にあるブロックBL1の動きベクトルMV1が利用される。この動きベクトルMV1は、ブロックBL1が符号化される際に用いられた動きベクトルであり、ピクチャP1を参照ピクチャとしている。
つまり時間ダイレクトモードでは、動きベクトルMV1を下記の(式1a)および(式1b)に適用することにより、ブロックBL0のピクチャP1に対する動きベクトル(前方動きベクトル)MVFと、ブロックBL0のピクチャP4に対する動きベクトル(後方動きベクトル)MVBとを算出する。なお、(式1a)および(式1b)中、Mvは動きベクトルMV1の大きさを示し、Mvfは動きベクトルMVFの大きさを示し、Mvbは動きベクトルMVBの大きさを示す。
Mvf=(T3−T1)/(T4−T1)×Mv … (式1a)
Mvb=(T4−T3)/(T4−T1)×Mv … (式1b)
このように、時間ダイレクトモードでは、動きベクトルMV1をスケーリングすることによって得られる動ベクトルMVFおよび動きベクトルMVBを用いて、ピクチャP1とピクチャP4を参照ピクチャとするブロックBL0の動き補償を行う。そのため、時間ダイレクトモードであることを示す情報を符号列に含めるだけで、ブロックBL0の動きベクトルを符号化して符号列に含める必要がなく、その結果、符号列のビットレートを削減することができる。
本実施の形態の動きベクトル検出装置100aでは、上述のような時間ダイレクトモードにより対象ブロックの動きベクトルを予測する。つまり、本実施の形態の動きベクトル検出装置100aは、対象ブロックの予測動きベクトルを算出して、その予測動きベクトルから参照ピクチャの探索範囲を特定し、その探索範囲から動きベクトルを検出する。
図3は、本実施の形態における予測演算部123によって算出される前方向の予測動きベクトルを説明するための説明図である。なお、この図3中の符号P1およびP4はPピクチャを示し、符号B2およびB3はBピクチャを示す。また、これらの符号中の数字は、各ピクチャの表示順序を示している。また、各ピクチャP1,B2,B3,P4は、それぞれ表示順情報T1,T2,T3,T4を有している。この表示順情報は、各ピクチャの表示順序や表示時刻を示している。
動きベクトル検出部121は、まず、第1のピクチャたるピクチャB2の対象ブロックBL0の動きベクトルMV0F(第1の動きベクトル)を検出する。即ち、動きベクトル検出部121は、参照ピクチャP1においてピクチャB2の対象ブロックBL0と同じ位置を中心とするS画素×Sラインの探索範囲(部分範囲)から、対象ブロックBL0の画像と最も近似する画像を有するブロックを探索することにより、そのブロックを指示す動きベクトルMV0Fを検出する。そして、動きベクトル検出部121は、その動きベクトルMV0Fを記憶部122に格納する。
予測演算部123は、その動きベクトルMV0Fを記憶部122から読み出して、動きベクトルMV0Fをスケーリングすることにより、第2のピクチャたるピクチャB3およびピクチャP4において対象ブロックBL0と同じ位置(空間的同一位置)にある対象ブロックBL1,BL2に対して、それぞれ前方向の予測動きベクトルMV1F*と予測動きベクトルMV2*とを算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式2a)および(式2b)によって、ピクチャB3の対象ブロックBL1の参照ピクチャP1に対する予測動きベクトルMV1F*と、ピクチャP4の対象ブロックBL2の参照ピクチャP1に対する予測動きベクトルMV2*とを算出する。なお、(式2a)および(式2b)中、Mv1f*およびMv2*はそれぞれ予測動きベクトルMV1F*,MV2*の大きさを示し、Mv0fは動きベクトルMV0Fの大きさを示す。
Mv1f*=(T3−T1)/(T2−T1)×Mv0f …(式2a)
Mv2*=(T4−T1)/(T2−T1)×Mv0f …(式2b)
ここで、各ピクチャP1,B2,B3,P4の表示時間間隔(表示時刻の時間差)が等間隔である場合には、参照ピクチャP1の探索可能最大範囲は、(3×S)画素×(3×S)ラインの範囲となる。つまり、ピクチャB2と参照ピクチャP1との表示時間間隔が(T2−T1)=1の場合、参照ピクチャP1とピクチャP4との表示時間間隔は(T4−T1)=3となる。したがって、ピクチャB2の動きベクトルMV0Fの探索範囲がS画素×Sラインである場合には、探索可能最大範囲は、(3×S)画素×(3×S)ラインの範囲となる。このように、探索可能最大範囲は、各対象ピクチャと参照ピクチャP1との間の表示時刻の時間差のうち最も長い時間差に応じた大きさとなる。
予測演算部123は、このように算出した予測動きベクトルMV1F*,MV2F*を探索範囲制御部124に出力する。
探索範囲制御部124は、参照ピクチャP1において予測動きベクトルMV1F*により示される探索範囲を特定して、動きベクトル検出部121に設定する。即ち、探索範囲制御部124は、予測動きベクトルMV1F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を設定する。また、探索範囲制御部124は、参照ピクチャP1において予測動きベクトルMV2*により示される探索範囲を特定して、動きベクトル検出部121に設定する。即ち、探索範囲制御部124は、予測動きベクトルMV2*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を設定する。このように、探索範囲制御部124は、対象ブロックBL1,BL2の動きベクトルを検出するために、対象ブロックBL0の動きベクトルMV0Fの探索範囲(部分範囲)と同じ大きさのS画素×Sラインの探索範囲を探索可能最大範囲から特定している。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の各探索範囲をピクチャメモリ120から読み出し、その探索範囲のそれぞれから、対象ブロックBL1の前方動きベクトル(第2の動きベクトル)と対象ブロックBL2の動きベクトル(第2の動きベクトル)とを検出する。つまり、動きベクトル検出部121は、参照ピクチャP1に対する対象ブロックBL0の前方動きベクトルを検出した後、参照ピクチャP1に対する対象ブロックBL1の前方動きベクトルを検出し、その次に、参照ピクチャP1に対する対象ブロックBL2の前方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL1および対象ブロックBL2のそれぞれの動きベクトルを記憶部122に格納する。
図4は、動きベクトルの検出の順序を示す図である。
この図4では、各ブロックの動きベクトルの検出順序を、各ブロック内の数字(1,2,…,N,N+1,…)で示している。即ち、動きベクトル検出装置100aは、まず、ピクチャB2の左上端のブロックの動きベクトルを検出し、その動きベクトルを用いて、ピクチャB3の左上端のブロックの動きベクトルを検出し、その後、ピクチャP4の左上端のブロックの動きベクトルを検出する。次に、動きベクトル検出装置100aは、ピクチャB2の左上端から右に2番目のブロックの動きベクトルを検出し、その動きベクトルを用いて、ピクチャB3の左上端から右に2番目のブロックの動けベクトルを検出し、その後、ピクチャP4の左上端から右に2番目のブロックの動きベクトルを検出する。このように、動きベクトル検出装置100aは、各ピクチャにおいて対象ブロックを右にずらしながら、ピクチャB2、ピクチャB3、ピクチャP4の順に、対象ブロックの動きベクトルを検出する。
そして、各ピクチャにおける最上段の全てのブロックの動きベクトルが検出されると、動きベクトル検出装置100aは、その段の下の段にある各ブロックを対象ブロックとし、上述と同様の順序で動きベクトルを検出する。動きベクトル検出装置100aは、このように動きベクトルの検出の対象となるブロックを左から右に、上から下にずらしながら、ピクチャB2、ピクチャB3、ピクチャP4の順に、全てのブロックに対して動きベクトルを検出する。その結果、ピクチャB2およびピクチャB3の全てのブロックの参照ピクチャP1に対する前方動きベクトルが検出され、ピクチャP4の全てのブロックの参照ピクチャP1に対する動きベクトルが検出される。
ここで、ピクチャP4の対象ブロックの参照ピクチャP1に対する動きベクトルが検出されると、動き補償部126は、その検出された動きベクトルと参照ピクチャP1を用いて動き補償を行い、ピクチャP4の各ブロックの予測画像を生成する。そして、差分演算部113、符号化部115、復号化部118および加算演算部119は、その予測画像から符号化信号を経て再構築画像を生成し、その再構築画像をピクチャメモリ120に格納する。その結果、ピクチャP4の全てのブロックの動きベクトルが検出された後には、ピクチャP4が参照ピクチャとしてピクチャメモリ120に格納される。
このように本実施の形態における動きベクトル検出装置100aは、対象ピクチャに含まれる1つのブロックの動きベクトルを検出すると、表示順序で次の対象ピクチャに含まれる1つのブロックの動きベクトルを検出するように、表示順序に従った順序で動きベクトルを検出する。つまり、本実施の形態では、従来のように、Pピクチャに含まれる全てのブロックの動きベクトルを順次検出した後に、表示順序で前方のBピクチャに含まれる全てのブロックの動きベクトルを順次検出するような、表示順序に逆らった順序で動きベクトルを検出しない。
次に、動きベクトル検出装置100aは、ピクチャB2およびピクチャB3の後方動きベクトルを検出する。このときにも上述と同様に、動きベクトル検出装置100aは、ピクチャB2およびピクチャB3の対象ブロックごとに後方向の予測動きベクトルを時間ダイレクトモードにより算出し、それらの予測動きベクトルにより示される位置を中心とする探索範囲から後方動きベクトルを検出する。
図5は、本実施の形態における予測演算部123によって算出される後方向の予測動きベクトルを説明するための説明図である。
予測演算部123は、ピクチャB2およびピクチャB3のそれぞれ同じ位置にある対象ブロックBL0と対象ブロックBL1の後方向の予測動きベクトルを算出するときには、まず、参照ピクチャP4において対象ブロックBL0,BL1と同じ位置にあるブロックBL2の動きベクトルMV2を記憶部122から読み出す。そして、予測演算部123は、動きベクトルMV2をスケーリングすることにより、対象ブロックBL0,BL1に対して、予測動きベクトルMV0B*と予測動きベクトルMV1B*とを算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式3a)および(式3b)によって、ピクチャB2の対象ブロックBL0の参照ピクチャP4に対する予測動きベクトルMV0B*と、ピクチャB3の対象ブロックBL1の参照ピクチャP4に対する予測動きベクトルMV1B*とを算出する。なお、(式3a)および(式3b)中、Mv0b*およびMv1b*はそれぞれ予測動きベクトルMV0B*,MV1B*の大きさを示し、Mv2は動きベクトルMV2の大きさを示す。
Mv0b*=(T2−T4)/(T4−T1)×Mv2… (式3a)
Mv1b*=(T3−T4)/(T4−T1)×Mv2… (式3b)
ここで、各ピクチャP1,B2,B3,P4の表示時間間隔が等間隔である場合には、参照ピクチャP4の探索可能最大範囲は、(2×S)画素×(2×S)ラインの範囲となる。
予測演算部123は、このように算出した予測動きベクトルMV0B*,MV1B*を探索範囲制御部124に出力する。
探索範囲制御部124は、参照ピクチャP4において予測動きベクトルMV0B*により示される探索範囲を動きベクトル検出部121に設定する。即ち、探索範囲制御部124は、予測動きベクトルMV0B*により示される参照ピクチャP4の位置を中心とするS画素×Sラインの探索範囲を設定する。また、探索範囲制御部124は、参照ピクチャP4において予測動きベクトルMV1B*により示される探索範囲を動きベクトル検出部121に設定する。即ち、探索範囲制御部124は、予測動きベクトルMV1B*により示される参照ピクチャP4の位置を中心とするS画素×Sラインの探索範囲を設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP4の探索範囲から、対象ブロックBL0の後方動きベクトルと対象ブロックBL1の後方動きベクトルとを検出する。つまり、動きベクトル検出部121は、ピクチャP4のブロックBL2の動きベクトルMV2を検出した後、参照ピクチャP4に対する対象ブロックBL0の後方動きベクトルを検出し、その次に、参照ピクチャP4に対する対象ブロックBL1の後方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL0および対象ブロックBL1のそれぞれの後方動きベクトルを記憶部122に格納する。
動きベクトル検出装置100aは、このようなピクチャB2およびピクチャB3に含まれる全てのブロックの後方動きベクトルの検出を、左上端のブロックから順に、対象ブロックを左から右に上から下にずらしながら行なう。
図6は、本実施の形態の動きベクトル検出装置100aが動きベクトルを検出する動作を示すフローチャートである。
まず、動きベクトル検出装置100aのブロック選択部111は、ピクチャメモリ112から対象ブロックを抽出する(ステップS100)。例えば、ブロック選択部111は、図3に示すように、対象ピクチャB2,B3,P4のそれぞれから、ブロックBL0,BL1,BL2を対象ブロックとして抽出する。そして、ブロック選択部111は、それらの対象ブロックから最初に処理すべきブロック、例えばブロックBL0を選択する(ステップS102)。
動きベクトル検出部121は、ブロック選択部111によって選択された対象ブロックBL0の参照ピクチャP1に対する動きベクトル(前方動きベクトル)MV0Fを検出する(ステップS104)。そして、動きベクトル検出部121は、その検出した動きベクトルMV0Fを記憶部122に格納する(ステップS106)。
予測演算部123は、時間ダイレクトモードにより、つまり、動きベクトル検出部121によって検出された動きベクトルMV0Fをスケーリングすることにより、対象ブロックBL1の参照ピクチャP1に対する前方向の予測動きベクトルMV1F*を演算(算出)する(ステップS108)。同様に、予測演算部123は、動きベクトル検出部121によって検出された動きベクトルMV0Fをスケーリングすることにより、対象ブロックBL2の参照ピクチャP1に対する予測動きベクトルMV2*を演算(算出)する(ステップS110)。
探索範囲制御部124は、予測演算部123によって算出された対象ブロックBL1の予測動きベクトルMV1F*により示される参照ピクチャP1の探索範囲を特定して動きベクトル検出部121に設定する(ステップS112)。同様に、探索範囲制御部124は、予測演算部123によって算出された対象ブロックBL2の予測動きベクトルMV2*により示される参照ピクチャP1の探索範囲を特定して動きベクトル検出部121に設定する(ステップS114)。
動きベクトル検出部121は、対象ブロックBL1に対して探索範囲制御部124により設定された探索範囲から、その対象ブロックBL1に近似する画像を有するブロックを探索することにより、対象ブロックBL1の動きベクトル(前方動きベクトル)MV1Fを検出する(ステップS116)。同様に、動きベクトル検出部121は、対象ブロックBL2に対して探索範囲制御部124により設定された探索範囲から、その対象ブロックBL2に近似する画像を有するブロックを探索することにより、対象ブロックBL2の動きベクトルMV2を検出する(ステップS118)。そして、動きベクトル検出部121は、検出した動きベクトルMV1Fと動きベクトルMV2を記憶部122に格納する(ステップS120)。
ステップS100〜S120までの処理により、ブロック選択部111により抽出された全ての対象ブロックBL0,BL1,BL2の前方動きベクトルが検出される。
次に、ブロック選択部111は、改めて対象ブロックを抽出する。例えば、ブロック選択部111は、図5に示すように、ピクチャメモリ112にある対象ピクチャB2,B3のそれぞれから、ブロックBL0,BL1を対象ブロックとして抽出する。そして、ブロック選択部111は、参照ピクチャP4において対象ブロックBL0,BL1と同じ位置にあるブロックBL2を選択する。
予測演算部123は、ブロック選択部111によって選択された参照ピクチャP4のブロックBL2の動きベクトルMV2を記憶部122から読み出す(ステップS124)。そして、予測演算部123は、時間ダイレクトモードにより、つまり、記憶部122から読み出した動きベクトルMV2をスケーリングすることにより、対象ブロックBL0の参照ピクチャP4に対する後方向の予測動きベクトルMV0B*を演算(算出)する(ステップS126)。同様に、予測演算部123は、記憶部122から読み出した動きベクトルMV2をスケーリングすることにより、対象ブロックBL1の参照ピクチャP4に対する後方の予測動きベクトルMV1B*を演算(算出)する(ステップS128)。
探索範囲制御部124は、予測演算部123によって算出された対象ブロックBL0の予測動きベクトルMV0B*により示される参照ピクチャP4の探索範囲を特定して動きベクトル検出部121に設定する(ステップS130)。同様に、探索範囲制御部124は、予測演算部123によって算出された対象ブロックBL1の予測動きベクトルMV1B*により示される参照ピクチャP4の探索範囲を特定して動きベクトル検出部121に設定する(ステップS132)。
動きベクトル検出部121は、対象ブロックBL0に対して探索範囲制御部124により設定された探索範囲から、その対象ブロックBL0に近似する画像を有するブロックを探索することにより、対象ブロックBL0の動きベクトル(後方動きベクトル)MV0Bを検出する(ステップS134)。同様に、動きベクトル検出部121は、対象ブロックBL1に対して探索範囲制御部124により設定された探索範囲から、その対象ブロックBL1に近似する画像を有するブロックを探索することにより、対象ブロックBL1の動きベクトル(後方動きベクトル)MV1Bを検出する(ステップS136)。そして、動きベクトル検出部121は、検出した動きベクトルMV0Bと動きベクトルMV1Bを記憶部122に格納する(ステップS138)。
ステップS122〜S138までの処理により、ブロック選択部111により抽出された全ての対象ブロックBL0,BL1の後方動きベクトルが検出される。
このように本実施の形態における動きベクトル検出装置100aでは、対象ピクチャの対象ブロックの動きベクトルを検出するために、他の対象ピクチャの対象ブロックに対して検出された動きベクトルをスケーリングして予測動きベクトルを算出し、その予測動きベクトルの示す参照ピクチャにおけるS画素×Sラインの範囲を探索範囲として特定する。したがって、対象ピクチャと参照ピクチャとの表示時刻の時間差に関わらず、常に一定の大きさの探索範囲が特定される。一方、従来では、その対象ピクチャが参照ピクチャから表示時間的に離れていれば、その時間差に応じて広い範囲が探索範囲とされている。したがって、本実施の形態では、対象ピクチャが参照ピクチャから表示時間的に離れていても、探索範囲を小さくすることができるとともに、動きベクトルMV0Fのスケーリングにより適切な探索範囲を特定することができる。
また、本実施の形態では、テレスコピックサーチのように、隣接するピクチャ間の動きベクトルを求めていくことがないため、動きベクトルの検出精度の低下を防ぐことができる。さらに、本実施の形態では、テレスコピックサーチのように、直接必要のない動きベクトルまで検出する必要がない。その結果、全体的な探索範囲を小さくすることができる。さらに、本実施の形態では、対象ブロックをずらしながら各対象ブロックの動きベクトルを検出するときにも、テレスコピックサーチと比べて、参照ピクチャを格納しているピクチャメモリ120からの転送データ量を少なくすることができる。即ち、本実施の形態では、表示順で参照ピクチャと対象ピクチャとの間に他のピクチャがあっても、その他のピクチャにおける探索範囲のデータをピクチャメモリ120から読み出す必要がなく、さらに、対象ブロックをずらしながら各対象ブロックの動きベクトルを検出するときには、前回に読み出した探索範囲を有効に利用して、新たにピクチャメモリ120から読み出すデータ量を減らすことができる。
したがって、本実施の形態における動きベクトル検出装置100aでは、探索範囲を適切な範囲とすることができるため、動きベクトルの検出のための演算量を低減することができるとともに、ピクチャメモリ120からの転送データ量を少なくすることができるため、回路規模の縮小化を図ることができる。
モード選択部125は、上述のように対象ブロックの動きベクトルが検出されると、その検出された動きベクトルと、予測演算部123で算出された予測動きベクトルとを用いて、時間ダイレクトモードと非時間ダイレクトモードのうち何れかのモードを選択する。具体的に、モード選択部125は、このような選択を行なうときには、予測残差画像と、動きベクトルおよび予測動きベクトルと、対象ブロックの位置情報と、対象ピクチャの表示順序とを用いて、時間ダイレクトモードでの評価値と、非時間ダイレクトモードでの評価値とを算出する。そして、モード選択部125は、その評価値の比較結果に基づいてモードを選択する。
図7は、モード選択部125が非時間ダイレクトモードの評価値を算出する動作を示すフローチャートである。
まず、モード選択部125は対象ブロックを選択する(ステップS200)。例えば、モード選択部125は、図3および図5に示すピクチャB3のブロックBL1を選択する。モード選択部125は、ブロックBL1の前方動きベクトルMV1Fと後方動きベクトルMV1Bとを記憶部122から読み出す(ステップS202,S204)。
そして、モード選択部125は、動き補償部126に対して、その前方動きベクトルMV1Fにより示される参照ピクチャP1のブロックを参照データとして抽出させるとともに(ステップS206)、後方動きベクトルMV1Bにより示される参照ピクチャP4のブロックを参照データとして抽出させる(ステップS208)。さらに、モード選択部125は、動き補償部126に対して、参照ピクチャP1の参照データと参照ピクチャP4の参照データとの平均を算出させて平均化参照データを生成させる(ステップS210)。
また、モード選択部125は、ステップS202で読み出した前方動きベクトルMV1Fの符号量を符号列生成部117に算出させるとともに(ステップS212)、ステップS204で読み出した後方動きベクトルMV1Bの符号量を符号列生成部117に算出させる(ステップS214)。
また、モード選択部125は、ステップS200で選択したブロックBL1を、ピクチャメモリ112からブロック選択部111を介して、入力データとして抽出する(ステップS216)。そして、モード選択部125は、ステップS210で生成された平均化参照データと、ステップS216で抽出された入力データとの絶対値差分和を算出する(ステップS218)。
モード選択部125は、ステップS218で算出された絶対値差分和と、ステップS212,S214で算出された符号量とに基づいて、非時間ダイレクトモードの評価値を算出する(ステップS220)。
図8は、モード選択部125が時間ダイレクトモードの評価値を算出する動作を示すフローチャートである。
まず、モード選択部125は対象ブロックを選択する(ステップS300)。例えば、モード選択部125は、図3および図5に示すピクチャB3のブロックBL1を選択する。そして、モード選択部125は、時間ダイレクトモードが選択されたことを通知するためのダイレクトモード選択情報を生成する(ステップS302)。
次に、モード選択部125は、例えば動きベクトルMV2のような時間ダイレクトモードに必要な動きベクトルを記憶部122から読み出す(ステップS304)。そして、モード選択部125は、予測演算部123に対して予測動きベクトルを算出させる(ステップS306,S308)。即ち、予測演算部123は、ステップS304で読み出された動きベクトルをスケーリングすることにより、例えば、ステップS300で選択されたブロックBL1の前方向の予測動きベクトルMV1F*と後方向の予測動きベクトルMV1B*とを算出する。
そして、モード選択部125は、動き補償部126に対して、その前方向の予測動きベクトルMV1F*により示される参照ピクチャP1のブロックを参照データとして抽出させるとともに(ステップS310)、その後方向の予測動きベクトルMV1B*により示される参照ピクチャP4のブロックを参照データとして抽出させる(ステップS312)。さらに、モード選択部125は、動き補償部126に対して、参照ピクチャP1の参照データと参照ピクチャP4の参照データとの平均を算出させて平均化参照データを生成させる(ステップS314)。
また、モード選択部125は、ステップS300で選択したブロックBL1を、ピクチャメモリ112からブロック選択部111を介して入力データとして抽出する(ステップS316)。そして、モード選択部125は、ステップS314で生成された平均化参照データと、ステップS316で抽出された入力データとの絶対値差分和を算出する(S318)。
モード選択部125は、ステップS318で算出された絶対値差分和と、ステップS302で生成されたダイレクトモード選択情報とに基づいて、時間ダイレクトモードの評価値を算出する(ステップS320)。
このように、モード選択部125は、ブロックBL1に対する非時間ダイレクトモードの評価値と時間ダイレクトモードの評価値とを算出すると、それらの評価値を比較することにより、全体的な符号量が小さくなるような評価値の高いモードを選択する。
そして、モード選択部125は、非時間ダイレクトモードを選択すると、動きベクトル検出部121によって検出されて記憶部122に格納されている対象ブロックの動きベクトルを符号列生成部117に出力する。その結果、符号列生成部117は、その動きベクトルを可変長符号化して符号列中に含める。一方、モード選択部125は、時間ダイレクトモードを選択すると、ダイレクトモード選択情報を符号列生成部117に出力する。その結果、符号列生成部117は、符号列中にダイレクトモード選択情報を含める。
このように本実施の形態では、評価値に基づいて時間ダイレクトモードと非時間ダイレクトモードとを切り換えるため、符号列の符号量を常に少なくすることができる。また、本実施の形態では、上述のようにテレスコピックサーチの場合と比べて動きベクトルの検出精度が高いため、時間ダイレクトモードが選択される可能性が高くなり、符号量をさらに少なくすることができる。
(変形例1)
ここで、本実施の形態における予測動きベクトルの算出方法についての第1の変形例を説明する。
上記実施の形態では、複数の対象ピクチャのうち、表示順序が最も早いピクチャに含まれる対象ブロックの動きベクトルをスケーリングした。つまり、図3に示すように、動きベクトル検出装置100aは、表示順序が最も早いピクチャB2に含まれる対象ブロックBL0の動きベクトルMV0Fを検出し、その動きベクトルMV0Fをスケーリングする。その結果、動きベクトル検出装置100aは、ピクチャB3に含まれる対象ブロックBL1の前方向の予測動きベクトルMV1F*と、ピクチャP4に含まれる対象ブロックBL2の前方向の予測動きベクトルMV2*とを算出する。
本変形例では、複数の対象ピクチャのうち、表示順序が中間にあるピクチャの対象ブロックの動きベクトルをスケーリングすることにより、そのピクチャの前後にあるピクチャに含まれる各対象ブロックの予測動きベクトルを算出する。
図9は、変形例1における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序が中間にあるピクチャB3に含まれる対象ブロックBL1の動きベクトルMV1Fを検出する。そして、動きベクトル検出部121はその動きベクトルMV1Fを記憶部122に格納する。
このとき、例えば、ピクチャB2のブロックの参照ピクチャP1に対する動きベクトルの探索範囲はS画素×Sラインであって、参照ピクチャP1とピクチャB3との間の表示時間間隔は、参照ピクチャP1とピクチャB2との間の表示時間間隔の2倍である。このような場合、対象ブロックBL1の動きベクトルMV1Fを検出するための参照ピクチャP1上における探索範囲は、(2×S)画素×(2×S)ラインとなる。
予測演算部123は、動きベクトルMV1Fを記憶部122から読み出して、動きベクトルMV1Fをスケーリングすることにより、ピクチャB2およびピクチャP4において対象ブロックBL1と同じ位置にある対象ブロックBL0,BL2に対して、予測動きベクトルMV0F*と予測動きベクトルMV2*とを算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式4a)および(式4b)によって、ピクチャB2の対象ブロックBL0の参照ピクチャP1に対する予測動きベクトルMV0F*と、ピクチャP4の対象ブロックBL2の参照ピクチャP1に対する予測動きベクトルMV2*とを算出する。なお、(式4a)および(式4b)中、Mv0f*およびMv2*はそれぞれ予測動きベクトルMV0F*,MV2*の大きさを示し、Mv1fは動きベクトルMV1Fの大きさを示す。
Mv0f*=(T2−T1)/(T3−T1)×Mv1f …(式4a)
Mv2*=(T4−T1)/(T3−T1)×Mv1f …(式4b)
探索範囲制御部124は、予測動きベクトルMV0F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定するとともに、予測動きベクトルMV2*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の探索範囲から、対象ブロックBL0の前方動きベクトルと対象ブロックBL2の動きベクトルとを検出する。つまり、動きベクトル検出部121は、参照ピクチャP1に対する対象ブロックBL1の前方動きベクトルを検出した後、参照ピクチャP1に対する対象ブロックBL0の前方動きベクトルを検出し、その次に、参照ピクチャP1に対する対象ブロックBL2の動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL0および対象ブロックBL2のそれぞれの動きベクトルを記憶部122に格納する。
このように本変形例では、表示順序が中間にあるピクチャの対象ブロックの動きベクトルをスケーリングすることによって、そのピクチャの前後にあるピクチャに含まれる各対象ブロックの予測動きベクトルを高い精度で算出することができる。
(変形例2)
ここで、本実施の形態における予測動きベクトルの算出方法についての第2の変形例を説明する。
上記実施の形態では、複数の対象ピクチャのうち、表示順序が最も早いピクチャに含まれる対象ブロックの動きベクトルをスケーリングした。
本変形例では、複数の対象ピクチャのうち、表示順序が最も遅いピクチャの対象ブロックの動きベクトルをスケーリングすることにより、そのピクチャの前方にある対象ピクチャに含まれる各対象ブロックの予測動きベクトルを算出する。
図10は、変形例2における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序が最も遅いピクチャP4に含まれる対象ブロックBL2の動きベクトルMV2を検出する。そして、動きベクトル検出部121はその動きベクトルMV2を記憶部122に格納する。
このとき、例えば、ピクチャB2のブロックの参照ピクチャP1に対する動きベクトルの探索範囲はS画素×Sラインであって、参照ピクチャP1とピクチャP4との間の表示時間間隔は、参照ピクチャP1とピクチャB2との間の表示時間間隔の3倍である。このような場合、対象ブロックBL2の動きベクトルMV2を検出するための参照ピクチャP1上における探索範囲は、(3×S)画素×(3×S)ラインとなる。
予測演算部123は、動きベクトルMV2を記憶部122から読み出して、動きベクトルMV2をスケーリングすることにより、ピクチャB2およびピクチャB3において対象ブロックBL2と同じ位置にある対象ブロックBL0,BL1に対して、予測動きベクトルMV0F*と予測動きベクトルMV1F*とを算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式5a)および(式5b)によって、ピクチャB2の対象ブロックBL0の参照ピクチャP1に対する予測動きベクトルMV0F*と、ピクチャB3の対象ブロックBL1の参照ピクチャP1に対する予測動きベクトルMV1F*とを算出する。なお、(式5a)および(式5b)中、Mv0f*およびMv1f*はそれぞれ予測動きベクトルMV0F*,MV1F*の大きさを示し、Mv2は動きベクトルMV2の大きさを示す。
Mv0f*=(T2−T1)/(T4−T1)×Mv2 …(式5a)
Mv1f*=(T3−T1)/(T4−T1)×Mv2 …(式5b)
探索範囲制御部124は、予測動きベクトルMV0F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定するとともに、予測動きベクトルMV1F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の探索範囲から、対象ブロックBL0の前方動きベクトルと対象ブロックBL1の前方動きベクトルとを検出する。つまり、動きベクトル検出部121は、参照ピクチャP1に対する対象ブロックBL2の動きベクトルMV2を検出した後、参照ピクチャP1に対する対象ブロックBL0の前方動きベクトルを検出し、その次に、参照ピクチャP1に対する対象ブロックBL1の前方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL0および対象ブロックBL1のそれぞれの前方動きベクトルを記憶部122に格納する。
(変形例3)
ここで、本実施の形態における予測動きベクトルの算出方法についての第3の変形例を説明する。
上記実施の形態では、後方向の予測動きベクトルを算出するときには、Pピクチャの動きベクトルをスケーリングした。つまり、図5に示すように、動きベクトル検出装置100aは、Pピクチャである参照ピクチャP4に含まれるブロックBL2の動きベクトルMV2を検出し、その動きベクトルMV2をスケーリングする。その結果、動きベクトル検出装置100aは、ピクチャB2に含まれる対象ブロックBL0の後方向の予測動きベクトルMV0B*と、ピクチャB3に含まれる対象ブロックBL1の後方向の予測動きベクトルMV1B*とを算出する。
本変形例では、後方向の予測動きベクトルを算出するときには、対象ピクチャのうち、表示順序で参照ピクチャに最も近いBピクチャの後方動きベクトルをスケーリングすることにより、他の対象ピクチャであるBピクチャの後方向の予測動きベクトルを算出する。
図11は、変形例3における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序で参照ピクチャP4に最も近いピクチャB3に含まれる対象ブロックBL1の動きベクトル(後方動きベクトル)MV1Bを検出する。そして、動きベクトル検出部121は、その動きベクトルMV1Bを記憶部122に格納する。
予測演算部123は、動きベクトルMV1Bを記憶部122から読み出して、、動きベクトルMV1Bをスケーリングすることにより、ピクチャB2において対象ブロックBL1と同じ位置にある対象ブロックBL0に対して予測動きベクトルMV0B*を算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式6)によって、ピクチャB2の参照ピクチャP4に対する予測動きベクトルMV0B*を算出する。なお、(式6)中、Mv0b*は予測動きベクトルMV0B*の大きさを示し、Mv1bは動きベクトルMV1Bの大きさを示す。
Mv0b*=(T4−T2)/(T4−T3)×Mv1b …(式6)
探索範囲制御部124は、予測動きベクトルMV0B*により示される参照ピクチャP4の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP4の探索範囲から、対象ブロックBL0の後方動きベクトルを検出する。つまり、動きベクトル検出部121は、参照ピクチャP4に対する対象ブロックBL1の後方動きベクトルを検出した後、参照ピクチャP4に対する対象ブロックBL0の後方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL0の後方動きベクトルMV0Bを記憶部122に格納する。
このように本変形例では、表示順序で参照ピクチャに最も近いBピクチャの後方動きベクトルをスケールリングすることによって、そのBピクチャの隣のBピクチャに含まれる対象ブロックの予測動きベクトルを高い精度で算出することができる。
(変形例4)
ここで、本実施の形態における予測動きベクトルの算出方法についての第4の変形例を説明する。
上記実施の形態では、後方向の予測動きベクトルを算出するときには、Pピクチャの動きベクトルをスケーリングした。
本変形例では、後方向の予測動きベクトルを算出するときには、対象ピクチャのうち、表示順序で参照ピクチャから最も遠いBピクチャの後方動きベクトルをスケーリングすることにより、他の対象ピクチャであるBピクチャの後方向の予測動きベクトルを算出する。
図12は、変形例4における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序で参照ピクチャP4から最も遠いピクチャB2に含まれる対象ブロックBL0の動きベクトル(後方動きベクトル)MV0Bを検出する。そして、動きベクトル検出部121は、その動きベクトルMV0Bを記憶部122に格納する。
このとき、例えば、ピクチャB3のブロックの参照ピクチャP4に対する動きベクトルの探索範囲はS画素×Sラインであって、参照ピクチャP4とピクチャB2との間の表示時間間隔は、参照ピクチャP4とピクチャB3との間の表示時間間隔の2倍である。このような場合、対象ブロックBL0の動きベクトルMV0Bを検出するための参照ピクチャP4上における探索範囲は、(2×S)画素×(2×S)ラインとなる。
予測演算部123は、動きベクトルMV0Bを記憶部122から読み出して、動きベクトルMV0Bをスケーリングすることにより、ピクチャB3において対象ブロックBL0と同じ位置にある対象ブロックBL1に対して、予測動きベクトルMV1B*を算出する。
具体的に、予測演算部123は、ピクチャP1,B2,B3,P4の表示順情報T1,T2,T3,T4を使い、下記の(式7)によって、ピクチャB3の対象ブロックBL1の参照ピクチャP4に対する予測動きベクトルMV1B*を算出する。なお、(式7)中、Mv1b*は予測動きベクトルMV1B*の大きさを示し、Mv0bは動きベクトルMV0Bの大きさを示す。
Mv1b*=(T4−T3)/(T4−T2)×Mv0b …(式7)
探索範囲制御部124は、予測動きベクトルMV1B*により示される参照ピクチャP4の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP4の探索範囲から、対象ブロックBL1の後方動きベクトルを検出する。つまり、動きベクトル検出部121は、参照ピクチャP4に対する対象ブロックBL0の後方動きベクトルを検出した後、参照ピクチャP4に対する対象ブロックBL1の後方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL1の後方動きベクトルを記憶部122に格納する。
(変形例5)
ここで、本実施の形態における予測動きベクトルの算出方法についての第5の変形例を説明する。
上記実施の形態では、複数の対象ピクチャのうち、1枚のピクチャの動きベクトルを検出して、その動きベクトルをスケーリングすることにより、他の対象ピクチャの予測動きベクトルを算出した。つまり、図3に示すように、動きベクトル検出装置100aは、複数の対象ピクチャのうち、表示順序が最も早いピクチャB2に含まれる対象ブロックBL0の動きベクトルMV0Fを検出し、その動きベクトルMV0Fをスケーリングする。その結果、動きベクトル検出装置100aは、ピクチャB3に含まれる対象ブロックBL1の前方向の予測動きベクトルMV1F*と、ピクチャP4に含まれる対象ブロックBL2の前方向の予測動きベクトルMV2*とを算出する。
本変形例では、複数の対象ピクチャの動きベクトルを検出し、それらのピクチャのうち、予測動きベクトルの算出対象となるピクチャに最も近いピクチャの動きベクトルをスケーリングする。これにより、予測動きベクトルが算出される。即ち、本変形例では、複数の第1のピクチャのうち、第2のピクチャとの間の表示時刻の時間差が最も短いピクチャの第1の動きベクトルに基づいて、参照ピクチャの探索範囲を特定する。
図13は、変形例5における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、対象ピクチャのうち、表示順序で参照ピクチャP1に最も近いピクチャB2に含まれる対象ブロックBL0の動きベクトル(前方動きベクトル)MV0Fを検出する。そして、動きベクトル検出部121は、その動きベクトルMV0Fを記憶部122に格納する。さらに、動きベクトル検出部121は、対象ピクチャのうち、ピクチャB2の次に参照ピクチャP1に近いピクチャB3に含まれる対象ブロックBL1の動きベクトル(前方動きベクトル)MV1Fを検出する。そして、動きベクトル検出部121は、その動きベクトルMV1Fを記憶部122に格納する。
このとき、例えば、ピクチャB2のブロックの参照ピクチャP1に対する動きベクトルの探索範囲はS画素×Sラインであって、参照ピクチャP1とピクチャB3との間の表示時間間隔は、参照ピクチャP1とピクチャB2との間の表示時間間隔の2倍である。このような場合、対象ブロックBL1の動きベクトルMV1Fを検出するための参照ピクチャP1上における探索範囲は、(2×S)画素×(2×S)ラインとなる。
予測演算部123は、記憶部122に格納されている動きベクトルMV0Fと動きベクトルMV1Fのうち、ピクチャP4に最も近いピクチャB3の動きベクトルMV1Fを読み出す。そして、予測演算部123は、動きベクトルMV1Fをスケーリングすることにより、ピクチャP4において対象ブロックBL0,BL1と同じ位置にある対象ブロックBL2に対して、予測動きベクトルMV2*を算出する。
探索範囲制御部124は、予測動きベクトルMV2*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の探索範囲から、対象ブロックBL2の動きベクトルを検出する。つまり、動きベクトル検出部121は、参照ピクチャP1に対する対象ブロックBL0の前方動きベクトルを検出した後、参照ピクチャP1に対する対象ブロックBL1の前方動きベクトルを検出し、その次に、参照ピクチャP1に対する対象ブロックBL2の動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL2の動きベクトルを記憶部122に格納する。
(変形例6)
ここで、本実施の形態における予測動きベクトルの算出方法についての第6の変形例を説明する。
上記実施の形態では、複数の対象ピクチャのうち、1枚のピクチャの動きベクトルを検出して、その動きベクトルをスケーリングすることにより、他の対象ピクチャの予測動きベクトルを算出した。
本変形例では、複数の対象ピクチャの動きベクトルを検出する。そして、それらの動きベクトルの向きが等しいときには、何れか一方の動きベクトルをスケーリングすることにより、他の対象ピクチャの予測動きベクトルを算出する。
図14は、変形例6における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序で参照ピクチャP1に最も近いピクチャB2に含まれる対象ブロックBL0の動きベクトル(前方動きベクトル)MV0Fを検出する。
さらに、動きベクトル検出部121は、複数の対象ピクチャのうち、表示順序で参照ピクチャP1に最も遠いピクチャP4に含まれる対象ブロックBL2の動きベクトルMV2を検出する。そして、動きベクトル検出部121は、それらの動きベクトルMV0F,MV2を記憶部122に格納する。
このとき、例えば、ピクチャB2のブロックの参照ピクチャP1に対する動きベクトルの探索範囲はS画素×Sラインであって、参照ピクチャP1とピクチャP4との間の表示時間間隔は、参照ピクチャP1とピクチャB2との間の表示時間間隔の3倍である。このような場合、対象ブロックBL2の動きベクトルMV2を検出するための参照ピクチャP1上における探索範囲は、(3×S)画素×(3×S)ラインとなる。
予測演算部123は、記憶部122に格納されている動きベクトルMV0Fと動きベクトルMV2を読み出して比較する。そして、予測演算部123は、これらの動きベクトルの向きが等しいときには、動きベクトルMV0Fと動きベクトルMV2の何れか一方をスケーリングすることにより、ピクチャB3において対象ブロックBL0,BL2と同じ位置にある対象ブロックBL1に対して、予測動きベクトルMV1F*を算出する。
探索範囲制御部124は、予測動きベクトルMV1F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の探索範囲から、対象ブロックBL1の動きベクトルを検出する。つまり、動きベクトル検出部121は、参照ピクチャP1に対する対象ブロックBL0の前方動きベクトルを検出して、さらに、参照ピクチャP1に対する対象ブロックBL2の動きベクトルを検出した後に、参照ピクチャP1に対する対象ブロックBL1の前方動きベクトルを検出する。そして、動きベクトル検出部121は、対象ブロックBL1の動きベクトルを記憶部122に格納する。
このように本変形例では、複数のピクチャのそれぞれの動きベクトルの向きが等しい場合、それらのうち何れか一方の動きベクトルをスケーリングして予測動きベクトルを算出することによって、その予測動きベクトルの精度を高めることができる。
なお、このように算出される予測動きベクトルの精度は高いため、その予測動きベクトルにより示される探索範囲から動きベクトルを検出することを省いてもよい。即ち、その予測動きベクトルを実際の動きベクトルと同様に扱ってもよい。
(変形例7)
ここで、本実施の形態における予測動きベクトルの算出方法についての第7の変形例を説明する。
上記実施の形態では、対象ブロックの参照ピクチャに対する予測動きベクトルを算出するときには、その対象ブロックとは異なる他のブロックの動きベクトルをスケーリングした。
本変形例では、対象ブロックの参照ピクチャに対する予測動きベクトルを算出するときには、その対象ブロックの他の参照ピクチャに対する動きベクトルをスケーリングする。
図15は、変形例7における予測動きベクトルの算出方法を示す図である。
まず、動きベクトル検出部121は、BピクチャであるピクチャB5に含まれる対象ブロックBL3の参照ピクチャP4に対する動きベクトルMV3Fを検出する。
予測演算部123は、その動きベクトル検出部121によって検出された動きベクトルMV3Fをスケーリングすることにより、対象ブロックBL3の参照ピクチャP1に対する予測動きベクトルMV3F*を算出する。
探索範囲制御部124は、予測動きベクトルMV3F*により示される参照ピクチャP1の位置を中心とするS画素×Sラインの探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された参照ピクチャP1の探索範囲から、対象ブロックBL3の参照ピクチャP1に対する動きベクトルを検出する。そして、動きベクトル検出部121は、その対象ブロックBL3の参照ピクチャP1に対する動きベクトルを記憶部122に格納する。
このように本変形例は、複数のピクチャを参照することが可能なH.264で有効である。
(変形例8)
ここで、本実施の形態における探索範囲についての第8の変形例を説明する。
上記実施の形態では、予測動きベクトルの示す位置を中心とする参照ピクチャの探索範囲だけから探索を行って動きベクトルを検出した。つまり、図3に示すように、動きベクトル検出装置100aは、ピクチャB3に含まれる対象ブロックBL1の前方動きベクトルを検出するときには、その対象ブロックBL1の予測動きベクトルMV1F*の示す位置を中心とする参照ピクチャP1の探索範囲(S画素×Sライン)だけから、対象ブロックBL1に近似する画像を有するブロックを探索する。
本変形例では、予測動きベクトルの示す位置を中心とする参照ピクチャの探索範囲に、参照ピクチャにおいて対象ブロックと空間的同一位置にあるブロックも含める。
図16は、変形例8における探索範囲を示す図である。
本変形例に係る探索範囲制御部124は、予測演算部123によって算出された予測動きベクトルMV1F*により示される位置を中心とする参照ピクチャP1の探索範囲(S画素×Sライン)に、対象ブロックBL1と同位置にある参照ピクチャP1のブロックBLを含める。また、探索範囲制御部124は、予測演算部123によって算出された予測動きベクトルMV2*により示される位置を中心とする参照ピクチャP1の探索範囲(S画素×Sライン)に、対象ブロックBL2と同位置にある参照ピクチャP1のブロックBLを含める。探索範囲制御部124は、このようなブロックBLを含む探索範囲を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、参照ピクチャP1のブロックBLを含む各探索範囲からそれぞれ、対象ブロックBL1の前方動きベクトルと対象ブロックBL2の前方動きベクトルとを検出する。
このように本変形例では、探索範囲を広げることにより、S画素×Sラインの範囲からでは検出できない適切な動きベクトルを検出することができる。
(変形例9)
ここで、本実施の形態における予測動きベクトルの算出方法についての第9の変形例を説明する。
上記実施の形態では、Bピクチャについて前方向の予測動きベクトルを算出した後に、後方向の予測動きベクトルを算出した。
本変形例では、Bピクチャの前方向の予測動きベクトルと後方向の予測動きベクトルとを、同一の動きベクトルをスケーリングすることにより同時に算出する。また、本変形例では、予測動きベクトルを算出する前に、予め2枚のPピクチャを符号化および復号化しておく。
図17は、変形例9において予測動きベクトルを算出する前の各ピクチャの状態を示す図である。
本変形例では、動画像符号化装置100は、まず、2枚のPピクチャを符号化するとともに復号化し、それぞれのピクチャを参照ピクチャとしてピクチャメモリ120に格納しておく。
図18は、変形例9における予測動きベクトルの算出方法を示す図である。
上述のように本変形例では、動画像符号化装置100は、まず、ピクチャP1とピクチャP4とを符号化するとともに復号化し、それぞれのピクチャを参照ピクチャとしてピクチャメモリ120に格納しておく。したがって、このような符号化および復号化が行われた後には、記憶部122に、参照ピクチャP4の各ブロックの動きベクトルが格納されている。
予測演算部123は、対象ピクチャB2,B3,P7のそれぞれに含まれる同一位置の対象ブロックBL0,BL1,BL5の予測動きベクトルを算出するために、それらの対象ブロックと同一位置にある参照ピクチャP4のブロックBL2の動きベクトルMV2を記憶部122から読み出す。
そして、予測演算部123は、その動きベクトルMV2をスケーリングすることにより、ピクチャB2に含まれる対象ブロックBL0の、参照ピクチャP1に対する前方向の予測動きベクトルMV0F*と、参照ピクチャP4に対する後方向の予測動きベクトルMV0B*とを算出する。さらに、予測演算部123は、動きベクトルMV2をスケーリングすることにより、ピクチャB3に含まれる対象ブロックBL1の、参照ピクチャP1に対する前方向の予測動きベクトルMV1F*と、参照ピクチャP4に対する後方向の予測動きベクトルMV1B*とを算出する。さらに、予測演算部123は、動きベクトルMV2をスケーリングすることにより、ピクチャP7に含まれる対象ブロックBL5の参照ピクチャP4に対する予測動きベクトルMV5*を算出する。
探索範囲制御部124は、予測演算部123によって算出された予測動きベクトルごとに、その予測動きベクトルにより示される位置を中心とする探索範囲(S画素×Sライン)を特定して動きベクトル検出部121に設定する。
動きベクトル検出部121は、探索範囲制御部124によって設定された探索範囲ごとに、その探索範囲から動きベクトルを検出する。即ち、動きベクトル検出部121は、参照ピクチャP1の探索範囲から、ピクチャB2の対象ブロックBL0の前方動きベクトルを検出し、参照ピクチャP4の探索範囲から、ピクチャB2の対象ブロックBL0の後方動きベクトルを検出する。その後、動きベクトル検出部121は、参照ピクチャP1の探索範囲から、ピクチャB3の対象ブロックBL1の前方動きベクトルを検出し、参照ピクチャP4の探索範囲から、ピクチャB3の対象ブロックBL1の後方動きベクトルを検出する。さらにその後、動きベクトル検出部121は、参照ピクチャP4の探索範囲から、ピクチャP7の対象ブロックBL5の動きベクトルを検出する。そして、動きベクトル検出部121は、このように検出した動きベクトルを記憶部122に順次格納する。
動きベクトル検出装置100aは、対象ピクチャB2,B3,P7のそれぞれに含まれる同一位置の対象ブロックをずらしながら、このような動きベクトルの検出を各対象ブロックに対して行う。そして、動画像符号化装置100は、このように検出された動きベクトルを用いてピクチャB2,B3,P7を符号化するとともに、ピクチャP7を復号化して参照ピクチャとしてピクチャメモリ120に格納する。したがって、このような符号化および復号化が行われた後には、記憶部122に、参照ピクチャP7の各ブロックの動きベクトルが格納されている。
動きベクトル検出装置100aは、対象ピクチャB2,B3,P7を対象ピクチャB5,B6,P10に換えて、上述のような動きベクトルの検出を、その対象ピクチャB5,B6,P10に対しても繰り返し行なう。
(変形例10)
ここで、本実施の形態における動きベクトルの検出方法についての第10の変形例を説明する。
本変形例では、動画像符号化装置100は、動きベクトルの検出と、予測動きベクトルの算出および探索範囲の特定と、符号化および復号化処理とをパイプライン処理により行なう。
図19は、変形例10におけるパイプライン処理を示す図である。
まず、動きベクトル検出部121は、ピクチャB2の(N−1)番目のブロックBL0の動きベクトルMV0Fを検出する(ステップS500)。
その後、予測演算部123は、その動きベクトルMV0Fを用いて、ピクチャB3,P4のそれぞれの(N−1)番目のブロックBL1,BL2の予測動きベクトルMV1F*,MV2*を算出する。さらに、探索範囲制御部124は、その算出された予測動きベクトルMV1F*,MV2*によって示される探索範囲を特定する(ステップS502)。動きベクトル検出部121は、このような予測動きベクトルの算出および探索範囲の特定が行なわれている間に、ピクチャB3の(N−2)番目のブロックBL1に対して既に特定されている探索範囲から、そのブロックBL1の動きベクトルMV1Fを検出する(ステップS504)。
その後、動きベクトル検出部121は、上述と同様に、ピクチャP4の(N−2)番目のブロックBL2に対して既に特定されている探索範囲から、そのブロックBL2の動きベクトルMV2を検出する(ステップS506)。
そして、動画像符号化装置100は、上述のように検出された動きベクトルMV2を用いて、ピクチャP4の(N−2)番目のブロックBL2の予測残差画像を符号化するとともに、その符号化された予測残差画像を復号化して再構築画像を生成し、ピクチャメモリ120に格納する(ステップS510)。動きベクトル検出部121は、このような符号化および復号化処理が行なわれている間に、ピクチャB2のN番目のブロックBL0の動きベクトルMV0Fを検出する(ステップS508)。
その後、上述と同様、予測演算部123は、その動きベクトルMV0Fを用いて、ピクチャB3,P4のそれぞれのN番目のブロックBL1,BL2の予測動きベクトルMV1F*,MV2*を算出する。さらに、探索範囲制御部124は、その算出された予測動きベクトルMV1F*,MV2*によって示される探索範囲を特定する(ステップS512)。動きベクトル検出部121は、このような予測動きベクトルの算出および探索範囲の特定が行なわれている間に、ピクチャB3の(N−1)番目のブロックBL1に対して既に特定されている探索範囲から、そのブロックBL1の動きベクトルMV1Fを検出する(ステップS514)。
その後、動きベクトル検出部121は、上述と同様に、ピクチャP4の(N−1)番目のブロックBL2に対して既に特定されている探索範囲から、そのブロックBL2の動きベクトルMV2を検出する(ステップS516)。
図20は、本変形例において動きベクトルの検出対象となるブロックの順序を示す図である。
なお、図20中の各ピクチャのブロック内に示されるNや(N−1)は、そのピクチャにおけるブロックの位置を示す。
本変形例では、パイプライン処理を行なうことにより、ピクチャB2のN番目のブロックの前方動きベクトルが検出された後、ピクチャB3の(N−1)番目のブロックの前方動きベクトルが検出され、その後、ピクチャP4の(N−1)番目のブロックの前方動きベクトルが検出される。
ここで、本変形例に係る動画像符号化装置100は、変形例9における予測動きベクトルの算出方法を用いて動きベクトルを検出する場合であっても、その動きベクトルの検出と、符号化および復号化処理とをパイプライン処理により行なう。
図21は、本変形例の他のパイプライン処理を示す図である。
例えば、動きベクトル検出装置100aは、参照ピクチャP1と参照ピクチャP4とが既に符号化および復号化されている状態において、まず、参照ピクチャP4の(N−1)番目のブロックBL2の動きベクトルMV2をスケーリングすることにより、ピクチャB2の(N−1)番目のブロックBL0の予測動きベクトルMV0F*,MV0B*と、ピクチャB3の(N−1)番目のブロックBL1の予測動きベクトルMV1F*,MV1B*と、ピクチャP7の(N−1)番目のブロックBL5の予測動きベクトルMV5*とを算出する。そして、動きベクトル検出装置100aは、算出した予測動きベクトルのそれぞれから探索範囲を特定する(ステップS600)。
次に、動きベクトル検出装置100aは、ピクチャB2の(N−1)番目のブロックBL0の動きベクトルMV0F,MV0Bを検出する(ステップS602)。
その後、動画像符号化装置100は、その検出された動きベクトルMV0F,MV0Bを用いて、ピクチャB2の(N−1)番目のブロックBL0の符号化を行なう(ステップS604)。このような符号化が行なわれている間に、動きベクトル検出装置100aは、ピクチャB3の(N−1)番目のブロックBL1の動きベクトルMV1F,MV1Bを検出する(ステップS606)。
その後、動画像符号化装置100は、その検出された動きベクトルMV1F,MV1Bを用いて、ピクチャB3の(N−1)番目のブロックBL1の符号化を行なう(ステップS610)。このような符号化が行なわれている間に、動きベクトル検出装置100aは、ピクチャP7の(N−1)番目のブロックBL5の動きベクトルMV5を検出する(ステップS612)。さらに、このとき、動きベクトル検出装置100aは、参照ピクチャP4のN番目のブロックBL2の動きベクトルMV2をスケーリングすることにより、ピクチャB2のN番目のブロックBL0の予測動きベクトルMV0F*,MV0B*と、ピクチャB3のN番目のブロックBL1の予測動きベクトルMV1F*,MV1B*と、ピクチャP7のN番目のブロックBL5の予測動きベクトルMV5*とを算出する。そして、動きベクトル検出装置100aは、算出した予測動きベクトルのそれぞれから探索範囲を特定する(ステップS608)。
次に、動きベクトル検出装置100aは、ピクチャB2のN番目のブロックBL0の動きベクトルMV0F,MV0Bを検出する(ステップS614)。さらに、このとき、動画像符号化装置100は、ステップS612で検出された動きベクトルMV5を用いて、ピクチャP7の(N−1)番目のブロックBL5の予測残差画像を符号化するとともに、その符号化された予測残差画像を復号化して再構築画像を生成し、ピクチャメモリ120に格納する(ステップS616)。
その後、動画像符号化装置100は、ステップS614で検出された動きベクトルMV0F,MV0Bを用いて、ピクチャB2のN番目のブロックBL0の符号化を行なう(ステップS618)。このような符号化が行なわれている間に、動きベクトル検出装置100aは、ピクチャB3のN番目のブロックBL1の動きベクトルMV1F,MV1Bを検出する(ステップS620)。
その後、動画像符号化装置100は、その検出された動きベクトルMV1F,MV1Bを用いて、ピクチャB3のN番目のブロックBL1の符号化を行なう(ステップS624)。このような符号化が行なわれている間に、動きベクトル検出装置100aは、ピクチャP7のN番目のブロックBL5の動きベクトルMV5を検出する(ステップS626)。さらに、このとき、動きベクトル検出装置100aは、参照ピクチャP4の(N+1)番目のブロックBL2の動きベクトルMV2をスケーリングすることにより、ピクチャB2の(N+1)番目のブロックBL0の予測動きベクトルMV0F*,MV0B*と、ピクチャB3の(N+1)番目のブロックBL1の予測動きベクトルMV1F*,MV1B*と、ピクチャP7の(N+1)番目のブロックBL5の予測動きベクトルMV5*とを算出する。そして、動きベクトル検出装置100aは、算出した予測動きベクトルのそれぞれから探索範囲を特定する(ステップS622)。
このように、本変形例では、動きベクトルの検出処理と他の処理とをパイプライン処理により行うため、全体的な処理時間を短縮することができる。
以上、本発明について実施の形態およびその変形例を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、変形例10では、動きベクトルの検出処理と他の処理とをパイプライン処理により行ったが、複数の動きベクトルの検出処理を並列に実行してもよい。この場合には、動きベクトル検出装置100aは、動きベクトル検出部121を複数個備える。そして、これらの動きベクトル検出部121は、例えば、図19に示すピクチャB3の(N−2)番目のブロックの前方動きベクトルMV1Fの検出と、ピクチャP4の(N−2)番目のブロックの動きベクトルMV2の検出とを同時に実行する。
また、本発明では、ブロック図(図1など)の各機能ブロックを集積回路であるLSIとして実現してもよい。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable GateArray)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサー を利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。
本発明の動きベクトル検出装置は、動きベクトルの検出のための演算量を低減して回路規模の縮小化を図ることができるという効果を奏し、例えば、携帯電話、ビデオカメラ、DVD装置、およびパーソナルコンピュータ等において、動画像を構成する各ピクチャを符号化して符号列を生成したり、生成された符号列を復号化したりするための装置として有用である。
本発明の実施の形態における動きベクトル検出装置を備えた動画像符号化装置のブロック図である。 時間ダイレクトモードにおける動きベクトルの予測生成方法を示す模式図である。 本発明の実施の形態における予測演算部によって算出される前方向の予測動きベクトルを説明するための説明図である。 同上の動きベクトルの検出の順序を示す図である。 同上の予測演算部によって算出される後方向の予測動きベクトルを説明するための説明図である。 同上の動きベクトル検出装置が動きベクトルを検出する動作を示すフローチャートである。 同上のモード選択部が非時間ダイレクトモードの評価値を算出する動作を示すフローチャートである。 同上のモード選択部が時間ダイレクトモードの評価値を算出する動作を示すフローチャートである。 同上の変形例1における予測動きベクトルの算出方法を示す図である。 同上の変形例2における予測動きベクトルの算出方法を示す図である。 同上の変形例3における予測動きベクトルの算出方法を示す図である。 同上の変形例4における予測動きベクトルの算出方法を示す図である。 同上の変形例5における予測動きベクトルの算出方法を示す図である。 同上の変形例6における予測動きベクトルの算出方法を示す図である。 同上の変形例7における予測動きベクトルの算出方法を示す図である。 同上の変形例8における探索範囲を示す図である。 同上の変形例9において予測動きベクトルを算出する前の各ピクチャの状態を示す図である。 同上の変形例9における予測動きベクトルの算出方法を示す図である。 同上の変形例10におけるパイプライン処理を示す図である。 同上の変形例10において動きベクトルの検出対象となるブロックの順序を示す図である。 同上の変形例10の他のパイプライン処理を示す図である。 動画像符号化方式における各ピクチャの予測関係を示す模式図である。 ピクチャの表示順序および符号化順序を示す図である。 H.264における参照関係を示す図である。 従来の動きベクトルの検出における探索範囲を示す図である。 テレスコピックサーチを示す図である。 一枚の参照ピクチャにおける探索範囲の変化を示す図である。
符号の説明
100 動画像符号化装置
100a 動きベクトル検出装置
111 ブロック選択部
112 ピクチャメモリ
113 差分演算部
114 スイッチ
115 符号化部
116 整列化バッファ
117 符号列生成部
118 復号化部
119 加算演算部
121 動きベクトル検出部
122 記憶部
123 予測演算部
124 探索範囲制御部
125 モード選択部
126 動き補償部
127 スイッチ

Claims (1)

  1. 参照ピクチャを蓄積する蓄積部と、
    前記蓄積部に蓄積された同じ参照ピクチャを参照して、複数のピクチャに亘って空間的に同じ位置のブロックについてそれぞれ動きベクトルを検出した後、前記複数のピクチャ内の別の空間位置におけるブロックについてそれぞれ動きベクトルを検出する動きベクトル検出部と、を備え
    前記動き検出部は、複数のピクチャに亘って同じ空間位置のブロックについてそれぞれ動きベクトルを検出する際、前記複数のピクチャのうちいずれかのピクチャ内のブロックについて動きベクトルを検出する前に、既に他のピクチャ内の同じ空間位置のブロックについて動きベクトルを検出していた場合、検出済みの動きベクトルに基づいて、動きベクトルの検出対象であるブロックにおける動きベクトルの予測値を算出し、当該予測値に基づいて前記参照ピクチャ内の参照領域を決定し、前記決定された参照領域内のデータを用いて動きベクトルを検出し、
    動きベクトルの検出対象である前記複数のピクチャのそれぞれは、前記同じ参照ピクチャを参照するピクチャであって、
    前記検出済みの動きベクトルは、前記複数のピクチャのうち表示順で中間に位置するピクチャにおいて検出された動きベクトルである、
    動きベクトル検出装置。
JP2005320189A 2005-11-02 2005-11-02 動きベクトル検出装置 Expired - Fee Related JP4879558B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005320189A JP4879558B2 (ja) 2005-11-02 2005-11-02 動きベクトル検出装置
US11/591,451 US8451898B2 (en) 2005-11-02 2006-11-02 Motion vector estimation apparatus
CN2006101380215A CN1960496B (zh) 2005-11-02 2006-11-02 运动矢量检测装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005320189A JP4879558B2 (ja) 2005-11-02 2005-11-02 動きベクトル検出装置

Publications (2)

Publication Number Publication Date
JP2007129498A JP2007129498A (ja) 2007-05-24
JP4879558B2 true JP4879558B2 (ja) 2012-02-22

Family

ID=38040790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005320189A Expired - Fee Related JP4879558B2 (ja) 2005-11-02 2005-11-02 動きベクトル検出装置

Country Status (3)

Country Link
US (1) US8451898B2 (ja)
JP (1) JP4879558B2 (ja)
CN (1) CN1960496B (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412323B2 (ja) * 2006-12-28 2010-02-10 株式会社日立製作所 映像処理装置及び映像表示装置
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
KR101501568B1 (ko) * 2008-07-04 2015-03-12 에스케이 텔레콤주식회사 영상 부호화 및 복호화 장치 및, 방법
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2010064396A1 (ja) * 2008-12-03 2010-06-10 株式会社日立製作所 動画像復号化方法および動画像符号化方法
US8175163B2 (en) * 2009-06-10 2012-05-08 Samsung Electronics Co., Ltd. System and method for motion compensation using a set of candidate motion vectors obtained from digital video
US9654792B2 (en) * 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US9635383B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for computing a motion vector
KR102285746B1 (ko) 2011-02-09 2021-08-04 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
EP3139611A1 (en) 2011-03-14 2017-03-08 HFI Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
KR101921789B1 (ko) * 2011-05-31 2018-11-23 가부시키가이샤 제이브이씨 켄우드 동영상 인코딩 장치, 동영상 인코딩 방법 및 동영상 인코딩 프로그램, 및 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램
US10491918B2 (en) 2011-06-28 2019-11-26 Lg Electronics Inc. Method for setting motion vector list and apparatus using same
JP5682478B2 (ja) * 2011-06-29 2015-03-11 株式会社Jvcケンウッド 画像復号装置、画像復号方法、および画像復号プログラム
JP5682477B2 (ja) * 2011-06-29 2015-03-11 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、および画像符号化プログラム
JP6222514B2 (ja) * 2012-01-11 2017-11-01 パナソニックIpマネジメント株式会社 画像処理装置、撮像装置、およびコンピュータブログラム
HUE051798T2 (hu) 2012-01-19 2021-03-29 Electronics & Telecommunications Res Inst Eljárás kép kódolásra/dekódolásra
JP5693628B2 (ja) * 2013-02-21 2015-04-01 三菱電機株式会社 画像復号装置
US10382782B2 (en) * 2014-06-27 2019-08-13 Samsung Electronics Co., Ltd. Image frame interpolation apparatus, display apparatus and control method thereof
JP5931160B2 (ja) * 2014-11-05 2016-06-08 三菱電機株式会社 画像符号化装置およびビットストリーム
US10499070B2 (en) * 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830183B2 (ja) 1989-10-14 1998-12-02 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
EP0715469B1 (en) * 1989-10-14 2001-09-12 Sony Corporation Video signal coding/decoding method and apparatus
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
DE69417127T2 (de) * 1993-09-09 1999-10-14 Sony Corp. Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
JPH09168153A (ja) * 1995-12-15 1997-06-24 Matsushita Electric Ind Co Ltd 動き検出方法
TW361051B (en) * 1997-01-09 1999-06-11 Matsushita Electric Industrial Co Ltd Motion vector detection apparatus
JPH10341440A (ja) 1997-06-06 1998-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
JP3335137B2 (ja) 1998-05-19 2002-10-15 日本電信電話株式会社 動きベクトル探索方法、動きベクトル探索装置および動きベクトル探索プログラムを記録した記録媒体
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
EP2227018A1 (en) * 2002-07-02 2010-09-08 Panasonic Corporation Motion vector deriving method and image encoding method
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100967237B1 (ko) * 2002-11-01 2010-06-30 파나소닉 주식회사 동화상 부호화 방법 및 동화상 복호화 방법
JP2004173009A (ja) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd 動きベクトル検出装置および動きベクトル検出方法
JP4015084B2 (ja) * 2003-08-20 2007-11-28 株式会社東芝 動きベクトル検出装置及び動きベクトル検出方法
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
NO319629B1 (no) * 2003-11-28 2005-09-05 Tandberg Telecom As Fremgangsmate for korrigering av interpolerte pikselverdier
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
JP2006136011A (ja) 2005-12-05 2006-05-25 Sony Corp 動画像符号化方法とその装置、及び、復号方法とその装置

Also Published As

Publication number Publication date
JP2007129498A (ja) 2007-05-24
US20070110161A1 (en) 2007-05-17
CN1960496B (zh) 2010-09-01
CN1960496A (zh) 2007-05-09
US8451898B2 (en) 2013-05-28

Similar Documents

Publication Publication Date Title
CN1960496B (zh) 运动矢量检测装置
JP6411615B2 (ja) 予測復号方法
CN113796084B (zh) 运动矢量和预测样点细化
US20120320980A1 (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
AU2020294318B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
JP2005123760A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム
JP2005341023A (ja) 動きベクトル検出装置及び動きベクトル検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees