JP2008011455A - Coding method - Google Patents
Coding method Download PDFInfo
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
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つのオブジェクトとして扱うことで、ベクトルデータの情報量を削減する符号化技術が開示されている。
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
本実施の形態の符号化装置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
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
動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、PフレームまたはBフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60は、符号化対象のPフレームまたはBフレームの画像と予測画像の差分を取り、差分画像をDCT部20に供給する。また、動き補償部60は、符号化された動きベクトル情報を多重化部92に供給する。
The
DCT部20は、動き補償部60から供給された画像を離散コサイン変換(DCT)し、得られたDCT係数を量子化部30に与える。
The
量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、差分画像の量子化されたDCT係数を可変長符号化し、多重化部92に与える。多重化部92は、可変長符号化部90から与えられた符号化後のDCT係数と、動き補償部60から与えられた符号化後の動きベクトル情報とを多重化し、符号化ストリームを生成する。多重化部92は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
The
PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。
In the case of P frame or B frame encoding processing, the
実施例1.
図2は、動き補償部60の構成を説明する図である。動き補償部60は、符号化対象フレームのマクロブロック単位の動きベクトル(以下、「ローカル動きベクトル」という)を検出するとともに、画像上に設けられた所定の領域毎に、その領域内の大域的な動きを示す動きベクトル(以下、「グローバル動きベクトル」という)を求める。グローバル動きベクトルは、その領域全体の動きを表すベクトルである。例えば、各領域のグローバル動きベクトルは、その領域内の個々のマクロブロック単位のローカル動きベクトルを代表するものであってもよい。
Example 1.
FIG. 2 is a diagram illustrating the configuration of the
動き補償部60は、ローカル動きベクトルまたはグローバル動きベクトルにもとづいて動き補償を行い、差分画像を出力するとともに、ローカル動きベクトルおよびグローバル動きベクトルを符号化して動きベクトル情報として出力する。
The
本実施例では、フレーム内で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
局所動きベクトル検出部66は、求めたローカル動きベクトルLMVを大域動きベクトル算出部68、動き補償予測部70、および局所動きベクトル符号化部72に与える。
The local motion
領域設定部64は、フレーム画像上にグローバル動きベクトルGMVを求めるための領域(以下、「グローバル領域」という)を設定する。グローバル領域は、画像内に複数設けられる。例えば、領域設定部64は、フレーム画像の中央付近を1つのグローバル領域とし、その周辺を別のグローバル領域に設定するなど、あらかじめ定められた領域をグローバル領域に設定してもよい。また、グローバル領域はユーザによって設定されてもよい。
The
また、領域設定部64は、画像に人物等のオブジェクトが写っている場合、そのオブジェクトが写っている領域を自動抽出し、グローバル領域に設定してもよい。
In addition, when an object such as a person is captured in the image, the
領域設定部64は、局所動きベクトル検出部66により検出された画像内のローカル動きベクトルLMVを参照して、動きがある程度共通するマクロブロックが占める領域を自動抽出し、その領域をグローバル領域に設定してもよい。
The
領域設定部64は、設定されたグローバル領域の情報を大域動きベクトル算出部68および大域動きベクトル符号化部74に与える。
The
大域動きベクトル算出部68は、領域設定部64により設定された各グローバル領域内の大域的な動きを示すグローバル動きベクトルGMVを算出する。例えば、大域動きベクトル算出部68は、領域内のローカル動きベクトルLMVの平均を求め、グローバル動きベクトルGMVとする。
The global motion
また、大域動きベクトル算出部68は、各グローバル領域内の大域的な動きに関する情報を取得し、その情報をもとに各グローバル領域のグローバル動きベクトルGMVを算出してもよい。例えば、カメラのズームやパン、画面のスクロールなどが行われた場合に、画面全体の動きに関する情報から、各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することができる。また、大域動きベクトル算出部68は、画面上の人物等のオブジェクトの動きを自動抽出し、オブジェクトの動きから各グローバル領域内の大域的な動きを判断し、グローバル動きベクトルGMVを算出することもできる。
Further, the global motion
大域動きベクトル算出部68は、求めたグローバル動きベクトルGMVを更新判定部50に与える。
The global motion
更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルにインデックスを付与して、上述の参照テーブルを作成する。更新判定部50は、インデックス付きのグローバル動きベクトルGMVを、動き補償予測部70と大域動きベクトル符号化部74とに与える。
The
また、更新判定部50は、大域動きベクトル算出部68から受け取ったグローバル動きベクトルと、処理対象のフレームより前に処理したフレーム内で算出されたグローバル動きベクトルとを比較し、参照テーブル内のグローバル動きベクトルを更新するか否かを判定する。
The
前に処理したフレームで算出されたグローバル動きベクトル(以下、「旧グローバル動きベクトル」という)は、大域動きベクトル一時記憶部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
動き補償予測部70は、ローカル動きベクトルLMVまたはグローバル動きベクトルGMVを用いて対象マクロブロックを動き予測して予測画像を生成し、符号化対象画像と予測画像の差分画像をDCT部20に出力する。
The motion compensated
動き補償予測部70は、動きベクトル選択部54と、予測画像生成部56と、差分画像出力部58とを含む。
The motion
動きベクトル選択部54は、対象マクロブロックについて、参照テーブルに定められた1つまたは複数のグローバル動きベクトルGMVと、マクロブロック単位のローカル動きベクトルLMVのいずれを用いて動き予測をすべきかを決定する。そのために、予測画像生成部56は、ローカル動きベクトルLMVを用いて動き予測した予測画像と、グローバル動きベクトルGMVのそれぞれを用いて動き予測した予測画像とを生成し、各予測画像について符号化対象画像との差分画像を作成する。動きベクトル選択部54は、作成された差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量同士を比較し、符号量が最小となった予測画像の生成で使用された動きベクトルを選択する。差分画像出力部58は、符号量が最小となった差分画像をDCT部20に出力する。
The motion
動きベクトル選択部54は、ローカル動きベクトルLMV、またはグローバル動きベクトルGMVのいずれを選択したかについての情報を、局所動きベクトル符号化部72に与える。
The motion
局所動きベクトル符号化部72は、局所動きベクトル検出部66からマクロブロック毎にローカル動きベクトルLMVを受け取る。また、局所動きベクトル符号化部72は、動き補償予測部70において符号量が最小となる予測画像を生成するためにローカル動きベクトルが用いられたマクロブロックについて、マクロブロック毎にローカル動きベクトルLMVを可変長符号化する。局所動きベクトル符号化部72は、符号化後のローカル動きベクトルLMVを動きベクトル情報として多重化部92に与える。
The local motion
また、局所動きベクトル符号化部72は、マクロブロック毎に、符号量が最小となる予測画像を生成するためにグローバル動きベクトルを使用したか否かを示すフラグ(以下、「GMV使用フラグ」という)と、グローバル動きベクトルを使用した場合には、参照テーブルにおいてその大域動きベクトルに対応するインデックスの情報とを多重化部92に与える。
In addition, the local motion
大域動きベクトル符号化部74は、更新判定部50からインデックス付きのグローバル動きベクトルGMVを受け取り、可変長符号化する。
The global motion
更新判定部50において参照テーブル内のグローバル動きベクトルの更新の判定をしている場合、大域動きベクトル符号化部74は、更新すべきと判定されたグローバル動きベクトルGMVとそれに対応するインデックスとを可変長符号化する。この場合、参照テーブルを更新したか否かを示すフラグ(以下、「テーブル更新フラグ」という)と更新したグローバル動きベクトルの数(「Num」と表記する)とを多重化部92に与える。更新判定部50において、グローバル動きベクトルを更新しないと判定された場合、大域動きベクトル符号化部74はグローバル動きベクトルの可変長符号化を実行しない。
When the
大域動きベクトル符号化部74は、グローバル動きベクトルGMVの全体を可変長符号化する変わりに、更新前のグローバル動きベクトルGMV’との差分(GMV−GMV’)を可変長符号化してもよい。
The global motion
大域動きベクトル符号化部74は、符号化後の各グローバル領域のグローバル動きベクトルGMVとインデックスとを動きベクトル情報として多重化部92に与える。このとき、大域動きベクトル符号化部74は、領域設定部64により設定されたグローバル領域についての領域情報を動きベクトル情報の一部に付加する。
The global motion
多重化部92には、グローバル動きベクトルGMV、インデックス、ローカル動きベクトルLMV、各種フラグが与えられることになる。
The multiplexing
図4は、実施例1に係る動き補償部60による動きベクトルの差分符号化の手順を説明するフローチャートである。図5および図6の例を適宜参照しながら符号化の手順を説明する。
FIG. 4 is a flowchart illustrating the procedure of differential encoding of the motion vector by the
符号化装置100のフレームメモリ80に符号化対象画像が入力される(S10)。動き補償部60の局所動きベクトル検出部66は、符号化対象画像においてマクロブロック単位でローカル動きベクトルLMVを検出する(S12)。
An encoding target image is input to the
次に、領域設定部64は、画像上にグローバル領域を設定し(S14)、大域動きベクトル算出部68は、グローバル領域毎にグローバル動きベクトルGMVを算出する(S16)。
Next, the
更新判定部50は、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S18)。後述するように、このデータはフレームのヘッダに格納される。
The
動き補償予測部70は、各対象マクロブロックについて、S18でインデックスが付与されたグローバル動きベクトルGMVと、各対象マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S20)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。
If the motion
局所動きベクトル符号化部72は、S20においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S22)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。
The local motion
フレーム内の全てのマクロブロックについて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
更新判定部50は、フレーム毎にグローバル動きベクトルGMV1〜GMV3にインデックスを付与して参照テーブルを作成する。図5(b)は、参照テーブルの一例であり、グローバル動きベクトルGMV1〜GMV3にそれぞれインデックス1〜3が割り当てられている。グローバル動きベクトル情報とインデックスは、符号化ストリームのフレームヘッダに格納される。
The
図5(a)の場合、動き補償予測部70は、各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、グローバル動きベクトルGMV1〜GMV3のいずれを用いるかを決定する。
In the case of FIG. 5A, the motion
図中、マクロブロック120については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも第3グローバル動きベクトルGMV3を用いて動き補償したときにマクロブロックの符号量が最小となったため、第3グローバル動きベクトルGMV3が選択されたものとする。また、マクロブロック118については、当該マクロブロックについて算出されたローカル動きベクトルLMVよりも、第2グローバル動きベクトルGMV2を用いて動き補償したときにマクロブロックの符号量が最小となったため、第2グローバル動きベクトルGMV2が選択されたものとする。
In the figure, for the
背景領域内のマクロブロック118、120以外のマクロブロックでは、各マクロブロックのローカル動きベクトルLMVを用いて動き補償した方が符号量が少なくなったため、グローバル動きベクトルを用いることなくローカル動きベクトルが選択される。
For macroblocks other than the
図6は、多重化部92により生成される符号化ストリーム200のデータ構造を説明する図である。符号化ストリーム200は、ストリームパラメータ202と、フレームヘッダ204と、各フレームのデータから構成される。
FIG. 6 is a diagram for explaining the data structure of the encoded
本実施例では、フレームヘッダ204に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。
In this embodiment, reference frame information, that is, global motion vector and index information is stored in the
「Num」210は、フレームヘッダ204内に格納されるグローバル動きベクトルの数を表す。Num210で表された数のインデックス212とグローバル動きベクトル(GMV)214の対がその後に続く。
“Num” 210 represents the number of global motion vectors stored in the
このとき、符号化ストリーム200を処理する復号装置では、処理が先行するフレームで設定された参照テーブルのインデックスと同一のインデックスが付与されたグローバル動きベクトルのみを更新するようにしてもよい。例えば、処理が先行するフレームにおいて図5(b)の参照テーブルが設定されていたとする。後続するフレームのフレームヘッダ204に、インデックス1とインデックス3のみが含まれていた場合、これらのグローバル動きベクトルGMV1、GMV3は更新されるが、インデックス2が付与されたグローバル動きベクトルGMV2は有効なままとなる。代替的に、フレーム毎に参照テーブルをリセットしてしまい、フレームヘッダ204にインデックスとグローバル動きベクトルの対があるものだけ、当該フレームの参照テーブルとして用いるようにしてもよい。
At this time, the decoding apparatus that processes the encoded
スライスデータ208には、マクロブロック毎にデータが格納される。GMV使用フラグ270は、対応するマクロブロックについてグローバル動きベクトルGMVを用いた予測符号化をしたか否かを示す。GMV使用フラグ270が「1」の場合には、グローバル動きベクトルを用いることを示すので、このフラグに続いて、参照テーブル内の複数のグローバル動きベクトルのうちいずれを使用したかを示すインデックス272が格納される。GMV使用フラグ270が「0」の場合には、グローバル動きベクトルを使用せずローカル動きベクトルを使用したことを示すので、インデックスは格納されない。スライスデータ208には、差分画像やローカル動きベクトルLMVの情報も含まれる。
The
図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
実施例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
更新判定部50は、スライス毎に、各グローバル動きベクトルにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S38)。後述するように、このデータはスライスヘッダに格納される。
The
動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S38でインデックスが付与されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S40)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。
The motion
局所動きベクトル符号化部72は、S40においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S42)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。
The local motion
フレーム内の全てのスライスについて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
実施例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
動き補償予測部70は、スライス3に含まれる各マクロブロックの予測符号化を実行する際に、各マクロブロックについて算出されたローカル動きベクトルLMVと、スライス3の参照テーブル(図9(b))に設定されたグローバル動きベクトルGMV1、GMV2のいずれを用いるかを決定する。
When the motion
図中のスライス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
図10は、多重化部92により生成される符号化ストリーム220のデータ構造を説明する図である。
FIG. 10 is a diagram for explaining the data structure of the encoded
本実施例では、スライスヘッダ206に参照テーブルの情報、すなわちグローバル動きベクトルとインデックスの情報が格納され、スライスデータ208内でマクロブロック毎にGMV使用フラグ270が格納される。
In this embodiment, reference table information, that is, global motion vector and index information is stored in the
テーブル更新フラグ258は、当該スライスにおいて、グローバル動きベクトルの参照テーブルを更新するか否かを示すフラグである。テーブル更新フラグ258が「0」であれば、参照テーブルは更新されず、当該スライスより前のスライスで設定された参照テーブルが有効であり続ける。テーブル更新フラグ258が「1」であれば、参照テーブルが更新される。この場合、「Num」260は、スライスヘッダ206に格納されるグローバル動きベクトルの数を表す。Num260で表された下図のインデックス262とグローバル動きベクトル(GMV)264の対がその後に続く。
The
スライスデータ208には、マクロブロック毎にGMV使用フラグ270と対応する差分画像や局所動きベクトルのデータが格納される。スライスデータ208のデータ構造は、上述の図6と同様であるため、説明を省略する。
The
実施例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
図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
更新判定部50は、各グローバル動きベクトルGMVにインデックスを付与し、またグローバル動きベクトルの参照テーブルを更新するか否かを判定する。グローバル動きベクトル符号化部74は、グローバル動きベクトルGMVとインデックスとを対応させて可変長符号化する(S58)。このデータはフレームのヘッダに格納される。
The
動き補償予測部70は、スライス毎に、参照テーブル内のグローバル動きベクトルGMVのうちいずれか1つを指定する(S60)。
The motion
動き補償予測部70は、スライス内に含まれる各マクロブロックについて、S60で指定されたグローバル動きベクトルGMVと、各マクロブロックについて算出されたローカル動きベクトルLMVのいずれを用いて動き補償すれば、差分画像の符号量と動きベクトルの符号量とを合わせたマクロブロックの符号量が最小となるかを判定する(S62)。動き補償予測部70は、マクロブロックの符号量を最小とする動きベクトルを局所動きベクトル符号化部72に伝える。
If the motion
局所動きベクトル符号化部72は、S62においてローカル動きベクトルを用いるとマクロブロックの符号量が最小となると判定された場合、ローカル動きベクトルを符号化する(S64)。さらに、グローバル動きベクトルを用いて予測符号化を実行したか否かを示すGMV使用フラグを多重化部に与える。
The local motion
フレーム内の全てのスライスについて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
本実施例では、フレームヘッダ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
フレームヘッダ204のデータ構造は、図6で説明したのと同様である。スライスヘッダ206には、当該スライスでグローバル動きベクトルを使用するか否かを示すGMV使用フラグ280が格納される。GMV使用フラグ280が「1」であれば、使用するグローバル動きベクトルを指定するインデックス282がその後に続く。GMV使用フラグ280が「0」であれば、当該スライスに含まれる各マクロブロックではグローバル動きベクトルを使用せずローカル動きベクトルのみを使用するので、後述するGMV使用フラグ284は存在しない。
The data structure of the
GMV使用フラグ284は、インデックス282で指定されたグローバル動きベクトルを、各マクロブロックで使用するか否かを示す。GMV使用フラグ284が「1」の場合には、グローバル動きベクトルを使用してそのマクロブロックを動き補償し、GMV使用フラグ284が「0」の場合には、ローカル動きベクトルを使用してそのマクロブロックを動き補償する。
The
図13は、実施の形態に係る復号装置300の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
FIG. 13 is a configuration diagram of the
復号装置300は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。入力された符号化ストリームはフレームメモリ380に格納される。
The
可変長復号部310は、フレームメモリ380に格納された符号化ストリームを可変長復号し、復号された画像データを逆量子化部320に供給し、復号された動きベクトル情報を動き補償部360に供給する。
The variable
逆量子化部320は、可変長復号部310により復号された画像データを逆量子化し、逆DCT部330に供給する。逆量子化部320により逆量子化された画像データはDCT係数である。逆DCT部330は、逆量子化部320により逆量子化されたDCT係数を逆離散コサイン変換(IDCT)することにより、元の画像データを復元する。逆DCT部330により復元された画像データは、動き補償部360に供給される。
The
動き補償部360は、過去または未来の画像フレームを参照画像として利用し、可変長復号部310から供給される動きベクトル情報を用いて予測画像を生成し、逆DCT部330から供給される差分画像と加算することにより、元の画像データを復元し、出力する。
The
図14は、動き補償部360の構成を説明する図である。復号装置300に入力される符号化ストリームは、図1の符号化装置100により符号化されたものであり、動き補償部360には、グローバル動きベクトルGMV、インデックス、各種フラグ、ローカル動きベクトルLMVが供給される。動き補償部360は、これらの情報を参照して、復号対象フレームのローカル動きベクトルLMVを求め、動き補償を行う。
FIG. 14 is a diagram illustrating the configuration of the
テーブル作成部364は、可変長復号部310からグローバル動きベクトルとインデックスの入力を受け取り、グローバル動きベクトルの参照テーブルを作成する。
The
例えば、図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
図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
The
画像復元部366は、参照画像と各グローバル領域内のマクロブロック単位のローカル動きベクトルLMVまたは参照テーブル内のグローバル動きベクトルGMVを用いて予測画像を生成し、逆DCT部330から与えられた差分画像と予測画像を加算して元の画像を復元し、出力する。
The
図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
図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
以上述べたように、本実施の形態の符号化装置100によれば、フレーム単位で、またはスライス毎にグローバル動きベクトルとインデックスとを対応させたテーブルを作っておき、各マクロブロックにおいて予測符号化に使用するグローバル動きベクトルをインデックスで指定できるようにした。これによって、同一のフレームやスライス内で、異なるグローバル領域に含まれるマクロブロックで同じグローバル動きベクトルを用いて予測符号化する際に、グローバル動きベクトルを重複して符号化ストリームに含める必要がなくなる。したがって、グローバル動きベクトルに起因する符号化データのデータ量を削減でき、動画ストリームの圧縮効率を高めることができる。
As described above, according to
また、マクロブロック毎にグローバル動きベクトルを使用するか否かを表す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
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 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
上記の説明では、フレーム毎、領域毎、マクロブロック毎に、インデックスを用いて動きベクトルを特定する参照テーブルを設けたが、参照テーブルは、それより大きい単位、例えば、ストリーム全体や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
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
Claims (6)
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)
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 |
-
2006
- 2006-06-30 JP JP2006182514A patent/JP2008011455A/en active Pending
Cited By (28)
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 |