(57)【要約】現在の動画フレーム（５０１）の現在のマクロブロックに対する符号化モードを決定する方法は、ＩＮＴＥＲＳＡＤ値を決定すること、現在の動画フレームに関連する少なくとも１つの動画特徴を選択すること、ＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較すること、ＩＮＴＥＲＳＡＤ値が各選択された動画特徴の対応する範囲内にある場合に、フレーム間符号化を選択すること、ＩＮＴＥＲＳＡＤ値がいずれかの選択された動画特徴の外れ値である場合に、フレーム内予測（５０５）を行なってフレーム内予測マクロブロックを提供するとともに、ＩＮＴＲＡＳＡＤ値を決定すること、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値よりも大きい場合に、フレーム内符号化を選択し、大きくない場合に、フレーム間符号化を選択することを含む。動画特徴は、フレーム間差の合計の平均と、現在のマクロブロックの各ピクセル値と現在のマクロブロックの平均ピクセル値との間の絶対差の合計と、量子化パラメータとの任意の組合せに基づくものであり得る。
2009513073.tif 000002
【特許請求の範囲】
【請求項１】
現在の動画フレームの現在のマクロブロックに対する符号化モードを決定する方法であって、
前記現在のマクロブロックと前の動画フレームからの基準マクロブロックとの間のフレーム間差の合計を含むＩＮＴＥＲＳＡＤ値を決定すること、
前記現在の動画フレームに関連する少なくとも１つの動画特徴を選択すること、
前記ＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較すること、
前記ＩＮＴＥＲＳＡＤ値が各選択された動画特徴の前記対応する範囲内にある場合に、フレーム間符号化を選択すること、
前記ＩＮＴＥＲＳＡＤ値がいずれかの選択された動画特徴の外れ値である場合に、フレーム内予測を行なってフレーム内予測マクロブロックを提供するとともに、前記現在のマクロブロックと前記フレーム内予測マクロブロックとの間のフレーム内差の合計を含むＩＮＴＲＡＳＡＤ値を決定すること、
前記ＩＮＴＥＲＳＡＤ値が前記ＩＮＴＲＡＳＡＤ値よりも大きい場合に、フレーム内符号化を選択し、大きくない場合、フレーム間符号化を選択することを備える方法。
【請求項２】
前記ＩＮＴＥＲＳＡＤ値を決定することは、前記現在のマクロブロックの対応するピクセル値と前記基準マクロブロックの対応するピクセル値との間の絶対差を合計することを含む、請求項１記載の方法。
【請求項３】
前記少なくとも１つの動画特徴を選択することは、フレーム間差の合計の平均を含むＭＥＡＮＳＡＤ値を選択および決定することを含む、請求項１記載の方法。
【請求項４】
前記ＭＥＡＮＳＡＤ値を決定することは、前記前の動画フレームの複数のマクロブロックの絶対差のフレーム間合計の平均値を決定することを含む、請求項３記載の方法。
【請求項５】
前記前の動画フレームの複数のマクロブロックの絶対差のフレーム間合計の平均値を決定することは、前記前の動画フレームのマクロブロックのすべての絶対差のフレーム間合計の平均値を決定することを含む、請求項４記載の方法。
【請求項６】
前記前の動画フレームの複数のマクロブロックの絶対差のフレーム間合計の平均値を決定することは、前記前の動画フレームの隣接したマクロブロックの絶対差のフレーム間合計の平均値を決定することを含む、請求項４記載の方法。
【請求項７】
前記ＭＥＡＮＳＡＤ値を決定することは、前記現在の動画フレームの複数のマクロブロックの絶対差のフレーム間合計の平均値を決定することを含む、請求項３記載の方法。
【請求項８】
前記少なくとも１つの動画特徴を選択することは、前記現在のマクロブロックの各ピクセル値と前記現在のマクロブロックの平均ピクセル値との間の絶対差の合計を含むＳＡＤＭ値を選択および決定することを含む、請求項１記載の方法。
【請求項９】
前記少なくとも１つの動画特徴を選択することは、量子化パラメータを選択することを含む、請求項１記載の方法。
【請求項１０】
前記少なくとも１つの動画特徴を選択することは、
フレーム間差の合計の平均を含むＭＥＡＮＳＡＤ値を選択および決定すること、前記現在のマクロブロックの各ピクセル値と前記現在のマクロブロックの平均ピクセル値との間の絶対差の合計を含むＳＡＤＭ値を選択および決定すること、および、量子化パラメータを選択することを含み、
前記方法は、
前記ＭＥＡＮＳＡＤ値に第１範囲値を乗じて第１パラメータを提供すること、
前記ＳＡＤＭ値に第２範囲値を乗じて第２パラメータを提供すること、
前記量子化値に第３範囲値を乗じて第３パラメータを提供すること、
前記第１、第２、および第３パラメータの最小値を決定することを含み、
前記ＩＮＴＥＲＳＡＤ値を比較することは、前記ＩＮＴＥＲＳＡＤ値を前記最小値と比較することをさらに備える、請求項１記載の方法。
【請求項１１】
前記少なくとも１つの動画特徴を選択することに先立って、動作予測を行なうこと、前記前の動画フレームと、少なくとも１つの対応する動作ベクトルとから基準マクロブロックを決定することをさらに備える、請求項１記載の方法。
【請求項１２】
前記少なくとも１つの動画特徴を選択することに先立って、前記現在のマクロブロックが１つの動作ベクトルのみを有し、前記ＩＮＴＥＲＳＡＤ値が量子化パラメータよりも小さく、前記現在のマクロブロックに対する動作ベクトルが前記現在のフレームの隣接したマクロブロックの動作ベクトル中央値と等しく、前記前の動画フレームが基準フレームのみである場合に、フレーム間符号化を選択することをさらに備える、請求項１１記載の方法。
【請求項１３】
フレーム間符号化が選択されている場合に、前記基準マクロブロックの動作補償を行なって動作補償マクロブロックを提供するとともに、動作補償マクロブロックを予測マクロブロックとして選択すること、
フレーム内符号化が選択されている場合に、前記フレーム内予測マクロブロックを前記予測マクロブロックとして選択すること、
前記現在のマクロブロックから前記選択された予測マクロブロックを減算して変換用の残余マクロブロックを提供することをさらに備える、請求項１記載の方法。
【請求項１４】
現在の動画フレームの現在のマクロブロックに対して符号化モードを決定する動画符号化回路であって、
第１および第２入力と、出力と、前記第１および第２入力間で選択するためのモード信号を受信する制御入力とを有するセレクタ・スイッチと、
前記現在のフレームおよび少なくとも１つの先のフレームを受信するための入力と、出力とを有する動作予測回路であって、該動作予測回路が前記現在のマクロブロックと前の動画フレームとの間の動作予測を行なって前記動作予測回路の前記出力においてＩＮＴＥＲＳＡＤ値を提供するとともに、基準マクロブロックを提供し、前記ＩＮＴＥＲＳＡＤ値が、前記現在のマクロブロックと前記前の動画フレームからの前記基準マクロブロックとの間のフレーム間差の合計を含む、前記動作予測回路と、
前記動作予測回路の前記出力に結合された入力と、前記スイッチの前記第１入力に結合された出力とを有する動作補償回路であって、第１信号に応答して前記基準マクロブロックに対する動作補償を行なって前記動作補償回路の前記出力においてフレーム間予測マクロブロックを提供する前記動作補償回路と、
前記現在のフレームを受信するための入力と、前記スイッチの前記第２入力に結合された出力とを有するフレーム内予測回路であって、該フレーム内予測回路が第２信号のアサートに応答してフレーム内予測を行なって前記フレーム内予測回路の前記出力においてフレーム内予測マクロブロックを提供するとともに、ＩＮＴＲＡＳＡＤ値を提供し、前記ＩＮＴＲＡＳＡＤ値が、前記現在のマクロブロックと前記フレーム内予測マクロブロックとの間のフレーム内差の合計を含む、前記フレーム内予測回路と、
前記第１信号を提供する第１出力と、前記第２信号を提供する第２出力と、前記モード選択信号を提供する第３出力とを有するモード決定回路であって、前記モード決定回路が、前記現在の動画フレームに関連する少なくとも１つの動画特徴を選択し、前記ＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較し、前記ＩＮＴＥＲＳＡＤ値が前記各選択された動画特徴の前記対応する範囲内にある場合に、フレーム間符号化を選択するように前記第１信号および前記モード信号をアサートし、前記ＩＮＴＥＲＳＡＤ値が、いずれかの選択された動画特徴の外れ値である場合に、前記第２信号をアサートし、前記ＩＮＴＥＲＳＡＤ値が前記ＩＮＴＲＡＳＡＤ値よりも大きい場合にフレーム内符号化を選択し、前記ＩＮＴＥＲＳＡＤ値が前記ＩＮＴＲＡＳＡＤ値以下である場合にフレーム間符号化を選択するように前記モード信号をアサートする、前記モード決定回路とを備える動画符号化回路。
【請求項１５】
前記現在の動画フレームを受信するための第１入力と、前記スイッチの前記出力に結合された第２入力と、出力とを有する減算器であって、該減算器が、前記現在のマクロブロックから、選択された予測マクロブロックを減算して残余マクロブロックを提供し、
前記減算器の前記出力に結合された第１入力と、符号化情報を提供する第１出力と、再構築されたマクロブロックを提供するための第２出力とを有する変換回路とをさらに備える、請求項１４記載の動画符号化回路。
【請求項１６】
前記変換回路は、
前記減算器の前記出力に結合された入力と、出力とを有する変換回路と、
前記変換回路の前記出力に結合された入力と、出力とを有する量子化回路と、
前記量子化回路の前記出力に結合された入力と、出力とを有する逆量子化回路と、
前記逆量子化回路の前記出力に結合された第１入力と、前記スイッチの前記出力に結合された第２入力と、前記再構築されたマクロブロックを提供する出力とを有する加算器とを含む、請求項１５記載の動画符号化回路。
【請求項１７】
前記モード決定回路は、
フレーム間差の合計の平均を含むＭＥＡＮＳＡＤ値を決定する第１回路と、
前記現在のマクロブロックの各ピクセル値と前記現在のマクロブロックの平均ピクセル値との間の絶対差の合計を含むＳＡＤＭ値を決定する第２回路と、
前記ＭＥＡＮＳＡＤ値に第１範囲値を乗じて第１動画特徴を提供し、前記ＳＡＤＭ値に第２範囲値を乗じて第２動画特徴を提供し、量子化パラメータに第３範囲値を乗じて第３動画特徴を提供する第３回路と、
前記ＩＮＴＥＲＳＡＤ値を前記第１、第２、および第３動画特徴と比較し、前記第１、第２、およびモード信号を提供する第１比較器回路と、
前記ＩＮＴＥＲＳＡＤ値を前記ＩＮＴＲＡＳＡＤ値と比較する第２比較器回路とを含む、請求項１４記載の動画符号化回路。
【請求項１８】
動作モード信号、動作ベクトル、動作モード・ベクトル中央値、および基準フレーム数を比較し、符号化が前記現在のマクロブロックに対してスキップされる可能性を示すスキップ信号を提供する比較器回路をさらに備える、請求項１４記載の動画符号化回路。
【請求項１９】
現在の動画フレームの現在のマクロブロックに対する符号化モードを決定する動画符号化器用のモード決定ユニットであって、
前記現在の動画フレームに関連する少なくとも１つの動画特徴を選択する手段と、
動作予測からのＩＮＴＥＲＳＡＤ値を、各選択された動画特徴の対応する範囲と比較する手段と、
前記ＩＮＴＥＲＳＡＤ値が前記少なくとも１つの動画特徴のうちのいずれか１つの外れ値である場合に、フレーム内予測を開始する手段と、
前記ＩＮＴＥＲＳＡＤ値を前記ＩＮＴＲＡＳＡＤ値と比較する手段と、
前記ＩＮＴＥＲＳＡＤ値が前記各選択された動画特徴の前記対応する範囲内にある場合に、または、前記ＩＮＴＥＲＳＡＤ値が前記ＩＮＴＲＡＳＡＤ値以下である場合には、フレーム間符号化を選択し、前記ＩＮＴＥＲＳＡＤ値が前記ＩＮＴＲＡＳＡＤ値よりも大きい場合に、フレーム内符号化を選択する手段とを備えるモード決定ユニット。
【請求項２０】
単一の動作モードを決定し、動作ベクトルを動作モード・ベクトル中央値と比較し、単一の基準フレーム数を決定し、符号化が現在のマクロブロックに対してスキップされる可能性を示すスキップ信号を提供する手段をさらに備える、請求項１９記載のモード決定ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、動画符号化に関し、特に、動画フレームの複数のマクロブロックに対する符号化方法を選択するシステムおよび方法に関する。
【背景技術】
【０００２】
高度動画符号化（ＡＶＣ）標準のＭＰＥＧ４（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）のＰａｒｔ１０（またはＨ．２６４として知られている）は、より低いビット・レートでの動画信号の送信、または、より少ない記憶装置空間を使用して動画信号の記憶を可能にするために開発された高度な圧縮技術を含んでいる。その新しい標準は、より低いビット・レートで、より高品質のストリーミング動画をサポートし、インターネットに基づいた動画および無線用途などを可能にするために、先の標準の画像圧縮技術よりも性能が優れている。その標準は、ＣＯＤＥＣ（符号化器／復号化器対）を定義してはいないが、代りに、ビットストリームを復号化する方法と共に、符号化した動画ビットストリームの構文を定義している。各動画フレームは、マクロブロック（ＭＢ）レベルに細分化および符号化され、各ＭＢは、１６ｘ１６ブロックのピクセルである。各ＭＢは、予測ＭＢが現在のフレームにおける再構築ＭＢに基づいて形成される「フレーム内」モード、または、予測ＭＢが基準フレームのＭＢに基づいて形成される「フレーム間」モードで符号化される。フレーム内符号化モードは、現在のフレーム内の空間情報を適用し、ここでは、予測ＭＢは、先に符号化、復号化、および再構築された現在のフレームにおけるサンプルから形成される。フレーム間符号化モードは、前のおよび／または未来の基準フレームからの時間情報を利用して動作を推定し、予測ＭＢを形成する。
【０００３】
ＩＳＯ／ＩＴＵのＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）のＪＭ８５に従う、所謂「基準ＣＯＤＥＣ」は、符号化器に対して符号化モードを決定する方法を組み込んでいる。基準ＣＯＤＥＣは、演算上集約的である。なぜならば、基準ＣＯＤＥＣが、フレーム間およびフレーム内符号化の両方を行ない、各符号化結果のビット・レートおよび歪みを算出し、ビット・レートおよび歪みが優位な符号化方法を選択するからである。基準ＣＯＤＥＣ符号化処理は、演算上集約的な、各フレーム間およびフレーム内符号化方法に対するブロック変換と残余または差のブロックの量子化とを含んでいる。基準ＣＯＤＥＣ符号化処理は、歪みが再構築ＭＢから決定され、レートがＭＢを符号化するのに必要なビット・レートであるような各方法に対する実際のレートおよび歪み演算をさらに必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
実際のレートおよび歪み演算は、潜在的に最適な結果を達成するが、基準ＣＯＤＥＣ符号化処理は、価値のあるリソースを消耗し、多くの用途に対して実行可能な解決策とは考えられない。たとえば、演算上高価なフレーム内予測処理は、フレーム内符号化方法が拒絶されたとしても各ＭＢに対して行なわれる。
【０００５】
符号化器の複雑さは、特に、演算リソースおよび電源容量が制限されている無線およびモバイル装置における動画を使用したマルチメディア用途に対してのボトルネックである。それは、モード決定を単純化し、リソースを節約するためにフレーム間およびフレーム内符号化決定のバランスを取る一方で、容認可能な符号化効率および視覚的品質を提供することが望まれる。それは、符号化効率、動画品質、および演算性能のバランスを取る適切なモード決定処理を提供することが望まれる。さらに、それは、ＭＢが大きい移動対象物の一部であるときのような或る条件下でＭＢの符号化処理を回避するスキップ・モードを利用することが望まれる。
【発明を実施するための最良の形態】
【０００６】
本発明の利益、特徴、および利点は、以下の記載および添付の図面に関して一層良く理解されるであろう。
以下の記載は、当業者が、特定の用途およびその必要条件の状況において提供されるように本発明をなし、本発明を使用することを可能にするように提示される。好ましい実施形態への様々な修正が当業者には明白となるであろうが、ここで定義された一般的な原理は、代替の実施形態に適用されることも可能である。したがって、本発明は、ここで示され記載された特定の実施形態に限定されることを意図してはいないが、ここで開示された原理および新規な特徴と一致した最も広い範囲を与えられるものである。
【０００７】
図１は、先行技術にかかる基準ＣＯＤＥＣによって行なわれる典型的な符号化処理を示す概略的なフローチャートである。第１ブロック１０１では、動作予測処理は、符号化対象の現在のフレームの現在のマクロブロック（ＭＢ）に対して行なわれる。動作予測処理は、当業者には公知であり、顕著に詳細には記載されない。基準ＭＢは、最後および前の符号化フレームから識別され、従来の動作予測処理は、基準ＭＢと現在のＭＢとの間で少なくとも１つの動作ベクトル（ＭＶ）を決定する。さらに、動作予測処理の副産物は、ＭＶ中央値であり、それは、既に符号化した現在のフレームの近傍のまたは隣接したＭＢの動作ベクトルの中央値である。隣接したマクロブロックは、典型的には、当業者に知られているような現在のＭＢに対して、右上ＭＢ、中央上方ＭＢ、左上ＭＢ、および左ＭＢを含んでいる。示された実施形態における動作予測のために、単に「ルマ（ｌｕｍａ）」または明るさ情報が使用される。基準ＭＢは、整数レベル（たとえば、ピクセル・レベルまで落として）、または、随意に、より高い精度に対する１／２または１／４ピクセル解像度のようなサブ・ピクセル・レベルで識別可能である。サブ・ピクセル解像度については、ＭＢのピクセルは、周囲のピクセル情報から補間される。次のブロック１０３では、動作補償処理は、基準ＭＢに対して行なわれ、動作補償予測ＭＢが決定される。現在のＭＢの色度情報は、示された実施形態における動作補償のために含まれている。補間（必要な場合）は、動作予測処理中に既に行なわれているので、補間は、動作補償中に色度情報に適用されて、動作補償予測ＭＢが提供される。
【０００８】
次のブロック１０５では、動作補償ＭＢは、現在のＭＢから除算され、結果として生じる残余ＭＢが提供される。その残余ＭＢは、別のフレームからの情報を使用して決定されるので、フレーム間の残余ＭＢと呼ばれる。次のブロック１０７で、ブロック変換が、個別のコサイン変換（ＤＣＴ）または任意の他の適切な変換関数を使用して、フレーム間の残余ＭＢに対して行なわれる。次のブロック１０９では、量子化処理が変換結果に対して行なわれ、量子化変換係数が提供される。量子化処理は、精度の或る程度の損失をもたらすデジタル丸め処理である。その後、量子化変換係数は、エントロピ符号化され、記憶または送信用の圧縮したビットストリームが形成される。
【０００９】
次のブロック１１１では、逆量子化および逆変換関数が、歪んだまたは「推定した」フレーム間残余ＭＢを達成するために、量子化変換係数に対して適用され、その後、歪んだまたは「推定した」フレーム間残余ＭＢは、次のブロック１１３で動作補償予測ＭＢに加算され、フレーム間再構築ＭＢが提供される。フレーム間再構築ＭＢは、現在のＭＢと比較されて、次のブロック１１５のフレーム間符号化処理用に、レート（Ｒ）および歪み（Ｄ）値ＲＩＮＴＥＲおよびＤＩＮＴＥＲがそれぞれ算出される。ＲＩＮＴＥＲおよびＤＩＮＴＥＲの値は、変換処理の相対的成功を効果的に決定する。
【００１０】
フレーム内予測処理が次のブロック１１７で行なわれ、フレーム内予測ＭＢが提供される。フレーム内予測ＭＢは、現在のフレームにおける再構築ＭＢに基づいている以外は、フレーム間符号化処理に対する動作補償予測ＭＢと同様である。次のブロック１１９では、フレーム内予測ＭＢが現在のＭＢから除算されて、フレーム内の残余ＭＢが提供され、その後、ブロック変換および量子化処理は、ブロック１２１および１２３でそれぞれ行なわれる。その後、量子化変換係数は、エントロピ符号化されて、送信または記憶用の圧縮したビットストリームが形成される。次のブロック１２５では、逆量子化および逆変換関数が量子化変換係数に対して適用されて、推定したフレーム内残余ＭＢが達成され、その後、次のブロック１２７で推定したフレーム内残余ＭＢがフレーム内予測ＭＢに加算されて、フレーム内再構築ＭＢが提供される。フレーム内再構築ＭＢは、現在のＭＢと比較されて、次のブロック１２９でフレーム内符号化処理用にレートおよび歪み値ＲＩＮＴＲＡおよびＤＩＮＴＲＡがそれぞれ算出される。次のブロック１３１では、フレーム間符号化用のＲＩＮＴＥＲおよびＤＩＮＴＥＲの値と、フレーム内符号化用のＲＩＮＴＲＡおよびＤＩＮＴＲＡとが比較され、符号化方法のうちの１つのみが、現在のＭＢを符号化するために選択される。次のブロック１３３では、より多くのマクロブロックを符号化すべきか否かの問い合わせが行われる。より多くのＭＢが符号化される場合には、処理はブロック１０１に戻り、次のＭＢが現在のＭＢとなり、本処理が繰り返される。現在のフレームが完了した場合には、現在のフレームは、前のフレームになり、次のフレーム（もしあれば）は、符号化対象の現在のフレームになる。その後、再構築フレームは、フィルタリングされ（たとえば、非ブロック化フィルタ）、次に、フレーム間符号化のために基準フレーム・データベースに記憶される。
【００１１】
先に説明したように、基準ＣＯＤＥＣの符号化処理は、演算上集約的である。なぜならば、基準ＣＯＤＥＣの符号化処理は、フレーム間およびフレーム内符号化の両方を行ない、各々のビット・レートおよび歪みを算出し、ビット・レートおよび歪み結果が優れた符号化方法の結果を選択するからである。参照符号化処理は、実際のレートおよび歪み演算を必要とし、ここで、歪みは、再構築ＭＢから決定され、レートは、ＭＢを符号化するのに必要なビット・レートである。これは、最適な結果を全体として達成し得るが、基準ＣＯＤＥＣによる実施は、価値のあるリソースを消耗し、多くの用途に対して実行可能な解決策とは考えられない。たとえば、演算上高価なフレーム内予測処理は、選択されなかったとしても各ＭＢに対して行なわれ、その場合、結果は廃棄される。基準ＣＯＤＥＣのソフトウェアまたはコードの実施は、ループなどを含むことによって最適化されることが可能であり、ここで、様々な機能は、それぞれの符号化方法（たとえば、フレーム間の残余ＭＢ対フレーム内の残余ＭＢ）とは異なるデータと同一の機能ブロックによって行なわれる。
【００１２】
図２は、本発明の実施形態に従って行なわれる典型的な符号化処理を示す概略的なフローチャートである。動作予測処理は、まず、ブロック２０１で行なわれ、ここでは、基準ＭＢ（少なくとも１つの動作ベクトルおよびＭＶ中央値）が決定される。上記したように、基準ＭＢは、サブ・ピクセルの精度を所望する場合に、補間情報から得ることができる。さらに、絶対差（「ＩＮＴＥＲＳＡＤ」）値のフレーム間合計は、現在のＭＢおよび基準ＭＢに基づいて算出される。ＩＮＴＥＲＳＡＤ値を決定するために、基準ＭＢの各ピクセル値が現在のＭＢの対応するピクセルから除算されて、差値が決定され、差値から絶対値が決定され、差値のすべての合計は、共に加算される。このように、ＩＮＴＥＲＳＡＤ値は、基準ＭＢと現在のＭＢとの間の差を表すものとなる。
【００１３】
処理は、次のブロック２０３に移行し、ここで、現在のＭＢが大きい移動対象物の一部を形成する場合のように、現在のＭＢが符号化されずにスキップされる可能性あるか否かの問い合わせが行われる。Ｈ．２６４は、符号化効率のためにそのようなスキップ・モードを提供して全体的な動作に対処する。現在のＭＢが１６Ｘ１６動作モードであると判断され、ＩＮＴＥＲＳＡＤが量子化値と比較して比較的小さく、ＭＶがＭＶ中央値と等しく、かつ１つの基準フレームのみがフレーム間符号化に使用される場合、（かつ基準フレームがスキップのための前のフレームである場合）には、現在のＭＢの符号化は、後の符号化処理でスキップ可能である。最後のフレームのみが符号化のための基準フレームである場合には、フラグ１ＲＦは、真である。Ｈ．２６４標準は、１６Ｘ１６（単一のＭＶが全ＭＢに提供される）から４Ｘ４輝度サンプルまでの範囲で、それらの間に多くのオプションを備えて、様々な動作補償ブロック・サイズ（１６Ｘ８、８Ｘ１６、および８Ｘ４、４Ｘ８、および４Ｘ４を含む各種８Ｘ８を含んでいる）をサポートする。ＩＮＴＥＲＳＡＤ値は、値Ｆ３＊ＱＰと比較され、ここでは、ＱＰは、ＭＢまたはフレームを符号化した後でビットストリーム中に要求されるビット数を推定するレート・コントローラによって提供される量子化パラメータである。Ｆ３は、比較のためにＩＮＴＥＲＳＡＤ値およびＱＰを効果的に標準化する所定の定数または変数であり、アスタリスク「＊」は、乗算を表わしている。１つの実施形態において、Ｆ３は、３２に等しい定数である。レート・コントローラからのＱＰの上昇は、制限された帯域幅で複雑なシーンと「対処」するときのような符号化器のストレスを示している。
【００１４】
ブロック２０３に列挙した条件のうちのいずれかの１つが真ではない場合には、本処理は、ブロック２０５に進み、ここで、ＭＥＡＮＳＡＤ値およびＳＡＤＭ値を含む、絶対差（ＳＡＤ）値の２つの異なる合計が算出されるか、決定される。ＭＥＡＮＳＡＤ値は、様々な異なる手段のうちのいずれか１つを使用して決定される。１つの実施形態において、ＭＥＡＮＳＡＤは、前のフレーム全体のＩＮＴＥＲＳＡＤ値の平均である。ＩＮＴＥＲＳＡＤ値が各ＭＢに対して動作予測中に決定されるので、すべてのＭＢのＩＮＴＥＲＳＡＤ値は、フレームの符号化が完了した後に平均化され、その結果は、そのフレームに対するＭＥＡＮＳＡＤ値である。これに代えて、移動平均が符号化中に維持され（たとえば、各々の新しいＭＢで調整される）、最終の平均ＩＮＴＥＲＳＡＤ値が、フレームに対するＭＥＡＮＳＡＤである。１つの代替の実施形態において、ＭＥＡＮＳＡＤは、先の符号化フレームの複数の隣接したＭＢのみの平均ＩＮＴＥＲＳＡＤである。このように、先のフレーム全体のＩＮＴＥＲＳＡＤの平均を取るのではなく、先のフレームの複数の隣接したＭＢの平均ＩＮＴＥＲＳＡＤのみが使用される。先のフレームが完全に符号化されているので、複数の隣接したブロックは、すべての８つの隣接したＭＢ（つまり、左上、中央上方、右上、左、右、左下、中央下方、右下）、または、いずれかの選択されたブロックの一部を含んでもよい。別の代替の実施形態において、ＭＥＡＮＳＡＤは、現在のフレームのＩＮＴＥＲＳＡＤの移動平均である。上記したように、ＩＮＴＥＲＳＡＤの移動平均は、各々の新しいＩＮＴＥＲＳＡＤで維持および更新され、ここで、現在のフレームの移動平均は、ＭＥＡＮＳＡＤとして使用される。さらに別の代替の実施形態において、ＭＥＡＮＳＡＤは、現在のフレームの複数の隣接したＭＢのＩＮＴＥＲＳＡＤの平均である。
【００１５】
ＳＡＤＭ値は、現在のＭＢの平均または平均ピクセル値に対する現在のＭＢのすべての１６Ｘ１６ピクセルのＳＡＤ値である。ＳＡＤＭ値は、ＭＢの分散の近似であり、現在のＭＢの相対的な均一性を表わしている。大きいＳＡＤＭ値は、非均一なＭＢを示しており、それは、領域の境界に配置される可能性が高い。ＳＡＤＭが比較的大きい場合には、より小さい空間的相関性がフレーム内モードにおいて存在するので、フレーム間符号化は、より良い視覚的品質をもたらす可能性がより高い。
【００１６】
その後、処理は、ブロック２０７に進み、ここでは、値Ｔが、第１関数Ｆ１×ＭＥＡＮＳＡＤ、第２関数Ｆ２×ＳＡＤＭ、および第３関数Ｆ３×ＱＰの最小値と等しくなるように設定される。関数Ｆ１〜Ｆ３は、ＩＮＴＥＲＳＡＤ値との比較のために、ＭＥＡＮＳＡＤ、ＳＡＤＭ、およびＱＰ値を効果的に標準化および変換する所定の定数または変数である。１つの実施形態において、Ｆ１は、１．５に等しい定数であり、Ｆ２は、１．０に等しい定数であり、Ｆ３は、上記したように３２に等しい定数である。時間的、空間的、およびビット・レートをそれぞれ表わすＭＥＡＮＳＡＤ、ＳＡＤＭ、およびＱＰ値は、相対的なＩＮＴＥＲＳＡＤ値を決定するために概して動画特徴として選択される。さらに以下に記載するように、動画特徴のうちのいずれか１つまたは複数は、比較のために選択される。動画特徴のいずれか１つに基づく符号化モード決定は、非モード決定判断と比較して改善に結びつく。動画特徴の３つすべての比較は、動画特徴のうちのいずれかの省略と比較して、全体的に最良の符号化モード決定を提供する。
【００１７】
次のブロック２０９では、上記したように、ＩＮＴＥＲＳＡＤが、ブロック２０７で列挙した３つの異なる動画特徴の最小値であるＴ以下であるか否かの問い合わせが行われる。関数Ｆ１、Ｆ２、およびＦ３は、それぞれの動画特徴に対する閾値または「範囲」を確立する。ＩＮＴＥＲＳＡＤ値の分散がガウス・モデルにマッピングされる場合には、閾値は、フレームにおいてより大きいＩＮＴＥＲＳＡＤ値の判断および抽出が可能となるように設定される。一般に、動作予測処理からのＩＮＴＥＲＳＡＤの比較的大きい値は、連続するフレームにおいてシーンの変化または非移行動作のために、ＭＥ処理が失敗する可能性があることを示している。ＩＮＴＥＲＳＡＤは、統計的判断における動作「外れ値」として効果的に定義される。現在のＭＢのＩＮＴＥＲＳＡＤ値は、滑らかまたは比較的均一な動作パターンを示すように、マクロブロックＩＮＴＥＲＳＡＤ値の平均値の所定の偏差内にあるべきである（たとえば、現在のＩＮＴＥＲＳＡＤ値が、前のフレームの平均値、または、前のフレームの隣接したＭＢの平均値、または、現在のフレームのＭＢの移動平均に対してチェックされる。）。フレームからフレームへの（またはフレーム内の）ＩＮＴＥＲＳＡＤ値の平均は、シーンの顕著な変化のない、滑らかで比較的均一な動作パターンを表わしている。ＳＡＤＭとＩＮＴＥＲＳＡＤとの間の大きい差は、非均一なＭＢを示しており、それは、フレーム内の領域の境界上に配置される可能性があり、したがって、より小さい空間的相関性が、ＭＢおよびその隣接したＭＢの内部に存在する。その場合、空間的相関性を利用するフレーム間符号化モードは、現在のＭＢに対する優れた視覚的品質を達成する可能性が高いとみなされると判断される。レート・コントローラからのＱＰの上昇は、制限された帯域幅で複雑なシーンと「対処する」ときのような符号化器のストレスを示している。その場合、フレーム内符号化モードは、より高いビット・レートをもたらすと考えられ、したがって、状況をより悪くする。
【００１８】
ブロック２０９で判断されるようにＩＮＴＥＲＳＡＤがＴよりも大きい場合には、処理は、ブロック２１１に進み、ここでは、フレーム内予測処理が行なわれ、先に符号化した現在のフレームにおける隣接したＭＢに基づいてフレーム内予測ＭＢが決定される。さらに、現在のＭＢと予測したＭＢとの間のＳＡＤであるＩＮＴＲＡＳＡＤ値が決定される。その後、処理は、ブロック２１３に進み、ここでは、ＩＮＴＥＲＳＡＤがＩＮＴＲＡＳＡＤと比較される。ブロック２１３で行なわれる比較は、フレーム間符号化とフレーム内符号化との間の符号化の相対「コスト」を示す。ＩＮＴＥＲＳＡＤがＩＮＴＲＡＳＡＤよりも大きい場合には、フレーム内予測ＭＢが予測ＭＢとして選択されるように、フレーム内予測モードが選択される。ブロック２１５から、処理は、以下に記載するブロック２１９に進む。ブロック２０３における条件がすべて真の場合、または、ＩＮＴＥＲＳＡＤがブロック２０９で判断されるようにＴ以下である場合、または、ＩＮＴＥＲＳＡＤがブロック２１３で判断されるようにＩＮＴＲＡＳＡＤ以下である場合には、処理は、これに代えて、２１７ブロックに進み、ここで、動作補償が基準ＭＢに対して行われ、動作補償（ＭＣ）予測ＭＢが提供される。
【００１９】
フレーム内予測ＭＢがブロック２１５において予測ＭＢとして選択された後、または、ＭＣ予測ＭＢがブロック２１７において予測ＭＢとして選択された後で、処理は、ブロック２１９に進み、ここで、残余ＭＢは、選択された予測ＭＢに基づいて算出される。残余ＭＢに対してはフレーム間およびフレーム内を識別する必要性はないことを注記しておく。なぜならば、１つの残余ＭＢのみが予測ＭＢとして選択され、選択された予測ＭＢが現在のＭＢから除算されて残余ＭＢが決定されるからである。その後、処理は、ブロック２２１に進み、ここで、上記したように、ブロック変換は、残余ＭＢに対して行われる。その後、処理は、ブロック２２３に進み、ここで、ブロック２２１に起因する変換の量子化が行われて、量子化変換係数が提供される。その後、処理は、ブロック２２５に進み、逆量子化および逆変換が行なわれて、推定残余ＭＢが提供される。その後、処理は、ブロック２２７に進み、ここで、推定残余ＭＢが選択された予測ＭＢに加算されて、再構築ＭＢが提供される。上記したように、その後、再構築フレームは、非ブロック化フィルタを通じてフィルタリングされ、次に、基準フレーム・データベースに記憶される。さらに、以下に記載するように、フィルタリングされていない再構築ＭＢは、フレーム内予測処理に使用される再構築フレームの一部を形成する。
【００２０】
図３は、破線を使用して示されるブロック２０３、２１１、および２１７間における、図２のブロック２０５、２０７、および２０９を置換する代替の実施形態を示すフローチャートである。当然のことながら、図２に示したブロックは、一般的な機能的な態様について記載し、また、その機能を行なう実際の具体例は、多くの代替方法で達成することが可能である。図３のフローチャートは、同一の機能を行なうが、ソフトウェアによる符号化および／または回路実装の両方に対する演算性能の改善を可能にする。図３に示すように、たとえば、ブロック２０３の後で、処理は、ブロック３０１に進み、ここで、ＩＮＴＥＲＳＡＤ値が、Ｆ３＊ＱＰよりも大きいか否かの問い合わせが行われる。そうである場合には、ＳＡＤＭまたはＭＥＡＮＳＡＤをさらに決定する必要はなく、処理は、ブロック２１１に直接進む。この場合、ＱＰ値は、レート・コントローラから容易に利用可能であり、したがって、チェックには最も簡単な状態である。ＩＮＴＥＲＳＡＤ値がＦ３＊ＱＰよりも大きくない場合には、処理は、ブロック３０３に進み、ここでは、ＭＥＡＮＳＡＤ値が決定され、次に、ブロック３０５に進み、ここでは、ＩＮＴＥＲＳＡＤ値が、Ｆ１＊ＭＥＡＮＳＡＤよりも大きいか否かの問い合わせが行われる。この場合、ＭＥＡＮＳＡＤがＳＡＤＭよりも容易に算出されると判断され、その結果、ＳＡＤＭは、必要な場合にのみ決定される。ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤよりも大きい場合には、先のように、処理は、ブロック２１１に直接進み、ＳＡＤＭに対する演算がスキップされる。ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤよりも大きくない場合には、処理は、これに代えて、ブロック３０７に進み、ここでは、ＳＡＤＭ値が決定され、次に、ブロック３０９に進み、ここでは、ＩＮＴＥＲＳＡＤ値がＦ２＊ＳＡＤＭよりも大きいか否かの問い合わせが行われる。ＩＮＴＥＲＳＡＤ値がＦ２＊ＳＡＤＭよりも大きい場合には、処理は、ブロック２１１に直接進み、そうでなければ、処理は、ブロック２１７に進む。図３に示した動画特徴比較の特定の順序付けは、単に典型的であり、より良い結果を達成すると判断される場合には、変更可能である。たとえば、ＳＡＤＭがＭＥＡＮＳＡＤよりも容易に算出されると判断した場合には、ＳＡＤＭ値および比較を、ＭＥＡＮＳＡＤ比較に先立って行うことが可能である。
【００２１】
図４は、再び破線を使用して示されるブロック２０３、２１１、および２１７間における、図２のブロック２０５、２０７、および２０９を置換する別の代替の実施形態を示すフローチャートであり、動画特徴および優先順位の選択を示している。この場合、処理は、ブロック２０３からブロック４０１に進み、ここで、ＭＥＡＮＳＡＤ値がまず決定され、次に、ブロック４０３に進み、ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤ以下であるか否かを判断する。この場合、ＭＥＡＮＳＡＤ決定およびＩＮＴＥＲＳＡＤ値との比較は、ＱＰおよびＳＡＤＭの比較よりも優先すると判断され、その結果、その判断が最初に行われる。ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤ以下である場合には、処理は、ブロック２１７に直接進み、フレーム間符号化が選択され、さらに、ＱＰ、ＳＡＤＭ、およびＩＮＴＲＡＳＡＤのための比較がパイバスされる。ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤよりも大きい場合には、処理は、ブロック４０５に進み、ここでは、ＩＮＴＥＲＳＡＤ値がＦ３＊ＱＰ以下であるか否かの問い合わせが行われ、それは、この例においては、次に高い優先度の決定であると判断される。ＩＮＴＥＲＳＡＤ値がＦ３＊ＱＰ以下である場合には、処理は、ブロック２１７に直接進み、フレーム間符号化が選択され、さらに、ＳＡＤＭおよびＩＮＴＲＡＳＡＤのための比較がパイバスされる。ＩＮＴＥＲＳＡＤ値がＦ３＊ＱＰよりも大きい場合には、処理は、ブロック４０７に進み、ここでは、ＳＡＤＭが算出され、次に、ブロック４０９に進み、ここでは、ＩＮＴＥＲＳＡＤ値がＦ２＊ＳＡＤＭ以下であるか否かの問い合わせが行われ、それは、この例においては、最も低い優先度の決定であると判断される。ＩＮＴＥＲＳＡＤ値がＦ２＊ＳＡＤＭ以下である場合には、処理は、ブロック２１７に進み、そうでなければ、処理は、ブロック２１１に直接進む。この例においては、ブロック２０５、２０７、および２０９の機能は、比較をより優先するように変更される。
【００２２】
多くの他のバリエーションが可能であり、意図される。たとえば、図２のブロック２０７に戻って参照して、ＭＩＮ機能は、ＭＡＸ機能と置換可能であり、その結果、ＩＮＴＥＲＳＡＤ値が、Ｆ１＊ＭＥＡＮＳＡＤ、Ｆ２＊ＳＡＤＭ、またはＦ３＊ＱＰのうちのいずれかの値以下である限り、フレーム間符号化方法が選択される。図４は、機能の幾つかのバリエーションを示すために破線を使用して示された幾つかの代替経路を含んでいる。たとえば、比較のためにＭＥＡＮＳＡＤ値のみを選択することが望まれる場合には、代替経路４１１は、ＩＮＴＥＲＳＡＤ値がＦ１＊ＭＥＡＮＳＡＤよりも大きい場合に、処理が、ブロック２１１に直接進むことを示している。または、比較のためにＱＰ値のみを選択することが望まれる場合には、代替経路４１３は、ＭＥＡＮＳＡＤ比較をパイバスし、ブロック２０３からブロック４０５に直接進む。さらに、代替経路４１５は、ＳＡＤＭの比較を回避するために提供され、その結果、処理は、ブロック２１１に直接進む。または、比較のためにＳＡＤＭ値のみを選択することが望まれる場合には、代替経路４１７は、ＭＥＡＮＳＡＤおよびＱＰの比較をパイバスし、ブロック２０３からブロック４０７に直接進む。当然のことながら、比較は、任意の適切な順序で優先され、動画特徴の任意の一または複数の比較が、特定の構成に依存して選択またはスキップ可能である。比較のためのすべての３つの動画特徴の選択は、ビット・レートおよび歪みの点で最も良い結果を提供する。
【００２３】
図５は、本発明の典型的な実施形態に従って実施される符号化器５００の単純化したブロック図である。フレーム記憶装置５０１は、動作予測（ＭＥ）回路５０３の１つの入力、フレーム内予測回路５０５の１つの入力、コンバイナ５０７（たとえば、加算器または減算器など）の正の入力、動作補償（ＭＣ）回路５１１の１つの入力、およびモード決定回路５１３の入力に、符号化用の現在のフレームＦを提供する。別のフレーム記憶装置５０９は、ＭＥ回路５０３の第２入力およびＭＣ回路５１１の第２入力に基準フレーム（ＲＥＦ  Ｆ）を提供する。基準フレームは、一または複数の先に符号化および復号化されたフレームを含んでいる。ＭＥ回路５０３は、その出力において動作予測情報を提供し、その出力は、ＭＣ回路５１１の別の入力およびモード決定回路５１３の別の入力に結合されている。モード決定回路５１３は、フレーム内予測回路５０５のイネーブル入力にフレーム内イネーブル信号ＩＮＴＲＡＥを提供する１つの出力と、ＭＣ回路５１１のイネーブル入力に動作補償イネーブル信号ＭＣＥを提供する別の出力とを有している。ＭＣ回路５１１は、セレクタ・スイッチ５１５の第１入力端子Ｓ１に動作補償予測情報（たとえば、フレーム間予測ＭＢ）ＭＣを提供し、そのセレクタ・スイッチ５１５は、入力端子Ｓ１およびＳ２、制御入力端子Ｃ、およびその出力としての選択された入力を提供する共通端子ＣＰを有する単極／双投（ＳＰＤＴ）として示される。フレーム内予測回路５０５は、モード決定回路５１３の入力およびスイッチ５１５の入力端子Ｓ２にフレーム内予測情報（たとえば、フレーム内予測ＭＢ）ＩＰを提供する。モード決定回路５１３は、ＭＣ（動作補償フレーム間ＭＢ）またはＩＰ（フレーム内予測ＭＢ）を選択するために、スイッチ５１５の制御端子Ｃにモード決定セレクト信号ＭＳＥＬを提供する。
【００２４】
スイッチ５１５のＣＰ端子は、コンバイナ５０７の負の入力、および、図示の実施形態においては加算器である別のコンバイナ５１７の正の入力に符号Ｐとして示される選択された予測ＭＢを提供する。コンバイナ５０７は、現在のフレームＦの現在のＭＢから、選択された予測ＭＢ  Ｐを除算して、変換回路５１９の入力に符号Ｒとして示される残余ＭＢを提供する。変換回路５１９は、上記したようにＤＣＴのようなブロック変換を行ない、符号Ｂとして示される変換結果を出力する。変換結果Ｂは、符号Ｘとして示される量子化された変換係数を出力する量子化回路５２１に提供される。係数Ｘは、エントロピ符号化回路５２５の入力に提供され、エントロピ符号化回路５２５は、送信または記憶のための圧縮されたビットストリームを提供する。エントロピ符号化の特定の詳細は、現在の開示の範囲外であり、これ以上は説明しない。
【００２５】
係数Ｘは、逆量子化回路５２７の入力に提供され、逆量子化回路５２７は、符号Ｂ’として示される推定された変換情報を出力し、その変換情報は変換結果Ｂの推定または再構築されたバージョンを表わしている。推定された変換情報Ｂ’は、逆変換回路５２９の入力に提供され、逆変換回路５２９は、符号Ｒ’として示される推定された残余情報を出力し、その推定された残余情報は、残余ＭＢ  Ｒの再構築されたバージョンを表わしている。再構築された残余ＭＢ  Ｒ’は、コンバイナ５１７の別の正の入力に提供される。例示された実施形態においては、コンバイナ５１７は、Ｒ’にＰを加算して、再構築フレーム情報ＲＦの一部となるフィルタリングされていない再構築ＭＢを生成する。再構築フレーム情報ＲＦは、フレーム内予測回路５０５の別の入力およびフィルタ回路５３１に提供される。フィルタ回路５３１は、非ブロック化フィルタ（たとえば、Ｈ．２６４仕様書による）であり、その非ブロック化フィルタは、再構築フレームＲＦ情報をフィルタリングし、ＲＦ記憶装置５３３にフィルタリングされた再構築フレームを提供する。ＲＦ記憶装置５３３からの先に符号化および復号化された１つまたは２つのフレームは、フレーム記憶装置５０９に提供され、当業者に公知の符号化のための基準フレームとして用いられる。
【００２６】
符号化器５００の処理は、図２（必要に応じて、図３または図４のフローチャートによって改良されるように）のフローチャートによって記載されている。まず、ＭＣＥおよびＩＮＴＲＡＥイネーブル信号は、モード決定が行われるまで、偽またはネゲートでローである。ＭＳＥＬ信号は、モード決定が行われるまで、（端子Ｓ１またはＳ２を選択する）いずれかの位置または可能性のある中間位置（図示せず）にデフォルトにすることが可能である。動作予測回路５０３は、上記したようにブロック２０１に対応する動作予測を行ない、モード決定回路５１３およびＭＣ回路５１１に結果を提供する。モード決定回路５１３は、ブロック２０３に記載されたような、ブロックのスキップまたは早期終了のための条件が当てはまるか否かを判断する。当てはまる場合には、モード決定回路５１３は、ＭＣＥ信号をアサートし、ＭＣ回路５１１は、ブロック２１７に対応する上記した動作補償機能を行うことが可能となる。さらに、ＭＳＥＬ信号は、ＭＣ回路５１１のＭＣ出力を選択するためにアサートされる。その場合、フレーム間符号化モードが選択され、フレーム内符号化処理は、全体的にスキップされる。ブロック２０３の条件のうちのいずれも真ではない場合には、モード決定回路５１３は、ブロック２０５、２０７、および２０９（または３０１、３０３、３０５、３０７、および３０９、または、４０１、４０３、４０５、４０７、および４０９）の機能を行って、上記したように選択された動画特徴（たとえば、ＭＥＡＮＳＡＤ、ＳＡＤＭ、ＱＰ）を選択、決定、および比較する。フレーム間符号化が選択されている場合には、モード決定回路５１３は、ＭＣＥ信号をアサートしてＭＣ回路５１１を有効にしてブロック２１７に対応する上記した動作補償機能を行ない、ＭＳＥＬ信号がアサートされてＭＣ回路５１１のＭＣ出力が選択される。その場合、フレーム内符号化処理は、全体的にスキップされる。
【００２７】
ＩＮＴＥＲＳＡＤが、選択された動画特徴の外れ値内にない場合に、モード決定回路５１３は、ＩＮＴＲＡＥ信号をアサートし、フレーム内予測回路５０５が有効化されてフレーム内予測を行ない、上記したようなＩＮＴＲＡＳＡＤ値を決定する。ＩＮＴＲＡＳＡＤ値は、モード決定回路５１３に提供され、モード決定回路５１３は、ブロック２１３に対して記載されたように（動作予測回路５０３からの）ＩＮＴＥＲＳＡＤをフレーム内予測回路５０５からのＩＮＴＲＡＳＡＤと比較する。ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ以下である場合には、モード決定回路５１３は、ＭＣＥ信号をアサートしてＭＣ回路５１１を有効にし、ＭＳＥＬ信号をアサートしてＭＣ回路５１１のＭＣ出力を選択する。たとえフレーム内予測処理の最初の部分がこの後者の場合に開始されたとしても、その結果は、符号化されず、残りのフレーム内符号化モード処理は、スキップされる。しかしながら、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤよりも大きい場合には、モード決定回路５１３は、ＭＳＥＬ信号をアサートしてフレーム内予測回路５０５のＩＰ出力を選択する。フレーム内符号化方法が選択されている場合には、動作補償回路５１１は有効にはならず（またはその出力が拒絶される）、さらなる動作補償処理は、パイバスまたは無視される。選択された予測ＭＢ  Ｐは、現在のフレームＦの現在のＭＢから除算され、ブロック２１９に対して記載されたような残余ＭＢ  Ｒが結果的に得られる。回路５１９、５２１、５２７、および５２９は、ブロック２２１、２２３および２２５の機能を行ない、推定残余ＭＢ  Ｒ’は、コンバイナ５１７によって予測ブロックＰに加算され、結果として生じる再構築され、かつフィルタリングされていないフレーム情報ＲＦは、上記したようにフレーム内予測回路５０５およびフィルタ５３１に提供される。当然のことながら、符号化器５００のモード決定回路５１３は、実際の符号化処理に先立って、フレーム内符号化とフレーム間符号化との間で予備モード決定をなし、その結果、１つの予測ＭＢのみが、個々の現在のＭＢに対して符号化される。
【００２８】
図６は、本発明の実施形態にかかるモード決定回路５１３の典型的な実施形態の概略的なブロック図である。各ＭＢに対する各ＩＮＴＥＲＳＡＤ値は、平均化回路６０１の入力に提供され、平均化回路６０１は、選択されたＩＮＴＥＲＳＡＤ値の平均を取り、ＭＥＡＮＳＡＤ値を提供する。ＭＥＡＮＳＡＤ値は、上記したように、先のフレームまたは現在のフレームから選択されたＩＮＴＥＲＳＡＤ値の平均から決定し得る。現在のフレームＦからの現在のＭＢは、演算回路６０３に提供され、演算回路６０３は、上記したように、その平均値を用いて現在のＭＢの各ピクセル値の絶対差の合計を算出してＳＡＤＭ値を決定する。ＭＥＡＮＳＡＤ、ＳＡＤＭおよびＱＰ値は、範囲回路６０５に提供され、範囲回路６０５は、ＭＥＡＮＳＡＤにＦ１を乗じ、ＳＡＤＭにＦ２を乗じ、ＱＰにＦ３を乗じる。Ｆ１＊ＭＥＡＮＳＡＤ、Ｆ２＊ＳＡＤＭ、およびＦ３＊ＱＰ値は、モード選択回路６０７のそれぞれの入力に提供され、モード選択回路６０７は、さらに、ＩＮＴＥＲＳＡＤ値およびセレクト信号ＶＩＤＥＯ  ＣＨＡＲ  ＳＥＬを受信する。ＶＩＤＥＯ  ＣＨＡＲ  ＳＥＬ信号は、任意的に優先順位を示しつつ、上記したような一つまたは複数の動画特徴比較を有効にする。モード選択回路６０７は、ＭＳＥＬ、ＭＣＥ、およびＩＮＴＲＡＥ信号を提供する。
【００２９】
スキップ回路６０９は、ＭＯＴＩＯＮ  ＭＯＤＥ信号、動作ベクトルＭＶ、ＭＶ中央値、１ＲＦフラグ、Ｆ３＊ＱＰ値、および現在のＩＮＴＥＲＳＡＤ値を受信し、上記したようなブロック２０３の機能を行なう。スキップ回路６０９は、モード選択回路６０７に信号ＳＫＩＰを提供する。ＳＫＩＰ信号がアサートされた場合、モード選択信号は、ＭＣＥ信号をアサートして動作補償を有効にし、かつＭＳＥＬ信号をアサートしてフレーム間符号化方法を選択する。そうでなければ、モード選択回路６０７は、動画特徴比較（たとえば、ブロック２０７、３０１、３０５、３０９、または４０３、４０５、４０９）を行ない、フレーム間符号化方法を選択することが可能か否かを判断する。ＩＮＴＥＲＳＡＤが、選択された動画特徴の外れ値である場合には、モード選択回路６０７は、ＩＮＴＲＡＥ信号をアサートしてフレーム内予測回路５０５を有効にしてイントラ予測処理を行なうようにする。さらに、ＩＮＴＲＡＥ信号は、比較器回路６１１を有効にするために提供され、比較器回路６１１は、ＩＮＴＥＲＳＡＤ値をフレーム内予測回路５０５からのＩＮＴＲＡＳＡＤ値と比較する。比較器回路６１１は、モード選択回路６０７に信号ＣＯＳＴを供給し、比較器回路６１１は、上記したように適切な符号化モードを選択するためにＭＳＥＬ信号をアサートする。
【００３０】
基準ＣＯＤＥＣ符号化処理と比較して、本発明の実施形態にかかるモード決定の幾つかの利益および利点は、容易に明白となる。動作予測処理は、両方の決定処理において実質的に同一である。現在のＭＢがブロック２０３で決定されたようなスキップのための候補である場合、または、ブロック２０９で決定されるようにＩＮＴＥＲＳＡＤが十分に小さい場合には、フレーム内符号化処理のためのステップは、全体的にスキップされ、かなりの量の処理が省略され、フレーム間符号化が選択され、ブロック２１７の動作補償処理に直接移行する。ブロック２０９で決定されるようにＩＮＴＥＲＳＡＤが小さくない場合には、フレーム内予測処理が行なわれてＩＮＴＲＡＳＡＤ値が決定され、次に、ＩＮＴＲＡＳＡＤ値は、ＩＮＴＥＲＳＡＤ値と比較される。このように、比較的演算上高価なフレーム内予測処理は、フレーム内符号化方法が選択される可能性が高い場合にのみ行なわれる。しかしながら、フレーム間符号化方法がこの比較に基づいて選択される場合には、処理は、動作補償に直接進む。フレーム内符号化方法が選択される場合には、動作補償処理は、すべてパイバスされ、再び処理サイクルが省略され、フレーム間予測ＭＢが符号化のために選択される。選択された予測ＭＢ  Ｐのみが、残余決定、ブロック変換、量子化、逆変換、および逆量子化処理によってさらに処理される。換言すれば、２つの個々の組のデータ上で残余および符号化処理を行ない、両方が処理された後で符号化決定を行うのではなく、符号化決定は、符号化処理に先立って予め行われる。さらに、モード決定が符号化に先立って行われるので、その結果として生じる推測残余ＭＢを、モード決定（たとえば、レートおよび歪み値がもはや必要ではないと判断すること）のためにさらに処理する必要がない。予備モード決定は、典型的なＨ．２６４符号化器において実施され、モード決定のない符号化器と比較して平均ピーク信号対雑音比（ＰＳＮＲ）の改善を達成することができた。
【００３１】
符号化処理に先立った予備モード決定を含む本発明の実施形態に従って実施される符号化器は、符号化器の複雑さを実質的に低減し、符号化処理中に消耗される符号化処理サイクルを大幅に低減する。符号化器は、演算および電力源が制限された無線およびモバイル装置における使用には特に有利であるが、その符号化器は、性能を改善するために広範囲の動画用途で利用可能である。符号化器は、モード決定を単純化し、フレーム間符号化およびフレーム内符号化のバランスを取ってリソースを節約する一方で、容認可能な符号化効率および視覚的品質を提供する。符号化器は、適切なモード決定処理を提供する一方で、符号化効率、動画品質、および演算性能のバランスを取る。符号化器は、ＭＢが大きい移動対象物の一部であるときのような或る条件下でＭＢの符号化処理のパイバスを有効にするためのスキップ・モードの利点を有する。
【００３２】
本発明の実施形態にかかる現在の動画フレームの現在のマクロブロックに対する符号化モードを決定する方法は、（現在のマクロブロックと前の動画フレームからの基準マクロブロックとの間のフレーム間差の合計である）ＩＮＴＥＲＳＡＤ値を決定すること、現在の動画フレームに関連する少なくとも１つの動画特徴を選択すること、ＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較すること、ＩＮＴＥＲＳＡＤ値が各選択された動画特徴の対応する範囲内にある場合に、フレーム間符号化を選択すること、フレーム内予測を行なってフレーム内予測マクロブロックを提供すること、ＩＮＴＥＲＳＡＤ値がいずれかの選択された動画特徴の外れ値である場合に、（現在のマクロブロックとフレーム内予測マクロブロックとの間のフレーム内差の合計である）ＩＮＴＲＡＳＡＤ値を決定すること、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値よりも大きい場合に、フレーム内符号化を選択し、大きくない場合に、フレーム間符号化を選択することを含む。
【００３３】
本方法は、現在のマクロブロックと基準マクロブロックとの対応するピクセル値間の絶対差を合計してＩＮＴＥＲＳＡＤ値を決定することを含んでもよい。本方法は、（フレーム間差の合計の平均である）ＭＥＡＮＳＡＤ値を選択および決定することを含んでもよい。ＭＥＡＮＳＡＤ値は、前の動画フレームのマクロブロックまたは現在の動画フレームのマクロブロックに基づくものであってもよい。本方法は、（現在のマクロブロックの各ピクセル値と現在のマクロブロックの平均ピクセル値との間の絶対差の合計である）ＳＡＤＭ値を選択および決定することを含んでもよい。本方法は、量子化パラメータを選択することを含んでもよい。
【００３４】
より包括的な実施形態において、本方法は、ＭＥＡＮＳＡＤ値を選択および決定すること、ＳＡＤＭ値を選択および決定すること、量子化パラメータを選択すること、ＭＥＡＮＳＡＤ値に第１範囲値を乗じて第１パラメータを提供すること、ＳＡＤＭ値に第２範囲値を乗じて第２パラメータを提供すること、量子化値に第３範囲値を乗じて第３パラメータを提供すること、第１、第２、および第３パラメータの最小値を決定すること、ＩＮＴＥＲＳＡＤ値を最小値と比較することを含む。
【００３５】
本方法は、動作予測を行なうこと、前の動画フレームおよび少なくとも１つの対応する動作ベクトルから基準マクロブロックを決定することを含んでもよい。本方法は、現在のマクロブロックが１つの動作ベクトルのみを有している場合、ＩＮＴＥＲＳＡＤ値が量子化パラメータよりも小さく、現在のマクロブロックに対する動作ベクトルが現在のフレームの隣接したマクロブロックの動作ベクトル中央値と等しく、前の動画フレームが基準フレームのみである場合に、フレーム間符号化を選択することを含んでもよい。本方法は、基準マクロブロックの動作補償を行なって動作補償マクロブロックを提供すること、フレーム間符号化が選択される場合に、動作補償マクロブロックを予測マクロブロックとして選択すること、フレーム内符号化が選択される場合に、フレーム内予測マクロブロックを予測マクロブロックとして選択すること、現在のマクロブロックから選択された予測マクロブロックを減算して変換用の残余マクロブロックを提供することを含んでもよい。
【００３６】
現在の動画フレームの現在のマクロブロックに対する符号化モードを決定する本発明の実施形態にかかる動画符号化回路は、セレクタ・スイッチと、動作予測回路と、動作補償回路と、フレーム内予測回路と、モード決定回路とを備えている。セレクタ・スイッチは、第１および第２入力と、出力と、第１および第２入力間で選択するためのモード信号を受信する制御入力とを有している。動作予測回路は、現在のマクロブロックと前の動画フレームとの間の動作予測を行なって動作予測回路の出力においてＩＮＴＥＲＳＡＤ値を提供するとともに、基準マクロブロックを提供する。動作補償回路は、第１信号に応答して、基準マクロブロックに動作補償を行なって動作補償回路の出力においてフレーム間予測マクロブロックを提供する。フレーム内予測回路は、第２信号のアサーションに応答してフレーム内予測を行なってフレーム内予測回路の出力においてフレーム内予測マクロブロックを提供するとともに、ＩＮＴＲＡＳＡＤ値を提供する。モード決定回路は、現在の動画フレームに関連する少なくとも１つの動画特徴を選択し、ＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較し、ＩＮＴＥＲＳＡＤ値が各選択された動画特徴の対応する範囲内にある場合に、フレーム間符号化を選択するように第１信号およびモード信号をアサートし、ＩＮＴＥＲＳＡＤ値がいずれかの選択された動画特徴の外れ値である場合に、第２信号をアサートし、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値よりも大きい場合にフレーム内符号化を選択し、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値以下である場合にフレーム間符号化を選択するようにモード信号をアサートする。
【００３７】
モード決定回路は、第１、第２、および第３回路と、第１および第２比較器とを備えてもよい。第１回路は、ＭＥＡＮＳＡＤ値を決定し、第２回路は、ＳＡＤＭ値を決定し、そして、第３回路は、ＭＥＡＮＳＡＤ値に第１範囲値を乗じて第１動画特徴を提供し、ＳＡＤＭ値に第２範囲値を乗じて第２動画特徴を提供し、量子化パラメータに第３範囲値を乗じて第３動画特徴を提供する。第１比較器回路は、ＩＮＴＥＲＳＡＤ値を、第１、第２、および第３動画特徴と比較し、第１、第２、およびモード信号を提供する。第２比較器回路は、ＩＮＴＥＲＳＡＤ値をＩＮＴＲＡＳＡＤ値と比較する。
【００３８】
現在の動画フレームの現在のマクロブロックに対する符号化モードを決定する動画符号化器用のモード決定ユニットは、現在の動画フレームに関連する少なくとも１つの動画特徴を選択する手段と、動作予測からのＩＮＴＥＲＳＡＤ値を各選択された動画特徴の対応する範囲と比較する手段と、ＩＮＴＥＲＳＡＤ値が少なくとも１つの動画特徴のうちのいずれか１つの外れ値である場合に、フレーム内予測を開始する手段と、ＩＮＴＥＲＳＡＤ値をＩＮＴＲＡＳＡＤ値と比較する手段と、ＩＮＴＥＲＳＡＤ値が各選択された動画特徴の対応する範囲内にある場合、または、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値以下である場合に、フレーム間符号化を選択し、ＩＮＴＥＲＳＡＤ値がＩＮＴＲＡＳＡＤ値よりも大きい場合に、フレーム内符号化を選択する手段とを含む。モード決定ユニットは、単一動作モードを判断し、動作ベクトルを動作モード・ベクトル中央値と比較し、単一基準フレーム数を判断し、符号化が現在のマクロブロックに対してスキップされる可能性を示すスキップ信号を提供する手段をさらに含む。
【００３９】
本発明の特定の実施形態が示され記載されているが、それは当業者には、ここでの教示に基づいて、さらなる変更および改良がこの発明およびそのより広い態様から逸脱すること行うことが可能であることが認識されるであろう。したがって、添付の請求の範囲は、この発明の真の技術思想および範囲内にあるようにすべてのそのような変更および改良をそれらの範囲内に包含するものである。
【図面の簡単な説明】
【００４０】
【図１】先行技術にかかる基準ＣＯＤＥＣによって行なわれる典型的な符号化処理を示す単純化したフローチャートである。
【図２】本発明の実施形態に従って行なわれる典型的な符号化処理を示す単純化したフローチャートである。
【図３】図２のフローチャートの部分の代替の実施形態を示すフローチャートである。
【図４】図２のフローチャートの部分の代替の実施形態を示すフローチャートである。
【図５】本発明の典型的な実施形態に従って実施された符号化器の単純化したブロック図である。
【図６】本発明の実施形態にかかる図５のモード決定回路の典型的な実施形態の単純化したブロック図である。
【図１】
2009513073.tif 000003
【図２】
2009513073.tif 000004
【図３】
2009513073.tif 000005
【図４】
2009513073.tif 000006
【図５】
2009513073.tif 000007
【図６】
2009513073.tif 000008
【国際調査報告】
2009513073.tif 000009