JP2017500792A - Hdrビデオフレームのための評価尺度 - Google Patents
Hdrビデオフレームのための評価尺度 Download PDFInfo
- Publication number
- JP2017500792A JP2017500792A JP2016534116A JP2016534116A JP2017500792A JP 2017500792 A JP2017500792 A JP 2017500792A JP 2016534116 A JP2016534116 A JP 2016534116A JP 2016534116 A JP2016534116 A JP 2016534116A JP 2017500792 A JP2017500792 A JP 2017500792A
- Authority
- JP
- Japan
- Prior art keywords
- video frame
- hdr video
- value
- pixel
- exposure
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30168—Image quality inspection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
Description
RLDR C(x,y)=clamp(0,255,round(255*(2c*RHDR(x,y))(1/γ)))
GLDR C(x,y)=clamp(0,255,round(255*(2c*GHDR(x,y))(1/γ)))
BLDR C(x,y)=clamp(0,255,round(255*(2c*BHDR(x,y))(1/γ)))
ここで、三つ組(RLDR C(x,y),GLDR C(x,y),BLDR C(x,y))は、露出パラメータ値cのためのHDRビデオフレーム10内のピクセル位置におけるピクセルのLDRバージョンを表し、三つ組(RHDR(x,y),GHDR(x,y),BHDR(x,y))は、ピクセルの元のピクセル値、すなわち、ピクセルの元のHDR値を表す。
rOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rOrig))
gOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gOrig))
bOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bOrig))
この実施形態では、rOrigProcessedは、HDRビデオフレーム10内のピクセルの赤色成分の露出値を表し、gOrigProcessedは、HDRビデオフレーム10内のピクセルの緑色成分の露出値を表し、bOrigProcessedは、上記HDRビデオフレーム10内のピクセルの青色成分の露出値を表す。パラメータtwoToC=exp((cMin−1)×log(2.0))である。ここで、cMinは最小露出パラメータ値を表す。rOrigはHDRビデオフレーム10内のピクセルの赤色成分を表す。gOrigはHDRビデオフレーム10内のピクセルの緑色成分を表し、bOrigはHDRビデオフレーム10内のピクセルの青色成分を表す。HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの初期露出値は、ステップS2において以下のように計算されることが好ましい:
rCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rCopy))
gCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gCopy))
bCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bCopy))
この実施形態において、rCopyProcessedは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの赤色成分の露出値を表し、gCopyProcessedは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの緑色成分の露出値を表し、bCopyProcessedは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの青色成分の露出値を表す。rCopyは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの赤色成分を表し、gCopyは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの緑色成分を表し、bCopyは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの青色成分を表す。
rOrigProcessed×=factor
gOrigProcessed×=factor
bOrigProcessed×=factor
この実施形態において、定数factor=exp((1.0/γ)×log(2.0))である。HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの露出値は、好ましくは、ステップS4において、最小露出パラメータ値から開始して最大露出パラメータ値までの露出パラメータ値ごとに以下のように計算される:
rCopyProcessed×=factor
gCopyProcessed×=factor
bCopyProcessed×=factor
LDRorigR=(int)(rOrigProcessed+0.5)
LDRorigG=(int)(gOrigProcessed+0.5)
LDRorigB=(int)(bOrigProcessed+0.5)
この実施形態において、LDRorigRはHDRビデオフレーム10内のピクセルの赤色成分のLDR値を表し、LDRorigGはHDRビデオフレーム10内のピクセルの緑色成分のLDR値を表し、LDRorigBはHDRビデオフレーム10内のピクセルの青色成分のLDR値を表す。(int)はキャスティング演算を表す。キャスティング演算のこの実施形態は、赤色、緑色及び青色成分のLDR値を整数LDR値として出力する。
LDRcopyR=(int)dMin(rCopyProcessed+0.5,255.5)
LDRcopyG=(int)dMin(gCopyProcessed+0.5,255.5)
LDRcopyB=(int)dMin(bCopyProcessed+0.5,255.5)
この実施形態において、LDRcopyRは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの赤色成分のLDR値を表し、LDRcopyGは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの緑色成分のLDR値を表し、LDRcopyBは、HDRビデオフレーム10の圧縮に続いて取得されるHDRビデオフレーム10のバージョン20における対応するピクセルの青色成分のLDR値を表す。dMin(x,y)は、(x>y)の場合、yを返し、そうでない場合、xを返すように実装されるmin関数を表す。
(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyB)
|LDRorigR-LDRcopyR|+|LDRorigG-LDRcopyG|+|LDRorigB-LDRcopyB|
wR×(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+wG×(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+wB×(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyb)
wR×|LDRorigR-LDRcopyR|+wG×|LDRorigG-LDRcopyG|+wB×|LDRorigB-LDRcopyB|
10×log((255×255)/MSE)/log(10)
この実施形態において、MSEは平均二乗誤差を表す。
sse=0
for c=−34〜15の全ての露出
for 画像内の全てのピクセル
元画像のHDR R、G、BからLDRredOrig、LDRgreenOrig、LDRblueOrigを計算
コピーのHDR R、G、BからLDRredCopy、LDRgreenCopy、LDRblueCopyを計算
if ピクセルが飽和していない
sse+=(LDRredOrig-LDRredCopy)2
sse+=(LDRgreenOrig-LDRgreenCopy)2
sse+=(LDRblueOrig-LDRblueCopy)2
numpixcels++;
end
end
end
mse=sse/(3.0*numpixels)
mPSNR=PSNR=10*log((255*255)/mse)/log(10);
RLDR C(x,y)=clamp(0,255,round(255*(2c*RHDR(x,y))(1/γ)))
ここで、LDRredOrig=RLDR cを用いた。対応する式は、他の2つの色成分に当てはまる。最も内側の値255*(2c*RHDR(x,y))(1/γ)を見る場合、これは2つの冪関数xpからなる。まず、2c(pはcである)、及び次に(RHDR(x,y))(1/γ)(pは1/γ)である。そのような冪関数は、通常、対数:xp=exp(ln(xp))=exp(p*ln(x))を用いて実施される。指数関数exp(・)及び対数ln(・)の双方が、計算コストが高いため、これは非常にコストの高い演算である。これにより、したがって、最適化の1つの目標は、これらのコストの高い計算を回避することである。
if LDRredOrig==0 AND LDRgreenOrig==0 AND LDRblueOrig==0
return false:
else if LDRredOrig==255 OR LDRgreenOrig==255 OR LDRblueOrig==255
return false
else
return true
end
RLDR C(x,y)=clamp(0,255,round(255*(2c*RHDR(x,y))(1/γ)))
を調べると、値255*(2c*RHDR(x,y))(1/γ)は、254.5よりも大きい場合、255に丸められるため、この値が255に等しくなることがわかる。この場合、ピクセルは飽和し、用いられない。これは、cがcMax=γln(254.5/255)/ln(2)−ln(RHDR(x,y))/ln(2)よりも大きいことと等価である。cは、−34〜15(15を含む)間の全ての値にわたってループすることに留意されたい。しかし、あるピクセルについてcMaxよりも大きいc値に到達するとすぐ、より大きな全てのcがそのピクセルのsseに寄与しないことがわかる。実際は、3つの色成分R、G及びBのうちの最も大きなもののみを見ればよい。最も大きなものによって、計算に影響を及ぼすcの最大値が決まる。
sse=0
for 画像内の全てのピクセル
colMax=元画像内のmax(R,G,B)
cMinInt=ceil(gamma*log(0.5/255.0)/log(2)-log(colMax)/log(2);
cMaxInt=floor(gamma*log(254.5/255.0)/log(2)-log(colMax)/log(2);
for c=cMinInt〜cMaxInt
元画像のHDR R、G、BからLDRredOrig、LDRgreenOrig、LDRblueOrigを計算
コピーのHDR R、G、BからLDRredCopy、LDRgreenCopy、LDRblueCopyを計算
sse+=(LDRredOrig-LDRredCopy)2
sse+=(LDRgreenOrig-LDRgreenCopy)2
sse+=(LDRblueOrig-LDRblueCopy)2
numpixcels++;
end
end
mse=sse/(3.0*numpixcels)
mPSNR=PSNR=10*log((255*255)/mse)/log(10);
RLDR C(x,y)=clamp(0,255,round(255*(2c*RHDR(x,y))(1/γ)))
は2ステップで計算することができる;
RP C(x,y)=255*(2c*RHDR(x,y))(1/γ)
及び
RLDR C(x,y)=clamp(0,255,round(RP C(x,y)))
RP C(x,y)=255*(2c*RHDR(x,y))(1/γ)=
255*(2c)(1/γ)*(RHDR(x,y))(1/γ)=
255*(RHDR(x,y))(1/γ)*(2(1/γ))c
255*(RHDR(x,y))(1/γ)*(2(1/γ))(c-1)*(2(1/γ))=
RP C-1(x,y)*(2(1/γ))
sse=0
for 画像内の全てのピクセル
元画像のcolMax=max(R,G,B)
cMinInt=ceil(gamma*log(0.5/255.0)/log(2)-log(colMax)/log(2);
cMaxInt=floor(gamma*log(254.5/255.0)/l2-log(colMax)/log(2);
twoToC=exp((cMinInt-1)*log(2));
factor=exp(inverseGamma*log(2));
rOrigP=255.0*exp(inverseGamma*log((((twoToC))*rOrig)));
gOrigP=255.0*exp(inverseGamma*log((((twoToC))*gOrig)));
bOrigP=255.0*exp(inverseGamma*log((((twoToC))*bOrig)));
rCopyP=255.0*exp(inverseGamma*log((((twoToC))*rCopy)));
gCopyP=255.0*exp(inverseGamma*log((((twoToC))*gCopy)));
bCopyP=255.0*exp(inverseGamma*log((((twoToC))*bCopy)));
for c=cMinInt〜cMaxInt
rOrigP*=factor
gOrigP*=factor
bOrigP*=factor
rCopyP*=factor
gCopyP*=factor
bCopyP*=factor
LDRredOrig=round(clamp(0,255,rOrigP))
LDRgreenOrig=round(clamp(0,255,gOrigP))
LDRblueOrig=round(clamp(0,255,bOrigP))
LDRredCopy=round(clamp(0,255,rCopyP))
LDRgreenCopy=round(clamp(0,255,gCopyP))
LDRblueCopy=round(clamp(0,255,bCopyP))
sse+=(LDRredOrig-LDRredCopy)2
sse+=(LDRgreenOrig-LDRgreenCopy)2
sse+=(LDRblueOrig-LDRblueCopy)2
numpixcels++;
end
end
mse=sse/(3.0*numpixcels)
mPSNR=PSNR=10*log((255*255)/mse)/log(10);
if(x>255.0)
x=255.0;
else if(x<0.0)
x=0.0;
end;
sse=0
for 画像内の全てのピクセル
rOrig=clamp(0,65504,RHDRorig)
gOrig=clamp(0,65504,GHDRorig)
bOrig=clamp(0,65504,BHDRorig)
rCopy=clamp(0,65504,RHDRcopy)
gCopy=clamp(0,65504,GHDRcopy)
bCopy=clamp(0,65504,BHDRcopy)
元画像のcolMax=max(R,G,B)
cMinInt=ceil(gamma*log(0.5/255.0)/log(2)-log(colMax)/log(2);
cMaxInt=floor(gamma*log(254.5/255.0)/l2-log(colMax)/log(2);
…
ここで、fClip(a,b,x)とも書かれるclamp(a,b,x)は、aよりも小さい値をaと置き換え、bよりも大きい値をbと置き換え、a〜b間の値を変更しない。本発明において、これが、露出値RP C(x,y)が決して負になり得ないことを意味することを認識することによって、これを利用する。これを理解するために、
RP C(x,y)=255*(2c*RHDR(x,y))(1/γ)
であるため、RP C(x,y)がとり得る最小値が255*(2c*0)(1/γ)であり、0に等しいことに留意されたい。ここで、RHDR(x,y)は、上記の擬似コードにおけるrOrig値を表す。このため、RP C(x,y)の負値を有することは決してあり得ず、クランピング比較において負値に対し試験することは不要である。このため、下線を付された最後の6行を以下と置き換えることができる。
LDRredOrig=round(min(255,rOrigP))
LDRgreenOrig=round(min(255,gOrigP))
LDRblueOrig=round(min(255,bOrigP))
LDRredCopy=round(min(255,rCopyP))
LDRgreenCopy=round(min(255,gCopyP))
LDRblueCopy=round(min(255,bCopyP))
if(x>y)
return y
else
return x
LDRredOrig=round(rOrigP)
LDRgreenOrig=round(gOrigP)
LDRblueOrig=round(bOrigP)
LDRredCopy=round(min(255,rCopyP))
LDRgreenCopy=round(min(255,gCopyP))
LDRblueCopy=round(min(255,bCopyP))
if(x>=0)
return (int)(x+0.5)
else
return (int)(x-0.5)
LDRredOrig=(int)(rOrigP+0.5)
LDRgreenOrig=(int)(gOrigP+0.5)
LDRblueOrig=(int)(bOrigP+0.5)
LDRredCopy=(int)(min(255.5,rCopyP+0.5))
LDRgreenCopy=(int)(min(255.5,gCopyP+0.5))
LDRblueCopy=(int)(min(255.5,bCopyP+0.5))
LDRredOrig=(((int)(2*rOrigP))+1)>>1
LDRgreenOrig=(((int)(2*gOrigP))+1)>>1
LDRblueOrig=(((int)(2*bOrigP))+1)>>1
LDRredCopy=(((int)(min(551,2*rCopyP)))+1)>>1
LDRgreenCopy=(((int)(min(551,2*gCopyP)))+1)>>1
LDRblueCopy=(((int)(min(551,2*bCopyP)))+1)>>1
ここで、>>はビットシフトを示す。
double DistortionMetricmPSNRfast::calculateErrorRGB(Frame*inp0,Frame*inp1)
{
static const double gamma=2.20;
static const double inverseGamma=1.0/gamma;
double sse=0.0;
int numPixcels=0;
int widthXheight=inp0->m_compSize[R_COMP];
float *inp0Comp0=inp0->m_floatComp[0];
float *inp0Comp1=inp0->m_floatComp[1];
float *inp0Comp2=inp0->m_floatComp[2];
float *inp1Comp0=inp1->m_floatComp[0];
float *inp1Comp1=inp1->m_floatComp[1];
float *inp1Comp2=inp1->m_floatComp[2];
m_sse[R_COMP]=0.0;
m_sse[G_COMP]=0.0;
m_sse[B_COMP]=0.0;
for(int x=0;x<widthXheight;x++){
//まず、可能な限り最も小さいcを計算する。
//元のピクセルも圧縮されたピクセルも、0未満とならず65504を超えないことを確実にする。
//半精度浮動小数点数の場合の最大値は65504である。Infは65504にクリップされる。
float rOrig=fClip(inp0Comp0[x],0.0f,65504.0f);
float gOrig=fClip(inp0Comp1[x],0.0f,65504.0f);
float bOrig=fClip(inp0Comp2[x],0.0f,65504.0f);
float rCopy=fClip(inp1Comp0[x],0.0f,65504.0f);
float gCopy=fClip(inp1Comp1[x],0.0f,65504.0f);
float bCopy=fClip(inp1Comp2[x],0.0f,65504.0f);
//最大の色成分を得る。
double colMax=dMax(bOrig,dMax(rOrig,gOrig));
//寄与を与える第1の値を計算する。
//これは255*(2^c*colMax)^(1/gamma)が厳密に0.5であるときに生じる。
//これは、cMin=gamma*log(0.5/255)/log(2)-log(colMax)/log(2)に等しい。
double l2=log(2.0);
double cMin=2.2*log(0.5/255.0)/l2-log(colMax)/l2;
//最後の値を計算する。
//これは、255*(2^c*colMax)^(1/gamma)が厳密に254.5であるときに生じる。
//これは、cMin=gamma*log(254.5/255)/log(2)-log(colMax)/log(2)に等しい。
double cMax=2.2*log(254.5/255.0)/l2-log(colMax)/l2;
//cMinが例えば−10.6である場合、第1の有効な整数cは−10となる。
int cMinInt=double2IntCeil(cMin);
//cMaxが例えば4.6である場合、最後の有効なcは4となる。
int cMaxInt=double2IntFloor(cMax);
//nextValue=oldValue*(2^(1/gamma))であることを用いる。
double twoToC=exp((cMinInt-1)*l2);
double factor=exp(inverseGamma*l2);
//開始値。
double rOrigProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*rOrig)));
double gOrigProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*gOrig)));
double bOrigProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*bOrig)));
double rCopyProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*rCopy)));
double gCopyProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*gCopy)));
double bCopyProcessed=255.0*exp(inverseGamma*log(((1.0*(twoToC))*bCopy)));
for(int c=cMinInt;c<=cMaxInt;c++){
rOrigProcessed*=factor;
gOrigProcessed*=factor;
bOrigProcessed*=factor;
rCopyProcessed*=factor;
gCopyProcessed*=factor;
bCopyProcessed*=factor;
//ここで、これらの値を[0,255]にクランプし、整数に丸める。
//クランプ後、全ての値は正であり、dRound(x)の代わりに(int)(x+.5)を用いることができる。
//クランプの前であっても、x>0の場合、255*(2^c*x)^(1/gamma)>0であるため、全ての値が正である。
//このため、dClip(x,0,255)の代わりにdMin(x,255)を用いることができる。
//元の値は254.5未満であることが保証されるため、クランプを完全に回避することができる。
int LDRorigR=(int)(rOrigProcessed+0.5);
int LDRorigG=(int)(gOrigProcessed+0.5);
int LDRorigB=(int)(bOrigProcessed+0.5);
int LDRcopyR=(int)dMin(rCopyProcessed+0.5,255.5);
int LDRcopyG=(int)dMin(gCopyProcessed+0.5,255.5);
int LDRcopyB=(int)dMin(bCopyProcessed+0.5,255.5);
m_sse[R_COMP]+=(LDRorigR-LDRcopyR)*(LDRorigR-LDRcopyR);
m_sse[G_COMP]+=(LDRorigG-LDRcopyG)*(LDRorigG-LDRcopyG);
m_sse[B_COMP]+=(LDRorigB-LDRcopyB)*(LDRorigB-LDRcopyB);
}
numpixcels+=(cMaxInt-cMinInt+1);
}
sse=m_sse[R_COMP]+m_sse[G_COMP]+m_sse[B_COMP];
mse=sse/(3.0*numPixcels);
mPSRN=10*log((255*255)/mse/log(10);
return mPSRN;
}
rOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rOrig))
gOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gOrig))
bOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bOrig))
rCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rCopy))
gCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gCopy))
bCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bCopy))
rOrigProcessed×=factor
gOrigProcessed×=factor
bOrigProcessed×=factor
rCopyProcessed×=factor
gCopyProcessed×=factor
bCopyProcessed×=factor
LDRorigR=(int)(rOrigProcessed+0.5)
LDRorigG=(int)(gOrigProcessed+0.5)
LDRorigB=(int)(bOrigProcessed+0.5)
LDRcopyR=(int)dMin(rCopyProcessed+0.5,255.5)
LDRcopyG=(int)dMin(gCopyProcessed+0.5,255.5)
LDRcopyB=(int)dMin(bCopyProcessed+0.5,255.5)
[1]Munkbergら「High dynamic range texture compression for graphics hardware」ACM Transactions on Graphics(Proceedings of AM SIGGRAPH 2006,vol.25,no.3,2006)
Claims (29)
- ハイダイナミックレンジ(HDR)ビデオフレーム(10)のための評価尺度を決定するための方法であって、
前記HDRビデオフレーム(10)内のピクセルごとに、
最小露出パラメータ値を用いて前記HDRビデオフレーム(10)内の前記ピクセルの初期露出値を計算すること(S1)と、
前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)のバージョン(20)における対応するピクセルの初期露出値を計算すること(S2)と、
前記最小露出パラメータ値から開始して最大露出パラメータ値までの露出パラメータ値ごとに、
前記露出パラメータ値について、前記HDRビデオフレーム(10)内の前記ピクセルの以前に計算された露出値に定数を乗算したものから、前記HDRビデオフレーム(10)内の前記ピクセルの露出値を計算するステップ(S3)、
前記露出パラメータ値について、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの以前に計算された露出値に前記定数を乗算したものから、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの露出値を計算するステップ(S4)、
前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、前記HDRビデオフレーム(10)内の前記ピクセルのローダイナミックレンジ(LDR)値に変換するステップ(S5)、
前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルのLDR値に変換するステップ(S6)、及び
前記HDRビデオフレーム(10)内の前記ピクセルの前記LDR値と、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記LDR値との差を表す誤差を計算するステップ(S7)を実行することと、
を実行することと、
前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値について、前記誤差に基づいて前記評価尺度を計算すること(S8)と、
を含む、方法。 - 前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を変換すること(S5)は、前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、0.5の加算及びキャスティング演算を用いて前記LDR値に変換することを含む、請求項1に記載の方法。
- 前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を変換すること(S6)は、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)において、前記対応するピクセルの前記露出値を、0.5の加算、min関数及びキャスティング演算を用いて前記LDR値に変換すること(S6)を含む、請求項1又は2に記載の方法。
- 前記HDRビデオフレーム(10)内の各ピクセルは、赤色成分、青色成分及び緑色成分を含み、前記方法は、
ceil(γ×log(0.5/255.0)/log(2)−log(colMax)/log(2))に基づいて前記最小露出パラメータ値を計算すること(S11)であって、ここで、ceil(x)は、xを切り上げ、γはディスプレイガンマを表し、colMaxは、前記HDRビデオフレーム(10)内の前記ピクセルの前記赤色成分、前記緑色成分及び前記青色成分のうちの最も大きな色成分値を表すことと、
floor(γ×log(254.5/255.0)/log(2)−log(colMax)/log(2))に基づいて前記最大露出パラメータ値を計算すること(S12)であって、ここで、floor(x)は、xを切り下げることと、
を更に含む、請求項1ないし3のいずれか一項に記載の方法。 - 前記HDRビデオフレーム(10)内の前記ピクセルの前記初期露出値を計算すること(S1)は、
rOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rOrig))
gOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gOrig))
bOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bOrig))
を計算すること(S1)を含み、ここで、rOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの赤色成分の露出値を表し、gOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの緑色成分の露出値を表し、bOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの青色成分の露出値を表し、twoToC=exp((cMin−1)×log(2.0))であり、cMinは前記最小露出パラメータ値を表し、rOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記赤色成分を表し、gOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記緑色成分を表し、bOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記青色成分を表し、
前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記初期露出値を計算すること(S2)は、
rCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rCopy))
gCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gCopy))
bCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bCopy))
を計算すること(S2)を含み、ここで、rCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの赤色成分の露出値を表し、gCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの緑色成分の露出値を表し、bCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの青色成分の露出値を表し、rCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記赤色成分を表し、gCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記緑色成分を表し、bCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記青色成分を表す、請求項4に記載の方法。 - 前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を計算すること(S3)は、前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、
rOrigProcessed×=factor
gOrigProcessed×=factor
bOrigProcessed×=factor
を計算すること(S3)を含み、ここで、factor=exp((1.0/γ)×log(2.0))であり、
前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を計算すること(S4)は、前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、
rCopyProcessed×=factor
gCopyProcessed×=factor
bCopyProcessed×=factor
を計算すること(S4)を含む、請求項5に記載の方法。 - 前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を変換すること(S5)は、
LDRorigR=(int)(rOrigProcessed+0.5)
LDRorigG=(int)(gOrigProcessed+0.5)
LDRorigB=(int)(bOrigProcessed+0.5)
を計算すること(S5)を含み、ここで、LDRorigRは前記HDRビデオフレーム(10)内の前記ピクセルの赤色成分のLDR値を表し、LDRorigGは前記HDRビデオフレーム(10)内の前記ピクセルの緑色成分のLDR値を表し、LDRorigBは前記HDRビデオフレーム(10)内の前記ピクセルの青色成分のLDR値を表し、(int)はキャスティング演算を表し、
前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を変換すること(S6)は、
LDRcopyR=(int)dMin(rCopyProcessed+0.5,255.5)
LDRcopyG=(int)dMin(gCopyProcessed+0.5,255.5)
LDRcopyB=(int)dMin(bCopyProcessed+0.5,255.5)
を計算すること(S6)を含み、ここで、LDRcopyRは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの赤色成分のLDR値を表し、LDRcopyGは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの緑色成分のLDR値を表し、LDRcopyBは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの青色成分のLDR値を表し、dMin(x,y)は、(x>y)の場合、yを返し、そうでない場合、xを返すように実装されるmin関数を表す、請求項6に記載の方法。 - 前記誤差を計算すること(S7)は、前記誤差を、
(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyB)
として計算すること(S7)を含む、請求項7に記載の方法。 - 前記誤差を計算すること(S7)は、前記誤差を、
wR×(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+wG×(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+wB×(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyB)
として計算すること(S7)を含み、wR、wG、wBは重みである、請求項7に記載の方法。 - 前記評価尺度を計算すること(S8)は、
平均二乗誤差を、前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値のための平均誤差として計算すること(S13)と、
前記平均二乗誤差に基づいて前記評価尺度を計算すること(S14)と、
を含む、請求項1ないし9のいずれか一項に記載の方法。 - 前記評価尺度を計算すること(S14)は、前記評価尺度を、前記平均二乗誤差のピーク信号対雑音比として、
10×log((255×255)/MSE)/log(10)
として計算すること(S14)を含み、MSEは前記平均二乗誤差を表す、請求項10に記載の方法。 - ハイダイナミックレンジ(HDR)ビデオフレーム(10)を符号化する方法であって、前記方法は、
前記HDRビデオフレーム(10)の少なくとも一部分の複数の圧縮されたバージョンを取得するために、複数の圧縮モードに従って前記HDRビデオフレーム(10)の前記少なくとも一部分を圧縮すること(S20)と、
前記複数の圧縮モードの圧縮モードごとに、請求項1〜11のいずれか一項に従って前記HDRビデオフレーム(10)のそれぞれの評価尺度を決定すること(S21)と、
複数の評価尺度に基づいて、前記HDRビデオフレーム(10)の前記少なくとも一部分の圧縮されたバージョンを、前記HDRビデオフレーム(10)の前記少なくとも一部分の符号化された表現として選択すること(S22)と、
を含む、方法。 - ハイダイナミックレンジ(HDR)ビデオフレーム(10)の評価尺度を決定するためのエンコーダ(100、110、120)であって、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、最小露出パラメータ値を用いて前記HDRビデオフレーム(10)内の前記ピクセルの初期露出値を計算するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)のバージョン(20)における対応するピクセルの初期露出値を計算するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの以前に計算された露出値に定数を乗算したものから、前記HDRビデオフレーム(10)内の前記ピクセルの露出値を計算するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの以前に計算された露出値に前記定数を乗算したものから、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの露出値を計算するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、前記HDRビデオフレーム(10)内の前記ピクセルのローダイナミックレンジ(LDR)値に変換するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルのLDR値に変換するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記LDR値と、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記LDR値との差を表す誤差を計算するように設定され、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値について、前記誤差に基づいて前記評価尺度を計算するように設定される、エンコーダ。 - 前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、0.5の加算及びキャスティング演算を用いて前記LDR値に変換するように設定される、請求項13に記載のエンコーダ。
- 前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)において、前記対応するピクセルの前記露出値を、0.5の加算、min関数及びキャスティング演算を用いて前記LDR値に変換するように設定される、請求項13又は14に記載のエンコーダ。
- 前記HDRビデオフレーム(10)内の各ピクセルは、赤色成分、青色成分及び緑色成分を含み、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、ceil(γ×log(0.5/255.0)/log(2)−log(colMax)/log(2))に基づいて前記最小露出パラメータ値を計算するように設定され、ここで、ceil(x)は、xを切り上げ、γはディスプレイガンマを表し、colMaxは、前記HDRビデオフレーム(10)内の前記ピクセルの前記赤色成分、前記緑色成分及び前記青色成分のうちの最も大きな色成分値を表し、
前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、floor(γ×log(254.5/255.0)/log(2)−log(colMax)/log(2))に基づいて前記最大露出パラメータ値を計算するように設定され、ここで、floor(x)は、xを切り下げる、請求項13ないし15のいずれか一項に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、
rOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rOrig))
gOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gOrig))
bOrigProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bOrig))
rCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×rCopy))
gCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×gCopy))
bCopyProcessed=255.0×exp((1.0/γ)×log(1.0×twoToC×bCopy))
を計算するように設定され、ここで、rOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの赤色成分の露出値を表し、gOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの緑色成分の露出値を表し、bOrigProcessedは、前記HDRビデオフレーム(10)内の前記ピクセルの青色成分の露出値を表し、twoToC=exp((cMin−1)×log(2.0))であり、cMinは前記最小露出パラメータ値を表し、rOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記赤色成分を表し、gOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記緑色成分を表し、bOrigは前記HDRビデオフレーム(10)内の前記ピクセルの前記青色成分を表し、rCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの赤色成分の露出値を表し、gCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの緑色成分の露出値を表し、bCopyProcessedは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの青色成分の露出値を表し、rCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記赤色成分を表し、gCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記緑色成分を表し、bCopyは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記青色成分を表す、請求項16に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、
rOrigProcessed×=factor
gOrigProcessed×=factor
bOrigProcessed×=factor
rCopyProcessed×=factor
gCopyProcessed×=factor
bCopyProcessed×=factor
を計算するように設定され、factor=exp((1.0/γ)×log(2.0))である、請求項17に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、
LDRorigR=(int)(rOrigProcessed+0.5)
LDRorigG=(int)(gOrigProcessed+0.5)
LDRorigB=(int)(bOrigProcessed+0.5)
LDRcopyR=(int)dMin(rCopyProcessed+0.5,255.5)
LDRcopyG=(int)dMin(gCopyProcessed+0.5,255.5)
LDRcopyB=(int)dMin(bCopyProcessed+0.5,255.5)
を計算するように設定され、ここで、LDRorigRは前記HDRビデオフレーム(10)内の前記ピクセルの赤色成分のLDR値を表し、LDRorigGは前記HDRビデオフレーム(10)内の前記ピクセルの緑色成分のLDR値を表し、LDRorigBは前記HDRビデオフレーム(10)内の前記ピクセルの青色成分のLDR値を表し、(int)はキャスティング演算を表し、LDRcopyRは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの赤色成分のLDR値を表し、LDRcopyGは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの緑色成分のLDR値を表し、LDRcopyBは、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの青色成分のLDR値を表し、dMin(x,y)は、(x>y)の場合、yを返し、そうでない場合、xを返すように実装されるmin関数を表す、請求項18に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記誤差を、
(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyB)
として計算するように設定される、請求項19に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記誤差を、
wR×(LDRorigR-LDRcopyR)×(LDRorigR-LDRcopyR)+wG×(LDRorigG-LDRcopyG)×(LDRorigG-LDRcopyG)+wB×(LDRorigB-LDRcopyB)×(LDRorigB-LDRcopyb)
として計算するように設定され、wR,wG,wBは重みである、請求項19に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、平均二乗誤差を、前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値についての平均誤差として計算するように設定され、
前記エンコーダ(100、110、120)は、前記平均二乗誤差に基づいて前記評価尺度を計算するように設定される、請求項13ないし21のいずれか一項に記載のエンコーダ。 - 前記エンコーダ(100、110、120)は、前記評価尺度を、前記平均二乗誤差のピーク信号対雑音比として、
10×log((255×255)/MSE)/log(10)
として計算するように設定され、MSEは前記平均二乗誤差を表す、請求項22に記載のエンコーダ。 - プロセッサ(111)と、
前記プロセッサ(111)によって実行可能な命令を含むメモリ(112)と、
を備え、前記プロセッサ(111)は、
前記初期露出値を計算し、
前記露出値を計算し、
前記露出値を前記LDR値に変換し、
前記誤差を計算し、
前記評価尺度を計算する、
ように動作可能である、請求項13ないし23のいずれか一項に記載のエンコーダ。 - ハイダイナミックレンジ(HDR)ビデオフレーム(10)のための評価尺度を決定するためのエンコーダ(130)であって、前記エンコーダ(130)は、
前記HDRビデオフレーム(10)内のピクセルごとに、i)最小露出パラメータ値を用いて前記HDRビデオフレーム(10)内の前記ピクセルの初期露出値を計算し、ii)前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)のバージョン(20)における対応するピクセルの初期露出値を計算するための初期露出値計算機(131)と、
前記HDRビデオフレーム(10)内のピクセルごとに、また、前記最小露出パラメータ値から開始して最大露出パラメータ値までの露出パラメータ値ごとに、i)前記HDRビデオフレーム(10)内の前記ピクセルの以前に計算された露出値に定数を乗算したものから、前記HDRビデオフレーム(10)内の前記ピクセルの露出値を計算し、ii)前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの以前に計算された露出値に前記定数を乗算したものから、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの露出値を計算するための露出値計算機(132)と、
前記HDRビデオフレーム(10)内のピクセルごとに、また、前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、i)前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、前記HDRビデオフレーム(10)内の前記ピクセルのローダイナミックレンジ(LDR)値に変換し、ii)前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルのLDR値に変換するための露出値変換器(133)と、
前記HDRビデオフレーム(10)内のピクセルごとに、また、前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記LDR値と、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記LDR値との差を表す誤差を計算するための誤差計算機(134)と、
前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値について、前記誤差に基づいて前記評価尺度を計算するための評価尺度計算機(135)と、
を備える、エンコーダ。 - ハイダイナミックレンジ(HDR)ビデオフレーム符号化デバイス(140)であって、
請求項13〜25のいずれか一項に記載のエンコーダ(100、110、120、130)であって、前記HDRビデオフレーム(10)の少なくとも一部分の複数の圧縮されたバージョンを取得するために、複数の圧縮モードに従って前記HDRビデオフレーム(10)の前記少なくとも一部分を圧縮し、前記複数の圧縮モードの圧縮モードごとに、前記HDRビデオフレーム(10)のそれぞれの評価尺度を決定するように設定される、エンコーダと、
前記複数の評価尺度に基づいて、前記HDRビデオフレーム(10)の前記少なくとも一部分の圧縮されたバージョンを、前記HDRビデオフレーム(10)の前記少なくとも一部分の符号化された表現として選択するように設定される選択器(141)と、
を備える、HDRビデオフレーム符号化デバイス。 - 前記選択器(141)は、前記HDRビデオフレーム(10)の前記少なくとも一部分の前記符号化された表現として、前記HDRビデオフレーム(10)の前記少なくとも一部分の前記複数の圧縮されたバージョンの中から、最高の評価尺度を有する前記HDRビデオフレーム(10)の圧縮されたバージョンを選択するように設定される、請求項26に記載のHDRビデオフレーム符号化デバイス。
- 命令を含むコンピュータプログラム(240)であって、前記命令は、プロセッサ(210)によって実行されると、前記プロセッサ(210)に、
前記HDRビデオフレーム(10)内のピクセルごとに、最小露出パラメータ値を用いて前記HDRビデオフレーム(10)内の前記ピクセルの初期露出値を計算させ、
前記HDRビデオフレーム(10)内のピクセルごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)のバージョン(20)における対応するピクセルの初期露出値を計算させ、
前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの以前に計算された露出値に定数を乗算したものから、前記HDRビデオフレーム(10)内の前記ピクセルの露出値を計算させ、
前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの以前に計算された露出値に定数を乗算したものから、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの露出値を計算させ、
前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記露出値を、前記HDRビデオフレーム(10)内の前記ピクセルのローダイナミックレンジ(LDR)値に変換させ、
前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記露出値を、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルのLDR値に変換させ、
前記HDRビデオフレーム(10)内のピクセルごとに、また前記最小露出パラメータ値から開始して前記最大露出パラメータ値までの露出パラメータ値ごとに、前記HDRビデオフレーム(10)内の前記ピクセルの前記LDR値と、前記HDRビデオフレーム(10)の圧縮に続いて取得される前記HDRビデオフレーム(10)の前記バージョン(20)における前記対応するピクセルの前記LDR値との差を表す誤差を計算させ、
前記HDRビデオフレーム(10)内の全てのピクセル及び全ての露出パラメータ値について、前記誤差に基づいて前記評価尺度を計算させる、コンピュータプログラム。 - 請求項28に記載のコンピュータプログラム(240)を備えるキャリア(250)であって、前記キャリア(250)は、電子信号、光信号、電磁信号、磁気信号、電気信号、無線信号、マイクロ波信号又はコンピュータ可読ストレージ媒体のうちの1つである、キャリア。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462060155P | 2014-10-06 | 2014-10-06 | |
| US62/060,155 | 2014-10-06 | ||
| PCT/SE2015/050998 WO2016056974A1 (en) | 2014-10-06 | 2015-09-24 | Evaluation measure for hdr video frames |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2017500792A true JP2017500792A (ja) | 2017-01-05 |
Family
ID=55653445
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016534116A Pending JP2017500792A (ja) | 2014-10-06 | 2015-09-24 | Hdrビデオフレームのための評価尺度 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20160277743A1 (ja) |
| JP (1) | JP2017500792A (ja) |
| WO (1) | WO2016056974A1 (ja) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107040776B (zh) * | 2017-03-29 | 2019-01-18 | 华南理工大学 | 一种基于高动态范围的视频质量评估方法 |
| US10643358B2 (en) * | 2017-04-24 | 2020-05-05 | Intel Corporation | HDR enhancement with temporal multiplex |
| US11327802B2 (en) * | 2019-07-31 | 2022-05-10 | Microsoft Technology Licensing, Llc | System and method for exporting logical object metadata |
| CN110599418B (zh) * | 2019-09-05 | 2023-04-28 | 西安邮电大学 | 一种变换域融合的全局色调映射方法 |
| US11710220B2 (en) * | 2019-09-23 | 2023-07-25 | Intel Corporation | Compressing dynamic range in images using darkness gamma transfer function |
| CN112714246A (zh) * | 2019-10-25 | 2021-04-27 | Tcl集团股份有限公司 | 连拍照片获取方法、智能终端及存储介质 |
| US11961262B2 (en) * | 2019-11-01 | 2024-04-16 | Lg Electronics Inc. | Signal processing apparatus and image display apparatus including same |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013106333A (ja) * | 2011-11-17 | 2013-05-30 | Sony Corp | 画像処理装置および方法 |
| JP2013528034A (ja) * | 2010-04-19 | 2013-07-04 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 高ダイナミックレンジ、視覚ダイナミックレンジおよび広色範囲の画像およびビデオの品質評価 |
| JP2015529890A (ja) * | 2012-10-08 | 2015-10-08 | コーニンクレッカ フィリップス エヌ ヴェ | 色制約付きの輝度変更画像処理 |
| JP2016517637A (ja) * | 2013-02-21 | 2016-06-16 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 改善されたhdrイメージ符号化及び復号化方法、装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000013806A (ja) * | 1998-06-23 | 2000-01-14 | Mitsubishi Electric Corp | 画像処理装置及び画像処理方法 |
| US8085852B2 (en) * | 2007-06-26 | 2011-12-27 | Mitsubishi Electric Research Laboratories, Inc. | Inverse tone mapping for bit-depth scalable image coding |
| WO2016003349A1 (en) * | 2014-07-01 | 2016-01-07 | Telefonaktiebolaget L M Ericsson (Publ) | Evaluation measure for images |
-
2015
- 2015-09-24 JP JP2016534116A patent/JP2017500792A/ja active Pending
- 2015-09-24 WO PCT/SE2015/050998 patent/WO2016056974A1/en not_active Ceased
- 2015-09-24 US US14/785,966 patent/US20160277743A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013528034A (ja) * | 2010-04-19 | 2013-07-04 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 高ダイナミックレンジ、視覚ダイナミックレンジおよび広色範囲の画像およびビデオの品質評価 |
| JP2013106333A (ja) * | 2011-11-17 | 2013-05-30 | Sony Corp | 画像処理装置および方法 |
| JP2015529890A (ja) * | 2012-10-08 | 2015-10-08 | コーニンクレッカ フィリップス エヌ ヴェ | 色制約付きの輝度変更画像処理 |
| JP2016517637A (ja) * | 2013-02-21 | 2016-06-16 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 改善されたhdrイメージ符号化及び復号化方法、装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160277743A1 (en) | 2016-09-22 |
| WO2016056974A1 (en) | 2016-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2017500792A (ja) | Hdrビデオフレームのための評価尺度 | |
| US10469849B2 (en) | Video and image encoding process | |
| JP7293330B2 (ja) | ビデオコーディングにおけるフィルタリングのための装置および方法 | |
| US11272175B2 (en) | Deringing filter for video coding | |
| CN104205845B (zh) | 具有统一位宽乘法器的lm模式 | |
| US9299317B2 (en) | Local multiscale tone-mapping operator | |
| TWI539822B (zh) | 利用時間性同調動態範圍對映的視訊編碼技術 | |
| CN104255033B (zh) | 用于lm模式计算的简化查找表 | |
| US11122263B2 (en) | Deringing filter for video coding | |
| WO2016003349A1 (en) | Evaluation measure for images | |
| US20140328395A1 (en) | Method and apparatus for dequantization of transformed coefficients | |
| WO2020258010A1 (zh) | 图像编解码方法、编码器、解码器以及存储介质 | |
| JP6360841B2 (ja) | 画像ダイナミックレンジ変換演算子を選択するための方法およびデバイス | |
| JP2017505001A (ja) | ビデオ符号化および復号におけるシンタックス要素符号化方法および装置 | |
| KR20160019060A (ko) | 큰 동적 범위 픽처들의 평균 휘도를 적응시키기 위한 인코딩과 디코딩 방법들 및 대응하는 인코더 및 디코더 | |
| US20250280115A1 (en) | Methods, systems and decoder for combined lossless and lossy coding | |
| CN105828089A (zh) | 一种基于自适应感知量化的视频编码方法和系统 | |
| US20140092116A1 (en) | Wide dynamic range display | |
| US20250330583A1 (en) | Methods and systems for combined lossless and lossy coding | |
| US12219133B2 (en) | Bilateral loop filter | |
| US20180278968A1 (en) | Method for the encoding and decoding of hdr images | |
| JP2021002726A (ja) | 画像復号装置、画像復号方法及びプログラム | |
| CN116074529A (zh) | 图像编解码方法、装置及存储介质 | |
| US11785204B1 (en) | Frequency domain mode decision for joint chroma coding | |
| US20160337666A1 (en) | Methods and apparatus to perform fractional-pixel interpolation filtering for media coding |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160524 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160524 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20161221 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170104 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20171010 |
