JP5893002B2 - ビデオ符号化におけるレート制御 - Google Patents

ビデオ符号化におけるレート制御 Download PDF

Info

Publication number
JP5893002B2
JP5893002B2 JP2013505193A JP2013505193A JP5893002B2 JP 5893002 B2 JP5893002 B2 JP 5893002B2 JP 2013505193 A JP2013505193 A JP 2013505193A JP 2013505193 A JP2013505193 A JP 2013505193A JP 5893002 B2 JP5893002 B2 JP 5893002B2
Authority
JP
Japan
Prior art keywords
picture
sequence
step size
quantization step
video
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.)
Active
Application number
JP2013505193A
Other languages
English (en)
Other versions
JP2013524740A (ja
Inventor
ナゴリ ソエブ
ナゴリ ソエブ
シャンカー クダナ アルン
シャンカー クダナ アルン
マシュー マヌ
マシュー マヌ
Original Assignee
日本テキサス・インスツルメンツ株式会社
テキサス インスツルメンツ インコーポレイテッド
テキサス インスツルメンツ インコーポレイテッド
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 日本テキサス・インスツルメンツ株式会社, テキサス インスツルメンツ インコーポレイテッド, テキサス インスツルメンツ インコーポレイテッド filed Critical 日本テキサス・インスツルメンツ株式会社
Publication of JP2013524740A publication Critical patent/JP2013524740A/ja
Application granted granted Critical
Publication of JP5893002B2 publication Critical patent/JP5893002B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/142Detection of scene cut or scene change
    • 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/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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本願は、ビデオ信号を符号化/復号化するための装置、システム、および方法に関する。
デジタルビデオ製品に対する要求が増え続けている。デジタルビデオ用アプリケーションのいくつかの例として、ビデオ通信、セキュリティと監視、工業自動化、および娯楽(例えば、DV、HDTV、衛星TV、セットトップボックス、インターネットビデオストリーミング、デジタルカメラ、携帯電話、ビデオジュークボックス、ハイエンドディスプレイ、およびパーソナルビデオレコーダ)が挙げられる。さらに、ハンドセットの演算能力の向上、電池技術の発達、および高速無線接続の結果、ビデオアプリケーションはますますモバイル化している。
デジタルビデオ製品を本質的に可能にしているのがビデオ圧縮である。圧縮・解凍(コーデック)アルゴリズムによりデジタルビデオの記憶および送信が可能である。コーデックは、例えば、MPEG−2、MPEG−4、H.264/AVCなどの工業規格、および現在開発中の規格であるHEVCとし得る。これらすべての規格の中核をなすのは、ブロック動き補償(予測)に加えて予測誤りの変換符号化のハイブリッドビデオ符号化手法である。ブロック動き補償は、前のピクチャからの予測によって連続ピクチャ(フレームまたはフィールド)間の時間冗長性を除去するために用いられ、変換符号化は、ピクチャの各ブロック内の空間冗長性を除去するために用いられる。
このようなブロックに基づく符号化手法は、冗長な情報を取り除くことと、復号化されるビデオシーケンスにおいてぎりぎり知覚できるかどうかのわずかな画質の妥協を行うことによって圧縮を達成するので、本質的にロスが多い。特に、圧縮された符号化ブロックにおいてどの程度空間的な細部が保持されるかを制御するのが量子化ステップサイズ(Qs)である。Qsが小さいほど、細部の保持の度合いが高く画質がよくなるが、その代わりにビットレートが高くなってしまう。Qsが大きくなると、保持される細部が少なくなりビットレートが減少するが、その代わりに歪みが大きくなり画質が損なわれる。
レート制御は、いかなるビデオエンコーダでも重要な部分である。レート制御では、各ピクチャを符号化するために用いられるビット数を管理することによって、符号化したビデオを復号化する際に知覚される画質を最大にしようとする。つまり、レート制御では、出力バッファの現在の充足状況に鑑みて、Qsなどの様々なエンコーダパラメータを動的に調整して圧縮ビットストリームにおいて目標ビットレートを実現する。
本発明の原理を実施するための例示の実施形態を、添付の図面を参照して以下に説明する。
1つまたは複数の実施形態に従った例を示す。 1つまたは複数の実施形態に従った例を示す。 1つまたは複数の実施形態に従った例を示す。 1つまたは複数の実施形態に従った例を示す。 1つまたは複数の実施形態に従った例を示す。
1つまたは複数の実施形態に従ったデジタルシステムのブロック図を示す。
1つまたは複数の実施形態に従ったビデオエンコーダのブロック図を示す。
1つまたは複数の実施形態に従ったレート制御のための方法のフローチャートを示す。 1つまたは複数の実施形態に従ったレート制御のための方法のフローチャートを示す。
1つまたは複数の実施形態に従った例示のデジタルシステムを示す。 1つまたは複数の実施形態に従った例示のデジタルシステムを示す。 1つまたは複数の実施形態に従った例示のデジタルシステムを示す。
本明細書では、「ピクチャ」という用語はフレームまたはフレームのフィールドを指す。フレームは、既知のタイムインタバル中に取得される全体イメージである。ビデオシーケンスがプログレッシブフォーマットである場合、ピクチャという用語は全体フレームを指す。ビデオシーケンスがインターレースフォーマットである場合、各フレームは奇数走査線フィールドと、それに続く偶数走査線フィールドとからなる。これらのフィールドがひとつのピクチャになる。さらに、Iピクチャはイントラ符号化ピクチャであり、Pピクチャは、別のIピクチャまたはPピクチャ、例えば、前のIピクチャまたはPピクチャ、から予測されるインター符号化ピクチャであり、Bピクチャは2枚のピクチャ、例えば、前のIピクチャまたはPピクチャおよび後続のIピクチャまたはPピクチャ、を用いて予測されるインター符号化ピクチャである。一般に、一グループのピクチャ(GOP)はビデオシーケンス内の一群の連続ピクチャであり、GOP構造が、GOP内の各ピクチャをどのように符号化するか、すなわち、所与のピクチャをIピクチャ、Pピクチャ、またはBピクチャとして符号化するかどうか、を指定する。
GOP構造が非階層構造の場合、各GOPはIピクチャで始まり、次のIピクチャまでにすべてのピクチャを含む。これら2枚のIピクチャ間のピクチャは、この特定のGOP構造によって決まる何らかの定義されたPピクチャおよび/またはBピクチャのシーケンスとし得る。このようなGOPの例を図1A〜1Cに示す。GOP構造が階層構造、例えば、階層B構造の場合、GOPは、キーピクチャおよびこのキーピクチャと前のキーピクチャとの間に時間的に存在するすべてのピクチャになるように定義される。キーピクチャは、イントラ符号化ピクチャ、すなわちIピクチャ、または前のキーピクチャを用いるインター符号化ピクチャ、すなわちPピクチャとし得る。GOP内の他のピクチャは階層的に予測される。階層B符号化構造を有するGOPでは、このGOP内の他のピクチャはBピクチャである。階層P符号化構造を有するGOPでは、このGOP内の他のピクチャはPピクチャである。階層Pおよび階層B符号化構造を有するGOPの例をそれぞれ図1Dおよび図1Eに示す。
ビデオ符号化に用いられる多くのレート制御手法、例えば、H.263 TMN5(test model near−term 5)に基づくレート制御手法では、ビデオシーケンス内にIピクチャおよびPピクチャだけが現れると仮定する。さらに、このような手法では、ピクチャレベルでベース量子化ステップサイズ(Qs)を変調し得る。つまり、Pピクチャ用のベースQsは、前のPピクチャの符号化に用いられたQsの平均値になるように設定される。次いで、このベースQsは、ピクチャを符号化する前に、前のPピクチャを符号化するために用いられたビット数が目標ビット数よりも大きかったか小さかったかに基づいて変調される。次いで、得られたベースQsは、ピクチャ内の各符号化ブロックを符号化するために用いられる実際のQsを決定するための開始点として用いられる。さらに、ピクチャの符号化中に、このピクチャの推定符号化サイズがピクチャの目標符号化サイズにどのくらい近いかに基づいてQsを周期的に増減し得る。
このようなレート制御手法は、一グループのピクチャ(GOP)の構造が、Iピクチャの後に何枚かのPピクチャが続き、ピクチャからピクチャに複雑さが大きく変化しない、(ピクチャがビデオシーケンスのフレームである)プログレッシブ符号化では、良好な結果を得ることができる。しかし、このようなレート制御手法は、GOP構造がBピクチャを含み、かつ/または階層符号化構造を有する場合には、十分でないことがある。
本発明の実施形態は、各ピクチャの開始時ではなく、ピクチャのシーケンスの開始時にベースQsを決定および変調するレート制御を提供する。さらに、シーケンスベースQsは、ピクチャのシーケンスの先頭ピクチャの種類(例えば、IピクチャまたはPピクチャ)に基づいて異なって決定および変調される。次いで、シーケンスベースQsを用いて、シーケンス内の各ピクチャに対しベースQsが決定される。或るピクチャについてのピクチャベースQsは、このピクチャの種類およびレート制御階層におけるこのピクチャのレベルに基づいてシーケンスベースQsから適合され得る。さらに、1つまたは複数の実施形態では、ピクチャを符号化する前に、様々な基準に基づいてこのピクチャについて最小および最大符号化サイズを演算する。次いで、サブピクチャレベルでのレート制御、すなわち、或るピクチャにおける符号化ブロックのシーケンスについて、例えば、行など、このピクチャにおける符号化ブロックのシーケンスについてのベースQsが、ピクチャベースQsと最小および最大符号化サイズとに基づいて決定される。より具体的には、このピクチャの符号化サイズは符号化ブロックのシーケンスの開始時に推定され、このサブピクチャベースQsは、このピクチャの推定符号化サイズが最小または最大符号化サイズから外れる場合に適宜増減され得る。特定のGOP構造は必要とされず、GOPは、Bピクチャを含むことができ、かつ/または階層符号化構造を有し得る。
ビデオシーケンスにおいてシーン変化が生じるときに起こり得る質の劣化を低減するために、いくつかの実施形態では、シーン変化が生じた時点を認識し、シーン変化が検出された後で先頭のシーン変化なしピクチャにおけるQsを管理する処置を取る。本明細書においてより詳細に説明するように、レート制御では、各符号化ブロックシーケンスの開始時に、前のピクチャでシーン変化が検出され、この時点で符号化中のピクチャではシーン変化が検出されなかったときに、最小および最大符号化サイズを適合させ得る。次いで、このシーン変化なしピクチャからの、符号化ブロックシーケンスに用いられる平均Qs値が、このシーン変化なしピクチャを含むピクチャのシーケンスについてのシーケンスベースQsとなるように設定される。
本明細書では、レート制御の実施形態で用いられるフレームシーケンスをサブGOPと称する。サブGOPを決定するために、ビデオシーケンス内の各フレームは、レート制御階層において異なるレベルにあると見なされる。レート制御階層におけるこれらのレベルは次のように定義される。レベル0フレームは、キーフレームとも呼ばれ、他のレベル0フレームを予測するために使用し得る。さらに、予測されたレベル0フレームは、基準フレームとして他のレベル0ピクチャのみを使用し得る。レベルn(n>0)のピクチャは、(n−1)およびそれよりも低い(n>0)レベルのフレームから予測され得、n+1およびそれよりも高い(n>0)レベルのフレームを予測するために用いられ得る。サブGOPは、レベル0フレーム、すなわちキーフレーム、で始まり、次のレベル0ピクチャの前の最終フレームで終わるフレームシーケンスである。これにより、サブGOPにはレベル0フレームが1つしかないことが保証され、このレベル0フレームがこのサブGOPにおける最初のフレーム(符号化順であり、表示順ではない)になる。
図1A〜図1Eは、様々なGOP構造の例を示し、これらのGOP構造に関連するサブGOPを特定している。図1A〜図1Cは非階層GOP構造の例であり、図1Dおよび図1Eは階層GOP構造の例である。より具体的には、図1AはIPPP符号化構造の例であり、図1BはIBP符号化構造の例であり、図1CはIBBP符号化構造の例であり、図1Dは階層P符号化構造の例であり、図1Eは階層B符号化構造の例である。これらの各図では、ピクチャが表示順で示されており、各ピクチャの上または下の番号はそのピクチャの符号化順を識別するものである。
レート制御階層には2種類のサブGOPがある。IサブGOPとPサブGOPである。IサブGOPは、先頭ピクチャがIピクチャであるサブGOPであり、PサブGOPは、先頭ピクチャがPピクチャであるサブGOPである。本明細書においてより詳細に説明するように、1つまたは複数の実施形態では、IサブGOPとPサブGOPではシーケンスベースQsの決定のしかたが異なる。
図2は、1つまたは複数の実施形態に従ったデジタルシステムのブロック図を示す。このシステムは、ソースデジタルシステム200および送信先デジタルシステム202を含み、前者から後者に通信チャネル216を介して符号化されたビデオシーケンスを送信する。ソースデジタルシステム200は、ビデオ取得構成要素204、ビデオエンコーダ構成要素206、およびトランスミッタ構成要素208を含む。ビデオ取得構成要素204は、ビデオエンコーダ構成要素206によって符号化されるビデオシーケンスを提供するように構成される。ビデオ取得構成要素204は、例えば、ビデオカメラ、ビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードとし得る。いくつかの実施形態では、ビデオ取得構成要素204は、ビデオシーケンスとしてのコンピュータグラフィックスや、ライブビデオとコンピュータ生成ビデオの組合せを生成し得る。
ビデオエンコーダ構成要素206は、ビデオ取得構成要素204からビデオシーケンスを受け取り、トランスミッタ構成要素208による送信のため、かつ/またはストレージ構成要素(図示せず)への記憶のため、それを符号化する。一般に、ビデオエンコーダ構成要素206は、ビデオ取得構成要素204からピクチャのシーケンスとしてビデオシーケンスを受け取り、ピクチャ全体またはピクチャの一部であり得る符号化ブロックにピクチャを分割し、符号化ブロックを予測ブロックに分割し、予測ブロックに基づいて符号化ブロック内のビデオデータを符号化する。符号化プロセスの間、本明細書に記載するようなレート制御のための方法を実施し得る。ビデオエンコーダ構成要素206の実施形態の機能性は、図3Aおよび図3Bを参照して以下でより詳細に説明する。
トランスミッタ構成要素208は、符号化されたビデオデータを送信先デジタルシステム202に通信チャネル216を介して送信する。通信チャネル216は、例えば、有線または無線通信媒体、ローカルエリアネットワーク、またはワイドエリアネットワークなど、符号化されたビデオシーケンスの送信に適した任意の通信媒体または通信媒体の組み合せとし得る。
送信先デジタルシステム202は、レシーバ構成要素210、ビデオデコーダ構成要素212、および表示構成要素214を含む。レシーバ構成要素210は、ソースデジタルシステム200から通信チャネル216を介して符号化されたビデオデータを受け取り、符号化されたビデオデータを、復号化のためビデオデコーダ構成要素212に提供する。一般に、ビデオデコーダ構成要素212は、ビデオエンコーダ構成要素206によって行われた符号化プロセスの逆を行って、ビデオシーケンスの符号化ブロックを再構築する。次いで、再構築されたビデオシーケンスは、表示構成要素214に表示され得る。表示構成要素214は、例えば、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイなどの任意の適切な表示デバイスとし得る。
いくつかの実施形態では、ビデオストリーミング、ビデオ放送、およびビデオ電話通信のためのビデオシーケンスの双方向送信のために、ソースデジタルシステム200が、レシーバ構成要素およびビデオデコーダ構成要素も含んでよく、かつ/または送信先デジタルシステム202が、トランスミッタ構成要素およびビデオエンコーダ構成要素を含んでもよい。また、ビデオエンコーダ構成要素206およびビデオデコーダ構成要素212は、例えば、MPEG−1、MPEG−2、およびMPEG−4などの動画像符号化専門家グループ(MPEG)ビデオ圧縮規格、H.263、H.264、およびHEVCなどのITU−Tビデオ圧縮規格、映画テレビ技術者協会(SMPTE)の421 Mビデオコーデック規格(通称「VC−1」)、中国オーディオビデオスタンダードワークグループ(通称「AVS」)によって定義されたビデオ圧縮規格、ITU−T/ISO高効率ビデオ符号化(HEVC)規格など、1つまたは複数のビデオ圧縮規格に従って符号化および復号化を実施し得る。ビデオエンコーダ構成要素206およびビデオデコーダ構成要素212は、ソフトウェア、ファームウェア、および例えば1つまたは複数のデジタル信号プロセッサ(DSP)、マイクロプロセッサ、離散ロジック、特殊用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などのハードウェアの任意の適切な組み合せで実装され得る。
図3は、1つまたは複数の実施形態に従ってレート制御を実施するように構成されるビデオエンコーダ、例えば、図2のビデオエンコーダ206など、のブロック図を示す。見やすくするために、図に示すブロック符号化アーキテクチャはH.264ビデオエンコーダのものとする。図3に示すように、符号化に供する入力ピクチャ300が、例えばマクロブロックなどの符号化ブロックに分割され、符号化ブロックは、動き推定構成要素320の1つの入力として、イントラ予測構成要素324の1つの入力として、およびコンバイナ302(例えば、加算器または減算器など)の正の入力に、供給される。さらに、具体的には示さないが、各入力フレームについて、予測モード、すなわち、インター予測またはイントラ予測、が選択され、モードセレクタ構成要素およびエントロピエンコーダ334に提供される。
ストレージ構成要素318が、動き推定構成要素320および動き補償構成要素322に基準データを提供する。基準データは、前に符号化および復号化された1つまたは複数のピクチャ、すなわち、再構成されたピクチャを含み得る。いくつかの実施形態では、ストレージ構成要素318は、外部メモリ、すなわち、オフチップメモリである。
動き推定構成要素320は、動き推定情報を動き補償構成要素322におよびエントロピエンコーダ334に提供する。より具体的には、動き推定構成要素320は、ストレージ318からの基準データを用いる複数の時間予測モードに基づいて符号化ブロックに対してテストを実施して、符号化コストに基づいて最良の動きベクトル/予測モードを選ぶ。予測モードをテストするために、動き推定構成要素320は、予測モードのブロックサイズに従って符号化ブロックを予測ブロックに分割し得る。動き推定構成要素320は、選択された1つまたは複数の動きベクトル(MV)および選択された予測モードを動き補償構成要素322に提供し、選択された動きベクトル(MV)をエントロピエンコーダ334に提供する。動き補償構成要素322は、動き補償されたインター予測ブロックおよび選択された時間予測モードを含む動き補償されたインター予測情報をセレクタスイッチ326に提供する。インター予測ブロックの符号化コストもモードセレクタ構成要素に提供される。
イントラ予測構成要素324は、イントラ予測ブロックおよび対応する空間予測モードを含むイントラ予測情報をセレクタスイッチ326に提供する。つまり、イントラ予測構成要素324は空間予測を実施し、この空間予測では、複数の空間予測モードに基づくテストが符号化ブロックに対して、バッファ328からの前に符号化されたこのフレームの近隣のブロックを用いて実施されて、符号化コストに基づいてイントラ予測ブロックを生成するための最良の空間予測モードが選ばれる。空間予測モードをテストするために、イントラ予測構成要素324は、予測モードのブロックサイズに従って符号化ブロックを予測ブロックに分割し得る。具体的には示さないが、セレクタスイッチ326に提供される各イントラ予測ブロックの空間予測モードは、変換構成要素304にも提供される。また、具体的には示さないが、イントラ予測ブロックの符号化コストもモードセレクタ構成要素に提供される。
セレクタスイッチ326は、動き補償構成要素322からの動き補償されたインター予測ブロックと、イントラ予測構成要素324からのイントラ予測ブロックの間で、これらのブロックの計量値の差およびモードセレクタ構成要素によって提供されるフレーム予測モードに基づいて選択する。セレクタスイッチ326の出力、すなわち、予測された予測ブロックは、コンバイナ302の負の入力におよび遅延構成要素330に提供される。遅延構成要素330の出力は、別のコンバイナ(すなわち加算器)338に提供される。コンバイナ302は、この予測された予測ブロックを現在の符号化ブロックの現在の予測ブロックから減算して、残余予測ブロックを変換構成要素304に提供する。得られた残余予測ブロックは、元の予測ブロックと予測された予測ブロックとの画素値間の差分を定量化した1セットの画素差分値である。
変換構成要素304は、残余予測ブロックに対してブロック変換を実施して、残余画素値を変換係数に変換し、これらの変換係数を出力する。変換構成要素304からの変換係数は、量子化された変換係数を出力する量子化構成要素306に提供される。より具体的には、量子化構成要素306は、レート制御構成要素340が提供する量子化パラメータ(Qp)から導出される量子化スケール(Qs)によって残余予測ブロックの変換係数の値を分割する。一般に、量子化構成要素306は、所望の数の量子化ステップを用いることによって係数を表し、用いられるステップ数(あるいはこれに対応してQs値またはスケーリングマトリックス内の値)により、残余を表すために用いられるビット数が決定される。
レート制御構成要素340は、本明細書に記載するようなレート制御の方法に従って各符号化ブロックについてベースQsを演算し、このベースQsを、量子化構成要素306が使用するために適切なQp値に変換する。図4Aおよび図4Bを参照して以下でより詳細に説明するように、レート制御方法のいくつかの実施形態では、ビデオバッファ336の現在の充足状況を含むいくつかの因子に鑑みて、符号化ブロックについてベースQsを、この符号化ブロックを含むサブGOPについてのベースQsを目標ビットレートに適合させることによって生成する。
DCT変換により残余信号のエネルギーが周波数ドメインに再配分されるので、量子化された変換係数は、走査構成要素308でそれらのラスター走査順序から取り出され、有意性により、例えば、より有意の係数から始まりより有意でない係数がそれに続くように配される。順序付けられた量子化された変換係数は、走査構成要素308を介してヘッダ情報とともに提供され、エントロピエンコーダ334によって符号化される。エントロピエンコーダ334は、圧縮されたビットストリームを送信または記憶のためビデオバッファ336に提供する。エントロピエンコーダ334によって実施されるエントロピ符号化は、例えば、コンテキスト適合型可変長符号化(CAVLC)、コンテキスト適合型2値算術符号化(CABAC)、ランレングス符号化などの任意の適切なエントロピ符号化手法とし得る。
どのエンコーダの中にも埋め込みデコーダがある。いかなる準拠したデコーダも圧縮されたビットストリームからイメージを再構築すると見込まれているので、埋め込みデコーダは同じ役目をビデオエンコーダに与えている。再構築された入力がわかると、ビデオエンコーダは、適切な残余エネルギーを伝えて後続のフレームを構成することができる。再構築された入力、すなわち、基準データ、を決定するために、走査構成要素308を介して提供される順序付けられた量子化された変換係数は、逆走査構成要素310によって元の変換後配列に戻される。逆走査構成要素310の出力は、逆量子化構成要素312に提供され、逆量子構成要素312は、推定された変換された情報、すなわち、変換構成要素304からの変換結果を推定または再構築したもの、を出力する。推定された変換された情報は逆変換構成要素314に提供され、逆変換構成要素314は、残余予測ブロックを再構築したものを表す、推定された残余情報を出力する。再構築された残余予測ブロックは、コンバイナ338に提供される。
コンバイナ338は、再構築された残余予測ブロックに、遅延された選択された予測ブロックを加算して、フィルタリングされていない再構築された予測ブロックを生成する。この予測ブロックは、再構築されたフレーム情報の一部になる。再構築されたフレーム情報は、バッファ328を介してイントラ予測構成要素324に提供され、フィルタ構成要素316にも提供される。フィルタ構成要素316は、再構築されたフレーム情報をフィルタリングし、フィルタリングされた再構築された符号化ブロック、すなわち、基準データ、をストレージ構成要素318に提供するループ内フィルタである。
図4Aおよび図4Bは、1つまたは複数の実施形態に従ったレート制御のための方法のフローチャートを示す。説明を簡単にするために、サブピクチャレベルでのレート制御は符号化ブロック行に基づいて行われると仮定してこれらの方法を説明する。サブピクチャレベルでのレート制御が、ピクチャの行よりも短いことも長いこともあり、ピクチャ内で長さが変化し得る、符号化ブロックシーケンスに基づいて行われる実施形態が当業者には理解されよう。
レート制御方法の1つまたは複数の実施形態では、ビデオシーケンスの各サブGOPの開始時にベースQsを演算する(402)。次いで、このサブGOPベースQsを用いて、サブGOP内の各ピクチャに対しベースQsを演算する(404)。最小および最大符号化サイズも各ピクチャに対し演算される(420)。次いで、ピクチャベースQsと最小および最大ピクチャサイズとを用いて、ピクチャの符号化ブロックの各行に対しベースQsを決定する(430〜438)。より具体的には、或る行についての行ベースQsは、ピクチャの推定符号化サイズが最小または最大ピクチャサイズから外れる場合、必要に応じて増減され得る(430〜434)。さらに、ピクチャの符号化中にシーン変化が検出された場合、最小および最大ピクチャサイズは、シーン変化検出後の最初のシーン変化なしピクチャの各行に対し適合され(424〜428)て、このピクチャに対する特別なサイズ制約が有効になる。本明細書ではこのサイズ制約をシーン変化サイズ制約と称することがある。シーン変化なしピクチャを符号化した後、次のピクチャを符号化する前に、サブGOPベースQsをこのピクチャについての平均行ベースQsに設定する(408)。
シーン変化の前後ではピクチャの複雑さが大きく異なり得、この複雑さは、この複雑さの変化の影響を低減するために何らかの対策が取られない限り、シーン変化後いくらか時間が経ってから符号化されるピクチャの質に悪影響を及ぼす恐れがあるので、シーン変化の特別な処理が実施される。例えば、ピクチャの複雑さがシーン変化前は極めて小さいが、シーン変化後に極めて大きい場合、新たなシーンの最初の数ピクチャについてのQs値は極めて小さくなる。これは、前のピクチャの複雑さが極めて小さいために目標ビットレートを満足するためシーン変化前のQs値が極めて小さくなるからである。このため、新たなシーンにおける最初の数ピクチャの符号化は、目標ビットレートと比較してかなり多くのビット数を消費することになる。そのため、後続の数ピクチャにわたってQs値をかなり大きな値に増加させて目標ビットレートを満足させる。これにより、新たなシーンの開始時に極めて良好な画質のピクチャが数枚得られるが、その後、画質の悪いピクチャが多数続くことになる。
別の例では、ピクチャの複雑さがシーン変化前は極めて大きいが、シーン変化後に極めて小さい場合、新たなシーンにおける最初の数ピクチャで用いられるQs値は極めて大きくなる。これは、前のピクチャの複雑さが極めて大きいために目標ビットレートを満足するためシーン変化前のQs値が極めて大きくなるからである。このため、新たなシーンにおける最初の数ピクチャは、或るピクチャについての目標ビット数と比較してかなり少ないビット数しか取らないことになる。このため、新たなシーンの開始時に画質の悪いピクチャが多くなる。
シーン変化サイズ制約が課されるように、シーン変化後の最初のシーン変化なしピクチャにおける行レベルでの最小および最大ピクチャサイズを適合させて、シーン変化後のより迅速な安定を提供するサブGOPベースQsの新たな値を生成する。以下でより詳細に説明するように、この特定の適合は、サブGOPベースQsの新たな値を生成するために経験的に導出される最小および最大サイズ閾値に基づく。
ここで図4Aおよび図4Bの方法のステップをより詳細に説明する。本方法のステップを説明では、本方法の実施形態の例示実装形態の態様を記述する疑似コードの形式で例を提供する。この疑似コードは説明の目的にのみ提供されるものであり、限定的なものと解釈すべきではない。レート制御方法は様々の異なる方式で実施し得ることが当業者には理解されよう。この疑似コードは、Cプログラミング言語の構文で表現され、本明細書の最後に示す表10で定義される様々な変数および定数を引用している。従って、この疑似コードは、実行される特定の命令および演算を詳細に説明しなくても当業者には理解可能なはずである。
例示の疑似コードの一部は、量子化パラメータ(Qp)ドメインで動作し、Qp値をQs値に変換するか、あるいは、Qpのデルタ変化に基づいてQs値を調整する。疑似コードでは、これらの演算は、サブルーチンQp2QsおよびaddDelta2Quantとしてそれぞれ参照される。いくつかのビデオ符号化規格では、量子化ステップサイズは、整数値を有する整数値量子化パラメータに関連付けられている。Qp値からQs値への変換の手法およびQpデルタ変化に基づくQs値の調整の手法は、当技術分野ではよく知られている。例えば、或るQp値に対するQs値は、ルックアップテーブルを用いて、かつ/または計算による導出によって決定し得る。
図4Aに示すように、ビデオシーケンスの開始時に、このビデオシーケンス内の最初のピクチャについての初期Qsが演算される(400)。理想的には、初期QsはQsの安定状態値に近く、それによって、そうでない場合にビデオシーケンスの開始時、すなわちコールドスタート時、に生じ得るビデオ品質劣化が低減される。つまり、コールドスタート時に用いられるQsは、適切に設定されていない場合、このQsが安定状態に落ち着く前に多数のピクチャの符号化にわたって調整が必要とされることがある。例えば、初期ランプ期間(立ち上がり時間)中、開始時のQsが安定状態に到達したQsより大きい場合、知覚/測定される画質は、このランプ期間中のほうが安定化後よりも悪い。また、開始時のQsが安定状態に到達したQsより小さい場合、ランプ期間中にピクチャを符号化するために必要以上のビットが消費されることになり、ランプ期間後に符号化されるピクチャのビデオ画質が、ランプ期間中のビットの過剰消費を補うためにしばらくの間劣化することがある。
従って、ビデオシーケンスの初期Qsは、目標ビットレートに基づいて、低い目標ビットレートに対しては大きな初期Qsが用いられ、高い目標ビットレートに対しては小さな初期Qsが用いられるように演算される。いくつかの実施形態では、初期Qsは、ビデオシーケンスの目標ビットレート、低いビットレートに対して経験的に決定されるデフォルトQs値、およびより高いビットレート、例えば、高ビットレートおよび中ビットレート、を表す1つまたは複数の経験的に決定される閾値に基づいて決定される。用いられる閾値の数は、所与のビデオエンコーダが提供するビットレートの範囲によって決まり得る。ビデオシーケンスの目標ビットレートが高いビットレートを表す閾値より低い場合、初期QsがデフォルトQsに設定される。そうでない場合、デフォルトQs値は、目標ビットレートが高いほどデフォルトQs値が小さくなるように、それが超える最高ビットレート閾値に応じていくらか下げられる。初期Qsは、符号化効率に影響を及ぼすビデオエンコーダで用いられる特定の符号化手法に基づいて決定されてもよい。
表1の疑似コードは、初期Qs、seqInitQsの動的決定の例を示す。この例では、2つの経験的に決定される閾値が用いられる。一つは高ビットレートを表す閾値であり、もう一つは中ビットレートを表す閾値である。また、高ビットレートおよび中ビットレートに対する目標ビットレートの比較解析は、目標ビットレートから導出されるマクロブロック(MB)目標ビットレートtargetBitsMBに基づく。この疑似コードは、初期量子化パラメータ(Qp)を決定し、次いで、このQpをQs値に変換する(Qp2Qs)ことに留意されたい。デフォルトQp値は、経験的に決定され、マクロブロック目標ビットレートがこれらの閾値の一方よりも高くない場合に限り初期Qsを決定するために用いられる。
次いで、ビデオシーケンス内の各サブGOPが符号化される(402〜412)。サブGOPの開始時に、そのサブGOPについてのベースQsが演算される(402)。さらに、このサブGOPについてのベースQsが、サブGOPがIサブGOPかPサブGOPかに基づいて決定される。サブGOPがIサブGOPである場合、サブGOPベースQsが、ビデオシーケンスにおける各前に符号化されたピクチャの平均行ベースQsに基づいて演算される。つまり、現在のサブGOPより前に符号化されたビデオシーケンス内の各ピクチャの平均行ベースQsが、現在のサブGOPについてのベースQsの値に寄与する。いくつかの実施形態では、サブGOPベースQは、前のピクチャの平均行ベースQs値の移動(running)重み平均として演算される。この移動重み平均は、各ピクチャが次のように符号化された後で演算され得る。
curQsI=weightedAvg(modQs,curQsI)
ここで、weightedAvg(qa,qb)=qa×w1+qb×w2であり、modQs=fun(avgQsCurPic)である。これら2つの重みの値は経験的に決定され得る。いくつかの実施形態では、w1=0.75およびw2=0.25である。
サブGOPがPサブGOPである場合、サブGOPベースQsは、ビデオシーケンスにおける前のPサブGOPの符号化からの様々なレート制御統計値に基づいて演算される。いくつかの実施形態では、サブGOPベースQsは、前のPサブGOP内のピクチャによって消費される平均ビット数とピクチャ当たりの目標ビットとの間の不一致の調整因子によって適合される、前のPサブGOP内の先頭ピクチャの平均Qsである。
いくつかの実施形態では、PサブGOPについてのサブGOPベースQsの演算は、ビデオバッファの充足状況に基づく。より具体的には、レート制御は、バッファ充足状況を公称バッファレベル近くに維持することによって、フレーム飛ばしを減らし、バッファアンダーフローが生じないようにビデオバッファの充足状況を管理しようとする。PサブGOPの開始時にバッファ充足状況がこの公称バッファレベルよりも高い場合、サブGOPベースQsの演算は、Qsを大きくするようにバイアスされ得る。また、バッファ充足状況が低すぎる場合、この演算はQsを小さくするようにバイアスされ得る。
PサブGOPについてのサブGOPベースQsの演算は、VBRまたはCBRのいずれの符号化が実施されているかも考慮し得る。さらに、この演算は、サブGOPベースQsが連続するサブGOP間で変化し得る度合いを制限し得る。
表2の疑似コードは、或るサブGOPについてのベースQsの決定例を示す。この疑似コードでは、サブGOPベースQs baseQsCurSubGopは、IサブGOPの場合はcurQsIに設定され、PサブGOPの場合は前のPサブGOP内の先頭ピクチャの平均Qs baseQsAvePrevPSubGopに調整因子globalAdjを適用することによって演算される。調整因子globalAdjの値は、前のPサブGOP内のピクチャによって消費された平均ビット数prevPtypeSubGopBitsと、ピクチャ当たりの目標ビットtargetBitsPerPicとの間の不一致、および充足状況の所望のレベルvbUseLevelと比較したビデオバッファの充足状況の現在のレベルvbLevelに基づいて決定されるバイアス値vbconvergeに基づいて演算される。また、サブGOPベースQsの値baseQsCurSubGopは、VBRまたはCBR符号化のいずれが使用されているかによって決まる最大Qs maxQsLimitよりも大きくなれない。
curQsIの値baseQsPrevPSubGop、baseQsCurSubGop、およびbaseQsAvePrevPSubGopは、ビデオシーケンス内の最初のサブGOPについてのサブGOPベースQsを演算するために、このビデオシーケンスの初期QsであるseqInitQsに基づいて初期化される。より具体的には、baseQsPrevPSubGop=baseQsCurSubGop=baseQsAvePrevPSubGop=addDelta2Quant(seqInitQs,+rcIQPBoost and curQsI=baseQsPrevPSubGopである。rcIQPBoostの値は、得られる視覚的な質に基づいて経験的に決定され得る。prevPtypeSubGopBitsの値も初期化される。
再び図4Aを参照して、サブGOPベースQsが演算されると(402)、このサブGOPベースQsを用いてサブGOP内の各ピクチャが符号化される(404〜410)。ピクチャの開始時に、このピクチャのベースQsがサブGOPベースQsを用いて演算される(404)。ピクチャベースQsは、ピクチャの種類およびレート制御階層におけるピクチャのレベルに基づいてサブGOPベースQsを調整することによって演算される。一般に、Iピクチャは、サブGOPベースQsより小さいピクチャベースQsを有し、レート制御階層のレベル0のPピクチャは、サブGOPベースQsと等しいピクチャベースQsを有し、レート制御階層のレベルがより高いピクチャは、サブGOPベースQsより高いピクチャベースQsを有する。さらに、レート制御階層のレベルnのピクチャは、レート制御階層のレベルn−1のピクチャより高いピクチャベースQsを有する。
表3の疑似コードは、或るピクチャについてのベースQsをサブGOPベースQsを用いて決定する例を示す。このピクチャがIピクチャである場合、サブGOPベースQsは固定量−rcIQPBoostだけ上げられる。このピクチャがレート制御階層でレベル0のPピクチャである場合、サブGOPベースQsは変更されない。レート制御階層でのレベルがレベル0より低いピクチャについては、サブGOPベースQsは、固定量deltaQpPBだけ下げられ、このピクチャのレート制御階層レベルgopLevelに従ってさらに下げられる。
ピクチャベースQsが演算されると(404)、ピクチャベースQsを用いてピクチャが符号化される(406)。図4Bを参照して以下にピクチャの符号化をより詳細に説明する。ピクチャが符号化された後、シーン変化が検出され、符号化されたばかりのピクチャがシーン変化後の最初のシーン変化なしピクチャであった場合、次のピクチャについてのピクチャベースQsを演算する前にサブGOPベースQsが調整され得る(408)。上述したように、この調整は、シーン変化の前後でピクチャの複雑さがかなり異なる場合に生じ得る符号化品質の劣化を低減するように成される。上記条件が満足される場合、シーン変化なしピクチャについての平均行ベースQsに基づいてサブGOPベースQsが調整される。平均行ベースQsは、ピクチャの符号化に用いられる行ベースQs値の和をこのピクチャ内の行数で除算することによって演算し得る。
この調整は、シーン変化なしピクチャ後の次のピクチャについてのピクチャベースQsを演算する前に実施される。さらに、この調整は、シーン変化なしピクチャの種類に依存し得る。いくつかの実施形態では、シーン変化なしピクチャがPピクチャである場合、サブGOPベースQsは、シーン変化なしピクチャの平均行ベースQsに設定される。また、シーン変化なしピクチャがBピクチャである場合、サブGOPベースQsは、レート制御階層におけるこのピクチャのレベルに対して調整される平均行ベースQsに設定される。すなわち、サブGOPベースQsが平均行ベースQsよりも大きくなり、平均行ベースQsに対するデルタ変化がレート制御階層における各連続レベルに対し大きくなるようにする。PサブGOPについてのサブGOPベースQsの演算に用いられる様々な統計値も必要に応じて調整される。
表4の疑似コードは、シーン変化に対してサブGOPベースQsを必要に応じて調整する例を示す。フラグupdateBaseQsAfterSceneChangeは、シーン変化のため、サブGOPベースQs baseQsCurSubGopを更新すべきかどうかを示すために用いられる。フラグisNewSceneは、符号化されたばかりのピクチャにシーン変化があったか否かを示す。この値isNewSceneは、レート制御と同時に行われるシーン検出手法によって更新される。任意の適切なレート制御手法を用いることができる。サブGOPベースQsの演算に用いられる他の変数も、現在のサブGOPについてのベースQsの変化が次のPサブGOPについてのベースQsの演算に反映されるように更新されることに留意されたい。
この疑似コードでは、updateBaseQsAfterSceneChangeが真である場合、現在のサブGOPにおける前に符号化されたピクチャでシーン変化が検出されている。isNewSceneが偽である場合、符号化されたばかりのピクチャでシーン変化は検出されておらず、すなわち、符号化されたばかりのピクチャはシーン変化なしピクチャである。baseQsCurSubGopの値は、これらの条件両方が満たされる場合にのみ変更される。サブGOP内のシーン変化なしピクチャがPピクチャである場合、baseQsCurSubGopは、シーン変化なしピクチャの符号化に用いられる平均行QsであるbaseQsAvgCurPicに設定される。このシーン変化なしピクチャがBピクチャである場合、baseQsCurSubGopは、固定量deltaQpPBだけ下げられたbaseQsAvgCurPicに設定され、このピクチャのレート制御階層のレベルgopLevelに従ってさらに下げられる。
サブGOP内のすべてのピクチャが符号化された(410)後、現在のサブGOPがPサブGOPである場合、PサブGOPについてのサブGOPベースQsの演算に用いられる様々な統計値が更新される。例えば、このサブGOP内の先頭ピクチャの平均Qsが記憶され得、ピクチャの符号化に用いられる平均ビット数が演算され得る。表5の疑似コードは、PサブGOPについてのサブGOPベースQsの演算に用いられる統計値を更新する例を示す。
図4Bは、図4Aのステップ406を実施するための方法、すなわち、サブGOPベースQsを用いてピクチャベースQsが演算されるとピクチャを符号化するための方法を示す。ピクチャの開始時に、このピクチャについて最大ピクチャサイズおよび最小ピクチャサイズが演算される(420)。最大ピクチャサイズはピクチャを符号化するために用いられる最大ビット数を示し、最小ピクチャサイズはピクチャを符号化するために用いられる最小ビット数を示す。一般に、最大ピクチャサイズは、ピクチャ当たりの目標ビットより大きく設定される。最大ピクチャサイズはVBR符号化とCBR符号化で異なることもあり、VBR符号化ではより大きい最大ピクチャサイズがより望ましく、CBR符号化ではより小さい最大ピクチャサイズがより望ましい。下にあるハードウェアの性能などの他の因子も、最大ピクチャサイズの演算に際して考慮され得る。いくつかの実施形態では、最大ピクチャサイズは、ピクチャ当たりの目標ビットの倍数として演算され、VBR符号化で用いられる倍率はCBR符号化で用いられるものよりも大きい。倍率は経験的に決定され得る。
最小ピクチャサイズは、VBR符号化では典型的には0である。CBR符号化では、最小ピクチャサイズは、起こり得る経時的ビット消費変動が小さくなるように設定される。さらに、最小ピクチャサイズと最大ピクチャサイズは、互いにあまり近い値とすべきではない。近くすると、ピクチャ内でQsが過度の振動をきたすことがあるからである。そのために、いくつかの実施形態では、最小ピクチャサイズは、ピクチャ当たりの目標ビットの半分よりも小さく、または最大ピクチャサイズの1/4に設定される。
表6の疑似コードは、最大ピクチャサイズmaxPicSizeの演算例を示し、表7の疑似コードは、最小ピクチャサイズminPicSizeの演算例を示す。
再び図4Bを参照して、最小および最大ピクチャサイズが演算された(420)後、ピクチャ内の符号化ブロックの各行がピクチャベースQsと最小および最大ピクチャサイズとを用いて符号化すされ(422〜438)。まず、行ベースQsがピクチャベースQsになるように設定される(422)。前のピクチャにシーン変化がなく(424)、行ベースQsの現在の値が用いられる場合、この時点でピクチャを符号化するために必要とされるビット数が推定される(430)。推定されたサイズが最大ピクチャサイズよりも大きいか、または最小ピクチャサイズよりも小さい場合(432)、行ベースQsが調整される(434)。より具体的には、現在の行についての行ベースQsが、ピクチャサイズ制約を満足するように必要に応じて増減される。推定されたサイズがピクチャサイズ制約から外れない場合(432)、行ベースQsは変更されない。次いで、この行における符号化ブロックがこの行ベースQsを用いて符号化される。
前のピクチャでシーン変化があった場合(424)、現在のピクチャでシーン変化が検出されたかを判断するために検査がなされる(426)。シーン変化検出はレート制御と同時に実施され、ピクチャが符号化される一方でシーン変化インジケータを設定することによってシーン変化を知らせることができる。シーン変化が検出された場合(426)、最大ピクチャサイズおよび最小ピクチャサイズの現在の値を用いて行が符号化される(430〜436)。これらの値は、このピクチャの開始時に演算された値(420)と同じでないことがある。このピクチャでシーン変化が検出される前にこれらの値が適合された(428)かもしれないからである。
シーン変化が検出されなかった場合(426)、最大および最小ピクチャサイズがこの行に対して適合される(428)。この適合は、サイズ閾値に従って最大及び最小ピクチャサイズを制約する。このサイズ閾値は、サブGOPベースQsが順方向に進むときに用いるために適した、このピクチャについての平均行ベースQsが得られるように、すなわち、シーン変化後のより早い安定となるサブGOPベースQsの新たな値が得られるように、選択される。最大及び最小ピクチャサイズの適合に用いられる特定のサイズ閾値は、現在のピクチャの種類に基づいて選択される。より具体的には、Iピクチャの場合の適合される最大ピクチャサイズは、Pピクチャの場合の適合される最大ピクチャサイズよりも大きくなり、Pピクチャの場合の適合される最大ピクチャサイズは、Bピクチャの場合の適合される最大ピクチャサイズよりも大きくなる。同様に、Iピクチャの場合の適合される最小ピクチャサイズは、Pピクチャの場合の適合される最小ピクチャサイズよりも大きくなり、Pピクチャの場合の適合される最小ピクチャサイズは、Bピクチャの場合の適合される最小ピクチャサイズよりも大きくなる。
さらに、いくつかの実施形態では、適合される最大ピクチャサイズは、ピクチャの種類にかかわらず、ピクチャ当たりの目標ビットの倍数である。つまり、最大サイズの閾値は、適合される最大ピクチャサイズを演算するためにピクチャ当たりの目標ビットに適用される、経験的に決定される倍率である。同様に、適合される最小ピクチャサイズは、ピクチャの種類にかかわらず、ピクチャ当たりの目標ビットに基づいている。Iピクチャの場合、適合される最小ピクチャサイズは、ピクチャ当たりの目標ビットを、GOP内のPおよび/またはBピクチャの数に基づいて決定される約数で除算したものである。Pピクチャの場合、適合される最小ピクチャサイズは、ピクチャ当たりの目標ビットである。Bピクチャの場合、適合される最小ピクチャサイズは、ピクチャ当たりの目標ビットの半分である。
表8の疑似コードは、行レベルで最大ピクチャサイズmaxPicSizeを演算する例を示し、表9の疑似コードは、行レベルで最小ピクチャサイズminPicSizeを演算する例を示す。
再び図4Bを参照して、最小および最大ピクチャサイズが適合された(428)後、最大ピクチャサイズおよび最小ピクチャサイズの適合された値を用いて行が符号化される(430〜436)。
ピクチャ内のすべての行が符号化された(438)後、IサブGOPについてのサブGOPベースQsの値を設定するために用いられる移動重み平均が、このピクチャを符号化するために用いられた平均Qsで更新される。前のピクチャでシーン変化が検出されたことを知らせるために用いられるインジケータもこのレベルで管理される。現在のピクチャの符号化においてシーン変化が検出されると、インジケータは、シーン変化が検出されたことを知らせるように設定される。また、このピクチャが、シーン変化が検出された後の最初のシーン変化なしピクチャである場合、インジケータは、シーン変化が検出されていないことを知らせるように設定される。このピクチャの符号化が開始されピクチャの符号化中にシーン変化が検出されなかったときこのインジケータが前のピクチャでシーン変化を知らせる場合、このピクチャは最初のシーン変化なしピクチャであることに留意されたい。このインジケータは、疑似コードの例では、updateBaseQsAfterSceneChangeと呼ばれる。
ビデオシーケンスの開始時、すなわち、コールドスタート時に、シーン変化について上述したものと同様の理由で、ビデオ品質劣化となり得ることを理解されたい。つまり、何らかの方式で緩和しない限り、コールドスタート時に用いられるQsは、安定状態に落ち着く前に、多数のピクチャの符号化にわたって調整を必要とし得る。いくつかの実施形態では、ビデオシーケンスの開始時のコールドスタートは、ビデオシーケンス内の最初のピクチャを新たなシーンの最初のピクチャ、すなわち、シーン変化が生じたピクチャ、として扱うようにレート制御を初期化することによって処理される。そのため、上述したように、レート制御は、最初のピクチャ後の先頭のシーン変化なしピクチャにおけるQsを管理する処置を取る。
本開示に記載したレート制御手法は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合せで実施され得る。レート制御手法の任意の一部または全部がソフトウェア内にある場合、このソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはデジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサにおいて実行され得る。ソフトウェアは、まず、コンパクトディスク(CD)、ディスケット、テープ、ファイル、メモリ、または任意の他のコンピュータ可読ストレージデバイスなど、コンピュータ可読媒体に記憶され、プロセッサにロードされ実行され得る。場合によっては、このソフトウェアは、コンピュータ可読媒体およびこのコンピュータ可読媒体用のパッケージ材料を含むコンピュータプログラム製品として販売され得る。場合によっては、ソフトウェア命令が、着脱可能なコンピュータ可読媒体(例えば、フロッピーディスク、光ディスク、フラッシュメモリ、USBキー)を介して、別のデジタルシステム上のコンピュータ可読媒体から送信経路を介する等の方式で配信され得る。
本明細書に記載したようなレート制御のための方法およびシステムの実施形態は、事実上いかなる種類のデジタルシステム(例えば、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話(すなわちセルホン)またはMP3プレーヤなどのハンドヘルドデバイス、パーソナルデジタルアシスタント(PDA)、デジタルビデオカメラ、セットトップボックス、デジタルビデオレコーダ(DVR)など)に対して、デジタルビデオシーケンスを取得するかまたは別の方法で生成する機能性を備えて実装され得る。図5〜図7は、例示のデジタルシステムのブロック図である。
図5は、1つまたは複数の実施形態に従った、埋め込みシステム(例えばデジタルカメラ)に適したデジタルシステムを示す。このデジタルシステムは、構成要素の中でもとりわけ、DSPに基づくイメージコプロセッサ(ICP)502、RISCプロセッサ504、および本明細書に記載したレート制御方法を実施するように構成され得るビデオ処理エンジン(VPE)506を含む。RISCプロセッサ504は、任意の適切に構成されるRISCプロセッサとし得る。VPE506は、イメージセンサ、ビデオデコーダなどのイメージング周辺機器からのビデオ取得用に用いられる入力インターフェースを備えた、構成可能なビデオ処理フロントエンド(ビデオVE)508、SDTVディスプレイ、デジタルLCDパネル、HDTVビデオエンコーダなどの表示デバイス用に用いられる出力インターフェースを備えた、構成可能なビデオ処理バックエンド(ビデオBE)510、ならびにビデオFE508とビデオBE510に共有されるメモリインターフェース524を含む。このデジタルシステムは、マルチメディアカード、オーディオシリアルポート、ユニバーサルシリアルバス(USB)コントローラ、シリアルポートインターフェースなどを含み得る様々な周辺機器用の周辺機器インターフェース512も含む。
ビデオVE508は、イメージ信号プロセッサ(ISP)516および3A統計生成器(3A)518を含む。ISP516は、イメージセンサおよびデジタルビデオソースにインターフェースを提供する。より具体的には、ISP516は、センサ(CMOSまたはCCD)から未処理イメージ/ビデオデータを受け取ることができ、数多くのフォーマットのYUVビデオデータを受け取ることもできる。ISP516は更に、未処理CCD/CMOSデータからカラーフォーマット(例えばRGB)のイメージデータを生成する機能性を備えたパラメータ化イメージ処理モジュールを含む。ISP516は、センサの種類毎にカスタム化が可能であり、取得したデジタルイメージのプレビュー表示用かつビデオ記録モード用のビデオフレームレートをサポートする。ISP516は更に、他の機能性の中でもとりわけ、イメージリサイザ、統計収集機能性、および境界信号計算機を含む。3Aモジュール518は、ISP516または外部メモリからの未処理イメージデータに関する計量値を収集することによって、オートフォーカス、オートホワイトバランス、および自動露出用のための制御ループをサポートする機能性を含む。
ビデオBE510は、オンスクリーンディスプレイエンジン(OSD)520およびビデオアナログエンコーダ(VAC)522を含む。OSDエンジン520は、いくつかの異なる種類のハードウェアディスプレイウィンドウ用の様々なフォーマットの表示データを管理する機能性を含み、また、ビデオデータおよび表示/ビットマップデータを収集し、単一のディスプレイウィンドウに合成した後、このデータをYCbCrフォーマットでVAC522に提供する。VAC522は、OSDエンジン520から表示フレームを取り込み、それを所望の出力フォーマットにフォーマットし、表示デバイスにインターフェースするために必要とされる信号を出力する機能性を含む。VAC522は、コンポジットNTSC/PALビデオデバイス、Sビデオデバイス、デジタルLCDデバイス、高精細ビデオエンコーダ、DVI/HDMIデバイスなどにインターフェースし得る。
メモリインターフェース524は、外部メモリにデータを要求しかつ/または外部メモリからデータを送信している、ビデオFE508およびビデオBE510内のモジュールへのプライマリソースおよびシンクとして機能する。メモリインターフェース524は、読出しおよび書込みバッファおよびアービトレーションロジックを含む。
ICP502は、取得イメージのビデオ符号化に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ符号化規格は、例えば、JPEG規格、MPEG規格、およびH.26x規格の1つまたは複数を含み得る。1つまたは複数の実施形態では、ICP502は、本明細書に記載したレート制御方法の計算演算をビデオ符号化中に実施するように構成される。
図6は、本明細書に記載したようなレート制御を実施するように構成され得るデジタルシステム(例えば、携帯電話)600のブロック図である。信号処理ユニット(SPU)602は、埋め込みメモリ及びセキュリティ機能を含むデジタル処理プロセッサシステム(DSP)を含む。アナログベースバンドユニット604は、ハンドセットマイクロホン613aから音声データストリームを受け取り、ハンドセットモノラルスピーカ613bに音声データストリームを送る。アナログベースバンドユニット604は更に、マイクロホン614aから音声データストリームを受け取り、モノラルハンドセット614bに音声データストリームを送る。アナログベースバンドユニット604とSPU602とは別々のICとし得る。多くの実施形態では、アナログベースバンドユニット604は、プログラマブルプロセッサコアを埋め込まないが、SPU602上で動作するソフトウェアによって設定されるオーディオ経路、フィルタ、利得などの構成に基づいて処理を実行する。いくつかの実施形態では、アナログベースバンド処理は、通話処理または他の処理中のデジタルシステム600のユーザとの相互作用のため、同じプロセッサ上で実行され、かつ、このプロセッサに情報を送ることができる。
ディスプレイ620は、ネットワークから、ローカルカメラ628から、またはUSB626やメモリ612などの他のソースから受け取ったピクチャや符号化されたビデオストリームも表示し得る。SPU602は、RFトランシーバ606を介してセルラネットワークなどの様々なソースから、またはカメラ628から受け取ったビデオストリームをディスプレイ620に送ることもできる。SPU602は更に、エンコーダ622を経由しコンポジット出力端子624で外部ビデオディスプレイユニットへビデオストリームを送ることもできる。エンコーダユニット622は、PAL/SECAM/NTSCビデオ規格に従って符号化を提供し得る。
SPU602は、ビデオ符号化および復号化に必要とされる計算演算を実施する機能性を含む。サポートされるビデオ符号化規格は、例えば、JPEG規格、MPEG規格、H.26x規格、および新たに出てきたHEVC規格の1つまたは複数を含み得る。1つまたは複数の実施形態では、SPU602は、本明細書に記載したようにビデオ符号化中にレート制御の計算演算を実施するように構成される。レート制御の全部または一部を実施するソフトウェア命令がメモリ612に記憶され得、例えばピクチャやビデオストリームなどのデジタルイメージデータの符号化の一部としてSPU602によって実行し得る。
図7は、プロセッサ702、関連するメモリ704、ストレージデバイス706、およびデジタルシステムに典型的な数多くの他の要素および機能性(図示せず)を含むデジタルシステム700(例えば、パーソナルコンピュータ)を示す。1つまたは複数の実施形態では、デジタルシステムが複数のプロセッサを含み得、かつ/または、これらのプロセッサの1つまたは複数をデジタル信号プロセッサとし得る。デジタルシステム700は更に、キーボード708およびマウス710(または他のカーソル制御デバイス)などの入力手段、およびモニタ712(または他の表示デバイス)などの出力手段を含み得る。これらの入力および出力手段は他の形態を取り得ることが当業者には理解されよう。デジタルシステム700は更に、ビデオシーケンスを取得するための回路(例えば、光学素子、センサ、読出し電子機器)を含むイメージ取得デバイス(図示せず)を含み得る。デジタルシステム700は、本明細書に記載したようなレート制御を実施する機能性を備えたビデオエンコーダを含み得る。
デジタルシステム700は、ネットワークインターフェース接続(図示せず)を介して、ネットワーク(図示せず)(例えば、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラネットワーク、任意の他の類似の種類のネットワーク、および/またはこれらの任意の組み合せ)に接続され得る。デジタルシステム700は、ストレージデバイス706からおよび/または着脱可能な記憶媒体から、ネットワークインターフェース接続を介して、符号化されたビデオシーケンスを受け取る機能性を含み得る。
また、上述したデジタルシステム700の1つまたは複数の要素は、離れた場所に配置され得、ネットワークを介して他の要素に接続され得ることが当業者には理解されよう。また、複数のノードを有する分散システムで実施形態を実施し得、このシステムの各部分およびソフトウェア命令が、分散システム内の異なるノードに位置していてもよい。一実施形態では、ノードをデジタルシステムとし得る。あるいは、ノードは、関連する物理メモリを備えたプロセッサとし得る。あるいは、ノードは、共有されるメモリおよび/またはリソースを備えたプロセッサとし得る。
本明細書に記載したようなレート制御の計算演算を実施するソフトウェア命令は、コンパクトディスク(CD)、ディスケット、テープ、ファイル、メモリ、または任意の他のコンピュータ可読ストレージデバイスなど、コンピュータ可読媒体に記憶され得る。ソフトウェア命令は、着脱可能なコンピュータ可読媒体(例えば、フロッピーディスク、光ディスク、フラッシュメモリ、USBキー)を介する、別のデジタルシステム上のコンピュータ可読媒体から送信経路を介する等の方式で、デジタルシステム700に配信され得る。
例示の実施形態の文脈で説明したような特徴またはステップの全てまたはその幾つかを有する例示の実施形態の文脈で説明した一つ又は複数の特徴又はステップの異なる組合せを有する実施形態も、本明細書に包含されることを意図している。当業者には、本発明の特許請求の範囲内で多くの他の実施形態および変形も可能であることが理解されよう。

Claims (8)

  1. 圧縮されたビットストリームを生成するためのビデオシーケンスの符号化におけるレート制御の方法であって、
    前記ビデオシーケンス内のピクチャのシーケンスについてシーケンスベース量子化ステップサイズを演算することであって、前記演算が前記ピクチャのシーケンス内の先頭ピクチャ内に使用される平均量子化ステップサイズに基づいており、同じ量子化ステップサイズが全体のピクチャに対して使用される、前記演算することと
    前記ピクチャのシーケンスのピクチャについてピクチャベース量子化ステップサイズを演算することであって、前記演算が前記シーケンスベース量子化ステップサイズ前記ピクチャの種類レート制御階層における前記ピクチャのレベルに基づいており、1つのレベル0のフレームを保証するために前記レート制御のための前記量子化ステップサイズを演算し、前記レベル0のフレームが最初のフレームであり、複数のフレームがレート制御階層内に異なるレベルを有する、前記演算すること
    圧縮されたビットストリームの一部を生成するために前記ピクチャベース量子化ステップサイズを用いて前記ピクチャを符号化すること
    を含む、方法。
  2. 請求項1に記載の方法であって、
    前記シーケンスベース量子化ステップサイズを演算することが、
    前記ピクチャのシーケンスの先頭ピクチャがイントラ符号化ピクチャであるとき、前記ビデオシーケンス内の前に符号化された複数のピクチャの平均量子化ステップサイズの重み平均として前記シーケンスベース量子化ステップサイズを演算すること、
    更に含む、方法。
  3. 請求項に記載の方法であって、
    前記ピクチャを符号化することが、
    前記ピクチャの符号化に用いられるべき最小ビット数と前記ピクチャの符号化に用いられるべき最大ビット数とを演算すること
    前記最小ビット数よりも大きく、前記最大ビット数よりも小さい或る数のビットを用いて前記ピクチャを符号化すること
    更に含む、方法。
  4. 請求項に記載の方法であって、
    前記或る数のビットを用いて前記ピクチャを符号化することが、
    前記ピクチャ内の符号化ブロックのシーケンスを符号化する前に、前記ピクチャを符号化するために必要とされるビット数を推定すること
    前記推定されビット数が前記最大ビット数よりも大きいとき前記符号化ブロックのシーケンスについての量子化ステップサイズを増加させること
    前記推定されビット数が前記最小ビット数よりも小さいとき、前記符号化ブロックのシーケンスについての前記量子化ステップサイズを低減すること
    更に含む、方法。
  5. 請求項に記載の方法であって、
    前記ピクチャを符号化することが、
    前記ピクチャのシーケンスの前記ピクチャの直前のピクチャでシーン変化が検出されたとき、前記ピクチャ内の符号化ブロックのシーケンスのレート制御のため前記最小ビット数前記最大ビット数を適合させること、
    更に含む、方法。
  6. 請求項1に記載の方法であって、
    前記ビデオシーケンス内のシーン変化に応答して、前記シーン変化後の先頭のシーン変化なしピクチャの符号化に用いられる量子化ステップサイズの平均値に基づいて前記シーケンスベース量子化ステップサイズを適応させること、
    に含む、方法。
  7. 圧縮されたビットストリームを生成するようにビデオシーケンスを符号化するためのエンコーダであって、
    前記ビデオシーケンス内の符号化ブロックを量子化するための量子化ステップサイズを生成するように構成されるレート制御構成要素
    前記量子化ステップサイズを用いて前記符号化ブロックを量子化するように構成される量子化構成要素
    を含み、
    前記レート制御構成要素が、
    前記ビデオシーケンス内のピクチャのシーケンスについてシーケンスベース量子化ステップサイズを演算することであって、前記量子化ステップサイズが前記ピクチャのシーケンス内の先頭ピクチャを符号化するときに使用される平均量子化ステップサイズに基づいてセットされ、同じ量子化ステップサイズが全体のピクチャに対して使用される、前記演算することと
    前記ピクチャのシーケンスのピクチャについてピクチャベース量子化ステップサイズを演算することであって、前記演算が前記シーケンスベース量子化ステップサイズと前記ピクチャの種類レート制御階層における前記ピクチャのレベルに基づいており、1つのレベル0のフレームを保証するために前記レート制御のための前記量子化ステップサイズを演算し、前記レベル0のフレームが最初のフレームであり、複数のフレームが前記レート制御階層内に異なるレベルを有する、前記演算することと
    によって前記量子化ステップサイズを生成する、エンコーダ
  8. 圧縮されたビットストリームを生成するためのビデオシーケンスの符号化におけるレート制御用の命令を記憶する機械可読媒体であって、
    ビデオエンコーダ内のプロセッサによる前記命令の実行により、前記ビデオエンコーダが、
    前記ビデオシーケンス内のピクチャのシーケンスについてのシーケンスベース量子化ステップサイズを演算する動作であって、前記量子化ステップサイズが前記ピクチャのシーケンス内の先頭ピクチャを符号化するときに使用される平均量子化ステップサイズに基づいてセットされ、同じ量子化ステップサイズが全体のピクチャに対して使用される、前記動作と
    前記ピクチャのシーケンスのピクチャについてのピクチャベース量子化ステップサイズを演算することであって、前記演算が前記シーケンスベース量子化ステップサイズ前記ピクチャの種類レート制御階層における前記ピクチャのレベルに基づいており、1つのレベル0のフレームを保証するために前記レート制御のための前記量子化ステップサイズを演算し、前記レベル0のフレームが最初のフレームであり、複数のフレームが前記レート制御階層内に異なるレベルを有する、前記動作と
    前記圧縮されたビットストリームの一部を生成するために前記ピクチャベース量子化ステップサイズを用いて前記ピクチャを符号化する動作
    を実施する、機械可読媒体。
JP2013505193A 2010-04-15 2011-04-15 ビデオ符号化におけるレート制御 Active JP5893002B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32442510P 2010-04-15 2010-04-15
US61/324,425 2010-04-15
US13/084,572 US20110255594A1 (en) 2010-04-15 2011-04-12 Rate Control in Video Coding
US13/084,572 2011-04-12
PCT/US2011/032753 WO2011130680A2 (en) 2010-04-15 2011-04-15 Rate control in video coding

Publications (2)

Publication Number Publication Date
JP2013524740A JP2013524740A (ja) 2013-06-17
JP5893002B2 true JP5893002B2 (ja) 2016-03-23

Family

ID=44788177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013505193A Active JP5893002B2 (ja) 2010-04-15 2011-04-15 ビデオ符号化におけるレート制御

Country Status (4)

Country Link
US (3) US20110255594A1 (ja)
JP (1) JP5893002B2 (ja)
CN (1) CN102986211B (ja)
WO (1) WO2011130680A2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9854275B2 (en) * 2011-06-25 2017-12-26 Qualcomm Incorporated Quantization in video coding
WO2013001729A1 (ja) * 2011-06-28 2013-01-03 日本電気株式会社 映像符号化装置及び映像復号装置
US9237352B2 (en) 2011-10-05 2016-01-12 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
US9014027B2 (en) * 2012-02-29 2015-04-21 Cisco Technology, Inc. Multi-interface adaptive bit rate session management
US20140079116A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of interlaced video data for video coding
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9560361B2 (en) * 2012-12-05 2017-01-31 Vixs Systems Inc. Adaptive single-field/dual-field video encoding
WO2014120367A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive parametric transforms for coding for next generation video
KR20140110221A (ko) * 2013-03-06 2014-09-17 삼성전자주식회사 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
US9609336B2 (en) * 2013-04-16 2017-03-28 Fastvdo Llc Adaptive coding, transmission and efficient display of multimedia (acted)
US20140321532A1 (en) * 2013-04-26 2014-10-30 Devadutta Ghat Techniques for coordinating parallel video transcoding
JP6267929B2 (ja) * 2013-10-31 2018-01-24 日本放送協会 画像符号化装置及び画像符号化プログラム
CN104104951B (zh) * 2014-07-30 2017-05-03 北京邮电大学 Hevc中屏幕内容编码的码率控制方法
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
CN107170460B (zh) 2017-06-30 2020-12-08 深圳Tcl新技术有限公司 音质调整方法、系统、主机端、及存储介质
CN109218724B (zh) 2017-07-06 2020-08-04 腾讯科技(深圳)有限公司 一种数据编码方法、装置及存储设备和终端设备
WO2020037501A1 (zh) * 2018-08-21 2020-02-27 深圳市大疆创新科技有限公司 码率分配方法、码率控制方法、编码器和记录介质
CN110545434B (zh) * 2019-09-20 2022-12-02 深圳市梦网视讯有限公司 一种转码片源gop层率控调整方法及系统
CN111953983B (zh) * 2020-07-17 2024-07-23 西安万像电子科技有限公司 视频编码方法及装置
CN112312136B (zh) * 2020-09-25 2024-05-17 西安万像电子科技有限公司 码流控制方法及装置
US12087020B2 (en) * 2021-09-15 2024-09-10 Synaptics Incorporated Image compression method and apparatus

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317397A (en) * 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JPH08163554A (ja) * 1994-12-02 1996-06-21 Electron & Telecommun Res Inst ビデオビット率制御方法
US5872598A (en) 1995-12-26 1999-02-16 C-Cube Microsystems Scene change detection using quantization scale factor rate control
JPH1079948A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 画像符号化装置
US6532262B1 (en) * 1998-07-22 2003-03-11 Matsushita Electric Industrial Co., Ltd. Coding method and apparatus and recorder
JP3259702B2 (ja) * 1998-12-24 2002-02-25 日本電気株式会社 動画像可変ビットレート符号化装置および方法
US6493388B1 (en) * 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
JP2002084544A (ja) * 2000-09-06 2002-03-22 Mitsubishi Electric Corp 動画像符号化装置および動画像符号化方法
AU2003285850A1 (en) * 2002-04-23 2004-04-30 Nokia Corporation Method and device for indicating quantizer parameters in a video coding system
US7095784B2 (en) * 2003-04-14 2006-08-22 Silicon Intergrated Systems Corp. Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
US7308029B2 (en) 2003-12-23 2007-12-11 International Business Machines Corporation Method and apparatus for implementing B-picture scene changes
FR2864865A1 (fr) * 2004-01-07 2005-07-08 Thomson Licensing Sa Procede de codage d'une sequence d'images
US20060056508A1 (en) 2004-09-03 2006-03-16 Phillippe Lafon Video coding rate control
US7474701B2 (en) 2004-09-23 2009-01-06 International Business Machines Corporation Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames
US8340172B2 (en) * 2004-11-29 2012-12-25 Qualcomm Incorporated Rate control techniques for video encoding using parametric equations
BRPI0518821B8 (pt) * 2004-12-02 2019-08-27 Interdigital Madison Patent Holdings determinação de parâmetro de quantizador para controle de taxa em codificador de vídeo
GB0428160D0 (en) * 2004-12-22 2005-01-26 British Telecomm Variable bit rate processing
US7403562B2 (en) * 2005-03-09 2008-07-22 Eg Technology, Inc. Model based rate control for predictive video encoder
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8165202B1 (en) * 2006-03-31 2012-04-24 Texas Instruments Incorporated Video compression rate
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US8559501B2 (en) * 2006-06-09 2013-10-15 Thomson Licensing Method and apparatus for adaptively determining a bit budget for encoding video pictures
TW200837663A (en) * 2007-03-13 2008-09-16 Univ Nat Taiwan Constant picture quality bit rate control system for a multiple-video encoder in single video signal source and the method
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
JP4609457B2 (ja) * 2007-06-14 2011-01-12 ソニー株式会社 画像処理装置、及び、画像処理方法
US9445110B2 (en) * 2007-09-28 2016-09-13 Dolby Laboratories Licensing Corporation Video compression and transmission techniques
CN101562497A (zh) * 2008-04-17 2009-10-21 华为技术有限公司 一种分级b帧的帧层速率控制方法及装置
US8879623B2 (en) 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture

Also Published As

Publication number Publication date
US20210037252A1 (en) 2021-02-04
US11228772B2 (en) 2022-01-18
JP2013524740A (ja) 2013-06-17
US20110255594A1 (en) 2011-10-20
US20220248038A1 (en) 2022-08-04
CN102986211A (zh) 2013-03-20
WO2011130680A3 (en) 2012-02-09
WO2011130680A2 (en) 2011-10-20
CN102986211B (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
US11228772B2 (en) Rate control in video coding
US11546620B2 (en) CABAC decoder with decoupled arithmetic decoding and inverse binarization
RU2656718C1 (ru) Устройство и способ обработки изображений
US8160136B2 (en) Probabilistic bit-rate and rate-distortion cost estimation for video coding
US8588536B2 (en) Guaranteed-rate tiled image data compression
US9083984B2 (en) Adaptive coding structure and adaptive FCode determination in video coding
US20100098155A1 (en) Parallel CABAC Decoding Using Entropy Slices
US20110268180A1 (en) Method and System for Low Complexity Adaptive Quantization
KR20150039582A (ko) 동화상 부호화 장치 및 그 동작 방법
JP5133290B2 (ja) 動画像符号化装置および復号装置
US20120287987A1 (en) Coding of Scene Changes Using Picture Dropping
US20110255597A1 (en) Method and System for Reducing Flicker Artifacts
KR20040069210A (ko) 코딩 정보 및 로컬 공간 특징을 이용한 디지털 비디오신호들의 후처리에서의 선명도 향상
JPWO2006101126A1 (ja) 符号化装置および符号化装置を備えた動画像記録システム
US9386310B2 (en) Image reproducing method, image reproducing device, image reproducing program, imaging system, and reproducing system
US20130077674A1 (en) Method and apparatus for encoding moving picture
US20110142135A1 (en) Adaptive Use of Quarter-Pel Motion Compensation
JP2008160402A (ja) 符号化装置及び方法並びに画像符号化装置
JP2010213187A (ja) 映像符号化伝送装置
JP5873290B2 (ja) 符号化装置
JP4100067B2 (ja) 画像情報変換方法及び画像情報変換装置
RU2575387C2 (ru) Устройство и способ обработки изображений
JP2008245237A (ja) 画像処理方法、画像処理装置およびそれを用いた撮像装置
JP2011066592A (ja) 符号化モード選択方法,符号化モード選択装置および符号化モード選択プログラム
JP2008016985A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150603

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160223

R150 Certificate of patent or registration of utility model

Ref document number: 5893002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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