JP2006502598A - データの隣接したブロック内のパターンを決定するための方法および装置 - Google Patents

データの隣接したブロック内のパターンを決定するための方法および装置 Download PDF

Info

Publication number
JP2006502598A
JP2006502598A JP2003541280A JP2003541280A JP2006502598A JP 2006502598 A JP2006502598 A JP 2006502598A JP 2003541280 A JP2003541280 A JP 2003541280A JP 2003541280 A JP2003541280 A JP 2003541280A JP 2006502598 A JP2006502598 A JP 2006502598A
Authority
JP
Japan
Prior art keywords
target frame
frame
block
target
comparing
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
Application number
JP2003541280A
Other languages
English (en)
Inventor
モントゴメリー、デニス・エル
Original Assignee
イー・トレピッド・テクノロジーズ・エルエルシー
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 イー・トレピッド・テクノロジーズ・エルエルシー filed Critical イー・トレピッド・テクノロジーズ・エルエルシー
Publication of JP2006502598A publication Critical patent/JP2006502598A/ja
Withdrawn 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/99Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals involving fractal coding
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

本発明は、データの隣接した順次フレームの間のパターン認識を行うための方法および装置を示しており、このデータは種々のタイプの関連していないデータであることができ、あるいは時間シーケンスで関連付けられ、オーディオおよびイメージの両データを各データフレーム内に含むことができる。予測スレッドを使用してデフォルトパターン方向を決定し、その後水平、垂直、対角線および回転方向において異なったスレッドおよび並列処理技術を使用してターゲットフレームの対応したターゲットサーチエリアとの基準フレームからの種々のサーチブロックの間の比較を行った後、パターン認識が行われ、十分な数の整合を獲得していない方向スレッドは終了される。整合が見出された場合、それらはリンクされたリストまたは2進ツリーとして記憶され、その後、あるフレーム内の重複した整合がスーパーセットブロックとして表されるように処理される。

Description

本発明は、データの隣接したブロック内のパターンを決定するための方法および装置に関する。
データを圧縮すると共に、その後に、前に圧縮されたデータを圧縮解除する多くの種々の技術が存在している。ZIP(登録商標)データ圧縮は、ファイルの圧縮およびそれに続く前に圧縮されたデータの圧縮解除を可能にするよく知られている技術の1つの例である。
全ての圧縮技術は、ファイル内に存在することのできる冗長を除去することによりファイルのサイズの減少、あるいはその“圧縮”を試みる。ある圧縮技術と別のものとを区別するものが、冗長を除去するために使用される方法である。一般的に述べると、ある圧縮技術が冗長の除去に成功ると、それだけ一層行われる圧縮の量が増加する。
冗長を除去するために、あるタイプのパターン整合が典型的に使用される。たとえば、映画の連続したフレームにおいて冗長なパターンが時々生じることが知られている。したがって、映画がたとえばMPEGのようなあるフォーマットにデジタル化されたとき、イメージフレームの元のシーケンスは、イメージフレームの元のシーケンス中に存在する情報を、人間の眼がその再生を受け容れるのに十分な割合だけ含んでいるI、BおよびPイメージフレームのMPEGシーケンスにより置換される。しかしながら、イメージフレームのMPEGシーケンスを獲得するときに使用される数学的表現はフレームの元のシーケンス内に存在するデータの全てを保存できないので、I、BおよびPイメージフレームのMPEGシーケンスに損失が生じる。他の多くの状況でも、冗長なパターンが存在し、これに対してパターン整合操作が冗長を除去するために使用されることができる。x線のような異なったラジオグラフイメージのシーケンスは冗長なパターンを含んでいるであろう。種々の実行可能なまたは実行不可能なファイルの集りの間にも冗長なパターンが含まれる。したがって、明らかに、任意のタイプのデータセットと任意の他のデータセットに共通するパターンを見出すことを試みたとき、両データセットが比較されることができる。このようにして、以下の説明において、データセットが獲得され、別のデータセットと比較されることができる。別のデータセットと比較される各データセットは、そのデータセットからのデータをマトリックスアレイ中に含むあるフレームにフォーマット化されたものとして記述されることとなり、このフレームはその後、別のデータセットからのデータを含む別のフレームと比較されることができる。また、フレームという用語の使用法は、各々が個別のフレーム中にあり、個別のデータセットを構成する映画のイメージの関連した時間シーケンスから容易に理解されるが、この用語は任意のタイプのデータセットに適用可能であり、したがって、意図されるその適用可能性および使用法は、映画からの種々のイメージの場合よりはるかに広いことが認識される。
さらに、冗長なパターンが存在することを理解することと、実際にそれらを見出すこととの間には大きな違いがある。映画のイメージのシーケンスの例で続けると、デジタルデータでは、イメージの少なくとも一部における動きのために各フレームが典型的に異なっていることが明らかである。また、その動きは一時に2以上の方向で発生することができる。多くの方向に存在する動きに関しては、このために、単一の方向に動きが発生したときはるかに効率的に動作するMPEGのようなパターン認識技術に関する問題が生じる可能性が高い。MPEGの場合のさらに複雑な動きを含む隣接したフレームに関しては、このようなフレームは、含まれているデータが少ないBまたはPタイプの予測フレームではなく、新しい独立したフレームまたはIフレームとなることが必要とされることがある。その結果、対応したMPEGシーケンス内に非常に多くのIフレームが存在する可能性が高くなり、したがってフレームの間に存在しているが見出されなかったそれらのパターンが認識されることが少ないために、行われる圧縮が少なくなる。これは、MPEGに関しては多くの理由の組合せのために発生するが、しかし、とくに顕著なものは、限られた運動ベクトル知識および運動ベクトルまたは移動の方向しか存在せず、それは今は見出されていないが存在している限られた運動ベクトル知識とは異なっていることである。
さらに、パターンが決定される方式は、行われる圧縮の量だけでなく、発生する損失の量にも影響を与える。たとえば損失のある圧縮技術であるMPEGでは、パターンは予め設定されたブロックサイズを使用して位置をつきとめられるので、圧縮を達成するために、多量の損失が許容されなければならない。
さらに、圧縮は、デジタルデータのある部分を数学的表現で表すことによりMPEGのような技術で行われ、この表現は典型的に元のものに緊密に近似しているが、実際は異なっている。しかしながら、これらの技術により圧縮は得られるが、その圧縮プロセス中に、望ましくないアーティファクトが導入される可能性が高く、そのために、データを後で圧縮解除したときに、たとえば、結果的に得られた画像品質の劣化等の問題が発生する可能性が高い。たとえば、MPEGでは、圧縮に使用されたDCTアルゴリズムの限界のために、元のデータ内容の20%以上の損失が発生することがよく知られている。また、LZWのような無損失圧縮技術は損失を発生させないが、それらは典型的に大量の圧縮を導入することができない。
したがって、無損失モードでまたは損失モードのどちらで動作しているときでも、データの隣接したフレームの間に存在する冗長パターンの大部分を認識するだけでなく、損失を生じることなく動作することのできるパターン整合技術を有することが望ましい。
ここに記載されている本発明は、有効なパターン整合技術を提供する。
本発明は、データの隣接した順次フレームの間のパターン認識を行うための方法および装置を記載している。このデータは種々のタイプの関連していないデータであることができ、あるいは時間シーケンスで関連付けられ、オーディオおよびイメージの両データを各データフレーム内に含むことができる。予測スレッドを使用してデフォルトパターン方向を決定し、その後水平、垂直、対角線および回転方向において異なったスレッドおよび並列処理技術を使用して基準フレームからの種々のサーチブロックをターゲットフレームの対応したターゲットサーチエリアと比較した後、パターン認識が行われ、十分な数の整合を獲得していない方向スレッドは終了される。整合が見出された場合、それらはリンクされたリストまたは2進ツリーとして記憶され、その後、あるフレーム内の重複した整合がスーパーセットブロックとして表されるように処理される。
1つの特徴において、本発明は、各フレームが複数のビットから構成されている複数の順次フレームのビットサイズを圧縮する方法を提供する。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するものであり、基準フレームは最初は複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初は複数の順次フレームの後続フレームに設定されている。複数の比較されたブロックは圧縮されたターゲットフレームの表現を獲得するために使用される。その後、基準フレームはターゲットフレームであった後続フレームとして再度指定され、ターゲットフレームは後続フレームに後続する別の後続フレームとして再度指定され、比較し、使用するステップが繰返される。
別の特徴において、ターゲットフレーム中に存在する冗長なパターンのリンクされたリストを基準フレームから獲得する方法が提供され、基準フレームおよびターゲットフレームはそれぞれ複数のビットから構成されている。この方法は、基準フレームの複数のサーチブロック部分のそれぞれをターゲットフレーム内の複数の位置と比較して複数の整合を決定し、各整合に対して、サーチブロック部分にリンクされた位置識別子によりその整合に対応したターゲットフレームのその部分を表すステップを含んでいる。
別の特徴において、複数の順次フレーム内のパターンをサーチする方法が提供され、各フレームは、水平、垂直および対角線方向にトラバースされることのできるマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの開始フレームに設定されており、ターゲットフレームははじめに、複数の順次フレームの後続フレームに設定されている。比較するステップは、ターゲットフレームを水平方向にトラバースして少なくとも第1のグループのサーチブロックをターゲットフレーム内の対応した水平方向のターゲットブロックと比較し、ターゲットフレームを垂直方向にトラバースして少なくとも第2のグループのサーチブロックをターゲットフレーム内の対応した垂直方向のターゲットブロックと比較するステップを含んでおり、第2のグループのサーチブロックは第1のグループのサーチブロックと異なっていてもよいし、異なっていなくてもよい。
別の特徴において、本発明は、複数の順次フレーム内のパターンをサーチする方法を提供し、各フレームはマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの開始フレームに設定されており、ターゲットフレームは最初、複数の順次フレームの後続フレームに設定されている。比較するステップは、ターゲットフレームを複数の異なった方向にトラバースしてサーチブロックをターゲットフレーム内の対応したターゲットブロックと比較するステップを含んでおり、トラバースするステップは、並列に処理される複数の異なったスレッドを起動するステップを含んでおり、異なった各スレッドは異なったサーチブロックおよび異なった方向の少なくとも一方に関して動作し、そのトラバーサルの結果としてターゲットフレームと基準フレームとの間に十分な数の整合が見出されたか否かを決定するステップを含んでいる。その後、複数の異なったスレッドのあるものを終了するステップが発生し、この終了するステップは、特定のスレッドに関してトラバースした結果十分な数の整合が得られないことが決定された場合にその特定のスレッドに対して発生する。
別の特徴において、本発明は、複数の順次フレームのビットサイズを圧縮する方法を提供し、各フレームは複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは複数の順次フレームの後続フレームに設定されている。比較するステップは、比較のための複数の異なったスレッドと、および均一なサイズを有する各スレッド内のサーチブロックとを使用するため、対応した比較されたブロックもまた均一のサイズを有している。この方法は複数の比較されたブロックを使用して、元の状態から圧縮されたターゲットフレームの表現を獲得する。使用するステップは、圧縮されることのできる隣接した比較されたブロックが存在するか否かを決定し、圧縮されることのできる隣接した比較されたブロックの少なくともあるものに対して、そのある隣接した比較されたブロックを含む均一でないサイズの少なくとも1つのスーパーセットブロックを生成するステップを含んでいる。
別の特徴において、本発明は、複数の順次フレーム内のパターンをサーチする方法を提供し、各フレームはマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと損失方式で比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されている。比較するステップは、第1のサーチブロックに対して、ターゲットフレーム内に存在する比較の割合を示す第1の加重を獲得し、第1のサーチブロックに重複する第2のサーチブロックに対しては、ターゲットフレーム内に存在する比較の別の割合を示す第2の加重を獲得するステップを含んでいる。第1の加重および第2の加重が共にある定められたしきい値を越えた比較の割合を有している場合、低いほうの比較の割合を有する第1および第2のサーチブロックの比較されたブロックの廃棄が行われる。
別の特徴において、本発明は、複数の順次フレーム内のパターンをサーチする方法を提供し、各フレームはマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されている。比較するステップは、ターゲットフレームに対して予測された最適ブロックサイズおよび予測された移動方向を獲得するために基準フレームのマトリックスアレイ内の種々のポジションに異なったブロックサイズを有しているいくつかの異なった予測サーチブロックをターゲットフレーム中の種々の対応した予測ターゲットブロックと比較する予測スレッドを起動するステップを含んでいる。比較するステップはまた、予測された移動方向に対応した方向におけるターゲットフレームのトラバーサルを起動し、サーチブロックは予測された最適ブロックサイズに対応したサイズを有している。
本発明の別の特徴において、複数の順次フレーム内のパターンをサーチする方法が提供され、各フレームはマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの初期フレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されている。比較するステップは、ターゲットフレームに対して予測された最適ブロックサイズおよび予測された移動方向を獲得するために基準フレームのマトリックスアレイ内の種々のポジションに異なったブロックサイズを有しているいくつかの異なった予測サーチブロックをターゲットフレーム中の種々の対応した予測ターゲットブロックと比較する予測スレッドを起動するステップを含んでいる。比較するステップはまた、予測された移動方向に対応した方向におけるターゲットフレームのトラバーサルを起動し、サーチブロックは予測された最適ブロックサイズに対応したサイズを有している。
別の特徴において、本発明は、複数の順次フレーム内のパターンをサーチする方法を提供し、各フレームは、少なくとも水平および垂直方向にトラバースされることのできるマトリックスアレイに配列された複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されている。比較するステップは、ターゲットフレームを単一のビットの列またはビットの行より大きい段階的増分で少なくとも水平および垂直方向にそれぞれトラバースして、サーチブロックをターゲットフレーム内の対応したターゲットブロックと比較するステップを含んでいる。トラバースするステップは、マトリックスアレイのエッジにおけるサーチブロックおよび対応したターゲットブロックに対して、そのサーチブロックおよび対応したターゲットブロックのサイズがトラバースするステップの全期間中維持されることができるように、基準フレームおよびターゲットフレームのそれぞれ外側であるサーチブロックおよび対応したターゲットブロック内のビットポジションに同じ情報を埋込むステップを含んでいる。
本発明の別の特徴において、パターンをサーチする方法が提供される。この方法は、ビデオ情報を表す複数のビットおよびオーディオ情報を表す別の複数のビットからそれぞれ構成された複数の順次および時間関連フレームを獲得するステップを含んでいる。基準フレーム内の複数の異なったサーチブロックがターゲットフレームと比較され、それによって複数の比較されたブロックが獲得され、基準フレームは最初に複数の順次および時間関連フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次および時間関連フレームの後続フレームに設定されている。複数の比較されたブロックは、圧縮されたターゲットフレームの表現を獲得するために使用される。
別の特徴において、本発明は複数の順次フレームのビットサイズを圧縮する方法を提供し、各フレームは複数のビットから構成されている。この方法は、基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは最初に最初のフレームに設定されており、ターゲットフレームは最初に後続フレームに設定されている。比較するステップは、基準フレームと後続フレームとの間の所望の圧縮比に達したか否かを決定するステップを含んでいる。所望の圧縮比に達した場合、比較するステップは終了される。所望の圧縮比に達しなかった場合、複数の比較されたブロックは、元の状態と比較して圧縮されたターゲットフレームの表現を獲得するために使用される。
本発明のその他の特徴、利点および目的は以下の説明から明らかになるであろう。
本発明の上記およびその他の特徴および利点は、本発明の非制限的な例示的実施形態による図面を参照として、以下の詳細な説明さらに詳しく記載されている。なお、図面において、同じ参照符号はいくつかの図面にわたって類似した部分を表している。
本発明は、整合されたパターンを示した結果として圧縮を発生させるが、しかしさらに圧縮されるべき整合されたパターンを表したデータの圧縮もまた可能にするパターン整合方法を提供する。上述したように、本発明は任意のタイプのデジタルデータで動作するために使用されることができるが、これはどのタイプのデジタルデータも他のデジタルデータと比較可能なために、本発明は、映画のデジタルマスターからのビデオイメージのシーケンス、実時間デジタルカメラフィードから得られたイメージのシーケンス、関連付けられた医学的イメージのシーケンス、オーディオコンテンツまたはそれぞれが他のもののコピーであるように意図された冗長なデータ記憶デバイスを表すデータのシーケンスのような、データ内にパターンが存在する可能性が非常に高いアプリケーションに対してとくに重要である。
ビデオイメージのような関連付けられたシーケンスに対する本発明のパターン認識特徴の動作は、イメージを表示し、オーディオを再生するために使用されることのできる元のデジタルデータのフレームについて動作されることが好ましいこともまた認識される。したがって、たとえば、デジタルビデオカメラからのフィードは、それが実時間のものか、または遅延されたものか、あるいはデジタル版の映画であるかにかかわらず、操作されることができる。しかしながら、MPEGのようなシーケンスに対して関連付けられたデータを記憶するために以前から知られている圧縮技術が使用されている場合、本発明はこのMPEGを復号して、元のマスターシーケンスのフレームに最も厳密に整合している対応したシーケンスのフレームを獲得してそれを操作することが好ましい。もっとも、これは、MPEG符号化されたデータがその符号化された形態で操作されることが可能であり、本発明による利点が依然として得られるため、必要ない。
明らかになるように、本発明は任意のタイプのデータを、そのデータがランダムに収集され、前に圧縮された、あるいは前に既知のデータフォーマットにされたものであっても、操作する能力を有しているが、その1つの理由は、パターン認識動作がビットレベルで行われ、データのあるフレーム中のビットとデータの別のフレーム中のビットとの比較が好ましく行われるためである。したがって、たとえば、サーチブロックが画素を使用してイメージを表すデータを含んでおり、各画素が24ビットとして、1つのフレームで表される場合、対応したサーチブロックエリアが、24ビットのうちの22ビットがサーチブロック中の対応した画素において同じであり、2ビットだけが異なったものとしてそれぞれ識別される画素を含んでいるならば、本発明による比較により、この類似度が決定されることができ、また、あらゆる24ビットの中の少なくとも22ビットは同じものであるため、以下に説明するように、サーチエリアをサーチブロックと同じものとして識別するリンクされたリストが生成されることが可能であり、著しい圧縮が依然として行われることができ、また、90%を越える正確度が依然として保持されることができる。
ビデオまたはオーディオのような時間的に関連付けられたデータに関して、種々のフレームの間にはある関係が存在する。ビデオおよびオーディオの両方を含む映画に関しては、映画の中の各イメージに対応して、この映画と同期されなければならないサウンドのその部分はまた対応している。MPEGのようなシステム中では、符号化および復号が別々に行われる分離したオーディオストリームを必要とするオーディオの完全に別個の圧縮が存在するが、本発明は、上述したように操作されるデータの“タイプ”を区別しない。したがって、本発明においては、オーディオおよびビデオの両データを含むフレーム内にパターンが存在するか否かを決定するときに、オーディオデータの別個のストリームは必要ない。本発明は、同じフレーム内に存在する両タイプのデータについて動作することにより両者におけるパターンを認識することができる。このデータは、それらの間で何等差別なく操作されることができる。もっとも、以下説明するように、所定のフレーム内のオーディオデータおよびビデオデータを分割することにより、ある利点が得られる。
しかしながら、本発明は、オーディオ情報を含むフレームのシーケンスを用いて作用したとき、必ずしもそうとは限らないが、本出願と同じ日に同じ発明者により出願されて本出願人の代理人参照番号042503/0261933を有する米国特許出願明細書(“Optical Encoding of Audio Data,”)に記載されている技術を使用して変換されたオーディオデータと共に動作することがもっとも好ましい。この別の出願には、オーディオデジタルデータをカラー・スペースデジタルデータに変換する技術が記載されている。
上記の光学的符号化出願明細書において説明されているように、デジタル的にサンプリングされたオーディオ信号は、同じ時間インターバルにより間隔を隔てられた、デジタルオーディオ信号エレメントとも呼ばれるデジタル値のシーケンスである。オーディオおよびビデオデータは異なったフォーマットを有しているため、オーディオデータは通常ビデオデータに付加されず、それと共に符号化されない。光学的符号化は、後でビデオデータと同時に符号化するためにオーディオデータがビデオデータに付加されることができるようにオーディオデータを操作するメカニズムを提供する。とくに、デジタル的にサンプリングされたオーディオ信号エレメントは、可能なカラーのパターンから選択されたカラーにマッピングされる。種々の時点からのオーディオデータは、再生速度を示すヘッダ(示されていない)に基づいて時間的に追跡され、それによってその後適切な時間でのデジタルオーディオエレメントのシーケンスの再生が可能になる。異なった時点で発生し、同じ振幅を有するオーディオ信号は全て、同じカラーがそれらに割当てられる。マッピングのプロセスはカラーを対応したオーディオデータに対して異なった時点で割当てる。マッピングプロセスの後、各オーディオデータは、関連付けられた振幅を有する代りに、カラールックアップテーブルから得られた関連付けられたカラーを有している。したがって、同じ振幅を有するデジタルオーディオ信号エレメントは、同じカラーを有している。また、得られたパレットは、割当てられることのできる可能なカラーのパレットのサブパレットである。
光学的符号化の出願においてデジタル的にサンプリングされた信号エレメントを可能なカラーのパレットから選択されたカラーにマッピングするプロセスは、現在のデジタルオーディオ信号エレメントに対する振幅を読出すことによって始まる。その後、あるカラーは前にその振幅に割当てられたか否かが決定される。あるカラーが前にその振幅に割当てられている場合、そのカラーに対して前に割当てられたカラールックアップが現在のサンプルに割当てられる。あるカラーが前にその振幅に割当てられていない場合、新しいカラールックアップがそのカラーおよび振幅の両方に割当てられ、そのカラーはサブパレットに追加される。サブパレットは、デジタル的にサンプリングされたオーディオ信号エレメントの振幅に割当てられたカラーのセットである。その後、処理すべきデジタルオーディオ信号エレメントがあるか否かが決定される。処理すべきデジタルオーディオ信号エレメントがある場合、プロセスは次のサンプルに進み、現在のサンプルに対する振幅が読み込まれる。プロセスの終りに、サブパレットは、デジタル的にサンプリングされた全てのオーディオ信号エレメントの全ての時間における振幅を記述するために必要とされた全てのカラーを含んでいる。各サンプルについても、振幅の代りに、サブパレットからの関連付けられたカラーが存在する。このプロセスの出力は、サブパレットおよびシーケンスデジタルオーディオ信号エレメントをそれらの変換されたカラーフォーマットで含んでいるフレームである。
増補ビデオフレームが復号された後、カラーオーディオは増補ビデオフレームから分離され、デジタルオーディオ信号エレメントが光学的符号化出願において説明されているように復元されることができる。デジタルオーディオ信号エレメントを復元したとき、現在のデジタルオーディオ信号エレメントに対するデジタルカラー値が読込まれ、対応したデジタルオーディオ値はカラールックアップに基づいて検索される。その後、処理すべきデジタルオーディオ信号エレメントを表すデジタルカラー値があるか否かが決定される。処理すべき値が存在している場合、このプロセスは次のサンプルに進み、現在の振幅に対する振幅が読み込まれる。プロセスの出力はもとのデジタル的にサンプリングされたオーディオ信号である。
カラースペース変換されたオーディオデジタルデータは、ある1つのフレーム内において全てのフレームに対して類似した方式で編成され、以下さらに詳細に説明するように、あるフレーム内のフレームブロックのどれがこのオーディオデータを含んでいるかを示すマーカーが存在していることが好ましい。
図1は、デジタルカメラ、ハードドライブ、ディスク制御装置、または任意のタイプのデータをストリームでダウンストリーム装置120に送信することのできる任意の媒体であることができるデジタル伝送装置110を備えている本発明による例示的にシステム100を示している。示されているように、装置120は、マルチスレッデッド並列動作を行うことのできるプロセッサを備えたコンピュータであることが好ましい。この装置120を使用してパターン認識が行われた後、本発明による出力データを含むストリームの後続的な符号化が行われることができる。また、ネットワーク130と、およびデータが意図されたとおりに使用されることができるように、もとの操作されたデータを再生成するだけでなく、復号を行うこともできる別の装置140とが示されている。これに関して、本出願では、本発明によるパターン認識を達成するために使用される方法を説明する。パターンがひとたび認識され、この明細書に記載されているリンクされたリスト、2進ツリーまたは別のデータ記憶フォーマットを使用して相関されると、この明細書に記載されているようにフォーマット化されたデータから元のデータを獲得することは簡単であることが認識されるであろう。
上記のシステムは、この明細書に記載されている本発明の利点が使用されることのできる1つの方式を示すために与えられているが、これは一例に過ぎない。ここに記載されている発明を実施することのできるプロセッサを備えたコンピュータとは別の単一のコンピュータおよび装置が代りに使用可能であるため、たとえば、異なったコンピュータ装置120および140がそれぞれ構成されることができる。その他多数の変形が可能である。また、述べられているような装置は典型的に、この明細書の教示に基づいて書込まれたプログラム命令と共にIntel Pentium(R)4マイクロプロセッサまたはDSPのようなあるタイプのプロセッサを備えることになるが、フィールドプログラム可能なゲートアレイのような、本発明を実施する別のハードウェアもまた使用されことができる。プログラム命令は、C++または別のコンピュータプログラミング言語で書込まれることが好ましい。繰返し使用される反復ルーチンについては、これらは高速処理のためにアセンブラ言語で書込まれることができる。上述したように、本発明は、以下さらに詳細異に説明するように、1つのフレーム内のマトリックスアレイにフォーマット化されていることが好ましいデータで動作することができる。時間的に関連付けられていないデータに関して、ブロックは、同じデータ量を記憶する能力を有していてもよいし、有していなくてもよいフレームにフォーマット化されることができる。イメージおよびオーディオデータのような時間的に関連付けられたデータに関しては、各イメージおよびオーディオデータを関連付けられたそれは、それ自身のフレームを有することが好ましい。もっとも、それは必須ではない。
図2Aは、フレームブロック230中に配置されたデータを含むフレームブロック230で分割された代表的なフレームを示している。このデータは時間的に関連付けられていてもよいし、あるいは関連付けられていなくてもよい。
図2B1は、各イメージに対するデータを含んでおり、そのイメージが対応したオーディオデータだけでなく互いに時間的に関連付けられ、これらのオーディオデータもまたイメージに時間的に関連付けられているデジタル映画であることができるシーケンス210-1,210-2・・・210-nの一例を示している。各シーケンス210は、図2B2に示されている3つのフレーム220によって示されているように、このように時間的に互いに関連付けられたフレーム220を含んでいる。これらのフレーム220は、ある数(この明細書では説明のために20)のフレームブロック230を有するものとして示されており、そのうちの15(230V1,23V2・・・23Vn)はビデオイメージデータ用として示されており、その中の5(230A1,230A2・・・230An)はオーディオ情報用として示されている。1つの重要な特徴は、フレームブロック230Vのマトリックスアレイ全体が描かれる必要のあるイメージに対応し、そのフレームブロック230Aはこの図面に示されている下部のような他の場所に配置されることである。マーカー232は、最後のフレームであるイメージフレームブロック(230Nとして示されている)と最初のオーディオフレームブロック(230A1として示されている)との間に配置されることもまた認識される。これは以下さらに詳細に説明するように、イメージおよびオーディオ情報を含むこれらのフレームブロックを識別する容易な方式を可能にし、その結果、それらは以下に説明される異なったスレッドを使用して操作されることができる。マーカーとは、そうでなければデータ中には現れないビットの固有の組合せである。
典型的に、時間的に関連付けられたデータを含むフレームに関して好ましいことに、各フレームは同じデータ量を記憶する能力を有する。もっとも、これは必要なことではない。また、時間的に関連付けられたフレームでは、シーケンスの少なくとも最初のフレームはキーフレームと呼ばれるものになり、ハイムーブメント(high movement)ビデオの場合は、シーケンス内の別のフレームもまた、以下に説明するように、キーフレームになることができる
図2C1および2C2は、データがフレームブロック230中に位置される方式を示している。したがって、フレーム全体に対するデータは、典型的にそれぞれが同じデータ量を保持することのできるフレームブロック中に配置されるように分割される。
図2C1は、時間的に関連付けられていないデータを含むフレームブロックを示している。示されているように、この特定の例においては、データは16ビットワードから形成され、種々のワードは位置されてフレームブロック230の左上隅からスタートし、完成するまで挿入され、図2C1中の各ドットは、記憶が利用可能である単一のビットポジションを表している。この図には、データを含まないフレームの終りにおけるビットポジションに対するものが、下線をつけられたビットポジションとして示されており、本発明は任意の他の空のビットポジションだけでなくこれらのポジションにもビットレベル0値を埋込むことが好ましい。
図2C2は、別のフレームと時間的に関連したフレームの一部であってもよいし、そうでなくてもよいイメージデータを含むデータを含むフレームブロックを示している。示されているように、この特定の例において、データは24ビットのRGBデータであり、したがって画素当り24ビットである。もちろん、このデータフォーマットは単なる例示のために与えられたものであり、別のデータフォーマットおよびイメージデータで他のタイプが適用可能である。各ビットポジションを表すデータは、フレームブロック内の、レンダー(render)された部分の画素ポジションに対応したポジションに配置されることが好ましい。もっとも、当然ながら、別の方式が考え出されることができる。図2C2における各ドットは、再び、記憶が利用可能である単一ビットポジションを表している。
上述したように、オーディオデータを含むデータを含むフレームブロックについて、このデータはRGBデータのようなカラースペースに変換されることが好ましく、したがって図2C2に示されているイメージデータと同様にして表わされることができる。当然ながら、別のデータフォーマットが使用可能である。各ビットポジションを表すデータは、フレームブロック内の、同じオーディオストリームの別の部分を表す別のデータに時間的に対応したポジションに配置されることが好ましい。もっとも、当然ながら、別の方式が考え出されることができる。
操作されるデータが最初にフレーム内に位置される方式を説明してきたが、今度は、フレームの間に存在するパターンの認識を可能にする本発明の特徴を説明する。とくに、本発明によるパターン認識システムの動作を詳細に説明する前に、特許権を受ける上で個々におよび共同して重要であるサーチングおよびパターン認識ストラテジのある特徴を以下に説明する。これまで述べてきたように、本発明はビットレベルでデータに対して動作する。基準フレーム中のデータのサーチブロックはそれぞれ、上述したようにおよび以下に説明するように、ターゲットフレームの種々のブロックと比較される。整合はマルチビット、バイトおよびマルチバイトレベルでも決定されることができるが、ビットレベルで決定されることが好ましい。整合の決定は、以下に説明するように、垂直、水平、対角線、および回転サーチ技術の組合せを使用し、好ましくは並列に動作すると共に異なったスレッドを使用して、基準フレーム内のビットの代表的なサーチブロックをターゲットフレーム内の種々のポジションと比較するパターン整合動作に基づいている。
説明上、データの元のフレームはオリジナルフレームまたはOフレームと呼ばれ、フレームが減少されたことを表す必要のあるデータの全体的なサイズが、発見されたパターンのためにさいフレームは減少された、またはRフレームと呼ばれる。したがって、ここに示されているパターン整合動作が行われた後、ターゲットOフレームは減少された、またはRフレームになる。これは、ほとんどの例においてそのフレーム内のデータの表現がその元の形式から減少されるためである。減少されない場合、それはオリジナルのOフレームであり続け、データは、そのフレームがパターン整合動作の任意のものが行われる前に存在していたデータと同じであることを記述する。減少されないこのような元のOフレームはここではキーフレームと呼ばれる。したがって、本発明の好ましい実施形態によると、最初のOフレームは基準フレームとして使用され、この基準フレームからサーチブロックが選ばれ、隣接したターゲットOフレームと比較される。最初のOフレームはその元のデータをその元の形式で保持しており、ターゲットOフレームはおそらく減少されたデータセットまたはRフレームで記述することができるであろう。
動作において、好ましい実施形態では、以下に説明するように、ひとたび最初の基準OフレームがターゲットOフレームとのそのパターン整合動作を終了すると、ターゲットOフレームはRフレームとして表されるが、ターゲットOフレームは元のOフレームデータと共に、サーチブロックを獲得するために新しい基準Oフレームとして使用され、このサーチブロックはその後選ばれて、次のまたは隣接したOフレームと比較され、このOフレームがその後新しいターゲットOフレームになる。このようにして隣接したフレーム内に存在するパターンを検出することによって、また、移動を有するフレームの場合にはフレーム内に存在するパターンの移動方向を検出することにより、パターン認識が結果的に得られ、それによって、これらのパターンを反映したリンクされたリストが生成されることができる。しかしながら、好ましい実施形態では、新しい基準Oフレームおよび新しいターゲットOフレームは互いにウインドウし、その結果両者が移動するが、最初のOフレームが基準Oフレームであり続けるようにし、後続する複数のOフレームのそれぞれが、同じ基準Oフレームが個々に比較する連続したターゲットOフレームである等の、別の実施形態もまた存在することが可能であることが認識される。
図3は、データの代表的なOフレーム内の4つの代表的なフレームブロック230と、そこにおいて規定された代表的なサーチブロック310とをさらに詳細に示している。上述したように、どのタイプのものであっても、それぞれデータのマトリックスアレイを含むフレーム220中にフォーマット化されることが好ましい。そのデータは時間的に、またはその他の方法で関連付けられていない可能性があり、したがって任意のサイズのデータのフレームブロック中にフォーマット化されるが、同じデータ量を記憶する能力を有するフレームブロック230は高速処理をさらに容易なものにするのに役に立つ。しかしながら、以下の本発明の説明においては、本発明のある重要な利点が説明され、それによって理解されることができるように、時間的に関連付けられたデータのフレームを含むビデオと、各フレーム内の種々のデータタイプとに関する特定の例が示されている。したがって、ビデオは、フレームのシーケンスを有するビデオストリームを含んでいる。イメージに対応したイメージデータおよびオーディオデータは、上述したように、適当なシーケンスで同期して一緒に保持されなければならないので、単一のフレームは両タイプのデータを記憶することができる。このような場合、各Oフレームは最初に、ビジュアルイメージを再生するために必要とされるビット数と対応したオーディオを再生するために必要とされるビット数とを組合せたものに対応したサイズを有する。
図3はまた、サーチブロック310のサイズがフレームブロック230より小さいことを一般的に示している。サーチブロック310のサイズはOフレームのサイズおよび操作されている所定のフレームの特定の部分に応じて変化することができるが、種々のフレームサイズに対して有益であると判断されて決定されたサーチブロックの好ましいサイズは、以下の表Iに示されている。
表 I
フレームタイプ サーチブロック
320×240バイトビデオフレーム 32×32バイトサーチブロック
720×480バイトビデオフレーム 64×64バイトサーチブロック
1440×960バイトビデオフレーム 128×128バイトサーチブロック
オーディオブロック 8×8バイトサーチブロック
以下さらに詳細に説明するように、図2B1に示されているような210A乃至210Dのようなシーケンス内には、パターンがフレーム220内に存在するか否かを決定するために操作される必要のあるフレーム220が存在する。これを行うために、サーチブロックが使用される。サーチブロックのサイズは、それがひとたび決定されると、典型的に同じタイプのデータを含むフレームブロック230に対して同じままである。したがって、イメージデータおよびオーディオデータの両者を有するフレームブロックを含むフレームをサーチするために同じサーチブロックが使用されることができるが、イメージデータを含むフレームブロックをサーチするときは、決定されたサーチブロックサイズを使用し、イメージデータを含むフレームブロックをサーチするときには、別の決定されたサーチブロックサイズを使用することに利点があることが分かっている。そのシーケンスに関して直前および直後のフレームは、上述したように、時間および内容的に関連付けられてもよいが、しかしながら、本発明によるパターン認識のために、関連していないと決定されてもよい。たとえば、フレームのシーケンスの後のある後続フレームは、新しいキーフレームであると決定されてもよい。これは、それがここに記載されているパターン認識のために減少されないためである。このような新しいキーフレームは、以下において明らかになるように、Rフレームであると決定された前のフレームのシーケンスとは異なったサイズのサーチブロックを有していることができる。もっとも、時間的に関連付けられたフレーム内のデータに関しては、これは典型的に該当しない。
図3はまた、垂直方向に対応した矢印320と、水平方向に対応した矢印330とを示している。これは、所定の基準Oフレーム全体がサーチブロックとして使用される各部分内にデータを有するように、この基準Oフレーム内においてサーチブロックウインドウがフレームブロック330を横切って移動されることを示すものである。以下に説明するように、多数のスレッドを使用して動作する能力を有する最近のプロセッサは、異なったスレッドが、以下説明するように異なったサーチブロックを、または異なった方向に同時に処理していることが可能であるように構成されていることが好ましい。異なったサーチブロックが選択される方式に関して、サーチブロックは、サーチブロックの重複したウインドウが存在するように単一のビットポジションだけ移動されることが好ましい。もっとも、選択されたサーチブロックの重複が少なくなり、あるいは存在しないバイトおよびマルチバイト移動だけでなく、2,4,8または最も大きいビット数の移動もまた使用可能である。したがって、単一ビットポジション移動は同じ水平レベルに沿った全てのブロックがサーチされることを保証し、その後サーチブロックウインドウが独立的に垂直下方に移動されることができ、このようにして別のサーチセットがその新しい水平レベルに沿って行われる。当然ながら、サーチブロックが選ばれる順序を選択する別の方式が使用可能である。
図4に示されているように、基準Oフレーム220Rからの特定のサーチブロック310がターゲットOフレーム220Tに適用されたとき、このサーチブロック310は最初に、基準Rフレーム220R内の同じポジションにおいてフレームブロック230R内の同じポジションに対応したターゲットOフレーム220Tのフレームブロック230T内のサーチブロックエリア410において適用される。この最初のポジションにおいて、2進ビット比較は、以下さらに詳細に説明するように、無損失圧縮に対するアンド演算および損失動作のためにここにさらに詳細に説明されている別の演算を使用して、サーチブロック310内のその時間におけるデータと、ターゲットOフレーム230Tのサーチブロックエリア410内の対応したデータとの間において、ビットレベルで行われる。その最初の比較が終了すると、サーチブロック310はその後、フレーム220R内において、ここに示されているように垂直420、水平430、対角線440、および回転方向を含む種々の別の移動方向に移動され、移動方向に沿ったこのような各ポジションにおいて、サーチウインドウ内でのデータのビットレベルでの別の比較が行われる。
図4はまた、ターゲットフレーム内におけるサーチブロック410の好ましい垂直移動および水平移動方向ならびに1つの好ましい対角線移動方向とを示している。示されているように、ターゲットフレームのサーチエリア410からスタートすると、サーチブロック310は垂直または水平の各移動方向に対して下方または横断方向に移動し、対応した垂直および水平移動方向のそれぞれに対して列または行において一時に1ビット移動することが好ましく、示されている45°の対角線については、それは1ビット横断方向におよび1ビット下方に移動することが好ましく、これは(1,1)対角線移動と呼ばれることができる。種々の別の角度に対応した対角線移動は、たとえば、(1,2)、(1,3)、(1,4)・・・(1,n)移動および(2,1)、(3,1)、(4,1)・・・(n,1)移動を使用して達成されることができる。折返し矢印によってもまた示されているように、垂直、水平および対角線方向内の種々の画素ポジションは全てサーチされることが可能である。もっとも、以下さらに詳細に説明されるように、このようなサーチは全て必要なく、したがって行われない可能性がある。
サーチウインドウ310がマスターブロックのあるエッジにあるサーチエリア410に適用されたとき、隣接したマスターブロック画素データがあるフレームのエッジで一度使用され、ラップアラウンドの結果として別のサーチが行われる。
エッジにおいて、サーチブロックウインドウの移動が単一ビットである場合、フレーム220Tのエッジにおいてサーチウインドウはフレーム220Tの反対側に進み、別の比較を開始する。しかしながら、サーチブロックウインドウがフレーム220Tのエッジにおいて多数のビットをジャンプした場合には、データはサーチエリア410を充填するのに利用できなくなる。このような場合、サーチエリア410内のデータはゼロを埋込まれるため、サーチブロックウインドウ310のサイズおよびサーチブロックエリア410のサイズは変更が必要ない。
図5は、ターゲットOフレームフレームブロック230T内において最初のサーチエリア410に適用された基準Oフレーム220Rの基準Oフレームフレームブロック230Rの例示的な最初のサーチブロック310を示している。この特定のサーチブロック310は24×24ビットのブロックとして示されており、このウインドウのサイズは理解ためにのみ使用されている。サーチウインドウ310は3つの連続した水平方向のサーチエリア410、412および414として示されており、ターゲットOフレーム220上のサーチウインドウ位置を識別するために使用されることのできる左上のビットポジションはそれぞれポジション(36,24)、(37,24)および(38,24)である。類似したこのようなサーチエリアは、(36,24)ポジションから(36,25)ポジションへのような水平方向移動に対して、および(36,24)ポジションから(37,25)ポジションへの1−1移動のような対角線方向移動に対して得られる。
図6のA乃至Dは、図6のAに示されているパターンに対する、図6のB乃至Dのそれぞれに示されている90°、180°および270°の各ポジションでの例示的な回転パターンサーチングを示している。これらの原理に基づいた回転パターンサーチングは、この明細書において説明されているシフト動作を使用して得られた異なったポジションでの回転によりそのパターン中の回転シフトが検出されるように実施されることができる。
図7A乃至7Dは、本発明によるパターン認識を達成するときに使用されるデータおよびヘッダと、結果的に得られたデータフォーマットとを示しており、この結果的に得られたデータフォーマットはその後さらに圧縮されることができる。このデータおよびヘッダは、パターン整合を獲得するために本発明がどのようにして実施されるかを説明するときに、図8A乃至8Cのフローチャートと共に使用される。
図8A乃至8Cは本発明の好ましい実施形態のフローチャートを示している。ステップ10に示されているように、初期条件が設定される。これらの初期条件には、全体的な圧縮ターゲット比率、予め定められたカウント値、デフォルトサーチブロックサイズ、損失圧縮が関与する場合の損失割合、デフォルトパターン方向、垂直および水平の両サーチブロックトラバーサルオフセット、および垂直および水平ターゲットサーチエリアオフセットが含まれる。以下において、これらをそれぞれ若干詳しく説明する。
全体的な圧縮ターゲット比率は、ターゲットフレームの所望の全体的な圧縮である。この全体的な圧縮には本発明によるパターン認識によって得られた圧縮が含まれるが、発生するように意図された本発明の技術的範囲外のものである別の圧縮動作もまた含まれる。以下に説明するようにある状況において、非常に多数のパターンが認識された場合、ここに記載されているパターン認識は中止され、その代りに、上述された別の圧縮動作が全ての圧縮に対して使用される。たとえば、映画内のフレームのシーケンスにおいて、2つの隣接したフレームが完全に黒のイメージを(たとえば、導入部クレジットへのプリカーサとして)含んでいる場合、これら2つのイメージは事実上同じなので、全体的な圧縮ターゲット比率は超過されるであろう。
予め定められたカウント値は、サーチブロックを特定の方向にシフトしているスレッド、および整合を見出していないスレッドを終了させるために本発明によって使用される。とくに、基準ブロックのある最小のサーチエリアが、たとえば20%サーチされた後、おそらく、基準フレームのその20%のエリア内のサーチブロックの間のいくつかの整合により、ターゲットフレーム内のある数の整合は発見されているであろう。このようにして、予め定められたカウント値はこのカウントを設定するために使用されることができる。このカウントはゼロに設定されることができるが、それはまたある高い整数に設定されることができる。
デフォルトサーチブロックサイズ値は、デフォルトサーチブロックサイズに対してある値を提供する。特定のフレーム内において、2以上のサーチブロックサイズが使用された場合、たとえば、ビデオ情報を含むフレームブロックに対して1つのサーチブロックサイズが使用され、オーディオ情報を含むフレームブロックに対して別のサーチブロックサイズが使用された場合、適合されたサーチブロックサイズの数が規定される。
上述したように、本発明は無損失モードおよび損失モードの両方での動作であることができる。損失モードで動作しているとき、本発明は、損失割合の設定がここに記載されているパター認識動作内で許容されることのできる損失の量を決定することを可能にする。したがって、この損失割合は、初期条件として設定されることができるため、サーチブロックがターゲットフレームのサーチブロックエリアに関してその比較を行っているとき、同じものであるサーチブロックエリア内のビットの数がその損失割合に達した場合に整合が識別される。
デフォルトパターン方向初期条件は、デフォルトパターン方向以外のパターン方向が第1のスレッドに対して使用されることを決定する予測子スレッドの無いターゲットフレームをトラバースするために使用される方向に設定される。
サーチブロックトラバーサルオフセットはまた初期条件として設定される。オフセットの組合せは、異なったタイプのスレッドのそれぞれに対して存在していることが好ましい。たとえば、異なった組合せのサーチブロックトラバーサルオフセットは、異なった水平、垂直、対角線、および回転の各サーチのために使用されることができる。また、異なったサーチブロックトラバーサルオフセットは、あるフレームブロック内のビデオ情報および別のフレームブロック内のオーディオ情報のような異なったフレームブロック内の異なったタイプの情報をサーチしているときに使用されることができる。水平および垂直の両成分に関して設定されているオフセットは、前に使用されたサーチブロックがターゲットフレームのその比較を終了した後に新しいサーチブロックを獲得するために使用される基準フレーム内におけるシフト進行を決定する。種々の進行が使用されることができ、この進行は、ターゲットフレームとの見出される整合の可能性が増加するように、基準フレーム内の種々の可能なポジションのそれぞれに対応した最大数の異なったサーチブロックを含んでいることが好ましい。したがって、サーチブロックトラバーサルオフセットは、前のサーチブロックがターゲットフレームとの比較動作を行った後の基準フレーム内の次のサーチブロックの基準フレームおよびしたがって内容内におけるその位置を決定する。サーチブロックトラバーサルオフセットに基づいたサーチブロックの移動は、上述したように、ビット、マルチビット、バイト、またはマルチバイトであることができる。
ターゲットサーチエリアオフセットは、サーチブロックトラバーサルオフセットに類似した方式で設定される必要のあるオフセットである。このターゲットサーチエリアオフセットは、ターゲットフレームにおけるある特定のサーチブロックエリアとサーチブロックとの比較動作を行った後で特定のサーチブロックがターゲットフレーム内において移動される量を決定する。したがって、たとえば、水平方向に動作しているスレッドを使用して最初の比較動作が行われた後、その水平オフセットは、次の比較動作が行われることができるように、サーチブロックがターゲットフレーム内においてシフトされる量を決定する。その同じサーチブロックは、所定の行における全ての比較動作が行われるようにターゲットフレーム内においてシフトされた後、列オフセットによって決定されたように列方向にシフトされる。その後、上述したように、ターゲットフレーム内のサーチブロックの後続的な移動が水平オフセットに基づいて発生する。ターゲットサーチエリアオフセットに基づくサーチブロックのシフトは、上述したように、ビット、マルチビット、バイト、またはマルチバイトであることができる。
これらの初期条件を設定した後、動作は以下に説明するステップ12に続く。
ステップ12において、これが前に行われている場合、元のフレームはフレームブロックにフォーマット化され、第1のフレームは基準フレームに指定され、次のフレームはターゲットフレームとして指定される。
ステップ14において、元のフレームを解析する予測子スレッドが起動される。このような元のフレームは、上述したように本発明により使用されたときに、フレームデータに加えてヘッダ情報が処理中に追加され、この明細書の説明から明らかになるように、このヘッダ情報のあるものは保持されて最終的に符号化され、一方他のヘッダ情報は一時的に使用され、その後廃棄される。図7Aに示されているように、各フレームと関連付けられたフレームデータに加えて、基準フレーム番号またはフレームIDは、別のフレーム内におけるそのポインタがこのフレームを参照することができるように記憶される。次のフレームが配置されるメモリ中の場所へのポインタ(すなわち、次のフレームのフレームID)およびフレームサイズが追加され、各フレームに対するフレームデータと関連付けられる。フレームデータは、上述したように、マトリックスアレイにフォーマット化されることが好ましい。とくに、予測子スレッドは最初の基準フレームと後続するターゲットフレームとの間で、これらのフレームのいくつかの限られたエリアに対して、たとえば、20等のある数の比較を行う。とくに、比較は、基準フレームの異なった部分に基づいて行われ、異なったサイズのサーチブロックを使用して動作する。サーチブロックのサイズは大幅に変化することができ、異なったサイズの範囲は、フレームのサイズに応じて、8×8バイトから128×128バイトまたはそれ以上の潜在的に可能な範囲に及ぶ。一般に、フレームが大きくなると、使用されるサーチブロックサイズがそれだけ一層大きくなる。その結果、予測子スレッドは、最初のサーチブロックの好ましい移動方向、使用されるべき予測されるサーチブロックサイズ、および行われた比較において整合が発生したか否かを示す整合割合を決定することができる。
したがって、ステップ16において、予測子スレッドは少なくとも最初のターゲットフレームを解析しているので、最初の基準フレームと後続するターゲットフレームとの間の比較に関するスレッドが発生することができる。予測子スレッドは別の後続フレームに関して続行している期間中に、サーチ比較動作が最初の基準フレームと後続するターゲットフレームとの間で行われる。予測子スレッドは、以下に説明するように、その後追加される別のスレッドと並列にランしながら続行することが認識される。
上記に示されているように、予測子スレッドは予測された移動方向および予測されたサーチブロックサイズを獲得する。これらは、基準フレームとターゲットフレームとの間の比較のために設定された第1のスレッドに対する設定を開始するために使用される。さらに、予測子スレッドはまた、獲得されたサーチサンプルに基づいて整合割合を獲得する。したがって、たとえば、基準フレームからの20個の異なったサンプルが、好ましくは基準フレームの特定のエリアに対応した位置およびこれらのエリア(またはターゲットフレーム全体)の周囲のある境界で、ターゲットフレームに整合した場合、いくつかの予測整合が決定されることができる。典型的に、予測整合の数が少ない場合、2つのフレーム間の整合の対応した数はそれほど多くない可能性がある。対照的に、その割合が高く、たとえば、20個のサンプルのうちの14個が整合している等の場合には、フレームの間に多くの異なった整合エリアが存在している可能性がはるかに高くなる。これに関して、2つのフレームにおいて解析されているデータがビデオ情報のシーケンスであるとき、少ない数の予測整合はハイモーションシーケンスを示唆し、また、多くの数の予測整合はローモーションシーケンスを示唆する。予測整合の数または割合は、以下に説明するように、特定の移動方向に設定すべきスレッドの数を決定するために使用されることができる。
ステップ16が終了したとき、予測子スレッドがターゲットフレームに対して予測された移動方向および予測されたサーチブロックサイズに関する情報を提供したか否かが決定される。イエスならば、予測されたサーチブロックサイズおよび予測された移動方向は、設定されている最初のスレッドによって使用されるように渡される。否である場合には、設定されている最初のスレッドはデフォルトサーチブロックサイズおよびデフォルト予測移動方向を使用する。ステップ20が後続し、第1のスレッドが設定され、そのスレッドに対するサーチブロックサイズ、垂直および水平サーチブロックトラバーサルおよびターゲットサーチエリアオフセット、ならびに予測された移動方向もまた設定される。
ステップ24はこの第1のスレッドを開始し、ステップ26が後続する。
ステップ26に示されているように、サーチブロックカウンタは起動される。このサーチブロックカウンタは、比較されたサーチブロックとターゲットフレーム内の対応したサーチブロックエリアとの間の整合インスタンスの数を検出するために使用される。サーチブロックと対応したサーチブロックエリアとの間で行われた比較の数は知られているため、行われた比較の数に対するサーチブロックカウンタからのカウントの比は、獲得された整合の割合を示した。
ステップ26においてサーチブロックカウンタを初期化した後、ステップ28が後続し、サーチブロックが基準フレームの初期ポジションから得られる。その後、ステップ32が続く。上述したように、無損失比較に対してアンド演算を使用して、また、損失比較が行われている場合には、整合を決定するためにアンド、オア、乗算、除算およびその他の演算を使用して、整合が存在するかどうかを決定するために初期サーチポジションから得られたサーチブロックがターゲットフレーム内の最初のサーチエリアと比較される。
行われている比較のタイプおよび整合が見出されたか否かに応じて、ステップ34A、34Bまたは34Cが後続する。ステップ34Aにおいて、サーチブロックが整合して同じであり、全てのビットがターゲットフレームの対応したサーチブロックエリア内で見出されたサーチブロックであることを示した場合、サーチブロックカウンタはインクリメントされ、同じ整合が発生したことを示し、ターゲットフレームのサーチブロックエリアにおいてサーチブロックと基準フレームとの間の関係を示すリンクが生成される。しかしながら、損失比較動作が許されるならば、サーチブロックが損失範囲内で整合した場合、ステップ34Bによって示されるように、サーチブロックカウンタはまたインクリメントされ、ターゲットフレームのサーチブロックエリアにおいてサーチブロックと基準フレームとの間の関係を示すリンクが生成される。しかしながら、ステップ34Cにおいて、サーチブロックが損失範囲内で整合しなかった場合、その特定のサーチブロックに対するターゲットフレーム内のサーチブロックエリアはパターン無しとマークされる。したがって、基準フレームのサーチブロックとターゲットフレームのサーチブロックエリアとの間の不十分な関係が認められたために、これは、あたかも整合が存在しなかったかのように扱われ、そのサーチブロックとターゲットフレーム内の別のサーチブロックエリアとの間で比較プロセスが続行することとなる。
その目的を達成するために、サーチブロックがターゲットフレームをトラバースすることができるようにステップ36が後続し、サーチブロックがこのターゲットフレーム内の次のサーチポジションにシフトされる。これは、上述されたターゲットサーチエリアオフセットを使用して行われる。したがって、たとえば、最初のスレッドが水平方向にサーチするように設定され、水平方向内の行の最後に到達しなかった場合、サーチブロックをターゲットフレーム内の次の隣接したポジションに移動するために水平ターゲットサーチエリアオフセットが使用される。
その後、ステップ38が続き、このステップは、見出された整合のタイプおよび許される整合動作のタイプに応じて再び使用される。サーチブロックが整合して同じである場合、ステップ38Aはサーチブロックカウンタをインクリメントし、ターゲットフレームのサーチブロックエリアにおいてサーチブロックと基準フレームとの間の関係を示すリンクを生成する。しかしながら、サーチブロックが損失範囲内で整合し、損失が許される場合、この比較の結果は、ステップ38B1または38B2のいずれかにより説明されるように、前のサーチポジションから得られた結果と比較される。ステップ38B1において、現在の損失範囲内の結果が前のサーチブロックエリアから得られた前の損失範囲からの結果以下である場合、この特定のサーチブロックエリアはパターンを有しないものとして記録される。しかしながら、現在の損失範囲内の結果が前の損失範囲からの結果より大きい場合には、ステップ38B2において、リンクが生成され、前のリンクは破壊される。その後、ステップ38A、ステップ38B1または38B2のいずれが使用されたかにかかわらず、ステップ40が後続する。
ステップ40において、とくに終了されない限り、ターゲットフレーム全体がサーチされるまで、シフトおよびサーチステップが繰返される。ターゲットフレーム全体がサーチされたとき、新しいサーチブロックは、サーチブロックトラバーサルオフセットを使用してサーチブロックをシフトすることによって獲得され、このシフトは、そのスレッドが終了するまで繰返される。サーチブロック位置を維持するために、基準フレーム内のサーチブロックの初期ポジションの位置決めを行う開始ポジションオフセットが使用されることもまた認識される。さらに、サーチ動作の終りに、特定のサーチブロックを使用して、次のサーチブロックが獲得され、その同じスレッドを使用して操作される。以下説明するように、別のスレッドが生成された結果、基準フレーム内のサーチブロックポジションの移動に対する終了ポジションが獲得され、したがってスレッドの終了が行われる。
シフトおよびサーチ動作が行われている期間中、多数の整合が発生した場合、とくに、オフセットが単一ビットの列または単一ビットの行である場合に、フレームブロック内のサーチを続行する必要のないことが認められている。したがって、ステップ42に示されているように、所定のフレームブロック内で発生する同じ整合の数がユーザにより予め設定されている場合、サーチブロックの次のシフトは、オフセットによって決定されるのではなく、ターゲットフレーム内の次のフレームブロックの初期ポジションに移動されるものとなる。ターゲットフレーム内の次のフレームブロック内においてさらにサーチが行われる代りに、その特定のフレームブロックのその初期ポジションで整合が生じた場合、ターゲットフレーム内の後続する次のフレームブロックへの移動が繰返されることができる。各フレームブロックの第1のポジションのそれぞれにおいて整合が発生した場合、これは、これらの隣接したフレームブロックの初期ポジションの間の対応したビットポジションの全てもまた、高い確実性で整合することを示す。
以下に説明するステップ44乃至50は、シフトおよびサーチ動作が行われている最中に行われる。なお、これらのステップはこの明細書において説明を容易にするために示されたものであり、それらまたはここに記載されている他のステップはこの記載のオーダーポジションで行われる必要のないことが認識されるであろう。
記載されているように、ステップ44において、ターゲットフレーム中におけるターゲットサーチエリアのシフトがターゲットフレームのエッジにおけるものであり、また、単一ビットポジションより大きい(単一ビットの行または単一ビットの列だけのシフトの場合、重複は生じないため)場合、ターゲットフレームのターゲットサーチエリアは、そのターゲットサーチエリアがターゲットフレームによって充填されない位置に対応した位置に空ビットポジションを有することになる。したがって、このように状況では、サーチブロックはまた、それが同じサイズの対応したターゲットサーチエリアと比較されるようにゼロを埋込まれる。
ステップ46、48および50は、設定されている特定のスレッドを終了するために使用されることのできる3つの異なったタイプのステップを記述している。以下に説明するように、異なったサーチと共に多数のスレッドが並列に動作している。無効である(整合が見出されていない)スレッドのあるものを終了するために、ステップは無効なスレッドを終了するために使用される。ステップ46により記述されているように、基準フレームの20%のサーチのような、基準フレームの最小のサーチエリアがサーチされた後、別の方向スレッドがこのスレッドの方向に対応したスレッド以上のイールド(yields)を発生している場合、この特定のスレッドおよび同じ対応した方向移動を有する別のスレッドは終了される。
幾分類似した操作では、ステップ48において、最小のサーチエリアがカバーされた後、同じ方向にサーチする全てのスレッドが、ゼロまたは上述したように初期条件において設定されたゼロより高いある数であることができるある予め定められたカウント値より低い値を生成した場合、この特定のサーチ方向を有する全てのスレッドが終了される。
最後に、初期条件に関して上述した全体的な圧縮ターゲット比率が満足された場合、現在のスレッドを含む全てのスレッドは終了される。ステップ50に関して、結果的にステップ50が行われた場合、ターゲットフレームはその元の状態で保存され、ステップ62が以下に説明するように後続する。上述したように、本発明によるパターン整合が必要とされず、また、本発明の技術的範囲外である後続する圧縮ルーチンが使用されることができるため、ターゲットフレームはその元の状態で保存される。
上記のステップ40によって述べられたように、スレッドが終了すると、ステップ52が後続し、そのスレッドからのデータが、好ましくは整合した比較されたブロックを含むリンクされたリストとしてファイルに書込まれる。これは、減少されたフレームヘッダおよびリンクリストブロックデータを示している図7Bおよび7Dにより示されている。減少されたフレームに対するデータの識別された各部分はこれらの記載された動作に関する目的にかない、上述したように、ここに記載されている動作の期間中に更新され、使用される情報を含んでいる。フレームIDは、タイプOフレームに対する基準フレーム番号と同じである。次の基準またはキーフレームに対するポインタおよび減少されたRフレームに対するポインタは、潜在的に後続するフレームに関する動作の結果、それらの位置が決定されたときに追加されることができる。フレーム内の減少されたフレームブロックの数は、動作状態を追跡するために使用されることができる。その後、図7Bおよび7Cに示されているデータのブロックはフレーム内の各フレームブロックに対して反復し、これらのブロックは、
・次のRフレームブロックに対するポインタと、
・Rフレームに対するIDまたは基準番号と、
・損失または無損失整合のいずれが行われたのかを示し、損失整合ならば、システムがここに記載されているステップをさらに迅速に処理することを可能にするのを支援するために使用された場合に有益なものとなることのできる損失割合を示す整合タイプと、
・フレームブロックサイズと、
・ターゲットフレームの整合されたブロック座標とを含んでおり、このターゲットフレームの整合されたブロック座標は、その内容が図7Cにさらに詳細に示されており、また整合が見出されたターゲットサーチエリアの位置だけでなく、サーチブロックのサイズおよび位置の両方もまた示している。示されているように、これらの座標は、第1、第2、および第nの位置決定されたターゲットサーチエリアポジションを有するリンクされたリストであり、そのサーチブロックに対して整合が生じた(損失または無損失にかかわらず)ターゲットフレーム内の場所を示している。その後、これは各サーチブロックに対して繰返される。
その後、ステップ46、48および50が生成されているスレッドを終了したことを記述すると、ステップ54はスレッド生成のプロセスを記述する。とくに、上述されているように第1のスレッドを設定した直後、次のブロックサーチオフセットおよび方向もまた予測スレッドから上述したように決定され、新しいスレッドが設定される。この新しいスレッドの設定に関して、いくつかの考慮事項が使用される。これらには、好ましい順序ではないが、以下が含まれる:
・一般に、別のスレッドを異なった方向に設定する前に、新しいスレッドが前に設定されたスレッドから間隔を隔ててこれと同じ方向に設定される;
・新しいスレッドは典型的なデータについては100キロバイトのデータごとに設定される。もっとも、ハイモーションビデオに対しては、50キロバイトのデータごとに新しいスレッドが設定されることが好ましい(ローモーションビデオとハイモーションビデオとの相違が上述の予測スレッドから得られる);
・予測スレッドに基づいてサーチされた初期方向に対応したスレッドを設定した後、スレッドをサーチする典型的なデフォルト順序は水平、垂直、対角線、およびその後回転である;
・設定されるスレッドの数は本質的にプロセッサ制限されるので、設定されるスレッドの数は使用されるプロセッサの制約により制限される。したがって、ステップ56によって示されているように、追加の各スレッドに対して、ステップ22乃至52が繰返される。
ステップ58によって示されているように、前に並列にランしていたいくつかのスレッドに関して、全てのスレッドが終了された場合、ステップ60が後続する。その他の場合には、異なったシフト、サーチならびにスレッド生成および終了動作、および関連したステップが上述のように続く。
ステップ60において、基準フレームのサーチブロックとターゲットフレームのサーチブロックエリアとの間の整合として見出された比較されたブロックの結果として得られたリンクされたリストは、その後、整合されたデータを表すスーパーセットブロックを獲得するために更新される。とくに、図7Cに示されている第1、第2、および第nの位置決定されたターゲットフレームサーチエリアポジションはスーパーセットブロックを獲得するために崩壊させられる。したがって、いくつかの異なった比較的小さいサイズの整合したブロックが前に存在していたかもしれないが、これらの小さいブロックの間に重複が存在している限り、大きいスーパーセットブロック(必ずしもブロックの形状を有している必要はない)が見出されることができる。
ステップ62において、スーパーセットブロックを獲得した後、データは再び、好ましくは、基準フレームとターゲットフレームとの間の整合を示すリンクリストの形態で更新され、更新されたデータはこの形態でファイルに保存される。その後、ステップ64において、ターゲットフレームは基準フレームとして設定され、ステップ66において、別のフレームが存在する場合、その別のフレームは、ステップ20乃至66が繰返されることができるように、新しいターゲットフレームとして設定される。その後、ステップ68によって示されているように、別のフレームが存在しない場合、プロセスは終了する。したがって、図7Dに示されているように、元のフレームおよび減少されたフレームを含むデータのストリームが結果的に得られる。
上記に関して、多くの変形が可能であることが認識される。たとえば、ステップが実施される順序が変更されることができる。また、たとえば、データがプロセス中の種々のポイントで追跡される方法が変更可能であり、リストされたリンクまたは2進ツリーが使用されることが好ましいが、別のデータ記憶方式が実施されることができる。
図9Aは、無損失整合した場合に同一であるターゲットブロックに整合するサーチブロックの例示的なパターンを示している。図9Bは、この例では90%の、許される損失割合の範囲内の例示的なターゲットブロックを示している。
上記において、損失および無損失の両パターン認識技術が記載され、サーチブロックとサーチエリアとの比較がアンド演算を使用して行われた。無損失パターン認識およびアンド演算またはその論理的に等価なものに関して、これらは無損失圧縮のために必要であるが、実際には、排他的オア,オア、減算または乗算のような別の演算によりもっと良好な結果が得られる可能性がある。
図1に戻ると、上述した演算はコンピュータ180の任意の1つにおいて行われることができ、結果的に得られたストリームはさらに符号化される。このようなさらなる符号化は、たとえば、2000年11月29日に出願され、その権利が本出願人に譲渡された米国特許出願第09/727,096号明細書(“Method And Apparatus For Encoding Information Using Multiple Passes And Decoding In A Single Pass”)に記載されている多重パス符号化、または別の符号化プロセスを使用することができる。ひとたび完全に符号化されると、図1に示されているコンピュータ140のようなあて先装置に送られ、符号化の逆である復号が使用され、その復号プロセスの最後のステップとして、リンクされたリストおよびここに記載されているようなポインタを使用することにより、本発明を使用した結果得られるOフレームとRフレームの組合せからOフレームの元のセットが再生されることができる。認識されたパターンに基づいてリンクされたリストを獲得することに関するこの明細書における詳細な説明を考慮して、当業者は、この圧縮されたデータセットからの元のデータセットが、Oフレームとして保存されているOフレーム内に存在する元のデータを使用してデータを拡張(expansion)することにより再生され獲得されることができることを認識するであろう。
上記には種々の好ましい実施形態が詳細に記載されているが、当業者は、例示的な実施形態の多くの修正が本発明の新しい教示および利点から実質的に逸脱することなく可能であることを容易に認識するであろう。
本発明のブロック図。 本発明によるフレームにフォーマット化された例示的なデジタルデータの概略図。 本発明によるフレームにフォーマット化された例示的なデジタルデータの概略図。 本発明によるフレームにフォーマット化された例示的なデジタルデータの概略図。 本発明によるフレームにフォーマット化された例示的なデジタルデータの概略図。 本発明によるフレームにフォーマット化された例示的なデジタルデータの概略図。 本発明にしたがって動作されたデータのフレーム内のマスターブロックおよびサーチブロックの詳細図。 最初のOフレームマスターブロック内の例示的な最初のサーチブロック、後続するOフレームマスターブロック内の対応した最初のサーチエリア、ならびに本発明にしたがって使用される垂直、水平および対角線パターンサーチ方向を示す概略図。 例示的なビデオデータストリームフレーム内の後続するOフレームマスターブロックの一部と、その上で動作する例示的なサーチブロックとを示す概略図。 本発明にしたがって使用される例示的な回転パターンサーチングを示す概略図。 本発明によるパターン認識を行って、その結果、後でさらに圧縮されることのできるデータフォーマットを獲得するときに使用されるデータおよびヘッダを示す概略図。 本発明によるパターン認識を行って、その結果、後でさらに圧縮されることのできるデータフォーマットを獲得するときに使用されるデータおよびヘッダを示す概略図。 本発明によるパターン認識を行って、その結果、後でさらに圧縮されることのできるデータフォーマットを獲得するときに使用されるデータおよびヘッダを示す概略図。 本発明によるパターン認識を行って、その結果、後でさらに圧縮されることのできるデータフォーマットを獲得するときに使用されるデータおよびヘッダを示す概略図。 本発明の好ましい実施形態によるパターン認識システムの全体的な動作を示すフロー図。 本発明の好ましい実施形態によるパターン認識システムの全体的な動作を示すフロー図。 本発明の好ましい実施形態によるパターン認識システムの全体的な動作を示すフロー図。 本発明の1実施形態による代表的なサーチブロックを示す概略図。 本発明の1実施形態による損失ターゲットブロックを示す概略図。

Claims (276)

  1. 各フレームが複数のビットから構成されている複数の順次フレームのビットサイズを圧縮する方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較し、基準フレームは最初は複数の順次フレームの初期フレームに設定されており、ターゲットフレームは最初は複数の順次フレームの後続フレームに設定されており、
    圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用し、
    その後、ターゲットフレームであった後続フレームを基準フレームとして再度指定し、そのターゲットフレームを後続フレームに後続する別の後続フレームとして再度指定し、
    比較および使用ステップを繰返すステップを含んでいる方法。
  2. 比較および使用ステップが行われている期間中に、残っている複数の順次フレームのそれぞれが一度ターゲットフレームになるように、再度指定し、繰返すステップを繰返すステップをさらに含んでいる請求項1記載の方法。
  3. 圧縮されたターゲットフレームの表現は、リンクされたリストを使用する請求項1記載の方法。
  4. 比較するステップは、
    第1のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを水平方向にトラバースし、
    第2のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを垂直方向にトラバースするステップを含んでいる請求項1記載の方法。
  5. 比較するステップは、第3のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを対角線方向にトラバースするステップを含んでいる請求項4記載の方法。
  6. 比較するステップはさらに、第4のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと異なった回転ポジションで比較するためにターゲットフレームをトラバースするステップを含んでいる請求項5記載の方法。
  7. 第1のグループ、第2のグループ、第3のグループおよび第4のグループをトラバースするステップは、並列動作で動作される請求項6記載の方法。
  8. 第1のグループ、第2のグループ、第3のグループおよび第4のグループの1つをトラバースするステップを、第1のグループ、第2のグループ、第3のグループおよび第4のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項7記載の方法。
  9. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項7記載の方法。
  10. 予め定められた数は1である請求項9記載の方法。
  11. 整合は、同じ整合である必要がある請求項9記載の方法。
  12. 整合は、損失を生じせることができる請求項9記載の方法。
  13. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項7記載の方法。
  14. 第1のグループ、第2のグループ、第3のグループをトラバースするステップは、並列動作で行われる請求項5記載の方法。
  15. 第1のグループ、第2のグループおよび第3のグループの1つをトラバースするステップを、第1のグループ、第2のグループおよび第3のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項14記載の方法。
  16. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項14記載の方法。
  17. 予め定められた数は1である請求項16記載の方法。
  18. 整合は、同じ整合である必要がある請求項16記載の方法。
  19. 整合は、損失を生じせることができる請求項16記載の方法。
  20. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項14記載の方法。
  21. 第1のグループおよび第2のグループをトラバースするステップは、並列動作で行われる請求項4記載の方法。
  22. 第1のグループおよび第2のグループの一方をトラバースするステップを、第1のグループおよび第2のグループの他方をトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項21記載の方法。
  23. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項21記載の方法。
  24. 予め定められた数は1である請求項23記載の方法。
  25. 整合は、同じ整合である必要がある請求項23記載の方法。
  26. 整合は、損失を生じせることができる請求項23記載の方法。
  27. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項21記載の方法。
  28. トラバースするステップにおいて、ターゲットフレーム内の順次の異なったポジションが互いに重複するようにターゲットフレームがトラバースされる請求項4記載の方法。
  29. 順次の異なったポジションは、多くても予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項28記載の方法。
  30. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項29記載の方法。
  31. ターゲットフレームを水平方向にトラバースするステップおよびターゲットフレームを垂直方向にトラバースするステップの少なくとも一方において、ターゲットフレーム全体がトラバースされる請求項4記載の方法。
  32. ターゲットフレーム全体を水平方向にトラバースするステップにおいて、ターゲットフレーム内の異なった垂直ポジションにおいて水平方向におけるパスが繰返され、
    ターゲットフレーム全体を垂直方向にトラバースするステップにおいて、ターゲットフレーム内の異なった水平ポジションにおいて垂直方向におけるパスが繰返される請求項31記載の方法。
  33. ターゲットフレーム内の隣接した異なった垂直ポジションおよび隣接した異なった水平ポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項32記載の方法。
  34. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項33記載の方法。
  35. トラバースする各ステップは、異なったプロセッサスレッドを使用して行われる請求項32記載の方法。
  36. トラバースする各ステップは、複数の異なったプロセッサスレッドを使用して実施される請求項35記載の方法。
  37. 基準フレームビデオデータをターゲットフレームビデオデータと比較するステップにおいて少なくとも1つのビデオプロセッサスレッドが使用され、少なくとも1つのオーディオプロセッサスレッドが基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために使用される請求項1記載の方法。
  38. 基準フレームビデオデータをターゲットフレームビデオデータと比較し、基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために、比較するステップにおいて少なくとも1つのプロセッサスレッドが使用される請求項1記載の方法。
  39. 使用するステップにおいて、損失を生じることなく元の状態と比較して圧縮されたターゲットフレームの表現が獲得される請求項1記載の方法。
  40. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項1記載の方法。
  41. 使用するステップにおいて、損失を生じることなく元の状態と比較して圧縮されたターゲットフレームの表現が獲得される請求項1記載の方法。
  42. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項41記載の方法。
  43. 比較するステップにおいて、サーチブロックはオア演算を使用してターゲットフレームと比較される請求項41記載の方法。
  44. 比較するステップにおいて、サーチブロックは排他的オア演算を使用してターゲットフレームと比較される請求項41記載の方法。
  45. 比較するステップにおいて、サーチブロックは加算演算を使用してターゲットフレームと比較される請求項41記載の方法。
  46. 比較するステップにおいて、サーチブロックは減算演算を使用してターゲットフレームと比較される請求項41記載の方法。
  47. 比較するステップにおいて、サーチブロックは乗算演算を使用してターゲットフレームと比較される請求項41記載の方法。
  48. 比較するステップにおいて、サーチブロックは除算演算を使用してターゲットフレームと比較される請求項41記載の方法。
  49. 使用するステップは、表現に対して使用されるスーパーセットブロックを獲得するために複数の比較されたブロックの重複したものを組合せる請求項1記載の方法。
  50. 比較するステップは、サーチブロックとターゲットフレーム内に存在する対応したターゲットブロックとの間の同じ整合を表す比較されたブロックを追跡するステップを含んでいる請求項1記載の方法。
  51. 追跡するステップは、基準フレームとターゲットフレームとの間において達成可能な圧縮の量の動的表示を提供するために使用され、比較するステップは、圧縮ターゲット比率を選択するステップをさらに含んでいる請求項50記載の方法。
  52. 比較するステップは、ターゲットフレームに関して圧縮ターゲット比率に達したことを動的表示が示したときに中止される請求項50記載の方法。
  53. 比較するステップは、表現内で許容されることのできる損失の所望の量を選択するステップをさらに含んでいる請求項52記載の方法。
  54. 比較されたブロックは、ターゲットブロック内のビットの割合が所望の損失量に少なくとも等しい場合に、サーチブロックと同じであるとみなされる請求項53記載の方法。
  55. 比較するステップは、表現内で許容されることのできる損失の量を選択するステップをさらに含んでいる請求項1記載の方法。
  56. 比較するステップは、
    サーチブロックとターゲットフレームとの間の整合の可能性の推定値を獲得するために予測プロセッサスレッドを起動し、
    基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して複数の比較されたブロックを獲得するために使用される少なくとも1つの比較プロセッサスレッドにこの推定値を送付するステップを含んでいる請求項1記載の方法。
  57. 比較するステップにおいて、比較はビットレベルで行われる請求項1記載の方法。
  58. 比較するステップにおいて、比較はバイトレベルで行われる請求項1記載の方法。
  59. ターゲットフレーム中に存在する冗長なパターンのリンクされたリストを基準フレームから獲得し、基準フレームおよびターゲットフレームがそれぞれ複数のビットから構成されている方法において、
    基準フレームの複数のサーチブロック部分のそれぞれをターゲットフレーム内の複数の位置と比較して複数の整合を決定し、
    各整合に対して、サーチブロック部分にリンクされた位置識別子によりその整合に対応したターゲットフレームのその部分を表すステップを含んでいる方法。
  60. 比較するステップは、
    サーチブロックとターゲットフレームとの間の整合の可能性の推定値を獲得するために予測プロセッサスレッドを起動し、
    基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して複数の比較されたブロックを獲得するために使用される少なくとも1つの比較プロセッサスレッドにこの推定値を送付するステップを含んでいる請求項59記載の方法。
  61. 別のターゲットフレームを獲得し、
    基準フレームの複数のサーチブロック部分のそれぞれを別のターゲットフレーム内の複数の位置と比較して複数の整合を決定し、
    各整合に対して、サーチブロック部分にリンクされた位置識別子によりその整合に対応した別ののターゲットフレームのその部分を表すステップをさらに含んでいる請求項59記載の方法。
  62. 基準フレームのサーチブロック部分と整合しないターゲットフレームの位置は、ターゲットフレームに関連した残っているデータとして保存される請求項61記載の方法。
  63. 基準フレームのサーチブロック部分と整合しない別のターゲットフレームの位置は、別のターゲットフレームに関連した残っているデータとして保存される請求項62記載の方法。
  64. 比較するステップにおいて、損失を生じることなく比較が行われる請求項59記載の方法。
  65. 基準フレームのサーチブロック部分と整合しないターゲットフレームの位置は、ターゲットフレームに関連した残っているデータとして保存される請求項64記載の方法。
  66. 比較するステップにおいて、損失の導入が許容されて比較が行われる請求項59記載の方法。
  67. 許容された損失割合の範囲内の基準フレームのサーチブロック部分と整合しないターゲットフレームの位置は、ターゲットフレームに関連した残っているデータとして保存される請求項66記載の方法。
  68. ターゲットフレーム内の複数の位置はターゲットフレーム全体のトラバーサルを構成しており、基準フレーム内の複数のサーチブロック位置は基準フレーム全体のトラバーサルを構成している請求項59記載の方法。
  69. 各フレームは、あるイメージを表す複数のビットを含んでいる請求項59記載の方法。
  70. 各フレームは、オーディオを表す別の複数のビットを含んでいる請求項69記載の方法。
  71. 比較するステップにおいて、比較はビットレベルで行われる請求項59記載の方法。
  72. 比較するステップにおいて、比較はバイトレベルで行われる請求項59記載の方法。
  73. 比較するステップは、
    第1のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを水平方向にトラバースし、
    第2のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを垂直方向にトラバースするステップを含んでいる請求項59記載の方法。
  74. 比較するステップは、第3のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを対角線方向にトラバースするステップを含んでいる請求項73記載の方法。
  75. 第1のグループ、第2のグループ、第3のグループをトラバースするステップは、並列動作で行われる請求項74記載の方法。
  76. 第1のグループ、第2のグループおよび第3のグループの1つをトラバースするステップを、第1のグループ、第2のグループおよび第3のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項75記載の方法。
  77. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項75記載の方法。
  78. 予め定められた数は1である請求項77記載の方法。
  79. 整合は、同じ整合である必要がある請求項77記載の方法。
  80. 整合は、損失を生じせることができる請求項77記載の方法。
  81. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項75記載の方法。
  82. 第1のグループおよび第2のグループをトラバースするステップは、並列動作で行われる請求項73記載の方法。
  83. 第1のグループおよび第2のグループの一方をトラバースするステップを、第1のグループおよび第2のグループの他方をトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項82記載の方法。
  84. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項82記載の方法。
  85. 予め定められた数は1である請求項84記載の方法。
  86. 整合は、同じ整合である必要がある請求項84記載の方法。
  87. 整合は、損失を生じせることができる請求項84記載の方法。
  88. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項82記載の方法。
  89. トラバースするステップにおいて、ターゲットフレーム内の順次の異なったポジションが互いに重複するようにターゲットフレームがトラバースされる請求項73記載の方法。
  90. 順次の異なったポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項89記載の方法。
  91. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項90記載の方法。
  92. ターゲットフレームを水平方向にトラバースするステップおよびターゲットフレームを垂直方向にトラバースするステップの少なくとも一方において、ターゲットフレーム全体がトラバースされる請求項73記載の方法。
  93. ターゲットフレーム全体を水平方向にトラバースするステップにおいて、ターゲットフレーム内の異なった垂直ポジションにおいて水平方向におけるパスが繰返され、
    ターゲットフレーム全体を垂直方向にトラバースするステップにおいて、ターゲットフレーム内の異なった水平ポジションにおいて垂直方向におけるパスが繰返される請求項92記載の方法。
  94. ターゲットフレーム内の隣接した異なった垂直ポジションおよび隣接した異なった水平ポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項93記載の方法。
  95. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項94記載の方法。
  96. トラバースする各ステップは、異なったプロセッサスレッドを使用して実施される請求項93記載の方法。
  97. トラバースする各ステップは、複数の異なったプロセッサスレッドを使用して実施される請求項96記載の方法。
  98. 基準フレームビデオデータをターゲットフレームビデオデータと比較するステップにおいて少なくとも1つのビデオプロセッサスレッドが使用され、少なくとも1つのオーディオプロセッサスレッドが基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために使用される請求項59記載の方法。
  99. 基準フレームビデオデータをターゲットフレームビデオデータと比較し、基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために、比較するステップにおいて少なくとも1つのプロセッサスレッドが使用される請求項59記載の方法。
  100. 各フレームが水平、垂直および対角線方向にトラバースされることのできるマトリックスアレイに配列された複数のビットから構成されている複数の順次のフレーム内のパターンをサーチする方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームははじめに、複数の順次フレームの後続フレームに設定されており、比較するステップは、
    少なくとも第1のグループのサーチブロックをターゲットフレーム内の対応した水平方向のターゲットブロックと比較するためにターゲットフレームを水平方向にトラバースし、
    少なくとも第2のグループのサーチブロックをターゲットフレーム内の対応した垂直方向のターゲットブロックと比較するためにターゲットフレームを垂直方向にトラバースするステップを含んでおり、第2のグループのサーチブロックは第1のグループのサーチブロックと異なっていても異なっていなくてもよい方法。
  101. 水平方向および垂直方向にトラバースした結果としてターゲットフレームと基準フレームとの間に十分な数の比較が見出されたか否かを決定し、
    十分な数の比較が存在することが決定されなかった場合、第1および第2のグループのサーチブロックのグループと異なっていても、あるいは異なっていなくてもよい第3のグループのサーチブロックのグループをターゲットフレーム内の対応した対角線ターゲットブロックと比較するためにターゲットフレームを対角線方向にトラバースするステップをさらに含んでいる請求項100記載の方法。
  102. 比較するステップは複数の順次フレームについて繰返され、
    ターゲットフレームであった後続フレームを基準フレームとして再度指定し、後続フレームに後続する別の後続フレームをターゲットフレームとして再度指定し、
    比較するステップを繰返すステップをさらに含んでいる請求項100記載の方法。
  103. 後続フレームに後続する別の後続フレームをターゲットフレームとして再度指定し、
    比較するステップが行われている期間中に、残っている複数の順次フレームのそれぞれが一度ターゲットフレームになるように、再度指定し、繰返すステップを反復するステップをさらに含んでいる請求項100記載の方法。
  104. 基準フレームは同じままである請求項103記載の方法。
  105. 比較するステップは、第3のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを対角線方向にトラバースするステップを含んでいる請求項100記載の方法。
  106. 比較するステップはさらに、第4のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと異なった回転ポジションで比較するためにターゲットフレームをトラバースするステップを含んでいる請求項105記載の方法。
  107. 第1のグループ、第2のグループ、第3のグループおよび第4のグループをトラバースするステップは、並列動作で行われる請求項106記載の方法。
  108. 第1のグループ、第2のグループ、第3のグループおよび第4のグループの1つをトラバースするステップを、第1のグループ、第2のグループ、第3のグループおよび第4のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項107記載の方法。
  109. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項107記載の方法。
  110. 予め定められた数は1である請求項109記載の方法。
  111. 整合は、同じ整合である必要がある請求項109記載の方法。
  112. 整合は、損失を生じせることができる請求項109記載の方法。
  113. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項109記載の方法。
  114. 第1のグループ、第2のグループ、第3のグループをトラバースするステップは、並列操作で動作される請求項105記載の方法。
  115. 第1のグループ、第2のグループおよび第3のグループの1つをトラバースするステップを、第1のグループ、第2のグループおよび第3のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項114記載の方法。
  116. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項114記載の方法。
  117. 予め定められた数は1である請求項116記載の方法。
  118. 整合は、同じ整合である必要がある請求項116記載の方法。
  119. 整合は、損失を生じせることができる請求項116記載の方法。
  120. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項114記載の方法。
  121. 第1のグループおよび第2のグループをトラバースするステップは、並列操作で動作される請求項100記載の方法。
  122. 第1のグループおよび第2のグループの一方をトラバースするステップを、第1のグループおよび第2のグループの他方をトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項121記載の方法。
  123. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項121記載の方法。
  124. 予め定められた数は1である請求項123記載の方法。
  125. 整合は、同じ整合である必要がある請求項123記載の方法。
  126. 整合は、損失を生じせることができる請求項123記載の方法。
  127. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項121記載の方法。
  128. トラバースするステップにおいて、ターゲットフレーム内の順次の異なったポジションが互いに重複するようにターゲットフレームがトラバースされる請求項100記載の方法。
  129. 順次の異なったポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項128記載の方法。
  130. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項129記載の方法。
  131. ターゲットフレームを水平方向にトラバースするステップおよびターゲットフレームを垂直方向にトラバースするステップの少なくとも一方において、ターゲットフレーム全体がトラバースされる請求項100記載の方法。
  132. ターゲットフレーム全体を水平方向にトラバースするステップにおいて、ターゲットフレーム内の異なった垂直ポジションにおいて水平方向におけるパスが繰返され、
    ターゲットフレーム全体を垂直方向にトラバースするステップにおいて、ターゲットフレーム内の異なった水平ポジションにおいて垂直方向におけるパスが繰返される請求項131記載の方法。
  133. ターゲットフレーム内の隣接した異なった垂直ポジションおよび隣接した異なった水平ポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項132記載の方法。
  134. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項133記載の方法。
  135. トラバースする各ステップは、異なったプロセッサスレッドを使用して実施される請求項132記載の方法。
  136. トラバースする各ステップは、複数の異なったプロセッサスレッドを使用して実施される請求項135記載の方法。
  137. 基準フレームビデオデータをターゲットフレームビデオデータと比較するステップにおいて少なくとも1つのビデオプロセッサスレッドが使用され、少なくとも1つのオーディオプロセッサスレッドが基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために使用される請求項100記載の方法。
  138. 基準フレームビデオデータをターゲットフレームビデオデータと比較し、基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために、比較するステップにおいて少なくとも1つのプロセッサスレッドが使用される請求項100記載の方法。
  139. 損失を生じることなく圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用するステップをさらに含んでいる請求項100記載の方法。
  140. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項100記載の方法。
  141. 使用するステップにおいて、損失を導入することにより元の状態と比較して圧縮されたターゲットフレームの表現が獲得される請求項100記載の方法。
  142. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項141記載の方法。
  143. 比較するステップにおいて、サーチブロックはオア演算を使用してターゲットフレームと比較される請求項141記載の方法。
  144. 比較するステップにおいて、サーチブロックは排他的オア演算を使用してターゲットフレームと比較される請求項141記載の方法。
  145. 比較するステップにおいて、サーチブロックは加算演算を使用してターゲットフレームと比較される請求項141記載の方法。
  146. 比較するステップにおいて、サーチブロックは減算演算を使用してターゲットフレームと比較される請求項141記載の方法。
  147. 比較するステップにおいて、サーチブロックは乗算演算を使用してターゲットフレームと比較される請求項141記載の方法。
  148. 比較するステップにおいて、サーチブロックは除算演算を使用してターゲットフレームと比較される請求項141記載の方法。
  149. 圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用するステップをさらに含んでおり、この使用するステップにおいて、表現に対して使用されるスーパーセットブロックを獲得するために複数の比較されたブロックの重複したものが組合せられる請求項100記載の方法。
  150. 比較するステップは、サーチブロックとターゲットフレーム内に存在する対応したターゲットブロックとの間の同じ整合を表す比較されたブロックを追跡するステップを含んでいる請求項100記載の方法。
  151. 追跡するステップは、基準フレームとターゲットフレームとの間において達成可能な圧縮の量の動的表示を提供するために使用され、比較するステップは、圧縮ターゲット比率を選択するステップをさらに含んでいる請求項150記載の方法。
  152. 比較するステップは、ターゲットフレームに関して圧縮ターゲット比率に達したことを動的表示が示したとき、中止される請求項150記載の方法。
  153. 比較するステップは、表現内で許容されることのできる損失の所望の量を選択するステップをさらに含んでいる請求項152記載の方法。
  154. 比較されたブロックは、ターゲットブロック内のビットの割合が所望の損失量に少なくとも等しい場合、サーチブロックと同じであるとみなされる請求項153記載の方法。
  155. 比較するステップは、表現内で許容されることのできる損失の量を選択するステップをさらに含んでいる請求項100記載の方法。
  156. 比較するステップは、
    サーチブロックとターゲットフレームとの間の整合の可能性の推定値を獲得するために予測プロセッサスレッドを始動し、
    基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して複数の比較されたブロックを獲得するために使用される少なくとも1つの比較プロセッサスレッドにこの推定値を送るステップを含んでいる請求項100記載の方法。
  157. 比較するステップにおいて、比較はビットレベルで行われる請求項100記載の方法。
  158. 比較するステップにおいて、比較はバイトレベルで行われる請求項100記載の方法。
  159. 各フレームがマトリックスアレイに配列された複数のビットから構成されている複数の順次フレーム内のパターンをサーチする方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較ステップを含んでおり、基準フレームは複数の順次フレームの初期フレームに設定されており、ターゲットフレームは最初、複数の順次フレームの後続フレームに設定されており、この比較するステップは、
    サーチブロックをターゲットフレーム内の対応したターゲットブロックと比較するためにターゲットフレームを複数の異なった方向にトラバースするステップを含んでおり、このトラバースするステップは、並列に処理される複数の異なったスレッドを起動するステップを含んでおり、異なった各スレッドは異なったサーチブロックおよび異なった方向の少なくとも一方に関して動作し、
    そのトラバーサルの結果としてターゲットフレームと基準フレームとの間に十分な数の整合が見出されたか否かを決定するステップを含んでおり、
    複数の異なったスレッドのあるものを終了するステップを含んでおり、この終了するステップは、特定のスレッドに関してトラバースした結果十分な数の整合が得られないことが決定された場合にその特定のスレッドに対して発生される方法。
  160. トラバースするステップは、
    第1のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを水平方向にトラバースし、
    第2のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを垂直方向にトラバースするステップを含んでいる請求項159記載の方法。
  161. トラバースするステップは、ターゲットフレームを対角線方向にトラバースして、第3のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと比較するステップを含んでいる請求項160記載の方法。
  162. トラバースするステップはさらに、第4のグループの複数の異なったサーチブロックのそれぞれをターゲットフレーム内の異なったポジションと異なった回転ポジションで比較するためにターゲットフレームをトラバースするステップを含んでいる請求項161記載の方法。
  163. 第1のグループ、第2のグループ、第3のグループおよび第4のグループをトラバースするステップは、並列に動作される請求項162記載の方法。
  164. 終了するステップは、第1のグループ、第2のグループ、第3のグループおよび第4のグループの1つをトラバースするステップを、第1のグループ、第2のグループ、第3のグループおよび第4のグループの別のものをトラバースするステップを終了する前に終了する請求項163記載の方法。
  165. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了する請求項163記載の方法。
  166. 予め定められた数は1である請求項165記載の方法。
  167. 整合は、同じ整合である必要がある請求項165記載の方法。
  168. 整合は、損失を生じせることができる請求項165記載の方法。
  169. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、その特定のサーチブロックを終了する請求項165記載の方法。
  170. 第1のグループ、第2のグループ、第3のグループをトラバースするステップは、並列に動作される請求項161記載の方法。
  171. 終了するステップは、第1のグループ、第2のグループおよび第3のグループの1つをトラバースするステップを、第1のグループ、第2のグループおよび第3のグループの別のものをトラバースするステップを終了する前に終了する請求項170記載の方法。
  172. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了する請求項170記載の方法。
  173. 予め定められた数は1である請求項172記載の方法。
  174. 整合は、同じ整合である必要がある請求項172記載の方法。
  175. 整合は、損失を生じせることができる請求項172記載の方法。
  176. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1、第2および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了する請求項170記載の方法。
  177. 第1のグループおよび第2のグループをトラバースするステップは、並列に動作される請求項160記載の方法。
  178. 終了するステップは、第1のグループおよび第2のグループの一方をトラバースするステップを、第1のグループおよび第2のグループの他方をトラバースするステップを終了する前に終了する請求項177記載の方法。
  179. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了する請求項177記載の方法。
  180. 予め定められた数は1である請求項179記載の方法。
  181. 整合は、同じ整合である必要がある請求項179記載の方法。
  182. 整合は、損失を生じせることができる請求項179記載の方法。
  183. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、終了するステップは、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了する請求項177記載の方法。
  184. トラバースするステップにおいて、ターゲットフレーム内の順次の異なったポジションが互いに重複するようにターゲットフレームがトラバースされる請求項160記載の方法。
  185. 順次の異なったポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項184記載の方法。
  186. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項185記載の方法。
  187. ターゲットフレームを水平方向にトラバースするステップおよびターゲットフレームを垂直方向にトラバースするステップの少なくとも一方において、ターゲットフレーム全体がトラバースされる請求項160記載の方法。
  188. ターゲットフレーム全体を水平方向にトラバースするステップにおいて、ターゲットフレーム内の異なった垂直ポジションにおいて水平方向におけるパスが繰返され、
    ターゲットフレーム全体を垂直方向にトラバースするステップにおいて、ターゲットフレーム内の異なった水平ポジションにおいて垂直方向におけるパスが繰返される請求項187記載の方法。
  189. ターゲットフレーム内の隣接した異なった垂直ポジションおよび隣接した異なった水平ポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項188記載の方法。
  190. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項189記載の方法。
  191. トラバースする各ステップは、異なったプロセッサスレッドを使用して実施される請求項188記載の方法。
  192. トラバースする各ステップは、複数の異なったプロセッサスレッドを使用して実施される請求項191記載の方法。
  193. 比較するステップにおいて少なくとも1つのビデオプロセッサスレッドが使用されて基準フレームビデオデータをターゲットフレームビデオデータと比較し、少なくとも1つのオーディオプロセッサスレッドが基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために使用される請求項159記載の方法。
  194. 基準フレームビデオデータをターゲットフレームビデオデータと比較し、基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために、比較するステップにおいて少なくとも1つのプロセッサスレッドが使用される請求項159記載の方法。
  195. 各フレームが複数のビットから構成されている複数の順次フレームのビットサイズを圧縮する方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初は複数の順次フレームの後続フレームに設定されており、この比較するステップは、比較のための複数の異なったスレッドと、および均一なサイズを有する各スレッド内のサーチブロックとを使用するため、対応した比較されたブロックもまた均一のサイズを有しており、
    元の状態から圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用するステップを含んでおり、この使用するステップは、
    圧縮されることのできる隣接した比較されたブロックが存在するか否かを決定し、
    圧縮されることのできる隣接した比較されたブロックの少なくともあるものに対して、そのある隣接した比較されたブロックを含む均一でないサイズの少なくとも1つのスーパーセットブロックを生成するステップを含んでいる方法。
  196. ある隣接した比較されたブロックは、全てのある隣接した比較されたブロックを含んでいる請求項195記載の方法。
  197. 各スーパーセットブロックがある隣接した比較されたブロックを含んでいる均一でないサイズの複数のスーパーセットブロックが生成され、複数のスーパーセットブロックのそれぞれの中のある隣接した比較されたブロックは互いに隣接していない請求項195記載の方法。
  198. 圧縮されることのできるある隣接した比較されたブロックは、リンクされたリストを使用して表される請求項195記載の方法。
  199. 圧縮されることのできるある隣接した比較されたブロックは、2進ツリーを使用して表される請求項195記載の方法。
  200. 各フレームがマトリックスアレイに配列された複数のビットから構成されている複数の順次フレーム内のパターンをサーチする方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと損失のある方式で比較するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されており、この比較するステップは、
    第1のサーチブロックに対して、ターゲットフレーム内に存在する比較の割合を示す第1の加重を獲得し、
    第1のサーチブロックに重なる第2のサーチブロックに対しては、ターゲットフレーム内に存在する比較の別の割合を示す第2の加重を獲得し、
    第1の加重および第2の加重が共にある定められたしきい値を越えた比較の割合を有している場合、低いほうの比較の割合を有する第1および第2のサーチブロックの比較されたブロックの廃棄が行われる方法。
  201. 圧縮されることのできる比較されたブロックは、リンクされたリストを使用して表される請求項200記載の方法。
  202. 圧縮されることのできる比較されたブロックは、2進ツリーを使用して表される請求項200記載の方法。
  203. 決定されたしきい値は、選択可能であるように調節されることができる請求項200記載の方法。
  204. 各フレームがマトリックスアレイに配列された複数のビットから構成されている複数の順次フレーム内のパターンをサーチする方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されており、この比較するステップは、
    ターゲットフレームに対して予測された最適ブロックサイズおよび予測された移動方向を得るために基準フレームのマトリックスアレイ内の種々のポジションに異なったブロックサイズを有しているいくつかの異なった予測サーチブロックをターゲットフレーム中の種々の対応した予測ターゲットブロックと比較する予測スレッドを起動し、
    予測された移動方向に対応した方向におけるターゲットフレームのトラバーサルを開始するステップを含んでおり、サーチブロックは予測された最適ブロックサイズに対応したサイズを有している方法。
  205. 予測された最適ブロックサイズは、8×8バイト乃至128×128バイトの範囲内である請求項204記載の方法。
  206. 予測された移動方向は水平、垂直および対角線方向の1つである請求項205記載の方法。
  207. 予測された移動方向は水平、垂直および対角線方向の1つである請求項204記載の方法。
  208. トラバーサルを開始するステップにおいて、トラバーサルはプロセッサスレッドを使用して開始される請求項204記載の方法。
  209. トラバーサルを開始するステップにおいてトラバーサルは複数のプロセッサスレッドを使用して開始され、各プロセッサスレッドが予測された移動方向において予測されたブロックサイズによりターゲットフレームをトラバースする請求項204記載の方法。
  210. 予測された移動方向に対応しない別の方向におけるターゲットフレームの別のトラバーサルを開始するステップをさらに含んでいる請求項209記載の方法。
  211. 最初のトラバーサルおよび別のトラバーサルの一方を、そのトラバーサルが終了する前に終了するステップをさらに含んでいる請求項210記載の方法。
  212. 終了するステップは、基準フレームの予め定められた部分を表す異なったサーチブロックによりターゲットフレームをトラバースした後で、比較されたブロックの整合が予め定められた数に達しなかったときに行われる請求項210記載の方法。
  213. 各フレームが、少なくとも水平および垂直方向にトラバースされることのできるマトリックスアレイに配列された複数のビットから構成されている複数の順次フレーム内のパターンをサーチする方法において、
    基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して、複数の比較されたブロックを獲得するステップを含んでおり、基準フレームは複数の順次フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次フレームの後続フレームに設定されており、この比較するステップは、
    サーチブロックをターゲットフレーム内の対応したターゲットブロックと比較するためにターゲットフレームを単一のビットの列またはビットの行より大きい段階的増分で少なくとも水平および垂直方向にそれぞれトラバースするステップを含んでおり、このトラバースするステップは、マトリックスアレイのエッジにおけるサーチブロックおよび対応したターゲットブロックに対して、そのサーチブロックおよび対応したターゲットブロックのサイズがトラバースするステップ全体の期間中維持されることができるように、基準フレームおよびターゲットフレームのそれぞれ外側であるサーチブロックおよび対応したターゲットブロック内のビットポジションに同じ情報を埋込むステップを含んでいる方法。
  214. ビデオ情報を表す複数のビットおよびオーディオ情報を表す別の複数のビットからそれぞれ構成された複数の順次および時間関連フレームを獲得し、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較するステップを含んでおり、基準フレームは最初に複数の順次および時間関連フレームの最初のフレームに設定されており、ターゲットフレームは最初に複数の順次および時間関連フレームの後続フレームに設定されており、
    さらに、圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用するステップを含んでいるパターンをサーチする方法。
  215. 比較し、使用するステップが行われている期間中に、残っている複数の順次フレームのそれぞれが一度ターゲットフレームになるように、再度指定し、繰返すステップを反復するステップをさらに含んでいる請求項214記載の方法。
  216. 獲得するステップは、複数の順次および時間関連フレームのそれぞれの中のビデオ情報とオーディオ情報との間にマーカーを配置するステップをさらに含んでいる請求項214記載の方法。
  217. 圧縮されたターゲットフレームの表現は、リンクされたリストを使用する請求項214記載の方法。
  218. オーディオ情報を表す複数のビットは、カラースペースを使用してオーディオ情報を表し、比較するステップは、
    第1のグループの複数の異なったサーチブロックのそれぞれを、ビデオ情報およびオーディオ情報の両方を含むターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを水平方向にトラバースし、
    第2のグループの複数の異なったサーチブロックのそれぞれを、ビデオ情報およびオーディオ情報の両方を含むターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを垂直方向にトラバースするステップを含んでいる請求項214記載の方法。
  219. 比較するステップは、第3のグループの複数の異なったサーチブロックのそれぞれを、ビデオ情報およびオーディオ情報の両方を含むターゲットフレーム内の異なったポジションと比較するためにターゲットフレームを対角線方向にトラバースするステップを含んでいる請求項218記載の方法。
  220. 比較するステップはさらに、第4のグループの複数の異なったサーチブロックのそれぞれを、ビデオ情報およびオーディオ情報の両方を含むターゲットフレーム内の異なったポジションと異なった回転ポジションで比較するためにターゲットフレームをトラバースするステップを含んでいる請求項219記載の方法。
  221. 第1のグループ、第2のグループ、第3のグループおよび第4のグループをトラバースするステップは、並列に動作される請求項220記載の方法。
  222. 第1のグループ、第2のグループ、第3のグループおよび第4のグループの1つをトラバースするステップを、第1のグループ、第2のグループ、第3のグループおよび第4のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項221記載の方法。
  223. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項221記載の方法。
  224. 予め定められた数は1である請求項223記載の方法。
  225. 整合は、同じ整合である必要がある請求項223記載の方法。
  226. 整合は、損失を生じせることができる請求項223記載の方法。
  227. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、第3および第4のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項221記載の方法。
  228. 第1のグループ、第2のグループ、第3のグループをトラバースするステップは、並列に動作される請求項219記載の方法。
  229. 第1のグループ、第2のグループおよび第3のグループの1つをトラバースするステップを、第1のグループ、第2のグループおよび第3のグループの別のものをトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項228記載の方法。
  230. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2、および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項228記載の方法。
  231. 予め定められた数は1である請求項230記載の方法。
  232. 整合は、同じ整合である必要がある請求項230記載の方法。
  233. 整合は、損失を生じせることができる請求項230記載の方法。
  234. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1、第2および第3のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項228記載の方法。
  235. 第1のグループおよび第2のグループをトラバースするステップは、並列に動作される請求項218記載の方法。
  236. 第1のグループおよび第2のグループの一方をトラバースするステップを、第1のグループおよび第2のグループの他方をトラバースするステップを終了する前に終了するステップをさらに含んでいる請求項235記載の方法。
  237. 比較するステップはサーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合が予め定められた数に達しなかった場合に、その特定のサーチブロックを終了するステップをさらに含んでいる請求項235記載の方法。
  238. 予め定められた数は1である請求項237記載の方法。
  239. 整合は、同じ整合である必要がある請求項237記載の方法。
  240. 整合は、損失を生じせることができる請求項237記載の方法。
  241. 比較するステップは、サーチブロックをターゲットフレーム内のターゲットブロックと比較するステップをさらに含んでおり、ターゲットフレームの予め定められた部分が比較された後で、第1および第2のグループをトラバースするステップによって使用されたサーチブロックの特定のものと対応したターゲットブロックとの間の整合の割合より、そのサーチブロックの他のものと対応したターゲットブロックとの間の整合の割合が予め定められた割合だけ大きい場合に、この特定のサーチブロックを終了するステップをさらに含んでいる請求項235記載の方法。
  242. トラバースするステップにおいて、ターゲットフレーム内の順次の異なったポジションが互いに重なるようにターゲットフレームがトラバースされる請求項218記載の方法。
  243. 順次の異なったポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項242記載の方法。
  244. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項243記載の方法。
  245. ターゲットフレームを水平方向にトラバースするステップおよびターゲットフレームを垂直方向にトラバースするステップの少なくとも一方において、ターゲットフレーム全体がトラバースされる請求項218記載の方法。
  246. ターゲットフレーム全体を水平方向にトラバースするステップにおいて、ターゲットフレーム内の異なった垂直ポジションにおいて水平方向におけるパスが繰返され、
    ターゲットフレーム全体を垂直方向にトラバースするステップにおいて、ターゲットフレーム内の異なった水平ポジションにおいて垂直方向におけるパスが繰返される請求項245記載の方法。
  247. ターゲットフレーム内の隣接した異なった垂直ポジションおよび隣接した異なった水平ポジションは、多くて予め定められた数のビットの行および予め定められた数のビットの列だけ異なっている請求項246記載の方法。
  248. 予め定められた数のビットの行は1であり、予め定められた数のビットの列は1である請求項247記載の方法。
  249. トラバースする各ステップは、異なったプロセッサスレッドを使用して実施される請求項246記載の方法。
  250. トラバースする各ステップは、複数の異なったプロセッサスレッドを使用して実施される請求項249記載の方法。
  251. 基準フレームビデオデータをターゲットフレームビデオデータと比較するステップにおいて少なくとも1つのビデオプロセッサスレッドが使用され、少なくとも1つのオーディオプロセッサスレッドが基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために使用される請求項214記載の方法。
  252. 基準フレームビデオデータをターゲットフレームビデオデータと比較し、基準フレームオーディオデータをターゲットフレームオーディオデータと比較するために、比較するステップにおいて少なくとも1つのプロセッサスレッドが使用される請求項214記載の方法。
  253. 使用するステップにおいて、損失を生じることなく元の状態と比較して圧縮されたターゲットフレームの表現が獲得される請求項214記載の方法。
  254. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項214記載の方法。
  255. 使用するステップにおいて、損失を導入することにより元の状態と比較して圧縮されたターゲットフレームの表現が獲得される請求項214記載の方法。
  256. 比較するステップにおいて、サーチブロックはアンド演算を使用してターゲットフレームと比較される請求項255記載の方法。
  257. 比較するステップにおいて、サーチブロックはオア演算を使用してターゲットフレームと比較される請求項255記載の方法。
  258. 比較するステップにおいて、サーチブロックは排他的オア演算を使用してターゲットフレームと比較される請求項255記載の方法。
  259. 比較するステップにおいて、サーチブロックは加算演算を使用してターゲットフレームと比較される請求項255記載の方法。
  260. 比較するステップにおいて、サーチブロックは減算演算を使用してターゲットフレームと比較される請求項255記載の方法。
  261. 比較するステップにおいて、サーチブロックは乗算演算を使用してターゲットフレームと比較される請求項255記載の方法。
  262. 比較するステップにおいて、サーチブロックは除算演算を使用してターゲットフレームと比較される請求項255記載の方法。
  263. 使用するステップは、表現に対して使用されるスーパーセットブロックを獲得するために複数の比較されたブロックの重複したものを組合せる請求項214記載の方法。
  264. 比較するステップは、サーチブロックとターゲットフレーム内に存在する対応したターゲットブロックとの間の同じ整合を表す比較されたブロックを追跡するステップを含んでいる請求項214記載の方法。
  265. 追跡するステップは、基準フレームとターゲットフレームとの間において達成可能な圧縮の量の動的表示を提供するために使用され、比較するステップは、圧縮ターゲット比率を選択するステップをさらに含んでいる請求項264記載の方法。
  266. 比較するステップは、ターゲットフレームに関して圧縮ターゲット比率に達したことを動的表示が示したとき、中止される請求項264記載の方法。
  267. 比較するステップは、表現内で許容されることのできる損失の所望の量を選択するステップをさらに含んでいる請求項266記載の方法。
  268. 比較されたブロックは、ターゲットブロック内のビットの割合が所望の損失量に少なくとも等しい場合に、サーチブロックと同じであるとみなされる請求項267記載の方法。
  269. 比較するステップは、表現内で許容されることのできる損失の量を選択するステップをさらに含んでいる請求項214記載の方法。
  270. 比較するステップは、
    サーチブロックとターゲットフレームとの間の整合の可能性の推定値を獲得するために予測プロセッサスレッドを起動し、
    基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較して複数の比較されたブロックを獲得するために使用される少なくとも1つの比較プロセッサスレッドにこの推定値を送るステップを含んでいる請求項214記載の方法。
  271. 比較するステップにおいて、比較はビットレベルで行われる請求項214記載の方法。
  272. 比較するステップにおいて、比較はバイトレベルで行われる請求項214記載の方法。
  273. 各フレームが複数のビットから構成されている複数の順次フレームのビットサイズを圧縮する方法において、
    複数の比較されたブロックを獲得するために基準フレーム内の複数の異なったサーチブロックをターゲットフレームと比較するステップを含んでおり、基準フレームは最初に開始フレームに設定されており、ターゲットフレームは最初に後続フレームに設定されており、この比較するステップは、
    基準フレームと後続フレームとの間の所望の圧縮比に達したか否かを決定し、
    所望の圧縮比に達した場合には、比較ステップを終了し、
    所望の圧縮比に達しなかった場合には、元の状態と比較して圧縮されたターゲットフレームの表現を獲得するために複数の比較されたブロックを使用するステップを含んでいる方法。
  274. ターゲットフレームであった後続フレームを基準フレームとして再度指定し、そのターゲットフレームを後続フレームに後続する別の後続フレームとして再度指定し、
    比較し、決定するステップを繰返すステップをさらに含んでいる請求項273記載の方法。
  275. 各フレームが複数のビットから構成されている複数の順次フレームに関するパターン認識のための装置において、
    予測スレッドを起動して、デフォルトパターン方向を決定し、少なくとも水平および垂直方向において各方向に対して異なったスレッドを使用して基準フレームからの種々のサーチブロックをターゲットフレームの対応したターゲットサーチエリアと比較し、比較整合をリンクされたリストとして獲得し、重なった比較整合を含むスーパーセットブロックを獲得するためにこのリンクされたリストを処理し、結果的に得られた圧縮されたフレームを記憶するためにアプリケーションプログラムを使用するプロセッサと、
    結果的に得られた圧縮されたフレームを記憶するメモリとを備えている装置。
  276. 予測スレッドを起動して、デフォルトパターン方向を決定し、少なくとも水平および垂直方向において各方向に対して異なったスレッドを使用して基準フレームからの種々のサーチブロックをターゲットフレームの対応したターゲットサーチエリアと比較し、比較整合をリンクされたリストとして獲得し、重なった比較整合を含むスーパーセットブロックを獲得するためにこのリンクされたリストを処理し、結果的に得られた圧縮されたフレームを記憶する、パターン認識を行うために使用可能なコンピュータ読出し可能な媒体上に記憶されたコンピュータプログラムを備えている、プロセッサにより使用可能なコンピュータ読出し可能な媒体。
JP2003541280A 2001-10-31 2002-10-31 データの隣接したブロック内のパターンを決定するための方法および装置 Withdrawn JP2006502598A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/999,776 US20030081685A1 (en) 2001-10-31 2001-10-31 Method and apparatus for determining patterns within adjacent blocks of data
PCT/US2002/035028 WO2003039162A2 (en) 2001-10-31 2002-10-31 Method and apparatus for determining patterns within adjacent blocks of data

Publications (1)

Publication Number Publication Date
JP2006502598A true JP2006502598A (ja) 2006-01-19

Family

ID=25546669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003541280A Withdrawn JP2006502598A (ja) 2001-10-31 2002-10-31 データの隣接したブロック内のパターンを決定するための方法および装置

Country Status (6)

Country Link
US (1) US20030081685A1 (ja)
EP (1) EP1440582A2 (ja)
JP (1) JP2006502598A (ja)
CN (1) CN1608379A (ja)
AU (1) AU2002353952A1 (ja)
WO (1) WO2003039162A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177821A (ja) * 2007-01-18 2008-07-31 Hitachi Ltd 情報秘匿化方法、および情報秘匿装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070195A (ko) * 2001-11-30 2004-08-06 코닌클리케 필립스 일렉트로닉스 엔.브이. 신호 부호화
US7302006B2 (en) * 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
CN100440825C (zh) * 2003-01-28 2008-12-03 华为技术有限公司 数字传送网上不同的数据帧接入和传送的系统和方法
CN100396035C (zh) * 2003-01-28 2008-06-18 华为技术有限公司 数字传送网上不同的数据帧接入和传送的系统和方法
US20060079513A1 (en) * 2004-10-13 2006-04-13 Preston David M Methods and compositions including methscopolamine nitrate
US20060235683A1 (en) * 2005-04-13 2006-10-19 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Lossless encoding of information with guaranteed maximum bitrate
US7991610B2 (en) * 2005-04-13 2011-08-02 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Adaptive grouping of parameters for enhanced coding efficiency
US7788106B2 (en) * 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
KR100750137B1 (ko) * 2005-11-02 2007-08-21 삼성전자주식회사 영상의 부호화,복호화 방법 및 장치
CN101371586B (zh) * 2006-01-10 2012-06-27 汤姆森特许公司 用于并行实现4:4:4编码的方法和装置
JP5265139B2 (ja) * 2007-06-13 2013-08-14 オリンパスメディカルシステムズ株式会社 体内画像取得システム
US8285068B2 (en) 2008-06-25 2012-10-09 Cisco Technology, Inc. Combined deblocking and denoising filter
US9697535B2 (en) 2008-12-23 2017-07-04 International Business Machines Corporation System and method in a virtual universe for identifying spam avatars based upon avatar multimedia characteristics
US9704177B2 (en) 2008-12-23 2017-07-11 International Business Machines Corporation Identifying spam avatars in a virtual universe (VU) based upon turing tests
US8553778B2 (en) * 2009-03-19 2013-10-08 International Business Machines Corporation Coding scheme for identifying spatial locations of events within video image data
US8537219B2 (en) 2009-03-19 2013-09-17 International Business Machines Corporation Identifying spatial locations of events within video image data
US8656476B2 (en) 2009-05-28 2014-02-18 International Business Machines Corporation Providing notification of spam avatars
US8638395B2 (en) 2009-06-05 2014-01-28 Cisco Technology, Inc. Consolidating prior temporally-matched frames in 3D-based video denoising
KR101691571B1 (ko) * 2009-10-15 2017-01-02 삼성전자주식회사 표시 장치에 의해서 표시되는 영상 데이터를 처리하는 장치 및 방법
US9628674B2 (en) 2010-06-02 2017-04-18 Cisco Technology, Inc. Staggered motion compensation for preprocessing video with overlapped 3D transforms
US8472725B2 (en) 2010-06-02 2013-06-25 Cisco Technology, Inc. Scene change detection and handling for preprocessing video with overlapped 3D transforms
US9635308B2 (en) * 2010-06-02 2017-04-25 Cisco Technology, Inc. Preprocessing of interlaced video with overlapped 3D transforms
GB2502774B (en) * 2012-05-29 2014-07-02 Appsense Ltd Improvements in and relating to managing process image hijacks
CN105632503B (zh) * 2014-10-28 2019-09-03 南宁富桂精密工业有限公司 信息隐藏方法及系统
US9832351B1 (en) 2016-09-09 2017-11-28 Cisco Technology, Inc. Reduced complexity video filtering using stepped overlapped transforms

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
KR100204478B1 (ko) * 1996-05-09 1999-06-15 배순훈 전역 움직임에 의한 빈 공간 보상 방법 및 그 장치
TW444507B (en) * 1998-10-22 2001-07-01 Sony Corp Detecting method and device for motion vector

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008177821A (ja) * 2007-01-18 2008-07-31 Hitachi Ltd 情報秘匿化方法、および情報秘匿装置

Also Published As

Publication number Publication date
AU2002353952A1 (en) 2003-05-12
WO2003039162A2 (en) 2003-05-08
EP1440582A2 (en) 2004-07-28
US20030081685A1 (en) 2003-05-01
WO2003039162A3 (en) 2003-12-31
CN1608379A (zh) 2005-04-20

Similar Documents

Publication Publication Date Title
JP2006502598A (ja) データの隣接したブロック内のパターンを決定するための方法および装置
US9547916B2 (en) Segment-based encoding system including segment-specific metadata
US6195391B1 (en) Hybrid video compression/decompression system
US5493345A (en) Method for detecting a scene change and image editing apparatus
US9064298B2 (en) Segment-based encoding system using residue coding by basis function coefficients
US7085319B2 (en) Segment-based encoding system using segment hierarchies
US5134478A (en) Method and apparatus for compressing and decompressing a digital video signal using predicted and error images
US6888894B2 (en) Segmenting encoding system with image segmentation performed at a decoder and encoding scheme for generating encoded data relying on decoder segmentation
JP2010022006A (ja) 画像データ処理方法
JPH11317720A (ja) 符号化されたデ―タストリ―ムにおける追加デ―タの埋め込みおよび抽出方法
US6925249B1 (en) System and method for storing compressed data onto a storage medium
US7082166B2 (en) Decoder for decoding segment-based encoding of video data using segmentation performed at a decoder
US6683980B1 (en) System and method for compressing data
TW202220447A (zh) 用於編碼及解碼場景的一或多個視圖的方法及設備
US7184482B2 (en) Encoding system using motion vectors to represent frame-to-frame changes, wherein a decoder uses predictions of motion vectors in decoding
US20030039307A1 (en) Segmenting encoding system encoding video data using segment-by-segment kinetic data including change information in addition to translation information
US7139317B2 (en) Segment-based encoding system using exposed area filling performed by an encoder and a decoder
US7269221B2 (en) Encoding system using motion vectors to represent frame-to-frame changes, including motion vector grouping for coding or processing
JP2626521B2 (ja) 画像符号変換装置
JP2003009155A (ja) 画像復号方法とその装置、および画像符号化方法とその装置
JP2009501477A (ja) データを埋め込む方法
JP2001527352A (ja) 圧縮ビデオシーケンスの部分的復号
JP4772046B2 (ja) 非同期化によるオーディオ,イメージ,又はビデオデジタルファイルの圧縮方法
WO2024018239A1 (en) Video encoding and decoding
WO2023026065A1 (en) Methods of encrypting a multimedia file, methods of decrypting an encrypted multimedia file; computer program products and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051021

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070803