JP2008503919A - Method and apparatus for optimizing video coding - Google Patents
Method and apparatus for optimizing video coding Download PDFInfo
- Publication number
- JP2008503919A JP2008503919A JP2007516535A JP2007516535A JP2008503919A JP 2008503919 A JP2008503919 A JP 2008503919A JP 2007516535 A JP2007516535 A JP 2007516535A JP 2007516535 A JP2007516535 A JP 2007516535A JP 2008503919 A JP2008503919 A JP 2008503919A
- Authority
- JP
- Japan
- Prior art keywords
- analysis
- parameters
- video
- signal data
- video signal
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Abstract
複数のピクチャに対応するビデオ信号データを符号化するエンコーダ、およびそれに対応する方法を提供する。このエンコーダは、ビデオ信号データに対応する複数のピクチャの少なくとも一部に関する複数の重複解析ウィンドウを用いてビデオ信号データのビデオ解析を実行し、ビデオ解析の結果に基づいてビデオ信号データの符号化パラメータの適応化を行う重複ウィンドウ解析ユニット(310)を含む。 An encoder for encoding video signal data corresponding to a plurality of pictures and a method corresponding thereto are provided. The encoder performs video analysis of the video signal data using a plurality of overlap analysis windows regarding at least a part of the plurality of pictures corresponding to the video signal data, and encodes the video signal data encoding parameters based on the result of the video analysis. A duplicate window analysis unit (310) that performs the adaptation of
Description
(関連出願の相互参照)
本願は、2004年6月18日出願の米国仮特許出願第60/581280号の特典を請求するものである。
(Cross-reference of related applications)
This application claims the benefit of US Provisional Patent Application No. 60/581280, filed Jun. 18, 2004.
本発明は、一般にビデオ・エンコーダおよび・ビデオ・デコーダに関し、特にビデオ符号化を最適化する方法および装置に関する。 The present invention relates generally to video encoders and video decoders, and more particularly to a method and apparatus for optimizing video coding.
マルチパス・ビデオ符号化方式は、MPEG−2やJVT/H.264/MPEG AVCなど多くのビデオ符号化アーキテクチャで、符号化効率を高めるために使用されている。これらの方式の基礎となる概念は、解析を実行し、符号化性能を向上させるために将来の反復に用いることができる統計値を収集しながら、シーケンス全体を数回反復して試験して符号化することである。 Multi-pass video coding schemes include MPEG-2 and JVT / H. It is used in many video coding architectures such as H.264 / MPEG AVC to increase coding efficiency. The underlying concept of these schemes is that the entire sequence is tested several times while performing analysis and collecting statistics that can be used in future iterations to improve coding performance. It is to become.
2パス符号化方式は、MICROSOFT(登録商標)WINDOWS MEDIA(登録商標)やREALVIDEO(登録商標)エンコーダなど、いくつかの符号化システムで既に使用されている。この符号化方式によれば、エンコーダは、最初にいくつかの初期既定設定を用いてシーケンス全体に対して初期符号化パスを実行し、シーケンス内の各ピクチャの符号化効率に関する統計値を収集する。このプロセスが完了した後で、以前に生成された統計値を同時に考慮に入れながら、もう一度シーケンス全体を処理し、符号化する。これにより、符号化効率をかなり向上させることができ、さらに例えば符号化されたストリームの所与のビットレート制約を満たすなど、いくつかの規定の符号化制約または要件を満たすことも可能になる。これは、エンコーダがビデオ・シーケンスまたはピクチャの特性をより多く把握しており、従って、エンコーダが符号化に使用される量子化器やデッド・ゾーン処理などのパラメータをより適切に選択できるからである。この最初の符号化パスの間に収集することができ、この目的のために使用することができる統計値としては、ビット/ピクチャ(bits per picture)、空間アクティビティ(すなわち平均正規化マクロブロック分散および平均)、時間アクティビティ(すなわち動きベクトル/動きベクトル分散)、歪み(例えば二乗平均誤差(MSE))などが挙げられる。これらの方法を用いることによって符号化の性能をかなり向上させることができるが、これらの方法は非常に複雑になる傾向があり、オフラインでしか用いることができず(シーケンス全体を最初に符号化し、その後で第2のパスを実行する。)、そのため、実時間エンコーダに適さない。これらの方法は、最初の符号化ステップから推測可能な全ての生じうる統計値を必ずしも考慮しているわけではない。 The two-pass encoding scheme is already used in several encoding systems such as MICROSOFT (registered trademark) WINDOWS MEDIA (registered trademark) and REALVIDEO (registered trademark) encoder. According to this coding scheme, the encoder first performs an initial coding pass on the entire sequence with some initial default settings and collects statistics on the coding efficiency of each picture in the sequence. . After this process is complete, the entire sequence is once again processed and encoded while simultaneously taking into account previously generated statistics. This can significantly improve the coding efficiency and can also satisfy some specified coding constraints or requirements, for example meeting a given bit rate constraint of the encoded stream. This is because the encoder knows more about the characteristics of the video sequence or picture, and therefore the encoder can better select parameters such as the quantizer and dead zone processing used for encoding. . Statistics that can be collected during this first coding pass and that can be used for this purpose include bits per picture, spatial activity (ie average normalized macroblock variance and Average), temporal activity (ie, motion vector / motion vector variance), distortion (eg, root mean square error (MSE)), and the like. Although using these methods can significantly improve the performance of the encoding, these methods tend to be very complex and can only be used offline (the entire sequence is encoded first, After that, the second pass is performed.) Therefore, it is not suitable for a real-time encoder. These methods do not necessarily take into account all possible statistics that can be inferred from the initial encoding step.
(発明の概要)
本発明は、ビデオ符号化を最適化する方法および装置に関し、上述した従来技術および他の先行技術の欠点および問題点に対処するものである。
(Summary of Invention)
The present invention relates to a method and apparatus for optimizing video coding, which addresses the shortcomings and problems of the prior art and other prior art described above.
本発明の一態様によれば、複数のピクチャに対応するビデオ信号データを符号化するエンコーダが提供される。このエンコーダは、ビデオ信号データに対応する複数のピクチャの少なくとも一部に関する複数の重複解析ウィンドウを用いてビデオ信号データのビデオ解析を実行し、ビデオ解析の結果に基づいてビデオ信号データの符号化パラメータの適応化を行う重複ウィンドウ解析ユニットを含む。 According to an aspect of the present invention, an encoder is provided that encodes video signal data corresponding to a plurality of pictures. The encoder performs video analysis of the video signal data using a plurality of overlap analysis windows regarding at least a part of the plurality of pictures corresponding to the video signal data, and encodes the video signal data encoding parameters based on the result of the video analysis. Includes a duplicate window analysis unit that performs
本発明の別の態様によれば、複数のピクチャに対応するビデオ信号データを符号化する方法が提供される。この方法は、ビデオ信号データに対応する複数のピクチャの少なくとも一部に関する複数の重複解析ウィンドウを用いてビデオ信号データのビデオ解析を実行するステップと、ビデオ解析の結果に基づいてビデオ信号データの符号化パラメータの適応化を行うステップとを含む。 According to another aspect of the invention, a method for encoding video signal data corresponding to a plurality of pictures is provided. The method includes performing video analysis of the video signal data using a plurality of overlap analysis windows for at least some of the plurality of pictures corresponding to the video signal data, and encoding the video signal data based on the results of the video analysis. Adapting the optimization parameters.
本発明についての上記および他の態様、特徴および利点は、以下の例示的な実施形態の詳細な説明を添付の図面と併せて読むことにより明らかになるであろう。 The above and other aspects, features and advantages of the present invention will become apparent upon reading the following detailed description of exemplary embodiments in conjunction with the accompanying drawings.
本発明は、後述の例示的な図面によってより深く理解することができる。 The invention can be better understood with reference to the following exemplary drawings.
本発明は、ビデオ符号化を最適化する方法および装置に関する。本発明の有利な点は、ビデオ・エンコーダが所与のビットレートで大幅に改善された主観的品質および客観的品質でビデオ・シーケンスを圧縮することを可能にすることである。これは、これから符号化する後続のN個のピクチャと比較して現在のピクチャの簡単な解析を行う、ビデオ・シーケンスの特殊な処理によって実現される。その後、エンコーダがこの解析結果を利用して、現在のピクチャの符号化に使用される符号化パラメータ(ピクチャ・タイプ/スライス・タイプ、量子化器、しきい値処理パラメータ、ラグランジュλなどがあるが、これらに限定されるわけではない。)をより良好に決定することができる。本発明は、符号化性能を向上させるためにシーケンス全体のデュアルパスまたはマルチパス符号化を行う従来技術のいくつかのシステムとは異なり、本発明は比較的簡単であり、従って複雑性に及ぼす影響も比較的小さい。本発明の原理をその他のマルチパス符号化ストラテジと共に使用して、効率をさらに高めることもできる。また同様に、一般的なシステム(以前に符号化されたM個のピクチャを用いる。)を形成することもできる。 The present invention relates to a method and apparatus for optimizing video coding. An advantage of the present invention is that it allows a video encoder to compress a video sequence with significantly improved subjective and objective quality at a given bit rate. This is achieved by a special processing of the video sequence that provides a simple analysis of the current picture compared to the subsequent N pictures to be encoded. The encoder then uses this analysis result to provide the encoding parameters (picture type / slice type, quantizer, thresholding parameters, Lagrange λ, etc.) used to encode the current picture. , But not limited to these) can be determined better. Unlike the prior art systems that do dual-pass or multi-pass coding of entire sequences to improve coding performance, the present invention is relatively simple and therefore has an impact on complexity. Is also relatively small. The principles of the present invention can also be used with other multi-pass coding strategies to further increase efficiency. Similarly, a general system (using previously encoded M pictures) can also be formed.
本発明の原理によれば、シーケンス全体のうちピクチャ・ウィンドウが重複する部分のみを最初に解析する。これにより生成された統計値に基づいて、各ピクチャの符号化パラメータを適宜調節する。これらの符号化パラメータとしては、ピクチャ・タイプ/スライス・タイプ決定(I、P、B)、フレーム/フィールド決定、Bピクチャ間隔、ピクチャまたはマクロブロック量子化値(QP)、係数しきい値処理、ラグランジュ・パラメータ、クロマ・オフセット、重み付き予測、参照ピクチャ選択、マルチ・ブロック・サイズ決定、エントロピ・パラメータの初期化、イントラ・モード決定、およびデブロッキング・フィルタ・パラメータなどがあるが、これらに限定されるわけではない。解析方法は、様々な複雑性コストを要する可能性があるが、その解析方法をピクチャ/マクロブロック解析を実行するために使用することができる。その解析方法として、最初のパスの完全符号化、空間解析を用いた単純な最初のパスの動き推定、または分散や画像差などを含むがこれに限定されない単純な時空間的解析メトリクスなどがある。さらに、重複するピクチャ・ウィンドウ(およびその重複するピクチャ)は、必要なだけ大きくすることも小さくすることも(多くすることも少なくすることも)できるので、遅延と性能の兼ね合いを様々につけることができる。 In accordance with the principles of the present invention, only the portion of the entire sequence where picture windows overlap is first analyzed. Based on the statistical value thus generated, the encoding parameter of each picture is adjusted as appropriate. These coding parameters include picture type / slice type determination (I, P, B), frame / field determination, B picture interval, picture or macroblock quantization value (QP), coefficient thresholding, Lagrange parameters, chroma offset, weighted prediction, reference picture selection, multi-block sizing, entropy parameter initialization, intra mode determination, and deblocking filter parameters, but are not limited to these It is not done. The analysis method may require various complexity costs, but the analysis method can be used to perform picture / macroblock analysis. Analysis methods include full first pass coding, simple first pass motion estimation using spatial analysis, or simple spatio-temporal analysis metrics including but not limited to variance and image differences. . In addition, overlapping picture windows (and their overlapping pictures) can be made as small or large as necessary (more or less), so there are various tradeoffs between delay and performance. Can do.
本明細書では、本発明の原理について説明する。従って、当業者なら、本明細書では明示的に説明または図示していないが本発明の趣旨および範囲に含まれる本発明の原理を実施する様々な構成を考案することができることを理解されたい。 In this specification, the principle of the present invention will be described. Accordingly, those skilled in the art will appreciate that various configurations can be devised that implement the principles of the invention that are not explicitly described or illustrated herein, but are within the spirit and scope of the invention.
本明細書に記載する全ての実施例および条件に関する表現は、本発明の原理と発明者による技術の進歩の助けとなる概念とを読者が理解するのを助けるための教育的な目的を有するものであり、これらの具体的に列挙した実施例および条件に限定されないものと解釈されたい。 All examples and conditions expressed herein are for educational purposes to help the reader understand the principles of the invention and the concepts that will help the inventor to advance the technology. And should not be construed as being limited to these specifically recited examples and conditions.
さらに、本発明の原理、態様および実施形態ならびに本発明の具体的な実施例についての本明細書の全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、これらの均等物には、現在既知の均等物と将来開発されるであろう均等物の両方が含まれる、すなわちその構造にかかわらず同じ機能を実行する、将来開発される任意の要素が含まれるものとする。 Moreover, all statements herein reciting principles, aspects and embodiments of the invention and specific examples of the invention are intended to include both structural and functional equivalents thereof. In addition, these equivalents include both currently known equivalents and equivalents that will be developed in the future, i.e. any future developed elements that perform the same function regardless of their structure. Shall be included.
従って、例えば、当業者なら、本明細書に示すブロック図が本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示してある場合も明示していない場合もあるコンピュータまたはプロセッサによって実行される様々なプロセスを表すことも理解されたい。 Thus, for example, those skilled in the art will appreciate that the block diagrams presented herein represent conceptual diagrams of exemplary circuits that implement the principles of the invention. Similarly, any flowchart, flowchart, state transition diagram, pseudo-code, etc. may be substantially expressed in a computer-readable medium and executed by a computer or processor that may or may not be explicitly indicated. It should also be understood to represent a complex process.
図面に示す様々な要素の機能は、専用のハードウェア、および適当なソフトウェアと連動してソフトウェアを実行することができるハードウェアを使用して実現することができる。プロセッサによって実現するときには、これらの機能は単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実施することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)および不揮発性記憶装置(これらに限定されない)を暗に含むことがある。 The functions of the various elements shown in the figures can be realized using dedicated hardware and hardware capable of executing software in conjunction with appropriate software. When implemented by a processor, these functions can be implemented by a single dedicated processor, by a single shared processor, or by multiple individual processors that can share part of them. You can also. Furthermore, the explicit use of the terms “processor” or “controller” should not be construed to refer only to hardware capable of executing software, but digital signal processor (DSP) hardware. , Implicitly including, but not limited to, read only memory (ROM), random access memory (RAM) and non-volatile storage for storing software.
従来の、且つ/または特注のその他ハードウェアも含まれることがある。同様に、図面に示す任意のスイッチも、概念的なものに過ぎない。スイッチの機能は、プログラム論理の動作、専用論理またはプログラム制御と専用論理の相互作用によって、あるいは手作業で実施することができ、作製者が前後関係から具体的に判断して特定の技術を選択することができる。 Conventional and / or custom hardware may also be included. Similarly, any switches shown in the drawings are conceptual only. The function of the switch can be implemented by program logic operation, dedicated logic or interaction between program control and dedicated logic, or manually, and the creator chooses a specific technology based on specific context. can do.
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、例えば(a)当該機能を実行する回路素子の組合せ、(b)ファームウェアやマイクロコードなどを含む任意の形態のソフトウェアを当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものを含む、当該機能を実行する任意の方法を含むものとする。特許請求の範囲に定義される本発明は、列挙する様々な手段が実施する機能を、特許請求の範囲が要求するかたちで組み合わせることにある。従って、出願人は、これらの機能を実施することができるあらゆる手段を、本明細書に示す手段の均等物とみなす。 In the claims of this specification, an arbitrary element expressed as a means for executing a specific function is, for example, (a) a combination of circuit elements that execute the function, (b) firmware, microcode, or the like. Any method of performing the function is included, including any form of software in combination with appropriate circuitry that executes the software to perform the function. The invention as defined in the claims lies in combining the functions performed by the various means recited in the manner required by the claims. Applicant thus regards any means which can carry out these functions as equivalent to those shown herein.
本発明の原理によれば、各パス中にビデオ・シーケンス全体または個別のウィンドウを考慮する従来の方法と異なり、重複するウィンドウに対して各パスを実行して、事前に決定した特徴を隣接するウィンドウの間で再利用できるようにする新しいマルチパス符号化アーキテクチャが開示される。このアーキテクチャでは、はるかに少ないステップ数で最適な符号化を行うことができるので、より低いコストやより低い複雑性であっても、より少ないメモリ要件やより短い待ち時間で、ビデオ品質の大幅な向上などのマルチパス符号化の利点も得ることができる。この特徴は、隣接するウィンドウ間の類似性により最初のパス中でもエンコーダが最良のパラメータを決定することができるため、最終的な符号化のためにさらなる反復を必要としないことを考えると、実時間符号化に適用したときに特に重要である。 In accordance with the principles of the present invention, unlike conventional methods that consider the entire video sequence or individual windows during each pass, each pass is performed on overlapping windows to adjoin predetermined features. A new multi-pass coding architecture is disclosed that allows reuse between windows. This architecture allows optimal encoding with much fewer steps, so video quality can be significantly improved with lower memory requirements and lower latency, even at lower costs and lower complexity. Advantages of multi-pass coding such as improvement can also be obtained. This feature is real-time considering that the encoder can determine the best parameters even during the first pass due to the similarity between adjacent windows, so that no further iterations are required for final encoding. This is particularly important when applied to encoding.
図1を参照すると、ウィンドウ・ベース・2パス符号化アーキテクチャの全体を参照番号100で示してある。処理/解析ウィンドウの大きさはピクチャのWp個分であり、隣接する2つのグループの間で許される重複の大きさはピクチャのWo個分である。第1のウィンドウの処理を行うと、このウィンドウ内の全てのフレームの符号化特性の事前セットを決定するために使用することができるいくつかの初期統計値が得られる。より詳細には、2パス方式を用いる場合には、次のウィンドウに属さない全てのフレームを、生成されたパラメータに基づいて直ちに符号化することができる。ただし、この情報は、この次のウィンドウの処理/解析に直接使用することができる。例えば、これらのパラメータは、このウィンドウの処理中に初期シードとして使用することができ、大部分のシーケンスにおいて高い時間的相関が存在していることを考えれば、解析を改善することができる。さらに重要なことに、Woの選択により直前のウィンドウにも属しているこのウィンドウの初期フレームに対して使用される符号化パラメータを、新たに生成された統計値に基づいてさらに洗練/調整することができる。これにより、基本的に、例えばシーケンス全体またはM個の隣接するウィンドウを処理した後など、多数の繰返し/パスを用いた場合に、より速く最適な解に収束させることができる。この時間的ウィンドウは、エンコーダの能力または要件に応じてできる限り大きくすることも小さくすることもでき、異なるウィンドウ・サイズ(WoおよびWpより大きくても小さくてもよい)でこの方式を反復することもできることは明らかである。
Referring to FIG. 1, the entire window-based two-pass coding architecture is indicated by
本願発明者等のマルチパス方式の事前解析ステップでは、数多くの異なる基準を使用することができる。これらの基準は、エンコーダ・アーキテクチャの複雑性の制約によって決めることができ、単純な時空間的方法(エッジ検出、テクスチャ解析メトリクス、および絶対画像差などを含むがこれらに限定されない。)から、より複雑なストラテジ(離散的コサイン変換(DCT)解析、最初のパスのイントラ符号化、動き推定/動き補償、および完全符号化などを含むがこれらに限定されない。)まで考慮することができる。解析および/または重複するウィンドウを増加または減少させることによって、待ち時間も調節することができる。 A number of different criteria can be used in the multipath pre-analysis step of the inventors. These criteria can be determined by the complexity constraints of the encoder architecture, and from simple spatio-temporal methods (including but not limited to edge detection, texture analysis metrics, and absolute image differences). Even complex strategies can be considered, including but not limited to discrete cosine transform (DCT) analysis, first pass intra coding, motion estimation / compensation, and full coding. Latency can also be adjusted by increasing or decreasing the analysis and / or overlapping windows.
このようなシステムの例として、この解析中に、以下の基準を計算することができる。 As an example of such a system, the following criteria can be calculated during this analysis:
ウィンドウWp内の全てのピクチャkに対して、以下を計算する。 For all picture k in the window W p, calculates the following.
(i)位置(i,j)の各マクロブロックに対して、平均値MBmean(k,i,j)を次のように計算する。 (I) The average value MBmean (k, i, j) is calculated as follows for each macroblock at the position (i, j).
(ii)二乗平均値MBsqmean(k,i,j)を次のように計算する。 (Ii) The root mean square value MBsqmean (k, i, j) is calculated as follows.
(iii)分散値MBvariance(k,i,j)を次のように計算する。 (Iii) The variance value MBvariance (k, i, j) is calculated as follows.
MBvariance(k,i,j)=MBsqmean(k,i,j)−(MBmean(k,i,j))2 MBvariance (k, i, j) = MBsqmean (k, i, j) − (MBmean (k, i, j)) 2
(iv)ピクチャ全体に対して、平均マクロブロック平均値AMMkを次のように計算する。 (Iv) The average macroblock average value AMM k is calculated for the entire picture as follows.
(v)平均マクロブロック分散AMVkを次のように計算する。 (V) Calculate the average macroblock variance AMV k as follows:
(vi)ピクチャ分散PVkを次のように計算する。 (Vi) Calculate the picture variance PV k as follows:
さらに、ピクチャm(例えばm=k+1)に対する以下の時間的特性も、以下のように計算する。 Further, the following temporal characteristics for the picture m (for example, m = k + 1) are also calculated as follows.
(I)平均絶対ピクチャ差MAPDk,mを次のように計算する。 (I) The average absolute picture difference MAPD k, m is calculated as follows.
(II)平均絶対重み付きピクチャ差MAWPDk,mを次のように計算する。 (II) The average absolute weighted picture difference MAWPD k, m is calculated as follows.
(III)平均絶対オフセット・ピクチャ差MAWPDk,mを次のように計算する。 (III) The average absolute offset / picture difference MAWPD k, m is calculated as follows.
(IV)二乗平均ピクチャ誤差MSPEk,mを次のように計算する。 (IV) The root mean square picture error MSPE k, m is calculated as follows.
(V)絶対ピクチャ分散差APVDk,mを次のように計算する。 (V) The absolute picture variance difference APVD k, m is calculated as follows.
APVDk,m=|PVk−PVm| APVD k, m = | PV k -PV m |
計算可能なその他の時空間的特性は、ヒストグラムの絶対差、絶対差のヒストグラム、kとMの間のχ2メトリクス、任意(または複数)のエッジ演算子(キャニー・エッジ演算子、ソーベル・エッジ演算子、またはプレウィット・エッジ演算子を含むがこれらに限定されない。)を用いたkのエッジ、またはシーケンスのインタレース特性を検出するためのフィールド・ベースのメトリクスである。有用である可能性があり、上記から推測可能な他の2つの統計情報は、現在のピクチャの最も近い過去の符号化されたイントラ・ピクチャからの距離(last_idistancek)、および現在のピクチャの最も近い将来の符号化されたイントラ・ピクチャからの距離(next_idistancek)である。これらは例えばピクチャ番号、符号化順序、またはピクチャ・オーダ・カウント(poc)で測定される。これらの統計値は、シーン変更/ショット検出器および/またはデフォルトGOP(group of pictures)構造を考慮することによって改善することができる。時間的特性は、(例えば本発明をマルチパス態様に適用した場合には)元の画像または再構成された画像を用いて計算することができ、これらのメトリクスの計算では動き推定/動き補償を考慮することもできる。 Other spatio-temporal properties that can be calculated are: absolute difference in histogram, histogram of absolute difference, χ 2 metric between k and M, arbitrary (or multiple) edge operators (canny edge operator, Sobel edge, Field-based metrics for detecting interlaced properties of k edges, or sequences, including but not limited to operators, or pre-wit edge operators). Two other statistics that may be useful and can be inferred from the above are the distance from the closest past encoded intra picture of the current picture (last_idistance k ), and the most of the current picture The distance (next_idistance k ) from the coded intra picture in the near future. These are measured, for example, by picture number, coding order, or picture order count (poc). These statistics can be improved by considering a scene change / shot detector and / or a default GOP (group of pictures) structure. Temporal characteristics can be calculated using the original image or the reconstructed image (e.g. when the invention is applied to a multipath aspect), and these metrics are calculated using motion estimation / compensation. It can also be considered.
上記のメトリクスに基づいて、エンコーダは、符号化プロセスに関係する特定のピクチャ、マクロブロックまたはサブブロックのパラメータを修正することを決定することができる。これらは、量子化値(QP)、係数デッド・ゾーン処理/しきい値処理、マクロブロック符号化とフレーム間およびフィールド間のピクチャ・レベル決定のラグランジュ値、デブロッキング・フィルタ・パラメータ、符号化および参照ピクチャの順序付け、シーン/ショット(フェード/ディゾルブ/ワイプ/フラッシュなどがあるがこれらに限定されない)検出、GOP構造などのパラメータを含む。 Based on the above metrics, the encoder can decide to modify the parameters of a particular picture, macroblock or subblock related to the encoding process. These include quantized values (QP), coefficient dead zone processing / threshold processing, macroblock encoding and Lagrangian values for picture level determination between frames and fields, deblocking filter parameters, encoding and This includes parameters such as reference picture ordering, scene / shot (including but not limited to fade / dissolve / wipe / flash) detection, GOP structure and the like.
本発明の例示的な一実施形態では、上記パラメータは、以下のように、スライス・タイプcur_slice_typekのピクチャkを符号化するときにピクチャ量子化値(QP)を適合させるものと考える。この実施形態では、distancek,k+1は、ピクチャ数を単位とした隣接する2つのピクチャの間の距離と考える。
if (next_idistancek>3&&cur_slice_typek==I_Slice)
{
if(PVk<1&&MAPDk,k+1<1&&last_idistancek>5*distancek,k+1)
QPk=QPk−4
else if(MAPDk,k+1<3&&(k==0||last_idistancek>5*distancek,k+1))
QPk=QPk−3
else if(MAPDk,k+1<10)
QPk=QPk−2
else if(MAPDk,k+1<15)
QPk=QPk−1
}
else if(AMVk>10&&AMVk<60)
{
if(PVk<500&&next_idistancek>3*distancek,k+1)
{
if(MAPDk,k+1<10&&AMVk<35&&last_idistancek>2*distancek,k+1)
QPk=QPk−2
else
QPk=QPk−1
}
else if(PVk<1500&&next_idistancek>0)
{
if(MAPDk,k+1<25)
QPk=QPk−1
}
}
else if(MAPDk,k+1==0&&next_idistancek>3*distancek,k+1&&last_idistancek>4*distancek,k+1)
QPk=QPk−2
else(((MAPDk,k+1<2&&next_idistancek>3*distancek,k+1&&last_idistancek>2*distancek,k+1)
||last_idistancek>30)&&next_idistancek>5)
{
if(MAPDk,k+1<1)
QPk=QPk−3
else if(MAPDk,k+1<4)
QPk=QPk−2
else if(MAPDk,k+1<10)
QPk=QPk−1
}
In an exemplary embodiment of the invention, the above parameters are considered to adapt the picture quantization value (QP) when encoding a picture k of slice type cur_slice_type k as follows: In this embodiment, distance k, k + 1 is considered as the distance between two adjacent pictures in units of pictures.
if (next_idistance k > 3 && cur_slice_type k == I_Slice)
{
if (PV k <1 && MAPD k, k + 1 <1 && last_idistance k > 5 * distance k, k + 1 )
QP k = QP k −4
else if (MAPD k, k + 1 <3 && (k == 0 || last_idstance k > 5 * distance k, k + 1 ))
QP k = QP k −3
else if (MAPD k, k + 1 <10)
QP k = QP k −2
else if (MAPD k, k + 1 <15)
QP k = QP k −1
}
else if (AMV k > 10 && AMV k <60)
{
if (PV k <500 && next_idistance k > 3 * distance k, k + 1 )
{
if (MAPD k, k + 1 <10 && AMV k <35 && last_idistance k > 2 * distance k, k + 1 )
QP k = QP k −2
else
QP k = QP k −1
}
else if (PV k <1500 && next_idistance k > 0)
{
if (MAPD k, k + 1 <25)
QP k = QP k −1
}
}
else if (MAPD k, k + 1 == 0 && next_idistance k > 3 * distance k, k + 1 && last_idistance k > 4 * distance k, k + 1 )
QP k = QP k −2
else (((MAPD k, k + 1 <2 && next_idistance k > 3 * distance k, k + 1 && last_idistance k > 2 * distance k, k + 1 )
|| last_idistance k > 30) && next_idistance k > 5)
{
if (MAPD k, k + 1 <1)
QP k = QP k −3
else if (MAPD k, k + 1 <4)
QP k = QP k −2
else if (MAPD k, k + 1 <10)
QP k = QP k −1
}
上記の実施形態では、直前または近い過去のピクチャが上記の規則により既にそのQPを更新しているかどうかは考慮していない。従って、必要以上にQP値を更新することになる可能性もあり、これはレート−歪み(RD)性能の点で望ましくないことがある。このために、パラメータlast_idistancekを更新して、ピクチャ・タイプにかかわらず最後にQPを調節されたピクチャの値と等しくなるようにする。 In the above embodiment, it is not considered whether the previous or near past picture has already updated its QP according to the above rules. Therefore, it is possible to update the QP value more than necessary, which may be undesirable in terms of rate-distortion (RD) performance. For this purpose, the parameter last_idistance k is updated so that it is equal to the value of the last adjusted QP regardless of the picture type.
同様に、マクロブロック/ブロックの分散、平均およびエッジ統計値を使用して、局所的な符号化パラメータを決定することができる。例えば、位置(i,j)にあるマクロブロックのラグランジュのλを選択するには、以下の規則を考慮すればよい。
if(cur_slice_typek!=B_Slice)
{
if(contains_edges(k,i,j))
Similarly, macroblock / block variance, average and edge statistics can be used to determine local coding parameters. For example, in order to select the Lagrange λ of the macroblock at the position (i, j), the following rule may be considered.
if (cur_slice_type k ! = B_Slice)
{
if (contains_edges (k, i, j))
else if(cur_slice_typek==I_Slice)
{
if(MBvariance(k,i,j)<15||MBvariance(k,i,j)>60)
else if (cur_slice_type k == I_Slice)
{
if (MBvariance (k, i, j) <15 || MBvariance (k, i, j)> 60)
else if(MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40)
else if (MBvariance (k, i, j)> = 15 && MBvariance (k, i, j) <= 40)
else
else
else//cur_slice_typek==P_Slice
{
if(MBvariance(k,i,j)<15||MBvariance(k,i,j)>60)
else / cur_slice_type k == P_Slice
{
if (MBvariance (k, i, j) <15 || MBvariance (k, i, j)> 60)
else if(MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40)
else if (MBvariance (k, i, j)> = 15 && MBvariance (k, i, j) <= 40)
else
else
}
}
else
{
bscale=max(2.00,min(4.00,(QP/6.0)));
if(contains_edges(k,i,j))
}
}
else
{
bscale = max (2.00, min (4.00, (QP / 6.0)));
if (contains_edges (k, i, j))
else
{
if(MBvariance(k,i,j)<15||MBvariance(k,i,j)>60)
else
{
if (MBvariance (k, i, j) <15 || MBvariance (k, i, j)> 60)
else if(MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40)
else if (MBvariance (k, i, j)> = 15 && MBvariance (k, i, j) <= 40)
else
else
if(nal_reference_idc==1)
λ=0.80×λ
}
if (nal_reference_idc == 1)
λ = 0.80 × λ
}
残りの符号化に使用される量子化値または係数しきい値処理の選択でも、同様の決定を行うことができる。具体的には、H.264での係数Wの量子化は、以下のように実行される。
Z=int({|W|+f×(1<<q_bits)}>>qbits)・sgn(W)
ここで、Zは最終的な量子化値であり、q_bitsは現在のマクロブロックの量子化器QPに基づく。f×(1<<q_bits)の項は、この量子化プロセスの丸めを行う項として機能し、1/2×(1<<q_bits)であると「最適」である。
Similar decisions can be made in selecting the quantization value or coefficient thresholding used for the remaining encodings. Specifically, H.C. The quantization of the coefficient W at H.264 is performed as follows.
Z = int ({| W | + f × (1 << q_bits)} >> qbits) · sgn (W)
Here, Z is the final quantized value, and q_bits is based on the quantizer QP of the current macroblock. The term of f × (1 << q_bits) functions as a term for rounding the quantization process, and is “optimal” when ½ × (1 << q_bits).
次に図2を参照すると、変換および量子化を行う間のデッド・ゾーン処理の影響の全体を参照番号200で示してある。図2では、ゼロ付近の区間をデッド・ゾーンと呼ぶ。デッド・ゾーン量子化器は、図2に示すように、ゼロビン幅(zero bin−width)(2s−2f)およびアウトビン幅(outbin width)(s)という2つのパラメータで特徴付けられる。fによるデッド・ゾーンの最適化は、良好なレート−歪み性能を得るための効率的な方法として使用されることが多い。しかし、このプロセスの間にデッド・ゾーンを導入する(すなわちfの項を減少させる。)ことにより、通常は、品質に対する影響を低く抑えながらさらにビットレートを低下させることができることは周知である。これは、解像度の高い素材の細部(およびフィルム・グレイン情報)を含まない解像度の低いコンテンツの場合に特に当てはまる。f=1/2を用いてもよいが、この値にすると、ビットレートの増加が大きくなり、レート−歪み評価の点で性能が低下する可能性もある。
Referring now to FIG. 2, the overall effect of dead zone processing during transformation and quantization is indicated by
様々な周波数が他のものよりも重要であることを考慮して、上記に代わる一つの手法では、性能を向上させるためにこの観察を考慮に入れることになる。全ての変換係数に対して一定のfの値を使用する代わりに、特に各デッド・ゾーンパラメータが周波数位置に基づいて選択される行列手法では、様々な値を考慮する。従って、この場合にはZは次のように計算することができる。
Z=int({|W|+f(i,j)×(1<<q_bits)}>>qbits)・sgn(W)
ここで、iおよびjは、ブロック変換係数内の現在の列または行に対応する。アレイfは、スライスまたはマクロブロックのタイプ、および現在のブロックのテクスチャ特性(分散またはエッジ情報)によって決めることができる。例えば、あるブロックが複数のエッジを含む、またはその分散特性が低い場合には、デッド・ゾーン処理プロセスによるアーチファクトがより目に見えやすくなるので、それらをそれ以上取り込まないようにすることが重要である。一方、空間アクティビティの高いブロックはより多くのアーチファクトをマスクすることができ、品質に有意な影響を及ぼすことなくデッド・ゾーンを増大させることができる。デッド・ゾーンは、現在のブロックが将来のピクチャのブロックに対して有用な情報を提供するかどうかに応じて(すなわち現在のブロック内の任意のピクセルがその他のピクセルの予測に使用されるか使用されないかに応じて)変化させることもできる。
Considering that various frequencies are more important than others, one alternative approach would take this observation into account to improve performance. Instead of using a constant f value for all transform coefficients, various values are taken into account, especially in the matrix approach where each dead zone parameter is selected based on frequency location. Therefore, in this case, Z can be calculated as follows.
Z = int ({| W | + f (i, j) × (1 << q_bits)} >> qbits) · sgn (W)
Here, i and j correspond to the current column or row in the block transform coefficient. The array f can be determined by the type of slice or macroblock and the texture characteristics (distribution or edge information) of the current block. For example, if a block contains multiple edges or has low dispersion characteristics, artifacts from the dead zone processing process are more visible, so it is important not to capture them further. is there. On the other hand, blocks with high spatial activity can mask more artifacts and increase the dead zone without significantly affecting quality. The dead zone depends on whether the current block provides useful information for future blocks of the picture (i.e. whether any pixels in the current block are used to predict other pixels) (Depending on what is not done).
例えば、4×4変換を用いる場合には、以下のデッド・ゾーン処理行列を使用することができる。
if(cur_slice_typek==I_Slice)
{
if(MBvariance(k,i,j)<15||MBvariance(k,i,j)>60)
For example, when using a 4 × 4 transform, the following dead zone processing matrix can be used.
if (cur_slice_type k == I_Slice)
{
if (MBvariance (k, i, j) <15 || MBvariance (k, i, j)> 60)
else if(MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40||contains_edges(k,i,j))
else if (MBvariance (k, i, j)> = 15 && MBvariance (k, i, j) <= 40 || contains_edges (k, i, j))
else
else
else if(cur_slice_typek==P_Slice)
{
if(MBvariance(k,i,j)<15||MBvariance(k,i,j)>60)
else if (cur_slice_type k == P_Slice)
{
if (MBvariance (k, i, j) <15 || MBvariance (k, i, j)> 60)
else if(MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40||contains_edges(k,i,j))
else if (MBvariance (k, i, j)> = 15 && MBvariance (k, i, j) <= 40 || contains_edges (k, i, j))
else
else
else//B_slices
{
else / B_slices
{
ある条件下では、エンコーダが将来のフレームを用いた時間的解析を実行することが可能になることもある。この場合には、以前に符号化されたピクチャのみを考慮して、将来のピクチャが同様の時間的特性を有するものと仮定することによって時間的解析を実行することができる。例えば、現在のピクチャが高い類似性を有する(例えばMAPDk,k−1が小さい)場合には、次に符号化するピクチャとの類似性(MAPDk,k+1)も小さいと仮定する。従って、全ての指標(k、k+1)を(k,k−1)で置き換えて、既に利用可能な情報に基づいて符号化パラメータの適応化を行うことができる。 Under certain conditions, the encoder may be able to perform temporal analysis using future frames. In this case, temporal analysis can be performed by considering only previously coded pictures and assuming that future pictures have similar temporal characteristics. For example, when the current picture has a high similarity (for example, MAPD k, k−1 is small), it is assumed that the similarity (MAPD k, k + 1 ) with the next picture to be encoded is also small. Therefore, all the indices (k, k + 1) can be replaced with (k, k-1), and coding parameters can be adapted based on already available information.
次に図3を参照すると、ビデオ・エンコーダの全体を参照番号300で示してある。ビデオ・エンコーダ300の入力は、事前解析ブロック310の入力と信号通信で接続されている。事前解析ブロック310は、互いに信号通信で接続された複数のフレーム遅延312を含む。これら複数のフレーム遅延312はそれぞれ縦に直列に接続され、また並列信号経路によって並列にも接続されている。この並列信号経路は、時間的解析器315の入力にも信号通信で接続されている。エンコーダ300の入力から最も遠く離れた、直列に接続された最後のフレーム遅延312の出力は、空間的解析器320の入力、第1の加算ジャンクション325の反転入力、動き補償器375の第1の入力、および動き推定/モード決定ブロック370の第1の入力に信号通信で接続される。第1の加算ジャンクション325の出力は、変換器330の入力に信号通信で接続される。変換器330の出力は、量子化器335の第1の入力に信号通信で接続される。量子化器335の出力は、可変長コーダ340の第1の入力および逆量子化器345の入力に信号通信で接続される。可変長コーダ340の出力は、ビデオ・エンコーダ300の外部で使用可能な出力である。逆量子化器345の出力は、逆変換器350の入力に信号通信で接続される。逆変換器350の出力は、第2の加算ジャンクション355の非反転の第1の入力に信号通信で接続される。第2の加算ジャンクション355の出力は、ループ・フィルタ360の第1の入力に信号通信で接続される。ループ・フィルタ360の出力は、ピクチャ参照記憶装置365の第1の入力に信号通信で接続される。ピクチャ参照記憶装置365の出力は、動き推定/モード決定ブロック370の第2の入力、および動き補償器375の第2の入力に信号通信で接続される。動き推定/モード決定ブロック370の第1の出力は、可変長コーダ340の第2の入力に信号通信で接続される。動き推定/モード決定ブロック370の第2の出力は、動き補償器375の第3の入力に信号通信で接続される。動き補償器375の出力は、第1の加算ジャンクション325の非反転入力、および第2の加算ジャンクション355の非反転の第2の入力に信号通信で接続される。空間的解析器320の第1の出力は、量子化器335の第2の入力に信号通信で接続される。空間的解析器320の第2の出力は、ループ・フィルタ360の第2の入力、動き推定/モード決定ブロック370の第3の入力、および第1の加算ジャンクション325の非反転入力に信号通信で接続される。時間的解析器315の第1の出力は、量子化器335の第2の入力に信号通信で接続される。時間的解析器315の第2の出力は、動き推定/モード決定ブロック370の第4の入力に信号通信で接続される。時間的解析器315の第3の出力は、ループ・フィルタ360の第3の入力、およびピクチャ参照記憶装置365の第2の入力に信号通信で接続される。
Referring now to FIG. 3, the entire video encoder is indicated by
ピクチャ群は、時間的解析ステップの間に考慮される。この時間的解析ステップでは、スライス・タイプ決定、GOP構造、重み付きパラメータ(動き推定/モード決定ブロック370による)、量子化値およびデッド・ゾーン処理(量子化器335による)、参照の順序およびハンドリング(ピクチャ参照記憶装置365)、ピクチャ符号化の順序付け、フレーム/フィールド・ピクチャ・レベル適応化決定、ならびにデブロッキング・パラメータ(ループ・フィルタ360)を含むいくつかのパラメータを決定する。同様に、各符号化フレームに対して空間的解析を行う。この空間的解析も同様に、量子化およびデッド・ゾーン処理(量子化器335)、ラグランジュ・パラメータおよびスライス・タイプ決定(動き推定/モード決定ブロック370)、インター/イントラ・モード決定、フレーム/フィールド・ピクチャ・レベルおよびマクロブロック・レベル適応化決定、ならびにデブロッキング(ループ・フィルタ360)に影響を及ぼす可能性がある。 The pictures are considered during the temporal analysis step. This temporal analysis step includes slice type determination, GOP structure, weighted parameters (by motion estimation / mode determination block 370), quantized values and dead zone processing (by quantizer 335), reference order and handling. Several parameters are determined, including (picture reference store 365), picture coding ordering, frame / field picture level adaptation decisions, and deblocking parameters (loop filter 360). Similarly, a spatial analysis is performed on each encoded frame. This spatial analysis is similarly quantized and dead zone processed (quantizer 335), Lagrange parameter and slice type determination (motion estimation / mode determination block 370), inter / intra mode determination, frame / field. Can affect picture level and macroblock level adaptation decisions, as well as deblocking (loop filter 360).
次に図4を参照すると、ビデオ信号データを符号化する例示的なプロセスの全体を参照番号400で示してある。このプロセスでは、反復するたびに必要な統計値を収集および更新しながら、同一のビットストリームを複数回解析または符号化することができる。これらの統計値は、後続のパスのそれぞれで、ビデオ特性またはユーザ要件を所与としてエンコーダのパラメータを適応させることによって符号化の性能を向上させるために使用される。具体的には、k個のフレーム(すなわち記憶されていないピクチャは除く。)は、L個のパス(本明細書ではL回の「繰返し」および「反復」とも呼ぶ)およびサイズ(N,M)のウィンドウで符号化されることになる。ここで、Nはウィンドウ内のフレームの総数、Mは隣接するウィンドウ間で重複するフレームの数である。符号化されるフレームは変数frmを用いて指標が付けられ、ウィンドウ内の現在の位置は変数windexを用いて指標が付けられる。
With reference now to FIG. 4, an exemplary process for encoding video signal data is indicated generally by the
このプロセスは、制御を機能ブロック410に渡す開始ブロック405を含む。機能ブロック410では、シーケンス・サイズをkに設定し、繰返し回数をLに設定し、変数iをゼロ(0)に設定し、制御を機能ブロック415に渡す。機能ブロック415では、ウィンドウ・サイズをNに設定し、重複サイズをMに設定し、変数frmをゼロ(0)に設定し、制御を機能ブロック420に渡す。機能ブロック420では、変数windexをゼロ(0)に設定し、制御を機能ブロック425に渡す。従って、各符号化パスごとにウィンドウ・パラメータが初期化されることが理解されるであろう。これにより、様々なウィンドウ・サイズを使用すること、または以前の解析ステップに基づいて様々なウィンドウ・サイズの適応化を行うことも可能になる(例えばシーン変更が検出された場合には、それに応じて完全なシーンのみを含むようにNおよびMを調整することができる。)。
The process includes a
機能ブロック425では、ウィンドウ内のN個全てのフレームを考慮しながら、処理対象の各ウィンドウの時間的解析を実行し、時間的統計値(tstati,frm…frm+N−1)を生成し、以前のパスまたは符号化ステップの統計値を現在の統計値を用いて最適に適応させ、または洗練する。機能ブロック425では、その後、制御を機能ブロック430に渡す。機能ブロック430では、windex<N−Mの条件が満たされなくなるまで指標frm(現在のウィンドウ内のwindex)を有するフレームについて空間的解析を実行し、制御を機能ブロック435に渡す。機能ブロック435では、時間的および空間的解析の結果に基づいてこれらのフレームを符号化し、複数のパスが必要な場合に必要になる可能性があるエンコーダ統計値を生成/収集し、制御を機能ブロック440に渡す。
The
機能ブロック440では、変数frmおよびwindexの値を増分し、制御を判定ブロック445に渡す。判定ブロック445では、変数frmがk未満であるかどうかを判定する。
In
変数frmがk未満である場合には、windexが(N−M)未満であるかどうかを判定する判定ブロック450に制御が移る。そうでない場合には、変数frmがk以上である場合には、iがL未満であるかどうかを判定する判定ブロック455に制御が移る。
If the variable frm is less than k, control passes to a
windexが(N−M)未満である場合には、制御は機能ブロック430に移る。そうでない場合、windexが(N−M)以上である場合には、制御は機能ブロック420に戻る。
If w index is less than (N−M), control passes to function
iがL以上である場合には、制御は機能ブロック415に戻る。そうでない場合、iがL未満である場合には、制御は終了ブロック460に移る。
If i is greater than or equal to L, control returns to function
以下、本発明の様々な例示的な実施形態により、本発明の多くのさらなる利点/特徴のいくつかについて説明する。例えば、1つの利点/特徴は、符号化するコンテンツの重複する限られたウィンドウに基づいてビデオ解析を実行し、この情報を用いて符号化パラメータの適応化を行う符号化装置および符号化方法が提供されることである。もう1つの利点/特徴は、ビデオ解析において時空間的解析を使用することである。さらに別の利点/特徴は、ビデオ解析で事前符号化パスを考慮することである。さらに、別の利点/特徴は、ビデオ解析において時空間的解析および事前符号化パスが共に考慮されることである。また、別の利点/特徴は、ピクチャ符号化タイプ、エッジ、平均および分散の情報のうち少なくとも1つが、空間的解析、ならびにラグランジュ・パラメータ、量子化およびデッド・ゾーン処理の適応化に使用されることである。さらに別の利点/特徴は、絶対差および絶対分散を使用して、量子化パラメータの適応化を行うことである。さらに、別の利点/特徴は、実行されたビデオ解析で、以前に符号化されたピクチャのみが考慮されることである。さらに、別の利点/特徴は、実行されたビデオ解析を利用して、スライス・タイプ決定、GOPおよびピクチャ符号化の構造および順序、重み付きパラメータ、量子化値およびデッド・ゾーン処理、ラグランジュ・パラメータ、参照数、参照の順序およびハンドリング、フレーム/フィールド・ピクチャおよびマクロブロックの決定、デブロッキング・パラメータ、インター・ブロック・サイズ決定、イントラ空間予測、および直接モードを含む(ただしこれらに限定されない)いくつかの符号化パラメータのうち少なくとも1つを決定することである。また、別の利点/特徴は、以前に生成した統計値が符号化パラメータまたは解析統計値に適応するように考慮しながら、複数回反復してビデオ解析を実行することができることである。さらに、別の利点/特徴は、ウィンドウ・サイズおよび重複するウィンドウ領域が、以前に生成した解析統計値に基づいて適応化可能であることである。 In the following, some of the many further advantages / features of the present invention will be described by means of various exemplary embodiments of the present invention. For example, one advantage / feature is that an encoding apparatus and method that performs video analysis based on overlapping overlapping windows of content to be encoded and uses this information to adapt encoding parameters. Is to be provided. Another advantage / feature is the use of spatio-temporal analysis in video analysis. Yet another advantage / feature is to consider the precoding pass in video analysis. Yet another advantage / feature is that both spatio-temporal analysis and precoding passes are considered in video analysis. Another advantage / feature is that at least one of picture coding type, edge, mean and variance information is used for spatial analysis and adaptation of Lagrangian parameters, quantization and dead zone processing That is. Yet another advantage / feature is the use of absolute difference and absolute variance to perform quantization parameter adaptation. Yet another advantage / feature is that only the previously encoded pictures are considered in the performed video analysis. Furthermore, another advantage / feature is the use of the video analysis performed to determine slice type, GOP and picture coding structure and order, weighted parameters, quantized values and dead zone processing, Lagrangian parameters , Reference number, reference order and handling, frame / field picture and macroblock determination, deblocking parameters, inter block sizing, intra spatial prediction, and direct mode Determining at least one of the encoding parameters. Another advantage / feature is that video analysis can be performed in multiple iterations, taking into account previously generated statistics to adapt to encoding parameters or analysis statistics. Furthermore, another advantage / feature is that the window size and overlapping window regions can be adapted based on previously generated analysis statistics.
本発明の以上その他の特徴および利点は、当業者なら本明細書の教示に基づいて容易に確認することができる。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特殊目的プロセッサまたはそれらの組合せの様々な形態で実施することができることを理解されたい。 These and other features and advantages of the present invention can be readily ascertained by those skilled in the art based on the teachings herein. It should be understood that the teachings of the present invention can be implemented in various forms of hardware, software, firmware, special purpose processors, or combinations thereof.
本発明の教示は、ハードウェアとソフトウェアの組合せとして実施されることがより好ましい。さらに、ソフトウェアは、プログラム記憶装置上で有形に実施されたアプリケーション・プログラムとして実施されることが好ましい。アプリケーション・プログラムは、任意の適当なアーキテクチャを有するマシンにアップロードして実行することができる。このマシンは、1つまたは複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)および入出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォームに実装されることが好ましい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードを含むこともできる。本明細書に記載の様々なプロセスおよび機能は、CPUが実行することができる、マイクロ命令コードの一部またはアプリケーション・プログラムの一部あるいはそれらの任意の組合せとすることもできる。さらに、追加のデータ記憶装置や印刷装置など、その他の様々な周辺機器をコンピュータ・プラットフォームに接続することもできる。 More preferably, the teachings of the present invention are implemented as a combination of hardware and software. Furthermore, the software is preferably implemented as an application program tangibly implemented on the program storage device. The application program can be uploaded and executed on a machine having any suitable architecture. The machine is implemented on a computer platform having hardware such as one or more central processing units (“CPU”), random access memory (“RAM”) and input / output (“I / O”) interfaces. It is preferred that The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be part of the microinstruction code or part of the application program or any combination thereof that can be executed by the CPU. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
さらに、添付の図面に示すシステム構成要素および方法の一部はソフトウェアで実施することが好ましく、またシステム構成要素間またはプロセス機能ブロック間の実際の接続形態は、本発明を実施する方法によって変わることがあることを理解されたい。本明細書の教示があれば、当業者なら、上記の、またそれに類する本発明の実施態様または構成を思いつくことができるであろう。 Furthermore, some of the system components and methods shown in the accompanying drawings are preferably implemented in software, and the actual connections between system components or process functional blocks will vary depending on the method of implementing the invention. Please understand that there is. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar embodiments or configurations of the present invention.
本明細書では添付の図面を参照しながら例示的な実施形態について説明したが、本発明はこうした具体的な実施形態に限定されるものではなく、当業者なら、本発明の趣旨または範囲を逸脱することなく様々な変更および修正を加えることができることを理解されたい。これらの変更および修正は全て、添付の特許請求の範囲に記載の本発明の範囲に含まれるものとする。 Although exemplary embodiments have been described herein with reference to the accompanying drawings, the present invention is not limited to these specific embodiments, and those skilled in the art will depart from the spirit or scope of the present invention. It should be understood that various changes and modifications can be made without doing so. All such changes and modifications are intended to be included within the scope of the present invention as set forth in the appended claims.
Claims (24)
前記ビデオ信号データに対応する前記複数のピクチャの少なくとも一部に関する複数の重複解析ウィンドウを用いて前記ビデオ信号データのビデオ解析を実行し、前記ビデオ解析の結果に基づいて前記ビデオ信号データの符号化パラメータの適応化を行う重複ウィンドウ解析ユニット(310)を含む、前記エンコーダ。 An encoder that encodes video signal data corresponding to a plurality of pictures,
Performing video analysis of the video signal data using a plurality of overlap analysis windows for at least some of the plurality of pictures corresponding to the video signal data, and encoding the video signal data based on a result of the video analysis The encoder comprising an overlapping window analysis unit (310) that performs parameter adaptation.
前記ビデオ信号データに対応する前記複数のピクチャの少なくとも一部に関する複数の重複解析ウィンドウを用いて前記ビデオ信号データのビデオ解析を実行するステップ(425、430)と、
前記ビデオ解析の結果に基づいて前記ビデオ信号データの符号化パラメータの適応化を行うステップ(435)と、を含む前記方法。 A method for encoding video signal data corresponding to a plurality of pictures, comprising:
Performing video analysis of the video signal data using a plurality of overlap analysis windows for at least some of the plurality of pictures corresponding to the video signal data (425, 430);
Adapting coding parameters of the video signal data based on the result of the video analysis (435).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58128004P | 2004-06-18 | 2004-06-18 | |
PCT/US2005/019772 WO2006007285A1 (en) | 2004-06-18 | 2005-06-06 | Method and apparatus for video encoding optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008503919A true JP2008503919A (en) | 2008-02-07 |
JP2008503919A5 JP2008503919A5 (en) | 2008-07-10 |
Family
ID=34972204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007516535A Pending JP2008503919A (en) | 2004-06-18 | 2005-06-06 | Method and apparatus for optimizing video coding |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1766991A1 (en) |
JP (1) | JP2008503919A (en) |
CN (1) | CN1969558A (en) |
BR (1) | BRPI0512057A (en) |
MY (1) | MY149954A (en) |
WO (1) | WO2006007285A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG130962A1 (en) * | 2005-09-16 | 2007-04-26 | St Microelectronics Asia | A method and system for adaptive pre-filtering for digital video signals |
US8498336B2 (en) | 2006-02-02 | 2013-07-30 | Thomson Licensing | Method and apparatus for adaptive weight selection for motion compensated prediction |
US7885476B2 (en) | 2006-12-14 | 2011-02-08 | Sony Corporation | System and method for effectively performing an adaptive encoding procedure |
CN102595093A (en) | 2011-01-05 | 2012-07-18 | 腾讯科技(深圳)有限公司 | Video communication method for dynamically changing video code and system thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001512643A (en) * | 1997-02-12 | 2001-08-21 | サーノフ コーポレイション | Apparatus and method for optimizing rate control in a coding system |
JP2002232882A (en) * | 2001-01-31 | 2002-08-16 | Nec Corp | Moving picture encoder using a priori analysis, moving picture encoding method, and its program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438165B2 (en) * | 1998-03-09 | 2002-08-20 | Lg Electronics | Method and apparatus for advanced encoder system |
FR2782879B1 (en) * | 1998-08-28 | 2000-11-03 | Thomson Multimedia Sa | IMAGE COMPRESSION PROCESS |
-
2005
- 2005-06-06 CN CN 200580019971 patent/CN1969558A/en active Pending
- 2005-06-06 JP JP2007516535A patent/JP2008503919A/en active Pending
- 2005-06-06 BR BRPI0512057-8A patent/BRPI0512057A/en not_active IP Right Cessation
- 2005-06-06 WO PCT/US2005/019772 patent/WO2006007285A1/en active Application Filing
- 2005-06-06 EP EP05758862A patent/EP1766991A1/en not_active Withdrawn
- 2005-06-15 MY MYPI20052708 patent/MY149954A/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001512643A (en) * | 1997-02-12 | 2001-08-21 | サーノフ コーポレイション | Apparatus and method for optimizing rate control in a coding system |
JP2002232882A (en) * | 2001-01-31 | 2002-08-16 | Nec Corp | Moving picture encoder using a priori analysis, moving picture encoding method, and its program |
Also Published As
Publication number | Publication date |
---|---|
WO2006007285A1 (en) | 2006-01-19 |
CN1969558A (en) | 2007-05-23 |
EP1766991A1 (en) | 2007-03-28 |
MY149954A (en) | 2013-11-15 |
BRPI0512057A (en) | 2008-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070230565A1 (en) | Method and Apparatus for Video Encoding Optimization | |
JP5400876B2 (en) | Rate control model adaptation based on slice dependency for video coding | |
JP5074924B2 (en) | Fast mode decision method and apparatus for interframe | |
JP5046335B2 (en) | Method and apparatus for fast mode determination of B frames in a video encoder | |
JP5579852B2 (en) | A fast technique for rate-distortion optimized quantization | |
JP5264747B2 (en) | Efficient one-pass encoding method and apparatus in multi-pass encoder | |
CA2883133C (en) | A video encoding method and a video encoding apparatus using the same | |
JP4317814B2 (en) | Encoding apparatus and encoding method for moving picture information | |
KR20050105271A (en) | Video encoding | |
JP2007503776A (en) | Method and apparatus for minimizing the number of reference images used for inter coding | |
JP2011517911A (en) | Rate-distortion quantization for context-adaptive variable-length coding (CAVLC) | |
JP2006513636A (en) | Fast mode decision making for inter-frame coding | |
US9210435B2 (en) | Video encoding method and apparatus for estimating a code amount based on bit string length and symbol occurrence frequency | |
CN110996102B (en) | Video coding method and device for inhibiting intra-frame block respiration effect in P/B frame | |
WO2009133365A2 (en) | Scene change detection | |
US9699466B2 (en) | Adaptive reference/non-reference frame determination for video encoding | |
CN108989818B (en) | Image coding parameter adjusting method and device | |
JP2008503919A (en) | Method and apparatus for optimizing video coding | |
JP5649296B2 (en) | Image encoding device | |
JP4130617B2 (en) | Moving picture coding method and moving picture coding apparatus | |
US8265141B2 (en) | System and method for open loop spatial prediction in a video encoder | |
KR20060085003A (en) | A temporal error concealment method in the h.264/avc standard | |
KR101247024B1 (en) | Method of motion estimation and compensation using in-loop preprocessing filtering | |
JP2009027762A (en) | Movement compensation image encoding device and encoding method | |
JP5171658B2 (en) | Image encoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20080319 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080415 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080526 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080526 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091019 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110222 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110524 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111129 |