JP2005522083A - 迅速なブロック動作検出のための方法および装置 - Google Patents
迅速なブロック動作検出のための方法および装置 Download PDFInfo
- Publication number
- JP2005522083A JP2005522083A JP2003581358A JP2003581358A JP2005522083A JP 2005522083 A JP2005522083 A JP 2005522083A JP 2003581358 A JP2003581358 A JP 2003581358A JP 2003581358 A JP2003581358 A JP 2003581358A JP 2005522083 A JP2005522083 A JP 2005522083A
- Authority
- JP
- Japan
- Prior art keywords
- feature
- image
- reference image
- instance
- instances
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000033001 locomotion Effects 0.000 title claims description 39
- 238000001514 detection method Methods 0.000 title claims description 14
- 238000006073 displacement reaction Methods 0.000 claims abstract description 61
- 239000013598 vector Substances 0.000 claims abstract description 52
- 230000008859 change Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008278 dynamic mechanism Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
Abstract
参照画像内で生じる同一のブロックにポインタによって効率よく符号化される画素を有する画像内のブロックまたは領域を迅速に検出するための方法、システム、および/または装置である。参照画像は、エンコーダおよび対応のデコーダの間で共有される。エンコーダの一実施例は、(a)画素よりも相当少ない数の特徴が生じるという特徴を規定し、(b)画像内の特徴を参照画像内の対応する特徴に関連付け、(c)関連付けられた特徴の変位を表す変位ベクトルを推定し、(d)ブロックが成長する変位したブロック内のシード点を推定し、(e)変位したブロックを伸長させてそのサイズ、形状、および/または大きさを決定することによって、そのようなブロックを迅速に検出する。
Description
分野
本発明の一局面は、表示画面の内容をリアルタイムで符号化することに関する。より特定的には、本発明の一実施例は、参照画像内で全く同一に生じる画像内にあるブロックを検出するための装置および/または方法を提供するものであり、参照画像は、エンコーダおよびデコーダ間で共有され、それにより、ブロックを過去に生じたものに効率的にポインタによって符号化することができる。
本発明の一局面は、表示画面の内容をリアルタイムで符号化することに関する。より特定的には、本発明の一実施例は、参照画像内で全く同一に生じる画像内にあるブロックを検出するための装置および/または方法を提供するものであり、参照画像は、エンコーダおよびデコーダ間で共有され、それにより、ブロックを過去に生じたものに効率的にポインタによって符号化することができる。
背景
遠隔アクセスソフトウェアや画面記録ソフトウェアなどの多くのアプリケーションは、コンピュータ画面の内容をリアルタイムで符号化する。このようなアプリケーションは、帯域幅や蓄積に制約があるので、典型的には、画面の内容をできるだけ簡潔に表す。
遠隔アクセスソフトウェアや画面記録ソフトウェアなどの多くのアプリケーションは、コンピュータ画面の内容をリアルタイムで符号化する。このようなアプリケーションは、帯域幅や蓄積に制約があるので、典型的には、画面の内容をできるだけ簡潔に表す。
コンピュータ画面の内容を符号化するためのソフトウェア(エンコーダ)は、符号化された内容を異なる場所にてまたは後日復号化して表示するためのソフトウェア(デコーダ)によって、必然的に補完される。エンコーダは、典型的には、以下の方法のうち1つを用いてコンピュータ画面の内容を取得する。1)ライブラリまたはデバイスドライバレベルの、グラフィックス機能呼び出しなどといった出力イベントを遮断する、または2)描画された線または円などといった、出力イベントの効果を、画像として画面から読み戻す。第1の場合には、画面内容は、典型的には、出力イベント列として符号化され、第2の場合には、複数の出力イベントは、単独の画像によって符号化されることが多く、画面内容は、画像のシーケンスによって表現される。
例えば、米国特許第5241625号明細書は、グラフィックス呼び出しなどの出力イベントを遮断することによって、コンピュータ画面上に表示された情報を遠隔制御するためのシステムを開示している。コンピュータウィンドウシステムを駆動するグラフィックスコマンドは、取り込まれて記憶された記録として退避されるか、または他のコンピュータに送られる。メッセージ翻訳プログラムは、取り込まれたメッセージを翻訳して、指定されたコンピュータで再生する。
米国特許第5796566号が開示するシステムでは、ホストCPUから映像コントローラへ転送された映像画面のシーケンスは、記憶されて、後にホストCPUから離れた場所にある端末によって検索して取り出される。特に、表示データは、表示データをフレームごとに記憶するローカルのフレームバッファに取り込まれる。表示データの過去のフレームまたは画像は、表示データの現在のフレームまたは画像と比較され、変化が生じたどうかを判断する。その後、変化が記憶される。
米国特許第6331855号が開示するシステムでは、フレームバッファ内に現在表示されている画像の一部を、システムメモリに記憶されている過去に表示された画像と一定の間隔で比較し、過去に表示された画像が変化したかどうかを判断する。もし変化していれば、変化の正確な程度を判断して、記憶されるおよび/または遠隔にあるコンピュータに転送される。
出力イベントを遮断して、これらのイベントについての画像の内容を表すと、手ごろなサイズでの表現となる。なぜならば、このようなイベントは典型的にはレベルが高く、変化についての簡潔な説明を画面に対して提供するからである。しかしながら、この方法を実施することは、困難な場合が多い。なぜならば、他のプラットフォームへの移植はたやすくなく、管理特権(例えば、表示ドライバアクセスは、制限されていることが多い)を必要とし、リブート(例えば、新規のデバイスドライバをインストールすること)を必要とし、および/またはしてム全体の安定性を低下させる(例えば、遠隔制御パッケージの多くは、互いに干渉しあう)からである。一方で、画面の内容を画像のシーケンスで表すと、典型的には、非常に大きな表現となってしまう。大きな表現は、通常、システム全体の動作を遅延させ(すなわち、知覚できるほどの遅延を生じさせる)。
画像のシーケンスのサイズは、高度なデータ圧縮によって、大幅に減少することができる。特に省スペース形態のデータ圧縮では、画素の全ブロックを、画面上で以前に発生した符号化された同一のブロックへのポインタによって表す。例えば、ウィンドウの移動やその内容のスクロールによって、典型的には、各画像は、以前の画面内で全く同一に生じる大きなブロック画像のシーケンスを含む。
以前の画面で全く同一に生じるブロックをポインタによって符号化することは、非常に省スペースだが、それを適時に行うことは、計算の面で大変である。なぜならば、一般的な利用の場合、徹底的な検索が必要となるからである。
関連した問題としては、動き補償映像信号符号化があり、動き推定を用いて現在のフレームを予測し、現在のフレームとその予測との間の差を符号化する。典型的には、動きベクトルが、例えば画素の低密度の格子のような画素のサブセットについて決定及び符号化されるだけである。残りの画素についての動きベクトルは、動きベクトルの最初のセットから推定され、この推定は、例えば、フレームをブロックに分割して、同一の動きベクトルを各ブロックのすべての画素に割り当てることによって行う。映像信号については、符誤記フィールドは、不都合な効果をもたらすことなく補完できる。なぜならば、ローカルのウィンドウ内の画素レベルは、典型的には滑らかだからである。
例えば、米国特許第5751362号が開示する装置は、1)過去のフレームおよび現在のフレーム内のブロックを比較し、2)グリッドおよび/またはエッジ検出を用いて、画素、すなわち、特徴の第1の組を過去のフレームから選択し、3)例えば、ブロックマッチングアルゴリズム(BMA)を用いて、動きベクトルの台1の組を決定し、4)重なっていないポリゴン(例えば、三角形)についてのアフィン変換を計算することによって、残りの全画素につての動きベクトルを推定する。ポリゴンは、現在のフレーム内に変換されている特徴点を所定の方法で結ぶことによって得られる。
米国特許第5751362号では、以下のBMAを用いる。現在のフレーム内のあるブロックについて、BMAは、例えば最小平均二乗誤差のような基準に従って、過去のフレーム内で最も適合するブロックを見つけ出す。実行中の符号化においては、徹底的な検索は圧倒的に遅いものの、最大の変位を制限し、全候補ブロックのサブセットのみを反復的に評価して、各ステップにおいて、ローカルで最適なものの歩行へ進むということは、計算の負担を大幅に軽減する。これらの最適化は、2つの仮定に基づく。すなわち、ブロックは典型的には数個の画素分しか動かないこと、および、過去および現在のフレーム間の歪みは検索ウィンドウの両端で平滑であることである。これは、画像信号では典型的であるが、画面内容(例えば、グラフィックコンピュータインターフェイス、表示ウィンドウ、など)は、元来互いに異なるものである。
したがって、典型的な画面内容の明確な特徴を利用することによって、参照画像内でも全く同一に生じる、サイズが可変なブロックを画像から迅速に検出する方法への要請がある。
発明の概要
本技術革新の一局面は、限られた数の参照画像のうちの一つの中で全く同一(または確率的またはおおよそ)生じる同一のブロックへポインタによって効率よく符号化される画素を有する画像内のブロックを迅速に検出するための方法、システム、および/または装置を提供する。参照画像はエンコーダおよび対応するデコーダ間で共有されなければならないということを以外に、参照画像に対する制約はない。エンコーダは、(a)画素よりも相当少ない数の特徴が画像内で生じ、特徴は画像の性質を表すものであり、かつ2つの画像における特徴は全く同一の変位がないという特徴を規定し、(b)特徴の対を取り巻く対応画素が一致するように、画像内の各特徴を参照画像の内の1つの特徴にマッピングし、および(c)これのマッピングに基づき、画素レベルのサイズを決定する前に、最大のブロック内に含まれる画素位置と、参照画像の内の1つで対応する画素位置とを推定する。
本技術革新の一局面は、限られた数の参照画像のうちの一つの中で全く同一(または確率的またはおおよそ)生じる同一のブロックへポインタによって効率よく符号化される画素を有する画像内のブロックを迅速に検出するための方法、システム、および/または装置を提供する。参照画像はエンコーダおよび対応するデコーダ間で共有されなければならないということを以外に、参照画像に対する制約はない。エンコーダは、(a)画素よりも相当少ない数の特徴が画像内で生じ、特徴は画像の性質を表すものであり、かつ2つの画像における特徴は全く同一の変位がないという特徴を規定し、(b)特徴の対を取り巻く対応画素が一致するように、画像内の各特徴を参照画像の内の1つの特徴にマッピングし、および(c)これのマッピングに基づき、画素レベルのサイズを決定する前に、最大のブロック内に含まれる画素位置と、参照画像の内の1つで対応する画素位置とを推定する。
特に、(a)エンコーダは、参照画像の内の1つで比較的稀に生じる特徴のインスタンスと、ソース画像内の同一の特徴のインスタンスとを関連付け(すなわち、マッピングまたは一致させ)、(b)これらのマッピング用の相対的なオフセットを計算し、(c)これらのオフセットを集め、(d)当該画像と参照画像の中の1つとの両方で生じるブロックを、支配的なクラスタを支える特徴の実質的中心に固定して、反復的に伸長させる。
詳細な説明
以下の本発明の詳細な説明では、本発明の完全な理解のために多くの特定の詳細を説明している。しかしながら、本発明は、これらの特定の詳細がなくても実施できることが理解されなければならない。他の例では、既知の方法、手順、および/または構成要素は、本発明の局面を不必要に不明瞭にすることのないよう、詳細に説明していない。
以下の本発明の詳細な説明では、本発明の完全な理解のために多くの特定の詳細を説明している。しかしながら、本発明は、これらの特定の詳細がなくても実施できることが理解されなければならない。他の例では、既知の方法、手順、および/または構成要素は、本発明の局面を不必要に不明瞭にすることのないよう、詳細に説明していない。
本説明を通して、「ブロック」という用語は、任意の形状の表示領域または画素の領域を指す。「フレーム」という用語は、バッファもしくは他の画面内容、画像、および/または表示の表象を指す。「特徴」という用語は、ある画像において、当該画像内の画素数よりも相当稀に生じる画像の特徴を指す。ブロックマッチングまたは特徴の関連付けといった、「マッチングさせる」または「マッチング」および「関連付ける」または「関連付け」という用語は、全く同一、文字通り、確率的、統計的、概算的、および/または経験的な一致および/または関連付けを含む。これらの用語のうちの1つ(すなわち、「全く同一」)を用いる場合にはいつでも、ここに挙げた他の用語を本発明の一実施例で用いてもよいことは明確に理解される。
本発明の一局面は、ある画像の画素の全ブロックを、エンコーダおよびデコーダ間で共有される他の画像を迅速かつ効率的に参照することによって符号化するためのシステム、装置、および/または方法を提供する。コンピュータ画面の内容を符号化するのに特に適しており、なぜならば、典型的な画面内用の時間的な自己相似性を利用しており、実行中の画面の内容を符号化するのに充分に速く(もしくは僅かなまたは知覚できないほどの遅延を伴う)、CPUの利用を実施的に増加せず、他のアプリケーションに影響も与えないからである。さらに、画像に対して作用するので、侵害的なシステムレベルの修正を必要とせず、様々なプラットフォーム(すなわち、様々な処理システム、アーキテクチャ、および/またはオペレーティング環境)に渡って実施することができる。
図1は、本発明の適用例を示す。図示のように、ソースシステム122の画面上の内容は、通信または記憶媒体124を介して、遠隔地システム126に送信され、そこで他の画面に表示される。
図2を参照して、ソースシステムは、ソースシステムの画面の内容を画素形式で記憶するフレームバッファ202を有する。図示のように、フレームバッファ202の内容は、定期的に、もしくは変化が検出されるかまたは何らかの他のトリガーとなるイベントの度に、例えばエンコーダ204に与えられる。エンコーダ204は、現在のフレームL10を変換して、その符号済みまたは転送用の表象L11を、チャンネル206を介してデコーダ208へ転送する。チャンネル206は、どのような通信または記憶媒体であってもよく、ネットワーク、電話回線、磁気記憶装置、無線送信媒体などであってもよい。デコーダ208は、その入力信号L12に逆変換を施して、再構築されたフレームL13をフレームバッファ210に対して出力する。
本発明の一実施例によれば、エンコーダ204は、過去のフレームを参照して、変化した現在のフレームの領域を決定して、変化した領域の画素のみを符号化して送信する。図3は、本発明の一実施例に係るエンコーダ204のブロック図である。過去のフレームの画素(すなわち、過去の画像を含む)は、メモリ300に記憶される。比較器310は、L10上の現在のフレーム(すなわち、新規/現在の画像を含む)内にある変化した画素を320で決定する。現在のフレームL10内の区域または領域が過去のフレーム300から変化したと決定されると、変化した領域L17がエンコーダ360に与えられて、可変サイズの画像となる。ある実施では、輪郭、サイズ、および/または変化した区域または領域の位置が320で特定されて、変化した画像領域/ブロックが現在のフレームL16から抽出され、フレーム更新メモリ340へコピーされる。
図3に示す本発明の局面は、現在のフレーム(現在の画像)L10および過去のフレーム(過去の画像)300で変化した領域または領域を特定し、それによって、現在および過去のフレーム(画像)間の検索領域を減らすのに役立つ。しかしながら、本発明の他の局面は(すなわち、ブロック動きを有するエンコーダ360)、検索領域を減らしたり、または他の方法で検索領域を減らしたりすることなく、実施してもよい。
図4A〜Dは、図3に示すブロック図のエンコーダ204の動作を示す。図4Aは、第1の画像ブロック410を伴う、L10上の現在のフレーム例400を示す。図4Bは、メモリ300(図3)内に記憶されている、別の位置にある同一の第1の画像ブロック410’を伴う、過去のフレーム420を示す。図4Cは、フレーム400および420に共通した第1の画像ブロック450(先に410および410’と呼んだ)を含む、現在および過去のフレーム400および420間で変化した画素440の変化の結果である領域を示す。一実施例では、ブロック450を含む領域440は、フレーム更新メモリ340(図3)に記憶される。図4Dは、ブロック動きを有するエンコーダ360(図3)が、変化した領域440を3つのブロック、すなわち、現在及び過去のフレーム400および420間で見られる第1の画像ブロック450、ならびに両方のフレーム400及び420で共通でない領域を表す2つのブロック470および480でどのように表現するかをさらに示す。
ある実施によれば、変化した画素の結果の領域440は、変化した領域440の現在のフレーム(画像)400内での位置を示す位置ベクトル445と共に340(図3)で記憶される。他の実施例では、現在のフレーム400は、変化した画素440の領域を示すパラメータと共に、フレーム更新340(図3)で記憶される。これにより、ブロック動きを有するエンコーダ360による後続の処理が、変化した画素440の領域に集中することができる。変化した領域を特定する他の同等の表象も可能であり、それらは本発明から逸脱するものではない。
以下で説明する多くの例では、「変化した画像領域」という用語は、例えば440などの変化した画素の領域を説明するために用いられる。しかしながら、変化した画素の領域を予め特定してもよいし、特定しなくてもよいことが、明らかに理解されなければならない。
図5は、本発明の実施例による、高速ブロック動き検出で、可変サイズの画像を圧縮するエンコーダ360の一実施例を示すブロック図である。図示のように、L17上の変化した画像領域(すなわち、440)が、ブロック動き検出510およびブロック動き補償520の両方へ与えられる。ブロック動き検出510は、変化した領域または画像L17内にある、メモリ500内で全く同一に生じたブロックを決定する。変化した領域L17の、参照画像メモリ500内で全く同一に生じたそのような領域について、1以上のブロックおよび各ブロックにつき1つのソース位置、またはブロックのグループが、L21を介してブロック動き補償520へ送られる。メモリ500は、エンコーダ204およびデコーダ208(図2)の両方で共有または共通の画像の限られた数を記憶する。例えば、一実施例では、メモリ500は、複数の画像または1つの参照画像が特徴マッチングのために選択される画像のライブラリを記憶する。異なる特徴同士をマッチングさせるために、同一の参照画像または異なる参照画像が画像ライブラリから選択されてもよい。
ブロック動き補償530は、L17上の現在の画像をメモリ500からコピー可能なブロックおよび未処理の画素のブロックから見たソース画像を説明する表象に変換する。例えば、図4Cに示す画像はL17を介して取得され、図4Bに示す画像は参照画像メモリ500、すなわち過去のフレームに記憶されているとすると、ブロック動き検出510は、例えば、ウィンドウ450が参照画像メモリ500内で生じていると決定する。この情報を得て、ブロック動き補償520は、例えば、L17上の図4Cに示す変化した領域440を3つのブロック450,470,および480(図4Dに示す)とし、ブロック470および480は、未処理の画素によって表され、ブロック450は、メモリ500内でのその発生を指すポインタによって表される。
エンコーダ530は、変換した画像(すなわち、元画像をブロックに区画分けし、そのブロックのうちのいくつかは参照画像500内の一致ブロックを指すポインタによって表される)を符号化し、それを、L11を介してエンコーダの内部にあるデコーダ装置570および図2のデコーダ208へ送る。後者208は、エンコーダ360の内部にあるデコード装置570と同様な構成でありかつ同様に動作し、デコード装置570では、L13がL24から分岐している。
エンコーダ530は、変位したおよび/または恐らく変位しているであろう領域を形状、位置、および変位によって特定し、変化した画像領域L17および参照画像500間の変化を符号化する。本発明の一実施例では、これらのパラメータは、「収縮圧縮データフォーマット仕様」、コメント要請(RFC)番号1951、インターネット技術標準化委員会(IETF)(ピーター・ドイチェによる)に記載の収縮アルゴリズムなどの一般的な方法で符号化され、画素は、「PNG(ポータブル・ネットワーク・グラフィックス)」RFC番号2083、IETF(トム・ブーテル他)などの画像圧縮のための方法によって符号化される。様々な実施においては、エンコーダ530は、損失のないまたは損失のあるエンコーダのいずれかであってもよい。損失のないエンコーダ530を用いる実施においては、画像デコーダ540は必要ない。なぜならば、復号化された画像L17が直接得られるからである。
デコーダ540は、エンコーダ530に対応するものであり、符号化された変化L11をエンコーダ530から受信する。デコーダ540の本実施例は、コピーされたブロックを、メモリ500からL23を介してその画素を取得することによって復号化された画像をL24上に与える。メモリ管理部560は、復号化された画像を、メモリ500を更新するのに用いてもよい。
本発明の好適な実施例では、メモリ500は、過去に複合化したフレームのみを図2に示すフレームバッファ210にて生じたように記憶し、メモリ管理部560は、フレームバッファ210を更新するのと同一の方法で、メモリ500を更新する。したがって、エンコーダ204およびデコーダ208は、重複する画像またはフレームバッファをメモリ500およびフレームバッファ210内に保持していてもよい。他の実施例では、メモリ管理部560は、補助メモリ550を用いてメモリ500を更新し、補助メモリ550は、例えば、多数の画像をディスク上に記憶してもよく、図2のデコーダ208でも、できれば別の記憶場所上のコピーとして、利用可能でなければならない。過去のフレームの複数の画像を保持すれば、例えば、ユーザが2つ以上のウィンドウ(すなわち、アプリケーションまたはグラフィカル・ユーザ・インターフェイス)間で切り替える場合に、効率的な画像圧縮が可能となる。
一実施例では、メモリ500に対する全変更もブロック動き検出部510へL27を介して直接伝達され、ブロック動き検出510が内部のデータ構造を常に最新のものとしておけるようにする。さらに、一実施例では、メモリ管理部560は、L23を介して参照画像メモリ500に接続されて、そこに記憶されている画像を常に把握または監視してもよい。
図6は、図5のブロック動き検出部510の例の一実施例を示すブロック図である。通常、ブロック動き検出は、4つのステップを含む。すなわち、1)特徴抽出600、2)特徴マッチング620、3)ブロック描画630、および4)特徴管理640である。メモリ500内の参照画像は、容易に追跡可能な特徴を用いて索引付けされており、索引付けされた特徴L45は、特徴メモリ610に記憶される。同様に、特徴抽出600が現在の画像L17に対して実行されて、特徴L41を特定する。
参照画像L20および現在の画像L17の両方内の特徴を特定することによって、一致する特徴対620をソース内(参照画像内)およびブロックが一致するであろう目的(現在の画像)の場所内で見つけることができる。一致した特徴対L43(L41およびL42から派生)は、参照及び現在の画像L20およびL17と共に、メモリ500内の画像内で、全く同一、文字通り、確率的、統計的、概算的、経験的および/またはその他の態様で生じるであろうブロック630を迅速に決定するための基礎を形成する。特徴の数を画素数と比較して少なく維持して、各画像ごとに再計算するのではなく徐々に更新される特徴索引610を保持することによって、ブロック動きは、リアルタイムで、もしくは少なくとも知覚可能または許容不可能な遅延なく、検出できる。
特徴管理部640は、参照画像L20および参照画像に対する最近の変更L27を(メモリ管理部560から)受信して、特徴メモリ索引610を徐々に増加する役割を果たしてもよい。一実施例において、特徴管理部640は、最近索引付けされた特徴にアクセスするために、L44で特徴メモリ610に接続されてもよい。特徴管理部640は、1以上の参照図面が更新されると、特徴メモリ索引610を徐々に更新してもよい。よって、管理部640は、いくつかの特徴または特徴のインスタンスを(対応する画像から取り除かれた場合に)取り除くまたは削除してもよく、もしくは、参照画像500が変化するか、もしくは新たな画像または領域が追加されると、新たな特徴や特徴のインスタンスを挿入または追加してもよい。
特徴と考えられるものを規定するために、様々な図式または構造が用いられてもよい。さらに、特徴の規定は、予め定めていてもよいし、動的に選択されてもよい。本発明の一局面の一実施例によれば、特徴は、テンプレート内で生じる1以上の画素(例えば、画素列)と規定してもよい。例えば、特徴は、画素の2次元レイアウトから計算された値と規定してもよい。加えて、一実施例では、特徴規定は、テンプレートそのものが、ある特定の画素構造のコンテキストにおいて生じることを必要としてもよい。テンプレートおよびそのコンテキストは、一部重複してもよい。様々な構造においては、コンテキストのサイズおよび/または構造は固定的でなくてもよいが、例えば、コンテキストそのものの中にある以前の画素(たとえば、他の画素)に拠ってもよい。同様に、テンプレートのサイズおよび/または構造は、そのコンテキストおよび/またはテンプレートそのものの中にある以前のテンプレートに拠ってもよい。テンプレート内で生じる画素は、順序付けされていてもよいし、されていなくてもよい。他の実施例において、特徴は、テンプレート内で生じる画素のハッシュコードとして規定される。この目的のために、どのようなハッシュ関数を用いてもよい。よって、絶対画素値、相対画素値、またはその両方の静的または動的な仕組みのコンテキスト内で生じる、画素テンプレートに基づいて規定されてもよい。
図7Aは、32画素列に基づく特徴の規定例を示す。図示の実施では、画素710,720,730および740のように構成された同一の色の4つの画素のコンテキスト内で32画素列が生じることを必要とする。第1の画素700は、左側の近傍にある画素710とは異なっていなければならない。この例では、特徴(32画素列)は、画素710から始まり、画素750で終わる。この特徴そのものは、多くの他の方法で表してもよく、その方法には、画素710から始まり画素750で終わるハッシュコードが含まれる。
本発明の他の実施例では、サイズ、構造、および/または性質の異なるコンテキストおよび/またはテンプレートを用いて特徴を規定してもよい。特徴は、多くの他の方法で規定されてもよい。例えば、特徴は、あるコンテキスト内で生じたN個までの後続の画素間の距離の関数として規定されてもよい。ここで、Nは、整数の数である。
本発明の一局面によれば、画像内の全画素数と比較して、比較的稀に生じるコンテキストを用いるのが好ましい。これにより、特徴の相対的な一意性を維持しつつ、関連付けすべき特徴の数を減少する。よって、特徴が例えばハッシュされた値によって表される場合、変更された画素領域L41から抽出された特徴は、特徴メモリ610の特徴L42と迅速にマッチングさせてもよい。
メモリ500(図5)内の画像内で発生するすべてのまたはいくつかの特徴の位置は、特徴メモリ610にキャッシュされる。本発明の一実施例では、特徴メモリ610は、特徴をメモリ500内にある同一の特徴のインスタンスのリストにマッピングするハッシュテーブルとして実施される。本発明の好ましい実施例では、特徴は初めからハッシュされている。すなわち、特徴の基礎となる定義が、0およびK−1の間の整数値に変換される。式中、Kは整数の数である。この場合、メモリ610は、例えば図8に示すアレイ800によって実施されてもよい。各アレイ要素は、特徴、すなわち整数値を、メモリ500内にある同一の特徴の後続のインスタンスの数850を先頭に記憶するリストにマッピングする。図8において、4番目のアレイ要素810は、3という整数値の特徴を、先頭820ならびに2つの要素830および840を有するリストにマッピングする。各要素830および840は、メモリ500内の特徴のインスタンスを、画像識別し870および画像内の位置880および890によって参照する。メモリ500に複数の画像が記憶されている場合には、各画像につき別個のアレイを保持してもよいし、単一のアレイが残画像用に用いられてもよい。
図6を再び参照して、ブロック動き検出の第1のステップは、特徴検出600である。すなわち、L17における変化した画像領域が、特徴を得るために操作される。本発明の一実施例では、L17における変化した画像領域は、上から下へ、かつ左から右へ走査される。上述の4画素のコンテキストを用いて、図7Aおよび7Bは、特徴が画像例内で検出される順番775,776,777,778,779,780,781,782,783,784,および785を示す。
第2のステップは、特徴マッチング620である。すなわち、変化した画像領域L17内で検出されL41で与えられた特徴の各インスタンスを、メモリ610内にキャッシュされL42で提供された同一の特徴のインスタンスにマッピングする。特徴の関連性は、変化した画像領域L17の特徴のインスタンスを囲む画素が、メモリ500内の画像のうちの1つ内にある対応するものを囲む対応画素と一致する可能性があるようでなければならない。
一実施例において、そのような特徴の関連性は、メモリ500内の1つ以上の画像内にある各特徴の発生数から派生し、これは、特徴メモリ610の構成に依存する。
本発明の一実施例において、変化した画像領域L17内の所定の特徴の各インスタンスについて、メモリ500内の参照画像であって、同一の特徴のインスタンス数が最も少ないがインスタンスのある閾値数よりは小さくかつゼロインスタンスよりは大きい参照画像を、複数の参照画像から特徴マッチング用に選択する。選択された参照画像の任意のインスタンスを、画像領域L17内のインスタンスに関連付ける。変化した画像領域L17内の特徴の互いに異なる各インスタンスについて、上述の基準に基づいてそれぞれ異なる参照画像が選択されてもよい。本発明の一実施例では、変化した画像領域内のインスタンスの同一の参照画像内のインスタンスに対する閾値率は、用いた特徴の一意性に依存してもよい。加えて、様々な実施において、画像ブロックは、異なる参照画像からコピーまたは伸長してもよい。
図9は、本発明の一局面に係る、特徴をマッチングさせるための技法の一実施例を示すフロー図である。図8に示したようなアレイがメモリ500内の各画像毎に管理されている場合、特徴のインスタンスの数を、これらの各アレイ内で検索する。特徴の最も小さい0以外の個数を与えるアレイが、この先、用いられる。マッチングさせる特徴の数を減少させることにより、特徴マッチング処理が促進される。図8に示すように、インスタンスの数850は、各リスト815の先頭820に記憶されているので、すぐにアクセスされる。代わりに、アレイの組が配置されてもよく、ある閾値未満の個数を与える第1のアレイが選択されてもよい。他の実施において、他の方法を用いて、本発明から逸脱することなく、2つ以上の索引またはアレイから特徴の索引またはアレイを選択してもよい。
特徴メモリ610内の特徴索引またはアレイ800が選択されるか、または単一のアレイが用いられると、変化した領域L17内にある各特徴L14は、選択された特徴アレイ800内にある特徴L42に関連付けられてもよい。特徴L14を用いて、メモリ500内にある画像のうちの1つの同一の特徴のインスタンスのリスト815が、アレイ800内で910において検索される。特徴のインスタンスの数(N)850は、ある閾値(THR)と920において比較される。式中、Nは整数である。インスタンスの数(N)850(すなわち、リストの長さ)が閾値(THR)より短い場合には、リスト815内にある特徴の1つの発生が930において選択されて、変化した領域からのL41内の対応特徴と940において関連付けられる。一実施において、リスト815内にある特徴の第1のインスタンス830が、任意に選択される。
他の実施において、変化した猟奇内にある特徴810のインスタンスが発しされた画素が、リスト815に記憶された、メモリ500内のインスタンスの中の一つの対応画素と比較される。画素が一致した場合、および画素が一致した場合にのみ、2つのインスタンスは関連付けられる。画素毎の比較の目的は、たとえ特徴(ハッシュ値)が一致しても、整数値がハッシュされた画素同士は同一でないというあり得ない事態をチェックすることにある。このチェックは、ハッシュコードではなく、画素同士の完全な同一または正確な一致を保証するためのものである。他の実施においては、特徴画素のサブセットが比較されて、変化した領域L17およびメモリ500内の画像の特徴間の統計的、確率的、または概算的に正確な一致を確かめる。
さらに他の実施においては、特徴は一致したが、基礎となる画素はそうでない場合、完全な一致が検出されるまで、またはリストの終わりに到達するまで、リスト815内の他のインスタンスを所定の順番または任意的に検査してもよい。位置実施例において、ある特徴について一致が検出されない場合には、変化した領域L17内の当該特徴は無視される。
比較的固有のコンテキストを用い、特徴が充分に長い画素列(すなわち、32画素列)である場合には、特徴の1つ以上のインスタンスが特徴索引またはアレイで検出される可能性は比較的少ないことに注意すべきである。
特徴のインスタンスが、メモリ500内の画像のうちの1つであって、メモリ(特徴索引)610内に記憶された画像内の同一の特徴のインスタンスに940において関連付けられると、変位ベクトルが、それらの位置に基づいて、図9に示すような950において計算される。変位ベクトルは、前の(過去の)インスタンス(例えば、(画像識別子、デルタx、デルタy)という三種のようなもの)に対する後の(現在の)インスタンスを表す。
変化した画像領域L17内で検出された特徴の全インスタンスが処理されると、結果として生じた一致した特徴の対がL43で提供され、変化した領域L17およびメモリ500内の画像のうちの1つの両方で生じたブロックを決定するために用いられる。一実施において、L43における各特徴対は、参照画像500内の特徴の位置と、変換した画像領域L17内の一致する特徴の変位を示すベクトルによって表される。
図10Aは、本発明の一局面に係るブロック描画処理630(図6)を一般的に示すフロー図である。変化した領域で生じまたは適合可能で、かつメモリ500内の画像のうちのいずれか1つで全く同一に生じる最大ブロック(最大ブロックサイズ)に対応する変位ベクトル(V)を、1010において推測または推定する。変化した領域で生じ、かつメモリ500内の画像のうちのいずれか1つで全く同一に生じる最大サイズのブロック内に含まれる点(P)(変位ベクトル(V)によるオフセット)を、1020において推定する。この点(P)を実際に含む最大ブロックの大きさを、1030において概算する。必要があれば、この手順は複数回繰り返して、変化した領域およびメモリ500内の画像の両方内において全く同一に生じる複数のブロックを得てもよい。このようにして、現在の画像および参照(過去の)画像の両方において生じる変化または変位した領域を、その形状、位置、および変位によって、効率的に特定および/または表してもよい。
本明細書で用いる「最大ブロック」という用語は、変化した領域L17に適合可能で、メモリ500内の選択された画像で生じる、可能な限り最大のブロックでは必ずしもない。むしろ、「最大ブロック」は、各実施における時間的要請、処理資源、および所望の目的を考慮した適切なサイズに伸長、描画、または生成されるであろうブロックを指す。図10Aに示す処理の一実施例を、図10Bに示す。主要変位ベクトルが1060において選択されて、変化した領域およびメモリ500内の画像のうちの1つで全く同一に生じる最大ブロックの変位を表す。主要変位ベクトルは、すべての残りのベクトルの閾値のうちのいくつかを占めるものである。すなわち、計算した他の全変位ベクトルの所定の割合を表すもの変位ベクトルを、主要ベクトルとして選択してもよい。例えば、同一の相対変位が計算した50パーセント以上の変位ベクトルであることを示す所定の変位ベクトルを、主要なものとして選択してもよい。以前計算した1つ以上の変位ベクトル(図6のL43の特徴マッチング用)を、主要変位ベクトルを選択する際に用いてもよい。
次に、変化した領域内で生じ、主要変位ベクトルによるオフセットであって、メモリ500内にある画像のうちの1つで全く同一に生じる最大ブロック内に含まれる点が、1070で選択される。一実施において、選択された点は、主要変位ベクトルを補助する変化した領域内にあるすべての一致した特徴の実施的に中心に位置する特徴に対応する。選択された特徴は、最大ブロックが伸長するシード点としての役割を果たす。
最後に、選択された点を含む最大ブロックの大きさを推定または決定する。一実施において、最大ブロック内に含まれているはずの選択された点はシード恬として用いられ、シード点から画素のブロックを1080において伸張させることによって、ブロックの大きさを推定または決定する。一実施において、単一の最大ブロックを伸長させて、位置と伸展ベクトルとに関連付けて、変化した領域を効率的に特定および/または表す。他の実施例において、1つ以上の選択されたシード点に基づいて複数のブロックを伸長させて、1つ以上の主要ベクトルに関連付けて、変化した領域を効率的に特定および/または表してもよい。
本発明のある実施例では、1つ以上だがそのすべてではない符号化パラメータ(すなわち、変位ベクトル、領域の形状、サイズ、大きさ、および/またはシード点)が、本発明の実施前に既知であってもよいことに注意すべきである。そのような状態でも、本発明の一部分または特徴を実施して、欠けているパラメータを提供し、変化した領域を効率的に符号化してもよい。例えば、変位ベクトルまたは変位の大きさが前もって既知であったならば、共通領域の形状および位置を上述のようにして決定してもよい。よって、本発明のある実施例では、本発明から逸脱することなく、本発明のあるステップまたは構成要素を省略してもよい。
「伸長」および「伸長される」という用語は、所定のシード点から1つ以上の方向に拡張することによってブロック領域が作成または描画される状態を示すのに共通して用いられる。典型的には、領域は、所定のシード点から2次元平面に沿って拡張することによって、伸長される。しかしながら、領域は、所定の平面内において、他の方向よりもある方向に伸長されるようにしてもよい。他の実施において、領域は、シード点から2方向のみに伸長されるようにしてもよい。
図11は、本発明の一実施例に係る、変位ベクトル1120においてブロック1112が選択されたシード点1102からどのように伸長されるかを示す。現在の画像1110および参照画像1130が、同一のブロック1102と共に、それぞれ異なる位置に示されている。画素1102をシード点とすると、ブロック(領域の部分)は、各象限1104,1106,1108,および1110に伸長される。その後、単一のブロック1112がこれらの4つのブロック1104,1106,1108,および1110の範囲である領域にはめ込まれる。現在のフレームまたは画像1110内の単一のブロック1112は、参照画像1130では1112‘として示されているが、各象限1104,1106,1108,および1110の対応ブロックと共に示されている。この例では、変位ベクトル1120は、参照画像1130内の画素位置1132から現在の画像1110内の画素位置1102へのシード点の位置の変化を示す。他の実施例では、シード点1102とは異なる点が選択されて、ベクトル1120の変位を示してもよい。例えば、シード点はブロック1112の実質的に中央に位置していてもよいが、参照または固定点は、ブロック1112内のどこに位置していてもよい。
一実施によれば、各ブロック1104,1106,1108,および1110は、現在の画像1100内の行(または列)を、変位ベクトル1120によって示された、メモリ500内の画像内の対応する行(または列)と比較することによって、一度に1行(または1列)ずつ、伸長させる。画像1100および1130の両方内の対応する行(または列)が同一である(すなわち、同一の画素値を含む)場合には、ブロック1104,1106,1108,または1110を引き続き伸長させることができる。行(または列)が同一でない場合には、ブロック1104,1106,1108,または1110の限界(最大限)が示される。このブロック伸長は、両方向(軸)で行われ、ブロック1104,1106,1108,および1110の限界が得られる。他の実施においては、全ての幅および高さの組み合わせが、これらの各ブロック1104,1106,1108,および1110に対して試行される。ブロック限界が4つのブロック1104,1106,1108,および1110に対して確立すると、単一のブロックまたは領域1112が、これら4つのブロックの結合から形成される。
他の実施では、画素毎ならびに/もしくは行毎または列毎のマッチングの代わりに、ブロック、(すなわち、1104,1106,1108,および1110を、確率的な方法で、現在の画像および参照画像の間で、ブロックを伸長するにつれて、画素の所定の割合をマッチングさせることによって伸長させる。たとえば、ブロックを伸長させるにつれて、あるマッチング基準がもはや適合しなくなるまでは、列は飛ばしてもよい。マッチングさせる画素は、ブロックを伸長させるにつれて任意に選択してもよい。
単一のブロックまたは領域(例えば、1112)を規定する様々な方法を、本発明から逸脱することなく用いてもよい。例えば、主要変位ベクトルとは異なる相対変位の変位ベクトルに関連付けられた特徴のインスタンスがブロック内に含まれるまでは、象限ブロック(例えば、1104,1106,1108,および1110)を1単位(例えば、N個の画素)毎に伸長させ、以降は、ブロックは1単位毎に収縮させてもよい。この方法は、完全な一致が起こりうるという意味で確率的であるが、完全な一致を保証するものではない。
他の実施においては、象限ブロックのサイズを調製して、単一のブロック(例えば、1112)のサイズを最大化してもよい。すなわち、多くの場合において、象限ブロックの大きさ(例えば、幅)を一方向で小さくして、他の方向へ伸長(拡張)できるようにすることが可能である。よって、単一のブロック(例えば、1112)の全体の大きさは、単一のブロック(例えば、1112)を包含する複数のブロック(例えば、象限ブロック1104,1106,1108,および1110)の大きさを調節することによって、最大化してもよい。
他の実施において、異なる数のブロックまたは異なる形状の領域を最初に伸長させて、異なるブロック伸長方法を本発明から逸脱することなく用いてもよい。
さらに他の実施において、単一のブロックまたは一直線の領域だけでなく、異なる形状の領域が、現在の画像およびメモリ500内にある画像のうちの1つの両方で検出される全く同一のまたは完全なコピーがある初期領域にはめ込まれてもよい。例えば、単一のブロック(例えば、1112)を4つのブロック(例えば、1104,1106,1108,および1110)にはめ込む代わりに、4つのブロック自体を用いて、変化した領域(または現在の画像)およびメモリ500内にある画像のうちの1つの両方で検出される全く同一のまたは完全なコピーがある領域を規定してもよい。
変化した領域(または現在の画像)およびメモリ500内にある画像のうちの1つの両方で生じる1つ以上のブロック(例えば、1112)を規定した後、そのようなブロック(すなわち、1112)それぞれについて、現在の画像および/またはメモリ500内にある参照画像の両方またはいずれかにおけるブロックのサイズとその一とを回復、再構築、再生成、および/または識別するのに充分な情報を含むコピーコマンドをL21において生成する。例えば、コピーコマンドは、形状または領域(すなわち、1112)のパラメータ、形状または領域の位置、および絶対的または相対的変位ベクトル(すなわち、1120)を含む。
図5を参照して、メモリ管理部560は、メモリ500内の画像のうちのいくつかを修正または削除し、または次の画像をブロック動き510用に検査する前に新たな画像を追加してもよい。例えば、L11上の符号化された画像がデコーダ208によって処理されるまでに図2のフレームバッファ210内で現れるフレームをメモリ500が記憶しているとすると、図5のデコーダ540によって作成される画像は、メモリ500に記憶されているフレームにコピーされてもよく、これにより、メモリ500のフレームバッファ210の内容が効率的に反映される。L27を介してメモリ500が更新されたことに応じて、ブロック動き検出部510は、その内部データ構造を調整してもよい。
本発明の好ましい実施例において、図5に示す特徴管理部640は、図9に示すデータ構造を以下のように更新する。まず、全リスト815を反復して、基礎となる画素が修正(上書き)されたことによってメモリ500内にはもはや存在しない特徴の全インスタンスを取り除く。メモリ500から削除されるか、完全に上書きされた画像の特徴を索引付けしたアレイ800は、さらに検査せずに破棄または取り除かれてもよい。次に、メモリ500内の画像のすべての修正された部分/ブロックおよび新たに追加されたブロックを特徴検出のために走査して、基礎となる画素がそのような部分/ブロック内に部分的にのみ含まれるような特徴をも検出するようにする。新たに検出した特徴のそれぞれについて、アレイ800内のリスト815を検索して、特徴を当該リストの815の最初に迅速に挿入する。
本発明の様々な局面は、データ圧縮に関する徹底的な検索の効率をほぼ完全に維持しながら、3つの方法で検索空間を縮小させることによって、ブロック動き検出を実質的に加速化している。第1には、現在の画像およびメモリ500内のすべての画像は、特徴のある規定に従って、実質的に画素よりも少ないが特徴的な位置においてサンプリングされる。第2には、現在の画像における特徴のインスタンスおよびメモリ500内の画像のうちの1つの中にあるランダムに選択されたインスタンスが、より大きな一致ブロック内に含まれる可能性を、予め計算して徐々に更新している発生数によって推定して、周辺画素に適用する見込みがある場合にのみ、変位ベクトルを計算する。第3には、メモリ500内の画像のうちの1つの中で、全く同一に(確率的、統計的、概算的、および/または生じる見込みのあるように)に発生するブロックを、あるパラメータの特徴レベルの推定に基づいて決定する。
本発明の実施例をある好ましい実施例によって説明してきたが、他の実施例も本発明の範囲内にある。
例えば、ブロック動きは、確率的な方法で検出されてもよい。すなわち、ブロックは、変位ベクトルによって示される位置では、保証はできないものの、全く同一に生じることが見込まれる。一実施においては、ブロックのサイズおよび/または形状は、特徴レベルにおいてのみ決定され、画素レベルにおいては確認されない。図2〜3を参照して、例えば、フレームバッファ202内の元フレームの代わりにフレームバッファ210内の復号化されたフレームをメモリ300にコピーして、そのフレームを、符号化すべき次のフレームと310において比較することによって、誤ったブロック動きを後に補正するようにしてもよい。
加えて、他の実施では、現在の画像から全特徴600を抽出せず、および/またはメモリ500内に記憶された画像内で生じる、メモリ600内にある全特徴をキャッシュしない。
さらに他の実施例においては、ブロックは、その変位ベクトルによって示される位置では全く同一に生じるものではないと決定してもよく、そのようなブロックの実際の画素およびほぼ一致するブロックの画素間の差を、ブロックの大きさおよび変位ベクトルと共に符号化してもよい。一実施において、ほぼ一致するブロックを、一致する画素の割合がある閾値を下回るまでは、1030において伸長してもよい。残りは、損失のあるまたは損失のないアルゴリズムを用いて530において符号化されてもよい。画像エンコーダ530は、形状または他の特徴に基づいて、互いに異なる領域を異なるように符号化してもよい。
ある実施例を添付の図面において説明および図示してきたが、そのような実施例は例証に過ぎず、幅広い発明を限定するものではなく、また、本発明は、図示および説明された特定の構成および仕組みに限らないということが理解されるべきである。さらに、本発明またはその特徴のいくつかは、ハードウェア、プログラム可能な装置、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現することが可能である。本発明または本発明の部分は、処理装置が読み取り可能な記憶媒体または機械が読み取り可能な媒体であって、磁気的(例えば、ハードドライブ、フロッピー(登録商標)ドライブ)、光学的(例えば、コンパクトディスク、デジタル多用途ディスク)、または半導体記憶媒体(揮発性および不揮発性)のようなものにおいて実施されてもよい。
Claims (56)
- 第1の画像内の第1の特徴の第1のインスタンスを、参照画像内の第1の特徴のインスタンスと少なくとも関連付け、
第1の画像および参照画像の両方内で生じる第1の領域を、第1の特徴の第1のインスタンスと参照画像内の第1の特徴のインスタンスとの関連性から決定して、第1の画像および参照画像間の変化を符号化することを含む、方法。 - 特徴は、画像内で生じる特徴のインスタンスが、当該画像内にある画素よりも実質的に少ないと規定される、請求項1に記載の方法。
- 特徴は、画素テンプレートからハッシュされた値と規定される、請求項1に記載の方法。
- 特徴は、固定長の水平方向の画素列から計算された値と規定される、請求項1に記載の方法。
- 画素値の特定の配列のコンテキストにおいてで生じる画素のテンプレートに基づいて規定される、請求項1に記載の方法。
- 第1の特徴は、コンテキストを規定する画素が同一の第1の色を有するコンテキストにおいて生じ、第1の特徴の第1の画素は、第1の色と異なる色である、請求項5に記載の方法。
- 第1の画像を1以上の特徴の1以上のインスタンスのために操作することをさらに含む、請求項1に記載の方法。
- 第1の画像および参照画像の両方で生じる第1の領域は、第1の画像および参照画像間で変位している可能性がある、請求項1に記載の方法。
- 第1の画像および参照画像の両方において生じる第1の領域を決定することは、まったく同一の、確率的、または概算的な決定処理である、請求項1に記載の方法。
- 第1の画像内の第2の特徴のインスタンスを、参照画像内の第2の特徴のインスタンスに関連付け、第1の領域の決定は、第1の特徴の第1のインスタンスと、第1の画像および参照画像内で検出される第2の特徴のインスタンスとの関連性に少なくとも基づくことをさらに含む、請求項1に記載の方法。
- 第1の画像内の1つ以上の他の特徴の1以上の他のインスタンスを、1つ以上の参照画像内の1つ以上の特徴のインスタンスに関連付け、第1の領域の決定は、第1の特徴の1つ以上の関連するインスタンスと、第1の画像および1つ以上の参照画像内で検出される1つ以上の他の特徴のうちのいくつかに基づくことをさらに含む、請求項1に記載の方法。
- 変化した画像内のインスタンスを囲む、より大きな領域と、参照画像とが一致する見込みがあるように、第1の特徴の第1のインスタンスが、同一の第1の特徴の任意のインスタンスに関連付けられる、請求項1に記載の方法。
- 変化し画像内の第1のインスタンスを囲む、より大きな領域と、参照画像内の任意のインスタンスとは、参照画像内の第1の特徴のインスタンスの数が特定の閾値より少ない場合には、互いに一致する見込みである、請求項12に記載の方法。
- 参照画像内の特徴の1つ以上のインスタンスの位置を含むテーブルを管理して、稀に生じる特徴の特定を促進することをさらに含む、請求項1に記載の方法。
- 参照画像が変化するにつれて、テーブルを徐々に更新して、関連付け処理を促進することをさらに含む、請求項14に記載の方法。
- 特徴の関連付けは、
参照画像内で生じる第1の特徴のインスタンスの数と閾値とを比較し、
第1の特徴のインスタンスの数が閾値よりも少ない場合には、参照画像内の特徴をマッピングするテーブル内にある第1の特徴の任意のインスタンスを検索することを含む、請求項1に記載の方法。 - 特徴の関連付けは、
第1の特徴のインスタンスの数が閾値よりも少ない場合には、第1の特徴の第1のインスタンスの基礎となる画素と、参照画像内の第1の特徴の任意のインスタンスの基礎となる画素とを比較することを含む、請求項1に記載の方法。 - 第1の画像および参照画像の両方内で生じる第1の領域は、形状、位置、および変位によって検出される、請求項1に記載の方法。
- 第1の領域は、1つ以上のブロックを含み、当該1つ以上のブロックは、当該領域の形状を規定する、請求項1に記載の方法。
- 第1の領域の決定は、
第1の画像および参照画像の両方内で検出できる1つ以上のブロックのサイズを反復的に伸長することによって、第1の領域第1の領域のサイズを最大化することを含む、請求項1に記載の方法。 - 1つ以上のブロックのサイズの反復的な伸長は、第1の画像および参照画像の両方内の画素を徐々に一致させることを含む、請求項20に記載の方法。
- 第1の画像および参照画像の両方内の画素を徐々に一致させる処理では、各ブロックにつきいくつかの画素のみが一致する、請求項21に記載の方法。
- 第1の領域の第1の変位ベクトルは、参照画像内の関連付けられたインスタンスに対する第1の画像内の第1の特徴の第1のインスタンスの変位に少なくとも基づいて決定される、請求項1に記載の方法。
- 第1の変位ベクトルは、第1の画像および参照画像の両方で検出される特徴の1つ以上の関連するインスタンスについての相対的変位ベクトルの閾値率を示す、請求項23に記載の方法。
- 第1の領域の形状は、選択されたシード点から伸長される、請求項1に記載の方法。
- シード点は、第1の領域の第1の変位と、第1の変位ベクトルを補助する1つ以上の特徴の1つ以上のインスタンスとから決定される、請求項25に記載の方法。
- 特徴のインスタンスが0より大きい最も少ない数の参照画像を決定することに拠って、複数の参照画像から特徴の各インスタンス毎に参照画像を選択することをさらに含む、請求項1に記載の方法。
- 複数の参照画像の特徴は、1つ以上のテーブルにおいて索引付けされて、稀に生じる特徴の特定を促進する、請求項27に記載の方法。
- 現在の画像内における1つ以上の特徴の1つ以上のインスタンスを参照画像内の同一の特徴のインスタンスに関連付けることによって、現在の画像および参照画像の両方内で検出される領域における動きを検出するように構成された特徴マッチング部と、
特徴マッチング部に接続されて、現在の画像および参照画像の両方内で検出される1つ以上の特徴の1つ以上のインスタンスと、現在の画像および参照画像間のコード変化の関連性に少なくとも基づいて、現在の画像および参照画像の両方内で生じる第1の領域を規定するように構成されたブロック描画部とを備える、装置。 - 特徴マッチング部は、参照画像および現在の画像間の特徴のインスタンスの生じうる変位に対応する特徴の1つ以上のインスタンスについての変位ベクトルを生成する、請求項29に記載の装置。
- 変化した画像内にあるインスタンスを囲む、より大きな領域と、参照画像とが一致する見込みがあるように、第1の特徴の第1のインスタンスが、同一の第1の特徴の任意のインスタンスに関連付けられる、請求項29に記載の装置。
- 特徴マッチング部は、領域の動きの検出を、
参照画像の特徴の特徴テーブル内にある関連した第1の特徴のインスタンスの数を閾値と比較し、
参照画像内にある第1の特徴のインスタンスの数が閾値よりも少ない場合には、特徴テーブル内にある第1の特徴の任意のインスタンスを検索することによって行う、請求項29に記載の装置。 - 特徴マッチング部は、領域の動きの検出を、
参照画像内にある第1の特徴のインスタンスの数が閾値よりも少ない場合には、参照画像内にある第1の特徴の任意のインスタンスの基礎となる画素と、現在の画像内にある第1の特徴の第1のインスタンスの基礎となる画素とを比較することによって行う、請求項29に記載の装置。 - 特徴のインスタンスを現在の画像から抽出して、当該インスタンスを特徴マッチング部に提供する特徴抽出部をさらに備える、請求項29に記載の装置。
- 参照画像内で検出される特徴のインスタンスの特徴テーブルを管理して、特徴テーブルに対するアクセスを特徴マッチング部に提供する特徴管理部をさらに備える、請求項29に記載の装置。
- 特徴テーブル内にある特徴の各1つ以上のインスタンスについて、当該インスタンスについての位置を管理する、請求項35に記載の装置。
- 特徴テーブルは、参照画像が変化するにつれて、徐々に更新されて、特徴のインスタンスの関連付けを促進する、請求項35に記載の装置。
- ブロック描画部は、現在および参照画像内にある関連付けられた特徴の変位ベクトルの閾値率を示す主要変位ベクトルを推定する、請求項29に記載の装置。
- ブロック描画部は、主要変位ベクトルを補助する特徴の1つ以上のインスタンスに基づくシード点を推定する、請求項29に記載の装置。
- 第1の領域を規定するブロック描画部は、
1つ以上のブロックをシード点の位置から伸長させ、1つ以上のブロックは、現在の画像および参照画像の両方内で検出でき、
1つ以上の各ブロックのサイズを反復的に増加させることによって、第1の領域を伸長させる、請求項29に記載の装置。 - 1つ以上のブロックを伸長させることは、現在の画像および参照画像の両方内にある画素をシード点から徐々にマッチングさせることを含む、請求項40に記載の装置。
- 1つ以上の参照画像内に存在する特徴を管理する特徴管理部と、
特徴管理部に接続され、複数の画像を記憶する参照画像ライブラリであって、現在の画像内の特徴の各インスタンスについて、参照画像が選択される、参照画像ライブラリとをさらに備える、請求項29に記載の装置。 - ブロック描画部に接続されて、形状、位置、および変位によって第1の領域を特定する画像エンコーダをさらに備える、請求項29に記載の装置。
- 第1の画像内にある1つ以上の特徴の1つ以上のインスタンスを、参照画像の同一の特徴のインスタンスに関連付け、
第1の画像と参照画像との両方内で生じるが第1の画像および参照画像間で変位が生じるであろう第1の領域を、第1の画像内にある特徴と参照画像内の同一の特徴のインスタンスとの関連付けから決定するように構成されたエンコーダと、
エンコーダから情報を受信し、
参照画像のコピーを用いて第2の画像を更新して、第1の領域を再構築するように構成されたデコーダとを備える、システム。 - エンコーダは、
現在の画像から特徴のインスタンスを抽出し、
参照画像内で検出された特徴のインスタンスの特徴テーブルを管理するようにさらに構成されている、請求項44に記載のシステム。 - エンコーダによる特徴のインスタンスの関連付けは、
参照画像内にある関連付けられた第1の特徴のインスタンスの数を閾値と比較し、
参照画像内にある第1の特徴のインスタンスの数が閾値よりも少ない場合には、特徴テーブル内にある参照画像についての第1の特徴の任意のインスタンスを検索することによって行う、請求項44に記載のシステム。 - エンコーダによる特徴の関連付けられたインスタンスの確認は、
参照画像内にある第1の特徴のインスタンスの数が閾値よりも少ない場合には、参照画像内にある第1の特徴の第1のインスタンスの基礎となる画素と、現在の画像内にある第1の特徴の任意のインスタンスの基礎となる画素とを比較することによって行う、請求項44に記載のシステム。 - エンコーダは、変位する見込みのある第1の領域を、形状、位置、および変位によって特定し、第1の画像および参照画像間の変化を符号化および出力するようにさらに構成され
デコーダは、形状、位置、および変位を受信し、それらを用いて第1の領域を再構築するようにさらに構成される、請求項44に記載のシステム。 - 現在の画像および参照画像の両方内で検出される1つ以上の領域の動きを、現在の画像内にある1つ以上の特徴のインスタンスを参照画像内にある同一の特徴のインスタンスに関連付けることによって検出するための手段と、
現在の画像および参照画像の両方内で生じるが現在の画像および参照画像間で変位が生じる見込みである第1の領域を、現在の画像内にある1つ以上の特徴のインスタンスと参照画像内の同一の特徴のインスタンスとの関連付けに基づいて検出して、現在の画像および参照画像間の変化を符号化するための手段とを備える、エンコーダ。 - 特徴のインスタンスを現在の画像から抽出して、当該インスタンスを動き検出手段に提供するための手段と
参照画像内で検出される特徴のインスタンスの特徴テーブルを管理して、特徴テーブルに対するアクセスを動き検出手段に提供するための手段をさらに備える、請求項49に記載のエンコーダ。 - 参照画像が変化するにつれて、特徴テーブルを徐々に更新するための手段をさらに備える、請求項50に記載のエンコーダ。
- 第1の領域を規定する手段は、現在の画像および参照画像内にある特徴の関連付けられたインスタンスの変位に対応する変位ベクトルの閾値率を表す主要変位ベクトルを推定するための手段を含む、請求項49に記載のエンコーダ。
- 第1の領域を規定する手段は、主要変位ベクトルを補助する1つ以上の特徴に基づくシード点を決定するための手段を含む、請求項49に記載のエンコーダ。
- 第1の領域を特定する手段は、
1つ以上のブロックをシード点の位置から伸長させるための手段であって、1つ以上のブロックは、現在の画像および参照画像の両方内で検出できる、手段と、
1つ以上のブロックの結合から、第1の領域を描画するための手段とを含む、請求項49に記載のエンコーダ。 - 複数の画像を記憶する参照画像ライブラリを記憶するための手段であって、現在の画像内にある特徴の各インスタンスについて、参照画像が選択される、手段をさらに備える、請求項49に記載のエンコーダ。
- 形状、位置、および現在の画像および参照画像間の変位によって、第1の領域を特定するための手段をさらに備える、請求項49に記載のエンコーダ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/107,981 US6983020B2 (en) | 2002-03-25 | 2002-03-25 | Method and apparatus for fast block motion detection |
PCT/US2003/007809 WO2003084070A2 (en) | 2002-03-25 | 2003-03-14 | Method and apparatus for fast block motion detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005522083A true JP2005522083A (ja) | 2005-07-21 |
Family
ID=28040993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003581358A Withdrawn JP2005522083A (ja) | 2002-03-25 | 2003-03-14 | 迅速なブロック動作検出のための方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US6983020B2 (ja) |
EP (1) | EP1488638A4 (ja) |
JP (1) | JP2005522083A (ja) |
KR (1) | KR20050029117A (ja) |
AU (1) | AU2003214170A1 (ja) |
CA (1) | CA2479966A1 (ja) |
IL (1) | IL164243A0 (ja) |
WO (1) | WO2003084070A2 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009102010A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 移動領域検出装置 |
JP2009194627A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
JP2009194626A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
JP2011040808A (ja) * | 2009-08-06 | 2011-02-24 | Nec Personal Products Co Ltd | 情報処理装置、制御方法及びプログラム |
CN105981382A (zh) * | 2014-09-30 | 2016-09-28 | 微软技术许可有限责任公司 | 用于视频编码的基于散列的编码器判定 |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US10567754B2 (en) | 2014-03-04 | 2020-02-18 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117239B1 (en) | 2000-07-28 | 2006-10-03 | Axeda Corporation | Reporting the state of an apparatus to a remote computer |
US8108543B2 (en) | 2000-09-22 | 2012-01-31 | Axeda Corporation | Retrieving data from a server |
US7185014B1 (en) | 2000-09-22 | 2007-02-27 | Axeda Corporation | Retrieving data from a server |
US7254601B2 (en) | 2001-12-20 | 2007-08-07 | Questra Corporation | Method and apparatus for managing intelligent assets in a distributed environment |
US6983020B2 (en) * | 2002-03-25 | 2006-01-03 | Citrix Online Llc | Method and apparatus for fast block motion detection |
US7178149B2 (en) * | 2002-04-17 | 2007-02-13 | Axeda Corporation | XML scripting of soap commands |
US7966418B2 (en) | 2003-02-21 | 2011-06-21 | Axeda Corporation | Establishing a virtual tunnel between two computer programs |
US7715479B2 (en) * | 2003-07-21 | 2010-05-11 | International Business Machines Corporation | Power-aware on-chip memory management for video coding algorithms |
US7870504B1 (en) * | 2003-10-01 | 2011-01-11 | TestPlant Inc. | Method for monitoring a graphical user interface on a second computer display from a first computer |
DE10351778A1 (de) * | 2003-11-06 | 2005-06-09 | Daimlerchrysler Ag | Verfahren zur Korrespondenzanalyse in Bilddatensätzen |
JP2005284694A (ja) * | 2004-03-30 | 2005-10-13 | Fujitsu Ltd | 3次元モデルデータ提供プログラム、3次元モデルデータ提供サーバ、及び3次元モデルデータ転送方法 |
US8725705B2 (en) * | 2004-09-15 | 2014-05-13 | International Business Machines Corporation | Systems and methods for searching of storage data with reduced bandwidth requirements |
US7523098B2 (en) * | 2004-09-15 | 2009-04-21 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
KR100677562B1 (ko) * | 2005-02-03 | 2007-02-02 | 삼성전자주식회사 | 움직임 추정 방법 및 장치 |
US8787460B1 (en) * | 2005-07-28 | 2014-07-22 | Teradici Corporation | Method and apparatus for motion vector estimation for an image sequence |
US8370479B2 (en) | 2006-10-03 | 2013-02-05 | Axeda Acquisition Corporation | System and method for dynamically grouping devices based on present device conditions |
US8065397B2 (en) | 2006-12-26 | 2011-11-22 | Axeda Acquisition Corporation | Managing configurations of distributed devices |
GB0707276D0 (en) * | 2007-04-16 | 2007-05-23 | Adventiq Ltd | Video data transmission |
JP4375449B2 (ja) * | 2007-06-28 | 2009-12-02 | コニカミノルタビジネステクノロジーズ株式会社 | 画像処理装置、画像処理プログラム、および画像処理方法 |
US8681870B2 (en) * | 2008-02-14 | 2014-03-25 | Nec Corporation | Motion vector detection device |
EP2277317B1 (en) * | 2008-05-19 | 2021-01-27 | Citrix Systems, Inc. | Systems and methods for enhanced image encoding |
US8417039B2 (en) * | 2010-06-03 | 2013-04-09 | Microsoft Corporation | Motion detection techniques for improved image remoting |
JP5664289B2 (ja) * | 2011-01-31 | 2015-02-04 | 富士通株式会社 | 情報処理装置、画像送信プログラムおよび画像表示方法 |
US9153207B2 (en) * | 2011-11-03 | 2015-10-06 | Cisco Technology, Inc. | Utilizing scrolling detection for screen content encoding |
US8934055B1 (en) * | 2013-06-14 | 2015-01-13 | Pixelworks, Inc. | Clustering based motion layer detection |
KR20160075705A (ko) * | 2013-10-25 | 2016-06-29 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 및 이미지 코딩에서의 해시 기반 블록 매칭 |
US9875552B1 (en) | 2016-07-26 | 2018-01-23 | Teradici Corporation | Content independent method of motion determination using sparse matrices |
KR20190138121A (ko) | 2018-06-04 | 2019-12-12 | 에스케이플래닛 주식회사 | 부분 마스킹 기반의 효율적 캐시를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2953712B2 (ja) | 1989-09-27 | 1999-09-27 | 株式会社東芝 | 移動物体検知装置 |
JP2863818B2 (ja) | 1990-08-31 | 1999-03-03 | 工業技術院長 | 動画像の変化点検出方法 |
US5241625A (en) | 1990-11-27 | 1993-08-31 | Farallon Computing, Inc. | Screen image sharing among heterogeneous computers |
EP0488247B1 (en) * | 1990-11-28 | 1997-04-23 | Hitachi, Ltd. | Analyzing method and apparatus for liquid sample |
JPH06284411A (ja) * | 1993-03-25 | 1994-10-07 | Matsushita Electric Ind Co Ltd | 符号化装置 |
JP2576771B2 (ja) * | 1993-09-28 | 1997-01-29 | 日本電気株式会社 | 動き補償予測装置 |
US5577188A (en) | 1994-05-31 | 1996-11-19 | Future Labs, Inc. | Method to provide for virtual screen overlay |
US5623603A (en) | 1994-11-02 | 1997-04-22 | Fls Acquistion Corporation | Method of transferring data at adjustable levels of priorities to provide optimum response to user demands |
KR100235343B1 (ko) * | 1994-12-29 | 1999-12-15 | 전주범 | 영역분할 기법을 이용한 동영상신호 부호화기의 움직임 벡터 측정장치 |
KR0171146B1 (ko) * | 1995-03-18 | 1999-03-20 | 배순훈 | 특징점을 이용한 움직임 벡터 검출 장치 |
KR0171143B1 (ko) * | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
KR0181036B1 (ko) * | 1995-04-08 | 1999-05-01 | 배순훈 | 움직임 영상의 이동 물체 분할 및 그 움직임 추정방법 |
KR0171120B1 (ko) | 1995-04-29 | 1999-03-20 | 배순훈 | 특징점 기반 움직임 보상을 이용한 비디오 신호 부호화에서의 움직임 영역 설정방법 및 장치 |
US5936673A (en) * | 1995-05-26 | 1999-08-10 | Intel Corporation | Temporal tile staggering for block based video compression |
NZ320501A (en) | 1995-11-02 | 1999-11-29 | British Telecomm | Service creation apparatus for a communications network |
US6167432A (en) | 1996-02-29 | 2000-12-26 | Webex Communications, Inc., | Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US5796566A (en) | 1996-08-16 | 1998-08-18 | Compaq Computer Corporation | Printed circuit board having conductors which can be decoupled for isolating inactive integrated circuits connected thereto |
JP2836681B2 (ja) * | 1997-01-14 | 1998-12-14 | 日本電気株式会社 | パタンマッチング符号化方法及び符号化装置 |
JPH10210473A (ja) * | 1997-01-16 | 1998-08-07 | Toshiba Corp | 動きベクトル検出装置 |
AU1700299A (en) | 1997-11-18 | 1999-06-07 | Stellar Computing | Method for establishing a communication connection between two or more users viaa network of interconnected computers |
US6289461B1 (en) | 1998-06-09 | 2001-09-11 | Placeware, Inc. | Bi-directional process-to-process byte stream protocol |
US6278466B1 (en) | 1998-06-11 | 2001-08-21 | Presenter.Com, Inc. | Creating animation from a video |
US6338086B1 (en) | 1998-06-11 | 2002-01-08 | Placeware, Inc. | Collaborative object architecture |
US6307550B1 (en) | 1998-06-11 | 2001-10-23 | Presenter.Com, Inc. | Extracting photographic images from video |
US6233353B1 (en) * | 1998-06-29 | 2001-05-15 | Xerox Corporation | System for segmenting line drawings from text within a binary digital image |
CA2343751A1 (en) * | 1998-07-27 | 2000-02-10 | Webtv Networks, Inc. | Remote computer access |
US6601087B1 (en) | 1998-11-18 | 2003-07-29 | Webex Communications, Inc. | Instant document sharing |
US6331855B1 (en) | 1999-04-28 | 2001-12-18 | Expertcity.Com, Inc. | Method and apparatus for providing remote access, control of remote systems and updating of display information |
US6654032B1 (en) | 1999-12-23 | 2003-11-25 | Webex Communications, Inc. | Instant sharing of documents on a remote server |
US6473522B1 (en) * | 2000-03-14 | 2002-10-29 | Intel Corporation | Estimating text color and segmentation of images |
US6597736B1 (en) * | 2000-03-29 | 2003-07-22 | Cisco Technology, Inc. | Throughput enhanced video communication |
JP4612760B2 (ja) * | 2000-04-25 | 2011-01-12 | キヤノン株式会社 | 画像処理装置およびその方法 |
US6763501B1 (en) | 2000-06-09 | 2004-07-13 | Webex Communications, Inc. | Remote document serving |
US7958185B2 (en) | 2000-09-18 | 2011-06-07 | Bentley Systems, Inc. | Spatial data enabled engineering, construction, and operations computer-aided design (CAD) project system, method and computer program product |
US20030167302A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Scalable distributed network system for collaborative computing |
US6925645B2 (en) | 2000-12-29 | 2005-08-02 | Webex Communications, Inc. | Fault tolerant server architecture for collaborative computing |
US7203755B2 (en) | 2000-12-29 | 2007-04-10 | Webex—Communications, Inc. | System and method for application sharing in collaborative setting |
US20030164853A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed document sharing |
US20030167418A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Fault-tolerant server for collaborative computing |
US20030167304A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed meeting management |
US6901448B2 (en) | 2000-12-29 | 2005-05-31 | Webex Communications, Inc. | Secure communications system for collaborative computing |
US7069298B2 (en) | 2000-12-29 | 2006-06-27 | Webex Communications, Inc. | Fault-tolerant distributed system for collaborative computing |
WO2002054264A1 (en) | 2000-12-29 | 2002-07-11 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
US6567813B1 (en) | 2000-12-29 | 2003-05-20 | Webex Communications, Inc. | Quality of service maintenance for distributed collaborative computing |
US6751362B2 (en) * | 2001-01-11 | 2004-06-15 | Micron Technology, Inc. | Pixel resampling system and method for text |
US20020174181A1 (en) | 2001-04-13 | 2002-11-21 | Songxiang Wei | Sharing OpenGL applications using application based screen sampling |
US20030085922A1 (en) | 2001-04-13 | 2003-05-08 | Songxiang Wei | Sharing DirectDraw applications using application based screen sampling |
US20020165922A1 (en) | 2001-04-13 | 2002-11-07 | Songxiang Wei | Application based screen sampling |
US6810488B2 (en) | 2001-05-22 | 2004-10-26 | Webex Communications, Inc. | Adaptive selective retransmission of packets |
US20030018662A1 (en) | 2001-07-19 | 2003-01-23 | Sheng Li | Synchronizing multimedia data |
US7216172B2 (en) | 2001-09-25 | 2007-05-08 | Webex Communications, Inc. | Systems and methods for establishing quasi-persistent HTTP connections |
US6961467B2 (en) * | 2001-10-17 | 2005-11-01 | Intel Corporation | Identifying image content |
US20030084169A1 (en) | 2001-10-31 | 2003-05-01 | Min Zhu | System and method for accessing a target computer from a remote location using a remote computer |
US7054367B2 (en) * | 2001-12-31 | 2006-05-30 | Emc Corporation | Edge detection based on variable-length codes of block coded video |
US7636754B2 (en) | 2002-03-21 | 2009-12-22 | Cisco Technology, Inc. | Rich multi-media format for use in a collaborative computing system |
US6983020B2 (en) * | 2002-03-25 | 2006-01-03 | Citrix Online Llc | Method and apparatus for fast block motion detection |
US7213051B2 (en) | 2002-03-28 | 2007-05-01 | Webex Communications, Inc. | On-line conference recording system |
US6954501B2 (en) * | 2003-02-17 | 2005-10-11 | Xvd Corporation | Method and apparatus for object based motion compensation |
-
2002
- 2002-03-25 US US10/107,981 patent/US6983020B2/en not_active Expired - Lifetime
-
2003
- 2003-03-14 IL IL16424303A patent/IL164243A0/xx unknown
- 2003-03-14 WO PCT/US2003/007809 patent/WO2003084070A2/en active Application Filing
- 2003-03-14 KR KR1020047015165A patent/KR20050029117A/ko not_active Application Discontinuation
- 2003-03-14 AU AU2003214170A patent/AU2003214170A1/en not_active Abandoned
- 2003-03-14 CA CA002479966A patent/CA2479966A1/en not_active Abandoned
- 2003-03-14 JP JP2003581358A patent/JP2005522083A/ja not_active Withdrawn
- 2003-03-14 EP EP03711577A patent/EP1488638A4/en not_active Withdrawn
-
2005
- 2005-10-18 US US11/252,940 patent/US20060039477A1/en not_active Abandoned
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009102010A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 移動領域検出装置 |
JP2009194627A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
JP2009194626A (ja) * | 2008-02-14 | 2009-08-27 | Nec Corp | 動き補償に伴う更新領域検出装置 |
US8629936B2 (en) | 2008-02-14 | 2014-01-14 | Nec Corporation | Moving region detection device |
JP5471449B2 (ja) * | 2008-02-14 | 2014-04-16 | 日本電気株式会社 | 移動領域検出装置 |
JP2011040808A (ja) * | 2009-08-06 | 2011-02-24 | Nec Personal Products Co Ltd | 情報処理装置、制御方法及びプログラム |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
US10567754B2 (en) | 2014-03-04 | 2020-02-18 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
US10681372B2 (en) | 2014-06-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Encoder decisions based on results of hash-based block matching |
US11025923B2 (en) | 2014-09-30 | 2021-06-01 | Microsoft Technology Licensing, Llc | Hash-based encoder decisions for video coding |
CN105981382A (zh) * | 2014-09-30 | 2016-09-28 | 微软技术许可有限责任公司 | 用于视频编码的基于散列的编码器判定 |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Also Published As
Publication number | Publication date |
---|---|
EP1488638A4 (en) | 2007-08-22 |
US20060039477A1 (en) | 2006-02-23 |
CA2479966A1 (en) | 2003-10-09 |
EP1488638A2 (en) | 2004-12-22 |
WO2003084070A2 (en) | 2003-10-09 |
US6983020B2 (en) | 2006-01-03 |
KR20050029117A (ko) | 2005-03-24 |
IL164243A0 (en) | 2005-12-18 |
US20030179951A1 (en) | 2003-09-25 |
AU2003214170A1 (en) | 2003-10-13 |
WO2003084070A3 (en) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005522083A (ja) | 迅速なブロック動作検出のための方法および装置 | |
US11538196B2 (en) | Predictive coding for point cloud compression | |
US11132818B2 (en) | Predicting attributes for point cloud compression according to a space filling curve | |
US7986844B2 (en) | Optimized video compression using hashing function | |
WO2021067884A1 (en) | Block-based predictive coding for point cloud compression | |
US20200280718A1 (en) | Image encoding and decoding method and device | |
US20130155075A1 (en) | Information processing device, image transmission method, and recording medium | |
US20040001544A1 (en) | Motion estimation/compensation for screen capture video | |
US7751683B1 (en) | Scene change marking for thumbnail extraction | |
CN107087184B (zh) | 一种多媒体数据再压缩方法 | |
US9083975B2 (en) | Moving image coding device | |
US9300960B1 (en) | Video codec systems and methods for determining optimal motion vectors based on rate and distortion considerations | |
JP2005354528A (ja) | 動きベクトル検出装置及び方法 | |
US9269281B2 (en) | Remote screen control device, remote screen control method, and recording medium | |
US20180255317A1 (en) | Method for reconstructing video stream | |
US8099578B2 (en) | Method and system for finding scrolled regions within a tile cache | |
CN110868599B (zh) | 一种远程桌面的视频压缩方法 | |
KR20170053714A (ko) | 대상-중심적 압축을 수행하기 위한 시스템 및 방법 | |
US6658156B1 (en) | Information processing apparatus and method | |
JP2002532996A (ja) | ウェブに基づく映像編集方法及びシステム | |
US20030059119A1 (en) | Method and device for storing and processing image information of temporally successive images | |
JP3859325B2 (ja) | 画像の反復変換復号化装置及び方法、並びに記録媒体 | |
US20120183236A1 (en) | Fast implementation of context selection of significance map | |
JP7060802B2 (ja) | バッファ装置 | |
CN113557745B (zh) | 点云几何结构填充 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060126 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |