(57)【特許請求の範囲】
【請求項１】
ビデオコーディングプロセスにおいて適応ループフィルタ処理を実行するための方法であって、前記方法は、
現在ピクセルについて、適応ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、
前記判断に基づいて、部分適応ループフィルタを定義することであって、前記部分適応ループフィルタを定義することが、
前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、
前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記フィルタマスクから、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、
前記フィルタマスク中の残りのフィルタ係数を使用して前記部分適応ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分適応ループフィルタを定義する、作成することと、
前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することとを備える、定義することとを備える、方法。
【請求項２】
前記部分適応ループフィルタを定義することは、
前記部分フィルタマスクを再正規化することであって、適応ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することを備える、再正規化することをさらに備える、請求項１に記載の方法。
【請求項３】
前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記方法は、
ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、
ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとをさらに備える、請求項１に記載の方法。
【請求項４】
前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記方法は、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとをさらに備える、請求項１に記載の方法。
【請求項５】
ビデオコーディングプロセスにおいて適応ループフィルタ処理を実行するように構成された装置であって、前記装置は、
現在ピクセルについて、適応ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、
前記判断に基づいて、部分適応ループフィルタを定義することとを行うように構成されたビデオコーダであって、前記ビデオコーダが、
前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、
前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記フィルタマスクから、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、
前記フィルタマスク中の残りのフィルタ係数を使用して前記部分適応ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分適応ループフィルタを定義する、作成することと、
前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することとを行うように構成された、ビデオコーダを備える、装置。
【請求項６】
前記ビデオコーダは、
前記部分フィルタマスクを再正規化することであって、適応ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することを備える、再正規化することを行うようにさらに構成された、請求項５に記載の装置。
【請求項７】
前記ビデオコーダがビデオエンコーダであり、前記ビデオエンコーダは、
ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、
ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとを行うようにさらに構成された、請求項５に記載の装置。
【請求項８】
前記ビデオコーダがビデオデコーダであり、前記ビデオデコーダは、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとを行うようにさらに構成された、請求項５に記載の装置。
【請求項９】
ビデオコーディングプロセスにおいて適応ループフィルタ処理を実行するように構成された装置であって、前記装置は、
現在ピクセルについて、適応ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断するための手段と、
前記判断に基づいて、部分適応ループフィルタを定義するための手段であって、前記部分適応ループフィルタを定義するための前記手段が、
前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除するための手段と、
前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記フィルタマスクから、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除するための手段と、
前記フィルタマスク中の残りのフィルタ係数を使用して前記部分適応ループフィルタのための部分フィルタマスクを作成するための手段であって、前記部分フィルタマスクが前記部分適応ループフィルタを定義する、作成するための手段と、
前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行するための手段とを備える、定義するための手段とを備える、装置。
【請求項１０】
前記部分適応ループフィルタを定義するための前記手段は、
前記部分フィルタマスクを再正規化するための手段であって、適応ループフィルタ処理を実行するための前記手段が、前記再正規化された部分フィルタマスクとともに前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行するための手段を備える、再正規化するための手段を備える、請求項９に記載の装置。
【請求項１１】
前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記装置は、
ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化するための手段と、
ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成するための手段であって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成するための手段とをさらに備える、請求項９に記載の装置。
【請求項１２】
前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記装置は、
ビデオデータの符号化ブロックを受信するための手段と、
ビデオデータの再構成されたブロックを形成するために予測プロセスを実行するための手段であって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行するための手段とをさらに備える、請求項９に記載の装置。
【請求項１３】
実行されたとき、ビデオコーディングプロセスを実行するように構成された１つまたは複数のプロセッサに、
現在ピクセルについて、適応ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、
前記判断に基づいて、部分適応ループフィルタを定義することであって、前記部分適応ループフィルタを定義することが、
前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、
前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記フィルタマスクから、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、
前記フィルタマスク中の残りのフィルタ係数を使用して前記部分適応ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分適応ループフィルタを定義する、作成することと、
前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することとを備える、定義することとを行わせる、命令を記憶するコンピュータ可読記憶媒体。
【請求項１４】
前記部分適応ループフィルタを定義することは、
前記部分フィルタマスクを再正規化することであって、適応ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分適応ループフィルタを使用して前記現在ピクセルに対して適応ループフィルタ処理を実行することを備える、再正規化することをさらに備える、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記１つまたは複数のプロセッサは、
ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、
ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとを行うようにさらに構成された、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記１つまたは複数のプロセッサは、
ビデオデータの符号化ブロックを受信することと、
ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとを行うようにさらに構成された、請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記適応ループフィルタがブロックベースの分類モードおよび領域ベースの分類モードの一方によって定義される、請求項１に記載の方法。
【請求項１８】
前記適応ループフィルタがブロックベースの分類モードおよび領域ベースの分類モードの一方によって定義される、請求項５に記載の装置。
【請求項１９】
前記適応ループフィルタがブロックベースの分類モードおよび領域ベースの分類モードの一方によって定義される、請求項９に記載の装置。
【請求項２０】
前記適応ループフィルタがブロックベースの分類モードおよび領域ベースの分類モードの一方によって定義される、請求項１３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年１０月２１日に出願された米国仮出願第６１／５５０，２１１号の利益を主張する。
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオコーディングプロセスにおけるループフィルタ処理のための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測、あるいは他の参照フレーム中の参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイに構成される、量子化された変換係数は、特定の順序で走査されて、エントロピーコーディングのための変換係数の１次元ベクトルが生成され得る。
【発明の概要】
【０００６】
概して、本開示では、ビデオデータをコーディングするための技法について説明する。特に、本開示では、ビデオコーディングのためのループフィルタ処理プロセスのための技法について説明する。本開示の技法は、スライス境界またはタイル境界を越えるループフィルタ処理に適用され得る。ループフィルタ処理は、適応ループフィルタ処理（ＡＬＦ：adaptive loop filtering）、サンプル適応オフセット（ＳＡＯ：sample adaptive offset）フィルタ処理、およびデブロッキングフィルタ処理のうちの１つまたは複数を含み得る。
【０００７】
本開示の一例では、ビデオコーディングプロセスにおいてループフィルタ処理を実行するための方法が提案される。本方法は、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行することとを含む。
【０００８】
一例では、本方法は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応するフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとをさらに含み得る。この例は、部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、再正規化された部分フィルタマスクとともに部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することをさらに含み得る。
【０００９】
別の例では、本方法は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、スライス境界およびタイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとをさらに含み得る。
【００１０】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１１】
【図１】例示的なビデオ符号化および復号システムを示すブロック図。
【図２】適応ループフィルタのための領域ベースの分類を示す概念図。
【図３】適応ループフィルタのためのブロックベースの分類を示す概念図。
【図４】フレームのタイルを示す概念図。
【図５】フレームのスライスを示す概念図。
【図６】スライス境界およびタイル境界におけるループフィルタを示す概念図。
【図７】水平境界における非対称部分フィルタを示す概念図。
【図８】垂直境界における非対称部分フィルタを示す概念図。
【図９】水平境界における対称部分フィルタを示す概念図。
【図１０】垂直境界における対称部分フィルタを示す概念図。
【図１１】例示的なビデオエンコーダを示すブロック図。
【図１２】例示的なビデオデコーダを示すブロック図。
【図１３】本開示によるループフィルタ処理の例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１２】
概して、本開示では、ビデオデータをコーディングするための技法について説明する。特に、本開示では、ビデオコーディングプロセスにおけるループフィルタ処理のための技法について説明する。
【００１３】
デジタルビデオデバイスは、デジタルビデオ情報をより効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（フレーム内）予測および／または時間的（フレーム間）予測技法を適用し得る。
【００１４】
ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ６」または「ＷＤ６」と呼ばれる、ＨＥＶＣ規格の最近のドラフトは、２０１２年６月１日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である、ドキュメントＪＣＴＶＣ−Ｈ１００３、Ｂｒｏｓｓら、「High efficiency video coding (HEVC) text specification draft 6」、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１、８ｔｈ  Ｍｅｅｔｉｎｇ：  Ｓａｎ  Ｊｏｓｅ、Ｃａｌｉｆｏｒｎｉａ、ＵＳＡ、Ｆｅｂｒｕａｒｙ、２０１２に記載されている。
【００１５】
以下でＨＥＶＣ  ＷＤ７と呼ぶ、ＨＥＶＣの最近の最新のＷＤは、２０１２年８月２日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v6.zipから入手可能である。
【００１６】
一例として、ＨＥＶＣの現在のワーキングドラフトに従うビデオコーディングでは、ビデオフレームがコーディングユニットに区分され得る。コーディングユニット（ＣＵ：coding unit）は、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。ＣＵは、通常、Ｙとして示され得るルミナンス成分と、ＣｒおよびＣｂとして示され得る２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプルの数で表されるＣｒおよびＣｂ成分のサイズは、Ｙ成分のサイズと同じであるかまたはそれとは異なり得る。ＣＵは、一般に正方形であり、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。
【００１７】
より良好なコーディング効率を達成するために、コーディングユニットは、ビデオコンテンツに応じて可変サイズを有し得る。さらに、コーディングユニットは、予測または変換のためにより小さいブロックに分割され得る。具体的には、各コーディングユニットは、予測ユニット（ＰＵ：prediction unit）と変換ユニット（ＴＵ：transform unit）とにさらに区分され得る。予測ユニットは、Ｈ．２６４などの他のビデオコーディング規格の下でのいわゆるパーティションと同様であると見なされ得る。変換ユニット（ＴＵ）は、変換係数を生成するために変換が適用される残差データのブロックを指す。
【００１８】
本出願では、例示のために、開発中のＨＥＶＣ規格の現在提案されている態様のいくつかに従うコーディングについて説明する。ただし、本開示で説明する技法は、Ｈ．２６４または他の規格に従って定義されるビデオコーディングプロセスあるいはプロプライエタリビデオコーディングプロセスなど、他のビデオコーディングプロセスのために有用であり得る。
【００１９】
ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３５個ものイントラ予測符号化モードを与える。
【００２０】
ＨＭによれば、ＣＵは、１つまたは複数の予測ユニット（ＰＵ）および／または１つまたは複数の変換ユニット（ＴＵ）を含み得る。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大ＣＵである最大コーディングユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはさらにサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深度と呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、ＰＵ、またはＴＵのいずれかを指すために「ブロック」、「パーティション」、または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指すことがある。
【００２１】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。
【００２２】
その上、リーフＣＵのＴＵもそれぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。本開示では、ＬＣＵがどのように区分されるかを示す４分木をＣＵ４分木と呼び、リーフＣＵがどのようにＴＵに区分されるかを示す４分木をＴＵ４分木と呼ぶ。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＬＣＵに対応する。分割されないＴＵ４分木のＴＵはリーフＴＵと呼ばれる。
【００２３】
リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。たとえば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。（１つまたは複数の）ＰＵを定義するリーフＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが予測コーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、ＰＵは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
【００２４】
ブロック（たとえば、ビデオデータの予測ユニット（ＰＵ））をコーディングするために、ブロックの予測子が最初に導出される。予測子は、イントラ（Ｉ）予測（すなわち、空間的予測）またはインター（ＰまたはＢ）予測（すなわち、時間的予測）のいずれかを通して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム中の隣接参照ブロックに対する空間的予測を使用してイントラコーディング（Ｉ）され得、他の予測ユニットは、他のフレーム中の参照ブロックに対してインターコーディング（ＰまたはＢ）され得る。予測のために使用される参照ブロックは、参照サンプルとしていわゆる整数ピクセル位置における実際のピクセル値を含むか、または参照サンプルとして分数ピクセル位置における補間によって生成された合成ピクセル値を含み得る。
【００２５】
予測子が識別されると、元のビデオデータブロックとそれの予測子との間の差分が計算される。この差分は、予測残差とも呼ばれ、コーディングされるべきブロックのピクセルと、参照ブロック、すなわち、予測子の（上述のように、整数精度ピクセルまたは補間された分数精度ピクセルであり得る）対応する参照サンプルとの間のピクセル差分を指す。より良好な圧縮を達成するために、予測残差（すなわち、ピクセル差分値のアレイ）は、概して、たとえば、離散コサイン変換（ＤＣＴ）、整数変換、カルーネンレーベ（Karhunen-Loeve）（Ｋ−Ｌ）変換、または他の変換を使用して、ピクセル（すなわち、空間）領域から変換領域に変換される。変換領域は、たとえば、周波数領域であり得る。
【００２６】
インター予測を使用してＰＵをコーディングすることは、現在ブロックと参照フレーム中のブロックとの間の動きベクトルを計算することを伴う。動きベクトルは、動き推定（または動き探索）と呼ばれるプロセスを通して計算される。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得る。いくつかの例では、参照サンプルは、全体的にまたは部分的に補間され、分数ピクセル位置において発生し得る。現在部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在部分のための現在動きベクトルを、現在部分から参照フレーム中の一致する部分までの（たとえば、現在部分の中心から一致する部分の中心までの）ロケーションの差分として判断する。
【００２７】
いくつかの例では、エンコーダは、符号化ビデオビットストリーム中で、各部分について動きベクトルをシグナリングし得る。シグナリングされた動きベクトルは、ビデオデータを復号するために、デコーダによって動き補償を実行するために使用される。しかしながら、元の動きベクトルを直接シグナリングすると、一般に、情報を搬送するために多数のビットが必要なので、コーディングがあまり効率的でなくなることがある。
【００２８】
現在部分について動きベクトルを判断するために動き推定が実行されると、エンコーダは、参照フレーム中の一致する部分を現在部分と比較する。この比較は、一般に、上述のように、現在部分から参照フレーム中の（「参照サンプル」と通常呼ばれる）部分を減算することを伴い、いわゆる残差データを生じる。残差データは、現在部分と参照サンプルとの間のピクセル差分値を示す。エンコーダは、次いで、この残差データを空間領域から、周波数領域などの変換領域に変換する。通常、エンコーダは、この変換を達成するために、残差データに離散コサイン変換（ＤＣＴ）を適用する。得られた変換係数は異なる周波数を表し、エネルギーの大部分が、通常、数個の低周波係数に集中するので、エンコーダは、残差データの圧縮を可能にするためにこの変換を実行する。
【００２９】
一般に、得られた変換係数は、特に変換係数が最初に量子化される（丸められる）場合、エントロピーコーディングを可能にする方法で一緒にグループ化される。エンコーダは、次いで、ランレングスコーディングされた量子化変換係数をさらに圧縮するために統計的ロスレス（またはいわゆる「エントロピー」）符号化を実行する。ロスレスエントロピーコーディングを実行した後に、エンコーダは、符号化ビデオデータを含むビットストリームを生成する。
【００３０】
ビデオ符号化プロセスは、いわゆる「再構成ループ」をも含み得、それにより、符号化ビデオブロックは、復号され、後でコーディングされるビデオブロックのための参照フレームとして使用するために参照フレームバッファに記憶される。参照フレームバッファは復号ピクチャバッファ（decoded picture buffer）またはＤＰＢとも呼ばれる。再構成されたビデオブロックは、参照フレームバッファに記憶する前にしばしばフィルタ処理される。フィルタ処理は、通常、たとえば、ブロックベースのビデオコーディングに共通のブロッキネスまたは他のアーティファクトを低減するために使用される。ブロッキネスを低減し、および／または他の方法でビデオ品質を改善することができる、望ましいレベルのビデオブロックフィルタ処理を促進するために、（フィルタタップと呼ばれることがある）フィルタ係数が定義または選択され得る。フィルタ係数のセットは、たとえば、ビデオブロックのエッジまたはビデオブロック内の他のロケーションに沿ってフィルタ処理がどのように適用されるかを定義し得る。異なるフィルタ係数は、ビデオブロックの異なるピクセルに対する異なるレベルのフィルタ処理を生じ得る。フィルタ処理は、たとえば、不要なアーティファクトをなくすのを助けるために、隣接ピクセル値の強度の差を平滑化またはシャープ化し得る。
【００３１】
一例として、コード化ビデオデータのブロック間の外観を改善する（たとえば、エッジを平滑化する）ためにデブロッキングフィルタが使用され得る。別の例示的なフィルタは、画質とコーディング効率とを改善するためにピクセルの再構成されたブロックにオフセットを追加するために使用されるサンプル適応オフセット（ＳＡＯ）フィルタである。ＨＥＶＣのための１つの提案における再構成ループ中で使用される別のタイプのフィルタは適応ループフィルタ（ＡＬＦ：adaptive loop filter）である。ＡＬＦは一般にデブロッキングフィルタの後に実行される。ＡＬＦは、ビデオコーディング圧縮プロセスによって劣化したピクセルの忠実度を回復する。ＡＬＦは、ソースフレーム中の元のピクセル値と再構成されたフレームのピクセル値との間の平均２乗誤差を最小限に抑えることを試みる。ＡＬＦはまた、符号化プロセス中に適用されたのと同じ様式でビデオデコーダの出力において適用される。総称して、再構成ループ中で使用されるどのフィルタも「ループフィルタ」と呼ばれることがある。ループフィルタは、１つまたは複数のデブロッキングフィルタ、ＳＡＯフィルタ、およびＡＬＦを含み得る。さらに、再構成ループ中で使用する他のタイプのフィルタも可能である。
【００３２】
本開示では、ループフィルタ処理のための技法を提示する。特に、本開示では、スライス境界およびタイル境界の周辺のループフィルタ処理のための技法を提示する。本開示の技法は、デブロッキング、ＡＬＦ、およびＳＡＯのフィルタを含む、任意のループフィルタに適用され得る。
【００３３】
図１は、本開示の例による、ビデオコーディングプロセスにおけるループフィルタ処理のための技法を利用するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。符号化ビデオデータはまた、記憶媒体３４またはファイルサーバ３６に記憶され得、必要に応じて宛先デバイス１４によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）またはデジタルビデオディスク（ＤＶＤ）バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、ＣＤまたはＤＶＤリーダーなど、ビデオデコーダ３０とは別個のデバイスが、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に与え得る。
【００３４】
ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、多種多様なデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。
【００３５】
本開示の例による、ビデオコーディングプロセスにおけるループフィルタ処理のための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３６】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
【００３７】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３８】
ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体３４またはファイルサーバ３６に記憶され得る。記憶媒体３４は、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００３９】
ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００４０】
図１の例では、宛先デバイス１４は、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の受信機２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００４１】
ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００４２】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００４３】
ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４４】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４５】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４６】
ビデオエンコーダ２０は、ビデオコーディングプロセスにおけるループフィルタ処理のための本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ３０は、ビデオコーディングプロセスにおけるループフィルタ処理のためのこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。このコンテキストでは、ビデオコーディングユニットは、物理的ハードウェアであり、上記で説明したＣＵデータ構造とは異なる。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指すことがある。
【００４７】
ＨＥＶＣのための１つのＡＬＦ提案では、２つの適応モード（すなわち、ブロック適応モードおよび領域適応モード）が提案される。領域適応モードでは、フレームが１６個の領域に分割され、各領域が線形フィルタ係数の１つのセット（複数のＡＣ係数および１つのＤＣ係数）を有することができ、１つの領域が同じフィルタ係数を他の領域と共有することができる。図２は、適応ループフィルタのための領域ベースの分類を示す概念図である。図２に示すように、フレーム１２０が１６個の領域に分割され、各領域が複数のＣＵを含み得る。これらの１６個の領域の各々は、その領域によって使用される線形フィルタ係数の特定のセットを示す番号（０〜１５）によって表される。それらの番号（０〜１５）は、ビデオエンコーダとビデオデコーダの両方において記憶されるフィルタ係数の所定のセットに対するインデックス番号であり得る。一例では、ビデオエンコーダが、符号化ビデオビットストリーム中で、特定の領域のためにビデオエンコーダによって使用されるフィルタ係数のセットのインデックス番号をシグナリングし得る。シグナリングされたインデックスに基づいて、ビデオデコーダが、その領域のための復号プロセスにおいて使用するためにフィルタ係数の同じ所定のセットを取り出し得る。他の例では、フィルタ係数は各領域について明示的にシグナリングされる。
【００４８】
ブロックベースの分類モードでは、フレームが４×４ブロックに分割され、各４×４ブロックが、方向およびアクティビティ情報を使用してメトリックを計算することによって、１つのクラスを導出する。各クラスについて、線形フィルタ係数の１つのセット（複数のＡＣ係数および１つのＤＣ係数）が使用され得、１つのクラスが同じフィルタ係数を他のクラスと共有することができる。図３は、適応ループフィルタのためのブロックベースの分類を示す概念図である。
【００４９】
方向とアクティビティとの計算、および方向とアクティビティとに基づいて得られるメトリックを以下に示す。
【００５０】
・方向
【数１】
0005876156.tif 000002
【００５１】
・アクティビティ
【数２】
0005876156.tif 000003
【００５２】
・メトリック
【数３】
0005876156.tif 000004
【００５３】
Ｈｏｒ＿ａｃｔ（ｉ，ｊ）は、概して、現在ピクセル（ｉ，ｊ）の水平アクティビティを指し、Ｖｅｒｔ＿ａｃｔ（ｉ，ｊ）は、概して、現在ピクセル（ｉ，ｊ）の垂直アクティビティを指す。Ｘ（ｉ，ｊ）は、概してピクセル（ｉ，ｊ）のピクセル値を指し、ｉおよびｊが現在ピクセルの水平座標および垂直座標を示す。このコンテキストでは、アクティビティは、概して、あるロケーションにおけるピクセルの間の勾配または差異である。
【００５４】
ＨBは、４×４ブロックの水平アクティビティを指し、これは、この例では、ピクセル（０，０）、（０，２）、（２，０）、および（２，２）のための水平アクティビティの和に基づいて判断される。ＶBは、４×４ブロックの垂直アクティビティを指し、これは、この例では、ピクセル（０，０）、（０，２）、（２，０）、および（２，２）のための垂直アクティビティの和に基づいて判断される。「＜＜１」は、２での乗算の演算を表す。ＨBおよびＶBの値に基づいて、方向が判断され得る。一例として、ＨBの値がＶBの値の２倍よりも大きい場合、方向は、垂直アクティビティよりも多くの水平アクティビティに対応し得る、方向１（すなわち水平）であると判断され得る。ＶBの値がＨBの値の２倍よりも大きい場合、方向は、水平アクティビティよりも多くの垂直アクティビティに対応し得る、方向２（すなわち垂直）であると判断され得る。他の場合、方向は、水平アクティビティも垂直アクティビティも支配的でないことを意味する、方向０（すなわち方向なし）であると判断され得る。他の標示と比も使用され得るので、様々な方向のための標示と、それらの方向を判断するために使用された比とは、一例を構成するにすぎない。
【００５５】
４×４ブロックのためのアクティビティ（ＬB）は、水平アクティビティと垂直アクティビティとの和として判断され得る。ＬBの値は範囲に分類され得る。この特定の例は５つの範囲を示しているが、より多いまたはより少ない範囲が同様に使用され得る。アクティビティと方向との組合せに基づいて、ピクセルの４×４ブロックのためのフィルタが選択され得る。一例として、フィルタは、アクティビティおよび方向とフィルタとの２次元マッピングに基づいて選択され得るか、またはアクティビティと方向とが組み合わされて単一のメトリックになり得、その単一のメトリックが使用されてフィルタが選択され得る（たとえば、メトリック＝アクティビティ＋５＊方向）。
【００５６】
図３に戻ると、ブロック１４０はピクセルの４×４ブロックを表す。この例では、ブロックベースのＡＬＦのためのアクティビティおよび方向のメトリックを計算するために１６個のピクセルのうちの４つのみが使用される。４つのピクセルは、ピクセル１４１と標示されたピクセル（０，０）、ピクセル１４２と標示されたピクセル（２，０）、ピクセル１４３と標示されたピクセル（０，２）、およびピクセル１４４と標示されたピクセル（２，２）である。ピクセル１４１の水平アクティビティ（すなわち、ｈｏｒ＿ａｃｔ（０，０））は、たとえば、左の隣接ピクセルと右の隣接ピクセルとに基づいて判断される。右の隣接ピクセルは、ピクセル１４５と標示されている。左の隣接ピクセルは、４×４ブロックとは異なるブロック中にあり、図３には示されていない。ピクセル１４２の垂直アクティビティ（すなわちｖｅｒ＿ａｃｔ（２，０））は、たとえば、上の隣接ピクセルと下の隣接ピクセルとに基づいて判断される。下の隣接ピクセルは、ピクセル１４６と標示されており、上の隣接ピクセルは、４×４ブロックとは異なるブロック中にあり、図３には示されていない。ピクセル１４３および１４４について水平アクティビティおよび垂直アクティビティが同様にして計算され得る。
【００５７】
ＨＥＶＣ規格のための１つの提案では、ＡＬＦは他のループフィルタ（たとえば、デブロッキング（ＤＢ）およびＳＡＯ）とともに実行される。フィルタは、表示のためにビデオデータをピクセルデータとして出力する前にフィルタがビデオコーディングデバイスによってビデオデータに適用されるとき、「ループ内」で実行されると言われることがある。このようにして、ループ内フィルタ処理されたビデオデータは、後でコーディングされるビデオデータによって参照のために使用され得る。その上、ビデオエンコーダとビデオデコーダの両方が、実質的に同じフィルタ処理プロセスを実行するように構成され得る。ループフィルタは、ＤＢ、ＳＡＯ、ＡＬＦの順序で処理される。ＨＥＶＣの１つのＷＤでは、ループフィルタの各々がフレームベースである。しかしながら、ループフィルタのいずれかが（エントロピースライスを含む）スライスレベルにおいてまたはタイルレベルにおいて適用される場合、特殊なループフィルタハンドリングがスライス境界およびタイル境界において有益であり得る。エントロピースライスは、独立してエントロピーコーディングされるが、異なるスライス間で依存的ピクセル処理（たとえば、イントラ予測）を使用する。
【００５８】
図４は、フレームの例示的なタイルを示す概念図である。フレーム１６０が複数の最大コーディングユニット（ＬＣＵ）１６１に分割され得る。２つ以上のＬＣＵが矩形形状タイルにグループ化され得る。タイルベースのコーディングが有効化されたとき、各タイル内のコーディングユニットは、後続のタイルをコーディングする前に一緒にコーディングされる（すなわち、符号化または復号される）。フレーム１６０について示すように、タイル１６２および１６３が、水平に配向され、水平境界と垂直境界の両方を有する。フレーム１７０について示すように、タイル１７１および１７３が、垂直に配向され、水平境界と垂直境界の両方を有する。
【００５９】
図５は、フレームの例示的なスライスを示す概念図である。フレーム１８０が、そのフレームを越えるラスタ走査順序における複数の連続するＬＣＵ（１８２）からなるスライスに分割され得る。いくつかの例では、スライスは、均一な形状（たとえば、スライス１８１）を有し、フレーム中のＬＣＵの１つまたは複数の完全な行を包含し得る。他の例では、スライスは、ラスタ走査順序における特定の数の連続するＬＣＵとして定義され、不均一な形状を呈し得る。たとえば、フレーム１９０が、ラスタ走査順序における１０個の連続するＬＣＵ（１８２）からなるスライス１９１に分割される。フレーム１９０は幅が８ＬＣＵしかなく、次の行における追加の２つのＬＣＵがスライス１９１中に含まれる。
【００６０】
いくつかの事例では、スライス境界とタイル境界が一致し得る（すなわち、それらが直接重複する）ことに留意されたい。本開示の技法は、スライス境界とタイル境界が一致する状況において、ならびにスライス境界とタイル境界が一致しない状況において適用される。
【００６１】
図６は、スライス境界およびタイル境界におけるループフィルタを示す概念図である。水平スライス境界および／またはタイル境界２０１が水平線として示されており、垂直タイル境界２０２が垂直線として示されている。図６中のフィルタマスク２００の黒丸（すなわち、ドット）は、スライスおよび／またはタイルにおいて再構成されたビデオブロックのピクセルに適用される、フィルタの係数（すなわち、重み）を表す。すなわち、フィルタの係数の値は対応するピクセルの値に適用され得、その結果、対応するピクセルの値に係数値を乗算して、重み付けされたピクセル値が生成される。ピクセル値は、ルミナンス値および１つまたは複数のクロミナンス値を含み得る。フィルタの中心が、フィルタ処理されるべきピクセルの位置に（またはそのピクセルに極めて接近して）配置されると仮定すると、フィルタ係数は、その係数の位置とコロケートされるピクセルに対応すると言われることがある。フィルタの係数に対応するピクセルは、「サポートピクセル（supporting pixel）」と呼ばれることもあり、または総称して、フィルタのための「サポートのセット」と呼ばれることもある。フィルタマスク２００中の各係数にそれの対応するピクセルの値を乗算することと、各得られた値を合計することとによって、（中心ピクセルマスク係数Ｃ０に対応する）現在ピクセル２０３のフィルタ処理された値が計算される。
【００６２】
本開示では、「フィルタ」という用語は、概してフィルタ係数のセットを指す。たとえば、３×３フィルタは９つのフィルタ係数のセットによって定義され得、５×５フィルタは２５個のフィルタ係数のセットによって定義され得、９×５フィルタは４５個のフィルタ係数のセットによって定義され得るなどである。図６に示すフィルタマスク２００は、水平方向における７つのフィルタ係数と垂直方向における５つのフィルタ係数とを有する７×５フィルタであるが（各方向について中心フィルタ係数をカウント）、任意の数のフィルタ係数が本開示の技法に適用可能であり得る。「フィルタのセット」という用語は、概して、２つ以上のフィルタのグループを指す。たとえば、２つの３×３フィルタのセットは、９つのフィルタ係数の第１のセットと９つのフィルタ係数の第２のセットとを含むことができる。「フィルタサポート」と呼ばれることがある、「形状」という用語は、概して、特定のフィルタのためのフィルタ係数の行の数とフィルタ係数の列の数とを指す。たとえば、９×９は第１の形状の一例であり、７×５は第２の形状の一例であり、５×９は第３の形状の一例である。いくつかの事例では、フィルタは、ダイヤモンド形状、ダイヤモンド様形状、円形形状、円形様形状、六角形形状、八角形形状、十字形状、Ｘ字形状、Ｔ字形状、他の幾何学的形状を含む、非矩形形状、あるいは多数の他の形状または構成をとり得る。図６中の例は十字形状であるが、他の形状が使用され得る。最も一般的なケースでは、フィルタの形状にかかわらず、フィルタマスク中の中心ピクセルにおける中心ピクセルが、フィルタ処理されているピクセルである。他の例では、フィルタピクセルはフィルタマスクの中心からオフセットされる。
【００６３】
いくつかのビデオコーディング技法では、ループフィルタ処理（たとえば、デブロッキング、ＡＬＦ、およびＳＡＯ）がスライス境界および／またはタイル境界を越えて無効化される。これは、隣接スライスおよび／またはタイル中のピクセルが、まだコーディングされていないことがあり、したがって、いくつかのフィルタマスクとともに使用するために利用不可能になるからである。これらの場合、利用不可能なピクセル（すなわち、現在スライスまたはタイルからスライス境界またはタイル境界の反対側にあるピクセル）のためにパディングされたデータが使用され、フィルタ処理は実行されない。そのようなパディングされたデータの使用は、スライス境界および／またはタイル境界の周辺の画像の視覚的品質を減少させ得る。
【００６４】
その欠点に鑑みて、本開示では、スライス境界およびタイル境界に沿ってループフィルタ処理を実行するための技法を提案する。本開示の技法は、ＡＬＦ、デブロッキング、およびＳＡＯのフィルタなど、ビデオコーディングにおいて使用される任意のタイプのループフィルタとともに使用され得る。概して、本開示では、スライス境界およびタイル境界の周辺の部分フィルタを使用することを提案する。部分フィルタは、フィルタ処理プロセスのために一般に使用される１つまたは複数のフィルタ係数を使用しないフィルタである。一例では、本開示では、少なくとも、スライス境界および／またはタイル境界の反対側のピクセルに対応するフィルタ係数が、使用されない場合、部分フィルタを使用することを提案する。したがって、いくつかの例では、スライス境界および／またはタイル境界の反対側のピクセルのためのパディングされたデータを与える必要がない。むしろ、部分フィルタは、スライス境界および／またはタイル境界の反対側のピクセルを省略するように構成され得る。
【００６５】
一例では、非対称部分フィルタがスライス境界およびタイル境界の近くで使用される。図７は、水平境界における非対称部分フィルタを示す概念図である。図８は、垂直境界における非対称部分フィルタを示す概念図である。この手法では、図７および図８に示すように、利用可能なピクセル（すなわち、現在スライスおよび／またはタイル内のピクセル）のみがフィルタ処理のために使用される。タイル境界またはスライス境界外のフィルタタップはスキップされる。したがって、パディングされたピクセルデータは使用されない。図７および図８中のフィルタは、フィルタマスクの中心の一方の側（水平側または垂直側のいずれか）で使用されるフィルタタップが他方の側よりも多いので、非対称と呼ばれる。フィルタマスク全体は使用されないので、フィルタ係数は、所望の結果を生成するために再正規化され得る。再正規化のための技法について以下でより詳細に説明する。
【００６６】
図７のケース１では、フィルタマスク２２０の中心２２１が、水平スライス境界またはタイル境界からピクセルの１つの行離れている。フィルタマスク２２０は７×５フィルタであるので、垂直方向における１つのフィルタ係数が、水平境界を越えているピクセルに対応する。このフィルタ係数は白で、すなわち、白丸として示されている。白いフィルタ係数に対応するピクセルは、まだコーディングされて（たとえば、符号化または復号されて）いないので、フィルタ処理において使用するために利用不可能である。したがって、そのピクセルに対応するフィルタ係数は使用されない。同様に、ケース２では、フィルタマスク２２５の中心２２２が、水平スライス境界および／またはタイル境界に隣接するピクセルの行上にある。この場合、２つのフィルタ係数が、水平境界を越えているピクセルに対応する。したがって、フィルタマスク２２５中の２つの白いフィルタ係数のいずれもループフィルタ処理のために使用されない。ケース１とケース２の両方において、すべての黒い（すなわち、黒丸の）フィルタ係数が使用される。本開示によるフィルタピクセル値が、ピクセル値のルミナンス成分をフィルタ処理すること、ピクセル値のクロミナンス成分をフィルタ処理すること、またはピクセル値のルミナンス成分とクロミナンス成分の両方をフィルタ処理することを含み得ることに留意されたい。
【００６７】
図８のケース３では、フィルタマスク２３４の中心２３５が、垂直タイル境界からピクセルの２つの列離れている。フィルタマスク２３４は７×５フィルタであるので、水平方向における１つのフィルタ係数が、垂直境界を越えているピクセルに対応する。ここでも、このフィルタ係数は白で示されている。白いフィルタ係数に対応するピクセルは、まだコーディングされて（たとえば、符号化または復号されて）いないので、フィルタ処理において使用するために利用不可能である。したがって、そのピクセルに対応するフィルタ係数は使用されない。同様に、ケース４では、フィルタマスク２３２の中心２３３が、垂直タイル境界からピクセルの１つの列離れている。この場合、２つのフィルタ係数が、垂直境界を越えているピクセルに対応する。したがって、フィルタマスク２３２中の２つの白いフィルタ係数のいずれもループフィルタ処理のために使用されない。ケース５では、フィルタマスク２３０の中心２３１が、垂直タイル境界に隣接するピクセルの列上にある。この場合、３つのフィルタ係数が、垂直境界を越えているピクセルに対応する。したがって、フィルタマスク２３０中の３つの白いフィルタ係数のいずれもループフィルタ処理のために使用されない。ケース１、２または３のすべてにおいて、すべての黒いフィルタ係数が使用される。
【００６８】
別の例では、対称部分フィルタがスライス境界およびタイル境界の近くで使用される。図９は、水平境界における対称部分フィルタを示す概念図である。図１０は、垂直境界における対称部分フィルタを示す概念図である。非対称部分フィルタの場合と同様に、この手法では、利用可能なピクセルのみがフィルタ処理のために使用される。すなわち、タイル境界またはスライス境界外のフィルタタップはスキップされる。したがって、パディングされたピクセルデータは使用されない。また、対称フィルタマスクを保持するために、現在スライスまたはタイル内にあるフィルタマスクのいくつかの係数も使用されない。
【００６９】
たとえば、図９のケース６では、フィルタマスク２４０中の１つのフィルタ係数が水平スライス境界またはタイル境界外にある。フィルタマスクの反対側の、水平境界内の対応するフィルタ係数も使用されない。このようにして、中心係数２４１の周りの垂直方向における係数の対称構成が保持される。図９のケース７では、フィルタマスク２４２中の２つのフィルタ係数が水平境界を越えている。水平境界内の中心フィルタ係数２４３の反対側の対応する２つのフィルタ係数も使用されない。垂直タイル境界について同様の例が図１０に示されている。ケース８では、１つのフィルタ係数が、垂直タイル境界を越えるピクセルに対応する。この係数は、中心係数２５１の周りの対称性を維持するために、フィルタマスク２５０の水平部分の左側における別のピクセルと同様に、使用されない。２つの（ケース９）および４つの（ケース１０）フィルタ係数が、垂直境界を越えるピクセルに対応するケースにおいて、フィルタマスク２５２および２５４のために同様のフィルタマスク調整が行われる。ケース９および１０に示す、対称性は、それぞれ中心係数２５３および２５５の周りで維持される。
【００７０】
図７および図８に示す非対称部分フィルタと同様に、対称部分フィルタのためにフィルタマスク全体は使用されない。したがって、フィルタ係数は再正規化され得る。再正規化のための技法について以下でより詳細に説明する。
【００７１】
繰り返すが、図６〜図１０に示すフィルタマスクの各々について、フィルタマスクの中心に対応するピクセルのためのフィルタ処理された値が、（マスク中の暗い丸によって表される）フィルタ係数を関連ピクセル値に乗算することと、次いで乗算された値を合計することとによって計算される。
【００７２】
部分フィルタ（たとえば、非対称部分フィルタまたは対称部分フィルタ）を適用すべきか否かは適応決定であり得る。図７および図９に示す例では、部分フィルタが、ケース２およびケース７のためにではなく、ケース１およびケース６のために使用され得る。未使用フィルタ係数の数がより大きいので、ケース２およびケース７のために部分フィルタを使用することは好ましくないことがある。代わりに、以下で説明する他の技法（たとえば、ミラーパディング、フィルタ処理のスキップなど）がケース２およびケース７のために使用され得る。同様に、図８および図１０に示す例では、部分フィルタ処理の使用は、ケース５および１０のためにではなく、ケース３、４、８、および９のために適用可能であり得る。
【００７３】
部分フィルタを使用するという、コーダ、すなわち、エンコーダまたはデコーダによって行われる決定は、他の基準にも基づき得る。たとえば、対応するピクセルが利用可能でない係数の数が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。対応するピクセルが利用可能でない係数値の和が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。別の例として、対応するピクセルが利用可能でない係数値の絶対値の和が何らかのしきい値よりも大きいとき、部分フィルタは使用されないことがある。
【数４】
0005876156.tif 000005
【００７４】
タイル境界の特定のスライスのための部分フィルタを適用すべきかどうかを決定するために、上記の条件のサブセットが選択され得る。上記の条件では、対応するピクセルは、たとえば、現在ピクセルのフィルタ処理されたピクセル値を生成するためのピクセル値の重み付け和の一部として、ピクセル値を重み付けするために特定の係数がそれに適用されるべきであるピクセル値をもつピクセルである。
【００７５】
本開示の別の例では、部分フィルタ処理は、水平スライス境界およびタイル境界のために有効化されるにすぎないことがある。しかしながら、垂直境界において、ループフィルタ処理は完全にスキップされ得る。より詳細には、一例では、ビデオコーダが、ループフィルタマスクが垂直タイル境界の反対側のピクセルを使用することになると判断した場合、ループフィルタ処理はそのピクセルについてスキップされることになる。他の例では、ビデオコーダが、ループフィルタマスクがコーディングユニット中の１つまたは複数のピクセルのために垂直タイル境界の反対側のピクセルを使用することになると判断した場合、ループフィルタ処理はコーディングユニット全体についてスキップされることになる。
【００７６】
本開示の他の例では、部分フィルタ処理が使用されないとき、追加の技法がスライス境界およびタイル境界において適用され得る。一例では、ループフィルタ処理技法は、繰り返してパディングされたピクセルを使用するのではなく、スライス境界またはタイル境界の反対側のミラーリングされたパディングされたピクセルを使用し得る。ミラーリングされたピクセルは、スライス境界またはタイル境界の内側のピクセル値を反映する。たとえば、利用不可能なピクセルが、タイル境界またはスライス境界に隣接し、すなわち、タイル境界またはスライス境界の外側にある場合、それは、同じくその境界に隣接する、タイル境界またはスライス境界の内側のピクセルの値（すなわち、ミラー）をとることになる。同様に、利用不可能なピクセルが、タイル境界またはスライス境界から１行または１列離れている場合、それは、同じくその境界から１行または１列離れている、タイル境界またはスライス境界の内側のピクセルの値（すなわち、ミラー）をとることになり、以下同様である。
【００７７】
別の例では、タイル境界またはスライス境界の反対側のピクセルのためのフィルタ処理された値は、ａ＊パディングされたデータを使用するループフィルタａ＋ｂ＊事前フィルタ処理された出力、という式に従って計算され得、上式でａ＋ｂ＝１である。すなわち、パディングされたピクセル（すなわち、スライス境界またはタイル境界の反対側に追加されたピクセル）に、パディングされたピクセルに対応するループフィルタ係数を乗算し、定数「ａ」を乗算する。この値は、次いで、事前フィルタ処理されたパディングされたピクセル値と定数「ｂ」との乗算に追加され、上式でａ＋ｂ＝１である。値ａおよびｂは、トレーニングに基づいて事前定義された値であり、一般に０．５および０．５である。
【００７８】
対称および非対称部分フィルタのためのフィルタ係数の再正規化は、異なる方法で達成され得る。概して、再正規化プロセスは、部分フィルタマスク中の残りのフィルタ係数の合計値が元のフィルタ係数の合計値に等しくなるように、残りのフィルタ係数の値を再計算する。しばしば、この合計値は１である。元のフィルタ係数がＣ＿１，．．．，Ｃ＿Ｎと標示され、Ｃが特定の係数の値である例について考えられたい。次に、Ｃ＿１，．．．，Ｃ＿Ｍ係数が、利用可能な対応するピクセルを有しない（すなわち、対応するピクセルがスライス境界またはタイル境界を越えている）と仮定されたい。再正規化されたフィルタ係数は以下のように定義され得る。
【００７９】
例１
【数５】
0005876156.tif 000006
【００８０】
例１では、Ｃｏｅｆｆ＿ａｌｌは、互いに合計されたフィルタマスク中のすべての係数の値を表す。Ｃｏｅｆｆ＿ｐａｒｔは、部分フィルタマスク中のすべての係数の値を表す。すなわち、利用不可能なピクセルに対応する係数の合計された値（Ｃ＿１＋．．．＋Ｃ＿Ｍ）がフィルタマスク中のすべての考えられる係数の和（Ｃｏｅｆｆ＿ａｌｌ）から減算される。Ｎｅｗ＿ｃｏｅｆｆｓ＿Ｃｉ’は、再正規化プロセスの後の部分係数におけるフィルタ係数の値を表す。上記の例１では、部分フィルタ中に残っている係数の値にフィルタマスク中のすべての考えられる係数の合計値（Ｃｏｅｆｆ＿ａｌｌ）を乗算し、それを部分フィルタマスク中のすべての係数の合計値（Ｃｏｅｆｆ＿ｐａｒｔ）で除算する。
【００８１】
以下の例２に、部分フィルタ中のフィルタ係数を再正規化するための別の技法を示す。
【００８２】
例２
Ｃ＿ｉ、ｉ＝Ｍ＋１，．．．，Ｎのサブセットについて、Ｃ＿ｋ、ｋ＝１，．．．，Ｍを加算する
たとえば、
【数６】
0005876156.tif 000007
【００８３】
この例では、フィルタ係数は、スキップされていないフィルタタップの係数（Ｃ＿ｉ）にスキップされたフィルタタップの係数（Ｃ＿ｋ）を加算することによって再正規化される。
【００８４】
図１１は、本開示で説明するビデオコーディングプロセスにおけるループフィルタ処理のための技法を使用し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコーディングのコンテキストにおいて説明するが、ループフィルタ処理を必要とし得る他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在フレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード（登録商標））は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指すことがある。
【００８５】
図１１に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図１１の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測モジュール４６と、参照フレームバッファ６４と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図１１に示す変換モジュール５２は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２と、ループフィルタユニット４３とを含む。ループフィルタユニット４３は、デブロッキングフィルタユニット、ＳＡＯフィルタユニット、およびＡＬＦフィルタユニットのうちの１つまたは複数を備え得る。
【００８６】
符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測モジュール４６は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。
【００８７】
モード選択ユニット４０は、たとえば、各モードについてのレートひずみ結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック（たとえば、予測ユニット（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器６２に与える。加算器６２は、以下でより詳細に説明するように、予測ブロックを、そのブロックについての、逆変換モジュール６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームはＩフレームに指定され得、Ｉフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測モジュール４６は、ＰフレームまたはＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【００８８】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定（または動き探索）は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。動き推定ユニット４２は、予測ユニットを参照フレームバッファ６４に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得、必ずしも、参照フレームまたはスライスのブロック（たとえば、コーディングユニット）境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
【００８９】
動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、たとえば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在ＣＵの予測ユニットについての予測値を計算し得る。
【００９０】
イントラ予測モジュール４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信ブロックをイントラ予測し得る。イントラ予測モジュール４６は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測モジュール４６は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測モジュール４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、たとえば、３５個の方向性予測モードで構成され得る。
【００９１】
イントラ予測モジュール４６は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をＰＵ中の１つまたは複数のピクセル位置に適用するための機能を含み得る。ＰＵ中のすべてのピクセル位置の値が計算されると、イントラ予測モジュール４６は、ＰＵと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測モジュール４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測モジュール４６は、次いで、ＰＵを加算器５０に送り得る。
【００９２】
ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測モジュール４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中のピクセルの数と同じである。残差ブロック中の値は、ＰＵ中のコロケートピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じてクロマ差分またはルーマ差分であり得る。
【００９３】
変換モジュール５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成し得る。変換モジュール５２は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性に基づいて選択され得る。変換モジュール５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。変換モジュール５２は、選択された変換パーティションを符号化ビデオビットストリーム中でシグナリングし得る。
【００９４】
変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。エントロピー符号化ユニット５６が、次いで、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット５６が走査を実行するものとして説明する。ただし、他の例では、量子化ユニット５４などの他の処理ユニットが走査を実行し得ることを理解されたい。
【００９５】
変換係数が１次元アレイに走査されると、エントロピー符号化ユニット５６は、ＣＡＶＬＣ、ＣＡＢＡＣ、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。
【００９６】
ＣＡＶＬＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。
【００９７】
ＣＡＢＡＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非０であるか否かに関係し得る。エントロピー符号化ユニット５６はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、エントロピー符号化ユニット５６は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測モードのためのイントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、および／または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
【００９８】
エントロピー符号化ユニット５６によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ３０などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【００９９】
場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて、他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６は、ＣＵおよびＰＵのコード化ブロックパターン（ＣＢＰ：coded block pattern）値を判断するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は係数のランレングスコーディングを実行し得る。
【０１００】
逆量子化ユニット５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームバッファ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、再構成されたビデオブロックを生成する。
【０１０１】
ループフィルタユニット４３は、次いで、上記で説明した技法による、再構成されたブロックに対するループフィルタ処理を実行し得る。本開示の例では、ループフィルタユニット４３は、単独でまたはビデオエンコーダ２０の他の構成要素とともに、ビデオコーディングプロセスにおいてループフィルタ処理を実行するように構成され得る。たとえば、ループフィルタユニット４３は、再構成されたブロックの現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタ（たとえば、本開示の例による対称または非対称部分ループフィルタ）を使用して現在ピクセルに対してループフィルタ処理を実行することとを行うように構成され得る。
【０１０２】
一例では、ループフィルタユニット４３は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応するフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとを行うようにさらに構成され得る。ループフィルタユニット４３はまた、部分フィルタマスクを再正規化し得、ループフィルタ処理を実行することが、再正規化された部分フィルタマスクとともに部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行することを備える。
【０１０３】
別の例では、ループフィルタユニット４３は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、スライス境界およびタイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとを行うようにさらに構成され得る。
【０１０４】
本開示で説明するループフィルタ処理技法を使用して、ピクセルをフィルタ処理した後に、フィルタ処理された再構成されたビデオブロックは、次いで参照フレームバッファ６４に記憶される。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。このようにして、ループフィルタユニット４３は、たとえば、図６〜図１０に関して説明したように、本開示の技法によるビデオデータのループ内フィルタ処理を実行するフィルタ処理ユニットの一例を表す。
【０１０５】
図１２は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図１２の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測モジュール７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームバッファ８２と、ループフィルタユニット７９と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図１１参照）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１０６】
エントロピー復号ユニット７０は、変換係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコーディング（たとえば、ＣＡＢＡＣ、ＣＡＶＬＣなど）に依存する。エンコーダによって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされるか、または所定のプロセスであり得る。
【０１０７】
いくつかの例では、エントロピー復号ユニット７０（または逆量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（または量子化ユニット５４）によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット７６において実行され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、および他のユニットの構造および機能は互いに高度に統合され得る。
【０１０８】
逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、ＨＥＶＣのために提案されたプロセスまたはＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
【０１０９】
逆変換モジュール７８は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換モジュール７８は、ビデオエンコーダ２０からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの１つまたは複数のコーディング特性から変換を推論することによって、逆変換を判断し得る。いくつかの例では、逆変換モジュール７８は、現在ブロックを含むＬＣＵのための４分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を判断し得る。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換モジュール７８は、逆変換モジュール７８が、復号されている現在ブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
【０１１０】
イントラ予測モジュール７４は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。
【０１１１】
取り出された動き予測方向、参照フレームインデックス、および計算された現在動きベクトルに基づいて、動き補償ユニットは現在部分の動き補償ブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
【０１１２】
動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１１３】
さらに、動き補償ユニット７２およびイントラ予測モジュール７４は、ＨＥＶＣの例では、（たとえば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されたＬＣＵのサイズを判断し得る。動き補償ユニット７２およびイントラ予測モジュール７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（および、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を判断し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つまたは複数の参照フレーム（および／またはそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
【０１１４】
加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測モジュール７４によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。ループフィルタユニット７９は、次いで、上記で説明した技法によるループフィルタ処理を実行する。
【０１１５】
本開示の例では、ループフィルタユニット７９は、単独でまたはビデオデコーダ３０の他の構成要素とともに、ビデオコーディングプロセスにおいてループフィルタ処理を実行するように構成され得る。ループフィルタ処理は、デブロッキング、ＡＬＦ、およびＳＡＯのフィルタ処理のうちの１つまたは複数を含み得る。たとえば、ループフィルタユニット７９は、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行することとを行うように構成され得る。
【０１１６】
一例では、ループフィルタユニット７９は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応するフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとを行うようにさらに構成され得る。ループフィルタユニット７９はまた、部分フィルタマスクを再正規化し得、ループフィルタ処理を実行することが、再正規化された部分フィルタマスクとともに部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行することを備える。
【０１１７】
別の例では、ループフィルタユニット７９は、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、スライス境界およびタイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成することとを行うようにさらに構成され得る。
【０１１８】
復号ビデオブロックは、次いで、参照フレームバッファ８２に記憶され、参照フレームバッファ８２は、インター予測コーディングのためのその後の動き補償のための参照ブロックを与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。このようにして、ループフィルタユニット７９は、たとえば、図６〜図１０に関して説明したように、本開示の技法によるビデオデータのループ内フィルタ処理を実行するフィルタ処理ユニットの一例を表す。
【０１１９】
図１３は、本開示によるループフィルタ処理の例示的な方法を示すフローチャートである。図１３に示す技法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかによって（概してビデオコーダによって）実装され得る。ビデオコーダが、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断する（８２０）ように構成され得る。ビデオコーダは、フィルタマスクから、スライス境界またはタイル境界を越える１つまたは複数のピクセルに対応する第１のフィルタ係数を削除する（８２２）ようにさらに構成され得る。この場合、非対称部分フィルタが形成される。場合によっては、ビデオコーダは、削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、スライス境界およびタイル境界の内側のピクセルに対応する第２のフィルタ係数を削除する（８２４）ようにさらに構成され得る。
【０１２０】
ビデオコーダは、フィルタマスク中の残りのフィルタ係数を使用して部分ループフィルタのための部分フィルタマスクを作成する（８２６）ことと、部分フィルタマスクを再正規化する（８２８）こととを行うようにさらに構成され得る。フィルタ係数を再正規化することは、部分フィルタマスク中の残りのフィルタ係数の合計値が全フィルタマスク中のフィルタ係数の合計値に等しくなるように、残りのフィルタ係数の値を再計算することを含み得る。しばしば、この合計値は１である。ビデオコーダは、次いで、再正規化された部分フィルタマスクとともに部分ループフィルタを使用して現在ピクセルに対してループフィルタ処理を実行する（８３０）。
【０１２１】
いくつかの例では、ビデオコーダは、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルが垂直タイル境界を越えていると判断することと、現在ピクセルのためのループフィルタ処理を実行することをスキップすることとを行うようにさらに構成され得る。
【０１２２】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１２３】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１２４】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１２５】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１２６】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオコーディングプロセスにおいてループフィルタ処理を実行するための方法であって、前記方法は、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することとを備える、方法。
［２］  前記部分ループフィルタを定義することをさらに備え、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する前記フィルタ係数を削除することと、前記フィルタマスク中の残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することとを備える、［１］に記載の方法。
［３］  前記部分ループフィルタを定義することは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［２］に記載の方法。
［４］  前記部分ループフィルタを定義することをさらに備え、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、前記フィルタマスク中の前記残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することとを備える、［１］に記載の方法。
［５］  前記部分ループフィルタを定義することは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［４］に記載の方法。
［６］  前記部分ループフィルタを定義することは、前記フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化されたフィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［１］に記載の方法。
［７］  前記現在ピクセルについて、前記ループフィルタのための前記フィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルが垂直タイル境界を越えていると判断することと、前記現在ピクセルのためのループフィルタ処理を実行することをスキップすることとをさらに備える、［１］に記載の方法。
［８］  前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記方法は、ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとをさらに備える、［１］に記載の方法。
［９］  前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記方法は、ビデオデータの符号化ブロックを受信することと、ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとをさらに備える、［１］に記載の方法。
［１０］  ループフィルタ処理を実行することが、サンプル適応オフセットフィルタ処理、適応ループフィルタ処理、およびデブロッキングフィルタ処理のうちの１つまたは複数を実行することを備える、［１］に記載の方法。
［１１］  ビデオコーディングプロセスにおいてループフィルタ処理を実行するように構成された装置であって、前記装置は、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することとを行うように構成されたビデオコーダを備える、装置。
［１２］  前記ビデオコーダが、前記部分ループフィルタを定義するようにさらに構成され、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する前記フィルタ係数を削除することと、前記フィルタマスク中の残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することとを備える、［１１］に記載の装置。
［１３］  前記ビデオコーダは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを行うようにさらに構成された、［１２］に記載の装置。
［１４］  前記ビデオコーダが、前記部分ループフィルタを定義するようにさらに構成され、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、前記フィルタマスク中の前記残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することと
を備える、［１１］に記載の装置。
［１５］  前記ビデオコーダは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを行うようにさらに構成された、［１４］に記載の装置。
［１６］  前記ビデオコーダは、前記フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化されたフィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを行うようにさらに構成された、［１１］に記載の装置。
［１７］  前記ビデオコーダは、前記現在ピクセルについて、前記ループフィルタのための前記フィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルが垂直タイル境界を越えていると判断することと、前記現在ピクセルのためのループフィルタ処理を実行することをスキップすることとを行うようにさらに構成された、［１１］に記載の装置。
［１８］  前記ビデオコーダがビデオエンコーダであり、前記ビデオエンコーダは、ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとを行うようにさらに構成された、［１１］に記載の装置。
［１９］  前記ビデオコーダがビデオデコーダであり、前記ビデオデコーダは、ビデオデータの符号化ブロックを受信することと、ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとを行うようにさらに構成された、［１１］に記載の装置。
［２０］  ループフィルタ処理を実行することが、サンプル適応オフセットフィルタ処理、適応ループフィルタ処理、およびデブロッキングフィルタ処理のうちの１つまたは複数を実行することを備える、［１１］に記載の装置。
［２１］  ビデオコーディングプロセスにおいてループフィルタ処理を実行するように構成された装置であって、前記装置は、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断するための手段と、部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行するための手段とを備える、装置。
［２２］  前記部分ループフィルタを定義するための手段をさらに備え、前記部分ループフィルタを定義するための前記手段は、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する前記フィルタ係数を削除するための手段と、前記フィルタマスク中の残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成するための手段であって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成するための手段とを備える、［２１］に記載の装置。
［２３］  前記部分ループフィルタを定義するための前記手段は、前記部分フィルタマスクを再正規化するための手段であって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化するための手段を備える、［２２］に記載の装置。
［２４］  前記部分ループフィルタを定義するための手段をさらに備え、前記部分ループフィルタを定義するための前記手段は、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除するための手段と、前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除するための手段と、前記フィルタマスク中の前記残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成するための手段であって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成するための手段とを備える、［２１］に記載の装置。
［２５］  前記部分ループフィルタを定義するための前記手段は、前記部分フィルタマスクを再正規化するための手段であって、ループフィルタ処理を実行するための前記手段が、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行するための手段を備える、再正規化するための手段を備える、［２４］に記載の装置。
［２６］  前記部分ループフィルタを定義するための前記手段は、前記フィルタマスクを再正規化するための手段であって、ループフィルタ処理を実行するための前記手段が、前記再正規化されたフィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行するための手段を備える、再正規化するための手段を備える、［２１］に記載の装置。
［２７］  前記現在ピクセルについて、前記ループフィルタのための前記フィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルが垂直タイル境界を越えていると判断するための手段と、前記現在ピクセルのためのループフィルタ処理を実行することをスキップするための手段とをさらに備える、［２１］に記載の装置。
［２８］  前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記装置は、ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化するための手段と、ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成するための手段であって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成するための手段とをさらに備える、［２１］に記載の装置。
［２９］  前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記装置は、ビデオデータの符号化ブロックを受信するための手段と、ビデオデータの再構成されたブロックを形成するために予測プロセスを実行するための手段であって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行するための手段とをさらに備える、［２１］に記載の装置。
［３０］  ループフィルタ処理を実行するための前記手段が、サンプル適応オフセットフィルタ処理、適応ループフィルタ処理、およびデブロッキングフィルタ処理のうちの１つまたは複数を実行するための手段を備える、［２１］に記載の装置。
［３１］  実行されたとき、ビデオコーディングプロセスを実行するように構成された１つまたは複数のプロセッサに、現在ピクセルについて、ループフィルタのためのフィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルがスライス境界またはタイル境界の一方を越えていると判断することと、部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することとを行わせる、命令を記憶するコンピュータ可読記憶媒体。
［３２］  前記１つまたは複数のプロセッサが、前記部分ループフィルタを定義するようにさらに構成され、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する前記フィルタ係数を削除することと、前記フィルタマスク中の残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することとを備える、［３１］に記載のコンピュータ可読記憶媒体。
［３３］  前記部分ループフィルタを定義することは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［３２］に記載のコンピュータ可読記憶媒体。
［３４］  前記１つまたは複数のプロセッサが、前記部分ループフィルタを定義するようにさらに構成され、前記部分ループフィルタを定義することは、前記フィルタマスクから、前記スライス境界または前記タイル境界を越える前記１つまたは複数のピクセルに対応する第１のフィルタ係数を削除することと、前記削除された第１のフィルタ係数に対して対称のフィルタマスクを維持するために、前記スライス境界および前記タイル境界の内側のピクセルに対応する第２のフィルタ係数を削除することと、前記フィルタマスク中の前記残りのフィルタ係数を使用して前記部分ループフィルタのための部分フィルタマスクを作成することであって、前記部分フィルタマスクが前記部分ループフィルタを定義する、作成することとを備える、［３１］に記載のコンピュータ可読記憶媒体。
［３５］  前記部分ループフィルタを定義することは、前記部分フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化された部分フィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［３４］に記載のコンピュータ可読記憶媒体。
［３６］  前記部分ループフィルタを定義することは、前記フィルタマスクを再正規化することであって、ループフィルタ処理を実行することが、前記再正規化されたフィルタマスクとともに前記部分ループフィルタを使用して前記現在ピクセルに対してループフィルタ処理を実行することを備える、再正規化することを備える、［３１］に記載のコンピュータ可読記憶媒体。
［３７］  前記１つまたは複数のプロセッサは、前記現在ピクセルについて、前記ループフィルタのための前記フィルタマスクのフィルタ係数に対応する１つまたは複数のピクセルが垂直タイル境界を越えていると判断することと、前記現在ピクセルのためのループフィルタ処理を実行することをスキップすることとを行うようにさらに構成された、［３１］に記載のコンピュータ可読記憶媒体。
［３８］  前記ビデオコーディングプロセスがビデオ符号化プロセスであり、前記１つまたは複数のプロセッサは、ビデオデータの符号化ブロックを形成するためにビデオデータのブロックを符号化することと、ビデオデータの再構成されたブロックを形成するためにビデオデータの前記符号化ブロックを再構成することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、再構成することとを行うようにさらに構成された、［３１］に記載のコンピュータ可読記憶媒体。
［３９］  前記ビデオコーディングプロセスがビデオ復号プロセスであり、前記１つまたは複数のプロセッサは、ビデオデータの符号化ブロックを受信することと、ビデオデータの再構成されたブロックを形成するために予測プロセスを実行することであって、前記現在ピクセルがビデオデータの前記再構成されたブロック内にある、実行することとを行うようにさらに構成された、［３１］に記載のコンピュータ可読記憶媒体。
［４０］  ループフィルタ処理を実行することが、サンプル適応オフセットフィルタ処理、適応ループフィルタ処理、およびデブロッキングフィルタ処理のうちの１つまたは複数を実行することを備える、［３１］に記載のコンピュータ可読記憶媒体。
【図１】
0005876156.tif 000008
【図２】
0005876156.tif 000009
【図３】
0005876156.tif 000010
【図４】
0005876156.tif 000011
【図５】
0005876156.tif 000012
【図６】
0005876156.tif 000013
【図７】
0005876156.tif 000014
【図８】
0005876156.tif 000015
【図９】
0005876156.tif 000016
【図１０】
0005876156.tif 000017
【図１１】
0005876156.tif 000018
【図１２】
0005876156.tif 000019
【図１３】
0005876156.tif 000020