【文献】
BROSS BENJAMIN,WD4: WORKING DRAFT 4 OF HIGH-EFFICIENCY VIDEO CODING,JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 以下備考,2011年 9月 8日,N JCTVC-F803,AND ISO/IEC JTC1/SC29/WG11 (DOCUMENT: JCTVC-F803_D1) [ONLINE],URL,HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/2011_07_F_Torino/JCTVC-F803-v8.zip
【文献】
Tzu-Der Chuang,AhG Quantization: Sub-LCU Delta QP[online], JCTVC-E JCTVC-E051,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/5_Geneva/wg11/JCTVC-E051-v4.zip>
【文献】
Shijun Sun Sharp Labs of America 5750 NW Pacific Rim Blvd Camas, WA 98607 USA,Lossless Coding and QP Range Selection[online], JVT-C JVT-C023r1,インターネット<URL:http://wftp3.itu.int/av-arch/jvt-site/2002_05_Fairfax/JVT-C023r1.doc>
(58)【調査した分野】(Int.Cl.,DB名)
前記装置が、前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に対して前記デブロッキングフィルタリングを行うことは、
前記装置が、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うことと、
を備える、請求項1に記載の方法。
前記装置が、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うことは、前記装置が、前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択することを備える、請求項2に記載の方法。
前記装置が、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックの各々に対して前記デブロッキングフィルタリングを行うことは、前記装置が、前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することを備える、請求項2または3に記載の方法。
前記装置が、前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に対して前記デブロッキングフィルタリングを行う前に、前記装置が、映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングをイネーブルにすることをさらに備える、請求項1乃至4のうちのいずれか一項に記載の方法。
前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に対して前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うように構成される、請求項10に記載の装置。
前記映像コーダは、前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に対して前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングをイネーブルにするようにさらに構成される、請求項10乃至12のうちのいずれか一項に記載の装置。
前記少なくとも1つのブロックを含む映像データの前記複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも1つのブロックを含む映像データの前記複数のブロックを復号するように構成され、
前記少なくとも1つのブロックを復号するために、前記映像コーダは、前記量子化グループの各ブロックの残差の量子化されない映像データまたは再構築された映像データのうちの1つを、受信されたビットストリームで受信し、
前記量子化グループの各ブロックの前記残差の量子化されない映像データまたは前記再構築された映像データを、前記受信されたビットストリームで復号するように構成され、
前記映像コーダは、1つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記1つ以上の構文要素は、前記量子化グループの各ブロックに関して前記デブロッキングフィルタリングがイネーブルにされていることを示す、請求項10乃至14のうちのいずれか一項に記載の装置。
前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に対して前記デブロッキングフィルタリングを行うための前記手段は、
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うための手段と、
を備える、請求項19に記載のデバイス。
前記IPCMコーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる前記命令は、
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる命令を備える、請求項26に記載のコンピュータによって読み取り可能な記憶媒体。
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに対して前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる前記命令は、
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定すること
のうちの1つ以上を前記1つ以上のプロセッサに行わせる命令を備える、請求項27に記載のコンピュータによって読み取り可能な記憶媒体。
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関して前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を前記割り当てられたゼロでないQP値として設定し、
前記少なくとも1つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定すること
を前記1つ以上のプロセッサに行わせる命令を備え、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置されること及び前に復号されることのうちの1つ以上を備える、請求項26または27のうちのいずれか一項に記載のコンピュータによって読み取り可能な記憶媒体。
前記デバイスは、請求項20乃至24のうちのいずれか一項に記載の技法を行うための手段をさらに備える、請求項40及び41のうちのいずれか一方に記載のデバイス。
実行されたときに、映像データをコーディングすることを1つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体であって、前記命令は、
イントラパルスコード変調(IPCM)コーディングモードと、ロスレスコーディングモードのうちから前記IPCMコーディングモードを選択すること、
映像データの複数のブロックを符号化することであって、前記選択されたIPCMコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも1つのブロックをコーディングすることを含むこと、
前記IPCMコーディングモードを用いてコーディングされた前記少なくとも1つのブロックを含む量子化グループに関する量子化パラメータ(QP)値に少なくとも部分的に基づいて、前記IPCMコーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関してゼロでないQP値を予測することであって、前記量子化グループは、1つ以上の連続するブロックを前記複数のブロックのコーディング順に備えることと、
前記IPCMコーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関して前記ゼロでないQP値を割り当てること、及び
前記IPCMコーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に対してデブロッキングフィルタリングを行うこと
を前記1つ以上のプロセッサに行わせる、コンピュータによって読み取り可能な記憶媒体。
前記命令はさらに、請求項27乃至31に記載の技法のうちのいずれかを行うことを前記1つ以上のプロセッサに行わせる、請求項43及び44のうちのいずれか一方に記載のコンピュータによって読み取り可能な記憶媒体。
【発明を実施するための形態】
【0012】
概して、本開示は、イントラパルスコード変調(IPCM)コーディング及び/又はロスレスコーディングモードを用いてコーディングされた映像データのブロックに関するデブロッキングフィルタリングを行うための技法について説明する。特に、本開示の技法は、1つ以上のIPCMコーディングされたブロックと、ロスレスでコーディングされたブロックと、いわゆるロッシー(lossy)コーディング技法、すなわち“モード”を用いてコーディングされたブロックと、を含む映像データの1つ以上のブロックに関してデブロッキングフィルタリングを行うことを含むことができる。ここにおいて説明される技法は、その他の技法と比較して、ブロックがコーディングされるときに映像データのブロックのうちの1つ以上の視覚品質を向上させることができる。
【0013】
一例として、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし、特定の方法でデブロッキングフィルタリングを行うことによって再構築された映像データを含む1つ以上のIPCMコーディングされたブロックの視覚品質を向上させることができる。例えば、それらの技法は、IPCMコーディングされたブロックに関して、割り当てられたゼロでない量子化パラメータ(QP)値を示すシグナリングされたQP値、予測されるQP値、及び割り当てられたゼロでないQP値と予測されるQP値との間の差分を表すデルタQP(“dQP”)のうちの1つ以上に基づいてIPCMコーディングされたブロックに関するQP値を割り当てることを含む。それらの技法は、IPCMコーディングされたブロックに関する割り当てられたゼロでないQP値に基づいてIPCMコーディングされたブロックに関するデブロッキングフィルタリングを行うことをさらに含む。
【0014】
他の例として、説明される技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む1つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。例えば、それらの技法は、1つ以上のロスレスでコーディングされたブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す1つ以上の構文要素(例えば、1ビットのコード、又は“フラグ”)をシグナリングすることを含む。幾つかの例では、1つ以上の構文要素は、その他の隣接する映像データのブロックと共有される1つ以上のロスレスでコーディングされたブロックの全境界に関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
さらに他の例として、説明される技法は、ロッシーなブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、IPCMコーディングされたブロック又はロスレスでコーディングされたブロックに隣接して位置し、ロッシーなコーディングモードを用いてコーディングされる映像データの1つ以上のブロックの視覚品質を向上させることもできる。例えば、それらの技法は、隣接するIPCM又はロスレスでコーディングされたブロックに関する割り当てられたゼロでないQP値に基づいて1つ以上のロッシーなブロックに関してデブロッキングフィルタリングを行うことを含む。
【0015】
この方法により、本開示の技法を使用したときには、IPCM,ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの1つ以上のブロックの視覚品質の相対的な向上が存在することができる。
図1は、本開示の技法と一致する、IPCM及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像符号化及び復号システムの例を示したブロック図である。
図1において示されるように、システム10は、行先デバイス14によってのちに復号されるべき符号化された映像データを生成するソースデバイス12を含む。ソースデバイス12及び行先デバイス14は、広範なデバイスのうちのいずれかを備えることができ、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームプレイ装置、ビデオゲームコンソール、映像ストリーミングデバイス、等を含む。幾つかの場合は、ソースデバイス12及び行先デバイス14は、無線通信のために装備することができる。
【0016】
行先デバイス14は、リンク16を介して復号されるべき符号化された映像データを受信することができる。リンク16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能なあらゆるタイプの媒体又はデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、により変調し、行先デバイス14に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的な送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又は、ソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるその他のあらゆる装置を含むことができる。
代替として、符号化されたデータは、出力インタフェース22から記憶デバイス24に出力することができる。同様に、符号化されたデータは、入力インタフェース26によって記憶デバイス24からアクセスすることができる。記憶デバイス24は、様々な分散型の又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性メモリ、又は符号化された映像データを格納するためのあらゆるその他の適切なデジタル記憶媒体のうちのいずれかを含むことができる。さらなる例では、記憶デバイス24は、ソースデバイス12によって生成された符号化された映像を保持することができるファイルサーバ又はその他の中間的な記憶デバイスに対応することができる。行先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイス24から格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納し及びその符号化された映像データを行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、ローカルディスクドライブを含む。行先デバイス14は、インターネット接続を含むあらゆる標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、無線チャネル(例えば、Wi−Fi接続)、無線接続(例えば、DSL、ケーブルモデム、等)、又はファイルサーバに格納された符号化された映像データにアクセスするのに適する両方の組み合わせ、を含むことができる。記憶デバイス24からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
【0017】
本開示の技法は、無線用途又はセッティングには必ずしも限定されない。それらの技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。幾つかの場合は、出力インタフェース22は、変調器/復調器(モデム)及び/又は送信機を含むことができる。ソースデバイス12内では、映像ソース18は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース、及び/又はコンピュータグラフィックスデータをソース映像として生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示において説明される技法は、映像コーディング一般に適用可能であり、及び、無線及び/又は有線の用途に適用することができる。
【0018】
キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器20によって符号化することができる。符号化された映像データは、ソースデバイス12の出力インタフェース22を介して直接行先デバイス14に送信することができる。符号化された映像データは、復号及び/又は再生のために、行先デバイス14又はその他のデバイスによるのちのアクセスのために記憶デバイス24に格納することができる。
【0019】
行先デバイス14は、入力インタフェース26と、映像復号器30と、表示装置28と、を含む。幾つかの場合は、入力インタフェース26は、受信機及び/又はモデムを含むことができる。行先デバイス14の入力インタフェース26は、リンク16を通じて又は記憶デバイス24から符号化された映像データを受信する。リンク16を通じて通信された、又は記憶デバイス24で提供された符号化された映像データは、映像データを復号する際に映像復号器、例えば、映像復号器30、による使用のために映像符号器20によって生成された様々な構文要素を含むことができる。該構文要素は、通信媒体上で送信される符号化された映像データとともに含めること、記憶媒体に格納すること、又はファイルサーバに格納することができる。
【0020】
表示装置28は、行先デバイス14と一体化すること、又は行先デバイス14の外部に存在することができる。幾つかの例では、行先デバイス14は、一体化された表示装置を含むことができ、及び、外部表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス14は、表示装置であることができる。概して、表示装置28は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
【0021】
映像符号器20及び映像復号器30は、映像圧縮規格、例えば、ITU−Tビデオコーディングエキスパーツグループ(VCEG)及びISO/IECモーションピクチャエキスパーツグループ(MPEG)の映像コーディングに関する共同作業チーム(JCT−VC)によって現在開発中の高効率映像コーディング(High Efficiency Video Coding)(HEVC)規格、により動作することができ、及び、HEVCテストモデル(HM)に準拠することができる。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は産業規格、例えば、ITU−T H.264規格、代わりにMPEG−4 Part10アドバンストビデオコーディング(AVC)とも呼ばれる、又は該規格の拡張版、に準拠して動作することができる。しかしながら、本開示の技法は、特定のコーディング規格に限定されない。映像圧縮規格のその他の例は、MPEG−2と、ITU−T H.263と、を含む。HEVC規格の最近の草案は、“HEVC Working Draft8”又は“WD8”と呼ばれ、ITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11の映像コーディングに関する共同作業チーム(JCT−VC)第10回会議(スウェーデン、ストックホルム、2012年7月11〜20日)における文書JCTVC-J1003_d7, Bross et al., "High efficiency video coding (HEVC) text specification draft8"(高効率映像コーディング(HEVC)テキスト仕様草案8)において説明されている。該文書は、2012年10月2日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipからダウンロード可能である。
【0022】
HEVC規格の他の草案は、本開示では“HEVC Working Draft4”又は“WD4”と呼ばれており、ITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11の映像コーディングに関する共同作業チーム(JCT−VC)第6回会議(イタリア、トリノ、2011年7月14〜22日)における文書JCTVC-F803_d2, Bross et al., "WD4: Working Draft 4 of High-Efficiency Video Coding"(WD4:高効率映像コーディング作業草案4)において説明されている。該文書は、2012年10月2日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v8.zipからダウンロード可能である。HEVC規格の他の草案は、本開示では“HEVC Working Draft6”又は“WD6”と呼ばれており、ITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11の映像コーディングに関する共同作業チーム(JCT−VC)第8回会議(米国、カリフォルニア州サンホセ、2012年2月)における文書JCTVC-H1003, Bross et al., "High efficiency video coding (HEVC) text specification draft6"(高効率映像コーディング(HEVC)テキスト仕様草案6)において説明されている。該文書は、2012年6月1日現在では、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である。
【0023】
図1には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、音声符号器及び復号器とそれぞれ一体化することができ、及び、音声及び映像の両方を共通のデータストリーム又は別々のデータストリームで符号化することを取り扱うための該当するMUX−DEMUXユニット又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合、幾つかの例では、MUX−DEMUXユニットは、ITU
H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)、に準拠することができる。
【0024】
映像符号器20及び映像復号器30は、各々、様々な適切な符号器又は復号器回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内に部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納し、本開示の技法を実施するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイス内の結合された符号器/復号器(“CODEC”)の一部として組み入れることができる。
HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化モデルに基づいている。HMは、例えば、ITU−T H.264/AVCによる既存のデバイスに関する映像コーディングデバイスの幾つかの追加能力を想定する。例えば、H.264は、9つのイントラ予測符号化モードを提供する一方で、HMは、35ものイントラ予測符号化モードを提供することができる。
【0025】
概して、HMの作業モデルは、映像フレーム又はピクチャをルマサンプルとクロマサンプルとの両方を含むツリーブロック又は最大のコーディングユニット(LCU)のシーケンスに分割できると記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、幾つかの連続するツリーブロックをコーディング順に含む。映像フレーム又はピクチャは、1つ以上のスライスに分割することができる。各ツリーブロックは、四分木によりコーディングユニット(CU)に分割することができる。例えば、ツリーブロックは、四分木のルートノードとして、4つの子ノードに分割することができ、各子ノードは、親ノードであることができ、他の4つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードとして、コーディングノード、すなわち、コーディングされた映像ブロックを備える。コーディングされたビットストリームと関連付けられた構文データは、ツリーブロックを分割することができる最大回数を定義することができ及びコーディングノードの最小サイズも定義することができる。
【0026】
CUは、コーディングノード及びコーディングノードと関連付けられた予測ユニット(PU)及び変換ユニット(TU)を含む。CUのサイズは、コーディングノードのサイズに対応し、形が正方形でなければならない。CUのサイズは、8×8ピクセルからツリーブロックのサイズまでであることができ、最大は、64×64ピクセル以上である。各CUは、1つ以上のPU及び1つ以上のTUを含むことができる。CUと関連付けられた構文データは、例えば、1つ以上のPUへのCUの分割を説明することができる。分割モードは、CUがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかで異なることができる。PUは、形が正方形にならないように分割することができる。CUと関連付けられた構文データは、例えば、四分木によりCUを1つ以上のTUに分割することについても説明することができる。TUは、形は正方形であることができ又は正方形でないこともできる。
【0027】
HEVC規格は、TUによる変換を考慮し、異なるCUに関して異なることができる。TUは、分割されたLCUに関して定義された所定のCU内のPUのサイズに基づいて典型的なサイズが定められるが、常にそうであるわけではない。TUは、典型的には、PUと同じサイズであるか又はそれよりも小さい。幾つかの例では、CUに対応する残差サンプルは、“残差四分木”(residual quad tree)(RQT)と呼ばれる四分木構造を用いてより小さいユニットに細分割することができる。RQTの葉ノードは、TUと呼ぶことができる。TUと関連付けられたピクセル差分値を変換して変換係数を生成することができ、それらは量子化することができる。
概して、PUは、予測プロセスに関連するデータを含む。例えば、PUがイントラモード符号化されるときには、PUは、PUに関するイントラ予測モードを記述するデータを含むことができる。他の例として、PUがインターモード符号化されるときには、PUは、PUに関する動きベクトルを定義するデータを含むことができる。PUに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4又は1/8ピクセル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリスト(例えば、リスト0、リスト1、又はリストC)を記述することができる。
概して、TUは、変換プロセス及び量子化プロセスのために使用される。1つ以上のPUを有する所定のCUは、1つ以上のTUも含むことができる。予測に引き続き、映像符号器20は、PUに対応する残差値を計算することができる。残差値は、エントロピーコーディングのためのシリアライズされた(serialized)変換係数を生成するために変換係数に変換し、量子化し、及びTUを用いて走査することができるピクセル差分値を備える。本開示は、典型的には、CUのコーディングノードを指し示すために用語“映像ブロック”、又は単に“ブロック”を使用する。幾つかの特定の事例においては、本開示は、ツリーブロック、すなわち、LCU、又はCU、を指し示すために用語“映像ブロック”も使用することができ、それは、コーディングノードと、PUと、TUと、を含む。
【0028】
映像シーケンスは、典型的には。一連の映像フレーム又はピクチャを含む。ピクチャグループ(GOP)は、概して、映像ピクチャの一連の1つ以上を備える。GOPは、GOPに含まれるクチャ数を記述する構文データをGOPのヘッダ、ピクチャのうちの1つ以上のヘッダ、又は別の場所に含めることができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに関して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格に準じてサイズが異なることができる。
【0029】
一例として、HMは、様々なPUサイズの予測をサポートする。ある特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×NのPUサイズのイントラ予測、及び、2N×2N、2N×N、N×2N、又はN×Nの対称的なPUサイズのインター予測をサポートする。HMは、2N×nU、2N×nD、nL×2N、及びnR×2NのPUサイズのインター予測に関する非対称的な分割もサポートする。非対称的な分割では、CUの一方の方向は分割されず、他方の方向は、25%及び75%に分割される。25%の分割に対応するCU部分は“n”によって示され、“Up”、“Down”、“Left”、又は“Right”の表示が後続する。従って、例えば、“2N×nU”は、水平に分割され、上部に2N×0.5N PU、下部に2N×1.5N PUを有する2N×2N CUを意味する。
【0030】
本開示では、“N×N”及び“N by N”は、垂直寸法及び水平寸法に関する映像ブロックのピクセル寸法を意味するために互換可能な形で使用することができる。例えば、16×16ピクセル又は16 by 16である。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有することになる。同様に、N×Nブロックは概して垂直方向にNのピクセル、水平方向にNのピクセルを有し、ここで、Nは、負でない整数値を表す。ブロック内のピクセルは、行及び列に配置することができる。さらに、ブロックは、水平方向と垂直方向で同じピクセル数を有することは必ずしも必要ない。例えば、ブロックは、N×Mピクセルを備えることができ、ここで、Mは必ずしもNと等しくない。
【0031】
CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。PUは、空間領域(ピクセル領域とも呼ばれる)内のピクセルデータを備えることができ、TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後に変換領域に係数を備えることができる。残差データは、符号化されていないピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成し、TUを変換してCUに関する変換係数を生成することができる。
いずれかの変換を用いて変換係数を生成後は、映像符号器20は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させるために変換係数が量子化されてさらなる圧縮を提供するプロセスを意味する。量子化プロセスは、係数の一部又は全部と関連付けられたビット深度を小さくすることができる。例えば、nビット値は、量子化中に切り捨ててmビット値することができ、ここで、nは、mよりも大きい。
【0032】
幾つかの例では、映像符号器20は、量子化された変換係数を走査してエントロピー符号化することができるシリアライズドベクトルを生成するために予め定義された走査、すなわち、“走査”順序を利用することができる。その他の例では、映像符号器20は、適応型走査を行うことができる。量子化された変換係数を走査して一次元ベクトルを形成後は、映像符号器20は、例えば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又は他のエントロピー符号化法により、一次元ベクトルをエントロピー符号化することができる。映像符号器20は、映像データを復号する際に映像復号器30によって使用するために符号化された映像データと関連付けられた構文要素もエントロピー符号化することができる。
CABACを実施するためには、映像符号器20は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロ値であるかどうかに関連することができる。CAVLCを実施するためには、映像符号器20は、送信されるべきシンボルに関する可変長コードを選択することができる。VLCにおけるコードワードは、相対的により短いコードがより可能性の高いシンボルに対応し、相対的により長いコードがより可能性の低いシンボルに対応するような形で構築することができる。この方法により、VLCの使用は。送信されるべき各シンボルに関して等しい長さのコードワードを使用することと比較してビットの節約を達成することができる。確率の決定は、シンボルに割り当てられたコンテキストに基づくことができる。
【0033】
以下は、
図2及び3において描かれ、以下においてさらに詳細に説明される映像符号器20及び映像復調器30及びそれらの様々なコンポーネントを参照して説明される。幾つかの映像コーディング技法により、(例えば、
図2のモード選択ユニット40を使用する)映像符号器20が誤り結果に基づいて特定の“現在の”映像データのブロックをコーディングするためにIPCMコーディングモードを選択する例では、(例えば、
図2のIPCM符号化ユニット48Aを使用する)映像符号器20は、現在のブロックのデータ、又は“サンプル”、を直接ビットストリーム内の生データ又はサンプルとして符号化することができる。より具体的には、HEVC作業草案(“WD”)(例えば、バージョン4、又は“WD4”)の幾つかのバージョンでは、IPCMイントラコーディングモードは、映像符号器20が直接ビットストリーム内の映像データのブロックのルマ及びクロマサンプルを生データとして表すのを可能にする(すなわち、ルマサンプル及びクロマサンプル、又は値、が、修正されずに、すなわち“現状のままで”コーディングされる)。従って、映像符号器20は、ブロック内のデータを圧縮せずに現在のブロックをIPCMコーディングされたブロックとして符号化することができる。
【0034】
一例では、映像符号器20は、現在のブロックの圧縮されたバージョン(例えば、イントラ予測又はインター予測によってコーディングされた現在のブロックのバージョン)を表現するために要求されるビット数がブロック内のデータの圧縮されないバージョンを送信するために要求されるビット数を超えるときにIPCMイントラコーディングモードを選択することができる。この場合は、(例えば、IPCM符号化ユニット48Aを用いた)映像符号器20は、現在のブロックのオリジナルの圧縮されないデータ、又はサンプル、をIPCMサンプルとして符号化することができる。幾つかの場合は、オリジナルの圧縮されないデータは、映像符号器20によってIPCMサンプルとして符号化される前にデブロッキングフィルタ(例えば、
図2のデブロッキングフィルタ64)によってフィルタリングすることができる。
【0035】
他の例では、映像符号器20は、(例えば、
図2のエントロピー符号化ユニット56を用いて)エントロピー符号化される現在のブロックの圧縮されたバージョンを生成するために、及び基準ピクチャとして使用するための現在のブロックの圧縮されたバージョンから再構築されたブロックを生成するためにイントラ又はインター予測を使用することができる。エントロピー符号化ユニット(例えば、エントロピー符号化ユニット56)において符号器パイプラインのストール(stall)の可能性があると映像符号器20が決定した場合は、映像符号器20は、再構築されたブロックの再構築されたサンプルをIPCMサンプルとして符号化することができる。以下で説明される
図2の例では、再構築されたブロックは、IPCM符号化ユニット、すなわち、IPCM符号化ユニット48A、によってIPCMサンプルとして符号化される前に、デブロッキングフィルタ、すなわち、デブロッキングフィルタ64、によってフィルタリングされる。その他の例では、再構築されたブロックは、フィルタリングされずにIPCM符号化ユニットによって符号化することができる。
映像復号器30が、IPCMサンプルを生映像データとして含む映像符号器20からの映像データのブロックを表現する符号化された映像ビットストリームを受信したときには、(例えば、
図3のIPCM復号ユニット98Bを用いた)映像復号器30は、IPCMサンプルから直接映像データのブロックを生成するためにビットストリームを復号することができる。上述されるように、HEVCの幾つかのドラフトバージョン(例えば、WD4)では、IPCMイントラコーディングモードは、映像符号器20が生データとして直接ビットストリーム内で映像データのブロックのルマサンプル及びクロマサンプルを表現するのを可能にすることができる。従って、(例えば、IPCM復号ユニット98Aを用いた)映像復号器30は、ブロックの符号化されたデータの圧縮を解除せずに現在のブロックをIPCMコーディングされたブロックとして復号することができる。
一例では、現在のブロックに関するビットストリーム内のIPCMサンプルは、オリジナルの圧縮されていないサンプルであることができ、従って、復号されたブロックは、オリジナルブロックと同一である。この場合は、(例えば、IPCM復号ユニット98Aを用いて)映像復号器30によって生成されたオリジナルブロックは、復号された映像として直接出力することができる。幾つかの場合は、映像復号器30によって生成されたオリジナルブロックは、基準ピクチャとして使用されて復号された映像として出力される前にデブロッキングフィルタ(例えば、
図3のデブロッキングフィルタ94)によってフィルタリングすることができる。
他の例では、現在のブロックに関するビットストリーム内のIPCMサンプルは、現在のブロックの再構築されたバージョンの再構築されるサンプルであることができる。この場合は、復号されたブロックは、オリジナルのブロックの再構築されたバージョンと同一であることができ、それは、オリジナルなブロックと比較してある程度の歪みを含むことがある。以下で説明される
図3の例では、映像復号器30によって、すなわち、IPCM復号ユニット98Aを用いて、生成された再構築されたブロックは、基準ピクチャとして使用される前にデブロッキングフィルタ、すなわち、デブロッキングフィルタ94によってフィルタリングし、復号された映像として出力することができる。その他の例では、再構築されたブロックは、フィルタリングされずに復号された映像として映像復号器30から(例えば、IPCM復号ユニット98Aを用いて)直接出力することができる。
【0036】
従って、HEVCの幾つかのドラフトバージョン(例えば、WD4)は、上述されるIPCMイントラコーディングモードをサポートし、それは、符号器(例えば、映像符号器20)が生データとして直接ビットストリーム内に入る映像データの現在のブロックのルマ及びクロマCUサンプルを表現するのを可能にする。以前に説明されたように、該IPCMイントラコーディング技法は幾つかの可能な使用法が存在する。一例として、IPCMイントラコーディングは、映像データのブロックのコーディングされた表現の単位がビットのサイズが、ブロックの圧縮されていないデータを送信するために要求されるビット数を超えないように符号器が保証するための手段として使用することができる。該事例では、符号器は、現在のブロック内のデータのオリジナルサンプルをIPCMサンプルとして符号化することができる。他の例として、IPCMイントラコーディングは、符号器パイプラインのストールを回避するために使用することができる。該事例では、符号器は、現在のブロックの再構築されたバージョン内のデータの非オリジナルなサンプル、例えば、再構築されたサンプル、をIPCMサンプルとして符号化することができる。
【0037】
さらに、HEVCの幾つかのドラフトバージョン(例えば、WD4)は、ループフィルタプロセスがIPCMコーディングされたブロックに関してイネーブルにされるかどうかを示すために映像データの1つ以上のブロックと関連付けられたシーケンスパラメータセット(SPS)内の構文要素“pcm_loop_filter_disable_flag”のシグナリングもサポートする。ループフィルタプロセスは、デブロッキングフィルタリングと、アダプティブループフィルタリング(ALF)と、サンプルアダプティブオフセット(SAO)と、を含むことができる。pcm_loop_filter_disable_flag値が真、すなわち“1”に等しい場合は、IPCMコーディングされたブロックのサンプルに関するデブロッキングフィルタプロセス及びアダプティブループフィルタプロセスの両方が、ディスエーブルにされる。他方、pcm_loop_filter_disable_flag値が偽、すなわち“0”に等しい場合は、IPCMコーディングされたブロックのサンプルに関するデブロッキングフィルタプロセス及びアダプティブループフィルタプロセスの両方が、イネーブルにされる。
【0038】
現在のブロックのオリジナルの圧縮されていないサンプルがIPCMサンプルとしてコーディングされるときには、それらのサンプルは歪みがない。従って、インループフィルタリング、例えば、デブロッキングフィルタリング、ALF及びSAO、は不要であり、省くことができる。逆に、現在のブロックの再構築されたバージョンの再構築されたサンプルがIPCMサンプルとしてコーディングされるときには、映像復号器(例えば、映像復号器30)は、IPCMブロックのエッジに沿って、デブロッキングフィルタリングを含むインループフィルタリングを行う必要があることがある。
【0039】
HEVCの幾つかのドラフトバージョンにおけるデブロッキングフィルタ(例えば、
図2の映像符号器20のデブロッキングフィルタ64、又は
図3の映像復号器30のデブロッキングフィルタ94)は、以下において
図6を参照してさらに詳細に説明される境界強度計算の結果、及びデブロッキング決定に基づいて映像データのブロックの幾つかのTU及びPUエッジをフィルタリングすることができる。例えば、デブロッキング決定は、デブロッキングフィルタがオン又はオフのいずれであるか、デブロッキングフィルタが弱いか又は強いか、及び、映像データの所定のブロックに関する弱いフィルタの強度を含むことができる。境界強度計算及びデブロッキング決定は、スレショルド値“t
c”及び“β”に依存する。スレショルド値は、特定のブロックのQP値に基づいてアクセス可能であるテーブル内に格納することができる。例えば、デブロッキングフィルタは、デブロッキングされるべき現在のエッジを含むブロックからQP値を入手することができる(すなわち、ルマエッジに関する“ルマQP”及びクロマエッジに関する“クロマQP”)。HEVCの幾つかのドラフトバージョン(例えば、WD6)では、デブロッキングフィルタリングは、適用されたときに、2つのブロック間のエッジ(いわゆる“共通エッジ”)(例えば、幾つかのTU及び/又はPUのエッジ)をフィルタリングする。HEVCのこれらのドラフトバージョンにより、エッジは、両方のブロックのQP値の平均QP(例えば、 “QP
ave”)値に基づいてフィルタリングされる。
【0040】
他の例として、HEVCの幾つかのドラフトバージョン(例えば、WD6)ではロスレスコーディングモードが採用されている。ロスレスコーディングモードでは、一例では、映像データのブロックのオリジナルの、すなわち“生の”データを、上述される予測、加算、変換、量子化、及びエントロピーコーディングステップを行わずにコーディングすることができる。他の例では、映像データのブロックの残差データは、符号器(例えば、映像符号器20)によって量子化されない。従って、この例では、復号器(例えば、映像復号器30)が量子化されていない残差データを予測データに加えたときに、その結果得られる映像データは、符号器によって符号化されたオリジナルの映像データのロスレス複製であることができる。いずれの場合も、ロスレスコーディングモードは、例えば、映像データを符号化時には符号器によって、及び映像データを復号時には復号器によって使用することができる。
【0041】
コーディングされたビットストリームにおいて、映像データの1つ以上のブロックと関連付けられたSPS内の構文要素“qpprime_y_zero_transquant_bypass_flag”、又は幾つかの例では、構文要素“cu_transquant_bypass_flag”を“1”の値に設定することは、映像データの現在のブロックに関するルマQP、又は“QP’
Y”値が“0”に等しい場合は、ブロックをコーディングするためにロスレスコーディングプロセスを適用されるものとすると規定することができる。ロスレスコーディングモードでは、上述されるスケーリング及び変換プロセス及びインループフィルタプロセスは迂回することができる。
HEVCの幾つかのドラフトバージョン(例えば、WD6)では、ルマ量子化パラメータQP’
Yは次のように定義される。
【数1】
【0042】
ここで、“QpBdOffset
Y=6
*bit_depth_luma_minus8”
この例では、ビット深度が8ビットである場合は、QpBdOffset
Yは、“0”に等しく、ビット深度が10ビットである場合は、QpBdOffset
Yは、“12”に等しい。QP
Yの範囲は、“−QpBdOffset
Y”乃至“51”であり、QP’
Yの範囲は、“0”乃至“(51+QpBdOffset
Y)”である。
【0043】
HEVCの幾つかのドラフトバージョン(例えば、WD6)により、インループデブロッキングフィルタは、現在のCU、又は映像データのブロック、の処理をスキップすることができ、ブロックに関するqpprime_y_zero_transquant_bypass_flagが“1”に等しい場合は“QP’
Y=0”を有する。しかしながら、
図8Aにおいて例示され、以下においてより詳細に説明されるように、現在のCU、又はブロック、がロスレスでコーディングされないCU又はブロックによって囲まれている場合は(例えば、“QP’
Y>0”)、デブロッキングフィルタは、現在のCUの左エッジ及び最上エッジの処理をスキップすることができ、現在のCUの右エッジ及び最下部エッジをデブロッキングフィルタリングすることができる。このアプローチ法に関する1つの潜在的な問題は、
図8Aに示されるロスレスCUのダッシュ線の部分(すなわち、ブロック812)によって示されるように、デブロッキングフィルタが現在のブロックの右エッジ及び最下部エッジに沿ったロスレスサンプルを修正することである。
【0044】
この例では、デブロッキングフィルタパラメータβ及びt
cは、デブロッキング中の現在のエッジの両側のブロックのQP
Y値の平均であるパラメータ“QP
L”に基づいて決定することができる。エッジの片側がロスレスでコーディングされる場合は、QP
L値は、次の式を用いて計算することができる。
【数2】
【0045】
IPCM及び映像データのロスレスでコーディングされたブロックに関するデブロッキングフィルタリングを実施することに関連して上述される様々なアプローチ法は、幾つかの欠点を有する。
【0046】
一例として、IPCMコーディングされたブロックの場合は、HEVCVの幾つかのドラフトバージョン(例えば、WD4)は、ブロックに関するQP値は常に“ゼロ”に等しいと規定する。すべてのIPCMブロックに関してQP値を“0”に設定することは、ブロックと関連付けられたpcm_loop_filter_disable_flagの値にかかわらず、ブロックの左エッジ及び最上エッジのデブロッキングフィルタリングを有効にディスエーブルにする。しかしながら、幾つかの場合は、(例えば、IPCMブロックが再構築されたサンプルを含むときには)、IPCMコーディングされたブロックの左エッジ及び最上エッジに関してデブロッキングフィルタリングを実施することが望ましい。さらに、幾つかの場合は、映像データの近隣ブロックのタイプ及びQP値に依存して、IPCMブロックの右エッジ及び最下部エッジをフィルタリングすることができる。さらに、前述されるように、HEVCの幾つかのドラフトバージョン(例えば、WD6)は、ブロック間の“共通エッジ”に関するデブロッキングフィルタリングを行うためにブロックのQP値の平均を計算することを規定する。従って、1つのブロックがIPCMブロックである場合は、平均の計算の結果、他方のブロックのQP値が半分にすることができる(すなわち、IPCMブロックのQP値が“0”に等しいため)。この結果、pcm_loop_filter_disable_flagの値にかかわらず、共通エッジのデブロッキングフィルタリングが弱すぎることになる可能性がある。
【0047】
他の例として、上述されるインループデブロッキングフィルタリングプロセスは、HEVCの幾つかのドラフトバージョンにより、ロスレスCU、又は映像データのブロックを、デブロッキングフィルタリング、又はデブロッキングする方法は、本開示で説明される技法を用いて向上させることができる。一例として、ロスレスCU、又はブロック、の右エッジ及び最下部エッジに関するデブロッキングフィルタリングを行うことは、ブロックのロスレスサンプルを修正することがあり、望ましくない可能性がある。他の例として、上記の技法を用いて導き出されたQP
L値(すなわち、式2)は、
図8Bに示されるように、ロスレスでコーディングされたCU、又はブロック、に隣接するロッシーサンプルが修正される事例では不適切である可能性があり、pcm_loop_filter_disable_flagが真に等しい事例におけるIPCMエッジデブロッキングに類似する。
【0048】
本開示は、上述される欠陥の一部を低減させるか又は排除することができる幾つかの技法について説明する。特に、本開示の技法は、IPCMコーディングされたブロック、ロスレスでコーディングされたブロック、及び、1つ以上のIPCM又はロスレスでコーディングされたブロックに隣接して位置するいわゆる“ロッシーな”コーディングされたブロックに関するデブロッキングフィルタリングを行うためのサポートを提供することができる。
【0049】
一例として、開示される技法は、デブロッキングフィルタリングが予測されたQP値に基づいてイネーブルにされるときに、IPCMブロックに関するゼロでないQP値を割り当てることを含む。例えば、予測されるQP値は、IPCMブロックを含む量子化グループに関するQP値、又は、IPCMブロックに隣接して又は近くに位置する映像データの近隣ブロックに関するQP値であることができる。幾つかの事例では、オリジナルサンプルは歪みがなく、典型的にはデブロッキングフィルタリングを要求しないため、開示される技法は、再構築されたサンプルから成るIPCMブロックにしか適用することができない。その他の場合は、それらの技法は、再構築されたサンプル又はオリジナルサンプルから成るIPCMブロックに適用することができる。
【0050】
他の例として、映像復号器30は、既知の予測されたQP値に基づいてゼロでないQP値をIPCMブロックに暗黙に割り当てることができる。予測されるQP値は、IPCMブロックを含む量子化グループに関する、又はIPCMブロックの近隣ブロックに関するQP値であることができる。例えば、IPCMブロックが最小のCU量子化グループサイズよりも小さいサイズを有するときには、映像復号器30は、IPCMブロックに関する割り当てられたゼロでないQP値を、IPCMブロックを含む量子化グループに関するQP値に設定することができる。量子化グループは、最小のCU量子化グループサイズよりも小さく、及びすべてが同じ値を有する映像データの1つ以上のブロック、又はCU、を含むことができる。IPCMブロックが最小のCU量子化グループサイズ以上のサイズを有するときには、映像復号器30は、IPCMブロックに関する割り当てられたゼロでないQP値を、IPCMブロックの近隣ブロックに関するQP値に設定することができる。近隣ブロックは、IPCMブロックの左に位置する映像データのブロック、又はコーディング順序でIPCMブロックの最も近い前ブロックであることができる。
さらに他の例として、映像符号器20は、予測されるQP値に基づいてゼロでないQP値をIPCMブロックに割り当て、割り当てられたゼロでないQP値を映像復号器30に明示でシグナリングすることができる。例えば、映像符号器20は、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表すIPCMブロックに関するdQP値をシグナリングすることができる。この場合は、映像復号器30は、IPCMブロックに関する受信されたdQP値及び予測されるQP値に基づいてゼロでないQP値をIPCMブロックに割り当てることができる。次に、映像復号器30は、IPCMブロックに関する割り当てられたゼロでないQP値に基づいてIPCMブロックのサンプルにデブロッキングフィルタを適用することができる。その他の例では、映像符号器20は、割り当てられたゼロでないQP値を映像復号器30に直接シグナリングすることができる。
【0051】
さらに他の例として、本開示の技法により、
図8Bにおいて例示されるように、デブロッキンフィルタは、ロスレスでコーディングされたCU、又は映像データのブロック、のすべての境界エッジ(すなわち、最上部、最下部、左、及び右の境界エッジ)に関してオフにすることができ、ブロックに関するqpprime_y_zero_transquant_bypass_flagが“1”に等しい場合は、QP’
Y=0である。例えば、デブロッキングされるべき現在のエッジの両側のQP’
Y値(すなわち、デブロッキングされるべき現在のエッジを共有するロスレスでコーディングされたブロック及び隣接ブロックに関するQP’
Y値)を検査することができ、少なくとも1つの該値が“0”に等しい場合は、デブロッキングを省くことができる。代替として、現在のエッジの両側のQP’
Y値を検査することができ、少なくとも1つの該値が“−QbBdOffset
Y”に等しい場合は、デブロッキングは省くことができる。ロスレスでコーディングされたCU又はブロックの内部エッジ(例えば、“TU”エッジ)に関するQP値の試験を回避するために、デブロッキングフィルタは、これらのエッジの処理をディスエーブルにすることができる。例えば、幾つかの例では、CU又はブロック全体に関してパラメータ“bInternalEdge”を偽に設定することができる。
他の例として、本開示の技法により、
図8Bにおいて例示されるように、デブロッキングフィルタは、ロスレスでコーディングされたCU又はブロックに隣接して位置するロッシーなブロックサンプルを修正し、ロスレスのCUサンプルは修正しない状態にすることができる。このアプローチ法は、pcm_loop_filter_disable_flagが真に等しいIPCM CU又はブロックの境界エッジをデブロッキングすることと同様である。開示される技法により、デブロッキングフィルタパラメータβ及びt
cを決定するために使用されるQP
L値がHEVCの幾つかのドラフトバージョンにより計算される方法は、変更、又は再定義することができる。その理由は、該技法(例えば、上記の式2を参照)を用いて計算されたQP
L値は、周囲のロッシーなコーディングされた領域内でロスレスでコーディングされたCU又はブロックを視覚的に楽しい形で統合させる上で不適切な場合があるためである。本開示によって提案される1つの可能な解決方法は、次式において示されるように、ロスレスでコーディングされたブロック及び隣接するロッシーなブロックによって共有される現在のエッジをデブロッキングするために2つのQP
Y,P/Q値のうちの最大値を使用することである。
【数3】
【0052】
ここで、P及びQは、現在のエッジの両側(例えば、左及び右、又は最上及び最下部のブロック)におけるブロック(すなわち、ロスレスでコーディングされたブロック及びロッシーなブロック)を表す。これは、以下の表1において示されるように、ブロックP及びQの間のエッジのロッシーコーディングされた側に位置するCU又はブロックのQP
Y値を使用するのと同等である。
【表1】
【0053】
以下の擬似コードは、特別な条件を決定する必要なしに、提案される“修正されたQP
L”の導出を得るために使用することができる(例えば、ロスレスモードの決定が既に利用可能である)。
【数4】
【0054】
本開示で提案される技法は、幾つかの例では、デブロッキング強度を決定するためのQP
Lの提案される導出によってロッシーコーディングされた領域とロスレスでコーディングされた領域との間のエッジの不連続部を平滑化することができる。その他の技法を使用することで、ロスレスでコーディングされた領域とロッシーコーディングされた領域との間の境界の不連続部をクリアに可視の境界にすることができる。本開示で提案される技法は、デブロッキングフィルタリングのための適切なQP
Lを決定することを含み、幾つかの例では、境界の不連続部を低減させるのに役立つことができる。
【0055】
本開示の技法と一致する形で上述されるデブロッキング行動をイネーブルにするために、単一のビットのコード、又は“フラグ”、を、SPS、ピクチャパラメータセット(PPS)、適合パラメータセット(APS)、又はスライスヘッダ内でシグナリングすることができる。例えば、
図8Bに示されるように、ロスレスCU、又はブロックエッジ、に隣接するロッシーコーディングされたサンプルのデブロッキングフィルタリングをイネーブルにするために“1”に等しい構文要素“lossless_loop_filter_enable_flag”を使用することができ、他方、“0”に等しいフラグは、ロスレスCUのすべての境界のデブロッキングをディスエーブルにするために使用することができる。代替として、IPCMコーディングされたブロックを参照して上述されるpcm_loop_filter_disable_flagの定義は、ロスレスでコーディングされたCU又はブロックの事例を網羅するために拡大することもできる。例えば、pcm_loop_filter_disable_flagが真に等しい(例えば、“1”に等しい)事例では、
図8Bにおいて描かれるデブロッキング行動は、IPCM及びロスレスCU境界エッジの両方に適用することができる。pcm_loop_filter_disable_flagが偽に等しい(例えば、“0”に等しい)場合は、ロスレスCU境界のデブロッキングを完全にディスエーブルにすることができ、他方、IPCMのデブロッキングは、IPCM境界の両側でイネーブルにすることができる。
【0056】
他の例では、pcm_loop_filter_disable_flagが偽に等しい場合は、IPCM境界の場合と同じように、境界の両側でロスレスCU又はブロック境界のデブロッキングをイネーブルにすることができる。さらに他の例で、pcm_loop_filter_disable_flagが偽に等しい場合は、ロスレスCU又はブロック境界又はIPCM境界のデブロッキングは、境界の両側でディスエーブルにすることができ、pcm_loop_filter_disable_flagが真に等しい場合は、ロスレスCU境界及びIPCM境界のデブロッキングは、
図8Bにおいて描かれるように、片側のみでイネーブルにすることができる。pcm_loop_filter_disable_flagは、IPCMコーディングモード及びロスレスコーディングモードの両方への適用可能性及び両方内での使用を反映させるために構文要素“pcm_transquant_loopfilter_disable_flag”に改名することができる。
【0057】
従って、pcm_loop_filter_disable_flagに関する2つの値は、(1)両側に関するデブロッキングをイネーブルにし及び両側に関するデブロッキングをディスエーブルにすること、(2)両側に関するデブロッキングをイネーブルにし及びミックスすること、又は(3)両側に関するデブロッキングをディスエーブルにし及びミックスすることに対応することができる。この文脈での“両側”は、ロッシーコーディングされたCU又はブロックとロスレスでコーディングされたCU又はブロックとの間の境界の2つの側を意味する(すなわち、
図8A及び8Bに示されるように、ロスレスでコーディングされたCUの内部の1つの境界エッジ、及びロッシーコーディングされたCU内部の1つの境界エッジ)。この文脈での“ミックス”は、概して、ロッシーコーディングされたCUの内部の境界エッジに関してはデブロッキングフィルタリングが行われるが、ロスレスでコーディングされたCUの内部の境界エッジに関してはデブロッキングフィルタリングがディスエーブルにされる、ここにおいて説明される技法を意味する。
【0058】
さらに他の例として、本開示の技法により、現在のブロック及び1つ以上のその他のブロックの境界エッジに沿ったデブロッキングフィルタリングを制御するために、現在のブロックに関するQP値又は構文要素“delta_QP”値を、ブロックに関するロスレスCUデータとともに、例えば、映像符号器20から映像復号器30にシグナリングすることができる。本開示のさらに他の技法により、ロスレスでコーディングされたCU又はブロックの1つ以上の境界エッジに沿ったデブロッキングフィルタリングを制御するために使用される現在のブロックに関するQP値を、ロッシーコーディングされたCU又はブロックからのQP
Y値又はdelta_QP値から予測することができる。本開示のその他の技法により、境界エッジに沿ったデブロッキングを制御するために一定のQP値(例えば、“0”又は他の値)をロスレスCUに割り当てることができる。
【0059】
従って、本開示の技法に一致する幾つかの例では、ソースデバイス12の映像符号器20は、映像データの幾つかのブロック(例えば、CUの1つ以上のPU又はTU)を符号化するように構成することができる。これらの例では、行先デバイス14の映像復号器30は、映像符号器20から符号化された映像データを受信して映像データを復号するように構成することができる。一例として、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックをコーディングするように構成することができ、映像データの複数のブロックのうちの少なくとも1つのブロックは、IPCMコーディングモード及びロスレスコーディングモードのうちの1つであるコーディングモードを用いてコーディングされる。幾つかの例では、ロスレスコーディングモードは、予測を使用するロスレスコーディングモードに対応することができる。これらの例では、映像符号器20及び/又は映像復号器30は、映像データのブロックの残差データを生成するために少なくとも上述される予測ステップ及び加算ステップを行うことができる。さらに、これらの例では、映像符号器20及び/又は映像復号器30は、残差データを量子化するのを回避することができる。しかしながら、その他の例では、ロスレスコーディングモードは、予測が使用されないロスレスコーディングモードに対応することができる(例えば、映像データのブロックのオリジナルの、すなわち“生の”データが、上述される予測、加算、変換、量子化、及びエントロピーコーディングの各ステップを実施せずにコーディングされる)。いずれの場合も、この例では、映像符号器20及び/又は映像復号器30は、コーディングモードを用いてコーディングされた少なくとも1つのブロックに関してゼロでないQP値を割り当てるようにさらに構成することができる。同じくこの例で、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うようにさらに構成することができる。
この方法により、本開示の技法は、その他の技法と比較して、映像符号器20及び/又は映像復号器30が1つ以上のブロックをコーディングするときに映像データの1つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る1つ以上のIPCMコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによって、オリジナル映像データを含む1つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる(例えば、オリジナルの、すなわち“生の”映像データとして、又は残差の量子化されない映像データとしてコーディングされるかにかかわらない)。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ロッシーコーディングモードを用いてコーディングされる1つ以上のブロック、例えば、1つ以上のIPCM又はロスレスでコーディングされたブロックに隣接して位置するブロック、の視覚品質を向上させることもできる。その結果、本開示の技法を使用時には、IPCM、ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの1つ以上のブロックの視覚品質の相対的な向上が存在することができる。
映像符号器20及び映像復号器30は、各々、様々な適切な符号器又は復号器回路、例えば、1つ以上のマイクロプロセッサ、DSP、ASIC、FPGA、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、又はそれらのあらゆる組み合わせのうちのいずれかとして適宜実装することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器内に含めることができ、それらのいずれも、結合された映像符号器/復号器(CODEC)の一部として一体化することができる。映像符号器20及び/又は映像復号器30を含む装置は、集積回路(IC)、マイクロプロセッサ、及び/又は無線通信デバイス、例えば、携帯電話、を備えることができる。
図2は、本開示の技法に一致した、IPCM及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像符号器の例を示すブロック図である。映像符号器20は、映像スライス内の映像ブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、空間予測に依存し、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去する。インターコーディングは、時間的予測に依存し、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去する。イントラモード(Iモード)は、幾つかの空間に基づく圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単方向性予測(Pモード)又は両方向性予測(Bモード)、は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。
図2の例では、映像符号器20は、モード選択ユニット40と、動き推定ユニット42と、動き補償ユニット44と、イントラ予測モジュール46と、IPCM符号化ユニット48Aと、ロスレス符号化ユニット48Bと、基準ピクチャメモリ66と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56と、を含む。映像ブロックの再構築のために、映像符号器20は、逆量子化ユニット58と、逆変換モジュール60と、加算器62と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためのデブロッキングフィルタ64も含まれる。
【0060】
図2に示されるように、映像符号器20は、符号化されるべき映像スライス内の現在の映像ブロックを受信する。スライスは、複数の映像ブロックに分割することができる。モード選択ユニット40は、誤りの結果に基づいて現在の映像ブロックに関してコーディングモード、イントラ、インター、IPCM、又はロスレス、のうちの1つを選択することができる。イントラ又はインターモードが選択される場合は、モード選択ユニット40は、結果的に得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に提供し、基準ピクチャとしての使用のために符号化されたブロックを再構築するために加算器62に提供する。イントラ予測モジュール46は、空間圧縮を提供するためにコーディングされるべき現在のブロックと同じフレーム又はスライス内の1つ以上の近隣ブロックに関して現在の映像ブロックのイントラ予測コーディングを行う。動き推定ユニット42及び動き補償ユニット44は、時間的圧縮を提供するために1つ以上の基準ピクチャ内の1つ以上の予測ブロックに関して現在の映像ブロックのインター予測コーディングを行う。
【0061】
インターコーディングの場合は、動き推定ユニット42は、映像シーケンスに関する予め決定されたパターンにより映像スライスに関するインター予測モードを決定するように構成することができる。予め決定されたパターンは、シーケンス内の映像スライスをPスライス、Bスライス又はGPBスライスとして指定することができる。動き推定ユニット42及び動き補償ユニット44は、一体化されることが非常に多いが、概念上の目的で別々に例示される。動き推定は、動き推定ユニット42によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、基準ピクチャ内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのPUの変位を示すことができる。
予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのPUと非常にマッチすることが判明しているブロックであり、絶対差分和(SAD)、平方差分和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準ピクチャメモリ66に格納された基準ピクチャの整数未満(sub−integer)ピクセル位置に関する値を計算することができる。例えば、映像符号器20は、1/4ピクセル位置、1/8ピクチャ位置、又は基準ピクチャのその他の分数のピクセル位置の値を計算することができる。従って、動き推定ユニット42は、完全ピクセル位置及び分数ピクセル位置に関する動き探索を行い、分数ピクセル精度を有する動きベクトルを出力することができる。
【0062】
動き推定ユニット42は、PUの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのPUに関する動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)又は第2の基準ピクチャリスト(リスト1)から選択することができ、それらの各々は、基準ピクチャメモリ66に格納された1つ以上の基準ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56及び動き補償ユニット44に送信する。
【0063】
動き補償は、動き補償ユニット44によって行われ、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができる。現在の映像ブロックのPUに関する動きベクトルを受信した時点で、動き補償ユニット44は、動きベクトルが基準ピクチャリストのうちの1つにおいて指し示す予測ブロックを突き止めることができる。映像符号器20は、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じてピクチャ差分値を形成することによって、残差映像ブロックを形成する。ピクセル差分値は、ブロックに関する残差データを形成し、ルマ及びクロマの両方の差分成分を含むことができる。加算器50は、この減算演算を行う成分又は成分(複数)を表す。動き補償ユニット44は、映像スライスの映像ブロックを復号する際に映像復号器30によって使用するために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
【0064】
動き補償ユニット44が現在の映像ブロックに関する予測ブロックを生成後は、映像符号器20は、現在の映像ブロックから予測ブロックを減じることによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つ以上のTU内に含め、変換モジュール52に適用することができる。変換モジュール52は、変換、例えば、離散コサイン変換(DCT)又は概念的に同様の変換、を用いて残差映像データを残差変換係数に変換する。変換モジュール52は、残差映像データをピクセル領域から変換領域、例えば、周波数領域、に変換する。
【0065】
変換モジュール52は、結果的に得られた変換係数を量子化ユニット54に送信することができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに低減させる。量子化プロセスは、一部の又は全部の係数と関連付けられたビット深度を低減させることができる。量子化の程度は、QPを調整することによって変更することができる。幾つかの例では、量子化ユニット54は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化ユニット56は、同走査を行うことができる。
量子化に引き続き、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、CAVLC、CABAC、又は他のエントロピーコーディング技法を実施することができる。エントロピー符号化ユニット56によるエントロピー符号化に引き続き、符号化されたビットストリームは、映像復号器30に送信するか、又は映像復号器30によるのちの送信又は取り出しを目的として保存することができる。エントロピー符号化ユニット56は、コーディング中の現在の映像スライスに関する動きベクトル及びその他の構文要素をエントロピー符号化することもできる。
【0066】
逆量子化ユニット58及び逆変換モジュール60は、基準ピクチャの基準ブロックとしてのちに使用するために残差ブロックをピクセル領域で再構築するために逆量子化及び逆変換をそれぞれ適用する。動き補償ユニット44は、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償ユニット44は、動き推定において使用するための整数未満ピクセル値を計算するために1つ以上の内挿フィルタを再構築された残差ブロックに適用することもできる。加算器62は、基準ピクチャメモリ66での格納用に基準ブロックを生成するために動き補償ユニット44によって生成された動き補償された予測ブロックに再構築された残差ブロックを加える。基準ブロックは、後続する映像フレーム又はピクチャ内のブロックをインター予測するための基準ブロックとして動き推定ユニット42及び動き補償ユニット44によって使用することができる。
【0067】
図1を参照して上述されるように、映像符号器20は、映像符号器20が開示される映像符号器20に属するIPCM及びロスレスコーディング技法を実施するのを可能にすることができるIPCM符号化ユニット48A及びロスレス符号化ユニット48Bも含む。
【0068】
一例として、映像符号器20は、映像コーディングプロセス中に映像データの1つ以上のブロックを符号化するように構成することができる。例えば、映像符号器20は、映像データの複数のブロックを符号化するように構成することができ、映像符号器20は、IPCMコーディングモードと及びロスレスコーディングモードのうちの1つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも1つのブロックを符号化する。以前に説明されるように、幾つかの例では、ロスレスコーディングモードは、(例えば、少なくとも1つのブロックの残差データを生成するための加算とともに)ブロックをコーディングするために少なくとも1つのブロックに関する予測を行うことを含むことができる。しかしながら、その他の例では、ロスレスコーディングモードは、(例えば、オリジナルな、すなわち“生の”映像データとして)予測を行わずに少なくとも1つのブロックをコーディングするために使用することができる。
例えば、以前に説明されるように、IPCMコーディングモードを用いて符号化された映像データの複数のブロックのうちの少なくとも1つのブロックは、再構築された映像データを含む少なくとも1つのブロックに対応することができる。例えば、再構築された映像データは、オリジナルの映像データのブロックを用いて
図1の映像符号器20を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって映像符号器20によって生成することができる。上述されるステップを実施することによって、映像符号器20は、量子化及び変換された残差係数のブロックを生成することができる。後続して、映像符号器20は、再構築された映像データのブロックを生成するために、同じく上述されるように、量子化及び変換された残差係数に関する逆量子化、逆変換、予測、及び加算を実施するように構成することができる。代替として、同じく前述されるように、ロスレスコーディングモードを用いて符号化された少なくとも1つのブロックは、オリジナルの映像データ、又は残差の量子化されない映像データを含む少なくとも1つのブロックに対応することができる。
【0069】
いずれの場合も、映像符号器20は、コーディングモードを用いて符号化された少なくとも1つのブロックに関するゼロ以外のQP値を割り当てるようにさらに構成することができる。前述されるように、映像符号器20は、例えば、映像データの1つ以上の近隣ブロックの各々のQP値を用いて決定することができる、少なくとも1つのブロックに関する予測されるQP値を用いて少なくとも1つのブロックに関するゼロでないQP値を割り当てるように構成することができる。映像符号器20は、少なくとも1つのブロックを符号化するために映像符号器20によって使用されるコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うように構成することもできる。
【0070】
幾つかの例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うために、映像符号器20は、次のステップを実施するように構成することができる。例えば、少なくとも1つのブロックをコーディングするために使用されたコーディングモードがIPCMコーディングモードである場合は、映像符号器20は、割り当てられたゼロでないQP値に基づいて映像データの少なくとも1つのブロックに関するデブロッキングフィルタリングを行うように構成することができる。さらに、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである場合は、映像符号器20は、割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つの隣接ブロックに関するデブロッキングフィルタリングを行うように構成することができる。この例では、隣接ブロックは、少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。
【0071】
幾つかの例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像符号器20は、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングのためのフィルタを選択するように構成することができる。例えば、映像符号器20は、割り当てられたゼロでないQP値を用いて、フィルタを用いるデブロッキングフィルタリングが行われる方法を定義する1つ以上のフィルタリングパラメータ又はプロパティを含むような形でフィルタを選択するように構成することができる。その他の例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像符号器20は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【0072】
幾つかの例では、映像符号器20は、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうち1つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングをイネーブルにするように構成することができる。その他の例では、コーディングモードは、ロスレスコーディングモードであることができる。これらの例では、映像符号器20は、少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成することができる。これらの例では、少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることは、少なくとも1つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行わないことを含むことができる。
幾つかの例では、少なくとも1つのブロックに関するゼロでないQP値を割り当てるために、映像符号器20は、次のうちの1つ以上に基づいて割り当てられたゼロでないQP値を決定するように構成することができる。すなわち、(1)少なくとも1つのブロックに関するシグナリングされたQP値(例えば、シグナリングされたQP値は、割り当てられたゼロでないQP値を示す)、(2)少なくとも1つのブロックに関する予測されるQP値(例えば、映像データの1つ以上の近隣ブロックの各々のQP値を用いて決定)、及び(3)少なくとも1つのブロックに関するシグナリングされたdQP値(例えば、dQP値は、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表す)。一例として、シグナリングされたQP値及びdQP値の各々は、該当するときには、映像符号器20によって決定し、ビットストリーム内で映像復号器30にシグナリングすることができる。他の例として、予測されるQP値は、映像符号器20によって決定することができる。
その他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20は、次のステップを実施するように構成することができる。例えば、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズよりも小さいときには、映像符号器20は、少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を割り当てられたゼロでないQP値として設定するように構成することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックを含むこともできる。
【0073】
上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループQP値を有することができる。これらの例では、映像符号器20は、この共通のグループQP値を割り当てられたゼロでないQP値として設定するように構成することができる。しかしながら、その他の例では、量子化グループの幾つかのブロック(例えば、QP値が例えばdQP値としてシグナリングされる量子化グループの第1のブロックから始まるブロック)のみが、同じグループQP値を有することができる。これらの例では、映像符号器20は、量子化グループのブロックの部分組のみに共通するこの特定のグループQP値を割り当てられたゼロでないQP値として設定するように構成することができる。
【0074】
さらに、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズ以上であるときには、映像符号器20は、映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を割り当てられたゼロでないQP値として設定するように構成することができる。例えば、近隣ブロックは、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。
【0075】
さらにその他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20は、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズよりも小さいときには映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を割り当てられたゼロでないQP値として設定するように構成することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックを含むこともできる。これらの例では、近隣ブロックは、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。例えば、少なくとも1つのブロックがいわゆる“エッジ”ブロック(すなわち、ブロックを含む映像データのフレームの境界に隣接して位置する映像のブロック)である事例では、少なくとも1つのブロックに隣接して位置するブロックは存在することができない。該事例では、近隣ブロックは、前にコーディングされたブロック、すなわち、少なくとも1つのブロックと前にコーディングされたブロックとを含む映像データのフレームと関連付けられたコーディング順序で少なくとも1つのブロックの前に発生する映像データのブロック、であることができる。
幾つかの例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20は、映像データの複数のブロックのうちの1つのロッシーブロックに関するQP値及びdQP値のうちの1つを割り当てられたゼロでないQP値として設定するように構成することができる。これらの例では、dQP値は、ロッシーブロックに関するQP値及び予測されるQP値との間の差分を表すことができる。同じくこれらの例では。ロッシーブロックは、ロッシーコーディングモード、例えば、上述される予測、加算、変換、及び量子化ステップ、又は同様のステップ、を実施することを含むコーディングモード、を用いてコーディングされたブロックであることができる。
その他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20は、一定の値を割り当てられたゼロでないQP値として設定するように構成することができる。
【0076】
幾つかの例では、コーディングすることは、符号化することであることができる。これらの例では、少なくとも1つのブロックを符号化するために、映像符号器20は、ビットストリームにおいて少なくとも1つのブロックの残差の量子化されていない映像データ及び再構築された映像データのうちの1つをシグナリングするように構成することができる。同じくこれらの例で、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20は、割り当てられたゼロでないQP値をビットストリームでシグナリングすること、及び少なくとも1つのブロックに関するdQP値をビットストリームでシグナリングすることのうちの1つを行うように構成することができる。例えば、dQP値は、少なくとも1つのブロックに関する割り当てられたゼロでないQP値と予測されるQP値との間の差分を表すことができる。これらの例では、映像符号器20は、ビットストリームにおいて1つ以上の構文要素をシグナリングするようにさらに構成することができる。例えば、1つ以上の構文要素は、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示すことができる。
上記の例では、特に、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、1つ以上の構文要素は、“第1の”1つ以上の構文要素と呼ぶことができる。これらの例では、映像符号器20は、ビットストリームにおいて第2の1つ以上の構文要素をシグナリングするようにさらに構成することができる。例えば、第2の1つ以上の構文要素は、少なくとも1つのブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
【0077】
従って、上で説明されるように、本開示の技法は、その他の技法と比較して、映像符号器20が1つ以上のブロックを符号化するときに映像データの1つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る1つ以上のIPCMブロックコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む1つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ロッシーコーディングされたブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、ロッシーコーディングモードを用いてコーディングされた1つ以上のブロック、例えば、1つ以上のIPCM又はロスレスでコーディングされたブロックに隣接する1つ以上のブロック、の視覚品質を向上させることができる。その結果、本開示の技法を使用したときには、IPCM,ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの1つ以上のブロックの視覚品質の相対的な向上が存在することができる。
この方法により、映像符号器20は、映像データの複数のブロックをコーディングするように構成された映像コーダの例を代表し、映像コーダは、IPCMコーディングモード及び予測を使用するロスレスコーディングモードのうちの1つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも1つのブロックをコーディングするように構成される。同じくこの例において、映像コーダは、コーディングモードを用いてコーディングされた少なくとも1つのブロックに関するゼロでないQP値を割り当て及び少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び少なくとも1つのブロックに関して割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うようにさらに構成される。
【0078】
図3は、本開示の技法に一致する形で、IPCM及びロスレスコーディングモードデブロッキングに関する技法を実施することができる映像復号器の例を示したブロック図である。
図3の例では、映像復号器30は、エントロピー復号ユニット80と、IPCM復号ユニット98Aと、ロスレス復号ユニット98Bと、予測モジュール82と、逆量子化ユニット88と、逆変換モジュール90と、加算器92と、デブロッキングフィルタ94と、基準ピクチャメモリ96と、を含む。予測モジュール82は、動き補償ユニット84と、イントラ予測モジュール86と、を含む。映像復号器30は、幾つかの例では、
図2からの映像符号器20に関して説明される符号化パス(encoding pass)と概して相互的である復号パスを行うことができる。
【0079】
復号プロセス中には、映像復号器30は、符号化された映像スライスの映像ブロック及び映像符号器20からの関連付けられた構文要素を表す符号化された映像ビットストリームを受信する。ビットストリーム内の表現された映像ブロックが圧縮された映像データを含むときには、映像復号器30のエントロピー復号ユニット80は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、動きベクトル及びその他の構文要素を予測モジュール82に転送する。映像復号器30は、映像スライスライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
【0080】
映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、予測モジュール82のイントラ予測モジュール86は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた(すなわち、B、P又はGPB)スライスとしてコーディングされるときには、予測モジュール82の動き補償ユニット84は、動きベクトル及びエントロピー復号ユニット80から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準ピクチャメモリ96に格納される基準ピクチャに基づいてデフォルトの構築技法を用いて、基準フレームリスト、リスト0及びリスト1を構築することができる。
【0081】
動き補償ユニット84は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する構文情報を決定し、及び、予測情報を使用して復号中の現在の映像ブロックに関する予測ブロックを生成する。例えば、動き補償ユニット84は、受信された構文要素の一部を使用し、映像スライスの映像ブロックをコーディングするために使用された予測モード(例えば、イントラ又はインター予測)、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスに関する基準ピクチャリストのうちの1つ以上に関する構築情報、スライスの各々のインター符号化された映像ブロックに関する動きベクトル、スライスの各々のインターコーディングされた映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報を決定することができる。
動き補償ユニット84は、内挿フィルタに基づいた内挿を行うこともできる。動き補償ユニット84は、基準ブロックの整数未満のピクセルに関する内挿された値を計算するために映像ブロックの符号化中に映像符号器20によって使用される内挿フィルタを使用することができる。動き補償ユニット84は、受信された構文要素から映像符号器20によって使用される内挿フィルタを決定し、予測ブロックを生成するために内挿フィルタを使用することができる。
逆量子化ユニット88は、ビットストリーム内で提供されてエントロピー復号ユニット80によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、適用されるべき量子化度、及び同様に逆量子化度を決定するために映像スライス内の各映像ブロックに関して映像符号器20によって計算された量子化パラメータ(QP)の使用を含むことができる。逆変換モジュール90は、ピクセル領域内で残差ブロックを生成するために逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似する逆変換プロセスを変換係数に適用する。
【0082】
動き補償ユニット84が、動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器30は、逆変換モジュール90からの残差ブロックを動き補償ユニット84によって生成された対応する予測ブロックと加算することによって復号された映像ブロックを形成する。加算器92は、この加算演算を行うコンポーネント又はコンポーネント(複数)を代表する。ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタ94が適用される。次に、所定のフレーム又はピクチャ内の復号された映像ブロックが基準ピクチャメモリ96に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準ピクチャメモリ96は、表示装置、例えば、
図1の表示装置28、上でののちの提示のために復号された映像も格納する。
【0083】
図1を参照して既に上記されているように、映像復号器30は、映像復号器30が開示される映像復号器30に属するIPCM及びロスレスコーディング技法を実施するのを可能にすることができるIPCM復号ユニット98A及びロスレス復号ユニット98Bも含む。
【0084】
一例として、映像復号器30は、映像コーディングプロセス中に映像データの1つ以上のブロックを復号するように構成することができる。例えば、映像復号器30は、映像データの複数のブロックを復号するように構成することができ、映像データの複数のブロックのうちの少なくとも1つのブロックを、IPCMコーディングモード及びロスレスコーディングモードのうちの1つであるコーディングモードを用いて、すなわち映像符号器20によって符号化することができる。
図1及び2を参照して上述されるように、幾つかの例では、ロスレスコーディングモードは、(例えば、少なくとも1つのブロックの残差データを生成するための加算とともに)ブロックをコーディングするために少なくとも1つのブロックに関する予測を行うことを含むことができる。しかしながら、その他の例では、ロスレスコーディングモードは、(例えば、オリジナルの、又は“生の”映像データとして)予測を行わずに少なくとも1つのブロックをコーディングするために使用することができる。
【0085】
一例として、前述されるように、IPCMコーディングモードを用いて符号化された映像データの複数のブロックのうちの少なくとも1つのブロックは、再構築された映像データを含む少なくとも1つのブロックに対応することができる。例えば、再構築された映像データは、オリジナルの映像データのブロックを用いて
図1及び2の映像符号器20を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって、例えば、映像符号器20によって生成することができる。上記のステップを実施することによって、映像符号器20は、量子化された及び変換された残差係数のブロックを生成することができる。後続して、映像符号器20は、再構築された映像データのブロックを生成するために、同じく上述されるように、量子化及び変換された残差係数に関する逆量子化、逆変換、予測、及び加算を行うように構成することができる。代替として、同じく上述されるように、ロスレスコーディングモードを用いて符号化された少なくとも1つのブロックは、オリジナルの映像データ、又は残差の量子化されてない映像データを含む少なくとも1つのブロックに対応することができる。
【0086】
いずれの場合も、映像復号器30は、コーディングモードを用いて符号化された少なくとも1つのブロックに関してゼロでないQP値を割り当てるようにさらに構成することができる。前述されるように、映像復号器30は、例えば、少なくとも1つのブロックに関する予測されるQP値を用いて少なくとも1つのブロックに関するゼロでないQP値を割り当てるように構成することができ、それは、映像データの1つ以上の近隣ブロックの各々のQP値を用いて決定することができる。映像復号器30は、少なくとも1つのブロックをコーディングするために使用されたコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うように構成することもできる。
【0087】
幾つかの例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングを行うために、映像復号器30は、次のステップを実施するように構成することができる。例えば、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである場合は、映像復号器30は、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロックに関するデブロッキングフィルタリングを行うように構成することができる。さらに、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである場合は、映像復号器30は、割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つの隣接ブロックに関するデブロッキングフィルタリングを行うように構成することができる。この例では、隣接ブロックは、少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。
幾つかの例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像復号器30は、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングのためのフィルタを選択するように構成することができる。例えば、映像復号器30は、割り当てられたゼロでないQP値を用いて、フィルタを用いるデブロッキングフィルタリングが行われる方法を定義する1つ以上のフィルタリングパラメータ又はプロパティを含むような形でフィルタを選択するように構成することができる。その他の例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関してデブロッキングフィルタリングを行うために、映像復号器30は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【0088】
幾つかの例では、映像復号器30は、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングをイネーブルにするように構成することができる。その他の例では、コーディングモードは、ロスレスコーディングモードであることができる。これらの例では、映像復号器30は、少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成することができる。これらの例では、少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることは、少なくとも1つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行わないことを含むことができる。
幾つかの例では、少なくとも1つのブロックに関するゼロでないQP値を割り当てるために、映像復号器30は、次のうちの1つ以上に基づいて割り当てられたゼロでないQP値を決定するように構成することができる。すなわち、(1)少なくとも1つのブロックに関するシグナリングされたQP値(例えば、シグナリングされたQP値は、割り当てられたゼロでないQP値を示す)、(2)少なくとも1つのブロックに関する予測されるQP値(例えば、映像データの1つ以上の近隣ブロックの各々のQP値を用いて決定)、及び(3)少なくとも1つのブロックに関するシグナリングされたdQP値(例えば、dQP値は、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表す)。一例として、シグナリングされたQP値及びdQP値の各々は、該当するときには、ビットストリームにおいて映像符号器20から映像復号器30によって受信することができる。他の例として、予測されるOP値は、映像復号器30によって決定することができる。
その他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像復号器30は、次のステップを実施するように構成することができる。例えば、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズよりも小さいときには、映像復号器30は、少なくとも1つのブロックを含む量子化グループに関するグループQP値、例えば、少なくとも1つのグループQP値、を割り当てられたゼロでないQP値として設定することができる。これらの例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックを含むこともできる。上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループQP値を有することができる。これらの例では、映像復号器30は、この共通のグループQP値を割り当てられたゼロでないQP値として設定するように構成することができる。しかしながら、その他の例では、量子化グループの幾つかのブロック(例えば、QP値が例えばdQP値としてシグナリングされる量子化グループの第1のブロックから始まるブロック)のみが、同じグループQP値を有することができる。これらの例では、映像復号器30は、量子化グループのブロックの部分組のみに共通するこの特定のグループQP値を割り当てられたゼロでないQP値として設定するように構成することができる。さらに、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズ以上であるときには、映像復号器30は、映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を割り当てられたゼロでないQP値として設定するように構成することができる。例えば、近隣ブロックは、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。
【0089】
さらにその他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像復号器30は、少なくとも1つのブロックのサイズが最小のCU量子化グループサイズよりも小さいときには映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を割り当てられたゼロでないQP値として設定するように構成することができる。これらの例では、近隣ブロックは、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。例えば、少なくとも1つのブロックがいわゆる“エッジ”ブロック(すなわち、ブロックを含む映像データのフレームの境界に隣接して位置する映像データのブロック)である事例では、少なくとも1つのブロックに隣接して位置するブロックは存在することができない。該事例では、近隣ブロックは、前にコーディングされたブロック、すなわち、少なくとも1つのブロックと前にコーディングされたブロックとを含む映像データのフレームと関連付けられたコーディング順序で少なくとも1つのブロックの前に発生する映像データのブロック、であることができる。
幾つかの例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像復号器30は、映像データの複数のブロックのうちのロッシーブロックに関するQP値及びdQP値のうちの1つを割り当てられたゼロでないQP値として設定するように構成することができる。前述されるのと同様の方法で、これらの例では、dQP値は、ロッシーブロックに関するQP値と予測されるQP値との間の差分を表すことができる。同じくこれらの例では、ロッシーブロックは、ロッシーコーディングモード、例えば、上述される予測、加算、変換、及び量子化ステップ、又は類似のステップ、を実施することを含むコーディングモード、を用いてコーディングされたブロックであることができる。
その他の例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像復号器30は、一定の値を割り当てられたゼロでないQP値として設定するように構成することができる。
幾つかの例では、コーディングすることは、復号することであることができる。これらの例では、少なくとも1つのブロックを復号するために、映像復号器30は、受信されたビットストリームにおいて少なくとも1つのブロックの残差の量子化されていない映像データ及び再構築された映像データのうちの1つを受信するように構成することができる。同じくこれらの例で、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像復号器30は、割り当てられたゼロでないQP値を受信されたビットストリームで受信すること、及び少なくとも1つのブロックに関するdQP値を受信されたビットストリームで受信することのうちの1つを行うように構成することができる。例えば、dQP値は、少なくとも1つのブロックに関する割り当てられたゼロでないQP値と予測されるQP値との間の差分を表すことができる。映像復号器30が少なくとも1つのブロックに関するdQP値を受信するように構成される例では、映像復号器30は、dQP値及び予測されるQP値に基づいて割り当てられたゼロでないQP値を決定するようにさらに構成することができる。映像復号器30は、受信されたビットストリームで1つ以上の構文要素を受信するようにさらに構成することができる。例えば、1つ以上の構文要素は、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングをイネーブルにされていることを示すことができる。
【0090】
上述される例では、特に、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例においては、1つ以上の構文要素は、“第1の”1つ以上の構文要素と呼ぶことができる。これらの例では、映像復号器30は、受信されたビットストリームで“第2の”1つ以上の構文要素を受信するようにさらに構成することができる。例えば、第2の1つ以上の構文要素は、デブロッキングフィルタリングが少なくとも1つのブロックに関してディスエーブルにされていることを示すことができる。
【0091】
従って、上で説明されるように、本開示の技法は、その他の技法と比較して、映像復号器30が1つ以上のブロックを符号化するときに映像データの1つ以上のブロックの視覚品質を向上させるのを可能にすることができる。特に、説明される技法は、ブロックに関するデブロッキングフィルタリングをイネーブルにし及びデブロッキングフィルタリングを特定の方法で行うことによって再構築された映像データから成る1つ以上のIPCMコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ブロックに関するデブロッキングフィルタリングをディスエーブルにすることによってオリジナルの映像データを含む1つ以上のロスレスでコーディングされたブロックの視覚品質を向上させることができる。さらに、それらの技法は、ロッシーコーディングモードを用いてコーディングされたブロックに関するデブロッキングフィルタリングを特定の方法で行うことによって、例えば、1つ以上のIPCM及びロスレスでコーディングされたブロックに隣接して位置する1つ以上のブロック、の視覚品質を向上させることもできる。その結果、本開示の技法を使用したときには、IPCM,ロスレス、及びロッシーコーディングモードを用いてコーディングされたブロックを含む映像データの1つ以上のブロックの視覚品質の相対的な向上が存在することができる。
この方法により、映像復号器30は、映像データの複数のブロックをコーディングするように構成された映像コーダの例であり、映像コーダは、IPCMコーディングモード及び予測を使用するロスレスコーディングモードのうちの1つであるコーディングモードを用いて映像データの複数のブロックのうちの少なくとも1つのブロックをコーディングするように構成される。同じくこの例において、映像コーダは、コーディングモードを用いてコーディングされた少なくとも1つのブロックに関するゼロでないQP値を割り当て及び少なくとも1つのブロックをコーディングするために使用されたコーディングモード及び少なくとも1つのブロックに関して割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うようにさらに構成される。
【0092】
図4は、本開示の技法と一致する、映像データの2つの隣接するブロックの境界に関して行われるデブロッキングフィルタリングの例を示す概念図である。
図4の例では、ブロック404は、ブロック402の対応する右エッジとともに、デブロッキングフィルタリング、又は“デブロッキング”されるべき左エッジを含む映像データの現在コーディングされた、又は“現在の”ブロックであることができる。この例では、ブロック402は、ブロック404に隣接して(この例では左側に)位置する映像データの隣接するブロックである。例えば、ブロック402は、コーディングブロック404の前にコーディングされる映像データの以前にコーディングされたブロックであることができる。その他の例では、ブロック404の最上エッジ(示されていない)を、ブロック404の最上部にある映像データの隣接ブロック(示されていない)の対応する最下部エッジとともにデブロッキングすることができる。
幾つかのHEVCテストモデルバージョン(例えば、バージョン4、又は“MH4”)では、8サンプルエッジを特定のデブロッキングフィルタによってデブロッキングすることができる。
図4に示されるように、ブロック402及び404のデブロッキングエッジエリアは、ブロック404におけるエッジ400に平行な4つのラインのピクセル値q0
i乃至q3
i、及びブロック402におけるエッジ400に平行する4つのラインのピクセル値p0
i乃至p3
iを含み、ここで、“i”は、エッジ400に垂直なピクセルのラインを示す。ピクセル値の平行なラインの各々は、8つのピクセル値、例えば、q0
0乃至q0
7を含む。水平エッジ(示されていない)、例えば、現在のブロックのエッジ、の場合は、名前付け及び番号付けは、
図4に例示される垂直エッジ(すなわち、エッジ400)のそれと同一であることができる。さらに、ピクセル値p及びqは、プリデブロッキングフィルタリングされた値(すなわち、再構築されるピクセル値)又はデブロッキングフィルタリングされた値のいずれかであることができる。
HMの幾つかのバージョン(例えば、HM4)では、デブロッキングフィルタ、例えば、映像符号器20のデブロッキングフィルタ64又は映像復号器30のデブロッキングフィルタ94は、境界強度計算からの結果及びデブロッキング決定に基づいてブロックの幾つかのTU及びPUエッジをフィルタリングすることができる。デブロッキング決定は、デブロッキングフィルタがオン又はオフのいずれであるか、デブロッキングフィルタが弱いか又は強いか、及び、所定のブロックに関する弱いフィルタの強度を含むことができる。
図6を参照して以下においてさらに詳細に説明される境界強度計算及びデブロッキング決定は、スレショルド値“t
c”及び“β”に依存する。
【0093】
HMの幾つかのバージョンでは、デブロッキングフィルタのスレショルド値t
c及びβは、パラメータQに依存することができ、それは、次の式を用いて映像データの現在のブロックに関するQP値及び境界強度(“Bs”)から導き出される。
【数5】
【0094】
上述されるように、スレショルド値t
c及びβは、現在のブロックのQP値から導き出されたパラメータQに基づいてアクセス可能なテーブルに格納することができる。
第1のデブロッキング決定は、デブロッキングフィルタリングがブロック404のエッジ400に関してオンであるかオフであるかということである。この“オン/オフ”決定を行うために、映像コーディングデバイス、例えば、映像符号器20及び/又は映像復号器30は、エッジ400に垂直な第3のライン(i=2)、すなわち、ライン406、内のピクセル値に関するエッジ400における活動レベルd
1を計算する。映像コーディングデバイスは、エッジ400に垂直な第6のライン(i=5)、すなわち、ライン408、内のピクセル値に関するエッジ400における活動レベルd2も計算する。これらの2つの活動測定値は、エッジ400の近隣における活動を表示する。
【0095】
次に、活動測定値が加算されてスレショルド値βと比較される。加算された活動測定値がスレショルド値βよりも小さい場合は、デブロッキングフィルタがオンであり、8サンプルデブロッキングエリアに適用される。この方法により、エッジ400における活動が高い場合は、エッジ400における不連続部は目に見えないためデブロッキングフィルタは必要ない。しかしながら、エッジ400における活動が低い場合は、エッジ400におけるブロック402と404との間の不連続部を平滑化するためにデブロッキングフィルタが適用されるべきである。計算は、次式により行うことができる。
【数6】
【0096】
第2のデブロッキング決定は、デブロッキングフィルタが強いフィルタであるか又は弱いフィルタであるかに関する決定を含む。デブロッキングフィルタが強いか又は弱いかの決定は、3つの個別の決定を含むことができ、エッジ400におけるテクスチャ/活動の決定と、勾配の決定と、不連続部の決定と、を含む。HMの幾つかのバージョン(例えば、HM4)では、3つの決定の各々は、エッジ400に垂直なピクセル値の各ライン(i=0、...、7)に関して行わなければならない。これらの3つの決定は、次式により行うことができる。
【数7】
【0097】
第3のデブロッキング決定は、デブロッキングフィルタが弱いフィルタであるときに、弱いフィルタの強度を決定することを含むことができる。HMの幾つかのバージョン(例えば、HM4)では、ブロック404のエッジ400に適用される弱いフィルタは、エッジ400の各側での1つ又は2つのサンプルを補正することができる。幾つかの事例では、弱いフィルタは、エッジ400の一方の側において1つのサンプルのみを補正し、エッジ400の他方の側において2つのサンプルを補正するために非対称的に適用することができる。
【0098】
HMの幾つかのバージョン(例えば、HM4)では、弱いフィルタは、次式による弱いフィルタ強度計算に基づいてエッジ400の右側及び左側のすべてのp0及びq0サンプルを補正する。
【0099】
Δ=(9
*(q0−p0)−3
*(q1=p1)+8)/16
Δ=Clip(−t
c,t
c,Δ);t
cは、QP値に依存するスレショルド値である
p0’=p0+Δ
q0’=q0−Δ
弱いフィルタは、任意選択で、次式により隣接するブロック104内のエッジ400に平行する第2のライン内のすべてのp1サンプルを補正する。
【0100】
Δp=Clip(−t
c/2,t
c/2,(((p2+p0+1)/2)−p1+Δ)/2)
p1’=p1+Δp;p1のデブロッキングは、決定条件に依存する
同様に、弱いフィルタは、任意選択で、次式により現在のブロック404内のエッジ400に平行する第2のライン内のすべてのq1サンプルを補正する。
【0101】
Δq=Clip(−t
c/2,t
c/2,(((q2+q0+1)/2)−q1+Δ)/2)
q1’=q1+Δq;q1のデブロッキングは、決定条件に依存する
ピクセル値p又はqは、プリデブロッキングフィルタリングされた値(すなわち、再構築されたピクセル値)又はデブロッキングフィルタリングされた値のいずれかであることができる。ピクセル値p’及びq’は、ピクセル値p及びqに関するデブロッキングフィルタリングを行った後に結果的に得られたピクセル値をそれぞれ表す。より具体的には、値q0及びq1は、現在のブロック404内のエッジに平行する第1及び第2のラインにおけるピクセル値を示す。方程式q0−p0及びq1−p1は、エッジ400におけるピクセル値間のステップ不連続部を示す。
【0102】
図5は、本開示の技法に一致する、映像データの1つ以上のブロックの各々に関するdQP値をシグナリングする例を示した概念図である。HEVCの幾つかのドラフトバージョン(例えば、WD6)は、LCUレベル及びサブLCUレベルのdQP技法をサポートする。例えば、幾つかのサブLCUレベルのdQP法は、LCUサイズよりも小さい映像データのブロック、すなわちCU、に関するdQPシグナリングを可能にする。これの目的は、より粒度が高いレート及び視覚品質の制御を可能にすることである。幾つかの技法により、dQPをシグナリングすることができる最小のCU量子化グループサイズとして “dQpMincuSize”パラメータを定義することができる。最小CU量子化グループサイズよりも小さいブロックに関しては、最小のCUの量子化グループ内のすべての葉CU、すなわち、映像データのブロック、は、同じdQP値を共有することができる。代替として、その他の技法により、最小のCU量子化グループサイズよりも小さいブロックに関しては、最小のCUサイズの量子化グループ内の葉CU又は映像データのブロックのうちの一部のみが同じdQP値を共有することができる。例えば、dQP値が量子化グループのために最初にシグナリングされる第1の葉CU又は映像データのブロックを最初とする葉CU又は映像データのブロックのみがこのdQP値を共有することができる。例えば、dQP値が量子化グループに関して最初にシグナリングされる第1の葉CU又は映像データのブロックから始まる葉CU又は映像データのブロックのみがこのdQP値を共有することができる。いずれの場合も、最小のCU量子化グループサイズ以上であるブロックに関しては、LCU四分木の葉CU、すなわち映像データのブロックに関してdQP値をシグナリングすることができる。dQP値は、少なくとも1つのゼロでない係数がブロック内に存在する、すなわち、ブロックに関する構文要素コーディングされたブロックフラグ(“CBF”)が真、すなわち“1”に等しいときのみにシグナリングすることができる。映像復号器30は、現在のブロックに関するQP値を生成するためにブロックに関するシグナリングされたdQP値を映像データの近隣ブロックからの予測されるQP値に加えることができる。近隣ブロックは、現在のブロックの左に位置する映像データの近隣ブロック、又はコーディング順で現在のブロックに最も近い前の映像データのブロックであることができる。
【0103】
図5に示されるように、“LCU0”500は、最小のCU量子化グループサイズ502よりも大きいサイズを有する映像データの単一のブロック、すなわち、“ブロック0”、含み、構文要素“QpMInCuSize”を用いて示すことができる。同じく
図5に示されるように、LCU0 500は、葉CUには分割されず、従って、LCU0 500と関連付けられた量子化グループ“Q0”は、ブロック0のみを含む。
図5の例では、ブロック0は、少なくとも1つのゼロでない係数を含む。この例では、ブロック0は、LCU0 500に関するビットストリーム504としてシグナリングすることができる。同じくこの例では、ビットストリーム504は、ブロック0に関するコーディングモード(“M0”)、dQP値(“D0”)、及び係数(“C0”)成分を含む。
【0104】
図5おいてさらに例示されるように、“LCU1”506は、LCU四分木により、映像データデータの複数のブロック、又はCUに分割される。例えば、LCU1 506の “ブロック1”及び“ブロック10”は、各々、最小のCU量子化グループサイズ502に等しいサイズを有する。他方、“ブロック2−9”は、各々、最小のCU量子化グループサイズ502よりも小さいサイズを有する。概して、最小のCU量子化グループサイズ内のすべての葉CU、すなわち、映像データのブロック、は、同じQP及びdQP値を共有することができる。例えば、
図5に示されるように、量子化グループ“Q1”は、ブロック1のみを含み、量子化グループ“Q4”は、ブロック10のみを含む。しかしながら、量子化グループ“Q3”は、ブロック2−5を含み、その結果、ブロック2−5の各々は、同じQP値を有することができる。同様に、量子化グループ“Q3”は、ブロック6−9を含み、その結果、ブロック6−9の各々は、同じQP値を有することができる。
【0105】
同じく
図5に示されるように、ブロック1は、少なくとも1つのゼロでない係数を含み、及び、Q1に対応し、ブロック1に関するコーディングモード(“M1”)と、dQP値(“D1”)と、係数(“C1”)コンポーネントとを含むLCU1 506に関するビットストリーム508の一部分としてシグナリングすることができる。
図5の例では、ブロック10は“スキップモード”にあるか又はすべてゼロ値の係数を含み、及び、Q4に対応し、ブロック10に関するコーディングモード(“M10”)コンポーネントのみを含むLCU1 506に関するビットストリーム508の一部分としてシグナリングすることができる。同じ例で、量子化グループQ2内のブロック2−5の各々は、スキップモードにあるか又はすべてゼロの値の係数を含み、及び、Q2に対応し、ブロック2−5に関するコーディングモード(“M2−M5”)コンポーネントのみを含むLCU1 506に関するビットストリーム508の一部分としてシグナリングすることができる。この例では、量子化グループQ3内のブロック6及び9の各々は、スキップモードにあるか又はすべてゼロの値の係数を含み、量子化グループQ3内のブロック7及び8の各々は、少なくとも1つのゼロでない係数を含む。ブロック6−9は、Q3に対応し及びブロック6及び9に関するコーディングモード(“M6及びM9”)コンポーネントのみを含み、及びブロック7及び8に関するコーディングモード(“M7及びM8”)と、dQP値( “D3”)と、係数(“C7及びC8”)コンポーネントとを含むLCU1 506に関するビットストリーム508の一部分としてシグナリングすることができる。
図6は、本開示の技法と一致する、デブロッキングフィルタに関する境界強度値を計算する方法例を示すフローチャートである。
図6において例示されるように、境界強度計算600は、映像データの現在のブロック(例えば、
図4のブロック404)及び映像データの隣接ブロック(例えば、
図4のブロック402)のコーディングモード(例えば、“イントラ”又は“インター”コーディングモード)、及びデブロッキングエッジエリア(すなわち、デブロッキングフィルタリング、又は“デブロッキング”中の共有されるエッジに沿ったブロックのエリア、例えば、
図4のエッジ400)がゼロでない係数を含むかどうかに基づくことができる。
【0106】
より具体的には、境界強度計算を行うことは、デブロッキングされるべきエッジを有する現在のブロック及び隣接ブロックのうちの1つがイントラコーディングされるかどうかを決定することを含むことができる(602)。現在のブロック及び隣接ブロックのうちの1つがイントラコーディングされるときには(602;“はい”)、デブロッキングされるべきエッジが外部CU境界であるか又は内部CUエッジであるかを決定するためにCUエッジ検査動作を実施することができる。デブロッキングされるべきエッジが外部CU境界である場合は(604;“はい”)、境界強度(“Bs)”値は、“4”に設定することができ(610)、エッジが内部CUエッジである場合は(604;“いいえ”)、境界強度(“Bs)”値は、“3”に設定することができる(612)。いずれの場合も、Bs値は“2”よりも大きいことができ、従って、デブロッキングフィルタに関するスレショルド値“t
c”を識別時に“2”に等しい構文要素“TcOffset”を対応するQP値(すなわち、現在のブロックに関するQP値)に適用することができる。
現在のブロック及び隣接ブロックがインターコーディングされるときには(602;“いいえ”)、デブロッキングされるべきエッジの周囲のデブロッキングエッジエリア内のサンプルがゼロでない係数を含むかどうかを決定するためにゼロでない係数の検査を行うことができる(606)。サンプルがゼロでない係数を含む場合は(606;“はい”)、Bs値を“2”に設定することができる(614)。しかしながら、サンプルがゼロでない係数を含まない場合は(606;“いいえ”)、現在のブロック内と隣接ブロック内のサンプル間の差分を決定するために追加の検査を行うことができる(608)。現在のブロック及び隣接ブロック内のサンプルが差分を有する場合は(608;“はい”)、Bs値を“1”に設定することができる(616)。しかしながら、現在のブロック及び隣接ブロック内のサンプルがほとんど又はまったく差分を有さない場合は(608;“いいえ”)、Bs値を“0”に設定することができる(618)。Bs値が“0”に等しいときには、デブロッキングフィルタをオフにすることができ、現在のブロックのデブロッキングされるべきエッジに適用することができない。
【0107】
図7A−7Bは、本開示の技法に一致する、IPCMコーディングモードデブロッキングの例を示した概念図である。
図7Aは、
図1を参照して上述されるように、IPCMコーディングモードを用いてコーディングされた映像データの現在のブロック712に関して行われるデブロッキングフィルタリングを例示する(すなわち、“QP=0”)。
図7Aに示されるように、ブロック712は、ロッシー(すなわち、“QP>0”)ブロック706及び708とそれぞれ共有される右エッジ及び最下部エッジに関してデブロッキングされる。同じく
図7Aに示されるように、ブロック712は、ロッシー(すなわち、“QP>0”)ブロック710及び704とそれぞれ共有される左エッジ及び最上エッジに関してはデブロッキングされない。前述されるように、IPCMコーディングされたブロックに関するHEVCの様々なドラフトバージョンに一致して、ゼロ値のQP値はブロック712と関連付けられるため、ブロック712は、上述される方法でデブロッキングされる。
【0108】
図7Bは、本開示のIPCMイントラコーディングモードデブロッキング技法を実装するためにIPCMブロックに関するゼロでないQP値を割り当てるために使用される典型的なQP継承技法を例示する。ここで説明されるQP継承技法は、
図5を参照して上述されるdQP法と多少同様に動作することができる。
開示される技法により、pcm_loop_filter_disable_flagが偽、すなちわ、“0”に等しいときには、ループフィルタリングプロセスがイネーブルにされ、現在のIPCMブロックに適用されるべきである。デブロッキングフィルタを適用するために、開示される技法は、予測されるQP値に基づいてゼロでないQP値をIPCMブロックに割り当てることを含む。例えば、映像復号器30は、IPCMブロックに関する割り当てられたゼロでないQP値に基づいて現在のIPCMブロックのサンプルにデブロッキングフィルタを適用することができる。
一例として、映像復号器30は、既知の予測されるQP値に基づいてゼロでないQP値をIPCMブロックに暗黙に割り当てることができる。予測されるQP値は、IPCMブロックを含む量子化グループに関する、又はIPCMブロックの近くに位置する映像データの近隣ブロックに関するQP値であることができる。
図7Bの例では、現在のIPCMブロック716が最小のCU量子化グループサイズ(例えば、
図7Bにも示されている量子化グループ720のサイズ)以上のサイズを有するときには、映像復号器30は、
図7Bにおいて矢印によって示されるように、IPCMブロック716に関する割り当てられたゼロでないQP値(“QP
1”)を近隣ブロック714からの予測されるQP値(“QP
0”)に設定することができる。換言すると、IPCMブロック、又はCU
1 716は、近隣ブロック、又はCU
0 714からIPCMブロック、又はCU
I 716としてQP
0を“継承する”ことができる。
図7Bにおいて例示されるように、近隣ブロック714は、IPCMブロック716の左側に位置する映像データのブロックであることができる。同じく示されるように、近隣ブロック714は、前述されるように、QP
0を有するCU(“CU
0”)であることができ、CBFは真、すなちわ“1”に等しく、近隣ブロック714がゼロでない係数を含むことを示す。他の例では、近隣ブロック714は、コーディング順でIPCMブロック716に最も近い前のブロックであることができる。さらに他の例では、映像データの複数の近隣ブロック、例えば、IPCMブロック716の左側のブロック(例えば、近隣ブロック714、又は他のブロック)及び最上部(示されていない)のブロック、に基づいて計算し、IPCMブロック716に関するゼロでないQP値を割り当てるための予測されるQP値として使用することができる。
【0109】
同じく
図7Bに示される例では、代替として、現在のIPCMブロック726が最小のCU量子化グループサイズ(例えば、再び、量子化グループ720のサイズ)よりも小さいサイズを有するときには、映像復号器30は、IPCMブロック726に関する割り当てられたゼロでないQP値(“QP
5”)を、IPCMブロック726を含む量子化グループ720に関するQP値(“QP
QG”)に設定することができる。
図7Bにおいて例示されるように、量子化グループは、各々が最小のCU量子化グループサイズよりも小さく、及びすべてが同じQP値を有する(すなわち、QP
3=QP
4=QP
5=QP
6=QP
QG)4つのブロック、すなわち、ブロック722、724、726、及び728、又はCUs
3−6を含む。換言すると、IPCMブロック、又はCU
5726は、ブロック722、724、726、及び728、又はCUs
3−6を含む量子化グループからIPCMブロック、又はCU
5726のQP
5としてQP
QGを“継承する”ことができる。前述されるように、その他の例では、CUs
3−6の部分組のみが共通のQP
QGを共有することができる。これらの例では、CU
5726は、IPCMブロック又はCU
5726のQP
5として、量子化グループ720の部分組(すなわち、ブロック722、724、726、又は728、又はCUs
3−6の一部のみ)からこのQP
QGを継承することができる。
【0110】
他の例として、映像符号器20は、予測されるQP値に基づいてゼロでないQP値をIPCMブロックに割り当て、映像復号器30に対してQP値を明示でシグナリングすることができる。映像符号器20は、例えば、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表すIPCMブロックに関するdQP値をシグナリングすることができる。この例では、映像復号器30は、IPCMブロックに関する受信されたdQP値に基づいてゼロでないQP値をIPCMブロックに割り当てることができる。この方法により、映像符号器20は、IPCMブロックのサンプルを符号化するために使用された正確なQP値をシグナリングすることができる。例えば、ここにおいて説明される技法により、映像符号器20は、表2に示されるように、IPCMブロックに関するPU構文のIPCMサンプルを有するIPCMブロックに関するdQP値を示すために構文要素“cu_qp_delta”をシグナリングすることができる。表3は、WD6に基づくIPCMバーストモード動作の事例を示し、複数のcu_qp_delta値が、各IPCMブロックに関して1つずつ、連続してシグナリングされる。
【表2】
【表3】
【0111】
表2において例示されるPU構文により、映像データの現在のブロックがIPCMブロックとして示される場合は(すなわち、“pcm_flag=真”)、映像復号器30は、IPCMブロックに関してdQP値がシグナリングされているかどうかを決定することができる。この例では。ループフィルタプロセスがイネーブルにされ(すなわち、“pcm_loop_filter_disable_flag=0”)、dQP法がイネーブルにされ(すなわち、“cu_qp_delta_enabled_flag=1”)、及びdQP値がブロックに関してコーディングされる場合は(すなわち、“IsCuQPDeltaCoded flag=0”)、映像復号器30は、IPCMブロックに関するdQP値を示すための構文要素cu_qp_deltaを受信することができる。
【0112】
上記の第1の例で、IPCMブロック716が最小のCU量子化グループサイズ以上のサイズを有するときには、映像符号器20は、“0”に等しいIPCMブロック716に関するdQP値をシグナリングすることができる。この方法により、映像復号器30は、 “0”のシグナリングされたdQP値を近隣ブロック714からの予測されるQP値(“QP
0”)に加えることによってIPCMブロック716に関するQP値(“QP
1”)を決定することができる(すなわち、“QP
1=QP
0”)。他の例では、映像符号器20は、“0”と異なるIPCMブロック716に関するdQP値をシグナリングすることができ、映像復号器30は、シグナリングされたdQP値を近隣ブロック714からの予測されるQP値(“QP
0”)に加えることによってIPCMブロック716に関するQP値(“QP
1”)を決定することができる(すなわち、“QP
1=QP
0+dQP”)。
【0113】
上述される第2の例において、IPCMブロック726が最小のCU量子化グループサイズよりも小さいサイズを有するときには、映像符号器20は、IPCMブロック726を含む量子化グループ720に関するdQP値に等しいIPCMブロック726に関するdQP値をシグナリングすることができる。この方法により、映像復号器30は、シグナリングされたdQP値を近隣ブロック718からの予測されるQP値(“QP
2”)に加えることによってIPCMブロック726に関するQP値(“QP
5”)を決定することができる(すなわち、“QP
5=QP
2+dQP”)。IPCMブロック726に関するdQP値は、量子化グループ720内の全ブロックに関するdQP値と同じであるため、映像復号器30は、QP値が量子化グループに関するQP値と等しくなるようにIPCMブロック726に関するQP値(“QP
5”)を決定することができる(すなわち、QP
3=QP
4=QP
5=QP
6=QP
QG)。
幾つかの事例では、映像符号器20は、量子化グループ(例えば、量子化グループ720)内のブロックのうちの1つ(例えば、ブロック722、724、726、728のうちの1つ)に関するdQP値のみをシグナリングすることができる。シグナリングされたdQP値は、IPCMブロックではなく及び少なくとも1つのゼロでない係数を含むブロックに関する第1のコーディングされたdQP値であることができる(すなわち、“CBF=1”)。一例として、量子化グループ内のブロックに関する第1のコーディングされたdQP値のみが映像復号器30にシグナリングされるようにするために構文要素、又はフラグ“IsCuQPDeltaCoded”をPU構文に含めることができる。次に、映像復号器30は、同じ量子化グループ内のその他のブロックに関するdQP値を第1のコーディングされたdQP値に設定することができる。
【0114】
上述されるように、HEVCの幾つかのドラフトバージョン(例えば、WD6)は、ループフィルタプロセスがIPCMブロックに関してイネーブルにされるかどうかを示すためのSPS内でのpcm_loop_filter_disable_flagのシグナリングをサポートする。幾つかの事例では、ループフィルタプロセスがIPCMブロックに関してイネーブルにされているかどうかをより細かい粒度(granularity)で示すのが望ましいことがある。従って、本開示の技法は、PPS、APS、スライスヘッダ、CU構文、及びPU構文のうちのいずれかにおいてpcm_loop_filter_disable_flagをシグナリングするのをさらにサポートする。
【0115】
一例において、映像符号器20は、現在のIPCMブロックがオリジナルのサンプルを含むか又は再構築されたサンプルを含むかに基づいて、ループフィルタプロセス、例えば、デブロッキングフィルタリング、ALF及びSAO、を適用すべきかどうかを決定することができる。上述されるように、オリジナルのサンプルは歪みがなく、インループフィルタリングを要求せず、他方、再構築されたサンプルは、ある程度の歪みを含むことがあり、インループフィルタリングの利益を受けることができる。その他の例では、映像符号器20は、その他の考慮事項に基づいてループフィルタプロセスをIPCMブロックに適用することを決定することができる。ここにおいて説明される技法により、映像符号器20は、以下の表4において例示されるように、PU構文でpcm_loop_filter_disable_flagをシグナリングすることができる。特に、表4は、ループフィルタ処理をシグナリングするときの最高粒度を示す。
【表4】
【0116】
他の例として、上述されるように、HEVCの幾つかのドラフトバージョン(例えば、WD6)は、CU、又は映像データのブロックに関するロスレスコーディングモードもサポートする。幾つかの例では、SPSでシグナリングされ及び“1”に等しいqpprime_y_zero_transquant_bypass_flagは、パラメータ“QP’
Y”(例えば、QP’
Y=QP
Y+QpBdOffset
Yで、QpBdOffset
Y=6
*bit_depth_luma_minus8)が“0”に等しい場合は、ロスレスコーディングプロセスを適用するものとすると規定することができる。前述されるように、ロスレスコーディングでは、スケーリング及び変換プロセス及びインループフィルタプロセスは迂回される。ロスレスコーディングモードは、上述されるように、オリジナルのサンプルを含むIPCMブロックの事例に類似し、相違点は、ロスレスコーディングに関する予測法はIPCMブロックには適用されないことである。上述されるように、QP又はcu_qp_delta値がIPCMブロックに関してシグナリングされる場合は、ロスレスコーディングモードの場合と同じように、その結果得られるQP’
Y値は“0”に等しいことができる。QP’
Y値がIPCMブロックに関して“0”に等しい場合は、ロスレスコーディングモードの場合と同じように、IPCMサンプルに関してもループフィルタ(例えば、デブロッキング、SAO、ALF)をディスエーブルにすることができる。これは、真、すなわち“1”に等しいpcm_loop_filter_disable_flagをシグナリングすることと同等である。従って、ループフィルタの挙動を制御するためにIPCMブロックのQP値が使用され場合は、pcm_loop_filter_disable_flagのシグナリングは省略することができる。すなわち、“0”に等しいQP’
Yは、pcm_loop_filter_disable_flagが真、すなわち、“1”に等しいことと同等であり、“0”より大きいQP’
Yは、偽、すなわち、 “0”に等しいpcm_loop_filter_disable_flagと同等である。デブロッキングフィルタは、ブロックのQP値の平均又は最大値を計算することができ、少なくとも1つのブロックがロスレスでコーディングされるか又はIPCMブロックである。
【0117】
図8A−8Bは、本開示の技法と一致する、ロスレスコーディングモードデブロッキングの例を示した概念図である。
図8Aに示されるように、複数のCU(又は映像データのブロック)800内に含まれた状態で、ロスレスでコーディングされる“現在の”CU812(すなわち、“QP’
Y=0”)は、ロスレスでコーディングされないCU804乃至810によって囲むことができる(すなわち、それらの各々に関して、“QP’
Y>0”)。
図1を参照して上述されるように、該事例では、
図8Aにおいて例示されるように、デブロッキングフィルタは、(例えば、CU812に関して“QP’
Y=0”であるため)現在のCU812の左エッジ及び最上部のエッジの処理を飛ばすことができ、他方、(CU806及び808がコーディングされるときに、各々のCUに関するデブロッキングフィルタリングを行うことによって)現在のCU812の右エッジ及び最下部のエッジに関するデブロッキングフィルタリングを行うことができる。既述されるように、上述されるアプローチ法に関する1つの潜在的な問題は、
図8Aにおいてこれらのエッジの周囲のロスレスCU812の“破線”の部分によって示されるように、右エッジ及び最下部のエッジに沿って現在のCU812のロスレスサンプルを修正することがある点である。
【0118】
同じく
図1を参照して上述されるように、本開示の技法は、ロスレスでコーディングされたCUに関するデブロッキングフィルタリングをディスエーブルにすることを含むことができ、従って、CUは、CUのいずれのエッジに沿ってもデブロッキングフィルタリングされず、他方、隣接する“ロッシー”コーディングされたCUをデブロッキングフィルタリングするのを可能にすることができる。例えば、
図8Bにおいて例示されるように、他の複数のCU(又は映像データのブロック)802内に含まれており、ロスレスでコーディングされる他の“現在の”CU822(すなわち、“QP’
Y>0”)は、ロスレスでコーディングされないCU814乃至820によって囲むことができる(すなわち、それらの各々に関して、“QP’
Y>0”)。該事例では、
図8Bにおいてされるように、デブロッキングフィルタは、現在のCU822の左、最上部、右、及び最下部のエッジの各々の処理を飛ばすことができ、他方、CU814乃至820の対応するエッジのデブロッキングフィルタリングを可能にすることができる。さらに、同じく
図1を参照して上述されるように、開示される技法は、CU814乃至820の対応するエッジのデブロッキングフィルタリングを行うことを目的としてゼロでないQP値をCU822に割り当てることをさらに含むことができる。
図9−11は、本開示の技法と一致する、IPCM及びロスレスコーディングモードデブロッキングの方法例を示したフローチャートである。
図9−11の技法は、概して、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせのいずれに実装されるかにかかわらず、あらゆる処理ユニット又はプロセッサによって実施することができ、ソフトウェア又はファームウェアに実装されるときには、そのソフトウェア又はファームウェアのための命令を実行するための対応するハードウェアを提供することができる。例を目的として、
図9−11の技法は、映像符号器20(
図1及び2)及び/又は映像復号器30(
図1及び3)に関して説明されるが、その他のデバイスを、同様の技法を実施するように構成できることが理解されるべきである。さらに、
図9−11において例示されるステップは、異なる順序で又は並行して実施することができ、及び、本開示の技法を逸脱することなしに追加のステップを加えること及び幾つかのステップを省略することができる。
【0119】
具体的には、
図9は、コーディング一般(すなわち、符号化及び/又は復号)の観点でのIPCMコーディングモード及びロスレスコーディングモードデブロッキング、又は“デブロッキングフィルタリング”の方法例を示す。さらに、
図10及び11は、復号及び符号化のそれぞれの観点でのIPCMコーディングモード及びロスレスコーディングモードデブロッキングの方法例を示す。
【0120】
一例として、映像符号器20及び/又は映像復号器30は、前述されるように、映像コーディングプロセス中に映像データの1つ以上のブロックをコーディング(すなわち、符号化及び/又は復号)することができる。例えば、同じく前述されるように、1つ以上のブロックは、1つ以上のPU、TU、又はCUであることができる。この例では、最初に、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックをコーディングすることができ、映像データの複数のブロックのうちの少なくとも1つのブロックは、IPCMコーディングモード及びロスレスコーディングモードのうちの1つであるコーディングモードを用いてコーディングされる(900)。前述されるように、IPCMコーディングブロックを用いてコーディングされた少なくとも1つのブロックは、再構築された映像データのブロックに対応することができる。例えば、再構築された映像データのブロックは、例えば、オリジナルの映像データのブロックを用いて
図1及び2を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって、例えば、映像符号器20によって生成することができる。オリジナルの映像データのブロックを用いて上述されるステップを実施することによって、映像符号器20は、変換及び量子化された残差係数のブロックを生成することができる。次に、映像符号器20は、同じく上述されるように、再構築された映像データのブロックを生成するために、変換及び量子化された残差係数のブロックを用いて逆量子化、逆変換、予測、及び加算を行うことができる。代替として、同じく前述されるように、ロスレスコーディングモードを用いてコーディングされた少なくとも1つのブロックは、残差の(例えば、予測を用いて生成された)量子化されていない映像データ、すなわち、オリジナルの映像データのブロックに対応することができる。
映像符号器20及び/又は映像復号器30は、コーディングモードを用いてコーディングされた少なくとも1つのブロックに関してゼロでないQP値をさらに割り当てることができる(902)。例えば、以下においてさらに詳細に説明されるように、映像符号器20及び/又は映像復号器30は、様々な方法のうちのいずれかを用いて少なくとも1つのブロックに関するゼロでないQP値を割り当てることができる。該方法は、(1)(例えば、割り当てられたゼロでないQP値を直接示す)少なくとも1つのブロックに関するシグナリングされたQP値、(2)少なくとも1つのブロックに関する予測されるQP値(例えば、少なくとも1つのブロックの1つ以上の近隣ブロックの各々のQP値)、及び(3)(例えば、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表す)少なくとも1つのブロックに関するシグナリングされたdQP値、のうちの1つ以上に基づいて割り当てられたゼロでないQP値を決定することを含むことができる。
映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングをさらに行うことができる(904)。例えば、同じく以下においてさらに詳細に説明されるように、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック自体、又は少なくとも1つのブロックに隣接して位置する映像データの複数のブロックのうちの1つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、1つ以上の隣接ブロックは、ロッシーコーディングモードを用いてコーディングすることができる。
特に、幾つかの例では、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、次のステップを実施することができる。一例として、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、映像符号器20及び/又は映像復号器30は、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロックに関するデブロッキングフィルタリングを行うことができる。以下においてさらに詳細に説明されるように、映像符号器20及び/又は映像復号器30は、割り当てられたゼロでないQP値に基づいて映像データの複数のブロックの1つ以上のその他のブロックに関するデブロッキングフィルタリングを行うこともできる。他の例として、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック自体に関してデブロッキングフィルタリングを行うことを回避する一方で、割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、1つ以上の隣接ブロックの各々は、少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。例えば、1つ以上の隣接ブロックの各々は、オリジナルの映像データのブロックを用いて
図1及び2を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって生成された量子化及び変換された残差係数のブロックであることができる。
上述される例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングのためのフィルタを選択することができる。例えば、映像符号器20及び/又は映像復号器30は、割り当てられたゼロでないQP値に基づいてフィルタを選択するように構成することができ、従って、フィルタは、フィルタを用いてデブロッキングフィルタリングが行われる方法を定義する1つ以上のフィルタリングパラメータ又はプロパティを含む。その他の例では、割り当てられたゼロでないQP値に基づいて少なくとも1つのブロック及び隣接ブロックの各々に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、デブロッキング決定を参照して上述されるように、割り当てられたゼロでないQP値に基づいてデブロッキングフィルタリングに関するフィルタ強度を決定するように構成することができる。
【0121】
一例として、少なくとも1つのブロックがIPCMコーディングモードを用いてコーディングされる事例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックに関する、及び映像データの複数のブロックの1つ以上の隣接ブロックに関するデブロッキングフィルタリングを行うことができる。この例では、隣接ブロックの各々は、少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングすることができる。例えば、隣接ブロックの各々は、オリジナルの映像データのブロックを用いて
図1及び2を参照して上述される予測、加算、変換、及び量子化ステップを実施することによって生成された量子化及び変換された残差係数のブロックであることができる。
この例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック及び隣接ブロックによって共有される境界のうちの1つ以上に関するデブロッキングフィルタリングを行うことができる。特に、少なくとも1つのブロック及び隣接ブロックのうちの特定の1つによって共有される所定の境界に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックに関する割り当てられたゼロでないQP値及び隣接ブロックに関するQP値の平均を用いてフィルタ強度を決定することができる。従って、本開示の技法により、映像符号器20及び/又は映像復号器30は、前述される少なくとも1つのブロックに関するデフォルトの “ゼロ値の”QP値ではなく、割り当てられたゼロでないQP値を少なくとも部分的に用いてフィルタ強度を決定するように構成することができる。引き続き、映像符号器20及び/又は映像復号器30は、決定されたフィルタ強度に基づいて境界に関するデブロッキングフィルタリングを行うことができる。この例では、境界に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック及び隣接ブロックの両方の内部境界エッジをフィルタリングすることができる(例えば、2つのブロックによって共有される境界に近接して位置する各ブロック内の1つ以上の係数)。この方法により、少なくとも1つのブロックに関するゼロでないQP値を割り当て、及び、割り当てられたゼロでないQP値に少なくとも部分的に基づいてデブロッキングフィルタリングを行うために使用されるフィルタ強度を決定することは、幾つかの事例では、その他の技法と比較して、少なくとも1つのブロック及び隣接ブロックの視覚品質を向上させることができる。
【0122】
他の例として、前述されるように、少なくとも1つのブロックがロスレスコーディングモードを用いてコーディングされる事例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック自体に関するデブロッキングフィルタリングを行うことを回避する一方で、映像データの複数のブロックのうちの1つ以上の隣接ブロックに関してデブロッキングフィルタリングを行うことができる。上述されるのと同様の方法で、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロック及び隣接ブロックによって共有される境界のうちの1つ以上に関するデブロッキングフィルタリングを行うことができる。例えば、少なくとも1つのブロック及び隣接ブロックのうちの特定の1つによって共有される所定の境界に関してデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックに関する割り当てられたゼロでないQP値及び隣接ブロックに関するQP値の平均を用いてフィルタ強度を再度決定することができる。本開示の技法により、映像符号器20及び/又は映像復号器30は、割り当てられたゼロでないQP値を少なくとも部分的に用いてフィルタ強度を再度決定することができる。引き続き、映像符号器20及び/又は映像復号器30は、決定されたフィルタ強度に基づいて境界に関するデブロッキングフィルタリングを行うことができる。
しかしながら、IPCMコーディングモードを用いて少なくとも1つのブロックがコーディングされる上記の例とは対照的に、この例では、境界に関するデブロッキングフィルタリングを行うために、映像符号器20及び/又は映像復号器30は、隣接ブロックのみの内部境界エッジをフィルタリングすることができる(例えば、2つのブロックによって共有される境界に近接して位置する各ブロック内の1つ以上の係数)。換言すると、この例では、少なくとも1つのブロック自体の内部境界エッジは、デブロッキングフィルタリングによる影響を受けない状態になる。この方法により、少なくとも1つのブロックに関するゼロでないQP値を割り当て、及び、割り当てられたゼロでないQP値に少なくとも部分的に基づいてデブロッキングフィルタリングを行うためのフィルタ係数を決定することは、幾つかの事例では、その他の技法と比較して、隣接ブロックの視覚品質を向上させることができる。
【0123】
幾つかの例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行う前に、映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングをイネーブルにすることがさらにできる。一例として、映像符号器20は、例えば、映像復号器30によって受信されるか、又は記憶デバイス24内に格納されるビットストリームで1つ以上の構文要素(例えば、1ビットのコード、又は“フラグ”)をシグナリングすることができる。他の例として、映像復号器30は、例えば、映像符号器20又は記憶デバイス24によってシグナリングされた1つ以上の構文要素をビットストリームで受信することができる。これらの例のいずれにおいても、1つ以上の構文要素は、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示すことができる。
【0124】
その他の例において、特にコーディングモードがロスレスコーディングモードである事例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることができる。これらの例では、デブロッキングフィルタリングをディスエーブルにするために、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックの内部の境界エッジに関するデブロッキングフィルタリングを行うことを回避することができる。例えば、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す1つ以上の構文要素を参照して上述されるのと同様の方法で、映像符号器20は、1つ以上の構文要素(例えば、1ビットのコード、又はフラグ)をビットストリームでシグナリングすることができ及び/又は映像復号器30は受信することができる。しかしながら、この例では、1つ以上の構文要素は、少なくとも1つのブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示すことができる。
【0125】
幾つかの例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20及び/又は映像復号器30は、次のうちの1つ以上に基づいて割り当てられたゼロでないQP値を決定することができる。すなわち、(1)少なくとも1つのブロックに関するシグナリングされたQP値であり、シグナリングされたQP値は、割り当てられたゼロでないQP値を示す、(2)少なくとも1つのブロックに関する予測されるQP値、及び(3)少なくとも1つのブロックに関するシグナリングされたdQP値であり、dQP値は、割り当てられたゼロでないQP値と予測されるQP値との間の差分を表す。
【0126】
一例として、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20及び/又は映像復号器30は、次のステップを実施することができる。一例として、少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックを含む量子化グループに関するグループQP値、例えば、少なくとも1つのグループQP値を、割り当てられたゼロでないQP値として設定することができる。この例では、量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックを含むこともできる。
【0127】
上述されるように、幾つかの例では、量子化グループ内に含まれる映像データのブロックの各々は、同じグループQP値を有することができる。これらの例では、映像符号器20及び/又は映像復号器30は、この共通のグループQP値を割り当てられたゼロでないQP値として設定することができる。しかしながら、その他の例では、量子化グループの一部のブロック(例えば、QP値が例えばdQP値としてシグナリングされる量子化グループの最初のブロックから始まるブロック)のみが同じグループQP値を有することができる。これらの例では、映像符号器20及び/又は映像復号器30は、量子化グループのブロックの部分組のみに共通するこの特定のグループQP値を割り当てられたゼロでないQP値として設定することができる。この方法により、少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を、割り当てられたゼロでないQP値として設定することができる。
他の例として、少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズ以上であるときには、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を割り当てられたゼロでないQP値として設定することができる。この例では、近隣ブロックは、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。
他の例として、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがIPCMコーディングモードである事例では、少なくとも1つのブロックに関してゼロでないQP値を割り当てるために、映像符号器20及び/又は映像復号器30は、次のステップを実施することができる。例えば、少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックのうちの1つの近隣ブロックに関するQP値を、割り当てられたゼロでないQP値として設定することができる。この例では、近隣ブロックは、再度、少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上であることができる。
その他の例において、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、少なくとも1つのブロックに関するゼロでないQP値を割り当てるために、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックのうちの1つのロッシーブロックに関するQP値及びdQP値のうちの1つを割り当てられたゼロでないQP値として設定することができる。この例では、dQP値は、ロッシーブロックに関するQP値と予測されるQP値との間の差分を表すことができる。同じくこの例において、ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックであることができる。
【0128】
さらに他の例において、少なくとも1つのブロックをコーディングするために使用されるコーディングモードがロスレスコーディングモードである事例では、上述される技法を用いて割り当てられたゼロでないQP値を決定する代わりに、少なくとも1つのブロックに関するゼロでないQP値を割り当てるために、映像符号器20及び/又は映像復号器30は、一定の値を割り当てられたゼロでないQP値として設定することができる。
【0129】
この方法により、幾つかの例では、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックをコーディングし、少なくとも1つのブロックに関してゼロでないQP値を割り当て、及び、少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて、少なくとも1つのブロック以外の映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことができ、映像データの複数のブロックのうちの少なくとも1つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされる。
【0130】
代替として、その他の例では、映像符号器20及び/又は映像復号器30は、映像データの複数のブロックをコーディングし、少なくとも1つのブロックに関してゼロでないQP値を割り当て、及び、少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて、少なくとも1つのブロック以外の映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことができ、映像データの複数のブロックのうちの少なくとも1つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされる。これらの例では、映像符号器20及び/又は映像復号器30は、少なくとも1つのブロックに関するデブロッキングフィルタリングを行うことをさらに回避することができる。
【0131】
他の例として、映像復号器30は、受信されたビットストリームで、映像データの複数のブロックのうちの1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つを受信することができる。この例では、ブロックは、IPCMコーディングモード及びロスレスコーディングモードのうちの1つであるコーディングモードを用いてコーディングすることができる(1000)。同じくこの例において、ロスレスコーディングモードは、前述されるように、予測を使用するロスレスコーディングモードに対応することができる。映像復号器30は、受信されたビットストリームで、割り当てられたゼロでないQP値及びブロックに関するdQP値のうちの1つをさらに受信することができる。例えば、dQP値は、割り当てられたゼロでないQP値とブロックに関する予測されるQP値との間の差分を表すことができる(1002)。
幾つかの例において、特に映像復号器30がdQP値を受信する事例では、映像復号器30は、予測されるQP値を決定し、及び、dQP値及び予測されるQP値に基づいて割り当てられたゼロでないQP値を決定することができる(1006)。映像復号器30は、ブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うこともできる(1008)。
【0132】
上述される例では、映像復号器30は、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す第1の1つ以上の構文要素(例えば、1つ以上の単一ビットのコードであり、“フラグ”と呼ぶことができる)を受信されたビットストリームでさらに受信することができる(1010)。同じくこの例において、映像復号器30は、ブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す第2の1つ以上の構文要素(例えば、同じく1つ以上の“フラグ”)を受信されたビットストリームでさらに受信することができる(1012)。
【0133】
さらに他の例として、映像符号器20は、映像データの複数のブロックのうちの1つのブロックに関する割り当てられたゼロでないQP値を決定することができる。この例では、ブロックは、IPCMコーディングモード及びロスレスコーディングモードのうちの1つであるコーディングモードを用いてコーディングすることができる(1100)。同じくこの例において、ロスレスコーディングモードは、再度、予測を使用するロスレスコーディングモードに対応することができる。映像符号器20は、ブロックをコーディングするために使用されるコーディングモード及び割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングをさらに行うことができる(1102)。映像符号器20は、ブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つをビットストリームでさらにシグナリングすることができる(1104)。幾つかの例では、映像符号器20は、ブロックに関する予測されるQP値を決定することもできる(1106)。
【0134】
映像符号器20は、割り当てられたゼロでないQP値及びブロックに関するdQP値のうちの1つをビットストリームでシグナリングすることもできる。この例では、dQP値は、ステップ(1106)を参照して上述される割り当てられたゼロでないQP値と予測されるQP値(1108)との間の差分を表すことができる(1108)。
【0135】
上述される例において、映像符号器20は、映像データの複数のブロックのうちの1つ以上に関してデブロッキングフィルタリングがイネーブルにされていることを示す第1の1つ以上の構文要素(例えば、1つ以上の“フラグ”)をビットストリームでさらにシグナリングすることができる(1110)。同じくこの例において、映像符号器20は、ブロックに関してデブロッキングフィルタリングがディスエーブルにされていることを示す第2の1つ以上の構文要素(例えば、同じく1つ以上の“フラグ”)をビットストリームでさらにシグナリングすることができる(1112)。
【0136】
この方法により、
図9−11の各々の方法は、映像データの複数のブロックをコーディングすることであって、映像データの複数のブロックのうちの少なくとも1つのブロックは、IPCMコーディングモード及び予測を使用するロスレスコーディングモードのうちの1つであるコーディングモードを用いてコーディングされることと、コーディングモードを用いてコーディングされた少なくとも1つのブロックに関するゼロでないQP値を割り当てることと、少なくとも1つのブロックをコーディングするために使用されるコーディングモード及び少なくとも1つのブロックに関する割り当てられたゼロでないQP値に基づいて映像データの複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことと、を備える映像データコーディング方法の例を表す。
【0137】
1つ以上の例において、ここにおいて説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な又は非一時的な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応することができる。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
【0138】
一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM(登録商標)、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非遷移的な又は非一時的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザーディスク(登録商標)(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、Blu−rayディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
【0139】
命令は、1つ以上のプロセッサ、例えば、1つ以上の汎用マイクロプロセッサ、DSP、ASIC、FPGA、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
【0140】
本開示の技法は、無線ハンドセット、IC又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアコンポーネント、モジュール、又はユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
【0141】
様々な例が説明されている。これらの及びその他の例は、以下の請求項の適用範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも1つのブロックは、イントラパルスコード変調(IPCM)コーディングモード及び予測を使用するロスレスコーディングモードのうちの1つを備えるコーディングモードを用いてコーディングされることと、
前記コーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当てることと、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことと、を備える、映像データをコーディングする方法。
[C2]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行うことは、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記IPCMコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに関する前記デブロッキングフィルタリングを行うことと、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて、映像データの前記複数のブロックのうちの1つの隣接ブロックに関する前記デブロッキングフィルタリングを行うことであって、前記隣接ブロックは、前記少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされることと、を備えるC1記載の方法。
[C3]
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことは、前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択することを備えるC2に記載の方法。
[C4]
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことは、前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することを備えるC2に記載の方法。
[C5]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングをイネーブルにすることをさらに備えるC1に記載の方法。
[C6]
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記方法は、前記少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにすることをさらに備え、前記少なくとも1つのブロックの内部境界エッジに関する前記デブロッキングフィルタリングを行わないことを含むC1に記載の方法。
[C7]
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、次のうちの1つ以上に基づいて前記割り当てられたゼロでないQP値を決定することを備えるC1に記載の方法。
前記少なくとも1つのブロックに関するシグナリングされたQP値であり、前記シグナリングされたQP値は、前記割り当てられたゼロでないQP値を示す、
前記少なくとも1つのブロックに関する予測されるQP値、及び
前記少なくとも1つのブロックに関するシグナリングされたデルタQP値であり、前記デルタQP値は、前記割り当てられたゼロでないQP値と前記予測されるQP値との間の差分を表す。
[C8]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記1つ以上のブロックに関する前記ゼロでないQP値を割り当てることは、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を前記割り当てられたゼロでないQP値として設定することであって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックも含むことと、
前記少なくとも1つのブロックの前記サイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定することであって、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備えることとを備えるC1に記載の方法。
[C9]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定することであって、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備えることを備えるC1に記載の方法。
[C10]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、映像データの前記複数のブロックのうちのロッシーブロックに関するQP値及びデルタQP値のうちの1つを前記割り当てられたゼロでないQP値として設定することを備え、前記デルタQP値は、前記ロッシーブロックに関する前記QP値と予測されるQP値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるC1に記載の方法。
[C11]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、一定の値を前記割り当てられたゼロでないQP値として設定することを備えるC1に記載の方法。
[C12]
コーディングすることは、復号することを備え、
前記少なくとも1つのブロックを復号することは、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つを受信されたビットストリームで受信することを備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、前記割り当てられたゼロでないQP値を前記受信されたビットストリームで受信すること、及び前記少なくとも1つのブロックに関するデルタQP値を前記受信されたビットストリームで受信することのうちの1つと、前記デルタQP値及び前記予測されるQP値に基づいて前記割り当てられたゼロでないQP値を決定することとを備え、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記方法は、1つ以上の構文要素を前記受信されたビットストリームで受信することをさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関してデブロッキングフィルタリングがイネーブルされていることを示すC1に記載の方法。
[C13]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記1つ以上の構文要素は、第1の1つ以上の構文要素を備え、前記方法は、第2の1つ以上の構文要素を前記受信されたビットストリームで受信することをさらに備え、前記第2の1つ以上の構文要素は、前記少なくとも1つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すC12に記載の方法。
[C14]
コーディングすることは、符号化することを備え、
前記少なくとも1つのブロックを符号化することは、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つをビットストリームでシグナリングすることを備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることは、前記割り当てられたゼロでないQP値を前記ビットストリームでシグナリングすること、及び前記少なくとも1つのブロックに関するデルタQP値を前記ビットストリームでシグナリングすることのうちの1つを備え、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記方法は、1つ以上の構文要素を前記ビットストリームでシグナリングすることをさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC1に記載の方法。
[C15]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記1つ以上の構文要素は、第1の1つ以上の構文要素を備え、前記方法は、第2の1つ以上の構文要素を前記ビットストリームでシグナリングすることをさらに備え、前記第2の1つ以上の構文要素は、前記少なくとも1つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すC14に記載の方法。
[C16]
映像データをコーディングするように構成された装置であって、
映像データの複数のブロックをコーディングし、
イントラパルスコード変調(IPCM)コーディングモード及び予測を使用するロスレスコーディングモードのうちの1つを備えるコーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当て、及び
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うように構成された映像コーダを備え、前記映像コーダは、前記コーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも1つのブロックをコーディングするように構成される、装置。
[C17]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記IPCMコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに関する前記デブロッキングフィルタリングを行い、及び、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて、映像データの前記複数のブロックのうちの1つの隣接ブロックに関する前記デブロッキングフィルタリングを行うように構成され、前記隣接ブロックは、前記少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされるC16記載の装置。
[C18]
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うために、前記映像コーダは、
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することのうちの1つ以上を行うように構成されるC17に記載の装置。
[C19]
前記映像コーダは、前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行う前に、映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングをイネーブルにするようにさらに構成されるC16に記載の装置。
[C20]
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関するデブロッキングフィルタリングをディスエーブルにするようにさらに構成され、前記映像コーダは、前記少なくとも1つのブロックの内部境界エッジに関する前記デブロッキングフィルタリングを行わないことを含むC16に記載の装置。
[C21]
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、次のうちの1つ以上に基づいて前記割り当てられたゼロでないQP値を決定するように構成されるC16に記載の装置。
前記少なくとも1つのブロックに関するシグナリングされたQP値であり、前記シグナリングされたQP値は、前記割り当てられたゼロでないQP値を示す、
前記少なくとも1つのブロックに関する予測されるQP値、及び
前記少なくとも1つのブロックに関するシグナリングされたデルタQP値であり、前記デルタQP値は、前記割り当てられたゼロでないQP値と前記予測されるQP値との間の差分を表す。
[C22]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を前記割り当てられたゼロでないQP値として設定し、及び
前記少なくとも1つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定するように構成され、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備えるC16に記載の装置。
[C23]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定するように構成され、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備えるC16に記載の装置。
[C24]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、映像データの前記複数のブロックのうちのロッシーブロックに関するQP値及びデルタQP値のうちの1つを前記割り当てられたゼロでないQP値として設定するように構成され、前記デルタQP値は、前記ロッシーブロックに関する前記QP値と予測されるQP値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるC16に記載の装置。
[C25]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、一定の値を前記割り当てられたゼロでないQP値として設定するように構成されるC16に記載の装置。
[C26]
前記少なくとも1つのブロックを含む映像データの前記の複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも1つのブロックを含む映像データの前記の複数のブロックを復号するように構成され、
前記少なくとも1つのブロックを復号するために、前記映像コーダは、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つを受信されたビットストリームで受信するように構成され、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないQP値を前記受信されたビットストリームで受信すること、及び前記少なくとも1つのブロックに関するデルタQP値を受信することのうちの1つ、及び前記デルタQP値及び前記予測されるQP値に基づいて前記割り当てられたゼロでないQP値を決定することを行うように構成され、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記映像コーダは、1つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC16に記載の装置。
[C27]
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記1つ以上の構文要素は、第1の1つ以上の構文要素を備え、前記映像コーダは、第2の1つ以上の構文要素を前記受信されたビットストリームで受信するようにさらに構成され、前記第2の1つ以上の構文要素は、前記少なくとも1つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すC26に記載の装置。
[C28]
前記少なくとも1つのブロックを含む映像データの前記複数のブロックをコーディングするために、前記映像コーダは、前記少なくとも1つのブロックを含む映像データの前記複数のブロックを符号化するように構成され、
前記少なくとも1つのブロックを符号化するために、前記映像コーダは、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つをビットストリームでシグナリングするように構成され、及び
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるために、前記映像コーダは、前記割り当てられたゼロでないQP値を前記ビットストリームでシグナリングすること、及び前記少なくとも1つのブロックに関するデルタQP値を前記ビットストリームでシグナリングすることのうちの1つを行うように構成され、前記デルタQP値は、前記1つ以上のブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記映像コーダは、1つ以上の構文要素を前記ビットストリームでシグナリングするようにさらに構成され、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC16に記載の装置。
[C29]
前記コーディングモードは、前記ロスレスコーディングモードを備え、前記1つ以上の構文要素は、第1の1つ以上の構文要素を備え、前記映像コーダは、第2の1つ以上の構文要素を前記ビットストリームでシグナリングするようにさらに構成され、前記第2の1つ以上の構文要素は、前記少なくとも1つのブロックに関して前記デブロッキングフィルタリングがディスエーブルにされていることを示すC28に記載の装置。
[C30]
前記装置は、
集積回路、
マイクロプロセッサ、及び
前記映像コーダを含む無線通信デバイスのうちの少なくとも1つを備えるC16に記載の装置。
[C31]
映像データをコーディングするように構成されたデバイスであって、
映像データの複数のブロックをコーディングするための手段であって、イントラパルスコード変調(IPCM)コーディングモード及び予測を使用するロスレスコーディングモードのうちの1つを備えるコーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも1つのブロックをコーディングするための手段を含む手段と、
前記コーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当てるための手段と、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うための手段と、を備える、デバイス。
[C32]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関するデブロッキングフィルタリングを行うための前記手段は、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記IPCMコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに関する前記デブロッキングフィルタリングを行うための手段と、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて、映像データの前記複数のブロックのうちの1つの隣接ブロックに関する前記デブロッキングフィルタリングを行うための手段であって、前記隣接ブロックは、前記少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされる手段と、を備えるC31記載のデバイス。
[C33]
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うため前記手段は、
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択するための手段、及び
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定するための手段のうちの1つ以上を備えるC32に記載のデバイス。
[C34]
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、次のうちの1つ以上に基づいて前記割り当てられたゼロでないQP値を決定するための手段を備えるC31に記載のデバイス。
前記少なくとも1つのブロックに関するシグナリングされたQP値であり、前記シグナリングされたQP値は、前記割り当てられたゼロでないQP値を示す、
前記少なくとも1つのブロックに関する予測されるQP値、及び
前記少なくとも1つのブロックに関するシグナリングされたデルタQP値であり、前記デルタQP値は、前記割り当てられたゼロでないQP値と前記予測されるQP値との間の差分を表す。
[C35]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を前記割り当てられたゼロでないQP値として設定するための手段であって、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックも含む手段と、
前記少なくとも1つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定するための手段であって、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備える手段とを備えるC31に記載のデバイス。
[C36]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定するための手段であって、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備える手段を備えるC31に記載のデバイス。
[C37]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、映像データの前記複数のブロックのうちのロッシーブロックに関するQP値及びデルタQP値のうちの1つを前記割り当てられたゼロでないQP値として設定するための手段を備え、前記デルタQP値は、前記ロッシーブロックに関する前記QP値と予測されるQP値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるC31に記載のデバイス。
[C38]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、一定の値を前記割り当てられたゼロでないQP値として設定するための手段を備えるC31に記載のデバイス。
[C39]
コーディングすることは、復号することを備え、前記少なくとも1つのブロックを復号するための前記手段は、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つを受信されたビットストリームで受信するための手段を備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、前記割り当てられたゼロでないQP値を前記受信されたビットストリームで受信するための手段、及び前記少なくとも1つのブロックに関するデルタQP値を受信するための手段のうちの1つを備え、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、前記デルタQP値及び前記予測されるQP値に基づいて前記割り当てられたゼロでないQP値を決定することを備え、
前記デバイスは、1つ以上の構文要素を前記受信されたビットストリームで受信するための手段をさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC31に記載のデバイス。
[C40]
コーディングすることは、符号化することを備え、
前記少なくとも1つのブロックを符号化するための前記手段は、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つをビットストリームでシグナリングするための手段を備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てるための前記手段は、前記割り当てられたゼロでないQP値を前記ビットストリームでシグナリングするための手段、及び前記少なくとも1つのブロックに関するデルタQP値を前記ビットストリームでシグナリングするための手段のうちの1つを備え、前記デルタQP値は、前記1つ以上のブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記デバイスは、1つ以上の構文要素を前記ビットストリームでシグナリングするための手段をさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC31に記載のデバイス。
[C41]
実行されたときに、映像データをコーディングすることを1つ以上のプロセッサに行わせる命令を格納するコンピュータによって読み取り可能な記憶媒体であって、前記命令は、
映像データの複数のブロックをコーディングし、
イントラパルスコード変調(IPCM)コーディングモード及び予測を使用するロスレスコーディングモードのうちの1つを備えるコーディングモードを用いてコーディングされた前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当て、及び
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせ、前記コーディングモードを用いて映像データの前記複数のブロックのうちの少なくとも1つのブロックをコーディングすることを含む、コンピュータによって読み取り可能な記憶媒体。
[C42]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモード及び前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの前記1つ以上に関する前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる前記命令は、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記IPCMコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロックに関する前記デブロッキングフィルタリングを行い、及び、
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードが前記ロスレスコーディングモードを備える場合は、前記割り当てられたゼロでないQP値に基づいて、映像データの前記複数のブロックのうちの1つの隣接ブロックに関する前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる命令を備え、前記隣接ブロックは、前記少なくとも1つのブロックに隣接して位置し、ロッシーコーディングモードを用いてコーディングされる、C41に記載のコンピュータによって読み取り可能な記憶媒体。
[C43]
前記割り当てられたゼロでないQP値に基づいて前記少なくとも1つのブロック及び前記隣接ブロックの各々に関する前記デブロッキングフィルタリングを行うことを前記1つ以上のプロセッサに行わせる命令は、
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングのためのフィルタを選択すること、及び
前記割り当てられたゼロでないQP値に基づいて前記デブロッキングフィルタリングに関するフィルタ強度を決定することのうちの1つ以上を行うことを前記1つ以上のプロセッサに行わせる命令を備えるC42に記載のコンピュータによって読み取り可能な記憶媒体。
[C44]
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、次のうちの1つ以上に基づいて前記割り当てられたゼロでないQP値を決定することを前記1つ以上のプロセッサに行わせる命令を備えるC41に記載のコンピュータによって読み取り可能な記憶媒体。
前記少なくとも1つのブロックに関するシグナリングされたQP値であり、前記シグナリングされたQP値は、前記割り当てられたゼロでないQP値を示す、
前記少なくとも1つのブロックに関する予測されるQP値、及び
前記少なくとも1つのブロックに関するシグナリングされたデルタQP値であり、前記デルタQP値は、前記割り当てられたゼロでないQP値と前記予測されるQP値との間の差分を表す。
[C45]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、前記少なくとも1つのブロックを含む量子化グループに関する少なくとも1つのグループQP値を前記割り当てられたゼロでないQP値として設定し、及び
前記少なくとも1つのブロックのサイズが前記最小のコーディングユニット量子化グループサイズ以上であるときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定することを前記1つ以上のプロセッサに行わせる命令を備え、前記量子化グループは、ロッシーコーディングモードを用いてコーディングされた映像データの1つ以上のブロックも含み、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備える、C41に記載のコンピュータによって読み取り可能な記憶媒体。
[C46]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、IPCMコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、
前記少なくとも1つのブロックのサイズが最小のコーディングユニット量子化グループサイズよりも小さいときには、映像データの前記複数のブロックのうちの1つの近隣ブロックに関するQP値を前記割り当てられたゼロでないQP値として設定することを前記1つ以上のプロセッサに行わせる命令を備え、前記近隣ブロックは、前記少なくとも1つのブロックに隣接して位置するブロック及び前にコーディングされたブロックのうちの1つ以上を備えるC41に記載のコンピュータによって読み取り可能な記憶媒体。
[C47]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、映像データの前記複数のブロックのうちのロッシーブロックに関するQP値及びデルタQP値のうちの1つを前記割り当てられたゼロでないQP値として設定することを前記1つ以上のプロセッサに行わせる命令を備え、前記デルタQP値は、前記ロッシーブロックに関する前記QP値と予測されるQP値との間の差分を表し、前記ロッシーブロックは、ロッシーコーディングモードを用いてコーディングされたブロックを備えるC41に記載のコンピュータによって読み取り可能な記憶媒体。
[C48]
前記少なくとも1つのブロックをコーディングするために使用される前記コーディングモードは、前記ロスレスコーディングモードを備え、前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、一定の値を前記割り当てられたゼロでないQP値として設定することを前記1つ以上のプロセッサに行わせる命令を備えるC41に記載のコンピュータによって読み取り可能な記憶媒体。
[C49]
コーディングすることは、復号することを備え、
前記少なくとも1つのブロックを復号することを前記1つ以上のプロセッサに行わせる前記命令は、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つを受信されたビットストリームで受信することを前記1つ以上のプロセッサに行わせる命令を備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないQP値を前記受信されたビットストリームで受信することを前記1つ以上のプロセッサに行わせる命令、及び前記少なくとも1つのブロックに関するデルタQP値を前記受信されたビットストリームで受信することを前記1つ以上のプロセッサに行わせる命令のうちの1つを備え、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、前記デルタQP値及び前記予測されるQP値に基づいて前記割り当てられたゼロでないQP値を決定することを前記1つ以上のプロセッサに行わせる命令を備え、
前記コンピュータによって読み取り可能な記憶媒体は、1つ以上の構文要素を前記受信されたビットストリームで受信することを前記1つ以上のプロセッサに行わせる命令をさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC41に記載のコンピュータによって読み取り可能な記憶媒体。
[C50]
コーディングすることは、符号化することを備え、
前記少なくとも1つのブロックを符号化することを前記1つ以上のプロセッサに行わせる前記命令は、前記少なくとも1つのブロックの残差の量子化されない映像データ及び再構築された映像データのうちの1つをビットストリームでシグナリングすることを前記1つ以上のプロセッサに行わせる命令を備え、
前記少なくとも1つのブロックに関する前記ゼロでないQP値を割り当てることを前記1つ以上のプロセッサに行わせる前記命令は、前記割り当てられたゼロでないQP値を前記ビットストリームでシグナリングすることを前記1つ以上のプロセッサに行わせる命令、及び前記少なくとも1つのブロックに関するデルタQP値を前記ビットストリームでシグナリングすることを前記1つ以上のプロセッサに行わせる命令のうちの1つを備え、前記デルタQP値は、前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値と予測されるQP値との間の差分を表し、
前記コンピュータによって読み取り可能な記憶媒体は、1つ以上の構文要素を前記ビットストリームでシグナリングすることを前記1つ以上のプロセッサに行わせる命令をさらに備え、前記1つ以上の構文要素は、映像データの前記複数のブロックのうちの前記1つ以上に関して前記デブロッキングフィルタリングがイネーブルにされていることを示すC41に記載のコンピュータによって読み取り可能な記憶媒体。
[C51]
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも1つのブロックは、イントラパルスコード変調(IPCM)コーディングモードを用いてコーディングされることと、
前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当てることと、
前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことと、を備える、映像データをコーディングする方法。
[C52]
映像データをコーディングする方法であって、
映像データの複数のブロックをコーディングすることであって、映像データの前記複数のブロックのうちの少なくとも1つのブロックは、予測を使用するロスレスコーディングモードを用いてコーディングされることと、
前記少なくとも1つのブロックに関するゼロでない量子化パラメータ(QP)値を割り当てることと、
前記少なくとも1つのブロックに関する前記割り当てられたゼロでないQP値に基づいて、前記少なくとも1つのブロック以外の、映像データの前記複数のブロックのうちの1つ以上に関するデブロッキングフィルタリングを行うことと、
前記少なくとも1つのブロックに関するデブロッキングフィルタリングを行うことを回避することと、を備える、映像データをコーディングする方法。