JP2018524850A - ピクセルの処理およびエンコーディング - Google Patents

ピクセルの処理およびエンコーディング Download PDF

Info

Publication number
JP2018524850A
JP2018524850A JP2017560163A JP2017560163A JP2018524850A JP 2018524850 A JP2018524850 A JP 2018524850A JP 2017560163 A JP2017560163 A JP 2017560163A JP 2017560163 A JP2017560163 A JP 2017560163A JP 2018524850 A JP2018524850 A JP 2018524850A
Authority
JP
Japan
Prior art keywords
color
pixel
value
component
threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017560163A
Other languages
English (en)
Other versions
JP6496046B2 (ja
Inventor
ヤコブ ストレム,
ヤコブ ストレム,
ヨナタン サムエルソン,
ヨナタン サムエルソン,
ケネト アンデション,
ケネト アンデション,
マルティン ペッテション,
マルティン ペッテション,
オリエ バウマン,
オリエ バウマン,
Original Assignee
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲット エルエム エリクソン(パブル), テレフオンアクチーボラゲット エルエム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エルエム エリクソン(パブル)
Publication of JP2018524850A publication Critical patent/JP2018524850A/ja
Application granted granted Critical
Publication of JP6496046B2 publication Critical patent/JP6496046B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Processing Of Color Television Signals (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)

Abstract

複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理する方法が、ピクチャ内の処理対象のピクセルを識別することを含み、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。この方法は、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理することも含む。この方法は、特定の状況において、エンコーディングのコストを削減するが、視覚的品質に大きい影響を与えないようにするために、特定の色成分の選択的なノイズ除去を実現する。【選択図】図1

Description

本実施形態は、ピクチャ内のピクセルの処理およびエンコーディングに一般に関し、知覚品質を大幅に低下させることなくエンコーディングの効率を改善する処理およびエンコーディングに特に関する。
高度に非線形な伝達関数、4:2:0または4:2:2のサブサンプリング、および一定でない輝度の順序の組み合わせが、飽和色、すなわち色域の境界に近い色の値でひどいアーチファクトを引き起こす。輝度が類似する2つの色の間の変化が、非常に異なる輝度を持つ再構成画像またはピクチャをもたらす可能性がある例が、付録Bで説明されている。
この問題を回避するための1つの方法は、エンコーディングでルマ値Y’ならびにクロマ値Cb’およびCr’を使用せず、代わりに何らかの他の色表現を使用することである。しかし、Y’Cb’Cr’以外の色表現が十分に圧縮されないことが示されている。一例として、MPEG(Motion Picture Experts Group)がYdZdXを試みたが、圧縮効率はY’Cb’Cr’に対して優位とならなかった。
さらに、多くのシステムが、ディスプレイへの信号の最後のステップに、すでにY’Cb’Cr’またはR’G’B’を使用している。一例として、HDMI(高精細度マルチメディアインターフェイス)規格が最近、セットトップボックスからTVへの画像の送信のために、CEA−861.3[4]で指定されているように、ST 2084を使用するY’Cb’Cr’ 4:2:0の使用を採用した。これは、エンコーディングが何らかの他の色表現で実行された場合でも、復号後に、アーチファクトを引き起こすY’Cb’Cr’ 4:2:0に変換することがさらに必要になることを意味する。この変換を正しく実行することは、残りの復号チェーンと比較した場合に、非常に複雑になる可能性があり、一方、同じことをエンコーダで行うことは、相対的に言って、それほど高価にならない。これは、エンコーディングがすでに復号よりも非常に複雑だからである。したがって、エンコーダで前もってY’Cb’Cr’への高品質な変換を行っておくことが望ましい。これらの理由により、HDR(ハイダイナミックレンジ)データのエンコーディングにY’Cb’Cr’表現を使用できることは有利である。
この問題に対処するためのさらに別の方法は、単に、色域の境界の使用を確実に避けることである。ただしこれは、再現できる色の種類を厳しく制限するため、良い解決策ではない。
この問題の別の解決策は、BT.1886などの急峻性が低い(つまり、非線形性が少ない)伝達関数を使用することである。しかし、このアプローチに伴う問題は、バンディングアーチファクトを避けるために、ピクセルの各色成分の表現に、さらに多くのビットが必要になることである。あるいは、同じ数のビットを使用することもできるが、最大明度が制限される。
したがって、前述した問題の少なくとも一部を克服し、前述した解決策の欠点を持たない、ビデオシーケンスのピクチャ内のピクセルの効率的な処理が必要である。
ビデオシーケンスのピクチャ内のピクセルの改善された処理を提供することが、全般的な目的である。
実施形態の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理する方法に関する。この方法は、ピクチャ内の処理対象のピクセルを識別することを含み、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。この方法は、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理することも含む。
実施形態の別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイスに関する。このデバイスは、ピクチャ内の処理対象のピクセルを識別するように設定され、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このデバイスは、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するようにも設定される。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイスに関する。このデバイスは、ピクチャ内の処理対象のピクセルを識別するための決定ユニットを備え、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このデバイスは、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するためのピクセルプロセッサも備える。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイスに関する。このデバイスは、ピクチャ内の処理対象のピクセルを識別するための決定ユニットを備え、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このデバイスは、色の線形表現における少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するためのピクセルプロセッサも備える。このデバイスは、ピクセルの色の線形表現を色の非線形表現に変換するためのコンバータをさらに備える。このデバイスは、色の非線形表現をエンコードするためのエンコーダをさらに備える。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイスに関する。このデバイスは、プロセッサおよびプロセッサによって実行される命令を含むメモリを備える。このプロセッサは、ピクチャ内の処理対象のピクセルを識別するように機能し、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このプロセッサは、色の線形表現における少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するようにも機能する。このプロセッサは、ピクセルの色の線形表現を色の非線形表現に変換するようにさらに機能する。プロセッサは、色の非線形表現をエンコードするようにさらに機能する。
実施形態の追加の態様は、命令を含むコンピュータプログラムに関し、この命令は、プロセッサによって実行された場合に、プロセッサに複数のピクチャを含むビデオシーケンスのピクチャ内の処理対象のピクセルを識別させ、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このプロセッサは、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルの処理も行う。
実施形態の関連する態様は、上記に従うコンピュータプログラムを含むキャリアを規定する。このキャリアは、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読記憶媒体のうちの1つである。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルのエンコードされたバージョンを表す信号に関する。エンコードされたバージョンは、いずれかの実施形態に従って、ピクセルの色のエンコードされた非線形表現を含む。
実施形態の処理は、規定された基準を満たす色を持っているピクセルの色成分の選択されたノイズ除去を達成する。このノイズ除去によって、より安価にエンコードできるが、肉眼では元のピクセル(すなわち、ノイズ除去を行っていないピクセル)との目に見える差がないピクセルの色表現が得られる。
実施形態および実施形態の詳細な目的および利点は、行われる以下の説明を添付の図面と共に参照して、最も良く理解することができる。
実施形態に記載されたピクチャ内のピクセルを処理する方法を示すフローチャートである。 図1内の識別ステップの実施形態を示すフローチャートである。 別の実施形態に記載されたピクチャ内のピクセルを処理する方法を示すフローチャートである。 図1内の処理ステップの実施形態を示すフローチャートである。 図1内の処理ステップの別の実施形態を示すフローチャートである。 図1内の処理ステップのさらに別の実施形態を示すフローチャートである。 実施形態に記載されたピクセルをエンコードする方法を形成するための、図1に示された方法の追加ステップを示すフローチャートである。 元の画像のトーンマッピングされたバージョン(A)、詳細を明らかにするためにPQ(.)で処理された線形輝度Y(B)、u’(C)、およびv’(D)を示す図である。 画像のR’G’B’バージョン(すなわち、非線形PQ(.)関数を各成分に適用した後)(A)、Y’成分(B)、Cb’(C)、およびCr’(D)を示す図である。 図9B内のY’と同じY’(A)、サブサンプリングされたCb’成分(B)、サブサンプリングされたCr’成分(C)、および得られた画像のトーンマッピングされたバージョン(D)を示す図である。 アンカー画像のPQ(Y)(A)、u’成分(B)、およびv’成分(C)を示す図である。 付録AのAjusty手法を使用して補正されたY’(A)、Cb’成分(B)、Cr’成分(C)、PQ(Y)、および得られた画像のトーンマッピングされたバージョン(E)を示す図である。 関数PQ(x)のプロットを示す図である。 シンプルな疑似コードを使用して識別された問題領域を示す図である。 ブラーリングする前の緑色成分(PQ(G))(A)、ブラーリング後(B)、および元のバージョンおよびブラーリングされたバージョンの間で選択した場合に得られる画像(C)を示す図である。 元の(トーンマッピングされた)画像(A)、提案されたフィルタリングを使用した画像(B)、付録AのAjusty手法を使用した画像(C)、および提案されたフィルタリングを使用した後に付録AのAjusty手法を使用した画像(D)を示す図である。 付録AのAjusty手法のCb’(A)、付録AのAjusty手法のCr’(B)、提案された方式のCb’(C)、および提案された方式のCr’(D)を示す図である。 付録AのAjusty手法を使用したY’成分(A)、および提案された方式を使用した後に付録AのAjusty手法を使用したY’成分(B)を示す図である。 トーンマッピングされた元の画像(A)、トーンマッピングされたアンカー画像(B)、および不安定なピクセル(すなわち、第1のケースのピクセル)に関する、4ステップを超えてPQ(Y)にもu’v’にも影響を与えないGを含むピクセルにわたるGの平均化(C)を示す図である。 一実施形態に記載された方法を示すフローチャートである。 実施形態に記載されたデバイスまたはコンバータのハードウェア実装の概略図である。 プロセッサおよびメモリを含む実施形態に記載されたデバイスまたはコンバータの実装の概略図である。 実施形態に記載されたユーザ機器の概略図である。 機能モジュールを含む実施形態に記載されたデバイスの実装の概略図である。 複数のネットワークデバイスに分散された実施形態の実装を示す概略図である。 実施形態に記載された、1つまたは複数のクラウドベースネットワークデバイスを含むワイヤレス通信システムの例の概略図である。 補正されたY’を導き出す実施形態を示す図である。 異なる色領域内に異なる線形化が存在できることを示す図である。 コントラスト感度のBartenの曲線を示す図である。 Rec709色域とBT.2020色域の比較を示す図である。
図面全体を通じて、類似する要素または対応する要素には同じ参照番号が使用されている。
本実施形態は、ピクチャ内のピクセルの処理およびエンコーディングに一般に関し、知覚品質を大幅に低下させることなくエンコーディングの効率を改善する処理およびエンコーディングに特に関する。
従来のエンコーディングチェーンは、入力線形RGB光のピクセル(通常は、0〜10,000cd/mの範囲)を逆伝達関数に供給し、0〜1の範囲の新しいピクセル値を得ることを含む。その後、ピクセルに対して色変換が実行され、ルマ成分Y’および2つのクロマ成分Cb’、Cr’が得られる。次に、2つのクロマ成分が(4:2:0または4:2:2などに)サブサンプリングされる。復号後に、4:2:0シーケンスまたは4:2:2シーケンスが4:4:4にアップサンプリングされ、逆色変換され、最終的に伝達関数が、モニタに出力できる線形光のピクセルを返す。
色空間または色領域とは、色モデルの色成分の組み合わせから生じる色の種類および数のことである。色モデルは、色を数値のタプル(すなわち、色成分)として表現できる方法を表す抽象的構造である。色成分は、成分の種類(例えば色相)、成分の単位(例えば度またはパーセンテージ)、またはスケールの種類(例えば線形または非線形)、および色深度またはビット深度と呼ばれる成分の値の意図された数などの、複数の際立った特徴を備えている。
ピクチャ内およびビデオ内のピクセルに一般に使用される色空間の例は、赤、緑、青(RGB)色空間、ルマ、クロマブルー、およびクロマレッド(YCbCr、あるいはY’CbCr、Y’Cb’Cr’、YC、Y’C、またはY’C’C’と示される場合もある)色空間、ならびに輝度およびクロミナンス(XYZ)色空間を含むが、これらに限定されない。
本明細書では、以下の用語が使用される。
RGB:線形RGB値。各値は、cd/m(「光子の数」)に比例する。
XYZ:線形XYZ値。各値は、RGBの線形結合である。Yは輝度と呼ばれ、大ざっぱに言うと目が「明るさ」として知覚するものを良く反映し、XZはクロミナンスを含む。XYZはCIE 1931色空間と呼ばれる場合がある。
PQ(Y):非線形関数PQ(.)が線形輝度Yに適用された、非線形表現。非線形関数の例は、知覚的量子化器(PQ)である。この関数の逆数が式A1で規定されている。PQ(Y)をY’と混同するべきではない。PQ(.)はBartenの曲線に基づいているため、PQ(Y)における小さいステップは、知覚される輝度における小さいステップに相当する。
R’G’B’:非線形RGB値。R’=PQ(R)、G’=PQ(G)、B’=PQ(B)。
Y’Cb’Cr’:各値がR’、G’、およびB’の線形結合である、非線形表現。Y’は「ルマ」と呼ばれ、Cb’およびCr’は総称して「クロマ」と呼ばれる。これは、Y’を輝度から区別するためであり、Y’がクロミナンスの一部も含み、Cb’およびCr’が輝度の一部も含むからである。
ICtCp:ハイダイナミックレンジ(HDR)および広色域(WGC)ピクチャ表現用に設計された色の表現であり、Y’Cb’Cr’の代替になることが意図されている。Iは強度を表し、ルマ情報の表現であり、一方、CtCpはクロマ情報を持っている。
xy:XYZから導き出されるクロミナンスの非線形表現。これは、x=X/(X+Y+Z)、y=Y/(X+Y+Z)を使用して「明るさ」に対して正規化されるため、非線形である。単色レーザは、どのような強度を持っていようと、常にxy内の同じ座標を持つ。つまり、xyはクロミナンスの良い尺度になる。
u’v’:クロミナンスの非線形表現(すなわち、xyの非線形関数)。これは、より知覚的に均一なはずである。つまり、u’v’における小さいステップは、クロミナンスの値にかかわらず、同じように知覚可能である。xyの場合と同様に、単色レーザは、どのような強度を持っていようと、常に同じu’v’座標を持つ。
PQ(Y)xyおよびPQ(Y)u’v’:PQ(Y)がすべての輝度を含み、xyまたはu’v’がすべてのクロミナンスを含む色の表現。PQ(Y)からYを抽出することができ、Y、x、およびy、またはY、u’およびv’から、RGBに変換できるXYZを抽出することができる。
LogLuv:知覚的に均一な色空間を提供するために、輝度Yの対数および(u’,v’)色度座標(対数を使用しない)を使用する。
本実施形態は、ピクセルの色の非線形表現(Cb’およびCr’など)における大きすぎる変動を防ぐための技術を、ルマ値Y’を変更して輝度を補正することに対する代替案として、またはそのように補正することと組み合わせて提案する。ほとんどの場合、Cb’およびCr’の変動は、エンコードされた可視信号を反映しているため、望ましい。しかし一部の環境では、Cb’およびCr’における変動は、視覚的に気付くことができる変化を反映しない。そのような場合、より安価に符号化できるCb’Cr’信号を両方に与えて、この変動を除去することができる。これは、変動が少ないことが、エンコーディング処理中のビットが少ないことを意味しており、実際の信号との違いを見分けることが不可能であり、やはりより安価に符号化できるY’を発生させるからである。
これが可能になる理由は、コンテンツを表現するために選択された信号空間(Y’Cb’Cr’またはICtCpなど)と、人間の視覚系が知覚することができる信号空間(恐らくBartenのような伝達関数PQ(Y)の後の線形輝度Y、および固定されたクロミナンスxy、あるいは代替としてu’v’など)との間の高度に非線形な依存関係である。簡単に言えば、データをY’Cb’Cr’またはICtCpとして表現するが、データを例えばPQ(Y)u’v’として見ると言うことができる。
非線形関数の特徴は、入力における小さい変動が出力において大きい変動を生むことができ、その逆も可能であることである。ここでは、このことが確かに当てはまる。場合によっては、人間の視覚系が見ることができる変数(PQ(Y)u’v’など)における非常に小さい変動は、表現に使用される信号(Y’Cb’Cr’)における大きい変動を引き起こす。そのような場合、PQ(Y)u’v’における小さい変動を除去することによって、著しく変動せず、したがってエンコードされた信号表現を表すために必要なビット数に関してより安価に符号化できる信号表現Y’Cb’Cr’を取得することができる。当然、小さい目に見えない変動を除去することは、視覚的品質に影響を与えない。つまり、より安価なビットコストが視覚的な劣化につながらないことである。
一例として、色チャネルまたは色成分のうちの1つが他の2つよりも非常に低い場合、そのチャネルにおける変動が少なくなるように、そのチャネルをフィルタリングすることができる。一部のピクセルが線形色(R,G,B)=(1000,0.1,100)を持ち、他のピクセルが(R,G,B)=(1000,0.2,100)を持っている領域が存在すると仮定する。その場合、すべてのピクセルが代わりに値(R,G,B)=(1000,0.15,100)を取得するように、強力な平均化フィルタを緑色(G)成分に適用することができる。人間の視覚系は、元のピクチャと、フィルタリングされた緑色成分を含む処理済みのピクチャとの間の差を見分けることができないが、処理済みのピクチャは、非常に安価に符号化することができる。
後で説明されるように、変動を少なくすること(すなわち、ノイズ除去)が好ましいピクセルは、多くの場合、色域の境界に沿って存在している。
特定の状況において特定の色成分のノイズを除去することによって、非常に安価にエンコードできるが、肉眼では元の(すなわち、ノイズが除去されていない)表現と見分けることができない表現を取得できることは、有利である。
したがって実施形態は、第1のケースにおいて、ピクセルの色間の差が見えないか、または見ることが難しい場合に、それらの差を除去し、一方、第2のケースにおいて、色の差が見える場合に、それらの差を維持するような方法で、元の信号を処理する。そうすることによって、第1のケースにおいて、ピクセルの色のY’Cb’Cr’表現は、変動が少ないか、または全く変動せず、符号化するために必要なビットが少なくなるか、またはなくなり、その変動は見えなくなるか、または見ることが難しくなり、一方、第2のケースにおいて、ピクセルの色のY’Cb’Cr’表現は変動し、その変動は実際に見えるようになる。
理想的には、輝度またはクロミナンスのいずれかにおいて差が見えなくなるべきである。その場合にのみ、視覚的アーチファクトのリスクがなく、データを変更することが安全になる。ただし、通常、輝度における変化は、クロミナンスにおける変化よりも悪い。そのため、場合によっては、少なくとも輝度における差を見えなくする必要がある。
第1のケースにおける差は、他の成分のうちの少なくとも1つがゼロから遠い場合に、いずれにしても見ることができず、エンコーディング中に問題を引き起こす可能性のあるY’Cb’Cr’における変動性を防ぐために、成分の変動性を0近くに減らすことによって除去される。
図1は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理する方法を示すフローチャートである。この方法は、ステップS1において、ピクチャ内の処理対象のピクセルを識別することを含む。ステップS1において、ステップS2での処理対象のピクセルとして識別されるピクセルは、2つの基準を満たすピクセルである。第一に、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。第二に、ピクセルの線形表現における変動が、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動をもたらす。ステップS1において処理対象のピクセルが識別された場合、方法はステップS2に進む。このステップS2は、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理することを含む。
それによって、ステップS1は、ピクチャ内のピクセルを識別することを含み、ステップS1において、そのようなピクセルの色の線形表現における小さい(すなわち、第1のしきい値よりも小さい)変化または変動が、色の非線形表現における比較的大きい(すなわち、第2のしきい値よりも大きい)変化または変動をもたらすが、色の線形表現における変化または変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における得られた変化または変動によって評価されるように、視覚的品質に悪影響を与えない(すなわち、好ましくは、人間の視覚系によって見ることができない)。
したがって、ステップS1において識別されたピクセルは、人間の目で見ることが難しい方法で変動できるが、非線形表現において大きい変動を生むことができる線形色表現を持っているピクセルである。その後、そのようなピクセルは、ステップS2において、そのような変動性を除去するか、または少なくとも減らし、それによって、識別されたピクセルがステップS2で処理されない場合よりも少ないビットを使用してピクセルをエンコーディングできることを意味する方法で処理される候補になる。
ピクセルの色の線形表現は、好ましくは色のRGB表現(すなわち、赤(R)色成分値、緑(G)色成分値、および青(B)色成分値を含む表現)である。別の実施形態では、色の線形表現は、色のXYZ表現である。
ピクセルの色の非線形表現は、好ましくは色のY’Cb’Cr’表現(すなわち、ルマ(Y’)成分値および2つのクロマ(Cb’、Cr’)成分値を含む表現)である。
代替の実施形態では、ピクセルの非線形表現は、色のICtCp表現であり、この表現において、I成分はルマ情報を持っており、CtCp成分はクロマ情報を持っている。
輝度およびクロミナンスに基づく表現は、好ましくは、色の輝度+クロミナンス表現、あるいは輝度および/またはクロミナンスの関数などに基づく表現のいずれかである。実施形態では、輝度およびクロミナンスに基づく表現は、色のPQ(Y)xy表現(すなわち、輝度値の非線形関数(好ましくは、伝達関数PQ(.))(PQ(Y))およびクロミナンスの線形表現(xy)を含む表現)である。別の実施形態では、輝度およびクロミナンスに基づく表現は、PQ(Y)u’v’(すなわち、輝度値の非線形関数(好ましくは、伝達関数PQ(.))(PQ(Y))およびクロミナンスの非線形関数(好ましくは、伝達関数PQ(.))(u’v’)を含む表現)である。
輝度およびクロミナンスに基づく表現は、人間の視覚系が知覚できる色空間であるため、知覚的表現であると見なすことができる。
図2に、識別ステップS1をさらに詳細に示す。この方法はステップS10で開始し、ステップS10は、第1のしきい値(T1)よりも小さいピクセルの色の線形表現における変動が、第2のしきい値(T2)よりも大きい色の非線形表現における変動をもたらすかどうかを調査する。この変動がもたらされない場合、この方法は終了し、ピクセルの少なくとも1つの色成分値の修正が実行されない。この変動がもたらされる場合、この方法はステップS11に進み、ステップS11は、第1のしきい値よりも小さかった線形表現における変動が、第3のしきい値(T3)よりも小さい色の輝度およびクロミナンスに基づく表現における変動をもたらすかどうかを調査することを含む。この変動がもたらされない場合、この方法は終了し、ピクセルの少なくとも1つの色成分値の修正が実行されない。この変動がもたらされる場合、この方法は図1のステップS2に進む。ステップS10およびS11の順序は、置き換えられる場合がある(すなわち、ステップS10の前にステップS11で調査を実行する、または実際には各調査を少なくとも部分的に並列に実行する)。
一般に、第3のしきい値はゼロであるか、または少なくともゼロに近い(0.1または1など)。第2のしきい値は、例として約100であることができる。第1のしきい値の例は1または10を含むが、これらに限定されない。
ステップS2において実行される処理は、ピクセルの少なくとも1つの色成分の値を修正することを含む。この修正は、好ましくは、ビット数に関して色の非線形表現をより安価に符号化できるような方法で、少なくとも1つの色成分の値を変更することをさらに含む。したがって、ステップS2での識別されたピクセルの処理の目的は、識別されたピクセルの少なくとも1つの色成分の値を、ピクセルをより安価にエンコードできるような方法で修正または変更することであり、この変更または修正は、輝度およびクロミナンスに基づく表現において評価されるように、視覚的品質を大幅に低下させない。
例えば、色の輝度およびクロミナンスに基づく表現における大きい変化を引き起こさない(すなわち、第3のしきい値よりも小さい)ピクセルの色の線形表現における小さい変化(すなわち、第1のしきい値よりも小さい変化)は、第2のしきい値よりも大きい色の非線形表現における変化につながり、このことは非線形表現をより安価に符号化できることを意味している。一例として、この小さい変化は、色の非線形表現の少なくとも1つの色成分が予測値に等しくなるように、または少なくともその予測値に近づくように、色の非線形表現の値を修正することができる。これは、少なくとも1つの色成分の値と、その予測値との間の差として計算される残差がゼロに等しいか、または少なくともゼロに近いことを意味している。その場合、少なくとも1つの色成分値を、非常に少ないビットを使用してエンコードすることができる。
一般に、非線形表現における色成分の値が(イントラ予測またはインター予測のいずれかを使用した)その予測値に近づくほど、値および色成分のエンコーディングに必要なビットが少なくなる。したがって、線形表現における変動が、好ましくは、この色成分の残差がゼロであるか、または少なくともゼロに近いことを意味している非線形表現における少なくとも1つの色成分の値における変化をもたらす。
ステップS2において実行される処理は、さまざまな実施形態に従って実行することができ、それらの実施形態が本明細書に詳細に記載されている。ピクセルの少なくとも1つの色成分の値を修正する処理の標準的な例は、少なくとも1つの色成分にフィルタを適用することである。例えば、ピクチャ内の局所領域の少なくとも1つの色成分における変動を除去するか、または少なくとも削減するか、あるいは抑制するために、少なくとも1つの色成分を大幅にフィルタリングすることができる。別の例は、既定の値または固定値によって、少なくとも1つの色成分の値を置き換えることである。
一実施形態では、図1のステップS1は、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別することを含み、この識別に関して、色の線形表現の色成分の値と別の色成分の値の間の比率が、第5のしきい値よりも小さい。
第4のしきい値および第5のしきい値の例は、それぞれ4および0.5であるが、これらに限定されない。
例えば、色の線形表現(RGB表現など)の第1の成分の値が第4のしきい値よりも小さく、かつ色の線形表現(RGB表現など)の第1の成分の値と第2の成分の値の間の比率が第5のしきい値よりも小さい場合、人間の目で見ることが難しいが、色の非線形表現における大きい変動を生むことができる方法で、ピクセルが変動できると決定される。
代替また追加の実施形態では、図1のステップS1は、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別することを含み、この識別に関して、色の線形表現の少なくとも1つの色成分の値が、第6のしきい値よりも大きい。
第6のしきい値の例は10であるが、これに限定されない。
特定の実施形態では、ステップS1は、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別することを含み、この識別に関して、色の線形表現の少なくとも1つの他の色成分の値が、色の線形表現の色成分の値の係数倍以上である。この係数は、1よりも大きい。
例えば、ピクセルは、4cd/m(第4のしきい値)よりも小さい1つのRGB成分の値を持っているピクセルであってよく、他のRGB成分の値は、このRGB成分の大きさの少なくとも2倍である場合がある(すなわち、係数は2に等しい)。
代替また追加の実施形態では、図1のステップS1は、ピクチャ内の処理対象のピクセルを識別することを含み、この識別に関して、第1のしきい値よりも小さい色の線形表現(RGBまたはXYZなど)における変動が、第2のしきい値よりも大きい色のY’Cb’Cr’表現における変動をもたらす。色の線形表現(RGBまたはXYZなど)における変動は、第3のしきい値よりも小さい色のPQ(Y)u’v’表現またはPQ(Y)xy表現における変動ももたらす。
表現PQ(Y)u’v’またはPQ(Y)xyは、すべて輝度およびクロミナンスに基づく表現であり、さらに、知覚的表現(すなわち、人間の視覚系が知覚できる色空間)でもある。
特定の実施形態では、色の線形表現は、色のRGB表現である。そのような実施形態では、ステップS1は、ステップS20(図3を参照)において、ピクセルに関して、色のRGB表現における少なくとも1つの色成分に対するルマ成分Y’、クロマ成分Cb’、およびクロマ成分Cr’の導関数、ならびにRGB表現における少なくとも1つの色成分に対する輝度に基づく成分PQ(Y)およびクロミナンスに基づく成分u’v’またはxyの導関数に基づいて、不安定性係数(C)を計算することを含む。この方法は、不安定性係数が第7のしきい値(T7)よりも高い場合に処理対象のピクセルを選択することも含む(ステップ21を参照)。
第7のしきい値の例は1、4、および10であるが、これらに限定されない。
特定の実施形態では、ステップS20は、
または
に基づいて不安定性係数Cを計算することを含む。ここで、w...wは非ゼロの重みであるか、または存在せず(すなわち、1に等しく)、AはRGB表現における赤色成分R、緑色成分G、および青色成分Bのうちの1つを表す。重みは、不安定性係数の計算に関して、各色成分の重要性をセットすることができる。
一例として、PQ(Y)xy色空間におけるPQ(Y)は、0〜1の範囲で変動することができるが、xは0.15〜0.64の範囲(0.64−0.15=0.49の距離)内でのみ変動することができる。同様にyは、0.06〜0.60の範囲(0.54の差)内でのみ変動することができる。したがって、xおよびyにおける変化の重要性は、PQ(Y)における変化の重要性の約2倍である。このことは、例えばw4=1.0、w5=2.0、w6=2.0を示唆する。
上の例では、人間の視覚系が、クロミナンスの変化よりも輝度の変化に対して敏感であるという事実を完全には活用していない。したがって、w5およびw6を、1.0よりも小さい値にまで下げることが賢明である場合がある。
次の例では、このことを、ただしPQ(Y)u’v’色空間において示す。ここで、PQ(Y)を11ビットに量子化し、u’およびv’を9ビットに量子化した場合、その結果は元のピクチャと区別できなくなることが良く知られている。これは、u’およびv’が0〜0.62の範囲で変動するため、u’およびv’の(1/2)*0.62=0.0012109375の変化が事実上区別できないことを意味している。同様に、PQ(Y)は0〜1の範囲で変動するため、PQ(Y)の(1/211)*1=0.00048828125の変化は、PQ(Y)に関して事実上区別できないはずである。したがって、w4=1.0、w5=w6=(0.00048828125/0.0012109375)=0.40322580645が、PQ(Y)に関して適切なトレードオフになる場合がある。
標準的なCb’およびCr’はサブサンプリングされる。つまり、これらの成分における変動性が余分な問題になる可能性があり、Cb’およびCr’における変動性がない場合は、サブサンプリングすることによって何も変更されず、輝度のアーチファクトを防ぐことができる。これは、w2およびw3におけるより高い重み(w1=1.0、w2=4.0、w3=4.0など)が有益である場合があることを意味している。別の応用では、Y’における変化を調べることで十分である場合がある(つまり、w1=1.0、w2=0.0、w3=0.0を使用することができる)。
実施形態では、図1のステップS2における処理は、ステップS22(図3を参照)において、不安定性係数が第7のしきい値よりも高い場合に、ピクセルの少なくとも1つの色成分の元の値を、少なくとも1つの色成分の修正された値と置き換えることを含む。この実施形態では、不安定性係数が第7のしきい値以下であるが、第8のしきい値(T8)以上である場合に、少なくとも1つの色成分の元の値が、ステップS24において、少なくとも1つの色成分の元の値および少なくとも1つの色成分の修正された値の線形結合と置き換えられる。それに応じて、不安定性係数が第8のしきい値よりも小さい場合、少なくとも1つの色成分の元の値がステップS25において維持される。
第8のしきい値の例は、特に重みw1〜w6がすべて1.0に等しい場合、1000であるが、これに限定されない。
したがってこの方法は、不安定性しきい値を第8のしきい値と比較するオプションのステップS23を含む場合がある。
ステップS24で使用される線形結合は、(1−α)×(元の値)+α×(修正された値)として規定される場合がある。一実施形態では、α=(C−T7)/(T8−T7)である。別の実施形態では、
である。したがって、一般的な実施形態では、パラメータαは不安定性係数に基づいて、または不安定性係数の関数として計算され、好ましくは、不安定性係数ならびに第7のしきい値および第8のしきい値に基づいて、または不安定性係数ならびに第7のしきい値および第8のしきい値の関数として計算される。
一実施形態では、ステップS2において識別されたピクセルを処理することは、色の線形表現の少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理することを含む。例えば、線形表現がピクセルの色のRGB表現である場合、ステップS2における修正は、R成分、G成分、B成分の値の修正であるか、またはR、G、B成分のうちの2つまたは3つの値の修正である。
一実施形態では、識別されたピクセルを処理することは、不安定性係数によって決まるフィルタ係数または不安定性係数に基づくフィルタ係数を有するフィルタを用いて少なくとも1つの色成分をフィルタリングすることによって、ピクセルの少なくとも1つの色成分の値を修正することを含む。
フィルタ係数は、例えばそのピクセルの1/Cにセットすることができ、各フィルタ係数の加重和にピクセル値を掛けた値が、フィルタ係数の合計値で割られる。したがって、大きい不安定性係数を持つピクセルがフィルタリングされた値に対して与える影響は、小さい不安定性係数を持つピクセルよりも小さい。別の代替案は、しきい値(例えばT7)よりも大きい不安定性係数を持つピクセルの重みを0にセットし、他のピクセルの重みを1にセットすることであり、したがって、信頼できるピクセルのみがフィルタリングされた値に影響を与える。
一実施形態では、図1のステップS2が、図4のステップS31に示されているように実行される。このステップS31は、ピクセルの少なくとも1つの色成分の値を、ピクチャ内の近傍のピクセルの少なくとも1つの色成分の値の加重平均と置き換えることを含む。
近傍のピクセルは、ピクチャ内の隣接するピクセルであることができる。例えば、ピクチャ内での現在のピクセルのピクセル番号が(i,j)であると仮定する。その場合、近傍のピクセルは、例として、ピクセル番号(i−1,j−1)、(i−1,j)、(i−1,j+1)、(i,j−1)、(i,j+1)、(i+1,j−1)、(i+1,j)、および(i+1,j+1)を持つピクセルであることができる。したがって、近傍のピクセルは、ピクチャ内の現在のピクセルの位置を中心にしたピクチャ内の正方形などの領域内に存在するピクセルであることができる。上の例では、正方形のサイズは3×3ピクセルである。コーナーのうちの1つに現在のピクセルを含む2×2ピクセルなどの他のサイズ、または4×4以上などのさらに大きいサイズも可能である。
代替の実施形態では、近傍のピクセルは、ピクチャ内の現在のピクセルと同じ符号化ユニット(CU)、予測ユニット(PU)、または変換ユニット(TU)に属するピクセルである。
上の実施形態では、近傍のピクセルは、ピクチャ内の現在のピクセルの位置と相対的なピクチャ内の位置に関して、事前に決定される。他の実施形態では、ピクチャ内の近傍のピクセルは、図4のステップS30で概略的に示されているように、識別される。このステップS30は、ピクチャ内の近傍のピクセルを識別することを含み、この識別に関して、第1のしきい値よりも小さい近傍のピクセルの色の線形表現における変動が、第2のしきい値よりも大きい近傍のピクセルの色の非線形表現における変動をもたらす。近傍のピクセルの色の線形表現における変動は、第3のしきい値よりも小さい、近傍のピクセルの色の輝度およびクロミナンスに基づく表現における変動ももたらす。
したがって、一実施形態では、図1のステップS1において現在のピクセルの識別に使用される同じ基準が、図4のステップS30における近傍のピクセルの識別において使用される。
次に、この方法はステップS31に進み、このステップS31は、ピクセルの少なくとも1つの色成分の値を、ピクチャ内で識別された近傍のピクセルの少なくとも1つの色成分の値の加重平均と置き換えることを含む。
この実施形態は、現在のピクセルに「類似する」近傍のピクセルのみが平均化に含まれることを仮定する。ここでは、類似するとは、近傍のピクセルの色が、現在のピクセルと同じ基準を満たしていることを意味する。
別の実施形態では、図4のステップS30は、ピクチャ内の近傍のピクセルを識別することを含み、この識別に関して、ピクセルの輝度に基づく成分の値と近傍のピクセルの輝度に基づく成分の値との間の絶対差が、第9のしきい値以下である。さらに、ピクセルのクロミナンスに基づく成分の各値と近傍のピクセルのクロミナンスに基づく成分の各値との間の各絶対差が、第10のしきい値以下になる。
この実施形態では、ステップS30の識別が、調査|PQ(Y)−PQ(Y)|≦T9および|u’−u’|≦T10および|v’−v’|≦T10、または|x−x|≦T10および|y−y|≦T10を含み、ここで、T9およびT10は第9のしきい値および第10のしきい値を表し、下付き文字の付いていない成分はピクセルの輝度またはクロミナンスに基づく成分を示し、下付き文字2の付いている成分は近傍のピクセルの輝度またはクロミナンスに基づく成分を示す。
PQ(Y)xyを使用する場合、T9の例は0.1または1であることができ、一方、T10の例は0.05または1であることができるが、これらに限定されない。
ステップS30においてテストするための近傍のピクセルは、上の実施形態で説明されているように、ピクチャ全体内のピクセル、現在のピクセルと同じスライス内のピクセル、現在のピクセルと同じ符号化ユニット(CU)、予測ユニット(PU)、または変換ユニット(TU)内のピクセル、あるいは前述したように、現在のピクセルの位置を中心にした正方形などの領域内に存在するピクチャ内のピクセルであることができる。
図5は、図1内のステップS2の実施形態を示すフローチャートである。この実施形態では、この方法は図1内のステップS1から図5内のステップS40に進む。ステップS40は、少なくとも1つの色成分の値を、ゼロまたは色の線形表現に基づいて決定された値などの固定値にセットすることを含む。例えば、色の線形表現の少なくとも1つの色成分の値は、複数の固定値間で選択するように使用することができる。例えば、値が第1の間隔内にある場合、この値は第1の固定値にセットされ、値が第2の異なる間隔内にある場合、この値は第2の固定値にセットされる、などとなる。
一例として、最小の成分が他の成分よりも非常に小さい色の場合(RGB=(4000,100,0.01)などの場合)、最小の成分を0に固定することができる場合がある。あるいは、ピクセルの不安定性を減らす、小さいが非ゼロの値(0.1、1、または10など)を使用することができる。
図6は、図1内のステップS2の別の実施形態を示すフローチャートである。この実施形態では、この方法はステップS1からステップS41に進み、このステップS41は、ピクセルの少なくとも1つの色成分の値をフィルタリングすることを含む。
一実施形態では、ステップS41は、前述した不安定性係数に基づいて決定されるフィルタ係数を有するフィルタを用いて、ピクセルの少なくとも1つの色成分の値をフィルタリングすることを含む。例えば、フィルタ係数は、不安定性係数の大きさに反比例することができる。
前述したように、ピクセルが2つの基準を満たす場合、ピクセルの少なくとも1つの色成分の値が修正される可能性がある。標準的な実施形態では、色成分のうちの1つが修正され、好ましくは、この色成分は最小の値を持っている。ただし、場合によっては、ピクセルの複数(2つまたは3つすべて)の色成分を修正することができる。
好ましくは、実施形態の前処理が、ピクチャ内の少なくとも1つのピクセルに対して実行される。ピクセルを修正する必要があるどうかを決定するために、各ピクセルをステップS1でテストすることができる。したがって、ピクチャの1つまたは複数のピクセルを、ステップS1において識別し、ステップS2において修正することができ、一方、ピクチャの1つまたは複数のその他のピクセルは、ステップS1においてテストされる基準を満たさず、そのためステップS2において修正されない。これは、図1内の線L1によって示されている。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルのエンコーディングの方法に関する。この方法は、ピクセルの色の線形表現におけるピクセルの少なくとも1つの色成分の値を修正するために、図1のステップS1およびS2において開示されている実施形態などの実施形態のいずれかに従ってピクセルを処理することを含む。この方法は、ステップS3(図7を参照)において、ピクセルの色の線形表現を色の非線形表現に変換することも含む。この方法は、ステップS4において、色の非線形表現をエンコードすることをさらに含む。
ステップS3における変換は、ピクセルの少なくとも1つの色成分の値がステップS2において修正された後に実行される。
エンコーディングの方法の一実施形態では、説明された実施形態に従って識別されたピクセルのRGB成分のうちの少なくとも1つの値が修正される。その後、修正されたRGB表現4:4:4は、好ましくは、Y’Cb’Cr表現4:2:2または4:2:0に変換される。この変換は、通常、非線形R’G’B’表現4:4:4を取得するための伝達関数(付録Aの式A1で規定された伝達関数の逆数など)の適用を含む。次に、Y’Cb’Cr’表現4:4:4を取得するために、色変換がR’G’B’表現4:4:4に適用される。その後、4:2:2または4:2:0形式でY’Cb’Cr’表現を取得するために、非線形クロマ成分Cb’Cr’がサブサンプリングされる。
一態様によれば、第1の色表現から別の色表現に変換するための方法およびコンバータが提供される。このコンバータは、第1の色表現における少なくとも第1のピクセルを表すビットストリームを受信する。このコンバータは、人間の目で見ること(可視と呼ばれる場合もある)が難しい方法でピクセルを変動させることによって第2の色表現における大きい変動を生むことができるかどうかを決定するように設定される。そのような決定を、本明細書に記載されたいずれかの方法に従って行うことができる。
例えば、RGB表現における第1の成分が既定のしきい値よりも小さく、RGB表現における第1の成分と第2の成分の間の比率が別の既定のしきい値よりも小さい場合、人間の目で見ることが難しいが、第2の色表現における大きい変動を生むことができる方法で、ピクセルが変動できると決定される。
一実施形態によれば、次の色表現を使用して、エンコードする前に変換が実行される。
第1の色表現RGB
第2の色表現Y’Cb’Cr’
代替の実施形態では、別の送信フォーマットが使用されるが、ディスプレイがY’Cb’Cr’を必要とする場合、復号後に次の色表現を使用して変換が実行される。
第1の色表現LogLuv
第2の色表現Y’Cb’Cr’
1つの例では、Y’Cb’Cr’を生成するときにエンコーディング処理がその仕事を正しく実行しなかった場合、復号後に次の色表現を使用して変換が実行される。
第1の色表現Y’Cb’Cr’
第2の色表現Y’Cb’Cr’
人間の目で見ることが難しいが第2の色表現における大きい変動を生むことができる方法でピクセルが変動できると決定された場合、そのピクセルは、そのような潜在的な変動性を除去するように処理される。そのような処理を、本明細書に記載されたいずれかの方法に従って行うことができる。例えば、RGB色表現における最小の成分を固定値にセットできる。別の可能性は、前記RGB色表現における最小の成分を、近傍のピクセルの最小の成分の加重平均と置き換えることである。
この方法で、いずれにせよ見ることができず、エンコーディング時および復号時に問題を引き起こす可能性のあるY’Cb’Cr’における変動性を防ぐことができる。
標準的な圧縮チェーン(本明細書では、アンカー処理チェーンとして示される)は、[2]においてアンカー生成に関して説明されている圧縮チェーンである。0〜10000の範囲の入力線形光ピクセル(R,G,B)が、[2]におけるセクションB.1.5.3.1に従って、最初に伝達関数に供給される。
R’=PQ_TF(max(0,min(R/10000,1)))
G’=PQ_TF(max(0,min(G/10000,1)))
B’=PQ_TF(max(0,min(B/10000,1)))
ここで、
=0.1593017578125、m=78.84375、c=0.8359375、c=18.8515625、およびc=18.6875である。本明細書では、PQ(x)を、PQ_TF(max(0,min(x/10000,1)))を実行するための簡易方法として使用し、したがって、R’=PQ(R)、G’=PQ(G)、およびB’=PQ(B)である。
これによって、0〜1の範囲の新しいピクセル表現(R’,G’,B’)が得られる。この後に、ピクセルに対して色変換が実行されて、Y’Cb’Cr’が得られる。一例として、色空間がRec.709である場合、Y’Cb’Cr’成分が次のように計算される。
Y’=0.212600*R’+0.715200*G’+0.072200*B’
Cb’=−0.114572*R’−0.385428*G’+0.500000*B’
Cr’=0.500000*R’−0.454153*G’−0.045847*B’
あるいは、色空間がRec.2020である場合、Y’Cb’Cr’成分が次のように計算される。
Y’=0.262700*R’+0.678000*G’+0.059300*B’
Cb’=−0.139630*R’−0.360370*G’+0.500000*B’
Cr’=0.500000*R’−0.459786*G’−0.040214*B’
次に、Y’Cb’Cr’成分が、[2]におけるB.1.5.4に従って、固定されたビット数に量子化される。この後に、Cb’成分およびCr’成分が、[2]におけるB.1.5.5に従って、4:2:0にサブサンプリングされる。次に、Cb’およびCr’が、B.1.5.6に従って4:4:4にアップサンプリングされ、B.1.5.7に従って逆量子化され、B.1.5.8に従ってRGBに変換され、最終的に、B.1.5.9における逆PQによって線形RGBに変換される。
ここで、上の処理チェーンを使用して処理されるときに、2つのピクセルに対して何が起きるかを見てみる。
一例として、色RGB1=(1000,0.1,100)を持つピクセルが存在すると仮定する。ここで、このピクセルが代わりに色RGB2=(1000,0.2,100)になるように、このピクセルの色をわずかに変動させた場合、何が起きるかを見てみる。
アンカー生成手順に従って最初に行うことは、伝達関数PQ(.)の適用であり、これによってR’G’B’値(0.751827,0.062337,0.508078)および(0.751827,0.082836,0.508078)がそれぞれ得られる。Y’Cb’Cr’への変換および10ビットへの量子化の後に、Y’Cb’Cr’=(275,641,803)および(288,634,794)が得られる。これから分かるように、これは非常に大きい変動である。Y’は13ステップ変動し、Cb’およびCr’はそれぞれ7ステップおよび9ステップ変動している。これをビデオエンコーダで符号化すると、非常に高価になる。
しかし、これら2つの色の間の差は見ることができない。
人間が輝度における差をどのように知覚するかについては、十分に理解されている。輝度が大きい場合(すなわち、非常に明るい色の場合)、絶対誤差が非常に大きくなる可能性があるが、相対誤差は小さく維持されるはずである。輝度が小さい場合は、この逆のことが当てはまる。これは、Bartenの公式と呼ばれるものを使用して表現できる。大まかに言うと、輝度が計算され、Bartenの公式を近似する伝達関数を通り、11ビットに量子化された場合、どのような差も見ることができなくなる。
次に、これを2つの色に適用する。まず、Y=0.212639*R+0.715169*G+0.072192*Bを使用して、元の輝度値RGBから線形輝度Yを計算する。
ここでは、[2]のB.1.5.3.2でY’Cb’Cr’におけるY’を計算する場合の丸めとはわずかに異なる丸めを行っている、Y成分に関する[2]のB.1.5.9.3からの定義を使用したことに注意する。この違いは、B.1.5.3.2における単なる丸め誤差である可能性が高いが、両方のケースにおいて[2]と同じ数値を維持した。
上の2つの色の輝度は、それぞれ219.929717および220.001234である。上のPQ(.)を使用してBartenの公式を近似し、211−1=2047を掛けることによって11ビットに量子化した場合、1205.840435および1205.910257が得られる。これは、これら2つの輝度が11ビットに量子化された場合、両方とも同じ符号語1206によって表されることを意味している。つまり、輝度に関して、2つの色の間の差は目に見えなくなる。
次に、クロミナンスにおける差を調べる。ここで、大まかに言うと、u’係数およびv’係数の9ビットの量子化は、透明品質を持つのには十分である。u’v’座標は、次の式を使用してXYZから取得される。
u’=4X/(X+15Y+3Z)
v’=9Y/(X+15Y+3Z)
X、Y、Zは、次の式を使用してRec.709 RGBから取得される。
X=0.412391*R+0.357584*G+0.180481*B
Y=0.212639*R+0.715169*G+0.072192*B
Z=0.019331*R+0.119195*G+0.950532*B
2つの色をu’v’に変換し、2−1=511を掛けると、(216.050845,248.355974)および(216.008101,248.366952)が得られる。これから分かるように、u’およびv’の両方において、差は1よりも小さく、したがって、2つのクロミナンスの間の差を見分けることはできない。
輝度においても、クロミナンスにおいても差を見ることができないため、当然、差を見分けることは全くできない。しかし、表現はY’において13ステップ変化し、Cb’Cr’において6ステップまたは7ステップ変化する。これは、領域内の一般的な色が(1000,0.15,100)であるが、ピクセル間で±(0,0.05,0)変動する場合、エンコーダは、見ることができない差をエンコードするためにビットを費やさなければならないことを意味する。
2つの色のRGBの数値(1000,0.1,100)および(1000,0.2,100)を調べた結果、これら2つの色を視覚的に区別することができないことは、理にかなっている。全般的な明るさがあまり変更されないというのは、妥当である。緑色成分の余分な強度は、それぞれ10000倍および1000倍大きな明るい赤色および青色によってかき消される。また、少しの緑色の光を非常に強い赤色および青色の光に追加しても、クロミナンスがあまり変化しないことも、理にかなっている。
この状況は、赤色成分および青色成分が低い場合、大きく異なる。2つの色RGB1=(0.1,0.1,0.2)およびRGB2=(0.1,0.2,0.2)を使用して同じ計算を実行した場合、次の数値が得られる。
PQ(0.212639*0.1+0.715169*0.1+0.072192*0.2)*2047=131.4072
PQ(0.212639*0.1+0.715169*0.2 +0.072192*0.2)*2047=162.1153
これは31ステップの差であり、1ステップは最小可知差異である。つまり、輝度におけるこの差は、見分けることができる可能性が非常に高い。
クロミナンスに関しては、次の値が得られる。
第1の色の場合、u’*511=99.0733、v’*511=211.3358となり、
第2の色の場合、u’*511=87.4913、v’*511=236.3768となる。
これは、約11ステップおよび25ステップの差である。つまり、このクロミナンスの差を見ることができるのは明白である。0.1〜0.2cd/mの範囲の非常に低い輝度を仮定した場合、このクロミナンスにおける差に気付くことができるかは不確かであるが、少なくとも最初の例におけるように差を除外することはできなくなる。
前述したように、これら2つの色を10ビットのY’Cb’Cr’に変換した場合、(120,521,511)および(133,514,503)となり、13、7、および8の差が得られる。
そのため、最初のケースおよび最後のケースの両方において、(13,7,9)および(13,7,8)という、Y’Cb’Cr’におけるほぼ同じ差が存在している。ただし、第1のケースでは、目に見える差が存在せず、一方、第2のケースでは、少なくとも輝度において、差を簡単に見ることができる。本明細書では、第1の種類の色を「第1のケースの色」と呼び、第2の種類の色を「第2のケースの色」と呼ぶ。また、「第1のケースのピクセル」は、第1のケースの色を持つピクセルという意味であり、「第2のケースのピクセル」は、第2のケースの色を持つピクセルという意味である。
実施形態では、元の信号は、第1のケースにおける差が除去され、一方、第2のケースにおける差が維持されるような方法で処理される。そうすることによって、第1のケースにおいては、Y’Cb’Cr’表現がフラットになり(すなわち、符号化するために必要なビットがなくなるか、または少なくなり)、一方、第2のケースにおいては、Y’Cb’Cr’表現が変動し、この変動は実際に目に見える。
現実世界の例が図8A〜Dに示されている。ここで、図8Aは、低ダイナミックレンジ(LDR)、つまり、ピクチャまたは画像のトーンマッピングされた部分を示している。日よけに注目する。その部分では、色が大体フラットであるように見える。このことは、図8B〜8Dにおいても確認される。図8Bは、XYZにおけるY成分のPQ(.)を示しており、フラットに見え、図8Cおよび8Dはそれぞれu’座標およびv’座標を示しており、やはりフラットに見える。
図9Aは画像のR’G’B’バージョンを示しており、R’=255*PQ(R)である。日よけの領域内に何らかの変動を見ることが可能になり始めており、これは、PQ(x)関数がxの小さい値に対して非常に急速に上昇し、それが緑色成分におけるノイズを強めていることによる。
図9B〜Dでは、Y’成分、Cb’成分、およびCr’成分が示されている。図8A〜8Dが、輝度においてもクロミナンスにおいても全く何も起きていないことを示しているにもかかわらず、図9B〜Dの各成分が日よけの領域内で大きく変動していることに注目する。エンコーディングの標準的な方法(すなわち、アンカー)は、ここでCb’成分およびCr’成分のサブサンプリングに進み、Y’をそのまま維持する。これが、図10A〜10Dに示されている。ここでは、サブサンプリングされたCb’値が2つの非常に異なるCb’値の平均であるため、その結果は、いずれのピクセル内のY’値にも適合しないCb’値になる。これは、図10Dに示されているように、明確に目に見えるノイズを引き起こし、図10Dは、線形Y成分に適用されたPQ(.)である。このノイズは、画像の(トーンマッピングされた)LDRバージョンにおいても明確に目に見える。図10Aは、図9Bと同じY’が使用されていることを示している。図10Bおよび10Cは、サブサンプリングされたCb’成分およびCr’成分を示している。
得られた画像のPQ(Y)成分、u’成分、およびv’成分が図11A〜11Cに示されており、特に輝度において明確なアーチファクトが見える。
これを理解するための1つの方法では、図9BにおけるY’成分は事前にCb’およびCr’における大きい揺れを補償する必要があり、サブサンプリングされることによってCb’およびCr’が激しく揺れなくなった場合は、代わりにY’における大きい揺れがアーチファクトを画像にもたらす。
この問題を防ぐための1つの方法が、付録AのAjusty手法において提示されており、この手法では、正しい線形光YをもたらすY’を見つける。これは多くの場合、Y’における大きい揺れが少し弱められ、Y’の符号化を容易にすることを意味している。このアプローチが、図12A〜12Eに示されている。図12Aを図10Aと比較すると、Ajusty手法がY’の変動を少なくしているが、Y’がまだフラットではないことは明らかである。
図12Aは、付録AのAjusty手法を使用して補正されたY’を示している。ここで、Y’成分は、変動が非常に少ないため、符号化が容易であるが、関連する領域においてまだフラットではないことに注意する。これは、Cb’およびCr’に残っている揺れ(図12Bおよび12Cに示されている)に起因する。得られた線形輝度Yは、PQ(Y)が示されている図12Dにおいて分かるように、完璧である。トーンマッピングされた画像図12Eも、良好であるように見える。
ここで得られる教訓は、付録AのAjusty手法の使用は状況を改善するが、まだ問題がある可能性があることである。第一に、図12Bおよび12Cに示されているように、Cb’およびCr’における何らかの変動がまだ存在しており、この変動は符号化するためのビットを増やす。これは、付録AのAjusty手法が、Y’を変動させることによって補償する必要があることも意味している(図12Aを参照)。この変動は前よりもかなり少ないとは言え(図10Aを参照)、符号化を高価にするビットをまだ生成している。
さらに、符号化処理は不可逆であるため、Y’は完全には保存されず、したがって、何らかのアーチファクトを再び導入する(ただし、元のアーチファクトよりはかなり少ない)。Cb’およびCr’も完全には保存されないため、正しいY’が使用された場合でも、Cb’およびCr’が変更されているため、Y’は完全には補償しない。
したがって、実施形態の目的は、このような問題のあるピクセル(上の用語を使用すると、いわゆる「第1のケースのピクセル」)を識別し、変動を削減または除去することである。
これを行うための1つの方法は、第1の種類であるピクセルを識別し、それらのピクセルのみをフィルタリングすることである。「第1のケースのピクセル」は、次の2つの基準によって特徴付けられる。
1.線形表現(RGBまたはXYZなど)における小さい変動が、Y’Cb’Cr’における大きい変動を引き起こす。
2.この変動自体は、見ることができない(すなわち、この変動は、例えばPQ(Y)u’v’における小さい変動を引き起こす)。
データが線形RGBで捕らえられたと仮定する。さらに、成分のうちの1つ(例えば、緑色(G)成分)に何らかのノイズが存在すると仮定する。第1の基準は、単に、緑色成分に対するY’Cb’Cr’の導関数が大きいことを意味している。
基準1:∂Y’/dGが大きい、∂Cb’/dGが大きい、∂Cr’/dGが大きい。
同様に、第2の基準は、単に、対応する導関数が小さいことを意味している。
基準2:∂PQ(Y)/dGが小さい、∂u’/dGが小さい、∂v’/dGが小さい。
これらの導関数の計算は明解であるが、やや複雑であるため、ここには含まれていない。
基準1の尺度を取得するために、ベクトル(∂Y’/dG,∂Cr’/dG,∂Cb’/dG)の長さを調べることができる。このベクトルが長い場合、信号表現がGにおける変化に非常に敏感であることが分かる。同様に、基準2に関して、ベクトル(∂PQ(Y)/dG,∂u’/dG,∂v’/dG)の長さを調べることができる。このベクトルが短い場合、画像はGと共にあまり変動しない。つまり、Gにおける目に見えないノイズがピクセルにどの程度影響を与えるかに関して、ピクセルごとに尺度を取得することができる。この尺度を、不安定性係数Cと呼ぶ。
不安定性係数=C=||(∂Y’/dG,∂Cr/dG,∂Cb’/dG)||/||(∂PQ(Y)/dG,∂u’/dG,∂v’/dG)||=((∂Y’/dG)+(∂Cb’/dG)+(∂Cr’/dG))/((∂PQ(Y)/dG)+(∂u’/dG)+(∂v’/dG)
したがって、一実施形態では、すべてのピクセルに対してこの不安定性係数を計算し、この不安定性係数を使用して、元の緑色成分Gと大きく平滑化されたバージョンのGのいずれかを選択する。不安定性係数があるしきい値よりも低い場合、元のGが選択され、不安定性係数が別のしきい値よりも高い場合、平滑化されたバージョンが選択される。不安定性係数が、これら2つのしきい値の間にある場合、凸結合((1−α)*元のG+α*平滑化されたG)が使用され、値αはα=(C−th1)/(th2−th1)として計算され、th1は下側しきい値であり、th2は上側しきい値である。あるいは、α=(√(C)−th1)/(th2−th1)を使用するか、またはCからαを計算するための何らかのその他の方法を使用することができる。
一例として、RGB=(1000,0.1,100)に対してCを推定し、42222のCを得ることができる。RGB=(0.1,0.1,0.2)の場合、Cは約0.1159になる。したがって、th1=1.0およびth2=1000のしきい値を持つことができる。これによって、第1のケースの色においては平滑化されたGのみを選択し、第2のケースの色においては元のピクセルのみを選択する。
別の実施形態では、ピクセルごとに緑色成分がフィルタリングされ、フィルタ係数は不安定性係数Cによって決まる。
好ましい実施形態では、不安定性係数Cが、例えば次のように、成分のそれぞれに対して個別に計算される。
iR=((∂Y’/dR)+(∂Cb’/dR)+(∂Cr’/dR))/((∂PQ(Y)/dR)+(∂u’/dR)+(∂v’/dR)
iG=((∂Y’/dG)+(∂Cb’/dG)+(∂Cr’/dG))/((∂PQ(Y)/dG)+(∂u’/dG)+(∂v’/dG)
iB=((∂Y’/dB)+(∂Cb’/dB)+(∂Cr’/dB))/((∂PQ(Y)/dB)+(∂u’/dB)+(∂v’/dB)
しきい値th1およびth2は、すべての成分について同じであるか、または各成分における変化に対する人間の視覚系(HVS)の敏感さの程度に基づいて、成分ごとに異なって重み付けすることができる。RGBの場合、しきい値は、例えば次のように互いに関連していることがある。
th1=(1−0.212639)*(th1+th1+th1
th1=(1−0.715169)*(th1+th1+th1
th1=(1−0.072192)*(th1+th1+th1
th2=(1−0.212639)*(th2+th2+th2
th2=(1−0.715169)*(th2+th2+th2
th2=(1−0.072192)*(th2+th2+th2
以下で示すように、不安定性係数を近似することもできる。
∂Y’/dGが高いピクセルを調べることから始める。下記のように表した場合、
R’=PQ(R)
G’=PQ(G)
B’=PQ(B)
下記の式が得られるため、
Y’=0.212600*R’+0.715200*G’+0.072200*B’
Cb’=−0.114572*R’−0.385428*G’+0.500000*B’
Cr’=0.500000*R’−0.454153*G’−0.045847*B’
次の式が得られる。
Y’=0.212600*PQ(R)+0.715200*PQ(G)+0.072200*PQ(B)
中央の項以外の2つの項がGに全く依存しないため、中央の項のみが∂Y’/dGに寄与することが直接分かる。図13は、0〜10000の値についてPQ(x)をプロットしている。x値が0に近い場合、導関数が非常に大きくなる(すなわち、傾きが非常に急になる)ことに注意する。
PQ(x)の導関数を計算しなくても、小さいxの値に対してPQ(x)の導関数が最大になるはずであることは明らかである。したがって、次のように結論付けることができる。
Gが0に近い場合、||∂Y’/dG||が大きい。
この導関数の符号には関心がないため、絶対値としている。同様に、次のように結論付けることができる。
Gが0に近い場合、||∂Cb’/dG||が大きい。
Gが0に近い場合、||∂Cr’/dG||が大きい。
したがって、Gが0に近い場合に第1の条件が完全に満たされることが分かる。それでは、第2の条件についてはどうであろうか。関心があるのはPQ(Y)の値であり、Yは次式の値である。
Y=0.212639*R+0.715169*G+0.072192*B
上と同じ推論を行って、||(∂PQ(Y))/dG||は、Yが0に近い場合に大きくなり、Yがゼロから遠い場合に小さくなることが分かる。第1の条件をすでに満たしていると仮定する。つまり、Gはゼロに近い。Yをゼロから遠ざけるには、RまたはBあるいはその両方が大きい値でならなければならない。したがって、次の経験則が得られる。
Gがゼロに近いが、RまたはBあるいはその両方がゼロから遠い場合、高い不安定性係数が存在し、例えば大幅にフィルタリングすることによって、Gにおける変動性を除去する必要がある。
赤色および青色に対して、次のように同じ推論を行うことができる。
Rがゼロに近いが、GまたはBあるいはその両方がゼロから遠い場合、Rを大幅にフィルタリングする必要がある。
Bがゼロに近いが、RまたはGあるいはその両方がゼロから遠い場合、Bを大幅にフィルタリングする必要がある。
これらのどの場合においても、色域の境界に近いピクセルが存在する。ただし、一部のピクセルは、ノイズ除去の候補になることなく色域の境界に近づく場合があることに注意する。これは単に、最小の係数が、PQ()曲線の急な傾斜部分になるほど十分に小さくないためである(図13を参照)。
以下の例では、ピクセルの緑色成分が変動性に関してテストされる。同じ手順を、他の2つの成分(すなわち、赤色成分および青色成分)に関して、置き換えることができる。
ここで、この理論を実践することができる。例えば、G<4cd/mであり、かつRおよびBの両方が少なくともGの2倍であるすべてのピクセルを、次のようにして検出することができる。
forすべてのピクセル位置x,y
if G(x,y) < 4.0 AND G(x,y)<0.5*R(x,y) AND G(x,y)<0.5*B(x,y)
mask(x,y) = 1
else
mask(x,y) = 0
end
end
この結果は、不安定なピクセル(いわゆる「第1のケースのピクセル」)が1(つまり白)になり、正常なピクセル(いわゆる「第2のケースのピクセル」)が0(つまり黒)になるマスクである。図14Aおよび14Bに示されているように、このマスクは問題のある領域を非常にうまく捕らえる。
これで、この領域内の緑色の係数を大幅にフィルタリングすることが可能になる。ただし、境界をまたがってフィルタリングしたいのではなく、類似するピクセルのみをフィルタリングしたいことに注意する。これは、次のようにして、ピクセルの近傍を調べ、近傍に存在する「第1のケースのピクセル」であるすべてのピクセルの平均を取ることによって行うことができる。
forすべてのピクセル位置x,y
val = 0;
num = 0;
for x,yの近傍内のすべてのピクセル位置x2,y2
if(mask(x2,y2) == 1)
val = val + G(x2,y2)
num = num + 1
end
end
if num >= 1
Gblur(x,y) = val/num
else
Gblur(x,y) = G(x,y)
end
end
これで、元の緑色成分G(x,y)およびブラーリングされたバージョンGblur(x,y)が得られる。図15Aおよび15Bは、ブラーリングの前後で緑色成分がどのように見えるかを示している。
ここで、次のようにマスクを使用して2種類の緑色成分から選択することができる。
forすべてのピクセル位置x,y
if( mask(x,y) == 1)
G(x,y) = Gblur(x,y)
end
end
得られたG成分が図15Cに示されている。この後に、チェーンの通常のステップ、すなわち、伝達関数の適用によるRGBからR’G’B’への変換、色変換の適用によるR’G’B’からY’Cr’Cb’への変換、Cb’およびCr’のサブサンプリング、その後の、RGBに戻すためのチェーンの反転が使用される。得られた画像が図16Bに示されている。
この結果は、図16Bを図9Dと比較した場合、日よけの部分におけるノイズがかなり少なくなっているが、付録Aにおいて開示されているAjusty手法を使用する場合ほどは良くなっていない(図16Cを参照)。これは、G(x,y)およびGblur(x,y)からの選択が厳格であるためであり、それによって、日よけの領域の境界に沿って見ることができるアーチファクトが生じる。幸い、この結果を付録AにおけるAjusty手法と組み合わせることができ、それによって得られた画像が図16Dに示されている。これによって、輝度の完全な品質が回復し、得られたピクチャは良好であるように見える。代替の実施形態では、例えば次のような柔軟なマスクを作成することによって、G(x,y)とGblur(x,y)の間で柔軟な決定を行う。
forすべてのピクセル位置x,y
if G(x,y) > 6.0 OR G(x,y)>0.75*R(x,y) OR G(x,y)>0.75*B(x,y)
softmask(x,y) = 0
else if G(x,y) < 2.0 AND G(x,y)<0.25*R(x,y) AND G(x,y)<0.25*B(x,y)
softmask(x,y) = 1
else
softmask(x,y) = (6-G(x,y))/4 * (0.75-G(x,y)/R(x,y))/0.5 * (0.75-G(x,y)/G(x,y))/0.5
end
end
次に、G(x,y)を選択するときに、次のようにして、厳格なマスクの代わりにこの柔軟なマスクを使用することができる。
forすべてのピクセル位置x,y
G(x,y) = softmask(x,y)*Gblur(x,y) + (1-softmask(x,y))*G(x,y)
end
これによって、単に付録AのAjusty手法を使用することと比較して何が得られるであろうか。Cb’およびCr’に含まれている変動が少なく、したがって符号化が容易であることは、朗報である(図17A〜17Dを参照)。図17Aおよび17Bに、付録AのAjusty手法のCb’およびCr’を示す。一部にかなりの変動性が存在していることに注目する。提案された方式のCb’およびCr’が、図17Cおよび17Dに示されている。変動性が低下していることに注目する。
輝度の変動も、付録AのAjusty手法の場合よりも少なくなっている。このことは、付録AのAjusty手法を使用したY’成分を示している図18A、および提案された方式を使用した後に、付録AのAjusty手法を使用したY’成分を示している図18Bから分かる。変動性が低下していることに注意する。
緑色成分をフィルタリングする方法に関する上の説明において、図13の後に、類似するピクセルのみを確実に平均化するために、「第1のケース」のピクセルのみを平均化に含めたと述べた。実際は、これでは、類似するピクセルのみを平均化することは保証されない。一例として、(1000,0.1,100)および(0.1,1000,100)は両方とも第1のケースのピクセルであるが、非常に異なっている。これらのピクセルが互いに隣接している場合、これらは平均化される。これを解決する1つの方法は、近傍に存在するすべてのピクセルを現在のピクセルと比較することである。Gにおける変化が目に見えないほど十分に小さい場合、近傍のピクセルは平均化に含まれる。しかし、Gにおける変化が目に見えるほど十分に大きい場合、近傍のピクセルは含まれない。これは、近傍に存在する各ピクセルに重みを割り当てることによって、柔軟な方法で実行することができ、この重みは、Gにおける変化が可視に近い場合に小さくなり、Gにおける変化が可視から遠い場合に大きくなる。前述した方法を次のように拡張することができる。
forすべてのピクセル位置x,y
val = 0;
num = 0;
(X, Y, Z) = calculateXYZ(R(x,y), G(x,y), B(x,y))
pqY = PQ(Y)*2047
(u’, v’) = calculate_upvp(X, Y, Z)*511
for ピクセルx,yそれ自体を含めてx,yの近傍内のすべてのピクセル位置x2,y2
(X2, Y2, Z2) = calculateXYZ(R(x2,y2), G(x2,y2), B(x2,y2))
pqY2 = PQ(Y2)*2047
(u2’, v2’) = calculate_upvp(X2, Y2, Z2)*511
if(abs(pqY2-pqY) <= 1 AND abs(u2’-u’)<=1 AND abs(v2’-v’)<=1)
val = val + G(x2,y2)
num = num + 1
end
end
if num >= 1
Gblur(x,y) = val/num
else
Gblur(x,y) = G(x,y)
end
end
この場合、すべての変化が目に見えないことを保証したため、マスクに従って選択することなく、G=Gblurを使用することができる。
さらに代替の実施形態では、上の行
(X2,Y2,Z2)=calculateXYZ(R(x2,y2),G(x2,y2),B(x2,y2))
が、
(X2,Y2,Z2)=calculateXYZ(R(x,y),G(x2,y2),B(x,y))
に交換される。
変化が完全に目に見えないという要件は、数値2047および511を低下させることによって、緩和することもできる。その場合、不安定なピクセルが存在するときにのみG=Gblurを使用するように、テストを復活させるのは良い考えである場合がある。
forすべてのピクセル位置x,y
if( mask(x,y) == 1)
G(x,y) = Gblur(x,y)
end
end
一例として、図19A〜19Cにおいて、2047の代わりに値511を使用し、511の代わりに値127を使用した。上で行ったように、条件G(x,y)<4.0 AND G(x,y)<0.5*R(x,y) AND G(x,y)<0.5*B(x,y)を使用してマスクが作成された。トーンマッピングされた画像において分かるように、ノイズが大幅に低下している。図19Aはトーンマッピングされた元の画像を示しており、図19Bは、アンカー処理チェーンに従って処理された、トーンマッピングされた画像を示しており、図19Cは、不安定なピクセル(すなわち、第1のケースのピクセル)に関して、4ステップを超えてPQ(Y)にもu’v’にも影響を与えないGを含むピクセルにわたってGが平均化されている画像を示している。
さらに別の実施形態では、不安定なピクセルの影響(すなわち、第1のケースのピクセルの影響)が、Gが小さく、かつRが大きい場合に最大になることに注目する。これは、次のようにYがRGBから計算される方法に起因する。
Y=0.212639*R+0.715169*G+0.072192*B
値||∂PQ(Y)/dG||は、成分の前にある係数によって決まる。例えば、(1000,0.1,100)の場合の||∂PQ(Y)/dG||は、(1000,100,0.1)の場合の||∂PQ(Y)/dB||よりも10倍大きくなる。これは単に、0.715169が0.072192よりも10倍大きいからである。したがって、上の経験則を次のように変えることができる。
0.715169 Gがゼロに近いが、0.212639 Rまたは0.072192 Bあるいはその両方がゼロから遠い場合、Gを大幅にフィルタリングする必要がある。
0.212639 Rがゼロに近いが、0.715169 Gまたは0.072192 Bあるいはその両方がゼロから遠い場合、Rを大幅にフィルタリングする必要がある。
0.072192 Bがゼロに近いが、0.212639 Rまたは0.715169 Gあるいはその両方がゼロから遠い場合、Gを大幅にフィルタリングする必要がある。
したがって、代わりにGのマスクを次のように計算することができる。
forすべてのピクセル位置x,y
if 0.715169*G(x,y) < 4.0 AND 0.715169*G(x,y)<0.5*0.212639*R(x,y) AND 0. 715169*G(x,y)<0.5*0.072192*B(x,y)
mask(x,y) = 1
else
mask(x,y) = 0
end
end
G成分のみではなく、フィルタリングを3つすべての成分に対して適用する上の方法の一般化されたバージョンは、次のように実現することができる。
forすべてのピクセル位置x,y
valR = R(x,y);
valG = G(x,y);
valB = B(x,y);;
num = 1;
(X, Y, Z) = calculateXYZ(R(x,y), G(x,y), B(x,y))
pqY = PQ(Y)*A
(u’, v’) = calculate_upvp(X, Y, Z)*B
for x,yの近傍内のすべてのピクセル位置x2,y2
(X2, Y2, Z2) = calculateXYZ(R(x2,y2), G(x2,y2), B(x2,y2))
pqY2 = PQ(Y2)*A
(u2’, v2’) = calculate_upvp(X2, Y2, Z2)*B
if(abs(pqY2-pqY) <= 1 AND abs(u2’-u’)<=1 AND abs(v2’-v’)<=1)
valR = valR + R(x2,y2)
valG = valG + G(x2,y2)
valB = valB + B(x2,y2)
num = num + 1
end
end
if num >= 1
Rblur(x,y) = valR/num
Gblur(x,y) = valG/num
Bblur(x,y) = valB/num
else
Rblur(x,y) = R(x,y)
Gblur(x,y) = G(x,y)
Bblur(x,y) = B(x,y)
end
end
例えば、重みAおよびBを、それぞれ2047および511にセットするか、またはそれぞれ511および127にセットするか、または圧縮用に最適化された値(例えば、さまざまなビットレートでHEVCエンコーダを使用して圧縮した後に、最良のBDレートの数値を与える値)にセットすることができる。
上の方法の「柔軟なフィルタリング」バージョンは、次のように実現することができる。
forすべてのピクセル位置x,y
valR = R(x,y);
valG = G(x,y);
valB = B(x,y);;
num = 1;
(X, Y, Z) = calculateXYZ(R(x,y), G(x,y), B(x,y))
pqY = PQ(Y)*A
(u’, v’) = calculate_upvp(X, Y, Z)*B
for x,yの近傍内のすべてのピクセル位置x2,y2
(X2, Y2, Z2) = calculateXYZ(R(x2,y2), G(x2,y2), B(x2,y2))
pqY2 = PQ(Y2)*A
(u2’, v2’) = calculate_upvp(X2, Y2, Z2)*B
w = f(abs(pqY2-pqY), abs(u2’-u’), abs(v2’-v’))
valR = valR + w*R(x2,y2)
valG = valG + w*G(x2,y2)
valB = valB + w*B(x2,y2)
num = num + w
end
end
if num >= 1
Rblur(x,y) = valR/num
Gblur(x,y) = valG/num
Bblur(x,y) = valB/num
else
Rblur(x,y) = R(x,y)
Gblur(x,y) = G(x,y)
Bblur(x,y) = B(x,y)
end
end
f(a,b,c)は、a、b、およびcが小さい場合に1に等しいか、または1に近づき、a、b、およびcのうちのいずれか1つが大きい場合に0に等しいか、または0に近づくという特性を持つ、任意の関数である。
関数f(a,b,c)の例は、min(a,b,c)/max(a,b,c)およびmin(a,b,c)/(max(a,b,c)+s)(sは小さく、通常は0.1などの正の値である)を含むが、これらに限定されない。
フィルタリングが適用される上の実施形態のすべてについて、フィルタリングされるピクセルと、近傍に存在する異なるピクセルとの間の空間距離を考慮することもでき、例えば、距離が近い近傍のピクセルが、遠くのピクセルよりも強い影響を与えるように考慮することができる。
本明細書における前の実施形態は、問題のある領域を処理するために、ビデオをエンコードする前に、ピクセルを調整することに言及する。これは、元のピクセルを使用できるために、好ましい実行の順序である。さらに、エンコーディングの前にピクセルを平滑化することによって、ビデオをエンコードするために必要なビットが少なくなる。さらに別の実施形態では、代わりに問題の領域が推定され、ビデオをデコードした後に調整される。これを実行する1つの方法は、4:2:0または4:2:2から4:4:4にアップサンプリングすることを含めて、デコードされたY’Cb’Cr’ピクセルから、再現されたRGBピクセルの第1のバージョンを最初に計算することである。その後、不安定性係数が次のように計算される。
=((∂Y’/dG)+(∂Cb’/dG)+(∂Cr’/dG))/((∂PQ(Y)/dG)+(∂u’/dG)+(∂v’/dG)
上の式において、Y’、Cb’、Cr’は、デコードされたピクセル値であり、PQ(Y)、u’、およびv’は、再現されたRGBピクセルの第1のバージョンから計算される。その後、前の実施形態のいずれかに従って、再現されたRGBピクセルの第2の最終バージョンが計算される。エンコーディング側で問題を調整できないシナリオでは、このアプローチを使用して、デコーダ側で問題のある領域の一部を調整することができる。
不安定性係数を計算するときに、次のようにベクトルの異なる成分を重み付けすることもできる。
不安定性係数=C=||(w1*∂Y’/dG,w2*∂Cr/dG,w3*∂Cb’/dG)||/||(w4*∂PQ(Y)/dG,w5*∂u’/dG,w6*∂v’/dG)||=(w1*(∂Y’/dG)+w2*(∂Cb’/dG)+w32*(∂Cr’/dG))/(w4*(∂PQ(Y)/dG)+w5*(∂u’/dG)+w6*(∂v’/dG)
ここで、w1〜w6は正の重みである。これによって、輝度をクロミナンスよりも大きく重み付けすることができ、その逆に重み付けすることもできる。
フィルタリングを含まない別の戦略は、第1のケースのピクセルを識別し、緑色成分値を固定値(ゼロなど)と単純に置き換えることである。ここでは、緑色成分が「問題のある」成分であると仮定したが、赤色または青色が第1のケースのピクセル内の最小の成分である場合は、同じことが赤色および青色にも当てはまる。最小値を固定値と置き換えることによって、近傍のピクセルの調査および高価なフィルタリングを必要とせずに、Y’Cb’Cr’成分のすべての変動性を除去する。この「固定」値は、色によって決めることができる。例えば、色(1000,0.1,100)の第1のケースのピクセルの場合は0.5を固定値として使用することができ、一方、色(100,0.1,10)の第1のケースのピクセルの場合は値0.05を使用することができる。
色域に近い色を使用することを単純に回避する従来技術の解決策とは異なり、提案された方法は、色が色域内の特定の場所に含まれるように制限しないことにも注意する。一例として、第1のケースのピクセル(1000,0.1,100)内の緑色成分に対して固定値0.0を使用した場合、色域の境界の右上にある(1000,0,100)を得る。このような飽和色は、従来技術の解決策では不可能である。
代替の実施形態では、第1のケースのピクセル内の最小の係数が、固定値のセットのうちの1つにセットされる。一例として、値が0〜0.001の範囲内である場合、値を0にセットすることができ、一方、値が0.001〜0.01の範囲内である場合、値を0.005にセットすることができ、値が0.01〜0.1の範囲内である場合、値を0.05にセットすることができる、などとなる。バンディング問題を回避するために、固定値間の距離が人間の目で気付くことができる距離よりも小さくなるように、十分な数のこのような固定値を持つことができる。したがって、固定値のセットは色間で異なることができ、色(1000,0.1,100)は固定値の1つのセットを持つことができ、一方、色(100,0.1,10)は別の大きいまたは小さい固定値のセットを持つことができる。
実施形態は、次のステップによって説明することができる。
1.1つまたは複数のサンプル(すなわち、ピクセル)が、差が人間の視覚系によってどの程度見えると予想されるかに関連する基準に基づいて評価される。
2.少なくとも1つのサンプル(すなわち、ピクセル)の1つまたは複数の成分が、ステップ1における評価に基づいて修正される。
この方法がエンコーダによって実行されるか、またはエンコーダと直接連動して実行された場合、好ましくは、次のステップが実行される。
1.複数のピクチャからなるビデオシーケンス内の少なくとも1つのピクチャに関して、1つまたは複数のサンプル(すなわち、ピクセル)が、差が人間の視覚系によってどの程度見えると予想されるかに関連する基準に基づいて評価される。
2.少なくとも1つのサンプル(すなわち、ピクセル)の1つまたは複数の成分が、ステップ1における評価に基づいて修正される。
3.修正されたビデオシーケンスがエンコードされる。
一例として、RGB=(1000,0.1,100)の緑色成分の±0.05の変動は、Y’Cb’Cr’における表現を大きく変化させるため、フィルタリングする必要がある。
RGB=(1000,200,100)の緑色成分の±0.05の変動は、Y’Cb’Cr’における表現を1ステップ分変化させない。
どちらの場合も、差は人間の目に見えないが、1番目のケースにおいてのみ、実際にフィルタリングする際の問題を調べることが必要な場合がある。
別の実施形態では、不安定であるため、非常に良く見えるアーチファクトを含む符号化のアーチファクトを生成するリスクがあると判定された何らかのサンプル(すなわち、ピクセル)を含む少なくとも領域またはブロックに関して、PQ(Y)、u’、またはv’、あるいは人間の視覚に関連する任意のその他の同等のもの(すなわち、輝度およびクロミナンスに基づく表現)のうちの少なくとも1つにおける誤差に対して、符号化モードが最適化される。これは、エンコーダ側で行うことができるが、デコーダ側で行うこともできる。符号化モードの例は、サンプルアダプティブオフセット(SAO)または適応ループフィルタリング(ALF)などのインループフィルタリングであるが、インター予測またはイントラ予測および残差符号化に関連する符号化モードである場合もある。
デコーダ側の実施形態の呼び出しは、シーケンスレベル(シーケンスパラメータセット(SPS)など)、ピクチャレベル(ピクチャパラメータセット(PPS)など)、スライスレベル、またはブロックレベルで1つまたは複数の構文要素においてシグナリングされる。このシグナリングは、符号化ループ外の後処理における適用などの場合、付加拡張情報(SEI)メッセージにおいて表すことができ、または符号化ループ内の適用などの場合、符号化されたビットストリームにおける標準的シグナリングの一部であることができる。シグナリングが存在する場合、シグナリングは、Y’またはCb’またはCr’、あるいは符号化/デコードされる任意のその他の選択された同等の色成分、または表示を目的とした表現空間のピクセル値の特定の範囲内の値を、1つまたは複数の固定値に強制する。この強制は、平滑化フィルタあるいは単に1つまたは複数の固定値との置き換えとして実装することができる。
実施形態の呼び出しおよびピクセル値の範囲は、色成分のうちの1つのみに特有のものとするか、またはすべての色成分に適用することができる。ピクセル値の範囲および1つまたは複数の固定値は、標準的な復号処理において指定するか、または符号化ビデオビットストリームの一部であることができる。方法の適用は、デコードされた残差の追加およびイントラ/インター予測の後、またはインループフィルタリングの後の動き補償予測において通常は発生する標準的なクリッピング操作の一部であることができる。標準的なクリッピング操作では、10ビット信号の場合、下限または下側しきい値は通常、0であり、上限は1023である。ここでは、標準的なクリッピングに加えて、クリッピングの一種がピクセルの範囲に適用され、それらのピクセルが1つの値と置き換えられるようにし、その結果、PQ(Y)、u’、またはv’、あるいは人間の視覚に関連する任意のその他の同等のもののうちの少なくとも1つにおいて、心地良く見える信号が得られる。
前の実施形態の適用は、比較的フラットまたはスムーズであるように視覚的に見える領域において特に重要である。これは、そのような領域においてアーチファクトが特に目立つからである。
ほとんどの実施形態では、緑色チャネル、赤色チャネル、または青色チャネルにおいてサンプル値の修正を実行することが説明されている。しかし、この色空間内で修正を実行する代わりに、Y’またはCb’またはCr’、あるいは符号化のために選択された任意のその他の色空間のうちの1つまたは複数に対して、修正を適用できる。
図20は、一実施形態に従う方法を示している。この方法は、第1の色表現(RGBなど)において少なくとも第1のピクセルを表すビットストリームを受信するステップを含む。次のステップは、このピクセルが、人間の目で見ることは難しいが第2の色表現(Y’Cb’Cr’など)において大きい変動を生むことができる方法で変動しているかどうかを調査するか、または決定する。そのように決定された場合、このピクセルは、そのような変動性を除去するように処理される。
図20において、少なくとも第1のピクセルを第2の色表現に変換するステップがオプションであることに、注意するべきである。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイスに関する。このデバイスは、ピクチャ内の処理対象のピクセルを識別するように設定され、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。このデバイスは、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するようにも設定される。
一実施形態では、このデバイスは、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別するように設定され、この識別に関して、色の線形表現の色成分の値と別の色成分の値の間の比率が、第5のしきい値よりも小さい。
一実施形態では、このデバイスは、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別するように設定され、この識別に関して、色の線形表現の少なくとも1つの色成分の値が、第6のしきい値よりも大きい。
一実施形態では、このデバイスは、第4のしきい値よりも小さい色の線形表現の色成分の値を含むピクチャ内のピクセルを識別するように設定され、この識別に関して、色の線形表現の少なくとも1つの他の色成分の値が、色の線形表現の色成分の値の係数倍以上であり、この係数は1よりも大きい。
一実施形態では、このデバイスは、ピクチャ内の処理対象のピクセルを識別するように設定され、この識別に関して、第1のしきい値よりも小さい色の線形表現(RGBまたはXYZなど)における変動が、第2のしきい値よりも大きい色のY’Cb’Cr’表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色のPQ(Y)u’v’表現またはPQ(Y)xy表現における変動ももたらす。
特定の実施形態では、色の線形表現は、色のRGB表現である。そのような場合、このデバイスは、ピクセルに関して、色のRGB表現における少なくとも1つの色成分に対するルマ成分Y’、クロマ成分Cb’、およびクロマ成分Cr’の導関数、ならびにRGB表現における少なくとも1つの色成分に対する輝度に基づく成分PQ(Y)およびクロミナンスに基づく成分u’v’またはxyの導関数に基づいて、不安定性係数を計算するように設定される。このデバイスは、不安定性係数が第7のしきい値よりも高い場合に処理対象のピクセルを選択するようにも設定される。
特定の実施形態では、このデバイスは、
または
に基づいて不安定性係数Cを計算するように設定される。ここで、w...wは非ゼロの重みであるか、または存在せず、AはRGB表現における赤色成分R、緑色成分G、および青色成分Bのうちの1つを表す。
一実施形態では、このデバイスは、不安定性係数が第7のしきい値よりも高い場合に、ピクセルの少なくとも1つの色成分の元の値を、少なくとも1つの色成分の修正された値と置き換えるように設定される。このデバイスは、不安定性係数が第7のしきい値以下であるが、第8のしきい値以上である場合に、少なくとも1つの色成分の元の値を、少なくとも1つの色成分の元の値および少なくとも1つの色成分の修正された値の線形結合と置き換えるようにも設定される。このデバイスは、不安定性係数が第8のしきい値よりも小さい場合に、少なくとも1つの色成分の元の値を維持するようさらに設定される。
一実施形態では、このデバイスは、色の線形表現の少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するように設定される。
別の実施形態では、このデバイスは、ピクセルの少なくとも1つの色成分の値を、ピクチャ内の近傍のピクセルの少なくとも1つの色成分の値の加重平均と置き換えるように設定される。
特定の実施形態では、このデバイスは、ピクチャ内の近傍のピクセルを識別するように設定され、この識別に関して、第1のしきい値よりも小さい近傍のピクセルの色の線形表現における変動が、第2のしきい値よりも大きい近傍のピクセルの色の非線形表現における変動をもたらす。近傍のピクセルの色の線形表現における変動は、第3のしきい値よりも小さい、近傍のピクセルの色の輝度およびクロミナンスに基づく表現における変動ももたらす。このデバイスは、ピクセルの少なくとも1つの色成分の値を、ピクチャ内の識別された近傍のピクセルの少なくとも1つの色成分の値の加重平均と置き換えるようにも設定される。
別の特定の実施形態では、このデバイスは、ピクチャ内の近傍のピクセルを識別するように設定され、この識別に関して、ピクセルの輝度に基づく成分の値と近傍のピクセルの輝度に基づく成分の値との間の絶対差が、第9のしきい値以下である。ピクセルのクロミナンスに基づく成分の各値と近傍のピクセルのクロミナンスに基づく成分の各値との間の各絶対差が、第10のしきい値以下である。このデバイスは、ピクセルの少なくとも1つの色成分の値を、ピクチャ内の識別された近傍のピクセルの少なくとも1つの色成分の値の加重平均と置き換えるようにも設定される。
一実施形態では、このデバイスは、少なくとも1つの色成分の値を固定値にセットするように設定される。
別の実施形態では、このデバイスは、ピクセルの少なくとも1つの色成分の値をフィルタリングするように設定される。
特定の実施形態では、このデバイスは、不安定性係数に基づいて決定されるフィルタ係数を有するフィルタを用いて、ピクセルの少なくとも1つの色成分の値をフィルタリングするように設定される。
図21は、一実施形態に従うコンバータ100の特定のハードウェア実装を示している。一実施形態では、コンバータ100は、人間の目で見ること(可視と呼ばれる場合もある)が難しい方法でピクセルを変動させることによって第2の色表現における大きい変動を生むことができるかどうかを決定するように設定された決定ユニット101を備える。そのような決定を、本明細書に記載されたいずれかの実施形態に従って行うことができる。人間の目で見ることが難しいが第2の色表現における大きい変動を生むことができる方法でピクセルが変動できると決定された場合、そのピクセルは、コンバータ100のピクセルプロセッサ102によって、そのような潜在的な変動性を除去するように処理される。コンバータ100は、ピクセルを第2の色表現に色変換するように設定された変換ユニット103を必要に応じて備える。第2の色表現への実際の変換は、後で処理において実行することができる。
一実施形態では、コンバータ100は、第1の色表現における少なくとも第1のピクセルを表すビットストリームを受信するように設定された入力ユニット104、および色変換されたビットストリームをエンコーダに出力するように設定された出力ユニット105も備える。
入力ユニット104は、特に外部デバイスへの有線接続の場合、一般的な入力ユニットの形態であることができる。あるいは、入力ユニット104は、特に外部デバイスへのワイヤレス接続の場合、レシーバまたはトランシーバの形態であることができる。それに応じて、出力ユニット105は、特に外部デバイスへの有線接続の場合、一般的な出力ユニットの形態であることができる。あるいは、出力ユニット105は、特に外部デバイスへのワイヤレス接続の場合、トランスミッタまたはトランシーバの形態であることができる。
入力ユニット104は、好ましくは決定ユニット101に接続され、決定ユニット101は、好ましくはピクセルプロセッサ102に接続され、ピクセルプロセッサ102は、変換ユニット103にさらに接続され、その後、出力ユニット105に接続される。出力ユニット105は、ビデオエンコーダ(図示せず)に接続することができる。ビデオエンコーダは、ピクセルを圧縮またはエンコードするように設定される。
あるいは、本明細書に記載されたステップ、機能、手順、モジュール、および/またはブロックのうちの少なくとも一部は、1つまたは複数のプロセッサまたは処理装置などの適切な処理回路によって実行するための、コンピュータプログラムなどのソフトウェアにおいて実装することができる。
処理回路の例は、1つまたは複数のマイクロプロセッサ、1つまたは複数のデジタル信号プロセッサ(DSP)、1つまたは複数の中央処理装置(CPU)、ビデオアクセラレーションハードウェア、ならびに/あるいは1つまたは複数のフィールドプログラマブルゲートアレイ(FPGA)または1つまたは複数のプログラマバブルロジックコントローラ(PLC)などの任意の適切なプログラマブルロジック回路を含むが、これらに限定されない。
提案された技術が実装された従来のデバイスまたはユニットの一般的な処理能力を再利用することが可能である場合があることも理解されるべきである。例えば既存のソフトウェアの再プログラミングによって、または新しいソフトウェアコンポーネントを追加することによって、既存のソフトウェアを再利用することが可能である場合もある。
一実施形態では(図22を参照)、ピクセルを処理するためのデバイスがコンバータ110として表され、コンバータ110は、プロセッサ111およびプロセッサ111によって実行可能な命令を含むメモリ112を備える。プロセッサ111は、処理対象のピクセルを識別するように機能する。プロセッサ111は、識別されたピクセルを処理するようにも機能する。
別の実施形態では、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイスがコンバータ110として表されており、コンバータ110は、プロセッサ111およびプロセッサ111によって実行可能な命令を含むメモリ112を備える。プロセッサ111は、ピクチャ内の処理対象のピクセルを識別するように機能し、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。プロセッサ111は、色の線形表現における少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するようにも機能する。プロセッサ111は、ピクセルの色の線形表現を色の非線形表現に変換するようにさらに機能する。プロセッサ111は、色の非線形表現をエンコードするようにさらに機能する。
具体的な例では、コンバータ110(図22を参照)は、プロセッサ111およびプロセッサ111によって実行可能な命令を含むメモリ112を備える。プロセッサ111は、人間の目で見ること(可視と呼ばれる場合もある)が難しい方法でピクセルを変動させることによって第2の色表現における大きい変動を生むことができるかどうかを決定するように機能する。そのような決定を、本明細書に記載されたいずれかの実施形態に従って行うことができる。人間の目で見ることが難しいが第2の色表現における大きい変動を生むことができる方法でピクセルが変動できると決定された場合、プロセッサ111は、そのような潜在的な変動性を除去するようにピクセルを処理し、その後、ピクセルを色変換するように設定される。
一実施形態では、デバイス110は、ビットストリームを受信するように設定された入力ユニット113も備える。その場合、プロセッサ111は、入力ユニット113からビットストリームを受信するように機能する。
一実施形態では、デバイス110は、色変換されたピクセルを表すビットストリームを出力するように設定された出力ユニット114も備える。
特定の実施形態では、プロセッサ111は、メモリ112に記憶された命令を実行したときに前述した操作を実行するように機能する。それによって、プロセッサ111はメモリ112に相互接続されることで、通常のソフトウェア実行を可能にする。
図23は、プロセッサ210、関連するメモリ220、および通信回路230を備えるユーザ機器(UE)200の例を示している概略ブロック図である。
この特定の例では、本明細書に記載されたステップ、機能、手順、モジュール、および/またはブロックのうちの少なくとも一部が、コンピュータプログラム240において実装され、コンピュータプログラム240は、例えば1つまたは複数のプロセッサ210を含む処理回路によって実行されるために、メモリ220に読み込まれる。プロセッサ210およびメモリ220は、相互接続されて、通常のソフトウェア実行を可能にする。通信回路230も、プロセッサ210および/またはメモリ220に相互接続され、ビデオデータおよび変換済みビデオデータ、必要に応じてエンコードされた変換済みビデオデータの入力および/または出力を可能にする。
ユーザ機器200は、ビデオデータを受信して処理できる任意のデバイスまたは装置であることができる。例えば、ユーザ機器200は、ラップトップ、スマートフォン、タブレット、セットトップボックスなどの固定型または携帯型のコンピュータであることができる。
「プロセッサ」という用語は、特定の処理、決定、または計算作業を実行するためにプログラムコードまたはコンピュータプログラム命令を実行できる任意のシステムまたはデバイスとして、一般的な意味で解釈されるべきである。
したがって、1つまたは複数のプロセッサを含む処理回路は、コンピュータプログラムを実行した場合に本明細書に記載された処理作業などの明確に規定された処理作業を実行するように設定される。
処理回路は、前述したステップ、機能、手順、および/またはブロックを実行することのみに専念する必要はなく、他の作業を実行することもできる。
一実施形態では、コンピュータプログラム240は、プロセッサ210によって実行された場合に実施形態に従ってプロセッサ210に決定および処理を実行させる命令を含む。
別の実施形態では、コンピュータプログラム240は命令を含んでおり、この命令は、プロセッサ210によって実行された場合に、プロセッサ210に複数のピクチャを含むビデオシーケンスのピクチャ内の処理対象のピクセルを識別させ、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。プロセッサ210は、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルの処理も行う。
特定の実施形態では、コンピュータプログラム240は命令を含んでおり、この命令は、プロセッサ210によって実行された場合に、プロセッサ210に、色の線形表現における少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理させる。プロセッサ210は、ピクセルの色の線形表現を色の非線形表現に変換することも行う。プロセッサ210は、色の非線形表現をエンコードすることをさらに行う。
提案された技術は、コンピュータプログラム240を含むキャリア250も提供する。キャリア250は、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読記憶媒体250のうちの1つである。
例として、ソフトウェアまたはコンピュータプログラム240を、コンピュータ可読媒体240(好ましくは、不揮発性コンピュータ可読記憶媒体250)上で通常は搬送または記憶されるコンピュータプログラム製品として実現することができる。コンピュータ可読媒体250は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、ユニバーサルシリアルバス(USB)メモリ、ハードディスクドライブ(HDD)ストレージデバイス、フラッシュメモリ、磁気テープ、または任意のその他の従来のメモリデバイスを含むがこれらに限定されない、1つまたは複数の取り外し可能または取り外し不能なメモリデバイスを含むことができる。したがって、コンピュータプログラム240は、図23のユーザ機器200によって表されたコンピュータまたは同等の処理デバイスのプロセッサ210によって実行するために、そのコンピュータまたは処理デバイスの動作中のメモリに読み込むことができる。
したがって、本明細書で提示されたフロー図は、1つまたは複数のプロセッサによって実行される場合、コンピュータフロー図と見なすことができる。対応するデバイスは、機能モジュールのグループとして規定することができ、プロセッサによって実行される各ステップが機能モジュールに対応する。この場合、機能モジュールはプロセッサ上で実行されるコンピュータプログラムとして実装される。したがって、代わりにデバイスを、機能モジュールのグループとして規定することができ、それらの機能モジュールは、少なくとも1つのプロセッサ上で実行されるコンピュータプログラムとして実装される。
したがって、メモリ内に存在するコンピュータプログラムは、プロセッサによって実行された場合に本明細書に記載されたステップおよび/または作業の少なくとも一部を実行するように設定された適切な機能モジュールとして構造化することができる。そのような機能モジュールの例が図24に示されている。
一実施形態において、図24は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイス120を示している。デバイス120は、ピクチャ内の処理対象のピクセルを識別するための決定ユニット121を備え、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。デバイス120は、ピクセルの少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するためのピクセルプロセッサ122も備える。
この実施形態では、図24に示されたエンコーダ103およびコンバータ104はオプションであり、省略することができる。
別の実施形態において、図24は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイス120を示している。デバイス120は、ピクチャ内の処理対象のピクセルを識別するための決定ユニット121を備え、この識別に関して、第1のしきい値よりも小さいピクセルの色の線形表現における変動が、第2のしきい値よりも大きい色の非線形表現における変動をもたらす。色の線形表現における変動は、第3のしきい値よりも小さい色の輝度およびクロミナンスに基づく表現における変動ももたらす。デバイス120は、色の線形表現における少なくとも1つの色成分の値を修正することによって、識別されたピクセルを処理するためのピクセルプロセッサ122も備える。デバイス120は、ピクセルの色の線形表現を色の非線形表現に変換するためのコンバータ124をさらに備える。デバイス120は、色の非線形表現をエンコードするためのエンコーダ123をさらに備える。
さらにその他の実施形態において、図24は機能モジュールを含むデバイス120の概略ブロック図である。デバイス120は、人間の目で見ること(可視と呼ばれる場合もある)が難しい方法でピクセルを変動させることによって、第2の色表現における大きい変動を生むことができるかどうかを決定するための決定ユニット121を備える。デバイス120は、そのような潜在的変動性を除去するようにピクセルを処理するためのピクセルプロセッサ122も備え、ピクセルを第2の色表現に色変換するためのコンバータも備えることができる。デバイス120は、変動性を除去するように処理されたピクセルを使用している可能性のある色変換済みビットストリームをエンコードするためのビデオエンコーダ123をさらに備える。
実施形態は、図21、22、または24のいずれかにおいて開示されている実施形態などの、いずれかの実施形態に従うデバイスを備えるユーザ機器にも関する。ユーザ機器は、コンピュータ、ラップトップ、スマートフォン、タブレット、およびセットトップボックスからなる群から選択される。
実施形態のさらに別の態様は、複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルのエンコードされたバージョンを表す信号に関する。エンコードされたバージョンは、いずれかの実施形態に従って、ピクセルの色のエンコードされた非線形表現を含む。
特定の実施形態では、この信号は、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、およびマイクロ波信号のうちの1つである。
ネットワークノードおよび/またはサーバなどのネットワークデバイスにおいて、ハードウェアおよび/またはソフトウェアなどの計算サービスを提供することが、ますます一般的になってきており、その計算サービスのリソースは、ネットワークを経由してサービスとして遠隔地に提供される。例として、これは、本明細書に記載されているように、機能を1つまたは複数の別々の物理ノードまたはサーバに分散または再配置することができることを意味している。機能を、1つまたは複数の連携して動作している物理マシンおよび/または仮想マシンに再配置または分散することができ、この物理マシンおよび/または仮想マシンは、別々の物理ノード内(すなわち、いわゆるクラウド内)に位置付けることができる。これは、クラウドコンピューティングと呼ばれる場合もあり、クラウドコンピューティングは、ネットワーク、サーバ、ストレージ、アプリケーション、および一般的サービスまたはカスタマイズされたサービスなどの、設定可能な計算リソースのプールへのユビキタスなオンデマンドネットワークアクセスを可能にするためのモデルである。
図25は、一般的なケースにおいて、異なるネットワークデバイス300、301、302間で機能を分散または分割できる方法の例を示す概略図である。この例では、少なくとも2つの個別の、ただし相互接続されたネットワークデバイス300、301が存在しており、これらのネットワークデバイスは、異なる機能を持つか、またはネットワークデバイス300、301間で分割された同じ機能の一部を持つことができる。そのような分散実装の一部である追加のネットワークデバイス302が存在することができる。ネットワークデバイス300、301、302は、同じワイヤレス通信システムの一部であることができ、またはネットワークデバイスのうちの1つまたは複数は、ワイヤレス通信システムの外部に存在するいわゆるクラウドベースネットワークデバイスであることができる。
図26は、1つまたは複数のクラウドベースネットワークデバイス300と連携するアクセスネットワーク1および/またはコアネットワーク2および/またはオペレーションサポートシステム(OSS)3を含む、ワイヤレス通信システムの例を示す概略図である。この図は、実施形態に従うアクセスネットワーク1のネットワークノード4およびユーザ機器5も示している。
本発明の概念の特定の態様は、いくつかの実施形態を参照して上で主に説明された。ただし、当業者によって容易に理解されているように、上で開示された実施形態以外の実施形態も同様に可能であり、本発明の概念の範囲に含まれる。同様に、複数の異なる組み合わせが説明されたが、すべての可能な組み合わせは開示されていない。当業者は、他の組み合わせが存在し、本発明の概念の範囲に含まれることを理解するであろう。さらに、当業者によって理解されているように、本明細書において開示された実施形態は、他の規格およびエンコーダシステムまたはデコーダシステムにも同様に適用可能であり、他の特徴に関連して開示された特定の図からの任意の特徴は、任意の他の図に適用することができ、かつ/または異なる特徴と組み合わせることができる。
付録A
本付録Aは、第2の色空間内の非線形ルマ成分値を導き出すために実施形態に従って使用できるAjusty手法の説明を含む。
高度に非線形な関数、4:2:0または4:2:2のサブサンプリング、および一定でない輝度の順序の組み合わせが、飽和色における深刻なアーチファクトを引き起こす。輝度が類似する2つの色の間の変化から、非常に異なる輝度を持つ再構成画像を得ることができる例が、付録Bで説明されている。
デジタルビデオ信号において、サンプル(すなわち、ピクセル)の各成分は、整数値または浮動小数点数値によって表される。ビデオを描画する画面、TV、またはモニタなどのディスプレイは、ビデオ信号のデジタル値に基づいて光を放射する。デジタル値Vを光Yに変換する関数は、電気光伝達関数(ETOF)である。従来EOTFはガンマ関数と呼ばれる指数関数として表され、ガンマγは指数値である。この指数値は通常、2.4である(ただし、他の値にすることもできる):Y=Vγ
ガンマ関数の使用は、低い輝度信号に対しては適切に機能するが、輝度が100ニット(cd/m)を超えた場合、ガンマ関数は人間の視覚系のコントラスト感度とあまり一致しなくなる。したがって、例えば次のような、より非線形な伝達関数が規定された。
この伝達関数は、0〜1の範囲でのその一次導関数の最大値がガンマ関数の一次導関数の最大値よりも大きいという意味で、ガンマ関数よりも非線形である。
データ量を減らすための初期ステップとして、通常はクロマサブサンプリングが圧縮の前に実行される。4:2:2では、クロマ信号が、垂直方向において1/2の解像度に削減される。4:2:0では、クロマ信号が、垂直方向および水平方向の両方において1/2の解像度に削減される。これは通常、良好な品質の信号を得るために、何らかのフィルタリング操作を使用して実行されるが、最近傍の信号を使用して実行することもできる。
4:2:0ビデオまたは4:2:2ビデオを表示するために、デコーダはクロマ信号のアップサンプリングを実行する。このアップサンプリングは、バイリニアフィルタまたはさらに長いフィルタを使用して実行できる。
ただし、高度に非線形な伝達関数、4:2:0または4:2:2のサブサンプリング、および一定でない輝度の順序の組み合わせが、特に飽和色(すなわち、色が色域の境界に近づく)に関して、ビデオデータに深刻なアーチファクトを引き起こす。
この問題を回避するには、いくつかの方法がある。1つの方法は、4:2:0または4:2:2のサブサンプリングを使用せず、代わりに4:4:4を使用することである。ただしこの方法は、圧縮前に4:2:0がビット数を1/2にし、一方、4:2:2がビット数を2/3に減らすため、高価である。別の方法は、高度に非線形な伝達関数を使用しないことである。ただしこれは、暗い領域内でバンディングを生じさせずに、ピーク輝度が非常に高いコンテンツを表すことが難しくなることを意味している。3番目の方法は、一定の輝度を使用すること、すなわち、CIE1931 XYZ色空間への変換後に伝達関数を適用することである。ただし、そのような解決策は、放送産業内の一般的な習慣に合わず、一部のシナリオでは困難であり、実現するためのコストが高くなる場合がある。
標準的な圧縮チェーンについて下で説明する。0〜10,000の範囲の入力線形光ピクセル(R,G,B)が最初に伝達関数に供給され、0〜1の範囲の新しいピクセル(R’,G’,B’)が得られる。この後に、ピクセルに対して色変換が実行されて、Y’Cb’Cr’が得られる。次に、Cb’成分およびCr’成分が4:2:0にサブサンプリングされる。
圧縮解除後に、4:2:0シーケンスが再び4:4:4にアップサンプリングされ、逆色空間変換によって(R’,G’,B’)が得られ、最終的に、逆伝達関数によって、モニタ上に出力できる線形光ピクセル(R,G,B)が再び得られる。
Cb’成分およびCr’成分は補間されるが、Y’成分は補間されないことから、問題が発生する。したがって、Y’成分における鋭いシフトがピクセルに存在する場合があるが、Cb’成分およびCr’成分は補間されるため、追随することができない。一部の色(特に飽和色)の場合、その結果として完全に誤った強度のピクセルが得られ、はっきりと目に見える。
そのような場合において、補間された色から生成されたタプル(Y’,Cb’,Cr’)が元の色とそれほど異ならないようにY’成分を変更することが提案される。理想的には、差を気付かないほど小さくする。
基本的に、この提案は、Cb’成分およびCr’成分が誤っている場合、Y’成分も誤った値にすることで、(Y’,Cb’,Cr’)を真の色に近づけるようにすることから発している。言い換えると、Y’に誤差を導入することによって、Cb’およびCr’にすでに存在している誤差を補償して、実際のピクセルに近づくことができる。Cb’−CbおよびCr’−Crをしきい値と比較することによって(例えば、第1のサブサンプリングクロマ(4:2:0)から取得するCb’を比較することによって)、Cb’成分およびCr’成分が誤っていることを決定することができ、その後、(4:4:4に)アップサンプリングする。
第1の態様によれば、Ajusty手法が提供される。この手法は、エンコーダにおいて、またはエンコーダへの前処理において実行できる。この手法では、Cb’成分および/またはCr’成分が誤差を含むことが決定された場合、Cb’成分および/またはCr’成分における誤差を補償するために、補正されたY’成分が導き出される。
第2の態様によれば、プリプロセッサまたはエンコーダなどのユニットが提供される。このユニットは、Cb’成分および/またはCr’成分が誤差を含むことを決定するように設定され、Cb’成分および/またはCr’成分が誤差を含むことを決定した場合、Cb’成分およびCr’成分における誤差を補償するために、補正されたY’成分を導き出すように設定される。
補正されたY’成分は、下で説明されているように、さまざまな実施形態に従って導き出すことができる。したがって、その後、補正されたY’成分、Cb’、およびCr’が圧縮され、画像またはビデオがより高い品質で知覚されるという結果が得られる。
Y’成分を変更することによって(すなわち、補正されたY’成分を導き出すことによって)、得られる輝度値を補償することができる。目は、クロミナンスの変化に対するよりも輝度の変化に対する方がはるかに敏感であるため、第1のルールは、輝度が常に元の値から大きく逸脱しないようにすることでなければならない。
前述したように、非線形輝度Y’は、ピクセルの線形輝度Yが正しい値に近づくように、圧縮前に調整される。これについて、下でさらに説明する。
画面の左の部分(例えば、ピクセル0〜96)に値(2142,0,138)が存在し、右の部分(例えば、ピクセル97〜1920)に値(2142,4,138)が存在するピクチャを仮定する。従来の処理チェーンを使用して、表A1の結果が得られる。
ここでは、Y値は線形輝度である。つまり、元のY値は、元の線形光RGB(2142,4,138)を受け取ってXYZに変換した場合に取得する値である。例えば、RGBがBT.2020色空間内にある場合、次式を使用してXYZに変換できる。
X=0.636958×R+0.14461×G+0.168881×B
Y=0.262700×R+0.677998×G+0.059302×B (式A2)
Z=0.000000×R+0.028073×G+1.060985×B
このY成分は、目が最も敏感に感じる輝度である。Y成分を、R、G、およびBに対して非線形に依存する前述したY’成分と混同するべきではない。
表A1から分かるように、Y値は、RGB 4:2:0のサブサンプリングおよびアップサンプリングを使用した場合に、ピクセル97に関して極めて悪くなっている。この例では、圧縮が行われておらず、10ビットへの量子化のみが行われているが、このY値の相対誤差が85%であることに注意する。目で見ることができる差の大きさを予測するBartenのモデルを使用すると、この誤差が195Bartenステップ、つまり、気付くことができるものの195倍大きいことが分かる。
表A2を見てみると、何が起きているかが分かる。
Cb’成分を見てみると、不連続が生じる前(すなわち、ピクセル94)の650と、不連続が生じた後の575のほぼ中間である607の値が存在するが、正しい値は575である。問題は、この誤差が、ピクセルのクロミナンスに影響を与えるだけでなく、輝度にも、あまりにも大きくなるという影響を与えることである。本発明のアイデアは、ピクセルのY’成分を変更することによって、この誤差を補償することである。実施形態によれば、ピクセルのY’成分を422にするのではなく、代わりに値363を選択する。その結果を表A3に示す。
ここで、新しい色が正しい値に非常に似ていることが分かる。緑色成分が誤った方向に進んでいる(ただし、1.72cd/mのみ)が、同時に赤色成分がほぼ半減して正しい値になっており(1849cd/mの移動)、青色成分も同様に変化している。輝度に対して何が起きているかを表A4に示す。
表A4から分かるように、輝度Yにおいて、誤差がかなり小さくなっている。相対誤差は0.2465%であり、この値は0.5602Bartenステップに相当する(すなわち、見ることができない)。
ここで、代わりに誤差がクロミナンスに存在しているが、人間の視覚系が輝度における誤差よりもクロミナンスにおける誤差の方に敏感でないことを考えると、クロミナンスにおける誤差はそれほど問題にならない。加えて、クロミナンスはサブサンプリングされるため、いずれにせよクロミナンスには誤差が発生する。また、輝度における誤差とクロミナンスにおける誤差の間の適切なトレードオフを実現するように、Y’成分を変更することができる。
さらに、クロミナンスにおける変化は気付かれない場合さえある。唯一の差は、緑色成分が3.9750cd/mではなく0.7008cd/mであることであるが、赤色成分がほぼ1000倍大きい(2145)ため、いずれにせよこの差は赤色成分と比べると小さく見える可能性が極めて高い。これを確認するための別の方法は、緑色成分と赤色成分の間の比率が、正しい3.9750/2142.6617=0.001855ではなく0.7008/2145.11=0.000327になることである。人間の目でこの色相におけるわずかなシフトを見ることができるかは、明確ではない。したがって、気付くことができるものよりも200倍大きい輝度における誤差を、非常に小さいため見ることができない可能性があるクロミナンスにおける誤差と置き換えた。
変更されたY’値が個々のピクセルのみに影響を与えることは、良いことである。したがって、Y’成分を変更することによって、他のピクセルが犠牲になることはない。
一実施形態では、値Y’がCb’およびCr’の特定の値に対して最適化されない。代わりにY’値は、Cb’およびCr’の何らかの差分値に対して、またはCb’およびCr’の値の範囲に対して輝度の誤差を最小限に抑えるように選択される。これは、クロマアップサンプリング方法が不明であるシナリオにおいて実行できる。
1つの変形は、特定の数のクロマアップサンプリング方法を実行し、その後、異なるアップサンプリング方法の平均平方誤差を最小限に抑えるY’値を選択することである。別のバージョンでは、ワーストケース(すなわち、最大の誤差)を最小限に抑えるようにY’値が選択される。
別の変形は、Cb’およびCr’の2つ以上の近傍の値を使用することであり、それらの値を直接使用して、可能なCb’およびCr’の値の範囲を計算する。
最適なY’の値を見つけるための複数の方法が存在し、それらの方法のいくつかについて説明する。1つの方法を図27に示す。
まず、最適化するための目標になる値Yを見つける必要がある。元のピクセルR、G、Bが、前述したようにRGBからXYZに変換される。その結果、X、Y、Zが得られ、このうち関心があるのはYのみである。実際は、XおよびZを計算する必要はない。このYは、線形光における元の輝度であり、目はこの輝度に対して敏感である。テストケースにおいて、Yは573.5991に等しい(表A1を参照)。
次に、既存のY’値を、Cb’値およびCr’値と共に取得する。上のケースでは、(422,607,812)を供給する(表A2を参照)。ここで、Y’Cb’Cr’からR’G’B’への色変換を実行する。この変換は、次式を使用して行われる。
R’=Y’+1.47460×Cr’
G’=Y’−0.16455×Cb’−0.57135×Cr’ (式A3)
B’=Y’+1.88140×Cb’
次に、伝達関数を呼び出す。この場合、PQ−EOTFを使用する。PQ−EOTFは、例えば次のMatlabコードを使用して実装できる。
function L = pq_eotf(c)
%%%
%%% c goes from 0.0 to 1.0
%%% L is output luminance in nits
%%%

c1 = 0.8359375;
c2 = 18.8515625;
c3 = 18.6875;
n = 0.1593017578125;
m = 78.84375;

c = max(c,0);
c = min(c,1);
L = 10000*((max(c.^(1/m)-c1, 0)./(c2 - c3*c.^(1/m))) .^ (1/n));
この結果は、線形光における色(R,G,B)である。ここで、この色を前述したようにXYZに変換するが、実際には、Yを計算すればよい。このYはピクセルの線形輝度であり、可能な限りYに近づけたいのは、この輝度である。テストケースにおいて、Yは1066.4311から始まる(表A1を参照)。
ここで、YとYを比較する。YがYよりも大きい場合、Y’値を422からさらに小さい値に減らす。例えば、1ステップ減らして421を試してみる。次に、全体的計算が再び実行され、新しいY値を生成する。このY値が再びYと比較され、まだ大きすぎる場合は、Y’をさらに減らす。最終的に363に達し、このとき、得られたY値(すなわち、572.1852)はY(すなわち、573.5991)よりも小さい。ここで、処理が停止する。
上の実施形態では、最適な値に達するために、422−363=59回の反復が実行される。この処理は、高価である場合がある。
したがって、実施形態では、二分探索を実行して最適なY’値を見つける。必要に応じて、まず最大のY’値(例えば、1023)が試みられる。必要に応じて、次に最小のY’値(例えば、0)が試みられる。その後、中間の値(例えば、512)が試みられる。Y’=512から得られたY値がYよりも大きい場合、区間[0,512]を探索する必要がある。Y値がYよりも小さい場合、代わりに区間[512,1023]を探索する必要がある。その後、選択された区間の新しい中間の値を計算することよって進み、区間に1つの数値([363,363]または[363,364]など)しか含まれなくなるまで進む。この処理にかかるステップ数は、log(N)のみであることが保証されている。ここで、Nは可能性のある値の数(この場合は、1024)である。したがって、log(1024)=10ステップのみで十分である。
最適な値を計算するためのさらに別の方法は、図27を最適化問題であると考えて、Y’に関して誤差E=(Y−Yを最小限に抑えることである。これは、勾配降下によって実行することができ、勾配降下は、次式のように、Y’に対するEの勾配(すなわち、dE/dY’)を計算し、この勾配の反対方向に少しだけY’を更新することによって実行される(Y’n+1=Y’−α×dE/dY’、αは小さい定数である)。
勾配降下は、低速である可能性があるため、二次導関数dE/dY’を計算または近似する二次最適化アルゴリズムを使用することが、より高速な方法である場合がある。ガウス・ニュートンは、そのようなアルゴリズムの一例である。
別の実施形態では、Y’を計算するために、次の処理が適用される。
−XYZからRGBへの変換を使用して、X、Y、およびZが変換され、新しい値R1、G1、およびB1を生成する。
−逆伝達関数を使用して、R1、G1、およびB1が変換され、R1’、G1’、およびB1’を生成する。
−逆色変換を使用して、R1’、G1’、およびB1’が変換され、Y’を生成する。
一実施形態では、画像またはピクチャ内のすべてのピクセルのY’値が補正される。代替の実施形態では、目に見える輝度の誤差を含むリスクのあるピクセルのみが補正される。このピクセルは、色域の境界に近いピクセルを含むことができるが、色域三角形の中央に近いピクセルを除外することができる。
図27の下の行を見てみると、処理の最初のステップは次のようになる。
R’=Y’+1.47460×Cr’
G’=Y’−0.16455×Cb’−0.57135×Cr’ (式A3)
B’=Y’+1.88140×Cb’
しかし、Cr’およびCb’が固定されて、補間され、送信されないため、Y’の右にあるすべての項を次のように定数に置き換えることができる。
R’=Y’+c1
G’=Y’+c2
B’=Y’+c3
次のステップでは、色成分の伝達関数を次のように適用する。
R=TF(R’)
G=TF(G’)
B=TF(B’)
したがって、次式が得られる。
R=TF(Y’+c1)
G=TF(Y’+c2)
B=TF(Y’+c3)
処理の最後のステップでは、RGBからXYZに変換する。この変換は、次式を使用して行われる。
X=0.636958×R+0.144617×G+0.168881×B
Y=0.262700×R+0.677998×G+0.059302×B (式A2)
Z=0.000000×R+0.028073×G+1.060985×B
これらのうち、関心があるのはY成分のみであるため、次式を使用する。
Y=0.262700×R+0.677998×G+0.059302×B
前の式をこれに挿入して、次式が得られる。
Y=0.262700×TF(Y’+c1)+0.677998×TF(Y’+c2)+0.059302×TF(Y’+c3)
これを短縮して、次のように表す。
Y=f(Y’)
この式の出力値Yを、元のYに一致させる必要がある。Yは、3つの異なる場所にあるY’に非線形な方法で依存しているため、Y’=f−1(Y)を取得できるように逆関数を求めるための簡単な方法はないように思われる。
しかし、非線形なTF(x)〜kx+mを線形化することが可能である。これを3つの異なる場所で実行すると、次式が得られる。
Y〜k1×Y’+m1+k2×Y’+m2+k3×Y’+m3
これは、次式と等価である。
Y〜(k1+k2+k3)×Y’+(m1+m2+m3)
これより、次の逆関数が得られる。
Y’〜Y’k=(Y−(m1+m2+m3))/(k1+k2+k3)
したがって、Y’kが、以前よりもYに近い値Ykを生成する可能性が高い。関数を、この新しいポイントY’kで再び線形化して、新しい値Y’k+1などを得ることができる。
これらの反復的技法のすべてに関して、Y値に最も近いY値を生成する絶対的に最適な10ビット値を見つける必要はないことに注意する必要がある。数回の反復を使用するだけで、または1回の反復でさえ十分である場合がある。1回の反復から得られた補正済みのY値は、全く補正しない場合よりもはるかに良い値である可能性が非常に高い。
一部の線形化を前もって実行することもできる。上記で注目したように、最悪の問題は色域の境界で発生する。したがって、赤の原色を緑の原色に接続する線に関する1つの線形化、赤の原色を青の原色に接続する線に関する1つの線形化、および緑の原色を青の原色に接続する線に関する1つの線形化が存在することができる。別の方法は、赤の原色の近くで使用される線形化、緑の原色の近くで使用される別の線形化、および青の原色の近くで使用される第3の線形化が存在することである場合がある。さらに、図28に示されているように、色域の線に沿って複数の線形化が存在することが可能である。
したがって、異なる領域内に異なる線形化が存在することができる。色が実線の円内に存在する場合、緑の原色に近く、1つの線形化を使用できる。さらに線に沿って赤の原色に近づいた場合(すなわち、破線のボックス内)、第2の線形化を使用できる。色域の境界の、赤の原色と緑の原色の間のおおよそ半分の位置に近づいた場合(すなわち、点線のボックス内)、第3の線形化を使用できる。赤の原色にさらに近づいた場合(すなわち、実線のボックス内)、第4の線形化を使用できる。点線の円内に存在する場合(すなわち、赤の原色に近い場合)、第5の線形化を使用できる。三角形内の他の2本の線でも、同じ分割を使用できる。最後に、三角形内ではあるが、ボックス内でも円内でもない領域を、各領域に異なる線形化が存在する1つまたは複数の領域に分割することができる。
別の方法は、ルックアップテーブル(LUT)を作成することである。上の定式化から分かるように、Cb’、Cr’、および目的のY値が存在する場合、前述した反復的技法のいずれかを使用して最適なY’を見つけることができる。したがって、Cb’、Cr’、およびYのすべての可能な組み合わせについて、ルックアップテーブルを作成することができる。例えば、Cb’およびCr’が10ビットに量子化されると仮定する。さらに、Yも10ビットに量子化すると仮定する。その場合、210×210×210個の異なる値がルックアップテーブルに含まれている必要がある。これは、230個の値に相当する。各値が2バイトである場合、これは231バイト、つまり2Gbであることを意味する。これは大きいが、特に将来は、実現不可能ではないかもしれない。
Yを量子化するときに、注意が必要になる場合がある。Yは完全に線形であるため、Yを単純に量子化することは非効率的である場合がある。代わりに、Ynonlinear=TF(Y)を作成し、入力変数としてCb’、Cr’、およびYnonlinearを使用して、YのLUTを作成した方がよい場合がある。Cb’、Cr’、およびYが与えられた場合、最初にYnonlinear=TF(Y)を計算し、次にY’=LUT(Cb’,Cr’,Ynonlinear)を求める。
より小さいLUTを使用することが可能である場合もある。例えば、Y(またはYnonlinear)、Cb’、およびCr’を例えば6ビットに量子化することが可能である場合がある。その場合、テーブルのサイズは2(6+6+6)=218個の値、つまり219バイトになり、これは512キロバイトに等しい。これは、現在のハードウェアを使用した場合でも妥当なサイズである。
真の値に最も近い量子化された値Cb’、Cr’、およびYを選択し、それらの値を補間することが可能である場合がある。一例として、Cb’の実際の値が6ビットに量子化されたCb’よりも大きいが、6ビットに量子化されたCb’+1よりも小さい場合、次式が適切な近似になることができる。
Y’=(LUT(Cb’6bit,Cr’6bit,Y6bit)+LUT(Cb’6bit+1,Cr’6bit,Y6bit))/2
3つ以上の値の間を補間することも可能である。
一実施形態では、Y’の値を導き出すために、ルックアップテーブルが使用される。1つのバージョンでは、ルックアップテーブルは、Y、Cb’、およびCr’のすべての可能な値を含む。10ビットビデオの場合、1024×1024×1024個のエントリが得られ、アプリケーションによっては、このサイズを受け入れることができる。別のバージョンでは、ルックアップテーブル(LUT)が、例えばY、Cb’、およびCr’のうちの1つまたは複数を例えば8ビットに丸めることによって、切り詰められる。切り詰められたルックアップテーブルが使用される場合、LUTから取り出されたY’から開始して最適なY’を見つける改善ステップを使用して、アルゴリズムを拡張することができる。1つのバージョンでは、LUTは、Cb’値および/またはCr’値が、Y’がYから大きく異なった値になる可能性があるような値である場合、すなわち、最初に計算されたY’が、Yから大きく異なった線形Y値を与える場合にのみ使用され、それによって、Cb’およびCr’の多くの値は何も問題を引き起こさないため、LUTのサイズを大幅に削減することができる。
一実施形態では、Y、Cb’、およびCr’の関数(例えば、線形結合、多項式関数、指数関数、対数関数、三角関数など)が、Y’の導出に使用される。Y、Cb’、およびCr’の任意の値に関して、YとYの間の差が特定のしきい値を下回るか、または導出されたY’と最適なY’の間の差が特定のしきい値を下回るように、関数を規定することができる。
一実施形態では、Y、Cb’、およびCr’の複数の異なる関数が、Y’を導出するために規定される。使用するべき関数の選択は、Y、Cb’、およびCr’の値に基づく。
Y’を導出するための方法が、最初は、Y’とYの間の差が特定のしきい値を超えた場合にのみ呼び出されることは、本明細書に記載された各実施形態に当てはまる可能性がある。
付録B
付録Bでは、4:2:0サブサンプリングに起因する色のアーチファクトについて調査する。まず、照合しようとする試みが行われるが、最悪の値を再現することはできない。これは、すでに修正されているHDRToolsのバグのためである可能性が高い。次に、4:2:0サブサンプリングから生じる輝度における最悪の相対誤差に関して、探索が実行された。4000ニットに制限された画面上に表示された場合でも、86%(195Bartenステップ)の相対誤差が発生する可能性があることが分かっている。データがRec709に制限され、BT.2020コンテナ内に保持された場合でも、30Bartenステップの誤差が生じる可能性がある。BT.2020コンテナ内のP3コンテンツの場合、40Bartenステップの誤差が生じる可能性がある。
1 概要
4:2:0サブサンプリングが使用された場合、圧縮が行われない場合でも、色における小さい変化が驚くほど大きいアーチファクトをもたらす可能性があることが、知られている。
1.1 照合の不一致
この調査は、M35255[1]の照合として開始され、下の表B1に転載されたスライド13の結果を再現することを試みている。この結果は、ピクセル95までの画像の左側部分に色(3000,0,100)が存在し、ピクセル96以降の右側部分に色(3000,4,100)が存在するテスト画像から得られた。
アンカー(N14548、[2])の場合と同じ手順を使用して照合したとき、表B2に示された結果を得た。ダウンサンプリングの場合、[2]のセクション2.4.7で説明されているフィルタに従い(2および3タップ)、アップサンプリングの場合、[2]のセクション2.4.8に従った(4タップフィルタ)。
この表から分かるように、これらは実際に一致率が悪く、ピクセル番号94と98のみが一致しており、ピクセル番号95〜97、または99は一致していない。しかし、代わりに不連続部分をピクセル97に移動すると、表B3に示されているように、非常に良い一致が得られる。
表B3では、ピクセル番号96のみが一致していない。このピクセルは、最も奇妙な値(10000,1.57,402.25)を持つピクセルでもあり、不連続部分を置く場所に応じて、正しい答えは(3000,0,100)または(3000,4,100)である。
この照合における不一致は、HDRtoolsにおいてすでに補正されている誤差に起因するものであるかのように見える。リビジョン492に戻した場合、M35255[1]における値と同じ値を生成できる。HDRtoolsのより新しいバージョン(リビジョン573)が正しいことを確認するために、Matlabで処理チェーンを独立して実装し、表B3と同じ結果を得た。一致を得るために不連続部分を移動する必要があった理由は、恐らくリビジョン492における欠陥のあるフィルタリングに起因しており、この欠陥は現在のバージョンにおいて修正されている。
1.2 丸めの問題
Matlabでの照合を実装するときに、HDRtoolsにおけるEXRへの浮動小数点数値の変換が丸め処理を欠いていることを理解した。仮数の23ビットを10ビットに丸める代わりに、仮数は単に右にシフトされ、基本的にround()をfloor()に置き換えている。これは最終的な結果に影響を与える。一例として、3007.9の浮動小数点数値は、3008.0が非常に近い値であるにもかかわらず、3006.0に変換される。一致を得るために、HDRtoolsの現在のリビジョン([3]のリビジョン587)において、Matlabコードにfloor()タイプの変換をエミュレートさせた。
1.3 色の外れ値
ピクセル96が極端な外れ値ではなくなっている場合でも、ピクセル97はまだ正しい値からかなり遠い((3000,4,100)ではなく、(5860,2.58,199)になっている)ことに注意する。このことから、4:2:0サブサンプリングがどの程度悪い外れ値を生成する可能性があるのか、およびその外れ値が生じる場所はどこかという疑問が生じる。この疑問に答えるには、まず、「悪い」ことが何を意味しているかを規定する必要がある。人間の視覚系がクロミナンスにおける変化よりも輝度における変化の方に敏感であるため、輝度に集中した。したがって、入力EXR画像と出力EXR画像の両方を、どちらも線形光からXYZに変換し、Yにおける差を形成した。次に、相対誤差を取得するために、元のY成分で割った。その後、M35255[1]において行われたように、左側部分が1つの色であり、右側部分が同じ色に長さ4の小さい差分を加えた色であるような種類のすべての可能な画像上で、ピクセル97のこの相対誤差を最大化する小規模のプログラムを記述した。
このプログラムを実行することによって、表B4に示されているように、左側部分における色(2142,0,138)および右側部分における色(2142,4,138)から最大の目に見える誤差が生じるという答えが得られた。「最悪」の誤差を検索する最適化ソフトウェアは、全体的な最大値を検出することを保証しない。したがって、色域内にさらに悪い位置が存在する場合がある。
2142よりも高い赤色成分が存在する場合、さらに高い相対誤差が発生することに注意する必要がある。ただし、4000を超えるRGB値はモニタによって4000に縮小されると仮定したため、より高い値が使用された場合、実際の画面上の差は減少し始めると考えている。
表B4から分かるように、RGB4:4:4の相対誤差は0.0304%である。この相対誤差を正しく捕らえるために、この相対誤差をBartenの曲線と比較した(コントラスト感度のBartenの曲線を示している図29を参照)。この曲線の下のコントラストは、目に見えない。表B5は、図29の曲線をプロットするために使用された値を示している。
図29から分かるように、相対誤差の許容範囲は、輝度が増加すると共に減少する。100ニットでは、0.44%の誤差に気付くことができ、一方、1000ニットでは、0.40%の誤差に気付くことができる。これらの間の455ニットが正しい値であるため、高い方の値0.44%を使用する。これによって、気付くことができないことを意味する0.069のBartenステップが得られる。
一方、4:2:0サブサンプリングの場合、相対誤差は85.92%である。この値は、195を超えるBartenステップに相当し、はっきりと目に見えるはずである。したがって、アンカー生成の場合と同様に、4:2:0サブサンプリングが、少なくとも一定でない輝度および高度に非線形な伝達関数と共に、はっきりと目に見えるアーチファクトを生む可能性があると結論付けることが妥当であるように思われる。
色域の境界線上のこの最悪の誤差は正しく、緑色がゼロであるため、色(2142,0,138)が赤の原色と緑の原色の間の線上にあることに注意する。これは、M35255[1]において報告されていることと一致し、M35255[1]は、色域の境界上の色に問題があることも指摘している。
1.4 入力が709データである場合
表B1に示されたデータは、BT.2020の原色に関するデータであった。入力データがRec709の原色を含むデータであるが、コンテナがBT.2020である場合、色域の境域に達することはできない。これは、図30から分かるように、Rec709の色域三角形がBT.2020の三角形の内部にあり、色域の境域に接していないためである。したがって、相対誤差が類似すると仮定することは妥当である。
BT.2020への変換後に最大の相対誤差が生じるRec709の色を見つけるために、最適化ソフトウェアを実行した。その結果、画面の左側部分の(0,0,50)および右側部分の(2,3,49)という2つの色が得られた。これを表B6に示す。
ここでは、0.54%に等しい10ニットでBarten曲線を使用した。RGB 4:4:4の場合、気付くことができる1.2305Bartenステップの誤差が得られ、一方、RGB 4:2:0における誤差は33Bartenステップに等しく、はっきりと目に見えるはずである。Rec709データから開始して、色がBT.2020の色域の境界のどの部分にも達しないようにしているため、誤差が小さくなっている(195Bartenステップに対する33Bartenステップ)ことも妥当である。
最適化の結果から、最悪の誤差が青の原色の近くで得られることを発見したことにも注目する。これは、図30から分かるように、Rec709の青の原色がBT.2020色域の境界に近いためである可能性が高い。
1.5 入力がP3データである場合
BT.2020コンテナに含まれているP3ソースデータに対して、同じテストを実行することができる。その場合、最悪の色は、表B7に示されているように、(2.48,3.32,4.63)および(3.29,0,6.71)である。
誤差が、Rec709の誤差とBT.2020の誤差の間のどこかに存在すると仮定した。その仮定はやはり事実であり、ここで40.38Bartenステップに相当する誤差を得た。Barten値が変化するため、最悪値を探索する場合、Barten値をループに含めることが重要であることに注意する。0.85%に等しい1cd/mのBarten値を使用した。
1.6 結論
付録では、4:2:0サブサンプリングに起因する輝度における誤差を調査した。M35255[1]の最悪の外れ値に一致することができたが、このワーストケースの誤差は依然として大きく、一般的なデータではほぼ200Bartenステップに達する。ソースデータがRec709に制約され、BT.2020コンテナに格納された場合でも、誤差は依然として大きく、30Bartenステップを超え、BT.2020コンテナ内のP3データの場合は40Bartenステップを超える。
前述した実施形態は、本発明のいくつかの説明に役立つ例であると理解されるべきである。本発明の範囲を逸脱することなく、実施形態に対してさまざまな変更、組み合わせ、および変形を行うことができることが、当業者によって理解されるであろう。特に、技術的に可能な場合、その他の構成において、さまざまな実施形態における異なる部分の解決策を組み合わせることができる。ただし、本発明の範囲は、添付された請求項によって規定される。

Claims (41)

  1. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理する方法であって、
    前記ピクチャ内の処理対象のピクセルを識別すること(S1)であって、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらす、識別することと、
    前記ピクセルの少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理すること(S2)とを含む、方法。
  2. 処理対象の前記ピクセルを識別すること(S1)が、第4のしきい値よりも小さい前記色の前記線形表現の色成分の値を含む前記ピクチャ内のピクセルを識別すること(S1)を含み、前記色の前記線形表現の前記色成分の前記値と別の色成分の値の間の比率が、第5のしきい値よりも小さい、請求項1に記載の方法。
  3. 処理対象の前記ピクセルを識別すること(S1)が、第4のしきい値よりも小さい前記色の前記線形表現の色成分の値を含む前記ピクチャ内のピクセルを識別すること(S1)を含み、前記色の前記線形表現の少なくとも1つの色成分の値が、第6のしきい値よりも大きい、請求項1または2に記載の方法。
  4. 処理対象の前記ピクセルを識別すること(S1)が、前記第4のしきい値よりも小さい前記色の前記線形表現の前記色成分の前記値を含む前記ピクチャ内のピクセルを識別すること(S1)を含み、前記色の前記線形表現の前記少なくとも1つの他の色成分の前記値が、前記色の前記線形表現の前記色成分の前記値の係数倍以上であり、前記係数が1よりも大きい、請求項3に記載の方法。
  5. 処理対象の前記ピクセルを識別すること(S1)が、前記ピクチャ内の処理対象のピクセルを識別することを含み、
    前記第1のしきい値よりも小さい前記色の前記線形表現における変動が、前記第2のしきい値よりも大きい前記色のY’Cb’Cr’表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、前記第3のしきい値よりも小さい前記色のPQ(Y)u’v’表現またはPQ(Y)xy表現における変動をもたらす、請求項1から4のいずれか一項に記載の方法。
  6. 前記色の前記線形表現が前記色のRGB表現であり、処理対象の前記ピクセルを識別すること(S1)が、
    前記ピクセルに関して、前記色の前記RGB表現における少なくとも1つの色成分に対するルマ成分Y’、クロマ成分Cb’、およびクロマ成分Cr’の導関数、ならびに前記RGB表現における前記少なくとも1つの色成分に対する輝度に基づく成分PQ(Y)およびクロミナンスに基づく成分u’v’またはxyの導関数に基づいて、不安定性係数を計算すること(S20)と、
    前記不安定性係数が第7のしきい値よりも高い場合に、処理対象の前記ピクセルを選択すること(S21)とを含む、請求項5に記載の方法。
  7. 前記不安定性係数を計算すること(S20)が、
    または
    に基づいて前記不安定性係数Cを計算すること(S20)を含み、w...wが非ゼロの重みであるか、または存在せず、Aが前記RGB表現における赤色成分R、緑色成分G、および青色成分Bのうちの1つを表す、請求項6に記載の方法。
  8. 前記識別されたピクセルを処理すること(S2)が、
    前記不安定性係数が前記第7のしきい値よりも高い場合に、前記ピクセルの少なくとも1つの色成分の元の値を、前記少なくとも1つの色成分の修正された値と置き換えること(S22)と、
    前記不安定性係数が前記第7のしきい値以下であるが、第8のしきい値以上である場合に、前記少なくとも1つの色成分の前記元の値を、前記少なくとも1つの色成分の前記元の値および前記少なくとも1つの色成分の前記修正された値の線形結合と置き換えること(S24)と、
    前記不安定性係数が前記第8のしきい値よりも小さい場合に、前記少なくとも1つの色成分の前記元の値を維持すること(S25)とを含む、請求項6または7に記載の方法。
  9. 前記識別されたピクセルを処理すること(S2)が、前記色の前記線形表現の少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理すること(S2)を含む、請求項1から8のいずれか一項に記載の方法。
  10. 前記識別されたピクセルを処理すること(S2)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えること(S31)を含む、請求項1から9のいずれか一項に記載の方法。
  11. 前記ピクチャ内の近傍のピクセルを識別すること(S30)をさらに含み、
    前記第1のしきい値よりも小さい前記近傍のピクセルの色の線形表現における変動が、前記第2のしきい値よりも大きい前記近傍のピクセルの前記色の非線形表現における変動をもたらし、
    前記近傍のピクセルの前記色の前記線形表現における前記変動が、前記第3のしきい値よりも小さい前記近傍のピクセルの前記色の輝度およびクロミナンスに基づく表現における変動をもたらし、前記値を置き換えること(S31)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の前記識別された近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えること(S31)を含む、請求項10に記載の方法。
  12. 前記ピクチャ内の近傍のピクセルを識別すること(S30)をさらに含み、
    前記ピクセルの輝度成分の値と前記近傍のピクセルの輝度成分の値との間の絶対差が第9のしきい値以下であり、
    前記ピクセルのクロミナンス成分の各値と前記近傍のピクセルのクロミナンス成分の各値との間の各絶対差が第10のしきい値以下であり、前記値を置き換えること(S31)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の前記識別された近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えること(S31)を含む、請求項10に記載の方法。
  13. 前記識別されたピクセルを処理すること(S2)が、前記少なくとも1つの色成分の前記値を固定値にセットすること(S40)を含む、請求項1から7のいずれか一項に記載の方法。
  14. 前記識別されたピクセルを処理すること(S2)が、前記ピクセルの前記少なくとも1つの色成分の前記値をフィルタリングすること(S41)を含む、請求項1から7のいずれか一項に記載の方法。
  15. 前記値をフィルタリングすること(S41)が、前記不安定性係数に基づいて決定されるフィルタ係数を有するフィルタを用いて前記ピクセルの前記少なくとも1つの色成分の前記値をフィルタリングすること(S41)を含む、請求項6または7に従属する場合の請求項14に記載の方法。
  16. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードする方法であって、
    前記ピクセルの色の線形表現における前記ピクセルの少なくとも1つの色成分の値を修正するために、請求項1から15のいずれか一項に従って前記ピクセルを処理すること(S1、S2)と、
    前記ピクセルの前記色の前記線形表現を前記色の非線形表現に変換すること(S3)と、
    前記色の前記非線形表現をエンコードすること(S4)とを含む、方法。
  17. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイス(100、110)であって、
    前記デバイス(100、110)が、前記ピクチャ内の処理対象のピクセルを識別するように設定され、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらし、
    前記デバイス(100、110)が、前記ピクセルの少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理するように設定される、デバイス。
  18. 前記デバイス(100、110)が、第4のしきい値よりも小さい前記色の前記線形表現の色成分の値を含む前記ピクチャ内のピクセルを識別するように設定され、前記色の前記線形表現の前記色成分の前記値と別の色成分の値の間の比率が、第5のしきい値よりも小さい、請求項17に記載のデバイス。
  19. 前記デバイス(100、110)が、第4のしきい値よりも小さい前記色の前記線形表現の色成分の値を含む前記ピクチャ内のピクセルを識別するように設定され、前記色の前記線形表現の少なくとも1つの色成分の値が、第6のしきい値よりも大きい、請求項17または18に記載のデバイス。
  20. 前記デバイス(100、110)が、前記第4のしきい値よりも小さい前記色の前記線形表現の前記色成分の前記値を含む前記ピクチャ内のピクセルを識別するように設定され、前記色の前記線形表現の前記少なくとも1つの他の色成分の前記値が、前記色の前記線形表現の前記色成分の前記値の係数倍以上であり、前記係数が1よりも大きい、請求項19に記載のデバイス。
  21. 前記デバイス(100、110)が、前記ピクチャ内の処理対象のピクセルを識別するように設定され、
    前記第1のしきい値よりも小さい前記色の前記線形表現における変動が、前記第2のしきい値よりも大きい前記色のY’Cb’Cr’表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、前記第3のしきい値よりも小さい前記色のPQ(Y)u’v’表現またはPQ(Y)xy表現における変動をもたらす、請求項17から20のいずれか一項に記載のデバイス。
  22. 前記色の前記線形表現が前記色のRGB表現であり、
    前記デバイス(100、110)が、前記ピクセルに関して、前記色の前記RGB表現における少なくとも1つの色成分に対するルマ成分Y’、クロマ成分Cb’、およびクロマ成分Cr’の導関数、ならびに前記RGB表現における前記少なくとも1つの色成分に対する輝度に基づく成分PQ(Y)およびクロミナンスに基づく成分u’v’またはxyの導関数に基づいて、不安定性係数を計算するように設定され、
    前記デバイス(100、110)が、前記不安定性係数が第7のしきい値よりも高い場合に処理対象の前記ピクセルを選択するように設定される、請求項21に記載のデバイス。
  23. 前記デバイス(100、110)が、
    または
    に基づいて前記不安定性係数Cを計算するように設定され、w...wが非ゼロの重みであるか、または存在せず、Aが前記RGB表現における赤色成分R、緑色成分G、および青色成分Bのうちの1つを表す、請求項22に記載のデバイス。
  24. 前記デバイス(100、110)が、前記不安定性係数が前記第7のしきい値よりも高い場合に、前記ピクセルの少なくとも1つの色成分の元の値を、前記少なくとも1つの色成分の修正された値と置き換えるように設定され、
    前記デバイス(100、110)が、前記不安定性係数が前記第7のしきい値以下であるが、第8のしきい値以上である場合に、前記少なくとも1つの色成分の前記元の値を、前記少なくとも1つの色成分の前記元の値および前記少なくとも1つの色成分の前記修正された値の線形結合と置き換えるように設定され、
    前記デバイス(100、110)が、前記不安定性係数が前記第8のしきい値よりも小さい場合に、前記少なくとも1つの色成分の前記元の値を維持するように設定される、請求項22または23に記載のデバイス。
  25. 前記デバイス(100、110)が、前記色の前記線形表現の少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理するように設定される、請求項17から24のいずれか一項に記載のデバイス。
  26. 前記デバイス(100、110)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えるように設定される、請求項17から25のいずれか一項に記載のデバイス。
  27. 前記デバイス(100、110)が、前記ピクチャ内の近傍のピクセルを識別するように設定され、
    前記第1のしきい値よりも小さい前記近傍のピクセルの色の線形表現における変動が、前記第2のしきい値よりも大きい前記近傍のピクセルの前記色の非線形表現における変動をもたらし、
    前記近傍のピクセルの前記色の前記線形表現における前記変動が、前記第3のしきい値よりも小さい前記近傍のピクセルの前記色の輝度およびクロミナンスに基づく表現における変動をもたらし、
    前記デバイス(100、110)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の前記識別された近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えるように設定される、請求項26に記載のデバイス。
  28. 前記デバイス(100、110)が、前記ピクチャ内の近傍のピクセルを識別するように設定され、
    前記ピクセルの輝度に基づく成分の値と前記近傍のピクセルの輝度に基づく成分の値との間の絶対差が第9のしきい値以下であり、
    前記ピクセルのクロミナンスに基づく成分の各値と、前記近傍のピクセルのクロミナンスに基づく成分の各値との間の各絶対差が、第10のしきい値以下であり、
    前記デバイス(100、110)が、前記ピクセルの前記少なくとも1つの色成分の前記値を、前記ピクチャ内の前記識別された近傍のピクセルの前記少なくとも1つの色成分の値の加重平均と置き換えるように設定される、請求項26に記載のデバイス。
  29. 前記デバイス(100、110)が、前記少なくとも1つの色成分の前記値を固定値にセットするように設定される、請求項17から23のいずれか一項に記載のデバイス。
  30. 前記デバイス(100、110)が、前記ピクセルの前記少なくとも1つの色成分の前記値をフィルタリングするように設定される、請求項17から23のいずれか一項に記載のデバイス。
  31. 前記デバイス(100、110)が、前記不安定性係数に基づいて決定されるフィルタ係数を有するフィルタを用いて前記ピクセルの前記少なくとも1つの色成分の前記値をフィルタリングするように設定される、請求項22または23に従属する場合の請求項30に記載のデバイス。
  32. プロセッサ(111)と、
    前記プロセッサ(111)によって実行可能な命令を含むメモリ(112)とをさらに備え、
    前記プロセッサ(111)が、処理対象の前記ピクセルを識別するように機能し、
    前記プロセッサ(111)が、前記識別されたピクセルを処理するように機能する、請求項17から31のいずれか一項に記載のデバイス。
  33. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルを処理するためのデバイス(120)であって、
    前記ピクチャ内の処理対象のピクセルを識別するための決定ユニット(121)であって、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらす、決定ユニット(121)と、
    前記ピクセルの少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理するためのピクセルプロセッサ(122)とを備える、デバイス。
  34. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイス(110)であって、
    プロセッサ(111)と、
    前記プロセッサ(111)によって実行可能な命令を含むメモリ(112)とを備え、
    前記プロセッサ(111)が、前記ピクチャ内の処理対象のピクセルを識別するように機能し、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらし、
    前記プロセッサ(111)が、前記色の前記線形表現における少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理するように機能し、
    前記プロセッサ(111)が、前記ピクセルの前記色の前記線形表現を前記色の非線形表現に変換するように機能し、
    前記プロセッサ(111)が、前記色の前記非線形表現をエンコードするように機能する、デバイス。
  35. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルをエンコードするためのデバイス(120)であって、
    前記ピクチャ内の処理対象のピクセルを識別するための決定ユニット(121)であって、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらす、決定ユニット(121)と、
    前記色の前記線形表現における少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理するためのピクセルプロセッサ(122)と、
    前記ピクセルの前記色の前記線形表現を前記色の非線形表現に変換するためのコンバータ(124)と、
    前記色の前記非線形表現をエンコードするためのエンコーダ(123)とを備える、デバイス。
  36. 請求項17から35のいずれか一項に記載のデバイス(100、110、120)を備えるユーザ機器(5、200)であって、前記ユーザ機器(5、200)が、コンピュータ、ラップトップ、スマートフォン、タブレット、およびセットトップボックスからなる群から選択される、ユーザ機器。
  37. 命令を含むコンピュータプログラム(240)であって、前記コンピュータプログラム(240)は、プロセッサ(210)によって実行された場合に、前記プロセッサ(210)に、
    複数のピクチャを含むビデオシーケンスのピクチャ内の処理対象のピクセルを識別することであって、
    第1のしきい値よりも小さい前記ピクセルの色の線形表現における変動が、第2のしきい値よりも大きい前記色の非線形表現における変動をもたらし、
    前記色の前記線形表現における前記変動が、第3のしきい値よりも小さい前記色の輝度およびクロミナンスに基づく表現における変動をもたらす、識別することと、
    前記ピクセルの少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理することとを実行させる、コンピュータプログラム。
  38. 前記コンピュータプログラム(240)が命令を含んでおり、前記命令が、前記プロセッサ(210)によって実行された場合に、前記プロセッサ(210)に、
    前記色の前記線形表現における少なくとも1つの色成分の値を修正することによって、前記識別されたピクセルを処理することと、
    前記ピクセルの前記色の前記線形表現を前記色の非線形表現に変換することと、
    前記色の前記非線形表現をエンコードすることとを実行させる、請求項37に記載のコンピュータプログラム。
  39. 請求項37または38に記載のコンピュータプログラム(240)を含むキャリア(250)であって、前記キャリアが、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号、またはコンピュータ可読記憶媒体のうちの1つである、キャリア。
  40. 複数のピクチャを含むビデオシーケンスのピクチャ内のピクセルのエンコードされたバージョンを表している信号であって、前記エンコードされたバージョンが、請求項16に記載された前記ピクセルの色のエンコードされた非線形表現を含む、信号。
  41. 前記信号が、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、およびマイクロ波信号のうちの1つである、請求項40に記載の信号。
JP2017560163A 2015-05-20 2016-05-12 ピクセルの処理およびエンコーディング Active JP6496046B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562164160P 2015-05-20 2015-05-20
US62/164,160 2015-05-20
PCT/SE2016/050432 WO2016186551A1 (en) 2015-05-20 2016-05-12 Pixel processing and encoding

Publications (2)

Publication Number Publication Date
JP2018524850A true JP2018524850A (ja) 2018-08-30
JP6496046B2 JP6496046B2 (ja) 2019-04-03

Family

ID=57320949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017560163A Active JP6496046B2 (ja) 2015-05-20 2016-05-12 ピクセルの処理およびエンコーディング

Country Status (7)

Country Link
US (1) US9918095B1 (ja)
EP (1) EP3298780B1 (ja)
JP (1) JP6496046B2 (ja)
CN (1) CN107615761B (ja)
AU (1) AU2016264827B2 (ja)
MX (1) MX368598B (ja)
WO (1) WO2016186551A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2015275320A1 (en) * 2015-12-23 2017-07-13 Canon Kabushiki Kaisha Method, apparatus and system for determining a luma value
WO2017200447A1 (en) * 2016-05-16 2017-11-23 Telefonaktiebolaget Lm Ericsson (Publ) Pixel processing with color component
WO2018117948A1 (en) 2016-12-23 2018-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Chroma adjustment with color components in color spaces in video coding
CN107197235B (zh) * 2017-06-26 2018-10-12 杭州当虹科技股份有限公司 一种hdr视频预处理方法
KR102412007B1 (ko) * 2017-07-20 2022-06-22 삼성전자주식회사 전자 장치 및 전자 장치에서 하이 다이나믹 레인지 이미지 데이터를 압축하는 방법
CN108769804B (zh) * 2018-04-25 2020-12-15 杭州当虹科技股份有限公司 一种高动态范围视频的格式转换方法
GB2580173B (en) * 2018-12-21 2022-07-27 Canon Kk A filter
CN109685859B (zh) * 2018-12-24 2021-06-08 哈尔滨工业大学(深圳) 基于3d查找表的三维颜色自动调整方法
KR102642797B1 (ko) * 2019-01-14 2024-03-05 삼성전자주식회사 전자 장치 및 그 제어 방법
CN111343462B (zh) * 2020-03-08 2021-10-22 苏州浪潮智能科技有限公司 一种图像数据压缩传输方法、装置及存储介质
CN112418015B (zh) * 2020-11-09 2023-07-28 云南电网有限责任公司昆明供电局 一种电力系统二次设备定值核对与修改方法及系统
CN112734654B (zh) * 2020-12-23 2024-02-02 中国科学院苏州纳米技术与纳米仿生研究所 一种图像处理方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001309177A (ja) * 2000-04-21 2001-11-02 Sharp Corp 画像処理装置、画像読取装置および画像形成装置
JP2005210441A (ja) * 2004-01-23 2005-08-04 Sanyo Electric Co Ltd 画像信号処理装置
JP2008017458A (ja) * 2006-06-08 2008-01-24 Matsushita Electric Ind Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび集積回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594465B2 (en) * 2007-11-14 2013-11-26 Microsoft Corporation Adaptive filtering for image transform processes
WO2013142067A1 (en) * 2012-03-21 2013-09-26 Dolby Laboratories Licensing Corporation Systems and methods for iso-perceptible power reduction for displays
KR101851577B1 (ko) * 2012-09-17 2018-04-24 삼성전자주식회사 유기 발광 다이오드 디스플레이의 동작을 제어할 수 있는 방법들과 장치들
AU2015275320A1 (en) * 2015-12-23 2017-07-13 Canon Kabushiki Kaisha Method, apparatus and system for determining a luma value

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001309177A (ja) * 2000-04-21 2001-11-02 Sharp Corp 画像処理装置、画像読取装置および画像形成装置
JP2005210441A (ja) * 2004-01-23 2005-08-04 Sanyo Electric Co Ltd 画像信号処理装置
JP2008017458A (ja) * 2006-06-08 2008-01-24 Matsushita Electric Ind Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび集積回路

Also Published As

Publication number Publication date
MX2017013963A (es) 2018-01-16
CN107615761B (zh) 2020-04-07
EP3298780A4 (en) 2018-06-06
JP6496046B2 (ja) 2019-04-03
EP3298780B1 (en) 2020-01-01
US9918095B1 (en) 2018-03-13
WO2016186551A1 (en) 2016-11-24
EP3298780A1 (en) 2018-03-28
MX368598B (es) 2019-10-08
CN107615761A (zh) 2018-01-19
AU2016264827A1 (en) 2017-11-23
AU2016264827B2 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
JP6496046B2 (ja) ピクセルの処理およびエンコーディング
JP6582062B2 (ja) 画素の前処理および符号化
CN107852513B (zh) 对输入视频序列的像素进行编码
JP6516851B2 (ja) 画素の前処理および符号化
JP6651005B2 (ja) Qp値の決定
JP6246255B2 (ja) 複数色チャネル多重回帰予測器
US20230353736A1 (en) Encoding device, decoding device, encoding method, and decoding method
US8897581B2 (en) Guided post-prediction filtering in layered VDR coding
CN107925778B (zh) 像素预处理和编码
US8971408B2 (en) Piecewise cross color channel predictor
US20190364288A1 (en) Chroma adjustment with color components in color spaces in video coding
EP3523963A1 (en) Pre-processing of hdr video involving chroma adjustment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R150 Certificate of patent or registration of utility model

Ref document number: 6496046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250