JP2007325119A - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP2007325119A
JP2007325119A JP2006155175A JP2006155175A JP2007325119A JP 2007325119 A JP2007325119 A JP 2007325119A JP 2006155175 A JP2006155175 A JP 2006155175A JP 2006155175 A JP2006155175 A JP 2006155175A JP 2007325119 A JP2007325119 A JP 2007325119A
Authority
JP
Japan
Prior art keywords
picture
pictures
encoding
search range
encoding target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006155175A
Other languages
Japanese (ja)
Other versions
JP4822940B2 (en
JP2007325119A5 (en
Inventor
Jun Makino
純 牧野
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 JP2006155175A priority Critical patent/JP4822940B2/en
Publication of JP2007325119A publication Critical patent/JP2007325119A/en
Publication of JP2007325119A5 publication Critical patent/JP2007325119A5/ja
Application granted granted Critical
Publication of JP4822940B2 publication Critical patent/JP4822940B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce memory access volume for reading reference pictures in the case of encoding image data by using inter prediction. <P>SOLUTION: In image data encoding processing using inter prediction, image data in a common retrieval range corresponding to macro blocks of a plurality of pictures to be encoded from a picture to be encoded next after updating a reference picture up to pictures to be encoded which are used for the succeeding updating of a reference picture are read out and the movement compensation prediction of respective macro block are executed in parallel by using the read image data in the common retrieval range to reduce the memory access volume for reading the reference pictures. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、フレーム間相関を利用して画像データを圧縮する画像処理装置及び画像処理方法に関する。   The present invention relates to an image processing apparatus and an image processing method for compressing image data using inter-frame correlation.

従来から、画像データを圧縮して記録するための様々な画像符号化方式が提案されている。そして、新たにMPEG4 part−10:AVC〔Advanced Video Coding〕(ISO/IEC 14496−10、別名H.264)方式が提案されている。以下、H.264画像符号化方式を、単に「H.264方式」とも称す。   Conventionally, various image encoding methods for compressing and recording image data have been proposed. A new MPEG4 part-10: AVC [Advanced Video Coding] (ISO / IEC 14496-10, also known as H.264) method has been proposed. Hereinafter, H.C. The H.264 image encoding method is also simply referred to as “H.264 method”.

H.264方式では、動き補償予測、離散コサイン変換(DCT:Discrete Cosine Transform)、量子化、及びエントロピー符号化などを組み合わせて画像データを符号化する。動き補償予測は、異なるフレームの画像データを参照ピクチャとして用い行われる。   H. In the H.264 system, image data is encoded by combining motion compensation prediction, discrete cosine transform (DCT), quantization, entropy encoding, and the like. Motion compensation prediction is performed using image data of different frames as reference pictures.

また、画像データを符号化する符号化回路の構成では、符号化手順を分割してパイプライン化することで、1つの符号化対象の画像データを数フレームの時間で符号化する例は多い。例えば、非特許文献1には、7段のパイプラインを用いて画像データを圧縮符号化するH.264方式に準拠した符号化回路が記載されている。   Also, in the configuration of an encoding circuit that encodes image data, there are many examples in which one encoding target image data is encoded in a time of several frames by dividing the encoding procedure into a pipeline. For example, Non-Patent Document 1 discloses an H.264 format that compresses and encodes image data using a seven-stage pipeline. An encoding circuit conforming to the H.264 system is described.

「H.264とMPEG−4に両対応 携帯機器向けコーデック・コアを開発」,日経エレクトロニクス,日経BP社,2004年9月27日号,no.883,p.123−133“Development of codec core for mobile devices compatible with both H.264 and MPEG-4”, Nikkei Electronics, Nikkei BP, September 27, 2004, no. 883, p. 123-133

上述のように異なるフレームの画像データを参照し動き補償予測を行うインター予測を用いて画像データを符号化する場合、符号化対象の画像データに加えて、参照ピクチャの画像データも扱うため、符号化処理にて扱うデータ量が多くなる。H.264方式では、参照ピクチャを複数枚利用できるため、さらにデータ量が多くなる傾向にある。   As described above, when image data is encoded using inter prediction in which motion-compensated prediction is performed with reference to image data of different frames, the image data of the reference picture is handled in addition to the image data to be encoded. The amount of data handled in the conversion process increases. H. In the H.264 system, since a plurality of reference pictures can be used, the amount of data tends to increase further.

符号化回路において、参照ピクチャが記憶されているフレームメモリから符号化処理を行うコーデック部に読み込むべき参照ピクチャの数が多いと、コーデック部とフレームメモリの間のデータ・アクセス数が膨大になる。そのため、データ転送に用いるクロックを高速化(高周波数化)させたり、データ・バス幅を増大させたりするなどの対応が必要となるが、消費電力の増大や高速クロックに対応した設計上の困難などが生じてしまう。   In the encoding circuit, if the number of reference pictures to be read from the frame memory in which the reference picture is stored to the codec unit that performs the encoding process is large, the number of data accesses between the codec unit and the frame memory becomes enormous. For this reason, measures such as increasing the clock speed used for data transfer (higher frequency) and increasing the data bus width are required. However, the design is difficult due to increased power consumption and high-speed clock. Etc. will occur.

本発明は、このような事情に鑑みてなされたものであり、インター予測を用いて画像データを符号化する際に、参照ピクチャを読み込むためのメモリアクセス量を削減することを目的とする。   The present invention has been made in view of such circumstances, and an object thereof is to reduce the memory access amount for reading a reference picture when encoding image data using inter prediction.

本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、複数の参照ピクチャからなり、任意のフレーム間隔で、符号化されたピクチャを復号化したピクチャにより内部の参照ピクチャが更新される参照リストを有し、上記参照リストが更新された後、次の符号化対象ピクチャから、次に上記参照リストの更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて、動き補償予測を並列に行い符号化することを特徴とする。
本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、符号化するピクチャには、動き補償予測を行わないIピクチャ、前方向予測を行うPピクチャ、及び双方向予測を行うBピクチャがあり、フレームメモリ内に記憶されている参照ピクチャは、上記Iピクチャ又はPピクチャ又は、一部のBピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより更新され、上記フレームメモリの内容が更新された後、次の符号化対象ピクチャから、次に上記フレームメモリの内容更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて、動き補償予測を並列に行い符号化することを特徴とする。
本発明に係る画像処理装置は、上記画像処理方法を用いる画像処理装置であって、参照ピクチャの画像データを記憶するメモリ手段と、上記動き補償予測を含む符号化処理を行う符号化手段とを備えることを特徴とする。
本発明に係る画像処理方法は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、上記参照ピクチャを記憶手段に記憶させる記憶ステップと、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出しステップと、上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化ステップとを有することを特徴とする。
本発明に係る画像処理装置は、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理装置であって、上記参照ピクチャが記憶される記憶手段と、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出し手段と、上記読み出し手段により読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化手段とを備えることを特徴とする。
本発明に係るプログラムは、異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理をコンピュータに実行させるためのプログラムであって、上記参照ピクチャを記憶手段に記憶させる記憶ステップと、上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出しステップと、上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化ステップとをコンピュータに実行させることを特徴とする。
本発明に係るコンピュータ読み取り可能な記録媒体は、上記プログラムを記録したことを特徴とする。
The image processing method according to the present invention is an image processing method for performing motion compensation predictive coding using image data of different frames as a reference picture, and is composed of a plurality of reference pictures encoded at arbitrary frame intervals. A reference list in which an internal reference picture is updated by a picture obtained by decoding the reference picture, and after the reference list is updated, from the next encoding target picture, the encoding used for the update of the reference list is performed next. A sequence of a plurality of encoding target pictures up to the target picture is encoded by performing motion compensation prediction in parallel.
The image processing method according to the present invention is an image processing method for performing motion compensation prediction encoding using image data of different frames as a reference picture, and the picture to be encoded includes an I picture that does not perform motion compensation prediction, and a forward direction. There are P pictures that perform prediction and B pictures that perform bi-directional prediction. The reference pictures stored in the frame memory are encoded after the I picture, P picture, or part of the B pictures are encoded. From the next encoding target picture to the next encoding target picture used for updating the contents of the frame memory. A sequence of a plurality of encoding target pictures is encoded by performing motion compensation prediction in parallel.
An image processing apparatus according to the present invention is an image processing apparatus that uses the above-described image processing method, and includes a memory unit that stores image data of a reference picture and an encoding unit that performs an encoding process including motion compensation prediction. It is characterized by providing.
An image processing method according to the present invention is an image processing method for performing motion compensation predictive coding using image data of different frames as a reference picture, a storage step of storing the reference picture in a storage unit, and a storage unit storing the reference picture After the reference picture is updated, a common search range corresponding to macroblocks of a plurality of encoding target pictures from the next encoding target picture to the encoding target picture stored next as a reference picture in the storage means A read step of reading image data from each reference picture stored in the storage means, and a macro of the plurality of encoding target pictures using the image data of the common search range read in the read step An encoding step for performing motion-compensated prediction in parallel for the block and encoding That.
An image processing apparatus according to the present invention is an image processing apparatus that performs motion compensation predictive coding using image data of different frames as a reference picture, and stores the reference picture in the storage unit and the storage unit. After updating the reference picture, the image data in the common search range corresponding to the macroblocks of the plurality of encoding target pictures from the next encoding target picture to the encoding target picture stored next as the reference picture in the storage means Read out from each reference picture stored in the storage means, and using the image data in the common search range read out by the reading means, the motion of macroblocks of the plurality of encoding target pictures Coding means for performing compensation prediction in parallel and coding.
A program according to the present invention is a program for causing a computer to perform image processing for performing motion compensation predictive coding using image data of different frames as a reference picture, and storing the reference picture in a storage unit; After updating the reference picture stored in the storage means, it corresponds to a plurality of encoding target picture macroblocks from the next encoding target picture to the next encoding target picture stored as a reference picture in the storage means. A readout step of reading out image data of a common search range from each reference picture stored in the storage means, and using the image data of the common search range read out in the readout step, the plurality of codes Encoding in parallel with motion-compensated prediction for the macroblock of the target picture Characterized in that to execute the Goka steps on a computer.
A computer-readable recording medium according to the present invention records the above program.

本発明によれば、参照ピクチャを用いて符号化を行う際、各参照ピクチャから複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを読み出して、各符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行う。これにより、符号化処理にて参照ピクチャを読み込むためのメモリアクセス量を削減することができ、また符号化処理に要する消費電力を低減することができる。   According to the present invention, when encoding is performed using a reference picture, image data in a common search range corresponding to macroblocks of a plurality of encoding target pictures is read from each reference picture, and each encoding target picture is read. Motion compensation prediction is performed in parallel for the macroblock. Thereby, the memory access amount for reading the reference picture in the encoding process can be reduced, and the power consumption required for the encoding process can be reduced.

以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
以下に説明する本発明の第1の実施形態による画像処理装置を適用した符号化器は、入力される画像データをH.264方式に準拠した画像符号化方式で符号化するものである。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(First embodiment)
The encoder to which the image processing apparatus according to the first embodiment of the present invention described below is applied, converts input image data into H.264 format. The image is encoded by an image encoding method compliant with the H.264 method.

図1は、第1の実施形態における符号化器100の構成例を示すブロック図である。
符号化器100は、符号化処理を行うコーデック部(符号化部)101、及び画像データを記憶する画像メモリ111、112、113を備える。画像メモリは、入力である符号化対象の画像データを記憶するビデオメモリ111、参照ピクチャを記憶するフレームメモリ112、及び符号化結果であるストリームを記憶するためのストリームバッファ113の3種類がある。このうち、ビデオメモリ111とフレームメモリ112は、非圧縮画像データを記憶するため、特に大きな容量が必要となる。
FIG. 1 is a block diagram illustrating a configuration example of an encoder 100 according to the first embodiment.
The encoder 100 includes a codec unit (encoding unit) 101 that performs an encoding process, and image memories 111, 112, and 113 that store image data. There are three types of image memories: a video memory 111 that stores input image data to be encoded, a frame memory 112 that stores reference pictures, and a stream buffer 113 that stores streams that are encoding results. Of these, the video memory 111 and the frame memory 112 store uncompressed image data, and thus require a particularly large capacity.

なお、3種類の画像メモリ111、112、113は、それぞれ異なるメモリチップで構成しても良いし、1つのメモリチップ内に各領域を割り振って構成しても良い。また、3種類の画像メモリ111、112、113は、そのなかの2種類の画像メモリを1つのメモリチップ内に各領域を割り振って構成し、残り1種類の画像メモリを独立したメモリチップで構成しても良い。   The three types of image memories 111, 112, and 113 may be configured by different memory chips, or may be configured by allocating each area in one memory chip. The three types of image memories 111, 112, and 113 are configured by allocating each of the two types of image memories in one memory chip and the remaining one type of image memory with independent memory chips. You may do it.

コーデック部101は、主な符号化機能を内蔵しており、スケーリング部102、動き推定部103、エントロピー符号化部104、及び局所復号部105を有し構成される。スケーリング部102は、ビデオメモリ111より読み出した符号化対象画像データを離散コサイン変換(DCT:Discrete Cosine Transform)し、さらに量子化する。スケーリング部102は、量子化した符号化対象画像データを、エントロピー符号化部104及び局所復号部105に出力する。スケーリング部102での処理においては、動き補償予測を行う場合、動き推定部103での処理結果が参照される。   The codec unit 101 includes a main encoding function, and includes a scaling unit 102, a motion estimation unit 103, an entropy encoding unit 104, and a local decoding unit 105. The scaling unit 102 performs discrete cosine transform (DCT) on the encoding target image data read from the video memory 111 and further quantizes the data. The scaling unit 102 outputs the quantized encoding target image data to the entropy encoding unit 104 and the local decoding unit 105. In the processing in the scaling unit 102, when motion compensation prediction is performed, the processing result in the motion estimation unit 103 is referred to.

動き推定部103は、ビデオメモリ111より読み出した符号化対象画像データ及びフレームメモリ112より読み出した参照ピクチャに基づいて動き検出を行うことで動き補償予測を行う。エントロピー符号化部104は、スケーリング部102で量子化された符号化対象画像データをエントロピー符号化し、ストリームバッファ113に供給する。局所復号部105は、スケーリング部102で量子化された符号化対象画像データに、逆量子化や逆DCT変換等の復号処理を施す。局所復号部105は、符号化された画像データを局所的に復号して得られた画像データを参照ピクチャとしてフレームメモリ112に記憶させる。   The motion estimation unit 103 performs motion compensation prediction by performing motion detection based on the encoding target image data read from the video memory 111 and the reference picture read from the frame memory 112. The entropy encoding unit 104 entropy encodes the encoding target image data quantized by the scaling unit 102 and supplies the encoded image data to the stream buffer 113. The local decoding unit 105 performs decoding processing such as inverse quantization and inverse DCT transform on the encoding target image data quantized by the scaling unit 102. The local decoding unit 105 stores the image data obtained by locally decoding the encoded image data in the frame memory 112 as a reference picture.

図2は、コーデック部(符号化部)101の機能的構成を示すブロック図である。
図2に示すように、入力された符号化対象の画像データは、マクロブロックに分けられ、減算器201で予測値との差分を求め、DCT変換部202で整数DCT変換される。さらに、量子化部203で量子化された後、差分画像データとしてエントロピー符号化215に供給されるとともに、逆量子化部204に供給される。
FIG. 2 is a block diagram illustrating a functional configuration of the codec unit (encoding unit) 101.
As shown in FIG. 2, the input image data to be encoded is divided into macro blocks, a subtracter 201 obtains a difference from the predicted value, and a DCT transform unit 202 performs integer DCT transform. Further, after being quantized by the quantization unit 203, the difference image data is supplied to the entropy encoding 215 and also supplied to the inverse quantization unit 204.

逆量子化部204に供給された画像データは、逆量子化部204で逆量子化された後、逆DCT変換部205で逆整数DCT変換され、加算器206で予測値が加えられ画像が復元される。加算器206の出力は、イントラ予測のためのフレームメモリ207に送られるとともに、デブロッキングフィルター処理を施すデブロッキングフィルター処理部209を介してインター予測のためのフレームメモリ210に送られる。   The image data supplied to the inverse quantization unit 204 is inversely quantized by the inverse quantization unit 204, and then subjected to inverse integer DCT conversion by the inverse DCT conversion unit 205, and the predicted value is added by the adder 206 to restore the image Is done. The output of the adder 206 is sent to the frame memory 207 for intra prediction and also sent to the frame memory 210 for inter prediction via a deblocking filter processing unit 209 that performs deblocking filter processing.

イントラ予測のためのフレームメモリ207内の画像は、イントラ予測部208でのイントラ予測で使用される。イントラ予測では、同一ピクチャ内で、既に符号化されたブロックの隣接画素の値が予測値として用いられる。   An image in the frame memory 207 for intra prediction is used for intra prediction in the intra prediction unit 208. In intra prediction, the value of an adjacent pixel of an already encoded block is used as a prediction value in the same picture.

インター予測のためのフレームメモリ210内の画像は、後述するように複数のピクチャで構成され、そのピクチャが2つの参照リストList0とList1に分けられている。フレームメモリ210内の画像は、インター予測部211でのインター予測で使用され、予測後はメモリコントローラー213によって、内部の画像が更新される。インター予測では、フレームの異なる画像データに対して、動き推定部212が動き検出を行って最適な動きベクトルを求めて予測画像を決定する。   An image in the frame memory 210 for inter prediction is composed of a plurality of pictures as will be described later, and the pictures are divided into two reference lists List0 and List1. The image in the frame memory 210 is used in the inter prediction in the inter prediction unit 211, and the internal image is updated by the memory controller 213 after the prediction. In inter prediction, the motion estimation unit 212 performs motion detection on image data having different frames, and obtains an optimal motion vector to determine a predicted image.

イントラ予測とインター予測の結果、選択部214で最適な予測が選択され、イントラ予測モード又は予測ベクトルが、エントロピー符号化部215に供給され、差分画像データとともに符号化されて出力ビットストリームが形成される。   As a result of the intra prediction and the inter prediction, the selection unit 214 selects an optimal prediction, and the intra prediction mode or the prediction vector is supplied to the entropy encoding unit 215 and is encoded together with the difference image data to form an output bit stream. The

以下、一般的なH.264方式での符号化順序及び符号化方法について説明する。
まず、H.264方式での画像データの符号化順序を、図3を用いて説明する。
ここでは、イントラ予測のみを行うIピクチャ、前方向予測のみを行うPピクチャ、及び双方向予測を行うBピクチャの割合が、Iピクチャが15フレーム間隔、Pピクチャが3フレーム間隔、その間のBピクチャが2フレームである場合で説明する。
Hereinafter, the general H.P. An encoding order and an encoding method in the H.264 scheme will be described.
First, H. The encoding order of image data in the H.264 system will be described with reference to FIG.
Here, the ratio of an I picture that performs only intra prediction, a P picture that performs only forward prediction, and a B picture that performs bi-directional prediction is as follows: an I picture has an interval of 15 frames, and a P picture has an interval of 3 frames. The case where is 2 frames will be described.

図3においては、画像データに係る表示順序、符号化順序、及び出力ビットストリーム上での配置を示しており、四角の中にはピクチャの種類と表示順を示す番号を記入してある。例えば、I15は表示順が15番目のIピクチャであり、P18は表示順が18番目のPピクチャであり、B16は表示順が16番目のBピクチャである。符号化を行う順序は表示順序と異なり、予測を行う順に符号化を行う。すなわち、図3に示した例では、I15,P18,B16,B17,P21,B19,B20,…といった順に符号化され、出力ストリーム上はこの順序で配置される。   FIG. 3 shows a display order, an encoding order, and an arrangement on the output bitstream relating to image data, and numbers indicating picture types and display order are entered in the squares. For example, I15 is the 15th I picture in the display order, P18 is the 18th P picture in the display order, and B16 is the 16th B picture in the display order. The order of encoding is different from the display order, and encoding is performed in the order of prediction. That is, in the example shown in FIG. 3, encoding is performed in the order of I15, P18, B16, B17, P21, B19, B20, and so on, and the output stream is arranged in this order.

この場合の参照リストの一例を図4に示す。インター予測に使用する参照リストは、符号化対象ピクチャの種類によって異なっている。符号化対象ピクチャがPピクチャである場合には、参照リストList0のみを使用して、主に前方向予測を行う。符号化対象ピクチャがBピクチャである場合には、参照リストList0及びList1を用いて、双方向予測(又は前方あるいは後方のみの予測)を行う。   An example of the reference list in this case is shown in FIG. The reference list used for inter prediction differs depending on the type of picture to be encoded. When the picture to be encoded is a P picture, forward prediction is mainly performed using only the reference list List0. When the encoding target picture is a B picture, bi-directional prediction (or prediction only forward or backward) is performed using the reference lists List0 and List1.

すなわち、参照リストList0には主に前方向予測のための参照ピクチャが格納され、参照リストList1には主に後方向予測のための参照ピクチャが格納される。図4には、表示順が21番目のPピクチャであるピクチャP21でインター予測を行う場合を示している。各参照リストには最大5枚の参照ピクチャを割り当てられるようにしている。   That is, the reference list List0 mainly stores reference pictures for forward prediction, and the reference list List1 mainly stores reference pictures for backward prediction. FIG. 4 shows a case where inter prediction is performed on the picture P21 which is the 21st P picture in the display order. A maximum of five reference pictures can be assigned to each reference list.

図4における401はピクチャP21でインター予測を行う時に参照リスト(List0)に格納されている参照ピクチャの例である。参照リスト内には既に符号化が終わって復号化されたピクチャが格納されている。この例では、ピクチャP06,P09,P12,I15,P18が参照リストに収められている。   401 in FIG. 4 is an example of a reference picture stored in the reference list (List0) when inter prediction is performed on the picture P21. In the reference list, pictures that have already been encoded and decoded are stored. In this example, pictures P06, P09, P12, I15, and P18 are stored in the reference list.

インター予測では、マクロブロック毎に、参照リスト中の参照ピクチャ内から最適な予測値をもつ動きベクトルを求め、予測したブロックとの差分値を求めて符号化する。参照リスト内のピクチャは、参照ピクチャ番号が順に与えられて区別される(図示した番号とは別に与えられる)。ピクチャP21の符号化が終わると、参照リストからは最も古い参照ピクチャ(この例ではピクチャP06)が参照リストから除去され、新たにピクチャP21が復号化されて参照リストに追加される。符号化は、図3に示したように、この後ピクチャB19,B20と行われ、さらにピクチャP24へと続く。   In inter prediction, for each macroblock, a motion vector having an optimal prediction value is obtained from the reference picture in the reference list, and a difference value from the predicted block is obtained and encoded. Pictures in the reference list are distinguished by being sequentially assigned reference picture numbers (provided separately from the numbers shown). When the encoding of the picture P21 is completed, the oldest reference picture (picture P06 in this example) is removed from the reference list from the reference list, and the picture P21 is newly decoded and added to the reference list. As shown in FIG. 3, the encoding is thereafter performed with pictures B19 and B20, and further continues to picture P24.

図5は、参照リストの変化の様子を符号化対象ピクチャ毎に示した図である。図5においては、符号化されるピクチャ順に上から下へと、符号化処理中のピクチャと参照リストList0及びList1の内容を示してある。図5に示すようにPピクチャ(又はIピクチャ)が符号化されると、参照リストが更新され、その符号化されたピクチャが復号されて加えられるとともに、参照リスト中の最も古いピクチャが除去されている。なお、図5に示す例では、参照リストList1は1つのピクチャしか有していないが、これは後方参照を多くすると復号までのバッファ量が増えてしまうため、あまり離れた後方ピクチャの参照を避けたためである。   FIG. 5 is a diagram showing a change in the reference list for each encoding target picture. In FIG. 5, the picture being encoded and the contents of the reference lists List0 and List1 are shown from top to bottom in the order of pictures to be encoded. As shown in FIG. 5, when a P picture (or I picture) is encoded, the reference list is updated, the encoded picture is decoded and added, and the oldest picture in the reference list is removed. ing. In the example shown in FIG. 5, the reference list List1 has only one picture. However, if the back reference is increased, the buffer amount until decoding increases. This is because.

図5に示す例では、Iピクチャ又はPピクチャを符号化した後、参照リストの更新を行っているが、H.264方式の規格では、Iピクチャ又はPピクチャに限らず、Bピクチャも参照リストに加えることができる。また、Iピクチャ又はPピクチャであっても、参照リストに加えないこともできる。すなわち、参照リストの更新は、任意のピクチャで行われることになる。逆に、参照リストの更新が行われなければ、参照リストは変化しない。実用的には、Iピクチャ又はPピクチャが一定の周期で設定され、そのIピクチャ又はPピクチャにより、参照リストの更新も周期的に行われるように設定される場合が多い。   In the example shown in FIG. 5, the reference list is updated after the I picture or P picture is encoded. In the H.264 standard, not only an I picture or a P picture but also a B picture can be added to the reference list. Further, even an I picture or a P picture can be excluded from the reference list. That is, the update of the reference list is performed for an arbitrary picture. Conversely, if the reference list is not updated, the reference list does not change. In practice, an I picture or P picture is set at a constant cycle, and the I list or P picture is often set so that the reference list is also updated periodically.

ここで、マクロブロック毎のインター予測について、図6を用いて詳細に説明する。
図6において、601は符号化対象ピクチャ、602〜605は参照リスト内の参照ピクチャである。H.264方式でのインター予測では、マクロブロック毎に参照リスト内の参照ピクチャを選択できる。すなわち、図6に示すように、符号化対象ピクチャ601におけるマクロブロック606では参照ピクチャ602を参照し、マクロブロック607では参照ピクチャ604を参照し、マクロブロック608では参照ピクチャ603をそれぞれ参照している。
Here, the inter prediction for every macroblock is demonstrated in detail using FIG.
In FIG. 6, reference numeral 601 denotes an encoding target picture, and reference numerals 602 to 605 denote reference pictures in the reference list. H. In the inter prediction in the H.264 system, a reference picture in the reference list can be selected for each macroblock. That is, as shown in FIG. 6, the macroblock 606 in the encoding target picture 601 refers to the reference picture 602, the macroblock 607 refers to the reference picture 604, and the macroblock 608 refers to the reference picture 603. .

なお、H.264方式のインター予測は、16×16画素のマクロブロックを単位に行うが、このマクロブロックを更に小さいサブマクロブロックに分割して予測を行うことも可能となっている。この場合、1つのマクロブロックにインター予測により求まる最適な動きベクトルが複数決定されることになる。以下では簡単のため、サブマクロブロックに分割せずに、16×16画素のマクロブロックに対してインター予測により1つの最適な動きベクトルが決定される場合で説明する。   H. H.264 inter prediction is performed in units of 16 × 16 pixel macroblocks, but it is also possible to perform prediction by dividing the macroblock into smaller sub-macroblocks. In this case, a plurality of optimum motion vectors obtained by inter prediction are determined for one macroblock. Hereinafter, for the sake of simplicity, a case will be described where one optimal motion vector is determined by inter prediction for a macroblock of 16 × 16 pixels without being divided into sub-macroblocks.

インター予測におけるマクロブロックと参照ピクチャ上の探索範囲について、図7〜図9を参照して説明する。
図7は、符号化対象ピクチャB19についてのマクロブロックと参照ピクチャの探索範囲の一例を示す図である。符号化対象ピクチャB19を符号化する際、参照リストはList0とList1で構成されており、参照リストList0には参照ピクチャP09,P12,I15,P18が格納され、参照List1には参照ピクチャP21が格納されている。
The search range on the macroblock and the reference picture in the inter prediction will be described with reference to FIGS.
FIG. 7 is a diagram illustrating an example of a search range of macroblocks and reference pictures for the encoding target picture B19. When the encoding target picture B19 is encoded, the reference list is composed of List0 and List1, reference pictures P09, P12, I15, and P18 are stored in the reference list List0, and reference picture P21 is stored in the reference List1. Has been.

図7に示すように、符号化対象ピクチャB19上の1つのマクロブロックMBAに対して、各参照ピクチャ上に探索範囲が設定される。参照ピクチャP09については探索範囲S09Aが設定され、参照ピクチャP12については探索範囲S12Aが設定され、参照ピクチャI15については探索範囲S15Aが設定されている。また、参照ピクチャP18については探索範囲S18Aが設定され、参照ピクチャP21については探索範囲S21Aが設定されている。   As shown in FIG. 7, a search range is set on each reference picture for one macroblock MBA on the encoding target picture B19. A search range S09A is set for the reference picture P09, a search range S12A is set for the reference picture P12, and a search range S15A is set for the reference picture I15. Further, the search range S18A is set for the reference picture P18, and the search range S21A is set for the reference picture P21.

H.264方式では、マクロブロックのサイズは16×16画素である。探索範囲については、マクロブロックより大きめの範囲が割り当てられ、通常マクロブロックの数倍の大きさで、例えば32×32画素ほどの範囲である。また、探索範囲の位置は、各参照ピクチャで同一である必要はなく、既に行われた探索結果などから異なる位置であっても良い。マクロブロックMBAは、各探索範囲(S09A,S12A,S15A,S18A,S21A)に対して動き予測が行われ、最適な動きベクトルが決定される。   H. In the H.264 system, the size of a macroblock is 16 × 16 pixels. As for the search range, a larger range than the macro block is assigned, and is usually several times larger than the macro block, for example, a range of about 32 × 32 pixels. In addition, the position of the search range does not have to be the same for each reference picture, and may be a position that is different from a search result that has already been performed. In the macro block MBA, motion prediction is performed for each search range (S09A, S12A, S15A, S18A, S21A), and an optimal motion vector is determined.

同様に、符号化対象ピクチャB20についてのマクロブロックと参照ピクチャの探索範囲を図8に示し、符号化対象ピクチャP24についてのマクロブロックと参照ピクチャの探索範囲を図9に示す。   Similarly, FIG. 8 shows a search range of macroblocks and reference pictures for the encoding target picture B20, and FIG. 9 shows a search range of macroblocks and reference pictures for the encoding target picture P24.

図8に示すように、符号化対象ピクチャB20を符号化する際、参照リストはList0とList1で構成されている。符号化対象ピクチャB20上のマクロブロックMBBに対して、各参照ピクチャに探索範囲S09B,S12B,S15B,S18B,S21Bが設定されている。また、図9に示すように、符号化対象ピクチャP24を符号化する際、参照リストはList0のみで構成されている。符号化対象ピクチャP24上のマクロブロックMBCに対して、各参照ピクチャに探索範囲S09C,S12C,S15C,S18C,S21Cが設定されている。   As shown in FIG. 8, when encoding the encoding target picture B20, the reference list includes List0 and List1. Search ranges S09B, S12B, S15B, S18B, and S21B are set in each reference picture for the macroblock MBB on the encoding target picture B20. Also, as shown in FIG. 9, when encoding the encoding target picture P24, the reference list is composed of only List0. Search ranges S09C, S12C, S15C, S18C, and S21C are set in each reference picture for the macroblock MBC on the encoding target picture P24.

ここで、参照リスト内の各参照ピクチャに設定される探索範囲は、符号化対象ピクチャが異なればその位置が異なっても構わない。例えば、図7〜図9に示した参照ピクチャP09で、マクロブロックMBA,MBB,MBCに対して探索範囲S09A,S09B,S09Cが設定されるが、それぞれ異なる範囲となっても良い。通常は、近接した範囲が設定されることが多い。   Here, the search range set for each reference picture in the reference list may have a different position if the encoding target picture is different. For example, in the reference picture P09 shown in FIGS. 7 to 9, the search ranges S09A, S09B, and S09C are set for the macroblocks MBA, MBB, and MBC, but they may be different ranges. Usually, a close range is often set.

本実施形態における符号化器でインター予測を行う場合のデータの動きについて、図10を参照して説明する。
符号化対象画像データにおける符号化するマクロブロックMBのデータが、ビデオメモリ1001からインター予測部1002に読み込まれる。また、参照ピクチャ内の探索範囲Sの画像データがフレームメモリ1003からインター予測部1002に読み込まれる。
A data movement when inter prediction is performed by the encoder according to the present embodiment will be described with reference to FIG.
Data of the macro block MB to be encoded in the encoding target image data is read from the video memory 1001 to the inter prediction unit 1002. Also, image data in the search range S in the reference picture is read from the frame memory 1003 into the inter prediction unit 1002.

インター予測部1002は、読み込まれたマクロブロックMBのデータと探索範囲Sのデータを差分誤差などで比較し、探索範囲Sにおける最適な動きベクトルを求める。1つの参照ピクチャの探索範囲Sについて処理が終了したら、次の参照ピクチャの探索範囲Sにおける最適な動きベクトルを求める。すべての参照ピクチャの探索範囲について処理が終了すると、そのマクロブロックについて、すべての参照ピクチャの中で最適な動きベクトルが決まる。   The inter prediction unit 1002 compares the read data of the macroblock MB and the data of the search range S with a difference error or the like, and obtains an optimal motion vector in the search range S. When the process is completed for the search range S of one reference picture, an optimal motion vector in the search range S of the next reference picture is obtained. When the processing is completed for the search range of all reference pictures, an optimal motion vector is determined for all the reference pictures for the macroblock.

1つのマクロブロックの予測処理が終了すると、ビデオメモリ1001からは次のマクロブロックのデータがインター予測部1002に読み込まれ、フレームメモリ1003からは次の探索範囲の画像データがインター予測部1002に読み込まれる。符号化対象画像データ内のすべてのマクロブロックで動きベクトルが求まったら、次の画像データの処理に移る。この際、参照リスト内の参照ピクチャを更新する場合もある。   When the prediction process for one macroblock is completed, the data of the next macroblock is read from the video memory 1001 into the inter prediction unit 1002, and the image data of the next search range is read from the frame memory 1003 into the inter prediction unit 1002. It is. When motion vectors are obtained for all the macroblocks in the encoding target image data, the processing proceeds to the next image data. At this time, the reference picture in the reference list may be updated.

以上をまとめて、インター予測に関する処理の流れを、図11を参照して説明する。
図11は、インター予測に関する処理の流れを示すフローチャートである。
インター予測が開始されると、コーデック部は、符号化対象ピクチャにおいてインター予測を行うマクロブロックを決定し(1101)、そのマクロブロックのデータをビデオメモリ1001から読み込む(1102)。次に、コーデック部は、参照リスト内の参照ピクチャを決定し(1103)、決定した参照ピクチャの探索範囲の画像データをフレームメモリから読み込む(1104)。
In summary, the flow of processing related to inter prediction will be described with reference to FIG.
FIG. 11 is a flowchart showing a flow of processing related to inter prediction.
When the inter prediction is started, the codec unit determines a macroblock for which inter prediction is performed in the encoding target picture (1101), and reads data of the macroblock from the video memory 1001 (1102). Next, the codec unit determines a reference picture in the reference list (1103), and reads image data in the search range of the determined reference picture from the frame memory (1104).

コーデック部は、読み込んだマクロブロックのデータと探索範囲のデータを用いて動き予測を行い(1105)、この探索範囲内での最適な動きベクトルを決定する(1106)。続いて、次の参照ピクチャを決定し、同様にして動きベクトルを求める。コーデック部は、参照リスト内のすべての参照ピクチャを参照し、このマクロブロックの参照ピクチャ間での最適な動きベクトルを決定する(1107)。   The codec unit performs motion prediction using the read macroblock data and search range data (1105), and determines an optimal motion vector within the search range (1106). Subsequently, the next reference picture is determined, and the motion vector is obtained in the same manner. The codec section refers to all reference pictures in the reference list, and determines an optimal motion vector between the reference pictures of this macroblock (1107).

そして、コーデック部は、1つのマクロブロックの予測が終了したら次のマクロブロックの動き予測に移る。その後、符号化対象ピクチャ内のすべてのマクロブロックで処理が終了したら、その符号化対象ピクチャについてインター予測は終了となる。   Then, when the prediction of one macroblock is completed, the codec unit moves to motion prediction of the next macroblock. Thereafter, when the processing is completed for all the macroblocks in the encoding target picture, the inter prediction is ended for the encoding target picture.

インター予測を行う際、フレームメモリから読み出すデータの量は、符号化対象ピクチャのすべてのマクロブロックのインター予測を行うための探索範囲のデータでよく、必ずしも参照ピクチャのすべてのデータを読むとは限らない。ただし、通常、探索範囲は、符号化対象のマクロブロックに近接した位置となるので、参照ピクチャのほとんどすべてのデータを探索することとなる。すなわち、フレームメモリからは、1つの符号化対象ピクチャに対して、参照リスト内のすべての参照ピクチャのデータが読み出される。また、インター予測の際、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値(上限)となる。   When performing inter prediction, the amount of data read from the frame memory may be data in the search range for performing inter prediction of all macroblocks of the encoding target picture, and does not necessarily read all data of the reference picture. Absent. However, since the search range is usually a position close to the macro block to be encoded, almost all data of the reference picture is searched. That is, the data of all reference pictures in the reference list is read from the frame memory for one picture to be encoded. In addition, the amount of data read from the frame memory at the time of inter prediction is the maximum value (upper limit) of the data amounts of all reference pictures in the frame memory.

ここで、フレームメモリからコーデック部に読み込まれるピクチャについて、図5に示したピクチャB19,B20,P24の3枚のピクチャを符号化する場合を一例として説明する。この場合、符号化対象ピクチャB19は、直前に符号化されたピクチャP21によって参照リストが更新された次の符号化対象ピクチャであり、符号化対象ピクチャP24は次に参照リストに追加される予定のピクチャである。したがって、各ピクチャB19,B20,P24を符号化する際には、図5に示したように参照リスト内の参照ピクチャの変化はない。各ピクチャB19,B20,P24は、参照リストList0とList1の区別を考慮しなければ、参照リスト中の参照ピクチャP09,P12,I15,P18,P21を参照してインター予測が行われる。   Here, a case where three pictures of pictures B19, B20, and P24 shown in FIG. 5 are encoded will be described as an example for pictures read from the frame memory into the codec section. In this case, the encoding target picture B19 is the next encoding target picture whose reference list is updated by the picture P21 encoded immediately before, and the encoding target picture P24 is scheduled to be added to the reference list next. It is a picture. Therefore, when the pictures B19, B20, and P24 are encoded, there is no change in the reference picture in the reference list as shown in FIG. Each picture B19, B20, and P24 is inter-predicted with reference to the reference pictures P09, P12, I15, P18, and P21 in the reference list unless the distinction between the reference lists List0 and List1 is considered.

この様子を図12に模式的に示す。図12においては、時間軸方向(ピクチャB19からピクチャP24に向かう方向)に時間が経過し処理が進むことを示している。すなわち、符号化対象であるビデオメモリ上の画像は、ピクチャB19,B20,P24と順次移行していく。各ピクチャの符号化処理は、1フレーム単位内に終了する必要がある。ここで、1フレーム単位は、パイプライン処理を行わない場合には1フレーム時間と等価である考えて良い。   This is schematically shown in FIG. FIG. 12 shows that the processing proceeds with the passage of time in the time axis direction (the direction from the picture B19 to the picture P24). That is, the image on the video memory to be encoded sequentially shifts to pictures B19, B20, and P24. The encoding process of each picture needs to be completed within one frame unit. Here, one frame unit may be considered equivalent to one frame time when pipeline processing is not performed.

まず、符号化対象ピクチャB19が符号化される。コーデック部は、ビデオメモリからマクロブロックMBAのデータを読み出す。また、コーデック部は、それに対応する各参照ピクチャP09,P12,I15,P18,P21の探索範囲S09A,S12A,S15A,S18A,S21Aの画像データを順次フレームメモリから読み出す。コーデック部は、この探索範囲についてインター予測を行い、1つの動きベクトルmvAを求める。この処理を符号化対象ピクチャB19のすべてのマクロブロックについて行う。   First, the encoding target picture B19 is encoded. The codec unit reads the data of the macro block MBA from the video memory. Further, the codec section sequentially reads out the image data of the search ranges S09A, S12A, S15A, S18A, and S21A of the respective reference pictures P09, P12, I15, P18, and P21 from the frame memory. The codec section performs inter prediction on the search range to obtain one motion vector mvA. This process is performed for all macroblocks of the encoding target picture B19.

その後、コーデック部は、次の符号化対象ピクチャB20の処理に移る。符号化対象ピクチャB20についても同様に、コーデック部は、マクロブロックMBBのデータ及び探索範囲S09B,S12B,S15B,S18B,S21Bの画像データを読み出す。そして、コーデック部は、この探索範囲でのインター予測により動きベクトルmvBを求める。   Thereafter, the codec section moves to processing of the next encoding target picture B20. Similarly, for the encoding target picture B20, the codec section reads the data of the macroblock MBB and the image data of the search ranges S09B, S12B, S15B, S18B, and S21B. Then, the codec unit obtains a motion vector mvB by inter prediction in this search range.

コーデック部は、符号化対象ピクチャB20のすべてのマクロブロックのインター予測が終了したら、次に符号化対象ピクチャP24の処理に移る。符号化対象ピクチャP24についても同様に、コーデック部は、マクロブロックMBCのデータ及び探索範囲S09C,S12C,S15C,S18C,S21Cの画像データを読み出し、インター予測により動きベクトルmvCを求める。符号化対象ピクチャP24のすべてのマクロブロックのインター予測が終了すると、符号化対象ピクチャP24が符号化される。コーデック部は、符号化されたピクチャP24を復号して参照リストに追加し、参照リストを更新する。   When the inter prediction of all the macroblocks of the encoding target picture B20 is completed, the codec unit next proceeds to processing of the encoding target picture P24. Similarly, for the encoding target picture P24, the codec section reads the data of the macroblock MBC and the image data of the search ranges S09C, S12C, S15C, S18C, and S21C, and obtains the motion vector mvC by inter prediction. When the inter prediction of all the macroblocks of the encoding target picture P24 is completed, the encoding target picture P24 is encoded. The codec unit decodes the encoded picture P24, adds it to the reference list, and updates the reference list.

図12に示すように、1つの符号化対象ピクチャを処理する際、フレームメモリからは5枚の参照ピクチャの画像データが順次読み込まれる。したがって、図12に示した3枚の符号化対象ピクチャB19,B20,P24を符号化する際には、フレームメモリから各5枚、総計15ピクチャ分の画像データが読み込まれることになる。   As shown in FIG. 12, when one picture to be encoded is processed, image data of five reference pictures are sequentially read from the frame memory. Therefore, when the three encoding target pictures B19, B20, and P24 shown in FIG. 12 are encoded, the image data for a total of 15 pictures is read from each of the five frames.

上述した処理フローを簡単にまとめると、図13に示した流れとなる。すなわち、符号化対象ピクチャP21の符号化終了後、参照リストの更新が行われて、その後符号化対象ピクチャB19、B20,P24と順次符号化され、符号化対象ピクチャP24の符号化後に参照リストの更新が行われる。各符号化対象ピクチャの符号化処理は、それぞれ図11に示した流れで、マクロブロック読み込み、探索範囲読み込み、動き予測、ベクトル決定等の処理を順次行い、順次ストリームを出力している。   If the processing flow mentioned above is put together simply, it will become the flow shown in FIG. That is, after the encoding of the encoding target picture P21 is completed, the reference list is updated, and thereafter the encoding target pictures B19, B20, and P24 are sequentially encoded. After the encoding target picture P24 is encoded, the reference list is updated. Updates are made. The encoding process for each encoding target picture is performed in the order shown in FIG. 11, sequentially performing macroblock reading, search range reading, motion prediction, vector determination, and the like, and sequentially outputs a stream.

ここで、上述のように符号化手順をパイプライン化し画像データを符号化するものがあるが、複数のパイプラインで複数のピクチャを処理しているとしても、1つの単位時間(フレーム時間)の中ではピクチャに対する一連の処理がすべて行われていることになる。すなわち、1つの符号化対象ピクチャでインター予測を行う場合には、参照リスト内の参照ピクチャをすべてアクセスしている。また、フレーム時間をまたがるパイプライン処理を行うとしても、参照リストに追加する予定のピクチャの符号化処理は、次のピクチャのインター予測を行う前に終了していなければ、インター予測で最適な動きベクトルを決定できない。したがって、パイプライン化されていても、図12に示したように1フレームという処理単位で、各参照ピクチャを読み出すことに変わりはない。すなわち、3枚の符号化対象ピクチャを符号化する場合には、3フレーム時間内に各符号化対象ピクチャについてフレームメモリから各5枚、総計15ピクチャ分の画像データが読み込まれていることとなる。以上説明した様に、H.264の一般的な符号化順序及び符号化方式では、フレームメモリに対するアクセス量が多い。   Here, as described above, there are some which encode the image data by pipelining the encoding procedure. Even if a plurality of pictures are processed in a plurality of pipelines, one unit time (frame time) In the inside, all the series of processes for the picture are performed. That is, when inter prediction is performed with one encoding target picture, all reference pictures in the reference list are accessed. Even if pipeline processing that extends over the frame time is performed, if the encoding process of a picture to be added to the reference list is not completed before inter prediction of the next picture is performed, the optimal motion in inter prediction is achieved. The vector cannot be determined. Therefore, even if pipeline processing is performed, each reference picture is read out in units of processing of one frame as shown in FIG. That is, when encoding three encoding target pictures, image data for a total of 15 pictures is read from the frame memory for each encoding target picture within three frame times. . As explained above, H.C. In the general encoding order and encoding method of H.264, the access amount to the frame memory is large.

そこで、第1の実施形態における符号化器では、複数の符号化対象ピクチャのインター予測を並列的に行うことで、フレームメモリから参照ピクチャを読み込むためのアクセス量を削減するようにしている。例えば、3枚の符号化対象ピクチャB19、B20、P24を符号化する場合に、参照ピクチャの画像データを総計15枚分読み込むのではなく、5ピクチャ分読み込むだけで3枚の符号化対象ピクチャB19、B20、P24についてのインター予測を行う。   Therefore, the encoder in the first embodiment reduces the access amount for reading the reference picture from the frame memory by performing inter prediction of a plurality of encoding target pictures in parallel. For example, when three encoding target pictures B19, B20, and P24 are encoded, three encoding target pictures B19 are read only by reading five pictures instead of reading a total of fifteen reference picture image data. , B20 and P24 are inter-predicted.

第1の実施形態における符号化器での符号化手順について説明する。
以下、説明の都合上、図14に示すように、Iピクチャが15フレーム間隔、Pピクチャが3フレーム間隔、その間のBピクチャが2フレームで構成され、Iピクチャ及びPピクチャを符号化後、参照リストに加える場合を一例に説明する。
An encoding procedure in the encoder according to the first embodiment will be described.
For convenience of explanation, as shown in FIG. 14, the I picture is composed of 15 frames, the P picture is composed of 3 frames, and the B picture is composed of 2 frames. An example of adding to the list will be described.

図14は、第1の実施形態における符号化処理の順序を説明するための図である。図14においては、画像データに係る表示順序、符号化順序、及び出力ビットストリーム上での配置を示している。   FIG. 14 is a diagram for explaining the order of the encoding processing according to the first embodiment. FIG. 14 shows a display order, an encoding order, and an arrangement on the output bit stream related to image data.

本実施形態では、コーデック部は、図14に示すように3枚の符号化対象ピクチャの符号化処理を並列的に行う。例えば、3枚の符号化対象ピクチャB19,B20,P24は、直前の3枚の符号化対象ピクチャB16,B17,P21を符号化した後、並列的に符号化処理を行う。そして、符号化処理後、通常の符号化順序である符号化対象ピクチャB19,B20,P24の順に直してストリーム化する。   In the present embodiment, the codec unit performs encoding processing of three encoding target pictures in parallel as shown in FIG. For example, three encoding target pictures B19, B20, and P24 are encoded in parallel after encoding the immediately preceding three encoding target pictures B16, B17, and P21. Then, after the encoding process, the encoding target pictures B19, B20, and P24, which are in the normal encoding order, are corrected in order and streamed.

図15は、図14に示すように符号化対象ピクチャを符号化する際の参照リストの様子を示した図である。符号化対象ピクチャB19,B20,P24を符号化する直前に、コーデック部により符号化対象ピクチャB16,B17,P21が符号化され、そのうち符号化されたピクチャP21が復号化されて参照リストに追加される。   FIG. 15 is a diagram illustrating a state of the reference list when the encoding target picture is encoded as illustrated in FIG. Immediately before encoding the encoding target pictures B19, B20, and P24, the encoding target pictures B16, B17, and P21 are encoded by the codec unit, and the encoded picture P21 is decoded and added to the reference list. The

すなわち、符号化対象ピクチャB16,B17,P21を符号化する際には、参照リストList0に参照ピクチャP06,P09,P12,I15,P18があり、参照リストList1に参照ピクチャP18がある。参照リスト内の参照ピクチャは、符号化対象ピクチャB16,B17,P21のインター予測にそれぞれ使用された後、参照リストList0からは最も古い参照ピクチャP06が削除され、参照リストList1からは最も古い参照ピクチャP18が削除される。また、符号化対象ピクチャB16,B17,P21の符号化後、符号化されたピクチャP21が復号され参照ピクチャとしてそれぞれの参照リストに追加される。   That is, when encoding the encoding target pictures B16, B17, and P21, the reference list List0 includes the reference pictures P06, P09, P12, I15, and P18, and the reference list List1 includes the reference picture P18. After the reference pictures in the reference list are respectively used for inter prediction of the encoding target pictures B16, B17, and P21, the oldest reference picture P06 is deleted from the reference list List0, and the oldest reference picture from the reference list List1. P18 is deleted. In addition, after encoding the encoding target pictures B16, B17, and P21, the encoded picture P21 is decoded and added to each reference list as a reference picture.

符号化対象ピクチャB19,B20,P24の符号化処理において、符号化対象ピクチャB19及びB20はBピクチャであるから、そのインター予測では参照リストList0及びList1を使用する。すなわち、参照リストList0の参照ピクチャP09,P12,I15,P18の4枚と、参照リストList1の参照ピクチャP21の1枚との、計5枚の参照ピクチャを参照する。なお、参照リストList0の参照ピクチャP21は、参照リストList1と重複するので参照する必要は少ない。また、符号化対象ピクチャP24はPピクチャであるから、そのインター予測では参照リストList0のみを使用し、参照ピクチャP09,P12,I15,P18,P21の5枚の参照ピクチャを参照する。   In the encoding process of the encoding target pictures B19, B20, and P24, since the encoding target pictures B19 and B20 are B pictures, the inter predictions use the reference lists List0 and List1. That is, reference is made to a total of five reference pictures, that is, four reference pictures P09, P12, I15, and P18 in the reference list List0 and one reference picture P21 in the reference list List1. Note that the reference picture P21 in the reference list List0 overlaps with the reference list List1, and therefore need not be referred to. In addition, since the encoding target picture P24 is a P picture, only the reference list List0 is used in the inter prediction, and the five reference pictures P09, P12, I15, P18, and P21 are referred to.

つまり、符号化対象ピクチャB19,B20,P24に係るインター予測で参照するピクチャは、参照ピクチャP09,P12,I15,P18,P21の5枚であり、これがフレームメモリ内に記憶されていることになる。参照ピクチャP21が参照リストList0となるかList1となるかの違いはあるが、ピクチャP21の画像データ自体に変化はなく、符号化対象ピクチャB19,B20,P24を符号化する際、フレームメモリ内の参照ピクチャの数及び種類は一定である。フレームメモリ内の参照ピクチャが、次に更新されるのは、符号化対象ピクチャP24を符号化後、符号化されたピクチャP24を復号した後である。   That is, there are five reference pictures P09, P12, I15, P18, and P21 that are referred to in the inter prediction related to the encoding target pictures B19, B20, and P24, and these are stored in the frame memory. . Although there is a difference whether the reference picture P21 becomes the reference list List0 or List1, there is no change in the image data itself of the picture P21, and when the encoding target pictures B19, B20, and P24 are encoded, The number and type of reference pictures are constant. The reference picture in the frame memory is updated next after encoding the encoding target picture P24 and after decoding the encoded picture P24.

次に、図16及び図17を参照して、本実施形態においてインター予測を並列に行う際の各参照ピクチャの探索範囲について説明する。符号化対象ピクチャB19のマクロブロックMBA、符号化対象ピクチャB20のマクロブロックMBB、及び符号化対象ピクチャP24のマクロブロックMBCに係るインター予測を並列的に行う場合を一例として説明する。   Next, with reference to FIG. 16 and FIG. 17, a search range of each reference picture when performing inter prediction in the present embodiment will be described. A case will be described as an example where inter prediction related to the macroblock MBA of the encoding target picture B19, the macroblock MBB of the encoding target picture B20, and the macroblock MBC of the encoding target picture P24 is performed in parallel.

本実施形態では、各マクロブロックMBA,MBB,MCCの探索範囲として、共通する探索範囲が参照ピクチャに割り当てられる。例えば、参照ピクチャP09については探索範囲S09が設定され、参照ピクチャP12については探索範囲S12が設定され、参照ピクチャI15については探索範囲S15が設定される。また、参照ピクチャP18については探索範囲S18が設定され、参照ピクチャP21については探索範囲S21が設定される。   In the present embodiment, a common search range is assigned to the reference picture as the search range of each macroblock MBA, MBB, and MCC. For example, the search range S09 is set for the reference picture P09, the search range S12 is set for the reference picture P12, and the search range S15 is set for the reference picture I15. Further, the search range S18 is set for the reference picture P18, and the search range S21 is set for the reference picture P21.

ここで、参照ピクチャに設定される探索範囲は、図17に示すように従来の符号化対象ピクチャ単独で設定する各マクロブロックMBA,MBB,MCCのすべての探索範囲を含む範囲に設定される。図17は、参照ピクチャP09に設定された探索範囲S09の一例を示す図である。   Here, as shown in FIG. 17, the search range set for the reference picture is set to a range including all search ranges of the macroblocks MBA, MBB, and MCC set by the conventional encoding target picture alone. FIG. 17 is a diagram illustrating an example of the search range S09 set in the reference picture P09.

符号化対象ピクチャB19、B20、P24を単独で符号化する際には、図7から図9を参照して説明したように、以下のように参照ピクチャP09について探索範囲が設定されていた。すなわち、参照ピクチャP09については、符号化対象ピクチャB19の符号化時にはマクロブロックMBAに対して探索範囲S09Aが設定され、符号化対象ピクチャB20の符号化時にはマクロブロックMBBに対して探索範囲S09Bが設定されていた。また、符号化対象ピクチャP24の符号化時にはマクロブロックMBCに対して探索範囲S09Cが設定されていた。   When the encoding target pictures B19, B20, and P24 are encoded independently, as described with reference to FIGS. 7 to 9, the search range is set for the reference picture P09 as follows. That is, for reference picture P09, search area S09A is set for macroblock MBA when encoding target picture B19 is encoded, and search range S09B is set for macroblock MBB when encoding target picture B20 is encoded. It had been. In addition, the search range S09C is set for the macroblock MBC when the encoding target picture P24 is encoded.

本実施形態における探索範囲は、これら探索範囲を包含するものであり、図17に示すように探索範囲S09は、各マクロブロックMBA、MBB、MBCに対する探索範囲S09A、S09B、及びS09Cを含むように設定する。図17においては、説明をわかりやすくするため、探索範囲S09A、S09B、S09Cが完全に別の位置に設定された場合を示したが、実際上は、3つの探索範囲S09A、S09B、S09Cは近くに設定され、重複する場合も多い。そのため、本実施形態で参照ピクチャに設定される探索範囲は、従来の探索範囲の大きさ(32×32程度)と比べて、それほど大きくはならない。なお、図17に示す探索範囲S09の設定は一例であり、探索範囲S09A、S09B、及びS09Cを包含さえすれば、探索範囲S09の設定は任意である。   The search range in this embodiment includes these search ranges. As shown in FIG. 17, the search range S09 includes the search ranges S09A, S09B, and S09C for the macroblocks MBA, MBB, and MBC. Set. FIG. 17 shows the case where the search ranges S09A, S09B, and S09C are set at completely different positions for the sake of easy understanding. In practice, the three search ranges S09A, S09B, and S09C are close to each other. It is often set to overlap. Therefore, the search range set for the reference picture in this embodiment is not so large compared to the size of the conventional search range (about 32 × 32). The setting of search range S09 shown in FIG. 17 is an example, and setting of search range S09 is arbitrary as long as it includes search ranges S09A, S09B, and S09C.

また、図16に示す他の参照ピクチャP12,I15,P18,P21の探索範囲についても同様に設定される。すなわち、参照ピクチャP12の探索範囲S12は、探索範囲S12A、S12B、S12Cを含む範囲に設定し、参照ピクチャI15の探索範囲S15は、探索範囲S15A、S15B、S15Cを含む範囲に設定する。また、参照ピクチャP18の探索範囲S18は、探索範囲S18A、S18B、S18Cを包含するように設定し、参照ピクチャP21の探索範囲S21は、探索範囲S21A、S21B、S21Cを包含するように設定する。   Further, the search ranges of the other reference pictures P12, I15, P18, and P21 shown in FIG. 16 are set in the same manner. That is, the search range S12 of the reference picture P12 is set to a range including the search ranges S12A, S12B, and S12C, and the search range S15 of the reference picture I15 is set to a range including the search ranges S15A, S15B, and S15C. In addition, the search range S18 of the reference picture P18 is set to include the search ranges S18A, S18B, and S18C, and the search range S21 of the reference picture P21 is set to include the search ranges S21A, S21B, and S21C.

次に、図18及び図19を参照して、第1の実施形態におけるインター予測の並列処理動作について説明する。
図18は、第1の実施形態におけるインター予測の並列処理の様子を模式的に示す図である。図18においては、3枚の符号化対象ピクチャB19、B20、P24を符号化する場合を一例として示しており、特にインター予測で使用するデータの読み込み状態を示している。図18では、時間軸方向に時間が経過するものとする。
Next, with reference to FIGS. 18 and 19, the parallel processing operation of inter prediction in the first embodiment will be described.
FIG. 18 is a diagram schematically illustrating a state of parallel processing of inter prediction in the first embodiment. In FIG. 18, a case where three encoding target pictures B19, B20, and P24 are encoded is shown as an example, and in particular, a reading state of data used in inter prediction is shown. In FIG. 18, it is assumed that time elapses in the time axis direction.

直前に符号化が終了した符号化対象ピクチャP21が復号され、参照リストが更新された直後の状態から図示している。まず、コーデック部は、符号化対象ピクチャB19のマクロブロックMBAのデータ、符号化対象ピクチャB20のマクロブロックMBBのデータ、及び符号化対象ピクチャP24のマクロブロックMBCのデータをビデオメモリから読み出す。また、コーデック部は、参照ピクチャP09より探索範囲S09の画像データ、参照ピクチャP12より探索範囲S12の画像データ、及び参照ピクチャI15より探索範囲S15の画像データをフレームメモリから読み出す。また、コーデック部は、参照ピクチャP18より探索範囲S18の画像データ、及び参照ピクチャP21より探索範囲S21の画像データをフレームメモリから読み出す。   The picture is illustrated from the state immediately after the encoding target picture P21 that has been encoded immediately before is decoded and the reference list is updated. First, the codec unit reads out the data of the macro block MBA of the encoding target picture B19, the data of the macro block MBB of the encoding target picture B20, and the data of the macro block MBC of the encoding target picture P24 from the video memory. Further, the codec unit reads out from the frame memory image data in the search range S09 from the reference picture P09, image data in the search range S12 from the reference picture P12, and image data in the search range S15 from the reference picture I15. Further, the codec section reads image data in the search range S18 from the reference picture P18 and image data in the search range S21 from the reference picture P21 from the frame memory.

次に、コーデック部は、マクロブロックMBAに係るインター予測を行う。具体的には、コーデック部は、読み込んだ探索範囲S09のうちのマクロブロックMBAに対して使用される探索範囲S09Aについてインター予測を行う。また、コーデック部は、探索範囲S12のうちのマクロブロックMBAに対して使用される探索範囲S12A、及び探索範囲S15のうちのマクロブロックMBAに対して使用される探索範囲S15Aについてそれぞれインター予測を行う。同様に、探索範囲S18のうちのマクロブロックMBAに対して使用される探索範囲S18A、及び探索範囲S21のうちのマクロブロックMBAに対して使用される探索範囲S21Aについて、それぞれインター予測を行う。コーデック部は、各参照ピクチャから読み込んだすべての探索範囲でのインター予測が終了すると、マクロブロックMBAについて最適な動きベクトルmvAを決定する。   Next, the codec section performs inter prediction related to the macroblock MBA. Specifically, the codec unit performs inter prediction on the search range S09A used for the macroblock MBA in the read search range S09. Further, the codec section performs inter prediction on the search range S12A used for the macroblock MBA in the search range S12 and the search range S15A used for the macroblock MBA in the search range S15. . Similarly, inter prediction is performed for each of the search range S18A used for the macroblock MBA in the search range S18 and the search range S21A used for the macroblock MBA in the search range S21. When the inter prediction in all the search ranges read from each reference picture is completed, the codec unit determines an optimal motion vector mvA for the macroblock MBA.

同様に、コーデック部は、マクロブロックMBBについて、読み込んだ探索範囲のうちのマクロブロックMBBに対して使用される探索範囲についてインター予測を行う。すなわち、コーデック部は、探索範囲S09のうちの探索範囲S09B、探索範囲S12のうちの探索範囲S12B、及び探索範囲S15のうちの探索範囲S15Bについてそれぞれインター予測を行う。また、コーデック部は、探索範囲S18のうちの探索範囲S18B、及び探索範囲S21のうちの探索範囲S21Bについてそれぞれインター予測を行う。そして、コーデック部は、各参照ピクチャの探索範囲でのインター予測に基づき、マクロブロックMBBについて最適な動きベクトルmvBを決定する。   Similarly, the codec unit performs inter prediction on the search range used for the macroblock MBB in the read search range for the macroblock MBB. That is, the codec section performs inter prediction on the search range S09B in the search range S09, the search range S12B in the search range S12, and the search range S15B in the search range S15. Further, the codec section performs inter prediction for the search range S18B in the search range S18 and the search range S21B in the search range S21. Then, the codec unit determines an optimal motion vector mvB for the macroblock MBB based on inter prediction in the search range of each reference picture.

さらに、コーデック部は、マクロブロックMBCについて、読み込んだ探索範囲のうちのマクロブロックMBCに対して使用される探索範囲についてインター予測を行う。コーデック部は、探索範囲S09内の探索範囲S09C、探索範囲S12内の探索範囲S12C、探索範囲S15内の探索範囲S15C、探索範囲S18内の探索範囲S18C、探索範囲S21内の探索範囲S21Cについてそれぞれインター予測を行う。コーデック部は、各参照ピクチャの探索範囲でのインター予測に基づき、マクロブロックMBCについて最適な動きベクトルmvCを決定する。   Further, the codec unit performs inter prediction on the search range used for the macroblock MBC among the read search ranges for the macroblock MBC. The codec section includes a search range S09C within the search range S09, a search range S12C within the search range S12, a search range S15C within the search range S15, a search range S18C within the search range S18, and a search range S21C within the search range S21. Perform inter prediction. The codec unit determines an optimal motion vector mvC for the macroblock MBC based on inter prediction in the search range of each reference picture.

各マクロブロックMBA、MBB、MBCについて、最適な動きベクトルmvA、mvB、mvCが決定すると、コーデック部は、ビデオメモリから符号化対象ピクチャB19、B20、P24の次のマクロブロックのデータを読み込む。また、コーデック部は、フレームメモリから次の探索範囲の画像データを読み込んで、次のインター予測を行う。次の探索範囲として読み込む範囲は、既に読み込んでいる探索範囲と重複する部分がある場合には、新たに必要となる範囲だけを読み込むようにしても良い。このようにすることで、符号化処理にてフレームメモリから読み出すデータ量を低減することができる。   When the optimal motion vectors mvA, mvB, and mvC are determined for each of the macroblocks MBA, MBB, and MBC, the codec unit reads the data of the macroblock next to the encoding target pictures B19, B20, and P24 from the video memory. The codec unit reads image data in the next search range from the frame memory and performs the next inter prediction. If there is a portion that overlaps with the search range that has already been read as the next search range, only the newly required range may be read. By doing so, the amount of data read from the frame memory in the encoding process can be reduced.

以上の処理を繰り返して、符号化対象ピクチャB19、B20、P24のすべてのマクロブロックについてインター予測を行い、最適な動きベクトルが求まると、符号化対象ピクチャについてのインター予測が終了し、各ピクチャについての符号化が終了する。コーデック部は、符号化が終了したら、ストリームバッファに符号化したデータを出力する。このとき、コーデック部は、通常の符号化順序であるピクチャB19、B20、P24の順に符号化したデータを出力する。さらに、コーデック部は、符号化されたピクチャP24を復号して参照リストに加えるとともに、参照リストからピクチャP21を削除し、参照リストを更新する。   The above process is repeated to perform inter prediction for all the macroblocks of the encoding target pictures B19, B20, and P24, and when the optimal motion vector is obtained, the inter prediction for the encoding target picture is finished, and for each picture The encoding of is finished. When the encoding is completed, the codec unit outputs the encoded data to the stream buffer. At this time, the codec unit outputs data encoded in the order of pictures B19, B20, and P24, which are normal encoding orders. Further, the codec unit decodes the encoded picture P24 and adds it to the reference list, deletes the picture P21 from the reference list, and updates the reference list.

以上の動作フローを図19に示す。
符号化対象ピクチャB16,B17,P21の符号化後、符号化されたピクチャP21が復号され、参照リストの更新が行われる(1901)。
The above operation flow is shown in FIG.
After encoding the encoding target pictures B16, B17, and P21, the encoded picture P21 is decoded and the reference list is updated (1901).

その後、コーデック部は、各符号化対象ピクチャB19、B20、P24のマクロブロックのデータをビデオメモリから読み込む(1902)とともに、それに対応したインター予測の探索範囲の画像データをフレームメモリから読み込む(1903)。コーデック部は、読み込んだマクロブロックのデータと探索範囲のデータを用いて、このマクロブロックに対してインター予測を行う(1904)。次に、コーデック部は、各参照ピクチャから読み込んだすべての探索範囲でのインター予測が終了すると、その結果を基にマクロブロックについての最適な動きベクトルを決定する(1905)。その後、コーデック部は、各符号化対象ピクチャの次のマクロブロックの処理に移る。   Thereafter, the codec unit reads the macro block data of each of the encoding target pictures B19, B20, and P24 from the video memory (1902), and also reads the image data of the inter prediction search range corresponding to the data from the frame memory (1903). . The codec section performs inter prediction on the macroblock using the read macroblock data and search range data (1904). Next, when the inter prediction is completed in all the search ranges read from each reference picture, the codec unit determines an optimal motion vector for the macroblock based on the result (1905). Thereafter, the codec section moves to processing of the next macro block of each encoding target picture.

そして、コーデック部は、3枚の符号化対象ピクチャ内のすべてのマクロブロックに対して動き予測に係る処理が終了したら、3枚の符号化対象ピクチャを符号化する。次に、コーデック部は、通常の符号化順序、すなわちピクチャB19、B20、P24の順でストリームを出力する(1906,1907,1908)。続いて、コーデック部は、符号化されたピクチャP24を復号して参照リストに追加し参照リストを更新する(1909)。   Then, the codec unit encodes the three encoding target pictures when the processing related to motion prediction is completed for all the macroblocks in the three encoding target pictures. Next, the codec unit outputs a stream in the normal encoding order, that is, in the order of pictures B19, B20, and P24 (1906, 1907, 1908). Subsequently, the codec unit decodes the encoded picture P24, adds it to the reference list, and updates the reference list (1909).

なお、上述した説明では、マクロブロックMBA、MBB、MBCの順序でデータを読み出し、探索範囲S09、S12、S15、S18、S21の順序で画像データを読み出している。しかしながら、符号化対象ピクチャB19、B20、P24のインター予測は独立して行うことができるので、これらのデータ等の読み出し順序自体は前後しても処理可能である。   In the above description, data is read in the order of macroblocks MBA, MBB, and MBC, and image data is read in the order of search ranges S09, S12, S15, S18, and S21. However, since the inter prediction of the encoding target pictures B19, B20, and P24 can be performed independently, the reading order of these data and the like can be processed before and after.

例えば、マクロブロックMBAのデータを読み込み、探索範囲S09の画像データを読み込んで探索範囲S09A内を探索し、次に探索範囲S12の画像データを読み込んでS12Aを探索する。続いて、探索範囲S15の画像データを読み込んで探索範囲S15Aを探索し、次に探索範囲S18の画像データを読み込んで探索範囲S18Aを探索し、次に探索範囲S21の画像データを読んで探索範囲S21Aを探索し、動きベクトルmvAを決定する。   For example, the data of the macro block MBA is read, the image data of the search range S09 is read to search the search range S09A, and then the image data of the search range S12 is read to search for S12A. Subsequently, the image data of the search range S15 is read to search the search range S15A, then the image data of the search range S18 is read to search the search range S18A, and then the image data of the search range S21 is read to search the search range. S21A is searched to determine a motion vector mvA.

続いて、マクロブロックMBBのデータを読み込む。そして、探索範囲S09内の探索範囲S09B、探索範囲S12内の探索範囲S12B、探索範囲S15内の探索範囲S15B、探索範囲S18内の探索範囲S18B、及び探索範囲S21内の探索範囲S21Bをそれぞれ探索して、動きベクトルmvBを決定する。   Subsequently, the data of the macro block MBB is read. The search range S09B within the search range S09, the search range S12B within the search range S12, the search range S15B within the search range S15, the search range S18B within the search range S18, and the search range S21B within the search range S21 are searched. Then, the motion vector mvB is determined.

最後に、マクロブロックMBCのデータを読み込む。そして、探索範囲S09内の探索範囲S09C、探索範囲S12内の探索範囲S12C、探索範囲S15内の探索範囲S15C、探索範囲S18内の探索範囲S18C、探索範囲S21内の探索範囲S21Cを探索し動きベクトルmvCを決定することも可能である。   Finally, the data of the macro block MBC is read. The search range S09C within the search range S09, the search range S12C within the search range S12, the search range S15C within the search range S15, the search range S18C within the search range S18, and the search range S21C within the search range S21 are searched and moved. It is also possible to determine the vector mvC.

また、マクロブロックMBCのデータを先に読み込み、マクロブロックMBB、MBAの順でデータを読み込むようにしても良い。
上述した並列処理で必要なことは、複数の符号化対象ピクチャのマクロブロックのインター予測を並列に処理できることであり、インター予測の際、フレームメモリからの探索範囲の読み出しは、参照ピクチャ毎に共通する探索範囲を読み込めば良いことである。
Alternatively, the data of the macroblock MBC may be read first, and the data may be read in the order of the macroblocks MBB and MBA.
What is necessary for the parallel processing described above is that inter prediction of macroblocks of a plurality of encoding target pictures can be processed in parallel, and reading of the search range from the frame memory is common to each reference picture during inter prediction. It is only necessary to read the search range to be performed.

なお、上述した説明では、インター予測を並列して行うことを中心に説明したが、インター予測以外の符号化処理、例えばエントロピー符号化などは、元々ピクチャ間で独立して処理できるものであるから、本実施形態においても並列的に処理することができる。   In the above description, the description has focused on performing inter prediction in parallel. However, encoding processing other than inter prediction, such as entropy encoding, can be originally processed independently between pictures. Also in this embodiment, processing can be performed in parallel.

また、上述した説明では、Iピクチャ又はPピクチャが3フレーム間隔と、一定の周期を有する場合を一例として説明した。ここで、H.264方式の規格自体では、Bピクチャを参照リストの更新に使用することも、Iピクチャ又はPピクチャを参照リストに加えないことも任意である。すなわち、本実施形態は、参照リストの更新から次の参照リストの更新までの間にある符号化対象ピクチャのインター予測を並列して行うのであって、参照リストの更新間隔は任意であってよい。通常、本実施形態と同様に、Iピクチャ又はPピクチャが一定の周期で設定され、このIピクチャ又はPピクチャにより参照リストも周期的に更新されるように設定される場合が実用的である。   Further, in the above description, the case where the I picture or P picture has an interval of 3 frames and a certain period has been described as an example. Here, H. In the H.264 standard itself, it is optional to use a B picture for updating the reference list or not add an I picture or P picture to the reference list. That is, according to the present embodiment, the inter prediction of the current picture to be encoded is performed in parallel between the update of the reference list and the update of the next reference list, and the reference list update interval may be arbitrary. . Normally, as in the present embodiment, it is practical to set an I picture or P picture at a constant cycle and to set the reference list to be periodically updated by this I picture or P picture.

以上、説明したように第1の実施形態では、参照リストの更新から次の参照リストの更新までの間にある複数の符号化対象ピクチャ(例えば、上述した例における符号化対象ピクチャB19,B20,P24)のインター予測を並列して行う。各符号化対象ピクチャの処理は、並列してインター予測を行う符号化対象ピクチャの数に応じて、例えば3枚の符号化対象ピクチャのインター予測を並列して行う場合には3フレーム単位内に終了すれば良い。   As described above, in the first embodiment, a plurality of encoding target pictures (for example, the encoding target pictures B19, B20, and the like in the above-described example) from the update of the reference list to the update of the next reference list are described. The inter prediction of P24) is performed in parallel. The processing of each encoding target picture is performed in units of 3 frames when inter prediction of three encoding target pictures is performed in parallel, for example, according to the number of encoding target pictures performing inter prediction in parallel. Just finish.

また、第1の実施形態では、フレームメモリから参照ピクチャの探索範囲の画像データを読み込む際に、符号化対象ピクチャの各マクロブロックに共通な探索範囲を順次読み込む。さらに、インター予測を行う際に、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値(上限)であった。したがって、第1の実施形態によれば、例えば3枚の符号化対象ピクチャ(B19、B20、P24)のインター予測を並列して行う場合には、3フレーム時間内に、フレームメモリから最大5枚分の参照ピクチャのデータを読み込めば良い。つまり、1フレーム時間で見ると、最大5/3枚分のデータをフレームメモリから読み込めば良い。これは、従来、1フレーム時間中に各符号化対象ピクチャで参照ピクチャを5枚づつ読んでいた場合と比較して、フレームメモリから読み出すデータ量が大幅に削減されていることになる。参照リストの更新から次の参照リストの更新までの間の符号化対象ピクチャ数をm、参照リスト内の参照ピクチャ数をpとした場合、第1の実施形態では、m毎のピクチャの処理間(mフレーム時間)に、最大p枚の参照ピクチャのデータを読み込めば良い。すなわち、1フレーム時間中に、フレームメモリへのアクセス量が最大でp/mになる。   In the first embodiment, when the image data of the search range of the reference picture is read from the frame memory, the search range common to each macroblock of the encoding target picture is sequentially read. Furthermore, when performing inter prediction, the amount of data read from the frame memory is the maximum value (upper limit) for all reference pictures in the frame memory. Therefore, according to the first embodiment, for example, when inter prediction of three coding target pictures (B19, B20, P24) is performed in parallel, a maximum of five frames from the frame memory within three frame times. Just read the reference picture data for the minute. In other words, when viewed in one frame time, a maximum of 5/3 sheets of data may be read from the frame memory. This means that the amount of data read from the frame memory is greatly reduced compared to the case where five reference pictures are read for each encoding target picture during one frame time. When the number of encoding target pictures from the update of the reference list to the update of the next reference list is m, and the number of reference pictures in the reference list is p, in the first embodiment, between m picture processing It is only necessary to read data of up to p reference pictures at (m frame time). That is, the maximum access amount to the frame memory is p / m during one frame time.

したがって、第1の実施形態によれば、インター予測を用いて画像データを符号化する符号化器にて、符号化処理を行うコーデック部(符号化部)と、符号化対象の画像データ及び参照ピクチャを記憶する画像メモリとの間のアクセス量を大幅に削減できる。これにより、データ転送に用いるクロックを高速化させたりする必要がなく、また消費電力などを低減することができる。   Therefore, according to the first embodiment, the encoder that encodes image data using inter prediction, the codec unit (encoding unit) that performs the encoding process, the image data to be encoded, and the reference The amount of access to the image memory that stores pictures can be greatly reduced. As a result, it is not necessary to increase the speed of the clock used for data transfer, and power consumption can be reduced.

(第2の実施形態)
次に、第2の実施形態について説明する。
H.264方式以前からインター予測を行う符号化方式として、MPEG1、MPEG2、MPEG4(SP、ASP)等が規格化されている。ここで、MPEG2を一例として簡単に説明する。
(Second Embodiment)
Next, a second embodiment will be described.
H. MPEG1, MPEG2, MPEG4 (SP, ASP) and the like have been standardized as encoding methods for performing inter prediction from before the H.264 method. Here, MPEG2 will be briefly described as an example.

MPEG2規格では、H.264方式と同様にイントラ予測のみを行うIピクチャ、前方向予測のみを行うPピクチャ、及び双方向予測を行うBピクチャで構成されている。しかし、図20に示すように、MPEG2規格においてインター予測に用いる参照ピクチャは、Pピクチャを符号化する場合には、直前に符号化した1枚のIピクチャ又はPピクチャのみに限定されている。また、Bピクチャを符号化する場合には、前後それぞれ1枚のIピクチャ又はPピクチャに限定されている。MPEG2規格では、参照する参照ピクチャが限定されていることから参照リストという形式を取っていないが、符号化した画像データを復号してフレームメモリに記憶し、それを読み出してインター予測する点はH.264方式と同様である。   In the MPEG2 standard, H.264 is used. Similar to the H.264 system, it is composed of an I picture that performs only intra prediction, a P picture that performs only forward prediction, and a B picture that performs bidirectional prediction. However, as shown in FIG. 20, the reference picture used for inter prediction in the MPEG2 standard is limited to only one I picture or P picture coded immediately before when a P picture is coded. In addition, when encoding a B picture, it is limited to one I picture or P picture before and after. The MPEG2 standard does not take the form of a reference list because reference pictures to be referred to are limited, but the point that the encoded image data is decoded and stored in the frame memory, and is read and inter-predicted is H. . This is the same as the H.264 system.

MPEG2規格でも符号化順序は、H.264方式と同様であり、図3に示したように、符号化順序は表示順序と異なり予測を行う順に符号化を行い、出力ストリーム上では符号化順序で符号化データが並ぶ。ここで、一般的なMPEG2規格に準拠した符号化処理でのインター予測について図21を参照して説明する。   Even in the MPEG2 standard, the encoding order is H.264. As in FIG. 3, the encoding order is different from the display order and encoding is performed in the order of prediction, and the encoded data is arranged in the encoding order on the output stream. Here, inter prediction in an encoding process compliant with the general MPEG2 standard will be described with reference to FIG.

図21は、符号化対象ピクチャB19、B20、P24を符号化する際のインター予測の様子を示す図である。図21においては、直前の符号化対象ピクチャP21の符号化後、それを復号して参照ピクチャP21でフレームメモリの内容を更新した後の状態を図示している。このとき、フレームメモリ内には、参照ピクチャP21と、さらにその前に符号化・復号化した参照ピクチャP18が記憶されている。   FIG. 21 is a diagram illustrating a state of inter prediction when encoding target pictures B19, B20, and P24. FIG. 21 illustrates a state after encoding the immediately previous encoding target picture P21, decoding it, and updating the contents of the frame memory with the reference picture P21. At this time, in the frame memory, a reference picture P21 and a reference picture P18 previously encoded / decoded are stored.

符号化対象ピクチャB19のインター予測では参照ピクチャP18及びP21を参照し、符号化対象ピクチャB20のインター予測では参照ピクチャP18及びP21を参照し、符号化対象ピクチャP24のインター予測では参照ピクチャP21を参照する。例えば、コーデック部は、符号化対象ピクチャB19のマクロブロックMBAについて、マクロブロックMBAのデータ及び参照ピクチャP18,P21の探索範囲S18A、S21Aのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。同様に、コーデック部は、符号化対象ピクチャB20のマクロブロックMBBについて、マクロブロックMBBのデータ及び参照ピクチャP18,P21の探索範囲S18B、S21Bのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。また、コーデック部は、符号化対象ピクチャP24のマクロブロックMBCについて、マクロブロックMBCのデータ及び参照ピクチャP21の探索範囲S21Cのデータを、ビデオメモリ及びフレームメモリから読み込みインター予測を行う。そして、符号化対象ピクチャP24の符号化処理後、符号化されたピクチャP24を復号してフレームメモリに記憶しフレームメモリの内容を更新する。   Reference pictures P18 and P21 are referred to in the inter prediction of the current picture B19, reference pictures P18 and P21 are referred to in the inter prediction of the current picture B20, and reference pictures P21 are referred to in the inter prediction of the current picture P24. To do. For example, for the macro block MBA of the encoding target picture B19, the codec section reads the data of the macro block MBA and the data of the search ranges S18A and S21A of the reference pictures P18 and P21 from the video memory and the frame memory and performs inter prediction. Similarly, the codec unit reads the data of the macro block MBB and the data of the search ranges S18B and S21B of the reference pictures P18 and P21 from the video memory and the frame memory for the macro block MBB of the encoding target picture B20 and performs inter prediction. . Further, the codec section reads the data of the macro block MBC and the data of the search range S21C of the reference picture P21 from the video memory and the frame memory for the macro block MBC of the encoding target picture P24, and performs inter prediction. Then, after the encoding process of the encoding target picture P24, the encoded picture P24 is decoded and stored in the frame memory, and the contents of the frame memory are updated.

図21に示した符号化手順の処理フローを図22に示す。
符号化対象ピクチャP21の符号化終了後、フレームメモリの内容が更新されて(2201)、その後符号化対象ピクチャB19、B20,P24と順次符号化され、符号化対象ピクチャP24の符号化後にフレームメモリの内容が更新される(2205)。各符号化対象ピクチャB19、B20,P24の符号化処理(2202、2203、2204)は、H.264方式と同様に、マクロブロック読み込み、探索範囲読み込み、動き予測、ベクトル決定等の処理を順次行い、順次ストリームを出力している。
FIG. 22 shows a processing flow of the encoding procedure shown in FIG.
After the encoding of the encoding target picture P21 is completed, the contents of the frame memory are updated (2201), and then the encoding target pictures B19, B20, and P24 are sequentially encoded. After encoding of the encoding target picture P24, the frame memory is encoded. Is updated (2205). The encoding process (2202, 2203, 2204) of each encoding target picture B19, B20, P24 is H.264. Similarly to the H.264 system, macroblock reading, search range reading, motion prediction, vector determination, and the like are sequentially performed, and a stream is sequentially output.

ここで、上述した説明から明らかなように、従来の一般的なMPEG2規格に準拠した符号化処理についても、第1の実施形態において説明した従来のH.264方式での符号化処理と同様の問題がある。本発明の第2の実施形態による画像処理装置を適用した符号化器は、第1の実施形態と同様に複数の符号化対象ピクチャのインター予測を並列的に行うことで、フレームメモリから参照ピクチャを読み込むためのアクセス量を削減するようにしている。ただし、第2の実施形態における符号化器は、入力される画像データをMPEG2規格に準拠した画像符号化方式で符号化する。   Here, as is clear from the above description, the conventional H.264 encoding method described in the first embodiment is also applicable to the conventional general MPEG2 standard-compliant encoding process. There is a problem similar to the encoding process in the H.264 system. The encoder to which the image processing apparatus according to the second embodiment of the present invention is applied performs inter prediction of a plurality of encoding target pictures in parallel as in the first embodiment, so that a reference picture is obtained from the frame memory. The amount of access for reading is reduced. However, the encoder according to the second embodiment encodes input image data using an image encoding method compliant with the MPEG2 standard.

なお、第2の実施形態における符号化器の構成は、上述した第1の実施形態と同様の構成であるので、その説明は省略する。しかし、MPEG2の場合には、参照リストを構成しないので参照リストは備えていない。したがって、参照リストの更新でなく、フレームメモリの内容の更新となる。   In addition, since the structure of the encoder in 2nd Embodiment is the structure similar to 1st Embodiment mentioned above, the description is abbreviate | omitted. However, in the case of MPEG2, no reference list is provided because no reference list is formed. Therefore, the contents of the frame memory are updated, not the reference list.

第2の実施形態における符号化器での符号化処理について、図23及び図24を参照して説明する。上述したようにMPEG2規格では、符号化処理にてインター予測に使う参照ピクチャは、Iピクチャ又はPピクチャに限られている。また、Iピクチャ又はPピクチャは、符号化後、必ずフレームメモリを更新して、参照ピクチャとして利用される。以下では、ピクチャP21の符号化終了後にそれが復号化されてフレームメモリの内容が更新された後、次にフレームメモリの内容が更新されるピクチャP24の符号化までの間にピクチャB19、B20、P24を符号化する場合を一例として説明する。   An encoding process in the encoder according to the second embodiment will be described with reference to FIGS. 23 and 24. FIG. As described above, in the MPEG2 standard, reference pictures used for inter prediction in encoding processing are limited to I pictures or P pictures. In addition, the I picture or P picture is used as a reference picture by always updating the frame memory after encoding. In the following, after the picture P21 has been encoded, the picture B21 is decoded and the contents of the frame memory are updated, and then the pictures B19, B20, A case where P24 is encoded will be described as an example.

図23は、第2の実施形態における符号化処理でのインター予測の並列処理の様子を模式的に示す図である。ここで図示しているように、符号化対象ピクチャB19,B20,P24を符号化する際には、直前に符号化され復号化されたピクチャP21と、そのさらに前のPピクチャであるピクチャP18がフレームメモリに記憶されており、インター予測で参照される。   FIG. 23 is a diagram schematically illustrating a state of parallel processing of inter prediction in the encoding processing according to the second embodiment. As shown in the figure, when encoding the encoding target pictures B19, B20, and P24, a picture P21 that has been encoded and decoded immediately before and a picture P18 that is a previous P picture are included. It is stored in the frame memory and referred to in inter prediction.

まず、コーデック部は、符号化対象ピクチャB19のマクロブロックMBAのデータ、符号化対象ピクチャB20のマクロブロックMBBのデータ、及び符号化対象ピクチャP24のマクロブロックMBCのデータをビデオメモリから読み出す。また、コーデック部は、参照ピクチャP18より探索範囲S18の画像データ、及び参照ピクチャP21より探索範囲S21の画像データをフレームメモリから読み出す。   First, the codec unit reads out the data of the macro block MBA of the encoding target picture B19, the data of the macro block MBB of the encoding target picture B20, and the data of the macro block MBC of the encoding target picture P24 from the video memory. Further, the codec section reads image data in the search range S18 from the reference picture P18 and image data in the search range S21 from the reference picture P21 from the frame memory.

なお、各参照ピクチャに設定される探索範囲S18、S21は、第1の実施形態と同様に各マクロブロックMBA、MBB、MBCに対する探索範囲を包含するように設定されている。具体的には、探索範囲S18は、マクロブロックMBAに対する探索範囲S18A及びマクロブロックMBBに対する探索範囲S18Bを含む範囲に設定される。また、探索範囲S21は、マクロブロックMBAに対する探索範囲S21A、マクロブロックMBBに対する探索範囲S21B、及びマクロブロックMBCに対する探索範囲S21Cを含むように設定される。   The search ranges S18 and S21 set for each reference picture are set so as to include the search ranges for the macroblocks MBA, MBB, and MBC, as in the first embodiment. Specifically, the search range S18 is set to a range including the search range S18A for the macroblock MBA and the search range S18B for the macroblock MBB. The search range S21 is set to include a search range S21A for the macroblock MBA, a search range S21B for the macroblock MBB, and a search range S21C for the macroblock MBC.

次に、コーデック部は、マクロブロックMBAについて、読み込んだ探索範囲S18のうちのマクロブロックMBAに対して使用される探索範囲S18Aについてインター予測を行う。また同様に、コーデック部は、探索範囲S21のうちのマクロブロックMBAに対して使用される探索範囲S21Aについてインター予測を行う。コーデック部は、参照ピクチャP18、P21から読み込んだ探索範囲でのインター予測が終了すると、マクロブロックMBAについて最適な動きベクトルmvAを決定する。   Next, the codec unit performs inter prediction on the search range S18A used for the macroblock MBA in the read search range S18 for the macroblock MBA. Similarly, the codec unit performs inter prediction on the search range S21A used for the macroblock MBA in the search range S21. When the inter prediction in the search range read from the reference pictures P18 and P21 is completed, the codec unit determines an optimal motion vector mvA for the macroblock MBA.

同様に、コーデック部は、マクロブロックMBBについて、読み込んだ探索範囲のうちのマクロブロックMBBに対して使用される探索範囲についてインター予測を行う。すなわち、コーデック部は、探索範囲S18のうちの探索範囲S18B、及び探索範囲S21のうちの探索範囲S21Bについてそれぞれインター予測を行い、最適な動きベクトルmvBを決定する。   Similarly, the codec unit performs inter prediction on the search range used for the macroblock MBB in the read search range for the macroblock MBB. That is, the codec section performs inter prediction on the search range S18B in the search range S18 and the search range S21B in the search range S21, respectively, and determines an optimal motion vector mvB.

さらに、コーデック部は、マクロブロックMBCについて、読み込んだ探索範囲S21のうちのマクロブロックMBCに対して使用される探索範囲S21Cについてインター予測を行い、動きベクトルmvCを決定する。   Further, the codec unit performs inter prediction on the search range S21C used for the macroblock MBC in the read search range S21 for the macroblock MBC, and determines the motion vector mvC.

各マクロブロックMBA、MBB、MBCについて、最適な動きベクトルmvA、mvB、mvCが決定すると、コーデック部は、ビデオメモリから符号化対象ピクチャB19、B20、P24の次のマクロブロックのデータを読み込む。また、コーデック部は、フレームメモリから次の探索範囲の画像データを読み込んで、次のインター予測を行う。次の探索範囲として読み込む範囲は、既に読み込んでいる探索範囲と重複する部分がある場合には、新たに必要となる範囲だけを読み込むようにしても良い。このようにすることで、符号化処理にてフレームメモリから読み出すデータ量をさらに低減することができる。   When the optimal motion vectors mvA, mvB, and mvC are determined for each of the macroblocks MBA, MBB, and MBC, the codec unit reads the data of the macroblock next to the encoding target pictures B19, B20, and P24 from the video memory. The codec unit reads image data in the next search range from the frame memory and performs the next inter prediction. If there is a portion that overlaps with the search range that has already been read as the next search range, only the newly required range may be read. In this way, the amount of data read from the frame memory in the encoding process can be further reduced.

以上の処理を繰り返して、符号化対象ピクチャB19,B20,P24のすべてのマクロブロックについてインター予測を行い、最適な動きベクトルが求まると、符号化対象ピクチャについてのインター予測が終了し、各ピクチャについての符号化が終了する。コーデック部は、符号化が終了したら、通常の符号化順序であるB19,B20,P24の順に符号化したデータをストリームバッファに出力する。さらに、コーデック部は、符号化されたピクチャP24を復号してフレームメモリに記憶するとともに、フレームメモリからピクチャP18を削除し、フレームメモリの内容を更新する。   The above processing is repeated to perform inter prediction for all the macroblocks of the encoding target pictures B19, B20, and P24, and when the optimal motion vector is obtained, the inter prediction for the encoding target picture is completed, The encoding of is finished. When the encoding is completed, the codec unit outputs the encoded data in the order of B19, B20, and P24, which is the normal encoding order, to the stream buffer. Further, the codec unit decodes the encoded picture P24 and stores it in the frame memory, deletes the picture P18 from the frame memory, and updates the contents of the frame memory.

以上の動作フローを図24に示す。
符号化対象ピクチャB16,B17,P21の符号化後、符号化されたピクチャP21を復号しフレームメモリの内容を更新する(2401)。
The above operation flow is shown in FIG.
After encoding the encoding target pictures B16, B17, and P21, the encoded picture P21 is decoded and the contents of the frame memory are updated (2401).

その後、コーデック部は、各符号化対象ピクチャB19、B20、P24のマクロブロックのデータをビデオメモリから読み込む(2402)とともに、それに対応したインター予測の探索範囲の画像データをフレームメモリから読み込む(2403)。コーデック部は、このマクロブロックに対してインター予測を行い(2404)、それぞれに最適な動きベクトルを決定する(2405)。その後、コーデック部は、各符号化対象ピクチャの次のマクロブロックの処理に移り、処理2402〜2405を同様に行う。   After that, the codec section reads the macroblock data of each of the encoding target pictures B19, B20, and P24 from the video memory (2402), and also reads the image data of the corresponding inter prediction search range from the frame memory (2403). . The codec section performs inter prediction on the macroblock (2404), and determines an optimal motion vector for each (2405). Thereafter, the codec section moves to processing of the next macroblock of each encoding target picture, and similarly performs processing 2402 to 2405.

そして、コーデック部は、3枚の符号化対象ピクチャ内のすべてのマクロブロックに対して動き予測に係る処理が終了したら、3枚の符号化対象ピクチャを符号化する。次に、コーデック部は、通常の符号化順序、すなわちピクチャB19、B20、P24の順でストリームを出力する(2406,2407,2408)。続いて、コーデック部は、符号化されたピクチャP24を復号してフレームメモリに記憶しフレームメモリの内容を更新する(2409)。   Then, the codec unit encodes the three encoding target pictures when the processing related to motion prediction is completed for all the macroblocks in the three encoding target pictures. Next, the codec unit outputs streams in the normal encoding order, that is, in the order of pictures B19, B20, and P24 (2406, 2407, 2408). Subsequently, the codec unit decodes the encoded picture P24, stores it in the frame memory, and updates the contents of the frame memory (2409).

なお、上述した説明では、マクロブロックMBA、MBB、MBCの順序でデータを読み出し、探索範囲S18、S21の順序で画像データを読み出している。しかしながら、符号化対象ピクチャB19、B20、P24のインター予測は独立して行うことができるので、これらのデータ等の読み出し順序自体は前後しても処理可能である。   In the above description, data is read in the order of macroblocks MBA, MBB, and MBC, and image data is read in the order of search ranges S18 and S21. However, since the inter prediction of the encoding target pictures B19, B20, and P24 can be performed independently, the reading order of these data and the like can be processed before and after.

第2の実施形態では、MPEG2規格に準拠した符号化処理にて、フレームメモリの内容更新から次のフレームメモリの内容更新までの間にある複数の符号化対象ピクチャ(例えば、符号化対象ピクチャB19,B20,P24)のインター予測を並列して行う。これにより、各符号化対象ピクチャの処理は、並列してインター予測を行う符号化対象ピクチャの数に応じて、例えば3枚の符号化対象ピクチャB19,B20,P24のインター予測を行う場合には3フレーム単位内に終了すれば良い。   In the second embodiment, a plurality of encoding target pictures (for example, encoding target picture B19) between the frame memory content update and the next frame memory content update in the encoding process compliant with the MPEG2 standard. , B20, P24) are performed in parallel. Thus, the processing of each encoding target picture is performed when, for example, three encoding target pictures B19, B20, and P24 are inter-predicted according to the number of encoding target pictures to be inter-predicted in parallel. What is necessary is just to complete within the unit of 3 frames.

また、第2の実施形態では、フレームメモリから参照ピクチャの探索範囲の画像データを読み込む際に、符号化対象ピクチャの各マクロブロックに共通な探索範囲を順次読み込む。さらに、インター予測を行う際に、フレームメモリから読み出すデータの量は、フレームメモリ内のすべての参照ピクチャのデータ量が最大値(上限)であった。したがって、第2の実施形態によれば、例えば3枚の符号化対象ピクチャB19、B20、P24のインター予測を並列して行う場合には、3フレーム時間内に、フレームメモリから最大2枚分の参照ピクチャのデータを読み込めばよい。つまり、1フレーム時間で見ると、最大2/3枚分のデータをフレームメモリから読み込めば良い。これは、従来、1フレーム時間中に、符号化対象ピクチャがBピクチャであれば2枚づつ、Pピクチャであれば1枚づつ読んでいた場合と比較して、フレームメモリから読み出すデータ量が大幅に削減されていることになる。フレームメモリの内容更新から次のフレームメモリの内容更新までの間の符号化対象ピクチャ数をm、フレームメモリ内の参照ピクチャ数を2とした場合、m毎のピクチャの処理間に、最大2枚の参照ピクチャのデータをフレームメモリから読み込めば良い。すなわち、1フレーム時間中に、フレームメモリへのアクセス量が最大で2/mになり、符号化処理を行うコーデック部(符号化部)と、符号化対象の画像データ及び参照ピクチャを記憶する画像メモリとの間のアクセス量を大幅に削減できる。これにより、データ転送に用いるクロックを高速化させたりする必要がなく、また消費電力などを低減することができる。   In the second embodiment, when the image data of the search range of the reference picture is read from the frame memory, the search range common to the macroblocks of the encoding target picture is sequentially read. Further, when performing inter prediction, the amount of data read from the frame memory is the maximum value (upper limit) for all reference pictures in the frame memory. Therefore, according to the second embodiment, for example, when performing inter prediction of three encoding target pictures B19, B20, and P24 in parallel, a maximum of two images from the frame memory within three frame times. The reference picture data may be read. That is, when viewed in one frame time, a maximum of 2/3 sheets of data may be read from the frame memory. This is because the amount of data read out from the frame memory is much larger than the case where, in the past, one picture was read by two if the picture to be encoded is a B picture and one by one if it is a P picture. It will be reduced to. When the number of encoding target pictures from the update of the contents of the frame memory to the update of the contents of the next frame memory is m and the number of reference pictures in the frame memory is 2, a maximum of two pictures are processed during the processing of every m pictures. It is sufficient to read the reference picture data from the frame memory. That is, in one frame time, the maximum access amount to the frame memory is 2 / m, and the codec unit (encoding unit) that performs the encoding process, the image data to be encoded, and the image that stores the reference picture The amount of access to the memory can be greatly reduced. As a result, it is not necessary to increase the speed of the clock used for data transfer, and power consumption can be reduced.

(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置又はシステム内のコンピュータ(CPU又はMPU)に対し、上記実施形態の機能を実現するためのソフトウェアのプログラムを供給する。そして、そのシステム又は装置のコンピュータに格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラム自体が上述した実施形態の機能を実現することになり、そのプログラム自体は本発明を構成する。また、そのプログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記録媒体は本発明を構成する。かかるプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、供給されたプログラムがコンピュータにて稼働しているオペレーティングシステム又は他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムがコンピュータに係る機能拡張ボードや機能拡張ユニットに備わるメモリに格納された後、そのプログラムの指示に基づいてその機能拡張ボード等に備わるCPU等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
(Other embodiments of the present invention)
For realizing the functions of the above-described embodiment for a computer (CPU or MPU) in an apparatus or system connected to the various devices so as to operate various devices to realize the functions of the above-described embodiments. Supply software programs. And what was implemented by operating the said various devices according to the program stored in the computer of the system or apparatus is also contained under the category of this invention.
In this case, the software program itself realizes the functions of the above-described embodiments, and the program itself constitutes the present invention. Further, means for supplying the program to the computer, for example, a recording medium storing the program constitutes the present invention. As a recording medium for storing such a program, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
In addition, such a program is also included in the embodiment of the present invention when the function of the above-described embodiment is realized in cooperation with an operating system running on a computer or other application software. Needless to say.
Further, after the supplied program is stored in a memory provided in a function expansion board or a function expansion unit related to the computer, a CPU or the like provided in the function expansion board or the like based on an instruction of the program may be part of the actual processing Do everything. Needless to say, the present invention includes the case where the functions of the above-described embodiments are realized by the processing.

例えば、第1及び第2の実施形態に示した画像処理装置は、図25に示すようなコンピュータ機能500を有し、そのCPU501により第1及び第2の実施形態での動作が実施される。
コンピュータ機能500は、図25に示すように、CPU501と、ROM502と、RAM503とを備える。また、キーボード(KB)509のキーボードコントローラ(KBC)505と、表示部としてのCRTディスプレイ(CRT)510のCRTコントローラ(CRTC)506とを備える。さらに、ハードディスク(HD)511及びフレキシブルディスク(FD)512のディスクコントローラ(DKC)507と、ネットワークインタフェースカード(NIC)508とを備える。それら機能部501、502、503、505、506、507、508は、システムバス504を介して互いに通信可能に接続された構成としている。
CPU501は、ROM502又はHD511に記憶されたソフトウェア、又はFD512より供給されるソフトウェアを実行することで、システムバス504に接続された各構成部を総括的に制御する。すなわち、CPU501は、上述したような動作を行うための処理プログラムを、ROM502、HD511、又はFD512から読み出して実行することで、第1及び第2の実施形態での動作を実現するための制御を行う。RAM503は、CPU501の主メモリ又はワークエリア等として機能する。
KBC505は、KB509や図示していないポインティングデバイス等からの指示入力を制御する。CRTC506は、CRT510の表示を制御する。DKC507は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び第1及び第2の実施形態における上記処理プログラム等を記憶するHD511及びFD512とのアクセスを制御する。NIC508はネットワーク513上の他の装置と双方向にデータをやりとりする。
For example, the image processing apparatuses shown in the first and second embodiments have a computer function 500 as shown in FIG. 25, and the CPU 501 performs the operations in the first and second embodiments.
As shown in FIG. 25, the computer function 500 includes a CPU 501, a ROM 502, and a RAM 503. Also, a keyboard controller (KBC) 505 of a keyboard (KB) 509 and a CRT controller (CRTC) 506 of a CRT display (CRT) 510 as a display unit are provided. Furthermore, a disk controller (DKC) 507 for a hard disk (HD) 511 and a flexible disk (FD) 512 and a network interface card (NIC) 508 are provided. These functional units 501, 502, 503, 505, 506, 507, and 508 are configured to be communicably connected to each other via a system bus 504.
The CPU 501 comprehensively controls each component connected to the system bus 504 by executing software stored in the ROM 502 or the HD 511 or software supplied from the FD 512. That is, the CPU 501 reads out a processing program for performing the above-described operation from the ROM 502, the HD 511, or the FD 512, and executes it, thereby performing control for realizing the operation in the first and second embodiments. Do. The RAM 503 functions as a main memory or work area for the CPU 501.
The KBC 505 controls an instruction input from the KB 509 or a pointing device (not shown). The CRTC 506 controls the display on the CRT 510. The DKC 507 controls access to the HD 511 and the FD 512 that store a boot program, various applications, user files, a network management program, and the processing programs in the first and second embodiments. The NIC 508 bidirectionally exchanges data with other devices on the network 513.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

本発明の第1の実施形態における符号化器の構成例を示す図である。It is a figure which shows the structural example of the encoder in the 1st Embodiment of this invention. 図1に示したコーデック部の機能的構成を示す図である。It is a figure which shows the functional structure of the codec part shown in FIG. H.264方式での画像データの符号化順序を説明するための図である。H. 2 is a diagram for explaining an encoding order of image data in the H.264 format. FIG. 参照リストの一例を示す図である。It is a figure which shows an example of a reference list. 符号化対象ピクチャ毎の参照リストの変化の様子を示す図である。It is a figure which shows the mode of the change of the reference list for every encoding object picture. H.264方式でのマクロブロックのインター予測を説明するための図である。H. 2 is a diagram for explaining inter prediction of a macroblock in the H.264 scheme. FIG. 符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の一例を示す図である。It is a figure which shows an example of the search range of the macroblock of a encoding object picture, and a reference picture. 符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の他の例を示す図である。It is a figure which shows the other example of the search range of the macroblock of a encoding object picture, and a reference picture. 符号化対象ピクチャのマクロブロックと参照ピクチャの探索範囲の他の例を示す図である。It is a figure which shows the other example of the search range of the macroblock of a encoding object picture, and a reference picture. 本実施形態における符号化器でインター予測を行う場合のデータの動きを説明するための図である。It is a figure for demonstrating the motion of the data in the case of performing inter prediction with the encoder in this embodiment. H.264方式でのインター予測に関する処理の流れを示すフローチャートである。H. 3 is a flowchart showing a flow of processing related to inter prediction in the H.264 scheme. H.264方式でのインター予測の様子を示す図である。H. It is a figure which shows the mode of the inter prediction in a H.264 system. H.264方式での符号化処理を示すフローチャートである。H. 3 is a flowchart showing encoding processing in the H.264 format. 第1の実施形態における符号化処理の順序を説明するための図である。It is a figure for demonstrating the order of the encoding process in 1st Embodiment. 第1の実施形態において符号化対象ピクチャを符号化する際の参照リストの様子を示す図である。It is a figure which shows the mode of the reference list at the time of encoding an encoding object picture in 1st Embodiment. 本実施形態においてインター予測を行う際の参照ピクチャの探索範囲を説明するための図である。It is a figure for demonstrating the search range of the reference picture at the time of performing inter prediction in this embodiment. 本実施形態における参照ピクチャの探索範囲の一例を示す図である。It is a figure which shows an example of the search range of the reference picture in this embodiment. 第1の実施形態におけるインター予測の並列処理の様子を模式的に示す図である。It is a figure which shows typically the mode of the parallel process of the inter prediction in 1st Embodiment. 図18に示す処理動作の流れを示すフローチャートである。It is a flowchart which shows the flow of the processing operation shown in FIG. MPEG2規格における画像符号化を説明するための図である。It is a figure for demonstrating the image encoding in MPEG2 specification. MPEG2規格に準拠した符号化処理でのインター予測の様子を示す図である。It is a figure which shows the mode of the inter prediction in the encoding process based on MPEG2 specification. 図21に示すMPEG2規格に準拠した符号化処理を示すフローチャートである。It is a flowchart which shows the encoding process based on MPEG2 specification shown in FIG. 第2の実施形態における符号化処理でのインター予測の並列処理の様子を模式的に示す図である。It is a figure which shows typically the mode of the parallel process of the inter prediction in the encoding process in 2nd Embodiment. 図23に示す処理動作の流れを示すフローチャートである。It is a flowchart which shows the flow of the processing operation shown in FIG. 本実施例における画像処理装置を実現可能なコンピュータ機能を示すブロック図である。It is a block diagram which shows the computer function which can implement | achieve the image processing apparatus in a present Example.

符号の説明Explanation of symbols

100 符号化器
101 コーデック部(符号化部)
102 スケーリング部
103 動き推定部
104 エントロピー符号化部
105 局所復号部
111 ビデオメモリ
112 フレームメモリ
113 ストリームバッファ
100 encoder 101 codec section (encoding section)
DESCRIPTION OF SYMBOLS 102 Scaling part 103 Motion estimation part 104 Entropy encoding part 105 Local decoding part 111 Video memory 112 Frame memory 113 Stream buffer

Claims (15)

異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
複数の参照ピクチャからなり、任意のフレーム間隔で、符号化されたピクチャを復号化したピクチャにより内部の参照ピクチャが更新される参照リストを有し、
上記参照リストが更新された後、次の符号化対象ピクチャから、次に上記参照リストの更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて、動き補償予測を並列に行い符号化することを特徴とする画像処理方法。
An image processing method for performing motion compensation predictive coding using image data of different frames as a reference picture,
A reference list comprising a plurality of reference pictures, wherein an internal reference picture is updated by a picture obtained by decoding an encoded picture at an arbitrary frame interval;
After the reference list is updated, motion-compensated prediction is performed in parallel for a series of multiple encoding target pictures from the next encoding target picture to the encoding target picture used for the next update of the reference list. An image processing method characterized by performing and encoding.
符号化されるピクチャには、動き補償予測を行わないIピクチャ、前方向予測を行うPピクチャ、及び双方向予測を行うBピクチャがあることを特徴とする請求項1記載の画像処理方法。   The image processing method according to claim 1, wherein the pictures to be encoded include an I picture that does not perform motion compensation prediction, a P picture that performs forward prediction, and a B picture that performs bidirectional prediction. 上記参照リスト内で動き補償予測のために参照される参照ピクチャがp枚、上記一連の複数の符号化対象ピクチャがm枚である場合に(p及びmは任意の自然数)、m枚の符号化対象ピクチャの動き補償予測を行うために、上記参照リストから読み込むデータ量は最大p枚分のピクチャであることを特徴とする請求項1又は2記載の画像処理方法。   When there are p reference pictures referenced for motion compensation prediction in the reference list and m of the series of encoding target pictures (p and m are arbitrary natural numbers), m codes 3. The image processing method according to claim 1, wherein the amount of data read from the reference list is a maximum of p pictures in order to perform motion compensation prediction of a picture to be processed. 上記Iピクチャ及びPピクチャは、定められた間隔で周期的に設定されており、
上記参照リスト内の参照ピクチャは、上記Iピクチャ又はPピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより周期的に更新され、
上記参照リストが更新された後、次に符号化対象となるBピクチャから、次に上記参照リストの更新に使用されるIピクチャ又はPピクチャまでの一連の複数の符号化対象ピクチャについて動き補償予測を並列に行うことを特徴とする請求項2記載の画像処理方法。
The I picture and P picture are periodically set at predetermined intervals.
The reference picture in the reference list is periodically updated by a picture obtained by decoding the encoded picture after encoding the I picture or the P picture.
After the reference list is updated, motion compensation prediction is performed on a series of a plurality of encoding target pictures from a B picture to be encoded next to an I picture or a P picture to be used for updating the reference list next. The image processing method according to claim 2, wherein the image processing is performed in parallel.
上記参照リスト内で動き補償予測のために参照される参照ピクチャがp枚、上記Iピクチャ及びPピクチャが設定される間隔がm枚である場合に(p及びmは任意の自然数)、m枚の符号化対象ピクチャの動き補償予測を行うために、上記参照リストから読み込むデータ量は最大p枚分のピクチャであることを特徴とする請求項4記載の画像処理方法。   When there are p reference pictures referred to for motion compensation prediction in the reference list and the interval between the I picture and P picture is m (p and m are arbitrary natural numbers), m pictures 5. The image processing method according to claim 4, wherein the amount of data read from the reference list is a maximum of p pictures in order to perform motion compensation prediction of the current picture to be encoded. 異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
符号化するピクチャには、動き補償予測を行わないIピクチャ、前方向予測を行うPピクチャ、及び双方向予測を行うBピクチャがあり、
フレームメモリ内に記憶されている参照ピクチャは、上記Iピクチャ又はPピクチャ又は一部のBピクチャを符号化した後、当該符号化されたピクチャを復号化したピクチャにより更新され、
上記フレームメモリの内容が更新された後、次の符号化対象ピクチャから、次に上記フレームメモリの内容更新に使用される符号化対象ピクチャまでの一連の複数の符号化対象ピクチャについて、動き補償予測を並列に行い符号化することを特徴とする画像処理方法。
An image processing method for performing motion compensation predictive coding using image data of different frames as a reference picture,
The pictures to be encoded include an I picture that does not perform motion compensation prediction, a P picture that performs forward prediction, and a B picture that performs bidirectional prediction.
The reference picture stored in the frame memory is updated with a picture obtained by decoding the encoded picture after encoding the I picture, the P picture or a part of the B picture,
After the contents of the frame memory are updated, motion compensated prediction is performed for a series of a plurality of encoding target pictures from the next encoding target picture to the encoding target picture used for updating the contents of the frame memory next. An image processing method characterized in that encoding is performed in parallel.
上記フレームメモリ内で動き補償予測のために参照される参照ピクチャが2枚、上記一連の複数の符号化対象ピクチャがm枚である場合に(mは任意の自然数)、m枚の符号化対象ピクチャの動き補償予測を行うために、上記フレームメモリから読み込むデータ量は最大2枚分のピクチャであることを特徴とする請求項6記載の画像処理方法。   When there are two reference pictures referenced for motion compensation prediction in the frame memory and m of the series of plural encoding target pictures (m is an arbitrary natural number), m encoding targets 7. The image processing method according to claim 6, wherein the amount of data read from the frame memory for performing motion compensation prediction of a picture is a maximum of two pictures. 各符号化対象ピクチャについて動き補償予測を行うマクロブロックをそれぞれ1つ選択するとともに、選択したマクロブロックに共通する探索範囲を各参照ピクチャから読み出して、上記各マクロブロックの探索範囲についてそれぞれ動き補償予測を行い、
すべてのマクロブロックの動き補償予測が終わった後、次のマクロブロックを各符号化対象ピクチャから選択し、当該次のマクロブロックに共通する探索範囲に応じて各参照ピクチャから画像データを読み出して、上記次の各マクロブロックの探索範囲についてそれぞれ動き補償予測を行うことを順次繰り返して、複数の符号化対象ピクチャについて並列に動き補償予測を行うことを特徴とする請求項1〜7の何れか1項に記載の画像処理方法。
One macroblock for which motion compensation prediction is performed for each encoding target picture is selected, and a search range common to the selected macroblock is read from each reference picture, and motion compensation prediction is performed for each search range of each macroblock. And
After motion compensated prediction of all macroblocks is completed, the next macroblock is selected from each encoding target picture, and image data is read from each reference picture according to the search range common to the next macroblock, 8. The motion compensation prediction is performed in parallel for a plurality of encoding target pictures by sequentially repeating the motion compensation prediction for the search range of each of the following macroblocks. The image processing method according to item.
請求項1、4、6の何れか1項に記載の画像処理方法を用いる画像処理装置であって、
参照ピクチャの画像データを記憶するメモリ手段と、
上記動き補償予測を含む符号化処理を行う符号化手段とを備えることを特徴とする画像処理装置。
An image processing apparatus using the image processing method according to any one of claims 1, 4, and 6,
Memory means for storing image data of a reference picture;
An image processing apparatus comprising: an encoding unit that performs an encoding process including the motion compensation prediction.
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理方法であって、
上記参照ピクチャを記憶手段に記憶させる記憶ステップと、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出しステップと、
上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化ステップとを有することを特徴とする画像処理方法。
An image processing method for performing motion compensation predictive coding using image data of different frames as a reference picture,
A storage step of storing the reference picture in a storage means;
After updating the reference picture stored in the storage means, it corresponds to a plurality of encoding target picture macroblocks from the next encoding target picture to the next encoding target picture stored as a reference picture in the storage means. A step of reading out image data of a common search range from each reference picture stored in the storage unit;
A coding step for performing coding by performing motion compensation prediction in parallel for the macroblocks of the plurality of coding target pictures using the image data in the common search range read in the reading step. An image processing method.
上記共通の探索範囲は、上記複数の符号化対象ピクチャの各マクロブロックに対するそれぞれの探索範囲が包含される範囲であることを特徴とする請求項10記載の画像処理方法。   11. The image processing method according to claim 10, wherein the common search range is a range in which each search range for each macroblock of the plurality of encoding target pictures is included. 上記符号化ステップでは、上記読み出しステップにて読み出された上記共通の探索範囲の画像データのうち、各符号化対象ピクチャのマクロブロックの探索範囲に対応する画像データで動き補償予測を行うことを特徴とする請求項10又は11記載の画像処理方法。   In the encoding step, motion compensation prediction is performed using image data corresponding to the search range of the macroblock of each encoding target picture among the image data in the common search range read in the reading step. 12. The image processing method according to claim 10 or 11, wherein the image processing method is characterized in that: 異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理装置であって、
上記参照ピクチャが記憶される記憶手段と、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出し手段と、
上記読み出し手段により読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化手段とを備えることを特徴とする画像処理装置。
An image processing apparatus that performs motion compensation prediction coding using image data of different frames as a reference picture,
Storage means for storing the reference picture;
After updating the reference picture stored in the storage means, it corresponds to a plurality of encoding target picture macroblocks from the next encoding target picture to the next encoding target picture stored as a reference picture in the storage means. Reading means for reading out image data of a common search range from each reference picture stored in the storage means;
And coding means for performing motion-compensated prediction in parallel on the macroblocks of the plurality of coding target pictures using the image data in the common search range read by the reading means. An image processing apparatus.
異なるフレームの画像データを参照ピクチャとして動き補償予測符号化を行う画像処理をコンピュータに実行させるためのプログラムであって、
上記参照ピクチャを記憶手段に記憶させる記憶ステップと、
上記記憶手段に記憶される参照ピクチャの更新後、次の符号化対象ピクチャから上記記憶手段に参照ピクチャとして次に記憶される符号化対象ピクチャまでの複数の符号化対象ピクチャのマクロブロックに対応する共通の探索範囲の画像データを、上記記憶手段に記憶されている各参照ピクチャから読み出す読み出しステップと、
上記読み出しステップにて読み出された上記共通の探索範囲の画像データを用い、上記複数の符号化対象ピクチャのマクロブロックについて動き補償予測を並列に行い符号化する符号化ステップとをコンピュータに実行させるためのプログラム。
A program for causing a computer to execute image processing for performing motion compensation prediction encoding using image data of different frames as a reference picture,
A storage step of storing the reference picture in a storage means;
After updating the reference picture stored in the storage means, it corresponds to a plurality of encoding target picture macroblocks from the next encoding target picture to the next encoding target picture stored as a reference picture in the storage means. A step of reading out image data of a common search range from each reference picture stored in the storage unit;
Using the image data in the common search range read in the reading step, the computer executes a coding step of performing motion-compensated prediction in parallel for the macroblocks of the plurality of coding target pictures. Program for.
請求項14記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。   15. A computer-readable recording medium on which the program according to claim 14 is recorded.
JP2006155175A 2006-06-02 2006-06-02 Image processing apparatus and image processing method Expired - Fee Related JP4822940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006155175A JP4822940B2 (en) 2006-06-02 2006-06-02 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006155175A JP4822940B2 (en) 2006-06-02 2006-06-02 Image processing apparatus and image processing method

Publications (3)

Publication Number Publication Date
JP2007325119A true JP2007325119A (en) 2007-12-13
JP2007325119A5 JP2007325119A5 (en) 2009-07-16
JP4822940B2 JP4822940B2 (en) 2011-11-24

Family

ID=38857501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006155175A Expired - Fee Related JP4822940B2 (en) 2006-06-02 2006-06-02 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP4822940B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290387A (en) * 2008-05-28 2009-12-10 Hitachi Ltd Encoder, decoder and recording reproducing device
WO2012090495A1 (en) * 2010-12-27 2012-07-05 パナソニック株式会社 Image encoding method and image decoding method
WO2012090491A1 (en) * 2010-12-28 2012-07-05 パナソニック株式会社 Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
US8849048B2 (en) 2010-11-12 2014-09-30 Samsung Electronics Co., Ltd. Apparatus for decoding image data based on availability of reference data and method thereof
JP2014529256A (en) * 2011-09-30 2014-10-30 インテル コーポレイション System, method and computer program for video encoding pipeline

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07288818A (en) * 1994-04-19 1995-10-31 Sony Corp Motion vector detector
JPH089385A (en) * 1994-06-20 1996-01-12 Oki Electric Ind Co Ltd Dynamic image encoder
JPH09271028A (en) * 1996-04-03 1997-10-14 Nec Corp Motion vector detecting circuit
JP2000295616A (en) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd Image coder, image decoder, image coding method, image decoding method and program storage medium
JP2004173009A (en) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd Apparatus for detecting motion vector and method of detecting motion vector

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07288818A (en) * 1994-04-19 1995-10-31 Sony Corp Motion vector detector
JPH089385A (en) * 1994-06-20 1996-01-12 Oki Electric Ind Co Ltd Dynamic image encoder
JPH09271028A (en) * 1996-04-03 1997-10-14 Nec Corp Motion vector detecting circuit
JP2000295616A (en) * 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd Image coder, image decoder, image coding method, image decoding method and program storage medium
JP2004173009A (en) * 2002-11-20 2004-06-17 Matsushita Electric Ind Co Ltd Apparatus for detecting motion vector and method of detecting motion vector

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009290387A (en) * 2008-05-28 2009-12-10 Hitachi Ltd Encoder, decoder and recording reproducing device
US8849048B2 (en) 2010-11-12 2014-09-30 Samsung Electronics Co., Ltd. Apparatus for decoding image data based on availability of reference data and method thereof
WO2012090495A1 (en) * 2010-12-27 2012-07-05 パナソニック株式会社 Image encoding method and image decoding method
US9264726B2 (en) 2010-12-28 2016-02-16 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list and a second reference picture list
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
WO2012090491A1 (en) * 2010-12-28 2012-07-05 パナソニック株式会社 Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device
US9445105B2 (en) 2010-12-28 2016-09-13 Sun Patent Trust Image decoding method of decoding a current picture with prediction using one or both of a first reference picture list and a second reference picture list
JP6008291B2 (en) * 2010-12-28 2016-10-19 サン パテント トラスト Image encoding method and image encoding apparatus
US9729877B2 (en) 2010-12-28 2017-08-08 Sun Patent Trust Image decoding method of decoding a current picture with prediction using one or both of a first reference picture list and a second reference picture list
US9998736B2 (en) 2010-12-28 2018-06-12 Sun Patent Trust Image decoding apparatus for decoding a current picture with prediction using one or both of a first reference picture list and a second reference picture list
US10574983B2 (en) 2010-12-28 2020-02-25 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US10638128B2 (en) 2010-12-28 2020-04-28 Sun Patent Trust Image decoding apparatus for decoding a current picture with prediction using one or both of a first reference picture list and a second reference picture list
US10880545B2 (en) 2010-12-28 2020-12-29 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US11310493B2 (en) 2010-12-28 2022-04-19 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
JP2014529256A (en) * 2011-09-30 2014-10-30 インテル コーポレイション System, method and computer program for video encoding pipeline

Also Published As

Publication number Publication date
JP4822940B2 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
US9973756B2 (en) Video encoder and video encoding method
US10291925B2 (en) Techniques for hardware video encoding
JP4480156B2 (en) Image processing apparatus and method
JP4501631B2 (en) Image coding apparatus and method, computer program for image coding apparatus, and portable terminal
JP2006173808A (en) In-plane prediction device and method
JP2007251865A (en) Image data processing apparatus, image data processing method, program for image data processing method, and recording medium recording program for image data processing method
JP4822940B2 (en) Image processing apparatus and image processing method
JP2008182527A (en) Image coding device and method, and imaging system
US8731311B2 (en) Decoding device, decoding method, decoding program, and integrated circuit
CN101325709A (en) Motion refinement engine with selectable partitionings for use in video encoding and methods for use therewith
JP4898415B2 (en) Moving picture coding apparatus and moving picture coding method
JP2010193401A (en) Image encoding method and apparatus
JP2010081498A (en) Image compression coding method and apparatus
US10142633B2 (en) Flexible coding unit ordering and block sizing
US9812095B2 (en) Video processing method including managing a reference picture list and video system therefore
JP2007067526A (en) Image processor
JP7359653B2 (en) Video encoding device
JP2009296363A (en) Motion vector search apparatus, and motion vector search method
US10951900B2 (en) Speeding up small block intra-prediction in video coding
JP4590337B2 (en) Moving picture coding apparatus and moving picture coding method
JP5094750B2 (en) Moving picture coding apparatus and moving picture coding method
JP2006324906A (en) Image coding method and image coding apparatus
JP2008154085A (en) Dynamic image encoding device and dynamic image encoding method
JP2014075708A (en) Moving image encoder and moving image encoding method
JP2021061547A (en) Image encoding device, image encoding method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

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: 20110830

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: 20110906

R151 Written notification of patent or utility model registration

Ref document number: 4822940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees