JP2013532926A - 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム - Google Patents

複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム Download PDF

Info

Publication number
JP2013532926A
JP2013532926A JP2013521831A JP2013521831A JP2013532926A JP 2013532926 A JP2013532926 A JP 2013532926A JP 2013521831 A JP2013521831 A JP 2013521831A JP 2013521831 A JP2013521831 A JP 2013521831A JP 2013532926 A JP2013532926 A JP 2013532926A
Authority
JP
Japan
Prior art keywords
processor
current frame
fixed pixels
frame
pixel data
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
JP2013521831A
Other languages
English (en)
Inventor
スー ウエイ・リエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2013532926A publication Critical patent/JP2013532926A/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

方法およびシステムは、複数のプロセッサを使用して、ビデオフレームの符号化を備える。一例において、第1のプロセッサは、現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、現在フレーム内の複数の非固定画素の位置を提供する。第1のプロセッサは、第2のプロセッサによって使用される現在フレーム内の実質的に非固定画素のみを描写する画素データも提供する。第2のプロセッサは、非固定画素の位置情報と、実質的に非固定画素のみを描写する画素データとに基づいて、複数の非固定画素に対する運動ベクトルデータを計算する。第1のプロセッサは、第2のプロセッサからの複数の非固定画素に対する運動ベクトルデータを使用して、現在フレームを符号化する。
【選択図】図3

Description

本開示は、ビデオフレームを符号化するための方法およびシステムに関する。
従来のビデオ符号化システムは、通信チャネルを介して、当該通信チャネルの利用可能な帯域を用いて送信される必要がある情報量を減らすために、数々の技術を使用する。これらの技術は、復号化されて表示されたビデオにおいて許容できない劣化が生じることのないように、通信チャネルを介して、当該通信チャネルの利用可能な帯域を用いて送信される情報量を減らさなければならない。出力されたビデオが許容できないレベルに劣化することのないように、通信チャネルを介して、利用可能な帯域を用いて送信される情報量を減らすために、これらの技術は、連続するビデオフレーム間の時間冗長性(temporal redundancy)を使用する。
通信チャネルを介して、利用可能な帯域を用いて送信されなければならない情報量を減らす例示的な技術の1つは、ブロックマッチングと呼ばれる。従来のブロックマッチングアルゴリズムは、予め記憶した基準ビデオフレーム内の画素のブロックに対応する(すなわち、合致する)ような入力(すなわち、現在の)ビデオフレーム内の画素のブロックを識別しようとする。ブロックは、例えば、画素、画素の集合、(固定、または変更可能なサイズの)画素の領域、またはビデオフレームの実質的に任意の部分とすることができることを理解されたい。ブロックマッチングを実行するために使用するアルゴリズムは、例えば、当業者によって認識されるように、平均二乗誤差(mean square error;MSE)、平均絶対値差(mean absolute difference;MAD)、および差分絶対値和(sum absolute difference;SAD)等を含む。連続するビデオフレーム間の合致するブロックを識別することは、動き推定として知られる更なる帯域幅保存技術の適用を可能にする。
動き推定は、現在ビデオフレーム内の画素のブロックを、予め記憶した基準ビデオフレーム内の画素の対応するブロックと比較して、現在フレーム内の画素のブロックが、基準ビデオフレーム内の位置からどれだけ動いたかを決定する技術である。動き推定は、1組の運動ベクトルの計算を含む。運動ベクトルの組における各運動ベクトルは、現在ビデオフレーム内の画素の特定のブロックの、記憶した基準ビデオフレーム内の画素の対応するブロックからの変位を示す。画素のブロック内の各画素に対する完全な画素データを送信するよりもむしろ、画素の所定のブロックに対する運動ベクトルデータを送信することによって、帯域を節約することができる。これは、運動ベクトルデータは、画素の所定のブロックに対する画素データよりも実質的に小さいという事実によるものである。
帯域および符号化速度に影響する関連した問題は、符号化システムの物理アーキテクチャーである。例えば、従来の多くの符号化システムでは、ブロックマッチングおよび動き推定は、中央処理装置(CPU)等の同じプロセッサ上で実行される。しかしながら、動き推定は、ビデオ符号化の際に実行される最大の計算集約的演算(compute−intensive operation)として認識される。例えば、H.264/AVC(advanced video encoding)規格に合致したビデオ符号化を実行する場合、動き推定の計算は、全符号化時間の70%までを占める。このため、ビデオ符号化に無関係の他の演算を同時に実行するためのプロセッサ能力が非常に制限されることから、符号化圧縮技術のすべてを単一のプロセッサ上で実行することは大抵望ましくない。よって、既存の技術では、ある符号化計算を他のプロセッサに任せている。
例えば、いくつかの既存の符号化システムは、CPUよりむしろグラフィック処理装置(GPU)上で動き推定を実行する。動き推定をGPU等の他のプロセッサに任せることによって、一次プロセッサ(例えば、CPU)は、他の演算を実行するために解放される。この設計により一次プロセッサが解放されるが、それにもかかわらず、多くの障害を受ける。
例えば、プロセッサ間で符号化計算を分けると、第1のプロセッサ(例えば、CPU)と第2のプロセッサ(例えば、GPU)との間の通信チャネル(例えば、データバス)に沿ってデータのボトルネックを作り出すことが可能となってしまう。このデータのボトルネックは、入力データが入力されるのと同じ速さで第2のプロセッサが処理することができないという事実に基づいて作り出される。それに応じて、第2のプロセッサによる処理のために送られたデータは、第2のプロセッサが処理できるまで、待ち行列中で待機しなければならない。この問題は、既存の符号化システムが、画素の全ブロックに対する画素データをGPUに送るということによって悪化する。ビデオフレームを符号化する技術には、計算の複雑さおよび処理速度に関連した非効率さが多数存在する。
他の符号化方法では、第1のプロセッサから第2のプロセッサにサブサンプルの画素データを送ることによって、2つのプロセッサ間のメモリトラフィックを減らそうとしている。例えば、彩度サブサンプリング(chroma subsampling)として知られる符号化方法の1つでは、輝度情報よりも彩度情報に対してより小さな解像度を実現する(すなわち、彩度情報の「サブサンプリング」)ことによって、プロセッサ間のメモリトラフィックを減らそうとしている。しかしながら、そのような技術には、例えば、第2のプロセッサによって実行される動き推定の精度を下げる傾向がある。これは、符号化データがサブサンプリングされるとき、動き推定を決定する要因となる情報が少ない(例えば、彩度情報の不足)ためである。
そのため、ビデオ符号化計算の複雑さを減らし、同時に、ビデオ符号化を実行するためにかかる時間を減らす、ビデオフレームを符号化する方法およびシステムを改良する必要がある。
本開示は、以下の図に伴い、同一の参照番号が同一の要素を示す以下の記述からより容易に理解されるであろう。
本開示で記載する一例による、複数のプロセッサを使用して、ビデオフレームを符号化および復号化するシステムを概ね示すブロック図である。 複数のプロセッサを使用してビデオフレームを符号化する方法の一例を示すフローチャートである。 本開示に記載する一例による、ビデオフレームを符号化するための符号化器を概ね示すブロック図である。 複数のプロセッサを使用してビデオフレームを符号化する方法の他の例を示すフローチャートである。
本開示は、複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステムを提供する。一例において、複数のプロセッサを使用してビデオフレームを符号化するための方法が開示される。本例において、本方法は、現在フレーム内の複数の非固定画素の位置を、第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値、YUV等)を含む。さらに、画素データは、例えば、フレーム内の各画素の位置を示すx、y、およびz座標値等の、フレーム内の各画素に対する座標値を含んでもよい。また、本明細書で使用される場合、フレームは、任意の数の領域を備えることができる。例えば、単一のフレームは、当業者によって認識されるであろう、フレーム画像内の奇数番目の水平線を描写する「上部領域」と、フレーム画像内の偶数番目の水平線を描写する「底部領域」を備えることができる。
符号化器102は、第2のプロセッサ106に動作可能に接続された第1のプロセッサ104を含む。プロセッサ104、106は、記憶部に記憶した実行可能命令の制御下で動作する、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、またはそれらの組合せを備えることができる。一例において、第1のプロセッサ104は、中央処理装置(CPU)である。一例において、第2のプロセッサは、グラフィック処理装置(GPU)である。他の例において、第2のプロセッサは、汎用GPU(GPGPU)である。第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−zero quantization coefficient block)を検出する既存の概念を取り入れることを意図する。本処理は、例えば、16×16マクロブロックの8×8サブブロックにおける係数が、量子化処理の後に零になるかどうかを確認することによって開始する。例えば、以下の数式を、所定の8×8サブブロックを構成する画素に応用することができる。
SAD((x,y)の位置に対する絶対差の合計)=
Figure 2013532926
一例において、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値、YUV等)を備えることができる。さらに、画素データは、フレーム内の実質的に非固定画素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(すなわち、F)内の画素を描写する画素データと、メモリ316からの入力として直前ビデオフレーム302(すなわち、Fn−1)内の画素を描写する画素データとを受け入れる。画素データ300、302は、例えば、フレーム内の各画素に対して1つの輝度と2つの色差値(例えば、YCbCr値、YUV値、YPbPr値、YUV等)を含むことができる。さらに、画素データは、例えば、フレーム内の各画素の位置を示す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のプロセッサにより符号化することができる。本明細書に記載した他の演算を実行する論理を有する集積回路も適切に生成することができる。
上記の詳細な記述およびそこに記載された例は、例示および説明のみの目的のためのものであり、限定するものではない。したがって、本開示は、上記で開示され、本明細書で請求される原理の底流をなす基礎の主旨および範囲内に入る任意のおよび全ての変形例、変化物、または同等物を対象として含むことを意図する。

Claims (21)

  1. 複数のプロセッサを使用してビデオフレームを符号化するための方法であり、前記方法は、
    現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を、第1のプロセッサにより提供し、
    前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを、前記第1のプロセッサにより提供し、
    前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて前記複数の非固定画素に対する運動ベクトルデータを、前記第2のプロセッサにより計算し、
    前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルを使用して、前記現在フレームを、前記第1のプロセッサにより符号化することを備える、
    方法。
  2. 前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを、前記第1のプロセッサにより生成することをさらに備える、
    請求項1に記載の方法。
  3. 生成したエラー検出データに応じて、前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを、前記第1のプロセッサにより示すことをさらに備える、
    請求項2に記載の方法。
  4. 運動ベクトルデータを計算することは、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定することを含む、
    請求項1に記載の方法。
  5. 前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、
    請求項4に記載の方法。
  6. 前記直前フレームは、前記基準フレームを含む、
    請求項5に記載の方法。
  7. 前記現在フレーム内の実質的に非固定画素のみを描写する前記画素データは、前記現在フレーム内の非固定画素のみを描写する画素データを含む、
    請求項1に記載の方法。
  8. ビデオフレームを符号化するためのビデオ符号化器であり、前記ビデオ符号化器は、
    第1のプロセッサと第2のプロセッサとを備え、
    前記第1のプロセッサは、
    現在フレーム内の画素データを、前記第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、
    前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供するよう動作し、
    前記第2のプロセッサは、
    前記第1のプロセッサに動作可能に接続され、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて前記複数の非固定画素に対する運動ベクトルデータを計算するよう動作し、
    前記第1のプロセッサは、さらに、前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルデータを使用して、前記現在フレームを符号化するよう動作する、
    ビデオ符号化器。
  9. 前記第1のプロセッサは、前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じてエラー検出データを生成するよう動作するエラー検出モジュールを備える、
    請求項8に記載のビデオ符号化器。
  10. 前記第1のプロセッサは、エラー検出データを受信したことに応じて前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示すよう動作するフレーム生成モジュールを備える、
    請求項9に記載のビデオ符号化器。
  11. 前記第2のプロセッサは、運動ベクトルデータを計算するために、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定するよう動作する動き推定モジュールを備える、
    請求項8に記載のビデオ符号化器。
  12. 前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、
    請求項11に記載のビデオ符号化器。
  13. 前記直前フレームは、前記基準フレームを含む、
    請求項12に記載のビデオ符号化器。
  14. 前記第1のプロセッサは、
    前記現在フレーム内の前記複数の非固定画素の前記位置を決定し、および前記第2のプロセッサによって使用される前記現在フレームに対応する非固定画素の位置情報と、前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データとの両方を提供するよう動作する非固定画素検出モジュールを備える、
    請求項8に記載のビデオ符号化器。
  15. 複数のプロセッサを使用して、ビデオフレームを符号化および復号化するためのシステムであり、前記システムは、
    第1のプロセッサと、第2のプロセッサと、復号化器とを備え、
    前記第1のプロセッサは、
    現在フレーム内の画素データを、第2のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、
    前記第2のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供するよう動作し、
    前記第2のプロセッサは、
    前記第1のプロセッサに動作可能に接続され、前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて、前記複数の非固定画素に対する運動ベクトルデータを計算するよう動作し、
    前記第1のプロセッサは、さらに、前記第2のプロセッサからの前記複数の非固定画素に対する前記運動ベクトルデータを使用して、前記現在フレームを符号化するよう動作し、
    前記復号化器は、
    前記第1のプロセッサに動作可能に接続され、前記符号化された現在フレームを復号化して、復号化された現在フレームを提供するよう動作する、
    システム。
  16. 前記第1のプロセッサは、
    前記複数の非固定画素に対する前記運動ベクトルデータが所定の値を超えたと決定したことに応じて、エラー検出データを生成するよう動作するエラー検出モジュールを備える、
    請求項15に記載のシステム。
  17. 前記第1のプロセッサは、
    エラー検出データを受信したことに応じて、前記運動ベクトルデータを計算する際に使用するための新しい基準フレームが利用可能であることを示すよう動作するフレーム生成モジュールを備える、
    請求項16に記載のシステム。
  18. 前記第2のプロセッサは、
    運動ベクトルデータを計算するために、基準フレームと前記現在フレームとの間の前記複数の非固定画素の並進シフトを決定するよう動作する動き推定モジュールを備える、
    請求項15に記載のシステム。
  19. 前記基準フレームは、前記現在フレーム内の非固定画素を描写する画素データと、前記現在フレーム内の固定画素を描写する画素データとの両方を含む、
    請求項18に記載のシステム。
  20. 前記直前フレームは、前記基準フレームを含む、
    請求項19に記載のシステム。
  21. 複数のプロセッサを使用してビデオフレームを符号化するためのプロセッサであり、前記プロセッサは、
    現在フレーム内の画素データを、他のプロセッサによって使用される直前フレーム内の対応する画素データと比較することによって、前記現在フレーム内の複数の非固定画素の位置を提供し、
    前記他のプロセッサによって使用される前記現在フレーム内の実質的に非固定画素のみを描写する画素データを提供し、
    前記非固定画素の位置情報と、実質的に非固定画素のみを描写する前記画素データとに基づいて、前記複数の非固定画素に対して前記他のプロセッサによって計算された運動ベクトルデータを使用して前記現在フレームを符号化するよう動作する、
    プロセッサ。
JP2013521831A 2010-07-28 2011-07-21 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム Withdrawn JP2013532926A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/845,293 2010-07-28
US12/845,293 US20120027091A1 (en) 2010-07-28 2010-07-28 Method and System for Encoding Video Frames Using a Plurality of Processors
PCT/US2011/044778 WO2012015654A1 (en) 2010-07-28 2011-07-21 Method and system for encoding video frames using a plurality of processors

Publications (1)

Publication Number Publication Date
JP2013532926A true JP2013532926A (ja) 2013-08-19

Family

ID=44453893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013521831A Withdrawn JP2013532926A (ja) 2010-07-28 2011-07-21 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム

Country Status (6)

Country Link
US (1) US20120027091A1 (ja)
EP (1) EP2599314A1 (ja)
JP (1) JP2013532926A (ja)
KR (1) KR20130130695A (ja)
CN (1) CN103081466A (ja)
WO (1) WO2012015654A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831101B2 (en) * 2008-08-02 2014-09-09 Ecole De Technologie Superieure Method and system for determining a metric for comparing image blocks in motion compensated video coding
US9100656B2 (en) 2009-05-21 2015-08-04 Ecole De Technologie Superieure Method and system for efficient video transcoding using coding modes, motion vectors and residual information
US8755438B2 (en) * 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
ITTO20110414A1 (it) * 2011-05-11 2012-11-12 St Microelectronics Pvt Ltd Procedimento ed apparecchiatura per elaborare segnali video, prodotto informatico e segnale codificato relativi
US10785498B2 (en) * 2012-11-27 2020-09-22 Squid Design Systems Pvt Ltd System and method of mapping multiple reference frame motion estimation on multi-core DSP architecture
JP2014200075A (ja) * 2013-03-15 2014-10-23 株式会社リコー コンピュータシステム、配信制御システム、配信制御方法、及びプログラム
US10284875B2 (en) * 2016-08-08 2019-05-07 Qualcomm Incorporated Systems and methods for determining feature point motion
WO2021025717A1 (en) * 2019-08-07 2021-02-11 Google Llc Face-based frame rate upsampling for video calls

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952211B1 (en) * 2002-11-08 2005-10-04 Matrox Graphics Inc. Motion compensation using shared resources of a graphics processor unit
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
CN101540912B (zh) * 2004-06-27 2011-05-18 苹果公司 对编码视频数据选择编码类型和预测模式
US8634469B2 (en) * 2006-02-06 2014-01-21 Thomson Licensing Method and apparatus for reusing available motion information as a motion estimation predictor for video encoding
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US9332264B2 (en) * 2007-12-30 2016-05-03 Intel Corporation Configurable performance motion estimation for video encoding

Also Published As

Publication number Publication date
EP2599314A1 (en) 2013-06-05
US20120027091A1 (en) 2012-02-02
WO2012015654A1 (en) 2012-02-02
KR20130130695A (ko) 2013-12-02
CN103081466A (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
US9699459B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
JP2013532926A (ja) 複数のプロセッサを使用してビデオフレームを符号化するための方法およびシステム
KR102121558B1 (ko) 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US20220046261A1 (en) Encoding method and apparatus for screen sharing, storage medium, and electronic device
JP6149707B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
WO2019072248A1 (zh) 运动估计方法、装置、电子设备及计算机可读存储介质
CN100521744C (zh) 图像处理设备和方法
US20090016623A1 (en) Image processing device, image processing method and program
US9319682B2 (en) Moving image encoding apparatus, control method therefor, and non-transitory computer readable storage medium
US10034016B2 (en) Coding apparatus, computer system, coding method, and computer product
US10542277B2 (en) Video encoding
US20140354771A1 (en) Efficient motion estimation for 3d stereo video encoding
US11044477B2 (en) Motion adaptive encoding of video
TWI249291B (en) Method of video compression that accommodates scene changes
JP5748225B2 (ja) 動画像符号化方法,動画像符号化装置および動画像符号化プログラム
JP5178616B2 (ja) シーンチェンジ検出装置および映像記録装置
US20160261869A1 (en) Content-adaptive b-picture pattern video encoding
US10097830B2 (en) Encoding device with flicker reduction
US10979704B2 (en) Methods and apparatus for optical blur modeling for improved video encoding
JP2008154072A (ja) 動画像符号化装置及び動画像符号化方法
US20110051815A1 (en) Method and apparatus for encoding data and method and apparatus for decoding data
US20110228851A1 (en) Adaptive search area in motion estimation processes
JP5171675B2 (ja) 画像処理装置、およびそれを搭載した撮像装置
US20230209064A1 (en) Identifying long term reference frame using scene detection and perceptual hashing

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007