(57)【特許請求の範囲】
【請求項１】
再構築されたビデオのインループ処理のための方法であって：
再構築されたビデオデータを受け取るステップと；
前記再構築されたビデオデータに関する処理されるべきピクセルを決定するステップと；
ビデオデータ境界に関して仮想境界を定めるステップと；
前記仮想境界の一方の側上の前記処理されるべきピクセルに対してインループ処理を適用するステップと、を含み、
前記インループ処理は、前記仮想境界の他方の側からのソースピクセルを必要としないように構成されており、
前記仮想境界の一方の側上の前記処理されるべきピクセルに係る前記インループ処理が、前記仮想境界の前記他の側からの第１のソースピクセルを必要とする場合に、前記仮想境界の前記他の側からの第１のソースピクセルは、
既定値を伴なう第１の置換ピクセル、適用値を伴なう第２の置換ピクセル、前記仮想境界の一方の側上の１つ以上の第２のソースピクセルから引き出された第３の置換ピクセル、前記仮想境界の前記他方の側上の１つ以上の第３のソースピクセルから引き出された第４の置換ピクセル、または、これらの置換ピクセルの結合、によって置き換えられる、
ことを特徴とする方法。
【請求項２】
前記インループ処理は、ＳＡＯ（画素適用オフセット）処理またはＡＬＦ（適用ループフィルター）処理に対応している、
請求項１に記載の方法。
【請求項３】
前記再構築されたビデオデータは、輝度成分または彩度成分に対応している、
請求項１に記載の方法。
【請求項４】
前記第３の置換ピクセルまたは前記第４の置換ピクセルは、データパディングに基づいて引き出されたものであり、
前記データパディングは、繰り返しパディング、奇数対称のミラー基盤パディング、または、偶数対称のミラー基盤パディングに対応している、
請求項１に記載の方法。
【請求項５】
前記第４の置換ピクセルは、前記処理されるべきピクセルが前記仮想境界の下方にある場合、完全に処理された結果から、以前のインループ処理によって処理された前記再構築されたビデオデータに対応する中間の結果または処理されていない結果へと変更することにより引き出されたものである、
請求項１に記載の方法。
【請求項６】
前記インループ処理は、ＳＡＯ（画素適用オフセット）処理に対応しており、
前記以前のインループ処理は、非ブロック化フィルター（ＤＦ）に対応しており、かつ、
前記中間の結果は、水平ＤＦ処理されたピクセルに対応している、
請求項５に記載の方法。
【請求項７】
前記インループ処理は、ＡＬＦ（適用ループフィルター）処理に対応しており、
前記以前のインループ処理は、ＳＡＯ（画素適用オフセット）処理が後に続く非ブロック化フィルター（ＤＦ）に対応しており、かつ、
前記中間の結果は、水平ＤＦ処理されたピクセルまたはＤＦ出力ピクセルに対応している、
請求項５に記載の方法。
【請求項８】
前記インループ処理は、前記処理されるべきピクセルに対するインループ処理が前記仮想境界の他方の側からの１つ以上のソースピクセルを必要とする場合に、前記処理されるべきピクセルをスキップするように構成されている、
請求項１に記載の方法。
【請求項９】
前記インループ処理は、前記処理されるべきピクセルに対するインループ処理が前記仮想境界の他方の側からの１つ以上のソースピクセルを必要とする場合に、フィルター形状またはフィルターサイズを変更するように構成されており、
前記インループ処理は、ＡＬＦ（適用ループフィルター）処理に対応している、
請求項１に記載の方法。
【請求項１０】
フィルターされた出力は、最終フィルター出力を生成するために、前記処理されるべきピクセルと線型または非線型に結合され、
前記フィルターされた出力は、前記インループ処理を前記処理されるべきピクセルに対して適用することにより生成される、
請求項１に記載の方法。
【請求項１１】
前記仮想境界は、水平ＬＣＵ（最大コーディングユニット）境界の上方のＮ個のピクセルであり、
Ｎは、１から４の整数である、
請求項１に記載の方法。
【請求項１２】
前記再構築されたビデオデータは、処理され再構築されたビデオデータ、処理されておらず再構築されたビデオデータ、または、両方の結合から成る、
請求項１に記載の方法。
【請求項１３】
再構築されたビデオのインループ処理のための装置であって：
再構築されたビデオデータを受け取る手段と；
ビデオデータ境界に関して仮想境界を定める手段と；
前記仮想境界の一方の側上の処理されるべきピクセルに対してインループ処理を適用する手段と、を含み、
前記インループ処理は、前記仮想境界の他方の側からのソースピクセルを必要としないか、または、削減されたソースピクセルを必要とするように構成されており、かつ、
前記処理されるべきピクセルは、前記再構築されたビデオデータに関連しており、
前記仮想境界の一方の側上の前記処理されるべきピクセルに係る前記インループ処理が、前記仮想境界の前記他の側からの第１のソースピクセルを必要とする場合に、前記仮想境界の前記他の側からの第１のソースピクセルは、
既定値を伴なう第１の置換ピクセル、適用値を伴なう第２の置換ピクセル、前記仮想境界の一方の側上の１つ以上の第２のソースピクセルから引き出された第３の置換ピクセル、前記仮想境界の前記他方の側上の１つ以上の第３のソースピクセルから引き出された第４の置換ピクセル、または、これらの置換ピクセルの線型結合または非線型結合、によって置き換えられる、
ことを特徴とする装置。
【請求項１４】
前記インループ処理は、ＳＡＯ（画素適用オフセット）処理またはＡＬＦ（適用ループフィルター）処理に対応している、
請求項１３に記載の装置。
【請求項１５】
前記再構築されたビデオデータは、輝度成分または彩度成分に対応している、
請求項１３に記載の装置。
【請求項１６】
前記第３の置換ピクセルまたは前記第４の置換ピクセルは、データパディングに基づいて引き出されたものであり、
前記データパディングは、繰り返しパディング、奇数対称のミラー基盤パディング、または、偶数対称のミラー基盤パディングに対応している、
請求項１３に記載の装置。
【請求項１７】
前記第４の置換ピクセルは、前記処理されるべきピクセルが前記仮想境界の下方にある場合、完全に処理された結果から、以前のインループ処理によって処理された前記再構築されたビデオデータに対応する中間の結果または処理されていない結果へと変更することにより引き出されたものである、
請求項１３に記載の装置。
【請求項１８】
前記インループ処理は、ＳＡＯ（画素適用オフセット）処理に対応しており、
前記以前のインループ処理は、非ブロック化フィルター（ＤＦ）に対応しており、かつ、
前記中間の結果は、水平ＤＦ処理されたピクセルに対応している、
請求項１７に記載の装置。
【請求項１９】
前記インループ処理は、ＡＬＦ（適用ループフィルター）処理に対応しており、
前記以前のインループ処理は、ＳＡＯ（画素適用オフセット）処理が後に続く非ブロック化フィルター（ＤＦ）に対応しており、かつ、
前記中間の結果は、水平ＤＦ処理されたピクセルまたはＤＦ出力ピクセルに対応している、
請求項１７に記載の装置。
【請求項２０】
前記インループ処理は、前記処理されるべきピクセルに対するインループ処理が前記仮想境界の他方の側からの１つ以上のソースピクセルを必要とする場合に、前記処理されるべきピクセルをスキップするように構成されている、
請求項１３に記載の装置。
【請求項２１】
前記インループ処理は、前記処理されるべきピクセルに対するインループ処理が前記仮想境界の他方の側からの１つ以上のソースピクセルを必要とする場合に、フィルター形状またはフィルターサイズを変更するように構成されており、
前記インループ処理は、ＡＬＦ（適用ループフィルター）処理に対応している、
請求項１３に記載の装置。
【請求項２２】
フィルターされた出力は、最終フィルター出力を生成するために、前記処理されるべきピクセルと結合され、
前記フィルターされた出力は、インループ処理を前記処理されるべきピクセルに対して適用するための前記手段により生成される、
請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオコーディングシステムに関する。特定的には、本発明は、ビデオエンコーダーまたはデコーダーに関するＳＡＯ及びＡＬＦラインバッファーの削減のための方法及び装置に関する。
【背景技術】
【０００２】
本発明は以下に対しての優先権を主張する。米国仮特許出願第６１／４８４４４９号、２０１１年５月１１日出願、タイトル「Ｒｅｄｕｃｔｉｏｎ  ｏｆ  Ｄｅｃｏｄｅｒ  Ｌｉｎｅ  Ｂｕｆｆｅｒｓ  ｆｏｒ  ＳＡＯ  ａｎｄ  ＡＬＦ」。米国仮特許出願第６１／４９８２６５号、２０１１年６月１７日出願、タイトル「Ｒｅｄｕｃｔｉｏｎ  ｏｆ  ＳＡＯ  ａｎｄ  ＡＬＦ  Ｌｉｎｅ  Ｂｕｆｆｅｒｓ  ｆｏｒ  ＬＣＵ−ｂａｓｅｄ  Ｄｅｃｏｄｉｎｇ」。米国仮特許出願第６１／５２１５００号、２０１１年８月９日出願、タイトル「Ｒｅｄｕｃｔｉｏｎ  ｏｆ  Ｄｅｃｏｄｅｒ  Ｌｉｎｅ  Ｂｕｆｆｅｒｓ  ｆｏｒ  ＳＡＯ  ａｎｄ  ＡＬＦ」。米国仮特許出願第６１／５２５４４２号、２０１１年８月１９日出願、タイトル「Ｂｏｕｎｄａｒｙ  Ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒ  Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ  ｏｒ  Ｌｏｏｐ  Ｆｉｌｔｅｒ」。米国仮特許出願第６１／５３２９５８号、２０１１年９月９日出願、タイトル「Ｖｉｒｔｕａｌ  Ｂｏｕｎｄａｒｙ  Ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒ  Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ」。米国仮特許出願第６１／５４３１９９号、２０１１年１０月４日出願、タイトル「Ｒｅｄｕｃｔｉｏｎ  ｏｆ  Ｄｅｃｏｄｅｒ  Ｌｉｎｅ  Ｂｕｆｆｅｒ  ｆｏｒ  ＳＡＯ  ａｎｄ  ＡＬＦ」。これらの米国仮特許出願は、その全てがここにおいて参照として包含される。
【０００３】
動き推定（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｉｏｎ）は、ビデオシーケンスにおける一時的な冗長性（ｒｅｄｕｎｄａｎｃｙ）を利用するために有効なフレーム間コーディング技術である。動き補償フレーム間コーディングは、種々の国際ビデオコーディング規格において広く採用されている。種々のビデオコーディング規格に採用されている動き推定は、しばしば、ブロック基盤の技術であり、それぞれのマクロブロック（ｍａｃｒｏｂｌｏｃｋ）または類似のブロック構成に対して、コーディングモードおよび動きベクトルといった動き情報が決定される。加えて、イントラコーディング（ｉｎｔｒａ−ｃｏｄｉｎｇ）も順応して適用され、他のあらゆる画像を参照しないで画像が処理される。インター予測（ｉｎｔｅｒ−ｐｒｅｄｉｃｔ）またはイントラ予測（ｉｎｔｒａ−ｐｒｅｄｉｃｔ）されたレジデュー（ｒｅｓｉｄｕｅ）は、大抵、圧縮されたビデオビットストリーム（ｂｉｔｓｔｒｅａｍ）を生成するために、さらに、転換、量子化、および、エントロピーコーディングによって処理される。エンコーディングプロセスの最中、特に量子化プロセスにおいて、コーディングアーティファクト（ｃｏｄｉｎｇ  ａｒｔｉｆａｃｔ）が生じる。コーディングアーティファクトを軽減するように、より新しいコーディングシステムにおける画像品質を向上させるために再構築されたビデオに対して追加の処理が適用されてきた。追加の処理は、しばしば、インループオペレーション（ｉｎ−ｌｏｏｐ  ｏｐｅｒａｔｉｏｎ）において構成され、システムパフォーマンスを改善するために、エンコーダーおよびデコーダーが、同一の参照画像を引き出す。
【０００４】
図１Ａは、インループプロセッシングに組み入れられているアダプティブなインター／イントラビデオコーディングシステムの典型的な実施例を示している。インター予測のために、他の画像からのビデオデータに基づいて予想データを提供するように動き見積（Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ：ＭＥ）／動き補償（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ：ＭＣ）が使用される。スイッチ１１４は、イントラ予測１１０又はインター予測データを選択し、選択された予測データは予測誤差、レジデューとも呼ばれる、を形成するために加算器１１６に提供される。予想誤差は、次に、変換器（Ｔ）１１８によって処理され、量子化（Ｑ）１２０が続く。変換され、量子化されたレジデューは、圧縮されたビデオデータに対応するビデオビットストリームを形成するために、エントロピーエンコーダー１２２によってコード化される。変換係数に関するビットストリームは、次に、動き、モード、および、画像領域に関する他の情報、といったサイド情報と供にパックされる。サイド情報は、また、要求されるバンド幅を削減するためにエントロピーコーディングの対象となる。従って、図１Ａに示されるように、サイド情報に関するデータがエントロピーエンコーダー１２２に提供される。インター予測モードが使用される場合、参照画像も同様にエンコーダー側で再構築される必要がある。その結果、変換され、量子化されたレジデューは、逆量子化（ＩＱ）１２４と逆変換器（ＩＴ）１２６によって処理され、レジデューが回復される。レジデューは、次に、ビデオデータを再構築するために再構築（ＲＥＣ）１２８において予想データ１３６に足し戻される。再構築されたビデオデータは、参照画像バッファー１３４の中に保管され、他のフレームの予測のために使用される。
【０００５】
図１Ａに示すように、入ってくるビデオデータは、エンコーディングシステムにおいて一連の処理を受ける。ＲＥＣ１２８からの再構築されたビデオデータは、一連の処理のために種々の損傷の対象となる。従って、ビデオ品質を改善するため、再構築されたビデオデータが参照画像バッファー１３４に保管される以前に、種々のインループプロセッシングが適用される。開発されている高効率ビデオコーディング（Ｈｉｇｈ  Ｅｆｆｉｃｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ：ＨＥＶＣ）規格において、非ブロック化フィルター（Ｄｅｂｌｏｃｋｉｎｇ  Ｆｉｌｔｅｒ：ＤＦ）１３０、画素適用オフセット（Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ：ＳＡＯ）１３１、および、適用ループフィルター（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ：ＡＬＦ）１３２が、画像品質を改善するために開発されてきている。デコーダーが適切に要求された情報を回復できるように、インループフィルター情報は、ビットストリームの中に包含される必要がある。従って、ＳＡＯおよびＡＬＦからのインループフィルター情報は、ビットストリームへの結合のためにエントロピーエンコーダー１２２に対して提供される。図１Ａにおいて、ＤＦ１３０は最初に再構築されたビデオに適用され、次に、ＤＦ処理されたビデオにＳＡＯ１３１が適用され、ＳＡＯ処理されたビデオにＡＬＦ１３２が適用される。しかしながら、ＤＦ、ＳＡＯ、および、ＡＬＦ間の処理の順番は再構成することが可能である。
【０００６】
図１Ｂには、図１Ａのエンコーダーに対応するデコーダーが示されている。ビデオビットストリームは、変換され量子化されたレジデュー、ＳＡＯ／ＡＬＦ情報、および、他のシステム情報を回復するために、ビデオデコーダー１４２によってデコードされる。デコーダーでは、ＭＥ／ＭＣの代わりに、動き補償（ＭＣ）だけが実行される。デコード処理は、エンコーダーにおける再構築ループと類似のものである。回復された、変換され量子化されたレジデュー、ＳＡＯ／ＡＬＦ情報、および、他のシステム情報は、ビデオデータを再構築するために使用される。再構築されたビデオは、さらに、最終的な強化されデコードされたビデオを生成するために、ＤＦ１３０、ＳＡＯ１３１、および、ＡＬＦ１３２によって処理される。
【０００７】
ＨＥＶＣにおけるコーディング処理は、最大コードユニット（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ：ＬＣＵ）に従って適用される。ＬＣＵは、クオッドツリー（ｑｕａｄｔｒｅｅ）を使用してコーディングユニットにアダプティブに分割される。それぞれのリーフ（ｌｅａｆ）において、それぞれの８×８のブロックに対してＣＵ、ＤＦが実行され、ＨＥＶＣテストモデル４．０版（ＨＭ−４．０）において、ＤＦが８×８のブロック境界に適用される。それぞれの８×８のブロックに対して、垂直ブロック境界にわたる水平フィルタリングが最初に適用され、次に、水平ブロック境界にわたる垂直フィルタリングが適用される。輝度ブロック境界（ｌｕｍａ  ｂｌｏｃｋ  ｂｏｕｎｄａｒｙ）の処理の最中、それぞれの側の４つのピクセルがフィルターパラメーター展開の中に包含され、それぞれの側上の３つまでのピクセルがフィルター後に変更可能である。垂直ブロック境界にわたる水平フィルタリングに対して、フィルターされておらず再構築されていないピクセル（つまり、プリＤＦピクセル）がフィルターパラメーター展開のために使用され、フィルタリングのためのソース（ｓｏｕｒｃｅ）ピクセルとしても使用される。水平ブロック境界にわたる垂直フィルタリングに対して、フィルターされておらず再構築されていないピクセル（つまり、プリＤＦピクセル）がフィルターパラメーター展開のために使用され、フィルタリングのためにＤＦ中間ピクセル（つまり、水平フィルタリング後のピクセル）が使用される。彩度ブロック境界（ｃｈｒｏｍａ  ｂｌｏｃｋ  ｂｏｕｎｄａｒｙ）のＤＦ処理のために、それぞれの側の２つのピクセルがフィルターパラメーター展開に包含され、それぞれの側で多くても１つのピクセルは、フィルタリング後に変化する。垂直ブロック境界にわたる水平フィルタリングに対して、フィルターされておらず再構築されていないピクセルがフィルターパラメーター展開のために使用され、フィルタリングのためのソースピクセルとして使用される。水平ブロック境界にわたる垂直フィルタリングに対して、ＤＦ処理された中間ピクセル（つまり、水平フィルタリング後のピクセル）がフィルターパラメーター展開のために使用され、フィルタリングのためのソースピクセルとして使用される。
【０００８】
図１Ａに示すように、画素適用オフセット（ＳＡＯ）１３１は、また、ＨＭ−４．０においても適用される。ＳＡＯは、１つのピクセルについてだけ処理がされるというフィルタリングの特別なケースであるとみなすことができる。ＳＡＯにおいては、ピクセルを異なるグループ（カテゴリーまたはクラスとも呼ばれる）に区分するために、ピクセル区分が最初に行われる。各ピクセルに対するピクセル区分は、３×３のウインドウに基づいている。画像または領域における全てのピクセルを区分する際に、１つのオフセットが引き出され、それぞれのピクセルのグループに対して伝送される。ＨＭ−４．０において、ＳＡＯは、輝度および彩度成分に適用され、それぞれの輝度成分は独立に処理される。ＳＡＯは、１つの画像を複数のＬＣＵ割当領域（ＬＣＵ−ａｌｉｇｎｅｄ  ｒｅｇｉｏｎ）に分割し、それぞれの領域は、２つのバンドオフセット（Ｂａｎｄ  Ｏｆｆｓｅｔ：ＢＯ）、４つのエッジオフセット（Ｅｄｇｅ  Ｏｆｆｓｅｔ：ＥＯ）、そして、処理なし（ＯＦＦ）のうち１つのＳＡＯタイプを選択することができる。それぞれの処理されるべき（フィルターされるべき、ともよばれるが）ピクセルに対して、ＢＯはピクセル輝度を使用してピクセルをバンドに区分する。ピクセル輝度範囲は、等しく３２バンドに分割されている。ピクセル区分の後で、それぞれのバンドの全てのピクセルに対する１つのオフセットが引き出され、中央の１６バンドまたは外側の１６バンドのオフセットが選択され、コード化される。ＥＯに関しては、ピクセルをカテゴリーに区分するために処理されるべきピクセルの２つの隣接ピクセルが使用される。図２Ａに示されるように、４つのＥＯタイプは、０°、９０°、１３５°、および、４５°に対応している。ＢＯと同様に、カテゴリー０を除いて、それぞれのカテゴリーの全てのピクセルに対する１つのオフセットが引き出される。カテゴリー０では、ゼロオフセットの使用が強制される。表１は、ＥＯピクセル区分を示しており、「Ｃ」は、区分されるべきピクセルを示している。
【０００９】
【表１】
0005689563.tif 000002
【００１０】
適用ループフィルタリング（ＡＬＦ）１３２は、図１Ａに示すように、画像品質を向上させるためのＨＭ−４．０におけるビデオコーディングツールである。複数のタイプの輝度フィルターフットプリント（ｆｏｏｔｐｒｉｎｔ）と彩度フィルターフットプリントが使用される。例えば、９×７の十字架形状フィルターが図２Ｂに、５×５の雪片形状フィルターが図２Ｃに示されている。それぞれの画像は、輝度信号に対する１つのフィルターと、彩度信号に対する１つのフィルターを選択することができる。ＨＭ−４．０では、それぞれの画像に対して、１６個までの輝度ＡＬＦフィルターと多くても１つの彩度ＡＬＦフィルターが適用され得る。ＡＬＦをローカライズ（ｌｏｃａｌｉｚａｔｉｏｎ）するために、彩度ピクセルがフィルターを選択する２つのモードがある。一方は、領域基盤適応（Ｒｅｇｉｏｎ−ｂａｓｅｄ  Ａｄａｐｔｉｏｎ：ＲＡ）モードであり、他方は、ブロック基盤適応（Ｂｌｏｃｋ−ｂａｓｅｄ  Ａｄａｐｔｉｏｎ：ＢＡ）モードである。画像レベルでの適応モード選択のためのＲＡおよびＢＡに加えて、ＡＬＦオペレーションをイネーブル（ｅｎａｂｌｅ）またはディセーブル（ｄｉｓａｂａｌｅ）するために、閾値より大きいコーディングユニット（ＣＵ）が、フィルター使用フラグによって、さらに、コントロールされる。彩度成分については、比較的に平坦なので、ＨＭ−４．０においてローカル適応は使用されておらず、画像に係る２つの彩度成分が同一のフィルターを共有している。
【００１１】
ＲＡモードは、単純に、１つの輝度画像を１６領域に分割する。画像サイズが知られていれば、１６領域が決定され固定される。領域は合併することができ、合併後はそれぞれの領域に対して１つのフィルターが使用される。従って、ＲＡモードでは、画像につき最大１６個までのフィルターが伝送される。一方で、ＢＡモードは、それぞれの４×４のブロックに対する特性として、エッジ（ｅｄｇｅ）アクティビティと方向を使用する。４×４のブロックの特性を算出するには、隣接ピクセルが必要である。例えば，図２Ｄに示すように、ＨＭ−３．０において８×８のウインドウ２１０が使用され、ＨＭ−４．０において５×５のウインドウ２２０が使用される。４×４のブロックの特性が算出された後で、ブロックが１６カテゴリーに区分される。カテゴリーは合併することができ、合併後はそれぞれのカテゴリーに対して１つのフィルターが使用される。従って、ＢＡモードのために、最大１５個までのフィルターが伝送される。
【００１２】
図１Ａと図１Ｂは、ＨＭ−４．０に従って、典型的なエンコーダーとデコーダーの実施例を示している。エンコーディングプロセスは２つの部分に分割される。一方は、ＬＣＵ基盤処理であり、イントラ予測（ＩＰ）１１０、動き予測／動き補償（ＭＥ／ＭＣ）１１２、変換器（Ｔ）１１８、量子化（Ｑ）１２０、逆量子化（ＩＱ）１２４、逆変換（ＩＴ）１２６、および、再構築（ＲＥＣ）１２８を含んでいる。他方は、画像基盤処理であり、非ブロック化フィルター（ＥＦ）１３０、画素適用オフセット（ＳＡＯ）１３１、および、適用ループフィルター（ＡＬＦ）１３２を含んでいる。エントロピーエンコーダー１２２は、画像基盤処理を使用し、シーケンスパラメーターセット（ＳＰＳ）、画像パラメーターセット（ＳＰＳ）、または、スライスレベルシンタックスエレメント（ｓｌｉｃｅ−ｌｅｖｅｌ  ｓｙｎｔａｘ  ｅｌｅｍｅｎｔ）を使用して選択を示している。エントロピーエンコーダー１２２は、また、ＬＣＵ基盤処理を使用し、ＬＣＵレベルシンタックスエレメントを使用して選択を示している。同様に、デコード処理も、また、２つの部分に分割される。一方は、ＬＣＵ基盤処理であり、イントラ予測（ＩＰ）１１０、動き補償（ＭＣ）１１３、逆量子化（ＩＱ）１２４、逆変換器（ＩＴ）１２６、および、再構築（ＲＥＣ）１２８を含んでいる。他方は、画像基盤処理であり、非ブロック化フィルター（ＥＦ）１３０、画素適用オフセット（ＳＡＯ）１３１、および、適用ループフィルター（ＡＬＦ）１３２を含んでいる。エントロピーデコーダー１４２は、ＳＰＳ，ＰＰＳ、または、スライスレベルシンタックスエレメントによって示されるように画像基盤処理に属している。エントロピーデコーダー１４２は、また、ＬＣＵレベルシンタックスエレメントによって示されるようにＬＣＵ基盤処理にも属している。ソフトウェア基盤の実施においては、ＤＦ、ＳＡＯ、および、ＡＬＦに対するＬＣＵ基盤処理よりも、画像基盤処理の方向検知ユニットが実施し易い。しかしながら、ハードウェア基盤、または、エンベットされたソフトウェア基盤の実施に対しては、画像基盤処理は、大きな画像バッファーを必要とするため事実上受け容れられない。オンチップ（ｏｎ−ｃｈｉｐ）の画像バッファーは、高いシステムバンド幅の要求を軽減してくれる。しかしながら、オンチップの画像バッファーは、チップコストを著しく増加させてしまう。一方で、オフチップ（ｏｆｆ−ｃｈｉｐ）の画像バッファーは、外部メモリーアクセス、電力消費、そして、データアクセス待ち時間を著しく増加させる。従って、コスト効率のよいエンコーダーおよびデコーダー製品には、ＬＣＵ基盤のＤＦ、ＳＡＯ、および、ＡＬＦを使用することが望ましい。
【００１３】
ＬＣＵ基盤処理が、ＤＦ、ＳＡＯ、および、ＡＬＦに対して使用される場合、エンコーディングとデコーディングは、複数のＬＣＵの平行処理のためのＬＣＵパイプライン形式でのラスター（ｒａｓｔｅｒ）スキャンオーダー（ｏｒｄｅｒ）でのＬＣＵによって行われ得る。この場合、ＤＦ、ＳＡＯ、および、ＡＬＦのためにラインバッファーが必要となる。１つのＬＣＵロー（ｒａｗ）の処理は、上記ＬＣＵローからのピクセルを必要とするからである。オフチップラインバッファー（例えば、ＤＲＡＭ）が使用される場合、外部メモリーのバンド幅と電力消費の実質的な増加を結果的に生じる。一方で、オンチップラインバッファー（例えば、ＳＲＡＭ）が使用される場合、チップ領域が増加し、それに応じてチップコストが増加する。従って、ラインバッファーは既に画像バッファーよりずっと小さいものであるが、ラインバッファーコストを削減するためには、未だ、さらにラインバッファーを削減することが望ましい。
【００１４】
図３Ａは、ＬＣＵ基盤エンコーディングまたはデコーディングシステムにおいて、ＤＦ、ＳＡＯ、および、ＡＬＦに関する輝度成分処理のためのバッファー要求の実施例を示している。ライン３１０と３１２は、垂直および水平ＬＣＵ境界をそれぞれ示しており、現在のＬＣＵは、水平ＬＣＵ境界の上側で垂直ＬＣＵ境界の右側に位置している。ラインＡからＪは、最初に水平ＤＦによって処理され、次に垂直ＤＦにより処理される。水平ＬＣＵ境界辺りのラインＫからＮに対する水平ＤＦ処理は、たいてい、水平ＬＣＵ境界以下のラインが利用可能となるまで待つ必要がある。そうでなければ、垂直ＤＦに対するラインＫからＮに対応する水平処理されたＤＦ（Ｈ−ＤＦ）ピクセルを一時的に保管するためにラインバッファーを使用する必要があり、図３Ａにおける４つのピクセルストライプ（ｓｔｒｉｐｅ）３２０によって示されるように、それぞれフィルターパラメーターを引き出し、フィルターするために保管されるべき４つのプリＤＦ（ｐｒｅ−ＤＦ）および４つのＨ−ＤＦが水平ＬＣＵ境界のそれぞれの側に必要とされる。プリＤＦピクセルは、もはやＤＦによって処理されることのない再構築されたピクセルを意味している。従って、典型的にシステムにおいて、４つのライン（Ｋ−Ｎ）は、後続のＤＦ処理に対するプリＤＦピクセルを保管するために使用される。図１Ａおよび図１Ｂに示したシステム構成に基づいて、次に、ＤＦ出力ピクセルにＳＡＯが適用される。ラインＫ−Ｎに対する垂直ＤＦがラインＫを変更しないので（ＨＭ−４．０に従えば、ブロック境界において３つのピクセルが変更されるだけである）、３×３の正方形３３０によって示されるように、ＳＡＯ処理をラインＪに行うために水平ＤＦがラインＫに適用され得る。ラインＫのＨ−ＤＦピクセルは、ラインバッファーに保管されず、下側ＬＣＵが処理される場合に、再びプリＤＦピクセルから生成される必要がある。しかしながら、このことはハードウェア基盤のシステムにとって問題ではない。オペレーションに含まれる電力消費は非常に少ないからである。
【００１５】
ラインＡからＪがＳＡＯ処理された後で、ボックス３４０で示される４×４のブロック特性が、ブロック基盤の適応処理のために計算され得る。ＨＭ−４．０に従えば、４×４のブロックに対するブロック特性の展開には、ボックス３４２で示すように５×５のウインドウを要する。４×４のブロックに対するブロック特性の展開に際して、雪片形状のＡＬＦフィルターが選択されている場合、ラインＡからＨにＡＬＦが適用され得る。ラインＩにＡＬＦを適用することはできない。ピクセル位置３５２に対するＡＬＦフィルター３５０によって示されるように、ラインＫからのＳＡＯ処理されたデータを必要とするからである。ラインＡからＨに対するＡＬＦが完了した後は、下側ＬＣＵが利用可能になるまで現在のＬＣＵについてさらなる処理はなされない。下側ＬＣＵが利用可能になると、ラインＫからＰは、最初にＤＦによって処理され、次にＳＡＯにより処理される。ラインＪは、ＳＡＯがラインＫを処理するときに必要とされる。しかしながら、現実のピクセル値の代わりに、ラインＫとラインＪ上のピクセルの比較に関するＥＯの部分的な結果だけが保管される必要がある。部分的な結果は、ピクセル毎に２ビットを必要とする。１０ビットのピクセルを使用する高効率（ＨＥ）コーディングシシステム構成、および、８ビットのピクセルを使用する低複雑性（ＬＣ）コーディングシシステム構成、それぞれに対して、ピクセルラインバッファーの２０％から２５％が必要とされるだけである。従って、ＳＡＯの部分的結果の１つのライン（Ｊ）は、ＳＡＯのために保管される必要がある。そして、ラインＩからＰに対する４×４のブロック特性が計算され、従ってＡＬＦを適用することができる。
【００１６】
ラインＩがフィルターされる場合には、図３Ａにおける５×５の雪片形状のフィルター３５によって示されるように、ラインＧからＫが必要とされる。しかしながら、ラインＩとＪのブロック特性の展開には、いまだにラインＦからＪが必要である。ラインＧからＪに対するＢＡモードフィルター選択を保管するためにフィルターインデックスラインバッファーが使用できる場合は、ラインＩとＪのＡＬＦ処理の最中に、再びブロック特性を計算することは必要ない。従って、ＳＡＯ出力ピクセルの１つのライン（Ｆ）に対するラインバッファーは、ＡＬＦのために除去することができる。フィルターインデックスラインバッファー（ブロック毎に４ビット）は、ピクセルラインバッファーのサイズの約１０％しか必要としない。従って、ＳＡＯ出力ピクセルの４つのライン（ＧからＪ）およびフィルターインデックスの１つのライン（ラインＧからＫ上の４×４のブロック）が、ＡＬＦのために保管される必要がある。まとめると、インループフィルター全体は、約８．３個の輝度ラインバッファーを必要とする。デコーディングシステム全体が考慮される場合、イントラ輝度予測が既にプリＤＦピクセルの１つのライン（Ｎ）を保管しているので、この輝度ラインバッファーは共有され得る。
【００１７】
彩度成分を処理するＤＦ、ＳＡＯ、および、ＡＬＦのためのラインバッファー要求が、同様に引き出される。彩度成分に対するＤＦ処理は、ＤＦ選択を決定するために、ブロック境界における２つのピクセルを使用するだけである。ブロック境界においてＤＦが１つのピクセルに対して適用される。従って、インループフィルター全体は、約６．２個の彩度ラインバッファーを必要とする。
【００１８】
典型的なコーディングシステムの上記の分析において、輝度および彩度成分に対するＤＦ、ＳＡＯ、および、ＡＬＦ処理のためのラインバッファー要求は、それぞれ、８．３ラインおよび６．２ラインであることが示された。ＨＤＴＶ信号では、それぞれのラインが２０００個近くのピクセルを有している。
【発明の概要】
【発明が解決しようとする課題】
【００１９】
システムに対して必要な全体のラインバッファーは、サイズ化できる。ＤＦ、ＳＡＯ、および、ＡＬＦ処理のために必要なラインバッファーを削減することが望ましい。
【課題を解決するための手段】
【００２０】
再構築されたビデオをインループ処理するための方法および装置が開示される。本方法は、インループ処理を構成し、仮想境界の他方の側からのソースピクセル（ｓｏｕｒｃｅ  ｐｉｘｅｌ）を必要としないか、必要とされるピクセルが削減されている。本発明の一つの実施例において、本発明に係る方法は、再構築されたビデオデータ、処理され再構築されたビデオデータ、または、両方の結合を受け取ること；ビデオデータ境界に関する仮想境界を定めること；処理されるべきピクセルを決定すること；および、仮想境界の一方の側上にある処理されるべきピクセルに対してインループ処理を適用すること、を含む。インループ処理は、仮想境界の他方の側からのソースピクセルを必要としないか、必要とされるソースピクセルが削減されている。インループ処理は、ＳＡＯ（画素適用オフセット）処理、または、ＡＬＦ（適用ループフィルター）処理に対応するものである。本方法は、輝度成分にも、彩度成分と同様に適用することができる。インループ処理が、仮想境界の他方の側からのソースピクセルを必要とする場合に、本発明に従った一つの実施例では、置換ピクセルを使用する。置換ピクセルは、規定値または適応値を使用し得る。さらに、置換ピクセルは、仮想境界の一方の側上のソースピクセル、仮想境界の他方の側上のソースピクセル、もしくは、上記の置換ピクセルの線型な結合または非線型な結合から引き出される。インループ処理は、また、インループ処理が仮想境界の他方の側から一つまたはそれ以上のソースピクセルを必要とする場合に、処理されるべきピクセルをスキップするように構成され得る。インループ処理は、また、処理されるべきピクセルのためのインループ処理が仮想境界の他方の側から一つまたはそれ以上のソースピクセルを必要とする場合に、ＡＬＦフィルター形状またはフィルターサイズを変更するように構成され得る。フィルターされた出力は、最終フィルター出力を生成するために、処理されるべきピクセルと線型または非線型に結合される。フィルターされた出力は、インループ処理を処理されるべきピクセルに適用することで生成される。仮想境界は、水平ＬＣＵ（最大コーディングユニット）境界の上のＮ個のピクセルに対応する。ここで、Ｎは、１から４の整数である。
【図面の簡単な説明】
【００２１】
【図１Ａ】図１Ａは、ＤＦ、ＳＡＯ、およびＡＬＦインループ処理を取り込んでいる典型的な適用インター／イントラビデオコーディングシステムを示している。
【図１Ｂ】図１Ｂは、ＤＦ、ＳＡＯ、およびＡＬＦインループ処理を取り込んでいる典型的な適用インター／イントラビデオコーディングシステムを示している。
【図２Ａ】図２Ａは、ＳＡＯ（画素適用オフセット）を適用するように現在のピクセルに対してカテゴリーを決定するための、ＨＭ−４．０において使用されている０°、９０°、１３５°、および、４５°に対応するエッジオフセット（ＥＯ）を示している。
【図２Ｂ】図２Ｂは、ＡＬＦのための９×９の十字架形状フィルターの実施例を示している。
【図２Ｃ】図２Ｃは、ＡＬＦのための５×５の雪片形状フィルターの実施例を示している。
【図２Ｄ】図２Ｄは、ブロック基盤適用処理において４×４のブロック特性を決定するための８×８のウインドウおよび５×５のウインドウの実施例を示している。
【図３Ａ】図３Ａは、輝度成分に対する仮想境界近くのＤＦ、ＳＡＯ、およびＡＬＦインループ処理に対するラインバッファー要求の実施を示している。
【図３Ｂ】図３Ｂは、彩度成分に対する仮想境界近くのＤＦ、ＳＡＯ、およびＡＬＦインループ処理に対するラインバッファー要求の実施を示している。
【図４】図４は、水平仮想境界の実施例を示している。
【図５】図５は、垂直仮想境界の実施例を示している。
【図６】図６は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図７】図７は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図８】図８は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図９】図９は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１０】図１０は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１１】図１１は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１２】図１２は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１３】図１３は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１４】図１４は、仮想境界の上側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１５】図１５は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１６】図１６は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１７】図１７は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１８】図１８は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図１９】図１９は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図２０】図２０は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図２１】図２１は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図２２】図２２は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図２３】図２３は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【図２４】図２４は、仮想境界の下側のピクセルに対する、本発明の実施例に従ったインループ処理の最中の種々のステップの例を示している。
【発明を実施するための形態】
【００２２】
上述のラインバッファー分析は、ＤＦ処理が輝度成分に対して４つのラインバッファーと彩度成分に対して２つのラインバッファーを必要とすることを示している。ＳＡＯおよびＡＬＦ処理をサポートするためには追加のラインバッファーが必要である。ＳＡＯおよびＡＬＦのためのラインバッファー要求を削減するために、ここにおいて仮想境界（Ｖｉｒｔｕａｌ  Ｂｏｕｎｄａｒｙ：ＶＢ）が開示される。図４は、水平ＬＣＵ境界に対するＶＢの実施例を示しており、ＶＢは水平ＬＣＵ境界からＮピクセルだけ上方にシフトしている。ＬＣＵ、ＳＡＯ、および、ＡＬＦのそれぞれは、ＬＣＵの下方が利用可能になるまで、ＶＢの上方のピクセルを処理することができる。しかしながら、ＳＡＯとＡＬＦは、ＬＣＵの下方が利用可能になるまでＶＢの下方を処理することができない。これらのピクセルは、未だＤＦによって処理されていないからである。上述のように、現在のＬＣＵの最下位にあるプリＤＦピクセルを保管するために、輝度成分に対して４つのラインバッファーが使用され、彩度成分に対して２つのラインバッファーが使用される。従って、輝度成分に対してＮは４であり、それぞれの彩度成分に対してＮは２である。ＶＢの情報のピクセルがＤＦによって処理された後で、ＶＢの他方の側からのデータアクセスを削減または除去するように、ＶＢの一方の側の上の全ての処理されるべきピクセルに対してＳＡＯ処理が変更される。従って、ＬＣＵの下方に依存することなく、または、削減された依存度をもって、ＶＢの上方の全てのピクセルに対してＳＡＯを実行することができる。最後に、ＶＢの他方の側からのあらゆるデータアクセスを削減または除去するために、ＡＬＦは、ＶＢの一方の側の上の処理されるべき全てのピクセルに対して変更される。
【００２３】
図３Ａは、ＳＡＯおよびＡＬＦに対するラインバッファー要求を削減または除去するための彩度成分に対するＶＢの使用を説明するために使用することができ、ライン３１２は水平ＶＢを示している。現在のＬＣＵが処理される場合、ラインＡからＪは、ＤＦによって（水平および垂直に）処理され得る。しかしながら、ラインＫからＮは、垂直ＤＦでは処理することができない。ＬＣＵの下方が未だに利用可能でないからである。ラインＡからＪに対するＳＡＯおよびＡＬＦ処理がＶＢの下方のあらゆるピクセルを必要としない場合に、ラインＡからＪは、ＬＣＵの下方なしでＳＡＯおよびＡＬＦによって処理され得る。ＬＣＵの下方が利用可能になった場合、ラインＫからＰは、ＤＦによって処理される。このとき、ラインＫからＰに対するＳＡＯおよびＡＬＦ処理が、ＶＢの上方のピクセルへの依存性を削減または除去するように変更され得る場合、ラインＦからＪを保管するためのラインバッファーを削減または除去することができる。
【００２４】
図４が水平ＶＢ処理の実施例を説明している一方で、図５に示すように、垂直ＶＢ境界に対しても、また、ＶＢ処理が適用され得る。垂直ＶＢ境界は、垂直ＬＣＵ境界から右側にＮピクセルだけシフトしている。ＭＨ−４．０が使用される場合、輝度成分に対してＮは４であり、彩度成分に対してＮは２である。
【００２５】
以降に、水平ＶＢ処理の実施例の詳細が開示される。輝度ＶＢ処理は、２つの部分に分割することができる。第１部分は、ＶＢの上方のピクセルの処理に対応し、一方、第２部分は、ＶＢの下方のピクセルの処理に対応している。図６から図１４は、本発明の実施例に従って、ＶＢの上方の処理されるべきピクセルに対するＤＦ，ＳＡＯ、および、ＡＬＦに関する輝度ＶＢ処理を説明している。図６において、ライン６１０は水平ＬＣＵ境界を示し、ライン６２０は水平ＶＢを示している。現在のＬＣＵの全てのピクセルはＲＥＣによって処理され、プリＤＦピクセルの４つのライン（ｐ０−ｐ３）は、ＤＦラインバッファーの中に保管される。図７では、ＶＢの上方のピクセルとＶＢの下方の１つのライン（ｐ３）が、影付き領域７１０によって示されるように、水平ＤＦによって処理されたものである。上述のように、輝度ＤＦは、境界強度を評価するために４つのピクセルを読み取り、８×８のブロック境界のそれぞれの側の上のピクセルを３つまで上書きする。図８では、影付き領域８１０で示されるように、ＤＦ出力を生成するために、ＶＢの上方のピクセルが垂直ＤＦによって処理される。図９では、ＶＢの上方のピクセルは、ＳＡＯによって処理される。この時、ラインｐ３は、図７において水平ＤＦによって処理され、垂直ＤＦによっては変化しない。従って、ラインｐ３のＤＦ出力ピクセルは、ラインｐ４を処理するためにＳＡＯに対して利用可能である。ラインｐ４のＳＡＯ処理の最中、ラインｐ４上の処理されるべきそれぞれのピクセルは（Ｃとして示されている）、非ゼロ度のＥＯが選択された場合、ラインｐ３上の隣接ピクセル（Ｎとして示されている）と比較される必要がある。これらのＳＡＯの部分的な結果は、実際のピクセルデータの代わりにＳＡＯラインバッファーの中に保管され得る。それぞれの処理されるべきピクセルは、対応するピクセルが、対応する隣接のピクセルと比べて大きい、等しい、または、小さい、のいずれであるかを示すために２ビットを必要とする。部分的な結果を効率よく保管するために使用される他の方法も、また、使用される。例えば、２つの処理されるべきピクセル（Ｃ１、Ｃ２）と２つの隣接したピクセル（Ｎ１，Ｎ２）の部分的な結果は、Ｃ１＞Ｎ１＆＆Ｃ２＞Ｎ２、Ｃ１＜Ｎ１＆＆Ｃ２＜Ｎ２、そして、上記以外のもの、を表わすように４ビットから２ビットに圧縮され得る。従って、ＳＡＯピクセルラインバッファーの終了は、高効率（ＨＥ）モードと低複雑性（ＬＣ）モードにおいて、それぞれ０．１と０．１２５である。図１０では、ＶＢの上方の全てのピクセルは、影付き領域１０１０で示されるように、ＳＡＯによって処理される。
【００２６】
図１１から図１４は、ＶＢの上方のピクセルが、ＡＬＦによって、さらに処理される実施例を説明している。フィルタリングの最中、従来のアプローチに従えば、ＶＢの下方のＳＡＯ出力ピクセルが必要とされる。これらの場合、フィルタリングは、本発明に従って変更される必要がある。図１１は、５×５の雪片形状フィルター１１１０を使用したＡＬＦの実施例を説明している。ラインｐ５上でのＡＬＦフィルタリングは、従来の方法でＶＢの下方のデータを使用する必要がある。しかしながら、本発明に従った実施例では、ＶＢの下方のいかなるデータも参照することなく必要とされるデータを生成するためにパディング（ｐａｄｄｉｎｇ）、平均化、または他の手段を使用する。本発明の一つの実施例に従えば、ラインｐ４に対するＡＬＦフィルタリングはスキップされる。対応するＡＬＦ１１２０がＶＢの下方の２つのライン（ｐ３とｐ２）を必要とするからである。パディングは、図１１において矢印で示されるように、ＶＢの他方の側上のピクセルがＶＢの同一の側上で最も近いピクセルと置き換えられることである。データパディングの実施例は、繰り返しパディング（ｒｅｐｅｔｉｔｉｖｅ  ｐａｄｄｉｎｇ）、奇数対称のミラー基盤パディング（ｍｉｒｒｏｒ−ｂａｓｅｄ  ｐａｄｄｉｎｇ  ｗｉｔｈ  ｏｄｄ  ｓｙｍｍｅｔｒｙ）、または、偶数対称のミラー基盤パディング（ｍｉｒｒｏｒ−ｂａｓｅｄ  ｐａｄｄｉｎｇ  ｗｉｔｈ  ｅｖｅｎ  ｓｙｍｍｅｔｒｙ）を含んでいる。平均化は、フィルターされた出力ピクセルが、最終ＡＬＦ出力ピクセルとしてフィルター入力ピクセルと供に平均化されることである。別の言葉で言えば、ピクセルＣでフィルターされた出力は、最終出力を得るためにピクセルＣと平均化されるのである。従って、図１１は、パディングまたは平均化を使用することによって、ＶＢの他方の側からのピクセルの依存性を除去している実施例を示している。一方、平均化は、最終ＡＬＦ出力を生成するための、フィルターされた出力とフィルターされるべきピクセルの線型結合としても働く。他の線型結合もまた使用され得る。例えば、フィルターされた出力とフィルターされるべきピクセルを結合するために重み付けされた合計が使用され得る。さらに、フィルターされた出力とフィルターされるべきピクセルを結合するために、非線型結合も使用され得る。例えば、最終フィルター出力がどのように形成されるべきかを決定するために、フィルターされた出力とフィルターされるべきピクセルとの間の相違の絶対値が使用され得る。絶対値が非常に小さい場合、フィルターされた出力が最終フィルター出力値として受け容れられてよい。絶対値が非常に大きい場合、フィルターされた出力は無視され、フィルターされるべきピクセルが最終フィルター出力値として使用される。そうでなければ、フィルターされた出力とフィルターされるべきピクセルとの間の平均が使用される。図１２は、ＡＬＦのために選択された９×９の十字架形状フィルターの実施例を説明している。ラインｐ７およびラインｐ６のフィルタリングのためのフィルターサイズは、それぞれ、１２１０によって示されるように９×７に、１２２０によって示されるように９×５に削減されている。適切なフィルター���力レベルを維持するために、無視された係数が中央ピクセルに加えられ、フィルター係数を正規化する。図１３は、９×９の十字架形状フィルターが、さらに、１３１０によって示されるように９×３に、１３２０によって示されるように９×１に、ラインｐ７およびラインｐ６のフィルタリングのため、それぞれ削減されている。再び、無視された係数が中央ピクセルに加えられる。中央ピクセルに無視された係数を加えることは、ＡＬＦシンタックス（ｓｙｎｔａｘ）を変更する依存性を除去し、また、掛け算および割り算を必要としないで係数を正規化する目的に役立つ。図１４は、ＶＢの上方の全てのピクセルがＡＬＦによって処理されるケースを示している。このとき、ＶＢの上方のピクセルはデコードされた画像バッファーに書き込まれ得る。システムは、より低いＬＣＵが到着した場合に、ＶＢより下方のピクセルを処理する準備ができている。
【００２７】
図１５から図２４は、本発明の実施例に従って、ＶＢの下方のピクセルに対する彩度ＶＢ処理を説明している。図１５は、プリＤＦピクセルの４つのライン（ｐ０−ｐ３）が、ＤＦラインバッファーから読み込まれる状態を説明している。図１６は、影付き領域１６１０で示されるように、ＶＢの下方のピクセルが、最初に水平ＤＦによって処理されるケースを示している。上述のように、ラインｐ０−ｐ３に対する水平ＤＦ決定の計算は、ラインｐ０−ｐ７のプリＤＦピクセルを必要とする。ラインｐ４−ｐ７を保管するためのラインバッファー要求を削減するために、図７におけるラインｐ３−ｐ７に対する水平ＤＦの最中に、これらの水平ＤＦ決定が計算され決定ラインバッファーの中に保管される。決定バッファーは、８×８のブロック毎に１ビットを必要とするだけで、オンチップレジスターまたはＳＲＡＭとして簡単に実施することができる。図１７は、ＶＢの下方のピクセルが垂直ＤＦによって処理される状態を示している。このとき、ＤＦ処理は、ラインｐ０−ｐ３およびラインｑ０−ｑ３に対して完了している。垂直ＤＦ決定は、プリＤＦピクセルを使用することに留意する。従って、水平ＬＣＵ境界での垂直ＤＦ決定は、図１６に示されるように、水平ＤＦが実行される以前に計算される必要がある。
【００２８】
図１８は、ＶＢの下方のピクセルに対するＤＦ処理が完了した後に実行されるＳＡＯを説明しており、ＳＡＯ１８１０がラインｐ３のピクセルＣに適用されている。図９におけるラインｐ４に対するＳＡＯ処理の最中に、ラインｐ４上のそれぞれのピクセルは（現在のピクセルＣとしてみなされている）、非ゼロ度のＥＯに対して、ラインｐ３上の隣接ピクセル（Ｎとして示されている）と比較された。これらのＳＡＯの部分的な結果は、本発明の一つの実施例に従って、ＳＡＯラインバッファーの中に保管された。ここで、部分的な結果は、ラインｐ３のＳＡＯ処理のためにＳＡＯラインバッファーから読み出すことができる。ラインｐ３の処理されるべきピクセル（図１８におけるピクセルＣ）のそれぞれに対して、ラインｐ３が処理される場合、現在のピクセルＣとラインｐ４における隣接ピクセルとの間の関係に関する部分的な結果が保管された。本発明の一つの実施例に従った、ＶＢの上方のピクセルのＳＡＯ処理の最中にである。しかしながら、ラインｐ４におけるピクセルは現在のピクセルＣとしてみなされ、一方、ラインｐ３におけるピクセルは隣接ピクセルＮとしてみなされていた。Ｃ＞Ｎ、Ｃ＜Ｎ、および、Ｃ＝＝Ｎ、のうちの１つとしての関係を示すためには２ビットが必要である。本発明の別の実施例において、ラインｐ３上の２つの処理されるべきピクセル（Ｎ１、Ｎ２）とラインｐ４上の２つの対応するピクセル（Ｃ１、Ｃ２）との間の関係に対応する部分的な結果は、ＳＡＯラインバッファーからの２ビットにおいて表わされ、Ｃ１＞Ｎ１＆＆Ｃ２＞Ｎ２、Ｃ１＜Ｎ１＆＆Ｃ２＜Ｎ２、そして、上記以外のものを示している。上記のいずれも選択されない場合、ＥＯ処理においてＣ１＝＝Ｎ１＆＆Ｃ２＝＝Ｎ２が使用される。図１９は、現在のＶＢの下方（および次のＶＢの上方）の全てのピクセルがＳＡＯによって処理されたことを示している。
【００２９】
図２０から図２３は、ＶＢの下方のピクセルへのＡＬＦ処理の典型的なステップを説明している。従来のアプローチに従えば、ラインｐ０−ｐ３のＡＬＦブロック特性を計算するためにラインｐ０−ｐ４のＳＡＯ出力ピクセルが必要である。従って、図２０には、ＶＢにわたるピクセルへのＡＬＦ処理の依存性を除去するための、本発明に従った実施例が示されている。図２０は、矢印で示されるように、垂直方向における繰り返しパディングの実施例を説明しており、５×５のウインドウ２０２０に基づいて４×４のブロック２０１０のブロック特性を決定するためにラインｐ３のＳＡＯ出力ピクセルからラインｐ４のピクセルを生成する。フィルタリングの最中、従来のアプローチに従えば、ＶＢの上方のＳＡＯ出力ピクセルも必要とされる。こうした場合において、フィルタリングは、ＶＢにわたるピクセルへのＡＬＦ処理の依存性が除去できるように変更されることを要する。図２１は、ＡＬＦのために５×５の雪片形状フィルターが選択された実施例を示している。ラインｐ３に対するＡＬＦフィルタリング（ラインｐ３のピクセルＣ対するＡＬＦフィルターは２１１０で示されている）はスキップされ、ラインｐ２に対するＡＬＦフィルタリング（ラインｐ２のピクセルＣ対するＡＬＦフィルターは２１２０で示されている）はパディングまたは平均化を使用する。パディングと平均化の意味は、図１１に関する明細書において説明された。
【００３０】
図２２は、ＡＬＦのために９×９の十字架形状フィルターが選択された実施例を示している。本発明の一つの実施例に従えば、ラインｐ３およびラインｐ２のフィルタリングのためのフィルターサイズは、９×１（２２１０によって示されるように）と９×３（２２２０によって示されるように）に削減されており、それぞれに、ＶＢの上方のＳＡＯ処理されたデータへのＡＬＦ処理の依存性を除去している。フィルター係数を正規化する目的のために、無視された係数が中央ピクセルに加えられる。図２３は、本発明に従った一つの実施例を示しており、ラインｐ１およびラインｐ０のフィルタリングのためのフィルターサイズは、９×５（２３１０によって示されるように）と９×７（２３２０によって示されるように）にそれぞれ削減されている。再び、フィルター係数を正規化する目的のために、無視された係数が中央ピクセルに加えられる。図２４は、ＶＢの下方（および次のＶＢの上方）の全てのピクセルがＡＬＦによって処理されるケースを示している。このとき、ＶＢの下方（および次のＶＢの上方）のピクセルはデコードされた画像バッファーに書き込まれ得る。
【００３１】
図６から２４に示された輝度ＶＢ処理は、本発明に従った一つの実施例を説明している。ＶＢにわたる依存性を除去するためのＳＡＯ／ＡＬＦ処理の種々のステップにおいて使用される所定の典型的なテクニックが表２にまとめられている。図７と図１６においては、ラインｐ３が水平ＤＦによって２回処理されていることがわかる。このことは、ＬＣＵ基盤処理にだけ生じるもので、画像基盤処理には起こらない。冗長な計算は、ハードウェアに対して小さなインパクトしか与えない。ＤＦハードウェアが既に配置されており、ＤＦはシステムのスループットのボトルネックではないからである。冗長な計算は、ラインｐ３のＨ−ＤＦを保管するために任意的にラインバッファーを１つ追加することで回避できる。
【００３２】
【表２】
0005689563.tif 000003
【００３３】
上記の詳細な実施例において示したように、ＶＢの他方の側のピクセルへのＡＬＦ処理の依存性を除去するためにＶＢ処理テクニックがＡＬＦに適用される場合は、インループフィルタリング全体としてのラインバッファーは、輝度成分について８．３ラインから４．２ラインへ、彩度成分について６．２ラインから２．２ラインへ削減される。ＶＢ処理が、ＳＡＯとＡＬＦの両方に適用される場合、インループフィルタリング全体としてのラインバッファーは、輝度成分について４．１ラインへ、彩度成分について２．１ラインへ削減される。上記の実施例において、ＡＬＦまたはＳＡＯは、ＶＢの他方の側のピクセルへの依存性を除去するように変更される。ＡＬＦ及び／又はＳＡＯを変更するために本発明を実施し、ＶＢの他方の側上のピクセルへの依存性を削減することも、また、可能である。
【００３４】
図６から図２４において示された本発明に従ったＳＡＯおよびＡＬＦに対するＶＢ処理の実施例は、あらゆる追加のラインバッファーに対する必要性を完全に除去している。ＤＦ処理のために割当てられたラインバッファーを越えて、いくらかのＳＡＯの部分的な結果およびＤＦ決定のための小さなバッファーを除いたものである。しかしながら、本発明に従った別の実施例も、また、ＶＢにわたるＳＡＯおよびＡＬＦに対するデータ依存性を削減することができ、ＤＦのために割当てられたものを越えた追加のラインバッファーが削減され得る。上記の実施例では、ＳＡＯ区分のための３×３のウインドウが使用されるが、他のウインドウ形状及び／又はサイズも、また、適用ＳＡＯ処理のための区分を引き出すために使用され得る。ＡＬＦ処理の実施例として９×９の十字架形状フィルターまたは５×５の雪片形状フィルターが使用されているが、他のフィルター形状またはフィルターサイズも、また、本発明を実施するために使用され得る。さらに、ＳＡＯおよびＡＬＦは、ＤＦに加えて２つのインループ処理として説明されているが、本発明は、また、関連するラインバッファーを削減または除去するために他のタイプのインループ処理を使用しているエンコーディングまたはデコーディングシステムのためにも実施され得るものである。
【００３５】
図６から図２４におけるステップは、本発明に従った輝度ＶＢ処理の実施例を説明するために使用されているが、彩度成分について本発明を実施するためのステップも同様に引き出され得る。
【００３６】
上記の実施例に関するシステムパフォーマンスが、輝度ＶＢ処理のない従来のシステムに対して比較される。テスト結果は、輝度および彩度ＶＢ処理を伴なうシステムは、結果として、ＢＤ比率（ＢＤ−ｒａｔｅ）の観点で従来のシステムとほぼ同じパフォーマンスであることを示している。ＢＤ比率は、ビデオコーディング業界においてよく知られた測定値である。上記の同一パフォーマンスを結果として生じる一方で、本発明に従った典型的なシステムは、実質的にラインバッファー要求を削減している。本発明に従ったＶＢ処理が有利であることは明らかである。
【００３７】
上記の典型的なＶＢ処理において、適用インループ処理の実施例としてＳＡＯとＡＬＦが使用されている。適用インループ処理は、たいてい２つのステップを含んでいる。第１のステップは、処理されるべきピクセルの周りの隣接ピクセルを使用してカテゴリーを決定することに関連し、第２のステップは、決定されたカテゴリーに従ってインループ処理をアダプティブに適用することである。カテゴリーの決定処理は、ＶＢにわたるピクセルを含んでよい。本発明に従った実施例は、ＶＢにわたるピクセルへの依存性を削減または除去する。本発明に従った別の実施例では、処理がＶＢにわたるピクセルに依存している場合に、カテゴリーの決定処理をスキップしてもよい。カテゴリー決定処理がスキップされた場合、対応するインループ処理も同様にスキップされてよい。代替的に、インループ処理は、ＶＢの同一の側上の一つまたはそれ以上の隣接ピクセルに対して生じた区分に基づいて実行され得る。
【００３８】
上述のように本発明に従った仮想バッファー（ＶＢ）処理を包含するビデオコーディングシステムの実施例は、種々のハードウェア、ソフトウェアコード、または、両方の組合せにおいて実行されてよい。例えば、本発明の実施例は、ここにおいて説明された処理を実施するための、ビデオ圧縮チップの中に統合された回路、または、ビデオ圧縮ソフトウェアの中に統合されたプログラムコードであり得る。本発明の実施例は、また、ここにおいて説明された処理を実施するためのデジタル信号プロセッサ（ＤＳＰ）上で実行されるプログラムコードでもあり得る。本発明は、また、コンピュータープロセッサ、デジタル信号プロセッサ、マイクロプロセッサ、または、フィールドでプログラム可能なゲートアレイ（ＦＰＧＡ）によって実行されるべき数多くの機能を含んでいる。これらのプロセッサは、本発明に従って所定の業務を実行するように構成され得る。本発明によって具現された所定の方法を定める機械で読み取り可能なソフトウェアコードまたはファームウェアコードを実行することによってである。ソフトウェアコードまたはファームウェアコードは、異なるプログラム言語、および、異なるフォーマットまたはスタイルで開発されてよい。ソフトウェアコードは、また、異なる対象プラットフォームに対してコンパイルされてもよい。しかしながら、本発明に従ってタスクを実行するための異なるコードフォーマット、ソフトウェアコードのスタイルと言語、そして他のコード構成手段は、本発明の趣旨および範囲を逸脱するものではない。
【００３９】
本発明は、発明の精神または本質的な特性から逸脱することなく他の所定の形式において実施され得る。記載された実施例は、全ての観点において単なる説明のためのものであり、限定的なものではない。本発明の範囲は、従って、上述された記載に依るよりは、むしろ添付の特許請求の範囲によって示されるものである。特許請求の範囲の均等物に係る意味および範囲の中での全ての変更は、本発明の範囲内に受容されるものである。
【図１Ａ】
0005689563.tif 000004
【図１Ｂ】
0005689563.tif 000005
【図２Ａ】
0005689563.tif 000006
【図２Ｂ】
0005689563.tif 000007
【図２Ｃ】
0005689563.tif 000008
【図２Ｄ】
0005689563.tif 000009
【図３Ａ】
0005689563.tif 000010
【図３Ｂ】
0005689563.tif 000011
【図４】
0005689563.tif 000012
【図５】
0005689563.tif 000013
【図６】
0005689563.tif 000014
【図７】
0005689563.tif 000015
【図８】
0005689563.tif 000016
【図９】
0005689563.tif 000017
【図１０】
0005689563.tif 000018
【図１１】
0005689563.tif 000019
【図１２】
0005689563.tif 000020
【図１３】
0005689563.tif 000021
【図１４】
0005689563.tif 000022
【図１５】
0005689563.tif 000023
【図１６】
0005689563.tif 000024
【図１７】
0005689563.tif 000025
【図１８】
0005689563.tif 000026
【図１９】
0005689563.tif 000027
【図２０】
0005689563.tif 000028
【図２１】
0005689563.tif 000029
【図２２】
0005689563.tif 000030
【図２３】
0005689563.tif 000031
【図２４】
0005689563.tif 000032