JP2006121657A - Efficient rate control technique for video encoding - Google Patents
Efficient rate control technique for video encoding Download PDFInfo
- Publication number
- JP2006121657A JP2006121657A JP2005200593A JP2005200593A JP2006121657A JP 2006121657 A JP2006121657 A JP 2006121657A JP 2005200593 A JP2005200593 A JP 2005200593A JP 2005200593 A JP2005200593 A JP 2005200593A JP 2006121657 A JP2006121657 A JP 2006121657A
- Authority
- JP
- Japan
- Prior art keywords
- video
- lut
- threshold
- block
- coefficients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
関連特許
本出願は2004年7月8日出願の米国仮出願特許第60/586,963号の特典を主張する。
この発明はディジタル・ビデオ処理に関係し、特にビデオ・シーケンスのレート制御符号化に関係する。
Related Patents This application claims the benefit of US Provisional Application No. 60 / 586,963, filed July 8, 2004.
The present invention relates to digital video processing, and more particularly to rate control coding of video sequences.
ディジタル・テレビジョン、ディジタル衛星放送システム、無線通信デバイス、携帯情報機器(PDA)、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ディジタル・カメラ、ディジタル記録デバイス、携帯もしくは衛星無線電話等を含めて、ビデオ機能は広範囲のデバイスに組込まれている。ディジタル・ビデオ・デバイスは完全動画ビデオ・シーケンスの制作、修正、伝送、記憶、記録及び表示において従来のアナログ・ビデオ・システムに対して大きな改善を行うことができる。 Video functions including digital television, digital satellite broadcasting systems, wireless communication devices, personal digital assistants (PDAs), laptop computers, desktop computers, digital cameras, digital recording devices, mobile or satellite radiotelephones, etc. Is built into a wide range of devices. Digital video devices can make significant improvements over conventional analog video systems in the creation, modification, transmission, storage, recording and display of full motion video sequences.
いくつかの異なるビデオ符号化規格がディジタル・ビデオ・シーケンスを符号化するために策定されてきた。例えば、動画専門委員会(MPEG)はMPEG‐1、MPEG‐2及びMPEG‐4を含むいくつかの規格を作成してきた。他の規格には、国際電気通信連合(ITU)H.263規格、カリフォルニア州クパーチノ市のアップル・コンピュータによって作成されたQuickTimeTM技術、ワシントン州レドモンド市のマイクロソフト社によって作成されたVideo for Windows(登録商標)TM、インテル社によって作成されたIndeoTM、ワシントン州シアトル市のリアルネットワ−ク社のRealVideoTM、及びスーパーマック社によって作成されたCinepakTMがある。さらに、ITU H.264及びいくつかの独自の規格(proprietary standards)を含め、新しい規格が出現し、発展し続けている。 A number of different video encoding standards have been developed for encoding digital video sequences. For example, the Motion Picture Expert Committee (MPEG) has created several standards including MPEG-1, MPEG-2 and MPEG-4. Other standards include the International Telecommunication Union (ITU) H.264. 263 standard, QuickTime TM technology that was created by the California Kupachino City of Apple Computer, Video for Windows (registered trademark) that was created by Microsoft Corporation of Redmond, Washington TM, Indeo TM, Washington State that was created by Intel Corporation There is RealVideo ™ from RealNetworks in Seattle, and Cinepak ™ created by Supermac. Furthermore, ITU H. New standards have emerged and continue to evolve, including H.264 and some proprietary standards.
多くのビデオ符号化規格は圧縮方式でデータを符号化することによってビデオ・シーケンスの伝送速度の改良を可能にする。圧縮はビデオ・フレームの効率的な伝送のために必要なデータの全体の量を低減することができる。例えば、殆どの符号化規格は圧縮しないで達成できるよりも狭い帯域幅でビデオ及び画像伝送を容易にするように設計されたグラフィックス及びビデオ圧縮技術を利用する。 Many video coding standards allow for improved transmission rates of video sequences by encoding data in a compressed manner. Compression can reduce the overall amount of data required for efficient transmission of video frames. For example, most coding standards utilize graphics and video compression techniques designed to facilitate video and image transmission with a narrower bandwidth than can be achieved without compression.
MPEG規格及びITU H.263並びにITU H.264規格は、例えば、フレーム間圧縮を行うために、時間的もしくはフレーム間(inter-frame)相関と呼ばれる、連続ビデオ・フレーム間の類似性を利用するビデオ符号化技術に対応する。フレーム間圧縮技術はビデオ・フレームのピクセルによる表現を動き表現に変換することによってフレームに亘るデータ冗長性を利用する。さらに、いくつかのビデオ符号化技術はビデオ・フレームをさらに圧縮するために空間もしくはフレーム内(intra-frame)相関と呼ばれるフレーム内の類似性を利用する。 MPEG standards and ITU H.264 263 and ITU H.264. The H.264 standard, for example, corresponds to a video coding technique that uses similarity between successive video frames, called temporal or inter-frame correlation, to perform inter-frame compression. Interframe compression techniques take advantage of data redundancy across frames by converting a pixel representation of a video frame into a motion representation. In addition, some video coding techniques make use of intraframe similarity called spatial or intra-frame correlation to further compress video frames.
圧縮を行うために、ディジタル・ビデオ・デバイスは一般的にディジタル・ビデオ・シーケンスを圧縮する符号器(encoder)と、ディジタル・ビデオ・シーケンスを伸長(decompressing)する復号器(decoder)を含む。多くの場合、符号器及び復号器はビデオ・シーケンスを定義するフレーム内のピクセルのブロックを操作する統合化した符号器/復号器(コーデック)を形成する。MPEGでは、例えば、符号器は伝送されるビデオ・フレームを「マクロブロック」と呼ばれるビデオ・ブロックに分割する。ITU H.264規格は16×16ビデオ・ブロック、16×8ビデオ・ブロック、8×16ビデオ・ブロック、8×8ビデオ・ブロック、8×4ビデオ・ブロック、4×8ビデオ・ブロック、4×4ビデオ・ブロックに対応する。他の規格は異なったサイズのビデオ・ブロックに対応する。 To perform compression, digital video devices typically include an encoder that compresses the digital video sequence and a decoder that decompresses the digital video sequence. In many cases, the encoder and decoder form an integrated encoder / decoder (codec) that operates on blocks of pixels within a frame that defines a video sequence. In MPEG, for example, an encoder divides a transmitted video frame into video blocks called “macroblocks”. ITU H. The H.264 standard is 16x16 video block, 16x8 video block, 8x16 video block, 8x8 video block, 8x4 video block, 4x8 video block, 4x4 video block Corresponds to the block. Other standards support different sized video blocks.
ビデオ・フレーム中の各ビデオ・ブロックについて、符号器は「最良予測(best prediction)」と呼ばれる、最も類似するビデオ・ブロックを特定するために一以上の直前のビデオ・フレーム(または後続フレーム)の類似サイズのビデオ・ブロックを探索する。現在のビデオ・ブロックを他のフレームのビデオ・ブロックと比較する処理は一般に動き推定と呼ばれる。一旦、「最良予測」がビデオ・ブロックについて特定されれば、符号器は現在のビデオ・ブロックと最良予測との間の差分を符号化する。現在のビデオ・ブロックと最良予測との間の差分を符号化するこの処理は動き補償と呼ばれる処理を含む。動き補償は符号化される現在のビデオ・ブロックと最良予測との間の差分を表す差分ブロックを作成する処理を含む。特に、動き補償は動きベクトルを使用して最良予測ブロックを取込み、そして差分ブロックを生成するために入力ブロックから最良予測を減算する処理を通常云う。 For each video block in the video frame, the encoder calls one of the one or more previous video frames (or subsequent frames) to identify the most similar video block, called “best prediction”. Search for video blocks of similar size. The process of comparing the current video block with the video blocks of other frames is commonly referred to as motion estimation. Once the “best prediction” is identified for the video block, the encoder encodes the difference between the current video block and the best prediction. This process of encoding the difference between the current video block and the best prediction includes a process called motion compensation. Motion compensation involves creating a difference block that represents the difference between the current video block to be encoded and the best prediction. In particular, motion compensation usually refers to the process of taking the best prediction block using a motion vector and subtracting the best prediction from the input block to generate a difference block.
動き補償は差分ブロックを作成した後で、一連の追加の符号化手続きが差分ブロックを符号化するために一般的に実行される。これらの追加の符号化手続きは使用される符号化規格に依存する。MPEG‐4準拠符号器では、例えば、追加の符号化手続きは8×8の離散コサイン変換を含み、スカラー量子化、ラスター・ジグザグ再配列、ランレングス符号化、ハフマン符号化が後に続く。符号化された差分ブロックは前のフレームのどのビデオ・ブロックが符号化に使用されたかを示す動きベクトルと共に伝送される。復号器は動きベクトル及び符号化差分ブロックを受取り、ビデオ・シーケンスを復元するために受信情報を復号する。 After motion compensation has created the difference block, a series of additional encoding procedures are typically performed to encode the difference block. These additional encoding procedures depend on the encoding standard used. In an MPEG-4 compliant encoder, for example, the additional encoding procedure includes an 8 × 8 discrete cosine transform followed by scalar quantization, raster zigzag reordering, run length encoding, and Huffman encoding. The encoded difference block is transmitted with a motion vector indicating which video block of the previous frame was used for encoding. The decoder receives the motion vector and the encoded difference block and decodes the received information to recover the video sequence.
いくつかのレート制御技術はビデオ符号化のために開発されてきた。レート制御技術はビデオ・シーケンスの実時間伝送を促進するために特に重要であるが、非実時間符号化設定においても使用される。レート制御について、符号化技術はフレームごとに符号化されるビットの数を動的に調整する。特に、割当てられた帯域幅でビデオ・シーケンスが或るレートで効率的に符号化され、且つ伝送されることを保証するためにレート制御はフレームごとに符号化されるビットの数を制限する。符号化技術がビデオ・シーケンスの場面変化(scenes change)に対応しなければ、ビデオ・シーケンスの実時間伝送のビット・レートは場面が変化すると著しく変動する。従って、実質的に一定なビット・レートを定義するために、フレームごとのビットの数は符号化の間に動的に調整される。 Several rate control techniques have been developed for video coding. Rate control techniques are particularly important for facilitating real-time transmission of video sequences, but are also used in non-real-time coding settings. For rate control, encoding techniques dynamically adjust the number of bits encoded per frame. In particular, rate control limits the number of bits encoded per frame to ensure that the video sequence is efficiently encoded and transmitted at a rate with the allocated bandwidth. If the coding technique does not support scene changes in the video sequence, the bit rate for real-time transmission of the video sequence will vary significantly as the scene changes. Thus, the number of bits per frame is dynamically adjusted during encoding to define a substantially constant bit rate.
レート制御符号化を達成する一方法はビデオ符号化処理の間に量子化パラメータ(QP)の調整を可能にすることである。QPは秒当たり符号化されるビットの数に直接影響する。QPが増加すると、より少ないデータしか維持されず、ビデオ符号化の品質は劣化する。QPが減少すると、より多くのデータが維持され、ビデオ符号化の品質は向上する。しかしながら、QPがあまりにも小さければ、秒ごとの符号化ビットの数は割当てられた帯域幅を超え、限られた帯域幅の量以内でフレームを転送する能力を下げることになる。動的な方法でQPを選択することによって、ビデオ・フレームの伝送のビット・レートは実質的に一定にすることができる。 One way to achieve rate control coding is to allow adjustment of the quantization parameter (QP) during the video coding process. QP directly affects the number of bits encoded per second. As QP increases, less data is maintained and the quality of video coding degrades. As QP decreases, more data is maintained and the quality of video encoding is improved. However, if the QP is too small, the number of coded bits per second will exceed the allocated bandwidth, reducing the ability to transfer frames within a limited amount of bandwidth. By selecting QP in a dynamic manner, the bit rate of transmission of video frames can be made substantially constant.
この発明はビデオ符号化を改善することができるレート制御技術を述べる。特に、記載のレート制御技術はフレームごとに符号化されるビットの数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のフレームのビデオ・ブロックの非ゼロ係数の数はロー(ρ)と呼ばれる。ρの値はビデオ符号化処理で使用されるビットの数に一般的に比例する。この発明はレート制御ビデオ符号化を達成するためにρと量子化パラメータ(QP)との間の関係を利用する。特に、この発明はρの値を異なるQPに写像する参照表(lookup table:LUT)を生成する技術を提供する。そして、QPは所望の符号化レートを達成するために選択することができ、それはρと一次的に関係する。記述の技術はビデオ符号器を単純化し、且つレート制御ビデオ符号化に使用されるLUTを生成するために必要な計算の数を著しく低減することができる。 The present invention describes a rate control technique that can improve video coding. In particular, the rate control technique described takes advantage of the relationship between the number of bits encoded per frame and the number of non-zero coefficients of the video block after quantization. The number of non-zero coefficients of the video block of the frame after quantization is called low (ρ). The value of ρ is generally proportional to the number of bits used in the video encoding process. The present invention utilizes the relationship between ρ and the quantization parameter (QP) to achieve rate controlled video coding. In particular, the present invention provides a technique for generating a lookup table (LUT) that maps the value of ρ to different QPs. QP can then be selected to achieve the desired coding rate, which is primarily related to ρ. The described technique simplifies the video encoder and can significantly reduce the number of computations required to generate the LUT used for rate-controlled video encoding.
この発明はまたここに示されたようにレート制御技術を実施するビデオ符号化デバイスを述べる。一実施例では、ビデオ符号化デバイスはビデオ・ブロックの量子化されない係数について閾値(そこでは量子化係数が異なる量子化パラメータについて非ゼロになるときを特定する)を計算し、閾値を使用して量子化後の非ゼロ係数の数(ρ)をρ‐QP参照表(LUT)に写像する符号器を具備する。ビデオ符号化デバイスはρ‐QP LUTを記憶するメモリを含む。さらに特定の実施例では、符号器は閾値をQPに写像する閾値‐QP LUTを生成し、閾値‐QP LUTを使用してρ‐QP LUTを生成する。いずれにせよ、量子化係数が異なる量子化パラメータについて非ゼロになるときを特定する閾値を利用することによって、記載の技術はρ‐QP LUTの生成を著しく単純化することができる。 The present invention also describes a video encoding device that implements a rate control technique as shown herein. In one embodiment, the video encoding device calculates a threshold for unquantized coefficients of the video block (where the quantization coefficient is non-zero for different quantization parameters) and uses the threshold An encoder is provided that maps the number of non-zero coefficients (ρ) after quantization to a ρ-QP lookup table (LUT). The video encoding device includes a memory that stores the ρ-QP LUT. In a more specific embodiment, the encoder generates a threshold-QP LUT that maps the threshold to QP and uses the threshold-QP LUT to generate a ρ-QP LUT. In any case, the described technique can significantly simplify the generation of a ρ-QP LUT by utilizing a threshold that identifies when the quantization factor is non-zero for different quantization parameters.
ここに記載のこれらの及び他の技術はハードウェア、ソフトウェア、ファームウェア、またはそれらのあらゆる組合せで実施される。ソフトウェアで実施されれば、ソフトウェアはディジタル信号プロセッサ内で実行される。その場合には、その技術を実行するソフトウェアはコンピュータ可読媒体に初めに記憶され、そしてディジタル・ビデオ・デバイスにおける効率的レート制御符号化のためにDSPに搭載され、且つ実行される。様々な実施例のさらなる詳細は下に付随の図及び記述において説明される。他の特徴、目的及び利点はその説明及び図から、且つ請求項から明白になるであろう。 These and other techniques described herein are implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the software is executed in a digital signal processor. In that case, software that implements the technique is initially stored on a computer-readable medium, and is installed and executed on a DSP for efficient rate control coding in a digital video device. Further details of various embodiments are set forth in the accompanying drawings and description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
この発明はビデオ符号化を改善するために使用できるレート制御技術を述べる。その技術はMPEG‐4規格、ITU H.263規格、ITU H.264規格、または他の規格といった、多種多様なビデオ符号化規格のどれとでも使用される。特に、その技術はフレームごとに符号化されるビットの数(符号化レート)と、量子化後のフレームのビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のフレームのビデオ・ブロックの非ゼロ係数の数はロー(ρ)と呼ばれる。ρの値は一般にビデオ符号化に使用される量子化パラメータ(QP)に比例する。従って、この発明はレート制御ビデオ符号化を達成するためにρとQPとの間の関係を利用する。もっと明確には、この発明はρの値を異なるQPに写像する参照表(LUT)を生成する技術を提供する。記載の技術はビデオ符号器を単純化し、ρ‐領域におけるレート制御ビデオ符号化に使用されるLUTを生成するために必要な計算の数を著しく低減することができる。ビデオ符号器は所望の符号化レートが達成されることを保証するQPを選択するためにLUTを使用する。 The present invention describes a rate control technique that can be used to improve video coding. The technology is MPEG-4 standard, ITU H.264. H.263 standard, ITU H.264 It is used with any of a wide variety of video coding standards, such as the H.264 standard or other standards. In particular, the technique takes advantage of the relationship between the number of bits encoded per frame (coding rate) and the number of non-zero coefficients of the video block of the quantized frame. The number of non-zero coefficients of the video block of the frame after quantization is called low (ρ). The value of ρ is generally proportional to the quantization parameter (QP) used for video coding. Thus, the present invention utilizes the relationship between ρ and QP to achieve rate controlled video coding. More specifically, the present invention provides a technique for generating a lookup table (LUT) that maps the value of ρ to different QPs. The described technique simplifies the video encoder and can significantly reduce the number of calculations required to generate the LUT used for rate-controlled video coding in the ρ-domain. The video encoder uses the LUT to select a QP that ensures that the desired coding rate is achieved.
図1は発信デバイス12が通信回線15経由でビデオ・データの符号化シーケンスを受信デバイス14に伝送するシステム例10を例示するブロック図である。発信デバイス12及び受信デバイス14は両方ともディジタル・ビデオ・デバイスである。特に、発信デバイス12はMPEG‐4規格、ITU H.263規格、ITU H.264規格、またはレート制御ビデオ符号化に利用できる多種多様なあらゆる規格など、ビデオ規格に整合するビデオ・データを符号化する。システム10の一つもしくは両デバイス12、14はビデオ符号化処理を改善するために、下記でさらに詳細に記述されるように、レート制御技術を実施する。そのようなレート制御技術は、無線通信回線のような限られた帯域幅の通信回線15上でのビデオ・シーケンスの実時間伝送にとって特に有用である。
FIG. 1 is a block diagram illustrating an
通信回線15は無線回線、物理的伝送回線、ファイバ光学、構内情報通信網(LAN)のようなパケットによる網、広域網(WAN)、またはインターネットのような世界的な網(global network)、公衆交換電話網(PSTN)、またはデータを転送可能な他のあらゆる通信回線を含む。このように、通信回線15は発信デバイス12から受信デバイス14にビデオ・データを送るためのあらゆる適切な通信媒体、または恐らくは異なる網の集まりを表す。上記のように、通信回線15は回線15上でビデオ・シーケンスの実時間伝送のために非常に重要なレート制御を行い、帯域幅を制限してきた。
The
発信デバイス12はビデオ・データを符号化し、且つ伝送することが可能なあらゆるディジタル・ビデオ・デバイスを含む。発信デバイス12はディジタル・ビデオ・シーケンスを記憶するビデオ・メモリ16、そのシーケンスを符号化するビデオ符号器18、及び符号化されたシーケンスを通信回線15上で受信デバイス14に伝送する送信器20を含む。ここに述べられたように、ビデオ符号器18は、例えば、様々なハードウェア、ソフトウェア或いはファームウェア、またはビデオ符号化技術を制御するプログラム可能なソフトウェア・モジュールを実行する一以上のディジタル信号プロセッサ(DSP)を含む。関連するメモリ及び論理回路はビデオ符号化技術を制御する際にDSPを支援するために提供される。
The originating
発信デバイス12はまたビデオ・シーケンスを取得し、且つ取得したシーケンスをメモリ16に記憶するために、ビデオ・カメラのようなビデオ取得デバイス(video capture device)23を含む。特に、ビデオ取得デバイス23は電荷結合素子(CCD)、電荷注入デバイス、フォトダイオード・アレイ、相補型金属酸化膜半導体(CMOS)デバイス、またはビデオ画像またはディジタル・ビデオ・シーケンスを取得することが可能な感光デバイスを含む。
The originating
さらなる例として、ビデオ取得デバイス23は、例えばテレビジョン、ビデオ・カセット・レコーダ、ビデオカメラ(camcorder)、または別のビデオ・デバイスから、アナログ・ビデオ・データをディジタル・ビデオ・データに変換するビデオ変換器(video converter)である。いくつかの実施例では、発信デバイス12は実時間ビデオ・シーケンスを通信回線15上で伝送するように構成される。そのような場合には、受信デバイス14は実時間ビデオ・シーケンスを受取り、ユーザーにそのビデオ・シーケンスを表示する。代りに、発信デバイス12は受信デバイス14にビデオ・データ・ファイルとして、即ち、実時間でなく送られるビデオ・シーケンス を取得し、且つ符号化する。このように、発信デバイス12及び受信デバイス14はビデオ遠距離通信、ビデオ・クリップ再生、ビデオ郵便、またはテレビ会議といったアプリケーションに、例えば、移動無線網において対応する。デバイス12及び14は図1に特に例示されない様々な他の要素を含む。
As a further example,
受信デバイス14はビデオ・データを受取り、且つ復号することが可能なあらゆるディジタル・ビデオ・デバイスの形をとる。例えば、受信デバイス14は、例えば、中間の回線、ルータ、他の網設備などを経由して、符号化ディジタル・ビデオ・シーケンスを送信器20から受取る受信器22を含む。受信デバイス14はまたそのシーケンスを復号するビデオ復号器24、及びそのシーケンスをユーザーに表示する表示デバイス(display device)26を含む。いくつかの実施例では、しかしながら、受信デバイス14は統合化表示デバイス26を含まない。そのような場合には、受信デバイス14は個別表示デバイス、例えば、テレビまたはモニタを駆動するために受信ビデオ・データを復号する受信器としての役をする。
The receiving
発信デバイス12及び受信デバイス14のデバイス例はコンピュータ網、ワークステーションまたは他のデスクトップ型計算デバイス、及びラップトップ・コンピュータまたは携帯情報機器(PDA)といった携帯式計算デバイスに置かれたサーバを含む。他の例では、ディジタル・テレビのようなディジタル・テレビ放送衛星及び受信デバイス、ディジタル・カメラ、ディジタル・ビデオ・カメラまたは他のディジタル記録デバイス、ビデオ機能を有する携帯電話のようなディジタル・ビデオ電話、ビデオ機能を持つ直接二重通信デバイス、他の無線ビデオ・デバイス、等々がある。
Examples of devices for sending
いくつかの場合には、発信デバイス12及び受信デバイス14は各々ディジタル・ビデオ・データを符号化し、且つ復号するための符号器/復号器(コーデック)(示されない)を含む。特に、発信デバイス12及び受信デバイス14双方はメモリ及び表示のみならず送信器及び受信器を含む。下記で概説される多くの符号化技術は符号器を含むディジタル・ビデオ・デバイスとの関連で記述される。しかしながら、その符号器がコーデックの一部を形成することは当然である。その場合には、コーデックはハードウェア、ソフトウェア、ファームウェア、DSP、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラム可能ゲート・アレイ(FPGA)、個別のハードウェア部品、またはその様々な組合せにおいて実施される。
In some cases, originating
発信デバイス12内のビデオ符号器18はビデオ・データを符号化するために一連のビデオ・フレーム中のピクセルのブロックを操作する。例えば、ビデオ符号器18は動き推定及び動き補償技術を実行し、その中で伝送られるビデオ・フレームがピクセルのブロック(ビデオ・ブロックと呼ばれる)に分割される。ビデオ・ブロックは、例示目的のために、あらゆるサイズのブロックを含み、或るビデオ・シーケンスの中で変動する。例として、ITU H.264規格は16×16ビデオ・ブロック、16×8ビデオ・ブロック、8×16ビデオ・ブロック、8×8ビデオ・ブロック、8×4ビデオ・ブロック、4×8ビデオ・ブロック、4×4ビデオ・ブロックに対応する。ビデオ符号化においてさらに小さなビデオ・ブロックの使用は符号化においてさらに良い分解能を実現することができ、特に高レベルの細部を含むビデオ・フレームの場所について使用される。さらに、ビデオ符号器18は4×4ビデオ・ブロックに作用するように設計され、必要に応じて、4×4ビデオ・ブロックからより大きなビデオ・ブロックを再構成する。
ビデオ・ブロック中の各ピクセルは様々なn‐ビット値で、例えば、8ビットで表され、それは色、及び色度及び明度値の強度といったピクセルの視覚的特性を定義する。各ピクセルは色度と明度の双方について一以上の8ビット値を有する。この発明の原理は、しかしながら、ピクセルのフォーマットに制限されず、さらに単純な少数ビット・ピクセル・フォーマット、またはさらに複雑な多ビット・ピクセル・フォーマットとの使用に拡張される。ピクセルはまた他の色座標系に従って定義される。 Each pixel in the video block is represented by various n-bit values, eg, 8 bits, which define the color and visual characteristics of the pixel such as the intensity of chromaticity and lightness values. Each pixel has one or more 8-bit values for both chromaticity and lightness. The principles of the present invention, however, are not limited to pixel formats, but extend to use with simpler minority bit pixel formats or more complex multibit pixel formats. Pixels are also defined according to other color coordinate systems.
ビデオ・フレーム中の各ビデオ・ブロックについて、発信デバイス12のビデオ符号器18は、予測ビデオ・ブロックと呼ばれる類似のビデオ・ブロックを特定するために既に伝送された先行ビデオ・フレーム(または後続ビデオ・フレーム)についてメモリ16に記憶されたビデオ・ブロックを探索することによって動き推定を行う。いくつかの場合には、予測ビデオ・ブロックは先行もしくは後続ビデオ・フレームからの「最良予測」を含むが、この発明はその点に制限されない。ビデオ符号器18は符号化されるべき現在のビデオ・ブロックと最良予測との間の差分を表す差分ブロックを作成するために動き補償を行う。動き補償は、動きベクトルを使う最も良い予測ビデオ・ブロックを取込んで、その後、差分ブロックを生成するために、入力ブロックからの最も良い予測を減算する処理を通常云う。
For each video block in the video frame, the
動き補償処理が差分ブロックを作成した後、一連の追加符号化手続きが差分ブロックを符号化するために一般的に行われる。これらの追加符号化手続きは使用される符号化規格に依存する。MPEG‐4準拠符号器では、例えば、追加符号化手続きは8×8離散コサイン変換を含み、スカラー符号化が続き、ラスタ・ジグザグ再配列が続き、ランレングス符号化が後に続き、ハフマン符号化がその後に続く。 After the motion compensation process creates the difference block, a series of additional encoding procedures are typically performed to encode the difference block. These additional encoding procedures depend on the encoding standard used. In an MPEG-4 compliant encoder, for example, the additional encoding procedure includes an 8x8 discrete cosine transform, followed by scalar encoding, followed by raster zigzag reordering, followed by run length encoding, and Huffman encoding. Then follow.
一旦符号化されると、符号化差分ブロックは符号化に使用された前のフレーム(或いは、後のフレーム)からビデオ・ブロックを特定する動きベクトルと共に伝送される。この方法では、独立した画像として各フレームを符号化する代りに、ビデオ符号器18は隣接のフレーム間の差分を符号化する。そのような技術はビデオ・シーケンスの各フレームを正確に表す必要があったデータの量を著しく低減することができる。
Once encoded, the encoded difference block is transmitted with a motion vector that identifies the video block from the previous frame (or subsequent frame) used for encoding. In this method, instead of encoding each frame as an independent image,
動きベクトルは符号化されるビデオ・ブロックの左上手隅部に関してピクセル場所を定義するが、動きベクトルについて他のフォーマットも使用することができる。いずれにせよ、動きベクトルを使用してビデオ・ブロックを符号化することによって、ビデオ・データのストリームの伝送のために必要な帯域幅は著しく低減することができる。 The motion vector defines the pixel location with respect to the upper left hand corner of the encoded video block, but other formats can be used for the motion vector. In any case, by encoding video blocks using motion vectors, the bandwidth required for transmission of a stream of video data can be significantly reduced.
いくつかの場合には、ビデオ符号器18はフレーム間符号化に加えて、フレーム内符号化に対応することができる。フレーム内符号化はビデオ・フレームをさらに圧縮するために空間もしくはフレーム内相関と呼ばれる、フレーム内の類似性を利用する。フレーム内符号化は離散コサイン変換(DCT)符号化といった静止画像を圧縮するためのテクスチャ符号化に基づいている。フレーム内符号化はフレーム間圧縮と共にしばしば使われるが、いくつかの実施において代替手段としてまた使用される。
In some cases,
受信デバイス14の受信器22は動きベクトルの形式の符号化ビデオ・データ、及び符号化されたビデオ・ブロックと動き推定において使用された最良予測との間の符号化差分を示す符号化差分ブロックを受取る。いくつかの場合には、しかしながら、動きベクトルではなく、動きベクトルと以前に計算された動きベクトル予測器(MVP)との間の差分が伝送される。いずれにせよ、復号器24は表示のために表示デバイス26経由でユーザーへのビデオ・シーケンスを生成するためにビデオデ復号を行うことができる。受信デバイス14の復号器24はまた符号器/復号器(コーデック)として実装される。その場合には発信デバイス12及び受信デバイス14双方はディジタル・ビデオ・シーケンスを符号化し、伝送し、受取り、且つ復号することが可能である。
The
この発明に従って、ビデオ符号器18は効率的なレート制御符号化を達成するために動的な方法で量子化パラメータ(QP)を選択する。ビデオ符号器はロー(ρ)の値をビデオ符号化に使用される量子化パラメータ(QP)に写像するために、ビデオ・ブロックまたはビデオ・フレームに基づいて参照表(LUT)を生成する。量ρは量子化の後のビデオ・ブロックの非ゼロ係数の数を表し、ビデオ符号化に使用されるビットの数に一般的に比例する。従って、ビデオ符号器18はレート制御ビデオ符号化を達成するためにρとQPとの間の関係を利用する。もっと明確には、ビデオ符号器18はρの値を異なるQPに写像する参照表(LUT)を生成するための技術を実行する。ρはおおよそ一次的にレートと関係があるので、ρ‐QP LUTは効率的なレート制御ビデオ符号化をもたらすQPを選択するために使用することができる。ρ‐QP LUTはまたρ(QP)としてここにラベル付される。
In accordance with the present invention,
図2はデバイス30の典型的なブロック図で、それは発信デバイス12に対応する。一般に、デバイス30は、ここに示されたように、レート制御符号化技術を実行することが可能なディジタル・ビデオ・デバイスを含む。デバイス30はMPEG‐4、ITU H.263、ITU H.264、フレーム間ビデオ符号化に関する動き推定及び動き補償技術に対応する別のビデオ符号化規格といったビデオ符号化規格に適合する。
FIG. 2 is an exemplary block diagram of
図2に示されたように、デバイス30はビデオ・シーケンスを符号化する装置32、及び符号化の前後にビデオ・シーケンスを記憶するビデオ・メモリ34を含む。デバイス30は符号化されたシーケンスを別のデバイスに伝送する送信器36、及び恐らくはビデオ・シーケンスを取得し、且つ取得されたシーケンスをメモリ34に記憶する、ビデオ・カメラのようなビデオ取得デバイス38を含む。デバイス30の様々な要素は通信バス35によって通信可能に接続される。フレーム内符号器要素、様々なフィルタ、または他の要素といった様々な他の要素はまたデバイス30に含まれるが、簡単にするために特に例示されない。
As shown in FIG. 2,
ビデオ・メモリ34は一般的に比較的大きなメモリ空間を含む。ビデオ・メモリ34は、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)またはフラッシュ(FLASH)メモリを含む。他の例では、ビデオ・メモリ34は不揮発性メモリまたは他のデータ記憶デバイスを含む。
ビデオ符号化装置32はハードウェア、ソフトウェア、ファームウェア、及び/またはプロセッサもしくはディジタル信号プロセッサ(DSP)の組合せを含め、携帯無線電話に関するチップ・セットを含む。ビデオ符号化装置32は局所メモリ37に接続された符号器28を一般的に含む。局所メモリ37はビデオ・メモリ34と比較してさらに小さく、且つさらに速いメモリ空間を含む。一例として、局所メモリ37は同期ランダム・アクセス・メモリ(SRAM)を含む。局所メモリ37はプロセッサ集中的符号化処理の間データへ非常に速くアクセスするようにビデオ符号化装置32の他の要素と共に集積化された「オン・チップ」メモリを含む。所定のビデオ・フレームの符号化の間、符号化される現在のビデオ・ブロックはビデオ・メモリ34から局所メモリ37へ搭載される。最良予測を設置する際に使用される探索空間はまたビデオ・メモリ34から局所メモリ37へ搭載される。
探索空間は一以上の先行ビデオ・フレーム(或いは、後続フレーム)のピクセルの部分集合を含む。選択された部分集合は符号化される現在のビデオ・ブロックに綿密に合致する最良予測の特定のための最尤場所として予め特定される。さらに、異なる探索段階が使用されれば、探索空間は粗い動き推定上で変化する。その場合には、探索空間は、前の探索より大きな解像度で行われるこれらの後の探索に関して探索空間のサイズに関して次第に小さくなる。 The search space includes a subset of pixels of one or more previous video frames (or subsequent frames). The selected subset is pre-specified as the maximum likelihood location for identification of the best prediction that closely matches the current video block to be encoded. In addition, if different search stages are used, the search space changes on coarse motion estimation. In that case, the search space becomes progressively smaller with respect to the size of the search space with respect to these subsequent searches performed at a higher resolution than the previous search.
局所メモリ37は符号化される現在のビデオ・ブロック、及びフレーム間符号化で使用される一以上のビデオ・フレームのいくつかまたは全てを含む探索空間を搭載している。動き推定器40は最良予測を特定するために現在のビデオ・ブロックを探索空間内の様々なビデオ・ブロックと比較する。いくつかの例では、符号化の適正な合致は全ての可能な候補を特に検査せずにより早く特定され、その場合には、適正な合致は、効率的なビデオ符号化に適切であっても、実際に「最良の」予測ではないかもしれない。一般に、語句「予測ビデオ・ブロック」は適切な合致を云い、それは最良の予測である。
The
動き推定器40は符号化される現在のビデオ・ブロックとメモリ37の探索空間内の候補ビデオ・ブロックとの間で比較を行う。いくつかの場合には、候補ビデオ・ブロックは部分補間(fractional interpolation)のために生成された非整数ピクセル値を含む。一例として、動き推定器40は候補ビデオ・ブロックに関する差分値を定義するために、絶対差分和(sum of absolute difference:SAD)技術、二乗差分和(sum of squared difference:SSD)技術、または比較技術を実行する。より低い差分値は候補ビデオ・ブロックがより良い合致であることを一般的に示し、このように動き推定符号化において使用する他の候補ビデオ・ブロックよりも良い候補がより高い差分値をもたらす。
最終的に動き推定器は「最良予測」を特定し、それは符号化されるビデオ・ブロックに最も綿密に合致する候補ビデオ・ブロックである。しかしながら、多くの場合、適切な合致は最良の予測の前に位置していることは当然かもしれず、それらの場合には、適切な合致が符号化のために使用される。さらに、予測ビデオ・ブロックは適切な合致を参照し、それは最良の予測である。 Eventually, the motion estimator identifies the “best prediction”, which is the candidate video block that most closely matches the video block being encoded. However, in many cases, it may be natural that an appropriate match is located before the best prediction, in which case an appropriate match is used for encoding. Furthermore, the predictive video block references an appropriate match, which is the best prediction.
一旦、最良の予測がビデオ・ブロックについて動き推定器40によって特定されると、動き補償器42は現在のビデオ・ブロックと最良予測との間の差分を示す差分ブロックを作成する。差分ブロック符号器44は差分ブロックを圧縮するためにさらに差分ブロックを符号化し、探索空間からどの候補ビデオ・ブロックが符号化のために使用されたかを特定するために、符号化された差分ブロックは動きベクトル(或いは、動きベクトルと動きベクトル推定器との間の差分)とともに別のデバイスへ送られる。簡単にするため、特定の要素部品(components)は対応する特定の規格に応じて変るであろうから、動き補償の後で符号化を行うために使用される追加要素部品は差分ブロック符号器44 として一般化される。換言すれば、差分ブロック符号器44は差分ブロックに対して一以上の従来の符号化技術を実行し、それはここに示されたように生成される。
Once the best prediction is identified for the video block by
動き推定及び動き補償を含め、符号化処理は非常に計算集中的である。しかしながら、レート制御を行うために必要な計算の数は制限することができる。そのようなレート制御を行うために、ビデオ符号器28はレート制御ユニット46を含む。レート制御ユニット46はフレームごとに符号化されるビットの数と量子化後のビデオ・ブロックの非ゼロ係数の数との間の関係を利用する。量子化後のビデオ・ブロックの非ゼロ係数の数を表すρの値はフレームごとに符号化されたビットの数(従って、一定のフレーム・レートにおける秒ごとに符号化されたビットの数)に一般的に比例する。従って、レート制御ユニット46はレート制御ビデオ符号化を達成するためにρとQPとの間の関係を利用する。もっと明確には、レート制御ユニット46はρの値を異なるQPに写像するために一以上のLUTを生成する。そして、QPはビデオ符号化に望ましいレートに対応するρの望ましい値について選択することができる。
The encoding process, including motion estimation and motion compensation, is very computationally intensive. However, the number of calculations required to perform rate control can be limited. To perform such rate control, video encoder 28 includes a
下記でさらに詳細に述べられるように、ビデオ符号器28のレート制御ユニット46はビデオ・ブロックの量子化されない係数について閾値を計算し、そこでは閾値は量子化係数が異なる量子化パラメータ(QP)について非ゼロになるときを特定する。そして、レート制御ユニット46は閾値を使用して量子化後の非ゼロの係数の数をQPに写像するρ‐QP LUTを生成する。局所メモリ37はρ‐QP LUTを記憶する。さらに特定の実施例では、ビデオ符号器28のレート制御ユニット46は閾値をQPに写像する閾値‐QP LUTを生成し、そして閾値‐QP LUTを使用してρ‐QP LUTを生成する。LUT48は、ここに概説されたように、ρ‐QP LUT及び恐らくρ‐QP LUTを生成するために使用される閾値‐QP LUTといった、一以上のLUTを一般的に表す。
As described in further detail below, the
ρ‐QP LUTを生成する際に、ビデオ符号器28はビデオ・ブロックのレート制御ビデオ符号化についてQPをρ‐QP LUTから選択し、そしてビデオ符号器28は選択されたQPに基づいてビデオ・ブロックの係数を量子化し、例えば上で概説したように、フレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する。 In generating the ρ-QP LUT, the video encoder 28 selects a QP from the ρ-QP LUT for rate-controlled video encoding of the video block, and the video encoder 28 selects a video signal based on the selected QP. The block coefficients are quantized and the video block is encoded, for example, according to an inter-frame video encoding technique as outlined above.
ρ‐QP LUTの作成はビデオ・ブロック基準またはビデオ・フレーム基準で行うことができる。前者の場合には、ビデオ符号器28はビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐QP LUTを生成し、所定のビデオ・ブロックについて対応するρ‐QP LUTを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する。後者の場合には、ビデオ符号器28はビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐QP LUTを生成し、所定のビデオ・フレームについて対応するρ‐QP LUTを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する。 The ρ-QP LUT can be created on a video block basis or a video frame basis. In the former case, video encoder 28 generates different ρ-QP LUTs for different video blocks of the video frame and uses the corresponding ρ-QP LUT for a given video block. QP for rate controlled video coding is selected. In the latter case, video encoder 28 generates different ρ-QP LUTs for different video frames of the video sequence and uses the corresponding ρ-QP LUT for a given video frame. Select a QP for rate-controlled video coding of the video blocks.
ビデオ符号化では、正確なレート‐歪みモデルを持つことが一般的に望ましい。正確なレート‐歪みモデルは目標(target)ビット・レートを達成するだけではなくフレームごとのビットの数の変動が低くなるレート制御手法に帰着することができる。ビット・レートを予測するために非ゼロ係数の数(ρ)を使用するレート制御手法は多くの他のレート制御アルゴリズム、特に固定二次レート‐歪みモデル(fixed quadratic rate-distortion model)を使用するアルゴリズムに較べて著しく良い性能を達成する。固定二次レート‐歪みモデルを使用する従来のアルゴリズムは従来の基線方法(onventional baseline)または基線手法(baseline approach)とここでは呼ばれる。 For video coding, it is generally desirable to have an accurate rate-distortion model. An accurate rate-distortion model can result in a rate control approach that not only achieves the target bit rate but also reduces the variation in the number of bits per frame. Rate control techniques that use the number of non-zero coefficients (ρ) to predict bit rate use many other rate control algorithms, particularly a fixed quadratic rate-distortion model Achieves significantly better performance than the algorithm. A conventional algorithm that uses a fixed second-order rate-distortion model is referred to herein as a conventional on-line baseline approach or a baseline approach.
基本的に、ρ‐領域レート制御は次の二つの簡単な原理に基づいている:
1.ρは使用されるビットの数に一次的に関係がある、及び
2.特定のρ値を生じるQP値は量子化されない変換係数から推定することができる。
Rがフレーム上で使用するために必要なビットの数であれば、量子化の後で生じる非ゼロ係数の数は次の式によって示される:
R=Aρ+B 式1
上記の式1において、パラメータBは非テクスチャ情報と考えらることができ、パラメータAは非ゼロ係数を符号化するために必要なビットの平均数と見なすことができる。パラメータA及びBは前のフレームからのR及びρの値から推定することができる。上記の式1から、Rが与えられれば、ρを推定することはかなり簡単である。図3はフレームごとに使用されるビットの数及び異なるフレームに関するρのプロットである。図3から見られるように、Rとρの関係はほぼ線形である。
Basically, ρ-region rate control is based on two simple principles:
1. ρ is linearly related to the number of bits used, and 2. The QP value that yields a particular ρ value can be estimated from the unquantized transform coefficients.
If R is the number of bits required for use on the frame, the number of non-zero coefficients that occur after quantization is given by:
R = Aρ +
In
従って、レート制御技術はρの所望の値を生じるQP値を選択することができる。そのようなQP値を選択するために、しかしながら、使用される規格に対応する許容可能な各 QPに由来するであろう非ゼロ係数の数を知る必要がある。変換係数がTiによって与えられ、且つQPに対応する量子化手続きがSQPによって与えられれば、ρ‐QP表は: Thus, the rate control technique can select a QP value that yields the desired value of ρ. In order to select such a QP value, however, it is necessary to know the number of non-zero coefficients that will be derived from each acceptable QP corresponding to the standard used. If the transform coefficient is given by T i and the quantization procedure corresponding to QP is given by S QP , then the ρ-QP table is:
f(Ti,SQP)=1 (|Ti+rqp|≧SQPであれば)
=0 (それ以外)
上記の式2では、ステップ・サイズSQP及び丸め因数(rounding factor)rqpは次の要件に依存する:
1.符号化規格、例えば、ITU H.264、MPEG‐4またはITU H.263、
2.フレーム内符号化またはフレーム間符号化のいずれかが実行されている、及び
3.係数指標(coefficient index)。
= 0 (other than that)
In
1. Coding standards such as ITU H.264. H.264, MPEG-4 or ITU H.264. 263,
2. 2. either intra-frame coding or inter-frame coding is being performed, and Coefficient index.
例えば、MPEG‐4では、全ての係数SQPに関する仲介マクロブロックは2QPによって与えられ、rQPは−(QP/2)によって与えられる。ρ‐QP表を生成するために使用される式2は加算器(adders)及び比較器(comparators)によって実施することができる。表入力ρ(QP)はQPの全ての値について計算する必要がある。QPはMPEG‐4については1から31の範囲、 H.264については0から51の範囲に及ぶ。計算は一般的にQPの全ての可能な値について繰返す必要がある。特定の量子化パラメータρがゼロであれば、ρは全てのより大きな量子化パラメータ値についてゼロにとどまることを保証され、従って計算する必要がない。換言すれば、ρ(QPi)=0であれば、全てのQP>QPiについてρ(QP)=0である。
For example, in MPEG-4, the mediating macroblock for all coefficients S QP is given by 2QP, and r QP is given by-(QP / 2).
マクロブロックから得られたρ‐QP表はフレームのρ‐QP表を得るために全体のフレーム上で累積することができる。「マクロブロック」は一般的に16×16ピクセルのビデオ・ブロックを参照する。ビデオ・シーケンスの画像がかなり静止していると仮定すれば、前のフレームから推定されたρ‐QP表は現在のフレームに関するQPを予測するために使用することができる。さらに、QPの初期値はマクロブロック・レベルのレート制御を使用してマクロブロック基準で変えることができる。 The ρ-QP table obtained from the macroblock can be accumulated over the entire frame to obtain a ρ-QP table for the frame. A “macroblock” generally refers to a 16 × 16 pixel video block. Assuming that the video sequence image is fairly stationary, the ρ-QP table estimated from the previous frame can be used to predict the QP for the current frame. Further, the initial value of QP can be changed on a macroblock basis using macroblock level rate control.
次の手続きは基本的なρ‐領域レート制御アルゴリズムを実施するために使用される。
手続き1:現在のフレームのビット量Rfを推定する。
手続き2:上記の式1を使用して対応するρfを推定する。最初のフレームについてはA及びBに関する初期値を使用する。
手続き3:ρf(QP)を使用して、ρfに最も近いρを与えるQP=QPfを選択する。
手続き4(a):マクロブロック・レベルのレート制御初期化:ρa=0;i=0を行う、ここでNはフレームごとのマクロブロックの数で、iはマクロブロック指数である。
手続き4(b):ρm=(ρf−ρa)/(N−i)。 ρm(QP)を使用して、ρmに最も近いρを与えるQP=QPmを選ぶ。ρm(QP)はρf(QP)の尺度化された版であるか、もしくは前のマクロブロックから推定することができる。その変動が前のマクロブロックから[−2 +2]以内にあるようにQPmをクランプする(MPEG4の場合)。
手続き4(c):各々のQPについて、上記の式2を使用してρi(QP)を計算する。
手続き4(d):各々のQPについて、ρ(QP)をρ(QP)+ρi(QP)と置替える。
手続き4(e):ρa(QP)をρa(QP)+ρi(QP)と置替える。iをi+1と置替える。
手続き4(f):(i<N)までは手続き4(b)に戻る(loop)。
手続き5:ρf(QP)をρ(QP)と置替える。ρa及び現在のフレームにおいて費やされるテクスチャ・ビット(Rt)及び非テクスチャ・ビット(Rn)を使用して、A及びBを再推定する。B=Rn及びA=(Rt/ρa)。
手続き6: 全てのフレームが終わるまでに、手続き(1)に戻る。
The following procedure is used to implement a basic ρ-region rate control algorithm.
Procedure 1: Estimate the bit amount R f of the current frame.
Procedure 2: Estimate the corresponding ρ f using Equation 1 above. For the first frame, the initial values for A and B are used.
Procedures 3: Use ρ f a (QP), to select the QP = QP f that gives a ρ closest to ρ f.
Procedure 4 (a): Macroblock level rate control initialization: ρ a = 0; i = 0, where N is the number of macroblocks per frame and i is the macroblock index.
Procedure 4 (b): ρ m = (ρ f −ρ a ) / (N−i). Use [rho m of (QP), choose a QP = QP m giving [rho closest to [rho m. ρ m (QP) is a scaled version of ρ f (QP) or can be estimated from previous macroblocks. QP m is clamped so that the fluctuation is within [−2 +2] from the previous macroblock (in the case of MPEG4).
Procedure 4 (c): For each QP, calculate ρ i (QP) using
Procedure 4 (d): For each QP, replace ρ (QP) with ρ (QP) + ρ i (QP).
Procedure 4 (e): Replace ρ a (QP) with ρ a (QP) + ρ i (QP). Replace i with i + 1.
Procedure 4 (f): Returns to procedure 4 (b) until (i <N) (loop).
Procedure 5: Replace ρ f (QP) with ρ (QP). Re-estimate A and B using ρ a and the texture bits (R t ) and non-texture bits (R n ) spent in the current frame. B = R n and A = (R t / ρ a ).
Procedure 6: Return to procedure (1) by the end of all frames.
MPEG‐4及びITU H.263準拠の符号器については、ρ‐QP表の計算はITU H.264に準拠する符号器についてよりも簡単な方法で行うことができる。次の擬似コードはMPEG‐4及びITU H.263規格に準拠してビデオ・ブロックに関するそのような一つの計算を例示する。 MPEG-4 and ITU H.264 For 263 compliant encoders, the calculation of the ρ-QP table is ITU H.264. This can be done in a simpler way than for an H.264 compliant encoder. The following pseudo code is MPEG-4 and ITU H.264. One such calculation for a video block in accordance with the H.263 standard is illustrated.
For QP = 1to 31
{
p(QP)=0;
If (INTRA)
{
if (|(DCT(0) + (dc_scalar>>1)| >= dc_scalar)
p(QP)++;
for i = 1 to 63
if (|DCT(i)| >= (QP<<1)}
p(QP}++;
end
}
else
{
for i = 0 to 63
if (|(|DCT(i)| - (QP>>1))| >= (QP<<1))
p(QP)++;
end
}
if ( p(QP)) = 0)
break;
}
図4はMPEG‐4またはITU H.263符号化規格に準拠する符号器についてρ(QP)表を計算するために使用できる典型的なハードウェア回路を例示する。図4で示された累積は全ての明度(luminosity:luma)及び色度(chromaticity:chroma)ブロック、例えば4明度及び2色度ブロックについて繰返す必要があるであろう。
For QP =
{
p (QP) = 0;
If (INTRA)
{
if (| (DCT (0) + (dc_scalar >> 1) |> = dc_scalar)
p (QP) ++;
for i = 1 to 63
if (| DCT (i) |> = (QP << 1)}
p (QP} ++;
end
}
else
{
for i = 0 to 63
if (| (| DCT (i) |-(QP >> 1)) |> = (QP << 1))
p (QP) ++;
end
}
if (p (QP)) = 0)
break;
}
4 shows MPEG-4 or ITU H.264. 3 illustrates an exemplary hardware circuit that can be used to calculate a ρ (QP) table for an encoder that conforms to the H.263 coding standard. The accumulation shown in FIG. 4 will need to be repeated for all luminosity (luma) and chromaticity (chroma) blocks, eg, 4 brightness and 2 chromaticity blocks.
図4に例示されたように、回路400は入力としてDCT(i)を受取る。DCT(i)は指数(i)をもつ離散コサイン変換係数である。ブロック401はDCT(i)の絶対値を生成し、それは加算器402に送られる。そして、DCT(i)の絶対値はマルチプレクサ403の出力に加えられる。マルチプレクサ403は三つの値の一つを選択する。マルチプレクサ403への入力は1だけ右に移行した dc_scaler 値、及び1だけ右に移行した負の量子化パラメータQPである。マルチプレクサ403はI及びDC双方が1のとき1だけ右に移行した dc_scaler 値を選択し、Iが1でDCが0のとき値0を選択し、Iが0のときDCの値に関係なく1だけ右に移行した負の量子化パラメータQPを選択する。Iの値は入力ブロックがイントラ(intra)ブロックのとき1で、入力ブロックがインター(inter)ブロックのとき0である。DCの値は入力パラメータがDCのとき1で、入力パラメータがACのとき0である。DC係数はビデオ・ブロックの平均値を表し、一方、AC係数はビデオ・ブロックの残りの係数である。
As illustrated in FIG. 4,
マルチプレクサ403の出力は加算器402によってブロック401の出力に加えられる。そして、ブロック404は加算器402の出力の絶対値を生成し、この値の負数を入力として加算器405に提供し、それはマルチプレクサ406の出力に加えられる。マルチプレクサ406は dc_scaler 値、及び1だけ左に移行した量子化パラメータQPを受取る。マルチプレクサ406はI及びDCが双方共1のとき dc_scaler 値を出力として選択し、他の場合には1だけ左に移行した量子化パラメータQPを出力として選択する。
The output of
加算器405はブロック404の出力をマルチプレクサ406の出力から減算する。ブロック407は加算器405の出力の12番目のビット(正負記号ビット)を調べ、このビットを加算器408に提供する。ブロック409は正負記号ビットを前の各入力に加えることによってρ(QP)表を累積する。このように、加算器408及びρ(QP)表はρ(QP)表を生成する累算器として集合的に見なすことができる。回路400はこれらの計算をI=1から63まで、及びQP=1から31まで繰返す。
ITU H.264準拠符号器では、量子化ステップは変換の係数依存スケーリングと結合される。これはρ(QP)表の計算をさらに複雑にする。その量子化は次の式を用いて実施することができる。
Fij=(MWij+A)>>S 式3
ここで、Fij は量子化係数で、Wij は量子化されない変換係数である。乗算因数M、加算因数A、及び移行因数SはQP、係数指標i、j、イントラ予測モードに依存し、及びブロックが明度或いは色度のいずれであるかにも依存する。式3から、量子化された値Fij は:
Wij>=(2S−A)/M 式4
>=C
の場合にのみ非ゼロになるであろう。
ここで、 S=16+(QP/6) (イントラ16×16のDC及び色度)
S=15+(QP/6) (その他)
A=2S−1 (イントラ)
A=2S−2 (インター)
量子化はQPの増加6に対して、量子化ステップが二倍になるように設計することができる。従って、Mは6個の一意値(unique values)の集合を有し、そしてMは(QP%6)と指数i、jの関数としての値の範囲を持つ 。記号%はMOD関数を表し、それは剰余を提供する。このように、QP%6はQP MOD 6と同じで、それはQPを6で除算し、除算の剰余を与える。Mの指数への依存度は整数変換により必要なスケーリングが量子化処理に吸収されるという事実による。次の表1はMの値を示す。特に、表1は様々な指数及びQP%6について乗数値(また、乗算因数と呼ばれる)Mを表記する。
ITU H. In an H.264 compliant encoder, the quantization step is combined with a coefficient dependent scaling of the transform. This further complicates the calculation of the ρ (QP) table. The quantization can be performed using the following equation:
F ij = (MW ij + A) >>
Here, F ij is a quantization coefficient, and W ij is a transform coefficient that is not quantized. The multiplication factor M, the addition factor A, and the transition factor S depend on the QP, the coefficient indices i and j, the intra prediction mode, and on whether the block is lightness or chromaticity. From
W ij > = (2 S −A) /
> = C
Will only be non-zero.
Where S = 16 + (QP / 6) (
S = 15 + (QP / 6) (Others)
A = 2 S-1 (Intra)
A = 2 S-2 (Inter)
Quantization can be designed to double the quantization step for an increase in QP of 6. Thus, M has a set of 6 unique values, and M has a range of values as a function of (QP% 6) and the indices i, j. The symbol% represents the MOD function, which provides the remainder. Thus,
図5Aに例示されたように、値15が加算器501によって値QP/6に加えられる。加算器502の出力は加算器501の出力と同様にマルチプレクサ505に提供され、それは加算器501の出力に1を加える。マルチプレクサ505の出力はANDゲート503及びORゲート504からの制御信号に基づいて選択される。ANDゲート503への入力i及びjは入力係数の指数値であり、反転される。ORゲート504へ入力は現在のブロックがイントラ・ブロックであるかどうか、及び現在のブロックが色度ブロックであるかどうかを指示する。マルチプレクサ505への両入力が1であるとき、加算器502の出力はマルチプレクサによって選択され、他の場合には加算器501の出力が選択される。回路500の出力Sは図5Bの回路600によって使用される。
As illustrated in FIG. 5A, the
図5Bに示されたように、マルチプレクサ603はANDゲート601及びNORゲート602からの入力信号に基づいて値0、1及び2のうちの一つを選択する。ゲート601及び602への入力はそれぞれi及びj次元における指標係数のゼロ番目のビットである。ゲート601の出力がゼロであり、且つゲート602の出力が1であれば、値0がマルチプレクサ603によって選択される。ゲート601の出力が1であり、且つゲート602の出力がゼロであれば、値1がマルチプレクサ603によって選択される。ゲート601の出力がゼロであり、且つゲート602の出力がゼロであれば、値2がマルチプレクサ603によって選択される。
As shown in FIG. 5B, the
マルチプレクサ604はマルチプレクサ603の出力を6で乗算し、この値をメモリ605及び606に入力する。IROM605はイントラ・ブロックに対応し、PROM606はインター・ブロックに対応する。インター・ブロックが処理されているとき、マルチプレクサ607への入力値Pは1である。
The
マルチプレクサ607はメモリ605、606の一つを入力Pに基づいて選択する。マルチプレクサ607の出力は加算器608に提供される。図5Aの回路からの値Sは15から減算される。値511はブロック609によって(15−S)の結果だけ右に移行され、ブロック609の出力は加算器608に提供される。加算器608はブロック609及びマルチプレクサ607の出力を合計する。そして、加算器608の出力は24−Sだけ右に移行され、 それは変数Cで表され、比較器値を表し、値Cは加算器611に提供される。値 Wij は入力係数を表す。ブロック612は値 Wij の絶対値を生成し、それは加算器611によって値Cから減算される。
The
ブロック613は加算器611の出力の正負記号ビット(15番目のビット)を生成する。そして、正負記号ビットは加算器614に提供される。ブロック615は正負記号ビットを前の各入力に加えることによってρ(QP)表に累積する。このように、加算器614及びρ(QP)表ブロック615はρ(QP)表を生成する累算器として集合的に見なすことができる。回路500及び600はこれらの計算をi、j=1から3まで、及びQP=1から51まで繰返す。
図5A及び5Bでさらに一般的に示されたように、丸め因数は記憶された比較器値にそれが移行される前に加算される。除算の結果生じる分数値が常に切上げられるように、この因数は選択することができる。そのようにすることによって、15と24の間のSの全ての値についてその結果生じるCは式5において端数の切上げであることが保証される。また、図5A及び5Bに例示された回路構成の多くは、アドレス生成器及びSを計算する構成要素を含めて、ITU H.264規格に従って順方向量子化を実施するハードウェア要素中に既に配置されている。図5A及び5Bに示された累算は全ての明度及び色度ブロック(16明度及び8色度ブロック)について繰返される。
As more generally shown in FIGS. 5A and 5B, the rounding factor is added to the stored comparator value before it is transferred. This factor can be chosen so that the fractional value resulting from the division is always rounded up. Doing so ensures that the resulting C for all values of S between 15 and 24 is rounded up in
上記で述べられ、図4及び図5A及び5Bに例示されたρ‐QP表の直接計算は計算的に複雑である。最悪の場合には、直接的計算はQPごとの係数につき一つの比較及び一つの加算を含む。QPがM個の可能な値を有し、且つN個の係数があると、ρ‐QP表の直接計算に必要な演算の数はM*Nである。様々な「閾値」手法を含めて、もっと単純化された手法は下記でさらに詳細に述べられる。 The direct calculation of the ρ-QP table described above and illustrated in FIGS. 4 and 5A and 5B is computationally complex. In the worst case, the direct calculation involves one comparison and one addition per coefficient per QP. If QP has M possible values and there are N coefficients, the number of operations required for direct calculation of the ρ-QP table is M * N. More simplified approaches, including various “threshold” approaches, are described in further detail below.
「閾値」手法では、ρ‐QP表は全ての量子化されない係数Ci についてQP閾値τi の計算を含む。閾値τi は次のような量子化パラメータである:
全てのQP>τi について、Q(Ci ,QP)=0
全てのQP≦τi について、Q(Ci ,QP)≠0 式6
関数Q(Ci ,QP)は量子化パラメータQPを使用する係数Ci の量子化演算を表す。閾値‐QP表T(QP)は次の疑似コードを使用して計算することができる:
for QP = 1 to 31
T(QP) = 0
End
for 1= 1 to N
T(τi) ++;
End
そして、ρ‐QP表は次の疑似コードを使用してT(QP)から容易に計算することができる:
for QP = QPMAX−1 to QPMIN
T(QP) = T(QP + 1) + T(QP)
End
ρ(QP) = T(QP)
閾値手法(また閾値方法とも呼ばれる)を用いて、ρ‐QP表を計算するために必要な演算の数は直接計算に必要なN*Mの計算処理に較べて2N+Mに低減することができる。これは一般的に各々の係数について計算するために表を検索するためのN演算、及びN係数の閾値を累積するためのN演算、続いてρ‐QP表を得るためにT(QP)表を累積するためのM演算を必要とすることを仮定する。
In the “threshold” approach, the ρ-QP table includes the calculation of the QP threshold τ i for all unquantized coefficients C i . The threshold τ i is a quantization parameter such as:
Q (C i , QP) = 0 for all QP> τ i
For all QP ≦ τ i , Q (C i , QP) ≠ 0
The function Q (C i , QP) represents the quantization operation of the coefficient C i using the quantization parameter QP. The threshold-QP table T (QP) can be calculated using the following pseudo code:
for QP = 1 to 31
T (QP) = 0
End
for 1 = 1 to N
T (τ i ) ++;
End
The ρ-QP table can then be easily calculated from T (QP) using the following pseudo code:
for QP = QP MAX −1 to QP MIN
T (QP) = T (QP + 1) + T (QP)
End
ρ (QP) = T (QP)
Using the threshold method (also called the threshold method), the number of operations required to calculate the ρ-QP table can be reduced to 2N + M compared to the N * M calculation process required for direct calculation. This generally involves N operations for searching the table to calculate for each coefficient, and N operations for accumulating the threshold of N coefficients, followed by a T (QP) table to obtain a ρ-QP table. Suppose we need M operations to accumulate.
ρ‐QP表の計算が全てのマクロブロックについて行われれば、閾値方法は計算処理を90%以上低減させる。さらに、その表がフレームごとに一度計算されるだけになれば、計算処理の低減はなお大きくなるであろう。ρ‐QP表を計算する閾値方法はまた並行して動作するM累算器を持つ必要性を回避するので、ハードウェア実装について非常に有利である。ハードウェアに実装されれば、そのハードウェアは各マクロブロックについてT(QP)表を計算し、それをDSPに渡すことができる。DSPはρ‐QP表を計算するためにこの閾値表を使用するであろう。 If the calculation of the ρ-QP table is performed for all macroblocks, the threshold method reduces the calculation process by 90% or more. Furthermore, if the table is only calculated once per frame, the reduction in calculation processing will still be significant. The threshold method of calculating the ρ-QP table is also very advantageous for hardware implementations because it avoids the need to have M accumulators operating in parallel. If implemented in hardware, the hardware can compute a T (QP) table for each macroblock and pass it to the DSP. The DSP will use this threshold table to calculate the ρ-QP table.
MPEG‐4及びH.263について、τi の計算は次のように実行することができる:
τi =|Ci|>>1 (イントラAC及びDC係数)
τi =|2Ci|/5
=(|Ci|×0x666+0x4CD)(インターAC及びDC係数)
イントラの場合には、|Ci|は[062]に制限され、インターの場合には、|Ci|は[077]に制限される。0x666は(2/5)であり、0x4CDはQ12において(3/10)である。これらの式から、MPEG‐4及びH.263について、τi を推定するために必要な計算がわずかであることに気付くであろう。量子化の後でこれらの係数がゼロになる可能性は遠いので、イントラAC係数について別の式(または表参照)を使用する必要はない。これは図6に示されたイントラDC係数のヒストグラムから観察できる。
下記の表3はMPEG‐4のインター係数に関する閾値を求めるための典型的な一つの参照表(LUT)である。
MPEG-4 and H.264 For H.263, the calculation of τ i can be performed as follows:
τ i = | C i | >> 1 (intra AC and DC coefficients)
τ i = | 2C i | / 5
= (| C i | × 0x666 + 0x4CD) (inter AC and DC coefficients)
In the case of intra, | C i | is limited to [062], and in the case of inter, | C i | is limited to [077]. 0x666 is (2/5) and 0x4CD is (3/10) in Q12. From these equations, MPEG-4 and H.264 are shown. It will be noted that for 263, only a few calculations are needed to estimate τ i . Since it is unlikely that these coefficients will be zero after quantization, it is not necessary to use another formula (or table) for the intra AC coefficients. This can be observed from the histogram of the intra DC coefficient shown in FIG.
Table 3 below is a typical look-up table (LUT) for determining threshold values for MPEG-4 inter coefficients.
ITU H.264規格について、ITU H.264規格では、除数はQPに依存しているだけでなく、他の因数にも依存しているので、量子化されない係数からの閾値の直接計算はさらに難しい。ITU H.264規格に従って閾値を計算するために使用できる一つの一般的なハードウェア構造は図7に示される。
ITU H. For the H.264 standard, ITU H.264 In the H.264 standard, the divisor is not only dependent on the QP, but also on other factors, so the direct calculation of the threshold from the unquantized coefficients is even more difficult. ITU H. One common hardware structure that can be used to calculate thresholds according to the H.264 standard is shown in FIG.
図7に示されたように、入力係数 Wij はブロック701への入力で、それは Wij の絶対値を生成する。ブロック702は Wij の絶対値を2047に制限し、その出力を加算器707に送る。ブロック702の出力はまたブロック703によって5だけ右に移行される。ブロック703の出力はマルチプレクサ704への入力信号である。マルチプレクサ704への入力の最上位ビットは値0、1、2、3、4、5及び6から出力を選択するために使用される。
As shown in FIG. 7, the input coefficient W ij is an input to block 701, which generates the absolute value of W ij .
加算器705はマルチプレクサ704の出力から1を減算する。そして、加算器705の出力は1だけ左に移行される。ブロック706の出力は加算器707に提供され、ブロック702の出力に加えられる。そして、加算器707の出力はマルチプレクサ704によって出力された値だけ右に移行される。ブロック709はブロック708の値を31に制限する。そして、ブロック709の出力はアドレス生成器710に提供される。
アドレス生成器710はLUT711によって使用されるアドレスを生成する。特に、アドレス生成器710はLUT711に供給されるアドレスを生成するためにi、j及びイントラと同様にブロック709の出力を受取る。LUT711の例は下記の表6及び7において提供される。表6はイントラ値に関するLUTを表し、表7はインター値に関するLUT例を表す。アドレス生成器710へのそれぞれの入力値はLUTの一つの特定値に写像することができる。アドレス(addr)が与えられると、適切なデータがLUT711から選択される。
LUT711のそれぞれの出力は加算器717に提供される。マルチプレクサ704の出力はまたマルチプレクサ715に提供される。加算器712はマルチプレクサ704の出力から1を減算し、この値を他の出力としてマルチプレクサ715に提供する。マルチプレクサ715の出力はANDゲート713及びORゲート714からの制御信号に基づいて選択される。ANDゲート713への入力i及びjは入力係数の指数値であり、反転される。ORゲート714への入力は現在のブロックがイントラ・ブロックであるかどうか、及び現在のブロックが色度ブロックであるかどうかを示す。加算器712の出力はマルチプレクサ715への両入力が1であるときマルチプレクサによって選択され、そうでなければマルチプレクサ704の出力はマルチプレクサ715によって選択される。
Each output of
そして、マルチプレクサ715の出力は乗算器716によって6で乗算される。乗算器716の出力は加算器717によって選択されたLUT711の一つの出力によって加算される。加算器717の出力はブロック718によって下限が0及び上限が52に制限される。回路700の出力は量子化パラメータ閾値QPTである。値QPTは、下記で論ずるように、図9の回路900への入力として使用される。
The output of the
図7のハードウェア回路図では、制限因数Lは量子化されない係数の絶対値を量子化のために使用される最大の除数以下に制限するために使用される。Lより大きいWij について、τij(QPT)がQPmax に等しくなることが一般的に保証される。従って、Lより大きいWij に対応するLUTの入力を記憶しておく必要性はない。Lの値は係数指標及びマクロブロックのモード(イントラまたはインター)に依存する。Lの様々な値は下記の表5に示される。特に、表5はQP閾値がQPmax にクランプされるであろう以上の絶対値を記載する。 In the hardware circuit diagram of FIG. 7, the limiting factor L is used to limit the absolute value of the unquantized coefficient below the maximum divisor used for quantization. For W ij greater than L, it is generally guaranteed that τ ij (QP T ) is equal to QP max . Therefore, there is no need to store the LUT input corresponding to W ij greater than L. The value of L depends on the coefficient index and the macroblock mode (intra or inter). Various values of L are shown in Table 5 below. In particular, Table 5 lists absolute values above which the QP threshold will be clamped to QP max .
移行因数Sは6倍され、その後、最終閾値QPを得るために参照の結果に加えられる。LUTはマクロブロックがイントラ・ブロック或いはインター・ブロックのいずれであるか、及び係数の指標に依存する。イントラ及びインター係数に関する典型的入力は表6及び7においてそれぞれ与えられる。特に、表6はITU H.264イントラ係数について閾値を求めるための典型的な参照表で、一方、表7はITU H.264インター係数について閾値を求めるための典型的な参照表である。 The transition factor S is multiplied by 6 and then added to the reference result to obtain the final threshold QP. The LUT depends on whether the macroblock is an intra block or an inter block and the coefficient index. Typical inputs for intra and inter coefficients are given in Tables 6 and 7, respectively. In particular, Table 6 shows ITU H.264. A typical look-up table for determining thresholds for H.264 intra coefficients, while Table 7 shows ITU H.264. 6 is a typical look-up table for obtaining threshold values for H.264 inter coefficients.
図9に示されたように、回路900は量子化パラメータ閾値QPT入力を受取る。加算器901はQPTから30を減算し、この値を色度QP LUT902に提供し、その例は表8において提供される。マルチプレクサ904はブロック903によって決定される加算器901の出力の正負記号(sign)に対応する入力信号及び明度及びH.264入力信号に基づいてQPTの値と色度QP LUT902に記憶された値との間で選択する。正負記号値がゼロで、ブロックが明度ブロックでないことを示す明度値がゼロで、且つ符号化規格がITU H.264であることを示すH.264値が1であれば、色度QP LUTに記憶された値が選択される。そうでない場合には、マルチプレクサ904は出力としてQPTを選択する。マルチプレクサ904の出力はT(QP)表905に記憶された入力アドレス(addr)を含む。マルチプレクサ904から出力される元のアドレス値は加算器906に出力され、1を加算され、そしてT(QP)表905における元のアドレス値上に記憶される。特定のQPTは各係数及び各々のこれらのQPTについて生成される。
As shown in FIG. 9,
ITU H.264に従って色度QP値をQP値に変換するために使用されるLUTは表8 において与えられる。特に、表8は色度‐QP閾値をQP閾値に写像する表を例示する。 ITU H. The LUT used to convert chromaticity QP values to QP values according to H.264 is given in Table 8. In particular, Table 8 illustrates a table that maps the chromaticity-QP threshold to the QP threshold.
表10は異なる目標ビット・レートで符号化された様々なビデオ・クリップについてフレームごとに使用されるビットの標準偏差を定量化する実験結果の表である。表10は従来の基線手法を用いた結果及びここに概説されたρ‐領域手法を用いた結果の表である。表10は異なる目標ビット・レートで符号化された、五つの異なるビデオ・クリップに関するデータを含む。異なるクリップは四つの異なるレート制御方法で符号化された:即ち、28キロビット/秒(Kbps)及び四分の一共通インタフェース・フォーマット(QCIF)‐15フレーム/秒(FPS);35Kbps 及び QCIF‐10FPS;55Kbps 及び QCIF‐10 FPS;そして64Kbps 及び QCIF ‐15FPS。
Table 10 is a table of experimental results that quantify the standard deviation of bits used per frame for various video clips encoded at different target bit rates. Table 10 is a table of results using the conventional baseline method and results using the ρ-region method outlined herein. Table 10 contains data for five different video clips encoded at different target bit rates. Different clips were encoded in four different rate control methods: 28 Kbit / s (Kbps) and 1/4 common interface format (QCIF)-15 frames per second (FPS); 35 Kbps and QCIF-10 FPS 55 Kbps and QCIF-10 FPS; and 64 Kbps and QCIF-15 FPS.
図10はフレームごとに使用されるビット及び従来の基線手法及びここに述べたρ‐領域レート制御手法によってもたらされるフレームごとのピーク信号対雑音比(PSNR)を示す四つの異なるプロットを含む。図10のプロットは64Kbps における mother-daughter(母娘)クリップの符号化に対応する。 FIG. 10 includes four different plots showing the bits used per frame and the peak signal-to-noise ratio (PSNR) per frame provided by the conventional baseline technique and the ρ-region rate control technique described herein. The plot in FIG. 10 corresponds to the encoding of a mother-daughter clip at 64 Kbps.
図10のプロットから、フレームに費やされたビットの変動の低減が劇的であるとき、ρ‐領域レート制御はPSNRに否定的には影響を与えないことが理解されるであろう。この例では、ρ‐領域レート制御は時間をこえてより滑らかな振る舞いをPSNR曲線にもたらし、それは望ましい結果である。 From the plot of FIG. 10, it will be appreciated that ρ-region rate control does not negatively affect PSNR when the reduction in variation of bits spent on a frame is dramatic. In this example, ρ-region rate control results in a smoother behavior in the PSNR curve over time, which is a desirable result.
符号化の性能へのさらなる改善は上で表にした式1におけるパラメータA及びBを適応させることによって達成することができる。特に、式1のパラメータA及びBを適応させることは図11に示されたフレーム・レベルのビット変動を減少させることによってレート制御をさらに改善することができる。適応は別の平均によって変動を37%さらに低減する。この例では、パラメータはロー(ρ)‐適応技術におけるすべてのフレームに一度更新される。ここに述べられた閾値手法に関連するパラメータA及びBの適応は適応閾値手法と呼ばれる。
Further improvements to the encoding performance can be achieved by adapting the parameters A and B in
フレーム内のQPの変動の低減はデルタ‐QPを符号化するために必要なビットを低減させるのに役立ち、且つQPの変動の低減はフレームにわたって品質を比較的安定にすることによって符号化品質を改善することができるので、フレーム内のQPの変動を低減させることはまた重要であろう。フレーム内のQPの変動を低減させるこの目的(goal)はマクロブロック・レベルのレート制御を行うために前のフレームから調整されたρ‐QP表を使うことによって達成することができる。これはρ‐QP表推定の変動を低減させ、従ってフレーム内のQP値の変動の揺らぎを低減させるのを助ける。前のマクロブロックからのρ‐QP表がレート制御のために使用されれば、マクロブロックの約25%だけは不変のQP値を有する。マクロブロックの殆ど80%について、前のフレームから調整されたρ‐QP表を使うことによってQPの値の変化がないことに気付かれるであろう。 Reducing QP variation within a frame helps reduce the bits required to encode delta-QP, and reducing QP variation reduces coding quality by making the quality relatively stable across frames. It may also be important to reduce QP variation within a frame, as it can be improved. This goal of reducing QP variations within a frame can be achieved by using a ρ-QP table adjusted from the previous frame to provide macroblock level rate control. This helps to reduce fluctuations in the ρ-QP table estimate and thus reduce fluctuations in fluctuations in the QP value within the frame. If the ρ-QP table from the previous macroblock is used for rate control, only about 25% of the macroblocks have invariant QP values. It will be noted that for almost 80% of the macroblocks, there is no change in the value of QP by using the ρ-QP table adjusted from the previous frame.
表11に示されるように、ρ‐領域レート制御によってもたらされるフレーム・レベルのビット・レート変動の著しい低減は符号化されたビデオ・シーケンスの品質の低下を生じない。表11は様々な符号化シーケンスから得られたPSNRを提供する。 As shown in Table 11, the significant reduction in frame-level bit rate variation caused by ρ-region rate control does not result in a degradation in the quality of the encoded video sequence. Table 11 provides the PSNR obtained from various coding sequences.
様々な実施例が述べられてきた。特に、ρ‐領域レート制御は従来の基線方法と比較してフレームごとのビットの変動を50〜80%低減させる優れた結果を生じることが実証されてきた。このビット・レート変動の低減はPSNR及び画質認識にいかなる劣化のないこともまた示される。閾値‐QP LUTが作成され、そしてρ‐QP LUTを作成するために使用される閾値手法を含め、ρ‐QP LUTの生成を単純化できるいくつかの技術もまた述べられてきた。 Various embodiments have been described. In particular, ρ-region rate control has been demonstrated to produce superior results that reduce bit-to-frame bit variations by 50-80% compared to conventional baseline methods. This reduction in bit rate variation is also shown to be without any degradation in PSNR and image quality recognition. A number of techniques have also been described that can simplify the generation of a ρ-QP LUT, including threshold methods used to create Threshold-QP LUTs and create ρ-QP LUTs.
ここに述べられた技術はハードウェア、ソフトウェア、ファームウェア、またはそのあらゆる組合せで実施される。ソフトウェアで実施されれば、その技術はビデオ・シーケンスを符号化するデバイスにおいて実施されるとき、上で述べられた一以上の方法を実行するプログラム・コードを含むコンピュータ可読媒体に適用される。その場合には、コンピュータ可読媒体は同期式ダイナミック・ランダム・アクセス・メモリ(SDRAM)といったランダム・アクセス・メモリ(RAM)、読出し専用メモリ(ROM)、不揮発性ランダム・アクセス・メモリ(NVRAM)、電気的消去プログラム可能読出し専用メモリ(EEPROM)、フラッシュ(FLASH)メモリ、等々を含む。 The techniques described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the techniques are applied to a computer-readable medium containing program code that performs one or more of the methods described above when implemented in a device that encodes a video sequence. In that case, the computer readable medium may be a random access memory (RAM) such as a synchronous dynamic random access memory (SDRAM), a read only memory (ROM), a non-volatile random access memory (NVRAM), an electrical Erasable programmable read only memory (EEPROM), flash (FLASH) memory, and so on.
プログラム・コードはコンピュータ可読命令の形式でメモリに記憶される。その場合には、DSPのようなプロセッサはここに述べられた一以上の技術を実行するためにメモリに記憶された命令を実行する。いくつかの場合には、その技術は符号化処理を促進するために様々なハードウェア要素を行使するDSPによって実行される。他の場合では、ビデオ符号器はマイクロプロセッサ、一以上の特定用途向け集積回路(ASIC)、一以上のフィールド・プログラム可能ゲート・アレイ(FPGA)、または他のいくつかのハードウェア‐ソフトウェアの組合せとして実施される。これらや他の実施例は請求項の範囲内にある。 The program code is stored in memory in the form of computer readable instructions. In that case, a processor such as a DSP executes instructions stored in memory to perform one or more of the techniques described herein. In some cases, the technique is performed by a DSP that exercises various hardware elements to facilitate the encoding process. In other cases, the video encoder is a microprocessor, one or more application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs), or some other hardware-software combination. As implemented. These and other embodiments are within the scope of the claims.
Claims (31)
ρ‐QP LUTを記憶するメモリ、を具備するビデオ符号化デバイス。 Compute a threshold for the unquantized coefficients of the video block, where the threshold identifies when the quantized coefficient is non-zero for different quantization parameters (QP), and uses the threshold to A video encoding device comprising: an encoder that generates a ρ-QP lookup table (LUT) that maps a number of zero coefficients (ρ) to a QP; and a memory that stores the ρ-QP LUT.
閾値をQPに写像する閾値‐QP LUTを生成し、且つ
閾値‐QP LUTを使用してρ‐QP LUTを生成し、
ここでメモリは閾値‐QP LUT及びρ‐QP LUTを記憶する、請求項1記載のビデオ符号化デバイス。 The encoder is
Generate a threshold-QP LUT that maps the threshold to QP, and use the threshold-QP LUT to generate a ρ-QP LUT;
The video encoding device of claim 1, wherein the memory stores threshold-QP LUT and ρ-QP LUT.
全てのQP>Ti について、Q(Ci ,QP)=0
全てのQP≦Ti について、Q(Ci ,QP)≠0
であり、関数Q(Ci ,QP)は量子化パラメータQPを使用する所定の係数Ci の量子化演算を表す、請求項4記載のビデオ符号化デバイス。 The predetermined threshold (T i ) is
Q (C i , QP) = 0 for all QP> T i
Q (C i , QP) ≠ 0 for all QP ≦ T i
5. The video encoding device of claim 4, wherein the function Q (C i , QP) represents a quantization operation of the predetermined coefficient C i using the quantization parameter QP.
閾値を使用して量子化後の非ゼロ係数の数(ρ)をQPに写像するρ‐QP参照表(LUT)を生成することを含む、レート制御ビデオ符号化を提供する方法。 Calculating a threshold for the unquantized coefficients of the video block, where the threshold specifies when the quantized coefficients are non-zero for different quantization parameters (QP), and using the threshold to quantize A method for providing rate controlled video coding, including generating a ρ-QP lookup table (LUT) that maps a number of non-zero coefficients (ρ) to a QP.
閾値‐QP LUTを使用してρ‐QP LUTを生成することをさらに含む、請求項10記載の方法。 The method of claim 10, further comprising: generating a threshold-QP LUT that maps the threshold to a quantization parameter (QP); and generating the ρ-QP LUT using the threshold-QP LUT.
全てのQP>Ti について、Q(Ci ,QP)=0
全てのQP≦Ti について、Q(Ci ,QP)≠0
であり、関数Q(Ci ,QP)は量子化パラメータQPを使用する所定の係数Ci の量子化演算を表す、請求項10記載の方法。 The predetermined threshold (T i ) is
Q (C i , QP) = 0 for all QP> T i
Q (C i , QP) ≠ 0 for all QP ≦ T i
11. The method of claim 10, wherein the function Q (C i , QP) represents a quantization operation of a predetermined coefficient C i using a quantization parameter QP.
閾値を使用して量子化後の非ゼロ係数の数(ρ)をQPに写像するρ‐QP参照表(LUT)を生成する手段、を具備する装置。 Means for calculating a threshold for unquantized coefficients of a video block, wherein the threshold identifies when the quantization coefficient is non-zero for different quantization parameters (QP), and uses the threshold to quantize Means for generating a ρ-QP lookup table (LUT) that maps the number of non-zero coefficients (ρ) after conversion into QP.
閾値‐QP LUTを使用してρ‐QP LUTを生成する手段をさらに具備する、請求項19記載の装置。 20. The apparatus of claim 19, further comprising: means for generating a threshold-QP LUT that maps the threshold to a quantization parameter (QP); and means for generating a ρ-QP LUT using the threshold-QP LUT.
全てのQP>Ti について、Q(Ci ,QP)=0
全てのQP≦Ti について、Q(Ci ,QP)≠0
であり、関数Q(Ci ,QP)は量子化パラメータQPを使用する所定の係数Ci の量子化演算を表す、請求項22記載の装置。 The predetermined threshold (T i ) is:
Q (C i , QP) = 0 for all QP> T i
Q (C i , QP) ≠ 0 for all QP ≦ T i
23. The apparatus of claim 22, wherein the function Q (C i , QP) represents a quantization operation of a predetermined coefficient C i using a quantization parameter QP.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58696304P | 2004-07-08 | 2004-07-08 | |
US60/586,963 | 2004-07-08 | ||
US11/019,331 | 2004-12-21 | ||
US11/019,331 US7606427B2 (en) | 2004-07-08 | 2004-12-21 | Efficient rate control techniques for video encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006121657A true JP2006121657A (en) | 2006-05-11 |
JP5203554B2 JP5203554B2 (en) | 2013-06-05 |
Family
ID=35134809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005200593A Expired - Fee Related JP5203554B2 (en) | 2004-07-08 | 2005-07-08 | Efficient rate control technique for video coding |
Country Status (4)
Country | Link |
---|---|
US (1) | US7606427B2 (en) |
EP (1) | EP1615444A3 (en) |
JP (1) | JP5203554B2 (en) |
KR (1) | KR101185146B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010505354A (en) * | 2006-09-28 | 2010-02-18 | トムソン ライセンシング | Method for ρ-domain frame-level bit allocation for effective rate control and extended video coding quality |
JP2011514056A (en) * | 2008-02-22 | 2011-04-28 | クゥアルコム・インコーポレイテッド | Early macroblock delta QP decision |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060218482A1 (en) * | 2002-04-19 | 2006-09-28 | Droplet Technology, Inc. | Mobile imaging application, device architecture, service platform architecture and services |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
US20060256857A1 (en) * | 2005-05-16 | 2006-11-16 | Douglas Chin | Method and system for rate control in a video encoder |
US20060256858A1 (en) * | 2005-05-16 | 2006-11-16 | Douglas Chin | Method and system for rate control in a video encoder |
US8422546B2 (en) * | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US8179967B2 (en) * | 2005-07-05 | 2012-05-15 | Stmicroelectronics S.A. | Method and device for detecting movement of an entity provided with an image sensor |
US8055783B2 (en) * | 2005-08-22 | 2011-11-08 | Utc Fire & Security Americas Corporation, Inc. | Systems and methods for media stream processing |
US8761259B2 (en) * | 2005-09-22 | 2014-06-24 | Qualcomm Incorporated | Multi-dimensional neighboring block prediction for video encoding |
US8102878B2 (en) * | 2005-09-29 | 2012-01-24 | Qualcomm Incorporated | Video packet shaping for video telephony |
US8514711B2 (en) * | 2005-10-21 | 2013-08-20 | Qualcomm Incorporated | Reverse link lower layer assisted video error control |
US8842555B2 (en) * | 2005-10-21 | 2014-09-23 | Qualcomm Incorporated | Methods and systems for adaptive encoding of real-time information in packet-switched wireless communication systems |
US8406309B2 (en) * | 2005-10-21 | 2013-03-26 | Qualcomm Incorporated | Video rate adaptation to reverse link conditions |
US8548048B2 (en) * | 2005-10-27 | 2013-10-01 | Qualcomm Incorporated | Video source rate control for video telephony |
GB0522036D0 (en) * | 2005-10-28 | 2005-12-07 | Univ Hong Kong Science & Techn | Effective rate control for video encoding and transcoding |
US7929608B2 (en) * | 2006-03-28 | 2011-04-19 | Sony Corporation | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder |
US8077769B2 (en) * | 2006-03-28 | 2011-12-13 | Sony Corporation | Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach |
US7974340B2 (en) * | 2006-04-07 | 2011-07-05 | Microsoft Corporation | Adaptive B-picture quantization control |
US8130828B2 (en) * | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US8503536B2 (en) * | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
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 |
US8451897B2 (en) * | 2006-12-04 | 2013-05-28 | Atmel Corporation | Highly parallel pipelined hardware architecture for integer and sub-pixel motion estimation |
KR101370478B1 (en) * | 2007-01-10 | 2014-03-06 | 퀄컴 인코포레이티드 | Content-and link-dependent coding adaptation for multimedia telephony |
US20080205515A1 (en) * | 2007-01-25 | 2008-08-28 | Florida Atlantic University | Video encoding with reduced complexity |
US8238424B2 (en) * | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
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 |
US8150172B2 (en) * | 2007-05-04 | 2012-04-03 | Qualcomm Incorporated | Video coding mode selection using estimated coding costs |
EP2163097A2 (en) * | 2007-05-25 | 2010-03-17 | Arc International, Plc | Adaptive video encoding apparatus and methods |
US8331438B2 (en) * | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
US8797850B2 (en) * | 2008-01-10 | 2014-08-05 | Qualcomm Incorporated | System and method to adapt to network congestion |
US8189933B2 (en) * | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US9419620B2 (en) * | 2008-07-22 | 2016-08-16 | Nytell Software LLC | Field programmable object array and video compression processor for video data compression |
US8654859B1 (en) * | 2009-12-17 | 2014-02-18 | Ambarella, Inc. | Low cost rate-distortion computations for video compression |
WO2012044076A2 (en) * | 2010-09-28 | 2012-04-05 | 삼성전자 주식회사 | Video encoding method and device and decoding method and device |
JP2012124591A (en) * | 2010-12-06 | 2012-06-28 | Sony Corp | Image encoder and motion vector encoding method, image decoder and motion vector decoding method, and program |
ES2715704T3 (en) | 2011-03-09 | 2019-06-05 | Nec Corp | Video decoding device, video decoding method and video decoding program |
US20120307890A1 (en) * | 2011-06-02 | 2012-12-06 | Microsoft Corporation | Techniques for adaptive rounding offset in video encoding |
US9001267B2 (en) | 2011-11-11 | 2015-04-07 | Qualcomm Incorporated | Method and apparatus for tightly coupled, low power image processing |
FR3015163B1 (en) * | 2013-12-17 | 2017-04-28 | Tdf | METHOD OF ESTIMATING AN ENCODING RATE OF IMAGE OF AN IMAGE SEQUENCE, ENCODING METHOD, CORRESPONDING DEVICE AND COMPUTER PROGRAM |
JP2017513358A (en) * | 2014-03-17 | 2017-05-25 | ノキア テクノロジーズ オサケユイチア | Method and technology equipment for video encoding and decoding |
US10091504B2 (en) | 2015-01-08 | 2018-10-02 | Microsoft Technology Licensing, Llc | Variations of rho-domain rate control |
US10244250B2 (en) * | 2015-05-29 | 2019-03-26 | Samsung Electronics Co., Ltd. | Variable-rate texture compression using fixed-rate codes |
US10587880B2 (en) * | 2017-03-30 | 2020-03-10 | Qualcomm Incorporated | Zero block detection using adaptive rate model |
GB2570710B (en) * | 2018-02-05 | 2022-10-12 | Sony Corp | Data encoding and decoding |
EP3949405A4 (en) * | 2019-04-19 | 2022-07-27 | Huawei Technologies Co., Ltd. | Method and apparatus for division-free intra-prediction |
US12088823B2 (en) | 2020-11-03 | 2024-09-10 | Deepmind Technologies Limited | Rate control machine learning models with feedback control for video encoding |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781788A (en) * | 1995-05-08 | 1998-07-14 | Avc Technology, Inc. | Full duplex single clip video codec |
US6639942B1 (en) | 1999-10-21 | 2003-10-28 | Toshiba America Electronic Components, Inc. | Method and apparatus for estimating and controlling the number of bits |
US6300973B1 (en) * | 2000-01-13 | 2001-10-09 | Meir Feder | Method and system for multimedia communication control |
US6834080B1 (en) * | 2000-09-05 | 2004-12-21 | Kabushiki Kaisha Toshiba | Video encoding method and video encoding apparatus |
US20020122482A1 (en) | 2001-01-03 | 2002-09-05 | Kim Hyun Mun | Method of performing video encoding rate control using bit budget |
US20020118746A1 (en) | 2001-01-03 | 2002-08-29 | Kim Hyun Mun | Method of performing video encoding rate control using motion estimation |
US20020085633A1 (en) | 2001-01-03 | 2002-07-04 | Kim Hyun Mun | Method of performing video encoding rate control |
US6891889B2 (en) | 2001-09-05 | 2005-05-10 | Intel Corporation | Signal to noise ratio optimization for video compression bit-rate control |
EP1372113B1 (en) | 2002-06-11 | 2005-10-19 | STMicroelectronics S.r.l. | Variable bit rate video encoding method and device |
US7046729B2 (en) * | 2002-08-27 | 2006-05-16 | Ess Technology, Inc. | Bit rate control for motion compensated video compression system |
-
2004
- 2004-12-21 US US11/019,331 patent/US7606427B2/en not_active Expired - Fee Related
-
2005
- 2005-07-05 EP EP05014548A patent/EP1615444A3/en not_active Ceased
- 2005-07-06 KR KR1020050060614A patent/KR101185146B1/en active IP Right Grant
- 2005-07-08 JP JP2005200593A patent/JP5203554B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
JPN6011029340; Zhihai He, Mitra, S.K: 'rho-domain bit allocation and rate control for real time video coding' Image Processing, 2001. Proceedings. 2001 International Conference on , 20011007, p.546-549, IEEE * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010505354A (en) * | 2006-09-28 | 2010-02-18 | トムソン ライセンシング | Method for ρ-domain frame-level bit allocation for effective rate control and extended video coding quality |
KR101329860B1 (en) | 2006-09-28 | 2013-11-14 | 톰슨 라이센싱 | METHOD FOR ρ-DOMAIN FRAME LEVEL BIT ALLOCATION FOR EFFECTIVE RATE CONTROL AND ENHANCED VIDEO ENCODING QUALITY |
JP2011514056A (en) * | 2008-02-22 | 2011-04-28 | クゥアルコム・インコーポレイテッド | Early macroblock delta QP decision |
US8542730B2 (en) | 2008-02-22 | 2013-09-24 | Qualcomm, Incorporated | Fast macroblock delta QP decision |
Also Published As
Publication number | Publication date |
---|---|
EP1615444A2 (en) | 2006-01-11 |
US7606427B2 (en) | 2009-10-20 |
EP1615444A3 (en) | 2010-04-07 |
JP5203554B2 (en) | 2013-06-05 |
KR20060071289A (en) | 2006-06-26 |
US20060018552A1 (en) | 2006-01-26 |
KR101185146B1 (en) | 2012-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5203554B2 (en) | Efficient rate control technique for video coding | |
JP5175397B2 (en) | Efficient prediction mode selection | |
KR100974025B1 (en) | Two pass rate control techniques for video coding using rate-distortion characteristics | |
TWI408966B (en) | Different weights for uni-directional prediction and bi-directional prediction in video coding | |
US8340172B2 (en) | Rate control techniques for video encoding using parametric equations | |
KR100967993B1 (en) | Video encoding and decoding techniques | |
KR101377883B1 (en) | Non-zero rounding and prediction mode selection techniques in video encoding | |
KR100960249B1 (en) | Two pass rate control techniques for video coding using a min-max approach | |
CN102986211B (en) | Speed control in Video coding | |
US10284849B2 (en) | Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure | |
WO2006063191A2 (en) | Motion estimation techniques for video encoding | |
EP1862011A1 (en) | Adaptive frame skipping techniques for rate controlled video encoding | |
EP1653744A1 (en) | Non-integer pixel sharing for video encoding | |
KR100937616B1 (en) | Computationally constrained video encoding | |
US20100166075A1 (en) | Method and apparatus for coding video image | |
KR20050089838A (en) | Video encoding with skipping motion estimation for selected macroblocks | |
KR20040062257A (en) | Advanced method and apparatus for noise estimation based on motion compensation, and method and apparatus for encoding video using noise estimation based on motion compensation | |
JP2019507530A (en) | System and method for calculating distortion in display stream compression (DSC) | |
CN100581245C (en) | Efficient rate control techniques for video encoding | |
Koziri et al. | Power reduction in an H. 264 encoder through algorithmic and logic transformations | |
Son et al. | Enhanced Prediction Algorithm for Near-lossless Image Compression with Low Complexity and Low Latency | |
JP3520830B2 (en) | Prediction vector creation method and image encoding device | |
Pommer et al. | Fractal motion compensation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110906 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110909 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111005 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20111011 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111107 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120515 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120918 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121214 |
|
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: 20130115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5203554 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160222 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |