JP2013207402A - Image encoding device and program - Google Patents

Image encoding device and program Download PDF

Info

Publication number
JP2013207402A
JP2013207402A JP2012072148A JP2012072148A JP2013207402A JP 2013207402 A JP2013207402 A JP 2013207402A JP 2012072148 A JP2012072148 A JP 2012072148A JP 2012072148 A JP2012072148 A JP 2012072148A JP 2013207402 A JP2013207402 A JP 2013207402A
Authority
JP
Japan
Prior art keywords
block
prediction
unit
blocks
image
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.)
Pending
Application number
JP2012072148A
Other languages
Japanese (ja)
Inventor
Shunsuke Iwamura
俊輔 岩村
Yasutaka Matsuo
康孝 松尾
Toshie Misu
俊枝 三須
Shinichi Sakaida
慎一 境田
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.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2012072148A priority Critical patent/JP2013207402A/en
Publication of JP2013207402A publication Critical patent/JP2013207402A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the amount of arithmetic operations while preventing a reduction in prediction accuracy when a peripheral candidate block is selected in motion vector prediction.SOLUTION: An image encoding device divides an image into encoding blocks and divides the encoding blocks into prediction blocks which are the objects of prediction in motion vector prediction as it encodes the image. The image encoding device comprises: a selection unit which selects an encoded block adjacent to a prediction block on the basis of the divided shape and position of prediction blocks in the encoding block; and an inter-prediction unit which applies motion compensation to the prediction block by using the motion vector of the encoded block selected by the selection unit.

Description

本発明は、映像をブロック状の小領域に分割して符号化を行う画像符号化装置及びプログラムに関する。   The present invention relates to an image coding apparatus and a program for performing coding by dividing a video into block-like small areas.

近年マルチメディア化が進み、動画像を扱う機会が多くなってきている。画像データは情報量が大きく、静止画像の集合である動画像は、テレビ放送の主流であるハイビジョン(1920×1080)放送で1Gbit/secを超える情報量である。   In recent years, with the advance of multimedia, there are many opportunities to handle moving images. Image data has a large amount of information, and a moving image, which is a set of still images, has an information amount exceeding 1 Gbit / sec in high-definition (1920 × 1080) broadcasting, which is the mainstream of television broadcasting.

そのため、動画像データは、H.264/AVC(Advanced Video Coding)や規格化作業中のHEVC(High Efficiency Video Coding)などに代表される符号化標準技術によって、情報量を圧縮して伝送・蓄積が行われている。   Therefore, the moving image data is H.264. H.264 / AVC (Advanced Video Coding) and standardization work HEVC (High Efficiency Video Coding) and the like are used for transmission and storage by compressing the amount of information.

HEVCでは、従来の符号化技術のように画面を左上から符号化単位であるブロック状に単純に分割するのではなく、新たに階層分割を採用し、複数階層のブロック分割を可能とする。また、複数のブロックに分割された符号化単位は、CU(Coding Unit)や符号化ブロックとも呼ぶ。例えば、HEVCでは、8×8、16×16、32×32などのサイズに画像を分割して、符号化を行うことができる。   HEVC does not simply divide the screen into blocks that are encoding units from the upper left as in the conventional encoding technique, but newly adopts hierarchical division to enable block division of a plurality of hierarchies. A coding unit divided into a plurality of blocks is also called a CU (Coding Unit) or a coding block. For example, in HEVC, an image can be divided into 8 × 8, 16 × 16, 32 × 32, and the like and encoded.

また、HEVCでは、予測誤差信号を効率的に表現するため、CUを階層分割し、変換単位に分けることができる。変換単位は、TU(Transform Unit)や変換ブロックとも呼ぶ。例えば32×32のCUに対し、階層分割0回のTUは32×32のCUと同じブロックであり、階層分割1回のTUは、16×16に分割されたブロックである。また、階層分割2回のTUは、8×8に分割されたブロックであり、階層分割3回のTUは、4×4に分割されたブロックである。   In HEVC, in order to efficiently express the prediction error signal, the CU can be divided into layers and divided into conversion units. The transform unit is also called a TU (Transform Unit) or transform block. For example, for a 32 × 32 CU, a TU with zero layer division is the same block as a 32 × 32 CU, and a TU with one layer division is a block divided into 16 × 16. In addition, a TU with two layer divisions is a block divided into 8 × 8, and a TU with three layer divisions is a block divided into 4 × 4.

また、HEVCでは、CUを複数種類の矩形領域である予測単位に分割し、それぞれの予測単位で予測処理が行われる。この予測単位は、PU(Prediction Unit)や予測ブロックとも呼ぶ。   In HEVC, a CU is divided into prediction units that are a plurality of types of rectangular areas, and prediction processing is performed in each prediction unit. This prediction unit is also referred to as a PU (Prediction Unit) or a prediction block.

図1は、画面間予測又は画面内予測で用いられる予測ブロックの一例を示す図である。図1に示すように、CUは、4つの種類のPUに分けることが可能である。例えば、2N×2NのCUに対して、2N×2NのPU、N×NのPU、N×2NのPU、2N×NのPUに分けられる。PUは、CUのサイズに応じて様々な種類が存在する。   FIG. 1 is a diagram illustrating an example of a prediction block used in inter-screen prediction or intra-screen prediction. As shown in FIG. 1, a CU can be divided into four types of PUs. For example, a 2N × 2N CU is divided into a 2N × 2N PU, an N × N PU, an N × 2N PU, and a 2N × N PU. There are various types of PUs depending on the size of the CU.

ここで、H.264やHEVCに代表される動画圧縮符号化方式において、フレーム間の相関を利用した動き補償による圧縮が行われる。画面内の様々な動きに対応するため、画像全体を階層的に分割し、符号化ブロックの予測ブロック毎にブロックマッチングによる動き補償が行われる。   Here, H. In a moving image compression coding system represented by H.264 and HEVC, compression by motion compensation using correlation between frames is performed. In order to deal with various motions in the screen, the entire image is hierarchically divided, and motion compensation is performed by block matching for each prediction block of the encoded block.

HEVCでは、符号化性能向上のため、ブロックマッチングにより得られる動きベクトルをサイド情報として符号化する手法の他、周辺ブロックから動き補償に用いる動きベクトルを予測する動きベクトル予測手法が実装され、より符号化性能の高い手法が選択される。動きベクトル予測手法では、符号化対象ブロックの上側や左側の隣接する符号化済みのブロック群や、予測ブロックと時間方向で同位置に存在する符号化済みのブロックを用いる。   In HEVC, in order to improve encoding performance, a motion vector prediction method for predicting a motion vector used for motion compensation from surrounding blocks is implemented in addition to a method of encoding a motion vector obtained by block matching as side information. A method with high performance is selected. In the motion vector prediction method, an adjacent encoded block group on the upper side or the left side of the encoding target block, or an encoded block existing at the same position in the time direction as the prediction block is used.

符号化対象ブロックに隣接する符号化済みブロックを隣接ブロックと呼び、隣接ブロックの中で、動きベクトル予測に用いられる候補を周辺候補ブロックと呼ぶ。また、周辺候補ブロックと、時間方向で符号化対象ブロックと同位置に存在する符号化済みブロックとを含めて候補ブロックと呼ぶ。   An encoded block adjacent to the encoding target block is called an adjacent block, and a candidate used for motion vector prediction among the adjacent blocks is called a peripheral candidate block. In addition, a peripheral candidate block and a coded block existing at the same position as the coding target block in the time direction are referred to as a candidate block.

これらの候補ブロックのうちから3つのブロックを選択し、水平方向の動きベクトルの中央値を水平方向予測値、垂直方向の動きベクトルの中央値を垂直方向予測値とする。   Three blocks are selected from these candidate blocks, and the median value of the horizontal motion vectors is defined as the horizontal direction prediction value, and the median value of the vertical direction motion vectors is defined as the vertical direction prediction value.

例えば、HEVCでは、隣接ブロックの中から周辺候補ブロックを選択している。図2は、従来の周辺候補ブロックの一例を示す図である。図2に示す例では、予測ブロックb101の左上の隣接ブロックb111、右上の隣接ブロックb112、b113、左下の隣接ブロックb114、b115を周辺候補ブロックとする。隣接ブロックb121〜124は、HEVCでは周辺候補ブロックとして定められていない。なお、予測ブロックが符号化対象ブロックの中で左端かつ下端以外に位置している場合は、予測ブロックの左下のブロックは、符号化済みブロックであるため利用可能である。また、予想ブロックが符号化対象ブロックの上端に位置している場合は、予測ブロックの右上に位置するブロックは、符号化済みブロックであるため利用可能である。   For example, in HEVC, a peripheral candidate block is selected from adjacent blocks. FIG. 2 is a diagram illustrating an example of a conventional peripheral candidate block. In the example illustrated in FIG. 2, the upper left adjacent block b111, the upper right adjacent blocks b112 and b113, and the lower left adjacent blocks b114 and b115 of the prediction block b101 are set as the peripheral candidate blocks. The adjacent blocks b121 to 124 are not defined as neighboring candidate blocks in HEVC. When the prediction block is located in the encoding target block other than the left end and the lower end, the lower left block of the prediction block can be used because it is an encoded block. When the prediction block is located at the upper end of the encoding target block, the block located at the upper right of the prediction block is an encoded block and can be used.

HEVCでは、図2に示すような周辺候補ブロックから2つ、時間方向で同位置の候補ブロックから1つ選び、それらの候補ブロックの中央値を、動き補償に用いる動きベクトルと予測する手法がある。   In HEVC, there is a technique of selecting two candidate blocks from neighboring candidate blocks as shown in FIG. 2 and one candidate block at the same position in the time direction, and predicting the median value of these candidate blocks as a motion vector used for motion compensation. .

HEVCでは、符号化性能を向上させるため、これらの候補ブロックの選択に対し、全ての組み合わせについて符号化性能を比較し、その中で性能が一番良い候補ブロックの組み合わせを決定する。   In HEVC, in order to improve the encoding performance, the encoding performance is compared for all combinations with respect to the selection of these candidate blocks, and the combination of candidate blocks having the best performance is determined.

Hiroya Nakamura,「JCTVC-F419 : Unification of derivation process for merge mode and MVP, 14-22 July, 2011Hiroya Nakamura, `` JCTVC-F419: Unification of derivation process for merge mode and MVP, 14-22 July, 2011

しかしながら、従来技術では、予測ブロックの形状又は位置に関わらず、周辺候補ブロックとして選択される隣接ブロックが予測ブロックに対して同じ位置にある。ただし、符号化対象ブロックが画像端のブロックであるなど参照不可能な隣接ブロックがある場合は除く。そのため、選択された周辺候補ブロックの中には、予測ブロックとは全く異なる動きベクトルを有する隣接ブロックが含まれることもある。   However, in the conventional technique, the adjacent block selected as the peripheral candidate block is at the same position with respect to the prediction block regardless of the shape or position of the prediction block. However, this excludes cases where there are adjacent blocks that cannot be referred to, such as the block to be encoded is a block at the end of the image. Therefore, the selected neighboring candidate block may include an adjacent block having a motion vector that is completely different from that of the prediction block.

この場合、隣接ブロックを周辺候補ブロックとして動きベクトル予測を行った場合、予測された動きベクトルは、予測ブロックの本来の動きベクトルとは大きく異なる可能性が高い。以下では、動きベクトル予測手法で得られる動きベクトルを、予測動きベクトルと呼ぶ。   In this case, when motion vector prediction is performed using an adjacent block as a peripheral candidate block, the predicted motion vector is highly likely to be significantly different from the original motion vector of the prediction block. Hereinafter, a motion vector obtained by the motion vector prediction method is referred to as a predicted motion vector.

全ての周辺候補ブロックの組み合わせに対する中央値により得られた予測動きベクトルを、符号化性能で比較した場合、予測ブロックと異なる動きを持つ周辺候補ブロックは最適な周辺候補ブロックとして選択される可能性は低い。よって、符号化性能に寄与することなく、演算処理が増加してしまうという問題点があった。   When predictive motion vectors obtained by the median value for all combinations of peripheral candidate blocks are compared in terms of coding performance, there is a possibility that a peripheral candidate block having a motion different from the predicted block is selected as the optimal peripheral candidate block. Low. Therefore, there is a problem that the arithmetic processing increases without contributing to the encoding performance.

そこで、本発明は上記問題点に鑑みてなされたものであり、動きベクトル予測で周辺候補ブロックを選択する際に、予測精度の低下を防止しつつ、演算量を削減することができる画像符号化装置及びプログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and image coding that can reduce the amount of computation while preventing a decrease in prediction accuracy when selecting a peripheral candidate block in motion vector prediction. An object is to provide an apparatus and a program.

本発明の一態様における画像符号化装置は、画像を符号化ブロックに分割し、前記符号化ブロックを動きベクトル予測の予測対象となる予測ブロックに分割し、前記画像の符号化を行う画像符号化装置であって、前記符号化ブロックにおける前記予測ブロックの分割形状及び位置に基づいて、前記予測ブロックに隣接する符号化済みブロックを選択する選択部と、前記選択部により選択された符号化済みブロックの動きベクトルを用いて前記予測ブロックの動き補償を行うインター予測部と、を備える。   An image encoding apparatus according to an aspect of the present invention divides an image into encoded blocks, divides the encoded block into prediction blocks to be predicted for motion vector prediction, and performs image encoding for encoding the image A selection unit that selects a coded block adjacent to the prediction block based on a division shape and a position of the prediction block in the coding block; and a coded block selected by the selection unit An inter prediction unit that performs motion compensation of the prediction block using the motion vector of the prediction block.

また、前記選択部は、前記符号化ブロックが前記予測ブロックに分割される場合、現在の予測対象である前記予測ブロックの分割境界線と前記符号化ブロックの境界線との交点を算出する交点算出部と、前記交点から前記符号化ブロックの外側方向に前記分割境界線を延長し、延長された分割境界線を用いて2つの領域に分割する領域分割部と、前記2つの領域のうち、前記現在の予測対象の予測ブロックを含まない領域に含まれる前記符号化済みブロックを選択候補から除外する除外部と、を備えてもよい。   In addition, when the encoding block is divided into the prediction blocks, the selection unit calculates an intersection between the division boundary line of the prediction block that is a current prediction target and the boundary line of the encoding block. A region dividing unit that extends the dividing boundary line from the intersection point toward the outer side of the coding block, and divides into two regions using the extended dividing boundary line, and among the two regions, And an exclusion unit that excludes the encoded block included in a region that does not include the current prediction target prediction block from selection candidates.

また、前記除外部は、前記現在の予測対象の予測ブロックを含まない領域に、ブロックの一部又はブロックの重心が含まれる符号化済みブロックも前記選択候補から除外してもよい。   The excluding unit may exclude an encoded block in which a part of the block or the center of gravity of the block is included in an area not including the current prediction target prediction block from the selection candidates.

また、前記選択部は、前記選択された符号化済みブロックの数が所定値以下の場合、前記現在の予測対象の予測ブロックを含まない領域に含まれる符号化済みブロックの中で、前記現在の予測対象の予測ブロックに近い順に、該符号化済みブロックの数を所定数になるまで選択してもよい。   In addition, when the number of the selected encoded blocks is equal to or less than a predetermined value, the selection unit, among the encoded blocks included in an area that does not include the current prediction target prediction block, The number of encoded blocks may be selected in order from the closest prediction block to be predicted until a predetermined number is reached.

また、本発明の他の態様におけるプログラムは、画像を符号化ブロックに分割し、前記符号化ブロックを動きベクトル予測の予測対象となる予測ブロックに分割し、前記画像の符号化を行うコンピュータに、前記符号化ブロックにおける前記予測ブロックの分割形状及び位置に基づいて、前記予測ブロックに隣接する符号化済みブロックを選択する選択ステップと、前記選択された符号化済みブロックの動きベクトルを用いて前記予測ブロックの動き補償を行うインター予測ステップと、を実行させる。   Further, a program according to another aspect of the present invention divides an image into encoded blocks, divides the encoded block into prediction blocks to be predicted for motion vector prediction, and a computer that encodes the image, A selection step of selecting an encoded block adjacent to the prediction block based on a division shape and a position of the prediction block in the encoded block, and the prediction using a motion vector of the selected encoded block And an inter prediction step for performing block motion compensation.

本発明によれば、動きベクトル予測で周辺候補ブロックを選択する際に、予測精度の低下を防止しつつ、演算量を削減することができる。   ADVANTAGE OF THE INVENTION According to this invention, when selecting a periphery candidate block by motion vector prediction, the amount of calculations can be reduced, preventing the fall of prediction accuracy.

画面間予測又は画面内予測で用いられる予測ブロックの一例を示す図。The figure which shows an example of the prediction block used by inter prediction or intra prediction. 従来の周辺候補ブロックの一例を示す図。The figure which shows an example of the conventional periphery candidate block. 実施例1における画像符号化装置の概略構成の一例を示すブロック図。1 is a block diagram illustrating an example of a schematic configuration of an image encoding device according to Embodiment 1. FIG. 動きベクトル計算部の構成の一例を示すブロック図。The block diagram which shows an example of a structure of a motion vector calculation part. 周辺候補ブロックの第一の例について説明するための図。The figure for demonstrating the 1st example of a periphery candidate block. 周辺候補ブロックの第二の例について説明するための図。The figure for demonstrating the 2nd example of a periphery candidate block. 周辺候補ブロックの第三の例について説明するための図。The figure for demonstrating the 3rd example of a periphery candidate block. 半直線の推定方向を説明するための図。The figure for demonstrating the estimated direction of a half line. 周辺候補ブロックの追加選択を説明するための図。The figure for demonstrating the addition selection of a periphery candidate block. 予測ブロックの並列処理を説明するための図。The figure for demonstrating the parallel processing of a prediction block. 動きベクトル予測処理の一例を示すフローチャート。The flowchart which shows an example of a motion vector prediction process. 実施例1における周辺候補ブロックの選択処理の一例を示すフローチャート。5 is a flowchart illustrating an example of a process for selecting neighboring candidate blocks in the first embodiment. 実施例2における画像処理装置の構成の一例を示すブロック図。FIG. 6 is a block diagram illustrating an example of a configuration of an image processing apparatus according to a second embodiment.

以下、添付図面を参照しながら本発明について説明する。   The present invention will be described below with reference to the accompanying drawings.

[実施例1]
<構成>
図3は、実施例1における画像符号化装置10の概略構成の一例を示すブロック図である。図3に示す例では、画像符号化装置10は、前処理部100、予測誤差信号生成部101、直交変換部102、量子化部103、エントロピー符号化部104、逆量子化部105、逆直交変換部106、復号画像生成部107、デブロッキングフィルタ部108、ループフィルタ部109、復号画像記憶部110、イントラ予測部111、インター予測部112、動きベクトル計算部113、符号化制御及びヘッダ生成部114、及び予測画像選択部115を有する。各部についての概略を以下に説明する。
[Example 1]
<Configuration>
FIG. 3 is a block diagram illustrating an example of a schematic configuration of the image encoding device 10 according to the first embodiment. In the example illustrated in FIG. 3, the image encoding device 10 includes a preprocessing unit 100, a prediction error signal generation unit 101, an orthogonal transformation unit 102, a quantization unit 103, an entropy encoding unit 104, an inverse quantization unit 105, and an inverse orthogonal. Conversion unit 106, decoded image generation unit 107, deblocking filter unit 108, loop filter unit 109, decoded image storage unit 110, intra prediction unit 111, inter prediction unit 112, motion vector calculation unit 113, encoding control and header generation unit 114 and a predicted image selection unit 115. An outline of each part will be described below.

前処理部100は、ピクチャタイプに合わせてピクチャを並べ替え、ピクチャタイプ及びフレームごとのフレーム画像等を順次出力する。また、前処理部100は、符号化のためのブロック分割なども行う。   The preprocessing unit 100 rearranges the pictures in accordance with the picture type, and sequentially outputs the picture type and the frame image for each frame. The preprocessing unit 100 also performs block division for encoding and the like.

予測誤差信号生成部101は、入力された動画像データの符号化対象画像が、例えば32×32、16×16、8×8画素などのブロックに分割されたブロックデータを取得する。   The prediction error signal generation unit 101 acquires block data obtained by dividing an encoding target image of input moving image data into blocks such as 32 × 32, 16 × 16, and 8 × 8 pixels.

予測誤差信号生成部101は、そのブロックデータと、予測画像選択部115から出力される予測画像のブロックデータとにより、予測誤差信号を生成する。予測誤差信号生成部101は、生成された予測誤差信号を直交変換部102に出力する。   The prediction error signal generation unit 101 generates a prediction error signal based on the block data and the block data of the prediction image output from the prediction image selection unit 115. The prediction error signal generation unit 101 outputs the generated prediction error signal to the orthogonal transformation unit 102.

直交変換部102は、入力された予測誤差信号を変換単位で直交変換処理する。直交変換部102は、直交変換部102は、直交変換処理によって水平及び垂直方向の周波数成分に分離された信号を量子化部103に出力する。   The orthogonal transform unit 102 performs orthogonal transform processing on the input prediction error signal in transform units. The orthogonal transform unit 102 outputs the signal separated into horizontal and vertical frequency components by the orthogonal transform process to the quantization unit 103.

量子化部103は、直交変換部102からの出力信号を量子化する。量子化部103は、量子化することによって出力信号の符号量を低減し、この出力信号をエントロピー符号化部104及び逆量子化部105に出力する。   The quantization unit 103 quantizes the output signal from the orthogonal transform unit 102. The quantization unit 103 reduces the code amount of the output signal by quantization, and outputs this output signal to the entropy encoding unit 104 and the inverse quantization unit 105.

エントロピー符号化部104は、量子化部103からの出力信号や動きベクトル計算部113から出力された動きベクトル情報やループフィルタ部109からのフィルタ係数などをエントロピー符号化して出力する。エントロピー符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる方式をいう。   The entropy coding unit 104 entropy codes and outputs the output signal from the quantization unit 103, the motion vector information output from the motion vector calculation unit 113, the filter coefficient from the loop filter unit 109, and the like. Entropy coding is a method of assigning variable-length codes according to the appearance frequency of symbols.

逆量子化部105は、量子化部103からの出力信号を逆量子化してから逆直交変換部106に出力する。逆直交変換部106は、逆量子化部105からの出力信号を逆直交変換処理してから復号画像生成部107に出力する。これら逆量子化部105及び逆直交変換部106によって復号処理が行われることにより、符号化前の予測誤差信号と同程度の信号が得られる。   The inverse quantization unit 105 dequantizes the output signal from the quantization unit 103 and then outputs the output signal to the inverse orthogonal transform unit 106. The inverse orthogonal transform unit 106 performs an inverse orthogonal transform process on the output signal from the inverse quantization unit 105 and then outputs the output signal to the decoded image generation unit 107. By performing decoding processing by the inverse quantization unit 105 and the inverse orthogonal transform unit 106, a signal having the same level as the prediction error signal before encoding is obtained.

復号画像生成部107は、インター予測部112で動き補償された画像のブロックデータと、逆量子化部105及び逆直交変換部106により復号処理された予測誤差信号とを加算する。復号画像生成部107は、加算して生成した復号画像のブロックデータを、デブロッキングフィルタ部108に出力する。   The decoded image generation unit 107 adds the block data of the image subjected to motion compensation by the inter prediction unit 112 and the prediction error signal decoded by the inverse quantization unit 105 and the inverse orthogonal transform unit 106. The decoded image generation unit 107 outputs the decoded image block data generated by the addition to the deblocking filter unit 108.

デブロッキングフィルタ部108は、復号画像生成部107から出力された復号画像に対し、ブロック歪を低減するためのフィルタをかけ、ループフィルタ部109に出力する。   The deblocking filter unit 108 applies a filter for reducing block distortion to the decoded image output from the decoded image generation unit 107 and outputs the filtered image to the loop filter unit 109.

ループフィルタ部109は、例えばALF(Adaptive Loop Filter)であり、デブロッキングフィルタ処理された復号画像と、入力画像とを用いてフィルタ処理を行う。フィルタ処理は、例えばウィナーフィルタ(Wiener Filter)が用いられるが、その他のフィルタでも良い。   The loop filter unit 109 is, for example, an ALF (Adaptive Loop Filter), and performs a filtering process using a decoded image subjected to the deblocking filtering process and an input image. For example, a Wiener filter is used for the filter processing, but other filters may be used.

また、ループフィルタ部109は、入力画像を所定サイズ毎のグループに分け、グループ毎に適切なフィルタ係数を生成する。ループフィルタ部109は、デブロッキングフィルタ処理された復号画像を、所定サイズ毎にグループ分けし、生成したフィルタ係数を用いてグループ毎にフィルタ処理を行う。ループフィルタ部109は、フィルタ処理結果を復号画像記憶部110に出力し、参照画像として蓄積させる。所定サイズは、例えば、直交変換サイズである。   In addition, the loop filter unit 109 divides the input image into groups for each predetermined size, and generates an appropriate filter coefficient for each group. The loop filter unit 109 divides the decoded image subjected to the deblocking filter processing into groups for each predetermined size, and performs filter processing for each group using the generated filter coefficients. The loop filter unit 109 outputs the filter processing result to the decoded image storage unit 110 and accumulates it as a reference image. The predetermined size is, for example, an orthogonal transformation size.

復号画像記憶部110は、入力した復号画像のブロックデータを新たな参照画像のデータとして記憶し、イントラ予測部111、インター予測部112及び動きベクトル計算部113に出力する。   The decoded image storage unit 110 stores the input block data of the decoded image as new reference image data, and outputs the data to the intra prediction unit 111, the inter prediction unit 112, and the motion vector calculation unit 113.

イントラ予測部111は、符号化対象画像の処理対象ブロックに対して、すでに符号化された参照画素から予測画像を生成する。イントラ予測部111は、複数の予測方向を用いて予測を行い、最適な予測方向を決定する。   The intra prediction unit 111 generates a predicted image from the already-encoded reference pixels for the processing target block of the encoding target image. The intra prediction unit 111 performs prediction using a plurality of prediction directions and determines an optimal prediction direction.

インター予測部112は、復号画像記憶部110から取得した参照画像のデータを動きベクトル計算部113から提供される動きベクトルで動き補償する。これにより、動き補償された参照画像としてのブロックデータが生成される。   The inter prediction unit 112 performs motion compensation on the reference image data acquired from the decoded image storage unit 110 with the motion vector provided from the motion vector calculation unit 113. Thereby, block data as a motion-compensated reference image is generated.

また、インター予測部112は、演算量削減のため、予測ブロックの周辺候補ブロックが有する動きベクトルに基づいて生成された予測動きベクトルを用いて、動き補償を行ってもよい。   In addition, the inter prediction unit 112 may perform motion compensation using a prediction motion vector generated based on a motion vector included in a candidate block surrounding the prediction block in order to reduce the amount of calculation.

動きベクトル計算部113は、符号化対象画像におけるブロックデータと、復号画像記憶部110から取得する参照画像とを用いて、動きベクトルを求める。動きベクトルとは、ブロック単位で参照画像内から処理対象ブロックに最も類似している位置を探索するブロックマッチング技術を用いて求められるブロック単位の空間的なずれを示す値である。   The motion vector calculation unit 113 obtains a motion vector using the block data in the encoding target image and the reference image acquired from the decoded image storage unit 110. The motion vector is a value indicating a spatial deviation in units of blocks obtained using a block matching technique for searching for a position most similar to the processing target block from the reference image in units of blocks.

動きベクトル計算部113は、求めた動きベクトルをインター予測部112に出力し、動きベクトルや参照画像を示す情報を含む動きベクトル情報をエントロピー符号化部104に出力する。また、動きベクトル計算部113は、予測ブロックの隣接ブロックから周辺候補ブロックを選択する機能を有する。この機能は、図4を用いて後述する。   The motion vector calculation unit 113 outputs the obtained motion vector to the inter prediction unit 112, and outputs motion vector information including information indicating the motion vector and the reference image to the entropy coding unit 104. In addition, the motion vector calculation unit 113 has a function of selecting neighboring candidate blocks from adjacent blocks of the prediction block. This function will be described later with reference to FIG.

イントラ予測部111とインター予測部112から出力されたブロックデータは、予測画像選択部115に入力される。   The block data output from the intra prediction unit 111 and the inter prediction unit 112 are input to the predicted image selection unit 115.

予測画像選択部115は、イントラ予測部111とインター予測部112から取得したブロックデータのうち、どちらか一方のブロックデータを予測画像として選択する。選択された予測画像は、予測誤差信号生成部101に出力される。   The predicted image selection unit 115 selects one of the block data acquired from the intra prediction unit 111 and the inter prediction unit 112 as a predicted image. The selected prediction image is output to the prediction error signal generation unit 101.

また、符号化制御及びヘッダ生成部114は、符号化の全体制御とヘッダ生成を行う。符号化制御及びヘッダ生成部114は、イントラ予測部111に対して、スライス分割有無の通知、デブロッキングフィルタ部108に対して、デブロッキングフィルタ有無の通知、動きベクトル計算部113に対して参照画像の制限通知などを行う。   The encoding control and header generation unit 114 performs overall encoding control and header generation. The encoding control and header generation unit 114 notifies the intra prediction unit 111 of the presence / absence of slice division, the deblocking filter unit 108 notifies the deblocking filter presence / absence, and the motion vector calculation unit 113 provides a reference image. Notification of restrictions, etc.

符号化制御及びヘッダ生成部114は、その制御結果を用いて、ヘッダ情報を生成する。生成されたヘッダ情報は、エントロピー符号化部104に出力され、画像データ、動きベクトルデータとともにストリームとして出力される。   The encoding control and header generation unit 114 generates header information using the control result. The generated header information is output to the entropy encoding unit 104, and is output as a stream together with image data and motion vector data.

画像符号化装置10の上記構成はあくまでも一例であり、実装の仕方によって構成を変更してもよい。例えばインター予測部112と動きベクトル計算部113は1つの構成であってもよい。   The above-described configuration of the image encoding device 10 is merely an example, and the configuration may be changed depending on the manner of mounting. For example, the inter prediction unit 112 and the motion vector calculation unit 113 may have one configuration.

<動きベクトル予測を行う構成>
次に、動きベクトル計算部113の構成について説明する。図4は、動きベクトル計算部113の構成の一例を示すブロック図である。図4に示す動きベクトル計算部113は、周辺候補ブロックを選択するための選択部201を有する。
<Configuration for motion vector prediction>
Next, the configuration of the motion vector calculation unit 113 will be described. FIG. 4 is a block diagram illustrating an example of the configuration of the motion vector calculation unit 113. The motion vector calculation unit 113 illustrated in FIG. 4 includes a selection unit 201 for selecting neighboring candidate blocks.

動きベクトル計算部113は、図4に示した構成以外にも、一般的な動きベクトルを計算するための構成などを有するものとする。なお、予測動きベクトルを決定するために用いる周辺候補ブロックを選択する選択部201は、インター予測部112が有するようにしてもよい。   The motion vector calculation unit 113 has a configuration for calculating a general motion vector in addition to the configuration shown in FIG. Note that the inter prediction unit 112 may include the selection unit 201 that selects the peripheral candidate blocks used for determining the motion vector predictor.

選択部201は、予測ブロックの隣接ブロックの中から、周辺候補ブロックを選択する機能を有する。選択部201は、例えば、予測ブロックの分割形状及び位置に基づいて、予測ブロックに隣接する隣接ブロックの中から周辺候補ブロックを選択する。   The selection unit 201 has a function of selecting neighboring candidate blocks from adjacent blocks of the prediction block. For example, the selection unit 201 selects a peripheral candidate block from neighboring blocks adjacent to the prediction block based on the division shape and position of the prediction block.

周辺候補ブロックを選択するために、選択部201は、例えば、交点算出部211、領域分割部212、除外部213及び追加選択部214を有する。   In order to select a peripheral candidate block, the selection unit 201 includes, for example, an intersection calculation unit 211, a region division unit 212, an exclusion unit 213, and an additional selection unit 214.

交点算出部211は、まず、前処理部100から符号化ブロックを取得する。交点算出部211は、動きベクトル計算部113により符号化ブロックが予測ブロックに分割される場合、現在の予測対象である予測ブロックの分割境界線と符号化ブロックの境界線との交点を算出する。以下では、現在の予測対象の予測ブロックを予測対象ブロックと呼ぶ。交点算出部211は、算出された交点を領域分割部212に通知する。   The intersection calculation unit 211 first obtains an encoded block from the preprocessing unit 100. When the motion vector calculation unit 113 divides the encoded block into prediction blocks, the intersection calculation unit 211 calculates an intersection between the division boundary line of the prediction block that is the current prediction target and the boundary line of the encoding block. Hereinafter, the current prediction target prediction block is referred to as a prediction target block. The intersection calculation unit 211 notifies the region dividing unit 212 of the calculated intersection.

領域分割部212は、交点算出部211から取得した交点に対し、この交点から符号化ブロックの外側方向に分割境界線を延長し、延長された分割境界線を用いて2つの領域に分割する。この2つの領域は、予測ブロックを含む領域1と、予測ブロックを含まない領域2とする。領域分割部211は、分割した領域1,2の情報を除外部213に通知する。以下では、分割した領域1,2の情報を、領域情報と呼ぶ。   The area dividing unit 212 extends the dividing boundary line from the intersection point to the outer side of the encoded block with respect to the intersection point acquired from the intersection point calculating unit 211, and divides the intersection point into two regions using the extended dividing boundary line. These two regions are a region 1 including a prediction block and a region 2 including no prediction block. The area dividing unit 211 notifies the exclusion unit 213 of information on the divided areas 1 and 2. Below, the information of the divided | segmented area | regions 1 and 2 is called area | region information.

除外部213は、まず、領域情報を領域分割部212から取得し、また、予測対象ブロックに隣接する隣接ブロックを復号画像記憶部110から取得する。除外部213は、取得した領域情報に基づいて、領域2に含まれる隣接ブロックを周辺候補ブロックから除外する。除外部213は、言い換えると、領域1に含まれる隣接ブロックを周辺候補ブロックに選択する候補選択部としても機能する。除外部213は、選択した周辺候補ブロックをインター予測部112に出力する。   The excluding unit 213 first acquires region information from the region dividing unit 212 and also acquires adjacent blocks adjacent to the prediction target block from the decoded image storage unit 110. The excluding unit 213 excludes adjacent blocks included in the area 2 from the peripheral candidate blocks based on the acquired area information. In other words, the excluding unit 213 also functions as a candidate selecting unit that selects adjacent blocks included in the region 1 as peripheral candidate blocks. The exclusion unit 213 outputs the selected peripheral candidate block to the inter prediction unit 112.

また、除外部213は、予測対象ブロックを含まない領域(第2領域)に、ブロックの一部又はブロックの重心が含まれる隣接ブロックも周辺候補ブロックから除外してもよい。このとき、除外部213は、領域2に含まれる隣接ブロックの重心を算出しておき、その重心が領域2に含まれるか否かの判定を行う。   Further, the excluding unit 213 may exclude an adjacent block in which a part of the block or the center of gravity of the block is included in the area not including the prediction target block (second area) from the peripheral candidate blocks. At this time, the exclusion unit 213 calculates the centroid of the adjacent blocks included in the region 2 and determines whether the centroid is included in the region 2.

インター予測部112は、選択部201により選択された周辺候補ブロックの動きベクトルを用いて、上述したように予測動きベクトルを決定し、予測動きベクトルを用いて動き補償を行う。インター予測部112では、様々な予測対象ブロックの形状に基づいて符号化性能を判定し、最善の符号性能を有する予測ブロックの形状を決定する。   The inter prediction unit 112 determines the predicted motion vector as described above using the motion vector of the peripheral candidate block selected by the selection unit 201, and performs motion compensation using the predicted motion vector. The inter prediction unit 112 determines the coding performance based on the shapes of various prediction target blocks, and determines the shape of the prediction block having the best coding performance.

また、除外部213により隣接ブロックを除外することで、周辺候補ブロックが所定値以下となることがある。所定値は、例えば0〜4などのいずれかである。周辺候補ブロックが所定値以下となる場合、周辺候補ブロックが少なくなるため、適切な動きベクトル予測ができない可能性が高くなる。   Also, by excluding adjacent blocks by the exclusion unit 213, the neighboring candidate blocks may be equal to or less than a predetermined value. The predetermined value is any one of 0 to 4, for example. When the peripheral candidate blocks are equal to or smaller than the predetermined value, the peripheral candidate blocks are reduced, and therefore, there is a high possibility that appropriate motion vector prediction cannot be performed.

そこで、追加選択部214は、一度除外された隣接ブロックの中から、所定基準に従って周辺候補ブロックとなる隣接ブロックを追加で選択する。追加選択部214は、例えば、領域2に含まれる隣接ブロックの中で、予測対象ブロックに近い順に、所定数になるまで隣接ブロックを選択する。所定数は、所定値と同じ数であってもよいし、所定値よりも多い数であってもよい。   Therefore, the additional selection unit 214 additionally selects an adjacent block that is a peripheral candidate block according to a predetermined criterion from the adjacent blocks once excluded. For example, the additional selection unit 214 selects adjacent blocks from the adjacent blocks included in the region 2 in the order closer to the prediction target block until a predetermined number is reached. The predetermined number may be the same number as the predetermined value, or may be a number greater than the predetermined value.

ここで、分割を階層で表現する場合、符号化ブロックから予測ブロックへの分割を最小階層への分割と表現する。例えば、最小階層の分割境界線は、予測ブロックに分割するための境界線であり、他の階層の分割境界線は、符号化ブロックを分割するための境界線である。   Here, when the division is expressed in a hierarchy, the division from the encoded block to the prediction block is expressed as the division into the minimum hierarchy. For example, the division boundary line of the minimum hierarchy is a boundary line for dividing the prediction block, and the division boundary lines of the other hierarchy are boundary lines for dividing the encoded block.

このとき、交点算出部211及び領域分割部212は、次のように説明することもできる。交点算出部211は、最小階層での分割境界線と、他の階層での分割境界線との交点を算出する。   At this time, the intersection calculation unit 211 and the region division unit 212 can also be described as follows. The intersection calculation unit 211 calculates the intersection of the division boundary line at the minimum hierarchy and the division boundary line at another hierarchy.

領域分割部212は、交点算出部211で算出された交点から最小階層の分割境界線に対して平行であり符号化ブロック外側方向に引いた半直線と、最小階層での分割境界線とで領域を2つに分ける。   The area dividing unit 212 is an area composed of a half line drawn parallel to the division boundary line of the minimum hierarchy from the intersection calculated by the intersection calculation unit 211 and drawn outward from the coding block, and the division boundary line of the minimum hierarchy. Is divided into two.

これにより、選択部201は、予測対象ブロックの形状や位置に基づいて、周辺候補ブロックを絞り込むことで演算量を削減し、予測対象ブロックと似たような動きを有する隣接ブロックを周辺候補ブロックとすることで予測精度を維持することができる。   As a result, the selection unit 201 reduces the amount of calculation by narrowing down the peripheral candidate blocks based on the shape and position of the prediction target block, and sets adjacent blocks having movement similar to the prediction target block as the peripheral candidate blocks. By doing so, the prediction accuracy can be maintained.

これは、符号化ブロックが予測ブロックに分割されるということは、予測対象ブロックと他の予測ブロックとは基本的には異なる動きを有するために分割がなされるという考えに基づく。つまり、予測対象ブロックと異なる他の予測ブロックに隣接する符号化済みブロックの動きは、予測対象ブロックと異なる動きを有する可能性が高い。   This is based on the idea that the fact that the coding block is divided into prediction blocks means that the prediction target block and other prediction blocks basically have different motions, so that the division is performed. That is, the motion of a coded block adjacent to another prediction block different from the prediction target block is likely to have a motion different from that of the prediction target block.

したがって、予測ブロックに分割するための分割境界線を用いて領域を2つに分割し、予測対象ブロックを含む領域に含まれる隣接ブロックは、予測対象ブロックと同じ動きを有すると推定する。一方、予測対象ブロックを含まない領域に含まれる隣接ブロックは、予測対象ブロックと異なる動きを有すると推定する。   Therefore, the region is divided into two using the division boundary line for dividing the prediction block, and the adjacent block included in the region including the prediction target block is estimated to have the same motion as the prediction target block. On the other hand, it is estimated that an adjacent block included in a region not including the prediction target block has a motion different from that of the prediction target block.

<周辺候補ブロックの例>
次に、予測対象ブロックの形状や位置によって選択される周辺候補ブロックの例について説明する。図5は、周辺候補ブロックの第一の例について説明するための図である。図5に示す例では、太線で囲まれたブロックb200は、符号化ブロックを示し、梨地1(点の密度が梨地2より低い)のブロックb201は、予測対象ブロックを示す。
<Example of neighboring candidate blocks>
Next, an example of the peripheral candidate block selected according to the shape and position of the prediction target block will be described. FIG. 5 is a diagram for describing a first example of the peripheral candidate blocks. In the example illustrated in FIG. 5, a block b200 surrounded by a bold line indicates an encoded block, and a block b201 of satin 1 (the density of dots is lower than the satin 2) indicates a prediction target block.

図5に示す破線は、予測ブロックに分割するための境界線を示し、太い破線は、予測対象ブロックの分割境界線を示す。また、図5に示す交点c101、c102は、予測対象ブロックの分割境界線(太い破線)と、符号化ブロックの境界線(太線)との交点を示す。   The broken line shown in FIG. 5 shows the boundary line for dividing | segmenting into a prediction block, and the thick broken line shows the division | segmentation boundary line of a prediction object block. Also, the intersections c101 and c102 shown in FIG. 5 indicate the intersections between the division boundary line (thick broken line) of the prediction target block and the boundary line (thick line) of the encoded block.

図5に示す一点鎖線の太線d101、d102は、交点c101、c102からそれぞれ符号化ブロックb200の外側に分割境界線を延長した線を示す。延長された分割境界線(太い破線と太い一点鎖線)を用いて2つの領域に分けられる。   Dotted lines d101 and d102 shown in FIG. 5 indicate lines obtained by extending the dividing boundary lines from the intersections c101 and c102 to the outside of the encoding block b200, respectively. The area is divided into two regions using an extended division boundary line (a thick broken line and a thick one-dot chain line).

このとき、予測対象ブロックb201を含む領域を領域1とし、予測対象ブロックb201を含まない領域を領域2とする。   At this time, a region including the prediction target block b201 is referred to as a region 1, and a region not including the prediction target block b201 is referred to as a region 2.

除外部213は、領域2に含まれる斜線で表された隣接ブロックb221、b222を、周辺候補ブロックから除外する。また、除外部213は、領域1に含まれる白色で表された隣接ブロックb211〜b213を周辺候補ブロックとして選択する候補選択部としても機能する。   The excluding unit 213 excludes adjacent blocks b221 and b222 represented by diagonal lines included in the region 2 from the peripheral candidate blocks. The exclusion unit 213 also functions as a candidate selection unit that selects the adjacent blocks b211 to b213 represented in white included in the region 1 as peripheral candidate blocks.

なお、ここではラスタースキャンを想定しているので、梨地2(点の密度が梨地1より高い)のブロックb231〜233は、符号化済みではないため、予測対象ブロックb201では参照することができないブロックである。   Here, since raster scanning is assumed, blocks b231 to 233 in satin 2 (the density of points is higher than that in satin 1) are not encoded, and therefore cannot be referenced in the prediction target block b201. It is.

図6は、周辺候補ブロックの第二の例について説明するための図である。図6に示す例では予測ブロックの形状が図5に示す予測ブロックの形状と異なる。また、図6では、予測対象ブロックの位置で、どの隣接ブロックが除外されるかを説明する。なお、図6に示す太い破線、太い一点鎖線、太線、梨地1のブロック、梨地2のブロック、斜線のブロック、白色のブロックの定義は、図5に示す定義と同じである。   FIG. 6 is a diagram for describing a second example of the peripheral candidate blocks. In the example shown in FIG. 6, the shape of the prediction block is different from the shape of the prediction block shown in FIG. In addition, FIG. 6 illustrates which adjacent blocks are excluded at the position of the prediction target block. The definitions of the thick broken line, the thick dashed line, the thick line, the satin 1 block, the satin 2 block, the hatched block, and the white block shown in FIG. 6 are the same as the definitions shown in FIG.

図6(A)は、縦長の予測ブロックに分割され、左側を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図6(A)に示す予測ブロックは、縦方向に分割されるため、左右に隣同士の予測ブロックでは異なる動きをすると推定される。そのため、予測対象ブロックの右隣の予測ブロックと、この予測ブロックの縦方向に隣接する隣接ブロックは、周辺候補ブロックから除外される。   FIG. 6A shows an example of neighboring candidate blocks when divided into vertically predicted blocks and the left side is a prediction target block. Since the prediction block shown in FIG. 6A is divided in the vertical direction, it is estimated that the prediction blocks adjacent to the left and right move differently. Therefore, the prediction block adjacent to the right of the prediction target block and the adjacent block adjacent to the prediction block in the vertical direction are excluded from the peripheral candidate blocks.

図6(B)は、縦長の予測ブロックに分割され、右側を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図6(B)に示す予測ブロックは、縦方向に分割されるため、左右に隣同士の予測ブロックでは異なる動きをすると推定される。そのため、予測対象ブロックの左隣の予測ブロックと、この予測ブロックの縦方向に隣接する隣接ブロックは、周辺候補ブロックから除外される。   FIG. 6B shows an example of a peripheral candidate block when divided into vertically long prediction blocks and the right side is a prediction target block. Since the prediction block shown in FIG. 6 (B) is divided in the vertical direction, it is estimated that the prediction blocks adjacent to the left and right move differently. Therefore, the prediction block adjacent to the left of the prediction target block and the adjacent block adjacent to the prediction block in the vertical direction are excluded from the peripheral candidate blocks.

図6(C)は、横長の予測ブロックに分割され、上側を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図6(C)に示す予測ブロックは、横方向に分割されるため、上下に隣同士の予測ブロックでは異なる動きをすると推定される。そのため、予測対象ブロックの隣下の予測ブロックと、この予測ブロックの横方向に隣接する隣接ブロックは、周辺候補ブロックから除外される。   FIG. 6C illustrates an example of a peripheral candidate block when divided into horizontally long prediction blocks and the upper side is a prediction target block. Since the prediction block shown in FIG. 6C is divided in the horizontal direction, it is estimated that the prediction blocks adjacent to each other vertically move differently. For this reason, the prediction block adjacent to the prediction target block and the adjacent block adjacent to the prediction block in the horizontal direction are excluded from the peripheral candidate blocks.

図6(D)は、横長の予測ブロックに分割され、下側を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図6(D)に示す予測ブロックは、横方向に分割されるため、上下に隣同士の予測ブロックでは異なる動きをすると推定される。そのため、予測対象ブロックの隣上の予測ブロックと、この予測ブロックの横方向に隣接する隣接ブロックは、周辺候補ブロックから除外される。   FIG. 6D illustrates an example of a peripheral candidate block when divided into horizontally long prediction blocks and the lower side is a prediction target block. Since the prediction block shown in FIG. 6D is divided in the horizontal direction, it is estimated that the prediction blocks adjacent to each other vertically move differently. Therefore, the prediction block adjacent to the prediction target block and the adjacent block adjacent to the prediction block in the horizontal direction are excluded from the peripheral candidate blocks.

図7は、周辺候補ブロックの第三の例について説明するための図である。図7に示す例では予測ブロックの形状が図5や図6に示す予測ブロックの形状と異なる。なお、図7に示す太い破線、太い一点鎖線、太線、梨地1のブロック、梨地2のブロック、斜線のブロック、白色のブロックの定義は、図5に示す定義と同じである。   FIG. 7 is a diagram for explaining a third example of the peripheral candidate blocks. In the example illustrated in FIG. 7, the shape of the prediction block is different from the shape of the prediction block illustrated in FIGS. 5 and 6. Note that the definitions of the thick broken line, the thick dashed line, the thick line, the satin 1 block, the satin 2 block, the shaded block, and the white block shown in FIG. 7 are the same as the definitions shown in FIG.

また、図7に示す予測ブロックは、矩形ではないが、図7に示すような台形やその他の任意の形状を予測ブロックとすることもありうる。よって、図7に示すような任意の形状の予測ブロックのときに、予測対象ブロックの位置で、どの隣接ブロックが除外されるかについて図7を用いて説明する。   Moreover, although the prediction block shown in FIG. 7 is not rectangular, a trapezoid as shown in FIG. 7 or other arbitrary shapes may be used as the prediction block. Therefore, in the case of a prediction block having an arbitrary shape as shown in FIG. 7, which neighboring block is excluded at the position of the prediction target block will be described with reference to FIG.

図7(A)は、符号化ブロックに対して、予測ブロックの一つが台形になるように分割され、左側を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図7(A)に示す予測対象ブロックは、不規則な形状に分割されるが、もともとの基準に従って、予測対象ブロックを含まない領域2に含まれるブロックは異なる動きをすると推定される。そのため、領域2に含まれる隣接ブロックは、周辺候補ブロックから除外される。   FIG. 7A shows an example of the peripheral candidate block when the encoded block is divided so that one of the prediction blocks becomes a trapezoid and the left side is a prediction target block. The prediction target block shown in FIG. 7A is divided into irregular shapes, but it is estimated that the blocks included in the region 2 that does not include the prediction target block move differently according to the original criterion. Therefore, the adjacent block included in the region 2 is excluded from the peripheral candidate blocks.

図7(B)は、図7(A)と同じ予測ブロックの分割であり、右側の領域を予測対象ブロックとしたときの周辺候補ブロックの例を示す。図7(B)に示す予測対象ブロックは、領域2に含まれるブロックとは異なる動きをすると推定される。そのため、領域2に含まれる隣接ブロックは、周辺候補ブロックから除外される。   FIG. 7B shows the same prediction block division as that in FIG. 7A, and shows an example of a peripheral candidate block when the right region is a prediction target block. The prediction target block illustrated in FIG. 7B is estimated to move differently from the blocks included in the region 2. Therefore, the adjacent block included in the region 2 is excluded from the peripheral candidate blocks.

また、図7に示す例では、最小階層の分割境界線(予測ブロックの分割境界線)が、他の階層の分割境界線(符号化ブロックの境界線)と垂直に交わらない。最小階層の分割境界線と、他の階層の分割境界線と垂直に交わる場合は、上記例と同様とする。   Further, in the example illustrated in FIG. 7, the division boundary line of the lowest hierarchy (division boundary line of the prediction block) does not intersect perpendicularly with the division boundary line of the other hierarchy (the boundary line of the encoded block). The case where the dividing boundary line of the minimum hierarchy and the dividing boundary line of the other hierarchy intersect perpendicularly is the same as the above example.

最小階層の分割境界線と他の階層の分割境界線とが垂直に交わらない場合の、交点からの半直線の方向推定について図8を用いて説明する。図8は、半直線の推定方向を説明するための図である。図8に示す領域ar301は、半直線の方向を推定するのに用いる領域を示す。図8に示す交点c301は、最小階層の分割境界線と、他の階層の分割境界線とが垂直に交わらない交点を示す。図8に示す太い一点鎖線は、交点からの半直線を示す。   The direction estimation of the half line from the intersection when the division boundary line of the minimum hierarchy and the division boundary line of the other hierarchy do not intersect perpendicularly will be described with reference to FIG. FIG. 8 is a diagram for explaining the estimated direction of the half line. A region ar301 illustrated in FIG. 8 indicates a region used for estimating the direction of the half line. An intersection point c301 illustrated in FIG. 8 indicates an intersection point where the division boundary line of the minimum hierarchy and the division boundary lines of the other hierarchy do not intersect perpendicularly. A thick alternate long and short dash line shown in FIG. 8 indicates a half line from the intersection.

このとき、領域分割部212は、交点c301近傍の一定画素領域ar301内で、予測対象ブロックの画素数に基づいて、交点c301から伸びる半直線d301の方向を推定する。例えば、領域分割部212は、領域ar301内に含まれる、予測対象ブロックの画素数と、予測対象ブロック以外の予測ブロックの画素数との割合を求め、この割合に基づいて、交点からの半直線d301の傾きを決定する。   At this time, the region dividing unit 212 estimates the direction of the half line d301 extending from the intersection c301 based on the number of pixels of the prediction target block in the constant pixel region ar301 near the intersection c301. For example, the area dividing unit 212 obtains a ratio between the number of pixels of the prediction target block and the number of pixels of the prediction block other than the prediction target block included in the area ar301, and based on this ratio, a half line from the intersection The inclination of d301 is determined.

領域分割部212は、最小階層の分割境界線又は延長された分割境界線と半直線とで2つの領域に分割する。以降の処理は、上記で説明した内容と同様である。   The area dividing unit 212 divides the image into two areas by a dividing boundary line of the minimum hierarchy or an extended dividing boundary line and a half line. Subsequent processing is the same as that described above.

図6〜8で説明したとおり、予測対象ブロックの形状や位置によって、予測対象ブロックと同じ動きを有すると推定される周辺候補ブロックを選択することができる。   As described with reference to FIGS. 6 to 8, the peripheral candidate blocks estimated to have the same motion as the prediction target block can be selected depending on the shape and position of the prediction target block.

<追加選択>
次に、周辺候補ブロックの追加選択について図を用いて説明する。図9は、周辺候補ブロックの追加選択を説明するための図である。図9に示すブロックb421、b422は、除外部213により、周辺候補ブロックから除外されたブロックである。
<Additional selection>
Next, additional selection of peripheral candidate blocks will be described with reference to the drawings. FIG. 9 is a diagram for explaining additional selection of neighboring candidate blocks. Blocks b421 and b422 illustrated in FIG. 9 are blocks excluded from the peripheral candidate blocks by the exclusion unit 213.

ここで、追加選択部214は、選択された周辺候補ブロックの数が所定値以下であると判定したとする。このとき、追加選択部214は、予測対象ブロックb401から近い順に、除外された隣接ブロックを周辺候補ブロックに追加で選択していく。   Here, it is assumed that the additional selection unit 214 determines that the number of selected peripheral candidate blocks is equal to or less than a predetermined value. At this time, the additional selection unit 214 additionally selects the excluded adjacent blocks as the peripheral candidate blocks in the order closer to the prediction target block b401.

例えば、追加選択部214は、隣接ブロックb411、b412の順で周辺候補ブロックに追加で選択する。なお、後述するが、実施例1における予測ブロックでは、分割後の各予測ブロックの動きベクトル予測処理、動き補償を並列して行うことができる。   For example, the additional selection unit 214 additionally selects peripheral candidate blocks in the order of adjacent blocks b411 and b412. In addition, although mentioned later, in the prediction block in Example 1, the motion vector prediction process and motion compensation of each prediction block after a division | segmentation can be performed in parallel.

このように、各予測ブロックの処理を並列で行う場合は、ブロックb411は、予測対象ブロックb401の処理時には動きベクトルが存在しない。なお、実施例1では、ラスタースキャン順で符号化することを想定している。   Thus, when processing of each prediction block is performed in parallel, the block b411 has no motion vector when processing the prediction target block b401. In the first embodiment, it is assumed that encoding is performed in raster scan order.

よって、この場合の追加選択部214は、符号化済みであるブロックb412のみを周辺候補ブロックに追加する。   Therefore, the additional selection unit 214 in this case adds only the encoded block b412 to the peripheral candidate blocks.

<並列処理>
次に、各予測ブロックの処理が並列で処理できることについて説明する。図10は、予測ブロックの並列処理を説明するための図である。図10に示す例では、符号化ブロックb500を縦長の予測ブロックに分割する。また、ラスタースキャン順で符号化することを想定しているため、一般的な従来技術では、図10(A)に示す予測対象ブロックb501、次に、図10(B)に示す予測対象ブロックb601の順で符号化される。
<Parallel processing>
Next, it will be described that the processing of each prediction block can be performed in parallel. FIG. 10 is a diagram for explaining parallel processing of prediction blocks. In the example shown in FIG. 10, the encoding block b500 is divided into vertically predicted blocks. In addition, since it is assumed that encoding is performed in the raster scan order, in the general prior art, the prediction target block b501 shown in FIG. 10A, and then the prediction target block b601 shown in FIG. 10B. Are encoded in this order.

従来技術では、予測対象ブロックb601を処理する場合に、隣接ブロックb621の動きベクトルが必要になり、従って、予測対象ブロックb501が先に符号化されている必要がある。   In the prior art, when processing the prediction target block b601, the motion vector of the adjacent block b621 is required, and therefore the prediction target block b501 needs to be encoded first.

一方、実施例1によれば、図10(B)に示すように、予測対象ブロックb601を処理する場合に、隣接ブロックb621は除外されているため、隣接ブロックb621の動きベクトルを必要としない。   On the other hand, according to the first embodiment, as illustrated in FIG. 10B, when the prediction target block b601 is processed, the adjacent block b621 is excluded, so that the motion vector of the adjacent block b621 is not required.

図10(B)に示す予測対象ブロックb601で用いる隣接ブロックは、図10(A)に示す予測対象ブロックb501の処理時に既に符号化済みである。従って、図10(A)に示す予測対象ブロックb501と、図10(B)に示す予測対象ブロックb601とは並列で処理することができる。   The adjacent block used in the prediction target block b601 shown in FIG. 10B has already been encoded when the prediction target block b501 shown in FIG. 10A is processed. Therefore, the prediction target block b501 shown in FIG. 10A and the prediction target block b601 shown in FIG. 10B can be processed in parallel.

実施例1における周辺候補ブロックの選択方法を用いれば、図10に示した予測ブロックの形状によらず、様々な形状の予測ブロックの分割に対しても同様のことがいえる。よって、実施例1によれば、各予測ブロックの処理を並列化することができるため、従来技術よりも高速化することができる。   If the method for selecting neighboring candidate blocks in the first embodiment is used, the same can be said for the division of prediction blocks having various shapes regardless of the shape of the prediction block shown in FIG. Therefore, according to Example 1, since the process of each prediction block can be parallelized, it can speed up rather than a prior art.

<動作>
次に、実施例1における画像符号化装置10の動作について説明する。図11は、動きベクトル予測処理の一例を示すフローチャートである。図11に示すステップS101で、選択部201は、予測対象ブロックの分割形状及び位置に基づいて、予測ブロックに隣接する符号化済みの隣接ブロックから、予測対象ブロックを含まない領域に含まれる隣接ブロックを除いて周辺候補ブロックを選択する。
<Operation>
Next, the operation of the image encoding device 10 in the first embodiment will be described. FIG. 11 is a flowchart illustrating an example of motion vector prediction processing. In step S101 illustrated in FIG. 11, the selection unit 201 selects an adjacent block included in a region that does not include the prediction target block from the encoded adjacent blocks adjacent to the prediction block, based on the division shape and position of the prediction target block. Neighboring candidate blocks are selected except for.

ステップS102で、インター予測部112は、従来のブロックマッチングに基づく動きベクトル算出により求められた動きベクトルによる動き補償と、選択部201により選択された複数の周辺候補ブロックの中で予測が最善となる周辺候補ブロックの組み合わせにより算出された動きベクトルを用いた動き補償について符号化性能を比較する。比較の結果、ブロックマッチングによる動き補償の符号化性能が高い場合、動きベクトルの係数が、動きベクトル計算部113からエントロピー符号化部104に出力され、動きベクトル予測による動き補償の符号化性能が高い場合、最善な周辺候補ブロックのインデックスが、動きベクトル計算部113からエントロピー符号化部104に出力され、ストリームに含まれる。   In step S102, the inter prediction unit 112 has the best prediction among the motion compensation based on the motion vector obtained by the motion vector calculation based on the conventional block matching and the plurality of peripheral candidate blocks selected by the selection unit 201. Coding performance is compared for motion compensation using motion vectors calculated by combinations of neighboring candidate blocks. As a result of comparison, if the motion compensation encoding performance by block matching is high, the motion vector coefficient is output from the motion vector calculation unit 113 to the entropy encoding unit 104, and the motion compensation encoding performance by motion vector prediction is high. In this case, the index of the best neighboring candidate block is output from the motion vector calculation unit 113 to the entropy encoding unit 104 and included in the stream.

次に、周辺候補ブロックの選択処理について詳しく説明する。図12は、実施例1における周辺候補ブロックの選択処理の一例を示すフローチャートである。図12に示すステップS201で、選択部201は、符号化ブロックを入力する。   Next, the peripheral candidate block selection process will be described in detail. FIG. 12 is a flowchart illustrating an example of a peripheral candidate block selection process according to the first embodiment. In step S201 illustrated in FIG. 12, the selection unit 201 inputs an encoded block.

ステップS202で、選択部201は、復号画像記憶部110から参照可能なブロックを検索し、参照可能なブロックに関する情報を取得する。ブロックに関する情報とは、ブロックの位置情報や動きベクトル情報などである。   In step S202, the selection unit 201 searches for a referenceable block from the decoded image storage unit 110, and acquires information regarding the referenceable block. The information regarding the block includes block position information and motion vector information.

ステップS203で、交点算出部211は、最小階層の分割境界線(予測ブロックの分割境界線)と、他の階層の分割境界線(符号化ブロックの境界線)との交点を算出する。   In step S <b> 203, the intersection calculation unit 211 calculates the intersection between the division boundary line of the minimum hierarchy (division boundary line of the prediction block) and the division boundary line of another hierarchy (the boundary line of the encoded block).

ステップS204で、領域分割部212は、周辺候補ブロックから除外するための除外領域(領域2)を決定する。領域分割部212は、例えば、交点算出部211により算出された交点から、符号化ブロックの外側方向に分割境界線を延長し、延長された分割境界線を用いて2つの領域に分割する。このとき、領域分割部212は、予測対象ブロックを含まない領域を除外領域に決定する。   In step S204, the area dividing unit 212 determines an excluded area (area 2) to be excluded from the peripheral candidate blocks. The area dividing unit 212 extends, for example, the dividing boundary line from the intersection calculated by the intersection calculating unit 211 in the outer direction of the encoded block, and divides the divided area into two regions using the extended dividing boundary line. At this time, the region dividing unit 212 determines a region that does not include the prediction target block as an excluded region.

ステップS205で、除外部213は、除外領域に含まれる隣接ブロックを周辺候補ブロックから除外する。   In step S205, the exclusion unit 213 excludes adjacent blocks included in the exclusion region from the peripheral candidate blocks.

ステップS206で、除外部213は、隣接ブロックの重心の位置を計算する。ステップS207で、除外部213は、隣接ブロックの重心が除外領域に含まれているか否かを判定する。重心が除外領域に含まれていれば(ステップS207−YES)ステップS208に進み、重心が除外領域に含まれていなければ(ステップS207−NO)ステップS209に進む。   In step S206, the exclusion unit 213 calculates the position of the center of gravity of the adjacent block. In step S207, the exclusion unit 213 determines whether or not the centroid of the adjacent block is included in the exclusion region. If the center of gravity is included in the excluded area (step S207—YES), the process proceeds to step S208. If the center of gravity is not included in the excluded area (step S207—NO), the process proceeds to step S209.

ただし、隣接ブロックの重心が、延長された分割境界線上にある場合は、除外するかしないかを予め設定しておけばよい。   However, if the center of gravity of the adjacent block is on the extended division boundary line, it may be set in advance whether or not to exclude.

ステップS208で、除外部213は、重心が除外領域に含まれる隣接ブロックを、周辺候補ブロックから除外する。   In step S208, the exclusion unit 213 excludes adjacent blocks whose center of gravity is included in the exclusion region from the peripheral candidate blocks.

ステップS209で、選択部201は、除外されずに残っている隣接ブロックを周辺候補ブロックとして選択し、選択した周辺候補ブロックをインター予測部112に出力する。   In step S209, the selection unit 201 selects adjacent blocks that remain without being excluded as peripheral candidate blocks, and outputs the selected peripheral candidate blocks to the inter prediction unit 112.

なお、ステップS209の処理の前に、追加選択部214により、周辺候補ブロックの追加選択処理が行われてもよい。また、ステップS206〜S208の処理は、必ずしも必要な処理ではない。   In addition, before the process of step S209, the additional selection part 214 may perform the additional selection process of a periphery candidate block. Moreover, the process of step S206-S208 is not necessarily a required process.

以上、実施例1によれば、動きベクトル予測で周辺候補ブロックを選択する際に、予測精度が低下することを防止しつつ、演算量を削減することができる。また、実施例1における各予測ブロックの処理は、並列で行うことができるため、高速化につながる。また、実施例1によれば、予測ブロックは矩形のブロックに限らない。   As described above, according to the first embodiment, when selecting neighboring candidate blocks by motion vector prediction, it is possible to reduce the calculation amount while preventing the prediction accuracy from being lowered. Moreover, since the process of each prediction block in Example 1 can be performed in parallel, it leads to high speed. Further, according to the first embodiment, the prediction block is not limited to a rectangular block.

[実施例2]
図13は、実施例2における画像処理装置30の構成の一例を示すブロック図である。図13に示す画像処理装置30は、上述した実施例1で説明した画像符号化処理をソフトウェアで実装した装置の一例である。
[Example 2]
FIG. 13 is a block diagram illustrating an example of the configuration of the image processing apparatus 30 according to the second embodiment. An image processing apparatus 30 illustrated in FIG. 13 is an example of an apparatus in which the image encoding process described in the first embodiment is implemented by software.

図13に示すように、画像処理装置30は、制御部301、主記憶部302、補助記憶部303、ドライブ装置304、ネットワークI/F部306、入力部307、表示部308を有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。   As illustrated in FIG. 13, the image processing apparatus 30 includes a control unit 301, a main storage unit 302, an auxiliary storage unit 303, a drive device 304, a network I / F unit 306, an input unit 307, and a display unit 308. These components are connected to each other via a bus so as to be able to transmit and receive data.

制御部301は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部301は、主記憶部302又は補助記憶部303に記憶された画像符号化処理のプログラムを実行する演算装置である。制御部301は、入力部307や記憶装置からデータを受け取り、演算、加工した上で、表示部308や記憶装置などに出力する。   The control unit 301 is a CPU that controls each device, calculates data, and processes in a computer. The control unit 301 is an arithmetic device that executes an image encoding processing program stored in the main storage unit 302 or the auxiliary storage unit 303. The control unit 301 receives data from the input unit 307 and the storage device, calculates and processes the data, and outputs the data to the display unit 308 and the storage device.

制御部301は、画像符号化処理のプログラムを実行することで、各実施例で説明した処理を実現することができる。   The control unit 301 can realize the processing described in each embodiment by executing a program for image encoding processing.

主記憶部302は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部302は、制御部301が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The main storage unit 302 is a ROM (Read Only Memory), a RAM (Random Access Memory), or the like. The main storage unit 302 is a storage device that stores or temporarily stores programs and data such as OS (Operating System) and application software that are basic software executed by the control unit 301.

補助記憶部303は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The auxiliary storage unit 303 is an HDD (Hard Disk Drive) or the like, and is a storage device that stores data related to application software and the like.

ドライブ装置304は、記録媒体305、例えばフレキシブルディスクからプログラムを読み出し、記憶部にインストールする。   The drive device 304 reads the program from the recording medium 305, for example, a flexible disk, and installs it in the storage unit.

また、記録媒体305に、所定のプログラムを格納し、この記録媒体305に格納されたプログラムはドライブ装置304を介して画像処理装置30にインストールされる。インストールされた所定のプログラムは、画像処理装置30により実行可能となる。   A predetermined program is stored in the recording medium 305, and the program stored in the recording medium 305 is installed in the image processing apparatus 30 via the drive device 304. The installed predetermined program can be executed by the image processing apparatus 30.

ネットワークI/F部306は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と画像処理装置30とのインターフェースである。   The network I / F unit 306 is a peripheral having a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. This is an interface between the device and the image processing apparatus 30.

入力部307は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部308の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部307は、ユーザが制御部301に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。   The input unit 307 includes a keyboard having cursor keys, numeric input, various function keys, and the like, a mouse and a slice pad for selecting keys on the display screen of the display unit 308, and the like. The input unit 307 is a user interface for a user to give an operation instruction to the control unit 301 or input data.

表示部308は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等により構成され、制御部301から入力される表示データに応じた表示が行われる。   The display unit 308 is configured by a CRT (Cathode Ray Tube), an LCD (Liquid Crystal Display), or the like, and performs display according to display data input from the control unit 301.

なお、図3に示す復号画像記憶部110は、例えば主記憶部302又は補助記憶部303により実現され、図3に示す復号画像記憶部110以外の構成は、例えば制御部301及びワークメモリとしての主記憶部302により実現されうる。   The decoded image storage unit 110 illustrated in FIG. 3 is realized by, for example, the main storage unit 302 or the auxiliary storage unit 303. The configuration other than the decoded image storage unit 110 illustrated in FIG. 3 includes, for example, a control unit 301 and a work memory. This can be realized by the main storage unit 302.

画像処理装置30で実行されるプログラムは、実施例1で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部301が補助記憶部303からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部302上にロードされ、1又は複数の各部が主記憶部302上に生成されるようになっている。   The program executed by the image processing apparatus 30 has a module configuration including each unit described in the first embodiment. As actual hardware, when the control unit 301 reads a program from the auxiliary storage unit 303 and executes it, one or more of the above-described units are loaded onto the main storage unit 302, and one or more of the units are main. It is generated on the storage unit 302.

このように、上述した実施例1で説明した画像符号化処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、各実施例で説明した処理を実現することができる。   As described above, the image encoding processing described in the first embodiment may be realized as a program for causing a computer to execute. The processing described in each embodiment can be realized by installing this program from a server or the like and causing the computer to execute the program.

また、このプログラムを記録媒体305に記録し、このプログラムが記録された記録媒体305をコンピュータや携帯端末に読み取らせて、前述した画像符号化処理を実現させることも可能である。なお、記録媒体305は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。   It is also possible to record the program on the recording medium 305 and cause the computer or portable terminal to read the recording medium 305 on which the program is recorded to realize the above-described image encoding process. The recording medium 305 is a recording medium that records information optically, electrically, or magnetically, such as a CD-ROM, a flexible disk, or a magneto-optical disk, and information is electrically stored such as a ROM or flash memory. Various types of recording media such as a semiconductor memory for recording can be used.

また、上述した実施例1で説明した各部は、各種の集積回路や電子回路を採用できる。また、実施例1で説明した各部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。   Moreover, various integrated circuits and electronic circuits can be employed for each unit described in the first embodiment. In addition, a part of each part described in the first embodiment can be another integrated circuit or an electronic circuit. For example, examples of the integrated circuit include ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array). Examples of the electronic circuit include a central processing unit (CPU) and a micro processing unit (MPU).

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記変形例以外にも種々の変形及び変更が可能である。   Each embodiment has been described in detail above. However, the present invention is not limited to the specific embodiment, and various modifications and changes other than the above-described modification are possible within the scope described in the claims. .

10 画像符号化装置
30 画像処理装置
101 予測画像生成部
102 直交変換部
103 量子化部
104 エントロピー符号化部
105 逆量子化部
106 逆直交変換部
107 復号画像生成部
108 デブロッキングフィルタ部
109 ループフィルタ部
110 復号画像記憶部
111 イントラ予測部
112 インター予測部
113 動きベクトル計算部
114 符号化制御及びヘッダ生成部
115 予測画像選択部
201 選択部
211 交点算出部
212 領域分割部
213 除外部
214 追加選択部
301 制御部
302 主記憶部
303 補助記憶部
304 ドライブ装置
DESCRIPTION OF SYMBOLS 10 Image coding apparatus 30 Image processing apparatus 101 Predictive image generation part 102 Orthogonal transformation part 103 Quantization part 104 Entropy encoding part 105 Inverse quantization part 106 Inverse orthogonal transformation part 107 Decoded image generation part 108 Deblocking filter part 109 Loop filter Unit 110 decoded image storage unit 111 intra prediction unit 112 inter prediction unit 113 motion vector calculation unit 114 encoding control and header generation unit 115 prediction image selection unit 201 selection unit 211 intersection calculation unit 212 region division unit 213 exclusion unit 214 additional selection unit 301 Control Unit 302 Main Storage Unit 303 Auxiliary Storage Unit 304 Drive Device

Claims (5)

画像を符号化ブロックに分割し、前記符号化ブロックを動きベクトル予測の予測対象となる予測ブロックに分割し、前記画像の符号化を行う画像符号化装置であって、
前記符号化ブロックにおける前記予測ブロックの分割形状及び位置に基づいて、前記予測ブロックに隣接する符号化済みブロックを選択する選択部と、
前記選択部により選択された符号化済みブロックの動きベクトルを用いて前記予測ブロックの動き補償を行うインター予測部と、
を備える画像符号化装置。
An image coding apparatus that divides an image into coding blocks, divides the coding block into prediction blocks that are prediction targets of motion vector prediction, and performs coding of the image,
A selection unit that selects a coded block adjacent to the prediction block based on a division shape and a position of the prediction block in the coding block;
An inter prediction unit that performs motion compensation of the prediction block using a motion vector of the encoded block selected by the selection unit;
An image encoding device comprising:
前記選択部は、
前記符号化ブロックが前記予測ブロックに分割される場合、現在の予測対象である前記予測ブロックの分割境界線と前記符号化ブロックの境界線との交点を算出する交点算出部と、
前記交点から前記符号化ブロックの外側方向に前記分割境界線を延長し、延長された分割境界線を用いて2つの領域に分割する領域分割部と、
前記2つの領域のうち、前記現在の予測対象の予測ブロックを含まない領域に含まれる前記符号化済みブロックを選択候補から除外する除外部と、
を備える請求項1記載の画像符号化装置。
The selection unit includes:
When the coding block is divided into the prediction blocks, an intersection calculation unit that calculates an intersection between a division boundary line of the prediction block that is a current prediction target and a boundary line of the coding block;
An area dividing unit that extends the dividing boundary line from the intersection point toward the outside of the coding block, and divides the dividing boundary line into two areas using the extended dividing boundary line;
An excluding unit that excludes the encoded block included in a region that does not include the current prediction target prediction block from the two regions, from selection candidates;
The image encoding device according to claim 1, further comprising:
前記除外部は、
前記現在の予測対象の予測ブロックを含まない領域に、ブロックの一部又はブロックの重心が含まれる符号化済みブロックも前記選択候補から除外する請求項2記載の画像符号化装置。
The exclusion part is
The image encoding apparatus according to claim 2, wherein an encoded block in which a part of the block or the center of gravity of the block is included in an area not including the current prediction target prediction block is also excluded from the selection candidates.
前記選択部は、
前記選択された符号化済みブロックの数が所定値以下の場合、前記現在の予測対象の予測ブロックを含まない領域に含まれる符号化済みブロックの中で、前記現在の予測対象の予測ブロックに近い順に、該符号化済みブロックの数が所定数になるまで選択する請求項2又は3記載の画像符号化装置。
The selection unit includes:
When the number of the selected encoded blocks is equal to or less than a predetermined value, the encoded blocks included in the area not including the current prediction target prediction block are close to the current prediction target prediction block. The image encoding device according to claim 2 or 3, wherein the image encoding device sequentially selects until the number of the encoded blocks reaches a predetermined number.
画像を符号化ブロックに分割し、前記符号化ブロックを動きベクトル予測の予測対象となる予測ブロックに分割し、前記画像の符号化を行うコンピュータに、
前記符号化ブロックにおける前記予測ブロックの分割形状及び位置に基づいて、前記予測ブロックに隣接する符号化済みブロックを選択する選択ステップと、
前記選択された符号化済みブロックの動きベクトルを用いて前記予測ブロックの動き補償を行うインター予測ステップと、
を実行させるためのプログラム。
A computer that divides an image into coding blocks, divides the coding block into prediction blocks that are prediction targets for motion vector prediction, and encodes the image,
A selection step of selecting an encoded block adjacent to the prediction block based on a division shape and a position of the prediction block in the encoding block;
An inter prediction step of performing motion compensation of the prediction block using a motion vector of the selected encoded block;
A program for running
JP2012072148A 2012-03-27 2012-03-27 Image encoding device and program Pending JP2013207402A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012072148A JP2013207402A (en) 2012-03-27 2012-03-27 Image encoding device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012072148A JP2013207402A (en) 2012-03-27 2012-03-27 Image encoding device and program

Publications (1)

Publication Number Publication Date
JP2013207402A true JP2013207402A (en) 2013-10-07

Family

ID=49526120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012072148A Pending JP2013207402A (en) 2012-03-27 2012-03-27 Image encoding device and program

Country Status (1)

Country Link
JP (1) JP2013207402A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019151280A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
WO2019151279A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2019151284A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944681A (en) * 1995-08-01 1997-02-14 Matsushita Electric Ind Co Ltd Moving object area detector
JP2006163841A (en) * 2004-12-07 2006-06-22 Canon Inc Image searching device, image searching method, program, and storage medium
JP2007513566A (en) * 2003-12-02 2007-05-24 ソンギュングァン ユニヴァーシティ Video coding method and apparatus
JP2007520809A (en) * 2004-01-08 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Distribution of candidate vectors based on local motion complexity
JP2011050001A (en) * 2009-08-28 2011-03-10 Sony Corp Image processing apparatus and method
JP2011259204A (en) * 2010-06-09 2011-12-22 Sony Corp Image decoding device, image encoding device, and method and program thereof
WO2012011432A1 (en) * 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944681A (en) * 1995-08-01 1997-02-14 Matsushita Electric Ind Co Ltd Moving object area detector
JP2007513566A (en) * 2003-12-02 2007-05-24 ソンギュングァン ユニヴァーシティ Video coding method and apparatus
JP2007520809A (en) * 2004-01-08 2007-07-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Distribution of candidate vectors based on local motion complexity
JP2006163841A (en) * 2004-12-07 2006-06-22 Canon Inc Image searching device, image searching method, program, and storage medium
JP2011050001A (en) * 2009-08-28 2011-03-10 Sony Corp Image processing apparatus and method
JP2011259204A (en) * 2010-06-09 2011-12-22 Sony Corp Image decoding device, image encoding device, and method and program thereof
WO2012011432A1 (en) * 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, and image prediction decoding program

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019151280A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
WO2019151279A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
WO2019151284A1 (en) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
CN111771377A (en) * 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method
CN111989923A (en) * 2018-01-30 2020-11-24 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method
JPWO2019151280A1 (en) * 2018-01-30 2021-01-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Encoding device, decoding device, coding method and decoding method
JPWO2019151284A1 (en) * 2018-01-30 2021-01-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Encoding device, decoding device, coding method and decoding method
US11044491B2 (en) 2018-01-30 2021-06-22 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11146812B2 (en) 2018-01-30 2021-10-12 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11350092B2 (en) 2018-01-30 2022-05-31 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11558635B2 (en) 2018-01-30 2023-01-17 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
JP7315480B2 (en) 2018-01-30 2023-07-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method and decoding method
JP7401309B2 (en) 2018-01-30 2023-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, encoding method, and decoding method
US11882279B2 (en) 2018-01-30 2024-01-23 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11889103B2 (en) 2018-01-30 2024-01-30 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11889105B2 (en) 2018-01-30 2024-01-30 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11889104B2 (en) 2018-01-30 2024-01-30 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11895323B2 (en) 2018-01-30 2024-02-06 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11895322B2 (en) 2018-01-30 2024-02-06 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11895298B2 (en) 2018-01-30 2024-02-06 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11909968B2 (en) 2018-01-30 2024-02-20 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11917150B2 (en) 2018-01-30 2024-02-27 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11924423B2 (en) 2018-01-30 2024-03-05 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11956467B2 (en) 2018-01-30 2024-04-09 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method

Similar Documents

Publication Publication Date Title
TWI759389B (en) Low-complexity sign prediction for video coding
CN107241605B (en) Video encoder and video encoding method
JP4047879B2 (en) Motion vector detection apparatus and motion vector detection method
RU2696237C2 (en) Video decoding method
US10291925B2 (en) Techniques for hardware video encoding
US20230239489A1 (en) Limited memory access window for motion vector refinement
JP5216710B2 (en) Decryption processing method
KR102495550B1 (en) Deblocking filter method and apparatus
CN111133759A (en) Method and apparatus for encoding or decoding video data in FRUC mode with reduced memory access
JP2014509093A (en) Video decoding method using buffer compression for motion vector competition
KR20210016054A (en) Video encoding/decoding method and apparatus
CN113709488B (en) Encoding and decoding method, device and equipment
KR20210118151A (en) Inter prediction in exponential partitioning
JP2017034532A (en) Moving image encoder, moving image encoding method, and moving image encoding computer program
JP2013207402A (en) Image encoding device and program
JP6248783B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding computer program
JP2017073602A (en) Moving image coding apparatus, moving image coding method, and computer program for moving image coding
US10743009B2 (en) Image processing apparatus and image processing method
JP2014230031A (en) Image encoding device and image encoding program
JP5789172B2 (en) Image processing apparatus and program
JP7310919B2 (en) Filter generation method, filter generation device and program
JP6248648B2 (en) Information processing apparatus, coding unit selection method, and program
JP6101067B2 (en) Image processing apparatus and image processing program
JP2014143515A (en) Image processing apparatus and image processing program
JP6331972B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161018