(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-22
(45)【発行日】2023-03-30
(54)【発明の名称】適応的スパースフィルタリングを用いた画像のデバンディング
(51)【国際特許分類】
G06T 5/00 20060101AFI20230323BHJP
H04N 19/85 20140101ALI20230323BHJP
【FI】
G06T5/00 705
H04N19/85
(21)【出願番号】P 2021535667
(86)(22)【出願日】2019-12-10
(86)【国際出願番号】 US2019065457
(87)【国際公開番号】W WO2020131494
(87)【国際公開日】2020-06-25
【審査請求日】2021-08-17
(32)【優先日】2018-12-19
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2018-12-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100101683
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100155000
【氏名又は名称】喜多 修市
(74)【代理人】
【識別番号】100188813
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100202197
【氏名又は名称】村瀬 成康
(72)【発明者】
【氏名】ガドギル,ニーラジ,ジェイ.
(72)【発明者】
【氏名】ソォン,チィン
(72)【発明者】
【氏名】スゥ,グワン‐ミーン
【審査官】橋爪 正樹
(56)【参考文献】
【文献】米国特許出願公開第2015/0092847(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/00- 5/50
H04N 19/85-19/895
(57)【特許請求の範囲】
【請求項1】
バンディングアーティファクトを低減するための方法であって、
画素値群を有する入力画像を受け取ることと、
前記入力画像のある一次元画素アレイ中において同じ画素値を有する1つ以上の画素のシーケンスであって開始位置と終了位置との間のシーケンスを特定して前記一次元画素アレイ中の対応する1つ以上の画像縞を特定することであって、前記1つ以上の画像縞のうちの1つの画像縞は、前記開始位置と前記終了位置との間の同じ画素値を有する画素の数として定義される前記縞の幅、および縞画素値によって特徴付けられる、1つ以上の画像縞を特定することと、
前記1つ以上の画像縞のうちの各画像縞について、
あるスパースフィルタに対し、前記スパースフィルタの中央タップの一画素と前記中央タップの隣のタップの一画素との間の連続した画素数を示すタップ距離パラメータを、前記画像縞の幅の関数として決定することであって、決定された前記タップ距離パラメータは前記画像縞の幅に正比例する、タップ距離パラメータを決定することと、
前記タップ距離パラメータを有する前記スパースフィルタを前記画像縞に適用することにより、フィルタリングされた出力画素値群を生成することと、
前記フィルタリングされた出力画素値群に基づいて出力画像を生成することと、
を含む、方法。
【請求項2】
前記スパースフィルタのタップ数は予め定められている、請求項1に記載の方法。
【請求項3】
前記タップ距離パラメータを有する前記フィルタを前記画像縞の一画素に適用することは、対応するタップの画素値群を前記予め定められたタップ数にわたって平均化することを含む、請求項2に記載の方法。
【請求項4】
前記平均化は、前記スパースフィルタの境界に位置する境界タップの画素値群を除外する、請求項3に記載の方法。
【請求項5】
フィルタリング決定閾値を受け取ることと、
各画像縞について、
中央タップの画素値とその他のタップの各画素値との間の複数の差を算出することと、
前記差の絶対値の最大値を算出することと、
をさらに含み、
前記スパースフィルタは、前記フィルタリング決定閾値と前記絶対値の最大値との比較に基づいて前記画像縞に適用される、
請求項1から4のいずれかに記載の方法。
【請求項6】
前記スパースフィルタは、前記絶対値の最大値が前記フィルタリング決定閾値を越えない場合に前記画像縞に適用される、請求項5に記載の方法。
【請求項7】
前記一次元画素アレイにおいて同じ画素値を有する1つ以上の画素のシーケンスを特定することは、前記入力画像のある色成分の画素値を、前記入力画像の行、前記入力画像の列、前記入力画像の列方向に対して45度の対角方向、または前記入力画像の列方向に対して-45度の対角方向にわたって解析することを含む、請求項1から6のいずれかに記載の方法。
【請求項8】
同じ画素値を有する1つ以上の画素のシーケンスを特定することは、
であることを検出することを含み、
s(k)は前記一次元画素アレイ中のk番目の位置における画素値を表し、
は前記一次元画素アレイ中のj番目の画像縞の開始位置を表し、
は前記一次元画素アレイ中の前記j番目の画像縞の終了位置を表し、α
jは前記j番目の画像縞の縞画素値を表す、請求項1から7のいずれかに記載の方法。
【請求項9】
前記1つ以上の画像縞のうちの3つの連続する画像縞を縞j、j+1、およびj+2とするとき、前記3つの連続する画像縞は、
である場合に1つの縞に併合され、
n
tolおよびα
tolは閾値であり、n
jは前記j番目の画像縞の幅を表す、
請求項8に記載の方法。
【請求項10】
j番目の画像縞について、前記画像縞の幅は
として決定され、
n
jは前記j番目の画像縞の幅を表し、
は前記一次元画素アレイ中の前記j番目の画像縞の開始位置を表し、
は前記一次元
画素アレイ中の前記j番目の画像縞の終了位置を表す、
請求項1から9のいずれかに記載の方法。
【請求項11】
前記フィルタリングされた出力画素値群を生成することは、
を算出することを含み、
w
iはi番目のフィルタ係数を表し、s(k)は前記画像縞におけるk番目の画素値を表し、s’(k)はk番目のフィルタリングされた出力画素値を表し、d[i]は中央タップからi番目のタップについてのタップ距離を表し、2u+1はフィルタタップの数を表す、請求項1から10のいずれかに記載の方法。
【請求項12】
i=-u+1からi=u+1までについてd[i]=i*qであり、qは前記スパースフィルタに対する前記タップ距離パラメータを表す、請求項11に記載の方法。
【請求項13】
であり、
mは2u-1より小さい整数である定数であり、Wは前記スパースフィルタによりフィルタリングされた前記画像縞の幅である、請求項12に記載の方法。
【請求項14】
請求項11から13のいずれかに記載の方法であって、請求項5に従属するとき、
を算出することをさらに含み、
Thは前記フィルタリング決定閾値を表し、
は前記複数の差を表し、
は前記差の絶対値の最大値を表す、方法。
【請求項15】
であり、
qおよびeは定数であり、qが奇数のときは
でありqが偶数のときは
である、請求項14に記載の方法。
【請求項16】
前記方法が前記入力画像の列にわたって実行されることにより第1の出力画像を生成し、前記方法が前記第1の出力画像の行にわたって実行されることにより第2の出力画像を生成する、請求項1から15のいずれかに記載の方法。
【請求項17】
前記方法が前記第2の出力画像の列方向に対して45度の対角線にわたって実行されることにより第3の出力画像を生成し、前記方法が前記第3の出力画像の列方向に対して-45度の対角線にわたって実行されることにより第4の出力画像を生成する、請求項16に記載の方法。
【請求項18】
請求項1から17のいずれかに記載の方法であって、請求項5に従属するとき、
画像距離条件にしたがって前記入力画像および前記出力画像間の画像距離メトリックを算出することと、
前記画像距離メトリックを継続閾値と比較することと、
前記画像距離メトリックが前記継続閾値より大きい場合に、
前記フィルタリング決定閾値を減少することにより第2のフィルタリング決定閾値を生成し、
前記第2のフィルタリング決定閾値を用いて請求項1から17のいずれかに記載の方法にしたがって前記出力画像をフィルタリングすることにより第2の出力画像を生成することと、
そうでない場合に、前記出力画像を出力することと、
をさらに含む、方法。
【請求項19】
前記画像距離メトリックを算出することは、前記入力画像の画素値群と前記出力画像の画素値群との間の対応する画素値の差の絶対値の総和を画素数で割った値を算出することを含む、請求項18に記載の方法。
【請求項20】
1つ以上のプロセッサによって実行された場合に、請求項1から19のいずれかに記載の方法を前記1つ以上のプロセッサに実行させるコンピュータ実行可能命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像全般に関する。より詳細には、本発明の一実施形態は、適応的スパースフィルタリングを用いて画像におけるバンディングアーティファクトを低減することに関する。
【背景技術】
【0002】
本明細書において、用語「ダイナミックレンジ」(DR)は、人間の視覚システム(HVS)が画像においてある範囲の強度(または明るさ:intensity)(例えば、輝度、ルマ)(例えば、最暗のグレー(黒)から最明の白(ハイライト)まで)を知覚する能力に関連し得る。この意味では、DRはシーン-リファード(scene-referred)の強度に関する。DRはまた、ディスプレイデバイスが特定の幅を有する強度範囲を妥当にまたは近似的に描画する能力にも関連し得る。この意味では、DRは、ディスプレイ-リファード(display-referred)の強度に関する。本明細書中の任意の箇所において、ある特定の意味が特に明示的に指定されている場合を除いて、この用語はどちらの意味としても(例えば、区別なく)使用され得る。
【0003】
本明細書において、ハイダイナミックレンジ(HDR)という用語は、人間の視覚システム(HVS)において14~15桁にわたるDR幅に関する。実際において、人間が広範囲の強度範囲を同時に知覚し得るDRは、HDRに対して幾分端折られ得る。本明細書において、視覚ダイナミックレンジ(VDR)またはエンハンストダイナミックレンジ(EDR)という用語は、個別に、または区別なく、人間の視覚システム(HVS)(眼球運動を含み、シーンまたは画像にわたってある程度の明順応変化を可能にする)が、あるシーンまたは画像中において知覚可能なDRに関する。本明細書において、VDRは、5~6桁にわたるDRに関連し得る。従って、真のシーンリファードのHDRに対しては幾分狭いものの、VDRまたはEDRは広いDR幅を表し、HDRとも呼ばれ得る。
【0004】
実際において、画像は1つ以上の色成分(例えばルマYおよびクロマCbおよびCr)を有しており、各色成分は、画素あたりnビットの精度(例えばn=8)で表される。線形輝度符号化(linear luminance coding)を用いた場合、n≦8の画像(例えばカラー24ビットJPEG画像)はスタンダードダイナミックレンジとされ、n>8の画像はエンハンストダイナミックレンジの画像とされる。HDR画像はまた、Industrial Light and Magicが開発したOpenEXRファイルフォーマットなどの高精度の(例えば16ビット)浮動小数点フォーマットを用いて、格納および配信され得る。
【0005】
ほとんどのコンシューマ用デスクトップディスプレイは現在、200~300cd/m2またはニトの輝度をサポートしている。ほとんどのコンシューマ用HDTVは300~500ニトの範囲であるが、新しいモデルは1000ニト(cd/m2)に達する。このような従来のディスプレイはしたがって、HDRに対し、より低いダイナミックレンジ(LDR)(またはスタンダードダイナミックレンジ(SDR)とも呼ばれる)の典型例となる。キャプチャ機器(例えばカメラ)およびHDRディスプレイ(例えばDolby LaboratoriesのPRM-4200プロフェッショナルリファレンスモニタ)両方の進化によって、HDRコンテンツの普及率が高まるにつれ、HDRコンテンツはカラーグレーディングされてより高いダイナミックレンジ(例えば1,000ニトから5,000ニト以上)をサポートするHDRディスプレイ上に表示されることがある。
【0006】
本明細書において、「バンディング」(「カラーバンディング」とも呼ばれる)という用語は、変化する輝度の縞として同一の色の濃淡が表示される、イメージングおよび映像における視覚的アーティファクトのことを指す。目に見える場合、バンディングは目障りであり、低品質な符号化または低品質な表示を示すものであるとしばしば考えられている。本発明者らの理解によると、映像コンテンツ、特にHDRコンテンツを表示する際にバンディングを低減するための改良技術が望まれる。
【0007】
本節に記載されている手法は、探求し得る手法ではあるが、必ずしもこれまでに着想または探求されてきた手法ではない。従って、別途示唆のない限り、本節に記載された手法のいずれも、本節に記載されているという理由だけで従来技術としての適格性を有すると考えるべきではない。同様に、別途示唆のない限り、1以上の手法に関して特定される問題が、本節に基づいて、いずれかの先行技術において認識されたことがあると考えるべきではない。
【図面の簡単な説明】
【0008】
同様の部材に同様の参照符号を付した添付図面の各図において、本発明の一実施形態を限定する事なく例示する。
【0009】
【
図1】
図1は、映像供給パイプラインのプロセス例を示す。
【0010】
【
図2】
図2は、本発明の一実施形態におけるバンディングアーティファクトを低減するプロセス例を示す。
【0011】
【
図3A】
図3Aは、本発明の一実施形態における、画像縞を決定するためのプロセス例を示す。
【0012】
【
図3B】
図3Bは、本発明の一実施形態における、バンディングを緩和するプロセス例を示す。
【0013】
【
図4】
図4は、本発明の一実施形態における、マルチスキャン適応的スパースフィルタリングを用いてバンディングを緩和するプロセス例を示す。
【0014】
【
図5】
図5は、マルチスキャンフィルタリング方向の例を示す。
【0015】
【
図6】
図6は、本発明の一実施形態における、反復的マルチスキャン適応的スパースフィルタリングを用いてバンディングを緩和するプロセスの例を示す。
【発明を実施するための形態】
【0016】
適応的スパースフィルタリングを用いて、画像および映像コンテンツ中のバンディングアーティファクトを低減することを、本明細書に記載する。バンディングアーティファクトを有する入力画像が与えられたとき、入力画像における縞の特性に応じて、1つ以上の適応的スパースフィルタのパラメータが、フィルタが画像に適用される前に調節される。以下の説明においては、便宜上、本発明を完全に理解できるように、多数の詳細事項を説明する。ただし、これらの詳細事項が無くても本発明を実施可能であることは明白であろう。他方、本発明の説明を不必要に煩雑にしたり、不明瞭にしたり、難読化したりしないように、周知の構造およびデバイスの細かな詳細までは説明しない。
概要
本明細書において記載する実施形態例は、画像および映像シーケンスにおけるバンディングアーティファクトを低減するための方法に関する。本方法は、エンコーダまたはデコーダに実装され得る。
ある実施形態において、エンコーダまたはデコーダは、画素値群を有する入力画像、および任意にフィルタリング決定閾値を受け取る。前記エンコーダまたはデコーダは、前記入力画像のある一次元画素アレイ中における開始位置と終了位置との間において同じ画素値を有する1つ以上の画素のシーケンスを特定して対応する1つ以上の画像縞を生成する。前記一次元画素アレイは、前記入力画像の画素値群、および画素方向(例えば行、列、または対角線にわたる)に基づいている。前記エンコーダまたはデコーダは、前記一次元画素アレイ中の画素値群を解析することにより、1つ以上の画像縞を特定する。特定された各画像縞は、前記縞の幅と縞画素値とによって特徴付けられる。前記縞の幅は、前記開始位置と前記終了位置との間の同じ値を有する画素数として定義される。前記1つ以上の画像縞のうちの各画像縞について、前記エンコーダまたはデコーダは、あるスパースフィルタに対し、前記スパースフィルタのあるタップの一画素と別のタップの一画素との間の連続した画素数を示すタップ距離パラメータを、前記画像縞の幅の関数として決定する。前記エンコーダまたはデコーダは、決定された前記タップ距離パラメータを有する前記スパースフィルタを、前記画像縞に適用し得る。前記スパースフィルタが前記画像縞に適用され、フィルタリングされた出力画素値群が生成される。エンコーダまたはデコーダは、前記フィルタリングされた出力画素値群に基づいて出力画像を生成する。
言い替えれば、前記特定された画像縞のうちのある画像縞について、本方法は、前記画像縞の幅に基づいて適応的スパースフィルタのためのタップ距離パラメータを決定し、前記タップ距離パラメータを有する前記適応的スパースフィルタを前記画像縞の画素値群に適用することにより、フィルタリングされた出力画素値群を生成する。そして、前記フィルタリングされた出力画素値群に基づいて出力画像を生成する。
ある実施形態において、前記タップ距離パラメータは、中央タップの一画素と近接タップの一画素との間で決定される。
ある実施形態において、前記スパースフィルタのタップ数は予め定められている。
ある実施形態において、前記決定されたタップ距離パラメータは、前記画像縞の幅に正比例する。
ある実施形態において、予め定められた前記タップ数が増加するにつれて前記タップ距離パラメータは減少する。
ある実施形態において、前記タップ距離パラメータを有する前記フィルタを前記画像縞の一画素に適用することは、前記スパースフィルタの対応するタップの画素値群を前記予め定められたタップ数にわたって平均化することを含む。
ある実施形態において、前記平均化は、近接する画像縞の境界に位置する境界タップの画素値群を除外する。前記フィルタのエッジの2つのタップは、平均を算出する際に無視される。
ある実施形態において、本方法は、フィルタリング決定閾値を受け取ることをさらに含み、さらに、各画像縞について、中央タップの画素値とその他のタップの各画素値との間において複数の差を算出することと、前記差の絶対値の最大値を算出することとを含む。この実施形態において前記スパースフィルタは、前記フィルタリング決定閾値と前記絶対値の最大値との比較に基づいて前記画像縞に適用される。
ある実施形態において、前記スパースフィルタは、前記タップ距離パラメータが前記フィルタリング決定閾値を越えない場合に前記画像縞に適用される。
ある実施形態において、前記スパースフィルタは、前記タップ距離パラメータが前記フィルタリング決定閾値を超える場合に前記画像縞に適用されず、前記画素群はフィルタリングされずに残る。
ある実施形態において、前記一次元画素アレイにおいて同じ画素値を有する1つ以上の画素のシーケンスを特定することは、前記入力画像のある色成分の画素値を、前記入力画像の行、前記入力画像の列、前記入力画像の45度対角方向、または前記入力画像の-45度対角方向にわたってサンプリングすることを含む。
ある実施形態において、前記バンディングアーティファクトを低減するための方法が、前記入力画像の列にわたって実行されることにより第1の出力画像を生成する。前記バンディングアーティファクトを低減するための方法が、前記第1の出力画像の行にわたって実行されることにより第2の出力画像を生成してもよい。
ある実施形態において、前記縞状アーティファクトを低減するための方法が前記第2の出力画像の45度対角線にわたって実行されることにより第3の出力画像を生成してもよく、前記バンディングアーティファクトを低減するための方法が前記第3の出力画像の-45度対角線にわたって実行されることにより第4の出力画像を生成してもよい。
ある実施形態において、前記方法は、画像距離条件にしたがって前記入力画像および前記出力画像間の画像距離メトリックを算出することと、前記画像距離メトリックを継続閾値と比較することと、前記画像距離メトリックが前記継続閾値より大きい場合に、前記フィルタリング決定閾値を減少することにより第2のフィルタリング決定閾値を生成し、前記第2のフィルタリング決定閾値を用いて請求項1から13のいずれかに記載の方法にしたがって前記出力をフィルタリングすることによって第2の出力画像を生成することと、そうでない場合に前記出力画像を出力することと、をさらに含んでもよい。
【0017】
映像供給パイプライン例
図1は、従来の映像供給パイプライン(100)のプロセス例を示しており、映像のキャプチャから映像コンテンツの表示までの、様々な段を示している。画像生成ブロック(105)を用い、映像フレームのシーケンス(102)をキャプチャまたは生成する。映像フレームは、デジタル的にキャプチャされるか(例えばデジタルカメラにより)またはコンピュータによって生成(例えばコンピュータアニメーションを用いて)されることにより、映像データ(107)が得られる。あるいは映像フレーム(102)は、銀塩カメラによってフィルム上に取得されてもよい。フィルムがデジタルフォーマットに変換されることによって、映像データ(107)が得られる。プロダクションフェーズ(110)において、映像データ(107)は編集され、映像プロダクションストリーム(112)を得る。
【0018】
プロダクションストリーム(112)の映像データは次に、ブロック(115)のプロセッサに与えられて、ポストプロダクション編集を受ける。ブロック(115)ポストプロダクション編集は、画像の特定の領域の色または明るさを調節または変更することにより、映像制作者の制作意図にしたがってその画像が特定の見え方をするようにしたり、画質を上げたりすることを含み得る。これは、「カラータイミング」あるいは「カラーグレーディング」と呼ばれることがある。ブロック(115)において、その他の編集(例えば、シーン選択およびシーケンシング、画像クロッピング、コンピュータ生成された視覚的特殊効果の追加など)を行うことにより、プロダクションの、配信用の最終バージョン(117)を作成してもよい。ポストプロダクション編集(115)において、映像イメージは、リファレンスディスプレイ(125)上で視聴される。
【0019】
ポストプロダクション(115)の後、最終プロダクションとしての映像データ(117)は、下流のテレビ受像機、セットトップボックス、映画館などの復号・再生機器まで供給されるために、符号化ブロック(120)に供給されてもよい。いくつかの実施形態において、符号化ブロック(120)は、符号化されたビットストリーム(122)を生成するための、ATSC、DVB、DVD、ブルーレイおよびその他の供給フォーマットに規定されるような音声および映像エンコーダを有していてもよい。受信機において、符号化されたビットストリーム(122)は、復号ユニット(130)により復号されることにより、信号(117)と同一またはこれに近い近似を表す、復号された信号(132)を生成し得る。受信機は、リファレンスディスプレイ(125)と全く異なる特性を有し得るターゲットディスプレイ(140)に取り付けられていてもよい。その場合、ディスプレイマネジメントブロック(135)を用いてディスプレイマッピング化信号(137)を生成することで、復号された信号(132)のダイナミックレンジを、ターゲットディスプレイ(140)の特性にマッピングしてもよい。
映像データ(107)は、エンハンストSDR(SDR+)コンテンツを含むSDRまたはHDRコンテンツと、画像メタデータとを含んでもよい。画像メタデータは、映像供給パイプライン(100)の下流にある受信側デバイスが、SDR映像コンテンツを復号したものに対して画像処理操作を行うために使用され得る。SDR映像コンテンツの例としては、SDR+映像コンテンツ、SDR画像、SDR映画リリース、SDR+画像、SDRメディアプログラムなどであってもよいが、必ずしもこれらだけに限定されない。
【0020】
本明細書では、拡張SDRまたは「SDR+」という用語は、SDR画像データとメタデータの組み合わせを意味し、これらを組み合わせることで、対応するハイダイナミックレンジ(HDR)画像データを生成することができる。SDR+画像のメタデータには、入力されたSDR画像に適用されたとき対応するHDR画像を生成する、逆方向再構成マッピングを生成するためのコンポーザーデータが含まれる場合がある。SDR+画像は、旧式SDRディスプレイ(SDR+画像のメタデータを無視して単にSDR画像を表示することができる)との後方互換性を可能にする。
【0021】
バンディングとは、表示または印刷された画像中に、目に見える「縞」のような形で現れる、顕著な視覚的アーティファクトのことである。映像において、このような縞は時間とともに変化することが多く、視聴者にとって著しく邪魔となる。画像のバンディングは、撮像の不備、圧縮やトランスコーディングの不備、非効果的または不十分な後処理技術の使用が原因となることが多い。バンディングでは、第1の連続した画素の集合が第1の同じ画素値を有する傾向があり、これにより「縞」が定義される。この集合の後に、第2の同じ画素値を有する第2の画素値の集合が続く。このパターンは、画像に縞々として現れる。バンディングアーティファクトの除去(本明細書において「デバンディング」ともいう)では、画像の真のエッジを維持しながら、バンディングアーティファクトを低減または除去することが課題となる。画像のデバンディングは、前処理ステップ(例えば、符号化(120)の前、ポストプロダクション(115)の一部として、または他の前処理の一部として)または後処理ステップ(例えば、復号(130)の後、ディスプレイマネジメント(135)の一部として、または他の後処理の一部として)の両方として実行することができる。
【0022】
バンディングアーティファクトを低減するためのシステム例
図2は、一実施形態によるバンディングアーティファクトを低減するためのデータフロー(200)の例を示す。
図2に示すように、典型的には画像バッファに格納されている画像画素の集合が与えられると(205)、ステップ210において、画像の画素を解析して、バンディングアーティファクトを特徴付ける特性、例えば、各縞の位置、画素値、および幅を決定する。ある実施形態において、一次元画素アレイ中における連続した画素のシーケンスは、この一次元画素アレイ中における開始点と終了点との間のすべての画素値が同じ画素値を持つ場合、縞として特定される。数学的には、これは次のように表すことができる。
ここで、s(k)は一次元画素アレイのk番目の位置における画素値を示し、
はj番目の画像縞の始点を、
はj番目の縞の終点を、α
jは縞の画素値を示す。
【0023】
検出されたバンディングについての算出された特性が与えられると、ステップ215において、適応的スパースフィルタ(ASF)のパラメータ、例えば、スパースフィルタのタップの画素スパン(画素数で表される)を生成する。スパースフィルタのスパン(またはサイズ)は、境界タップ間の画素数として定義することができる。最後に、ステップ220において、適応的スパースフィルタを入力画素データに適用し、バンディングアーティファクトを低減した出力画像を生成する。フィルタリングは、画像における行、列、または角度(例えば、45度および-45度、または他の任意のサンプリング方向)の画素値にわたって適用され得る。
【0024】
ある実施形態において、本明細書に記載されるスパース有限入力応答(FIR)フィルタリングは、例示的な表現として、以下のように定義され得る。
【数1】
ここで、w
iはi番目のフィルタ係数であり、s(k)は入力信号のk番目の画素値であり、s’(k)は対応するフィルタリングされた出力画素値、d[i]はi番目のタップのタップ距離(画素数で表す)、2u+1はフィルタタップの数、すなわち式1のフィルタ項の数を示す。ある実施形態において、タップ距離d[i]は、中央の画素タップからの距離(画素数で表す)を示す。
スパースフィルタが入力画像に適用されたとき、フィルタは入力画像と畳み込まれ得る。画像とスパースフィルタとの畳み込みが、いわゆるフィルタリングされた画像を表す。
【0025】
ある実施形態において、i=-u+1からu-1までに対してはd[i]=i*qであり、d[u]=(u-1)*q+eであり、d[-u]=(-u+1)*q-eであり、qおよびeはフィルタリング距離パラメータを示す。ある実施形態において、qが奇数であれば
であり、qが偶数であれば
である。式(1)におけるフィルタリング係数は、典型的には、平均化フィルタなどの平滑化ローパスフィルタを表す。
【0026】
いくつかの実施形態において、タップi=-uおよびi=uについては、w
i=0である。しかしながら、以下に説明するように、これらのタップにおける入力サンプルは、画素差を算出するために使用され、中央画素s(k)を平滑化するかどうかを決定するのに役立つ。これにより、フィルタの境界でのエッジやテクスチャの保存に対するロバスト性を向上させることができる。つまり、境界タップによって、太いエッジをよりよく保存することができる。例えば、
【数2】
が、中央タップの入力画素値(s(k))と残りの各フィルタタップの入力画素値との差を表すものとし、
【数3】
とすれば、一実施形態において、フィルタリングは
の場合のみ行われる。ここで、Thはフィルタリング決定閾値(例えばTh=16)を示す。例えば、限定はしないが、7タップ(例えばu=3)の条件付き適応的スパースフィルタは以下のように記述される。
【数4】
【0027】
したがって、i=3および-3についてはw
i=0であり、i=-2から2までについてはw
i=1/5であり、スパース平均化有限インパルス応答(FIR)フィルタを表している。
を算出して閾値Thと比較することは、エッジが検出された場合にスパースフィルタリングがスキップされるような、エッジ検出動作として特徴付けられ得る。したがって、Thはエッジ検出閾値と呼ばれ得る。他の実施形態においては、本明細書で示した条件付きスパースフィルタリングの実行を、当業者に公知の他のエッジ検出アルゴリズムで置き換えることができる。
【0028】
式(4)より、フィルタ出力は、近接するタップ間の連続した画素数を示すスパースフィルタリング距離パラメータqに依存する。広い縞を有する画像の場合、これらの縞を除去するためにはqを大きくする必要があるが、qを大きくしすぎると、画像の一部が平滑化されすぎてしまう傾向があり、これもまた好ましくない。そのため、局所的な画素パラメータに基づいて適応的にqを選択する必要がある。バンディングを有するテスト画像を用いた実験では、
を用いることで最良の結果が得られる。ここで、Wは画像中の縞の幅であり、mは正整数の定数(例えばm=2)であるが2u-1の倍数ではない。例えば、限定はしないが、式(4)の7タップフィルタ(u=3)において、スパースフィルタ中の近接するサンプル間の距離(q)は、
の倍数である。ある実施形態において、距離パラメータqは、バンディング(W)の幅の推定値などの、局所的な画素特性に基づいて適応的に調節される。7タップのフィルタについては、実験の結果はmの値が1と4の間である場合に最もうまくいくことを示唆している。フィルタリングされた中央画素である式(4)のs’[k]は、画像縞の幅の関数であるタップ距離パラメータqに依存するため、同じ画像縞の画素は、同じqの値を持つスパースフィルタ、すなわち同じスパン(またはサイズ)のスパースフィルタでフィルタリングされる。異なる画像縞の画素は、異なるqの値を持つスパースフィルタ、すなわち、異なるスパン(またはサイズ)のスパースフィルタでフィルタリングされる。
【0029】
図2に戻って、ステップ210は、縞の幅Wなどの画素特性を特定する画素解析ステップを含む。ある実施形態において、「縞」とは、同じ画素値を有する近接画素の1グループとして定義される。N個の画素グループ(または画像縞)群を考え、そのそれぞれが、縞の位置を示す開始画素インデックスおよび終了画素インデックスと、グループの画素値(例えばルマ符号語)と、画素数すなわち縞の幅Wとを有するとする。開始画素インデックスおよび終了画素インデックスを
とし、画素バッファ(205)のj番目の縞に属する全画素の画素値をα
jとする。すると、j番目の縞中の画素数は、
として与えられる。
【0030】
ある実施形態において、同じ縞画素値を有する2つの縞だが、1つの非常に近い画素値(すなわち迷い画素)の縞によって隔てられた2つの縞を、単一の縞に併合してもよい。例えば、3つの連続した縞(縞j、j+1、およびj+2)は、以下のときに併合され得る。すなわち、
・第2の縞(j+1)中の画素数が閾値よりも小さく(これは、1つの縞中の迷い画素を考慮している)、かつ、
・縞jおよびj+1のα値が閾値以内であり(すなわち、縞j+1中の迷い画素値は、j番目の縞において支配的な画素値に近い値を有さなければならない)、かつ、
・縞jおよびj+2のα値が同じである。すなわち、もし縞jおよびj+2における画素値が異なる場合(すなわちα
j≠α
j+2)、縞jおよびj+1は併合されない。
これらの3つの条件は次のように表現され得る。
【数5】
であるとき、j、j+1、およびj+2の縞は、単一の縞に併合され得る。
ここでn
tolおよびα
tolは閾値である。3つの縞が1つの縞(例えば縞j)に併合されるとき、
であり、後続の縞(例えばk番目の縞、ここでk>j+2)はリナンバリングされ、そして新たに形成された縞jと後続の縞とが、併合の可能性について再び解析される。
【0031】
例えば、一実施形態において、48~65インチ(対角)の範囲のディスプレイ用の、ハイデフィニション(例えば1080p)の元の10ビットSDR画像について、ntol=5,αtol=1である。8ビットから10ビットに変換された画像について、αtol=2(10-8)=4を用いることで、8ビット符号語1語分の許容誤差を与えてもよい。そのような画像を生成する1つの方法は、各画素において8ビットデータを左ビットシフトすることにより、0のビットを末尾に2つ有する10ビット画素値を生成することである。これにより、隣接する符号語間の差が2(10-8)=4となる。HDR画像については、αtolを、2つの隣接するHDR符号語間の距離の関数(例えば最小値、最大値、または平均値)として定義してもよい。
【0032】
ある実施形態による、縞の併合と適応的スパースフィルタリングの実行の例を
図3Aおよび
図3Bに示す。
図3Aに示すように、一例として、ラインバッファ内の輝度画素群の分析により、6つの縞(305-0~305-5)が特定されており、それぞれの縞は、j=0~5について、縞内の画素数(n
j)、縞画素値(α
i)、および各縞の開始画素位置(
)および終了画素位置(
)によって特徴付けられる。n
2<n
tol、|α
2-α
1|≦α
tolかつα
1=α
3と仮定すれば、縞305-1、305-2、305-3を単一の縞(310-1)に統合し得、残りの縞はリナンバリングされること以外についてはそのままである。例えば、縞310-0は、縞305-0と同じ縞特性(例えば、開始、終了、画素縞値、および幅)を有し、縞310-2は、縞305-4と同じ縞特性を有し、縞310-3は、縞305-5と同じ縞特性を有する。
【0033】
画像縞の併合後(310-0~310-3)、各縞につき、ステップ215に示すように、各縞のq
1値を式(5)をW=n
jについて用いて、すなわち
として決定する。次に、ステップ220に示すように、各縞を対応するスパースフィルタによってフィルタリングする。例えば、
図3Bの上側は、各縞がq
i(i=0、1、2および3)を用いたフィルタによってフィルタリングされることを示す。
図3Bの下側は、310-1の縞を式(4)の7タップのASFを用いてスパースフィルタリングする例を示しており、ここでq=q
1であり、フィルタタップを
【数6】
に有している。
【0034】
マルチスキャン適応的スパースフィルタリング
画像が2次元であることを考慮すると、いくつかの実施形態では、水平、垂直、および/または対角などの複数の次元にわたってスパースフィルタリングを適用することが好ましい場合がある。そのような実施形態におけるプロセス例(400)を
図4に示す。限定はしないが、フィルタリング方向の例を
図5に示す。
図4に示されるように、デバンディングフィルタリングは、以下のような様々な方向にわたって、元の一次元デバンディング処理200の1回以上の適用を含んでもよい。すなわち、垂直フィルタリング(405)(画像列505にわたって)、水平フィルタリング(410)(画像行510にわたって)、第1の対角フィルタリング(420)(例えば、45度である角度520にわたって)、および第2の対角フィルタリング(425)(例えば、-45度である角度525にわたって)である。典型的には、デバンディングフィルタリングは、ルマ画素成分(例えば、YCbCrにおけるY)にわたって実行される。ただし、同じフィルタリングが、任意の色空間(例えば、RGBなど)の任意の色成分にわたって、また、複数の色成分にわたって実行されてもよい。いくつかの実施形態において、フィルタリングは、
図4に示す4つの方向のうち、1つ、2つ、または3つのみにわたって実行されてもよく、あるいは、他の角度方向(図示せず)にわたって実行されてもよい。
【0035】
「縞」は、各方向において再定義されることに留意されたい。ただし、マルチパスフィルタリングでは、1つのパスの出力画像を後続のパスの入力画像として使用する。
【0036】
マルチコアまたはマルチスレッドシステムでは、デバンディング処理を並列化してもよい。例えば、列ベースのフィルタリングでは、処理時間を短縮するために、複数の列(例えば、505-1、505-2、…、505-n)を、それぞれプロセス200を用いて並列にフィルタリングしてもよい。
【0037】
反復マルチスキャン適応的スパースフィルタリング
特定の場合において、一般的に、特定の領域(例えば、暗部)での圧縮が不十分なため、前述のマルチスキャンフィルタリング処理(400)を適用しても、まだ目に見えるバンディングが見られることがある。ある実施形態において、そのようなコンテンツに対処する1つの方法は、ASFのエッジ検出閾値Thを増大させることであるが、そのようなフィルタリングは、テクスチャやエッジなどの必要な詳細を除去してしまう可能性もある。その代わりに、第1のマルチスキャンASFパスの出力に第2のマルチスキャンASF(MASF)パスを適用すると、画像がより滑らかになり、その結果、バンディングアーティファクトがさらに減少する可能性がある。したがって、このような画像においてMASFを反復的に実行することが有効である。このセクションでは、いくつかの動作条件が満たされるまでMASFを繰り返し実行する、反復的MASFアルゴリズムについて説明する。
【0038】
図6は、反復マルチスキャン適応的スパースフィルタリングのプロセス例を示す図である。入力画像(I
orig)が与えられると、ステップ605は、フィルタリング決定閾値Th(式(4)参照)を初期値に設定する(例えば、Th=16)。次に、ステップ610は、MASFアルゴリズム(例えば、プロセス400による)を適用して、フィルタリングされた画像I
outを生成する。Pを画像内の総画素数とする。また、現在のイテレーションにおけるMASFの入力および対応する出力画像画素のi番目のルマ画素値をI
in(i)およびI
out(i)とする。次に、ステップ615で、2つの画像間の歪みの指標である、θを計算する。例えば、限定はしないが、一実施形態において、現在のイテレーションのI
inとI
outとの間の画素あたりの絶対差の平均和(SAD)を計算することができる。これは、
と計算される。
【0039】
いくつかの実施形態において、θは平均二乗誤差基準などの代替基準を用いて計算してもよい。θを算出することは、ステップ620において、閾値Θと比較することで、処理を継続するかどうかを決定するのに役立つ。閾値Θは、経験的に決定されてもよい。θ<Θであれば、出力画像はバンディングアーティファクトがないとみなされ、反復的プロセスは停止する。そうでなければ、ステップ625において、元のフィルタリング決定閾値(Th)が減少されるが、ゼロ以下にはならない。例えば、一実施形態では、各イテレーションにおいて閾値を半分にするが、代替的方法も適用することができる(例えば、Thを1、2、または小さな整数値nだけ減らすことによってなど)。閾値Thを減少させる方法がない場合、処理は終了し、そうでない場合、Iin=Iout(627)となり、処理は再びステップ610に続く。
【0040】
上述のように、以下の2つの条件のいずれかが最初に満たされたときに、反復的プロセスは終了する。
・θ<Θ:Θは、画素値に視覚的に無視し得る変化のみが存在することを示すパラメータ。式(8)のSAD条件を用い、実験の結果から0.1または0.2のΘ値により満足し得る結果が得られることが示されている。
・Th≦0:これは、フィルタリング後に変化した画素値が無いと決定することに相当する。
【0041】
コンピュータシステム実装例
本発明の実施形態は、コンピュータシステム、電子回路およびコンポーネントで構成されたシステム、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)または他のコンフィギュラブルまたはプログラマブルロジックデバイス(PLD)、離散時間またはデジタル信号プロセッサ(DSP)、特定用途向けIC(ASIC)などの集積回路(IC)デバイス、および/または、このようなシステム、デバイスまたはコンポーネントを1つ以上含む装置、を用いて実施し得る。このコンピュータおよび/またはICは、本明細書に記載のようなバンディングアーティファクトを低減することに関する命令を行い、制御し、または実行し得る。このコンピュータおよび/またはICは、本明細書に記載のバンディングアーティファクトを低減することに関する様々なパラメータまたは値のいずれを演算してもよい。これらの画像および映像ダイナミックレンジ拡張実施形態は、ハードウェア、ソフトウェア、ファームウェア、および、その様々な組み合わせで実施され得る。
【0042】
本発明の特定の態様は、本発明の方法をプロセッサに行わせるためのソフトウェア命令を実行するコンピュータプロセッサを含む。例えば、ディスプレイ、エンコーダ、セットトップボックス、トランスコーダなどの中の1つ以上のプロセッサは、そのプロセッサがアクセス可能なプログラムメモリ内にあるソフトウェア命令を実行することによって、上記のようなバンディングアーティファクトの低減を実装し得る。本発明は、プログラム製品形態で提供されてもよい。このプログラム製品は、データプロセッサによって実行された時に本発明の方法をデータプロセッサに実行させるための命令を含む1セットの、コンピュータ読み取り可能な信号を格納する任意の非一時的かつ有形な媒体を含み得る。本発明によるプログラム製品は、様々な非一時的かつ有形の形態をとり得る。例えば、このプログラム製品は、フロッピーディスク、ハードディスクドライブを含む磁気データ記憶媒体、CD ROM、DVDを含む光学データ記憶媒体、ROM、フラッシュRAMなどを含む電子データ記憶媒体、などの物理的媒体を含み得る。このプログラム製品上のコンピュータ可読信号は、任意に、圧縮または暗号化されていてもよい。
【0043】
上記においてあるコンポーネント(例えば、ソフトウェアモジュール、プロセッサ、アセンブリ、デバイス、回路など)に言及している場合、そのコンポーネントへの言及(「手段」への言及を含む)は、そうでないと明記されている場合を除いて、当該コンポーネントの機能を果たす(例えば、機能的に均等である)あらゆるコンポーネント(上記した本発明の実施形態例に出てくる機能を果たす開示構造に対して構造的に均等ではないコンポーネントも含む)を、当該コンポーネントの均等物として、含むものと解釈されるべきである。
【0044】
均等物、拡張物、代替物、その他
バンディングアーティファクトを低減することに関する実施形態例を上述した。この明細書中において、各実装毎に異なり得る多数の具体的な詳細に言及しながら本発明の実施形態を説明した。従って、本発明が如何なるものかおよび出願人は本発明が如何なるものであると意図しているかについての唯一且つ排他的な指標は、後の訂正を含む、これら請求項が生じる具体的な形態の、本願から生じる1組の請求項である。当該請求項に含まれる用語に対して本明細書中に明示したあらゆる定義が、請求項内で使用される当該用語の意味を決定するものとする。よって、請求項に明示的に記載されていない限定事項、構成要素、特性、特徴、利点または属性は、いかなる形であれ請求の範囲を限定するものではない。従って、本明細書および図面は、限定的ではなく、例示的であると認識されるべきものである。
【0045】
本発明の様々な態様を、以下に続く列挙実施形態例(enumerated example embodiments)(EEE)から理解することができる。
1.1つ以上のプロセッサを備えるエンコーダまたはデコーダにおいて、バンディングアーティファクトを低減するための方法であって、
画素値群を有する入力画像を受け取ること(205)と、
フィルタリング決定閾値を受け取ることと、
前記入力画像の画素値群に基づいて一次元画素アレイを生成することと、
前記一次元画素アレイにおける画素値群に基づいて、1つ以上の画像縞を生成すること(210)であって、前記1つ以上の画像縞のうちの1つの画像縞は、前記一次元画素アレイ中における開始位置、前記一次元画素アレイ中における終了位置または前記縞の幅、および縞画素値によって特徴付けられる、一次元画素アレイを生成することと、
前記1つ以上の画像縞のうちの1つの画像縞について、
前記画像縞の幅に基づいて、スパースフィルタのためのタップ距離パラメータを決定し(215)、
前記タップ距離パラメータを有する前記スパースフィルタとフィルタリング決定閾値とを前記画像縞に適用することにより、フィルタリングされた出力画素値群を生成することと、
前記フィルタリングされた出力画素値群に基づいて出力画像を生成することと、
を含む方法。
2.前記一次元画素アレイを生成することは、前記入力画像のある色成分の画素値を、前記入力画像の行、前記入力画像の列、前記入力画像の45度対角方向、または前記入力画像の-45度対角方向にわたってサンプリングすることを含む、EEE1に記載の方法。
3.前記1つ以上の画像縞のうちj番目の画像縞を生成することは、
であることを検出することを含み、
s(k)は前記一次元画素アレイ中のk番目の位置における画素値を表し、
は前記一次元画素アレイ中の前記j番目の画像縞の開始位置を表し、
は前記一次元画素アレイ中の前記j番目の画像縞の終了位置を表し、α
jは前記j番目の画像縞の縞画素値を表す、EEE1またはEEE2のいずれかに記載の方法。
4.前記1つ以上の画像縞のうち3つの連続する画像縞である縞j、j+1、およびj+2を与えられたとき、3つの連続する画像縞は
であるとき1つの縞に併合され、ここで
n
tolおよびα
tolは閾値であり、n
jは前記j番目の画像縞の幅を表す、EEE3に記載の方法。
5.j番目の画像縞について、前記画像縞の幅は
として決定され、ここで
n
jは前記j番目の画像縞の幅を表し、
は前記一次元画素アレイ中の前記j番目の画像縞の開始位置を表し、
は前記一次元アレイ中の前記j番目の画像縞の終了位置を表す、EEE1~4のいずれかに記載の方法。
6.前記フィルタリングされた出力画素値群を生成することは、
を算出することを含み、
w
iはi番目のフィルタ係数を表し、s(k)は前記画像縞におけるk番目の画素値を表し、s’(k)はk番目のフィルタリングされた出力画素値を表し、d[i]はi番目のタップについてのタップ距離を表し、2u+1はフィルタタップの数を表す、EEE1~5のいずれかに記載の方法。
7.d[i]=i*qであり、qは前記スパースフィルタに対する前記タップ距離パラメータを表す、EEE6に記載の方法。
8.
であり、mは2u-1より小さい整数である定数であり、Wは前記スパースフィルタによりフィルタリングされた前記画像縞の幅である、EEE7に記載の方法。
9. EEE6またはEEE7のいずれかに記載の方法であって、
を算出することをさらに含み、
Thは前記フィルタリング決定閾値を表す、方法。
10.
であり、
qおよびeは定数である、EEE9に記載の方法。
11.qが奇数のときは
でありqが偶数のときは
である、EEE10に記載の方法。
12.1つ以上のプロセッサを備えるシステムにおいて、バンディングアーティファクトを低減するための方法であって、
画素値群を有する入力画像を受け取ることと、
EEE1~11のいずれかに記載の方法にしたがった適応的スパースフィルタリングを用いて前記入力画像をフィルタリングすることによって第1の出力画像を生成することであって、前記適応的スパースフィルタリングは前記入力画像の列にわたって行われる、第1の出力画像を生成することと、
EEE1~11のいずれかに記載の方法にしたがった適応的スパースフィルタリングを用いて前記第1の出力画像をフィルタリングすることにより第2の出力画像を生成することであって、前記適応的スパースフィルタリングは前記第1の出力画像の行にわたって行われる、第2の出力画像を生成することと、
を含む、方法。
13.
EEE1~11のいずれかに記載の方法による適応的スパースフィルタリングを用いて前記第2の出力画像をフィルタリングすることにより第3の出力画像を生成することであって、前記適応的スパースフィルタリングは前記第2の出力画像の45度対角線にわたって行われる、第3の出力画像を生成することと、
EEE1~11のいずれかに記載の方法による適応的スパースフィルタリングを用いて前記第3の出力画像をフィルタリングすることにより第4の出力画像を生成することであって、前記適応的スパースフィルタリングの前記第3の出力画像の-45度対角線にわたって行われる、第4の出力画像を生成することと、
をさらに含む、EEE12に記載の方法。
14.1つ以上のプロセッサを備えるシステムにおいて、バンディングアーティファクトを低減するための方法であって、
画素値群を有する入力画像を受け取ることと、
第1の閾値パラメータを受け取ることと、
前記第1の閾値パラメータを前記フィルタリング決定閾値として用い、EEE1~11のいずれかに記載の方法にしたがった適応的スパースフィルタリングを用いて前記入力画像をフィルタリングすることにより、第1の出力画像を生成することと、
画像距離条件にしたがって前記入力画像および前記第1の出力画像間の画像距離メトリックを算出することと、
前記画像距離メトリックを継続閾値に対して比較することと、
前記画像距離メトリックが前記継続閾値より大きい場合に、
前記第1の閾値パラメータを減少することにより第2の閾値パラメータを生成し、
前記第2の閾値パラメータを前記フィルタリング決定閾値として用い、EEE1~11のいずれかに記載の方法にしたがった適応的スパースフィルタリングを用いて前記第1の出力画像をフィルタリングすることにより第2の出力画像を生成することと、
そうでない場合に前記第1の出力画像を出力することと、
を含む、方法。
15.前記画像距離メトリックは、前記入力画像の画素値群と前記第1の出力画像の画素値群との間の絶対差の平均和を算出することを含む、EEE14に記載の方法。
16.EEE1~15のいずれかに記載の方法を1つ以上のプロセッサで実行するためのコンピュータ実行可能命令を格納した、非一時的なコンピュータ可読記憶媒体。
17.プロセッサを備え、EEE1~15に記載の方法のいずれかを実行するように構成された装置。