(57)【特許請求の範囲】
【請求項１】
ビデオデータを処理する方法であって、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定することと、
境界強度値決定プロセスを実行することによって境界強度値を決定することと、ここにおいて、前記現在ブロックがイントラブロックコピー（ＩＢＣ）コード化ブロックであるか、前記隣接ブロックがＩＢＣコード化ブロックであるかのうちの少なくとも１つであり、ここにおいて、前記現在ブロックと前記隣接ブロックのどちらもイントラモードコード化されておらず、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定することが、ＩＢＣコード化された前記現在ブロック又は前記隣接ブロックの一方に対する参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定することと、前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかの前記決定に基づいて前記境界強度値を決定することとを備え、ここにおいて、前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の前記境界強度値を決定するための境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを備える方法。
【請求項２】
前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がＩＢＣコード化ブロックであり、他方のブロックがインターコード化ブロックである場合の前記境界強度値を決定するための境界強度値決定プロセスと同じである、請求項１に記載の方法。
【請求項３】
前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるかどうかを決定することを更に備え、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定することが、
前記参照ブロック中の前記画素のいずれもイントラモードでもＩＢＣモードでもコード化されないと決定することに基づいて前記境界強度値を１に等しく設定すること、又は、前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されると決定することに基づいて前記境界強度値を２に等しく設定することを備える、請求項１に記載の方法。
【請求項４】
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを更に備える、請求項１に記載の方法。
【請求項５】
各領域が、ピクチャ、タイル、スライス、予測単位（ＰＵ）ブロック、コード化単位（ＣＵ）、コード化ツリーブロック（ＣＴＢ）、ＣＴＢのグループ、Ｎ×Ｎの固定されたサイズ又はＭ×Ｎの矩形区分のうちの１つを備える、請求項４に記載の方法。
【請求項６】
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、パラメータセット拡張又は補助強化情報（ＳＥＩ）メッセージのうちの１つ又は複数における情報を受信すること、
ここにおいて、前記ピクチャ中の前記領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することが、前記ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ、パラメータセット拡張又はＳＥＩメッセージのうちの１つ以上における受信された情報に基づいて決定することを備える、を更に備える、請求項４に記載の方法。
【請求項７】
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、パラメータセット拡張又は補助強化情報（ＳＥＩ）メッセージのうちの１つ以上における情報を出力すること、ここにおいて、前記情報が、前記ピクチャ中の前記領域が前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを識別する、を更に備える、請求項４に記載の方法。
【請求項８】
ビデオデータを処理するための機器であって、
前記ビデオデータの隣接ブロックを記憶するように構成されたメモリと、
固定機能又はプログラマブル回路の少なくとも１つを備えるビデオコーダとを備え、前記ビデオコーダが、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の前記隣接ブロックのコード化モードとを決定することと、
境界強度値決定プロセスを実行することによって境界強度値を決定することと、ここにおいて、前記現在ブロックがイントラブロックコピー（ＩＢＣ）コード化ブロックであるか、前記隣接ブロックがＩＢＣコード化ブロックであるかのうちの少なくとも１つであり、ここにおいて、前記現在ブロックと前記隣接ブロックのどちらもイントラモードコード化されておらず、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定するために、前記ビデオコーダが、ＩＢＣコード化された前記現在ブロック又は前記隣接ブロックの一方に対する参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定することと、前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかの前記決定に基づいて前記境界強度値を決定することとを行うように構成され、ここにおいて、前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の前記境界強度値を決定するための、前記ビデオコーダによって実行される境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することと
を行うように構成される、機器。
【請求項９】
前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がＩＢＣコード化ブロックであり、他方のブロックがインターコード化ブロックである場合の前記境界強度値を決定するための境界強度値決定プロセスと同じである、請求項８に記載の機器。
【請求項１０】
前記ビデオコーダが、前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるかどうかを決定するように構成され、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定するために、前記ビデオコーダが、
前記参照ブロック中の前記画素のいずれもイントラモードでもＩＢＣモードでもコード化されないという前記決定に基づいて前記境界強度値を１に等しく設定すること、又は、前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるという前記決定に基づいて前記境界強度値を２に等しく設定することを行うように構成される、請求項８に記載の機器。
【請求項１１】
前記ビデオコーダが、
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を、前記メモリユニットに記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを行うように構成される、請求項８に記載の機器。
【請求項１２】
各領域が、ピクチャ、タイル、スライス、予測単位（ＰＵ）ブロック、コード化単位（ＣＵ）、コード化ツリーブロック（ＣＴＢ）、ＣＴＢのグループ、Ｎ×Ｎの固定されたサイズ又はＭ×Ｎの矩形区分のうちの１つを備える、請求項１１に記載の機器。
【請求項１３】
前記ビデオコーダがビデオデコーダを備え、ここにおいて、前記ビデオデコーダが、
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ又は補助強化情報（ＳＥＩ）メッセージのうちの１つ以上における情報を受信することを行うように構成され、
ここにおいて、前記ピクチャ中の前記領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定するために、前記ビデオデコーダが、前記ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はＳＥＩメッセージのうちの１つ以上における受信された情報に基づいて決定するように構成される、請求項１１に記載の機器。
【請求項１４】
前記ビデオコーダがビデオエンコーダを備え、ここにおいて、前記ビデオエンコーダが、
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ又は補助強化情報（ＳＥＩ）メッセージのうちの１つ以上における情報を出力すること、ここにおいて、前記情報が、前記ピクチャ中の前記領域が前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを識別する、を行うように構成される、請求項１１に記載の機器。
【請求項１５】
前記機器が、
集積回路（ＩＣ）、
マイクロプロセッサ、又は
前記ピクチャをキャプチャするためのカメラ若しくは前記ピクチャを表示するための表示器のうちの少なくとも１つを含む、ワイヤレス通信機器のうちの１つ以上を備える、請求項８に記載の機器。
【請求項１６】
実行されたとき、ビデオデータを処理するための機器の１つ以上のプロセッサに、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定することと、
境界強度値決定プロセスを実行することによって境界強度値を決定することと、ここにおいて、前記現在ブロックがイントラブロックコピー（ＩＢＣ）コード化ブロックであるか、前記隣接ブロックがＩＢＣコード化ブロックであるかのうちの少なくとも１つであり、ここにおいて、前記現在ブロックと前記隣接ブロックのどちらもイントラモードコード化されておらず、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定することを、前記１つ以上のプロセッサに行わせる命令が、ＩＢＣコード化された前記現在ブロック又は前記隣接ブロックの一方に対する参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定することと、前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかの前記決定に基づいて前記境界強度値を決定することとを、前記１つ以上のプロセッサに、行わせる命令を備え、ここにおいて、前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の前記境界強度値を決定するための境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを行わせる命令を記憶した、コンピュータ可読記憶媒体。
【請求項１７】
前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がＩＢＣコード化ブロックであり、他方のブロックがインターコード化ブロックである場合の前記境界強度値を決定するための境界強度値決定プロセスと同じである、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるかどうかを決定することを、前記１つ以上のプロセッサに行わせる命令を更に備え、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定することを、前記１つ以上のプロセッサに行わせる前記命令が、
前記参照ブロック中の前記画素のいずれもイントラモードでもＩＢＣモードでもコード化されないという前記決定に基づいて前記境界強度値を１に等しく設定すること、又は、前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるという前記決定に基づいて前記境界強度値を２に等しく設定すること
を、前記１つ以上のプロセッサに行わせる命令を備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記１つ以上のプロセッサに、
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを行わせる命令を更に備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２０】
ビデオデータを処理するための機器であって、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定するための手段と、
境界強度値決定プロセスを実行することによって境界強度値を決定するための手段と、ここにおいて、前記現在ブロックがイントラブロックコピー（ＩＢＣ）コード化ブロックであるか、前記隣接ブロックがＩＢＣコード化ブロックであるかのうちの少なくとも１つであり、ここにおいて、前記現在ブロックと前記隣接ブロックのどちらもイントラモードコード化されておらず、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定するための前記手段が、ＩＢＣコード化された前記現在ブロック又は前記隣接ブロックの一方に対する参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定するための手段と、前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかの前記決定に基づいて前記境界強度値を決定するための手段とを備え、ここにおいて、前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の前記境界強度値を決定するための境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理するための手段とを備える機器。
【請求項２１】
前記境界強度値を決定するための前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がＩＢＣコード化ブロックであり、他方のブロックがインターコード化ブロックである場合の前記境界強度値を決定するための境界強度値決定プロセスと同じである、請求項２０に記載の機器。
【請求項２２】
前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるかどうかを決定することを更に備え、ここにおいて、前記境界強度値決定プロセスを実行することによって前記境界強度値を決定するための前記手段が、
前記参照ブロック中の前記画素のいずれもイントラモードでもＩＢＣモードでもコード化されないという前記決定に基づいて前記境界強度値を１に等しく設定するための手段、又は前記参照ブロック中のいずれかの画素がイントラモード又はＩＢＣモードでコード化されるという前記決定に基づいて前記境界強度値を２に等しく設定するための手段を備える、請求項２０に記載の機器。
【請求項２３】
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定するための手段と、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶するための手段と、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避するための手段とを更に備える、請求項２０に記載の機器。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１４年１０月７日に出願された米国仮出願第６２／０６１，０６３号、及び２０１４年１０月１３日に出願された米国仮出願第６２／０６３，３３０号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコード化に関し、より詳細には、ビデオデータをフィルタ処理するための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲の機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，高度ビデオコード化（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格及びそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を含む。ブロックベースのビデオコード化の場合、ビデオピクチャ又はスライスはブロックに区分され得る。各ブロックは更に区分され得る。イントラコード化（Ｉ）ピクチャ又はスライス中のブロックは、同じピクチャ又はスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化（Ｐ又はＢ）ピクチャ又はスライス中のブロックは、同じピクチャ又はスライス中の隣接ブロック中の参照サンプルに対する空間的予測若しくは他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。空間的又は時間的予測は、コード化されるべきブロックのための予測ブロック（「予測ブロック」と呼ばれることもある）を生じる。残差データは、コード化されるべき元のブロックと、予測ブロックとの間の画素差分を表す。
【０００５】
[0005]インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは画素領域から変換領域に変換されて残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、イントラブロックコピーモードでコード化（例えば、符号化又は復号）される隣接ブロックとの、又はブロック自体がイントラブロックコピーモードでコード化される場合の、ブロックのための境界強度値を決定するための技法に関する。このようにして、境界強度値は、イントラブロックコピーが使用されるとき、インター又はイントラ予測のために使用される境界強度値計算を活用するのではなく、独立した方法で決定される。境界強度値から、ビデオコーダ（例えば、ビデオエンコーダ又はビデオデコーダ）は、デブロックフィルタ処理が適用される方法を決定し得る。
【０００７】
[0007]本開示はまた、ピクチャ内の領域のための画素値が記憶されるべきであるかどうかを決定するための例示的な技法についても説明する。例えば、イントラブロックコピーモードでは、ブロックは、そのブロックと同じピクチャ中の参照ブロックのフィルタ処理されていない画素値から予測される。しかしながら、ピクチャ内の全てのブロック又は領域が、イントラブロックコピーモードのために使用されるとは限らないことがある。幾つかの例では、ビデオコーダは、イントラブロックコード化のための参照ブロックとして使用されるブロックを、領域が含まないと決定された場合、その領域のフィルタ処理されていない画素値を記憶しなくてよい。
【０００８】
[0008]一例では、本開示は、ビデオデータを処理する方法について説明し、この方法は、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定することと、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、境界強度値決定プロセスが、インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、境界強度値決定プロセスが、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを備える。
【０００９】
[0009]一例では、本開示は、ビデオデータを処理するための機器について説明し、この機器は、ビデオデータの隣接ブロックを記憶するように構成されたメモリと、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定することと、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、境界強度値決定プロセスが、インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、境界強度値決定プロセスが、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを行うように構成されたビデオコーダとを備える。
【００１０】
[0010]一例では、本開示は、ビデオデータを処理するための機器について説明し、この機器は、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定するための手段と、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行するための手段と、ここにおいて、境界強度値決定プロセスが、インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、境界強度値決定プロセスが、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理するための手段とを備える。
【００１１】
[0011]一例では、本開示は、実行されたとき、ビデオデータを処理するための機器の１つ又は複数のプロセッサに、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定することと、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、境界強度値決定プロセスが、インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、境界強度値決定プロセスが、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを行わせる命令を記憶した、非一時的コンピュータ可読記憶媒体について説明する。
【００１２】
[0012]本開示の１つ又は複数の例の詳細が添付の図面及び以下の説明に記載されている。他の特徴、目的及び利点は、説明及び図面並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示の技法を実装し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】[0014]本開示の技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0015]本開示の技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４Ａ】[0016]隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｂ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｃ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｄ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｅ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｆ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｇ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｈ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図４Ｉ】隣接ブロックの異なるコード化モードの異なる組合せを示す概念図。
【図５】[0017]それに対してデブロックフィルタ処理が実行され得る近接ブロックを示す図。
【図６】[0018]イントラブロックコピー（イントラＢＣ）プロセスの一例を示す図。
【図７】[0019]マージモード及びＡＭＶＰモードのための空間隣接動きベクトル候補を示す図。
【図８】[0020]ピクチャ中のコード化単位（ＣＵ）のための例示的なイントラブロックコピー（ＩＢＣ）予測分配を示す概念図。
【図９】[0021]本開示による１つの例示的な技法を示すフローチャート。
【図１０】[0022]本開示による１つの例示的な技法を示すフローチャート。
【発明を実施するための形態】
【００１４】
[0023]本開示は、デブロックフィルタ処理のための境界強度値決定のための例示的な技法について説明する。例えば、本開示は、スクリーンコンテンツコード化などのために、イントラブロックコピー（ＩＢＣ）モードが有効にされるとき、デブロックフィルタ処理の改善された効果を可能にするための方法について説明する。例示的な技法が、スクリーンコンテンツコード化に関して説明されるが、スクリーンコンテンツコード化に限定されるものと見なされるべきではない。
【００１５】
[0024]ブロックが再構成された後、ブロック境界におけるアーティファクトを検出し、選択されたフィルタを適用することによって、ブロック歪み（block artifacts）を減衰させるために、デブロックフィルタ処理プロセスが使用され得る。例えば、ブロックは、４つのブロック境界（例えば、エッジ）、即ち、上エッジと、下エッジと、左エッジと、右エッジとを含む。従って、ブロックは、最大４つの隣接ブロック、即ち、上隣接ブロックと、下隣接ブロックと、左隣接ブロックと、右隣接ブロックとを含み得る。デブロックフィルタ処理プロセスは、それぞれの隣接ブロックとのエッジに沿ったブロック歪みを減衰し得、フィルタ処理決定は、境界ごとに別個に行われる。
【００１６】
[0025]理解しやすくするために、本開示は、隣接ブロックとエッジを形成する現在ブロックに適用されるものとして、本技法について説明する。ビデオコーダ（例えば、ビデオエンコーダ又はビデオデコーダ）は、現在ブロックを再構成し、隣接ブロックのサンプル又は画素値を取り出し、現在ブロック及び隣接ブロックによって形成されるエッジに沿ってデブロックフィルタ処理し得る。ビデオコーダは、エッジに近接している現在ブロック中の画素値のデブロックフィルタ処理を実行し、得られたデブロックフィルタ処理されたブロックを復号ピクチャバッファ（ＤＰＢ）内に記憶し得る。
【００１７】
[0026]例えば、ビデオエンコーダは、デブロックフィルタ処理されたブロックが後続のブロックのための参照ブロックとして使用され得るように、再構成の一部としてデブロックフィルタ処理を実行し得る。ビデオデコーダは、現在ブロックを含むピクチャが表示されるとき、視覚的アーティファクトが除去されるように、再構成の一部としてデブロックフィルタ処理を実行し得る。ビデオデコーダはまた、現在ブロックが後続のブロックのための参照ブロックとして使用される場合、ビデオエンコーダが後続のブロックを符号化するために使用した後続のブロックを再構成するために、ビデオデコーダが同じサンプル又は画素値を使用中であるように、デブロックフィルタ処理を実行し得る。
【００１８】
[0027]ビデオエンコーダとビデオデコーダの両方が、デブロックフィルタ処理のための実質的に同様の機能を実行するので、本開示は、ビデオコーダとともに実装されるものとして、本技法について説明する。ビデオコーダは、一般的にビデオエンコーダとビデオデコーダとを指すために使用され、デブロックフィルタ処理に関する技法は、ビデオデータを処理するための技法の一部であり得る。例えば、ビデオデータを処理するための機器は、本開示で説明される例示的な技法を実行するように構成されるビデオコーダを含む。
【００１９】
[0028]デブロックフィルタ処理は、あらゆる事例に適用されるとは限らないことがある。むしろ、ビデオコーダは、デブロックフィルタ処理が現在ブロックと隣接ブロックとの間のエッジに沿って適用されるべきであるかどうかを決定し得る。例えば、ビデオコーダは、境界強度値を決定し、決定された境界強度値に基づいて、エッジに沿ってデブロックフィルタ処理し得る。
【００２０】
[0029]本開示は、ＩＢＣ（イントラブロックコピー）モードが、エッジを形成するブロックのうちの少なくとも１つのために使用されるときのための例示的な技法について説明する。ＩＢＣモードでは、ブロックは、予測されているブロックと同じピクチャ中の参照ブロックを使用して予測される。この参照ブロックは、ピクチャ中でコード化されている現在ブロックに対して、そのピクチャ内の予測子ブロックの変位を定義する、ブロックベクトルによって識別される。
【００２１】
[0030]本開示では、ビデオコーダは、ビデオデータのピクチャ中のエッジを形成する少なくとも１つのブロックが、ＩＢＣモードを使用してコード化されるかどうかに基づいて、そのエッジをデブロックフィルタ処理するための境界強度値を決定する。次いで、ビデオコーダは、決定された境界強度値に基づいて、エッジをデブロックフィルタ処理するべき方法を決定し得る。本開示のフィルタ処理技法は、所与のビデオブロックの一部又は全部のエッジ、例えば、上エッジ、右エッジ、左エッジ又は下エッジにおいて使用され得る。
【００２２】
[0031]一例として、エッジを形成する現在ブロック又は隣接ブロックのいずれかが、ＩＢＣモードでコード化される場合、ビデオコーダは、境界強度値を特定の値（例えば、１）に等しく設定し得る。別の例として、エッジを形成する現在ブロック又は隣接ブロックのいずれかが、ＩＢＣモードでコード化される場合、ビデオコーダは、ＩＢＣモードでコード化されるこのブロックのためのイントラブロックコピー参照ブロック（ＩＢＣ参照ブロック）を決定し得る。次いで、ビデオコーダは、ＩＢＣ参照ブロック中のいずれかの画素がイントラ予測モードでコード化されるかどうかを決定し得る。ＩＢＣ参照ブロック中のいずれかの画素が、イントラ予測モードでコード化される場合、ビデオコーダは、第１の値（例えば、２）に等しくなるように境界強度値を決定し得、他の場合、ビデオコーダは、第１の値とは異なる第２の値（例えば、１）に等しくなるように境界強度を決定し得る。
【００２３】
[0032]別の例として、エッジを形成する現在ブロック又は隣接ブロックのいずれかが、ＩＢＣモードでコード化される場合、ビデオコーダは、ＩＢＣモードでコード化されるこのブロックのためのイントラブロックコピー参照ブロック（ＩＢＣ参照ブロック）を決定し得る。次いで、ビデオコーダは、ＩＢＣ参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定し得る。ＩＢＣ参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化される場合、ビデオコーダは、第１の値（例えば、２）に等しくなるように境界強度値を決定し得、他の場合、ビデオコーダは、第１の値とは異なる第２の値（例えば、１）に等しくなるように境界強度を決定し得る。
【００２４】
[0033]幾つかの例では、デブロックフィルタ処理プロセスに課された制約があり得る。例えば、現在ブロック又は隣接ブロックのいずれかが、イントラ予測モードでコード化される場合、現在ブロック又は隣接ブロックがＩＢＣモードでコード化されるかどうかにかかわらず、ビデオコーダは、境界強度値を特定の値（例えば、２）に等しく設定し得る。現在ブロックも隣接ブロックもイントラ予測モードでコード化されず、現在ブロック又は隣接ブロックの一方がＩＢＣモードでコード化され、他方がインター予測モードでコード化される場合、ビデオコーダは、現在ブロック又は隣接ブロックの一方がＩＢＣモードでコード化されるときのための上記の例示的な技法に基づいて、境界強度値を設定し得る。
【００２５】
[0034]イントラ予測されたブロックの特性は、それらがより強いデブロックフィルタ処理を必要とするようなものであり得る。従って、現在ブロック又は隣接ブロックの一方がイントラ予測される場合、ビデオコーダは、他のブロックがＩＢＣモードでコード化されるか、又はインター予測モードでコード化される場合でも、それらのブロックの一方がイントラ予測モードでコード化されることに基づいてのみ、境界強度値を決定し得る。インター予測されたブロック中に基づく境界強度決定は、複雑であり得、インター予測されたブロックのための動きベクトルを識別することを含む。従って、現在ブロック又は隣接ブロックの一方がＩＢＣモードでコード化される場合、ビデオコーダは、他のブロックがインター予測モードでコード化される場合でも、それらのブロックの一方がＩＢＣモードでコード化されることに基づいてのみ、境界強度値を決定し得る。
【００２６】
[0035]このようにして、本開示で説明される技法は、ＩＢＣ予測されたブロックのための境界強度値決定のための、イントラ予測されたブロックに適用される境界強度値決定とインター予測されたブロックに適用される境界強度値決定との間の中間プロセスを提供する。例えば、ＩＢＣコード化ブロック（即ち、ＩＢＣモードでコード化されたブロック）は、イントラコード化ブロック（即ち、イントラ予測モードでコード化されたブロック）と同様の特性を有していないことがある。従って、隣接ブロックのいずれもイントラコード化されない場合、ブロックのうちの１つがＩＢＣコード化される場合の境界強度値は、ブロックのうちの１つがイントラコード化される場合よりも小さくあるべきである。しかしながら、インターコード化ブロック（例えば、インター予測モードでコード化されたブロック）のために使用される技法に基づく境界強度値決定に依拠することは、過度に複雑であり得る。本開示で説明される技法では、ブロックのうちの１つがイントラコード化されるときの境界強度値の決定は、必ずしも、ＩＢＣコード化ブロックのための境界強度決定がインターコード化ブロックのための境界強度決定と同じくらい複雑であることを必要とすることなく、保たれる。
【００２７】
[0036]例えば、ビデオコーダは、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定し得る。ビデオコーダは、次の技法のうちの１つを実行することに基づいて、境界強度値を決定し得る。ビデオコーダは、現在ブロック又は隣接ブロックのうちの少なくとも１つがイントラ予測モードでコード化されること、及び他のブロックがイントラブロックコピー（ＩＢＣ）モードでコード化されることに基づいて、第１の境界強度値決定プロセスを実行し得、あるいは、現在ブロック又は隣接ブロックのうちの少なくとも１つがＩＢＣモードでコード化されること、及びいずれもイントラ予測モードでコード化されないことに基づいて、第２の、異なる境界強度値決定プロセスを実行し得る。第２の境界強度値決定プロセスは、非ＩＢＣコード化ブロック（例えば、インター予測されたブロック）のための動きベクトルを識別することを含まない。ビデオコーダは、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理し得る。
【００２８】
[0037]境界強度値を決定するための上記の例示的な技法に加えて、本開示はまた、ＩＢＣモードの一部としてのデータ記憶のための技法についても説明する。例えば、ブロックがＩＢＣモードでコード化されるとき、ブロックのためのブロックベクトルは、上記で説明したように、参照ブロックを識別する。しかしながら、（例えば、デブロックフィルタ処理プロセス又は何らかの他のフィルタ処理を介してフィルタ処理された）参照ブロックのフィルタ処理された画素値を使用するのではなく、ビデオコーダは、参照ブロックのフィルタ処理されていない画素値に基づいて、ブロックをＩＢＣ予測（例えば、ＩＢＣコード化）する。
【００２９】
[0038]従って、ＩＢＣを実施するために、ビデオコーダは、メモリ内に、ピクチャの以前に復号された領域のフィルタ処理されていない画素値を記憶する必要があり得、インター予測を実施するために、ビデオコーダは、メモリ内に、ピクチャの以前に復号された領域のフィルタ処理された画素値を記憶する必要があり得る。追加の記憶及びメモリアクセスは、ビデオコード化プロセスにおいてボトルネックを生じることがある。
【００３０】
[0039]しかしながら、ピクチャの全ての領域がＩＢＣコード化（例えば、ＩＢＣ予測）のために使用されるとは限らないことがある。従って、ピクチャの全ての領域のためのフィルタ処理されていない画素値を記憶することは不要であり得る。メモリ内に記憶した必要があるデータの量を制限することによって、本技法は、ビデオ処理効率を促進し得る。
【００３１】
[0040]幾つかの例では、ビデオエンコーダは、ピクチャ中の領域がＩＢＣコード化のために使用されるべきではないと決定し得、ピクチャ中のその領域がＩＢＣコード化のために使用されないことを示す、ビットストリーム中の情報を信号伝達し得る。ビデオデコーダは、ビットストリームからその情報を受信し、ピクチャ中のその領域がＩＢＣのために使用されないと決定し得る。ＩＢＣコード化のために使用されるべきではないと決定された領域について、ビデオエンコーダ及びビデオデコーダは、それぞれ、メモリ内にフィルタ処理されていない画素値を記憶せず、それによって、メモリがアクセスされる回数と、メモリ内に記憶されるデータの量とを低減し得る。そのような低減は、メモリ帯域幅利用を促進する。
【００３２】
[0041]図１は、ビデオデータをフィルタ処理するための技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先機器１４によって後で復号されるべき符号化ビデオデータを与える発信源機器１２を含む。特に、発信源機器１２は、コンピュータ可読媒体１６を介してビデオデータを宛先機器１４に与える。発信源機器１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器１２及び宛先機器１４は、ワイヤレス通信のために装備され得る。
【００３３】
[0042]宛先機器１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、発信源機器１２から宛先機器１４に符号化ビデオデータを移動させることが可能な任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体１６は、発信源機器１２が符号化ビデオデータを宛先機器１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器１４に送信され得る。通信媒体は、無線周波（ＲＦ）スペクトルあるいは１つ又は複数の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク又はインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局又は発信源機器１２から宛先機器１４への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００３４】
[0043]幾つかの例では、符号化データは、出力インターフェース２２から記憶機器へ出力され得る。同様に、符号化データは、入力インターフェースによって記憶機器からアクセスされ得る。記憶機器は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性又は不揮発性メモリ若しくは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散された、又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる例では、記憶機器は、発信源機器１２によって生成された符号化ビデオを記憶し得るファイルサーバ又は別の中間記憶機器に対応し得る。
【００３５】
[0044]宛先機器１４は、ストリーミング又はダウンロードを介して、記憶機器から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワークアタッチ記憶（ＮＡＳ）機器又はローカルディスクドライブを含む。宛先機器１４は、インターネット接続を含む任意の標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）又はファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、両方の組合せを含み得る。記憶機器からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信又はそれらの組合せであり得る。
【００３６】
[0045]本開示の技法は、ワイヤレスの適用例又は設定に必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３７】
[0046]図１の例では、発信源機器１２は、ビデオ発信源１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。本開示によれば、発信源機器１２のビデオエンコーダ２０は、ビデオコード化における変換を実行するための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は、他の構成要素又は構成を含み得る。例えば、発信源機器１２は、外部カメラなどの外部のビデオ発信源１８からビデオデータを受信し得る。同様に、宛先機器１４は、内蔵表示装置を含むのではなく、外部表示装置とインターフェースし得る。
【００３８】
[0047]図１の示されるシステム１０は一例にすぎない。ビデオコード化においてフィルタ処理を実行するための技法は、任意のデジタルビデオ符号化及び／又は復号機器によって実行され得る。概して、本開示の技法は、ビデオ符号化機器によって実行されるが、本技法は、また、ビデオコーデックによって実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。発信源機器１２及び宛先機器１４は、発信源機器１２が宛先機器１４への送信のためにコード化ビデオデータを生成するようなコード化機器の例にすぎない。幾つかの例では、機器１２、１４は、機器１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム１０は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、又はビデオテレフォニーのための、ビデオ機器１２とビデオ機器１４との間の一方向又は双方向のビデオ送信をサポートし得る。
【００３９】
[0048]発信源機器１２のビデオ発信源１８は、ビデオカメラ、以前に撮られたビデオを含むビデオアーカイブ及び／又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、撮像装置を含み得る。更なる代替として、ビデオ発信源１８は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源１８がビデオカメラである場合、発信源機器１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、上述のように、本開示で説明される技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。各場合において、撮られたビデオ、前に撮られたビデオ又はコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００４０】
[0049]コンピュータ可読媒体１６は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体若しくはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク又は他のコンピュータ可読媒体などの記憶媒体（即ち、非一時的記憶媒体）を含み得る。幾つかの例では、ネットワークサーバ（図示せず）は、例えば、ネットワーク送信を介して、発信源機器１２から符号化ビデオデータを受信し、符号化ビデオデータを宛先機器１４に与え得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピュータ機器は、発信源機器１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを製造し得る。従って、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つ又は複数のコンピュータ可読媒体を含むことが理解され得る。
【００４１】
[0050]宛先機器１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ブロック及び他のコード化単位、例えば、ＧＯＰの特性及び／又は処理を記述するシンタックス要素を含む、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、シンタックス情報を含み得る。表示装置３２は、復号ビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００４２】
[0051]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、適用可能なとき、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せなどの、様々な好適なエンコーダ若しくはデコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し得、本開示の技法を実行するために１つ又は複数のプロセッサを使用するハードウェアで命令を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、１つ以上のエンコーダ又はデコーダ内に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０及び／又はビデオデコーダ３０を含む機器は、集積回路、マイクロプロセッサ及び／又はセルラー電話などのワイヤレス通信機器を備え得る。
【００４３】
[0052]図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれ、オーディオエンコーダ及びデコーダと統合され得、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能であれば、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４４】
[0053]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別の機器に「信号伝達（signaling）」することに言及することがある。しかしながら、ビデオエンコーダ２０は、幾つかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報を信号伝達できることを理解されたい。即ち、ビデオエンコーダ２０は、ビデオデータの様々な符号化された部分のヘッダに、あるシンタックス要素を格納することによって、データを「信号伝達」し得る。幾つかの場合には、そのようなシンタックス要素は、ビデオデコーダ３０によって受信及び復号される前に、符号化及び記憶され（例えば、記憶装置２４に記憶され）得る。従って、「信号伝達」という用語は、通信がリアルタイム若しくはほぼリアルタイムで行われるか、又は、符号化時にシンタックス要素を媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号機器によって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかどうかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックス又は他のデータの通信を指し得る。
【００４５】
[0054]ビデオエンコーダ２０及びビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ１０、高度ビデオコード化（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格などの、ビデオ圧縮規格又はそのような規格の拡張に従って動作し得る。ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、共同ビデオ部会（ＪＶＴ：Joint Video Team）として知られる共同パートナーシップの成果として、ＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ）とともにＩＴＵ−Ｔビデオコード化エキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）によって策定された。幾つかの態様では、本開示で説明される技法は、Ｈ．２６４規格に概して準拠する機器に適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ研究グループによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」に記載されており、本明細書ではＨ．２６４規格若しくはＨ．２６４仕様又はＨ．２６４／ＡＶＣ規格若しくは仕様と呼ばれる場合がある。ビデオ圧縮規格の他の例としては、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４６】
[0055]ビデオコード化規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２又はＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それのスケーラブルビデオコード化（ＳＶＣ）拡張及びマルチビュービデオコード化（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。最近では、新しいビデオコード化規格、即ち、高効率ビデオコード化（ＨＥＶＣ）の設計が、ＩＴＵ−Ｔビデオコード化エキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのビデオコード化共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された。以下で「ＨＥＶＣ  ＷＤ」と呼ばれる、最新のＨＥＶＣドラフト仕様は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１５＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｏ１００３−ｖ２．ｚｉｐから入手可能である。ＨＥＶＣに対する範囲拡張、即ち、ＨＥＶＣ  ＲＥｘｔもまた、ＪＣＴ−ＶＣによって開発されている。以下でＲＥｘｔ  ＷＤ７と呼ばれる、範囲拡張の最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１００５−ｖ４．ｚｉｐから入手可能である。
【００４７】
[0056]本明細書では、ＪＣＴＶＣ−Ｑ１００３のようなＨＥＶＣ仕様テキストは、ＨＥＶＣバージョン１と呼ばれることが多い。範囲拡張仕様は、ＨＥＶＣのバージョン２になり得る。しかしながら、広い範囲において、幾つかの技法（例えば、動きベクトル予測）では、ＨＥＶＣバージョン１及び範囲拡張仕様は、技術的に同様である。従って、本開示がＨＥＶＣバージョン１に基づく変更に言及するときは常に、同じ変更が範囲拡張仕様に適用され得、本開示がＨＥＶＣバージョン１モジュールを再使用することについて説明するときは常に、本開示は、実際には（同じサブクローズをもつ）ＨＥＶＣ範囲拡張モジュールをも再使用することに言及していることがあり得る。
【００４８】
[0057]最近は、動きをもつテキスト及びグラフィックスなどのスクリーンコンテンツ材料のための新しいコード化ツールの調査が要求され、スクリーンコンテンツのためのコード化効率を改善する技術が提案されている。新規の専用コード化ツールを用いてスクリーンコンテンツの特性を活用することによってコード化効率の有意な改善が得られ得るという証拠があるので、スクリーンコンテンツコード化のための特定のツールを含む、ＨＥＶＣ規格の場合によっては開発中の将来の拡張を目標とした提案の募集（ＣｆＰ：Call for Proposals）が発行されている。企業及び組織は、この募集に応答して提案を提出するように勧誘されている。このＣｆＰの使用事例及び要件が、ＭＰＥＧドキュメントＮ１４１７４に記載されている。第１７回ＪＣＴ−ＶＣ会議中に、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１７＿Ｖａｌｅｎｃｉａ／ｗｇ１１／ＪＣＴＶＣ−Ｑ１０１４−ｖ１．ｚｉｐにおいて入手可能である、スクリーンコンテンツコード化テストモデル（ＳＣＭ：screen content coding test model）が確立される。
【００４９】
[0058]本開示の技法は、任意の特定のコード化規格に限定されないが、本技法は、ＨＥＶＣ規格に関係し得る。ＨＥＶＣの規格化の取組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９個のイントラ予測符号化モードを与えるが、ＨＭは３５個ものイントラ予測符号化モードを与え得る。
【００５０】
[0059]概して、ＨＥＶＣ規格は、ビデオピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位（ＬＣＵ）に分割され得ることを記載している。ビットストリーム内のシンタックスデータは、ＬＣＵのサイズを定義し得、ＬＣＵは、画素の個数に関して最大のコード化単位である。スライスは、幾つかの連続するコード化ツリー単位（ＣＴＵ）を含む。ＣＴＵの各々は、ルーマサンプルのコード化ツリーブロックと、クロマサンプルの２つの対応するコード化ツリーブロックと、それらのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャ又はピクチャでは、ＣＴＵは、単一のコード化ツリーブロックと、そのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。
【００５１】
[0060]ビデオピクチャは、１つ又は複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコード化単位（ＣＵ）にスプリットされ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵにスプリットされる場合、ＣＵに対応するノードは、４つのリーフノードを含み、その各々は、サブＣＵの１つに対応する。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコード化ブロックと、そのピクチャのクロマサンプルの２つの対応するコード化ブロックと、それらのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャ又はピクチャでは、ＣＵは、単一のコード化ブロックと、そのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。コード化ブロックは、サンプルのＮ×Ｎブロックである。
【００５２】
[0061]４分木データ構造の各ノードは、対応するＣＵについてのシンタックスデータを与え得る。例えば、４分木内のノードは、そのノードに対応するＣＵがサブＣＵにスプリットされるかどうかを示すスプリットフラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵにスプリットされるかどうかに依存し得る。ＣＵが更にスプリットされない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的なスプリットが存在しない場合でも、リーフＣＵの４つのサブＣＵもリーフＣＵと呼ばれるようになる。例えば、１６×１６サイズのＣＵが更にスプリットされない場合、その１６×１６ＣＵが決してスプリットされなくても、４つの８×８サブＣＵもリーフＣＵと呼ばれるようになる。
【００５３】
[0062]ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードにスプリットされ得、各子ノードは、今度は親ノードとなり、別の４つの子ノードにスプリットされ得る。４分木のリーフノードと呼ばれる、最終的なスプリットされていない子ノードは、リーフＣＵとも呼ばれるコード化ノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックがスプリットされ得る最大回数を定義し得、コード化ノードの最小サイズも定義し得る。それに応じて、ビットストリームはまた、最小コード化単位（ＳＣＵ）を定義し得る。本開示は、「ブロック」という用語を、ＨＥＶＣのコンテキストにおいて、ＣＵ、ＰＵ若しくはＴＵのうちのいずれか、又は他の規格のコンテキストにおいて、同様のデータ構造（例えば、Ｈ．２６４／ＡＶＣのマクロブロック及びそのサブブロック）を指すために使用する。
【００５４】
[0063]ＣＵは、コード化ノードと、コード化ノードに関連付けられた予測単位（ＰＵ）及び変換単位（ＴＵ）とを含む。ＣＵのサイズは、コード化ノードのサイズに対応し、形状において正方形でなければならない。ＣＵのサイズは、８×８画素から、最大で６４×６４画素又はそれを越えるツリーブロックのサイズまで変動し得る。各ＣＵは、１つ以上のＰＵと、１つ以上のＴＵとを含んでいることがある。
【００５５】
[0064]概して、ＰＵは、対応するＣＵの全て又は一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵについてのデータは、残差４分木（ＲＱＴ）中に含まれ得、残差４分木は、ＰＵに対応するＴＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての１つ又は複数の動きベクトルを定義するデータを含み得る。予測ブロックは、同じ予測が適用されるサンプルの矩形（即ち、正方形又は非正方形）ブロックであり得る。ＣＵのＰＵは、ルーマサンプルの１つの予測ブロックと、ピクチャのクロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャ又はピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。
【００５６】
[0065]従って、ＨＥＶＣでは、スライス中の最大コード化単位はコード化ツリーブロック（ＣＴＢ）と呼ばれる。ＣＴＢは、それのノードがコード化単位である４分木を含んでいる。（技術的に、８×８ＣＴＢサイズがサポートされ得るが）ＣＴＢのサイズは、ＨＥＶＣメインプロファイルにおいて１６×１６から６４×６４の範囲であり得る。しかしながら、コード化単位（ＣＵ）は、ＣＴＢの同じサイズであり、８×８程度に小さくなり得る。各コード化単位は、１つのモードでコード化される。ＣＵがインターコード化（インター予測コード化又はインター予測）されるとき、ＣＵは、２つの予測単位（ＰＵ）に更に区分され得るか、又は、更なる区分が適用されないとき、ただ１つのＰＵになり得る。１つのＣＵ中に２つのＰＵが存在するとき、それらは半分のサイズの長方形又はＣＵの１／４若しくは３／４のサイズを有する２つの長方形サイズであり得る。ＣＵがインターコード化されるとき、ＰＵごとに動き情報の１つのセットが存在する。更に、各ＰＵは、動き情報のセットを導出するために一意のインター予測モードでコード化される。ＨＥＶＣでは、最小ＰＵサイズは８×４及び４×８である。
【００５７】
[0066]ビデオコード化規格において、ピクチャの表示順序を識別するためにピクチャ順序カウント（ＰＯＣ：picture order count）が広く使用されている。１つのコード化ビデオシーケンス内の２つのピクチャが同じＰＯＣ値を有し得る場合があるが、一般に、コード化ビデオシーケンス内でそのようなことは生じない。複数のコード化ビデオシーケンスがビットストリーム中に存在するとき、同じＰＯＣ値を有するピクチャは、復号順序の点で、互いにより近傍であり得る。ピクチャのＰＯＣ値は、一般に、参照ピクチャリスト構築、ＨＥＶＣにおけるような参照ピクチャセットの導出、及び動きベクトルスケーリングのために使用される。
【００５８】
[0067]ＴＵは、変換、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換又は概念的に同様の変換の適用後に、変換領域において係数を含み得る。残差データは、符号化されていないピクチャの画素と、ＰＵに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するために、ＴＵを変換し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。ＣＵの変換単位（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャ又はピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００５９】
[0068]変換の後、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連付けられたビット深度を低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、但し、ｎはｍよりも大きい。
【００６０】
[0069]ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）を実行し得る。エントロピーコード化では、ビデオエンコーダ２０は、特定の走査順序（例えば、垂直走査、水平走査、又は対角走査）に従って量子化変換係数を走査する。ビデオエンコーダ２０は、ビットストリーム中でエントロピー符号化シンタックス要素を出力し得る。
【００６１】
[0070]従って、ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと、関連するデータとを含み得る。コード化ピクチャは、ピクチャのコード化表現である。関連するデータは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）と、他のシンタックス構造とを含み得る。ＳＰＳは、０個以上のピクチャのシーケンスに適用可能なパラメータを含み得る。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含み得る。
【００６２】
[0071]残差ブロックを変換及び量子化することは、情報の損失を引き起こす（例えば、逆量子化及び逆変換されたブロックは、元の残差ブロックとは異なる）。従って、残差ブロックが変換及び量子化されるビデオコード化の例は、不可逆コード化と呼ばれる。幾つかの例では、ビデオエンコーダ２０は、残差ブロックの変換をスキップし得るが、残差ブロックを量子化する。ビデオコード化のそのような例は、変換スキップコード化と呼ばれる。変換スキップコード化は、量子化が情報の損失を引き起こすので、不可逆コード化の１つの変形形態であり得る。混同を避けるために、変換と量子化の両方を含むビデオコード化方法を指すために、本明細書では不可逆コード化が使用され、変換はスキップされるが量子化は依然として実行されるビデオコード化方法を指すために、本明細書では変換スキップコード化が使用される。
【００６３】
[0072]ビデオエンコーダ２０は、全ての場合において、変換スキップコード化又は不可逆コード化を実行する必要があるとは限らない。幾つかの例では、ビデオエンコーダ２０は、可逆コード化を実行し得る。可逆コード化（ｔｒａｎｓｑｕａｎｔバイパスと呼ばれることがある）では、ビデオエンコーダ２０は、残差ブロックを変換せず、残差ブロックを量子化しない。この例では、ビデオデコーダ３０によって再構成された残差ブロックは、ビデオエンコーダ２０によって生成された残差ブロックと同一であるが、不可逆コード化及び変換スキップコード化では、ビデオデコーダ３０によって再構成された残差ブロックは、ビデオエンコーダ２０によって生成された残差ブロックとはわずかに異なる場合がある。
【００６４】
[0073]言い換えれば、変換が適用されるとき、この変換は、残差ブロックの残差値を画素領域から変換領域に変換する。幾つかの例では、変換スキップ又は変換バイパスでは、残差データは、残差値を画素領域から変換領域に変換する変換が残差値に適用されることなく、予測ブロックと現在ブロックとの間の差分からの残差値を含む。
【００６５】
[0074]ビデオデコーダ３０は、コード化ビデオデータを取得すると、ビデオエンコーダ２０に関して説明された符号化パスとは概して相反的な復号パスを実行し得る。例えば、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを取得し得る。ビデオデコーダ３０は、ビットストリーム中に含まれているデータを使用して、元の、符号化されていないビデオシーケンス（例えば、又は不可逆コード化では、元の残余の量子化バージョン）を再構成し得る。例えば、不可逆コード化では、ビデオデコーダ３０は、量子化変換係数を決定するために、ビットストリーム中のシンタックス要素をエントロピー復号し得る。ビデオデコーダ３０は、ビデエンコーダ２０が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用し得る。次いで、ビデオデコーダ３０は、変換係数を決定するために、量子化変換係数を逆量子化し得る。ビデオデコーダ３０はまた、残差ブロックの係数を決定するために、変換係数に逆変換を適用し得る。
【００６６】
[0075]変換スキップコード化では、ビデオデコーダ３０は、量子化係数を決定するためにビットストリーム中のシンタックス要素をエントロピー復号し、ビデオエンコーダ２０が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用し、次いで、残差ブロックの係数を決定するために量子化係数を逆量子化し得る。符号化プロセスにおいて変換がスキップされたので、逆変換は必要とされない。
【００６７】
[0076]可逆コード化（例えば、変換バイパス又は単純にバイパス）では、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素をエントロピー復号し得、ビデオエンコーダ２０が残差ブロックの係数を直接決定するために使用したものと同じ走査順序を利用し得る。符号化プロセスにおいて変換と量子化の両方がスキップされたので、逆量子化も逆変換も必要とされない。
【００６８】
[0077]いずれの場合も、ビデオデコーダ３０は、予測ブロックを決定する。予測ブロックは、現在ブロックと同じピクチャ内（例えば、イントラ予測の場合、若しくはイントラＢＣ予測の場合）又は異なるピクチャ内（例えば、インター予測の場合）にあり得る。ビデオデコーダ３０は、（例えば、現在ブロックを復号するために）現在ブロックの画素値を再構成するために、予測ブロック中の再構成された画素値と、（例えば、符号化ビットストリームから取得されるような）残差ブロック中の対応する残差値とを使用する。
【００６９】
[0078]ＨＥＶＣの範囲拡張、スクリーンコンテンツコード化拡張又は他のビデオコード化ツールは、イントラブロックコピー（イントラＢＣ又はＩＢＣ）モードをサポートし得る。数例を挙げると、リモートデスクトップ、リモートゲーミング、ワイヤレス表示器、自動車インフォテインメント及びクラウドコンピューティングなど、多くの適用例では、これらの適用例におけるビデオコンテンツは、通常、自然のコンテンツ、テキスト、人工グラフィックスなどの組合せである。テスト及び人工グラフィックス領域には、反復パターン（数例を挙げると、文字、アイコン及びシンボルなど）が存在することが多い。イントラＢＣは、この種類の冗長性の除去、それによって、フレーム内コード化効率を潜在的に改善することに対する、専用プロセスとして特徴付けられ得る。
【００７０】
[0079]デブロックフィルタ処理は、インター予測モード（例えば、インターコード化）、イントラ予測モード（例えば、イントラコード化）又はＩＢＣモード（例えば、ＩＢＣコード化）で予測されるブロックに適用され得る。ＨＥＶＣバージョン１（例えば、ＪＣＴＶＣ−Ｑ１００３のようなＨＥＶＣ仕様テキスト）では、ピクチャ再構成後、デブロックフィルタ処理プロセスは、コード化ブロック境界におけるアーティファクトを検出し得、選択されたフィルタを適用することによって、ブロック歪みを減衰させる。フィルタ処理決定は、ピクチャを８×８サンプルのブロックに分割するグリッド上にある４サンプルの長さの境界ごとに別個に行われる。
【００７１】
[0080]ビデオエンコーダ２０とビデオデコーダ３０の両方は、デブロックフィルタ処理プロセスを実行するように構成され得る。例えば、ビデオエンコーダ２０は、デブロックフィルタ処理された、再構成されたブロックが、符号化されるべき後続のブロックのための参照ブロックとして使用され得るように、符号化ブロックの再構成の一部としてデブロックフィルタ処理を実行するように構成され得る。デブロックフィルタ処理はアーティファクトを除去し、デブロックフィルタ処理が、ビデオが表示されることになるビデオデコーダ３０側で有用であることを意味する。ビデオデコーダ３０は、デブロックフィルタ処理を実行することになり、これらのデブロックフィルタ処理されたブロックは、ビデオデコーダ３０側で参照ブロックになるので、ビデオエンコーダ２０もまた、ビデオエンコーダ２０側の参照ブロックが、ビデオデコーダ３０側の対応する参照ブロックと同じであるように、再構成中にデブロックフィルタ処理を実行し得る。
【００７２】
[0081]ビデオエンコーダ２０及びビデオデコーダ３０が、ポストフィルタ処理技法を実施することも可能であり得る。この場合、デブロックフィルタ処理は、必ずしも画素値の記憶より前に実行されるとは限らないことがある。むしろ、画素値は、ビデオデコーダ３０による表示より前に、後にフィルタ処理され得る。ポストフィルタ処理の例は、一例として与えられるにすぎず、全ての場合に含まれるとは限らないことがある。
【００７３】
[0082]幾つかの例では、デブロックフィルタ処理プロセスを実行するとき、次の３つの基準が真であるべきであり、即ち、（１）ブロック境界が、予測単位又は変換単位境界であること、（２）境界強度が０よりも大きいこと、及び（３）ブロック境界の両側の信号の変動が、指定されたしきい値より低いことである。幾つかの追加の条件が持続するとき、強いフィルタが、通常のデブロックフィルタ処理の代わりにブロックエッジにおいて適用される。
【００７４】
[0083]実行されるデブロックフィルタ処理のタイプは、（例えば、現在ブロックと隣接ブロックとの間の）デブロックフィルタ処理のために使用される２つのブロックの間のエッジの境界強度値に基づき得る。幾つかの事例では、イントラＢＣを用いてコード化されたブロックのデブロックフィルタ処理を実行するとき、ブロックがイントラ予測を用いてコード化されたかのように、ブロックが扱われ得る。即ち、イントラ予測されたブロックのためのデブロックフィルタ処理プロセスは、イントラＢＣブロックに直接適用され得る。しかしながら、イントラＢＣコード化ブロックは、イントラコード化ブロックと同様の特性を有していないことがある。加えて、（例えば、以下でより詳細に説明されるように、境界強度（Ｂｓ）値を決定することなど）インター予測されたブロックをデブロックフィルタ処理するときに実行される幾つかの計算は、比較的複雑であり得る。
【００７５】
[0084]本開示の技法は、イントラＢＣを使用してコード化されるビデオブロックをデブロックフィルタ処理するための技法を含み得る。例えば、本技法は、幾つかの事例では、イントラＢＣ予測されたブロック及びイントラ予測されたブロックが同じデブロックフィルタ処理計算を使用しないように、イントラＢＣコード化ブロックのためのデブロックフィルタ処理プロセスへの変更を含み得る。幾つかの事例では、本開示の態様は、例えば、インター予測されたブロックに対して、簡略化されたデブロックフィルタ処理設計を使用することを含み得る。
【００７６】
[0085]デブロックフィルタ処理プロセスの一部として、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれ、それにおいてデブロックフィルタ処理プロセスが実行されるべきであるエッジを形成する２つのブロックのための境界強度値を決定し得る。境界強度値は、ビデオエンコーダ２０及びビデオデコーダ３０がデブロックフィルタ処理するべきである方法（例えば、２つの隣接ブロックの各々における画素の数及びフィルタ処理のためのフィルタ係数）を示す。
【００７７】
[0086]以下の表１は、境界強度値（Ｂｓ）値が２つの隣接ルーマブロックの間の境界について決定される方法を示す。表１では、境界強度値が、（例えば、２つの隣接ブロックの一方又は両方がイントラコード化及び／又はインターコード化される場合に）イントラコード化ブロック及びインターコード化ブロックについて与えられる。
【００７８】
【表１】
0006356346.tif 000002
【００７９】
[0087]表１からわかるように、２つの隣接ブロックの一方（例えば、現在ブロック又は隣接ブロックの一方）がイントラコード化される場合、ビデオコーダ（例えば、ビデオエンコーダ２０又はビデオデコーダ３０）は、２に等しい境界強度値を設定し得る。両方の隣接ブロックがインターコード化される場合、ビデオコーダは、境界強度値が１であるかどうかを決定するために、ＩＤ３及び４において説明されているように、インターコード化ブロックのための動きベクトルを識別し、追加のプロセスを実行し得る。他の場合、境界強度値はゼロである。
【００８０】
[0088]表１は、ブロックの一方がＩＢＣモードでコード化される場合について説明していない。現在のＳＣＭのデブロックフィルタ処理プロセスでは、ＩＢＣコード化ブロックは、イントラコード化ブロックとして扱われる（例えば、隣接ブロックのうちのいずれかのブロックがＩＢＣコード化される場合、境界強度値は２である）。しかしながら、米国特許公開第２０１４／０３７６６３４Ａ１号におけるものなど、幾つかの他の技法は、ＩＢＣコード化ブロックのためのデブロックフィルタ処理プロセスが、ＩＢＣコード化ブロックをイントラコード化ブロックとして扱うこと、又はＩＢＣコード化ブロックをインターコード化ブロックとして扱うことのいずれかによって達成され得ることを提案した。米国出願第１４／７４３，７２２号では、ＩＢＣコード化ブロックは、デブロックフィルタ処理プロセス前に、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１における特定の参照インデックスにおける参照ブロックを識別する動きベクトルとともに、単予測インターコード化ブロックに変換され（例えば、それとして扱われ）、デブロックフィルタ処理プロセスに対する更なる変更はない。
【００８１】
[0089]標準の提出文書「Ｏｎ  Ｄｅｂｌｏｃｋｉｎｇ  ｆｏｒ  Ｉｎｔｒａ  Ｂｌｏｃｋ  Ｃｏｐｙ」、Ｃ．Ｒｏｓｅｗａｒｎｅ、ＪＣＴＶＣ−Ｒ０１２６、札幌、日本、６月３０日〜７月９日（ＪＣＴＶＣ−Ｒ０１２６）では、ＪＣＴＶＣ−Ｒ０１２６は、イントラコード化又はインターコード化ブロック技法を活用するのではなく、ＩＢＣコード化ブロックが異なるように扱われた修正を提案した。例えば、ＪＣＴＶＣ−Ｒ０１２６では、境界のいずれかの側（例えば、２つの隣接ブロックのいずれか）がＩＢＣコード化される場合、境界強度値は１に設定される。他の場合、表１とともに上記で説明された例が使用される。この場合、現在ブロック又は隣接ブロックの一方がＩＢＣコード化され、他方がイントラコード化される場合、境界強度値は１になり、いずれかのブロックがイントラコード化される場合、境界強度値が２である、表１における場合とは異なる。
【００８２】
[0090]ＩＢＣコード化ブロックを用いた境界強度値決定のためのこれらの他の技法のうちの幾つかには、問題があり得る。例えば、ＩＢＣコード化ブロックは、イントラコード化ブロックと同様の特性を有していないことがあり、従って、それらを同じものとして扱うことは、アーティファクトを不十分又は過度に補償するデブロックフィルタ処理につながり得る。ブロック境界に沿ったブロック的なアーティファクトを回避するために、インターコード化ブロックの場合と同様に、２つのブロックの一方がＩＢＣコード化される（及び、他方がイントラコード化されない）とき、より小さい境界強度値を使用することがより自然になる。
【００８３】
[0091]しかしながら、ＩＢＣコード化ブロックをインターコード化ブロックとして扱うことはまた、望ましいフィルタ処理結果を達成するには不十分でもあり得る。例えば、表１に関して上記で説明されたように、インターコード化ブロックでは、境界強度値決定プロセスは、イントラコード化ブロックの場合よりも複雑であるプロセスである、動きベクトル識別及び比較、並びに参照ピクチャ識別を含む。従って、ＩＢＣコード化ブロックをインターコード化ブロックとして扱うことは、（それらをイントラコード化ブロックとして扱うことと比較して）低減された境界強度値を生じ得るが、境界強度値決定プロセスは、過度に複雑であり得る。
【００８４】
[0092]本開示は、イントラコード化ブロックのための境界強度決定プロセスと、インターコード化ブロックのための境界強度決定プロセスとの間の違いを埋めるために、イントラブロックコピーコード化ブロック（例えば、ＩＢＣモードでコード化されたブロック）のための中間境界強度決定プロセスのための例示的な技法について説明する。例えば、ビデオコーダ（例えば、ビデオエンコーダ２０又はビデオデコーダ３０）は、現在ブロック又は隣接ブロックのうちの少なくとも１つがイントラ予測モードでコード化されることに基づいて、第１の境界強度値決定プロセスを実行し得、現在ブロック又は隣接ブロックのうちの少なくとも１つがＩＢＣモードでコード化されること、他方が非ＩＢＣモードでコード化される（例えば、インターコード化される）こと、及びいずれもイントラ予測モードでコード化されないことに基づいて、第２の、異なる境界強度値決定プロセスを実行し得る。この第２の境界強度値決定では、一方がインターコード化ブロック中であった場合に行われるような、非ＩＢＣコード化ブロックのための動きベクトルを識別することがなくてよい。
【００８５】
[0093]ビデオコーダは、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理し得る。例えば、ビデオコーダは、現在ブロック及び隣接ブロック中の画素をデブロックフィルタ処理するべき方法（例えば、フィルタタイプ、エッジの各側で使用される画素の数、係数など）を決定し得る。
【００８６】
[0094]デブロックフィルタ処理のための技法に加えて、本開示で説明される例はまた、ＩＢＣモードが現在ピクチャにおける予測のために使用されるとき、平均帯域幅（例えば、メモリへのアクセス）を低減することにも関する。これらの技法は、場合によっては高いビット深度の（８ビットを超える）、４：４：４、４：２：２、４：２：０、４：０：０などの異なるクロマサンプリングフォーマットのサポートを含む、スクリーンコンテンツコード化に適用可能であるものとして説明される。
【００８７】
[0095]上記で説明されたように、ＩＢＣモードは、その予測のために同じピクチャ内の以前に復号されたフィルタ処理されていないサンプルを使用する。現在のテストモデルにおいて、ＩＢＣモードでは、探索範囲が無制限であり、現在ピクチャの任意のフィルタ処理されていない復号されたサンプルを使用し得る（全探索ＩＢＣ）。これは、（時間的予測のために必要とされた、フィルタ処理された復号されたサンプルに加えて）現在ピクチャのフィルタ処理されていない復号されたサンプルを記憶するために必要とされた追加の帯域幅を導入する。
【００８８】
[0096]しかしながら、平均で、現在ピクチャの全ての以前に復号されたフィルタ処理されていないサンプルがＩＢＣモードにおける予測のために使用されるとは限らず、その使用は、コンテンツの特性に依存し、例えば、その使用は、テキスト及びグラフィックシーケンスではピークに達し、カメラにより撮られたコンテンツでは最小である。従って、現在ピクチャのための以前に復号されたフィルタ処理されていないサンプルを常に記憶することは、帯域幅の観点から非効率的である。幾つかの例では、ビデオエンコーダ２０は、以前に復号されたコード化ブロックツリー（ＣＴＢ）のうちのどれがＩＢＣ予測のために使用されるかを示して、ビデオデコーダ３０がそれらのＣＴＢのみを記憶し、それによって平均帯域幅を低減できるようにし得る。
【００８９】
[0097]例えば、ビデオコーダは、ピクチャ中の領域が、ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定し得る。ビデオコーダは、ＩＢＣモードを使用する予測のためにその領域が参照されるという決定に基づいて、ピクチャ中のその領域のためのフィルタ処理されていない画素値を記憶し、ＩＢＣモードを使用する予測のためにその領域が参照されないという決定に基づいて、ピクチャ中のその領域のためのフィルタ処理されていない画素値の記憶を回避し得る。
【００９０】
[0098]そのような例では、ビデオコーダは、ＩＢＣモードを使用する予測のために参照されない領域のための、フィルタ処理された（例えば、デブロックフィルタ処理されたＳＡＯフィルタ処理された、又は他の場合の）画素値を、依然として記憶し得る。これは、フィルタ処理された画素値が、ＩＢＣ予測のために決して使用されない場合でも、インター予測の目的のために参照ブロックを形成するために使用され得るからである。
【００９１】
[0099]図２は、本開示で説明される変換のための技法を使用し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、例示のためにＨＥＶＣコード化のコンテキストにおいて説明されるが、他のコード化規格に関して本開示を限定するものではない。
【００９２】
[0100]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行し得る。イントラコード化は、所与のビデオピクチャ内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの近接ピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）又は双予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指すことがある。イントラブロックコピーモードは、イントラモードのように同じピクチャ内のブロックに、但し、インターモードと同様にブロックベクトルとともに依拠し得る。
【００９３】
[0101]図２の例では、ビデオエンコーダ２０は、ビデオデータメモリ３８と、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、イントラＢＣユニット４７と、区分化ユニット４８とを含む。ビデオブロックの再構築のために、ビデオエンコーダ２０は、また、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２と、フィルタ処理ユニット６６とを含む。
【００９４】
[0102]ビデオデータメモリ３８は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ３８内に記憶されるビデオデータは、例えば、ビデオ発信源１８から取得され得る。参照ピクチャメモリ６４は、例えば、イントラコード化モード、インターコード化モード又はＩＢＣコード化モードで、ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する、復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ３８及び参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））又は他のタイプのメモリ機器などの、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ３８及び参照ピクチャメモリ６４は、同じメモリ機器又は別個のメモリ機器によって設けられ得る。様々な例では、ビデオデータメモリ３８は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【００９５】
[0103]符号化プロセス中に、ビデオエンコーダ２０は、コード化されるべきビデオピクチャ又はスライスを受信する。ピクチャ又はスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ又は複数の参照ピクチャ中の１つ又は複数のブロックに対する受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット４６は、代替的に、空間圧縮を行うために、コード化されるべきブロックと同じピクチャ又はスライス中の１つ又は複数の隣接画素値に対する受信されたビデオブロックのイントラ予測コード化を実行し得る。ビデオエンコーダ２０は、例えば、ビデオデータの各ブロックに適切なコード化モードを選択するために、複数のコード化パスを実行し得る。
【００９６】
[0104]その上、区分化ユニット４８は、以前のコード化パスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分化ユニット４８は、初めにピクチャ又はスライスをＬＣＵに区分し、レート歪み分析（例えば、レート歪み最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、更に、ＬＣＵをサブＣＵに区分することを示す４分木データ構造を生成し得る。４分木のリーフノードＣＵは、１つ又は複数のＰＵ及び１つ又は複数のＴＵを含み得る。
【００９７】
[0105]モード選択ユニット４０は、例えば、誤差結果に基づいてコード化モード、イントラ又はインターのうちの１つを選択し得、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器６２に与える。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報及び他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。
【００９８】
[0106]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在ピクチャ（又は他のコード化単位）内のコード化されている現在ブロックに対する参照ピクチャ（又は他のコード化単位）内の予測ブロックに対する、現在ビデオピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００９９】
[0107]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）又は他の差分メトリックによって決定され得る画素差分の観点で、コード化されるべきブロックと密にマッチングすることが見出されたブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４内に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置又は他の分数の画素位置の値を補間し得る。従って、動き推定ユニット４２は、完全な画素位置及び分数画素位置に対して動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【０１００】
[0108]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵのための動きベクトルを計算する。例えば、動き情報のセットは、前方予測方向及び後方予測方向のための動き情報を含み得る。ここで、前方予測方向及び後方予測方向は、双方向予測モードの２つの予測方向であり、「前方」及び「後方」という用語は、必ずしも幾何学の意味を有するとは限らない。代わりに、前方及び後方は、現在ピクチャの参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）及び参照ピクチャリスト１（ＲｅｆＰｉｃＬｉｓｔ１）に対応する。ピクチャ又はスライスに関して１つの参照ピクチャリストのみが利用可能であるとき、ＲｅｆＰｉｃＬｉｓｔ０のみが利用可能であり、スライスの各ブロックの動き情報は常に前方である。
【０１０１】
[0109]場合によっては、簡単のために、動きベクトル自体は、それが関連付けられた参照インデックスを有すると仮定されるように参照され得る。参照インデックスは、現在の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）において参照ピクチャを識別するために使用され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４中に記憶された１つ又は複数の参照ピクチャを識別する。動きベクトルは水平成分と垂直成分とを有する。動き推定ユニット４２は、エントロピー符号化ユニット５６と動き補償ユニット４４とに計算された動きベクトルを送る。
【０１０２】
[0110]幾つかの事例では、動き情報が予測され得る。例えば、ＨＥＶＣ規格では、以下の図６の例に関してより詳細に説明されるように、（スキップモードがマージの特殊な場合と見なされる）マージモード及びＰＵのための高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）モードと呼ばれる、２つのインター予測モードがある。
【０１０３】
[0111]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチ又は生成することを伴い得る。同じく、動き推定ユニット４２及び動き補償ユニット４４は、幾つかの例では、機能的に統合され得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいてそれを指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明されるように、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２は、ルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方について、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際のビデオデコーダ３０による使用のために、ビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成し得る。
【０１０４】
[0112]ビデオエンコーダ２０のイントラＢＣユニット４７は、イントラブロックコピーモードを使用して、ビデオブロックのビデオ圧縮を実行し得る。例えば、イントラＢＣユニット４７は、現在スライス中の別のブロックに基づいて、現在スライスのビデオブロックのための予測情報を決定し得る。イントラＢＣユニット４７は、スライス中のブロックを識別する（「オフセットベクトル」と呼ばれることもある）ブロックベクトルを決定し得る。ブロックベクトルは、動きベクトルと同様に、水平成分と垂直成分とを有し得る。イントラＢＣユニット４７は、同じスライス中の現在ブロックと予測ブロックとの間の差分に基づいて、残差ブロックを決定し得る。ビデオエンコーダ２０は、符号化ビットストリーム中に残差及びブロックベクトルの指示を含め得る。幾つかの事例では、ブロックベクトルは、動きベクトルと同様の方法で予測され得る。
【０１０５】
[0113]イントラ予測ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４６は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（又は、幾つかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【０１０６】
[0114]例えば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（又は誤差）の量及び符号化ブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックのための歪み及びレートから比を計算し得る。
【０１０７】
[0115]ビデオエンコーダ２０は、コード化されている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。
【０１０８】
[0116]変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換など、変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、画素値領域からの残差情報を、周波数領域などの変換領域に変換し得る。
【０１０９】
[0117]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４へ送り得る。量子化ユニット５４は、ビットレートを更に低減するために、変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、変更され得る。幾つかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が、走査を実行し得る。
【０１１０】
[0118]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピーコード化技法を実行し得る。コンテキストベースエントロピーコード化の場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコード化に続いて、符号化ビットストリームは、別の機器（例えば、ビデオデコーダ３０）に送信されるか、又は後で送信するか、若しくは取り出すためにアーカイブされ得る。
【０１１１】
[0119]逆量子化ユニット５８及び逆変換ユニット６０は、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構築するために、それぞれ逆量子化及び逆変換を適用する。
【０１１２】
[0120]動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のピクチャのうちの１つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償ユニット４４はまた、動き推定において使用するサブ整数画素値を計算するために、再構築された残差ブロックに１つ又は複数の補間フィルタを適用し得る。加算器６２は、参照ピクチャメモリ６４に記憶するための再構築されたビデオブロックを生成するために、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコード化するために動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１１３】
[0121]フィルタ処理ユニット６６は、様々なフィルタ処理プロセスを実行し得る。例えば、フィルタ処理ユニット６６は、デブロックフィルタ処理を実行し得る。即ち、フィルタ処理ユニット６６は、再構成されたビデオのスライス又はフレームを形成する複数の再構成されたビデオブロックを受信し、スライス又はフレームからブロック歪み（blockiness artifacts）を除去するために、ブロック境界をフィルタ処理し得る。一例では、フィルタ処理ユニット６６は、以下でより詳細に説明されるように、ビデオブロックの所謂「境界強度」を評価する。ビデオブロックの境界強度に基づいて、ビデオブロックのエッジ画素は、閲覧者にとって１つのビデオブロックからの遷移を知覚することがより困難になるように、近接ビデオブロックのエッジ画素に対してフィルタ処理され得る。
【０１１４】
[0122]本開示で説明される技法の様々な態様によれば、ビデオエンコーダ２０は、以下で説明されるデブロックフィルタ処理技法とイントラブロックコピー技法とを実行し得る。例えば、イントラＢＣユニット４７を使用して、ブロックを符号化するとき、フィルタ処理ユニット６６は、ブロックをデブロックフィルタ処理及びイントラブロックコピーするための本開示の技法を適用し得る。
【０１１５】
[0123]例えば、ビデオエンコーダ２０は、現在ブロック（例えば、符号化されているブロック）及び隣接ブロック（例えば、再構成され、参照ピクチャメモリ６４内に記憶された、以前に符号化されたブロック）のうちの少なくとも１つがＩＢＣモードでコード化され、いずれもイントラ予測モードでコード化されないとき、境界強度値決定プロセスを実行し得る。この隣接ブロックは、現在ブロックのどのエッジがデブロックフィルタ処理されているかに基づいて、上ブロック、下ブロック、右ブロック、又は左ブロックであり得る。
【０１１６】
[0124]フィルタ処理ユニット６６又は場合によっては、モード選択ユニット４０は、現在ブロック及び隣接ブロックのコード化モードに基づいて、異なる境界強度値決定プロセスを実行するように構成され得る。説明しやすいように、それらの例は、フィルタ処理ユニット６６が境界強度値を決定することとともに説明される。但し、幾つかの例では、モード選択ユニット４０が境界強度値を決定し、境界強度値を出力し得る。これらの例では、フィルタ処理ユニット６６は、受信された境界強度値に基づいて、デブロックフィルタ処理し得る。概して、モード選択ユニット４０及びフィルタ処理ユニット６６は、両方ともビデオエンコーダ２０の一部であるので、ビデオエンコーダ２０は、例示的な技法を利用して境界強度値を決定するものと見なされ、決定された境界強度値に基づいて、エッジに沿ってデブロックフィルタ処理し得る。
【０１１７】
[0125]モード選択ユニット４０は、現在ブロック及び隣接ブロックのためのコード化モードを決定し得る。フィルタ処理ユニット６６は、以下の例示的な境界強度決定プロセスのうちの１つを実行することに基づいて、境界強度値を決定し得る。フィルタ処理ユニット６６は、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックである（例えば、ＩＢＣモードでコード化される）こと、及び、他のブロックがインターコード化ブロックである（例えば、インター予測モードでコード化される）ことに基づいて、境界強度値決定プロセスを実行し得る。この例では、境界強度値決定プロセスは、表１のＩＤ３及び４の場合にそうであるような、インターコード化ブロックのための動きベクトルを識別することを含まない。ＩＤ３及び４について表１に示されたように、境界強度値は、２つのブロックの動きベクトル成分の間の差分、動きベクトルが異なるピクチャを参照すること、又は、動きベクトルの数が２つのブロックについて異なることに基づいて決定される。
【０１１８】
[0126]この場合も、動きベクトルは、参照ピクチャリストへの参照インデックスによって識別される参照ピクチャ中のブロックを参照する。動きベクトル及びブロックベクトルは、混同されるべきではない。ブロックベクトルは、ＩＢＣコード化ブロックのために使用され、現在ブロックと同じピクチャ中のブロックを参照する。
【０１１９】
[0127]また、この境界強度値決定プロセスは、現在ブロック又は隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる。例えば、この境界強度値決定プロセスは、表１のＩＤ１とは異なる。
【０１２０】
[0128]例えば、ＪＣＴＶＣ−Ｒ０１２６では、現在ブロック又は隣接ブロックの一方がＩＢＣコード化され、他方がイントラコード化される場合と同じプロセスが、現在ブロック又は隣接ブロックの一方がＩＢＣコード化され、他方がインターコード化される場合に、境界強度値を決定するために使用される。ＪＣＴＶＣ−Ｒ０１２６では、両方の（例えば、一方がＩＢＣコード化され、他方がインターコード化される、及び、一方がＩＢＣコード化され、他方がイントラコード化される）場合に、ＪＣＴＶＣ−Ｒ０１２６技法は、境界強度値決定のために同じプロセスを使用する（例えば、１に等しい境界強度値を設定する）。本開示で説明される技法では、一方のブロックがＩＢＣコード化され、他方がイントラコード化される場合、フィルタ処理ユニット６６は、一方のブロックがＩＢＣコード化され、他方がインターコード化される場合とは異なる境界強度値決定プロセスを実行し得る。
【０１２１】
[0129]本開示で説明される技法では、フィルタ処理ユニット６６は、現在ブロック又は隣接ブロックのうちの少なくとも１つが（例えば、ＩＢＣモードでコード化された）ＩＢＣコード化ブロックであること、及び、他のブロックが（例えば、イントラ予測モードでコード化された）イントラコード化ブロックであることに基づいて、第１の境界強度値決定プロセスを実行し得る。フィルタ処理ユニット６６は、現在ブロック又は隣接ブロックの一方がＩＢＣコード化ブロックであること、及び他のブロックが非ＩＢＣコード化ブロックであることに基づいて、第２の、異なる境界強度値決定プロセスを実行し得る。この例では、第２の境界強度値決定プロセスは、非ＩＢＣコード化ブロックのための動きベクトルを識別することを含まない。
【０１２２】
[0130]１つのブロックがインターコード化されるとき、及び別のブロックがＩＢＣコード化されるとき、フィルタ処理ユニット６６（又は、モード選択ユニット４０）が実行する境界強度決定プロセスの一例は、１に等しい境界強度値を設定することである。１つのブロックがインターコード化されるとき、及び別のブロックがＩＢＣコード化されるとき、フィルタ処理ユニット６６（又は、モード選択ユニット４０）が実行する境界強度決定プロセスの別の例は、ＩＢＣコード化ブロックのための参照ブロックを決定することと、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定することとを含む。この例では、フィルタ処理ユニット６６又はモード選択ユニット４０は、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、１に等しい境界強度値を設定し得るか、又は参照ブロック中のどの画素もイントラ予測モード又はＩＢＣモードでコード化されないことに基づいて、１に等しい境界強度値を設定し得る。
【０１２３】
[0131]フィルタ処理ユニット６６は、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理し得る。次いで、フィルタ処理ユニット６６は、得られたフィルタ処理された画素値が、インターコード化される後続のブロックのための参照画素として使用され得るように、そのフィルタ処理された画素値を参照ピクチャメモリ６４内に記憶し得る。
【０１２４】
[0132]ブロックがＩＢＣコード化されるときのための境界強度値を決定するための例示的な技法を実行することに加えて、ビデオエンコーダ２０はまた、ＩＢＣコード化のために必要とされないことになるピクチャ中の領域のためのフィルタ処理されていない画素値の選択的な記憶に関係する技法を実行するようにも構成され得る。例えば、モード選択ユニット４０は、ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために、ピクチャ中の領域が参照されるかどうか（例えば、その領域がＩＢＣコード化のための参照として使用されることになるかどうか）を決定し得る。
【０１２５】
[0133]モード選択ユニット４０は、領域のビデオコンテンツ又は何らかの他の技法に基づいて、その領域がＩＢＣモードのために使用されることになるかどうかの決定を実行し得る。しかしながら、幾つかの例では、モード選択ユニット４０は、ピクチャ全体が符号化されるまで、領域がＩＢＣモードのために使用されることになるかどうかを決定することが可能ではないことがある。そのような例では、フィルタ処理されていない画素値の選択的な記憶は、ビデオエンコーダ２０側で適用可能ではないことがある。ビデオエンコーダ２０がピクチャの情報を出力する前に、ピクチャが完全にコード化される例では、ビデオエンコーダ２０は、依然として、領域がＩＢＣモードのために使用されることになるかどうかを決定し、この情報をビデオデコーダ３０に出力し得る。次いで、ビデオデコーダ３０は、ビデオデコーダ３０がメモリを査定する必要がある回数が低減されるように、フィルタ処理されていない画素値を選択的に記憶するために、この情報を利用し得る。
【０１２６】
[0134]領域がＩＢＣモードを使用する予測のための参照である（例えば、ＩＢＣコード化のための参照として使用されることになる）とモード選択ユニット４０が決定する場合、フィルタ処理ユニット６６は、フィルタ処理なしで、領域のフィルタ処理されていない画素値を通過させ得（又は、モード選択ユニット４０は、破線によって示されているように、フィルタ処理ユニット６６をバイパスさせ得）、フィルタ処理されていない画素値が、参照ピクチャメモリ６４内に記憶され得る。幾つかの例では、フィルタ処理ユニット６６はまた、領域の画素値をフィルタ処理し（例えば、デブロックフィルタ処理及び／又は何らかの他のフィルタ処理を適用し）、参照ピクチャメモリ６４内にフィルタ処理された画素値を記憶し得る。従って、領域がＩＢＣモードを使用する予測のための参照であるとモード選択ユニット４０が決定する場合、参照ピクチャメモリ６４は、領域のためのフィルタ処理されていない画素値と、領域のためのフィルタ処理された画素値の両方を記憶し得る。
【０１２７】
[0135]領域がＩＢＣモードを使用する予測のための参照ではない（例えば、ＩＢＣコード化のための参照として使用されることにならない）とモード選択ユニット４０が決定する場合、フィルタ処理ユニット６６（又は、モード選択ユニット４０）は、参照ピクチャメモリ６４内にフィルタ処理されていない画素値を記憶することを回避し得る。しかしながら、フィルタ処理ユニット６６は、依然として、画素値をフィルタ処理し、参照ピクチャメモリ６４内に得られたフィルタ処理された画素値を記憶し得る。従って、領域がＩＢＣモードを使用する予測のための参照ではないとモード選択ユニット４０が決定する場合、参照ピクチャメモリ６４は、領域のためのフィルタ処理された画素値を記憶し得、領域のためのフィルタ処理されていない画素値を記憶しなくてよい。
【０１２８】
[0136]このようにして、これらの技法は、ビデオデコーダ３０（及び、潜在的にビデオエンコーダ２０でさえも）が、ＩＢＣモードを使用する予測のために使用される領域のみを選択的に記憶し得るように、ＩＢＣ予測使用情報を示すために、平均帯域幅を低減し得る。例えば、フィルタ処理されていない画素値が必要とされない場合、参照ピクチャメモリ６４へのアクセスが制限され得る。参照ピクチャメモリ６４は、ビデオエンコーダ２０のオンチップ又はオフチップであり得、概して、参照ピクチャメモリ６４へのアクセスを制限することは、メモリ帯域幅利用を促進し、記憶されるべき他のデータのための時間と空間とを解放し得る。
【０１２９】
[0137]領域がＩＢＣコード化における参照のために使用されることになるかどうかを示す情報は、フラグ（例えば、特定のＣＴＢが、少なくとも１ブロックによって予測単位ＩＢＣモードのために参照されるかどうかを示すために、各ＣＴＢについて信号伝達されるフラグ）であり得る。しかしながら、領域はＣＴＢに限定されなくてよい。領域は、ピクチャ、タイル、スライス、ＰＵブロック、ＣＵ、ＣＴＢ、ＣＴＢのグループ、Ｎ×Ｎ（例えば、６４×６４）の固定されたサイズ又はＭ×Ｎ（例えば、１６×３２若しくは３２×１６）の矩形区分のうちの１つであり得る。ビデオエンコーダ２０は、領域のサイズのこれらの例のいずれかのためのフラグを出力し得る。
【０１３０】
[0138]また、ビデオエンコーダ２０は、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、コード化ツリーユニットヘッダ、コード化単位ヘッダ又は補助強化情報（ＳＥＩ）メッセージ、又はパラメータセット拡張のうちの１つ又は複数において、領域がＩＢＣモードのための参照として使用されることになるかならないかを示す情報を出力し得る。幾つかの例では、ビデオエンコーダ２０は、イントラブロックコピーモードが有効にされるか否かに基づいて、条件付きで信号伝達し得る。
【０１３１】
[0139]幾つかの例では、ビデオエンコーダ２０は、領域が参照として使用されることになるかどうかを示すことになるフラグの存在を示すために、別のゲーティングフラグ（gating flag）を決定し、出力し得る。例えば、このゲーティングフラグが有効にされる場合、ビデオエンコーダ２０は、領域がＩＢＣモードにおける参照のために使用されるかどうかを示すフラグを出力し得、このゲーティングフラグが無効にされる場合、ビデオエンコーダ２０は、領域がＩＢＣモードにおける参照のために使用されるかどうかを示すフラグを出力しなくてよい。
【０１３２】
[0140]また、ＣＴＵ（又は、一般に様々な粒度レベルをもつブロック）の数は、ＣＴＢがイントラブロックコピー参照として使用されるかどうかを示す、コード化又は復号されたフラグの数を識別するために、明示的に信号伝達されることが必要であり得る。例えば、スライスに含められるＣＴＵの数が事前に知られていないことがあるので、フラグがスライスヘッダ中で信号伝達される場合、この信号伝達は有用であり得る。しかしながら、波面並列処理（ＷＰＰ）又はタイルが有効にされる場合、そのような情報（ＣＴＵの数）は利用可能であり得、従って、追加として信号伝達される必要がなくてよいので、ＣＴＵの数は、ＷＰＰ又はタイルが使用される場合のみ、信号伝達され得るようになる。
【０１３３】
[0141]技法の幾つかの異なる態様及び例が本開示で説明されるが、技法の様々な態様及び例は、互いに一緒に又は別々に実行されてよい。言い換えれば、技法は、上記で説明された様々な態様及び例に厳密に制限されるべきではなく、組合せて使用されてよく、又は一緒に及び／又は別々に実行されてもよい。加えて、幾つかの技法は、ビデオエンコーダ２０の幾つかのユニット（イントラＢＣユニット４７及び／又はフィルタ処理ユニット６６など）に帰する場合があるが、ビデオエンコーダ２０の１つ又は複数の他のユニットもまた、そのような技法を遂行する役目を果たし得ることを理解されたい。
【０１３４】
[0142]図３は、本開示で説明されるような変換のための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。この場合も、ビデオデコーダ３０は、例示のためにＨＥＶＣコード化のコンテキストにおいて説明されるが、他のコード化規格に関して本開示を限定するものではない。
【０１３５】
[0143]図３の例では、ビデオデコーダ３０は、ビデオデータメモリ６８と、エントロピー復号ユニット７０と、（動き補償ユニット７２と、イントラ予測単位７４と、イントラＢＣユニット７５とを含む）モード選択ユニット７１と、逆量子化ユニット７６と、逆変換単位７８と、参照ピクチャメモリ８２と、加算器８０と、フィルタ処理ユニット８４とを含む。
【０１３６】
[0144]ビデオデータメモリ６８は、ビデオデコーダ３０の構成要素によって復号されるべき符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ６８内に記憶されるビデオデータは、例えば、コンピュータ可読媒体１６から、例えば、カメラなどのローカルビデオ発信源から、ビデオデータのワイヤード若しくはワイヤレスネットワーク通信を介して、又は物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ６８は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。参照ピクチャメモリ８２は、例えば、イントラコード化モード、インターコード化モード又はＩＢＣコード化モードで、ビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する、復号ピクチャバッファと呼ばれることがある。ビデオデータメモリ６８及び参照ピクチャメモリ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）又は他のタイプのメモリ機器などの、様々なメモリ機器のいずれかによって形成され得る。ビデオデータメモリ６８及び参照ピクチャメモリ８２は、同じメモリ機器又は別個のメモリ機器によって設けられ得る。様々な例では、ビデオデータメモリ６８は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【０１３７】
[0145]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトル又はイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【０１３８】
[0146]ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されるとき、イントラ予測単位７４は、信号伝達されたイントラ予測モードと、現在ピクチャの以前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオピクチャがインターコード化（即ち、Ｂ又はＰ）スライスとしてコード化されるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２内に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１とを構成し得る。
【０１３９】
[0147]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを構文解析することによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために、その予測情報を使用する。例えば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ予測又はインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス又はＰスライス）と、スライス用の参照ピクチャリストのうちの１つ又は複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちの幾つかを使用する。
【０１４０】
[0148]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数画素のための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０１４１】
[0149]ビデオデコーダ３０のイントラＢＣユニット７５は、イントラブロックコピーを実行し得る。例えば、イントラＢＣユニット７５は、例えば、残差ブロックと、現在復号されているピクチャ中の別のブロックを識別するブロックベクトルとを含む、現在スライスのビデオブロックのための予測情報を受信し得る。幾つかの事例では、ブロックベクトルは、以下で説明されるように、ブロックベクトル予測子に対してコード化され得る。イントラＢＣユニット７５は、受信された残差ブロックと、オフセットベクトルによって識別されたブロックとを結合することによって、ピクチャの現在ブロックを決定し得る。
【０１４２】
[0150]逆量子化ユニット７６は、ビットストリーム中に与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化する（inverse quantize）、即ち、逆量子化する（de-quantize）。逆量子化プロセスは、量子化の程度を決定し、同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０１４３】
[0151]逆変換ユニット７８は、画素領域において残差ブロックを生成するために、逆変換、例えば逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックに、動き補償ユニット７２によって生成された対応する予測ブロックを加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実行する１つ又は複数の構成要素を表す。
【０１４４】
[0152]フィルタ処理ユニット８４は、幾つかの例では、ビデオエンコーダ２０（図２）のフィルタ処理ユニット６６と同様に構成され得る。例えば、フィルタ処理ユニット８４は、符号化ビットストリームからのビデオデータを復号及び再構成するとき、デブロックフィルタ処理、ＳＡＯ又は他のフィルタ処理動作を実行するように構成され得る。特に、幾つかの例では、フィルタ処理ユニット８４は、以下の図４の例に関して説明されるように、デブロックフィルタ処理を実行し得る。
【０１４５】
[0153]本開示で説明される技法の様々な態様によれば、ビデオエンコーダ３０は、以下で説明されるデブロックフィルタ処理技法とイントラブロックコピー技法とを実行し得る。例えば、イントラＢＣユニット７５を使用して、ブロックを復号するとき、フィルタ処理ユニット８４は、ブロックをデブロックフィルタ処理及びイントラブロックコピーするための本開示の技法を適用し得る。
【０１４６】
[0154]例えば、ビデオデコーダ３０は、ビデオエンコーダ２０に関して上記で説明された境界強度値決定プロセスと同様の境界強度値決定プロセスを実行し得る。例えば、ビデオデコーダ３０は、現在ブロック（例えば、復号されているブロック）及び隣接ブロック（例えば、参照ピクチャメモリ８２内に記憶された、以前に復号されたブロック）のうちの少なくとも１つがＩＢＣモードでコード化され、いずれもイントラ予測モードでコード化されないとき、境界強度値を決定し得る。上記のように、この隣接ブロックは、現在ブロックのどのエッジがデブロックフィルタ処理されているかに基づいて、上ブロック、下ブロック、右ブロック又は左ブロックであり得る。
【０１４７】
[0155]フィルタ処理ユニット８４又は場合によってはモード選択ユニット７１は、現在ブロック及び隣接ブロックのコード化モードに基づいて、異なる境界強度値決定プロセスを実行するように構成され得る。説明しやすいように、それらの例は、フィルタ処理ユニット８４が境界強度値を決定することとともに説明される。但し、幾つかの例では、モード選択ユニット７１が境界強度値を決定し、境界強度値を出力し得る。これらの例では、フィルタ処理ユニット８４は、受信された境界強度値に基づいて、デブロックフィルタ処理し得る。概して、モード選択ユニット７１及びフィルタ処理ユニット８４は、両方ともビデオデコーダ３０の一部であるので、ビデオデコーダ３０は、例示的な技法を利用して境界強度値を決定するものと見なされ、決定された境界強度値に基づいて、エッジに沿ってデブロックフィルタ処理し得る。
【０１４８】
[0156]モード選択ユニット７１は、（例えば、エントロピー復号ユニット７０によって与えられた情報に基づいて）現在ブロック及び隣接ブロックのためのコード化モードを決定し得る。フィルタ処理ユニット８４は、以下の例示的な境界強度決定プロセスのうちの１つを実行することに基づいて、境界強度値を決定し得る。フィルタ処理ユニット８４は、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックである（例えば、ＩＢＣモードでコード化される）こと、及び、他のブロックがインターコード化ブロックである（例えば、インター予測モードでコード化される）ことに基づいて、境界強度値決定プロセスを実行し得る。この例では、境界強度値決定プロセスは、表１のＩＤ３及び４の場合にそうであるような、インターコード化ブロックのための動きベクトルを識別することを含まない。この場合も、ＩＤ３及び４について表１に示されたように、境界強度値は、２つのブロックの動きベクトル成分の間の差分、動きベクトルが異なるピクチャを参照すること、又は、動きベクトルの数が２つのブロックについて異なることに基づいて決定される。
【０１４９】
[0157]繰り返すと、動きベクトルは、参照ピクチャリストへの参照インデックスによって識別される参照ピクチャ中のブロックを参照する。「動きベクトル」及び「ブロックベクトル」という用語は、混同されるべきではない。ブロックベクトルは、ＩＢＣコード化ブロックのために使用され、現在ブロックと同じピクチャ中の予測ブロックを指す。対照的に、動きベクトルは、現在ブロックに関連付けられたピクチャとは異なるピクチャ中の予測ブロックを指す。
【０１５０】
[0158]また、この境界強度値決定プロセスは、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる。例えば、この境界強度値決定プロセスは、表１のＩＤ１とは異なる。
【０１５１】
[0159]上記で説明されたように、ＪＣＴＶＣ−Ｒ０１２６では、両方の（例えば、一方がＩＢＣコード化され、他方がインターコード化される、及び、一方がＩＢＣコード化され、他方がイントラコード化される）場合に、ＪＣＴＶＣ−Ｒ０１２６技法は、境界強度値決定のために同じプロセスを使用する（例えば、１に等しい境界強度値を設定する）。本開示で説明される技法では、一方のブロックがＩＢＣコード化され、他方がイントラコード化される場合、フィルタ処理ユニット８４は、一方のブロックがＩＢＣコード化され、他方がインターコード化される場合とは異なる境界強度値決定プロセスを実行し得る。
【０１５２】
[0160]本開示で説明される技法では、フィルタ処理ユニット８４は、現在ブロック又は隣接ブロックのうちの少なくとも１つが（例えば、ＩＢＣモードでコード化された）ＩＢＣコード化ブロックであること、及び、他のブロックが（例えば、イントラ予測モードでコード化された）イントラコード化ブロックであることに基づいて、第１の境界強度値決定プロセスを実行し得る。フィルタ処理ユニット８４は、現在ブロック又は隣接ブロックの一方がＩＢＣコード化ブロックであること、及び他のブロックが非ＩＢＣコード化ブロックであることに基づいて、第２の、異なる境界強度値決定プロセスを実行し得る。この例では、第２の境界強度値決定プロセスは、非ＩＢＣコード化ブロックのための動きベクトルを識別することを含まない。
【０１５３】
[0161]１つのブロックがインターコード化されるとき、及び別のブロックがＩＢＣコード化されるとき、フィルタ処理ユニット８４（又は、モード選択ユニット７１）が実行する境界強度決定プロセスの一例は、１に等しい境界強度値を設定することである。１つのブロックがインターコード化されるとき、及び別のブロックがＩＢＣコード化されるとき、フィルタ処理ユニット８４（又は、モード選択ユニット７１）が実行する境界強度決定プロセスの別の例は、ＩＢＣコード化ブロックのための参照ブロックを決定することと、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるか否かを決定することとを含む。この例では、フィルタ処理ユニット８４又はモード選択ユニット７１は、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、１に等しい境界強度値を設定し得るか、又は参照ブロック中のどの画素もイントラ予測モード若しくはＩＢＣモードでコード化されないことに基づいて、１に等しい境界強度値を設定し得る。
【０１５４】
[0162]フィルタ処理ユニット８４は、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理し得る。次いで、フィルタ処理ユニット８４は、得られたフィルタ処理された画素値が、インターコード化される後続のブロックのための参照画素として表示され、場合によっては使用され得るように、そのフィルタ処理された画素値を参照ピクチャメモリ８２内に記憶し得る。
【０１５５】
[0163]ブロックがＩＢＣコード化されるときのための境界強度値を決定するための例示的な技法を実行することに加えて、ビデオデコーダ３０はまた、ＩＢＣコード化のために必要とされないことになるピクチャ中の領域のためのフィルタ処理されていない画素値の選択的な記憶に関係する技法を実行するようにも構成され得る。例えば、モード選択ユニット７１は、ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために、ピクチャ中の領域が参照されるか否か（例えば、その領域がＩＢＣコード化のための参照として使用されることになるか否か）を決定し得る。
【０１５６】
[0164]モード選択ユニット７１は、符号化ビデオビットストリーム中で受信された情報に基づいて、領域がＩＢＣモードのために使用されることになるかどうかの決定を実行し得る。例えば、上記で説明されたように、ビデオエンコーダ２０は、領域がＩＢＣコード化のための参照になるかどうかを示す情報を出力し得る。幾つかの例では、モード選択ユニット７１が、ビデオコンテンツに基づいて、領域がＩＢＣモードのために使用されることになるかどうかを決定することが可能であり得る。
【０１５７】
[0165]モード選択ユニット７１が、領域がＩＢＣモードを使用する予測のための参照である（例えば、ＩＢＣコード化のための参照として使用されることになる）と決定する場合、フィルタ処理ユニット８４は、フィルタ処理なしで、領域のフィルタ処理されていない画素値を通過させ得（又は、モード選択ユニット７１は、破線によって示されているように、フィルタ処理ユニット８４をバイパスさせ得）、フィルタ処理されていない画素値が、参照ピクチャメモリ８２内に記憶され得る。幾つかの例では、フィルタ処理ユニット８４はまた、領域の画素値をフィルタ処理し（例えば、デブロックフィルタ処理及び／又は何らかの他のフィルタ処理を適用し）、参照ピクチャメモリ８２内にフィルタ処理された画素値を記憶し得る。従って、モード選択ユニット７１が、領域がＩＢＣモードを使用する予測のための参照であると決定する場合、参照ピクチャメモリ７１は、領域のためのフィルタ処理されていない画素値と、領域のためのフィルタ処理された画素値の両方を記憶し得る。
【０１５８】
[0166]モード選択ユニット７１が、領域がＩＢＣモードを使用する予測のための参照ではない（例えば、ＩＢＣコード化のための参照として使用されることにならない）と決定する場合、フィルタ処理ユニット８４（又は、モード選択ユニット７１）は、参照ピクチャメモリ８２内にフィルタ処理されていない画素値を記憶することを回避し得る。しかしながら、フィルタ処理ユニット８４は、依然として、画素値をフィルタ処理し、参照ピクチャメモリ８２内に得られたフィルタ処理された画素値を記憶し得る。従って、モード選択ユニット７１が、領域がＩＢＣモードを使用する予測のための参照ではないと決定する場合、参照ピクチャメモリ８２は、領域のためのフィルタ処理された画素値を記憶し得、領域のためのフィルタ処理されていない画素値を記憶しなくてよい。
【０１５９】
[0167]このようにして、これらの技法は、ビデオデコーダ３０が、ＩＢＣモードを使用する予測のために使用される領域のみを選択的に記憶し得るように、ＩＢＣ予測使用情報を示すために、平均帯域幅を低減し得る。例えば、フィルタ処理されていない画素値が必要とされない場合、参照ピクチャメモリ８２へのアクセスが制限され得る。参照ピクチャメモリ８２は、ビデオデコーダ３０のオンチップ又はオフチップであり得、概して、参照ピクチャメモリ８２へのアクセスを制限することは、メモリ帯域幅利用を促進し、記憶されるべき他のデータのための時間と空間とを解放し得る。
【０１６０】
[0168]ビデオデコーダ３０は、領域がＩＢＣコード化における参照のために使用されることになるかどうかを示す情報としてのフラグ（例えば、特定のＣＴＢが、少なくとも１ブロックによって予測単位ＩＢＣモードのために参照されるかどうかを示すために、各ＣＴＢについて受信されるフラグ）を復号し得る。しかしながら、領域はＣＴＢに限定されなくてよい。領域は、ピクチャ、タイル、スライス、ＰＵブロック、ＣＵ、ＣＴＢ、ＣＴＢのグループ、Ｎ×Ｎ（例えば、６４×６４）の固定されたサイズ又はＭ×Ｎ（例えば、１６×３２若しくは３２×１６）の矩形区分のうちの１つであり得る。ビデオデコーダ３０は、領域のサイズのこれらの例のいずれかのためのフラグを受信し得る。
【０１６１】
[0169]また、ビデオデコーダ３０は、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、又は補助強化情報（ＳＥＩ）メッセージ又はパラメータセット拡張のうちの１つ又は複数において、領域がＩＢＣモードのための参照として使用されることになるかならないかを示す情報を受信し得る。幾つかの例では、ビデオデコーダ３０は、イントラブロックコピーモードが有効にされるか否かに基づいて、情報を条件付きで受信し得る。
【０１６２】
[0170]幾つかの例では、ビデオデコーダ３０は、領域が参照として使用されることになるかどうかのためのフラグの存在を示す、別のゲーティングフラグを受信し得る。ゲーティングフラグは、領域が参照として使用されることになるかどうかを示すフラグがビットストリーム中に存在するか否かを最初に示す、高レベルフラグであり得る。例えば、このゲーティングフラグが高である場合、ビデオデコーダ３０は、領域がＩＢＣモードにおける参照のために使用されるかどうかを示すフラグを受信し得、このゲーティングフラグが低である場合、ビデオデコーダ３０は、領域がＩＢＣモードにおける参照のために使用されるかどうかを示すフラグを受信しなくてよい。
【０１６３】
[0171]また、ＣＴＵ（又は、一般に様々な粒度レベルをもつブロック）の数は、ＣＴＢがイントラブロックコピー参照として使用されるかどうかを示す、コード化又は復号されたフラグの数を識別するために、明示的に信号伝達されることが必要とされ得る。例えば、スライスに含められるＣＴＵの数が事前に知られていないことがあるので、フラグがスライスヘッダ中で信号伝達される場合、この信号伝達は有用であり得る。しかしながら、波面並列処理（ＷＰＰ）又はタイルが有効にされる場合、そのような情報（ＣＴＵの数）は利用可能であり得、従って、追加として信号伝達される必要がなくてよいので、ＣＴＵの数は、ＷＰＰ又はタイルが使用される場合のみ、信号伝達され得るようになる。
【０１６４】
[0172]技法の幾つかの異なる態様及び例が本開示で説明されるが、技法の様々な態様及び例は、互いに一緒に又は別々に実行されてよい。言い換えれば、技法は、上記で説明された様々な態様及び例に厳密に制限されるべきではなく、組合せて使用されてよく、又は一緒に及び／又は別々に実行されてもよい。加えて、幾つかの技法は、ビデオデコーダ３０の幾つかのユニットに帰する場合があるが、ビデオデコーダ３０の１つ又は複数の他のユニットもまた、そのような技法を遂行する役目を果たし得ることを理解されたい。
【０１６５】
[0173]本開示の態様によれば、ビデオエンコーダ２０及び／又はビデオデコーダ３０は、上記で説明されたデブロックフィルタ処理技法を実行し得る。任意のビデオコード化規格に厳密に適用可能ではないが、本技法は、ＨＥＶＣ範囲拡張、スクリーンコンテンツコード化拡張又は場合によっては他の規格化された、若しくはプロプライエタリなビデオ圧縮プロセスとともに使用され得る。
【０１６６】
[0174]上記の例は、ビデオエンコーダ２０又はビデオデコーダ３０がデブロックフィルタ処理のための境界強度値を決定するための技法について説明している。ビデオエンコーダ２０及びビデオデコーダ３０は、両方とも、ビデオ日付を処理するための同じ技法を実行するので、本開示は、総称的に両方を指すために「ビデオコーダ」という用語を使用する。例えば、以下は、境界強度値を決定するためのデブロックフィルタ処理プロセスへの変更の３つの例示的な技法についてのものである。説明される技法１〜３において言及される「変更」は、ＨＥＶＣバージョン１に対するものであり得る。
【０１６７】
[0175]技法１の一例として、ビデオコーダが、イントラブロックコピーが使用されると決定するとき、デブロックフィルタ処理プロセスは、次のように変更され得る。ビデオコーダが、エッジのいずれかの側（例えば、現在ブロック又は隣接ブロックのいずれか）がイントラコード化ブロックであると決定する場合、ビデオコーダは、表１内と同様に、２に等しい境界強度値を設定し得る。そうでない場合、ビデオコーダが、エッジのいずれかの側がＩＢＣコード化ブロックである（及び、いずれもイントラコード化されない）と決定する場合、ビデオコーダは、１に等しい境界強度値を設定し得る。そうでない（例えば、いずれのブロックもイントラコード化されず、いずれのブロックもＩＢＣコード化されない）場合、ビデオコーダは、０又は１に等しい境界強度値を選択するために、表１において上記で説明されたインタールールを適用し得る。
【０１６８】
[0176]技法２の一例として、ビデオコーダが、イントラブロックコピーが使用されると決定するとき、デブロックフィルタ処理プロセスは、次のように変更され得る。ビデオコーダが、エッジのいずれかの側（例えば、現在ブロック又は隣接ブロックのいずれか）がイントラコード化ブロックであると決定する場合、ビデオコーダは、表１内と同様に、２に等しい境界強度値を設定し得る。そうでない場合、ビデオコーダが、エッジのいずれかの側がＩＢＣコード化ブロックである（及び、いずれもイントラコード化されない）と決定する場合、ビデオコーダは、ＩＢＣコード化ブロックのためのブロックベクトルに基づいて、ＩＢＣコード化ブロックの参照ブロックを識別し得る。この参照ブロック中のいずれかの画素がイントラ予測モードにおけるコードである場合、ビデオコーダは、２に等しい境界強度値を設定し得る。他の場合、ビデオコーダは、１に等しい境界強度値を設定する。そうでない（例えば、いずれのブロックもイントラコード化されず、いずれのブロックもＩＢＣコード化されない）場合、ビデオコーダは、０又は１に等しい境界強度値を選択するために、表１において上記で説明されたインタールールを適用し得る。
【０１６９】
[0177]技法３の一例として、ビデオコーダが、イントラブロックコピーが使用されると決定するとき、デブロックフィルタ処理プロセスは、次のように変更され得る。ビデオコーダが、エッジのいずれかの側（例えば、現在ブロック又は隣接ブロックのいずれか）がイントラコード化ブロックであると決定する場合、ビデオコーダは、表１内と同様に、２に等しい境界強度値を設定し得る。そうでない場合、ビデオコーダが、エッジのいずれかの側がＩＢＣコード化ブロックである（及び、いずれもイントラコード化されない）と決定する場合、ビデオコーダは、ＩＢＣコード化ブロックのためのブロックベクトルに基づいて、ＩＢＣコード化ブロックの参照ブロックを識別し得る。この参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードにおけるコードである場合、ビデオコーダは、２に等しい境界強度値を設定し得る。他の場合、ビデオコーダは、１に等しい境界強度値を設定する。そうでない（例えば、いずれのブロックもイントラコード化されず、いずれのブロックもＩＢＣコード化されない）場合、ビデオコーダは、０又は１に等しい境界強度値を選択するために、表１において上記で説明されたインタールールを適用し得る。
【０１７０】
[0178]従って、ビデオコーダ（そのようなビデオエンコーダ２０及び／又はビデオデコーダ３０）は、ビデオデータのピクチャ中のエッジを形成する少なくとも１つのブロックが、インターブロックコピー（イントラＢＣ）モードを使用してコード化されるかどうかに基づいて、そのエッジをデブロックフィルタ処理するための境界強度値を決定することと、決定された境界強度値を使用して、そのエッジをデブロックフィルタ処理することとを含み、ビデオデータを処理し得る。境界強度値は、例えば、フィルタ処理ユニット６６及び／又はフィルタ処理ユニット８４によって実施されるような、デブロックフィルタ処理プロセス中に使用されるパラメータであり得る。
【０１７１】
[0179]図４Ａ〜図４Ｉは、隣接ブロックの異なるコード化モードの異なる組合せを示す概念図である。図４Ａ〜図４Ｅにおいて示された例では、隣接ブロックのうちの少なくとも１つがイントラコード化される。従って、これらの例では、ビデオコーダは、第１の境界強度値決定プロセスを実行（例えば、２に等しい境界強度値を設定）し得る。この第１の境界強度値決定プロセスは、上記の表１におけるＩＤ１と同じであり得る。図４Ａ〜図４Ｉは、横並びであるように隣り合うもの（neighbors）を示すが、隣り合うものは上に隣り合うもの及び下に隣り合うものであってもよい。
【０１７２】
[0180]第１の境界強度値決定プロセスは、ＪＣＴＶＣ−Ｒ０１２６技法とは異なる。ＪＣＴＶＣ−Ｒ０１２６では、ブロックの一方がＩＢＣコード化される場合、境界強度値は１になる。例えば、ＪＣＴＶＣ−Ｒ０１２６では、図４Ｂ及び図４Ｃのための境界強度値は、ブロックのうちの一方がＩＢＣコード化されるので、１になる。しかしながら、本開示で説明される１つ又は複数の例示的な技法では、境界強度値決定プロセスは異なり、イントラコード化ブロックのものに従う。
【０１７３】
[0181]図４Ｆ〜図４Ｈでは、ブロックのうちの少なくとも１つがＩＢＣコード化され、いずれもイントラコード化されない。図４Ｆ〜図４Ｈにおいて示された例では、ビデオコーダは、第２の境界強度値決定プロセスを実行し得る。例えば、両方のブロックがＩＢＣコード化されるとき、又は、一方のブロックがＩＢＣコード化され、他のブロックがインターコーダであるとき、ビデオコーダは、第２の境界強度値決定プロセスを実行し得る。
【０１７４】
[0182]第２の境界強度決定プロセスでは、一例として、ビデオコーダは、境界強度値を１に等しいものとして決定し得る。別の例として、ビデオコーダは、ＩＢＣコード化ブロックが参照する参照ブロックを識別し、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されたかどうかを決定し得る。ビデオコーダは、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい境界強度値を設定するか、又は参照ブロック中のどの画素もイントラ予測モード若しくはＩＢＣモードでコード化されないことに基づいて、１に等しい境界強度値を設定し得る。
【０１７５】
[0183]図４Ｉでは、ブロックの両方がインターコード化される。この場合、ビデオコーダは、第３の境界強度値決定プロセスを実行し得る。例えば、ビデオコーダは、上記の表１のＩＤ３及び４におけるプロセスを実行し得る。
【０１７６】
[0184]本開示で説明される例では、ビデオコーダは、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行し得る。例えば、ビデオコーダは、上記で説明された第２の境界ストリーム値決定プロセスを実行し得る。この例では、境界強度値決定プロセスは、インターコード化ブロックのための動きベクトルを識別することを含まず、この境界強度値決定プロセスは、現在ブロック又は隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる。
【０１７７】
[0185]例えば、上記で説明されたように、それらのブロックがインターコード化されるとき、表１のＩＤ３のように、境界強度値を決定するために、２つのブロックの対応する空間動きベクトル成分の間の絶対異なるが、整数画素を単位にして１と比較される。表１のＩＤ４では、ビデオコーダは、２つのブロックのための動き補償予測が異なる参照ピクチャを参照するか、又は動きベクトルの数が２つのブロックについて異なるかどうかを決定する必要がある。
【０１７８】
[0186]第２の境界強度値決定プロセスでは、インターコード化ブロックのためのそのような動きベクトルが決定される必要がない。このようにして、第２の境界強度値決定プロセス（例えば、一方のブロックがＩＢＣコード化され、他方がインターコード化される場合）は、幾つかの他の技法とは異なる。
【０１７９】
[0187]一方のブロックがインターコード化され、他方がＩＢＣコード化される場合の、上記で説明された他の技法のうちの幾つかは、ＩＢＣコード化ブロックをインターコード化ブロックとして扱うこと、又は、ＩＢＣコード化ブロックを単予測インターコード化ブロックに変換することを含む。これらの例では、ビデオコーダは、インターコード化ブロックの動きベクトルを識別し、表１のＩＤ３及び４において必要とされた比較のために使用しなければならない。第２の境界強度値決定プロセスでは、インターコード化ブロックの動きベクトルが、境界強度値を決定するために必要とされない。場合によっては、ビデオコーダは、参照ブロックを識別するためにブロックベクトルを使用し得るが、インターコード化ブロックの動きベクトルは必要とされなくてよい。
【０１８０】
[0188]また、第２の境界強度値決定プロセスは、現在ブロック又は隣接ブロックの一方がイントラコード化され、他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる。幾つかの技法では、ＩＢＣコード化ブロックがイントラコード化ブロックと同じく扱われ、そのことは、他のブロックがインターコード化される場合、境界強度値決定は、本開示で説明される例とは異なることになることを意味する。また、ＪＣＴＶＣ−Ｒ０１２６では、一方のブロックがＩＢＣコード化され、他方がイントラコード化される場合、境界強度値は１である。本開示で説明される技法では、一方のブロックがＩＢＣコード化され、他方がイントラコード化される場合、境界強度値は２である。
【０１８１】
[0189]本開示における１つ又は複数の技法では、境界強度値決定プロセスは、一方のブロックがＩＢＣコード化され、他方がインターコード化される状況に対して、一方のブロックがイントラコード化され、他方がＩＢＣコード化されるときに異なることを理解されたい。得られた境界強度値は、幾つかの事例では、結局同じになることが起こり得るが、境界強度値を決定するためのプロセスは異なる。言い換えれば、それは必ずしも異ならなければならない境界強度値であるとは限らないが、境界強度値を決定するために実行されるプロセスは、境界強度値が必ずしも異なるとは限らない場合でも、異なり得る。
【０１８２】
[0190]図５は、それに対してデブロックフィルタ処理が実行され得る近接ブロックを示す。例えば、図５の例は、近接ブロックＰ及びＱによって形成された４画素の長さの垂直ブロック境界を示す。図５の例では、ブロックＰ及びＱは、デブロックフィルタ処理技法を使用してデブロックされ得る、エッジ８８を形成する。
【０１８３】
[0191]図５の例では、ビデオコーダは、フィルタ処理が適用されるべきであるかどうかと、フィルタが適用されるべきである方法とを決定するために、フィルタ決定基準を利用し得る。境界強度決定基準は、表１を含み得る。
【０１８４】
[0192]幾つかの例では、境界強度（Ｂｓ）が正であるとき、デブロックフィルタ処理が有効にされるか否かを決定するための基準は、次のようになり得る。
【０１８５】
【数１】
0006356346.tif 000003
【０１８６】
[0193]通常及び強いデブロッキングフィルタを決定するための基準は、（ｉ＝０，３）：
【０１８７】
【数２】
0006356346.tif 000004
【０１８８】
であり得る。
【０１８９】
[0194]水平ブロック境界は、同様の方法で扱われ得る。ＨＥＶＣデブロックフィルタ処理プロセスに関する追加の詳細は、ＨＥＶＣセクション８．７．２において見出され得る。例えば、それぞれ図２及び図３に関して上記で説明されたような、フィルタ処理ユニット６６及び／又はフィルタ処理ユニット８４は、以下で説明されるデブロックフィルタ処理（例えば、ＨＥＶＣセクション８．７．２のデブロックフィルタ処理プロセス）を含む、デブロックフィルタ処理を実行するように構成され得る。加えて、フィルタ処理ユニット６６及び／又はフィルタ処理ユニット８４は、本開示のフィルタ処理技法を実行するように構成され得る。
【０１９０】
[0195]ＨＥＶＣセクション８．７．２からのルーマブロックエッジのための決定プロセスのためのデブロックフィルタ処理が、デブロックフィルタ処理のために以下で再現される。以下のテキストでは、変数ＢＳは、本開示で説明される技法を使用して決定され得る境界強度値を指す。境界強度値は、幾つの画素がフィルタ処理されるべきであるか（例えば、図５の例では、例えばフィルタ処理されるべき画素の数）と、フィルタ処理のために使用するべき係数とを決定するために使用され得る。
ルーマブロックエッジのための決定プロセス
このプロセスへの入力は、以下の通りである。
−  ルーマピクチャサンプルアレイｒｅｃＰｉｃｔｕｒｅL、
−  現在ピクチャの左上ルーマサンプルに対する現在ルーマコード化ブロックの左上サンプルを指定するルーマロケーション（ｘＣｂ，ｙＣｂ）、
−  現在ルーマコード化ブロックの左上サンプルに対する現在ルーマブロックの左上サンプルを指定するルーマロケーション（ｘＢｌ，ｙＢｌ）、
−  垂直（ＥＤＧＥ＿ＶＥＲ）それとも水平（ＥＤＧＥ＿ＨＯＲ）エッジがフィルタ処理されるかを指定する変数ｅｄｇｅＴｙｐｅ、
−  境界フィルタ処理強度を指定する変数ｂＳ。
このプロセスの出力は、以下の通りである。
−  決定を含む変数ｄＥ、ｄＥｐ、及びｄＥｑ、
−  変数β及びｔC。
ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＶＥＲに等しい場合、ｉ＝０．．３であり、ｋ＝０及び３であるサンプル値ｐi,k及びｑi,kは、次のように導出される。
【０１９１】
qi,k = recPictureL[ xCb + xBl + i ][ yCb + yBl + k ]        (8-284)
pi,k = recPictureL[ xCb + xBl - i - 1 ][ yCb + yBl + k ]    (8-285)
他の（ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＨＯＲに等しい）場合、ｉ＝０．．３でありｋ＝０及び３であるサンプル値ｐi,k及びｑi,kは、次のように導出される。
【０１９２】
qi,k = recPictureL[ xCb + xBl + k ][ yCb + yBl + i ]        (8-286)
pi,k = recPictureL[ xCb + xBl + k ][ yCb + yBl - i - 1 ]    (8-287)
サンプルｑ0,0及びｐ0,0をそれぞれ含むコード化ブロックを含むコード化単位のＱｐY値に等しい変数ＱｐQ及びＱｐPが設定される。
変数ｑＰLは次のように導出される。
【０１９３】
qPL = ( ( QpQ + QpP + 1 )  >>  1 )      (8-288)
変数β’の値は、次のように導出されたルーマ量子化パラメータＱに基づいて、表８−１１において指定されるように決定される。
【０１９４】
Q = Clip3( 0, 51, qPL + ( slice_beta_offset_div2  <<  1 ) )    (8-289)
但し、ｓｌｉｃｅ＿ｂｅｔａ＿ｏｆｆｓｅｔ＿ｄｉｖ２は、サンプルｑ0,0を含むスライスのためのシンタックス要素ｓｌｉｃｅ＿ｂｅｔａ＿ｏｆｆｓｅｔ＿ｄｉｖ２の値である。
変数βは、次のように導出される。
【０１９５】
β = β′ * ( 1  <<  ( BitDepthY - 8 ) )      (8-290)
変数ｔC’の値は、次のように導出されたルーマ量子化パラメータＱに基づいて、表８−１１において指定されるように決定される。
【０１９６】
Q = Clip3( 0, 53, qPL + 2 * ( bS - 1 ) + ( slice_tc_offset_div2  <<  1 ) )
(8-291)
但し、ｓｌｉｃｅ＿ｔｃ＿ｏｆｆｓｅｔ＿ｄｉｖ２は、サンプルｑ0,0を含むスライスのためのシンタックス要素ｓｌｉｃｅ＿ｔｃ＿ｏｆｆｓｅｔ＿ｄｉｖ２の値である。
変数ｔCは、次のように導出される。
【０１９７】
tC = tC′ * ( 1  <<  ( BitDepthY - 8 ) )      (8-292)
ｅｄｇｅＴｙｐｅの値に応じて、次のものが適用される。
−  ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＶＥＲに等しい場合、次の順序付きステップが適用される。
【０１９８】
１．変数ｄｐｑ０、ｄｐｑ３、ｄｐ、ｄｑ、及びｄが、次のように導出される。
【０１９９】
dp0 = Abs( p2,0 - 2 * p1,0 + p0,0 )          (8-293)
dp3 = Abs( p2,3 - 2 * p1,3 + p0,3 )          (8-294)
dq0 = Abs( q2,0 - 2 * q1,0 + q0,0 )          (8-295)
dq3 = Abs( q2,3 - 2 * q1,3 + q0,3 )          (8-296)
dpq0 = dp0 + dq0              (8-297)
dpq3 = dp3 + dq3              (8-298)
dp = dp0 + dp3                (8-299)
dq = dq0 + dq3                (8-300)
d = dpq0 + dpq3              (8-301)
２．変数ｄＥ、ｄＥｐ、及びｄＥｑが、０に等しく設定される。
【０２００】
３．ｄがβ未満であるとき、次の順序付きステップが適用される。
【０２０１】
ａ．変数ｄｐｑが、２＊ｄｐｑ０に等しく設定される。
【０２０２】
ｂ．サンプルロケーション（ｘＣｂ＋ｘＢｌ，ｙＣｂ＋ｙＢｌ）について、サブクローズ８．７．２．５．６において指定されたようなルーマサンプルのための決定プロセスが、入力としてｉ＝０．．３であるサンプル値ｐi,0、ｑi,0、変数ｄｐｑ、β、及びｔCとともに呼び出され、出力が決定ｄＳａｍ０に割り当てられる。
【０２０３】
ｃ．変数ｄｐｑが、２＊ｄｐｑ３に等しく設定される。
【０２０４】
ｄ．サンプルロケーション（ｘＣｂ＋ｘＢｌ，ｙＣｂ＋ｙＢｌ＋３）について、サブクローズ８．７．２．５．６において指定されたような決定プロセス又はルーマサンプルが、入力としてｉ＝０．．３であるサンプル値ｐi,3、ｑi,3、変数ｄｐｑ、β、及びｔCとともに呼び出され、出力が決定ｄＳａｍ３に割り当てられる。
【０２０５】
ｅ．１に等しい変数ｄＥが設定される。
【０２０６】
ｆ．ｄＳａｍ０が１に等しく、ｄＳａｍ３が１に等しいとき、２に等しい変数ｄＥが設定される。
【０２０７】
ｇ．ｄｐが（β＋（β＞＞１））＞＞３未満であるとき、１に等しい変数ｄＥｐが設定される。
【０２０８】
ｈ．ｄｑが（β＋（β＞＞１））＞＞３未満であるとき、１に等しい変数ｄＥｑが設定される。
−  他の（ｅｄｇｅＴｙｐｅがＥＤＧＥ＿ＨＯＲに等しい）場合、次の順序付きステップが適用される。
【０２０９】
１．変数ｄｐｑ０、ｄｐｑ３、ｄｐ、ｄｑ、及びｄが、次のように導出される。
【０２１０】
dp0 = Abs( p2,0 - 2 * p1,0 + p0,0 )          (8-302)
dp3 = Abs( p2,3 - 2 * p1,3 + p0,3 )          (8-303)
dq0 = Abs( q2,0 - 2 * q1,0 + q0,0 )          (8-304)
dq3 = Abs( q2,3 - 2 * q1,3 + q0,3 )          (8-305)
dpq0 = dp0 + dq0          (8-306)
dpq3 = dp3 + dq3          (8-307)
dp = dp0 + dp3            (8-308)
dq = dq0 + dq3            (8-309)
d = dpq0 + dpq3           (8-310)
２．０に等しい変数ｄＥ、ｄＥｐ及びｄＥｑが、設定される。
【０２１１】
３．ｄがβ未満であるとき、次の順序付きステップが適用される。
【０２１２】
ａ．２＊ｄｐｑ０に等しい変数ｄｐｑが、設定される。
【０２１３】
ｂ．サンプルロケーション（ｘＣｂ＋ｘＢｌ，ｙＣｂ＋ｙＢｌ）について、サブクローズ８．７．２．５．６において指定されたようなルーマサンプルのための決定プロセスが、入力としてサンプル値ｐ0,0、ｐ3,0、ｑ0,0及びｑ3,0、変数ｄｐｑ、β及びｔCとともに呼び出され、出力が決定ｄＳａｍ０に割り当てられる。
【０２１４】
ｃ．２＊ｄｐｑ３に等しい変数ｄｐｑが、設定される。
【０２１５】
ｄ．サンプルロケーション（ｘＣｂ＋ｘＢｌ＋３，ｙＣｂ＋ｙＢｌ）について、サブクローズ８．７．２．５．６において指定されたようなルーマサンプルのための決定プロセスが、入力としてサンプル値ｐ0,3、ｐ3,3、ｑ0,3及びｑ3,3、変数ｄｐｑ、β及びｔCとともに呼び出され、出力が決定ｄＳａｍ３に割り当てられる。
【０２１６】
ｅ．１に等しい変数ｄＥが、設定される。
【０２１７】
ｆ．ｄＳａｍ０が１に等しく、ｄＳａｍ３が１に等しいとき、２に等しい変数ｄＥが、設定される。
【０２１８】
ｇ．ｄｐが（β＋（β＞＞１））＞＞３未満であるとき、１に等しい変数ｄＥｐが、設定される。
【０２１９】
ｈ．ｄｑが（β＋（β＞＞１））＞＞３未満であるとき、１に等しくい数ｄＥｑが、設定される。
【０２２０】
【表２】
0006356346.tif 000005
【０２２１】
[0196]境界強度値が使用される１つの方法について説明する上記のテキストは、一例として提供されたものにすぎず、限定として見なされるべきではないことを理解されたい。境界強度値がデブロックフィルタ処理技法のために使用され得る他の方法があり得る。また、ＨＥＶＣのセクション８．７．２に加えて、境界強度値が使用される、ＨＥＶＣにおける部分があり得る。
【０２２２】
[0197]図６は、イントラブロックコピープロセスの一例を示す図である。イントラＢＣは、ＳＣＭ中に含まれている。図６の例は、現在コード化単位（ＣＵ）９０と、探索領域９４中にある予測ブロック９２と、ブロックベクトル９６とを含む。符号化中に、ビデオエンコーダ２０は、現在ＣＵ９０と（予測信号と呼ばれることもある）予測ブロック９２との間の差分に基づいて、現在ＣＵ９０のための残差を符号化し得る。ビデオエンコーダ２０は、現在ＣＵ９０と同じピクチャ中ですでに再構成されている、探索領域９４中の予測ブロック９２の位置を特定し得る。ビデオエンコーダ２０は、（「オフセットベクトル」又は「変位ベクトル」と呼ばれることもある）ブロックベクトル９６を使用して、予測ブロック９２の位置を特定し得る。幾つかの事例では、予測信号、例えば、予測ブロック９２が再構成され得るが、デブロッキングとサンプル適応オフセット（ＳＡＯ）とを含む、ループ内フィルタ処理なしである。
【０２２３】
[0198]ビデオエンコーダ２０は、残余信号とともにブロックベクトル９６を符号化し得る。例えば、ビデオエンコーダ２０は、符号化ビデオビットストリーム中のブロックベクトル９６の水平変位成分とブロックベクトル９６の垂直変位成分とを識別又は定義する、１つ又は複数のシンタックス要素を含み得る。幾つかの事例では、以下に示されるように、ビデオエンコーダ２０は、ブロックベクトル９６を予測し、符号化ビデオビットストリーム中に、ブロックベクトル９６と予測子との間のデータ指示差分を含め得る。ビデオエンコーダ２０はまた、残余、例えば、現在ＣＵ９０の画素値と予測ブロック９２の画素値との間の差分を符号化し得る。
【０２２４】
[0199]ビデオデコーダ３０は、ブロックベクトル９６（又は、ブロックベクトル９６とブロックベクトル予測子との間の差分を示すデータ）を決定するために、１つ又は複数のシンタックス要素を復号し、現在ＣＵ９０のための予測ブロック９２を識別するために、決定されたベクトルを使用し得る。ビデオデコーダ３０はまた、残余を復号し得る。ビデオデコーダ３０は、復号された残余を、（ブロックベクトル９６によって識別されるような）予測ブロック９２の再構成された画素値と結合することによって、現在ＣＵ９０を再構成し得る。
【０２２５】
[0200]幾つかの例では、ブロックベクトル９６の解像度は、整数画素であり得、例えば、整数画素解像度を有するように制約され得る。そのような例では、水平変位成分及び垂直変位成分の解像度は、整数画素である。そのような例では、ビデオエンコーダ２０及びビデオデコーダ３０は、現在ＣＵ９０のための予測子を決定するために、予測ブロック９２の画素値を補間する必要はない。他の例では、水平変位成分及び垂直変位成分の一方又は両方の解像度は、解像度においてサブ画素であり得る。例えば、垂直成分及び水平成分のうちの一方は整数画素解像度を有し得るが、他方はサブ画素解像度を有する。
【０２２６】
[0201]上記で示されたように、ブロックベクトル９６は、整数レベルにおいて予測され、信号伝達され得る。例えば、幾つかの事例では、ブロックベクトル９６は、本明細書で説明される動きベクトルの予測と同様の方法で予測され得る。即ち、ビットストリーム中にブロックベクトル９６の指示を含めるのではなく、ビデオエンコーダ２０は、ブロックベクトル９６とブロックベクトル予測子との間のブロックベクトル差分の指示を符号化し得る（及び、ビデオデコーダ３０は復号し得る）。ブロックベクトル９６は、整数レベルにおいて予測され、信号伝達され得る。現在のＳＣＭにおいて、ブロックベクトル予測子は、各ＣＴＢの開始において（−ｗ，０）に設定され得、但し、ｗはＣＵの幅である。ブロックベクトル予測子は、最新のコード化ＣＵ／ＰＵのうちの１つになるように更新され得、最後のコード化ＣＵ／ＰＵは、イントラＢＣモードでコード化される。ＣＵ／ＰＵがイントラＢＣでコード化されない場合、ブロックベクトル予測子は、不変のままである。ブロックベクトル予測後、ブロックベクトル差分は、ＨＥＶＣのような動きベクトル差分コード化方法を使用して符号化される（例えば、現在ブロックベクトルとブロックベクトル予測子との間のブロックベクトル差分）。従って、本明細書で説明される幾つかの技法は、ビットストリーム中で（ブロックベクトル９６などの）ブロックベクトルの指示を信号伝達することを含むが、幾つかの事例では、ブロックベクトル差分の指示が代替的に信号伝達され得ることを理解されたい。
【０２２７】
[0202]現在のイントラＢＣモードは、ＣＵレベルとＰＵレベルの両方において有効にされる。ＰＵレベルイントラＢＣでは、２Ｎ×Ｎ及びＮ×２Ｎ  ＰＵ区分が、全てのＣＵサイズのためにサポートされる。加えて、ＣＵが最も小さいＣＵであるとき、Ｎ×Ｎ  ＰＵ区分がサポートされる。
【０２２８】
[0203]図７は、マージモード及びＡＭＶＰモードのための空間隣接動きベクトル候補を示す。例えば、ＨＥＶＣ規格は、マージモードとＡＭＶＰモードとを含む、２つのインター予測モードを含む。ＡＭＶＰモード又はマージモードのいずれかでは、動きベクトル（ＭＶ）候補リストは、複数の動きベクトル予測子について維持される。現在ＰＵの、動きベクトル、並びにマージモードにおける参照インデックスは、ＭＶ候補リストから１つの候補を取ることによって生成される。ＭＶ候補リストは、マージモードのための最高５つの候補と、ＡＭＶＰモードのための２つのみの候補とを含んでいる。マージ候補は、動き情報のセット、例えば、参照ピクチャリスト（リスト０及びリスト１）と参照インデックスの両方に対応する動きベクトルを含み得る。マージ候補がマージインデックスによって識別される場合、現在ブロックの予測のために参照ピクチャが使用され、並びに関連する動きベクトルが決定される。しかしながら、リスト０又はリスト１のいずれかからの各潜在的な予測方向に対するＡＭＶＰモードの下では、ＡＭＶＰ候補が動きベクトルのみを含んでいるので、ＭＶＰインデックスとともに参照インデックスがＭＶ候補リストに明示的に信号伝達される。ＡＭＶＰモードでは、予測された動きベクトルは、更に改善され得る。従って、マージ候補は、動き情報の完全セットに対応するが、ＡＭＶＰ候補は、特定の予測方向についてのただ１つの動きベクトルと参照インデックスとを含んでいる。両方のモードに関する候補は、同じ空間的及び時間的隣接ブロックから同様に導出される。
【０２２９】
[0204]マージモードでは、５つの空間ＭＶ候補の位置が図７に示される。各候補位置の利用可能性は、次の順序｛ａ1，ｂ1，ｂ0，ａ0，ｂ2｝に従ってチェックされ得る。
【０２３０】
[0205]ＡＶＭＰモードでは、隣接ブロックが、ＭＶ候補リストを構成するために使用され得る。隣接ブロックは、ブロックａ0及びａ1からなる左グループ並びにブロックｂ0、ｂ1及びｂ2からなる上グループという、２つのグループに分割され得る。左グループでは、利用可能性が、順序｛ａ0，ａ1｝に従ってチェックされる。上グループでは、利用可能性が、順序｛ｂ0，ｂ1，ｂ2｝に従ってチェックされる。各グループについて、信号伝達された参照インデックスによって示された参照ピクチャと同じ参照ピクチャを参照する隣接ブロック中の潜在的候補は、そのグループの最終候補を形成するために選定されるべき最高優先順位を有する。隣接ブロックのいずれも、同じ参照ピクチャを指す動きベクトルを含んでいない可能性がある。そのような事例では、そのような候補が見つけられ得ない場合、第１の利用可能な候補は、最終候補を形成するためにスケーリングされ得、従って、時間距離差分が補償され得る。
【０２３１】
[0206]概して、動きベクトルは、現在ＰＵ／ＣＵのルーマ成分について導出され得る。動きベクトルがクロマ動き補償のために使用される前に、動きベクトルは、クロマサンプリングフォーマットに基づいてスケーリングされ得る。
【０２３２】
[0207]ＨＥＶＣでは、ＬＣＵは、並列動き推定領域（ＭＥＲ）に分割されてよく、現在ＰＵとは異なるＭＥＲに属する隣接ＰＵのみがマージ／スキップＭＶＰリスト構成プロセス中に含まれることを許容し得る。ＭＥＲのサイズは、ｌｏｇ２＿ｐａｒａｌｌｅｌ＿ｍｅｒｇｅ＿ｌｅｖｅｌ＿ｍｉｎｕｓ２として、ピクチャパラメータセット中で信号伝達され得る。ＭＥＲサイズがＮ×Ｎよりも大きく、但し、２Ｎ×２Ｎが最小ＣＵサイズであるとき、空間隣接ブロックが、それが現在ＰＵと同じＭＥＲの中にある場合に利用不可能と見なされる方式で、ＭＥＲは実施される。
【０２３３】
[0208]図８は、ピクチャ中のコード化単位（ＣＵ）のための例示的なイントラブロックコピー（ＩＢＣ）予測分配を示す概念図である。インターモードとは異なり、ＩＢＣモードは、その予測のために同じピクチャ内のすでに復号されたフィルタ処理されていないサンプルを使用する。現在のテストモデルにおいて、ＩＢＣモードでは、探索範囲は無制限である（全探索ＩＢＣ）。
【０２３４】
[0209]図８に示されるように、（黒で塗りつぶされた）現在ブロックは、以前に復号されたフィルタ処理されていないサンプル（チェックのブロック）のいずれかから予測し得る。チェックのブロックのための使用情報は、現在ピクチャ中の全てのブロックが復号されるまで知られないので、ＩＢＣは、全ての復号されたブロックのためのフィルタ処理されていないサンプルの追加の記憶を導入し得る。しかしながら、（グレーで塗りつぶされた）幾つかの領域がＩＢＣ予測のために使用されず、この使用はコンテンツの特性に依存することが観測される。従って、現在ピクチャのための（グレーで塗りつぶされた領域を含む）以前に復号されたフィルタ処理されていないサンプルを常に記憶することは、帯域幅の観点から非効率的であり得る。
【０２３５】
[0210]本開示で説明される技法では、デコーダ（例えば、ビデオデコーダ３０）が、ＩＢＣモードを使用する予測のために使用される領域（及び、幾つかの例では、それらの領域のみ）を選択的に記憶し得るように、（例えば、非限定的な一例として、ビデオエンコーダ２０によって）ＩＢＣ予測使用情報が示され得る。そのような記憶は、平均帯域幅を低減し得る。
【０２３６】
[0211]以下は、本開示で説明される技法による例について説明する。以下の例の各々は、別個に、又は他の例のうちの１つ又は複数と一緒に適用され得る。以下の例では、「信号伝達される（signaled）」という用語は、情報の包含を示すために使用される。例えば、ビデエンコーダ２０は、以下の例では情報を信号伝達（例えば、出力）し得、ビデオデコーダ３０は、以下の例では情報を受信し得る。しかしながら、ビデエンコーダ２０がそのような情報を信号伝達すること、及び、ビデオデコーダ３０がそのような情報を受信することは、例示のために与えられるものにすぎない。
【０２３７】
[0212]一例では、特定のＣＴＢが、少なくとも１ブロックによってＩＢＣモードを使用する予測のために参照されるかどうかを示すために、フラグが各ＣＴＢについて信号伝達され得る。一例では、特定の領域が、アトリースト１ブロックによってＩＢＣモードを使用する予測のために参照されるかどうかを示すために、フラグが各領域について信号伝達され得る。領域は、異なる粒度レベル、例えば、ピクチャ、タイル、スライス、ＰＵブロック、ＣＵ、ＣＴＢ、ＣＴＢのグループ又はＮ×Ｎ（例えば、６４×６４）の固定されたサイズ若しくはＭ×Ｎ（例えば、１６×３２若しくは３２×１６など）の矩形区分におけるものであり得る。
【０２３８】
[0213]上記の情報（（ＣＴＢを含む）各領域参照使用のためのフラグ）は、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はその拡張のような、様々な粒度レベルにおいて信号伝達され得る。代替又は追加として、これ（上記の情報）は、ＳＥＩメッセージ中で信号伝達され得る。幾つかの例では、これ（上記の情報）は、イントラブロックコピーモードが有効にされるか否かにかかわらず、条件付きで信号伝達されるベースであり得る。
【０２３９】
[0214]幾つかの例では、上記の情報（ＩＢＣ参照使用）の存在を示すために、別のゲーティングフラグが信号伝達され得る。このゲーティングフラグは、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はその拡張のような、様々な粒度レベルにおいてにおいて信号伝達され得る。
【０２４０】
[0215]ＣＴＵ（又は、一般に様々な粒度レベルをもつブロック）の数は、ＣＴＢがイントラブロックコピー参照として使用されるかどうかを示す、コード化又は復号されたフラグの数を識別するために、エクスピシトリー信号伝達されることが必要とされ得る。例えば、スライスに含められるＣＴＵの数が事前に知られていないことがあるので、フラグがスライスヘッダ中で信号伝達される場合、この信号伝達は有用（及び、幾つかの例では、必要）であり得る。しかしながら、波面並列処理（ＷＰＰ）又はタイルが有効にされる場合、そのような情報（ＣＴＵの数）は利用可能であり得、従って、それは追加として信号伝達される必要がないので、ＣＴＵの数は、ＷＰＰ又はタイルが使用される場合、信号伝達され（例えば、その場合のみ信号伝達され）得るようになる。
【０２４１】
[0216]以下は、例示的な一実装形態について説明する。
【０２４２】
【表３】
0006356346.tif 000006
【０２４３】
[0217]ｎｕｍ＿ｃｔｂ＿ｉｎ＿ｓｌｉｃｅは、スライスヘッダ中のｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｉｎｆｏ［ｉ］シンタックス要素の数を指定する。存在しないとき、ｎｕｍ＿ｃｔｂ＿ｉｎ＿ｓｌｉｃｅの値は０に等しいと推論される。
【０２４４】
[0218]０に等しいｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｉｎｆｏ［ｉ］は、コード化ブロックツリーｉ内のどのサンプルも、現在ピクチャ中のイントラブロックコピーモードのための予測のために使用されないことを指定する。０に等しいｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｉｎｆｏ［ｉ］は、サンプルウィズンコード化ブロックツリーｉが、現在ピクチャ中のイントラブロックコピーモードのための予測のために使用され得ることを指定する。ｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｉｎｆｏ［ｉ］が存在しないとき、それは１であると推論される。
【０２４５】
【表４】
0006356346.tif 000007
【０２４６】
[0219]１に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用情報が、スライスの全てのコード化ツリーブロックのためのスライスセグメントヘッダ中に存在することを指定する。０に等しいｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、イントラブロックコピー参照使用情報が、スライスセグメントヘッダ中に存在しないことを指定する。ｐｐｓ＿ｉｂｃ＿ｒｅｆ＿ｕｓａｇｅ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが存在しないとき、それは０であると推論される。
【０２４７】
[0220]図９は、本開示による１つの例示的な技法を示すフローチャートである。図９の例は、ビデオエンコーダ２０とビデオデコーダ３０の両方が実行し得る、ビデオデータを処理する方法を示し、従って、図９は、ビデオコーダに関して説明される。
【０２４８】
[0221]ビデオコーダは、ビデオデータのピクチャ中の現在ブロックのコード化モードと、ビデオデータのピクチャ中の隣接ブロックのコード化モードとを決定し得る（１００）。ビデオコーダは、境界強度値を決定するために、現在ブロック又は隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行し得る（１０２）。境界強度値決定プロセスは、インターコード化ブロックのための動きベクトルを識別することを含まない。また、この境界強度値決定プロセスは、現在ブロック又は隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる。この境界強度値決定プロセスは、現在ブロックと隣接ブロックの両方がＩＢＣコード化ブロックである場合の同じ境界強度値決定プロセスであり得る。
【０２４９】
[0222]幾つかの例では、境界強度値決定プロセスを実行するために、ビデオコーダは、１に等しい境界強度値を設定し得る。幾つかの例では、境界強度値を実行するために、ビデオコーダは、（例えば、ブロックベクトルに基づいて）ＩＢＣコード化ブロックのための参照ボックを決定し、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定し得る。ビデオコーダは、参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい境界強度値を設定するか、又は参照ブロック中のどの画素もイントラ予測モード若しくはＩＢＣモードでコード化されないことに基づいて、１に等しい境界強度値を設定し得る。
【０２５０】
[0223]ビデオコーダは、決定された境界強度値に基づいて、現在ブロックと隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理し得る（１０４）。ビデオコーダは、参照ピクチャメモリ（例えば、参照ピクチャメモリ６４又は参照ピクチャメモリ８２）中に、現在ブロックの得られたデブロックフィルタ処理された画素値を記憶し得る。
【０２５１】
[0224]図１０は、本開示による１つの例示的な技法を示すフローチャートである。図１０の例は、ビデオエンコーダ２０とビデオデコーダ３０の両方が実行し得る、ビデオデータを処理する方法を示し、従って、図９は、ビデオコーダに関して説明される。
【０２５２】
[0225]ビデオコーダは、ピクチャ中の領域が、ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定し得る（１０６）。ビデオコーダは、ピクチャ中の領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、その領域のためのフィルタ処理されていない画素値を、参照ピクチャメモリ中に記憶し得る（１０８）。ビデオコーダは、ピクチャ中の領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、その領域のためのフィルタ処理されていない画素値の記憶を回避し得る（１１０）。
【０２５３】
[0226]例えば、ビデオデコーダ３０が図１０の例示的な技法を実行中であるとき、ビデオデコーダ３０は、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はＳＥＩメッセージのうちの１つ又は複数において情報（例えば、フラグ）を受信し得、受信された情報に基づいて、ピクチャ中の領域が、ボックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定し得る。ビデオエンコーダ２０が図１０の例示的な技法を実行中であるとき、ビデオエンコーダ２０は、ピクチャ中の領域がピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを識別する、ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はＳＥＩメッセージのうちの１つ又は複数における情報（例えば、フラグ）を出力し得る。
【０２５４】
[0227]例に応じて、本明細書で説明される技法のうちのいずれかの幾つかの行為又はイベントは、異なるシーケンスで実行され得、追加、マージ、又は完全に除外され得る（例えば、全ての説明される行為又はイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、幾つかの例では、行為又はイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、又は複数のプロセッサを通して同時に実行され得る。
【０２５５】
[0228]本開示の幾つかの態様が、説明のために開発中のＨＥＶＣ規格に関して説明された。しかしながら、本開示で説明される技法は、他の規格又はまだ開発されていないプロプライエタリビデオコード化プロセスを含む、他のビデオコード化プロセスのために有用であり得る。
【０２５６】
[0229]本開示で説明されるビデオコーダは、ビデオエンコーダ又はビデオデコーダを指すことがある。同様に、ビデオコード化単位は、ビデオエンコーダ又はビデオデコーダを指すことがある。同様に、ビデオコード化は、適宜、ビデオ符号化又はビデオ復号を指すことがある。加えて、ビデオデータを符号化すること、及び／又はビデオデータを復号することは、一般にビデオデータを処理することと呼ばれることがある。
【０２５７】
[0230]１つ又は複数の例では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
【０２５８】
[0231]データ記憶媒体は、本開示で説明される技法の実装のために命令、コード及び／又はデータ構造を取り出すために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０２５９】
[0232]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ及び他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ又は命令若しくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、ウェブサイト、サーバ、又は他のリモート発信源から、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線及びマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ又は赤外線、無線及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【０２６０】
[0233]但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
【０２６１】
[0234]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）又は他の等価な集積回路若しくはディスクリート論理回路など、１つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造又は本明細書で説明される技法の実装に好適な任意の他の構造のいずれかを指すことがある。加えて、幾つかの態様では、本明細書で説明される機能は、符号化及び復号のために構成された専用のハードウェア及び／又はソフトウェアモジュール内で与えられ、又は複合コーデックに組み込まれ得る。また、本技法は、１つ又は複数の回路又は論理要素において十分に実施され得る。
【０２６２】
[0235]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置に実装され得る。本開示では、開示される技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール又はユニットが説明されるが、それらの構成要素、モジュール又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットは、好適なソフトウェア及び／又はファームウェアとともに、上記で説明された１つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、又は相互動作ハードウェアユニットの集合によって提供され得る。
【０２６３】
[0236]様々な例が、説明された。これら及び他の例は、次の特許請求の範囲内に入る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを処理する方法であって、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定することと、
境界強度値を決定するために、前記現在ブロック又は前記隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、前記境界強度値決定プロセスが、前記インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを備える方法。
［Ｃ２］
前記境界強度値決定プロセスが、前記現在ブロックと前記隣接ブロックの両方がＩＢＣコード化ブロックである場合の同じ境界強度値決定プロセスである、Ｃ１に記載の方法。
［Ｃ３］
前記境界強度値決定プロセスを実行することが、前記１に等しい境界強度値を設定することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記境界強度値決定プロセスを実行することが、
前記ＩＢＣコード化ブロックのための参照ブロックを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい前記境界強度値を設定すること、又は
前記参照ブロック中のどの画素もイントラ予測モード又はＩＢＣモードでコード化されないことに基づいて、１に等しい前記境界強度値を設定することを備える、Ｃ１に記載の方法。
［Ｃ５］
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを更に備える、Ｃ１に記載の方法。
［Ｃ６］
各領域が、ピクチャ、タイル、スライス、予測単位（ＰＵ）ブロック、コード化単位（ＣＵ）、コード化ツリーブロック（ＣＴＢ）、ＣＴＢのグループ、Ｎ×Ｎの固定されたサイズ又はＭ×Ｎの矩形区分のうちの１つを備える、Ｃ５に記載の方法。
［Ｃ７］
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、パラメータセット拡張又は補助強化情報（ＳＥＩ）メッセージのうちの１つ又は複数における情報を受信すること、
ここにおいて、前記ピクチャ中の前記領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することが、前記ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ、パラメータセット拡張又はＳＥＩメッセージのうちの１つ以上における受信された情報に基づいて決定することを備える、を更に備える、Ｃ５に記載の方法。
［Ｃ８］
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ、パラメータセット拡張又は補助強化情報（ＳＥＩ）メッセージのうちの１つ以上における情報を出力すること、ここにおいて、前記情報が、前記ピクチャ中の前記領域が前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを識別する、を更に備える、Ｃ５に記載の方法。
［Ｃ９］
ビデオデータを処理するための機器であって、
前記ビデオデータの隣接ブロックを記憶するように構成されたメモリと、
ビデオコーダとを備え、前記ビデオコーダが、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の前記隣接ブロックのコード化モードとを決定することと、
境界強度値を決定するために、前記現在ブロック又は前記隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、前記境界強度値決定プロセスが、前記インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することと
を行うように構成される、機器。
［Ｃ１０］
前記境界強度値決定プロセスが、前記現在ブロックと前記隣接ブロックの両方がＩＢＣコード化ブロックである場合の同じ境界強度値決定プロセスである、Ｃ９に記載の機器。
［Ｃ１１］
前記境界強度値決定プロセスを実行するために、前記ビデオコーダが、１に等しい前記境界強度値を設定するように構成される、Ｃ９に記載の機器。
［Ｃ１２］
前記境界強度値決定プロセスを実行するために、前記ビデオコーダが、
前記ＩＢＣコード化ブロックのための参照ブロックを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい前記境界強度値を設定すること、又は
前記参照ブロック中のどの画素もイントラ予測モード又はＩＢＣモードでコード化されないことに基づいて、１に等しい前記境界強度値を設定することを行うように構成される、Ｃ９に記載の機器。
［Ｃ１３］
前記ビデオコーダが、
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を、前記メモリユニット内に記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを行うように構成される、Ｃ９に記載の機器。
［Ｃ１４］
各領域が、ピクチャ、タイル、スライス、予測単位（ＰＵ）ブロック、コード化単位（ＣＵ）、コード化ツリーブロック（ＣＴＢ）、ＣＴＢのグループ、Ｎ×Ｎの固定されたサイズ又はＭ×Ｎの矩形区分のうちの１つを備える、Ｃ１３に記載の機器。
［Ｃ１５］
前記ビデオコーダがビデオデコーダを備え、ここにおいて、前記ビデオデコーダが、
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ又は補助強化情報（ＳＥＩ）メッセージのうちの１つ又は複数における情報を受信することを行うように構成され、
ここにおいて、前記ピクチャ中の前記領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定するために、前記ビデオデコーダが、前記ＶＰＳ、ＳＰＳ、ＰＰＳ、スライスヘッダ又はＳＥＩメッセージのうちの１つ以上における受信された情報に基づいて決定するように構成される、Ｃ１３に記載の機器。
［Ｃ１６］
前記ビデオコーダがビデオエンコーダを備え、ここにおいて、前記ビデオエンコーダが、
ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、スライスヘッダ又は補助強化情報（ＳＥＩ）メッセージのうちの１つ又は複数における情報を出力すること、ここにおいて、前記情報が、前記ピクチャ中の前記領域が前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを識別する、を行うように構成される、Ｃ１３に記載の機器。
［Ｃ１７］
前記機器が、
集積回路（ＩＣ）、
マイクロプロセッサ、又は
前記ピクチャをキャプチャするためのカメラ若しくは前記ピクチャを表示するための表示器のうちの少なくとも１つを含む、ワイヤレス通信機器のうちの１つ以上を備える、Ｃ９に記載の機器。
［Ｃ１８］
実行されたとき、ビデオデータを処理するための機器の１つ以上のプロセッサに、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定することと、
境界強度値を決定するために、前記現在ブロック又は前記隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行することと、ここにおいて、前記境界強度値決定プロセスが、前記インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理することとを行わせる命令を記憶した、非一時的コンピュータ可読記憶媒体。
［Ｃ１９］
前記境界強度値決定プロセスが、前記現在ブロックと前記隣接ブロックの両方がＩＢＣコード化ブロックである場合の同じ境界強度値決定プロセスである、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２０］
前記境界強度値決定プロセスを実行することを、前記１つ以上のプロセッサに行わせる前記命令が、１に等しい前記境界強度値を設定することを、前記１つ以上のプロセッサに行わせる命令を備える、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２１］
前記境界強度値決定プロセスを実行することを、前記１つ以上のプロセッサに行わせる前記命令が、前記１つ以上のプロセッサに
前記ＩＢＣコード化ブロックのための参照ブロックを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定すること、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい前記境界強度値を設定すること、又は
前記参照ブロック中のどの画素もイントラ予測モード又はＩＢＣモードでコード化されないことに基づいて、１に等しい前記境界強度値を設定することを行わせる命令を備える、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２２］
前記１つ又は複数のプロセッサに、
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶することと、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避することとを行わせる命令を更に備える、Ｃ１８に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２３］
ビデオデータを処理するための機器であって、
前記ビデオデータのピクチャ中の現在ブロックのコード化モードと、前記ビデオデータの前記ピクチャ中の隣接ブロックのコード化モードとを決定するための手段と、
境界強度値を決定するために、前記現在ブロック又は前記隣接ブロックの一方がイントラブロックコピー（ＩＢＣ）コード化ブロックであること、及び、他のブロックがインターコード化ブロックであることに基づいて、境界強度値決定プロセスを実行するための手段と、ここにおいて、前記境界強度値決定プロセスが、前記インターコード化ブロックのための動きベクトルを識別することを含まず、ここにおいて、前記境界強度値決定プロセスが、前記現在ブロック又は前記隣接ブロックの一方がイントラコード化され他方がＩＢＣコード化される場合の境界強度値決定プロセスとは異なる、
決定された前記境界強度値に基づいて、前記現在ブロックと前記隣接ブロックとの間のエッジに沿ってデブロックフィルタ処理するための手段とを備える機器。
［Ｃ２４］
前記境界強度値決定プロセスが、前記現在ブロックと前記隣接ブロックの両方がＩＢＣコード化ブロックである場合の同じ境界強度値決定プロセスである、Ｃ２３に記載の機器。
［Ｃ２５］
前記境界強度値決定プロセスを実行するための前記手段が、１に等しい前記境界強度値を設定するための手段を備える、Ｃ２３に記載の機器。
［Ｃ２６］
前記境界強度値決定プロセスを実行するための前記手段が、
前記ＩＢＣコード化ブロックのための参照ブロックを決定するための手段と、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されるかどうかを決定するための手段と、
前記参照ブロック中のいずれかの画素がイントラ予測モード又はＩＢＣモードでコード化されることに基づいて、２に等しい前記境界強度値を設定するための手段と、又は
前記参照ブロック中のどの画素もイントラ予測モード又はＩＢＣモードでコード化されないことに基づいて、１に等しい前記境界強度値を設定するための手段とを備える、Ｃ２３に記載の機器。
［Ｃ２７］
前記ピクチャ中の領域が、前記ピクチャ中の少なくとも１つのブロックのためにＩＢＣモードを使用する予測のために参照されるかどうかを決定するための手段と、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されるという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を記憶するための手段と、
前記ピクチャ中の前記領域が、ＩＢＣモードを使用する予測のために参照されないという決定に基づいて、前記領域のためのフィルタ処理されていない画素値を前記記憶することを回避するための手段とを更に備える、Ｃ２３に記載の機器。
【図１】
0006356346.tif 000008
【図２】
0006356346.tif 000009
【図３】
0006356346.tif 000010
【図４Ａ】
0006356346.tif 000011
【図４Ｂ】
0006356346.tif 000012
【図４Ｃ】
0006356346.tif 000013
【図４Ｄ】
0006356346.tif 000014
【図４Ｅ】
0006356346.tif 000015
【図４Ｆ】
0006356346.tif 000016
【図４Ｇ】
0006356346.tif 000017
【図４Ｈ】
0006356346.tif 000018
【図４Ｉ】
0006356346.tif 000019
【図５】
0006356346.tif 000020
【図６】
0006356346.tif 000021
【図７】
0006356346.tif 000022
【図８】
0006356346.tif 000023
【図９】
0006356346.tif 000024
【図１０】
0006356346.tif 000025