JP2013128319A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2013128319A5 JP2013128319A5 JP2013031973A JP2013031973A JP2013128319A5 JP 2013128319 A5 JP2013128319 A5 JP 2013128319A5 JP 2013031973 A JP2013031973 A JP 2013031973A JP 2013031973 A JP2013031973 A JP 2013031973A JP 2013128319 A5 JP2013128319 A5 JP 2013128319A5
- Authority
- JP
- Japan
- Prior art keywords
- unit
- motion vector
- prediction
- image
- direct mode
- 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.)
- Granted
Links
Description
この発明は、画像符号化装置により圧縮符号化された画像を復号する画像復号装置に関するものである。 The present invention relates to an image decoding equipment to decode the image compressed and encoded by the image encoding apparatus.
例えば、MPEG(Moving Picture Experts Group)やITU−T H.26xなどの国際標準映像符号化方式では、輝度信号16×16画素と、その輝度信号16×16画素に対応する色差信号8×8画素とをまとめたブロックデータ(以下、「マクロブロック」と称する)を一単位として、動き補償技術や直交変換/変換係数量子化技術に基づいて圧縮する方法が採用されている。
画像符号化装置及び画像復号装置における動き補償処理では、前方または後方のピクチャを参照して、マクロブロック単位で動きベクトルの検出や予測画像の生成を行う。
このとき、1枚のピクチャのみを参照して、画面間予測符号化を行うものをPピクチャと称し、同時に2枚のピクチャを参照して、画面間予測符号化を行うものをBピクチャと称する。
For example, MPEG (Moving Picture Experts Group) and ITU-T H.264. In an international standard video coding scheme such as 26x, block data (hereinafter referred to as “macroblock”) in which luminance signals of 16 × 16 pixels and color difference signals of 8 × 8 pixels corresponding to the luminance signals of 16 × 16 pixels are collected. ) As a unit, a compression method based on a motion compensation technique or an orthogonal transform / transform coefficient quantization technique is employed.
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では、Bピクチャを符号化する際に、ダイレクトモードと呼ばれる符号化モードを選択することができる(例えば、非特許文献1を参照)。
即ち、符号化対象のマクロブロックには、動きベクトルの符号化データを持たず、符号化済みの他のピクチャのマクロブロックの動きベクトルや、周囲のマクロブロックの動きベクトルを用いる所定の演算処理で、符号化対象のマクロブロックの動きベクトルを生成する符号化モードを選択することができる。
AVC / H. Is an international standard system. In H.264, when a B picture is encoded, an encoding mode called a direct mode can be selected (see, for example, Non-Patent Document 1).
That is, the macroblock to be encoded does not have motion vector encoded data, and is a predetermined calculation process using a motion vector of a macroblock of another encoded picture or a motion vector of a surrounding macroblock. The encoding mode for generating the motion vector of the macroblock to be encoded can be selected.
このダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードの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.
ここで、図6は時間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図6において、「P」はPピクチャを表し、「B」はBピクチャを表している。
また、数字0−3はピクチャの表示順を示し、時間T0,T1,T2,T3の表示画像であることを表している。
ピクチャの符号化処理は、P0,P3,B1,B2の順番で行われているものとする。
Here, FIG. 6 is a schematic diagram showing a method of generating a motion vector in the temporal direct mode.
In FIG. 6, “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は、以下の式で求められる。
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 vector MV of the macroblock MB2 that is spatially located at the same position as the macroblock MB1 is used in the picture P3 that is closest to the picture B2 among the encoded pictures that are on the rear side of the picture B2.
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 equations.
MVL0=MV×(T2−T0)/(T3−T0)
MVL1=MV×(T3−T2)/(T3−T0)
したがって、時間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを求めるには、符号化済みピクチャの動きベクトルMVを1画面分必要とするため、動きベクトルを保持するメモリが必要となる。
MVL0 = MV × (T2-T0) / (T3-T0)
MVL1 = MV × (T3-T2) / (T3-T0)
Therefore, in order to obtain the motion vector of the macroblock to be encoded in the temporal direct mode, the motion vector MV of the encoded picture is required for one screen, and thus a memory for holding the motion vector is required.
図7は空間ダイレクトモードで動きベクトルを生成する方法を示す模式図である。
図7において、currentMBは、符号化対象のマクロブロックを表している。
このとき、符号化対象のマクロブロックの左横の符号化済マクロブロックAの動きベクトルをMVa、符号化対象のマクロブロックの上の符号化済マクロブロックBの動きベクトルをMVb、符号化対象のマクロブロックの右上の符号化済マクロブロックCの動きベクトルをMVcとすると、下記の式に示すように、これらの動きベクトルMVa,MVb,MVcのメディアン(中央値)を求めることにより、動きベクトルMVを算出することができる。
MV=median(MVa、MVb、MVc)
FIG. 7 is a schematic diagram showing a method for generating a motion vector in the spatial direct mode.
In FIG. 7, currentMB represents a macroblock to be encoded.
At this time, the motion vector of the encoded macroblock A on the left side of the macroblock to be encoded is MVa, the motion vector of the encoded macroblock B above the macroblock to be encoded is MVb, Assuming that the motion vector of the encoded macroblock C at the upper right of the macroblock is MVc, the motion vector MV is obtained by obtaining the median (median value) of these motion vectors MVa, MVb, and MVc as shown in the following equation. Can be calculated.
MV = median (MVa, MVb, MVc)
空間ダイレクトモードでは、前方及び後方のそれぞれについて動きベクトルを求めるが、どちらも、上記の方法を用いて求めることが可能である。
したがって、空間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを求めるには、周囲のマクロブロックの動きベクトルのみが必要であり、符号化済みのピクチャのマクロブロックの動きベクトルは不要である。
In the spatial direct mode, motion vectors are obtained for each of the front and rear, both of which can be obtained using the above method.
Therefore, in order to obtain the motion vector of the macro block to be encoded in the spatial direct mode, only the motion vector of the surrounding macro block is necessary, and the motion vector of the macro block of the encoded picture is not necessary.
なお、従来の画像符号化装置及び画像復号装置が、例えば、DSPのようなプロセッサを用いたソフトウェア処理や、LSIを用いたハードウェア処理で、画像の符号化又は復号化を行う場合、使用可能なメモリ量や単位時間当りの演算量に限りがあるため、使用するメモリ量を極力減らす必要がある。 It can be used when a conventional image encoding device and image decoding device perform image encoding or decoding by software processing using a processor such as a DSP or hardware processing using LSI, for example. Since the amount of memory and the amount of calculation per unit time are limited, it is necessary to reduce the amount of memory to be used as much as possible.
従来の画像符号化装置は以上のように構成されているので、スライスヘッダに設けられたフラグである“direct_spatial_mv_pred_flag”を用いることにより、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれか一方を選択することが可能である。しかし、Bピクチャにおけるダイレクトモードの切り替えがスライス単位に限られるため、時間ダイレクトモードを選択せずに、空間ダイレクトモードを選択する場合でも、時間ダイレクトモードを選択した場合に参照するピクチャの動きベクトルを必ず保持しておかなければならず、メモリ量を削減することが困難であるなどの課題があった。 Since the conventional image coding apparatus is configured as described above, by using “direct_spatial_mv_pred_flag” which is a flag provided in the slice header, either the temporal direct mode or the spatial direct mode can be performed in units of slices. It is possible to select. However, since the switching of the direct mode in the B picture is limited to the slice unit, even when the spatial direct mode is selected without selecting the temporal direct mode, the motion vector of the picture to be referred to when the temporal direct mode is selected is selected. There is a problem that it must be retained and it is difficult to reduce the amount of memory.
この発明は上記のような課題を解決するためになされたもので、使用するメモリ量を削減することができる画像復号装置を得ることを目的とする。 The present invention has been made to solve the above problems, an object of the present invention to provide a picture decoding apparatus that can be reduced the amount of memory used.
この発明に係る画像復号装置は、ビットストリームから、符号化対象のブロックの単位で予測画像の生成に用いられた動き予測モードと量子化係数を抽出するとともに、シーケンスの単位で、異なる時刻の復号済みピクチャの動きベクトルをもとにカレントの動きベクトルを定める動き予測モードの使用を許可するか否かを示す制御信号を抽出する可変長復号手段を備えたものである。 The image decoding apparatus according to the present invention extracts a motion prediction mode and a quantization coefficient used for generating a predicted image in units of blocks to be encoded from a bit stream, and decodes different times in units of sequences. Variable length decoding means for extracting a control signal indicating whether or not to permit use of a motion prediction mode for determining a current motion vector based on a motion vector of a completed picture .
この発明によれば、ビットストリームから、符号化対象のブロックの単位で予測画像の生成に用いられた動き予測モードと量子化係数を抽出するとともに、シーケンスの単位で、異なる時刻の復号済みピクチャの動きベクトルをもとにカレントの動きベクトルを定める動き予測モードの使用を許可するか否かを示す制御信号を抽出する可変長復号手段を備えるように構成したので、時間ダイレクトモードフラグ(制御信号)をオフにした場合、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルを格納するためのメモリを確保する必要がなくなり、メモリ量を削減することができる効果がある。 According to the present invention, the motion prediction mode and the quantization coefficient used for generating the prediction image in units of the encoding target block are extracted from the bitstream, and the decoded pictures at different times in the sequence unit are extracted. since it is configured in so that comprises a variable length decoding means for extracting a control signal indicating whether or not to permit the use of motion prediction mode defining a motion vector of the current based on the motion vector, the temporal direct mode flag (control signal ) Is turned off, there is no need to secure a memory for storing motion vectors of encoded pictures that are temporally adjacent to the macroblock to be encoded, and the amount of memory can be reduced. is there.
実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
図1において、動き補償予測部1はメモリ10に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロックの単位で、色成分毎に動き補償予測処理を実行(全ブロックサイズ、ないしは、サブブロックサイズで、所定の探索範囲のすべての動きベクトル及び選択可能な1枚以上の参照画像に対して動き補償予測処理を実行)して、当該マクロブロック(符号化対象のマクロブロック)の動きベクトルを生成して予測画像を生成し、それぞれのマクロブロック毎に選択した参照画像の識別番号、動きベクトル及び予測画像を出力する処理を実施する。
Embodiment 1 FIG.
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 reference images for motion compensation prediction stored in the memory 10 for one or more frames, and for each color component in units of macroblocks. Perform motion compensation prediction processing (execute motion compensation prediction processing for all motion vectors in a predetermined search range and one or more selectable reference images with all block sizes or sub-block sizes), A motion vector of the macroblock (a macroblock to be encoded) is generated to generate a prediction image, and a process of outputting the identification number of the reference image selected for each macroblock, the motion vector, and the prediction image is performed. .
ただし、動き補償予測部1は符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する際、時間ダイレクトモードの使用を許可するか否かを示す時間ダイレクトモードフラグ(制御信号)を入力し、その時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可する旨を示している場合、入力画像を構成している符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルを参照する時間ダイレクトモード、または、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを参照する空間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する処理を実施する。
一方、時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可しない旨を示している場合、空間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する処理を実施する。
なお、動き補償予測部1は予測画像生成手段を構成している。
However, when the motion compensated prediction unit 1 generates a motion vector of a macroblock to be encoded and generates a predicted image, the motion compensated prediction unit 1 sets a temporal direct mode flag (control signal) indicating whether or not to permit use of the temporal direct mode. When the input and the temporal direct mode flag indicates that the temporal direct mode is permitted to be used, the motion of the encoded picture in the temporal vicinity of the encoding target macroblock constituting the input image Generate motion vector of encoding target macroblock in temporal direct mode referring vector or spatial direct mode referring motion vector of encoded macroblock located around encoding target macroblock Then, a process for generating a predicted image is performed.
On the other hand, when the temporal direct mode flag indicates that the temporal direct mode is not permitted to be used, processing for generating a motion vector of the macroblock to be encoded and generating a prediction image is performed in the spatial direct mode.
The motion compensation prediction unit 1 constitutes a predicted image generation unit.
減算器2は動き補償予測部1により生成された予測画像と入力画像の差分画像を求め、その差分画像である予測差分信号を符号化モード判定部3に出力する処理を実施する。
符号化モード判定部3は符号化制御部13の制御の下、減算器2から出力された予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択し、動き補償予測部1で当該予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ(ダイレクトモードの種類として、例えば、当該マクロブロックでは、時間ダイレクトモード又は空間ダイレクトモードが用いられている旨を示す情報)及び参照画像の識別番号を可変長符号化部11に出力し、また、最も予測効率が高い予測差分信号を直交変換部4に出力する処理を実施する。
なお、減算器2及び符号化モード判定部3から予測画像選択手段が構成されている。
The subtracter 2 obtains a difference image between the prediction image generated by the motion compensation prediction unit 1 and the input image, and outputs a prediction difference signal that is the difference image to the encoding mode determination unit 3.
The encoding mode determination unit 3 evaluates the prediction efficiency of the prediction difference signal output from the subtracter 2 under the control of the encoding control unit 13 and determines at least one prediction difference signal output from the subtracter 2. Among them, the prediction differential signal having the highest prediction efficiency is selected, and the motion vector, macroblock type / sub-macroblock type (direct mode of the direct mode) used for generating the prediction image related to the prediction differential signal by the motion compensation prediction unit 1 is selected. As the type, for example, in the macroblock, information indicating that the temporal direct mode or the spatial direct mode is used) and the identification number of the reference image are output to the variable length encoding unit 11, and the prediction efficiency is the highest. The process which outputs a high prediction difference signal to the orthogonal transformation part 4 is implemented.
The subtractor 2 and the encoding mode determination unit 3 constitute a predicted image selection unit.
直交変換部4は符号化モード判定部3から出力された予測差分信号を直交変換し、その予測差分信号の直交変換係数を量子化部5に出力する処理を実施する。
量子化部5は符号化制御部13により決定された量子化パラメータを用いて、直交変換部4から出力された直交変換係数を量子化し、その直交変換係数の量子化係数を逆量子化部6及び可変長符号化部11に出力する処理を実施する。
なお、直交変換部4及び量子化部5から量子化手段が構成されている。
The orthogonal transform unit 4 performs a process of performing orthogonal transform on the prediction difference signal output from the coding mode determination unit 3 and outputting an orthogonal transform coefficient of the prediction difference signal to the quantization unit 5.
The quantization unit 5 quantizes the orthogonal transform coefficient output from the orthogonal transform unit 4 using the quantization parameter determined by the encoding control unit 13, and converts the quantization coefficient of the orthogonal transform coefficient into the inverse quantization unit 6. And the process output to the variable length encoding part 11 is implemented.
Note that the orthogonal transform unit 4 and the quantization unit 5 constitute quantization means.
逆量子化部6は符号化制御部13により決定された量子化パラメータを用いて、量子化部5から出力された量子化係数を逆量子化することで局部復号直交変換係数(直交変換部4から出力された直交変換係数に相当する係数)を復号し、その局部復号直交変換係数を逆直交変換部7に出力する処理を実施する。
逆直交変換部7は逆量子化部6から出力された局部復号直交変換係数を逆直交変換することで局部復号予測差分信号(符号化モード判定部3から出力された予測差分信号に相当する信号)を復号し、その局部復号予測差分信号を加算器8に出力する処理を実施する。
The inverse quantization unit 6 uses the quantization parameter determined by the encoding control unit 13 to inversely quantize the quantization coefficient output from the quantization unit 5 to thereby generate a local decoded orthogonal transform coefficient (orthogonal transform unit 4 The coefficient corresponding to the orthogonal transform coefficient output from (1) is decoded, and the local decoded orthogonal transform coefficient is output to the inverse orthogonal transform unit 7.
The inverse orthogonal transform unit 7 performs an inverse orthogonal transform on the local decoded orthogonal transform coefficient output from the inverse quantization unit 6, thereby generating a local decoded prediction difference signal (a signal corresponding to the prediction difference signal output from the encoding mode determination unit 3). ) And the local decoded prediction difference signal is output to the adder 8.
加算器8は動き補償予測部1から出力された予測画像と逆直交変換部7から出力された局部復号予測差分信号を加算することで局部復号画像を生成する処理を実施する。
デブロッキングフィルタ9は外部から入力されたフィルタ制御フラグがオンであれば、加算器8により生成された局部復号画像に対するフィルタリング処理を実施して符号化歪みを解消し、フィルタリング処理後の局部復号画像を動き補償予測用の参照画像としてメモリ10に出力する処理を実施する。
メモリ10は動き補償予測部1が動き補償処理を実施する際に参照する動き補償予測用の参照画像を格納する記録媒体である。
The adder 8 performs a process of generating a local decoded image by adding the predicted image output from the motion compensated prediction unit 1 and the local decoded prediction difference signal output from the inverse orthogonal transform unit 7.
If the externally input filter control flag is on, the deblocking filter 9 performs filtering processing on the locally decoded image generated by the adder 8 to eliminate coding distortion, and the locally decoded image after filtering processing. Is output to the memory 10 as a reference image for motion compensation prediction.
The memory 10 is a recording medium that stores a reference image for motion compensation prediction that the motion compensation prediction unit 1 refers to when performing motion compensation processing.
可変長符号化部11は符号化モード判定部3から出力された動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号と、量子化部5から出力された量子化係数と、符号化制御部13から出力された量子化パラメータと、外部から入力された時間ダイレクトモードフラグ及びフィルタ制御フラグとを可変長符号化(例えば、ハフマン符号化や算術符号化などの手段でエントロピー符号化)してビットストリームを生成する処理を実施する。
なお、可変長符号化部11はビットストリーム生成手段を構成している。
The variable length encoding unit 11 includes a motion vector output from the encoding mode determination unit 3, a macroblock type / sub-macroblock type and a reference image identification number, a quantization coefficient output from the quantization unit 5, The variable length coding (for example, entropy coding by means such as Huffman coding or arithmetic coding) of the quantization parameter output from the quantization control unit 13 and the temporal direct mode flag and the filter control flag input from the outside Then, a process for generating a bitstream is performed.
The variable length encoding unit 11 constitutes a bit stream generation unit.
送信バッファ12は可変長符号化部11により生成されたビットストリームを一時的に格納してから、そのビットストリームを出力する。
符号化制御部13は送信バッファ12により格納されているビットストリームを監視して、適正な量子化パラメータを決定するとともに、符号化モード判定部3における評価対象の予測差分信号を切り換えるなどの処理を実施する。
The transmission buffer 12 temporarily stores the bit stream generated by the variable length encoding unit 11 and then outputs the bit stream.
The encoding control unit 13 monitors the bit stream stored in the transmission buffer 12, determines an appropriate quantization parameter, and performs processing such as switching the prediction difference signal to be evaluated in the encoding mode determination unit 3. carry out.
図2はこの発明の実施の形態1による画像復号装置を示す構成図である。
図2において、可変長復号部21は図1の画像符号化装置により生成されたビットストリームを解読して、最も予測効率が高い予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号と、量子化係数及び量子化パラメータと、時間ダイレクトモードフラグ及びフィルタ制御フラグとを抽出して出力する処理を実施する。
なお、可変長復号部21は可変長復号手段を構成している。
2 is a block diagram showing an image decoding apparatus according to Embodiment 1 of the present invention.
In FIG. 2, the variable length decoding unit 21 decodes the bit stream generated by the image encoding device of FIG. 1, and the motion vector and macro used to generate the prediction image related to the prediction difference signal with the highest prediction efficiency. A process of extracting and outputting the block type / sub-macro block type and reference image identification number, quantization coefficient and quantization parameter, temporal direct mode flag and filter control flag is executed.
The variable length decoding unit 21 constitutes variable length decoding means.
逆量子化部22は可変長復号部21により抽出された量子化パラメータを用いて、可変長復号部21により抽出された量子化係数を逆量子化することで、局部復号直交変換係数(図1の直交変換部4から出力された直交変換係数に相当する係数)を復号し、その局部復号直交変換係数を逆直交変換部23に出力する処理を実施する。
逆直交変換部23は逆量子化部22から出力された局部復号直交変換係数を逆直交変換することで局部復号予測差分信号(図1の符号化モード判定部3から出力された予測差分信号に相当する信号)を復号し、その局部復号予測差分信号を加算器25に出力する処理を実施する。
なお、逆量子化部22及び逆直交変換部23から逆量子化手段が構成されている。
The inverse quantization unit 22 uses the quantization parameter extracted by the variable length decoding unit 21 to inverse quantize the quantization coefficient extracted by the variable length decoding unit 21 to thereby generate a local decoded orthogonal transform coefficient (FIG. 1). The coefficient corresponding to the orthogonal transform coefficient output from the orthogonal transform unit 4 is decoded, and the local decoded orthogonal transform coefficient is output to the inverse orthogonal transform unit 23.
The inverse orthogonal transform unit 23 performs the inverse orthogonal transform on the local decoded orthogonal transform coefficient output from the inverse quantization unit 22 to convert the local decoded prediction differential signal (to the prediction differential signal output from the encoding mode determination unit 3 in FIG. 1). (Corresponding signal) is decoded, and the local decoded prediction difference signal is output to the adder 25.
The inverse quantization unit 22 and the inverse orthogonal transform unit 23 constitute an inverse quantization unit.
動き補償部24は可変長復号部21により抽出された時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可する旨を示している場合、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモードが用いられている旨を示していれば、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルを参照する時間ダイレクトモードで、復号対象のマクロブロックの動きベクトルを生成し、その時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可しない旨を示している場合、または、そのマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示している場合、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを参照する空間ダイレクトモードで、復号対象のマクロブロックの動きベクトルを生成する処理を実施する。
また、動き補償部24は動きベクトルを生成すると、その動きベクトルを用いて、予測画像を生成する処理を実施する。
なお、動き補償部24は動きベクトル生成手段及び予測画像生成手段を構成している。
When the temporal direct mode flag extracted by the variable-length decoding unit 21 indicates that the temporal compensation mode is permitted, the motion compensation unit 24 uses the macroblock type / sub-macroblock extracted by the variable-length decoding unit 21. If the type indicates that the temporal direct mode is used, the temporal direct mode refers to the motion vector of a decoded picture that is temporally adjacent to the macroblock to be decoded, and the macroblock to be decoded When a motion vector is generated and the temporal direct mode flag indicates that the temporal direct mode is not permitted, or the macro block type / sub macro block type indicates that the spatial direct mode is used. If indicated, it is placed around the macroblock to be decoded. In spatial direct mode refers to the motion vector of the decoded macroblock and to perform the processing for generating a motion vector of a macro block to be decoded.
In addition, when the motion compensation unit 24 generates a motion vector, the motion compensation unit 24 performs a process of generating a predicted image using the motion vector.
The motion compensation unit 24 constitutes a motion vector generation unit and a predicted image generation unit.
加算器25は動き補償部24により生成された予測画像と逆直交変換部23から出力された局部復号予測差分信号を加算することで、局部復号画像を生成する処理を実施する。
なお、加算器25は加算手段を構成している。
The adder 25 adds the predicted image generated by the motion compensation unit 24 and the local decoded prediction difference signal output from the inverse orthogonal transform unit 23 to perform a process of generating a local decoded image.
Note that the adder 25 constitutes an adding means.
デブロッキングフィルタ26は可変長復号部21により抽出されたフィルタ制御フラグがオンであれば、加算器25により生成された局部復号画像に対するフィルタリング処理を実施して符号化歪みを解消し、フィルタリング処理後の局部復号画像を動き補償予測用の参照画像としてメモリ27に出力するとともに、フィルタリング処理後の局部復号画像を復号画像(図1の画像符号化装置に入力される入力画像に相当する画像)として出力する処理を実施する。
メモリ27は動き補償部24が動き補償処理を実施する際に参照する動き補償予測用の参照画像を格納する記録媒体である。
If the filter control flag extracted by the variable length decoding unit 21 is on, the deblocking filter 26 performs filtering processing on the locally decoded image generated by the adder 25 to eliminate coding distortion, and after filtering processing Are output to the memory 27 as a reference image for motion compensation prediction, and the local decoded image after filtering processing is output as a decoded image (an image corresponding to an input image input to the image encoding device in FIG. 1). Perform the output process.
The memory 27 is a recording medium for storing a reference image for motion compensation prediction that is referred to when the motion compensation unit 24 performs motion compensation processing.
図3はこの発明の実施の形態1による画像復号装置の動き補償部24を示す構成図(時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可する旨を示している場合の動き補償部24の内部構成図)である。
図3において、動きベクトルメモリ部31は可変長復号部21により抽出された時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可する旨を示している場合、復号済みピクチャの動きベクトルと復号済みマクロブロックの動きベクトルを格納する領域を確保している。
即ち、動きベクトルメモリ部31は可変長復号部21により抽出された時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可する旨を示している場合、復号済みピクチャの動きベクトルを格納する復号済み画像動きベクトルメモリ31aと、復号済みマクロブロックの動きベクトルを格納する周囲動きベクトルメモリ31bとを確保するようにする。
FIG. 3 is a block diagram showing the motion compensation unit 24 of the image decoding apparatus according to Embodiment 1 of the present invention (inside of the motion compensation unit 24 when the temporal direct mode flag indicates that the temporal direct mode is permitted to be used). Configuration diagram).
In FIG. 3, when the temporal direct mode flag extracted by the variable length decoding unit 21 indicates that the temporal direct mode is permitted, the motion vector memory unit 31 indicates the motion vector of the decoded picture and the decoded macroblock. An area for storing the motion vector is secured.
That is, when the temporal direct mode flag extracted by the variable length decoding unit 21 indicates that the temporal direct mode is permitted, the motion vector memory unit 31 stores the decoded picture motion that stores the motion vector of the decoded picture. The vector memory 31a and the surrounding motion vector memory 31b for storing the motion vector of the decoded macroblock are secured.
マクロブロックタイプ判別部32はBピクチャを復号する場合、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモード又は空間ダイレクトモードが用いられている旨を示している場合、ダイレクトモードベクトル生成部35を起動し、そのマクロブロックタイプ/サブマクロブロックタイプが、ダイレクトモード以外のモードが用いられている旨を示している場合、予測ベクトル生成部33を起動する処理を実施する。 When the macroblock type determination unit 32 decodes a B picture, the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21 indicates that the temporal direct mode or the spatial direct mode is used. In this case, the direct mode vector generation unit 35 is activated, and when the macroblock type / sub macroblock type indicates that a mode other than the direct mode is used, the process of activating the prediction vector generation unit 33 is performed. carry out.
予測ベクトル生成部33は可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプにしたがって予測ベクトルを生成する処理を実施する。
動きベクトル生成部34は予測ベクトル生成部33により生成された予測ベクトルと可変長復号部21により抽出された動きベクトルをベクトル加算することで、復号対象のマクロブロックの動きベクトルを生成するとともに、その動きベクトルを復号済み画像動きベクトルメモリ31a及び周囲動きベクトルメモリ31bに格納する処理を実施する。
The prediction vector generation unit 33 performs a process of generating a prediction vector according to the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21.
The motion vector generation unit 34 adds the prediction vector generated by the prediction vector generation unit 33 and the motion vector extracted by the variable length decoding unit 21 to generate a motion vector of the macroblock to be decoded. A process of storing the motion vector in the decoded image motion vector memory 31a and the surrounding motion vector memory 31b is performed.
ダイレクトモードベクトル生成部35は可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモードが用いられている旨を示していれば、復号済み画像動きベクトルメモリ31aにより格納されている動きベクトル(復号対象のマクロブロックの時間的に近傍にある復号済みピクチャにおいて、復号対象のマクロブロックと空間的に同一の位置にあるマクロブロックの動きベクトル)を参照して、復号対象のマクロブロックの動きベクトルを生成し、そのマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示している場合、周囲動きベクトルメモリ31bにより格納されている動きベクトル(復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトル)を参照して、復号対象のマクロブロックの動きベクトルを生成する処理を実施する。
動き補償予測部36は動きベクトル生成部34又はダイレクトモードベクトル生成部35により生成された動きベクトルを用いて、予測画像を生成する処理を実施する。
If the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21 indicates that the temporal direct mode is used, the direct mode vector generation unit 35 stores it in the decoded image motion vector memory 31a. To be decoded with reference to the motion vector (the motion vector of the macroblock located in the same position as the decoding target macroblock in the decoded picture temporally adjacent to the decoding target macroblock) If the macroblock type / sub-macroblock type indicates that the spatial direct mode is used, the motion vector stored in the surrounding motion vector memory 31b (decoding) Located around the target macroblock With reference to the motion vector) of the decoded macroblock, and carries out a process of generating the motion vector of the macroblock to be decoded.
The motion compensation prediction unit 36 performs a process of generating a prediction image using the motion vector generated by the motion vector generation unit 34 or the direct mode vector generation unit 35.
図4はこの発明の実施の形態1による画像復号装置の動き補償部24を示す構成図(時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可しない旨を示している場合の動き補償部24の内部構成図)である。
時間ダイレクトモードフラグが時間ダイレクトモードの使用を許可しない旨を示している場合、動きベクトルメモリ部31は、復号済みマクロブロックの動きベクトルを格納する領域のみを確保している。
即ち、動きベクトルメモリ部31は復号済み画像動きベクトルメモリ31aを確保せずに、周囲動きベクトルメモリ31bのみを確保するようにする。
図5は図1の画像符号化装置の動き補償予測部1におけるダイレクトモードの決定処理を示すフローチャートである。
FIG. 4 is a block diagram showing the motion compensation unit 24 of the image decoding apparatus according to Embodiment 1 of the present invention (inside of the motion compensation unit 24 when the time direct mode flag indicates that the use of the time direct mode is not permitted). Configuration diagram).
When the time direct mode flag indicates that the use of the time direct mode is not permitted, the motion vector memory unit 31 secures only an area for storing the motion vector of the decoded macroblock.
That is, the motion vector memory unit 31 secures only the surrounding motion vector memory 31b without securing the decoded image motion vector memory 31a.
FIG. 5 is a flowchart showing a direct mode determination process in the motion compensation prediction unit 1 of the image encoding device in FIG.
次に動作について説明する。
この実施の形態1では、入力画像である映像フレームを16×16画素の矩形領域(マクロブロック)に均等分割し、そのマクロブロックの単位で、フレーム内で閉じた符号化を行う画像符号化装置と、その画像符号化装置に対応している画像復号装置について説明する。
なお、画像符号化装置と画像復号装置は、例えば、上記の非特許文献1に開示されているMPEG−4 AVC(ISO/IEC 14496−10)/ITU−T H.264規格の符号化方式を採用するものとする。
Next, the operation will be described.
In the first embodiment, a video frame as an input image is equally divided into 16 × 16 pixel rectangular regions (macroblocks), and encoding is performed in units of the macroblocks and closed within the frame. An image decoding apparatus corresponding to the image encoding apparatus will be described.
The image encoding device and the image decoding device are, for example, MPEG-4 AVC (ISO / IEC 14496-10) / ITU-T H.264 disclosed in Non-Patent Document 1 described above. It is assumed that the H.264 standard encoding method is adopted.
最初に、図1の画像符号化装置の動作について説明する。
まず、動き補償予測部1は、入力画像である映像フレームを16×16画素の矩形領域(マクロブロック)に均等分割する。
動き補償予測部1は、入力画像をマクロブロック毎に分割すると、メモリ10に格納されている1フレーム以上の動き補償予測用の参照画像の中から1フレームの参照画像を選択し、マクロブロックの単位で、色成分毎に動き補償予測処理を実行(全ブロックサイズ、ないしは、サブブロックサイズで、所定の探索範囲のすべての動きベクトル及び選択可能な1枚以上の参照画像に対して動き補償予測処理を実行)して、当該マクロブロック(符号化対象のマクロブロック)の動きベクトルを生成して予測画像を生成する。
First, the operation of the image encoding device in FIG. 1 will be described.
First, the motion compensation prediction unit 1 equally divides a video frame that is an input image into a rectangular area (macroblock) of 16 × 16 pixels.
When the input image is divided for each macroblock, the motion compensation prediction unit 1 selects a reference image for one frame from the reference images for motion compensation prediction stored in the memory 10 for one or more frames. Execute motion compensation prediction processing for each color component in units (all block size or sub-block size, motion compensation prediction for all motion vectors in a predetermined search range and one or more selectable reference images) Execute a process), generate a motion vector of the macroblock (macroblock to be encoded), and generate a predicted image.
ただし、動き補償予測部1は、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する際、外部から時間ダイレクトモードフラグを入力する。
時間ダイレクトモードフラグの選択方法の一例について図8に示す。時間ダイレクトモードを使用すると、参照ピクチャの動きベクトル情報用のメモリが必要であり、また効果のある画像として動きが単調な映像を符号化する場合が考えられる。そのため、画像符号化装置において、使用するメモリ量に制限がない場合(ステップST11:YES)や動きが単調な画像を符号化する場合(ステップST12:YES)には時間ダイレクトモードフラグをオン(時間ダイレクトモードの使用を許可する)にする(ステップST13)。
一方、画像符号化装置において、使用可能なメモリ量が限られている状況下や、動きが大きい映像を符号化する場合では、オフ(時間ダイレクトモードの使用を許可しない)の時間ダイレクトモードフラグが入力される(ステップST14)。
However, the motion compensation prediction unit 1 inputs a temporal direct mode flag from the outside when generating a motion vector of a macroblock to be encoded and generating a predicted image.
An example of a method for selecting the time direct mode flag is shown in FIG. When the temporal direct mode is used, a memory for motion vector information of a reference picture is necessary, and a case where an image having a monotonous motion is encoded as an effective image can be considered. Therefore, in the image encoding device, when there is no limit to the amount of memory to be used (step ST11: YES) or when an image with a monotonous motion is encoded (step ST12: YES), the time direct mode flag is turned on (time (Use of direct mode is permitted) (step ST13).
On the other hand, in a situation where the amount of available memory is limited in an image encoding device or when encoding a video with a large amount of motion, the temporal direct mode flag that is off (temporary direct mode is not permitted) is set. Input (step ST14).
動き補償予測部1は、外部から入力される時間ダイレクトモードフラグがオンであれば(図5のステップST1:YES)、Bピクチャを符号化する際に使用するダイレクトモードとして、スライス単位で、時間ダイレクトモード又は空間ダイレクトモードのいずれかを選択する(ステップST2)。
例えば、使用可能なメモリ量に余裕がある状況下や、時間ダイレクトモードを使用すれば、高い符号化効率が得られる可能性が高い状況下では(ステップST2:YES)、Bピクチャを符号化する際に使用するダイレクトモードとして、時間ダイレクトモードを選択する(ステップST3)。
If the temporal direct mode flag input from the outside is ON (step ST1: YES in FIG. 5), the motion compensation prediction unit 1 sets the temporal mode in slice units as the direct mode used when encoding the B picture. Either the direct mode or the spatial direct mode is selected (step ST2).
For example, a B picture is encoded under a situation where there is a sufficient amount of available memory or under a situation where there is a high possibility that high encoding efficiency can be obtained if the time direct mode is used (step ST2: YES). The time direct mode is selected as the direct mode used at the time (step ST3).
一方、使用可能なメモリ量が限られている状況下や、時間ダイレクトモードを使用しても、高い符号化効率が得られる可能性が低い状況下では(ステップST2:NO)、Bピクチャを符号化する際に使用するダイレクトモードとして、空間ダイレクトモードを選択する(ステップST4)。
ここでは、動き補償予測部1が自ら判断して、時間ダイレクトモード又は空間ダイレクトモードを選択するものについて示したが、符号化モード判定部3の指示によって、時間ダイレクトモード又は空間ダイレクトモードを選択するようにしてもよい。
動き補償予測部1は、外部から入力される時間ダイレクトモードフラグがオフであれば(ステップST1:NO)、Bピクチャを符号化する際に使用するダイレクトモードとして、空間ダイレクトモードを選択する(ステップST4)。
On the other hand, in situations where the amount of usable memory is limited or in situations where it is unlikely that high coding efficiency will be obtained even when using the temporal direct mode (step ST2: NO), B pictures are encoded. The spatial direct mode is selected as the direct mode used when converting (step ST4).
Here, the motion compensation prediction unit 1 makes a judgment by itself and selects the temporal direct mode or the spatial direct mode. However, the temporal compensation mode or the spatial direct mode is selected according to an instruction from the coding mode determination unit 3. You may do it.
If the temporal direct mode flag input from the outside is off (step ST1: NO), the motion compensation prediction unit 1 selects the spatial direct mode as the direct mode used when encoding the B picture (step ST1). ST4).
動き補償予測部1は、Bピクチャを符号化する際に使用するダイレクトモードとして、時間ダイレクトモードを選択すると、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルのうち、符号化対象のマクロブロックと空間的に同一の位置にあるマクロブロックの動きベクトルを参照して、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する(図6を参照)。
動き補償予測部1は、Bピクチャを符号化する際に使用するダイレクトモードとして、空間ダイレクトモードを選択すると、符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを参照して、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する(図7を参照)。
When the temporal direct mode is selected as the direct mode used when encoding the B picture, the motion compensated prediction unit 1 includes the motion vectors of the encoded pictures that are temporally adjacent to the encoding target macroblock. Then, referring to the motion vector of the macroblock located in the same spatial position as the encoding target macroblock, the motion vector of the encoding target macroblock is generated to generate a prediction image (see FIG. 6). .
When the spatial direct mode is selected as the direct mode used when encoding the B picture, the motion compensated prediction unit 1 calculates the motion vector of the encoded macroblock located around the encoding target macroblock. Referring to FIG. 7, a prediction image is generated by generating a motion vector of a macroblock to be encoded (see FIG. 7).
動き補償予測部1は、上記のようにして、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成すると、その予測画像を減算器2及び加算器8に出力する。
また、動き補償予測部1は、符号化対象のマクロブロックの動きベクトルと、マクロブロックタイプ/サブマクロブロックタイプ(使用しているダイレクトモードの種類)と、参照画像の識別番号とを符号化モード判定部3に出力する。
さらに、動き補償予測部1は、外部から入力されたフィルタ制御フラグ(デブロッキングフィルタ9のフィルタリング処理を制御するフラグ)を可変長符号化部11に出力する。
なお、動き補償予測部1は、符号化モード判定部3の指示の下、複数の条件で予測画像を生成する。例えば、異なるマクロブロックタイプ/サブマクロブロックタイプ、動きベクトルや参照画像で予測画像を生成する。
When the motion compensated prediction unit 1 generates the motion vector of the encoding target macroblock and generates the predicted image as described above, the motion compensated prediction unit 1 outputs the predicted image to the subtracter 2 and the adder 8.
The motion compensated prediction unit 1 also encodes the motion vector of the macroblock to be encoded, the macroblock type / sub-macroblock type (the type of the direct mode used), and the reference image identification number. Output to the determination unit 3.
Further, the motion compensation prediction unit 1 outputs a filter control flag (a flag for controlling the filtering process of the deblocking filter 9) input from the outside to the variable length encoding unit 11.
The motion compensation prediction unit 1 generates a prediction image under a plurality of conditions under the instruction of the encoding mode determination unit 3. For example, a predicted image is generated with different macroblock types / sub-macroblock types, motion vectors, and reference images.
減算器2は、動き補償予測部1から予測画像を受ける毎に、その予測画像と入力画像の差分画像を求め、その差分画像である予測差分信号を符号化モード判定部3に出力する。
符号化モード判定部3は、減算器2から予測差分信号を受けると、符号化制御部13の制御の下、減算器2から出力された予測差分信号の予測効率を評価する。
予測差分信号の予測効率を評価する方法については、公知の技術を使用すればよく、ここでは、詳細な説明を省略する。
Each time the subtracter 2 receives a prediction image from the motion compensation prediction unit 1, it obtains a difference image between the prediction image and the input image and outputs a prediction difference signal that is the difference image to the encoding mode determination unit 3.
When receiving the prediction difference signal from the subtracter 2, the encoding mode determination unit 3 evaluates the prediction efficiency of the prediction difference signal output from the subtracter 2 under the control of the encoding control unit 13.
As a method for evaluating the prediction efficiency of the prediction difference signal, a known technique may be used, and detailed description thereof is omitted here.
符号化モード判定部3は、動き補償予測部1の動き補償処理を適宜制御することで(例えば、符号化対象のマクロブロックに対するマクロブロックタイプ/サブマクロブロックタイプの変更など)、減算器2から少なくとも1以上の予測差分信号を入力し、少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する。
符号化モード判定部3は、最も予測効率が高い予測差分信号を選択すると、動き補償予測部1において、その予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号を可変長符号化部11に出力する。
また、符号化モード判定部3は、最も予測効率が高い予測差分信号を直交変換部4に出力する。
The encoding mode determination unit 3 appropriately controls the motion compensation processing of the motion compensation prediction unit 1 (for example, change of the macroblock type / sub macroblock type with respect to the macroblock to be encoded) from the subtracter 2. At least one or more prediction difference signals are input, and a prediction difference signal having the highest prediction efficiency is selected from at least one or more prediction difference signals.
When the coding mode determination unit 3 selects a prediction difference signal with the highest prediction efficiency, the motion compensation prediction unit 1 uses the motion vector, macroblock type / sub-macro used for generating a prediction image related to the prediction difference signal. The block type and the identification number of the reference image are output to the variable length encoding unit 11.
Also, the encoding mode determination unit 3 outputs a prediction difference signal with the highest prediction efficiency to the orthogonal transform unit 4.
直交変換部4は、符号化モード判定部3から予測差分信号を受けると、その予測差分信号を直交変換し、その予測差分信号の直交変換係数を量子化部5に出力する。
量子化部5は、直交変換部4から直交変換係数を受けると、符号化制御部13により決定された量子化パラメータを用いて、その直交変換係数を量子化し、その直交変換係数の量子化係数を逆量子化部6及び可変長符号化部11に出力する。
When the orthogonal transform unit 4 receives the prediction difference signal from the coding mode determination unit 3, the orthogonal transform unit 4 orthogonally transforms the prediction difference signal and outputs the orthogonal transform coefficient of the prediction difference signal to the quantization unit 5.
When the quantization unit 5 receives the orthogonal transform coefficient from the orthogonal transform unit 4, the quantization unit 5 quantizes the orthogonal transform coefficient using the quantization parameter determined by the encoding control unit 13, and the quantization coefficient of the orthogonal transform coefficient Is output to the inverse quantization unit 6 and the variable length coding unit 11.
逆量子化部6は、量子化部5から量子化係数を受けると、符号化制御部13により決定された量子化パラメータを用いて、その量子化係数を逆量子化することで局部復号直交変換係数(直交変換部4から出力された直交変換係数に相当する係数)を復号し、その局部復号直交変換係数を逆直交変換部7に出力する。
逆直交変換部7は、逆量子化部6から局部復号直交変換係数を受けると、その局部復号直交変換係数を逆直交変換することで局部復号予測差分信号(符号化モード判定部3から出力された予測差分信号に相当する信号)を復号し、その局部復号予測差分信号を加算器8に出力する。
When the inverse quantization unit 6 receives the quantization coefficient from the quantization unit 5, it uses the quantization parameter determined by the encoding control unit 13 to inversely quantize the quantization coefficient to perform local decoding orthogonal transformation. The coefficient (coefficient corresponding to the orthogonal transform coefficient output from the orthogonal transform unit 4) is decoded, and the local decoded orthogonal transform coefficient is output to the inverse orthogonal transform unit 7.
When receiving the local decoded orthogonal transform coefficient from the inverse quantization unit 6, the inverse orthogonal transform unit 7 performs the inverse orthogonal transform on the local decoded orthogonal transform coefficient to output a local decoded prediction difference signal (output from the coding mode determination unit 3). The signal corresponding to the predicted difference signal) is decoded, and the locally decoded predicted difference signal is output to the adder 8.
加算器8は、動き補償予測部1から予測画像を受け、逆直交変換部7から局部復号予測差分信号を受けると、その予測画像と局部復号予測差分信号を加算することで局部復号画像を生成する。
デブロッキングフィルタ9は、外部から入力されたフィルタ制御フラグがオンであれば、加算器8により生成された局部復号画像に対するフィルタリング処理を実施して符号化歪みを解消し、フィルタリング処理後の局部復号画像を動き補償予測用の参照画像としてメモリ10に格納する。
一方、外部から入力されたフィルタ制御フラグがオフであれば、加算器8により生成された局部復号画像に対するフィルタリング処理を実施せずに、その局部復号画像を動き補償予測用の参照画像としてメモリ10に格納する。
When the adder 8 receives the predicted image from the motion compensation prediction unit 1 and receives the local decoded prediction difference signal from the inverse orthogonal transform unit 7, the adder 8 generates the local decoded image by adding the predicted image and the local decoded prediction difference signal To do.
If the externally input filter control flag is on, the deblocking filter 9 performs filtering processing on the local decoded image generated by the adder 8 to eliminate coding distortion, and performs local decoding after filtering processing. The image is stored in the memory 10 as a reference image for motion compensation prediction.
On the other hand, if the filter control flag input from the outside is OFF, the local decoded image is not subjected to the filtering process on the local decoded image generated by the adder 8, and the local decoded image is used as a reference image for motion compensation prediction. To store.
可変長符号化部11は、符号化モード判定部3から出力された動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号と、量子化部5から出力された量子化係数と、符号化制御部13から出力された量子化パラメータと、外部から入力された時間ダイレクトモードフラグ及びフィルタ制御フラグとを可変長符号化(例えば、ハフマン符号化や算術符号化などの手段でエントロピー符号化)してビットストリームを生成し、そのビットストリームを送信バッファ12に出力する。 The variable length encoding unit 11 includes the motion vector output from the encoding mode determination unit 3, the macroblock type / sub macroblock type and the reference image identification number, the quantization coefficient output from the quantization unit 5, The quantization parameter output from the encoding control unit 13 and the temporal direct mode flag and the filter control flag input from the outside are subjected to variable length encoding (for example, entropy encoding by means such as Huffman encoding or arithmetic encoding). ) To generate a bit stream and output the bit stream to the transmission buffer 12.
送信バッファ12は、可変長符号化部11により生成されたビットストリームを一時的に格納してから、そのビットストリームを画像復号装置に出力する。
符号化制御部13は、送信バッファ12により格納されているビットストリームを監視して、適正な量子化パラメータを決定するとともに、符号化モード判定部3における評価対象の予測差分信号の切り換え等を行う。
The transmission buffer 12 temporarily stores the bit stream generated by the variable length encoding unit 11, and then outputs the bit stream to the image decoding apparatus.
The encoding control unit 13 monitors the bitstream stored in the transmission buffer 12 to determine an appropriate quantization parameter, and performs switching of the prediction difference signal to be evaluated in the encoding mode determination unit 3. .
この実施の形態1では、時間ダイレクトモードフラグをシーケンスパラメータセットのデータの一部として符号化するものについて示したが、例えば、ピクチャパラメータセットなどの他のパラメータセットのデータの一部として符号化するようにしてもよい。
また、時間ダイレクトモードフラグがオンの場合、スライス単位で、時間ダイレクトモードと空間ダイレクトモードを切り換えるものについて示したが、マクロブロック単位やピクチャ単位などの他の単位で、時間ダイレクトモードと空間ダイレクトモードを切り換えるようにしてもよい。
In the first embodiment, the temporal direct mode flag is encoded as part of the data of the sequence parameter set. However, for example, it is encoded as part of the data of another parameter set such as a picture parameter set. You may do it.
In addition, when the temporal direct mode flag is on, switching between temporal direct mode and spatial direct mode has been shown for each slice. However, temporal direct mode and spatial direct mode are available for other units such as macroblock units and picture units. May be switched.
次に、図2の画像復号装置の動作について説明する。
可変長復号部21は、図1の画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームを解読して、最も予測効率が高い予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号と、量子化係数及び量子化パラメータと、時間ダイレクトモードフラグ及びフィルタ制御フラグとを抽出する。
可変長復号部21により抽出された量子化係数及び量子化パラメータは、逆量子化部22に出力され、予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ、参照画像の識別番号及び時間ダイレクトモードフラグは、動き補償部24に出力され、フィルタ制御フラグは、デブロッキングフィルタ26に出力される。
Next, the operation of the image decoding apparatus in FIG. 2 will be described.
When the variable length decoding unit 21 receives the bitstream generated by the image encoding device in FIG. 1, the variable length decoding unit 21 decodes the bitstream and is used to generate a predicted image related to the prediction difference signal with the highest prediction efficiency. The motion vector, macroblock type / sub-macroblock type, reference image identification number, quantization coefficient and quantization parameter, temporal direct mode flag, and filter control flag are extracted.
The quantization coefficient and the quantization parameter extracted by the variable length decoding unit 21 are output to the inverse quantization unit 22, and the motion vector, macroblock type / sub-macroblock type, and reference image used to generate the predicted image are output. The identification number and the temporal direct mode flag are output to the motion compensation unit 24, and the filter control flag is output to the deblocking filter 26.
逆量子化部22は、可変長復号部21から量子化係数と量子化パラメータを受けると、その量子化パラメータを用いて、その量子化係数を逆量子化することで、局部復号直交変換係数(図1の直交変換部4から出力された直交変換係数に相当する係数)を復号し、その局部復号直交変換係数を逆直交変換部23に出力する。
逆直交変換部23は、逆量子化部22から局部復号直交変換係数を受けると、その局部復号直交変換係数を逆直交変換することで、局部復号予測差分信号(図1の符号化モード判定部3から出力された予測差分信号に相当する信号)を復号し、その局部復号予測差分信号を加算器25に出力する。
When the inverse quantization unit 22 receives the quantization coefficient and the quantization parameter from the variable length decoding unit 21, the inverse quantization unit 22 performs inverse quantization on the quantization coefficient using the quantization parameter, thereby obtaining a local decoded orthogonal transform coefficient ( 1) (coefficient corresponding to the orthogonal transform coefficient output from the orthogonal transform unit 4 in FIG. 1) is decoded, and the local decoded orthogonal transform coefficient is output to the inverse orthogonal transform unit 23.
When the inverse orthogonal transform unit 23 receives the local decoded orthogonal transform coefficient from the inverse quantization unit 22, the inverse orthogonal transform unit 23 performs inverse orthogonal transform on the local decoded orthogonal transform coefficient, thereby generating a local decoded prediction difference signal (the encoding mode determination unit in FIG. 1). 3) and the local decoded prediction difference signal is output to the adder 25.
動き補償部24は、可変長復号部21から予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ、参照画像の識別番号及び時間ダイレクトモードフラグを受けると、次のようにして、予測画像を生成する。
最初に、時間ダイレクトモードフラグがオンである場合の予測画像の生成処理について説明する。
時間ダイレクトモードフラグがオンである場合、図1の画像符号化装置が、Bピクチャを符号化する際に使用するダイレクトモードとして、時間ダイレクトモードが選択されている可能性がある。
この場合、Bピクチャを復号する際、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルを参照する必要があるので、図3に示すように、動き補償部24が、復号済みマクロブロックの動きベクトルを格納する領域(周囲動きベクトルメモリ31b)だけでなく、復号済みピクチャの動きベクトルを格納する領域(復号済み画像動きベクトルメモリ31a)を確保する。
When the motion compensation unit 24 receives the motion vector, macroblock type / sub-macroblock type, reference image identification number, and temporal direct mode flag used to generate the predicted image from the variable length decoding unit 21, it performs the following. Then, a predicted image is generated.
First, a predicted image generation process when the temporal direct mode flag is on will be described.
When the temporal direct mode flag is on, there is a possibility that the temporal direct mode is selected as the direct mode used when the image coding apparatus in FIG. 1 encodes a B picture.
In this case, when decoding a B picture, it is necessary to refer to a motion vector of a decoded picture that is temporally adjacent to the macroblock to be decoded. Therefore, as shown in FIG. In addition to the area for storing the motion vector of the completed macroblock (peripheral motion vector memory 31b), the area for storing the motion vector of the decoded picture (decoded image motion vector memory 31a) is secured.
[Pピクチャの復号]
Pピクチャを復号する場合、動き補償部24のマクロブロックタイプ判別部32が予測ベクトル生成部33を起動する。
動き補償部24の予測ベクトル生成部33は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプにしたがって予測ベクトルを生成する。
動き補償部24の動きベクトル生成部34は、予測ベクトル生成部33が予測ベクトルを生成すると、その予測ベクトルと可変長復号部21により抽出された動きベクトルをベクトル加算することで、復号対象のマクロブロックの動きベクトルを生成し、その動きベクトルを動き補償予測部36に出力する。
また、動きベクトル生成部34は、その動きベクトルを復号済み画像動きベクトルメモリ31a及び周囲動きベクトルメモリ31bに格納する。
[Decoding P picture]
When decoding a P picture, the macroblock type determination unit 32 of the motion compensation unit 24 activates the prediction vector generation unit 33.
When the prediction vector generation unit 33 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the prediction vector generation unit 33 generates a prediction vector according to the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21.
When the prediction vector generation unit 33 generates a prediction vector, the motion vector generation unit 34 of the motion compensation unit 24 adds the prediction vector and the motion vector extracted by the variable length decoding unit 21 to perform vector addition. A motion vector of the block is generated, and the motion vector is output to the motion compensation prediction unit 36.
In addition, the motion vector generation unit 34 stores the motion vector in the decoded image motion vector memory 31a and the surrounding motion vector memory 31b.
[Bピクチャの復号]
Bピクチャを復号する場合、動き補償部24のマクロブロックタイプ判別部32は、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモード又は空間ダイレクトモードが用いられている旨を示している場合、ダイレクトモードベクトル生成部35を起動する。
そのマクロブロックタイプ/サブマクロブロックタイプが、ダイレクトモード以外のモードが用いられている旨を示している場合、予測ベクトル生成部33を起動する。
[Decoding B picture]
When decoding a B picture, the macro block type determination unit 32 of the motion compensation unit 24 uses the temporal direct mode or the spatial direct mode as the macro block type / sub macro block type extracted by the variable length decoding unit 21. If it indicates that the direct mode vector is present, the direct mode vector generation unit 35 is activated.
When the macroblock type / sub-macroblock type indicates that a mode other than the direct mode is used, the prediction vector generation unit 33 is activated.
動き補償部24のダイレクトモードベクトル生成部35は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモードが用いられている旨を示していれば、復号済み画像動きベクトルメモリ31aにより格納されている動きベクトル(復号対象のマクロブロックの時間的に近傍にある復号済みピクチャにおいて、復号対象のマクロブロックと空間的に同一の位置にあるマクロブロックの動きベクトル)を参照して、復号対象のマクロブロックの動きベクトルを生成する。
そのマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示している場合、周囲動きベクトルメモリ31bにより格納されている動きベクトル(復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトル)を参照して、復号対象のマクロブロックの動きベクトルを生成する。
When the direct mode vector generation unit 35 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the temporal block mode is used for the macroblock type / sub macroblock type extracted by the variable length decoding unit 21. The motion vector stored in the decoded image motion vector memory 31a (in the decoded picture in the temporal vicinity of the macroblock to be decoded, spatially with the macroblock to be decoded). The motion vector of the macroblock to be decoded is generated with reference to the motion vector of the macroblock at the same position.
If the macroblock type / sub-macroblock type indicates that the spatial direct mode is used, the motion vector stored in the surrounding motion vector memory 31b (positioned around the macroblock to be decoded) The motion vector of the macroblock to be decoded is generated with reference to the motion vector of the decoded macroblock).
動き補償部24の予測ベクトル生成部33は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプにしたがって予測ベクトルを生成する。
動き補償部24の動きベクトル生成部34は、予測ベクトル生成部33が予測ベクトルを生成すると、その予測ベクトルと可変長復号部21により抽出された動きベクトルをベクトル加算することで、復号対象のマクロブロックの動きベクトルを生成し、その動きベクトルを動き補償予測部36に出力する。
また、動きベクトル生成部34は、その動きベクトルを復号済み画像動きベクトルメモリ31a及び周囲動きベクトルメモリ31bに格納する。
When the prediction vector generation unit 33 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the prediction vector generation unit 33 generates a prediction vector according to the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21.
When the prediction vector generation unit 33 generates a prediction vector, the motion vector generation unit 34 of the motion compensation unit 24 adds the prediction vector and the motion vector extracted by the variable length decoding unit 21 to perform vector addition. A motion vector of the block is generated, and the motion vector is output to the motion compensation prediction unit 36.
In addition, the motion vector generation unit 34 stores the motion vector in the decoded image motion vector memory 31a and the surrounding motion vector memory 31b.
動き補償部24の動き補償予測部36は、図1の動き補償予測部1と同様の動き補償処理を実施するものであり、動きベクトル生成部34が動きベクトルを生成すれば、その動きベクトルを用いて、予測画像を生成する。
また、動き補償予測部36は、ダイレクトモードベクトル生成部35が動きベクトルを生成すれば、その動きベクトルを用いて、予測画像を生成する。
The motion compensation prediction unit 36 of the motion compensation unit 24 performs a motion compensation process similar to that of the motion compensation prediction unit 1 of FIG. 1. If the motion vector generation unit 34 generates a motion vector, the motion vector is converted into the motion vector. To generate a predicted image.
In addition, when the direct mode vector generation unit 35 generates a motion vector, the motion compensation prediction unit 36 generates a prediction image using the motion vector.
次に、時間ダイレクトモードフラグがオフである場合の予測画像の生成処理について説明する。
時間ダイレクトモードフラグがオフである場合、図1の画像符号化装置が、Bピクチャを符号化する際に使用するダイレクトモードとして、時間ダイレクトモードが選択されている可能性がない。
この場合、Bピクチャを復号する際、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルを参照する必要がないので、図4に示すように、動き補償部24が、復号済みマクロブロックの動きベクトルを格納する領域(周囲動きベクトルメモリ31b)だけを確保して、復号済みピクチャの動きベクトルを格納する領域(復号済み画像動きベクトルメモリ31a)を確保しない。
Next, prediction image generation processing when the temporal direct mode flag is off will be described.
When the temporal direct mode flag is off, there is no possibility that the temporal direct mode is selected as the direct mode used when the image coding apparatus in FIG. 1 encodes a B picture.
In this case, when decoding the B picture, there is no need to refer to the motion vector of the decoded picture that is temporally adjacent to the macroblock to be decoded. Therefore, as shown in FIG. Only the area for storing the motion vector of the completed macroblock (peripheral motion vector memory 31b) is secured, and the area for storing the motion vector of the decoded picture (decoded image motion vector memory 31a) is not secured.
[Pピクチャの復号]
Pピクチャを復号する場合、動き補償部24のマクロブロックタイプ判別部32が予測ベクトル生成部33を起動する。
動き補償部24の予測ベクトル生成部33は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプにしたがって予測ベクトルを生成する。
動き補償部24の動きベクトル生成部34は、予測ベクトル生成部33が予測ベクトルを生成すると、その予測ベクトルと可変長復号部21により抽出された動きベクトルをベクトル加算することで、復号対象のマクロブロックの動きベクトルを生成し、その動きベクトルを動き補償予測部36に出力する。
また、動きベクトル生成部34は、その動きベクトルを周囲動きベクトルメモリ31bに格納する。
[Decoding P picture]
When decoding a P picture, the macroblock type determination unit 32 of the motion compensation unit 24 activates the prediction vector generation unit 33.
When the prediction vector generation unit 33 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the prediction vector generation unit 33 generates a prediction vector according to the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21.
When the prediction vector generation unit 33 generates a prediction vector, the motion vector generation unit 34 of the motion compensation unit 24 adds the prediction vector and the motion vector extracted by the variable length decoding unit 21 to perform vector addition. A motion vector of the block is generated, and the motion vector is output to the motion compensation prediction unit 36.
In addition, the motion vector generation unit 34 stores the motion vector in the surrounding motion vector memory 31b.
[Bピクチャの復号]
Bピクチャを復号する場合、動き補償部24のマクロブロックタイプ判別部32は、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示していれば(時間ダイレクトモードフラグがオフであるため、時間ダイレクトモードが用いられている旨を示していることはない)、ダイレクトモードベクトル生成部35を起動する。
そのマクロブロックタイプ/サブマクロブロックタイプが、ダイレクトモード以外のモードが用いられている旨を示している場合、予測ベクトル生成部33を起動する。
[Decoding B picture]
When decoding a B picture, the macro block type determination unit 32 of the motion compensation unit 24 indicates that the macro block type / sub macro block type extracted by the variable length decoding unit 21 uses the spatial direct mode. If so (the time direct mode flag is off, there is no indication that the time direct mode is used), the direct mode vector generation unit 35 is activated.
When the macroblock type / sub-macroblock type indicates that a mode other than the direct mode is used, the prediction vector generation unit 33 is activated.
動き補償部24のダイレクトモードベクトル生成部35は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示している場合、周囲動きベクトルメモリ31bにより格納されている動きベクトル(復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトル)を参照して、復号対象のマクロブロックの動きベクトルを生成する。 When the direct mode vector generation unit 35 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21 is used in the spatial direct mode. The motion vector stored in the surrounding motion vector memory 31b (the motion vector of the decoded macroblock located around the macroblock to be decoded) and the decoding target Generate macroblock motion vectors.
動き補償部24の予測ベクトル生成部33は、マクロブロックタイプ判別部32により起動されると、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプにしたがって予測ベクトルを生成する。
動き補償部24の動きベクトル生成部34は、予測ベクトル生成部33が予測ベクトルを生成すると、その予測ベクトルと可変長復号部21により抽出された動きベクトルをベクトル加算することで、復号対象のマクロブロックの動きベクトルを生成し、その動きベクトルを動き補償予測部36に出力する。
また、動きベクトル生成部34は、その動きベクトルを周囲動きベクトルメモリ31bに格納する。
When the prediction vector generation unit 33 of the motion compensation unit 24 is activated by the macroblock type determination unit 32, the prediction vector generation unit 33 generates a prediction vector according to the macroblock type / sub-macroblock type extracted by the variable length decoding unit 21.
When the prediction vector generation unit 33 generates a prediction vector, the motion vector generation unit 34 of the motion compensation unit 24 adds the prediction vector and the motion vector extracted by the variable length decoding unit 21 to perform vector addition. A motion vector of the block is generated, and the motion vector is output to the motion compensation prediction unit 36.
In addition, the motion vector generation unit 34 stores the motion vector in the surrounding motion vector memory 31b.
動き補償部24の動き補償予測部36は、動きベクトル生成部34が動きベクトルを生成すれば、その動きベクトルを用いて、予測画像を生成する。
また、動き補償予測部36は、ダイレクトモードベクトル生成部35が動きベクトルを生成すれば、その動きベクトルを用いて、予測画像を生成する。
When the motion vector generation unit 34 generates a motion vector, the motion compensation prediction unit 36 of the motion compensation unit 24 generates a prediction image using the motion vector.
In addition, when the direct mode vector generation unit 35 generates a motion vector, the motion compensation prediction unit 36 generates a prediction image using the motion vector.
加算器25は、上記のようにして、動き補償予測部24が予測画像を生成すると、その予測画像と逆直交変換部23から出力された局部復号予測差分信号を加算することで、局部復号画像(図1の加算器8により生成される局部復号画像に相当する画像)を生成する。 When the motion compensated prediction unit 24 generates a predicted image as described above, the adder 25 adds the predicted decoded image and the local decoded prediction difference signal output from the inverse orthogonal transform unit 23, so that the locally decoded image is added. (An image corresponding to the locally decoded image generated by the adder 8 in FIG. 1) is generated.
デブロッキングフィルタ26は、可変長復号部21により抽出されたフィルタ制御フラグがオンであれば、加算器25により生成された局部復号画像に対するフィルタリング処理を実施して符号化歪みを解消し、フィルタリング処理後の局部復号画像を動き補償予測用の参照画像としてメモリ27に格納するとともに、フィルタリング処理後の局部復号画像を復号画像(図1の画像符号化装置に入力される入力画像に相当する画像)として出力する。
一方、可変長復号部21により抽出されたフィルタ制御フラグがオフであれば、加算器25により生成された局部復号画像に対するフィルタリング処理を実施せずに、その局部復号画像を動き補償予測用の参照画像としてメモリ27に格納するとともに、その局部復号画像を復号画像(図1の画像符号化装置に入力される入力画像に相当する画像)として出力する。
If the filter control flag extracted by the variable length decoding unit 21 is on, the deblocking filter 26 performs filtering processing on the locally decoded image generated by the adder 25 to eliminate coding distortion, and performs filtering processing. The subsequent local decoded image is stored in the memory 27 as a reference image for motion compensation prediction, and the local decoded image after filtering processing is decoded image (an image corresponding to an input image input to the image encoding device in FIG. 1). Output as.
On the other hand, if the filter control flag extracted by the variable-length decoding unit 21 is OFF, the local decoded image is referred to for motion compensation prediction without performing the filtering process on the local decoded image generated by the adder 25. While being stored in the memory 27 as an image, the locally decoded image is output as a decoded image (an image corresponding to an input image input to the image encoding device in FIG. 1).
以上で明らかなように、この実施の形態1によれば、時間ダイレクトモードフラグがオンである場合、入力画像を構成している符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルを参照する時間ダイレクトモード又は符号化対象のマクロブロックの周囲に位置している符号化済みマクロブロックの動きベクトルを参照する空間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成し、その時間ダイレクトモードフラグがオフである場合、その空間ダイレクトモードで、符号化対象のマクロブロックの動きベクトルを生成して予測画像を生成する動き補償予測部1と、動き補償予測部1により生成された予測画像と入力画像の差分画像を求め、その差分画像である予測差分信号を出力する減算器2と、減算器2から出力された予測差分信号の予測効率を評価して、減算器2から出力された少なくとも1以上の予測差分信号の中で、最も予測効率が高い予測差分信号を選択する符号化モード判定部3とを設け、可変長符号化部11が、符号化モード判定部3により選択された予測差分信号に係る予測画像の生成に用いられた動きベクトル、マクロブロックタイプ/サブマクロブロックタイプ及び参照画像の識別番号と、量子化部5から出力された量子化係数と、符号化制御部13から出力された量子化パラメータと、外部から入力された時間ダイレクトモードフラグ及びフィルタ制御フラグとを可変長符号化してビットストリームを生成するように構成したので、時間ダイレクトモードフラグがオフの場合、符号化対象のマクロブロックの時間的に近傍にある符号化済みピクチャの動きベクトルを格納するためのメモリを確保する必要がなくなり、メモリ量を削減することができる効果を奏する。 As is apparent from the above, according to the first embodiment, when the temporal direct mode flag is on, an encoded picture that is temporally close to the macroblock to be encoded constituting the input image. The motion vector of the encoding target macroblock is generated in the temporal direct mode that refers to the motion vector of the image or the spatial direct mode that refers to the motion vector of the encoded macroblock located around the encoding target macroblock. And when the temporal direct mode flag is off, the motion compensated prediction unit 1 that generates a prediction image by generating a motion vector of a macroblock to be encoded in the spatial direct mode; A difference image between the prediction image generated by the motion compensation prediction unit 1 and the input image is obtained, and the prediction that is the difference image The subtractor 2 that outputs the minute signal and the prediction efficiency of the prediction difference signal output from the subtractor 2 are evaluated, and among the at least one or more prediction difference signals output from the subtractor 2, the prediction efficiency is the highest. A coding mode determination unit 3 that selects a high prediction difference signal, and the variable length coding unit 11 uses the motion vector used to generate a prediction image related to the prediction difference signal selected by the coding mode determination unit 3 , Macroblock type / sub-macroblock type and reference image identification number, quantization coefficient output from the quantization unit 5, quantization parameter output from the encoding control unit 13, and time input from the outside Since the bit stream is generated by variable length encoding the direct mode flag and the filter control flag, when the temporal direct mode flag is off, Of temporally motion vectors of encoded pictures in the vicinity of the macro block eliminates the need to allocate memory for storing the target, an effect that it is possible to reduce the memory amount.
また、この実施の形態1によれば、可変長復号部21により抽出された時間ダイレクトモードフラグがオンである場合、可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、時間ダイレクトモードが用いられている旨を示していれば、復号対象のマクロブロックの時間的に近傍にある復号済みピクチャの動きベクトルを参照する時間ダイレクトモードで、復号対象のマクロブロックの動きベクトルを生成し、可変長復号部21により抽出された時間ダイレクトモードフラグがオフである場合又は可変長復号部21により抽出されたマクロブロックタイプ/サブマクロブロックタイプが、空間ダイレクトモードが用いられている旨を示している場合、復号対象のマクロブロックの周囲に位置している復号済みマクロブロックの動きベクトルを参照する空間ダイレクトモードで、復号対象のマクロブロックの動きベクトルを生成し、その生成した動きベクトルを用いて、予測画像を生成する動き補償部24を設け、加算器25が、動き補償部24により生成された予測画像と逆直交変換部23から出力された局部復号予測差分信号を加算することで、局部復号画像を得るように構成したので、画像符号化装置において、時間ダイレクトモードフラグがオフの場合、復号済みピクチャの動きベクトルを格納する領域(復号済み画像動きベクトルメモリ31a)を確保する必要がなくなり、メモリ量を削減することができる効果を奏する。 Also, according to the first embodiment, when the temporal direct mode flag extracted by the variable length decoding unit 21 is on, the macroblock type / sub macroblock type extracted by the variable length decoding unit 21 is If it indicates that the direct mode is used, the motion vector of the decoding target macroblock is generated in the temporal direct mode that refers to the motion vector of the decoded picture that is temporally adjacent to the decoding target macroblock. When the temporal direct mode flag extracted by the variable length decoding unit 21 is OFF or the macroblock type / sub macroblock type extracted by the variable length decoding unit 21 indicates that the spatial direct mode is used. If indicated, decoded already located around the macroblock to be decoded A motion compensation unit 24 that generates a motion vector of a macroblock to be decoded in a spatial direct mode that refers to a motion vector of the macroblock and generates a predicted image using the generated motion vector is provided. Since the local decoded image is obtained by adding the prediction image generated by the motion compensation unit 24 and the local decoded prediction difference signal output from the inverse orthogonal transform unit 23, the image coding apparatus When the direct mode flag is off, there is no need to secure an area (decoded image motion vector memory 31a) for storing a motion vector of a decoded picture, and the memory amount can be reduced.
また、この実施の形態1によれば、時間ダイレクトモードフラグは、シーケンスに1つあれば十分であるため、従来例のようにスライス単位でフラグを持つ必要がなくなる。そのため、符号量の削減に寄与する効果も奏する。
さらに、スライス単位でダイレクトモードを切り換える煩雑な処理がなくなるため、演算量を削減することができる効果を奏する。
Further, according to the first embodiment, it is sufficient that one temporal direct mode flag is included in the sequence, so that it is not necessary to have a flag for each slice as in the conventional example. For this reason, there is an effect that contributes to the reduction of the code amount.
Furthermore, since there is no complicated process for switching the direct mode in units of slices, the amount of calculation can be reduced.
なお、この実施の形態1では、時間ダイレクトモードフラグを用いて、時間ダイレクトモードの使用を許可するか否かを示す制御信号を送受信するものについて示したが、例えば、プロファイル情報や、constraint_set_flagなどの別のフラグに、時間ダイレクトモードの使用を許可するか否かを示す制御信号を含めて送受信するようにしてもよい。 In the first embodiment, the transmission / reception of the control signal indicating whether or not the use of the temporal direct mode is permitted using the temporal direct mode flag has been described. For example, profile information, constraint_set_flag, and the like are used. Another flag may be transmitted and received including a control signal indicating whether or not to permit use of the time direct mode.
1 動き補償予測部(予測画像生成手段)、2 減算器(予測画像選択手段)、3 符号化モード判定部(予測画像選択手段)、4 直交変換部(量子化手段)、5 量子化部(量子化手段)、6 逆量子化部、7 逆直交変換部、8 加算器、9 デブロッキングフィルタ、10 メモリ、11 可変長符号化部(ビットストリーム生成手段)、12 送信バッファ、13 符号化制御部、21 可変長復号部(可変長復号手段)、22 逆量子化部(逆量子化手段)、23 逆直交変換部(逆量子化手段)、24 動き補償部(動きベクトル生成手段、予測画像生成手段)、25 加算器(加算手段)、26 デブロッキングフィルタ、27 メモリ、31 動きベクトルメモリ部、31a 復号済み画像動きベクトルメモリ、31b 周囲動きベクトルメモリ、32 マクロブロックタイプ判別部、33 予測ベクトル生成部、34 動きベクトル生成部、35 ダイレクトモードベクトル生成部、36 動き補償予測部。 DESCRIPTION OF SYMBOLS 1 Motion compensation prediction part (prediction image production | generation means) 2 Subtractor (prediction image selection means) 3 Coding mode determination part (prediction image selection means) 4 Orthogonal transformation part (quantization means) 5 Quantization part ( Quantization means), 6 inverse quantization unit, 7 inverse orthogonal transform unit, 8 adder, 9 deblocking filter, 10 memory, 11 variable length coding unit (bit stream generation unit), 12 transmission buffer, 13 encoding control , 21 variable length decoding unit (variable length decoding unit), 22 inverse quantization unit (inverse quantization unit), 23 inverse orthogonal transform unit (inverse quantization unit), 24 motion compensation unit (motion vector generation unit, predicted image) Generating means), 25 adder (adding means), 26 deblocking filter, 27 memory, 31 motion vector memory section, 31a decoded image motion vector memory, 31b ambient motion vector Memory, 32 Macroblock type discrimination unit, 33 Prediction vector generation unit, 34 Motion vector generation unit, 35 Direct mode vector generation unit, 36 Motion compensation prediction unit
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013031973A JP5693628B2 (en) | 2013-02-21 | 2013-02-21 | Image decoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013031973A JP5693628B2 (en) | 2013-02-21 | 2013-02-21 | Image decoding device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009153810A Division JP5209572B2 (en) | 2009-06-29 | 2009-06-29 | Image encoding apparatus and image decoding apparatus |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014225282A Division JP5931160B2 (en) | 2014-11-05 | 2014-11-05 | Image encoding apparatus and bit stream |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013128319A JP2013128319A (en) | 2013-06-27 |
JP2013128319A5 true JP2013128319A5 (en) | 2013-10-03 |
JP5693628B2 JP5693628B2 (en) | 2015-04-01 |
Family
ID=48778555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013031973A Active JP5693628B2 (en) | 2013-02-21 | 2013-02-21 | Image decoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5693628B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4879558B2 (en) * | 2005-11-02 | 2012-02-22 | パナソニック株式会社 | Motion vector detection device |
JP2009055519A (en) * | 2007-08-29 | 2009-03-12 | Sony Corp | Encoding processing apparatus, encoding processing method, decoding processing apparatus, and decoding processing method |
-
2013
- 2013-02-21 JP JP2013031973A patent/JP5693628B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101972407B1 (en) | Apparatus and method for image coding and decoding | |
JP6242983B2 (en) | Video encoding device | |
KR101947142B1 (en) | Methods of decoding using skip mode and apparatuses for using the same | |
CA2863170C (en) | Video decoder, video encoder, video decoding method, and video encoding method | |
KR20080064355A (en) | Method and apparatus for prediction video encoding, and method and apparatus for prediction video decoding | |
WO2019069602A1 (en) | Video coding device, video decoding device, video coding method, video decoding method, program and video system | |
JP5209572B2 (en) | Image encoding apparatus and image decoding apparatus | |
JP2014192702A (en) | Method, program and device for encoding a plurality of input image | |
KR20180040824A (en) | Video coding method and apparatus using decoder-side intra mode derivation | |
JP2009260421A (en) | Moving image processing system, encoding device, encoding method, encoding program, decoding device, decoding method and decoding program | |
WO2014084674A2 (en) | Intra prediction method and intra prediction apparatus using residual transform | |
JP5693628B2 (en) | Image decoding device | |
JP5931160B2 (en) | Image encoding apparatus and bit stream | |
JP5442039B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP2016167853A (en) | Image decoding device, image encoding device and bit stream | |
JP2013128319A5 (en) | ||
JP2013077865A (en) | Image encoding apparatus, image decoding apparatus, image encoding method and image decoding method | |
KR20110067648A (en) | Method for encoding/decoding image and apparatus for performing the same | |
JP2012054618A (en) | Moving image encoding apparatus and encoding method, and moving image decoding apparatus and decoding method | |
JP2016051922A (en) | Dynamic image encoding device, dynamic image decoding device, dynamic image processing system, dynamic image encoding method, dynamic image decoding method, and program |