(57)【要約】いくつかの予測モードの下で、符号化されているビデオ・データのマクロブロックの４×４サブブロックのピクセル値を予測するための、合理化された予測手法が提供される。加えて、いくつかの予測モードの下で、８×８、８×４及び４×８サブブロックを含む、符号化されているビデオ・データのマクロブロックの非４×４のＭ×Ｎサブブロックのピクセル値を予測するための、予測手法が提供される。本発明を、ビデオ装置のエンコーダ及び／又はデコーダにおいて実施することができる。
2005532768.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・メディアと、
前記ストレージ・メディアに格納された複数の命令とを備え、前記命令は、（ａ）ビデオ・データのマクロブロックのイントラ符号化と、（ｂ）ビデオ・データのイントラ符号化されたマクロブロックの復号化のうち少なくとも１つの選択されたものを実行するように設計され、イントラ符号化されたマクロブロックは、第１の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセル値の対角は、
ａ              ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｂ、ｅ          ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｃ、ｆ、ｉ      ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｄ、ｇ、ｊ、ｍ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、
ｈ、ｋ、ｎ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４、
ｌ、ｏ          ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４、及び
ｐ              ＝（Ｇ＋３＊Ｈ＋２）／４
のうち選択されたものに従って予測され、
ただし、ａ〜ｄは前記４×４サブブロックの第１の行の予測されたピクセル値であり、
ｅ〜ｈは、前記４×４サブブロックの第２の行の予測されたピクセル値であり、
ｉ〜ｌは、前記４×４サブブロックの第３の行の予測されたピクセル値であり、
ｍ〜ｐは、前記４×４サブブロックの第４の行の予測されたピクセル値であり、
Ａ〜Ｈは、前記４×４サブブロックの上の隣接サブブロックのピクセルのピクセル値である装置。
【請求項２】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセルの対角は、
ａ      ＝（Ａ＋Ｂ＋１）／２、
ｂ、ｉ  ＝（Ｂ＋Ｃ＋１）／２、
ｃ、ｊ  ＝（Ｃ＋Ｄ＋１）／２、
ｄ、ｋ  ＝（Ｄ＋Ｅ＋１）／２、
ｌ      ＝（Ｅ＋Ｆ＋１）／２、
ｅ      ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｆ、ｍ  ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｇ、ｎ  ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｈ、ｏ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、及び
ｐ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
のうち選択されたものに従って予測される請求項１に記載の装置。
【請求項３】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセルの対角は、
ａ          ＝（Ｉ＋Ｊ＋１）／２、
ｂ          ＝（Ｉ＋２＊Ｊ＋Ｋ＋２）／４、
ｃ、ｅ      ＝（Ｊ＋Ｋ＋１）／２、
ｄ、ｆ      ＝（Ｊ＋２＊Ｋ＋Ｌ＋２）／４、
ｇ、ｉ      ＝（Ｋ＋Ｌ＋１）／２、
ｈ、ｊ      ＝（Ｋ＋２＊Ｌ＋Ｌ＋２）／４、
ｌ、ｎ、ｋ、
ｍ、ｏ、ｐ  ＝Ｌ
のうち選択されたものに従って予測され、
ただし、Ｉ〜Ｌは前記４×４サブブロックの左の隣接サブブロックのピクセルのピクセル値である請求項２に記載の装置。
【請求項４】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセルの対角は、
ａ          ＝（Ｉ＋Ｊ＋１）／２、
ｂ          ＝（Ｉ＋２＊Ｊ＋Ｋ＋２）／４、
ｃ、ｅ      ＝（Ｊ＋Ｋ＋１）／２、
ｄ、ｆ      ＝（Ｊ＋２＊Ｋ＋Ｌ＋２）／４、
ｇ、ｉ      ＝（Ｋ＋Ｌ＋１）／２、
ｈ、ｊ      ＝（Ｋ＋２＊Ｌ＋Ｌ＋２）／４、
ｌ、ｎ、ｋ、
ｍ、ｏ、ｐ  ＝Ｌ
のうち選択されたものに従って予測され、
ただし、Ｉ〜Ｌは前記４×４サブブロックの左の隣接サブブロックのピクセルのピクセル値である請求項１に記載の装置。
【請求項５】
前記装置は、前記命令を実行するために前記ストレージ・メディアに結合されたプロセッサをさらに備える請求項１に記載の装置。
【請求項６】
前記装置は、前記ストレージ・メディアと前記命令を備えるエンコーダ及びデコーダのうち少なくとも１つの選択されたものを備える請求項１に記載の装置。
【請求項７】
前記装置は、パーム・サイズの演算装置、無線携帯電話、携帯情報端末、ラップトップ演算装置、デスクトップ演算装置、セットトップ・ボックス、サーバ、コンパクト・ディスク・プレイヤー、デジタル多用途ディスク・プレイヤー、テレビ、表示モニターのうち選択されたものを備える請求項６に記載の装置。
【請求項８】
前記装置は、ビデオ・ドーター・カード、及び、統合ビデオ機能を有するマザーボードを備える請求項６に記載の装置。
【請求項９】
ストレージ・メディアと、
前記ストレージ・メディアに格納された複数の命令とを備え、前記命令は、ビデオ・データのマクロブロックのイントラ符号化と、そのビデオ・データのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するように設計され、イントラ符号化されたマクロブロックは、第１の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセル値の対角は、
ａ      ＝（Ａ＋Ｂ＋１）／２、
ｂ、ｉ  ＝（Ｂ＋Ｃ＋１）／２、
ｃ、ｊ  ＝（Ｃ＋Ｄ＋１）／２、
ｄ、ｋ  ＝（Ｄ＋Ｅ＋１）／２、
ｌ      ＝（Ｅ＋Ｆ＋１）／２、
ｅ      ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｆ、ｍ  ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｇ、ｎ  ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｈ、ｏ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、
ｐ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
のうち選択されたものに従って予測され、
ただし、ａ〜ｄは前記４×４サブブロックの第１の行の予測されたピクセル値であり、
ｅ〜ｈは、前記４×４サブブロックの第２の行の予測されたピクセル値であり、
ｉ〜ｌは、前記４×４サブブロックの第３の行の予測されたピクセル値であり、
ｍ〜ｐは、前記４×４サブブロックの第４の行の予測されたピクセル値であり、
Ａ〜Ｈは、前記４×４サブブロックの上の隣接サブブロックのピクセルのピクセル値である装置。
【請求項１０】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセルの対角は、
ａ          ＝（Ｉ＋Ｊ＋１）／２、
ｂ          ＝（Ｉ＋２＊Ｊ＋Ｋ＋２）／４、
ｃ、ｅ      ＝（Ｊ＋Ｋ＋１）／２、
ｄ、ｆ      ＝（Ｊ＋２＊Ｋ＋Ｌ＋２）／４、
ｇ、ｉ      ＝（Ｋ＋Ｌ＋１）／２、
ｈ、ｊ      ＝（Ｋ＋２＊Ｌ＋Ｌ＋２）／４、
ｌ、ｎ、ｋ、
ｍ、ｏ、ｐ  ＝Ｌ
のうち選択されたものに従って予測され、
ただし、Ｉ〜Ｌは前記４×４サブブロックの左の隣接サブブロックのピクセルのピクセル値である請求項８に記載の装置。
【請求項１１】
前記装置は、前記命令を実行するために前記ストレージ・メディアに結合されたプロセッサをさらに備える請求項９に記載の装置。
【請求項１２】
前記装置は、前記ストレージ・メディアと前記命令を備えるエンコーダ及びデコーダのうち少なくとも１つの選択されたものを備える請求項９に記載の装置。
【請求項１３】
ストレージ・メディアと、
前記ストレージ・メディアに格納された複数の命令とを備え、前記命令は、ビデオ・データのマクロブロックのイントラ符号化と、そのビデオ・データのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するように設計され、イントラ符号化されたマクロブロックは、予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセル値の対角は、
ａ          ＝（Ｉ＋Ｊ＋１）／２、
ｂ          ＝（Ｉ＋２＊Ｊ＋Ｋ＋２）／４、
ｃ、ｅ      ＝（Ｊ＋Ｋ＋１）／２、
ｄ、ｆ      ＝（Ｊ＋２＊Ｋ＋Ｌ＋２）／４、
ｇ、ｉ      ＝（Ｋ＋Ｌ＋１）／２、
ｈ、ｊ      ＝（Ｋ＋２＊Ｌ＋Ｌ＋２）／４、
ｌ、ｎ、ｋ、
ｍ、ｏ、ｐ  ＝Ｌ
のうち選択されたものに従って予測され、
ただし、ａ〜ｄは前記４×４サブブロックの第１の行の予測されたピクセル値であり、
ｅ〜ｈは、前記４×４サブブロックの第２の行の予測されたピクセル値であり、
ｉ〜ｌは、前記４×４サブブロックの第３の行の予測されたピクセル値であり、
ｍ〜ｐは、前記４×４サブブロックの第４の行の予測されたピクセル値であり、
Ｉ〜Ｌは、前記４×４サブブロックの左の隣接サブブロックのピクセルのピクセル値である装置。
【請求項１４】
前記装置は、前記命令を実行するために前記ストレージ・メディアに結合されたプロセッサをさらに備える請求項１３に記載の装置。
【請求項１５】
前記装置は、前記ストレージ・メディアと前記命令を備えるエンコーダ及びデコーダのうち少なくとも１つの選択されたものを備える請求項１３に記載の装置。
【請求項１６】
ストレージ・メディアと、
前記ストレージ・メディアに格納された複数の命令とを備え、前記命令は、ビデオ・データのマクロブロックのイントラ符号化、及び、ビデオ・データのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するように設計され、イントラ符号化されたマクロブロックは、以下のように第１の予測モードの下で予測されたピクセル値のＭ×Ｎサブブロックを含み、
ｉ＝０−（Ｎ−１）、ｊ＝０−（Ｍ−１）について、
ｔ0〜ｔN及びｌ0〜ｌMが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋ｌ0＋．．．＋ｌM＋Ｎ／２＋Ｍ／２）／（Ｍ＋Ｎ）、
そうでなければ、ｔ0〜ｔNのみが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋Ｎ／２）／Ｎ、
そうでなければ、ｌ0〜ｌMのみが使用可能である場合、
Ｐij＝（ｌ0＋．．．＋ｌM＋Ｍ／２）／Ｍ、
そうでなければ、
Ｐij＝１２８、
ただし、Ｐijは前記Ｍ×Ｎサブブロックのピクセル値であり、ｉ及びｊは前記Ｍ×Ｎサブブロック内の行と列の位置を示すインデックスであり、
ｔ0〜ｔNは前記Ｍ×Ｎサブブロックの上の隣接サブブロックのピクセル値であり、
ｌ0〜ｌmは前記Ｍ×Ｎサブブロックの左の隣接サブブロックのピクセル値である装置。
【請求項１７】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値のＭ×Ｎサブブロックを含み、ピクセル値の列は以下のように予測され、
ｔ0〜ｔNが使用可能である場合、Ｐij＝ｔjである請求項１６に記載の装置。
【請求項１８】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値のＭ×Ｎサブブロックを含み、ピクセル値の行は以下のように予測され、
ｌ0〜ｌNが使用可能である場合、Ｐij＝ｌiである請求項１６に記載の装置。
【請求項１９】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表１】
2005532768.tif 000027
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２０】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表２】
2005532768.tif 000028
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２１】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表３】
2005532768.tif 000029
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２２】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表４】
2005532768.tif 000030
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２３】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表５】
2005532768.tif 000031
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２４】
前記命令は、マクロブロックのイントラ符号化と、そのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するようにさらに設計され、イントラ符号化されたマクロブロックは、第２の予測モードの下で予測されたピクセル値の４×８サブブロック、８×４サブブロック、８×８サブブロックのうち少なくとも１つの選択されたものを含み、ピクセル値の対角は
【表６】
2005532768.tif 000032
のうち選択されたものに従って予測される請求項１６に記載の装置。
【請求項２５】
前記装置は、前記命令を実行するために前記ストレージ・メディアに結合されたプロセッサをさらに備える請求項１６に記載の装置。
【請求項２６】
前記装置は、前記ストレージ・メディアと前記命令を備えるエンコーダ及びデコーダのうち少なくとも１つの選択されたものを備える請求項１６に記載の装置。
【請求項２７】
前記装置は、パーム・サイズの演算装置、無線携帯電話、携帯情報端末、ラップトップ演算装置、デスクトップ演算装置、セットトップ・ボックス、サーバ、コンパクト・ディスク・プレイヤー、デジタル多用途ディスク・プレイヤー、テレビ、表示モニターのうち選択されたものを備える請求項２６に記載の装置。
【請求項２８】
前記装置は、ビデオ・ドーター・カード、及び、統合ビデオ機能を有するマザーボードを備える請求項２６に記載の装置。
【請求項２９】
ビデオ・データの少なくとも１つのマクロブロックを格納するためのストレージ・メディアと、
前記ストレージ・メディアに結合され、（ａ）ビデオ・データのマクロブロックのイントラ符号化と、（ｂ）ビデオ・データのイントラ符号化されたマクロブロックの復号化のうち少なくとも１つの選択されたものを実行するためのロジックとを備え、イントラ符号化されたマクロブロックは、第１の予測モードの下で予測されたピクセル値の４×４サブブロックを含み、ピクセル値の対角は、
ａ              ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｂ、ｅ          ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｃ、ｆ、ｉ      ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｄ、ｇ、ｊ、ｍ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、
ｈ、ｋ、ｎ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４、
ｌ、ｏ          ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４、及び
ｐ              ＝（Ｇ＋３＊Ｈ＋２）／４、
のうち選択されたものに従って予測され、
ただし、ａ〜ｄは前記４×４サブブロックの第１の行の予測されたピクセル値であり、
ｅ〜ｈは、前記４×４サブブロックの第２の行の予測されたピクセル値であり、
ｉ〜ｌは、前記４×４サブブロックの第３の行の予測されたピクセル値であり、
ｍ〜ｐは、前記４×４サブブロックの第４の行の予測されたピクセル値であり、
Ａ〜Ｈは、前記４×４サブブロックの上の隣接サブブロックのピクセルのピクセル値である装置。
【請求項３０】
ビデオ・データの少なくとも１つのマクロブロックを格納するためのストレージ・メディアと、
前記ストレージ・メディアに結合され、ビデオ・データのマクロブロックのイントラ符号化と、そのビデオ・データのイントラ符号化されたマクロブロックの復号化のうち選択されたものを実行するためのロジックとを備え、イントラ符号化されたマクロブロックは、以下のように第１の予測モードの下で予測されたピクセル値のＭ×Ｎサブブロックを含み、
ｉ＝０−（Ｎ−１）、ｊ＝０−（Ｍ−１）について、
ｔ0〜ｔN及びｌ0〜ｌMが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋ｌ0＋．．．＋ｌM＋Ｎ／２＋Ｍ／２）／（Ｍ＋Ｎ）、
そうでなければ、ｔ0〜ｔNのみが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋Ｎ／２）／Ｎ、
そうでなければ、ｌ0〜ｌMのみが使用可能である場合、
Ｐij＝（ｌ0＋．．．＋ｌM＋Ｍ／２）／Ｍ、
そうでなければ、
Ｐij＝１２８、
ただし、Ｐijは前記Ｍ×Ｎサブブロックのピクセル値であり、ｉ及びｊは前記Ｍ×Ｎサブブロック内の行と列の位置を示すインデックスであり、
ｔ0〜ｔNは前記Ｍ×Ｎサブブロックの上の隣接サブブロックのピクセル値であり、
ｌ0〜ｌmは前記Ｍ×Ｎサブブロックの左の隣接サブブロックのピクセル値である装置。
【発明の詳細な説明】
【関連出願】
【０００１】
（関連出願）
本出願は、２０００年１２月６日出願の「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｎｔｒａｃｏｄｉｎｇ  Ｖｉｄｅｏ  Ｄａｔａ」という名称の米国出願０９／７３２５２２の一部継続出願である。
【０００２】
本出願はまた、以下の仮出願の優先権を主張するものである。
ａ）２００２年７月８日出願の「Ｌｏｗ  Ｃｏｍｐｌｅｘｉｔｙ  Ｄｉａｇｏｎａｌ  Ｍｏｄｅ  ｆｏｒ  Ｉｎｔｒａ−Ｐｒｅｄｉｃｔｉｏｎ」という名称の仮出願６０／３９４５２４、
ｂ）２００２年９月２７日出願の「Ｒｅｄｕｃｉｎｇ  Ｐｉｘｅｌ  Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｆｏｒ  Ｉｎｔｒａ  Ｐｒｅｄｉｃｔｉｏｎ」という名称の仮出願６０／４１４２１０、
ｃ）２００２年１０月１日出願の「Ｒｅｄｕｃｉｎｇ  Ｐｉｘｅｌ  Ｄｅｐｅｎｄｅｎｃｉｅｓ  ｆｏｒ  Ｉｎｔｒａ  Ｐｒｅｄｉｃｔｉｏｎ  Ｗｉｔｈ  Ｖａｒｙｉｎｇ  Ｂｌｏｃｋ  Ｓｉｚｅｓ」という名称の仮出願６０／４１５４４７。
【０００３】
これらの出願の明細書は参照により完全に本明細書に組み込まれる。
【技術分野】
【０００４】
本発明は、ビデオ・データを送信又は格納するために圧縮し、このビデオ・データを表示するために圧縮解除するビデオ・システムに関する。より詳細には、本発明は、ビデオ・データをイントラ符号化するためのビデオ・システムと方法に関する。
【背景技術】
【０００５】
ビデオ・システムは大量のビデオ・データを送信し、処理し、格納する。ビデオ・ムービーなどのビデオ・プレゼンテーションを作成するために、レンダリング・ビデオ・システムは、ビデオ・データを「フレーム」とも呼ばれる複数のデジタル・画像として表示し、それにより動きをシミュレートする。受け入れ可能なビデオ品質を有するビデオ・プレゼンテーションを達成するために、あるいは、送信及び格納を可能にするために、従来のビデオ・システムはビデオ・データを送信又は格納の前に修正する。例えば、ビデオ・システムはビデオ・データを圧縮し、符号化して、格納及び送信のためのビット・レートを低減する。
【０００６】
従来のビデオ・システムでは、ビデオ・エンコーダは、ビデオ・データを圧縮及び符号化するために使用され、ビデオ・デコーダは、ビデオ・データを圧縮解除及び復号するために使用される。ビデオ・エンコーダは、低減されたビット・レート及び低減された冗長性を有するビデオ・データを出力する。すなわち、ビデオ圧縮の技術は、ビデオ・フレーム内の空間的冗長性、又は、複数の連続ビデオ・フレームの間の時間的冗長性を除去する。
【０００７】
ビデオ・エンコーダ及びビデオ・デコーダを、ビデオ・ストリームを圧縮するための２つのタイプの符号化、すなわちイントラ符号化とインター符号化のうち１つを適用するように構成することができる。これらの２つのタイプの符号化は、ビデオ・フレームの統計プロパティに基づく。ビデオ・フレームがイントラ符号化を使用して符号化されるとき、圧縮は、一つのフレーム（圧縮されるフレーム）内に含まれた情報に基付いて、そのフレーム内の空間的冗長性を使用して行われる。したがって、イントラ符号化は他のいかなるフレームにも依存しない。対照的に、インター符号化は少なくとも１つの他のフレームを参照として使用し、圧縮されるフレームと参照フレームの間の違いを符号化する。したがって、インター符号化は、ビデオ・データ内の複数の連続フレームの間の時間的冗長性に基づく。
【０００８】
ビデオ圧縮の分野は、例えば、ビデオ符号化と復号化のための均一の要件を定義する様々な国際電気通信連合（ＩＴＵ）規格など、国際規格を受ける。通常、これらの規格は、業界からの寄与に基づいて発展する。加えて、ビデオ・コーダ及びデコーダのメーカーもまた国際規格を修正し、あるいはこれに基づき、またビデオ圧縮のための追加のメーカー独自の技術を実施する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
国際規格及びメーカー独自の技術の存在にもかかわらず、なお、ビデオ圧縮のための改良された技術の必要性がある。例えば、表示されたビデオ・ムービーの品質は、ビデオ圧縮のために使用された技術から直接左右される。ビデオ圧縮技術のあらゆる改良は、ビデオ・ムービーを見る者にとってより満足のいくものにする。
【発明を実施するための最良の形態】
【００１０】
本発明のこれら及び他の態様、利点、及び新規な特徴は、以下の詳細な説明を読んだ上で、また、添付の図面を参照した上で明らかになるであろう。
【００１１】
以下の説明では、例示として、本発明を実施することができる特定の実施形態の一部を形成し、これを示す、添付の図面を参照する。本発明の範囲から逸脱することなく、他の実施形態を利用することができ、構造上の変更を行なうことができることを理解されたい。可能である場合、同じ参照番号は図面の全体に渡って同じ又は類似の構成要素を指すために使用される。本発明に対して十分な理解を与えるために、多数の特定の詳細が示される。しかし、本発明をこれらの特定の詳細なしに、あるいはある代替の、本明細書で説明するものに相当する装置と方法と共に実施することができることは、当業者には明らかになるであろう。他の場合では、周知の方法、手順、構成要素、装置については、本発明の態様を不必要に曖昧にしないようにするため、詳細に説明していない。
【００１２】
様々なオペレーションを、複数の離散ステップとして、本発明の理解の助けとなる方法で説明するが、説明の順序は、これらのオペレーションが必ずしも順序に依存することを示唆するように解釈されるべきではない。特に、これらのオペレーションは提示の順序で実行される必要はない。
【００１３】
「一実施形態では」という句は繰り返し使用される。この句は一般に同じ実施形態を指さないが、同じ実施形態を指す場合がある。「備える」、「有する」及び「含む」という語は、特に文脈で指示しない限り、同義語である。
【００１４】
図１は、エンコーダ装置３と、そのエンコーダ装置３にメディア９を介して結合されるデコーダ装置５を有するビデオ圧縮及び圧縮解除システム１（以下「ビデオ・システム１」）の高レベル・ブロック図である。エンコーダ装置３は、ビデオ・エンコーダ２、モード・セレクタ１４、バッファ８を含む。デコーダ装置５は、バッファ１０、ビデオ・デコーダ１２、モード・セレクタ１６を含む。エンコーダ装置３はビデオ・シーケンス２０（ＶＩＤＥＯ  ＩＮ）を受信し、そのビデオ・シーケンス２０を符号化して、符号化された、したがって圧縮されたプレゼンテーションを、いくつかの可能なフォーマットの１つで生成する。フォーマットを、符号化されたプレゼンテーションの「ライブ」ストリーミング向けに調整されたインターリーブされたフォーマットにすることができる。フォーマットを、符号化されたプレゼンテーションの各々が１つのファイル内の連続ブロックに格納される単一のファイル・フォーマットにすることもできる。
【００１５】
エンコーダ装置３へのビデオ・シーケンス２０入力は、例えばビデオ・カメラによって提供されるライブ信号、又は、所定のフォーマットにおいて事前記録されたシーケンスにすることができる。ビデオ・シーケンス２０には、デジタル・ビデオのフレーム、デジタル・オーディオからなるオーディオ・セグメント、ビデオ、グラフィックス、テキスト及び／又はオーディオの組合せ（マルチメディア・アプリケーション）、又は、前述のアナログ形式が含まれる。必要な場合、アナログ・ビデオ、又は事前に圧縮及び符号化されたビデオなど、様々なタイプの入力信号に変換を適用して、エンコーダ装置３への適切な入力を生成することができる。一実施形態では、エンコーダ装置３はビデオをＲＧＢ又はＹＵＶフォーマットで受け入れることができる。しかし、エンコーダ装置３を、適切な変換メカニズムが供給される限り、いかなるフォーマットの入力をも受け入れるように適合させることができる。あるフォーマットの信号を別のフォーマットの信号に変換するための変換メカニズムは、当技術分野で周知である。
【００１６】
メディア９は、ストレージ・デバイス又は送信メディアとすることができる。一実施形態では、ビデオ・システム１をコンピュータ上で実装することができる。エンコーダ装置３は、符号化済ビデオ・ストリーム（プレゼンテーション）を、ストレージ・デバイスとして実装されるメディア９に送信する。ストレージ・デバイスはビデオ・サーバ、ハード・ディスク・ドライブ、ＣＤ再書き込み可能ドライブ、リード／ライトＤＶＤドライブ、又は、符号化済ビデオ・データを格納することができ、検索を可能にすることができる他のいかなる装置にすることもできる。ストレージ・デバイスはデコーダ装置５に接続され、デコーダ装置５は、ストレージ・デバイスから選択的に読み取ることができ、符号化済ビデオ・シーケンスを復号することができる。デコーダ装置５は、符号化済ビデオ・シーケンスのうち選択されたものを復号するとき、ビデオ・シーケンス２０の再生を、例えば、コンピュータ・モニター又は画面上に表示するために生成する。
【００１７】
もう１つの実施形態では、メディア９は別のコンピュータへの接続を提供する。別のコンピュータを、符号化済ビデオ・シーケンスを受信するリモート・コンピュータにすることができる。メディア９を、ＬＡＮ、ＷＡＮ、インターネットなど、ネットワーク接続にすることができる。リモート・コンピュータ内のデコーダ装置５は、その中に含まれた符号化済プレゼンテーションを復号し、ビデオ・シーケンス２０の再生をリモート・コンピュータの画面又はモニター上に生成させることができる。
【００１８】
図１に例示し、上述したビデオ・システム１の形態を結合及び補足して、他の実施形態を達成することができる。多数の他の実施形態は、本発明の範囲に適合する。このような他の実施形態はビデオに限定される必要はなく、オーディオ又は他の形態のメディアをも含んでいてもよい。
【００１９】
前から存在するビデオ符号化技術は通常、フレーム（ピクチャ）を、マクロブロックと呼ばれるピクセルのより少ないブロックに分割する。各マクロブロックは、符号化が実行される情報の単位を決めるピクセルのマトリックス、通常は１６×１６マトリックスからなる。したがって、そのピクセルのマトリックスは、１６×１６マクロブロックと呼ばれる。これらのビデオ符号化技術は通常、各１６×１６マクロブロックをさらにより少ないピクセルのマトリックス、例えば、ピクセルの８×８マトリックス又はピクセルの４×４マトリックスに分割する。このようなマトリックスを以下でサブブロックと称する。
【００２０】
本発明の一実施形態では、１６×１６マクロブロックは１６個の４×４サブブロックに分割される。他の実施形態では、１６×１６マクロブロックは、８×８サブブロック、８×４サブブロック、又は４×８サブブロックに分割される。本発明は、他のサブブロックを使用するか、あるいは、サブブロックに分割することなく１６×１６マクロブロックのみを使用するシステムに等しく適用可能又は容易に適合可能であることは、当業者には理解されよう。
【００２１】
さらに、前から存在する符号化技術は、動きベクトルを使用した動き補償及び動き予測を備えている。動きベクトルは、ｘ成分及びｙ成分を介してプレゼンテーションされる方向、ならびに、１６×１６マクロブロック又はそれらの各サブブロックの動きの量を記述し、デコーダへ、ビット・ストリームの一部として送信される。当技術分野で知られているように、動きベクトルは、双方向で符号化されたピクチャ（Ｂピクチャ）及び予測されたピクチャ（Ｐピクチャ）のために使用される。
【００２２】
ビデオ・エンコーダ２は、離散コサイン変換（ＤＣＴ）を実行して、ビデオ・シーケンス２０を符号化し、圧縮する。簡単に述べると、ビデオ・エンコーダ２はビデオ・シーケンス２０を、空間、時間領域から周波数領域に変換する。ビデオ・エンコーダ２の出力は信号振幅のセットであり、「ＤＣＴ係数」と呼ばれる。量子化器はＤＣＴ係数を受信し、符号化中に、ＤＣＴ係数値の範囲（又はステップ・サイズ）の各々に、小さい整数などの単一の値を割り当てる。量子化は、データをより小型にプレゼンテーションできるようにするが、あるデータが損失する結果となる。より細かいスケールにおける量子化は、それほど小型でないプレゼンテーション（より高いビット・レート）の結果となるが、データの損失もより少ない。より粗いスケールにおける量子化は、より小型のプレゼンテーション（より低いビット・レート）の結果となるが、データの損失もより多い。モード・セレクタ１４はビデオ・エンコーダ２と通信し、ビデオ・シーケンス２０の符号化を監視し、制御する。モード・セレクタ１４は、本発明によって、ビデオ・エンコーダ２がビデオ・シーケンス２０を符号化する予測モードを決定する。モード・セレクタ１４は、本発明の方法によって動作するように構成される、プロセッサ、又は、１つ又は複数のソフトウェア・モジュールにすることができる。図１はモード・セレクタ１４を、例示のために、ビデオ・エンコーダ２から分離した要素として示している。モード・セレクタ１４の機能性をビデオ・エンコーダ２の機能性と結合させることができることは、当業者には理解されよう。
【００２３】
エンコーダ装置３のバッファ８は、符号化され、圧縮されたビデオ・シーケンス（以下「符号化済ビデオ・シーケンス」）をビデオ・エンコーダ２から受信し、メディア９に送信される前に符号化済ビデオ・シーケンスのビット・レートを調整する。バッファリングが必要とされる場合があり、これは、個々のビデオ画像が様々な量の情報を含む場合があり、結果として画像によって様々な符号化効率となるからである。バッファ８のサイズが制限されているので、量子化器へのフィードバック・ループを使用して、バッファ８のオーバーフロー又はアンダーフローを回避することができる。プレゼンテーションのビット・レートは、プレゼンテーションをリアル・タイムで提示するためにプレゼンテーション・データが処理されなければならないレートである。
【００２４】
デコーダ装置５は、エンコーダ装置３の逆の機能を実行する。バッファ１０もまた、入ってくる符号化済ビデオ・シーケンスのビット・レートを調整する。ビデオ・デコーダ１２は、モード・セレクタ１６と結合して、入ってくるビデオ・シーケンスを復号及び圧縮解除し、ビデオ・シーケンスを再構築する。モード・セレクタ１６は、入ってくるビデオ・シーケンスを符号化したビデオ・エンコーダ２に従って予測モードを決定する。デコーダ装置５は、「ＶＩＤＥＯ  ＯＵＴ」として例示された復号され、圧縮解除されたビデオ・シーケンス２４（以下「復号済ビデオ・シーケンス２４」）を出力する。
【００２５】
ビデオ・デコーダ１２は、バッファ１０（図１）からの符号化済ビデオ・シーケンスを表現するビット・ストリームを受信する。一実施形態では、ビデオ・デコーダは、例えばＭＰＥＧ−ｘデコーダなどの従来のビデオ・デコーダであり、デコーダ・コントローラ、ＶＬＣデコーダ（ＶＬＣ  可変長符号化）、再構築モジュールを含む。これらのコンポーネントのオペレーション及び機能は当業者に知られている。これらのコンポーネントは当業者に知られており、一般に入手可能なＭＰＥＧ文書及び出版物に記載されている。
【００２６】
図２は、ビデオ・シーケンス２０の一部であるビデオ・フレーム３０を例示する図である。上述のように、既知のビデオ符号化技術は通常、ビデオ・フレーム３０をマクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄに分割する。例えば、ビデオ・フレーム３０は、１６×１６マクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄのマトリックスに分割される。ビデオ・システム１はマクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄを行ごとに、上から下へ、左から右へ、例えばイントラ符号化のシーケンスを例示する破線３４を介して示すように符号化する。例示の実施形態では、破線３４は次に符号化されるマクロブロックであるマクロブロック３６ａで終わっている。その前のすべてのマクロブロック３６、３６ｂ、３６ｃ、３６ｄはすでに符号化されている。
【００２７】
マクロブロック３６ａを、すべてのマクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄの代表として、ビデオ・フレーム３０の下により詳細に示す。ビデオ・システム１のビデオ符号化技術は各マクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄをさらに、ピクセルのマトリックス３８に分割する。以下でこれをサブブロック３８と称する。
【００２８】
一実施形態では、サブブロック３８はピクセルの４×４マトリックスであり、その１６個のピクセルにはａ、ｂ、ｃ、．．．、ｐ（「行が先」の方法で）とラベルが付けられている。マクロブロック３６ａのサブブロック３８の真上に位置する近接マクロブロック３６ｂの隣接サブブロックのピクセルの境界ピクセルには、Ａ、Ｂ、Ｃ、Ｄとラベルが付けられている。さらに、サブブロック３８の右上に位置するマクロブロック３６ｂのサブブロックの境界ピクセルには、Ｅ、Ｆ、Ｇ、Ｈとラベルを付ける。同様に、マクロブロック３６ａのサブブロック３８のすぐ左に位置する近接マクロブロック３６ｃの隣接サブブロックの境界ピクセルには、Ｉ、Ｊ、Ｋ、Ｌとラベルを付ける。サブブロック３８の左下に位置するマクロブロック３６ｃのサブブロックの境界ピクセルには、Ｍ、Ｎ、Ｏ、Ｐとラベルを付ける。マクロブロック３６ａのサブブロック３８の左上に位置する、マクロブロック３６ｄのサブブロックの境界ピクセルには、Ｑとラベルを付ける。
【００２９】
本発明のビデオ・システム１は、各マクロブロック３６をイントラ・マクロブロックとして符号化する。イントラ・マクロブロックは、動き補償された予測なしに変換符号化される。したがって、イントラ・マクロブロックは、前又は後続のフレームからの復号されたデータを参照しない。Ｉフレームは、完全にイントラ・マクロブロックからなるフレームである。したがって、Ｉフレームは、前又は後続のフレームへの参照なしに符号化される。Ｉフレームはまた「イントラ・フレーム」としても知られる。
【００３０】
図３はサブブロック３８であり、サブブロック３８を符号化することができる可能な方向を例示する。本発明によれば、マクロブロック３６、３６ａ、３６ｂ、３６ｃ、３６ｄのサブブロックを、以下にリストする９つのモード（モード０、モード１、．．．、モード８）のうち１つでイントラ符号化することができる。すなわち、特定のサブブロック３８を、現在復号されている現在のサブブロックの上のサブブロックから（「垂直予測」）、現在のサブブロックの左のサブブロックから（「水平予測」）、又は、左及び上のサブブロックから（「対角予測」）予測することができる。モード１〜８はサブブロックを所定の方向で予測し、モード０は所定の方向の予測なしに一様平均を使用する。図３では、各方向は、本発明による８つの予測モードのうち１つを表す。
【００３１】
モード０：
このモードでは、各ピクセルａ〜ｐは、以下の式によって予測される。
【００３２】
【数１】
2005532768.tif 000003
【００３３】
このモード、ならびに以下のモードでは、「除算」は、結果を「マイナス無限大」（−∞）まで丸めることを意味する。例えば、モード０では、項「＋４」は、除算が最も近い整数への丸めの結果となることを保証する。これはまた他のモードにも当てはまる。
【００３４】
ピクセルａ〜ｐのうち４つが、現在符号化されている現在のピクチャ（フレーム）の外側である場合、残りの４つのピクセルの平均が予測のために使用される。すべての８つのピクセルがピクチャの外側である場合、このサブブロック内のすべてのピクセルについての予測は１２８である。したがって、サブブロックは常にモード０で予測することができる。
【００３５】
モード１：
ピクセルＡ、Ｂ、Ｃ、Ｄが現在のピクチャの内側である場合、ピクセルａ〜ｐは、図３に示す垂直方向に予測される。すなわち、ピクセルａ〜ｐは以下のように予測される。
【００３６】
【表１】
2005532768.tif 000004
【００３７】
モード２：
ピクセルＩ、Ｊ、Ｋ、Ｌが現在のピクチャの内側である場合、ピクセルａ〜ｐは、水平方向に予測される。すなわち、ピクセルａ〜ｐは以下のように予測される。
【００３８】
【表２】
2005532768.tif 000005
【００３９】
モード３：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これは、図３に示す対角方向の予測に対応する。ピクセルａ〜ｐは以下のように予測される。
【００４０】
【表３】
2005532768.tif 000006
【００４１】
モード４：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これもまた対角予測である。
【００４２】
【表４】
2005532768.tif 000007
【００４３】
モード５：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これもまた対角予測である。
【００４４】
【表５】
2005532768.tif 000008
【００４５】
モード６：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これは対角予測である。
【００４６】
【表６】
2005532768.tif 000009
【００４７】
モード７：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これは対角予測である。
【００４８】
【表７】
2005532768.tif 000010
【００４９】
モード８：
このモードは、すべてのピクセルａ〜ｐが現在のピクチャの内側である場合に使用される。これは対角予測である。
【００５０】
【表８】
2005532768.tif 000011
【００５１】
本発明の一実施形態では、モード選択アルゴリズムは、９つのモードのうち１つ選択するための基準を決定する。次いで、サブブロック３８は、選択されたモードに従って符号化される。モード選択アルゴリズムを以下で詳細に説明する。
【００５２】
図４は、ビデオ・フレームのストリームを含むビデオ・データを符号化し、予測モードのモード０〜８のうち１つを選択する本発明による方法を例示する手順の流れ図である。一実施形態では、この方法はビデオ・フレームの輝度部（Ｙ）を符号化する。
【００５３】
ステップ２８で、例えば、ユーザーがビデオ・システム１を起動するとき、この手順はビデオ・システム１を初期化する。初期化手順には、例えば、エンコーダ装置３が動作中であり、ビデオ・フレームのストリームを受信するために適切に接続されているかどうかを判断することが含まれる。
【００５４】
ステップ３０で、この手順は、ビデオ・フレームのストリームを受信し、各ビデオ・フレームを複数のサブブロックのマトリックスに分割する。各サブブロックは複数のピクセルを含む。複数のサブブロックのマトリックスは、上述のマクロブロックの一部である４×４サブブロック３８を含む。
【００５５】
ステップ３２で、この手順は、９つの予測モード０〜８のそれぞれのモードに対して定義する。各予測モードは現在のサブブロックが符号化されるモードを決定する。例えば、この手順は、モード０〜８のそれぞれのモードを計算し、定義するためのサブルーチンを実行することができる。
【００５６】
ステップ３４で、この手順は、現在のサブブロック３８を符号化するために、９つの予測モードのモード０〜８のうち１つを選択する。一実施形態では、この手順は、各モードについて誤差値を計算し、どのモードが最小誤差値を提供するかを決定し、そのモードを、現在のサブブロック３８を符号化するために選択する。
【００５７】
この手順が、現在のサブブロック３８のピクセルを符号化するための「最良」の予測モードを選択した後、この手順は最小誤差値を符号化し、符号化された最小誤差値を、圧縮されたビット・ストリーム内でデコーダへ送信する。最小誤差値は、現在のサブブロックの予測されたピクセルと、サブブロックの元のピクセルの間の差を表す。この差を、当技術分野で知られているＤＣＴ、係数量子化、可変長符号化を使用して符号化することができる。デコーダは、予測されたピクセル、及び、元のピクセルとの差を使用して、ビデオ・フレームを正確に再構築する。この手順は、ステップ３６で終了する。
【００５８】
この手順は、４×４サブブロック３８の各々が、９つの予測モードであるモード０〜８のうち１つに従って符号化されることを規定する。直接符号化される場合、これにはかなりの数のビットが必要となる場合があるので、本発明によるビデオ・システム１は、モード情報を符号化するより効率的な方法とすることができる。あるサブブロックの予測モードは、隣接サブブロックの予測モードと相関される。
【００５９】
図５は、３つの例示的サブブロックＡ、Ｂ、Ｃを介してこれを例示する。サブブロックＣは、その予測モードが知られているサブブロックＡ、Ｂを用いて符号化（予測）されるサブブロックである。サブブロックＡはサブブロックＣの上に位置し、サブブロックＢはサブブロックＣの左に位置する。この場合、サブブロックＣのための最も確率の高い、次に最も確率の高い、などの予測モードの順序付けが与えられる。このような順序付けテーブルの一例を以下にリストする。このテーブルは１０個のグループ（グループ１〜グループ１０）に分割される。各グループ内で、サブブロックＡのための各予測モードは一定であり（例えば、サブブロックＡのモード０は、グループ２内で一定である）、サブブロックＢのための予測モードは変化する。すなわち、あるグループ内のサブブロックＡのための（一定の）予測モードを、そのグループ内でサブブロックＢのための９つの予測モードのうち１つに結合させることができる。
【００６０】
サブブロックＡ、Ｂの予測モードの各組合せに対して、９つのモード０〜９の各モードに対して１つの一連の９つの数が与えられる。グループ３の例では、サブブロックＡとサブブロックＢのための予測モードが共にモード１である場合、文字列「１６２５３０４８７」は、モード１、すなわち、文字列内の最初の数がサブブロックＣのための最も確率の高いモードであることを示す。モード６、すなわち、文字列内の第２の数は、次に最も確率の高いモードである。例示的文字列では、モード７が最も確率が低い。これは、数７が文字列内の最後の数であるからである。この文字列は、符号化済ビデオ・シーケンスを表現するビットのストリームの一部となる。
【００６１】
したがって、ビットのストリームには、情報（Ｐｒｏｂ０＝１（テーブル１を参照））が含まれ、これはサブブロックＣのために使用されたモードを示す。例えば、この情報は、次に最も確率の高いイントラ予測モードがモード６であることを示すことができる。テーブル内の「−」は、このインスタンスが発生することができないことを示すことに留意されたい。テーブル１で使用される「外側」という語は、「フレームの外側」を示す。サブブロックＡ又はＢがフレーム内であるが、「イントラ」符号化されない（例えば、Ｐフレームでは、サブブロックＣを「イントラ」符号化することはできるが、サブブロックＡもサブブロックＢも「イントラ」符号化することはできない）場合、予測モードはない。本発明の手順は、このようなサブブロックについてモード０を仮定する。
【００６２】
【表９】
2005532768.tif 000012
2005532768.tif 000013
2005532768.tif 000014
2005532768.tif 000015
2005532768.tif 000016
【００６３】
予測モードについての情報を、２つのサブブロック３８の予測モード情報を１つのコードワードにおいて結合することによって、効率的に符号化することができる。ビットのストリームは次いで、結果として生じるコードワードを含む。各コードワードは２つのサブブロックの予測モードを表現する。テーブル２は、０と８０の間のコード番号（コード番号）のための例示的バイナリ・コードワードをリストする。最初のサブブロックのモードの確率はＰｒｏｂ０と示され、第２のサブブロックのモードの確率はＰｒｏｂ１と示される。
【００６４】
【表１０】
2005532768.tif 000017
2005532768.tif 000018
2005532768.tif 000019
2005532768.tif 000020
【００６５】
９つの予測モード（テーブル１）及びモードの確率（テーブル１、テーブル２）により、モード選択アルゴリズムは、特定のサブブロックが予測されるモードを決定する。本発明の一実施形態では、アルゴリズムは、ピクセルａ〜ｐと元のフレーム内の対応するピクセルの間の差分絶対値和（ＳＡＤ）、及び、上記のモードの確率を使用して、モードを選択する。ＳＡＤ及び確率テーブルは、特定のサブブロック３８のためのモードを選択するために使用される。このアルゴリズムは、９つの可能なモードであるモード０〜８の各々について、パラメータｕＥｒｒｏｒを計算する。最小のｕＥｒｒｏｒを提供するモードは、サブブロック３８のために選択されたモードである。
【００６６】
ｕＥｒｒｏｒは以下のように計算される。
ｕＥｒｒｏｒ＝ＳＡＤ（｛ａ，．．．，ｐ｝，｛元のフレーム｝）＋ｒｄ＿ｑｕａｎｔ［ｕＭＢＱＰ］＊ｕＰｒｏｂ
ただし、ＳＡＤ（｛ａ，．．．，ｐ｝，｛元のフレーム｝）は、ピクセルａ〜ｐと元のフレーム内の対応するピクセルの間の差分絶対値和であり、
ただし、ｒｄ＿ｑｕａｎｔ［ｕＭＢＱＰ］は、量子化パラメータｕＭＢＱＰによってインデックス付けされた定数値のテーブルである。ｕＭＢＱＰは以下によって与えられ、
ｃｏｎｓｔ  Ｕ８  ｒｄ＿ｑｕａｎｔ［３２］＝
｛１，１，１，１，１，１，２，２，２，２，３，３，３，４，４，５，５，６，７，７，８，９，１１，１２，１３，１５，１７，１９，２１，２４，２７，３０｝、かつ
ただし、ｕＰｒｏｂは、モード確率テーブル（テーブル１）内の位置によって提供された、モードが発生する確率である。
【００６７】
例えば、サブブロックＡのための予測モードはモード１であり、サブブロックＢのための予測モードはモード１である。文字列「１６２５３０４８７」は、モード１はまたサブブロックＣのための最も確率の高いモードでもあることを示す。モード６は、第２に最も確率の高いモードである、などとなる。このように、このアルゴリズムがモード０のためのｕＥｒｒｏｒを計算するとき、確率ｕＰｒｏｂは５である。さらに、モード１では確率ｕＰｒｏｂは０であり、モード２では確率ｕＰｒｏｂは２であり、モード３では確率ｕＰｒｏｂは４である、などとなる。
【００６８】
ビデオ・フレームの輝度部（Ｙ）の符号化に加えて、本発明のビデオ・システム１はまた、ビデオ・フレームのクロミナンス部（Ｕ、Ｖ）をも予測することができる。クロミナンス部は、クロミナンス面（Ｕ及びＶ面）と見なすことができる。通常、クロミナンス面（Ｕ及びＶ面）は、輝度面のサイズの４分の１である。したがって、１６×１６マクロブロックでは、対応するピクセルの８×８ブロックは、Ｕ及びＶ面の両方に存在する。これらの８×８ブロックは４×４ブロックに分割される。一般に、別々の予測モードはクロミナンス・ブロック用に送信されない。その代わりに、Ｙ面ブロック用に送信されたモードが、Ｕ及びＶ面ブロックのための予測モードとして使用される。
【００６９】
図６は、一実施形態による、本発明の教示が組み込まれたビデオ装置を例示する。例示のように、ビデオ装置６００は、この装置の入力及び出力に結合されたエンコーダ６１０及びデコーダ６２０を含む。前述のように、エンコーダ６１０は、ビデオ・フレーム・データを受信し、各フレーム・データをマクロブロックとサブブロックに分割し、選択的にサブブロックを前述のようにイントラ符号化するように設計される。デコーダ６２０は、イントラ符号化されたサブブロックを受信し、ビデオ・フレーム・データを前述のようにリカバリするように設計される。
【００７０】
エンコーダ６１０及びデコーダ６２０は、前述のエンコーダ装置３及びデコーダ装置５に類似の方法で構成される。様々な実施形態では、エンコーダ６１０とデコーダ６２０は少なくとも部分的には、それらの構成するテーブル及び符号化／復号化ロジックを共有することができる（エンコーダ６１０とデコーダ６２０の交差するブロックによって示される）。
【００７１】
様々な実施形態では、ビデオ装置６００を無線携帯電話、携帯情報端末などのパーム・サイズの演算装置、ラップトップ演算装置、デスクトップ演算装置、サーバ、その他の演算装置などにすることができる。他の実施形態では、ビデオ装置６００を、ビデオ「アドオン」回路基板（ドーター回路基板とも呼ばれる）、マザーボード、及び他の回路基板など、回路基板コンポーネントにすることができる。
【００７２】
さらに他の実施形態では、エンコーダ６１０及びデコーダ６２０を両方とも有するのではなく、ビデオ装置６００は、ビデオ・カメラの場合のようにエンコーダ６１０のみ、又は、ＤＶＤプレイヤー、テレビ、表示モニター又はセットトップ・ボックスの場合のようにデコーダ６２０のみを含むことができる。
【００７３】
図７は、前述のエンコーダ装置１００及び／又はデコーダ装置４００のソフトウェア実施形態を実現するプログラミング命令を有する、記録可能メディアを含む製品７００を例示する。プログラミング命令は、ビデオ装置７１０に本発明の符号化及び復号化機能を装備するように、ビデオ装置７１０をプログラムするために使用するために設計される。
【００７４】
この実施形態では、ビデオ装置７１０は、エンコーダ装置１００及び／又はデコーダ４００のソフトウェア実施形態を実施するプログラミング命令の作業用コピーの少なくとも一部を格納するためのストレージ・メディア７１２と、このプログラミング命令を実行するためにストレージ・メディア７１２に結合された少なくとも１つのプロセッサ７１４を含む。
【００７５】
ビデオ装置７１０を、上記で列挙した装置の例、又は類似の他のビデオ装置のいずれか１つにすることができる。製品７００を例えば、ディスケット、コンパクト・ディスク（ＣＤ）、ＤＶＤ、又は、類似の他のコンピュータ可読メディアとすることができる。他の実施形態では、製品７００を、エンコーダ装置１００及び／又はデコーダ装置４００を、インターネットなどのプライベート及び／又は公衆ネットワークを介してオンラインで分散させる分散サーバにすることができる。一実施形態では、製品７００はウェブ・サーバである。
【００７６】
図８は、図示のように互いに通信的に結合されたビデオ・センダー８０２及びビデオ・レシーバ８０４を有する例示的システムを例示し、ビデオ・センダー８０２は、本発明の教示によってビデオを符号化し、符号化されたビデオをビデオ・レシーバ８０２に提供し、ビデオ・レシーバ８０２は、符号化されたビデオを復号して、ビデオをレンダリングする。ビデオ・センダー８０２及びビデオ・レシーバ８０４は、前述のエンコーダ装置１００及びデコーダ装置４００をそれぞれ装備する。
【００７７】
ビデオ・センダー８０２の一例はビデオ・サーバであるのに対して、ビデオ・レシーバ８０４の一例は、ビデオ・センダー８０２に結合されたクライアント装置である。
【００７８】
様々な代替実施形態では、モード４、６のための符号化は、符号化されているサブブロックのピクセル値の予測において、符号化されているサブブロックの上の隣接サブブロックのピクセルのみを使用するように合理化される。具体的には、符号化されているサブブロックのピクセル値は、モード４、６の下で以下のように予測される。
【００７９】
合理化されたモード４
ａ              ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｂ、ｅ          ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｃ、ｆ、ｉ      ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｄ、ｇ、ｊ、ｍ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、
ｈ、ｋ、ｎ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４、
ｌ、ｏ          ＝（Ｆ＋２＊Ｇ＋Ｈ＋２）／４、
ｐ              ＝（Ｇ＋３＊Ｈ＋２）／４
【００８０】
合理化されたモード６
ａ      ＝（Ａ＋Ｂ＋１）／２、
ｂ、ｉ  ＝（Ｂ＋Ｃ＋１）／２、
ｃ、ｊ  ＝（Ｃ＋Ｄ＋１）／２、
ｄ、ｋ  ＝（Ｄ＋Ｅ＋１）／２、
ｌ      ＝（Ｅ＋Ｆ＋１）／２、
ｅ      ＝（Ａ＋２＊Ｂ＋Ｃ＋２）／４、
ｆ、ｍ  ＝（Ｂ＋２＊Ｃ＋Ｄ＋２）／４、
ｇ、ｎ  ＝（Ｃ＋２＊Ｄ＋Ｅ＋２）／４、
ｈ、ｏ  ＝（Ｄ＋２＊Ｅ＋Ｆ＋２）／４、
ｐ      ＝（Ｅ＋２＊Ｆ＋Ｇ＋２）／４
【００８１】
さらに、モード７のための符号化は、符号化されているサブブロックのピクセル値の予測において、符号化されているサブブロックの左の隣接サブブロックのピクセルのみを使用するように合理化される。具体的には、符号化されているサブブロックのピクセル値は、以下のように予測される。
【００８２】
合理化されたモード７
ａ          ＝（Ｉ＋Ｊ＋１）／２、
ｂ          ＝（Ｉ＋２＊Ｊ＋Ｋ＋２）／４、
ｃ、ｅ      ＝（Ｊ＋Ｋ＋１）／２、
ｄ、ｆ      ＝（Ｊ＋２＊Ｋ＋Ｌ＋２）／４、
ｇ、ｉ      ＝（Ｋ＋Ｌ＋１）／２、
ｈ、ｊ      ＝（Ｋ＋２＊Ｌ＋Ｌ＋２）／４、
ｌ、ｎ、ｋ、
ｍ、ｏ、ｐ  ＝Ｌ
【００８３】
さらに他の実施形態では、マクロブロックをＭ×Ｎサブブロックに再分割することができ、ただし、Ｍ×Ｎをその代わりに８×８、８×４又は４×８にすることができる。本明細書のこの部分のために、図９ａ〜９ｃに例示するように、Ｍ×Ｎサブブロックのピクセルをｐijと称するものとし、ただし、インデックスｉはサブブロックの行位置を示し、８×８及び８×４サブブロックの場合は１から８の値、又は、４×８サブブロックの場合は１から４の値を仮定することができ、インデックスｊはサブブロックの列位置を示し、同様に８×８及び４×８サブブロックの場合は１から８の値、又は、８×４サブブロックの場合は１から４の値を仮定することができる。
【００８４】
例示のように、符号化されているサブブロックの上の隣接サブブロックの予測ピクセルを、ｔ0からｔ15と称し、符号化されているサブブロックの左の隣接サブブロックの予測ピクセルを、ｌ0からｌ15と称する。
【００８５】
モード０〜２では、Ｍ×Ｎサブブロックのピクセル値は、Ｍ×Ｎが８×８であるか、８×４であるか、４×８であるかにかかわらず、以下のように予測される。
【００８６】
モード０
ｔ0〜ｔN及びｌ0〜ｌMが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋ｌ0＋．．．＋ｌM＋Ｎ／２＋Ｍ／２）／（Ｍ＋Ｎ）、
そうでなければ、ｔ0〜ｔNのみが使用可能である場合、
Ｐij＝（ｔ0＋．．．＋ｔN＋Ｎ／２）／Ｎ、
そうでなければ、ｌ0〜ｌMのみが使用可能である場合、
Ｐij＝（ｌ0＋．．．＋ｌM＋Ｍ／２）／Ｍ、
そうでなければ、
Ｐij＝１２８、
ｉ＝０−（Ｎ−１）、ｊ＝０−（Ｍ−１）。
【００８７】
モード１
ｔ0〜ｔNが使用可能である場合、
Ｐij＝ｔj、
ｉ＝０−（Ｎ−１）、ｊ＝０−（Ｍ−１）。
【００８８】
モード２
ｌ0〜ｌMが使用可能である場合、
Ｐij＝ｌi、
ｉ＝０−（Ｎ−１）、ｊ＝０−（Ｍ−１）。
【００８９】
モード３〜８では、Ｍ×Ｎサブブロックのピクセル値は以下のように予測される。
【００９０】
モード３
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合
【００９１】
【表１１】
2005532768.tif 000021
【００９２】
モード４
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合、
【００９３】
【表１２】
2005532768.tif 000022
【００９４】
モード５
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合、以下の通りである。
【００９５】
【表１３】
2005532768.tif 000023
【００９６】
モード６
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合
【００９７】
【表１４】
2005532768.tif 000024
【００９８】
モード７
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合
【００９９】
【表１５】
2005532768.tif 000025
【０１００】
モード８
すべてのｔ0〜ｔN及びｌ0〜ｌMが予測のために使用可能である場合、以下の通りである。
【０１０１】
【表１６】
2005532768.tif 000026
【０１０２】
結論及びエピローグ
このように、ビデオ・フレーム・データをイントラ符号化と復号化するための新規な方法を、この方法が組み込まれたエンコーダ、デコーダ、装置及びシステムを含めて説明したことは、上記の説明から分かるであろう。
【０１０３】
本発明を前述の実施形態及び応用例の例に関して説明したが、本発明は、説明した実施形態及び応用例の例に限定されないことは、当業者には理解されよう。本発明を、付属の特許請求の範囲の精神及び範囲内の修正及び変更と共に実施することができる。特に、本発明の一部又は全部（例えば、様々な動作ロジック）を、特定用途向け集積回路（ＡＳＩＣ）において実装することができる。
【０１０４】
このように、本明細書は、本発明を限定するものではなく、例示するものとして見なされるべきである。
【図面の簡単な説明】
【０１０５】
【図１】符号化側及び復号側を有するビデオ・アプリケーションのためのシステムの高レベル・ブロック図である。
【図２】マクロブロック及びサブブロック内のフレーム及びその分割の高レベルの例示の図である。
【図３】それに従ってサブブロックを符号化することができる方向を例示するサブブロックの図であり、各方向は本発明による８つの予測モードのうち１つを表す図である。
【図４】本発明の一実施形態による、予測モードを選択する流れ図である。
【図５】２つのサブブロックが第３のサブブロックを符号化するために使用される、３つの近接サブブロックの例示の図である。
【図６】一実施形態による、本発明の符号化／復号教示が組み込まれたエンコーダ及びデコーダを有するビデオ装置を例示する図である。
【図７】一実施形態による、本発明の符号化／復号機能を装置に装備するように装置をプログラムするために使用するために設計された、本発明のエンコーダ／デコーダのソフトウェア実装を有する記録可能メディアを有する製品を例示する図である。
【図８】一実施形態による、本発明の符号化／復号教示が組み込まれたビデオ・センダー・装置及びビデオ・レシーバ・装置を有するシステムを例示する図である。
【図９ａ】３つの代替実施形態による、それぞれ８×８、８×４及び４×８サブブロックのピクセル値を予測するために使用された、周辺ピクセルを例示する図である。
【図９ｂ】３つの代替実施形態による、それぞれ８×８、８×４及び４×８サブブロックのピクセル値を予測するために使用された、周辺ピクセルを例示する図である。
【図９ｃ】３つの代替実施形態による、それぞれ８×８、８×４及び４×８サブブロックのピクセル値を予測するために使用された、周辺ピクセルを例示する図である。
【図１】
2005532768.tif 000033
【図２】
2005532768.tif 000034
【図３】
2005532768.tif 000035
【図４】
2005532768.tif 000036
【図５】
2005532768.tif 000037
【図６】
2005532768.tif 000038
【図７】
2005532768.tif 000039
【図８】
2005532768.tif 000040
2005532768.tif 000041
【国際調査報告】
2005532768.tif 000042