JP2005515719A - ビデオ符号器においてマクロブロック量子化パラメータを選択する方法及び装置 - Google Patents

ビデオ符号器においてマクロブロック量子化パラメータを選択する方法及び装置 Download PDF

Info

Publication number
JP2005515719A
JP2005515719A JP2003561226A JP2003561226A JP2005515719A JP 2005515719 A JP2005515719 A JP 2005515719A JP 2003561226 A JP2003561226 A JP 2003561226A JP 2003561226 A JP2003561226 A JP 2003561226A JP 2005515719 A JP2005515719 A JP 2005515719A
Authority
JP
Japan
Prior art keywords
quantization parameter
sequence
cost function
value
macroblock
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
JP2003561226A
Other languages
English (en)
Other versions
JP4510463B2 (ja
JP2005515719A5 (ja
Inventor
オクテム,レベント
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of JP2005515719A publication Critical patent/JP2005515719A/ja
Publication of JP2005515719A5 publication Critical patent/JP2005515719A5/ja
Application granted granted Critical
Publication of JP4510463B2 publication Critical patent/JP4510463B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)

Abstract

ビデオ符号器において量子化パラメータ値のシーケンスを選択する方法及び対応する装置。該ビデオ符号器は、ビデオフレームをn個のマクロブロックのシーケンスとして符号化すると共に該ビデオフレームの各マクロブロックのために量子化パラメータ値を割り当てるように構成される。この方法は、前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる量子化パラメータ値が、それらの符号化に関連するコストを最小限にするように最適化されるステップ(23,24,25)を含む。

Description

本発明は、ビデオ符号化システムに関する。本発明は、特に、動き補償予測を用いてビデオシーケンスを圧縮するための2つの標準的システム、即ちITU−T H.263及びMPEG−4超低ビットレートビデオ(VLBV)に関する。
動き補償予測を用いてビデオシーケンスを圧縮する2つの標準的システムは、超低ビットレート・テレビ電話についてのITU−T SG 15専門家グループ、草案勧告H.263、1995年2月(ITU−T SG 15 Experts Group for Very Low Bitrate Visual Telephony, Draft Recommendation H.263, Feb. 1995)に記載されているITU−T H.263と、MPEGビデオグループによるMPEG−4超低ビットレートビデオ(VLBV)、記述されたMPEG−4ビデオ検証モデル−バージョン5.0、Doc.ISO/IEC/JTCI/SC29/WG11、N1469マセイオ、1996年11月(MPEG−4 Very Low Bit rate Video (VLBV)、described MPEG−4 Video Verification Model − Version 5.0、by the MPEG Video Group、Doc. ISO/IEC/JTCI/SC29/WG11、N1469 Maceio、Nov. 1996)とである。バージョン1の定義後に、H.263に対する拡張が幾つかあった。拡張バージョンはH.263+と称されることがよくある。H.263という用語は、ここでは、拡張されていないバージョン、即ちバージョン1に言及するために使われる。MPEG−4 VLBVとH.263とで使われるアルゴリズムは似ているので、ここでの議論はH.263のためのアルゴリズムに焦点を合わせる。
H.263は、低ビットレート(<64キロビット/秒)でのビデオシーケンスの圧縮についてのITU−T勧告であり、前のITU−T勧告であるH.261に基づいている。H.263符号器の制御コンポーネントのブロック図が図1に描かれている。(ビデオ符号器は示されていない。)この様な符号器の主要な要素は、予測モジュール11、1対のブロック変換モジュール12(変換モジュールT及びT-)、及び1対の量子化モジュール13(量子化モジュールQ及びQ-)である。更に、符号化制御モジュール14がある。
符号化制御モジュール14は、全ての符号化パラメータを決定し、システムの頭脳として作用する。符号化制御からのイントラ/インター決定データフローは、現在のフレームを符号化するために前のフレームの情報を利用するか否かを信号で伝える。
符号化制御モジュールから提供される量子化指示データフローは、各マクロブロックのために使われるべき量子化パラメータと称されるものを決定する。この決定は、フレームレベル又はマクロブロック・レベルで行われても良い。本発明は、この信号の生成に焦点を合わせる。
図1で言及されている'ビデオ多重化符号器'は、単なるマルチプレクサであって、’ビデオイン’を入力の1つとして使うものではない。“ビデオ多重化符号器へ”提供されるものとして示されている信号は、ビデオ信号の圧縮表示を含む。
連続するフレーム間の時間的相関を利用するために、前に復元されたフレームが利用可能であって且つ有益であるならば、システムは始めに動き補償予測を実行するが、この“有益”という用語は、前のフレームを使えば(インター符号化)前のフレームを使わない場合(イントラ符号化)より良好な圧縮性能が得られるということを示す。結果のフレームが充分に相関していなければ、イントラ符号化の方が良好な圧縮性能をもたらす可能性がある。システムは、始めに、動き情報と前に復元されたフレームとを用いて動き補償予測を実行する。動き情報(図1のv)は、符号器で実行された予測と同じ予測を復号器が実行できるように(符号器から復号器へ)送信される。次に、空間的相間を利用するためにDCT(即ち、離散余弦変換)と称されるブロック変換がブロックTで予測誤差に(又は、予測無しの場合にはフレーム自体に)適用される。最後に、予測誤差のDCT係数がブロックQで量子化されエントロピー符号化される。量子化器は、ビデオシーケンスにロスを導入していっそう高度の圧縮を達成するための主要メカニズムである。ロスの量(従ってビットレートも)は量子化器の増分により制御され、これは、1から31の間の整数値を持っていて符号化制御モジュール14からブロックQに提供される量子化パラメータ(QP)により表わされる。QPは、復号器に知られなければならないので、側路(補助的)情報として伝えられる(図1ではqzとして示されている)。
H.263の基本層はマクロブロック層である。一度に1つのマクロブロックを処理することによって符号化の主要素(予測、ブロック変換及び量子化)を実行できるという意味において、マクロブロック(MB)はH.263の基礎的要素である。マクロブロックは、1つの16×16ルミナンスブロックと、2つの8×8クロミナンスブロックと、複数のマクロブロック−レベル符号化パラメータ(マクロブロック・タイプなど)の表示から成り、一部のマクロブロック−レベル符号化パラメータは任意のものである。マクロブロックはラスタースキャン順に送られる。マクロブロック−レベル符号化パラメータは、ビットの見地から高価であるので、必要がある場合に限ってマクロブロックレベルで符号化される。(量子化パラメータQPなどの符号化パラメータのフレーム−レベル符号化がある。マクロブロック−レベル符号化が実行されないときには、これらのフレーム−レベル値が使用される。)
H.263は、QPに対する限定されたマクロブロック−レベル制御を提供する。即ち、現在のマクロブロックのQPと前に符号化されたマクロブロックのQPとの差を符号化する任意の2ビットDQUANTフィールドがある。(H.263+(2/98)のセクション5.3.6を参照。)H.263のセクション5.3.6に記載されているビットフィールド制約の結果として、マクロブロックQPは、変更される毎にせいぜい±2だけ変化可能である。QPの変化がレート制御のために使われるというシナリオでは、QPの変化の範囲に対するこの様な制約は完全に充分である。しかし、例えば、自動的に検出され或いはユーザ画定される人の顔などの関心領域により多くのビットを割り当てる(従ってより少ないロスを導入する)手法である関心領域符号化など、QPを変更するレート制御以外の他の理由がおそらくあるであろう。
関心領域(ROI)符号化などの、レート制御以外の目的のためにマクロブロック−レベルQPの変更が必要とされるシナリオを考察する。この様なシナリオでは、QPの限定されたマクロブロック−レベル制御は重要な制約を課す。関心領域アナライザーにより提案されるか或いはユーザにより入力された任意のQP分布をH.263(又はMPEG−4 VLBV)符号器により充分に実現するのは不可能である。従って、或る定義された意味において、この様な符号器は始めに提案された分布になるべく近い近似実現を選ばなければならない。最適性の定義(或いは同等にコストの尺度)が与えられれば、本発明は、実現を最適に選択する方法を提供し、即ち制約付き実現が招く総コストを最小限にする方法を提供し、総コストはQP分布が提案された分布に近いほど低く、使用されるビット数が多いほど高くなるように定義される。
超低ビットレート・テレビ電話についてのITU−T SG 15専門家グループ、草案勧告H.263バージョン2、1998年1月(ITU−T SG 15 Experts Group for Very Low Bitrate Visual Telephony, Draft Recommendation H.263 Version 2, Jan. 1998)において定義されているH.263+における関連問題として、任意の分布を正確に表示するのは、ビット配分に関しておそらく非常に高価であり、従ってあまり望ましくない解決策であろう。マクロブロック・ベースで量子化を変更することができ、それ以上精細な変更は不可能である。“任意の分布を正確に表示する”という用語は、マクロブロックQPを任意に選択することを意味する。各マクロブロックに別々のQPを割り当てることにより形成されるベクトルQPを考察する。或る成分ベクトルの表示に必要なコストは他の成分ベクトルの表示より(ビット数で)遥かに少ない。もし近くのマクロブロックのQP値を考慮せずにQPをそれぞれのマクロブロックについて選択すれば、ブロック毎のQPの変化を表示するために法外に多数のビットを消費することになりそうである。
符号器は、関心領域アナライザーによる(QP分布についての)最初の提案に従うこととQPの変化のために消費される総ビット数を最小限にすることとの最善の釣り合いを見出さねばならない。この関連問題について、本発明は、この釣り合いを表わすコスト関数が定義されたときの最善の釣り合いを見出す方法を提供する。
〔問題は以前はどのように解決されていたか〕
ROI符号化を使用するMPEG−4ビデオ符号器について、従来技術によれば、ビデオ技術についてのCASに関するIEEE会報、pp.928−934、第8巻、第8号、1998年12月の、N.ドラミス、A.ドラミス、D.カロゲラス及びS.コリアスによる“適応関心領域を使用するイメージシーケンスの低ビットレート符号化”(Low Bit−Rate Coding of Image Sequences Using Adaptive Regions of Interest、by N. Doulamis、A.Doulamis、D.Kalogeras and S.Kollias、IEEE Tran.on CAS for Video Technology、PP.928−934, vol.8、no.8、Dec. 1998)に記載されているように、またビデオ技術についてのCASに関するIEEE会報、pp.1190−1203、第9巻、第8号、1999年12月の、T.マイアー及びN.ガンによる“内容に基づく符号化のためのビデオ分割”(Video Segmentation for Content−Based Coding、by T.Meier and N.Ngan、IEEE Tran.on CAS for Video Technology、pp.1190−1203、vol.9、no.8、Dec.1999),に記載されているように、各フレームを2つのビデオ物体平面(VOP)即ちフォアグラウンドVOP及びバックグラウンドVOPに分離することを通してQP制御が達成される。この様な分離は、フォアグラウンド/バックグラウンド分離境界での±2変化制約を克服する。
従来技術の解決策には欠点が2つある。第1に、VOP分割を符号化するためのビットオーバーヘッドがあり、これは、フォアグラウンドがコンパクトでなければ法外になる可能性がある。フォアグラウンド/バックグラウンド分離に関する決定を行うときにこれらのビットを考慮に入れるのは困難である。従って、最適化は、不可能ではないとしても、困難である。第2に、従来技術の解決策は、各VOP内での勾配付きQP制御を直接与えるものではない(即ち、各VOP内で可変である)。各VOP内で勾配付き制御を達成するためにQPの値を更にバックグラウンド内で及び/又はフォアグラウンド内で変化させなければならない。QPをどのように変化させることができるかということに関して依然として制約があって、最適化は、フレーム全体を含む単一のVOPの中でのQP制御がデリケートであるという始めの問題よりももっと非実用的となる。
H.263では、VOP構造は支援されない。従って、この解決策も利用できない。従って、±2変化制約はH.263では全てのマクロブロックに適用される。従って、ROI符号化(又は微妙なQP制御を必要とする他の任意のシナリオ)のためのマクロブロックQP選択のフレームレベル最適化のための手法はH.263には無い。
H.263+は精密なQP制御のためのビット高価なメカニズムを提供する。6ビットを費やす(使う)ことによってマクロブロックのための任意のQPを表示することが可能である。超低ビットレートのアプリケーション(これらはH.263及びH.263+の主焦点である)では、任意のQP分布を表示すればビット配分に関して簡単に法外となる可能性があるので、フレーム−レベル最適化が特に有利である。しかし、H.263の場合と同じく,ROI符号化(又は微妙なQP制御を必要とする他の任意のシナリオ)のためのマクロブロックQP選択のフレーム−レベル最適化のための公知手法はH.263+には存在しない。
必要なのは、低ビットレート・アプリケーションに役立つようにビット高価ではない方法で精密なQP制御、すなわちフレーム−レベル制御、を提供するメカニズムである。
[本発明の要約]
従って、本発明の第1の局面は、ビデオ符号器において量子化パラメータ値のシーケンスを選択する方法を提供し、該ビデオ符号器は、ビデオフレームをn個のマクロブロックのシーケンスとして符号化すると共に該ビデオフレームの各マクロブロックのために量子化パラメータ値を割り当てるように構成され、この方法は、前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる量子化パラメータ値が、それらの符号化に関連するコストを最小限にするように最適化されることを特徴とする。
本発明の第1の局面によると、前記n個のマクロブロックのシーケンスの前記部分集合は前記のn個のマクロブロックの全部を含んでいても良い。
又、本発明の第1の局面によると、前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、ビタビ・サーチ・アルゴリズム(Viterbi search algorithm)を用いて実行可能である。
また、本発明の第1の局面によると、前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、量子化パラメータ値の示唆されたシーケンスの符号化に関連するコストを量子化パラメータ値の候補シーケンスの符号化のコストと比較することにより実行可能である。
更にまた本発明の第1の局面によると、該方法がビデオ符号器の量子化パラメータQPのフレーム−レベル制御を提供するアプリケーションでは、該ビデオ符号器はフレームの各マクロブロックについて1つの量子化パラメータを有し、フレームはn個のマクロブロックから成り、この方法は、候補量子化パラメータシーケンスとして働く任意の要素として量子化パラメータシーケンスQを有する全ての可能な量子化パラメータシーケンスの集合から最適化量子化パラメータシーケンスQ*を提供し、該最適化量子化パラメータシーケンスQ*は、示唆された量子化パラメータシーケンスSの代わりに該候補量子化パラメータシーケンスQを使用することのコストを示すコスト関数C(Q,S)を最小化し、この方法は、示唆された量子化パラメータシーケンスSを受け取るステップと;所定基準に従って測られた該候補シーケンスQと示唆された量子化パラメータシーケンスSとの相違を表わす成分D(Q,S)を有すると共に、該候補シーケンスQを表わすのに費やされるビットの数に比例する成分R(Q)を有するコスト関数C(Q,S)を定義するステップと;該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップとを含むことができ;これにより、示唆された量子化パラメータシーケンスSをビット効率的に近似する最適化量子化パラメータシーケンスQ*を提供する。
更に、示唆された量子化パラメータシーケンスSは、関心領域アナライザーにより提供されても良い。
更に、該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップは、示唆された量子化パラメータシーケンスSの量子化パラメータにより張られる量子化パラメータ値の範囲に属する値kについて最適制約付きコスト関数Ck *(St)を計算するステップを含むことができ、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な示唆された量子化パラメータシーケンスStの関数であって、最後のt番目の要素として値kを有する量子化パラメータを有する任意の可能な部分的候補量子化パラメータシーケンスQt,kを使うことにより達成可能な最低のコストを示す。
また、更に、該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップは、所定最小値から所定最大値までの量子化パラメータ値の範囲を示唆された量子化パラメータシーケンスSから決定するサブステップと;シーケンス長さtを1に等しくセットするサブステップと;値kを該所定最小値に等しくセットするサブステップと;最適制約付きコスト関数Ck *(St)を計算するサブステップであって、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な示唆された量子化パラメータシーケンスStの関数であり、1より大きなtについての該最適制約付きコスト関数の計算は、Ck *(St)をCk *(St-1)の項で与えると共に項r(k、j)+Cj *(St-1)を含む帰納的関係に基づき、このr(k、j)は、示唆された量子化パラメータシーケンスSから決定される範囲の中の値を有する変数jでQを表わすのに費やされるビットの数に比例するコスト関数成分R(Q)の要素であるサブステップと;現在のt及びkについて、該項r(k、j)+Cj *(St-1)を最小にするjの値を蓄積するサブステップと;該最適制約付きコスト関数Ck *(St)を計算すると共に、現在のt及びkについて、kが該所定最大値に等しくなるまで前のものより1だけそれぞれ大きなkの連続する値について且つtがフレーム中のマクロブロックの数に等しくなるまでtの前の値より1だけそれぞれ大きなtの連続する値について該項r(k、j)+Cj *(St-1)を最小にするjの値を蓄積するサブステップと;示唆されたシーケンスSの中の量子化パラメータ値の範囲内の全てのkの値についてのCk *(St=n)の比較に基づいて最適コスト関数C*(St=n)を決定するサブステップと;始めに最後のマクロブロックについての量子化パラメータをCk *(St=n)を最小にするkの値に等しくセットし、次に逆にたどって、作られる最適化シーケンス中の前の各量子化パラメータに次のマクロブロックについて蓄積されているjの値を割り当てるプロセスによって該最適化シーケンスQ*を作るサブステップとを含むことができる。
更に、コスト関数成分D(Q,S)は、式
Figure 2005515719
で与えられる形のものであり、ここでd(qi,si)は、独立変数として、候補量子化パラメータシーケンスの要素qiと示唆された量子化パラメータシーケンスの対応する要素siとを有するメモリーレスのマクロブロック−レベル非負コスト成分であり、コスト関数成分R(Q)は式
Figure 2005515719
により与えられる形であって良く、ここでr(qi,qi-1)はマクロブロックiについて量子化パラメータを符号化するために使われるビットの数とマクロブロックi−1について量子化パラメータを符号化するために使われるビットの数との関係を表わすメモリーレスのマクロブロック−レベル非負コスト成分であり、コスト関数成分R(Q)の要素r(qi,qi-1)は式
Figure 2005515719
により与えられ、コスト関数成分D(Q,S)の要素d(qi,si)は式
d(qi,si)=(qi−si2
で与えられ、更に、コスト関数成分R(Q)の要素r(qi,qi-1)は式
Figure 2005515719
により与えられ、ここでλはレート歪み釣り合いパラメータとして役立つ所定の非負値であり、
Figure 2005515719
はqi-1が与えられたときにqiを表わすためのビットの数である。また、コスト関数成分D(Q,S)の要素d(qi,si)は式
Figure 2005515719
で与えられ、ここでmse(...)は、元のマクロブロック内容と、表示されている量子化パラメータシーケンスの要素qi又はsiを用いて復元されたマクロブロック内容との平均二乗誤差を意味する。
本発明の第2の局面によると、本発明の第1の局面による方法を実行するための装置が提供される。
本発明は、マクロブロックQPを最適に選択するためのフレーム−レベルのアルゴリズムに基づいている。最適化基準は外部で定義可能であり、これは、いろいろな動作モードに合わせて該アルゴリズムをカスタマイズすることを可能にする。該アルゴリズムはダイナミック・プログラミング・アプローチを使用するが、コアアルゴリズムの計算量はほどよく少ない。
発明者の知っている限りでは、本発明は、H.263(+)又はMPEG−4の枠組みの中でのマクロブロックQP選択のフレーム−レベル最適化のための第1の方法である。デリケートなQP制御シナリオでは、本発明の最適化は、次善のデリケートなQP制御を提供する従来技術よりも良好に制約付きビット配分を利用できるようにする。例えば、H.263+符号器は、(ビット数で)高コストではあるがQP変化を充分に制御する能力を提供する。更に、H.263符号器は、ROI符号化エンジンが示唆したQP変化を次善に近似できるに過ぎない。ビット配分の良好な利用は、超低ビットレートビデオ圧縮アプリケーションでは特に有利である。
コアアルゴリズムの計算量は程よく少ない。例えば或る実施態様における要素r(qi,qi-1)及びd(qi,si)などのコスト関数の要素の値を計算するときの計算コストが考慮されない場合(コスト関数の要素は普通はコアアルゴリズムの外側で計算されるので)、コアアルゴリズムは通常は1ピクセルあたりにほぼ1つの足し算及び1つの比較演算(或いはもっと少ない演算)を実行する。(1マクロブロック中には256個のピクセルがある。)この様なピクセルあたり演算数は高性能ビデオ符号器にとっては非常に小さなオーバーヘッドである。
本発明の上記の、及びその他の目的、特徴及び利点は、添付図面と関連して提示されている以下の詳細な記述を検討すれば明らかとなろう。
ここでの開示はH.263規格の文脈で(即ち、H.263規格に従う符号器に関して)提供されるが、本発明はMPEG−4 VLBV規格にも直接に適用可能であるが、その理由は、これら2つの規格が似ていることにある。
該最適化アルゴリズムはいわゆるビタビ(Viterbi)・アルゴリズムの形であり、このアルゴリズムでは各フレームについて最適のQPシーケンスが捜索される。ビタビ・アルゴリズムは、G.D.フォーニイ・ジュニア(G.D.Forney,Jr.)による“ビタビ・アルゴリズム(VITERBI ALGORITHM)”、IEEE会報、pp.268−278、1973年3月、に記載されている。
QPシーケンスという用語は、ここで、1フレーム中のマクロブロックの数に等しい長さを持っていて、各マクロブロックに割り当てられているQPをラスタースキャン順に選ぶことにより作られるデータオブジェクトを指すために使われる。もっと細部まで立ち入る前に、語句を幾つか定義し、ここで使われる表記を提示する必要がある。
〔定義及び表記〕
iはi番目のマクロブロックについて関心領域(ROI)符号化エンジンにより示唆されたQP値を示し、S={si}は符号化されるフレームについてROI符号化エンジンにより示唆されたQPシーケンスを示すものとする。Q={qi}は、要求されたSに応答してフレームの選択されたQPシーケンスとして最適化アルゴリズムにより割り当てられるべき任意の候補QPシーケンスを示すものとする。シーケンスQ及びSのそれぞれの長さは1フレーム中のマクロブロックの数に等しい。この長さをnで表わす。
部分的な示唆されたQPシーケンス{sii=1..t(即ち{s1,s2,...,st})をStで表わし、ここでt≦nである。この表記に従うと、Sn=Sである。同様に、Qtを使って部分的候補QPシーケンスを示す。Qtの少し制約された形として、Qt,kは、最後の要素がqt=kである部分的シーケンスQtを表わすものとする(ここでkは区間[1,31]の中の整数である)。例えば、t=5であり(且つフレーム中のマクロブロックの数nより小さい)、k=8であれば、Qtはシーケンス{3,5,2,4,8}であって良いが、5個の要素を有し、最後の要素が値8を有する任意のシーケンスである。
C(Q,S)は、Sが示唆されたQPシーケンスであるときにQをQPシーケンスとして選択することのコストを表わすものとする。コスト関数C(Q,S)が賢明である(即ち、直感と矛盾しない)ためには、該コスト関数は少なくとも下記の特性を有するべきである。
a)C(Q,S)は非負でなければならない。
b)もしQが表示不能であれば、関連するコスト関数C(Q,S)は無限大であるとされる。(QPシーケンスは、もしビデオ符号器が該QPシーケンスをその値を変化させずに符号化できるならば、表示可能であると言われる。例えば、QPシーケンス{5,12、...}は、H.263符号器により符号化される連続するQP値は+−2より大きく違っていてはならないのに、この例では12と5とは7だけ違っているので、H.263符号器によっては表示可能ではない。慣習により、このシーケンス{5,12,...}を表示するには無限に多くのビットを必要とすると言うことができるので、このシーケンスが最適近似として選択されることは決してない。)
c)C(Q,S)は、所定の基準に従って測られたQ及びSの相違に直接的に又は間接的に比例する成分を持たなければならない。ここでD(Q,S)により表示されるこの様な差或いは相違成分は、Sに近いQPシーケンスを選ぶようにオプティマイザーを駆り立てる。大抵の実際的場合に、D(Q,S)は
Figure 2005515719
により与えられるいわゆるメモリーレスのマクロブロック−レベル非負コスト成分の和であり、“メモリーレス”という用語は、ここでは、i≠kならばi番目のマクロブロックについてのコスト成分がqk及びskに依存しないということを意味するために使われている。しかし、D(Q,S)は、式(1)により与えられる特定の形を持つ必要はない。
d)C(Q,S)は、ここでR(Q)と称される成分を持っているべきであり、この成分は、Qを表わすために費やされるビットに比例し、Sには依存しない。(R(Q)の値は、QPシーケンスQを符号化するために必要なビットの数である。Sは、ROIアナライザーにより示唆されたQPシーケンスである。復号器はSについて何の情報も持っていないので、もしR(Q)がSに依存するならばQの表示は復号不能であろう。)もしQが表示可能でなければR(Q)=+∞という慣習をここでは使用する。MPEG−4、H.263、及びH.263+で使用される差分符号化は、R(Q)が
Figure 2005515719
により与えられるマクロブロック−レベル非負コスト・成分の和であって良いと提案しており、ここでr(qi,qi-1)という形は、i番目のマクロブロックのQPを符号化するために使われるビットの数qiが前のマクロブロックの量子化パラメータ即ちqi-1に依存するという事実を示唆する。前のマクロブロックQPを利用できない第1マクロブロック(i=1)については、ここでPQUANTと称されるフレーム層で指定されたQPを使うことができる。同様に、q0はPQUANTに等しいと定義される。R(Q)成分とD(Q,S)成分とを加えると、次の誘導条件が得られる。
Figure 2005515719
ここで最低コスト関数C*と最適QPシーケンスQ*とを定義する。最低コストC*はSの関数であって、次のように
Figure 2005515719
と定義され、Q*は最低コストをもたらすQPシーケンスQであると定義される。Ck *()と表示されるC*()の制約付きバージョンは、qlast=kで終わる候補シーケンスにわたる最小化に配慮するコスト関数であり、ここで
Figure 2005515719
により与えられると定義される。以下に記述される最適化アルゴリズムで使用される重要な定義は制約付き最小化C*()に関する。
最後に、Q* t,kは最低コストをもたらすQt,kであると定義される。(Qt,kは、最後の要素qtが値kを有する部分的シーケンスQtを示す。)
〔本発明で使用される最適化アルゴリズムの導出〕
*()とCk *()とは次のように互いに関連する。
Figure 2005515719
ここでの目標は、式(6)で与えられるC*(S)と、関連するQ*とを計算することである。従って、Ck *(S)は、示唆されたQP値のダイナミックレンジ内のk値について計算されなければならない。Ck *(S)を計算するために、式(5)により与えられるCk *(S)の定義を用いて下記の帰納関係の組に到達する:
Figure 2005515719
ここでq0は、最適QPシーケンスが決定されるマクロブロックの直前のマクロブロックについてのQPの値であるか、或いはフレーム−レベルQP値(即ち、フレーム全体について使用されるQP値)などの他の適切な値である。
帰納ステップ(8)において、j*は最小化j値、即ちr(k、j)+Cj *(St-1)を最小にするjの値であるとする。すると、qt-1=j*はqt=kにとって最善の先行状態である。(量r(k、j)の変数k及びjはそれぞれqt及びqt-1の値であることを想起されたい。)換言すれば、最適シーケンスがもしqt=kを有するならばqt-1=j*も有さなければならない。この関係を下記の表示
bestPrevt(k)=j*
で表わす。(この様な関係は、ビタビ型アルゴリズムにとっては基本的である。)
その後、(最低コストをもたらすQPシーケンスQを見出す)最適化は、式(7)及び(8)に従ってCk *(S)を帰納的に計算し、次に式(6)からC*(S)を計算することによって実行される。該帰納的計算中に各(t、k)対について最善の先行状態j*を蓄積すれば、計算された最低コストに関連する最適のQPシーケンスまで溯ることが可能となる。
〔疑似コードとしてのアルゴリズム〕
上で導出されたアルゴリズムは、下記のように疑似コードで表現することができる。
Figure 2005515719
捜し求められているQPシーケンスは、このとき{q1,q2,...,qn}であって、示唆されたQPシーケンスとビット配分との折衷である、即ちコスト関数C(Q,S)を最大にするQPシーケンスである。
図2は、本発明のQP最適化アルゴリズムのフローチャートであり、概して、示唆された量子化パラメータシーケンスSを受け取るステップ21と、所定の基準に従って測られた候補シーケンスQと示唆された量子化パラメータシーケンスSとの相違を表わす成分D(Q,S)を有すると共に候補シーケンスQを表わすのに費やされるビットの数に比例する成分R(Q)を有するコスト関数C(Q,S)を定義する次のステップ22と;最適化量子化パラメータシーケンスQ*、即ちコスト関数C(Q,S)を最小にする最適化シーケンスQ*の決定に至る一連のステップ23,24,25とを本発明が包含することを示している。このフローチャートは、最適化量子化パラメータシーケンスQ*の決定に至る一連のステップ23,24,25の詳細を上の記述に従って示している。
〔本発明による符号化制御モジュールのアーキテクチャ〕
図3を参照すると、本発明のアルゴリズムに従って最適QPシーケンスを決定するオプティマイザーモジュール14aを含むものとして図1の符号化制御モジュール14が詳しく示されており、最適化は、2つの成分D(Q,S)及びR(Q)のそれぞれの具体的定義を有するコスト関数C(Q,S)に基づいている。(コスト関数の定義は、オプティマイザーモジュールに入力として提供される。)該最適化モジュールは、例えばROIエンジン31(普通は符号化制御モジュール14の外部に存する)により提供される示唆されたシーケンスSを入力として使用する。最適化シーケンスQは制御モジュール14bに提供され、これは演算パラメータp、t、qz及びqをビデオ符号器(図示されていない)に提供する。
符号化制御モジュール14は、(別々に示されてはいないとしても)ROIエンジン31を包含することができ、もし包含するならば、それはビデオインを入力として有するべきである。しかし、ROIエンジンは、符号化制御モジュール14に入力されるコスト関数信号の発生源として示されても良い。コスト関数は非常に多様な形を持つことができる。
〔最良の形態を含む本発明の種々の実施態様〕
式(1)及び(2)のコスト成分r(qi,qi-1)及びd(qi,si)の定義が異なれば本発明の異なる実施態様が得られることになる。どの賢明なコスト関数でも、即ち上記の特性(a)−(d)を有するどのコスト関数も、立派な実施態様につながる可能性を有する。本発明の実施態様は、好ましくはH.263、MPEG−4 VLBV、またはH.263+に従うビデオ符号器であり、この符号器ではプロセッサは上記のQP最適化アルゴリズムを用いてフレーム−レベルQP制御を実行する。
ここで2つの実施態様、即ち、割合に安価に実施できるようにされている単純モードと、一般的に好ましい実施態様である高性能モードとを記述するが、アプリケーションによっては単純モードの方が好ましい。
単純モード
単純モードは、主として、MPEG−4及びH.263に従うビデオソース符号器に適用される。単純モードでは、r(qi,qi-1)とd(qi,si)とが次のように定義される:
Figure 2005515719
オプティマイザーの目的は、“最適な表示可能近似”を見出すことである。単純モードは、近似努力の殆どが表示可能なシーケンスを見出すのに費やされるという意味で表示可能性部分を強調する。(全てのシーケンスが表示可能であるので、このことはH.263では問題ではないけれども、或るシーケンスは多くのビットを要する。)単純モードの目的は、示唆されたQPシーケンスを表示可能なシーケンスでなるべく精密に近似することである。ROIエンジンは、常に、各QPが[1,31]の範囲内にあるシーケンスを示唆する。しかし、各QPが[1,31]の範囲内にあるということは、シーケンスが表示可能であるためには、例えばH.263のためには充分でなく、かつ表示可能なシーケンスを示唆することは必ずしもROIエンジンの責任ではない。表示可能性はシステムに依存する問題なので、表示可能なシーケンスを示唆する責任をROIエンジンに課さなければROIエンジンは持ち運びしやすくなる。H.263+では、区間[1,31](整数だけ)内の任意のQPを表示できるので、表示可能性は主要な問題ではない。従って、単純モードは、H.263+に従うソース符号器の動作のために特に有益というわけではない。
単純モードの例
ROIエンジンが画像内の任意の位置について示唆される6,7,3,2,1,3というQPシーケンスを作り、このシーケンス内の第1マクロブロックの直前のマクロブロックのQP値が5であり、従ってこれが式(7)のq0のために使われる値であると仮定する。前のマクロブロックQPを利用できない状態であれば、フレーム−レベルQPの値をq0のために使うことができる。
この例では、検査されるシーケンス内のマクロブロックの数は6であり、従ってt=[1,6]であり、上記の式で使われる表記法ではn=6である。示唆されるQP値のダイナミックレンジは1から7までであることに着目すると、q0はこの範囲に含まれるので、上記の表記法ではk=[1,7]である。(示唆されるQP値の範囲がq0を含まなければ、これを含むように範囲を拡張するべきである。)図4は、以下で示される計算の結果を例示している。
次のステップは、t=1とし、制約付き部分シーケンスCk *(S1)についての最低コストを計算することであり、ここでkは1から7まで変化する。式(9)により与えられるQを表示するのに費やされるビットに比例する該コスト関数の成分は、連続するQP値同士の差が2以下ならば0の値をもたらし、さもなければ容認できない値を意味する無限大(∞)の値をもたらす。前のQP値は5であると仮定されているので、C1 *(S1)及びC2 *(S1)についてのコストは無限大であり、それは、式(9)により各々について与えられるコスト成分が無限大であるからである。
式(7)によると、C3 *(S1)についてのコストは
3 *(S1)=d(6,3)+r(3,5)
であり、これは式(9)及び(10)を用いると
3 *(S1)=(3−6)2+0=9
になり、従って図4の表の中のCk *(St)を見出しとするコラムのk=3、t=1の欄にその様に記録される。
t=1及びkの他の値についてのコスト関数の値は同様に計算されてC4 *(S1)=4、C5 *(S1)=1、C6 *(S1)=0及びC7 *(S1)=1となる。これらの値はすべて後に使用するために蓄積される(そして図4の表の中に示されている)。
次のステップは、シーケンス中の2番目のマクロブロックについて、即ちt=2について、いろいろなQP値を選択することのコストを決定することである。式(8)から、k=1及びt=2について、
Figure 2005515719
である。C1 *(S2)の数値を求めるためには、jについて可能な最善の値、即ちr(1、j)+Cj *(S1)を最小にするjの値を選択する必要がある。隣り合うマクロブロック間で許されるQP値の変化は2であるに過ぎないので(さもなければコストは式(9)に従って無限大となるから)、kの値が1であるときjについて可能な選択肢は1、2及び3だけである。j値を選択するとき、前の状態(t=t−1)についてjのどんな選択肢が最低の総コストを生じさせたかを振り返ってみることができ、或いは、jの可能な値の全てについて式(8)(及び式(9)及び(10)も)を用いてコストを計算し、その後にjのどんな選択肢が最低のコストをもたらすか調べることができる。使用される方法には関係なく、結果は同じである。この場合、jが1又は2に等しいとき、コストは無限大であり(Cj *(S1)はj=1又は2については無限大であるから)、従ってk=1について最低のコストはj=3についてのコストである。jに3を代入すると、
1 *(S2)=(1−7)2+[r(1,3)+C3 *(S1)]
=62+[0+9]=45
が得られ、従ってj*(k、t)=j*(1,2)=BestPrevt(k)=BestPrev2(1)=3である。これらの値(45及び3)は両方とも、図4に示されているように、蓄積される。
次に、k=2について、(なおt=2)、
Figure 2005515719
である。再び、可能な最善のj値を選択しなければならない。(jとkとの間で)±2の変化が許されるのでjについて4つの可能な値、即ち1,2,3及び4が得られる。前の状態(t=1)では、これらの値のいずれについても最低のコストはC4 *(S1)=4であったので、j=4を選び、
2 *(S2)=(2−7)2+[r(2,4)+C4 *(S1)]
=52+[0+4]=29
が得られる。
2 *(S2)について(即ち、k=2及びt=2)、最善の先行状態(t=1)はQPの値として4を有するので、BestPrev2(2)=4とする。図4に示されているように、t=2について残りの値はC3 *(S2)=17、C4 *(S2)=9、C5 *(S2)=4、C6 *(S2)=1及びC7 *(S2)=0である。再び、これらの値は、対応するj*(k、2)の値と共に蓄積される。このプロセスは、C7 *(S6)が計算されるまでtの全ての値について同様に続けられる。
次に、全てのCk *(S6)値が比較され、最低の値が式(6)のC*(S)として選択される。この例では、
Figure 2005515719
である。ここで、j*(k,t)=BestPrevt(k)について蓄積されている値を用いることにより最低のコストをもたらす“ルート”をさかのぼる。その様にするために、上記の疑似コード・アルゴリズム(下から3行目)に従って、始めにqn=k*とするが、このk*はt=nで最低のコストをもたらすkの値である。この例では、q6=k*=3である。従って最適のQ*シーケンスの最後の値は3である(k=3についてのコストは2であるが、これは全てのt=6コストについて最も小さいので)。次にi=n−1とし、
Figure 2005515719
が得られるので、私たちのQ*シーケンスにおける最後から2番目の値qn-1は1である。i=n−2については、j*(k、5)の値は2であるので、私たちのシーケンスの中の次のQP値は2であり、以降同様である。従って選択されたシーケンスは6,6,4,2,1,3であり、これらの値の欄に陰を付けることにより図4において最後の値以外の全ての値が示されており、その最後の値(QP=3)は、t=6についての最低コスト (これは2である) に対応するkの値であり、kのその値は3である。
高性能モード
高性能モードは、MPEG−4、H.263、及びH.263+の各々に使用できる。ここで、r(qi,qi-1)及びd(qi,si)は次のように定義される:
Figure 2005515719
ここでλはレート−歪み・釣り合いパラメータとして使われる所定の非負値であり、
Figure 2005515719
はqi-1が与えられたときにqiを表わすために必要なビットの数であり、mse(qi)は、qiがマクロブロックについてのQPとして使われるときの元のマクロブロック内容と復元されたマクロブロック内容との間の平均二乗誤差を表わす。(平均二乗誤差は、2つのベクトル、アレイ、イメージ、或いは一般に同一ランクを有する2つの多要素量の相違の尺度である。(多要素)量の平均二乗誤差は、示された量と何らかの基準量との要素別の差の二乗の平均値に等しい。)(mseという表記は、マクロブロックの元のピクセル値と、そのマクロブロックの符号化されたピクセル値との相違の尺度を示すために使われる。マクロブロックの符号化されたピクセル値は、そのマクロブロックについて用いられるQPを含む種々の符号化パラメータにより左右される。しかし、マクロブロックの元のピクセル値(基準量)は、ビデオ符号器への1つの入力であって、如何なる符号化パラメータにより如何様にも左右されない。表記の都合上、普通は該基準量への明示的な言及は一切ない。mse(q)は、マクロブロックを符号化するためのQPとしてqが選択されたときの該マクロブロックの元のピクセル値と該マクロブロックの符号化されたピクセル値との平均二乗誤差を示し、或いは省略用語法ではmse(q)はマクロブロックを符号化するためのQPとしてqが選択されたときの元のマクロブロックと符号化されたマクロブロックとの平均二乗誤差を示す。)
高性能モードは、ビット配分の効率的な管理を強調し、示唆されたQPシーケンスに従うことと、QP変化のために費やされるビット総計を最小にすることとの最善の釣り合いを見出すことを目的とする。式(12)に従うd(qi,si)の計算は高価な計算ではあるけれども法外ではなくて、必要な計算は、例えば、ビデオ符号器の主な計算集中部分である全範囲ブロック動き推定のために必要な計算よりは遥かに少ない。
〔検討〕
本発明に従うビデオコーデックによるフレーム−レベルQP最適化の使用は、該コーデックの出力QP分布をビデオソースと比較することによって認識することができる。通常、本発明のフレーム−レベル・オプティマイザーを有するコーデックは、鋭いQP遷移を必要とすることに対してQPの非因果的変化によって応える。換言すれば、この様なコーデックは、この様な必要が生じる前にマクロブロックQPを増大(又は減少)させ始める。ここで、前にということはマクロブロックのラスタースキャン順に関する。マクロブロックはラスタースキャン順に、即ち左から右、上から下へと符号化される。もし例えば6番目のマクロブロックに顔などの、視覚的に重要な特徴が存在し、他のどのマクロブロックもあまり重要ではない特徴を含んでいるならば、ROIエンジンは、その6番目のマクロブロックについて突然のQP低下を示唆する。示唆されたQPシーケンスS(ROIエンジンにより示唆された)は{15,15,15,15,15,10,15,15,・・・}のように見えよう。“前に”及び“非因果的”という用語は、この1−Dシーケンス関連する。QPを減少させる必要は、6に等しいインデックス(即ち6番目の位置)で生じると言われる。H.263符号器で使われる対応するフレーム最適化QP変化は{15,15,15,15,13,11,13,15,15,・・・}の様なものであろう。第1の変化は5に等しいインデックスを有するマクロブロックから始まるが、これは第1の視覚的に重要なマクロブロックのインデックスより小さい、即ち、第1の視覚的に重要なマクロブロックより“前に”ある。フレーム−レベル最適化を使用しない近似装置は、おそらくインデックスが6に等しいときに始めてQPを変化させ始めるであろう。
上記の方法に加えて、本発明は歪み尺度とコスト関数とを公式化する他の方法も含むものであることが理解されるべきである。例えば、候補QPシーケンスを表示するのに費やされるビットに比例するコスト関数の成分を、単にQPシーケンスだけではなくて実際のイメージを符号化するために費やされるビット(QPシーケンスを表示するためのビットを含む)に比例する(或いは該ビットに基づく、或いは該ビットと相関する)成分と置き換えることができる。その様な公式化でも、上記と同様に、不可能なQPシーケンスには無限大のコスト(即ち、相対的に非常に大きな値)が割り当てられるべきであり、歪みの尺度(どんな歪み尺度であっても)はイメージの歪み(又は符号化ロス)を引き起こす成分を含むように拡張されるべきである。
上記構成は本発明の原理の適用を単に例示しているに過ぎないことが理解されなければならない。当業者は本発明の範囲から逸脱せずに多数の他の変形及び代替構成を考案することができ、添付されている請求項はその様な変形及び構成を含むように意図されている。
全て符号化制御モジュールの制御下にある予測モジュール、ブロック変換モジュール、及び量子化モジュールを主要要素として包含する、本発明のアルゴリズムが役に立つタイプのH.263符号器のブロック図である。 本発明のアルゴリズムのフローチャートである。 図1の符号化制御モジュールの幾つかの成分のブロック図/流れ図である。

Claims (24)

  1. ビデオ符号器において量子化パラメータ値のシーケンスを選択する方法であって、該ビデオ符号器は、ビデオフレームをn個のマクロブロックのシーケンスとして符号化すると共に該ビデオフレームの各マクロブロックのために量子化パラメータ値を割り当てるように構成され、この方法は、前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる量子化パラメータ値が、それらの符号化に関連するコストを最小限にするように最適化されるステップ(23,24,25)を含むことを特徴とする方法。
  2. 前記n個のマクロブロックのシーケンスの前記部分集合は前記n個のマクロブロックの全部を含むことを更に特徴とする請求項1に記載の方法。
  3. 前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、ビタビ・サーチ・アルゴリズム(Viterbi search algorithm)を用いて実行されることを更に特徴とする請求項1に記載の方法。
  4. 前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、量子化パラメータ値の示唆されたシーケンスの符号化に関連するコストを量子化パラメータ値の候補シーケンスの符号化のコストと比較することにより実行されることを更に特徴とする請求項1の方法。
  5. 該方法は、ビデオ符号器の量子化パラメータQPのフレーム−レベル制御を提供する方法であり、該ビデオ符号器はフレームの各マクロブロックについて1つの量子化パラメータを有し、フレームはn個のマクロブロックから成り、候補量子化パラメータシーケンスとして働く任意の要素として量子化パラメータシーケンスQを有する全ての可能な量子化パラメータシーケンスの集合から最適化量子化パラメータシーケンスQ*を提供し、該最適化量子化パラメータシーケンスQ*は、示唆された量子化パラメータシーケンスSの代わりに該候補量子化パラメータシーケンスQを使用することのコストを示すコスト関数C(Q,S)を最小化し、この方法は:
    a)示唆された量子化パラメータシーケンスSを受け取るステップ(21)と;
    b)所定基準に従って測られた該候補シーケンスQと該示唆された量子化パラメータシーケンスSとの相違を表わす成分D(Q,S)を有すると共に、該候補シーケンスQを表わすのに費やされるビットの数に比例する成分R(Q)を有するコスト関数C(Q,S)を定義するステップ(22)と;
    c)該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップ(23,24,25)とを含み;
    これにより、該示唆された量子化パラメータシーケンスSをビット効率的に近似する最適化量子化パラメータシーケンスQ*を提供することを特徴とする請求項1の方法。
  6. 該示唆された量子化パラメータシーケンスSは、関心領域アナライザーにより提供されることを更に特徴とする請求項5の方法。
  7. 該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップ(23,24,25)は、該示唆された量子化パラメータシーケンスSの量子化パラメータにより張られる量子化パラメータ値の範囲に属する値kについて最適制約付きコスト関数Ck *(St)を計算するステップ(25)を含み、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な示唆された量子化パラメータシーケンスStの関数であって、最後のt番目の要素として値kを有する量子化パラメータを有する任意の可能な部分的候補量子化パラメータシーケンスQt,kを使うことにより達成可能な最低のコストを示すことを更に特徴とする請求項5の方法。
  8. 該最適化量子化パラメータシーケンスQ*を該コスト関数C(Q,S)を最小にするものとして決定するステップ(23,24,25)は:
    a)所定最小値から所定最大値までの量子化パラメータ値の範囲を該示唆された量子化パラメータシーケンスSから決定するサブステップと;
    b)シーケンス長さtを1に等しくセットするサブステップと;
    c)値kを該所定最小値に等しくセットするサブステップと;
    d)最適制約付きコスト関数Ck *(St)を計算するサブステップであって、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な提案された量子化パラメータシーケンスStの関数であり、1より大きなtについての該最適制約付きコスト関数の計算は、Ck *(St)をCk *(St-1)の項で与えると共に項r(k,j)+Cj *(St-1)を含む帰納的関係に基づき、このr(k,j)は、該示唆された量子化パラメータシーケンスSから決定される範囲の中の値を有する変数jでQを表わすのに費やされるビットの数に比例するコスト関数成分R(Q)の要素であるサブステップと;
    e)現在のt及びkについて、該項r(k,j)+Cj *(St-1)を最小にするjの値を蓄積するサブステップと;
    f)該最適制約付きコスト関数Ck *(St)を計算すると共に、現在のt及びkについて、kが該所定最大値に等しくなるまで前のものより1だけそれぞれ大きなkの連続する値について且つtがフレーム中のマクロブロックの数に等しくなるまでtの前の値より1だけそれぞれ大きなtの連続する値について該項r(k,j)+Cj *(St-1)を最小にするjの値を蓄積するサブステップと;
    g)該示唆されたシーケンスSの中の量子化パラメータ値の範囲内の全てのkの値についてのCk *(St=n)の比較に基づいて最適コスト関数C*(St=n)を決定するサブステップと;
    h)始めに最後のマクロブロックについての量子化パラメータをCk *(St=n)を最小にするkの値に等しくセットし、次に逆にたどって、作られる最適化シーケンス中の前の各量子化パラメータに次のマクロブロックについて蓄積されているjの値を割り当てるプロセスによって該最適化シーケンスQ*を作るサブステップとを含むことを更に特徴とする請求項5の方法。
  9. 該コスト関数成分D(Q,S)は、式
    Figure 2005515719
    で与えられる形のものであり、ここでd(qi,si)は、独立変数として、候補量子化パラメータシーケンスの要素qiと該示唆された量子化パラメータシーケンスの対応する要素siとを有するメモリーレスのマクロブロック−レベル非負コスト成分であることを更に特徴とする請求項5の方法。
  10. 該コスト関数成分R(Q)は式
    Figure 2005515719
    により与えられる形のものであり、ここでr(qi,qi-1)はマクロブロックiについて量子化パラメータを符号化するために使われるビットの数とマクロブロックi−1について量子化パラメータを符号化するために使われるビットの数との関係を表わすメモリーレスのマクロブロック−レベル非負コスト成分であることを更に特徴とする請求項9の方法。
  11. 該コスト関数成分R(Q)の要素r(qi,qi-1)は式
    Figure 2005515719
    により与えられ、該コスト関数成分D(Q,S)の要素d(qi,si)は式
    d(qi,si)=(qi−si2
    で与えられることを更に特徴とする請求項10の方法。
  12. 該コスト関数成分R(Q)の要素r(qi,qi-1)は式
    Figure 2005515719
    により与えられ、ここでλはレート歪み釣り合いパラメータとして役立つ所定の非負値であり、
    Figure 2005515719
    はqi-1が与えられたときにqiを表わすためのビットの数であり;該コスト関数成分D(Q,S)の要素d(qi,si)は式
    Figure 2005515719
    で与えられ、ここでmse(...)は、元のマクロブロック内容と、表示されている量子化パラメータシーケンスの要素qi又はsiを用いて復元されたマクロブロック内容との平均二乗誤差を意味することを更に特徴とする請求項10の方法。
  13. ビデオ符号器において量子化パラメータ値のシーケンスを選択するための装置であって、該ビデオ符号器は、ビデオフレームをn個のマクロブロックのシーケンスとして符号化すると共に該ビデオフレームの各マクロブロックのために量子化パラメータ値を割り当てるように構成され、この装置は、前記n個のマクロブロックのシーケンスの少なくとも部分集合に、それらの符号化に関連するコストを最小限にするように最適化された量子化パラメータ値を割り当てるための手段(14)を含むことを特徴とする装置。
  14. 前記n個のマクロブロックのシーケンスの前記部分集合は前記n個のマクロブロックの全てを含むことを更に特徴とする請求項13の装置。
  15. 前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、ビタビ・サーチ・アルゴリズム(Viterbi search algorithm)を用いて実行されることを更に特徴とする請求項13の装置。
  16. 前記n個のマクロブロックのシーケンスの少なくとも部分集合に割り当てられる前記量子化パラメータ値の最適化は、量子化パラメータ値の示唆されたシーケンスの符号化に関連するコストを量子化パラメータ値の候補シーケンスの符号化のコストと比較することにより実行されることを更に特徴とする請求項13の装置。
  17. 該装置は、該ビデオ符号器により使用される量子化パラメータのフレーム−レベル制御を有すると共に、該ビデオ符号器により処理されるフレームの各マクロブロックについて1つの量子化パラメータを有し、フレームはn個のマクロブロックから成り、該フレーム−レベル制御は、候補量子化パラメータシーケンスとして働く任意の要素として量子化パラメータシーケンスQを有する全ての可能な量子化パラメータシーケンスの集合から最適化量子化パラメータシーケンスQ*を提供することに基づき、該最適化量子化パラメータシーケンスQ*は、示唆された量子化パラメータシーケンスSの代わりに該候補量子化パラメータシーケンスQを使用することのコストを示すコスト関数C(Q,S)を最小化し、この装置は:
    a)示唆された量子化パラメータシーケンスSを受け取るための手段(14a)と;
    b)所定基準に従って測られた該候補シーケンスQと該示唆された量子化パラメータシーケンスSとの相違を表わす成分D(Q,S)を有すると共に、該候補シーケンスQを表わすのに費やされるビットの数に比例する成分R(Q)を有するコスト関数C(Q,S)を定義するための手段(14a)と;
    c)該最適化量子化パラメータシーケンスQ*を決定するための手段(14a)とを更に含み;
    これにより、該ビデオ符号器は該示唆された量子化パラメータシーケンスSをビット効率的に近似する最適化量子化パラメータシーケンスQ*を決定することを更に特徴とする請求項13の装置。
  18. 該示唆された量子化パラメータシーケンスSは関心領域アナライザー(31)により提供されることを更に特徴とする請求項17の装置。
  19. 該コスト関数C(Q,S)を最小にする該最適化量子化パラメータシーケンスQ*を決定するための手段(14a)は、該示唆された量子化パラメータシーケンスSの量子化パラメータにより張られる量子化パラメータ値の範囲に属する値kについて最適制約付きコスト関数Ck *(St)を計算し、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な示唆された量子化パラメータシーケンスStの関数であって、最後のt番目の要素として値kを有する量子化パラメータを有する任意の可能な部分的候補量子化パラメータシーケンスQt,kを使うことにより達成可能な最低のコストを示すことを更に特徴とする請求項17の装置。
  20. 該コスト関数C(Q,S)を最小にする該最適化量子化パラメータシーケンスQ*を決定するための手段(14a)は:
    a)所定最小値から所定最大値までの量子化パラメータ値の範囲を該示唆された量子化パラメータシーケンスSから決定するための手段と;
    b)シーケンス長さtを1に等しくセットするための手段と;
    c)値kを該所定最小値に等しくセットするための手段と;
    d)最適制約付きコスト関数Ck *(St)を計算するための手段であって、該最適制約付きコスト関数は、t個の量子化パラメータの部分的な示唆された量子化パラメータシーケンスStの関数であり、1より大きなtについての該最適制約付きコスト関数の計算は、Ck *(St)をCk *(St-1)の項で与えると共に項r(k,j)+Cj *(St-1)を含む帰納的関係に基づき、このr(k,j)は、該示唆された量子化パラメータシーケンスSから決定される範囲の中の値を有する変数jでQを表わすのに費やされるビットの数に比例する該コスト関数成分R(Q)の要素である手段と;
    e)現在のt及びkについて、該項r(k,j)+Cj *(St-1)を最小にするjの値を蓄積するための手段と;
    f)該最適制約付きコスト関数Ck *(St)を計算すると共に、現在のt及びkについて、kが該所定最大値に等しくなるまで前のものより1だけそれぞれ大きなkの連続する値について且つtがフレーム中のマクロブロックの数に等しくなるまでtの前の値より1だけそれぞれ大きなtの連続する値について該項r(k,j)+Cj *(St-1)を最小にするjの値を蓄積するための手段と;
    g)該示唆されたシーケンスSの中の量子化パラメータ値の範囲内の全てのkの値についてのCk *(St=n)の比較に基づいて該最適コスト関数C*(St=n)を決定するための手段と;
    h)始めに最後のマクロブロックについての量子化パラメータをCk *(St=n)を最小にするkの値に等しくセットし、次に逆にたどって、作られる最適化シーケンス中の前の各量子化パラメータに次のマクロブロックについて蓄積されているjの値を割り当てるプロセスによって該最適化シーケンスQ*を作るための手段とを含むことを更に特徴とする請求項17の装置。
  21. 該コスト関数成分D(Q,S)は、式
    Figure 2005515719
    で与えられる形のものであり、ここでd(qi,si)は、独立変数として、候補量子化パラメータシーケンスの要素qiと該示唆された量子化パラメータシーケンスの対応する要素siとを有するメモリーレスのマクロブロック−レベル非負コスト成分であることを更に特徴とする請求項17の装置。
  22. 該コスト関数成分R(Q)は式
    Figure 2005515719
    により与えられる形のものであり、ここでr(qi,qi-1)はマクロブロックiについて量子化パラメータを符号化するために使われるビットの数とマクロブロックi−1について量子化パラメータを符号化するために使われるビットの数との関係を表わすメモリーレスのマクロブロック−レベル非負コスト成分であることを更に特徴とする請求項21の装置。
  23. 該コスト関数成分R(Q)の要素r(qi,qi-1)は式
    Figure 2005515719
    により与えられ、該コスト関数成分D(Q,S)の要素d(qi,si)は式
    d(qi,si)=(qi−si2
    で与えられることを更に特徴とする請求項22の装置。
  24. 該コスト関数成分R(Q)の要素r(qi,qi-1)は式
    Figure 2005515719
    により与えられ、ここでλはレート歪み釣り合いパラメータとして役立つ所定の非負値であり、
    Figure 2005515719
    はqi-1が与えられたときにqi表わすためのビットの数であり;該コスト関数成分D(Q,S)の要素d(qi,si)は式
    Figure 2005515719
    で与えられ、ここでmse(...)は、元のマクロブロック内容と、表示されている量子化パラメータシーケンスの要素qi又はsiを用いて復元されたマクロブロック内容との平均二乗誤差を意味することを更に特徴とする請求項22の装置。
JP2003561226A 2001-12-28 2002-12-18 ビデオ符号器においてマクロブロック量子化パラメータを選択する方法及び装置 Expired - Fee Related JP4510463B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/035,017 US6763068B2 (en) 2001-12-28 2001-12-28 Method and apparatus for selecting macroblock quantization parameters in a video encoder
PCT/IB2002/005487 WO2003061265A2 (en) 2001-12-28 2002-12-18 Method and apparatus for selecting macroblock quantization in a video encoder

Publications (3)

Publication Number Publication Date
JP2005515719A true JP2005515719A (ja) 2005-05-26
JP2005515719A5 JP2005515719A5 (ja) 2008-09-25
JP4510463B2 JP4510463B2 (ja) 2010-07-21

Family

ID=21880105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003561226A Expired - Fee Related JP4510463B2 (ja) 2001-12-28 2002-12-18 ビデオ符号器においてマクロブロック量子化パラメータを選択する方法及び装置

Country Status (7)

Country Link
US (1) US6763068B2 (ja)
EP (1) EP1488628A4 (ja)
JP (1) JP4510463B2 (ja)
KR (1) KR100953152B1 (ja)
CN (1) CN100362863C (ja)
AU (1) AU2002356361A1 (ja)
WO (1) WO2003061265A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514056A (ja) * 2008-02-22 2011-04-28 クゥアルコム・インコーポレイテッド 早いマクロブロック・デルタqpの決定

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542035B2 (en) * 1995-11-15 2009-06-02 Ford Oxaal Method for interactively viewing full-surround image data and apparatus therefor
KR100531566B1 (ko) * 1997-10-23 2005-11-29 미쓰비시덴키 가부시키가이샤 화상 복호화 장치
AU2003223639A1 (en) * 2002-04-15 2003-11-03 The Trustees Of Columbia University In The City Of New York Methods for selecting a subsequence of video frames from a sequence of video frames
US7489727B2 (en) * 2002-06-07 2009-02-10 The Trustees Of Columbia University In The City Of New York Method and device for online dynamic semantic video compression and video indexing
KR100486524B1 (ko) * 2002-07-04 2005-05-03 엘지전자 주식회사 비디오 코덱의 지연시간 단축 장치
US7180947B2 (en) * 2003-03-31 2007-02-20 Planning Systems Incorporated Method and apparatus for a dynamic data correction appliance
US7529424B2 (en) * 2003-05-02 2009-05-05 Grandeye, Ltd. Correction of optical distortion by image processing
US20100002070A1 (en) 2004-04-30 2010-01-07 Grandeye Ltd. Method and System of Simultaneously Displaying Multiple Views for Video Surveillance
US20050007453A1 (en) * 2003-05-02 2005-01-13 Yavuz Ahiska Method and system of simultaneously displaying multiple views for video surveillance
US7528881B2 (en) * 2003-05-02 2009-05-05 Grandeye, Ltd. Multiple object processing in wide-angle video camera
US7450165B2 (en) * 2003-05-02 2008-11-11 Grandeye, Ltd. Multiple-view processing in wide-angle video camera
US20050028215A1 (en) * 2003-06-03 2005-02-03 Yavuz Ahiska Network camera supporting multiple IP addresses
US7471726B2 (en) 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
US7369709B2 (en) * 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR101169108B1 (ko) * 2004-01-30 2012-07-26 톰슨 라이센싱 적응형 레이트 제어를 구비한 인코더
US7893985B1 (en) 2004-03-15 2011-02-22 Grandeye Ltd. Wide angle electronic camera with improved peripheral vision
US8427538B2 (en) * 2004-04-30 2013-04-23 Oncam Grandeye Multiple view and multiple object processing in wide-angle video camera
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7366359B1 (en) 2004-07-08 2008-04-29 Grandeye, Ltd. Image processing of regions in a wide angle video camera
WO2006040687A2 (en) 2004-07-19 2006-04-20 Grandeye, Ltd. Automatically expanding the zoom capability of a wide-angle video camera
US20060062478A1 (en) * 2004-08-16 2006-03-23 Grandeye, Ltd., Region-sensitive compression of digital video
US8860780B1 (en) 2004-09-27 2014-10-14 Grandeye, Ltd. Automatic pivoting in a wide-angle video camera
US9141615B1 (en) 2004-11-12 2015-09-22 Grandeye, Ltd. Interactive media server
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US20080117295A1 (en) * 2004-12-27 2008-05-22 Touradj Ebrahimi Efficient Scrambling Of Regions Of Interest In An Image Or Video To Preserve Privacy
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7894531B1 (en) 2005-02-15 2011-02-22 Grandeye Ltd. Method of compression for wide angle digital video
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7830961B2 (en) * 2005-06-21 2010-11-09 Seiko Epson Corporation Motion estimation and inter-mode prediction
KR100813258B1 (ko) 2005-07-12 2008-03-13 삼성전자주식회사 화상 데이터 부호화 및 복호화 장치 및 방법
KR101045205B1 (ko) * 2005-07-12 2011-06-30 삼성전자주식회사 화상 데이터 부호화 및 복호화 장치 및 방법
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
US8723951B2 (en) * 2005-11-23 2014-05-13 Grandeye, Ltd. Interactive wide-angle video server
KR20070056229A (ko) * 2005-11-29 2007-06-04 주식회사 케이티 영상 부호기 및 이의 관심 영역 검출방법
US7843995B2 (en) * 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
US8170102B2 (en) * 2005-12-19 2012-05-01 Seiko Epson Corporation Macroblock homogeneity analysis and inter mode prediction
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) * 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8787445B2 (en) * 2007-03-15 2014-07-22 Nvidia Corporation Allocation of available bits to represent different portions of video frames captured in a sequence
US8290357B2 (en) * 2007-03-15 2012-10-16 Nvidia Corporation Auto-exposure technique in a camera
US8340512B2 (en) * 2007-03-15 2012-12-25 Nvidia Corporation Auto focus technique in an image capture device
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8830341B2 (en) * 2008-05-22 2014-09-09 Nvidia Corporation Selection of an optimum image in burst mode in a digital camera
US8369638B2 (en) * 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US20090310672A1 (en) * 2008-06-13 2009-12-17 W&W Communications, Inc. Method and System for Rate Control in a Video Encoder
US8570359B2 (en) 2008-08-04 2013-10-29 Microsoft Corporation Video region of interest features
US8259794B2 (en) * 2008-08-27 2012-09-04 Alexander Bronstein Method and system for encoding order and frame type selection optimization
US9602821B2 (en) * 2008-10-01 2017-03-21 Nvidia Corporation Slice ordering for video encoding
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
WO2012121211A1 (ja) * 2011-03-10 2012-09-13 日本電信電話株式会社 量子化制御装置及び方法、及び量子化制御プログラム
US9621780B2 (en) 2012-10-04 2017-04-11 Nvidia Corporation Method and system of curve fitting for common focus measures
US9392158B2 (en) 2012-10-04 2016-07-12 Nvidia Corporation Method and system for intelligent dynamic autofocus search
WO2014190468A1 (en) 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
US9031393B2 (en) 2013-06-12 2015-05-12 Nvidia Corporation Methods for enhancing camera focusing performance using camera orientation
US9565440B2 (en) * 2013-06-25 2017-02-07 Vixs Systems Inc. Quantization parameter adjustment based on sum of variance and estimated picture encoding cost
US8939582B1 (en) 2013-07-12 2015-01-27 Kabushiki Kaisha Topcon Optical coherence tomography with dynamic focus sweeping and windowed averaging
EP3120556B1 (en) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Encoder-side decisions for screen content encoding
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
DE102018112215B3 (de) * 2018-04-30 2019-07-25 Basler Ag Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert
CN109951706B (zh) * 2019-04-22 2021-01-01 湖南国科微电子股份有限公司 一种视频编码方法、装置及编码器
KR20230075016A (ko) 2021-11-22 2023-05-31 김은주 콘택트 타입 일차원 이미지 센서의 직접 제어 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018131A1 (en) * 1998-09-18 2000-03-30 Sarnoff Corporation Intra-frame quantizer selection for video compression
JP2001320712A (ja) * 2000-05-12 2001-11-16 Nippon Telegr & Teleph Corp <Ntt> 繰り返しビデオ信号符号化方法およびこの方法のプログラムを記録した記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414469A (en) * 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5778192A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for optimal bit allocation between different sources of information in digital video compression
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5745178A (en) * 1996-01-22 1998-04-28 Lucent Technologies Inc. Global rate control for model-assisted coding of low bit rate video
JP2000506687A (ja) 1996-03-29 2000-05-30 サーノフ コーポレイション 知覚量を用いて符号化を最適化し自動操作可能な画像圧縮を実行する装置及び方法
KR100471956B1 (ko) * 1996-04-25 2005-05-16 마쯔시다덴기산교 가부시키가이샤 화상압축부호화장치및방법
US6043844A (en) * 1997-02-18 2000-03-28 Conexant Systems, Inc. Perceptually motivated trellis based rate control method and apparatus for low bit rate video coding
WO1998038800A1 (en) 1997-02-25 1998-09-03 British Broadcasting Corporation Digital signal compression encoding with improved quantisation
WO1999007158A2 (en) * 1997-07-29 1999-02-11 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
WO1999007159A2 (en) * 1997-07-29 1999-02-11 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
US6118822A (en) * 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6507616B1 (en) * 1998-10-28 2003-01-14 Lg Information & Communications, Ltd. Video signal coding method
CN1135854C (zh) * 1999-01-21 2004-01-21 皇家菲利浦电子有限公司 用于对视频图像进行编码的方法和装置
US6639942B1 (en) * 1999-10-21 2003-10-28 Toshiba America Electronic Components, Inc. Method and apparatus for estimating and controlling the number of bits
US6574279B1 (en) * 2000-02-02 2003-06-03 Mitsubishi Electric Research Laboratories, Inc. Video transcoding using syntactic and semantic clues
DE10326041B4 (de) * 2003-06-10 2014-03-27 Robert Bosch Gmbh Verfahren zur Herstellung von PZT-basierten Keramiken mit niedriger Sintertemperatur und deren Verwendung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000018131A1 (en) * 1998-09-18 2000-03-30 Sarnoff Corporation Intra-frame quantizer selection for video compression
JP2001320712A (ja) * 2000-05-12 2001-11-16 Nippon Telegr & Teleph Corp <Ntt> 繰り返しビデオ信号符号化方法およびこの方法のプログラムを記録した記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514056A (ja) * 2008-02-22 2011-04-28 クゥアルコム・インコーポレイテッド 早いマクロブロック・デルタqpの決定
US8542730B2 (en) 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision

Also Published As

Publication number Publication date
KR100953152B1 (ko) 2010-04-19
JP4510463B2 (ja) 2010-07-21
AU2002356361A1 (en) 2003-07-30
CN1608372A (zh) 2005-04-20
US20030128756A1 (en) 2003-07-10
US6763068B2 (en) 2004-07-13
AU2002356361A8 (en) 2003-07-30
EP1488628A4 (en) 2008-12-10
WO2003061265A2 (en) 2003-07-24
KR20040069198A (ko) 2004-08-04
CN100362863C (zh) 2008-01-16
WO2003061265A3 (en) 2004-03-25
EP1488628A2 (en) 2004-12-22

Similar Documents

Publication Publication Date Title
JP4510463B2 (ja) ビデオ符号器においてマクロブロック量子化パラメータを選択する方法及び装置
US9350994B2 (en) Motion estimation technique for digital video encoding applications
EP1012778B1 (en) Apparatus and method for macroblock based rate control in a coding system
US7372903B1 (en) Apparatus and method for object based rate control in a coding system
US6160846A (en) Apparatus and method for optimizing the rate control in a coding system
US7072397B2 (en) Optimal encoding of motion compensated video
US5778192A (en) Method and device for optimal bit allocation between different sources of information in digital video compression
US6192081B1 (en) Apparatus and method for selecting a coding mode in a block-based coding system
US6249546B1 (en) Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6738423B1 (en) Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US7280597B2 (en) System and method for determining coding modes, DCT types and quantizers for video coding
Chen et al. Rate-distortion optimal motion estimation algorithms for motion-compensated transform video coding
US6603813B1 (en) Video signal coding systems and processes using adaptive quantization
US5848195A (en) Selection of huffman tables for signal encoding
JP2001512643A (ja) コード化システムにおけるレート制御を最適化するための装置および方法
KR100922510B1 (ko) 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션
KR20030009669A (ko) 다채널 영상 부호화기 및 그 부호화 방법
JP4619479B2 (ja) 統計的多重化システム
KR19990067016A (ko) 블록-기반 코딩 시스템에서 코딩 모드를선택하기 위한 방법 및 장치
JPH10285604A (ja) 単一処理段階による最適な映像圧縮方法及びシステム
US20030227971A1 (en) Method and apparatus for video coding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091218

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

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

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees