JP2007036889A - Coding method - Google Patents

Coding method Download PDF

Info

Publication number
JP2007036889A
JP2007036889A JP2005219592A JP2005219592A JP2007036889A JP 2007036889 A JP2007036889 A JP 2007036889A JP 2005219592 A JP2005219592 A JP 2005219592A JP 2005219592 A JP2005219592 A JP 2005219592A JP 2007036889 A JP2007036889 A JP 2007036889A
Authority
JP
Japan
Prior art keywords
motion vector
global
region
unit
motion
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.)
Withdrawn
Application number
JP2005219592A
Other languages
Japanese (ja)
Inventor
Shigeyuki Okada
茂之 岡田
Masaru Matsuda
優 松田
Hideki Yamauchi
英樹 山内
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005219592A priority Critical patent/JP2007036889A/en
Priority to US11/494,619 priority patent/US20070025442A1/en
Publication of JP2007036889A publication Critical patent/JP2007036889A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a coding technique of motion images which has high coding efficiency and can perform high-accuracy motion prediction. <P>SOLUTION: A region setting section 64 sets a plurality of global regions on a frame image, and a bit number adjuster 62 adjusts the number of bits of local motion vectors LMV to be obtained in a global region. A local motion vector detector 66 obtains a local motion vector LMV by macroblock units at the number of bits adjusted by the bit number adjuster 62 in each global region. A large region motion vector calculator 68 calculates a global motion vector GMV indicating large region motion in each global region. A local motion vector difference coder 72 obtains and codes a difference ΔLMV between the local motion vector LMV and the global motion vector GMV in the global region for each global region. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、動画像を符号化する符号化方法に関する。   The present invention relates to an encoding method for encoding a moving image.

ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、DVDなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、MPEG4の規格やH.264/AVC規格がある。また、1つのストリームにおいて高画質のストリームと低画質のストリームを併せもつSVCのような次世代画像圧縮技術がある。   Broadband networks are rapidly developing, and there are high expectations for services that use high-quality moving images. In addition, a large-capacity recording medium such as a DVD is used, and a user group who enjoys high-quality images is expanding. There is compression coding as an indispensable technique for transmitting moving images via a communication line or storing them in a recording medium. As an international standard for moving image compression coding technology, the MPEG4 standard and H.264 standard. There is a H.264 / AVC standard. There is a next-generation image compression technology such as SVC that has both a high-quality stream and a low-quality stream in one stream.

高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。   When streaming a high-resolution moving image or storing it in a recording medium, it is necessary to increase the compression rate of the moving image stream so as not to compress the communication band or increase the storage capacity. In order to enhance the compression effect of moving images, motion compensation interframe predictive coding is performed. In motion-compensated interframe predictive coding, the encoding target frame is divided into blocks, the motion from a reference frame that has already been encoded is predicted for each block, a motion vector is detected, and motion vector information is encoded along with the difference image. Turn into.

特許文献1には、フレーム内符号化、通常の動き補償、グローバル動きベクトルを用いた各種の動き補償の中から、最も符号化効率が高い方式を選択する動画像符号化技術が開示されている。
特開2003−299101号公報
Patent Document 1 discloses a moving image coding technique that selects a method with the highest coding efficiency from among various types of motion compensation using intra-frame coding, normal motion compensation, and global motion vectors. .
JP 2003-299101 A

H.264/AVC規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を1/4画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるSVC(Scalable Video Coding)では、時間的スケーラビリティを高めるために、MCTF(Motion Compensated Temporal Filtering、動き補償時間方向フィルタ)技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。   H. In the H.264 / AVC standard, in order to perform more detailed prediction in motion compensation, the block size of motion compensation can be made variable, and the pixel accuracy of motion compensation can be reduced to ¼ pixel accuracy. Therefore, the amount of code related to the motion vector increases. In addition, in SVC (Scalable Video Coding), which is a next-generation image compression technology, MCTF (Motion Compensated Temporal Filtering) technology is being studied in order to improve temporal scalability. This is a combination of subband division in the time axis direction and motion compensation. Since hierarchical motion compensation is performed, information on motion vectors becomes very large. As described above, the recent video compression coding technology tends to increase the data amount of the entire video stream due to an increase in the amount of information related to motion vectors, and there is a further demand for a technology for reducing the amount of codes resulting from motion vector information. ing.

本発明はこうした状況に鑑みてなされたもので、その目的は、符号化効率が高く、また、精度の高い動き予測を行うことのできる動画像の符号化技術を提供することにある。   The present invention has been made in view of such circumstances, and an object of the present invention is to provide a moving picture coding technique that has high coding efficiency and can perform highly accurate motion prediction.

上記課題を解決するために、本発明のある態様の符号化方法は、動画像を構成するピクチャであって、ピクチャ間予測符号化されるピクチャ上に複数の領域を定義し、領域毎に動きベクトルの符号化の条件を設定する。   In order to solve the above-described problem, an encoding method according to an aspect of the present invention is a picture constituting a moving image, wherein a plurality of areas are defined on a picture to be subjected to inter-picture prediction encoding, and motion is performed for each area. Sets the conditions for vector encoding.

「ピクチャ」は、フレーム、フィールド、VOP(Video Object Plane)などを含む符号化の単位である。   A “picture” is an encoding unit including a frame, a field, a VOP (Video Object Plane), and the like.

この態様によると、領域毎に動きベクトルの符号化の条件を異ならせて動画像の符号化を行うことができる。   According to this aspect, it is possible to encode a moving image with different motion vector encoding conditions for each region.

前記動きベクトルの符号化の条件は、動き補償の画素精度に関する条件であってもよく、あるいは動きベクトルが取りうる最大値に関する条件であってもよく、あるいはこれらの条件を組み合わせたものであってもよい。これによれば、領域毎に動き補償の画素精度および動きベクトルが取りうる最大値の内、少なくとも1つを異ならせて動画像の符号化を行うことができる。また、これらの符号化の条件を領域毎に可変にすることで最適化した動画像の符号化データを生成することができる。   The motion vector encoding condition may be a condition relating to pixel accuracy of motion compensation, a condition relating to a maximum value that the motion vector can take, or a combination of these conditions. Also good. According to this, it is possible to encode a moving image by changing at least one of the pixel accuracy of motion compensation and the maximum value that can be taken by the motion vector for each region. Also, by making these encoding conditions variable for each region, it is possible to generate optimized encoded data of a moving image.

前記動きベクトルの符号化の条件をその条件が設定された各領域に対応させて前記動画像の符号化データに含めてもよい。これにより符号化された動画像を復号する際に、各領域を符号化したときの各種条件を参照して、復号処理を行うことができる。   The motion vector encoding condition may be included in the encoded data of the moving image in association with each region in which the condition is set. Thus, when decoding the encoded moving image, the decoding process can be performed with reference to various conditions when each region is encoded.

前記領域毎に動き補償の画素精度および動きベクトルが取りうる最大値の内、少なくとも1つを調整した上で前記複数の領域の各々において動きベクトルを求め、求められた前記動きベクトルを符号化して前記符号化データに含めてもよい。   A motion vector is determined in each of the plurality of regions after adjusting at least one of the pixel accuracy of motion compensation and the maximum value that the motion vector can take for each region, and the obtained motion vector is encoded. It may be included in the encoded data.

前記領域毎に動き補償の画素精度を変えることにより、その領域内で求めるべき動きベクトルに割り当てられるビット数を調整してもよい。これによれば、領域毎に要求される動き補償の画素精度が異なる場合に、要求される画素精度に応じて動きベクトルのビット数を調整することができ、動きベクトルの符号量を削減することができる。   By changing the pixel accuracy of motion compensation for each region, the number of bits allocated to the motion vector to be obtained in the region may be adjusted. According to this, when the pixel accuracy of motion compensation required for each region is different, the number of bits of the motion vector can be adjusted according to the required pixel accuracy, and the code amount of the motion vector can be reduced. Can do.

前記領域毎に前記動きベクトルが取りうる最大値を変えることにより、その領域内で求めるべき動きベクトルに割り当てられるビット数を調整してもよい。前記領域毎の動き探索範囲の広狭に応じて前記動きベクトルが取りうる最大値を変えてもよい。これによれば、領域毎に動きの大きさに違いがある場合に、動きの大きさに応じて動きベクトルに割り当てるビット数を調整することができ、動きベクトルの符号量を削減することができる。   By changing the maximum value that the motion vector can take for each region, the number of bits allocated to the motion vector to be obtained in the region may be adjusted. The maximum value that the motion vector can take may be changed according to the width of the motion search range for each region. According to this, when there is a difference in the magnitude of motion for each region, the number of bits allocated to the motion vector can be adjusted according to the magnitude of the motion, and the amount of motion vector code can be reduced. .

本発明の別の態様は、符号化装置である。この装置は、動画像のピクチャ間予測符号化されるピクチャ上に複数の領域を設定する領域設定部と、前記領域毎に動き補償の画素精度および動きベクトルが取りうる最大値の内、少なくとも1つを調整する調整部と、前記調整部による調整結果にもとづいて、前記複数の領域の各々において動きベクトルを求める動きベクトル検出部と、求められた前記動きベクトルを符号化する動きベクトル符号化部とを含む。   Another aspect of the present invention is an encoding device. The apparatus includes a region setting unit that sets a plurality of regions on a picture that is inter-picture predictively encoded in a moving image, and at least one of the maximum value that can be taken by the pixel accuracy of motion compensation and a motion vector for each region. An adjustment unit that adjusts a motion vector, a motion vector detection unit that obtains a motion vector in each of the plurality of regions based on an adjustment result by the adjustment unit, and a motion vector encoding unit that encodes the obtained motion vector Including.

本発明のさらに別の態様は、動画像ストリームのデータ構造である。この動画像ストリームのデータ構造は、動画像のピクチャが符号化された動画像ストリームのデータ構造であって、ピクチャ間予測符号化されるピクチャ上に定義された複数の領域毎に動き補償の画素精度および動きベクトルが取りうる最大値の内、少なくとも1つが調整された上で前記領域単位で求められた動きベクトルが前記ピクチャ間予測符号化されるピクチャともに符号化されてなる。   Yet another aspect of the present invention is a data structure of a moving image stream. The data structure of the moving picture stream is a data structure of a moving picture stream in which a picture of a moving picture is encoded, and a motion compensation pixel for each of a plurality of areas defined on a picture to be subjected to inter-picture prediction encoding. The motion vector obtained by the region unit after the accuracy and at least one of the maximum values that the motion vector can take is adjusted, and is encoded together with the picture to be inter-predictively encoded.

この態様によると、領域毎に動き補償の画素精度もしくは動きベクトルが取りうる最大値、あるいはそれら両方が調整された上で、動きベクトルが領域毎に求められて符号化されているため、動きベクトルが最適化された動画ストリームを提供することができる。   According to this aspect, since the motion vector is obtained and encoded for each region after adjusting the pixel accuracy of motion compensation and / or the maximum value that the motion vector can take for each region, the motion vector Can provide an optimized video stream.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明によれば、動画像の符号化効率を向上することができる。   According to the present invention, it is possible to improve the encoding efficiency of moving images.

図1は、実施の形態に係る符号化装置100の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。   FIG. 1 is a configuration diagram of an encoding apparatus 100 according to an embodiment. These configurations can be realized in hardware by a CPU, memory, or other LSI of an arbitrary computer, and in software, it is realized by a program having an image encoding function loaded in the memory. Here, functional blocks realized by the cooperation are depicted. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.

本実施の形態の符号化装置100は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。   The encoding apparatus 100 according to the present embodiment includes an MPEG (Moving Picture Experts Group) series standard (MPEG-1, MPEG, standardized by ISO (International Organization for Standardization) / IEC (International Electrotechnical Commission)). -2 and MPEG-4), standardized by ITU-T (International Telecommunication Union-Telecommunication Standardization Sector), which is an international standard organization for telecommunications. 26x series standards (H.261, H.262 and H.263), or H.264, the latest video compression coding standard standardized jointly by both standards organizations. H.264 / AVC (official recommendation names in both organizations are MPEG-4 Part 10: Advanced Video Coding and H.264 respectively).

MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。   In the MPEG series standard, an image frame for intra-frame encoding is an I (Intra) frame, an image frame for forward inter-frame predictive encoding with a past frame as a reference image, a P (Predictive) frame, and past and future An image frame that performs bidirectional inter-frame predictive coding using this frame as a reference image is referred to as a B frame.

一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。   On the other hand, H. In H.264 / AVC, a frame that can be used as a reference image may be a past two frames as a reference image or a future two frames as a reference image regardless of the time. Further, three or more frames can be used as the reference image regardless of the number of frames that can be used as the reference image. Therefore, in MPEG-1 / 2/4, the B frame refers to a Bi-directional prediction frame. Note that in H.264 / AVC, the B frame refers to a bi-predictive prediction frame because the time of the reference image does not matter before and after.

なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。   In the embodiment, a frame is used as an example of the encoding unit, but the encoding unit may be a field. The unit of encoding may be a VOP in MPEG-4.

符号化装置100は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。入力された動画フレームはフレームメモリ80に格納される。   The encoding apparatus 100 receives an input of a moving image in units of frames, encodes the moving image, and outputs an encoded stream. The input moving image frame is stored in the frame memory 80.

動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、PフレームまたはBフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60は、符号化対象のPフレームまたはBフレームの画像と予測画像の差分を取り、差分画像をDCT部20に供給する。また、動き補償部60は、符号化された動きベクトル情報を多重化部92に供給する。   The motion compensation unit 60 uses a past or future image frame stored in the frame memory 80 as a reference image, performs motion compensation for each macroblock of the P frame or the B frame, and generates a motion vector and a predicted image. . The motion compensation unit 60 takes the difference between the P frame or B frame image to be encoded and the predicted image, and supplies the difference image to the DCT unit 20. In addition, the motion compensation unit 60 supplies the encoded motion vector information to the multiplexing unit 92.

DCT部20は、動き補償部60から供給された画像を離散コサイン変換(DCT)し、得られたDCT係数を量子化部30に与える。   The DCT unit 20 performs discrete cosine transform (DCT) on the image supplied from the motion compensation unit 60, and gives the obtained DCT coefficient to the quantization unit 30.

量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、差分画像の量子化されたDCT係数を可変長符号化し、多重化部92に与える。多重化部92は、可変長符号化部90から与えられた符号化後のDCT係数と、動き補償部60から与えられた符号化後の動きベクトル情報とを多重化し、符号化ストリームを生成する。多重化部92は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。   The quantization unit 30 quantizes the DCT coefficient and provides it to the variable length coding unit 90. The variable length coding unit 90 performs variable length coding on the quantized DCT coefficient of the difference image and supplies the result to the multiplexing unit 92. The multiplexing unit 92 multiplexes the encoded DCT coefficient given from the variable length coding unit 90 and the coded motion vector information given from the motion compensation unit 60 to generate an encoded stream. . When generating the encoded stream, the multiplexing unit 92 performs a process of rearranging the encoded frames in time order.

PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。   In the case of P frame or B frame encoding processing, the motion compensation unit 60 operates as described above. However, in the case of I frame encoding processing, the motion compensation unit 60 does not operate and is not shown here. The I frame is supplied to the DCT unit 20 after intra prediction.

図2は、動き補償部60の構成を説明する図である。動き補償部60は、符号化対象フレームのマクロブロック単位の動きベクトル(以下、「ローカル動きベクトル」という)を検出するとともに、画像上に設けられた所定の領域毎に、その領域内の大域的な動きを示す動きベクトル(以下、「グローバル動きベクトル」という)を求める。動き補償部60は、ローカル動きベクトルにもとづいて動き予測を行い、差分画像を出力するとともに、ローカル動きベクトルおよびグローバル動きベクトルの差分値を符号化して動きベクトル情報として出力する。   FIG. 2 is a diagram illustrating the configuration of the motion compensation unit 60. The motion compensation unit 60 detects a motion vector (hereinafter referred to as a “local motion vector”) of a macroblock unit of an encoding target frame, and for each predetermined region provided on the image, A motion vector indicating a smooth motion (hereinafter referred to as “global motion vector”) is obtained. The motion compensation unit 60 performs motion prediction based on the local motion vector, outputs a difference image, encodes a difference value between the local motion vector and the global motion vector, and outputs it as motion vector information.

領域設定部64は、フレーム画像上にグローバル動きベクトルGMVを求めるための領域(以下、「グローバル領域」という)を設定する。グローバル領域は、画像内に複数設けられる。たとえば、領域設定部64は、フレーム画像の中央付近を一つのグローバル領域とし、その周辺を別のグローバル領域に設定するなど、あらかじめ定められた領域をグローバル領域に設定してもよい。また、グローバル領域はユーザによって設定されてもよい。   The region setting unit 64 sets a region (hereinafter referred to as “global region”) for obtaining the global motion vector GMV on the frame image. A plurality of global areas are provided in the image. For example, the region setting unit 64 may set a predetermined region as the global region, such as setting the vicinity of the center of the frame image as one global region and setting the periphery thereof as another global region. The global area may be set by the user.

また、領域設定部64は、画像に人物等のオブジェクトが映っている場合、そのオブジェクトが占める任意形状の領域を自動抽出し、グローバル領域に設定してもよい。   In addition, when an object such as a person appears in the image, the area setting unit 64 may automatically extract an area of an arbitrary shape occupied by the object and set it as a global area.

領域設定部64は、局所動きベクトル検出部66により検出された画像内のローカル動きベクトルLMVを参照して、動きがある程度共通するマクロブロックが占める領域を自動抽出し、その領域をグローバル領域に設定してもよい。   The region setting unit 64 refers to the local motion vector LMV in the image detected by the local motion vector detection unit 66, automatically extracts a region occupied by a macroblock having a certain amount of motion, and sets the region as a global region. May be.

領域設定部64は、設定されたグローバル領域の情報をビット数調整部62、大域動きベクトル算出部68および大域動きベクトル差分符号化部74に与える。   The region setting unit 64 gives information on the set global region to the bit number adjustment unit 62, the global motion vector calculation unit 68, and the global motion vector difference encoding unit 74.

ビット数調整部62は、領域設定部64により設定されたグローバル領域毎に動き探索範囲の大きさや動き補償の画素精度を決めることにより、各グローバル領域内で求めるべきローカル動きベクトルLMVのビット数を調整する。   The bit number adjustment unit 62 determines the number of bits of the local motion vector LMV to be obtained in each global region by determining the size of the motion search range and the pixel accuracy of motion compensation for each global region set by the region setting unit 64. adjust.

たとえば、ビット数調整部62は、グローバル領域毎に動き補償の画素精度を整数画素単位、あるいは1/2画素単位、1/4画素単位などの小数画素単位に設定することにより、ローカル動きベクトルLMVのビット数を調整する。動き補償の画素精度が整数画素単位である場合、ローカル動きベクトルLMVは整数部のビットのみで表されるが、1/2画素単位または1/4画素単位の場合は、ローカル動きベクトルLMVは、整数部以外に小数部が必要になり、1/2画素単位なら1ビット、1/4画素単位なら2ビットだけ余分に小数部にビットが必要になる。   For example, the bit number adjusting unit 62 sets the pixel accuracy of motion compensation for each global region to an integer pixel unit, or a decimal pixel unit such as a 1/2 pixel unit or a 1/4 pixel unit, so that the local motion vector LMV is set. Adjust the number of bits. When the pixel accuracy of motion compensation is an integer pixel unit, the local motion vector LMV is represented by only the bits of the integer part. However, when the pixel accuracy is 1/2 pixel unit or 1/4 pixel unit, the local motion vector LMV is A fractional part is required in addition to the integer part. One bit is required for a 1/2 pixel unit, and an extra bit is required for the fractional part by 2 bits for a 1/4 pixel unit.

また、ビット数調整部62は、グローバル領域毎にローカル動きベクトルLMVが取りうる最大値を変えることにより、ローカル動きベクトルLMVのビット数を調整することもできる。ビット数調整部62は、各グローバル領域の動き探索範囲の広狭や各グローバル領域内の動きの大小に応じてローカル動きベクトルLMVの整数部の桁数を変えて、取りうる最大値を調整する。   Further, the bit number adjusting unit 62 can also adjust the bit number of the local motion vector LMV by changing the maximum value that the local motion vector LMV can take for each global region. The bit number adjusting unit 62 adjusts the maximum value that can be taken by changing the number of digits of the integer part of the local motion vector LMV in accordance with the width of the motion search range of each global region and the magnitude of the motion in each global region.

局所動きベクトル検出部66は、フレームメモリ80に保持された参照画像を参照し、符号化対象画像の対象マクロブロックに対して誤差の最も小さい予測マクロブロックを参照画像から検出し、対象マクロブロックから予測マクロブロックへの動きを示すローカル動きベクトルLMVを求める。動き検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを、ビット数調整部62により設定された動き探索範囲および画素精度で探すことにより行われる。探索は通常、画素領域内で複数回にわたって繰り返し行われ、その複数回の探索の中で対象マクロブロックと最も適合する参照マクロブロックが予測マクロブロックとして選択される。   The local motion vector detection unit 66 refers to the reference image held in the frame memory 80, detects a prediction macroblock having the smallest error with respect to the target macroblock of the encoding target image from the reference image, and determines from the target macroblock. A local motion vector LMV indicating the motion to the predicted macroblock is obtained. Motion detection is performed by searching for a reference macroblock in a reference image that matches the target macroblock with a motion search range and pixel accuracy set by the bit number adjustment unit 62. The search is normally repeated a plurality of times within the pixel region, and the reference macroblock that best matches the target macroblock is selected as the predicted macroblock in the plurality of searches.

局所動きベクトル検出部66は、ビット数調整部62により調整されたビット数で求められたローカル動きベクトルLMVを大域動きベクトル算出部68、動き補償予測部70、および局所動きベクトル差分符号化部72に与える。   The local motion vector detection unit 66 converts the local motion vector LMV obtained by the bit number adjusted by the bit number adjustment unit 62 into a global motion vector calculation unit 68, a motion compensation prediction unit 70, and a local motion vector difference encoding unit 72. To give.

動き補償予測部70は、ローカル動きベクトルLMVを用いて対象マクロブロックを動き補償して、予測画像を生成し、符号化対象画像と予測画像の差分画像をDCT部20に出力する。   The motion compensation prediction unit 70 performs motion compensation on the target macroblock using the local motion vector LMV, generates a prediction image, and outputs a difference image between the encoding target image and the prediction image to the DCT unit 20.

大域動きベクトル算出部68は、領域設定部64により設定された各グローバル領域内の大域的な動きを示すグローバル動きベクトルGMVを算出する。たとえば、大域動きベクトル算出部68は、領域内のローカル動きベクトルLMVの平均を求め、グローバル動きベクトルGMVとする。ここで、各グローバル領域のグローバル動きベクトルGMVのビット数は、各グローバル領域内で求められたローカル動きベクトルLMVのビット数と同じであり、ビット数調整部62により調整されたビット数となる。   The global motion vector calculation unit 68 calculates a global motion vector GMV indicating a global motion in each global region set by the region setting unit 64. For example, the global motion vector calculation unit 68 obtains the average of local motion vectors LMV in the region and sets it as the global motion vector GMV. Here, the number of bits of the global motion vector GMV in each global region is the same as the number of bits of the local motion vector LMV obtained in each global region, and is the number of bits adjusted by the bit number adjustment unit 62.

また、大域動きベクトル算出部68は、各グローバル領域内の大域的な動きに関する情報を取得し、その情報をもとに各グローバル領域のグローバル動きベクトルGMVを算出してもよい。たとえば、カメラのズームやパン、画面のスクロールなどが行われた場合に、画面全体の動きに関する情報から、各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することができる。また、大域動きベクトル算出部68は、画面上の人物等のオブジェクトの動きを自動抽出し、オブジェクトの動きから各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することもできる。   Further, the global motion vector calculation unit 68 may acquire information on global motion in each global region and calculate a global motion vector GMV for each global region based on the information. For example, when the camera is zoomed or panned, the screen is scrolled, etc., the global motion in each global region can be determined from the information regarding the motion of the entire screen, and the global motion vector GMV can be calculated. . The global motion vector calculation unit 68 may automatically extract the motion of an object such as a person on the screen, determine a global motion in each global region from the motion of the object, and calculate a global motion vector GMV. it can.

大域動きベクトル算出部68は、ビット数調整部62により調整されたビット数で求められたグローバル動きベクトルGMVを局所動きベクトル差分符号化部72と大域動きベクトル差分符号化部74に与える。   The global motion vector calculation unit 68 gives the global motion vector GMV obtained by the bit number adjusted by the bit number adjustment unit 62 to the local motion vector difference encoding unit 72 and the global motion vector difference encoding unit 74.

局所動きベクトル差分符号化部72は、局所動きベクトル検出部66からローカル動きベクトルLMV、大域動きベクトル算出部68からグローバル動きベクトルGMVの入力をそれぞれ受け取り、グローバル領域毎に、グローバル領域内のローカル動きベクトルLMVとグローバル動きベクトルGMVの差分ΔLMV=LMV−GMVを算出し、このローカル動きベクトル差分ΔLMVを可変長符号化する。局所動きベクトル差分符号化部72は、符号化後のローカル動きベクトル差分ΔLMVを動きベクトル情報として多重化部92に与える。   The local motion vector differential encoding unit 72 receives the input of the local motion vector LMV from the local motion vector detection unit 66 and the input of the global motion vector GMV from the global motion vector calculation unit 68, respectively, and local motion in the global region for each global region. A difference ΔLMV = LMV−GMV between the vector LMV and the global motion vector GMV is calculated, and the local motion vector difference ΔLMV is variable-length encoded. The local motion vector difference encoding unit 72 supplies the encoded local motion vector difference ΔLMV to the multiplexing unit 92 as motion vector information.

大域動きベクトル差分符号化部74は、大域動きベクトル算出部68から各領域のグローバル動きベクトルGMVの入力を受け取り、少なくとも1つの領域のグローバル動きベクトルGMVを基準に選ぶ。基準となるグローバル動きベクトルGMVを基準グローバル動きベクトルGMVと呼ぶ。大域動きベクトル差分符号化部74は、基準グローバル動きベクトルGMV以外の各グローバル領域のグローバル動きベクトルGMVと基準グローバル動きベクトルGMVの差分ΔGMV=GMV−GMVを算出し、基準グローバル動きベクトルGMVとグローバル動きベクトル差分ΔGMVを可変長符号化する。 The global motion vector differential encoding unit 74 receives an input of the global motion vector GMV of each region from the global motion vector calculation unit 68 and selects it based on the global motion vector GMV of at least one region. The reference global motion vector GMV is referred to as a reference global motion vector GMV B. Global motion vector difference coding unit 74 calculates a difference ΔGMV = GMV-GMV B of the global motion vector GMV and the reference global motion vector GMV B reference global motion each global region other than the vector GMV B, the reference global motion vector GMV Variable length coding is performed on B and the global motion vector difference ΔGMV.

大域動きベクトル差分符号化部74は、符号化後の基準グローバル動きベクトルGMVと各グローバル領域のグローバル動きベクトル差分ΔGMVを動きベクトル情報として多重化部92に与える。このとき、大域動きベクトル差分符号化部74は、領域設定部64により設定されたグローバル領域についての領域情報を動きベクトル情報の一部に付加する。さらに、大域動きベクトル差分符号化部74は、ビット数調整部62により決定されたグローバル領域毎の動き探索範囲の大きさや動き補償の画素精度、グローバル領域毎のローカル動きベクトルLMVが取りうる最大値などの動き補償のパラメータの情報を動きベクトル情報の一部に付加する。これらの動き補償の各種パラメータは、復号装置300において動き補償を行う際、参照される。 The global motion vector difference encoding unit 74 gives the encoded reference global motion vector GMV B and the global motion vector difference ΔGMV of each global region to the multiplexing unit 92 as motion vector information. At this time, the global motion vector difference encoding unit 74 adds the region information about the global region set by the region setting unit 64 to a part of the motion vector information. Furthermore, the global motion vector difference encoding unit 74 determines the size of the motion search range for each global region determined by the bit number adjustment unit 62, the pixel accuracy for motion compensation, and the maximum value that can be taken by the local motion vector LMV for each global region. The motion compensation parameter information such as is added to a part of the motion vector information. These various parameters for motion compensation are referred to when performing motion compensation in the decoding apparatus 300.

多重化部92には、動きベクトル情報として、基準グローバル動きベクトルGMV、グローバル動きベクトル差分ΔGMV、ローカル動きベクトル差分ΔLMVが与えられることになる。 The multiplexing unit 92 is provided with the reference global motion vector GMV B , the global motion vector difference ΔGMV, and the local motion vector difference ΔLMV as motion vector information.

図3は、動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。図4〜図6の例を適宜参照しながら符号化の手順を説明する。   FIG. 3 is a flowchart for explaining the procedure of motion vector differential encoding by the motion compensation unit 60. The encoding procedure will be described with reference to the examples of FIGS.

符号化装置100のフレームメモリ80に符号化対象画像が入力される(S10)。領域設定部64は、画像上にグローバル領域を設定する(S12)。ビット数調整部62は、グローバル領域毎に、ローカル動きベクトルLMVのビット数を調整する(S13)。   An encoding target image is input to the frame memory 80 of the encoding apparatus 100 (S10). The area setting unit 64 sets a global area on the image (S12). The bit number adjustment unit 62 adjusts the number of bits of the local motion vector LMV for each global region (S13).

動き補償部60の局所動きベクトル検出部66は、符号化対象画像においてグローバル領域毎に、調整されたビット数でマクロブロック単位のローカル動きベクトルLMVを検出する(S14)。   The local motion vector detection unit 66 of the motion compensation unit 60 detects the local motion vector LMV in units of macroblocks with the adjusted number of bits for each global region in the encoding target image (S14).

次に、大域動きベクトル算出部68は、グローバル領域毎にグローバル動きベクトルGMVを算出する(S16)。   Next, the global motion vector calculation unit 68 calculates a global motion vector GMV for each global region (S16).

局所動きベクトル差分符号化部72は、グローバル領域毎にローカル動きベクトル差分ΔLMVを算出して符号化する(S18)。大域動きベクトル差分符号化部74は、グローバル領域毎にグローバル動きベクトル差分ΔGMVを算出して符号化する(S20)。   The local motion vector difference encoding unit 72 calculates and encodes the local motion vector difference ΔLMV for each global region (S18). The global motion vector difference encoding unit 74 calculates and encodes the global motion vector difference ΔGMV for each global region (S20).

図4(a)〜(c)は、グローバル領域の例を説明する図である。図4(a)の例では、領域設定部64は、符号化対象画像200上に第1グローバル領域211および第2グローバル領域212を設定する。大域動きベクトル算出部68は、第1グローバル領域211において第1グローバル動きベクトルGMV1を求め、第2グローバル領域212において第2グローバル動きベクトルGMV2を求める。この例では、第1グローバル領域211および第2グローバル領域212以外の背景部分には、グローバル動きベクトルを求めるための領域は設定されていない。   4A to 4C are diagrams illustrating an example of the global area. In the example of FIG. 4A, the region setting unit 64 sets the first global region 211 and the second global region 212 on the encoding target image 200. The global motion vector calculation unit 68 obtains the first global motion vector GMV1 in the first global area 211 and obtains the second global motion vector GMV2 in the second global area 212. In this example, no area for obtaining a global motion vector is set in the background portion other than the first global area 211 and the second global area 212.

図4(a)の場合、局所動きベクトル差分符号化部72は、第1グローバル領域211内のマクロブロック毎のローカル動きベクトルLMVを符号化する際、第1グローバル動きベクトルGMV1との差分ΔLMV=LMV−GMV1を求めて符号化する。同様に、局所動きベクトル差分符号化部72は、第2グローバル領域212内では、マクロブロック毎にローカル動きベクトルLMVと第2グローバル動きベクトルGMV2の差分ΔLMV=LMV−GMV2を求めて符号化する。   In the case of FIG. 4A, when the local motion vector difference encoding unit 72 encodes the local motion vector LMV for each macroblock in the first global region 211, the difference ΔLMV from the first global motion vector GMV1 = LMV-GMV1 is obtained and encoded. Similarly, the local motion vector difference encoding unit 72 obtains and encodes the difference ΔLMV = LMV−GMV2 between the local motion vector LMV and the second global motion vector GMV2 for each macroblock in the second global region 212.

図4(a)の例では、第1グローバル領域211および第2グローバル領域212以外の背景領域については、グローバル動きベクトルGMVは求められていないため、局所動きベクトル差分符号化部72は、背景領域内ではローカル動きベクトルLMVを、差分を求めることなくそのまま符号化する。   In the example of FIG. 4A, since the global motion vector GMV is not obtained for the background regions other than the first global region 211 and the second global region 212, the local motion vector difference encoding unit 72 The local motion vector LMV is encoded as it is without obtaining the difference.

図4(b)の例では、図4(a)の例とは違って、領域設定部64は、第1グローバル領域211および第2グローバル領域212以外の背景部分を第3グローバル領域210として設定し、大域動きベクトル算出部68は、第3グローバル領域210において第3グローバル動きベクトルGMV0を求める。局所動きベクトル差分符号化部72は、第3グローバル領域210内で、マクロブロック毎にローカル動きベクトルLMVと第3グローバル動きベクトルGMV0の差分ΔLMV=LMV−GMV0を求めて符号化する。   In the example of FIG. 4B, unlike the example of FIG. 4A, the region setting unit 64 sets the background portion other than the first global region 211 and the second global region 212 as the third global region 210. Then, the global motion vector calculation unit 68 obtains the third global motion vector GMV0 in the third global region 210. The local motion vector difference encoding unit 72 obtains and encodes the difference ΔLMV = LMV−GMV0 between the local motion vector LMV and the third global motion vector GMV0 for each macroblock in the third global region 210.

図4(c)は、符号化対象画像200上で複数のグローバル領域が互いに包含関係を有する例を示す。この例では、第1グローバル領域211の内部に第2グローバル領域212が包含されており、第1グローバル領域211および第2グローバル領域212は、その全体が第3グローバル領域210に包含されている。   FIG. 4C shows an example in which a plurality of global regions have an inclusion relationship with each other on the encoding target image 200. In this example, the second global area 212 is included in the first global area 211, and the first global area 211 and the second global area 212 are entirely included in the third global area 210.

局所動きベクトル差分符号化部72は、第2グローバル領域212の内側では、マクロブロック毎にローカル動きベクトルLMVと第2グローバル動きベクトルGMV2の差分を符号化し、第2グローバル領域212よりも外側で第1グローバル領域211の内側では、マクロブロック毎にローカル動きベクトルLMVと第1グローバル動きベクトルGMV1の差分を符号化する。また、第1グローバル領域211よりもさらに外側の第3グローバル領域210内では、マクロブロック毎にローカル動きベクトルLMVと第3グローバル動きベクトルGMV0の差分を符号化する。   The local motion vector difference encoding unit 72 encodes the difference between the local motion vector LMV and the second global motion vector GMV2 for each macro block inside the second global region 212, and the second outside the second global region 212. Inside the one global area 211, the difference between the local motion vector LMV and the first global motion vector GMV1 is encoded for each macroblock. Further, in the third global area 210 further outside the first global area 211, the difference between the local motion vector LMV and the third global motion vector GMV0 is encoded for each macroblock.

図5(a)〜(c)は、大域動きベクトル差分符号化部74によりグローバル動きベクトル差分を算出する例を説明する図である。ここでは、図4(b)あるいは図4(c)のように、3つのグローバル領域が設定され、各グローバル領域のグローバル動きベクトルGMV0、GMV1、GMV2が得られた場合に、それら3つのグローバル動きベクトルGMV0、GMV1、GMV2を符号化する例を説明する。   FIGS. 5A to 5C are diagrams illustrating an example in which a global motion vector difference is calculated by the global motion vector difference encoding unit 74. FIG. Here, as shown in FIG. 4 (b) or FIG. 4 (c), when three global areas are set and global motion vectors GMV0, GMV1, and GMV2 of the respective global areas are obtained, these three global movements are obtained. An example in which the vectors GMV0, GMV1, and GMV2 are encoded will be described.

図5(a)は、3つのグローバル動きベクトルGMV0、GMV1、GMV2の間に階層構造を設けない場合を示す。この場合、大域動きベクトル差分符号化部74は、3つのグローバル動きベクトルGMV0、GMV1、GMV2をすべて基準グローバル動きベクトルとして扱い、グローバル動きベクトル差分を求めることなく、それぞれ9ビットのグローバル動きベクトルGMV0、GMV1、GMV2をそのまま符号化し、出力する。   FIG. 5A shows a case where no hierarchical structure is provided between the three global motion vectors GMV0, GMV1, and GMV2. In this case, the global motion vector difference encoding unit 74 treats all three global motion vectors GMV0, GMV1, and GMV2 as reference global motion vectors, and obtains 9-bit global motion vectors GMV0, GMV1 and GMV2 are encoded as they are and output.

図5(b)は、3つのグローバル動きベクトルGMV0、GMV1、GMV2の間に階層構造を設ける場合であり、GMV0は上位の階層に位置し、GMV1とGMV2はGMV0のすぐ下の階層に位置する。このとき、大域動きベクトル差分符号化部74は、上位階層にあるグローバル動きベクトルGMV0を基準グローバル動きベクトルとして、下位階層にある各グローバル動きベクトルGMV1、GMV2と基準グローバル動きベクトルGMV0の差分ΔGMV1=GMV1−GMV0、ΔGMV2=GMV2−GMV0を符号化する。これにより、9ビットあった下位階層にある各グローバル動きベクトルGMV1、GMV2の符号量が、上位階層にあるグローバル動きベクトルGMV0との差分をとることでそれぞれ3ビット、4ビットに減っている。   FIG. 5B shows a case where a hierarchical structure is provided between the three global motion vectors GMV0, GMV1, and GMV2, where GMV0 is located in the upper hierarchy, and GMV1 and GMV2 are located in the hierarchy immediately below GMV0. . At this time, the global motion vector differential encoding unit 74 uses the global motion vector GMV0 in the upper layer as the reference global motion vector, and the difference ΔGMV1 = GMV1 between the global motion vectors GMV1 and GMV2 in the lower layer and the reference global motion vector GMV0. -Encode GMV0, [Delta] GMV2 = GMV2-GMV0. Thereby, the code amount of each of the global motion vectors GMV1 and GMV2 in the lower layer, which has 9 bits, is reduced to 3 bits and 4 bits by taking the difference from the global motion vector GMV0 in the upper layer.

図5(c)は、3つのグローバル動きベクトルGMV0、GMV1、GMV2の間に別の階層関係を設ける場合で、GMV0は最上位の階層に位置し、GMV1はGMV0の次の階層に位置し、GMV2はGMV1のさらに下の階層に位置する。このとき、大域動きベクトル差分符号化部74は、第1階層のグローバル動きベクトルGMV0を基準グローバル動きベクトルとして、第2階層のグローバル動きベクトルGMV1と第1階層のグローバル動きベクトルGMV0の差分ΔGMV1=GMV1−GMV0を符号化する。9ビットあった第2階層のグローバル動きベクトルGMV1の符号量が、第1階層のグローバル動きベクトルGMV0との差分をとることで3ビットに減っている。   FIG. 5C shows a case where another hierarchical relationship is provided between the three global motion vectors GMV0, GMV1, and GMV2, where GMV0 is located in the highest hierarchy, GMV1 is located in the next hierarchy of GMV0, GMV2 is located in a layer below GMV1. At this time, the global motion vector differential encoding unit 74 uses the first-layer global motion vector GMV0 as a reference global motion vector, and the difference ΔGMV1 = GMV1 between the second-layer global motion vector GMV1 and the first-layer global motion vector GMV0. -Encode GMV0. The code amount of the global motion vector GMV1 in the second layer, which was 9 bits, is reduced to 3 bits by taking the difference from the global motion vector GMV0 in the first layer.

次に、大域動きベクトル差分符号化部74は、第3階層のグローバル動きベクトルGMV2と第2階層のグローバル動きベクトルGMV1の差分ΔGMV2=GMV2−GMV1を符号化する。9ビットあった第3階層のグローバル動きベクトルGMV2の符号量が、第2階層のグローバル動きベクトルGMV1との差分をとることで2ビットに減っている。   Next, the global motion vector difference encoding unit 74 encodes the difference ΔGMV2 = GMV2−GMV1 between the global motion vector GMV2 in the third hierarchy and the global motion vector GMV1 in the second hierarchy. The code amount of the third-layer global motion vector GMV2 that is 9 bits is reduced to 2 bits by taking the difference from the global motion vector GMV1 of the second layer.

図5(b)、(c)のいずれの場合でも、大域動きベクトル差分符号化部74は、動きベクトル情報として、基準グローバル動きベクトルGMV0、および2つのグローバル動きベクトル差分ΔGMV1、ΔGMV2を出力する。このとき、3つのグローバル動きベクトルGMV0、GMV1、GMV2の間の階層構造を示す情報が動きベクトル情報の一部として付加される。   5B and 5C, the global motion vector difference encoding unit 74 outputs the reference global motion vector GMV0 and the two global motion vector differences ΔGMV1 and ΔGMV2 as motion vector information. At this time, information indicating a hierarchical structure between the three global motion vectors GMV0, GMV1, and GMV2 is added as a part of the motion vector information.

図5(b)、(c)の例で示したように、グローバル動きベクトルの間に適宜、階層構造を設け、隣り合う階層間で差分を取ることにより、グローバル動きベクトルの符号量を削減することができる。なお、上記の例では、階層構造の上位にあるグローバル動きベクトルを基準として、下位にあるグローバル動きベクトルと上位の基準グローバル動きベクトルとの差分を符号化したが、逆に、階層構造の下位にあるグローバル動きベクトルを基準として、上位にあるグローバル動きベクトルと下位の基準グローバル動きベクトルとの差分を符号化してもよい。   As shown in the examples of FIGS. 5B and 5C, a hierarchical structure is appropriately provided between global motion vectors, and the difference between adjacent layers is taken to reduce the code amount of the global motion vector. be able to. In the above example, the difference between the global motion vector at the lower level and the reference global motion vector at the higher level is encoded using the global motion vector at the higher level of the hierarchical structure as a reference. A difference between an upper global motion vector and a lower reference global motion vector may be encoded with a certain global motion vector as a reference.

グローバル動きベクトルの階層構造は、グローバル領域の包含関係とは無関係に決めてもよく、グローバル領域の包含関係の順序にしたがってグローバル動きベクトルの階層構造の順位を決めてもよい。   The global motion vector hierarchical structure may be determined regardless of the global region inclusion relationship, or the order of the global motion vector hierarchical structure may be determined according to the order of the global region inclusion relationship.

たとえば、図4(b)のように、第1グローバル領域211および第2グローバル領域212が第3グローバル領域210に包含されている場合、大域動きベクトル差分符号化部74は、そのグローバル領域の包含関係を利用して、図5(b)のように、第3グローバル領域210のグローバル動きベクトルGMV0を上位階層とし、第1グローバル領域211、第2グローバル領域212のグローバル動きベクトルGMV1、GMV2をそのすぐ下の階層とする階層構造を設けて、グローバル動きベクトルの差分符号化を行う。   For example, as shown in FIG. 4B, when the first global region 211 and the second global region 212 are included in the third global region 210, the global motion vector differential encoding unit 74 includes the global region. Using the relationship, as shown in FIG. 5B, the global motion vector GMV0 of the third global region 210 is set as the upper layer, and the global motion vectors GMV1 and GMV2 of the first global region 211 and the second global region 212 are used as the upper layer. A differential structure of the global motion vector is performed by providing a hierarchical structure immediately below.

また、図4(c)のように、第2グローバル領域212が第1グローバル領域211に含まれ、第1グローバル領域211および第2グローバル領域212が全体として第3グローバル領域210に含まれるという包含関係がある場合、大域動きベクトル差分符号化部74は、第3グローバル領域210のグローバル動きベクトルGMV0を最上位階層とし、第1グローバル領域211のグローバル動きベクトルGMV1を第2階層とし、第2グローバル領域212のグローバル動きベクトルGMV2を第3階層とする階層構造を設けて、グローバル動きベクトルの差分符号化を行う。   Further, as shown in FIG. 4C, the second global region 212 is included in the first global region 211, and the first global region 211 and the second global region 212 are included in the third global region 210 as a whole. When there is a relationship, the global motion vector differential encoding unit 74 sets the global motion vector GMV0 of the third global region 210 as the highest layer, the global motion vector GMV1 of the first global region 211 as the second layer, and the second global A hierarchical structure having the global motion vector GMV2 in the region 212 as the third hierarchy is provided, and differential encoding of the global motion vector is performed.

このように領域設定部64により設定されたグローバル領域の包含関係をグローバル動きベクトルの階層構造にそのまま用いるなら、グローバル領域の包含関係に関する情報が動きベクトル情報の一部に含まれていれば、グローバル動きベクトルの階層構造に関する情報を動きベクトル情報に別途含める必要はなく、ヘッダ情報のデータ量を削減することができる。   In this way, if the inclusion relation of the global area set by the area setting unit 64 is used as it is in the global motion vector hierarchical structure, if information on the inclusion relation of the global area is included in a part of the motion vector information, the global area It is not necessary to separately include information on the hierarchical structure of the motion vector in the motion vector information, and the data amount of the header information can be reduced.

また、グローバル領域の包含関係が、画像の中央付近と背景領域、あるいは特定のオブジェクトの領域とその背景などといった画像の動き量の相対的な違いを反映するものとなっている場合、グローバル領域の包含関係をそのままグローバル動きベクトルの階層構造に反映させ、その階層構造にしたがってグローバル動きベクトル差分を求めることで、差分を取ったときのビット数が少なくなることが一般的に期待できる。   In addition, if the inclusion relationship of the global area reflects the relative difference in the amount of motion of the image, such as near the center of the image and the background area, or the area of the specific object and its background, etc. It is generally expected that the number of bits when the difference is taken is reduced by reflecting the inclusion relationship as it is in the hierarchical structure of the global motion vector and obtaining the global motion vector difference according to the hierarchical structure.

図6は、ビット数調整部62により調整されるローカル動きベクトルLMVのビット数を説明する図である。   FIG. 6 is a diagram for explaining the number of bits of the local motion vector LMV adjusted by the bit number adjustment unit 62.

ローカル動きベクトルLMVのx座標値およびy座標値は、一例として、8ビットの整数部と2ビットの小数部からなり、全体で最大10ビットで表される。整数部の桁数は、ローカル動きベクトルLMVが取ることのできる最大値に応じて決められる。小数部の桁数は、動き補償の画素精度に応じて決められる。1/2画素精度で動きベクトルを表現するには、小数点以下に1ビットの情報が必要であり、1/4画素精度の場合は、小数点以下に2ビットの情報が必要である。   As an example, the x coordinate value and the y coordinate value of the local motion vector LMV are composed of an integer part of 8 bits and a decimal part of 2 bits, and is represented by a maximum of 10 bits as a whole. The number of digits in the integer part is determined according to the maximum value that the local motion vector LMV can take. The number of digits of the decimal part is determined according to the pixel accuracy of motion compensation. In order to represent a motion vector with 1/2 pixel accuracy, 1-bit information is required after the decimal point, and in the case of 1/4 pixel accuracy, 2-bit information is required after the decimal point.

ここでは、図4(b)あるいは図4(c)のように、3つのグローバル動きベクトルGMV0、GMV1、GMV2のそれぞれに対応するグローバル領域が設定された場合に、各グローバル領域内でマクロブロック毎に求められるローカル動きベクトルLMVのビット数の調整例を示す。   Here, as shown in FIG. 4B or FIG. 4C, when a global area corresponding to each of the three global motion vectors GMV0, GMV1, and GMV2 is set, for each macroblock in each global area. An example of adjusting the number of bits of the local motion vector LMV required is shown in FIG.

第1グローバル動きベクトルGMV1、第2グローバル動きベクトルGMV2、第3グローバル動きベクトルGMV0が定められる第1、第2、第3グローバル領域内のローカル動きベクトルをそれぞれ第1ローカル動きベクトルLMV1、第2ローカル動きベクトルLMV2、第3ローカル動きベクトルLMV0と呼ぶ。   The local motion vectors in the first, second, and third global regions in which the first global motion vector GMV1, the second global motion vector GMV2, and the third global motion vector GMV0 are determined are the first local motion vector LMV1 and the second local motion vector, respectively. They are called a motion vector LMV2 and a third local motion vector LMV0.

第3ローカル動きベクトルLMV0は、符号240に示すように、小数部が2ビット、整数部が6ビット設けられ、全体で8ビットで表される。この場合、画素精度は1/4画素となり、6ビットで表現できる正の整数の最大値は、2=64であるから、動きベクトルの各座標値が取りうる値の最大値は±32画素である。したがって、動き探索範囲が±32画素以内で、動きを1/4画素精度で求めるべき領域を第3グローバル領域として選択されることが望ましく、たとえば、動きが細かく、高い精度の動き補償が求められる人物などのオブジェクトの占める領域が選択される。 As indicated by reference numeral 240, the third local motion vector LMV0 is provided with 2 bits for the decimal part and 6 bits for the integer part, and is represented by 8 bits as a whole. In this case, the pixel accuracy is ¼ pixel, and the maximum value of a positive integer that can be expressed by 6 bits is 2 6 = 64. Therefore, the maximum value that each coordinate value of the motion vector can take is ± 32 pixels. It is. Therefore, it is desirable that the region where the motion search range is within ± 32 pixels and the motion should be obtained with ¼ pixel accuracy is selected as the third global region. For example, the motion is fine and high-precision motion compensation is required. An area occupied by an object such as a person is selected.

第1ローカル動きベクトルLMV1は、符号241に示すように、小数部が1ビット、整数部が6ビット設けられ、全体で7ビットで表される。この場合、画素精度は1/2画素となり、動きベクトルの各座標値が取りうる値の最大値は±32画素である。したがって、動き探索範囲が±32画素以内で、動きを1/2画素精度で求めるべき領域を第1グローバル領域として選択されることが望ましく、たとえば、動きが比較的少なく、あまり高い精度の動き補償が求められない背景領域が選択される。   As indicated by reference numeral 241, the first local motion vector LMV1 is provided with 1 bit for the decimal part and 6 bits for the integer part, and is represented by 7 bits as a whole. In this case, the pixel accuracy is ½ pixel, and the maximum value that each coordinate value of the motion vector can take is ± 32 pixels. Therefore, it is desirable that the region where the motion search range is within ± 32 pixels and the motion should be obtained with 1/2 pixel accuracy is selected as the first global region, for example, motion compensation with relatively little motion and very high accuracy. A background area that is not required is selected.

第2ローカル動きベクトルLMV2は、符号242に示すように、小数部が1ビット、整数部が8ビット設けられ、全体で9ビットで表される。この場合、画素精度は1/2画素となり、8ビットで表現できる正の整数の最大値は、2=256であるから、動きベクトルの各座標値が取りうる値の最大値は±128画素である。したがって、動き探索範囲が±128画素以内で、動きを1/2画素精度で求めるべき領域を第2グローバル領域として選択されることが望ましく、たとえば、変化の大きい背景領域や動きが激しいオブジェクトの占める領域が選択される。 As indicated by reference numeral 242, the second local motion vector LMV2 is provided with 1 bit for the decimal part and 8 bits for the integer part, and is represented by 9 bits as a whole. In this case, the pixel accuracy is ½ pixel, and the maximum value of a positive integer that can be expressed in 8 bits is 2 8 = 256. Therefore, the maximum value that each coordinate value of the motion vector can take is ± 128 pixels. It is. Therefore, it is desirable to select a region in which the motion search range is within ± 128 pixels and the motion should be obtained with 1/2 pixel accuracy as the second global region. A region is selected.

領域設定部64によりグローバル領域が設定されたときに、ビット数調整部62は、各グローバル領域における動き探索範囲の大きさや動き補償の画素精度をあらかじめ設定してもよい。その場合、ローカル動きベクトルのビット数が決まってから、局所動きベクトル検出部66が各グローバル領域内のローカル動きベクトルを検出することになる。   When a global region is set by the region setting unit 64, the bit number adjustment unit 62 may set the size of the motion search range and the pixel accuracy for motion compensation in each global region in advance. In that case, after the number of bits of the local motion vector is determined, the local motion vector detection unit 66 detects the local motion vector in each global region.

別の符号化手順として、局所動きベクトル検出部66が各グローバル領域内のローカル動きベクトルを検出してから、ビット数調整部62が、各グローバル領域内で検出されたローカル動きベクトルの大きさを評価して、そのグローバル領域においてローカル動きベクトルを表現するために必要とされるビット数を決めてもよい。その場合、同じグローバル領域であっても、動きの時間的な変化に応じて、ローカル動きベクトルのビット数は可変にすることができる。   As another encoding procedure, after the local motion vector detection unit 66 detects the local motion vector in each global region, the bit number adjustment unit 62 determines the size of the local motion vector detected in each global region. Evaluation may determine the number of bits required to represent a local motion vector in the global region. In that case, even in the same global region, the number of bits of the local motion vector can be made variable according to the temporal change of the motion.

図7は、実施の形態に係る復号装置300の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。   FIG. 7 is a configuration diagram of the decoding device 300 according to the embodiment. These functional blocks can also be realized in various forms by hardware only, software only, or a combination thereof.

復号装置300は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。入力された符号化ストリームはフレームメモリ380に格納される。   The decoding apparatus 300 receives an input of the encoded stream, decodes the encoded stream, and generates an output image. The input encoded stream is stored in the frame memory 380.

可変長復号部310は、フレームメモリ380に格納された符号化ストリームを可変長復号し、復号された画像データを逆量子化部320に供給し、復号された動きベクトル情報を動き補償部360に供給する。   The variable length decoding unit 310 performs variable length decoding on the encoded stream stored in the frame memory 380, supplies the decoded image data to the inverse quantization unit 320, and supplies the decoded motion vector information to the motion compensation unit 360. Supply.

逆量子化部320は、可変長復号部310により復号された画像データを逆量子化し、逆DCT部330に供給する。逆量子化部320により逆量子化された画像データはDCT係数である。逆DCT部330は、逆量子化部320により逆量子化されたDCT係数を逆離散コサイン変換(IDCT)することにより、元の画像データを復元する。逆DCT部330により復元された画像データは、動き補償部360に供給される。   The inverse quantization unit 320 inversely quantizes the image data decoded by the variable length decoding unit 310 and supplies the image data to the inverse DCT unit 330. The image data inversely quantized by the inverse quantization unit 320 is a DCT coefficient. The inverse DCT unit 330 restores the original image data by performing inverse discrete cosine transform (IDCT) on the DCT coefficients inversely quantized by the inverse quantization unit 320. The image data restored by the inverse DCT unit 330 is supplied to the motion compensation unit 360.

動き補償部360は、過去または未来の画像フレームを参照画像として利用し、可変長復号部310から供給される動きベクトル情報を用いて予測画像を生成し、逆DCT部330から供給される差分画像と加算することにより、元の画像データを復元し、出力する。   The motion compensation unit 360 uses a past or future image frame as a reference image, generates a prediction image using the motion vector information supplied from the variable length decoding unit 310, and a difference image supplied from the inverse DCT unit 330. Is added to restore and output the original image data.

図8は、動き補償部360の構成を説明する図である。復号装置300に入力される符号化ストリームは、図1の符号化装置100により符号化されたものであり、動き補償部360に供給される動きベクトル情報として、基準グローバル動きベクトルGMV、グローバル動きベクトル差分ΔGMV、ローカル動きベクトル差分ΔLMVがある。動き補償部360は、これらの動きベクトル情報を参照して、復号対象フレームのローカル動きベクトルLMVを求め、動き補償を行う。動き補償部360は、動きベクトル情報の一部として提供されるグローバル領域毎の動き探索範囲の大きさや動き補償の画素精度、グローバル領域毎のローカル動きベクトルLMVが取りうる最大値などの動き補償のパラメータを参照して、以下の動き補償の各処理を行う。 FIG. 8 is a diagram illustrating the configuration of the motion compensation unit 360. The encoded stream input to the decoding apparatus 300 is encoded by the encoding apparatus 100 of FIG. 1, and the reference global motion vector GMV B , global motion is the motion vector information supplied to the motion compensation unit 360. There are a vector difference ΔGMV and a local motion vector difference ΔLMV. The motion compensation unit 360 obtains a local motion vector LMV of the decoding target frame with reference to the motion vector information, and performs motion compensation. The motion compensation unit 360 performs motion compensation such as the size of the motion search range for each global region provided as part of the motion vector information, the pixel accuracy for motion compensation, and the maximum value that can be taken by the local motion vector LMV for each global region. The following motion compensation processes are performed with reference to the parameters.

大域動きベクトル算出部362は、可変長復号部310から基準グローバル動きベクトルGMVと各グローバル領域のグローバル動きベクトル差分ΔGMVの入力を受け取り、グローバル領域毎にグローバル動きベクトルGMV=ΔGMV+GMVを求め、局所動きベクトル算出部364に与える。 The global motion vector calculation unit 362 receives the input of the reference global motion vector GMV B and the global motion vector difference ΔGMV of each global region from the variable length decoding unit 310, obtains the global motion vector GMV = ΔGMV + GMV B for each global region, This is given to the motion vector calculation unit 364.

局所動きベクトル算出部364は、可変長復号部310からローカル動きベクトル差分ΔLMVの入力、大域動きベクトル算出部362から各グローバル領域のグローバル動きベクトルGMVの入力をそれぞれ受け取り、グローバル領域毎にローカル動きベクトルLMV=ΔLMV+GMVを求める。局所動きベクトル算出部364は、各グローバル領域内のローカル動きベクトルLMVを画像復元部366に与える。   The local motion vector calculation unit 364 receives the input of the local motion vector difference ΔLMV from the variable length decoding unit 310 and the input of the global motion vector GMV of each global region from the global motion vector calculation unit 362, and the local motion vector for each global region. LMV = ΔLMV + GMV is obtained. The local motion vector calculation unit 364 gives the local motion vector LMV in each global region to the image restoration unit 366.

画像復元部366は、参照画像と各グローバル領域内のマクロブロック単位のローカル動きベクトルLMVを用いて予測画像を生成し、逆DCT部330から与えられた差分画像と予測画像を加算して元の画像を復元し、出力する。   The image restoration unit 366 generates a prediction image using the reference image and the local motion vector LMV for each macroblock in each global region, adds the difference image given from the inverse DCT unit 330 and the prediction image, and adds the original image Restore and output the image.

以上述べたように、本実施の形態の符号化装置100によれば、動きベクトルを符号化する際に、領域毎に動きベクトルのビット数を可変にすることで、動きベクトルの精度や絶対量があまり要求されない領域では動きベクトルのビット数を減らすことができ、動きベクトルの符号化効率の向上を図ることができる。   As described above, according to the encoding device 100 of the present embodiment, when encoding a motion vector, the motion vector accuracy and absolute amount can be changed by changing the number of bits of the motion vector for each region. Therefore, in the area where there is not much requirement, the number of bits of the motion vector can be reduced, and the encoding efficiency of the motion vector can be improved.

動きベクトルのビット数を領域毎に異ならせることができるため、たとえば、動きの細かい領域では画素精度を上げたり、動きの激しい領域では動きベクトルのとりうる最大値を大きくすることができる。逆に、動きが粗い領域では画素精度を下げたり、動きが少ない領域では動きベクトルのとりうる最大値を小さくすることができる。これにより、領域毎の動きの細かさや動きの大きさに応じて、あるいは、領域毎に要求される動き補償の精度に応じて、動きベクトルの割り当てビット数を最適に調整することができ、動画像の再生画質を高めることができるとともに、動画像ストリームの圧縮効率を向上させることができる。   Since the number of bits of the motion vector can be made different for each region, for example, the pixel accuracy can be increased in a region where the motion is fine, or the maximum value that can be taken by the motion vector can be increased in a region where the motion is intense. Conversely, the pixel accuracy can be lowered in a region where the motion is rough, or the maximum value that the motion vector can take can be reduced in a region where the motion is small. This makes it possible to optimally adjust the number of bits allocated to the motion vector according to the fineness of motion and the magnitude of motion for each region, or according to the accuracy of motion compensation required for each region. The reproduction quality of the image can be improved, and the compression efficiency of the moving image stream can be improved.

また、動きベクトルを符号化する際に、空間領域内の動きベクトル情報をその領域のグローバル動きベクトルとの差分値で表すことにより、動きベクトル情報自体のデータ量を削減し、動画像ストリーム全体の符号量を減らして圧縮効率を高めることができる。また、各空間領域のグローバル動きベクトルの間に階層構造をもたせて、異なる階層間でグローバル動きベクトルの差分を求めて符号化することにより、さらに動きベクトル情報の符号量を削減することができる。   In addition, when encoding a motion vector, the motion vector information in the spatial region is represented by a difference value from the global motion vector of the region, thereby reducing the data amount of the motion vector information itself and the entire moving image stream. It is possible to increase the compression efficiency by reducing the code amount. In addition, by providing a hierarchical structure between the global motion vectors of each spatial region and obtaining and encoding the difference of the global motion vectors between different layers, the amount of code of the motion vector information can be further reduced.

また、本実施の形態の復号装置300によれば、符号化装置100により領域毎に異なるビット数をもつ動きベクトルが符号化された圧縮効率の高い動画ストリームから、領域毎に動きベクトルを取得して動き補償を行うことにより、画質の高い動画像を復元することができる。領域毎に最適なビット数の動きベクトルが符号化されているため、各領域の動き補償が効率良く、高い精度で行われる。   Further, according to decoding apparatus 300 of the present embodiment, a motion vector is acquired for each area from a video stream with high compression efficiency in which a motion vector having a different number of bits for each area is encoded by encoding apparatus 100. By performing motion compensation, a moving image with high image quality can be restored. Since a motion vector having an optimum number of bits is encoded for each region, motion compensation for each region is performed efficiently and with high accuracy.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

上記の説明では、符号化装置100および復号装置300は、MPEGシリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、H.26xシリーズの規格(H.261、H.262およびH.263)、もしくはH.264/AVCに準拠して動画像の符号化および復号を行ったが、本発明は、時間的スケーラビリティをもつ階層的な動画像の符号化および復号を行う場合にも適用することができる。特にMCTF技術を用いた場合の動きベクトルの符号化において、動きベクトルの符号量を削減するために本発明は有効である。   In the above description, the encoding device 100 and the decoding device 300 are MPEG series standards (MPEG-1, MPEG-2, and MPEG-4), H.264, and H.264. 26x series standards (H.261, H.262 and H.263), or H.264 Although video encoding and decoding are performed in accordance with H.264 / AVC, the present invention can also be applied to the case of hierarchical video encoding and decoding with temporal scalability. In particular, the present invention is effective in reducing the amount of motion vector codes in the encoding of motion vectors when the MCTF technique is used.

上記の実施の形態では、ビット数調整部62は、グローバル動きベクトルを求めるグローバル領域毎にローカル動きベクトルのビット数を調整したが、ローカル動きベクトルのビット数を調整する単位となる領域は、特に実施の形態で述べたグローバル領域に限られない。動き補償部60は、グローバル動きベクトルを求めて符号化するための構成を含まず、単にローカル動きベクトルを検出して符号化するための構成だけを含んでもよい。   In the above embodiment, the bit number adjustment unit 62 has adjusted the number of bits of the local motion vector for each global region for which the global motion vector is obtained. The present invention is not limited to the global area described in the embodiment. The motion compensation unit 60 may not include a configuration for obtaining and encoding a global motion vector, but may include only a configuration for detecting and encoding a local motion vector.

また、符号化装置100にはROI領域設定部が設けられ、動画像上に注目領域(Region of Interest;ROI)が設定され、ビット数調整部62は、設定された注目領域毎にローカル動きベクトルのビット数を調整してもよい。   Further, the encoding apparatus 100 is provided with an ROI region setting unit, a region of interest (ROI) is set on the moving image, and the bit number adjusting unit 62 performs local motion vector for each set region of interest. The number of bits may be adjusted.

注目領域は、ユーザが画像上の特定の領域を指定することによって選択されてもよく、画像の中心領域などあらかじめ定まった領域が選択されてもよい。また、人物や文字が映っている領域などの重要領域が注目領域として自動的に抽出されてもよい。また、動画像において特定のオブジェクト等の動きを追跡することによって注目領域がフレーム単位で自動的に選択されてもよい。   The attention area may be selected by the user specifying a specific area on the image, or a predetermined area such as a center area of the image may be selected. In addition, an important area such as an area in which a person or a character is shown may be automatically extracted as the attention area. Further, the attention area may be automatically selected in units of frames by tracking the movement of a specific object or the like in the moving image.

また、複数の注目領域間で優先度が設定される場合、ビット数調整部62は、注目領域の優先度に応じて、その注目領域内のローカル動きベクトルのビット数を調整してもよい。注目領域は優先度に応じた画質で再生可能に符号化されるが、優先度の高い注目領域ほど動き探索の範囲を大きくしたり、動き補償の画素精度を高くするなどして、ローカル動きベクトルのビット数を増やすことにより、動き補償により再生される注目領域の画質を一層高めることができる。   Further, when priority is set between a plurality of attention areas, the bit number adjustment unit 62 may adjust the number of bits of the local motion vector in the attention area according to the priority of the attention area. The region of interest is encoded so as to be reproducible with an image quality corresponding to the priority, but the local motion vector can be increased by increasing the motion search range or increasing the pixel accuracy for motion compensation for the region of interest with higher priority. By increasing the number of bits, it is possible to further improve the image quality of the attention area reproduced by motion compensation.

実施の形態に係る符号化装置の構成図である。It is a block diagram of the encoding apparatus which concerns on embodiment. 図1の動き補償部の構成を説明する図である。It is a figure explaining the structure of the motion compensation part of FIG. 図2の動き補償部による動きベクトルの差分符号化の手順を説明するフローチャートである。3 is a flowchart illustrating a procedure for differential encoding of a motion vector by a motion compensation unit in FIG. 2. 図2の領域設定部により画像上に設定される領域の例を説明する図である。It is a figure explaining the example of the area | region set on an image by the area | region setting part of FIG. 図2の大域動きベクトル差分符号化部によりグローバル動きベクトル差分を算出する例を説明する図である。It is a figure explaining the example which calculates a global motion vector difference by the global motion vector difference encoding part of FIG. 図2のビット数調整部により調整されるローカル動きベクトルのビット数を説明する図である。It is a figure explaining the bit number of the local motion vector adjusted by the bit number adjustment part of FIG. 実施の形態に係る復号装置の構成図である。It is a block diagram of the decoding apparatus which concerns on embodiment. 図7の動き補償部の構成を説明する図である。It is a figure explaining the structure of the motion compensation part of FIG.

符号の説明Explanation of symbols

20 DCT部、 30 量子化部、 60 動き補償部、 62 ビット数調整部、 64 領域設定部、 66 局所動きベクトル検出部、 68 大域動きベクトル算出部、 70 動き補償予測部、 72 局所動きベクトル差分符号化部、 74 大域動きベクトル差分符号化部、 80 フレームメモリ、 90 可変長符号化部、 92 多重化部、 100 符号化装置、 300 復号装置、 310 可変長復号部、 320 逆量子化部、 330 逆DCT部、 360 動き補償部、 362 大域動きベクトル算出部、 364 局所動きベクトル算出部、 366 画像復元部、 380 フレームメモリ。   20 DCT section, 30 quantization section, 60 motion compensation section, 62 bit number adjustment section, 64 area setting section, 66 local motion vector detection section, 68 global motion vector calculation section, 70 motion compensation prediction section, 72 local motion vector difference Encoding unit, 74 Global motion vector differential encoding unit, 80 frame memory, 90 variable length encoding unit, 92 multiplexing unit, 100 encoding device, 300 decoding device, 310 variable length decoding unit, 320 dequantization unit, 330 Inverse DCT unit, 360 motion compensation unit, 362 global motion vector calculation unit, 364 local motion vector calculation unit, 366 image restoration unit, 380 frame memory.

Claims (6)

動画像を構成するピクチャであって、ピクチャ間予測符号化されるピクチャ上に複数の領域を定義し、領域毎に動きベクトルの符号化の条件を設定することを特徴とする符号化方法。   An encoding method comprising: defining a plurality of regions on a picture constituting a moving image and being encoded with inter-picture prediction encoding, and setting a condition for encoding a motion vector for each region. 前記動きベクトルの符号化の条件は、動き補償の画素精度に関する条件であることを特徴とする請求項1に記載の符号化方法。   The encoding method according to claim 1, wherein the motion vector encoding condition is a condition relating to pixel accuracy of motion compensation. 前記動きベクトルの符号化の条件は、動きベクトルが取りうる最大値に関する条件であることを特徴とする請求項1に記載の符号化方法。   The encoding method according to claim 1, wherein the motion vector encoding condition is a condition related to a maximum value that the motion vector can take. 前記動きベクトルの符号化の条件をその条件が設定された各領域に対応させて前記動画像の符号化データに含めることを特徴とする請求項1から3のいずれかに記載の符号化方法。   The encoding method according to any one of claims 1 to 3, wherein the motion vector encoding condition is included in the encoded data of the moving image in association with each region in which the condition is set. 前記動画像から抽出されたオブジェクトが占める領域が前記複数の領域の一つとして設定されることを特徴とする請求項1から4のいずれかに記載の符号化方法。   5. The encoding method according to claim 1, wherein an area occupied by an object extracted from the moving image is set as one of the plurality of areas. 前記動画像における背景領域が前記複数の領域の一つとして設定されることを特徴とする請求項1から5のいずれかに記載の符号化方法。   6. The encoding method according to claim 1, wherein a background area in the moving image is set as one of the plurality of areas.
JP2005219592A 2005-07-28 2005-07-28 Coding method Withdrawn JP2007036889A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005219592A JP2007036889A (en) 2005-07-28 2005-07-28 Coding method
US11/494,619 US20070025442A1 (en) 2005-07-28 2006-07-28 Coding method for coding moving images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005219592A JP2007036889A (en) 2005-07-28 2005-07-28 Coding method

Publications (1)

Publication Number Publication Date
JP2007036889A true JP2007036889A (en) 2007-02-08

Family

ID=37795558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005219592A Withdrawn JP2007036889A (en) 2005-07-28 2005-07-28 Coding method

Country Status (1)

Country Link
JP (1) JP2007036889A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219628A (en) * 2007-03-06 2008-09-18 Nippon Hoso Kyokai <Nhk> Motion compensation apparatus
JP2009272718A (en) * 2008-04-30 2009-11-19 Sony Corp Image processing apparatus, image processing method, and image processing program
JP2010109917A (en) * 2008-10-31 2010-05-13 Canon Inc Motion vector detecting apparatus and motion vector detecting method
WO2014002619A1 (en) * 2012-06-25 2014-01-03 ソニー株式会社 Image decoding device, image decoding method, image encoding device, and image encoding method
JP2021103876A (en) * 2019-12-03 2021-07-15 アクシス アーベー Method and system of encoding image in video sequence

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008219628A (en) * 2007-03-06 2008-09-18 Nippon Hoso Kyokai <Nhk> Motion compensation apparatus
JP2009272718A (en) * 2008-04-30 2009-11-19 Sony Corp Image processing apparatus, image processing method, and image processing program
JP2010109917A (en) * 2008-10-31 2010-05-13 Canon Inc Motion vector detecting apparatus and motion vector detecting method
WO2014002619A1 (en) * 2012-06-25 2014-01-03 ソニー株式会社 Image decoding device, image decoding method, image encoding device, and image encoding method
JPWO2014002619A1 (en) * 2012-06-25 2016-05-30 ソニー株式会社 Image decoding apparatus, image decoding method, image encoding apparatus, and image encoding method
US10257522B2 (en) 2012-06-25 2019-04-09 Sony Corporation Image decoding device, image decoding method, image encoding device, and image encoding method
JP2021103876A (en) * 2019-12-03 2021-07-15 アクシス アーベー Method and system of encoding image in video sequence
JP7229982B2 (en) 2019-12-03 2023-02-28 アクシス アーベー Method and system for encoding images of a video sequence

Similar Documents

Publication Publication Date Title
US11438610B2 (en) Block-level super-resolution based video coding
US20070025442A1 (en) Coding method for coding moving images
JP5061179B2 (en) Illumination change compensation motion prediction encoding and decoding method and apparatus
JP4401336B2 (en) Encoding method
US20070025444A1 (en) Coding Method
US7310371B2 (en) Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction
JP4703449B2 (en) Encoding method
US20070047649A1 (en) Method for coding with motion compensated prediction
US20060153300A1 (en) Method and system for motion vector prediction in scalable video coding
JP2008011455A (en) Coding method
JP2009532979A (en) Method and apparatus for encoding and decoding an FGS layer using a weighted average
US20060012719A1 (en) System and method for motion prediction in scalable video coding
JP2006279573A (en) Encoder and encoding method, and decoder and decoding method
JP2007189698A (en) Multilayer-based video encoding/decoding method and video encoder/decoder, using smoothing prediction
JP2007266749A (en) Encoding method
JP2007174568A (en) Encoding method
Paul et al. Video coding with dynamic background
JP2007036888A (en) Coding method
JP2007235314A (en) Coding method
JP7343817B2 (en) Encoding device, encoding method, and encoding program
JP2007036889A (en) Coding method
JP4660408B2 (en) Encoding method
JP2007096541A (en) Coding method
JP2007266750A (en) Encoding method
JP4401341B2 (en) Encoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080428

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090709