JP2004007649A - フェーディング補償のためのパラメータ化 - Google Patents

フェーディング補償のためのパラメータ化 Download PDF

Info

Publication number
JP2004007649A
JP2004007649A JP2003128415A JP2003128415A JP2004007649A JP 2004007649 A JP2004007649 A JP 2004007649A JP 2003128415 A JP2003128415 A JP 2003128415A JP 2003128415 A JP2003128415 A JP 2003128415A JP 2004007649 A JP2004007649 A JP 2004007649A
Authority
JP
Japan
Prior art keywords
parameter
computer
fading
readable medium
frame
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
JP2003128415A
Other languages
English (en)
Other versions
JP2004007649A5 (ja
JP4425563B2 (ja
Inventor
Sridhar Srinivasan
スリドハー スリニバサン
Shankar Regunathan
シャンカー レグナザン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004007649A publication Critical patent/JP2004007649A/ja
Publication of JP2004007649A5 publication Critical patent/JP2004007649A5/ja
Application granted granted Critical
Publication of JP4425563B2 publication Critical patent/JP4425563B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/17Methods 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/172Methods 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
    • 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/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/17Methods 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
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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
    • H04N19/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects

Abstract

【課題】ビデオ処理アプリケーションにおいてフェーディング補償を行うための技術およびツールを提供する。
【解決手段】例えば、ビデオエンコーダは、符号化中に、基準化パラメータおよびシフトパラメータを含むフェーディングパラメータを使って、1つまたは複数の基準画像にフェーディング補償を行う。ビデオデコーダは、復号中に、その1つまたは複数の基準画像に、対応するフェーディング補償を行う。
【選択図】    図5

Description

【0001】
【発明の属する技術分野】
本発明は、ビデオ処理アプリケーションにおいてフェーディング補償のためのパラメータ化に関するものである。例えば、ビデオエンコーダは、フェーディグパラメータに基づいて基準画像のフェーディング補償を行う。
【0002】
【従来の技術】
ディジタルビデオは、大容量の記憶および送信能力を消費する。代表的な生ディジタルビデオシーケンスは、1秒あたり15または30のフレームを含む。各フレームは、何万または何十万ものピクセル(画素とも呼ばれる)を含む。各ピクセルは、画像のごく小さい要素を表す。生の形では、コンピュータは、通例、24ビットで1ピクセルを表す。したがって、代表的な生ディジタルビデオシーケンスの1秒当たりのビット数、またはビットレートは、5百万ビット/秒またはそれ以上のことがある。
【0003】
ほとんどのコンピュータおよびコンピュータネットワークは、生ディジタルビデオを処理するための資源が不足している。この理由から、エンジニアは、圧縮(コーディングまたは符号化とも呼ぶ)を使って、ディジタルビデオのビットレートを低減させる。圧縮は可逆が可能であり、この場合、ビデオの品質が損なわれないが、ビデオの複雑さによってビットレートの低減は限定される。あるいは、圧縮は不可逆の場合もあり、この場合、ビデオの品質は損なわれるが、ビットレートの低減はより劇的である。圧縮解除は圧縮の逆を行う。
【0004】
一般に、ビデオ圧縮技術は、フレーム内圧縮およびフレーム間圧縮を含む。フレーム内圧縮技術は、一般にIフレームまたはキーフレームと呼ばれる個々のフレームを圧縮する。フレーム間圧縮技術は、一般に予測フレーム、PフレームまたはBフレームと呼ばれる、前および/または次のフレームを参照して、フレームを圧縮する。
【0005】
マイクロソフト社のウィンドウズ(登録商標)メディアビデオ、バージョン8(WMV8)は、ビデオエンコーダおよびビデオデコーダを含む。WMV8エンコーダは、フレーム内およびフレーム間圧縮を使用し、WMV8デコーダは、フレーム内およびフレーム間圧縮解除を使用する。
【0006】
A.WMV8におけるフレーム内圧縮
図1は、WMV8エンコーダにおける、キーフレーム中のピクセルブロック105に、ブロックに基づくフレーム内圧縮100を行う例を示す。例えば、WMV8エンコーダは、キービデオフレームを8×8のピクセルブロックに分割し、個々のブロックに8×8の離散コサイン変換(DCT)110を適用して、8×8のピクセルブロック105を8×8のDCT係数ブロック115に変換する。エンコーダは、DCT係数を量子化して(120)、8×8の量子化DCT係数ブロック125にする。次いで、エンコーダは、これにエントロピ符号化を行うための準備をする。
【0007】
エンコーダは、符号化されるブロックに隣接する、前に符号化されたブロック(例えば、隣接ブロック135)のDC係数136との差分として、DC係数126を符号化する。エンコーダエントロピは差分140を符号化する。図1は、隣接(左側の)ブロック135の左縦列137との差分147として符号化された、AC係数の左縦列127を示す。残りのAC係数は、量子化DCT係数ブロック125からのものである。
【0008】
エンコーダは、予測された量子化AC DCT係数の8×8ブロック145を1次元配列155にスキャン(150)し、次いで、エントロピが、ランレングスコーディング(160)の変動を使って、スキャンしたAC係数を符号化する。エンコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル165からエントロピコードを選択して、エントロピコード170を出力する。
【0009】
B.WMV8におけるフレーム間圧縮
WMV8エンコーダにおけるフレーム間圧縮は、ブロックに基づく動き補償予測コーディング、その後に残差の変換コーディングを使用する。図2および3は、WMV8エンコーダにおける、予測フレームに対するブロックに基づくフレーム間圧縮を示す。特に、図2は、予測フレーム210の動き推定を示し、図3は、予測フレームの、動きが推定されたブロックの予測残差の圧縮を示す。
【0010】
例えば、WMV8エンコーダは、予測フレームを8×8のピクセルブロックに分割する。4つの8×8ブロックのグループは、マクロブロックを形成する。各マクロブロックについて、動き推定プロセスが実行される。動き推定は、ピクセルマクロブロックの動きを、基準フレーム、例えば前に符号化された先行フレームに近づける。図2では、WMV8エンコーダは、予測フレーム210中のマクロブロック215の動きベクトルを計算する。動きベクトルを計算するために、エンコーダは、基準フレーム230のサーチエリア235中をサーチする。エンコーダは、サーチエリア235内で、予測フレーム210からのマクロブロック215を、様々な候補マクロブロックと比較して、ぴったりマッチする候補マクロブロックを見つける。エンコーダは、ぴったりマッチするマクロブロックを見つけた後、そのマッチするマクロブロックに動きベクトル(コード化されたエントロピ)を指定する情報を出力して、デコーダが復号中にそのマッチするマクロブロックを見つけることができるようにする。動き補償を使って予測フレーム210を復号する場合、デコーダは、動きベクトルを使い、基準フレーム230からの情報を使って、マクロブロック215の予測マクロブロックを計算する。マクロブロック215の予測が完全なことはめったにないので、エンコーダは、通常、予測マクロブロックとマクロブロック215自体の8×8ピクセルブロックの差(誤差または残差ブロックとも呼ぶ)を符号化する。
【0011】
図3は、WMV8エンコーダにおける誤差ブロック335の計算および符号化の例を示す。誤差ブロック335は、予測ブロック315と元のカレントブロック325の差である。エンコーダは、誤差ブロック335にDCT340を適用し、その結果、8×8の係数ブロック345が得られる。次いで、エンコーダはDCT係数を量子化し(350)、その結果、8×8の量子化DCT係数ブロック355が得られる。量子化のステップサイズは調整可能である。量子化の結果、精度が損なわれるが、係数の情報が完全に失われるわけではない。
【0012】
次いで、エンコーダは、8×8の量子化DCT係数ブロック355をエントロピ符号化する準備をする。エンコーダは、8×8のブロック355を64個の要素を有する1次元配列365にスキャンする(360)。それによって、係数は、一般に、低周波数から高周波数の順に並び、一般にゼロ値の長い列ができる。
【0013】
エンコーダエントロピは、ランレングスコーディング(370)の変動を使って、スキャンした係数を符号化する。エンコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル375からエントロピコードを選択して、エントロピコードを出力する。
【0014】
図4は、フレーム間コード化(inter−coded)ブロックのための対応する復号プロセス400の例を示す。DCT係数を量子化するために、再構築されたブロック475は、対応する元のブロックと同一ではない。この圧縮は不可逆である。
【0015】
図4について要約すると、デコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル415を用いた可変長復号可変長復号410、およびランレングス復号420を使って、予測残差を表すエントロピ符号化した情報を復号する。デコーダは、エントロピ復号した情報を記憶している1次元配列425を、2次元ブロック435に逆スキャンする(430)。デコーダは、データの逆量子化および逆離散コサイン変換の両方を行い(440)、その結果、再構築された誤差ブロック445が得られる。別個の動き補償の経路では、デコーダは、基準フレームからの変位に関する動きベクトル情報455を使って、予測ブロック465を計算する。デコーダは、予測ブロック465を再構築誤差ブロック445と結合して(470)、再構築ブロック475を形成する。
【0016】
元のフレームと再構築フレームの間の変化量を歪みといい、フレームのコード化に必要なビット数をそのフレームのレートという。歪みの量はレートにだいたい反比例する。言い換えれば、フレームのコード化に使用するビット数が少ない(圧縮率が高い)ほど歪みは大きくなり、またその反対も言える。
【0017】
C.従来の動きに基づくビデオ圧縮の限界
フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づいたビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化するのに相対的に多数のビットを必要とする。例えば、あるフレームから次のフレームで、フレーム中のオブジェクトがある方向にわずかに移動したビデオシーケンスについて考えてみよう。代表的なブロックマッチングの動き推定技術では、フェーディングのないビデオシーケンスにおいては、カレントフレーム中のあるブロックにぴったりするマッチを前のフレーム中に見つけ、結果として得られる動きベクトルを符号化することは簡単なことかもしれない。しかし、例えば、そのビデオシーケンス中で「フェードトゥブラック(fade−to−black)」が発生している場合には、カレントフレーム中のすべての輝度値が前のフレームに対して変化しており、それによって、ビデオエンコーダは、そのブロックにぴったりするマッチを見つけることができなくなる。フェーディングは、自然の照明の変化によってもシーケンス中に発生することがある。その他の遷移効果であるブレンディングおよびモーフィングも、簡単な動き推定/補償の有効性を低下させることがある。
【0018】
D.ビデオ圧縮および圧縮解除の標準
WMV8以外にも、ビデオ圧縮および圧縮解除に関するいくつかの国際標準がある。これらの標準には、動画エキスパートグループ(Motion Picture Experts Group)(MPEG)1、2および4の標準、および国際電気通信連合(International Telecommunication Union)(ITU)のH.261、H.262、H.263の標準が含まれる。これらの標準は、WMV8と同様、フレーム内圧縮とフレーム間圧縮の組み合わせを使っている。ただし、これらの標準は、一般に、使用している圧縮技術の詳細についてはWMV8とは異なる。例えば、符号化中に、画像の解像度を適応させて変更するために使用できる、予測の際に使用する基準画像再サンプリングモードについて記載している標準もある(例えば、非特許文献1参照)。
【0019】
ディジタルビデオにとってビデオ圧縮および圧縮解除がきわめて重要であることを考えれば、ビデオ圧縮および圧縮解除が盛んに開発されている分野であることも驚くことではない。しかし、これまでのビデオ圧縮および圧縮解除技術の利点が何であろうと、それらは次の技術およびツールの利点を備えてはいない。
【0020】
【非特許文献1】
Annex P of the H.263 standard
【0021】
【発明が解決しようとする課題】
ビデオ圧縮の目的の1つは、レート歪みパフォーマンスを改善すること、言い換えれば、より少ないビット数で同じ品質を達成すること、または同じビット数でより高い品質を達成することである。この目的を達成する1つの方法は、ビデオシーケンスの、符号化に相対的に多数ビットを必要とする部分を識別し、次いで、そのような部分をよりよく圧縮するための方法を見つけることである。ビデオシーケンスには、フェーディング、モーフィング、ブレンディングなどの効果を有する部分はあまりない。しかし、このような部分が発生した場合には、従来の動きに基づくビデオ圧縮方法が一般にそのような部分には有効ではないため、符号化に多数ビットを必要とする。
【0022】
【課題を解決するための手段】
したがって、簡単に言えば、詳細な説明は、フェードイン、フェードアウト、クロスフェード、またはその他のフェーディング、ブレンディング、またはモーフィング効果を含む、ビデオシーケンスのレート歪みパフォーマンスを改善するための様々な技術およびツールを対象としている。例えば、ビデオエンコーダは、フェーディングパラメータに基づいて基準フレームを調整することにより、カレントフレームのフェーディング補償を行う。これによって、基準フレームを使った動き補償がより効率的になる。ビデオデコーダは、基準フレームを調整することによってフェーディング補償を行う。特に、詳細な説明では、基準フレームの調整をパラメータ化するための効率的な方法について述べている。
【0023】
第1の技術およびツールのセットでは、ビデオエンコーダまたはデコーダは、基準化パラメータおよびシフトパラメータを含むフェーディングパラメータを取得する。ビデオエンコーダまたはデコーダは、基準ビデオ画像(フレーム、フィールド、またはオブジェクトプレーンなど)中のピクセル値(クロミナンス値や輝度値など)をフェーディングパラメータに関して再マップすることによってフェーディング補償を行い、これを、例えば、固定または可変長コードを使ってコード化することができる。場合によっては、基準化パラメータは対比パラメータであり、シフトパラメータは明度パラメータのことがある。フェーディングパラメータは、例えば、基準化パラメータを使ったピクセル値(クロミナンス値や輝度値など)の基準化を含む、ピクセルの線形変換を指定する。場合によっては、ピクセルの線形変換は、シフトパラメータを使ったピクセル値のシフトをさらに含むことがある。ビデオエンコーダまたはデコーダは、再マップした基準ビデオ画像に対する、カレントビデオ画像の少なくとも一部の動き補償を行う。
【0024】
第2の技術およびツールのセットでは、ビデオエンコーダまたはデコーダは、基準化パラメータおよびシフトパラメータからなるグローバル輝度変化補償パラメータを取得する。ビデオエンコーダまたはデコーダは、基準ビデオフレームの全てについて、グローバル輝度変化補償パラメータに関し、ピクセル値を再マップすることにより、グローバル輝度変化補償を行う。ビデオエンコーダまたはデコーダは、再マップした基準ビデオフレームに対して、カレントビデオフレームの少なくとも一部の動き補償を行う。
【0025】
様々な技術およびツールは、組み合わせても独立させても使用することができる。様々な実施形態は、説明した技術およびツールの1つまたは複数を実装する。
【0026】
さらなる特徴および利点は、添付の図面を参照しながら以下に続ける、様々な実施形態の詳細な説明から明らかになろう。
【0027】
【発明の実施の形態】
記載の実施形態は、フェーディング推定および/または補償のための技術およびツールに関する。フェーディング補償/推定を行わないと、フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づくビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化に相対的に多数のビットを必要とする。記載の実施形態は、このようなシーケンス中でフェーディング推定/補償を行うことによって、レート歪みパフォーマンスを改善する。様々な実施形態は、グローバル輝度変化パラメータを推定し、適用し、コード化し、かつ/または復号するための技術およびツールに関する。
【0028】
いくつかの実施形態では、フェーディング補償は、1つまたは複数の基準フレームにグローバル輝度変化を実施して、フェーディングを補償するステップを含む。グローバル輝度変化は、定義済み領域を対象とする輝度の変化である。定義済み領域は、フレーム、フレームの一部(例えば、フレーム中の個々のブロックまたはマクロブロック、あるいはフレーム中のマクロブロックのグループ)、あるいはコード化または復号された画像の、別の特定の一部であってよい。次いで、カレントフレームを、動き推定/補償によって、調整した1つまたは複数の基準フレームから予測する。あるいは、フェーディング補償は、ブレンディングやモーフィングなどの効果を補償するための、基準フレームへのグローバル変化を含む。一般に、フェーディング補償は、フェーディング(すなわち、フェードトゥブラックまたはフェードフロムブラック(fade−from−black))、ブレンディング、モーフィング、または、ピクセル値の強度に影響を与えるその他の自然または合成の照明の効果に対するいずれかの補償を含む。しかし、ここでは、文脈が明らかにそうではないことを示す場合を除き、一般性が損なわれることなく、グローバル輝度変化およびフェーディングという用語を相互交換可能に使用する。
【0029】
フレームにフェーディング補償を行うことの代案として、いくつかの実施形態では、フィールド、オブジェクト層、またはその他の画像にフェーディング補償を行う。
【0030】
いくつかの実施形態では、YUV色空間で、基準フレームの輝度およびクロミナンスのチャネルのピクセル値を調整することにより、フェーディング補償を行う。この調整は、輝度のピクセル値を基準化してシフトするステップと、クロミナンスのピクセル値を基準化してシフトするステップとを含む。あるいは、色空間が異なり(例えば、YIQまたはRGB)、かつ/または補償がその他の調整技術を使用する。
【0031】
エンコーダ/デコーダは、フレームごとのベースでフェーディング推定/補償を行う。あるいは、エンコーダ/デコーダは、特定のその他のベースで、または、1つまたは複数のブロックまたはマクロブロックなど、フレームの一部について、フェーディング推定/補償を行う。
【0032】
様々な技術およびツールは、組み合わせても、独立させても使用することができる。様々な実施形態は、記載の技術およびツールの1つまたは複数を実装する。これらの技術の動作を、一般に、説明のために特定の順番で記載してあるが、この記載方法は、特定の順序付けが必要とされる場合を除き、その動作順序を多少並べ替えた場合も含むことを理解されたい。例えば、順次に記載してある動作を、場合によっては、並べ替えることが可能であり、または同時に行われることが可能である。さらに、簡単にするために、流れ図には、一般に、特定の技術をその他の技術とともに使用することができる様々な方法を示していない。
【0033】
いくつかの実施形態では、ビデオエンコーダおよびデコーダが、ビットストリーム中で様々なフラグおよび信号を使用する。特定のフラグおよび信号を記載しているが、この記載方法は、フラグおよび信号の様々な表記法(例えば、1ではなく0)を含むことを理解されたい。
【0034】
I.コンピューティング環境
図5は、記載の実施形態のいくつかを実施することができる、適切なコンピューティング環境500の一般化した例を示す。技術およびツールは、多種多様な汎用または専用コンピューティング環境で実装できるので、コンピューティング環境500は、使用または機能の範囲に関して、何ら限定を示唆するものではない。
【0035】
図5を参照すると、コンピューティング環境500は、少なくとも1つの処理装置510およびメモリ520を含む。図5では、この最も基本的な構成530が破線で囲まれている。処理装置510は、コンピュータ実行可能命令を実行し、実または仮想プロセッサであってよい。多重処理システムでは、処理能力を向上させるために、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ520は揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリなど)、またはこれらの2種類の特定の組み合わせであってよい。メモリ520は、ビデオエンコーダまたはデコーダなど、エンコーダまたはデコーダを実装するソフトウェア580を記憶している。
【0036】
コンピューティング環境はさらなる特徴を持つ場合がある。例えば、コンピューティング環境500は、記憶装置540、1つまたは複数の入力装置550、1つまたは複数の出力装置560、および1つまたは複数の通信接続570を含む。バス、コントローラ、またはネットワークなどの相互接続メカニズム(図示せず)は、コンピューティング環境500のコンポーネントを相互接続する。一般に、オペレーティングシステムソフトウェア(図示せず)は、コンピューティング環境500中で実行するその他のソフトウェアに動作環境を提供し、コンピューティング環境500のコンポーネントの活動を調整する。
【0037】
記憶装置540は、リムーバブルまたは非リムーバブルであってよく、磁気ディスク、磁気テープまたはカセット、CD−ROM、DVD、または、情報を記憶するために使用することができ、コンピューティング環境500内でアクセスすることができるいずれかのその他の媒体を含む。記憶装置540は、エンコーダまたはデコーダを実行するソフトウェア580の命令を記憶する。
【0038】
入力装置550は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力装置、音声入力装置、スキャン装置、またはコンピューティング環境500に入力を供給する他の装置であってよい。オーディオまたはビデオの符号化用として、入力装置550は、サウンドカード、ビデオカード、TVチューナカード、またはオーディオまたはビデオ入力をアナログまたはディジタルの形で受け付ける同様の装置、あるいはオーディオまたはビデオサンプルをコンピューティング環境500内に読み込むCD−ROMまたはCD−RWであってよい。出力装置560は、ディスプレイ、プリンタ、スピーカ、CDライタ、またはコンピューティング環境500から出力を供給する他の装置であってよい。
【0039】
通信接続570は、通信媒体を介した、別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオまたはビデオの入力または出力、あるいはその他のデータなどの情報を、変調データ信号で運ぶ。変調データ信号は、信号中の情報を符号化するように、その特性の1つまたは複数が設定または変更された信号である。例として、通信媒体には、電気、光、RF、赤外線、音響、またはその他の搬送波を用いて実装した有線または無線技術が非限定的に含まれる。
【0040】
技術およびツールを、コンピュータ可読媒体の一般的な状況で説明することができる。コンピュータ可読媒体は、コンピュータ環境内でアクセスできる任意の利用可能な媒体である。例として、コンピューティング環境500の場合、コンピュータ可読媒体には、メモリ520、ストレージ540、通信媒体、および上記のいずれかの組み合わせが非限定的に含まれる。
【0041】
技術およびツールを、プログラムモジュール中に含まれる命令など、コンピューティング環境中のターゲットとする実または仮想プロセッサ上で実行されるコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。様々な実施形態では、プログラムモジュールの機能を、プログラムモジュール間で所望するように結合または分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行することができる。
【0042】
説明のために、詳細な説明では、コンピューティング環境におけるコンピュータの動作を記載するのに、「推定する」、「信号を送る」、「符号化する」、「復号する」などの用語を使っている。これらの用語は、コンピュータが実行する動作の高レベルな抽象概念であり、人間が実行する動作と混同してはならない。これらの用語に対応する実際のコンピュータの動作は、実装により異なる。
【0043】
II.汎用型ビデオエンコーダおよびデコーダ
図6は汎用型ビデオエンコーダ600の構成図であり、図7は汎用型ビデオデコーダ700の構成図である。
【0044】
エンコーダおよびデコーダ内のモジュールの間に示す関係は、エンコーダおよびデコーダ内の情報の主な流れを表し、簡略にするため、その他の関係は示していない。特に、図6および7は、ビデオシーケンス、フレーム、マクロブロック、ブロックなどのために使用する、エンコーダの設定、モード、テーブルなどを表す補助的情報を示していない。このような補助的情報は、一般にエントロピ符号化を行った後、出力ビットストリームで送られる。出力ビットストリームのフォーマットは、ウィンドウズ(登録商標)メディアビデオフォーマットまたは別のフォーマットでよい。
【0045】
エンコーダ600およびデコーダ700は、ブロックに基づき、4:2:0のマクロブロックフォーマットを使用する。各マクロブロックフォーマットは、4つの8×8の輝度ブロック(1つの16×16のマクロブロックとして扱うことがある)および2つの8×8クロミナンスブロックを含む。あるいは、エンコーダ600およびデコーダ700は、オブジェクトに基づき、異なるマクロブロックまたはブロックフォーマットを使用し、または、8×8ブロックおよび16×16マクロブロックとは異なるサイズまたは構成のピクセルセット上で動作する。
【0046】
実装および所望の圧縮のタイプに応じて、エンコーダまたはデコーダのモジュールを追加し、省略し、複数のモジュールに分割し、他のモジュールと結合し、かつ/または同様のモジュールと置き換えることができる。別の実施形態では、異なるモジュールおよび/またはその他のモジュール構成を有するエンコーダまたはデコーダが、記載の技術の1つまたは複数を実施する。
【0047】
A.ビデオエンコーダ
図6は、一般的なビデオエンコーダシステム600の構成図である。エンコーダシステム600は、カレントフレーム605を含むビデオフレームのシーケンスを受け取り、出力として圧縮ビデオ情報695を生成する。ビデオエンコーダの特定の実施形態は、一般に、汎用エンコーダ600の変形または補足バージョンを使用する。
【0048】
エンコーダシステム600は、予測フレームおよびキーフレームを圧縮する。説明のために、図6は、エンコーダシステム600を通るキーフレームの経路、および順方向予測フレームの経路を示す。エンコーダシステム600のコンポーネントの多くは、キーフレームおよび予測フレームの両方を圧縮するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮される情報のタイプに応じて異なる。
【0049】
予測フレーム(Pフレーム、双方向予測の場合はBフレーム、またはフレーム間コード化フレームとも呼ぶ)は、1つまたは複数の他のフレームからの予測(またはそれらとの差)に関して表される。予測残差は、予測されたものと元のフレームの差である。これに対し、キーフレーム(Iフレーム、フレーム内コード化(intra−coded)フレームとも呼ぶ)は、他のフレームを参照することなく圧縮される。
【0050】
カレントフレーム605が順方向予測フレームの場合、動き推定器610は、カレントフレーム605のマクロブロックまたはその他のピクセルセットの、基準フレームに関する動きを推定する。基準フレームは、フレーム記憶装置620中に一時的に記憶されている、再構築した前のフレーム625である。別の実施形態では、基準フレームは後のフレームであり、またはカレントフレームが双方向に予測される。動き推定器610は、動きベクトルなどの動き情報615を補助情報として出力する。動き補償器630は、再構築した前のフレーム625に動き情報615を適用して、動き補償済みのカレントフレーム635を形成する。しかし、予測が完全なことはめったになく、動き補償カレントフレーム635と元のカレントフレーム605の差は予測残差645である。あるいは、動き推定器および動き補償器は別のタイプの動き推定/補償を適用する。
【0051】
周波数変換器660は、空間領域のビデオ情報を、周波数領域(すなわちスペクトル)データに変換する。ブロックに基づくビデオフレームの場合、周波数変換器660は、離散コサイン変換(DCT)またはDCTの変形を、動き予測残差データのブロックに適用して、DCT係数ブロックを生成する。あるいは、周波数変換器660は、フーリエ変換など、別の従来の周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、周波数変換器660は、キーフレームの空間予測残差のブロックに周波数変換を適用する。周波数変換器660は、8×8、8×4、4×8またはその他のサイズの周波数変換を適用することができる。
【0052】
次いで、量子化器670が、スペクトルデータ係数のブロックを量子化する。量子化器は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、均一なスカラー量子化をスペクトルデータに適用する。あるいは、量子化器は、別のタイプの量子化、例えば不均一なベクトルまたは非適応的量子化を、スペクトルデータ係数に適用し、または、周波数変換を使用しないエンコーダシステム中の空間領域データを直接、量子化する。適応量子化に加えて、エンコーダ600は、フレームドロップ、適応フィルタリング、またはレート制御のためのその他の技術を使用することができる。
【0053】
その後の動き推定/補償のために構築したカレントフレームが必要な場合には、逆量子化器676が、量子化したスペクトルデータ係数に逆量子化を実施する。次いで、逆周波数変換器666が、周波数変換器660の動作の逆を実行して、再構築した予測残差(予測フレームの)または再構築したキーフレームを生成する。カレントフレーム605がキーフレームだった場合には、再構築したキーフレームが再構築したカレントフレーム(図示せず)としてとられる。カレントフレーム605が予測フレームだった場合には、再構築した予測残差が動き補償カレントフレーム635に追加されて、再構築したカレントフレームを形成する。フレーム記憶装置620は、次のフレームの予測に使用するために、再構築したカレントフレームを一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
【0054】
エントロピコーダ680は、特定の補助的情報(例えば、動き情報615、量子化ステップサイズ)だけでなく、量子化器670の出力も圧縮する。代表的なエントロピコーディング技術には、算術コーディング、差分コーディング、ハフマンコーディング、ランレングスコーディング、LZコーディング、辞書型コーディング、および上記の組み合わせが含まれる。エントロピコーダ680は、一般に、異なる種類の情報(例えば、DC係数、AC係数、様々な種類の補助的情報)に合わせて異なるコーディング技術を使用し、特定のコーディング技術内で、複数のコードテーブルから選択することができる。
【0055】
エントロピコーダ680は、圧縮ビデオ情報695をバッファ690内に置く。バッファレベル標識が、ビットレート適応モジュールにフィードバックされる。圧縮ビデオ情報695は、一定または比較的一定のビットレートでバッファ690から出され、そのビットレートで後続ストリーミングのために記憶される。あるいは、エンコーダシステム600は、圧縮ビデオ情報を、圧縮後、直ちに流す。
【0056】
バッファ690の前または後で、圧縮ビデオ情報695を、ネットワーク上に伝送するためにチャネルコーディングを施すことができる。このチャネルコーディングは、圧縮ビデオ情報695に誤差検出および訂正データを適用する。
【0057】
B.ビデオデコーダ
図7は、一般的なビデオデコーダシステム700の構成図である。デコーダシステム700は、圧縮したビデオフレームシーケンスの情報795を受け取り、再構築したフレーム705を含む出力を生成する。ビデオデコーダの特定の実施形態は、一般に、汎用型デコーダ700の変形または補足版を使用する。
【0058】
デコーダシステム700は、予測フレームおよびキーフレームを圧縮解除する。説明のために、図7は、デコーダシステム700を通るキーフレームの経路、および順方向予測フレームの経路を示す。デコーダシステム700のコンポーネントの多くは、キーフレームおよび予測フレームの両方を圧縮解除するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮されている情報のタイプに応じて異なる。
【0059】
バッファ790は、圧縮ビデオシーケンスの情報795を受け取り、受け取った情報をエントロピデコーダ780が利用できるようにする。バッファ790は、一般に、時間が経ってもだいたい一定の速度で情報を受け取り、帯域幅または伝送の短期的な変動を滑らかにする、ジッタバッファを含む。バッファ790には、再生バッファおよびその他のバッファも含めることができる。あるいは、バッファ790は、変化する速度で情報を受け取る。バッファ790の前または後で、圧縮したビデオ情報にチャネルチャネルデコーディングを施し、誤差検出および訂正のために処理することができる。
【0060】
エントロピデコーダ780は、一般にエンコーダ中で実施されたエントロピ符号化の逆を適用することにより、エントロピコード化した量子化データおよびエントロピコード化した補助的情報(例えば、動き情報715、量子化ステップサイズ)をエントロピ復号する。エントロピ復号技術には、算術復号、差分復号、ハフマン復号、ランレングス復号、LZ復号、辞書型復号、および上記の組み合わせが含まれる。エントロピデコーダ780は、しばしば、異なる種類の情報(例えば、DC係数、AC係数、異なる種類の補助的情報)に合わせて異なる復号技術を使用し、特定の復号技術内で、複数のコードテーブルから選択することができる。
【0061】
再構築するフレーム705が順方向予測フレームの場合、動き補償器730は、基準フレーム725に動き情報715を適用して、再構築するフレーム705の予測735を形成する。例えば、動き補償器730は、マクロブロックの動きベクトルを使って、基本フレーム725中のマクロブロックを見つける。フレームバッファ720は、基準フレームとして使用するために、前の再構築したフレームを記憶している。あるいは、動き補償器は、別のタイプの動き補償を適用する。動き補償器による予測が完全なことはめったになく、デコーダ700は、予測残差も再構築する。
【0062】
デコーダがその後の動き補償のために再構築したフレームを必要とする場合、フレーム記憶装置720は、再構築したカレントフレームを、次のフレームの予測で使用するために一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
【0063】
逆量子化器770は、エントロピ復号したデータを逆量子化する。一般に、逆量子化器は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、エントロピ復号したデータに均一なスカラー逆量子化を適用する。あるいは、逆量子化器は、別のタイプの逆量子化、例えば不均一なベクトルまたは非適応的量子化をデータに適用し、または、逆周波数変換を使用しないデコーダシステム中の空間領域データを直接、逆量子化する。
【0064】
逆周波数変換器760は、量子化した周波数領域データを、空間領域のビデオ情報に変換する。ブロックに基づくビデオフレームの場合、逆周波数変換器760は、DCT係数ブロックに逆DCT(IDCT)またはIDCTの変形を適用して、動き予測残差データを生成する。あるいは、逆周波数変換器760は、フーリエ変換など、別の従来の逆周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、逆周波数変換器760は、逆周波数変換をキーフレームの空間予測残差のブロックに適用する。逆周波数変換器760は、8×8、8×4、4×8またはその他のサイズの逆周波数変換を適用することができる。
【0065】
III.グローバル輝度変化の推定/補償
記載したいくつかの実施形態は、少数のパラメータで記述されたグローバル輝度変化の推測、適用、コード化および/または復号のための技術およびツールを必要とする。それらのツールおよび技術は、再構築したビデオの同じ主観的および客観的品質がより低いビットレートで達成されることを可能にする。個々のツールまたは技術のそれぞれは、1)グローバル輝度変化補償スキーム、2)グローバル輝度パラメータのパラメータ化、3)グローバル輝度パラメータの計算上有効な推定/抽出、4)グローバル輝度変化があるフレームの低コストの信号通知、および5)グローバル輝度パラメータの低コスト信号通知の1つまたは複数を実現する。輝度変化は、フレーム、フィールド、例えば個々のブロック、個々のマクロブロック、またはマクロブロックのグループなど、フレーム/フィールドの一部、あるいは画像の他の特定の部分に対してグローバルであり得る。以下の説明の多くは、全フレーム中の輝度変化のパラメータ化および補償について述べているが、輝度変化補償のための同じフレームワークを、(a)画像の一部分(例えば、個々のブロックまたはマクロブロック)中のフェーディングの存在を判定すること、(b)この部分内のフェーディングパラメータを計算すること、および(c)画像の所与の一部分について、これらのフェーディングパラメータをパラメータ化して、伝送することに使用することができる。これらの技術を、画像の複数の部分について繰り返すことができる。
【0066】
グローバル輝度の変化(「フェーディング」としても知られる)は、シーンの明度および/または対比における変化のことがある。一般に、この変化は線形である。しかし、フェーディングを、同じフレームワーク内のいずれかの滑らかで非線形のマッピングを含むものとしても定義できる。フェーディング、モーフィング、ブレンディングは、ビデオコンテントの作成において、シーンの遷移に伴うビデオフレームの進展を滑らかにするために、また、特殊な効果を与えるために、ビデオの作成において広く使用されている。さらに、ある種のシーケンスでは、照明の変化によって自然にフェーディングが発生する。フェーディング、モーフィング、ブレンディングなどの効果を伴うビデオフレームは、一般にこのようなフレームには有効ではない、従来の動きに基づくビデオ圧縮方法では、符号化するのに相対的に多数のビットを必要とする。
【0067】
A.グローバル輝度変化補償スキーム
図8は、グローバル輝度変化補償を使ってビデオを符号化するための技術800を示す。図6に示すエンコーダ600などのエンコーダは、技術800を実施することができる。
【0068】
最初に、エンコーダは、ビデオシーケンス中の符号化されるカレントフレームなど、符号化するフレーム中のフェーディングをチェックする(810)。エンコーダは、フレームのフェーディングを検出すると(810)、フェーディングパラメータを取得する(820)。例えば、エンコーダは、後でセクションC.で説明するようにフェーディングを検出し、フェーディングパラメータを取得する。あるいは、エンコーダは、異なる技術を使ってフェーディングを検出し、かつ/またはパラメータを取得する。エンコーダは、フェーディング補償がオンまたはオフかを信号通知し、オンの場合は、フェーディングパラメータも信号通知する。
【0069】
フレームにフェーディングが検出されると、エンコーダは、次いで、例えば後のセクションB.で説明しているように、そのフレームの1つまたは複数の基準フレームに対してフェーディング補償を行う(830)。エンコーダが複数の基準フレームに対してフェーディング補償を行う場合、その複数の基準フレームは、符号化されるフレームの前または後(再生順で)のものであってよい。エンコーダは、符号化されるフレームのどの部分が、複数の基準フレームのどれから補償されるのかを信号通知する。この信号通知については、エンコーダは、すでにこのようなシステムで基準フレームの選択に使用している信号通知を使用することができる。いくつかの実施形態では、エンコーダは、符号化するフレームの動き推定/補償で、元の基準フレームおよび再マップした基準フレームの両方を使用することができる。エンコーダは、例えばフェードしているコンテントとフェードしていないオーバレイの両方を有するカレントフレームを符号化するために、これを行うことがある。
【0070】
フェーディング補償の後、エンコーダは、動き推定/補償を使って、調整した基準フレームからフレームを符号化する(840)。エンコーダは、フェーディングを検出しないと、フェーディングパラメータを取得することなく、またはフェーディング補償を行うことなく、フレームを符号化する(840)。符号化が終わると(850)、プロセスは終了する。
【0071】
図9は、フェーディング補償を使って符号化したビデオを復号するための技術900を示す。図7に示すデコーダ700などのデコーダは、技術900を実施することができる。
【0072】
最初に、デコーダは、復号するフレームのフェーディングがオンかオフかをチェックする(910)。このチェックを行う方法の1つは、エンコーダが送る信号通知情報をチェックすることである。デコーダは、フレームのフェーディングがオンであると判断すると(910)、フェーディング補償を行う(920)。例えば、デコーダは、エンコーダが送るフェーディングパラメータを取得して、復号するフレームの1つまたは複数の基準フレームに対してフェーディング補償を行う(エンコーダで行われたように)。
【0073】
デコーダは、次いで、例えば、動き補償を使って、調整した基準フレームからフレームを復号する(930)。フェーディングがオフの場合、デコーダは、フェーディング補償を行うことなくフレームを復号する(930)。復号が終わると(940)、プロセスは終了する。
【0074】
図10は、グローバル輝度変化補償を行うための例示的エンコーダフレームワーク1000を示す。このフレームワーク1000では、エンコーダは、フェーディング推定によって取得したパラメータを使って、基準フレームを条件付きで再マップする。エンコーダは、かなりの確実性および一貫性があるフェーディングをフレームに検出すると、再マッピングまたはフェーディング補償を行う。検出しないと、フェーディング補償は同一の動作(すなわち、出力=入力)である。
【0075】
図10を参照すると、エンコーダは、フェーディング検出モジュール1030を使ってカレントフレーム1010を基準フレーム1020と比較し、フェーディングが発生しているかどうかを判定する。いくつかの実施形態では、基準フレームが、ビデオシーケンス中のカレントフレームの前のフレームである。あるいは、基準フレームが前のフレームよりもさらに早いフレーム、またはカレントフレームの後のフレームである。複数の基準フレームを使用する場合、エンコーダは、各基準フレーム中のフェーディングをチェックすることができる。エンコーダは、フェーディングの検出の結果に基づき、「フェーディングオン」または「フェーディングオフ」信号1040を生成する。
【0076】
フェーディングがオンの場合、フェーディング推定モジュール1050が、カレントフレーム1010および基準フレーム1020の上で実行された計算に基づいて、フェーディングパラメータ1060を推定する。(いくつかの実施形態におけるフェーディング推定の詳細を、後のセクションC.で説明する。)
【0077】
フェーディング補償モジュール1070は、フェーディングパラメータ1060を使って、基準フレーム1020(または複数の基準フレーム)を再マップする。エンコーダは、次いで、その他のエンコーダモジュール1080(例えば、動き推定および補償、周波数変換器、および量子化モジュール)を使って、フレームを圧縮する。エンコーダは、動きベクトル、残差、および符号化したカレントフレーム1010を定義するその他の情報1090を出力する。並進動きベクトルを使った動き推定/補償の他に、グローバル輝度変化補償のフレームワークを、多種多様の動き補償に基づくビデオコーデックに適用することができる。
【0078】
図11は、グローバル輝度変化補償を行うための例示的デコーダフレームワーク1100を示す。デコーダは、復号したカレントフレーム1110を生成する。符号化されたフェーディング補償フレームを復号するために、デコーダは、フェーディング補償モジュール1130を使って、前に復号した基準フレーム1120(または複数の基準フレーム)に対してフェーディング補償を行う。
【0079】
フェーディングオン/オフ信号1140が、符号化されたカレントフレーム1110のフェーディングがオンであることを表す場合、デコーダは基準フレーム1120に対してフェーディング補償を行う。デコーダは、フェーディング推定中に取得したフェーディングパラメータ1150を使用して、フェーディング補償を行う(エンコーダで行われたように)。そうでない場合(カレントフレームのフェーディングがオフである場合)、フェーディング補償は同一の動作(すなわち、出力=入力)である。
【0080】
デコーダは、次いで、その他のデコーダモジュール1160(例えば、動き補償、逆周波数変換器、および逆量子化モジュール)を使って、符号化されたフレームを動きベクトル、残差、およびエンコーダが供給するその他の情報1170を用いて圧縮解除することができる。
【0081】
B.パラメータ化および補償
ビデオ編集においては、単純なピクセルの線形変換を輝度およびクロミナンスチャネルに適用することによって、合成フェーディングが実現されることがある。同様に、時間とともに変化する合成で、クロスフェーディングが2つのビデオシーケンスの線形和として実現されることがある。したがって、いくつかの実施形態では、図10のフレームワーク1000中に示すものなどのエンコーダが、フェーディング(自然であろうと合成であろうと)をピクセルの線形変換としてパラメータ化し、クロスフェーディングを線形和としてパラメータ化し、図11のフレームワーク1100中に示すものなどのデコーダが対応する変換を行う。
【0082】
I(n)をフレームnの画像とし、I(n−1)をその前のフレームの画像とする。動きが小さい場合、単純なフェーディングは、式1の1次の関係でモデル化される。(式1中の関係は、ビデオシーケンス中の可能性ある動きのために近似関係である。)
【0083】
【数1】
Figure 2004007649
【0084】
式中、フェーディングパラメータBおよびCは、それぞれ明度および対比に対応する。非線形フェーディングが発生すると、1次成分は、一般に、変化の大きさを表す。
【0085】
画像シーケンスU(n)から画像シーケンスV(n)までのクロスフェードは、式2の関係でモデル化することができる。式2の関係は、シーケンス中の可能性ある動きのために、近似関係である。
【0086】
【数2】
Figure 2004007649
【0087】
【数3】
Figure 2004007649
【0088】
はクロスフェードの開始を表し、
【0089】
【数4】
Figure 2004007649
【0090】
は、クロスフェードの終了を表す。いくつかのフレームにわたるクロスフェードの場合、αは小さい。クロスフェードの開始時、n番目のフレームは、n−1版目のフレームの減衰した(対比<1)バージョンに接近している。終了に向かって、n番目のフレームは、n−1番目のフレームの増幅した(対比>1)バージョンである。言い換えれば、クロスフェードの開始時には、n番目のフレームを、対比値1−αによって基準化されたn−1番目のフレームとしてモデル化することができ、クロスフェードの終了時には、n番目のフレームを、対比値1+αによって基準化されたn−1番目のフレームとしてモデル化することができる。式2は、クロスフェードの開始時および終了時に、エンコーダが、線形則(下記の式3および4に示すものなど)を使って、基準フレーム(例えば、n−1番目のフレーム)を再マップすることによりn番目のフレームを取得することを示す。
【0091】
エンコーダは、基準フレームを再マップすることによって、グローバル輝度変化の補償を実行する。エンコーダは、ピクセルごとのベース、または特定のその他のベースで、基準フレームを再マップする。元の再マップされていない基準フレームは、基本的に破棄される(ただし、基準フレームが複数のシナリオでは、再マップされていない基準フレームも使用することができる)。
【0092】
次の線形則は式1に基づき、2つのパラメータBおよびC(シーンの明度および対比に対応)に関して、基準フレームRの輝度値を、再マップされた基準フレーム
【0093】
【数5】
Figure 2004007649
【0094】
に再マップする。
【0095】
【数6】
Figure 2004007649
【0096】
基準フレームの輝度値は、対比値で基準化(または「重み付け」)され、明度値だけシフトされる(すなわち、オフセットを加算することによって)。クロミナンスについては、次の規則に従って再マップを行う。
【0097】
【数7】
Figure 2004007649
【0098】
式中、μは、クロミナンス値の平均である。一実施形態では、128を、符号なし8ビット表示のクロミナンス値の平均とみなす。このクロミナンスの再マップの規則は、明度の成分を使用しない。
【0099】
いくつかの実施形態では、式3および4で使用している2パラメータの線形再マップを、より高次の項に拡張している。例えば、式5は、輝度値Rを
【0100】
【数8】
Figure 2004007649
【0101】
に再マップする2次式である。
【0102】
【数9】
Figure 2004007649
【0103】
他の実施形態は、他の再マップ規則を使用している。このような再マップ規則のカテゴリの1つでは、非線形フェーディングの場合には、線形マッピングが非線形マッピングに置き換えられる。
【0104】
C.フェーディングパラメータの推定
フェーディング推定は、符号化プロセス中にフェーディングパラメータを計算するプロセスである。図10のフレームワーク1000中に示すものなどのエンコーダは、符号化プロセス中に、明度Bおよび対比Cのパラメータを計算することができる。
【0105】
いくつかの実施形態では、正確に、かつ迅速な方法でパラメータを推定するために、エンコーダは、図12に示す技術1200を使用する。図示の技術では、輝度チャネルのみが分析されている。あるいは、より多くの計算資源が利用可能な場合は、エンコーダは分析にクロミナンスを含める。例えば、エンコーダは、式3および4で(式3だけでなく)Cを求めて、Cをよりロバストにする。
【0106】
図12に示す実施形態では、フェーディング推定プロセス中は、シーン中の動きが無視される。これは、(a)フェードおよびクロスフェードが一般に静止または動きが少ないシーンで発生し、また、(b)動きが多いシーンでのグローバル輝度変化補償の有用性は非常に低いという観察に基づく。あるいは、エンコーダは、フェーディングパラメータと動き情報を一緒にして求める。その場合、技術1200のより後の段階で、またはその他の特定の時に、その動き情報を使用して、フェーディングパラメータの正確度を高める。動き情報を使用法の1つは、基準フレームの、動きが検出された部分を、フェーディング推定の計算から除外することである。
【0107】
技術1200の様々な部分において、絶対誤差の和、
【0108】
【数10】
Figure 2004007649
【0109】
は、フェーディングの存在およびパラメータを判断するためのメトリックスの役割を果たす。あるいは、エンコーダは、同じ誤差項に対する二乗誤差の和(SSE)または平均二乗誤差(MSE)など、その他またはさらなるメトリックスを使い、または、異なる誤差項を使う。
【0110】
技術1200中の様々な時点で、エンコーダは、EXIT条件を満たした時点で技術1200を終了することができる。図12は、いくつかのEXIT条件を示す。別のEXIT条件(図12には図示せず)の場合、エンコーダは、技術1200の開始時または中間段階で、対比パラメータが1.0に近いかどうかを(一実施形態では0.99<1.02)をチェックし、もしそうであれば、技術1200を終了する。
【0111】
エンコーダは、カレントフレームおよび基準フレームをダウンサンプリングすることによって、プロセス1200を開始する(1210)。一実施形態では、エンコーダは、縦横ともに4倍でダウンサンプリングする。あるいは、エンコーダは別の倍率でダウンサンプリングし、または全くダウンサンプリングしない。
【0112】
エンコーダは、次いで、カレントおよび基準フレームの、より低い解像度のバージョンの絶対誤差(下付き文字dで表す)の和、Σabs(I(n)−R)を計算する(1220)。絶対誤差の和は、ダウンサンプリングしたカレントフレームとダウンサンプリングした基準フレームのピクセル値の差を測定する。絶対誤差の和が特定の閾値(例えば、ダウンサンプリングしたカレントフレームおよび基準フレーム中のピクセルの輝度の、所定の差の測度)よりも小さい場合(1230)、エンコーダは、フェーディングは発生していないという結論を下し、フェーディング補償を行わない(1235)。
【0113】
そうでない場合は、エンコーダは、明度(B)および対比(C)パラメータを推定する(1240)。BおよびCのファーストカットの推定は、RについてI(n)をモデル化することによって得られる。一実施形態では、明度および対比パラメータが、ダウンサンプリングした全フレームに対する線形回帰によって得られる。他の実施形態では、エンコーダは、よりロバストな分析のために、総合最小二乗、最小二乗メディアンなどのその他の形の統計分析を使用する。例えば、エンコーダは、誤差項I(n)−RのMSEまたはSSEを最小限にする。状況によっては、MSEおよびSSEがロバストではなく、そのため、エンコーダは、誤差項の絶対誤差の和もテストする。エンコーダは、特定の点における高誤差値(フェーディングではなく、動きによる場合がある)を廃棄する。
【0114】
エンコーダは、次いで、BおよびCを量子化および逆量子化することによって、BおよびCを算出する(1250)。ファーストカットのパラメータを量子化および逆量子化してBおよびCを得て、それらが確実に許容範囲内に収まり、また整合性のテストができるようにする。いくつかの実施形態では、一般に8ビット深度の画像の場合、BおよびCがそれぞれ6ビットに量子化される。Bは、符号付き5ビット整数として表される、−32から31までの整数値をとる。Cとして表されるCの量子化値は、量子化された値の1から63までに対応する、0.015625(1/64)の一様なステップの、0.515625から1.484375までの値である。量子化は、BおよびCを最も近い有効逆量子化値に四捨五入して、適切なバイナリインデックスをとることにより行われる。
【0115】
エンコーダは、次いで、元の有界の絶対誤差の和(SOrgBnd)および再マップした有界の絶対誤差の和(SRmpBnd)を算出する(1270)。いくつかの実施形態では、エンコーダは、適合度分析(goodness−of−fit analysis)を使って和を算出する。元の解像度の、ランダムまたは擬似ランダムのピクセル集合の場合、エンコーダは、再マップした有界の絶対誤差の和、Σbabs(I(n)−CR−B)を計算する。式中、特定の界Mについて、babs(x)=min(abs(x),M)である。一実施形態では、Mは、符号化されるフレームの量子化パラメータの倍数である。界Mは、量子化パラメータが「粗」の場合には高くなり、量子化パラメータが「微」の場合には低くなる。エンコーダはまた、元の有界の絶対誤差の和、Σbabs(I(n)−R)を累算する。計算資源が利用可能な場合は、エンコーダは、全フレームの有界の誤差の和を計算することができる。
【0116】
次いで、エンコーダは、元の、および再マップした有界の絶対誤差の和の相対的値に基づき、フェーディング補償を使うべきかどうかを判断する(1280)。例えば、いくつかの実施形態では、再マップした有界の絶対誤差の和が、元の有界の絶対誤差の和の特定の閾値である率、σ以下でない場合には、エンコーダはフェーディング補償を行わない。一実施形態では、σ=0.95である。エンコーダは、フェーディング補償を行っている場合に、このときはI(n)とRの間の線形回帰に基づいて、しかしフル解像度で、フェーディングパラメータを再計算する(1290)。計算時間の節約のために、エンコーダは、フレームのランダムまたは擬似ランダムサンプリングに対して繰り返し線形回帰を実施することができる。この場合も、エンコーダは、よりロバストな分析のためには、その他の形の統計分析(例えば、総合最小二乗、最小二乗メディアンなど)を代替的に使用することができる。符号化が終わると(1295)、プロセスは終了する。
【0117】
一実施形態では、エンコーダは、式3および4においてC=−1である特殊なケースも認める。この特殊なケースは、ビットストリーム中のC=0によって信号通知される。この「逆」モードでは、基準フレームは、Bだけシフトされる前に逆転され、Bの範囲は、2の一様なステップの、193から319までの値である。
【0118】
D.信号通知
図10のフレームワーク1000中に示すものなどのエンコーダは、フェーディングオン/オフ信号通知情報を、フェーディングパラメータとともに送る。図11のフレームワーク1100中に示すものなどのデコーダは、その信号通知情報およびフェーディングパラメータを受け取る。
【0119】
いくつかの実施形態では、エンコーダは、シーケンスレベルで、グローバル輝度変化補償がそのシーケンスに使用可能であるかどうかを示す1ビットを送る。エンコーダはまた、フレームレベルでグローバル輝度変化を信号通知することができ、かつ/またはフレーム中の個々のブロックまたはマクロブロックなど、フレームの一部分のグローバル輝度変化を信号通知することができる。
【0120】
代表的なビデオシーケンス中のフレームの間では、グローバル輝度変化またはフェーディングが発生することは稀である。ビットを追加することによって、フェーディングを(または、同様に、フェーディングが存在しないことを)を信号通知することが可能である。例えば、エンコーダは、1ビットを使って、フレームレベルでフェーディングを(または、同様に、フェーディングが存在しないことを)信号通知することができる。しかし、フェーディングを(または、同様に、フェーディングが存在しないことを)、他の情報と一緒に信号通知する方がより経済的である。例えば、エンコーダは、動きモードのための可変長コード(VLC)テーブル中のエスケープシーケンス(すなわち、動きベクトルの数および構成、サブピクセル内挿スキーム)を使って、フレームレベルの信号通知を行う。このような実施形態では、エンコーダは、最低頻度動きモード(the least frequent motion mode)およびフェーディング補償の起動を一緒に信号通知する。
【0121】
イベントFはフェーディングの存在を表し、Gはそのフレームに最低頻度動きモードが選択されていることを表すとする。VLC<MVMODE>は、Gが偽である場合の動きモードを表すとする。このVLCテーブルは、Fおよび/またはGが真である場合にそれを信号通知するために使用される、エスケープ記号<ESC>を備えて設計されている。表1は、フェーディング補償が起動されると、Fと動きモードが一緒にコード化され、その後にフェーディングパラメータBおよびCが付けられることを示している。
【0122】
【表1】
Figure 2004007649
【0123】
あるフレームについてグローバル輝度変化が起動されると、別のVLC(<MVMODE>または<ESC>のいずれか)が付けられて、動きモードであることを表す。次いで、BおよびCにそれぞれ2つの6ビットの固定長コードワードを使って、パラメータを信号通知する。あるいは、VLCを使ってパラメータを信号通知する。ブロックやマクロブロックなど、フレームの個々の部分に適用された場合には、エンコーダは、その部分とは独立させて、フェーディングパラメータを信号通知することができる。例えば、ビデオフレームのあるマクロブロックにのみフェーディングが適用される場合、コード化されたブロックパターンや変換タイプなど、マクロブロックレベルの情報と結合したエントロピコードによって、フェーディング情報を信号通知することができる。
【0124】
図13は、エンコーダが最低頻度動きモードとフェーディングの存在を一緒にコード化する場合の、コーディング構成(一実施形態の表1に対応する)を示す樹形図である。(フェーディングパラメータのコーディングの詳細は省略する。)エンコーダは、VLCを使って、その他の動きモードのそれぞれを表す(例えば、コード「0」、「10」、「110」は、それぞれ動きモード「0」、「1」、「2」を表す。)エンコーダは、フェーディングが起動されない場合には、最低頻度動きモードを表す「0」が付いたエスケープコード(例えば、「111」)を使う。エンコーダは、フェーディングが起動されることを表すには、「1」が付いたエスケープコードを使う。
【0125】
別途記載していない限り、本明細書に記載のプログラム、プロセス、または方法は、特定のタイプのコンピューティング環境に関するものではなく、またそれに限定されるものでもないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書に記載の教示に従って使用することができ、または、動作を行うことができる。ソフトウェアで示す実施形態の要素をハードウェアで実装することができ、またその反対も可能である。
【0126】
本発明の原理を適用することができる多くの可能な実施形態を考慮して、頭記の特許請求の範囲およびその同等物の範囲および趣旨に含み得るものすべてを、本発明として主張する。
【図面の簡単な説明】
【図1】従来技術によるブロックに基づくフレーム内圧縮を示す図である。
【図2】従来技術によるビデオエンコーダ中の動き推定を示す図である。
【図3】従来技術によるブロックに基づくフレーム間圧縮を示す図である。
【図4】従来技術によるブロックに基づくフレーム間圧縮解除を示す図である。
【図5】いくつかの記載の実施形態を実装することができる、適切なコンピューティング環境の構成図である。
【図6】いくつかの記載の実施形態で使用される、汎用型ビデオエンコーダシステムの構成図である。
【図7】いくつかの記載の実施形態で使用される、汎用型ビデオデコーダシステムの構成図である。
【図8】フェーディング推定および補償を使った、ビデオを符号化するための技術を示す流れ図である。
【図9】フェーディング補償を使った、ビデオを復号するための技術を示す流れ図である。
【図10】フェーディング推定および補償を行うことが可能なビデオエンコーダシステムの構成図である。
【図11】フェーディング補償を行うことが可能なビデオデコーダの構成図である。
【図12】フェーディングの検出およびパラメータの抽出のための技術を示す流れ図である。
【図13】フレームにフェーディング補償を使用すべきかどうかを指示するための信号通知スキームを示す図である。
【符号の説明】
100 ブロックに基づくフレーム内圧縮
105 ピクセルブロック、8×8のピクセルブロック
110 8×8の離散コサイン変換(DCT)
115 8×8のDCT係数ブロック
125 8×8の量子化DCT係数ブロック、量子化DCT係数ブロック
135 隣接ブロック
145 8×8ブロック
170 エントロピコード
210 予測フレーム
215 マクロブロック
235 サーチエリア
325 元のカレントブロック
335 誤差ブロック
340 DCT
345 8×8の係数ブロック
355 8×8の量子化DCT係数ブロック
400 復号プロセス
410 可変長復号可変長復号
420 ランレングス復号
435 2次元ブロック
445 誤差
455 基準フレームからの変位の動きベクトル情報
475 再構築ブロック
500 コンピューティング環境
510 処理装置
520 メモリ
530 基本的な構成
540 記憶装置
550 入力装置
560 出力装置
570 通信接続
580 ソフトウェア
600 汎用型ビデオエンコーダ、エンコーダ
610 動き推定器
620 フレーム記憶装置
625 フレーム
635 動き補償カレントフレーム
645 予測残差
660 周波数変換器
670 量子化器
680 エントロピコーダ
695 圧縮ビデオ情報
700 汎用型ビデオデコーダ、デコーダ、ビデオデコーダシステム
705 再構築フレーム
720 フレームバッファ、フレーム記憶装置
735 フレームの予測
780 エントロピデコーダ
795 ビデオフレームシーケンスの情報
1000 エンコーダフレームワーク
1030 フェーディング検出モジュール
1050 フェーディング推定モジュール
1070 フェーディング補償モジュール
1080 その他のエンコーダモジュール
1100 デコーダフレームワーク
1110 復号されたカレントフレーム
1130 フェーディング補償モジュール
1160 その他のデコーダモジュール
1040、1140 フェーディングオン/オフ信号
1060、1150 フェーディングパラメータ
1090、1170 その他の情報
126、136 DC係数
127、137 左縦列
140、147 差分
155、365、425 1次元配列
165、375、415 Run/Level/Lastテーブル
230、725、1020、1120 基準フレーム
315、465 予測ブロック
605、1010 カレントフレーム
615、715 動き情報
630、730 動き補償器
666、760 逆周波数変換器
676、770 逆量子化器
690、790 バッファ

Claims (25)

  1. コンピュータ実行可能命令によってプログラムされているコンピュータシステムに、コンピュータによって実施される1つまたは複数のビデオ画像を処理する方法を実行させるための、前記コンピュータ実行可能命令を記憶しているコンピュータ可読媒体であって、前記方法が、
    基準化パラメータおよびシフトパラメータを含むフェーディングパラメータを取得するステップと、
    再マップした基準ビデオ画像の複数の再マップしたピクセル値を計算することによってフェーディング補償を行うステップであって、前記複数の再マップしたピクセル値が、少なくともある程度は、フェーディングパラメータに関する、元の基準ビデオ画像中で使用されている複数の元のピクセル値の再マップに基づいているステップと、
    前記再マップした基準ビデオ画像に対して、カレントビデオ画像の少なくとも一部の動き補償を行うステップとを含むことを特徴とするコンピュータ可読媒体。
  2. 前記フェーディングパラメータは、前記基準化パラメータおよび前記シフトパラメータのみからなり、前記基準化パラメータが対比パラメータであり、前記シフトパラメータが明度パラメータであることを特徴とする請求項1に記載のコンピュータ可読媒体。
  3. 前記フェーディングパラメータは、
    前記対比パラメータを使って、前記複数の元のピクセル値の輝度値を基準化するステップと、
    前記明度パラメータを使って、前記基準化した輝度値をシフトするステップとを含むピクセルの線形変換を指定することを特徴とする、請求項2に記載のコンピュータ可読媒体。
  4. 前記対比パラメータは、約0.5より大きく、かつ約1.5よりも小さく、また、前記明度パラメータは、約−32より大きく、かつ約31よりも小さいことを特徴とする請求項2に記載のコンピュータ可読媒体。
  5. 前記フェーディングパラメータは、
    前記対比パラメータを使って、前記複数の元のピクセル値の輝度値を基準化するステップであって、前記対比パラメータが−1であるステップと、
    修正した明度パラメータを使って、前記基準化した輝度値をシフトするステップとを含む線形変換を指定することを特徴とする、請求項2に記載のコンピュータ可読媒体。
  6. 前記基準化パラメータは対比パラメータであることを特徴とする請求項1に記載のコンピュータ可読媒体。
  7. 前記フェーディングパラメータは、
    前記対比パラメータを使って、前記複数の元のピクセル値のクロミナンス値を基準化するステップを含むピクセルの線形変換を指定することを特徴とする、請求項6に記載のコンピュータ可読媒体。
  8. 前記フェーディング補償は、ピクセル値に前記基準化パラメータを乗算するステップと、その結果に前記シフトパラメータを加算するステップとを含むことを特徴とする請求項1に記載のコンピュータ可読媒体。
  9. 前記基準化パラメータは重みパラメータであり、前記シフトパラメータはオフセットパラメータであることを特徴とする請求項1に記載のコンピュータ可読媒体。
  10. 前記方法はビデオの復号中に実施されることを特徴とする請求項1に記載のコンピュータ可読媒体。
  11. 前記方法はビデオの符号化中に実施されることを特徴とする請求項1に記載のコンピュータ可読媒体。
  12. 前記フェーディングパラメータは固定長符号であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  13. 前記フェーディングパラメータは可変長符号であることを特徴とする請求項1に記載のコンピュータ可読媒体。
  14. コンピュータ実行可能命令によってプログラムされているコンピュータシステムに、コンピュータによって実施されるビデオシーケンス中のカレントビデオフレームを処理する方法を実行させるための前記コンピュータ実行可能命令を記憶しているコンピュータ可読媒体であって、前記方法が、
    前記カレントビデオフレームのグローバル輝度変化補償パラメータを取得するステップと、
    再マップされた基準ビデオフレームの再マップされたピクセル値を計算することによってグローバル輝度変化補償を行うステップであって、前記再マップしたピクセル値が、前記カレントビデオフレームのグローバル輝度変化補償に関して、少なくともある程度は、元の基準ビデオフレーム中で使用されている元のピクセル値の再マップに基づいており、前記グローバル輝度変化補償パラメータが、基準化パラメータおよびシフトパラメータからなり、前記再マップされたピクセル値が前記基準ビデオフレームの全てに関するものであるステップと、
    前記再マップした基準ビデオフレームに対して、前記カレントビデオフレームの少なくとも一部の動き補償を行うステップとを含むことを特徴とするコンピュータ可読媒体。
  15. 前記基準化パラメータは対比パラメータであり、前記シフトパラメータは明度パラメータであることを特徴とする請求項14に記載のコンピュータ可読媒体。
  16. 前記グローバル輝度変化補償パラメータは、
    前記対比パラメータを使って、前記元のピクセル値の輝度値を基準化するステップと、
    前記明度パラメータを使って、前記基準化した輝度値をシフトするステップとを含むピクセルの線形変換を指定することを特徴とする、請求項15に記載のコンピュータ可読媒体。
  17. 前記基準化パラメータは対比パラメータであることを特徴とする請求項14に記載のコンピュータ可読媒体。
  18. 前記グローバル輝度変化補償パラメータは、前記対比パラメータを使って、前記元のピクセル値の前記クロミナンス値を基準化するステップを含むピクセルの線形変換を指定することを特徴とする、請求項17に記載のコンピュータ可読媒体。
  19. 前記方法はビデオの復号中に実施されることを特徴とする請求項14に記載のコンピュータ可読媒体。
  20. 前記方法はビデオの符号化中に実施されることを特徴とする請求項14に記載のコンピュータ可読媒体。
  21. 前記グローバル輝度変化補償パラメータは固定長符号であることを特徴とする請求項14に記載のコンピュータ可読媒体。
  22. ビデオ画像を処理するためのコンピュータ化システムであって、
    ビデオシーケンス中の基準画像に対する、前記ビデオシーケンス中のカレント画像中のグローバル輝度変化を検出するための手段と、
    前記グローバル輝度変化補償の基準化パラメータおよびシフトパラメータを推定するための手段と、
    前記推定基準化パラメータおよび前記推定シフトパラメータに基づいて前記基準画像の前記ピクセル値を調整することにより、グローバル輝度変化補償を行うための手段と、
    前記基準画像の前記調整したピクセル値から、前記カレント画像の少なくとも一部の動き補償を行うための手段とを含むことを特徴とするコンピュータ化システム。
  23. コンピュータ実行可能命令によってプログラムされているコンピュータシステムに、コンピュータによって実施される方法を実行させるための前記コンピュータ実行可能命令を記憶しているコンピュータ可読媒体であって、前記方法が、
    カレントビデオフレームの一部のフェーディングパラメータを取得するステップと、
    再マップされた基準ビデオフレームの対応する部分の、複数の再マップしたピクセル値を計算することによってフェーディング補償を行うステップであって、前記複数の再マップしたピクセル値が、前記フェーディングパラメータに関して、少なくともある程度は、元の基準ビデオ画像中で使用されている複数の元のピクセル値の再マップに基づいており、前記フェーディングパラメータが、基準化パラメータおよびシフトパラメータからなるステップと、
    前記再マップした基準ビデオフレームの前記対応する部分に対して、前記カレントビデオフレームの前記部分の動き補償を行うステップとを含むことを特徴とするコンピュータ可読媒体。
  24. 前記カレントビデオフレームの前記部分は1つまたは複数のブロックを含むことを特徴とする請求項23に記載のコンピュータ可読媒体。
  25. 前記カレントビデオフレームの前記部分は1つまたは複数のマクロブロックを含むことを特徴とする請求項23に記載のコンピュータ可読媒体。
JP2003128415A 2002-05-03 2003-05-06 フェーディング補償のためのパラメータ化 Expired - Lifetime JP4425563B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37762802P 2002-05-03 2002-05-03
US10/378,958 US7277486B2 (en) 2002-05-03 2003-03-03 Parameterization for fading compensation

Publications (3)

Publication Number Publication Date
JP2004007649A true JP2004007649A (ja) 2004-01-08
JP2004007649A5 JP2004007649A5 (ja) 2004-11-04
JP4425563B2 JP4425563B2 (ja) 2010-03-03

Family

ID=29219038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003128415A Expired - Lifetime JP4425563B2 (ja) 2002-05-03 2003-05-06 フェーディング補償のためのパラメータ化

Country Status (9)

Country Link
US (9) US7277486B2 (ja)
EP (1) EP1359764B1 (ja)
JP (1) JP4425563B2 (ja)
KR (1) KR100643819B1 (ja)
CN (2) CN1941911B (ja)
AT (1) ATE344593T1 (ja)
DE (1) DE60309375T2 (ja)
ES (1) ES2275037T3 (ja)
HK (1) HK1060243A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US7379076B2 (en) * 2004-07-15 2008-05-27 Microsoft Corporation Using pixel homogeneity to improve the clarity of images
KR100782815B1 (ko) * 2005-08-09 2007-12-06 삼성전자주식회사 인텐서티 보상을 위한 영상 디코딩 방법 및 장치
US8239766B2 (en) * 2005-09-27 2012-08-07 Qualcomm Incorporated Multimedia coding techniques for transitional effects
KR100757374B1 (ko) * 2006-03-02 2007-09-11 삼성전자주식회사 픽셀 데이터 압축 방법 및 이를 이용한 픽셀 데이터 압축장치
US8503520B2 (en) * 2006-09-01 2013-08-06 Thomson Licensing Method and apparatus for encoding a flash picture occurring in a video sequence, and for decoding corresponding data for a flash picture
CN101529920B (zh) * 2006-10-18 2013-10-02 汤姆森特许公司 在没有明确的信号通知的情况下的局部照度和色彩补偿
US8352982B2 (en) * 2008-01-18 2013-01-08 Microsoft Corporation Service substitution techniques
JP5156704B2 (ja) 2008-07-29 2013-03-06 パナソニック株式会社 画像符号化装置、画像符号化方法、集積回路及びカメラ
CN101765014B (zh) * 2008-12-23 2012-06-27 联咏科技股份有限公司 产生重新取样参考画面的装置及其方法与影像解码系统
US8269885B2 (en) * 2009-04-03 2012-09-18 Samsung Electronics Co., Ltd. Fade in/fade-out fallback in frame rate conversion and motion judder cancellation
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
KR101885258B1 (ko) 2010-05-14 2018-08-06 삼성전자주식회사 비디오 신호의 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
RU2699253C2 (ru) * 2010-09-03 2019-09-04 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Способ и система для компенсации освещенности и перехода при кодировании и обработке видеосигнала
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
US9313493B1 (en) * 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9986236B1 (en) * 2013-11-19 2018-05-29 Google Llc Method and apparatus for encoding a block using a partitioned block and weighted prediction values
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
WO2017103399A1 (fr) * 2015-12-16 2017-06-22 B<>Com Procede de traitement d'une image numerique, dispositif, equipement terminal et programme d'ordinateur associes
US10645359B2 (en) 2015-12-16 2020-05-05 B<>Com Method for processing a digital image, device, terminal equipment and associated computer program
US10306258B2 (en) 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10469841B2 (en) * 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145392A (ja) 1989-10-31 1991-06-20 Nec Corp 動き補償フレーム間符号化・復号化方法とその符号化装置・復号化装置
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
US5245436A (en) 1992-02-14 1993-09-14 Intel Corporation Method and apparatus for detecting fades in digital video sequences
JPH0646412A (ja) 1992-07-24 1994-02-18 Victor Co Of Japan Ltd 動画像予測符号化方法及び復号方法
US5461420A (en) 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
JP3795932B2 (ja) 1994-05-19 2006-07-12 富士写真フイルム株式会社 画像データ圧縮符号化方法および装置
US5568167A (en) 1994-09-23 1996-10-22 C-Cube Microsystems, Inc. System for providing antialiased video overlays
US5784175A (en) 1995-10-05 1998-07-21 Microsoft Corporation Pixel block correlation process
GB9607645D0 (en) 1996-04-12 1996-06-12 Snell & Wilcox Ltd Processing of video signals prior to compression
JPH1042195A (ja) 1996-04-27 1998-02-13 Victor Co Of Japan Ltd 映像切換え装置
US6266370B1 (en) * 1996-09-03 2001-07-24 Nippon Telegraph And Telephone Corporation Brightness-variation compensation method and coding/decoding apparatus for moving pictures
JP2938412B2 (ja) 1996-09-03 1999-08-23 日本電信電話株式会社 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
US6094455A (en) 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
CA2274181C (en) 1996-12-10 2009-10-20 British Telecommunications Public Limited Company Digital video coding generating frames representing multiple playback modes
US6735253B1 (en) * 1997-05-16 2004-05-11 The Trustees Of Columbia University In The City Of New York Methods and architecture for indexing and editing compressed video over the world wide web
JP3911768B2 (ja) 1997-06-02 2007-05-09 ソニー株式会社 画像符号化方法及び画像符号化装置
US6195458B1 (en) * 1997-07-29 2001-02-27 Eastman Kodak Company Method for content-based temporal segmentation of video
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6002400A (en) 1997-11-19 1999-12-14 International Business Machines Corporation Method and apparatus for handles to components in graphical windows user interface
US6100940A (en) 1998-01-21 2000-08-08 Sarnoff Corporation Apparatus and method for using side information to improve a coding system
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6278735B1 (en) 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US6268864B1 (en) 1998-06-11 2001-07-31 Presenter.Com, Inc. Linking a video and an animation
JP2000059792A (ja) 1998-08-06 2000-02-25 Pioneer Electron Corp 動画像信号の高能率符号化装置
JP3166716B2 (ja) * 1998-08-12 2001-05-14 日本電気株式会社 フェード画像対応動画像符号化装置及び符号化方法
US6466624B1 (en) 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
US6223278B1 (en) * 1998-11-05 2001-04-24 Intel Corporation Method and apparatus for floating point (FP) status word handling in an out-of-order (000) Processor Pipeline
ES2569491T3 (es) 1999-02-09 2016-05-11 Sony Corporation Sistema de codificación y método asociado
JP3957915B2 (ja) 1999-03-08 2007-08-15 パイオニア株式会社 フェード検出装置及び情報符号化装置
JP2001231045A (ja) 2000-02-15 2001-08-24 Nec Corp 動画像符号化および復号化装置
JP2001292372A (ja) * 2000-04-04 2001-10-19 Pioneer Electronic Corp 画像変化検出装置及び画像変化検出方法、画像符号化装置並びに画像変化検出用プログラムがコンピュータで読取可能に記録された情報記録媒体
JP2004504779A (ja) 2000-07-13 2004-02-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動き推定のための前処理方法
JP4328000B2 (ja) 2000-08-02 2009-09-09 富士通株式会社 動画像符号化装置および動画像の特殊効果シーン検出装置
US6944226B1 (en) 2000-10-03 2005-09-13 Matsushita Electric Corporation Of America System and associated method for transcoding discrete cosine transform coded signals
US6771311B1 (en) * 2000-12-11 2004-08-03 Eastman Kodak Company Automatic color saturation enhancement
US6959044B1 (en) 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US7609767B2 (en) * 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4236654B2 (ja) * 2005-09-13 2009-03-11 株式会社東芝 動画像符号化装置及びその方法
JP4764136B2 (ja) * 2005-10-31 2011-08-31 富士通セミコンダクター株式会社 動画像符号化装置、及びフェードシーン検出装置
US8046364B2 (en) * 2006-12-18 2011-10-25 Veripat, LLC Computer aided validation of patent disclosures
GB2447058A (en) * 2007-02-28 2008-09-03 Tandberg Television Asa Compression of video signals containing fades and flashes
US20110059757A1 (en) * 2009-09-08 2011-03-10 Cequint, Inc. Systems and methods for automatic delivery of 411 caller information
US9161058B2 (en) * 2010-03-27 2015-10-13 Texas Instruments Incorporated Method and system for detecting global brightness change for weighted prediction in video encoding
RU2699253C2 (ru) * 2010-09-03 2019-09-04 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Способ и система для компенсации освещенности и перехода при кодировании и обработке видеосигнала
JP6087747B2 (ja) * 2013-06-27 2017-03-01 Kddi株式会社 映像符号化装置、映像復号装置、映像システム、映像符号化方法、映像復号方法、およびプログラム
US11323730B2 (en) * 2019-09-05 2022-05-03 Apple Inc. Temporally-overlapped video encoding, video decoding and video rendering techniques therefor

Also Published As

Publication number Publication date
ATE344593T1 (de) 2006-11-15
US20160323601A1 (en) 2016-11-03
US10264284B2 (en) 2019-04-16
US11451794B2 (en) 2022-09-20
US9843822B2 (en) 2017-12-12
DE60309375D1 (de) 2006-12-14
DE60309375T2 (de) 2007-02-15
CN1941911A (zh) 2007-04-04
US7277486B2 (en) 2007-10-02
US20190200042A1 (en) 2019-06-27
US20210337212A1 (en) 2021-10-28
US20180184124A1 (en) 2018-06-28
US11089311B2 (en) 2021-08-10
US20200404292A1 (en) 2020-12-24
ES2275037T3 (es) 2007-06-01
US20030206592A1 (en) 2003-11-06
EP1359764A2 (en) 2003-11-05
KR100643819B1 (ko) 2006-11-10
US11451793B2 (en) 2022-09-20
US20080037657A1 (en) 2008-02-14
KR20030086905A (ko) 2003-11-12
EP1359764A3 (en) 2004-08-11
HK1060243A1 (en) 2004-07-30
CN1280709C (zh) 2006-10-18
EP1359764B1 (en) 2006-11-02
US10805616B2 (en) 2020-10-13
US20120307910A1 (en) 2012-12-06
JP4425563B2 (ja) 2010-03-03
US20210337213A1 (en) 2021-10-28
CN1487408A (zh) 2004-04-07
CN1941911B (zh) 2010-12-15
US8265148B2 (en) 2012-09-11
US9363536B2 (en) 2016-06-07

Similar Documents

Publication Publication Date Title
JP4102841B2 (ja) ビデオ画像を処理するコンピュータ実行方法
US11089311B2 (en) Parameterization for fading compensation
JP4545388B2 (ja) フェーディング推定/補償によりビデオフレームを処理するシステムおよび方法
US7933337B2 (en) Prediction of transform coefficients for image compression
US20070237236A1 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
EP1746840A2 (en) Parameterization for fading compensation
JP2004350072A (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051026

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060818

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20061116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061116

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20090115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090115

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: 20091209

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4425563

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

EXPY Cancellation because of completion of term