(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-10
(45)【発行日】2025-04-18
(54)【発明の名称】サンプルアダプティブオフセット制御
(51)【国際特許分類】
H04N 19/82 20140101AFI20250411BHJP
H04N 19/59 20140101ALI20250411BHJP
H04N 19/70 20140101ALI20250411BHJP
【FI】
H04N19/82
H04N19/59
H04N19/70
【外国語出願】
(21)【出願番号】P 2024035186
(22)【出願日】2024-03-07
(62)【分割の表示】P 2022133489の分割
【原出願日】2014-05-01
【審査請求日】2024-03-26
(32)【優先日】2014-04-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2014-02-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2013-06-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】トウラピス, アレクサンドロス
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2013-012845(JP,A)
【文献】国際公開第2014/052731(WO,A2)
【文献】国際公開第2012/176910(WO,A1)
【文献】国際公開第2012/142966(WO,A1)
【文献】Kei Kawamura et al.,AHG7: Adaptive colour-space transformation of residual signals,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0193_r1,11th Meeting: Shanghai, CN,2012年10月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオを復号する方法であって、
符号化されたビデオストリームを復号し、第1色空間で再構成された画素データと、サンプルアダプティブオフセット(SAO)フィルタするための第2色空間の指標と、を生成し、
前記第2色空間の前記指標に応じて、前記第1色空間から前記第2色空間へ前記再構成された画素データを変換し、
前記第2色空間で前記再構成された画素データをSAOフィルタし、
前記SAOフィルタされて再構成された画素データを前記第2色空間から前記第1色空間へ変換する
ことを有することを特徴とする方法。
【請求項2】
前記第1色空間で前記SAOフィルタされて再構成された画素データが予測基準として役立てる場合、
前記第1色空間で前記SAOフィルタされて再構成された画素データから前記符号化されたビデオストリームの画素データの一部を予測する
ことをさらに有することを特徴とする請求項1に記載の方法。
【請求項3】
前記SAOフィルタすることは、
画素データを分類し、
前記分類に基づいて前記画素データへオフセットを適用すること、
を含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記第2色空間は、輝度及び彩度要素を含み、
前記方法は、
彩度要素をダウンスケールし、
ここで、前記SAOフィルタすることは、前記ダウンスケールされた彩度要素をSAOフィルタすることを含み、
前記第2色空間から前記SAOフィルタされて再構成された画素データをアップスケールすること、
ここで、前記SAOフィルタされて再構成された画素データを前記第1色空間に変換することは、前記アップスケールされ、かつ、SAOフィルタされて再構成された画素データを変換することを含む、
を含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記第2色空間の前記指標は、前記符号化されたビデオストリームの画像パラメータセット(PPS)レイヤー内のシンタックス要素に含まれる
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記第2色空間は、輝度及び彩度要素を含み、
前記再構成された画素データを前記SAOフィルタすることは、第1の種類のSAOフィルタすることを輝度要素に適用することと、前記第1の種類のSAOフィルタと異なる第2の種類のSAOフィルタすることを彩度要素に適用すること
を含むことを特徴とする請求項1に記載の方法。
【請求項7】
命令を含むコンピュータが読み込み可能な記憶媒体であって、プロセッサにより実行されることで当該プロセッサに、
符号化されたビデオストリームを復号させ、第1色空間で再構成された画素データと、サンプルアダプティブオフセット(SAO)フィルタするための第2色空間の指標と、を生成させ、
前記第2色空間の前記指標に応じて、前記第1色空間から前記第2色空間へ前記再構成された画素データを変換させ、
前記第2色空間で前記再構成された画素データをSAOフィルタさせ、
前記SAOフィルタされて再構成された画素データを前記第2色空間から前記第1色空間へ変換させる
ことを特徴とする媒体。
【請求項8】
前記第1色空間で前記SAOフィルタされて再構成された画素データが予測基準として役立てる場合、
前記命令は、前記プロセッサに、さらに、前記第1色空間で前記SAOフィルタされて再構成された画素データから前記符号化されたビデオストリームの画素データの一部を予測させる
ことを特徴とする請求項7に記載の媒体。
【請求項9】
前記SAOフィルタすることは、
画素データを分類し、
前記分類に基づいて前記画素データへオフセットを適用すること、
を含むことを特徴とする請求項7に記載の媒体。
【請求項10】
前記第2色空間は、輝度及び彩度要素を含み、
前記命令は、前記プロセッサに、さらに、
彩度要素をダウンスケールさせ、
ここで、前記SAOフィルタすることは、前記ダウンスケールされた彩度要素をSAOフィルタすることを含み、
前記第2色空間から前記SAOフィルタされて再構成された画素データをアップスケールさせる、
ここで、前記SAOフィルタされて再構成された画素データを前記第1色空間に変換することは、前記アップスケールされ、かつ、SAOフィルタされて再構成された画素データを変換することを含む、
ことを特徴とする請求項7に記載の媒体。
【請求項11】
前記第2色空間の前記指標は、前記符号化されたビデオストリームの画像パラメータセット(PPS)レイヤー内のシンタックス要素に含まれる
ことを特徴とする請求項7に記載の媒体。
【請求項12】
前記第2色空間は、輝度及び彩度要素を含み、
前記再構成された画素データを前記SAOフィルタすることは、第1の種類のSAOフィルタすることを輝度要素に適用することと、前記第1の種類のSAOフィルタと異なる第2の種類のSAOフィルタすることを彩度要素に適用すること
を含むことを特徴とする請求項7に記載の媒体。
【請求項13】
サンプルアダプティブオフセット(SAO)フィルタを含むビデオデコーダと、
プロセッサと、
命令を含むメモリと、を有し、前記命令は、前記プロセッサにより実行されると、前記プロセッサに、
符号化されたビデオストリームを処理させて、第1色空間内に再構成された画素データと、サンプルアダプティブオフセット(SAO)フィルタするための第2色空間の指標と、を生成させ、
前記第2色空間の前記指標に応じて、前記第1色空間から前記第2色空間へ前記再構成された画素データを変換させ、
前記第2色空間で前記再構成された画素データをSAOフィルタさせ、
前記SAOフィルタされて再構成された画素データを前記第2色空間から前記第1色空間へ変換させる
ことを特徴とするシステム。
【請求項14】
前記第1色空間で前記SAOフィルタされて再構成された画素データが予測基準として役立てる場合、
前記命令は、前記プロセッサに、さらに、前記第1色空間で前記SAOフィルタされて再構成された画素データから前記符号化されたビデオストリームの画素データの一部を予測させる
ことを特徴とする請求項13に記載のシステム。
【請求項15】
前記SAOフィルタすることは、
画素データを分類し、
前記分類に基づいて前記画素データへオフセットを適用すること、
を含むことを特徴とする請求項13に記載のシステム。
【請求項16】
前記第2色空間は、輝度及び彩度要素を含み、
前記命令は、前記プロセッサに、さらに、
彩度要素をダウンスケールさせ、
ここで、前記SAOフィルタすることは、前記ダウンスケールされた彩度要素をSAOフィルタすることを含み、
前記第2色空間から前記SAOフィルタされて再構成された画素データをアップスケールさせる、
ここで、前記SAOフィルタされて再構成された画素データを前記第1色空間に変換することは、前記アップスケールされ、かつ、SAOフィルタされて再構成された画素データを変換することを含む、
ことを特徴とする請求項13に記載のシステム。
【請求項17】
前記第2色空間の前記指標は、前記符号化されたビデオストリームの画像パラメータセット(PPS)レイヤー内のシンタックス要素に含まれる
ことを特徴とする請求項13に記載のシステム。
【請求項18】
前記第2色空間は、輝度及び彩度要素を含み、
前記再構成された画素データを前記SAOフィルタすることは、第1の種類のSAOフィルタすることを輝度要素に適用することと、前記第1の種類のSAOフィルタと異なる第2の種類のSAOフィルタすることを彩度要素に適用すること
を含むことを特徴とする請求項13に記載のシステム。
【請求項19】
ビデオを復号する方法であって、
符号化されたビデオストリームを復号して、第1色空間内に再構成された画素データと、サンプルアダプティブオフセット(SAO)フィルタするための第2色空間の指標と、を生成し、
前記第2色空間の前記指標に応じて、前記第1色空間から前記第2色空間へ前記再構成された画素データを変換し、
前記第2色空間で前記再構成された画素データをSAOフィルタする、
ことを特徴とする方法。
【請求項20】
前記第1色空間で前記SAOフィルタされて再構成された画素データが予測基準として役立てる場合、
前記第1色空間で前記SAOフィルタされて再構成された画素データから前記符号化されたビデオストリームの画素データの一部を予測する
ことをさらに有することを特徴とする請求項19に記載の方法。
【請求項21】
前記第2色空間は、輝度及び彩度要素を含み、
前記再構成された画素データを前記SAOフィルタすることは、第1の種類のSAOフィルタすることを輝度要素に適用することと、前記第1の種類のSAOフィルタと異なる第2の種類のSAOフィルタすることを彩度要素に適用すること
を含むことを特徴とする請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2013年6月19日に出願された米国仮出願第61/836,931号の、米国特許法第119(e)条の利益を主張する、2014年2月5日に出願された米国特許出願第14/173,676号の継続である、2014年4月17日に出願された米国特許出願第14/255,609号に対する優先権を主張しており、その全体が参照により本明細書に組み込まれる。
【0002】
本発明は、映像符号化及び圧縮のために信号振幅を再構成する方法に関する。より具体的には、本発明は、高効率映像符号化(High Efficiency Video Coding:HEVC)規格内等の映像符号化及び処理システムにおけるサンプルアダプティブオフセット(画素適用オフセット: SAO(Sample Adaptive Offset))処理の量子化及び適応動的範囲シグナリングのための方法に関する。
【背景技術】
【0003】
ISO/IEC 23008-2 MPEG-H Part 2及びITU-T H.265として現在公表されているHEVC規格は、MPEG-2、MPEG-4 Part 2、MPEG-4 AVC/H.264、VC1、及びVP8を非限定的に含む従前の映像符号化規格及び技術を超えて映像符号化効率を向上させるように設計された幾つかの新たな映像符号化ツールを導入した。これらのツールのうちの1つがSAOであり、デブロッキングフィルタリング後に典型的に実施されるフィルタリング機構である。処理は例えば、SAO処理された画像を基準として使用し得る後続の画像に影響を及ぼしてもよい、ループ内であり、又は、例えば、エンコーダの外側における、表示若しくは他の後続の処理にのみ影響を及ぼしてもよい、ループ外である。SAOは、再構成された画素をカテゴリにグループ分けし、規定された分類又は区分処理に基づいてオフセットを画素値に適用することにより歪みを低減させる。
【0004】
SAOは、HEVC仕様に規定されるように、エッジオフセットモードとバンドオフセットモードの2つの動作モードをサポートする。エッジオフセットモードでは、所定のサンプルの値は、水平、垂直、又は対角方向に隣接する8つのサンプルのうちの2つと比較され得る。サンプリングされた値の単純な直接比較に基づいて、所定のサンプルは、幾つかのカテゴリのうちの1つに区分され得る。バンドオフセットモードでは、所定のサンプルの振幅は、サンプルを32のバンドのうちの1つに分類するために使用され得る。32のバンドのセットのうちSAOがオフセットパラメータをサポートする4つの連続バンドのうちの1つにサンプルが分類される場合、サンプルに対してオフセットが指定され得る。
【発明の概要】
【0005】
既存のHEVC規格は、区分及びオーバーヘッドに関してSAO方法に関する限定を含む。これに関して、区分処理は、区分のために使用される、ビット深さ、精度、色、及びバンドの数に関して限定される。オフセット値のシグナリングに必要とされるオーバーヘッドを低減するために、既存のHEVC規格は、オフセットが提供され得るバンドの数と、様々な画素カテゴリのそれぞれのための正確なオフセット値を指定するための能力との両方を限定する。例えば、10ビットを超えるビット深さのためのオフセット値の最大値を限定することは、SAO値によりカバーされる動的範囲を増加させる利益をもたらす、より大きなビット深さでのSAO値の正確性を低減させる。しかし、幾つかの事例では、SAO値のより高い精度は、加えられるべきオフセットが小さな範囲内であるとき等に、画質を目的として、大きな動的範囲よりも重要となり得る。したがって、ノイズに対する低い感度を伴ってサンプルを区分可能であり、オフセット値の動的範囲に対する影響及び/又はそれらのオフセットを送信するために必要とされる信号オーバーヘッドを最小化する一方で適用されるオフセットの精度を拡張可能である、SAOに対するより柔軟なアプローチが必要である。
【図面の簡単な説明】
【0006】
【
図1】本発明のある実施形態に係る量子化のための方法を示すフローチャートである。
【
図2】本発明のある実施形態に係る量子化のための別の方法を示すフローチャートである。
【
図3】本発明のある実施形態に係る量子化のための別の方法を示すフローチャートである。
【
図4A】本発明のある実施形態に係る、変換された色空間にサンプルアダプティブオフセットを適用するための方法を示すフローチャートである。
【
図4B】本発明のある実施形態に係る、変換された色空間にサンプルアダプティブオフセットを適用するための方法を示すフローチャートである。
【
図5】本発明のある実施形態に係るオフセット補間のための方法を示すフローチャートである。
【
図6】本発明のある実施形態に係る、非一様に分布した範囲を有するサンプルのためのオフセットを識別するための方法を示すフローチャートである。
【
図7】本発明のある実施形態に係る符号化システムのブロック図である。
【
図8】本発明のある実施形態に係る復号システムのブロック図である。
【
図9】本発明のある実施形態に係る複数端末システムのブロック図である。
【
図10】サンプルアダプティブオフセットの動的範囲及び/又は精度を決定及びシグナリングするための方法を示すフローチャートである。
【発明を実施するための形態】
【0007】
本発明の実施形態は、サンプルのオフセット値に関するノイズの影響を低減及び制御するための技術、及び/又はサンプルのオフセット値のビット深さを適合させるための技術を提供する。このような技術は、サンプルアダプティブオフセット(SAO)処理並びに後処理に適用され得る。
【0008】
一実施形態では、随意的な追加の量子化ステップが分類又は区分処理中に実施され得る。区分処理では、サンプル値は、オフセット値のノイズ感度を低減させるために、比較される前に別個のグループに区分され得る。別の実施形態では、サンプル範囲、オフセットモード、及びオフセット精度のパラメータも、他の実施形態でのオフセットの適用を向上させるために、サンプリングされた映像データと関連するメタデータを用いて計算及び送信され得る。
【0009】
別の実施形態では、映像データは、オフセット値を適用するのにより適した成分を有する第2の色空間に変換され得る。オフセット値が第2の色空間内で適用されると、適用されたオフセットを伴う映像データは、第1の色空間に戻すように変換され得る。再び、この事例では、第2の色空間に関する識別情報が送信されるべき場合、この識別情報を送信するための最小のオーバーヘッドが必要とされ得る。
【0010】
別の実施形態では、限定された信号オーバーヘッドにより明示的なシグナリングが可能ではない特定バンドのためのオフセット値は、代わりに、明示的にシグナリングされたオフセット値から補間され得る。この補間は、非隣接バンドを明示的にシグナリングし、次いで、明示的にシグナリングされた非隣接バンド同士の間にある中間バンドと関連するオフセット値を補間することによって生じ得る。バンドは、幾つかのバンドが様々な幅を有するように及び/又は他のバンドよりも広い値の範囲を含むように、非一様に分割もされ得る。これらの実施形態は、オフセットにより最も影響を受けるイメージの特定の部分に、より正確にオフセット値が適用されることを可能にし得る。
【0011】
[サンプルの量子化及び区分]
SAOは、再構成されたサンプルを各種カテゴリに区分すること、各カテゴリのためのオフセットを取得すること、取得したオフセットをカテゴリの各サンプルに加えることを含み得る。各カテゴリのためのオフセットは、エンコーダで計算され、デコーダにシグナリングされ得る。サンプルの区分は、エンコーダとデコーダの両方で実施され得る。量子化は、コンテンツのノイズをマスキングし、映像コンテンツのエッジに関するより良好なフォーカスを提供し得る。これらの事例では、使用される特定の量子化因子に関する情報が送信されるべきときに、特定の量子化値が送信されることが必要とされるのみである。オーバーヘッドは、複数のサンプルに対して同一の量子化因子を使用することによりさらに低減され得る。サンプル範囲、オフセットモード、及びオフセット精度の追加パラメータも、他の実施形態でのオフセットの適用を向上させるために、サンプリングされた映像データと関連するメタデータを用いて計算及び送信され得る。量子化パラメータは、サンプル同士が離れているかどうかのみならず、どの程度離れているかをチェックすることにより、エッジ区分を支援するように導入され得る。量子化パラメータは、隣接サンプル同士の間の絶対差分が閾値よりも大きいかどうかを判定するために使用もされ得、閾値は、正確であり又は量子化され得る。量子化パラメータは、隣接サンプル同士の間の差分を量子化し、量子化された差分に基づいて区分を実施もし得る。従来のエッジオフセットの決定は、現在のサンプル値がその隣接値と比べてより大きいか/より小さいか/等しいか、という判定基準を使用する直接比較に基づくが、それらは、特により大きなビット深さでは、ノイズにより容易に歪められる。本明細書にて議論する量子化パラメータの技術は、このようなノイズ効果に対する感度を低減させることが期待される。
【0012】
第1の実施形態では、処理されるべき全てのサンプルは、量子化因子を使用して量子化され得る。量子化因子は、所与のサンプル値及びその隣接のサンプル値が除算される除数を含み得る。量子化されたサンプルは丸め処理され得る。丸め処理された結果は、次いで区分処理のためのパラメータとして使用され得る。幾つかの事例では、丸め処理に加えて又は代わりに、切り上げ又は切り下げ計算等の他の演算が商に関して実施され得る。例えば、除数の値が2のべきである場合、次いで、除算演算は、メモリ資源を保存し得るシフト演算又はビット単位のANDマスクを代わりに使用することにより単純化され得、それは、本明細書にさらに記述される。決定処理は、次いで、新たな量子化されたサンプルに基づいてサンプルを分類し得る。表1は、この実施形態に基づいて、エッジオフセットモードにおいて様々なエッジタイプを区分するための例示的な条件を示している。表1では、浮動小数点数であり得るTが除数に対応する。
【0013】
【0014】
図1は、第1の実施形態に係る例示的な方法100を示している。ステップ101にて、量子化因子(T)、所定の映像サンプルの値(p)、所定の映像サンプルに対する第1の隣接サンプルの値(n
0)、所定の映像サンプルに対する第2の隣接サンプルの値(n
1)が識別され得る。ステップ102にて、識別された値(p,n
0,n
1)のそれぞれは、量子化因子(T)により除算され得る。ステップ103にて、除算されたサンプル値(p/T)は、その隣接サンプルの除算された値(n
0/T)及び(n
1/T)と比較され得る。
【0015】
幾つかの事例では、比較が生じる前に、除算された値(p/T)、(n0/T)、及び/又は(n1/T)のうちの1つ以上には、それらの除算された値をより一般的なカテゴリと関連付けるために関数が適用され得る。例えば、幾つかの事例では、ボックス105等にて、除算された値のそれぞれが対応する整数と関連付けられるように、除算された値のそれぞれに丸め処理関数が適用される。関連付けられた整数は、次いでステップ103にて互いに比較され得る。他の事例では、様々な関数が適用され得る。例えば、ボックス106にて、ステップ103にて値を互いに比較する前に、除算された値のそれぞれに切り下げ又は切り上げ計算関数が適用され得る。他の実施形態では、他の関数も使用され得る。ステップ104にて、所定の映像サンプルは、ステップ103にて行われた比較に基づいて、最小、第1のエッジタイプ、第2のエッジタイプ、最大、及びそれらのいずれでもないもののうちの1つに区分され得る。上の表1は、ステップ103の比較に基づいて、これらのタイプのうちの1つとして映像サンプルを区分するための例示的な判定基準を示している。表1の条件欄は、例示的な比較判定基準を示している。
【0016】
さらなる実施形態では、エッジタイプの区分は、サンプリングされた値とその隣接値との間の差分の量子化に基づき得、サンプリングされた値とその隣接値との間の差分は、従来のSAO方法に従って評価され得る。表2は、この実施形態に基づいてエッジオフセットモードにおいて様々なエッジタイプを区分するための方法の例示的な条件を示している。
【0017】
【0018】
図2は、第2の実施形態に係る例示的な方法200を示している。ステップ201にて、量子化因子(Q)、所定の映像サンプルの値(p)、所定の映像サンプルに対する第1の隣接サンプルの値(n
0)、及び所定の映像サンプルに対する第2の隣接サンプルの値(n
1)が識別され得る。ステップ202にて、所定の映像サンプル(p)とその隣接サンプル(n
0,n
1)のそれぞれとの間の差分(p-n
0及びp-n
1)が決定され得る。ステップ203にて、量子化因子(Q)は、本明細書にさらに記述するように、ステップ202にて決定された、値とその隣接値との間の差分のそれぞれに適用され得る。ステップ204にて、本方法200は、所定の映像サンプル値とその隣接値との間の差分のそれぞれの量子化の符号を評価し得る。ステップ205にて、所定の映像サンプル(p)は、ステップ204にて行われた評価に基づいて、最小、第1のエッジタイプ、第2のエッジタイプ、最大、及びそれらのいずれにも該当しないもののうちの1つとして区分され得る。上の表2は、ステップ204にて行われた評価に基づいて、これらのタイプのうちの1つとして映像サンプルを区分するための例示的な判定基準を示している。表2の条件欄は、例示的な比較判定基準を示している。
【0019】
さらに別の実施形態では、処理されるべき全てのサンプルが同一の量子化器Qを使用して量子化され得る。決定処理は、次いで、新たな量子化されたサンプルに基づいてサンプルを分類し得る。量子化パラメータは、サンプルをエッジ区分の前により低い精度に量子化することによりサンプルの動的範囲を低減させ得る。サンプルを量子化し、次いで量子化された値を全ての近傍決定のために再使用することによって、この実施形態は、メモリ資源を保存し得る。下の表3は、この実施形態に基づいてエッジオフセットモードにおいて様々なエッジタイプを区分するための例示的な条件を示している。表3及び本明細書の他の表では(特に示されない限り)、pが所与のサンプルの値に対応し、n0が所与のサンプルから第1の方向(典型的に、水平、垂直、又は対角方向)の隣接サンプルの値に対応し、n1が所与のサンプルから第2の方向(典型的に、水平、垂直、又は対角方向で第1の方向とは反対の方向)の隣接サンプルの値に対応し、Qが量子化因子に対応する。
【0020】
【0021】
図3は、第3の実施形態に係る例示的な方法300を示している。ステップ301にて、量子化因子(Q)、所定の映像サンプルの値(p)、所定の映像サンプルに対する第1の隣接サンプルの値(n
0)、所定の映像サンプルに対する第2の隣接サンプルの値(n
1)が識別され得る。ステップ302にて、量子化因子(Q)は、識別された値(p,n
0,n
1)のそれぞれに適用され得る。例えば、量子化は、上の表1に関して記述したような丸め処理関数であり得る。この例では、表3は表1を一般化したものである。ステップ303にて、量子化されたサンプル値Q[p]は、その隣接サンプルの量子化された値Q[n
0]及びQ[n
1]と比較され得る。ステップ304にて、所定の映像サンプル(p)は、ステップ303にて行われた比較に基づいて、最小、第1のエッジタイプ、第2のエッジタイプ、最大、及びそれらに該当しないもののうちの1つとして区分され得る。上の表3は、ステップ303にて行われた比較に基づいて、映像サンプルをこれらのタイプのうちの1つとして区分するための例示的な判定基準を示している。表3の条件欄は、例示的な比較判定基準を示している。
【0022】
本明細書に記述する実施形態のそれぞれに関して、量子化処理は、右シフト演算等、jビット分のシフト演算であり得る。幾つかの事例では、シフト演算は、さらに丸め処理制御を含み得る。量子化処理のうちの1つのモードでは、量子化ステップサイズは、サンプルのビット深さに基づいて動的に演算され得る。例えば、サンプルは、それらの8つの最上位ビットに量子化され得る。言い換えれば、bitDepthは、処理されるべきサンプルのビット深さを表し、N(jを置き換える)は、bitDepthに基づいて、すなわちN=bitDepth-8に固定され、本明細書にて議論する
図1及び
図3の実施形態の場合、Q1(x)=x>>Nとして量子化が実施され得る。
【0023】
ある実施形態では、本明細書にて議論する
図2の実施形態の場合、量子化は、サンプルx及び量子化因子jを使用して以下のように実施され得る。
【0024】
Q2(x,j)=floor(x/(2^j))=sign(x)*(abs(x)>>j)
Q3(x,j)=((x+(1<<(j-1)))>>j)
【0025】
量子化方法Q1とQ3は類似する。例えば、正値と負値が区別されない場合、負のバイアスがあり、値が決して0とならず、負の場合、サンプルが丸め処理因子を伴わずに右シフトされ得る。
【0026】
代替的に、量子化方法を符号化ツリー修正処理に概念化することができ、その処理では、エッジインデックスedgeIdxの値が以下のように導出され得る。
edgeIdx=2+Sign(recPicture[xSi][ySj]-recPicture[xSi+hPos[0]][ySj+vPos[0]])+Sign(recPicture[xSi][ySj]-recPicture[xSi+hPos[1]][ySj+vPos[1]])
本発明のある実施形態に従って量子化が適用されるとき、エッジインデックスは、符号をSignQuantで置き換えることにより以下のように導出され得る。
edgeIdx=2+SignQuant(recPicture[xSi][ySj]-recPicture[xSi+hPos[0]][ySj+vPos[0]])+SignQuant(recPicture[xSi][ySj]-recPicture[xSi+hPos[1]][ySj+vPos[1]])
ここで、SignQuantは、以下のようになり得る。
【数1】
【0027】
代替的な実施形態では、これを以下のようにすることができる。
edgeIdx=2+Sign(Q(recPicture[xSi][ySj]-recPicture[xSi+hPos[0]][ySj+vPos[0]]))+Sign(Q(recPicture[xSi][ySj]-recPicture[xSi+hPos[1]][ySj+vPos[1]]))
Qは、例えば、QがQ2又はQ3であり得る、前述したような量子化方法である。さらなる実施形態では、それは、以下のようでもあり得る。
edgeIdx=2+Sign(Q1(recPicture[xSi][ySj])-Q1(recPicture[xSi+hPos[0]][ySj+vPos[0]]))+Sign(Q1(recPicture[xSi][ySj])-Q1(recPicture[xSi+hPos[1]][ySj+vPos[1]]))
【0028】
量子化処理の別のモードでは、jは、各色成分に対してシグナリングされ得る。シグナリングは、スライスヘッダにおいて実施され、オーバーヘッドを最小化する利点をもたらし得る。例えば、スライスセグメントヘッダは、以下のように修正され得、ここで、slice_sao_luma_thres_scale及びslice_sao_chroma_thres_scaleが、本明細書にて議論するエッジオフセット区分におけるサンプリングされた映像値を量子化する際の比較のために使用され得る、輝度及び彩度成分のそれぞれに対して閾値を指定する。
【表4】
【0029】
シグナリングは、PPS又はSPSレベルで符号化ツリーユニットにおいて適応されるSAOシンタックスにおいても実施され得る。このモードは、サンプルが量子化される所定の数の最上位ビットから量子化を分離することにより、より高い柔軟性をもたらし得、量子化パラメータを各種レベルでシグナリングすることができる。
【0030】
[動的範囲及び精度のパラメータのシグナリング]
一実施形態では、エッジオフセット区分方法とバンドオフセット区分方法の両方のために、追加パラメータのシグナリングをサポートすることにより、シグナリングオーバーヘッドを制約し動的範囲を保存する一方でSAOの精度が拡張され得る。これらの追加パラメータは、シグナリングされるオフセットの動的範囲及び/又は精度を指定するパラメータを含み得る。
【0031】
本来の信号振幅をより良好に再構築するようにSAOが設計されるが、特に既存のHEVC規格における大きなビットレート及びビット深さでは、SAOの性能が劣る場合がある。SAOでは、画像及び訂正用オフセットがビットストリーム中で受信される。再構成された画像のサンプルは、カテゴリに区分され、カテゴリに対応する訂正用オフセットは、再構成された画像サンプルにデブロッキング後に加えられる。既存のHEVC規格では、符号値がビットストリームにおいて(例えばバンドオフセット方法で)シグナリングされるか、又は各エッジカテゴリに対して規定されているかのいずれかである一方で、符号化されたオフセット値の大きさが(1<<(Min(bitDepth,10)-5))-1の最大値に限定される。よって、最終的なオフセット値は、以下のように計算され得る。
SaoOffset=offsetSign*saoOffsetAbs<<(bitDepth-Min(bitDepth,10))
【0032】
ここで、offsetSignはオフセットに対して指定された、saoOffsetAbsは、シグナリングされるオフセットの大きさであり、bitDepthは、処理されるサンプルの指定されたビット深さである。SaoOffsetは、本明細書にさらに記述するように、各色成分に対して別途に規定及びシグナリングされ得る。例えば、8ビットデータ用のオフセット範囲は[-7,7]内であり、10ビットデータ用は[-31,31]内であり、12ビットデータ用は[-31,31]*4内である。量子化は、右シフトされる部分、すなわち<<(bitDepth-Min(bitDepth,10))として上の数式に表される。言い換えれば、既存のHEVC規格における量子化は、10を超えるビット深さに対して適用される。
【0033】
しかし、この計算方法は、劣った性能をもたらし得る。例えば、エッジ又はバンドオフセットSAO方法のいずれかの場合、シグナリングされるべきオフセットは、特定の最適化モデル(例えば最小自乗平均法を使用する)を仮定すれば、限定されむしろ小さな範囲内にあり得る。しかし、最終的なSAOオフセット値がシグナリングに対して決定されるとき、HEVC規格(10よりも大きなビット深さの場合)により要求される符号化等の追加制約、並びに丸め処理、量子化、及びクリッピングの制約を仮定すれば、これらのオフセットは、量子化後にそれらの大半又は全体のいずれかがゼロになるまで完全に量子化されて終了し得る。このことは、SAOの有効性を低減させ、又はSAOを完全に止めさえし、符号化の全体効率に負の影響を及ぼす。
【0034】
よって、SAOの性能は、量子化を除去すること、及び/又は所与のビット深さに対して量子化を調節することによって向上され得る。ある実施形態では、SAOオフセットの精度を指定するパラメータが提供され得る。ビット深さに依存する固定された量でオフセットパラメータを調節するために、固定スケーリング因子を適用する代わりに、変化するスケーリングパラメータが提供され得る。スケーリングパラメータは、特定のサンプルに適用されるべき特定のスケーリング因子を指定し得る。
【0035】
図10は、サンプルアダプティブオフセットの動的範囲及び/又は精度を決定及びシグナリングするための方法1000を示すフローチャートである。第1のステップ1002にて、本方法1000は、ビットストリーム中の符号化された映像データを受信し、SAOオフセットがどのように適用されるべきであるかを指定するパラメータをビットストリームから抽出し得る。幾つかの事例では、saoShiftOffsetパラメータは、特定のスケーリング因子をシグナリングするために使用され得る。ステップ1004にて、方法1000は、SAOシフトオフセット値を指定するパラメータをビットストリームが含むかどうかを判定する。例えば、過去のシステムは、SAOオフセットがどのように適用されるべきであるかを指定するパラメータを送信しなくてもよかった。SAOオフセットをどのように適用するかを指定するパラメータが抽出可能でない場合、本方法1000は、次いで、デフォルトのSAOオフセットスキームが適用されるステップ1008に進む。例えば、saoShiftOffsetがシグナリングされない場合、受信されない場合、又は存在しない場合、次いでオフセットは、既存の固定スケーリングスキームに従ってスケーリングされ得る(すなわち、10を超えるビット深さに対する量子化を適用する)。方法1000がSAOオフセットパラメータを抽出する場合、次いで、本方法は、パラメータに従ってSAOが映像に適用されるステップ1006に進む。例えば、オフセットは、以下の例示的なコードに従ってsaoShiftOffsetパラメータにより指定された量でシフトされ得る。
if(saoShiftOffsetが存在しない)
SaoOffset=offsetSign*saoOffsetAbs<<(bitDepth-Min(bitDepth,10))
else
SaoOffset=offsetSign*saoOffsetAbs<<saoShiftOffset
【0036】
代替的な実施形態では、カスタマイズされたオフセットスケーリングが使用される事例を限定するための判定基準も指定され得る。例えば、追加判定基準は、saoMaxLogOffsetAbsの量に基づいて指定されるbitDepthを仮定して現在の最大サンプル値内に動的範囲も制限する一方で、bitDepthが10よりも大きい場合にのみ、カスタマイズされたオフセットスケーリングを可能にするために指定され得る。
【0037】
ある実施形態では、パラメータSaoOffsetは、画像パラメータセット(PPS)においてシグナリングされ得る。代替的な実施形態では、パラメータは、符号化された映像データと関連する、シーケンスパラメータセット(SPS)、スライスヘッダ、又は他のメタデータにおいて明示的にシグナリングされ得る。幾つかの事例では、これらの追加パラメータは、Main、Main-10、及びMain Stillプロファイル等の、HEVCにおいて既に規定されたプロファイルとは異なる新たなプロファイルにおいてサポートされ得る。パラメータは、最大符号化ユニット(LCU)間の予測機構がシグナリングオーバーヘッドを低減することができる一方で、各LCUに対してシグナリングされ得る。
【0038】
パラメータは、互いに同様であり得るが同様である必要はない各色成分に対して規定され得る。よって、各色成分は、各色成分と関連するそれ自体のsaoOffsetパラメータを有し得る。例えば、輝度成分は、それ自体のsaoOffsetパラメータを有し得、彩度成分は、それ自体のsaoOffsetパラメータを有し得る。代替的な実施形態では、異なる色成分が同一のsaoOffsetパラメータ又はsaoOffsetパラメータの同一のセットを使用し得る。
【0039】
例えば、パラメータSaoOffsetは、画像パラメータセットの生のバイトシーケンスペイロード(RBSP)シンタックスのパラメータsao_luma_bit_shift及びsao_chroma_bit_shiftにより以下のようにシグナリングされ得る。
【表5】
【0040】
sao_luma_bit_shiftは、輝度サンプルのSAOオフセット値を導出するために使用されるパラメータを指定し得る。sao_luma_bit_shiftの値は、0~BitDepthY-6(両端を含む)の範囲であり得る。存在しないとき、sao_luma_bit_shiftの値は、0に等しいと推測され得、その場合、量子化は、既存のHEVC規格に従って実施され得る。sao_chroma_bit_shiftは、彩度サンプルに対するSAOオフセット値を導出するために使用されるパラメータを指定し得る。sao_chroma_bit_shiftの値は、0~BitDepthC-6(両端を含む)の範囲であり得る。存在しないとき、sao_chroma_bit_shiftの値は、0に等しいと推測され得、その場合、量子化は、既存のHEVC規格に従って実施され得る。
【0041】
幾つかの事例では、シグナリングされるオフセット量の最大許容値であるsaoOffsetAbsも、パラメータに含まれ又は追加パラメータとして含まれ得る。最大許容値は、そのまま符号化され得、又はその基底2対数であるsaoMaxLogOffsetAbsを取ることによってより効率的に符号化され得る。この事例では、最大許容オフセットが以下のように指定され得る。
saoMaxOffset=(1<<saoMaxLogOffsetAbs)-1
【0042】
幾つかの事例では、saoOffsetAbsのエントロピー符号化処理(cmax)は、この符号化による影響を受け得る。代替的な実施形態では、現在の最大値が(1<<(Min(bitDepth,10)-5))-1に等しく設定され得るので、saoDeltaMaxLogOffsetAbsをシグナリングしsaoMaxLogOffsetAbsを以下と等しく設定することによって、少数のビットが節約され得る。
saoMaxLogOffsetAbs=(Min(bitDepth,10)-5)+saoDeltaMaxLogOffsetAbs
【0043】
saoDeltaMaxLogOffsetAbsが0に等しい場合、次いで、既存の動的範囲が使用され得、そうでなければ、拡張された動的範囲が提供され得る。
【0044】
代替的な実施形態では、適応動的範囲シグナリングが提供され、スライスレベル制御で抽出され得る。例えば、0~4(両端を含む)の範囲のiのためのSaoOffsetVal[cIdx][rx][ry][i]は、以下のように導出され得る。
SaoOffsetVal[cIdx][rx][ry][0]=0
for(i=0;i<4;i++){
SaoOffsetVal[cIdx][rx][ry][i+1]=offsetSign*sao_offset_abs[cIdx][rx][ry][i]
}
【0045】
代替的な実施形態では、適応動的範囲シグナリングが提供され、シーケンスレベル制御で以下のように抽出され得る。
【表6】
【0046】
sao_quant_enabled_flagが1であるとき、デコーダは、量子化がsao_offset_absに適用されるべきであることを注意され得る。sao_quant_enabled_flagが0に等しいことは、sao_offset_absのための量子化が使用されるべきでないことを示し得る。存在しないとき、sao_quant_enabled_flagの値が0に等しいと推測され、その場合、量子化は、既存のHEVC規格に従って実施され得る。
【0047】
加えて、HEVCがSAOをループ内処理機構として適用する一方、本明細書に記述する実施形態の1つ以上は、ループ内SAO処理機構の一部として適用され得、又はHEVC等、コーデックに依存しない後処理機構として適用され得る。コーデックに依存しない後処理機構として適用されるこれらの実施形態の場合、付加拡張情報(SEI)メッセージ、MPEG-2システムのユーザ指定メタデータ、又は他の機構を非限定的に含む搬送機構を使用して、コーデック内でSAOメタデータを未だシグナリングすることができる。加えて、本発明の実施形態は、何らかのSAOを提供し得る他のコーデックに含まれ得る。これらの他のコーデックは、将来のコーデック、又はHEVCのスケーラブル若しくは3D/マルチビュー拡張等の、HEVCの拡張を含み得る。
【0048】
[変換された色空間におけるSAOの適用]
YUV 4:2:0色空間のサポートに加えて、HEVCは、とりわけYUV 4:2:2及びYCoCg、YCoCg-R又はRGB 4:4:4等の他の色空間及び色サンプリングフォーマットもサポートする。様々な実施形態では、SAOは、映像データの固有の色空間とは異なる色空間内で適用され得る。異なる色空間におけるSAOの適用は、RGB色空間における特定の色値の代わりの色度パラメータ等、特定の色空間と関連する特定のパラメータに対してオフセットがより正確に指定されることを可能にし得る。
【0049】
SAOは、イメージデータを4:2:0から4:4:4へ等、異なる色空間及びサンプリングフォーマットに変換し、SAOを異なる色空間及びサンプリングフォーマットに適用し、次いで、イメージデータを固有の色空間及びサンプリングフォーマットに戻すように変換することによって、非固有の色空間内で適用され得る。例えば、固有の符号化色空間がRGB Rec.709又はRec.2020である場合、次いで、イメージデータは、SAOをイメージデータの輝度及び/又は色度成分に直接適用するためにYUV色空間に変換され得る。イメージデータがYUV色空間に変換されると、SAOに基づく1つ以上のオフセットは、YUV色空間に変換されたイメージデータに適用され得る。本来のRGB色空間に復帰させるために、逆変換又は色変換アルゴリズムがYUV色空間のデータに適用され得る。
【0050】
この決定、色空間のタイプ及び/又はサンプリングフォーマット変換は、符号化されたデータのセットにおいてシグナリングされ識別され得、幾つかの事例では、シーケンスパラメータセット(SPS)、画像パラメータセット(PPS)、スライスヘッダ、又はSAOシンタックスに含まれ得る。他の事例では、この情報は、他のメタデータの一部でもよく、何処かにシグナリングされてもよい。
【0051】
固有の色空間に復帰させるための逆変換は、順方向変換Mの逆を演算することにより導出され得る。例えば、逆変換M-1は、M-1=adj(M)/det(M)として演算され得、ここで、adjが行列Mの余因子であり、detがMの行列式である。幾つかの事例では、このような演算は、固有の色空間への復帰をシグナリングするために必要とされるオーバーヘッドを低減させ得る。
【0052】
非固有の色空間におけるSAOの適用は、幾つかの事例ではHEVC又は将来の映像符号化システムの既存の固有の色空間方法を置き換え得る。他の事例では、非固有の色空間にSAOを適用する能力は、HEVC又は他の映像符号化システムにおける追加選択肢として加えられ得る。幾つかの事例では、様々な色空間への変換は、変換のための演算要求を単純化するために4:4:4コンテンツのみに制限され得るが、他の事例では、変換は、彩度サンプルを色変換処理内でアップスケーリング及びダウンスケーリングすることも可能にすることにより他の色サンプリングの場合にも拡張することができる。アップスケーリング及びダウンスケーリングは、画素複製若しくは間引き等の単純な計算で実施され得、又は、とりわけバイリニアから始まり、マルチタップ、エッジ適応、及びバイラテラルアルゴリズムまでの、演算が集約的なフィルタを含み得る。
【0053】
現在のHEVC仕様のように、1つの形式のSAOを1つの色サンプル(例えば輝度)に適用するが、別の形式のSAOを異なる色サンプル(彩度u又は彩度v)に適用することが望ましい場合がある。本明細書に記述する実施形態のそれぞれは、様々なタイプのSAOを非一様に及び/又はサンプル毎に映像データに適用することをサポートし得る。
【0054】
図4Aは、例示的な符号化方法400を示している。ボックス401にて、映像データは、第1の色空間から第2の色空間に変換され得る。第1の色空間は、映像データが符号化されるべきデフォルト又は所定の色空間であり得る。第2の色空間は、第1の色空間の代わりに第2の色空間内で適用されるオフセットを用いてさらに向上され得る1つ以上の色成分を含むため、選択され得る。
【0055】
映像データが第2の色空間に変換されると、ボックス402にて、少なくとも1つのオフセット計算の判定基準は、第2の色空間に変換された映像データに適用され得る。オフセットが計算されると、計算されたオフセットを含む変換された映像データは、ボックス403にて、第1の色空間に戻すように変換され得る。
【0056】
第2の色空間の識別子又は他の属性は、次いで、後続の映像処理機能のために第2の色空間への変換に関する情報を提供するために、第1の色空間に変換された映像と関連するメタデータに含まれ、そうでなければメタデータにおいてシグナリングされ得る404。
【0057】
図4Bは、例示的な復号方法410を示している。ボックス411にて、第2の色空間の識別子又は他の属性は、次いで、第1の色空間に変換された映像と関連するメタデータから受信及び/又は抽出され得る。識別子は、映像処理機能のために第2の色空間への変換に関する情報を提供し得る。ボックス411にて受信された識別子に基づいて、1つ以上のオフセット計算判定基準は、第2の色空間に変換された映像データに適用され得る。
【0058】
[オフセット補間]
従前に議論したように、既存のバンドオフセットモードは、32の可能なバンドのうちの4つの連続バンドに対するオフセットを指定する能力を提供した。しかし、幾つかの事例では、オーバーヘッド及び/又はシグナリングされるオフセットの数を必ずしも増加させずに、4つの連続バンドの限定されたセットよりも多くのバンドに対するオフセットを指定することが望ましい場合がある。
【0059】
このことを実現するために、幾つかの事例では、オフセットシグナリングは、非連続バンドに対して許容され得る。幾つかの事例では、4つのバンドの同一のセットが選択され得るが、バンドの一部又は全部は、隣接しないように選択され得る。非隣接バンド同士の間にあるこれらの中間バンドに対するオフセットは、非隣接バンドと関連するオフセットを使用して補間され得る。中間バンドの数は、符号化されたデータと関連する、SPS、PPS、スライスヘッダ、SAOシンタックス、又は他のメタデータ内に含まれシグナリングされるパラメータにおいて指定され得る。
【0060】
同一数の中間バンド(パラメータsao_intermediate_offset)が4つのバンドのそれぞれの間にあるように4つのバンドの全てが均等に離間したこれらの事例では、可能なオフセットの数は、(4+3*sao_intermediate_offsets)に等しくなり得る。sao_intermediate_offsetsが0以外の値に設定される場合、次いで、ビットストリーム中でシグナリングされるように、第1のバンド位置(パラメータsao_band_position)の初期バンドから始まる、パラメータsao_intermediate_offsetsに等しいバンド分離距離を有するバンドのオフセットのみがシグナリングされ得る。他のシグナリングされない中間バンドのそれぞれは、シグナリングされたバンドオフセットを使用して補間され得る。最も単純な方法は、バイリニア補間を使用し、以下のようにオフセットを生成することである。
w=sao_intermediate_offsets+1;
s=sao_band_position;
for(k=0;k<4;k++){
for(i=1;i<w;i++){
band_offset[s+4*k+i]=
((w-i)*band_offset[s+4*k]+i*band_offset[s+4*(k+1)]+(w>>1))/w;
}
}
【0061】
より長い他のフィルタが様々な事例で使用され得る。この指定された範囲の外側の追加オフセットも、指定された範囲内のオフセットの値に基づいて外挿され得る。
【0062】
図5は、ある実施形態の例示的な方法500を示している。ボックス501にて、サンプリングされた映像データと関連する値の可能な振幅の範囲は、複数のバンドに細分化され得る。各バンドは、全体範囲における各振幅値が1つの単一の1バンド内となるように、全体の振幅範囲のうちの特定の部分集合に対応し得る。
【0063】
オーバーヘッドの制限によって、既存のシステムでは、32のバンドのうち4つの隣接バンドのセットのみ等、これらのバンドのうちの限定された連続数に対するオフセット値を指定することのみが可能であった。ある実施形態では、オフセットが明示的に指定された連続バンドのこの限定されたセットにオフセットを適用することのみができた。代替的な実施形態では、オフセットが指定された別のバンドに隣接しなかったバンドに対してオフセットを指定又は適用することもできなかった。
【0064】
ボックス502にて、オフセットは、少なくとも2つの非隣接バンドのそれぞれに対してシグナリングされ得る。よって、例えば、バンド1、2、3、及び4等、互いに隣接する4つの連続バンドのセットに対してオフセットがシグナリングされることを要求する代わりに、オフセットは、ボックス502にて、例えば、バンド1、5、9、及び13等、同一数又は異なる数の非隣接バンドに対してシグナリングされ得る。
【0065】
ボックス503にて、オフセットは、ボックス502にてオフセットがシグナリングされた少なくとも2つの非隣接バンドの間の中間バンドに対して補間され得る。オフセットは、ボックス502にてシグナリングされた少なくとも2つの非隣接バンドに対するオフセットの値を使用して補間され得る。線形、バイリニア、多項式、及びスプライン補間を非限定的に含む任意タイプの補間アルゴリズムが使用され得る。
【0066】
[非一様バンド]
他の事例では、サンプルは、非一様に分布し又は様々な範囲を有し得、その範囲では、例えばウェーバー-フェヒナーの法則により指定されるように、より小さな変化が裸眼でより知覚でき得る。これらの事例では、サンプル範囲は、均等に離間したバンドで一様に分割される必要がない。代わりに、バンドは、対数、指数、又は他の非線形関数を使用して分割され得る。例えば、幾つかの事例では、バンドは、以下の関数により規定され得る。
f(x)=ceil(log2(x+1)),
f(x)=ceil(log2((1<<bitDepth)-x))
f(x)=(x<=(1<<(bitDepth-1))?ceil(log2(x+1)):ceil(log2((1<<bitDepth)-x))
f(x)=round((2.0^(float(x)/float((1<<bitDepth)-1))*31))-31
f(x)=round((2.0^(float((1<<bitDepth)-x-1)/float((1<<bitDepth)-1))*31))-31
【0067】
これら及び他の関数は、各バンド内に様々な数のサンプルを伴う様々なバンドを作成するために使用され得る。別の実施形態では、バンドの数が明示的にシグナリングされるとともにサンプルの数がシーケンスにおけるそれぞれの各バンドと関連している、パラメータが提供され得る。幾つかの事例では、各バンドの開始点は、追加の開始点パラメータにより明示的に又は異なるようにシグナリングされ得る。他の事例では、既存のHEVC仕様において提供されるこれらの方法は、シグナリングされるバンドを識別するためにも使用され得る。
【0068】
補間は、これらの明確にシグナリングされたものを超える追加オフセットを識別するために使用され得る。中間バンドオフセットは、それらのサイズに依存せずに補間され得、又はサイズパラメータは、補間結果をスケーリングするために使用され得る。幾つかの事例では第1のバンド又は特定のバンドの作成処理は、符号化されたデータと関連するSPS、PPS、スライスレベル、又は他のメタデータに含まれるパラメータによりシグナリングされ得る。
【0069】
バンドは、各オフセット又は符号化されたマクロブロック、符号化ユニット、又は符号化ツリーユニットに対して動的に調節もされ得る。しかし、このことは、追加のバンド幅及びより複雑なバンドを生成するための演算能力を要求し得る。幾つかの事例では、各マクロブロック、符号化ユニット、又は符号化ツリーユニットに対してバンド仕切処理を切り替える代わりに、バンドオフセット及び/又はエッジオフセットモードの様々な変形を含むサポートされた様々なモードがシグナリングされ得る。加えて、sao_type_idx_luma及びsao_type_idx_chroma指標等のパラメータも、サポートされるモードの数をさらに増加させるために提供され得る。
【0070】
図6は、ある実施形態の例示的な方法を示している。ボックス601にて、サンプリングされた映像データの可能な振幅値の範囲が識別され得る。ボックス602にて、識別された範囲に非線形演算が適用され得る。非線形演算は、幾つかのバンドが他のバンドよりも広く、多くの値を含む状態にある非一様バンドに振幅値の範囲を細分化し得る。非線形演算は、非一様バンドが生成され得る非一様な出力を生成する任意タイプの論理又は関数を含み得る。非線形演算は、指数、対数、又は少なくとも2次の多項式関数等の非線形関数を非限定的に含み得る。ボックス603にて、ボックス601にて識別された振幅範囲は、非線形演算を振幅範囲に適用した結果に基づいて非一様バンドに分割され得る。ボックス604にて、非一様バンドの識別子は、バンドが区別され得るように、符号化された映像データと関連するメタデータにおいてシグナリングされ、そうでなければメタデータに含まれ得る。幾つかの事例では、識別子は、各バンドの開始及び/又は終了を指定し得る。他の事例では、識別子は、第1のバンドの開始、及びバンドのそれぞれを識別するために使用される式又は他の判定基準を識別し得る。他の事例では、識別子は、様々な非一様バンドが提出され得る他のタイプの識別情報を含み得る。
【0071】
[フォーカスされたエッジオフセットモード]
本明細書にて議論したように、既存のエッジオフセットモードでは、サンプルを区分するために、所定のサンプルの値が、水平、垂直、又は対角方向に隣接する8つのサンプルのうちの2つと比較される。既存のエッジオフセットモードは、サンプルのそれぞれの相対的な大きさを考慮せずに全てのサンプルを等しく考慮する。幾つかの事例では、エンコーダは、エッジ特徴に加えてサンプルの大きさを考慮し得、そのことは、エッジオフセッティングから最も利益を受けるであろう特定のエッジ、オブジェクト、又はエリアに関するフォーカスを向上させ得る。
【0072】
特定のエッジ、オブジェクト、又はエリアに関するフォーカスは、SAOオフセットバンドの開始を示すためにバンドオフセットモードにおいて提供されるsao_band_positionパラメータ等のSAOバンド指標パラメータをシグナリングを提供することにより実現され得る。このバンド指標パラメータは、エッジオフセットモードが適用されるべき、これらのバンド(単数又は複数)を指定し得る。言い換えれば、サンプルは、特定のバンドに属するかどうかを判定するために、まずチェックされ得る。エッジインデックスEdgeIdx判定基準は、次いで、サンプルが特定のバンドに属すると、まず判定された場合にのみ、適当なオフセットを決定するために適用され得る。
【0073】
幾つかの事例では、単一のバンドは、現在のHEVC仕様に指定される一様なサンプリングスキーム又は本明細書に記述するスキーム等の他の非一様なスキームのいずれかに基づいて、特定のバンドとして識別され得る。他の事例では、2つ以上の継続バンドを含む追加バンドも、処理されるべきバンドの追加数を指定する別のパラメータにより特定のバンドとして識別され得る。パラメータのそれぞれは、SPS、PPS、スライスヘッダを非限定的に含む、符号化された映像データと関連するメタデータ又はSAOシンタックス内においてシグナリングされ得る。この拡張されたエッジオフセットモードは、既存のエッジオフセットモードを置き換えてもよく、追加タイプの動作モードとして提供されてもよい。
【0074】
[システムの概観]
加えて、HEVCがSAOをループ内処理機構として適用する一方、本明細書に記述する実施形態の1つ以上は、ループ内SAO処理機構の一部として適用され得、又はHEVC等、コーデックに依存しない後処理機構として適用され得る。コーデックに依存しない後処理機構として適用されるこれらの実施形態の場合、付加拡張情報(SEI)メッセージ、MPEG-2システムのユーザ指定メタデータ、又は他の機構を非限定的に含む搬送機構を使用して、コーデック内でSAOメタデータをシグナリングすることもできる。加えて、本発明の実施形態は、何らかのSAOを提供し得る他のコーデックに含まれ得る。これらの他のコーデックは、将来のコーデック、又はHEVCのスケーラブル若しくは3D/マルチビュー拡張等の、HEVCの拡張を含み得る。
【0075】
図7は、映像データを符号化及び復号するための要素を含む、本発明のある実施形態の符号化システム700の単純化されたブロック図を示している。システム700は、減算器712、変換ユニット714、量子化器716及びエントロピー符号化ユニット718を含み得る。減算器712は、ソースイメージからの入力動き補償ブロックを受信し、使用される予測モードに応じては、予測ユニット750からの予測された動き補償ブロックを受信し得る。減算器712は、予測されたブロックを入力ブロックから減算し、残り画素のブロックを発生させ得る。予測が実施されない場合、減算器712は、入力ブロックを変更せずに単純に出力し得る。変換ユニット714は、典型的には離散コサイン変換(「DCT」)又はウェーブレット変換である空間変換に従って、受信するブロックを変換係数のアレイに変換し得る。量子化器716は、各ブロックの変換係数を量子化パラメータ(「QP」)に従って切り捨て得る。切り捨てのために使用されるQP値は、チャネル内でデコーダに送信され得る。エントロピー符号化ユニット718は、例えば、可変長符号化アルゴリズム又はコンテキスト適応二進算術符号化のエントロピー符号化アルゴリズムに従って、量子化された係数を符号化し得る。上にて議論したメッセージ、フラグ、及び/又は他の情報を含む追加メタデータは、システム700により出力され得る符号化されたデータに加えられてもよく、含まれてもよい。
【0076】
システム700は、逆量子化ユニット722、逆変換ユニット724、加算器726、フィルタシステム730、バッファ740、及び予測ユニット750も含み得る。逆量子化ユニット722は、量子化器716により使用されたQPに従って、符号化された映像データを量子化し得る。逆変換ユニット724は、再量子化された係数を画素領域に変換し得る。加算器726は、逆変換ユニット724から出力された残り画素を予測ユニット750からの予測された動きデータに加え得る。加算器726からの合計された出力は、フィルタリングシステム730に出力し得る。
【0077】
フィルタリングシステム730は、デブロッキングフィルタ732、強度導出ユニット734、及びサンプルアダプティブオフセット(SAO)フィルタ733を含み得る。フィルタリングシステム内のフィルタは、デコーダループ内の復号画像バッファ740に書き込まれる前の再構成されたサンプルに適用され得る。デブロッキングフィルタ732は、加算器526から出力された映像データを強度導出ユニット734により提供された強度で復元するためにデブロッキングフィルタリングを適用し得る。強度導出ユニット734は、上述した技術のいずれかを使用して強度値を導出し得る。SAOフィルタ733は、本明細書に記述するオフセット機能のうちの少なくとも1つを実施するように構成され得、幾つかの事例では本明細書に記述するオフセット機能のうちの2つ以上の様々な組合せを実施し得る。SAOフィルタリングは、本明細書に規定する特定条件を満たす全てのサンプルに適応的に適用され得る。SAOは、エンコーダにより送信されたルックアップテーブル内の値に基づいてオフセット値を各サンプルに条件的に加えることによって、復号されたサンプルを修正し得る。例えば、各サンプルの区分及びサンプルのオフセットを指定する区分インデックスは、ビットストリームにおいてエントロピーコーダ718により符号化され得る。復号プロセッサでは、区分インデックス及びオフセットは、対応するデコーダにより復号され得る。フィルタリングシステム730は、他のタイプのフィルタも含み得るが、それらは、本発明の本実施形態の提示を単に単純化するための
図7には示されていない。
【0078】
バッファ740は、フィルタリングシステム730により出力されるような復元されたフレームデータを記憶し得る。復元されたフレームデータは、後で受信されるブロックの符号化中に基準フレームとして使用するために記憶され得る。
【0079】
予測ユニット750は、モード判定ユニット752、及び動き推定器754を含み得る。動き推定器754は、符号化されるソースイメージとバッファ740に記憶された基準フレーム(単数又は複数)との間におけるイメージの動きを推定し得る。モード判定ユニット752は、入力ブロックを符号化するために予測モードを割り当て、入力ブロック用の予測基準として役立てるためにバッファ740からブロックを選択し得る。例えば、モード判定ユニット752は、使用されるべき予測モード(例えば、一方向予測P-符号化又は双方向予測B-符号化)を選択し、そのような予測符号化に使用するための動きベクトルを発生させ得る。これに関して、予測ユニット750は、選択された基準フレームのバッファリングされたブロックデータをバッファ740から検索し得る。
【0080】
図8は、本発明のある実施形態に係るデコーダ800の単純化されたブロック図である。デコーダ800は、エントロピーデコーダ818、逆量子化器816、逆変換ユニット814、加算器812、強度導出ユニット834、デブロッキングフィルタ832、及びSAOフィルタ833を含み得る。デコーダ800は、予測ユニット850及びバッファ840をさらに含み得る。
【0081】
エントロピーデコーダ818は、例えば、可変長復号アルゴリズム又はコンテキスト適応二進算術復号等のエントロピー復号アルゴリズムに従って、チャネルから(又は不図示のチャネルバッファを介して)受信されたデータを復号し得る。逆量子化器816は、エントロピーデコーダ818から受信された係数データを量子化パラメータにより乗算し得る。逆変換ユニット814は、逆量子化器816から受信された逆量子化された係数データを画素データに変換し得る。逆変換ユニット814は、エンコーダの変換ユニットにより実施された変換演算(例えば、DCT又はウェーブレット変換)の逆を実施し得る。加算器812は、逆変換ユニット814により取得された画素データを予測ユニット850から取得された予測された画素データに画素毎で加え得る。加算器812は、復元されたデータを出力し得、復元されたデータからは、復元されたフレームが構成され、表示装置(不図示)にレンダリングされ得る。フレームバッファ840は、復号されたデータを蓄積し、復号されたデータから再構成されたフレームを構築し得る。強度導出ユニット834は、上にて議論した技術のいずれかを使用して強度値を導出し得る。デブロッキングフィルタ832は、チャネルにより識別されたフィルタリングパラメータに従って、強度導出ユニット834により提供された強度で、復元されたフレームデータにデブロッキングフィルタリング演算を実施し得る。SAOフィルタ833は、本明細書に記述するオフセット機能のうちの少なくとも1つを実施するように構成され得、幾つかの事例では本明細書に記述するオフセット機能のうちの2つ以上の異なる組合せを実施し得る。SAOフィルタリングは、本明細書に規定する特定条件を満たす全てのサンプルに適応的に適用され得る。SAOは、エンコーダにより送信されたルックアップテーブル内の値に基づいてオフセット値を各サンプルに条件的に加えることによって、復号されたサンプルを修正し得る。例えば、各サンプルの区分及びサンプルのオフセットを指定する区分インデックスは、ビットストリームから読み取られ復号され得る。
【0082】
図9は、本発明の実施形態での使用に適した複数端末システム900を示している。システム900は、チャネル950を介して相互接続される少なくとも2つの端末910、920を含み得る。一方向データ送信の場合、第1の端末910は、チャネル950を介して他の端末920に送信するためにローカル位置で映像データを符号化し得る。第2の端末920は、他の端末の符号化された映像データをチャネル950から受信し、符号化されたデータを復号し、復元された映像データを表示し得る。一方向データ送信は、メディアストリーミング用途等で良く知られている。
【0083】
図9は、例えばビデオ会議中に生じ得る、符号化された映像の双方向送信をサポートするために提供される端末930、940の第2の対も示している。双方向データ送信の場合、各端末930、940は、チャネル950を介して他の端末に送信するためにローカル位置で取り込まれた映像データを符号化し得る。各端末930、940は、他の端末により送信された符号化された映像データを受信し得、符号化されたデータを復号し得、復元された映像データをローカル表示装置に表示し得る。
【0084】
図9には、端末910~940をサーバ、パーソナルコンピュータ及びスマートフォンとして示しているが、本発明の原理は、そのようなものに限定されない。本発明の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び/又は専用のビデオ会議機器における用途を見出す。各端末910~940は、処理装置及びメモリを含み得る。処理装置は、メモリに記憶された指令を実行するように構成された中央処理ユニット、マイクロコントローラ、又は他の集積回路等の装置を含み得る。メモリは、RAM、ROM、ハードドライブ、フラッシュドライブ、及び光学ディスクを非限定的に含む、指令を記憶可能な任意の形の非一時的メディアを含み得る。チャネル950は、符号化された映像データを端末910~940の間で伝達する、例えばワイヤ線及び/又は無線通信ネットワークを含む、任意数のネットワークを表す。通信ネットワークは、回路切替及び/又はパケット切替チャネルでデータを交換し得る。代表的なネットワークは、電話通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。別の実施形態では、チャネル950は、例えば、電気、光又は磁気記憶装置である、記憶装置として設けられ得る。本議論の目的のために、チャネル950のアーキテクチャ及びトポロジは、本発明の動作にとって重要ではない。
【0085】
前述の議論は、本発明の実施形態の動作をコーデックの文脈で記述してきた。一般に、コーデックは電子装置として提供される。コーデックを特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び/又はデジタル信号プロセッサ等の集積回路に具体化することができる。代替的に、コーデックをパーソナルコンピュータ、ノートブックコンピュータ又はコンピュータサーバの上で実行するコンピュータプログラムに具体化することができる。同様に、デコーダを特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び/又はデジタル信号プロセッサ等の集積回路に具体化することができ、或いはデコーダをパーソナルコンピュータ、ノートブックコンピュータ又はコンピュータサーバの上で実行するコンピュータプログラムに具体化することができる。デコーダは、ゲームシステム、DVDプレーヤ、携帯メディアプレーヤ等の民生用電子装置に一般に実装され、デコーダをビデオゲーム、ブラウザベースのメディアプレーヤ等の民生用ソフトウェアアプリケーションに実装することができる。これらの要素は、所望に応じて、専用ハードウェア要素及びプログラムされた汎用プロセッサの全体に機能性を分散させるハイブリッドシステムとして提供され得る。
【0086】
前述の説明は、例示及び説明を目的として提示されてきた。説明は、網羅的ではなく、本発明の実施形態を開示される正確な形態に限定しない。修正及び変形は、上の教示の観点から可能であり、本発明と矛盾しない実践的な実施形態から習得され得る。本明細書に特に記述しない限り、本方法のいずれかが任意の組合せで実践され得る。例えば、シグナリングの本方法及び区分のための量子化因子の本導出方法は、任意の組合せで実践され得る。