(57)【要約】【課題】【解決手段】ビデオ符号化技法が説明される。１つの例では、ビデオ符号化技法は、符号化されるビデオフレーム内のビデオブロックの集合と関連付けられる運動ベクトルに基づいて、検索空間内でビデオブロックと関連付けられるピクセル位置を特定することを含み、集合の中のビデオブロックは、符号化されるビデオフレームの現在のビデオブロックを基準にして定められる場所に空間的に配置される。次に運動推定ルーチンが、特定されたピクセル位置にある現在のビデオブロックについて初期化されてよい。ビデオフレーム内のビデオブロックの集合と関連付けられる運動ベクトルに基づいて、検索空間内のビデオブロックと関連付けられるピクセル位置を特定することにより、空間冗長の現象は符号化プロセスを加速し、改善するために更に容易に利用できる。
2005530421.tif 000002
【特許請求の範囲】
【請求項１】
ビデオフレーム内のビデオブロックの集合と関連付けられる計算された運動ベクトルに基づいて、検索空間内のビデオブロックに関連付けられるピクセル位置を特定することと、前記集合の中の前記ビデオブロックは、符号化されるビデオフレームの現在のビデオブロックを基準にして定められた場所に位置し、前記特定されたピクセル位置で現在のビデオブロックのための運動推定ルーチンを初期化することとを備える符号化ルーチンを使用して、ビデオフレームを符号化するエンコーダと、
前記符号化されたビデオフレームを送信する送信機と、
を備えたデバイス。
【請求項２】
前記ピクセル位置を特定することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックと関連付けられる運動ベクトルに基づいて、ピクセル座標の集合を計算することを備えた請求項１に記載のデバイス。
【請求項３】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、中央値を計算することを含む請求項２に記載のデバイス。
【請求項４】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、平均を計算することを含む請求項２に記載のデバイス。
【請求項５】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、重み関数を計算することを含み、現在のビデオブロックに空間的により近いビデオブロックの集合の中のビデオブロックに関連付けられた運動ベクトルが、現在のビデオブロックから空間的に更に遠いビデオブロックの集合の中のビデオブロックと関連付けられる運動ベクトルより、前記重み関数に更に多い重みが与えられる請求項２に記載のデバイス。
【請求項６】
前記エンコーダは、
前記特定されたピクセル位置の周りに半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置と関連付けられる検索空間のビデオブロックと現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円内のピクセル位置を特定することと、
最低差分値を生じさせるビデオブロックを特定する円内の特定されたピクセル位置が円の中心に一致するときに最低差分値を生じさせるビデオブロックを特定する円の中の特定されたピクセル位置により定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
を含む運動推定ルーチンを使用して現在のビデオブロックを符号化する請求項１に記載のデバイス。
【請求項７】
前記エンコーダは、現在のビデオブロックを符号化するために使用可能な計算リソースの決定された量に基づいて、実行される計算数を動的に調整することを含む運動推定ルーチンを使用して、現在のビデオブロックを符号化する請求項１に記載のデバイス。
【請求項８】
ビデオフレームの現在のビデオブロックを符号化するために検索空間内のピクセル位置で運動推定ルーチンを初期化することと、
前記ピクセル位置の周りに半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置の集合と関連付けられる検索空間のビデオブロックと現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、
前記特定されたピクセル位置が前記円の中心に一致するときに、前記特定されたピクセル位置により定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
によりビデオフレームを符号化するエンコーダと、
前記符号化されたビデオフレームを送信する送信機と、
を備えたデバイス。
【請求項９】
前記最低差分値を生じさせるビデオブロックを特定する半径（Ｒ）の円の中で特定されるピクセル位置が、円の中心に一致しないときに、前記エンコーダはビデオフレームを、
前記半径（Ｒ）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ’）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中にピクセル位置を特定することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置により定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
により符号化する請求項８に記載のデバイス。
【請求項１０】
前記半径（Ｒ）が前記半径（Ｒ’）にほぼ等しい請求項９に記載のデバイス。
【請求項１１】
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致しないときに、前記エンコーダはビデオフレームを、
前記半径（Ｒ’）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ”）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する半径（Ｒ”）の円の中のピクセル位置を特定することと、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置が前記半径（Ｒ”）の円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置により定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
により符号化する請求項９に記載のデバイス。
【請求項１２】
前記デバイスは、デジタルテレビ、無線通信装置、パーソナルデジタルアシスタント、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録装置、ビデオ機能を有するセルラー無線電話、及びビデオ機能を有する衛星無線電話からなるグループから選択される請求項８に記載のデバイス。
【請求項１３】
ビデオフレーム内のビデオブロックの集合の運動ベクトルに基づいて検索空間の中のピクセル位置を特定することであって、前記集合の中のビデオブロックは符号化されるビデオフレームの現在のビデオブロックを基準にして定められる場所に位置することと、
前記特定されたピクセル位置で現在のビデオブロックのための運動推定ルーチンを初期化することと、
を備えるビデオ符号化の方法。
【請求項１４】
現在のビデオブロックを基準にして定められた場所に位置する集合の中の前記ビデオブロックは、現在のビデオブロックに隣接するビデオブロックを備えた請求項１３に記載の方法。
【請求項１５】
前記ピクセル位置を特定することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックのために計算される運動ベクトルに基づいて、ピクセル座標の集合を計算することを備えた請求項１３に記載の方法。
【請求項１６】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックために計算された運動ベクトルに基づいて、中央値を計算することを含む請求項１５に記載の方法。
【請求項１７】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックのために計算された運動ベクトルに基づいて、平均を計算することを含む請求項１５に記載の方法。
【請求項１８】
前記ピクセル座標の集合を計算することは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックのために計算された運動ベクトルに基づいて重み関数を計算することを含み、現在のビデオブロックに空間的に更に近い集合の中のビデオブロックのために計算された運動ベクトルが、現在のビデオブロックから空間的に更に遠い集合の中のビデオブロックのために計算された運動ベクトルより、重み関数の中で更に多くの重みが与えられる請求項１５に記載の方法。
【請求項１９】
運動推定ルーチンを使用して前記現在のビデオブロックを符号化することを更に備えた請求項１３に記載の方法。
【請求項２０】
前記運動推定ルーチンは、
特定されたピクセル位置の周りで半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置に関連付けられる検索空間のビデオブロックと前記現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、
前記最低差分値を生じさせるビデオブロックを特定する円の中の特定されたピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中の特定されたピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を含む請求項１９に記載の方法。
【請求項２１】
最低差分値を生じさせるビデオブロックを特定する円の中の前記特定されたピクセル位置が前記円の中心に一致しないときに、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ）の円の中の特定されたピクセル位置の周りに半径（Ｒ’）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置を特定することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の特定されたピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の特定されたピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を更に備えた請求項２０に記載の方法。
【請求項２２】
前記運動推定ルーチンは、前記現在のビデオブロックを符号化するために使用可能な計算リソースの決定された量に基づいて実行される計算の数を、動的に調整することを含む請求項１９に記載の方法。
【請求項２３】
ビデオフレームの現在のビデオブロックを符号化するために検索空間内のピクセル位置で運動推定ルーチンを初期化することと、
前記ピクセル位置の周りに半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置の集合と関連付けられる前記検索空間のビデオブロックと現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、
前記特定されたピクセル位置が前記円の中心に一致するときに、特定されたピクセル位置によって定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
を備えた方法。
【請求項２４】
前記特定されたピクセル位置が円の中心に一致しないときに、
前記特定されたピクセル位置の周りに半径（Ｒ’）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置を特定することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の特定されたピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の特定されたピクセル位置によって定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を更に備えた請求項２３に記載の方法。
【請求項２５】
前記半径（Ｒ）が前記半径（Ｒ’）にほぼ等しい請求項２４に記載の方法。
【請求項２６】
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の前記特定されたピクセル位置が前記半径（Ｒ’）の円の中心に一致しないときに、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中の特定されたピクセル位置の周りに半径（Ｒ”）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置を特定することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中の特定されたピクセル位置が前記半径（Ｒ”）の円の中心に一致するときに、最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中の特定されたピクセル位置によって定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を更に備えた請求項２４に記載の方法。
【請求項２７】
コンピュータ実行可能命令を記憶するメモリと、
集合の中のビデオブロックが、符号化されるビデオフレームの現在のビデオブロックを基準にして定められた場所に位置する、ビデオフレーム内のビデオブロックの集合と関連付けられた計算済みの運動ベクトルに基づいて、検索空間中のビデオブロックに関連付けられるピクセル位置を特定し、
前記特定されたピクセル位置で前記現在のビデオブロックの運動推定ルーチンを初期化するための命令を実行するプロセッサと、
を備えた装置。
【請求項２８】
前記プロセッサは、前記現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックに関連付けられる運動ベクトルに基づいて中央値を計算することによって、ピクセル位置を特定する請求項２７に記載の装置。
【請求項２９】
前記プロセッサは、前記現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の中のビデオブロックのピクセル座標に基づいて平均を計算することによって、ピクセル位置を特定する請求項２７に記載の装置。
【請求項３０】
前記プロセッサは、前記現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、重み関数を計算することによって前記ピクセル位置を特定し、現在のビデオブロックに空間的に更に近い集合の中のビデオブロックに関連付けられる運動ベクトルが、前記現在のビデオブロックから空間的に更に遠い集合の中のビデオブロックに関連付けられる運動ベクトルより、重み関数で更に多い重みが与えられる請求項２７に記載の装置。
【請求項３１】
前記プロセッサは、前記運動推定ルーチンを実行するために命令を実行し、前記運動推定ルーチンは、
前記特定されたピクセル位置の周りに半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置に関連付けられる検索空間のビデオブロックと前記現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、
前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を含む請求項２７に記載の装置。
【請求項３２】
前記プロセッサは、前記命令を実行して前記運動推定ルーチンを実行し、前記運動推定ルーチンは、前記現在のビデオブロックを符号化するために使用可能な計算リソースの決定された量に基づいて、実行される計算の数を動的に調整することを含む請求項２７に記載の装置。
【請求項３３】
コンピュータ実行可能命令を記憶するメモリと、
ビデオフレームの現在のビデオブロックを符号化するために検索空間内のピクセル位置で運動推定ルーチンを初期化し、
前記ピクセル位置の周りに半径（Ｒ）の円を定義し、
前記円の中のピクセル位置の集合と関連付けられる検索空間のビデオブロックと現在のビデオブロックを比較し、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定し、
前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する、
ための命令を実行するプロセッサと、
を備えた装置。
【請求項３４】
前記最低差分値を生じさせるビデオブロックを特定する半径（Ｒ）の円の中のピクセル位置が前記円の中心に一致しないときに、前記プロセッサは、
前記半径（Ｒ）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ’）の別の円を定義し、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置を特定し、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する、
ための命令を実行する請求項３３に記載の装置。
【請求項３５】
ＭＰＥＧ−４規格に従ってビデオブロックを符号化する装置であって、
ビデオフレームの中のビデオブロックの集合に関連付けられている計算済みの運動ベクトルに基づいて、検索空間内のビデオブロックと関連付けられるピクセル位置を特定し、ビデオブロックの前記集合は、符号化されるビデオフレームの現在のビデオブロックを基準にして定められた場所に位置しており、
前記特定されたピクセル位置で前記現在のビデオブロックのための運動推定ルーチンを初期化する装置。
【請求項３６】
前記装置は、ＭＰＥＧ−４規格に従って前記ビデオブロックを符号化するために、コンピュータ読み取り可能命令を実行するデジタル信号プロセッサを備えた請求項３５に記載の装置。
【請求項３７】
ＭＰＥＧ−４規格に従ってビデオブロックを符号化する装置であって、
ビデオフレームの現在のビデオブロックを符号化するために検索空間内のピクセル位置で運動推定ルーチンを初期化し、
前記ピクセル位置の周りに半径（Ｒ）の円を定義し、
前記円の中のピクセル位置の集合と関連付けられる検索空間のビデオブロックと現在のビデオブロックを比較し、
最低差分値を生じさせるビデオブロックを特定する前記円の中のピクセル位置を特定し、
前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する装置。
【請求項３８】
前記装置は、ＭＰＥＧ−４規格に従ってビデオブロックを符号化するために、コンピュータ読み取り可能命令を実行するデジタル信号プロセッサを備えた請求項３７に記載の装置。
【請求項３９】
ＭＰＥＧ−４規格に準拠するビデオシーケンスを符号化する装置内で実行時に、
ビデオフレームの中のビデオブロックの集合に関連付けられる計算済みの運動ベクトルに基づいて、検索空間内のビデオブロックに関連付けられるピクセル位置を特定し、前記集合の中の前記ビデオブロックは、符号化されるビデオフレームの現在のビデオブロックを基準にして定められた場所に位置しており、
前記特定されたピクセル位置で前記現在のビデオブロックのための運動推定ルーチンを初期化する、
命令を備えたコンピュータ読み取り可能媒体。
【請求項４０】
前記現在のビデオブロックを基準にして定められる場所にある前記ビデオブロックは、前記現在のビデオブロックに隣接するビデオブロックを備えた請求項３９に記載のコンピュータ読み取り可能媒体。
【請求項４１】
実行時に、前記現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合の中でビデオブロックに関連付けられる運動ベクトルに基づいて、ピクセル座標の集合を計算することにより、ピクセル位置を特定する命令を更に備えた請求項３９に記載のコンピュータ読み取り可能媒体。
【請求項４２】
前記ピクセル座標の集合を計算することは、前記現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、中央値を計算することを含む請求項４１に記載のコンピュータ読み取り可能媒体。
【請求項４３】
前記ピクセル座標の集合を計算することは、前記現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合の中のビデオブロックの運動ベクトルに基づいて、平均を計算することを含む請求項４１に記載のコンピュータ読み取り可能媒体。
【請求項４４】
前記ピクセル座標の集合を計算することは、前記現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合の中のビデオブロックに関連付けられる運動ベクトルに基づいて、重み関数を計算することを含み、現在のビデオブロックに空間的により近い集合の中のビデオブロックに関連付けられる運動ベクトルが、現在のビデオブロックから空間的に更に遠い集合の中のビデオブロックに関連付けられる運動ベクトルより、重み関数で更に大きな重みが与えられる請求項４１に記載のコンピュータ読み取り可能媒体。
【請求項４５】
実行時に、前記運動推定ルーチンを使用して現在のビデオブロックを符号化する命令を更に備えた請求項３９に記載のコンピュータ読み取り可能媒体。
【請求項４６】
前記運動推定ルーチンは、
前記特定されたピクセル位置の周りに半径（Ｒ）の円を定義することと、
前記円の中のピクセル位置に関連付けられる検索空間のビデオブロックと前記現在のビデオブロックを比較することと、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、
前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化することと、
を含む請求項４５に記載のコンピュータ読み取り可能媒体。
【請求項４７】
前記最低差分値を生じさせるビデオブロックを特定する半径（Ｒ）の円の中のピクセル位置が前記円の中心に一致しないときに、前記運動推定ルーチンは、
前記半径（Ｒ）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ’）の別の円を定義することと、
最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置を特定することと、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置によって定められる運動ベクトルを使用して、現在のビデオブロックを符号化することと、
を更に含む請求項４６に記載のコンピュータ読み取り可能媒体。
【請求項４８】
前記運動推定ルーチンは、前記現在のビデオブロックを符号化するために使用可能な計算リソースの決定された量に基づいて、実行される計算の数を動的に調整することを含む請求項４５に記載のコンピュータ読み取り可能媒体。
【請求項４９】
ＭＰＥＧ−４規格に準拠するビデオシーケンスを符号化する装置における実行時に、
ビデオフレームの現在のビデオブロックを符号化するために、検索空間の中のピクセル位置で運動推定ルーチンを初期化し、
前記ピクセル位置の周りに半径（Ｒ）の円を定義し、
前記円の中のピクセル位置の集合に関連付けられる検索空間のビデオブロックと現在のビデオブロックを比較し、
最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定し、
最低差分値を生じさせるビデオブロックを特定する前記円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する、
命令を備えたコンピュータ読み取り可能媒体。
【請求項５０】
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ）の円の中のピクセル位置が前記円の中心に一致しないときに、実行時の命令が、
前記半径（Ｒ）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ’）の別の円を定義し、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置を特定し、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを識別する前記半径（Ｒ’）の円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する請求項４９に記載のコンピュータ読み取り可能媒体。
【請求項５１】
前記半径（Ｒ）が前記半径（Ｒ’）にほぼ等しい請求項５０に記載のコンピュータ読み取り可能媒体。
【請求項５２】
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ’）の円の中のピクセル位置が前記半径（Ｒ’）の円の中心に一致しないときに、実行時の命令が、
前記半径（Ｒ’）の円の中心に一致しない最低差分値を生じさせるビデオブロックを特定するピクセル位置の周りに半径（Ｒ”）の別の円を定義し、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置を特定し、
前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置が前記半径（Ｒ”）の円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する前記半径（Ｒ”）の円の中のピクセル位置によって定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化する請求項５０に記載のコンピュータ読み取り可能媒体。
【請求項５３】
ビデオフレームの中のビデオブロックの集合に関連付けられる計算済みの運動ベクトルに基づいて、検索空間の中のビデオブロックと関連付けられるピクセル位置を特定するための手段であって、前記集合の中の前記ビデオブロックは、符号化されるビデオフレームの現在のビデオブロックを基準にして定められる場所に位置する手段と、
特定されたピクセル位置で現在のビデオブロックのための運動推定ルーチンを初期化するための手段と、
を備えた装置。
【請求項５４】
ビデオフレームの現在のビデオブロックを符号化するために、検索空間の中のピクセル位置で運動推定ルーチンを初期化するための手段と、
ピクセル位置の周りに半径（Ｒ）の円を定義するための手段と、
前記円の中のピクセル位置の集合に関連付けられる検索空間のビデオブロックと前記現在のビデオブロックを比較するための手段と、
最低差分値を生じさせるビデオブロックを特定する前記円の中のピクセル位置を特定するための手段と、
前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が前記円の中心に一致するときに、前記最低差分値を生じさせるビデオブロックを特定する円の中のピクセル位置により定められる運動ベクトルを使用して、前記現在のビデオブロックを符号化するための手段と、
を備えた装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はデジタルビデオ処理に関し、更に詳細にはビデオシーケンスの符号化に関する。
【背景技術】
【０００２】
デジタルビデオ機能は、デジタルテレビ、デジタル直接放送システム、無線通信装置、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録装置、セルラーまたは衛星無線電話等を含む幅広い範囲の装置に組み込むことができる。これらの及び他のデジタルビデオデバイスは、フルモーションビデオシーケンスを作成、修正、送信、記憶、記録及び再生する際に従来のアナログビデオシステムに優る重要な改善を実現できる。
【０００３】
デジタルビデオシーケンスを符号化するためには数多くの異なるビデオ符号化規格が確立されてきた。例えば、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２及びＭＰＥＧ−４を含む多くの規格を作成してきた。他の規格はＩＴＵ  Ｈ．２６３、カリフォルニア州クパチーノ（Ｃｕｐｅｒｔｉｎｏ  Ｃａｌｉｆｏｒｎｉａ）のアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ）により開発されたＱｕｉｃｋＴｉｍｅ（商標）技術、ワシントン州レドモンド（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）のマイクロソフト社（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）により開発されたＶｉｄｅｏ  ｆｏｒ  Ｗｉｎｄｏｗｓ（商標）、インテル社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）により開発されたＩｎｄｅｏ（商標）、ワシントン州シアトル（Ｓｅａｔｔｌｅ，Ｗａｓｈｉｎｇｔｏｎ）のリアルネットワークス社（ＲｅａｌＮｅｔｗｏｒｋｓ，Ｉｎｃ．）のＲｅａｌＶｉｄｅｏ（商標）、及びスーパーマック社（ＳｕｐｅｒＭａｃ，Ｉｎｃ．）により開発されたＣｉｎｅｐａｋ（商標）を含む。まだ開発されていない規格も含む、これらの及び他の規格は、進化し続けるであろう。
【０００４】
多くのビデオ符号化規格は、圧縮様式でデータを符号化することにより伝送速度の加速を達成している。圧縮はビデオフレームの効果的な伝送のために送信される必要のあるデータの総量を削減できる。例えばＭＰＥＧ規格は、圧縮を行わずに達成できるより狭い帯域幅でのビデオと画像の伝送を容易にするように設計されるグラフィックス技法及びビデオ圧縮技法を活用する。特に、ＭＰＥＧ規格は、フレーム間圧縮を実現するために時間相関またはフレーム間相関と呼ばれる連続ビデオフレーム間の類似性を活用する、ビデオ符号化技法をサポートしている。フレーム間圧縮技法は、ビデオフレームのピクセルベースの表現を動画表現に変換することによりフレーム全体でデータ冗長性を利用する。加えて、ビデオ符号化技法は、ビデオフレームを更に圧縮するために、空間相関またはフレーム内相関と呼ばれるフレーム内の類似性を活用してよい。フレーム内圧縮は通常離散コサイン変換（ＤＣＴ）符号化などの静止画像を圧縮するためのテクスチャ符号化プロセスに基づいている。
【０００５】
圧縮技法をサポートするために、多くのデジタルビデオデバイスはデジタルビデオシーケンスを圧縮するためのエンコーダと、デジタルビデオシーケンスを解凍するためのデコーダを含む。多くのケースでは、エンコーダとデコーダは、ビデオ画像のシーケンスを定義するフレーム内のピクセルのブロックで動作する統合されたエンコーダ／デコーダ（コーデック）を形成する。例えば、ＭＰＥＧ−４規格では、送信側装置のエンコーダは、通常、送信されるビデオフレームを更に小さな画像ブロックを含むマクロブロックに分割する。ビデオフレームの中のマクロブロック毎に、エンコーダは、最も類似したマクロブロックを特定するためにすぐ前に先行するビデオフレームのマクロブロックを検索し、過去のフレームからのどのマクロブロックが符号化のために使用されたのかを示す運動ベクトルと共に、伝送のためのマクロブロック間の差異を符号化する。受信側装置のデコーダは運動ベクトル及び符号化された差異を受信し、運動補償を実行し、ビデオシーケンスを生成する。
【０００６】
ビデオ符号化プロセスは、特に運動推定技法が使用されるときに計算集約的である。例えば、符号化されるビデオブロックを、過去に送信されたフレームのビデオブロックに比較するプロセスは多数の計算を必要とする。改善された符号化技法は、計算リソースがより制限的であり、特に電力消費が懸念事項である無線装置または他の携帯型ビデオ装置で使用するために極めて望ましい。同時に、圧縮の改善は、ビデオシーケンスの効果的な伝送のために必要とされる帯域幅を削減するために望ましい。これらの要因の１つ以上を改善すると、特に無線及び他の帯域幅が制限された設定においてビデオシーケンスをリアルタイム符号化が容易になる、あるいは改善される可能性がある。
【発明の開示】
【０００７】
本開示は、ビデオシーケンスを符号化するために使用できるビデオ符号化技法を説明する。例えば、ビデオ符号化技法は、符号化されるビデオフレーム内のビデオブロックの集合の運動ベクトルに基づいて、検索空間内でビデオブロックと関連付けられるピクセル位置を特定することを含む場合がある。ビデオブロックの集合の中のビデオブロックは、符号化されるビデオフレームの現在のビデオブロックを基準にして定められた場所に位置するビデオブロックを備えてよい。次に移動推定ルーチンは特定されたピクセル位置で現在のビデオブロックのために初期化できる。ビデオフレーム内でビデオブロックの集合に関連付けられる計算された運動ベクトルに基づいて検索空間内のビデオブロックと関連付けられるピクセル位置を特定することによって、符号化プロセスを加速し、改善するために空間冗長の現象が更に容易に利用できる。多様な例では、初期化された場所は、符号化されるビデオブロックを基準にして定められた場所に位置するビデオブロックの集合の運動ベクトルに基づいて、線形または非線形関数を使用して計算できる。例えば、ビデオブロックの集合の運動ベクトルに基づいた中央値関数、平均関数または重み関数が使用できる。
【０００８】
ビデオフレームの現在のビデオブロックを符号化するために検索空間内のピクセル位置にある運動推定ルーチンを初期化した後に、運動推定ルーチンは現在のビデオブロックを符号化するために実行できる。符号化の間の計算数を削減するために、運動推定ルーチンは検索空間内にビデオブロックの網羅的ではない検索を備えてよい。例えば、運動推定ルーチンは、初期化されたピクセル位置の周りで半径（Ｒ）の円を定義することと、符号化される現在のビデオブロックを、円の中のピクセル位置の集合と関連付けられる検索空間のビデオブロックに比較することを含んでよい。円は少なくとも５個のピクセルを含むのに十分なほどの大きさであってよい。しかしながら、少なくとも９個のピクセル、例えば中心ピクセルと中間ピクセルを取り囲む８個のピクセルを含むのに十分なほど大きい円を定義することにより、プロセスはあらゆる方向でのビデオ運動を予想することによって改善されてよい。更に大きな円または更に小さな円も使用されてよい。ルーチンは、更に、最低の差分値を生じさせるビデオブロックを特定する円の中のピクセル位置を特定することと、そのピクセル位置が円の中心に一致するときに最低の差分値を生じさせるビデオブロックを特定する円内のピクセル位置によって定められる運動ベクトルを使用して、現在のビデオブロックを符号化することを含んでよい。
【０００９】
しかしながら、最低の差分値を生じさせるビデオブロックを特定する円の中のピクセル位置が、半径（Ｒ）の円の中心に一致しない場合には、半径（Ｒ’）の新しい円が、最低の差分値を生じさせるビデオブロックを特定する円の中のピクセル位置の周りに定義できる。このケースでは、ルーチンは、更に、最低の差分値を生じさせるビデオブロックを特定する半径（Ｒ’）の円内でピクセル位置を決定することと、このピクセル位置が半径（Ｒ’）の円の中心に一致するときにそのピクセル位置により確定される運動ベクトルを使用して、現在のビデオブロックを符号化することを含んでよい。ルーチンは類似する様式で続行してよく、最低の差分値を生じさせるビデオブロックが円の中心に一致するまで、必要な場合に追加の円を定義する。
【００１０】
更に詳細に下記に述べられるこれらの技法及び他の技法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせのデジタルビデオデバイスで実現されてよい。ソフトウェアで実現される場合、技法は、実行時に、ここに説明される符号化技法の１つ以上を実行するプログラムコードを備えるコンピュータ読み取り可能媒体を対象にしてよい。多様な実施形態の更なる詳細は、添付図面及び以下の説明で述べられる。他の特徴、目的及び利点は説明と図面から、及び特許請求の範囲から明らかになるであろう。
【発明を実施するための最良の形態】
【００１１】
一般的には、本開示はデジタルビデオデータの符号化を改善するために使用できる符号化技法を対象とする。この技法は、特定のシナリオの計算を削減し、処理時間を加速し、データ圧縮を強化し、及びおそらくビデオ符号化の間の電力消費を削減するためにデジタルビデオデバイスのエンコーダにより実現できる。このようにして、符号化技法は、ＭＰＥＧ−４などの規格に従ったビデオ符号化を改善し、計算リソースが更に制限され、電力消費が懸念事項である無線装置内でのビデオ符号化の実現をよりよく促進できる。加えて、技法はＭＰＥＧ−４復号規格などの復号規格との相互運用性機能を保つために構成されてよい。
【００１２】
ここに説明されるビデオ符号化技法は、空間冗長の現象を利用する初期化技法を実現してよい。空間冗長は、概して、指定されるビデオブロックのビデオ運動が、指定されるビデオブロックに近い空間近接で別のビデオブロックのビデオ運動におそらく類似するであろうと予測する。初期化技法は、効果的なビデオ符号化のために使用できるビデオブロックを含む非常に高い確率を有する検索空間内の場所で運動推定を初期化するために、この現象を更に容易に利用できる。
【００１３】
更に具体的には、初期化技法は、運動推定ルーチンが初期化できる検索空間内の場所、つまり運動推定ルーチンが開始する検索空間内のピクセル位置を特定するために符号化されるビデオブロックに近い空間近接でビデオブロックについて計算される運動ベクトルを活用してよい。例えば、以下に更に詳細に述べられるように、平均ピクセル位置、中間ピクセル位置または重み関数を使用して計算されるピクセル位置は、符号化される現在のビデオブロックに近い空間近接でビデオブロックについて過去に決定された運動ベクトルに基づいて計算されてよい。他の線形または非線形関数も使用できるであろう。いずれにせよ、このようにして運動推定ルーチンを初期化することによって、ビデオ符号化は、符号化されているビデオブロックに許容され一致するビデオブロックの位置を検索空間内で突き止めるために必要とされる圧縮数を削減することにより加速されてよい。運動推定ルーチンは検索空間内での非網羅的な検索を備えてよい。したがって、検索空間内の初期化は符号化プロセスの重要な一部であり、指定される処理時間内で改善された計算結果を生じさせる可能性が高い開始点を提供する。
【００１４】
初期化後に許容される運動ベクトルを迅速に特定するために使用できる運動推定技法も説明される。運動推定技法は、実行される計算の数を制限するために検索空間の網羅的ではない検索を実行してよい。１つの例では、運動推定ルーチンは、初期化されたピクセル位置の周りで半径（Ｒ）の円を定義することと、円の中のピクセル位置の集合と関連付けられる検索空間のビデオブロックに、符号化される現在のビデオブロックを比較することとを含んでよい。ルーチンは、最低の差分値を生じさせるビデオブロックを特定する円内でピクセル位置を特定することと、特定されるピクセル位置が円の中心に一致するときに特定されたピクセル位置により定義される運動ベクトルを使用して、現在のビデオブロックを符号化することを更に含んでよい。
【００１５】
最低差分値を生じさせるビデオブロックを特定する円内の特定されたピクセル位置が半径（Ｒ）の円の中心に一致しない場合、そのピクセル位置の周りに半径（Ｒ’）の新しい円を定義できる。技法はその点で制限されないが、半径（Ｒ）は半径（Ｒ’）に等しい場合がある。いずれにせよ、運動推定ルーチンは、最低差分値を生じさせるビデオブロックを特定する半径（Ｒ’）の円の中でピクセル位置を決定することと、このピクセル位置が半径（Ｒ’）の円の中心に一致するときにピクセル位置により定められる運動ベクトルを使用して、現在のビデオブロックを符号化することとを更に含んでよい。運動推定ルーチンは、類似する様式で、最低の差分値を生じさせるビデオブロックが円の中心に一致するまで、必要な場合は追加の円を定義し続けてよい。多くのケースでは、最低の差分値を生じさせるビデオブロックは初期の推定値に空間的に近くなるであろう。最低の差分値を生じさせるビデオブロックが円の中心に一致するまで円を定義することにより、許容できる運動ベクトルは非常に迅速に特定することができ、不必要な比較及び計算を削減してよい。
【００１６】
特に計算リソースが制限されるときにリアルタイム符号化を改善するために使用できる更なる符号化技法も説明される。例えば、ビデオフレームのビデオ符号化の間、使用可能な計算リソースが監視されてよい。ビデオフレームの初期のビデオブロックが非常に迅速に符号化される場合、計算上の節約を特定できる。このケースでは、同じビデオフレームの後のビデオブロックは、所望される場合、初期のビデオブロックに関連付けられる計算上の節約を後のビデオブロックの符号化に割り当てることができるため、より網羅的な検索技法を使用して符号化されてよい。
【００１７】
ここに説明される技法は、１つ以上の利点を提供できる可能性がある。例えば、技法はビデオ符号化の間に電力消費の削減を容易にし、運動推定ルーチンを加速することによって効果的なリアルタイムビデオ符号化を容易にしてよい。また、技法は、特に計算リソースが制限されるときにビデオの品質と圧縮という点でビデオ符号化を改善してもよい。特に、技法は、従来の菱形検索技法などのいくつかの従来の検索技法を基準にして、データ圧縮のレベルを改善してよい。ここに説明される符号化技法は、計算リソース及び帯域幅が更に制限され、電力消費が懸念事項である無線デジタルビデオデバイスまたは他の携帯ビデオ装置で特に有効であってよい。
【００１８】
図１は、ソースデバイス４が、受信装置８に通信リンク６上でビデオデータの符号化されたシーケンスを送信する、例示のシステム２を説明するブロック図である。ソースデバイス４及び受信装置８は共にデジタルビデオデバイスである。特に、ソースデバイス４は、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐにより開発されたＭＰＥＧ−４などの多岐に渡るビデオ圧縮規格のどれか１つを使用して、ビデオデータを符号化し、送信する。他の規格は、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐにより開発されるＭＰＥＧ−１、ＭＰＥＧ−２、または他のＭＰＥＧ規格、ＩＴＵ  Ｈ．２６３及び類似する規格、カリフォルニア州クパチーノ（Ｃｕｐｅｒｔｉｎｏ  Ｃａｌｉｆｏｒｎｉａ）のアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ）により開発されたＱｕｉｃｋＴｉｍｅ（商標）技術、ワシントン州レドモンド（Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎ）のマイクロソフト社（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ）により開発されたＶｉｄｅｏ  ｆｏｒ  Ｗｉｎｄｏｗｓ（商標）、インテル社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）により開発されたＩｎｄｅｏ（商標）、及びスーパーマック社（ＳｕｐｅｒＭａｃ，Ｉｎｃ．）により開発されたＣｉｎｅｐａｋ（商標）を含んでよい。
【００１９】
通信リンク６は、無線リンク、物理伝送線路、ローカルエリアネットワーク、広域ネットワークなどのパケットベースネットワーク、またはインターネットなどのグローバルネットワーク、公衆交換電話網（ＰＳＴＮ）、または多様なリンクとネットワークの組み合わせを備えてよい。すなわち、通信リンク６は、ソースデバイス４から受信装置８にビデオデータを送信するための、任意の適切な通信媒体、あるいはおそらく様々なネットワークとリンクの集合体を表す。
【００２０】
ソースデバイス４は、ビデオデータを符号化し、送信できる任意のデジタルビデオデバイスであってよい。例えば、ソースデバイス４はデジタルビデオシーケンスを記憶するためのメモリ２２、シーケンスを符号化するためのビデオエンコーダ２０、及び通信リンク６上で符号化されたシーケンスを送信するための送信機１４を含んでよい。例えば、ビデオエンコーダ２０は、符号化技法を定義するプログラム可能ソフトウェアモジュールを実行するデジタル信号プロセッサ（ＤＳＰ）を備えてよい。
【００２１】
ソースデバイス４は、ビデオシーケンスを捕捉し、メモリ２２内に捕捉されたシーケンスを記憶するための、ビデオカメラなどのイメージセンサ２３も含んでよい。いくつかのケースでは、ソースデバイス４は通信リンク６上でリアルタイムビデオシーケンスを送信してよい。これらのケースでは、受信装置８はリアルタイムビデオシーケンスを受信し、ユーザにビデオシーケンスを表示してよい。
【００２２】
受信装置８は、ビデオデータを受信し、復号できる任意のデジタルビデオデバイスであってよい。例えば、受信装置８は符号化されたデジタルビデオシーケンスを受信するための受信機１５と、シーケンスを復号するためのデコーダ１６と、ユーザにシーケンスを表示するためのディスプレイ１８を含んでよい。
【００２３】
ソースデバイス４と受信装置８のための例示のデバイスは、コンピュータネットワーク、ワークステーション、または他のデスクトップコンピュータデバイス上に位置するサーバと、ラップトップコンピュータまたはパーソナルデジタルアシスタント（ＰＤＡ）などのモバイルコンピュータデバイスを含む。他の例は、デジタルテレビなどのデジタルテレビ放送衛星と受信装置、デジタルカメラ、デジタルビデオカメラまたは他のデジタル記録装置、ビデオ機能を有するセルラー無線電話と衛星無線電話などのデジタルビデオ電話、他の無線ビデオ装置等を含む。
【００２４】
いくつかのケースでは、ソースデバイス４及び受信装置８は、それぞれデジタルビデオデータを符号化し、復号するためのエンコーダ／デコーダ（コーデック）（図示せず）を含む。このケースでは、ソースデバイス４と受信装置８の両方とも、メモリとディスプレイだけではなく、送信機と受信機も含んでよい。以下に述べられた符号化技法の多くは、エンコーダを含むデジタルビデオデバイスに関連して説明される。しかしながら、エンコーダはコーデックの一部を形成してよいことが理解される。このケースでは、コーデックはＤＳＰ、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、離散ハードウェア構成要素、またはその多様な組み合わせとして実現されてよい。
【００２５】
例えば、ソースデバイス４は、ビデオデータを符号化するためにビデオフレームのシーケンス内のピクセルのブロックに作用する。例えば、ソースデバイス４のビデオエンコーダ２０は、送信されるビデオフレームが（ビデオブロックと呼ばれる）ピクセルのブロックに分割される運動推定符号化技法を実行してよい。ビデオフレーム内のビデオブロックごとに、ソースデバイス４のビデオエンコーダ２０が、類似するビデオブロックを特定するためにすでに送信された、先行するビデオフレーム（または後続のビデオフレーム）のためのメモリ２２に記憶されるビデオブロックを検索し、符号化のために使用された過去のフレーム（または後続のフレーム）からビデオブロックを識別する運動ベクトルと共にビデオブロック間の差異を符号化する。運動ベクトルの他のフォーマットが使用できるが、運動ベクトルはビデオブロックの左上角と関連付けられるピクセル位置を定めてよい。いずれのケースでも、運動ベクトルを使用してビデオブロックを符号化することによって、ビデオデータのストリームの伝送のために必要とされる帯域幅は大幅に削減できる。いくつかのケースでは、ソースデバイス４は、計算数を削減し電力を保全するために、符号化プロセスの間に多様な比較または計算の終了を引き起こすことがあるプログラム可能閾値をサポートしてよい。
【００２６】
受信装置８の受信機１５は、運動ベクトルと符号化された差異などの形を取る符号化されたビデオデータを受信してよい。デコーダ１６はディスプレイ１８を介してユーザに表示するためのビデオシーケンスを生成するために運動補償技法を実行する。受信装置８のデコーダ１６も、エンコーダ／デコーダ（コーデック）として実現されてよい。このケースでは、ソースデバイス４と受信装置８の両方とも、デジタルビデオシーケンスを符号化、送信、受信、復号できる可能性がある。
【００２７】
図２はここに説明される技法の１つ以上に従ってデジタルビデオシーケンスを符号化するビデオエンコーダ２０を組み込む、ソースデバイス４などの例示のデジタルビデオデバイス１０を描くブロック図である。例示的なデジタルビデオデバイス１０は、モバイルコンピュータデバイス、パーソナルデジタルアシスタント（ＰＤＡ）、無線通信装置、無線電話等の無線装置として描かれている。しかしながら、本開示の中の技法は必ずしも無線装置に限定されず、非無線装置を含む他のデジタルビデオデバイスに容易に適用されてよい。
【００２８】
図２の例では、デジタルビデオデバイス１０は圧縮済みのデジタルビデオシーケンスを送信機１４とアンテナ１２を介して送信する。ビデオエンコーダ２０はビデオシーケンスを符号化し、伝送の前にビデオメモリ２２内の符号化されたビデオシーケンスをバッファする。例えば、前述されたように、ビデオエンコーダ２０は、プログラム可能デジタル信号プロセッサ（ＤＳＰ）、マイクロプロセッサ、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、特殊ハードウェア構成要素、またはこれらの装置と構成要素の多様な組み合わせを備えてよい。メモリ２２は符号化プロセスの間にビデオエンコーダ２０によって使用するための、コンピュータ読み取り可能命令とデータを記憶してよい。例えば、メモリ２２は、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、フラッシュメモリ、電気的消去プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）等を備えてよい。
【００２９】
いくつかのケースでは、デジタルビデオデバイス１０はビデオシーケンスを捕捉するためのイメージセンサ２３を含む。例えば、イメージセンサ２３はビデオシーケンスを捕捉し、符号化する前にそれらをメモリ２２に記憶してよい。イメージセンサ２３は、リアルタイムでビデオ符号化を改善するためにビデオエンコーダ２０に直接的に結合されてもよい。以下に更に詳しく述べられる、初期化ルーチン及び／または運動推定ルーチンを実現する符号化技法は、符号化プロセスを加速し、電力消費を削減し、データ圧縮を強化し、おそらく相対的に制限された処理能力で装置内のリアルタイムビデオ符号化を容易にしてよい。
【００３０】
一例として、イメージセンサ２３はカメラを備えてよい。特にイメージセンサ２３は電荷結合素子（ＣＣＤ）、電荷注入装置、一列のフォトダイオード、相補型ＭＯＳ（ＣＭＯＳ）素子、またはビデオ画像またはデジタルビデオシーケンスを捕捉できる任意の他の感光素子を含んでよい。
【００３１】
ビデオエンコーダ２０は、符号化アルゴリズムの実行を制御するために符号化コントローラ２４を含んでよい。ビデオエンコーダ２０は、ここに説明されている運動推定技法を実行するために運動エンコーダ２６を含んでもよい。所望される場合、ビデオエンコーダ２０は、離散コサイン変換（ＤＣＴ）符号化などの静止画像を圧縮するために一般的に使用されるフレーム内圧縮を実行するために、テクスチャエンコーダ（図示せず）などの追加構成要素も含んでよい。例えば、テクスチャ符号化は運動推定に加えて、あるいは効果的な運動推定のためには処理機能が制限されすぎているシナリオで、場合によっては運動推定の代わりに実行されてよい。
【００３２】
ビデオエンコーダ２０の構成要素はＤＳＰで実行するソフトウェアモジュールを備えてよい。代わりに、ビデオエンコーダ２０の１つ以上の構成要素は、ここに説明されている技法の１つ以上の態様を実行する、特別に設計されたハードウェア構成要素、または１つ以上のＡＳＩＣを備えてよい。
【００３３】
図３は、メモリ２２内に記憶できるマクロブロック３１の形を取る例示のビデオブロックを示す。ＭＰＥＧ規格及び他のビデオ符号化方式は運動推定ビデオ符号化の間にマクロブロックの形を取るビデオブロックを利用する。ＭＰＥＧ規格では、用語「マクロブロック」は、ビデオフレームの部分集合を形成するピクセル値の１６×１６の集合体を指す。所望される画像品質を達成するために各ピクセルを定義するには、更に多数または少数のビットを使用することもできるが、各ピクセル値は１バイトのデータで表示されてよい。マクロブロックは、多数の小さい方の８×８ピクセルの画像ブロック３２を備えてよい。しかしながら、一般的には、ここに説明される符号化技法は、所望される場合、１６バイト×１６バイトのマクロブロック、８バイト×８バイトの画像ブロック、あるいは様々なサイズのビデオブロックなどの、任意の定められたサイズのブロックを使用して動作する。
【００３４】
図４は、メモリ内に記憶できる例示の検索空間４１を示す。検索空間４１は、過去に送信されたビデオフレーム（またはフレームのシーケンスの後続のビデオフレーム）に相当するビデオブロックの集合体である。検索空間は、全体として過去のまたは後続のビデオフレーム、あるいは所望される場合にはビデオフレームの部分集合を備えてよい。検索空間は、描かれているように矩形の形状であってよく、あるいは多種多様の形状及びサイズのどれを取ってもよい。どんな場合でも、ビデオ符号化の間、符号化される現在のビデオブロックは、現在のブロックと検索空間内の類似したビデオブロックの差異が、類似したビデオブロックを特定する運動ベクトルと共に送信できるように、適切な一致を特定するために検索空間４１のブロックと比較される。
【００３５】
初期化の技法は、現在のビデオブロック４２の検索空間４１内のビデオブロックに対する初期の比較が、許容可能な一致を特定する可能性が高くなるように、空間冗長現象を利用できる。例えば、後述される技法は、ビデオブロック４２が初期に比較されなければならない検索空間内のビデオブロックを特定してよい、ピクセル位置４３を特定するために使用できる。最もよく一致するビデオブロックに近い場所へ初期化すると、最良の運動ベクトルの位置を突き止める尤度が高まり、許容できる運動ベクトルの位置を突き止めるために必要とされる検索の平均数を削減することができる。例えば、初期化により、運動推定ルーチンの改善された開始点、及び指定された処理期間内での改善された計算結果を提供することができる。
【００３６】
運動推定ビデオ符号化の間、運動エンコーダ２６は、符号化される現在のビデオブロックを、絶対差総計（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）（ＳＡＤ）技法または二乗差総計（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）（ＳＳＤ）技法などの比較技法を使用して過去のビデオブロックと比較できる。他の比較技法も使用してよい。
【００３７】
ＳＡＤ技法は、現在のブロックが比較されている過去のブロックのピクセル値で、符号化される現在のブロックのピクセル値の間の絶対差計算を実行するタスクを伴なう。これらの絶対差計算の結果は、現在のビデオブロックと、現在のビデオブロックが比較されている過去のビデオブロックの差異を示す差分値を定めるために総計される、つまり累積される。８×８ピクセルの画像ブロックの場合、６４の差異が計算され、総計され、１６×１６ピクセルのマクロブロックの場合、２５６の差異が計算され、総計される。一般的には、低い方の差分値は、現在のビデオブロックに比較されているビデオブロックがより優れた一致、したがって高い方の差分値を生じさせるビデオブロックより運動推定符号化で使用するための更に優れた候補であることを示している。いくつかのケースでは、計算は、累積差分値が定められた閾値を超えると終了されてよい。このケースでは、現在のビデオブロックに比較されるビデオブロックは、運動推定符号化での効果的な使用には受け入れられないため、追加計算は不必要となる可能性がある。
【００３８】
ＳＳＤ技法は、符号化される現在のブロックのピクセル値間の様々な計算を、現在のブロックが比較される過去のブロックのピクセル値で実行するタスクも伴なう。ＳＳＤ技法では、絶対差計算の結果は二乗されてから、二乗値が、現在のビデオブロックと、現在のビデオブロックが比較されている過去のビデオブロックの間の差異を示す差分値を定めるために総計される、つまり蓄積される。代わりに、平均二乗誤差（ＭＳＥ）、正規化相互相関（ＮＣＣＦ）、または別の適切な比較アルゴリズムなどの他の比較技法が実行されてよい。
【００３９】
図５は、運動推定ルーチンを初期化するためにデジタルビデオデバイスで実現できるビデオ符号化技法を示すフロー図である。図５の例では、ビデオエンコーダ２０は検索空間内で初期化されたピクセル位置を計算するために中央値関数を使用する。しかしながら、同じ原則は例えば、平均または重み関数などの他の線形関数または非線形関数を使用して適用されてもよい。
【００４０】
図５に図示されるように、現在のビデオブロックの符号化を初期化するために、符号化コントローラ２４は隣接するビデオブロックの運動ベクトルの中央値Ｘ座標ピクセル位置を計算する（５１）。同様に、符号化コントローラ２４は隣接するビデオブロックの運動ベクトルの中央値Ｙ座標ピクセル位置を計算する（５２）。すなわち、符号化される現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合と関連付けられる過去に計算された運動ベクトルは、中央値Ｘ座標とＹ座標を計算するために使用される。隣接するビデオブロックは、現在のビデオブロックを基準にして定められた場所に位置するビデオブロックの集合を形成してよい。例えば、ビデオブロックの集合は、実施に応じて特定のビデオブロックを包含するまたは排除するために定められてよい。どんな場合でも、現在のビデオブロックの運動推定は次に中央値Ｘ座標とＹ座標で初期化される（５３）。それから、運動推定器２６が、従来の検索技法、または以下に詳しく述べられる技法に類似した検索技法のどちらかを使用して、現在のビデオブロックのための許容できる運動ベクトルを検索する（５４）。
【００４１】
図６は、現在のビデオブロックが図５に描かれている技法に類似した技法を使用して符号化される例示的なビデオフレームの概念上の説明図である。特に、現在のビデオブロック６３の運動推定は、現在のビデオブロック６３を基準にして定められた場所に位置するビデオブロックの集合に関連付けられた過去に計算された運動ベクトルを使用して初期化されてよい。図６では、定められた場所に位置するビデオブロックの集合は、近傍系１（６２Ａ）、近傍系２（６２Ｂ）及び近傍系３（６２Ｃ）を備える。しかしながら、言及されたように、集合は、現在のビデオブロック６３を基準にして多様な場所に位置するビデオブロックを包含する、または排除するために多岐に渡る他のフォーマットで定められてよい。
【００４２】
図６の例では、現在のビデオブロック６３の運動推定を実行するための検索空間内での初期化された場所は、以下の方程式で定義できる。  
Ｘｉｎｉｔｉａｌ＝中央値（ＸＭＶ１,ＸＭＶ２，ＸＭＶ３）  
Ｙｉｎｉｔｉａｌ＝中央値（ＹＭＶ１,ＹＭＶ２，ＹＭＶ３）  
代わりに、平均関数が使用されてよく、このケースでは現在のビデオブロック６３の運動推定を実行するための検索空間内での初期化された場所は、以下の方程式で定義できる。
【００４３】
Ｘｉｎｉｔｉａｌ＝中央値（ＸＭＶ１,ＸＭＶ２，ＸＭＶ３）  
Ｙｉｎｉｔｉａｌ＝中央値（ＹＭＶ１,ＹＭＶ２，ＹＭＶ３）  
他の線形または非線形数学方程式、または隣接ビデオブロックと符号化される現在のビデオブロック間の関係性も使用されてよい。
【００４４】
どんな場合でも、運動推定検索の初期化された場所を定めることにより、符号化は、符号化されるビデオブロックと検索空間内のビデオブロック間の許容できる一致が、非常に迅速に特定できるという確率を高めることで加速できる。図７に図示されるように（図６に比較して）、初期化された場所を生成するために使用されるビデオブロックの集合を形成する隣接ビデオブロックは、現在のビデオブロック６３の場所を基準にした他の定められた場所でのブロックを含んでよい。多くのケースでは、現在のビデオブロック６３を基準にした近傍系６２の場所は、フレーム６１のビデオブロックが符号化される方向に依存してよい。
【００４５】
例えば、すでに符号化された現在のビデオブロック６３に隣接するビデオブロックは、一般的に、すでに計算された運動ベクトルを有するのに対し、まだ符号化されていない他の隣接するビデオブロックは、運動ベクトルを有さない。したがって、現在のビデオブロック６３に隣接するビデオブロックの部分集合を備える近傍系６２Ａから６２Ｃ（図６）は、ビデオブロックの符号化が、フレーム６１の一番左上のビデオブロックで開始し、左から右、上から下に進む場合に使用されてよい。代わりに、現在のビデオブロック６３に隣接するビデオブロックの別の部分集合を備える近傍系６２Ｄから６２Ｆ（図７）は、ビデオブロックの符号化がフレーム６１の一番右下のビデオブロックから開始し、右から左、下から上へ進む場合に使用されてよい。初期化場所を生成するために使用されるビデオブロックの集合での多くの他の変形は、本開示の原則に従って定義されてよい。例えば、非常に高いレベルの運動がビデオシーケンスで発生する場合、すぐに隣接するブロックよりビデオブロック６３からはるかに遠い現在のビデオブロック６３を基準にして定められたビデオブロック場所が、集合に含まれてよい。
【００４６】
図５の初期化技法は、隣接するビデオブロックの運動ベクトルがその点で使用できないであろうため、符号化されるフレーム６１の第１のビデオブロックに使用されない可能性がある。しかしながら、初期化ルーチンは、隣接するビデオブロックのための１つ以上の運動ベクトルが一旦特定されると、それ以後いつでも開始してよい。１つの特定的なケースでは、初期化技法は第２の行の第２のビデオブロックの符号化で開始してよい。通常、その点の前に、３つの隣接する近傍系の運動ベクトルは定められない。しかしながら、他のケースでは、初期化ルーチンは、運動ベクトルが符号化されるビデオブロックの少なくとも１つの近傍系のために計算されるときにはいつでも開始してよい。
【００４７】
図８に図示されるように、現在のビデオブロック６３に対する多数の近傍系に関連付けられる運動ベクトルは、検索空間内の初期化された場所を計算するために使用されてよい。より多くの運動ベクトルがより多くの近傍系について計算されたので、より多くの運動ベクトルが現在のビデオブロックで運動推定を実行するための初期化された場所を計算するために使用されてよい。いくつかのケースでは、空間相関の現象を更に完全に利用するために、現在のビデオブロック４２に更に近い空間近接の近傍系と関連付けられる運動ベクトルが、現在のビデオブロック４２から更に空間的に離れている近傍系と関連付けられる運動ベクトルより多い重みを初期場所の計算で与えられてよい。すなわち、重み平均または重み中央値などの重み関数は、初期化されたピクセル位置を計算するために使用されてよい。例えば、近傍系１から４は統計的に運動推定符号化で使用されるビデオブロックである可能性が高いために、近傍系１から４（６２Ａ、６２Ｂ、６２Ｃ及び６２Ｇ）と関連付けられる運動ベクトルには、近傍系５から１０（６２Ｈから６２Ｍ）と関連付けられる運動ベクトルより更に多い重みが与えられてよい。これらの及び他の可能性のある変型は本開示を考慮すると明らかになるであろう。
【００４８】
図９は、運動推定を実行するためにデジタルビデオデバイスで実現できるビデオ符号化技法を描くフロー図である。技法は、ビデオ符号化に必要とされる計算の数を削減するために検索空間内のビデオブロックの非網羅的な検索を伴なう可能性がある。図示されているように、符号化コントローラ２４は、フレームの隣接ビデオブロックについて計算される運動ベクトルに基づいて運動推定を初期化する（９１）。例えば、初期化プロセスは、初期化のために使用される隣接ビデオブロックが、符号化される現在のビデオブロックを基準にして定められる場所に位置するビデオブロックの集合を備える図５に描かれているプロセスに類似したプロセスを備えてよい。
【００４９】
一旦初期化された場所が計算されると、運動推定器２６は、初期化された場所の半径（Ｒ）の円の中でピクセル位置によって定められるビデオブロックの集合を特定する（９２）。例えば、更に大きな半径も定められてよいが、半径（Ｒ）は、少なくとも５ピクセルを含む円を定義するほど十分に大きい場合がある。更に好ましくは、半径（Ｒ）は少なくとも９ピクセル、つまり初期化されたピクセル位置、及び初期化された場所をすぐに取り囲む８個全てのピクセル位置を含む円を定義するほど大きくてよい。初期化されたピクセル位置、及び初期化された場所をすぐに取り囲む８個全てのピクセル位置を包含すると、初期化された場所を基準にしたあらゆる考えられる方向の運動を予想することにより、検索技法を改善することができる。
【００５０】
運動推定器２６は、次に符号化される現在のビデオブロックを、円内のピクセル位置で定められるビデオブロックに比較する（９３）。運動推定器２６は、最低の差分値を生じさせる円内でビデオブロックを特定できる。半径（Ｒ）の円の中心により定められるビデオブロックが最低の差分値、つまり使用される比較技法により定められるように最低の異なる距離関数を生じさせる場合には（９４：Ｙｅｓ）、運動推定器２６は、半径（Ｒ）の円の中心によって定められるビデオブロックを特定する運動ベクトルを使用して現在のビデオブロックを符号化する（９５）。例えば、前述したＳＡＤまたはＳＳＤ比較技法が使用されてよい。しかしながら、半径（Ｒ）の円の中心により定められるビデオブロックが最低の差分値を生じさせない場合には（９４：Ｎｏ）、運動推定器２６は、最低の差分値を生じさせるビデオブロックを特定するピクセル位置の、半径（Ｒ’）内のピクセル位置によって定められるビデオブロックを特定する（９６）。
【００５１】
運動推定器２６は、次に、符号化される現在のビデオブロックを、半径（Ｒ’）の円の中のピクセル位置によって定められるビデオブロックに比較する（９３）。運動推定器２６は、最低の差分値を生じさせる半径（Ｒ’）の円の中でビデオブロックを特定できる。半径（Ｒ’）の円の中心で定められるビデオブロックが最低の差分値、つまり使用される比較技法により定められるような最低の異なる距離関数を生じさせる場合には（９４：Ｙｅｓ）、運動推定器２６は半径（Ｒ’）の円の中心により定められるビデオブロックを特定する運動ベクトルを使用して現在のビデオブロックを符号化する（９５）。しかしながら、半径（Ｒ’）の円の中心により定められるビデオブロックが最低の差分値を生じさせない場合（９４：Ｎｏ）、運動推定器２６は半径（Ｒ”）等の更に別の円を定めるプロセスを続行する。
【００５２】
最低差分値を生じさせたピクセル位置の周りで定められるそれぞれの後続の円は過去の円と同じ半径、または所望される場合は、異なる半径を有することがある。最低の差分値を生じさせる検索空間内のビデオブロックを特定する、最も過去に特定されたピクセル位置を基準にして半径を定めることにより、検索空間の網羅的な検索を必要としなくても、運動推定で使用するために最良のビデオブロックが迅速に特定できる。加えて、シミュレーションは、図９に示されているような検索技法が、ピクセルの菱形形状の集合の中心に位置するピクセルと関連付けられるビデオブロックの差分値を最小限に抑えるために動作する、従来の菱形検索技法を基準にして、改善された圧縮を達成できることを示す。
【００５３】
図１０から図１３は、図９に描かれている技法に類似したビデオ符号化技法が、許容できる運動ベクトルの位置を突き止めるために実行される、検索空間の概念上の説明図である。グリッド上の各点は、検索空間内の一意のビデオブロックを特定するピクセル位置を表す。運動推定ルーチンは、図５に描かれている初期化ルーチンを実行することによってなど、ピクセル位置（Ｘ５、Ｙ６）で初期化されてよい。初期化された場所（Ｘ５、Ｙ６）の位置を突き止めると、運動推定器２６は、半径（Ｒ）の円を定義し、半径（Ｒ）の円の中のピクセル位置と関連付けられる検索空間内のビデオブロックを、符号化される現在のビデオブロックに比較する。運動推定器２６は、次に、最低の差分値を生じさせる半径（Ｒ）の円内でビデオブロックを特定できる。
【００５４】
運動推定器２６が、ピクセル位置（Ｘ６、Ｙ７）が最低の差分値を生じさせるビデオブロックを特定すると判定すると、運動推定器２６は、図１１に描かれているようにピクセル位置（Ｘ６、Ｙ７）の周りに半径（Ｒ’）の円を定義する。次に、運動推定器２６は、半径（Ｒ’）の円の中のピクセル位置に関連付けられる検索空間内のビデオブロックを、符号化される現在のビデオブロックと比較する。運動推定器２６が、ピクセル位置（Ｘ６、Ｙ８）が最低差分値を生じさせるビデオブロックを特定すると判定すると、運動推定器２６は、図１２に描かれているようにピクセル位置（Ｘ６、Ｙ８）の周りに半径（Ｒ”）の更に別の円を定義する。運動推定器２６は、次に半径（Ｒ”）の円の中のピクセル位置に関連付けられる検索空間内のビデオブロックを、符号化される現在のビデオブロックに比較する。運動推定器２６が、ピクセル位置（Ｘ７、Ｙ９）が最低差分値を生じさせるビデオブロックを特定すると判定すると、運動推定器２６は図１３に描かれているようにピクセル位置（Ｘ７、Ｙ９）の周りに半径（Ｒ”’）の別の円を定義する。運動推定器２６は、次に半径（Ｒ”’）の円の中のピクセル位置に関連付けられる検索空間内のビデオブロックを、符号化される現在のビデオブロックに比較する。最後に、運動推定器２６は、円の中心に一致する最低差分値を生じさせるピクセル位置の位置を突き止めなければならない。その点では、運動推定器は、現在のビデオブロックのための運動ベクトルとして円の中心にも一致する最低差分値を生じさせるピクセル位置を使用できる。
【００５５】
それぞれの新しい円が定義されると、過去の円に含まれなかったピクセル位置に関連付けられる比較だけが実行される必要がある。すなわち、図１１を参照すると、半径（Ｒ’）の円に関連して、ピクセル位置（Ｙ８、Ｘ５）、（Ｙ８、Ｘ６）、（Ｙ８、Ｘ７）、（Ｙ７、Ｘ７）及び（Ｙ６、Ｘ７）に関連付けられるビデオブロックだけがその点で実行される必要がある場合がある。半径（Ｒ’）の円の中の他のピクセル位置、つまり（Ｙ７、Ｘ５）、（Ｙ７、Ｘ６）、（Ｙ６、Ｘ５）及び（Ｙ６、Ｙ６）に関連付けられるビデオブロックは、半径（Ｒ）の円に関連してすでに実行された（図１０）。
【００５６】
半径（Ｒ）、（Ｒ’）、（Ｒ”）、（Ｒ”’）等は、互いに等しくてよい、あるいは実施に応じては異なってよい。また、いくつかのケースでは、半径は、更に多くのピクセルがそれぞれの集合に含まれ、最良の運動ベクトルの位置を突き止める尤度を高めてよいように定められてよい。しかしながら、更に大きな半径は指定された検索の間の計算数を増加させる場合がある。しかしながら、どんな場合でも、最低の差分値を生じさせるそれぞれのピクセル位置の周りに円を定義することは、他の技法に優る利点を有することがある。例えば、円がピクセル位置の周りに定義されると、あらゆる隣接するピクセル位置は比較中に調べられてよい。すなわち、中心ピクセルをすぐに囲む８個全てのピクセル位置が定義された円の中に含まれてよい。依然として、検索空間内のあらゆるピクセルにより定められる、あらゆる考えられるビデオブロックの比較を必要とする網羅的な検索は回避でき、ビデオ符号化を加速する結果となる。
【００５７】
図１４は、リアルタイムでビデオ符号化を改善するためにデジタルビデオデバイスで実現できる、別のビデオ符号化技法を示すフロー図である。図示されているように、符号化コントローラ２４は、符号化されているビデオフレームの現在のビデオブロックの運動推測を初期化する（１４１）。例えば、初期化プロセスは、図５から図８に関して描かれ、説明されたプロセスに類似したプロセスを含んでよく、検索空間内の初期ピクセル位置が特定される。更に、初期化プロセスは、現在のビデオブロックを符号化するために実行されてよい検索の範囲を定めることを含んでよい。現在のビデオブロックがビデオフレームについて符号化される第１のビデオブロックである場合、検索の範囲は符号化コントローラ２４にプログラミングされるデフォルト値により定められてよい。
【００５８】
初期化後、運動推定器２６は、現在のビデオブロックを符号化するために検索空間内で運動ベクトルを検索する（１４２）。例えば、検索と符号化プロセスは、図９から図１３に関して描かれ、説明されたプロセスに類似したプロセスを含んでよく、円は、最低の差分値を生じさせるピクセル位置が円の中心に一致するまでピクセル位置の周りで定義される。検索の範囲は、検索が発生できる時間量を制限することにより、あるいは使用される円のサイズを制限することなどにより制限されてよい。再び、検索の範囲は前述されたように初期化によって定められてよい。
【００５９】
符号化されているビデオフレームが追加のビデオブロックを含む場合（１４３：Ｙｅｓ）、符号化コントローラ２４は、フレームについて残っている計算リソースの量を特定する（１４４）。符号化コントローラ２４は、次に、符号化されているビデオフレームの後続のビデオブロックの運動推定を初期化する（１４１）。使用可能なリソースの量は、初期のビデオブロックの符号化の間に計算節約が実現された場合に、過去のビデオブロックを符号化するために使用可能なリソースに比較して増加した可能性がある。計算リソースは、ビデオエンコーダのクロック速度、及び毎秒フレームという点で送信されるビデオシーケンスの所望される解像度により定められてよい。
【００６０】
符号化エンコーダ２４が符号化されているビデオフレームの後続のビデオブロックの運動推定を初期化すると、初期化プロセスは再び検索の範囲を定めるプロセスを含む。しかしながら、このケースでは、検索の範囲は、使用可能な計算リソースの特定された量に基づいてよい。したがって、第１のビデオブロックの符号化が非常に迅速に実行される場合、後続のビデオブロックは更に網羅的な検索を使用して符号化されてよい。例えば、ピクセル位置の周りに円を定義するために使用される半径は、更に多くの計算リソースが使用できるときに増加されてよい。これらのまたは類似した技法は、例えば計算リソースが制限されるときに、符号化されたビデオブロックの圧縮率を改善することなどによってリアルタイムでビデオ符号化の品質を改善できる。ビデオフレームのビデオブロックの全てが一旦符号化されると（１４３：Ｎｏ）、デバイス１０は送信機１４とアンテナ１２を介して符号化されたフレームを送信できる（１４５）。
【００６１】
表１は、他の従来の技法に関して前述された技法のシミュレーションの間に収集されたデータを一覧表示する。符号化は相対的に大量の運動を有するビデオシーケンスで実行された。また、同じビデオシーケンスは、従来の菱形検索技法、及び検索空間のビデオブロックの全てが符号化されるビデオブロックに比較された網羅的検索技法を使用して符号化された。技法ごとに、表１はファイルサイズ、信号対雑音比、マクロブロック単位の検索平均数、マクロブロック単位の最大検索数、及び最悪のケースでフレームに必要とされた検索数を一覧表示する。ラベル「円検索」は、図５と図９に類似したプロセスを使用した符号化技法を指す。表１で理解できるように、ここに説明される技法は、従来の菱形検索に比較して検索回数が削減された、改善された圧縮を達成できる可能性がある。ここに説明される技法は、完全検索の圧縮のレベルを達成しない場合がある。しかしながら、例では、円検索技法は、菱形検索の場合のマクロブロックあたり２１．３回の検索、及び完全検索のためのマクロブロックあたり１０２４回の検索に比較して、マクロブロックあたり、たった１７．２回の検索という平均を要した。
【表１】
2005530421.tif 000003
【００６２】
多くの異なる実施形態が説明されてきた。例えば、検索を実行するための運動推定技法だけではなく、検索空間内で検索を初期化するためのビデオ符号化技法も説明されてきた。この技法は、特定のシナリオで計算を回避することによってビデオ符号化を改善し、符号化プロセスを加速し、圧縮を改善し、おそらくビデオ符号化の間の電力消費を削減することができる場合がある。このようにして、技法はＭＰＥＧ−４などの規格に従って、ビデオ符号化を改善することができ、計算リソースが更に制限され、電力消費が懸念事項である無線装置内でのビデオ符号化の実現を更によく促進できる。加えて、この技法はＭＰＥＧ−４復号基準などの復号基準との相互運用に影響を及ぼさない可能性がある。
【００６３】
それにも関わらず、以下の特許請求の範囲から逸脱することなく多様な変型が加えられてよい。例えば、初期化ルーチンは検索空間内の複数の初期場所を計算するために拡張されてよい。例えば、様々な線形関数または非線形関数は、符号化されるビデオブロックを基準にして定められた場所でビデオブロックの集合の運動ベクトルに基づいた、２つ以上の初期化された場所を計算するために使用されてよい。また、符号化されるビデオブロックを基準にして定められた場所に位置する２つ以上のビデオブロックの異なる集合は、２つ以上の初期化場所を計算するために使用されてよい。いくつかのシナリオでは、２つ以上の初期化場所の計算が符号化プロセスを更に加速できる。これらの変型及び他の変型は、この開示を鑑みて明らかになるであろう。
【００６４】
ここに説明される技法は、ハードウェア、ソフトウェア、ファームウェアまたはその任意の組み合わせで実現されてよい。ソフトウェアで実現される場合、この技法は、ＭＰＥＧ−４規格に準拠するビデオシーケンスを符号化するデバイスで実行されるときに、前述された方法の１つ以上を実行するプログラムコードを備えるコンピュータ読み取り可能媒体を対象にしてよい。このケースでは、コンピュータ読み取り可能媒体は、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ等のランダムアクセスメモリ（ＲＡＭ）を備えてよい。
【００６５】
プログラムコードは、コンピュータ読み取り可能命令の形を取ってメモリに記憶されてよい。このケースでは、ＤＳＰなどのプロセッサは、ここに説明される技法の１つ以上を実行するためにメモリに記憶される命令を実行してよい。いくつかのケースでは、技法は、符号化プロセスを加速するために多様なハードウェア構成要素を呼び出すＤＳＰによって実行されてよい。他のケースでは、ビデオエンコーダは、マイクロプロセッサ、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、１つ以上のフィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、または何か他のハードウェアとソフトウェアの組み合わせとして実現されてよい。これらの実施形態及び他の実施形態は、以下の特許請求の範囲内にある。
【図面の簡単な説明】
【００６６】
【図１】ソースデバイスが受信装置にビデオデータの符号化されたシーケンスを送信する例示のシステムを描くブロック図である。
【図２】デジタルビデオシーケンスを符号化するビデオエンコーダを組み込む例示のデジタルビデオデバイスを描くブロック図である。
【図３】ビデオデータの例示のマクロブロックの概念説明図である。
【図４】例示の検索空間の概念説明図である。
【図５】運動推定ルーチンを初期化するためにデジタルビデオデバイスで実現できるビデオ符号化技法を説明するフロー図である。
【図６】現在のビデオブロックが、図５に描かれている技法に類似した技法を使用して符号化される、例示的なビデオフレームの概念図である。
【図７】現在のビデオブロックが、図５に描かれている技法に類似した技法を使用して符号化される、例示的なビデオフレームの概念図である。
【図８】現在のビデオブロックが、図５に描かれている技法に類似した技法を使用して符号化される、例示的なビデオフレームの概念図である。
【図９】運動推定を実行するためにデジタルビデオデバイスで実現できるビデオ符号化技法を説明するフロー図である。
【図１０】図９に説明されている技法に類似したビデオ符号化技法が、許容できる運動ベクトルの位置を突き止めるために実行される、検索空間の概念説明図である。
【図１１】図９に説明されている技法に類似したビデオ符号化技法が、許容できる運動ベクトルの位置を突き止めるために実行される、検索空間の概念説明図である。
【図１２】図９に説明されている技法に類似したビデオ符号化技法が、許容できる運動ベクトルの位置を突き止めるために実行される、検索空間の概念説明図である。
【図１３】図９に説明されている技法に類似したビデオ符号化技法が、許容できる運動ベクトルの位置を突き止めるために実行される、検索空間の概念説明図である。
【図１４】リアルタイムビデオ符号化を促進するためにデジタルビデオデバイスで実現できる、ビデオ符号化技法を説明するフロー図である。
【図１】
2005530421.tif 000004
【図２】
2005530421.tif 000005
【図３】
2005530421.tif 000006
【図４】
2005530421.tif 000007
【図５】
2005530421.tif 000008
【図６】
2005530421.tif 000009
【図７】
2005530421.tif 000010
【図８】
2005530421.tif 000011
【図９】
2005530421.tif 000012
【図１０】
2005530421.tif 000013
【図１１】
2005530421.tif 000014
【図１２】
2005530421.tif 000015
【図１３】
2005530421.tif 000016
【図１４】
2005530421.tif 000017
【国際調査報告】
2005530421.tif 000018
2005530421.tif 000019
2005530421.tif 000020
2005530421.tif 000021