JP6740549B2 - Moving picture coding apparatus, method, program, and moving picture coding system - Google Patents
Moving picture coding apparatus, method, program, and moving picture coding system Download PDFInfo
- Publication number
- JP6740549B2 JP6740549B2 JP2016052124A JP2016052124A JP6740549B2 JP 6740549 B2 JP6740549 B2 JP 6740549B2 JP 2016052124 A JP2016052124 A JP 2016052124A JP 2016052124 A JP2016052124 A JP 2016052124A JP 6740549 B2 JP6740549 B2 JP 6740549B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- search
- motion
- image
- motion vector
- 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.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、動画像符号化装置、方法、プログラム、および動画像符号化システムに関する。 The present invention relates to a moving picture coding device, method, program, and moving picture coding system.
動画像を圧縮する方法として、動画像を構成する複数のフレーム(動画像を構成する各静止画像)間の類似性を利用し、動画像を符号化する方法が知られている。この方法は、例えば基準となる静止画像(以下、符号化対象画像と呼ぶ)の前後(過去、または未来)のいずれかの静止画像(以下、参照画像と呼ぶ)との差分を算出することで動画像を符号化する。一般的に、動画像を符号化する際には、各静止画像をブロック単位で複数の領域に分割し、符号化対象画像と参照画像との類似点をブロック単位ごとの画素データを比較することで予測画像を生成する。 As a method of compressing a moving image, there is known a method of encoding the moving image by utilizing the similarity between a plurality of frames forming the moving image (each still image forming the moving image). In this method, for example, by calculating a difference between a still image serving as a reference (hereinafter, referred to as an encoding target image) and a still image (hereinafter, referred to as a reference image) before or after (past or future) Encode the moving image. Generally, when encoding a moving image, each still image is divided into a plurality of regions in block units, and the similarity between the encoding target image and the reference image is compared with pixel data in each block unit. Generate a predicted image with.
図10を参照して、動画像を符号化する方法について説明する。図10は動画像を符号化する方法を説明するための概念図であり、図10(a)は参照画像を使用しないで動画像を符号化する方法を示し、図10(b)は参照画像を使用して動画像を符号化する方法を示している。 A method for encoding a moving image will be described with reference to FIG. FIG. 10 is a conceptual diagram for explaining a method for encoding a moving image, FIG. 10( a) shows a method for encoding a moving image without using a reference image, and FIG. 10( b) is a reference image. 2 shows a method of encoding a moving image using.
図10(a)において、符号化対象画像10の中央部の正方形で囲まれたブロック11(以下、符号化対象ブロックと呼ぶ)を符号化する場合を考える。符号化対象ブロック11を、そのまま符号化すると符号量は大きくなる。
In FIG. 10A, consider a case where a
一方、図10(b)のように、参照画像12を使用して符号化対象ブロック11を符号化する方法を考える。この場合、まず符号化対象画像10の前後のフレームを参照画像12として定義し、符号化対象ブロック11と類似する画素データのブロック(以下、予測対象ブロックと呼ぶ)を参照画像内から探索(以下、動き探索と呼ぶ)する。そして、動き探索の探索結果に基づいて予測対象ブロック14を含む予測画像13を生成する。
On the other hand, as shown in FIG. 10B, consider a method of encoding the
次に、予測対象ブロック14と符号化対象ブロック11との間の差分値に基づいて、符号化対象画像を符号化する。このとき、最終的な符号量は、参照画像の位置を示す動きベクトルに、予測画像と参照画像との間の差分値を加えた値になる。
Next, the encoding target image is encoded based on the difference value between the
符号化対象画像と符号化対象画像に類似する予測画像との間の差分は小さいので、参照画像を使用して符号化する方法は、参照画像を使用しないで符号化する場合と比べて符号量は小さい。 Since the difference between the target image to be encoded and the predicted image similar to the target image to be encoded is small, the method of encoding using the reference image has a larger code amount than the case of encoding without using the reference image. Is small.
しかしながら、参照画像を使用して動画像を符号化する方法は、参照画像の全ての範囲について動き探索を実行する必要がある。参照画像の全ての範囲について動き探索を実行するには時間が掛かるので、高速に符号化する必要のあるエンコーダ、ハードウェアエンコーダ等において、参照画像を使用して動画像を符号化することは困難である。このため、動き探索には、動きベクトルの取り得る範囲を限定する方法が検討されている。以下では、この動きベクトルが取り得る範囲を探索許可範囲と呼ぶ。また、探索許可範囲内を全て探索するのではなく、符号化対象ブロックとの類似点が存在する可能性の高い範囲のみを探索するために、探索許可範囲の中心から一定範囲に限定して探索する手法も検討されている。以下では、実際に動き探索を実行する範囲のことを探索範囲と呼ぶ。 However, the method of coding a moving image using a reference image needs to perform a motion search for the entire range of the reference image. Since it takes time to perform the motion search for the entire range of the reference image, it is difficult to encode the moving image using the reference image in an encoder, a hardware encoder, etc. that needs to be encoded at high speed. Is. For this reason, a method of limiting the range that a motion vector can take is being studied for motion search. Below, the range which this motion vector can take is called a search permission range. Also, in order to search only the range in which there is a high possibility that there is a similarity with the target block, instead of searching the entire search permitted range, the search is limited to a certain range from the center of the search permitted range. Methods to do so are also being considered. Below, the range in which the motion search is actually executed is called the search range.
特許文献1に記載の動画像符号化装置は、符号化画像と同一フレーム内の周辺画像の類以度を判別することで動き探索の中心を決定し、動きベクトルの探索範囲を最適化している。
The moving picture coding apparatus described in
非特許文献1に記載の動き探索は、動き探索の中心を、複数の候補から選択して導出することで、動きベクトルの探索範囲を限定している。
The motion search described in Non-Patent
Full HD(High Definition Video),4K,8K等の画面サイズの大きい動画像を符号化する場合、動き探索の探索範囲を探索中心から一定範囲に限定する手法を用いたとしても、探索許可範囲の参照箇所は、ブロックによって異なる。そのため、動画像を高速に符号化するためには、探索範囲の画像データを装置の内部に格納する必要がある。しかしながら、探索許可範囲が大きい場合は、情報量も膨大となるので探索許可範囲の画像データ全てを格納できるような記憶装置を内部に設置することは困難である。したがって、画像データが大きい場合には、通常、外部記憶装置に画像データを格納する。ここで、外部記憶装置は、例えばハードウェアエンコーダの場合、エンコーダコア外部に設置されているSDRAM(Synchronous Dynamic Random Access Memory)等である。しかしながら、外部記憶装置に画像データを格納した場合、外部記憶装置はアクセス遅延が大きく、画像データの読み出しに時間が掛かるので符号化の際に遅延が生じる問題がある。 When encoding a moving image with a large screen size such as Full HD (High Definition Video), 4K, 8K, even if a method of limiting the search range of the motion search from the search center to a certain range is used, The reference location differs depending on the block. Therefore, in order to encode a moving image at high speed, it is necessary to store image data in the search range inside the device. However, when the search permission range is large, the amount of information becomes enormous, and it is difficult to install a storage device capable of storing all the image data in the search permission range inside. Therefore, when the image data is large, the image data is usually stored in the external storage device. Here, the external storage device is, for example, in the case of a hardware encoder, an SDRAM (Synchronous Dynamic Random Access Memory) or the like installed outside the encoder core. However, when the image data is stored in the external storage device, the external storage device has a large access delay and it takes time to read the image data, so that there is a problem that a delay occurs in encoding.
特許文献1は、符号化画像を出力する符号化画像メモリと、参照画像を出力する参照画像メモリを備えている。そのため、特許文献1は、画面サイズが大きくなった場合に、符号化に必要な画像データを外部記憶装置に格納する必要があるので、符号化に遅延が生じる可能性がある。
非特許文献1は、キャッシュ機構により全データを保持しない方式をとっているものの、キャッシュ機構が複雑になり、かつハードウェアエンコーダでは回路規模が増大したり、キャッシュヒットしない場合に遅延が生じたりする可能性がある。
In
本発明の目的は、動画像を符号化する際に、動画像を保持するキャッシュ機構が不要であり、かつ遅延が生じない動画像符号化装置、方法、プログラム、および動画像符号化システムを提供することにある。 An object of the present invention is to provide a moving picture coding apparatus, method, program, and moving picture coding system that does not require a cache mechanism for holding a moving picture when coding a moving picture and that does not cause delay. To do.
本発明の一態様の動画像符号化装置は、動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し部と、前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索部と、を備え、前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、前記参照画像読み出し部は、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する。 A moving image encoding device according to one aspect of the present invention reads image data in a predetermined area of a reference image corresponding to an encoding target image from an external storage device that holds a plurality of still images that form a moving image, a reference image reading unit to be stored in the internal buffer, using the image data of a predetermined region of the reference image stored in the internal buffer, the encoding target area of the target image for encoding, the coding target A motion search is executed for a first search range centered on a vector of a region adjacent to the region and a second search range centered on a zero vector of the encoding target region , and search results are respectively set to the first and second search results . And a vector search unit for generating a motion vector having the best evaluation function value. The vector search unit compares the evaluation function values of the first and second motion vectors and selects the motion vector with the best evaluation function value. Then, output as an evaluation motion vector, the reference image reading unit, from the external storage device, the previous search range corresponding to the evaluation motion vector previously output by the vector search unit and the vector search unit next time. With respect to the next search range corresponding to the motion vector for performing the motion search, the image data is read out by using the area obtained by at least doubling the vertical and horizontal directions of the search range as the predetermined area, and then reading the image data into the internal buffer. Store.
本発明の他の態様の動画像符号化方法は、参照画像読み出し部が、動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納し、ベクトル探索部が、前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成し、前記ベクトル探索部が、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、前記参照画像読み出し部が、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する。 In a moving image coding method according to another aspect of the present invention, a reference image reading unit is configured to detect a predetermined area of a reference image corresponding to a coding target image from an external storage device that holds a plurality of still images forming a moving image. Of the image data of the reference image is stored in the internal buffer, and the vector search unit uses the image data of the predetermined region of the reference image stored in the internal buffer as the encoding target region of the encoding target image. On the other hand, the motion search is executed for the first search range centered on the vector of the region adjacent to the coding target region and the second search range centered on the zero vector of the coding target region, and the search result As the first and second motion vectors, respectively, and the vector search unit compares the evaluation function values of the first and second motion vectors and selects the motion vector with the best evaluation function value. Then, output as an evaluation motion vector, the reference image reading unit, from the external storage device, the previous search range corresponding to the evaluation motion vector previously output by the vector search unit and the vector search unit next time. With respect to the next search range corresponding to the motion vector for performing the motion search, the image data is read out by using the area obtained by at least doubling the vertical and horizontal directions of the search range as the predetermined area, and then reading the image data into the internal buffer. Store.
本発明の他の態様の動画像符号化プログラムは、コンピュータを、動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し手段と、前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索手段と、して機能させる動画像符号化プログラムであって、前記ベクトル探索手段は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、前記参照画像読み出し手段は、前記外部記憶装置から、前記ベクトル探索手段が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索手段が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する。 According to another aspect of the present invention, there is provided a moving image encoding program, which causes a computer to extract image data of a predetermined area of a reference image corresponding to an encoding target image from an external storage device that holds a plurality of still images forming a moving image. For the encoding target area of the encoding target image by using reference image reading means for reading and storing the image in a predetermined area of the reference image stored in the internal buffer, A motion search is executed for a first search range centered on a vector of a region adjacent to the coding target region and a second search range centered on a zero vector of the coding target region, and the search results are respectively set to the first search range . A moving picture coding program that functions as a vector search means for generating the first and second motion vectors, the vector search means comparing the evaluation function values of the first and second motion vectors. Then, the motion vector having the best evaluation function value is selected and output as an evaluation motion vector, and the reference image reading unit, from the external storage device, to the evaluation motion vector previously output by the vector searching unit. the relative and next search range corresponding to the motion vector corresponding previous search range and the vector search unit performs the motion search to the next, at least twice the area of the vertical and horizontal their search range prescribed The image data is read out as the area of and stored in the internal buffer.
本発明の他の態様の動画像符号化システムは、動画像を構成する複数の静止画像を保持する外部記憶装置と、前記外部記憶装置から符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し部と、前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索部と、を備え、前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、前記参照画像読み出し部は、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する。 According to another aspect of the present invention, there is provided a moving image coding system, comprising: an external storage device that holds a plurality of still images that form a moving image; and a predetermined area of a reference image corresponding to the encoding target image from the external storage device. A reference image reading unit that reads out image data and stores the image data in an internal buffer, and image data of a predetermined region of the reference image stored in the internal buffer, is used for an encoding target region of the encoding target image. Then, a motion search is executed for a first search range centered on a vector of a region adjacent to the coding target region and a second search range centered on a zero vector of the coding target region, and a search result is obtained. And a vector search unit that generates a first motion vector and a second motion vector, respectively. The vector search unit compares evaluation function values of the first and second motion vectors, and the evaluation function value is the highest. Selecting a good motion vector and outputting it as an evaluation motion vector, the reference image reading unit, from the external storage device, the previous search range corresponding to the evaluation motion vector previously output by the vector searching unit and the The vector search unit reads the image data with a region obtained by at least doubling the vertical and horizontal directions of the next search range corresponding to the motion vector for which the motion search is performed next time as the predetermined region. However, it is stored in the internal buffer.
本発明によれば、動画像を符号化する際に、動画像を保持するキャッシュ機構が不要であり、かつ遅延が生じない動画像符号化装置、方法、プログラム、および動画像符号化システムを提供することができる。 According to the present invention, a moving picture coding apparatus, method, program, and moving picture coding system that do not require a cache mechanism for holding a moving picture when a moving picture is coded and do not cause a delay are provided. can do.
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。なお、繰り返し説明することによる煩雑さを避けるため、各図において同一、または相当する部分には同一の符号を付して適宜説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, in order to avoid complication due to repetitive description, the same or corresponding portions in each drawing are denoted by the same reference numerals, and description thereof will be appropriately omitted.
[第1の実施形態]
[動画像符号化装置]
図1を参照して、本発明の第1の実施形態に係る動画像符号化装置100について説明する。
[First Embodiment]
[Video Coding Device]
A moving
動画像符号化装置100は、参照画像読み出し部110と、ベクトル探索部120と、を備える。
The moving
参照画像読み出し部110は、複数の静止画像(フレーム)から構成された動画像を保持する外部記憶装置(図示しない)から、符号化対象画像の参照画像を読み出す。参照画像とは、符号化対象画像に対して過去、または未来の静止画像を意味している。また、参照画像読み出し部110は、外部記憶装置から読み出した参照画像を内部バッファに格納する。ここで、内部バッファは、参照画像読み出し部110が備えていてもよいし、参照画像読み出し部110とは独立に動画像符号化装置100が備えていてもよい。
The reference
ベクトル探索部120は、符号化対象画像と内部バッファに格納された参照画像に基づいて、符号化対象画像の符号化対象領域に対して任意の探索範囲で動き探索を実行し、探索結果を動きベクトルとして生成する。ここで、ベクトル探索部120は、探索範囲の中心を位置座標で指定してもよいし、符号化対象領域からのベクトルで指定してもよい。また、ベクトル探索部120は、任意のそれぞれ範囲の異なるN(Nは2以上の整数)個の探索範囲を第1〜第Nの探索範囲とした場合に、それぞれの探索範囲について動き探索を実行し、探索結果を第1〜第Nの動きベクトルとして生成する。さらに、ベクトル探索部120は、第1〜第Nの動きベクトルの評価関数値を比較し、評価関数値が最も良好な1つの動きベクトルを選択して評価動きベクトルして出力する。
The
ここで、評価関数値としては、例えば符号化対象画像と参照画像との間の類似度が高い点を探索するSAD(Sum of Absolute Difference)を利用することができる。この場合、最も良好な動きベクトルとはSADの値が最も小さい動きベクトルのことを意味する。なお、評価関数値の比較の方法は上記に限定されず、符号化対象画像20と参照画像30とを比較できる評価方法であればよい。
Here, as the evaluation function value, for example, SAD (Sum of Absolute Difference) that searches for a point having a high similarity between the encoding target image and the reference image can be used. In this case, the best motion vector means the motion vector having the smallest SAD value. The method of comparing the evaluation function values is not limited to the above, and any evaluation method that can compare the
[動きベクトルの概念]
図2を参照して、動画像符号化装置100が生成する動きベクトルの概念について説明する。図2は、符号化対象画像20と、参照画像30とを示している。
[Concept of motion vector]
The concept of the motion vector generated by the moving
符号化対象画像20は、動画像を構成する複数の静止画像の内、動画像を符号化する際の基準となる任意の静止画像である。図2において、符号化対象画像20は、符号化対象ブロック21を含んでいる。符号化対象ブロック21は、符号化対象画像20の中で符号化対象となる領域である。
The
参照画像30は、動画を構成する複数の静止画像の内、例えば符号化対象画像20に対して1フレーム分過去(または未来)の静止画像である。探索範囲31は、参照画像30内において、動画像符号化装置100が動き探索を実行する範囲である。探索範囲31は、特に限定しないが、符号化対象ブロック21の近傍であることが好ましい。これは、参照画像30が符号化対象画像20に対して1フレーム分過去の静止画像である場合、符号化対象ブロック21の位置は大きく変化しない可能性が高いためである。また、動き探索を実行する範囲を符号化対象ブロック21のゼロベクトルとすることで、参照画像30において符号化対象ブロック21と同じ位置で動き探索を実行してもよい。予測対象ブロック32は、探索範囲31内において、符号化対象ブロック21と最も類似する領域である。つまり、動画像符号化装置100は、探索範囲31内を探索することで予測対象ブロック32の位置を探索する。
The
動きベクトル40は、予測対象ブロック32に対する符号化対象ブロック21の動きを示している。なお、図2において、動きベクトルは動きベクトル40のみを示しているが、動き探索を実行する範囲を複数設定することで、動画像符号化装置100は複数の動きベクトルを生成することができる。
The
[動画像符号化装置の動作]
図3を参照して、動画像符号化装置100の動作の具体例について説明する。図3は、複数の領域を有する符号化対象画像20’、および参照画像30’を示している。
[Operation of video encoding device]
A specific example of the operation of the moving
図3に示すように、符号化対象画像20’は、横4ブロック×縦3ブロックのブロック1〜12の計12個の領域を含んでいる。参照画像30’は、ブロック1’〜12’の計12個の領域を含んでいる。ここで、ブロック1’〜12’の位置は、ブロック1〜12の位置にそれぞれ対応している。
As shown in FIG. 3, the
ブロック1〜12の内、符号化対象ブロックの動きベクトルを生成するためには、その符号化対象ブロックの近傍のブロックを探索範囲として動き探索を実行することが効果的である。例えば符号化対象ブロックをブロック2とした場合に、ブロック2の動きベクトルを生成する際には、近傍のブロック(隣接ブロック)として、例えば、左に隣接しているブロック1’のベクトル(位置)を中心とする範囲を探索範囲として動き探索を実行することが効果的である。この場合、動画像符号化装置100は、外部記憶装置から参照画像30’の内、探索範囲としてブロック1’を読み出して動き探索を実行する。なお、ブロック1’の動き探索では動きベクトルを生成できなかった場合、動画像符号化装置100は、ブロック1’の探索の終了後、ブロック2’、ブロック3’、およびブロック4’の順に横一列のブロックに対して動き探索を実行するものとする。
In order to generate the motion vector of the coding target block among the
ここで、ブロック1’のベクトルを中心として動き探索を実行し、次のブロック2について動き探索をする場合、動画像復号化装置100は、ブロック1’の動き探索が終了した後に、外部記憶装置から動き探索の範囲としてブロック2’を参照画像として読み出す。そのため、動画像符号化装置100は、外部記憶装置から参照画像を読み出した後にブロック2の動き探索を実行するので、外部記憶装置から参照画像を読み出すまでの時間は遅延時間となり符号化の効率は悪化する。これは、例えば符号化対象ブロックをブロック6とした場合に、上に隣接するブロック2’に対して動き探索を実行した場合にも、横一列のブロックに対して動き探索を実行した時と同様の遅延が生じる場合には、動き探索を実行するまでに遅延が生じる。
Here, when performing the motion search centering on the vector of the
そのため、第1の実施形態の動画像符号化装置100は、例えば符号化対象ブロックの2つ左の近接ブロックの動きベクトルの情報を先読みすることで遅延時間を解消する。具体的には、第1の実施形態は、動画像符号化装置100のベクトル探索部120の動き探索の結果を参照画像読み出し部110が利用することで遅延時間を解消することができる。
Therefore, the moving
以下では、動画像符号化装置100が符号化対象ブロックに対して2つの探索範囲について動き探索を実行することで、遅延時間を解消する方法を説明する。
In the following, a method will be described in which the moving
2つの探索範囲については、特に限定しないが、例えば隣接ブロックとして符号化対象ブロックの左に隣接するブロックのベクトル(位置)を動き探索の中心とする探索範囲と、左に隣接するブロックのベクトルとは異なるベクトル(位置)を動き探索の中心とする探索範囲である。ここで、符号化対象ブロックの左に隣接するブロックのベクトルとは異なるベクトルとしては、特に限定しないが、例えば符号化対象ベクトルのゼロベクトルとすることができる。また、左に隣接するブロックの動きベクトルと異なるベクトルとして、例えば縮小画像や画素を間引いた画像を用いて、事前に広い範囲を探索して得られた動きベクトルを用いてもよい。 For two of the search range, is not particularly limited, for example, a search range for the vector of a block adjacent to the left of the encoding target block as a contiguous block (position) and the center of the motion search, the vector of a block adjacent to the left Is a search range with different vectors (positions) as the center of motion search . Here, the vector different from the vector of the block adjacent to the left of the encoding target block is not particularly limited, but may be, for example, a zero vector of the encoding target vector. Further, as a vector different from the motion vector of the block adjacent to the left, for example, a motion vector obtained by searching a wide range in advance using a reduced image or an image in which pixels are thinned out may be used.
なお、簡単のため2つの動きベクトルに基づいて動画像を符号化する場合について説明するが、これは例示であり、本発明を限定するものではない。本発明は、N個の動きベクトルに基づいて符号化対象画像を符号化することができる。 Note that, for simplicity, a case will be described in which a moving image is encoded based on two motion vectors, but this is an example and does not limit the present invention. The present invention can encode a target image for encoding based on N motion vectors.
まず、参照画像読み出し部110は、符号化対象画像に対応する参照画像を外部記憶装置から読み出し内部バッファに格納する。
First, the reference
ベクトル探索部120は、符号化対象画像と内部バッファに格納された参照画像に基づいて、符号化対象ブロックの左に隣接するブロック(左隣接ブロック)のベクトルを中心に動き探索を実行し、探索結果を第1の動きベクトルとして生成する。ここで、ベクトル探索部120が、後述する評価動きベクトルとして、左隣接ブロックの動きベクトルを生成するのは、次の2種類の動き探索を実行したときである。具体的には、符号化対象ブロックの左に隣接するブロック(左隣接ブロック)でゼロベクトルを中心とした動き探索を実行したときと、符号化対象ブロックの2つ左の近接ブロックの動きベクトルを中心とした動き探索を実行したときである。
The
また、ベクトル探索部120は、符号化対象ブロックのゼロベクトルを中心に動き探索を実行し、探索結果を第2の動きベクトルとして出力する。そして、ベクトル探索部120は、第1の動きベクトルの評価関数値と第2の動きベクトルの評価関数値とを比較し、評価関数値の良好の方を評価動きベクトルとして出力する。ここで、評価動きベクトルとしては、例えば符号化対象ブロックの2つ左の近接ブロックの動きベクトルとなる場合があることに注意されたい。また、評価動きベクトルで指定される参照画像内のブロックを予測対象ブロックとする。さらに、次回、ベクトル探索部120は、前回の第1の動きベクトルおよび第2の動きベクトルに対応する探索範囲とは異なる、新たな第1の動きベクトルおよび第2の動きベクトルに対応する探索範囲において動き探索し、評価動きベクトルを第3の動きベクトルとして生成する。
Furthermore, the
参照画像読み出し部110は、前回出力された評価動きベクトルおよび第3の動きベクトルのそれぞれについて、ベクトル探索部120における探索範囲の縦と横が少なくとも2倍の領域にある参照画像を外部記憶装置から読み出す。そして、参照画像読み出し部120は、読み出した参照画像を内部バッファに格納する。
Reference
次に、ベクトル探索部120は、符号化対象ブロックと類似する予測対象ブロックの位置を探索する。ここで、ベクトル探索部120において、評価動きベクトルとして、例えば、符号化対象ブロックの左に隣接するブロック(左隣接ブロック)の動きベクトルを生成するのは、上述したような2つの探索範囲について動き探索を実行したときである。そのため、ベクトル探索部120は、予測対象ブロックの位置を探索するために、次に述べる3つの動き探索を実行することになる。
Next, the
1個目の動き探索は、符号化対象ブロックのゼロベクトルを中心とした動き探索(以下、探索Aと呼ぶ)である。2個目の動き探索は、符号化対象ブロックの左に隣接するブロック(左隣接ブロック)でゼロベクトルを中心とした動き探索で生成された動きベクトルを中心とした動き探索(以下、探索Bと呼ぶ)である。そして、3個目の動き探索は、符号化対象ブロックの2つ左の近接ブロックの動きベクトルを中心とした動き探索で生成された動きベクトルを中心とした動き探索(以下、探索Cと呼ぶ)である。 The first motion search is a motion search centered on the zero vector of the current block (hereinafter referred to as search A). The second motion search is a motion search centered on the motion vector generated by the motion search centered on the zero vector in the block adjacent to the left of the encoding target block (left adjacent block) (hereinafter, search B and Call). Then, the motion estimation of the three eyes, the two left adjacent block motion vectors motion search around the motion vector generated by the motion search around the encoding target block (hereinafter, referred to as the search C) Is.
参照画像読み出し部110は、符号化対象ブロックのゼロベクトルを中心とする探索範囲に対して、探索範囲の少なくとも縦と横とを2倍した領域を追加した参照画像を読み出す(以下、読み出しAと呼ぶ)。また、参照画像読み出し部120は、符号化対象ブロックの2つ左の近接ブロックの動きベクトルを中心とする探索の探索結果(予測対象ブロック)に対して、探索範囲を追加した参照画像を読み出す(以下、読み出しBと呼ぶ)。
Reference
上述の通り、ベクトル探索部120は、読み出しBの前に、探索Cを実行している。つまり、読み出しBによって読み出す参照画像の範囲は、読み出しAによって読み出す参照画像の範囲に含まれている。すなわち、参照画像読み出し部120は、符号化対象ブロックの2つ左の近接ブロックの動きベクトル探索結果に対して追加領域を追加することで、読み出しBの処理を省略できる。
As described above, the
したがって、動画像符号化装置100は、予測対象ブロックの動き探索をする際に、外部記憶装置から予測対象ブロックの探索範囲についての参照画像を読み出す必要がないので、参照画像を読み出す際の遅延を解消することができる。
Therefore, the moving
図4は、ベクトル探索部110における探索範囲と、参照画像読み出し部120における読み出した領域の関係を示す模式図である。以下、図4を参照しつつ、参照画像読み出し部120が参照画像を先読みする方法を具体的に説明する。
FIG. 4 is a schematic diagram showing the relationship between the search range in the
参照画像50は、符号化対象ブロックの隣接ブロック51を含んでいる。隣接ブロック51は、符号化対象ブロックのゼロベクトル、または符号化対象ブロックの2つ先の近接ブロックのベクトルを中心とする動き探索で指定され得る。探索範囲52は、隣接ブロック51の探索範囲を示している。
The
参照画像60は、参照画像50において探索範囲52に対して動き探索を実行した探索結果を示しており、探索結果として予測対象ブロック53を含んでいる。本例では、予測対象ブロック53は、探索範囲52の右下に位置していることを示している。
The
参照画像70は、参照画像60に対して、符号化対象ブロックのゼロベクトルを中心とする探索範囲に対して、探索範囲の少なくとも縦と横とを2倍した領域と、予測対象ブロック53の探索範囲を追加した領域とを含んでいる。ここで、探索範囲54は予測対象ブロック53の動き探索の探索範囲であり、追加領域55は隣接ブロック51の探索範囲52に対して縦と横を2倍した領域である。
The
上述の探索Aの探索範囲は、符号化対象ブロックのゼロベクトルを中心とする探索範囲である。すなわち、探索Aの探索範囲は、探索範囲52に含まれるので読み出しAの範囲内である。また、上述の探索Bの探索範囲は、一般的に、1つ先の近接ブロックでゼロベクトルを中心とした探索で動き探索で生成された動きベクトルを中心とした動き探索の探索範囲であるので、図4において隣接ブロック51の探索範囲52に対応する。すなわち、探索Bの探索範囲は、探索Aと同様に読み出しAの範囲内である。さらに、上述の探索Cは、一般的に、符号化対象ブロックの2つ先の近接ブロックのベクトルを中心とした動き探索で生成された動きベクトルを中心とした動き探索なので、図4において予測対象ブロック53に対応する。したがって、探索Cの探索範囲は予測対象ブロック53の探索範囲54に対応する。ここで、探索範囲54は、追加領域55の範囲内である。すなわち、探索Cの探索範囲は、追加領域55の範囲に含まれるので読み出しBの範囲内である。
The search range of the search A described above is a search range centered on the zero vector of the block to be coded . That is, the search range of the search A is within the range of the read A because it is included in the
したがって、動画像符号化装置100は、予測対象ブロック53の探索範囲の参照画像を読み出す前に、予め、予測対象ブロック53の探索範囲を含む参照画像を読みだしている。そのため、動画像符号化装置100は、予測対象ブロック53の探索範囲の参照画像を読み出す時間を省略できるので、符号化対象画像を符号化する際の遅延を解消できる。
Therefore, the moving
図5は、本発明の第1実施形態に係る動画像符号化装置10の動作の流れを示すフローチャートである。以下、図5を参照し、本発明の第1実施形態に係る動画像符号化装置100の動作の流れについて説明する。
FIG. 5 is a flowchart showing an operation flow of the moving
まず、参照画像読み出し部110は、動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出す(ステップS101)。ここで、参照画像の探索範囲は、参照画像読み出し部110が任意の探索範囲を指定してもよいし、動画符号化装置100の使用者等が自由に指定してもよい。
First, the reference
次に、参照画像読み出し部110は、外部記憶装置から読み出した参照画像を内部バッファに格納する(ステップS102)。ここで、ステップS101、およびステップS102において、符号化対象画像に対応する参照画像の所定の領域の画像データを内部バッファに格納することで、符号化の際に外部記憶装置を参照する必要がなくなるので、遅延を解消することができる。
Next, the reference
次に、ベクトル探索部120は、ステップS102において参照画像読み出し部110が読み出した参照画像の所定の領域の探索範囲を探索し探索範囲ごとに動きベクトルを算出する(ステップS103)。
Next, the
次に、ベクトル探索部120は、探索範囲ごとに算出した動きベクトルのそれぞれについて評価関数を算出し、それぞれの評価関数を比較する(ステップS104)。
Next, the
次に、ベクトル探索部120は、比較の結果、最も良好な評価関数の動きベクトルを選択して、選択した動きベクトルを評価動きベクトルとして出力する(ステップS105)。
Next, the
そして、参照画像読み出し部110は、評価動きベクトルに対応する探索範囲に、探索範囲の縦と横が少なくとも2倍の領域を追加した参照画像を外部記憶装置から読み出す(ステップS106)。
Then, the reference
最後に、参照画像読み出し部110は、ステップS106において読み出した参照画像を内部バッファに格納する(ステップS107)。
Finally, the reference
[第2の実施形態]
図6は、本発明の第2の実施形態に係る動画像符号化装置を示すブロック図である。
[Second Embodiment]
FIG. 6 is a block diagram showing a moving picture coding apparatus according to the second embodiment of the present invention.
第2の実施形態に係る動画像符号化装置100Aは、参照画像読み出し部110と、ベクトル探索部120と、ベクトル設定部130と、を備える。すなわち、動画像符号化装置100Aは、ベクトル設定部130を備えている点で動画像符号化装置100と異なる。
The moving
ベクトル設定部130は、ベクトル探索部120が生成する第1〜第Nの動きベクトルとは異なる動きベクトルを設定動きベクトルとして生成する。ここで、ベクトル設定部130の設定動きベクトルを生成する方法は、ベクトル探索部120が第1〜第Nの動きベクトルを生成する方法よりも簡易な方法でよい。ベクトル設定部130は、例えば縮小した画像や、画像の画素を間引く等の方法によって画面の広い範囲をベクトル探索部120よりも荒く検索することで設定動きベクトルを生成する。また、ベクトル設定部130は、画像解析によって得た静止画像の座標ごとに異なる特徴量に基づいて、画面の位置に応じた特定の動きベクトルを設定動きベクトルして生成してもよい。この場合、ベクトル探索部120は、第1〜第Nの動きベクトルの評価関数値と、設定動きベクトルの評価関数値とを比較し、評価関数値が最も良好な1つの動きベクトルを選択して評価動きベクトルして出力する。
The
図7は、本発明の第2の実施形態に係る動画像符号化装置100Aの動作の流れを示すフローチャートである。以下、図7を参照し、本発明の第2の実施形態に係る動画像符号化装置100Aの動作の流れについて説明する。
FIG. 7: is a flowchart which shows the flow of operation|movement of 100 A of moving image encoding apparatus which concerns on the 2nd Embodiment of this invention. Hereinafter, with reference to FIG. 7, an operation flow of the moving
まず、参照画像読み出し部110は、動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出す(ステップS201)。
First, the reference
次に、参照画像読み出し部110は、外部記憶装置から読み出した参照画像を内部バッファに格納する(ステップS202)。
Next, the reference
次に、ベクトル探索部120は、ステップS202において参照画像読み出し部110が読み出した参照画像の所定の領域の探索範囲を探索し探索範囲ごとに動きベクトルを算出する(ステップS203)。
Next, the
次に、ベクトル設定部130は、ステップS203においてベクトル探索部120が生成した動きベクトルとは異なる動きベクトルを設定動きベクトルとして生成する(ステップS204)。
Next, the
次に、ベクトル探索部120は、ステップS203において探索範囲ごとに算出した動きベクトルのそれぞれと、設定動きベクトルについて評価関数を算出し、算出した評価関数を比較する(ステップS205)。
Next, the
次に、ベクトル探索部120は、比較の結果、最も良好な評価関数の動きベクトルを選択して、選択した動きベクトルを評価動きベクトルとして出力する(ステップS206)。
Next, the
そして、参照画像読み出し部110は、評価動きベクトルに対応する探索範囲に、ベクトル探索部110における探索範囲の縦と横が少なくとも2倍の領域を外部記憶装置から参照画像として読み出す(ステップS207)。
Then, the reference
最後に、参照画像読み出し部110は、ステップS207において読み出した参照画像を内部バッファに格納する(ステップS208)。
Finally, the reference
[動画像符号化システム]
図8は、本発明の第3の実施形態に係る動画像符号化システムの構成を示す模式図を示している。
[Video coding system]
FIG. 8 is a schematic diagram showing the configuration of the moving picture coding system according to the third embodiment of the present invention.
図8に示すように、動画像符号化システム300は、動画像符号化装置100と、外部記憶装置200とを備える。
As shown in FIG. 8, the moving
外部記憶装置200は、特に限定しないが、例えば動画像符号化装置100の内部、または外部に有するHDD(Hard Disk Drive)等で構成することができる。また、外部記憶装置200は、動画像符号化装置100がインターネット等の通信ネットワークに接続されている場合には、例えば通信ネットワーク上に存在するクラウドストレージであってもよい。
The
なお、動画像符号化システム300の動作は、動画像符号化装置100と同様なので、説明は省略する。また、動画像符号化システム300は、動画像符号化装置100Aと、外部記憶装置200とを組み合わせて構成してもよい。
The operation of the moving
[その他の実施形態]
動画像復号化装置100(図1)、および動画像復号化装置100A(図6)は、ハードウエアによって実現してもよいし、ソフトウエアによって実現してもよい。また、動画像符号化装置100、および動画像符号化装置100Aは、ハードウエアとソフトウエアの組み合わせによって実現してもよい。
[Other Embodiments]
The moving image decoding apparatus 100 (FIG. 1) and the moving
図9は、動画像符号化装置100(図1)、および動画像符号化装置100A(図6)を構成する情報処理装置(コンピュータ)の一例である。
FIG. 9 is an example of an information processing device (computer) that configures the moving image coding device 100 (FIG. 1) and the moving
図9に示すように、情報処理装置400は、制御部401と、記憶装置402と、ROM(Read Only Memory)403と、RAM(Random Access Memory)404と、通信インターフェース405を備えている。
As illustrated in FIG. 9, the
制御部401は、CPU(Central Processing Unit)等の演算処理装置で構成することができる。制御部401は、記憶装置402、またはROM403が保持する制御部401が読み取り可能なプログラムをRAM404に展開して実行することで、動画像符号化装置100、および動画像符号化装置100Aを構成する各部を実現することができる。また、制御部401は、データ等を一時的に格納できる内部バッファを備えていてもよい。
The
記憶装置402は、各種のデータを保持できる大容量の記憶媒体であって、例えば光磁気ディスク、HDD(Hard Disc Drive)、およびSSD(Solid State Drive)等の記憶媒体で実現することができる。また、記憶装置402は、情報処理装置400が通信インターフェース405を介して通信ネットワークと接続されている場合には、通信ネットワーク上に存在するクラウドストレージであってもよい。また、記憶装置401は、制御部401が読み取り可能なプログラムを保持していてもよい。
The
ROM403は、記憶装置401と比べると小容量な、フラッシュメモリ等で構成できる不揮発性の記憶装置である。また、ROM401は、制御部401が読み取り可能なプログラムを保持していてもよい。なお、制御部401が読み取り可能なプログラムは、記憶装置402、およびROM403の少なくとも一方が保持していればよい。
The
RAM404は、DRAM(Dynamic Random Access Memory)、およびSRAM(Static Random Access Memory)等の半導体メモリであり、データ等を一時的に格納する内部バッファとして用いることができる。
The
通信インターフェース405は、有線、または無線を介して、情報処理装置400と、通信ネットワークとを接続するインターフェースである。
The
上記の各実施形態の一部、または全部は、以下の付記のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。 The whole or part of the exemplary embodiments disclosed above can be described as the following supplementary notes. The following supplementary notes do not limit the present invention.
[付記1]
動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し部と、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、それぞれ範囲の異なる第1〜第N(Nは2以上の整数)の探索範囲について動き探索を実行し、探索結果をそれぞれ第1〜第Nの動きベクトルとして生成するベクトル探索部と、を備え、
前記ベクトル探索部は、前記第1〜前記第Nの動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し部は、前記外部記憶装置から、前記評価動きベクトルに対応する探索範囲と前記ベクトル探索部が動き探索を実行する動きベクトルに対応する探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化装置。
[Appendix 1]
A reference image reading unit that reads out image data of a predetermined area of a reference image corresponding to an encoding target image from an external storage device that holds a plurality of still images that form a moving image, and stores the image data in an internal buffer.
Using the image data of the predetermined area of the reference image stored in the internal buffer, the first to N-th areas (N is 2 or more) having different ranges with respect to the encoding target area of the encoding target image, respectively. (Integer), a vector search unit that executes a motion search for a search range and generates search results as first to Nth motion vectors, respectively.
The vector searching unit compares the evaluation function values of the first to Nth motion vectors, selects the motion vector with the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image reading unit, from the external storage device, with respect to the search range corresponding to the evaluation motion vector and the search range corresponding to the motion vector on which the vector search unit performs the motion search, the vertical search range. A moving image encoding apparatus which reads out the image data and stores the image data in the internal buffer by using an area obtained by at least doubling the horizontal width and the horizontal width as the predetermined area.
[付記2]
前記第1〜第Nの動きベクトルの1つとして設定動きベクトルを予め生成するベクトル設定部を備える、付記1に記載の動画像符号化装置。
[Appendix 2]
The moving image coding apparatus according to
[付記3]
前記ベクトル設定部は、前記所定の領域の前記画像データに基づいて前記参照画像の座標ごとの特徴量を抽出するとともに、前記特徴量に応じて前記設定動きベクトルを設定する、付記2に記載の動画像符号化装置。
[Appendix 3]
The vector setting unit extracts a feature amount for each coordinate of the reference image based on the image data of the predetermined region, and sets the set motion vector according to the feature amount. Video coding device.
[付記4]
動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納し、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、それぞれ範囲の異なる第1〜第N(Nは2以上の整数)の探索範囲について動き探索を実行し、探索結果をそれぞれ第1〜第Nの動きベクトルとして生成し、
前記第1〜前記第Nの動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記外部記憶装置から、前記評価動きベクトルに対応する探索範囲と前記ベクトル探索部が動き探索を実行する動きベクトルに対応する探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化方法。
[Appendix 4]
From an external storage device that holds a plurality of still images that make up a moving image, read image data in a predetermined area of a reference image corresponding to the image to be encoded, and store it in an internal buffer.
Using the image data of the predetermined area of the reference image stored in the internal buffer, the first to N-th areas (N is 2 or more) having different ranges with respect to the encoding target area of the encoding target image, respectively. (Integer) a motion search is performed for a search range, and search results are generated as first to Nth motion vectors,
Comparing the evaluation function values of the first to Nth motion vector, selecting the motion vector with the best evaluation function value, and output as an evaluation motion vector,
From the external storage device, the search range corresponding to the evaluation motion vector and the search range corresponding to the motion vector on which the vector search unit executes the motion search are at least twice as long and wide as the search range. The moving image encoding method, wherein the image data is read out using the specified region as the predetermined region and stored in the internal buffer.
[付記5]
前記第1〜第Nの動きベクトルの1つとして設定動きベクトルを予め生成する、付記4に記載の動画像符号化方法。
[Appendix 5]
5. The moving picture coding method according to
[付記6]
前記所定の領域の前記画像データに基づいて前記参照画像の座標ごとの特徴量を抽出するとともに、前記特徴量に応じて前記設定動きベクトルを設定する、付記5に記載の動画像符号化方法。
[Appendix 6]
6. The moving picture coding method according to
[付記7]
コンピュータを、
動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し手段と、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、それぞれ範囲の異なる第1〜第N(Nは2以上の整数)の探索範囲について動き探索を実行し、探索結果をそれぞれ第1〜第Nの動きベクトルとして生成するベクトル探索手段と、
前記第1〜前記第Nの動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力する手段と、
前記外部記憶装置から、前記評価動きベクトルに対応する探索範囲と前記ベクトル探索部が動き探索を実行する動きベクトルに対応する探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する手段として機能させる、動画像符号化プログラム。
[Appendix 7]
Computer,
A reference image reading unit that reads out image data of a predetermined area of the reference image corresponding to the image to be encoded from an external storage device that holds a plurality of still images forming a moving image and stores the image data in an internal buffer;
Using the image data of the predetermined area of the reference image stored in the internal buffer, the first to N-th areas (N is 2 or more) having different ranges with respect to the encoding target area of the encoding target image, respectively. (Integer), a vector search means that executes a motion search for a search range and generates search results as first to Nth motion vectors, respectively.
Means for comparing the evaluation function values of the first to Nth motion vectors, selecting the motion vector with the best evaluation function value, and outputting it as an evaluation motion vector;
From the external storage device, the search range corresponding to the evaluation motion vector and the search range corresponding to the motion vector on which the vector search unit executes the motion search are at least twice as long and wide as the search range. A moving image coding program that causes the specified area to be the predetermined area to read the image data and store the image data in the internal buffer.
[付記8]
前記コンピュータを、前記第1〜第Nの動きベクトルの1つとして設定動きベクトルを予め生成するベクトル設定手段としてさらに機能させる、付記7に記載の動画像符号化プログラム。
[Appendix 8]
8. The moving picture coding program according to
[付記9]
前記コンピュータを、前記所定の領域の前記画像データに基づいて前記参照画像の座標ごとの特徴量を抽出するとともに、前記特徴量に応じて前記設定動きベクトルを設定する手段としてさらに機能させる、付記8に記載の動画像符号化プログラム。
[Appendix 9]
Supplementary Note 8: The computer is caused to further function as a unit that extracts a feature amount for each coordinate of the reference image based on the image data of the predetermined region and sets the set motion vector according to the feature amount. The moving picture coding program according to
[付記10]
動画像を構成する複数の静止画像を保持する外部記憶装置と、
前記外部記憶装置から符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し部と、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、それぞれ範囲の異なる第1〜第N(Nは2以上の整数)の探索範囲について動き探索を実行し、探索結果をそれぞれ第1〜第Nの動きベクトルとして生成するベクトル探索部と、を備え、
前記ベクトル探索部は、前記第1〜前記第Nの動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し部は、前記外部記憶装置から、前記評価動きベクトルに対応する探索範囲と前記ベクトル探索部が動き探索を実行する動きベクトルに対応する探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化システム。
[Appendix 10]
An external storage device that holds a plurality of still images that make up a moving image;
A reference image reading unit that reads out image data of a predetermined area of a reference image corresponding to the encoding target image from the external storage device and stores the image data in an internal buffer;
Using the image data of the predetermined area of the reference image stored in the internal buffer, the first to N-th areas (N is 2 or more) having different ranges with respect to the encoding target area of the encoding target image, respectively. (Integer), a vector search unit that executes a motion search for a search range and generates search results as first to Nth motion vectors, respectively.
The vector searching unit compares the evaluation function values of the first to Nth motion vectors, selects the motion vector with the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image reading unit, from the external storage device, with respect to the search range corresponding to the evaluation motion vector and the search range corresponding to the motion vector on which the vector search unit performs the motion search, the vertical search range. A moving image encoding system in which the image data is read out and stored in the internal buffer with an area obtained by at least doubling the horizontal and horizontal directions as the predetermined area.
[付記11]
前記第1〜第Nの動きベクトルの1つとして設定動きベクトルを予め生成するベクトル設定部を備える、付記10に記載の動画像符号化システム。
[Appendix 11]
The moving image coding system according to
[付記12]
前記ベクトル設定部は、前記所定の領域の前記画像データに基づいて前記参照画像の座標ごとの特徴量を抽出するとともに、前記特徴量に応じて前記設定動きベクトルを設定する、付記11に記載の動画像符号化システム。
[Appendix 12]
10・・・符号化対象画像
11・・・符号化対象ブロック
12・・・参照画像
13・・・予測画像
14・・・予測対象ブロック
20,20’・・・符号化対象画像
21・・・符号化対象ブロック
30,30’・・・参照画像
31・・・探索範囲
32・・・予測対象ブロック
40・・・動きベクトル
50,60,70・・・参照画像
51・・・隣接ブロック
52・・・探索範囲
53・・・予測対象ブロック
54・・・探索範囲
55・・・追加領域
100,100A・・・動画像符号化装置
110・・・参照画像読み出し部
120・・・ベクトル探索部
130・・・ベクトル設定部
200・・・外部記憶装置
300・・・動画像符号化システム
400・・・情報処理装置
401・・・制御部
402・・・記憶装置
403・・・ROM
404・・・RAM
405・・・通信インターフェース
10...
404...RAM
405...Communication interface
Claims (8)
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索部と、を備え、
前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し部は、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化装置。 A reference image reading unit that reads out image data of a predetermined area of a reference image corresponding to an encoding target image from an external storage device that holds a plurality of still images that form a moving image, and stores the image data in an internal buffer.
Using image data of a predetermined area of the reference image stored in the internal buffer, a vector of an area adjacent to the encoding target area is centered with respect to the encoding target area of the encoding target image. a vector searching unit that the second performs motion search for the search range around zero vector of the first search range and the encoding target area, to produce search results as first and second motion vectors respectively, Equipped with
The vector search unit compares the evaluation function values of the first and second motion vectors, selects the motion vector with the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image read unit corresponds to a previous search range corresponding to the evaluation motion vector previously output by the vector search unit from the external storage device and a motion vector for which the vector search unit next performs a motion search. A moving image coding apparatus, which reads the image data with a region obtained by at least doubling the vertical and horizontal directions of the next search range as the predetermined region and stores the image data in the internal buffer.
前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値と前記設定動きベクトルの評価関数値とを比較し、前記評価関数値が最も良好な動きベクトルを選択して、前記評価動きベクトルとして出力する、請求項1に記載の動画像符号化装置。 A vector setting unit that previously generates a set motion vector different from the first and second motion vectors ,
The vector search unit compares the evaluation function values of the first and second motion vectors with the evaluation function value of the set motion vector, selects the motion vector with the best evaluation function value, you output as evaluation motion vector, the moving picture coding apparatus according to claim 1.
ベクトル探索部が、前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成し、
前記ベクトル探索部が、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し部が、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化方法。 The reference image reading unit reads image data of a predetermined area of the reference image corresponding to the encoding target image from an external storage device that holds a plurality of still images that form a moving image, and stores the image data in an internal buffer.
The vector search unit uses the image data of the predetermined area of the reference image stored in the internal buffer, with respect to the encoding target area of the encoding target image, of the area adjacent to the encoding target area. A motion search is executed for a first search range centered on a vector and a second search range centered on the zero vector of the encoding target region , and search results are generated as first and second motion vectors, respectively . ,
The vector search unit compares the evaluation function values of the first and second motion vectors, selects the motion vector with the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image read unit corresponds to a previous search range corresponding to the evaluation motion vector previously output by the vector search unit from the external storage device and a motion vector for which the vector search unit next performs a motion search. A moving image encoding method, wherein the image data is read out and stored in the internal buffer with an area obtained by at least doubling the vertical and horizontal directions of the next search area as the predetermined area.
前記ベクトル探索部が、前記第1および前記第2の動きベクトルの評価関数値と前記設定動きベクトルの評価関数値とを比較し、前記評価関数値が最も良好な動きベクトルを選択して、前記評価動きベクトルとして出力する、請求項3に記載の動画像符号化方法。 A vector setting unit previously generates a set motion vector different from the first and second motion vectors ,
The vector search unit compares the evaluation function values of the first and second motion vectors with the evaluation function value of the set motion vector, selects a motion vector with the best evaluation function value, The video encoding method according to claim 3 , wherein the video is output as an evaluation motion vector .
動画像を構成する複数の静止画像を保持する外部記憶装置から、符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し手段と、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索手段と、して機能させる動画像符号化プログラムであって、
前記ベクトル探索手段は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し手段は、前記外部記憶装置から、前記ベクトル探索手段が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索手段が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化プログラム。 Computer,
A reference image reading unit that reads out image data of a predetermined area of the reference image corresponding to the image to be encoded from an external storage device that holds a plurality of still images forming a moving image and stores the image data in an internal buffer;
Using image data of a predetermined area of the reference image stored in the internal buffer, a vector of an area adjacent to the encoding target area is centered with respect to the encoding target area of the encoding target image. a vector search unit performs the motion search to generate search results as first and second motion vectors respectively, for a second search range centered on the zero vector of the first search range and the encoding target area, Is a moving picture coding program that functions as
The vector search means compares the evaluation function values of the first and second motion vectors, selects the motion vector having the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image reading unit corresponds to a previous search range corresponding to the evaluation motion vector previously output by the vector searching unit from the external storage device, and a motion vector at which the vector searching unit executes a motion search next time. A moving image encoding program for reading the image data with the area obtained by at least doubling the vertical and horizontal directions of the next search area as the predetermined area and storing the image data in the internal buffer.
前記ベクトル探索手段が、前記第1および前記第2の動きベクトルの評価関数値と前記設定動きベクトルの評価関数値とを比較し、前記評価関数値が最も良好な動きベクトルを選択して、前記評価動きベクトルとして出力する、請求項5に記載の動画像符号化プログラム。 Causing the computer to further function as vector setting means for generating in advance a set motion vector different from the first and second motion vectors ,
The vector searching means compares the evaluation function values of the first and second motion vectors with the evaluation function value of the set motion vector, selects a motion vector having the best evaluation function value, you output as evaluation motion vector, the moving picture coding program according to claim 5.
前記外部記憶装置から符号化対象画像に対応する参照画像の所定の領域の画像データを読み出して、内部バッファに格納する参照画像読み出し部と、
前記内部バッファに格納された前記参照画像の所定の領域の画像データを用いて、前記符号化対象画像の符号化対象領域に対して、該符号化対象領域に隣接する領域のベクトルを中心とする第1の探索範囲および前記符号化対象領域のゼロベクトルを中心とする第2の探索範囲について動き探索を実行し、探索結果をそれぞれ第1および第2の動きベクトルとして生成するベクトル探索部と、を備え、
前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値を比較し、前記評価関数値が最も良好な動きベクトルを選択して、評価動きベクトルとして出力し、
前記参照画像読み出し部は、前記外部記憶装置から、前記ベクトル探索部が前回出力した前記評価動きベクトルに対応する前回の探索範囲と前記ベクトル探索部が次回に動き探索を実行する動きベクトルに対応する次回の探索範囲とに対して、それら探索範囲の縦と横とを少なくとも2倍した領域を前記所定の領域として前記画像データを読みだし、前記内部バッファに格納する、動画像符号化システム。 An external storage device that holds a plurality of still images that make up a moving image;
A reference image reading unit that reads out image data of a predetermined area of a reference image corresponding to the encoding target image from the external storage device and stores the image data in an internal buffer;
Using image data of a predetermined area of the reference image stored in the internal buffer, a vector of an area adjacent to the encoding target area is centered with respect to the encoding target area of the encoding target image. a vector searching unit that the second performs motion search for the search range around zero vector of the first search range and the encoding target area, to produce search results as first and second motion vectors respectively, Equipped with
The vector search unit compares the evaluation function values of the first and second motion vectors, selects the motion vector with the best evaluation function value, and outputs it as an evaluation motion vector,
The reference image read unit corresponds to a previous search range corresponding to the evaluation motion vector previously output by the vector search unit from the external storage device and a motion vector for which the vector search unit next performs a motion search. A moving image coding system, wherein the image data is read out and stored in the internal buffer with an area obtained by at least doubling the vertical and horizontal directions of the next search area as the predetermined area.
前記ベクトル探索部は、前記第1および前記第2の動きベクトルの評価関数値と前記設定動きベクトルの評価関数値とを比較し、前記評価関数値が最も良好な動きベクトルを選択して、前記評価動きベクトルとして出力する、請求項7に記載の動画像符号化システム。 A vector setting unit that previously generates a set motion vector different from the first and second motion vectors ,
The vector search unit compares the evaluation function values of the first and second motion vectors with the evaluation function value of the set motion vector, selects the motion vector with the best evaluation function value, you output as evaluation motion vector, the moving picture coding system according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016052124A JP6740549B2 (en) | 2016-03-16 | 2016-03-16 | Moving picture coding apparatus, method, program, and moving picture coding system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016052124A JP6740549B2 (en) | 2016-03-16 | 2016-03-16 | Moving picture coding apparatus, method, program, and moving picture coding system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017169022A JP2017169022A (en) | 2017-09-21 |
JP6740549B2 true JP6740549B2 (en) | 2020-08-19 |
Family
ID=59909158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016052124A Active JP6740549B2 (en) | 2016-03-16 | 2016-03-16 | Moving picture coding apparatus, method, program, and moving picture coding system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6740549B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10798407B2 (en) * | 2018-06-01 | 2020-10-06 | Tencent America LLC | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
KR20230085219A (en) | 2018-08-13 | 2023-06-13 | 엘지전자 주식회사 | History-based motion vector based inter prediction method and apparatus thereof |
-
2016
- 2016-03-16 JP JP2016052124A patent/JP6740549B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017169022A (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11539976B2 (en) | Motion estimation using collocated blocks | |
JP6263538B2 (en) | Method and system for multimedia data processing | |
TW201813396A (en) | Pattern-based motion vector derivation for video coding | |
US9262839B2 (en) | Image processing device and image processing method | |
KR20210129206A (en) | Encoding and decoding method and apparatus, encoding end device and decoding end device | |
CN113597764B (en) | Video decoding method, system and storage medium | |
JP6605581B2 (en) | Arrangement of adaptive search windows for video coding | |
JP6740549B2 (en) | Moving picture coding apparatus, method, program, and moving picture coding system | |
US10715820B2 (en) | Interframe predictive coding method and device | |
JP2015226326A (en) | Video analysis method and video analysis device | |
US11290740B2 (en) | Image coding apparatus, image coding method, and storage medium | |
JP2000069469A (en) | Moving picture encoding method/system and moving picture decoding method/system | |
JP5906993B2 (en) | Encoding apparatus, encoding method, and program | |
WO2020062226A1 (en) | Coding device control method and device and storage medium | |
JP2010259116A (en) | Cost function arithmetic method, cost function arithmetic unit, and interpolation method therefor | |
JP6814484B2 (en) | Image processing equipment, image processing method and image processing program | |
JP6681078B2 (en) | Image processing apparatus, image processing method, and image processing program | |
US9432690B2 (en) | Apparatus and method for video processing | |
JP6680796B2 (en) | Efficient low complexity video compression | |
US9684943B2 (en) | Multi core graphic processing device | |
CN115529459B (en) | Center point searching method, center point searching device, computer equipment and storage medium | |
JP2019530299A (en) | Image coding / decoding method, apparatus and image processing apparatus | |
KR102089433B1 (en) | Multidirectional hierarchical motion estimation method for video coding tool | |
JP2006203556A (en) | Motion vector detection device, motion compensation device, motion vector detection method, and computer program | |
KR20220088277A (en) | Image processing apparatus and method for processing multi-frame thereby |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200218 |
|
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: 20200617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200630 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6740549 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |