JP2007074750A - ビデオ画像を処理するコンピュータ実行方法 - Google Patents

ビデオ画像を処理するコンピュータ実行方法 Download PDF

Info

Publication number
JP2007074750A
JP2007074750A JP2006313638A JP2006313638A JP2007074750A JP 2007074750 A JP2007074750 A JP 2007074750A JP 2006313638 A JP2006313638 A JP 2006313638A JP 2006313638 A JP2006313638 A JP 2006313638A JP 2007074750 A JP2007074750 A JP 2007074750A
Authority
JP
Japan
Prior art keywords
fading
frame
encoder
video
compensation
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
JP2006313638A
Other languages
English (en)
Other versions
JP4102841B2 (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 JP2007074750A publication Critical patent/JP2007074750A/ja
Application granted granted Critical
Publication of JP4102841B2 publication Critical patent/JP4102841B2/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/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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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
    • 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

【課題】フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供する。
【解決手段】ビデオ処理アプリケーションにおけるフェーディング補償について信号通知するための技術及びツールを提供する。例えば、ソフトウェア580が実装するビデオエンコーダは、基準画像にフェーディング補償を行い、フェーディング補償が使用されたことを通知し、フェーディング補償のフェーディングパラメータを信号通知する。ソフトウェア580が実装するビデオデコーダは、信号通知された情報を受け取り、フェーディングパラメータに従って基準画像にフェーディング補償を行う。
【選択図】図5

Description

本発明は、ビデオ画像を処理するコンピュータ実行方法及び記録媒体に関する。より詳しくは、ビデオ処理アプリケーションにおけるフェーディング補償について信号通知(signaling)するための技術及びツールに係り、例えば、ビデオエンコーダが、基準画像にフェーディング補償を行い、フェーディング補償が使用されたことを信号通知し、そのフェーディング補償のフェーディングパラメータを信号通知するコンピュータ実行方法及び記録媒体に関する。
ディジタルビデオは、大容量の記憶及び送信能力を消費する。典型的な生ディジタルビデオシーケンスは、1秒あたり15または30のフレームを含む。各フレームは、何万または何十万ものピクセル(画素とも呼ばれる)を含む。各ピクセルは、画像のごく小さい要素を表す。生の形では、コンピュータは、通例、24ビットで1ピクセルを表す。したがって、典型的な生ディジタルビデオシーケンスの1秒当たりのビット数、またはビットレートは、500万ビット/秒またはそれ以上のことがある。
ほとんどのコンピュータ及びコンピュータネットワークは、生ディジタルビデオを処理するための資源が不足している。この理由から、エンジニアは、圧縮(コーディングまたは符号化とも呼ぶ)を使って、ディジタルビデオのビットレートを低減させる。圧縮は可逆的であってもよく、この場合、ビデオの品質は損なわれないが、ビデオの複雑さによってビットレートの低減は限定される。あるいは、圧縮は不可逆的な場合もあり、この場合、ビデオの品質は損なわれるが、ビットレートの低減はより劇的である。圧縮解除は圧縮の逆を行う。
一般に、ビデオ圧縮技術は、フレーム内圧縮及びフレーム間圧縮を含む。フレーム内圧縮技術は、一般にIフレームまたはキーフレームと呼ばれる個々のフレームを圧縮する。フレーム間圧縮技術は、前及び/または次のフレームを参照して、フレームを圧縮し、フレームは一般に予測フレーム、PフレームまたはBフレームと呼ばれる。
マイクロソフト社のウィンドウズ(登録商標)メディアビデオ、バージョン8(WMV8)は、ビデオエンコーダ及びビデオデコーダを含む。WMV8エンコーダは、フレーム内及びフレーム間圧縮を使用し、WMV8デコーダは、フレーム内及びフレーム間圧縮解除を使用する。
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にする。次いで、エンコーダは、これにエントロピ符号化を行うための準備をする。
エンコーダは、符号化されるブロックに隣接する、前に符号化されたブロック(例えば、隣接ブロック135)のDC係数136との差分として、DC係数126を符号化する。エンコーダエントロピは差分140を符号化する。図1は、隣接(左側の)ブロック135の左縦列137との差分147として符号化された、AC係数の左縦列127を示す。残りのAC係数は、量子化DCT係数ブロック125からのものである。
エンコーダは、予測された量子化AC DCT係数の8×8ブロック145を1次元配列155にスキャンし(150)、次いで、エントロピが、ランレングスコーディング160のバリエーション(variation)を使って、スキャンしたAC係数を符号化する。エンコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル165からエントロピコードを選択して、エントロピコード170を出力する。
B.WMV8におけるフレーム間圧縮
WMV8エンコーダにおけるフレーム間圧縮は、ブロックベースの動き補償予測コーディング、その後に残差の変換コーディングを使用する。図2及び3は、WMV8エンコーダにおける、予測フレームに対するブロックベースのフレーム間圧縮を示す。特に、図2は、予測フレーム210の動き推定(motion estimation)を示し、図3は、予測フレームの、動きが推定されたブロックの予測残差の圧縮を示す。
例えば、WMV8エンコーダは、予測フレームを8×8のピクセルブロックに分割する。4つの8×8ブロックのグループは、マクロブロックを形成する。各マクロブロックについて、動き推定プロセスが実行される。動き推定は、ピクセルマクロブロックの動きを、基準フレーム、例えば前に符号化された先行フレームに近づける。図2では、WMV8エンコーダは、予測フレーム210中のマクロブロック215の動きベクトルを計算する。動きベクトルを計算するために、エンコーダは、基準フレーム230のサーチエリア235中をサーチする。エンコーダは、サーチエリア235内で、予測フレーム210からのマクロブロック215を、様々な候補マクロブロックと比較して、よくマッチする候補マクロブロックを見つける。エンコーダは、よくマッチするマクロブロックを見つけた後、そのマッチするマクロブロックに動きベクトル(コード化されたエントロピ)を指定する情報を出力して、デコーダが復号中にそのマッチするマクロブロックを見つけることができるようにする。動き補償を使って予測フレーム210を復号する場合、デコーダは、動きベクトルを使い、基準フレーム230からの情報を使って、マクロブロック215の予測マクロブロックを計算する。マクロブロック215の予測が完全なことはめったにないので、エンコーダは、通常、予測マクロブロックとマクロブロック215自体の8×8ピクセルブロックの差(誤差または残差ブロックとも呼ぶ)を符号化する。
図3は、WMV8エンコーダにおける誤差ブロック335の計算及び符号化の例300を示す。誤差ブロック335は、予測ブロック315と元のカレントブロック325の差である。エンコーダは、誤差ブロック335にDCT340を適用し、その結果、8×8の係数ブロック345が得られる。次いで、エンコーダはDCT係数を量子化し(350)、その結果、8×8の量子化DCT係数ブロック355が得られる。量子化のステップサイズは調整可能である。量子化の結果、精度が損なわれるが、係数の情報が完全に失われるわけではない。
次いで、エンコーダは、8×8の量子化DCT係数ブロック355をエントロピ符号化する準備をする。エンコーダは、8×8のブロック355を64個の要素を有する1次元配列365にスキャンする(360)。それによって、係数は、一般に、低周波数から高周波数の順に並び、一般にゼロ値の長い列ができる。
エンコーダエントロピは、ランレングスコーディング370のバリエーションを使って、スキャンした係数を符号化する。エンコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル375からエントロピコードを選択して、エントロピコードを出力する。
図4は、フレーム間コード化(inter−coded)ブロックのための対応する復号プロセスの例400を示す。DCT係数を量子化するために、再構築されたブロック475は、対応する元のブロックと同一ではない。この圧縮は不可逆である。
図4について要約すると、デコーダは、1つまたは複数のRUN/LEVEL/LASTテーブル415ともに可変長復号410、及びランレングス復号420を使って、予測残差を表すエントロピ符号化した情報を復号する。デコーダは、エントロピ復号した情報を記憶している1次元配列425を、2次元ブロック435に逆スキャンする(430)。デコーダは、データの逆量子化及び逆離散コサイン変換の両方を行い(440)、その結果、再構築された誤差ブロック445が得られる。別個の動き補償のパスでは、デコーダは、基準フレームからの変位に関する動きベクトル情報455を使って、予測ブロック465を計算する。デコーダは、予測ブロック465を再構築誤差ブロック445と結合して(470)、再構築ブロック475を形成する。
元のフレームと再構築フレームの間の変化量を歪みといい、フレームのコード化に必要なビット数をそのフレームのレートという。歪みの量はレートにだいたい反比例する。言い換えれば、フレームのコード化に使用するビット数が少ない(圧縮率が高い)ほど歪みは大きくなり、またその反対も言える。
C.従来の動きに基づくビデオ圧縮の限界
フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づくビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化するのに相対的に多数のビットを必要とする。例えば、あるフレームから次のフレームで、フレーム中のオブジェクトがある方向にわずかに移動したビデオシーケンスについて考えてみよう。典型的なブロックマッチングの動き推定技術では、フェーディングのないビデオシーケンスにおいては、カレントフレーム中のあるブロックに適したマッチを前のフレーム中に見つけ、結果として得られる動きベクトルを符号化することは簡単なことかもしれない。しかし、例えば、そのビデオシーケンス中で「フェードトゥブラック(fade−to−black)」が発生している場合には、カレントフレーム中のすべての輝度値が前のフレームに対して変化しており、それによって、ビデオエンコーダは、そのブロックに適したマッチを見つけることができなくなる。フェーディングは、自然の照明の変化によってもシーケンス中に発生することがある。その他の遷移効果であるブレンディング及びモーフィングも、簡単な動き推定/補償の有効性を低下させることがある。
D.ビデオ圧縮及び圧縮解除の標準
WMV8以外にも、ビデオ圧縮及び圧縮解除に関するいくつかの国際標準がある。これらの標準には、動画エキスパートグループMPEG(Motion Picture Experts Group)1、2及び4の標準、及びITU(国際電気通信連合)のH.261、H.262、H.263の標準が含まれる。これらの標準は、WMV8と同様、フレーム内圧縮とフレーム間圧縮の組み合わせを使っている。ただし、これらの標準は、一般に、使用している圧縮技術の詳細についてはWMV8とは異なる。例えば、符号化中に、画像の解像度を適応させて変更するために使用できる、予測の際に使用する基準画像再サンプリングモードについて記載している標準もある(例えば、非特許文献1参照)。
ディジタルビデオにとってビデオ圧縮及び圧縮解除がきわめて重要であることを考えれば、ビデオ圧縮及び圧縮解除が盛んに開発されている分野であることも驚くことではない。
H.263標準の付録P
しかし、従来のビデオ圧縮及び圧縮解除技術の利点が何であろうと、それらは、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールの有利点を備えてはいない。
ビデオ圧縮の目標の1つは、レート歪みパフォーマンスを改善すること、言い換えれば、より少ないビット数で同じ品質を達成すること、または同じビット数でより高い品質を達成することである。この目標を達成する1つの方法は、ビデオシーケンスの、符号化に相対的に多数ビットを必要とする部分を識別し、次いで、そのような部分をよりよく圧縮するための方法を見つけることである。ビデオシーケンスには、フェーディング、モーフィング、ブレンディングなどの効果を有する部分はあまりない。しかし、このような部分が発生した場合には、従来の動きに基づくビデオ圧縮方法が一般にそのような部分には有効ではないため、符号化に多数ビットを必要とする。
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供することにある。
したがって、要約すれば、詳細な説明は、フェードイン、フェードアウト、クロスフェード、またはその他のフェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象としている。例えば、ビデオエンコーダは、基準フレームを調整することにより、カレントフレームのフェーディング補償を行う。これによって、基準フレームを使った動き補償がより効率的になる。ビデオエンコーダは、次いで、対応するビデオデコーダがどのようにフェーディング補償を行うべきかを信号通知する。ビデオデコーダは、信号通知された情報を受け取り、基準フレームを調整することによってフェーディング補償を行う。特に、詳細な説明では、一般的なビデオシーケンスについてのフェーディング補償情報に関連するビットレートを低減する、フェーディング補償情報を信号通知するための効率的な方法を述べている。
第1の技術及びツールのセットでは、ビデオエンコーダまたはデコーダは、ビデオ画像(例えば、カレントビデオフレーム)のフェーディング補償のオン/オフ信号を処理する。例えば、ビデオエンコーダは、ビデオ画像にフェーディング補償を使用するかどうかに応じて、オン/オフ信号の値を決定する。ビデオエンコーダは、次いで、オン/オフ信号を伝送する(フェーディング補償を使用する場合には、フェーディングパラメータとともに)。対応するビデオデコーダは、オン/オフ信号を受け取り(フェーディングパラメータがある場合には、それとともに)、次いで、ビデオ画像のフェーディング補償がオンかオフかを、そのオン/オフ信号に基づいて判断する。
第2の技術及びツールのセットでは、フェーディング補償のオン/オフ信号は、他の画像レベル情報(例えば、動きモード情報)とともにエントロピ符号化される。これによって、一般的なビデオシーケンス中のオン/オフ信号に関連するビットレートが低減される。例えば、1つまたは複数のエントロピコードは、ビデオ画像のオン/オフ信号を、そのビデオ画像のその他の画像レベルの情報とともに表す。
第3の技術及びツールのセットでは、ビデオエンコーダまたはデコーダは、ビデオシーケンス中のフェーディング補償の機能信号を処理する。フェーディング補償が使用可能の場合は、ビデオエンコーダまたはデコーダは、ビデオシーケンス中のビデオ画像の1つまたは複数のオン/オフ信号を処理する。例えば、機能信号はシーケンスレベルのものであり、オン/オフ信号は画像レベルのものである。
種々の技術及びツールは、組み合わせても独立させても使用することができる。様々な実施形態は、説明した技術及びツールの1つまたは複数を実装する。
さらなる特徴及び有利点は、添付の図面を参照しながら以下に続ける、様々な実施形態の詳細な説明から明らかになろう。
本発明によれば、フェーディング、ブレンディング、またはモーフィング効果を含むビデオシーケンスの、レート歪みパフォーマンスを改善するための、様々な技術及びツールを対象とした、ビデオ画像を処理するコンピュータ実行方法及び記録媒体を提供できる。
以下、図面を参照して本発明の実施形態を詳細に説明する。
記載の実施形態は、フェーディング推定及び/または補償のための技術及びツールに関する。フェーディング補償/推定を行わないと、フェーディング、モーフィング、ブレンディングなどの効果を有するビデオシーケンスは、従来の動きに基づくビデオ圧縮方法が一般にこのようなフレームには有効ではないため、符号化に相対的に多数のビットを必要とする。記載の実施形態は、このようなシーケンス中でフェーディング推定/補償を行うことによって、レート歪みパフォーマンスを改善する。様々な実施形態は、グローバル輝度変化パラメータを推定し、適用し、コード化し、かつ/または復号するための技術及びツールに関する。
いくつかの実施形態では、フェーディング補償は、1つまたは複数の基準フレームにグローバル輝度変化を実施して、フェーディングを補償するステップを含む。グローバル輝度変化は、定義済み領域を対象とする輝度の変化である。定義済み領域は、フレーム、フレームの一部(例えば、フレーム中の個々のブロックまたはマクロブロック、あるいはフレーム中のマクロブロックのグループ)、あるいはコード化または復号された画像の、別の特定の一部であってよい。次いで、カレントフレームを、動き推定/補償によって、調整した1つまたは複数の基準フレームから予測する。あるいは、フェーディング補償は、ブレンディングやモーフィングなどの効果を補償するための、基準フレームへのグローバル変化を含む。一般に、フェーディング補償は、フェーディング(すなわち、フェードトゥブラックまたはフェードフロムブラック(fade−from−black))、ブレンディング、モーフィング、または、ピクセル値の強度に影響を与えるその他の自然または合成の照明の効果に対するいずれかの補償を含む。しかし、ここでは、文脈が明らかにそうではないことを示す場合を除き、一般性が損なわれることなく、グローバル輝度変化及びフェーディングという用語を相互交換可能に使用する。
フレームにフェーディング補償を行うことの代案として、いくつかの実施形態では、フィールド、オブジェクト層、またはその他の画像にフェーディング補償を行う。
いくつかの実施形態では、YUV色空間で基準フレームの、輝度及びクロミナンスチャネルの、ピクセル値を調整することにより、フェーディング補償を行う。この調整は、輝度のピクセル値を基準化して(scaling)シフトするステップと、クロミナンスのピクセル値を基準化してシフトするステップとを含む。あるいは、色空間が異なり(例えば、YIQまたはRGB)、かつ/または補償がその他の調整技術を使用する。
エンコーダ/デコーダは、フレームごとのベースでフェーディング推定/補償を行う。あるいは、エンコーダ/デコーダは、特定のその他のベースで、または、1つまたは複数のブロックまたはマクロブロックなど、フレームの一部について、フェーディング推定/補償を行う。
様々な技術及びツールは、組み合わせても、独立させても使用することができる。様々な実施形態は、記載の技術及びツールの1つまたは複数を実装する。これらの技術の動作を、一般に、説明のために特定の順番で記載してあるが、この記載方法は、特定の順序付けが必要とされる場合を除き、その動作順序を多少並べ替えた場合も含むことを理解されたい。例えば、順次に記載してある動作を、場合によっては、並べ替えることが可能であり、または同時に行われることが可能である。さらに、簡単にするために、流れ図には、一般に、特定の技術をその他の技術とともに使用することができる様々な方法を示していない。
いくつかの実施形態では、ビデオエンコーダ及びデコーダが、ビットストリーム中で様々なフラグ及び信号を使用する。特定のフラグ及び信号を記載しているが、この記載方法は、フラグ及び信号の様々な表記法(例えば、1ではなく0)を含むことを理解されたい。
I.コンピューティング環境
図5は、記載の実施形態のいくつかを実施することができる、適切なコンピューティング環境の一般化した例(図中符号500)を示す。技術及びツールは、多種多様な汎用または専用コンピューティング環境で実装できるので、コンピューティング環境500は、使用または機能の範囲に関して、何ら限定を示唆するものではない。
図5を参照すると、コンピューティング環境500は、少なくとも1つの処理装置(プロセッサ)510及びメモリ520を含む。図5では、この最も基本的な構成530が破線で囲まれている。処理装置510は、コンピュータ実行可能命令を実行し、実または仮想プロセッサであってよい。多重処理システムでは、処理能力を向上させるために、複数の処理装置がコンピュータ実行可能命令を実行する。メモリ520は揮発性メモリ(例えば、レジスタ、キャッシュ、RAM(random access memory))、不揮発性メモリ(例えば、ROM(read only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリなど)、またはこれらの2種類の特定の組み合わせであってよい。メモリ520は、ビデオエンコーダまたはビデオデコーダのような、エンコーダまたはデコーダを実装するソフトウェア580を記憶している。
コンピューティング環境はさらなる特徴を持つ場合がある。例えば、コンピューティング環境500は、記憶装置540、1つまたは複数の入力装置550、1つまたは複数の出力装置560、及び1つまたは複数の通信接続570を含む。バス、コントローラ、またはネットワークなどの相互接続メカニズム(図示せず)は、コンピューティング環境500のコンポーネントを相互接続する。一般に、オペレーティングシステムソフトウェア(図示せず)は、コンピューティング環境500中で実行するその他のソフトウェアに動作環境を提供し、コンピューティング環境500のコンポーネントの活動を調整する。
記憶装置540は、リムーバブルまたはノンリムーバブルであってよく、磁気ディスク、磁気テープまたはカセット、CD(compact disc [disk])−ROM、DVD(digital versatile disk)、または、情報を記憶するために使用することができ、コンピューティング環境500内でアクセスすることができるいずれかのその他の媒体を含む。記憶装置540は、エンコーダまたはデコーダを実行するソフトウェア580の命令を記憶する。
入力装置550は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力装置、音声入力装置、スキャン装置、またはコンピューティング環境500に入力を供給する他の装置であってよい。オーディオまたはビデオの符号化用として、入力装置550は、サウンドカード、ビデオカード、TVチューナカード、またはオーディオまたはビデオ入力をアナログまたはディジタルの形で受け付ける同様の装置、あるいはオーディオまたはビデオサンプルをコンピューティング環境500内に読み込むCD−ROMまたはCD−RW(CD-ReWritable)であってよい。出力装置560は、ディスプレイ、プリンタ、スピーカ、CDライタ、またはコンピューティング環境500から出力を供給する他の装置であってよい。
通信接続570は、通信媒体を介した、別のコンピューティングエンティティへの通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオまたはビデオの入力または出力、あるいはその他のデータなどの情報を、変調データ信号で運ぶ。変調データ信号は、信号中の情報を符号化するように、その特性の1つまたは複数が設定または変更された信号である。例として、通信媒体には、電気、光、RF(radio frequencies)、赤外線、音響、またはその他の搬送波を用いて実装した有線または無線技術が非限定的に含まれる。
技術及びツールを、コンピュータ可読媒体の一般的な状況で説明することができる。コンピュータ可読媒体は、コンピュータ環境内でアクセスできる任意の利用可能な媒体である。例として、コンピューティング環境500の場合、コンピュータ可読媒体には、メモリ520、記憶装置540、通信媒体、及び上記のいずれかの組み合わせが非限定的に含まれる。
技術及びツールを、プログラムモジュール中に含まれる命令など、コンピューティング環境中のターゲットとする実または仮想プロセッサ上で実行されるコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。様々な実施形態では、プログラムモジュールの機能を、プログラムモジュール間で要望通りに結合または分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行することができる。
説明のために、詳細な説明では、コンピューティング環境におけるコンピュータの動作を記載するのに、「推定する(estimate)」、「信号を送る(signal)」、「符号化する(encode)」、「復号する(decode)」などの用語を使っている。これらの用語は、コンピュータが実行する動作の高レベルの抽象概念であり、人間が実行する動作と混同してはならない。これらの用語に対応する実際のコンピュータの動作は、実装により異なる。
II.汎用型ビデオエンコーダ及びデコーダ
図6は汎用型ビデオエンコーダ600の構成図であり、図7は汎用型ビデオデコーダ700の構成図である。
エンコーダ及びデコーダ内のモジュールの間に示す関係は、エンコーダ及びデコーダ内の情報の主な流れを表し、簡略にするため、その他の関係は示していない。特に、図6及び7は、ビデオシーケンス、フレーム、マクロブロック、ブロックなどのために使用する、エンコーダの設定、モード、テーブルなどを表す補助的情報を示していない。このような補助的情報は、一般にエントロピ符号化を行った後、出力ビットストリームで送られる。出力ビットストリームのフォーマットは、ウィンドウズ(登録商標)メディアビデオフォーマットまたは別のフォーマットでよい。
エンコーダ600及びデコーダ700は、ブロックベースであり、4:2:0のマクロブロックフォーマットを使用する。各マクロブロックフォーマットは、4つの8×8の輝度ブロック(1つの16×16のマクロブロックとして扱うことがある)及び2つの8×8クロミナンスブロックを含む。あるいは、エンコーダ600及びデコーダ700は、オブジェクトベースであり、異なるマクロブロックフォーマットまたはブロックフォーマットを使用し、または、8×8ブロック及び16×16マクロブロックとは異なるサイズまたは構成のピクセルセット上で動作する。
実装及び所望の圧縮のタイプに応じて、エンコーダまたはデコーダのモジュールを追加し、省略し、複数のモジュールに分割し、他のモジュールと結合し、かつ/または同様のモジュールと置き換えることができる。別の実施形態では、異なるモジュール及び/またはその他のモジュール構成を有するエンコーダまたはデコーダが、記載の技術の1つまたは複数を実施する。
A.ビデオエンコーダ
図6は、一般的なビデオエンコーダシステム600の構成図である。エンコーダシステム600は、カレントフレーム605を含むビデオフレームのシーケンスを受け取り、出力として圧縮ビデオ情報695を生成する。ビデオエンコーダの特定の実施形態は、一般に、汎用エンコーダ600の変形のまたは補足のバージョンを使用する。
エンコーダシステム600は、予測フレーム及びキーフレームを圧縮する。説明のために、図6は、エンコーダシステム600を通るキーフレームのパス、及び順方向予測フレームのパスを示す。エンコーダシステム600のコンポーネントの多くは、キーフレーム及び予測フレームの両方を圧縮するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮される情報のタイプに応じて異なる。
予測フレーム(Pフレーム、双方向予測の場合はBフレーム、またはフレーム間コード化フレームとも呼ぶ)は、1つまたは複数の他のフレームからの予測(またはそれらとの差)に関して表される。予測残差は、予測されたものと元のフレームの差である。これに対し、キーフレーム(Iフレーム、フレーム内コード化(intra−coded)フレームとも呼ぶ)は、他のフレームを参照することなく圧縮される。
カレントフレーム605が順方向予測フレームの場合、動き推定(motion estimator)610は、カレントフレーム605のマクロブロックまたはその他のピクセルセットの、基準フレームに関する動きを推定する。基準フレームは、フレーム記憶(frame store)620中に一時的に記憶されている、再構築した前のフレーム625である。別の実施形態では、基準フレームは後のフレームであり、またはカレントフレームが双方向に予測される。動き推定610は、動きベクトルなどの動き情報615を補助情報として出力する。動き補償(motion compensator)630は、再構築した前のフレーム625に動き情報615を適用して、動き補償済みのカレントフレーム635を形成する。しかし、予測が完全なことはめったになく、動き補償カレントフレーム635と元のカレントフレーム605の差は予測残差(residual)645である。あるいは、動き推定610及び動き補償630は別のタイプの動き推定/補償を適用する。
周波数変換(frequency transformer)660は、空間領域のビデオ情報を、周波数領域(すなわちスペクトル)データに変換する。ブロックベースのビデオフレームの場合、周波数変換660は、離散コサイン変換(DCT)またはDCTの変形を、動き予測残差データのブロックに適用して、DCT係数ブロックを生成する。あるいは、周波数変換660は、フーリエ変換など、別の従来の周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、周波数変換660は、キーフレームの空間予測残差のブロックに周波数変換を適用する。周波数変換660は、8×8、8×4、4×8またはその他のサイズの周波数変換を適用することができる。
次いで、量子化(quantizer)670が、スペクトルデータ係数のブロックを量子化する。量子化は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、均一なスカラー量子化をスペクトルデータに適用する。あるいは、量子化670は、別のタイプの量子化、例えば不均一なベクトル量子化または非適応(non-adaptive)量子化を、スペクトルデータ係数に適用し、または、周波数変換を使用しないエンコーダシステム中の空間領域データを直接、量子化する。適応量子化に加えて、エンコーダ600は、フレームドロップ、適応フィルタリング、またはレート制御のためのその他の技術を使用することができる。
その後の動き推定/補償のために、再構築したカレントフレームが必要な場合には、逆量子化(inverse quantizer)676が、量子化したスペクトルデータ係数に逆量子化を実施する。次いで、逆周波数変換(inverse frequency transformer)666が、周波数変換660の動作の逆を実行して、(予測フレームの)再構築した予測残差または再構築したキーフレームを生成する。カレントフレーム605がキーフレームだった場合には、再構築したキーフレームが再構築したカレントフレーム(図示せず)としてとられる。カレントフレーム605が予測フレームだった場合には、再構築した予測残差が動き補償カレントフレーム635に追加されて、再構築したカレントフレームを形成する。フレーム記憶620は、次のフレームの予測に使用するために、再構築したカレントフレームを一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
エントロピコーダ680は、ある補助的情報(例えば、動き情報615、量子化ステップサイズ)だけでなく、量子化670の出力も圧縮する。代表的なエントロピコーディング技術には、算術コーディング、差分コーディング、ハフマンコーディング、ランレングスコーディング、LZコーディング、ディクショナリコーディング、及び上記の組み合わせが含まれる。エントロピコーダ680は、一般に、異なる種類の情報(例えば、DC係数、AC係数、様々な種類の補助的情報)に合わせて異なるコーディング技術を使用し、特定のコーディング技術内で、複数のコードテーブルから選択することができる。
エントロピコーダ680は、圧縮ビデオ情報695をバッファ690内に置く。バッファレベル標識が、ビットレート適応モジュールにフィードバックされる。圧縮ビデオ情報695は、一定または比較的一定のビットレートでバッファ690から出され、そのビットレートで後続ストリーミングのために記憶される。あるいは、エンコーダシステム600は、圧縮ビデオ情報を、圧縮後、直ちに流す。
バッファ690の前または後で、圧縮ビデオ情報695を、ネットワーク上に伝送するためにチャネルコーディングを施すことができる。このチャネルコーディングは、圧縮ビデオ情報695にエラー検出及び訂正データを適用する。
B.ビデオデコーダ
図7は、一般的なビデオデコーダシステム700の構成図である。デコーダシステム700は、圧縮したビデオフレームシーケンスの情報795を受け取り、再構築したフレーム705を含む出力を生成する。ビデオデコーダの特定の実施形態は、一般に、汎用型デコーダ700の変形のまたは補足のバージョンを使用する。
デコーダシステム700は、予測フレーム及びキーフレームを圧縮解除する。説明のために、図7は、デコーダシステム700を通るキーフレームのパス、及び順方向予測フレームのパスを示す。デコーダシステム700のコンポーネントの多くは、キーフレーム及び予測フレームの両方を圧縮解除するために使用される。これらのコンポーネントが実行する正確な動作は、圧縮されている情報のタイプに応じて異なる。
バッファ790は、圧縮ビデオシーケンスの情報795を受け取り、受け取った情報をエントロピデコーダ780が利用できるようにする。バッファ790は、一般に、時間が経ってもだいたい一定の速度で情報を受け取り、帯域幅または伝送の、短期的な変動を滑らかにする、ジッタバッファを含む。バッファ790には、再生(playback)バッファ及びその他のバッファも含めることができる。あるいは、バッファ790は、変化する速度で情報を受け取る。バッファ790の前または後で、圧縮したビデオ情報にチャネルデコーディングを施し、エラー検出及び訂正のために処理することができる。
エントロピデコーダ780は、一般にエンコーダ中で実施されたエントロピ符号化の逆を適用することにより、エントロピコード化した量子化データ及びエントロピコード化した補助的情報(例えば、動き情報715、量子化ステップサイズ)をエントロピ復号する。エントロピ復号技術には、算術復号、差分復号、ハフマン復号、ランレングス復号、LZ復号、ディクショナリ復号、及び上記の組み合わせが含まれる。エントロピデコーダ780は、しばしば、異なる種類の情報(例えば、DC係数、AC係数、異なる種類の補助的情報)に合わせて異なる復号技術を使用し、特定の復号技術内で、複数のコードテーブルから選択することができる。
再構築するフレーム705が順方向予測フレームの場合、動き補償(motion compensator)730は、基準フレーム725に動き情報715を適用して、再構築するフレーム705の予測735を形成する。例えば、動き補償730は、マクロブロックの動きベクトルを使って、基本フレーム725中のマクロブロックを見つける。フレーム記憶(frame store)720は、基準フレームとして使用するために、前の再構築したフレームを記憶している。あるいは、動き補償730は、別のタイプの動き補償を適用する。動き補償730による予測が完全なことはめったになく、デコーダ700は、予測残差も再構築する。
デコーダがその後の動き補償のために再構築したフレームを必要とする場合、フレーム記憶720は、再構築したカレントフレームを、次のフレームの予測で使用するために一時的に記憶する。いくつかの実施形態では、エンコーダは、再構築したフレームに非ブロック化フィルタを適用して、フレームのブロック中の不連続部を適応可能に滑らかにする。
逆量子化(inverse quantizer)770は、エントロピ復号したデータを逆量子化する。一般に、逆量子化770は、フレームごとのベースまたはその他のベースで変化するステップサイズを用いて、エントロピ復号したデータに均一なスカラー逆量子化を適用する。あるいは、逆量子化770は、別のタイプの逆量子化、例えば不均一なベクトル量子化または非適応量子化をデータに適用し、または、逆周波数変換を使用しないデコーダシステム中の空間領域データを直接、逆量子化する。
逆周波数変換(inverse frequency transformer)760は、量子化した周波数領域データを、空間領域のビデオ情報に変換する。ブロックベースのビデオフレームの場合、逆周波数変換760は、DCT係数ブロックに逆DCT(IDCT)またはIDCTの変形を適用して、動き予測残差データを生成する。あるいは、逆周波数変換760は、フーリエ変換など、別の従来の逆周波数変換を適用し、あるいは、ウェーブレットまたはサブバンド分析を使用する。いくつかの実施形態では、逆周波数変換760は、逆周波数変換をキーフレームの空間予測残差のブロックに適用する。逆周波数変換760は、8×8、8×4、4×8またはその他のサイズの逆周波数変換を適用することができる。
III.グローバル輝度変化の推定/補償
記載したいくつかの実施形態は、少数のパラメータで記述されたグローバル輝度変化の推測、適用、コード化及び/または復号のための技術及びツールを必要とする。それらのツール及び技術は、再構築したビデオの同じ主観的及び客観的品質がより低いビットレートで達成されることを可能にする。個々のツールまたは技術のそれぞれは、1)グローバル輝度変化補償スキーム、2)グローバル輝度パラメータのパラメータ化、3)グローバル輝度パラメータの計算上有効な推定/抽出、4)グローバル輝度変化があるフレームの低コストの信号通知、及び5)グローバル輝度パラメータの低コストの信号通知、の1つまたは複数を実現する。輝度変化は、フレーム、フィールド、例えば個々のブロック、個々のマクロブロック、またはマクロブロックのグループなど、フレーム/フィールドの一部、あるいは画像の他の特定の部分に対してグローバルであり得る。以下の説明の多くは、フレーム全体における輝度変化の、パラメータ化及び補償について述べているが、輝度変化補償のための同じフレームワークを、(a)画像の一部分(例えば、個々のブロックまたはマクロブロック)中のフェーディングの存在を判定すること、(b)この部分内のフェーディングパラメータを計算すること、及び(c)画像の所与の一部分について、これらのフェーディングパラメータをパラメータ化して伝送すること、に使用することができる。これらの技術を、画像の複数の部分について繰り返すことができる。
グローバル輝度変化(「フェーディング」としても知られる)は、シーンの明度及び/またはコントラストにおける変化のことがある。一般に、この変化は線形である。しかし、フェーディングを、同じフレームワーク内のいずれかの滑らかで非線形のマッピングを含むものとしても定義できる。フェーディング、モーフィング、ブレンディングは、ビデオコンテンツの作成において、シーンの遷移に伴うビデオフレームの進展を滑らかにするために、また、特殊な効果を与えるために、ビデオの作成において広く使用されている。さらに、ある種のシーケンスでは、照明の変化によって自然にフェーディングが発生する。フェーディング、モーフィング、ブレンディングなどの効果を伴うビデオフレームは、一般にこのようなフレームには有効ではない、従来の動きに基づくビデオ圧縮方法では、符号化するのに相対的に多数のビットを必要とする。
A.グローバル輝度変化補償スキーム
図8は、グローバル輝度変化補償を使ってビデオを符号化するための技術を示す流れ図800を示す。図6に示すエンコーダ600などのエンコーダは、流れ図800の処理を実施することができる。
最初に、エンコーダは、ビデオシーケンス中の符号化されるカレントフレームなど、符号化するフレーム中のフェーディングをチェックする(ステップ810)。エンコーダは、フレームのフェーディングを検出すると(ステップ810)、フェーディングパラメータを取得する(ステップ820)。例えば、エンコーダは、後でセクションC.で説明するようにフェーディングを検出し、フェーディングパラメータを取得する。あるいは、エンコーダは、異なる技術を使ってフェーディングを検出し、かつ/またはパラメータを取得する。エンコーダは、フェーディング補償がオンまたはオフかを信号通知し、オンの場合は、フェーディングパラメータも信号通知する。
フレームにフェーディングが検出されると、エンコーダは、次いで、例えば後のセクションB.で説明しているように、そのフレームの1つまたは複数の基準フレームに対してフェーディング補償を行う(ステップ830)。エンコーダが複数の基準フレームに対してフェーディング補償を行う場合、その複数の基準フレームは、符号化されるフレームの(再生順で)前または後のものであってよい。エンコーダは、符号化されるフレームのどの部分が、複数の基準フレームのどれから補償されるのかを信号通知する。この信号通知については、エンコーダは、すでにこのようなシステムで基準フレームの選択に使用している信号通知を使用することができる。いくつかの実施形態では、エンコーダは、符号化するフレームの動き推定/補償で、元の基準フレーム及び再マップした基準フレームの両方を使用することができる。エンコーダは、例えばフェードしている内容とフェードしていないオーバレイの両方を有するカレントフレームを符号化するために、これを行うことがある。
フェーディング補償の後、エンコーダは、動き推定/補償を使って、調整した基準フレームからフレームを符号化する(ステップ840)。エンコーダは、フェーディングを検出しないと、フェーディングパラメータを取得することなく、またはフェーディング補償を行うことなく、フレームを符号化する(ステップ840)。符号化が終わると(ステップ850)、プロセスは終了する。
図9は、フェーディング補償を使って符号化したビデオを復号するための技術を示す流れ図900を示す。図7に示すデコーダ700などのデコーダは、流れ図900の処理を実施することができる。
最初に、デコーダは、復号するフレームのフェーディングがオンかオフかをチェックする(ステップ910)。このチェックを行う方法の1つは、エンコーダが送る信号通知情報をチェックすることである。デコーダは、フレームのフェーディングがオンであると判断すると(ステップ910)、フェーディング補償を行う(ステップ920)。例えば、デコーダは、エンコーダが送るフェーディングパラメータを取得して、復号するフレームの1つまたは複数の基準フレームに対して(エンコーダで行われたように)フェーディング補償を行う。
デコーダは、次いで、例えば、動き補償を使って、調整した基準フレームからフレームを復号する(ステップ930)。フェーディングがオフの場合、デコーダは、フェーディング補償を行うことなくフレームを復号する(ステップ930)。復号が終わると(ステップ940)、プロセスは終了する。
図10は、グローバル輝度変化補償を行うための例示的なエンコーダのフレームワーク1000を示す。このフレームワーク1000では、エンコーダは、フェーディング推定によって取得したパラメータを使って、基準フレームを条件付きで再マップする。エンコーダは、かなりの確実性及び一貫性があるフェーディングをフレームに検出すると、再マッピングまたはフェーディング補償を行う。検出しないと、フェーディング補償は同一の動作(すなわち、出力=入力)である。
図10を参照すると、エンコーダは、フェーディング検出モジュール1030を使ってカレントフレーム1010を基準フレーム1020と比較し、フェーディングが発生しているかどうかを判定する。いくつかの実施形態では、基準フレームが、ビデオシーケンス中のカレントフレームの前のフレームである。あるいは、基準フレームが前のフレームよりもさらに早いフレーム、またはカレントフレームの後のフレームである。複数の基準フレームを使用する場合、エンコーダは、各基準フレーム中のフェーディングをチェックすることができる。エンコーダは、フェーディングの検出の結果に基づき、「フェーディングオン」または「フェーディングオフ」信号1040を生成する。
フェーディングがオンの場合、フェーディング推定モジュール1050が、カレントフレーム1010及び基準フレーム1020の上で実行された計算に基づいて、フェーディングパラメータ1060を推定する。(いくつかの実施形態におけるフェーディング推定の詳細を、後のセクションC.で説明する。)
フェーディング補償モジュール1070は、フェーディングパラメータ1060を使って、基準フレーム1020(または複数の基準フレーム)を再マップする。エンコーダは、次いで、その他のエンコーダモジュール1080(例えば、動き推定と補償、周波数変換、及び量子化モジュール)を使って、フレームを圧縮する。エンコーダは、動きベクトル、残差、及び符号化したカレントフレーム1010を定義するその他の情報1090を出力する。並進動きベクトルを使った動き推定/補償の他に、グローバル輝度変化補償のフレームワークを、多種多様の動き補償に基づくビデオコーデックに適用することができる。
図11は、グローバル輝度変化補償を行うための例示的なデコーダのフレームワーク1100を示す。デコーダは、復号したカレントフレーム1110を生成する。符号化されたフェーディング補償フレームを復号するために、デコーダは、フェーディング補償モジュール1130を使って、前に復号した基準フレーム1120(または複数の基準フレーム)に対してフェーディング補償を行う。
フェーディングオン/オフ信号1140が、カレントフレームのフェーディングがオンであることを表す場合、デコーダは基準フレーム1120に対してフェーディング補償を行う。デコーダは、フェーディング推定中に取得したフェーディングパラメータ1150を使用して、(エンコーダで行われたように)フェーディング補償を行う。そうでない場合(カレントフレームのフェーディングがオフである場合)、フェーディング補償は同一の動作(すなわち、出力=入力)である。
デコーダは、次いで、その他のデコーダモジュール1160(例えば、動き補償、逆周波数変換、及び逆量子化モジュール)を使って、符号化されたフレームを動きベクトル、残差、及びエンコーダが供給するその他の情報1170を用いて圧縮解除することができる。
B.パラメータ化及び補償
ビデオ編集においては、単純なピクセルの線形変換を輝度及びクロミナンスチャネルに適用することによって、合成フェーディングが実現されることがある。同様に、時間とともに変化する合成で、クロスフェーディングが2つのビデオシーケンスの線形和として実現されることがある。したがって、いくつかの実施形態では、図10のフレームワーク1000中に示すもののようなエンコーダが、フェーディング(自然であろうと合成であろうと)をピクセルの線形変換としてパラメータ化し、クロスフェーディングを線形和としてパラメータ化し、図11のフレームワーク1100中に示すもののようなデコーダが対応する変換を行う。
I(n)をフレームnの画像とし、I(n−1)をその前のフレームの画像とする。動きが小さい場合、単純なフェーディングは、式(1)の1次の関係でモデル化される。(式(1)中の関係は、ビデオシーケンス中の可能性ある動きのために近似関係である。)
Figure 2007074750
式中、フェーディングパラメータB及びCは、それぞれ明度及びコントラストに対応する。非線形フェーディングが発生すると、1次成分は、一般に、変化の大きさを表す。
画像シーケンスU(n)から画像シーケンスV(n)までのクロスフェードは、式(2)の関係でモデル化することができる。式(2)の関係は、シーケンス中の可能性ある動きのために、近似関係である。
Figure 2007074750
Figure 2007074750
はクロスフェードの開始を表し、
Figure 2007074750
は、クロスフェードの終了を表す。いくつかのフレームにわたるクロスフェードの場合、αは小さい。クロスフェードの開始時、n番目のフレームは、n−1番目のフレームの減衰した(コントラスト<1)バージョンに近い。終了に向かって、n番目のフレームは、n−1番目のフレームの増幅した(コントラスト>1)バージョンである。言い換えれば、クロスフェードの開始時には、n番目のフレームを、コントラスト値1−αによって基準化されたn−1番目のフレームとしてモデル化することができ、クロスフェードの終了時には、n番目のフレームを、コントラスト値1+αによって基準化されたn−1番目のフレームとしてモデル化することができる。式(2)は、クロスフェードの開始時及び終了時に、エンコーダが、線形則(下記の式(3)及び(4)に示すものなど)を使って、基準フレーム(例えば、n−1番目のフレーム)を再マップすることによりn番目のフレームを取得することを示す。
エンコーダは、基準フレームを再マップすることによって、グローバル輝度変化の補償を実行する。エンコーダは、ピクセルごとのベース、または特定のその他のベースで、基準フレームを再マップする。元の再マップされていない基準フレームは、基本的に破棄される(ただし、基準フレームが複数のシナリオでは、再マップされていない基準フレームも使用することができる)。
次の線形則は式(1)に基づき、2つのパラメータB及びC(シーンの明度及びコントラストに対応)に関して、基準フレームRの輝度値を、再マップされた基準フレーム
Figure 2007074750
に再マップする。
Figure 2007074750
基準フレームの輝度値は、コントラスト値で基準化(scale)され(または「重み付け」され)、明度値だけ(すなわち、オフセットを加算することによって)シフトされる。クロミナンスについては、次の規則に従って再マップを行う。
Figure 2007074750
式中、μは、クロミナンス値の平均である。一実施形態では、128を、符号なし8ビット表示のクロミナンス値の平均とみなす。このクロミナンスの再マップの規則は、明度の成分を使用しない。
いくつかの実施形態では、式(3)及び(4)で使用している2パラメータの線形再マップを、より高次の項に拡張している。例えば、式(5)は、輝度値Rを
Figure 2007074750
に再マップする2次式である。
Figure 2007074750
他の実施形態は、他の再マップ規則を使用している。このような再マップ規則のカテゴリの1つでは、非線形フェーディングの場合には、線形マッピングが非線形マッピングに置き換えられる。
C.フェーディングパラメータの推定
フェーディング推定は、符号化プロセス中にフェーディングパラメータを計算するプロセスである。図10のフレームワーク1000中に示すもののようなエンコーダは、符号化プロセス中に、明度B及びコントラストCのパラメータを計算することができる。
いくつかの実施形態では、正確に、かつ迅速な方法でパラメータを推定するために、エンコーダは、図12に示す流れ図1200の処理を使用する。図示の技術では、輝度チャネルのみが分析されている。あるいは、より多くの計算資源が利用可能な場合は、エンコーダは分析にクロミナンスを含める。例えば、エンコーダは、式(3)及び(4)で(式(3)だけでなく)Cを求めて、Cをよりローバスト(robust)にする。
図12に示す実施形態では、フェーディング推定プロセス中は、シーン中の動きが無視される。これは、(a)フェード及びクロスフェードが一般に静止または動きが少ないシーンで発生し、また、(b)動きが多いシーンでのグローバル輝度変化補償の有用性は非常に低い、という観察に基づく。あるいは、エンコーダは、フェーディングパラメータと動き情報を一緒にして求める。その場合、流れ図1200のより後の段階で、またはその他の特定の時に、その動き情報を使用して、フェーディングパラメータの正確度を高める。動き情報を使用する1つの方法は、基準フレームの、動きが検出された部分を、フェーディング推定の計算から除外することである。
流れ図1200の様々な部分において、絶対誤差の和、
Figure 2007074750
は、フェーディングの存在とパラメータとを判断するためのメトリックスの役割を果たす。あるいは、エンコーダは、同じ誤差項に対する二乗誤差の和(SSE)または平均二乗誤差(MSE)など、その他またはさらなるメトリックスを使い、または、異なる誤差項を使う。
流れ図1200中の様々な時点で、エンコーダは、EXIT条件を満たした時点で流れ図1200を終了することができる。図12は、いくつかのEXIT条件を示す。別のEXIT条件(図12には図示せず)の場合、エンコーダは、流れ図1200の開始時または中間段階で、コントラストパラメータが1.0に近いかどうかを(一実施形態では0.99<C<1.02)をチェックし、もしそうであれば、流れ図1200を終了する。
エンコーダは、カレントフレーム及び基準フレームをダウンサンプリングすることによって、流れ図1200のプロセスを開始する(ステップ1210)。一実施形態では、エンコーダは、縦横ともに4倍でダウンサンプリングする。あるいは、エンコーダは別の倍率でダウンサンプリングし、または全くダウンサンプリングしない。
エンコーダは、次いで、カレント及び基準フレームの、より低い解像度のバージョン(下付き文字dで表す)の絶対誤差の和、Σabs(I(n)−R)を計算する(ステップ1220)。絶対誤差の和は、ダウンサンプリングしたカレントフレームとダウンサンプリングした基準フレームのピクセル値の差を測定する。絶対誤差の和が特定の閾値(例えば、ダウンサンプリングしたカレントフレーム及び基準フレーム中のピクセルの輝度値の間の、所定の差の測度)よりも小さい場合(ステップ1230)、エンコーダは、フェーディングは発生していないという結論を下し、フェーディング補償を行わない(ステップ1235)。
そうでない場合は、エンコーダは、明度(B)及びコントラスト(C)パラメータを推定する(ステップ1240)。B及びCのファーストカット(first cut)の推定は、RについてI(n)をモデル化することによって得られる。一実施形態では、明度及びコントラストパラメータは、ダウンサンプリングしたフレーム全体に対する線形回帰によって得られる。他の実施形態では、エンコーダは、よりローバストな分析のために、総合最小二乗、最小二乗メディアンなどのその他の形の統計分析を使用する。例えば、エンコーダは、誤差項I(n)−RのMSEまたはSSEを最小限にする。状況によっては、MSE及びSSEがローバストではなく、そのため、エンコーダは、誤差項の絶対誤差の和もテストする。エンコーダは、特定の点における高誤差値(フェーディングではなく、動きによる場合がある)を廃棄する。
エンコーダは、次いで、B及びCを量子化及び逆量子化することによって、B及びCを算出する(ステップ1250)。ファーストカットのパラメータを量子化及び逆量子化してB及びCを得て、それらが確実に許容範囲内に収まり、また整合性のテストができるようにする。いくつかの実施形態では、一般に8ビット深度(depth)の画像の場合、B及びCがそれぞれ6ビットに量子化される。Bは、符号付き5ビット整数として表される、−32から31までの整数値をとる。Cとして表されるCの量子化値は、量子化された値の1から63までに対応する、0.015625(1/64)の一様なステップの、0.515625から1.484375までの値である。量子化は、B及びCを最も近い有効逆量子化値に四捨五入して、適切なビンインデックス(bin index)をピッキングすることにより行われる。
エンコーダは、次いで、元の有界の絶対誤差の和(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)を累算する。計算資源が利用可能な場合は、エンコーダは、全フレームの有界の誤差の和を計算することができる。
次いで、エンコーダは、元の、及び再マップした有界の絶対誤差の和の相対的値に基づき、フェーディング補償を使うべきかどうかを判断する(ステップ1280)。例えば、いくつかの実施形態では、再マップした有界の絶対誤差の和が、元の有界の絶対誤差の和の特定の閾値である率σ以下でない場合には、エンコーダはフェーディング補償を行わない。一実施形態では、σ=0.95である。エンコーダは、フェーディング補償を行っている場合に、このときはI(n)とRの間の線形回帰に基づいて、しかしフル解像度で、フェーディングパラメータを再計算する(ステップ1290)。計算時間の節約のために、エンコーダは、フレームのランダムまたは擬似ランダムサンプリングに対して繰り返し線形回帰を実施することができる。この場合も、エンコーダは、よりローバストな分析のためには、その他の形の統計分析(例えば、総合最小二乗、最小二乗メディアンなど)を代替的に使用することができる。符号化が終わると、プロセスは終了する。
一実施形態では、エンコーダは、式(3)及び(4)においてC=−1である特殊なケースも認める。この特殊なケースは、ビットストリーム中のC=0によって信号通知される。この「逆」モードでは、基準フレームは、Bだけシフトされる前に逆転され、Bの範囲は、2の一様なステップの、193から319までの値である。
D.信号通知
図10のフレームワーク1000中に示すもののようなエンコーダは、フェーディングオン/オフ信号通知情報を、フェーディングパラメータとともに送る。図11のフレームワーク1100中に示すもののようなデコーダは、その信号通知情報及びフェーディングパラメータを受け取る。
いくつかの実施形態では、エンコーダは、シーケンスレベルで、グローバル輝度変化補償がそのシーケンスに使用可能であるかどうかを示す1ビットを送る。エンコーダはまた、フレームレベルでグローバル輝度変化を信号通知することができ、かつ/またはフレーム中の個々のブロックまたはマクロブロックなど、フレームの一部分のグローバル輝度変化を信号通知することができる。
典型的なビデオシーケンス中のフレームの間では、グローバル輝度変化またはフェーディングが発生することは稀である。ビットを追加することによって、フェーディングを(または、同様に、フェーディングが存在しないことを)を信号通知することが可能である。例えば、エンコーダは、1ビットを使って、フレームレベルでフェーディングを(または、同様に、フェーディングが存在しないことを)信号通知することができる。しかし、フェーディングを(または、同様に、フェーディングが存在しないことを)、他の情報と一緒に信号通知する方がより経済的である。例えば、エンコーダは、動きモード(すなわち、動きベクトルの数及び構成、サブピクセル補間スキーム)のための可変長コード(VLC)テーブル中のエスケープシーケンスを使って、フレームレベルの信号通知を行う。このような実施形態では、エンコーダは、最低頻度動きモード(the least frequent motion mode)とフェーディング補償の起動とを一緒に信号通知する。
イベントFはフェーディングの存在を表し、Gはそのフレームに最低頻度動きモードが選択されていることを表すとする。VLC<MVMODE>は、Gが偽である場合の動きモードを表すとする。このVLCテーブルは、F及び/またはGが真である場合にそれを信号通知するために使用される、エスケープ記号<ESC>を備えて設計されている。表1は、フェーディング補償が起動されると、Fと動きモードが一緒にコード化され、その後にフェーディングパラメータB及びCが付けられることを示している。
Figure 2007074750
あるフレームについてグローバル輝度変化が起動されると、別のVLC(<MVMODE>または<ESC>のいずれか)が付けられて、動きモードであることを表す。次いで、B及びCにそれぞれ2つの6ビットの固定長コードワードを使って、パラメータを信号通知する。あるいは、VLCを使ってパラメータを信号通知する。ブロックやマクロブロックなど、フレームの個々の部分に適用された場合には、エンコーダは、その部分は独立させて、フェーディングパラメータを信号通知することができる。例えば、ビデオフレームのあるマクロブロックにのみフェーディングが適用される場合、コード化されたブロックパターンや変換タイプなど、マクロブロックレベルの情報と結合したエントロピコードによって、フェーディング情報を信号通知することができる。
図13は、エンコーダが最低頻度動きモードとフェーディングの存在を一緒にコード化する場合の、コーディング構成(一実施形態の表1に対応する)を示す樹形図1300である。(フェーディングパラメータのコーディングの詳細は省略する。)エンコーダは、VLCを使って、その他の動きモードのそれぞれを表す(例えば、コード「0」、「10」、「110」は、それぞれ動きモード「0」、「1」、「2」を表す。)エンコーダは、フェーディングが起動されない場合には、最低頻度動きモードを表す「0」が付いたエスケープコード(例えば、「111」)を使う。エンコーダは、フェーディングが起動されることを表すには、「1」が付いたエスケープコードを使う。
別途記載していない限り、本明細書に記載のプログラム、プロセス、または方法は、特定のタイプのコンピューティング環境に関するものではなく、またそれに限定されるものでもないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書に記載の教示に従って使用することができ、または、動作を行うことができる。ソフトウェアで示す実施形態の要素をハードウェアで実装することができ、またその反対も可能である。
本発明の原理を適用することができる多くの可能な実施形態を考慮して、特許請求の範囲及びその同等物の範囲及び趣旨に含み得るものすべてを、本発明として主張する。
従来技術によるブロックに基づくフレーム内圧縮を示す図である。 従来技術によるビデオエンコーダ中の動き推定を示す図である。 従来技術によるブロックに基づくフレーム間圧縮を示す図である。 従来技術によるブロックに基づくフレーム間圧縮解除を示す図である。 本発明の実施形態を実装することができる、適切なコンピューティング環境の構成図である。 本発明の実施形態で使用される、汎用型ビデオエンコーダシステムの構成図である。 本発明の実施形態で使用される、汎用型ビデオデコーダシステムの構成図である。 本発明の実施形態の、フェーディング推定及び補償を使った、ビデオを符号化するための技術を示す流れ図である。 本発明の実施形態の、フェーディング補償を使った、ビデオを復号するための技術を示す流れ図である。 本発明の実施形態の、フェーディング推定及び補償を行うことが可能なビデオエンコーダシステムの構成図である。 本発明の実施形態の、フェーディング補償を行うことが可能なビデオデコーダの構成図である。 本発明の実施形態の、フェーディングの検出及びパラメータの抽出のための技術を示す流れ図である。 本発明の実施形態の、フレームにフェーディング補償を使用すべきかどうかを指示するための信号通知スキームを示す図である。
符号の説明
100 ブロックベースのフレーム内圧縮
105 8×8のピクセルブロック
110 離散コサイン変換(DCT)
115 8×8のDCT係数ブロック
125 8×8の量子化DCT係数ブロック
135 隣接ブロック
145 8×8ブロック
170 エントロピコード
1090、1170 その他の情報
126、136 DC係数
127、137 左縦列
140、147 差分
155、365、425 1次元配列
165、375、415 Run/Level/Lastテーブル
210 予測フレーム
215 マクロブロック
230、725、1020、1120 基準フレーム
235 サーチエリア
315、465 予測ブロック
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 汎用型ビデオエンコーダ、エンコーダ
605、1010 カレントフレーム
610 動き推定
615、715 動き情報
620 フレーム記憶
625 フレーム
630、730 動き補償
635 動き補償カレントフレーム
645 予測残差
666、760 逆周波数変換660 周波数変換
670 量子化
676、770 逆量子化
690、790 バッファ 680 エントロピコーダ
695 圧縮ビデオ情報
700 汎用型ビデオデコーダ
705 再構築フレーム
720 フレーム記憶
735 フレームの予測
780 エントロピデコーダ
795 ビデオフレームシーケンスの情報
800 ビデオを符号化する流れ図
900 ビデオを復号する流れ図
1000 エンコーダフレームワーク
1030 フェーディング検出モジュール
1050 フェーディング推定モジュール
1070 フェーディング補償モジュール
1080 その他のエンコーダモジュール
1100 デコーダフレームワーク
1110 復号されたカレントフレーム
1130 フェーディング補償モジュール
1160 その他のデコーダモジュール
1040、1140 フェーディングオン/オフ信号
1060、1150 フェーディングパラメータ
1200 パラメータを推定するための流れ図
1300 樹形図

Claims (7)

  1. 符号化中の方法であって、
    複数の基準ビデオフレームを有するカレントビデオフレームについて、ビデオビットストリームの第1のシンタクスレベルでフェーディング補償フラグを信号通知するステップと、
    前記第1のシンタクスレベルの前記フェーディング補償フラグが、複数の基準ビデオフレームを有する前記カレントビデオフレームのフェーディング補償が起動されていることを表す場合には、前記ビデオビットストリーム中の前記第1のシンタクスレベルよりも低い第2のシンタクスレベルでの複数のフェーディングパラメータを信号通知するステップであって、前記複数のフェーディングパラメータは、複数の基準ビデオフレームを有する前記カレントビデオフレームの少なくとも一部のフェーディング補償についてのものであり、前記フェーディング補償は、前記複数のフェーディングパラメータの少なくとも一部に基づいて、前記複数の基準ビデオフレーム中の複数のピクセル値を調整することを含む、信号通知するステップと
    を備えることを特徴とする方法。
  2. 復号中の方法であって、複数の基準ビデオフレームを有するカレントビデオフレームについて、
    ビデオビットストリームの第1のシンタクスレベルでフェーディング補償フラグを受信し処理するステップと、
    前記第1のシンタクスレベルの前記フェーディング補償フラグが、複数の基準ビデオフレームを有する前記カレントビデオフレームのフェーディング補償が起動されていることを表す場合には、前記ビデオビットストリーム中の前記第1のシンタクスレベルよりも低い第2のシンタクスレベルでの複数のフェーディングパラメータを受信し処理するステップであって、前記複数のフェーディングパラメータは、前記カレントビデオフレームの少なくとも一部のフェーディング補償についてのものであり、前記フェーディング補償は、前記複数のフェーディングパラメータの少なくとも一部に基づいて、前記複数の基準ビデオフレーム中の複数のピクセル値を調整することを含む、受信し処理するステップと
    を備えることを特徴とする方法。
  3. 前記複数の基準ビデオフレーム中の前記複数のピクセル値は、輝度値及び/またはクロミナンス値を含むことを特徴とする請求項1又は2に記載の方法。
  4. 前記複数のピクセル値は、前記複数の基準ビデオフレーム中の全てのピクセル値を含むことを特徴とする請求項1又は2に記載の方法。
  5. 前記第1のシンタクスレベルはフレームレベルであることを特徴とする請求項1又は2に記載の方法。
  6. 前記複数のフェーディングパラメータは、少なくとも1つの重み付けパラメータと、少なくとも1つのオフセットパラメータとを含むことを特徴とする請求項1又は2に記載の方法。
  7. 前記複数のフェーディングパラメータは、輝度値を調整するための1つまたは複数のフェーディングパラメータと、クロミナンス値を調整するための1つまたは複数の異なるフェーディングパラメータとを含むことを特徴とする請求項1又は2に記載の方法。
JP2006313638A 2002-05-03 2006-11-20 ビデオ画像を処理するコンピュータ実行方法 Expired - Lifetime JP4102841B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37762802P 2002-05-03 2002-05-03
US10/379,079 US7609767B2 (en) 2002-05-03 2003-03-03 Signaling for fading compensation

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003128416A Division JP4159400B2 (ja) 2002-05-03 2003-05-06 ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Publications (2)

Publication Number Publication Date
JP2007074750A true JP2007074750A (ja) 2007-03-22
JP4102841B2 JP4102841B2 (ja) 2008-06-18

Family

ID=29219040

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2003128416A Expired - Lifetime JP4159400B2 (ja) 2002-05-03 2003-05-06 ビデオ画像を処理するコンピュータ実行方法及び記録媒体
JP2006313638A Expired - Lifetime JP4102841B2 (ja) 2002-05-03 2006-11-20 ビデオ画像を処理するコンピュータ実行方法
JP2007195221A Expired - Lifetime JP4249790B2 (ja) 2002-05-03 2007-07-26 ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003128416A Expired - Lifetime JP4159400B2 (ja) 2002-05-03 2003-05-06 ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007195221A Expired - Lifetime JP4249790B2 (ja) 2002-05-03 2007-07-26 ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Country Status (6)

Country Link
US (1) US7609767B2 (ja)
EP (1) EP1359770B1 (ja)
JP (3) JP4159400B2 (ja)
KR (1) KR100578432B1 (ja)
CN (1) CN1267817C (ja)
HK (1) HK1060244A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011503979A (ja) * 2007-12-13 2011-01-27 メディアテック インコーポレイテッド ビデオ圧縮のためのループ内忠実度の向上
JP2011055229A (ja) * 2009-09-01 2011-03-17 Fujitsu Ltd 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムならびに映像伝送装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8135073B2 (en) * 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
JP4339675B2 (ja) * 2003-12-24 2009-10-07 オリンパス株式会社 グラデーション画像作成装置及びグラデーション画像作成方法
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
JP4232971B2 (ja) 2004-04-16 2009-03-04 Kddi株式会社 動き予測情報検出装置
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US7894522B2 (en) * 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
TWI276047B (en) * 2005-12-15 2007-03-11 Ind Tech Res Inst An apparatus and method for lossless entropy coding of audio signal
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
FR2925187B1 (fr) * 2007-12-14 2011-04-08 Commissariat Energie Atomique Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
JP5156704B2 (ja) 2008-07-29 2013-03-06 パナソニック株式会社 画像符号化装置、画像符号化方法、集積回路及びカメラ
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
US8396119B1 (en) 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
CN102823248B (zh) * 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
RU2556396C2 (ru) 2010-09-03 2015-07-10 Долби Лабораторис Лайсэнзин Корпорейшн Способ и система для компенсации освещенности и перехода при кодировании и обработке видеосигнала
US9811373B2 (en) * 2011-02-09 2017-11-07 Nec Corporation Analysis engine control device
KR101677406B1 (ko) 2012-11-13 2016-11-29 인텔 코포레이션 차세대 비디오용 비디오 코덱 아키텍처
KR20150056811A (ko) * 2012-11-13 2015-05-27 인텔 코포레이션 차세대 비디오를 위한 콘텐츠 적응적 변환 코딩
US10972749B2 (en) * 2019-08-29 2021-04-06 Disney Enterprises, Inc. Systems and methods for reconstructing frames
US11012718B2 (en) 2019-08-30 2021-05-18 Disney Enterprises, Inc. Systems and methods for generating a latent space residual

Citations (7)

* 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 動き補償フレーム間符号化・復号化方法とその符号化装置・復号化装置
JPH0646412A (ja) * 1992-07-24 1994-02-18 Victor Co Of Japan Ltd 動画像予測符号化方法及び復号方法
JPH10136385A (ja) * 1996-09-03 1998-05-22 Nippon Telegr & Teleph Corp <Ntt> 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
JP2000261810A (ja) * 1999-03-08 2000-09-22 Pioneer Electronic Corp フェード検出装置及び情報符号化装置
JP2001231045A (ja) * 2000-02-15 2001-08-24 Nec Corp 動画像符号化および復号化装置
JP2002051341A (ja) * 2000-08-02 2002-02-15 Fujitsu Ltd 動画像符号化装置および動画像の特殊効果シーン検出装置
JP2004007650A (ja) * 2002-05-03 2004-01-08 Microsoft Corp ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245436A (en) 1992-02-14 1993-09-14 Intel Corporation Method and apparatus for detecting fades in digital video sequences
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
US5796855A (en) * 1995-10-05 1998-08-18 Microsoft Corporation Polygon block matching method
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
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
AU726129B2 (en) 1996-12-10 2000-11-02 British Telecommunications Public Limited Company Video coding
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
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
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
CN1241416C (zh) * 1999-02-09 2006-02-08 索尼公司 编码系统和方法、编码及解码、记录及再现的设备和方法
EP1303988A1 (en) * 2000-07-13 2003-04-23 Koninklijke Philips Electronics N.V. Pre-processing method for motion estimation
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
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치

Patent Citations (7)

* 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 動き補償フレーム間符号化・復号化方法とその符号化装置・復号化装置
JPH0646412A (ja) * 1992-07-24 1994-02-18 Victor Co Of Japan Ltd 動画像予測符号化方法及び復号方法
JPH10136385A (ja) * 1996-09-03 1998-05-22 Nippon Telegr & Teleph Corp <Ntt> 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
JP2000261810A (ja) * 1999-03-08 2000-09-22 Pioneer Electronic Corp フェード検出装置及び情報符号化装置
JP2001231045A (ja) * 2000-02-15 2001-08-24 Nec Corp 動画像符号化および復号化装置
JP2002051341A (ja) * 2000-08-02 2002-02-15 Fujitsu Ltd 動画像符号化装置および動画像の特殊効果シーン検出装置
JP2004007650A (ja) * 2002-05-03 2004-01-08 Microsoft Corp ビデオ画像を処理するコンピュータ実行方法及び記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KAZUTO KAMIKURA, HIROSHI WATANABE, HIROHISA JOZAWA, HIROSHI KOTERA, AND SUSUMU ICHINOSE: "Global Brightness-Variation Compensation for Video Coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 8, no. 8, JPN4006015285, December 1998 (1998-12-01), pages 988 - 1000, XP011014527, ISSN: 0000988657 *
KAZUTO KAMIKURA, HIROSHI WATANABE, HIROHISA JOZAWA, HIROSHI KOTERA, AND SUSUMU ICHINOSE: "Global Brightness-Variation Compensation for Video Coding", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 8, no. 8, JPN4007008544, December 1998 (1998-12-01), pages 988 - 1000, XP011014527, ISSN: 0000846322 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011503979A (ja) * 2007-12-13 2011-01-27 メディアテック インコーポレイテッド ビデオ圧縮のためのループ内忠実度の向上
US10327010B2 (en) 2007-12-13 2019-06-18 Hfi Innovation Inc. In-loop fidelity enhancement for video compression
JP2011055229A (ja) * 2009-09-01 2011-03-17 Fujitsu Ltd 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラムならびに映像伝送装置

Also Published As

Publication number Publication date
JP2007306619A (ja) 2007-11-22
US20030206583A1 (en) 2003-11-06
US7609767B2 (en) 2009-10-27
EP1359770B1 (en) 2014-05-07
KR100578432B1 (ko) 2006-05-11
CN1460925A (zh) 2003-12-10
JP4159400B2 (ja) 2008-10-01
CN1267817C (zh) 2006-08-02
JP4102841B2 (ja) 2008-06-18
HK1060244A1 (en) 2004-07-30
KR20030086904A (ko) 2003-11-12
JP2004007650A (ja) 2004-01-08
JP4249790B2 (ja) 2009-04-08
EP1359770A3 (en) 2004-11-17
EP1359770A2 (en) 2003-11-05

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
EP1746840A2 (en) Parameterization for fading compensation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20070427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

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

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4102841

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

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