JP2013077865A - Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method - Google Patents
Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method Download PDFInfo
- Publication number
- JP2013077865A JP2013077865A JP2010027520A JP2010027520A JP2013077865A JP 2013077865 A JP2013077865 A JP 2013077865A JP 2010027520 A JP2010027520 A JP 2010027520A JP 2010027520 A JP2010027520 A JP 2010027520A JP 2013077865 A JP2013077865 A JP 2013077865A
- Authority
- JP
- Japan
- Prior art keywords
- image
- direct vector
- vector
- block
- temporal direct
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
この発明は、画像圧縮符号化技術や圧縮画像データ伝送技術などに用いられる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法に関するものである。 The present invention relates to an image encoding device, an image decoding device, an image encoding method, and an image decoding method used for image compression encoding technology, compressed image data transmission technology, and the like.
例えば、MPEG(Moving Picture Experts Group)や「ITU−T H.26x」などの国際標準映像符号化方式では、輝度信号16×16画素と、その輝度信号16×16画素に対応する色差信号8×8画素とをまとめたブロックデータ(以下、「マクロブロック」と称する)を一単位として、動き補償技術や直交変換/変換係数量子化技術に基づいて圧縮する方法が採用されている。
画像符号化装置及び画像復号装置における動き補償処理では、前方または後方のピクチャを参照して、マクロブロック単位で動きベクトルの検出や予測画像の生成を行う。
このとき、1枚のピクチャのみを参照して、画面間予測符号化を行うものをPピクチャと称し、同時に2枚のピクチャを参照して、画面間予測符号化を行うものをBピクチャと称する。
For example, in an international standard video encoding method such as MPEG (Moving Picture Experts Group) or “ITU-T H.26x”, a luminance signal 16 × 16 pixels and a
In the motion compensation processing in the image encoding device and the image decoding device, a motion vector is detected and a predicted image is generated in units of macroblocks with reference to a front or rear picture.
At this time, a picture that performs inter-frame prediction encoding with reference to only one picture is referred to as a P picture, and a picture that performs inter-frame prediction encoding with reference to two pictures at the same time is referred to as a B picture. .
国際標準方式であるAVC/H.264(ISO/IEC 14496−10|ITU−T H.264)では、Bピクチャを符号化する際に、ダイレクトモードと呼ばれる符号化モードを選択することができる(例えば、非特許文献1を参照)。
即ち、符号化対象のマクロブロックには、動きベクトルの符号化データを持たず、符号化済みの他のピクチャのマクロブロックの動きベクトルや、空間的に周囲の符号化済みマクロブロックの動きベクトルを用いる所定の演算処理で、符号化対象のマクロブロックの動きベクトルを生成する符号化モードを選択することができる。
AVC / H. Is an international standard system. H.264 (ISO / IEC 14496-10 | ITU-T H.264) can select a coding mode called a direct mode when coding a B picture (see, for example, Non-Patent Document 1). .
That is, the encoding target macroblock does not have motion vector encoded data, and the motion vector of another encoded macroblock or the motion vector of a spatially surrounding encoded macroblock A coding mode for generating a motion vector of a macroblock to be coded can be selected by a predetermined calculation process to be used.
このダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードの2種類が存在する。
時間ダイレクトモードでは、符号化済みの他ピクチャの動きベクトルを参照し、符号化済みピクチャと符号化対象のピクチャとの時間差に応じて動きベクトルのスケーリング処理を行うことで、符号化対象のマクロブロックの動きベクトルを生成する。
空間ダイレクトモードでは、符号化対象のマクロブロックの周囲に位置している少なくとも1つ以上の符号化済みマクロブロックの動きベクトルを参照し、それらの動きベクトルから符号化対象のマクロブロックの動きベクトルを生成する。
このダイレクトモードでは、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。
There are two types of direct mode: temporal direct mode and spatial direct mode.
In the temporal direct mode, the motion vector scaling process is performed according to the time difference between the coded picture and the picture to be coded by referring to the motion vector of the other picture that has been coded. Generate a motion vector of.
In the spatial direct mode, the motion vector of at least one encoded macroblock located around the macroblock to be encoded is referenced, and the motion vector of the macroblock to be encoded is determined from those motion vectors. Generate.
In this direct mode, by using “direct_spatial_mv_pred_flag” which is a flag provided in the slice header, it is possible to select either the temporal direct mode or the spatial direct mode in units of slices.
ここで、図12は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図12において、「P」はPピクチャを表し、「B」はBピクチャを表している。
また、数字0−3はピクチャの表示順を示し、時間T0,T1,T2,T3の表示画像であることを表している。
ピクチャの符号化処理は、P0,P3,B1,B2の順番で行われているものとする。
Here, FIG. 12 is a schematic diagram showing a method of generating a motion vector in the temporal direct mode.
In FIG. 12, “P” represents a P picture, and “B” represents a B picture.
Numbers 0 to 3 indicate the display order of pictures and indicate that the images are displayed at times T0, T1, T2 and T3.
It is assumed that the picture encoding process is performed in the order of P0, P3, B1, and B2.
例えば、ピクチャB2の中のマクロブロックMB1を時間ダイレクトモードで符号化する場合を想定する。
この場合、ピクチャB2の時間軸上後方にある符号化済みピクチャのうち、ピクチャB2に一番近いピクチャP3の動きベクトルであって、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2の動きベクトルMVを用いる。
この動きベクトルMVはピクチャP0を参照しており、マクロブロックMB1を符号化する際に用いる動きベクトルMVL0,MVL1は、以下の式(1)で求められる。
For example, it is assumed that the macroblock MB1 in the picture B2 is encoded in the temporal direct mode.
In this case, the motion of the macroblock MB2 which is the motion vector of the picture P3 closest to the picture B2 among the encoded pictures located on the rear side of the picture B2 on the time axis, and is in the same spatial position as the macroblock MB1. Vector MV is used.
The motion vector MV refers to the picture P0, and the motion vectors MVL0 and MVL1 used when encoding the macroblock MB1 are obtained by the following equation (1).
ただし、ピクチャP3におけるマクロブロックMB2が2つ以上の矩形ブロックに分割されていた場合、図13に示すように、マクロブロックMB2の左上の画素を含む矩形ブロックの動きベクトルを動きベクトルMVとして用いることが、AVC/H.264で定められている。 However, when the macroblock MB2 in the picture P3 is divided into two or more rectangular blocks, the motion vector of the rectangular block including the upper left pixel of the macroblock MB2 is used as the motion vector MV as shown in FIG. However, AVC / H. H.264.
従来の画像符号化装置は以上のように構成されているので、常にマクロブロックMB2の左上の画素を含む矩形ブロックの動きベクトルを動きベクトルMVとして用いている。このため、ピクチャP3におけるマクロブロックMB2が2つ以上の矩形ブロックに分割されていた場合、使用する動きベクトルMVが、必ずしも符号化対象のマクロブロックMB1と空間的に同じ画素位置の動きを示しているとは限らず、時間ダイレクトベクトルの精度が低下して符号化効率が悪化することがある課題があった。 Since the conventional image coding apparatus is configured as described above, the motion vector of the rectangular block including the upper left pixel of the macro block MB2 is always used as the motion vector MV. For this reason, when the macro block MB2 in the picture P3 is divided into two or more rectangular blocks, the motion vector MV to be used does not necessarily indicate the motion at the same pixel position as the macro block MB1 to be encoded. However, there is a problem that the accuracy of the temporal direct vector is lowered and the coding efficiency may be deteriorated.
この発明は上記のような課題を解決するためになされたもので、符号化対象のマクロブロックの動きに近い時間ダイレクトベクトルを生成して、符号化効率を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
また、この発明は、符号化装置と同様の手段で時間ダイレクトベクトルを生成することで、符号化効率の高い符号化ストリームを復号することができる画像復号装置及び画像復号方法を得ることを目的とする。
The present invention has been made in order to solve the above-described problems. An image encoding apparatus and an image which can generate a time direct vector close to the motion of a macroblock to be encoded and can increase encoding efficiency. The object is to obtain an encoding method.
Another object of the present invention is to obtain an image decoding apparatus and an image decoding method capable of decoding an encoded stream with high encoding efficiency by generating a temporal direct vector by means similar to the encoding apparatus. To do.
この発明に係る画像符号化装置は、ダイレクトベクトル生成手段が、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、そのブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するようにしたものである。 In the image encoding device according to the present invention, the direct vector generation means spatially links the encoding target block from among the blocks constituting the encoded picture that is temporally adjacent to the encoding target block. The block at the same position is specified, and the time direct vector of the time direct mode is generated from the motion vectors of a plurality of divided regions located at the center of the block.
この発明によれば、ダイレクトベクトル生成手段が、符号化対象のブロックの時間的に近傍にある符号化済みピクチャを構成しているブロックの中から、符号化対象のブロックと空間的に同じ位置にあるブロックを特定し、そのブロックの中心に位置している複数の分割領域の動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、符号化対象のブロックの動きに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、符号化対象のブロックの符号化効率を高めることができる効果がある。 According to the present invention, the direct vector generation means is located in the same spatial position as the block to be encoded among the blocks constituting the encoded picture that is temporally adjacent to the block to be encoded. Since a certain block is specified and the time direct vector of the time direct mode is generated from the motion vectors of multiple divided regions located at the center of the block, the time direct that is close to the motion of the block to be encoded It becomes possible to generate a temporal direct vector of the mode, and as a result, there is an effect that the encoding efficiency of the block to be encoded can be increased.
実施の形態1.
この実施の形態1では、入力画像を構成している映像フレームを16×16画素の矩形領域(マクロブロック)に均等に分割した単位で、フレーム内に閉じた符号化を行う画像符号化装置と、その画像符号化装置に対応している画像復号装置について説明する。
また、この実施の形態1では、画像符号化装置及び画像復号装置が、AVC/H.264規格で採用されている符号化方式を使用している例を説明する。
ただし、この実施の形態1では、画像符号化装置及び画像復号装置が、ダイレクトモードを使用する場合、時間ダイレクトモードを使用するものとするが、必要に応じて空間ダイレクトモードを使用するようにしてもよい。
Embodiment 1 FIG.
In the first embodiment, an image encoding device that performs encoding that is closed in a frame in units obtained by equally dividing a video frame constituting an input image into rectangular regions (macroblocks) of 16 × 16 pixels. An image decoding device corresponding to the image encoding device will be described.
In the first embodiment, the image encoding device and the image decoding device are both AVC / H. An example in which the encoding method employed in the H.264 standard is used will be described.
However, in the first embodiment, when the image encoding device and the image decoding device use the direct mode, the temporal direct mode is used. However, the spatial direct mode is used if necessary. Also good.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、動き補償予測部1はフレームメモリ8に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、入力画像を構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の単位で、動き補償予測処理を実行して、当該マクロブロック(符号化対象のマクロブロック)の動きベクトルを生成して予測画像を生成し、それぞれのブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像等を出力する処理を実施する。
ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
FIG. 1 is a block diagram showing an image coding apparatus according to Embodiment 1 of the present invention.
In FIG. 1, the motion compensation prediction unit 1 selects a reference image of one frame from the reference images for motion compensation prediction stored in the
However, here, for convenience of explanation, it is assumed that a predicted image is generated by generating a motion vector in units of macroblocks.
即ち、動き補償予測部1は符号化済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している動きベクトルメモリ11(図2を参照)を実装しており、時間ダイレクトモードの場合は入力画像を構成しているマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ11に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを用いて動き補償予測処理を実施することで、予測画像を生成する処理を実施する。 That is, the motion compensation prediction unit 1 stores a motion vector memory 11 (see FIG. 2) that stores a motion vector of a macro block (or a sub macro block obtained by dividing the macro block) that constitutes an encoded picture. In the case of temporal direct mode, for each macroblock constituting the input image, the macro is selected from among the macroblocks constituting an encoded picture that is temporally close to the macroblock. A macroblock located in the same spatial position as the block is identified, and motion vectors (motion vectors stored in the motion vector memory 11) of, for example, four blocks (divided areas) located at the center of the macroblock Generate a time direct vector for time direct mode from the time direct vector By carrying out can compensation prediction process, we carry out a process of generating the predicted image.
減算器2は動き補償予測部1により生成された予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部3に出力する処理を実施する。
符号化モード判定部3は減算器2から出力された予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部1で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード情報として可変長符号化部9に出力し、また、最も予測効率が高い予測差分信号を圧縮部4に出力する処理を実施する。
The
The encoding
圧縮部4は符号化モード判定部3から出力された予測差分信号に対するDCT(離散コサイン変換)処理を実施することでDCT係数を算出するとともに、そのDCT係数を量子化して、量子化後のDCT係数である圧縮データ(量子化係数)を局部復号部5及び可変長符号化部9に出力する処理を実施する。
なお、減算器2、符号化モード判定部3及び圧縮部4から量子化手段が構成されている。
The
Note that the
局部復号部5は圧縮部4から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT(逆離散コサイン変換)処理を実施することで、符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号を算出する処理を実施する。
加算器6は局部復号部5により算出された予測誤差信号と動き補償予測部1により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する処理を実施する。
The
The adder 6 adds a prediction error signal calculated by the
ループフィルタ7は加算器6から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ8に出力する処理を実施する。
フレームメモリ8はループフィルタ7から出力された参照画像を格納するRAMなどの記録媒体である。
The
The
可変長符号化部9は圧縮部4から出力された圧縮データ及び動き補償予測部1から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリーム(符号化データ)を生成し、そのビットストリームを出力する処理を実施する。
なお、可変長符号化部9は可変長符号化手段を構成している。
ただし、動きベクトル情報については、そのまま符号化してもよいし、例えば、H.264/AVCのように、符号化済みマクロブロックの動きベクトルを用いて予測ベクトルを生成し、その予測ベクトルとの差分を符号化するようにしてもよい。
The variable length encoding unit 9 receives the compressed data output from the
The variable length coding unit 9 constitutes variable length coding means.
However, the motion vector information may be encoded as it is. As in H.264 / AVC, a prediction vector may be generated using a motion vector of an encoded macroblock, and a difference from the prediction vector may be encoded.
非矩形ブロックの動きベクトルを予測する場合には、例えば、図11のような方法が考えられる。図11において、矢印は予測ベクトルの導出に利用する周辺の動きベクトルを表している。
○で囲まれている3本の動きベクトルが指し示めしている分割領域の予測ベクトルは、○で囲まれている3本の動きベクトルのメディアン(中央値)によって求められる。
When predicting a motion vector of a non-rectangular block, for example, a method as shown in FIG. 11 is conceivable. In FIG. 11, an arrow represents a peripheral motion vector used for deriving a prediction vector.
The prediction vector of the divided area indicated by the three motion vectors surrounded by circles is obtained by the median (median value) of the three motion vectors surrounded by circles.
図2はこの発明の実施の形態1による画像符号化装置の動き補償予測部1を示す構成図である。
図2において、動きベクトルメモリ11は符号化済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
動きベクトル探索部12は符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部14及び動きベクトルメモリ11に出力する処理を実施する。
FIG. 2 is a block diagram showing the motion compensated prediction unit 1 of the image coding apparatus according to Embodiment 1 of the present invention.
In FIG. 2, a
When the motion
時間ダイレクトベクトル生成部13は符号化モードが時間ダイレクトモードである旨を示す情報を受信すると、符号化対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ11に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを動きベクトルとして、動き補償処理部14及び動きベクトルメモリ11に出力する処理を実施する。
なお、時間ダイレクトベクトル生成部13はダイレクトベクトル生成手段を構成している。
When the time direct
The time direct
動き補償処理部14は動きベクトル探索部12又は時間ダイレクトベクトル生成部13から出力された動きベクトルとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。なお、動き補償処理部14は予測画像生成手段を構成している。
The motion
図3はこの発明の実施の形態1による画像復号装置を示す構成図である。
図3において、可変長復号部21は図1の画像符号化装置から出力されたビットストリーム(符号化データ)を入力し、そのビットストリームから圧縮データ(量子化係数)及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部22に出力し、その符号化モード情報を動き補償予測部23に出力する処理を実施する。なお、可変長復号部21は可変長復号手段を構成している。
3 is a block diagram showing an image decoding apparatus according to Embodiment 1 of the present invention.
In FIG. 3, a variable
予測誤差復号部22は可変長復号部21から出力された圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号)を算出する処理を実施する。なお、予測誤差復号部22は逆量子化手段を構成している。
The prediction
動き補償予測部23はフレームメモリ26に格納されている1フレーム以上の参照画像の中から、可変長復号部21から出力された識別番号が示す参照画像を読み出し、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
一方、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、図1の画像符号化装置における動き補償予測部1と同様にして、時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する処理を実施する。
The motion
On the other hand, when the macroblock type / sub-macroblock type output from the variable
加算器24は動き補償予測部23により生成された予測画像と予測誤差復号部22から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器6から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する処理を実施する。
ループフィルタ25は加算器24により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ26に格納するとともに、その復号画像を外部に出力する処理を実施する。
なお、加算器24及びループフィルタ25から画像加算手段が構成されている。
フレームメモリ26はループフィルタ25から出力された参照画像を格納するRAMなどの記録媒体である。
The
The
The
The
図4はこの発明の実施の形態1による画像復号装置の動き補償予測部23を示す構成図である。
図4において、動きベクトルメモリ31は復号済みピクチャを構成しているマクロブロック(あるいは、マクロブロックを分割したサブマクロブロック)の動きベクトルを格納している例えばRAMなどの記録媒体である。
FIG. 4 is a block diagram showing the motion
In FIG. 4, a
時間ダイレクトベクトル生成部32は可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している例えば4個のブロック(分割領域)の動きベクトル(動きベクトルメモリ31に格納されている動きベクトル)から時間ダイレクトモードの時間ダイレクトベクトルを生成し、その時間ダイレクトベクトルを動きベクトルとして、動き補償処理部33及び動きベクトルメモリ31に出力する処理を実施する。
なお、時間ダイレクトベクトル生成部32はダイレクトベクトル生成手段を構成している。
In the case where the macro block type / sub macro block type output from the variable
The time direct
動き補償処理部33はフレームメモリ26に格納されている1フレーム以上の参照画像の中から、可変長復号部21から出力された識別番号が示す参照画像を読み出し、マクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成し、マクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、時間ダイレクトベクトル生成部32から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する処理を実施する。なお、動き補償処理部33は予測画像生成手段を構成している。
The motion
図1では、画像符号化装置の構成要素である動き補償予測部1、減算器2、符号化モード判定部3、圧縮部4、局部復号部5、加算器6、ループフィルタ7及び可変長符号化部9のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像符号化装置がコンピュータで構成される場合、動き補償予測部1、減算器2、符号化モード判定部3、圧縮部4、局部復号部5、加算器6、ループフィルタ7及び可変長符号化部9の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図5はこの発明の実施の形態1による画像符号化装置の処理内容を示すフローチャートである。
In FIG. 1, a motion compensation prediction unit 1, a
FIG. 5 is a flowchart showing the processing contents of the image coding apparatus according to Embodiment 1 of the present invention.
図3では、画像復号装置の構成要素である可変長復号部21、予測誤差復号部22、動き補償予測部23、加算器24及びループフィルタ25のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、画像復号装置がコンピュータで構成される場合、可変長復号部21、予測誤差復号部22、動き補償予測部23、加算器24及びループフィルタ25の処理内容を記述しているプログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図6はこの発明の実施の形態1による画像復号装置の処理内容を示すフローチャートである。
In FIG. 3, each of the variable
FIG. 6 is a flowchart showing the processing contents of the image decoding apparatus according to Embodiment 1 of the present invention.
次に動作について説明する。
最初に、図1の画像符号化装置の処理内容を説明する。
動き補償予測部1は、入力画像を示す動画像信号を入力すると、その動画像信号の各フレームをマクロブロック単位(あるいは、サブマクロブロック単位)に分割する。
動き補償予測部1は、動画像信号をマクロブロック単位(あるいは、サブマクロブロック単位)に分割すると、フレームメモリ8に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロック単位(あるいは、サブマクロブロック単位)で、色成分毎に動き補償予測処理を実行することで、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成する。
Next, the operation will be described.
First, the processing contents of the image encoding device in FIG. 1 will be described.
When a moving image signal indicating an input image is input, the motion compensation prediction unit 1 divides each frame of the moving image signal into macro block units (or sub macro block units).
When the motion compensation prediction unit 1 divides the video signal into macroblock units (or sub-macroblock units), one frame from the reference images for motion compensation prediction stored in the
動き補償予測部1は、符号化対象のマクロブロック(あるいは、サブマクロブロック)の動きベクトルを生成して予測画像を生成すると、その予測画像を減算器2に出力するとともに、その予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロック(あるいは、サブマクロブロック)において使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)及び参照画像の識別番号を符号化モード判定部3に出力する。
以下、動き補償予測部1の処理内容を具体的に説明する。
ただし、ここでは、説明の便宜上、マクロブロック単位で、動きベクトルを生成して予測画像を生成するものとする。
When the motion compensated prediction unit 1 generates a prediction image by generating a motion vector of a macroblock (or sub-macroblock) to be encoded, the motion compensation prediction unit 1 outputs the prediction image to the
Hereinafter, the processing content of the motion compensation prediction part 1 is demonstrated concretely.
However, here, for convenience of explanation, it is assumed that a predicted image is generated by generating a motion vector in units of macroblocks.
動き補償予測部1の動きベクトル探索部12は、符号化モードがインターモードである旨を示す情報を受信(例えば、外部からインターモードを使用する旨を示す情報を受信)すると(図5のステップST1)、インターモードで最適な動きベクトルを探索し、その動きベクトルを動き補償処理部14に出力する(ステップST2)。
インターモードで最適な動きベクトルを探索する処理自体は公知の技術であるため詳細な説明を省略する。
When the motion
Since the process of searching for an optimal motion vector in the inter mode is a known technique, detailed description thereof is omitted.
動き補償予測部1の時間ダイレクトベクトル生成部13は、符号化モードがダイレクトモードである旨を示す情報を受信すると(ステップST1)、符号化対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する(ステップST3)。
例えば、符号化対象のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
When receiving the information indicating that the coding mode is the direct mode (step ST1), the temporal direct
For example, when the macroblock to be encoded is the macroblock MB1 of the picture B2, as shown in FIG. 12, the macroblocks constituting the encoded picture P3 that is temporally adjacent to the macroblock MB1. The macro block MB2 located in the same spatial position as the macro block MB1 is identified from the inside.
時間ダイレクトベクトル生成部13は、符号化対象のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図7に示すように、動きベクトルメモリ11に格納されている符号化済みの動きベクトルの中から、そのマクロブロックMB2の中心に位置している4個の矩形ブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する(ステップST4)。
図7の例では、左上の矩形ブロックの動きベクトルをMV1、右下の矩形ブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
時間ダイレクトベクトル生成部13は、4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)を取得すると、下記の式(2)に示すように、4個の動きベクトルMViの加算平均を求めることで、符号化対象のマクロブロックMB1における時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する(ステップST5)。
When the temporal direct
In the example of FIG. 7, the motion vector of the upper left rectangular block is MV 1 , the motion vector of the lower right rectangular block is MV 4, and numbers are assigned in the raster scan order.
When the temporal direct
時間ダイレクトベクトル生成部13は、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成すると、その時間ダイレクトベクトルMVdirectを動きベクトルとして、動き補償処理部14及び動きベクトルメモリ11に出力する。
When generating the time direct vector MV direct in the time direct mode, the time direct
動き補償予測部1の動き補償処理部14は、符号化モードがインターモードであるとき、動きベクトル探索部12から動きベクトルを受けると、その動きベクトルとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST6)。
一方、符号化モードがダイレクトモードであるとき、時間ダイレクトベクトル生成部13から動きベクトルとして時間ダイレクトベクトルMVdirectを受けると、その時間ダイレクトベクトルMVdirectとフレームメモリ8に格納されている1フレームの参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する(ステップST6)。
なお、動き補償処理部14の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
When the motion
On the other hand, when the encoding mode is the direct mode, when the temporal direct vector MV direct is received from the temporal direct
Note that the motion compensation prediction process of the motion
減算器2は、動き補償予測部1が予測画像を生成すると、その予測画像と入力画像の差分画像を算出して、その差分画像を示す予測差分信号を符号化モード判定部3に出力する(ステップST7)。
符号化モード判定部3は、減算器2から予測差分信号を受ける毎に、その予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。
符号化モード判定部3における予測差分信号の予測効率を評価する処理自体は公知の技術であるため詳細な説明を省略する。
When the motion compensated prediction unit 1 generates a prediction image, the
The encoding
Since the process itself for evaluating the prediction efficiency of the prediction difference signal in the encoding
符号化モード判定部3は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部1において、その予測差分信号に係る予測画像の生成に用いられた動きベクトルと、マクロブロックタイプ/サブマクロブロックタイプ(例えば、当該マクロブロックにおいて使用されている符号化モードが、インターモード又はダイレクトモードのいずれであるかを示す情報を含む)と、参照画像の識別番号とを含む符号化モード情報を可変長符号化部9に出力する。
また、符号化モード判定部3は、最も予測効率が高い予測差分信号を圧縮部4に出力する。
ただし、符号化モード判定部3は、符号化モードがインターモードであれば、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めて、その動きベクトルを含んでいる符号化モード情報を可変長符号化部9に出力するが、符号化モードがダイレクトモードである場合には、予測画像の生成に用いられた動きベクトルを符号化モード情報に含めずに、その動きベクトルを含んでいない符号化モード情報を可変長符号化部9に出力する。
When the coding
Also, the encoding
However, if the encoding mode is the inter mode, the encoding
圧縮部4は、符号化モード判定部3から予測差分信号を受けると、その予測差分信号に対するDCT処理を実施することで、DCT係数を算出して、そのDCT係数を量子化する(ステップST8)。
圧縮部4は、量子化後のDCT係数である圧縮データを局部復号部5及び可変長符号化部9に出力する。
Upon receiving the prediction difference signal from the coding
The
局部復号部5は、圧縮部4から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号を算出する。
加算器6は、局部復号部5が予測誤差信号を算出すると、その予測誤差信号と動き補償予測部1により生成された予測画像を示す予測信号を加算することで、局部復号画像を示す局部復号画像信号を生成する。
ループフィルタ7は、次の符号化処理に備えるため、加算器6から出力された局部復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局部復号画像信号が示す局部復号画像を参照画像としてフレームメモリ8に格納する。
When receiving the compressed data from the
When the
In order to prepare for the next encoding process, the
可変長符号化部9は、圧縮部4から圧縮データを受けると、その圧縮データと動き補償予測部1から出力された符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー符号化して、その符号化結果を示すビットストリームを生成し、そのビットストリームを出力する(ステップST9)。
When the variable length encoding unit 9 receives the compressed data from the
次に、図3の画像復号装置の処理内容を説明する。
可変長復号部21は、図1の画像符号化装置から出力されたビットストリームを入力すると、そのビットストリームから圧縮データ及び符号化モード情報(マクロブロックタイプ/サブマクロブロックタイプ、動きベクトル(符号化モードがインターモードの場合)、参照画像の識別番号)をエントロピー復号して、その圧縮データを予測誤差復号部22に出力し、その符号化モード情報を動き補償予測部23に出力する(図6のステップST11)。
予測誤差復号部22は、可変長復号部21から圧縮データを受けると、その圧縮データを逆量子化してDCT係数を求め、そのDCT係数に対する逆DCT処理を実施することで、差分画像を示す予測誤差信号(図1の符号化モード判定部3から出力された予測差分信号に相当する予測誤差信号)を算出する(ステップST12)。
Next, processing contents of the image decoding apparatus in FIG. 3 will be described.
When the variable
When the prediction
動き補償予測部23は、可変長復号部21から参照画像の識別番号を受けると、フレームメモリ26に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
また、動き補償予測部23は、可変長復号部21からマクロブロックタイプ/サブマクロブロックタイプを受けると、そのマクロブロックタイプ/サブマクロブロックタイプを参照して、図1の画像符号化装置が符号化モードとして、インターモードを使用しているのか、ダイレクトモードを使用しているのかを判別する(ステップST13)。
When the motion
When the motion
動き補償予測部23は、図1の画像符号化装置が符号化モードとして、インターモードを使用している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで、予測画像を生成する。
一方、図1の画像符号化装置が符号化モードとして、ダイレクトモードを使用している場合、図1の画像符号化装置における動き補償予測部1と同様にして、時間ダイレクトベクトルを生成して、その時間ダイレクトベクトルを用いて、動き補償予測処理を実施することで、予測画像を生成する。
The motion
On the other hand, when the image coding apparatus in FIG. 1 uses the direct mode as the coding mode, a temporal direct vector is generated in the same manner as the motion compensation prediction unit 1 in the image coding apparatus in FIG. A predicted image is generated by performing motion compensation prediction processing using the temporal direct vector.
以下、動き補償予測部23の処理内容を具体的に説明する。
動き補償予測部23の時間ダイレクトベクトル生成部32は、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、復号対象のマクロブロック毎に、当該マクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する(ステップST14)。
例えば、復号対象のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある復号済みピクチャP3を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
Hereinafter, the processing content of the motion
The temporal direct
For example, when the macroblock to be decoded is the macroblock MB1 of the picture B2 as shown in FIG. 12, the macroblock constituting the decoded picture P3 that is temporally adjacent to the macroblock MB1 is selected. The macro block MB2 located in the same spatial position as the macro block MB1 is specified.
時間ダイレクトベクトル生成部32は、復号対象のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図7に示すように、動きベクトルメモリ31に格納されている復号済みの動きベクトルの中から、そのマクロブロックMB2の中心に位置している4個の矩形ブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する(ステップST15)。
時間ダイレクトベクトル生成部32は、4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)を取得すると、上記の式(2)に示すように、4個の動きベクトルMViの加算平均を求めることで、復号対象のマクロブロックMB1における時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する(ステップST16)。
時間ダイレクトベクトル生成部32は、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成すると、その時間ダイレクトベクトルMVdirectを動きベクトルとして、動き補償処理部33及び動きベクトルメモリ31に出力する。
When the temporal direct
When the temporal direct
Temporal direct
動き補償予測部23の動き補償処理部33は、可変長復号部21から参照画像の識別番号を受けると、フレームメモリ26に格納されている1フレーム以上の参照画像の中から、その識別番号が示す参照画像の読み出しを行う。
動き補償処理部33は、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがインターモードを使用している旨を示している場合、可変長復号部21から出力された動きベクトルと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する(ステップST17)。
一方、可変長復号部21から出力されたマクロブロックタイプ/サブマクロブロックタイプがダイレクトモードを使用している旨を示している場合、時間ダイレクトベクトル生成部32から動きベクトルとして時間ダイレクトベクトルMVdirectを受けると、その時間ダイレクトベクトルMVdirectと上記参照画像を用いて、動き補償予測処理を実施することで予測画像を生成する(ステップST17)。
なお、動き補償処理部33の動き補償予測処理は公知の技術であるため詳細な説明を省略する。
When the motion
When the macroblock type / sub macroblock type output from the variable
On the other hand, when the macroblock type / sub-macroblock type output from the variable
Since the motion compensation prediction process of the motion
加算器24は、動き補償予測部23が予測画像を生成すると、その予測画像と予測誤差復号部22から出力された予測誤差信号が示す差分画像を加算して、図1の画像符号化装置の加算器6から出力された局部復号画像に相当する復号画像を示す復号画像信号を生成する(ステップST18)。
ループフィルタ25は、加算器24が復号画像信号を生成すると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像としてフレームメモリ26に格納するとともに、その復号画像を外部に出力する(ステップST19)。
When the motion compensated
When the
以上で明らかなように、この実施の形態1によれば、時間ダイレクトベクトル生成部13が、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャを構成しているマクロブロックの中から、符号化対象のマクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、符号化対象のマクロブロックの動きベクトルに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、符号化対象のマクロブロックの符号化効率を高めることができる画像符号化装置が得られる効果を奏する。
As is apparent from the above, according to the first embodiment, the temporal direct
また、この実施の形態1によれば、時間ダイレクトベクトル生成部32が、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャを構成しているマクロブロックの中から、復号対象のマクロブロックと空間的に同じ位置にあるマクロブロックを特定し、そのマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルから時間ダイレクトモードの時間ダイレクトベクトルを生成するように構成したので、復号対象のマクロブロックの動きベクトルに近い時間ダイレクトモードの時間ダイレクトベクトルを生成することができるようになり、その結果、復号対象のマクロブロックの符号化効率の高い符号化装置で符号化されたストリームを復号できる画像復号装置が得られる効果を奏する。
Further, according to the first embodiment, the temporal direct
なお、この実施の形態1では、時間ダイレクトベクトル生成部13,32が、マクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)から時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、マクロブロックの中心に位置しているブロックが4個に限るものではなく、マクロブロックの中心に位置しているブロックが3個以下又は5個以上であれば、3個以下又は5個以上のブロックから時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
また、この実施の形態1では、動きベクトルとして時間ダイレクトベクトルを生成するものについて示したが、このベクトルを予測ベクトルとして用いるようにしてもよい。
In the first embodiment, the temporal direct
In the first embodiment, the temporal direct vector is generated as the motion vector. However, this vector may be used as the prediction vector.
実施の形態2.
上記実施の形態1では、時間ダイレクトベクトル生成部13,32が、符号化対象(復号対象)のマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)の加算平均を求めることで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、符号化対象(復号対象)のマクロブロック内の複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
In the first embodiment, the temporal direct
以下、時間ダイレクトベクトルMVdirectの生成方法を具体的に説明する。
図8はブロックサイズに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。
時間ダイレクトベクトル生成部13,32は、上記実施の形態1と同様に、符号化対象(復号対象)のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)を構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する。
例えば、符号化対象(復号対象)のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3(復号済みピクチャP3)を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
Hereinafter, a method of generating the time direct vector MV direct will be specifically described.
FIG. 8 is an explanatory diagram showing a method of generating the time direct vector MV direct by weighted addition according to the block size.
The temporal direct
For example, if the macroblock to be encoded (decoding target) is the macroblock MB1 of the picture B2, as shown in FIG. 12, the encoded picture P3 (decoded picture) that is temporally adjacent to the macroblock MB1 Among the macroblocks constituting P3), the macroblock MB2 located in the same spatial position as the macroblock MB1 is specified.
時間ダイレクトベクトル生成部13,32は、符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図8に示すように、動きベクトルメモリ11,31に格納されている符号化済みの動きベクトル(復号済みの動きベクトル)の中から、そのマクロブロックMB2の中心に位置している4個のブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する。
図8の例では、左上のブロックの動きベクトルをMV1、右下のブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
また、時間ダイレクトベクトル生成部13,32は、マクロブロックMB2の中心から4個のブロックの中心までの距離di(i=1,2,3,4)を取得する。
なお、マクロブロックMB2の中心から4個のブロックの中心までの距離diは、当該ブロックのサイズに比例している。
When the temporal direct
In the example of FIG. 8, the motion vector of the upper left block is MV 1 , the motion vector of the lower right block is MV 4, and numbers are assigned in raster scan order.
In addition, the temporal direct
Note that the distance d i from the center of the macro block MB2 to the centers of the four blocks is proportional to the size of the block.
時間ダイレクトベクトル生成部13,32は、4個のブロックの動きベクトルMViと、マクロブロックMB2の中心から4個のブロックの中心までの距離diとを取得すると、下記の式(3)に示すように、4個のブロックの中心までの距離diに応じて、4個の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。
When the temporal direct
以上で明らかなように、この実施の形態2によれば、時間ダイレクトベクトル生成部13,32が、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するように構成したので、上記実施の形態1のように、マクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMViを加算平均して時間ダイレクトベクトルMVdirectを生成する場合よりも、符号化対象(復号対象)のマクロブロックMB1の中心位置における動きベクトルを精度よく推定することができるようになり、時間ダイレクトベクトルMVdirectの精度を高めることができる効果を奏する。
As is apparent from the above, according to the second embodiment, the temporal direct
実施の形態3.
上記実施の形態1では、時間ダイレクトベクトル生成部13,32が、符号化対象(復号対象)のマクロブロックの中心に位置している4個の矩形ブロックの動きベクトルMVi(i=1,2,3,4)の加算平均を求めることで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するものについて示したが、符号化対象(復号対象)のマクロブロック内の複数の分割領域の差分動きベクトルに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
In the first embodiment, the temporal direct
以下、時間ダイレクトベクトルMVdirectの生成方法を具体的に説明する。
図9は差分動きベクトルに応じた重み付け加算による時間ダイレクトベクトルMVdirectの生成方法を示す説明図である。
時間ダイレクトベクトル生成部13,32は、上記実施の形態1と同様に、符号化対象(復号対象)のマクロブロック毎に、当該マクロブロックの時間的に近傍にある符号化済みピクチャ(復号済みピクチャ)を構成しているマクロブロックの中から、当該マクロブロックと空間的に同じ位置にあるマクロブロックを特定する。
例えば、符号化対象(復号対象)のマクロブロックが、図12に示すように、ピクチャB2のマクロブロックMB1である場合、マクロブロックMB1の時間的に近傍にある符号化済みピクチャP3(復号済みピクチャP3)を構成しているマクロブロックの中から、マクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定する。
Hereinafter, a method of generating the time direct vector MV direct will be specifically described.
FIG. 9 is an explanatory diagram showing a method of generating the temporal direct vector MV direct by weighted addition according to the difference motion vector.
The temporal direct
For example, if the macroblock to be encoded (decoding target) is the macroblock MB1 of the picture B2, as shown in FIG. 12, the encoded picture P3 (decoded picture) that is temporally adjacent to the macroblock MB1 Among the macroblocks constituting P3), the macroblock MB2 located in the same spatial position as the macroblock MB1 is specified.
時間ダイレクトベクトル生成部13,32は、符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2を特定すると、図9に示すように、動きベクトルメモリ11,31に格納されている符号化済みの動きベクトル(復号済みの動きベクトル)の中から、そのマクロブロックMB2の中心に位置している4個のブロック(分割領域)の動きベクトルMVi(i=1,2,3,4)を取得する。
図9の例では、左上のブロックの動きベクトルをMV1、右下のブロックの動きベクトルをMV4とし、ラスタスキャン順に番号が割り振られている。
また、時間ダイレクトベクトル生成部13,32は、マクロブロックMB2の中心に位置している4個のブロックの差分動きベクトルMVdi(i=1,2,3,4)を取得する。
When the temporal direct
In the example of FIG. 9, the motion vector of the upper left block is MV 1 , the motion vector of the lower right block is MV 4, and numbers are assigned in raster scan order.
In addition, the temporal direct
時間ダイレクトベクトル生成部13,32は、4個のブロックの動きベクトルMViと、4個のブロックの差分動きベクトルMVdiとを取得すると、下記の式(5)に示すように、4個のブロックの差分動きベクトルMVdiに応じて、4個の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。
ただし、差分動きベクトルMVdiが“0”である場合には、重みとして固定値Aを与えるものとする。
When the temporal direct
However, when the difference motion vector MVd i is “0”, a fixed value A is given as a weight.
なお、差分動きベクトルMVdiの大きさはベクトルの孤立度を表しており、差分動きベクトルMVdiの大きさが大きいほど、孤立度が大きい可能性が高いので、重みの計算式である式(6)において、差分動きベクトルMVdiの大きさの逆数を取り入れることで、孤立したベクトルの重みを小さくすることができる。 The magnitude of the difference motion vector MVd i represents the degree of isolation of the vector, and the greater the magnitude of the difference motion vector MVd i , the higher the possibility that the degree of isolation is greater. in 6), by incorporating the size inverse of the differential motion vector MVd i, it is possible to reduce the weight of the isolated vector.
以上で明らかなように、この実施の形態3によれば、時間ダイレクトベクトル生成部13,32が、複数の分割領域の差分動きベクトルMVdiに応じて、複数の分割領域の動きベクトルMViを重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成するように構成したので、上記実施の形態1よりも、時間ダイレクトベクトルMVdirectの精度を高めることができる効果を奏する。
As is apparent from the above, according to the third embodiment, the temporal direct
実施の形態4.
上記実施の形態2では、複数の分割領域のブロックサイズに応じて、複数の分割領域の動きベクトルMViを重み付け加算し、上記実施の形態3では、複数の分割領域の差分動きベクトルMVdiに応じて、複数の分割領域の動きベクトルMViを重み付け加算するものについて示したが、複数の分割領域の符号化モードに応じて、複数の分割領域の動きベクトルMViを重み付け加算するようにしてもよい。
In the second embodiment, the motion vectors MV i of the plurality of divided regions are weighted and added according to the block sizes of the plurality of divided regions. In the third embodiment, the difference motion vectors MVd i of the plurality of divided regions are added. Accordingly, the motion vector MV i of the plurality of divided regions is weighted and added. However, the motion vector MV i of the plurality of divided regions is weighted and added according to the encoding mode of the plurality of divided regions. Also good.
例えば、符号化済みブロック(復号済みブロック)である分割領域がイントラブロックである場合は、その分割領域を計算対象から除外して時間ダイレクトベクトルMVdirectを生成する方法が考えられる。
具体的には、図8において、例えば、左上のブロック(分割領域)がイントラブロックである場合(図8では、左上のブロックに動きベクトルMV1が表記されているが、イントラブロックである場合、動きベクトルの情報を持たない)、左上のブロックを計算対象から除外して、残り3つのブロックの動きベクトルMVi(i=2,3,4)を重み付け加算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。
イントラブロックは動きベクトルの情報を持たないため、イントラブロックを計算対象から除外することで、不必要に時間ダイレクトベクトルがゼロベクトルにならずに済み、時間ダイレクトベクトルの精度が向上する。
For example, when a divided region that is an encoded block (decoded block) is an intra block, a method of generating the temporal direct vector MV direct by excluding the divided region from the calculation target can be considered.
Specifically, in FIG. 8, for example, when the upper left block (divided area) is an intra block (in FIG. 8, the motion vector MV 1 is represented in the upper left block, but when it is an intra block, Time-direct mode time is obtained by excluding the upper left block from the calculation target and weighting and adding the motion vectors MV i (i = 2, 3, 4) of the remaining three blocks. A direct vector MV direct is generated.
Since an intra block does not have motion vector information, by excluding an intra block from the calculation target, the time direct vector does not need to be a zero vector unnecessarily, and the accuracy of the time direct vector is improved.
実施の形態5.
上記実施の形態1〜3では、4つのブロックのベクトルを用いて、時間ダイレクトベクトルMVdirectを生成するものについて示したが、マクロブロック内の全てのブロックの動きベクトルを用いて、時間ダイレクトベクトルMVdirectを生成するようにしてもよい。
図10はマクロブロック内の全てのブロックの動きベクトルを用いて、時間ダイレクトベクトルMVdirectを生成する方法を示す説明図である。
In the above first to third embodiments, the generation of the temporal direct vector MV direct using the vectors of the four blocks has been described. However, the temporal direct vector MV using the motion vectors of all the blocks in the macroblock. Direct may be generated.
FIG. 10 is an explanatory diagram showing a method of generating the temporal direct vector MV direct using the motion vectors of all the blocks in the macroblock.
符号化対象(復号対象)のマクロブロックMB1と空間的に同じ位置にあるマクロブロックMB2内のk個のブロックの動きベクトルをMVi(0≦i≦k)、k個のブロックの大きさをSi(0≦i≦k)とすると、下記の式(7)を演算することで、時間ダイレクトモードの時間ダイレクトベクトルMVdirectを生成する。 MV i (0 ≦ i ≦ k) is the motion vector of k blocks in the macro block MB2 in the same spatial position as the macro block MB1 to be encoded (decoding target), and the size of the k blocks is When S i (0 ≦ i ≦ k), the time direct vector MV direct in the time direct mode is generated by calculating the following equation (7).
1 動き補償予測部、2 減算器(量子化手段)、3 符号化モード判定部(量子化手段)、4 圧縮部(量子化手段)、5 局部復号部、6 加算器、7 ループフィルタ、8 フレームメモリ、9 可変長符号化部(可変長符号化手段)、11 動きベクトルメモリ、12 動きベクトル探索部、13 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、14 動き補償処理部(予測画像生成手段)、21 可変長復号部(可変長復号手段)、22 予測誤差復号部(逆量子化手段)、23 動き補償予測部、24 加算器(画像加算手段)、5 ループフィルタ(画像加算手段)、26 フレームメモリ、31 動きベクトルメモリ、32 時間ダイレクトベクトル生成部(ダイレクトベクトル生成手段)、33 動き補償処理部(予測画像生成手段)。 DESCRIPTION OF SYMBOLS 1 Motion compensation prediction part, 2 Subtractor (quantization means), 3 Encoding mode determination part (quantization means), 4 Compression part (quantization means), 5 Local decoding part, 6 Adder, 7 Loop filter, 8 Frame memory, 9 variable length coding unit (variable length coding unit), 11 motion vector memory, 12 motion vector search unit, 13 time direct vector generation unit (direct vector generation unit), 14 motion compensation processing unit (prediction image generation) Means), 21 variable length decoding section (variable length decoding means), 22 prediction error decoding section (inverse quantization means), 23 motion compensation prediction section, 24 adder (image addition means), 5 loop filter (image addition means) , 26 frame memory, 31 motion vector memory, 32 time direct vector generation unit (direct vector generation means), 33 motion compensation processing unit (preliminary) Image generation means).
Claims (10)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027520A JP2013077865A (en) | 2010-02-10 | 2010-02-10 | Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method |
PCT/JP2011/000418 WO2011099241A1 (en) | 2010-02-10 | 2011-01-26 | Image encoding device, image decoding device, image encoding method, and image decoding method |
TW100104089A TW201143452A (en) | 2010-02-10 | 2011-02-08 | Image encoding device, image decoding device, image encoding method and image decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010027520A JP2013077865A (en) | 2010-02-10 | 2010-02-10 | Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013077865A true JP2013077865A (en) | 2013-04-25 |
Family
ID=44367530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010027520A Pending JP2013077865A (en) | 2010-02-10 | 2010-02-10 | Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2013077865A (en) |
TW (1) | TW201143452A (en) |
WO (1) | WO2011099241A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012114712A1 (en) * | 2011-02-25 | 2012-08-30 | パナソニック株式会社 | Image encoding method and image decoding method |
CN109996075B (en) * | 2017-12-29 | 2022-07-12 | 华为技术有限公司 | Image decoding method and decoder |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005236584A (en) * | 2004-02-18 | 2005-09-02 | Victor Co Of Japan Ltd | Moving picture information conversion encoding apparatus |
-
2010
- 2010-02-10 JP JP2010027520A patent/JP2013077865A/en active Pending
-
2011
- 2011-01-26 WO PCT/JP2011/000418 patent/WO2011099241A1/en active Application Filing
- 2011-02-08 TW TW100104089A patent/TW201143452A/en unknown
Also Published As
Publication number | Publication date |
---|---|
TW201143452A (en) | 2011-12-01 |
WO2011099241A1 (en) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6667609B2 (en) | Image encoding device, image encoding method, image decoding device, and image decoding method | |
US9973756B2 (en) | Video encoder and video encoding method | |
KR100856411B1 (en) | Method and apparatus for compensating illumination compensation and method and apparatus for encoding moving picture based on illumination compensation, and method and apparatus for encoding moving picture based on illumination compensation | |
KR101947142B1 (en) | Methods of decoding using skip mode and apparatuses for using the same | |
KR101420957B1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP5061179B2 (en) | Illumination change compensation motion prediction encoding and decoding method and apparatus | |
WO2012176381A1 (en) | Moving image encoding apparatus, moving image decoding apparatus, moving image encoding method and moving image decoding method | |
WO2010137323A1 (en) | Video encoder, video decoder, video encoding method, and video decoding method | |
KR20130020697A (en) | Dynamic image encoding device and dynamic image decoding device | |
KR20130076879A (en) | Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, and dynamic image decoding method | |
WO2011061880A1 (en) | Image encoder apparatus, image decoder apparatus, image encoding method, and image decoding method | |
JP5209572B2 (en) | Image encoding apparatus and image decoding apparatus | |
KR101187580B1 (en) | Method and apparatus for compensating illumination compensation and method and apparatus for encoding moving picture based on illumination compensation, and method and apparatus for encoding moving picture based on illumination compensation | |
US10104389B2 (en) | Apparatus, method and non-transitory medium storing program for encoding moving picture | |
WO2011099241A1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP5442039B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP5693628B2 (en) | Image decoding device | |
JP5931160B2 (en) | Image encoding apparatus and bit stream | |
JP2013009164A (en) | Moving image coding device, moving image decoding device, moving image coding method, and moving image decoding method | |
JP2016167853A (en) | Image decoding device, image encoding device and bit stream | |
KR20120008271A (en) | Methods and apparatus for the predicted motion vector selection using matching with neighboring pixels | |
JP2013128319A5 (en) |