"複数のプロセッサを使用してビデオフレームを符号化するための方法であり、前記方法は、現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を、第1のプロセッサにより提供し、前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを、前記第1のプロセッサにより提供し、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて前記複数の非固定画素に対する運動ベクトルデータを、前記第2のプロセッサにより計算し、前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルを使用して、前記現在フレームを、前記第1のプロセッサにより符号化することを備える、方法。前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを、前記第1のプロセッサにより生成することをさらに備える、請求項1に記載の方法。生成したエラー検出データに応じて、前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを、前記第1のプロセッサにより示すことをさらに備える、請求項2に記載の方法。運動ベクトルデータを計算することは、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定することを含む、請求項1に記載の方法。前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、請求項4に記載の方法。前記直前フレームは、前記基準フレームを含む、請求項5に記載の方法。前記現在フレーム内の実質的に非固定画素のみを描写する前記画素データは、前記現在フレーム内の非固定画素のみを描写する画素データを含む、請求項1に記載の方法。ビデオフレームを符号化するためのビデオ符号化器であり、前記ビデオ符号化器は、第1のプロセッサと第2のプロセッサとを備え、前記第1のプロセッサは、現在フレーム内の画素データを、前記第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供するよう動作し、前記第2のプロセッサは、前記第1のプロセッサに動作可能に接続され、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて前記複数の非固定画素に対する運動ベクトルデータを計算するよう動作し、前記第1のプロセッサは、さらに、前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルデータを使用して、前記現在フレームを符号化するよう動作する、ビデオ符号化器。前記第1のプロセッサは、前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じてエラー検出データを生成するよう動作するエラー検出モジュールを備える、請求項8に記載のビデオ符号化器。前記第1のプロセッサは、エラー検出データを受信したことに応じて前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示すよう動作するフレーム生成モジュールを備える、請求項9に記載のビデオ符号化器。前記第2のプロセッサは、運動ベクトルデータを計算するために、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定するよう動作する動き推定モジュールを備える、請求項8に記載のビデオ符号化器。前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、請求項11に記載のビデオ符号化器。前記直前フレームは、前記基準フレームを含む、請求項12に記載のビデオ符号化器。前記第1のプロセッサは、前記現在フレーム内の前記複数の非固定画素の前記位置を決定し、および前記第2のプロセッサによって使用される前記現在フレームに対応する非固定画素の位置情報と、前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データとの両方を提供するよう動作する非固定画素検出モジュールを備える、請求項8に記載のビデオ符号化器。複数のプロセッサを使用して、ビデオフレームを符号化および復号化するためのシステムであり、前記システムは、第1のプロセッサと、第2のプロセッサと、復号化器とを備え、前記第1のプロセッサは、現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供するよう動作し、前記第2のプロセッサは、前記第1のプロセッサに動作可能に接続され、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて、前記複数の非固定画素に対する運動ベクトルデータを計算するよう動作し、前記第1のプロセッサは、さらに、前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルデータを使用して、前記現在フレームを符号化するよう動作し、前記復号化器は、前記第1のプロセッサに動作可能に接続され、前記符号化された現在フレームを復号化して、復号化された現在フレームを提供するよう動作する、システム。前記第1のプロセッサは、前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを生成するよう動作するエラー検出モジュールを備える、請求項15に記載のシステム。前記第1のプロセッサは、エラー検出データを受信したことに応じて、前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示すよう動作するフレーム生成モジュールを備える、請求項16に記載のシステム。前記第2のプロセッサは、運動ベクトルデータを計算するために、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定するよう動作する動き推定モジュールを備える、請求項15に記載のシステム。前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、請求項18に記載のシステム。前記直前フレームは、前記基準フレームを含む、請求項19に記載のシステム。複数のプロセッサを使用してビデオフレームを符号化するためのプロセッサであり、前記プロセッサは、現在フレーム内の画素データを、他のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、前記他のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供し、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて、前記複数の非固定画素に対して前記他のプロセッサによって計算された運動ベクトルデータを使用して前記現在フレームを符号化するよう動作する、プロセッサ。本開示は、複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステムを提供する。一例において、複数のプロセッサを使用してビデオフレームを符号化するための方法が開示される。本例において、本方法は、現在フレーム内の複数の非固定画素の位置を、第1のプロセッサにより提供することを含む。現在フレーム内の複数の非固定画素の位置は、現在フレーム内の画素データと、第2のプロセッサによって使用される、直前フレーム内の対応する画素データとを比較することによって提供される。第1のプロセッサは、第2のプロセッサによって使用される、現在フレーム内の実質的に非固定画素のみを描写する画素データも提供する。第2のプロセッサは、非固定画素の位置情報と、実質的に非固定画素のみを描写する画素データとに基づいて、複数の非固定画素のための運動ベクトルデータを計算する。第1のプロセッサは、第2のプロセッサから提供された複数の非固定画素に対する運動ベクトルデータを使用して、現在フレームを符号化する。上記方法の一例において、第1のプロセッサは、複数の非固定画素に対する運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを生成する。他の例において、第1のプロセッサは、生成したエラー検出データに応じて、運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示す。一例において、運動ベクトルデータは、基準フレームと現在フレームとの間の複数の非固定画素の並進シフトを決定することによって計算される。さらに他の例において、基準フレームは、現在フレーム内の非固定画素を描写する画素データと、現在フレーム内の固定画素を描写する画素データとを含む。他の例において、直前フレームが基準フレームである。さらに他の例において、現在フレーム内の実質的に非固定画素のみを描写する画素データは、現在フレーム内の非固定画素のみを描写する画素データを備える。本開示は、複数のプロセッサを使用して、ビデオフレームを符号化および復号化するためのシステムも提供する。一例において、システムは、複数のプロセッサを有するビデオ符号化器を含む。本例において、符号化器は、現在フレーム内の画素データと、第2のプロセッサによって使用される、直前フレーム内の対応する画素データとを比較することによって、現在フレーム内の複数の非固定画素の位置を提供するよう動作する第1のプロセッサを有する。第1のプロセッサは、さらに、第2のプロセッサによって使用される、現在フレーム内の実質的に非固定画素のみを描写する画素データを提供するよう動作する。第2のプロセッサは、第1のプロセッサに動作可能に接続され、および非固定画素の位置情報と、実質的に非固定画素のみを描写する画素データとに基づいて複数の非固定画素に対する運動ベクトルデータを計算するよう動作する。第1のプロセッサは、第2のプロセッサからの複数の非固定画素に対する運動ベクトルデータを使用して、現在フレームを符号化するよう動作する。本例において、システムは、第1のプロセッサに動作可能に接続され、符号化された現在フレームを復号化して、復号化された現在フレームを提供するよう動作する復号化器も含む。一例において、第1のプロセッサは、複数の非固定画素に対する運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを生成するよう動作するエラー検出モジュールを含む。他の例において、第1のプロセッサは、エラー検出データを受信したことに応じて、運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示すよう動作するフレーム生成モジュールを含む。さらに他の例において、第2のプロセッサは、運動ベクトルデータを計算するために、基準フレームと現在フレームとの間の複数の非固定画素の並進シフトを決定するよう動作する、動き推定モジュールを含む。他の例において、第1のプロセッサは、現在フレーム内の複数の非固定画素の位置を決定するとともに、第2のプロセッサによって使用される現在フレームに対応する非固定画素の位置情報と、第2のプロセッサによって使用される現在フレーム内の実質的に非固定画素のみを描写する画素データとの両方を提供するよう動作する非固定画素検出モジュールを含む。他の利点として、開示される方法およびシステムは、動き推定を含む、加速ビデオ符号化を備える。この加速は、複数のプロセッサ間の符号化処理を分け、プロセッサ間で送られる画素データの量を減らすことによって実現される。そのために、開示される方法およびシステムは、プロセッサ間の符号化処理演算を移すことによって作り出される待ち時間も改善する。他の利点は、当業者によって認識されるであろう。本実施形態の以下の記述は単なる例であって、本開示、その適用、または使用を限定しようとするものではない。図1は、複数のプロセッサを使用してビデオフレームを符号化および復号化するためのシステム100の一例を示す。システム100は、1つまたは複数の電子機器内に存在することができる。例えば、システム100の一部であるビデオ符号化器102は、ある電子機器内に存在することができ、一方、ビデオ復号化器120は、別の電子機器内に存在することができる。あるいは、ビデオ符号化器102と復号化器120は、同じ電子機器内に存在することができる。ビデオ符号化器102と復号化器120は、単に、例えば、直接物理接続例えば、バス、または1つまたは複数の通信ネットワーク例えば、インターネット、セルラーネットワーク等を介した無線接続を通じて互いに動作可能に接続される必要がある。例えば、ビデオ符号化器/復号化器102、120は、画像取込デバイス例えば、一体化ディスプレイデバイスを介して記録したビデオの再生機能を有する、または有さない、カメラやカメラ一体型ビデオレコーダー、パーソナルコンピュータ例えば、デスクトップまたはラップトップコンピュータ、ネットワークコンピューティングデバイス例えば、サーバコンピュータ等、個々のコンピューティングデバイスは、システム100の1つまたは複数の機能を実現する、携帯情報端末PDA、携帯電話、タブレット例えば、Apple登録商標iPad登録商標、またはビデオ符号化および/または復号化を実行するために使用する任意の他の適切な電子機器等の電子機器内に存在することができる。システム100は、符号化されていない現在すなわち、入力ビデオフレーム108を符号化するためのビデオ符号化器102を含む。符号化されていないビデオフレーム108は、例えば、フレーム内の各画素を描写する画素データを含む生すなわち、圧縮されていないビデオフレームである。画素データは、例えば、当分野で既知のように、フレーム内の各画素に対して1つの輝度と2つの色差値例えば、YCbCr値、YUV値、YPbPr値、Y1UV等を含む。さらに、画素データは、例えば、フレーム内の各画素の位置を示すx、y、およびz座標値等の、フレーム内の各画素に対する座標値を含んでもよい。また、本明細書で使用される場合、フレームは、任意の数の領域を備えることができる。例えば、単一のフレームは、当業者によって認識されるであろう、フレーム画像内の奇数番目の水平線を描写する上部領域と、フレーム画像内の偶数番目の水平線を描写する底部領域を備えることができる。符号化器102は、第2のプロセッサ106に動作可能に接続された第1のプロセッサ104を含む。プロセッサ104、106は、記憶部に記憶した実行可能命令の制御下で動作する、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、またはそれらの組合せを備えることができる。一例において、第1のプロセッサ104は、中央処理装置CPUである。一例において、第2のプロセッサは、グラフィック処理装置GPUである。他の例において、第2のプロセッサは、汎用GPUGPGPUである。第1および第2のプロセッサ104、106は、単一のダイ上に別々のコアとして、または別々のダイ上に別々のコアとして存在することができる。特定の実装にかかわらず、本開示は、これらの具体例に限定されず、記載された機能性を実行することができる任意のプロセッサ104、106の使用を意図する。システム100は、さらに、第1のプロセッサ104に動作可能に接続された復号化器120を含む。上記のように、復号化器120および第1のプロセッサ104は、任意の適切な物理的または無線接続を介して動作可能に接続することができる。図2は、複数のプロセッサを使用してビデオフレームを符号化するための方法の一例を示すフローチャートである。図2で開示される方法は、例えば、図1で示されたシステム100によって実行することができる。それにより、本方法は、システム100内の要素を参照して説明されるであろう。ステップ200では、第1のプロセッサ104は、現在フレーム108内の画素データと、第2のプロセッサ106によって使用される、直前フレーム内の対応する画素データとを比較することによって、現在フレーム108内の複数の非固定画素の位置を提供する。一例において、第1のプロセッサ104は、第2のプロセッサ106に位置情報を提供する前に、現在フレーム108内の複数の非固定画素の位置を決定するよう動作する。しかしながら、この決定は、他の適切な理論によっても等しく行われることが理解されよう。現在ビデオフレーム内の複数の非固定画素の位置を決定することは、例えば、差分絶対値和SAD等のブロックマッチングアルゴリズムによって実現することができる。SAD等のブロックマッチングアルゴリズムは、一般的には、現在ビデオフレーム108をマクロブロックに分割する。各マクロブロックは、任意の数の画素を含むことができる。例えば、16×16マクロブロックは、256画素すなわち、行あたり16画素、16行を含むことができる。各マクロブロックは、さらに、例えば4つの8×8サブブロックなどのサブブロックに分割することができる。現在ビデオフレーム108内の複数の非固定画素の位置を決定するために、ブロックマッチングアルゴリズムは、現在ビデオフレーム108内の画素データと、直前ビデオフレーム内の対応する画素データとを比較する。この比較は、複数の画素例えば、マクロブロック毎に実現することができる。すなわち、本アルゴリズムは、現在ビデオフレーム108内の単一の画素を描写する画素データと、直前ビデオフレーム内の対応する画素を描写する画素データとを比較するよりむしろ、現在ビデオフレーム108内の画素のマクロブロックと、直前ビデオフレーム内の画素の対応するマクロブロックとを比較することができる。画素対画素毎よりもむしろマクロブロック対マクロブロック毎に比較を行うことは、精度に実質的な影響を与えることなく計算コストを大幅に削減する。現在ビデオフレーム108からのマクロブロックと、直前ビデオフレームからの対応するマクロブロックとを比較したときに、2つのマクロブロックが同じであると判断された場合、現在ビデオフレーム108内のマクロブロックは、固定マクロブロックすなわち、複数の固定画素を備えるマクロブロックであると判断される。一方、現在ビデオフレーム108内のマクロブロックが、直前ビデオフレーム内の対応するマクロブロックと異なる場合、現在ビデオフレーム108内のマクロブロックは、非固定マクロブロックすなわち、複数の非固定画素を備えるマクロブロックであると判断される。この比較は、現在ビデオフレーム108内のマクロブロックに割り当てられた値を、直前ビデオフレーム内の対応するマクロブロックに割り当てられた値から引くことによって実行される。値は、例えば、現在ビデオフレーム108内のマクロブロックを構成する画素の輝度値、および直前ビデオフレーム内のマクロブロックを構成する画素の輝度値によって示すことができる。さらに、量子化値Qを比較に導入することが可能である。量子化値は、固定マクロブロックまたは非固定マクロブロックとして認識された、現在ビデオフレーム108内のマクロブロックの尤度に影響する。例えば、非固定マクロブロックを識別するために、本開示は、固定マクロブロックを定義するための全零量子化係数ブロックall-zeroquantizationcoefficientblockを検出する既存の概念を取り入れることを意図する。本処理は、例えば、16×16マクロブロックの8×8サブブロックにおける係数が、量子化処理の後に零になるかどうかを確認することによって開始する。例えば、以下の数式を、所定の8×8サブブロックを構成する画素に応用することができる。SADx,yの位置に対する絶対差の合計=一例において、SAD<8Qである場合、8×8サブブロックはゼロブロックとして定義されるであろう。上記のように、Qは量子化値を表す。実質的に、Q値が高くなると、8×8サブブロックがゼロブロックとして定義される可能性が高くなる。Q値が低くなると、8×8サブブロックがゼロブロックとして定義される可能性が低くなる。したがって、Q値は、どれだけ多くのゼロブロックが所定のビデオフレーム内で検出されるかをもたらす。Q値は、例えば、第1および第2のプロセッサ104、106の間の利用可能な帯域幅に基づいて、自動的に設定することができる。例えば、利用可能な帯域が増えるほど、設定されたQ値は小さくなる。これは、低いQ値がより多くの非固定マクロブロックの検出をもたらすためであり、それらの非固定マクロブロックのそれぞれを描写する画素データが、プロセッサ間で送信される必要があることを意味する。したがって、Q値が大きくなるほど、プロセッサ間に送られるであろう画素データが少なくなる。サブブロックがゼロブロックであるかどうかを判断することについての上記説明に準拠して、一例において、全4つの8×8サブブロックがSADの上記式の適用後にサブブロックになるよう判断される場合、16×16マクロブロックが、ゼロブロックとしてのみ定義されるであろう。続いてステップ200では、現在ビデオフレーム108内の複数の非固定画素の位置が決定された後、非固定画素の位置情報110が、第2のプロセッサ106よって使用されるために提供される。一例において、非固定画素の位置情報110は、マップの形式で提供される。マップは、現在ビデオフレーム108内の全ての固定および非固定マクロブロックの位置を示す。マップは、上記手順による決定に基づいて、現在ビデオフレーム内の各マクロブロックが固定か非固定かを示すデータを備える。例えば、現在ビデオフレーム108の左上コーナーに設置されたマクロブロックに対応するマップの部分の値が0であれば例えば、ビット値がゼロに設定されていれば、現在ビデオフレーム108の左上コーナーにおけるマクロブロックが固定であることを示すことができる。一方、現在ビデオフレーム108の左上コーナーに設置されたマクロブロックに対応するマップの部分の値が1であれば例えば、ビット値が1に設定されていれば、現在ビデオフレーム108の左上コーナーにおけるマクロブロックが非固定であることを示すことができる。ステップ202では、第1のプロセッサ104が、第2のプロセッサ106によって使用される、現在ビデオフレーム108内の実質的に非固定画素112のみを描写する画素データを提供する。実質的に非固定画素112のみを描写する画素データは、例えば、フレーム内の各非固定画素に対する1つの輝度と2つの色差値例えば、YCbCr値、YUV値、YPbPr値、Y1UV等を備えることができる。さらに、画素データは、フレーム内の実質的に非固定画素112のみに対する座標値、例えば、x、y、およびz座標値を含むことができる。好適な実施形態において、非固定画素のみを描写する画素データは、第2のプロセッサ106によって使用されるために提供される。しかしながら、固定画素を描写するいくつかの画素データも、第2のプロセッサ106によって使用されるために提供されるであろう。本明細書で使用される場合、用語実質的に非固定画素のみを描写する画素データは、ビデオ符号化アプリケーションに依存する。例えば、低ビットレート伝送のために例えば、テレビ会議のために、記載した方法は、全画素データの20以下が固定画素を描写することを意図する。高ビットレート伝送では、一例において、記載された方法は、全画素データの8~15以下が固定画素を描写することを意図する。第1のプロセッサ104と第2のプロセッサ106との間で送られる画素データの量を限定することによって、メモリスループットが改善され、それにより、既存の符号化システムに影響するボトルネック問題を軽減する。ステップ204では、第2のプロセッサ106が、非固定画素の位置情報110と、実質的に非固定画素112のみを描写する画素データとに基づいて、複数の非固定画素に対する運動ベクトルデータ116を計算する。運動ベクトルデータ116は、複数の非固定画素例えば、画素の各非固定マクロブロックの各々に対して計算される。すなわち、異なる運動ベクトルが、非固定の複数の画素の各々に対して計算される。上記のように、各運動ベクトルは、基準ビデオフレーム114と現在ビデオフレーム108との間の複数の非固定画素例えば、画素のマクロブロックの変位を描写する。基準ビデオフレーム114は、固定画素および非固定画素の両方を描写する画素データを備える。非固定の複数の画素に対してのみ運動ベクトルを計算するおよび、固定画素に対しては計算しないことによって、動き推定の計算時間が削減される。これにより、既存の符号化システムが直面するボトルネック問題を全体的に削減または軽減するために、第1のプロセッサ104と第2のプロセッサ106との間を転送されるデータのバックログを削減することに役立つ。さらに、動き推定の計算が、第1のプロセッサ104以外の別のプロセッサ上で実行されるので、第1のプロセッサ104は、動き推定に無関係の、他の種類の処理を扱うために解放される。ステップ206では、第1のプロセッサ104が、第2のプロセッサ106からの複数の非固定画素に対する運動ベクトルデータ116を使って、現在ビデオフレーム108を符号化する。次いで、符号化されたビデオフレーム118は、復号化されたビデオフレーム122を生成するために、ビデオ復号化器120に提供され得る。符号化されたビデオフレーム118は、例えば、当分野で既知のように、画像グループGOP符号化スキームにおけるIフレーム、Pフレーム、および/またはBフレームを備えることができる。しかしながら、本開示は、どんな特定の符号化スキームにも限定されず、符号化されたビデオフレーム118を生成するための任意の利用可能な符号化スキームを使用することを意図する。例えば、本開示は、ムービングピクチャーエクスパートグループMPEGスキーム例えば、MPEG-1、MPEG-2、MPEG-4等、DivX5、H.264、または任意の他の適切なビデオ符号化スキーム等の、符号化スキームと共に使用することを意図する。すなわち、記載した方法は、動き推定を必要とするどのようなビデオ符号化にも等しく適用することを意図する。図3は、本開示に記載する一例による、ビデオフレームを符号化するための符号化器102を概ね示すブロック図である。特に、図3は、例えば、図2に関して説明された機能性を達成するために使われる第1および第2のプロセッサ104、106のサブ構成要素を示す。例えば、第1のプロセッサ104は、非固定画素検出モジュール312を含む。本明細書で使用される場合、用語モジュールは、電子回路、1つまたは複数のソフトウェアやファームウェアプログラムを実行する1つまたは複数のプロセッサ例えば、これらに限定されないが、マイクロプロセッサ、デジタル信号プロセッサ、または中央処理装置等の、共有された、専用の、またはグループのプロセッサならびにメモリ、組合せ論理回路、特定用途向け集積回路ASIC、および/または記載された機能性を提供する他の適切な構成要素を含むことができる。一例において、モジュールは、プロセッサ104、106の一方または両方で実行される、メモリ例えば、メモリ316、メモリ318、または他の適切なメモリに記憶されたソフトウェアやファームウェアを備えることができる。非固定画素検出モジュール312は、メモリ316と、第2のプロセッサ106に設置された動き推定モジュール310とに動作可能に接続される。好適な実施形態において、第1のプロセッサ104は、ローカルメモリ316を有し、第2のプロセッサ106は、ローカルメモリ318を有する。しかしながら、第1のプロセッサのメモリ316および第2のプロセッサのメモリ318は、同じメモリであることを意図する。例えば、第1および第2のプロセッサは、第1のプロセッサ104上か、第2のプロセッサ106上か、または両方のプロセッサ104、106から離れて設置される例えば、両方のプロセッサ104、106から離れたシステムメモリ内の共有メモリ図示しないにアクセスすることができる。しかしながら、ローカルメモリ316、318を両方のプロセッサ104、106に提供することは、待ち時間が減少することによる符号化時間の低減をもたらす。さらに、メモリ316、318は、例えば、読出し専用メモリROM、ランダムアクセスメモリRAM、電気的消去書込み可能な読出し専用メモリEE-PROM、または、任意の他の適切なデジタルストレージメディア等の、揮発性/不揮発性メモリ構成要素の任意の組合せとすることができる。非固定画素検出モジュール312は、現在ビデオフレーム300すなわち、Fn内の画素を描写する画素データと、メモリ316からの入力として直前ビデオフレーム302すなわち、Fn-1内の画素を描写する画素データとを受け入れる。画素データ300、302は、例えば、フレーム内の各画素に対して1つの輝度と2つの色差値例えば、YCbCr値、YUV値、YPbPr値、Y1UV等を含むことができる。さらに、画素データは、例えば、フレーム内の各画素の位置を示すx、y、およびz座標値等の、フレーム内の各画素に対する座標値を含むことができる。非固定画素検出モジュール312は、現在ビデオフレーム300内の画素データを、直前ビデオフレーム302内の対応する画素データと比較し、非固定画素の位置情報110例えば、上記のようなマップを提供するよう動作する。現在ビデオフレーム108内の画素が非固定画素であると決定した後、非固定画素検出モジュール312は、第2のプロセッサ106によって使用される、現在ビデオフレーム112内の実質的に非固定画素のみを描写する画素データを提供するよう動作する。非固定画素検出モジュール312は、第2のプロセッサ106内の動き推定モジュール310にも動作可能に接続される。動き推定モジュール310は、動き推定を行うために、非固定画素検出モジュール312からの入力として、非固定画素の位置情報110と、実質的に非固定画素112のみを描写する画素データとを受け入れる。具体的には、動き推定モジュール310は、運動ベクトルデータ116を計算するために、基準ビデオフレーム114と現在ビデオフレーム108との間の複数の非固定画素例えば、非固定マクロブロックの並進シフトを決定するよう動作する。動き推定モジュール310は、基準ビデオフレーム114を記憶している、第2のプロセッサ106のローカルメモリ318等のメモリに常にアクセスする。したがって、動き推定モジュール310は、基準ビデオフレーム114と現在ビデオフレーム108との間の各複数の非固定画素例えば、非固定画素の各マクロブロックの変位を決定することによって、運動ベクトルデータ116を計算し、基準ビデオフレーム114は、固定および非固定画素の両方を描写する画素データを備える。これは、例えば、現在ビデオフレーム108内の複数の非固定画素のY値すなわち、輝度値を、基準ビデオフレーム114内の対応する複数の画素のY値と比較することによって、実現することができる。現在ビデオフレーム108内の各複数の非固定画素に対する運動ベクトルを決定した後、動き推定モジュール310は、運動ベクトルデータ116を、第1のプロセッサ104内のエラー検出モジュール308に提供する。エラー検出モジュール304は、動き推定モジュール310に動作可能に接続され、複数の非固定画素に対する運動ベクトルデータ116が所定の値を超えたことを決定したことに応じて、エラー検出データ306を生成するよう動作する。概して、エラー検出モジュール304は、運動ベクトルデータ116を計算する際に使用するために、新しい基準フレーム114をいつ提供すべきかを識別する。エラー検出モジュール304は、入ってくる運動ベクトルデータ116を分析し、運動ベクトルデータ116が所定の値を超えたかどうかを判断することによって、この識別を行う。例えば、所定の値は、10に設定することができる特定の値は、設計上の選択の問題であると認識する。本例において、特定の複数の非固定画素例えば、マクロブロックが、基準ビデオフレーム114と現在ビデオフレーム108との間において10画素以上シフトしたと運動ベクトルデータ116が示す場合、エラー検出モジュール304は、所定の値を超えたことを示すエラー検出データ306を生成する。エラー検出データ306は、エラー検出モジュール304に動作可能に接続されたフレーム生成モジュール308に提供される。フレーム生成モジュール308は、エラー検出データ306を受信したことに応じて、運動ベクトルデータ116を計算するために新しい基準ビデオフレーム114が利用可能であることを示すよう動作する。一例において、フレーム生成モジュール308は、新しい基準ビデオフレーム114をメモリ316から読み出し、新しい基準ビデオフレーム114を第2のプロセッサ106内のメモリ118に提供することによって、運動ベクトルデータ116を計算するために新しい基準ビデオフレーム114が利用可能であることを示す。本例において、動き推定モジュール310は、運動ベクトルデータ116を計算する際に、新しい基準ビデオフレーム114を使用する。有効なすなわち、0ではない運動ベクトルデータ116を計算するために、基準ビデオフレーム114は、理想的には、所定のビデオストリーム内の現在ビデオフレーム108の前に送信されたビデオフレームである例えば、基準ビデオフレーム114と現在ビデオフレーム108とが同じである場合、フレームの間の画素の移動はない。しかしながら、動き推定モジュール310は、代替手段を介しても新しい基準ビデオフレーム114を受信する可能性もあることが意図される。例えば、動き推定モジュール310は、代わりに、両方のプロセッサ104、106によってアクセスされた共有メモリ図示しないから新しい基準フレーム114を要求してもよく、当分野で既知の、他の適切なメモリアクセス技術を介して新しい基準ビデオフレームを得てもよい。フレーム生成モジュール308は、符号化されたビデオフレーム118を、復号化されたビデオフレーム122を生成するために、ビデオ復号化器120に提供するようにも動作する。ビデオ復号化器120は、例えば、ムービングピクチャーエクスパートグループMPEGスキーム例えば、MPEG-1、MPEG-2、MPEG-4等、DivX5、H.264、または任意の他の適切なビデオ符号化スキーム等の符号化されたビデオフレームを復号化することができる当分野で既知の任意の適切な復号化器を備えることができる。図4は、複数のプロセッサを使用してビデオフレームを符号化するための方法の他の例を示すフローチャートである。図4で開示される方法は、例えば、図3で示した符号化器102によって実行してもよい。そのため、本方法は、符号化器102内の要素を参照して説明する。ステップ200~204は、図2において提供したステップの説明により実行される。ステップ400では、運動ベクトルデータが所定の値を超えたかどうかに関して決定が行われる。本ステップは、例えば、上記の機能に基づくエラー検出モジュール304によって実現することができる。運動ベクトルデータが所定の値を超えた場合、第1のプロセッサ104は、複数の非固定画素に対する運動ベクトルデータ116が所定の値を超えたことに関する決定に応じて、エラー検出データ306を生成する。本ステップは、例えば、上記の機能に基づくエラー検出モジュール304によって実現されてもよい。ステップ404では、第1のプロセッサ104は、生成したエラー検出データ306に応じて運動ベクトルデータ116を計算する際に、基準ビデオフレーム114が利用可能であることを示す。本ステップは、例えば、上記の機能に基づくフレーム生成モジュール308によって実現してもよい。しかしながら、ステップ400で、運動ベクトルデータ116が所定の値を超えないことが決定された場合、本方法は、図2において提供したようなステップの説明により実行されるステップ206に移行する。他の利点として、開示される方法およびシステムは、動き推定を含む、加速ビデオ符号化を備える。加速は、複数のプロセッサの間の符号化処理を分け、プロセッサの間で送られる画素データの量を減らすことによって実現される。そのために、開示される方法およびシステムは、プロセッサの間の符号化処理演算を移すことによって作り出される待ち時間も改善する。他の利点は、当業者によって認識されるであろう。また、集積回路設計システム例えば、ワークステーションは、これらに限定されないが、CD-ROM、RAM、他の形式のROM、ハードドライブ、分散メモリ等の、コンピュータ読取り可能メモリに記憶した実行可能命令に基づいて集積回路を作り出すことが知られる。命令は、これらに限定されないが、ハードウェア記述言語、または他の適切な言語等の、任意の適切な言語によって表すことができる。したがって、本明細書に記載したビデオ符号化器は、そのようなシステムによって、集積回路として生成してもよい。例えば、集積回路は、実行した場合、現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、現在フレーム内の複数の非固定画素の位置を、第1のプロセッサにより提供するよう動作する集積回路を、集積回路設計システムに作らせるコンピュータ読取り可能メディアに記憶した命令を使用して作り出すことができ、第2のプロセッサによって使用される現在フレーム内の実質的に非固定画素のみを描写する画素データを第1のプロセッサにより提供することができ、非固定画素の位置情報と、実質的に非固定画素のみを描写する画素データとに基づいて、複数の非固定画素に対する運動ベクトルデータを第2のプロセッサにより計算することができ、第2のプロセッサからの複数の非固定画素に対する運動ベクトルデータを使用して、現在フレームを第1のプロセッサにより符号化することができる。本明細書に記載した他の演算を実行する論理を有する集積回路も適切に生成することができる。上記の詳細な記述およびそこに記載された例は、例示および説明のみの目的のためのものであり、限定するものではない。したがって、本開示は、上記で開示され、本明細書で請求される原理の底流をなす基礎の主旨および範囲内に入る任意のおよび全ての変形例、変化物、または同等物を対象として含むことを意図する。"