JP2008011455A - Coding method - Google Patents

Coding method Download PDF

Info

Publication number
JP2008011455A
JP2008011455A JP2006182514A JP2006182514A JP2008011455A JP 2008011455 A JP2008011455 A JP 2008011455A JP 2006182514 A JP2006182514 A JP 2006182514A JP 2006182514 A JP2006182514 A JP 2006182514A JP 2008011455 A JP2008011455 A JP 2008011455A
Authority
JP
Japan
Prior art keywords
motion vector
global motion
global
unit
picture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006182514A
Other languages
Japanese (ja)
Inventor
Mitsuru Suzuki
満 鈴木
Shigeyuki Okada
茂之 岡田
Haruhiko Murata
治彦 村田
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 JP2006182514A priority Critical patent/JP2008011455A/en
Priority to US11/494,767 priority patent/US20070025444A1/en
Publication of JP2008011455A publication Critical patent/JP2008011455A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a coding technique for a moving image which is high in coding efficiency by decreasing a code amount resulting from motion vector information, and decoding technique. <P>SOLUTION: A local motion vector detection unit 66 obtains a local motion vector LMV for each macro block in a coding target image to be coded. A region setting unit 64 sets multiple global regions in a frame image. A global motion vector calculation unit 68 calculates a global motion vector GMV within each global region. An update decision unit 50 generates a reference table by imparting indexes to global motion vectors. A motion compensating prediction unit 70 determines whether motion compensation is performed by using one of a global motion vector determined in the reference table and a local motion vector for each macro block with respect to the macro block. A local motion vector coding unit 72 adds a GMV use flag indicating whether the motion compensation is performed by using the global motion vector to coded data. <P>COPYRIGHT: (C)2008,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には、動きベクトルの大きさや向きについて関連のあるフレーム内のブロックを1つのオブジェクトとして扱うことで、ベクトルデータの情報量を削減する符号化技術が開示されている。
特開2004−48306号公報
Patent Document 1 discloses an encoding technique that reduces the amount of vector data information by treating a block in a frame that is related to the size and direction of a motion vector as one object.
JP 2004-48306 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 and a decoding technique with high coding efficiency by reducing the amount of codes resulting from motion vector information.

本発明のある態様の符号化方法は、動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルと該大域動きベクトルを特定するためのインデックスとを対応させて格納するテーブルの情報と、ピクチャ内の領域毎に指定されるインデックスの情報とを動画像の符号化データに含める。   According to an encoding method of an aspect of the present invention, there is provided a global motion vector indicating global motion in a picture constituting a moving image in a picture that is inter-picture predictively encoded or in a region defined in the picture, and the global motion vector. Information of a table that stores an index for specifying a global motion vector in association with each other and information of an index designated for each region in a picture are included in the encoded data of the moving image.

「大域動きベクトル」は、領域全体の動きを表すベクトルである。   The “global motion vector” is a vector that represents the motion of the entire region.

「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、VOP(Video Object Plane)などを含む。   “Picture” is a unit of encoding, and its concept includes a frame, a field, a VOP (Video Object Plane), and the like.

この態様によると、ピクチャ単位で、またはピクチャ内に定義される領域毎に大域動きベクトルとインデックスとを対応させたテーブルを作っておき、ピクチャ内領域のそれぞれにおいて予測符号化に使用する大域動きベクトルをインデックスで指定できるようにした。テーブルを用いることで、大域動きベクトルの情報を重複して符号化データに含める必要がなくなるので、大域動きベクトルに起因するデータ量を削減でき、動画像の符号化データの圧縮効率を高めることができる。   According to this aspect, a table in which a global motion vector and an index are made to correspond in units of pictures or for each region defined in the picture, and the global motion vector used for predictive coding in each of the regions in the picture is created. Can be specified by index. By using a table, it is not necessary to include global motion vector information redundantly in the encoded data, so the amount of data resulting from the global motion vector can be reduced, and the compression efficiency of the encoded data of the moving image can be increased. it can.

本発明の別の態様もまた、符号化方法である。この方法は、動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルを表す情報と、大域動きベクトルを特定するためのインデックスの情報とを動画像の符号化データに含めるとともに、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域において予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を動画像の符号化データに含める。   Another aspect of the present invention is also an encoding method. In this method, information representing a global motion vector indicating a global motion within a picture that is inter-picture predictively encoded or an area defined within a picture, and a global motion vector, And index information for specifying the index information indicating the global motion vector used for predictive coding in the picture or the area included in the picture in which the global motion vector is calculated. It is included in the encoded data of the moving image.

この態様によると、同一のピクチャ内、またはピクチャ内領域においては、同一の大域動きベクトルの情報を重複して符号化データに含める必要がないため、大域動きベクトルに起因するデータ量を削減できる。   According to this aspect, since it is not necessary to include the same global motion vector information in the encoded data in the same picture or in the picture area, the amount of data resulting from the global motion vector can be reduced.

第1のピクチャでまたは第1のピクチャ内領域で算出された第1大域動きベクトルと、第2のピクチャでまたは第2のピクチャ内領域で算出された第2大域動きベクトルとが異なるとき、第1大域動きベクトルと第2大域動きベクトルとの差分情報をインデックスと対応させて符号化データに含めてもよい。こうすれば、大域動きベクトル情報自体のデータ量を削減し、動画像の符号化データの圧縮効率を高めることができる。   When the first global motion vector calculated in the first picture or in the first picture area is different from the second global motion vector calculated in the second picture or in the second picture area, Difference information between the first global motion vector and the second global motion vector may be included in the encoded data in association with the index. In this way, the data amount of the global motion vector information itself can be reduced, and the compression efficiency of moving image encoded data can be increased.

第1のピクチャまたは第1のピクチャ内領域における大域動きベクトルの出現頻度の順序で、第2のピクチャまたは第2のピクチャ内領域における大域動きベクトルを並び替え、この順序に対応させてインデックスを付与してもよい。   The global motion vectors in the second picture or the second picture area are rearranged in the order of the appearance frequency of the global motion vectors in the first picture or the first picture area, and an index is assigned according to this order. May be.

符号化データのヘッダ、ピクチャのヘッダ、またはピクチャ内領域のヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報とを含め、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域のヘッダには該領域において予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。大域動きベクトルとインデックスの情報は、ストリーム毎、ピクチャ毎、またはスライスやマクロブロックなどのより小さい符号化単位のヘッダに含められ、より下位の符号化単位でインデックスを用いて大域動きベクトルを指定することができる。したがって、大域動きベクトルを算出する符号化単位と、大域動きベクトルを予測符号化に用いる符号化単位の組み合わせは、動画像の性質に合わせて任意に選択することができる。   The picture or picture from which the global motion vector is calculated, including information indicating the global motion vector and index information for identifying the global motion vector in the header of the encoded data, the header of the picture, or the header of the area within the picture The header of the area included in the inner area may include index information indicating a global motion vector used for predictive coding in the area. The global motion vector and index information is included in the header of a smaller coding unit such as each stream, each picture, or a slice or macroblock, and the global motion vector is specified using an index in a lower coding unit. be able to. Therefore, the combination of the coding unit for calculating the global motion vector and the coding unit using the global motion vector for predictive coding can be arbitrarily selected according to the nature of the moving image.

例えば、ピクチャのヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報を含め、ピクチャ内のスライスまたはブロックのヘッダには予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。あるいは、ピクチャ内のスライスのヘッダには大域動きベクトルを表す情報と該大域動きベクトルを特定するためのインデックスの情報を含め、スライス内のブロックのヘッダには予測符号化に用いられる大域動きベクトルを指し示すインデックスの情報を含めてもよい。   For example, information representing a global motion vector and index information for identifying the global motion vector are included in the header of the picture, and the global motion vector used for predictive coding is indicated in the header of the slice or block in the picture. Index information may be included. Alternatively, a header of a slice in a picture includes information indicating a global motion vector and index information for specifying the global motion vector, and a global motion vector used for predictive encoding is included in a header of a block in the slice. Information on the index to be pointed may be included.

ピクチャまたはピクチャ内に定義される領域毎に、大域動きベクトルを用いて予測符号化するか否かを示すフラグを符号化データに含めてもよい。また、ピクチャ内のブロック毎に、インデックスで指し示される大域動きベクトルと該ブロックについて算出される局所動きベクトルとのいずれを用いて予測符号化するかを示すフラグを符号化データに含めてもよい。こうすれば、ピクチャ内のブロック単位で局所動きベクトルと大域動きベクトルのいずれを用いても動き予測を実行できるようになり、符号化データのデータ量を一層削減できる可能性がある。   For each picture or a region defined in a picture, a flag indicating whether or not to perform predictive coding using a global motion vector may be included in the coded data. Further, for each block in the picture, a flag indicating which of the global motion vector indicated by the index and the local motion vector calculated for the block is used for predictive encoding may be included in the encoded data. . In this way, motion prediction can be performed using either a local motion vector or a global motion vector in units of blocks in a picture, and the data amount of encoded data may be further reduced.

なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   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 and perform motion compensation with high accuracy.

図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 coding apparatus 100 according to the present embodiment is a moving picture experts group (MPEG-1) 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.

実施例1.
図2は、動き補償部60の構成を説明する図である。動き補償部60は、符号化対象フレームのマクロブロック単位の動きベクトル(以下、「ローカル動きベクトル」という)を検出するとともに、画像上に設けられた所定の領域毎に、その領域内の大域的な動きを示す動きベクトル(以下、「グローバル動きベクトル」という)を求める。グローバル動きベクトルは、その領域全体の動きを表すベクトルである。例えば、各領域のグローバル動きベクトルは、その領域内の個々のマクロブロック単位のローカル動きベクトルを代表するものであってもよい。
Example 1.
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 the macroblock unit of the 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 global motion vector is a vector that represents the motion of the entire region. For example, the global motion vector of each region may represent a local motion vector in units of individual macroblocks within that region.

動き補償部60は、ローカル動きベクトルまたはグローバル動きベクトルにもとづいて動き補償を行い、差分画像を出力するとともに、ローカル動きベクトルおよびグローバル動きベクトルを符号化して動きベクトル情報として出力する。   The motion compensation unit 60 performs motion compensation based on the local motion vector or the global motion vector, outputs a difference image, encodes the local motion vector and the global motion vector, and outputs them as motion vector information.

本実施例では、フレーム内で1つまたは複数のグローバル動きベクトルを求めた後、フレーム全体でグローバル動きベクトルとこれを特定するインデックスとを対応させた参照テーブルを作成する。図3は、参照テーブルの一例を示す。図3では、グローバル動きベクトル(33.50,−5.75)にインデックス「0」が、グローバル動きベクトル(5.25,0)にインデックス「1」が、それぞれ対応している。   In this embodiment, after obtaining one or a plurality of global motion vectors within a frame, a reference table is created in which the global motion vector and an index for identifying the global motion vector are associated with each other in the entire frame. FIG. 3 shows an example of a reference table. In FIG. 3, the index “0” corresponds to the global motion vector (33.50, −5.75), and the index “1” corresponds to the global motion vector (5.25, 0).

各マクロブロックの予測符号化に際してグローバル動きベクトルを用いる場合は、符号化ストリーム内にインデックスを格納する。これによって、異なる領域に含まれるマクロブロックが同一のグローバル動きベクトルを重複して用いるときに、グローバル動きベクトルを複数回符号化することがなくなるため、符号量を削減できる。さらに、本実施例では、参照テーブルに定められた1つまたは複数のグローバル動きベクトルとローカル動きベクトルのいずれを用いて予測符号化を実行するかを示すフラグを、マクロブロック毎に符号化ストリームに格納する。これによって、マクロブロック単位で1つまたは複数のグローバル動きベクトルとローカル動きベクトルのうち、そのマクロブロックの符号量を最小とするものを選択することができる。   When a global motion vector is used for predictive encoding of each macroblock, an index is stored in the encoded stream. As a result, when macroblocks included in different areas use the same global motion vector in duplicate, the global motion vector is not encoded a plurality of times, and the amount of codes can be reduced. Further, in this embodiment, a flag indicating which one or a plurality of global motion vectors or local motion vectors defined in the reference table is used for predictive encoding is set in an encoded stream for each macroblock. Store. This makes it possible to select one or a plurality of global motion vectors and local motion vectors that minimize the code amount of the macro block in units of macro blocks.

図2に戻り、局所動きベクトル検出部66は、フレームメモリ80に保持された参照画像を参照し、符号化対象画像の対象マクロブロックに対して誤差の最も小さい予測マクロブロックを参照画像から検出し、対象マクロブロックから予測マクロブロックへの動きを示すローカル動きベクトルLMVを求める。動き検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを整数画素単位または小数画素単位で探すことにより行われる。探索は通常、画素領域内で複数回にわたって繰り返し行われ、その複数回の探索の中で対象マクロブロックと最も適合する参照マクロブロックが予測マクロブロックとして選択される。   Returning to FIG. 2, the local motion vector detection unit 66 refers to the reference image held in the frame memory 80 and detects a predicted macroblock having the smallest error with respect to the target macroblock of the encoding target image from the reference image. Then, a local motion vector LMV indicating the motion from the target macroblock to the predicted macroblock is obtained. Motion detection is performed by searching for a reference macroblock in a reference image matching the target macroblock in units of integer pixels or decimal pixels. 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は、求めたローカル動きベクトルLMVを大域動きベクトル算出部68、動き補償予測部70、および局所動きベクトル符号化部72に与える。   The local motion vector detection unit 66 gives the obtained local motion vector LMV to the global motion vector calculation unit 68, the motion compensation prediction unit 70, and the local motion vector encoding unit 72.

領域設定部64は、フレーム画像上にグローバル動きベクトルGMVを求めるための領域(以下、「グローバル領域」という)を設定する。グローバル領域は、画像内に複数設けられる。例えば、領域設定部64は、フレーム画像の中央付近を1つのグローバル領域とし、その周辺を別のグローバル領域に設定するなど、あらかじめ定められた領域をグローバル領域に設定してもよい。また、グローバル領域はユーザによって設定されてもよい。   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 area setting unit 64 may set a predetermined area as the global area, such as setting one area around the center of the frame image as one global area and setting the periphery as another global area. The global area may be set by the user.

また、領域設定部64は、画像に人物等のオブジェクトが写っている場合、そのオブジェクトが写っている領域を自動抽出し、グローバル領域に設定してもよい。   In addition, when an object such as a person is captured in the image, the region setting unit 64 may automatically extract a region where the object is captured and set it as a global region.

領域設定部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は、設定されたグローバル領域の情報を大域動きベクトル算出部68および大域動きベクトル符号化部74に与える。   The region setting unit 64 provides information on the set global region to the global motion vector calculation unit 68 and the global motion vector encoding unit 74.

大域動きベクトル算出部68は、領域設定部64により設定された各グローバル領域内の大域的な動きを示すグローバル動きベクトルGMVを算出する。例えば、大域動きベクトル算出部68は、領域内のローカル動きベクトルLMVの平均を求め、グローバル動きベクトルGMVとする。   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 an average of local motion vectors LMV in the region and sets it as the global motion vector GMV.

また、大域動きベクトル算出部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は、求めたグローバル動きベクトルGMVを更新判定部50に与える。   The global motion vector calculation unit 68 gives the obtained global motion vector GMV to the update determination unit 50.

更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルにインデックスを付与して、上述の参照テーブルを作成する。更新判定部50は、インデックス付きのグローバル動きベクトルGMVを、動き補償予測部70と大域動きベクトル符号化部74とに与える。   The update determination unit 50 adds an index to the global motion vector received from the global motion vector calculation unit 68 and creates the above-described reference table. The update determination unit 50 provides the indexed global motion vector GMV to the motion compensation prediction unit 70 and the global motion vector encoding unit 74.

また、更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルと、処理対象のフレームより前に処理したフレーム内で算出されたグローバル動きベクトルとを比較し、参照テーブル内のグローバル動きベクトルを更新するか否かを判定する。   The update determination unit 50 also compares the global motion vector received from the global motion vector calculation unit 68 with the global motion vector calculated in the frame processed before the processing target frame, and determines the global motion vector in the reference table. It is determined whether or not to update the motion vector.

前に処理したフレームで算出されたグローバル動きベクトル(以下、「旧グローバル動きベクトル」という)は、大域動きベクトル一時記憶部52内に保持されている。更新判定部50は、旧グローバル動きベクトルが今回のグローバル動きベクトルと同一の値であれば、参照テーブル内の旧グローバル動きベクトルとインデックスとの対応を変えず、符号化ストリームには、グローバル動きベクトルの値が変わらないことを表すフラグを格納する。今回のグローバル動きベクトルが旧グローバル動きベクトルと異なる場合には、今回のグローバル動きベクトルに新たにインデックスを付与する。   A global motion vector (hereinafter referred to as “old global motion vector”) calculated in the previously processed frame is held in the global motion vector temporary storage unit 52. If the old global motion vector is the same value as the current global motion vector, the update determination unit 50 does not change the correspondence between the old global motion vector and the index in the reference table, and the global motion vector is included in the encoded stream. Stores a flag indicating that the value of does not change. If the current global motion vector is different from the old global motion vector, a new index is assigned to the current global motion vector.

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

動き補償予測部70は、動きベクトル選択部54と、予測画像生成部56と、差分画像出力部58とを含む。   The motion compensation prediction unit 70 includes a motion vector selection unit 54, a predicted image generation unit 56, and a difference image output unit 58.

動きベクトル選択部54は、対象マクロブロックについて、参照テーブルに定められた1つまたは複数のグローバル動きベクトルGMVと、マクロブロック単位のローカル動きベクトルLMVのいずれを用いて動き予測をすべきかを決定する。そのために、予測画像生成部56は、ローカル動きベクトルLMVを用いて動き予測した予測画像と、グローバル動きベクトルGMVのそれぞれを用いて動き予測した予測画像とを生成し、各予測画像について符号化対象画像との差分画像を作成する。動きベクトル選択部54は、作成された差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量同士を比較し、符号量が最小となった予測画像の生成で使用された動きベクトルを選択する。差分画像出力部58は、符号量が最小となった差分画像をDCT部20に出力する。   The motion vector selection unit 54 determines whether to perform motion prediction for the target macroblock using one or a plurality of global motion vectors GMV defined in the reference table and a local motion vector LMV for each macroblock. . For this purpose, the predicted image generation unit 56 generates a predicted image that has been motion-predicted using the local motion vector LMV and a predicted image that has been motion-predicted using each of the global motion vectors GMV. Create a difference image with the image. The motion vector selection unit 54 compares the code amounts of the macro blocks obtained by combining the code amount of the generated difference image and the code amount of the motion vector, and is used in generating a prediction image with the minimum code amount. Select a motion vector. The difference image output unit 58 outputs the difference image with the smallest code amount to the DCT unit 20.

動きベクトル選択部54は、ローカル動きベクトルLMV、またはグローバル動きベクトルGMVのいずれを選択したかについての情報を、局所動きベクトル符号化部72に与える。   The motion vector selection unit 54 provides the local motion vector encoding unit 72 with information on which of the local motion vector LMV or the global motion vector GMV has been selected.

局所動きベクトル符号化部72は、局所動きベクトル検出部66からマクロブロック毎にローカル動きベクトルLMVを受け取る。また、局所動きベクトル符号化部72は、動き補償予測部70において符号量が最小となる予測画像を生成するためにローカル動きベクトルが用いられたマクロブロックについて、マクロブロック毎にローカル動きベクトルLMVを可変長符号化する。局所動きベクトル符号化部72は、符号化後のローカル動きベクトルLMVを動きベクトル情報として多重化部92に与える。   The local motion vector encoding unit 72 receives the local motion vector LMV for each macroblock from the local motion vector detection unit 66. In addition, the local motion vector encoding unit 72 generates a local motion vector LMV for each macroblock for a macroblock in which the local motion vector is used to generate a predicted image with the minimum code amount in the motion compensation prediction unit 70. Variable length coding. The local motion vector encoding unit 72 supplies the encoded local motion vector LMV to the multiplexing unit 92 as motion vector information.

また、局所動きベクトル符号化部72は、マクロブロック毎に、符号量が最小となる予測画像を生成するためにグローバル動きベクトルを使用したか否かを示すフラグ(以下、「GMV使用フラグ」という)と、グローバル動きベクトルを使用した場合には、参照テーブルにおいてその大域動きベクトルに対応するインデックスの情報とを多重化部92に与える。   In addition, the local motion vector encoding unit 72 indicates, for each macroblock, a flag indicating whether or not a global motion vector has been used to generate a predicted image with the minimum code amount (hereinafter referred to as “GMV use flag”). ) And a global motion vector, index information corresponding to the global motion vector in the reference table is given to the multiplexing unit 92.

大域動きベクトル符号化部74は、更新判定部50からインデックス付きのグローバル動きベクトルGMVを受け取り、可変長符号化する。   The global motion vector encoding unit 74 receives the indexed global motion vector GMV from the update determination unit 50 and performs variable length encoding.

更新判定部50において参照テーブル内のグローバル動きベクトルの更新の判定をしている場合、大域動きベクトル符号化部74は、更新すべきと判定されたグローバル動きベクトルGMVとそれに対応するインデックスとを可変長符号化する。この場合、参照テーブルを更新したか否かを示すフラグ(以下、「テーブル更新フラグ」という)と更新したグローバル動きベクトルの数(「Num」と表記する)とを多重化部92に与える。更新判定部50において、グローバル動きベクトルを更新しないと判定された場合、大域動きベクトル符号化部74はグローバル動きベクトルの可変長符号化を実行しない。   When the update determination unit 50 determines to update the global motion vector in the reference table, the global motion vector encoding unit 74 changes the global motion vector GMV determined to be updated and the corresponding index. Encode long. In this case, a flag indicating whether or not the reference table has been updated (hereinafter referred to as “table update flag”) and the number of updated global motion vectors (denoted as “Num”) are provided to the multiplexing unit 92. When the update determination unit 50 determines not to update the global motion vector, the global motion vector encoding unit 74 does not execute variable length encoding of the global motion vector.

大域動きベクトル符号化部74は、グローバル動きベクトルGMVの全体を可変長符号化する変わりに、更新前のグローバル動きベクトルGMV’との差分(GMV−GMV’)を可変長符号化してもよい。   The global motion vector encoding unit 74 may variable-length encode the difference (GMV-GMV ') from the global motion vector GMV' before update instead of variable-length encoding the entire global motion vector GMV.

大域動きベクトル符号化部74は、符号化後の各グローバル領域のグローバル動きベクトルGMVとインデックスとを動きベクトル情報として多重化部92に与える。このとき、大域動きベクトル符号化部74は、領域設定部64により設定されたグローバル領域についての領域情報を動きベクトル情報の一部に付加する。   The global motion vector encoding unit 74 gives the global motion vector GMV and the index of each global region after encoding to the multiplexing unit 92 as motion vector information. At this time, the global motion vector 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.

多重化部92には、グローバル動きベクトルGMV、インデックス、ローカル動きベクトルLMV、各種フラグが与えられることになる。   The multiplexing unit 92 is given a global motion vector GMV, an index, a local motion vector LMV, and various flags.

図4は、実施例1に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。図5および図6の例を適宜参照しながら符号化の手順を説明する。   FIG. 4 is a flowchart illustrating the procedure of differential encoding of the motion vector by the motion compensation unit 60 according to the first embodiment. The encoding procedure will be described with reference to the examples of FIGS. 5 and 6 as appropriate.

符号化装置100のフレームメモリ80に符号化対象画像が入力される(S10)。動き補償部60の局所動きベクトル検出部66は、符号化対象画像においてマクロブロック単位でローカル動きベクトルLMVを検出する(S12)。   An encoding target image is input to the frame memory 80 of the encoding apparatus 100 (S10). The local motion vector detection unit 66 of the motion compensation unit 60 detects the local motion vector LMV for each macroblock in the encoding target image (S12).

次に、領域設定部64は、画像上にグローバル領域を設定し(S14)、大域動きベクトル算出部68は、グローバル領域毎にグローバル動きベクトルGMVを算出する(S16)。   Next, the region setting unit 64 sets a global region on the image (S14), and the global motion vector calculation unit 68 calculates a global motion vector GMV for each global region (S16).

更新判定部50は、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S18)。後述するように、このデータはフレームのヘッダに格納される。   The update determination unit 50 assigns an index to each global motion vector and determines whether to update the global motion vector reference table. The global motion vector encoding unit 74 performs variable length encoding by associating the global motion vector GMV with the index (S18). As will be described later, this data is stored in the header of the frame.

動き補償予測部70は、各対象マクロブロックについて、S18でインデックスが付与されたグローバル動きベクトルGMVと、各対象マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S20)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。   If the motion compensation prediction unit 70 performs motion compensation for each target macroblock using either the global motion vector GMV indexed in S18 or the local motion vector LMV calculated for each target macroblock, the difference image It is determined whether or not the code amount of the macroblock that is the sum of the code amount and the motion vector code amount is minimized (S20). The motion compensation prediction unit 70 transmits a motion vector that minimizes the code amount of the macroblock to the local motion vector encoding unit 72.

局所動きベクトル符号化部72は、S20においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S22)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。   The local motion vector encoding unit 72 encodes the local motion vector when it is determined that the code amount of the macroblock is minimized when the local motion vector is used in S20 (S22). Furthermore, a GMV use flag indicating whether or not predictive coding has been executed using the global motion vector is given to the multiplexing unit.

フレーム内の全てのマクロブロックについてS20、S22の処理が終わると(S24のY)、このフローを終了する。   When the processing of S20 and S22 is completed for all the macroblocks in the frame (Y of S24), this flow is finished.

図5(a)は、グローバル領域の例を説明する図である。図5(a)の例では、領域設定部64は、フレーム110上に第1グローバル領域112および第2グローバル領域114を設定する。さらに、第2グローバル領域114に包含された第3グローバル領域116を設定する。大域動きベクトル算出部68は、第1グローバル領域112において第1グローバル動きベクトルGMV1を求め、第2グローバル領域114において第2グローバル動きベクトルGMV2を求め、第3グローバル領域116において第3グローバル動きベクトルGMV3を求める。図5(a)中、白抜きの正方形で表す背景部分には、グローバル動きベクトルが設定されていない。   FIG. 5A illustrates an example of the global area. In the example of FIG. 5A, the area setting unit 64 sets the first global area 112 and the second global area 114 on the frame 110. Further, a third global area 116 included in the second global area 114 is set. The global motion vector calculation unit 68 obtains the first global motion vector GMV1 in the first global area 112, obtains the second global motion vector GMV2 in the second global area 114, and obtains the third global motion vector GMV3 in the third global area 116. Ask for. In FIG. 5A, a global motion vector is not set in the background portion represented by a white square.

更新判定部50は、フレーム毎にグローバル動きベクトルGMV1〜GMV3にインデックスを付与して参照テーブルを作成する。図5(b)は、参照テーブルの一例であり、グローバル動きベクトルGMV1〜GMV3にそれぞれインデックス1〜3が割り当てられている。グローバル動きベクトル情報とインデックスは、符号化ストリームのフレームヘッダに格納される。   The update determination unit 50 creates a reference table by assigning indexes to the global motion vectors GMV1 to GMV3 for each frame. FIG. 5B is an example of a reference table, and indexes 1 to 3 are assigned to the global motion vectors GMV1 to GMV3, respectively. The global motion vector information and the index are stored in the frame header of the encoded stream.

図5(a)の場合、動き補償予測部70は、各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、グローバル動きベクトルGMV1〜GMV3のいずれを用いるかを決定する。   In the case of FIG. 5A, the motion compensation prediction unit 70 performs any of the local motion vector LMV calculated for each macroblock and the global motion vectors GMV1 to GMV3 when performing predictive coding of each macroblock. Decide whether to use.

図中、マクロブロック120については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも第3グローバル動きベクトルGMV3を用いて動き補償したときにマクロブロックの符号量が最小となったため、第3グローバル動きベクトルGMV3が選択されたものとする。また、マクロブロック118については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも、第2グローバル動きベクトルGMV2を用いて動き補償したときにマクロブロックの符号量が最小となったため、第2グローバル動きベクトルGMV2が選択されたものとする。   In the figure, for the macroblock 120, since the code amount of the macroblock is minimized when the motion compensation is performed using the third global motion vector GMV3 rather than the local motion vector LMV calculated for the macroblock, the third global It is assumed that the motion vector GMV3 is selected. For the macroblock 118, the code amount of the macroblock is minimized when the motion compensation is performed using the second global motion vector GMV2 rather than the local motion vector LMV calculated for the macroblock. Assume that the motion vector GMV2 is selected.

背景領域内のマクロブロック118、120以外のマクロブロックでは、各マクロブロックのローカル動きベクトルLMVを用いて動き補償した方が符号量が少なくなったため、グローバル動きベクトルを用いることなくローカル動きベクトルが選択される。   For macroblocks other than the macroblocks 118 and 120 in the background area, the amount of code is smaller when motion compensation is performed using the local motion vector LMV of each macroblock, so the local motion vector is selected without using the global motion vector. Is done.

図6は、多重化部92により生成される符号化ストリーム200のデータ構造を説明する図である。符号化ストリーム200は、ストリームパラメータ202と、フレームヘッダ204と、各フレームのデータから構成される。   FIG. 6 is a diagram for explaining the data structure of the encoded stream 200 generated by the multiplexing unit 92. The encoded stream 200 includes a stream parameter 202, a frame header 204, and data of each frame.

本実施例では、フレームヘッダ204に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。   In this embodiment, reference frame information, that is, global motion vector and index information is stored in the frame header 204, and a GMV use flag 270 is stored for each macroblock in the slice data 208.

「Num」210は、フレームヘッダ204内に格納されるグローバル動きベクトルの数を表す。Num210で表された数のインデックス212とグローバル動きベクトル(GMV)214の対がその後に続く。   “Num” 210 represents the number of global motion vectors stored in the frame header 204. The number of indices 212 and global motion vector (GMV) 214 represented by Num 210 follows.

このとき、符号化ストリーム200を処理する復号装置では、処理が先行するフレームで設定された参照テーブルのインデックスと同一のインデックスが付与されたグローバル動きベクトルのみを更新するようにしてもよい。例えば、処理が先行するフレームにおいて図5(b)の参照テーブルが設定されていたとする。後続するフレームのフレームヘッダ204に、インデックス1とインデックス3のみが含まれていた場合、これらのグローバル動きベクトルGMV1、GMV3は更新されるが、インデックス2が付与されたグローバル動きベクトルGMV2は有効なままとなる。代替的に、フレーム毎に参照テーブルをリセットしてしまい、フレームヘッダ204にインデックスとグローバル動きベクトルの対があるものだけ、当該フレームの参照テーブルとして用いるようにしてもよい。   At this time, the decoding apparatus that processes the encoded stream 200 may update only the global motion vector to which the same index as the index of the reference table set in the preceding frame is processed. For example, it is assumed that the reference table in FIG. 5B is set in a frame preceding processing. When only the index 1 and the index 3 are included in the frame header 204 of the subsequent frame, these global motion vectors GMV1 and GMV3 are updated, but the global motion vector GMV2 to which the index 2 is assigned remains valid. It becomes. Alternatively, the reference table may be reset for each frame, and only the frame header 204 having an index and global motion vector pair may be used as the reference table for the frame.

スライスデータ208には、マクロブロック毎にデータが格納される。GMV使用フラグ270は、対応するマクロブロックについてグローバル動きベクトルGMVを用いた予測符号化をしたか否かを示す。GMV使用フラグ270が「1」の場合には、グローバル動きベクトルを用いることを示すので、このフラグに続いて、参照テーブル内の複数のグローバル動きベクトルのうちいずれを使用したかを示すインデックス272が格納される。GMV使用フラグ270が「0」の場合には、グローバル動きベクトルを使用せずローカル動きベクトルを使用したことを示すので、インデックスは格納されない。スライスデータ208には、差分画像やローカル動きベクトルLMVの情報も含まれる。   The slice data 208 stores data for each macroblock. The GMV use flag 270 indicates whether or not the corresponding macroblock has been subjected to predictive encoding using the global motion vector GMV. When the GMV use flag 270 is “1”, it indicates that the global motion vector is used. Therefore, following this flag, an index 272 indicating which of the plurality of global motion vectors in the reference table is used is displayed. Stored. When the GMV use flag 270 is “0”, it indicates that the local motion vector is used without using the global motion vector, so the index is not stored. The slice data 208 includes information on difference images and local motion vectors LMV.

図7は、グローバル動きベクトルにインデックスを付与する方法の一例を示す。あるフレームにおいて、グローバル動きベクトルGMV1〜GMV3にそれぞれインデックス1〜3が付与されたものとする。更新判定部50は、各マクロブロックの動き補償をする際にグローバル動きベクトルGMV1〜GMV3が使用されたブロック数の情報(図7(a)中の「頻度」)を動き補償予測部70から取得し、参照テーブルとともに大域動きベクトル一時記憶部52に保持しておく(図7(a)参照)。後続するフレームのグローバル動きベクトルを受け取ると、更新判定部50は、大域動きベクトル一時記憶部52に保持されているグローバル動きベクトルGMV1〜GMV3と比較する。これらが同じ値であった場合、更新判定部50は、グローバル動きベクトルGMV1〜GMV3が使用された頻度を参照し、昇順にインデックス1〜3を割り当てし直す(図7(b)参照)。これによって、使用される頻度のより高いグローバル動きベクトルに対して少ないピット数で表せるインデックスが付与されるようになるため、インデックスの符号量を削減できる。   FIG. 7 shows an example of a method for assigning an index to a global motion vector. Assume that indexes 1 to 3 are assigned to the global motion vectors GMV1 to GMV3, respectively, in a certain frame. The update determination unit 50 obtains information on the number of blocks in which the global motion vectors GMV1 to GMV3 are used when performing motion compensation for each macroblock (“frequency” in FIG. 7A) from the motion compensation prediction unit 70. The global motion vector temporary storage unit 52 is stored together with the reference table (see FIG. 7A). When receiving the global motion vector of the subsequent frame, the update determination unit 50 compares the global motion vectors GMV1 to GMV3 held in the global motion vector temporary storage unit 52 with each other. When these are the same value, the update determination unit 50 refers to the frequency with which the global motion vectors GMV1 to GMV3 are used, and reassigns the indexes 1 to 3 in ascending order (see FIG. 7B). As a result, since an index that can be expressed with a small number of pits is assigned to a global motion vector that is used more frequently, the code amount of the index can be reduced.

実施例2.
実施例1では、フレーム単位でグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成したが、実施例2では、スライス毎にグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成する。以下、この実施例2について図8ないし図10を参照して説明する。
Example 2
In the first embodiment, a reference table in which a global motion vector and an index are associated with each other in frame units is created. In the second embodiment, a reference table in which a global motion vector and an index are associated with each slice is created. Hereinafter, Example 2 will be described with reference to FIGS.

図8は、実施例2に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。S30〜S36は、図4のS10〜S16と同様である。   FIG. 8 is a flowchart for explaining a procedure of differential encoding of a motion vector by the motion compensation unit 60 according to the second embodiment. S30 to S36 are the same as S10 to S16 in FIG.

更新判定部50は、スライス毎に、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S38)。後述するように、このデータはスライスヘッダに格納される。   The update determination unit 50 assigns an index to each global motion vector for each slice, and determines whether to update the global motion vector reference table. The global motion vector encoding unit 74 performs variable length encoding by associating the global motion vector GMV with the index (S38). As will be described later, this data is stored in the slice header.

動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S38でインデックスが付与されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S40)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。   The motion compensation prediction unit 70 performs motion compensation for each macroblock included in the slice using either the global motion vector GMV to which the index is assigned in S38 or the local motion vector LMV calculated for each macroblock. Then, it is determined whether or not the code amount of the macroblock combining the code amount of the difference image and the code amount of the motion vector is minimized (S40). The motion compensation prediction unit 70 transmits a motion vector that minimizes the code amount of the macroblock to the local motion vector encoding unit 72.

局所動きベクトル符号化部72は、S40においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S42)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。   The local motion vector encoding unit 72 encodes the local motion vector when it is determined that the code amount of the macroblock is minimized when the local motion vector is used in S40 (S42). Furthermore, a GMV use flag indicating whether or not predictive coding has been executed using the global motion vector is given to the multiplexing unit.

フレーム内の全てのスライスについてS38〜S42の処理が終わると(S44のY)、このフローを終了する。   When the processing of S38 to S42 is completed for all the slices in the frame (Y of S44), this flow is finished.

図9(a)は、実施例2におけるグローバル領域の例を説明する図である。第1ないし第3グローバル領域112〜116が設定され、各領域についてグローバル動きベクトルGMV1〜GMV3が算出されることは、図5(a)と同様である。図9(a)では、フレーム110内で横一列のスライスが設定されているものとする。   FIG. 9A illustrates an example of the global area in the second embodiment. The first to third global areas 112 to 116 are set, and the global motion vectors GMV1 to GMV3 are calculated for each area, as in FIG. In FIG. 9A, it is assumed that one horizontal row of slices is set in the frame 110.

実施例2では、スライス毎にグローバル動きベクトルの参照テーブルが作成される。例えば、図中のスライス3は、第1グローバル領域112と第2グローバル領域114を含んでいるので、更新判定部50は、第1グローバル動きベクトルGMV1と第2グローバル動きベクトルGMV2にインデックス1、2を付与して、参照テーブルを作成する(図9(b)参照)。参照テーブルの情報、つまりグローバル動きベクトルGMVとインデックスとは、符号化ストリームのスライスヘッダに格納される。   In the second embodiment, a global motion vector reference table is created for each slice. For example, since slice 3 in the figure includes the first global region 112 and the second global region 114, the update determination unit 50 assigns indexes 1, 2 to the first global motion vector GMV1 and the second global motion vector GMV2. To create a reference table (see FIG. 9B). Information of the reference table, that is, the global motion vector GMV and the index are stored in the slice header of the encoded stream.

動き補償予測部70は、スライス3に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、スライス3の参照テーブル(図9(b))に設定されたグローバル動きベクトルGMV1、GMV2のいずれを用いるかを決定する。   When the motion compensation prediction unit 70 performs predictive coding of each macroblock included in the slice 3, the motion compensation prediction unit 70 calculates the local motion vector LMV calculated for each macroblock, and the reference table of the slice 3 (FIG. 9B). It is determined which one of the global motion vectors GMV1 and GMV2 set to is used.

図中のスライス6は、第1グローバル領域112、第2グローバル領域114および第3グローバル領域116を含んでいるので、更新判定部50は、グローバル動きベクトルGMV1〜GMV3にインデックス1〜3をそれぞれ付与して参照テーブルを作成する(図9(c)参照)。動き補償予測部70は、スライス6に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、スライス6の参照テーブル(図9(c))に設定されたグローバル動きベクトルGMV1〜GMV3のいずれを用いるかを決定する。   Since slice 6 in the figure includes first global region 112, second global region 114, and third global region 116, update determination unit 50 assigns indexes 1 to 3 to global motion vectors GMV1 to GMV3, respectively. Thus, a reference table is created (see FIG. 9C). When the motion compensation prediction unit 70 performs predictive encoding of each macroblock included in the slice 6, the motion compensation prediction unit 70 calculates the local motion vector LMV calculated for each macroblock and the reference table of the slice 6 (FIG. 9 (c)). It is determined which of the global motion vectors GMV1 to GMV3 set to is used.

図10は、多重化部92により生成される符号化ストリーム220のデータ構造を説明する図である。   FIG. 10 is a diagram for explaining the data structure of the encoded stream 220 generated by the multiplexing unit 92.

本実施例では、スライスヘッダ206に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。   In this embodiment, reference table information, that is, global motion vector and index information is stored in the slice header 206, and a GMV use flag 270 is stored for each macroblock in the slice data 208.

テーブル更新フラグ258は、当該スライスにおいて、グローバル動きベクトルの参照テーブルを更新するか否かを示すフラグである。テーブル更新フラグ258が「0」であれば、参照テーブルは更新されず、当該スライスより前のスライスで設定された参照テーブルが有効であり続ける。テーブル更新フラグ258が「1」であれば、参照テーブルが更新される。この場合、「Num」260は、スライスヘッダ206に格納されるグローバル動きベクトルの数を表す。Num260で表された下図のインデックス262とグローバル動きベクトル(GMV)264の対がその後に続く。   The table update flag 258 is a flag indicating whether or not to update the global motion vector reference table in the slice. If the table update flag 258 is “0”, the reference table is not updated, and the reference table set in the slice before the slice continues to be valid. If the table update flag 258 is “1”, the reference table is updated. In this case, “Num” 260 represents the number of global motion vectors stored in the slice header 206. A pair of index 262 and global motion vector (GMV) 264 in the lower figure represented by Num 260 follows.

スライスデータ208には、マクロブロック毎にGMV使用フラグ270と対応する差分画像や局所動きベクトルのデータが格納される。スライスデータ208のデータ構造は、上述の図6と同様であるため、説明を省略する。   The slice data 208 stores the difference image and local motion vector data corresponding to the GMV use flag 270 for each macroblock. The data structure of the slice data 208 is the same as that shown in FIG.

実施例3.
実施例3では、実施例1と同様に、フレーム単位でグローバル動きベクトルとインデックスとを対応させた参照テーブルを作成する。しかしながら、実施例3では、スライス毎に参照テーブル内の動きベクトルのうちいずれか1つを指定し、各マクロブロックにおいてスライスで指定された動きベクトルを使用するか否かを判定する。
Example 3
In the third embodiment, as in the first embodiment, a reference table in which global motion vectors and indexes are associated with each other is created in units of frames. However, in the third embodiment, any one of the motion vectors in the reference table is designated for each slice, and it is determined whether or not to use the motion vector designated by the slice in each macroblock.

これについて、図5および図9を参照して説明する。更新判定部50は、フレーム110について、図5(b)に示すような参照テーブルを作成する。動き補償予測部70は、スライス毎にインデックスを用いて、図5(b)の参照テーブルからいずれかのグローバル動きベクトルを指定する。例えば、図9(a)を参照して、スライス3では、第1グローバル領域112と第2グローバル領域114のうち第2グローバル領域114の方がスライスと重なっているブロック数が多いため、動き補償予測部70は第2グローバル動きベクトルGMV2を指定する。そして、スライス3に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、先にスライス単位で指定した第2グローバル動きベクトルGMV2のいずれを用いるかを決定する。   This will be described with reference to FIGS. The update determination unit 50 creates a reference table as shown in FIG. The motion compensation prediction unit 70 designates any global motion vector from the reference table in FIG. 5B using an index for each slice. For example, referring to FIG. 9 (a), in slice 3, the number of blocks in which the second global region 114 overlaps the slice of the first global region 112 and the second global region 114 is larger, so that motion compensation is performed. The prediction unit 70 designates the second global motion vector GMV2. When predictive coding of each macroblock included in slice 3 is performed, either the local motion vector LMV calculated for each macroblock or the second global motion vector GMV2 previously specified in units of slices is used. To determine.

図11は、実施例3に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。S50〜S56は、図4のS10〜S16と同様である。   FIG. 11 is a flowchart illustrating the procedure of differential encoding of a motion vector by the motion compensation unit 60 according to the third embodiment. S50 to S56 are the same as S10 to S16 in FIG.

更新判定部50は、各グローバル動きベクトルGMVにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S58)。このデータはフレームのヘッダに格納される。   The update determination unit 50 assigns an index to each global motion vector GMV and determines whether to update the global motion vector reference table. The global motion vector encoding unit 74 performs variable length encoding by associating the global motion vector GMV with the index (S58). This data is stored in the header of the frame.

動き補償予測部70は、スライス毎に、参照テーブル内のグローバル動きベクトルGMVのうちいずれか1つを指定する(S60)。   The motion compensation prediction unit 70 designates one of the global motion vectors GMV in the reference table for each slice (S60).

動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S60で指定されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S62)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。   If the motion compensation prediction unit 70 performs motion compensation for each macroblock included in the slice using either the global motion vector GMV specified in S60 or the local motion vector LMV calculated for each macroblock, the difference is obtained. It is determined whether or not the code amount of the macroblock that is the sum of the code amount of the image and the code amount of the motion vector is minimized (S62). The motion compensation prediction unit 70 transmits a motion vector that minimizes the code amount of the macroblock to the local motion vector encoding unit 72.

局所動きベクトル符号化部72は、S62においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S64)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。   The local motion vector encoding unit 72 encodes the local motion vector when it is determined that the code amount of the macroblock is minimized when the local motion vector is used in S62 (S64). Furthermore, a GMV use flag indicating whether or not predictive coding has been executed using the global motion vector is given to the multiplexing unit.

フレーム内の全てのスライスについてS60〜S64の処理が終わると(S66のY)、このフローを終了する。   When the processing of S60 to S64 is completed for all the slices in the frame (Y of S66), this flow is finished.

図12は、多重化部92により生成される符号化ストリーム240のデータ構造を説明する図である。   FIG. 12 is a diagram for explaining the data structure of the encoded stream 240 generated by the multiplexing unit 92.

本実施例では、フレームヘッダ204に参照テーブルの情報、すなわちグローバル動きベクトルGMVとインデックスの情報が格納される。スライスヘッダ206には、フレームヘッダ内のグローバル動きベクトルGMVのいずれかを指定するインデックスの情報が格納される。さらに、スライスデータ208内でマクロブロック毎にGMV使用フラグ284が格納される。   In this embodiment, reference table information, that is, global motion vector GMV and index information are stored in the frame header 204. The slice header 206 stores index information that specifies any of the global motion vectors GMV in the frame header. Further, a GMV use flag 284 is stored for each macro block in the slice data 208.

フレームヘッダ204のデータ構造は、図6で説明したのと同様である。スライスヘッダ206には、当該スライスでグローバル動きベクトルを使用するか否かを示すGMV使用フラグ280が格納される。GMV使用フラグ280が「1」であれば、使用するグローバル動きベクトルを指定するインデックス282がその後に続く。GMV使用フラグ280が「0」であれば、当該スライスに含まれる各マクロブロックではグローバル動きベクトルを使用せずローカル動きベクトルのみを使用するので、後述するGMV使用フラグ284は存在しない。   The data structure of the frame header 204 is the same as that described with reference to FIG. The slice header 206 stores a GMV use flag 280 indicating whether or not the global motion vector is used in the slice. If the GMV usage flag 280 is “1”, an index 282 that specifies the global motion vector to be used follows. If the GMV use flag 280 is “0”, the global motion vector is not used in each macroblock included in the slice, and only the local motion vector is used. Therefore, the GMV use flag 284 described later does not exist.

GMV使用フラグ284は、インデックス282で指定されたグローバル動きベクトルを、各マクロブロックで使用するか否かを示す。GMV使用フラグ284が「1」の場合には、グローバル動きベクトルを使用してそのマクロブロックを動き補償し、GMV使用フラグ284が「0」の場合には、ローカル動きベクトルを使用してそのマクロブロックを動き補償する。   The GMV use flag 284 indicates whether or not to use the global motion vector specified by the index 282 in each macro block. When the GMV use flag 284 is “1”, the macro motion is compensated using the global motion vector, and when the GMV use flag 284 is “0”, the macro is used using the local motion vector. Motion compensation for the block.

図13は、実施の形態に係る復号装置300の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。   FIG. 13 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.

図14は、動き補償部360の構成を説明する図である。復号装置300に入力される符号化ストリームは、図1の符号化装置100により符号化されたものであり、動き補償部360には、グローバル動きベクトルGMV、インデックス、各種フラグ、ローカル動きベクトルLMVが供給される。動き補償部360は、これらの情報を参照して、復号対象フレームのローカル動きベクトルLMVを求め、動き補償を行う。   FIG. 14 is a diagram illustrating the configuration of the motion compensation unit 360. The encoded stream input to the decoding device 300 is encoded by the encoding device 100 of FIG. 1, and the global motion vector GMV, the index, various flags, and the local motion vector LMV are stored in the motion compensation unit 360. Supplied. The motion compensation unit 360 refers to these pieces of information to obtain the local motion vector LMV of the decoding target frame and performs motion compensation.

テーブル作成部364は、可変長復号部310からグローバル動きベクトルとインデックスの入力を受け取り、グローバル動きベクトルの参照テーブルを作成する。   The table creation unit 364 receives the input of the global motion vector and the index from the variable length decoding unit 310, and creates a global motion vector reference table.

例えば、図6または図12で示すような、フレーム毎にグローバル動きベクトルの参照テーブル情報が符号化されている場合には、テーブル作成部364は、Num210の情報からグローバル動きベクトルの数を把握し、その数分のエントリを有するテーブルを作成し、そこにインデックス212とそれに対応するグローバル動きベクトル214とを格納することで、図5(b)に示すような参照テーブルを作成する。   For example, when the global motion vector reference table information is encoded for each frame, as shown in FIG. 6 or FIG. 12, the table creation unit 364 recognizes the number of global motion vectors from the information of the Num 210. Then, a table having the number of entries is created, and the index 212 and the corresponding global motion vector 214 are stored therein, thereby creating a reference table as shown in FIG.

図10に示すような、スライス毎にグローバル動きベクトルの参照テーブル情報が符号化されている場合には、まずテーブル更新フラグ258を参照して、処理対象のスライスでグローバル動きベクトルの参照テーブルを更新するか否かを判定する。参照テーブルを更新する場合は、上述と同様に、Num260の情報からグローバル動きベクトルの数を把握し、その数分のエントリを有するテーブルを作成し、そこにインデックス262とそれに対応するグローバル動きベクトル264とを格納することで、図9(b)、9(c)に示すような参照テーブルを作成する。
テーブル作成部364は、作成した参照テーブルを画像復元部366に与える。
When global motion vector reference table information is encoded for each slice as shown in FIG. 10, first, the table update flag 258 is referenced to update the global motion vector reference table in the slice to be processed. It is determined whether or not to do. When updating the reference table, as described above, the number of global motion vectors is grasped from the information of the Num 260, a table having entries corresponding to the number is created, and the index 262 and the corresponding global motion vector 264 are created there. Are stored, a reference table as shown in FIGS. 9B and 9C is created.
The table creation unit 364 gives the created reference table to the image restoration unit 366.

画像復元部366は、参照画像と各グローバル領域内のマクロブロック単位のローカル動きベクトルLMVまたは参照テーブル内のグローバル動きベクトルGMVを用いて予測画像を生成し、逆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 or the global motion vector GMV in the reference table, and the difference image given from the inverse DCT unit 330 And the predicted image are added to restore the original image and output it.

図6または図10のような符号化ストリームが入力された場合は、画像復元部366は、各マクロブロックに対応して設定されているGMV使用フラグ270を参照して、処理対象のマクロブロックでグローバル動きベクトルとローカル動きベクトルのいずれを用いて予測画像を生成するかを決定する。グローバル動きベクトルを用いる場合は、GMV使用フラグ270の後に続くインデックス272を用いて、テーブル作成部364から受け取った参照テーブルから対応づけられているグローバル動きベクトルを取得し、取得したグローバル動きベクトルを用いて予測画像を生成する。フラグ270が「0」である場合は、画像復元部366は処理対象のマクロブロック単位のローカル動きベクトルを用いて予測画像を生成する。図6の符号化ストリームを例として用いると、画像復元部366は、1つ目のマクロブロックについてはインデックス272で特定されるグローバル動きベクトルを用いて予測画像を生成し、2つ目のマクロブロックについてはローカル動きベクトルを用いて予測画像を生成する。   When the encoded stream as shown in FIG. 6 or FIG. 10 is input, the image restoration unit 366 refers to the GMV use flag 270 set corresponding to each macroblock, and determines the macroblock to be processed. It is determined which of the global motion vector and the local motion vector is used to generate the predicted image. When a global motion vector is used, a global motion vector associated with the reference table received from the table creation unit 364 is acquired using the index 272 following the GMV use flag 270, and the acquired global motion vector is used. To generate a predicted image. When the flag 270 is “0”, the image restoration unit 366 generates a predicted image using the local motion vector for each macroblock to be processed. Using the encoded stream of FIG. 6 as an example, the image restoration unit 366 generates a prediction image using the global motion vector specified by the index 272 for the first macroblock, and generates the second macroblock. For, a predicted image is generated using a local motion vector.

図12のような符号化ストリームが入力された場合は、スライス毎にGMV使用フラグ280を参照してグローバル動きベクトルを指定しているか否かを判定する。GMV使用フラグ280が「1」でありグローバル動きベクトルを指定しているときは、インデックス282を用いて、テーブル作成部364から受け取った参照テーブルから対応づけられているグローバル動きベクトルを取得する。そして、マクロブロック単位でGMV使用フラグ284を参照して、先ほど取得したグローバル動きベクトルと、マクロブロック単位のローカル動きベクトルのいずれかを用いて予測画像を生成する。図12の符号化ストリームを例として用いると、1つ目のマクロブロックについてはインデックス282で指定されたグローバル動きベクトルを用いて予測画像を生成し、2つ目のマクロブロックについてはローカル動きベクトルを用いて予測画像を生成する。   When an encoded stream as shown in FIG. 12 is input, it is determined whether a global motion vector is designated with reference to the GMV use flag 280 for each slice. When the GMV use flag 280 is “1” and a global motion vector is designated, the global motion vector associated with the reference table received from the table creation unit 364 is acquired using the index 282. Then, referring to the GMV use flag 284 for each macroblock, a predicted image is generated using either the global motion vector acquired earlier or the local motion vector for each macroblock. Using the encoded stream of FIG. 12 as an example, a predicted image is generated using the global motion vector specified by the index 282 for the first macroblock, and a local motion vector is used for the second macroblock. To generate a predicted image.

以上述べたように、本実施の形態の符号化装置100によれば、フレーム単位で、またはスライス毎にグローバル動きベクトルとインデックスとを対応させたテーブルを作っておき、各マクロブロックにおいて予測符号化に使用するグローバル動きベクトルをインデックスで指定できるようにした。これによって、同一のフレームやスライス内で、異なるグローバル領域に含まれるマクロブロックで同じグローバル動きベクトルを用いて予測符号化する際に、グローバル動きベクトルを重複して符号化ストリームに含める必要がなくなる。したがって、グローバル動きベクトルに起因する符号化データのデータ量を削減でき、動画ストリームの圧縮効率を高めることができる。   As described above, according to coding apparatus 100 of the present embodiment, a table in which global motion vectors and indexes are associated with each other in units of frames or for each slice is prepared, and predictive coding is performed in each macroblock. The global motion vector to be used for can be specified by index. This eliminates the need for redundant global motion vectors to be included in the encoded stream when performing predictive encoding using the same global motion vector in macroblocks included in different global regions within the same frame or slice. Therefore, the data amount of the encoded data resulting from the global motion vector can be reduced, and the compression efficiency of the moving image stream can be increased.

また、マクロブロック毎にグローバル動きベクトルを使用するか否かを表すGMV使用フラグを符号化ストリームに格納することで、マクロブロック単位で、ローカル動きベクトルとグローバル動きベクトルのいずれを用いても動き補償を実行できるようになり、マクロブロックの符号化データのデータ量を一層削減できる可能性がある。   In addition, by storing a GMV use flag indicating whether or not to use a global motion vector for each macroblock in an encoded stream, motion compensation can be performed using either a local motion vector or a global motion vector for each macroblock. And the amount of encoded data of the macroblock may be further reduced.

さらに、複数のグローバル動きベクトルをフレーム単位、またはスライス単位で参照テーブルに設定し、インデックスを用いることでいずれのグローバル動きベクトルも使用できることから、マクロブロック同士が同一のグローバル領域に含まれていない場合でも、同じグローバル動きベクトルを使用した動き補償をすることができる。   In addition, when multiple global motion vectors are set in the reference table in frame units or slice units, and any global motion vector can be used by using an index, macroblocks are not included in the same global area However, motion compensation using the same global motion vector can be performed.

インデックス付きで符号化されるグローバル動きベクトルは、処理が先行するフレームまたはスライスにおける参照テーブル内のグローバル動きベクトルとの差分データであっってもよい。こうすれば、動きベクトル情報自体のデータ量を削減し、動画像ストリーム全体の符号量を減らして圧縮効率を高めることができる。   The global motion vector encoded with the index may be difference data from the global motion vector in the reference table in the frame or slice preceding the process. In this way, the data amount of the motion vector information itself can be reduced, the code amount of the entire moving image stream can be reduced, and the compression efficiency can be increased.

グローバル動きベクトルに付与されるインデックスは、グローバル動きベクトルが算出された順に数字を割り当てていってもよいが、フレームまたはスライス内で出現する頻度が高いと予測されるグローバル動きベクトルに、より小さい値のインデックスを割り当てるようにすれば、インデックスのデータ量をさらに削減することができる。   The index assigned to the global motion vector may be assigned a number in the order in which the global motion vector is calculated, but is smaller than the global motion vector that is predicted to occur frequently in a frame or slice. If the index is assigned, the data amount of the index can be further reduced.

また、本実施の形態の復号装置300によれば、符号化装置100によって符号化された圧縮効率の高い動画ストリームから、フレーム毎にまたはスライス単位でグローバル動きベクトルとインデックスを対応させた参照テーブルを構築し、スライスまたはマクロブロック毎にインデックスを用いて参照テーブルから動きベクトルを取得する。こうすることで、ローカル動きベクトルまたはグローバル動きベクトルのいずれをも使用した動き補償を実行することができる。   Also, according to the decoding apparatus 300 of the present embodiment, a reference table in which a global motion vector and an index are associated with each other from a video stream with high compression efficiency encoded by the encoding apparatus 100 for each frame or for each slice. Build a motion vector from the lookup table using an index for each slice or macroblock. In this way, motion compensation using either a local motion vector or a global motion vector can be executed.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   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. .

上記の説明では、動きベクトル選択部54は、1つまたは複数のグローバル動きベクトルGMVと各マクロブロックについて算出されたローカル動きベクトルLMVとのいずれを用いて動き予測すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定することを述べた。しかしながら、動きベクトル選択部54は、以下のようにして最適な動きベクトルを選択してもよい。すなわち、動きベクトル選択部54は、上記マクロブロックの符号量を算出するほか、1つまたは複数のグローバル動きベクトルGMVと各マクロブロックのローカル動きベクトルLMVのそれぞれを用いて符号化された画像を復号化したときの復号化画像と原画像との差分値を算出する。そして、動きベクトル選択部54は、マクロブロックの符号量と上記差分値とを所定の評価式に代入して算出される評価値をそれぞれの動きベクトルについて求め、その評価値が最小となる動きベクトルを選択する。こうすることによって、符号化データの符号量と復号化画像の画質との両方を考慮して最適な動きベクトルを選択することができる。   In the above description, if the motion vector selection unit 54 performs motion prediction using either one or a plurality of global motion vectors GMV and the local motion vector LMV calculated for each macroblock, It has been described that it is determined whether or not the code amount of the macroblock combined with the code amount of the motion vector is minimized. However, the motion vector selection unit 54 may select an optimal motion vector as follows. That is, the motion vector selection unit 54 calculates the code amount of the macroblock and decodes an image encoded using one or a plurality of global motion vectors GMV and local motion vectors LMV of each macroblock. The difference value between the decoded image and the original image at the time of conversion is calculated. Then, the motion vector selection unit 54 obtains an evaluation value calculated by substituting the code amount of the macroblock and the difference value into a predetermined evaluation formula for each motion vector, and a motion vector that minimizes the evaluation value Select. By doing so, it is possible to select an optimal motion vector in consideration of both the code amount of the encoded data and the image quality of the decoded image.

上記の説明では、フレーム毎、領域毎、マクロブロック毎に、インデックスを用いて動きベクトルを特定する参照テーブルを設けたが、参照テーブルは、それより大きい単位、例えば、ストリーム全体やGOP毎に設けることもできる。この場合、参照テーブルの情報は、ストリームパラメータまたはGOPヘッダに格納される。そして、フレーム、スライス、グローバル領域またはマクロブロック毎に、参照テーブルに設定された動きベクトルを指定するインデックスの情報がヘッダなどに格納される。こうすることで、例えばストリームの全体やGOPにわたって動画像の動きベクトルが変化しない場合は、動きベクトル情報に起因する符号量を大きく削減することができる。   In the above description, a reference table for specifying a motion vector using an index is provided for each frame, for each region, and for each macroblock. However, the reference table is provided for a larger unit, for example, the entire stream or GOP. You can also In this case, the information of the reference table is stored in the stream parameter or GOP header. Then, for each frame, slice, global region, or macroblock, index information that specifies a motion vector set in the reference table is stored in a header or the like. In this way, for example, when the motion vector of the moving image does not change over the entire stream or GOP, the amount of codes resulting from the motion vector information can be greatly reduced.

また、上記の説明では、フレーム内のグローバル領域またはスライス毎に動きベクトルをインデックスで特定するためのテーブルを作成したが、図示しないROI領域設定部が動画像上に設定する注目領域(Region of Interest;ROI)毎に、動きベクトルをインデックスで特定するためのテーブルを作成してもよい。注目領域は、ユーザが画像上の特定の領域を指定することによって選択されてもよく、画像の中心領域などあらかじめ定まった領域が選択されてもよい。また、人物や文字が映っている領域などの重要領域が注目領域として自動的に抽出されてもよい。また、動画像において特定のオブジェクト等の動きを追跡することによって注目領域がフレーム単位で自動的に選択されてもよい。   In the above description, a table for specifying a motion vector with an index for each global region or slice in a frame is created. However, a region of interest (Region of Interest) set on a moving image by a ROI region setting unit (not shown). ; For each ROI), a table for specifying a motion vector by an index may be created. 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 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.

上記の説明では、符号化装置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.

実施の形態に係る符号化装置の構成図である。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. グローバル動きベクトルの参照テーブルの一例を示す図である。It is a figure which shows an example of the reference table of a global motion vector. 実施例1に係る動きベクトルの差分符号化の手順を説明するフローチャートである。6 is a flowchart illustrating a procedure for differential encoding of a motion vector according to the first embodiment. (a)はグローバル領域の例を説明する図であり、(b)は参照テーブルの一例を示す図である。(A) is a figure explaining the example of a global area | region, (b) is a figure which shows an example of a reference table. 実施例1に係る符号化ストリームのデータ構造を説明する図である。It is a figure explaining the data structure of the encoding stream which concerns on Example 1. FIG. グローバル動きベクトルにインデックスを付与する方法の一例を示す図である。It is a figure which shows an example of the method of providing an index to a global motion vector. 実施例2に係る動きベクトルの差分符号化の手順を説明するフローチャートである。10 is a flowchart illustrating a procedure for differential encoding of a motion vector according to the second embodiment. (a)はグローバル領域の例を説明する図であり、(b)、(c)は参照テーブルの一例を示す図である。(A) is a figure explaining the example of a global area | region, (b), (c) is a figure which shows an example of a reference table. 実施例2に係る符号化ストリームのデータ構造を説明する図である。It is a figure explaining the data structure of the encoding stream which concerns on Example 2. FIG. 実施例3に係る動きベクトルの差分符号化の手順を説明するフローチャートである。10 is a flowchart illustrating a procedure for differential encoding of a motion vector according to a third embodiment. 実施例3に係る符号化ストリームのデータ構造を説明する図である。It is a figure explaining the data structure of the encoding stream which concerns on Example 3. FIG. 実施の形態に係る復号装置の構成図である。It is a block diagram of the decoding apparatus concerning embodiment. 図13の動き補償部の構成を説明する図である。It is a figure explaining the structure of the motion compensation part of FIG.

符号の説明Explanation of symbols

20 DCT部、 30 量子化部、 50 更新判定部、 52 大域動きベクトル一時記憶部、 60 動き補償部、 64 領域設定部、 66 局所動きベクトル検出部、 68 大域動きベクトル算出部、 70 動き補償予測部、 72 局所動きベクトル符号化部、 74 大域動きベクトル符号化部、 80 フレームメモリ、 90 可変長符号化部、 92 多重化部、 100 符号化装置、 300 復号装置、 310 可変長復号部、 320 逆量子化部、 330 逆DCT部、 360 動き補償部、 364 テーブル作成部、 366 画像復元部、 380 フレームメモリ。   20 DCT section, 30 quantization section, 50 update determination section, 52 global motion vector temporary storage section, 60 motion compensation section, 64 region setting section, 66 local motion vector detection section, 68 global motion vector calculation section, 70 motion compensation prediction 72, local motion vector encoding unit, 74 global motion vector 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 Inverse quantization unit, 330 inverse DCT unit, 360 motion compensation unit, 364 table creation unit, 366 image restoration unit, 380 frame memory.

Claims (6)

動画像を構成するピクチャにおいて、ピクチャ間予測符号化されるピクチャ内またはピクチャ内に定義される領域内での大域的な動きを示す大域動きベクトルを表す情報と、前記大域動きベクトルを特定するためのインデックスの情報とを前記動画像の符号化データに含めるとともに、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域において予測符号化に用いられる前記大域動きベクトルを指し示す前記インデックスの情報を前記動画像の符号化データに含めることを特徴とする符号化方法。   In a picture constituting a moving picture, information indicating a global motion vector indicating global motion in a picture that is inter-picture predictively encoded or in an area defined in the picture, and for specifying the global motion vector And the index information indicating the global motion vector used for predictive encoding in the picture in which the global motion vector is calculated or in the area included in the picture area. An encoding method comprising the encoded data of the moving image. 第1のピクチャでまたは第1のピクチャ内領域で算出された第1大域動きベクトルと、第2のピクチャでまたは第2のピクチャ内領域で算出された第2大域動きベクトルとが異なるとき、前記第1大域動きベクトルと前記第2大域動きベクトルとの差分情報を前記インデックスと対応させて前記符号化データに含めることを特徴とする請求項1に記載の符号化方法。   When the first global motion vector calculated in the first picture or in the first intra-picture area is different from the second global motion vector calculated in the second picture or in the second intra-picture area, The encoding method according to claim 1, wherein difference information between the first global motion vector and the second global motion vector is included in the encoded data in association with the index. 前記第1のピクチャまたは前記第1のピクチャ内領域における大域動きベクトルの出現頻度の順序で、前記第2のピクチャまたは前記第2のピクチャ内領域における大域動きベクトルを並び替え、この順序に対応させて前記インデックスを付与することを特徴とする請求項1または2に記載の符号化方法。   The global motion vectors in the second picture or the second picture area are rearranged in the order of the appearance frequency of the global motion vector in the first picture or the first picture area, and this order is made to correspond to this order. The encoding method according to claim 1, wherein the index is assigned. 符号化データのヘッダ、ピクチャのヘッダ、またはピクチャ内領域のヘッダには前記大域動きベクトルを表す情報と該大域動きベクトルを特定するための前記インデックスの情報とを含め、大域動きベクトルを算出したピクチャまたはピクチャ内領域に含まれる領域のヘッダには該領域において予測符号化に用いられる前記大域動きベクトルを指し示す前記インデックスの情報を含めることを特徴とする請求項1ないし3のいずれかに記載の符号化方法。   A picture in which a global motion vector is calculated, including information indicating the global motion vector and information on the index for specifying the global motion vector in a header of encoded data, a header of a picture, or a header of a region in a picture The code according to any one of claims 1 to 3, wherein the header of an area included in an intra-picture area includes information on the index indicating the global motion vector used for predictive encoding in the area. Method. 前記ピクチャまたは前記ピクチャ内に定義される領域毎に、前記大域動きベクトルを用いて予測符号化するか否かを示すフラグを前記符号化データに含めることを特徴とする請求項1ないし4のいずれかに記載の符号化方法。   5. The encoded data includes a flag indicating whether or not predictive encoding is performed using the global motion vector for each picture or a region defined in the picture. An encoding method according to claim 1. 前記ピクチャ内のブロック毎に、前記インデックスで指し示される大域動きベクトルと該ブロックについて算出される局所動きベクトルとのいずれを用いて予測符号化するかを示すフラグを前記符号化データに含めることを特徴とする請求項1ないし4のいずれかに記載の符号化方法。   For each block in the picture, a flag indicating which of the global motion vector indicated by the index and the local motion vector calculated for the block is used for predictive encoding is included in the encoded data. The encoding method according to claim 1, wherein the encoding method is any one of claims 1 to 4.
JP2006182514A 2005-07-28 2006-06-30 Coding method Pending JP2008011455A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006182514A JP2008011455A (en) 2006-06-30 2006-06-30 Coding method
US11/494,767 US20070025444A1 (en) 2005-07-28 2006-07-28 Coding Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006182514A JP2008011455A (en) 2006-06-30 2006-06-30 Coding method

Publications (1)

Publication Number Publication Date
JP2008011455A true JP2008011455A (en) 2008-01-17

Family

ID=39069196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006182514A Pending JP2008011455A (en) 2005-07-28 2006-06-30 Coding method

Country Status (1)

Country Link
JP (1) JP2008011455A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009130971A1 (en) * 2008-04-21 2009-10-29 シャープ株式会社 Dynamic image encoding device and dynamic image decoding device
WO2011093013A1 (en) * 2010-01-29 2011-08-04 パナソニック株式会社 Information processing apparatus and information processing method
KR20110094765A (en) * 2010-02-17 2011-08-24 삼성전자주식회사 Apparatus for motion estimation and method thereof and image processing apparatus
JP2019033529A (en) * 2011-05-31 2019-02-28 サン パテント トラスト Video decoding method and video decoding apparatus
JP2020523853A (en) * 2017-06-13 2020-08-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated Motion vector prediction
US10887585B2 (en) 2011-06-30 2021-01-05 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
JP2021005906A (en) * 2020-10-15 2021-01-14 富士通株式会社 Video encoding device
US11012705B2 (en) 2011-04-12 2021-05-18 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11076170B2 (en) 2011-05-27 2021-07-27 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US11115664B2 (en) 2011-05-27 2021-09-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11553202B2 (en) 2011-08-03 2023-01-10 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11647208B2 (en) 2011-10-19 2023-05-09 Sun Patent Trust Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009130971A1 (en) * 2008-04-21 2009-10-29 シャープ株式会社 Dynamic image encoding device and dynamic image decoding device
JP5711136B2 (en) * 2010-01-29 2015-04-30 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Information processing apparatus and information processing method
WO2011093013A1 (en) * 2010-01-29 2011-08-04 パナソニック株式会社 Information processing apparatus and information processing method
CN102369551A (en) * 2010-01-29 2012-03-07 松下电器产业株式会社 Information processing apparatus and information processing method
US8705794B2 (en) 2010-01-29 2014-04-22 Panasonic Corporation Data processing apparatus and data processing method
KR101630688B1 (en) 2010-02-17 2016-06-16 삼성전자주식회사 Apparatus for motion estimation and method thereof and image processing apparatus
KR20110094765A (en) * 2010-02-17 2011-08-24 삼성전자주식회사 Apparatus for motion estimation and method thereof and image processing apparatus
US11356694B2 (en) 2011-04-12 2022-06-07 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11012705B2 (en) 2011-04-12 2021-05-18 Sun Patent Trust Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus and moving picture coding and decoding apparatus
US11979582B2 (en) 2011-05-27 2024-05-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11895324B2 (en) 2011-05-27 2024-02-06 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US11575930B2 (en) 2011-05-27 2023-02-07 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US11570444B2 (en) 2011-05-27 2023-01-31 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US11076170B2 (en) 2011-05-27 2021-07-27 Sun Patent Trust Coding method and apparatus with candidate motion vectors
US11115664B2 (en) 2011-05-27 2021-09-07 Sun Patent Trust Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
JP2019033529A (en) * 2011-05-31 2019-02-28 サン パテント トラスト Video decoding method and video decoding apparatus
US11509928B2 (en) 2011-05-31 2022-11-22 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US11057639B2 (en) 2011-05-31 2021-07-06 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US11917192B2 (en) 2011-05-31 2024-02-27 Sun Patent Trust Derivation method and apparatuses with candidate motion vectors
US10887585B2 (en) 2011-06-30 2021-01-05 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US11553202B2 (en) 2011-08-03 2023-01-10 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11979598B2 (en) 2011-08-03 2024-05-07 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US11647208B2 (en) 2011-10-19 2023-05-09 Sun Patent Trust Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
US11689740B2 (en) 2017-06-13 2023-06-27 Qualcomm Incorporated Motion vector prediction
JP7343398B2 (en) 2017-06-13 2023-09-12 クゥアルコム・インコーポレイテッド motion vector prediction
JP2020523853A (en) * 2017-06-13 2020-08-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated Motion vector prediction
JP7047878B2 (en) 2020-10-15 2022-04-05 富士通株式会社 Video encoding device
JP2021005906A (en) * 2020-10-15 2021-01-14 富士通株式会社 Video encoding device

Similar Documents

Publication Publication Date Title
US20220303583A1 (en) Video coding using constructed reference frames
JP2008011455A (en) Coding method
US20070025444A1 (en) Coding Method
JP5823538B2 (en) Identification of samples in the transition zone
JP5061179B2 (en) Illumination change compensation motion prediction encoding and decoding method and apparatus
JP4401336B2 (en) Encoding method
CN104704835B (en) The apparatus and method of movable information management in Video coding
US20070025442A1 (en) Coding method for coding moving images
JP2007067731A (en) Coding method
JP4703449B2 (en) Encoding method
US20050114093A1 (en) Method and apparatus for motion estimation using variable block size of hierarchy structure
JP2011130410A (en) Encoding method, decoding method and apparatus thereof
JP2006279573A (en) Encoder and encoding method, and decoder and decoding method
TW202126042A (en) History-based motion vector prediction
JP2007081720A (en) Coding method
JP2007266749A (en) Encoding method
JP2007036888A (en) Coding method
JP4660408B2 (en) Encoding method
JP2007036889A (en) Coding method
JP4401341B2 (en) Encoding method
JP4243286B2 (en) Encoding method
JP4169767B2 (en) Encoding method
JP2007036887A (en) Coding method
JP2004221744A (en) Dynamic image encoding instrument, its method and program, dynamic image decoding instrument, and its method and program
KR100801155B1 (en) A spatial error concealment method with low complexity in h. 264/avc video coding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080624