JP2008504750A - マルチパスのビデオ符号化 - Google Patents
マルチパスのビデオ符号化 Download PDFInfo
- Publication number
- JP2008504750A JP2008504750A JP2007518338A JP2007518338A JP2008504750A JP 2008504750 A JP2008504750 A JP 2008504750A JP 2007518338 A JP2007518338 A JP 2007518338A JP 2007518338 A JP2007518338 A JP 2007518338A JP 2008504750 A JP2008504750 A JP 2008504750A
- Authority
- JP
- Japan
- Prior art keywords
- image
- encoding
- images
- complexity
- visual masking
- 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
Links
Images
Classifications
-
- 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/102—Methods 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/124—Quantisation
-
- 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/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/142—Detection of scene cut or scene change
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/172—Methods 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 an image region, e.g. an object the region being a picture, frame or field
-
- 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/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/169—Methods 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/177—Methods 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 group of pictures [GOP]
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
このセクションは、本明細書で使用されるいくつかの記号に関する定義を与える。
本発明の一部の実施形態は、所与のビットレートでフレームシーケンスを符号化することに関して、最良の視覚的品質を実現する符号化方法を提供する。一部の実施形態では、この方法は、量子化パラメータQPをすべてのマクロブロックに割り当てる視覚マスキングプロセスを使用する。この割り当ては、イメージまたはビデオフレームの中のより明るい領域内、または空間的に複雑な領域内の符号化アーチファクト/雑音が、より暗い領域内、または均一の領域内におけるほどは、目に見えないという認識に基づく。
名目量子化パラメータが与えられると、視覚マスキングプロセスはまず、基準マスキング強度(φR)およびフレームのマスキング強度(φF)を使用して、各フレームに関するマスキングされたフレーム量子化パラメータ(MQP)を計算する。次に、このプロセスは、フレームレベルおよびマクロブロックレベルのマスキング強度(φFおよびφMB)に基づき、各マクロブロックに関するマスキングされたマクロブロック量子化パラメータ(MQPMB)を計算する。視覚マスキングプロセスが、マルチパス符号化プロセスにおいて使用される場合、一部の実施形態における基準マスキング強度(φR)は、前述し、後段でさらに説明するとおり、第1の符号化パス中に特定される。
1.第1のアプローチ
フレームレベルのマスキング強度φF(k)を計算するのに、一部の実施形態は、以下の数式(A)を使用する。すなわち、
φF(k)=C*power(E*avgFrameLuma(k),β)*power(D*avgFrameSAD(k),αF), (A)
ただし、
・avgFrameLuma(k)は、bが、1以上の整数である(例えば、b=1またはb=4)、b×bの領域を使用して計算される、フレームk内の平均ピクセル輝度であり、
・avgFrameSAD(k)は、フレームk内のすべてのマクロブロックにわたるMbSAD(k,m)の平均であり、
・MbSAD(k,m)は、インデックスmを有するマクロブロック内のすべての4×4ブロックに関する関数、Calc4×4MeanRemovedSAD(4×4_block_pixel_values)によって与えられる値の合計であり、
・αF、C、D、およびEは、定数であり、かつ(或いは)、局所的な統計に適合されており、
かつ、
・power(a,b)は、abを意味する。
Calc4x4MeanRemovedSAD(4x4_block_pixel_values)
{
所与の4×4ブロック内のピクセル値の平均値を計算する;
ピクセル値から平均値を引き、絶対値を計算する;
1つ前の工程で得られた絶対値を合計する;
合計を返す(return the sum;);
}
他の諸実施形態は、フレームレベルのマスキング強度を異なる形で計算する。例えば、前述した数式(A)は、フレームのマスキング強度を基本的に以下のように計算する。すなわち、
φF(k)=C*power(E*Brightness_Attribute,exponent0)*
power(scalar*Spatial_Activity_Attribute,exponent1)
である。
φF(k)=C*power(E*Brightness_Attribute,exponent0)*
power(scalar*Activity_Attribute,exponent1) (B)
である。
Activity_Attribute=G*power(D*Spatial_Activity_Attribute,exponent_beta)+
E*power(F*Temporal_Activity_Attribute,exponent_delta) (C)
である。
a)Temporal_Activity_Attributeに対する過去のフレーム、および将来のフレームの影響を制限すること
前述の数式(D)は、Temporal_Activity_Attributeを基本的に以下の関係で表現する。すなわち、
Temporal_Activity_Attribute=Past_Frame_Activity+Future_Frame_Activity+
Current_Frame_Activity
ただし、Past_Frame_Activity(PFA)は、
前述の数式(C)は、基本的に、以下の関係でActivity_Attributeを表す。すなわち、
Activity_Attribute=Spatial_Activity+Temporal_Activity
ただし、Spatial_Activityは、scalar*(scalar*Spatial_Activity_Attribute)βに等しく、Temporal_Activityは、scalar*(scalar*Temporal_Activity_Attribute)Δに等しい。
1.第1のアプローチ
一部の実施形態では、マクロブロックレベルのマスキング強度φMB(k,m)は、以下のとおり計算される。すなわち、
φMB(k,m)=A*power(C*avgMbLuma(k,m),β)*power(B*MbSAD(k,m),αMB), (F)
ただし、
・avgMbLuma(k,m)は、フレームk、マクロブロックmにおける平均ピクセル輝度であり、
・αMB、β、A、B、およびCは、定数であり、かつ(或いは)、局所的な統計に適合されている。
前述した数式(F)は、マクロブロックのマスキング強度を基本的に以下のとおり計算する。すなわち、
φMB(k,m)=D*power(E*Mb_Brightness__Attribute,exponent0)*
power(scalar*Mb_Spatial_Activity_Attribute,exponent1)
である。
φMB(k,m)=D*power(E*Mb_Brightness__Attribute,exponent0)*
power(scalar*Mb_Activity_Attribute,exponent1)
ただし、Mb_Activity_Attributeは、以下の数式(H)によって与えられる。すなわち、
Mb_Activity_Attribute=F*power(D*Mb_Spatial_Activity_Attribute,exponent_beta)+
G*power(F*Mb_Temporal_Activity_Attribute,exponent_delta) (H)
である。
マスキング強度の値(φFおよびφMB)、および基準マスキング強度の値(φR)に基づき、視覚マスキングプロセスは、2つの関数CalcMQPおよびCalcMQPforMBを使用することにより、フレームレベルおよびマクロブロックレベルにおけるマスキングされたQP値を計算することができる。これら2つの関数に関する擬似コードは、以下のとおりである。すなわち、
CalcMQP(nominalQP,φF,φF(k),maxQPFrameAdjustment)
{
QPFrameAdjustment=βF*(φF(k)-φR)/φR;
[minQPFrameAdjustment,,maxQPFrameAdjustment]の範囲内に入るようにQPFrameAdjustmentをクリッピングする;
maskedQPofFrame=nominalQP+QPFrameAdjustment;
許容範囲内に入るようにmaskedQPofFrameをクリッヒ゜ンク゛する;
(フレームkに関する)maskedQPofFrameを返す;
}
CalcMQPforMB(maskedQPofFrame,φF(k),φMB(k,m),maxQPMacroblockAdjustment)
{
if(φF(k)>T) ただし、Tは、適切に選択された閾値
QPMacroblockAdjustment=βMB*(φMB(k,m)-φF(k))/φF(k);
else
QPMacroblockAdjustment=0;
[minQPMacroblockAdjustment,,maxQPMacroblockAdjustment]の範囲内に入るようにQPMacroblockAdjustmentをクリッピングする;
maskedQPofMacrobleck=maskedQPofFrame+QPMacroblockAdjustment;
有効なQP値範囲内に入るようにmaskedQPofMacroblockをクリッピングする;
maskedQPofMacroblockを返す;
}
である。
図1は、本発明の一部の実施形態に係るマルチパス符号化方法を概念的に示すプロセス100を提示する。この図に示されるとおり、プロセス100は、以下の3つのサブセクションで説明される3つの段階を有する。
図1に示されるとおり、プロセス100は、最初、マルチパス符号化プロセスの初期分析段階中に(すなわち、パス0中に)、基準マスキング強度(φR(1))の初期値、および名目量子化パラメータ(QPNom(1))の初期値を計算する(105で)。初期基準マスキング強度(φR(1))は、第1の探索段階中に使用されるのに対して、初期名目量子化パラメータ(QPNom(1))は、第1の探索段階の第1のパス中に(すなわち、マルチパス符号化プロセスのパス1中に)使用される。
105の後、マルチパス符号化プロセス100は、第1の探索段階に入る。第1の探索段階では、プロセス100は、シーケンスに対するN1回の符号化を実行する。ただし、N1は、第1の探索段階中のパスの回数を表す。第1の段階の各パス中、プロセスは、変化する名目量子化パラメータを、一定の基準マスキング強度とともに使用する。
・|Ep|<εである場合。ただし、εは、最終ビットレートにおける許容誤差である。
・QPNom(p)が、QP値の有効範囲の上限または下限にある場合。
・パスの回数が、容認できるパスの最大回数PMAXを超えた場合。
・QPNom(p+1)が、QPNom(q)と同一であり、かつq≦pである場合(その場合、ビットレートの誤差は、名目QPを変更しても、それよりも下げることができない)。
・|Ep|<εCであり、εC>εである場合。ただし、εCは、第1の探索段階に関するビットレートの許容誤差である。
・パスの回数が、P1を超えている場合。ただし、P1は、PMAx未満である。
・パスの回数が、P1未満であるP2を超えており、かつ|Ep|<ε2であり、ε2>εCである場合。
QPNom(p+1)=QPNom(p)+χEp
と定義する。ただし、χは、定数である。パス2からパスN1までの各パスの終りで、それらの実施形態は、次に、
QPNom(p+1)=InterpExtrap(0,Eq1,Eq2,QPNom(q1),QPNom(q2))
と定義する。ただし、InterpExtrapは、以下にさらに説明される関数である。また、上の数式では、q1およびq2は、パスpまでのすべてのパスの中で最低である、対応するビットレート誤差を有するパス番号であり、q1、q2、およびpは、以下の関係を有する。すなわち、
1≦q1≦q2≦p
である。
InterpExtrap(x,x1,x2,y1,y2)
{
if(x2 != x1) y = y1 + (x - x1) * (y2 - y1) / (x2 - x1);
else y = y1;
return y;
}
プロセス100は、第1の探索段階を終了すべきであると判定した場合(120で)、130に進む。第2の探索段階で、プロセス100は、シーケンスのN2回の符号化を実行する。ただし、N2は、第2の探索段階中のパスの回数を表す。各パス中、プロセスは、同一の名目量子化パラメータ、および変化する基準マスキング強度を使用する。
φR(N1+1)=φR(N1)+φR(N1)×Konst×EN1
であると定義する。
φR(N1+m)=InterpExtrap(0,EN1+m−2,EN1+m−1,φR(N1+m−2),φR(N1+m−1))
であると定義する。
φR(N1+m)=InterpExtrap(0,EN1+m−q2,EN1+m−q1,φR(N1+m−q2),φR(N1+m−q1))
であると定義する。ただし、q1およびq2は、最良の誤差を与えた先行するパスである。
GetAvgMaskedQP(nominalQP,φR)
{
sum=0;
for(k=0;k<numframes;k++){
MQP(k)=CalcMQP(nominalQP,φR,φF(k),maxQPFrameAdjustment)を使用して
計算された、フレームkに関するmaskedQP; //前段を参照
sum+=MQP(k);
}
return sum/numframes;
}
N1>1である場合、AMQPN1+1=InterpExtrap(0,EN1−1,EN1,AMQPN1−1,AMQPN1)であり、かつ
N1=1である場合、AMQPN1+1=AMQPN1である。
φR(N1+1)=Search(AMQPN1+1,φR(N1))
であると定義する。
AMQPN1+m=InterpExtrap(0,EN1+m−2,EN1+m−1,AMQPN1+m−2,AMQPN1+m−1)
であり、かつ
φR(N1+m)=Search(AMQPN1+m,φR(N1+m−1))
であると定義する。
Search(AMQP,φR)
{
interpolateSuccess=True; //別の設定が行われるまで
reLumaSad0=refLumaSad1=refLumaSadx=φR;
errorInAvgMaskedQp=GetAvgMaskedQp(nominalQp,refLumaSadx)-AMQP;
if(errorInAvgMaskedQp>0){
ntimes=0;
do{
ntimes++;
refLumaSad0=(refLumaSad0*1.1);
errorInAvgMaskedQp=GetAvgMaskedQp(nominalQp,refLumaSad0)-amqp;
}while(errorInAvgMaskedQp>0 && ntimes<10);
if(ntimes>=10) interpolateSuccess=False;
}
else{ //errorInAvgMaskedQp<0
ntimes=0;
do{
ntimes++;
refLumaSad1=(refLumaSad1*0.9);
errorInAvgMaskedQp=GetAvgMaskedQp(nominalQp,refLumaSad1)-amqp;
}while(errorInAvgMaskedQp<0 && ntimes<10);
if(ntimes>=10) interpolateSuccess=False;
}
ntimes=0;
do{
ntimes++;
refLumaSadx=(refLumaSad0+refLumaSad1)/2; //単純な連続近似
errorInAvgMaskedQp=GetAvgMaskedQp(nominalQp,refLumaSadx)-AMQP;
if(errorInAvgMaskedQp>0) refLumaSad1=refLumaSadx;
else refLumaSad0=refLumaSadx;
}while(ABS(errorInAvgMaskedQp)>0.05 && ntimes<12);
if(ntimes>=12) interpolateSuccess=False;
}
if(interpolateSuccess) return refLumaSadx;
else return φR
}
である。
・|Ep|<εの場合。ただし、εは、最終ビットレートの許容誤差である。
・パスの回数が、許容されるパスの最大回数を超えている場合。
本発明の一部の実施形態は、復号器によって使用される入力バッファの使用に関して最適な符号化ソリューションを特定するため、ビデオシーケンスの目標ビットレートに対する様々な符号化を調べるマルチパス符号化プロセスを提供する。一部の実施形態は、このマルチパスプロセスは、図1のマルチパス符号化プロセス100に従う。
前述したとおり、符号器は、復号器バッファ条件をシミュレートして、符号化された、または再符号化されたイメージシーケンス内のいずれかのセグメントが、復号器バッファの中でアンダフローを生じさせるかどうかを判定する。一部の実施形態では、符号器は、符号化されたイメージのサイズ、帯域幅などのネットワーク条件、復号器要因(例えば、入力バッファサイズ、イメージを除去するのにかかる初期時間および名目時間、復号化プロセス時間、各イメージの表示時間、その他)を考慮するシミュレーションモデルを使用する。
以下の段落は、一部の実施形態において、CPBモデルを使用して、復号器入力バッファがどのようにシミュレートされるかを説明する。イメージnの最初のビットが、CPBに入り始める時間は、初期到着時間tai(n)と呼ばれ、以下のとおり導出される。すなわち、
・イメージが、最初のイメージ(すなわち、イメージ0)である場合、tai(0)=0であり、
・イメージが、符号化されている、または再符号化されているシーケンス内の最初のイメージではない場合(すなわち、n>0である場合)、tai(n)=Max(taf(n−1),tai,earliest(n))
である。
・tai,earliest(n)=tr,n(n)−initial_cpb_removal_delay
である。ただし、tr,n(n)は、以下に指定されるCPBからのイメージnの名目除去時間であり、initial_cpb_removal_delayは、初期バッファリング期間である。
taf(n)=tai(n)+b(n)/BitRate
によって導出される。ただし、b(n)は、イメージnのサイズ(単位はビット)である。
tr,n(0)=initial_cpb_removal_delay
によって指定される。
tr,n(n)=tr,n(0)+sumi=0乃至n−1(ti)
によって指定される。ただし、tr,n(n)は、イメージnの名目除去時間であり、tiは、ピクチャiに関する表示時間である。
・tr,n(n)>=taf(n)である場合、tr(n)=tr,n(n)であり、
・tr,n(n)<taf(n)である場合、tr(n)=taf(n)である。
前のセクションで説明されるとおり、符号器は、復号器入力バッファの状態をシミュレートし、所与の時点におけるバッファ内のビット数を獲得することができる。或いは、符号器は、その名目除去時間と最終到着時間の差(すなわち、tb(n)=tr,n(n)−taf(n))を介して、それぞれの個別のイメージが、復号器入力バッファの状態をどのように変化させるかを追跡することができる。tb(n)が、0未満である場合、バッファは、時点tr,n(n)と時点taf(n)の間にアンダフローを来たしており、場合によっては、tr,n(n)より前、およびtaf(n)の後にもアンダフローを来たしている。
図4(a)を参照すると、tb(n)対nの曲線が、下降する傾きでn軸と1回だけ交差する場合、シーケンス全体の中に1つだけのアンダフローセグメントが存在する。アンダフローセグメントは、ゼロ交差点より前の最も近い局所最大値で始まり、ゼロ交差点とそのシーケンスの終りの間の、次の大域最小値で終わる。バッファが、アンダフローから回復する場合、セグメントの終点の後には、上昇する傾きを持つ曲線による別のゼロ交差点が続き得る。
シーケンス内に複数のアンダフローセグメントが存在する場合、セグメントの再符号化により、すべての後続のフレームに関するバッファ充満時間、tb(n)が変わる。変更されたバッファ条件を考慮に入れるのに、符号器は、下降する傾きを有する最初のゼロ交差点から(すなわち、最低のnで)始めて、一度に1つのアンダフローセグメントを探索する。
前述した復号器バッファアンダフローに関する技術は、多数の符号化システムおよび復号化システムに適用される。そのようなシステムのいくつかの実施例を以下に説明する。
図9は、本発明の一実施形態が実施されるコンピュータシステムを提示する。コンピュータシステム900は、バス905と、プロセッサ910と、システムメモリ915と、読み取り専用メモリ920と、永久記憶デバイス925と、入力デバイス群930と、出力デバイス群935とを含む。バス905は、コンピュータシステム900の多数の内部デバイスを通信するように接続するすべてのシステムバス、周辺バス、およびチップセットバスをひとまとめにして表す。例えば、バス905は、プロセッサ910を、読み取り専用メモリ920、システムメモリ915、および永久記憶デバイス925と通信するように接続する。
Claims (87)
- 複数のイメージを符号化する方法であって、
a)前記複数のイメージを符号化するための名目量子化パラメータを定義するステップと、
b)前記名目量子化パラメータに基づいて、少なくとも1つのイメージのための、少なくとも1つのイメージ固有の量子化パラメータを導出するステップと、
c)前記イメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化するステップと、
d)前記定義するステップ、前記導出するステップ、および前記符号化するステップを繰り返して前記符号化を最適化するステップと、
を備えることを特徴とする方法。 - a)前記名目量子化パラメータに基づいて、複数のイメージのための複数のイメージ固有の量子化パラメータを導出するステップと、
b)前記複数のイメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化するステップと、
c)前記定義するステップ、前記名目量子化パラメータに基づいて、複数のイメージのための複数のイメージ固有の量子化パラメータを導出するステップ、および前記複数のイメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化するステップを繰り返して前記符号化を最適化するステップと、
をさらに備えることを特徴とする請求項1に記載の方法。 - 符号化の動作が終了の基準のセットを満たすと前記繰り返すステップを停止するステップをさらに備えることを特徴とする請求項1に記載の方法。
- 前記終了の基準のセットは、前記複数のイメージに関して許容できる符号化に関する識別情報を含むことを特徴とする請求項3に記載の方法。
- 前記複数のイメージに関して許容できる符号化は、目標ビットレートに関して特定の範囲内に収まる、前記複数のイメージの符号化であることを特徴とする請求項4に記載の方法。
- 複数のイメージを符号化する方法であって、
a)各々の特定のイメージ属性が少なくとも特定のイメージの特定の一部分に関する複雑性を定量化する、複数のイメージ属性を特定するステップと、
b)前記複数のイメージに関する複雑性を定量化する基準属性を特定するステップと、
b)前記特定された複数のイメージ属性と、前記基準属性と、名目量子化パラメータとに基づいて、前記複数のイメージを符号化するための量子化パラメータを特定するステップと、
c)前記特定された量子化パラメータに基づいて、前記複数のイメージを符号化するステップと、
d)前記複数のイメージ属性を特定するステップと、前記基準属性を特定するステップと、前記量子化パラメータを特定するステップと、前記符号化するステップとを、繰り返し実行して前記符号化を最適化するステップと、
を備え、
前記繰り返すステップでの、複数の異なる繰り返しにおいて、複数の異なる基準属性が使用される
ことを特徴とする方法。 - 前記複数のイメージ属性は、各々のイメージの少なくとも一部分に関する視覚マスキング強度であり、
前記視覚マスキング強度は、ビデオシーケンスが前記方法に従って符号化され復号化された後に、前記ビデオシーケンスの視聴者にとって認識できない符号化アーチファクトの量を推定するためのものである
ことを特徴とする請求項6に記載の方法。 - 前記複数のイメージ属性は、各々のイメージの少なくとも一部分に関する視覚マスキング強度であり、
イメージの一部分に関する視覚マスキング強度は、前記イメージの前記一部分に関する複雑性を示し、
イメージの一部分に関する前記複雑性を定量化する際に、前記視覚マスキング強度は、前記符号化するステップの結果生じる圧縮アーチファクトであって、復号化された後の前記符号化されていたイメージにおいて見える歪みの無い圧縮アーチファクトの量に関する指標を提供する
ことを特徴とする請求項6に記載の方法。 - 複数のイメージを符号化するためのコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、以下に列挙する命令セットを含むことを特徴とするコンピュータ読み取り可能な記憶媒体。
a)前記複数のイメージを符号化するための名目量子化パラメータを定義すること。
b)前記名目量子化パラメータに基づいて、少なくとも1つのイメージのための、少なくとも1つのイメージ固有の量子化パラメータを導出すること。
c)前記イメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化すること。
d)前記定義すること、前記導出すること、および前記符号化することを繰り返して前記符号化を最適化すること。 - 前記コンピュータプログラムは、以下に列挙する命令セットをさらに含むことを特徴とする請求項9に記載のコンピュータ読み取り可能な記憶媒体。
a)前記名目量子化パラメータに基づいて、複数のイメージのための複数のイメージ固有の量子化パラメータを導出すること。
b)前記複数のイメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化すること。
c)前記定義すること、前記名目量子化パラメータに基づいて、複数のイメージのための複数のイメージ固有の量子化パラメータを導出すること、および前記複数のイメージ固有の量子化パラメータに基づいて、前記複数のイメージを符号化することを繰り返して前記符号化を最適化すること。 - 前記コンピュータプログラムは、符号化の動作が終了の基準のセットを満たすと前記繰り返すことを停止する命令セットをさらに含むことを特徴とする請求項9に記載のコンピュータ読み取り可能な記憶媒体。
- 前記終了の基準のセットは、前記複数のイメージに関して許容できる符号化に関する識別情報を含むことを特徴とする請求項11に記載のコンピュータ読み取り可能な記憶媒体。
- 前記複数のイメージに関して許容できる符号化は、目標ビットレートに関して特定の範囲内に収まる、前記複数のイメージの符号化であることを特徴とする請求項12に記載のコンピュータ読み取り可能な記憶媒体。
- ビデオイメージのシーケンスを符号化する方法であって、
a)前記ビデオイメージのシーケンスを受信するステップと、
b)目標ビットレートを達成し、かつ、符号化されたビデオシーケンスをデコードする仮想参照デコーダの入力バッファを通る符号化されたデータの流れに関する制約のセットを満足しつつ、画質を最適化する符号化ソリューションを特定するために、前記ビデオイメージのシーケンスに対して複数の異なる符号化ソリューションを繰り返し試みるステップと、
を備えることを特徴とする方法。 - 前記繰り返し試みるステップは、各々の符号化ソリューションに関して、前記ビデオイメージのシーケンスにおけるあらゆるイメージセットに対して前記符号化ソリューションの処理を行っている間に前記仮想参照デコーダがアンダフローするか否かを判定するステップを備えることを特徴とする請求項14に記載の方法。
- 前記複数の異なる符号化ソリューションを繰り返し試みるステップは、
a)前記仮想参照デコーダの入力バッファの状態をシミュレートするステップと、
b)前記仮想参照デコーダにおける入力バッファの使用率を最大化しつつ画質を最適化するビット数を選択するために、前記シミュレートするステップを活用するステップと、
c)前記最適化された入力バッファの使用率を達成するために前記符号化されたビデオイメージを再符号化するステップと、
d)最適な符号化が特定されるまで、前記シミュレートするステップ、前記活用するステップ、および前記再符号化するステップを繰り返し実行するステップと、
を備えることを特徴とする請求項14に記載の方法。 - 前記仮想参照デコーダの入力バッファの状態をシミュレートするステップは、前記仮想参照デコーダが符号化されたデータを受信する速度を考慮するステップをさらに備えることを特徴とする請求項16に記載の方法。
- 前記仮想参照デコーダの入力バッファの状態をシミュレートするステップは、前記仮想参照デコーダの入力バッファのサイズを考慮するステップをさらに備えることを特徴とする請求項16に記載の方法。
- 前記仮想参照デコーダの入力バッファの状態をシミュレートするステップは、前記仮想参照デコーダの入力バッファからの初期除去遅延を考慮するステップをさらに備えることを特徴とする請求項16に記載の方法。
- a)前記繰り返し試みるステップの前に、バッファの前記流れに関連する前記制約のセットに基づかない初期符号化ソリューションを特定するステップと、
b)前記初期符号化ソリューションを使用して前記繰り返し試みるステップにおける最初の試みを開始するステップと、
をさらに備えることを特徴とする請求項14に記載の方法。 - 入力バッファを有する仮想参照デコーダを備えるシステムにおいてビデオイメージのシーケンスを符号化するためのコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、以下に列挙する命令セットを含むことを特徴とするコンピュータ読み取り可能な記憶媒体。
a)前記ビデオイメージのシーケンスを受信すること。
b)目標ビットレートを達成し、かつ、符号化されたビデオシーケンスをデコードする仮想参照デコーダの入力バッファを通る符号化されたデータの流れに関する制約のセットを満足しつつ、画質を最適化する符号化ソリューションを特定するために、前記ビデオイメージのシーケンスに対して複数の異なる符号化ソリューションを繰り返し試みること。 - 前記繰り返し試みる命令セットは、各々の符号化ソリューションに関して、前記ビデオイメージのシーケンスにおけるあらゆるイメージセットに対して前記符号化ソリューションの処理を行っている間に前記仮想参照デコーダがアンダフローするか否かを判定する命令セットを含むことを特徴とする請求項21に記載のコンピュータ読み取り可能な記憶媒体。
- 前記複数の異なる符号化ソリューション繰り返し試みる命令セットは、以下に列挙する命令セットをさらに含むことを特徴とする請求項21に記載のコンピュータ読み取り可能な記憶媒体。
a)前記仮想参照デコーダの入力バッファの状態をシミュレートすること。
b)前記仮想参照デコーダにおける入力バッファの使用率を最大化しつつ画質を最適化するビット数を選択するために、前記シミュレートすることを活用すること。
c)前記最適化された入力バッファの使用率を達成するために前記符号化されたビデオイメージを再符号化すること。
d)最適な符号化が特定されるまで、前記シミュレートすること、前記活用すること、および前記再符号化することを繰り返し実行すること。 - 前記仮想参照デコーダの入力バッファの状態をシミュレートする命令セットは、前記仮想参照デコーダが符号化されたデータを受信する速度を考慮する命令セットをさらに含むことを特徴とする請求項23に記載のコンピュータ読み取り可能な記憶媒体。
- 前記仮想参照デコーダの入力バッファの状態をシミュレートする命令セットは、前記仮想参照デコーダの入力バッファのサイズを考慮する命令セットをさらに含むことを特徴とする請求項23に記載のコンピュータ読み取り可能な記憶媒体。
- 前記仮想参照デコーダの入力バッファの状態をシミュレートする命令セットは、前記仮想参照デコーダの入力バッファからの初期除去遅延を考慮する命令セットをさらに含むことを特徴とする請求項23に記載のコンピュータ読み取り可能な記憶媒体。
- 前記コンピュータプログラムは、以下に列挙する命令セットをさらに含むことを特徴とする請求項21に記載のコンピュータ読み取り可能な記憶媒体。
a)前記繰り返し試みることの前に、バッファの前記流れに関連する前記制約のセットに基づかない初期符号化ソリューションを特定すること。
b)前記初期符号化ソリューションを使用して前記繰り返し試みることにおける最初の試みを開始すること。 - ビデオを符号化する方法であって、
a)前記ビデオのシーケンスにおける第1のイメージの第1の部分に関して、前記第1の部分の複雑性が原因で視聴者にとって認識できない符号化アーチファクトの度合いを定量化する、第1の視覚マスキング強度を特定するステップと、
b)前記特定された視覚マスキング強度に基づいて前記第1のイメージの少なくとも一部分を符号化するステップと、
を備えることを特徴とする方法。 - 前記視覚マスキング強度は、前記第1の部分の空間的複雑性を示すことを特徴とする請求項28に記載の方法。
- 前記空間的複雑性は、前記イメージの一部分に関するピクセル値の関数として計算されることを特徴とする請求項29に記載の方法。
- 前記第1の部分は、複数のピクセル、および各々のピクセルに対するイメージ値を有し、
前記第1の部分に関する前記視覚マスキング強度を特定するステップは、
a)前記第1の部分の前記ピクセルのイメージ値を推定するステップと、
b)前記第1の部分の前記ピクセルの前記イメージ値から前記統計的な属性を減算するステップと、
c)前記減算の結果に基づいて前記視覚マスキング強度を計算するステップと、
を備えることを特徴とする請求項30に記載の方法。 - 前記推定されたイメージ値は、前記第1の部分のピクセルのイメージ値に関する統計的な属性であることを特徴とする請求項31に記載の方法。
- 前記統計的な属性は、中央値であることを特徴とする請求項32に記載の方法。
- 前記推定されたイメージ値は、前記第1の部分のピクセルの近隣にあるピクセルに部分的に基づいていることを特徴とする請求項31に記載の方法。
- 前記視覚マスキング強度は、前記第1の部分の時間的複雑性を示すことを特徴とする請求項28に記載の方法。
- 前記時間的複雑性は、前記第1のイメージの前記第1の部分内に定義されたピクセル領域に関する動き補償された誤差信号の関数として計算されることを特徴とする請求項35に記載の方法。
- 前記時間的複雑性は、前記第1のイメージの前記第1の部分内に定義されたピクセル領域に関する動き補償された誤差信号と、他のイメージのセットにおける第2の部分のセット内に定義されたピクセルに関する動き補償された誤差信号と、の関数として計算されることを特徴とする請求項35に記載の方法。
- 前記他のイメージのセットは、1つのイメージのみを含むことを特徴とする請求項37に記載の方法。
- 前記他のイメージのセットは、複数のイメージを含むことを特徴とする請求項37に記載の方法。
- 前記動き補償された誤差信号は、混合された動き補償された誤差信号であり、
前記方法は、
a)各々の他のイメージに関する重み係数を定義するステップと、
b)前記第1のイメージ、および前記他のイメージのセットにおける各々のイメージに対して、個々の動き補償された誤差信号を計算するステップと、
c)前記重み係数を使用して、前記個々の動き補償された誤差信号から前記混合された動き補償された誤差信号を生成するステップと、
をさらに備え、
前記ビデオのシーケンスにおいて、前記第1のイメージに対して第2のイメージが第3のイメージよりも近い場合に、前記第2のイメージの重み係数は、前記第3のイメージの重み係数よりも大きい
ことを特徴とする請求項39に記載の方法。 - 前記第1のイメージを伴うシーンの一部ではない前記他のイメージのセットにおけるイメージのサブセットに関する重み係数が、前記イメージのサブセットを排除するために選択されることを特徴とする請求項40に記載の方法。
- 前記他のイメージのセットは、前記第1のイメージを伴うシーンの一部であるイメージのみを含み、他のシーンに関連するいかなるイメージも含まないことを特徴とする請求項37に記載の方法。
- 前記第2のイメージは、前記第1のイメージ以前に発生した過去のイメージのセット、および前記第1のイメージ以後に発生する将来のイメージのセットから選択されることを特徴とする請求項37に記載の方法。
- 前記視覚マスキング強度は、空間的複雑性の成分および時間的複雑性の成分を含み、
前記方法は、
前記空間的複雑性の成分と前記時間的複雑性の成分とを相互に比較するステップと、
前記視覚マスキング強度に対する前記空間的複雑性の成分の寄与および前記時間的複雑性の成分の寄与をそれぞれ許容することができる範囲に維持するために、所定の基準に基づいて、空間的複雑性の成分および時間的複雑性の成分を変更するステップと、
をさらに備えることを特徴とする請求項28に記載の方法。 - 前記時間的複雑性の成分は、所定のフレームに関するルックアヘッド範囲内の来るべきシーン変化を考慮に入れて調整されることを特徴とする請求項44に記載の方法。
- 前記視覚マスキング強度は、前記第1の部分の輝度属性を示すことを特徴とする請求項28に記載の方法。
- 前記輝度属性は、前記第1の部分の平均ピクセル輝度として計算されることを特徴とする請求項46に記載の方法。
- 前記第1の部分は、前記第1のイメージ全体であることを特徴とする請求項28に記載の方法。
- 前記第1の部分は、前記第1のイメージ全体よりも小さいことを特徴とする請求項28に記載の方法。
- 前記第1の部分は、前記第1のイメージ内のマクロブロックであることを特徴とする請求項49に記載の方法。
- ビデオを符号化するためのコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、以下に列挙する命令セットを含むことを特徴とするコンピュータ読み取り可能な記憶媒体。
a)前記ビデオのシーケンスにおける第1のイメージの第1の部分に関する複雑性を定量化する第1の視覚マスキング強度を特定すること。
b)前記特定された視覚マスキング強度に基づいて前記第1のイメージの少なくとも一部分を符号化すること。 - 前記視覚マスキング強度は、前記第1の部分の空間的複雑性が原因で視聴者にとって認識できない符号化アーチファクトの度合いを定量化することを特徴とする請求項51に記載のコンピュータ読み取り可能な記憶媒体。
- 前記視覚マスキング強度は、前記第1の部分の前記ビデオにおける動きが原因で視聴者にとって認識できない符号化アーチファクトの度合いを示し、
前記動きは、前記第1のイメージ、および前記第1のイメージの前後のイメージのセットによって捕捉される
ことを特徴とする請求項51に記載のコンピュータ読み取り可能な記憶媒体。 - 前記視覚マスキング強度は、空間的複雑性および時間的複雑性を含み、
前記コンピュータプログラムは、
前記空間的複雑性の成分と前記時間的複雑性の成分とを相互に比較する命令セットと、
前記視覚マスキング強度に対する前記空間的複雑性の成分の寄与および前記時間的複雑性の成分の寄与をそれぞれ許容することができる範囲に維持するために、基準のセットに基づいて、空間的複雑性の成分および時間的複雑性の成分を変更する命令セットと、
をさらに含むことを特徴とする請求項51に記載のコンピュータ読み取り可能な記憶媒体。 - 前記視覚マスキング強度は、空間的複雑性および時間的複雑性を含み、
前記コンピュータプログラムは、前記空間的複雑性の時間的傾向、およびイメージのセット中の前記時間的複雑性を平滑化することによって、前記空間的複雑性、および前記時間的複雑性を変更する命令セットをさらに含むことを特徴とする請求項54に記載のコンピュータ読み取り可能な記憶媒体。 - 前記時間的複雑性の成分は、所定のフレームに関するルックアヘッド範囲内の来るべきシーン変化を考慮に入れて調整されることを特徴とする請求項54に記載のコンピュータ読み取り可能な記憶媒体。
- 前記視覚マスキング強度の属性は、前記第1の部分に関する輝度属性を示すことを特徴とする請求項51に記載のコンピュータ読み取り可能な記憶媒体。
- ビデオを符号化する方法であって、
a)前記ビデオのシーケンスにおける第1のイメージの第1の部分に関して、前記第1の部分の複雑性が原因で視聴者にとって認識できない符号化アーチファクトの度合いを定量化する、第1の視覚マスキング強度を特定するステップと、
b)前記特定された視覚マスキング強度に基づいて前記第1のイメージの少なくとも一部分を符号化するステップと、
を備えることを特徴とする方法。 - 前記視覚マスキング強度は、前記第1の部分の空間的複雑性を示すことを特徴とする請求項58に記載の方法。
- 前記空間的複雑性は、前記イメージの一部分に関するピクセル値の関数として計算されることを特徴とする請求項59に記載の方法。
- 前記第1の部分は、複数のピクセル、および各々のピクセルに対するイメージ値を有し、
前記第1の部分に関する前記視覚マスキング強度を特定するステップは、
a)前記第1の部分の前記ピクセルのイメージ値を推定するステップと、
b)前記第1の部分の前記ピクセルの前記イメージ値から前記統計的な属性を減算するステップと、
c)前記減算の結果に基づいて前記視覚マスキング強度を計算するステップと、
を備えることを特徴とする請求項60に記載の方法。 - 前記推定されたイメージ値は、前記第1の部分のピクセルのイメージ値に関する統計的な属性であることを特徴とする請求項61に記載の方法。
- 前記統計的な属性は、中央値であることを特徴とする請求項62に記載の方法。
- 前記推定されたイメージ値は、前記第1の部分のピクセルの近隣にあるピクセルに部分的に基づいていることを特徴とする請求項61に記載の方法。
- 前記視覚マスキング強度は、前記第1の部分の時間的複雑性を示すことを特徴とする請求項58に記載の方法。
- 前記時間的複雑性は、前記第1のイメージの前記第1の部分内に定義されたピクセル領域に関する動き補償された誤差信号の関数として計算されることを特徴とする請求項65に記載の方法。
- 前記時間的複雑性は、前記第1のイメージの前記第1の部分内に定義されたピクセル領域に関する動き補償された誤差信号と、他のイメージのセットにおける第2の部分のセット内に定義されたピクセルに関する動き補償された誤差信号と、の関数として計算されることを特徴とする請求項65に記載の方法。
- 前記他のイメージのセットは、1つのイメージのみを含むことを特徴とする請求項67に記載の方法。
- 前記他のイメージのセットは、複数のイメージを含むことを特徴とする請求項67に記載の方法。
- 前記動き補償された誤差信号は、混合された動き補償された誤差信号であり、
前記方法は、
a)各々の他のイメージに関する重み係数を定義するステップと、
b)前記第1のイメージ、および前記他のイメージのセットにおける各々のイメージに対して、個々の動き補償された誤差信号を計算するステップと、
c)前記重み係数を使用して、前記個々の動き補償された誤差信号から前記混合された動き補償された誤差信号を生成するステップと、
をさらに備え、
前記ビデオのシーケンスにおいて、前記第1のイメージに対して第2のイメージが第3のイメージよりも近い場合に、前記第2のイメージの重み係数は、前記第3のイメージの重み係数よりも大きい
ことを特徴とする請求項69に記載の方法。 - 前記第1のイメージを伴うシーンの一部ではない前記他のイメージのセットにおけるイメージのサブセットに関する重み係数が、前記イメージのサブセットを排除するために選択されることを特徴とする請求項70に記載の方法。
- 前記他のイメージのセットは、前記第1のイメージを伴うシーンの一部であるイメージのみを含み、他のシーンに関連するいかなるイメージも含まないことを特徴とする請求項67に記載の方法。
- 前記第2のイメージは、前記第1のイメージ以前に発生した過去のイメージのセット、および前記第1のイメージ以後に発生する将来のイメージのセットから選択されることを特徴とする請求項67に記載の方法。
- 前記視覚マスキング強度は、空間的複雑性の成分および時間的複雑性の成分を含み、
前記方法は、
前記空間的複雑性の成分と前記時間的複雑性の成分とを相互に比較するステップと、
前記視覚マスキング強度に対する前記空間的複雑性の成分の寄与および前記時間的複雑性の成分の寄与をそれぞれ許容することができる範囲に維持するために、所定の基準に基づいて、空間的複雑性の成分および時間的複雑性の成分を変更するステップと、
をさらに備えることを特徴とする請求項58に記載の方法。 - 前記時間的複雑性の成分は、所定のフレームに関するルックアヘッド範囲内の来るべきシーン変化を考慮に入れて調整されることを特徴とする請求項74に記載の方法。
- 前記視覚マスキング強度は、前記第1の部分の輝度属性を示すことを特徴とする請求項58に記載の方法。
- 前記輝度属性は、前記第1の部分の平均ピクセル輝度として計算されることを特徴とする請求項76に記載の方法。
- 前記第1の部分は、前記第1のイメージ全体であることを特徴とする請求項58に記載の方法。
- 前記第1の部分は、前記第1のイメージ全体よりも小さいことを特徴とする請求項58に記載の方法。
- 前記第1の部分は、前記第1のイメージ内のマクロブロックであることを特徴とする請求項79に記載の方法。
- ビデオを符号化するためのコンピュータプログラムを記憶しているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、以下に列挙する命令セットを含むことを特徴とするコンピュータ読み取り可能な記憶媒体。
a)前記ビデオのシーケンスにおける第1のイメージの第1の部分に関する複雑性を定量化する第1の視覚マスキング強度を特定すること。
b)前記特定された視覚マスキング強度に基づいて前記第1のイメージの少なくとも一部分を符号化すること。 - 前記視覚マスキング強度は、前記第1の部分の空間的複雑性が原因で視聴者にとって認識できない符号化アーチファクトの度合いを定量化することを特徴とする請求項81に記載のコンピュータ読み取り可能な記憶媒体。
- 前記視覚マスキング強度は、前記第1の部分の前記ビデオにおける動きが原因で視聴者にとって認識できない符号化アーチファクトの度合いを示し、
前記動きは、前記第1のイメージ、および前記第1のイメージの前後のイメージのセットによって捕捉される
ことを特徴とする請求項81に記載のコンピュータ読み取り可能な記憶媒体。 - 前記視覚マスキング強度は、空間的複雑性および時間的複雑性を含み、
前記コンピュータプログラムは、
前記空間的複雑性の成分と前記時間的複雑性の成分とを相互に比較する命令セットと、
前記視覚マスキング強度に対する前記空間的複雑性の成分の寄与および前記時間的複雑性の成分の寄与をそれぞれ許容することができる範囲に維持するために、基準のセットに基づいて、空間的複雑性の成分および時間的複雑性の成分を変更する命令セットと、
をさらに含むことを特徴とする請求項81に記載のコンピュータ読み取り可能な記憶媒体。 - 前記視覚マスキング強度は、空間的複雑性および時間的複雑性を含み、
前記コンピュータプログラムは、前記空間的複雑性の時間的傾向、およびイメージのセット中の前記時間的複雑性を平滑化することによって、前記空間的複雑性、および前記時間的複雑性を変更する命令セットをさらに含むことを特徴とする請求項84に記載のコンピュータ読み取り可能な記憶媒体。 - 前記時間的複雑性の成分は、所定のフレームに関するルックアヘッド範囲内の来るべきシーン変化を考慮に入れて調整されることを特徴とする請求項84に記載のコンピュータ読み取り可能な記憶媒体。
- 前記視覚マスキング強度の属性は、前記第1の部分に関する輝度属性を示すことを特徴とする請求項81に記載のコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58341804P | 2004-06-27 | 2004-06-27 | |
US60/583,418 | 2004-06-27 | ||
US64391805P | 2005-01-09 | 2005-01-09 | |
US60/643,918 | 2005-01-09 | ||
US11/118,616 US8406293B2 (en) | 2004-06-27 | 2005-04-28 | Multi-pass video encoding based on different quantization parameters |
US11/118,604 US8005139B2 (en) | 2004-06-27 | 2005-04-28 | Encoding with visual masking |
US11/118,616 | 2005-04-28 | ||
US11/118,604 | 2005-04-28 | ||
PCT/US2005/022616 WO2006004605A2 (en) | 2004-06-27 | 2005-06-24 | Multi-pass video encoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011052098A Division JP5318134B2 (ja) | 2004-06-27 | 2011-03-09 | マルチパスのビデオ符号化 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008504750A true JP2008504750A (ja) | 2008-02-14 |
JP2008504750A5 JP2008504750A5 (ja) | 2008-07-10 |
JP4988567B2 JP4988567B2 (ja) | 2012-08-01 |
Family
ID=35783274
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007518338A Expired - Fee Related JP4988567B2 (ja) | 2004-06-27 | 2005-06-24 | マルチパスのビデオ符号化 |
JP2011052098A Expired - Fee Related JP5318134B2 (ja) | 2004-06-27 | 2011-03-09 | マルチパスのビデオ符号化 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011052098A Expired - Fee Related JP5318134B2 (ja) | 2004-06-27 | 2011-03-09 | マルチパスのビデオ符号化 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1762093A4 (ja) |
JP (2) | JP4988567B2 (ja) |
KR (3) | KR100997298B1 (ja) |
CN (3) | CN1926863B (ja) |
HK (1) | HK1101052A1 (ja) |
WO (1) | WO2006004605A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013536537A (ja) * | 2010-06-18 | 2013-09-19 | サムスン エレクトロニクス カンパニー リミテッド | マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042943B2 (en) | 2002-11-08 | 2006-05-09 | Apple Computer, Inc. | Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders |
US8406293B2 (en) | 2004-06-27 | 2013-03-26 | Apple Inc. | Multi-pass video encoding based on different quantization parameters |
US8005139B2 (en) | 2004-06-27 | 2011-08-23 | Apple Inc. | Encoding with visual masking |
US8208536B2 (en) | 2005-04-28 | 2012-06-26 | Apple Inc. | Method and apparatus for encoding using single pass rate controller |
KR100918499B1 (ko) * | 2007-09-21 | 2009-09-24 | 주식회사 케이티 | 멀티 패스 인코딩 장치 및 그 방법 |
EP2227020B1 (en) * | 2007-09-28 | 2014-08-13 | Dolby Laboratories Licensing Corporation | Video compression and transmission techniques |
EP2101503A1 (en) * | 2008-03-11 | 2009-09-16 | British Telecommunications Public Limited Company | Video coding |
US8908758B2 (en) | 2010-01-06 | 2014-12-09 | Dolby Laboratories Licensing Corporation | High performance rate control for multi-layered video coding applications |
EP2568704A4 (en) | 2010-05-06 | 2013-12-18 | Nippon Telegraph & Telephone | METHOD AND DEVICE FOR CONTROLLING VIDEO CODING |
US9179165B2 (en) | 2010-05-07 | 2015-11-03 | Nippon Telegraph And Telephone Corporation | Video encoding control method, video encoding apparatus and video encoding program |
JP5286581B2 (ja) | 2010-05-12 | 2013-09-11 | 日本電信電話株式会社 | 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム |
WO2013095627A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Content adaptive high precision macroblock rate control |
US9402082B2 (en) * | 2012-04-13 | 2016-07-26 | Sharp Kabushiki Kaisha | Electronic devices for sending a message and buffering a bitstream |
CN102946542B (zh) * | 2012-12-07 | 2015-12-23 | 杭州士兰微电子股份有限公司 | 已编著镜像视频区间码流重新编码及无缝接入方法和系统 |
EP2951999A4 (en) * | 2013-01-30 | 2016-07-20 | Intel Corp | CONTENT PARAMETRIC TRANSFORMATIONS FOR CODING VIDEOS OF THE NEXT GENERATION |
US20150071343A1 (en) * | 2013-09-12 | 2015-03-12 | Magnum Semiconductor, Inc. | Methods and apparatuses including an encoding system with temporally adaptive quantization |
US10313675B1 (en) | 2015-01-30 | 2019-06-04 | Google Llc | Adaptive multi-pass video encoder control |
US10742708B2 (en) | 2017-02-23 | 2020-08-11 | Netflix, Inc. | Iterative techniques for generating multiple encoded versions of a media title |
US11153585B2 (en) | 2017-02-23 | 2021-10-19 | Netflix, Inc. | Optimizing encoding operations when generating encoded versions of a media title |
US11184621B2 (en) * | 2017-02-23 | 2021-11-23 | Netflix, Inc. | Techniques for selecting resolutions for encoding different shot sequences |
US11166034B2 (en) | 2017-02-23 | 2021-11-02 | Netflix, Inc. | Comparing video encoders/decoders using shot-based encoding and a perceptual visual quality metric |
US10666992B2 (en) | 2017-07-18 | 2020-05-26 | Netflix, Inc. | Encoding techniques for optimizing distortion and bitrate |
CN109756733B (zh) * | 2017-11-06 | 2022-04-12 | 华为技术有限公司 | 视频数据解码方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08275176A (ja) * | 1995-03-31 | 1996-10-18 | Sony Corp | 量子化装置および量子化方法 |
JP2001501429A (ja) * | 1997-07-29 | 2001-01-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 可変ビットレートビデオ符号化方法及び対応するビデオ符号化装置 |
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
JP2001520854A (ja) * | 1998-02-20 | 2001-10-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ピクチャシーケンス符号化方法及び装置 |
JP2004166128A (ja) * | 2002-11-15 | 2004-06-10 | Pioneer Electronic Corp | 画像情報の符号化方法、符号化装置及び符号化プログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05167998A (ja) * | 1991-12-16 | 1993-07-02 | Nippon Telegr & Teleph Corp <Ntt> | 画像の符号化制御処理方法 |
US5956674A (en) * | 1995-12-01 | 1999-09-21 | Digital Theater Systems, Inc. | Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels |
FR2753330B1 (fr) * | 1996-09-06 | 1998-11-27 | Thomson Multimedia Sa | Procede de quantification pour codage video |
JPH10304311A (ja) * | 1997-04-23 | 1998-11-13 | Matsushita Electric Ind Co Ltd | 映像符号化装置及び映像復号化装置 |
US6278735B1 (en) * | 1998-03-19 | 2001-08-21 | International Business Machines Corporation | Real-time single pass variable bit rate control strategy and encoder |
US6289129B1 (en) * | 1998-06-19 | 2001-09-11 | Motorola, Inc. | Video rate buffer for use with push dataflow |
US6542549B1 (en) * | 1998-10-13 | 2003-04-01 | Matsushita Electric Industrial Co., Ltd. | Method and model for regulating the computational and memory requirements of a compressed bitstream in a video decoder |
US20020057739A1 (en) * | 2000-10-19 | 2002-05-16 | Takumi Hasebe | Method and apparatus for encoding video |
US6594316B2 (en) * | 2000-12-12 | 2003-07-15 | Scientific-Atlanta, Inc. | Method and apparatus for adaptive bit rate control in an asynchronized encoding system |
US6831947B2 (en) * | 2001-03-23 | 2004-12-14 | Sharp Laboratories Of America, Inc. | Adaptive quantization based on bit rate prediction and prediction error energy |
US7062429B2 (en) * | 2001-09-07 | 2006-06-13 | Agere Systems Inc. | Distortion-based method and apparatus for buffer control in a communication system |
JP3753371B2 (ja) * | 2001-11-13 | 2006-03-08 | Kddi株式会社 | 動画像圧縮符号化レート制御装置 |
US7027982B2 (en) * | 2001-12-14 | 2006-04-11 | Microsoft Corporation | Quality and rate control strategy for digital audio |
KR100468726B1 (ko) * | 2002-04-18 | 2005-01-29 | 삼성전자주식회사 | 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법 |
CN101390296A (zh) * | 2003-06-26 | 2009-03-18 | 汤姆森特许公司 | 多通路视频速率控制以匹配滑动窗口信道限制 |
-
2005
- 2005-06-24 WO PCT/US2005/022616 patent/WO2006004605A2/en not_active Application Discontinuation
- 2005-06-24 CN CN2005800063635A patent/CN1926863B/zh active Active
- 2005-06-24 KR KR1020097003420A patent/KR100997298B1/ko active IP Right Grant
- 2005-06-24 KR KR1020097003421A patent/KR100988402B1/ko active IP Right Grant
- 2005-06-24 CN CN201210271592.1A patent/CN102833538B/zh active Active
- 2005-06-24 KR KR1020067017074A patent/KR100909541B1/ko active IP Right Grant
- 2005-06-24 JP JP2007518338A patent/JP4988567B2/ja not_active Expired - Fee Related
- 2005-06-24 EP EP05773224A patent/EP1762093A4/en not_active Withdrawn
- 2005-06-24 CN CN201210271659.1A patent/CN102833539B/zh active Active
-
2007
- 2007-06-07 HK HK07106057.0A patent/HK1101052A1/xx not_active IP Right Cessation
-
2011
- 2011-03-09 JP JP2011052098A patent/JP5318134B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08275176A (ja) * | 1995-03-31 | 1996-10-18 | Sony Corp | 量子化装置および量子化方法 |
JP2001501429A (ja) * | 1997-07-29 | 2001-01-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 可変ビットレートビデオ符号化方法及び対応するビデオ符号化装置 |
US6192075B1 (en) * | 1997-08-21 | 2001-02-20 | Stream Machine Company | Single-pass variable bit-rate control for digital video coding |
JP2001520854A (ja) * | 1998-02-20 | 2001-10-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ピクチャシーケンス符号化方法及び装置 |
JP2004166128A (ja) * | 2002-11-15 | 2004-06-10 | Pioneer Electronic Corp | 画像情報の符号化方法、符号化装置及び符号化プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013536537A (ja) * | 2010-06-18 | 2013-09-19 | サムスン エレクトロニクス カンパニー リミテッド | マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置 |
US9071884B2 (en) | 2010-06-18 | 2015-06-30 | Samsung Electronics Co., Ltd. | Storage file format for multimedia streaming file, and storage method and client apparatus using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20090037475A (ko) | 2009-04-15 |
EP1762093A4 (en) | 2011-06-29 |
JP5318134B2 (ja) | 2013-10-16 |
CN102833538B (zh) | 2015-04-22 |
HK1101052A1 (en) | 2007-10-05 |
JP4988567B2 (ja) | 2012-08-01 |
CN1926863A (zh) | 2007-03-07 |
KR100909541B1 (ko) | 2009-07-27 |
CN102833539B (zh) | 2015-03-25 |
KR20090034992A (ko) | 2009-04-08 |
KR100988402B1 (ko) | 2010-10-18 |
WO2006004605B1 (en) | 2006-07-13 |
CN1926863B (zh) | 2012-09-19 |
EP1762093A2 (en) | 2007-03-14 |
JP2011151838A (ja) | 2011-08-04 |
CN102833539A (zh) | 2012-12-19 |
CN102833538A (zh) | 2012-12-19 |
KR20070011294A (ko) | 2007-01-24 |
KR100997298B1 (ko) | 2010-11-29 |
WO2006004605A2 (en) | 2006-01-12 |
WO2006004605A3 (en) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4988567B2 (ja) | マルチパスのビデオ符号化 | |
US8005139B2 (en) | Encoding with visual masking | |
US8811475B2 (en) | Multi-pass video encoding solution for buffer underflow | |
US10674158B2 (en) | Method and system of video coding optimization | |
US20190297347A1 (en) | Picture-level rate control for video encoding | |
US6529631B1 (en) | Apparatus and method for optimizing encoding and performing automated steerable image compression in an image coding system using a perceptual metric | |
JP5351040B2 (ja) | 映像符号化規格に対応した映像レート制御の改善 | |
US9667980B2 (en) | Content-adaptive background skipping for region-of-interest video coding | |
WO2007143876A1 (en) | Method and apparatus for adaptively determining a bit budget for encoding video pictures | |
US7274739B2 (en) | Methods and apparatus for improving video quality in statistical multiplexing | |
Overmeire et al. | Constant quality video coding using video content analysis | |
JP4273385B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP4379046B2 (ja) | 動画像符号化装置及び符号量制御方法 | |
JP4329452B2 (ja) | 動画像符号化装置、動画像符号化方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080508 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111007 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120105 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120315 |
|
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: 20120409 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4988567 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |