(57)【要約】      （修正有）【課題】サンプルのオフセット値に関するノイズの影響を低減及び制御する技術、サンプルのオフセット値のビット深さを適合させる技術を提供する。【解決手段】高効率映像符号化（ＨＥＶＣ）等の映像符号化規格におけるサンプルアダプティブオフセット（ＳＡＯ）値等のオフセット値は、より正確な値を送信するために必要とされる信号オーバーヘッドに実質的に影響を及ぼさずに、それらの値の正確性を向上させる計算及び演算を実施することにより向上される。このような計算及び演算は、量子化因子を映像サンプル及びその隣接サンプルの少なくとも一部に適用し、量子化された値を比較し、比較に基づいて映像サンプルを最小、最大、又は各種タイプのエッジのうちの１つとして区分することを含む。他のサンプル範囲、オフセットモード、及び／又はオフセット精度のパラメータは、オフセット値の精度を向上させるためにメタデータを用いて計算及び送信される。【選択図】図１
2018078611.tif 000002
【特許請求の範囲】
【請求項１】
復号方法であって、
符号化された映像ストリーム中の画像パラメータデータセットから、符号化された輝度データに対するサンプルアダプティブオフセット（ＳＡＯ）オフセット値を導出するためのパラメータ、及び符号化された色度データに対するＳＡＯオフセット値を導出するためのパラメータを抽出することと、
符号化された輝度データに対する前記フィールドに指定された量によりデフォルトのＳＡＯオフセット値をシフトすることによって、第１のＳＡＯオフセット値を導出することと、
前記第１のＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された輝度データにＳＡＯフィルタリングを実施することと、
符号化された彩度データに対する前記フィールドに指定された量により前記デフォルトのＳＡＯオフセット値をシフトすることによって、第２のＳＡＯオフセット値を導出することと、
前記第２のＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された彩度データにＳＡＯフィルタリングを実施することと、
を含むことを特徴とする、復号方法。
【請求項２】
前記第１及び第２のＳＡＯオフセット値のうちの一方の前記導出が、
ｓａｏＯｆｆｓｅｔＶａｌ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜ｓａｏＳｈｉｆｔＯｆｆｓｅｔにより生じ、
ここで、ｏｆｆｓｅｔＳｉｇｎは、それぞれの前記ＳＡＯオフセット値に対して指定される符号を表し、
ｓａｏＯｆｆｓｅｔＡｂｓは前記デフォルトのＳＡＯオフセット値を表し、
「＜＜」はビットシフト演算を表す、
ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記符号化された輝度又は符号化された彩度データのそれぞれに対する、前記画像パラメータセットから抽出された前記パラメータから導出されることを特徴とする、請求項１に記載の復号方法。
【請求項３】
輝度について、ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記画像パラメータセットに設けられたｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドから導出されることを特徴とする、請求項２に記載の復号方法。
【請求項４】
輝度について、ｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドが前記画像パラメータセットに設けられていない場合、ｓａｏＳｈｉｆｔＯｆｆｓｅｔがゼロとされることを特徴とする、請求項２に記載の復号方法。
【請求項５】
彩度について、ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記画像パラメータセットに設けられたｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドから導出されることを特徴とする、請求項２に記載の復号方法。
【請求項６】
彩度について、ｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドが前記画像パラメータセットに設けられていない場合、ｓａｏＳｈｉｆｔＯｆｆｓｅｔがゼロとされることを特徴とする、請求項２に記載の復号方法。
【請求項７】
復号方法であって、
符号化された映像ストリーム中の画像パラメータデータセットから、符号化された輝度データに対するサンプルアダプティブオフセット（ＳＡＯ）オフセット値を導出するためのパラメータを抽出することと、
ｓａｏＯｆｆｓｅｔＶａｌ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜ｓａｏＳｈｉｆｔＯｆｆｓｅｔにより
ＳＡＯオフセット値を導出することであって、
ここで、ｏｆｆｓｅｔＳｉｇｎはそれぞれの前記ＳＡＯオフセット値に対して指定される符号を表し、ｓａｏＯｆｆｓｅｔＡｂｓは前記デフォルトのＳＡＯオフセット値を表し、「＜＜」はビットシフト演算を表し、ｓａｏＳｈｉｆｔＯｆｆｓｅｔが前記抽出されたパラメータから導出される、ＳＡＯオフセット値を導出することと、
前記ＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された輝度データにＳＡＯフィルタリングを実施することと、
を含むことを特徴とする、復号方法。
【請求項８】
ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記画像パラメータセットに設けられたｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドから導出されることを特徴とする、請求項７に記載の復号方法。
【請求項９】
ｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドが前記画像パラメータセット設けられていない場合、ｓａｏＳｈｉｆｔＯｆｆｓｅｔがゼロとされることを特徴とする、請求項７に記載の復号方法。
【請求項１０】
復号方法であって、
符号化された映像ストリーム中の画像パラメータデータセットから、符号化された彩度データに対するサンプルアダプティブオフセット（ＳＡＯ）オフセット値を導出するためのパラメータを抽出することと、
ｓａｏＯｆｆｓｅｔＶａｌ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜ｓａｏＳｈｉｆｔＯｆｆｓｅｔにより
ＳＡＯオフセット値を導出することであって、
ここで、ｏｆｆｓｅｔＳｉｇｎはそれぞれの前記ＳＡＯオフセット値に対して指定される符号を表し、ｓａｏＯｆｆｓｅｔＡｂｓは前記デフォルトのＳＡＯオフセット値を表し、「＜＜」はビットシフト演算を表し、ｓａｏＳｈｉｆｔＯｆｆｓｅｔが前記抽出されたパラメータから導出される、ＳＡＯオフセット値を導出することと、
前記ＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された彩度データにＳＡＯフィルタリングを実施することとを、
含むことを特徴とする、復号方法。
【請求項１１】
ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記画像パラメータセットに設けられたｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドから導出されることを特徴とする、請求項１０に記載の復号方法。
【請求項１２】
ｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔフィールドが前記画像パラメータセットに設けられていない場合、ｓａｏＳｈｉｆｔＯｆｆｓｅｔがゼロとされることを特徴とする、請求項１０に記載の復号方法。
【請求項１３】
復号方法であって、
符号化された映像ストリームから、符号化された輝度データに対するサンプルアダプティブオフセット（ＳＡＯ）オフセット値を導出するためのパラメータ、及び符号化された色度データに対するＳＡＯオフセット値を導出するためのパラメータを抽出することと、
符号化された輝度データに対する前記フィールドに指定された量によりデフォルトのＳＡＯオフセット値をシフトすることによって、第１のＳＡＯオフセット値を導出することと、
前記第１のＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された輝度データにＳＡＯフィルタリングを実施することと、
符号化された彩度データに対する前記フィールドに指定された量により前記デフォルトのＳＡＯオフセット値をシフトすることによって、第２のＳＡＯオフセット値を導出することと、
前記第２のＳＡＯオフセット値を前記ＳＡＯフィルタリングの演算のオフセットとして使用して、前記符号化された映像ストリームから取得される再構成された彩度データにＳＡＯフィルタリングを実施することと、
を含むことを特徴とする、復号方法。
【請求項１４】
前記第１及び第２のＳＡＯオフセット値のうちの一方の前記導出が、
ｓａｏＯｆｆｓｅｔＶａｌ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜ｓａｏＳｈｉｆｔＯｆｆｓｅｔにより生じ、
ここで、ｏｆｆｓｅｔＳｉｇｎはそれぞれの前記ＳＡＯオフセット値に対して指定される符号を表し、
ｓａｏＯｆｆｓｅｔＡｂｓは前記デフォルトのＳＡＯオフセット値を表し、
「＜＜」はビットシフト演算を表し、
ｓａｏＳｈｉｆｔＯｆｆｓｅｔが、前記符号化された輝度又は符号化された彩度データのそれぞれに対する、前記符号化された映像ストリームから抽出された前記パラメータから導出されることを特徴とする、請求項１３に記載の復号方法。
【請求項１５】
前記パラメータがスライスヘッダから抽出されることを特徴とする、請求項１３に記載の復号方法。
【請求項１６】
前記パラメータがシーケンスパラメータセットから抽出されることを特徴とする、請求項１３に記載の復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１３年６月１９日に出願された米国仮出願第６１／８３６，９３１号の、米国特許法第１１９（ｅ）条の利益を主張する、２０１４年２月５日に出願された米国特許出願第１４／１７３，６７６号の継続である、２０１４年４月１７日に出願された米国特許出願第１４／２５５，６０９号に対する優先権を主張しており、その全体が参照により本明細書に組み込まれる。
【０００２】
本発明は、映像符号化及び圧縮のために信号振幅を再構成する方法に関する。より具体的には、本発明は、高効率映像符号化（High Efficiency Video Coding:ＨＥＶＣ）規格内等の映像符号化及び処理システムにおけるサンプルアダプティブオフセット（画素適用オフセット: ＳＡＯ（Sample Adaptive Offset)）処理の量子化及び適応動的範囲シグナリングのための方法に関する。
【背景技術】
【０００３】
ＩＳＯ／ＩＥＣ  ２３００８−２  ＭＰＥＧ−Ｈ  Ｐａｒｔ  ２及びＩＴＵ−Ｔ  Ｈ．２６５として現在公表されているＨＥＶＣ規格は、ＭＰＥＧ−２、ＭＰＥＧ−４  Ｐａｒｔ  ２、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４、ＶＣ１、及びＶＰ８を非限定的に含む従前の映像符号化規格及び技術を超えて映像符号化効率を向上させるように設計された幾つかの新たな映像符号化ツールを導入した。これらのツールのうちの１つがＳＡＯであり、デブロッキングフィルタリング後に典型的に実施されるフィルタリング機構である。処理は例えば、ＳＡＯ処理された画像を基準として使用し得る後続の画像に影響を及ぼしてもよい、ループ内であり、又は、例えば、エンコーダの外側における、表示若しくは他の後続の処理にのみ影響を及ぼしてもよい、ループ外である。ＳＡＯは、再構成された画素をカテゴリにグループ分けし、規定された分類又は区分処理に基づいてオフセットを画素値に適用することにより歪みを低減させる。
【０００４】
ＳＡＯは、ＨＥＶＣ仕様に規定されるように、エッジオフセットモードとバンドオフセットモードの２つの動作モードをサポートする。エッジオフセットモードでは、所定のサンプルの値は、水平、垂直、又は対角方向に隣接する８つのサンプルのうちの２つと比較され得る。サンプリングされた値の単純な直接比較に基づいて、所定のサンプルは、幾つかのカテゴリのうちの１つに区分され得る。バンドオフセットモードでは、所定のサンプルの振幅は、サンプルを３２のバンドのうちの１つに分類するために使用され得る。３２のバンドのセットのうちＳＡＯがオフセットパラメータをサポートする４つの連続バンドのうちの１つにサンプルが分類される場合、サンプルに対してオフセットが指定され得る。
【発明の概要】
【０００５】
既存のＨＥＶＣ規格は、区分及びオーバーヘッドに関してＳＡＯ方法に関する限定を含む。これに関して、区分処理は、区分のために使用される、ビット深さ、精度、色、及びバンドの数に関して限定される。オフセット値のシグナリングに必要とされるオーバーヘッドを低減するために、既存のＨＥＶＣ規格は、オフセットが提供され得るバンドの数と、様々な画素カテゴリのそれぞれのための正確なオフセット値を指定するための能力との両方を限定する。例えば、１０ビットを超えるビット深さのためのオフセット値の最大値を限定することは、ＳＡＯ値によりカバーされる動的範囲を増加させる利益をもたらす、より大きなビット深さでのＳＡＯ値の正確性を低減させる。しかし、幾つかの事例では、ＳＡＯ値のより高い精度は、加えられるべきオフセットが小さな範囲内であるとき等に、画質を目的として、大きな動的範囲よりも重要となり得る。したがって、ノイズに対する低い感度を伴ってサンプルを区分可能であり、オフセット値の動的範囲に対する影響及び／又はそれらのオフセットを送信するために必要とされる信号オーバーヘッドを最小化する一方で適用されるオフセットの精度を拡張可能である、ＳＡＯに対するより柔軟なアプローチが必要である。
【図面の簡単な説明】
【０００６】
【図１】本発明のある実施形態に係る量子化のための方法を示すフローチャートである。
【図２】本発明のある実施形態に係る量子化のための別の方法を示すフローチャートである。
【図３】本発明のある実施形態に係る量子化のための別の方法を示すフローチャートである。
【図４Ａ】本発明のある実施形態に係る、変換された色空間にサンプルアダプティブオフセットを適用するための方法を示すフローチャートである。
【図４Ｂ】本発明のある実施形態に係る、変換された色空間にサンプルアダプティブオフセットを適用するための方法を示すフローチャートである。
【図５】本発明のある実施形態に係るオフセット補間のための方法を示すフローチャートである。
【図６】本発明のある実施形態に係る、非一様に分布した範囲を有するサンプルのためのオフセットを識別するための方法を示すフローチャートである。
【図７】本発明のある実施形態に係る符号化システムのブロック図である。
【図８】本発明のある実施形態に係る復号システムのブロック図である。
【図９】本発明のある実施形態に係る複数端末システムのブロック図である。
【図１０】サンプルアダプティブオフセットの動的範囲及び／又は精度を決定及びシグナリングするための方法を示すフローチャートである。
【発明を実施するための形態】
【０００７】
本発明の実施形態は、サンプルのオフセット値に関するノイズの影響を低減及び制御するための技術、及び／又はサンプルのオフセット値のビット深さを適合させるための技術を提供する。このような技術は、サンプルアダプティブオフセット（ＳＡＯ）処理並びに後処理に適用され得る。
【０００８】
一実施形態では、随意的な追加の量子化ステップが分類又は区分処理中に実施され得る。区分処理では、サンプル値は、オフセット値のノイズ感度を低減させるために、比較される前に別個のグループに区分され得る。別の実施形態では、サンプル範囲、オフセットモード、及びオフセット精度のパラメータも、他の実施形態でのオフセットの適用を向上させるために、サンプリングされた映像データと関連するメタデータを用いて計算及び送信され得る。
【０００９】
別の実施形態では、映像データは、オフセット値を適用するのにより適した成分を有する第２の色空間に変換され得る。オフセット値が第２の色空間内で適用されると、適用されたオフセットを伴う映像データは、第１の色空間に戻すように変換され得る。再び、この事例では、第２の色空間に関する識別情報が送信されるべき場合、この識別情報を送信するための最小のオーバーヘッドが必要とされ得る。
【００１０】
別の実施形態では、限定された信号オーバーヘッドにより明示的なシグナリングが可能ではない特定バンドのためのオフセット値は、代わりに、明示的にシグナリングされたオフセット値から補間され得る。この補間は、非隣接バンドを明示的にシグナリングし、次いで、明示的にシグナリングされた非隣接バンド同士の間にある中間バンドと関連するオフセット値を補間することによって生じ得る。バンドは、幾つかのバンドが様々な幅を有するように及び／又は他のバンドよりも広い値の範囲を含むように、非一様に分割もされ得る。これらの実施形態は、オフセットにより最も影響を受けるイメージの特定の部分に、より正確にオフセット値が適用されることを可能にし得る。
【００１１】
［サンプルの量子化及び区分］
ＳＡＯは、再構成されたサンプルを各種カテゴリに区分すること、各カテゴリのためのオフセットを取得すること、取得したオフセットをカテゴリの各サンプルに加えることを含み得る。各カテゴリのためのオフセットは、エンコーダで計算され、デコーダにシグナリングされ得る。サンプルの区分は、エンコーダとデコーダの両方で実施され得る。量子化は、コンテンツのノイズをマスキングし、映像コンテンツのエッジに関するより良好なフォーカスを提供し得る。これらの事例では、使用される特定の量子化因子に関する情報が送信されるべきときに、特定の量子化値が送信されることが必要とされるのみである。オーバーヘッドは、複数のサンプルに対して同一の量子化因子を使用することによりさらに低減され得る。サンプル範囲、オフセットモード、及びオフセット精度の追加パラメータも、他の実施形態でのオフセットの適用を向上させるために、サンプリングされた映像データと関連するメタデータを用いて計算及び送信され得る。量子化パラメータは、サンプル同士が離れているかどうかのみならず、どの程度離れているかをチェックすることにより、エッジ区分を支援するように導入され得る。量子化パラメータは、隣接サンプル同士の間の絶対差分が閾値よりも大きいかどうかを判定するために使用もされ得、閾値は、正確であり又は量子化され得る。量子化パラメータは、隣接サンプル同士の間の差分を量子化し、量子化された差分に基づいて区分を実施もし得る。従来のエッジオフセットの決定は、現在のサンプル値がその隣接値と比べてより大きいか／より小さいか／等しいか、という判定基準を使用する直接比較に基づくが、それらは、特により大きなビット深さでは、ノイズにより容易に歪められる。本明細書にて議論する量子化パラメータの技術は、このようなノイズ効果に対する感度を低減させることが期待される。
【００１２】
第１の実施形態では、処理されるべき全てのサンプルは、量子化因子を使用して量子化され得る。量子化因子は、所与のサンプル値及びその隣接のサンプル値が除算される除数を含み得る。量子化されたサンプルは丸め処理され得る。丸め処理された結果は、次いで区分処理のためのパラメータとして使用され得る。幾つかの事例では、丸め処理に加えて又は代わりに、切り上げ又は切り下げ計算等の他の演算が商に関して実施され得る。例えば、除数の値が２のべきである場合、次いで、除算演算は、メモリ資源を保存し得るシフト演算又はビット単位のＡＮＤマスクを代わりに使用することにより単純化され得、それは、本明細書にさらに記述される。決定処理は、次いで、新たな量子化されたサンプルに基づいてサンプルを分類し得る。表１は、この実施形態に基づいて、エッジオフセットモードにおいて様々なエッジタイプを区分するための例示的な条件を示している。表１では、浮動小数点数であり得るＴが除数に対応する。
【００１３】
【表１】
2018078611.tif 000003
【００１４】
図１は、第１の実施形態に係る例示的な方法１００を示している。ステップ１０１にて、量子化因子（Ｔ）、所定の映像サンプルの値（ｐ）、所定の映像サンプルに対する第１の隣接サンプルの値（ｎ0）、所定の映像サンプルに対する第２の隣接サンプルの値（ｎ1）が識別され得る。ステップ１０２にて、識別された値（ｐ，ｎ0，ｎ1）のそれぞれは、量子化因子（Ｔ）により除算され得る。ステップ１０３にて、除算されたサンプル値（ｐ／Ｔ）は、その隣接サンプルの除算された値（ｎ0／Ｔ）及び（ｎ1／Ｔ）と比較され得る。
【００１５】
幾つかの事例では、比較が生じる前に、除算された値（ｐ／Ｔ）、（ｎ0／Ｔ）、及び／又は（ｎ1／Ｔ）のうちの１つ以上には、それらの除算された値をより一般的なカテゴリと関連付けるために関数が適用され得る。例えば、幾つかの事例では、ボックス１０５等にて、除算された値のそれぞれが対応する整数と関連付けられるように、除算された値のそれぞれに丸め処理関数が適用される。関連付けられた整数は、次いでステップ１０３にて互いに比較され得る。他の事例では、様々な関数が適用され得る。例えば、ボックス１０６にて、ステップ１０３にて値を互いに比較する前に、除算された値のそれぞれに切り下げ又は切り上げ計算関数が適用され得る。他の実施形態では、他の関数も使用され得る。ステップ１０４にて、所定の映像サンプルは、ステップ１０３にて行われた比較に基づいて、最小、第１のエッジタイプ、第２のエッジタイプ、最大、及びそれらのいずれでもないもののうちの１つに区分され得る。上の表１は、ステップ１０３の比較に基づいて、これらのタイプのうちの１つとして映像サンプルを区分するための例示的な判定基準を示している。表１の条件欄は、例示的な比較判定基準を示している。
【００１６】
さらなる実施形態では、エッジタイプの区分は、サンプリングされた値とその隣接値との間の差分の量子化に基づき得、サンプリングされた値とその隣接値との間の差分は、従来のＳＡＯ方法に従って評価され得る。表２は、この実施形態に基づいてエッジオフセットモードにおいて様々なエッジタイプを区分するための方法の例示的な条件を示している。
【００１７】
【表２】
2018078611.tif 000004
【００１８】
図２は、第２の実施形態に係る例示的な方法２００を示している。ステップ２０１にて、量子化因子（Ｑ）、所定の映像サンプルの値（ｐ）、所定の映像サンプルに対する第１の隣接サンプルの値（ｎ0）、及び所定の映像サンプルに対する第２の隣接サンプルの値（ｎ1）が識別され得る。ステップ２０２にて、所定の映像サンプル（ｐ）とその隣接サンプル（ｎ0，ｎ1）のそれぞれとの間の差分（ｐ−ｎ0及びｐ−ｎ1）が決定され得る。ステップ２０３にて、量子化因子（Ｑ）は、本明細書にさらに記述するように、ステップ２０２にて決定された、値とその隣接値との間の差分のそれぞれに適用され得る。ステップ２０４にて、本方法２００は、所定の映像サンプル値とその隣接値との間の差分のそれぞれの量子化の符号を評価し得る。ステップ２０５にて、所定の映像サンプル（ｐ）は、ステップ２０４にて行われた評価に基づいて、最小、第１のエッジタイプ、第２のエッジタイプ、最大、及びそれらのいずれにも該当しないもののうちの１つとして区分され得る。上の表２は、ステップ２０４にて行われた評価に基づいて、これらのタイプのうちの１つとして映像サンプルを区分するための例示的な判定基準を示している。表２の条件欄は、例示的な比較判定基準を示している。
【００１９】
さらに別の実施形態では、処理されるべき全てのサンプルが同一の量子化器Ｑを使用して量子化され得る。決定処理は、次いで、新たな量子化されたサンプルに基づいてサンプルを分類し得る。量子化パラメータは、サンプルをエッジ区分の前により低い精度に量子化することによりサンプルの動的範囲を低減させ得る。サンプルを量子化し、次いで量子化された値を全ての近傍決定のために再使用することによって、この実施形態は、メモリ資源を保存し得る。下の表３は、この実施形態に基づいてエッジオフセットモードにおいて様々なエッジタイプを区分するための例示的な条件を示している。表３及び本明細書の他の表では（特に示されない限り）、ｐが所与のサンプルの値に対応し、ｎ0が所与のサンプルから第１の方向（典型的に、水平、垂直、又は対角方向）の隣接サンプルの値に対応し、ｎ1が所与のサンプルから第２の方向（典型的に、水平、垂直、又は対角方向で第１の方向とは反対の方向）の隣接サンプルの値に対応し、Ｑが量子化因子に対応する。
【００２０】
【表３】
2018078611.tif 000005
【００２１】
図３は、第３の実施形態に係る例示的な方法３００を示している。ステップ３０１にて、量子化因子（Ｑ）、所定の映像サンプルの値（ｐ）、所定の映像サンプルに対する第１の隣接サンプルの値（ｎ0）、所定の映像サンプルに対する第２の隣接サンプルの値（ｎ1）が識別され得る。ステップ３０２にて、量子化因子（Ｑ）は、識別された値（ｐ，ｎ0，ｎ1）のそれぞれに適用され得る。例えば、量子化は、上の表１に関して記述したような丸め処理関数であり得る。この例では、表３は表１を一般化したものである。ステップ３０３にて、量子化されたサンプル値Ｑ［ｐ］は、その隣接サンプルの量子化された値Ｑ［ｎ0］及びＱ［ｎ1］と比較され得る。ステップ３０４にて、所定の映像サンプル（ｐ）は、ステップ３０３にて行われた比較に基づいて、最小、第１のエッジタイプ、第２のエッジタイプ、最大、及びそれらに該当しないもののうちの１つとして区分され得る。上の表３は、ステップ３０３にて行われた比較に基づいて、映像サンプルをこれらのタイプのうちの１つとして区分するための例示的な判定基準を示している。表３の条件欄は、例示的な比較判定基準を示している。
【００２２】
本明細書に記述する実施形態のそれぞれに関して、量子化処理は、右シフト演算等、ｊビット分のシフト演算であり得る。幾つかの事例では、シフト演算は、さらに丸め処理制御を含み得る。量子化処理のうちの１つのモードでは、量子化ステップサイズは、サンプルのビット深さに基づいて動的に演算され得る。例えば、サンプルは、それらの８つの最上位ビットに量子化され得る。言い換えれば、ｂｉｔＤｅｐｔｈは、処理されるべきサンプルのビット深さを表し、Ｎ（ｊを置き換える）は、ｂｉｔＤｅｐｔｈに基づいて、すなわちＮ＝ｂｉｔＤｅｐｔｈ−８に固定され、本明細書にて議論する図１及び図３の実施形態の場合、Ｑ１（ｘ）＝ｘ＞＞Ｎとして量子化が実施され得る。
【００２３】
ある実施形態では、本明細書にて議論する図２の実施形態の場合、量子化は、サンプルｘ及び量子化因子ｊを使用して以下のように実施され得る。
【００２４】
Ｑ２（ｘ，ｊ）＝ｆｌｏｏｒ（ｘ／（２＾ｊ））＝ｓｉｇｎ（ｘ）＊（ａｂｓ（ｘ）＞＞ｊ）
Ｑ３（ｘ，ｊ）＝（（ｘ＋（１＜＜（ｊ−１）））＞＞ｊ）
【００２５】
量子化方法Ｑ１とＱ３は類似する。例えば、正値と負値が区別されない場合、負のバイアスがあり、値が決して０とならず、負の場合、サンプルが丸め処理因子を伴わずに右シフトされ得る。
【００２６】
代替的に、量子化方法を符号化ツリー修正処理に概念化することができ、その処理では、エッジインデックスｅｄｇｅＩｄｘの値が以下のように導出され得る。
ｅｄｇｅＩｄｘ＝２＋Ｓｉｇｎ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［０］］［ｙＳｊ＋ｖＰｏｓ［０］］）＋Ｓｉｇｎ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［１］］［ｙＳｊ＋ｖＰｏｓ［１］］）
本発明のある実施形態に従って量子化が適用されるとき、エッジインデックスは、符号をＳｉｇｎＱｕａｎｔで置き換えることにより以下のように導出され得る。
ｅｄｇｅＩｄｘ＝２＋ＳｉｇｎＱｕａｎｔ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［０］］［ｙＳｊ＋ｖＰｏｓ［０］］）＋ＳｉｇｎＱｕａｎｔ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［１］］［ｙＳｊ＋ｖＰｏｓ［１］］）
ここで、ＳｉｇｎＱｕａｎｔは、以下のようになり得る。
【数１】
2018078611.tif 000006
【００２７】
代替的な実施形態では、これを以下のようにすることができる。
ｅｄｇｅＩｄｘ＝２＋Ｓｉｇｎ（Ｑ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［０］］［ｙＳｊ＋ｖＰｏｓ［０］］））＋Ｓｉｇｎ（Ｑ（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］−ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［１］］［ｙＳｊ＋ｖＰｏｓ［１］］））
Ｑは、例えば、ＱがＱ２又はＱ３であり得る、前述したような量子化方法である。さらなる実施形態では、それは、以下のようでもあり得る。
ｅｄｇｅＩｄｘ＝２＋Ｓｉｇｎ（Ｑ１（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］）−Ｑ１（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［０］］［ｙＳｊ＋ｖＰｏｓ［０］］））＋Ｓｉｇｎ（Ｑ１（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ］［ｙＳｊ］）−Ｑ１（ｒｅｃＰｉｃｔｕｒｅ［ｘＳｉ＋ｈＰｏｓ［１］］［ｙＳｊ＋ｖＰｏｓ［１］］））
【００２８】
量子化処理の別のモードでは、ｊは、各色成分に対してシグナリングされ得る。シグナリングは、スライスヘッダにおいて実施され、オーバーヘッドを最小化する利点をもたらし得る。例えば、スライスセグメントヘッダは、以下のように修正され得、ここで、ｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｔｈｒｅｓ＿ｓｃａｌｅ及びｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｔｈｒｅｓ＿ｓｃａｌｅが、本明細書にて議論するエッジオフセット区分におけるサンプリングされた映像値を量子化する際の比較のために使用され得る、輝度及び彩度成分のそれぞれに対して閾値を指定する。
【表４】
2018078611.tif 000007
【００２９】
シグナリングは、ＰＰＳ又はＳＰＳレベルで符号化ツリーユニットにおいて適応されるＳＡＯシンタックスにおいても実施され得る。このモードは、サンプルが量子化される所定の数の最上位ビットから量子化を分離することにより、より高い柔軟性をもたらし得、量子化パラメータを各種レベルでシグナリングすることができる。
【００３０】
［動的範囲及び精度のパラメータのシグナリング］
一実施形態では、エッジオフセット区分方法とバンドオフセット区分方法の両方のために、追加パラメータのシグナリングをサポートすることにより、シグナリングオーバーヘッドを制約し動的範囲を保存する一方でＳＡＯの精度が拡張され得る。これらの追加パラメータは、シグナリングされるオフセットの動的範囲及び／又は精度を指定するパラメータを含み得る。
【００３１】
本来の信号振幅をより良好に再構築するようにＳＡＯが設計されるが、特に既存のＨＥＶＣ規格における大きなビットレート及びビット深さでは、ＳＡＯの性能が劣る場合がある。ＳＡＯでは、画像及び訂正用オフセットがビットストリーム中で受信される。再構成された画像のサンプルは、カテゴリに区分され、カテゴリに対応する訂正用オフセットは、再構成された画像サンプルにデブロッキング後に加えられる。既存のＨＥＶＣ規格では、符号値がビットストリームにおいて（例えばバンドオフセット方法で）シグナリングされるか、又は各エッジカテゴリに対して規定されているかのいずれかである一方で、符号化されたオフセット値の大きさが（１＜＜（Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０）−５））−１の最大値に限定される。よって、最終的なオフセット値は、以下のように計算され得る。
ＳａｏＯｆｆｓｅｔ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜（ｂｉｔＤｅｐｔｈ−Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０））
【００３２】
ここで、ｏｆｆｓｅｔＳｉｇｎはオフセットに対して指定された、ｓａｏＯｆｆｓｅｔＡｂｓは、シグナリングされるオフセットの大きさであり、ｂｉｔＤｅｐｔｈは、処理されるサンプルの指定されたビット深さである。ＳａｏＯｆｆｓｅｔは、本明細書にさらに記述するように、各色成分に対して別途に規定及びシグナリングされ得る。例えば、８ビットデータ用のオフセット範囲は［−７，７］内であり、１０ビットデータ用は［−３１，３１］内であり、１２ビットデータ用は［−３１，３１］＊４内である。量子化は、右シフトされる部分、すなわち＜＜（ｂｉｔＤｅｐｔｈ−Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０））として上の数式に表される。言い換えれば、既存のＨＥＶＣ規格における量子化は、１０を超えるビット深さに対して適用される。
【００３３】
しかし、この計算方法は、劣った性能をもたらし得る。例えば、エッジ又はバンドオフセットＳＡＯ方法のいずれかの場合、シグナリングされるべきオフセットは、特定の最適化モデル（例えば最小自乗平均法を使用する）を仮定すれば、限定されむしろ小さな範囲内にあり得る。しかし、最終的なＳＡＯオフセット値がシグナリングに対して決定されるとき、ＨＥＶＣ規格（１０よりも大きなビット深さの場合）により要求される符号化等の追加制約、並びに丸め処理、量子化、及びクリッピングの制約を仮定すれば、これらのオフセットは、量子化後にそれらの大半又は全体のいずれかがゼロになるまで完全に量子化されて終了し得る。このことは、ＳＡＯの有効性を低減させ、又はＳＡＯを完全に止めさえし、符号化の全体効率に負の影響を及ぼす。
【００３４】
よって、ＳＡＯの性能は、量子化を除去すること、及び／又は所与のビット深さに対して量子化を調節することによって向上され得る。ある実施形態では、ＳＡＯオフセットの精度を指定するパラメータが提供され得る。ビット深さに依存する固定された量でオフセットパラメータを調節するために、固定スケーリング因子を適用する代わりに、変化するスケーリングパラメータが提供され得る。スケーリングパラメータは、特定のサンプルに適用されるべき特定のスケーリング因子を指定し得る。
【００３５】
図１０は、サンプルアダプティブオフセットの動的範囲及び／又は精度を決定及びシグナリングするための方法１０００を示すフローチャートである。第１のステップ１００２にて、本方法１０００は、ビットストリーム中の符号化された映像データを受信し、ＳＡＯオフセットがどのように適用されるべきであるかを指定するパラメータをビットストリームから抽出し得る。幾つかの事例では、ｓａｏＳｈｉｆｔＯｆｆｓｅｔパラメータは、特定のスケーリング因子をシグナリングするために使用され得る。ステップ１００４にて、方法１０００は、ＳＡＯシフトオフセット値を指定するパラメータをビットストリームが含むかどうかを判定する。例えば、過去のシステムは、ＳＡＯオフセットがどのように適用されるべきであるかを指定するパラメータを送信しなくてもよかった。ＳＡＯオフセットをどのように適用するかを指定するパラメータが抽出可能でない場合、本方法１０００は、次いで、デフォルトのＳＡＯオフセットスキームが適用されるステップ１００８に進む。例えば、ｓａｏＳｈｉｆｔＯｆｆｓｅｔがシグナリングされない場合、受信されない場合、又は存在しない場合、次いでオフセットは、既存の固定スケーリングスキームに従ってスケーリングされ得る（すなわち、１０を超えるビット深さに対する量子化を適用する）。方法１０００がＳＡＯオフセットパラメータを抽出する場合、次いで、本方法は、パラメータに従ってＳＡＯが映像に適用されるステップ１００６に進む。例えば、オフセットは、以下の例示的なコードに従ってｓａｏＳｈｉｆｔＯｆｆｓｅｔパラメータにより指定された量でシフトされ得る。
ｉｆ（ｓａｏＳｈｉｆｔＯｆｆｓｅｔが存在しない）
ＳａｏＯｆｆｓｅｔ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜（ｂｉｔＤｅｐｔｈ−Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０））
ｅｌｓｅ
ＳａｏＯｆｆｓｅｔ＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏＯｆｆｓｅｔＡｂｓ＜＜ｓａｏＳｈｉｆｔＯｆｆｓｅｔ
【００３６】
代替的な実施形態では、カスタマイズされたオフセットスケーリングが使用される事例を限定するための判定基準も指定され得る。例えば、追加判定基準は、ｓａｏＭａｘＬｏｇＯｆｆｓｅｔＡｂｓの量に基づいて指定されるｂｉｔＤｅｐｔｈを仮定して現在の最大サンプル値内に動的範囲も制限する一方で、ｂｉｔＤｅｐｔｈが１０よりも大きい場合にのみ、カスタマイズされたオフセットスケーリングを可能にするために指定され得る。
【００３７】
ある実施形態では、パラメータＳａｏＯｆｆｓｅｔは、画像パラメータセット（ＰＰＳ）においてシグナリングされ得る。代替的な実施形態では、パラメータは、符号化された映像データと関連する、シーケンスパラメータセット（ＳＰＳ）、スライスヘッダ、又は他のメタデータにおいて明示的にシグナリングされ得る。幾つかの事例では、これらの追加パラメータは、Ｍａｉｎ、Ｍａｉｎ−１０、及びＭａｉｎ  Ｓｔｉｌｌプロファイル等の、ＨＥＶＣにおいて既に規定されたプロファイルとは異なる新たなプロファイルにおいてサポートされ得る。パラメータは、最大符号化ユニット（ＬＣＵ）間の予測機構がシグナリングオーバーヘッドを低減することができる一方で、各ＬＣＵに対してシグナリングされ得る。
【００３８】
パラメータは、互いに同様であり得るが同様である必要はない各色成分に対して規定され得る。よって、各色成分は、各色成分と関連するそれ自体のｓａｏＯｆｆｓｅｔパラメータを有し得る。例えば、輝度成分は、それ自体のｓａｏＯｆｆｓｅｔパラメータを有し得、彩度成分は、それ自体のｓａｏＯｆｆｓｅｔパラメータを有し得る。代替的な実施形態では、異なる色成分が同一のｓａｏＯｆｆｓｅｔパラメータ又はｓａｏＯｆｆｓｅｔパラメータの同一のセットを使用し得る。
【００３９】
例えば、パラメータＳａｏＯｆｆｓｅｔは、画像パラメータセットの生のバイトシーケンスペイロード（ＲＢＳＰ）シンタックスのパラメータｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔ及びｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔにより以下のようにシグナリングされ得る。
【表５】
2018078611.tif 000008
【００４０】
ｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔは、輝度サンプルのＳＡＯオフセット値を導出するために使用されるパラメータを指定し得る。ｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔの値は、０〜ＢｉｔＤｅｐｔｈY−６（両端を含む）の範囲であり得る。存在しないとき、ｓａｏ＿ｌｕｍａ＿ｂｉｔ＿ｓｈｉｆｔの値は、０に等しいと推測され得、その場合、量子化は、既存のＨＥＶＣ規格に従って実施され得る。ｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔは、彩度サンプルに対するＳＡＯオフセット値を導出するために使用されるパラメータを指定し得る。ｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔの値は、０〜ＢｉｔＤｅｐｔｈC−６（両端を含む）の範囲であり得る。存在しないとき、ｓａｏ＿ｃｈｒｏｍａ＿ｂｉｔ＿ｓｈｉｆｔの値は、０に等しいと推測され得、その場合、量子化は、既存のＨＥＶＣ規格に従って実施され得る。
【００４１】
幾つかの事例では、シグナリングされるオフセット量の最大許容値であるｓａｏＯｆｆｓｅｔＡｂｓも、パラメータに含まれ又は追加パラメータとして含まれ得る。最大許容値は、そのまま符号化され得、又はその基底２対数であるｓａｏＭａｘＬｏｇＯｆｆｓｅｔＡｂｓを取ることによってより効率的に符号化され得る。この事例では、最大許容オフセットが以下のように指定され得る。
ｓａｏＭａｘＯｆｆｓｅｔ＝（１＜＜ｓａｏＭａｘＬｏｇＯｆｆｓｅｔＡｂｓ）−１
【００４２】
幾つかの事例では、ｓａｏＯｆｆｓｅｔＡｂｓのエントロピー符号化処理（ｃｍａｘ）は、この符号化による影響を受け得る。代替的な実施形態では、現在の最大値が（１＜＜（Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０）−５））−１に等しく設定され得るので、ｓａｏＤｅｌｔａＭａｘＬｏｇＯｆｆｓｅｔＡｂｓをシグナリングしｓａｏＭａｘＬｏｇＯｆｆｓｅｔＡｂｓを以下と等しく設定することによって、少数のビットが節約され得る。
ｓａｏＭａｘＬｏｇＯｆｆｓｅｔＡｂｓ＝（Ｍｉｎ（ｂｉｔＤｅｐｔｈ，１０）−５）＋ｓａｏＤｅｌｔａＭａｘＬｏｇＯｆｆｓｅｔＡｂｓ
【００４３】
ｓａｏＤｅｌｔａＭａｘＬｏｇＯｆｆｓｅｔＡｂｓが０に等しい場合、次いで、既存の動的範囲が使用され得、そうでなければ、拡張された動的範囲が提供され得る。
【００４４】
代替的な実施形態では、適応動的範囲シグナリングが提供され、スライスレベル制御で抽出され得る。例えば、０〜４（両端を含む）の範囲のｉのためのＳａｏＯｆｆｓｅｔＶａｌ［ｃＩｄｘ］［ｒｘ］［ｒｙ］［ｉ］は、以下のように導出され得る。
ＳａｏＯｆｆｓｅｔＶａｌ［ｃＩｄｘ］［ｒｘ］［ｒｙ］［０］＝０
ｆｏｒ（ｉ＝０；ｉ＜４；ｉ＋＋）｛
ＳａｏＯｆｆｓｅｔＶａｌ［ｃＩｄｘ］［ｒｘ］［ｒｙ］［ｉ＋１］＝ｏｆｆｓｅｔＳｉｇｎ＊ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［ｃＩｄｘ］［ｒｘ］［ｒｙ］［ｉ］
｝
【００４５】
代替的な実施形態では、適応動的範囲シグナリングが提供され、シーケンスレベル制御で以下のように抽出され得る。
【表６】
2018078611.tif 000009
【００４６】
ｓａｏ＿ｑｕａｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１であるとき、デコーダは、量子化がｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓに適用されるべきであることを注意され得る。ｓａｏ＿ｑｕａｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０に等しいことは、ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓのための量子化が使用されるべきでないことを示し得る。存在しないとき、ｓａｏ＿ｑｕａｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値が０に等しいと推測され、その場合、量子化は、既存のＨＥＶＣ規格に従って実施され得る。
【００４７】
加えて、ＨＥＶＣがＳＡＯをループ内処理機構として適用する一方、本明細書に記述する実施形態の１つ以上は、ループ内ＳＡＯ処理機構の一部として適用され得、又はＨＥＶＣ等、コーデックに依存しない後処理機構として適用され得る。コーデックに依存しない後処理機構として適用されるこれらの実施形態の場合、付加拡張情報（ＳＥＩ）メッセージ、ＭＰＥＧ−２システムのユーザ指定メタデータ、又は他の機構を非限定的に含む搬送機構を使用して、コーデック内でＳＡＯメタデータを未だシグナリングすることができる。加えて、本発明の実施形態は、何らかのＳＡＯを提供し得る他のコーデックに含まれ得る。これらの他のコーデックは、将来のコーデック、又はＨＥＶＣのスケーラブル若しくは３Ｄ／マルチビュー拡張等の、ＨＥＶＣの拡張を含み得る。
【００４８】
［変換された色空間におけるＳＡＯの適用］
ＹＵＶ  ４：２：０色空間のサポートに加えて、ＨＥＶＣは、とりわけＹＵＶ  ４：２：２及びＹＣｏＣｇ、ＹＣｏＣｇ−Ｒ又はＲＧＢ  ４：４：４等の他の色空間及び色サンプリングフォーマットもサポートする。様々な実施形態では、ＳＡＯは、映像データの固有の色空間とは異なる色空間内で適用され得る。異なる色空間におけるＳＡＯの適用は、ＲＧＢ色空間における特定の色値の代わりの色度パラメータ等、特定の色空間と関連する特定のパラメータに対してオフセットがより正確に指定されることを可能にし得る。
【００４９】
ＳＡＯは、イメージデータを４：２：０から４：４：４へ等、異なる色空間及びサンプリングフォーマットに変換し、ＳＡＯを異なる色空間及びサンプリングフォーマットに適用し、次いで、イメージデータを固有の色空間及びサンプリングフォーマットに戻すように変換することによって、非固有の色空間内で適用され得る。例えば、固有の符号化色空間がＲＧＢ  Ｒｅｃ．７０９又はＲｅｃ．２０２０である場合、次いで、イメージデータは、ＳＡＯをイメージデータの輝度及び／又は色度成分に直接適用するためにＹＵＶ色空間に変換され得る。イメージデータがＹＵＶ色空間に変換されると、ＳＡＯに基づく１つ以上のオフセットは、ＹＵＶ色空間に変換されたイメージデータに適用され得る。本来のＲＧＢ色空間に復帰させるために、逆変換又は色変換アルゴリズムがＹＵＶ色空間のデータに適用され得る。
【００５０】
この決定、色空間のタイプ及び／又はサンプリングフォーマット変換は、符号化されたデータのセットにおいてシグナリングされ識別され得、幾つかの事例では、シーケンスパラメータセット（ＳＰＳ）、画像パラメータセット（ＰＰＳ）、スライスヘッダ、又はＳＡＯシンタックスに含まれ得る。他の事例では、この情報は、他のメタデータの一部でもよく、何処かにシグナリングされてもよい。
【００５１】
固有の色空間に復帰させるための逆変換は、順方向変換Ｍの逆を演算することにより導出され得る。例えば、逆変換Ｍ-1は、Ｍ-1＝ａｄｊ（Ｍ）／ｄｅｔ（Ｍ）として演算され得、ここで、ａｄｊが行列Ｍの余因子であり、ｄｅｔがＭの行列式である。幾つかの事例では、このような演算は、固有の色空間への復帰をシグナリングするために必要とされるオーバーヘッドを低減させ得る。
【００５２】
非固有の色空間におけるＳＡＯの適用は、幾つかの事例ではＨＥＶＣ又は将来の映像符号化システムの既存の固有の色空間方法を置き換え得る。他の事例では、非固有の色空間にＳＡＯを適用する能力は、ＨＥＶＣ又は他の映像符号化システムにおける追加選択肢として加えられ得る。幾つかの事例では、様々な色空間への変換は、変換のための演算要求を単純化するために４：４：４コンテンツのみに制限され得るが、他の事例では、変換は、彩度サンプルを色変換処理内でアップスケーリング及びダウンスケーリングすることも可能にすることにより他の色サンプリングの場合にも拡張することができる。アップスケーリング及びダウンスケーリングは、画素複製若しくは間引き等の単純な計算で実施され得、又は、とりわけバイリニアから始まり、マルチタップ、エッジ適応、及びバイラテラルアルゴリズムまでの、演算が集約的なフィルタを含み得る。
【００５３】
現在のＨＥＶＣ仕様のように、１つの形式のＳＡＯを１つの色サンプル（例えば輝度）に適用するが、別の形式のＳＡＯを異なる色サンプル（彩度ｕ又は彩度ｖ）に適用することが望ましい場合がある。本明細書に記述する実施形態のそれぞれは、様々なタイプのＳＡＯを非一様に及び／又はサンプル毎に映像データに適用することをサポートし得る。
【００５４】
図４Ａは、例示的な符号化方法４００を示している。ボックス４０１にて、映像データは、第１の色空間から第２の色空間に変換され得る。第１の色空間は、映像データが符号化されるべきデフォルト又は所定の色空間であり得る。第２の色空間は、第１の色空間の代わりに第２の色空間内で適用されるオフセットを用いてさらに向上され得る１つ以上の色成分を含むため、選択され得る。
【００５５】
映像データが第２の色空間に変換されると、ボックス４０２にて、少なくとも１つのオフセット計算の判定基準は、第２の色空間に変換された映像データに適用され得る。オフセットが計算されると、計算されたオフセットを含む変換された映像データは、ボックス４０３にて、第１の色空間に戻すように変換され得る。
【００５６】
第２の色空間の識別子又は他の属性は、次いで、後続の映像処理機能のために第２の色空間への変換に関する情報を提供するために、第１の色空間に変換された映像と関連するメタデータに含まれ、そうでなければメタデータにおいてシグナリングされ得る４０４。
【００５７】
図４Ｂは、例示的な復号方法４１０を示している。ボックス４１１にて、第２の色空間の識別子又は他の属性は、次いで、第１の色空間に変換された映像と関連するメタデータから受信及び／又は抽出され得る。識別子は、映像処理機能のために第２の色空間への変換に関する情報を提供し得る。ボックス４１１にて受信された識別子に基づいて、１つ以上のオフセット計算判定基準は、第２の色空間に変換された映像データに適用され得る。
【００５８】
［オフセット補間］
従前に議論したように、既存のバンドオフセットモードは、３２の可能なバンドのうちの４つの連続バンドに対するオフセットを指定する能力を提供した。しかし、幾つかの事例では、オーバーヘッド及び／又はシグナリングされるオフセットの数を必ずしも増加させずに、４つの連続バンドの限定されたセットよりも多くのバンドに対するオフセットを指定することが望ましい場合がある。
【００５９】
このことを実現するために、幾つかの事例では、オフセットシグナリングは、非連続バンドに対して許容され得る。幾つかの事例では、４つのバンドの同一のセットが選択され得るが、バンドの一部又は全部は、隣接しないように選択され得る。非隣接バンド同士の間にあるこれらの中間バンドに対するオフセットは、非隣接バンドと関連するオフセットを使用して補間され得る。中間バンドの数は、符号化されたデータと関連する、ＳＰＳ、ＰＰＳ、スライスヘッダ、ＳＡＯシンタックス、又は他のメタデータ内に含まれシグナリングされるパラメータにおいて指定され得る。
【００６０】
同一数の中間バンド（パラメータｓａｏ＿ｉｎｔｅｒｍｅｄｉａｔｅ＿ｏｆｆｓｅｔ）が４つのバンドのそれぞれの間にあるように４つのバンドの全てが均等に離間したこれらの事例では、可能なオフセットの数は、（４＋３＊ｓａｏ＿ｉｎｔｅｒｍｅｄｉａｔｅ＿ｏｆｆｓｅｔｓ）に等しくなり得る。ｓａｏ＿ｉｎｔｅｒｍｅｄｉａｔｅ＿ｏｆｆｓｅｔｓが０以外の値に設定される場合、次いで、ビットストリーム中でシグナリングされるように、第１のバンド位置（パラメータｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）の初期バンドから始まる、パラメータｓａｏ＿ｉｎｔｅｒｍｅｄｉａｔｅ＿ｏｆｆｓｅｔｓに等しいバンド分離距離を有するバンドのオフセットのみがシグナリングされ得る。他のシグナリングされない中間バンドのそれぞれは、シグナリングされたバンドオフセットを使用して補間され得る。最も単純な方法は、バイリニア補間を使用し、以下のようにオフセットを生成することである。
ｗ＝ｓａｏ＿ｉｎｔｅｒｍｅｄｉａｔｅ＿ｏｆｆｓｅｔｓ＋１；
ｓ＝ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ；
ｆｏｒ（ｋ＝０；ｋ＜４；ｋ＋＋）｛
ｆｏｒ（ｉ＝１；ｉ＜ｗ；ｉ＋＋）｛
ｂａｎｄ＿ｏｆｆｓｅｔ［ｓ＋４＊ｋ＋ｉ］＝
（（ｗ−ｉ）＊ｂａｎｄ＿ｏｆｆｓｅｔ［ｓ＋４＊ｋ］＋ｉ＊ｂａｎｄ＿ｏｆｆｓｅｔ［ｓ＋４＊（ｋ＋１）］＋（ｗ＞＞１））／ｗ；
｝
｝
【００６１】
より長い他のフィルタが様々な事例で使用され得る。この指定された範囲の外側の追加オフセットも、指定された範囲内のオフセットの値に基づいて外挿され得る。
【００６２】
図５は、ある実施形態の例示的な方法５００を示している。ボックス５０１にて、サンプリングされた映像データと関連する値の可能な振幅の範囲は、複数のバンドに細分化され得る。各バンドは、全体範囲における各振幅値が１つの単一の１バンド内となるように、全体の振幅範囲のうちの特定の部分集合に対応し得る。
【００６３】
オーバーヘッドの制限によって、既存のシステムでは、３２のバンドのうち４つの隣接バンドのセットのみ等、これらのバンドのうちの限定された連続数に対するオフセット値を指定することのみが可能であった。ある実施形態では、オフセットが明示的に指定された連続バンドのこの限定されたセットにオフセットを適用することのみができた。代替的な実施形態では、オフセットが指定された別のバンドに隣接しなかったバンドに対してオフセットを指定又は適用することもできなかった。
【００６４】
ボックス５０２にて、オフセットは、少なくとも２つの非隣接バンドのそれぞれに対してシグナリングされ得る。よって、例えば、バンド１、２、３、及び４等、互いに隣接する４つの連続バンドのセットに対してオフセットがシグナリングされることを要求する代わりに、オフセットは、ボックス５０２にて、例えば、バンド１、５、９、及び１３等、同一数又は異なる数の非隣接バンドに対してシグナリングされ得る。
【００６５】
ボックス５０３にて、オフセットは、ボックス５０２にてオフセットがシグナリングされた少なくとも２つの非隣接バンドの間の中間バンドに対して補間され得る。オフセットは、ボックス５０２にてシグナリングされた少なくとも２つの非隣接バンドに対するオフセットの値を使用して補間され得る。線形、バイリニア、多項式、及びスプライン補間を非限定的に含む任意タイプの補間アルゴリズムが使用され得る。
【００６６】
［非一様バンド］
他の事例では、サンプルは、非一様に分布し又は様々な範囲を有し得、その範囲では、例えばウェーバー−フェヒナーの法則により指定されるように、より小さな変化が裸眼でより知覚でき得る。これらの事例では、サンプル範囲は、均等に離間したバンドで一様に分割される必要がない。代わりに、バンドは、対数、指数、又は他の非線形関数を使用して分割され得る。例えば、幾つかの事例では、バンドは、以下の関数により規定され得る。
ｆ（ｘ）＝ｃｅｉｌ（ｌｏｇ２（ｘ＋１）），
ｆ（ｘ）＝ｃｅｉｌ（ｌｏｇ２（（１＜＜ｂｉｔＤｅｐｔｈ）−ｘ））
ｆ（ｘ）＝（ｘ＜＝（１＜＜（ｂｉｔＤｅｐｔｈ−１））？ｃｅｉｌ（ｌｏｇ２（ｘ＋１））：ｃｅｉｌ（ｌｏｇ２（（１＜＜ｂｉｔＤｅｐｔｈ）−ｘ））
ｆ（ｘ）＝ｒｏｕｎｄ（（２．０＾（ｆｌｏａｔ（ｘ）／ｆｌｏａｔ（（１＜＜ｂｉｔＤｅｐｔｈ）−１））＊３１））−３１
ｆ（ｘ）＝ｒｏｕｎｄ（（２．０＾（ｆｌｏａｔ（（１＜＜ｂｉｔＤｅｐｔｈ）−ｘ−１）／ｆｌｏａｔ（（１＜＜ｂｉｔＤｅｐｔｈ）−１））＊３１））−３１
【００６７】
これら及び他の関数は、各バンド内に様々な数のサンプルを伴う様々なバンドを作成するために使用され得る。別の実施形態では、バンドの数が明示的にシグナリングされるとともにサンプルの数がシーケンスにおけるそれぞれの各バンドと関連している、パラメータが提供され得る。幾つかの事例では、各バンドの開始点は、追加の開始点パラメータにより明示的に又は異なるようにシグナリングされ得る。他の事例では、既存のＨＥＶＣ仕様において提供されるこれらの方法は、シグナリングされるバンドを識別するためにも使用され得る。
【００６８】
補間は、これらの明確にシグナリングされたものを超える追加オフセットを識別するために使用され得る。中間バンドオフセットは、それらのサイズに依存せずに補間され得、又はサイズパラメータは、補間結果をスケーリングするために使用され得る。幾つかの事例では第１のバンド又は特定のバンドの作成処理は、符号化されたデータと関連するＳＰＳ、ＰＰＳ、スライスレベル、又は他のメタデータに含まれるパラメータによりシグナリングされ得る。
【００６９】
バンドは、各オフセット又は符号化されたマクロブロック、符号化ユニット、又は符号化ツリーユニットに対して動的に調節もされ得る。しかし、このことは、追加のバンド幅及びより複雑なバンドを生成するための演算能力を要求し得る。幾つかの事例では、各マクロブロック、符号化ユニット、又は符号化ツリーユニットに対してバンド仕切処理を切り替える代わりに、バンドオフセット及び／又はエッジオフセットモードの様々な変形を含むサポートされた様々なモードがシグナリングされ得る。加えて、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａ及びｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｃｈｒｏｍａ指標等のパラメータも、サポートされるモードの数をさらに増加させるために提供され得る。
【００７０】
図６は、ある実施形態の例示的な方法を示している。ボックス６０１にて、サンプリングされた映像データの可能な振幅値の範囲が識別され得る。ボックス６０２にて、識別された範囲に非線形演算が適用され得る。非線形演算は、幾つかのバンドが他のバンドよりも広く、多くの値を含む状態にある非一様バンドに振幅値の範囲を細分化し得る。非線形演算は、非一様バンドが生成され得る非一様な出力を生成する任意タイプの論理又は関数を含み得る。非線形演算は、指数、対数、又は少なくとも２次の多項式関数等の非線形関数を非限定的に含み得る。ボックス６０３にて、ボックス６０１にて識別された振幅範囲は、非線形演算を振幅範囲に適用した結果に基づいて非一様バンドに分割され得る。ボックス６０４にて、非一様バンドの識別子は、バンドが区別され得るように、符号化された映像データと関連するメタデータにおいてシグナリングされ、そうでなければメタデータに含まれ得る。幾つかの事例では、識別子は、各バンドの開始及び／又は終了を指定し得る。他の事例では、識別子は、第１のバンドの開始、及びバンドのそれぞれを識別するために使用される式又は他の判定基準を識別し得る。他の事例では、識別子は、様々な非一様バンドが提出され得る他のタイプの識別情報を含み得る。
【００７１】
［フォーカスされたエッジオフセットモード］
本明細書にて議論したように、既存のエッジオフセットモードでは、サンプルを区分するために、所定のサンプルの値が、水平、垂直、又は対角方向に隣接する８つのサンプルのうちの２つと比較される。既存のエッジオフセットモードは、サンプルのそれぞれの相対的な大きさを考慮せずに全てのサンプルを等しく考慮する。幾つかの事例では、エンコーダは、エッジ特徴に加えてサンプルの大きさを考慮し得、そのことは、エッジオフセッティングから最も利益を受けるであろう特定のエッジ、オブジェクト、又はエリアに関するフォーカスを向上させ得る。
【００７２】
特定のエッジ、オブジェクト、又はエリアに関するフォーカスは、ＳＡＯオフセットバンドの開始を示すためにバンドオフセットモードにおいて提供されるｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータ等のＳＡＯバンド指標パラメータをシグナリングを提供することにより実現され得る。このバンド指標パラメータは、エッジオフセットモードが適用されるべき、これらのバンド（単数又は複数）を指定し得る。言い換えれば、サンプルは、特定のバンドに属するかどうかを判定するために、まずチェックされ得る。エッジインデックスＥｄｇｅＩｄｘ判定基準は、次いで、サンプルが特定のバンドに属すると、まず判定された場合にのみ、適当なオフセットを決定するために適用され得る。
【００７３】
幾つかの事例では、単一のバンドは、現在のＨＥＶＣ仕様に指定される一様なサンプリングスキーム又は本明細書に記述するスキーム等の他の非一様なスキームのいずれかに基づいて、特定のバンドとして識別され得る。他の事例では、２つ以上の継続バンドを含む追加バンドも、処理されるべきバンドの追加数を指定する別のパラメータにより特定のバンドとして識別され得る。パラメータのそれぞれは、ＳＰＳ、ＰＰＳ、スライスヘッダを非限定的に含む、符号化された映像データと関連するメタデータ又はＳＡＯシンタックス内においてシグナリングされ得る。この拡張されたエッジオフセットモードは、既存のエッジオフセットモードを置き換えてもよく、追加タイプの動作モードとして提供されてもよい。
【００７４】
［システムの概観］
加えて、ＨＥＶＣがＳＡＯをループ内処理機構として適用する一方、本明細書に記述する実施形態の１つ以上は、ループ内ＳＡＯ処理機構の一部として適用され得、又はＨＥＶＣ等、コーデックに依存しない後処理機構として適用され得る。コーデックに依存しない後処理機構として適用されるこれらの実施形態の場合、付加拡張情報（ＳＥＩ）メッセージ、ＭＰＥＧ−２システムのユーザ指定メタデータ、又は他の機構を非限定的に含む搬送機構を使用して、コーデック内でＳＡＯメタデータをシグナリングすることもできる。加えて、本発明の実施形態は、何らかのＳＡＯを提供し得る他のコーデックに含まれ得る。これらの他のコーデックは、将来のコーデック、又はＨＥＶＣのスケーラブル若しくは３Ｄ／マルチビュー拡張等の、ＨＥＶＣの拡張を含み得る。
【００７５】
図７は、映像データを符号化及び復号するための要素を含む、本発明のある実施形態の符号化システム７００の単純化されたブロック図を示している。システム７００は、減算器７１２、変換ユニット７１４、量子化器７１６及びエントロピー符号化ユニット７１８を含み得る。減算器７１２は、ソースイメージからの入力動き補償ブロックを受信し、使用される予測モードに応じては、予測ユニット７５０からの予測された動き補償ブロックを受信し得る。減算器７１２は、予測されたブロックを入力ブロックから減算し、残り画素のブロックを発生させ得る。予測が実施されない場合、減算器７１２は、入力ブロックを変更せずに単純に出力し得る。変換ユニット７１４は、典型的には離散コサイン変換（「ＤＣＴ」）又はウェーブレット変換である空間変換に従って、受信するブロックを変換係数のアレイに変換し得る。量子化器７１６は、各ブロックの変換係数を量子化パラメータ（「ＱＰ」）に従って切り捨て得る。切り捨てのために使用されるＱＰ値は、チャネル内でデコーダに送信され得る。エントロピー符号化ユニット７１８は、例えば、可変長符号化アルゴリズム又はコンテキスト適応二進算術符号化のエントロピー符号化アルゴリズムに従って、量子化された係数を符号化し得る。上にて議論したメッセージ、フラグ、及び／又は他の情報を含む追加メタデータは、システム７００により出力され得る符号化されたデータに加えられてもよく、含まれてもよい。
【００７６】
システム７００は、逆量子化ユニット７２２、逆変換ユニット７２４、加算器７２６、フィルタシステム７３０、バッファ７４０、及び予測ユニット７５０も含み得る。逆量子化ユニット７２２は、量子化器７１６により使用されたＱＰに従って、符号化された映像データを量子化し得る。逆変換ユニット７２４は、再量子化された係数を画素領域に変換し得る。加算器７２６は、逆変換ユニット７２４から出力された残り画素を予測ユニット７５０からの予測された動きデータに加え得る。加算器７２６からの合計された出力は、フィルタリングシステム７３０に出力し得る。
【００７７】
フィルタリングシステム７３０は、デブロッキングフィルタ７３２、強度導出ユニット７３４、及びサンプルアダプティブオフセット（ＳＡＯ）フィルタ７３３を含み得る。フィルタリングシステム内のフィルタは、デコーダループ内の復号画像バッファ７４０に書き込まれる前の再構成されたサンプルに適用され得る。デブロッキングフィルタ７３２は、加算器５２６から出力された映像データを強度導出ユニット７３４により提供された強度で復元するためにデブロッキングフィルタリングを適用し得る。強度導出ユニット７３４は、上述した技術のいずれかを使用して強度値を導出し得る。ＳＡＯフィルタ７３３は、本明細書に記述するオフセット機能のうちの少なくとも１つを実施するように構成され得、幾つかの事例では本明細書に記述するオフセット機能のうちの２つ以上の様々な組合せを実施し得る。ＳＡＯフィルタリングは、本明細書に規定する特定条件を満たす全てのサンプルに適応的に適用され得る。ＳＡＯは、エンコーダにより送信されたルックアップテーブル内の値に基づいてオフセット値を各サンプルに条件的に加えることによって、復号されたサンプルを修正し得る。例えば、各サンプルの区分及びサンプルのオフセットを指定する区分インデックスは、ビットストリームにおいてエントロピーコーダ７１８により符号化され得る。復号プロセッサでは、区分インデックス及びオフセットは、対応するデコーダにより復号され得る。フィルタリングシステム７３０は、他のタイプのフィルタも含み得るが、それらは、本発明の本実施形態の提示を単に単純化するための図７には示されていない。
【００７８】
バッファ７４０は、フィルタリングシステム７３０により出力されるような復元されたフレームデータを記憶し得る。復元されたフレームデータは、後で受信されるブロックの符号化中に基準フレームとして使用するために記憶され得る。
【００７９】
予測ユニット７５０は、モード判定ユニット７５２、及び動き推定器７５４を含み得る。動き推定器７５４は、符号化されるソースイメージとバッファ７４０に記憶された基準フレーム（単数又は複数）との間におけるイメージの動きを推定し得る。モード判定ユニット７５２は、入力ブロックを符号化するために予測モードを割り当て、入力ブロック用の予測基準として役立てるためにバッファ７４０からブロックを選択し得る。例えば、モード判定ユニット７５２は、使用されるべき予測モード（例えば、一方向予測Ｐ−符号化又は双方向予測Ｂ−符号化）を選択し、そのような予測符号化に使用するための動きベクトルを発生させ得る。これに関して、予測ユニット７５０は、選択された基準フレームのバッファリングされたブロックデータをバッファ７４０から検索し得る。
【００８０】
図８は、本発明のある実施形態に係るデコーダ８００の単純化されたブロック図である。デコーダ８００は、エントロピーデコーダ８１８、逆量子化器８１６、逆変換ユニット８１４、加算器８１２、強度導出ユニット８３４、デブロッキングフィルタ８３２、及びＳＡＯフィルタ８３３を含み得る。デコーダ８００は、予測ユニット８５０及びバッファ８４０をさらに含み得る。
【００８１】
エントロピーデコーダ８１８は、例えば、可変長復号アルゴリズム又はコンテキスト適応二進算術復号等のエントロピー復号アルゴリズムに従って、チャネルから（又は不図示のチャネルバッファを介して）受信されたデータを復号し得る。逆量子化器８１６は、エントロピーデコーダ８１８から受信された係数データを量子化パラメータにより乗算し得る。逆変換ユニット８１４は、逆量子化器８１６から受信された逆量子化された係数データを画素データに変換し得る。逆変換ユニット８１４は、エンコーダの変換ユニットにより実施された変換演算（例えば、ＤＣＴ又はウェーブレット変換）の逆を実施し得る。加算器８１２は、逆変換ユニット８１４により取得された画素データを予測ユニット８５０から取得された予測された画素データに画素毎で加え得る。加算器８１２は、復元されたデータを出力し得、復元されたデータからは、復元されたフレームが構成され、表示装置（不図示）にレンダリングされ得る。フレームバッファ８４０は、復号されたデータを蓄積し、復号されたデータから再構成されたフレームを構築し得る。強度導出ユニット８３４は、上にて議論した技術のいずれかを使用して強度値を導出し得る。デブロッキングフィルタ８３２は、チャネルにより識別されたフィルタリングパラメータに従って、強度導出ユニット８３４により提供された強度で、復元されたフレームデータにデブロッキングフィルタリング演算を実施し得る。ＳＡＯフィルタ８３３は、本明細書に記述するオフセット機能のうちの少なくとも１つを実施するように構成され得、幾つかの事例では本明細書に記述するオフセット機能のうちの２つ以上の異なる組合せを実施し得る。ＳＡＯフィルタリングは、本明細書に規定する特定条件を満たす全てのサンプルに適応的に適用され得る。ＳＡＯは、エンコーダにより送信されたルックアップテーブル内の値に基づいてオフセット値を各サンプルに条件的に加えることによって、復号されたサンプルを修正し得る。例えば、各サンプルの区分及びサンプルのオフセットを指定する区分インデックスは、ビットストリームから読み取られ復号され得る。
【００８２】
図９は、本発明の実施形態での使用に適した複数端末システム９００を示している。システム９００は、チャネル９５０を介して相互接続される少なくとも２つの端末９１０、９２０を含み得る。一方向データ送信の場合、第１の端末９１０は、チャネル９５０を介して他の端末９２０に送信するためにローカル位置で映像データを符号化し得る。第２の端末９２０は、他の端末の符号化された映像データをチャネル９５０から受信し、符号化されたデータを復号し、復元された映像データを表示し得る。一方向データ送信は、メディアストリーミング用途等で良く知られている。
【００８３】
図９は、例えばビデオ会議中に生じ得る、符号化された映像の双方向送信をサポートするために提供される端末９３０、９４０の第２の対も示している。双方向データ送信の場合、各端末９３０、９４０は、チャネル９５０を介して他の端末に送信するためにローカル位置で取り込まれた映像データを符号化し得る。各端末９３０、９４０は、他の端末により送信された符号化された映像データを受信し得、符号化されたデータを復号し得、復元された映像データをローカル表示装置に表示し得る。
【００８４】
図９には、端末９１０〜９４０をサーバ、パーソナルコンピュータ及びスマートフォンとして示しているが、本発明の原理は、そのようなものに限定されない。本発明の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ及び／又は専用のビデオ会議機器における用途を見出す。各端末９１０〜９４０は、処理装置及びメモリを含み得る。処理装置は、メモリに記憶された指令を実行するように構成された中央処理ユニット、マイクロコントローラ、又は他の集積回路等の装置を含み得る。メモリは、ＲＡＭ、ＲＯＭ、ハードドライブ、フラッシュドライブ、及び光学ディスクを非限定的に含む、指令を記憶可能な任意の形の非一時的メディアを含み得る。チャネル９５０は、符号化された映像データを端末９１０〜９４０の間で伝達する、例えばワイヤ線及び／又は無線通信ネットワークを含む、任意数のネットワークを表す。通信ネットワークは、回路切替及び／又はパケット切替チャネルでデータを交換し得る。代表的なネットワークは、電話通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び／又はインターネットを含む。別の実施形態では、チャネル９５０は、例えば、電気、光又は磁気記憶装置である、記憶装置として設けられ得る。本議論の目的のために、チャネル９５０のアーキテクチャ及びトポロジは、本発明の動作にとって重要ではない。
【００８５】
前述の議論は、本発明の実施形態の動作をコーデックの文脈で記述してきた。一般に、コーデックは電子装置として提供される。コーデックを特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び／又はデジタル信号プロセッサ等の集積回路に具体化することができる。代替的に、コーデックをパーソナルコンピュータ、ノートブックコンピュータ又はコンピュータサーバの上で実行するコンピュータプログラムに具体化することができる。同様に、デコーダを特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び／又はデジタル信号プロセッサ等の集積回路に具体化することができ、或いはデコーダをパーソナルコンピュータ、ノートブックコンピュータ又はコンピュータサーバの上で実行するコンピュータプログラムに具体化することができる。デコーダは、ゲームシステム、ＤＶＤプレーヤ、携帯メディアプレーヤ等の民生用電子装置に一般に実装され、デコーダをビデオゲーム、ブラウザベースのメディアプレーヤ等の民生用ソフトウェアアプリケーションに実装することができる。これらの要素は、所望に応じて、専用ハードウェア要素及びプログラムされた汎用プロセッサの全体に機能性を分散させるハイブリッドシステムとして提供され得る。
【００８６】
前述の説明は、例示及び説明を目的として提示されてきた。説明は、網羅的ではなく、本発明の実施形態を開示される正確な形態に限定しない。修正及び変形は、上の教示の観点から可能であり、本発明と矛盾しない実践的な実施形態から習得され得る。本明細書に特に記述しない限り、本方法のいずれかが任意の組合せで実践され得る。例えば、シグナリングの本方法及び区分のための量子化因子の本導出方法は、任意の組合せで実践され得る。
【図１】
2018078611.tif 000010
【図２】
2018078611.tif 000011
【図３】
2018078611.tif 000012
【図４Ａ】
2018078611.tif 000013
【図４Ｂ】
2018078611.tif 000014
【図５】
2018078611.tif 000015
【図６】
2018078611.tif 000016
【図７】
2018078611.tif 000017
【図８】
2018078611.tif 000018
【図９】
2018078611.tif 000019
【図１０】
2018078611.tif 000020
【手続補正書】
【提出日】平成30年1月10日(2018.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオを復号する方法であって、
量子化因子、及び、現在の位置並びに少なくとも２つの隣接する位置の符号化画素値を識別することと、
前記現在の位置における符号化画素値を復号することと、
ここで、前記復号することは、前記量子化因子を前記現在の位置の中間復号画素データに適用することを含む、
前記現在の、及び、前記隣接する位置の復号画素値を評価することと、
前記評価に基づき、前記現在の位置における復号画素値をカテゴリに区分することと、
前記区分に基づき、オフセット値を導出することと、
前記導出されたオフセット値に従って前記現在の位置における前記復号画素データのサンプルアダプティブオフセットのフィルタリングを実行すること
を含むことを特徴とする方法。
【請求項２】
前記サンプルアダプティブオフセットのフィルタリングに基づく再構成された画素値を、復号ループにおける復号画像バッファに書き込むことを更に有することを特徴とする請求項１に記載の方法。
【請求項３】
前記評価することは、前記現在の位置の量子化後の復号画素値を前記隣接する位置の量子化後の復号画素値と比較することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記現在の位置における中間復号画素値と、隣接する位置における中間画素値との差分値を判定することとを更に有し、
前記評価することは、前記差分値の量子化の符号を評価すること含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記量子化後の復号画素値を、切り上げ／切り捨て計算を実行することを更に有することを特徴とする請求項１に記載の方法。
【請求項６】
前記量子化後の復号画素値を丸めることを更に有することを特徴とする請求項１に記載の方法。
【請求項７】
前記量子化因子を前記現在の位置の中間復号画素データに適用することは、前記量子化因子により前記現在の位置における中間復号画素値を除算することを含み、更に、
前記隣接する位置における中間復号画素値を前記量子化因子により除算することを含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
コンピュータが読み込み可能な記憶媒体であって、コンピュータにより実行されることで当該コンピュータに、
量子化因子、及び、現在の位置並びに少なくとも２つの隣接する位置の符号化画素値を識別させ、
前記現在の位置における符号化画素値を復号させ、
ここで、前記復号は、前記量子化因子を前記現在の位置の中間復号画素データに適用させることを含む、
前記現在の、及び、前記隣接する位置の復号画素値を評価させ、
前記評価に基づき、前記現在の位置における復号画素値をカテゴリに区分させ、
前記区分に基づき、オフセット値を導出させ、
前記導出されたオフセット値に従って前記現在の位置における前記復号画素データのサンプルアダプティブオフセットのフィルタリングを実行させる
ための命令を含むコンピュータが読み込み可能な記憶媒体。
【請求項９】
システムあって、
サンプルアダプティブオフセットのフィルタを含むビデオデコーダと、
プロセッサデバイスと、
命令を含むメモリとを有し、前記命令は、前記プロセッサデバイスにより実行させれたとき、前記プロセッサデバイスに、
量子化因子、及び、現在の位置並びに少なくとも２つの隣接する位置の符号化画素値を識別させ、
前記現在の位置における符号化画素値を復号させ、
ここで、前記復号は、前記量子化因子を前記現在の位置の中間復号画素データに適用させることを含む、
前記現在の、及び、前記隣接する位置の復号画素値を評価させ、
前記評価に基づき、前記現在の位置における復号画素値をカテゴリに区分させ、
前記区分に基づき、オフセット値を導出させ、
前記導出されたオフセット値に従って前記現在の位置における前記復号画素データに、前記サンプルアダプティブオフセットのフィルタを適用させる
ことを特徴とするシステム。
【外国語明細書】
2018078611000001.pdf