[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4906458B2 - Image coding apparatus and image coding method - Google Patents

Image coding apparatus and image coding method Download PDF

Info

Publication number
JP4906458B2
JP4906458B2 JP2006269016A JP2006269016A JP4906458B2 JP 4906458 B2 JP4906458 B2 JP 4906458B2 JP 2006269016 A JP2006269016 A JP 2006269016A JP 2006269016 A JP2006269016 A JP 2006269016A JP 4906458 B2 JP4906458 B2 JP 4906458B2
Authority
JP
Japan
Prior art keywords
encoding
macroblock
encoding target
sub
motion compensation
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.)
Expired - Fee Related
Application number
JP2006269016A
Other languages
Japanese (ja)
Other versions
JP2008092150A (en
JP2008092150A5 (en
Inventor
金子  唯史
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006269016A priority Critical patent/JP4906458B2/en
Priority to US11/772,630 priority patent/US8270490B2/en
Publication of JP2008092150A publication Critical patent/JP2008092150A/en
Publication of JP2008092150A5 publication Critical patent/JP2008092150A5/ja
Application granted granted Critical
Publication of JP4906458B2 publication Critical patent/JP4906458B2/en
Priority to US13/600,466 priority patent/US9264735B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、フレーム間動き補償を用いた符号化技術に関するものである。   The present invention relates to an encoding technique using interframe motion compensation.

従来、動画像に対する圧縮符号化の方式は、MPEG−1,2,4やH.264といった規格がある。この動画像に対する圧縮符号化の処理は、動画像に含まれる原画像(画像)をブロックと呼ばれる所定の領域に分割し、この分割したブロックを単位にして動き補償予測やDCT変換処理を施すものである。   Conventionally, compression encoding methods for moving images are MPEG-1, 2, 4 and H.264. There are standards such as H.264. The compression encoding process for the moving image is performed by dividing an original image (image) included in the moving image into predetermined regions called blocks, and performing motion compensation prediction and DCT conversion processing in units of the divided blocks. It is.

動き補償予測の場合、圧縮符号化の処理の単位となるブロックの大きさは、MPEG1、MPEG2方式では、マクロブロックと呼ばれる水平16画素×垂直16ラインである。この1つのマクロブロックに対してフレーム予測を行う場合は、水平方向と垂直方向の2つの成分からなる1つの動きベクトルが割り当てられている。またフィールド予測を行う場合は、水平方向と垂直方向の2つの成分からなる2つの動きベクトルが割り当てられている。   In the case of motion compensation prediction, the block size as a unit of compression encoding processing is 16 horizontal pixels × 16 vertical lines called macroblocks in the MPEG1 and MPEG2 systems. When frame prediction is performed for this one macroblock, one motion vector composed of two components in the horizontal direction and the vertical direction is assigned. When performing field prediction, two motion vectors composed of two components in the horizontal direction and the vertical direction are assigned.

MPEG1やMPEG2のようにマクロブロックを単位とする動き補償予測を行う際の動きベクトルの割り当て処理は図2(a)に示す如く、マクロブロック201を処理の単位とする。そして、このマクロブロック201内の画素が全て同一の動きベクトル202で代表されるとする。そして、この動きベクトル202の水平方向と垂直方向のそれぞれに対応した移動量によって動画像を処理するものである。   As shown in FIG. 2 (a), the motion vector assignment processing when performing motion compensation prediction using macroblocks as in units of MPEG1 and MPEG2 uses macroblocks 201 as processing units. Assume that all the pixels in the macroblock 201 are represented by the same motion vector 202. Then, the moving image is processed by the movement amount corresponding to each of the horizontal direction and the vertical direction of the motion vector 202.

また、MPEG4方式では、マクロブロック単位で動き補償予測を行う他に、図2(b)に示す如く、水平8画素×垂直8ラインの大きさのブロック(小ブロック)203単位で動き補償を行うモード(8×8モードとする)が備えられている。この8×8モードを用いた場合、水平16画素×垂直16ラインのマクロブロック204内に複数の動きが存在する際に、マクロブロック204の1つに対して1つの動きベクトルを割り当てるよりも、実際の動きに近似した動きベクトルを得ることが可能である。   In the MPEG4 system, in addition to performing motion compensation prediction in units of macroblocks, motion compensation is performed in units of blocks (small blocks) 203 having a size of horizontal 8 pixels × vertical 8 lines, as shown in FIG. 2B. Mode (8 × 8 mode) is provided. When this 8 × 8 mode is used, when a plurality of motions exist in the macro block 204 of 16 horizontal pixels × 16 vertical lines, rather than assigning one motion vector to one of the macro blocks 204, It is possible to obtain a motion vector that approximates the actual motion.

例えば図3(a)に示すように、背景(塔と太陽)は静止しており、車が左方向に走っている画像を考えた場合、車と背景部分の動きは異なることになる。このような画像において、図3(b)に示すように、同一マクロブロック301内に車の一部と背景が混在した場合、車に対する動きベクトル302と背景に対する動きベクトル303を与えることで動き予測効率は向上する。ただし、小ブロックに分割する場合には、1つのマクロブロックに対して4つの小ブロックが存在するので、動きベクトルの数は、小ブロック毎に1つずつ存在し、1つのマクロブロックでは、4つ存在することになる。   For example, as shown in FIG. 3A, the background (the tower and the sun) is stationary, and the movement of the car and the background portion is different when considering an image in which the car is running in the left direction. In such an image, as shown in FIG. 3B, when a part of the vehicle and the background are mixed in the same macroblock 301, motion prediction 302 is performed by giving a motion vector 302 for the vehicle and a motion vector 303 for the background. Efficiency is improved. However, when dividing into small blocks, there are four small blocks for one macroblock, so the number of motion vectors is one for each small block. There will be one.

またH.264方式では図4(a)に示す如く、マクロブロックとして水平16画素×垂直16ライン、水平8画素×垂直8ラインの正方形ブロック以外にも、長方形のブロックにすることができる。例えば、水平16画素×垂直8ライン、水平8画素×垂直16ラインのような長方形ブロックとしたり、マクロブロックを水平8画素×垂直8ラインの大きさの小ブロックとして4つに分割することが可能である。   H. In the H.264 system, as shown in FIG. 4A, the macro block can be a rectangular block other than a square block of horizontal 16 pixels × vertical 16 lines and horizontal 8 pixels × vertical 8 lines. For example, a rectangular block such as horizontal 16 pixels × vertical 8 lines and horizontal 8 pixels × vertical 16 lines can be formed, or a macro block can be divided into four blocks as small blocks of horizontal 8 pixels × vertical 8 lines. It is.

さらにこの水平8画素×垂直8ラインの大きさのブロックに限って、このブロックを水平8画素×垂直4ライン、水平4画素×垂直8ライン、水平4画素×垂直4ラインの大きさに分割したブロックで動き補償予測を行うことも可能な構成となっている。また同方式では、INTRA予測モードというものが存在し、画面内の画像情報からマクロブロックの画素値を予測することが可能である。係るモードは図4(b)に示す如く、マクロブロックの水平16画素×垂直16ライン、水平4画素×垂直4ラインの大きさに分割したブロックで予測を行うことが可能な構成となっている。   Furthermore, this block is divided into the size of horizontal 8 pixels × vertical 4 lines, horizontal 4 pixels × vertical 8 lines, horizontal 4 pixels × vertical 4 lines only for this block of horizontal 8 pixels × vertical 8 lines. It is also possible to perform motion compensation prediction in blocks. In this method, there is an INTRA prediction mode, and it is possible to predict the pixel value of the macroblock from the image information in the screen. In this mode, as shown in FIG. 4B, the macroblock can be predicted with a block divided into a size of horizontal 16 pixels × vertical 16 lines and horizontal 4 pixels × vertical 4 lines. .

マクロブロックをさらに小さいサブマクロブロックに分割して動き補償予測を行う事によって、実際の動きに合った細かな動きベクトルを表現可能である。しかしその一方で、分割したサブマクロブロック毎にベクトル情報など付属情報が必要なため、常にサブマクロブロックに分割する事が符号化にとって効率的とは限らない。よって様々なサイズのブロックの中から最適なサイズのサブマクロブロックの組み合わせを選んで符号化を行う事が必要となってくる(特許文献1を参照)。
特開2005−012439号公報
By dividing the macroblock into smaller sub-macroblocks and performing motion compensation prediction, it is possible to express a fine motion vector that matches the actual motion. However, on the other hand, since additional information such as vector information is required for each divided sub-macroblock, it is not always efficient for encoding to divide into sub-macroblocks. Therefore, it is necessary to perform encoding by selecting a combination of sub-macroblocks of an optimal size from among blocks of various sizes (see Patent Document 1).
JP 2005-012439 A

従来技術においては、様々なサイズのサブマクロブロックから最適なブロックサイズの組あわせを選択するためには、様々なブロックサイズの全ての組み合わせで予測誤差を算出し、比較するため、膨大な演算量を必要としていた。そのため符号化装置においては、ハードウェアの増大や高速クロックでの処理が要求され、装置の小型化や低消費電力化の妨げとなる問題があった。   In the prior art, in order to select the optimal combination of block sizes from sub-macroblocks of various sizes, the calculation error is calculated and compared for all combinations of various block sizes, so a huge amount of computation is required. Needed. Therefore, the encoding apparatus is required to increase hardware and process with a high-speed clock, and there is a problem that hinders downsizing of the apparatus and low power consumption.

本発明は以上の問題に鑑みてなされたものであり、動き補償予測符号化における演算量を低減させる為の技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a technique for reducing the amount of calculation in motion compensation predictive coding.

本発明の目的を達成するために、例えば、本発明の画像符号化装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an image encoding apparatus of the present invention comprises the following arrangement.

即ち、動画像を構成する各フレームの画像データを符号化する画像符号化装置であって、
符号化対象フレームの画像データをマクロブロック毎に入力する入力手段と、
前記符号化対象フレームよりも過去に入力した複数フレームの画像データを、複数の参照フレームの画像データとして記憶する格納手段と、
前記符号化対象フレームにおける符号化対象マクロブロックと、前記符号化対象フレーム内の前記符号化対象マクロブロックの位置に対応する前記参照フレーム内の位置におけるマクロブロックと、の間の画素値の差分量を求める計算手段と、
予め設定された第1の閾値及び該第1の閾値よりも大きい第2の閾値と、前記差分量とを比較することで前記符号化対象マクロブロックに対する符号化内容を決定する決定手段であって、
前記差分量が前記第1の閾値未満である場合、前記符号化対象マクロブロックを、動き補償を行わないブロックに決定し、
前記差分量が前記第1の閾値以上かつ前記第2の閾値未満である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定し、
前記差分量が前記第2の閾値以上である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定する前記決定手段と、
前記決定手段が前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックと類似するマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、該検索したマクロブロックと前記符号化対象マクロブロックとの間で検出された動きベクトルを用いてマクロブロック単位での動き補償を行って前記符号化対象マクロブロックを符号化する第1の符号化手段と、
前記決定手段が前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックを複数のサブマクロブロックに分割し、分割したそれぞれのサブマクロブロックと類似するサブマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、前記分割したそれぞれのサブマクロブロックについて検索したサブマクロブロックと前記分割したそれぞれのサブマクロブロックとの間で検出された動きベクトルを用いてサブマクロブロック単位での動き補償を行って前記分割したそれぞれのサブマクロブロックを符号化する第2の符号化手段と、
前記決定手段が前記符号化対象マクロブロックを、動き補償を行わないブロックに決定した場合には、前記符号化対象マクロブロックの動き探索を行わずに、動きベクトルなしを示す情報を符号化する第3の符号化手段と
を備えることを特徴とする。
That is, an image encoding device that encodes image data of each frame constituting a moving image,
Input means for inputting the image data of the encoding target frame for each macroblock;
Storage means for storing, as image data of a plurality of reference frames, image data of a plurality of frames input in the past from the encoding target frame;
Difference amount of pixel value between encoding target macroblock in encoding target frame and macroblock at position in reference frame corresponding to position of encoding target macroblock in encoding target frame A calculation means for obtaining
A determination unit that determines an encoding content for the encoding target macroblock by comparing the difference amount with a first threshold value set in advance and a second threshold value that is larger than the first threshold value. And
When the difference amount is less than the first threshold, the encoding target macroblock is determined as a block for which motion compensation is not performed,
If the difference amount is greater than or equal to the first threshold and less than the second threshold, the encoding target macroblock is determined as a block that performs motion compensation without being divided into sub-macroblocks;
If the difference amount is greater than or equal to the second threshold value, and said determining means for determining the block for motion compensation the encoded macroblock, after divided into sub-macroblock,
When the determining unit determines that the encoding target macroblock is a block that performs motion compensation without being divided into sub-macroblocks, a macroblock similar to the encoding target macroblock is determined as the plurality of reference frames. Each of the image data is subjected to motion compensation in units of macroblocks using motion vectors detected between the searched macroblock and the encoding target macroblock, and the encoding target macroblock is determined. First encoding means for encoding;
When the determination unit determines the block to be subjected to motion compensation after dividing the encoding target macroblock into sub-macroblocks, the encoding target macroblock is divided into a plurality of sub-macroblocks and divided. Submacroblocks similar to the respective submacroblocks are searched from the respective image data of the plurality of reference frames, and the submacroblocks searched for the respective divided submacroblocks and the respective divided submacroblocks Second encoding means for encoding each of the divided sub-macroblocks by performing motion compensation in units of sub-macroblocks using motion vectors detected between
When the determination unit determines the encoding target macroblock to be a block that does not perform motion compensation, the information indicating no motion vector is encoded without performing a motion search of the encoding target macroblock. And 3 encoding means.

本発明の目的を達成するために、例えば、本発明の画像符号化方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an image encoding method of the present invention comprises the following arrangement.

即ち、動画像を構成する各フレームの画像データを符号化する画像符号化装置が行う画像符号化方法であって、
符号化対象フレームの画像データをマクロブロック毎に入力する入力工程と、
前記符号化対象フレームよりも過去に入力した複数フレームの画像データを、複数の参照フレームの画像データとして記憶する工程と、
前記符号化対象フレームにおける符号化対象マクロブロックと、前記符号化対象フレーム内の前記符号化対象マクロブロックの位置に対応する前記参照フレーム内の位置におけるマクロブロックと、の間の画素値の差分量を求める計算工程と、
予め設定された第1の閾値及び該第1の閾値よりも大きい第2の閾値と、前記差分量とを比較することで前記符号化対象マクロブロックに対する符号化内容を決定する決定工程であって、
前記差分量が前記第1の閾値未満である場合、前記符号化対象マクロブロックを、動き補償を行わないブロックに決定し、
前記差分量が前記第1の閾値以上かつ前記第2の閾値未満である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定し、
前記差分量が前記第2の閾値以上である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定する前記決定工程と、
前記決定工程で前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックと類似するマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、該検索したマクロブロックと前記符号化対象マクロブロックとの間で検出された動きベクトルを用いてマクロブロック単位での動き補償を行って前記符号化対象マクロブロックを符号化する第1の符号化工程と、
前記決定工程で前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックを複数のサブマクロブロックに分割し、分割したそれぞれのサブマクロブロックと類似するサブマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、前記分割したそれぞれのサブマクロブロックについて検索したサブマクロブロックと前記分割したそれぞれのサブマクロブロックとの間で検出された動きベクトルを用いてサブマクロブロック単位での動き補償を行って前記分割したそれぞれのサブマクロブロックを符号化する第2の符号化工程と、
前記決定工程で前記符号化対象マクロブロックを、動き補償を行わないブロックに決定した場合には、前記符号化対象マクロブロックの動き探索を行わずに、動きベクトルなしを示す情報を符号化する第3の符号化工程と
を備えることを特徴とする。
That is, an image encoding method performed by an image encoding device that encodes image data of each frame constituting a moving image,
An input step of inputting image data of the encoding target frame for each macroblock;
Storing image data of a plurality of frames input in the past from the encoding target frame as image data of a plurality of reference frames;
Difference amount of pixel value between encoding target macroblock in encoding target frame and macroblock at position in reference frame corresponding to position of encoding target macroblock in encoding target frame A calculation process for obtaining
This is a determination step of determining the encoding content for the encoding target macroblock by comparing the difference amount with a first threshold value set in advance and a second threshold value larger than the first threshold value. And
When the difference amount is less than the first threshold, the encoding target macroblock is determined as a block for which motion compensation is not performed,
If the difference amount is greater than or equal to the first threshold and less than the second threshold, the encoding target macroblock is determined as a block that performs motion compensation without being divided into sub-macroblocks;
If the difference amount is greater than or equal to the second threshold value, the encoding target macro-blocks, and the determination step of determining a block to be motion-compensated from divided into sub-macroblock,
If the encoding target macroblock is determined to be a block that performs motion compensation without being divided into sub-macroblocks in the determining step, a macroblock similar to the encoding target macroblock is determined as the plurality of reference frames. Each of the image data is subjected to motion compensation in units of macroblocks using motion vectors detected between the searched macroblock and the encoding target macroblock, and the encoding target macroblock is determined. A first encoding step for encoding;
In the determination step, when the encoding target macroblock is determined to be a block to be subjected to motion compensation after being divided into sub macroblocks, the encoding target macroblock is divided into a plurality of submacroblocks and divided. Submacroblocks similar to the respective submacroblocks are searched from the respective image data of the plurality of reference frames, and the submacroblocks searched for the respective divided submacroblocks and the respective divided submacroblocks A second encoding step of encoding each of the divided sub-macroblocks by performing motion compensation in units of sub-macroblocks using motion vectors detected between
When the encoding target macroblock is determined as a block for which motion compensation is not performed in the determining step, information indicating no motion vector is encoded without performing a motion search for the encoding target macroblock. And 3 encoding steps.

本発明の構成によれば、動き補償予測符号化における演算量を低減させることができる。   According to the configuration of the present invention, it is possible to reduce the amount of calculation in motion compensation predictive coding.

以下添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

[第1の実施形態]
図1は、本実施形態に係る画像符号化装置の機能構成を示すブロック図である。係る画像符号化装置は、各フレームの画像を符号化するためのものである。より詳しくは、H.264のように、1つのフレーム画像を複数のマクロブロックに分割し、分割したマクロブロック毎に動き予測を行い、符号化する。なお、1つのマクロブロックを複数のサブマクロブロック(小ブロック)に分割した場合には、サブマクロブロック単位で動き予測を行う。
[First Embodiment]
FIG. 1 is a block diagram illustrating a functional configuration of the image encoding device according to the present embodiment. Such an image encoding device is for encoding an image of each frame. More specifically, see H.C. As in H.264, one frame image is divided into a plurality of macroblocks, and motion prediction is performed for each divided macroblock and encoded. When one macro block is divided into a plurality of sub macro blocks (small blocks), motion prediction is performed in units of sub macro blocks.

同図に示す如く、画像符号化装置は、フレームバッファ101、小ブロック化判定部102、動き予測部105、動き補償部106、イントラ予測部107、直交変換部108、量子化部109、エントロピー符号化部110、逆量子化部111を有する。更には、逆直交変換部112、スイッチ部113、参照フレームバッファ114、加算器103、104を有する。本実施形態では、図1に示した各部はハードウェアで構成されているものとして説明する。   As shown in the figure, the image coding apparatus includes a frame buffer 101, a small block determination unit 102, a motion prediction unit 105, a motion compensation unit 106, an intra prediction unit 107, an orthogonal transform unit 108, a quantization unit 109, an entropy code. A quantization unit 110 and an inverse quantization unit 111. Furthermore, an inverse orthogonal transform unit 112, a switch unit 113, a reference frame buffer 114, and adders 103 and 104 are included. In the present embodiment, each unit illustrated in FIG. 1 will be described as being configured by hardware.

以下、各部の動作について説明する。   Hereinafter, the operation of each unit will be described.

符号化対象としての動画像を構成する各フレームの画像は、順次フレームバッファ101に入力され、格納される。   The image of each frame constituting the moving image to be encoded is sequentially input and stored in the frame buffer 101.

そして各フレームの画像は、マクロブロック単位(水平16画素×垂直16ライン)で小ブロック判定部102、動き予測部105、イントラ予測部107に入力される。 The image of each frame, macro block (16 horizontal pixels × 16 vertical lines) in the small block determination section 102, a motion prediction unit 105, is inputted to the intra prediction unit 107.

イントラ予測部107は、フレームバッファ101から符号化対象フレームを構成する各マクロブロックを受けると、各マクロブロックについて、同一空間上の符号化済みである近傍のブロックの画素値を用いた予測画像(予測データ)を生成する。イントラ予測部107は、例えば、動画像を構成する各フレームのうち、先頭フレームについて行う。そして生成した予測画像は、後段のスイッチ部113を介して加算器103、104に送出する。 The intra prediction unit 107 receives the respective macro blocks constituting the target frame from the frame buffer 1 01, for each macroblock, the prediction image using the pixel values of the neighboring blocks is already encoded in the same space (Prediction data) is generated. For example, the intra prediction unit 107 performs the first frame among the frames constituting the moving image. The generated predicted image is sent to the adders 103 and 104 via the switch unit 113 at the subsequent stage.

加算器103は、フレームバッファ101から入力されるマクロブロックと、このマクロブロックについての予測データとの差分量を予測誤差データとして生成し、後段の直交変換部108に送出する。加算器104の動作については後述する。 The adder 103 generates a difference amount between the macroblock input from the frame buffer 101 and the prediction data for the macroblock as prediction error data, and sends the prediction error data to the subsequent orthogonal transform unit 108. The operation of the adder 104 will be described later.

またイントラ予測部107は、イントラ予測符号化に使用した画素パターンなどの符号化情報をエントロピー符号化部110に出力する。   Also, the intra prediction unit 107 outputs encoding information such as a pixel pattern used for intra prediction encoding to the entropy encoding unit 110.

一方、小ブロック化判定部102は、フレームバッファ101から入力された符号化対象フレームにおけるマクロブロック(マクロブロックP)に対する符号化単位を決定する。小ブロック化判定部102は先ず、参照フレームバッファ114から符号化対象フレームよりも前のフレーム(1フレーム以上の任意フレーム前のフレーム)の画像において、マクロブロックPと位置的に対応するマクロブロック(マクロブロックQ)を読み出す。そして、マクロブロックPとマクロブロックQとの差分量Dを計算する。   On the other hand, the small block determination unit 102 determines an encoding unit for the macroblock (macroblock P) in the encoding target frame input from the frame buffer 101. First, the small block determination unit 102 first selects a macroblock (positionally corresponding to the macroblock P) in the image of the frame before the encoding target frame from the reference frame buffer 114 (a frame before one or more arbitrary frames). Read macroblock Q). Then, the difference amount D between the macroblock P and the macroblock Q is calculated.

ここで、マクロブロックPを構成する画素iをPi(1≦i≦M×N)、マクロブロックQを構成する画素jをQj(1≦j≦M×N)とすると、差分量Dは以下の式に従って求めることができる。   Here, if the pixel i constituting the macroblock P is Pi (1 ≦ i ≦ M × N) and the pixel j constituting the macroblock Q is Qj (1 ≦ j ≦ M × N), the difference amount D is as follows: It can obtain | require according to the formula of.

Figure 0004906458
Figure 0004906458

係る式からも分かるように、差分量Dが小さいほど、マクロブロックPとマクロブロックQとの間には変化が少ないと言え、この差分量Dが大きいほど、変化が大きいと言える。   As can be seen from the equation, it can be said that the smaller the difference amount D, the smaller the change between the macroblock P and the macroblock Q, and the larger the difference amount D, the greater the change.

次に、小ブロック化判定部102は、差分量Dと予め設定された閾値th1との大小比較を行い、D<th1である場合には、「動き補償を行わない」と判断する。   Next, the small block determination unit 102 performs a size comparison between the difference amount D and a preset threshold value th1, and determines that “no motion compensation is performed” if D <th1.

また、小ブロック化判定部102は、差分量Dと閾値th1,そして閾値th1よりも大きい閾値th2との大小比較を行う。その結果、th1≦D<th2である場合には、マクロブロックPに対する符号化単位を「マクロブロックP」と決定する。即ち、マクロブロックPについてはサブマクロブロックに分割せず、マクロブロック単位で動き補償による符号化を行うものと判断する。   Further, the small block determination unit 102 compares the difference amount D with the threshold th1 and the threshold th2 that is larger than the threshold th1. As a result, if th1 ≦ D <th2, the coding unit for the macroblock P is determined as “macroblock P”. That is, it is determined that the macroblock P is not divided into sub-macroblocks and is encoded by motion compensation in units of macroblocks.

また、小ブロック化判定部102は、差分量Dと閾値th2との大小比較を行う。その結果、D≧th2である場合には、マクロブロックPに対する符号化単位を「マクロブロックPよりも小さい単位」と決定する。即ち、マクロブロックPについてはサブマクロブロックに分割し、サブマクロブロック単位で動き補償による符号化を行うものと判断する。   The small block determination unit 102 compares the difference amount D with the threshold th2. As a result, when D ≧ th2, the encoding unit for the macroblock P is determined as “a unit smaller than the macroblock P”. That is, it is determined that the macroblock P is divided into sub-macroblocks and is encoded by motion compensation in units of sub-macroblocks.

係る小ブロック化判定部102による処理によって、符号化しようとするマクロブロックに対する符号化単位を、対応するマクロブロック同士の差分量に応じて決定することができる。   By the processing by the small block determination unit 102, the encoding unit for the macroblock to be encoded can be determined according to the difference amount between the corresponding macroblocks.

小ブロック化判定部102による判定結果は、判定情報として動き予測部105に送出される。動き予測部105は、小ブロック化判定部102から上記判定情報を受けると共に、フレームバッファ101からマクロブロックPと、参照フレームバッファ114に格納されている過去の複数フレームの画像データ、を取得する。   The determination result by the small block determination unit 102 is sent to the motion prediction unit 105 as determination information. The motion prediction unit 105 receives the determination information from the small block determination unit 102 and acquires the macroblock P and the past plural frames of image data stored in the reference frame buffer 114 from the frame buffer 101.

そして動き予測部105は、小ブロック化判定部102から受けた判定情報に応じて以下に説明するように、処理を切り替える。   Then, the motion prediction unit 105 switches processing as described below according to the determination information received from the small block determination unit 102.

「動き補償を行わない」という判定情報を受けた場合、動き予測部105は動き探索は行わず、動きベクトルなしを示す符号化情報を動き補償部106とエントロピー符号化部110とに出力する。   When the determination information “no motion compensation is performed” is received, the motion prediction unit 105 does not perform a motion search, and outputs encoded information indicating no motion vector to the motion compensation unit 106 and the entropy encoding unit 110.

マクロブロックPに対する符号化単位として「マクロブロックP」と決定した旨を示す判定情報を受けた場合、動き予測部105は次のように動作する。先ず動き予測部105は、参照フレームバッファ114に格納されている過去の複数フレームの画像の中から、マクロブロックPに類似するマクロブロックRを検索する。そして、マクロブロックPとマクロブロックRとの間で、空間的な変位量である動きベクトルを検出する。そして動き予測部105は、検出された動きベクトルと、符号化単位(この場合、マクロブロックP)と、マクロブロックRを抽出したフレーム(参照フレーム)の番号とを含む符号化情報を、動き補償部106とエントロピー符号化部110とに出力する。   When receiving the determination information indicating that “macroblock P” is determined as the encoding unit for the macroblock P, the motion prediction unit 105 operates as follows. First, the motion prediction unit 105 searches for a macro block R similar to the macro block P from a plurality of past frames stored in the reference frame buffer 114. Then, a motion vector that is a spatial displacement amount is detected between the macroblock P and the macroblock R. Then, the motion prediction unit 105 performs motion compensation on the encoded information including the detected motion vector, the encoding unit (in this case, the macroblock P), and the number of the frame (reference frame) from which the macroblock R is extracted. Output to the unit 106 and the entropy encoding unit 110.

マクロブロックPに対する符号化単位として「サブマクロブロック」と決定した旨を示す判定情報を受けた場合、動き予測部105は次のように動作する。先ず動き予測部105は、マクロブロックPを複数のサブマクロブロックに分割する。そしてそれぞれのサブマクロブロック(サブマクロブロックS)について以下の処理を行う。   When receiving the determination information indicating that “sub-macroblock” is determined as the encoding unit for the macroblock P, the motion prediction unit 105 operates as follows. First, the motion prediction unit 105 divides the macro block P into a plurality of sub macro blocks. Then, the following processing is performed for each sub macroblock (submacroblock S).

動き予測部105は先ず、参照フレームバッファ114に格納されている過去の複数フレームの画像の中から、サブマクロブロックSに類似するサブマクロブロックTを検索する。そして、サブマクロブロックSとサブマクロブロックTとの間で、空間的な変位量である動きベクトルを検出する。   First, the motion prediction unit 105 searches for a sub-macroblock T similar to the sub-macroblock S from a plurality of past frames stored in the reference frame buffer 114. Then, a motion vector that is a spatial displacement amount is detected between the sub-macroblock S and the sub-macroblock T.

そしてこのような、サブマクロブロック毎の動きベクトルを求める処理を、マクロブロックPを構成する各サブマクロブロックについて行う。そして動き予測部105は、各サブマクロブロックについて検出された動きベクトルと、符号化単位(この場合、サブマクロブロック)と、サブマクロブロックTを抽出したフレーム(参照フレーム)の番号とを含む符号化情報を、動き補償部106とエントロピー符号化部110とに出力する。なお、サブマクロブロック毎に行う上記処理は一例であり、これに限定するものではない。   Then, the process for obtaining the motion vector for each sub macroblock is performed for each sub macroblock constituting the macroblock P. Then, the motion prediction unit 105 encodes a motion vector detected for each sub macroblock, a coding unit (in this case, a sub macroblock), and a frame (reference frame) number from which the sub macroblock T is extracted. Is output to the motion compensation unit 106 and the entropy encoding unit 110. Note that the above processing performed for each sub macroblock is an example, and the present invention is not limited to this.

また、上記説明した、マクロブロック毎に行う動き補償、サブマクロブロック毎に行う動き補償は周知の技術であるので、これ以上の説明は省略する。   Moreover, since the motion compensation performed for each macroblock and the motion compensation performed for each sub-macroblock described above are well-known techniques, further explanation is omitted.

次に、動き補償部106は、動き予測部105から上記符号化情報を受けると、この符号化情報に含められている参照フレーム番号に対応するフレームの画像を参照フレームバッファ114から取得する。そして、この取得したフレームの画像を参照して、各マクロブロック(サブマクロブロック)についての予測画像を生成する。そして係る予測画像はスイッチ部113に送出する。スイッチ部113は係る予測画像を加算器103に送出する。   Next, when receiving the encoding information from the motion prediction unit 105, the motion compensation unit 106 acquires an image of a frame corresponding to the reference frame number included in the encoding information from the reference frame buffer 114. Then, a predicted image for each macro block (sub macro block) is generated with reference to the acquired image of the frame. The predicted image is sent to the switch unit 113. The switch unit 113 sends the predicted image to the adder 103.

加算器103は、フレームバッファ101から入力される各マクロブロック(サブマクロブロック)と、対応する予測画像との差分量を予測誤差データとして求め、後段の直交変換部108に送出する。 The adder 103 obtains the difference amount between each macro block (sub macro block) input from the frame buffer 101 and the corresponding prediction image as prediction error data, and sends it to the orthogonal transform unit 108 at the subsequent stage.

直交変換部108は、予測誤差データが入力されると、これに対して周知の直交変換を施すことで直交変換係数を生成する。そして生成した直交変換係数を後段の量子化部109に送出する。   When the prediction error data is input, the orthogonal transform unit 108 performs a known orthogonal transform on the prediction error data to generate an orthogonal transform coefficient. Then, the generated orthogonal transform coefficient is sent to the quantization unit 109 in the subsequent stage.

量子化部109は、入力された直交変換係数に対して周知の量子化処理を行うことで量子化直交変換係数を生成し、後段のエントロピー符号化部110、逆量子化部111に送出する。   The quantization unit 109 generates a quantized orthogonal transform coefficient by performing a known quantization process on the input orthogonal transform coefficient, and sends the quantized orthogonal transform coefficient to the entropy encoding unit 110 and the inverse quantization unit 111 in the subsequent stage.

エントロピー符号化部110は、量子化部109から入力された量子化直交変換係数と、動き予測部105から入力された符号化情報とに基づいて周知のエントロピー符号化を行って圧縮ストリームに多重化し、外部に送出する。エントロピー符号化部110による係る一連の符号化処理についてはH.264に従ったものであるので、これに関する説明は省略する。   The entropy encoding unit 110 performs well-known entropy encoding based on the quantized orthogonal transform coefficient input from the quantization unit 109 and the encoded information input from the motion prediction unit 105, and multiplexes the compressed stream. , Send it out. A series of encoding processes performed by the entropy encoding unit 110 is described in H.264. Since this is in accordance with H.264, a description thereof will be omitted.

一方で逆量子化部111は、量子化部109から入力された量子化直交変換係数に対して逆量子化を施すことで直交変換係数を生成し、逆直交変換部112に送出する。   On the other hand, the inverse quantization unit 111 generates an orthogonal transform coefficient by performing inverse quantization on the quantized orthogonal transform coefficient input from the quantization unit 109, and sends the orthogonal transform coefficient to the inverse orthogonal transform unit 112.

逆直交変換部112は、逆量子化部111から入力された直交変換係数に対して逆直交変換を施すことで予測誤差データを生成し、加算器104に送出する。   The inverse orthogonal transform unit 112 generates prediction error data by performing inverse orthogonal transform on the orthogonal transform coefficient input from the inverse quantization unit 111, and sends the prediction error data to the adder 104.

加算器104は、逆直交変換部112から入力された予測誤差データと、スイッチ部113から入力された予測画像とを加算することでフレーム画像を生成する。そしてこのフレーム画像に対して不図示のループフィルタでフィルタリングした後、参照フレームバッファ114に送る。このフレーム画像が参照フレームバッファ114に格納され、以降の符号化処理で、参照フレームとして用いられる。また、動きベクトルや参照フレーム番号に関する情報も、参照フレーム画像に対する付加データとして、参照フレーム画像と共に参照フレームバッファ114に格納する。   The adder 104 adds the prediction error data input from the inverse orthogonal transform unit 112 and the prediction image input from the switch unit 113 to generate a frame image. The frame image is filtered by a loop filter (not shown) and then sent to the reference frame buffer 114. This frame image is stored in the reference frame buffer 114 and used as a reference frame in the subsequent encoding process. In addition, information regarding motion vectors and reference frame numbers is also stored in the reference frame buffer 114 together with the reference frame image as additional data for the reference frame image.

以上説明した一連の符号化処理について、図5に示したフローチャートを用いて説明する。図5は、符号化対象フレームにおけるマクロブロックPに対する符号化処理のフローチャートである。従って、図5のフローチャートに従った処理を、符号化対象フレームを構成する各マクロブロックについて行えば、この符号化対象フレームについて符号化を行うことができる。もちろん、符号化対象フレームについての係る符号化処理を、動画像を構成する各フレームについて行えば、この動画像全体を符号化することができる。   The series of encoding processes described above will be described using the flowchart shown in FIG. FIG. 5 is a flowchart of the encoding process for the macroblock P in the encoding target frame. Therefore, if the process according to the flowchart of FIG. 5 is performed for each macroblock constituting the encoding target frame, the encoding target frame can be encoded. Of course, if the encoding process for the encoding target frame is performed for each frame constituting the moving image, the entire moving image can be encoded.

先ずステップS501では、小ブロック化判定部102がフレームバッファ101から、符号化対象フレームにおける符号化対象マクロブロックとしてのマクロブロックPを取得する。   First, in step S <b> 501, the small block determination unit 102 acquires from the frame buffer 101 a macroblock P as an encoding target macroblock in the encoding target frame.

次にステップS502では小ブロック化判定部102は先ず、参照フレームバッファ114から、上記マクロブロックQを読み出す。そして次に小ブロック化判定部102は、マクロブロックPとマクロブロックQとの差分量Dを、上記式1に従って計算する。   Next, in step S502, the small block determination unit 102 first reads the macroblock Q from the reference frame buffer 114. Then, the small block determination unit 102 calculates the difference amount D between the macroblock P and the macroblock Q according to the above equation 1.

次にステップS503では、小ブロック化判定部102は、差分量Dと予め設定された閾値th1との大小比較を行う。係る大小比較の結果、D<th1である場合には処理をステップS504に進め、D≧th1の場合には処理をステップS506に進める。   In step S503, the small block determination unit 102 compares the difference amount D with a preset threshold th1. As a result of such size comparison, if D <th1, the process proceeds to step S504, and if D ≧ th1, the process proceeds to step S506.

ステップS504では、小ブロック化判定部102は「動き補償を行わない」と判断し、その判断結果を示す判断情報を動き予測部105に送出する。   In step S <b> 504, the small block determination unit 102 determines that “motion compensation is not performed” and sends determination information indicating the determination result to the motion prediction unit 105.

ステップS505では、動き予測部105は、「動き補償を行わない」という判定情報を受けたので、動き探索は行わず、動きベクトルなしを示す符号化情報を動き補償部106とエントロピー符号化部110とに出力する。   In step S505, since the motion prediction unit 105 has received the determination information “no motion compensation is performed”, no motion search is performed, and the motion compensation unit 106 and the entropy encoding unit 110 indicate encoded information indicating no motion vector. And output.

一方、ステップS506では小ブロック化判定部102は、差分量Dと閾値th1,そして閾値th1よりも大きい閾値th2との大小比較を行う。係る大小比較の結果、th1≦D<th2である場合には処理をステップS507に進め、D>th2の場合には処理をステップS510に進める。   On the other hand, in step S506, the small block determination unit 102 performs a size comparison between the difference amount D, the threshold th1, and the threshold th2 that is larger than the threshold th1. As a result of such size comparison, if th1 ≦ D <th2, the process proceeds to step S507, and if D> th2, the process proceeds to step S510.

ステップS507では、小ブロック化判定部102は、マクロブロックPに対する符号化単位を「マクロブロックP」と決定し、その決定結果を示す判断情報を動き予測部105に送出する。   In step S <b> 507, the small block determination unit 102 determines the coding unit for the macroblock P as “macroblock P”, and sends determination information indicating the determination result to the motion prediction unit 105.

ステップS508では動き予測部105は先ず、参照フレームバッファ114に格納されている過去の複数フレームの画像の中から、マクロブロックPに類似するマクロブロックRを検索する。そして、マクロブロックPとマクロブロックRとの間で、空間的な変位量である動きベクトルを検出する。   In step S <b> 508, the motion prediction unit 105 first searches the macro block R similar to the macro block P from the past plural frames of images stored in the reference frame buffer 114. Then, a motion vector that is a spatial displacement amount is detected between the macroblock P and the macroblock R.

ステップS509では動き予測部105は、検出された動きベクトルと、符号化単位(マクロブロックP)と、マクロブロックRを抽出したフレーム(参照フレーム)の番号とを含む符号化情報を、動き補償部106とエントロピー符号化部110とに出力する。   In step S509, the motion prediction unit 105 converts the encoded information including the detected motion vector, the encoding unit (macroblock P), and the frame (reference frame) number from which the macroblock R is extracted into the motion compensation unit. 106 and the entropy encoding unit 110.

一方、ステップS510ではD≧th2であるので、小ブロック化判定部102は、マクロブロックPに対する符号化単位を「マクロブロックPよりも小さい単位」と決定する。そして、係る決定結果を示す判断情報を動き予測部105に送出する。   On the other hand, since D ≧ th2 in step S510, the small block determination unit 102 determines that the encoding unit for the macroblock P is “a unit smaller than the macroblock P”. Then, determination information indicating the determination result is sent to the motion prediction unit 105.

ステップS511では先ず動き予測部105は、マクロブロックPを複数のサブマクロブロックに分割する。そしてそれぞれのサブマクロブロック(サブマクロブロックS)について以下の処理を行う。   In step S511, the motion prediction unit 105 first divides the macro block P into a plurality of sub macro blocks. Then, the following processing is performed for each sub macroblock (submacroblock S).

動き予測部105は先ず、参照フレームバッファ114に格納されている過去の複数フレームの画像の中から、サブマクロブロックSに類似するサブマクロブロックTを検索する。そして、サブマクロブロックSとサブマクロブロックTとの間で、空間的な変位量である動きベクトルを検出する。そしてこのような、サブマクロブロック毎の動きベクトルを求める処理を、マクロブロックPを構成する各サブマクロブロックについて行う。   First, the motion prediction unit 105 searches for a sub-macroblock T similar to the sub-macroblock S from a plurality of past frames stored in the reference frame buffer 114. Then, a motion vector that is a spatial displacement amount is detected between the sub-macroblock S and the sub-macroblock T. Then, the process for obtaining the motion vector for each sub macroblock is performed for each sub macroblock constituting the macroblock P.

ステップS512では動き予測部105は、各サブマクロブロックについて検出された動きベクトルと、符号化単位(サブマクロブロック)と、サブマクロブロックTを抽出したフレーム(参照フレーム)の番号とを含む符号化情報を生成する。そしてこの生成した符号化情報を動き補償部106とエントロピー符号化部110とに出力する。   In step S512, the motion prediction unit 105 performs encoding including a motion vector detected for each sub macroblock, an encoding unit (sub macroblock), and a frame (reference frame) number from which the sub macroblock T is extracted. Generate information. Then, the generated encoded information is output to the motion compensation unit 106 and the entropy encoding unit 110.

そして、上記ステップS505,S509,S512の何れのステップの後でも、処理をステップS513に進める。   Then, after any of steps S505, S509, and S512, the process proceeds to step S513.

ステップS513では動き補償部106は先ず、動き予測部105から受けた符号化情報に含められている参照フレーム番号に対応するフレームの画像を参照フレームバッファ114から取得する。そして動き補償部106は、この取得したフレームの画像を参照して、各マクロブロック(サブマクロブロック)についての予測画像を生成する。そして係る予測画像はスイッチ部113に送出する。スイッチ部113は係る予測画像を加算器103に送出する。   In step S513, the motion compensation unit 106 first acquires an image of a frame corresponding to the reference frame number included in the encoded information received from the motion prediction unit 105 from the reference frame buffer 114. Then, the motion compensation unit 106 generates a prediction image for each macro block (sub macro block) with reference to the acquired image of the frame. The predicted image is sent to the switch unit 113. The switch unit 113 sends the predicted image to the adder 103.

次にステップS514では加算器103は、フレームバッファ101から入力されるマクロブロックP(サブマクロブロックS)と、対応する予測画像との差分量を予測誤差データとして求め、後段の直交変換部108に送出する。 Next, in step S514 the adder 103, a macro block P (sub-macroblock S) inputted from the frame buffer 1 01 calculates a difference amount between corresponding predicted image as the prediction error data, the subsequent orthogonal transformation unit 108 To send.

ステップS515では直交変換部108は、予測誤差データに対して周知の直交変換を施すことで直交変換係数を生成する。そして生成した直交変換係数を後段の量子化部109に送出する。   In step S515, the orthogonal transform unit 108 generates an orthogonal transform coefficient by performing known orthogonal transform on the prediction error data. Then, the generated orthogonal transform coefficient is sent to the quantization unit 109 in the subsequent stage.

ステップS516では量子化部109は、入力された直交変換係数に対して周知の量子化処理を行うことで量子化直交変換係数を生成し、後段のエントロピー符号化部110、逆量子化部111に送出する。   In step S516, the quantization unit 109 generates a quantized orthogonal transform coefficient by performing a known quantization process on the input orthogonal transform coefficient, and sends the quantized orthogonal transform coefficient to the entropy encoding unit 110 and the inverse quantization unit 111 in the subsequent stage. Send it out.

ステップS517ではエントロピー符号化部110は、量子化部109から入力された量子化直交変換係数と、動き予測部105から入力された符号化情報とに基づいて周知のエントロピー符号化を行って圧縮ストリームに多重化する。そしてステップS518でこれを外部に送出する。   In step S517, the entropy encoding unit 110 performs well-known entropy encoding based on the quantized orthogonal transform coefficient input from the quantization unit 109 and the encoded information input from the motion prediction unit 105, and generates a compressed stream. To multiplex. In step S518, this is sent to the outside.

ステップS519では逆量子化部111は、量子化部109から入力された量子化直交変換係数に対して逆量子化を施すことで直交変換係数を生成し、逆直交変換部112に送出する。   In step S519, the inverse quantization unit 111 performs inverse quantization on the quantized orthogonal transform coefficient input from the quantization unit 109 to generate an orthogonal transform coefficient, and sends the orthogonal transform coefficient to the inverse orthogonal transform unit 112.

ステップS520では逆直交変換部112は、逆量子化部111から入力された直交変換係数に対して逆直交変換を施すことで予測誤差データを生成し、加算器104に送出する。   In step S <b> 520, the inverse orthogonal transform unit 112 generates prediction error data by performing inverse orthogonal transform on the orthogonal transform coefficient input from the inverse quantization unit 111, and sends the prediction error data to the adder 104.

ステップS521では加算器104は、逆直交変換部112から入力された予測誤差データと、スイッチ部113から入力された予測画像とを加算することでフレーム画像を生成する。   In step S521, the adder 104 generates a frame image by adding the prediction error data input from the inverse orthogonal transform unit 112 and the predicted image input from the switch unit 113.

ステップS522ではこのフレーム画像に対して不図示のループフィルタでフィルタリングした後、参照フレームバッファ114に格納する。また、動きベクトルや参照フレーム番号に関する情報も、参照フレーム画像に対する付加データとして、参照フレーム画像と共に参照フレームバッファ114に格納する。   In step S522, the frame image is filtered by a loop filter (not shown) and stored in the reference frame buffer 114. In addition, information regarding motion vectors and reference frame numbers is also stored in the reference frame buffer 114 together with the reference frame image as additional data for the reference frame image.

以上の説明により、本実施形態によれば、最適なブロックサイズの組み合わせ選択する前に、動き補償予測を行うか否か、行う場合にはその符号化の単位を決定することができるため、入力される画像によって大幅に処理量を低減する事が可能となる。   As described above, according to the present embodiment, it is possible to determine whether or not to perform motion compensation prediction before selecting an optimal combination of block sizes, and in that case, to determine the encoding unit. Depending on the image to be processed, the processing amount can be greatly reduced.

例えば、固定したカメラで撮影した背景画像のように、ほとんど動きのない画像ブロックの場合には、符号化対象フレームと従前のフレームとの差分量が極めて小いので、小ブロックでの動き補償は行わない。これにより、処理量を削減できる。   For example, in the case of an image block with little motion, such as a background image taken with a fixed camera, the amount of difference between the encoding target frame and the previous frame is extremely small, so motion compensation with a small block is not possible. Not performed. Thereby, the processing amount can be reduced.

[第2の実施形態]
図1に示した各部の一部若しくは全部をソフトウェアでもって実現し、残りをハードウェアでもって実現しても良い。この場合、例えば、このハードウェアをパーソナルコンピュータに挿入可能な機能拡張カードとして実現し、この機能拡張カードをパーソナルコンピュータに挿入する。また、このソフトウェアは、このパーソナルコンピュータが有するメモリ上に格納する。係る構成によれば、パーソナルコンピュータが有するCPUがこのソフトウェアを実行すると共に、この機能拡張カードの動作制御をも行うことにより、第1の実施形態で説明した処理(図5のフローチャートに従った処理)と同様の処理を行うことができる。
[Second Embodiment]
1 may be realized by software, and the rest may be realized by hardware. In this case, for example, the hardware is realized as a function expansion card that can be inserted into a personal computer, and the function expansion card is inserted into the personal computer. The software is stored on a memory included in the personal computer. According to such a configuration, the CPU included in the personal computer executes this software and also controls the operation of the function expansion card, whereby the processing described in the first embodiment (processing according to the flowchart of FIG. 5). ) Can be performed.

図6は、このコンピュータのハードウェア構成を示すブロック図である。   FIG. 6 is a block diagram showing the hardware configuration of this computer.

601はCPUで、RAM602やROM603に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行う。   Reference numeral 601 denotes a CPU which controls the entire computer using programs and data stored in the RAM 602 and ROM 603.

602はRAMで、外部記憶装置606からロードされたプログラムやデータ、I/F(インターフェース)607を介して外部から受信したプログラムやデータを一時的に記憶するためのエリアを有する。更には、CPU601が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM602は各種のエリアを適宜提供することができる。   A RAM 602 has an area for temporarily storing programs and data loaded from the external storage device 606 and programs and data received from the outside via an I / F (interface) 607. Furthermore, it has a work area used when the CPU 601 executes various processes. That is, the RAM 602 can provide various areas as appropriate.

603はROMで、本コンピュータの設定データやブートプログラムなどを格納する。   Reference numeral 603 denotes a ROM which stores setting data and a boot program for the computer.

604は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU601に対して入力することができる。   An operation unit 604 includes a keyboard and a mouse, and various instructions can be input to the CPU 601 by an operator of the computer.

605は表示部で、CRTや液晶画面などにより構成されており、CPU601による処理結果を画像や文字などでもって表示することができる。   A display unit 605 includes a CRT, a liquid crystal screen, and the like, and can display a processing result by the CPU 601 using an image, text, or the like.

606は外部記憶装置で、ハードディスクなどに代表される大容量情報記憶装置であって、ここにはOS(オペレーティングシステム)や、本コンピュータが行う各種の処理をCPU601に実行させるためのプログラムやデータ等が保存される。このプログラムやデータには、上記ソフトウェアや、機能拡張カード608の動作制御プログラムなども含まれる。また、外部記憶装置606には、符号化対象の1以上の動画像ファイルや、I/F607を介して外部から受信したプログラムやデータも保存される。   Reference numeral 606 denotes an external storage device, which is a large-capacity information storage device represented by a hard disk or the like. Here, an OS (operating system), programs and data for causing the CPU 601 to execute various processes performed by the computer, and the like. Is saved. The program and data include the above-described software and the operation control program for the function expansion card 608. The external storage device 606 also stores one or more moving image files to be encoded, and programs and data received from the outside via the I / F 607.

外部記憶装置606に保存されている各種の情報はCPU601による制御に従って適宜RAM602にロードされる。そしてCPU601がこのロードされたプログラムやデータを用いて処理を実行することにより、本コンピュータは第1の実施形態で説明したフレーム間動き補償による符号化処理を実行することができる。   Various types of information stored in the external storage device 606 are appropriately loaded into the RAM 602 under the control of the CPU 601. The CPU 601 executes processing using the loaded program and data, so that the computer can execute the encoding processing based on inter-frame motion compensation described in the first embodiment.

607はI/Fで、本コンピュータをLANやインターネット等のネットワークに接続するためのものである。例えば、このネットワークに、動画像ファイルを保持する装置が接続されている場合には、本コンピュータはこのI/F607を介してこの装置から動画像ファイルを取得することができる。   Reference numeral 607 denotes an I / F for connecting the computer to a network such as a LAN or the Internet. For example, when a device that holds a moving image file is connected to the network, the computer can acquire a moving image file from the device via the I / F 607.

608は機能拡張カードで、例えば、取得した動画像ファイルに対してフレーム間動き補償による符号化処理の一部若しくは全部を行う処理ボードである。   Reference numeral 608 denotes a function expansion card, which is, for example, a processing board that performs part or all of the encoding processing by inter-frame motion compensation on the acquired moving image file.

609は上述の各部を繋ぐバスである。   Reference numeral 609 denotes a bus connecting the above-described units.

[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
[Other Embodiments]
Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded is supplied to the system or apparatus. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.

また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, an operating system (OS) or the like running on the computer performs part or all of the actual processing based on the instruction of the program code. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, it is assumed that the program code read from the recording medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU included in the function expansion card or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.

本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.

本発明の第1の実施形態に係る画像符号化装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the image coding apparatus which concerns on the 1st Embodiment of this invention. 動きベクトルの割り当てについて示す図である。It is a figure shown about allocation of a motion vector. マクロブロック内の動きベクトルについて示す図である。It is a figure shown about the motion vector in a macroblock. マクロブロックと小ブロックについて説明する図であるIt is a figure explaining a macroblock and a small block 符号化対象フレームにおけるマクロブロックPに対する符号化処理のフローチャートである。It is a flowchart of the encoding process with respect to the macroblock P in an encoding object frame. コンピュータのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a computer.

Claims (6)

動画像を構成する各フレームの画像データを符号化する画像符号化装置であって、
符号化対象フレームの画像データをマクロブロック毎に入力する入力手段と、
前記符号化対象フレームよりも過去に入力した複数フレームの画像データを、複数の参照フレームの画像データとして記憶する格納手段と、
前記符号化対象フレームにおける符号化対象マクロブロックと、前記符号化対象フレーム内の前記符号化対象マクロブロックの位置に対応する前記参照フレーム内の位置におけるマクロブロックと、の間の画素値の差分量を求める計算手段と、
予め設定された第1の閾値及び該第1の閾値よりも大きい第2の閾値と、前記差分量とを比較することで前記符号化対象マクロブロックに対する符号化内容を決定する決定手段であって、
前記差分量が前記第1の閾値未満である場合、前記符号化対象マクロブロックを、動き補償を行わないブロックに決定し、
前記差分量が前記第1の閾値以上かつ前記第2の閾値未満である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定し、
前記差分量が前記第2の閾値以上である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定する前記決定手段と、
前記決定手段が前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックと類似するマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、該検索したマクロブロックと前記符号化対象マクロブロックとの間で検出された動きベクトルを用いてマクロブロック単位での動き補償を行って前記符号化対象マクロブロックを符号化する第1の符号化手段と、
前記決定手段が前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックを複数のサブマクロブロックに分割し、分割したそれぞれのサブマクロブロックと類似するサブマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、前記分割したそれぞれのサブマクロブロックについて検索したサブマクロブロックと前記分割したそれぞれのサブマクロブロックとの間で検出された動きベクトルを用いてサブマクロブロック単位での動き補償を行って前記分割したそれぞれのサブマクロブロックを符号化する第2の符号化手段と、
前記決定手段が前記符号化対象マクロブロックを、動き補償を行わないブロックに決定した場合には、前記符号化対象マクロブロックの動き探索を行わずに、動きベクトルなしを示す情報を符号化する第3の符号化手段と
を備えることを特徴とする画像符号化装置。
An image encoding device that encodes image data of each frame constituting a moving image,
Input means for inputting the image data of the encoding target frame for each macroblock;
Storage means for storing, as image data of a plurality of reference frames, image data of a plurality of frames input in the past from the encoding target frame;
Difference amount of pixel value between encoding target macroblock in encoding target frame and macroblock at position in reference frame corresponding to position of encoding target macroblock in encoding target frame A calculation means for obtaining
A determination unit that determines an encoding content for the encoding target macroblock by comparing the difference amount with a first threshold value set in advance and a second threshold value that is larger than the first threshold value. And
When the difference amount is less than the first threshold, the encoding target macroblock is determined as a block for which motion compensation is not performed,
If the difference amount is greater than or equal to the first threshold and less than the second threshold, the encoding target macroblock is determined as a block that performs motion compensation without being divided into sub-macroblocks;
If the difference amount is greater than or equal to the second threshold value, and said determining means for determining the block for motion compensation the encoded macroblock, after divided into sub-macroblock,
When the determining unit determines that the encoding target macroblock is a block that performs motion compensation without being divided into sub-macroblocks, a macroblock similar to the encoding target macroblock is determined as the plurality of reference frames. Each of the image data is subjected to motion compensation in units of macroblocks using motion vectors detected between the searched macroblock and the encoding target macroblock, and the encoding target macroblock is determined. First encoding means for encoding;
When the determination unit determines the block to be subjected to motion compensation after dividing the encoding target macroblock into sub-macroblocks, the encoding target macroblock is divided into a plurality of sub-macroblocks and divided. Submacroblocks similar to the respective submacroblocks are searched from the respective image data of the plurality of reference frames, and the submacroblocks searched for the respective divided submacroblocks and the respective divided submacroblocks Second encoding means for encoding each of the divided sub-macroblocks by performing motion compensation in units of sub-macroblocks using motion vectors detected between
When the determination unit determines the encoding target macroblock to be a block that does not perform motion compensation, the information indicating no motion vector is encoded without performing a motion search of the encoding target macroblock. 3. An image encoding device comprising: 3 encoding means.
前記計算手段は、前記符号化対象マクロブロックと、前記符号化対象フレーム内で前記符号化対象マクロブロックの位置に対応する前記参照フレーム内の位置におけるマクロブロックとで、画素値の差分の絶対値を全ての画素について合計した結果を前記差分量として求めることを特徴とする請求項1に記載の画像符号化装置。   The calculation means includes an absolute value of a pixel value difference between the encoding target macroblock and a macroblock at a position in the reference frame corresponding to a position of the encoding target macroblock in the encoding target frame. The image encoding apparatus according to claim 1, wherein a result of summing up all the pixels is obtained as the difference amount. 前記符号化手段による符号化は、H.264によるフレーム間動き補償の符号化であることを特徴とする請求項1又は2に記載の画像符号化装置。   The encoding by the encoding means is H.264. The image encoding apparatus according to claim 1, wherein the image encoding apparatus is an inter-frame motion compensation encoding according to H.264. 動画像を構成する各フレームの画像データを符号化する画像符号化装置が行う画像符号化方法であって、
符号化対象フレームの画像データをマクロブロック毎に入力する入力工程と、
前記符号化対象フレームよりも過去に入力した複数フレームの画像データを、複数の参照フレームの画像データとして記憶する工程と、
前記符号化対象フレームにおける符号化対象マクロブロックと、前記符号化対象フレーム内の前記符号化対象マクロブロックの位置に対応する前記参照フレーム内の位置におけるマクロブロックと、の間の画素値の差分量を求める計算工程と、
予め設定された第1の閾値及び該第1の閾値よりも大きい第2の閾値と、前記差分量とを比較することで前記符号化対象マクロブロックに対する符号化内容を決定する決定工程であって、
前記差分量が前記第1の閾値未満である場合、前記符号化対象マクロブロックを、動き補償を行わないブロックに決定し、
前記差分量が前記第1の閾値以上かつ前記第2の閾値未満である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定し、
前記差分量が前記第2の閾値以上である場合、前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定する前記決定工程と、
前記決定工程で前記符号化対象マクロブロックを、サブマクロブロックに分割せずに動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックと類似するマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、該検索したマクロブロックと前記符号化対象マクロブロックとの間で検出された動きベクトルを用いてマクロブロック単位での動き補償を行って前記符号化対象マクロブロックを符号化する第1の符号化工程と、
前記決定工程で前記符号化対象マクロブロックを、サブマクロブロックに分割してから動き補償を行うブロックに決定した場合には、前記符号化対象マクロブロックを複数のサブマクロブロックに分割し、分割したそれぞれのサブマクロブロックと類似するサブマクロブロックを、前記複数の参照フレームのそれぞれの画像データから検索し、前記分割したそれぞれのサブマクロブロックについて検索したサブマクロブロックと前記分割したそれぞれのサブマクロブロックとの間で検出された動きベクトルを用いてサブマクロブロック単位での動き補償を行って前記分割したそれぞれのサブマクロブロックを符号化する第2の符号化工程と、
前記決定工程で前記符号化対象マクロブロックを、動き補償を行わないブロックに決定した場合には、前記符号化対象マクロブロックの動き探索を行わずに、動きベクトルなしを示す情報を符号化する第3の符号化工程と
を備えることを特徴とする画像符号化方法。
An image encoding method performed by an image encoding device that encodes image data of each frame constituting a moving image,
An input step of inputting image data of the encoding target frame for each macroblock;
Storing image data of a plurality of frames input in the past from the encoding target frame as image data of a plurality of reference frames;
Difference amount of pixel value between encoding target macroblock in encoding target frame and macroblock at position in reference frame corresponding to position of encoding target macroblock in encoding target frame A calculation process for obtaining
This is a determination step of determining the encoding content for the encoding target macroblock by comparing the difference amount with a first threshold value set in advance and a second threshold value larger than the first threshold value. And
When the difference amount is less than the first threshold, the encoding target macroblock is determined as a block for which motion compensation is not performed,
If the difference amount is greater than or equal to the first threshold and less than the second threshold, the encoding target macroblock is determined as a block that performs motion compensation without being divided into sub-macroblocks;
If the difference amount is greater than or equal to the second threshold value, the encoding target macro-blocks, and the determination step of determining a block to be motion-compensated from divided into sub-macroblock,
If the encoding target macroblock is determined to be a block that performs motion compensation without being divided into sub-macroblocks in the determining step, a macroblock similar to the encoding target macroblock is determined as the plurality of reference frames. Each of the image data is subjected to motion compensation in units of macroblocks using motion vectors detected between the searched macroblock and the encoding target macroblock, and the encoding target macroblock is determined. A first encoding step for encoding;
In the determination step, when the encoding target macroblock is determined to be a block to be subjected to motion compensation after being divided into sub macroblocks, the encoding target macroblock is divided into a plurality of submacroblocks and divided. Submacroblocks similar to the respective submacroblocks are searched from the respective image data of the plurality of reference frames, and the submacroblocks searched for the respective divided submacroblocks and the respective divided submacroblocks A second encoding step of encoding each of the divided sub-macroblocks by performing motion compensation in units of sub-macroblocks using motion vectors detected between
When the encoding target macroblock is determined as a block for which motion compensation is not performed in the determining step, information indicating no motion vector is encoded without performing a motion search for the encoding target macroblock. And an encoding step. 3. An image encoding method comprising:
コンピュータを、請求項1乃至3の何れか1項に記載の画像符号化装置として機能させるためのコンピュータプログラム。   A computer program for causing a computer to function as the image encoding device according to any one of claims 1 to 3. 請求項5に記載のプログラムを格納した、コンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 5.
JP2006269016A 2006-07-06 2006-09-29 Image coding apparatus and image coding method Expired - Fee Related JP4906458B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006269016A JP4906458B2 (en) 2006-09-29 2006-09-29 Image coding apparatus and image coding method
US11/772,630 US8270490B2 (en) 2006-07-06 2007-07-02 Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program
US13/600,466 US9264735B2 (en) 2006-07-06 2012-08-31 Image encoding apparatus and method for allowing motion vector detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006269016A JP4906458B2 (en) 2006-09-29 2006-09-29 Image coding apparatus and image coding method

Publications (3)

Publication Number Publication Date
JP2008092150A JP2008092150A (en) 2008-04-17
JP2008092150A5 JP2008092150A5 (en) 2009-11-12
JP4906458B2 true JP4906458B2 (en) 2012-03-28

Family

ID=39375838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006269016A Expired - Fee Related JP4906458B2 (en) 2006-07-06 2006-09-29 Image coding apparatus and image coding method

Country Status (1)

Country Link
JP (1) JP4906458B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2373034A4 (en) * 2008-12-08 2012-11-21 Sharp Kk Image encoder and image decoder
KR101487686B1 (en) * 2009-08-14 2015-01-30 삼성전자주식회사 Method and apparatus for video encoding, and method and apparatus for video decoding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2716703B2 (en) * 1987-09-22 1998-02-18 富士通株式会社 Variable block size motion compensation method
JPH0832969A (en) * 1994-07-12 1996-02-02 Canon Inc Motion vector detector
JPH1051788A (en) * 1996-08-05 1998-02-20 Nippon Hoso Kyokai <Nhk> Device and method for estimating dynamic image motion, and recording medium recording dynamic image motion estimate control program
US6529634B1 (en) * 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
JP3560946B2 (en) * 2000-11-01 2004-09-02 株式会社オフィスノア Moving image information compression method and system
JP3968774B2 (en) * 2002-01-08 2007-08-29 ソニー株式会社 Information processing apparatus, information processing method, recording medium, and program
JP2003284091A (en) * 2002-03-25 2003-10-03 Toshiba Corp Motion picture coding method and motion picture coding apparatus
JP2005268879A (en) * 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd Image coding method and apparatus thereof

Also Published As

Publication number Publication date
JP2008092150A (en) 2008-04-17

Similar Documents

Publication Publication Date Title
JP4898467B2 (en) Coding mode determination method and apparatus for variable block size motion prediction
KR101471831B1 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
JP5111127B2 (en) Moving picture coding apparatus, control method therefor, and computer program
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
JP4519933B2 (en) Moving picture coding apparatus and moving picture coding method
US20090060045A1 (en) Moving picture encoding apparatus and moving picture encoding method
US9332275B2 (en) Methods, apparatuses, and programs for encoding and decoding picture
JP2009509403A (en) Integrated space-time prediction method
KR20170045013A (en) Apparatus and method for encoding data
JP2008017305A (en) Image processor and processing method
JP4074868B2 (en) Image coding control method and apparatus
JP4732184B2 (en) Moving picture encoding apparatus and control method therefor, computer program, and storage medium
JP2009118233A (en) Moving image encoding apparatus and decoding apparatus
JP2004215275A (en) Motion compensation based improved noise prediction method and apparatus, and moving image encoding method and apparatus using the same
JP4922101B2 (en) Information processing apparatus and inter prediction mode determination method
JP4906458B2 (en) Image coding apparatus and image coding method
JP5111128B2 (en) Encoding apparatus, encoding apparatus control method, and computer program
KR100771640B1 (en) H.264 encoder having a fast mode determinning function
JP2005244749A (en) Dynamic image encoding device
JP2008053848A (en) Image processor and image processing method
JP2013121044A (en) Image encoder and image encoding method
JP5171658B2 (en) Image encoding device
JP4857243B2 (en) Image encoding apparatus, control method therefor, and computer program
JP4253572B2 (en) Image coding apparatus, image coding method, and image coding program
JP2008263549A (en) Moving image encoder and moving image encoding method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090929

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110826

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: 20120106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4906458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees