JP2016158306A - Image decoding method - Google Patents

Image decoding method Download PDF

Info

Publication number
JP2016158306A
JP2016158306A JP2016114064A JP2016114064A JP2016158306A JP 2016158306 A JP2016158306 A JP 2016158306A JP 2016114064 A JP2016114064 A JP 2016114064A JP 2016114064 A JP2016114064 A JP 2016114064A JP 2016158306 A JP2016158306 A JP 2016158306A
Authority
JP
Japan
Prior art keywords
block
image
motion vector
unit
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016114064A
Other languages
Japanese (ja)
Other versions
JP6181242B2 (en
Inventor
村上 智一
Tomokazu Murakami
智一 村上
横山 徹
Toru Yokoyama
徹 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxell Holdings Ltd
Original Assignee
Hitachi Maxell Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Maxell Ltd filed Critical Hitachi Maxell Ltd
Priority to JP2016114064A priority Critical patent/JP6181242B2/en
Publication of JP2016158306A publication Critical patent/JP2016158306A/en
Application granted granted Critical
Publication of JP6181242B2 publication Critical patent/JP6181242B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image coding technique to reduce a code amount.SOLUTION: In inter-prediction for performing motion search by using blocks divided from an input image and a reference image, a method includes selecting a motion vector of the block from the motion vectors of surrounding blocks to predict the motion vector; and calculating a differential vector to code the motion vector. In the above method, adaptive and efficient compression of a moving image is performed by varying the number or the positions of candidate blocks to select a prediction vector on the basis of a block unit or a frame unit.SELECTED DRAWING: Figure 1

Description

本発明は画像を符号化する画像符号化方法、画像符号化装置、符号化画像データを復号する画像復号方法及び画像復号装置に関する。   The present invention relates to an image encoding method for encoding an image, an image encoding device, an image decoding method for decoding encoded image data, and an image decoding device.

画像、音声情報をデジタルデータ化して記録、伝達する手法として、H.264/AVC(Advanced Video Coding)規格等がこれまでに策定されてきた。ISO/IEC MPEGとITU-T VCEGはこれを超える圧縮率を実現するため、JCT-VC(Joint Collaborative Team on Video Coding)を設立し、HEVC(High Efficiency Video Coding)と呼ばれる次世代方式の検討を始めている。   The H.264 / AVC (Advanced Video Coding) standard has been established as a method for recording and transmitting image and audio information as digital data. ISO / IEC MPEG and ITU-T VCEG have established JCT-VC (Joint Collaborative Team on Video Coding) in order to achieve compression ratios exceeding this, and are considering the next generation method called HEVC (High Efficiency Video Coding). I'm starting.

HEVCに対する技術候補の一つとして、動きベクトル競合(Motion Vector Competition)と呼ばれる方式が提案されている。この方式は、符号化対象マクロブロックにおける動き予測モードの予測ベクトル選択方法を提案したものである。H.264/AVCでは、予測ベクトルは符号化対象マクロブロックの上、左、右上の符号化済みマクロブロックが持つ動きベクトルから、X方向成分およびY方向成分についてmedian演算を行うことによって求められていた。   As one of the technical candidates for HEVC, a method called motion vector competition has been proposed. This method proposes a prediction vector selection method for a motion prediction mode in an encoding target macroblock. In H.264 / AVC, the prediction vector is obtained by performing a median operation on the X-direction component and the Y-direction component from the motion vectors of the encoded macroblocks above, left, and upper right of the encoding target macroblock. It was.

一方、動きベクトル競合では、上、左、および最も近い参照フレームの符号化対象マクロブロックと同じ位置の動きベクトルを比較し、符号化対象マクロブロックの動きベクトルに最も近いものを予測ベクトルとして選択してフラグとして伝送する。   On the other hand, in motion vector competition, the motion vectors at the same position as the encoding target macroblocks of the top, left, and nearest reference frames are compared, and the closest one to the motion vector of the encoding target macroblock is selected as the prediction vector. Transmitted as a flag.

I. Amonou, et. al. "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", Doc. JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC), April 2010.I. Amonou, et. Al. "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", Doc. JCTVC-A114, Joint Collaborative Team on Video Coding (JCT-VC), April 2010.

しかし、動きベクトル競合方式はフラグを伝送するため、median演算の結果と予測ベクトルが同じ場合はフラグの分だけ符号量が増えてしまう。   However, since the motion vector competition method transmits a flag, if the result of the median operation and the prediction vector are the same, the amount of code increases by the amount of the flag.

また、全ての動きベクトルを用いる符号化モードに有効というわけではない。   Also, it is not effective for an encoding mode that uses all motion vectors.

さらに、参照するブロックが動きベクトルを持たない場合、フレーム領域外にある場合の処理や、フラグの記述方法が効率的ではなく、3つの候補から2つを選択してフラグを記録する方式のため、狭い範囲の候補ブロックしか選ぶことができずに、予測誤差が大きく符号量が大きく、符号化効率が低いという問題点がある。   Furthermore, when the block to be referenced does not have a motion vector, the processing when it is outside the frame region and the flag description method are not efficient, and the flag is recorded by selecting two from three candidates. However, only candidate blocks in a narrow range can be selected, there is a problem that the prediction error is large, the code amount is large, and the coding efficiency is low.

本発明は上記課題を鑑みてなされたものであり、本発明の目的は、適切な動き予測による高い符号化効率を実現可能な画像符号化技術、画像復号技術を提供することにある。   The present invention has been made in view of the above problems, and an object of the present invention is to provide an image encoding technique and an image decoding technique that can realize high encoding efficiency by appropriate motion prediction.

本願は、上記課題を解決するための手段を種々含むものであるが、その一つを挙げると次の通りである。   The present application includes various means for solving the above-mentioned problems. One of them is as follows.

入力画像を符号化する画像符号化装置であって、前記入力画像を分割した符号化対象ブロックと参照画像を用いて動き探索を行う動き探索部と、前記符号化対象ブロックの動きベクトルを、前記符号化対象ブロックの周囲にあるブロックの一部または全てからなる候補ブロックの動きベクトルから予測動きベクトルを生成する適応PMV選択部と、符号化ブロックの動きベクトルと予測動きベクトルから差分ベクトルを計算し符号化するPMV予測符号化部とを備え、前記適応PMV選択部は、用いる候補ブロックの数又は位置を変化させるか、または用いる候補ブロックの動きベクトルをゼロベクトルとする第1手段を有することを特徴とする画像符号化装置。   An image encoding device that encodes an input image, a motion search unit that performs a motion search using an encoding target block obtained by dividing the input image and a reference image, and a motion vector of the encoding target block, An adaptive PMV selector that generates a motion vector predictor from motion vectors of candidate blocks consisting of some or all of the blocks around the current block, and a difference vector is calculated from the motion vector of the current block and the motion vector predictor. A PMV predictive encoding unit for encoding, wherein the adaptive PMV selection unit includes first means for changing a number or position of candidate blocks to be used or setting a motion vector of the candidate block to be used as a zero vector. An image encoding device.

本発明によれば、符号化効率を向上することができる。   According to the present invention, encoding efficiency can be improved.

実施例1に係る画像符号化装置のブロック図である。1 is a block diagram of an image encoding device according to Embodiment 1. FIG. 実施例2に係る画像復号装置のブロック図である。It is a block diagram of the image decoding apparatus which concerns on Example 2. 実施例1に係るPMV(予測動きベクトル)として動きベクトルを選択する候補ブロックの説明図である。It is explanatory drawing of the candidate block which selects a motion vector as PMV (predictive motion vector) which concerns on Example 1. FIG. 実施例1に係るシーン解析の概要についての説明図である。It is explanatory drawing about the outline | summary of the scene analysis which concerns on Example 1. FIG. 実施例1に係る画像符号化装置で用いられる画像符号化フロー図である。FIG. 3 is an image encoding flowchart used in the image encoding apparatus according to the first embodiment. 実施例2に係る画像復号方法のフロー図である。It is a flowchart of the image decoding method which concerns on Example 2. 実施例3に係るデータ記録媒体の説明図である。10 is an explanatory diagram of a data recording medium according to Embodiment 3. FIG. 実施例1に係る適応PMV選択部におけるフレーム単位でのPMV選択判定フローを示す図である。It is a figure which shows the PMV selection determination flow per frame in the adaptive PMV selection part which concerns on Example 1. FIG. 実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択判定フローを示す図である。It is a figure which shows the PMV selection determination flow per block in the adaptive PMV selection part which concerns on Example 1. FIG. 実施例1に係る適応PMV選択部におけるブロック単位でのPMV選択を行う候補ブロックの調整フローを示す図である。It is a figure which shows the adjustment flow of the candidate block which performs PMV selection per block in the adaptive PMV selection part which concerns on Example 1. FIG. 実施例1に係る選択されるベクトルのフラグとして記述方法の例を示す図である。It is a figure which shows the example of the description method as a flag of the vector selected concerning Example 1. FIG.

以下、実施例を、図面を参照して説明する。   Hereinafter, examples will be described with reference to the drawings.

また、各図面において、同一の符号が付されている構成要素は同一の機能を有することとする。   Moreover, in each drawing, the component to which the same code | symbol was attached | subjected shall have the same function.

また、本明細書の各記載及び各図面における「動きベクトル競合」という表現は従来の符号化方式を示し、「適応動きベクトル選択」という表現は本発明に係る新たな符号化方式を示す。「PMV選択」とは、候補となるブロックが持つ動きベクトルから1つを選択して、選択した動きベクトルから予測動きベクトル(Predicted Motion Vector:PMV)を生成(median等そのまま選択的に使用することや、複数の動きベクトルを合成する等による新規な生成も含む)することを示す。   In addition, the expression “motion vector competition” in each description and each drawing of the present specification indicates a conventional encoding method, and the expression “adaptive motion vector selection” indicates a new encoding method according to the present invention. “PMV selection” means to select one of motion vectors of candidate blocks and generate a predicted motion vector (Predicted Motion Vector: PMV) from the selected motion vector (selecting median or the like as it is) And new generation by combining a plurality of motion vectors, etc.).

また、本明細書の各記載及び各図面における「0 vec」または「0ベクトル」とは各成分の値が0のベクトル、またはそのようなベクトルに変換、設定することを示す。   Further, “0 vec” or “0 vector” in each description and each drawing of this specification indicates that a value of each component is a vector of 0, or conversion into such a vector and setting.

また、本明細書の各記載及び各図面における「参照不可」とはブロックの情報が取得できないことを示す。具体例としては、候補ブロックの位置が画面の範囲外にある等が挙げられる。逆に、「参照可能」とはブロックの情報が取得できることである。   In addition, “non-referenceable” in each description and each drawing of the present specification indicates that block information cannot be acquired. As a specific example, the position of the candidate block is outside the range of the screen. Conversely, “can be referred to” means that block information can be acquired.

また、本明細書の各記載及び各図面における「ブロックの情報」にはベクトル、参照フレーム番号が含まれる。   In addition, “block information” in each description and each drawing of this specification includes a vector and a reference frame number.

また、本明細書の各記載及び各図面における「残差成分」という表現は、「予測誤差」と同様の意味も含む。   In addition, the expression “residual component” in each description and each drawing of the present specification includes the same meaning as “prediction error”.

また、本明細書の各記載及び各図面における「領域」という表現は、「画像」と同様の意味も含む。   In addition, the expression “region” in each description and each drawing of this specification includes the same meaning as “image”.

また、本明細書の各記載及び各図面における「フラグとともに伝送」という表現は、「フラグに含めて伝送」という意味も含む。   In addition, the expression “transmitted with a flag” in each description and each drawing of the present specification also includes the meaning of “transmitted in a flag”.

また、本明細書の各記載及び各図面における「符号化モード」という表現は、イントラ予測/インター予測の種別と適用するブロックサイズとの組み合わせを含むものである。   In addition, the expression “encoding mode” in each description and each drawing of the present specification includes a combination of a type of intra prediction / inter prediction and a block size to be applied.

まず、第1の実施例について図面を参照して説明する。
図1に実施例1に係る画像符号化装置のブロック図を示す。
First, a first embodiment will be described with reference to the drawings.
FIG. 1 is a block diagram of an image encoding apparatus according to the first embodiment.

画像符号化装置は、ブロック分割部101、予測誤差計算部102、イントラ予測部104、PMV予測符号化部107、適応PMV選択部106、動き探索部105、復号画像メモリ103、DCT変換部108、量子化部109、エントロピー符号化部110、逆量子化部111、逆DCT変換部112、モード選択部113、データ出力部114を備えている。   The image coding apparatus includes a block division unit 101, a prediction error calculation unit 102, an intra prediction unit 104, a PMV prediction coding unit 107, an adaptive PMV selection unit 106, a motion search unit 105, a decoded image memory 103, a DCT conversion unit 108, A quantization unit 109, an entropy encoding unit 110, an inverse quantization unit 111, an inverse DCT conversion unit 112, a mode selection unit 113, and a data output unit 114 are provided.

以下に画像符号化装置の各構成要素の動作を詳細に説明する。   The operation of each component of the image encoding device will be described in detail below.

なお、画像符号化装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、コンピュータの制御部がコンピュータの記憶部が記憶するソフトウェアと協働することにより実現しても構わない。   The operation of each component of the image encoding device may be an autonomous operation of each component as described below, for example. Alternatively, the computer control unit may be realized in cooperation with software stored in the computer storage unit.

まずブロック分割部101は、符号化対象である原画像を入力し、これを符号化の単位であるブロックに分割する。ここで分割するブロックのサイズは、Coding Unit(CU)やPrediction Unit(PU)と呼ばれる16×16画素等の2のべき乗サイズ(画素数m×画素数nのブロック、m,n=2のべき乗、例. 128×128,64×64,32×32, 16×16, 16×8,8×16,8×8,4×4)のものを用いるが、サイズは可変であり異なるサイズのものが隣り合っていても構わない。以下では同じサイズのブロックが連続する場合を例に挙げ説明し、サイズが異なる場合のベクトルの選択方法については別途説明する。   First, the block dividing unit 101 inputs an original image to be encoded, and divides it into blocks that are encoding units. The size of the block to be divided here is a power-of-two size such as 16 × 16 pixels called Coding Unit (CU) or Prediction Unit (PU) (a block of m pixels × n pixels, a power of m, n = 2) , Eg 128 × 128, 64 × 64, 32 × 32, 16 × 16, 16 × 8, 8 × 16, 8 × 8, 4 × 4), but the size is variable and of different sizes May be next to each other. Hereinafter, a case where blocks of the same size continue will be described as an example, and a vector selection method when the sizes are different will be described separately.

予測誤差計算部102では、生成された予測画像と原画像との差分を取って残差成分を計算し出力する。予測方法については一般にイントラ(フレーム内)予測とインター(フレーム間)予測がある。イントラ予測は、イントラ予測部104で行われ、インター予測は、PMV予測符号化部107、適応PMV選択部106、動き探索部105とからなるインター予測部120で行われる。イントラ予測は符号化対象ブロックよりも前に符号化された同じフレームの情報を用い、インター予測は符号化対象フレームよりも前に符号化された、再生時間としては前または後ろのフレームの情報を用いる。これらは復号画像メモリ103に格納されている。   The prediction error calculation unit 102 calculates the difference component between the generated prediction image and the original image, and outputs it. As prediction methods, there are generally intra (intra-frame) prediction and inter (inter-frame) prediction. Intra prediction is performed by the intra prediction unit 104, and inter prediction is performed by the inter prediction unit 120 including the PMV prediction encoding unit 107, the adaptive PMV selection unit 106, and the motion search unit 105. Intra prediction uses the information of the same frame encoded before the encoding target block, and inter prediction uses the information of the previous or subsequent frame encoded before the encoding target frame as the reproduction time. Use. These are stored in the decoded image memory 103.

ここで、イントラ予測部104や動き予測部、復号画像メモリ103は、説明のため一つだけ記載したが、符号化モード毎、フレーム毎にそれぞれ備えても良い。   Here, although only one intra prediction unit 104, motion prediction unit, and decoded image memory 103 are shown for explanation, they may be provided for each encoding mode and for each frame.

イントラ予測部104では、符号化対象ブロックよりも前に符号化された同じフレームの情報を用いて符号化対象ブロックの画素を予測する。イントラ予測の方法については既存の方式を用いればよい。   The intra prediction unit 104 predicts pixels of the encoding target block using information of the same frame encoded before the encoding target block. As an intra prediction method, an existing method may be used.

動き予測部120については、まず動き探索部105において復号画像メモリ103に格納されている参照フレームと符号化対象ブロックを用いて動きベクトル(Motion Vector: MV)の探索を行う。画素の精度は整数でも小数でもよく、フィルタによる参照フレームの補間により1/4画素精度が好適であるが、1/2、1/8でもかまわない。本実施例では動き探索方法については既存の方式を用いる。   For the motion prediction unit 120, first, the motion search unit 105 searches for a motion vector (Motion Vector: MV) using the reference frame and the encoding target block stored in the decoded image memory 103. The accuracy of the pixels may be an integer or a decimal, and 1/4 pixel accuracy is preferable by interpolation of the reference frame by a filter, but 1/2 or 1/8 may be used. In this embodiment, an existing method is used for the motion search method.

次に、適応PMV選択部106では、符号化対象ブロックの同じフレーム内の周囲ブロック、及び参照フレームの同じ位置とその周囲ブロックの情報を用いて、PMVを時間的、空間的な判別により適応的に選択する。本実施例では、PMVを、時間的な判別と空間的な判別とを双方備え適応的な判別を行うが、一方のみでもかまわない。方法、候補とする周囲ブロック、及びPMVの選択方法の詳細については後述する。   Next, the adaptive PMV selection unit 106 uses the surrounding block in the same frame of the encoding target block and the same position of the reference frame and the information of the surrounding block to adaptively determine the PMV by temporal and spatial discrimination. Select In this embodiment, the PMV is adaptively discriminated with both temporal discrimination and spatial discrimination, but only one of them may be used. Details of the method, the candidate surrounding blocks, and the PMV selection method will be described later.

図3を用いてPMVを選択する候補ブロックの例について説明する。既存の動きベクトル競合方式では、301のように符号化対象ブロックと同じ符号化対象フレームにある左側のブロック(A)、上側のブロック(B)と一番近い前方参照フレーム(L0[0])の符号化対象ブロックと同じ位置にあるブロック(Co-located Block)(S)を候補とし、A,B,Sのように順番に並べ、これらのうち同じベクトルがある場合には候補から除外して、最も符号化対象ブロックのベクトルに近いものを選択してフラグによって示す。なお、一番近い前方参照フレームを本実施例では採用したが、符号化済みのフレームであれば、後方参照フレームでもかまわない。また、一枚だけでなく、複数枚の符号化済みフレームを参照してもよい。   An example of a candidate block for selecting a PMV will be described with reference to FIG. In the existing motion vector competition method, as in 301, the left reference block (A) and the upper reference block (L0 [0]) closest to the upper block (B) in the same encoding target frame as the encoding target block. The block (Co-located Block) (S) at the same position as the current block to be encoded is taken as a candidate, arranged in order as A, B, S, and if there is the same vector among these, it is excluded from the candidate Thus, the one closest to the vector of the encoding target block is selected and indicated by a flag. Although the nearest forward reference frame is adopted in this embodiment, a backward reference frame may be used as long as it is an encoded frame. Further, not only one frame but also a plurality of encoded frames may be referred to.

一方、本実施例の適応PMV選択部で用いる適応動きベクトル選択方式では、302のように符号化対象ブロックの左側、上側だけでなく、右上(C)や左上(D)も候補に含める。また、参照フレームのブロックSの周囲ブロックも候補に含めることができる。つまり、適応PMV選択部が用いる候補ブロックの、(a)数、(b)空間的な位置(フレーム内のブロック)と(c)時間的な位置(別フレームのブロック)を変化させることができるようにする。
選択方法の詳細については後述する。
On the other hand, in the adaptive motion vector selection method used in the adaptive PMV selection unit of the present embodiment, not only the left side and the upper side of the encoding target block as in 302, but also the upper right (C) and upper left (D) are included in the candidates. In addition, blocks surrounding the block S of the reference frame can be included in the candidates. That is, (a) number, (b) spatial position (block in a frame) and (c) temporal position (block in another frame) of candidate blocks used by the adaptive PMV selection unit can be changed. Like that.
Details of the selection method will be described later.

また、本実施例の適応動きベクトル選択方式では、303のように候補ブロックのサイズが異なる場合で、最初に参照するべき位置のブロックが動きベクトルを持たない、または参照不可の場合、順次近傍のブロックが動きベクトルを持つかどうかをチェックし、利用可能な場合にはPMV選択の候補とする。具体的には、303においてB1が参照不可の場合、B2、B3、B4を順次チェックする。同様にA1が参照不可の場合、A2、A3、A4を、S1が参照不可の場合、S2、S3、S4をチェックする。符号化対象フレームの左上から近い順に走査すればよい。ブロックBの場合は、左から右、下から上の順、ブロックAの場合は上から下、右から左の順、ブロックSの場合は通常のラスタスキャン順、すなわち左から右、上から下の順となる。   Further, in the adaptive motion vector selection method of the present embodiment, when the size of the candidate block is different as in 303, if the block at the position to be referred to first does not have a motion vector or cannot be referenced, the neighboring blocks are sequentially It is checked whether the block has a motion vector, and if it is available, it is a candidate for PMV selection. Specifically, if B1 cannot be referenced in 303, B2, B3, and B4 are sequentially checked. Similarly, when A1 cannot be referred to, A2, A3 and A4 are checked. When S1 cannot be referred to, S2, S3 and S4 are checked. Scanning may be performed in order from the top left of the encoding target frame. For block B, left to right, bottom to top, for block A, top to bottom, right to left, for block S, normal raster scan order, left to right, top to bottom It becomes the order of.

次に、PMV予測符号化部107では、MVからPMVを引いて差分ベクトル(Differential Motion Vector: DMV)を計算し、これを符号化する。またMVを用いて参照フレームから動き予測を行い、予測ブロックを作成する。   Next, the PMV predictive encoding unit 107 calculates a differential vector (Differential Motion Vector: DMV) by subtracting PMV from MV and encodes it. In addition, motion prediction is performed from the reference frame using MV to create a prediction block.

DCT変換部108では、予測誤差計算部102から入力された残差成分に対してDCT変換が行われ、係数に変換される。続いて量子化部109に送られ、各変換係数が量子化される。量子化された係数はエントロピー符号化部110に送られ、一定の順序に従って可変長符号等を用いた情報圧縮が行われ、データがモード選択部113に送られる。一方で量子化された係数は逆量子化部111にも送られ、逆量子化によって変換係数に戻され、さらに逆DCT変換部112によって残差成分へと復元される。残差成分は、イントラ予測部104及び一連の動き予測部からの情報が加えられて、復号画像に戻り、復号画像メモリ103に記憶される。当該復号画像はモード選択部113に入力されてモード選択のために利用される。   In the DCT conversion unit 108, DCT conversion is performed on the residual component input from the prediction error calculation unit 102 and converted into a coefficient. Then, it is sent to the quantization part 109 and each transform coefficient is quantized. The quantized coefficients are sent to the entropy coding unit 110, information compression using a variable length code or the like is performed according to a certain order, and the data is sent to the mode selection unit 113. On the other hand, the quantized coefficient is also sent to the inverse quantization unit 111, returned to the transform coefficient by inverse quantization, and further restored to the residual component by the inverse DCT transform unit 112. The residual component is added with information from the intra prediction unit 104 and the series of motion prediction units, returns to the decoded image, and is stored in the decoded image memory 103. The decoded image is input to the mode selection unit 113 and used for mode selection.

次に、モード選択部113では、複数の符号化モードに関する情報を基に、そのブロックについて最も符号化効率の高いモードを選択する。各符号化モードについて、原画像と復号画像との誤差(符号化誤差)とその符号化モードを利用した場合に発生する符号量を算出し、両者の関係から適切な符号化モードを選択する。例えば最も符号化効率の良い符号化モードを選択する方式としてRate-Distortion最適化方式などの既存の方式を用いればよい。この方式は、各マクロブロックについて全てのモードについて符号量と復号後の原画との符号化誤差を計算し、コスト計算式に従って最も良いモードを選択する方式となっている。   Next, the mode selection unit 113 selects a mode with the highest coding efficiency for the block based on information on a plurality of coding modes. For each coding mode, an error (coding error) between the original image and the decoded image and a code amount generated when the coding mode is used are calculated, and an appropriate coding mode is selected from the relationship between the two. For example, an existing method such as a Rate-Distortion optimization method may be used as a method for selecting an encoding mode with the highest encoding efficiency. This method is a method for calculating the coding error between the code amount and the original image after decoding for all modes for each macroblock, and selecting the best mode according to the cost calculation formula.

最後に、データ出力部114が選択された符号を出力して符号化ストリームが作成され、画像の符号化が行われる。   Finally, the data output unit 114 outputs the selected code to create an encoded stream, and the image is encoded.

次に、図5を用いて、画像符号化装置で用いられる画像符号化フローについて説明する。   Next, an image coding flow used in the image coding apparatus will be described with reference to FIG.

まず、ステップ501は、復号画像メモリ103から符号化対象となる原画像を入力し、ブロックに分割する処理である。ここで各ブロックのサイズは可変である。前述のCU、PUを用いればよい。ステップ501はブロック分割部101において実行される。   First, step 501 is processing for inputting an original image to be encoded from the decoded image memory 103 and dividing it into blocks. Here, the size of each block is variable. The aforementioned CU and PU may be used. Step 501 is executed by the block dividing unit 101.

次に、ステップ502では、ステップ501で取得した原画像のブロックについてイントラ予測を行う。イントラ予測については既存の方式を用いればよく、各イントラ予測モードに従って複数のモードについて予測を行う。このステップ502の処理はイントラ予測部104において実行される。   Next, in step 502, intra prediction is performed on the block of the original image acquired in step 501. An existing method may be used for intra prediction, and prediction is performed for a plurality of modes according to each intra prediction mode. The processing in step 502 is executed in the intra prediction unit 104.

次に、ステップ503では、イントラ予測された符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。また、さらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。このステップ503の処理は、予測誤差計算部102、DCT変換部108、量子化部109、エントロピー符号化部110において、この順に書く処理が実行される。   Next, in step 503, residual components are acquired for pixels of the intra-predicted coding block, and DCT transform processing, quantization processing, and entropy coding processing of the residual components are performed to calculate encoded data. . Furthermore, entropy decoding processing, inverse quantization, and inverse DCT conversion processing are performed on the encoded data to create a decoded image. As a result, the encoded data and the decoded image are output. The process of step 503 is performed in this order in the prediction error calculation unit 102, the DCT conversion unit 108, the quantization unit 109, and the entropy encoding unit 110.

ステップ504では、シーン解析を行う。図4を用いてシーン解析の概要について説明する。動画像シーケンスでは1つのGOP(Group of Picture: 時間方向の予測に関するフレームのまとまり)の内部においても、画像の特徴に変化がある場合がある。例えば、映画やドラマにおけるシーンチェンジ、テレビ中継におけるカメラの切替え等が発生する場合がある。図4では、P2のフレームとB3のフレームの間にシーン1とシーン2の切替えが発生した場合を示している。ここで既存の動きベクトル競合方式では、P4やB3のフレームはP2フレームの動きベクトルを参照するが、シーンが異なっているために効果的な動きベクトルを取得することができない。そこで、本実施例では複数の復号画像を解析してフラグを用いずにシーンチェンジを見つけるか、エンコーダ側でのシーン解析の結果、検出されたシーンチェンジ位置をフラグによってデコーダに伝えることによって、符号化対象フレームと参照フレームが異なるシーンに属する場合には、そのブロックをPMVの候補ブロックとはしないという処理を行うことができる。このようなシーン解析の処理はフレーム単位で行ってもよいし、ブロック単位で行ってもよい。この処理は、明確なブロックとしては図示しないが、インター予測部120内で動き探索部105による動き探索を行う前に実行する。   In step 504, scene analysis is performed. The outline of the scene analysis will be described with reference to FIG. In a moving image sequence, there may be a change in image characteristics even within one GOP (Group of Pictures). For example, there may be a scene change in a movie or drama, a camera change in a television broadcast, or the like. FIG. 4 shows a case where switching between scene 1 and scene 2 occurs between the P2 frame and the B3 frame. Here, in the existing motion vector competition method, the P4 and B3 frames refer to the motion vector of the P2 frame, but an effective motion vector cannot be acquired because the scenes are different. Therefore, in this embodiment, a plurality of decoded images are analyzed to find a scene change without using a flag, or as a result of scene analysis on the encoder side, the detected scene change position is transmitted to the decoder by a flag, When the conversion target frame and the reference frame belong to different scenes, it is possible to perform a process of not making the block a PMV candidate block. Such scene analysis processing may be performed in units of frames or in units of blocks. This process is not shown as a clear block, but is executed before the motion search by the motion search unit 105 in the inter prediction unit 120.

次に、ステップ505において、各インター予測モードに対して動き探索を行う。インター予測モードには、ブロックサイズの異なる動き予測モードや、Skipモード、Directモードなどが含まれる。動き探索の方法は既存の方式を用いればよい。このステップ505はインター予測部120内の動き探索部105において実行される。   Next, in step 505, motion search is performed for each inter prediction mode. Inter prediction modes include motion prediction modes with different block sizes, Skip mode, Direct mode, and the like. An existing method may be used as the motion search method. This step 505 is executed by the motion search unit 105 in the inter prediction unit 120.

次にステップ506では、フレーム単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ507に進む。続いてステップ507ではブロック単位でPMV選択を行うか否かの判定を行う。PMV選択を行わない場合にはステップ510に進み、それ以外はステップ508に進む。さらにステップ508ではPMV候補ブロックの調整を行い、条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。これらの処理はフレーム単位、及びブロック単位で切り換えることができ、こうした切り換えをフラグによって復号装置側へ伝送してもよいし、復号装置に同じ切り替え条件を保持させてもよい。   Next, in step 506, it is determined whether or not PMV selection is performed in units of frames. If PMV selection is not performed, the process proceeds to step 510; otherwise, the process proceeds to step 507. Subsequently, in step 507, it is determined whether or not PMV selection is performed in block units. If PMV selection is not performed, the process proceeds to step 510; otherwise, the process proceeds to step 508. Further, in step 508, PMV candidate blocks are adjusted to determine which blocks are included in candidate blocks and which blocks are not included depending on conditions. These processes can be switched in units of frames and blocks, and such switching may be transmitted to the decoding device side by a flag, or the same switching condition may be held in the decoding device.

フレーム単位でのPMV選択判定の詳細を、図8を用いて説明する。ステップ801はシーンチェンジか否かの判定を行うことによりPMV選択を行うか否かを判定する。これは前述のようにデコーダ側にてシーン解析処理を行ってフラグの伝送なしにPMV選択の処理を行うか否かの判定を行ってもよいし、エンコーダ側での判断をフラグによってデコーダ側に伝え判定してもよい。PMV選択を行わない場合には、median演算によってPMVを求める方式や、予め左側あるいは上側のブロックのベクトルをPMVとする方式など特定の方式を決めておく。   Details of PMV selection determination in frame units will be described with reference to FIG. Step 801 determines whether or not to perform PMV selection by determining whether or not a scene change has occurred. As described above, the scene analysis process may be performed on the decoder side as described above to determine whether to perform the PMV selection process without transmitting the flag, or the determination on the encoder side may be determined on the decoder side by the flag. You may judge it. When PMV selection is not performed, a specific method, such as a method for obtaining PMV by median calculation or a method in which the left or upper block vector is set to PMV, is determined in advance.

また、別の例として、ステップ802ではピクチャタイプの判定を行うことによりPMV選択を行うか否かを判定する。これは例えば符号化対象フレームがPピクチャであればPMV選択による動きベクトル予測を行い、そうでなければmedian演算等、他の手段を用いる。PピクチャではなくBピクチャとしてもよい。どのピクチャの時にどのように判断するかを判別するフラグを設けてもよい。   As another example, in step 802, it is determined whether to perform PMV selection by determining the picture type. For example, if the encoding target frame is a P picture, motion vector prediction by PMV selection is performed. Otherwise, other means such as median calculation are used. It may be a B picture instead of a P picture. You may provide the flag which discriminate | determines how to judge at the time of which picture.

ブロック単位でのPMV選択判定の詳細を、図9を用いて説明する。ステップ901は符号化対象ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、特定のブロックサイズの時だけPMV選択を行う、あるいはSkipモードやDirectモードにはPMV選択を適用しないなどとすればよい。   Details of PMV selection determination in block units will be described with reference to FIG. Step 901 determines whether or not to perform PMV selection by determining the type of encoding mode of the encoding target block. For example, PMV selection may be performed only for a specific block size, or PMV selection may not be applied to Skip mode or Direct mode.

また、別の例として、ステップ902では候補ブロックの符号化モードの種類を判別することによってPMV選択を行うか否かを判定する。例えば、候補ブロックがすべてイントラ符号化モードであればPMV選択を行わない。   As another example, in step 902, it is determined whether or not to perform PMV selection by determining the type of encoding mode of the candidate block. For example, if all candidate blocks are in the intra coding mode, PMV selection is not performed.

上記のような方式により、フレーム単位またはブロック単位でPMV選択を行うか否かを切り換えることができる。   With the above method, it is possible to switch whether or not PMV selection is performed in units of frames or blocks.

ブロック単位でのPMV選択を行う候補ブロックの調整方法の詳細を、図10を用いて説明する。ここではPMV選択を行う場合に、候補ブロックの符号化モードやベクトルを持つか否か、参照可能か否かによって候補ブロックから除外したり、他の候補ブロックを追加したりといった処理を行う。   Details of a method for adjusting candidate blocks for performing PMV selection in units of blocks will be described with reference to FIG. In this case, when PMV selection is performed, processing such as exclusion from candidate blocks or addition of other candidate blocks is performed depending on whether or not the encoding mode and vector of the candidate block are present and whether or not reference is possible.

まず、ステップ1001では、符号化対象フレームの候補ブロック、例えば図3のA、Bから、まだチェックしていないブロックを一つ選択する。これをブロックXとする。   First, in step 1001, one candidate block of the encoding target frame, for example, one block not checked yet is selected from A and B in FIG. This is block X.

次に、ステップ1002では、ブロックXが参照可能かどうか調べる。もし参照不可であればステップ1003に進み、参照可能であればステップ1004に進む。参照不可とはブロック位置が画面の範囲外にある等のためにブロックの情報が取得できない状態であり、参照可能とはブロックの情報が取得できることであり、ブロックの情報にはベクトル、参照フレーム番号が含まれる。   Next, in step 1002, it is checked whether the block X can be referred to. If reference is impossible, the process proceeds to step 1003, and if reference is possible, the process proceeds to step 1004. Unreferable refers to a state in which block information cannot be acquired because the block position is out of the screen range, etc., and referable means that block information can be acquired. The block information includes a vector and a reference frame number. Is included.

ステップ1003ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1003では0ベクトルに設定する。「0ベクトル」とは各成分の値が0のベクトルである。   In step 1003, the block X is set to 0 vector or excluded from the candidate blocks. Which one to use is predetermined. For example, in step 1003, the zero vector is set. A “0 vector” is a vector in which the value of each component is 0.

ステップ1004ではブロックXがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1005に進み、ベクトルを持てばステップ1006に進む。   In step 1004, it is checked whether or not the block X has a vector. If it is an intra-coded block, it has no vector. If it has no vector, the process proceeds to step 1005. If it has a vector, the process proceeds to step 1006.

ステップ1005ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1005では候補ブロックから除外する。   In step 1005, the block X is set to 0 vector or excluded from the candidate blocks. Which one to use is predetermined. For example, in step 1005, the block is excluded from the candidate blocks.

ステップ1006ではブロックXと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックXが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックXが一方向予測である場合は不一致となる。不一致であればステップ1007に進み、一致すればステップ1008に進む。   In step 1006, it is checked whether the reference frame numbers of the block X and the encoding target block match. For example, when the block to be encoded is unidirectional prediction and the block X is bidirectional prediction, either L0 or L1 may match. Further, when the encoding target block is bidirectional prediction and the block X is unidirectional prediction, there is a mismatch. If they do not match, the process proceeds to step 1007, and if they match, the process proceeds to step 1008.

ステップ1007ではブロックXを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1007では候補ブロックから除外する。   In step 1007, the block X is set to 0 vector or excluded from the candidate blocks. Which one to use is predetermined. For example, in step 1007, the block is excluded from the candidate blocks.

ステップ1008では符号化対象フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1001に戻る。そうでなければステップ1009に進む。   In step 1008, it is determined whether there is another candidate block to be checked in the encoding target frame. If there is another block to be checked, the process returns to step 1001. Otherwise, go to step 1009.

ステップ1009では、参照フレームの候補ブロック、例えば図3のSから、まだチェックしていないブロックを一つ選択する。これをブロックYとする。   In step 1009, one candidate block of the reference frame, for example, one block not checked yet is selected from S in FIG. This is block Y.

ステップ1010ではブロックYがベクトルを持つか否かを調べる。イントラ符号化されたブロックであればベクトルは持たない。ベクトルを持たない場合はステップ1011に進み、ベクトルを持てばステップ1012に進む。   In step 1010, it is checked whether the block Y has a vector. If it is an intra-coded block, it has no vector. If it has no vector, the process proceeds to step 1011. If it has a vector, the process proceeds to step 1012.

ステップ1011ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1011では候補ブロックから除外する。   In step 1011, the block Y is set to 0 vector or excluded from candidate blocks. Which one to use is predetermined. For example, in step 1011, it is excluded from the candidate blocks.

ステップ1012ではブロックYと符号化対象ブロックの参照フレーム番号が一致するかどうか調べる。例えば符号化対象ブロックが一方向予測で、ブロックYが双方向予測である場合、L0またはL1のどちらかが一致すればよい。また、符号化対象ブロックが双方向予測で、ブロックYが一方向予測である場合は不一致となる。不一致であればステップ1013に進み、一致すればステップ1014に進む。   In step 1012, it is checked whether the reference frame numbers of the block Y and the encoding target block match. For example, when the block to be encoded is unidirectional prediction and the block Y is bidirectional prediction, either L0 or L1 may match. Further, when the encoding target block is bidirectional prediction and the block Y is unidirectional prediction, there is a mismatch. If they do not match, the process proceeds to step 1013, and if they match, the process proceeds to step 1014.

ステップ1013ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1013では候補ブロックから除外する。   In step 1013, the block Y is set to 0 vector or excluded from the candidate blocks. Which one to use is predetermined. For example, in step 1013, the block is excluded from the candidate blocks.

ステップ1014では符号化対象ブロック、またはブロックYが双方向予測モードかどうかを調べる。どちらかが双方向予測モードであればステップ1015に進み、そうでなければステップ1016に進む。   In step 1014, it is checked whether the encoding target block or the block Y is in the bidirectional prediction mode. If either is the bidirectional prediction mode, the process proceeds to step 1015; otherwise, the process proceeds to step 1016.

ステップ1015ではブロックYを0ベクトルに設定するか、候補ブロックから除外する。どちらにするかは予め定める。例えばステップ1015では候補ブロックから除外する。   In step 1015, the block Y is set to 0 vector or excluded from the candidate blocks. Which one to use is predetermined. For example, in step 1015, it is excluded from the candidate blocks.

ステップ1016では参照フレーム内に他にチェックする候補ブロックがあるかどうか判定し、他にチェックするブロックがある場合にはステップ1009に戻る。   In step 1016, it is determined whether there is another candidate block to be checked in the reference frame. If there is another block to be checked, the process returns to step 1009.

ここでは各条件に対応してステップ1003、1005、1007、1011、1013、1015において、ブロックXまたはブロックYを0ベクトルに設定するか、候補ブロックから除外する処理を行った。これに対し、例えば候補ブロックとして図3のCやDの位置のブロックを候補ブロックに追加してもよい。例えば、S、A、Bのうち、候補ブロックが0の場合はCとDを候補ブロックに追加し、1つの場合はCを候補ブロックに追加する。予めCやD、さらに他のブロックを候補ブロックに加えておき、その中からベクトルを選んでもよい。   Here, in steps 1003, 1005, 1007, 1011, 1013, and 1015 corresponding to each condition, a process of setting the block X or the block Y to 0 vector or excluding from the candidate block was performed. On the other hand, for example, blocks at positions C and D in FIG. 3 may be added to the candidate blocks as candidate blocks. For example, among S, A, and B, if the candidate block is 0, C and D are added to the candidate block, and if it is 1, C is added to the candidate block. C, D, and other blocks may be added to the candidate block in advance, and a vector may be selected therefrom.

例えば、L0[0]のピクチャがイントラ符号化されている場合には、候補ブロックからSを除外し、その代わりにCを加えればよい。あるいは、ブロックAが参照不可の場合にはブロックCを用いればよい。   For example, when the picture of L0 [0] is intra-coded, S may be excluded from the candidate blocks and C may be added instead. Alternatively, block C may be used when block A cannot be referenced.

上記のようなPMV選択を行うか否か、あるいは候補ブロック調整の方法については、フレーム単位あるいはブロック単位でフラグによって予め決められた方式を切り換えてもよい。すなわち、以下のような方法がありうる。
・どれかの方式に方式を統一する
・フレーム単位で切り替え可能としフラグでどの方式を選んだかを示す
・ブロック単位で切り替え可能としフラグでどの方式を選んだかを示す
図10に示した条件には以下のようなものがあり、これらは判定の順序を変えてもよい。
・候補ブロックが参照不可かどうか
・候補ブロックが動きベクトルを持つか否か
・候補ブロックと符号化対象ブロックの符号化タイプが異なるかどうか(例えば、候補ブロックが双方向予測(B予測)で符号化対象ブロックが一方向予測(P予測))
・候補ブロックと符号化対象ブロックの参照フレーム番号が一致するかどうか
・候補ブロック、符号化対象ブロックが双方向予測かどうか
候補ブロックの調整を行う方式としては、以下のようなものがある。
・候補ブロックを候補ブロックから除外する
・候補ブロックのベクトルを0ベクトルとして処理する
・符号化対象フレーム内の別のブロックを候補ブロックに加える
・参照フレーム内の別のブロックを候補ブロックに加える
・図3の303に示す別のブロックを候補ブロックに加える
・符号化タイプが一致する場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合う場合だけ処理し、それ以外は候補ブロックから除外する
・参照フレーム番号が合うベクトルを他のベクトルに当てはめて両方処理する
続いて、ステップ509ではPMVを選択して差分ベクトルを計算し符号化する。PMVは候補ブロックのベクトルの中から最も符号化対象ブロックのベクトルに近いベクトルを選択する。ベクトルの各成分を符号化した時に最も符号量が小さくなるベクトルを選択する。選択されたベクトルはフラグとして伝送される。これは候補ブロックを順に並べ、1ビットであれば0の時は先頭の候補ブロックのベクトル、1の時は次の候補ブロックのベクトルが選ばれたことになる。候補ブロックの順番は、例えばA、B、Sのブロックが合った時、まずA、B、Sの順に並べ、同じベクトルがあった場合には除外し、先頭から2つのブロックが並べられ比較されることになる。
As to whether or not to perform PMV selection as described above, or as a candidate block adjustment method, a method predetermined by a flag may be switched for each frame or block. That is, there can be the following methods.
・ Unify the method to any method ・ Indicates which method can be switched by frame and selected by flag ・ Indicates which method can be switched by block and selected by flag The conditions shown in FIG. There are the following, which may change the order of determination.
・ Whether the candidate block cannot be referenced ・ Whether the candidate block has a motion vector ・ Whether the candidate block and the encoding target block are different in encoding type (for example, the candidate block is encoded by bidirectional prediction (B prediction)) Target block is one-way prediction (P prediction))
-Whether the reference frame number of the candidate block and the encoding target block match-Whether the candidate block and the encoding target block are bidirectional prediction The methods for adjusting the candidate block include the following.
・ Exclude candidate block from candidate block ・ Process vector of candidate block as 0 vector ・ Add another block in encoding target frame to candidate block ・ Add another block in reference frame to candidate block 3. Add another block shown at 303 in the process to the candidate block. Process only when the encoding type matches, exclude it from the candidate block. Process only when the reference frame number matches, otherwise process from the candidate block. Exclude / Apply the vector that matches the reference frame number to the other vector and perform both processing. Subsequently, in step 509, the PMV is selected and the difference vector is calculated and encoded. The PMV selects a vector closest to the vector of the encoding target block from the candidate block vectors. A vector with the smallest code amount is selected when each component of the vector is encoded. The selected vector is transmitted as a flag. In this case, the candidate blocks are arranged in order, and if it is 1 bit, the vector of the first candidate block is selected when it is 0, and the vector of the next candidate block is selected when it is 1. For example, when the A, B, and S blocks match, the candidate blocks are ordered in the order of A, B, and S. If the same vector is found, it is excluded and the two blocks from the top are arranged and compared. Will be.

選択されるベクトルが2ビットで示される場合を以下に示す。候補ブロックは図302に示すA、B、S、Cの4つであったとする。上記の例と同様に符号化対象ブロックのベクトルに最も近いベクトルを選択し、A:00、B:01、C:10、S:11のような形で符号を伝送する。例えば、これらのうち候補ブロックから除外されるものがあれば、そのブロックの順序を繰り上げる。選択したベクトルを示すビット数はフレーム単位、ブロック単位で切り替えてもよい。その場合には別途切り換えを示すフラグを伝送する。   The case where the selected vector is indicated by 2 bits is shown below. Assume that there are four candidate blocks A, B, S, and C shown in FIG. Similar to the above example, a vector closest to the vector of the encoding target block is selected, and the code is transmitted in the form of A: 0, B: 01, C: 10, S: 11. For example, if any of these is excluded from the candidate blocks, the order of the blocks is increased. The number of bits indicating the selected vector may be switched in units of frames or blocks. In that case, a flag indicating switching is transmitted separately.

図11に選択されるベクトルの符号の記述方法の例を示す。現在の1つ前の符号化対象ブロックの候補ブロック番号をPとし、候補ブロックの数をNとする。現在の符号化対象ブロックの候補ブロック番号をXとする。もし現在の符号化対象ブロックの候補ブロック番号がPであれば0を符号Cとする。そうでなければ、まず1を出力し、さらに続けて(X - P - 1) % N を出力する。逆に、符号Cが0の時は現在の符号化対象ブロックの候補ブロック番号Xは、1つ前の候補ブロック番号Pと同じである。そうではなく符号Cの先頭ビットが1であるときは、先頭ビットを除いた残りの符号をC^として、X = (P + C^ + 1 ) % Nとなる。このようにすることにより、連続して同じ候補ブロック番号が選ばれる場合に符号量を短くすることができる。   FIG. 11 shows an example of a method for describing the code of the vector selected. Let P be the candidate block number of the current previous encoding target block, and N be the number of candidate blocks. Let X be the candidate block number of the current encoding target block. If the current encoding candidate block number is P, 0 is set as the code C. Otherwise, output 1 first, and then continue to output (X-P-1)% N. On the contrary, when the code C is 0, the candidate block number X of the current encoding target block is the same as the previous candidate block number P. On the other hand, when the first bit of the code C is 1, X = (P + C ^ + 1)% N with the remaining code excluding the first bit as C ^. In this way, the code amount can be shortened when the same candidate block number is selected successively.

なお、これらのステップ506からすステップ509の処理は適応PMV選択部106で実行される。   Note that the processing from step 506 to step 509 is executed by the adaptive PMV selection unit 106.

次に、ステップ510ではPMV計算とベクトル符号化が行われる。ここではPMVの選択は行われず、通常のmedian演算によってPMVの計算が行われる。これは左側A、上側B、右上Cまたは左上Dのベクトルの各成分についてmedian演算を行い、PMV決定するものである。PMVが決定された後、符号化対象ブロックのベクトルとの差分ベクトルを計算し符号化する。
このステップ510の処理は、PMV予測符号化107で実行される。
Next, in step 510, PMV calculation and vector encoding are performed. Here, the PMV is not selected, and the PMV is calculated by a normal median operation. In this method, median operation is performed on each component of the left A, upper B, upper right C, or upper left D vector to determine PMV. After the PMV is determined, a difference vector from the vector of the encoding target block is calculated and encoded.
The processing in step 510 is executed by the PMV predictive encoding 107.

ステップ511では、各インター予測モードについて動き予測を行い、符号化ブロックの画素について残差成分を取得し、残差成分のDCT変換処理と量子化処理、エントロピー符号化処理とを行い、符号化データを算出する。フテップ511に含まれるここまでの各処理は、DCT変換部108、量子化部109、エントロピー符号化部110で実行される。またさらに、当該符号化データからエントロピー復号処理、逆量子化、逆DCT変換処理を行い、復号画像の作成を行う。これにより符号化データと復号画像を出力する。ステップ511に含まれるこれまで各処理は、逆量子化部111、逆DCT変換部112で行われる。   In step 511, motion prediction is performed for each inter prediction mode, a residual component is obtained for the pixels of the encoded block, DCT transform processing, quantization processing, and entropy encoding processing of the residual component are performed, and encoded data Is calculated. Each process so far included in step 511 is executed by DCT transform section 108, quantization section 109, and entropy coding section 110. Furthermore, entropy decoding processing, inverse quantization, and inverse DCT conversion processing are performed from the encoded data to create a decoded image. As a result, the encoded data and the decoded image are output. Each process included in step 511 so far is performed by the inverse quantization unit 111 and the inverse DCT transform unit 112.

次に、ステップ512では、ステップ503およびステップ511の処理結果に従い、各符号化モードについての画像符号化結果を比較して、当該ブロックについて出力する符号化モードを決定する。ステップ512の処理は、モード選択部113で実行される。   Next, in step 512, the image encoding results for the respective encoding modes are compared according to the processing results of step 503 and step 511, and the encoding mode to be output for the block is determined. The process in step 512 is executed by the mode selection unit 113.

次に、ステップ513では、ステップ512で選択した符号化モードにおける符号化データを符号化ストリームとして出力する。ステップ513の処理は、データ出力部114で実行される。   Next, in step 513, the encoded data in the encoding mode selected in step 512 is output as an encoded stream. The process of step 513 is executed by the data output unit 114.

以上説明したように、実施例1における符号化処理が行われる。   As described above, the encoding process according to the first embodiment is performed.

以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像符号化装置及び画像符号化方法を実現することが可能となる。   According to the image coding apparatus and the image coding method according to the first embodiment described above, inter prediction with higher accuracy and less code amount than the existing coding method is possible, and the compression efficiency is higher than that of the existing method. A high image encoding device and image encoding method can be realized.

また、実施例1に係る画像符号化装置及び画像符号化方法は、これらを用いた記録装置、携帯電話、デジタルカメラ等に適用することが可能である。   In addition, the image coding apparatus and the image coding method according to the first embodiment can be applied to a recording apparatus, a mobile phone, a digital camera, and the like using these.

以上説明した実施例1に係る画像符号化装置及び画像符号化方法によれば、符号化データの符号量を低減し、当該符号化データを復号した場合の復号画像の画質の劣化を防ぐことが可能となる。すなわち、高い圧縮率とより良い画質とを実現することができる。   According to the image encoding device and the image encoding method according to the first embodiment described above, it is possible to reduce the code amount of the encoded data and prevent deterioration of the image quality of the decoded image when the encoded data is decoded. It becomes possible. That is, a high compression rate and better image quality can be realized.

次に、図2に実施例2に係る画像復号装置のブロック図の例を示す。   Next, FIG. 2 shows an example of a block diagram of an image decoding apparatus according to the second embodiment.

本実施例の画像復号装置は、ストリーム解析部201、モード判定部202、係数解析部203、イントラ予測合成部204、適応PMV選択復号部205、動き予測合成部206、逆量子化部207、逆DCT変換部208、復号画像メモリ209、画像出力部210を備えている。   The image decoding apparatus according to the present embodiment includes a stream analysis unit 201, a mode determination unit 202, a coefficient analysis unit 203, an intra prediction synthesis unit 204, an adaptive PMV selection decoding unit 205, a motion prediction synthesis unit 206, an inverse quantization unit 207, and an inverse. A DCT conversion unit 208, a decoded image memory 209, and an image output unit 210 are provided.

以下に、画像復号装置の各構成要素の動作を詳細に説明する。なお、画像復号装置の各構成要素の動作は、例えば、以下の記載の通り各構成要素の自律的な動作としても良い。また、例えば、コンピュータの制御部や記憶部が記憶するソフトウェアと協働することにより実現しても構わない。   The operation of each component of the image decoding device will be described in detail below. The operation of each component of the image decoding device may be an autonomous operation of each component as described below, for example. Further, for example, it may be realized by cooperating with software stored in a control unit or storage unit of a computer.

まず、ストリーム解析部201が、入力された符号化ストリームを解析する。ここで、ストリーム解析部201は、パケットからのデータ抽出処理や各種ヘッダ、フラグの情報取得処理も行う。さらに各ブロックの処理を行う。   First, the stream analysis unit 201 analyzes the input encoded stream. Here, the stream analysis unit 201 also performs data extraction processing from packets and information acquisition processing of various headers and flags. Further, each block is processed.

また、このとき、ストリーム解析部201に入力される符号化ストリームは、実施例1に係る画像符号化装置及び画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので説明を省略する。実施例3に示すデータ記録媒体から読み出した符号化ストリームであってもよい。その記録方法は後述する。   At this time, the encoded stream input to the stream analysis unit 201 is an encoded stream generated by the image encoding device and the image encoding method according to the first embodiment. Since the generation method is as shown in the first embodiment, the description is omitted. It may be an encoded stream read from the data recording medium shown in the third embodiment. The recording method will be described later.

次に、モード判定部202は、各ブロックについて、フラグ等によって指定された符号化モードの判別を行う。以下の復号処理は、当該判別結果の符号化モードに対応する処理が行われる。以下にそれぞれの符号化モードについての処理を説明する。   Next, the mode determination unit 202 determines the encoding mode designated by a flag or the like for each block. In the following decoding process, a process corresponding to the encoding mode of the determination result is performed. The process for each encoding mode will be described below.

まず、符号化モードがイントラ符号化である場合には、イントラ予測合成部204がイントラ予測と予測画像の合成を行う。この方法は従来の方法を用いればよい。ここで、イントラ予測合成部204は合成した予測画像を出力する。   First, when the coding mode is intra coding, the intra prediction combining unit 204 combines the intra prediction and the predicted image. A conventional method may be used for this method. Here, the intra prediction combining unit 204 outputs the combined predicted image.

符号化モードがフレーム間のインター予測による符号化である場合には、動き予測と予測画像の合成が行われる。まず適応PMV選択復号部205により、適応的にPMVが選択され、復号された差分ベクトルと合成されて動きベクトルが復元される。PMVの選択方法についてはエンコーダとデコーダが同じPMVを選択するように動作するため、実施例1に記述した方法と同様である。   When the encoding mode is encoding by inter prediction between frames, motion prediction and prediction image synthesis are performed. First, the adaptive PMV selective decoding unit 205 adaptively selects a PMV and combines it with the decoded difference vector to restore a motion vector. The PMV selection method is the same as that described in the first embodiment because the encoder and decoder operate so as to select the same PMV.

続いて、動き予測合成部206が、復元された動きベクトルを用いてブロック内の画素について参照フレームを利用して動き予測を行う。ここで、動き予測合成部206は合成した予測画像を出力する。   Subsequently, the motion prediction synthesis unit 206 performs motion prediction using the reference frame for the pixels in the block using the restored motion vector. Here, the motion prediction synthesis unit 206 outputs the synthesized predicted image.

一方、係数解析部203は、入力符号化ストリームに含まれる各マクロブロックの符号化データを解析し、残差成分の符号化データを出力する。この時、モード判定部202の判別結果の符号化モードに対応する処理が行われる。   On the other hand, the coefficient analysis unit 203 analyzes the encoded data of each macroblock included in the input encoded stream, and outputs the encoded data of the residual component. At this time, processing corresponding to the encoding mode of the determination result of the mode determination unit 202 is performed.

逆量子化部207は符号化データに逆量子化処理を行い、これを逆DCT変換部208に送る。逆DCT変換部208は、逆量子化された係数を逆DCT変換し残差成分を復元する。   The inverse quantization unit 207 performs inverse quantization processing on the encoded data, and sends this to the inverse DCT transform unit 208. The inverse DCT transform unit 208 performs inverse DCT transform on the inversely quantized coefficient to restore a residual component.

上記のようにして復元された各符号化モードの残差成分は、イントラ予測合成部204や動き予測合成部206から出力される予測画像と加算されて、復号画像に戻り、復号画像メモリ209に格納される。復号画像メモリ209には、現在復号しているフレームの情報と、過去に復号したフレームの情報が格納されており、イントラ予測合成部204や動き予測合成部206に参照される。   The residual component of each coding mode restored as described above is added to the prediction image output from the intra prediction synthesis unit 204 or the motion prediction synthesis unit 206, and returns to the decoded image, and is stored in the decoded image memory 209. Stored. The decoded image memory 209 stores information on the currently decoded frame and information on previously decoded frames, and is referred to by the intra prediction synthesis unit 204 and the motion prediction synthesis unit 206.

最後に復号された画像が画像出力部210によって出力され、画像の復号が行われる。   The last decoded image is output by the image output unit 210, and the image is decoded.

次に、図6を用いて、実施例2に係る画像復号装置における画像復号方法の流れについて説明する。   Next, the flow of the image decoding method in the image decoding apparatus according to the second embodiment will be described with reference to FIG.

まず、ステップ601で、復号対象となる符号化ストリームを取得する。次に、ステップ602では、ステップ601において取得した符号化ストリームに含まれる符号化モードフラグと符号化データを解析する。このステップ601、ステップ602はストリーム解析部201で実行される。   First, in step 601, an encoded stream to be decoded is acquired. Next, in step 602, the encoding mode flag and the encoded data included in the encoded stream acquired in step 601 are analyzed. Steps 601 and 602 are executed by the stream analysis unit 201.

次に、ステップ603では、ステップ602において解析した符号化モードフラグを用いて、当該符号化データに含まれる一の符号化単位(ブロック単位や画素単位など)についての符号化モードを判定する。ここでイントラ符号化モードである場合にはステップ604に進み、インター符号化モードである場合にはステップ605に進む。このステップ603は、モード判定部202で実行される。   Next, in step 603, the encoding mode for one encoding unit (block unit, pixel unit, etc.) included in the encoded data is determined using the encoding mode flag analyzed in step 602. If the intra coding mode is selected, the process proceeds to step 604. If the intra coding mode is selected, the process proceeds to step 605. This step 603 is executed by the mode determination unit 202.

ステップ604では、符号化モードによって指定された方法に従ってイントラ予測を行う。これは既存のイントラ予測方法を用いればよい。このステップ604は、イントラ予測合成部204で実行される。   In step 604, intra prediction is performed according to the method specified by the encoding mode. For this, an existing intra prediction method may be used. This step 604 is executed by the intra prediction synthesis unit 204.

ステップ605では、フレーム単位の諸条件、フラグの情報に従って、該フレームに対してPMV選択を行うかどうかを判定する。フレーム単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ606に進む。ステップ606では符号化モード、ブロック単位の諸条件、フラグの情報に従って、該ブロックに対してPMV選択を行うかどうかを判定する。ブロック単位でPMV選択を行うか否かの判定はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。PMV選択を行わない場合にはステップ609に進み、それ以外はステップ607に進む。   In step 605, it is determined whether or not PMV selection is to be performed for the frame in accordance with various frame conditions and flag information. The determination as to whether or not to perform PMV selection for each frame is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing. If PMV selection is not performed, the process proceeds to step 609. Otherwise, the process proceeds to step 606. In step 606, it is determined whether or not PMV selection is to be performed for the block according to the encoding mode, conditions for each block, and flag information. The determination as to whether or not to perform PMV selection in block units is the same as the method described in the first embodiment because the encoder and decoder operate so as to perform the same processing. If PMV selection is not performed, the process proceeds to step 609; otherwise, the process proceeds to step 607.

ステップ607ではPMV候補ブロックの調整を行う。ここでは条件によってどのブロックを候補ブロックに含め、どのブロックを含めないかを判定する。PMV候補ブロックの調整はエンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。   In step 607, the PMV candidate block is adjusted. Here, it is determined which block is included in the candidate block and which block is not included depending on the condition. The adjustment of the PMV candidate block is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing.

ステップ608ではPMV選択とベクトル復号が行われる。PMVの選択方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。   In step 608, PMV selection and vector decoding are performed. The PMV selection method is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing. In the vector decoding, the PMV and the decoded difference vector are combined to restore the motion vector of the encoding target block.

次に、ステップ609ではPMV計算とベクトル復号が行われる。PMVの計算方法は、エンコーダとデコーダが同じ処理をするように動作するため、実施例1に記述した方法と同様である。ベクトルの復号は、PMVと復号された差分ベクトルを合成して符号化対象ブロックの動きベクトルを復元する。これらのステップ605、ステップ606、ステップ607、ステップ608及びステップ609は、適応PMV選択復号部205で実行される。   Next, in step 609, PMV calculation and vector decoding are performed. The PMV calculation method is the same as the method described in the first embodiment because the encoder and the decoder operate so as to perform the same processing. In the vector decoding, the PMV and the decoded difference vector are combined to restore the motion vector of the encoding target block. These step 605, step 606, step 607, step 608 and step 609 are executed by the adaptive PMV selective decoding unit 205.

ステップ610では復元されたベクトルと参照フレームを用いてインター予測を行い、予測画像を合成する。これは判定された符号化モードに応じて、図2における画像復号装置のイントラ予測合成部204、動き予測合成部206が、それぞれの対応する符号化モードの場合に予測画像の合成処理を行えばよい。このステップ610は、動き予測合成部206で実行される。   In step 610, inter prediction is performed using the restored vector and the reference frame, and a predicted image is synthesized. According to the determined coding mode, if the intra prediction synthesis unit 204 and the motion prediction synthesis unit 206 of the image decoding apparatus in FIG. 2 perform the prediction image synthesis process in each corresponding coding mode. Good. This step 610 is executed by the motion prediction synthesis unit 206.

ステップ611では、予測画像と残差成分を合成し、復号画像の生成を行う。まず符号化データを解析し、当該符号化データについて逆量子化処理、逆DCT変換処理を行い、前記一の符号化単位についての残差成分の復号を行う。これに予測画像を合成して復号画像の生成を行い、メモリに記憶する。最後に、ステップ612では、生成された復号画像の出力を行う。このステップ611の各処理は、係数解析部203、逆量子化部207、逆DCT変換部208、復号画像メモリ209及び画像出力部210で実行される。   In step 611, the predicted image and the residual component are combined to generate a decoded image. First, the encoded data is analyzed, the inverse quantization process and the inverse DCT transform process are performed on the encoded data, and the residual component for the one encoding unit is decoded. A predicted image is synthesized with this to generate a decoded image, which is stored in a memory. Finally, in step 612, the generated decoded image is output. Each processing of step 611 is executed by the coefficient analysis unit 203, the inverse quantization unit 207, the inverse DCT conversion unit 208, the decoded image memory 209, and the image output unit 210.

なお、本実施例においても、例に示す以外にも、符号化モードで用いるブロックのサイズなどをパラメータとして、各符号化モードを細分化して規定した符号化ストリームを、復号対象ストリームとしてもよい。   In this embodiment, besides the example, an encoded stream that is defined by subdividing each encoding mode using a block size used in the encoding mode as a parameter may be set as a decoding target stream.

以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、既存の符号化方式よりも精度が高く、かつ符号量の少ないインター予測が可能となり、既存方式よりも圧縮効率の高い画像復号装置及び画像復号方法を実現することが可能となる。   According to the above-described image decoding apparatus and image decoding method according to the second embodiment, inter prediction with higher accuracy and less code amount than the existing encoding method is possible, and the image has higher compression efficiency than the existing method. A decoding device and an image decoding method can be realized.

また、実施例2に係る画像復号装置及び画像復号方法は、これらを用いた再生装置、携帯電話、デジタルカメラ等に適用することが可能である。   In addition, the image decoding apparatus and the image decoding method according to the second embodiment can be applied to a reproduction apparatus, a mobile phone, a digital camera, and the like using these.

以上説明した実施例2に係る画像復号装置及び画像復号方法によれば、符号量の少ない符号化データをより高画質に復号することが可能となる。   According to the image decoding apparatus and the image decoding method according to the second embodiment described above, it is possible to decode encoded data with a small code amount with higher image quality.

次に、図7に実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームが格納されたデータ記録媒体を示す。   Next, FIG. 7 shows a data recording medium in which an encoded stream generated by the image encoding device or the image encoding method according to the first embodiment is stored.

本実施例に係る符号化ストリームは、実施例1に係る画像符号化装置または画像符号化方法により生成された符号化ストリームである。その生成方法は、実施例1に示したとおりであるので、説明を省略する。   The encoded stream according to the present embodiment is an encoded stream generated by the image encoding device or the image encoding method according to the first embodiment. Since the generation method is as shown in the first embodiment, the description is omitted.

ここで、本実施例に係る符号化ストリームは、データ記録媒体701上にデータ列702として記録される。データ列702は、所定の文法に従う符号化ストリームとして記録されている。以下ではH.264/AVC規格の一部を変更したものとして説明する。   Here, the encoded stream according to the present embodiment is recorded as a data string 702 on the data recording medium 701. The data string 702 is recorded as an encoded stream according to a predetermined grammar. The following description assumes that a part of the H.264 / AVC standard has been changed.

まず、H.264/AVCでは、シーケンスパラメータセット703、ピクチャパラメータセット704、スライス705、706、707からストリームが構成される。以下、1つのスライスに1つの画像(ピクチャ)が格納される場合を示す。   First, in H.264 / AVC, a stream is composed of a sequence parameter set 703, a picture parameter set 704, and slices 705, 706, and 707. Hereinafter, a case where one image (picture) is stored in one slice will be described.

各スライスの内部には、それぞれのブロックに関する情報708が含まれている。ブロックに関する情報708の内部には、ブロックごとにそれぞれの符号化モードを記録する領域があり、これを符号化モードフラグ709とする。   Each slice includes information 708 related to each block. Within the block-related information 708, there is an area for recording each coding mode for each block, and this is used as a coding mode flag 709.

以上説明した実施例3に係るデータ記録媒体によれば、既存方式よりも圧縮効率が高い符号化ストリームで記録されているので、多くの画像を記録することができる。   Since the data recording medium according to the third embodiment described above is recorded with the encoded stream having higher compression efficiency than the existing method, many images can be recorded.

なお、以上説明した各図、各方法等の実施例のいずれを組み合わせてもよい。   It should be noted that any of the embodiments described above, such as each figure and each method, may be combined.

101…ブロック分割部、102…予測誤差計算部、103…復号画像メモリ、104…イントラ予測部、105…動き探索部、106…適応PMV選択部、107…PMV予測符号化部、108…DCT変換部、109…量子化部、110…エントロピー符号化部、111…逆量子化部、112…逆DCT変換部、113…モード選択部、114…データ出力部、120…インター予測部
201…ストリーム解析部、202…モード判定部、203…係数解析部、204…イントラ予測合成部、205…適応PMV選択復号部、206…動き予測合成部、207…逆量子化部、208…逆DCT変換部、209…復号画像メモリ、210…画像出力部
DESCRIPTION OF SYMBOLS 101 ... Block division part, 102 ... Prediction error calculation part, 103 ... Decoded image memory, 104 ... Intra prediction part, 105 ... Motion search part, 106 ... Adaptive PMV selection part, 107 ... PMV prediction encoding part, 108 ... DCT conversion 109: Quantization unit, 110 ... Entropy encoding unit, 111 ... Inverse quantization unit, 112 ... Inverse DCT transform unit, 113 ... Mode selection unit, 114 ... Data output unit, 120 ... Inter prediction unit 201 ... Stream analysis 202: Mode determination unit, 203 ... Coefficient analysis unit, 204 ... Intra prediction synthesis unit, 205 ... Adaptive PMV selection decoding unit, 206 ... Motion prediction synthesis unit, 207 ... Inverse quantization unit, 208 ... Inverse DCT conversion unit, 209 ... Decoded image memory, 210 ... Image output unit

Claims (1)

画像を符号化した符号化ストリームを復号する画像復号化方法であって、
前記画像を構成する復号対象ブロックにおいて、
前記符号化ストリームから得られる符号化モードの情報に従って、前記復号対象ブロックの周囲のブロックを含む複数の候補ブロックの動きベクトルから動きベクトルを選択し、前記動きベクトルを用いて、前記復号対象ブロックの動きベクトルを復元する第1ステップと、
前記復号対象ブロックの動きベクトルと参照画像を用いて予測画像を生成する第2ステップとを備え、
前記第1ステップにおける動きベクトルの選択処理は、
前記復号対象ブロックと同じフレームにあり前記復号対象ブロックと隣接する第1のブロックと、前記復号対象ブロックとは別のフレームの前記復号対象ブロックと同じ位置にある第2のブロックとから、候補ブロックの選択を行う処理であり、
該動きベクトルの選択処理では、
前記第1のブロックのうち、前記対象ブロックの左側に位置するブロックと前記対象ブロックの上側に位置するブロックとの動きベクトルを比較する比較処理を行い、同じ動きベクトルを有する場合には、前記対象ブロックの上側に位置するブロックを候補ブロックから除外し、
前記第1のブロックに参照不可のブロックが含まれる場合には、前記参照不可のブロックを動きベクトルの候補ブロックから除外し、他のブロックを候補ブロックに追加する処理を行い、
前記候補ブロックに追加するブロックの数は、既に候補ブロックとして選択されているブロックの数に応じて変更されるものであり、
前記比較処理を行う前に、前記第1のブロックに前記対象ブロックの左側に位置する利用可能な動きベクトルを有するブロックが複数ある場合は、前記対象ブロックの左側に位置する前記利用可能な動きベクトルを有する複数のブロックのうちの一つのブロックが有する動きベクトルを前記比較処理の対象となる動きベクトルとして選択する処理を行い、
前記第2のブロックは、前記復号対象ブロックとは別のフレームにある前記復号対象ブロックと同じ位置にあるブロックを含む複数のブロックについて、動きベクトルが利用可能か否かを判定する処理を行って、動きベクトルが利用可能と判定された一のブロックから選択される選択処理により決定される
ことを特徴とする画像復号化方法。
An image decoding method for decoding an encoded stream obtained by encoding an image,
In the decoding target block constituting the image,
According to the encoding mode information obtained from the encoded stream, a motion vector is selected from the motion vectors of a plurality of candidate blocks including blocks around the decoding target block, and the motion vector is used to select the decoding target block. A first step of restoring a motion vector;
A second step of generating a predicted image using the motion vector of the decoding target block and a reference image,
The motion vector selection process in the first step is:
Candidate blocks from a first block that is in the same frame as the decoding target block and is adjacent to the decoding target block, and a second block that is in the same position as the decoding target block in a different frame from the decoding target block Is a process for selecting
In the motion vector selection process,
In the first block, a comparison process for comparing motion vectors of a block located on the left side of the target block and a block located on the upper side of the target block is performed. Exclude the block above the block from the candidate block,
If the first block includes a non-referenceable block, the non-referenceable block is excluded from the motion vector candidate blocks, and another block is added to the candidate block.
The number of blocks to be added to the candidate block is changed according to the number of blocks already selected as candidate blocks,
Before the comparison process, if there are a plurality of blocks having available motion vectors located on the left side of the target block in the first block, the available motion vectors located on the left side of the target block Performing a process of selecting a motion vector included in one of the plurality of blocks having a motion vector to be subjected to the comparison process;
The second block performs a process of determining whether or not a motion vector is available for a plurality of blocks including a block at the same position as the decoding target block in a different frame from the decoding target block. An image decoding method, wherein the motion vector is determined by a selection process selected from one block determined to be usable.
JP2016114064A 2016-06-08 2016-06-08 Image decoding method Active JP6181242B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016114064A JP6181242B2 (en) 2016-06-08 2016-06-08 Image decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016114064A JP6181242B2 (en) 2016-06-08 2016-06-08 Image decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016067025A Division JP5951915B2 (en) 2016-03-30 2016-03-30 Image decoding method

Publications (2)

Publication Number Publication Date
JP2016158306A true JP2016158306A (en) 2016-09-01
JP6181242B2 JP6181242B2 (en) 2017-08-16

Family

ID=56826917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016114064A Active JP6181242B2 (en) 2016-06-08 2016-06-08 Image decoding method

Country Status (1)

Country Link
JP (1) JP6181242B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007504760A (en) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション Innovations in encoding and decoding macroblocks and motion information for interlaced and progressive video
JP2007525100A (en) * 2003-06-30 2007-08-30 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for encoding motion information
JP2008211697A (en) * 2007-02-28 2008-09-11 Sharp Corp Encoder and decoder
WO2009093672A1 (en) * 2008-01-23 2009-07-30 Sony Corporation Encoding device and method, and decoding device and method
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
JP2010081465A (en) * 2008-09-29 2010-04-08 Hitachi Ltd Moving image encoding method and moving image decoding method
WO2011131091A1 (en) * 2010-04-22 2011-10-27 Mediatek Inc. Motion prediction method and video encoding method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007525100A (en) * 2003-06-30 2007-08-30 株式会社エヌ・ティ・ティ・ドコモ Method and apparatus for encoding motion information
JP2007504760A (en) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション Innovations in encoding and decoding macroblocks and motion information for interlaced and progressive video
JP2008211697A (en) * 2007-02-28 2008-09-11 Sharp Corp Encoder and decoder
WO2009093672A1 (en) * 2008-01-23 2009-07-30 Sony Corporation Encoding device and method, and decoding device and method
WO2009115901A2 (en) * 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
JP2010081465A (en) * 2008-09-29 2010-04-08 Hitachi Ltd Moving image encoding method and moving image decoding method
WO2011131091A1 (en) * 2010-04-22 2011-10-27 Mediatek Inc. Motion prediction method and video encoding method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Test Model under Consideration, Output Document (draft007)", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-B205_draft007, JPN6012066813, October 2010 (2010-10-01), pages 1 - 6, ISSN: 0003584948 *
FRANK BOSSEN AND PHILIPP KOSSE: "Simplified motion vector coding method", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-B094, JPN6012018564, July 2010 (2010-07-01), pages 1 - 5, ISSN: 0003584947 *
KEN MCCANN ET AL.: "Samsung's Response to the Call for Proposals on Video Compression Technology", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-A124, JPN6015008479, April 2010 (2010-04-01), pages 1 - 15, ISSN: 0003584946 *

Also Published As

Publication number Publication date
JP6181242B2 (en) 2017-08-16

Similar Documents

Publication Publication Date Title
US11758179B2 (en) Image encoding method, image encoding device, image decoding method, and image decoding device
KR102094436B1 (en) Method for inter prediction and apparatus thereof
WO2013009104A2 (en) Inter prediction method and apparatus for same
TW201921949A (en) Video prediction encoding device video prediction encoding method video prediction encoding program video prediction decoding device video prediction decoding method and video prediction decoding program
CN113615173A (en) Method and device for carrying out optical flow prediction correction on affine decoding block
JP2006100871A (en) Coder, coding method, program of coding method, and recording medium with the program recorded thereon
JP6181242B2 (en) Image decoding method
JP5946980B1 (en) Image decoding method
JP5951915B2 (en) Image decoding method
JP5911982B2 (en) Image decoding method
JP5750191B2 (en) Image decoding method
US20240098300A1 (en) Method and apparatus for implicitly indicating motion vector predictor precision
WO2024064421A1 (en) Method and apparatus for motion vector prediction based on subblock motion vector
KR20240112899A (en) Method and apparatus for deriving candidates for affine merge modes in video coding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170719

R150 Certificate of patent or registration of utility model

Ref document number: 6181242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250