JP2012080151A - Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction - Google Patents
Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction Download PDFInfo
- Publication number
- JP2012080151A JP2012080151A JP2009027747A JP2009027747A JP2012080151A JP 2012080151 A JP2012080151 A JP 2012080151A JP 2009027747 A JP2009027747 A JP 2009027747A JP 2009027747 A JP2009027747 A JP 2009027747A JP 2012080151 A JP2012080151 A JP 2012080151A
- Authority
- JP
- Japan
- Prior art keywords
- geometric transformation
- prediction
- motion
- information
- parameter
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、隣接ブロックと予測対象ブロックの動き情報を用いて幾何変換パラメータを推定し、推定した幾何変換パラメータを基に予測対象ブロックの幾何変換予測処理を行う動画像符号化と動画像復号化の方法、プログラム及び装置に関する。 The present invention relates to moving picture coding and moving picture decoding in which geometric transformation parameters are estimated using motion information of neighboring blocks and prediction target blocks, and geometric transformation prediction processing of the prediction target blocks is performed based on the estimated geometric transformation parameters. The present invention relates to a method, a program, and an apparatus.
近年、大幅に符号化効率を向上させた動画像符号化方法がITU−TとISO/IECとの共同で、ITU−T REC. H.264及びISO/IEC 14496−10(以下、「H.264」という。)として勧告されている。H.264では、予測処理、変換処理、及び、エントロピー符号化処理が、矩形ブロック単位(例えば、16×16画素、8×8画素等)で行われる。このため、H.264では矩形ブロックで表現出来ないオブジェクトを予測する際に、より小さな予測ブロック(4×4画素等)を選択することで予測効率を高めている。このようなオブジェクトを効果的に予測するために、矩形ブロックに複数の予測パターンを用意する方法や、変形したオブジェクトに対してアフィン変換を用いた動き補償を適応する方法等がある。 In recent years, a moving picture coding method having greatly improved coding efficiency has been jointly developed by ITU-T and ISO / IEC. H. H.264 and ISO / IEC 14496-10 (hereinafter referred to as “H.264”). H. In H.264, prediction processing, conversion processing, and entropy encoding processing are performed in units of rectangular blocks (for example, 16 × 16 pixels, 8 × 8 pixels, etc.). For this reason, H.C. In H.264, when an object that cannot be expressed by a rectangular block is predicted, the prediction efficiency is increased by selecting a smaller prediction block (4 × 4 pixels or the like). In order to predict such an object effectively, there are a method of preparing a plurality of prediction patterns in a rectangular block, a method of applying motion compensation using affine transformation to a deformed object, and the like.
例えば、特開2007―312397号公報(特許文献1)には、オブジェクトの動きのモデルをアフィン変換モデルとし、予測対象のブロック毎に最適なアフィン変換パラメータを算出することによって、オブジェクトの拡大・縮小・回転などを考慮する予測を用いるビデオフレーム転送方法等の発明が開示されている。 For example, in Japanese Patent Application Laid-Open No. 2007-312397 (Patent Document 1), an object movement model is an affine transformation model, and an optimal affine transformation parameter is calculated for each prediction target block, thereby enlarging / reducing the object. An invention such as a video frame transfer method using a prediction that takes rotation into consideration is disclosed.
また、非特許文献1には、動きのモデルを平行移動モデルとして算出した動きベクトルの情報を基にして、ブロックを三角パッチに分割し、それぞれのパッチ毎にアフィン変換パラメータを推定することで、近似的にアフィン変換モデルの動き補償予測を行う手法が開示されている。
Further, Non-Patent
しかしながら、上記特許文献1に記載の方法では、6種類のアフィン変換パラメータを画素ブロック毎に送信するため、オーバーヘッドが増加する。また、これらのパラメータを算出するために、複数の参照画像と予測対象のブロックに対応する入力画像とのブロックマッチングを行う必要があり演算量が増加するという問題がある。
However, in the method described in
また、非特許文献1に記載の方法は、上下左右など予測対象となる画素ブロックに隣接する8種類の隣接ブロックの動きベクトルと予測対象の画素ブロックで算出された動きベクトルとを用いてアフィン変換パラメータを推定するため、最適な動きベクトルを求めるためにはフレームの再符号化が必要となる。一方、動きベクトルの算出のみをフレーム単位で行った場合は、符号量と符号化歪みの観点で最適ではなく、符号化効率が低下するという問題がある。
Further, the method described in Non-Patent
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減し、符号量を増加させることなく予測効率を向上する動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法を提供することを目的とする。 The present invention has been invented in order to solve these problems in view of the above points. The present invention reduces the motion detection processing necessary for estimating the geometric transformation parameters used for the geometric transformation motion compensation prediction, and reduces the code amount. An object of the present invention is to provide a video encoding device, a video decoding device, a video encoding method, and a video decoding method that improve the prediction efficiency without increasing the image quality.
上記目的を達成するために、本発明の動画像符号化装置は次の如き構成を採用した。 In order to achieve the above object, the moving picture encoding apparatus of the present invention employs the following configuration.
本発明の動画像符号化装置は、画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測部と、前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化部と、を有する構成とすることができる。 A moving image encoding apparatus according to the present invention includes a motion information acquisition unit that acquires motion information of one or more adjacent blocks among adjacent blocks adjacent to one of pixel blocks into which an image signal is divided, and motion for the pixel blocks A geometric transformation information acquisition unit that acquires, based on the motion information, a geometric transformation parameter that is information related to a shape of a mapping obtained by geometric transformation of the pixel block in a reference image signal when performing compensation, and the reference image signal A geometric transformation prediction unit that performs geometric transformation motion prediction including geometric transformation with the pixel block using the reference image signal subjected to geometric transformation by the geometric transformation parameter, and the geometric transformation motion prediction is performed. And an encoding unit that encodes the prediction error value of the pixel block.
また上記目的を達成するために、本発明の動画像符号化方法は、画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測ステップと、前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化ステップと、を有する構成とすることができる。 In order to achieve the above object, the moving picture coding method of the present invention provides motion information for acquiring motion information of one or more adjacent blocks among adjacent blocks adjacent to one of the pixel blocks into which the image signal is divided. Geometric transformation information for obtaining, based on the motion information, a geometric transformation parameter, which is information relating to the shape of a map obtained by geometric transformation of the pixel block, in an acquisition step and a reference image signal when performing motion compensation for the pixel block An obtaining step, and a geometric transformation prediction step including performing geometric transformation motion prediction including geometric transformation between the reference image signal and the pixel block using the reference image signal subjected to geometric transformation by the geometric transformation parameter. And a coding step for coding a prediction error value of the pixel block on which the geometric transformation motion prediction has been performed, and Rukoto can.
また上記目的を達成するために、本発明の動画像復号化装置は、画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化部と、前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測部と、復号された前記予測誤差値と生成された前記予測値とを加算する加算部と、を有する構成とすることができる。 In order to achieve the above object, a moving picture decoding apparatus according to the present invention includes a geometric transformation including a geometric transformation between a pixel block into which an image signal is divided and a reference image signal when motion compensation is performed on the pixel block. A decoding unit that decodes code data obtained by encoding the image signal, including a prediction error value obtained by conversion motion prediction, and a motion of one or more adjacent blocks among adjacent blocks adjacent to the pixel block A motion information acquisition unit that acquires information, and a geometric transformation information acquisition unit that acquires, based on the motion information, a geometric transformation parameter that is information related to a shape of a mapping by geometric transformation of the pixel block in the reference image signal; The geometric transformation motion prediction is performed using the reference image signal subjected to the geometric transformation by the geometric transformation parameter, and a prediction value is generated. When, can be configured to have, an adder for adding the said predicted value generated and decoded the prediction error value.
また上記目的を達成するために、本発明の動画像復号化方法は、画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化ステップと、前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、前参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測ステップと、復号された前記予測誤差値と生成された前記予測値とを加算する加算ステップと、を有する構成とすることができる。 In order to achieve the above object, the moving picture decoding method of the present invention includes a geometric conversion including a geometric transformation between a pixel block into which an image signal is divided and a reference image signal when motion compensation is performed on the pixel block. A decoding step for decoding code data obtained by encoding the image signal, including a prediction error value obtained by conversion motion prediction; and a motion of one or more adjacent blocks among adjacent blocks adjacent to the pixel block A motion information acquisition step for acquiring information, and a geometric conversion information acquisition step for acquiring, based on the motion information, a geometric transformation parameter that is information related to the shape of the mapping by geometric transformation of the pixel block in the previous reference image signal; , A geometric transformation motion prediction including a geometric transformation between the reference image signal and the pixel block is performed by the geometric transformation according to the geometric transformation parameter. And a geometric transformation prediction step for generating a prediction value, and an addition step for adding the decoded prediction error value and the generated prediction value. be able to.
本発明の動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法によれば、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減し、符号量を増加させることなく予測効率を向上する動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法を提供することが可能になる。 According to the moving image encoding device, the moving image decoding device, the moving image encoding method, and the moving image decoding method of the present invention, a motion detection process necessary for estimating a geometric transformation parameter used for geometric transformation motion compensation prediction It is possible to provide a moving picture encoding apparatus, a moving picture decoding apparatus, a moving picture encoding method, and a moving picture decoding method that improve the prediction efficiency without increasing the code amount.
以下、第1の実施の形態ないし第7の実施の形態を図面に基づき説明する。第1の実施の形態から第4の実施の形態は、動画像符号化装置による実施の形態であり、第5の実施の形態から第7の実施の形態は、動画像復号化装置による実施の形態である。なお、以下の実施の形態における「判定パラメータ」は、「決定パラメータ」に対応する。 The first to seventh embodiments will be described below with reference to the drawings. The first to fourth embodiments are embodiments using a moving image encoding device, and the fifth to seventh embodiments are performed using a moving image decoding device. It is a form. Note that “determination parameters” in the following embodiments correspond to “determination parameters”.
<動画像符号化装置>
以下の実施の形態で説明する動画像符号化装置は、入力画像信号を構成する各々のフレームを複数の画素ブロックに分割し、これら分割した画素ブロックに対して符号化処理を行って圧縮符号化し、符号列を出力する装置である。
<Moving picture encoding apparatus>
A moving image encoding apparatus described in the following embodiments divides each frame constituting an input image signal into a plurality of pixel blocks, performs an encoding process on the divided pixel blocks, and performs compression encoding. , A device for outputting a code string.
[第1の実施の形態]
<動画像符号化装置100>
図1は、幾何変換予測を用いる符号化方法を実現する動画像符号化装置100の構成を示す図である。また、図2は、動画像符号化装置100が有するインター予測部130のブロック図である。
[First Embodiment]
<Moving
FIG. 1 is a diagram illustrating a configuration of a moving
図1の動画像符号化装置100は、符号化制御部126から入力される符号化パラメータに基づいて、入力画像信号114に対するインター予測(フレーム間予測)符号化処理を行い、予測画像信号123を生成し、符号化データ124を出力する。
The moving
動画像符号化装置100は、動画像または静止画像の入力画像信号114が、画素ブロック単位、例えばマクロブロック単位に分割されて入力される。入力画像信号は、フレーム及びフィールドの両方を含む1つの符号化の処理単位である。なお、本実施の形態では、フレームを1つの符号化の処理単位とする例について説明する。
In the moving
動画像符号化装置100は、ブロックサイズや予測画像信号123の生成方法の異なる複数の予測モードによる符号化を行う。予測画像信号123の生成方法は、具体的には大きく分けて符号化対象のフレーム内だけで予測画像を生成するイントラ予測(フレーム内予測)と、時間的に異なる複数の参照フレームを用いて予測を行うインター予測とがあるが、本実施の形態では、インター予測を用いて予測画像信号を生成する例について説明する。
The moving
第1ないし第7の実施の形態では、マクロブロックを符号化処理の基本的な処理ブロックサイズとする。マクロブロックは、典型的に例えば図3に示す16×16画素ブロックであるが、32×32画素ブロック単位であっても8×8画素ブロック単位であってもよい。またマクロブロックの形状は必ずしも正方格子である必要はない。以下、入力画像信号114の符号化対象マクロブロックを「予測対象ブロック」という。
In the first to seventh embodiments, the macro block is set to the basic processing block size of the encoding process. The macroblock is typically a 16 × 16 pixel block shown in FIG. 3, for example, but may be a 32 × 32 pixel block unit or an 8 × 8 pixel block unit. The shape of the macroblock does not necessarily need to be a square lattice. Hereinafter, the encoding target macroblock of the
第1ないし第7の実施の形態では、説明を簡単にするために図4に示されているように左上から右下に向かって符号化処理がなされていくものとする。図4では、符号化処理をされている符号化フレームfにおいて、符号化対象となるブロックcよりも左及び上に位置するブロックが、符号化済みブロックpである。 In the first to seventh embodiments, it is assumed that the encoding process is performed from the upper left to the lower right as shown in FIG. 4 in order to simplify the description. In FIG. 4, in the encoded frame f subjected to the encoding process, the blocks located on the left and above the block c to be encoded are the encoded blocks p.
動画像符号化装置100は、減算器101、変換・量子化部102、逆量子化・逆変換部103、加算器104、参照画像メモリ105、動き推定部106、及び、インター予測部130を有する。動画像符号化装置100は、符号化制御部126に接続される。
The moving
次に、動画像符号化装置100における符号化の流れを説明する。まず、入力画像信号114が、減算器101へ入力される。減算器101には、インター予測部130から出力された各々の予測モードに応じた予測画像信号123が更に入力される。減算器101は、入力画像信号114から予測画像信号123を減算した予測誤差信号115を算出する。予測誤差信号115は変換・量子化部102へと入力される。
Next, the flow of encoding in the moving
変換・量子化部102は、予測誤差信号115に対して、例えば離散コサイン変換(DCT)のような直交変換が施され、変換係数が生成される。変換・量子化部102における変換は、H.264で用いられている離散コサイン変換の他に、離散サイン変換、ウェーブレット変換、又は、成分解析等でもよい。
The transform /
変換・量子化部102では、符号化制御部126によって与えられる量子化パラメータ、量子化マトリクス等に代表される量子化情報に従って変換係数を量子化する。変換・量子化部102は、量子化後の変換係数116を、エントロピー符号化部112に対して出力し、さらに、逆量子化・逆変換部103に対しても出力する。
The transform /
エントロピー符号化部112は、量子化後の変換係数116に対してエントロピー符号化、例えばハフマン符号化や算術符号化などを行う。エントロピー符号化部112は、さらに、符号化制御部126から出力された予測情報などを含んだ、対象ブロックを符号化したときに用いた様々な符号化パラメータに対してエントロピー符号化を行う。これにより、符号化データが生成される。
The
なお、符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、等の復号の際に必要となるパラメータである。なお、予測対象ブロックの符号化パラメータは、符号化制御部126が持つ内部メモリに保持され、予測対象ブロックが他の画素ブロックの隣接ブロックとして用いられる際に利用される。 Note that the encoding parameter is a parameter necessary for decoding prediction information, information on transform coefficients, information on quantization, and the like. Note that the encoding parameter of the prediction target block is held in an internal memory of the encoding control unit 126, and is used when the prediction target block is used as an adjacent block of another pixel block.
エントロピー符号化部112により生成された符号化データ124は、動画像符号化装置100から出力され、多重化を経て出力バッファ113に一旦蓄積された後、符号化制御部126が管理する出力タイミングに従って符号化データ124として出力される。符号化データ124は、例えば、図示しない蓄積系(蓄積メディア)または伝送系(通信回線)へ送出される。
The encoded
逆量子化・逆変換部103は、変換・量子化部102から出力された量子化後の変換係数116に対する逆量子化処理が行われる。ここでは、変換・量子化部102で使用された量子化情報に対応する量子化情報が、符号化制御部126の内部メモリからロードされて逆量子化処理が行われる。なお、量子化情報は、例えば、量子化パラメータ、量子化マトリクス等に代表されるパラメータである。
The inverse quantization / inverse transform unit 103 performs an inverse quantization process on the quantized
逆量子化・逆変換部103では、さらに、逆量子化後の変換係数に対し、逆離散コサイン変換(IDCT)のような逆直交変換が施されることによって、復号予測誤差信号117が再生される。
The inverse quantization / inverse transform unit 103 further reproduces the decoded
復号予測誤差信号117は、加算器104に入力される。加算器104では、復号予測誤差信号117とインター予測部130から出力された予測画像信号123とが加算されることにより、復号画像信号118が生成される。復号画像信号118は、局所復号画像信号である。復号画像信号118は、参照画像メモリ105に参照画像信号120として蓄積される。参照画像メモリ105に蓄積された参照画像信号120は、動き推定部106、インター予測部130等に出力され予測の際などに参照される。
The decoded
動き推定部106は、入力画像信号114と参照画像信号120とを用いて、予測対象ブロックに適した動きベクトル119を算出する。動き情報は、例えば、動きベクトルで表されるとよい。動き情報は、また例えば、動きベクトルを他の動きベクトル等により予測する際の予測値でもよい。
The motion estimation unit 106 uses the
動き推定部106は、入力画像信号114の予測対象ブロックと、参照画像信号120の補間画像との間でブロックマッチングを行うことにより、動きベクトル119を算出する。マッチングの評価基準としては、例えば、入力画像信号114とマッチング後の補間画像との差分を画素毎に累積した値を用いる。
The motion estimation unit 106 calculates the
動きベクトル119の決定は、前述した方法の他に予測された画像と原画像との差を変換した値を用いても良いし、動きベクトルの大きさを加味したり、動きベクトルの符号量などを加味したりして、判定してもよい。また後述する式(29)及び式(30)などのコストを利用しても良い。また、マッチングは、動画像符号化装置100の外部から提供される探索範囲情報に基づいてマッチングの範囲内を全探索しても良いし、画素精度毎に階層的に実施しても良い。
In addition to the method described above, the
このようにして複数の参照画像信号に対して算出された動きベクトル119は、インター予測部130へと入力され、予測画像信号123の生成に利用される。なお、複数の参照画像信号は、それぞれの表示時刻が異なる局部復号画像である。
The
また、算出された動きベクトル119は、エントロピー符号化部112へと出力され、エントロピー符号化が行われた後に符号化データに多重化される。更に対象画素ブロックを符号化した動きベクトル119は、符号化制御部126の内部メモリに保存され、インター予測部130から適宜ロードされて利用される。
In addition, the
<インター予測部130>
図2のインター予測部130は、動き補償予測部107、幾何変換パラメータ導出部108、幾何変換予測部109、判定パラメータ導出部127、予測分離スイッチ110、予測切替部111、及び、エントロピー符号化部112を有する。
<
The
動き補償予測部107は、入力された動きベクトル119と参照画像信号120を用いて予測画像信号123を生成する。図5は、動き補償予測部107で行われるインター予測の例について説明する図である。図5では、フレーム(t)が有する予測対象ブロックに対し、フレーム(t−1)における予測誤差が小さい位置を取得することにより、動きベクトルが取得される。
The motion
インター予測では、参照画像メモリ105に蓄積されている複数の参照画像信号120を用いて補間処理を行い、作成した補間画像と入力画像信号114との同位置の画素ブロックからのズレ量を元に予測画像信号123が生成される。補間処理は、例えば、1/2画素精度の補間処理や、1/4画素精度の補間処理などが用いられ、参照画像信号120に対するフィルタリング処理等の内挿補間処理を行うことにより、補間画素の値を生成する。例えば輝度信号に対して1/4画素精度までの補間処理が許容されるH.264では、ズレ量は整数画素精度の4倍で表現される。このズレ量を動きベクトルと呼ぶ。
In inter prediction, interpolation processing is performed using a plurality of reference image signals 120 stored in the
動き補償予測部107では、動きベクトル119の情報に従って、予測対象ブロックの位置から、次式(1)を用いて動きベクトル119により参照されている位置を割り出す。ここでは、H.264の1/4画素精度の内挿補間処理を例に挙げて説明する。動きベクトルの各成分が4の倍数である場合は、整数画素位置を指していることを意味する。その他の場合は、分数精度の補間位置に対応する予測位置である。
The motion compensated
ここで、(x,y)は予測対象ブロックの先頭位置を表す垂直、水平方向のインデックスであり、(x_pos,y_pos)は参照画像信号の対応する予測位置を表す。(mv_x,mv_y)は1/4画素精度を持つ動きベクトルを示している。次に割り出した画素位置に対して、参照画像信号120の対応する画素位置の補填又は内挿補間処理によって予測画素を生成する。
Here, (x, y) is an index in the vertical and horizontal directions representing the head position of the prediction target block, and (x_pos, y_pos) represents the corresponding prediction position of the reference image signal. (Mv_x, mv_y) represents a motion vector having a 1/4 pixel accuracy. Next, a predicted pixel is generated by interpolation or interpolation processing of the corresponding pixel position of the
図6は、H.264の予測画素生成の例を示す図である。図中大文字で示されるアルファベットは整数位置の画素を示し、ドットのハッチングの正方形は1/2画素位置の補間画素を示している。また、斜線のハッチングの正方形は1/4画素位置に対応する補間画素を示している。例えば、図中、アルファベットb、hの位置に対応する1/2画素の補間処理は次式で算出される。 FIG. It is a figure which shows the example of a H.264 prediction pixel production | generation. In the figure, alphabets indicated by capital letters indicate pixels at integer positions, and dot hatched squares indicate interpolation pixels at 1/2 pixel positions. In addition, hatched squares indicate interpolation pixels corresponding to 1/4 pixel positions. For example, in the drawing, the interpolation processing of 1/2 pixel corresponding to the positions of alphabets b and h is calculated by the following equation.
式(2)では、1/2画素位置の補間画素を、6タップFIRフィルタ(タップ係数:(1,−5,20,20、−5,1)/32)を用いて生成する。式(3)では、1/4画素位置の補間画素は、2タップの平均値フィルタ(タップ係数:(1,1)/2)を用いて算出する。4つの整数画素位置の中間に存在するアルファベットjに対応する1/2画素の補間処理は、垂直方向6タップと水平方向6タップの両方向を行うことによって生成される。説明した以外の画素位置も同様のルールで補間値が生成できる。 In Expression (2), the interpolation pixel at the 1/2 pixel position is generated using a 6-tap FIR filter (tap coefficients: (1, -5, 20, 20, -5, 1) / 32). In Expression (3), the interpolation pixel at the 1/4 pixel position is calculated using a 2-tap average value filter (tap coefficient: (1, 1) / 2). The interpolation process of 1/2 pixel corresponding to the alphabet j existing in the middle of the four integer pixel positions is generated by performing both directions of 6 taps in the vertical direction and 6 taps in the horizontal direction. Interpolated values can be generated by the same rule for pixel positions other than those described.
インター予測では、複数の予測ブロックの中から現在の対象画素ブロックに適したブロックサイズを選択することが可能である。図7Aにマクロブロック単位の動き補償画素ブロックのサイズを、図7Bにサブブロック(8×8画素ブロック以下)単位の動き補償画素ブロックのサイズを示す。 In inter prediction, a block size suitable for the current target pixel block can be selected from a plurality of prediction blocks. FIG. 7A shows the size of a motion compensation pixel block in units of macroblocks, and FIG. 7B shows the size of a motion compensation pixel block in units of sub-blocks (8 × 8 pixel blocks or less).
図7Aでは、16×16画素のMB1、2個の16×8画素ブロックからなるMB2、2個の8×16画素ブロックからなるMB3、及び、4個の8×8画素ブロックからなるMB4が示される。また、図7Bでは、8×8画素のSB1、2個の8×4画素ブロックからなるSB2、2個の4×8画素ブロックからなるSB3、及び、4個の4×4画素ブロックからなるSB4が示される。 FIG. 7A shows a 16 × 16 pixel MB1, an MB2 composed of two 16 × 8 pixel blocks, an MB3 composed of two 8 × 16 pixel blocks, and an MB4 composed of four 8 × 8 pixel blocks. It is. In FIG. 7B, an SB of 8 × 8 pixels, an SB2 composed of two 8 × 4 pixel blocks, an SB3 composed of two 4 × 8 pixel blocks, and an SB4 composed of four 4 × 4 pixel blocks. Is shown.
これらの予測対象ブロックのサイズ毎に、動きベクトルを所持することが可能であるため、入力画像信号114の局所的な性質に従って、最適な予測対象ブロックの形状と動きベクトルを利用することができる。また、H.264では、どの参照画像信号に対して動きベクトルを計算したかの情報はRef_idxとして最小で8×8画素ブロック毎に変更することが可能である。
Since it is possible to possess a motion vector for each size of these prediction target blocks, the optimal shape and motion vector of the prediction target block can be used according to the local nature of the
動き補償予測部107で生成された予測画像信号123は、予測分離スイッチ110に入力され、後述する予測切替部111から出力される予測切替情報122に従って制御されたスイッチの出力端の接続先に応じて選択される。
The
一方、動き推定部106から出力された動きベクトル119が幾何変換パラメータ導出部108へと入力され、幾何変換パラメータ121が生成される。ここで、幾何変換パラメータ121は、参照画像信号120に対して幾何変換を実施するためのパラメータセットである。幾何変換パラメータ導出部108から出力された幾何変換パラメータ121は幾何変換予測部109へと入力されるとともに判定パラメータ導出部127へと入力される。
On the other hand, the
幾何変換予測部109は、入力された幾何変換パラメータ121及び参照画像信号120を用いて幾何変換を施した予測画像信号123を生成する。尚、予測対象ブロックの幾何変換パラメータ121は、符号化制御部126が持つ内部メモリに保持され、予測対象ブロックが他の画素ブロックの隣接ブロックとなる際に利用される。
The geometric
判定パラメータ導出部127では、入力される幾何変換パラメータ121に基づいて、動き補償予測部107で生成された予測画像信号を用いるか、幾何変換予測部109で生成された予測画像信号を用いるかを判断するための判定パラメータを導出する。判定パラメータ導出部127で生成された判定パラメータ125は、予測切替部111へ入力される。
The determination
予測切替部111は、入力された判定パラメータ125に従って、予測対象ブロックの予測切替情報122を出力する。予測分離スイッチ110は、入力された予測切替情報122に従ってスイッチの出力端を動き補償予測部107に接続するか、幾何変換予測部109に接続するかを決定する。この決定に従って、いずれかの予測画像信号123が減算器101及び加算器104へと出力される。
以上が動画像符号化装置100の符号化処理の流れである。
The
The above is the flow of the encoding process of the moving
<インター予測部130における幾何変換予測処理>
以下、本実施の形態に係わる幾何変換予測処理の詳細についてより詳細に説明する。
<Geometric Transformation Prediction Process in
Hereinafter, details of the geometric transformation prediction processing according to the present embodiment will be described in more detail.
<幾何変換パラメータ導出部108>
先ず、幾何変換パラメータ導出部108の処理について具体的に説明する。幾何変換パラメータ導出部108では、動き推定部106から出力された予測対象ブロックの動きベクトル119と符号化制御部126に保存されている動きベクトルを用いて、予測対象ブロックの幾何変換パラメータを導出する。符号化制御部126に保存されている動きベクトルは、隣接ブロックの動きベクトルであり、以下、「隣接動きベクトル」という。
<Geometric transformation
First, the process of the geometric transformation
図8は、幾何変換パラメータ導出部108の構成を示すブロック図である。幾何変換パラメータ導出部108は、動きベクトル取得部181とパラメータ導出部182とを有する。動きベクトル取得部181は、複数の隣接ブロックのうち、動き情報を取得する隣接ブロックを決定し、その隣接ブロックの動き情報、例えば、動きベクトルを取得する。パラメータ導出部182は、隣接ブロックの動きベクトルから、幾何変換パラメータを導出する。
FIG. 8 is a block diagram showing a configuration of the geometric transformation
以下、図9ないし図11を用いて、動きベクトル取得部181による隣接動きベクトルを導出する処理について説明する。
Hereinafter, the process of deriving the adjacent motion vector by the motion
≪隣接ブロックと隣接動きベクトルの導出(その1)−ブロックサイズが同じ場合≫
図9Aないし図9Eは、予測対象ブロックに対する隣接ブロックの関係を示す図である。図9Aでは、予測対象ブロックと隣接ブロックのサイズ(例えば16×16画素ブロック)が一致する場合の例を示す。
<< Derivation of Adjacent Block and Adjacent Motion Vector (Part 1)-When Block Size is Same >>
9A to 9E are diagrams illustrating the relationship between adjacent blocks with respect to a prediction target block. FIG. 9A shows an example in which the sizes of prediction target blocks and adjacent blocks (for example, 16 × 16 pixel blocks) match.
図9A中、斜線のハッチングが付された画素ブロックpは既に符号化又は予測が完了している画素ブロック(以下、「予測済画素ブロック」という。)である。ドットのハッチングが付されたブロックcは予測対象ブロックを示しており、白で表示されている画素ブロックnは未符号化画素(未予測)ブロックである。図中Xは符号化(予測)対象画素ブロックを表している。 In FIG. 9A, a pixel block p with hatching is a pixel block that has already been encoded or predicted (hereinafter referred to as a “predicted pixel block”). A block c with dot hatching indicates a prediction target block, and a pixel block n displayed in white is an uncoded pixel (unpredicted) block. In the figure, X represents an encoding (prediction) target pixel block.
隣接ブロックAは、予測対象ブロックXの左の隣接ブロック、隣接ブロックBは、予測対象ブロックXの上の隣接ブロック、隣接ブロックCは、予測対象ブロックXの右上の隣接ブロック、隣接ブロックDは、予測対象ブロックXの左上の隣接ブロックである。 The adjacent block A is the adjacent block on the left of the prediction target block X, the adjacent block B is the adjacent block on the prediction target block X, the adjacent block C is the adjacent block on the upper right of the prediction target block X, and the adjacent block D is This is an adjacent block at the upper left of the prediction target block X.
符号化制御部126の内部メモリに保持されている隣接動きベクトルは、予測済画素ブロックの動きベクトルのみである。図4で示したように画素ブロックは左上から右下に向かって符号化及び予測の処理がされていくため、画素ブロックXの予測を行う際には、右及び下方向の画素ブロックは未だ符号化が行われていない。そこで、これらの隣接ブロックから隣接動きベクトルを導出することができない。 The adjacent motion vector held in the internal memory of the encoding control unit 126 is only the motion vector of the predicted pixel block. As shown in FIG. 4, since the pixel block is encoded and predicted from the upper left to the lower right, when the pixel block X is predicted, the right and lower pixel blocks are still encoded. Has not been made. Therefore, an adjacent motion vector cannot be derived from these adjacent blocks.
図9Bないし図9Eは、予測対象ブロックが8×8画素ブロックの場合の、隣接ブロックの例を示す図である。なお、図9Bないし図9Eにおいて、太線はマクロブロックの境界を表す。図9Bは、マクロブロック内の左上に位置する画素ブロック、図9Cは、マクロブロック内の右上に位置する画素ブロック、図9Dは、マクロブロック内の左下に位置する画素ブロック、図9Eは、マクロブロック内の右下に位置する画素ブロックを、それぞれ、予測対象ブロックとする場合の例を示す。 9B to 9E are diagrams illustrating examples of adjacent blocks when the prediction target block is an 8 × 8 pixel block. In FIG. 9B to FIG. 9E, a bold line represents a macroblock boundary. 9B is a pixel block located at the upper left in the macro block, FIG. 9C is a pixel block located at the upper right in the macro block, FIG. 9D is a pixel block located at the lower left in the macro block, and FIG. 9E is a macro block. An example in which each pixel block located at the lower right in the block is a prediction target block is shown.
マクロブロックの内部も同様に左上から右下に向かって符号化処理が行われるため、8×8画素ブロックの符号化順序に応じて隣接ブロックの位置が変化する。対応する8×8画素ブロックの符号化処理又は予測画像生成処理が完了すると、その画素ブロックは符号化済み画素ブロックとなり、後に処理される画素ブロックの隣接ブロックとして利用される。図9Eでは、隣接ブロックCに対応する右上の画素ブロックが未符号化画素ブロックであるため、符号化済み画素ブロックの右上に位置する画素ブロックを隣接ブロックとする。 Since the inside of the macroblock is similarly encoded from the upper left to the lower right, the position of the adjacent block changes according to the encoding order of the 8 × 8 pixel block. When the encoding process or the predicted image generation process for the corresponding 8 × 8 pixel block is completed, the pixel block becomes an encoded pixel block and is used as an adjacent block of the pixel block to be processed later. In FIG. 9E, since the upper right pixel block corresponding to the adjacent block C is an unencoded pixel block, the pixel block located at the upper right of the encoded pixel block is set as an adjacent block.
≪隣接ブロックと隣接動きベクトルの導出(その2)−ブロックサイズが異なる場合≫
次に隣接ブロックと予測対象ブロックのブロックサイズが異なる場合の隣接ブロックの関係を説明する。予測対象ブロックと隣接ブロックのブロックサイズが異なる場合、隣接画素の定義が複数存在する。
<< Derivation of Adjacent Block and Adjacent Motion Vector (Part 2)-When Block Sizes are Different >>
Next, the relationship between adjacent blocks when the block sizes of the adjacent block and the prediction target block are different will be described. When the block sizes of the prediction target block and the adjacent block are different, there are a plurality of adjacent pixel definitions.
図10Aないし図10Dは、予測対象ブロックが大きく、隣接ブロックが小さい場合の例を説明する図である。図10Aは、予測対象ブロックの左上の画素にもっとも近い画素が存在する画素ブロックを隣接画素とする例である。図10Bは、予測対象ブロックに隣接する画素ブロックの右下に位置する画素ブロックを隣接ブロックとする例である。 FIG. 10A to FIG. 10D are diagrams illustrating an example where the prediction target block is large and the adjacent block is small. FIG. 10A is an example in which a pixel block having a pixel closest to the upper left pixel of the prediction target block is set as an adjacent pixel. FIG. 10B is an example in which the pixel block located at the lower right of the pixel block adjacent to the prediction target block is set as the adjacent block.
図10Cは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例である。図10Cでは、予測対象ブロックXの左に隣接する画素ブロックの中心は、8×8画素ブロックの境界となる。このように中心位置がブロック境界に存在する場合は、左の画素ブロックを隣接ブロックとしている。 FIG. 10C is an example in which a pixel block existing at the center of a pixel block adjacent to the prediction target block is set as an adjacent block. In FIG. 10C, the center of the pixel block adjacent to the left of the prediction target block X is an 8 × 8 pixel block boundary. Thus, when the center position exists at the block boundary, the left pixel block is set as an adjacent block.
図10Dは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例であるが、図10Cと同様に中心点が画素ブロック境界に位置するため、中心点の右上に位置する画素ブロックを隣接ブロックとする例である。中心がブロック境界に存在する場合、隣接するどのブロックを中心のブロックと定義しても良いが、全ての隣接画素で同様の定義を適用する。これにより、それぞれの隣接ブロックの動き情報から、予測対象ブロックの動き情報を推定する際に、隣接ブロックに対する位置関係を同一の位相で表現することができる。 FIG. 10D is an example in which the pixel block existing at the center of the pixel block adjacent to the prediction target block is an adjacent block. However, since the center point is located at the pixel block boundary as in FIG. 10C, This is an example in which a positioned pixel block is an adjacent block. When the center exists at the block boundary, any adjacent block may be defined as the central block, but the same definition is applied to all adjacent pixels. Thereby, when estimating the motion information of a prediction object block from the motion information of each adjacent block, the positional relationship with respect to an adjacent block can be expressed by the same phase.
尚、本実施の形態では、簡単のために図10Aで示された隣接ブロックの定義を利用する。 In the present embodiment, the definition of the adjacent block shown in FIG. 10A is used for simplicity.
図11Aないし図11Dは、予測対象ブロックが小さく、隣接ブロックのブロックサイズが大きい場合の例を説明する図である。図9Eと同様に、対応する画素ブロックが未符号化画素ブロックである場合は、予測対象ブロックに距離的に近い利用可能な符号化済みの画素ブロックで置き換える。 FIG. 11A to FIG. 11D are diagrams for explaining an example when the prediction target block is small and the block size of the adjacent block is large. Similarly to FIG. 9E, when the corresponding pixel block is an uncoded pixel block, it is replaced with a coded pixel block that can be used that is close in distance to the prediction target block.
以上の説明では、16×16画素及び8×8画素の場合を例に挙げて説明したが、同様の枠組みを用いて32×32画素、4×4画素などの正方画素ブロックや16×8画素、8×16画素などの矩形画素ブロックに対しても隣接ブロックを決定してよい。 In the above description, the case of 16 × 16 pixels and 8 × 8 pixels has been described as an example, but a square pixel block such as 32 × 32 pixels, 4 × 4 pixels, or 16 × 8 pixels using the same framework. Adjacent blocks may also be determined for rectangular pixel blocks such as 8 × 16 pixels.
また、インター予測では、マクロブロック内の符号化順序に依存せずに符号化処理、すなわち、動きベクトルの推定を行うことが可能なため、8×8画素ブロックの場合においても、図10Aないし図10Dのいずれかを用いて隣接ブロックを決定してもよい。また、ブロックサイズの大きさが異なる画素ブロックが混在している場合にも、図10Aないし図10Dのいずれかを用いて隣接ブロックを決定してもよい。 In inter prediction, since encoding processing, that is, motion vector estimation, can be performed without depending on the encoding order in the macroblock, even in the case of an 8 × 8 pixel block, FIG. Adjacent blocks may be determined using any of 10D. Even when pixel blocks having different block sizes are mixed, adjacent blocks may be determined using any one of FIGS. 10A to 10D.
なお、隣接ブロックとしてA,B,C,Dの4つの画素ブロックを用いる他に、隣接ブロックを更に広く定義してもかまわない。例えば、隣接ブロックAの更に左の画素ブロックを用いてもよいし、隣接ブロックBの更に上の画素ブロックを用いても良い。これらの隣接ブロックの定義は、既に説明した図9ないし図11の定義と同様に定義してよい。 In addition to using four pixel blocks A, B, C, and D as adjacent blocks, the adjacent blocks may be defined more widely. For example, a pixel block on the left of the adjacent block A may be used, or a pixel block further on the adjacent block B may be used. The definition of these adjacent blocks may be defined similarly to the definitions of FIGS. 9 to 11 described above.
≪幾何変換パラメータの導出≫
次に幾何変換パラメータ導出部108における幾何変換パラメータ121の導出方法について説明する。幾何変換パラメータ121は、パラメータ導出部182により実行される。隣接ブロックが保持する隣接動きベクトルをそれぞれ式(4)ないし(7)により定義する。
≪Derivation of geometric transformation parameters≫
Next, a method for deriving the
また、動き推定部106から提供される動きベクトル119を式(8)により定義する。なお、動きベクトル119は、予測対象ブロックXの動きベクトルである。
Also, the
式(4)ないし(8)で表される動きベクトル及び隣接動きベクトルを用いて、幾何変換パラメータ121を導出する。幾何変換がアフィン変換の場合には、変換式は次式(9)で表される。
The
式(9)では、座標(x、y)がアフィン変換によって座標(u,v)へ変換される。式(9)に含まれるa、b、c、d、e、fの6個のパラメータが幾何変換パラメータを表している。アフィン変換ではこの6種類のパラメータを推定するため、6個以上の入力値が必要となる。隣接ブロックA、B及び予測対象ブロックXのそれぞれの動きベクトルを用いると、次式(10)により幾何変換パラメータが導出される。ここでは、動きベクトルが1/4精度であることを前提としている。 In equation (9), coordinates (x, y) are converted to coordinates (u, v) by affine transformation. Six parameters a, b, c, d, e, and f included in Expression (9) represent geometric transformation parameters. In the affine transformation, since these six types of parameters are estimated, six or more input values are required. When the motion vectors of the adjacent blocks A and B and the prediction target block X are used, geometric transformation parameters are derived by the following equation (10). Here, it is assumed that the motion vector is ¼ precision.
ここで、mb_size_x及びmb_size_yはマクロブロックの水平、垂直方向のサイズを示しており、16×16画素ブロックの場合には、mb_size_x=16、mb_size_y=16となる。また、blk_size_x及びblk_size_yは予測対象ブロックの水平、垂直サイズを表しており、図9Bの場合は、blk_size_x=8、blk_size_y=8となる。 Here, mb_size_x and mb_size_y indicate the horizontal and vertical sizes of the macroblock. In the case of a 16 × 16 pixel block, mb_size_x = 16 and mb_size_y = 16. Also, blk_size_x and blk_size_y represent the horizontal and vertical sizes of the prediction target block. In the case of FIG. 9B, blk_size_x = 8 and blk_size_y = 8.
ここでは、入力値として隣接ブロックA及びBの動きベクトルを用いて、幾何変換パラメータを導出する例を示したが、必ずしも、隣接ブロックA及びBの動きベクトルを用いる必要はなく、隣接ブロックC、D及びそれ以外の隣接ブロックから算出された動きベクトルを用いても良いし、これらの複数の隣接ブロックの動きベクトルからパラメータフィッティングを用いて、幾何変換パラメータを求めても良い。また、式(10)は、それぞれa,b,d,eが実数で得られるが、予めこれらのパラメータの演算精度を決めておくことで簡単に整数化が可能である。 Here, an example in which the geometric transformation parameters are derived using the motion vectors of adjacent blocks A and B as input values is shown, but it is not always necessary to use the motion vectors of adjacent blocks A and B. Motion vectors calculated from D and other adjacent blocks may be used, or geometric transformation parameters may be obtained from the motion vectors of these adjacent blocks using parameter fitting. Further, in equation (10), a, b, d, and e are obtained as real numbers, respectively, but can be easily converted to integers by determining the calculation accuracy of these parameters in advance.
≪隣接動きベクトルの導出−エッジ考慮≫
隣接ブロックとの境界にオブジェクトのエッジがある場合や、異なるオブジェクトが存在する場合、幾何変換パラメータが正しく導出できないことがある。そこで、利用する隣接動きベクトルと予測対象ブロックの動きベクトルの絶対差分値が大きく異なる場合は、当該隣接ブロックの動きベクトルを入力値に加えない処理を行ってもよい。例えば、|mva−mvx|を計算し、予め規定した閾値Dよりも大きくなる場合は、mvaを入力値として利用しないようにしてもよい。
≪Derivation of adjacent motion vector-Edge consideration≫
When there is an edge of an object at the boundary with an adjacent block or when a different object exists, the geometric transformation parameter may not be correctly derived. Therefore, when the absolute difference value between the adjacent motion vector to be used and the motion vector of the prediction target block is greatly different, processing in which the motion vector of the adjacent block is not added to the input value may be performed. For example, | mv a -mv x | is calculated, and if greater than the threshold value D as defined previously, may not be utilized mv a as input.
また、予測対象ブロックの左に位置する隣接ブロックの候補が複数存在する場合、これらの候補の中で動きベクトルのメディアン値を計算し、値が大きく異なる動きベクトルを除外してもよい。図12は、4つの8×8画素ブロック毎に、メディアン値を計算する例を示す図である。予測対象ブロックXのブロックサイズが大きく、隣接する画素ブロックのブロックサイズが小さい場合、隣接画素の候補となる画素ブロックが複数存在する。ここで、左に位置する4個の画素ブロックの動きベクトルを、それぞれ、mva、mvb、mvc、mvdとすると、次式(12)により動きベクトルを決定する。 Further, when there are a plurality of adjacent block candidates located to the left of the prediction target block, a median value of motion vectors may be calculated from these candidates, and motion vectors having greatly different values may be excluded. FIG. 12 is a diagram illustrating an example in which a median value is calculated for each of four 8 × 8 pixel blocks. When the block size of the prediction target block X is large and the block size of adjacent pixel blocks is small, there are a plurality of pixel blocks that are candidates for adjacent pixels. Here, if the motion vectors of the four pixel blocks located on the left are mv a , mv b , mv c , and mv d , the motion vector is determined by the following equation (12).
この他に、要素毎の平均値、二次元ベクトルのランダム値、又は、ベクトルの要素別のランダム値等を用いてもよい。また、隣接ブロックB、C、Dにおいても同様の処理を行って隣接動きベクトルを求めてもよい。 In addition, an average value for each element, a random value of a two-dimensional vector, a random value for each element of the vector, or the like may be used. Also, the adjacent motion vectors may be obtained by performing the same processing in the adjacent blocks B, C, and D.
≪予測対象画素の分割≫
次に予測対象ブロックに対して幾何変換を実施する領域を説明する。幾何変換パラメータを導出する領域は、幾何変換を実施する領域に対応している。式(10)では矩形画素ブロックに対して幾何変換パラメータを導出する例を示した。しかし、必ずしも矩形画素ブロックで幾何変換パラメータを導出する必要はなく、図13で示す三角パッチで矩形ブロックを分割してもよい。図13A、及び、図13Bは予測対象ブロックを対角線で分け2つの三角パッチで分割した例を示している。図13Aでは、それぞれの幾何変換パラメータを次式で導出する。予測対象三角パッチX1は、隣接ブロックA、D及び予測対象ブロックX1の動きベクトルを用いて次式(14)で定義される。
≪Division of prediction target pixel≫
Next, a region where geometric transformation is performed on the prediction target block will be described. The area from which the geometric transformation parameter is derived corresponds to the area where the geometric transformation is performed. Equation (10) shows an example in which a geometric transformation parameter is derived for a rectangular pixel block. However, it is not always necessary to derive the geometric transformation parameter by the rectangular pixel block, and the rectangular block may be divided by the triangular patch shown in FIG. 13A and 13B show an example in which the prediction target block is divided by a diagonal line and divided by two triangular patches. In FIG. 13A, each geometric transformation parameter is derived by the following equation. The prediction target triangular patch X1 is defined by the following equation (14) using the motion vectors of the adjacent blocks A and D and the prediction target block X1.
式(14)及び式(15)に示す例のように、予測対象三角パッチ(または予測対象ブロック)に対して空間的距離の近い隣接ブロックの動きベクトルを用いて幾何変換パラメータを導出する。 As in the examples shown in Expression (14) and Expression (15), the geometric transformation parameter is derived using the motion vector of the adjacent block having a spatial distance close to the prediction target triangular patch (or the prediction target block).
図13Bの場合も、同様にして、幾何変換パラメータが導出できる。しかし、予測対象三角パッチX2は、未符号化画素ブロック側に空間的距離が近く、隣接ブロックとの空間的距離が遠い。一般的に、オブジェクトの動きは空間的相関が高いため、利用可能な隣接ブロックが多く取れるように分割形状を定義するとよい。 In the case of FIG. 13B as well, geometric transformation parameters can be derived in the same manner. However, the prediction target triangular patch X2 has a spatial distance close to the uncoded pixel block side and a spatial distance from an adjacent block. In general, since the motion of an object has a high spatial correlation, it is preferable to define a division shape so that a large number of adjacent blocks can be used.
なお、本実施の形態では、予測対象ブロックを2つの三角パッチで分割する例を示したが、分割形状は、更に複数の三角パッチで分割してもよく、また、矩形、曲線、台形、平行四辺形、及びこれらの組み合わせを用いて分割しても良い。 In the present embodiment, an example in which a prediction target block is divided by two triangular patches has been described. However, the division shape may be further divided by a plurality of triangular patches, and may be rectangular, curved, trapezoidal, and parallel. You may divide | segment using a quadrilateral and these combination.
本実施の形態では、幾何変換の例としてアフィン変換を用いた例を示したが、共一次変換、ヘルマート変換、二次等角変換、射影変換、3次元射影変換、などのいずれの幾何変換を用いてもよい。例えば射影変換は、次式(16)で表される。 In this embodiment, an example using affine transformation is shown as an example of geometric transformation, but any geometric transformation such as bilinear transformation, Helmart transformation, quadratic conformal transformation, projective transformation, three-dimensional projective transformation, etc. It may be used. For example, the projective transformation is expressed by the following equation (16).
式(16)において、分子分母をスカラーで通分すると、解くべきパラメータは8種類となる。そこで、利用可能な隣接ブロック数を多く定義することにより、アフィン変換と同様の枠組みで幾何変換パラメータを導出することが可能である。
以上が、幾何変換パラメータ導出部108の処理の概要である。
In equation (16), if the numerator denominator is divided into scalars, there are eight parameters to be solved. Thus, by defining a large number of adjacent blocks that can be used, it is possible to derive geometric transformation parameters in the same framework as affine transformation.
The above is the outline of the processing of the geometric transformation
<幾何変換予測部109>
次に、幾何変換予測部109の処理について具体的に説明する。幾何変換予測部109は入力された幾何変換パラメータ121を基にして、参照画像信号120に対して幾何変換を実施し、幾何変換予測を行う。図14は、幾何変換予測部109の構成の例を示すブロック図である。幾何変換予測部109は、幾何変換部191と内挿補間部192とを有する。幾何変換部191は、参照画像信号120に対する幾何変換を行い、予測画素の位置を算出する。内挿補間部192は、幾何変換により求められた予測画素の分数位置に対応する予測画素の値を、内挿補間等により算出する。
<Geometric
Next, the process of the geometric
図15は、予測対象ブロックに対する幾何変換予測と動き補償予測の例を示す図である。図15は、16×16画素ブロックの例である。 FIG. 15 is a diagram illustrating an example of geometric transformation prediction and motion compensation prediction for a prediction target block. FIG. 15 is an example of a 16 × 16 pixel block.
図中、予測対象ブロックは三角で示される画素からなる正方形画素ブロックCRである。動き補償予測の対応する画素は黒丸で示される。黒丸で示される画素からなる画素ブロックMERは、正方形である。一方、幾何変換予測の対応する画素は×で示され、これらの画素からなる画素ブロックGTRは、平行四辺形となる。 In the figure, the prediction target block is a square pixel block CR composed of pixels indicated by triangles. The corresponding pixels of motion compensated prediction are indicated by black circles. A pixel block MER composed of pixels indicated by black circles is a square. On the other hand, pixels corresponding to the geometric transformation prediction are indicated by x, and a pixel block GTR composed of these pixels is a parallelogram.
動き補償後の領域と幾何変換後の領域は、参照画像信号の対応する領域を符号化対象のフレームの座標に合わせて記述している。このように、幾何変換予測を用いることによって、矩形画素ブロックの回転、拡大・縮小、せん断、鏡面変換などの変形に合わせた予測画像信号の生成が可能となる。 The region after motion compensation and the region after geometric transformation describe the corresponding region of the reference image signal according to the coordinates of the frame to be encoded. As described above, by using the geometric transformation prediction, it is possible to generate a predicted image signal in accordance with deformation such as rotation, enlargement / reduction, shearing, and mirror transformation of the rectangular pixel block.
幾何変換部191は、式(10)、式(14)、及び、式(15)を用いて算出された幾何変換パラメータ121を用い、式(9)により、幾何変換後の座標(u,v)を算出する。算出された幾何変換後の座標(u,v)は、実数値である。そこで、座標(u,v)に対応する輝度値を参照画像信号から内挿補間することによって予測値を生成する。
The geometric transformation unit 191 uses the
式(10)、式(14)、及び、式(15)より、6ビット演算で誤差なく分数位置を計算できるため、内挿補間の際の画素精度を6ビットとする。これにより、整数画素間は64個の分数画素に分割される。 From Equation (10), Equation (14), and Equation (15), since the fractional position can be calculated without error by 6-bit calculation, the pixel accuracy at the time of interpolation is 6 bits. Thereby, the integer pixels are divided into 64 fractional pixels.
図16は、共一次内挿法による輝度値補間処理の例を示す図である。白丸cw0ないしcw3は整数画素位置の輝度値を示し、黒丸cbが補間画素位置(u,v)を示している。図16では、分数精度の位置に隣接する周囲4つの整数画素値を用いて、それぞれの距離の比から補間画素値を生成する。共一次内挿法は次式(17)で表される。 FIG. 16 is a diagram illustrating an example of luminance value interpolation processing by bilinear interpolation. White circles cw0 to cw3 indicate luminance values at integer pixel positions, and black circles cb indicate interpolation pixel positions (u, v). In FIG. 16, the interpolated pixel value is generated from the ratio of the distances using the surrounding four integer pixel values adjacent to the fractional accuracy position. The bilinear interpolation method is expressed by the following equation (17).
ここでP(u,v)は内挿補間処理後の予測画素値を示しており、R(x,y)は、利用した参照画像信号の整数画素値を表している。(x−u)=U/64、(y−v)=V/64とすると、式(17)は、式(18)に示す整数演算に変形できる。 Here, P (u, v) represents the predicted pixel value after the interpolation process, and R (x, y) represents the integer pixel value of the used reference image signal. Assuming that (x−u) = U / 64 and (y−v) = V / 64, Equation (17) can be transformed into an integer operation shown in Equation (18).
以上のように、幾何変換を行った予測対象ブロック内の座標毎に内挿補間を適用することによって、新たな予測画像信号を生成する。 As described above, a new predicted image signal is generated by applying interpolation for each coordinate in the prediction target block subjected to geometric transformation.
なお、本実施の形態では、内挿補間の方法として共一次内挿法を用いる例を示したが、最近接内挿法、3次畳み込み内挿法、線形フィルタ内挿法、ラグランジュ補間法、スプライン補間法、ランツォシュ補間法などのいかなる内挿補間法を適用しても構わない。 In the present embodiment, the bilinear interpolation method is used as the interpolation method. However, the closest interpolation method, the cubic convolution interpolation method, the linear filter interpolation method, the Lagrange interpolation method, Any interpolation method such as a spline interpolation method or a Lanczos interpolation method may be applied.
なお、本実施の形態では、参照画像信号の整数画素位置からの内挿補間についての例を説明したが、動き推定部106で、既に参照画像信号120の補間画像信号を保持している場合には、分数精度の補間画像信号を再利用しても良い。例えば、動き推定部106で1/4画素精度の動きベクトルを算出する際に、参照画像信号を4倍に拡大した拡大参照画像信号を生成して保持している場合には、1/4画素精度の補間画像を利用して1/64画素精度の補間画像を生成してもよい。これにより、1/4精度の補間画像から更に1/16精度の内挿補間処理を行って1/64画素精度の補間画像を生成することができる。なお、内挿補間処理の画素精度は更に細かく指定することも可能である。この場合、指定した補間精度に応じて内挿補間処理を行えばよい。
以上が、幾何変換予測部109の処理の概要である。
In this embodiment, an example of interpolation from the integer pixel position of the reference image signal has been described. However, when the motion estimation unit 106 has already held the interpolated image signal of the
The above is the outline of the processing of the geometric
<判定パラメータ導出部127>
次に判定パラメータ導出部127について具体的に説明する。判定パラメータ導出部127は、幾何変換パラメータ導出部108から出力された幾何変換パラメータ121を用いて、動き補償予測部107から出力された予測画像信号と幾何変換予測部109から出力された予測画像信号との何れの信号を出力するかを判定するための判定パラメータ125を生成し、予測切替部111へと出力する。幾何変換がアフィン変換の場合には、平行移動指標、回転指標、拡大・縮小指標、変形指標などを用いて、幾何変換の度合いを評価することができる。
<Determination
Next, the determination
一般的な動画像では、時間方向への相関が高い。動きベクトルは時間的に異なる画像間のオブジェクトの移動を示す値であるため、動きの空間相関も比較的高いことが予想される。そこでこれらの指標を判定パラメータとして利用し、予測方法を動的に切り替える。平行移動指標は次式(19)で与えられる。 A general moving image has a high correlation in the time direction. Since the motion vector is a value indicating the movement of an object between temporally different images, it is expected that the spatial correlation of motion is relatively high. Therefore, the prediction method is dynamically switched using these indexes as determination parameters. The parallel movement index is given by the following equation (19).
式(19)において、cnは、隣接ブロック、又は、予測対象ブロックを分割した隣接する三角パッチ、すなわち、図13における同じ番号の隣接ブロック内の三角パッチの幾何変換パラメータのc成分を示しており、cxは隣接ブロックの幾何変換パラメータのc成分を示している。三角パッチに分割した際は、分割した同じ形状の三角パッチとの隣接関係を参照している。f成分についても同様である。 In Equation (19), cn represents the c component of the geometric transformation parameter of the adjacent block or the adjacent triangular patch obtained by dividing the prediction target block, that is, the triangular patch in the adjacent block of the same number in FIG. , Cx indicate the c component of the geometric transformation parameter of the adjacent block. When divided into triangular patches, the adjacent relationship with the divided triangular patches of the same shape is referred to. The same applies to the f component.
図17は、アフィン変換による画素ブロックの変化の例を示す図である。図17では、座標(1,0)及び(0,1)がそれぞれアフィン変換によって座標(a,d)、(b、c)に変換され、変換前のベクトルの中心角度45°からθD回転している。a,b,d,eはそれぞれ、予測対象ブロックで得られた幾何変換パラメータを示している。回転指標は次式(20)で与えられる。 FIG. 17 is a diagram illustrating an example of a pixel block change by affine transformation. In FIG. 17, coordinates (1, 0) and (0, 1) are converted into coordinates (a, d) and (b, c) by affine transformation, respectively, and rotated by θD from the center angle 45 ° of the vector before conversion. ing. Each of a, b, d, and e indicates a geometric transformation parameter obtained in the prediction target block. The rotation index is given by the following equation (20).
拡大・縮小指標は図17で示されるアフィン変換後の面積に相当し、値が1より大きい場合は拡大方向に、小さい場合は縮小方向に変形していることが判る。そこで、次式で拡大・縮小指標を定義する。 The enlargement / reduction index corresponds to the area after the affine transformation shown in FIG. Therefore, an enlargement / reduction index is defined by the following equation.
また、式(24)に示す、隣接ブロックで算出された幾何変換パラメータの各成分と予測対象ブロックで算出された幾何変換パラメータの各成分の差分値もそれぞれ判定パラメータの1つのパラメータとしている。 Further, the difference value between each component of the geometric transformation parameter calculated in the adjacent block and each component of the geometric transformation parameter calculated in the prediction target block shown in Expression (24) is also used as one parameter of the determination parameter.
また、式(20)、式(21)、式(22)、式(23)を用いて算出された予測対象ブロックと隣接ブロックの指標を用いて以下のような判定パラメータを利用しても良い。 In addition, the following determination parameters may be used by using the prediction target block and the adjacent block index calculated using Expression (20), Expression (21), Expression (22), and Expression (23). .
例えばDetnは隣接ブロック或いは隣接ブロックの三角パッチが保持する幾何変換パラメータから算出される。算出された幾何変換パラメータに対応する指標と幾何変換パラメータの差分値が判定パラメータ125として、予測切替部111へと出力される。
以上が、判定パラメータ導出部127の処理の概要である。
For example, Detn is calculated from the geometric transformation parameter held by the adjacent block or the triangular patch of the adjacent block. A difference value between the index corresponding to the calculated geometric transformation parameter and the geometric transformation parameter is output to the
The above is the outline of the processing of the determination
<予測切替部111−予測の動的切替>
次に予測切替部111について具体的に説明する。予測切替部111は、判定パラメータ導出部127から出力された判定パラメータ125に基づいて、どちらの予測画像信号を用いかが記載された予測切替情報122を生成する。
<Prediction switching unit 111-Dynamic switching of prediction>
Next, the
先ず、式(20)ないし式(23)を用いる場合の切替方法について説明する。回転指標、拡大・縮小指標、変形指標は、動きベクトルのみの平行移動に加え、画素ブロックの回転、拡大、縮小、変形の度合いを図る指標である。算出された幾何変換パラメータの指標が、極端に大きい場合や小さい場合には、幾何変換パラメータの推定が不適切であることが予想され、このパラメータを利用して幾何変換予測で生成される予測画像信号は誤差を多く含んでいることが予想される。そこで、これらの指標が、予め定めた閾値の範囲を超えた場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報122を生成する。例として、式(21)の拡大・縮小指標における閾値範囲について説明する。Detは拡大・縮小の度合いを示す指標である。予測切替情報122を次式(28)で定義する。
First, a switching method in the case of using Expression (20) to Expression (23) will be described. The rotation index, the enlargement / reduction index, and the deformation index are indices that aim at the degree of rotation, enlargement, reduction, and deformation of the pixel block in addition to the parallel movement of only the motion vector. When the calculated geometric transformation parameter index is extremely large or small, it is expected that the estimation of the geometric transformation parameter is inappropriate, and a predicted image generated by geometric transformation prediction using this parameter The signal is expected to contain many errors. Therefore, when these indices exceed a predetermined threshold range, the
ここでpred_flagは予測切替情報122を表しており、ThDetは閾値を表している。Detがそれぞれ閾値の範囲を超えた場合、pred_flagは0となり、動き補償予測を選択する。一方、それ以外の場合は、pred_flagは1となり、幾何変換予測を選択する。他の判定パラメータに関しても同様な閾値判定を行い、予測切替情報122を生成する。
Here, pred_flag represents the
次に、式(19)、式(24)ないし式(27)を用いる際の切替方法について説明する。隣接ブロックと予測対象ブロックの幾何変換パラメータには高い空間相関があることが推定されるため、それぞれの差分値が予め定めた閾値の大きさを超える場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報122を生成する。
Next, a switching method when using Expression (19), Expression (24) to Expression (27) will be described. Since it is estimated that the geometric transformation parameters of the adjacent block and the prediction target block have a high spatial correlation, if each difference value exceeds the predetermined threshold value, the prediction image signal of the geometric transformation prediction is The
次に隣接ブロックと予測対象ブロックの符号化パラメータとを用いたときの切替方法について説明する。符号化パラメータに含まれる量子化パラメータは、量子化ステップサイズを規定するパラメータである。量子化パラメータが大きい場合、変換係数が粗く量子化される。これにより、局部復号された参照画像信号が入力画像信号に対して大きな誤差を持ち、動きベクトルの推定精度が低下する。幾何変換予測では、動きベクトルを利用して幾何変換パラメータを算出するため、動きベクトルの推定精度が低下すると幾何変換パラメータの算出精度も低下する。そこで、量子化パラメータが大きくなった場合、各種判定パラメータの閾値範囲を狭くする処理を行う。つまり、各種パラメータの閾値は量子化パラメータに対する減少関数となる。 Next, a switching method when using the adjacent block and the encoding parameter of the prediction target block will be described. The quantization parameter included in the encoding parameter is a parameter that defines the quantization step size. When the quantization parameter is large, the transform coefficient is roughly quantized. As a result, the locally decoded reference image signal has a large error with respect to the input image signal, and the motion vector estimation accuracy decreases. In geometric transformation prediction, since a geometric transformation parameter is calculated using a motion vector, if the estimation accuracy of the motion vector is lowered, the calculation accuracy of the geometric transformation parameter is also lowered. Therefore, when the quantization parameter becomes large, processing for narrowing the threshold range of various determination parameters is performed. That is, the threshold value of each parameter is a decreasing function for the quantization parameter.
なお、本実施の形態では、量子化パラメータを利用して閾値の範囲を制御する例を示したが、符号化パラメータに含まれる他の情報を用いてもよい。例えば、符号化した動画像の解像度、予測対象ブロックのタイプ、参照画像のRef_idx、動きベクトルの値、又は、変換サイズに関する情報などを利用してもよい。 In the present embodiment, an example in which the threshold range is controlled using the quantization parameter is shown, but other information included in the encoding parameter may be used. For example, information regarding the resolution of the encoded moving image, the type of the prediction target block, the Ref_idx of the reference image, the value of the motion vector, or the transform size may be used.
また、隣接ブロックの全ての隣接動きベクトルと予測対象ブロックの動きベクトルとが同一の値を持つとき、幾何変換前と後での座標が変化しない。このような時は、周辺ブロックが同一のオブジェクトの平行移動と考えられるため、幾何変換予測を行う必要がない。そこで、この条件が成り立つときは、予測切替情報122は、幾何変換予測を利用しない旨の値を有する。
Further, when all adjacent motion vectors of adjacent blocks and the motion vector of the prediction target block have the same value, the coordinates before and after geometric transformation do not change. In such a case, it is considered that the peripheral block is a parallel movement of the same object, so that it is not necessary to perform geometric transformation prediction. Therefore, when this condition is satisfied, the
また、それぞれの指標に対して用いる閾値を符号化パラメータの値に応じて変化する関数としてもよい。例えば、式(28)における閾値ThDetを量子化パラメータに依存する関数として定義し、量子化パラメータが増加するに従って、閾値が減少するような関数とすることで、推定精度の低下する低ビットレート帯での効果的な予測切替が可能となる。
以上が、予測切替部111及び予測分離スイッチ110の処理の概要である。
Further, the threshold value used for each index may be a function that changes according to the value of the encoding parameter. For example, the threshold ThDet in Equation (28) is defined as a function that depends on the quantization parameter, and the function is such that the threshold decreases as the quantization parameter increases, thereby reducing the estimation accuracy. It is possible to effectively switch predictions.
The above is the outline of the processing of the
<幾何変換予測を含むインター予測の処理フロー>
図18は、インター予測部130の予測画像信号生成の処理を示すフロー図である。処理が開始される(S501)と、インター予測部130の外部から入力されてきた予測対象ブロックの動きベクトル119が幾何変換パラメータ導出部108へと入力される。これを受けて幾何変換パラメータ導出部108では、予測対象ブロックに対応する隣接ブロックを決定する(S502)。
<Processing flow of inter prediction including geometric transformation prediction>
FIG. 18 is a flowchart showing the process of generating a predicted image signal by the
次に対応する隣接ブロックの隣接動きベクトルを、符号化制御部126が保持する内部メモリから導出する(S503)。幾何変換パラメータ導出部108が、導出された隣接動きベクトルと予測対象ブロックの動きベクトルを用いて幾何変換パラメータ121を導出する(S504)。
Next, the adjacent motion vector of the corresponding adjacent block is derived from the internal memory held by the encoding control unit 126 (S503). The geometric transformation
導出された幾何変換パラメータ121を用いて幾何変換予測部109にて予測対象ブロックの幾何変換処理が行われる(S505)。幾何変換予測部109は、幾何変換によって新たに算出された分数画素位置の予測画像信号を内挿補間によって生成する(S506)。
Using the derived
幾何変換パラメータ導出部108で算出された幾何変換パラメータ121は判定パラメータ導出部127へと入力され、判定パラメータ125が算出される(S507)。算出された判定パラメータ125が予測切替部111へと入力され、予測切替情報122が生成される(S508)。
The
予測対象ブロックで算出された幾何変換パラメータ121が、符号化制御部126内に所持する内部メモリへと保存される(S509)。動きベクトル119が符号化制御部126内に所持する内部メモリへと保存される(S510)。
The
予測切替情報122に従って予測分離スイッチ110は、予測対象ブロックの予測方法が、幾何変換予測部109で生成された予測画像信号を利用するかどうかを判断する(S512)。かかる判断がYESの場合、予測分離スイッチ110は、幾何変換予測部109の出力端をスイッチと接続し、予測画像信号を出力する(S513)。
According to the
一方、かかる判断がNOの場合、動き補償予測部107では、動きベクトル119に従って動き補償予測処理を行う(S514)。予測分離スイッチ110は動き補償予測部107の出力端へスイッチを接続し、予測画像信号を出力する(S515)。
On the other hand, when this determination is NO, the motion
次に、符号化制御部126は、予測対象ブロックが、マクロブロックにおける最終ブロックであるかどうかを判断し(S516)、かかる判断がYESの場合は、当該マクロブロックの予測処理を終了する(S517)。かかる判断がNOの場合、処理は最初に戻り、マクロブロックの次の画素ブロックの予測画像生成処理を行う。以上が本発明の本実施の形態におけるインター予測の予測画像生成処理の流れである。 Next, the encoding control unit 126 determines whether or not the prediction target block is the last block in the macroblock (S516). If this determination is YES, the prediction process for the macroblock is ended (S517). ). If this determination is NO, the process returns to the beginning, and a predicted image generation process for the pixel block next to the macroblock is performed. The above is the flow of the predicted image generation processing for inter prediction in the present embodiment of the present invention.
<シンタクス構造>
次に、動画像符号化装置100におけるシンタクス構造について説明する。図19は、シンタクス1600の構成を示す図である。図19に示すとおり、シンタクス1600は主に3つのパートを有する。ハイレベルシンタクス1601は、スライス以上の上位レイヤのシンタクス情報を有する。スライスレベルシンタクス1602は、スライス毎に復号に必要な情報を有し、マクロブロックレベルシンタクス1603は、マクロブロック毎に復号に必要とされる情報を有する。
<Syntax structure>
Next, a syntax structure in the moving
各パートは、更に詳細なシンタクスで構成されている。ハイレベルシンタクス1601は、シーケンスパラメータセットシンタクス1604とピクチャパラメータセットシンタクス1605などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス1602は、スライスヘッダーシンタクス1606、スライスデータシンタクス1607等を含む。マクロブロックレベルシンタクス1603は、マクロブロックレイヤーシンタクス1608、マクロブロックプレディクションシンタクス1609等を含む。
Each part has a more detailed syntax.
図20は、スライスヘッダーシンタクス1605の例を示す図である。図中に示されるslice_affine_motion_prediction_flagは、当該スライスに幾何変換予測を適用するかどうかを示すシンタクス要素である。slice_affine_motion_prediction_flagが0である場合、予測切替部111は、当該スライスにおいて常に動き補償予測部107の出力端を出力するように予測切替情報122を設定して予測分離スイッチ110を切り替える。つまり、このスライスに対しては、幾何変換予測を適用しないことを意味する。一方、slice_affine_motion_prediction_flagが1である場合、当該スライスにおいて判定パラメータ125が指し示す情報に基づいて予測切替情報122が設定され、予測分離スイッチ110は予測画像信号を動的に切り替える。
FIG. 20 is a diagram illustrating an example of the slice header syntax 1605. The slice_affine_motion_prediction_flag shown in the figure is a syntax element indicating whether or not geometric transformation prediction is applied to the slice. When slice_affine_motion_prediction_flag is 0, the
図21は、スライスデータシンタクス1606の例を示す図である。図中に示されるmb_skip_flagは、当該マクロブロックがスキップモードで符号化されているかどうかを示すフラグである。スキップモードである場合、変換係数や動きベクトルなどは符号化されない。 FIG. 21 is a diagram illustrating an example of the slice data syntax 1606. Mb_skip_flag shown in the drawing is a flag indicating whether or not the macroblock is encoded in the skip mode. In the skip mode, transform coefficients, motion vectors, etc. are not encoded.
AvailAffineModeは当該マクロブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeが0の場合、判定パラメータ125で算出した各種値によって、幾何変換予測を利用しないように予測切替情報122が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeは0となる。
AvailAffineMode is an internal parameter indicating whether geometric transformation prediction can be used in the macroblock. When AvailAffineMode is 0, it means that the
一方、AvailAffineModeが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_motion_skip_flagが符号化される。mb_affine_motion_skip_flagが1の場合、当該スキップモードに対して幾何変換予測が適用されることを意味する。mb_affine_motion_skip_flagが0の場合、動き補償予測が適用されることを意味する。 On the other hand, when AvailAffineMode is 1, mb_affine_motion_skip_flag indicating whether to use geometric transformation prediction or motion compensation prediction is encoded. When mb_affine_motion_skip_flag is 1, it means that geometric transformation prediction is applied to the skip mode. When mb_affine_motion_skip_flag is 0, it means that motion compensation prediction is applied.
図22は、マクロブロックレイヤーシンタクス1607の例を示す図である。図中に示されるmb_typeは、マクロブロックタイプ情報を示している。すなわち、現在のマクロブロックがイントラ符号化されているか、インター符号化されているか、或いはどのようなブロック形状で予測が行われているか、予測の方向が単方向予測か双方向予測か、などの情報を含んでいる。mb_typeは、マクロブロックプレディクションシンタクスと更にマクロブロック内のサブブロックのシンタクスを示すサブマクロブロックプレディクションシンタクスなどに渡される。
FIG. 22 is a diagram illustrating an example of the
図23は、マクロブロックプレディクションシンタクスの例を示す図である。図中に示されるAvailAffineModeMbは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeMbが0の場合、判定パラメータ125で算出した各種値によって、幾何変換予測を利用しないように予測切替情報122が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeMbは0となる。
FIG. 23 is a diagram illustrating an example of macroblock prediction syntax. AvailAffineModeMb shown in the figure is an internal parameter indicating whether or not geometric transformation prediction can be used in the pixel block. When AvailAffineModeMb is 0, it means that the
一方、AvailAffineModeMbが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_pred_flagが符号化される。mb_affine_pred_flagが1の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。mb_affine_pred_flagが0の場合、動き補償予測が適用されることを意味する。 On the other hand, when AvailAffineModeMb is 1, mb_affine_pred_flag indicating whether to use geometric transformation prediction or motion compensation prediction is encoded. When mb_affine_pred_flag is 1, it means that geometric transformation prediction is applied to the pixel block. When mb_affine_pred_flag is 0, it means that motion compensation prediction is applied.
NumMbPart()は、mb_typeに規定されたブロック分割数を返す内部関数であり、16×16画素ブロックの場合は1、16×8、8×16画素ブロックの場合は2、8×8画素ブロックの場合は4を出力する。 NumMbPart () is an internal function that returns the number of block divisions specified in mb_type. It is 1 for a 16 × 16 pixel block, 2 for an 8 × 16 pixel block, and 2 for an 8 × 8 pixel block. In the case, 4 is output.
図24は、サブマクロブロックプレディクションシンタクスの例を示す図である。図中に示されるAvailAffineModeSubMbは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeSubMbが0の場合、判定パラメータ125で算出した各種値によって、幾何変換予測を利用しないように予測切替情報122が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeSubMbは0となる。
FIG. 24 is a diagram illustrating an example of sub macroblock prediction syntax. AvailAffineModeSubMb shown in the figure is an internal parameter indicating whether or not geometric transformation prediction can be used in the pixel block. When AvailAffineModeSubMb is 0, it means that the
一方、AvailAffineModeSubMbが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_pred_flagが符号化される。mb_affine_pred_flagが1の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。mb_affine_pred_flagが0の場合、動き補償予測が適用されることを意味する。NumSubMbPart()は、mb_typeに規定されたブロック分割数を返す内部関数である。 On the other hand, when AvailAffineModeSubMb is 1, mb_affine_pred_flag indicating whether to use geometric transformation prediction or motion compensation prediction is encoded. When mb_affine_pred_flag is 1, it means that geometric transformation prediction is applied to the pixel block. When mb_affine_pred_flag is 0, it means that motion compensation prediction is applied. NumSubMbPart () is an internal function that returns the number of block divisions defined in mb_type.
図25は、符号化パラメータの例としてのマクロブロックレイヤーシンタクスの例を示す図である。図中に示されるcoded_block_patternは、8×8画素ブロック毎に、変換係数が存在するかどうかを示している。例えばこの値が0である時、対象ブロックに変換係数が存在しないことを意味している。図中のmb_qp_deltaは、量子化パラメータに関する情報を示している。対象ブロックの1つ前に符号化されたブロックの量子化パラメータからの差分値を表している。 FIG. 25 is a diagram illustrating an example of macroblock layer syntax as an example of an encoding parameter. Coded_block_pattern shown in the figure indicates whether a transform coefficient exists for each 8 × 8 pixel block. For example, when this value is 0, it means that there is no transform coefficient in the target block. Mb_qp_delta in the figure indicates information related to the quantization parameter. The difference value from the quantization parameter of the block encoded immediately before the target block is represented.
図中のref_idx_l0及びref_idx_l1は、インター予測が選択されているときに、対象ブロックがどの参照画像を用いて予測されたか、を表す参照画像のインデックスを示している。図中のmv_l0、mv_l1は動きベクトル情報を示している。図中のtransform_8x8_flagは、対象ブロックが8×8変換であるかどうかを示す変換情報を表している。 Ref_idx_l0 and ref_idx_l1 in the figure indicate reference image indexes representing which reference image is used to predict the target block when inter prediction is selected. Mv_l0 and mv_l1 in the figure indicate motion vector information. In the figure, transform — 8 × 8_flag represents conversion information indicating whether or not the target block is 8 × 8 conversion.
なお、図19ないし図25に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、または複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。更に、当該マクロブロックレイヤーシンタクスに記述されている各々のシンタクス要素は、後述するマクロブロックデータシンタクスに明記されるように変更しても良い。
以上が、第1の実施の形態に係る動画像符号化装置100の説明である。
It should be noted that syntax elements not defined in the present embodiment may be inserted between the rows in the syntax tables shown in FIGS. 19 to 25, and descriptions regarding other conditional branches may be included. Further, the syntax table may be divided into a plurality of tables, or a plurality of syntax tables may be integrated. Moreover, it is not always necessary to use the same term, and it may be arbitrarily changed depending on the form to be used. Further, each syntax element described in the macroblock layer syntax may be changed as specified in a macroblock data syntax described later.
The above is the description of the
(第2の実施形態:イントラ予測の追加)
第2の実施の形態で用いられる動画像符号化装置200の構造を図26に示す。なお、第1の実施の形態と同じ機能を持つブロックには同一の符号を付し、ここでは説明を省略する。図26では、動画像符号化装置100の機能に加え、新たにイントラ予測部201、モード判定部202、予測モード分離スイッチ203が追加されている。
(Second Embodiment: Addition of Intra Prediction)
FIG. 26 shows the structure of the moving picture coding apparatus 200 used in the second embodiment. In addition, the same code | symbol is attached | subjected to the block which has the same function as 1st Embodiment, and description is abbreviate | omitted here. In FIG. 26, in addition to the function of the moving
イントラ予測部201は、入力された参照画像信号120を基にして画面内の情報のみを用いた予測画像信号123を生成する。イントラ予測部201における予測モードの例として、H.264のイントラ予測について説明する。H.264のイントラ予測に用いる画素ブロックを、図27Aないし図27Cに示す。図27Aは、16×16画素イントラ予測、図27Bは、4×4画素イントラ予測、図27Cは、8×8画素イントラ予測に用いられる画素ブロックである。H.264は、これら3つのイントラ予測が規定されている。イントラ予測では、参照画像メモリ105に保存されている参照画像信号120から、補間画素を作成し、空間方向にコピーすることによって予測値を生成する。
The
<モード判定部202>
次にモード判定部202について概要を説明する。モード判定部202は、現在符号化しているスライスの情報に応じて、予測モード切替情報204を予測モード分離スイッチ203へ出力する。予測モード切替情報204には、イントラ予測部201の出力端とインター予測部130の出力端のどちらと、スイッチを繋ぐかの情報が記述されている。
<
Next, an outline of the
次にモード判定部202の機能を説明する。現在符号化しているスライスがイントラ符号化スライスである場合、モード判定部202は、予測モード分離スイッチ203の出力端をイントラ予測部201に接続する。一方、現在符号化しているスライスがインター符号化スライスである場合、モード判定部202は予測モード分離スイッチ203をイントラ予測部201の出力端に繋ぐか、インター予測部130の出力端へ繋ぐかを判定する。
Next, the function of the
より詳細に説明すると、上記の場合、モード判定部202では、例えば、次式(29)のコストを用いたモード判定を行う。それぞれの予測モードを選択した際に必要となる予測情報に関する符号量、例えば動きベクトル119の符号量やブロック形状の符号量等をOH、入力画像信号114と予測画像信号123の差分絶対和、すなわち、予測誤差信号115の絶対累積和をSADとすると、以下のモード判定式(29)を用いる。
More specifically, in the above case, the
ここでKはコスト、λは定数をそれぞれ表す。λは量子化スケールや量子化パラメータの値に基づいて決められるラグランジュ未定乗数である。式(29)により得られたコストKを基に、モード判定が行われる。すなわち、コストKが最も小さい値を与えるモードが最適な予測モードとして選択される。 Here, K represents a cost, and λ represents a constant. λ is a Lagrangian undetermined multiplier determined based on the quantization scale and the value of the quantization parameter. Mode determination is performed based on the cost K obtained by the equation (29). That is, the mode that gives the smallest value of cost K is selected as the optimal prediction mode.
モード判定部202においては、式(29)に代えて、(a)予測情報のみ、(b)SADのみ、を用いてモード判定を行ってもよいし、これら(a)、(b)にアダマール変換を施した値、またはそれに近似した値を利用してもよい。さらに、モード判定部202において入力画像信号114のアクテビティ、すなわち、信号値の分散を用いてコストを作成してもよく、また、量子化スケールまたは量子化パラメータを利用してコスト関数を作成してもよい。
The
さらに別の例として、仮符号化ユニットを用意し、仮符号化ユニットによりある予測モードで生成された予測誤差信号115を実際に符号化した場合の符号量と、入力画像信号114と復号画像信号118との間の二乗誤差を用いてモード判定を行ってもよい。この場合のモード判定式は、次式(30)になる。
As yet another example, a provisional encoding unit is prepared, and the amount of codes when the
式(30)において、Jは符号化コスト、Dは入力画像信号114と復号画像信号118との間の二乗誤差を表す符号化歪みである。一方、Rは仮符号化によって見積もられた符号量を表している。
In Equation (30), J is the encoding cost, and D is the encoding distortion representing the square error between the
式(30)の符号化コストJを用いると、予測モード毎に仮符号化と局部復号処理が必要となるため、回路規模または演算量は増大する。反面、より正確な符号量と符号化歪みを用いるため、高い符号化効率を維持することができる。式(30)に代えてRのみ、またはDのみを用いてコストを算出してもよく、また、RまたはDを近似した値を用いてコスト関数を作成してもよい。 When the encoding cost J of Expression (30) is used, provisional encoding and local decoding processing are required for each prediction mode, so that the circuit scale or the amount of calculation increases. On the other hand, since a more accurate code amount and encoding distortion are used, high encoding efficiency can be maintained. The cost may be calculated using only R or only D instead of Expression (30), and the cost function may be created using a value approximating R or D.
以上のようにして、イントラ予測部201で生成された予測画像信号を選ぶか、インター予測部130で生成された予測画像信号を選ぶか、を判断し、予測モード分離スイッチ203の出力端を切り替える。ここで選択された予測モードの予測画像信号123が出力されて、減算器101へ入力されるとともに、加算器104へ出力される。
以上が本発明の本実施の形態に係る動画像符号化装置200の処理の説明である。
(第3の実施形態:動きベクトルの再探索)
As described above, it is determined whether to select the prediction image signal generated by the
The above is description of the process of the moving image encoder 200 which concerns on this Embodiment of this invention.
(Third embodiment: Re-search for motion vectors)
第3の実施の形態で用いられるインター予測部300の構造を図28に示す。なお、第1の実施の形態と同じ機能を持つブロックには同一の符号を付し、ここでは、説明を省略する。また、インター予測部300は、インター予測部130と、入出力の信号が同一であるため、動画像符号化装置100及び動画像符号化装置200が有するインター予測部130と置き換えることができる。
FIG. 28 shows the structure of the
図28では、インター予測部300の機能に加え、新たに動きベクトル再探索部301が追加されている。動きベクトル再探索部301は、入力されてきた動きベクトル119を基準として、更に周辺部分の動きベクトルの再探索を行う。
In FIG. 28, in addition to the function of the
外部から入力された予測対象ブロックの動きベクトル119と符号化制御部126に保持されていた隣接画素ベクトルとが幾何変換パラメータ導出部108へと入力され、幾何変換パラメータ121が算出される。幾何変換パラメータ121は幾何変換予測部109へと入力されて幾何変換予測が行われ、予測画像信号が生成される。
The
動きベクトル再探索部301は、入力された動きベクトル119を基準として、符号化制御部126から与えられた探索範囲で予測対象ブロックの動きベクトルを変更し、幾何変換パラメータの再導出を行う。再導出された幾何変換パラメータが幾何変換予測部109へと入力され、再幾何変換予測が行われ、予測画像信号が生成される。このように動きベクトル再探索部301で生成された予測対象ブロックの動きベクトルを用いて、再探索範囲分の幾何変換予測が行われる。
The motion vector re-search unit 301 changes the motion vector of the block to be predicted within the search range given from the encoding control unit 126 with the
再探索の際に、式(29)又は式(30)を用いてコストが算出され、コストが小さい動きベクトルと予測画像信号のみが残される。再探索範囲内の幾何変換予測が完了すると、最小のコストを与える、動きベクトルと予測画像信号が予測分離スイッチ110へと出力される。予測対象ブロックの動きベクトルを予測誤差が小さくなるように変更することによって符号化効率を向上させることが可能となる。
In the re-search, the cost is calculated using the formula (29) or the formula (30), and only the motion vector and the prediction image signal with the low cost are left. When the geometric transformation prediction within the re-search range is completed, a motion vector and a predicted image signal that give the minimum cost are output to the
(第4の実施形態:動きベクトルの差分をシグナリング)
第4の実施の形態に係る動画像符号化装置の構成は、第3の実施の形態と同一である。第4の実施の形態に係る動画像符号化装置は、第3の実施の形態における動画像符号化装置の作用に加えて、予測対象ブロックの動きベクトルと再探索によって算出した動きベクトルとの差分を符号化する。動きベクトル再探索部301により再探索された動きベクトルを幾何変換動き補償予測に用いることにより、本来の動きベクトルが予測誤差削減のために変更される。この再探索後の動きベクトルを隣接動きベクトルとして利用すると、後段の幾何変換パラメータの導出が不適切になることがある。
(Fourth embodiment: Signaling the difference of motion vectors)
The configuration of the moving picture encoding apparatus according to the fourth embodiment is the same as that of the third embodiment. In addition to the operation of the video encoding device in the third embodiment, the video encoding device according to the fourth embodiment adds the difference between the motion vector of the prediction target block and the motion vector calculated by re-searching. Is encoded. By using the motion vector re-searched by the motion vector re-search unit 301 for the geometric transformation motion compensated prediction, the original motion vector is changed to reduce the prediction error. If the motion vector after this re-search is used as an adjacent motion vector, the subsequent geometric transformation parameter may not be derived properly.
そこで、本来の動きベクトルとそこからのズレ量を別途符号化することで、幾何変換パラメータの導出に必要な再探索後の動きベクトルと、隣接動きベクトルとして必要となる本来の動きベクトルと、が保持される。なお、この符号化処理は、エントロピー符号化部112が行うとよい。
Therefore, by encoding the original motion vector and the amount of deviation therefrom separately, the re-searched motion vector necessary for derivation of the geometric transformation parameter and the original motion vector required as the adjacent motion vector are obtained. Retained. This encoding process is preferably performed by the
本実施の形態に係わるシンタクスの変更を、図29、図30に示す。シンタクス要素に含まれる文字のうち、L0及びl0は参照画像L0上に示される動きベクトルを示し、L1及びl1は参照画像L1上に示される動きベクトルを示す。再探索前の本来の動きベクトルを、mvorg=(mvxorg,mvyorg)とし、再探索後の動きベクトルをmvrefine=(mvxrefine,mvyrefine)とすると、動きベクトルの差分mvd_affine[2]は次式で算出される。 The syntax change according to the present embodiment is shown in FIGS. Of the characters included in the syntax element, L0 and l0 indicate motion vectors indicated on the reference image L0, and L1 and l1 indicate motion vectors indicated on the reference image L1. If the original motion vector before the re-search is mv org = (mvx org , mvy org ) and the motion vector after the re-search is mv refine = (mvx refine , mvy refine ), the motion vector difference mvd_affine [2] Is calculated by the following equation.
なお、mvd_affine[0]は垂直方向、mvd_affine[1]は水平方向に対応する動きベクトルの差分値であり、シンタクス要素に対応している。なお、ここでは、図29及び図30に示すシンタクスに含まれている文字l0及びl1を省略しているが、式(31)に示す動きベクトルの差分は、L0及びL1のそれぞれのインデックスに対して計算する。また、mvd_l0及びmvd_l1は、それぞれの参照画像信号に対応する動きベクトルと動きベクトルを予測した値との差分を計算することによって計算され、本実施の形態では明示しない他の動きベクトルの予測技術を用いて生成される。 Note that mvd_affine [0] is a motion vector difference value corresponding to the vertical direction and mvd_affine [1] is corresponding to a syntax element. Note that here, the characters l0 and l1 included in the syntaxes shown in FIGS. 29 and 30 are omitted, but the motion vector difference shown in the equation (31) is different from the indexes L0 and L1. To calculate. Also, mvd_l0 and mvd_l1 are calculated by calculating the difference between the motion vector corresponding to each reference image signal and the value predicted from the motion vector, and other motion vector prediction techniques not explicitly described in this embodiment are used. Generated using.
予測対象ブロックの符号化が完了すると、再探索前の動きベクトルであるmvorg=(mvxorg,mvyorg)が符号化制御部126の内部メモリへ格納される。このように予測対象ブロックで利用する動きベクトルと、隣接ブロックとなった際に利用される動きベクトルを別々に保持することにより、隣接ブロックからの幾何変換パラメータの誤差の伝播を防ぐことが可能となる。 When the encoding of the prediction target block is completed, mv org = (mvx org , mvy org ), which is a motion vector before re-searching, is stored in the internal memory of the encoding control unit 126. In this way, by separately holding the motion vector used in the prediction target block and the motion vector used when it becomes an adjacent block, it is possible to prevent propagation of errors in geometric transformation parameters from the adjacent block Become.
以上説明したように、第1ないし第4の実施の形態では、矩形ブロックに適さない、動きを有するオブジェクトを予測する際に、過度のブロック分割が施されて、ブロック分割情報が増大することを防ぐ。付加的な情報を増加させずに、ブロック内の動領域と背景領域を分離し、それぞれに最適な予測方法を適用することによって、符号化効率を向上させ、さらに、主観画質を向上するという効果を奏する。 As described above, in the first to fourth embodiments, when predicting an object having motion that is not suitable for a rectangular block, excessive block division is performed and block division information is increased. prevent. The effect of improving coding efficiency and further improving subjective image quality by separating the motion area and background area in the block without applying additional information and applying the optimal prediction method to each. Play.
<動画像復号化装置>
次に、動画像復号化に関する第5ないし第7の実施形態について述べる。
<Video decoding device>
Next, fifth to seventh embodiments relating to video decoding will be described.
(第5の実施形態)
図31は、第4の実施形態に従う動画像復号化装置を示している。図31の動画像復号化装置400は、例えば、第1の実施形態に従う動画像符号化装置により生成される符号化データを復号する。
(Fifth embodiment)
FIG. 31 shows a video decoding device according to the fourth embodiment. For example, the moving
図31の動画像復号化装置400は、入力バッファ401に蓄えられる符号化データ411を復号し、復号画像信号420を出力バッファ419に出力する。符号化データ411は、例えば、動画像符号化装置100などから送出され、蓄積系または伝送系を経て送られ、入力バッファ401に一度蓄えられ、多重化された符号化データである。
31 decodes the encoded
動画像復号化装置400は、符号化データ復号部402、逆量子化・逆変換部403、加算器404、参照画像メモリ405、動き補償予測部406、幾何変換パラメータ導出部407、幾何変換予測部408、判定パラメータ導出部422、予測切替部409、及び、予測分離スイッチ410、を有する。動画像復号化装置400は、また、入力バッファ401、出力バッファ419、及び、復号化制御部421と接続される。
The moving
符号化データ復号部402は、符号化データを1フレーム又は1フィールド毎にシンタクスに基づいて構文解析による解読を行う。符号化データ復号部402は、順次各シンタクスの符号列をエントロピー復号化し、動きベクトル415、及び、対象ブロックの符号化パラメータ等を再生する。符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、等の復号の際に必要になるパラメータである。
The encoded
符号化データ復号部402で解読が行われた変換係数は、逆量子化・逆変換部403へ入力される。符号化データ復号部402によって解読された量子化に関する様々な情報、すなわち、量子化パラメータや量子化マトリクスは、復号化制御部421の内部メモリに設定され、逆量子化処理として利用される際にロードされる。
The transform coefficient decoded by the encoded
ロードされた量子化に関する情報を用いて、逆量子化・逆変換部403では、最初に逆量子化処理が行われる。逆量子化された変換係数は、続いて逆変換処理、例えば逆離散コサイン変換等が実行される。ここでは、逆直交変換について説明したが、符号化装置でウェーブレット変換などが行われている場合には、逆量子化・逆変換部403は、対応する逆量子化及び逆ウェーブレット変換などが実行されるとよい。
The inverse quantization /
逆量子化・逆変換部403を通って、復元された予測誤差信号412は加算器404へと入力される。加算器404は、予測誤差信号412と後述する動き補償予測部406又は幾何変換予測部408で生成された予測画像信号418とを加算し、復号画像信号420を生成する。
The restored
生成された復号画像信号420は、動画像復号化装置400から出力されて、出力バッファ419に一旦蓄積された後、復号化制御部421が管理する出力タイミングに従って出力される。また、この復号画像信号420は参照画像メモリ405へと保存され、参照画像信号413となる。
The generated decoded
参照画像信号413は参照画像メモリ405から、順次フレーム毎或いはフィールド毎に読み出され、予測動き補償予測部406或いは幾何変換予測部408へと入力される。対象画素ブロックで利用された動きベクトル415及び幾何変換パラメータ414は、復号化制御部421に保存され、後述する幾何変換パラメータ導出部108、判定パラメータ導出部422で適宜ロードされて利用される。
The
なお、図31の動き補償予測部406、幾何変換パラメータ導出部407、幾何変換予測部408、判定パラメータ導出部422、予測切替部409、及び、予測分離スイッチ410は、それぞれ、図2に示す同名の各部と同一の機能及び構成を有する。より詳細には、動き補償予測部107に入力される動きベクトルが、動き推定部106によって取得されたものであるのに対し、動き補償予測部406に入力される動きベクトルは、符号化データ復号部402によって復号されたものであることが異なる他は、全て同一である。
Note that the motion
図32は、図31における、動き補償予測部406、幾何変換パラメータ導出部407、幾何変換予測部408、判定パラメータ導出部422、予測切替部409、及び、予測分離スイッチ410を、インター予測部130と置き換えた例を示す図である。これらの各部は、図2に示すインター予測部130が有する各部と同一の機能及び構成を有する。したがって、動画像符号化装置100が有するインター予測部130を、動画像復号化装置400が保持することにより、図31に示す構成を実現することができる。
32 includes the motion
<幾何変換パラメータ導出部407>
幾何変換パラメータ導出部407では、符号化データ復号部402が復号した予測対象ブロックの動きベクトル415と復号化制御部421に保存されている動きベクトル(以下、「隣接動きベクトル」という。)とを用いて、予測対象ブロックの幾何変換パラメータを導出する。
<Geometric transformation
In the geometric transformation
予測対象ブロックに対する隣接ブロックの関係を、図4、及び、図9ないし図13を用いて説明する。なお、図4及び図9ないし図13の説明において、第1ないし第4の実施の形態における「符号化又は予測対象となるブロック」、「符号化又は予測が完了した画素ブロック」及び「未符号化又は未予測画素ブロック」を、第5ないし第7の実施の形態では、それぞれ、「復号化又は予測対象となるブロック」、「復号化又は予測が完了した画素ブロック」及び「未復号化又は未予測画素ブロック」と読み替える。 The relationship between adjacent blocks with respect to the prediction target block will be described with reference to FIGS. 4 and 9 to 13. In the description of FIG. 4 and FIGS. 9 to 13, “blocks to be encoded or predicted”, “pixel blocks for which encoding or prediction has been completed” and “uncoded” in the first to fourth embodiments. In the fifth to seventh embodiments, “decoded or unpredicted pixel block”, “decoded or predicted target block”, “decoded or predicted pixel block” and “undecoded or unpredicted pixel block”, respectively. It is read as “unpredicted pixel block”.
≪隣接ブロックと隣接動きベクトルの導出(その1)−ブロックサイズが同じ場合≫
図9Aないし図9Eは、予測対象ブロックに対する隣接ブロックの関係を説明する図である。図9Aでは、予測対象ブロックと隣接ブロックのサイズ(例えば16×16画素ブロック)が一致する場合の例を示す。
<< Derivation of Adjacent Block and Adjacent Motion Vector (Part 1)-When Block Size is Same >>
9A to 9E are diagrams for explaining the relationship between adjacent blocks with respect to a prediction target block. FIG. 9A shows an example in which the sizes of prediction target blocks and adjacent blocks (for example, 16 × 16 pixel blocks) match.
図9A中、斜線のハッチングが付された画素ブロックpは、既に復号化又は予測が完了している画素ブロック(以下、「予測済画素ブロック」という。)であり、ドットのハッチングが付されたブロックcは予測対象ブロックであり、白で表示されている画素ブロックnは未復号化画素(未予測)ブロックである。図中Xは復号化(予測)対象画素ブロックを表している。 In FIG. 9A, a pixel block p with hatched hatching is a pixel block that has already been decoded or predicted (hereinafter referred to as “predicted pixel block”), and has been hatched with dots. The block c is a prediction target block, and the pixel block n displayed in white is an undecoded pixel (unpredicted) block. In the figure, X represents a decoding (prediction) target pixel block.
隣接ブロックAは、予測対象ブロックXの左の隣接ブロック、隣接ブロックBは、予測対象ブロックXの上の隣接ブロック、隣接ブロックCは、予測対象ブロックXの右上の隣接ブロック、隣接ブロックDは、予測対象ブロックXの左上の隣接ブロックである。 The adjacent block A is the adjacent block on the left of the prediction target block X, the adjacent block B is the adjacent block on the prediction target block X, the adjacent block C is the adjacent block on the upper right of the prediction target block X, and the adjacent block D is This is an adjacent block at the upper left of the prediction target block X.
復号化制御部421の内部メモリに保持されている隣接動きベクトルは、予測済画素ブロックの動きベクトルのみである。図4では、復号化処理をされている復号化フレームfにおいて、復号化対象となるブロックcよりも左及び上に位置するブロックが、復号済みブロックpである。図4で示したように画素ブロックは左上から右下に向かって復号化及び予測の処理がされていくため、画素ブロックXの予測を行う際には、右及び下方向の画素ブロックは未だ復号化が行われていない。そこで、これらの隣接ブロックから隣接動きベクトルを導出することができない。
The adjacent motion vector held in the internal memory of the
図9Bないし図9Eは、予測対象ブロックが8×8画素ブロックの場合の、隣接ブロックの例を示す図である。なお、図9Bないし図9Eにおいて、太線はマクロブロックの境界を表す。図9Bは、マクロブロック内の左上に位置する画素ブロック、図9Cは、マクロブロック内の右上に位置する画素ブロック、図9Dは、マクロブロック内の左下に位置する画素ブロック、図9Eは、マクロブロック内の右下に位置する画素ブロックを、それぞれ、予測対象ブロックとする場合の例を示す。 9B to 9E are diagrams illustrating examples of adjacent blocks when the prediction target block is an 8 × 8 pixel block. In FIG. 9B to FIG. 9E, a bold line represents a macroblock boundary. 9B is a pixel block located at the upper left in the macro block, FIG. 9C is a pixel block located at the upper right in the macro block, FIG. 9D is a pixel block located at the lower left in the macro block, and FIG. 9E is a macro block. An example in which each pixel block located at the lower right in the block is a prediction target block is shown.
マクロブロックの内部も同様に左上から右下に向かって復号化処理が行われるため、8×8画素ブロックの復号化順序に応じて隣接ブロックの位置が変化する。対応する8×8画素ブロックの復号化処理又は予測画像生成処理が完了すると、その画素ブロックは復号化済み画素ブロックとなり、後に処理される画素ブロックの隣接ブロックとして利用される。図9Eでは、隣接ブロックCに対応する右上の画素ブロックが未復号化画素ブロックであるため、復号化済み画素ブロックの右上に位置する画素ブロックを隣接ブロックとする。 Similarly, the decoding process is performed from the upper left to the lower right inside the macro block, so that the position of the adjacent block changes according to the decoding order of the 8 × 8 pixel block. When the decoding process or predicted image generation process for the corresponding 8 × 8 pixel block is completed, the pixel block becomes a decoded pixel block and is used as an adjacent block of the pixel block to be processed later. In FIG. 9E, since the upper right pixel block corresponding to the adjacent block C is an undecoded pixel block, the pixel block located at the upper right of the decoded pixel block is set as the adjacent block.
≪隣接ブロックと隣接動きベクトルの導出(その2)−ブロックサイズが異なる場合≫
次に隣接ブロックと予測対象ブロックのブロックサイズが異なる場合の隣接ブロックの関係を説明する。予測対象ブロックと隣接ブロックのブロックサイズが異なる場合、隣接画素の定義が複数存在する。
<< Derivation of Adjacent Block and Adjacent Motion Vector (Part 2)-When Block Sizes are Different >>
Next, the relationship between adjacent blocks when the block sizes of the adjacent block and the prediction target block are different will be described. When the block sizes of the prediction target block and the adjacent block are different, there are a plurality of adjacent pixel definitions.
図10Aないし図10Dは、予測対象ブロックが大きく、隣接ブロックが小さい場合の例を説明する図である。図10Aは、予測対象ブロックの左上の画素にもっとも近い画素が存在する画素ブロックを隣接画素とする例である。図10Bは、予測対象ブロックに隣接する画素ブロックの右下に位置する画素ブロックを隣接ブロックとする例である。 FIG. 10A to FIG. 10D are diagrams illustrating an example where the prediction target block is large and the adjacent block is small. FIG. 10A is an example in which a pixel block having a pixel closest to the upper left pixel of the prediction target block is set as an adjacent pixel. FIG. 10B is an example in which the pixel block located at the lower right of the pixel block adjacent to the prediction target block is set as the adjacent block.
図10Cは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例である。図10Cでは、予測対象ブロックXの左に隣接する画素ブロックの中心は、8×8画素ブロックの境界となる。このように中心位置がブロック境界に存在する場合は、左の画素ブロックを隣接ブロックとしている。 FIG. 10C is an example in which a pixel block existing at the center of a pixel block adjacent to the prediction target block is set as an adjacent block. In FIG. 10C, the center of the pixel block adjacent to the left of the prediction target block X is an 8 × 8 pixel block boundary. Thus, when the center position exists at the block boundary, the left pixel block is set as an adjacent block.
図10Dは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例であるが、図10Cと同様に中心点が画素ブロック境界に位置するため、中心点の右上に位置する画素ブロックを隣接ブロックとする例である。中心がブロック境界に存在する場合、隣接するどのブロックを中心のブロックと定義しても良いが、全ての隣接画素で同様の定義を適用する。これにより、それぞれの隣接ブロックの動き情報から、予測対象ブロックの動き情報を推定する際に、隣接ブロックに対する位置関係を同一の位相で表現することができる。 FIG. 10D is an example in which the pixel block existing at the center of the pixel block adjacent to the prediction target block is an adjacent block. However, since the center point is located at the pixel block boundary as in FIG. 10C, This is an example in which a positioned pixel block is an adjacent block. When the center exists at the block boundary, any adjacent block may be defined as the central block, but the same definition is applied to all adjacent pixels. Thereby, when estimating the motion information of a prediction object block from the motion information of each adjacent block, the positional relationship with respect to an adjacent block can be expressed by the same phase.
尚、本実施の形態では、簡単のために図10Aで示された隣接ブロックの定義を利用する。 In the present embodiment, the definition of the adjacent block shown in FIG. 10A is used for simplicity.
図11Aないし図11Dは、予測対象ブロックが小さく、隣接ブロックのブロックサイズが大きい場合の例を説明する図である。図9Eと同様に、対応する画素ブロックが未復号化画素ブロックである場合は、予測対象ブロックに距離的に近い利用可能な復号化済みの画素ブロックで置き換える。 FIG. 11A to FIG. 11D are diagrams for explaining an example when the prediction target block is small and the block size of the adjacent block is large. Similarly to FIG. 9E, when the corresponding pixel block is an undecoded pixel block, it is replaced with an available decoded pixel block that is close in distance to the prediction target block.
以上の説明では、16×16画素及び8×8画素の場合を例に挙げて説明したが、同様の枠組みを用いて32×32画素、4×4画素などの正方画素ブロックや16×8画素、8×16画素などの矩形画素ブロックに対しても隣接ブロックを決定してよい。 In the above description, the case of 16 × 16 pixels and 8 × 8 pixels has been described as an example, but a square pixel block such as 32 × 32 pixels, 4 × 4 pixels, or 16 × 8 pixels using the same framework. Adjacent blocks may also be determined for rectangular pixel blocks such as 8 × 16 pixels.
また、インター予測では、マクロブロック内の復号化順序に依存せずに復号化処理、すなわち、動きベクトルの推定を行うことが可能なため、8×8画素ブロックの場合においても、図10Aないし図10Dのいずれかを用いて隣接ブロックを決定してもよい。また、ブロックサイズの大きさが異なる画素ブロックが混在している場合にも、図10Aないし図10Dのいずれかを用いて隣接ブロックを決定してもよい。 In inter prediction, since it is possible to perform decoding processing, that is, motion vector estimation, without depending on the decoding order in the macroblock, even in the case of an 8 × 8 pixel block, FIG. Adjacent blocks may be determined using any of 10D. Even when pixel blocks having different block sizes are mixed, adjacent blocks may be determined using any one of FIGS. 10A to 10D.
なお、隣接ブロックとしてA,B,C,Dの4つの画素ブロックを用いる他に、隣接ブロックを更に広く定義してもかまわない。例えば、隣接ブロックAの更に左の画素ブロックを用いてもよいし、隣接ブロックBの更に上の画素ブロックを用いても良い。これらの隣接ブロックの定義は、既に説明した図9ないし図11の定義と同様に定義してよい。 In addition to using four pixel blocks A, B, C, and D as adjacent blocks, the adjacent blocks may be defined more widely. For example, a pixel block on the left of the adjacent block A may be used, or a pixel block further on the adjacent block B may be used. The definition of these adjacent blocks may be defined similarly to the definitions of FIGS. 9 to 11 described above.
≪幾何変換パラメータの導出≫
次に幾何変換パラメータ導出部407における幾何変換パラメータ414の導出方法について説明する。隣接ブロックが保持する隣接動きベクトルをそれぞれ式(4)ないし(7)により定義する。
≪Derivation of geometric transformation parameters≫
Next, a method for deriving the
また、動き推定部106から提供される動きベクトル119を式(8)により定義する。なお、動きベクトル119は、予測対象ブロックXの動きベクトルである。
Also, the
式(4)ないし(8)で表される動きベクトル及び隣接動きベクトルを用いて、幾何変換パラメータ121を導出する。幾何変換がアフィン変換の場合には、変換式は式(9)で表される。式(9)では、座標(x、y)がアフィン変換によって座標(u,v)へ変換される。式(9)に含まれるa、b、c、d、e、fの6個のパラメータが幾何変換パラメータを表している。アフィン変換ではこの6種類のパラメータを推定するため、6個以上の入力値が必要となる。
The
隣接ブロックA、B及び予測対象ブロックXのそれぞれの動きベクトルを用いると、式(10)により幾何変換パラメータが導出される。ここでは、動きベクトルが1/4精度であることを前提としている。但し、ax、ayは予測対象ブロックのサイズに基づく変数であり、式(11)により算出される。 When the motion vectors of the adjacent blocks A and B and the prediction target block X are used, a geometric transformation parameter is derived by Expression (10). Here, it is assumed that the motion vector is ¼ precision. However, ax and ay are variables based on the size of the prediction target block, and are calculated by Expression (11).
式(11)において、mb_size_x及びmb_size_yはマクロブロックの水平、垂直方向のサイズを示しており、16×16画素ブロックの場合には、mb_size_x=16、mb_size_y=16となる。また、blk_size_x及びblk_size_yは予測対象ブロックの水平、垂直サイズを表しており、図9Bの場合は、blk_size_x=8、blk_size_y=8となる。 In Expression (11), mb_size_x and mb_size_y indicate the size of the macroblock in the horizontal and vertical directions. In the case of a 16 × 16 pixel block, mb_size_x = 16 and mb_size_y = 16. Also, blk_size_x and blk_size_y represent the horizontal and vertical sizes of the prediction target block. In the case of FIG. 9B, blk_size_x = 8 and blk_size_y = 8.
ここでは、入力値として隣接ブロックA及びBの動きベクトルを用いて、幾何変換パラメータを導出する例を示したが、必ずしも、隣接ブロックA及びBの動きベクトルを用いる必要はなく、隣接ブロックC、D及びそれ以外の隣接ブロックから算出された動きベクトルを用いても良いし、これらの複数の隣接ブロックの動きベクトルからパラメータフィッティングを用いて、幾何変換パラメータを求めても良い。また、式(10)は、それぞれa,b,d,eが実数で得られるが、予めこれらのパラメータの演算精度を決めておくことで簡単に整数化が可能である。 Here, an example in which the geometric transformation parameters are derived using the motion vectors of adjacent blocks A and B as input values is shown, but it is not always necessary to use the motion vectors of adjacent blocks A and B. Motion vectors calculated from D and other adjacent blocks may be used, or geometric transformation parameters may be obtained from the motion vectors of these adjacent blocks using parameter fitting. Further, in equation (10), a, b, d, and e are obtained as real numbers, respectively, but can be easily converted to integers by determining the calculation accuracy of these parameters in advance.
≪隣接動きベクトルの導出−エッジ考慮≫
隣接ブロックとの境界にオブジェクトのエッジがある場合や、異なるオブジェクトが存在する場合、幾何変換パラメータが正しく導出できないことがある。そこで、利用する隣接動きベクトルと予測対象ブロックの動きベクトルの絶対差分値が大きく異なる場合は、当該隣接ブロックの動きベクトルを入力値に加えない処理を行ってもよい。例えば、|mva−mvx|を計算し、予め規定した閾値Dよりも大きくなる場合は、mvaを入力値として利用しないようにしてもよい。
≪Derivation of adjacent motion vector-Edge consideration≫
When there is an edge of an object at the boundary with an adjacent block or when a different object exists, the geometric transformation parameter may not be correctly derived. Therefore, when the absolute difference value between the adjacent motion vector to be used and the motion vector of the prediction target block is greatly different, processing in which the motion vector of the adjacent block is not added to the input value may be performed. For example, | mv a -mv x | is calculated, and if greater than the threshold value D as defined previously, may not be utilized mv a as input.
また、予測対象ブロックの左に位置する隣接ブロックの候補が複数存在する場合、これらの候補の中で動きベクトルのメディアン値を計算し、値が大きく異なる動きベクトルを除外してもよい。図12は、4つの8×8画素ブロック毎に、メディアン値を計算する例を示す図である。予測対象ブロックXのブロックサイズが大きく、隣接する画素ブロックのブロックサイズが小さい場合、隣接画素の候補となる画素ブロックが複数存在する。ここで、左に位置する4個の画素ブロックの動きベクトルを、それぞれ、mva、mvb、mvc、mvdとすると、式(12)により動きベクトルを決定する。 Further, when there are a plurality of adjacent block candidates located to the left of the prediction target block, a median value of motion vectors may be calculated from these candidates, and motion vectors having greatly different values may be excluded. FIG. 12 is a diagram illustrating an example in which a median value is calculated for each of four 8 × 8 pixel blocks. When the block size of the prediction target block X is large and the block size of adjacent pixel blocks is small, there are a plurality of pixel blocks that are candidates for adjacent pixels. Here, assuming that the motion vectors of the four pixel blocks located on the left are mv a , mv b , mv c , and mv d , the motion vector is determined by Expression (12).
式(12)では、二次元ベクトルのメディアン値を用いる例を示したが、式(13)に示すように、ベクトルの要素毎のメディアン値でもよい。この他に、要素毎の平均値、二次元ベクトルのランダム値、又は、ベクトルの要素別のランダム値等を用いてもよい。また、隣接ブロックB、C、Dにおいても同様の処理を行って隣接動きベクトルを求めてもよい。 Although the example using the median value of the two-dimensional vector is shown in Expression (12), as shown in Expression (13), the median value for each vector element may be used. In addition, an average value for each element, a random value of a two-dimensional vector, a random value for each element of the vector, or the like may be used. Also, the adjacent motion vectors may be obtained by performing the same processing in the adjacent blocks B, C, and D.
≪予測対象画素の分割≫
次に予測対象ブロックに対して幾何変換を実施する領域を説明する。幾何変換パラメータを導出する領域は、幾何変換を実施する領域に対応している。式(10)では矩形画素ブロックに対して幾何変換パラメータを導出する例を示した。しかし、必ずしも矩形画素ブロックで幾何変換パラメータを導出する必要はなく、図13で示す三角パッチで矩形ブロックを分割してもよい。図13A、及び、図13Bは予測対象ブロックを対角線で分け2つの三角パッチで分割した例を示している。図13Aでは、それぞれの幾何変換パラメータを次式で導出する。予測対象三角パッチX1は、隣接ブロックA、D及び予測対象ブロックX1の動きベクトルを用いて式(14)で定義される。
予測対象三角パッチX2は、隣接ブロックB、D及び予測対象ブロックX2の動きベクトルを用いて式(15)で定義される。
≪Division of prediction target pixel≫
Next, a region where geometric transformation is performed on the prediction target block will be described. The area from which the geometric transformation parameter is derived corresponds to the area where the geometric transformation is performed. Equation (10) shows an example in which a geometric transformation parameter is derived for a rectangular pixel block. However, it is not always necessary to derive the geometric transformation parameter by the rectangular pixel block, and the rectangular block may be divided by the triangular patch shown in FIG. 13A and 13B show an example in which the prediction target block is divided by a diagonal line and divided by two triangular patches. In FIG. 13A, each geometric transformation parameter is derived by the following equation. The prediction target triangular patch X1 is defined by Expression (14) using the motion vectors of the adjacent blocks A and D and the prediction target block X1.
The prediction target triangular patch X2 is defined by Expression (15) using the motion vectors of the adjacent blocks B and D and the prediction target block X2.
式(14)及び式(15)に示す例のように、予測対象三角パッチ(または予測対象ブロック)に対して空間的距離の近い隣接ブロックの動きベクトルを用いて幾何変換パラメータを導出する。 As in the examples shown in Expression (14) and Expression (15), the geometric transformation parameter is derived using the motion vector of the adjacent block having a spatial distance close to the prediction target triangular patch (or the prediction target block).
図13Bの場合も、同様にして、幾何変換パラメータが導出できる。しかし、予測対象三角パッチX2は、未復号化画素ブロック側に空間的距離が近く、隣接ブロックとの空間的距離が遠い。一般的に、オブジェクトの動きは空間的相関が高いため、利用可能な隣接ブロックが多く取れるように分割形状を定義するとよい。 In the case of FIG. 13B as well, geometric transformation parameters can be derived in the same manner. However, the prediction target triangular patch X2 has a spatial distance close to the undecoded pixel block side and a spatial distance from an adjacent block. In general, since the motion of an object has a high spatial correlation, it is preferable to define a division shape so that a large number of adjacent blocks can be used.
なお、本実施の形態では、予測対象ブロックを2つの三角パッチで分割する例を示したが、分割形状は、更に複数の三角パッチで分割してもよく、また、矩形、曲線、台形、平行四辺形、及びこれらの組み合わせを用いて分割しても良い。 In the present embodiment, an example in which a prediction target block is divided by two triangular patches has been described. However, the division shape may be further divided by a plurality of triangular patches, and may be rectangular, curved, trapezoidal, and parallel. You may divide | segment using a quadrilateral and these combination.
本実施の形態では、幾何変換の例としてアフィン変換を用いた例を示したが、共一次変換、ヘルマート変換、二次等角変換、射影変換、3次元射影変換、などのいずれの幾何変換を用いてもよい。例えば射影変換は、式(16)で表される。 In this embodiment, an example using affine transformation is shown as an example of geometric transformation, but any geometric transformation such as bilinear transformation, Helmart transformation, quadratic conformal transformation, projective transformation, three-dimensional projective transformation, etc. It may be used. For example, the projective transformation is expressed by Expression (16).
式(16)において、分子分母をスカラーで通分すると、解くべきパラメータは8種類となる。そこで、利用可能な隣接ブロック数を多く定義することにより、アフィン変換と同様の枠組みで幾何変換パラメータを導出することが可能である。 In equation (16), if the numerator denominator is divided into scalars, there are eight parameters to be solved. Thus, by defining a large number of adjacent blocks that can be used, it is possible to derive geometric transformation parameters in the same framework as affine transformation.
以上が、幾何変換パラメータ導出部407の処理の概要である。
The above is the outline of the processing of the geometric transformation
<幾何変換予測部408>
次に、幾何変換予測部408の処理について、図15ないし図17を用いて説明する。なお、図15ないし図17の説明において、第1ないし第4の実施の形態における「参照画像信号120」は、局所復号画像であったのに対し、第5ないし第7の実施の形態では、「参照画像信号413」は、復号画像である。
<Geometric
Next, processing of the geometric
幾何変換予測部408は入力された幾何変換パラメータ414を基にして、参照画像信号413に対して幾何変換を実施する。図15は、予測対象ブロックに対する幾何変換予測と動き補償予測の例を示す図である。図15は、16×16画素ブロックの例である。
The geometric
図中、予測対象ブロックは三角で示される画素からなる正方形画素ブロックCRである。動き補償予測の対応する画素は黒丸で示される。黒丸で示される画素からなる画素ブロックMERは、正方形である。一方、幾何変換予測の対応する画素は×で示され、これらの画素からなる画素ブロックGTRは、平行四辺形となる。 In the figure, the prediction target block is a square pixel block CR composed of pixels indicated by triangles. The corresponding pixels of motion compensated prediction are indicated by black circles. A pixel block MER composed of pixels indicated by black circles is a square. On the other hand, pixels corresponding to the geometric transformation prediction are indicated by x, and a pixel block GTR composed of these pixels is a parallelogram.
動き補償後の領域と幾何変換後の領域は、参照画像信号の対応する領域を復号化対象のフレームの座標に合わせて記述している。このように、幾何変換予測を用いることによって、矩形画素ブロックの回転、拡大・縮小、せん断、鏡面変換などの変形に合わせた予測画像信号の生成が可能となる。 The region after motion compensation and the region after geometric transformation describe the corresponding region of the reference image signal according to the coordinates of the frame to be decoded. As described above, by using the geometric transformation prediction, it is possible to generate a predicted image signal in accordance with deformation such as rotation, enlargement / reduction, shearing, and mirror transformation of the rectangular pixel block.
幾何変換予測部109では、式(10)、式(14)、及び、式(15)を用いて算出された幾何変換パラメータ414を用い、式(9)により、幾何変換後の座標(u,v)を算出する。算出された幾何変換後の座標(u,v)は、実数値である。そこで、座標(u,v)に対応する輝度値を参照画像信号から内挿補間することによって予測値を生成する。
The geometric
式(10)、式(14)、及び、式(15)より、6ビット演算で誤差なく分数位置を計算できるため、内挿補間の際の画素精度を6ビットとする。これにより、整数画素間は64個の分数画素に分割される。 From Equation (10), Equation (14), and Equation (15), since the fractional position can be calculated without error by 6-bit calculation, the pixel accuracy at the time of interpolation is 6 bits. Thereby, the integer pixels are divided into 64 fractional pixels.
図16は、共一次内挿法による輝度値補間処理の例を示す図である。白丸cw0ないしcw3は整数画素位置の輝度値を示し、黒丸cbが補間画素位置(u,v)を示している。図16では、分数精度の位置に隣接する周囲4つの整数画素値を用いて、それぞれの距離の比から補間画素値を生成する。共一次内挿法は式(17)で表される。 FIG. 16 is a diagram illustrating an example of luminance value interpolation processing by bilinear interpolation. White circles cw0 to cw3 indicate luminance values at integer pixel positions, and black circles cb indicate interpolation pixel positions (u, v). In FIG. 16, the interpolated pixel value is generated from the ratio of the distances using the surrounding four integer pixel values adjacent to the fractional accuracy position. The bilinear interpolation method is expressed by Expression (17).
式(17)において、P(u,v)は内挿補間処理後の予測画素値を示しており、R(x,y)は、利用した参照画像信号の整数画素値を表している。(x−u)=U/64、(y−v)=V/64とすると、式(17)は、式(18)に示す整数演算に変形できる。式(18)において、fは丸めのオフセット(0≦f<212)を表している。本実施の形態ではf=0としている。
以上のように、幾何変換を行った予測対象ブロック内の座標毎に内挿補間を適用することによって、新たな予測画像信号を生成する。
In Expression (17), P (u, v) represents the predicted pixel value after the interpolation process, and R (x, y) represents the integer pixel value of the used reference image signal. Assuming that (x−u) = U / 64 and (y−v) = V / 64, Equation (17) can be transformed into an integer operation shown in Equation (18). In Expression (18), f represents a rounding offset (0 ≦ f <212). In this embodiment, f = 0.
As described above, a new predicted image signal is generated by applying interpolation for each coordinate in the prediction target block subjected to geometric transformation.
なお、本実施の形態では、内挿補間の方法として共一次内挿法を用いる例を示したが、最近接内挿法、3次畳み込み内挿法、線形フィルタ内挿法、ラグランジュ補間法、スプライン補間法、ランツォシュ補間法などのいかなる内挿補間法を適用しても構わない。 In the present embodiment, the bilinear interpolation method is used as the interpolation method. However, the closest interpolation method, the cubic convolution interpolation method, the linear filter interpolation method, the Lagrange interpolation method, Any interpolation method such as a spline interpolation method or a Lanczos interpolation method may be applied.
なお、本実施の形態では、参照画像信号413の整数画素位置からの内挿補間についての例を説明したが、動き補償予測部406で、既に参照画像信号413の補間画像信号を生成している場合には、分数精度の補間画像信号を再利用しても良い。例えば、符号化データ復号部402が、1/4画素精度の動きベクトルを復号し、動き補償予測部406が、その動きベクトルに対応する参照画像信号413を4倍に拡大した拡大参照画像信号を生成して保持している場合には、1/4画素精度の補間画像を利用して1/64画素精度の補間画像を生成してもよい。これにより、1/4精度の補間画像から更に1/16精度の内挿補間処理を行って1/64画素精度の補間画像を生成することができる。
In this embodiment, an example of interpolation from the integer pixel position of the
なお、内挿補間処理の画素精度は更に細かく指定することも可能である。この場合、指定した補間精度に応じて内挿補間処理を行えばよい。
以上が、幾何変換予測部408の処理の概要である。
Note that the pixel accuracy of the interpolation process can be specified more finely. In this case, an interpolation process may be performed according to the designated interpolation accuracy.
The above is the outline of the process of the geometric
<判定パラメータ導出部422>
次に判定パラメータ導出部422について具体的に説明する。判定パラメータ導出部422は、幾何変換パラメータ導出部407から出力された幾何変換パラメータ414を用いて、動き補償予測部406から出力された予測画像信号と幾何変換予測部408から出力された予測画像信号との何れの信号を出力するかを判定するための判定パラメータ416を生成し、予測切替部409へと出力する。幾何変換がアフィン変換の場合には、平行移動指標、回転指標、拡大・縮小指標、変形指標などを用いて、幾何変換の度合いを評価することができる。
<Determination
Next, the determination
一般的な動画像では、時間方向への相関が高い。動きベクトルは時間的に異なる画像間のオブジェクトの移動を示す値であるため、動きの空間相関も比較的高いことが予想される。そこでこれらの指標を判定パラメータとして利用し、予測方法を動的に切り替える。平行移動指標は式(19)で与えられる。 A general moving image has a high correlation in the time direction. Since the motion vector is a value indicating the movement of an object between temporally different images, it is expected that the spatial correlation of motion is relatively high. Therefore, the prediction method is dynamically switched using these indexes as determination parameters. The translation index is given by equation (19).
式(19)において、cnは、隣接ブロック、又は、予測対象ブロックを分割した隣接する三角パッチ、すなわち、図13における同じ番号の隣接ブロック内の三角パッチの幾何変換パラメータのc成分を示しており、cxは隣接ブロックの幾何変換パラメータのc成分を示している。三角パッチに分割した際は、分割した同じ形状の三角パッチとの隣接関係を参照している。f成分についても同様である。 In Equation (19), cn represents the c component of the geometric transformation parameter of the adjacent block or the adjacent triangular patch obtained by dividing the prediction target block, that is, the triangular patch in the adjacent block of the same number in FIG. , Cx indicate the c component of the geometric transformation parameter of the adjacent block. When divided into triangular patches, the adjacent relationship with the divided triangular patches of the same shape is referred to. The same applies to the f component.
図17は、アフィン変換による画素ブロックの変化の例を示す図である。図17では、座標(1,0)及び(0,1)がそれぞれアフィン変換によって座標(a,d)、(b、c)に変換され、変換前のベクトルの中心角度45°からθD回転している。a,b,d,eはそれぞれ、予測対象ブロックで得られた幾何変換パラメータを示している。回転指標は式(20)で与えられる。式(20)において、sgn(A)は、Aの符号を返す関数である。矩形ブロックの中心ベクトルがどの程度回転したかを表している。 FIG. 17 is a diagram illustrating an example of a pixel block change by affine transformation. In FIG. 17, coordinates (1, 0) and (0, 1) are converted into coordinates (a, d) and (b, c) by affine transformation, respectively, and rotated by θD from the center angle 45 ° of the vector before conversion. ing. Each of a, b, d, and e indicates a geometric transformation parameter obtained in the prediction target block. The rotation index is given by equation (20). In equation (20), sgn (A) is a function that returns the sign of A. This shows how much the center vector of the rectangular block has been rotated.
拡大・縮小指標は図17で示されるアフィン変換後の面積に相当し、値が1より大きい場合は拡大方向に、小さい場合は縮小方向に変形していることが判る。そこで、式(21)で拡大・縮小指標を定義する。式(21)でDet≒1となる場合は、更に式(22)を用いて回転指標を算出してもよい。図17のθCは式(23)の変形指標に対応しており、アフィン変換後の図形の変形角度を定義している。 The enlargement / reduction index corresponds to the area after the affine transformation shown in FIG. Therefore, an enlargement / reduction index is defined by equation (21). When Det≈1 in equation (21), the rotation index may be calculated using equation (22). ΘC in FIG. 17 corresponds to the deformation index of equation (23), and defines the deformation angle of the figure after the affine transformation.
また、式(24)に示す、隣接ブロックで算出された幾何変換パラメータの各成分と予測対象ブロックで算出された幾何変換パラメータの各成分の差分値もそれぞれ判定パラメータの1つのパラメータとしている。 Further, the difference value between each component of the geometric transformation parameter calculated in the adjacent block and each component of the geometric transformation parameter calculated in the prediction target block shown in Expression (24) is also used as one parameter of the determination parameter.
また、式(20)、式(21)、式(22)、式(23)を用いて算出された予測対象ブロックと隣接ブロックの指標を用いて式(25)ないし式(27)に示す判定パラメータを利用しても良い。 Also, the determinations shown in Expression (25) to Expression (27) using the prediction target block and the adjacent block index calculated using Expression (20), Expression (21), Expression (22), and Expression (23). Parameters may be used.
例えばDetnは隣接ブロック或いは隣接ブロックの三角パッチが保持する幾何変換パラメータ414から算出される。算出された幾何変換パラメータに対応する指標と幾何変換パラメータの差分値が判定パラメータ416として、予測切替部409へと出力される。
以上が、判定パラメータ導出部422の処理の概要である。
For example, Detn is calculated from the
The above is the outline of the processing of the determination
<予測切替部409−予測の動的切替>
次に予測切替部409について具体的に説明する。予測切替部409は、判定パラメータ導出部422から出力された判定パラメータ416に基づいて、どちらの予測画像信号を用いたかが記載された予測切替情報417を生成する。
<Prediction switching unit 409-Dynamic switching of prediction>
Next, the
先ず、式(20)ないし式(23)を用いる場合の切替方法について説明する。回転指標、拡大・縮小指標、変形指標は、動きベクトルのみの平行移動に加え、画素ブロックの回転、拡大、縮小、変形の度合いを図る指標である。算出された幾何変換パラメータの指標が、極端に大きい場合や小さい場合には、幾何変換パラメータの推定が不適切であることが予想され、このパラメータを利用して幾何変換予測で生成される予測画像信号は誤差を多く含んでいることが予想される。そこで、これらの指標が、予め定めた閾値の範囲を超えた場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報417を生成する。
First, a switching method in the case of using Expression (20) to Expression (23) will be described. The rotation index, the enlargement / reduction index, and the deformation index are indices that aim at the degree of rotation, enlargement, reduction, and deformation of the pixel block in addition to the parallel movement of only the motion vector. When the calculated geometric transformation parameter index is extremely large or small, it is expected that the estimation of the geometric transformation parameter is inappropriate, and a predicted image generated by geometric transformation prediction using this parameter The signal is expected to contain many errors. Therefore, when these indices exceed a predetermined threshold range, the
例として、式(21)の拡大・縮小指標における閾値範囲について説明する。Detは拡大・縮小の度合いを示す指標である。予測切替情報417を式(28)で定義する。
As an example, the threshold range in the enlargement / reduction index of Expression (21) will be described. Det is an index indicating the degree of enlargement / reduction.
式(28)におけるpred_flagは予測切替情報417を表しており、ThDetは閾値を表している。Detがそれぞれ閾値の範囲を超えた場合、pred_flagは0となり、動き補償予測を選択する。一方、それ以外の場合は、pred_flagは1となり、幾何変換予測を選択する。他の判定パラメータに関しても同様な閾値判定を行い、予測切替情報417を生成する。
In formula (28), pred_flag represents the
次に、式(19)、式(24)ないし式(27)を用いる際の切替方法について説明する。隣接ブロックと予測対象ブロックの幾何変換パラメータには高い空間相関があることが推定されるため、それぞれの差分値が予め定めた閾値の大きさを超える場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報417を生成する。
Next, a switching method when using Expression (19), Expression (24) to Expression (27) will be described. Since it is estimated that the geometric transformation parameters of the adjacent block and the prediction target block have a high spatial correlation, if each difference value exceeds the predetermined threshold value, the prediction image signal of the geometric transformation prediction is
次に隣接ブロックと予測対象ブロックの符号化パラメータとを用いたときの切替方法について説明する。符号化パラメータに含まれる量子化パラメータは、量子化ステップサイズを規定するパラメータである。量子化パラメータが大きい場合、変換係数が粗く量子化される。これにより、局部復号された参照画像信号が入力画像信号に対して大きな誤差を持ち、動きベクトルの推定精度が低下する。幾何変換予測では、動きベクトルを利用して幾何変換パラメータを算出するため、動きベクトルの推定精度が低下すると幾何変換パラメータの算出精度も低下する。そこで、量子化パラメータが大きくなった場合、各種判定パラメータの閾値範囲を狭くする処理を行う。つまり、各種パラメータの閾値は量子化パラメータに対する減少関数となる。 Next, a switching method when using the adjacent block and the encoding parameter of the prediction target block will be described. The quantization parameter included in the encoding parameter is a parameter that defines the quantization step size. When the quantization parameter is large, the transform coefficient is roughly quantized. As a result, the locally decoded reference image signal has a large error with respect to the input image signal, and the motion vector estimation accuracy decreases. In geometric transformation prediction, since a geometric transformation parameter is calculated using a motion vector, if the estimation accuracy of the motion vector is lowered, the calculation accuracy of the geometric transformation parameter is also lowered. Therefore, when the quantization parameter becomes large, processing for narrowing the threshold range of various determination parameters is performed. That is, the threshold value of each parameter is a decreasing function for the quantization parameter.
なお、本実施の形態では、量子化パラメータを利用して閾値の範囲を制御する例を示したが、符号化パラメータに含まれる他の情報を用いてもよい。例えば、復号化した動画像の解像度、予測対象ブロックのタイプ、参照画像のRef_idx、動きベクトルの値、又は、変換サイズに関する情報などを利用してもよい。 In the present embodiment, an example in which the threshold range is controlled using the quantization parameter is shown, but other information included in the encoding parameter may be used. For example, the resolution of the decoded moving image, the type of the prediction target block, the Ref_idx of the reference image, the value of the motion vector, or information on the transform size may be used.
また、隣接ブロックの全ての隣接動きベクトルと予測対象ブロックの動きベクトルとが同一の値を持つとき、幾何変換前と後での座標が変化しない。このような時は、周辺ブロックが同一のオブジェクトの平行移動と考えられるため、幾何変換予測を行う必要がない。そこで、この条件が成り立つときは、予測切替情報417は、幾何変換予測を利用しない旨の値を有する。
Further, when all adjacent motion vectors of adjacent blocks and the motion vector of the prediction target block have the same value, the coordinates before and after geometric transformation do not change. In such a case, it is considered that the peripheral block is a parallel movement of the same object, so that it is not necessary to perform geometric transformation prediction. Therefore, when this condition is satisfied, the
また、それぞれの指標に対して用いる閾値を符号化パラメータの値に応じて変化する関数としてもよい。例えば、式(28)における閾値ThDetを量子化パラメータに依存する関数として定義し、量子化パラメータが増加するに従って、閾値が減少するような関数とすることで、推定精度の低下する低ビットレート帯での効果的な予測切替が可能となる。 Further, the threshold value used for each index may be a function that changes according to the value of the encoding parameter. For example, the threshold ThDet in Equation (28) is defined as a function that depends on the quantization parameter, and the function is such that the threshold decreases as the quantization parameter increases, thereby reducing the estimation accuracy. It is possible to effectively switch predictions.
以上が、予測切替部409及び予測分離スイッチ410の処理の概要である。
The above is the outline of the processing of the
<シンタクス構造>
次に、動画像復号化装置400が復号する符号化データのシンタクス構造について説明する。動画像復号化装置400が復号する符号化データ411は、動画像符号化装置100と同一のシンタクス構造を有するとよい。そこで、ここでは、図19ないし図25を用いて説明する。
<Syntax structure>
Next, the syntax structure of the encoded data decoded by the
図19は、シンタクス1600の構成を示す図である。図19に示すとおり、シンタクス1600は主に3つのパートを有する。ハイレベルシンタクス1601は、スライス以上の上位レイヤのシンタクス情報を有する。スライスレベルシンタクス1602は、スライス毎に復号に必要な情報を有し、マクロブロックレベルシンタクス1603は、マクロブロック毎に復号に必要とされる情報を有する。
FIG. 19 is a diagram illustrating a configuration of the
各パートは、更に詳細なシンタクスで構成されている。ハイレベルシンタクス1601は、シーケンスパラメータセットシンタクス1604とピクチャパラメータセットシンタクス1605などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス1602は、スライスヘッダーシンタクス1605、スライスデータシンタクス1606等を含む。マクロブロックレベルシンタクス1603は、マクロブロックレイヤーシンタクス1607、マクロブロックプレディクションシンタクス1608等を含む。
Each part has a more detailed syntax.
図20は、スライスヘッダーシンタクス1605の例を示す図である。図中に示されるslice_affine_motion_prediction_flagは、当該スライスに幾何変換予測を適用するかどうかを示すシンタクス要素である。slice_affine_motion_prediction_flagが0である場合、予測切替部409は、当該スライスにおいて常に動き補償予測部406の出力端を出力するように予測切替情報417を設定して予測分離スイッチ410を切り替える。つまり、このスライスに対しては、幾何変換予測を適用しないことを意味する。一方、slice_affine_motion_prediction_flagが1である場合、当該スライスにおいて判定パラメータ416が指し示す情報に基づいて予測切替情報417が設定され、予測分離スイッチ410は予測画像信号を動的に切り替える。
FIG. 20 is a diagram illustrating an example of the slice header syntax 1605. The slice_affine_motion_prediction_flag shown in the figure is a syntax element indicating whether or not geometric transformation prediction is applied to the slice. When slice_affine_motion_prediction_flag is 0, the
図21は、スライスデータシンタクス1606の例を示す図である。図中に示されるmb_skip_flagは、当該マクロブロックがスキップモードで符号化されているかどうかを示すフラグである。スキップモードである場合、変換係数や動きベクトルなどは符号化されていない。 FIG. 21 is a diagram illustrating an example of the slice data syntax 1606. Mb_skip_flag shown in the drawing is a flag indicating whether or not the macroblock is encoded in the skip mode. In the skip mode, conversion coefficients, motion vectors, and the like are not encoded.
AvailAffineModeは当該マクロブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeが0の場合、判定パラメータ416で算出した各種値によって、幾何変換予測を利用しないように予測切替情報417が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeは0となる。
AvailAffineMode is an internal parameter indicating whether geometric transformation prediction can be used in the macroblock. When AvailAffineMode is 0, it means that the
一方、AvailAffineModeが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_motion_skip_flagが符号化されている。mb_affine_motion_skip_flagが1の場合、当該スキップモードに対して幾何変換予測が適用されることを意味する。mb_affine_motion_skip_flagが0の場合、動き補償予測が適用されることを意味する。 On the other hand, when AvailAffineMode is 1, mb_affine_motion_skip_flag indicating whether to use geometric transformation prediction or motion compensation prediction is encoded. When mb_affine_motion_skip_flag is 1, it means that geometric transformation prediction is applied to the skip mode. When mb_affine_motion_skip_flag is 0, it means that motion compensation prediction is applied.
図22は、マクロブロックレイヤーシンタクス1607の例を示す図である。図中に示されるmb_typeは、マクロブロックタイプ情報を示している。すなわち、現在のマクロブロックがイントラ符号化されているか、インター符号化されているか、或いはどのようなブロック形状で予測が行われているか、予測の方向が単方向予測か双方向予測か、などの情報を含んでいる。mb_typeは、マクロブロックプレディクションシンタクスと更にマクロブロック内のサブブロックのシンタクスを示すサブマクロブロックプレディクションシンタクスなどに渡される。
FIG. 22 is a diagram illustrating an example of the
図23は、マクロブロックプレディクションシンタクスの例を示す図である。図中に示されるAvailAffineModeMbは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeMbが0の場合、判定パラメータ125で算出した各種値によって、幾何変換予測を利用しないように予測切替情報122が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeMbは0となる。
FIG. 23 is a diagram illustrating an example of macroblock prediction syntax. AvailAffineModeMb shown in the figure is an internal parameter indicating whether or not geometric transformation prediction can be used in the pixel block. When AvailAffineModeMb is 0, it means that the
一方、AvailAffineModeMbが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_pred_flagが符号化されている。mb_affine_pred_flagが1の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。mb_affine_pred_flagが0の場合、動き補償予測が適用されることを意味する。 On the other hand, when AvailAffineModeMb is 1, mb_affine_pred_flag indicating which of geometric transformation prediction and motion compensation prediction is used is encoded. When mb_affine_pred_flag is 1, it means that geometric transformation prediction is applied to the pixel block. When mb_affine_pred_flag is 0, it means that motion compensation prediction is applied.
NumMbPart()は、mb_typeに規定されたブロック分割数を返す内部関数であり、16×16画素ブロックの場合は1、16×8、8×16画素ブロックの場合は2、8×8画素ブロックの場合は4を出力する。 NumMbPart () is an internal function that returns the number of block divisions specified in mb_type. It is 1 for a 16 × 16 pixel block, 2 for an 8 × 16 pixel block, and 2 for an 8 × 8 pixel block. In the case, 4 is output.
図24は、サブマクロブロックプレディクションシンタクスの例を示す図である。図中に示されるAvailAffineModeSubMbは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。AvailAffineModeSubMbが0の場合、判定パラメータ125で算出した各種値によって、幾何変換予測を利用しないように予測切替情報417が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもAvailAffineModeSubMbは0となる。
FIG. 24 is a diagram illustrating an example of sub macroblock prediction syntax. AvailAffineModeSubMb shown in the figure is an internal parameter indicating whether or not geometric transformation prediction can be used in the pixel block. When AvailAffineModeSubMb is 0, it means that the
一方、AvailAffineModeSubMbが1の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すmb_affine_pred_flagが符号化されている。mb_affine_pred_flagが1の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。mb_affine_pred_flagが0の場合、動き補償予測が適用されることを意味する。NumSubMbPart()は、mb_typeに規定されたブロック分割数を返す内部関数である。 On the other hand, when AvailAffineModeSubMb is 1, mb_affine_pred_flag indicating whether to use geometric transformation prediction or motion compensation prediction is encoded. When mb_affine_pred_flag is 1, it means that geometric transformation prediction is applied to the pixel block. When mb_affine_pred_flag is 0, it means that motion compensation prediction is applied. NumSubMbPart () is an internal function that returns the number of block divisions defined in mb_type.
図25は、符号化パラメータの例としてのマクロブロックレイヤーシンタクスの例を示す図である。図中に示されるcoded_block_patternは、8×8画素ブロック毎に、変換係数が存在するかどうかを示している。例えばこの値が0である時、対象ブロックに変換係数が存在しないことを意味している。図中のmb_qp_deltaは、量子化パラメータに関する情報を示している。対象ブロックの1つ前に符号化されたブロックの量子化パラメータからの差分値を表している。 FIG. 25 is a diagram illustrating an example of macroblock layer syntax as an example of an encoding parameter. Coded_block_pattern shown in the figure indicates whether a transform coefficient exists for each 8 × 8 pixel block. For example, when this value is 0, it means that there is no transform coefficient in the target block. Mb_qp_delta in the figure indicates information related to the quantization parameter. The difference value from the quantization parameter of the block encoded immediately before the target block is represented.
図中のref_idx_l0及びref_idx_l1は、インター予測が選択されているときに、対象ブロックがどの参照画像を用いて予測されたか、を表す参照画像のインデックスを示している。図中のmv_l0、mv_l1は動きベクトル情報を示している。図中のtransform_8x8_flagは、対象ブロックが8×8変換であるかどうかを示す変換情報を表している。 Ref_idx_l0 and ref_idx_l1 in the figure indicate reference image indexes representing which reference image is used to predict the target block when inter prediction is selected. Mv_l0 and mv_l1 in the figure indicate motion vector information. In the figure, transform — 8 × 8_flag represents conversion information indicating whether or not the target block is 8 × 8 conversion.
なお、図19ないし図25に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、または複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。更に、当該マクロブロックレイヤーシンタクスに記述されている各々のシンタクス要素は、後述するマクロブロックデータシンタクスに明記されるように変更しても良い。 It should be noted that syntax elements not defined in the present embodiment may be inserted between the rows in the syntax tables shown in FIGS. 19 to 25, and descriptions regarding other conditional branches may be included. Further, the syntax table may be divided into a plurality of tables, or a plurality of syntax tables may be integrated. Moreover, it is not always necessary to use the same term, and it may be arbitrarily changed depending on the form to be used. Further, each syntax element described in the macroblock layer syntax may be changed as specified in a macroblock data syntax described later.
以上が、動画像復号化装置400の説明である。
The above is the description of the moving
(第6の実施形態:イントラ予測の追加)
図33は、第6の実施の形態で用いられる動画像復号化装置500の構造を示す図である。図33において、図32の動画像復号化装置400と同位置の機能を持つ各部には同一の符号を付し、ここでは説明を省略する。
(Sixth embodiment: addition of intra prediction)
FIG. 33 is a diagram illustrating a structure of a moving
動画像復号化装置500は、動画像復号化装置400が有する各部に加え、イントラ予測部501、及び、予測切替スイッチ502が追加されている。イントラ予測部501は、入力された参照画像信号413を基にして画面内の情報のみを用いた予測画像信号418を生成する。
In addition to the units included in the
符号化データ復号部402で復号された予測情報から予測切替情報503が予測切替スイッチ502へと入力される。予測切替情報503には、イントラ予測部501の出力端とインター予測部130の出力端との、どちらとスイッチを繋ぐかの情報が記述されている。
Prediction switching information 503 is input to the
イントラ予測が選択された場合、予測切替スイッチ502は、イントラ予測部501の出力端をスイッチへと接続し、イントラ予測部501で得られた予測画像信号418を加算器404へと出力する。一方、インター予測が選択された場合、インター予測部130の出力端をスイッチへと接続し、インター予測部130で得られた予測画像信号418を加算器404へと出力する。
When intra prediction is selected, the
これにより、イントラ予測部501で生成された予測画像信号を選ぶか、インター予測部130で生成された予測画像信号を選ぶか、が判断され、予測モード分離スイッチ502の出力端を切り替える。
Thereby, it is determined whether to select the predicted image signal generated by the intra prediction unit 501 or the predicted image signal generated by the
以上が第6の実施の形態に係る動画像復号化装置500の処理の説明である。
The above is the description of the processing of the
(第7の実施形態:動きベクトルの差分をシグナリング)
本発明の第7の実施の形態に係わる動画像復号化装置は、例えば、第4の実施の動画像復号化装置が生成する符号化データを復号して復号画像信号を生成する。第7の実施の形態に係る動画像符号化装置は、第5の実施の形態に係わる動画像復号化装置400の機能に加えて、予測対象ブロックの動きベクトルと幾何変換パラメータを補正する動きベクトルの差分を復号化する。
(Seventh embodiment: signaling a difference of motion vectors)
The moving picture decoding apparatus according to the seventh embodiment of the present invention generates, for example, a decoded picture signal by decoding encoded data generated by the moving picture decoding apparatus according to the fourth embodiment. In addition to the function of the
第5の実施の形態に係る動画像復号化装置400が復号化する符号化データのシンタクスに対する、本実施の形態に係わる動画像復号化装置が復号する符号化データのシンタクスの変更は、図29及び図30と同一である。
The change of the syntax of the encoded data decoded by the video decoding device according to the present embodiment with respect to the syntax of the encoded data decoded by the
図29及び図30において、シンタクス要素に含まれる文字のうち、L0及びl0は参照画像L0上に示される動きベクトルを示し、L1及びl1は参照画像L1上に示される動きベクトルを示す。再探索前の本来の動きベクトルを、mvorg=(mvxorg,mvyorg)とし、再探索後の動きベクトルをmvrefine=(mvxrefine,mvyrefine)とすると、動きベクトルの差分mvd_affine[2]は式(31)により算出される。 29 and 30, among the characters included in the syntax elements, L0 and l0 indicate motion vectors indicated on the reference image L0, and L1 and l1 indicate motion vectors indicated on the reference image L1. If the original motion vector before the re-search is mv org = (mvx org , mvy org ) and the motion vector after the re-search is mv refine = (mvx refine , mvy refine ), the motion vector difference mvd_affine [2] Is calculated by equation (31).
なお、式(31)においてmvd_affine[0]は垂直方向、mvd_affine[1]は水平方向に対応する動きベクトルの差分値であり、シンタクス要素に対応している。なお、ここでは、図29及び図30に示すシンタクスに含まれている文字l0及びl1を省略しているが、式(31)に示す動きベクトルの差分は、L0及びL1のそれぞれのインデックスに対して計算する。また、mvd_l0及びmvd_l1は、それぞれの参照画像信号に対応する動きベクトルと動きベクトルを予測した値との差分を計算することによって計算され、本実施の形態では明示しない他の動きベクトルの予測技術を用いて生成される。 In Equation (31), mvd_affine [0] is the difference value of the motion vector corresponding to the vertical direction, and mvd_affine [1] corresponds to the syntax element. Note that here, the characters l0 and l1 included in the syntaxes shown in FIGS. 29 and 30 are omitted, but the motion vector difference shown in the equation (31) is different from the indexes L0 and L1. To calculate. Also, mvd_l0 and mvd_l1 are calculated by calculating the difference between the motion vector corresponding to each reference image signal and the value predicted from the motion vector, and other motion vector prediction techniques not explicitly described in this embodiment are used. Generated using.
予測対象ブロックの符号化が完了すると、再探索前の動きベクトルであるmvorg=(mvxorg,mvyorg)が符号化制御部126の内部メモリへ格納される。このように予測対象ブロックで利用する動きベクトルと、隣接ブロックとなった際に利用される動きベクトルを別々に保持することにより、隣接ブロックからの幾何変換パラメータの誤差の伝播を防ぐことが可能となる。 When the encoding of the prediction target block is completed, mv org = (mvx org , mvy org ), which is a motion vector before re-searching, is stored in the internal memory of the encoding control unit 126. In this way, by separately holding the motion vector used in the prediction target block and the motion vector used when it becomes an adjacent block, it is possible to prevent propagation of errors in geometric transformation parameters from the adjacent block Become.
(第1ないし第7の実施形態の変形例)
(1)第1ないし第7の実施形態においては、処理対象フレームを16×16画素サイズなどの短形ブロックに分割し、図4に示したように画面左上のブロックから右下に向かって順に符号化/復号化する場合について説明しているが、符号化順序及び復号化順序はこれに限られない。例えば、右下から左上に向かって順に符号化及び復号化を行ってもよいし、画面中央から渦巻状に向かって順に符号化及び復号化を行ってもよい。さらに、右上から左下に向かって順に符号化及び復号化を行ってもよいし、画面の周辺部から中心部に向かって順に符号化及び復号化を行ってもよい。
(Modifications of the first to seventh embodiments)
(1) In the first to seventh embodiments, the processing target frame is divided into short blocks of 16 × 16 pixel size and the like, and as shown in FIG. The case of encoding / decoding has been described, but the encoding order and decoding order are not limited to this. For example, encoding and decoding may be performed sequentially from the lower right to the upper left, or encoding and decoding may be performed sequentially from the center of the screen toward the spiral. Furthermore, encoding and decoding may be performed in order from the upper right to the lower left, or encoding and decoding may be performed in order from the peripheral part to the center part of the screen.
(2)第1ないし第7の実施形態においては、ブロックサイズを4×4画素ブロック、8×8画素ブロックとして説明を行ったが、予測対象ブロックは均一なブロック形状にする必要なく、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどの何れのブロックサイズであってもよい。また、1つのマクロブロック内でも全てのブロックを同一にする必要はなく、異なるサイズのブロックを混在させてもよい。この場合、分割数が増えると分割情報を符号化又は復号化するための符号量が増加する。そこで、変換係数の符号量と局部復号画像又は復号画像とのバランスを考慮して、ブロックサイズを選択すればよい。 (2) In the first to seventh embodiments, the block size has been described as a 4 × 4 pixel block and an 8 × 8 pixel block. However, the prediction target block does not need to have a uniform block shape, and 16 × Any block size such as an 8 pixel block, an 8 × 16 pixel block, an 8 × 4 pixel block, or a 4 × 8 pixel block may be used. Also, it is not necessary to make all blocks the same within one macroblock, and blocks of different sizes may be mixed. In this case, as the number of divisions increases, the amount of codes for encoding or decoding the division information increases. Therefore, the block size may be selected in consideration of the balance between the code amount of the transform coefficient and the locally decoded image or the decoded image.
(3)第1ないし第7の実施形態においては、輝度信号と色差信号を分割せず、一方の色信号成分に限定した例として記述した。しかし、予測処理が輝度信号と色差信号で異なる場合、それぞれ異なる予測方法を用いてもよいし、同一の予測方法を用いても良い。異なる予測方法を用いる場合は、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号化する。 (3) In the first to seventh embodiments, the luminance signal and the color difference signal are not divided and described as an example limited to one color signal component. However, when the prediction processing is different between the luminance signal and the color difference signal, different prediction methods may be used, or the same prediction method may be used. When a different prediction method is used, the prediction method selected for the color difference signal is encoded or decoded by the same method as the luminance signal.
(4)第1ないし第4の実施形態においては、判定パラメータを符号化データに含ませない例を記述した。しかし、画素ブロック毎の判定パラメータを、符号化データに含ませてもよい。また、第5ないし第7の実施形態においては、判定パラメータを、幾何変換パラメータに基づいて、画素ブロック毎に算出する例を説明した。しかし、符号化データに判定パラメータが含まれている場合には、動画像復号化装置が判定パラメータを算出することなく、復号した判定パラメータにより、幾何変換による動き補償予測を行うか否かを判定する構成にするとよい。 (4) In the first to fourth embodiments, the example in which the determination parameter is not included in the encoded data has been described. However, the determination parameter for each pixel block may be included in the encoded data. In the fifth to seventh embodiments, the example in which the determination parameter is calculated for each pixel block based on the geometric transformation parameter has been described. However, when the determination parameter is included in the encoded data, the moving image decoding apparatus determines whether to perform motion compensation prediction by geometric transformation based on the decoded determination parameter without calculating the determination parameter. It is good to have a configuration to do.
本提案手法を用いることで、平行移動モデルに適さない動オブジェクトを予測するために、過度のブロック分割が施されて、ブロック分割情報が増大することを防ぐ。つまり、付加的な情報を増加させずに、ブロック内のオブジェクトの幾何変形を予測し、それぞれに好適な幾何変換パラメータを適用することによって、符号化効率を向上させると共に主観画質も向上するという効果を奏する。 By using the proposed method, in order to predict a moving object that is not suitable for the parallel movement model, excessive block division is prevented and block division information is prevented from increasing. In other words, the effect of improving the coding efficiency and the subjective image quality by predicting the geometric deformation of the object in the block without applying additional information and applying a suitable geometric transformation parameter to each. Play.
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
以上のように、本発明にかかる動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法は、高効率な動画像の符号化に有用であり、特に、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減する動画像符号化に適している。 As described above, the moving image encoding device, the moving image decoding device, the moving image encoding method, and the moving image decoding method according to the present invention are useful for highly efficient moving image encoding. It is suitable for moving picture coding that reduces the motion detection process necessary for estimating the geometric transformation parameter used for the geometric transformation motion compensation prediction.
100 動画像符号化装置
101 減算器
102 変換・量子化部
103 逆量子化・逆変換部
104 加算器
105 参照画像メモリ
106 動き推定部
107 動き補償予測部
108 幾何変換パラメータ導出部
109 幾何変換予測部
110 予測分離スイッチ
111 予測切替部
112 エントロピー符号化部
113 出力バッファ
114 入力画像信号
115 予測誤差信号
116 変換係数
117 復号予測誤差信号
118 復号画像信号
119 動きベクトル
120 参照画像信号
121 幾何変換パラメータ
122 予測切替情報
123 予測画像信号
124 符号化データ
125 判定パラメータ
126 符号化制御部
127 判定パラメータ導出部
130 インター予測部
181 動きベクトル取得部
182 パラメータ導出部
191 幾何変換部
192 内挿補間部
200 動画像符号化装置
201 イントラ予測部
202 モード判定部
203 予測モード分離スイッチ
204 予測モード切替情報
300 インター予測部
301 ベクトル再探索部
400 動画像復号化装置
401 入力バッファ
402 符号化データ復号部
403 逆量子化・逆変換部
404 加算器
405 参照画像メモリ
406 動き補償予測部
407 幾何変換パラメータ導出部
408 幾何変換予測部
409 予測切替部
410 予測分離スイッチ
411 符号化データ
412 予測誤差信号
413 参照画像信号
414 幾何変換パラメータ
415 動きベクトル
416 判定パラメータ
417 予測切替情報
418 予測画像信号
419 出力バッファ
420 復号画像信号
421 復号化制御部
422 判定パラメータ導出部
500 動画像復号化装置
501 イントラ予測部
502 予測モード分離スイッチ
502 予測切替スイッチ
503 予測切替情報
DESCRIPTION OF SYMBOLS 100 Moving image encoder 101 Subtractor 102 Transformer / quantizer 103 Dequantizer / Inverse transformer 104 Adder 105 Reference image memory 106 Motion estimator 107 Motion compensation predictor 108 Geometric transformation parameter derivation unit 109 Geometric transformation predictor 110 prediction separation switch 111 prediction switching unit 112 entropy encoding unit 113 output buffer 114 input image signal 115 prediction error signal 116 transform coefficient 117 decoded prediction error signal 118 decoded image signal 119 motion vector 120 reference image signal 121 geometric transformation parameter 122 prediction switching Information 123 Predictive image signal 124 Encoded data 125 Determination parameter 126 Encoding control unit 127 Determination parameter deriving unit 130 Inter prediction unit 181 Motion vector acquisition unit 182 Parameter deriving unit 191 Geometric conversion unit 192 Interpolation unit 00 video encoding device 201 intra prediction unit 202 mode determination unit 203 prediction mode separation switch 204 prediction mode switching information 300 inter prediction unit 301 vector re-search unit 400 video decoding device 401 input buffer 402 encoded data decoding unit 403 inverse Quantization / inverse transform unit 404 Adder 405 Reference image memory 406 Motion compensation prediction unit 407 Geometric transformation parameter derivation unit 408 Geometric transformation prediction unit 409 Prediction switching unit 410 Prediction separation switch 411 Encoded data 412 Prediction error signal 413 Reference image signal 414 Geometric transformation parameter 415 Motion vector 416 Determination parameter 417 Prediction switching information 418 Prediction image signal 419 Output buffer 420 Decoded image signal 421 Decoding control unit 422 Determination parameter derivation unit 500 Video decoding device 501 IN Tiger prediction unit 502 prediction mode separation switch 502 prediction changeover switch 503 prediction changeover information
Claims (35)
前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、
前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測部と、
前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化部と、
を有する動画像符号化装置。 A motion information acquisition unit that acquires motion information of one or more adjacent blocks among adjacent blocks adjacent to one of the pixel blocks into which the image signal is divided;
A geometric transformation information acquisition unit that acquires, based on the motion information, a geometric transformation parameter that is information related to a shape of a mapping by geometric transformation of the pixel block in a reference image signal when performing motion compensation on the pixel block;
A geometric transformation prediction unit that performs geometric transformation motion prediction including geometric transformation between the reference image signal and the pixel block, using the reference image signal subjected to geometric transformation by the geometric transformation parameter;
An encoding unit that encodes a prediction error value of the pixel block on which the geometric transformation motion prediction has been performed;
A moving picture encoding apparatus having:
前記符号化部は、さらに、前記動き情報を符号化する請求項1記載の動画像符号化装置。 The geometric transformation prediction unit further generates motion information of the pixel block,
The moving image encoding apparatus according to claim 1, wherein the encoding unit further encodes the motion information.
前記符号化部は、前記動きベクトルと前記幾何変換パラメータとによる前記幾何変換動き予測と、前記動きベクトルに基づく動き探索により得られる動きベクトルと前記幾何変換パラメータとによる前記幾何変換動き予測と、のうち、予測誤差値が小さい幾何変換動き予測の動きベクトルに係る情報を符号化する請求項1記載の動画像符号化装置。 The motion information acquisition unit acquires a motion vector of the pixel block from the motion information,
The encoding unit includes the geometric transformation motion prediction based on the motion vector and the geometric transformation parameter, and the geometric transformation motion prediction based on a motion vector obtained by a motion search based on the motion vector and the geometric transformation parameter. The moving picture coding apparatus according to claim 1, wherein information relating to a motion vector of geometric transformation motion prediction having a small prediction error value is coded.
前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、
前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測ステップと、
前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化ステップと、
を有する動画像符号化方法。 A motion information acquisition step of acquiring motion information of one or more adjacent blocks among adjacent blocks adjacent to one of the pixel blocks into which the image signal is divided;
A geometric transformation information acquisition step for acquiring a geometric transformation parameter, which is information related to a shape of a map obtained by geometric transformation of the pixel block, in a reference image signal when performing motion compensation for the pixel block, and based on the motion information;
A geometric transformation prediction step, wherein geometric transformation motion prediction including geometric transformation between the reference image signal and the pixel block is performed using the reference image signal subjected to geometric transformation by the geometric transformation parameter;
An encoding step for encoding a prediction error value of the pixel block on which the geometric transformation motion prediction has been performed;
A video encoding method comprising:
前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、
前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、
前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、 幾何変換予測部と、
復号された前記予測誤差値と生成された前記予測値とを加算する加算部と、
を有する動画像復号化装置。 The image signal including a prediction error value obtained by geometric transformation motion prediction including geometric transformation between a pixel block into which the image signal is divided and a reference image signal when performing motion compensation on the pixel block is encoded. A decoding unit for decoding the encoded data,
A motion information acquisition unit that acquires motion information of one or more adjacent blocks of adjacent blocks adjacent to one of the pixel blocks;
A geometric transformation information acquisition unit that acquires, based on the motion information, a geometric transformation parameter that is information related to a shape of a map obtained by geometric transformation of the pixel block in the reference image signal;
Performing the geometric transformation motion prediction using the reference image signal subjected to the geometric transformation by the geometric transformation parameter, and generating a prediction value; a geometric transformation prediction unit;
An adder that adds the decoded prediction error value and the generated prediction value;
A moving picture decoding apparatus comprising:
前記復号化部は、さらに、前記幾何変換パラメータを復号する請求項19記載の動画像復号化装置。 The code data includes information on the geometric transformation parameter,
The moving picture decoding apparatus according to claim 19, wherein the decoding unit further decodes the geometric transformation parameter.
前記復号化部は、さらに、前記補正情報を復号する請求項19記載の動画像復号化装置。 The code data further includes correction information used for correction to reduce the prediction error value for the geometric transformation parameter,
The video decoding device according to claim 19, wherein the decoding unit further decodes the correction information.
前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、
前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、
前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測ステップと、
復号された前記予測誤差値と生成された前記予測値とを加算する加算ステップと、
を有する動画像復号化方法。 The image signal including a prediction error value obtained by a geometric transformation motion prediction including a geometric transformation between a pixel block into which the image signal is divided and a reference image signal when performing motion compensation on the pixel block is encoded. A decoding step of decoding the encoded data;
A motion information acquisition step of acquiring motion information of one or more adjacent blocks of adjacent blocks adjacent to one of the pixel blocks;
A geometric transformation information obtaining step for obtaining a geometric transformation parameter, which is information relating to a shape of a map obtained by geometric transformation of the pixel block in the reference image signal, based on the motion information;
Performing the geometric transformation motion prediction using the reference image signal subjected to the geometric transformation by the geometric transformation parameter, and generating a prediction value; a geometric transformation prediction step;
An adding step of adding the decoded prediction error value and the generated prediction value;
A video decoding method comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027747A JP2012080151A (en) | 2009-02-09 | 2009-02-09 | Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction |
PCT/JP2010/051903 WO2010090335A1 (en) | 2009-02-09 | 2010-02-09 | Motion picture coding device and motion picture decoding device using geometric transformation motion compensating prediction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009027747A JP2012080151A (en) | 2009-02-09 | 2009-02-09 | Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012080151A true JP2012080151A (en) | 2012-04-19 |
Family
ID=42542219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009027747A Pending JP2012080151A (en) | 2009-02-09 | 2009-02-09 | Method and apparatus for moving image encoding and moving image decoding using geometry-transformed/motion-compensated prediction |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012080151A (en) |
WO (1) | WO2010090335A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017086747A1 (en) * | 2015-11-20 | 2017-05-26 | 한국전자통신연구원 | Method and device for encoding/decoding image using geometrically modified picture |
WO2017086748A1 (en) * | 2015-11-20 | 2017-05-26 | 한국전자통신연구원 | Method and device for encrypting/decrypting image by using geometrically changed image |
JP2019519980A (en) * | 2016-05-16 | 2019-07-11 | クアルコム,インコーポレイテッド | Affine motion prediction for video coding |
US11323736B2 (en) | 2015-09-29 | 2022-05-03 | Huawei Technologies Co., Ltd. | Image prediction method and apparatus |
US11877001B2 (en) | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105052148B (en) * | 2013-04-12 | 2018-07-10 | 日本电信电话株式会社 | Video coding apparatus and method, video decoder and method and its recording medium |
CN103982950A (en) * | 2014-06-07 | 2014-08-13 | 苏州碧江环保工程有限公司 | Air purifier |
US10200715B2 (en) | 2016-02-17 | 2019-02-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for encoding and decoding video pictures |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775326B2 (en) * | 1997-02-13 | 2004-08-10 | Mitsubishi Denki Kabushiki Kaisha | Moving image estimating system |
WO2005045763A1 (en) * | 2003-11-04 | 2005-05-19 | Canon Kabushiki Kaisha | Method of estimating an affine relation between images |
-
2009
- 2009-02-09 JP JP2009027747A patent/JP2012080151A/en active Pending
-
2010
- 2010-02-09 WO PCT/JP2010/051903 patent/WO2010090335A1/en active Application Filing
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11323736B2 (en) | 2015-09-29 | 2022-05-03 | Huawei Technologies Co., Ltd. | Image prediction method and apparatus |
US20180332279A1 (en) * | 2015-11-20 | 2018-11-15 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image using geometrically modified picture |
CN108353165A (en) * | 2015-11-20 | 2018-07-31 | 韩国电子通信研究院 | The method and apparatus that image is encoded/decoded using geometric modification picture |
WO2017086747A1 (en) * | 2015-11-20 | 2017-05-26 | 한국전자통신연구원 | Method and device for encoding/decoding image using geometrically modified picture |
US10944962B2 (en) | 2015-11-20 | 2021-03-09 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image by using geometrically changed image |
WO2017086748A1 (en) * | 2015-11-20 | 2017-05-26 | 한국전자통신연구원 | Method and device for encrypting/decrypting image by using geometrically changed image |
CN108353165B (en) * | 2015-11-20 | 2022-08-09 | 韩国电子通信研究院 | Method and apparatus for encoding/decoding image using geometrically modified picture |
US11412209B2 (en) | 2015-11-20 | 2022-08-09 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image using geometrically modified picture |
US11425370B2 (en) | 2015-11-20 | 2022-08-23 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image using geometrically modified picture |
US11516463B2 (en) | 2015-11-20 | 2022-11-29 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image by using geometrically changed image |
US11758128B2 (en) | 2015-11-20 | 2023-09-12 | Electronics And Telecommunications Research Institute | Method and device for encoding/decoding image using geometrically modified picture |
JP2019519980A (en) * | 2016-05-16 | 2019-07-11 | クアルコム,インコーポレイテッド | Affine motion prediction for video coding |
US11503324B2 (en) | 2016-05-16 | 2022-11-15 | Qualcomm Incorporated | Affine motion prediction for video coding |
US11877001B2 (en) | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2010090335A1 (en) | 2010-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2739499C1 (en) | Method of decoding video for motion compensation | |
KR101707088B1 (en) | Intra prediction method of chrominance block using luminance sample, and apparatus using same | |
WO2011013253A1 (en) | Prediction-signal producing device using geometric transformation motion-compensation prediction, time-varying image encoding device, and time-varying image decoding device | |
JP4977094B2 (en) | Image coding method | |
US9154806B2 (en) | Method and apparatus for encoding/decoding images using adaptive motion vector resolution | |
WO2010090335A1 (en) | Motion picture coding device and motion picture decoding device using geometric transformation motion compensating prediction | |
US20110176614A1 (en) | Image processing device and method, and program | |
JP2010011075A (en) | Method and apparatus for encoding and decoding moving image | |
JP2010135864A (en) | Image encoding method, device, image decoding method, and device | |
KR20140010174A (en) | Video encoding device, video decoding device, video encoding method, video decoding method, video encoding program, video decoding program | |
JP5197864B2 (en) | Image decoding method and apparatus | |
JP2009049969A (en) | Device and method of coding moving image and device and method of decoding moving image | |
JP2020053725A (en) | Predictive image correction device, image encoding device, image decoding device, and program | |
JP2020025308A (en) | Image encoding method and image decoding method |