JP4590337B2 - Moving picture coding apparatus and moving picture coding method - Google Patents

Moving picture coding apparatus and moving picture coding method Download PDF

Info

Publication number
JP4590337B2
JP4590337B2 JP2005313097A JP2005313097A JP4590337B2 JP 4590337 B2 JP4590337 B2 JP 4590337B2 JP 2005313097 A JP2005313097 A JP 2005313097A JP 2005313097 A JP2005313097 A JP 2005313097A JP 4590337 B2 JP4590337 B2 JP 4590337B2
Authority
JP
Japan
Prior art keywords
pixel
motion vector
interpolation
decimal
pixel value
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.)
Expired - Fee Related
Application number
JP2005313097A
Other languages
Japanese (ja)
Other versions
JP2007124238A5 (en
JP2007124238A (en
Inventor
寛朗 遠藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005313097A priority Critical patent/JP4590337B2/en
Publication of JP2007124238A publication Critical patent/JP2007124238A/en
Publication of JP2007124238A5 publication Critical patent/JP2007124238A5/ja
Application granted granted Critical
Publication of JP4590337B2 publication Critical patent/JP4590337B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は動画像符号化装置及び動画像符号化方法に関し、特に、動画像を圧縮符号化して記録するカメラ一体型動画像記録装置に用いて好適な技術に関する。   The present invention relates to a moving image encoding apparatus and a moving image encoding method, and more particularly to a technique suitable for use in a camera-integrated moving image recording apparatus that compresses and records a moving image.

従来、例えば被写体を撮影し、それにより得られた動画像を圧縮符号化して記録するカメラ一体型動画像記録装置として、デジタルビデオカメラがよく知られている。近年は、ランダムアクセス性などの利便性が高いため、記録媒体が従来の磁気テープからディスク媒体や半導体メモリなどに移り変わってきている。しかし、一般にディスク媒体などは記憶容量が少なく、より高能率に圧縮符号化する必要がある。   2. Description of the Related Art Conventionally, for example, a digital video camera is well known as a camera-integrated moving image recording apparatus that captures a subject and compresses and records a moving image obtained thereby. In recent years, recording media have been changed from conventional magnetic tapes to disk media, semiconductor memories, and the like due to high convenience such as random accessibility. However, in general, a disk medium or the like has a small storage capacity and needs to be compressed and encoded more efficiently.

また、高画質への期待から、より情報量の多いハイビジョン映像を扱うデジタルビデオカメラの開発が行われており、このように別の観点からも、より高能率な圧縮符号化が望まれている。高能率な圧縮符号化について、現在はMPEGが標準方式としてよく用いられている。   In addition, with the expectation of high image quality, development of digital video cameras that handle high-definition video with a large amount of information is being carried out. Thus, more efficient compression coding is desired from another viewpoint. . Currently, MPEG is often used as a standard method for highly efficient compression coding.

さらに近年では、記録媒体への記録可能時間のさらなる向上や、携帯端末向けにより低ビットレートでの符号化の必要性が高まってきており、さらに高能率な符号化が研究されている。そのなかの1つがH.264であり、MPEG2やMPEG4などの従来の符号化方式に比べ、符号化や復号化により多くの演算量が必要となるが、より高い符号化効率が実現されることが知られている。   Furthermore, in recent years, there has been an increasing need for encoding at a low bit rate for portable terminals and further improvement in the recordable time on a recording medium, and higher efficiency encoding has been studied. One of them is H. It is H.264, and a large amount of calculation is required for encoding and decoding as compared with conventional encoding methods such as MPEG2 and MPEG4, but it is known that higher encoding efficiency is realized.

H.264では、符号化効率を上げるために、1/4画素精度など高い画素精度で動き予測・補償処理が行われる。この動き予測・補償処理において、フレームメモリから整数画素精度の画像データ読み出し、補間処理をして小数画素精度の画素値を生成し、前記生成した小数画素精度の画像データを用いて動き予測・補償処理が行われる。また、補間処理は、より高精度な補間信号を生成するため、高次のフィルタリングによって行われる。H.264の演算方法については、例えば、特許文献1にて開示されている。   H. In H.264, motion prediction / compensation processing is performed with high pixel accuracy such as 1/4 pixel accuracy in order to increase encoding efficiency. In this motion prediction / compensation processing, image data with integer pixel accuracy is read from the frame memory, interpolation processing is performed to generate pixel values with decimal pixel accuracy, and motion prediction / compensation is performed using the generated image data with decimal pixel accuracy. Processing is performed. The interpolation process is performed by high-order filtering in order to generate a more accurate interpolation signal. H. The H.264 calculation method is disclosed in Patent Document 1, for example.

特開2004−56827号公報JP 2004-56827 A

しかしながら、前述したように、補間処理は高次のフィルタリングによって行われるため、フレームメモリから画像データを読み出す頻度が非常に高くなる。これにより、バンド幅の広い大規模かつ高価なフレームメモリが必要になったり、消費電力が大きくなったりするという問題点があった。   However, as described above, since interpolation processing is performed by high-order filtering, the frequency of reading out image data from the frame memory becomes very high. As a result, there is a problem that a large-scale and expensive frame memory having a wide bandwidth is required and power consumption is increased.

本発明は前述の問題点にかんがみ、動き検出に必要なバンド幅を低減して省電力化を図ることができるようにすることを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to reduce power consumption by reducing a bandwidth necessary for motion detection.

本発明の動画像符号化装置は、号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出手段と、前記動きベクトル検出手段によって検出された動きベクトルに従って動き補償を行う動き補償手段とを有する動画像符号化装置であって、前記動きベクトル検出手段は、フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶手段と、前記記憶手段に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成手段と、前記記憶手段に記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成手段よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成手段と、前記第1及び第2の補間画素生成手段の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択手段と、前記補間画素選択手段によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成手段とを有し、前記記憶手段に記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行うものであって、前記動きベクトル検出手段が小数画素を単位とした動きベクトル検出を行う際には、前記補間画素選択手段は、前記記憶手段に記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成手段による補間処理ができない場合に、前記第1の補間画素生成手段によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成手段によって生成された小数画素位置の画素値を選択するよう切り替えることを特徴とする。 Moving picture coding apparatus of the present invention, a motion vector detecting means for detecting a motion vector between the see image and sign-encoding target image in sub-pixel units, according to the motion vector detected by said motion vector detecting means A motion image encoding device having motion compensation means for performing motion compensation, wherein the motion vector detection means reads out and stores a pixel value at an integer pixel position of a reference image stored in a frame memory; A first interpolation pixel generation unit that interpolates and generates a pixel value at a decimal pixel position by a filter having a predetermined number of taps using a pixel value at an integer pixel position stored in the storage unit; Second, the pixel value at the decimal pixel position is generated by interpolation using a filter having a smaller number of taps than the first interpolation pixel generation means using the pixel value at the integer pixel position. A pixel interpolating unit, a pixel value of the decimal pixel position is generated by one of said first and second pixel interpolating unit is selected as the pixel value for forming a reference image of the decimal pixel precision interpolation pixel Selection means and reference image forming means for forming a reference image with decimal pixel precision used for motion vector detection in the decimal pixel unit from the pixel value selected by the interpolation pixel selection means, and the storage means the integer pixel using the pixel value of the stored integer pixel position from the motion vector detection in units, the detection of the motion vector with fractional pixel units by changing stepwise detection accuracy a row Umono, wherein when the motion vector detecting means performs motion vector detection in units of sub-pixel, the interpolation pixel selecting means, only the pixel value of an integer pixel position stored in the storage unit When the interpolation process by the first interpolation pixel generation unit cannot be performed, the pixel value is generated by the second interpolation pixel generation unit instead of the pixel value at the decimal pixel position generated by the first interpolation pixel generation unit. Switching is performed so that the pixel value at the decimal pixel position is selected .

本発明の動画像符号化方法は、号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出工程と、前記動きベクトル検出工程によって検出された動きベクトルに従って動き補償を行う動き補償工程とを有する動画像符号化方法であって、前記動きベクトル検出工程は、フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶工程と、前記記憶工程に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成工程と、前記記憶工程において記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成工程よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成工程と、前記第1及び第2の補間画素生成工程の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択工程と、前記補間画素選択工程によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成工程とを有し、前記記憶工程において記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行う方法であって、前記動きベクトル検出工程が小数画素を単位とした動きベクトル検出を行う際には、前記補間画素選択工程は、前記記憶工程において記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成工程による補間処理ができない場合に、前記第1の補間画素生成工程によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成工程において生成された小数画素位置の画素値を選択するよう切り替えることを特徴とする。 Moving picture coding method of the present invention, a motion vector detection step of detecting a motion vector between the see image and sign-encoding target image in sub-pixel units, according to the motion vector detected by said motion vector detection step A motion compensation method for performing motion compensation, wherein the motion vector detection step reads and stores a pixel value at an integer pixel position of a reference image stored in a frame memory; A first interpolation pixel generation step of interpolating and generating a pixel value at a decimal pixel position using a filter with a predetermined number of taps using the pixel value at an integer pixel position stored in the storage step; Using the pixel value at the integer pixel position, the pixel value at the decimal pixel position is generated by interpolation with a filter having a smaller number of taps than in the first interpolation pixel generation step. A second interpolation pixel generating step, pixel values of the fractional pixel position is generated by one of said first and second interpolation pixel generation process, selected as pixel values for forming a reference image of the sub-pixel accuracy a interpolation pixel selecting step, from the pixel values selected by the interpolation pixel selecting step and the reference image forming step of forming a reference image of the sub-pixel accuracy to be used in the motion vector detection in the sub-pixel units, the from the motion vector detection integer pixel using the pixel value of the stored integer pixel positions in units in the storage step, a detection of motion vectors in units of sub-pixel is changed stepwise detection accuracy in line cormorants method Te, the motion when the vector detection step detecting the motion vector in units of sub-pixel, the interpolation pixel selecting step, said integer pixel position stored in the storing step When the interpolation process by the first interpolation pixel generation process cannot be performed with only the pixel value of the second interpolation pixel generation, the pixel value of the decimal pixel position generated by the first interpolation pixel generation process is replaced with the pixel value of the second interpolation pixel generation process. Switching is made so that the pixel value at the decimal pixel position generated in the process is selected .

本発明のコンピュータプログラムは、号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出工程と、前記動きベクトル検出工程によって検出された動きベクトルに従って動き補償を行う動き補償工程とを有する動画像符号化方法の各工程をコンピュータに実行させるコンピュータプログラムであって、前記動きベクトル検出工程は、フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶工程と、前記記憶工程に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成工程と、前記記憶工程において記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成工程よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成工程と、前記第1及び第2の補間画素生成工程の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択工程と、前記補間画素選択工程によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成工程とを有し、前記記憶工程において記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行う方法であって、前記動きベクトル検出工程が小数画素を単位とした動きベクトル検出を行う際には、前記補間画素選択工程は、前記記憶工程において記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成工程による補間処理ができない場合に、前記第1の補間画素生成工程によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成工程において生成された小数画素位置の画素値を選択するよう切り替えることをコンピュータに実行させることを特徴とする。 Computer program of the present invention, a motion vector detection step of detecting a motion vector between the see image and sign-encoding target image in sub-pixel units, motion compensation according to the motion vector detected by said motion vector detection step A motion compensation method for performing a computer program for causing a computer to execute each step of the moving image encoding method, wherein the motion vector detection step uses a pixel value at an integer pixel position of a reference image stored in a frame memory. A storage step of reading and storing, and a first interpolation pixel generation step of interpolating and generating a pixel value of a decimal pixel position by a filter having a predetermined number of taps using the pixel value of the integer pixel position stored in the storage step; , using the pixel value of the stored integer pixel positions in the storing step, less than the first interpolation pixel generation step A second interpolation pixel generation process for interpolation generates the pixel value of the sub-pel position by the number of taps of the filter have the pixel value of the decimal pixel position is generated by one of said first and second interpolation pixel generation process An interpolation pixel selection step for selecting as a pixel value for forming a reference image with decimal pixel accuracy , and a decimal pixel accuracy used in motion vector detection in the decimal pixel unit from the pixel value selected by the interpolation pixel selection step A reference image forming step for forming a reference image , and the detection accuracy is changed step by step from motion vector detection in units of integer pixels using pixel values at integer pixel positions stored in the storage step. the detection of a motion vector in units of sub-pixel a line cormorants method, when performing motion vector detection the motion vector detection step in units of sub-pixel, the auxiliary Pixel selection step, if the only pixel values of integer pixel positions stored can not be interpolated by the first interpolation pixel generation process in said storage step, the fraction generated by the first interpolation pixel generation process Instead of the pixel value at the pixel position , the computer is caused to perform switching so as to select the pixel value at the decimal pixel position generated in the second interpolation pixel generation step .

本発明の記録媒体は、前記に記載のコンピュータプログラムを記録したことを特徴とする。   The recording medium of the present invention records the computer program described above.

本発明によれば、符号化効率を大幅に落とすことなく、省電力化が図れる動画像符号化装置を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the moving image encoding apparatus which can achieve power saving can be provided, without significantly reducing encoding efficiency.

(第1の実施形態)
以下、本発明の実施形態を、図面を参照して説明する。
図2は、本発明に係る動画像符号化装置の構成例を示すブロック図である。
図2において、本実施形態の動画像符号化装置は、レンズやCCD等のカメラ部を含む撮像部101、動きベクトル検出回路102、動き補償回路108、減算器103、DCT(直交変換)回路104を有する。
(First embodiment)
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 2 is a block diagram illustrating a configuration example of a moving image encoding apparatus according to the present invention.
In FIG. 2, the moving image coding apparatus according to the present embodiment includes an imaging unit 101 including a camera unit such as a lens and a CCD, a motion vector detection circuit 102, a motion compensation circuit 108, a subtractor 103, and a DCT (orthogonal transform) circuit 104. Have

また、量子化回路105、可変長符号化回路106、記録部107、記録媒体109、符号量制御回路110、逆量子化回路111、IDCT(逆直交変換)回路112、加算器113、表示部117、フレームメモリ118を備えている。   Further, the quantization circuit 105, the variable length coding circuit 106, the recording unit 107, the recording medium 109, the code amount control circuit 110, the inverse quantization circuit 111, the IDCT (inverse orthogonal transform) circuit 112, the adder 113, and the display unit 117. A frame memory 118 is provided.

そして、符号量制御回路110をはじめとする各構成部の動作は、図示していないシステムコントローラによって制御されるようになされている。すなわち、このシステムコントローラは装置全体の動作制御を司るものであり、図示していない操作部からの必要に応じたユーザからの指示によっても、装置全体の動作制御を行うようになされている。   The operation of each component including the code amount control circuit 110 is controlled by a system controller (not shown). In other words, this system controller controls the operation of the entire apparatus, and controls the operation of the entire apparatus in accordance with an instruction from a user as required from an operation unit (not shown).

撮像部101にて撮像して得られた画像信号は、第1フレーム、第2フレーム、第3フレーム、・・・の順で、フレームメモリ118に順次格納されていく。フレームメモリ118からは、例えば、第3フレーム、第1フレーム、第2フレーム、・・・などの、符号化を行う順序で画像データを取り出していく。   Image signals obtained by imaging by the imaging unit 101 are sequentially stored in the frame memory 118 in the order of the first frame, the second frame, the third frame,. From the frame memory 118, for example, image data is extracted in the order of encoding, such as the third frame, the first frame, the second frame,.

本実施形態で行う符号化には、フレーム内の画像データのみで符号化する"イントラ符号化"と、フレーム間予測も含めて符号化する"インター符号化"とがある。インター符号化は、動き補償の単位(MCブロック)に対して1枚の参照フレームとの予測を行うPピクチャと、MCブロックに対して2枚までの参照フレームとの予測を行うBピクチャとがある。なお、イントラ符号化を行うピクチャをIピクチャという。符号化するフレームの順番が入力されたフレームの順番と異なるのは、時間的に未来のフレームとの予測(後方予測)を可能にするためである。   The encoding performed in the present embodiment includes “intra encoding” in which only image data in a frame is encoded, and “inter encoding” in which encoding is performed including inter-frame prediction. In inter-coding, a P picture that performs prediction with one reference frame for a motion compensation unit (MC block) and a B picture that performs prediction with up to two reference frames for an MC block. is there. A picture to be subjected to intra coding is called an I picture. The reason why the order of frames to be encoded differs from the order of input frames is to enable temporal prediction (backward prediction) with future frames.

イントラ符号化がなされる場合に行われる処理の概略を図5のフローチャートを参照しながら説明する。
符号化単位となるブロックの画像データはフレームメモリ118から読み出されて(ステップS501)、直交変換回路104で直交変換が施される(ステップS502)。直交変換回路104の出力である変換係数は量子化回路105において量子化処理される(ステップS503)。量子化回路105の出力である量子化された変換係数は可変長符号化回路106において可変長符号化がなされ(ステップS504)、その後、記録部107によって記録媒体への記録信号が生成され(ステップS505)、記録媒体109へ記録される(ステップS506)。
An outline of processing performed when intra coding is performed will be described with reference to a flowchart of FIG.
Image data of a block serving as a coding unit is read from the frame memory 118 (step S501), and orthogonal transformation is performed by the orthogonal transformation circuit 104 (step S502). The transform coefficient that is the output of the orthogonal transform circuit 104 is quantized in the quantization circuit 105 (step S503). The quantized transform coefficient that is the output of the quantization circuit 105 is subjected to variable length coding in the variable length coding circuit 106 (step S504), and then a recording signal to the recording medium is generated by the recording unit 107 (step S504). In step S505, recording is performed on the recording medium 109 (step S506).

前述した各処理において、量子化回路105における量子化係数は、可変長符号化回路106が発生した符号量のフィードバックなどから符号量制御回路110が算出する。また、量子化回路105の出力である量子化された変換係数は、逆量子化回路111において逆量子化され、逆直交変換回路112において逆直交変換処理が施されて復号された画像信号となり、その画像信号はフレームメモリ118に記憶される。   In each process described above, the quantization coefficient in the quantization circuit 105 is calculated by the code amount control circuit 110 from the feedback of the code amount generated by the variable length coding circuit 106. Further, the quantized transform coefficient that is the output of the quantization circuit 105 is inversely quantized by the inverse quantization circuit 111, and is subjected to inverse orthogonal transformation processing in the inverse orthogonal transformation circuit 112 to become a decoded image signal. The image signal is stored in the frame memory 118.

一方、インター符号化がなされる場合、符号化単位となるブロックの画像データはフレームメモリ118から読み出されて、動きベクトル検出回路102へ入力される。同時に、動きベクトル検出回路102は、フレームメモリ118から参照画像を読み出し、符号化画像と参照画像から動きベクトルを検出する。   On the other hand, when inter coding is performed, image data of a block serving as a coding unit is read from the frame memory 118 and input to the motion vector detection circuit 102. At the same time, the motion vector detection circuit 102 reads a reference image from the frame memory 118 and detects a motion vector from the encoded image and the reference image.

動き補償回路108は、前記動きベクトルに従って動き補償を行って予測画像を生成する。符号化画像と予測画像との差分は減算器103によって計算されて差分画像が生成される。生成された差分画像は直交変換回路104に出力され、その他の処理は前述のイントラ符号化の場合と同様である。   The motion compensation circuit 108 performs motion compensation according to the motion vector to generate a predicted image. The difference between the encoded image and the predicted image is calculated by the subtracter 103 to generate a difference image. The generated difference image is output to the orthogonal transform circuit 104, and other processing is the same as in the case of the above-described intra coding.

次に、動きベクトル検出回路102の動作について詳細に説明する。
図1は、第1の実施形態に係る動画像符号化装置が備える動きベクトル検出回路102の構成例を示すブロック図である。
Next, the operation of the motion vector detection circuit 102 will be described in detail.
FIG. 1 is a block diagram illustrating a configuration example of a motion vector detection circuit 102 included in the video encoding device according to the first embodiment.

図1に示すように、動きベクトル検出回路102は、符号化ブロックの画像データを記憶する符号化ブロックバッファ201、参照画像の画像データを記憶する検出範囲バッファ202、整数画素精度でベクトル検出を行う単画素精度ベクトル検出回路203を有する。   As shown in FIG. 1, the motion vector detection circuit 102 performs vector detection with integer pixel accuracy, an encoding block buffer 201 that stores image data of an encoding block, a detection range buffer 202 that stores image data of a reference image. A single pixel accuracy vector detection circuit 203 is provided.

また、1/2画素精度でベクトル検出を行う半画素精度ベクトル検出回路208、半画素精度でベクトル検出を行う際に使用する、半画素精度画像を生成する第1の半画素精度画像生成回路205を有する。   Further, a half-pixel accuracy vector detection circuit 208 that performs vector detection with half-pixel accuracy, and a first half-pixel accuracy image generation circuit 205 that generates a half-pixel accuracy image used when performing vector detection with half-pixel accuracy. Have

さらに、第1の半画素精度画像生成回路205とは異なる手法で半画素精度画像を生成する第2の半画素精度画像生成回路206を有している。ここでは例えば、第1の半画素精度画像生成回路205は6タップフィルタによる半画素精度画像生成回路であり、第2の半画素精度画像生成回路206は2タップフィルタによる半画素精度画像生成回路である。これらの他に、第1のスイッチ204、第2のスイッチ207によって構成されている。 Further includes a second half-pixel precision image generation circuit 206 for generating a half-pixel accuracy image in a different manner from the first half-pixel precision image generation circuit 205. Here, for example, the first half-pixel accuracy image generation circuit 205 is a half-pixel accuracy image generation circuit using a 6-tap filter, and the second half-pixel accuracy image generation circuit 206 is a half-pixel accuracy image generation circuit using a 2-tap filter. is there. In addition to these, the first switch 204 and the second switch 207 are included.

例えば、水平16画素、垂直16画素の符号化ブロックの動きベクトルを検出する場合の処理手順の一例を図6のフローチャートを参照しながら説明する。
先ず、水平16画素、垂直16画素の符号化ブロックがフレームメモリ118から読み出されて、符号化ブロックバッファ201へ記憶される(ステップS601)。一方で、動きベクトルの検出範囲を水平・垂直ともに±4画素とすると、水平24画素、垂直24画素の参照画像は、フレームメモリ118から読み出されて、検出範囲バッファ202へ記憶される(ステップS602)。
For example, an example of a processing procedure when detecting a motion vector of an encoded block of 16 horizontal pixels and 16 vertical pixels will be described with reference to the flowchart of FIG.
First, an encoding block of 16 horizontal pixels and 16 vertical pixels is read from the frame memory 118 and stored in the encoding block buffer 201 (step S601). On the other hand, if the motion vector detection range is ± 4 pixels in both horizontal and vertical directions, a reference image of 24 horizontal pixels and 24 vertical pixels is read from the frame memory 118 and stored in the detection range buffer 202 (step). S602).

単画素精度ベクトル検出回路203は、前記符号化ブロックバッファ201に記憶されている符号化ブロックと、もっとも相関の強いブロックを、前記検出範囲バッファ202に記憶されている参照画像の範囲でブロックマッチングにより検出し、もっとも相関の強いブロックの座標から、単画素精度の動きベクトルを検出する(ステップS603)。   The single pixel precision vector detection circuit 203 performs block matching on the block of the reference image stored in the detection range buffer 202 by comparing the block having the strongest correlation with the coding block stored in the coding block buffer 201. A single pixel precision motion vector is detected from the coordinates of the block having the strongest correlation (step S603).

次に、半画素精度の参照画像を生成する(ステップS604)。この半画素精度の参照画像は、後述するように、単画素精度の画像データから補間処理によって生成する。そして、この半画素精度の参照画像は半画素精度ベクトル検出回路208に出力される。   Next, a reference image with half-pixel accuracy is generated (step S604). As will be described later, this half-pixel precision reference image is generated by interpolation processing from single-pixel precision image data. Then, this half-pixel precision reference image is output to the half-pixel precision vector detection circuit 208.

また、ステップS604において生成された単画素精度の動きベクトルも、半画素精度ベクトル検出回路208へ出力される。本実施形態においては、半画素精度ベクトル検出回路208は、単画素精度で検出された動きベクトルの周辺範囲のみ半画素精度でベクトル検出を行う(ステップS605)。次に、ステップS606に進み、前記ステップS605において検出された動きベクトルに従って動き補償を行う。   In addition, the single-pixel precision motion vector generated in step S604 is also output to the half-pixel precision vector detection circuit 208. In this embodiment, the half-pixel accuracy vector detection circuit 208 performs vector detection with half-pixel accuracy only in the peripheral range of the motion vector detected with single-pixel accuracy (step S605). In step S606, motion compensation is performed according to the motion vector detected in step S605.

本実施形態において、特徴的な動きベクトル検出の動作を、図3を用いて説明する。
図3は、動きベクトル検出動作を説明するためのイメージ図である。図3の202は検出範囲バッファであり、符号化ブロックに対して水平、垂直ともに8画素分大きい範囲の参照画像データが記憶されている。符号化ブロックの大きさは図中の点線で表している。
In this embodiment, a characteristic motion vector detection operation will be described with reference to FIG.
FIG. 3 is an image diagram for explaining the motion vector detection operation. Reference numeral 202 in FIG. 3 denotes a detection range buffer, which stores reference image data in a range larger by 8 pixels both horizontally and vertically than the encoded block. The size of the encoded block is indicated by a dotted line in the figure.

また、点線は動きベクトル(0,0)の位置を示している。単画素精度のベクトル検出の範囲は図中の黒丸で表している。なお、黒丸で表しているのは、ブロックの左上の画素位置である。ブロックの左上が黒丸となる参照画像のブロックと、符号化ブロックとの各画素の差分絶対値の総和を算出し、その差分絶対値和が最小となるブロック位置から単画素精度の動きベクトルを検出する。例えば、図3に示す矢印301が単画素精度の動きベクトルとして検出される。   The dotted line indicates the position of the motion vector (0, 0). The range of single pixel precision vector detection is represented by black circles in the figure. Note that the black circle represents the pixel position at the upper left of the block. Calculates the sum of absolute differences of each pixel between the reference image block with the black circle at the top left of the block and the encoded block, and detects a single-pixel motion vector from the block position where the absolute difference sum is minimum. To do. For example, an arrow 301 shown in FIG. 3 is detected as a single pixel precision motion vector.

次に、半画素精度のベクトル検出は、前述の単画素精度の動きベクトルを中心として、水平、垂直ともに±0.5画素の範囲で検出する。図中では白丸で表している。白丸のポイントで同様にブロックマッチングを行い、例えば矢印302が検出された半画素精度の動きベクトルとなる。 Next, vector detection with half-pixel accuracy is performed within a range of ± 0.5 pixels both horizontally and vertically with the above-described single-pixel accuracy motion vector as the center. In the figure, it is represented by a white circle. Block matching is similarly performed at the white circle points, and, for example, an arrow 302 is detected as a half-pixel motion vector.

ところで、半画素精度の動きベクトル検出のためには、半画素精度の参照画像が必要であるが、その半画素精度の参照画像は、単画素精度の画像データから補間処理によって生成される。   Incidentally, a half-pixel precision reference image is required for half-pixel precision motion vector detection. The half-pixel precision reference image is generated by interpolation processing from single-pixel precision image data.

第1の半画素精度画像生成回路205は、6タップフィルタによって単画素精度の画像データから半画素精度の画像データを補間生成する回路であり、第2の半画素精度画像生成回路206は2タップフィルタによって単画素精度の画像データから半画素精度の画像データを補間生成する回路である。前記第1の半画素精度画像生成回路205、または前記第2の半画素精度画像生成回路206によって生成した半画素精度の参照画像を用いて、半画素精度ベクトル検出回路208は半画素精度の動きベクトルの検出処理を行う。例えば、H.264では半画素精度の画像データは6タップフィルタで生成することになっている。   The first half-pixel accuracy image generation circuit 205 is a circuit that interpolates and generates half-pixel accuracy image data from single-pixel accuracy image data using a 6-tap filter, and the second half-pixel accuracy image generation circuit 206 has 2 taps. This circuit interpolates and generates half-pixel precision image data from single-pixel precision image data using a filter. The half-pixel precision vector detection circuit 208 uses the half-pixel precision reference image generated by the first half-pixel precision image generation circuit 205 or the second half-pixel precision image generation circuit 206 to move the half-pixel precision motion. Vector detection processing is performed. For example, H.M. In H.264, half-pixel accuracy image data is generated by a 6-tap filter.

したがって、補間しようとする画素に対して、単画素精度の画素が前後に3画素必要となる。例えば、図4のように単画素精度の動きベクトルが(−3、−2)であった場合、図中の白丸で示す画素を生成するためには、検出範囲バッファ202に記憶されている画素のほかに、さらに、三角で示した単画素精度の画素が必要になる。ところが、2タップフィルタで半画素精度の画像データを補間する場合には、前述の図4の場合であっても、検出範囲バッファ202に記憶されている画素のみで補間可能である。   Therefore, three pixels of single pixel accuracy are required before and after the pixel to be interpolated. For example, when the single-pixel precision motion vector is (−3, −2) as shown in FIG. 4, the pixels stored in the detection range buffer 202 are used to generate the pixels indicated by white circles in the figure. In addition to the above, pixels with single pixel accuracy indicated by triangles are required. However, when half-pixel accuracy image data is interpolated with a 2-tap filter, interpolation is possible with only the pixels stored in the detection range buffer 202 even in the case of FIG.

そこで、単画素精度の動きベクトルの結果に応じて、6タップフィルタによる補間処理をする場合に、検出範囲バッファ202に記憶されている画素のみで補間処理ができない場合には、第1のスイッチ204、及び第2のスイッチ207を、第2の半画素精度画像生成回路206へ接続するように切り替え、そうではない場合には、第1の半画素精度画像生成回路205へ接続するように切り替えるようにする。   Therefore, when interpolation processing using a 6-tap filter is performed according to the result of a motion vector with single pixel accuracy, if the interpolation processing cannot be performed using only the pixels stored in the detection range buffer 202, the first switch 204 is used. , And the second switch 207 are switched so as to be connected to the second half-pixel accuracy image generation circuit 206, and if not, the second switch 207 is switched so as to be connected to the first half-pixel accuracy image generation circuit 205. To.

なお、本実施形態では半画素精度の動きベクトルを検出しているが、その後で1/4画素精度など、さらに高精度な動きベクトル検出を行う場合でも、同様に処理することができる。   In this embodiment, a half-pixel precision motion vector is detected, but the same processing can be performed even when a higher-precision motion vector detection such as quarter-pixel precision is performed thereafter.

(第2の実施形態)
本発明の第2の実施形態に係る動画像符号化装置は、図2に示すもので、動きベクトル検出回路102の動作が異なる以外は、前述の第1の実施形態に係る動画像符号化装置と同様の動作を行う。
(Second Embodiment)
The moving picture coding apparatus according to the second embodiment of the present invention is as shown in FIG. 2, except that the operation of the motion vector detection circuit 102 is different, the moving picture coding apparatus according to the first embodiment described above. The same operation is performed.

図7は、本発明の第2の実施形態に係る動画像符号化装置が備える動きベクトル検出回路102の構成を示すブロック図である。前述した第1の実施形態の説明で用いた図1に対してデータバス使用率検出回路701が付加されている。   FIG. 7 is a block diagram showing a configuration of the motion vector detection circuit 102 included in the moving picture coding apparatus according to the second embodiment of the present invention. A data bus usage rate detection circuit 701 is added to FIG. 1 used in the description of the first embodiment.

データバス使用率検出回路701は、フレームメモリ118のデータバスの状態を監視し、データバスの使用率を算出する。前記データバス使用率は、第1のスイッチ204、及び第2のスイッチ207の制御信号となっていて、前述の第1の実施形態で説明したように、単画素精度の動きベクトルの結果によって、半画素精度の参照画像を生成する。   The data bus usage rate detection circuit 701 monitors the state of the data bus in the frame memory 118 and calculates the data bus usage rate. The data bus utilization rate is a control signal for the first switch 204 and the second switch 207, and as described in the first embodiment, according to the result of the single pixel precision motion vector, A reference image with half-pixel accuracy is generated.

そのためには、検出範囲バッファ202に記憶されている画像データの他に、さらにフレームメモリ118から画像データを読み出す必要がある場合で、かつ、前記データバスの使用率がある閾値より大きい場合には、以下のようにスイッチ制御を行う。この場合、第1のスイッチ204、及び第2のスイッチ207を、第2の半画素精度画像生成回路206へ接続するように切り替え、そうでない場合には、第1の半画素精度画像生成回路205へ接続するように切り替える。   For that purpose, in addition to the image data stored in the detection range buffer 202, when it is necessary to read out the image data from the frame memory 118, and when the usage rate of the data bus is larger than a certain threshold value. The switch control is performed as follows. In this case, the first switch 204 and the second switch 207 are switched so as to be connected to the second half-pixel accuracy image generation circuit 206. Otherwise, the first half-pixel accuracy image generation circuit 205 is switched. Switch to connect to.

6タップフィルタの第1の半画素精度画像生成回路205は、補間処理のためにフレームメモリ118から画像データを読み出す必要がある場合は、フレームメモリ118から画像データを読み出して、補間処理を実行する。   When it is necessary to read image data from the frame memory 118 for the interpolation process, the first half-pixel accuracy image generation circuit 205 of the 6-tap filter reads the image data from the frame memory 118 and executes the interpolation process. .

(本発明に係る他の実施形態)
前述した本発明の実施形態における動画像符号化装置を構成する各手段、並びに動画像符号化方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び上記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the moving picture coding apparatus and each step of the moving picture coding method in the embodiment of the present invention described above can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable recording medium on which the program is recorded are included in the present invention.

また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。   In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図5及び図6に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接されてもよい。あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowcharts shown in FIGS. 5 and 6) for realizing the functions of the above-described embodiments may be directly applied to the system or apparatus. Alternatively, it may be achieved by supplying from a remote location and the computer of the system or apparatus reads and executes the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどである。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)なども含む。   Examples of the recording medium for supplying the program include a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. Moreover, a magnetic tape, a non-volatile memory card, ROM, DVD (DVD-ROM, DVD-R), etc. are also included.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのものをダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, the program can be supplied by connecting to a homepage on the Internet using a browser of a client computer and downloading the computer program of the present invention from the homepage. Alternatively, it can be supplied by downloading a compressed file including an automatic installation function to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, the present invention includes a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

本発明の第1の実施形態に係る動画像符号化装置が備える動きベクトル検出回路の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection circuit with which the moving image encoder which concerns on the 1st Embodiment of this invention is provided. 本発明に係る動画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the moving image encoder which concerns on this invention. 段階的に動きベクトルを検出する動作を説明するための模式図である。It is a schematic diagram for demonstrating the operation | movement which detects a motion vector in steps. 6タップフィルタで補間する場合に必要な画素を説明するための模式図である。It is a schematic diagram for demonstrating a pixel required when interpolating with a 6 tap filter. 符号化処理の概略を説明するフローチャートである。It is a flowchart explaining the outline of an encoding process. 動きベクトルを検出する場合の処理手順の一例を説明するフローチャートである。It is a flowchart explaining an example of the process sequence in the case of detecting a motion vector. 本発明の第2の実施形態に係る動画像符号化装置が備える動きベクトル検出回路の構成を示すブロック図である。It is a block diagram which shows the structure of the motion vector detection circuit with which the moving image encoder which concerns on the 2nd Embodiment of this invention is provided.

符号の説明Explanation of symbols

101 撮像部
102 動きベクトル検出回路
103 減算器
104 DCT(直交変換)回路
105 量子化回路
106 可変長符号化回路(VLC)
107 記録部
108 動き補償回路
109 記録媒体
110 符号量制御回路
111 逆量子化回路(IQ)
112 IDCT(逆直交変換)回路
113 加算器
117 表示部117
118 フレームメモリ
201 符号化ブロックバッファ
202 検出範囲バッファ
203 単画素精度ベクトル検出回路
204 第1のスイッチ
205 第1の半画素精度画像生成回路(6タップフィルタ)
206 第2の半画素精度画像生成回路(2タップフィルタ)
207 第2のスイッチ
208 半画素精度ベクトル検出回路
DESCRIPTION OF SYMBOLS 101 Image pick-up part 102 Motion vector detection circuit 103 Subtractor 104 DCT (orthogonal transformation) circuit 105 Quantization circuit 106 Variable length coding circuit (VLC)
107 recording unit 108 motion compensation circuit 109 recording medium 110 code amount control circuit 111 inverse quantization circuit (IQ)
112 IDCT (Inverse Orthogonal Transform) Circuit 113 Adder 117 Display Unit 117
118 Frame Memory 201 Encoding Block Buffer 202 Detection Range Buffer 203 Single Pixel Accuracy Vector Detection Circuit 204 First Switch 205 First Half Pixel Accuracy Image Generation Circuit (6-tap Filter)
206 Second half-pixel precision image generation circuit (2-tap filter)
207 Second switch 208 Half-pixel accuracy vector detection circuit

Claims (7)

符号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出手段と、前記動きベクトル検出手段によって検出された動きベクトルに従って動き補償を行う動き補償手段とを有する動画像符号化装置であって、
前記動きベクトル検出手段は、
フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶手段と、
前記記憶手段に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成手段と、
前記記憶手段に記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成手段よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成手段と、
前記第1及び第2の補間画素生成手段の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択手段と
前記補間画素選択手段によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成手段とを有し、
前記記憶手段に記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行うものであって、
前記動きベクトル検出手段が小数画素を単位とした動きベクトル検出を行う際には、
前記補間画素選択手段は、前記記憶手段に記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成手段による補間処理ができない場合に、前記第1の補間画素生成手段によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成手段によって生成された小数画素位置の画素値を選択するよう切り替えることを特徴とする動画像符号化装置。
Video with the motion vector detection means for detecting a motion vector between the coding target picture and see the image at sub-pixel basis, and motion compensation means for performing motion compensation according to the motion vector detected by said motion vector detecting means An image encoding device comprising:
The motion vector detecting means includes
Storage means for reading out and storing pixel values at integer pixel positions of the reference image stored in the frame memory;
First interpolated pixel generation means for interpolating and generating pixel values at decimal pixel positions by a filter with a predetermined number of taps using pixel values at integer pixel positions stored in the storage means ;
Second interpolation pixel generation means for interpolating and generating pixel values at decimal pixel positions using a filter having a smaller number of taps than the first interpolation pixel generation means, using pixel values at integer pixel positions stored in the storage means When,
Interpolation pixel selection means for selecting a pixel value at a decimal pixel position generated by any one of the first and second interpolation pixel generation means as a pixel value for forming a reference image with decimal pixel precision ;
Reference image forming means for forming a reference image with decimal pixel precision used for motion vector detection in the decimal pixel unit from the pixel value selected by the interpolation pixel selection means ;
From the motion vector detection integer pixel using the pixel value of the stored integer pixel positions in units in the storage means, the detection of a motion vector in units of sub-pixel is changed stepwise detection accuracy in line Umono There,
When the motion vector detection means performs motion vector detection in units of decimal pixels,
The interpolation pixel selection means is generated by the first interpolation pixel generation means when interpolation processing by the first interpolation pixel generation means cannot be performed only with the pixel value at the integer pixel position stored in the storage means. A moving picture coding apparatus that switches to select a pixel value at a decimal pixel position generated by the second interpolation pixel generation means instead of the pixel value at a decimal pixel position .
前記動きベクトル検出手段は、整数画素単位で動きベクトルの粗探索を行った後、前記粗探索により検出された動きベクトルの周辺を小数画素単位で動きベクトルの密探索を行い、前記粗探索により検出された動きベクトルに応じて、前記密探索で使用する小数画素精度の参照画像を形成するための補間画素を、前記補間画素選択手段により前記第1及び第2の補間画素生成手段の中から選択することを特徴とする請求項1に記載の動画像符号化装置。 The motion vector detection means performs a coarse search of motion vectors in integer pixel units, and then performs a dense search of motion vectors in decimal pixel units around the motion vectors detected by the coarse search, and detects by the coarse search. An interpolation pixel for forming a reference image with decimal pixel precision used in the dense search is selected from the first and second interpolation pixel generation means by the interpolation pixel selection means in accordance with the motion vector thus determined . The moving picture encoding apparatus according to claim 1, wherein: 前記動きベクトル検出手段は、整数画素単位で動きベクトルの粗探索を行った後、前記粗探索により検出された動きベクトルの周辺を小数画素単位で動きベクトルの密探索を行い、前記フレームメモリのデータバスの使用率に応じて、前記密探索で使用する小数画素精度の参照画像を形成するための補間画素を、前記補間画素選択手段により前記第1及び第2の補間画素生成手段の中から選択することを特徴とする請求項1に記載の動画像符号化装置。 The motion vector detection means performs a coarse search of motion vectors in units of integer pixels, and then performs a dense search of motion vectors in units of decimal pixels around the motion vectors detected by the coarse search, and the data in the frame memory According to the bus usage rate, an interpolation pixel for forming a reference image with decimal pixel precision used in the dense search is selected from the first and second interpolation pixel generation means by the interpolation pixel selection means. The moving picture encoding apparatus according to claim 1, wherein: 前記粗探索のためにフレームメモリから読み出した整数画素位置の参照画像データを記憶媒体に記憶し、
前記密探索で用いる小数画素単位の参照画像は、前記記憶媒体に記憶されている画像データのみを用いて生成することを特徴とする請求項2に記載の動画像符号化装置。
Reference image data of integer pixel positions read from the frame memory for the coarse search is stored in a storage medium,
The moving picture encoding apparatus according to claim 2, wherein the reference image in decimal pixel units used in the dense search is generated using only image data stored in the storage medium.
号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出工程と、前記動きベクトル検出工程によって検出された動きベクトルに従って動き補償を行う動き補償工程とを有する動画像符号化方法であって、
前記動きベクトル検出工程は、
フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶工程と、
前記記憶工程に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成工程と、
前記記憶工程において記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成工程よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成工程と、
前記第1及び第2の補間画素生成工程の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択工程と
前記補間画素選択工程によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成工程とを有し、
前記記憶工程において記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行う方法であって、
前記動きベクトル検出工程が小数画素を単位とした動きベクトル検出を行う際には、
前記補間画素選択工程は、前記記憶工程において記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成工程による補間処理ができない場合に、前記第1の補間画素生成工程によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成工程において生成された小数画素位置の画素値を選択するよう切り替えることを特徴とする動画像符号化方法。
A motion vector detection step of detecting a motion vector between the sign-encoding target image and see the image at sub-pixel basis, and a motion compensation step of performing motion compensation according to the motion vector detected by said motion vector detection step A video encoding method comprising:
The motion vector detection step includes
A storage step of reading out and storing the pixel value of the integer pixel position of the reference image stored in the frame memory;
A first interpolation pixel generation step of interpolating and generating a pixel value at a decimal pixel position by a filter having a predetermined number of taps using a pixel value at an integer pixel position stored in the storage step ;
A second interpolation pixel generation step of interpolating and generating a pixel value at a decimal pixel position using a filter having a smaller number of taps than in the first interpolation pixel generation step, using the pixel value at the integer pixel position stored in the storage step When,
An interpolation pixel selection step of selecting a pixel value at a decimal pixel position generated by one of the first and second interpolation pixel generation steps as a pixel value for forming a reference image with decimal pixel accuracy ;
A reference image forming step of forming a reference image of decimal pixel accuracy used in motion vector detection in the decimal pixel unit from the pixel value selected by the interpolation pixel selection step ;
From the motion vector detection integer pixel using the pixel value of the stored integer pixel positions in units in said storage step, the detection of a motion vector in units of sub-pixel is changed stepwise detection accuracy in line Cormorants method There,
When the motion vector detection step performs motion vector detection in units of decimal pixels,
The interpolation pixel selection step is generated by the first interpolation pixel generation step when the interpolation processing by the first interpolation pixel generation step cannot be performed only with the pixel value at the integer pixel position stored in the storage step. A moving picture encoding method, wherein switching is performed so that the pixel value at the decimal pixel position generated in the second interpolation pixel generation step is selected instead of the pixel value at the decimal pixel position .
符号化対象画像と参照画像との間の動きベクトルを小数画素単位で検出する動きベクトル検出工程と、前記動きベクトル検出工程によって検出された動きベクトルに従って動き補償を行う動き補償工程とを有する動画像符号化方法の各工程をコンピュータに実行させるコンピュータプログラムであって、
前記動きベクトル検出工程は、
フレームメモリに記憶されている参照画像の整数画素位置の画素値を読み出して記憶する記憶工程と、
前記記憶工程に記憶された整数画素位置の画素値を用いて、所定のタップ数のフィルタによって小数画素位置の画素値を補間生成する第1の補間画素生成工程と、
前記記憶工程において記憶された整数画素位置の画素値を用いて、前記第1の補間画素生成工程よりも少ないタップ数のフィルタによって小数画素位置の画素値を補間生成する第2の補間画素生成工程と、
前記第1及び第2の補間画素生成工程の何れかにより生成された小数画素位置の画素値を、小数画素精度の参照画像を形成するための画素値として選択する補間画素選択工程と
前記補間画素選択工程によって選択された画素値から、前記小数画素単位での動きベクトル検出で用いる小数画素精度の参照画像を形成する参照画像形成工程とを有し、
前記記憶工程において記憶された整数画素位置の画素値を用いた整数画素を単位とした動きベクトル検出から、段階的に検出精度を変えて小数画素を単位とした動きベクトルの検出を行う方法であって、
前記動きベクトル検出工程が小数画素を単位とした動きベクトル検出を行う際には、
前記補間画素選択工程は、前記記憶工程において記憶されている整数画素位置の画素値のみでは前記第1の補間画素生成工程による補間処理ができない場合に、前記第1の補間画素生成工程によって生成された小数画素位置の画素値に替えて、前記第2の補間画素生成工程において生成された小数画素位置の画素値を選択するよう切り替えることをコンピュータに実行させることを特徴とするコンピュータプログラム。
Video with the motion vector detection step of detecting a motion vector between the coding target picture and see the image at sub-pixel basis, and a motion compensation step of performing motion compensation according to the motion vector detected by said motion vector detection step A computer program for causing a computer to execute each step of the image encoding method,
The motion vector detection step includes
A storage step of reading out and storing the pixel value of the integer pixel position of the reference image stored in the frame memory;
A first interpolation pixel generation step of interpolating and generating a pixel value at a decimal pixel position by a filter having a predetermined number of taps using a pixel value at an integer pixel position stored in the storage step ;
A second interpolation pixel generation step of interpolating and generating a pixel value at a decimal pixel position using a filter having a smaller number of taps than in the first interpolation pixel generation step, using the pixel value at the integer pixel position stored in the storage step When,
An interpolation pixel selection step of selecting a pixel value at a decimal pixel position generated by one of the first and second interpolation pixel generation steps as a pixel value for forming a reference image with decimal pixel accuracy ;
A reference image forming step of forming a reference image of decimal pixel accuracy used in motion vector detection in the decimal pixel unit from the pixel value selected by the interpolation pixel selection step ;
From the motion vector detection integer pixel using the pixel value of the stored integer pixel positions in units in said storage step, the detection of a motion vector in units of sub-pixel is changed stepwise detection accuracy in line Cormorants method There,
When the motion vector detection step performs motion vector detection in units of decimal pixels,
The interpolation pixel selection step is generated by the first interpolation pixel generation step when the interpolation processing by the first interpolation pixel generation step cannot be performed only with the pixel value at the integer pixel position stored in the storage step. A computer program for causing a computer to perform switching so as to select a pixel value at a decimal pixel position generated in the second interpolation pixel generation step instead of a pixel value at a decimal pixel position .
請求項6に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体 A computer-readable recording medium on which the computer program according to claim 6 is recorded .
JP2005313097A 2005-10-27 2005-10-27 Moving picture coding apparatus and moving picture coding method Expired - Fee Related JP4590337B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005313097A JP4590337B2 (en) 2005-10-27 2005-10-27 Moving picture coding apparatus and moving picture coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005313097A JP4590337B2 (en) 2005-10-27 2005-10-27 Moving picture coding apparatus and moving picture coding method

Publications (3)

Publication Number Publication Date
JP2007124238A JP2007124238A (en) 2007-05-17
JP2007124238A5 JP2007124238A5 (en) 2008-12-11
JP4590337B2 true JP4590337B2 (en) 2010-12-01

Family

ID=38147597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005313097A Expired - Fee Related JP4590337B2 (en) 2005-10-27 2005-10-27 Moving picture coding apparatus and moving picture coding method

Country Status (1)

Country Link
JP (1) JP4590337B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2563943B (en) 2017-06-30 2021-02-24 Canon Kk Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory accesses

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08205192A (en) * 1995-01-23 1996-08-09 Nec Corp Image encoding device
JPH0951536A (en) * 1995-08-04 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for detecting moving vector
JPH11239350A (en) * 1998-02-23 1999-08-31 Oki Electric Ind Co Ltd Motion vector detection method for moving image signal and motion vector detection circuit in inter-frame encoding device
JP2004007337A (en) * 2002-04-25 2004-01-08 Sony Corp Image processing apparatus and its method
JP2004356673A (en) * 2003-05-26 2004-12-16 Sony Corp Motion vector detecting method and image processing apparatus using the method
JP2005204280A (en) * 2003-12-19 2005-07-28 Matsushita Electric Ind Co Ltd Image coding device and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08205192A (en) * 1995-01-23 1996-08-09 Nec Corp Image encoding device
JPH0951536A (en) * 1995-08-04 1997-02-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for detecting moving vector
JPH11239350A (en) * 1998-02-23 1999-08-31 Oki Electric Ind Co Ltd Motion vector detection method for moving image signal and motion vector detection circuit in inter-frame encoding device
JP2004007337A (en) * 2002-04-25 2004-01-08 Sony Corp Image processing apparatus and its method
JP2004356673A (en) * 2003-05-26 2004-12-16 Sony Corp Motion vector detecting method and image processing apparatus using the method
JP2005204280A (en) * 2003-12-19 2005-07-28 Matsushita Electric Ind Co Ltd Image coding device and method

Also Published As

Publication number Publication date
JP2007124238A (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP4495580B2 (en) In-plane prediction apparatus and in-plane prediction method
US8265136B2 (en) Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith
US8189668B2 (en) Video codec with shared intra-prediction module and method for use therewith
US8165210B2 (en) Video codec with shared interpolation filter and method for use therewith
US9351014B2 (en) Moving image encoding and decoding system
CN1960495B (en) Picture coding device, picture coding method, and integated circuit apparatus
CN102369730B (en) Moving picture encoding device, dynamic image decoding device, motion image encoding method and dynamic image decoding method
JP5766815B2 (en) Image encoding method and image encoding apparatus
JP4606311B2 (en) Image coding apparatus and image coding method
JP4709155B2 (en) Motion detection device
JP2007134755A (en) Moving picture encoder and image recording and reproducing device
JP4898415B2 (en) Moving picture coding apparatus and moving picture coding method
JP2010081498A (en) Image compression coding method and apparatus
JP2009027693A (en) Moving image compression coding equipment
JP2007325119A (en) Image processing apparatus and method
JP4590337B2 (en) Moving picture coding apparatus and moving picture coding method
JP5390794B2 (en) Motion vector search apparatus and motion vector search method
JP5247210B2 (en) Moving picture coding apparatus and moving picture coding method
JP2009049513A (en) Moving picture encoding device and moving picture encoding method
JP2009278473A (en) Image processing device, imaging apparatus mounting the same, and image reproducing device
JP2008154085A (en) Dynamic image encoding device and dynamic image encoding method
JP5094750B2 (en) Moving picture coding apparatus and moving picture coding method
WO2020181507A1 (en) Image processing method and apparatus
JP2008124765A (en) Video encoder and its control method, and computer program
JP2009017107A (en) Video encoder and video encoding method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100913

R150 Certificate of patent or registration of utility model

Ref document number: 4590337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees