JP2006121657A - Efficient rate control technique for video encoding - Google Patents

Efficient rate control technique for video encoding Download PDF

Info

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
Application number
JP2005200593A
Other languages
Japanese (ja)
Other versions
JP5203554B2 (en
Inventor
Narendranath Malayath
ナレンドラナス・マラヤス
Stephen Molloy
スティーブン・モーロイ
Yong Chang
ヨン・チャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2006121657A publication Critical patent/JP2006121657A/en
Application granted granted Critical
Publication of JP5203554B2 publication Critical patent/JP5203554B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a rate control technique that can improve video encoding. <P>SOLUTION: The rate control technique exploits a relationship between the number of bits encoded per frame and the number of non-zero coefficients of the video blocks after quantization. The number of non-zero coefficients of the video blocks after quantization is referred to as rho (ρ). The value of ρ is generally proportional to the number of bits used in the video encoding. This disclosure utilizes a relationship between ρ and a quantization parameter (QP) in order to achieve rate controlled video encoding. More specifically, this disclosure provides a technique for generating a lookup table (LUT) that maps values of ρ to different QPs. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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 example system 10 in which a calling device 12 transmits a video data encoding sequence to a receiving device 14 via a communication line 15. Both the sending device 12 and the receiving device 14 are digital video devices. In particular, the transmitting device 12 is based on the MPEG-4 standard, ITU H.264 H.263 standard, ITU H.264 Encode video data that conforms to the video standard, such as the H.264 standard, or any of a wide variety of standards available for rate-controlled video encoding. One or both devices 12, 14 of the system 10 implement rate control techniques as described in more detail below to improve the video encoding process. Such rate control techniques are particularly useful for real-time transmission of video sequences over limited bandwidth communication lines 15, such as wireless communication lines.

通信回線15は無線回線、物理的伝送回線、ファイバ光学、構内情報通信網(LAN)のようなパケットによる網、広域網(WAN)、またはインターネットのような世界的な網(global network)、公衆交換電話網(PSTN)、またはデータを転送可能な他のあらゆる通信回線を含む。このように、通信回線15は発信デバイス12から受信デバイス14にビデオ・データを送るためのあらゆる適切な通信媒体、または恐らくは異なる網の集まりを表す。上記のように、通信回線15は回線15上でビデオ・シーケンスの実時間伝送のために非常に重要なレート制御を行い、帯域幅を制限してきた。   The communication line 15 is a wireless line, a physical transmission line, fiber optics, a packet network such as a local area network (LAN), a wide area network (WAN), a global network such as the Internet, or the public. Includes the switched telephone network (PSTN) or any other communication line that can transfer data. Thus, communication line 15 represents any suitable communication medium for sending video data from originating device 12 to receiving device 14, or perhaps a collection of different networks. As described above, the communication line 15 has performed very important rate control on the line 15 for real-time transmission of video sequences and has limited bandwidth.

発信デバイス12はビデオ・データを符号化し、且つ伝送することが可能なあらゆるディジタル・ビデオ・デバイスを含む。発信デバイス12はディジタル・ビデオ・シーケンスを記憶するビデオ・メモリ16、そのシーケンスを符号化するビデオ符号器18、及び符号化されたシーケンスを通信回線15上で受信デバイス14に伝送する送信器20を含む。ここに述べられたように、ビデオ符号器18は、例えば、様々なハードウェア、ソフトウェア或いはファームウェア、またはビデオ符号化技術を制御するプログラム可能なソフトウェア・モジュールを実行する一以上のディジタル信号プロセッサ(DSP)を含む。関連するメモリ及び論理回路はビデオ符号化技術を制御する際にDSPを支援するために提供される。   The originating device 12 includes any digital video device capable of encoding and transmitting video data. The originating device 12 includes a video memory 16 that stores the digital video sequence, a video encoder 18 that encodes the sequence, and a transmitter 20 that transmits the encoded sequence to the receiving device 14 over the communication line 15. Including. As described herein, video encoder 18 may include, for example, one or more digital signal processors (DSPs) that execute various hardware, software or firmware, or programmable software modules that control video encoding techniques. )including. Associated memory and logic circuitry is provided to assist the DSP in controlling the video encoding technique.

発信デバイス12はまたビデオ・シーケンスを取得し、且つ取得したシーケンスをメモリ16に記憶するために、ビデオ・カメラのようなビデオ取得デバイス(video capture device)23を含む。特に、ビデオ取得デバイス23は電荷結合素子(CCD)、電荷注入デバイス、フォトダイオード・アレイ、相補型金属酸化膜半導体(CMOS)デバイス、またはビデオ画像またはディジタル・ビデオ・シーケンスを取得することが可能な感光デバイスを含む。   The originating device 12 also includes a video capture device 23, such as a video camera, for acquiring the video sequence and storing the acquired sequence in the memory 16. In particular, the video acquisition device 23 can acquire charge coupled devices (CCD), charge injection devices, photodiode arrays, complementary metal oxide semiconductor (CMOS) devices, or video images or digital video sequences. Includes photosensitive devices.

さらなる例として、ビデオ取得デバイス23は、例えばテレビジョン、ビデオ・カセット・レコーダ、ビデオカメラ(camcorder)、または別のビデオ・デバイスから、アナログ・ビデオ・データをディジタル・ビデオ・データに変換するビデオ変換器(video converter)である。いくつかの実施例では、発信デバイス12は実時間ビデオ・シーケンスを通信回線15上で伝送するように構成される。そのような場合には、受信デバイス14は実時間ビデオ・シーケンスを受取り、ユーザーにそのビデオ・シーケンスを表示する。代りに、発信デバイス12は受信デバイス14にビデオ・データ・ファイルとして、即ち、実時間でなく送られるビデオ・シーケンス を取得し、且つ符号化する。このように、発信デバイス12及び受信デバイス14はビデオ遠距離通信、ビデオ・クリップ再生、ビデオ郵便、またはテレビ会議といったアプリケーションに、例えば、移動無線網において対応する。デバイス12及び14は図1に特に例示されない様々な他の要素を含む。   As a further example, video acquisition device 23 may convert video from analog video data to digital video data, eg, from a television, video cassette recorder, video camera (camcorder), or another video device. A video converter. In some embodiments, originating device 12 is configured to transmit a real-time video sequence over communication line 15. In such cases, receiving device 14 receives the real-time video sequence and displays the video sequence to the user. Instead, the originating device 12 obtains and encodes a video sequence that is sent to the receiving device 14 as a video data file, ie, not in real time. Thus, originating device 12 and receiving device 14 correspond to applications such as video telecommunications, video clip playback, video mail, or video conferencing, for example, in a mobile wireless network. Devices 12 and 14 include various other elements not specifically illustrated in FIG.

受信デバイス14はビデオ・データを受取り、且つ復号することが可能なあらゆるディジタル・ビデオ・デバイスの形をとる。例えば、受信デバイス14は、例えば、中間の回線、ルータ、他の網設備などを経由して、符号化ディジタル・ビデオ・シーケンスを送信器20から受取る受信器22を含む。受信デバイス14はまたそのシーケンスを復号するビデオ復号器24、及びそのシーケンスをユーザーに表示する表示デバイス(display device)26を含む。いくつかの実施例では、しかしながら、受信デバイス14は統合化表示デバイス26を含まない。そのような場合には、受信デバイス14は個別表示デバイス、例えば、テレビまたはモニタを駆動するために受信ビデオ・データを復号する受信器としての役をする。   The receiving device 14 takes the form of any digital video device capable of receiving and decoding video data. For example, the receiving device 14 includes a receiver 22 that receives an encoded digital video sequence from the transmitter 20 via, for example, intermediate lines, routers, other network equipment, and the like. The receiving device 14 also includes a video decoder 24 that decodes the sequence and a display device 26 that displays the sequence to the user. In some embodiments, however, the receiving device 14 does not include the integrated display device 26. In such cases, receiving device 14 serves as a receiver that decodes the received video data to drive a separate display device, eg, a television or monitor.

発信デバイス12及び受信デバイス14のデバイス例はコンピュータ網、ワークステーションまたは他のデスクトップ型計算デバイス、及びラップトップ・コンピュータまたは携帯情報機器(PDA)といった携帯式計算デバイスに置かれたサーバを含む。他の例では、ディジタル・テレビのようなディジタル・テレビ放送衛星及び受信デバイス、ディジタル・カメラ、ディジタル・ビデオ・カメラまたは他のディジタル記録デバイス、ビデオ機能を有する携帯電話のようなディジタル・ビデオ電話、ビデオ機能を持つ直接二重通信デバイス、他の無線ビデオ・デバイス、等々がある。   Examples of devices for sending device 12 and receiving device 14 include a computer network, a workstation or other desktop computing device, and a server located in a portable computing device such as a laptop computer or personal digital assistant (PDA). Other examples include digital television broadcast satellite and receiving devices such as digital television, digital cameras, digital video cameras or other digital recording devices, digital video phones such as mobile phones with video capabilities, There are direct dual communication devices with video capabilities, other wireless video devices, and so on.

いくつかの場合には、発信デバイス12及び受信デバイス14は各々ディジタル・ビデオ・データを符号化し、且つ復号するための符号器/復号器(コーデック)(示されない)を含む。特に、発信デバイス12及び受信デバイス14双方はメモリ及び表示のみならず送信器及び受信器を含む。下記で概説される多くの符号化技術は符号器を含むディジタル・ビデオ・デバイスとの関連で記述される。しかしながら、その符号器がコーデックの一部を形成することは当然である。その場合には、コーデックはハードウェア、ソフトウェア、ファームウェア、DSP、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラム可能ゲート・アレイ(FPGA)、個別のハードウェア部品、またはその様々な組合せにおいて実施される。   In some cases, originating device 12 and receiving device 14 each include an encoder / decoder (codec) (not shown) for encoding and decoding digital video data. In particular, both the sending device 12 and the receiving device 14 include a transmitter and a receiver as well as a memory and a display. Many of the encoding techniques outlined below are described in the context of a digital video device that includes an encoder. However, it is natural that the encoder forms part of the codec. In that case, the codec may be hardware, software, firmware, DSP, microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), individual hardware components, or various combinations thereof. Implemented in

発信デバイス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ビデオ・ブロックからより大きなビデオ・ブロックを再構成する。   Video encoder 18 within originating device 12 operates on blocks of pixels in a series of video frames to encode video data. For example, video encoder 18 performs motion estimation and motion compensation techniques, in which a video frame transmitted therein is divided into blocks of pixels (referred to as video blocks). Video blocks include blocks of any size and vary within a video sequence for illustrative purposes. As an example, 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. The use of smaller video blocks in video encoding can achieve better resolution in encoding, especially for video frame locations that contain high levels of detail. In addition, video encoder 18 is designed to operate on 4 × 4 video blocks and reconstruct larger video blocks from 4 × 4 video blocks as needed.

ビデオ・ブロック中の各ピクセルは様々な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 video encoder 18 of the originating device 12 sends a previous video frame (or subsequent video frame) that has already been transmitted to identify a similar video block called the predictive video block. Motion estimation is performed by searching for video blocks stored in memory 16 for (frame). In some cases, the predicted video block includes a “best prediction” from the previous or subsequent video frame, but the invention is not limited in that respect. Video encoder 18 performs motion compensation to create a difference block that represents the difference between the current video block to be encoded and the best prediction. Motion compensation usually refers to the process of taking the best predictive video block that uses motion vectors and then subtracting the best prediction from the input block to generate a difference block.

動き補償処理が差分ブロックを作成した後、一連の追加符号化手続きが差分ブロックを符号化するために一般的に行われる。これらの追加符号化手続きは使用される符号化規格に依存する。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, video encoder 18 encodes the difference between adjacent frames. Such techniques can significantly reduce the amount of data that needed to accurately represent each frame of the video sequence.

動きベクトルは符号化されるビデオ・ブロックの左上手隅部に関してピクセル場所を定義するが、動きベクトルについて他のフォーマットも使用することができる。いずれにせよ、動きベクトルを使用してビデオ・ブロックを符号化することによって、ビデオ・データのストリームの伝送のために必要な帯域幅は著しく低減することができる。   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, video encoder 18 may support intraframe coding in addition to interframe coding. Intraframe coding utilizes intraframe similarity, called spatial or intraframe correlation, to further compress video frames. Intraframe coding is based on texture coding for compressing still images, such as discrete cosine transform (DCT) coding. Intraframe coding is often used with interframe compression, but is also used as an alternative in some implementations.

受信デバイス14の受信器22は動きベクトルの形式の符号化ビデオ・データ、及び符号化されたビデオ・ブロックと動き推定において使用された最良予測との間の符号化差分を示す符号化差分ブロックを受取る。いくつかの場合には、しかしながら、動きベクトルではなく、動きベクトルと以前に計算された動きベクトル予測器(MVP)との間の差分が伝送される。いずれにせよ、復号器24は表示のために表示デバイス26経由でユーザーへのビデオ・シーケンスを生成するためにビデオデ復号を行うことができる。受信デバイス14の復号器24はまた符号器/復号器(コーデック)として実装される。その場合には発信デバイス12及び受信デバイス14双方はディジタル・ビデオ・シーケンスを符号化し、伝送し、受取り、且つ復号することが可能である。   The receiver 22 of the receiving device 14 receives encoded video data in the form of motion vectors and an encoded difference block that indicates the encoded difference between the encoded video block and the best prediction used in motion estimation. Receive. In some cases, however, the difference between the motion vector and the previously calculated motion vector predictor (MVP) is transmitted instead of the motion vector. In any case, the decoder 24 can perform video decoding to generate a video sequence to the user via the display device 26 for display. The decoder 24 of the receiving device 14 is also implemented as an encoder / decoder (codec). In that case, both the sending device 12 and the receiving device 14 can encode, transmit, receive and decode the digital video sequence.

この発明に従って、ビデオ符号器18は効率的なレート制御符号化を達成するために動的な方法で量子化パラメータ(QP)を選択する。ビデオ符号器はロー(ρ)の値をビデオ符号化に使用される量子化パラメータ(QP)に写像するために、ビデオ・ブロックまたはビデオ・フレームに基づいて参照表(LUT)を生成する。量ρは量子化の後のビデオ・ブロックの非ゼロ係数の数を表し、ビデオ符号化に使用されるビットの数に一般的に比例する。従って、ビデオ符号器18はレート制御ビデオ符号化を達成するためにρとQPとの間の関係を利用する。もっと明確には、ビデオ符号器18はρの値を異なるQPに写像する参照表(LUT)を生成するための技術を実行する。ρはおおよそ一次的にレートと関係があるので、ρ‐QP LUTは効率的なレート制御ビデオ符号化をもたらすQPを選択するために使用することができる。ρ‐QP LUTはまたρ(QP)としてここにラベル付される。   In accordance with the present invention, video encoder 18 selects a quantization parameter (QP) in a dynamic manner to achieve efficient rate control coding. The video encoder generates a look-up table (LUT) based on the video block or video frame to map the value of rho (ρ) to the quantization parameter (QP) used for video encoding. The quantity ρ represents the number of non-zero coefficients of the video block after quantization and is generally proportional to the number of bits used for video coding. Thus, video encoder 18 utilizes the relationship between ρ and QP to achieve rate controlled video encoding. More specifically, video encoder 18 implements a technique for generating a look-up table (LUT) that maps the values of ρ to different QPs. Since ρ is roughly linearly related to the rate, the ρ-QP LUT can be used to select a QP that yields efficient rate-controlled video coding. The ρ-QP LUT is also labeled here as ρ (QP).

図2はデバイス30の典型的なブロック図で、それは発信デバイス12に対応する。一般に、デバイス30は、ここに示されたように、レート制御符号化技術を実行することが可能なディジタル・ビデオ・デバイスを含む。デバイス30はMPEG‐4、ITU H.263、ITU H.264、フレーム間ビデオ符号化に関する動き推定及び動き補償技術に対応する別のビデオ符号化規格といったビデオ符号化規格に適合する。   FIG. 2 is an exemplary block diagram of device 30, which corresponds to originating device 12. In general, device 30 includes a digital video device capable of performing rate control coding techniques as shown herein. The device 30 is MPEG-4, ITU H.264, or the like. 263, ITU H.264. H.264, conforms to video coding standards such as another video coding standard corresponding to motion estimation and motion compensation techniques for inter-frame video coding.

図2に示されたように、デバイス30はビデオ・シーケンスを符号化する装置32、及び符号化の前後にビデオ・シーケンスを記憶するビデオ・メモリ34を含む。デバイス30は符号化されたシーケンスを別のデバイスに伝送する送信器36、及び恐らくはビデオ・シーケンスを取得し、且つ取得されたシーケンスをメモリ34に記憶する、ビデオ・カメラのようなビデオ取得デバイス38を含む。デバイス30の様々な要素は通信バス35によって通信可能に接続される。フレーム内符号器要素、様々なフィルタ、または他の要素といった様々な他の要素はまたデバイス30に含まれるが、簡単にするために特に例示されない。   As shown in FIG. 2, device 30 includes an apparatus 32 for encoding a video sequence and a video memory 34 for storing the video sequence before and after encoding. A device 30 transmits a coded sequence to another device, and a video acquisition device 38, such as a video camera, that acquires a video sequence and possibly stores the acquired sequence in a memory 34. including. Various elements of the device 30 are communicatively connected by a communication bus 35. Various other elements, such as intra-frame encoder elements, various filters, or other elements, are also included in device 30, but are not specifically illustrated for simplicity.

ビデオ・メモリ34は一般的に比較的大きなメモリ空間を含む。ビデオ・メモリ34は、例えば、ダイナミック・ランダム・アクセス・メモリ(DRAM)またはフラッシュ(FLASH)メモリを含む。他の例では、ビデオ・メモリ34は不揮発性メモリまたは他のデータ記憶デバイスを含む。   Video memory 34 typically includes a relatively large memory space. Video memory 34 includes, for example, dynamic random access memory (DRAM) or flash (FLASH) memory. In other examples, video memory 34 includes non-volatile memory or other data storage devices.

ビデオ符号化装置32はハードウェア、ソフトウェア、ファームウェア、及び/またはプロセッサもしくはディジタル信号プロセッサ(DSP)の組合せを含め、携帯無線電話に関するチップ・セットを含む。ビデオ符号化装置32は局所メモリ37に接続された符号器28を一般的に含む。局所メモリ37はビデオ・メモリ34と比較してさらに小さく、且つさらに速いメモリ空間を含む。一例として、局所メモリ37は同期ランダム・アクセス・メモリ(SRAM)を含む。局所メモリ37はプロセッサ集中的符号化処理の間データへ非常に速くアクセスするようにビデオ符号化装置32の他の要素と共に集積化された「オン・チップ」メモリを含む。所定のビデオ・フレームの符号化の間、符号化される現在のビデオ・ブロックはビデオ・メモリ34から局所メモリ37へ搭載される。最良予測を設置する際に使用される探索空間はまたビデオ・メモリ34から局所メモリ37へ搭載される。   Video encoding device 32 includes a chip set for a portable radiotelephone, including a combination of hardware, software, firmware, and / or a processor or digital signal processor (DSP). Video encoder 32 generally includes an encoder 28 connected to a local memory 37. Local memory 37 is smaller and contains faster memory space compared to video memory 34. As an example, the local memory 37 includes a synchronous random access memory (SRAM). Local memory 37 includes "on-chip" memory integrated with the other elements of video encoder 32 for very fast access to data during the processor intensive encoding process. During the encoding of a given video frame, the current video block to be encoded is loaded from video memory 34 into local memory 37. The search space used in setting the best prediction is also loaded from the video memory 34 to the local memory 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 local memory 37 carries a search space containing the current video block to be encoded and some or all of one or more video frames used in interframe encoding. Motion estimator 40 compares the current video block with various video blocks in the search space to identify the best prediction. In some instances, a proper match for coding is identified earlier without specifically examining all possible candidates, in which case a proper match may be appropriate for efficient video coding. May not actually be the "best" prediction. In general, the phrase “predictive video block” refers to an appropriate match, which is the best prediction.

動き推定器40は符号化される現在のビデオ・ブロックとメモリ37の探索空間内の候補ビデオ・ブロックとの間で比較を行う。いくつかの場合には、候補ビデオ・ブロックは部分補間(fractional interpolation)のために生成された非整数ピクセル値を含む。一例として、動き推定器40は候補ビデオ・ブロックに関する差分値を定義するために、絶対差分和(sum of absolute difference:SAD)技術、二乗差分和(sum of squared difference:SSD)技術、または比較技術を実行する。より低い差分値は候補ビデオ・ブロックがより良い合致であることを一般的に示し、このように動き推定符号化において使用する他の候補ビデオ・ブロックよりも良い候補がより高い差分値をもたらす。   Motion estimator 40 performs a comparison between the current video block to be encoded and the candidate video blocks in the search space of memory 37. In some cases, the candidate video block includes non-integer pixel values generated for fractional interpolation. As an example, motion estimator 40 may use a sum of absolute difference (SAD) technique, a sum of squared difference (SSD) technique, or a comparison technique to define difference values for candidate video blocks. Execute. A lower difference value generally indicates that the candidate video block is a better match, and thus better candidates than other candidate video blocks used in motion estimation coding yield a higher difference value.

最終的に動き推定器は「最良予測」を特定し、それは符号化されるビデオ・ブロックに最も綿密に合致する候補ビデオ・ブロックである。しかしながら、多くの場合、適切な合致は最良の予測の前に位置していることは当然かもしれず、それらの場合には、適切な合致が符号化のために使用される。さらに、予測ビデオ・ブロックは適切な合致を参照し、それは最良の予測である。   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 motion estimator 40, motion compensator 42 creates a difference block that indicates the difference between the current video block and the best prediction. The difference block encoder 44 further encodes the difference block to compress the difference block, and to identify which candidate video block was used for encoding from the search space, the encoded difference block is It is sent to another device along with the motion vector (or the difference between the motion vector and the motion vector estimator). For simplicity, the specific component components will vary depending on the corresponding specific standard, so the additional component components used to perform the encoding after motion compensation are the difference block encoder 44. Generalized as: In other words, the difference block encoder 44 performs one or more conventional encoding techniques on the difference block, which is generated as shown here.

動き推定及び動き補償を含め、符号化処理は非常に計算集中的である。しかしながら、レート制御を行うために必要な計算の数は制限することができる。そのようなレート制御を行うために、ビデオ符号器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 rate control unit 46. Rate control unit 46 utilizes the relationship between the number of bits encoded per frame and the number of non-zero coefficients of the quantized video block. The value of ρ representing the number of non-zero coefficients of the video block after quantization is the number of bits encoded per frame (and thus the number of bits encoded per second at a constant frame rate). Generally proportional. Thus, rate control unit 46 utilizes the relationship between ρ and QP to achieve rate controlled video coding. More specifically, rate control unit 46 generates one or more LUTs to map the value of ρ to different QPs. The QP can then select for the desired value of ρ corresponding to the desired rate for video coding.

下記でさらに詳細に述べられるように、ビデオ符号器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 rate control unit 46 of the video encoder 28 calculates a threshold for the unquantized coefficients of the video block, where the threshold is for quantization parameters (QP) with different quantization coefficients. Identify when non-zero. The rate control unit 46 then uses the threshold to generate a ρ-QP LUT that maps the number of non-zero coefficients after quantization to QP. The local memory 37 stores the ρ-QP LUT. In a more specific embodiment, rate control unit 46 of video encoder 28 generates a threshold-QP LUT that maps the threshold to QP and uses the threshold-QP LUT to generate a ρ-QP LUT. LUT 48 generally represents one or more LUTs, such as a ρ-QP LUT and possibly a threshold-QP LUT used to generate a ρ-QP LUT, as outlined herein.

ρ‐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ρ + B Formula 1
In Equation 1 above, parameter B can be considered non-texture information, and parameter A can be considered the average number of bits required to encode the non-zero coefficients. Parameters A and B can be estimated from the values of R and ρ from the previous frame. From Equation 1 above, given R, it is fairly simple to estimate ρ. FIG. 3 is a plot of ρ for the number of bits used per frame and the different frames. As can be seen from FIG. 3, the relationship between R and ρ is approximately linear.

従って、レート制御技術はρの所望の値を生じるQP値を選択することができる。そのようなQP値を選択するために、しかしながら、使用される規格に対応する許容可能な各 QPに由来するであろう非ゼロ係数の数を知る必要がある。変換係数がTによって与えられ、且つ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:

Figure 2006121657
によって与えられ、ここで
f(T,SQP)=1 (|T+rqp|≧SQPであれば)
=0 (それ以外)
上記の式2では、ステップ・サイズSQP及び丸め因数(rounding factor)rqpは次の要件に依存する:
1.符号化規格、例えば、ITU H.264、MPEG‐4またはITU H.263、
2.フレーム内符号化またはフレーム間符号化のいずれかが実行されている、及び
3.係数指標(coefficient index)。
Figure 2006121657
Where f (T i , S QP ) = 1 (if | T i + r qp | ≧ S QP )
= 0 (other than that)
In Equation 2 above, the step size S QP and the rounding factor r qp depend on the following requirements:
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の全ての可能な値について繰返す必要がある。特定の量子化パラメータρがゼロであれば、ρは全てのより大きな量子化パラメータ値についてゼロにとどまることを保証され、従って計算する必要がない。換言すれば、ρ(QP)=0であれば、全てのQP>QPについてρ(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). Equation 2 used to generate the ρ-QP table can be implemented by adders and comparators. The table entry ρ (QP) needs to be calculated for all values of QP. QP ranges from 1 to 31 for MPEG-4; H.264 ranges from 0 to 51. The calculation generally needs to be repeated for all possible values of QP. If a particular quantization parameter ρ is zero, ρ is guaranteed to remain zero for all larger quantization parameter values and therefore need not be calculated. In other words, if ρ (QP i ) = 0, ρ (QP) = 0 for all QP> QP i .

マクロブロックから得られたρ‐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:現在のフレームのビット量Rを推定する。
手続き2:上記の式1を使用して対応するρを推定する。最初のフレームについてはA及びBに関する初期値を使用する。
手続き3:ρ(QP)を使用して、ρに最も近いρを与えるQP=QPを選択する。
手続き4(a):マクロブロック・レベルのレート制御初期化:ρ=0;i=0を行う、ここでNはフレームごとのマクロブロックの数で、iはマクロブロック指数である。
手続き4(b):ρ=(ρ−ρ)/(N−i)。 ρ(QP)を使用して、ρに最も近いρを与えるQP=QPを選ぶ。ρ(QP)はρ(QP)の尺度化された版であるか、もしくは前のマクロブロックから推定することができる。その変動が前のマクロブロックから[−2 +2]以内にあるようにQPをクランプする(MPEG4の場合)。
手続き4(c):各々のQPについて、上記の式2を使用してρ(QP)を計算する。
手続き4(d):各々のQPについて、ρ(QP)をρ(QP)+ρ(QP)と置替える。
手続き4(e):ρ(QP)をρ(QP)+ρ(QP)と置替える。iをi+1と置替える。
手続き4(f):(i<N)までは手続き4(b)に戻る(loop)。
手続き5:ρ(QP)をρ(QP)と置替える。ρ及び現在のフレームにおいて費やされるテクスチャ・ビット(R)及び非テクスチャ・ビット(R)を使用して、A及びBを再推定する。B=R及びA=(R/ρ)。
手続き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 Equation 2 above.
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 = 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 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, circuit 400 receives DCT (i) as an input. DCT (i) is a discrete cosine transform coefficient having an index (i). Block 401 generates the absolute value of DCT (i), which is sent to adder 402. The absolute value of DCT (i) is then added to the output of multiplexer 403. Multiplexer 403 selects one of three values. The inputs to the multiplexer 403 are the dc_scaler value shifted to the right by 1 and the negative quantization parameter QP shifted to the right by 1. Multiplexer 403 selects the dc_scaler value shifted to the right by 1 when both I and DC are 1, selects 0 when I is 1 and DC is 0, and 1 when I is 0 regardless of the value of DC. Only the negative quantization parameter QP shifted to the right is selected. The value of I is 1 when the input block is an intra block and 0 when the input block is an inter block. The value of DC is 1 when the input parameter is DC, and 0 when the input parameter is AC. The DC coefficient represents the average value of the video block, while the AC coefficient is the remaining coefficient of the video block.

マルチプレクサ403の出力は加算器402によってブロック401の出力に加えられる。そして、ブロック404は加算器402の出力の絶対値を生成し、この値の負数を入力として加算器405に提供し、それはマルチプレクサ406の出力に加えられる。マルチプレクサ406は dc_scaler 値、及び1だけ左に移行した量子化パラメータQPを受取る。マルチプレクサ406はI及びDCが双方共1のとき dc_scaler 値を出力として選択し、他の場合には1だけ左に移行した量子化パラメータQPを出力として選択する。   The output of multiplexer 403 is added to the output of block 401 by adder 402. Block 404 then generates the absolute value of the output of adder 402 and provides the negative value of this value as an input to adder 405, which is added to the output of multiplexer 406. Multiplexer 406 receives the dc_scaler value and quantization parameter QP shifted to the left by one. The multiplexer 406 selects the dc_scaler value as an output when both I and DC are 1, and in other cases selects the quantization parameter QP shifted to the left by 1 as an output.

加算器405はブロック404の出力をマルチプレクサ406の出力から減算する。ブロック407は加算器405の出力の12番目のビット(正負記号ビット)を調べ、このビットを加算器408に提供する。ブロック409は正負記号ビットを前の各入力に加えることによってρ(QP)表を累積する。このように、加算器408及びρ(QP)表はρ(QP)表を生成する累算器として集合的に見なすことができる。回路400はこれらの計算をI=1から63まで、及びQP=1から31まで繰返す。   Adder 405 subtracts the output of block 404 from the output of multiplexer 406. Block 407 examines the twelfth bit (positive / negative sign bit) of the output of adder 405 and provides this bit to adder 408. Block 409 accumulates the ρ (QP) table by adding positive and negative sign bits to each previous input. Thus, the adder 408 and the ρ (QP) table can be viewed collectively as an accumulator that generates the ρ (QP) table. Circuit 400 repeats these calculations from I = 1 to 63 and QP = 1 to 31.

ITU H.264準拠符号器では、量子化ステップは変換の係数依存スケーリングと結合される。これはρ(QP)表の計算をさらに複雑にする。その量子化は次の式を用いて実施することができる。
ij=(MWij+A)>>S 式3
ここで、Fij は量子化係数で、Wij は量子化されない変換係数である。乗算因数M、加算因数A、及び移行因数SはQP、係数指標i、j、イントラ予測モードに依存し、及びブロックが明度或いは色度のいずれであるかにも依存する。式3から、量子化された値Fij は:
ij>=(2−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) >> S Equation 3
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 Equation 3, the quantized value F ij is:
W ij > = (2 S −A) / M Equation 4
> = C
Will only be non-zero.
Where S = 16 + (QP / 6) (Intra 16 × 16 DC and chromaticity)
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, QP% 6 is the same as QP MOD 6, which divides QP by 6 and gives the remainder of the division. The dependence of M on the exponent is due to the fact that the integer transformation absorbs the necessary scaling by the integer transformation. The following Table 1 shows the value of M. In particular, Table 1 lists multiplier values (also called multiplication factors) M for various indices and QP% 6.

Figure 2006121657
式4から、量子化されない値 Wij がCより大きいか等しければ、結果は非ゼロ係数であることに気付くであろう。式4の右辺は分数であるから、Wij が比較される整数値は:
Figure 2006121657
From Equation 4, if the unquantized value W ij is greater than or equal to C, you will notice that the result is a non-zero coefficient. Since the right side of Equation 4 is a fraction, the integer value to which W ij is compared is:

Figure 2006121657
によって与えられる。次の表2はイントラ及びインター・マクロブロックについて様々な指数及びQP%6に関する比較器値Cの表である。
Figure 2006121657
Given by. The following Table 2 is a table of comparator values C for various indices and QP% 6 for intra and inter macroblocks.

Figure 2006121657
特に、表2は様々なQP%6についてS=24の最大移行値に関する比較器値Cを与える。これらの値は36×13ROM中に縦列ごとに左から右へ記憶することができる。図5A及び5BはITU H.264規格に従ってρ(QP)表を計算するために使用できる典型的な回路構成を例示する回路図である。
Figure 2006121657
In particular, Table 2 gives the comparator value C for the maximum transition value of S = 24 for various QP% 6. These values can be stored from left to right for each column in a 36 × 13 ROM. 5A and 5B show ITU H.264. 2 is a circuit diagram illustrating an exemplary circuit configuration that can be used to calculate a ρ (QP) table according to the H.264 standard. FIG.

図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 value 15 is added to the value QP / 6 by the adder 501. The output of adder 502 is provided to multiplexer 505 in the same manner as the output of adder 501, which adds 1 to the output of adder 501. The output of the multiplexer 505 is selected based on control signals from the AND gate 503 and the OR gate 504. Inputs i and j to the AND gate 503 are exponent values of input coefficients and are inverted. The input to OR gate 504 indicates whether the current block is an intra block and whether the current block is a chromaticity block. When both inputs to the multiplexer 505 are 1, the output of the adder 502 is selected by the multiplexer, otherwise the output of the adder 501 is selected. The output S of circuit 500 is used by circuit 600 of FIG. 5B.

図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 multiplexer 603 selects one of the values 0, 1 and 2 based on the input signals from the AND gate 601 and the NOR gate 602. The inputs to gates 601 and 602 are the zeroth bit of the index coefficient in i and j dimensions, respectively. If the output of gate 601 is zero and the output of gate 602 is 1, the value 0 is selected by multiplexer 603. If the output of gate 601 is 1 and the output of gate 602 is zero, the value 1 is selected by multiplexer 603. If the output of gate 601 is zero and the output of gate 602 is zero, the value 2 is selected by multiplexer 603.

マルチプレクサ604はマルチプレクサ603の出力を6で乗算し、この値をメモリ605及び606に入力する。IROM605はイントラ・ブロックに対応し、PROM606はインター・ブロックに対応する。インター・ブロックが処理されているとき、マルチプレクサ607への入力値Pは1である。   The multiplexer 604 multiplies the output of the multiplexer 603 by 6 and inputs this value to the memories 605 and 606. The IROM 605 corresponds to an intra block, and the PROM 606 corresponds to an inter block. When the inter block is being processed, the input value P to multiplexer 607 is one.

マルチプレクサ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 multiplexer 607 selects one of the memories 605 and 606 based on the input P. The output of multiplexer 607 is provided to adder 608. The value S from the circuit of FIG. The value 511 is shifted right by the result of (15-S) by block 609 and the output of block 609 is provided to adder 608. Adder 608 sums the outputs of block 609 and multiplexer 607. The output of adder 608 is then shifted to the right by 24-S, which is represented by variable C, representing the comparator value, and value C is provided to adder 611. The value W ij represents the input coefficient. Block 612 generates the absolute value of value W ij , which is subtracted from value C by adder 611.

ブロック613は加算器611の出力の正負記号ビット(15番目のビット)を生成する。そして、正負記号ビットは加算器614に提供される。ブロック615は正負記号ビットを前の各入力に加えることによってρ(QP)表に累積する。このように、加算器614及びρ(QP)表ブロック615はρ(QP)表を生成する累算器として集合的に見なすことができる。回路500及び600はこれらの計算をi、j=1から3まで、及びQP=1から51まで繰返す。   Block 613 generates the sign bit (15th bit) of the output of adder 611. The sign bit is then provided to adder 614. Block 615 accumulates in the ρ (QP) table by adding a sign bit to each previous input. Thus, adder 614 and ρ (QP) table block 615 can be viewed collectively as an accumulator that generates a ρ (QP) table. Circuits 500 and 600 repeat these calculations from i, j = 1 to 3, and QP = 1 to 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 Equation 5. In addition, many of the circuit configurations illustrated in FIGS. Already placed in a hardware element that performs forward quantization according to the H.264 standard. The accumulation shown in FIGS. 5A and 5B is repeated for all lightness and chromaticity blocks (16 lightness and 8 chromaticity blocks).

上記で述べられ、図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 Equation 6
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.

Figure 2006121657
下記の表4はMPEG‐4のイントラ係数に関する閾値を求めるための典型的な一つの参照表(LUT)である。
Figure 2006121657
Table 4 below is a typical look-up table (LUT) for determining a threshold value for an MPEG-4 intra coefficient.

Figure 2006121657
特に、ハードウェアを考慮し表を使用してMPEG‐4の閾値計算を実施することが必要であれば、インター及びイントラ係数に関する典型的入力は表3及び表4においてそれぞれ与えられる。
ITU H.264規格について、ITU H.264規格では、除数はQPに依存しているだけでなく、他の因数にも依存しているので、量子化されない係数からの閾値の直接計算はさらに難しい。ITU H.264規格に従って閾値を計算するために使用できる一つの一般的なハードウェア構造は図7に示される。
Figure 2006121657
In particular, if it is necessary to implement the MPEG-4 threshold calculation using tables taking into account hardware, typical inputs for inter and intra coefficients are given in Tables 3 and 4, respectively.
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 . Block 702 limits the absolute value of W ij to 2047 and sends its output to adder 707. The output of block 702 is also shifted right by 5 by block 703. The output of block 703 is an input signal to multiplexer 704. The most significant bit of the input to multiplexer 704 is used to select the output from the values 0, 1, 2, 3, 4, 5 and 6.

加算器705はマルチプレクサ704の出力から1を減算する。そして、加算器705の出力は1だけ左に移行される。ブロック706の出力は加算器707に提供され、ブロック702の出力に加えられる。そして、加算器707の出力はマルチプレクサ704によって出力された値だけ右に移行される。ブロック709はブロック708の値を31に制限する。そして、ブロック709の出力はアドレス生成器710に提供される。   Adder 705 subtracts 1 from the output of multiplexer 704. The output of the adder 705 is shifted to the left by 1. The output of block 706 is provided to adder 707 and added to the output of block 702. Then, the output of the adder 707 is shifted to the right by the value output by the multiplexer 704. Block 709 limits the value of block 708 to 31. The output of block 709 is then provided to address generator 710.

アドレス生成器710はLUT711によって使用されるアドレスを生成する。特に、アドレス生成器710はLUT711に供給されるアドレスを生成するためにi、j及びイントラと同様にブロック709の出力を受取る。LUT711の例は下記の表6及び7において提供される。表6はイントラ値に関するLUTを表し、表7はインター値に関するLUT例を表す。アドレス生成器710へのそれぞれの入力値はLUTの一つの特定値に写像することができる。アドレス(addr)が与えられると、適切なデータがLUT711から選択される。   Address generator 710 generates the address used by LUT 711. In particular, address generator 710 receives the output of block 709 as well as i, j, and intra to generate an address that is provided to LUT 711. Examples of LUT 711 are provided in Tables 6 and 7 below. Table 6 shows LUTs related to intra values, and Table 7 shows LUT examples related to inter values. Each input value to the address generator 710 can be mapped to one specific value in the LUT. Given an address (addr), the appropriate data is selected from the LUT 711.

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 LUT 711 is provided to adder 717. The output of multiplexer 704 is also provided to multiplexer 715. Adder 712 subtracts 1 from the output of multiplexer 704 and provides this value to multiplexer 715 as the other output. The output of the multiplexer 715 is selected based on control signals from the AND gate 713 and the OR gate 714. Inputs i and j to the AND gate 713 are exponent values of input coefficients and are inverted. The input to OR gate 714 indicates whether the current block is an intra block and whether the current block is a chromaticity block. The output of adder 712 is selected by the multiplexer when both inputs to multiplexer 715 are 1, otherwise the output of multiplexer 704 is selected by multiplexer 715.

そして、マルチプレクサ715の出力は乗算器716によって6で乗算される。乗算器716の出力は加算器717によって選択されたLUT711の一つの出力によって加算される。加算器717の出力はブロック718によって下限が0及び上限が52に制限される。回路700の出力は量子化パラメータ閾値QPである。値QPは、下記で論ずるように、図9の回路900への入力として使用される。 The output of the multiplexer 715 is multiplied by 6 by the multiplier 716. The output of the multiplier 716 is added by one output of the LUT 711 selected by the adder 717. The output of adder 717 is limited by block 718 to a lower limit of 0 and an upper limit of 52. The output of circuit 700 is a quantization parameter threshold QP T. The value QP T is used as an input to the circuit 900 of FIG. 9, as discussed below.

図7のハードウェア回路図では、制限因数Lは量子化されない係数の絶対値を量子化のために使用される最大の除数以下に制限するために使用される。Lより大きいWij について、τij(QP)が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 .

Figure 2006121657
いくつかの実施例では、2の累乗である最大制限値(2047)が共通のクリップ因数として使用される。LUTは僅か32個の入力値[0〜31]について記憶することができる。ITU H.264では、量子化ステップ・サイズ(除数)はQPが6増えるごとに二倍になる。従って、入力値を写像するために、クリップされた入力を0と31の間の数に変換するであろう(2の累乗である)最小除数 D=2が計算されることになる。これは入力を32で除算し、且つ出力を表すために使用される数を計数する(シフト・レジスタ及びマルチプレクサで実施される)ことによって行われる。そして、クリップされた値はSだけ下に移行される。この除算が丸めによって行われれば、参照における誤差はあまり偏らないであろう。図8A及び8Bは閾値LUTのアドレス計算に使用される偏り(bias)を丸める効果を例示するグラフである。
Figure 2006121657
In some embodiments, a maximum limit value (2047) that is a power of 2 is used as a common clip factor. The LUT can store only 32 input values [0-31]. ITU H. In H.264, the quantization step size (divisor) doubles for every QP increased by 6. Thus, to map the input value, the minimum divisor D = 2 S (which is a power of 2) will be calculated which will convert the clipped input to a number between 0 and 31. This is done by dividing the input by 32 and counting the number used to represent the output (implemented with shift registers and multiplexers). The clipped value is shifted down by S. If this division is done by rounding, the error in the reference will not be very biased. 8A and 8B are graphs illustrating the effect of rounding the bias used in the address calculation of the threshold LUT.

移行因数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.

Figure 2006121657
Figure 2006121657

Figure 2006121657
さらに閾値‐QP表の作成を簡単化するために、T(QP)表を形成するため全ての係数上で閾値QPを累積するハードウェアが設計される。T(QP)表を形成するため閾値QPを累積するために使用できる典型的な回路構成は図9で示される。
Figure 2006121657
In addition, to simplify the creation of the threshold-QP table, hardware is designed that accumulates the threshold QP on all coefficients to form a T (QP) table. A typical circuit configuration that can be used to accumulate the threshold QP to form a T (QP) table is shown in FIG.

図9に示されたように、回路900は量子化パラメータ閾値QP入力を受取る。加算器901はQPから30を減算し、この値を色度QP LUT902に提供し、その例は表8において提供される。マルチプレクサ904はブロック903によって決定される加算器901の出力の正負記号(sign)に対応する入力信号及び明度及びH.264入力信号に基づいてQPの値と色度QP LUT902に記憶された値との間で選択する。正負記号値がゼロで、ブロックが明度ブロックでないことを示す明度値がゼロで、且つ符号化規格がITU H.264であることを示すH.264値が1であれば、色度QP LUTに記憶された値が選択される。そうでない場合には、マルチプレクサ904は出力としてQPを選択する。マルチプレクサ904の出力はT(QP)表905に記憶された入力アドレス(addr)を含む。マルチプレクサ904から出力される元のアドレス値は加算器906に出力され、1を加算され、そしてT(QP)表905における元のアドレス値上に記憶される。特定のQPは各係数及び各々のこれらのQPについて生成される。 As shown in FIG. 9, circuit 900 receives a quantization parameter threshold QP T input. Adder 901 subtracts 30 from QP T and provides this value to chromaticity QP LUT 902, examples of which are provided in Table 8. Multiplexer 904 receives the input signal and lightness corresponding to the sign of the output of adder 901 determined by block 903 and H.264. Based on the H.264 input signal, a selection is made between the QP T value and the value stored in the chromaticity QP LUT 902. The sign value is zero, the lightness value indicating that the block is not a lightness block is zero, and the encoding standard is ITU H.264. H.264 indicating H.264. If the H.264 value is 1, the value stored in the chromaticity QP LUT is selected. Otherwise, multiplexer 904 selects QP T as an output. The output of multiplexer 904 includes the input address (addr) stored in T (QP) table 905. The original address value output from multiplexer 904 is output to adder 906, incremented by 1 and stored on the original address value in T (QP) table 905. A specific QP T is generated for each coefficient and each of these QP Ts .

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.

Figure 2006121657
表9は異なるビデオ・クリップのビット・レート変動の実験的結果を表にする。比較の目的のために、表は従来の基線手法を用いた結果、及びここに概説されたρ‐領域手法を用いた結果を表にする。表9は実験に使用された五つの異なるビデオ・クリップを表にする。異なるクリップは四つの異なるレート制御方法で符号化された:即ち、64キロビット/秒(Kbps)及び四分の一共通インタフェース・フォーマット(QCIF)‐15フレーム/秒(FPS);28Kbps 及び QCIF‐15FPS;55Kbps 及び QCIF‐10 FPS;そして35Kbps 及び QCIF ‐10FPS。基線手法は前に述べた固定二乗手法を一般的に参照する。
Figure 2006121657
Table 9 tabulates the experimental results of bit rate variations for different video clips. For comparison purposes, the table tabulates the results using the conventional baseline approach and the results using the ρ-region approach outlined here. Table 9 tabulates five different video clips used in the experiment. Different clips were encoded in four different rate control methods: 64 Kbit / s (Kbps) and 1/4 common interface format (QCIF) -15 frames / second (FPS); 28 Kbps and QCIF-15FPS 55 Kbps and QCIF-10 FPS; and 35 Kbps and QCIF-10 FPS. The baseline method generally refers to the previously described fixed square method.

Figure 2006121657
表9から、従来の基線手法及び提案されたρ‐領域手法の双方は目標ビット・レートを達成するのに十分であることに気付くであろう。ρ‐領域手法は様々なクリップにわたってビット・レートの変動を低減する。
表10は異なる目標ビット・レートで符号化された様々なビデオ・クリップについてフレームごとに使用されるビットの標準偏差を定量化する実験結果の表である。表10は従来の基線手法を用いた結果及びここに概説されたρ‐領域手法を用いた結果の表である。表10は異なる目標ビット・レートで符号化された、五つの異なるビデオ・クリップに関するデータを含む。異なるクリップは四つの異なるレート制御方法で符号化された:即ち、28キロビット/秒(Kbps)及び四分の一共通インタフェース・フォーマット(QCIF)‐15フレーム/秒(FPS);35Kbps 及び QCIF‐10FPS;55Kbps 及び QCIF‐10 FPS;そして64Kbps 及び QCIF ‐15FPS。
Figure 2006121657
From Table 9, it will be noted that both the conventional baseline approach and the proposed ρ-domain approach are sufficient to achieve the target bit rate. The ρ-domain approach reduces bit rate variation across various clips.
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.

Figure 2006121657
表10から理解されるように、ρ‐領域技術は従来の基線システムより著しく優れている。平均して、ρ‐領域技術は標準偏差を50%以上低減する。いくつかのクリップ(mother_daughter)について、この低減は劇的な85%であった。
Figure 2006121657
As can be seen from Table 10, the ρ-region technique is significantly superior to conventional baseline systems. On average, the ρ-region technique reduces the standard deviation by more than 50%. For some clips (mother_daughter), this reduction was dramatic 85%.

図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 Equation 1 listed above. In particular, adapting parameters A and B of Equation 1 can further improve rate control by reducing the frame-level bit variation shown in FIG. Adaptation further reduces the variation by 37% with another average. In this example, the parameters are updated once for every frame in the low (ρ) -adaptive technique. The adaptation of parameters A and B associated with the threshold approach described here is called the adaptive threshold approach.

フレーム内の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.

Figure 2006121657
図12はρ‐領域レート制御によってもたらされるフレーム・レベルのビット・レート変動の著しい低減が符号化されたビデオ・シーケンスの品質の低下を生じないことをさらに例示する。ρ‐領域方法の使用によってさらに緊密なレート制御が達成されることが既に示されてきたが、図12からρ‐領域レート制御はまたさらに低いQP値を維持することができることに気付かれるであろう。平均して、これはPSNRを増加しない。さらに、品質の変動は提案されたレート制御手法によって低減される。
Figure 2006121657
FIG. 12 further illustrates that 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. Although it has already been shown that tighter rate control is achieved by using the ρ-domain method, it can be noted from FIG. 12 that ρ-domain rate control can also maintain lower QP values. Let's go. On average, this does not increase the PSNR. Furthermore, quality variations are reduced by the proposed rate control technique.

様々な実施例が述べられてきた。特に、ρ‐領域レート制御は従来の基線方法と比較してフレームごとのビットの変動を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.

源ディジタル・ビデオ・デバイスがビデオ・データの符号化シーケンスを受信ディジタル・ビデオ・デバイスに伝送する典型的システムを例示するブロック図である。1 is a block diagram illustrating an exemplary system in which a source digital video device transmits an encoded sequence of video data to a receiving digital video device. FIG. この発明の実施例に基づくディジタル・ビデオ・デバイスの典型的なブロック図である。1 is an exemplary block diagram of a digital video device according to an embodiment of the present invention. フレームごとのビットの数とロー(ρ)との間のほぼ線形関係を例示するグラフである。FIG. 6 is a graph illustrating a substantially linear relationship between the number of bits per frame and row (ρ). FIG. MPEG‐4規格またはITU H.263規格に従ってρ(QP)参照表(LUT)を直接計算することができる回路を示す典型的な回路図である。MPEG-4 standard or ITU H.264 FIG. 2 is an exemplary circuit diagram illustrating a circuit that can directly calculate a ρ (QP) lookup table (LUT) according to the H.263 standard. ITU H.264規格に従ってρ(QP)参照表(LUT)を直接計算するために使用できる回路を示す典型的な回路図である。ITU H. 2 is an exemplary circuit diagram illustrating a circuit that can be used to directly calculate a ρ (QP) lookup table (LUT) according to the H.264 standard. ITU H.264規格に従ってρ(QP)参照表(LUT)を直接計算するために使用できる回路を示す典型的な回路図である。ITU H. 2 is an exemplary circuit diagram illustrating a circuit that can be used to directly calculate a ρ (QP) lookup table (LUT) according to the H.264 standard. これらの係数が量子化の後ゼロになる可能性が遠いときイントラAC係数について別の式(または参照表)を使用する必要がないことを例示するイントラDC係数のヒストグラムである。FIG. 4 is a histogram of intra DC coefficients illustrating that it is not necessary to use another equation (or look-up table) for intra AC coefficients when these coefficients are likely to be zero after quantization. ITU H.264規格に従って、閾値‐QP LUTの作成に使用される閾値を計算するために使われる典型的な回路図である。ITU H. FIG. 2 is an exemplary circuit diagram used to calculate a threshold used to create a threshold-QP LUT according to the H.264 standard. 閾値LUTのアドレス計算のために使われるバイアスを丸める効果を例示するグラフである。6 is a graph illustrating the effect of rounding a bias used for address calculation of a threshold LUT. 閾値LUTのアドレス計算のために使われるバイアスを丸める効果を例示するグラフである。6 is a graph illustrating the effect of rounding a bias used for address calculation of a threshold LUT. 閾値‐QP表を形成するために閾値QPを累積するために使用できる回路の典型的な回路図である。FIG. 3 is an exemplary circuit diagram of a circuit that can be used to accumulate threshold QPs to form a threshold-QP table. 従来の基線方法及びここに記述されたρ‐領域レート制御方法から得られるフレームごとに使用されるビット及びフレームごとのピーク信号対雑音比(PSNR)を示す四つの異なるグラフを含む。4 includes four different graphs showing the bits used per frame and the peak signal-to-noise ratio (PSNR) per frame obtained from the conventional baseline method and the rho-domain rate control method described herein. 従来の基線方法、ここに記述されたρ‐領域方法、及びここに記述された適応ρ‐領域方法を使用して異なるビデオ・クリップに使用されたビットの標準偏差のグラフである。FIG. 6 is a graph of the standard deviation of bits used for different video clips using the conventional baseline method, the ρ-region method described herein, and the adaptive ρ-region method described herein. ρ‐領域レート制御方法によってもたらされたフレーム・レベルのビット・レート変動における著しい低減が符号化ビデオ・シーケンスの品質の劣化を全く生じないことを例示するグラフ及び対応するビデオ・フレームである。FIG. 5 is a graph and corresponding video frame illustrating that the significant reduction in frame-level bit rate variation provided by the ρ-region rate control method does not cause any degradation in the quality of the encoded video sequence.

Claims (31)

ビデオ・ブロックの量子化されない係数について閾値を計算し、ここに閾値は量子化係数が異なる量子化パラメータ(QP)について非ゼロになるときを特定し、且つ閾値を使用して量子化後の非ゼロ係数の数(ρ)をQPに写像するρ‐QP参照表(LUT)を生成する符号器、及び
ρ‐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 LUTを使用してビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する、請求項1記載のビデオ符号化デバイス。   The video encoding device of claim 1, wherein a QP is selected for rate-controlled video encoding of a video block using a ρ-QP LUT. 符号器は選択されたQPに基づいてビデオ・ブロックの係数を量子化し、且つフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する、請求項2記載のビデオ符号化デバイス。   The video encoding device of claim 2, wherein the encoder quantizes the coefficients of the video block based on the selected QP and encodes the video block according to an inter-frame video encoding technique. 符号器は、
閾値を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から最小QPのQPについて閾値を累積することによって閾値‐QP LUTを生成する、請求項4記載のビデオ符号化デバイス。   The video encoding device of claim 4, wherein the encoder generates a threshold-QP LUT by accumulating thresholds for QPs from a maximum QP to a minimum QP. 所定の閾値(Ti )は、
全ての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 LUTを生成し、且つ所定のビデオ・ブロックについて対応するρ‐QP LUTを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する、請求項1記載のビデオ符号化デバイス。   The encoder generates different ρ-QP LUTs for different video blocks of a video frame and uses the corresponding ρ-QP LUT for a given video block to perform rate-controlled video coding of the given video block. The video encoding device of claim 1, wherein the video encoding device selects a QP for. 符号器はビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐QP LUTを生成し、且つ所定のビデオ・フレームについて対応するρ‐QP LUTを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する、請求項1記載のビデオ符号化デバイス。   The encoder generates different ρ-QP LUTs for different video frames of the video sequence and uses the corresponding ρ-QP LUT for a given video frame to rate control the video blocks of the given video frame The video encoding device of claim 1, wherein the video encoding device selects a QP for video encoding. ρ‐QP LUTを生成するため符号器によって必要な計算処理の全数は約2N+Mであり、ここでNは係数の数を表し、MはQPの可能な値の数を表す、請求項1記載のビデオ符号化デバイス。   The total number of computations required by the encoder to generate a ρ-QP LUT is about 2N + M, where N represents the number of coefficients and M represents the number of possible values of QP. The described video encoding device. ビデオ・ブロックの量子化されない係数について閾値を計算すること、ここに閾値は異なる量子化パラメータ(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を選択することを含む、請求項10記載の方法。   12. The method of claim 10, further comprising selecting a QP for rate control coding of a video block using a ρ-QP LUT. さらに選択されたQPに基づいてビデオ・ブロックの係数を量子化すること、及びフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化することを含む、請求項11記載の方法。   The method of claim 11, further comprising quantizing the coefficients of the video block based on the selected QP and encoding the video block according to an inter-frame video encoding technique. 閾値を量子化パラメータ(QP)に写像する閾値‐QP LUTを生成すること、及び
閾値‐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 LUTを生成することは最大QPから最小QPの量子化パラメータQPについて閾値を累積することを含む、請求項13記載の方法。   The method of claim 13, wherein generating the threshold-QP LUT includes accumulating thresholds for quantization parameters QP from a maximum QP to a minimum QP. さらにビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐QP LUTを生成すること、及び所定のビデオ・ブロックについて対応するρ‐QP LUTを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択することを含む、請求項10記載の方法。   In addition, for generating different ρ-QP LUTs for different video blocks of a video frame, and for rate-controlled video coding of a given video block using the corresponding ρ-QP LUT for a given video block 11. The method of claim 10, comprising selecting a QP. さらにビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐QP LUTを生成すること、及び所定のビデオ・フレームについて対応するρ‐QP LUTを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択することを含む、請求10記載の方法。   Furthermore, generating different ρ-QP LUTs for different video frames of the video sequence and rate controlling video of the video block of a given video frame using the corresponding ρ-QP LUT for a given video frame The method of claim 10, comprising selecting a QP for encoding. 所定の閾値(Ti )は、
全ての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 LUTを生成するため符号器によって必要な計算処理の全数は約2N+Mであり、ここでNは係数の数を表し、MはQPの可能な値の数を表す、請求項10記載の方法。   11. The total number of computations required by the encoder to generate a ρ-QP LUT is about 2N + M, where N represents the number of coefficients and M represents the number of possible values for QP. The method described. ビデオ・ブロックの量子化されない係数について閾値を計算する手段であって、ここに閾値は異なる量子化パラメータ(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を選択する手段を具備する、請求項19記載の装置。   20. The apparatus of claim 19, further comprising means for selecting a QP for rate control coding of a video block using a ρ-QP LUT. さらに選択されたQPに基づいてビデオ・ブロックの係数を量子化する手段、及びフレーム間ビデオ符号化技術に従ってビデオ・ブロックを符号化する手段を具備する、請求項20記載の装置。   21. The apparatus of claim 20, further comprising: means for quantizing video block coefficients based on the selected QP; and means for encoding the video block according to an inter-frame video encoding technique. 閾値を量子化パラメータ(QP)に写像する閾値‐QP LUTを生成する手段、及び
閾値‐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 LUTを生成する手段は最大QPから最小QPの量子化パラメータQPについて閾値を累積する手段を具備する、請求項22記載の装置。   23. The apparatus of claim 22, wherein the means for generating a threshold-QP LUT comprises means for accumulating thresholds for quantization parameters QP from a maximum QP to a minimum QP. 所定の閾値(Ti )は:
全ての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.
さらにビデオ・フレームの異なるビデオ・ブロックについて異なるρ‐QP LUTを生成する手段、及び所定のビデオ・ブロックについて対応するρ‐QP LUTを使用して所定のビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する手段を具備する、請求項19記載の装置。   Furthermore, means for generating different ρ-QP LUTs for different video blocks of a video frame, and for rate-controlled video coding of a given video block using the corresponding ρ-QP LUT for a given video block 20. The apparatus of claim 19, comprising means for selecting a QP. さらにビデオ・シーケンスの異なるビデオ・フレームについて異なるρ‐QP LUTを生成する手段、及び所定のビデオ・フレームについて対応するρ‐QP LUTを使用して所定のビデオ・フレームのビデオ・ブロックのレート制御ビデオ符号化のためのQPを選択する手段を具備する、請求項19記載の装置。   Furthermore, means for generating different ρ-QP LUTs for different video frames of the video sequence, and rate control video of the video block of a given video frame using the corresponding ρ-QP LUT for a given video frame The apparatus of claim 19, comprising means for selecting a QP for encoding. ρ‐QP LUTを生成するために必要な計算処理の全数は約2N+Mであり、ここでNは係数の数を表し、MはQPの可能な値の数を表す、請求項19記載の装置。   20. The total number of computations required to generate a ρ-QP LUT is about 2N + M, where N represents the number of coefficients and M represents the number of possible values for QP. apparatus. ビデオ・ブロックの量子化されない係数について閾値を計算する手段はディジタル信号プロセッサ上で実行するソフトウェアを含む、請求項19記載の装置。   20. The apparatus of claim 19, wherein the means for calculating a threshold for unquantized coefficients of the video block includes software executing on the digital signal processor. ビデオ・ブロックの量子化されない係数について閾値を計算する手段はファームウェアを含む、請求項19記載の装置。   20. The apparatus of claim 19, wherein the means for calculating a threshold for unquantized coefficients of the video block includes firmware. ビデオ・ブロックの量子化されない係数について閾値を計算する手段はハードウェアを含む、請求項19記載の装置。   20. The apparatus of claim 19, wherein the means for calculating a threshold for unquantized coefficients of a video block includes hardware. ρ‐QP LUTを生成する手段はディジタル信号プロセッサ上で実行するソフトウェアを含む、請求項30記載の装置。   32. The apparatus of claim 30, wherein the means for generating a [rho] -QP LUT includes software executing on a digital signal processor.
JP2005200593A 2004-07-08 2005-07-08 Efficient rate control technique for video coding Expired - Fee Related JP5203554B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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