(57)【特許請求の範囲】
【請求項１】
ビデオデータを処理するための方法であって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得することと；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得することと、ここにおいて、前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することと；
を備え、
ここにおいて、前記少なくとも１つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも１つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較することと、
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、方法。
【請求項２】
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する前記動き情報とを比較することは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均とを比較すること、を備える、請求項１に記載の方法。
【請求項３】
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定すること、を備える、請求項１に記載の方法。
【請求項４】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較することと、
前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
請求項１に記載の方法。
【請求項５】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する参照情報を解析することと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
請求項１に記載の方法。
【請求項６】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報とを比較することと、
前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
請求項１に記載の方法。
【請求項７】
ピクセルの前記ブロックの前記少なくとも１つの他のパーティションについての、前記少なくとも１つの他のコーディングモードに関連する情報を取得することは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得すること、を備え、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、そして前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じであり、そして
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、
請求項１に記載の方法。
【請求項８】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、請求項７に記載の方法。
【請求項９】
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、請求項７に記載の方法。
【請求項１０】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択すること、を備え、そして前記第１のコーディングモードでピクセルの前記ブロックを符号化すること、をさらに備える、請求項１に記載の方法。
【請求項１１】
ビデオデータを処理するための装置であって、
メモリと、
前記メモリから、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、そして、前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、制御モジュールと、
を備え、
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備え、
前記少なくとも１つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも１つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、装置。
【請求項１２】
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項１１に記載の装置。
【請求項１３】
前記制御モジュールは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項１１に記載の装置。
【請求項１４】
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項１１に記載の装置。
【請求項１５】
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項１１に記載の装置。
【請求項１６】
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報とを比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項１１に記載の装置。
【請求項１７】
前記制御モジュールは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得し、そして、前記第１および第２の他のコーディングモードに関連する前記情報を使用して前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じである、請求項１１に記載の装置。
【請求項１８】
前記制御モジュールは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項１７に記載の装置。
【請求項１９】
前記制御モジュールは、ピクセルの前記ブロックが、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、請求項１７に記載の装置。
【請求項２０】
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、請求項１１に記載の装置。
【請求項２１】
ビデオデータを処理するための装置であって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するための手段と；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するための手段と、ここにおいて、前記少なくとも１つの他のパーティションは前記第１のパーティションモードのサブパーティションを備える；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するための手段と；
を備え、
ここにおいて、前記少なくとも１つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも１つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、装置。
【請求項２２】
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項２１に記載の装置。
【請求項２３】
前記決定する手段は、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項２１に記載の装置。
【請求項２４】
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項２１に記載の装置。
【請求項２５】
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項２１に記載の装置。
【請求項２６】
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項２１に記載の装置。
【請求項２７】
前記取得する手段は、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得し、なお、前記２つの他のパーティションのうちの一方のパーティションは前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは前記第１のパーティションと同じであり、そして、
前記決定する手段は、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、
請求項２１に記載の装置。
【請求項２８】
前記決定する手段は、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項２７に記載の装置。
【請求項２９】
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、請求項２７に記載の装置。
【請求項３０】
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するための手段、をさらに備える、請求項２１に記載の装置。
【請求項３１】
マルチメディアデータを処理するための命令を記憶したコンピュータ読み取り可能記憶媒体であって、
前記命令は、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するためのコードと；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するためのコードと、ここにおいて、前記少なくとも１つの他のパーティションは前記第１のパーティションモードのサブパーティションを備える；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードと；
を備え、
ここにおいて、前記少なくとも１つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも１つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する動き情報と、前記第１のコーディングモードに関連する動き情報と、を比較するためのコードと、
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、コンピュータ読み取り可能記憶媒体。
【請求項３２】
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する前記動き情報とを比較するためのコードは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較するためのコード、を備える、請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３３】
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコード、を備える、請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３４】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較するためのコードと、
前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３５】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する参照情報を解析するためのコードと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３６】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較するためのコードと、
前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３７】
ピクセルの前記ブロックの前記少なくとも１つの他のパーティションについての、前記少なくとも１つの他のコーディングモードに関連する情報を取得するためのコードは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得するためのコード、を備え、なお、前記２つの他のパーティションのうちの一方のパーティションは前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは前記第１のパーティションと同じであり、そして、
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、
請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３８】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項３９】
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、請求項３８に記載のコンピュータ読み取り可能記憶媒体。
【請求項４０】
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択するためのコード、を備え、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのコード、をさらに備える、請求項３１に記載のコンピュータ読み取り可能記憶媒体。
【請求項４１】
ビデオデータを処理するためのワイヤレス通信デバイスハンドセットであって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化する、符号化モジュールと、ここにおいて、前記少なくとも１つの他のパーティションは前記第１のパーティションのサブパーティションを備え、ここにおいて、前記少なくとも１つの他のコーディングモードに関連する前記情報は、ピクセルの前記ブロックが前記少なくとも１つの他のコーディングモードを使用して符号化された場合には生成されたことになる情報であり、
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する動き情報と、前記第１のコーディングモードに関連する動き情報と、を比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する；
ピクセルの前記符号化されたブロックを送信するためのトランスミッタと；
を備えるハンドセット。
【請求項４２】
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、請求項４１に記載のハンドセット。
【請求項４３】
前記符号化モジュールは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項４１に記載のハンドセット。
【請求項４４】
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないことを決定する、請求項４１に記載のハンドセット。
【請求項４５】
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が、時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項４１に記載のハンドセット。
【請求項４６】
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、請求項４１に記載のハンドセット。
【請求項４７】
前記符号化モジュールは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報、を取得し、そして、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じである、請求項４１に記載のハンドセット。
【請求項４８】
前記符号化モジュールは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、請求項４７に記載のハンドセット。
【請求項４９】
前記符号化モジュールは、ピクセルの前記ブロックが、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、請求項４７に記載のハンドセット。
【請求項５０】
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、請求項４１に記載のハンドセット。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本願は、この譲受人に譲渡され、すべての目的のために参照によりここにおいて完全に組み込まれている、２００６年１２月２２日に出願された「ハイブリッドビデオ圧縮におけるスキップモード検出のための方法および装置(Method and Apparatus for Skip Mode Detection in Hybrid Video Compression)」と題された米国仮出願第６０／８７１，６６０号の優先権の利益を主張する。
【技術分野】
【０００２】
本開示は、マルチメディア符号化に関し、より詳細には、コーディングモード(coding mode)の選択についての技法に関する。
【背景】
【０００３】
デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレス通信デバイス、パーソナルデジタルアシスタント(personal digital assistant)（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、ビデオゲームコンソール、デジタルカメラ、デジタル記録デバイス、セルラまたは衛星の無線電話などを含めて、デジタルビデオ機能は、広範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、ビデオシーケンスを処理し、送信する際に従来のアナログビデオシステムより優れたかなりの改善を提供することができる。
【０００４】
異なるビデオコーディング規格が、デジタルビデオシーケンスを符号化するために確立されてきている。例えば、ムービングピクチャエキスパートグループ(Moving Picture Experts Group)（ＭＰＥＧ）は、ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４を含めて、いくつかの規格を開発してきている。他の例は、国際電気通信連合(International Telecommunication Union)（ＩＴＵ）−Ｔ  Ｈ．２６３規格と、ＩＴＵ−Ｔ  Ｈ．２６４規格と、それに対応するもの、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４、パート１０、すなわちアドバンスドビデオコーディング(Advanced Video Coding)（ＡＶＣ）と、を含む。これらのビデオコーディング規格は、圧縮されるようにしてデータを符号化することによりビデオシーケンスの改善された送信効率をサポートする。
【０００５】
多数の現在の技法は、ブロックベースのコーディングを使用している。ブロックベースのコーディングにおいては、マルチメディアシーケンスのフレームは、ピクセルの不連続なブロックへと分割され、そしてピクセルのそれらのブロックは、同じフレーム内に、または異なるフレームの中に位置することができる他のブロックとの違いに基づいて符号化される。しばしば「マクロブロック」と称される、ピクセルのいくつかのブロックは、ピクセルのサブブロックのグループ分けを備える。一例として、１６×１６のマクロブロックは、４個の８×８のサブブロックを備えることができる。それらのサブブロックは、別々に符号化されることができる。例えば、Ｈ．２６４規格は、様々な異なるサイズ、例えば、１６×１６、１６×８、８×１６、８×８、４×４、８×４、および４×８を有するブロックのコーディングを可能にする。さらに、拡張により、任意のサイズ、例えば、２×１６、１６×２、２×２、４×１６、および８×２のサブブロックが、マクロブロック内に含まれることができる。
【発明の概要】
【０００６】
本開示のある種の態様においては、マルチメディアデータを処理するための方法は、現在のフレームのピクセルの１ブロックの第１のパーティション(a first partition of a block of pixels of a current frame)についての、第１のコーディングモードに関連する情報を取得すること(obtaining)と；ピクセルのブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得することと、なお、その少なくとも１つの他のパーティションは第１のパーティションとは異なる；少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して、第１のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定することと；を備える。
【０００７】
本開示のある種の態様においては、ビデオデータを処理するための装置は、メモリと、そのメモリから、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルのブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、そして、少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して、第１のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定する制御モジュールと、を備える。少なくとも１つの他のパーティションは、第１のパーティションとは異なる。
【０００８】
本開示のある種の態様においては、ビデオデータを処理するための装置は、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するための手段と；ピクセルのブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するための手段と、なお、その少なくとも１つの他のパーティションは第１のパーティションモードとは異なる；少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して、第１のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定するための手段と；を備える。
【０００９】
本開示のある種の態様においては、マルチメディアデータを処理するためのコンピュータプログラムプロダクト(computer-program product)は、命令を有するコンピュータ可読媒体(computer readable medium)を備える。本命令は、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するためのコードと；ピクセルのブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するためのコードと、なお、その少なくとも１つの他のパーティションは第１のパーティションモードとは異なる；少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して、第１のコーディングモードでピクセルのブロックが符号化されるべきかどうか、を決定するためのコードと；を含む。
【００１０】
本開示のある種の態様においては、ビデオデータを処理するためのワイヤレス通信デバイスハンドセット(wireless communication device handsets)は、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルのブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、ピクセルのブロックが、少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して第１のコーディングモードで符号化されるべきかどうかを決定し、そして、第１のコーディングモードでピクセルのブロックを符号化する、符号化モジュール(encoding module)と、なお、その少なくとも１つの他のパーティションは、第１のパーティションとは異なる；ピクセルの符号化されたブロックを送信するためのトランスミッタと；を備える。
【００１１】
本開示において説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でインプリメントされる(implemented)ことができる。ソフトウェアの形でインプリメントされる場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit)（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ(field programmable gate array)（ＦＰＧＡ）、デジタル信号プロセッサ(digital signal processor)（ＤＳＰ）のような、１つまたは複数のプロセッサに適用されうるプロセッサ、あるいは、他の等価な、一体化された、または個別の論理回路、において実行されることができる。本技法を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、そしてプロセッサによってロードされ、実行されることができる。したがって、本開示はまた、プロセッサに、本開示において説明されるような様々な技法のうちのどれでも実行するようにさせる命令を備えるコンピュータ可読媒体も考慮している。いくつかの場合においては、コンピュータ可読媒体は、コンピュータプログラムプロダクトの一部分を形成することができ、このコンピュータプログラムプロダクトは、製造業者に対して販売され、かつ／またはデバイスの中で使用されることができる。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含むことができ、そしていくつかの場合においては、パッケージング材料を含むこともできる。
【００１２】
１つまたは複数の例についての詳細は、添付図面と、下記の説明との中で述べられる。他の特徴、目的、および利点は、説明および図面から、そして特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１３】
【図１】図１は、ここにおいて説明される技法に従ってコーディングモードの選択を使用するマルチメディアコーディングシステムを示すブロック図である。
【図２】図２は、図１のコーディングシステムに関連する符号化モジュールを示すブロック図である。
【図３】図３は、本開示の技法に従ってピクセルの１ブロックについてのコーディングモードを解析する符号化モジュールの例示のオペレーションを示す流れ図である。
【図４】図４は、少なくとも１つの他のコーディングモードに関連する情報を使用してコーディングモードについての決定を行う符号化モジュールの例示のオペレーション(operation)を示す流れ図である。
【図５】図５は、本開示の技法に従ってＳＫＩＰモード検出を実行する符号化モジュールの例示のオペレーションを示す流れ図である。
【詳細な説明】
【００１４】
高圧縮効率を提供するために、符号化デバイスは、複数のコーディングモードをサポートすることができる。コーディングモードのおのおのは、異なるコーディング技法および／またはピクセルの１ブロックのパーティションに対応することができる。例えば、国際電気通信連合（ＩＴＵ）−Ｔ  Ｈ．２６４規格の場合においては、複数のインターコーディングモード(inter-coding modes)と、イントラコーディングモード(intra-coding modes)とが、存在している。インターコーディングモードは、ＳＫＩＰモードと、ＤＩＲＥＣＴモードと、１６×１６モードと、１６×８モードと、８×１６モードと、８×８モードと、８×４モードと、４×８モードと、４×４モードと、を含む。インターコーディングモードは、１つまたは複数の他の以前および／または後続の、時間的に位置するフレームの少なくとも一部分に関連してピクセルのブロックを符号化するインターコーディング技法を使用する。さらに、インターコーディング技法は、ピクセルのブロックの可変なサイズのパーティションに対応することができる。ＳＫＩＰモードは、１６×１６のパーティションに対応するが、符号化デバイスは、ＳＫＩＰモードにおいて任意の動き情報(motion information)または残留情報(residual information)を符号化することはない。ＤＩＲＥＣＴモードは、１６×１６のパーティション、または８×８のパーティションのいずれかに対応する。
【００１５】
イントラコーディングモードは、９つの可能な補間方向が存在するＩＮＴＲＡ４×４モードと、４つの可能な補間方向が存在するＩＮＴＲＡ１６×１６モードと、を含む。イントラコーディングモードは、他の時間的に位置する任意のフレームと関連なしにピクセルのブロックを符号化するイントラコーディング技法を使用する。インターコーディングモードと同様に、イントラコーディングモードは、ピクセルのブロックの可変なサイズのパーティションに対応する。
【００１６】
符号化デバイスは、ピクセルの各ブロックについて、使用可能なコーディングモードの少なくとも一部分を解析し、そして最も高い圧縮効率で、ピクセルのブロックを符号化する、コーディングモードのうちの１つを選択する。本開示の技法に従って、符号化デバイスは、異なるブロックパーティションを有する少なくとも１つの他のコーディングモードに関連する情報を使用して１つまたは複数のコーディングモードを解析する。換言すれば、符号化デバイスは、選択について現在考慮されているコーディングモードのブロックパーティションとは異なる１ブロックパーティション(a block partition)を有する少なくとも１つの他のコーディングモードに関連する情報を使用して選択について現在考慮されているコーディングモードを使用してピクセルのブロックを符号化すべきか否かを決定することができる。符号化デバイスは、さらに、少なくとも１つの他のコーディングモードに関連する情報に加えて、選択について現在考慮されているコーディングモードに関連する情報を使用することができる。特定のコーディングモードに関連する情報は、ブロックが、その特定のコーディングモードを使用して符号化された場合には、生成されることになる情報とすることができる。例えば、特定のコーディングモードに関連する情報は、ブロックが、特定のコーディングモードを使用して符号化された場合には、生成されることになる動き情報、参照情報(reference information)、残留情報、および／または他の情報を含むことができる。
【００１７】
そのような技法は、例えば、ピクセルのブロックについてコーディングモードのうちの１つを選択するために使用されることができる。代わりに、本技法は、符号化デバイスが選択することができる可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、本技法は、ピクセルのブロックを符号化するために使用されることができるコーディングモードのうちの少なくとも一部分を削除するために使用されることができる。符号化デバイスは、そのときには、残りの可能性のあるコーディングモードについての、レート−ひずみ(rate-distortion)（Ｒ−Ｄ）コーディングコストを比較することなど、他のモード選択技法を使用することができる。いずれの場合においても、本開示のコーディングモード選択技法は、効果的なモード選択を実行し、かつ／またはより正確なモード選択をもたらすために必要とされる計算集約的な計算の量を低減させることができる。
【００１８】
図１は、ここにおいて説明される技法に従ってコーディングモード選択技法を使用するマルチメディアコーディングシステム１０を示すブロック図である。マルチメディアコーディングシステム１０は、ネットワーク１６によって接続された符号化デバイス１２と、復号化デバイス１４と、を含む。符号化デバイス１２は、少なくとも１つのソース１８からデジタルマルチメディアシーケンスを取得し、そのデジタルマルチメディアシーケンスを符号化し、そしてその符号化されたシーケンスをネットワーク１６上で復号化デバイス１４へと送信する。
【００１９】
ある種の態様においては、ソース１８は、例えば、衛星を経由して、デジタルマルチメディアシーケンスをブロードキャストする１つまたは複数のビデオコンテンツプロバイダ(video content providers)を備えることができる。他の態様においては、ソース１８は、デジタルマルチメディアシーケンスを取り込むイメージキャプチャデバイス(image capture device)を備えることができる。この場合においては、イメージキャプチャデバイスは、符号化デバイス１２内に一体化され、あるいは符号化デバイス１２に結合されることができる。ソース１８はまた、符号化デバイス１２内のメモリまたはアーカイブ(archive)とし、あるいは符号化デバイス１２に結合されることもできる。
【００２０】
ソース１８から受け取られるマルチメディアシーケンスは、ブロードキャストまたはオンデマンドとして符号化され、そして送信されるべきライブのリアルタイムの、もしくはリアルタイムに近いビデオおよび／またはオーディオのシーケンスを備えることができ、あるいはブロードキャストまたはオンデマンドとして符号化され、そして送信されるべきあらかじめ記録され、そして記憶されたビデオおよび／またはオーディオのシーケンスを備えることができる。いくつかの態様においては、マルチメディアシーケンスの少なくとも一部分は、ゲーミング(gaming)の場合などにおいて、コンピュータにより生成されることができる。
【００２１】
ソース１８から受け取られるデジタルマルチメディアシーケンスは、ピクチャのシーケンスの観点から説明されることができ、これらのピクチャは、フレーム（全体のピクチャ）またはフィールド（例えば、ピクチャの交互に並んだ奇数ラインまたは偶数ラインのフィールド）を含む。さらに、おのおののフレームまたはフィールドは、２つ以上のスライス、あるいはフレームまたはフィールドの小部分をさらに含むことができる。ここにおいて使用されるように、用語「フレーム」は、ピクチャ、フレーム、フィールド、またはそれらのスライスを意味することができる。
【００２２】
符号化デバイス１２は、復号化デバイス１４に対する送信のためにマルチメディアシーケンスを符号化する。符号化デバイス１２は、ムービングピクチャエキスパートグループ（ＭＰＥＧ）−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４などのビデオ圧縮規格に応じてマルチメディアシーケンスを符号化することができ、このＩＴＵ−Ｔ  Ｈ．２６４は、ＭＰＥＧ−４、パート１０、アドバンスドビデオコーディング（ＡＶＣ）に対応している。そのような符号化の、そして拡張により復号化の方法は、送信および／または記憶のためにフレームの内容を圧縮する無損失又は損失の多い圧縮アルゴリズムを対象とすることができる。圧縮は、マルチメディアデータから冗長性を除去するプロセスとして広範に考えられることができる。
【００２３】
いくつかの態様においては、本開示は、２００６年８月に技術規格ＴＩＡ−１０９９（「ＦＬＯ仕様」）として発行された順方向リンクオンリー（ＦＬＯ）エアインターフェース仕様、「地上モバイルマルチメディアマルチキャストのための順方向リンクオンリーエアインターフェース仕様」(the Forward Link Only (FLO) Air Interface Specification, "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast")を使用した地上モバイルマルチメディアマルチキャスト(terrestrial mobile multimedia multicast)（ＴＭ３）システムにおいてリアルタイムマルチメディアサービスを配信するための拡張Ｈ．２６４ビデオコーディングに対する適用を考慮している。しかしながら、本開示において説明されるコーディングモード選択技法は、特定の任意のタイプのブロードキャスト、マルチキャスト、ユニキャスト、またはポイントツーポイントのシステムだけには限定されない。
【００２４】
Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、ジョイントビデオチーム(Joint Video Team)（ＪＶＴ）として知られている共同パートナーシップの産物としてＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ）と一緒にＩＴＵ−Ｔビデオコーディングエキスパートグループ(Video Coding Experts Group)（ＶＣＥＧ）によって策定された。Ｈ．２６４規格は、ＩＴＵ−Ｔスタディグループによる、２００５年３月の日付のＩＴＵ−Ｔ勧告(Recommendation)Ｈ．２６４、包括的なオーディオビジュアルサービスのためのアドバンスドビデオコーディングにおいて説明され、これは、ここにおいては、Ｈ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と称されることができる。
【００２５】
ＪＶＴは、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに対するスケーラブルビデオコーディング(scalable video coding)（ＳＶＣ）拡張について作業し続けている。進化するＳＶＣ拡張の仕様は、共同ドラフト(Joint Draft)（ＪＤ）の形式である。ＪＶＴによって作成される共同スケーラブルビデオモデル(Joint Scalable Video Model)（ＪＳＶＭ）は、スケーラブルなビデオにおいて使用するためのツールをインプリメントし、これは、本開示において説明される様々なコーディングタスクのためのマルチメディアコーディングシステム１０内で使用されることができる。微細細分性ＳＮＲスケーラビリティ(Fine Granularity SNR Scalability)（ＦＧＳ）コーディングに関する詳細な情報は、共同ドラフト文書の中に、例えば共同ドラフト６（ＳＶＣ  ＪＤ６）、トーマス・ウィーガント、ゲーリー・サリバン、ジュリアン・ライヒェル、ヘイコ・シュワルツ、およびマティアス・ウィーン、「共同ドラフト６：スケーラブルビデオコーディング」、ＪＶＴ−Ｓ  ２０１、２００６年４月、ジュネーブ(Joint Draft 6 (SVC JD6), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 6: Scalable Video Coding," JVT-S 201, April 2006, Geneva)の中に、そして共同ドラフト９（ＳＶＣ  ＪＤ９）、トーマス・ウィーガント、ゲーリー・サリバン、ジュリアン・ライヒェル、ヘイコ・シュワルツ、およびマティアス・ウィーン、「ＳＶＣ修正案の共同ドラフト９」、ＪＶＴ−Ｖ  ２０１、２００７年１月、マラケシュ、モロッコ(Joint Draft 9 (SVC JD9), Thomas Wiegand, Gary Sullivan, Julien Reichel, Heiko Schwarz, and Mathias Wien, "Joint Draft 9 of SVC Amendment," JVT-V 201, January 2007, Marrakech, Morocco)の中に見出されることができる。
【００２６】
図１に示されるように、符号化デバイス１２は、符号化モジュール２０と、トランスミッタ２２とを含む。符号化モジュール２０は、１つまたは複数のコーディング技法を使用してソース１８から受け取られるシーケンスのフレームのおのおのを符号化する。例えば、符号化モジュール２０は、イントラコーディング技法を使用して１つまたは複数のフレームを符号化することができる。多くの場合にイントラ（「Ｉ」）フレームと称される、イントラコーディング技法を使用して符号化されるフレームは、他のフレームと関連なしに符号化される。しかしながら、イントラコーディングを使用して符号化されるフレームは、同じフレームの中に位置する他のマルチメディアデータにおける冗長性を利用するために空間予測を使用することができる。
【００２７】
符号化モジュール２０は、インターコーディング技法を使用して１つまたは複数のフレームを符号化することもできる。インターコーディング技法を使用して符号化されるフレームは、ここにおいて参照フレーム(reference frame)と称される１つまたは複数の他のフレームの少なくとも一部分に関連して符号化される。インターコーディング化された(inter-coded)フレームは、１つまたは複数の予測(predictive)（「Ｐ」）フレーム、双方向(bi-directional)（「Ｂ」）フレーム、またはそれらの組合せを含むことができる。Ｐフレームは、少なくとも１つの時間的先行フレームに関連して符号化されるが、Ｂフレームは、少なくとも１つの時間的将来フレームと、少なくとも１つの時間的先行フレームとに関連して符号化される。時間的先行フレームおよび／または時間的将来フレームは、参照フレームと称される。このようにして、インターコーディングは、時間的フレームを通して、マルチメディアデータの中の冗長性を利用する。
【００２８】
符号化モジュール２０は、さらに、フレームをピクセルの複数のサブセットに分割することにより、シーケンスのフレームを符号化するように、そしてピクセルのサブセットのおのおのを別々に符号化するように、構成されることができる。ピクセルのこれらのサブセットは、ブロックまたはマクロブロックと称されることができる。符号化モジュール２０は、さらに各ブロックを２つ以上のサブブロックへと再分割することができる。一例として、１６×１６のブロックは、４つの８×８のサブブロック、または他の再分割ブロックを備えることができる。例えば、Ｈ．２６４規格は、様々な異なるサイズ、例えば、１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４を有するブロックの符号化を可能にする。さらに拡張により、ブロックの再分割は、任意のサイズ、例えば、２×１６、１６×２、２×２、４×１６、８×２などのサブブロックへと行われることができる。１６個の行または列よりも大きな、または小さなブロックもまた、可能である。ここにおいて使用されるように、用語「ブロック」は、任意のサイズのブロックまたはサブブロックのいずれをも意味することができる。
【００２９】
符号化モジュール２０は、複数のコーディングモードをサポートすることができる。上記に説明されるように、コーディングモードのおのおのは、異なるコーディング技法および／またはピクセルのブロックのパーティションに対応することができる。例えば、Ｈ．２６４規格の場合においては、符号化モジュール２０は、いくつかのインターモード（例えば、ＳＫＩＰモード、ＤＩＲＥＣＴモード、１６×１６モード、１６×８モード、８×１６モード、８×８モード、８×４モード、４×８モード、および４×４モード）と、いくつかのイントラモード（すなわち、ＩＮＴＲＡ  ４×４モードおよびＩＮＴＲＡ  １６×１６モード）と、をサポートする。符号化モジュール２０は、ピクセルの各ブロックについて、使用可能なコーディングモードの少なくとも一部分を解析し、そして最高の圧縮効率でピクセルのブロックを符号化するコーディングモードを選択する。
【００３０】
選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定するときに、符号化モジュール２０は、選択について現在考慮されているコーディングモードのブロックパーティションとは異なるブロックパーティションを有する少なくとも１つの他のコーディングモードに関連する情報を使用することができる。符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報、ならびに決定を行うべき他のコーディングモードに関連する情報に加えて、同じブロックパーティションを有するコーディングモードに関連する情報を使用することもできる。一態様においては、符号化モジュール２０は、選択について現在考慮されているコーディングモードのピクセルのブロックのブロックパーティションまたはパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。換言すれば、選択について現在考慮されているコーディングモードは、第１のブロックパーティションを有する。その情報が、選択について現在考慮されているコーディングモードで、ピクセルのブロックを符号化すべきかどうかの決定を行うために使用される他のコーディングモードは、第２のブロックパーティションを有する。第２のブロックパーティションは、第１のブロックパーティションのサブパーティションを含んでいる。例えば、符号化モジュール２０は、インター１６×１６コーディングモード(inter 16x16 coding mode)に関する決定を行うために、インター８×８コーディングモード(inter 8x8 coding mode)に関連する情報を使用し、あるいはインター８×８コーディングモードに関する決定を行うためにインター４×８コーディングモード(inter 4x8 coding mode)を使用することができる。
【００３１】
上記に説明されるように、特定のコーディングモードに関連する情報は、ブロックが、その特定のコーディングモードを使用して符号化された場合に、生成されることになる情報とすることができる。例えば、特定のコーディングモードに関連する情報は、ブロックが、特定のコーディングモードを使用して符号化された場合に、生成されることになる動き情報、参照情報、残留情報、および／または他の情報を含むことができる。
【００３２】
そのような技法は、コーディングモードのうちの１つを選択するために使用されることができる。本開示の技法は、例えば、ＳＫＩＰモード検出を実行するためにとりわけ有用とすることができる。しかしながら、本技法は、ＤＩＲＥＣＴモード、インタースクエアモード(Inter square mode)（例えば、１６×１６、８×８、または４×４）、インターレクタンギュラーモード(Inter rectangular modes)（例えば、１６×８、８×１６、８×４、または４×８）など、他のコーディングモードを選択する際に、そして一般に高速なモード決定のために、有用とすることもできる。代わりに、本技法は、符号化デバイスが選択することができる可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、本技法は、ピクセルのブロックを符号化するために使用されることができるコーディングモードの少なくとも一部分を削除するために使用されることができる。いずれの場合においても、モード選択技法は、選択について現在考慮されているモードに関連する情報だけでなく、別のコーディングモードに関連する情報も解析することにより、より正確なモード選択をもたらすことができる。さらに、本開示のモード選択技法は、効果的なモード選択を実行するために必要とされる計算集約的な計算の量を低減させることができる。例えば、いくつかの場合においては、制御モジュール３２は、現在解析されているコーディングモードに関連する情報を計算する必要がない可能性があり、このようにしてコーディングモードを選択するために必要とされる計算集約的な計算の数を低減させている。他の場合においては、本技法は、変換され、量子化され、そしてエントロピー符号化される必要のない情報を使用してモード選択を実行することにより、高価な計算の数を低減させることができる。
【００３３】
符号化デバイス１２は、フレームのブロックを符号化するために、選択されたコーディングモードを適用し、そして符号化されたフレームをネットワーク１６上でトランスミッタ２２を経由して送信する。トランスミッタ２２は、ネットワーク１６上で符号化されたマルチメディアを送信する、適切なモデムおよびドライバ回路のソフトウェアおよび／またはファームウェアを含むことができる。ある種の態様においては、符号化デバイス１２は、ある期間にわたって受信されるフレームを符号化し、組み合わせ、そして送信することができる。例えば、いくつかのマルチメディアコーディングシステムにおいては、マルチメディアデータの複数のフレームが、時に「スーパーフレーム」と称される、マルチメディアデータのセグメントへと一緒にグループ分けされる。ここにおいて使用されるように、用語「スーパーフレーム」は、データのセグメントを形成する期間またはウィンドウにわたって収集されるフレームのグループを意味する。ＦＬＯ技術を利用するコーディングシステムにおいては、スーパーフレームは、データの１秒のセグメントを備えることができ、これは、名目上、３０フレームを有することができる。しかしながら、スーパーフレームは、任意数のフレームを含むことができる。本技法は、固定期間であってもよく、またはそうでなくてもよい、異なる期間上で、あるいは個別のフレーム、またはデータのフレームの組について、受信されるデータのセグメントなどについて、データの他のセグメントを符号化することと、組み合わせることと、送信することとのために利用されることもできる。換言すれば、スーパーフレームは、１秒の期間よりも長い、または短い時間間隔、あるいは可変な時間間隔さえカバーするために定義されることができる。本開示全体を通して、マルチメディアデータの（例えば、スーパーフレームの概念に類似した）特定のセグメントは、特定のサイズおよび／または存続時間のマルチメディアデータの任意のチャンクを意味することに注意すべきである。
【００３４】
いくつかの態様においては、符号化デバイス１２は、マルチメディアデータの１つまたは複数のチャネルをブロードキャストするために使用されるブロードキャストネットワークコンポーネントの一部分を形成することができる。したがって、符号化されたシーケンスのおのおのは、マルチメディアデータのチャネルに対応することができる。マルチメディアデータのチャネルのおのおのは、ベースレイヤと、もしかすると１つまたは複数の拡張レイヤと、を備えることができる。一例として、符号化デバイス１２は、符号化されたマルチメディアデータの１つまたは複数のチャネルをワイヤレスデバイスに対してブロードキャストするために使用されるワイヤレス基地局、サーバ、または任意のインフラストラクチャノード(infrastructure node)の一部分を形成することができる。この場合においては、符号化デバイス１２は、復号化デバイス１４など、複数のワイヤレスデバイスに対して符号化されたデータを送信することができる。しかしながら、単一の復号化デバイス１４が、簡単のために図１に示されている。他の態様においては、符号化デバイス１２は、ビデオ電話または他の類似したアプリケーションについてのローカルに取り込まれたビデオを送信するハンドセットを備えることができる。例えば、符号化デバイス１２は、デジタルテレビジョン、ワイヤレス通信デバイス、ゲーミングデバイス、ポータブルデジタルアシスタント(portable digital assistant)（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタル音楽およびビデオのプレーヤデバイス、またはセルラ−ベース、衛星−ベース、地上−ベースの無線電話などの無線電話、あるいはビデオおよび／またはオーディオのストリーミング、ビデオ電話技術、またはそれらの両方について装備された他のワイヤレスモバイル端末、の一部分としてインプリメントされることができる。換言すれば、符号化デバイス１２は、ワイヤレス通信デバイスハンドセットの一部分としてインプリメントされることができる。他の態様においては、符号化デバイス１２は、有線ネットワークに結合された有線デバイスを備えることもできる。
【００３５】
符号化デバイス１２は、符号化されたシーケンスをネットワーク１６上で復号するための復号化デバイス１４に対して送信し、そしてもしかするとプレゼンテーションを復号化デバイス１４のユーザに対して送信する。ネットワーク１６は、１つまたは複数のイーサネット（登録商標）(Ethernet(登録商標))システム、単純な昔からの電話サービス(plain old telephone service)（例えば、ＰＯＴＳ）システム、ケーブルシステム、パワーラインシステム(power line system)、光ファイバシステム、および／または１つまたは複数の符号分割多元接続(code division multiple access)（ＣＤＭＡまたはＣＤＭＡ２０００）通信システム、周波数分割多元接続(frequency division multiple access)（ＦＤＭＡ）システム、直交周波数分割多元(orthogonal frequency division multiple)（ＯＦＤＭ）接続システム、汎用パケット無線サービス(General packet Radio Service)（ＧＰＲＳ／ＧＳＭ）／拡張データＧＳＭ環境(enhanced data GSM environment)（ＥＤＧＥ）などの時分割多元接続(time division multiple access)（ＴＤＭＡ）システム、地上トランクド無線(Terrestrial Trunked Radio)（ＴＥＴＲＡ）モバイル電話システム、広帯域符号分割多元接続(wideband code division multiple access)（ＷＣＤＭＡ）システム、高データレート（１×ＥＶ−ＤＯまたは１×ＥＶ−ＤＯゴールドマルチキャスト(Gold Multicast)）システム、ＩＥＥＥ８０２．１１システム、ＦＬＯシステム、デジタルメディアブロードキャスト(digital media broadcast)（ＤＭＢ）システム、デジタルビデオブロードキャスト−ハンドヘルド(digital video broadcast-handheld)（ＤＶＢ−Ｈ）システム、統合サービスデジタルブロードキャスト−地上(integrated services digital broadcast-terrestrial)（ＩＳＤＢ−Ｔ）システムなどを備えるワイヤレスシステム、を含めて、１つまたは複数の有線またはワイヤレスの通信ネットワークを備えることができる。ワイヤレスの場合について説明されるが、本開示の技法は、有線ネットワークを経由して送信するためのデータを圧縮するために使用されることができる。
【００３６】
復号化デバイス１４は、レシーバ２４と、復号化モジュール２６と、を含む。復号化デバイス１４は、レシーバ２４を経由して符号化デバイス１２から符号化されたデータを受信する。トランスミッタ２２と同様に、レシーバ２４は、ネットワーク１６上で、符号化されたマルチメディアを受信する、適切なモデムおよびドライバ回路のソフトウェアおよび／またはファームウェアを含むことができ、そしてワイヤレスアプリケーションにおいて符号化されたマルチメディアデータを搬送するワイヤレスデータを受信するＲＦ回路を含むことができる。復号化モジュール２６は、レシーバ２４を経由して受信されるデータの符号化されたフレームを復号する。復号化デバイス１４は、さらに、復号化デバイス１４内に一体化されるか、または有線またはワイヤレスの接続を経由して復号化デバイス１４に結合された個別デバイスとして提供されるかのいずれかとすることができるディスプレイ（図示されず）を経由してユーザに対してデータの復号されたフレームを提示することができる。
【００３７】
復号化デバイス１４は、例えば、デジタルテレビジョン、ワイヤレス通信デバイス、ゲーミングデバイス、ポータブルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、デジタル音楽およびビデオのプレーヤデバイス、セルラ−ベース、衛星−ベース、地上−ベースの無線電話などの無線電話、あるいはビデオおよび／またはオーディオのストリーミング、ビデオ電話技術、またはそれらの両方について装備された他のワイヤレスモバイル端末、の一部分としてインプリメントされることができる。復号化デバイス１４は、モバイルデバイスまたは静止デバイスに関連づけられることができる。他の態様においては、復号化デバイス１４は、有線ネットワークに結合された有線デバイスを備えることができる。
【００３８】
いくつかの例においては、符号化デバイス１２と、復号化デバイス１４とは、おのおの相互の送信および受信の回路を含むことができ、その結果、おのおのは、ネットワーク１６上で送信される符号化されたマルチメディアおよび他の情報についての送信デバイスと、受信デバイスとの両方としての役割を果たすことができる。この場合においては、符号化デバイス１２と、復号化デバイス１４との両方は、マルチメディアシーケンスを送信し、受信し、そしてそれ故に双方向通信に参加することができる。換言すれば、マルチメディアコーディングシステム１０の例示のコンポーネントは、エンコーダ／デコーダ（ＣＯＤＥＣ）の一部分として一体化されることができる。
【００３９】
符号化デバイス１２と、復号化デバイス１４との中のコンポーネントは、ここにおいて説明される技法をインプリメントするために適用可能なこれらの例示的なものである。しかしながら、符号化デバイス１２と、復号化デバイス１４とは、望まれる場合には、多数の他のコンポーネントを含むことができる。例えば、符号化デバイス１２は、おのおのが、ここにおいて説明される技法に従ってマルチメディアデータの１つまたは複数のシーケンスを受信し、そしてマルチメディアデータのそれぞれのシーケンスを符号化する複数の符号化モジュールを含むことができる。この場合においては、符号化デバイス１２は、送信するためにデータのセグメントを組み合わせる少なくとも１つのマルチプレクサをさらに含むことができる。さらに、符号化デバイス１２と、復号化デバイス１４とは、適用可能なように、無線周波数(radio frequency)（ＲＦ）のワイヤレスのコンポーネントおよびアンテナを含めて、符号化されたビデオの送信および受信のための適切な変調コンポーネントと、復調コンポーネントと、周波数変換コンポーネントと、フィルタリングコンポーネントと、増幅器コンポーネントと、を含むことができる。しかしながら、説明図を簡単にするために、そのようなコンポーネントは、図１に示されてはいない。
【００４０】
図２は、図１の符号化モジュール２０をさらに詳細に示すブロック図である。いくつかの態様においては、符号化モジュール２０は、ワイヤレス通信デバイスハンドセット、またはブロードキャストサーバの一部分を形成することができる。符号化モジュール２０は、少なくとも１つのソース１８（図１）からの１つまたは複数のマルチメディアシーケンスのマルチメディアデータの入力フレームを受信し、そしてそれらの受信されたマルチメディアシーケンスのフレームを処理する制御モジュール３２を含んでいる。特に、制御モジュール３２は、マルチメディアシーケンスの着信フレームを解析し、そしてそれらのフレームの解析に基づいて着信フレームを符号化すべきか、あるいはスキップすべきかを決定する。符号化デバイス１２は、例えば、低下されたフレームレートで情報を符号化するためにマルチメディアシーケンスの中のフレームをスキップすることができ、それによってネットワーク１６を通して帯域幅を節約している。
【００４１】
さらに、符号化される着信フレームに対しては、制御モジュール３２は、フレームを、Ｉフレーム、Ｐフレーム、あるいはＢフレームとして符号化すべきかどうかを決定するように、構成されることもできる。制御モジュール３２は、マルチメディアシーケンスの開始時に、シーケンス内の検出されたシーンの変化時に、チャネル切換えフレーム(channel switch frame)（ＣＳＦ）として使用するために、あるいはイントラリフレッシュフレーム(intra refresh frame)として使用するために、着信フレームをＩフレームとして符号化するように決定することができる。そうでなければ、制御モジュール３２は、フレームを符号化することに関連する帯域幅の量を低減させるためにインターコーディング化されたフレーム（すなわち、ＰフレームまたはＢフレーム）としてフレームを符号化する。
【００４２】
制御モジュール３２は、さらに、フレームを複数のブロックへと分割するように、そしてそれらのブロックのおのおのについて、上記に説明されたＨ．２６４コーディングモードのうちの１つなどのコーディングモードを選択するように、構成されることができる。ブロックのおのおのについてコーディングモードを選択する際に支援するために、符号化モジュール２０は、コーディングモードの少なくとも一部分に関連する情報を生成する。ブロックが、サブブロックまたはサブパーティションへと分割されるコーディングモードにおいては、符号化モジュール２０は、サブブロックまたはサブパーティションのおのおのに関連する情報を生成する。インターコーディング化されるように選択される１ブロックでは、動き推定モジュール３６が、ブロックのおのおののパーティションまたはサブパーティションについて、参照フレームを選択し、そして動き情報を計算するように動き推定を実行する。参照フレームを選択するために、動き推定モジュール３６は、入力フレームの中で符号化されるべきブロックに最も適合した１ブロックについて、１つまたは複数の時間的先行フレームおよび／または時間的将来フレームをサーチする。動き推定モジュール３６は、エラー尺度、例えば、絶対差の和(sum of absolute difference)（ＳＡＤ）、平均２乗誤差(mean square error)（ＭＳＥ）などを使用して、１つまたは複数の時間的先行フレームおよび／または時間的将来フレームの中のブロックと、符号化されるべきブロックを比較することができる。動き推定モジュール３６は、最も小さいエラー測定値を有するブロックを選択することができる。選択されたブロックに関連するフレームは、参照フレームである。動き推定モジュール３６は、１つまたは複数の参照フレームのあらかじめ決定されたサーチエリア(search area)のブロックと、符号化されるべきブロックを比較することができる。代わりに、動き推定モジュール３６は、１つまたは複数の参照フレームの中のすべてのブロックの完全サーチを実行することもできる。
【００４３】
ひとたび参照フレームと、その対応するブロックが、識別された後に、動き推定モジュール３６は、現在のフレームの中のブロック、すなわち符号化されるべきブロックに関して参照フレームの中の識別されたブロックの変位を表す動き情報を計算する。したがって、多くの場合に動きベクトルと称される動き情報は、入力フレームの中のブロックのロケーションと、参照フレームの中の識別されたブロックのロケーションとの間のオフセットを表す。
【００４４】
動き補償予測モジュール３８は、入力フレームのブロックと、動きベクトルが指す参照フレームの中の識別されたブロックとの間の差を計算する。この差は、そのブロックについての残留情報である。動き補償予測モジュール３８は、ブロックの輝度(luma)成分と、色度(chroma)成分との両方についての残留情報を計算することができる。一態様においては、動き補償予測モジュール３８は、輝度成分と色度成分とを符号化するための符号化されたブロックパターン(coded block pattern)（ＣＢＰ）コストを計算することができる。
【００４５】
イントラコーディング化されるように選択される１ブロックでは、空間予測モジュール３４は、そのブロックについての残留情報を生成する。空間予測モジュール３４は、例えば、１つまたは複数の隣接ブロックと、選択されたイントラコーディングモードに対応する補間方向性を使用して補間を経由してブロックの予測されたバージョンを生成することができる。次いで、空間予測モジュール３４は、入力フレームのブロックと、予測されたブロックとの間の差を計算することができる。この差は、残留情報または残留係数と称される。インターコーディングモードと同様に、空間予測モジュール３４は、残留情報を符号化するためのＣＢＰコストを計算することができる。
【００４６】
動き推定モジュール３６と、動き補償予測モジュール３８と、空間予測モジュール３４とは、異なるコーディングモードについて計算された情報をメモリ３９に記憶することができる。メモリ３９は、例えば、ランダムアクセスメモリ(random access memory)（ＲＡＭ）、読取り専用メモリ(read-only memory)（ＲＯＭ）、不揮発性ランダムアクセスメモリ(non-volatile random access memory)（ＮＶＲＡＭ）、電気的消去可能プログラマブル読取り専用メモリ(electrically erasable programmable read-only memory)（ＥＥＰＲＯＭ）、フラッシュメモリ(FLASH memory)など、を備えることができる。下記に詳細に説明されるように、制御モジュール３２は、コーディングモードの選択を実行するためにメモリ３９に記憶された情報を使用することができる。
【００４７】
特に、制御モジュール３２は、選択について現在考慮されているコーディングモードとは異なるブロックパーティションを有する他のコーディングモードのうちの少なくとも１つに関連する情報を使用して、選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定する。一態様においては、制御モジュール３２は、選択について現在考慮されているコーディングモードのブロックパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。制御モジュール３２は、さらに、選択について現在考慮されているコーディングモードに関連する情報、ならびに選択について現在考慮されているコーディングモードと同じブロックパーティションを有する別のコーディングモードに関連する情報、を使用することができる。
【００４８】
一例として、制御モジュール３２は、インター１６×１６コーディングモードでピクセルのブロックを符号化すべきか否かを決定するためにインター８×８コーディングモードに関連する情報を使用することができる。より詳細には、インター１６×１６コーディングモードとインター８×８コーディングモードとに関連する情報は、動き推定モジュール３６と、動き補償予測モジュール３８とによって計算されることができる。例えば、動き推定モジュール３６と、動き補償予測モジュール３８とは、ブロックが、その特定のコーディングモードを使用して符号化された場合に、生成されることになる情報を計算することができる。この情報は、１つまたは複数の動きベクトル、参照フレームインデックス、残留情報など、を含むことができる。上記に説明されるように、インター８×８コーディングモード、その１６×１６コーディングモード、またはそれらの両方に関連する情報は、もっと早期に計算され、そしてメモリ３９に記憶されることができる。代わりに、インター１６×１６コーディングモードとインター８×８コーディングモードとのうちの一方または両方に関連する情報は、必要に応じて、例えば、インター１６×１６コーディングモードの解析中に計算されることもできる。
【００４９】
制御モジュール３２は、例えば、選択について現在考慮されているコーディングモードでピクセルのブロックを符号化すべきか否かを決定するために、少なくとも１つの他のコーディングモードの動き情報、参照情報、残留情報、および／または他の情報を解析することができる。制御モジュール３２は、インター１６×１６コーディングモードを使用してピクセルのブロックを符号化すべきか否かを決定するために、インター８×８コーディングモードに関連する情報のそれぞれの部分と、インター１６×１６コーディングモードに関連する情報の少なくとも一部分を比較することができる。一態様においては、制御モジュール３２は、インター８×８コーディングモードについて計算された４つの動きベクトルの平均の大きさと、インター１６×１６コーディングモードについて計算された動きベクトルの大きさを比較することができる。その１６×１６の動きベクトルの大きさと、４つの８×８の動きベクトルの平均とが、実質的に同じではない、例えば、それらの大きさの間の差がしきい値以上であるときには、制御モジュール３２は、インター１６×１６コーディングモードが、最高の圧縮効率もたらさないことを決定することができる。換言すれば、制御モジュール３２は、１６×１６の動きベクトルの大きさと、４つの８×８の動きベクトルの平均とが、実質的に同じではないときに、インター１６×１６コーディングモードを使用してピクセルのブロックを符号化しないように決定する。制御モジュール３２は、下記にもっと詳細に説明されるように、インター８×８コーディングモードと、インター１６×１６コーディングモードとのそれらの動きベクトルの方向を比較することもできる。
【００５０】
さらに、制御モジュール３２は、インター１６×１６コーディングモードを使用してブロックを符号化すべきか否かを決定するために、インター８×８コーディングモードに関連する他の情報を解析することができる。制御モジュール３２は、例えば、８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる。インター８×８コーディングモードのサブブロックのうちのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するとき、制御モジュール３２は、インター１６×１６コーディングモードが、最高の圧縮効率をもたらさないことになることを決定することができる。この場合においては、制御モジュールは、考慮中の特定のブロックを符号化する際に使用するためにその１６×１６コーディングモードを選択することはない。
【００５１】
選択について現在考慮されているコーディングモードを使用してブロックを符号化すべきか否かを決定するために１つまたは複数の他のコーディングモードに関連する情報を使用することにより、制御モジュール３２は、もっと正確にコーディングモードを選択することができるようになる。選択について現在考慮されているコーディングモードに関連する情報だけを使用してコーディングモードを選択することではなくて、モードの選択は、考慮中のモードの起こりそうなパフォーマンスを示す他のモードに関連する情報に少なくとも部分的に基づいている可能性がある。さらに、制御モジュール３２は、低減された量の計算集約的な計算を使用して選択を行うことができる。例えば、いくつかの場合には、制御モジュール３２は、現在解析されているコーディングモードに関連する情報を計算する必要がない可能性があり、このようにしてコーディングモードを選択するために必要とされる計算集約的な計算の数を低減させている。このようにして、他のモードについての情報に依存することにより、考慮中のモードは、そうでなければ必要であったことになる大規模な計算のうちの少なくともいくつかのない選択について解析されることができる。
【００５２】
上記に説明される例においては、制御モジュール３２は、選択について現在考慮されているコーディングモードでブロックを符号化すべきかどうかを決定する際に、異なるブロックパーティションを有する１つの他のコーディングモードに関連する情報を使用するが、制御モジュール３２は、異なるブロックパーティションを有する複数の他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール３２は、インター１６×１６コーディングモードを使用してブロックを符号化すべきか否かを決定するために８×８コーディングモードに関連する情報に加えて、インター４×４コーディングモード、または他のインターコーディングモードに関連する情報を使用することができる。異なるブロックパーティションを有するコーディングモードは、現在考慮中のモードの選択に関連した情報を生成する可能性がより高いこともある。
【００５３】
上記に説明されるように、本開示の技法は、ＳＫＩＰモード検出をより正確に実行する際に特に有用とすることができる。例えば、制御モジュール３２は、ＳＫＩＰモードを適用すべきかどうかを決定するときに、ＳＫＩＰコーディングモードのブロックパーティションとは異なるブロックパーティションを有する別のコーディングモードに関連する情報を使用することができる。ＳＫＩＰモードにおいては、パーティションブロックサイズは、１６×１６であり、これは、インター１６×１６コーディングモードと同じパーティションブロックサイズである。いくつかの態様においては、制御モジュール３２は、ＳＫＩＰモードと、インター１６×１６コーディングモードと、インター８×８コーディングモードとに関連する情報を使用してＳＫＩＰモードでブロックを符号化すべきかどうかをもっと正確に決定することができる。換言すれば、このＳＫＩＰモード検出の例において、制御モジュール３２は、ＳＫＩＰモードと同じブロックパーティションを有する１つの他のコーディングモード（すなわち、インター１６×１６コーディングモード）に関連する情報と、異なるブロックパーティションを有する１つの他のコーディングモード（すなわち、インター８×８コーディングモード）に関連する情報と、を使用する。
【００５４】
制御モジュール３２は、ＳＫＩＰモードに関する初期決定を行うために、ＳＫＩＰモードと同じブロックパーティションを有する他のコーディングモード、すなわち、インター１６×１６コーディングモードに関連する情報を使用することができる。制御モジュール３２は、そのときには、異なるブロックパーティションを有する他のコーディングモード、すなわち、８×８コーディング情報を使用して初期決定の正確さを決定することができる。ＳＫＩＰモードに関する初期決定を行うために、制御モジュール３２は、インター１６×１６コーディングモードに関連する情報と一緒にＳＫＩＰモードに関連する情報を解析する。制御モジュール３２は、ＳＫＩＰ動きベクトルと、１６×１６の動きベクトルとが、実質的に同じであるかどうかを決定するために、インター１６×１６コーディングモードの動きベクトルと、ＳＫＩＰモードの動きベクトルを比較することができる。制御モジュール３２は、動きベクトルの大きさおよび／または方向を比較することができる。制御モジュール３２は、スキップモード検出を実行する際に、インター１６×１６コーディングモードに関連する参照フレーム情報（例えば、参照フレームインデックス）、ならびにインター１６×１６コーディングモードに関連する残留情報、を解析することもできる。例えば、制御モジュール３２は、（ａ）ＳＫＩＰモードと、インター１６×１６コーディングモードとの動きベクトルが、実質的に同じであり、（ｂ）インター１６×１６コーディングモードの参照フレームが、時間的に現在のフレームのすぐ隣に位置しており、そして（ｃ）インター１６×１６コーディングモードで符号化すべき残留データが存在していないときに、ＳＫＩＰモードが、最も効率的なモードであることを最初に決定することができる。
【００５５】
制御モジュール３２は、そのときには、ＳＫＩＰモードを使用してブロックを符号化すべきかどうかをより正確に決定するために、インター８×８コーディングモードに関連する情報を使用する。制御モジュール３２は、例えば、インター１６×１６コーディングモード決定の例に関して上記に説明されるのと同じようにして、インター８×８コーディングモードに関連する情報を解析することができる。特に、制御モジュール３２は、インター８×８コーディングモードに関連する４つの動きベクトルの平均の大きさと、ＳＫＩＰモードに関連する動きベクトルの大きさを比較することができる。制御モジュール３２は、さらに、８×８のサブブロックのおのおのの動きベクトルが、ＳＫＩＰモードの動きベクトルと実質的に同じ方向に揃えられている(are aligned)かどうか、を決定することができる。制御モジュール３２は、８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することもできる。（ａ）動きベクトルが、実質的に類似した大きさのものであり、（ｂ）８×８のサブブロックのおのおのの動きベクトルが、ＳＫＩＰモードの動きベクトルと同じ方向に揃えられており、そして（ｃ）８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するときに、制御モジュール３２は、ブロックが、ＳＫＩＰコーディングモードで符号化されるべきことを決定することができ、そして制御モジュール３２は、初期のＳＫＩＰコーディングモードの決定が、正確な決定であることを決定することができる。換言すれば、ＳＫＩＰコーディングモードは、最高の圧縮効率をもたらすことになる。これに基づいて、制御モジュール３２は、考慮中のブロックを符号化するためにＳＫＩＰモードを選択することができる。そうでなければ、制御モジュール３２は、ＳＫＩＰコーディングモードが、最高の圧縮効率をもたらさないことになることを決定し、そして１つまたは複数の他のコーディングモードを解析する。制御モジュール３２が、フレームまたはスライスの中の様々なブロックについてのコーディングモードを選択するときに、異なるモードが、異なるブロックについて選択されることができる。
【００５６】
上記に説明されるように、制御モジュール３２は、上記に説明される技法を使用して現在のブロックについてのブロックモードを選択することができる。代わりに、本開示の技法は、可能性のあるコーディングモードの数を低減させるために使用されることもできる。例えば、上記に説明された技法は、ＳＫＩＰモードと、インター１６×１６とが、最も効率的なコーディングモードではないことを決定するために使用されることができる。制御モジュール３２は、そのときには、コーディングモードの低減された組から、現在のブロックについてのモードを選択するために他のモード選択技法を使用することができる。制御モジュール３２は、例えば、コーディングモードの低減されたサブセットについてのコーディングコストを計算し、または推定し、そして最低のコーディングコストを有するコーディングモードを選択することができる。符号化モジュール２０は、例えば、式：
Ｊ＝Ｄ＋λｍｏｄｅ・Ｒ                            （１）  
に従って、レートおよびひずみの関数としてコーディングコストを計算し、または推定することができ、ここでＪは、推定されたコーディングコストであり、Ｄは、ブロックのひずみメトリック(distortion metric)であり、λｍｏｄｅは、それぞれのモードのラグランジュ乗数であり、そしてＲは、ブロックのレートメトリック(rate metric)である。ひずみメトリック（Ｄ）は、例えば、絶対差の和（ＳＡＤ）、平方差の和(sum of square difference)（ＳＳＤ）、絶対変換差の和(sum of absolute transform difference)（ＳＡＴＤ）、平方変換差の和(sum of square transform different)（ＳＳＴＤ）などを備えることができる。レートメトリック（Ｒ）は、例えば、与えられたブロックの中のデータを符号化することに関連するコーディングビット(coding bits)の数とすることができる。レートメトリックＲは、データを符号化するために割り付けられることができるビットの数を指定する。ＤとＲとを計算するために、符号化モジュール２０は、解析されている各モードについての動き推定を実行し、残留情報を計算し、その特定のモードについての残留情報を変換し量子化し、そして残留情報、ならびにレートＲを計算する他の任意の情報（例えば、動きベクトル）を符号化する。さらに、符号化モジュール２０は、ひずみメトリックＤを取得するために、データを逆量子化し逆変換し、そして復号されたブロックと元のブロックを比較することができる。
【００５７】
コーディングモードを選択した後に、符号化モジュール２０は、選択されたコーディングモードを使用してデータのブロックを符号化する。図２に示されるように、符号化モジュール２０は、変換モジュール４０と、量子化モジュール４６と、エントロピーエンコーダ４８と、を含む。変換モジュール４０は、変換関数に従ってブロックの情報の少なくとも一部分を変換する。例えば、変換モジュール４０は、残留情報についての変換係数を生成するために、４×４または８×８の整数変換や離散コサイン変換(Discrete Cosine Transform)（ＤＣＴ）などの整数変換を残留情報に対して適用することができる。量子化モジュール４６は、情報を量子化し、そして量子化されたデータをエントロピーエンコーダ４８へと供給する。エントロピーエンコーダ４８は、コンテキスト適応コーディング技法、固定長コーディング(fixed length coding)（ＦＬＣ）技法、ユニバーサル可変長コーディング(variable length coding)（ＶＬＣ）技法、または他のコーディング技法を使用して量子化されたデータを符号化する。
【００５８】
上記技法は、個別にインプリメントされることができ、あるいはそのような技法のうちの２つ以上、またはそのような技法のすべては、符号化モジュール２０の中に一緒にインプリメントされることができる。符号化モジュール２０の中のコンポーネントは、ここにおいて説明される技法をインプリメントするために適用可能なこれらの例である。しかしながら、符号化モジュール２０は、必要に応じて、多数の他のコンポーネント、ならびに上記に説明される１つまたは複数のモジュールの機能を組み合わせたもっと少ない数のコンポーネントを含むことができる。符号化モジュール２０の中のコンポーネントは、１つまたは複数のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別ロジック、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとしてインプリメントされることができる。モジュールとしての異なる機能の描写は、符号化モジュール２０の異なる機能の態様を強調するように意図され、そしてそのようなモジュールが、別個のハードウェアコンポーネントまたはソフトウェアコンポーネントによって実現される必要があることを必ずしも意味するものとは限らない。もっと正確に言えば、１つまたは複数のモジュールに関連する機能は、共通または別個のハードウェアコンポーネントまたはソフトウェアコンポーネントの内部に一体化されることができる。
【００５９】
図３は、本開示の技法に従って、ピクセルの１ブロックについてのコーディングモードを解析する、図１および２の符号化モジュール２０などの符号化モジュールの例示のオペレーションを示す流れ図である。符号化モジュール２０は、選択について現在考慮されているコーディングモード以外の少なくとも１つのコーディングモードに関連する情報を計算する（５０）。いくつかの態様においては、符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報を計算することもできる（５２）。しかしながら、いくつかの場合においては、符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報を計算しなくてもよい。動き推定モジュール３６は、１つまたは複数の参照フレームを識別する参照情報と、１つまたは複数の参照フレームの中の識別されたブロックに関して解析されているブロックの変位を表す動き情報と、を生成することができる。さらに、動き補償予測モジュール３８は、ブロックの輝度成分、および／またはブロックの色度成分の間の差を表す残留情報を生成することができる。いくつかの場合においては、コーディングモードのおのおのに関連する情報は、メモリ３９に記憶されることができる。
【００６０】
制御モジュール３２は、選択について現在考慮されているコーディングモードと異なるブロックパーティションを有する少なくとも１つの他のコーディングモードに関連する少なくとも情報を使用して、選択について現在考慮されているコーディングモードについての決定を行う（５４）。制御モジュール３２は、例えば、現在解析されているコーディングモードに関する決定を行うために、少なくとも１つの他のコーディングモードに関連する動き情報、参照情報、残留情報、および／または他の情報を解析することができる。上記に詳細に説明されるように、少なくとも１つの他のコーディングモードに関連する情報は、ブロックが、少なくとも１つの他のコーディングモードで符号化された場合に、生成されることになる情報とすることができる。一例として、制御モジュール３２は、インター１６×１６コーディングモードでピクセルのブロックを符号化すべきか否かを決定するために、インター８×８コーディングモードに関連する情報を使用することができる。例えば、制御モジュール３２は、それらが実質的に揃えられている(are substantially aligned)のかどうかを決定するために、インター８×８の動きベクトルの方向性を比較することができる。もし、動きベクトルが実質的に揃えられていない(are not substantially aligned)場合は、制御モジュールは、考慮中の特定のブロックを符号化する際に使用するためにインター１６×１６コーディングモードを選択しないように決定する。別の例として、制御モジュール３２は、８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる。インター８×８コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、制御モジュール３２は、考慮中の特定のブロックを符号化する際に使用するために１６×１６コーディングモードを選択しないように決定することができる。したがって、制御モジュール３２は、選択について現在考慮されているコーディングモードに関連する情報を計算せずに決定を行うことができる。
【００６１】
しかしながら、制御モジュール３２は、複数の他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール３２は、１６×１６インターコーディングモードを解析するために８×８コーディングモードに関連する情報に加えてインター４×４コーディングモードまたは他のインターコーディングモードに関連する情報を使用することができる。いくつかの場合においては、他のコーディングモードが、選択について現在考慮されているコーディングモードのブロックパーティション（単数または複数）のサブパーティションであるブロックパーティションを有するコーディングモードである場合に、それは、有利である可能性がある。
【００６２】
さらに、制御モジュール３２は、少なくとも１つの他のコーディングモードに関連する情報に加えて、選択について現在考慮されているコーディングモードに関連する情報を使用することもできる。例えば、制御モジュール３２は、その決定を行うために、選択について現在考慮されているコーディングモードと、少なくとも１つの他のコーディングモードとの、大きさおよび／または方向などの動き情報を比較することができる。
【００６３】
制御モジュール３２は、現在解析されているコーディングモードが、選択されるかどうかを決定する（５６）。いくつかの場合においては、制御モジュール３２は、コーディングモードを選択しないが、その代わりに、レート−ひずみコーディングコストが計算される可能性のあるコーディングモードの数を低減させるために上記に説明される技法を使用することができる。現在解析されているコーディングモードが、選択されないときに、符号化モジュール２０は、他のコーディングモードのうちの１つを解析し、そして選択する。符号化モジュール２０は、本開示の技法、ならびに他のコーディングモードに関連するコーディングコストを計算することなど、より伝統的な技法を使用して他のコーディングモードを解析することができる（５８）。
【００６４】
コーディングモードを選択した後に、符号化モジュール２０は、選択されたコーディングモードを使用してデータのブロックを符号化する（５９）。解析されている現在のコーディングモードに関する決定を行うために１つまたは複数の他のコーディングモードに関連する情報を使用することにより、制御モジュール３２は、より正確にコーディングモードを選択することができるようになる。さらに、制御モジュール３２は、低減された数の計算集約的な計算を使用してモード選択を行うことができる。換言すれば、制御モジュール３２は、低減された数の変換、量子化、エントロピーコーディング、あるいはモードのおのおのに関連するコーディングコストを計算し、または推定するために必要とされる他の計算集約的な計算を用いて決定を行うことができる。
【００６５】
図４は、少なくとも１つの他のコーディングモードに関連する情報を使用してコーディングモードについての決定を行う、図１および２の符号化モジュール２０などの符号化モジュールの例示のオペレーションを示す流れ図である。符号化モジュール２０は、現在解析されているコーディングモードとは異なるブロックパーティションを有する少なくとも１つの他のコーディングモードに関連する情報を使用して現在解析されているコーディングモードに関する決定を行う。一態様においては、制御モジュール３２は、現在解析されているコーディングモードのブロックパーティションのサブパーティションであるブロックパーティションを有するコーディングモードに関連する情報を使用する。例示の目的のために、図４の流れ図は、現在解析されているコーディングモードとしてのインター１６×１６コーディングモードと、第１の他のコーディングモードとしてのインター８×８コーディングモードとを使用して、説明されることになる。しかしながら、本技法は、他のタイプのコーディングモードを使用してコーディングモード選択を実行するために使用されることができる。
【００６６】
符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報と、第１の他のコーディングモードに関連する情報と、を取得する（６０）。この情報は、いくつかの動きベクトル、参照フレームインデックスなどを含むことができる。符号化モジュール２０は、必要に応じて、例えば、現在のコーディングモードの解析中に、選択について現在考慮されているコーディングモードに関連する情報、および／または第１の他のコーディングモードに関連する情報、を計算することができる。例えば、制御モジュール３２が、ブロックが他のコーディングモードに関連する情報を使用して、選択について現在考慮されているモードで符号化されるべきでないことを決定する場合、符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報を計算する必要がない可能性がある。代わりに、符号化モジュール２０は、選択について現在考慮されているコーディングモードに関連する情報、および／または第１の他のコーディングモードに関連する情報、をメモリ３９から取り出すことができる。この場合においては、情報は、コーディングモード選択の解析において後で考慮するためにあらかじめ計算されていてもよい。
【００６７】
制御モジュール３２は、８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に(immediately adjacent)位置するフレームを参照するかどうか、を決定する（６２）。Ｐブロックの場合においては、参照フレームは、時間的に現在のフレームのすぐ前に位置している。制御モジュール３２が、インター８×８コーディングモードのすべてのサブブロックに関連する参照情報が時間的に現在のフレームのすぐ隣に位置するフレームを参照することを決定するときに、制御モジュール３２は、８×８のサブブロックの動きベクトルが実質的に揃えられているかどうかを決定するために、動きベクトルの方向性を解析することができる（６４）。制御モジュール３２は、例えば、ＸおよびＹ方向における動きベクトルが、同一であるか、あるいはあらかじめ決定されたしきい値許容限度内にあるかを決定することができる。別の例においては、制御モジュール３２は、動きベクトルの量子化されたバージョンを比較することができる。いずれにしても、制御モジュール３２は、８×８のサブブロックの動きベクトルを互いに比較する。代わりに、制御モジュール３２は、１６×１６のブロックの動きベクトルの方向と、８×８のサブブロックの動きベクトルのおのおのの方向を比較することもできる。
【００６８】
８×８のサブブロックのどれかの動きベクトルが、実質的に揃えられているとき、制御モジュール３２は、１６×１６コーディングモードが８×８コーディングモードよりも多くの残留情報を有するかどうかを決定するために、８×８コーディングモードと１６×１６コーディングモードとに関連する残留情報を解析することができる（６６）。１６×１６コーディングモードが、より多くの残留情報を有するとき、制御モジュール３２は、１６×１６コーディングモードが、最高の圧縮効率をもたらさないことを決定する。一態様においては、制御モジュール３２は、ブロックのピクセルの輝度成分と色度成分との両方に関連する残留情報を解析することができる。制御モジュール３２は、インター１６×１６コーディングモードが、８×８コーディングモードよりも多くの残留情報を有するかどうか決定するために輝度成分と色度成分との両方についてのＣＢＰコストを比較することができる。いくつかの態様においては、１６×１６コーディングモードは、輝度成分または色度成分のいずれかが、より多くの残留情報を有するときに８×８コーディングモードよりも多くの残留情報を有するものと見なされることができる。しかしながら、他の態様においては、１６×１６コーディングモードは、輝度成分と色度成分との両方が、より多くの残留情報を有するときだけに、８×８コーディングモードよりも多くの残留情報を有するものと見なされることができる。
【００６９】
１６×１６コーディングモードが８×８コーディングモードよりも多くの残留情報を有しないときに、制御モジュール３２は、おのおのに関連する動きベクトル（単数または複数）が実質的に同じであるかどうかを決定するために、インター８×８コーディングモードに関連する動き情報と、インター１６×１６コーディングモードに関連する動き情報と、を比較することができる（６７）。例えば、制御モジュール３２は、インター８×８コーディングモードに関連する４つの動きベクトルの大きさの平均と、インター１６×１６コーディングモードの動きベクトルの大きさを比較することができる。動きベクトルを比較するために、制御モジュールは、インター１６×１６コーディングモードの動きベクトルの大きさと、インター８×８コーディングモードに関連する４つの動きベクトルの大きさの平均との間の差を計算し、そしてその差がしきい値差よりも小さいときに、動きベクトルが実質的に同じであることを決定することができる。一例においては、しきい値差は、１整数ペル(one integer pel)（例えば、１整数ピクセル）とすることができる。しかしながら、他の差しきい値が、動き推定アルゴリズムの正確さと、入力信号上の（例えば、ひどく圧縮された入力信号についての）予想される雑音とに応じて使用されることができる。
【００７０】
１６×１６の動きベクトルと、４つの８×８の動きベクトルの平均との大きさが、実質的に同じでないときに、インター８×８コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、あるいは８×８のサブブロックのどれかの動きベクトルが、実質的に揃えられていないときには、制御モジュール３２は、インター１６×１６コーディングモードが、最高の圧縮効率をもたらさないことになることを決定する（６８）。換言すれば、制御モジュール３２は、インター１６×１６コーディングモードでピクセルのブロックを符号化しないように決定する。この決定が、インター１６×１６コーディングモードに関連する情報を計算することに先立って行われるときに、本技法は、インター１６×１６コーディングモードに関連する情報を生成するために実行される必要がある計算的に高価な計算の数を低減させることができる。
【００７１】
上記に説明される状態のすべてが満たされているときに、制御モジュール３２は、より多くのコーディングモードに関連する情報を解析すべきかどうか、を決定する（７０）。制御モジュール３２は、決定の正確さを増大させるために、より多くの他のコーディングモードに関連する情報を使用することができる。例えば、制御モジュール３２は、１６×１６インターコーディングモードを解析するために、８×８コーディングモードに関連する情報に加えてインター４×４コーディングモードまたは他のインターコーディングモードに関連する情報を使用することができる。いくつかの場合においては、他のコーディングモードが、現在解析されているコーディングモードのサブブロックを使用するコーディングモードである場合には、それは、有利とすることができる。しかしながら、ピクセルのブロックの異なるパーティションを有する任意のコーディングモードが、現在解析されているコーディングモードに関する決定を行う際に有用とすることもできる。
【００７２】
制御モジュール３２が、他のコーディングモードに関連する情報が解析されるべきであることを決定するときに、制御モジュール３２は、８×８コーディングモードに関連する情報に関して上記に説明されるのと同じようにして他のコーディングモードの情報を使用する（７２）。制御モジュール３２が、追加の他のコーディングモードに関連する情報を解析しないように決定するときに、制御モジュール３２は、ピクセルのブロックについて現在考慮されているコーディングモードを選択し、あるいは残りの可能性のあるコーディングモードのうちの１つとして現在のコーディングモードを分類する（７４）。制御モジュール３２は、残りの可能性のあるコーディングモードの低減された組を生成するために、いくつかの他のコーディングモードについてこのオペレーションを実行することができる。換言すれば、制御モジュール３２は、どのコーディングモードが、この解析に基づいて選択されないことになるかを決定し、次いでコーディングモードの低減された組から選択するために、さらにコーディングモード選択技法を実行することができる。
【００７３】
図５は、本開示の技法に従って、ＳＫＩＰモード検出を実行する、図１および２の符号化モジュール２０などの符号化モジュールの例示のオペレーションを示す流れ図である。制御モジュール３２は、ＳＫＩＰコーディングモードに関連する情報と、同じブロック分割を有する第１の他のコーディングモードに関連する情報と、を取得する（８０）。符号化モジュール２０は、必要に応じて、例えば、現在のコーディングモードの解析中に、現在解析されているコーディングモードに関連する情報、および／または第１の他のコーディングモードに関連する情報、を計算することができる。代わりに、符号化モジュール２０は、現在解析されているコーディングモードに関連する情報、および／または第１の他のコーディングモードに関連する情報、をメモリ３９から取り出すこともできる。上記に説明されるように、ＳＫＩＰモードは、１６×１６の１ブロックパーティションサイズを有し、これは、インター１６×１６コーディングモードのブロックパーティションサイズと同じである。それ故に、制御モジュール３２は、ＳＫＩＰコーディングモードと、ＳＫＩＰモードと同じブロックパーティションを有する１つの他のコーディングモードと、に関連する情報を取得する。
【００７４】
ＳＫＩＰモードに関する初期決定を行うために、制御モジュール３２は、ＳＫＩＰの動きベクトルと１６×１６の動きベクトルとが実質的に同じであるかどうか、を決定するために、インター１６×１６コーディングモードの動きベクトルとＳＫＩＰモードの動きベクトルとを比較する（８２）。ＳＫＩＰモードの動きベクトルは、例えば、同じフレーム内の、あるいは１つまたは複数の参照フレームの中の、取り囲むブロックの動きベクトルに基づいて予測されることができる。制御モジュール３２は、インター１６×１６コーディングモードに関連する動きベクトルの大きさおよび／または方向と、ＳＫＩＰモードに関連する動きベクトルの大きさおよび／または方向を比較することができる。
【００７５】
ＳＫＩＰモードに関連する動きベクトルがインター１６×１６コーディングモードに関連する動きベクトルと実質的に同じであるときに、制御モジュール３２は、時間的に現在のフレームのすぐ隣に位置するフレームを参照情報が参照するかどうかを決定するために、インター１６×１６コーディングに関連する参照情報（例えば、参照フレームインデックス）を解析する（８４）。
【００７６】
時間的に現在のフレームのすぐ隣に位置するフレームを、参照情報が参照するときに、制御モジュール３２は、インター１６×１６コーディングモードに関連する任意の残留情報が存在するかどうかを決定するために、残留情報を解析する（８６）。一態様においては、制御モジュール３２は、ブロックのピクセルの輝度成分と色度成分との両方に関連する残留情報を解析することができる。制御モジュール３２は、例えば、インター１６×１６コーディングモードに関連する任意の残留情報が存在するかどうかを決定するために、輝度成分と色度成分との両方についてのＣＢＰコストを計算することができる。輝度および色度についてのＣＢＰコスト（または値）は、変換、量子化、およびポスト量子化のしきい値処理(thresholding)を使用して計算されることができる。残留情報が存在しない、例えば、輝度成分と色度成分との両方のＣＢＰコストが、ゼロである場合に、制御モジュール３２は、最初にＳＫＩＰコーディングモードが、可能なコーディングモードであることを決定する。
【００７７】
上記の状態のうちの１つが満たされない場合、すなわち残留情報が存在しており、参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照し、あるいはインター１６×１６コーディングモードの動きベクトルが、実質的に類似していない場合には、制御モジュール３２は、ＳＫＩＰモードが、最も効率的なモードではないことを決定する。このようにして、制御モジュール３２は、ＳＫＩＰモードに関する初期決定を行うために、ＳＫＩＰモードと同じブロックパーティションを有する他のコーディングモード、すなわちインター１６×１６コーディングモードに関連する情報を使用することができる。
【００７８】
制御モジュール３２は、初期決定の正確さを決定する際に使用するために、他のコーディングモードのうちの第２のものに関連する情報を取得することができる（８８）。他のコーディングモードのうちの第２のものは、ＳＫＩＰモードとは異なるブロックパーティションを有する。例示の目的のために、他のコーディングモードのうちの第２のものは、インター８×８コーディングモードであるであろう。しかしながら、本技法は、異なるブロックパーティションを有する他の任意のコーディングモードと共に使用されることができる。
【００７９】
制御モジュール３２は、図４に関して上記に説明されるのと同じようにしてインター８×８コーディングモードに関連する情報を解析する。特に、制御モジュール３２は、おのおのに関連する動き情報が実質的に同じであるかどうかを決定するために、インター８×８コーディングモードに関連する動き情報と、ＳＫＩＰコーディングモードに関連する動き情報と、を比較する（９０）。制御モジュール３２はまた、８×８のサブブロックの動きベクトルが揃えられているかどうかを決定するために、動きベクトルの方向性も解析する（９２）。さらに、制御モジュール３２は、８×８のサブブロックのおのおのについての参照情報が、時間的に現在のフレームのすぐ隣に位置するフレームを参照するかどうか、を決定することができる（９４）。上記に説明される状態のすべてが、満たされているときに、制御モジュール３２は、ＳＫＩＰコーディングモードを選択し、あるいは残りの可能性のあるコーディングモードのうちの１つとしてＳＫＩＰコーディングモードを分類する（９６）。
【００８０】
インター８×８コーディングモードのサブブロックのどれかに関連する参照情報が、時間的に現在のフレームのすぐ隣に位置していないフレームを参照するときに、８×８のサブブロックのうちのどれかの動きベクトルが、実質的に揃えられていないときに、あるいは動きベクトルが、実質的に同じではないときに、制御モジュール３２は、インター１６×１６コーディングモードが、最高の圧縮効率をもたらさないことになることを決定する（９８）。このようにして、制御モジュール３２は、より微細なモード（例えば、インター８×８モード）が、選択されることになるかどうかを評価する正確さチェック(accuracy check)としての役割を果たすように、８×８コーディングモードまたは他のインターコーディングモードに関連する情報を使用する。これは、例えば、ブロックが、２つのオブジェクトのエッジにあった場合とすることができる（例えば、動きベクトルが、揃えられておらず、あるいは平均動きベクトルは、インター１６×１６の動きベクトルと実質的に同じではない）。インター８×８コーディングモードが、この例においては正確さチェックのために使用されるが、他のコーディングモードおよび／またはメトリックが、正確さチェックを実行するために使用されることもできる。例えば、現在のフレームおよび参照フレームからの因果関係および非因果関係の（ラスタスキャン順序の）マクロブロックに関連する情報である。別の例としては、現在のフレームの中の（例えば、５×５の領域の中の）隣接ブロックの大部分が、ＳＫＩＰブロックとして分類される場合には、制御モジュール３２は、ＳＫＩＰモードを選択することに向かって重み付けされ／バイアスされることができる。
【００８１】
ここにおいて説明される教示に基づいて、ここにおいて開示される一態様が、他の任意の態様とは独立にインプリメントされることができることと、２つ以上のこれらの態様が、様々なやり方で組み合わせられることができることとが、明らかなはずである。そのような技法は、ワイヤレス通信デバイスハンドセットおよび他のデバイスにおけるアプリケーションを含めて、複数の用途を有する、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、集積回路デバイスなど、様々なデバイスのうちのどれにもインプリメントされることができる。ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せの形でインプリメントされることができる。ハードウェアでインプリメントされる場合に、本技法は、デジタルハードウェア、アナログハードウェア、またはそれらの組合せを使用して実現されることができる。ソフトウェアでインプリメントされる場合には、本技法は、１つまたは複数の命令またはコードが記憶されるコンピュータ可読媒体(computer readable medium)を含むコンピュータプログラムプロダクト(computer-program product)によって少なくとも部分的に実現されることができる。コンピュータプログラムプロダクト(computer program product)のコンピュータ可読媒体(computer-readable medium)に関連する命令またはコードは、コンピュータによって、例えば、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、他の等価な集積回路または個別論理回路など、１つまたは複数のプロセッサによって実行されることができる。
【００８２】
例として、限定するものではないが、そのようなコンピュータ可読媒体は、命令またはデータ構造の形態で望ましいプログラムコードを搬送し、または記憶するために使用されることができ、そしてコンピュータによってアクセスされることができる、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory)（ＳＤＲＡＭ）などのＲＡＭ、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、ＲＯＭ、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、消去可能プログラマブル読取り専用メモリ(erasable programmable read-only memory)（ＥＰＲＯＭ）、フラッシュ(FLASH)メモリ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは他の任意の有形媒体を備えることができる。
【００８３】
いくつかの態様および例が説明された。しかしながら、これらの例に対する様々な修正が可能であり、また、ここにおいて提示される原理は、同様に他の態様に対しても適用されることができる。これらおよび他の態様は、添付の特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に機視された発明を付記する。
［Ｃ１］
ビデオデータを処理するための方法であって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得することと；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得することと、なお、前記少なくとも１つの他のパーティションは、前記第１のパーティションとは異なる；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することと；
を備える方法。
［Ｃ２］
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える、Ｃ１に記載の方法。
［Ｃ３］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較することと、
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
Ｃ１に記載の方法。
［Ｃ４］
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する前記動き情報とを比較することは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均とを比較すること、を備える、Ｃ３に記載の方法。
［Ｃ５］
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定すること、を備える、Ｃ３に記載の方法。
［Ｃ６］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較することと、
前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
Ｃ１に記載の方法。
［Ｃ７］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する参照情報を解析することと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
Ｃ１に記載の方法。
［Ｃ８］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、
前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報とを比較することと、
前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定することと、
を備える、
Ｃ１に記載の方法。
［Ｃ９］
ピクセルの前記ブロックの前記少なくとも１つの他のパーティションについての、前記少なくとも１つの他のコーディングモードに関連する情報を取得することは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得すること、を備え、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、そして前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じであり、そして
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、
Ｃ１に記載の方法。
［Ｃ１０］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定すること、を備える、Ｃ９に記載の方法。
［Ｃ１１］
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、Ｃ９に記載の方法。
［Ｃ１２］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定することは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択すること、を備え、そして前記第１のコーディングモードでピクセルの前記ブロックを符号化すること、をさらに備える、Ｃ１に記載の方法。
［Ｃ１３］
ビデオデータを処理するための装置であって、
メモリと、
前記メモリから、現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、そして、前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、制御モジュールと、
を備え、
前記少なくとも１つの他のパーティションは、前記第１のパーティションとは異なる、
装置。
［Ｃ１４］
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える、Ｃ１３に記載の装置。
［Ｃ１５］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ１３に記載の装置。
［Ｃ１６］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、Ｃ１５に記載の装置。
［Ｃ１７］
前記制御モジュールは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ１５に記載の装置。
［Ｃ１８］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ１３に記載の装置。
［Ｃ１９］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ１３に記載の装置。
［Ｃ２０］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報とを比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ１３に記載の装置。
［Ｃ２１］
前記制御モジュールは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得し、そして、前記第１および第２の他のコーディングモードに関連する前記情報を使用して前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じである、Ｃ１３に記載の装置。
［Ｃ２２］
前記制御モジュールは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、Ｃ２１に記載の装置。
［Ｃ２３］
前記制御モジュールは、ピクセルの前記ブロックが、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、Ｃ２１に記載の装置。
［Ｃ２４］
前記制御モジュールは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、Ｃ１３に記載の装置。
［Ｃ２５］
ビデオデータを処理するための装置であって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するための手段と；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するための手段と、なお、前記少なくとも１つの他のパーティションは前記第１のパーティションモードとは異なる；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するための手段と；
を備える装置。
［Ｃ２６］
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える、Ｃ２５に記載の装置。
［Ｃ２７］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する動き情報とを比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ２５に記載の装置。
［Ｃ２８］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、Ｃ２７に記載の装置。
［Ｃ２９］
前記決定する手段は、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ２７に記載の装置。
［Ｃ３０］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ２５に記載の装置。
［Ｃ３１］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ２５に記載の装置。
［Ｃ３２］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ２５に記載の装置。
［Ｃ３３］
前記取得する手段は、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得し、なお、前記２つの他のパーティションのうちの一方のパーティションは前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは前記第１のパーティションと同じであり、そして、
前記決定する手段は、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、
Ｃ２５に記載の装置。
［Ｃ３４］
前記決定する手段は、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、Ｃ３３に記載の装置。
［Ｃ３５］
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、Ｃ３３に記載の装置。
［Ｃ３６］
前記決定する手段は、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するための手段、をさらに備える、Ｃ２５に記載の装置。
［Ｃ３７］
命令を有するコンピュータ可読媒体を備える、マルチメディアデータを処理するためのコンピュータプログラムプロダクトであって、
前記命令は、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報を取得するためのコードと；
ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報を取得するためのコードと、なお前記少なくとも１つの他のパーティションは前記第１のパーティションモードとは異なる；
前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードと；
を備える、
コンピュータプログラムプロダクト。
［Ｃ３８］
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える、Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ３９］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する動き情報と、前記第１のコーディングモードに関連する動き情報と、を比較するためのコードと、
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４０］
前記少なくとも１つの他のコーディングモードに関連する動き情報と前記第１のコーディングモードに関連する前記動き情報とを比較するためのコードは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較するためのコード、を備える、Ｃ３９に記載のコンピュータプログラムプロダクト。
［Ｃ４１］
前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差がしきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコード、を備える、Ｃ３９に記載のコンピュータプログラムプロダクト。
［Ｃ４２］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較するためのコードと、
前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４３］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する参照情報を解析するためのコードと、
時間的に前記現在のフレームのすぐ隣に位置していないフレームを前記参照情報が参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４４］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、
前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較するためのコードと、
前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定するためのコードと、
を備える、
Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４５］
ピクセルの前記ブロックの前記少なくとも１つの他のパーティションについての、前記少なくとも１つの他のコーディングモードに関連する情報を取得するためのコードは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報を取得するためのコード、を備え、なお、前記２つの他のパーティションのうちの一方のパーティションは前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは前記第１のパーティションと同じであり、そして、
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、
Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４６］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコード、を備える、Ｃ４６に記載のコンピュータプログラムプロダクト。
［Ｃ４７］
前記第１のコーディングモードは、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方を備える、Ｃ４６に記載のコンピュータプログラムプロダクト。
［Ｃ４８］
前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定するためのコードは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択するためのコード、を備え、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのコード、をさらに備える、Ｃ３７に記載のコンピュータプログラムプロダクト。
［Ｃ４９］
ビデオデータを処理するためのワイヤレス通信デバイスハンドセットであって、
現在のフレームのピクセルの１ブロックの第１のパーティションについての、第１のコーディングモードに関連する情報と、ピクセルの前記ブロックの少なくとも１つの他のパーティションについての、少なくとも１つの他のコーディングモードに関連する情報と、を取得し、前記少なくとも１つの他のコーディングモードに関連する少なくとも前記情報を使用して前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化する、符号化モジュールと、なお、前記少なくとも１つの他のパーティションは前記第１のパーティションとは異なる；
ピクセルの前記符号化されたブロックを送信するためのトランスミッタと；
を備えるハンドセット。
［Ｃ５０］
前記少なくとも１つの他のパーティションは、前記第１のパーティションのサブパーティションを備える、Ｃ４９に記載のハンドセット。
［Ｃ５１］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する動き情報と、前記第１のコーディングモードに関連する動き情報と、を比較し、そして、前記第１のコーディングモードに関連する前記動き情報が前記少なくとも１つの他のコーディングモードの前記動き情報に実質的に類似していないとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ４９に記載のハンドセット。
［Ｃ５２］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、前記第１のコーディングモードに関連する１つの動きベクトルおよび複数の動きベクトルの平均と、を比較する、Ｃ５１に記載のハンドセット。
［Ｃ５３］
前記符号化モジュールは、前記第１のコーディングモードに関連する前記動き情報と前記少なくとも１つの他のコーディングモードの前記動き情報との間の差が、しきい値以上であるとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ５１に記載のハンドセット。
［Ｃ５４］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する複数の動きベクトルのおのおのの方向を比較し、そして、前記少なくとも１つの他のコーディングモードに関連する前記複数の動きベクトルのうちの１つまたは複数が異なる方向に揃えられているとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないことを決定する、Ｃ４９に記載のハンドセット。
［Ｃ５５］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する参照情報を解析し、そして、前記参照情報が、時間的に前記現在のフレームのすぐ隣に位置していないフレームを参照するとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ４９に記載のハンドセット。
［Ｃ５６］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する第２の量の輝度および色度の残留情報と、前記第１のコーディングモードに関連する第１の量の輝度および色度の残留情報と、を比較し、そして、前記第１の量の輝度および色度の残留情報が前記第２の量の輝度および色度の残留情報よりも大きいとき、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきでないこと、を決定する、Ｃ４９に記載のハンドセット。
［Ｃ５７］
前記符号化モジュールは、ピクセルの前記ブロックの２つの他のパーティションについての、２つの他のコーディングモードに関連する情報、を取得し、そして、前記第１および第２の他のコーディングモードに関連する前記情報を使用して、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、なお、前記２つの他のパーティションのうちの一方のパーティションは、前記第１のパーティションとは異なり、前記２つの他のパーティションのうちの別のパーティションは、前記第１のパーティションと同じである、Ｃ４９に記載のハンドセット。
［Ｃ５８］
前記符号化モジュールは、前記第１のパーティションと同じである前記パーティションを有する前記２つの他のコーディングモードのうちの前記一方に関連する少なくとも輝度残留情報および色度残留情報に基づいて、前記第１のコーディングモードでピクセルの前記ブロックが符号化されるべきかどうか、を決定する、Ｃ５７に記載のハンドセット。
［Ｃ５９］
前記符号化モジュールは、ピクセルの前記ブロックが、ＳＫＩＰコーディングモードとＤＩＲＥＣＴコーディングモードとのうちの一方で符号化されるべきかどうか、を決定する、Ｃ５７に記載のハンドセット。
［Ｃ６０］
前記符号化モジュールは、前記少なくとも１つの他のコーディングモードに関連する前記情報に少なくとも基づいて前記第１のコーディングモードを選択し、そして、前記第１のコーディングモードでピクセルの前記ブロックを符号化するためのエンコーダ、をさらに備える、Ｃ４９に記載のハンドセット。
【図１】
0005461193.tif 000002
【図２】
0005461193.tif 000003
【図３】
0005461193.tif 000004
【図４】
0005461193.tif 000005
【図５】
0005461193.tif 000006