JP2007142521A - 動きベクトル算出装置および動きベクトル算出方法 - Google Patents

動きベクトル算出装置および動きベクトル算出方法 Download PDF

Info

Publication number
JP2007142521A
JP2007142521A JP2005329770A JP2005329770A JP2007142521A JP 2007142521 A JP2007142521 A JP 2007142521A JP 2005329770 A JP2005329770 A JP 2005329770A JP 2005329770 A JP2005329770 A JP 2005329770A JP 2007142521 A JP2007142521 A JP 2007142521A
Authority
JP
Japan
Prior art keywords
motion vector
global
vector calculation
macroblock
unit
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.)
Pending
Application number
JP2005329770A
Other languages
English (en)
Inventor
Kazuto Nishida
一人 西田
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.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2005329770A priority Critical patent/JP2007142521A/ja
Priority to PCT/JP2006/300533 priority patent/WO2007057986A1/ja
Priority to CN2006800003643A priority patent/CN101080930B/zh
Priority to EP06711813A priority patent/EP1950972A1/en
Priority to KR20067026952A priority patent/KR20070088322A/ko
Priority to US12/064,445 priority patent/US20090268819A1/en
Priority to TW095115350A priority patent/TWI348870B/zh
Publication of JP2007142521A publication Critical patent/JP2007142521A/ja
Pending 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/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/527Global motion vector estimation
    • 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/533Motion estimation using multistep search, e.g. two-dimensional [2D]-log search or one-at-a-time search [OTS]
    • 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)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】従来の技術には、算出したグローバル動きベクトルが誤っていた場合に探索範囲も本来のものとは異なるため、その動きベクトルも誤って算出される可能性が高くなる、という課題である。また、その動きベクトル算出の誤りによって、動画像符号化の効率低下を引き起こす可能性がある、という課題もある。
【解決手段】以上の課題を解決するために、本発明は、グローバル動きベクトルの算出に関してグローバルマクロブロックをミドルブロックに分割し、そのミドル動きベクトルを検出する。そしてその検出されたミドル動きベクトルから異常値をとっていると思われるミドル動きベクトルを除外し残ったミドル動きベクトルに基づいてより正確なグローバル動きベクトルを算出する動きベクトル算出装置を提供する。
【選択図】図4

Description

本発明は、入力画像を符号化する際のフレーム間予測に用いられる動きベクトルを算出するための、グローバル動きベクトルの算出技術に関する。
従来、動画像の高効率符号化に際しては、主に以下の3つの画像変換を用いて動画像情報量を圧縮し符号化が行われている。すなわち画像内(空間)相関を利用した第一の画像変換、画像間(時間)相関を利用した第二の画像変換、そして符号の出現確率に応じた可変長符号化を利用した第三の画像変換である。その中で、時間相関を利用した第二の画像変換では、時間的に異なるフレーム(入力画像)間における画像の移動方向と移動量をマクロブロック単位で「動きベクトル」として算出し、そのマクロブロックの画素情報と動きベクトルの情報とによってフレームを表現することで動画像情報量を削減することができる。
しかし、この「動きベクトル」の算出処理において、マクロブロックの移動先(または移動元)となる別のフレーム内のブロックを探索しようとすると、例えばスポーツ映像など動き量の多い動画像ではその探索範囲を広く取る必要があり、従って、その演算量も膨大となる可能性があった。そこで、特許文献1では、現フレームの縮小画像を利用して、最初に画像全体でのグローバルな動きベクトルを算出し、そのグローバル動きベクトルを利用してマクロブロックの移動先サーチ(探索)範囲を絞り込んだうえで動きベクトルを算出する、という技術が開示されている。
図1に示すのは、このグローバル動きベクトルを利用した、マクロブロック単位の動きベクトル算出の別の一例を説明するための図である。この図1の(1)にあるように、まずは動きベクトルを検出したいマクロブロックαを含むさらに大きな(グローバル)マクロブロックα´におけるグローバル動きベクトル(0101)を、通常の動きベクトル算出と同様の処理にて算出する。すると、このグローバル動きベクトルで示されるグローバルマクロブロックα´の移動先を含む所定の範囲内にマクロブロックαの移動があると考えることができる。したがって、図1の(2)で示す範囲βをマクロブロックαの動きベクトルの探索範囲として演算することで、探索範囲を無駄に広げずにマクロブロックαの動きベクトル(0102)を算出することができる、という具合である。
WO00/05899号
しかし、上記従来の技術には、以下のような課題があった。すなわち、図2の実線で示すように、算出したグローバル動きベクトルが誤っていた場合(正しいグローバル動きベクトルは破線矢印)、その誤ったグローバル動きベクトルに基づいて決定された探索範囲が当然本来決定されるべき探索範囲とは異なることになる。したがってその誤った探索範囲で探索され算出されたマクロブロックの動きベクトルも誤って算出される可能性が高くなる、という課題である。また、その動きベクトル算出の誤りによって、動画像符号化の効率低下を引き起こす可能性がある、という課題もある。なぜならば、通常このような誤りにより算出された動きベクトルは極端な値をとることが多い。それは、誤りによって本来とは全く異なるブロックを参照して動きベクトルを算出するためである。そして、そのベクトルの絶対値が極端に大きい値をとる場合、ベクトルの絶対値が0に近いほど高効率符号化を達成するゴロム符号化などにおいては、その符号化効率を低下させる要因ともなりうる、ということである。
以上の課題を解決するために、本発明は、グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出装置であって、さらにそのグローバル動きベクトルの算出に関して以下のような機能を備える動きベクトル算出装置を提供する。すなわち、図3の(1)に示すようにグローバルマクロブロックα´を、例えば4つのブロック(ミドルブロック)a、b、c、dに分割し、そのミドルブロックにおける動きベクトルであるミドル動きベクトルを検出する。そしてその検出されたミドル動きベクトルから、例えば「極値ベクトルの除外」や「メディアン処理」、あるいは「標準偏差を利用した異常値除外」処理などによって異常値をとっていると思われるミドル動きベクトルを除外する。そして残ったミドル動きベクトルに基づいて、図3の(2)に示すように、より正確なグローバル動きベクトル0301を算出する機能である。そのために本発明は、グローバルマクロブロックを複数のミドルブロックに分割する分割部と、分割されたミドルブロックごとにミドル動きベクトルを検出するミドル動きベクトル検出部と、一のグローバルマクロブロックのグローバル動きベクトルを、そのグローバルマクロブロックに含まれるミドルブロックのミドル動きベクトルに基づいて算出するグローバル動きベクトル算出部と、を有する。
以上のような構成をとる本発明によって、ミドル動きベクトル算出において誤った演算結果が算出されても、「極値ベクトルの除外」や「メディアン処理」、あるいは「標準偏差を利用した異常値除外」などの処理によって前述のように極端な値をとることの多いその誤った演算結果を除外することができ、したがって、より正確なグローバル動きベクトルを算出することができる。したがって、その正確なグローバル動きベクトルに基づいて動きベクトル算出用の探索範囲をより正確に決定することができ、また、その正確な動きベクトル算出によって、絶対値が0に近いほど高符号化を達成するゴロム符号化などにおいて効率的な符号化を行うこともできる。
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。なお、実施例1は、主に請求項1,8,について説明する。また、ミドル動きベクトルの除外処理に関する請求項2,3,4,9,10,11についても説明する。また、実施例2は、主に請求項5,12について説明する。また、実施例3は、主に請求項6,7,13,14について説明する。
≪実施例1≫ <実施例1の概要> 本実施例の動きベクトル算出装置の一例は、グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出装置であって、さらに以下のような機能を備えた動きベクトル検出装置である。すなわち、グローバル動きベクトルの算出に際し、そのグローバルマクロブロックをミドルブロックに分割し、そのミドルブロックにおける動きベクトルであるミドル動きベクトルを利用しより正確なグローバル動きベクトルを算出する機能を備えた動きベクトル算出装置である。
なお、「グローバルマクロブロック」とは、動画像の符号化におけるフレーム間予測で利用される動きベクトルの検出単位であるマクロブロックよりも大きなブロックをいうが、その大きさは適宜設計により設定可能であって構わない。そして、このグローバルマクロブロック単位で検出されたグローバル動きベクトルを利用して動きベクトル検出のための探索範囲が決定されることになる。このように、マクロブロック単位での動きベクトル算出において、グローバル動きベクトルによってマクロブロック移動先の探索範囲を絞りこむことができるので装置全体での処理負荷を抑えることができる。
しかし、このグローバル動きベクトルが誤って算出された場合には、前述のように動きベクトルの誤検出や符号化効率の低下などの事態を引き起こす可能性が高い。そこで、本実施例ではグローバルマクロブロックをミドルブロックに分割し、そのミドル動きベクトルを利用してより正確なグローバル動きベクトルを算出する。
<実施例1の構成> 図4に示すのは、本実施例の動きベクトル算出装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「動きベクトル算出装置」(0400)は、「分割部」(0401)と、「ミドル動きベクトル検出部」(0402)と、「グローバル動きベクトル算出部」(0403)と、を有する。なお、本発明では構成要件として明示していないが、グローバル動きベクトルを利用した動きベクトル算出装置として、グローバル動きベクトルに基づく探索範囲の決定や、その探索範囲を用いた動きベクトルの算出などの処理が行われることは言うまでもない。
なお、以下に記載する本装置の機能ブロックは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方として実現され得る。具体的には、コンピュータを利用するものであれば、CPUなどの演算器や主メモリ、バス、あるいはハードディスクや不揮発性メモリなどの記憶装置、CD−ROMやDVD−ROMなどの記憶メディア、それらメディアの読取ドライブ、各種通信や印刷機器用の送受信ポート、その他の周辺装置などのハードウェア構成部や、それらハードウェアを制御するためのドライバプログラムやその他アプリケーションプログラム、情報入力に利用されるインターフェースなどが挙げられる。そして、これらハードウェアやソフトウェアは、メモリ上に展開したプログラムを演算器で順次演算処理したり、メモリやハードディスク上に保持されているデータや、インターフェースを介して入力されたデータなどを加工、蓄積、出力処理したり、あるいは各ハードウェア構成部の制御を行ったりするために利用される。また、この発明は装置として実現できるのみでなく、方法としても実現可能である。また、このような発明の一部をソフトウェアとして構成することができる。さらに、そのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品、及び同製品を記録媒体に固定した記録媒体も、当然この発明の技術的な範囲に含まれる(本明細書の全体を通じて同様である)。
「分割部」(0401)は、グローバルマクロブロックを複数のミドルブロックに分割する機能を有する。なお、その分割数や分割形状などは任意に設定可能である。また、その「分割」は、例えばグローバルマクロブロックの座標情報に基づいて分割後のミドルブロックの座標が演算される動的な分割のみならず以下のような静的な分割であっても良い。すなわち予めグローバルマクロブロックの座標情報とその分割されたミドルブロックの座標情報とをテーブル化した「グローバルマクロブロック−ミドルブロックテーブル」を記憶装置などに記憶しておく。そして、分割においては座標情報で示されるグローバルマクロブロックをキーとしてそのテーブルを参照し、すでに分割されている対応したミドルブロックの座標情報を取得する、という方法である。ただし、いずれの複数分割においても、図5の(1)に示すように、ミドルブロック同士が重ならないような分割であることが望ましい。なぜならば、図5の(2)に示すように、ミドルブロック同士が重なっている場合、ミドルブロックa、b、c、dのミドル動きベクトルを利用してグローバル動きベクトルを算出する際に、その重なり部分を考慮しなければならないなど不要な演算処理が必要になるからである。
そして、この分割部での具体的なグローバルマクロブロックの分割処理方法の一例として、例えば、グローバルマクロブロックの座標情報を利用し、そのグローバルマクロブロックを、所定長辺を有する長方形状のミドルブロックに分割する方法などが挙げられる。なお、これらグローバルマクロブロックと、それを分割して生成された複数のミドルブロックとは、それぞれの識別情報などが関連付けられるなどして保持される。
「ミドル動きベクトル検出部」(0402)は、分割されたミドルブロックごとにミドル動きベクトルを検出する機能を有する。なお、このミドル動きベクトルの検出処理は、通常の動きベクトルの検出処理同様に、例えばミドルブロックと、そのミドルブロックの参照先フレーム内にあるブロックとの間で、対応画素ごとに差分の絶対値をとり、その総和を相関係数として算出する。そして参照先フレーム内を一画素や半画素単位などでサーチしながら全探索しそれぞれ相関係数を算出し、その相関係数が最も小さいブロックをそのミドルブロックの移動先として特定する。そして、そのミドルブロックの移動先への移動方向と移動量からミドル動きベクトルが検出される、という具合で検出すると良い。もちろんこのような参照先フレーム内のブロックを半画素単位などで全てサーチし相関係数を演算する検出処理は一例であり、演算負荷を下げるため任意の3つのブロックの相関係数を求め、その大小関係から移動先のブロックを絞り込んでいく、いわゆるログサーチと呼ばれる処理などでミドル動きベクトルを検出しても構わない。
なお、図6に示すように、例えば横サイズが「2a」×縦サイズが「2b」のグローバルマクロブロックの動き先探索の演算量は、その探索量を「Z」とした場合、「4ab×Z」である。一方、そのグローバルマクロブロックを、縦サイズが「a」×横サイズが「b」のミドルブロック4個に分割した場合、その動き先探索の演算量は探索量が同じ「Z」であるため、「ab×Z×4」となる。このように、本実施例によってミドル動きベクトルを利用してグローバル動きベクトルを算出する方法は、従来のグローバル動きベクトル算出の演算処理量とほとんど変わらず実施することができる。
「グローバル動きベクトル算出部」(0403)は、一のグローバルマクロブロックのグローバル動きベクトルを、そのグローバルマクロブロックに含まれるミドルブロックのミドル動きベクトルに基づいて算出する機能を有する。そして、本実施例はこのグローバル動きベクトル算出部でのグローバル動きベクトルの算出において従来の動きベクトル検出とは異なる演算処理により算出する点を特徴としている。すなわち、「極値ベクトルの除外」や「メディアン処理」、あるいは「標準偏差を利用した異常値除外」などによって、本来とは全く異なるブロックを参照しため極端な値を取って検出された異常値をとるミドル動きベクトルを除外した上でグローバル動きベクトルを算出する点である。そしてそれにより、従来よりも正確にグローバル動きベクトルを算出することができる。以下、図7から図9を利用して、これら極値をとるミドル動きベクトルを除外したグローバル動きベクトル算出部でのグローバル動きベクトルの算出処理例について説明する。
図7に示すのは、グローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の一例について説明するための図である。この図にあるように、本実施例の動きベクトル算出装置は、その「グローバル動きベクトル算出部」(0703)が、さらに「極値除外平均手段」(0704)を有することを特徴とする。「極値除外平均手段」(0704)は、前記ミドル動きベクトルのうち、最大値をとるミドル動きベクトルおよび最小値をとるミドル動きベクトルを除いたベクトル値の総和を平均しグローバル動きベクトルを算出する機能を有する。例えば図7に示すように、グローバルマクロブロックを9個のミドルブロックに分割し、それぞれのミドル動きベクトルa、b、・・・・・、iを検出する。そしてそれぞれのベクトル量を演算、比較し、9個のミドル動きベクトルの中で最大のベクトル量を有するベクトルが「i」、最小のベクトル量を有するベクトルが「a」であることが判断された。すると、この極値除外平均手段では、その最大ベクトル「i」と最小ベクトル「a」を除外した、残りのミドル動きベクトルb、c、・・・、hの総和を平均し、グローバル動きベクトルを求める、という具合である。
図8に示すのは、グローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の、別の一例について説明するための図である。この図にあるように、本実施例の動きベクトル算出装置は、その「グローバル動きベクトル算出部」(0803)が、さらに「メディアン平均手段」(0804)を有することを特徴とする。「メディアン平均手段」(0804)は、前記ミドル動きベクトルをメディアン処理することでグローバル動きベクトルを算出する機能を有する。なお、「メディアン処理」とは、例えばベクトル成分を大きさの順に並べ、その中央に位置する値(数値が偶数個の場合は中央2個の値の平均)を平均値として算出する処理である。例えば図8に示すように、グローバルマクロブロックを分割した9個のミドルブロックのミドル動きベクトルa、b、・・・・・、iを検出する。そしてそれぞれのベクトル成分を、その値の小さい(大きい)順に並べる。すると、その中央値は「4、3」であることが特定できるので、グローバル動きベクトルの成分を「4,3」として求める、という具合である。なお、このメディアン処理において、成分の中央値を求める前に極値を取るベクトルを除いて、その残ったベクトルの成分の中央値を求める、といった処理を行っても良い。
図9に示すのは、グローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の、別の一例について説明するための図である。この図にあるように、本実施例の動きベクトル算出装置は、その「グローバル動きベクトル算出部」(0903)が、さらに「標準偏差利用平均手段」(0904)を有することを特徴とする。「標準偏差利用平均手段」(0904)は、前記ミドルブロック動きベクトルのうち±3σ内の値を有するミドル動きベクトル値の総和を平均してグローバル動きベクトルを算出する機能を有する。なお、「σ」とは標準偏差、すなわち「(各ベクトル値とその平均値の差)の2乗」の平均値で算出される分散の平方根をいい、図の正規分布に示すように、その標準偏差σの±3倍値内にベクトル値の99.7%が含まれることになる。したがって、±3σに含まれないミドル動きベクトルは0.3%の確率で出現する異常値であると考えることができる。したがって、これらの異常値をとるミドル動きベクトル、例えばa、iを除外し、残ったミドル動きベクトルb、c、・・・、hの総和を平均しグローバル動きベクトルを求める、という具合である。
このように上記いずれの処理方法にせよ、極端なベクトル値をとるミドル動きベクトルを除外することができ、したがって、より正確なグローバル動きベクトルを算出することができる。そして、その正確な正確なグローバル動きベクトルに基づいて動きベクトル算出用の探索範囲をより正確に決定し、動きベクトルを算出することができる。
<実施例1のハードウェア構成例> 図10に示すのは、本実施例の動きベクトル算出装置におけるハードウェア構成の一例を表す概略図である。この図を利用してミドル動きベクトルに基づいたグローバル動きベクトルの算出処理におけるそれぞれのハードウェア構成部の働きの一例について説明する。この図にあるように、本実施例の動きベクトル算出装置における、分割部、ミドル動きベクトル検出部、およびグローバル動きベクトル算出部の機能は、データの演算を行う「演算器」(1001)や、そのためのデータを格納する「主メモリ」(1002)、高効率符号化の対象となる画像を入力する「画像入力手段」(1003)や、その入力画像を格納する「ビデオメモリ」(1004)などによって実現される。そしてそれらがシステムバス(1005)などのデータ通信経路によって相互に接続され、情報の送受信などを行う。
また、「主メモリ」は、演算器で実行するプログラムの作業領域であるワーク領域と、そのプログラムによって処理するためのデータを格納するデータ領域とを提供する。そして、この「主メモリ」や「ビデオメモリ」には複数のメモリアドレスが割り当てられており、「演算器」で実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。
ここで、「画像入力手段」から高効率符号化の対象となる画像が入力される。ここでの入力画像は、例えばテレビチューナにて受信したアナログ放送波を無圧縮で符号化した動画像データや、デジタルビデオカメラで撮影した無圧縮の符号化動画像データなどさまざまであって良い。あるいは高効率符号化された動画像データを展開した符号化動画像であっても良い。そして、ここで入力された動画を構成する画像がシステムバスを介しビデオメモリの所定のメモリアドレスに、例えばメモリアドレスAに入力画像1(動画像データの最初のフレーム)、メモリアドレスBに入力画像2(動画像データの2番目のフレーム)、・・・という具合に格納される。
そして、それら入力画像のデータが順次「主メモリ」の所定メモリアドレスに格納され、「演算器」の演算処理によってDCT変換処理や量子化処理などが行われることで、画像内(空間)相関を利用した第一の画像変換が行われる。そしてこの第一の画像変換処理に続いて、画像の逆変換(逆DCT変換、逆量子化)処理が行われ逆変換画像が作成される。そして、入力画像2以降においては、フレーム間予測による画像圧縮を行うため画像の動き検出を行うが、その動き検出処理は、それら逆変換画像と入力画像とを利用して行われる。また、この動き検出処理における演算処理量削減と検出精度向上のため、さらにグローバル動きベクトル算出処理が行われる。具体的には、フレーム間予測の前方予測処理での動き予測に使用されるマクロブロックと構成が一致するよう、入力画像2のグローバルマクロブロックの入力画像1に対するグローバル動きベクトルを算出する。そして、このグローバル動きベクトル算出を行う処理過程の中で、本実施例ではその検出精度を上げるため、以下のようにしてミドル動きベクトルの検出処理、およびそのミドル動きベクトルに基づくグローバル動きベクトルの算出処理を行う。なお、これらグローバル動きベクトルの算出処理やミドル動きベクトルの検出処理においては、上記逆変換画像と入力画像を用いる方法と、入力画像のみを用いて求める方法があるが、以下の説明では入力画像のみを用いて検出する方法を例として述べる。
(分割部の処理) ミドル動きベクトル検出のために、本実施例では、前述の通り、まずグローバルマクロブロックのミドルブロック分割処理を行う。そこで、主メモリのワーク領域に展開されたグローバル動きベクトル算出プログラムの命令により、まず、入力画像2におけるグローバル動きベクトルを算出するグローバルマクロブロックαの座標情報が取得され、主メモリのメモリアドレス1に格納される。そして、例えば「メモリアドレス1に格納されたグローバルマクロブロックαの座標情報をキーとして、そのグローバルマクロブロックを分割したミドルブロックの座標情報を取得せよ」との旨を示す命令に従い、前述の「グローバルマクロブロック−ミドルブロックテーブル」を参照し、該当するミドルブロック1,2,3,4の座標情報が取得される。そしてそのミドルブロックの座標情報が、主メモリのメモリアドレス2,3,4,5にそれぞれ格納される。
(ミドル動きベクトル検出部の処理) 続いて、上記主メモリのそれぞれのメモリアドレスに格納されているミドルブロックにおけるミドル動きベクトルの検出処理が行われる。なお、このミドル動きベクトルの検出は、従来の動きベクトルと同様の処理によって検出されると良い。そこで、前述の相関係数を算出するため、座標情報に基づいてミドルブロック1の画素情報の取得が行われる。具体的には、メモリアドレス2に格納されたその座標情報に基づいて、「ビデオメモリに格納されている入力画像2のミドルブロック1を構成する画素情報を主メモリの所定のメモリアドレスに格納せよ」という具合の命令が送出され実行される。
また、ミドル動きベクトル検出のため、そのミドルブロック1の参照先となる前または後ろの入力画像の識別情報、例えば入力画像1、が特定されシステムバスなどを介し主メモリの所定のメモリアドレスに格納される。そして、ミドルブロックと同様に、相関係数を算出するため、入力画像1のブロック1の座標情報に基づいて、そのブロックを構成する画素情報の取得、及び主メモリへの格納が行われる。またそのブロックを半画素(あるいは一画素や1/4画素)単位で動か(サーチ)しながら、同様にそれらブロックを構成する画素情報の取得、及び主メモリへの格納が行われる。
そしてミドルブロックの画素情報やそれらブロックの画素情報をメモリアドレスにより特定し、例えば「ミドルブロック1と(参照先の)入力画像1のブロック1の対応する画素の差分値をとり、その絶対値の総和を演算し、その演算結果(相関係数)を主メモリの所定のメモリアドレスに格納せよ」とのプログラム命令に従い、演算器での演算、および演算結果のメモリアドレスへの格納が実行される。また、同様の命令により、その他の入力画像1のブロック2,3、・・・に関しても相関係数がそれぞれ算出され、主メモリのまた別の所定のメモリアドレスに格納される。つづいて、それぞれの相関係数がメモリアドレスにより特定され、例えば「主メモリにそれぞれ格納されている演算結果(相関係数)の大小比較を行い、最小となる相関係数を特定せよ」、との命令にしたがい、演算器での演算処理による相関係数の大小比較が実行される。そしてその最小を取る相関係数が特定され、その相関係数と関連付けられたブロックが、入力画像2のミドルブロック1の、入力画像1における移動先として特定される。そしてミドルブロック1とその移動先として特定されたブロックの座標情報から演算器の演算によりミドル動きベクトル1が算出され、主メモリのメモリアドレス11に格納される、という具合である。また、ミドルブロック2,3,4に関しても同様のミドル動きベクトル算出処理が行われる。また、入力画像2のその他のグローバルマクロブロックβ、θ、・・・に関しても同様にしてミドルブロックの分割処理、およびミドル動きベクトルの検出処理が行われる。
(グローバル動きベクトル算出部の処理) 続いて、上記検出されたミドル動きベクトルを利用してグローバル動きベクトルを算出する。そのために、前述のミドル動きベクトルのうち、「極値ベクトルの除外」(極値除外平均手段)や「メディアン処理」(メディアン処理手段)、あるいは「標準偏差を利用した異常値除外」(標準偏差利用平均手段)処理などを行う。そこで、例えば極値ベクトルの除外処理であれば、「ミドル動きベクトルのベクトル量の大小比較を実行し、最大値をとるミドル動きベクトルと最小値をとるミドル動きベクトルとを除いたミドル動きベクトルの平均を算出し、主メモリのメモリアドレス21に格納せよ」との命令に従い、主メモリのメモリアドレス11,12,13,14に格納されているそれぞれのミドル動きベクトルのベクトル量の大小比較が演算器の演算により実行される。そして、最大値をとるミドル動きベクトルと最小値をとるミドル動きベクトルとが除外された上で残ったミドル動きベクトルの平均が算出され、そのベクトルが、分割時のテーブルにて関連付けられているグローバルマクロブロックαのグローバル動きベクトルとして、主メモリのメモリアドレス21に格納される、という具合である。なお、「メディアン処理」であれば各ベクトル成分の大小比較結果を順番にメモリアドレスに格納し、ベクトル個数の真ん中の数値(偶数であれば真ん中の2つの数値)の順番に格納されている成分(ベクトル個数が偶数である場合はその成分の平均)をグローバル動きベクトルの成分とする命令、およびそのための演算器での演算が行われると良い。また、「標準偏差を利用した異常値除外」処理であれば、ベクトル値の標準偏差σを算出し、±3σ以内のベクトル値を有するミドル動きベクトルの平均をグローバル動きベクトルとする命令、およびそのための演算器での演算が行われると良い。
そして、このようにして算出されたグローバル動きベクトルを利用して、従来のグローバル動きベクトルを利用した動きベクトル検出と同様に、演算器での演算により探索範囲の座標情報などが算出され、それに基づく探索および動きベクトルの算出が行われる。
<実施例1の処理の流れ> 図11に示すのは、本実施例の動きベクトル算出装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、グローバルマクロブロックを複数のミドルブロックに分割し(ステップS1101)、分割されたミドルブロックごとにミドル動きベクトルを検出する(ステップS1102)。続いて、一のグローバルマクロブロックのグローバル動きベクトルを、前記検出されたそのグローバルマクロブロックに含まれるミドルブロックのミドル動きベクトルに基づいて算出する(ステップS1103)。そして、その算出されたグローバル動きベクトルに基づいてマクロブロックの動きベクトル探索範囲を決定し(ステップS1104)、その探索範囲を利用して動きベクトルを算出する(ステップS1105)。
<実施例1の効果の簡単な説明> 以上のように、本実施例の動きベクトル算出装置によってミドル動きベクトル算出において誤った演算結果が算出されても、「極値ベクトルの除外」や「メディアン処理」、あるいは「標準偏差を利用した異常値除外」などの処理によってその誤った演算結果を除外することができ、したがって、より正確なグローバル動きベクトルを算出することができる。したがって、その正確なグローバル動きベクトルに基づいて動きベクトル算出用の探索範囲をより正確に決定することができ、また、その正確な動きベクトル算出によって、絶対値が0に近いほど高符号化を達成するゴロム符号化などにおいて効率的な符号化を行うこともできる。
≪実施例2≫ <実施例2の概要> 図12に示すのは、本実施例における動きベクトル算出装置の概要の一例を説明するための図である。この図12の(1)にあるようにフレーム内のグローバルマクロブロックを等分割した場合、矢印P方向へ移動する人物と動かない背景を含むブロックのグローバル動きベクトルは、例えばベクトルGのように人物と背景の動きベクトルが合成されたベクトルとなる。したがって、このグローバルマクロブロックに含まれる人物部分のマクロブロックにおける動きベクトル算出などにおいて誤検出が生じる可能性がある。そこで、本実施例では、図12(2)に示すように、グローバルマクロブロックを、移動体を多く含む(と思われる)ブロックと、あまり含まないブロックと、という具合にフレーム内のグローバルマクロブロックを不均等に分割する。これによって、移動体を含むブロックにおけるグローバル動きベクトルが、例えばベクトルFのように移動しない背景などの動きベクトルの影響を抑え、移動体の動きに合ったベクトルとして算出することができる。また逆にベクトルDのように、移動体の動きベクトルの影響を抑え、移動しない背景(ここではカメラのパンの動き)に合ったベクトルとして算出することができる。
<実施例2の構成> 図13に示すのは、本実施例の動きベクトル算出装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「動きベクトル算出装置」(1300)は、グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出装置であって、さらに「フレーム分割部」(1301)と、「所定分割後グローバル動きベクトル算出部」(1302)と、を有する。
「フレーム分割部」(1301)は、フレーム領域を所定のルールに従って不均等の複数のグローバルマクロブロックに分割する機能を有する。この分割は、例えば予め設定されたモードなどに従って分割する方法が挙げられる。例えば、通常動画像は重要な被写体が中央部に位置している、と考え、フレーム中心部を細分化したグローバルマクロブロックとし、フレーム周辺部は領域を大きくしたグローバルマクロブロックとする、などの分割であっても良い。そしてこのフレーム分割部での分割処理は、上記のような不均等な分割パターンに従い、例えばそれぞれのグローバルマクロブロックの座標を示すテーブルなどが用意されこのフレーム分割部での処理に利用する方法が挙げられる。つまり、「所定のルール」の一例として、その分割パターンを示す座標情報を保持した座標テーブルなどが挙げられる。
また、図14の(1)に示すように、例えばフレーム横方向へ高速移動する車両の動画であれば、フレームを横方向に広く分割したグローバルマクロブロックとして分割したり、図14の(2)に示すように、野球動画であれば、その典型的な場面構成に応じて、キャッチャー、バッター、ピッチャーがそれぞれに主に含まれるようなグローバルマクロブロックの分割したりすると良い。そして、このように移動体と非移動体を分けて含むようにグローバルマクロブロックの分割を不均等に行うことで、より正確な動きベクトル算出のためのグローバル動きベクトルを算出することができるようになる。なお、高効率符号化処理に際して、ユーザーによるモード選択などで、符号化される動画の種類などを指定する情報を取得し、上記のような分割パターンを選択しても良い。あるいは、所定フレーム(過去10フレームなど)のブロックごとの動きベクトルの履歴を保持しておき、その履歴に基づいて、動き量が大きい領域は細かく分割し、動き量が小さい領域は大きく分割する、という具合のルールを選択しても良い。また、同様に履歴を利用し、同じような動きベクトルをまとめて新しいグローバル動きベクトルとする、などのルールであっても構わない。
「所定分割後グローバル動きベクトル算出部」(1302)は、分割により得られたグローバルマクロブロックのグローバル動きベクトルを算出する機能を有する。なお、このグローバル動きベクトルの算出処理は、そのグローバル動きベクトルの形状などが不均等である以外、上記相関係数を利用する従来のグローバル動きベクトル算出処理と同様の処理で算出可能であるのでその説明は省略する。
<実施例2のハードウェア構成例> 図15に示すのは、本実施例の動きベクトル算出装置におけるハードウェア構成の一例を表す概略図である。この図を利用して本実施例のグローバル動きベクトルの算出処理におけるそれぞれのハードウェア構成部の働きの一例について説明する。この図にあるように、本実施例の動きベクトル算出装置における、フレーム分割部、および所定分割後グローバル動きベクトル検出部の機能は、データの演算を行う「演算器」(1501)や、そのためのデータを格納する「主メモリ」(1502)、また、高効率符号化の対象となる画像を入力する「画像入力手段」(1503)や、その入力画像を格納する「ビデオメモリ」(1504)、また、上記グローバルマクロブロックの不均等な分割パターンを示す座標テーブルなどを蓄積している記憶装置(1506)などによって実現される。そしてそれらがシステムバス(1505)などのデータ通信経路によって相互に接続され、情報の送受信などを行う。
もちろん、「主メモリ」や「ビデオメモリ」、「記憶装置」には複数のメモリアドレスが割り当てられており、「演算器」で実行されるプログラムは、そのメモリアドレスを特定しアクセスすることで相互にデータのやりとりを行い、処理を行うことが可能になっている。
ここで、「画像入力手段」から高効率符号化の対象となる画像が入力される。ここでの入力画像は、実施例1同様にアナログデータの符号化動画像データなどさまざまであって良い。そして、ここで入力された動画を構成する画像がシステムバスを介しビデオメモリの所定のメモリアドレスに、例えばメモリアドレスAに入力画像1(動画像データの最初のフレーム)、メモリアドレスBに入力画像2(動画像データの2番目のフレーム)、・・・という具合に格納される。
そして、それら入力画像のデータが順次「主メモリ」の所定メモリアドレスに格納され、「演算器」の演算処理によってDCT変換処理や量子化処理などが行われることで、画像内(空間)相関を利用した第一の画像変換が行われる。そしてこの第一の画像変換処理に続いて、画像の逆変換(逆DCT変換、逆量子化)処理が行われ、逆変換画像が生成される。そして、それら逆変換画像と入力画像、あるいは複数の入力画像を利用してグローバル動きベクトル算出処理を行う。
(フレーム分割部の処理) そのために、本実施例では、前述の通り、まず入力画像のフレーム領域を不均等なグローバルマクロブロックに分割する処理が行われる。そこで、主メモリのワーク領域に展開されたグローバル動きベクトル算出プログラムの命令により、まず、「記憶装置」に蓄積されている不均等なグローバルマクロブロックの座標情報を示す座標テーブルが主メモリのメモリアドレス1に格納される。そこで「座標テーブルを参照しそれぞれのグローバルマクロブロックの座標情報を取得し、主メモリの所定のメモリアドレスに格納せよ」という命令に従い、フレームを不均等に分割したグローバルマクロブロックのそれぞれの座標情報が取得され主メモリのメモリアドレス2,3、・・・に格納される。
(所定分割後グローバル動きベクトル算出部の処理) つづいて、主メモリのメモリアドレスに格納された(所定分割後)グローバルマクロブロック1の座標情報に基づいて、グローバル動きベクトルの算出処理が行われる。なお、その算出処理は従来のグローバル動きベクトルの算出処理と同様に、例えば対応する画素の差分値の絶対値の総和である相関係数を利用して算出すると良い。そして、算出されたグローバル動きベクトルを主メモリのメモリアドレス11に格納する。また、その他のグローバルマクロブロック2,3・・・に関しても同様にしてグローバル動きベクトルを算出し、所定のメモリアドレスに格納すると良い。
このように、例えば移動体と非移動体とが分離して含まれるよう不均等に分割されたグローバルマクロブロックのグローバル動きベクトルを算出することで、それぞれのグローバルマクロブロックに含まれる個々のマクロブロックの動きに正確に対応した探索範囲を決定することができる。なお、その探索範囲の決定やそれに基づく動きベクトルの算出などは、従来の演算処理と同様にして行われると良い。
<実施例2の処理の流れ> 図16に示すのは、本実施例の動きベクトル算出装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、フレーム領域を所定のルールに従って不均等の複数のグローバルマクロブロックに分割し(ステップS1601)、分割により得られたグローバルマクロブロックのグローバル動きベクトルを算出する(ステップS1602)。そして、その算出されたグローバル動きベクトルに基づいてマクロブロックの動きベクトル探索範囲を決定し(ステップS1603)、その探索範囲を利用して動きベクトルを算出する(ステップS1604)。
<実施例2の効果の簡単な説明> 以上のように、本実施例の動きベクトル算出装置によって、例えば移動体と非移動体とが分離して含まれるよう不均等に分割されたグローバルマクロブロックのグローバル動きベクトルを算出することができる。したがって、それぞれのグローバルマクロブロックに含まれる個々のマクロブロックの動きに正確に対応した探索範囲を決定し、動きベクトルを算出することができる。
≪実施例3≫ <実施例3の概要> 本実施例は、実施例2を基本として、複数のルールを保持し、そのルールを選択的に適用してフレームを不均等なグローバルマクロブロックに分割する機能をさらに備えていることを特徴とする。
<実施例3の構成> 図17に示すのは、本実施例の動きベクトル算出装置における機能ブロックの一例を表す図である。この図にあるように、本実施例の「動きベクトル算出装置」(1700)は、実施例2を基本として、「フレーム分割部」(1701)と、「所定分割後グローバル動きベクトル算出部」(1702)と、を有する。なお、これら「フレーム分割部」および「所定分割後グローバル動きベクトル算出部」は実施例2ですでに記載済みであるのでその説明は省略する。そして、本実施例の動きベクトル算出装置の特徴点は、さらに「ルール保持部」(1703)と、「選択部」(1704)と、を有している点である。
「ルール保持部」(1703)は、前記所定のルールを複数保持する機能を有する。このルール保持部は、例えばハードディスクドライブなどの磁気記録装置や不揮発性メモリ、あるいはDVDディスクなどの光学メディアとその読取ドライブなどで実現することができる。
図18に示すのは、この所定のルールの一例を説明するための概念図である。この図にあるように所定のルールは、例えばグローバルマクロブロックの分割パターンを指定するルールが挙げられる。例えば、図18の(1)に示すように、ユーザーが指定するモードと関連付けて分割パターンが設定されており、インターフェースから入力されたそのモードを示す情報に基づいて、例えば通常撮影された動画像であれば、パターン1で示される座標情報などに基づいてフレームを分割する、という具合である。あるいは図18の入力画像をパターンマッチング処理することで、例えば重要被写体のある位置を検出し、その検出結果に応じて設定された分割パターンで示される座標情報などに基づいてフレームを分割する、という具合である。
図19に示すのは、また別の所定のルールの一例を説明するための図である。この所定のルールにおいては、実施例1で説明したミドルブロックのミドル動きベクトルを利用する。すなわち、図19の(1)に示すように、まずミドルブロックごとにそれぞれのミドル動きベクトルを算出する。そして隣接または離散ブロック間でベクトル値の比較を行い、所定の範囲で近似のベクトルを有するミドルブロック、例えば1,2,9,10、をまとめてグローバルマクロブロックAとする、という具合である。つまり、この例の所定のルールでは、そのベクトルの近似判断のための範囲などが定められていると良い。そして、上記のような所定のルールが、次の選択部において選択され、フレーム分割のルールとして適用されることになる。
「選択部」(1704)は、複数保持されているルールから一のルールを選択してフレーム分割部でのルールとして利用させる機能を有する。この選択の基準は、前述の通り、例えばインターフェースを介してユーザーの選択入力したモード情報や、パターンマッチングによって検出された重要被写体のフレーム内での位置情報などを基準にすると良い。また選択部での選択は、このような分割パターンの選択以外に、例えばミドルブロックを利用したグローバルマクロブロックの分割を利用するか否か、などのように分割手法が選択される構成であっても良い。
また、その際、選択基準となる上記情報などが「属性値」として本実施例の動きベクトル算出装置に取得され、その属性値に基づいて上記選択が行われても良い。図20に示すのは、この属性値を取得する「属性値取得部」を有する動きベクトル算出装置における機能ブロックの一例を表す図である。この図にあるように、この例では「動きベクトル算出装置」(2000)は、「フレーム分割部」(2001)と、「所定分割後グローバル動きベクトル算出部」(2002)と、「ルール保持部」(2003)と、「選択部」(2004)と、を有してする。そしてさらに「属性値取得部」(2005)を有している。
「属性値取得部」(2005)は、動きベクトルを算出すべき動画像の属性値を取得する機能を有する。「属性値」とは、前述のように、インターフェースを介してユーザーの選択入力したモード情報を示す値や、パターンマッチングによって検出された重要被写体のフレーム内での位置などを示す値、あるいは、ミドルブロックを利用したグローバルマクロブロックの分割を利用するか否かを示す値などが挙げられる。そして、このような取得した属性値に応じてルールを選択することで、入力画像に合わせたグローバルマクロブロックの分割を行うことができるようになる。
<実施例3の処理の流れ> 図21に示すのは、本実施例の動きベクトル算出装置における処理の流れの一例を表すフローチャートである。なお、以下に示すステップは、媒体に記録され計算機を制御するためのプログラムを構成する処理ステップであっても構わない。この図にあるように、まず、動きベクトルを算出すべき動画像の属性値を取得し(ステップS2101)、その属性値に基づいて、予め保持されている複数のルールから一のルールを選択する(ステップS2102)。つづいて、前記選択されたルールに従って、フレーム領域を不均等の複数のグローバルマクロブロックに分割し(ステップS2103)、分割により得られたグローバルマクロブロックのグローバル動きベクトルを算出する(ステップS2104)。そして、その算出されたグローバル動きベクトルに基づいてマクロブロックの動きベクトル探索範囲を決定し(ステップS2105)、その探索範囲を利用して動きベクトルを算出する(ステップS2106)。
<実施例3の効果の簡単な説明> 以上のように、本実施例の動きベクトル算出装置によって、画像の属性値などに応じてフレーム領域の分割に適用されるルールを選択することができる。したがって、入力画像にあったグローバルマクロブロックの不均等分割を行うことができ、それぞれのグローバルマクロブロックに含まれる個々のマクロブロックの動きに、さらに正確に対応した探索範囲を決定し、動きベクトルを算出することができるようになる。
従来技術である、グローバル動きベクトルを利用した、マクロブロック単位の動きベクトル算出の別の一例を説明するための図 従来技術の、グローバル動きベクトルを利用したマクロブロック単位の動きベクトル算出における課題を説明するための図 実施例1における動きベクトル算出装置の一例を説明するための概念図 実施例1の動きベクトル算出装置における機能ブロックの一例を表す図 実施例1の動きベクトル算出装置の分割部における分割の一例を説明するための図 実施例1の動きベクトル算出装置のミドル動きベクトル検出部における探索処理の演算量について説明するための図 実施例1の動きベクトル算出装置のグローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の一例について説明するための図 実施例1の動きベクトル算出装置のグローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の、別の一例について説明するための図 実施例1の動きベクトル算出装置のグローバル動きベクトル算出部でのグローバル動きベクトルの算出処理の、また別の一例について説明するための図 実施例1の動きベクトル算出装置におけるハードウェア構成の一例を表す概略図 実施例1の動きベクトル算出装置における処理の流れの一例を表すフローチャート 実施例2における動きベクトル算出装置の概要の一例を説明するための図 実施例2の動きベクトル算出装置における機能ブロックの一例を表す図 実施例2の動きベクトル算出装置のフレーム分割部におけるフレーム分割の一例を説明するための図 実施例2の動きベクトル算出装置におけるハードウェア構成の一例を表す概略図 実施例2の動きベクトル算出装置における処理の流れの一例を表すフローチャート 実施例3の動きベクトル算出装置における機能ブロックの一例を表す図 実施例3の動きベクトル算出装置のルール保持部に保持されている所定のルールの一例を説明するための概念図 実施例3の動きベクトル算出装置のルール保持部に保持されている所定のルールの、別の一例を説明するための概念図 実施例3の動きベクトル算出装置における機能ブロックの、別の一例を表す図 実施例3の動きベクトル算出装置における処理の流れの一例を表すフローチャート
符号の説明
0400 動きベクトル算出装置
0401 分割部
0402 ミドル動きベクトル検出部
0403 グローバル動きベクトル算出部

Claims (14)

  1. グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出装置であって、
    グローバルマクロブロックを複数のミドルブロックに分割する分割部と、
    分割されたミドルブロックごとにミドル動きベクトルを検出するミドル動きベクトル検出部と、
    一のグローバルマクロブロックのグローバル動きベクトルを、そのグローバルマクロブロックに含まれるミドルブロックのミドル動きベクトルに基づいて算出するグローバル動きベクトル算出部と、
    を有する動きベクトル算出装置。
  2. 前記グローバル動きベクトル算出部は、前記ミドル動きベクトルのうち、最大値をとるミドル動きベクトルおよび最小値をとるミドル動きベクトルを除いたベクトル値の総和を平均しグローバル動きベクトルを算出する極値除外平均手段を有する請求項1に記載の動きベクトル算出装置。
  3. 前記グローバル動きベクトル算出部は、前記ミドル動きベクトルをメディアン処理することでグローバル動きベクトルを算出するメディアン平均手段を有する請求項1に記載の動きベクトル算出装置。
  4. 前記グローバル動きベクトル算出部は、前記ミドルブロック動きベクトルのうち±3σ内の値を有するミドル動きベクトル値の総和を平均してグローバル動きベクトルを算出する標準偏差利用平均手段を有する請求項1に記載の動きベクトル算出装置。
  5. グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出装置であって、
    フレーム領域を所定のルールに従って不均等の複数のグローバルマクロブロックに分割するフレーム分割部と、
    分割により得られたグローバルマクロブロックのグローバル動きベクトルを算出する所定分割後グローバル動きベクトル算出部と、
    を有する動きベクトル算出装置。
  6. 前記所定のルールを複数保持するルール保持部と、
    複数保持されているルールから一のルールを選択してフレーム分割部でのルールとして利用させる選択部と、
    をさらに有する請求項5に記載の動きベクトル算出装置。
  7. 動きベクトルを算出すべき動画像の属性値を取得する属性値取得部をさらに有し、
    前記選択部は、取得した属性値に基づいて前記選択を行う請求項6に記載の動きベクトル算出装置。
  8. グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出方法であって、
    グローバルマクロブロックを複数のミドルブロックに分割する分割ステップと、
    分割されたミドルブロックごとにミドル動きベクトルを検出するミドル動きベクトル検出ステップと、
    一のグローバルマクロブロックのグローバル動きベクトルを、そのグローバルマクロブロックに含まれるミドルブロックのミドル動きベクトルに基づいて算出するグローバル動きベクトル算出ステップと、
    を有し計算機に実行させる動きベクトル算出方法。
  9. 前記グローバル動きベクトル算出ステップは、前記ミドル動きベクトルのうち、最大値をとるミドル動きベクトルおよび最小値をとるミドル動きベクトルを除いたベクトル値の総和を平均しグローバル動きベクトルを算出する極値除外平均ステップである請求項8に記載の動きベクトル算出方法。
  10. 前記グローバル動きベクトル算出ステップは、前記ミドル動きベクトルをメディアン処理することでグローバル動きベクトルを算出するメディアン平均ステップである請求項8に記載の動きベクトル算出方法。
  11. 前記グローバル動きベクトル算出ステップは、前記ミドルブロック動きベクトルのうち±3σ内の値を有するミドル動きベクトル値の総和を平均しグローバル動きベクトルを算出する標準偏差利用平均ステップである請求項8に記載の動きベクトル算出方法。
  12. グローバルマクロブロック単位で算出されたグローバル動きベクトルを、マクロブロックの動きベクトル探索範囲決定に利用して動きベクトルを算出する動きベクトル算出方法であって、
    フレーム領域を所定のルールに従って不均等の複数のグローバルマクロブロックに分割するフレーム分割ステップと、
    分割により得られたグローバルマクロブロックのグローバル動きベクトルを算出する所定分割後グローバル動きベクトル算出ステップと、
    を有し計算機に実行させる動きベクトル算出方法。
  13. 前記所定のルールを、複数保持するために記録媒体に記録するルール記録ステップと、
    前記記録され記録媒体に複数保持されているルールから一のルールを選択してフレーム分割部でのルールとして利用させる選択ステップと、
    をさらに有する請求項12に記載の動きベクトル算出方法。
  14. 動きベクトルを算出すべき動画像の属性値を取得する属性値取得ステップをさらに有し、
    前記選択ステップは、取得した属性値に基づいて前記選択を行う請求項13に記載の動きベクトル算出方法。
JP2005329770A 2005-11-15 2005-11-15 動きベクトル算出装置および動きベクトル算出方法 Pending JP2007142521A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005329770A JP2007142521A (ja) 2005-11-15 2005-11-15 動きベクトル算出装置および動きベクトル算出方法
PCT/JP2006/300533 WO2007057986A1 (ja) 2005-11-15 2006-01-17 動きベクトル算出装置および動きベクトル算出方法
CN2006800003643A CN101080930B (zh) 2005-11-15 2006-01-17 运动矢量计算装置及运动矢量计算方法
EP06711813A EP1950972A1 (en) 2005-11-15 2006-01-17 Motion vector calculation device and motion vector calculation method
KR20067026952A KR20070088322A (ko) 2005-11-15 2006-01-17 움직임 벡터 산출 장치 및 움직임 벡터 산출 방법
US12/064,445 US20090268819A1 (en) 2005-11-15 2006-01-17 Motion vector calculation device and motion vector calculation method
TW095115350A TWI348870B (en) 2005-11-15 2006-04-28 An apparatus for computing a movement vector and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005329770A JP2007142521A (ja) 2005-11-15 2005-11-15 動きベクトル算出装置および動きベクトル算出方法

Publications (1)

Publication Number Publication Date
JP2007142521A true JP2007142521A (ja) 2007-06-07

Family

ID=38048378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005329770A Pending JP2007142521A (ja) 2005-11-15 2005-11-15 動きベクトル算出装置および動きベクトル算出方法

Country Status (7)

Country Link
US (1) US20090268819A1 (ja)
EP (1) EP1950972A1 (ja)
JP (1) JP2007142521A (ja)
KR (1) KR20070088322A (ja)
CN (1) CN101080930B (ja)
TW (1) TWI348870B (ja)
WO (1) WO2007057986A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077628A1 (ja) * 2009-12-22 2011-06-30 パナソニック株式会社 画像符号化方法、画像符号化装置及び撮像システム
JP2012513179A (ja) * 2010-04-14 2012-06-07 メディアテック インコーポレーテッド 符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置
US9025885B2 (en) 2012-05-30 2015-05-05 Samsung Electronics Co., Ltd. Method of detecting global motion and global motion detector, and digital image stabilization (DIS) method and circuit including the same
JP2022086742A (ja) * 2020-11-30 2022-06-09 株式会社 日立産業制御ソリューションズ 映像解析サーバ、映像解析方法、および、映像解析プログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085849B1 (en) * 2006-11-03 2011-12-27 Keystream Corporation Automated method and apparatus for estimating motion of an image segment using motion vectors from overlapping macroblocks
JP5303556B2 (ja) * 2007-08-06 2013-10-02 トムソン ライセンシング 複数のインタービュー参照ピクチャを用いたモーションスキップモードのための方法及び装置
JP5286805B2 (ja) * 2008-01-31 2013-09-11 沖電気工業株式会社 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US8856624B1 (en) 2011-10-27 2014-10-07 Google Inc. Method and apparatus for dynamically generating error correction
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
JP6918661B2 (ja) * 2017-09-22 2021-08-11 キヤノン株式会社 符号化装置、符号化方法及びプログラム
CN108646931B (zh) * 2018-03-21 2022-10-14 深圳市创梦天地科技有限公司 一种终端控制方法及终端
CN110995849B (zh) * 2019-12-11 2022-04-19 鲁东大学 一种矢量数据位置信息的传输与存储方法
WO2021130357A1 (en) * 2019-12-27 2021-07-01 Koninklijke Kpn N.V. Motion vector prediction for video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
JPH09168152A (ja) * 1995-10-26 1997-06-24 Hyundai Electron Ind Co Ltd 動画像処理における動きの推定装置及びその方法
JPH10191347A (ja) * 1996-12-27 1998-07-21 Casio Comput Co Ltd 動き検出装置、動き検出方法、及び、記憶媒体
JP2000278694A (ja) * 1999-03-19 2000-10-06 Canon Inc 符号化装置、画像処理装置、画像処理システム、符号化方法、及び記憶媒体
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2004229150A (ja) * 2003-01-27 2004-08-12 Nec Corp 動きベクトル探索方法および装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2586686B2 (ja) * 1990-04-19 1997-03-05 日本電気株式会社 動画像の動き情報検出装置および動画像の動き補償フレーム間予測符号化装置
KR0154921B1 (ko) * 1994-12-30 1998-11-16 배순훈 동영상 부호화 장치에 이용하기 위한 움직임 추정기
WO2000005899A1 (fr) * 1998-07-22 2000-02-03 Mitsubishi Denki Kabushiki Kaisha Systeme de codage d'images
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
US8107535B2 (en) * 2003-06-10 2012-01-31 Rensselaer Polytechnic Institute (Rpi) Method and apparatus for scalable motion vector coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08149481A (ja) * 1994-11-25 1996-06-07 Mitsubishi Electric Corp 映像信号符号化・復号化装置及び符号化・復号化方法
JPH09168152A (ja) * 1995-10-26 1997-06-24 Hyundai Electron Ind Co Ltd 動画像処理における動きの推定装置及びその方法
JPH10191347A (ja) * 1996-12-27 1998-07-21 Casio Comput Co Ltd 動き検出装置、動き検出方法、及び、記憶媒体
JP2000278694A (ja) * 1999-03-19 2000-10-06 Canon Inc 符号化装置、画像処理装置、画像処理システム、符号化方法、及び記憶媒体
JP2001169288A (ja) * 1999-12-07 2001-06-22 Nec Corp 動きベクトル探索装置および方法
JP2004229150A (ja) * 2003-01-27 2004-08-12 Nec Corp 動きベクトル探索方法および装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011077628A1 (ja) * 2009-12-22 2011-06-30 パナソニック株式会社 画像符号化方法、画像符号化装置及び撮像システム
JP2012513179A (ja) * 2010-04-14 2012-06-07 メディアテック インコーポレーテッド 符号化ユニットの映像符号化時に局所的多重仮説予測を行う方法および装置
KR101452921B1 (ko) * 2010-04-14 2014-10-23 미디어텍 인크. 코딩 유닛의 비디오 코딩 동안 국소적 다중가설 예측을 수행하는 방법, 및 관련 장치
US8879620B2 (en) 2010-04-14 2014-11-04 Mediatek Inc. Method for performing localized multihypothesis prediction during video coding of a coding unit, and associated apparatus
US8891608B2 (en) 2010-04-14 2014-11-18 Mediatek Inc. Method for performing localized multihypothesis prediction during video coding of a coding unit, and associated apparatus
US9025885B2 (en) 2012-05-30 2015-05-05 Samsung Electronics Co., Ltd. Method of detecting global motion and global motion detector, and digital image stabilization (DIS) method and circuit including the same
JP2022086742A (ja) * 2020-11-30 2022-06-09 株式会社 日立産業制御ソリューションズ 映像解析サーバ、映像解析方法、および、映像解析プログラム

Also Published As

Publication number Publication date
WO2007057986A1 (ja) 2007-05-24
CN101080930B (zh) 2010-06-16
EP1950972A1 (en) 2008-07-30
TW200719727A (en) 2007-05-16
KR20070088322A (ko) 2007-08-29
US20090268819A1 (en) 2009-10-29
TWI348870B (en) 2011-09-11
CN101080930A (zh) 2007-11-28

Similar Documents

Publication Publication Date Title
JP2007142521A (ja) 動きベクトル算出装置および動きベクトル算出方法
US9351014B2 (en) Moving image encoding and decoding system
US20170048541A1 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
US20120044994A1 (en) Image predictive encoding and decoding device
WO2017005146A1 (zh) 视频编码和解码方法、视频编码和解码装置
CN101455087A (zh) 图像编码装置、图像编码方法及图像编码用集成电路
US20190261001A1 (en) Encoding video using palette prediction and intra-block copy
US20130216148A1 (en) Image predictive encoding and decoding system
US8300695B2 (en) Image encoding apparatus and image encoding method
US10034016B2 (en) Coding apparatus, computer system, coding method, and computer product
CN110876082B (zh) 一种视频帧的复杂度的确定方法及装置
KR101906173B1 (ko) 깊이 영상에서 신축을 이용한 움직임 추정 방법 및 장치
KR20090014371A (ko) 움직임 검출 장치
US11290740B2 (en) Image coding apparatus, image coding method, and storage medium
US20160057429A1 (en) Coding apparatus, method, computer product, and computer system
JP2009267726A (ja) 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP5011854B2 (ja) 高解像度画像処理装置
KR101624422B1 (ko) 레퍼런스 프레임과 인터-모드 선택 방법 및 그 장치
JP6680796B2 (ja) 効率的な低複雑度ビデオ圧縮
US12413719B2 (en) Adaptive interpolation filter search
JP2008042424A (ja) 画像マッチング装置及び画像マッチング方法
KR100892471B1 (ko) 움직임 검출 장치
WO2025167303A1 (zh) 最佳运动矢量的确定方法和装置、设备及存储介质
JP2008072608A (ja) 画像符号化装置及び画像符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110104