Nothing Special   »   [go: up one dir, main page]

JP2012142702A - Image processing device, method, and program - Google Patents

Image processing device, method, and program Download PDF

Info

Publication number
JP2012142702A
JP2012142702A JP2010292619A JP2010292619A JP2012142702A JP 2012142702 A JP2012142702 A JP 2012142702A JP 2010292619 A JP2010292619 A JP 2010292619A JP 2010292619 A JP2010292619 A JP 2010292619A JP 2012142702 A JP2012142702 A JP 2012142702A
Authority
JP
Japan
Prior art keywords
image
motion vector
detected
pmv
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.)
Withdrawn
Application number
JP2010292619A
Other languages
Japanese (ja)
Inventor
Masamichi Nagone
正道 名郷根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2010292619A priority Critical patent/JP2012142702A/en
Priority to US13/287,543 priority patent/US20120163711A1/en
Priority to CN2011104286362A priority patent/CN102572424A/en
Publication of JP2012142702A publication Critical patent/JP2012142702A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve an accuracy in motion vector detection.SOLUTION: It is determined whether or not an image which is an inspection target of a motion vector has an image including an edge. When it is determined that the image has an edge, a processing for giving preferential treatment to a predicted motion vector (PMV) is performed. When it is determined that the image does not have an edge, the processing for giving preferential treatment to the predicted motion vector (PMV) is not performed, but a usual processing is performed. For giving preferential treatment to the PMV, calculation where a cost function value of the PMV is a value smaller than the cost function value of other motion vectors is performed so that the PMV can be more easily selected than the other motion vectors. The present invention is applicable to an encoder of an AVC (Advanced Video Coding) system.

Description

本発明は画像処理装置および方法、並びにプログラムに関し、特に、エンコード時の画質の劣化を防ぐことができるようにした画像処理装置および方法、並びにプログラムに関する。   The present invention relates to an image processing apparatus, method, and program, and more particularly, to an image processing apparatus, method, and program that can prevent deterioration in image quality during encoding.

近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。   In recent years, image information has been handled as digital data, and at that time, for the purpose of efficient transmission and storage of information, encoding is performed by orthogonal transform such as discrete cosine transform and motion compensation using redundancy unique to image information. An apparatus that employs a method to compress and code an image is becoming widespread. This encoding method includes, for example, MPEG (Moving Picture Experts Group).

特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。   In particular, MPEG2 (ISO / IEC 13818-2) is defined as a general-purpose image coding system, and is a standard that covers both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images. For example, MPEG2 is currently widely used in a wide range of applications for professional and consumer applications. MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized accordingly. Regarding the image coding system, the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.

さらにH.26L (ITU-T Q6/16 VCEG)という規格がある。H.26Lは、MPEG2やMPEG4といった符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。その後、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。   In addition H. There is a standard called 26L (ITU-T Q6 / 16 VCEG). H. 26L is known to realize higher encoding efficiency, although a larger amount of computation is required for encoding and decoding than encoding methods such as MPEG2 and MPEG4. Later, as part of MPEG4 activities, Based on 26L, H. Standardization to achieve higher coding efficiency by incorporating functions not supported by 26L is being carried out as Joint Model of Enhanced-Compression Video Coding. In March 2003, H.C. H.264 and MPEG-4 Part10 (Advanced Video Coding, hereinafter referred to as H.264 / AVC).

H.264/AVC Software Coordination [online][平成22年12月9日]検索インターネット<URL:http://iphome.hhi.de/suehring/tml/>H.264 / AVC Software Coordination [online] [December 9, 2010] Search Internet <URL: http://iphome.hhi.de/suehring/tml/>

符号化した結果、画質が劣化する場合がある。図1に画質劣化の一例を示す。図1は、所定の解析用のソフトウェアを用いて、符号化時に検出された動きベクトルを可視化し、画像上に重畳した図である。図1には、高層ビルが映し出されており、この高層ビルを下から上方向にチルトして撮影したときに得られる1画像上に、動きベクトルを可視化して重畳している。図1において、白い点(線)は、動きベクトル(ただし、図1においては、方向は示していない)を示している。下から上方向にチルトして撮影された画像上では、動きベクトルは、同一方向に同じ量だけ移動するベクトルとして検出される。よって、そのような動きベクトルを可視化した場合、同じ長さの線(点)になる。   As a result of encoding, image quality may deteriorate. FIG. 1 shows an example of image quality deterioration. FIG. 1 is a diagram in which motion vectors detected at the time of encoding are visualized and superimposed on an image using predetermined analysis software. In FIG. 1, a high-rise building is projected, and a motion vector is visualized and superimposed on one image obtained when the high-rise building is photographed by tilting upward from below. In FIG. 1, white dots (lines) indicate motion vectors (however, directions are not shown in FIG. 1). A motion vector is detected as a vector that moves by the same amount in the same direction on an image that is taken by tilting from bottom to top. Therefore, when such a motion vector is visualized, it becomes a line (point) of the same length.

しかしながら、図1において、楕円11で囲った部分内には、他の動きベクトルとは異なる方向や長さで検出された動きベクトルが検出されたため、他の部分とは異なる長さの線が存在している。図1の楕円11内の一部分をさらに拡大した図を、図2に示す。図2に示した動きベクトルのうち、例えば、動きベクトル21と動きベクトル22は、長さが異なる。動きベクトル22と同じ長さのベクトルは、図1中に多数存在し、動きベクトル22は、正しく検出されたベクトルであると判断できる。よって、動きベクトル21は、誤検出されたベクトルであると判断できる。このような動きベクトルの誤検出は、画質の劣化を招くことになり、改善されることが望まれている。   However, in FIG. 1, a motion vector detected in a direction and length different from those of other motion vectors is detected in a portion surrounded by an ellipse 11, and therefore a line having a length different from that of the other portion exists. is doing. A further enlarged view of a part of the ellipse 11 in FIG. 1 is shown in FIG. Among the motion vectors shown in FIG. 2, for example, the motion vector 21 and the motion vector 22 have different lengths. Many vectors having the same length as the motion vector 22 exist in FIG. 1, and it can be determined that the motion vector 22 is a correctly detected vector. Therefore, it can be determined that the motion vector 21 is an erroneously detected vector. Such erroneous detection of motion vectors causes deterioration of image quality, and it is desired to be improved.

また他の例として、図3を示す。図3は、車道沿いにカメラを固定し、車の行き来を撮影した映像の1画像上に、動きベクトルを可視化して重畳した図である。図1と同じく、図3においても、白い点(線)は、動きベクトルを示している。図3においては、固定カメラで撮影されている。よって、車道は固定であり、車が移動している映像が撮影されるため、車道からは動きベクトルが検出されず、車からは動きベクトルが検出される状態である。   FIG. 3 shows another example. FIG. 3 is a diagram in which a motion vector is visualized and superimposed on one image of a video in which a camera is fixed along a roadway and a traffic image is taken. Similar to FIG. 1, in FIG. 3, white dots (lines) indicate motion vectors. In FIG. 3, the image is taken with a fixed camera. Therefore, since the roadway is fixed and an image in which the vehicle is moving is captured, a motion vector is not detected from the roadway, and a motion vector is detected from the vehicle.

しかしながら、図3を参照するに、楕円31内の車の付近の車道上にも動きベクトルが検出されたことを示す線が存在する。図3を参照すると、楕円31内に限らず、他の部分においても、動いている物体の近傍にある静止している物体上にも、動きベクトルが検出されていることが読み取れる。このように、動いている物体の近傍で、本来検出されない動きベクトルが検出されることがあり、このような誤検出は、上記した場合と同じく、画質の劣化を招くことになり、改善されることが望まれている。   However, referring to FIG. 3, there is also a line indicating that a motion vector has been detected on the roadway near the car in the ellipse 31. Referring to FIG. 3, it can be read that the motion vector is detected not only in the ellipse 31 but also in other parts on a stationary object near the moving object. As described above, a motion vector that is not originally detected may be detected in the vicinity of a moving object, and such erroneous detection leads to deterioration of image quality and is improved as in the case described above. It is hoped that.

本発明は、このような状況に鑑みてなされたものであり、符号化により画質が劣化してしまうことを防ぐことができるようにするものである。   The present invention has been made in view of such a situation, and is intended to prevent image quality from being deteriorated by encoding.

本発明の一側面の画像処理装置は、画像内に連続するエッジが検出されたか否かを判断する判断部と、前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理する優遇部とを備える。   An image processing apparatus according to an aspect of the present invention includes: a determination unit that determines whether or not a continuous edge is detected in an image; and when the determination unit determines that a continuous edge is detected, the predicted motion vector is And a preferential treatment unit that performs preferential treatment over other motion vectors.

前記判断部は、クロマイントラモードにおけるモードの情報を用いるようにすることができる。   The determination unit may use mode information in the chroma intra mode.

前記判断部は、クロマイントラモードが水平予測モードまたは垂直予測モードのとき、連続するエッジが検出されたと判断するようにすることができる。   The determination unit may determine that consecutive edges have been detected when the chroma intra mode is the horizontal prediction mode or the vertical prediction mode.

前記優遇部は、前記予測動きベクトルのコスト関数値から、所定の値を減算するようにすることができる。   The preferential treatment unit may subtract a predetermined value from the cost function value of the predicted motion vector.

本発明の一側面の画像処理方法は、判断部と優遇部を備える画像処理装置の画像処理方法において、前記判断部は、画像内に連続するエッジが検出されたか否かを判断し、前記優遇部は、前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理するステップを含む。   An image processing method according to one aspect of the present invention is an image processing method of an image processing apparatus including a determination unit and a preferential unit, wherein the determination unit determines whether a continuous edge is detected in an image, and the preferential unit The unit includes a step of processing so that the predicted motion vector is favored over other motion vectors when it is determined by the determination unit that a continuous edge is detected.

本発明の一側面のプログラムは、判断部と優遇部を備える画像処理装置を制御するコンピュータに、前記判断部は、画像内に連続するエッジが検出されたか否かを判断し、前記優遇部は、前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理するステップを含む処理を実行させるためのプログラムである。   A program according to one aspect of the present invention is directed to a computer that controls an image processing apparatus including a determination unit and a preferential unit, wherein the determination unit determines whether a continuous edge is detected in the image, and the preferential unit includes: When the determination unit determines that consecutive edges have been detected, the program is a program for executing a process including a step of processing so that a predicted motion vector is preferentially given over other motion vectors.

本発明の一側面の画像処理装置および方法、並びにプログラムにおいては、画像内に連続するエッジが検出された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理がされる。   In the image processing apparatus and method, and the program according to one aspect of the present invention, when a continuous edge is detected in an image, the predicted motion vector is processed in preference to other motion vectors.

本発明の一側面によれば、符号化により画質が劣化してしまうことを防ぐことが可能となる。   According to one aspect of the present invention, it is possible to prevent image quality from being deteriorated by encoding.

検出される動きベクトルについて説明するための図である。It is a figure for demonstrating the motion vector detected. 検出される動きベクトルについて説明するための図である。It is a figure for demonstrating the motion vector detected. 検出される動きベクトルについて説明するための図である。It is a figure for demonstrating the motion vector detected. エンコーダの一実施の形態の構成を示す図である。It is a figure which shows the structure of one Embodiment of an encoder. インタレースについて説明するための図である。It is a figure for demonstrating an interlace. 誤検出について説明するための図である。It is a figure for demonstrating a misdetection. 検出される動きベクトルについて説明するための図である。It is a figure for demonstrating the motion vector detected. 動き予測装置の動作について説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of a motion estimation apparatus. イントラクロマのモードについて説明するための図である。It is a figure for demonstrating the mode of an intra chroma. 記録媒体について説明するための図である。It is a figure for demonstrating a recording medium.

以下に、本発明の実施の形態について図面を参照して説明する。   Embodiments of the present invention will be described below with reference to the drawings.

[エンコーダの構成例]
図4は、AVC(Advanced Video Coding)方式のエンコーダの一実施の形態の構成例を示すブロック図である。図4のエンコーダは、A/D変換装置101、画面並べ替えバッファ102、演算装置103、直交変換装置104、量子化装置105、可逆符号化装置106、蓄積バッファ107、逆量子化装置108、逆直交変換装置109、加算装置110、デブロックフィルタ111、フレームメモリ112、動き補償装置113、イントラ予測装置114、レート制御装置115、動き予測装置116、および選択装置117により構成される。図4のエンコーダは、入力された画像をAVC方式で圧縮符号化する。
[Example of encoder configuration]
FIG. 4 is a block diagram illustrating a configuration example of an embodiment of an AVC (Advanced Video Coding) encoder. 4 includes an A / D conversion device 101, a screen rearrangement buffer 102, an arithmetic device 103, an orthogonal transformation device 104, a quantization device 105, a lossless encoding device 106, a storage buffer 107, an inverse quantization device 108, an inverse quantization device. The apparatus includes an orthogonal transformation device 109, an addition device 110, a deblock filter 111, a frame memory 112, a motion compensation device 113, an intra prediction device 114, a rate control device 115, a motion prediction device 116, and a selection device 117. The encoder of FIG. 4 compresses and encodes the input image by the AVC method.

具体的には、エンコーダのA/D変換装置101は、入力信号として入力されたフレーム単位の画像をA/D変換し、画面並べ替えバッファ102に出力し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のための順番に並べ替える。   Specifically, the A / D conversion apparatus 101 of the encoder performs A / D conversion on an image in frame units input as an input signal, and outputs to the screen rearrangement buffer 102 for storage. The screen rearrangement buffer 102 rearranges the stored frame images in the display order in the order for encoding according to the GOP (Group of Picture) structure.

演算装置103は、必要に応じて、画面並べ替えバッファ102から読み出された画像から、選択装置117から供給される予測画像を減算する。演算装置103は、減算の結果得られる画像を、残差情報として直交変換装置104に出力する。演算装置103は、選択装置117から予測画像が供給されない場合、画面並べ替えバッファ102から読み出された画像をそのまま残差情報として直交変換装置104に出力する。   The arithmetic device 103 subtracts the predicted image supplied from the selection device 117 from the image read from the screen rearrangement buffer 102 as necessary. The arithmetic device 103 outputs an image obtained as a result of the subtraction to the orthogonal transform device 104 as residual information. When the prediction image is not supplied from the selection device 117, the arithmetic device 103 outputs the image read from the screen rearrangement buffer 102 as it is to the orthogonal transform device 104 as residual information.

直交変換装置104は、演算装置103からの残差情報に対して、ブロックサイズに応じた直交変換処理を行い、直交変換処理の結果得られる係数を量子化装置105に供給する。量子化装置105は、直交変換装置104から供給される係数を量子化する。量子化された係数は、可逆符号化装置106に入力される。可逆符号化装置106は、最適イントラ予測モードを示す情報(以下、イントラ予測モード情報という)をイントラ予測装置114から取得し、最適インター予測モードを示す情報(以下、インター予測モード情報という)、動きベクトルの情報などを動き予測装置116から取得する。   The orthogonal transform device 104 performs orthogonal transform processing on the residual information from the arithmetic device 103 according to the block size, and supplies coefficients obtained as a result of the orthogonal transform processing to the quantization device 105. The quantization device 105 quantizes the coefficient supplied from the orthogonal transformation device 104. The quantized coefficient is input to the lossless encoding device 106. The lossless encoding apparatus 106 acquires information indicating the optimal intra prediction mode (hereinafter referred to as intra prediction mode information) from the intra prediction apparatus 114, information indicating the optimal inter prediction mode (hereinafter referred to as inter prediction mode information), motion Vector information and the like are acquired from the motion prediction device 116.

可逆符号化装置106は、量子化装置105から供給される量子化された係数に対して、可変長符号化(例えば、CAVLC(Context-Adaptive Variable Length Coding)など)、算術符号化(例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)など)などの可逆符号化を行い、その結果得られる情報を圧縮画像とする。また、可逆符号化装置106は、イントラ予測モード情報、インター予測モード情報、動きベクトルの情報などを可逆符号化し、その結果得られる情報を圧縮画像に付加されるヘッダ情報とする。可逆符号化装置106は、可逆符号化の結果得られるヘッダ情報が付加された圧縮画像を画像圧縮情報として蓄積バッファ107に供給し、蓄積させる。   The lossless encoding device 106 performs variable length coding (for example, CAVLC (Context-Adaptive Variable Length Coding)), arithmetic coding (for example, CABAC) on the quantized coefficients supplied from the quantization device 105. (Context-Adaptive Binary Arithmetic Coding, etc.) is performed, and the resulting information is used as a compressed image. Further, the lossless encoding apparatus 106 performs lossless encoding on intra prediction mode information, inter prediction mode information, motion vector information, and the like, and uses the resulting information as header information added to the compressed image. The lossless encoding device 106 supplies the compressed image to which the header information obtained as a result of the lossless encoding is added to the accumulation buffer 107 as image compression information, and accumulates it.

蓄積バッファ107は、可逆符号化装置106から供給される画像圧縮情報を、一時的に記憶し、例えば、後段の図示せぬ記録装置や伝送路などに出力する。また、量子化装置105より出力された、量子化された係数は、逆量子化装置108にも入力され、逆量子化された後、逆直交変換装置109に供給される。   The accumulation buffer 107 temporarily stores the compressed image information supplied from the lossless encoding device 106 and outputs the information to, for example, a recording device or a transmission path (not shown) in the subsequent stage. The quantized coefficient output from the quantizing device 105 is also input to the inverse quantizing device 108, and after being inverse quantized, is supplied to the inverse orthogonal transform device 109.

逆直交変換装置109は、逆量子化装置108から供給される係数に対して、ブロックサイズに応じた逆直交変換処理を行い、逆直交変換処理の結果得られる残差情報を加算装置110に供給する。加算装置110は、逆直交変換装置109から供給される残差情報を、必要に応じて、イントラ予測装置114または動き補償装置113から供給される予測画像と加算し、局部的に復号された画像を得る。加算装置110は、得られた画像をデブロックフィルタ111に供給するとともに、参照画像としてイントラ予測装置114に供給する。   The inverse orthogonal transform device 109 performs an inverse orthogonal transform process according to the block size on the coefficient supplied from the inverse quantization device 108, and supplies residual information obtained as a result of the inverse orthogonal transform process to the adder device 110. To do. The adder 110 adds the residual information supplied from the inverse orthogonal transform device 109 to the predicted image supplied from the intra prediction device 114 or the motion compensation device 113 as necessary, and locally decoded image. Get. The adding device 110 supplies the obtained image to the deblocking filter 111 and also supplies it to the intra prediction device 114 as a reference image.

デブロックフィルタ111は、加算装置110から供給される局部的に復号された画像をフィルタリングすることにより、ブロック歪を除去する。デブロックフィルタ111は、その結果得られる画像をフレームメモリ112に供給し、蓄積させる。フレームメモリ112に蓄積された画像は、参照画像として動き補償装置113および動き予測装置116に出力される。   The deblocking filter 111 removes block distortion by filtering the locally decoded image supplied from the adding device 110. The deblocking filter 111 supplies the image obtained as a result to the frame memory 112 and accumulates it. The image stored in the frame memory 112 is output to the motion compensation device 113 and the motion prediction device 116 as a reference image.

動き補償装置113は、動き予測装置116から供給される動きベクトルとインター予測モード情報に基づいて、フレームメモリ112から供給される参照画像に対して補償処理を行い、予測画像を生成する。動き補償装置113は、動き予測装置116から供給されるコスト関数値(詳細は後述する)と、生成された予測画像とを選択装置117に供給する。   The motion compensation device 113 performs a compensation process on the reference image supplied from the frame memory 112 based on the motion vector supplied from the motion prediction device 116 and the inter prediction mode information, and generates a prediction image. The motion compensation device 113 supplies the cost function value (details will be described later) supplied from the motion prediction device 116 and the generated predicted image to the selection device 117.

なお、コスト関数値は、RD(Rate Distortion)コスト関数値ともいい、例えば、AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて算出される。   Note that the cost function value is also called an RD (Rate Distortion) cost function value.For example, either the High Complexity mode or the Low Complexity mode as defined by JM (Joint Model), which is reference software in the AVC method, is used. It is calculated based on this method.

具体的には、コスト関数値の算出手法としてHigh Complexity モードが採用される場合、候補となる全ての予測モードに対して、仮に可逆符号化までが行われ、次の式(1)で表わされるコスト関数値が各予測モードに対して算出される。
Cost=D+λ×R ・・・(1)
Dは、原画像と復号画像の差分(歪)、Rは、直交変換の係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
Specifically, when the High Complexity mode is employed as the cost function value calculation method, all the prediction modes that are candidates are subjected to lossless encoding, and are expressed by the following equation (1). A cost function value is calculated for each prediction mode.
Cost = D + λ × R (1)
D is a difference (distortion) between the original image and the decoded image, R is a generated code amount including up to the coefficient of orthogonal transform, and λ is a Lagrange multiplier given as a function of the quantization parameter QP.

一方、コスト関数値の算出手法としてLow Complexity モードが採用される場合、候補となる全ての予測モードに対して、復号画像の生成、および、予測モードを示す情報などのヘッダビットの算出が行われ、次の式(2)で表わされるコスト関数値関数が各予測モードに対して算出される。
Cost=D+QPtoQuant(QP)×Header_Bit ・・・(2)
Dは、原画像と復号画像の差分(歪)、QPtoQuantは、量子化パラメータQPの関数として与えられる関数(Q値)であり、Header_Bitは、予測モードに対するヘッダビットである。
On the other hand, when the Low Complexity mode is adopted as a cost function value calculation method, a decoded image is generated and header bits such as information indicating the prediction mode are calculated for all candidate prediction modes. A cost function value function expressed by the following equation (2) is calculated for each prediction mode.
Cost = D + QPtoQuant (QP) × Header_Bit (2)
D is a difference (distortion) between the original image and the decoded image, QPtoQuant is a function (Q value) given as a function of the quantization parameter QP, and Header_Bit is a header bit for the prediction mode.

Low Complexity モードにおいては、全ての予測モードに対して、復号画像を生成するだけでよく、可逆符号化を行う必要がないため、演算量が少なくて済む。なお、ここでは、コスト関数値の算出手法としてLaw Complexity モードが採用されるものとする。   In the Low Complexity mode, it is only necessary to generate a decoded image for all the prediction modes, and it is not necessary to perform lossless encoding. Here, the Law Complexity mode is adopted as a cost function value calculation method.

イントラ予測装置114は、画面並べ替えバッファ102から読み出された画像と、加算装置110から供給された参照画像とに基づいて、候補となる全てのブロックサイズのブロック単位で、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。   The intra prediction device 114, based on the image read from the screen rearrangement buffer 102 and the reference image supplied from the addition device 110, all candidate blocks in block units of all candidate block sizes. Intra prediction processing in the intra prediction mode is performed to generate a predicted image.

また、イントラ予測装置114は、候補となる全てのイントラ予測モードおよびブロックサイズに対してコスト関数値を算出する。そして、イントラ予測装置114は、コスト関数値が最小となるイントラ予測モードおよびブロックサイズの組み合わせを最適イントラ予測モードに決定する。イントラ予測装置114は、最適イントラ予測モードで生成された予測画像、および、対応するコスト関数値を、選択装置117に供給する。イントラ予測装置114は、選択装置117から最適イントラ予測モードで生成された予測画像の選択が通知された場合、イントラ予測モード情報を可逆符号化装置106に供給する。   Further, the intra prediction apparatus 114 calculates cost function values for all candidate intra prediction modes and block sizes. Then, the intra prediction device 114 determines the combination of the intra prediction mode and the block size that minimizes the cost function value as the optimal intra prediction mode. The intra prediction device 114 supplies the prediction image generated in the optimal intra prediction mode and the corresponding cost function value to the selection device 117. The intra prediction device 114 supplies the intra prediction mode information to the lossless encoding device 106 when the selection device 117 is notified of the selection of the predicted image generated in the optimal intra prediction mode.

動き予測装置116は、画面並べ替えバッファ102から供給される画像と、フレームメモリ112から供給される参照画像とに基づいて、候補となる全てのインター予測モードの動き予測行い、動きベクトルを生成する。このとき、動き予測装置116は、候補となる全てのインター予測モードに対してコスト関数値を算出し、コスト関数値が最小となるインター予測モードを最適インター測モードに決定する。そして、動き予測装置116は、インター予測モード情報、並びに、対応する動きベクトルおよびコスト関数値を動き補償装置113に供給する。動き予測装置116は、選択装置117から最適インター予測モードで生成された予測画像の選択が通知された場合、インター予測モード情報、対応する動きベクトルの情報などを可逆符号化装置106に出力する。   The motion prediction device 116 performs motion prediction in all candidate inter prediction modes based on the image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112, and generates a motion vector. . At this time, the motion prediction device 116 calculates cost function values for all candidate inter prediction modes, and determines the inter prediction mode that minimizes the cost function value as the optimal inter prediction mode. Then, the motion prediction device 116 supplies the inter prediction mode information, the corresponding motion vector, and the cost function value to the motion compensation device 113. When the selection device 117 is notified of selection of a predicted image generated in the optimal inter prediction mode, the motion prediction device 116 outputs inter prediction mode information, information on a corresponding motion vector, and the like to the lossless encoding device 106.

選択装置117は、イントラ予測装置114および動き補償装置113から供給されるコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちのいずれかを、最適予測モードに決定する。そして、選択装置117は、最適予測モードの予測画像を、演算装置103および加算装置110に供給する。また、選択装置117は、最適予測モードの予測画像の選択をイントラ予測装置114または動き予測装置116に通知する。   The selection device 117 determines one of the optimal intra prediction mode and the optimal inter prediction mode as the optimal prediction mode based on the cost function values supplied from the intra prediction device 114 and the motion compensation device 113. Then, the selection device 117 supplies the prediction image in the optimal prediction mode to the arithmetic device 103 and the addition device 110. In addition, the selection device 117 notifies the intra prediction device 114 or the motion prediction device 116 of selection of the prediction image in the optimal prediction mode.

レート制御装置115は、蓄積バッファ107に蓄積された画像圧縮情報に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化装置105の量子化動作のレートを制御する。   The rate control device 115 controls the quantization operation rate of the quantization device 105 based on the image compression information stored in the storage buffer 107 so that overflow or underflow does not occur.

[動きベクトルの生成について]
次に、動き予測装置116が行う動きベクトルの生成について説明する。ここで、図1乃至3を再度参照する。図1乃至3を参照して、動きベクトルが誤検出されることがあることを説明した。誤検出される一因について図5を参照して説明する。図5において、原画201乃至204は、原画を示す。原画201の次の画像が、原画202であり、原画202の次の画像が、原画203であり、原画203の次の画像が、原画204である。原画201乃至204には、それぞれ斜めの線が映し出されており、原画201から原画204へと時間経過と共に、その斜めの線が、上方向に移動していく映像である。
[About motion vector generation]
Next, generation of motion vectors performed by the motion prediction device 116 will be described. Reference is now made again to FIGS. With reference to FIGS. 1 to 3, it has been described that a motion vector may be erroneously detected. One cause of erroneous detection will be described with reference to FIG. In FIG. 5, original images 201 to 204 indicate the original images. The next image after the original image 201 is the original image 202, the next image after the original image 202 is the original image 203, and the next image after the original image 203 is the original image 204. In the original images 201 to 204, diagonal lines are respectively projected, and the diagonal lines move upward from the original image 201 to the original image 204 with time.

このような原画201乃至204をインターレース(Interlace)に変換する際の走査線を擬似的に図示したのが原画211乃至214である。原画211からトップフィールド221が生成され、原画212からボトムフィールド222が生成される。同じく、原画213からトップフィールド223が生成され、原画214からボトムフィールド224が生成される。このように1原画から1枚のフィールドが生成される。よって、図5に示したような斜め線などの場合、例えば、トップフィールド221を参照するに、斜め線のうちの一部分が、ボトムフィールド222に含まれるため、トップフィールド221だけで見ると斜め線の一部分が欠落した状態になる。   The original images 211 to 214 are pseudo-illustrated scanning lines when the original images 201 to 204 are converted to interlace. A top field 221 is generated from the original image 211, and a bottom field 222 is generated from the original image 212. Similarly, a top field 223 is generated from the original image 213, and a bottom field 224 is generated from the original image 214. In this way, one field is generated from one original picture. Therefore, in the case of an oblique line as shown in FIG. 5, for example, referring to the top field 221, a part of the oblique line is included in the bottom field 222. A part of is lost.

このような欠欄した情報があるフィールド同士、例えば、トップフィールド221とトップフィールド223、またはボトムフィールド222とボトムフィールド224を比較して動きベクトルを検出した場合、誤検出される可能性がある。トップフィールド221とトップフィールド223を用いて動きベクトルが検出されるときについて、さらに、図6を参照して説明する。   When a motion vector is detected by comparing such fields with missing information, for example, the top field 221 and the top field 223 or the bottom field 222 and the bottom field 224, there is a possibility of erroneous detection. A case where a motion vector is detected using the top field 221 and the top field 223 will be further described with reference to FIG.

図6(A)は、原画201と原画203を重ね合わせて表示したときの状態を想定し、一部分を拡大した図である。斜め線L1が原画201における斜め線を表し、斜め線L2が原画203における斜め線を表している。原画201から原画203へは、斜め線L1が上方向に移動し斜め線L2の位置に来ることを意味している。このような斜め線が上方向に移動しただけなので、本来、動きベクトルは、図6(A)に示したように、上方向の動きベクトルMV1が検出されるはずである。換言すれば、斜め線L1上の点P1が斜め線L2上の点P2に移動したと検出され、動きベクトルMV1が検出される。   FIG. 6A is an enlarged view of a part assuming a state in which the original image 201 and the original image 203 are superimposed and displayed. An oblique line L1 represents an oblique line in the original image 201, and an oblique line L2 represents an oblique line in the original image 203. From the original image 201 to the original image 203, it means that the oblique line L1 moves upward and reaches the position of the oblique line L2. Since such an oblique line has only moved upward, the motion vector MV1 in the upward direction should be detected as shown in FIG. 6A. In other words, it is detected that the point P1 on the oblique line L1 has moved to the point P2 on the oblique line L2, and the motion vector MV1 is detected.

しかしながら、図6(B)に示すように、トップフィールド221とトップフィールド223から動きベクトルが検出された場合、誤った動きベクトルMV2が検出される可能性がある。図6(B)は、トップフィールド221とトップフィールド223を重ね合わせて表示したときの状態を想定し、一部分を拡大した図である。トップフィールド221における斜め線L1とトップフィールド223における斜め線L2は、それぞれ、図6(B)に示した部分だけが、それぞれのフィールドに含まれる。   However, as shown in FIG. 6B, when a motion vector is detected from the top field 221 and the top field 223, there is a possibility that an incorrect motion vector MV2 is detected. FIG. 6B is a partially enlarged view assuming a state in which the top field 221 and the top field 223 are displayed in an overlapping manner. The oblique line L1 in the top field 221 and the oblique line L2 in the top field 223 each include only the portion shown in FIG. 6B.

斜め線L1の一部分である斜め線L1’は、本来、ボトムフィールド222に含まれる斜め線L2の一部分に移動しているが、トップフィールド223には、その部分が含まれていないため、動きベクトルの検出時には、トップフィールド223に含まれる斜め線L2の一部分である斜め線L2’が用いられる。このため、斜め線L1’と斜め線L2’が用いられて動きベクトルが検出されると、斜め線L1’上の点P1’が斜め線L2’上の点P2’に移動したと判断され、動きベクトルMV2が検出される可能性がある。   Although the diagonal line L1 ′, which is a part of the diagonal line L1, originally moved to a part of the diagonal line L2 included in the bottom field 222, the top field 223 does not include that part, so the motion vector Is detected, an oblique line L2 ′ which is a part of the oblique line L2 included in the top field 223 is used. Therefore, when a motion vector is detected using the diagonal line L1 ′ and the diagonal line L2 ′, it is determined that the point P1 ′ on the diagonal line L1 ′ has moved to the point P2 ′ on the diagonal line L2 ′. The motion vector MV2 may be detected.

動きベクトルが誤検出される原因の一因として、このようなことが考えられる。ここであげた原因は、一因であり、他の要因もある。また、上記した説明では、斜め線を例にあげて説明したが、斜め線に限らず、縦線や横線といった場合でも誤検出が起きる可能性はある。原因によらず、誤検出が行われると、図1乃至3を参照して説明したように、正しく検出された動きベクトルの中に、誤検出された動きベクトルが存在し、そのために、画質が劣化してしまう可能性がある。   This is considered to be a cause of erroneous detection of motion vectors. The cause given here is one factor and there are other factors. In the above description, the oblique line is taken as an example. However, the detection is not limited to the oblique line, and erroneous detection may occur even in the case of a vertical line or a horizontal line. If erroneous detection is performed regardless of the cause, as described with reference to FIGS. 1 to 3, there is a motion vector that is erroneously detected among the motion vectors that are correctly detected, and therefore the image quality is low. There is a possibility of deterioration.

そこで、このような誤検出が行われないようにする。後述するような処理を、動き予測装置116が行うことで、図7に示すような結果が得られる。図7は、図1の楕円11内の一部分をさらに拡大した図であり、図2と同一箇所の図であるが、図2のときと異なる処理で動きベクトルを算出した場合の図である。図2と比較して説明する。図2において、動きベクトル21と動きベクトル22は、異なる大きさの動きベクトルであることが図2から読み取れる。これに対して、動きベクトル21と動きベクトル22に対応する図7における動きベクトル21’と動きベクトル22’は、同一の大きさの動きベクトルであることが図7から読み取れる。   Therefore, such erroneous detection is prevented from being performed. A result as shown in FIG. 7 is obtained by the motion prediction device 116 performing processing as described later. FIG. 7 is a diagram further enlarging a part of the ellipse 11 in FIG. 1, and is a diagram of the same location as FIG. 2, but is a diagram in the case of calculating a motion vector by a process different from that in FIG. This will be described in comparison with FIG. In FIG. 2, it can be read from FIG. 2 that the motion vector 21 and the motion vector 22 are motion vectors of different sizes. On the other hand, it can be read from FIG. 7 that the motion vector 21 ′ and the motion vector 22 ′ in FIG. 7 corresponding to the motion vector 21 and the motion vector 22 are the same magnitude.

このように、後述する処理が実行されることで、誤検出される動きベクトルの数を減らすことができる。よって、符号化することで画質が劣化するようなことを防ぐことが可能となる。   In this way, the number of motion vectors that are erroneously detected can be reduced by executing the processing described later. Therefore, it is possible to prevent the image quality from being deteriorated by encoding.

[動き予測装置116の処理について]
次に、動き予測装置116の処理について説明する。図8は、動き予測装置116が行う処理について説明するためのフローチャートである。動き予測装置116は、画面並べ替えバッファ102から供給される画像と、フレームメモリ112から供給される参照画像とに基づいて、候補となる全てのインター予測モードの動き予測を行い、動きベクトルを生成する。
[About processing of motion prediction device 116]
Next, processing of the motion prediction device 116 will be described. FIG. 8 is a flowchart for explaining processing performed by the motion prediction apparatus 116. The motion prediction device 116 performs motion prediction in all candidate inter prediction modes based on the image supplied from the screen rearrangement buffer 102 and the reference image supplied from the frame memory 112, and generates a motion vector. To do.

ステップS11において、SADが算出される。SADとは、Sum of Absolute Differenceの略であり、差分絶対値などと訳される。SADは、例えば、ブロックマッチングの処理が行われるときに算出される。基準画像M1が、複数の基準ブロックに分割され、この基準ブロックについて、ブロックマッチングが行われる。すなわち、基準ブロックが、比較画像Mnの、どの位置にずれているかがサーチ(探索)され、その位置ずれ量が、基準ブロックについての動きベクトルとして検出される。 In step S11, SAD is calculated. SAD is an abbreviation for Sum of Absolute Difference, and is translated as an absolute difference. The SAD is calculated, for example, when block matching processing is performed. Reference image M 1 is divided into a plurality of reference blocks, for the reference block, the block matching is performed. That is, the position where the reference block is displaced in the comparison image Mn is searched (searched), and the amount of displacement is detected as a motion vector for the reference block.

比較画像Mnにおいて、基準ブロックをサーチするサーチ範囲には、その基準ブロックの位置を基準とする範囲が設定される。そして、比較画像Mnのサーチ範囲内において、基準ブロックと同一サイズの参照ブロックが、画素単位でずらされながら、基準ブロックに最も類似する参照ブロックの位置の探索が行われる。すなわち、基準ブロックと参照ブロックとの相関値が、基準ブロックと参照ブロックとの類似の度合いを評価する評価値として用いられ、サーチ範囲内の各位置の参照ブロックについて、相関値が求められ。 In the comparison image M n , a search range for searching for a reference block is set to a range based on the position of the reference block. Then, within the search range of the comparative image Mn , a reference block position most similar to the reference block is searched while a reference block having the same size as the reference block is shifted in units of pixels. That is, the correlation value between the standard block and the reference block is used as an evaluation value for evaluating the degree of similarity between the standard block and the reference block, and the correlation value is obtained for the reference block at each position in the search range.

相関値としては、例えば、基準ブロックの画素の輝度値と、参照ブロックの同一の位置の画素の輝度値との差分の絶対値の、基準ブロック及び参照ブロック内の全画素についてSADが用いられる。ステップS11においては、相関値SADを最小にする座標(相対座標)が、基準ブロックの動きベクトルとして検出される。また、最小となるSADは、以下の式においても用いられる。   As the correlation value, for example, SAD is used for all the pixels in the reference block and the reference block, which are absolute values of the difference between the luminance value of the pixel in the reference block and the luminance value of the pixel at the same position in the reference block. In step S11, a coordinate (relative coordinate) that minimizes the correlation value SAD is detected as a motion vector of the reference block. The SAD that is the minimum is also used in the following equation.

ステップS12において、Cost(以下、コスト関数値と記述する)が算出される。コスト関数値の算出は、上記したようにAVC方式における参照ソフトウェアであるJM(Joint Model)で定められているような、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行われる。ここでは、コスト関数値の算出手法としてLaw Complexity モードが採用されるものとするため、式(2)により、コスト関数値が算出される。ここで、式(2)を再度記載する。
Cost=D+QPtoQuant(QP)×Header_Bit ・・・(2)
In step S12, Cost (hereinafter referred to as a cost function value) is calculated. The calculation of the cost function value is performed based on either the High Complexity mode or the Low Complexity mode as defined by JM (Joint Model) which is reference software in the AVC method as described above. Here, since the Law Complexity mode is adopted as the cost function value calculation method, the cost function value is calculated by Expression (2). Here, Formula (2) is described again.
Cost = D + QPtoQuant (QP) × Header_Bit (2)

Dは、原画像と復号画像の差分(歪)であり、ここでは、ステップS11において算出されたSADが用いられる。QPtoQuantは、量子化パラメータQPの関数として与えられる関数(Q値)であり、Header_Bitは、予測モードに対するヘッダビットである。Dを、SADで書き換えると、次式(2)’になる。また、次式(2)’で算出される値を通常コスト関数値と記載する。
Cost=SAD+QPtoQuant(QP)×Header_Bit ・・・(2)’
D is the difference (distortion) between the original image and the decoded image, and here, the SAD calculated in step S11 is used. QPtoQuant is a function (Q value) given as a function of the quantization parameter QP, and Header_Bit is a header bit for the prediction mode. When D is rewritten by SAD, the following equation (2) ′ is obtained. Further, a value calculated by the following equation (2) ′ is described as a normal cost function value.
Cost = SAD + QPtoQuant (QP) × Header_Bit (2) '

ステップS13において、エッジが検出されたか否かが判断される。ステップS13において、エッジは検出されていないと判断された場合、ステップS14に処理が進められ、エッジが検出されたと判断された場合、ステップS15に処理が進められる。ステップS14において、PMV(predicted motion vector;予測ベクトル)を優遇しないと設定され、PMVのコスト関数値が算出される。ステップS14において算出されるコスト関数値は、通常コスト関数値と記述する。   In step S13, it is determined whether an edge is detected. If it is determined in step S13 that no edge has been detected, the process proceeds to step S14. If it is determined that an edge has been detected, the process proceeds to step S15. In step S14, PMV (predicted motion vector) is set not to be preferential, and the cost function value of PMV is calculated. The cost function value calculated in step S14 is described as a normal cost function value.

PMVは、その予測ベクトルPMVを算出する対象のマクロブロック(カレントマクロブロック)である場合、そのカレントマクロブロックの左横、左上、上、右上にそれぞれ位置している符号化済のマクロブロックA,B,Cの動きベクトルMVa,MVb,MVc, MVdを用いて、そのカレントマクロブロックの予測ベクトルPMVが算出される。すなわち、符号化済のマクロブロックA,B,C, Dの動きベクトルMVa,MVb,MVc,MVdのメディアン(中央値)を求めることにより、PMVが算出される。   When the PMV is a target macroblock (current macroblock) for which the prediction vector PMV is calculated, the encoded macroblocks A, A, B, which are positioned at the left side, top left, top, and top right of the current macroblock, respectively. Using the B and C motion vectors MVa, MVb, MVc, and MVd, the prediction vector PMV of the current macroblock is calculated. That is, the PMV is calculated by obtaining the median (median value) of the motion vectors MVa, MVb, MVc, and MVd of the encoded macroblocks A, B, C, and D.

一方、ステップS13において、エッジが検出されたと判断された場合、PMVを優遇すると設定あれ、PMVのコスト関数値が算出される。PMV優遇がされる場合、次式(4)に基づきコスト関数値が算出される。
Cost_PMV=SAD+QPtoQuant(QP)×Header_Bit-PMVoffset ・・・(4)
On the other hand, if it is determined in step S13 that an edge is detected, the PMV cost function value is calculated if PMV is preferentially set. When PMV preferential treatment is performed, a cost function value is calculated based on the following equation (4).
Cost_PMV = SAD + QPtoQuant (QP) × Header_Bit-PMVoffset (4)

式(4)は、式(2)’で求められる通常コスト関数値から、PMVoffsetを減算することでコスト関数値を算出する式である。式(4)で算出される値をPMV優遇コスト関数値と記載する。後述するように、通常コスト関数値やPMV優遇コスト関数値の中で最も小さい値のコスト関数値が選択される。PMV優遇とは、式(4)で算出されるPMV優遇コスト関数値が小さくなるように、オフセット分の値(PMVoffset)を減算し、他のコスト関数値よりも選択されやすいようにすることを意味する。   Expression (4) is an expression for calculating the cost function value by subtracting PMVoffset from the normal cost function value obtained by Expression (2) ′. The value calculated by the equation (4) is described as a PMV preferential cost function value. As will be described later, the cost function value having the smallest value among the normal cost function value and the PMV preferential cost function value is selected. PMV preferential means to subtract the offset value (PMVoffset) so that the PMV preferential cost function value calculated by the equation (4) becomes small so that it can be selected more easily than other cost function values. means.

PMV優遇がされる場合、周りのブロックから検出される動きベクトルから算出されるPMVから、所定の値(PMVoffset)が減算されることで、PMV優遇の処理が実行される。エッジが検出されたときに、PMV優遇することについての理由については、後述し、先に、図8のフローチャートの説明を続ける。ステップS14においてPMV優遇が行われなかった場合、またはステップS15においてPMV優遇が行われた場合、ステップS16に処理が進められる。ステップS16において、全てのモードでコスト関数値を算出したか否かが判断される。モードとしては、16×16、16×8、8×16、8×8、4×8、8×4、4×4、およびPMVがある。   When PMV preferential treatment is performed, the PMV preferential processing is executed by subtracting a predetermined value (PMVoffset) from the PMV calculated from the motion vectors detected from the surrounding blocks. The reason for giving PMV preferential treatment when an edge is detected will be described later, and the description of the flowchart of FIG. 8 will be continued first. If PMV preferential treatment is not performed in step S14, or if PMV preferential treatment is performed in step S15, the process proceeds to step S16. In step S16, it is determined whether cost function values have been calculated in all modes. Modes include 16x16, 16x8, 8x16, 8x8, 4x8, 8x4, 4x4, and PMV.

なお、ステップS13乃至S15の処理は、PMVモードのときに係わる処理のため、PMVモードのときだけ行われるようにしても良い。例えば、ステップS12とステップS13の間に、PMVモードであるか否かを判断する処理を設け、PMVモードであるときには、ステップS13に処理が進められ、PMVモードでない場合には、ステップS16に処理が進められるような処理の流れにしても良い。   Note that the processes in steps S13 to S15 may be performed only in the PMV mode because they are related to the PMV mode. For example, a process for determining whether or not the PMV mode is set is provided between step S12 and step S13. When the PMV mode is set, the process proceeds to step S13. When the PMV mode is not set, the process proceeds to step S16. The processing flow may be such that the process proceeds.

ステップS16において、全てのモードに対するコスト関数値の算出はしていないと判断された場合、ステップS11に処理が戻され、まだ処理を行っていないモードに移行して、ステップS11以降の処理が繰り返される。一方、ステップS16において、全てのモードに対するコスト関数値の算出をしたと判断された場合、ステップS17に処理が進められる。ステップS17において、算出された通常コスト関数値とPMV優遇コスト関数値のうち、最も値が小さいコスト関数値が選択され、その最も値が小さいコスト関数値が算出されたときのモードが求められる。そして、ステップS18において、決定されたモードにおけるMV(動きベクトル)が、最終的な動きベクトルとして設定される。   If it is determined in step S16 that cost function values have not been calculated for all modes, the process returns to step S11, and the process proceeds to a mode that has not yet been processed, and the processes in and after step S11 are repeated. It is. On the other hand, if it is determined in step S16 that cost function values have been calculated for all modes, the process proceeds to step S17. In step S17, the cost function value having the smallest value is selected from the calculated normal cost function value and the PMV preferential cost function value, and the mode when the cost function value having the smallest value is calculated is obtained. In step S18, the MV (motion vector) in the determined mode is set as the final motion vector.

このように、本実施の形態においては、所定の状況が満たされるか否か、上記した実施の形態においては、画像内にエッジが検出されたという状況が満たされるか否かが判断され、所定の状況が満たされると判断された場合、予測動きベクトル(PMV)が、他の動きベクトル(MV)よりも優遇されるように処理が実行される。このような処理が実行されることで、検出される動きベクトルの精度を向上させることができる。   As described above, in the present embodiment, it is determined whether or not a predetermined situation is satisfied, and in the above-described embodiment, it is determined whether or not the situation that an edge is detected in the image is satisfied. When it is determined that the above condition is satisfied, the process is executed such that the predicted motion vector (PMV) is preferentially given over other motion vectors (MV). By executing such processing, the accuracy of the detected motion vector can be improved.

[PMV優遇について]
ここで、ステップS13において、エッジが抽出された場合に、PMVモードが選択されやすいように優遇される理由について説明する。上記したように、PMVは、対象とされているカレントマクロブロックの左横、左上、上、右上にそれぞれ位置している符号化済のマクロブロックの動きベクトルが用いられて算出される。すなわち、PMVは、隣接するブロックから求められる動きベクトルであるため、隣接するブロックの影響を受けやすいベクトルである。よって、PMVは、隣接するブロックの動きベクトルと揃えた方が好ましいときに用いられると良い。
[PMV preferential treatment]
Here, the reason why the PMV mode is preferentially selected when an edge is extracted in step S13 will be described. As described above, the PMV is calculated using the motion vectors of the encoded macroblocks that are located on the left side, top left, top, and top right of the current current macroblock. That is, since PMV is a motion vector obtained from an adjacent block, it is a vector that is easily affected by the adjacent block. Therefore, the PMV is preferably used when it is preferable to align the motion vectors of adjacent blocks.

例えば、図1(図2)を参照して説明たような映像の場合、PMVを用いることで、隣接する他の動きベクトルと揃えることができ、例えば、図2に示した動きベクトル21を、動きベクトル22と揃えることができる。動きベクトル21と動きベクトル22が揃うことで、結果的に、図7に示したように、誤検出されたベクトルが無い状態にすることが可能となる。   For example, in the case of a video as described with reference to FIG. 1 (FIG. 2), by using PMV, it can be aligned with other adjacent motion vectors. For example, the motion vector 21 shown in FIG. The motion vector 22 can be aligned. Since the motion vector 21 and the motion vector 22 are aligned, as a result, as shown in FIG. 7, it is possible to make a state in which there is no erroneously detected vector.

一方で、PMVは、周りの動きベクトルの影響を受けるため、周りの動きベクトルと揃えることが好ましくない状況で用いると、動きベクトルの誤検出がされる可能性が高くなる。例えば、図3を参照して説明したように、固定されたカメラで車道上を行き来する車を撮影したような映像において、車の移動により検出された動きベクトルに、車道の動きベクトルが揃えられると、本来、車道からは動きベクトルが検出されないことが好ましいにも係わらず、車道上にも動きベクトルが検出されるという誤検出がされてしまうことになる。このような場合には、PMVを用いない方が好ましい。   On the other hand, since PMV is affected by surrounding motion vectors, if used in a situation where it is not desirable to align with surrounding motion vectors, there is a high possibility of erroneous detection of motion vectors. For example, as described with reference to FIG. 3, the motion vector of the roadway is aligned with the motion vector detected by the movement of the vehicle in an image obtained by shooting a car traveling on the roadway with a fixed camera. In spite of the fact that it is preferable that no motion vector is originally detected from the roadway, a false detection that a motion vector is detected also on the roadway will be made. In such a case, it is preferable not to use PMV.

このように、PMVを用いた方が好ましい状況と好ましくない状況とがある。図1を参照して説明したような状況のときには、PMVを用いた方が好ましく、図3を参照して説明したような状況のときには、PMVを用いない方が好ましい。PMVを用いた方が好ましい状況のときには、PMV優遇し、PMVが選択されやすいように制御し、PMVを用いない方が好ましい状況のときには、PMV優遇をせずに、PMVが選択されずらいように制御する。上記したように、図8のフローチャートにおける処理では、ステップS14において、PMV優遇をしないという制御を行い、ステップS15において、PMV優遇するという制御を行う。   Thus, there are situations where it is preferable to use PMV and situations where it is not preferred. In the situation as described with reference to FIG. 1, it is preferable to use PMV. In the situation as described with reference to FIG. 3, it is preferable not to use PMV. When it is preferable to use PMV, PMV is preferentially controlled so that PMV can be selected easily. When it is preferable not to use PMV, it is difficult to select PMV without preferentially using PMV. To control. As described above, in the processing in the flowchart of FIG. 8, in step S14, control is performed so that PMV preferential treatment is not performed, and in step S15, control is performed so that PMV preferential treatment is performed.

なお、PMVを優遇しないときであっても、結果としてPMVが選択されることはありうるし、PMVが選択された場合には、他の動きベクトルよりも適切であると判断されたときであるので、問題が生じるようなことはない。同様に、PMVを優遇したときであっても、結果として、PMVが選択されないことはありうるし、PMVが選択されなかった場合には、他の動きベクトルが適切であると判断されたときであるので、問題が生じるようなことはない。   Even when PMV is not favored, PMV may be selected as a result, and when PMV is selected, it is determined that it is more appropriate than other motion vectors. There will be no problems. Similarly, even when PMV is given preferential treatment, PMV may not be selected as a result. When PMV is not selected, it is determined that other motion vectors are appropriate. So there is no problem.

また、本実施の形態においては、所定の条件のときには、PMVが選択されやすいように優遇するだけであり、所定の条件のときには、PMVを選択するように制御するのではない。よって、所定の条件が満たされるときであっても、PMVが最適な動きベクトルではないときには、PMVが選択されないように制御することが可能となる。このような制御が行えるようになることで、適切な動きベクトルを検出し、誤検出を低減させることが可能となる。   Further, in the present embodiment, when a predetermined condition is satisfied, the PMV is merely preferentially selected so that the PMV is easily selected. When the predetermined condition is satisfied, control is not performed so as to select the PMV. Therefore, even when the predetermined condition is satisfied, when the PMV is not the optimal motion vector, it is possible to control so that the PMV is not selected. By being able to perform such control, it is possible to detect an appropriate motion vector and reduce false detection.

また、上記したようにPMVが優遇されるとき、式(4)に基づきPMV優遇コスト関数値が算出される。式(4)において、通常コスト関数値から減算されるPMVoffset(所定の値)を、適切に設定することで、PMVが選択されることが好ましい状況のときには、PMVが他の動きベクトルよりも選択されやすいように制御することが可能となる。換言すれば、PMVoffsetの値を適切に設定することで、検出される動きベクトルの精度を向上させることが可能となる。PMVoffsetは、固定値であっても良いし、可変値であっても良い。可変値にした場合、所定の状況に依存して可変される値とすることができる。   Moreover, when PMV is preferentially treated as described above, a PMV preferential cost function value is calculated based on Equation (4). In the equation (4), when PMV is preferably selected by appropriately setting PMVoffset (predetermined value) subtracted from the normal cost function value, PMV is selected over other motion vectors. It is possible to control so as to be easily performed. In other words, it is possible to improve the accuracy of the detected motion vector by appropriately setting the value of PMVoffset. PMVoffset may be a fixed value or a variable value. When a variable value is used, the value can be varied depending on a predetermined situation.

所定の状況が満たされるとき、PMVが優遇されるとして説明したが、所定の状況とは、上記した実施の形態においては、エッジが検出された状況であるか否かである。上記したように、PMVを優遇し、PMVが選択された方が好ましい画像(映像)とは、例えば、図1に示したような映像である。図1を再度参照するに、誤検出されやすい箇所は、直線が存在しているような箇所である。直線は、縦方向、横方向のどちらでも、誤検出される可能性があり、また、格子状であっても同様の誤検出される可能性がある。その理由については、図5、図6を参照して説明したようなことが一因としてあげられる。   Although it has been described that PMV is favored when a predetermined situation is satisfied, the predetermined situation is whether or not an edge is detected in the above-described embodiment. As described above, an image (video) in which PMV is favored and PMV is preferably selected is, for example, a video as shown in FIG. Referring to FIG. 1 again, a portion that is likely to be erroneously detected is a portion where a straight line exists. The straight line may be erroneously detected in both the vertical direction and the horizontal direction, and may be erroneously detected even in a lattice shape. The reason for this is as explained with reference to FIGS. 5 and 6.

すなわち、動きベクトルが誤検出されやすいのは、幾何学模様のエッジが発生しやすい箇所である。そのような箇所は、ベクトルが暴れやすい。例えば、パン(Pan)時の縦方向の斜め線であると、ベクトルが上下方向に暴れやすい傾向にある。また例えば、チルト(Tilt)時の横方向の斜め線であると、ベクトルが左右方向に暴れやすい傾向にある。暴れやすい傾向とは、動きベクトルが誤検出されやすい状況であり、正しく検出された動きベクトルとは異なる方向や大きさで検出される動きベクトルが存在することを意味する。   That is, a motion vector is likely to be erroneously detected at a location where an edge of a geometric pattern is likely to occur. In such a part, the vector is likely to be violated. For example, if it is a diagonal line in the vertical direction during panning, the vector tends to be violated in the vertical direction. In addition, for example, if it is an oblique line in the horizontal direction at the time of tilt, the vector tends to be violated in the left-right direction. The tendency to be violent is a situation in which a motion vector is likely to be erroneously detected, and means that there is a motion vector detected in a direction or size different from that of a correctly detected motion vector.

よって、幾何学模様のエッジが存在する映像(画像)においては、PMVが優遇されるようにする。幾何学模様のエッジとは、例えば、線である。線には、線である部分と線でない部分との境界がエッジとして存在している。線は、エッジが連続している状態であると言える。そのような連続するエッジを検出したときには、ベクトルが暴れる傾向にあると判断し、PMVが優遇されるような制御を行うのが、図8のフローチャートを参照して説明した処理である。   Therefore, PMV is preferentially given to an image (image) having a geometric pattern edge. The edge of the geometric pattern is, for example, a line. In the line, a boundary between a part that is a line and a part that is not a line exists as an edge. It can be said that the line is a state where the edges are continuous. When such a continuous edge is detected, it is determined that the vector tends to be violated, and the process described with reference to the flowchart of FIG.

すなわち、図8のフローチャートにおいて、ステップS13において、エッジを検出したか否か(好ましくは、連続したエッジを検出したか否か)を判断し、エッジを検出したと判断されたときには、ステップS15において、PMVが優遇される。このように、本実施の形態においては、エッジを検出したか否かを判断することで、動きベクトルが暴れやすい傾向にあるか否かを判断する例を挙げて説明した。動きベクトルが暴れやすい傾向にあるか否か(誤検出が行われる可能性があるか否か)の判断は、エッジが検出されたか否かに限定されることを示す記載ではなく、他の判断において行われるようにしても良い。   That is, in the flowchart of FIG. 8, it is determined in step S13 whether an edge is detected (preferably, whether a continuous edge is detected). If it is determined that an edge is detected, in step S15 PMV is preferential. Thus, in the present embodiment, an example has been described in which it is determined whether or not a motion vector tends to be violated by determining whether or not an edge has been detected. The determination of whether or not the motion vector tends to be violent (whether or not there is a possibility of erroneous detection) is not a description indicating that the edge is detected, but other determinations. It may be made to be performed.

エッジが検出されたか否かの判断についてさらに説明を加える。エッジが検出されたか否かの判断には、AVC Toolの1つであるChroma Intoraのモードのモードに関する情報を利用する。AVC Chroma Intoraモードには、図9に示す4つのモードが存在する。図9は、色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。Intra_chroma_pred_modeには、図9に示されるように、モード0乃至モード3の4つのモードがある。   A further description will be given regarding the determination of whether or not an edge has been detected. To determine whether an edge has been detected, information on the mode of the Chroma Intora mode, which is one of the AVC Tools, is used. The AVC Chroma Intora mode has four modes shown in FIG. FIG. 9 is a diagram illustrating an intra prediction mode (Intra_chroma_pred_mode) of a color difference signal. Intra_chroma_pred_mode has four modes, mode 0 to mode 3, as shown in FIG.

色差信号のイントラ予測は、マクロブロック・サイズ単位で行われる。その予測方向は、符号化済みの左、上、左上の隣接ブロックの画素値が参照されて行われ、図9に示した4 通りの予測モードが定義されている。モード0(Mode 0)は、DC Prediction(平均値予測モード)であり、モード1(Mode 1)は、Horizontal Prediction(水平予測モード)であり、モード2(Mode 2)は、Vertical Prediction(垂直予測モード)であり、モード3(Mode 3)は、Plane Prediction(平面予測モード)である。   Intra prediction of color difference signals is performed in units of macroblock size. The prediction direction is performed by referring to the pixel values of the adjacent left, upper, and upper left blocks that have been encoded, and the four prediction modes shown in FIG. 9 are defined. Mode 0 (Mode 0) is DC Prediction (average value prediction mode), Mode 1 (Mode 1) is Horizontal Prediction (horizontal prediction mode), and Mode 2 (Mode 2) is Vertical Prediction (vertical prediction). Mode 3 and Mode 3 (Mode 3) is a Plane Prediction (plane prediction mode).

これらのモードは、マクロブロック予測時のモードであり、エッジの有無を検出するためのモードとして定義されているわけではない。しかしながら、本実施の形態として、ステップS13(図8)におけるエッジを検出する際に、これらのモードのどのモードであるかを判断することで、エッジが検出されたか否かの判断が行われるようにする。具体的には、モード1(Mode 1)の水平予測モード、またはモード2(Mode 2)の垂直予測モードであるとき、エッジを検出したと判断され、PMVが優遇されるようにする。   These modes are modes for macroblock prediction and are not defined as modes for detecting the presence or absence of an edge. However, in the present embodiment, when an edge is detected in step S13 (FIG. 8), it is determined whether an edge is detected by determining which mode of these modes. To. Specifically, in the horizontal prediction mode of Mode 1 (Mode 1) or the vertical prediction mode of Mode 2 (Mode 2), it is determined that an edge has been detected, and PMV is preferentially treated.

このようにした場合、ステップS13における処理は、マクロブロック予測のモードが、モード1であるか、またはモード2であるかを判断する処理となる。そして、モード1またはモード2であると判断された場合、ステップS14に処理が進められ、PMVを優遇するための処理が実行される。   In this case, the process in step S13 is a process for determining whether the macroblock prediction mode is mode 1 or mode 2. And when it is judged that it is mode 1 or mode 2, a process is advanced to step S14 and the process for giving preferential treatment to PMV is performed.

このように、マクロブロック予測のモードを用いて、エッジであるか否か、換言すれば、マクロブロック予測のモードを用いて、ベクトルが暴れる状態であるか否かを判断するようにすることで、新たなハードウエアや、エッジを検出するためのソフトウェアなどを追加することなく、動きベクトルの検出性能を向上させることが可能となる。また回路規模や処理の増加を抑えて、動きベクトルの検出性能を向上させることが可能となる。   In this way, by using the mode of macroblock prediction, it is determined whether or not it is an edge, in other words, using the mode of macroblock prediction and whether or not the vector is in a state of rampage. The motion vector detection performance can be improved without adding new hardware or software for detecting an edge. Further, it is possible to improve the motion vector detection performance while suppressing an increase in circuit scale and processing.

なお、上述した実施の形態に加えて、画面全体の動きベクトルを示すGlobalMVや、過去の平均InterSAD値を検出条件に追加することでより特定の箇所を絞ることが可能となる。また、検出されたブロックのQ値を下げることで、さらに改善することが可能となる。   In addition to the above-described embodiment, it is possible to narrow down a specific place by adding GlobalMV indicating the motion vector of the entire screen and the past average InterSAD value to the detection condition. Further, it is possible to further improve by lowering the Q value of the detected block.

動きベクトルが大きく外れてしまうと、ビットレートを上げたとしても画質の劣化が目立ってしまうが、本実施の形態によれば、動きベクトルが大きく外れてしまうといったようなことが起きることを防ぐことができ、動きベクトルの性能を向上させることができ、画質の改善効果を期待できる。   If the motion vector deviates significantly, even if the bit rate is increased, the image quality is noticeable. However, according to the present embodiment, it is possible to prevent the motion vector from deviating greatly. Therefore, the motion vector performance can be improved, and an improvement in image quality can be expected.

[記録媒体について]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
[About recording media]
The series of processes described above can be executed by hardware or software. When a series of processing is executed by software, a program constituting the software is installed in the computer. Here, the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.

図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304により相互に接続されている。バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。   FIG. 10 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processing by a program. In a computer, a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, and a RAM (Random Access Memory) 303 are connected to each other by a bus 304. An input / output interface 305 is further connected to the bus 304. An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.

入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。   The input unit 306 includes a keyboard, a mouse, a microphone, and the like. The output unit 307 includes a display, a speaker, and the like. The storage unit 308 includes a hard disk, a nonvolatile memory, and the like. The communication unit 309 includes a network interface and the like. The drive 310 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。   In the computer configured as described above, the CPU 301 loads the program stored in the storage unit 308 to the RAM 303 via the input / output interface 305 and the bus 304 and executes the program, for example. Is performed.

コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。   The program executed by the computer (CPU 301) can be provided by being recorded on a removable medium 311 as a package medium, for example. The program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.

コンピュータでは、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。   In the computer, the program can be installed in the storage unit 308 via the input / output interface 305 by attaching the removable medium 311 to the drive 310. Further, the program can be received by the communication unit 309 via a wired or wireless transmission medium and installed in the storage unit 308. In addition, the program can be installed in the ROM 302 or the storage unit 308 in advance.

なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。   The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.

また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.

なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

101 A/D変換装置, 102 画面並べ替えバッファ, 103 演算装置, 104 直交変換装置, 105 量子化装置, 106 可逆符号化装置, 107 蓄積バッファ, 108 逆量子化装置, 109 逆直交変換装置, 110 加算装置, 111 デブロックフィルタ, 112 フレームメモリ, 113 動き補償装置, 114 イントラ予測装置, 115 レート制御装置, 116 動き予測装置, 117 選択装置   101 A / D conversion device, 102 screen rearrangement buffer, 103 arithmetic device, 104 orthogonal transform device, 105 quantization device, 106 lossless encoding device, 107 accumulation buffer, 108 inverse quantization device, 109 inverse orthogonal transform device, 110 Adder, 111 deblock filter, 112 frame memory, 113 motion compensation device, 114 intra prediction device, 115 rate control device, 116 motion prediction device, 117 selection device

Claims (6)

画像内に連続するエッジが検出されたか否かを判断する判断部と、
前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理する優遇部と
を備える画像処理装置。
A determination unit for determining whether or not a continuous edge is detected in the image;
An image processing apparatus comprising: a preferential unit that performs processing so that a predicted motion vector is preferentially given over other motion vectors when it is determined that a continuous edge is detected by the determination unit.
前記判断部は、クロマイントラモードにおけるモードの情報を用いる
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the determination unit uses mode information in a chroma intra mode.
前記判断部は、クロマイントラモードが水平予測モードまたは垂直予測モードのとき、連続するエッジが検出されたと判断する
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the determination unit determines that a continuous edge is detected when the chroma intra mode is a horizontal prediction mode or a vertical prediction mode.
前記優遇部は、前記予測動きベクトルのコスト関数値から、所定の値を減算する
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the preferential unit subtracts a predetermined value from a cost function value of the predicted motion vector.
判断部と優遇部を備える画像処理装置の画像処理方法において、
前記判断部は、画像内に連続するエッジが検出されたか否かを判断し、
前記優遇部は、前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理する
ステップを含む画像処理方法。
In an image processing method of an image processing apparatus including a determination unit and a preferential unit,
The determination unit determines whether a continuous edge is detected in the image,
The preferential processing unit includes a step of processing so that a predicted motion vector is preferentially given over other motion vectors when the determination unit determines that a continuous edge is detected.
判断部と優遇部を備える画像処理装置を制御するコンピュータに、
前記判断部は、画像内に連続するエッジが検出されたか否かを判断し、
前記優遇部は、前記判断部で連続するエッジが検出されたと判断された場合、予測動きベクトルが、他の動きベクトルよりも優遇されるように処理する
ステップを含む処理を実行させるためのプログラム。
In a computer that controls an image processing apparatus including a determination unit and a preferential unit,
The determination unit determines whether a continuous edge is detected in the image,
The preferential treatment unit is a program for executing processing including a step of processing so that a predicted motion vector is preferentially preferentially over other motion vectors when it is determined that a continuous edge is detected by the determination unit.
JP2010292619A 2010-12-28 2010-12-28 Image processing device, method, and program Withdrawn JP2012142702A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010292619A JP2012142702A (en) 2010-12-28 2010-12-28 Image processing device, method, and program
US13/287,543 US20120163711A1 (en) 2010-12-28 2011-11-02 Image processing apparatus, method and program
CN2011104286362A CN102572424A (en) 2010-12-28 2011-12-20 Image processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010292619A JP2012142702A (en) 2010-12-28 2010-12-28 Image processing device, method, and program

Publications (1)

Publication Number Publication Date
JP2012142702A true JP2012142702A (en) 2012-07-26

Family

ID=46316887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010292619A Withdrawn JP2012142702A (en) 2010-12-28 2010-12-28 Image processing device, method, and program

Country Status (3)

Country Link
US (1) US20120163711A1 (en)
JP (1) JP2012142702A (en)
CN (1) CN102572424A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008427B2 (en) 2013-09-13 2015-04-14 At&T Intellectual Property I, Lp Method and apparatus for generating quality estimators
WO2020084476A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Sub-block based prediction
CN111083491B (en) 2018-10-22 2024-09-20 北京字节跳动网络技术有限公司 Use of refined motion vectors
CN111436227B (en) 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 Use of combined inter-intra prediction in video processing
EP3861742A4 (en) 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
CN113170097B (en) * 2018-11-20 2024-04-09 北京字节跳动网络技术有限公司 Encoding and decoding of video encoding and decoding modes
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
KR102610709B1 (en) 2019-04-02 2023-12-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Decoder side motion vector derivation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561461B1 (en) * 2003-07-04 2006-03-16 삼성전자주식회사 Motion vector detection apparatus in frame rate conversion and method thereof
US20070177671A1 (en) * 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
EP2193663B1 (en) * 2007-09-28 2017-11-08 Dolby Laboratories Licensing Corporation Treating video information
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US8320455B2 (en) * 2009-03-05 2012-11-27 Qualcomm Incorporated System and method to process motion vectors of video data

Also Published As

Publication number Publication date
CN102572424A (en) 2012-07-11
US20120163711A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
JP6545838B2 (en) Merge candidate block derivation method and apparatus using such method
KR101641400B1 (en) Decoding apparatus and method
US9053543B2 (en) Methods and apparatuses for encoding/decoding high resolution images
WO2020228578A1 (en) Method and apparatus of luma most probable mode list derivation for video coding
WO2010001917A1 (en) Image processing device and method
US20150208093A1 (en) Method for deriving a temporal predictive motion vector, and apparatus using the method
JP2012142702A (en) Image processing device, method, and program
WO2010001916A1 (en) Image processing device and method
JP5400798B2 (en) Moving picture decoding method and apparatus, moving picture encoding method and apparatus
JP2010035137A (en) Image processing device and method, and program
US20120147960A1 (en) Image Processing Apparatus and Method
KR101197176B1 (en) Methods of derivation of merge candidate block and apparatuses for using the same
JP2010028220A (en) Motion vector detecting device, motion vector detecting method, image encoding device, and program
JP2010258739A (en) Image processing apparatus, method and program
WO2010123057A1 (en) Image-processing device and method
KR20180040824A (en) Video coding method and apparatus using decoder-side intra mode derivation
JP5407974B2 (en) Video encoding apparatus and motion vector detection method
JP2012054618A (en) Moving image encoding apparatus and encoding method, and moving image decoding apparatus and decoding method
JP2007228400A (en) Moving image converter
KR102125969B1 (en) Intra prediction method and apparatus using the method
CN116684577A (en) Fast affine mode decision based on motion vector difference
KR20140087137A (en) Method and apparratus of adaptive bi-prediction
JP2012124542A (en) Moving image encoding method and moving image decoding method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140304