JP2016046641A - Image coding device, image decoding device, image coding method and image decoding method - Google Patents

Image coding device, image decoding device, image coding method and image decoding method Download PDF

Info

Publication number
JP2016046641A
JP2016046641A JP2014168614A JP2014168614A JP2016046641A JP 2016046641 A JP2016046641 A JP 2016046641A JP 2014168614 A JP2014168614 A JP 2014168614A JP 2014168614 A JP2014168614 A JP 2014168614A JP 2016046641 A JP2016046641 A JP 2016046641A
Authority
JP
Japan
Prior art keywords
vector
prediction
block
encoding
block shift
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
JP2014168614A
Other languages
Japanese (ja)
Inventor
一之 宮澤
Kazuyuki Miyazawa
一之 宮澤
彰 峯澤
Akira Minesawa
彰 峯澤
関口 俊一
Shunichi Sekiguchi
俊一 関口
守屋 芳美
Yoshimi Moriya
芳美 守屋
亮史 服部
Akifumi Hattori
亮史 服部
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014168614A priority Critical patent/JP2016046641A/en
Publication of JP2016046641A publication Critical patent/JP2016046641A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve encoding efficiency of a block shift vector indicating a position of a reference block.SOLUTION: A variable-length coding section 15 is configured to perform variable-length coding on the block shift vector while using a coding system matched to vector distribution in the case where it is adaptively switched whether to code a differential vector between a prediction vector with respect to the block shift vector and the block shift vector or to code the block shift vector as it is. Thus, the amount of codes required for coding the block shift vector is reduced and a coding performance for screen content can be improved.SELECTED DRAWING: Figure 1

Description

この発明は、画像を高効率で符号化する画像符号化装置及び画像符号化方法と、高効率で符号化されている画像を復号する画像復号装置及び画像復号方法に関するものである。   The present invention relates to an image encoding device and an image encoding method for encoding an image with high efficiency, and an image decoding device and an image decoding method for decoding an image encoded with high efficiency.

動画像を伝送・蓄積する際には、MPEG(Moving Picture Expert Groups)やITU−T H.26xなどの国際標準動画像符号化方式を用いて情報量を圧縮することが一般的に行われる。特に、2013年1月に標準化を完了したHEVC(High Efficiency Video Coding)は、4KやSHV(Super Hi−Vision)といったUHDTV(Ultra High Definition Television)による放送・通信サービスや、モバイル回線でのHD(High Definition)映像伝送の実現に向けて必要不可欠な技術である(例えば、非特許文献1)。これらの動画像符号化方式では、一般的に動画像を所定の大きさの符号化対象ブロックに分割し、ブロック単位で予測を行って予測誤差だけを符号化することによって大幅な情報量の削減を達成している。   When transmitting and accumulating moving images, MPEG (Moving Picture Expert Groups) or ITU-T H.264. It is common practice to compress the amount of information using an international standard video coding scheme such as 26x. In particular, HEVC (High Efficiency Video Coding), which has been standardized in January 2013, is a broadcasting / communication service (HD or HD) using UHDTV (Ultra High Definition Television) such as 4K and SHV (Super High-Vision), and mobile lines. High Definition) is an indispensable technique for realizing video transmission (for example, Non-Patent Document 1). In these moving image coding methods, in general, a moving image is divided into blocks to be encoded of a predetermined size, and prediction is performed in units of blocks, and only a prediction error is encoded, thereby greatly reducing the amount of information. Has achieved.

近年、スマートフォンやタブレットの普及に伴ってニーズが拡大している画面共有や、FA・ビル用ディスプレイ、サイネージ、メディアアーカイブなどにおいて、PC・制御端末の画面等を動画像として記録するニーズが高まっている。これらの動画像は、通常のカメラにより撮影された動画像と区別するため、スクリーンコンテンツと呼ばれている。
スクリーンコンテンツは、カメラにより撮影された動画像と異なるいくつかの性質を有している。
In recent years, with the spread of smartphones and tablets, the need for recording screens of PCs and control terminals as moving images has increased in screen sharing, FA / building displays, signage, media archives, etc. Yes. These moving images are called screen contents in order to distinguish them from moving images taken by a normal camera.
The screen content has several properties that are different from those of moving images taken by a camera.

図41はスクリーンコンテンツの一例を示す説明図である。
図41において、破線で囲まれているブロック201aとブロック202aは符号化対象ブロックを表している。
動画像は、左上から順に右に向かって符号化が実施されるため、例えば、符号化対象ブロック201aの符号化を行う際には、破線で囲まれているブロック201bは、既に符号化が完了している。
したがって、符号化対象ブロック201aの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック201aと類似しているブロック201bを探索して、そのブロック201bを予測画像とするようにすれば(画像のコピー)、高精度な予測画像を生成することができる。
同様に、符号化対象ブロック202aの予測画像を生成する際、符号化済み領域の中から、符号化対象ブロック202aと類似しているブロック202bを探索して、そのブロック202bを予測画像とするようにすれば(画像のコピー)、高精度な予測画像を生成することができる。
スクリーンコンテンツでは、1つの画面内に同一の絵柄を持つ箇所が複数存在する場合が多いため、画面内の類似領域探索によって高精度な予測画像を生成することができる。
FIG. 41 is an explanatory diagram showing an example of screen content.
In FIG. 41, a block 201a and a block 202a surrounded by broken lines represent encoding target blocks.
Since the moving image is encoded from the upper left to the right, for example, when encoding the encoding target block 201a, the encoding of the block 201b surrounded by the broken line has already been completed. doing.
Therefore, when generating the prediction image of the encoding target block 201a, the block 201b similar to the encoding target block 201a is searched from the encoded region, and the block 201b is set as the prediction image. Then (a copy of the image), a highly accurate predicted image can be generated.
Similarly, when generating the prediction image of the encoding target block 202a, the block 202b similar to the encoding target block 202a is searched from the encoded region, and the block 202b is set as the prediction image. If it is made (copy of an image), a highly accurate predicted image can be generated.
In screen content, there are often a plurality of locations having the same pattern in one screen, and therefore a highly accurate predicted image can be generated by searching for similar regions in the screen.

ただし、画像符号化装置によって符号化された情報を正しく復号するには、どの位置の画像をコピーしているのかを示す情報も併せて符号化する必要がある。
つまり、類似しているブロック201bをコピーすることで、符号化対象ブロック201aの予測画像とするならば、参照領域であるブロック201bの位置情報(例えば、符号化対象ブロック201aからブロック201bを指し示すベクトル)も併せて符号化することで、正しく符号化対象ブロック201aを復号することができる。
However, in order to correctly decode the information encoded by the image encoding apparatus, it is necessary to encode information indicating which position of the image is copied.
That is, if a similar block 201b is copied to obtain a predicted image of the encoding target block 201a, position information of the block 201b that is a reference area (for example, a vector indicating the block 201b from the encoding target block 201a) ) Can also be correctly decoded to decode the encoding target block 201a.

ISO/IEC 23008−2:2013ISO / IEC 23008-2: 2013

従来の画像符号化装置は以上のように構成されているので、画面内の複数の箇所に同一の絵柄が現れることが多いスクリーンコンテンツでは、符号化対象ブロックと同一画面内の符号化済み領域から符号化対象ブロックと類似する領域を探索してコピーすることで、高精度な予測画像を生成することができる。しかし、参照箇所を示す位置情報の符号化方式がスクリーンコンテンツに適している方式であるとは限らず、符号化効率が低下してしまうことがある課題があった。   Since the conventional image encoding apparatus is configured as described above, in the screen content in which the same picture often appears in a plurality of locations in the screen, from the encoded area in the same screen as the encoding target block By searching and copying a region similar to the encoding target block, a highly accurate predicted image can be generated. However, the encoding method of the position information indicating the reference location is not necessarily a method suitable for the screen content, and there is a problem that the encoding efficiency may decrease.

この発明は上記のような課題を解決するためになされたもので、参照ブロックの位置を示すブロックシフトベクトルの符号化効率を高めることができる画像符号化装置及び画像符号化方法を得ることを目的とする。
また、この発明は、上記の画像符号化装置及び画像符号化方法により生成された符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法を得ることを目的とする。
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an image coding apparatus and an image coding method capable of improving the coding efficiency of a block shift vector indicating the position of a reference block. And
Another object of the present invention is to provide an image decoding apparatus and an image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method.

この発明に係る画像符号化装置は、符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、符号化対象ブロックに対応する参照ブロックを探索し、その参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測手段と、画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する可変長符号化手段とを備え、可変長符号化手段が、そのブロックシフトベクトルに対する予測ベクトルとブロックシフトベクトルとの差分ベクトルを符号化するか、あるいはブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、そのブロックシフトベクトルを可変長符号化するようにしたものである。   The image encoding apparatus according to the present invention, when generating a predicted image of a block to be encoded, corresponds to a block to be encoded from among regions that have already been decoded in the same picture among local decoded images. Intra-screen copy prediction means for searching for a reference block and outputting a block shift vector indicating the position of the reference block; variable-length encoding means for variable-length encoding the block shift vector output from the intra-screen copy prediction means; The variable length encoding means adaptively switches whether to encode the difference vector between the prediction vector and the block shift vector for the block shift vector or to encode the block shift vector as it is, and the vector distribution The block shift vector is variable-length encoded using an encoding method that matches One in which the.

この発明によれば、可変長符号化手段が、ブロックシフトベクトルに対する予測ベクトルとブロックシフトベクトルとの差分ベクトルを符号化するか、あるいはブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、そのブロックシフトベクトルを可変長符号化するように構成したので、参照ブロックの位置を示すブロックシフトベクトルの符号量を削減して、符号化効率を高めることができる効果がある。   According to the present invention, the variable length encoding means adaptively switches whether to encode a difference vector between a prediction vector and a block shift vector for a block shift vector or to encode a block shift vector as it is, Since the block shift vector is configured to be variable length encoded using an encoding method that matches the vector distribution, the coding amount of the block shift vector indicating the position of the reference block is reduced and the encoding efficiency is increased. There is an effect that can.

この発明の実施の形態1による画像符号化装置を示す構成図である。It is a block diagram which shows the image coding apparatus by Embodiment 1 of this invention. YUV4:2:0フォーマットの信号における輝度信号及び色差信号の圧縮処理(変換処理、量子化処理)を実施する際の変換ブロックサイズを示す説明図である。It is explanatory drawing which shows the conversion block size at the time of implementing the compression process (conversion process, quantization process) of the luminance signal and color difference signal in the signal of YUV4: 2: 0 format. YUV4:2:2フォーマットの信号における輝度信号及び色差信号の圧縮処理を実施する際の変換ブロックサイズを示す説明図である。It is explanatory drawing which shows the conversion block size at the time of implementing the compression process of the luminance signal and color difference signal in the signal of YUV4: 2: 2 format. YUV4:4:4フォーマットの信号における輝度信号及び色差信号の圧縮処理を実施する際の変換ブロックサイズを示す説明図である。It is explanatory drawing which shows the conversion block size at the time of implementing the compression process of the luminance signal and color difference signal in the signal of YUV4: 4: 4 format. YUV4:2:0フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示す説明図である。It is explanatory drawing which shows the case where the same directionality prediction is used with a luminance signal and a color difference signal in the signal of YUV4: 2: 0 format. YUV4:2:2フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示す説明図である。It is explanatory drawing which shows the case where the same directionality prediction is used with a luminance signal and a color difference signal in the signal of YUV4: 2: 2 format. YUV4:4:4フォーマットとYUV4:2:2フォーマットの関係を示す説明図である。It is explanatory drawing which shows the relationship between YUV4: 4: 4 format and YUV4: 2: 2 format. YUV4:4:4フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いることと等価となるYUV4:2:2フォーマットでの方向性予測の例を示す説明図である。It is explanatory drawing which shows the example of the directionality prediction in YUV4: 2: 2 format equivalent to using the same directionality prediction with a luminance signal and a color difference signal in the signal of YUV4: 4: 4 format. YUV4:2:2フォーマットの信号での方向性予測の予測方向ベクトルを示す説明図である。It is explanatory drawing which shows the prediction direction vector of directionality prediction with the signal of YUV4: 2: 2 format. 方向性予測と角度の関係を示す説明図である。It is explanatory drawing which shows the relationship between directionality prediction and an angle. 4×4DCTの量子化マトリクスの一例を示す説明図である。It is explanatory drawing which shows an example of the quantization matrix of 4x4 DCT. 複数のフィルタ処理を用いる場合のループフィルタ部13の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the loop filter part 13 in the case of using a several filter process. 符号化ビットストリームの一例を示す説明図である。It is explanatory drawing which shows an example of an encoding bit stream. この発明の実施の形態1による画像符号化装置の処理内容(画像符号化方法)を示すフローチャートである。It is a flowchart which shows the processing content (image coding method) of the image coding apparatus by Embodiment 1 of this invention. この発明の実施の形態1による画像復号装置を示す構成図である。It is a block diagram which shows the image decoding apparatus by Embodiment 1 of this invention. 複数のフィルタ処理を用いる場合のループフィルタ部39の構成例を示す説明図である。It is explanatory drawing which shows the structural example of the loop filter part 39 in the case of using a several filter process. この発明の実施の形態1による画像復号装置の処理内容(画像復号方法)を示すフローチャートである。It is a flowchart which shows the processing content (image decoding method) of the image decoding apparatus by Embodiment 1 of this invention. 最大符号化ブロックが階層的に複数の符号化対象ブロックに分割される例を示す説明図である。It is explanatory drawing which shows the example by which the largest encoding block is divided | segmented hierarchically into several encoding object block. (a)は分割後の符号化対象ブロック及び予測ブロックの分布を示し、(b)は階層分割によって符号化モードm(B)が割り当てられる状況を示す説明図である。(A) shows the distribution of the encoding object block and the prediction block after the division, and (b) is an explanatory diagram showing a situation in which the encoding mode m (B n ) is assigned by the hierarchical division. ブロックシフトベクトルの一例を示す説明図である。It is explanatory drawing which shows an example of a block shift vector. 16×16画素の変換ブロックにおける係数の符号化順(スキャン順)を示す説明図である。It is explanatory drawing which shows the encoding order (scan order) of the coefficient in a 16x16 pixel conversion block. 16×16画素のサイズの直交変換における変換係数の分布の一例を示す説明図である。It is explanatory drawing which shows an example of distribution of the transformation coefficient in the orthogonal transformation of the size of 16x16 pixels. 4×4画素と8×8画素のサイズの直交変換における変換係数の符号化順の一例を示す説明図である。It is explanatory drawing which shows an example of the encoding order of the transform coefficient in the orthogonal transformation of the size of 4x4 pixel and 8x8 pixel. ベクトルの差分値を符号化する代表的方式である次数が1の指数ゴロム符号の符号語を示す説明図である。It is explanatory drawing which shows the codeword of the exponent Golomb code | symbol of degree 1 which is a typical system which encodes the difference value of a vector. カメラで撮影された動画像を符号化した際のインター予測処理における動きベクトルの差分値の分布を示す説明図である。It is explanatory drawing which shows distribution of the difference value of the motion vector in the inter prediction process at the time of encoding the moving image image | photographed with the camera. スクリーンコンテンツを符号化した際の画面内コピー予測処理におけるブロックシフトベクトルの差分値の分布を示す説明図である。It is explanatory drawing which shows distribution of the difference value of a block shift vector in the copy prediction process in a screen at the time of encoding a screen content. 次数が4の指数ゴロム符号の符号語を示す説明図である。It is explanatory drawing which shows the code word of the exponent Golomb code of order 4. この発明の実施の形態1による画像符号化装置の可変長符号化部15の内部構成のうち、ベクトルの符号化に関する部分を示す構成図である。It is a block diagram which shows the part regarding vector encoding among the internal structures of the variable-length encoding part 15 of the image coding apparatus by Embodiment 1 of this invention. ベクトルの符号化に関する部分の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the part regarding encoding of a vector. =m =4の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。It is explanatory drawing which shows an example of the pixel used when producing | generating the predicted value of the pixel in the predicted image generation block in the case of l i n = m i n = 4. 平均値予測時のフィルタ処理におけるフィルタの切り替え領域を示す説明図である。It is explanatory drawing which shows the switching area | region of the filter in the filter process at the time of average value prediction. 平均値予測時のフィルタ処理の参照画素配置を示す説明図である。It is explanatory drawing which shows the reference pixel arrangement | positioning of the filter process at the time of average value prediction. 予測画像生成ブロック内の左上画素を原点とする相対座標を示す説明図である。It is explanatory drawing which shows the relative coordinate which makes the upper left pixel in a prediction image generation block the origin. 色差信号のイントラ予測パラメータ(インデックス値)と色差イントラ予測モードの対応例を示す説明図である。It is explanatory drawing which shows the example of a response | compatibility with the intra prediction parameter (index value) of a color difference signal, and color difference intra prediction mode. YUV4:2:2フォーマットの信号において輝度信号のイントラ予測モードインデックスと色差信号のイントラ予測モードインデックスの関係を示す説明図である。It is explanatory drawing which shows the relationship between the intra prediction mode index of a luminance signal, and the intra prediction mode index of a color difference signal in the signal of YUV4: 2: 2 format. 符号化対象ブロックB内の各予測ブロックP が選択可能なイントラ予測モードの一例を示す説明図である。Each prediction block P i n in the encoding target block B n is an explanatory diagram showing an example of a selectable intra prediction modes. イントラ予測モードインデックスとtanθの関係を示す説明図である。It is explanatory drawing which shows the relationship between an intra prediction mode index and tan (theta). 色差信号のイントラ予測パラメータと色差イントラ予測モードの対応例を示す説明図である。It is explanatory drawing which shows the example of a response | compatibility of the intra prediction parameter of a color difference signal, and a color difference intra prediction mode. この発明の実施の形態1による画像復号装置の可変長復号部31の内部構成のうち、ベクトルの復号に関する部分を示す構成図である。It is a block diagram which shows the part regarding decoding of a vector among the internal structures of the variable-length decoding part 31 of the image decoding apparatus by Embodiment 1 of this invention. ベクトルの復号に関する部分の処理内容を示すフローチャートである。It is a flowchart which shows the processing content of the part regarding decoding of a vector. スクリーンコンテンツの一例を示す説明図である。It is explanatory drawing which shows an example of a screen content. この発明の実施の形態2による画像符号化装置の画面内コピー予測部6を示す構成図である。It is a block diagram which shows the intra-screen copy prediction part 6 of the image coding apparatus by Embodiment 2 of this invention. 参照ブロック探索部71から出力されるブロックシフトベクトルの表現形式を示す説明図である。It is explanatory drawing which shows the expression format of the block shift vector output from the reference block search part 71. FIG. 図43と異なるブロックシフトベクトルの表現形式を示す説明図である。FIG. 44 is an explanatory diagram illustrating a representation format of a block shift vector different from that in FIG. 43. 図43と異なるブロックシフトベクトルの表現形式を示す説明図である。FIG. 44 is an explanatory diagram illustrating a representation format of a block shift vector different from FIG. 43. この発明の実施の形態2による画像復号装置の画面内コピー予測部35を示す構成図である。It is a block diagram which shows the copy prediction part 35 in a screen of the image decoding apparatus by Embodiment 2 of this invention. この発明の実施の形態3による画像符号化装置の画面内コピー予測部6を示す構成図である。It is a block diagram which shows the copy prediction part 6 in a screen of the image coding apparatus by Embodiment 3 of this invention. 符号化対象ブロックのブロックサイズが16画素×16画素である場合の分割例を示す説明図である。It is explanatory drawing which shows the example of a division | segmentation in case the block size of an encoding object block is 16 pixels x 16 pixels. 複数の分割ブロックに対応する参照ブロックを示すブロックシフトベクトルを示す説明図である。It is explanatory drawing which shows the block shift vector which shows the reference block corresponding to a some division | segmentation block. 符号化対象ブロックが9個の領域に分割されて、9本のブロックシフトベクトルが得られている様子を示す説明図である。It is explanatory drawing which shows a mode that the encoding object block is divided | segmented into nine area | regions and nine block shift vectors are obtained. ベクトル差分計算部94によるベクトルの並べ替え方法を示す説明図である。It is explanatory drawing which shows the vector rearrangement method by the vector difference calculation part. ベクトル並べ替え情報を示す説明図である。It is explanatory drawing which shows vector rearrangement information. この発明の実施の形態3による画像復号装置の画面内コピー予測部35を示す構成図である。It is a block diagram which shows the intra-screen copy prediction part 35 of the image decoding apparatus by Embodiment 3 of this invention. 並べ替え前後のベクトルインデックスとベクトルの並べ替え情報を示す説明図である。It is explanatory drawing which shows the vector index and vector rearrangement information before and behind rearrangement. ベクトル差分計算部94によるベクトルの並べ替え方法を示す説明図である。It is explanatory drawing which shows the vector rearrangement method by the vector difference calculation part. この発明の実施の形態4による画像符号化装置の可変長符号化部15のうち画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。It is a block diagram which shows the part which encodes the block shift vector of the copy prediction in a screen among the variable length encoding parts 15 of the image coding apparatus by Embodiment 4 of this invention. この発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その1)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 4 of this invention performs variable-length encoding of the block shift vector of intra-screen copy prediction (the 1). この発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その2)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 4 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 2). 画面内コピー予測において参照可能な領域を示す説明図である。It is explanatory drawing which shows the area | region which can be referred in intra-screen copy prediction. この発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その1)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 4 of this invention performs variable-length encoding of the block shift vector of intra-screen copy prediction (the 1). この発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その2)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 4 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 2). この発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その3)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 4 of this invention performs variable-length encoding of the block shift vector of intra-screen copy prediction (the 3). この発明の実施の形態4による画像復号装置の画面内コピー予測部35を示す構成図である。It is a block diagram which shows the intra-screen copy prediction part 35 of the image decoding apparatus by Embodiment 4 of this invention. 画面内コピー予測パラメータが画像符号化装置にて図57及び図58に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その1)。57 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 57 and 58 (part 1). . 画面内コピー予測パラメータが画像符号化装置にて図57及び図58に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その2)。57 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 57 and 58 (part 2). . 画面内コピー予測パラメータが画像符号化装置にて図60〜図62に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その1)。60 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding device according to the procedure shown in FIGS. 60 to 62 (No. 1). . 画面内コピー予測パラメータが画像符号化装置にて図60〜図62に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その2)。60 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 60 to 62 (part 2). . 画面内コピー予測パラメータが画像符号化装置にて図60〜図62に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その3)。FIG. 60 is a flowchart showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 60 to 62 (No. 3). . 符号化するブロックシフトベクトルの長さの分布を示す説明図である。It is explanatory drawing which shows distribution of the length of the block shift vector to encode. この発明の実施の形態5による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その1)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 5 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 1). この発明の実施の形態5による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その2)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 5 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 2). 次数5の指数ゴロム符号で符号化される場合の符号長の割り当てを示す説明図である。It is explanatory drawing which shows allocation of code length in the case of encoding with the exponential Golomb code of degree 5. 画面内コピー予測パラメータが画像符号化装置にて図70及び図71に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その1)。FIG. 70 is a flowchart showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 70 and 71 (No. 1). . 画面内コピー予測パラメータが画像符号化装置にて図70及び図71に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その2)。FIG. 72 is a flowchart showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 70 and 71 (part 2). . この発明の実施の形態6による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その1)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 6 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 1). この発明の実施の形態6による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その2)。It is a flowchart which shows the procedure in which the variable length encoding part 15 of the image coding apparatus by Embodiment 6 of this invention performs the variable length encoding of the block shift vector of intra-screen copy prediction (the 2). 画面内コピー予測パラメータが画像符号化装置にて図75及び図76に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その1)。75 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 75 and 76 (No. 1). . 画面内コピー予測パラメータが画像符号化装置にて図75及び図76に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その2)。75 is a flowchart showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 75 and 76 (part 2). . この発明の実施の形態7による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その1)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 7 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 1). この発明の実施の形態7による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである(その2)。It is a flowchart which shows the procedure in which the variable-length encoding part 15 of the image coding apparatus by Embodiment 7 of this invention performs the variable-length encoding of the block shift vector of intra-screen copy prediction (the 2). |Vx|または|Vy|を示すビット値の最上位ビットに対応するインデックスを示す説明図である。It is explanatory drawing which shows the index corresponding to the most significant bit of the bit value which shows | Vx | or | Vy |. 画面内コピー予測パラメータが画像符号化装置にて図79及び図80に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その1)。79 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 79 and 80 (No. 1). . 画面内コピー予測パラメータが画像符号化装置にて図79及び図80に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである(その2)。79 is a flowchart showing the operation of the variable-length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 79 and 80 (part 2). . この発明の実施の形態8による可変長符号化部15の内部構成のうち、画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。It is a block diagram which shows the part which encodes the block shift vector of intra-screen copy prediction among the internal structures of the variable-length encoding part 15 by Embodiment 8 of this invention. この発明の実施の形態8による画像復号装置の可変長復号部31の内部構成のうち、画面内コピー予測のブロックシフトベクトルの復号に関する部分を示す構成図である。It is a block diagram which shows the part regarding decoding of the block shift vector of the copy prediction in a screen among the internal structures of the variable-length decoding part 31 of the image decoding apparatus by Embodiment 8 of this invention.

実施の形態1.
図1はこの発明の実施の形態1による画像符号化装置を示す構成図である。
この実施の形態1の画像符号化装置が処理対象とする映像信号は、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号である。各画素の階調は8ビットでもよいし、10ビット、12ビットなどの階調であってもよい。また、入力信号は映像信号ではなく静止画像信号でもよいことは、静止画像信号を1フレームのみで構成される映像信号と解釈できることから当然である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing an image coding apparatus according to Embodiment 1 of the present invention.
The video signal to be processed by the image coding apparatus according to the first embodiment is a color video in an arbitrary color space such as a YUV signal composed of a luminance signal and two color difference signals, or an RGB signal output from a digital image sensor. In addition to signals, the video frame is an arbitrary video signal such as a monochrome image signal or an infrared image signal, in which a video frame is composed of a horizontal and vertical two-dimensional digital sample (pixel) sequence. The gradation of each pixel may be 8 bits, or a gradation of 10 bits, 12 bits, or the like. Further, it is natural that the input signal may be a still image signal instead of a video signal because the still image signal can be interpreted as a video signal composed of only one frame.

以下の説明においては、便宜上、特に断らない限り、入力される映像信号が、2つの色差成分U,Vが輝度成分Yに対して、縦横ともに2分の1にサブサンプルされたYUV4:2:0フォーマット、2つの色差成分U,Vが輝度成分Yに対して、横方向に2分の1にサブサンプルされたYUV4:2:2フォーマット、あるいは、2つの色差成分U,Vが輝度成分Yと同じサンプル数であるYUV4:4:4フォーマットの信号であるものとする。また、赤色(R)、緑色(G)、青色(B)の三原色の信号からなるRGB4:4:4フォーマットの信号については、それぞれの信号をYUV4:4:4フォーマットの信号とみなしてYUV4:4:4フォーマットと同一の符号化を行う。ただし、RGB4:4:4フォーマットの各信号(RGB)のYUV4:4:4フォーマットの各信号(YUV)への対応付けについては限定しない(任意に設定できる)。この対応付けはインデックス情報として上位ヘッダで符号化して画像復号装置側で認識できるようにしてもよい。このようにすることで、画像復号装置によって復号した復号画像の色を正しく表示することができる。   In the following description, for convenience, unless otherwise specified, the input video signal is YUV4: 2 in which the two color difference components U and V are subsampled in half both vertically and horizontally with respect to the luminance component Y: 0 format, YUV4: 2: 2 format in which two color difference components U and V are subsampled in half in the horizontal direction with respect to luminance component Y, or two color difference components U and V are luminance component Y And YUV 4: 4: 4 format signal having the same number of samples. In addition, for RGB 4: 4: 4 format signals composed of signals of the three primary colors of red (R), green (G), and blue (B), each signal is regarded as a YUV 4: 4: 4 format signal and YUV 4: Performs the same encoding as the 4: 4 format. However, the correspondence of each signal (RGB) in RGB 4: 4: 4 format to each signal (YUV) in YUV 4: 4: 4 format is not limited (can be arbitrarily set). This association may be encoded as an index information with a high-order header so that the image decoding apparatus can recognize it. By doing in this way, the color of the decoded image decoded by the image decoding apparatus can be correctly displayed.

また、YUV4:4:4フォーマット信号やRGB4:4:4フォーマット信号の場合、各信号をモノクローム画像信号とみなしてそれぞれ独立にモノクローム(YUV4:0:0)符号化してビットストリームを生成するようにしてもよい。このようにすることで各信号並列に符号化処理を実施することができる。その際、各モノクローム信号がどの色信号であるかを示す情報をインデックス情報として上位ヘッダで符号化して画像復号装置側で認識できるようにしてもよい。このようにすることで、画像復号装置によって復号した復号画像の色を正しく表示することができる。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
In the case of a YUV 4: 4: 4 format signal or an RGB 4: 4: 4 format signal, each signal is regarded as a monochrome image signal and is independently encoded in monochrome (YUV 4: 0: 0) to generate a bit stream. May be. In this way, encoding processing can be performed in parallel with each signal. At this time, information indicating which color signal each monochrome signal is may be encoded as index information in the upper header so that the image decoding apparatus can recognize it. By doing in this way, the color of the decoded image decoded by the image decoding apparatus can be correctly displayed.
The processing data unit corresponding to each frame of the video is referred to as “picture”. In the first embodiment, “picture” is described as a signal of a video frame that has been sequentially scanned (progressive scan). However, when the video signal is an interlace signal, the “picture” may be a field image signal which is a unit constituting a video frame.

図1において、符号化制御部1は符号化処理が実施される際の処理単位となる符号化対象ブロックの最大サイズを決定するとともに、最大サイズの符号化対象ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化対象ブロックのサイズを決定する処理を実施する。また、符号化制御部1は選択可能な1以上の符号化モード(予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測処理単位を示す予測ブロックのサイズなどが異なる1以上の画面内コピー符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部3から出力される符号化対象ブロックに適用する符号化モードを選択する処理を実施する。
選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部3から出力される符号化対象ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
In FIG. 1, the encoding control unit 1 determines the maximum size of an encoding target block that is a processing unit when encoding processing is performed, and when the encoding target block having the maximum size is hierarchically divided. By determining the upper limit number of layers, the process of determining the size of each encoding target block is performed. The encoding control unit 1 also has one or more selectable encoding modes (one or more intra encoding modes having different prediction block sizes indicating prediction processing units, etc., and different prediction block sizes indicating prediction processing units). The encoding mode to be applied to the encoding target block output from the block division unit 3 is selected from among one or more intra-screen copy encoding modes and one or more inter encoding modes having different prediction block sizes. Perform the process.
As an example of the selection method, there is a method of selecting an encoding mode having the highest encoding efficiency for the encoding target block output from the block dividing unit 3 from one or more selectable encoding modes.

また、符号化制御部1は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化対象ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを上記イントラ符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードが画面内コピー符号化モードである場合、その画面内コピー符号化モードで符号化対象ブロックに対する画面内コピー予測処理を実施する際に用いる画面内コピー予測パラメータを上記画面内コピー符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化対象ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを上記インター符号化モードが示す予測処理単位である予測ブロック毎に決定する処理を実施する。   In addition, when the coding mode with the highest coding efficiency is the intra coding mode, the coding control unit 1 sets the intra prediction parameter used when performing the intra prediction process on the current block in the intra coding mode. Determined for each prediction block, which is the prediction processing unit indicated by the intra coding mode, and when the coding mode having the highest coding efficiency is the intra-screen copy coding mode, the coding target is the intra-screen copy coding mode. An intra-screen copy prediction parameter used when performing intra-screen copy prediction processing for a block is determined for each prediction block that is a prediction processing unit indicated by the intra-screen copy encoding mode, and an encoding mode having the highest encoding efficiency is determined. In the case of the inter coding mode, the inter coding mode is used for the block to be coded. The inter prediction parameters used in practicing the prediction process carries out a process of determining for each prediction block is a prediction processing unit indicated by the inter coding mode.

さらに、符号化制御部1は変換・量子化部9及び逆量子化・逆変換部10に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化対象ブロックにおける直交変換処理単位となる変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。   Furthermore, the encoding control unit 1 performs a process of determining a prediction difference encoding parameter to be given to the transform / quantization unit 9 and the inverse quantization / inverse transform unit 10. The prediction differential encoding parameter includes transform block partition information indicating transform block partition information that is an orthogonal transform processing unit in the encoding target block, and quantization that specifies a quantization step size when transform coefficients are quantized. Includes parameters.

ここで、図2はYUV4:2:0フォーマットの信号における輝度信号及び色差信号の圧縮処理(変換処理、量子化処理)を実施する際の変換ブロックサイズを示す説明図である。
変換ブロックサイズは、図2に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
Here, FIG. 2 is an explanatory diagram showing the conversion block size when the compression processing (conversion processing and quantization processing) of the luminance signal and the color difference signal in the YUV 4: 2: 0 format signal is performed.
As shown in FIG. 2, the transform block size is determined by hierarchically dividing the block to be encoded into a quadtree. For example, whether or not to divide the transform block so that the evaluation value is minimized based on the amount of code when the transform block is divided and when the transform block is not divided, or an evaluation scale that takes into account the coding error By determining, it is possible to determine the optimal division shape of the transform block from the viewpoint of the trade-off between the code amount and the coding error.

輝度信号については、例えば、図2に示すように、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図2に示すように、入力信号フォーマットがYUV4:2:0信号である場合、輝度信号と同様に、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。   For example, as shown in FIG. 2, the luminance signal is configured so that the encoding target block is hierarchically divided into one or a plurality of square transform blocks. As for the color difference signal, as shown in FIG. 2, when the input signal format is a YUV 4: 2: 0 signal, the encoding target block is hierarchically formed into one or a plurality of square conversion blocks in the same manner as the luminance signal. Configure to be split. In this case, the conversion block size of the color difference signal is half the vertical and horizontal sizes of the corresponding luminance signal conversion block.

入力信号フォーマットがYUV4:2:2信号である場合、図3に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の2倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、YUV4:2:0信号での色差信号と同じブロックサイズ(輝度信号の変換ブロックの縦横ともに半分のサイズ)の変換ブロック2つで構成するようにする。   When the input signal format is a YUV 4: 2: 2 signal, quadtree-like hierarchical division similar to the luminance signal is performed as shown in FIG. Further, since the shape of the divided block is a rectangle in which the number of pixels in the vertical direction is twice the number of pixels in the horizontal direction, the divided block is further divided into two parts in the vertical direction, so that the YUV 4: 2: 0 signal The color difference signal is composed of two conversion blocks having the same block size (half the vertical and horizontal sizes of the luminance signal conversion block).

また、入力信号フォーマットがYUV4:4:4信号である場合、図4に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。輝度信号の変換ブロックの分割情報は、例えば、階層毎に分割するか否かを示す変換ブロック分割フラグとして可変長符号化部15に出力する。   When the input signal format is a YUV 4: 4: 4 signal, the color difference signal conversion block is always divided in the same manner as the luminance signal conversion block as shown in FIG. Configure as follows. The division information of the conversion block of the luminance signal is output to the variable length encoding unit 15 as a conversion block division flag indicating whether or not to divide for each layer, for example.

スライス分割部2は入力画像として映像信号を入力すると、その入力画像を符号化制御部1により決定されたスライス分割情報にしたがって1以上の“スライス”という部分画像に分割する処理を実施する。スライスの分割単位は、上述した符号化対象ブロック単位まで細かくすることができる。
ブロック分割部3はスライス分割部2により分割されたスライスを入力する毎に、そのスライスを符号化制御部1により決定された最大サイズの符号化対象ブロックである最大符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その最大符号化ブロックを階層的に各符号化対象ブロックへ分割する処理を実施する。
即ち、ブロック分割部3はスライスを符号化制御部1から出力されたブロック分割情報にしたがってスライスを各符号化対象ブロックに分割して、その符号化対象ブロックを出力する処理を実施する。また、各符号化対象ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
When a video signal is input as an input image, the slice division unit 2 performs a process of dividing the input image into one or more partial images called “slices” according to the slice division information determined by the encoding control unit 1. The division unit of the slice can be made fine up to the above-described encoding target block unit.
Each time the block dividing unit 3 inputs the slice divided by the slice dividing unit 2, the slice dividing unit 3 divides the slice into maximum encoding blocks that are encoding target blocks of the maximum size determined by the encoding control unit 1, and Until the upper limit number of hierarchies determined by the encoding control unit 1 is reached, a process of hierarchically dividing the maximum encoding block into each encoding target block is performed.
In other words, the block dividing unit 3 divides the slice into each encoding target block according to the block division information output from the encoding control unit 1, and performs processing for outputting the encoding target block. Each encoding target block is divided into one or a plurality of prediction blocks serving as a prediction processing unit.

切換スイッチ4は符号化制御部1により決定された符号化モードがイントラ符号化モードであれば、ブロック分割部3から出力された符号化対象ブロックをイントラ予測部5に出力し、符号化制御部1により決定された符号化モードが画面内コピー符号化モードであれば、ブロック分割部3から出力された符号化対象ブロックを画面内コピー予測部6に出力し、符号化制御部1により決定された符号化モードがインター符号化モードであれば、ブロック分割部3から出力された符号化対象ブロックを動き補償予測部7に出力する処理を実施する。   If the coding mode determined by the coding control unit 1 is the intra coding mode, the changeover switch 4 outputs the block to be coded output from the block dividing unit 3 to the intra prediction unit 5, and the coding control unit If the encoding mode determined by 1 is the intra-screen copy encoding mode, the encoding target block output from the block dividing unit 3 is output to the intra-screen copy prediction unit 6 and is determined by the encoding control unit 1. If the encoding mode is the inter encoding mode, a process of outputting the encoding target block output from the block dividing unit 3 to the motion compensation prediction unit 7 is performed.

イントラ予測部5は切換スイッチ4から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部1によりイントラ符号化モードが選択された場合、イントラ用メモリ12に格納されている局所復号画像を参照しながら、符号化制御部1により決定されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
即ち、イントラ予測部5は、輝度信号については、輝度信号のイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
図5はYUV4:2:0フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示し、図6はYUV4:2:2フォーマットの信号において輝度信号と色差信号で同一の方向性予測を用いた場合を示している。
When the intra control mode is selected by the encoding control unit 1 as the encoding mode corresponding to the block to be encoded output from the changeover switch 4, the intra prediction unit 5 is stored locally in the intra memory 12. With reference to the decoded image, an intra prediction process (intraframe prediction process) using the intra prediction parameter determined by the encoding control unit 1 is performed to generate an intra predicted image.
That is, for the luminance signal, the intra prediction unit 5 performs an intra prediction process (intraframe prediction process) using an intra prediction parameter of the luminance signal to generate a prediction image of the luminance signal. On the other hand, for the color difference signal, the intra prediction parameter of the color difference signal indicates that the same prediction mode as the intra prediction mode for the luminance signal is used (the intra prediction parameter indicates the luminance color difference common intra prediction mode (DM mode)). The same intra-frame prediction as that of the luminance signal is performed to generate a predicted image of the color difference signal.
FIG. 5 shows a case where the same directionality prediction is used for a luminance signal and a color difference signal in a YUV 4: 2: 0 format signal, and FIG. 6 shows that the luminance signal and the color difference signal are the same in a YUV 4: 2: 2 format signal. The case where directionality prediction is used is shown.

また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。   Further, when the intra prediction parameter of the color difference signal indicates the vertical direction prediction mode or the horizontal direction prediction mode, the directionality prediction for the color difference signal is performed to generate a prediction image of the color difference signal. Further, when the intra prediction parameter of the color difference signal indicates the luminance correlation use color difference signal prediction mode (LM mode), the luminance signal and color difference of a plurality of pixels adjacent above and to the left of the prediction image generation target block. A correlation parameter indicating the correlation between the luminance signal and the color difference signal is calculated using the signal, and a predicted image of the color difference signal is generated using the correlation parameter and the luminance signal corresponding to the block of the color difference signal to be predicted.

入力信号フォーマットがYUV4:2:2信号である場合、図7に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が1/2となる長方形のブロックとなる。したがって、図8に示すように、YUV4:4:4信号をYUV4:2:2信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、YUV4:2:2信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。
具体的には、図9に示すように、輝度信号の予測方向ベクトルをv=(dx,dy)とした場合、色差信号の予測方向ベクトルは、v=(dx/2,dy)となる。即ち、図10に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθ、色差信号の予測方向の角度をθとして、tanθ=2tanθの関係となる予測方向で予測する必要がある。
When the input signal format is a YUV 4: 2: 2 signal and the luminance signal is a square block as shown in FIG. 7, the color difference signal has half the number of pixels in the horizontal direction compared to the luminance signal. It becomes a rectangular block. Therefore, as shown in FIG. 8, when the YUV4: 4: 4 signal is converted into a YUV4: 2: 2 signal, in order to predict the luminance signal and the color difference signal in the same direction, YUV4: 2 : On two signals, in the case of directional prediction other than vertical prediction and horizontal prediction, the prediction direction of the color difference signal is different from the prediction direction of the luminance signal.
Specifically, as shown in FIG. 9, when the prediction direction vector of the luminance signal is v L = (dx L , dy L ), the prediction direction vector of the color difference signal is v C = (dx L / 2, dy L ). That is, as shown in FIG. 10, when the angle of the prediction direction is θ, the angle of the prediction direction of the luminance signal is θ L , the angle of the prediction direction of the color difference signal is θ C , and tan θ C = 2tan θ L It is necessary to predict in the prediction direction.

したがって、輝度信号と色差信号で同一方向の予測を行う上記DMモードを正しく実施できるようにするために、入力信号フォーマットがYUV4:2:2信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
具体的には、インデックスの変換テーブルを用意し、その変換テーブルを参照することで、インデックスを変換するように構成してもよいし、予め変換式を用意して、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみで、YUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
Therefore, when the input signal format is a YUV 4: 2: 2 signal in order to correctly implement the DM mode in which the prediction in the same direction is performed with the luminance signal and the color difference signal, the intra prediction mode used for the luminance signal is used. The index is converted into an index of an intra prediction mode used for prediction of the color difference signal, and the prediction process of the color difference signal in the intra prediction mode corresponding to the converted index is performed.
Specifically, an index conversion table may be prepared, and the index may be converted by referring to the conversion table. Alternatively, a conversion formula is prepared in advance, and the index is converted according to the conversion formula. You may comprise. With this configuration, it is possible to perform appropriate prediction of the color difference signal according to the format of the YUV 4: 2: 2 signal only by converting the index without changing the directionality prediction process itself.

画面内コピー予測部6は切換スイッチ4から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部1により画面内コピー符号化モードが選択された場合、符号化対象ブロック内の予測ブロック毎に、同一のピクチャ内で既に符号化が行われて局所復号が済んでいる領域の中から、当該予測ブロックと最も近似しているブロックである参照ブロックを探索して、その参照ブロックを当該予測ブロックの予測画像に決定するとともに、その参照ブロックの位置を示すブロックシフトベクトルを可変長符号化部15に出力する処理を実施する。なお、画面内コピー予測部6は画面内コピー予測手段を構成している。   When the intra-screen copy encoding mode is selected by the encoding control unit 1 as the encoding mode corresponding to the encoding target block output from the changeover switch 4, the intra-screen copy prediction unit 6 For each prediction block, a reference block that is a block that is closest to the prediction block is searched for from the regions that have already been encoded and locally decoded in the same picture, and the reference block To the prediction image of the prediction block, and a process of outputting a block shift vector indicating the position of the reference block to the variable length encoding unit 15 is performed. The intra-screen copy prediction unit 6 constitutes an intra-screen copy prediction unit.

動き補償予測部7は切換スイッチ4から出力された符号化対象ブロックに対応する符号化モードとして、符号化制御部1によりインター符号化モードが選択された場合、符号化対象ブロックと動き補償予測フレームメモリ14に格納されている1フレーム以上の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部1により決定された参照するフレーム番号などのインター予測パラメータを用いて、その符号化対象ブロックに対するインター予測処理(動き補償予測処理)を実施してインター予測画像を生成する処理を実施する。なお、動き補償予測部7は動き補償予測手段を構成している。   When the inter coding mode is selected by the coding control unit 1 as the coding mode corresponding to the coding target block output from the changeover switch 4, the motion compensation prediction unit 7 and the motion compensated prediction frame A motion vector is searched by comparing locally decoded images of one frame or more stored in the memory 14, and the motion vector and an inter prediction parameter such as a frame number to be determined determined by the encoding control unit 1 are used. The inter prediction process (motion compensation prediction process) for the encoding target block is performed to generate an inter predicted image. The motion compensation prediction unit 7 constitutes a motion compensation prediction unit.

減算部8はブロック分割部3より出力された符号化対象ブロックから、イントラ予測部5により生成されたイントラ予測画像、画面内コピー予測部6により生成された画面内コピー予測画像、又は、動き補償予測部7により生成されたインター予測画像を減算して、その減算結果である差分画像を示す予測差分信号を変換・量子化部9に出力する処理を実施する。   The subtraction unit 8 uses the intra prediction image generated by the intra prediction unit 5, the intra-screen copy prediction image generated by the intra-screen copy prediction unit 6, or motion compensation from the encoding target block output from the block division unit 3. The inter prediction image produced | generated by the prediction part 7 is subtracted, and the process which outputs the prediction difference signal which shows the difference image which is the subtraction result to the conversion and quantization part 9 is implemented.

変換・量子化部9は符号化制御部1により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、減算部8から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部10及び可変長符号化部15に出力する処理を実施する。
変換・量子化部9は変換係数を量子化する際、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて、変換係数の量子化処理を実施するようにしてもよい。
The transform / quantization unit 9 refers to the transform block division information included in the prediction difference coding parameter determined by the coding control unit 1 and performs orthogonal transform processing on the prediction difference signal output from the subtraction unit 8 (for example, DCT (Discrete Cosine Transform), DST (Discrete Sine Transform), orthogonal transform processing such as KL transform, which is previously designed for a specific learning sequence, is performed for each transform block, and transform coefficients are calculated. Then, referring to the quantization parameter included in the prediction differential encoding parameter, the transform coefficient of the transform block unit is quantized, and the compressed data that is the transform coefficient after quantization is dequantized / inverse transform unit 10 and variable A process of outputting to the long encoding unit 15 is performed.
When the transform / quantization unit 9 quantizes the transform coefficient, the transform / quantization unit 9 performs a transform coefficient quantization process using a quantization matrix that scales the quantization step size calculated from the quantization parameter for each transform coefficient. You may do it.

ここで、図11は4×4DCTの量子化マトリクスの一例を示す説明図である。図中の数字は、各変換係数の量子化ステップサイズのスケーリング値を示している。
例えば、符号化ビットレートを抑制するために、図11に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えながら、主観品質に大きく影響する低域の係数の情報を落とさずに符号化することができる。このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。
FIG. 11 is an explanatory diagram showing an example of a 4 × 4 DCT quantization matrix. The numbers in the figure indicate the scaling value of the quantization step size of each transform coefficient.
For example, in order to suppress the encoding bit rate, as shown in FIG. 11, by scaling the quantization step size to a larger value for a higher frequency transform coefficient, a higher frequency generated in a complex image region or the like. It is possible to perform coding without dropping information on low-frequency coefficients that greatly affect subjective quality while suppressing the amount of codes by suppressing conversion coefficients. Thus, when it is desired to control the quantization step size for each transform coefficient, a quantization matrix may be used.

また、量子化マトリクスは、各直交変換サイズで色信号や符号化モード(イントラ符号化又はインター符号化)毎に独立したマトリクスを使用することができ、初期値として、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。したがって、変換・量子化部9は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。   In addition, the quantization matrix can use an independent matrix for each color signal and coding mode (intra coding or inter coding) at each orthogonal transform size. As an initial value, the image coding apparatus and the image decoding are used. It is possible to select whether to use a quantization matrix prepared in advance in the apparatus or an already encoded quantization matrix or to use a new quantization matrix. Accordingly, the transform / quantization unit 9 sets flag information indicating whether or not to use a new quantization matrix for each orthogonal transform size for each color signal or coding mode, in a quantization matrix parameter to be encoded. .

さらに、新しい量子化マトリクスを用いる場合には、図11に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクスのみ選択可能となる。   Furthermore, when a new quantization matrix is used, each scaling value of the quantization matrix as shown in FIG. 11 is set as a quantization matrix parameter to be encoded. On the other hand, when a new quantization matrix is not used, as an initial value, a quantization matrix prepared in advance by the image encoding device and the image decoding device, or a quantization matrix that has already been encoded is used. Thus, an index for specifying a matrix to be used is set as a quantization matrix parameter to be encoded. However, when there is no already-encoded quantization matrix that can be referred to, it is possible to select only the quantization matrix that is prepared in advance by the image encoding device and the image decoding device.

逆量子化・逆変換部10は符号化制御部1により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位に変換・量子化部9から出力された圧縮データを逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、減算部8から出力された予測差分信号に相当する局所復号予測差分信号を算出する処理を実施する。なお、変換・量子化部9が量子化マトリクスを用いて、量子化処理を実施している場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応する逆量子化処理を実施する。   The inverse quantization / inverse transform unit 10 refers to the quantization parameter and transform block division information included in the prediction difference coding parameter determined by the coding control unit 1, and transforms and transforms the transform block 9 in units of transform blocks. A local decoded prediction difference corresponding to the prediction difference signal output from the subtracting unit 8 is obtained by dequantizing the output compressed data and performing an inverse orthogonal transform process on the transform coefficient that is the compressed data after the inverse quantization. A process of calculating a signal is performed. In addition, when the transform / quantization unit 9 uses the quantization matrix to perform the quantization process, the corresponding inverse quantization can be performed by referring to the quantization matrix even during the inverse quantization process. Perform the process.

加算部11は逆量子化・逆変換部10により算出された局所復号予測差分信号と、イントラ予測部5により生成されたイントラ予測画像、画面内コピー予測部6により生成された画面内コピー予測画像、又は、動き補償予測部7により生成されたインター予測画像とを加算して、ブロック分割部3から出力された符号化対象ブロックに相当する局所復号画像を算出する処理を実施する。
イントラ用メモリ12は加算部11により算出された局所復号画像を格納する記録媒体である。
The addition unit 11 includes a local decoded prediction difference signal calculated by the inverse quantization / inverse conversion unit 10, an intra prediction image generated by the intra prediction unit 5, and an intra-screen copy prediction image generated by the intra-screen copy prediction unit 6. Alternatively, the inter-prediction image generated by the motion compensation prediction unit 7 is added, and a process of calculating a local decoded image corresponding to the encoding target block output from the block division unit 3 is performed.
The intra memory 12 is a recording medium that stores the locally decoded image calculated by the adding unit 11.

ループフィルタ部13は加算部11により算出された局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を出力する処理を実施する。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
The loop filter unit 13 performs a predetermined filter process on the local decoded image calculated by the adding unit 11 and performs a process of outputting the local decoded image after the filter process.
Specifically, filter (deblocking filter) processing that reduces distortion occurring at the boundaries of transform blocks and prediction blocks, processing for adaptively adding an offset (pixel adaptive offset) for each pixel, Wiener filter, etc. Performs adaptive filter processing for adaptively switching linear filters and performing filter processing.

ただし、ループフィルタ部13は、上記のデブロッキングフィルタ処理、画素適応オフセット処理及び適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをヘッダ情報として可変長符号化部15に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図12は複数のフィルタ処理を用いる場合のループフィルタ部13の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。例えば、図12の構成よりも処理負荷を削減したい場合、デブロッキングフィルタ処理と画素適応オフセット処理のみで構成するといったことが考えられる。
However, the loop filter unit 13 determines whether or not to perform processing for each of the above deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, and performs variable length coding using the valid flag of each processing as header information. To the unit 15. When a plurality of the above filter processes are used, each filter process is performed in order. FIG. 12 shows a configuration example of the loop filter unit 13 when a plurality of filter processes are used.
Generally, the more types of filter processing that are used, the better the image quality, but the higher the processing load. That is, image quality and processing load are in a trade-off relationship. In addition, the image quality improvement effect of each filter process varies depending on the characteristics of the image to be filtered. Therefore, the filter processing to be used may be determined according to the processing load allowed by the image encoding device and the characteristics of the encoding target image. For example, when it is desired to reduce the processing load as compared with the configuration of FIG. 12, it may be configured only by deblocking filter processing and pixel adaptive offset processing.

ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部15に出力する。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意されている複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によって、ブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
Here, in the deblocking filter process, various parameters used for selecting the filter strength applied to the block boundary can be changed from the initial values. When changing, the parameter is output to the variable length coding unit 15 as header information.
In the pixel adaptive offset process, first, an image is divided into a plurality of blocks, and when the offset process is not performed for each block, it is defined as one of the class classification methods, and a plurality of class classifications prepared in advance are used. One classification method is selected from the methods.
Next, each pixel in the block is classified by the selected class classification method, and an offset value for compensating the coding distortion is calculated for each class.
Finally, the image quality of the locally decoded image is improved by performing a process of adding the offset value to the luminance value of the locally decoded image.

したがって、画素適応オフセット処理では、ブロック分割情報、各ブロックのクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を特定するオフセット情報をヘッダ情報として可変長符号化部15に出力する。
なお、画素適応オフセット処理において、例えば、最大符号化ブロックといった固定サイズのブロック単位に常に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
Therefore, in the pixel adaptive offset processing, block division information, an index indicating a class classification method for each block, and offset information for specifying an offset value of each class in block units are output to the variable length coding unit 15 as header information.
In the pixel adaptive offset processing, for example, it may be always divided into fixed-size block units such as a maximum coding block, and a class classification method may be selected for each block to perform adaptive offset processing for each class. In this case, the block division information becomes unnecessary, the code amount is reduced by the amount of code required for the block division information, and the coding efficiency can be improved.

適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部15に出力する。クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置に共通の値として設定してもよいし、符号化すべきパラメータとしてもよい。前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。   In adaptive filter processing, local decoded images are classified by a predetermined method, and a filter that compensates for the distortion that is superimposed is designed for each region (local decoded image) belonging to each class. Filter the local decoded image. Then, the filter designed for each class is output to the variable length encoding unit 15 as header information. As the class classification method, there are a simple method for spatially dividing an image at equal intervals, and a method for classifying an image according to local characteristics (dispersion, etc.) of each block. Further, the number of classes used in the adaptive filter processing may be set in advance as a value common to the image encoding device and the image decoding device, or may be a parameter to be encoded. Compared to the former, the latter can set the number of classes to be used freely, so the image quality improvement effect will be improved, but on the other hand, the amount of code will be increased to encode the number of classes. To do.

動き補償予測フレームメモリ14はループフィルタ部13のフィルタ処理後の局所復号画像を格納する記録媒体である。
可変長符号化部15は変換・量子化部9から出力された圧縮データと、符号化制御部1の出力信号(最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、ループフィルタパラメータ、イントラ予測パラメータ、画面内コピー予測パラメータ、インター予測パラメータ)と、画面内コピー予測部6から出力されたブロックシフトベクトル(符号化モードが画面内コピー符号化モードである場合)と、動き補償予測部7から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して符号化データを生成する処理を実施する。
The motion compensated prediction frame memory 14 is a recording medium that stores a locally decoded image after the filter processing of the loop filter unit 13.
The variable length encoding unit 15 and the compressed data output from the transform / quantization unit 9 and the output signal of the encoding control unit 1 (block division information in the maximum encoding block, encoding mode, prediction difference encoding parameter, Loop filter parameters, intra prediction parameters, intra-screen copy prediction parameters, inter-prediction parameters), and a block shift vector output from the intra-screen copy prediction unit 6 (when the encoding mode is the intra-screen copy encoding mode), The motion vector output from the motion compensation prediction unit 7 (when the encoding mode is the inter encoding mode) is subjected to variable length encoding to generate encoded data.

可変長符号化部15は、符号化モードがインター符号化モードである場合、動き補償予測部7から出力された動きベクトルを可変長符号化し、符号化モードが画面内コピー符号化モードである場合、画面内コピー予測部6から出力されたブロックシフトベクトルを画面内コピー予測パラメータに含めて可変長符号化しているが、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、そのブロックシフトベクトルを可変長符号化する。
また、可変長符号化部15は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する処理を実施する。なお、可変長符号化部15は可変長符号化手段を構成している。
When the coding mode is the inter coding mode, the variable length coding unit 15 performs variable length coding on the motion vector output from the motion compensated prediction unit 7, and the coding mode is the intra-screen copy coding mode. The block shift vector output from the intra-screen copy prediction unit 6 is included in the intra-screen copy prediction parameter and is variable length encoded. Then, the block shift vector is variable-length encoded.
Further, as illustrated in FIG. 13, the variable length encoding unit 15 encodes a sequence level header and a picture level header as header information of the encoded bit stream, and generates an encoded bit stream together with the picture data. carry out. The variable length encoding unit 15 constitutes variable length encoding means.

ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
However, picture data is composed of one or more slice data, and each slice data is a combination of a slice level header and the encoded data in the slice. The picture data may include header information indicating supplementary information in addition to the slice data.
The sequence level header includes the image size, the color signal format, the bit depth of the signal value of the luminance signal and the color difference signal, and each filter process (adaptive filter process, pixel adaptive offset process, deblocking filter process) in the loop filter unit 13 in sequence units. In general, header information that is common to each sequence unit, such as valid flag information of) and valid flag information of a quantization matrix, is collected.

ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ、量子化マトリクスパラメータなど、ピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)を行うか否かを示すフラグ情報などのスライス単位のパラメータをまとめたものである。
The picture level header is a collection of header information set in units of pictures, such as an index of a sequence level header to be referenced, the number of reference pictures at the time of motion compensation, an entropy coding probability table initialization flag, and a quantization matrix parameter. .
The slice level header includes position information indicating where the slice is located in the picture, an index indicating which picture level header is referred to, a slice coding type (all-intra coding, inter coding, etc.), and a loop. This is a summary of parameters in units of slices such as flag information indicating whether or not to perform each filter process (adaptive filter process, pixel adaptive offset process, deblocking filter process) in the filter unit 13.

各ヘッダ情報とピクチャデータはNALユニットによって識別される。具体的には、シーケンスパラメータセット(上記シーケンスレベルヘッダに相当)、ピクチャパラメータヘッダ(上記ピクチャレベルヘッダに相当)、スライスデータはそれぞれ固有のNALユニットタイプとして定義され、NALユニットタイプの識別情報(インデックス)と共に符号化される。補足情報についても、存在する場合には固有のNALユニットとして定義される。また、上記ピクチャデータはアクセスユニットとして定義され、一つのピクチャの符号化データを含むデータアクセスの単位を示している。   Each header information and picture data is identified by a NAL unit. Specifically, a sequence parameter set (corresponding to the above sequence level header), a picture parameter header (corresponding to the above picture level header), and slice data are each defined as a unique NAL unit type, together with identification information (index) of the NAL unit type Encoded. Supplemental information is also defined as a unique NAL unit if it exists. The picture data is defined as an access unit and indicates a unit of data access including encoded data of one picture.

図1の例では、画像符号化装置の構成要素である符号化制御部1、スライス分割部2、ブロック分割部3、切換スイッチ4、イントラ予測部5、画面内コピー予測部6、動き補償予測部7、減算部8、変換・量子化部9、逆量子化・逆変換部10、加算部11、イントラ用メモリ12、ループフィルタ部13、動き補償予測フレームメモリ14及び可変長符号化部15のそれぞれが専用のハードウェアで構成(イントラ用メモリ12及び動き補償予測フレームメモリ14以外の構成要素は、例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなどで構成)されているものを想定しているが、画像符号化装置がコンピュータで構成されていてもよい。   In the example of FIG. 1, the encoding control unit 1, the slice division unit 2, the block division unit 3, the changeover switch 4, the intra prediction unit 5, the intra-screen copy prediction unit 6, and the motion compensation prediction that are components of the image coding apparatus. Unit 7, subtraction unit 8, transform / quantization unit 9, inverse quantization / inverse transform unit 10, addition unit 11, intra memory 12, loop filter unit 13, motion compensated prediction frame memory 14, and variable length coding unit 15 Are configured by dedicated hardware (components other than the intra memory 12 and the motion compensation prediction frame memory 14 are configured by, for example, a semiconductor integrated circuit on which a CPU is mounted, a one-chip microcomputer, or the like). Although the thing is assumed, the image coding apparatus may be configured by a computer.

画像符号化装置をコンピュータで構成する場合、イントラ用メモリ12及び動き補償予測フレームメモリ14をコンピュータのメモリ上に構成するとともに、符号化制御部1、スライス分割部2、ブロック分割部3、切換スイッチ4、イントラ予測部5、画面内コピー予測部6、動き補償予測部7、減算部8、変換・量子化部9、逆量子化・逆変換部10、加算部11、ループフィルタ部13及び可変長符号化部15の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図14はこの発明の実施の形態1による画像符号化装置の処理内容(画像符号化方法)を示すフローチャートである。
When the image encoding device is configured by a computer, the intra memory 12 and the motion compensated prediction frame memory 14 are configured on the computer memory, and the encoding control unit 1, the slice dividing unit 2, the block dividing unit 3, and the changeover switch. 4, intra prediction unit 5, intra-screen copy prediction unit 6, motion compensation prediction unit 7, subtraction unit 8, transform / quantization unit 9, inverse quantization / inverse transform unit 10, addition unit 11, loop filter unit 13 and variable A program describing the processing contents of the long encoding unit 15 may be stored in a memory of a computer so that the CPU of the computer executes the program stored in the memory.
FIG. 14 is a flowchart showing the processing contents (image coding method) of the image coding apparatus according to Embodiment 1 of the present invention.

図15はこの発明の実施の形態1による画像復号装置を示す構成図である。
図15において、可変長復号部31は図1の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどの各ヘッダ情報とピクチャデータを復号する処理を実施する。
ただし、ピクチャデータは1以上のスライスデータから構成されており、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。このとき、YUV4:4:4フォーマット信号やRGB4:4:4フォーマット信号の各信号をモノクローム画像信号とみなしてそれぞれ独立にモノクローム(YUV4:0:0)符号化していることを示す情報がヘッダ情報に含まれる場合、各色信号の符号化ビットストリームに対してそれぞれ独立に復号処理を実施することができる。
FIG. 15 is a block diagram showing an image decoding apparatus according to Embodiment 1 of the present invention.
In FIG. 15, when the variable length decoding unit 31 inputs the encoded bit stream generated by the image encoding device of FIG. 1, each header information such as a sequence level header, a picture level header, a slice level header, etc. A process of decoding picture data is performed.
However, picture data is composed of one or more slice data, and each slice data is a collection of a slice level header and encoded data in the slice. The picture data may include header information indicating supplementary information in addition to the slice data. At this time, the header information includes information indicating that each of the YUV 4: 4: 4 format signal and the RGB 4: 4: 4 format signal is regarded as a monochrome image signal and is independently encoded in monochrome (YUV 4: 0: 0). In the case where it is included, the decoding process can be performed independently on the encoded bit stream of each color signal.

各ヘッダ情報とピクチャデータはNALユニットによって識別される。具体的には、シーケンスパラメータセット(上記シーケンスレベルヘッダに相当)、ピクチャパラメータヘッダ(上記ピクチャレベルヘッダに相当)、スライスデータはそれぞれ固有のNALユニットタイプとして定義され、NALユニットタイプの識別情報(インデックス)を復号することで識別される。補足情報についても、存在する場合には固有のNALユニットとして識別される。また、ピクチャデータはスライスデータを示すNALユニット等をまとめたアクセスユニットとして識別される。   Each header information and picture data is identified by a NAL unit. Specifically, a sequence parameter set (corresponding to the sequence level header), a picture parameter header (corresponding to the picture level header), and slice data are defined as unique NAL unit types, respectively, and identification information (index) of the NAL unit type is used. It is identified by decoding. The supplemental information is also identified as a unique NAL unit if it exists. The picture data is identified as an access unit in which NAL units indicating slice data are collected.

上記ヘッダ情報に含まれる量子化マトリクスの有効フラグ情報が“有効”を示す場合、可変長復号部31は量子化マトリクスパラメータを可変長復号し、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として、画像符号化装置及び画像復号装置で予め共通に用意されている量子化マトリクス、又は、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。   When the valid flag information of the quantization matrix included in the header information indicates “valid”, the variable length decoding unit 31 performs variable length decoding of the quantization matrix parameter, and specifies the quantization matrix. Specifically, for each color signal or encoding mode of each orthogonal transform size, the quantization matrix parameter is set as an initial value, a quantization matrix prepared in advance in the image encoding device and the image decoding device, or When indicating that the quantization matrix has already been decoded (not a new quantization matrix), the quantization matrix is identified with reference to the index information identifying which quantization matrix of the matrix, When the quantization matrix parameter indicates that a new quantization matrix is used, the quantization matrix is specified as a quantization matrix that uses the quantization matrix included in the quantization matrix parameter.

また、可変長復号部31は、スライスレベルヘッダを参照して、スライス分割状態を特定するとともに、各スライスのスライスデータを復号して、最大符号化ブロックの符号化データを特定する。また、スライスデータに含まれるブロック分割情報を復号して、最大符号化ブロックを階層的に分割して復号処理を行う単位である符号化対象ブロックを特定し、各々の符号化対象ブロックに係る圧縮データ、符号化モード、イントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、ブロックシフトベクトルを含む画面内コピー予測パラメータ(符号化モードが画面内コピー符号化モードである場合)、インター予測パラメータ(符号化モードがインター符号化モードである場合)、動きベクトル(符号化モードがインター符号化モードである場合)及び予測差分符号化パラメータを可変長復号する処理を実施する。
可変長復号部31は、符号化モードがインター符号化モードである場合、動きベクトルを可変長復号し、符号化モードが画面内コピー符号化モードである場合、画面内コピー予測パラメータに含まれているブロックシフトベクトルを可変長復号しているが、動きベクトルの可変長復号に用いる復号方式と異なる復号方式を用いて、そのブロックシフトベクトルを可変長復号する。なお、可変長復号部31は可変長復号手段を構成している。
In addition, the variable length decoding unit 31 refers to the slice level header, specifies the slice division state, decodes the slice data of each slice, and specifies the encoded data of the maximum encoding block. In addition, the block division information included in the slice data is decoded, the encoding target block which is a unit for performing decoding processing by dividing the maximum encoding block hierarchically, and the compression related to each encoding target block Data, coding mode, intra prediction parameter (when the coding mode is the intra coding mode), intra-screen copy prediction parameter including the block shift vector (when the coding mode is the intra-screen copy coding mode), inter A variable length decoding process is performed on the prediction parameter (when the encoding mode is the inter encoding mode), the motion vector (when the encoding mode is the inter encoding mode), and the prediction differential encoding parameter.
The variable length decoding unit 31 performs variable length decoding of the motion vector when the encoding mode is the inter encoding mode, and is included in the intra-screen copy prediction parameter when the encoding mode is the intra-screen copy encoding mode. The block shift vector is subjected to variable length decoding, but the block shift vector is variable length decoded using a decoding scheme different from the decoding scheme used for variable length decoding of the motion vector. The variable length decoding unit 31 constitutes a variable length decoding unit.

逆量子化・逆変換部32は可変長復号部31により可変長復号された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、可変長復号部31により可変長復号された圧縮データを変換ブロック単位に逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部10から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する処理を実施する。   The inverse quantization / inverse transform unit 32 refers to the quantization parameter and transform block division information included in the prediction difference encoding parameter variable length decoded by the variable length decoding unit 31, and the variable length decoding unit 31 performs variable length decoding. 1 is inversely quantized on a transform block basis, and inverse orthogonal transform processing is performed on transform coefficients that are compressed data after inverse quantization, and output from the inverse quantization / inverse transform unit 10 in FIG. A process of calculating the same decoded prediction difference signal as the local decoding prediction difference signal is performed.

ここで、上記変換ブロック分割情報から、符号化対象ブロックにおける変換ブロックの分割状態を特定する。例えば、YUV4:2:0フォーマットの信号の場合、変換ブロックサイズは、図2に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。
輝度信号については、例えば、図2に示すように、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図2に示すように、入力信号フォーマットがYUV4:2:0信号である場合、輝度信号と同様に、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。
Here, the division state of the transformation block in the encoding target block is specified from the transformation block division information. For example, in the case of a YUV 4: 2: 0 format signal, the transform block size is determined by hierarchically dividing the block to be encoded into a quadtree as shown in FIG.
For example, as shown in FIG. 2, the luminance signal is configured so that the encoding target block is hierarchically divided into one or a plurality of square transform blocks. As for the color difference signal, as shown in FIG. 2, when the input signal format is a YUV 4: 2: 0 signal, the encoding target block is hierarchically formed into one or a plurality of square conversion blocks in the same manner as the luminance signal. Configure to be split. In this case, the conversion block size of the color difference signal is half the vertical and horizontal sizes of the corresponding luminance signal conversion block.

入力信号フォーマットがYUV4:2:2信号である場合、図3に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の2倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、YUV4:2:0信号での色差信号と同じブロックサイズ(輝度信号の変換ブロックの縦横ともに半分のサイズ)の変換ブロック2つで構成するようにする。
入力信号フォーマットがYUV4:4:4信号である場合、図4に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
When the input signal format is a YUV 4: 2: 2 signal, quadtree-like hierarchical division similar to the luminance signal is performed as shown in FIG. Further, since the shape of the divided block is a rectangle in which the number of pixels in the vertical direction is twice the number of pixels in the horizontal direction, the divided block is further divided into two parts in the vertical direction, so that the YUV 4: 2: 0 signal The color difference signal is composed of two conversion blocks having the same block size (half the vertical and horizontal sizes of the luminance signal conversion block).
When the input signal format is a YUV 4: 4: 4 signal, as shown in FIG. 4, the color difference signal conversion block is always divided in the same manner as the luminance signal conversion block so that the conversion block has the same size. Configure.

また、可変長復号部31により可変長復号された各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合、量子化マトリクスを用いて逆量子化処理を行う。具体的には、各ヘッダ情報から特定される量子化マトリクスを用いて逆量子化処理を行う。   In addition, when each header information variable-length decoded by the variable-length decoding unit 31 indicates that inverse quantization processing is to be performed using the quantization matrix in the slice, inverse quantization is performed using the quantization matrix. Process. Specifically, inverse quantization processing is performed using a quantization matrix specified from each header information.

切換スイッチ33は可変長復号部31により可変長復号された符号化モードがイントラ符号化モードであれば、可変長復号部31により可変長復号されたイントラ予測パラメータをイントラ予測部34に出力し、可変長復号部31により可変長復号された符号化モードが画面内コピー符号化モードであれば、可変長復号部31により可変長復号された画面内コピー予測パラメータを画面内コピー予測部35に出力し、可変長復号部31により可変長復号された符号化モードがインター符号化モードであれば、可変長復号部31により可変長復号されたインター予測パラメータ及び動きベクトルを動き補償予測部36に出力する処理を実施する。   The changeover switch 33 outputs the intra-prediction parameter variable-length decoded by the variable-length decoding unit 31 to the intra-prediction unit 34 if the coding mode variable-length decoded by the variable-length decoding unit 31 is the intra-coding mode. If the encoding mode that has been variable-length decoded by the variable-length decoding unit 31 is the intra-screen copy encoding mode, the intra-screen copy prediction parameter that has been variable-length decoded by the variable-length decoding unit 31 is output to the intra-screen copy prediction unit 35 If the coding mode variable length decoded by the variable length decoding unit 31 is the inter coding mode, the inter prediction parameter and the motion vector variable length decoded by the variable length decoding unit 31 are output to the motion compensation prediction unit 36. Perform the process.

イントラ予測部34は可変長復号部31により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードがイントラ符号化モードである場合、イントラ用メモリ38に格納されている復号画像を参照しながら、切換スイッチ33から出力されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
即ち、イントラ予測部34は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。一方、色差信号については、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
The intra prediction unit 34 is stored in the intra memory 38 when the encoding mode related to the encoding target block specified from the block division information subjected to variable length decoding by the variable length decoding unit 31 is the intra encoding mode. With reference to the decoded image, an intra prediction process (intraframe prediction process) using the intra prediction parameter output from the changeover switch 33 is performed to generate an intra predicted image.
That is, for the luminance signal, the intra prediction unit 34 performs an intra prediction process (intra-frame prediction process) using the intra prediction parameter for the luminance signal, and generates a prediction image of the luminance signal. On the other hand, for the color difference signal, the intra prediction parameter of the color difference signal indicates that the same prediction mode as the intra prediction mode for the luminance signal is used (the intra prediction parameter indicates the luminance color difference common intra prediction mode (DM mode)). The same intra-frame prediction as that of the luminance signal is performed to generate a predicted image of the color difference signal.

また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。   Further, when the intra prediction parameter of the color difference signal indicates the vertical direction prediction mode or the horizontal direction prediction mode, the directionality prediction for the color difference signal is performed to generate a prediction image of the color difference signal. Further, when the intra prediction parameter of the color difference signal indicates the luminance correlation use color difference signal prediction mode (LM mode), the luminance signal and color difference of a plurality of pixels adjacent above and to the left of the prediction image generation target block. A correlation parameter indicating the correlation between the luminance signal and the color difference signal is calculated using the signal, and a predicted image of the color difference signal is generated using the correlation parameter and the luminance signal corresponding to the block of the color difference signal to be predicted.

入力信号フォーマットがYUV4:2:2信号である場合、図7に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が1/2となる長方形のブロックとなる。したがって、図8に示すように、YUV4:4:4信号をYUV4:2:2信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、YUV4:2:2信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。具体的には、図9に示すように、輝度信号の予測方向ベクトルをv=(dx,dy)とした場合、色差信号の予測方向ベクトルは、v=(dx/2,dy)となる。即ち、図10に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθ、色差信号の予測方向の角度をθとして、tanθ=2tanθの関係となる予測方向で予測する必要がある。 When the input signal format is a YUV 4: 2: 2 signal and the luminance signal is a square block as shown in FIG. 7, the color difference signal has half the number of pixels in the horizontal direction compared to the luminance signal. It becomes a rectangular block. Therefore, as shown in FIG. 8, when the YUV4: 4: 4 signal is converted into a YUV4: 2: 2 signal, in order to predict the luminance signal and the color difference signal in the same direction, YUV4: 2 : On two signals, in the case of directional prediction other than vertical prediction and horizontal prediction, the prediction direction of the color difference signal is different from the prediction direction of the luminance signal. Specifically, as shown in FIG. 9, when the prediction direction vector of the luminance signal is v L = (dx L , dy L ), the prediction direction vector of the color difference signal is v C = (dx L / 2, dy L ). That is, as shown in FIG. 10, when the angle of the prediction direction is θ, the angle of the prediction direction of the luminance signal is θ L , the angle of the prediction direction of the color difference signal is θ C , and tan θ C = 2tan θ L It is necessary to predict in the prediction direction.

したがって、輝度信号と色差信号で同一方向の予測を行う上記DMモードを正しく実施できるようにするために、入力信号フォーマットがYUV4:2:2信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。具体的には、インデックスの変換テーブルを用意し、その変換テーブルを参照することで、インデックスを変換するように構成してもよいし、予め変換式を用意して、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみで、YUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。   Therefore, when the input signal format is a YUV 4: 2: 2 signal in order to correctly implement the DM mode in which the prediction in the same direction is performed with the luminance signal and the color difference signal, the intra prediction mode used for the luminance signal is used. The index is converted into an index of an intra prediction mode used for prediction of the color difference signal, and the prediction process of the color difference signal in the intra prediction mode corresponding to the converted index is performed. Specifically, an index conversion table may be prepared, and the index may be converted by referring to the conversion table. Alternatively, a conversion formula is prepared in advance, and the index is converted according to the conversion formula. You may comprise. With this configuration, it is possible to perform appropriate prediction of the color difference signal according to the format of the YUV 4: 2: 2 signal only by converting the index without changing the directionality prediction process itself.

画面内コピー予測部35は可変長復号部31により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードが画面内コピー符号化モードである場合、符号化対象ブロック内の予測ブロック毎に、同一のピクチャ内で既に復号が済んでいる領域の中から、可変長復号部31により可変長復号された画面内コピー予測パラメータに含まれているブロックシフトベクトルが示す位置の参照ブロックを取得して、その参照ブロックを当該予測ブロックの予測画像に決定する処理を実施する。なお、画面内コピー予測部35は画面内コピー予測手段を構成している。   When the encoding mode related to the encoding target block identified from the block division information variable-length decoded by the variable-length decoding unit 31 is the intra-screen copy encoding mode, the intra-screen copy prediction unit 35 For each prediction block, the position indicated by the block shift vector included in the intra-screen copy prediction parameter that has been variable-length decoded by the variable-length decoding unit 31 from the area that has already been decoded in the same picture. A process of acquiring a reference block and determining the reference block as a prediction image of the prediction block is performed. The intra-screen copy prediction unit 35 constitutes an intra-screen copy prediction unit.

動き補償予測部36は可変長復号部31により可変長復号されたブロック分割情報から特定される符号化対象ブロックに係る符号化モードがインター符号化モードである場合、動き補償予測フレームメモリ40に格納されている復号画像を参照しながら、切換スイッチ33から出力された動きベクトルとインター予測パラメータを用いたインター予測処理(動き補償予測処理)を実施してインター予測画像を生成する処理を実施する。なお、動き補償予測部36は動き補償予測手段を構成している。   The motion compensation prediction unit 36 stores the motion compensation prediction frame memory 40 in the motion compensation prediction frame memory 40 when the coding mode related to the coding target block specified from the block division information subjected to variable length decoding by the variable length decoding unit 31 is the inter coding mode. With reference to the decoded image, the inter prediction process (motion compensation prediction process) using the motion vector output from the changeover switch 33 and the inter prediction parameter is performed to generate an inter prediction image. The motion compensation prediction unit 36 constitutes a motion compensation prediction unit.

加算部37は逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像、画面内コピー予測部35により生成された画面内コピー予測画像、又は、動き補償予測部36により生成されたインター予測画像とを加算して、図1の加算部11から出力された局所復号画像と同一の復号画像を算出する処理を実施する。
イントラ用メモリ38は加算部37により算出された復号画像をイントラ予測処理及び画面内コピー予測処理で用いる参照画像として格納する記録媒体である。
The addition unit 37 includes a decoded prediction difference signal calculated by the inverse quantization / inverse conversion unit 32, an intra prediction image generated by the intra prediction unit 34, an intra-screen copy prediction image generated by the intra-screen copy prediction unit 35, Or the inter prediction image produced | generated by the motion compensation prediction part 36 is added, and the process which calculates the decoding image same as the local decoding image output from the addition part 11 of FIG. 1 is implemented.
The intra memory 38 is a recording medium that stores the decoded image calculated by the adding unit 37 as a reference image used in the intra prediction process and the intra-screen copy prediction process.

ループフィルタ部39は加算部37により算出された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を出力する処理を実施する。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
The loop filter unit 39 performs a predetermined filter process on the decoded image calculated by the adder unit 37 and performs a process of outputting the decoded image after the filter process.
Specifically, filter (deblocking filter) processing that reduces distortion occurring at the boundaries of transform blocks and prediction blocks, processing for adaptively adding an offset (pixel adaptive offset) for each pixel, Wiener filter, etc. Performs adaptive filter processing for adaptively switching linear filters and performing filter processing.

ただし、ループフィルタ部39は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合において、例えば、画像符号化装置のループフィルタ部13が図12のように構成されていれば、図16に示すようにループフィルタ部39が構成される。当然、画像符号化装置のループフィルタ部13がデブロッキングフィルタ処理と画素適応オフセット処理から構成されていれば、ループフィルタ部39もデブロッキングフィルタ処理と画素適応オフセット処理で構成される。
However, the loop filter unit 39 performs each of the above deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing with reference to each header information variable-length decoded by the variable-length decoding unit 31 in the corresponding slice. Specify whether or not.
At this time, when two or more filter processes are performed, for example, if the loop filter unit 13 of the image coding apparatus is configured as shown in FIG. 12, a loop filter unit 39 is configured as shown in FIG. The Naturally, if the loop filter unit 13 of the image encoding device is configured by deblocking filter processing and pixel adaptive offset processing, the loop filter unit 39 is also configured by deblocking filter processing and pixel adaptive offset processing.

ここで、デブロッキングフィルタ処理では、可変長復号部31により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。   Here, in the deblocking filter processing, with reference to the header information that has been subjected to variable length decoding by the variable length decoding unit 31, there is information for changing various parameters used for selecting the filter strength applied to the block boundary from the initial value. Based on the change information, deblocking filter processing is performed. When there is no change information, it is performed according to a predetermined method.

画素適応オフセット処理では、可変長復号部31により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて復号画像を分割し、そのブロック単位に、可変長復号部31により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部13の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ブロック単位の各クラスのオフセット値を特定するオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
In the pixel adaptive offset processing, the decoded image is divided based on the block division information of the pixel adaptive offset processing variable-length decoded by the variable-length decoding unit 31, and the variable-length decoding unit 31 performs variable-length decoding on the block basis. If the index indicating the block classification method is not an index indicating that “offset processing is not performed”, each pixel in the block is classified according to the class classification method indicated by the index. To do.
In addition, the same class classification method candidate as the pixel classification method candidate of the pixel adaptive offset process of the loop filter unit 13 is prepared in advance as a class classification method candidate.
Then, a process of adding the offset to the luminance value of the decoded image is performed with reference to the offset information specifying the offset value of each class in block units.

ただし、画像符号化装置のループフィルタ部13の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を固定サイズのブロック単位(例えば、最大符号化ブロック単位)に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行うように構成されている場合、ループフィルタ部39においても、ループフィルタ部13と同一の固定サイズのブロック単位に画素適応オフセット処理を実施する。   However, in the pixel adaptive offset processing of the loop filter unit 13 of the image encoding device, the block division information is not encoded, and the image is always divided into fixed-size block units (for example, the maximum encoded block unit). When a class classification method is selected for each block and adaptive offset processing for each class is performed, the loop filter unit 39 also has a pixel adaptive offset in units of blocks having the same fixed size as the loop filter unit 13. Perform the process.

適応フィルタ処理では、可変長復号部31により可変長復号されたクラス毎のフィルタを用いて、図1の画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。   In the adaptive filter process, after classifying by the same method as the image encoding apparatus of FIG. 1 using the filter for each class variable-length decoded by the variable-length decoding unit 31, the filter process is performed based on the class classification information. I do.

動き補償予測フレームメモリ40はループフィルタ部39のフィルタ処理後の復号画像をインター予測処理(動き補償予測処理)で用いる参照画像として格納する記録媒体である。   The motion compensation prediction frame memory 40 is a recording medium that stores the decoded image after the filter processing of the loop filter unit 39 as a reference image used in the inter prediction processing (motion compensation prediction processing).

図15の例では、画像復号装置の構成要素である可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、画面内コピー予測部35、動き補償予測部36、加算部37、イントラ用メモリ38、ループフィルタ部39及び動き補償予測フレームメモリ40のそれぞれが専用のハードウェアで構成(イントラ用メモリ38及び動き補償予測フレームメモリ40以外の構成要素は、例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなどで構成)されているものを想定しているが、画像復号装置がコンピュータで構成されていてもよい。   In the example of FIG. 15, a variable length decoding unit 31, an inverse quantization / inverse conversion unit 32, a changeover switch 33, an intra prediction unit 34, an in-screen copy prediction unit 35, and a motion compensation prediction unit 36 that are components of the image decoding device. Each of the adder 37, the intra memory 38, the loop filter unit 39, and the motion compensated prediction frame memory 40 is configured by dedicated hardware (components other than the intra memory 38 and the motion compensated prediction frame memory 40 are, for example, It is assumed that the CPU is mounted on a semiconductor integrated circuit or a one-chip microcomputer), but the image decoding apparatus may be configured by a computer.

画像復号装置をコンピュータで構成する場合、イントラ用メモリ38及び動き補償予測フレームメモリ40をコンピュータのメモリ上に構成するとともに、可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、画面内コピー予測部35、動き補償予測部36、加算部37及びループフィルタ部39の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにすればよい。
図17はこの発明の実施の形態1による画像復号装置の処理内容(画像復号方法)を示すフローチャートである。
When the image decoding device is configured by a computer, the intra memory 38 and the motion compensated prediction frame memory 40 are configured on the computer memory, and a variable length decoding unit 31, an inverse quantization / inverse conversion unit 32, a changeover switch 33, A program describing the processing contents of the intra prediction unit 34, the intra-screen copy prediction unit 35, the motion compensation prediction unit 36, the addition unit 37, and the loop filter unit 39 is stored in the memory of the computer, and the CPU of the computer stores the memory The program stored in the program may be executed.
FIG. 17 is a flowchart showing the processing contents (image decoding method) of the image decoding apparatus according to Embodiment 1 of the present invention.

次に動作について説明する。
この実施の形態1では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行って符号化ビットストリームを生成する画像符号化装置と、その画像符号化装置から出力される符号化ビットストリームを復号する画像復号装置について説明する。
Next, the operation will be described.
In the first embodiment, each frame image of a video is used as an input image, intra prediction from encoded neighboring pixels or motion compensation prediction between adjacent frames is performed, and an obtained prediction difference signal is obtained. An image encoding device that performs compression processing by orthogonal transform / quantization and then performs variable length encoding to generate an encoded bitstream, and an image that decodes the encoded bitstream output from the image encoding device A decoding apparatus will be described.

図1の画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。   The image encoding apparatus in FIG. 1 performs intra-frame and inter-frame adaptive encoding by dividing a video signal into blocks of various sizes in response to local changes in the spatial and temporal directions of the video signal. It is characterized by. In general, a video signal has a characteristic that the complexity of the signal changes locally in space and time. When viewed spatially, a small image, such as a picture with a uniform signal characteristic in a relatively wide image area such as the sky or a wall, or a picture containing a person or fine texture, on a video frame. A pattern having a complicated texture pattern in the region may be mixed. Even when viewed temporally, the change in the pattern of the sky and the wall locally in the time direction is small, but because the outline of the moving person or object moves rigidly or non-rigidly in time, the temporal change Is big.

符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
In the encoding process, a prediction difference signal with small signal power and entropy is generated by temporal and spatial prediction to reduce the overall code amount. However, the parameters used for the prediction are set as large as possible in the image signal region. If it can be applied uniformly, the code amount of the parameter can be reduced. On the other hand, if the same prediction parameter is applied to a large image region with respect to an image signal pattern having a large temporal and spatial change, the number of prediction differential signals increases because prediction errors increase. . Therefore, in a region where the temporal and spatial changes are large, the block size for performing the prediction process by applying the same prediction parameter is reduced, the amount of parameter data used for prediction is increased, and the power and entropy of the prediction difference signal are increased. It is desirable to reduce
In the first embodiment, in order to perform coding adapted to the general characteristics of such a video signal, first, prediction processing or the like is started from a predetermined maximum block size, and the video signal region is divided hierarchically. In addition, the prediction process and the encoding process of the prediction difference are adapted for each divided area.

最初に、図1の画像符号化装置の処理内容を説明する。
まず、符号化制御部1は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図14のステップST1)。
最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
First, the processing contents of the image encoding device in FIG. 1 will be described.
First, the encoding control unit 1 determines the slice division state of a picture to be encoded (current picture), and the size of the maximum encoding block used for encoding the picture and the hierarchy for dividing the maximum encoding block into layers. The upper limit of the number is determined (step ST1 in FIG. 14).
As a method of determining the size of the maximum coding block, for example, the same size may be determined for all the pictures according to the resolution of the video signal of the input image, or the local motion of the video signal of the input image The size difference may be quantified as a parameter, and a small size may be determined for a picture with high motion, while a large size may be determined for a picture with little motion.

分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限は、シーケンスレベルヘッダなどで符号化する。その場合、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズを符号化するようにしてもよい。即ち、最大符号化ブロックを分割階層数の上限まで分割したときのブロックのサイズが、符号化対象ブロックの最小ブロックサイズであるため、画像復号装置側において、最大符号化ブロックのサイズと符号化対象ブロックの最小ブロックサイズから分割階層数の上限を特定することができる。   For example, the upper limit of the number of division layers can be determined by, for example, determining the same number of layers for all pictures according to the resolution of the video signal of the input image, or when the motion of the video signal of the input image is severe There is a method in which the number of hierarchies is increased so that finer movements can be detected, and when there are few movements, the number of hierarchies is set to be suppressed. Note that the size of the maximum coding block and the upper limit of the number of hierarchies for dividing the maximum coding block into layers are coded by a sequence level header or the like. In that case, instead of the upper limit of the number of division layers, the minimum block size of the encoding target block may be encoded. That is, since the block size when the maximum coding block is divided up to the upper limit of the number of division layers is the minimum block size of the encoding target block, the size of the maximum encoding block and the encoding target are determined on the image decoding device side. The upper limit of the number of divided layers can be specified from the minimum block size of the block.

また、符号化制御部1は、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化対象ブロックに対応する符号化モードを選択する(図14のステップST2)。
即ち、符号化制御部1は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化対象ブロックサイズを有する符号化対象ブロックに分割して、各々の符号化対象ブロックに対する符号化モードを決定する。
Also, the encoding control unit 1 selects an encoding mode corresponding to each encoding target block divided hierarchically from one or more available encoding modes (step ST2 in FIG. 14). .
That is, the encoding control unit 1 divides each image area of the maximum encoding block size into encoding target blocks having the encoding target block size hierarchically until reaching the upper limit of the number of division hierarchies defined above. Thus, the encoding mode for each encoding target block is determined.

符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数の画面内コピー符号化モード(総称して「ICOPY」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部1は、当該ピクチャで利用可能な全ての符号化モード、又は、そのサブセットの中から、各々の符号化対象ブロックに対応する符号化モードを選択する。
ただし、後述するブロック分割部3により階層的に分割される各々の符号化対象ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。即ち、符号化モードは、どのような予測ブロック分割を持つイントラ符号化モード、画面内コピー符号化モード又はインター符号化モードかを識別するインデックスである。
符号化制御部1による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化対象ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
The encoding modes include one or more intra encoding modes (collectively referred to as “INTRA”), one or more intra-screen copy encoding modes (collectively referred to as “ICOPY”), There are one or a plurality of inter coding modes (collectively referred to as “INTER”), and the coding control unit 1 can select from all the coding modes available in the picture or a subset thereof. The encoding mode corresponding to each encoding target block is selected.
However, each encoding target block that is hierarchically divided by the block dividing unit 3 to be described later is further divided into one or a plurality of prediction blocks that are units for performing the prediction process, and the division state of the prediction block is also encoded. Included in the mode as information. That is, the coding mode is an index for identifying what kind of prediction block division an intra coding mode, an intra-screen copy coding mode, or an inter coding mode.
Since the encoding mode selection method by the encoding control unit 1 is a known technique, a detailed description thereof is omitted. For example, an encoding process for an encoding target block using an arbitrary encoding mode that can be used is used. There is a method of verifying the coding efficiency and selecting the coding mode with the best coding efficiency from among a plurality of available coding modes.

また、符号化制御部1は、各々の符号化対象ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられる予測パラメータ(イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ)を決定する。ただし、符号化対象ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ(イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ)を選択する。   In addition, the encoding control unit 1 determines a quantization parameter and a transform block division state used when the difference image is compressed for each encoding target block, and is used when a prediction process is performed. Prediction parameter (intra prediction parameter, intra-screen copy prediction parameter, or inter prediction parameter) is determined. However, when the encoding target block is further divided into prediction block units for which prediction processing is performed, a prediction parameter (intra prediction parameter, intra-screen copy prediction parameter, or inter prediction parameter) is selected for each prediction block.

ここで、図2は4:2:0フォーマットの信号における輝度信号及び色差信号の圧縮処理(変換処理、量子化処理)を実施する際の変換ブロックサイズを示す説明図である。変換ブロックサイズは、図2に示すように、符号化対象ブロックを四分木状に階層分割することによって決定される。
例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
Here, FIG. 2 is an explanatory diagram showing a conversion block size when performing compression processing (conversion processing, quantization processing) of luminance signals and color difference signals in a 4: 2: 0 format signal. As shown in FIG. 2, the transform block size is determined by hierarchically dividing the block to be encoded into a quadtree.
For example, whether or not to divide the transform block so that the evaluation value is minimized based on the amount of code when the transform block is divided and when the transform block is not divided, or an evaluation scale that takes into account the coding error By determining, it is possible to determine the optimal division shape of the transform block from the viewpoint of the trade-off between the code amount and the coding error.

輝度信号については、例えば、図2に示すように、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。色差信号については、図2に示すように、入力信号フォーマットがYUV4:2:0信号である場合、輝度信号と同様に、符号化対象ブロックが1つ又は複数の正方形の変換ブロックに階層的に分割されるように構成する。この場合、色差信号の変換ブロックサイズは、対応する輝度信号の変換ブロックの縦横ともに半分のサイズとなる。   For example, as shown in FIG. 2, the luminance signal is configured so that the encoding target block is hierarchically divided into one or a plurality of square transform blocks. As for the color difference signal, as shown in FIG. 2, when the input signal format is a YUV 4: 2: 0 signal, the encoding target block is hierarchically formed into one or a plurality of square conversion blocks in the same manner as the luminance signal. Configure to be split. In this case, the conversion block size of the color difference signal is half the vertical and horizontal sizes of the corresponding luminance signal conversion block.

入力信号フォーマットがYUV4:2:2信号である場合、図3に示すように、輝度信号と同様の四分木状の階層分割を行う。また、分割したブロックの形状が、垂直方向の画素数が水平方向の画素数の2倍になる長方形となるため、さらに、分割したブロックを上下に二分することで、YUV4:2:0信号での色差信号と同じブロックサイズ(輝度信号の変換ブロックの縦横ともに半分のサイズ)の変換ブロック2つで構成するようにする。
また、入力信号フォーマットがYUV4:4:4信号である場合、図4に示すように、色差信号の変換ブロックは、常に輝度信号の変換ブロックと同様の分割を行い、同じサイズの変換ブロックとなるように構成する。
When the input signal format is a YUV 4: 2: 2 signal, quadtree-like hierarchical division similar to the luminance signal is performed as shown in FIG. Further, since the shape of the divided block is a rectangle in which the number of pixels in the vertical direction is twice the number of pixels in the horizontal direction, the divided block is further divided into two parts in the vertical direction, so that the YUV 4: 2: 0 signal The color difference signal is composed of two conversion blocks having the same block size (half the vertical and horizontal sizes of the luminance signal conversion block).
When the input signal format is a YUV 4: 4: 4 signal, the color difference signal conversion block is always divided in the same manner as the luminance signal conversion block as shown in FIG. Configure as follows.

符号化制御部1は、符号化対象ブロックにおける変換ブロックの分割情報を示す変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどを含む予測差分符号化パラメータを変換・量子化部9、逆量子化・逆変換部10及び可変長符号化部15に出力する。
符号化制御部1は、イントラ予測パラメータを必要に応じてイントラ予測部5に出力する。
また、符号化制御部1は、画面内コピー予測パラメータを必要に応じて画面内コピー予測部6に出力する。
また、符号化制御部1は、インター予測パラメータを必要に応じて動き補償予測部7に出力する。
The encoding control unit 1 includes a prediction difference code including transform block partition information indicating partition information of transform blocks in a block to be encoded, a quantization parameter that defines a quantization step size when quantizing transform coefficients, and the like. The quantization parameter is output to the transform / quantization unit 9, the inverse quantization / inverse transform unit 10, and the variable length coding unit 15.
The encoding control unit 1 outputs intra prediction parameters to the intra prediction unit 5 as necessary.
Also, the encoding control unit 1 outputs the intra-screen copy prediction parameter to the intra-screen copy prediction unit 6 as necessary.
Also, the encoding control unit 1 outputs inter prediction parameters to the motion compensation prediction unit 7 as necessary.

スライス分割部2は、入力画像として映像信号を入力すると、その入力画像を符号化制御部1により決定されたスライス分割情報にしたがって1以上の部分画像であるスライスに分割する。
ブロック分割部3は、スライス分割部2から各スライスを入力する毎に、そのスライスを符号化制御部1により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部1により決定された符号化対象ブロックへ階層的に分割して、その符号化対象ブロックを出力する。
When a video signal is input as an input image, the slice division unit 2 divides the input image into slices that are one or more partial images according to the slice division information determined by the encoding control unit 1.
Each time each slice is input from the slice dividing unit 2, the block dividing unit 3 divides the slice into the maximum encoded block size determined by the encoding control unit 1, and further encodes the divided maximum encoded block. The block is hierarchically divided into encoding target blocks determined by the encoding control unit 1, and the encoding target blocks are output.

ここで、図18は最大符号化ブロックが階層的に複数の符号化対象ブロックに分割される例を示す説明図である。
図18において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L,M)のサイズを有する符号化対象ブロックである。最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化対象ブロックを得るようにしている。深さnにおいては、符号化対象ブロックはサイズ(L,M)の画像領域である。ただし、LとMは、同じであってもよいし、異なっていてもよいが、図18では、L=Mのケースを示している。
Here, FIG. 18 is an explanatory diagram showing an example in which the maximum encoding block is hierarchically divided into a plurality of encoding target blocks.
In FIG. 18, the maximum coding block is a coding target block whose luminance component described as “0th layer” has a size of (L 0 , M 0 ). The encoding target block is obtained by hierarchically dividing the maximum encoding block as a starting point to a predetermined depth separately defined by a quadtree structure. At the depth n, the encoding target block is an image area of size (L n , M n ). However, L n and M n may be the same or different, but FIG. 18 shows a case of L n = M n .

以降、符号化制御部1により決定される符号化対象ブロックサイズは、符号化対象ブロックの輝度成分におけるサイズ(L,M)と定義する。4分木分割を行うため、常に、(Ln+1,Mn+1)=(L/2,M/2)が成立する。なお、RGB信号など、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(L,M)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化対象ブロックサイズは(L/2,M/2)になる。 Hereinafter, the encoding target block size determined by the encoding control unit 1 is defined as the size (L n , M n ) in the luminance component of the encoding target block. Since quadtree partitioning is performed, (L n + 1 , M n + 1 ) = (L n / 2, M n / 2) always holds. Note that in a color video signal (4: 4: 4 format) in which all color components have the same number of samples, such as RGB signals, the size of all color components is (L n , M n ), but 4: 2. : When the 0 format is handled, the encoding target block size of the corresponding color difference component is (L n / 2, M n / 2).

以降、第n階層の符号化対象ブロックをBで表し、符号化対象ブロックBで選択可能な符号化モードをm(B)で表すものとする。複数の色成分からなるカラー映像信号の場合、符号化モードm(B)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化対象ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。 Later, represents the encoding target block of the n hierarchy B n, the encoding modes selectable by the encoding target block B n as represented by m (B n). In the case of a color video signal composed of a plurality of color components, the encoding mode m (B n ) may be configured to use an individual mode for each color component, or common to all color components. It may be configured to use a mode. Hereinafter, unless otherwise specified, the description will be made assuming that it indicates the encoding mode for the luminance component of the encoding target block in the YUV signal and 4: 2: 0 format.

符号化対象ブロックBは、図18に示すように、ブロック分割部3によって、予測処理単位を表す1つないし複数の予測ブロックに分割される。以降、符号化対象ブロックBに属する予測ブロックをP (iは、第n階層における予測ブロック番号)と表記する。図18にはP とP の例を示している。符号化対象ブロックB内の予測ブロックの分割が、どのようになされているかは、符号化モードm(B)の中に情報として含まれる。予測ブロックP は、全て符号化モードm(B)に従って予測処理が行われるが、予測ブロックP 毎に、個別の予測パラメータ(イントラ予測パラメータ、画面内コピー予測パラメータ又はインター予測パラメータ)を選択することができる。 As shown in FIG. 18, the encoding target block Bn is divided into one or a plurality of prediction blocks representing a prediction processing unit by the block dividing unit 3. Hereinafter, a prediction block belonging to the encoding target block B n is denoted as P i n (i is a prediction block number in the n-th layer). FIG. 18 shows an example of P 0 0 and P 1 0 . How the prediction block in the encoding target block Bn is divided is included as information in the encoding mode m ( Bn ). Prediction blocks P i n are all subjected to prediction processing according to the encoding mode m (B n ). For each prediction block P i n , individual prediction parameters (intra prediction parameters, intra-screen copy prediction parameters, or inter prediction parameters are used). ) Can be selected.

符号化制御部1は、最大符号化ブロックに対して、例えば、図19に示すようなブロック分割状態を生成して、符号化対象ブロックを特定する。図19(a)の点線で囲まれた矩形が各符号化対象ブロックを表し、各符号化対象ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。図19(b)は、図19(a)の例について、階層分割によって符号化モードm(B)が割り当てられる状況を4分木グラフで示したものである。図19(b)の□で囲まれているノードは、符号化モードm(B)が割り当てられたノード(符号化対象ブロック)である。この4分木グラフの情報は符号化モードm(B)と共に符号化制御部1から可変長符号化部15に出力されて、ビットストリームに多重化される。 For example, the encoding control unit 1 generates a block division state as illustrated in FIG. 19 for the maximum encoding block, and specifies an encoding target block. A rectangle surrounded by a dotted line in FIG. 19A represents each coding target block, and a block painted with diagonal lines in each coding target block represents a division state of each prediction block. FIG. 19B shows, in a quadtree graph, a situation in which the encoding mode m (B n ) is assigned by hierarchical division in the example of FIG. 19A. Nodes surrounded by □ in FIG. 19B are nodes (encoding target blocks) to which the encoding mode m (B n ) is assigned. Information of the quadtree graph is output from the encoding control unit 1 to the variable length encoding unit 15 together with the encoding mode m (B n ), and is multiplexed into the bit stream.

切換スイッチ4は、符号化制御部1により決定された符号化モードm(B)がイントラ符号化モードである場合(m(B)∈INTRAの場合)、ブロック分割部3から出力された符号化対象ブロックBをイントラ予測部5に出力し、符号化制御部1により決定された符号化モードm(B)が画面内コピー符号化モードである場合(m(B)∈ICOPYの場合)、ブロック分割部3から出力された符号化対象ブロックBを画面内コピー予測部6に出力し、符号化制御部1により決定された符号化モードm(B)がインター符号化モードである場合(m(B)∈INTERの場合)、ブロック分割部3から出力された符号化対象ブロックBを動き補償予測部7に出力する。 The changeover switch 4 is output from the block dividing unit 3 when the coding mode m (B n ) determined by the coding control unit 1 is an intra coding mode (when m (B n ) ∈INTRA). When the encoding target block B n is output to the intra prediction unit 5 and the encoding mode m (B n ) determined by the encoding control unit 1 is the intra-screen copy encoding mode (m (B n ) ∈ICOPY In this case, the encoding target block B n output from the block dividing unit 3 is output to the intra-screen copy prediction unit 6, and the encoding mode m (B n ) determined by the encoding control unit 1 is inter-encoded. In the case of the mode (when m (B n ) εINTER), the encoding target block B n output from the block dividing unit 3 is output to the motion compensation prediction unit 7.

イントラ予測部5は、符号化制御部1により決定された符号化モードm(B)がイントラ符号化モードであり(m(B)∈INTRAの場合)、切換スイッチ4から符号化対象ブロックBを受けると(図14のステップST3)、イントラ用メモリ12に格納されている局所復号画像を参照しながら、符号化制御部1により決定されたイントラ予測パラメータを用いて、その符号化対象ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(図14のステップST4)。 The intra prediction unit 5, the encoding control unit 1 coding mode m, which is determined by (B n) is intra coding mode (m (the case of B n) ∈INTRA), encoding target block from the changeover switch 4 When B n is received (step ST3 in FIG. 14), the encoding target is determined using the intra prediction parameter determined by the encoding control unit 1 while referring to the local decoded image stored in the intra memory 12. and implementing intra prediction process for each of the prediction block P i n in the block B n, it generates an intra prediction image P INTRAi n (step ST4 in FIG. 14).

ただし、詳細は後述するが、イントラ予測画像を生成する処理を行う際に、予測ブロックに隣接する符号化済みの画素を用いることから、イントラ予測画像を生成する処理は、予測処理に用いる予測ブロックに隣接する画素が既に符号化済みとなるように常に変換ブロック単位に行われなくてはならない。したがって、符号化モードがイントラ符号化モードである符号化対象ブロックでは、選択可能な変換ブロックのブロックサイズは、予測ブロックのサイズ以下に制限され、さらに、変換ブロックが予測ブロックより小さい場合(予測ブロック内に複数の変換ブロックが存在する場合)には、変換ブロック単位に、当該予測ブロックで定められたイントラ予測パラメータを用いたイントラ予測処理を実施してイントラ予測画像を生成する処理を実施する。
なお、図15の画像復号装置がイントラ予測画像PINTRAi と全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータは、符号化制御部1から可変長符号化部15に出力されて、ビットストリームに多重化される。イントラ予測部5の処理内容の詳細は後述する。
However, although details will be described later, since the encoded pixel adjacent to the prediction block is used when performing the process of generating the intra prediction image, the process of generating the intra prediction image is the prediction block used for the prediction process. Must always be performed in units of transform blocks so that pixels adjacent to are already encoded. Therefore, in the encoding target block whose encoding mode is the intra encoding mode, the block size of the selectable transform block is limited to the size of the prediction block or smaller and the transform block is smaller than the prediction block (prediction block). In the case where a plurality of transform blocks exist), an intra prediction process using an intra prediction parameter defined in the prediction block is performed for each transform block to generate an intra predicted image.
Incidentally, since it is necessary to image decoding apparatus of FIG. 15 to generate exactly the same intra prediction image and the intra prediction image P INTRAi n, intra prediction parameters used for generating the intra prediction image P INTRAi n, the encoding control unit 1 is output to the variable length encoding unit 15 and multiplexed into the bit stream. Details of processing contents of the intra prediction unit 5 will be described later.

画面内コピー予測部6は、符号化制御部1により決定された符号化モードm(B)が画面内コピー符号化モードであり(m(B)∈ICOPYの場合)、切換スイッチ4から符号化対象ブロックBを受けると(図14のステップST3)、その符号化対象ブロックB内の各予測ブロックP とイントラ用メモリ12に格納されている局所復号画像を比較し、予測ブロックP と最も類似している領域のブロック(参照ブロック)を探索する。
画面内コピー予測部6は、参照ブロックを予測ブロックP の予測画像として、画面内コピー予測画像PICOPYi を生成する(図14のステップST5)。
Intra copy prediction unit 6, the encoding control unit coding mode m determined by 1 (B n) is a screen in the copy coding mode (m (the case of B n) ∈ICOPY), from the changeover switch 4 When the encoding target block B n is received (step ST3 in FIG. 14), each prediction block P i n in the encoding target block B n is compared with the local decoded image stored in the intra memory 12, and prediction is performed. searching for a block (reference block) in the region which is most similar to the block P i n.
Intra copy prediction unit 6, the reference block as a prediction image of the prediction block P i n, generates a screen in the copy predicted image P ICOPYi n (step ST5 in FIG. 14).

図15の画像復号装置では、画面内コピー予測画像PICOPYi と全く同じ画面内コピー予測画像を生成する必要があるため、画面内コピー予測画像PICOPYi の生成に用いられたブロックシフトベクトルは、画面内コピー予測部6から可変長符号化部15に出力されて、ビットストリームに多重化される。
このブロックシフトベクトルは、画面内コピー予測部6により探索された参照ブロックを指し示す位置情報であり、一般的に図20に示すようなベクトルである。
図20では、符号化対象ブロックを原点として、参照ブロックまでの移動量をブロックシフトベクトルによって表現している。このブロックシフトベクトルは、可変長符号化部15により符号化されるが、その際、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにしてもよい。
In the image decoding apparatus of FIG. 15, it is necessary to generate the exact same screen the copy predicted image and the intra copy predicted image P ICOPYi n, block shift vector used for generating the intra copy predicted image P ICOPYi n is Then, it is output from the intra-screen copy prediction unit 6 to the variable length encoding unit 15 and multiplexed into the bit stream.
This block shift vector is position information indicating the reference block searched by the intra-screen copy prediction unit 6, and is generally a vector as shown in FIG.
In FIG. 20, the movement amount to the reference block is expressed by a block shift vector with the encoding target block as the origin. This block shift vector is encoded by the variable length encoding unit 15, and at this time, the block shift vector of the immediately preceding encoded prediction block or the block shift of the encoded prediction block around the prediction block. You may make it encode the difference value with a vector.

動き補償予測部7は、符号化制御部1により決定された符号化モードm(B)がインター符号化モードであり(m(B)∈INTERの場合)、切換スイッチ4から符号化対象ブロックBを受けると(図14のステップST3)、その符号化対象ブロックB内の各予測ブロックP と動き補償予測フレームメモリ14に格納されているフィルタ処理後の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部1により決定されたインター予測パラメータを用いて、その符号化対象ブロックB内の各予測ブロックP に対するインター予測処理を実施して、インター予測画像PINTERi を生成する(図14のステップST6)。 The motion compensation prediction unit 7 is the encoding mode m (B n ) determined by the encoding control unit 1 is an inter coding mode (when m (B n ) ∈INTER), and the object to be encoded is selected from the changeover switch 4. When the block B n is received (step ST3 in FIG. 14), each prediction block P i n in the encoding target block B n is compared with the locally decoded image after filtering stored in the motion compensated prediction frame memory 14. by searching a motion vector, by using the inter prediction parameters determined by the motion vector and the encoding control unit 1, to implement inter-prediction processing for each of the prediction block P i n in the encoding target block B n Te, generates an inter prediction image P INTERi n (step ST6 in FIG. 14).

図15の画像復号装置がインター予測画像PINTERi と全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi の生成に用いられたインター予測パラメータは、符号化制御部1から可変長符号化部15に出力されて、ビットストリームに多重化される。
また、動き補償予測部7により探索された動きベクトルも可変長符号化部15に出力されて、ビットストリームに多重化される。
Since the image decoding apparatus of FIG. 15 needs to generate exactly the same inter prediction image and the inter-predicted image P INTERi n, inter prediction parameters used for generating the inter prediction image P INTERi n from the coding controller 1 The data is output to the variable length encoding unit 15 and multiplexed into the bit stream.
The motion vector searched by the motion compensation prediction unit 7 is also output to the variable length encoding unit 15 and multiplexed into the bit stream.

減算部8は、ブロック分割部3から符号化対象ブロックBを受けると、その符号化対象ブロックB内の予測ブロックP から、イントラ予測部5により生成されたイントラ予測画像PINTRAi 、画面内コピー予測部6により生成された画面内コピー予測画像PICOPYi 、又は、動き補償予測部7により生成されたインター予測画像PINTERi のいずれかを減算して、その減算結果である差分画像を示す予測差分信号e を変換・量子化部9に出力する(図14のステップST7)。 Subtracting unit 8 receives the encoding target block B n from the block dividing unit 3, a prediction block P i n in the encoding target block B n, the intra prediction image P INTRAi n generated by the intra prediction unit 5 , intra copy predicted image P ICOPYi n generated by the screen in the copy prediction unit 6, or, by subtracting one of the inter-prediction image P INTERi n generated by the motion compensation prediction unit 7 is the result of the subtraction It outputs the prediction difference signal e i n representing a difference image to the transform and quantization unit 9 (step ST7 in FIG. 14).

変換・量子化部9は、減算部8から予測差分信号e を受けると、符号化制御部1により決定された予測差分符号化パラメータに含まれる変換ブロック分割情報を参照して、その予測差分信号e に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を変換ブロック単位に実施して、変換係数を算出する。
また、変換・量子化部9は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部10及び可変長符号化部15に出力する(図14のステップST8)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
When the transform / quantization unit 9 receives the prediction difference signal e i n from the subtraction unit 8, the transform / quantization unit 9 refers to the transform block division information included in the prediction difference encoding parameter determined by the encoding control unit 1, and performs the prediction. orthogonal transform processing with respect to the difference signal e i n (e.g., DCT (discrete cosine transform) or DST (discrete sine transform), the orthogonal transform for KL conversion and the base design have been made in advance to the particular learning sequence) to transform It implements for each block and calculates the conversion coefficient.
Also, the transform / quantization unit 9 refers to the quantization parameter included in the prediction differential encoding parameter, quantizes the transform coefficient of the transform block unit, and reverses the compressed data that is the transform coefficient after quantization. The data is output to the quantization / inverse transform unit 10 and the variable length coding unit 15 (step ST8 in FIG. 14). At this time, the quantization process may be performed using a quantization matrix that scales the quantization step size calculated from the quantization parameter for each transform coefficient.

量子化マトリクスは、各直交変換サイズで色信号や符号化モード(イントラ符号化かインター符号化か)毎に独立しているマトリクスを使用することができ、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。したがって、変換・量子化部9は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。   As the quantization matrix, an independent matrix can be used for each color signal and coding mode (intra coding or inter coding) at each orthogonal transform size. As an initial value, an image coding device and an image are used. In the decoding apparatus, it is possible to select whether to use a previously prepared quantization matrix or an already encoded quantization matrix or to use a new quantization matrix. Accordingly, the transform / quantization unit 9 sets flag information indicating whether or not to use a new quantization matrix for each orthogonal transform size for each color signal or coding mode, in a quantization matrix parameter to be encoded. .

さらに、新しい量子化マトリクスを用いる場合には、図11に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクスのみ選択可能となる。そして、変換・量子化部9は、設定した量子化マトリクスパラメータを可変長符号化部15に出力する。   Furthermore, when a new quantization matrix is used, each scaling value of the quantization matrix as shown in FIG. 11 is set as a quantization matrix parameter to be encoded. On the other hand, when a new quantization matrix is not used, as an initial value, a quantization matrix prepared in advance by the image encoding device and the image decoding device, or a quantization matrix that has already been encoded is used. Thus, an index for specifying a matrix to be used is set as a quantization matrix parameter to be encoded. However, when there is no already-encoded quantization matrix that can be referred to, only the quantization matrix prepared in advance can be selected in advance in the image encoding device and the image decoding device. Then, the transform / quantization unit 9 outputs the set quantization matrix parameter to the variable length coding unit 15.

逆量子化・逆変換部10は、変換・量子化部9から圧縮データを受けると、符号化制御部1により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位にその圧縮データを逆量子化する。変換・量子化部9が量子化処理に量子化マトリクスを用いている場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応した逆量子化処理を実施する。
また、逆量子化・逆変換部10は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部8から出力された予測差分信号e に相当する局所復号予測差分信号を算出して加算部11に出力する(図14のステップST9)。
When the inverse quantization / inverse transform unit 10 receives the compressed data from the transform / quantization unit 9, the inverse quantization / inverse transform unit 10 refers to the quantization parameter and transform block division information included in the prediction difference coding parameter determined by the coding control unit 1 Then, the compressed data is inversely quantized for each transform block. When the transform / quantization unit 9 uses a quantization matrix for the quantization process, the corresponding inverse quantization process is performed with reference to the quantization matrix even during the inverse quantization process.
Further, the inverse quantization / inverse transform unit 10 performs inverse orthogonal transform processing (for example, inverse DCT, inverse DST, inverse KL transform, etc.) on transform coefficients that are compressed data after inverse quantization for each transform block. calculates a local decoded prediction difference signal corresponding to the prediction difference signal e i n output from the subtraction unit 8 outputs to the adder 11 (step ST9 of FIG. 14).

加算部11は、逆量子化・逆変換部10から局所復号予測差分信号を受けると、その局所復号予測差分信号に対して、イントラ予測部5により生成されたイントラ予測画像PINTRAi 、画面内コピー予測部6により生成された画面内コピー予測画像PICOPYi 、又は、動き補償予測部7により生成されたインター予測画像PINTERi のいずれかを加算することで、局所復号画像を算出する(図14のステップST10)。
また、加算部11は、その局所復号画像をループフィルタ部13に出力するとともに、その局所復号画像をイントラ用メモリ12に格納する。この局所復号画像が、以降のイントラ予測処理及び画面内コピー予測処理の際に用いられる符号化済みの画像信号になる。
When the addition unit 11 receives the local decoded prediction difference signal from the inverse quantization / inverse conversion unit 10, the intra prediction image P INTRAi n generated by the intra prediction unit 5 for the local decoded prediction difference signal, copy prediction unit 6 intra copy predicted image P ICOPYi n generated by, or by adding one of the inter-prediction image P INTERi n generated by the motion compensation prediction unit 7 calculates a local decoded image ( Step ST10 in FIG. 14).
The adding unit 11 outputs the locally decoded image to the loop filter unit 13 and stores the locally decoded image in the intra memory 12. This locally decoded image becomes an encoded image signal used in the subsequent intra prediction process and intra-screen copy prediction process.

ループフィルタ部13は、加算部11から局所復号画像を受けると、その局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を動き補償予測フレームメモリ14に格納する(図14のステップST11)。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
When the loop filter unit 13 receives the local decoded image from the adder unit 11, the loop filter unit 13 performs a predetermined filter process on the local decoded image, and stores the filtered local decoded image in the motion compensated prediction frame memory 14. (Step ST11 in FIG. 14).
Specifically, filter (deblocking filter) processing that reduces distortion occurring at the boundaries of transform blocks and prediction blocks, processing for adaptively adding an offset (pixel adaptive offset) for each pixel, Wiener filter, etc. Performs adaptive filter processing for adaptively switching linear filters and performing filter processing.

ただし、ループフィルタ部13は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをシーケンスレベルヘッダの一部及びスライスレベルヘッダの一部として可変長符号化部15に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図12は複数のフィルタ処理を用いる場合のループフィルタ部13の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
However, the loop filter unit 13 determines whether to perform processing for each of the above deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, and sets a valid flag of each processing as a part of the sequence level header and It outputs to the variable length encoding part 15 as a part of slice level header. When a plurality of the above filter processes are used, each filter process is performed in order. FIG. 12 shows a configuration example of the loop filter unit 13 when a plurality of filter processes are used.
Generally, the more types of filter processing that are used, the better the image quality, but the higher the processing load. That is, image quality and processing load are in a trade-off relationship. In addition, the image quality improvement effect of each filter process varies depending on the characteristics of the image to be filtered. Therefore, the filter processing to be used may be determined according to the processing load allowed by the image encoding device and the characteristics of the encoding target image.

ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部15に出力する。   Here, in the deblocking filter process, various parameters used for selecting the filter strength applied to the block boundary can be changed from the initial values. When changing, the parameter is output to the variable length coding unit 15 as header information.

画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
In the pixel adaptive offset process, first, an image is divided into a plurality of blocks, and when the offset process is not performed for each block, it is defined as one of the class classification methods, and a plurality of class classifications prepared in advance are provided. One classification method is selected from the methods.
Next, each pixel in the block is classified by the selected class classification method, and an offset value for compensating for the coding distortion is calculated for each class.
Finally, the image quality of the locally decoded image is improved by performing a process of adding the offset value to the luminance value of the locally decoded image.

したがって、画素適応オフセット処理は、ブロックの分割情報、ブロック単位のクラス分類手法を示すインデックス、ブロック単位のオフセット情報をヘッダ情報として可変長符号化部15に出力する。
なお、画素適応オフセット処理において、例えば最大符号化ブロックといった固定サイズのブロック単位に常に分割して、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行ってもよい。この場合、上記ブロック分割情報が不要となり、ブロック分割情報に要する符号量分だけ符号量が削減され、符号化効率を高めることができる。
Therefore, the pixel adaptive offset processing outputs the block division information, the index indicating the class classification method for each block, and the offset information for each block to the variable length encoding unit 15 as header information.
In the pixel adaptive offset processing, the adaptive offset processing may be performed for each class by always dividing the block into fixed-size blocks such as a maximum coding block and selecting a class classification method for each block. In this case, the block division information becomes unnecessary, the code amount is reduced by the amount of code required for the block division information, and the coding efficiency can be improved.

また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部15に出力する。
ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め画像符号化装置及び画像復号装置で共通の値に設定してもよいし、符号化すべきパラメータの一つとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
Also, in adaptive filter processing, local decoded images are classified by a predetermined method, and a filter that compensates for the superimposed distortion is designed for each region (local decoded image) belonging to each class. Then, the local decoded image is filtered.
Then, the filter designed for each class is output to the variable length encoding unit 15 as header information.
Here, as a class classification method, there are a simple method for spatially dividing an image at equal intervals, and a method for classifying an image according to local characteristics (dispersion, etc.) of the image in units of blocks. Further, the number of classes used in the adaptive filter process may be set in advance to a common value in the image encoding device and the image decoding device, or may be one of the parameters to be encoded.
Compared to the former, the latter can set the number of classes to be used freely, so the image quality improvement effect will be improved, but on the other hand, the amount of code will be increased to encode the number of classes. To do.

図14のステップST3〜ST10の処理は、階層的に分割された全ての符号化対象ブロックBに対する処理が完了するまで繰り返し実施され、全ての符号化対象ブロックBに対する処理が完了すると、ステップST14の処理に移行する(図14のステップST12,ST13)。 The processes in steps ST3 to ST10 in FIG. 14 are repeatedly performed until the processes for all the encoding target blocks Bn divided hierarchically are completed. When the processes for all the encoding target blocks Bn are completed, The process proceeds to ST14 (steps ST12 and ST13 in FIG. 14).

可変長符号化部15は、変換・量子化部9から出力された圧縮データと、符号化制御部1から出力された最大符号化ブロック内のブロック分割情報(図19(b)を例とする4分木情報)、符号化モードm(B)及び予測差分符号化パラメータと、ループフィルタパラメータと、符号化制御部1から出力されたイントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、ブロックシフトベクトルを含む画面内コピー予測パラメータ(符号化モードが画面内コピー符号化モードである場合)又はインター予測パラメータ(符号化モードがインター符号化モードである場合)と、動き補償予測部7から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化し、それらの符号化結果を示す符号化データを生成する(図14のステップST14)。 The variable length encoding unit 15 uses the compressed data output from the transform / quantization unit 9 and the block division information (FIG. 19B) in the maximum encoded block output from the encoding control unit 1 as an example. (Quadrant tree information), encoding mode m (B n ), prediction differential encoding parameter, loop filter parameter, and intra prediction parameter output from the encoding control unit 1 (the encoding mode is an intra encoding mode). ), An intra-screen copy prediction parameter including a block shift vector (when the encoding mode is the intra-screen copy encoding mode) or an inter prediction parameter (when the encoding mode is the inter-encoding mode), and motion compensated prediction The motion vector output from the unit 7 (when the encoding mode is the inter encoding mode) is variable-length encoded, and the encoding result Generating encoded data indicating (step ST14 in FIG. 14).

その際、量子化された直交変換係数である圧縮データの符号化手法として、変換ブロックをさらにCoefficient Group(CG)と呼ばれる4×4画素単位のブロック(符号化サブブロック)に分割して、CG単位に係数の符号化処理を実施する。
図21は16×16画素の変換ブロックにおける係数の符号化順(スキャン順)を示している。このように、4×4画素単位の16個のCGを右下のCGから順に符号化処理し、さらに、各CGはCG内の16個の係数を右下の係数から順に符号化する。
At this time, as a method of encoding compressed data that is a quantized orthogonal transform coefficient, the transform block is further divided into blocks of 4 × 4 pixel units (encoding sub-blocks) called Coefficient Group (CG), and CG Coding of coefficients is performed for each unit.
FIG. 21 shows the coding order (scan order) of coefficients in a 16 × 16 pixel transform block. In this way, 16 CGs in units of 4 × 4 pixels are encoded in order from the lower right CG, and each CG encodes 16 coefficients in the CG in order from the lower right coefficient.

具体的には、まず、CG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を符号化し、次に、CG内に有意(非零)係数が存在する場合のみ、CG内の各係数が有意(非零)係数であるかを上記順に符号化し、最後に有意(非零)係数に対して、その係数値情報を順に符号化する。これをCG単位に上記順に行う。その際、有意(非零)係数がなるべく連続で発生するように偏るスキャン順とした方がエントロピー符号化による符号化効率を高めることができる。
直交変換後の係数は、左上に位置する直流成分をはじめとして、左上に近い程、低い周波数成分の低い係数を表すことから、図22に示す例のように、一般的に左上に近いほど有意(非零)係数が多く発生するために、図21に示すように、右下から順に符号化することで効率的に符号化することができる。
Specifically, first, flag information indicating whether or not a significant (non-zero) coefficient exists in 16 coefficients in the CG is encoded, and then a significant (non-zero) coefficient exists in the CG. Only in this case, whether each coefficient in the CG is a significant (non-zero) coefficient is encoded in the above order, and finally, the coefficient value information is encoded in order for the significant (non-zero) coefficient. This is performed in the above order in units of CG. In this case, the encoding efficiency by entropy encoding can be increased by using a biased scan order so that significant (non-zero) coefficients are generated as continuously as possible.
Since the coefficient after the orthogonal transformation represents the lower coefficient of the low frequency component as it is closer to the upper left, including the DC component located at the upper left, generally, the closer to the upper left, the more significant as shown in the example shown in FIG. Since many (non-zero) coefficients are generated, as shown in FIG. 21, encoding can be performed efficiently by encoding sequentially from the lower right.

なお、上記では16×16画素の変換ブロックについて説明したが、8×8画素や32×32画素の変換ブロック等、16×16画素以外のブロックサイズにおいてもCG(符号化サブブロック)単位の符号化処理を実施するものとする。また、イントラ予測が選択されている4×4画素と8×8画素の変換ブロックについては、イントラ予測モードのインデックスに応じて、図21のスキャン順ではなく図23に示すスキャン順で処理を行う。これはイントラ予測の方向によって残差信号の周波数成分の分布が異なる傾向があるためである。   In the above description, a 16 × 16 pixel conversion block has been described. However, in a block size other than 16 × 16 pixels, such as an 8 × 8 pixel conversion block or a 32 × 32 pixel conversion block, a code in CG (encoding sub-block) unit is used. It shall be implemented. For the 4 × 4 pixel and 8 × 8 pixel conversion blocks for which intra prediction is selected, processing is performed in the scan order shown in FIG. 23 instead of the scan order in FIG. 21 according to the index of the intra prediction mode. . This is because the frequency component distribution of the residual signal tends to differ depending on the direction of intra prediction.

ここで、可変長符号化部15が画面内コピー予測パラメータ及び動きベクトルを可変長符号化する方法について述べる。
既に画面内コピー予測部6の動作説明で述べたように、画面内コピー予測パラメータとしては参照ブロックの位置を指し示すブロックシフトベクトルが挙げられる。つまり、符号化モードが画面内コピー符号化モードである場合も、インター符号化モードである場合も、符号化されるのはベクトルということになる。いずれの場合も直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルとの差分値を符号化することにより、ベクトルの符号化に要する符号量を削減することができる。
Here, a method in which the variable length coding unit 15 performs variable length coding of the intra-screen copy prediction parameter and the motion vector will be described.
As already described in the explanation of the operation of the intra-screen copy prediction unit 6, the intra-screen copy prediction parameter includes a block shift vector indicating the position of the reference block. That is, whether the encoding mode is the intra-screen copy encoding mode or the inter encoding mode, what is encoded is a vector. In either case, the amount of code required to encode the vector is reduced by encoding the difference value between the previous encoded block vector or the encoded block vector around the target block. be able to.

従来、画面内コピー予測処理におけるブロックシフトベクトルと、インター予測処理における動きベクトルは、簡単のために同じ方法で符号化されている。
図24はベクトルの差分値を符号化する代表的方式である次数が1の指数ゴロム符号の符号語を示す説明図である。
図24から明らかなように、小さな差分値となるベクトルに対しては短い符号語を割り当て、差分値が大きくなるにつれて符号語が長くなるようにしている。なお、符号化はベクトルの垂直成分と水平成分のそれぞれに対して行う。また、絶対値を符号化し、差分の正負を表す符号については別途符号化している。
Conventionally, the block shift vector in the intra-screen copy prediction process and the motion vector in the inter prediction process are encoded by the same method for simplicity.
FIG. 24 is an explanatory diagram showing a code word of an exponential Golomb code of degree 1 which is a typical method for encoding a vector difference value.
As is clear from FIG. 24, a short code word is assigned to a vector having a small difference value, and the code word becomes longer as the difference value increases. Note that encoding is performed for each of the vertical component and the horizontal component of the vector. Also, the absolute value is encoded, and the code representing the positive / negative of the difference is encoded separately.

このような符号化方式を用いているのは、ベクトルの差分値がゼロ付近に集中するためである。
図25はカメラで撮影された動画像を符号化した際のインター予測処理における動きベクトルの差分値の分布を示す説明図である。
図25の場合、動きベクトル差分の頻度はゼロ付近がきわめて高く、発生確率が高いことが分かる。したがって、発生確率の高い値に対して短い符号語を割り当てる図24のような符号化方式を用いれば、高い符号化効率を実現することができる。
The reason why such an encoding method is used is that vector difference values are concentrated near zero.
FIG. 25 is an explanatory diagram showing a distribution of motion vector difference values in inter prediction processing when a moving image shot by a camera is encoded.
In the case of FIG. 25, it can be seen that the frequency of the motion vector difference is extremely high near zero, and the occurrence probability is high. Therefore, high encoding efficiency can be realized by using an encoding method as shown in FIG. 24 in which short code words are assigned to values having a high probability of occurrence.

一方、画面内コピー符号化がよく用いられるスクリーンコンテンツの符号化において、ブロックシフトベクトルの差分値の分布を求めると、図26のようになる。
図26より、スクリーンコンテンツの符号化におけるブロックシフトベクトルの差分値は、カメラで撮影された動画像(スクリーンコンテンツでない画像)の動きベクトルの差分値(図25)と比べて、ゼロ付近への集中度が低いことが分かる。
このような場合、ゼロ付近の符号語が極めて短く、ゼロから離れるにつれて急速に符号語が長くなる図24に示すような符号化方式を利用すると、高い符号化効率を実現することができなくなる。
つまり、従来のように動きベクトルとブロックシフトベクトルの符号化に同じ方式を用いたのでは、十分な符号化効率が得られない。
On the other hand, when the distribution of the difference value of the block shift vector is obtained in the coding of the screen content in which the intra-screen copy coding is often used, it is as shown in FIG.
From FIG. 26, the difference value of the block shift vector in the encoding of the screen content is concentrated near zero as compared with the difference value (FIG. 25) of the motion vector of the moving image (image which is not the screen content) captured by the camera. It can be seen that the degree is low.
In such a case, if a coding method as shown in FIG. 24 is used in which the code word near zero is extremely short and the code word becomes rapidly longer as it moves away from zero, high coding efficiency cannot be realized.
That is, if the same method is used for encoding the motion vector and the block shift vector as in the prior art, sufficient encoding efficiency cannot be obtained.

そこで、この実施の形態1では、インター予測処理における動きベクトルと画面内コピー予測処理におけるブロックシフトベクトルに異なる符号化方式を適用している。
図26に示すようなゼロ付近の発生確率がそれほど高くない信号に対しては、例えば、指数ゴロム符号の次数を上げることが有効である。
図27は次数が4の指数ゴロム符号の符号語を示す説明図である。
次数が1の指数ゴロム符号を示す図24と、次数が4の指数ゴロム符号の符号語を示す図27を比較すると、次数が4の指数ゴロム符号の方が、ゼロ付近の値に対する符号長が大きくなるが、ゼロから離れるにつれて次数が1の指数ゴロム符号ほど、急激に符号長が大きくならないことがわかる。
Therefore, in the first embodiment, different encoding methods are applied to the motion vector in the inter prediction process and the block shift vector in the intra-screen copy prediction process.
For a signal with a low probability of occurrence near zero as shown in FIG. 26, for example, it is effective to increase the order of the exponent Golomb code.
FIG. 27 is an explanatory diagram showing a code word of an exponent Golomb code of degree 4.
Comparing FIG. 24 showing the exponent Golomb code of degree 1 and FIG. 27 showing the codeword of the exponent Golomb code of order 4, the exponent Golomb code of order 4 has a code length for a value near zero. It can be seen that the code length does not increase as rapidly as the exponent Golomb code of degree 1 as it goes away from zero.

なお、図26から分かるように、スクリーンコンテンツの符号化におけるブロックシフトベクトルの差分値は、ゼロ付近の発生確率が小さいものの、依然としてゼロが発生する確率は非常に高い。指数ゴロム符号の次数を上げると、図27に示すように、ゼロに対する符号長も大きくなってしまうため、例えば、最初にゼロか否かを表す1ビットのフラグだけを符号化しておき、ゼロ以外の場合だけ、指数ゴロム符号を用いて符号化することで更に符号化効率を改善することができる。   As can be seen from FIG. 26, the difference value of the block shift vector in the encoding of the screen content has a low probability of occurrence of zero, although the probability of occurrence near zero is small. If the degree of the exponent Golomb code is increased, as shown in FIG. 27, the code length with respect to zero also increases. For example, only a 1-bit flag indicating whether or not it is zero is encoded first and other than zero. Only in this case, encoding efficiency can be further improved by encoding using an exponential Golomb code.

ここで、図28はこの発明の実施の形態1による画像符号化装置の可変長符号化部15の内部構成のうち、ベクトルの符号化に関する部分を示す構成図である。また、図29はベクトルの符号化に関する部分の処理内容を示すフローチャートである。
可変長符号化部15の選択スイッチ52は、符号化制御部1からインター予測パラメータあるいは画面内コピー予測パラメータとしてベクトル差分50を受けると、符号化制御部1から出力された符号化方式選択情報51(符号化モードを示すパラメータ)にしたがって、そのベクトル差分50をベクトル符号化部53(第1の符号化方式で符号化を行う符号化部)又はベクトル符号化部54(第2の符号化方式で符号化を行う符号化部)に出力する。
即ち、可変長符号化部15の選択スイッチ52は、符号化方式選択情報51が、符号化モードがインター符号化モードである旨を示していれば(図29のステップST100)、そのベクトル差分50をベクトル符号化部53に出力し、符号化モードが画面内コピー予測モードを示していれば(図29のステップST100)、そのベクトル差分50をベクトル符号化部54に出力する。
Here, FIG. 28 is a block diagram showing a part related to vector encoding in the internal configuration of the variable length encoding unit 15 of the image encoding apparatus according to Embodiment 1 of the present invention. FIG. 29 is a flowchart showing the processing contents of the part related to vector encoding.
When the selection switch 52 of the variable length encoding unit 15 receives the vector difference 50 as the inter prediction parameter or the intra-screen copy prediction parameter from the encoding control unit 1, the encoding method selection information 51 output from the encoding control unit 1. According to the (parameter indicating the encoding mode), the vector difference 50 is encoded by the vector encoding unit 53 (encoding unit that performs encoding using the first encoding method) or the vector encoding unit 54 (second encoding method). To an encoding unit that performs encoding).
That is, the selection switch 52 of the variable length encoding unit 15 determines that the encoding mode selection information 51 indicates that the encoding mode is the inter encoding mode (step ST100 in FIG. 29), the vector difference 50 thereof. Is output to the vector encoding unit 53. If the encoding mode indicates the intra-screen copy prediction mode (step ST100 in FIG. 29), the vector difference 50 is output to the vector encoding unit 54.

ベクトル符号化部53は、選択スイッチ52からベクトル差分50を受けると、次数が1の指数ゴロム符号化によってベクトル差分50を符号化する(ステップST101)。
ベクトル符号化部54は、選択スイッチ52からベクトル差分50を受けると、次数が4の指数ゴロム符号化によってベクトル差分50を符号化する(ステップST102)。
選択スイッチ55は、符号化方式選択情報51が、符号化モードがインター符号化モードである旨を示していれば、ベクトル符号化部53により符号化されたベクトル差分50の符号化データであるビット列56を符号化ビットストリームに加える。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル符号化部54により符号化されたベクトル差分50の符号化データであるビット列56を符号化ビットストリームに加える。
Upon receiving the vector difference 50 from the selection switch 52, the vector encoding unit 53 encodes the vector difference 50 by exponential Golomb encoding of degree 1 (step ST101).
Upon receiving the vector difference 50 from the selection switch 52, the vector encoding unit 54 encodes the vector difference 50 by exponential Golomb encoding of degree 4 (step ST102).
The selection switch 55 is a bit string that is encoded data of the vector difference 50 encoded by the vector encoding unit 53 if the encoding method selection information 51 indicates that the encoding mode is the inter encoding mode. 56 is added to the encoded bitstream.
On the other hand, if the encoding mode indicates the intra-screen copy prediction mode, a bit string 56 that is encoded data of the vector difference 50 encoded by the vector encoding unit 54 is added to the encoded bitstream.

ここでは、符号化方式選択情報51が、符号化モードを示す情報であるものを示しているが、符号化モードを示す情報の他に、例えば、符号化対象ブロックがスクリーンコンテンツであるか否かを示す情報などを含んでいるものであってもよい。
符号化対象ブロックがスクリーンコンテンツであるか否かを示す情報を含んでいる場合、符号化モードが画面内コピー予測モードであり、かつ、符号化対象ブロックがスクリーンコンテンツである場合に限り、ベクトル符号化部54が、次数が4の指数ゴロム符号化によってベクトル差分50を符号化し、それ以外の場合には、ベクトル符号化部53が、次数が1の指数ゴロム符号化によってベクトル差分50を符号化する構成などが考えられる。
図26に示すようなブロックシフトベクトルの差分値の分布は、スクリーンコンテンツに特有のものであるため、符号化対象ブロックがスクリーンコンテンツである場合に限り、次数が4の指数ゴロム符号化を行うことで、どのような動画像が入力されても高い符号化効率を実現することが可能になる。
Here, the encoding method selection information 51 indicates information indicating the encoding mode, but in addition to the information indicating the encoding mode, for example, whether or not the encoding target block is screen content. It may include information indicating.
If the encoding target block includes information indicating whether it is screen content or not, the vector code is used only when the encoding mode is the intra-screen copy prediction mode and the encoding target block is the screen content. The encoding unit 54 encodes the vector difference 50 by exponential Golomb encoding of degree 4; otherwise, the vector encoding unit 53 encodes the vector difference 50 by exponential Golomb encoding of degree 1 The structure etc. to perform are considered.
Since the distribution of the difference value of the block shift vector as shown in FIG. 26 is specific to the screen content, exponent Golomb encoding of degree 4 is performed only when the encoding target block is the screen content. Therefore, it is possible to realize high coding efficiency regardless of what kind of moving image is input.

入力された動画像がスクリーンコンテンツであるか否かの判定は、様々な単位で行うことが考えられる。つまり、入力された動画像が全ピクチャに渡ってスクリーンコンテンツである場合のほか、一部のピクチャのみがスクリーンコンテンツである場合や、ピクチャの一部のみがスクリーンコンテンツである場合などが考えられる。
いずれの場合も、例えば、スクリーンコンテンツである場合には“1”、スクリーンコンテンツでない場合には“0”となるようなフラグを用意し、このフラグを可変長符号化部15で符号化することで、動画像がスクリーンコンテンツであるか否かを図15の画像復号装置が正しく判断できるようにする必要がある。
It can be considered to determine whether or not the input moving image is screen content in various units. That is, in addition to the case where the input moving image is screen content over all the pictures, there are cases where only some of the pictures are screen contents, or where only some of the pictures are screen contents.
In any case, for example, a flag that is “1” if the content is screen content and “0” if the content is not screen content is prepared, and the variable length encoding unit 15 encodes the flag. Therefore, it is necessary for the image decoding apparatus in FIG. 15 to correctly determine whether or not the moving image is screen content.

入力された動画像が全ピクチャに渡ってスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するシーケンスレベルヘッダなどに加えて可変長符号化部15にて符号化を実施する。
また、入力された動画像のうち、一部のピクチャのみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するピクチャレベルヘッダなどに加えて可変長符号化部15にて符号化を実施する。
また、入力された動画像の中で、或るピクチャの一部のみがスクリーンコンテンツであると判断できる場合には、上記のフラグを後述するスライスレベルヘッダに加えて可変長符号化部15にて符号化を実施することが考えられる。なお、スライス単位に限らずに、タイル単位あるいは符号化対象ブロック単位にフラグを用意して、可変長符号化部15にて符号化を実施するようにしてもよい。
If it can be determined that the input moving image is screen content across all the pictures, the variable length encoding unit 15 performs encoding in addition to the above-described flag in addition to a sequence level header described later.
In addition, when it can be determined that only some of the input moving images are screen content, the above-described flag is encoded by the variable length encoding unit 15 in addition to a picture level header described later. To implement.
If it can be determined that only a part of a certain picture is the screen content in the input moving image, the variable length encoding unit 15 adds the above flag to a slice level header described later. It is conceivable to perform the encoding. The variable length coding unit 15 may perform coding by preparing a flag for each tile or for each block to be coded, without being limited to a slice unit.

ただし、図15の画像復号装置において、符号化方式選択情報51を算出することが可能である場合、上記のフラグは符号化する必要がない。
例えば、入力された動画像中のある固定領域が常にスクリーンコンテンツであり、その領域の位置情報を画像符号化装置と画像復号装置の双方で共有できている場合などでは、画像復号装置で符号化方式選択情報51を算出することが可能であると考えられる。
上記のフラグを符号化する必要がなければ、その分だけ符号量を削減することができるため、更に符号化効率を高めることが可能である。
However, in the image decoding apparatus of FIG. 15, when the encoding method selection information 51 can be calculated, the above flag does not need to be encoded.
For example, when a fixed area in the input moving image is always screen content, and the position information of the area can be shared by both the image encoding apparatus and the image decoding apparatus, the image decoding apparatus encodes it. It is considered that the method selection information 51 can be calculated.
If it is not necessary to encode the flag, the amount of code can be reduced by that amount, so that the encoding efficiency can be further increased.

ここでは、可変長符号化部15が、次数が1の指数ゴロム符号あるいは次数が4の指数ゴロム符号を切り替えて用いるものを示したが、当然ながら、さらに異なる次数の指数ゴロム符号や、これと全く異なる他の符号化方式を用いることも考えられる。つまり、任意の2種類の符号化方式を用意して符号化方式を切り替えることが考えられる。また、3種類以上の符号化方式を用意して切り替えるようにしてもよい。   Here, the variable-length encoding unit 15 has been shown to switch between an exponential Golomb code of degree 1 or an exponential Golomb code of order 4, but naturally, an exponential Golomb code of a different order, It is also conceivable to use another completely different encoding method. In other words, it is conceivable to prepare any two types of encoding methods and switch the encoding methods. Further, three or more types of encoding methods may be prepared and switched.

また、可変長符号化部15は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する。ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報など、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
Further, as illustrated in FIG. 13, the variable length encoding unit 15 encodes a sequence level header and a picture level header as header information of the encoded bit stream, and generates an encoded bit stream together with the picture data. However, picture data is composed of one or more slice data, and each slice data is a combination of a slice level header and the encoded data in the slice. The picture data may include header information indicating supplementary information in addition to the slice data.
The sequence level header includes the image size, the color signal format, the bit depth of the signal value of the luminance signal and the color difference signal, and each filter process (adaptive filter process, pixel adaptive offset process, deblocking filter process) in the loop filter unit 13 in sequence units. , Histogram correction processing) effective flag information, quantization matrix effective flag information, and the like, which are header information that is generally common to each sequence unit.

ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ等のピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部13における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理、ヒストグラム補正処理)を行うか否かを示すフラグ情報などといったスライス単位のパラメータをまとめたものである。
The picture level header is a collection of header information set in units of pictures such as an index of a sequence level header to be referenced, the number of reference pictures at the time of motion compensation, an entropy encoding probability table initialization flag, and the like.
The slice level header includes position information indicating where the slice is located in the picture, an index indicating which picture level header is referred to, a slice coding type (all-intra coding, inter coding, etc.), and a loop. This is a collection of parameters in units of slices such as flag information indicating whether or not to perform each filter process (adaptive filter process, pixel adaptive offset process, deblocking filter process, histogram correction process) in the filter unit 13.

各ヘッダ情報とピクチャデータはNALユニットによって識別される。具体的には、シーケンスパラメータセット(上記シーケンスレベルヘッダに相当)、ピクチャパラメータヘッダ(上記ピクチャレベルヘッダに相当)、スライスデータはそれぞれ固有のNALユニットタイプとして定義され、NALユニットタイプの識別情報(インデックス)と共に符号化される。補足情報についても存在する場合には、固有のNALユニットとして定義される。また、上記ピクチャデータはアクセスユニットとして定義され、一つのピクチャの符号化データを含むデータアクセスの単位を示している。   Each header information and picture data is identified by a NAL unit. Specifically, a sequence parameter set (corresponding to the above sequence level header), a picture parameter header (corresponding to the above picture level header), and slice data are each defined as a unique NAL unit type, together with identification information (index) of the NAL unit type Encoded. If supplementary information also exists, it is defined as a unique NAL unit. The picture data is defined as an access unit and indicates a unit of data access including encoded data of one picture.

次に、イントラ予測部5の処理内容を詳細に説明する。
イントラ予測部5は、上述したように、予測ブロックP のイントラ予測パラメータを参照して、その予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成するが、ここでは、輝度信号における予測ブロックP のイントラ予測画像を生成するイントラ処理について説明する。
Next, the processing content of the intra estimation part 5 is demonstrated in detail.
The intra prediction unit 5, as described above, with reference to the intra prediction parameters of the prediction block P i n, to implement intra prediction processing for the prediction block P i n, but to generate an intra prediction image P INTRAi n , will be described here intra process for generating an intra prediction image predicted block P i n in the luminance signal.

図36は符号化対象ブロックB内の各予測ブロックP が選択可能なイントラ予測モードの一例を示す説明図であり、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示している。上記イントラ予測モードのインデックス値がイントラ予測パラメータを示している。なお、イントラ予測モード数は、処理対象となるブロックのサイズに応じて異なるように構成してもよい。大きいサイズのブロックでは、イントラ予測の効率が低下するため、選択できるイントラ予測方向数を少なくし、小さいサイズのブロックでは、選択できるイントラ予測方向数を多くするように構成することで演算量を抑制することができる。 Figure 36 is an explanatory diagram showing an example of the prediction block P i n-selectable intra prediction mode of the encoding target block B n, and the index value of the intra prediction mode, the prediction direction vector indicated by the intra-prediction mode Is shown. The index value of the intra prediction mode indicates the intra prediction parameter. In addition, you may comprise so that the number of intra prediction modes may differ according to the size of the block used as a process target. Intra-prediction efficiency decreases for large-sized blocks, so the number of selectable intra-prediction directions is reduced, and for small-sized blocks, the number of selectable intra-prediction directions is increased to reduce the amount of computation. can do.

まず、イントラ予測画像を生成する処理は、処理対象のブロックに隣接する符号化済みの画素を用いることから、上述した通り、変換ブロック単位に行われなくてはならない。ここで、イントラ予測画像を生成する変換ブロックを予測画像生成ブロックと呼ぶこととする。したがって、イントラ予測部5は、予測画像生成ブロック単位に下記に述べるイントラ予測画像生成処理を実施して、予測ブロックP のイントラ予測画像を生成する。予測画像生成ブロックのサイズをl ×m 画素とする。
図30はl =m =4の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。図30では、予測画像生成ブロックの上の符号化済みの画素(2×l +1)個と、左の符号化済みの画素(2×m )個を予測に用いる画素としているが、予測に用いる画素は、図30に示す画素より多くても少なくてもよい。また、図30では、予測画像生成ブロックの近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
First, since the process which produces | generates an intra estimated image uses the encoded pixel adjacent to the block of a process target, as above-mentioned, it must be performed per conversion block. Here, the transform block that generates the intra predicted image is referred to as a predicted image generation block. Therefore, the intra prediction unit 5 may implement an intra-prediction image generation processing described below to the predicted image generation block generates an intra prediction image predicted block P i n. The size of the predicted image generation block is assumed to be l i n × m i n pixels.
FIG. 30 is an explanatory diagram illustrating an example of pixels used when generating predicted values of pixels in a predicted image generation block in the case of l i n = m i n = 4. In FIG. 30, the encoded pixels (2 × l i n +1) and the left encoded pixels (2 × m i n ) on the predicted image generation block are used as prediction pixels. The number of pixels used for prediction may be more or less than that shown in FIG. In FIG. 30, pixels for one row or one column in the vicinity of the predicted image generation block are used for prediction. However, two or two or more pixels may be used for prediction.

予測画像生成ブロックが属する予測ブロックP に対するイントラ予測モードのインデックス値が0(平面(Planar)予測)の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と、予測画像生成ブロックの左に隣接する符号化済み画素を用いて、これら画素と予測画像生成ブロック内の予測対象画素との距離に応じて内挿した値を予測値として予測画像を生成する。
予測画像生成ブロックが属する予測ブロックP に対するイントラ予測モードのインデックス値が1(平均値(DC)予測)の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と、予測画像生成ブロックの左に隣接する符号化済み画素の平均値を予測画像生成ブロック内の画素の予測値として予測画像を生成する。
If the index value of the intra prediction mode for prediction block P i n that the predicted image generation block belongs is 0 (plane (Planar) prediction) includes a coded pixels adjacent to the top of the predicted image generation block, the predicted image generation Using the encoded pixels adjacent to the left of the block, a predicted image is generated using a value interpolated according to the distance between these pixels and the prediction target pixel in the predicted image generation block as a predicted value.
When the index value of the intra prediction mode for the prediction block P i n to which the prediction image generation block belongs is 1 (average (DC) prediction), encoded pixels adjacent to the prediction image generation block and the prediction image A predicted image is generated using the average value of the encoded pixels adjacent to the left of the generated block as the predicted value of the pixels in the predicted image generating block.

さらに、予測画像生成ブロックの上端及び左端に位置する図31の領域A,B,Cに対して、ブロック境界を平滑化するフィルタ処理を行って最終的な予測画像とする。例えば、下記の式(1)にしたがって、図32のフィルタの参照画素配置で、下記のフィルタ係数を用いてフィルタ処理を実施する。

Figure 2016046641
・領域A(P の左上の画素)
=1/2,a=1/4,a=1/4
・領域B(領域A以外のP の上端の画素)
=3/4,a=1/4,(a=0)
・領域C(領域A以外のP の左端の画素)
=3/4,a=1/4,(a=0) Further, filter processing for smoothing the block boundaries is performed on the regions A, B, and C in FIG. For example, according to the following formula (1), the filter processing is performed using the following filter coefficients with the reference pixel arrangement of the filter of FIG.
Figure 2016046641
· Area A (the upper left pixel of the P i n)
a 0 = 1/2, a 1 = ¼, a 2 = ¼
- region B (the upper end of the pixel of P i n other than the region A)
a 0 = 3/4, a 2 = ¼, (a 1 = 0)
· Area C (the leftmost pixel of the P i n other than the region A)
a 0 = 3/4, a 1 = ¼, (a 2 = 0)

ただし、式(1)において、a(n=0,1,2)は参照画素にかかるフィルタ係数、p(n=0,1,2)はフィルタ処理対象画素pを含むフィルタの参照画素、S’(p)はフィルタ処理対象画素pにおけるフィルタ処理後の予測値、S(p)(n=0,1,2)はフィルタ処理対象画素pを含む参照画素のフィルタ処理前の予測値を表している。 In equation (1), a n (n = 0, 1, 2) is a filter coefficient applied to the reference pixel, and p n (n = 0, 1, 2) is a reference to a filter including the pixel to be filtered p 0 . The pixel, S ′ (p 0 ) is the predicted value after the filtering process in the filtering target pixel p 0 , and S (p n ) (n = 0, 1, 2) is the filter of the reference pixel including the filtering target pixel p 0 It represents the predicted value before processing.

さらに、上記フィルタ処理を行う予測画像生成ブロックのブロックサイズは限定してもよい。一般にブロック端のみフィルタ処理を行って予測値を変化させる場合、大きなブロックサイズのブロックでは、フィルタ処理により予測値が変化する領域の占める割合が小さいために、この予測値の変化によって生じた予測残差信号の変化が非常に高い周波数成分で表されることになり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまう傾向がある。また、符号化効率を優先して、この高周波数成分を符号化しないようにすることで、ブロック端の予測残差信号の変化を復元できずに、ブロック境界に歪みが生じてしまう傾向がある。   Furthermore, the block size of the predicted image generation block that performs the filtering process may be limited. In general, when the prediction value is changed by filtering only at the block edge, since the ratio of the area where the prediction value changes due to the filter processing is small in a block having a large block size, the prediction residual caused by the change in the prediction value is generated. The change of the difference signal is represented by a very high frequency component, and the encoding efficiency tends to be deteriorated in order to encode the high frequency component. Also, by giving priority to encoding efficiency and not encoding this high frequency component, the change in the prediction residual signal at the block end cannot be restored, and the block boundary tends to be distorted. .

一方、小さなブロックサイズのブロックでは、フィルタ処理により予測値が変化する領域の占める割合が大きいために、この予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によって、ブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、32×32画素以上のブロックサイズの予測画像生成ブロックでは、上記フィルタ処理を適用せずに、32×32画素より小さいブロックのみに上記フィルタ処理を適用することで、従来の平均値予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。   On the other hand, in a block having a small block size, since the ratio of the area where the prediction value changes due to the filter processing is large, the change in the prediction residual signal caused by the change in the prediction value is as in the case of the block having a large block size. Therefore, the residual signal can be appropriately encoded, and the quality of the decoded image can be improved by increasing the continuity of the block boundary by this filter processing. Therefore, for example, in a predicted image generation block having a block size of 32 × 32 pixels or more, the above-described filter processing is not applied, and the above-described filter processing is applied only to blocks smaller than 32 × 32 pixels, thereby obtaining a conventional average value. It is possible to suppress an increase in the calculation amount while improving the prediction performance rather than the prediction.

予測画像生成ブロックに属する予測ブロックP に対するイントラ予測モードのインデックス値が26(垂直方向予測)の場合、下記の式(2)から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。

Figure 2016046641
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図33を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。 If the index value of the intra prediction mode for prediction block P i n belonging to the prediction image generation block 26 (vertical prediction), the prediction calculates the prediction value of the pixel of the predicted image generation block according to the following formula (2) Generate an image.
Figure 2016046641
However, the coordinates (x, y) are relative coordinates (see FIG. 33) with the upper left pixel in the predicted image generation block as the origin, and S ′ (x, y) is the predicted value at the coordinates (x, y), S (x, y) is the luminance value (decoded luminance value) of the encoded pixel at the coordinates (x, y). Further, when the calculated predicted value exceeds the range of values that the luminance value can take, the value is rounded so that the predicted value falls within the range.

なお、式(2)の1行目の式は、MPEG−4 AVC/H.264における垂直方向予測の予測値であるS(x,−1)に対し、隣接する符号化済み画素の垂直方向の輝度値の変化量S(−1,y)−S(−1,−1)を1/2にした値を加算することで、ブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(2)の2行目の式は、MPEG−4 AVC/H.264における垂直方向予測と同じ予測式を示している。   Note that the equation in the first line of equation (2) is MPEG-4 AVC / H. The amount of change S (−1, y) −S (−1, −1) in the vertical direction of adjacent encoded pixels with respect to S (x, −1), which is the predicted value of the vertical direction prediction in H.264. ) Is added to the value obtained by halving, and the result of filtering so that the block boundary is smoothed is used as the predicted value. The expression in the second row of Expression (2) is , MPEG-4 AVC / H. The same prediction formula as the vertical direction prediction in H.264 is shown.

予測画像生成ブロックが属する予測ブロックP に対するイントラ予測モードのインデックス値が10(水平方向予測)の場合、下記の式(3)から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。

Figure 2016046641
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図33を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。 If the index value of the intra prediction mode for prediction block P i n that the predicted image generation block belongs 10 (horizontal prediction), the prediction calculates the prediction value of the pixel of the predicted image generation block according to the following formula (3) Generate an image.
Figure 2016046641
However, the coordinates (x, y) are relative coordinates (see FIG. 33) with the upper left pixel in the predicted image generation block as the origin, and S ′ (x, y) is the predicted value at the coordinates (x, y), S (x, y) is the luminance value (decoded luminance value) of the encoded pixel at the coordinates (x, y). Further, when the calculated predicted value exceeds the range of values that the luminance value can take, the value is rounded so that the predicted value falls within the range.

なお、式(3)の1行目の式は、MPEG−4 AVC/H.264における水平方向予測の予測値であるS(−1,y)に対し、隣接する符号化済み画素の水平方向の輝度値の変化量S(x,−1)−S(−1,−1)を1/2にした値を加算することで、ブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(3)の2行目の式は、MPEG−4 AVC/H.264における水平方向予測と同じ予測式を示している。   Note that the expression on the first line of Expression (3) is MPEG-4 AVC / H. The amount of change in luminance value S (x, −1) −S (−1, −1) in the horizontal direction of an adjacent encoded pixel with respect to S (−1, y), which is the predicted value of the horizontal direction prediction in H.264. ) Is added to the value obtained by halving, and the result of filtering so that the block boundary is smoothed is used as the predicted value. The expression in the second row of Expression (3) is , MPEG-4 AVC / H. The same prediction formula as the horizontal prediction in H.264 is shown.

ただし、式(2)の垂直方向予測、式(3)の水平方向予測を行う予測画像生成ブロックのブロックサイズを限定してもよい。一般にブロック端のみ予測方向の輝度値の変化量に比例する値を加算するフィルタ処理を行うことで予測値を変化させる場合、大きなブロックサイズのブロックでは、上述した予測画像生成ブロックのブロック端のフィルタ処理により予測値が変化する領域の占める割合が小さいために、この予測値の変化によって生じた予測残差信号の変化が非常に高い周波数成分で表されることになり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまう傾向がある。また、符号化効率を優先して、この高周波数成分を符号化しないようにすることで、ブロック端の予測残差信号の変化を復元できずにブロック境界に歪みが生じてしまう傾向がある。   However, the block size of the predicted image generation block that performs the vertical direction prediction of Expression (2) and the horizontal direction prediction of Expression (3) may be limited. In general, when the prediction value is changed by performing a filter process that adds a value proportional to the amount of change in the luminance value in the prediction direction only at the block edge, the block edge filter of the prediction image generation block described above is used in a block having a large block size. Since the ratio of the region where the predicted value changes due to processing is small, the change in the prediction residual signal caused by the change in the predicted value is represented by a very high frequency component. Therefore, the encoding efficiency tends to deteriorate. Also, by giving priority to encoding efficiency and not encoding this high frequency component, the change in the prediction residual signal at the block end cannot be restored, and the block boundary tends to be distorted.

一方、小さなブロックサイズのブロックでは、上記フィルタ処理により予測値が変化する領域の占める割合が大きいために、この予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によってブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、32×32画素以上のブロックサイズの予測画像生成ブロックでは、予測対象画素の座標によらず、式(2)及び式(3)の2行目の式を常に用いるようにし(予測画像生成ブロックのブロック端のフィルタ処理を行わないことにする)、32×32画素より小さいブロックのみに、上記フィルタ処理を行う式(2)及び式(3)を適用することで、従来の垂直方向予測、水平方向予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。   On the other hand, in a block with a small block size, since the ratio of the region where the prediction value changes due to the above filtering process is large, the change in the prediction residual signal caused by the change in the prediction value is large when the block size is large. The residual signal can be appropriately encoded without being represented by such high frequency components, and the quality of the decoded image can be improved by the increase in the continuity of the block boundary by this filter processing. Therefore, for example, in a prediction image generation block having a block size of 32 × 32 pixels or more, the expressions in the second row of Expression (2) and Expression (3) are always used regardless of the coordinates of the prediction target pixel (prediction). By applying the equations (2) and (3) for performing the above-described filter processing only to blocks smaller than 32 × 32 pixels, the filter edge of the image generation block is not performed. It is possible to suppress an increase in the calculation amount while improving the prediction performance compared to the direction prediction and the horizontal direction prediction.

イントラ予測モードのインデックス値が0(平面予測)、1(平均値予測)、26(垂直方向予測)、10(水平方向予測)以外の場合には、インデックス値が示す予測方向ベクトルυ=(dx,dy)に基づいて、予測画像生成ブロック内の画素の予測値を生成する。
図33に示すように、予測画像生成ブロックの左上画素を原点として、予測画像生成ブロック内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。

Figure 2016046641
ただし、kは負の実数である。 When the index value in the intra prediction mode is other than 0 (plane prediction), 1 (average value prediction), 26 (vertical direction prediction), and 10 (horizontal direction prediction), the prediction direction vector υ p = ( Based on (dx, dy), a predicted value of a pixel in the predicted image generation block is generated.
As shown in FIG. 33, when the upper left pixel of the predicted image generation block is the origin and the relative coordinates in the predicted image generation block are set to (x, y), the position of the reference pixel used for prediction is adjacent to the following L This is the intersection of pixels.
Figure 2016046641
However, k is a negative real number.

参照画素が整数画素位置にある場合には、その整数画素を予測対象画素の予測値とし、参照画素が整数画素位置にない場合には、参照画素に隣接する整数画素から生成される補間画素を予測値とする。図30の例では、参照画素は整数画素位置にないので、参照画素に隣接する2画素から内挿したものを予測値とする。なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。   When the reference pixel is at the integer pixel position, the integer pixel is set as the prediction value of the prediction target pixel. When the reference pixel is not at the integer pixel position, an interpolation pixel generated from the integer pixel adjacent to the reference pixel is selected. Estimated value. In the example of FIG. 30, since the reference pixel is not located at the integer pixel position, a value interpolated from two pixels adjacent to the reference pixel is set as the predicted value. Note that an interpolation pixel may be generated not only from two adjacent pixels but also from two or more adjacent pixels, and used as a predicted value. While increasing the number of pixels used in the interpolation process has the effect of improving the interpolation accuracy of the interpolated pixels, it increases the complexity of the calculation required for the interpolation process, requiring high coding performance even when the calculation load is large. In the case of an image encoding device, it is better to generate interpolation pixels from a larger number of pixels.

以上に述べた処理によって、予測画像生成ブロック単位に予測ブロックP 内の輝度信号の全ての画素に対する予測画素を生成して、イントラ予測画像PINTRAi を出力する。なお、イントラ予測画像PINTRAi の生成に用いられたイントラ予測パラメータ(イントラ予測モード)は、ビットストリームに多重化するために可変長符号化部15に出力される。 The processing described above, to generate a predicted pixel for all the pixels of the luminance signals of the prediction block P i n in the predicted image generation block, and outputs an intra prediction image P INTRAi n. Incidentally, the intra prediction parameters used for generating the intra prediction image P INTRAi n (intra prediction mode) is output to the variable length coding unit 15 for multiplexing the bitstream.

なお、先に説明したMPEG−4 AVC/H.264における8×8画素のブロックのイントラ予測時に参照画素に対して施される平滑化処理と同様に、イントラ予測部5において、予測画像生成ブロックの予測画像を生成する際の参照画素を、予測画像生成ブロックに隣接する符号化済み画素を平滑化処理した画素とするように構成した場合であっても、上述の例と同様の予測画像に対するフィルタ処理を行うことができる。このようにすることで参照画素へのフィルタ処理による参照画素のノイズが除去され、これを用いて予測を行うことで予測の精度高めることができる。あるいは、上記参照画素へのフィルタ処理は予測画像へのフィルタ処理を行う平均値予測、垂直方向予測、水平方向予測以外の予測の際のみ実施するようにしてもよい。このようにすることで、各予測モードに対して最大で1つのフィルタ処理しか行わずに済み、演算量の増加を抑えることができる。   Note that the MPEG-4 AVC / H. Similarly to the smoothing process performed on the reference pixels at the time of intra prediction of the 8 × 8 pixel block in H.264, the intra prediction unit 5 predicts the reference pixels when generating the predicted image of the predicted image generation block. Even when the encoded pixels adjacent to the image generation block are configured to be the smoothed pixels, it is possible to perform the same filtering process on the predicted image as in the above example. By doing in this way, the noise of the reference pixel by the filter process to a reference pixel is removed, and prediction accuracy can be improved by performing prediction using this. Alternatively, the filtering process on the reference pixel may be performed only in the prediction other than the average value prediction, the vertical direction prediction, and the horizontal direction prediction for performing the filtering process on the predicted image. By doing in this way, it is only necessary to perform at most one filter process for each prediction mode, and an increase in the amount of calculation can be suppressed.

上記では、輝度信号の予測画像生成処理について説明したが、色差成分に対する予測画像は次のように生成する。予測ブロックP の色差信号に対して、色差信号のイントラ予測パラメータ(イントラ予測モード)に基づくイントラ予測処理を実施し、イントラ予測画像の生成に用いられたイントラ予測パラメータを可変長符号化部15に出力する。 In the above description, the predicted image generation process of the luminance signal has been described, but the predicted image for the color difference component is generated as follows. The color difference signal of the prediction block P i n, conduct intra prediction processing based on the intra prediction parameter of the color difference signal (intra prediction mode), the variable length coding unit intra prediction parameter used to generate the intra-prediction image 15 is output.

図34は色差信号のイントラ予測パラメータ(インデックス値)と色差イントラ予測モードの対応例を示す説明図である。
色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
FIG. 34 is an explanatory diagram showing an example of correspondence between intra prediction parameters (index values) of color difference signals and color difference intra prediction modes.
When the intra prediction parameter of the chrominance signal indicates that the same prediction mode as the intra prediction mode for the luminance signal is used (when the intra prediction parameter indicates the luminance / chrominance common intra prediction mode (DM mode)), the luminance signal The same intra-frame prediction is performed to generate a prediction image of the color difference signal.
Further, when the intra prediction parameter of the color difference signal indicates the vertical direction prediction mode or the horizontal direction prediction mode, the directionality prediction for the color difference signal is performed to generate a prediction image of the color difference signal. Further, when the intra prediction parameter of the color difference signal indicates the luminance correlation use color difference signal prediction mode (LM mode), the luminance signal and color difference of a plurality of pixels adjacent above and to the left of the prediction image generation target block. A correlation parameter indicating the correlation between the luminance signal and the color difference signal is calculated using the signal, and a predicted image of the color difference signal is generated using the correlation parameter and the luminance signal corresponding to the block of the color difference signal to be predicted.

入力信号フォーマットがYUV4:2:2信号である場合、図7に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が1/2となる長方形のブロックとなる。したがって、図8に示すように、YUV4:4:4信号をYUV4:2:2信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、YUV4:2:2信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。   When the input signal format is a YUV 4: 2: 2 signal and the luminance signal is a square block as shown in FIG. 7, the color difference signal has half the number of pixels in the horizontal direction compared to the luminance signal. It becomes a rectangular block. Therefore, as shown in FIG. 8, when the YUV4: 4: 4 signal is converted into a YUV4: 2: 2 signal, in order to predict the luminance signal and the color difference signal in the same direction, YUV4: 2 : On two signals, in the case of directional prediction other than vertical prediction and horizontal prediction, the prediction direction of the color difference signal is different from the prediction direction of the luminance signal.

具体的には、図9に示すように、輝度信号の予測方向ベクトルをv=(dx,dy)とした場合、色差信号の予測方向ベクトルは、v=(dx/2,dy)となる。即ち、図10に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθ、色差信号の予測方向の角度をθとして、tanθ=2tanθの関係となる予測方向で予測する必要がある。
したがって、輝度信号と色差信号で同一方向の予測を行う上記DMモードを正しく実施できるようにするために、入力信号フォーマットがYUV4:2:2信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。
Specifically, as shown in FIG. 9, when the prediction direction vector of the luminance signal is v L = (dx L , dy L ), the prediction direction vector of the color difference signal is v C = (dx L / 2, dy L ). That is, as shown in FIG. 10, when the angle of the prediction direction is θ, the angle of the prediction direction of the luminance signal is θ L , the angle of the prediction direction of the color difference signal is θ C , and tan θ C = 2tan θ L It is necessary to predict in the prediction direction.
Therefore, when the input signal format is a YUV 4: 2: 2 signal in order to correctly implement the DM mode in which the prediction in the same direction is performed with the luminance signal and the color difference signal, the intra prediction mode used for the luminance signal is used. The index is converted into an index of an intra prediction mode used for prediction of the color difference signal, and the prediction process of the color difference signal in the intra prediction mode corresponding to the converted index is performed.

図35は図36のイントラ予測モードにおけるイントラ予測モードインデックスの変換例を示している。図35の変換テーブルは、予測方向の角度がθであるとき(図10を参照)、イントラ予測モードの方向性予測が図37に示すtanθとなる角度である場合、tanθ=2tanθの関係に最も近い角度θに変換するテーブルの例である。
変換処理の実現は、上記のように、インデックスの変換テーブルを用意し、その変換テーブルを参照することでインデックスを変換するように構成してもよいし、変換式を用意し、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみでYUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。
FIG. 35 shows an example of conversion of the intra prediction mode index in the intra prediction mode of FIG. In the conversion table of FIG. 35, when the angle of the prediction direction is θ (see FIG. 10), the relationship of tan θ C = 2 tan θ L when the direction prediction of the intra prediction mode is tan θ shown in FIG. It is an example of the table converted into the angle θ C closest to.
As described above, the conversion process may be realized by preparing an index conversion table and converting the index by referring to the conversion table, or by preparing a conversion formula and according to the conversion formula. You may comprise so that an index may be converted. With this configuration, it is possible to perform appropriate prediction of the color difference signal according to the format of the YUV 4: 2: 2 signal only by converting the index without changing the directionality prediction process itself.

また、色差信号に対して上記LMモードを行わないように構成してもよい。このときの色差信号のイントラ予測パラメータ(インデックス値)と色差イントラ予測モードの対応例として、図38が挙げられる。このようにLMモードも用いないようにすることで、予測対象画素の輝度信号と色差信号の依存性がなくなるため、輝度信号と色差信号の予測処理の並列化が可能となり、高速な演算処理を実現することができる。
さらに、色差信号では、平均値(DC)予測、垂直方向予測、水平方向予測について、輝度信号の場合で説明したブロック境界のフィルタ処理を行わずに、MPEG−4 AVC/H.264と同様の予測手法としてもよい。このようにフィルタ処理を行わないことで、予測処理の低演算化を図ることができる。
Further, the LM mode may not be performed on the color difference signal. FIG. 38 shows an example of correspondence between the intra prediction parameter (index value) of the color difference signal and the color difference intra prediction mode at this time. By not using the LM mode in this way, the dependency of the luminance signal and the color difference signal of the pixel to be predicted is eliminated, so that the prediction processing of the luminance signal and the color difference signal can be parallelized, and high-speed calculation processing is performed. Can be realized.
Further, in the color difference signal, the average value (DC) prediction, the vertical direction prediction, and the horizontal direction prediction are performed without performing the block boundary filtering process described in the case of the luminance signal, and the MPEG-4 AVC / H. It is good also as the prediction method similar to H.264. By not performing the filtering process in this way, it is possible to reduce the prediction process.

次に、図15の画像復号装置の処理内容を具体的に説明する。
可変長復号部31は、図1の画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図17のステップST21)、1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)などの各ヘッダ情報とピクチャデータを復号する。ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある符号化データがまとめられているものである。ピクチャデータはスライスデータの他に補足情報を示すヘッダ情報を含む場合もある。
Next, the processing content of the image decoding apparatus in FIG. 15 will be specifically described.
When the encoded bit stream generated by the image encoding apparatus in FIG. 1 is input, the variable length decoding unit 31 performs a variable length decoding process on the bit stream (step ST21 in FIG. 17), and the variable length decoding unit 31 performs one or more frames. Each header information and picture data such as header information (sequence level header) in units of a sequence composed of pictures and header information (picture level header) in units of pictures are decoded. However, picture data is composed of one or more slice data, and each slice data is a collection of a slice level header and encoded data in the slice. The picture data may include header information indicating supplementary information in addition to the slice data.

このとき、上記ヘッダ情報に含まれる量子化マトリクスの有効フラグ情報が“有効”を示す場合、可変長復号部31は量子化マトリクスパラメータを可変長復号し、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として、画像符号化装置及び画像復号装置で、予め共通に用意されている量子化マトリクス、又は、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、量子化マトリクスパラメータに含まれる上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。そして、ピクチャ単位のデータを構成するスライスデータから、スライス分割情報等のスライス単位のヘッダ情報(スライスレベルヘッダ)を復号し、各スライスの符号化データを復号する。   At this time, when the valid flag information of the quantization matrix included in the header information indicates “valid”, the variable length decoding unit 31 performs variable length decoding of the quantization matrix parameter to identify the quantization matrix. Specifically, for each color signal or encoding mode of each orthogonal transform size, the quantization matrix parameter is set as an initial value, and a quantization matrix prepared in advance by the image encoding device and the image decoding device, or When indicating that the quantization matrix is already decoded (not a new quantization matrix), refer to the index information for specifying which quantization matrix among the matrices included in the quantization matrix parameter. When the quantization matrix is specified, and the quantization matrix parameter indicates that a new quantization matrix is to be used, it is specified as a quantization matrix that uses the quantization matrix included in the quantization matrix parameter. Then, slice unit header information (slice level header) such as slice division information is decoded from slice data constituting picture unit data, and encoded data of each slice is decoded.

また、可変長復号部31は、上記ヘッダ情報から、最大符号化ブロックサイズ及び分割階層数の上限を特定する(図17のステップST22)。ただし、分割階層数の上限の代わりに、符号化対象ブロックの最小ブロックサイズが符号化されている場合、これを復号することで分割階層数の上限を決定する。即ち、最大符号化ブロックを上記最小ブロックサイズまで分割した場合が分割階層数の上限となる。
可変長復号部31は、決定された最大符号化ブロック単位に、図19で示されるような最大符号化ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に符号化対象ブロックを特定する(図17のステップST23)。
In addition, the variable length decoding unit 31 identifies the maximum encoding block size and the upper limit of the number of division layers from the header information (step ST22 in FIG. 17). However, when the minimum block size of the encoding target block is encoded instead of the upper limit of the number of division layers, the upper limit of the number of division layers is determined by decoding this. That is, the upper limit of the number of division layers is obtained when the maximum encoded block is divided to the minimum block size.
The variable length decoding unit 31 decodes the division state of the maximum encoded block as shown in FIG. 19 for each determined maximum encoded block. Based on the decoded division state, coding target blocks are identified hierarchically (step ST23 in FIG. 17).

次に、可変長復号部31は、符号化対象ブロックに割り当てられている符号化モードを復号する。復号した符号化モードに含まれる情報に基づき、符号化対象ブロックをさらに1つないし複数の予測処理単位である予測ブロックに分割し、予測ブロック単位に割り当てられている予測パラメータを復号する(図17のステップST24)。
即ち、可変長復号部31は、符号化対象ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にイントラ予測パラメータを復号し、符号化対象ブロックに割り当てられている符号化モードが画面内コピー符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎に画面内コピー予測パラメータを復号する。また、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードである場合、符号化対象ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(図17のステップST24)。
Next, the variable length decoding unit 31 decodes the encoding mode assigned to the encoding target block. Based on the information included in the decoded encoding mode, the encoding target block is further divided into one or more prediction processing units, which are prediction processing units, and the prediction parameters assigned to the prediction block units are decoded (FIG. 17). Step ST24).
That is, when the encoding mode assigned to the encoding target block is the intra encoding mode, the variable length decoding unit 31 includes one or more predictions included in the encoding target block and serving as a prediction processing unit. When the intra prediction parameter is decoded for each block and the encoding mode assigned to the encoding target block is the intra-screen copy encoding mode, one of the prediction processing units is included in the encoding target block. The intra-screen copy prediction parameter is decoded for each prediction block. Further, when the encoding mode assigned to the encoding target block is the inter encoding mode, the inter prediction parameter and the prediction parameter included in the encoding target block for each of one or more prediction blocks serving as a prediction processing unit. The motion vector is decoded (step ST24 in FIG. 17).

ここで、画面内コピー予測パラメータは、予測のための参照ブロックの位置を示すブロックシフトベクトル(あるいは、その予測差分)であり、従来はインター予測処理における動きベクトル(あるいは、その予測差分)と同様の方式で復号される。しかし、図1の画像符号化装置の構成及び動作の説明で述べたように、この実施の形態1では、これらのベクトルを異なる符号化方式で可変長符号化しているため、可変長復号の際もそれぞれ異なる方式を用いる必要がある。   Here, the intra-screen copy prediction parameter is a block shift vector (or a prediction difference thereof) indicating the position of a reference block for prediction, and is conventionally the same as a motion vector (or a prediction difference thereof) in inter prediction processing. It is decoded by the method of However, as described in the description of the configuration and operation of the image encoding apparatus in FIG. 1, in the first embodiment, these vectors are variable-length encoded using different encoding schemes. Need to use different methods.

図39はこの発明の実施の形態1による画像復号装置の可変長復号部31の内部構成のうち、ベクトルの復号に関する部分を示す構成図である。また、図40はベクトルの復号に関する部分の処理内容を示すフローチャートである。
以下、図15の画像復号装置において、ベクトルの予測差分が符号化されている場合について説明する。
FIG. 39 is a block diagram showing a part related to vector decoding in the internal configuration of the variable length decoding unit 31 of the image decoding apparatus according to Embodiment 1 of the present invention. FIG. 40 is a flowchart showing the processing contents of the part related to vector decoding.
Hereinafter, the case where the vector prediction difference is encoded in the image decoding apparatus of FIG. 15 will be described.

可変長復号部31は、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードあるいは画面内コピー符号化モードである場合、符号化ビットストリーム60を受け取ると、図1の画像符号化装置の可変長符号化部15が参照する符号化方式選択情報51と同じ復号方式選択情報61(符号化モードを示すパラメータ)を求める。この復号方式選択情報61は、先に復号している符号化モードを参照することで求めることができる。
可変長復号部31の選択スイッチ62は、符号化対象ブロックに割り当てられている符号化モードがインター符号化モードあるいは画面内コピー符号化モードである場合、符号化ビットストリーム60を受け取ると、復号方式選択情報61にしたがって、その符号化ビットストリーム60をベクトル復号部63(第1の復号方式で復号を行う復号部)又はベクトル復号部64(第2の復号方式で復号を行う復号部)に出力する。
When the encoding mode assigned to the block to be encoded is the inter encoding mode or the intra-screen copy encoding mode, the variable length decoding unit 31 receives the encoded bit stream 60 and performs the image encoding shown in FIG. The same decoding method selection information 61 (a parameter indicating the encoding mode) as the encoding method selection information 51 referred to by the variable length encoding unit 15 of the apparatus is obtained. The decoding method selection information 61 can be obtained by referring to the previously decoded encoding mode.
When the selection mode 62 of the variable length decoding unit 31 receives the encoded bitstream 60 when the encoding mode assigned to the encoding target block is the inter encoding mode or the intra-screen copy encoding mode, the decoding method According to the selection information 61, the encoded bit stream 60 is output to the vector decoding unit 63 (decoding unit that performs decoding using the first decoding method) or the vector decoding unit 64 (decoding unit that performs decoding using the second decoding method). To do.

即ち、選択スイッチ62は、復号方式選択情報61が、符号化モードがインター符号化モードである旨を示していれば(図40のステップST200)、その符号化ビットストリーム60をベクトル復号部63に出力し、符号化モードが画面内コピー予測モードを示していれば(図40のステップST200)、その符号化ビットストリーム60をベクトル復号部64に出力する。   That is, if the decoding method selection information 61 indicates that the encoding mode is the inter encoding mode (step ST200 in FIG. 40), the selection switch 62 sends the encoded bit stream 60 to the vector decoding unit 63. If the encoding mode indicates the intra-screen copy prediction mode (step ST200 in FIG. 40), the encoded bit stream 60 is output to the vector decoding unit 64.

ベクトル復号部63は、選択スイッチ62から符号化ビットストリーム60を受けると、次数が1の指数ゴロム復号によって符号化ビットストリーム60からベクトル差分(この場合のベクトル差分は、動きベクトルの差分である)を復号し、そのベクトル差分に対して、既に復号している他のブロックの動きベクトル(画像符号化装置において、当該予測ブロックの動きベクトルと差分が取られているブロックの動きベクトル)を加算することで、当該予測ブロックの動きベクトルを算出する(ステップST201)。
ここでは、図1の画像符号化装置の可変長符号化部15が、符号化対象ブロックの動きベクトルと、例えば、直前の符号化済み予測ブロックの動きベクトルとの差分値を符号化しているものとしているので、復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックの動きベクトルを可算して、符号化対象ブロックの動きベクトルを算出する。
Upon receiving the encoded bit stream 60 from the selection switch 62, the vector decoding unit 63 performs vector difference from the encoded bit stream 60 by exponential Golomb decoding of degree 1 (the vector difference in this case is a difference of motion vectors). , And the motion vector of another block that has already been decoded (the motion vector of the prediction block that is different from the motion vector of the prediction block in the image encoding device) is added to the vector difference. Thus, the motion vector of the prediction block is calculated (step ST201).
Here, the variable length encoding unit 15 of the image encoding device in FIG. 1 encodes the difference value between the motion vector of the encoding target block and, for example, the motion vector of the immediately previous encoded prediction block. Therefore, the motion vector of the decoded prediction block corresponding to the encoded prediction block is added to the decoded vector difference to calculate the motion vector of the encoding target block.

ベクトル復号部64は、選択スイッチ62から符号化ビットストリーム60を受けると、次数が4の指数ゴロム復号によって符号化ビットストリーム60からベクトル差分(この場合のベクトル差分は、ブロックシフトベクトルの差分である)を復号する(ステップST202)。
ここでは、図1の画像符号化装置の可変長符号化部15が、符号化対象ブロックのブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル(あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトル)との差分値を符号化しているものとしているので、その復号したベクトル差分に対して、上記の符号化済み予測ブロックに対応する復号済み予測ブロックのブロックシフトベクトルを可算して、符号化対象ブロックのブロックシフトベクトルを算出する。
Upon receiving the encoded bit stream 60 from the selection switch 62, the vector decoding unit 64 performs vector difference from the encoded bit stream 60 by exponential Golomb decoding of degree 4 (the vector difference in this case is the difference of the block shift vector) ) Is decoded (step ST202).
Here, the variable length coding unit 15 of the image coding apparatus in FIG. 1 performs the block shift vector of the current block to be coded and the block shift vector of the previous coded prediction block (or the codes around the prediction block). The block shift vector of the decoded prediction block corresponding to the above-described encoded prediction block is obtained with respect to the decoded vector difference. And the block shift vector of the block to be encoded is calculated.

選択スイッチ65は、復号方式選択情報61が、符号化モードがインター符号化モードである旨を示していれば、ベクトル復号部63により算出された動きベクトルを復号ベクトル66として、切換スイッチ33を介して動き補償予測部36に出力する。
一方、符号化モードが画面内コピー予測モードを示していれば、ベクトル復号部64により算出されたブロックシフトベクトルを復号ベクトル66として、切換スイッチ33を介して画面内コピー予測部35に出力する。
If the decoding method selection information 61 indicates that the encoding mode is the inter encoding mode, the selection switch 65 uses the motion vector calculated by the vector decoding unit 63 as the decoding vector 66 via the changeover switch 33. To the motion compensation prediction unit 36.
On the other hand, if the encoding mode indicates the intra-screen copy prediction mode, the block shift vector calculated by the vector decoding unit 64 is output as the decoded vector 66 to the intra-screen copy prediction unit 35 via the changeover switch 33.

図1の画像符号化装置の処理内容の説明で言及したように、例えば、符号化対象ブロックがスクリーンコンテンツであれば“1”、スクリーンコンテンツでなければ“0”となるようなフラグが、シーケンスレベルヘッダやピクチャレベルヘッダなどに含まれることがある。
このようなフラグが含まれている場合には、そのフラグを復号し、符号化モードが画面内コピー予測モードであり、かつ、そのフラグが“1”である場合に限り、ベクトル復号部64が、次数が4の指数ゴロム復号によってベクトル差分を復号し、それ以外の場合には、ベクトル復号部63が、次数が1の指数ゴロム復号によってベクトル差分を復号する構成などが考えられる。
As mentioned in the description of the processing content of the image encoding device in FIG. 1, for example, a flag that is “1” if the encoding target block is screen content and “0” if the block to be encoded is not screen content is a sequence. It may be included in the level header or picture level header.
When such a flag is included, the vector decoding unit 64 decodes the flag, the encoding mode is the intra-screen copy prediction mode, and the flag is “1”. In other cases, the vector difference may be decoded by exponential Golomb decoding of degree 4, and the vector decoding unit 63 may decode the vector difference by exponential Golomb decoding of degree 1.

さらに、可変長復号部31は、予測差分符号化パラメータに含まれる変換ブロック分割情報に基づき、変換ブロック毎に圧縮データ(変換・量子化後の変換係数)を復号する(図17のステップST24)。その際、図1の画像符号化装置の可変長符号化部15での圧縮データの符号化処理と同様に、CG単位の係数の復号処理を実施する。したがって、図21に示すように、4×4画素単位の16個のCGを右下のCGから順に復号処理し、さらに、各CGはCG内の16個の係数を右下の係数から順に復号していくことになる。   Further, the variable length decoding unit 31 decodes the compressed data (transformed / transformed transform coefficients) for each transform block based on the transform block division information included in the prediction difference coding parameter (step ST24 in FIG. 17). . At that time, similarly to the encoding process of the compressed data in the variable length encoding unit 15 of the image encoding apparatus of FIG. Accordingly, as shown in FIG. 21, 16 CGs in units of 4 × 4 pixels are decoded in order from the lower right CG, and each CG decodes 16 coefficients in the CG in order from the lower right coefficient. Will do.

具体的には、まず、CG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を復号し、次に復号したフラグ情報がCG内に有意(非零)係数が存在することを示す場合のみCG内の各係数が有意(非零)係数であるかを上記順に復号し、最後に有意(非零)係数を示す係数に対して、その係数値情報を順に復号する。これをCG単位に上記順に行う。ただし、スキャン順については、イントラ予測が選択されている4×4画素と8×8画素の変換ブロックの場合、イントラ予測モードのインデックスに応じて、図21のスキャン順ではなく図23に示すスキャン順で処理を行う。   Specifically, first, flag information indicating whether or not a significant (non-zero) coefficient exists in 16 coefficients in the CG is decoded, and then the decoded flag information is significant (non-zero) in the CG. Only when it indicates that a coefficient exists, whether each coefficient in the CG is a significant (non-zero) coefficient is decoded in the above order, and finally, coefficient value information for the coefficient indicating the significant (non-zero) coefficient Are sequentially decoded. This is performed in the above order in units of CG. However, with regard to the scan order, in the case of 4 × 4 pixel and 8 × 8 pixel conversion blocks for which intra prediction is selected, the scan shown in FIG. 23 is not the scan order of FIG. 21 depending on the index of the intra prediction mode. Process in order.

切換スイッチ33は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モードであれば(m(B)∈INTRAの場合)、可変長復号部31により可変長復号された予測ブロック単位のイントラ予測パラメータをイントラ予測部34に出力し、可変長復号部31により可変長復号された符号化モードm(B)が画面内コピー符号化モードであれば(m(B)∈ICOPYの場合)、可変長復号部31により可変長復号された予測ブロック単位の画面内コピー予測パラメータを画面内コピー予測部35に出力し、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モードであれば(m(B)∈INTERの場合)、可変長復号部31により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償予測部36に出力する。 If the encoding mode m (B n ) variable-length decoded by the variable-length decoding unit 31 is an intra-encoding mode (when m (B n ) ∈INTRA), the changeover switch 33 is changed by the variable-length decoding unit 31. If the intra-prediction parameter for each prediction block subjected to variable-length decoding is output to the intra-prediction unit 34 and the coding mode m (B n ) subjected to variable-length decoding by the variable-length decoding unit 31 is the intra-screen copy coding mode. (When m (B n ) εICOPY), the intra-block copy prediction parameter in units of prediction blocks subjected to variable-length decoding by the variable-length decoding unit 31 is output to the intra-screen copy prediction unit 35 and variable by the variable-length decoding unit 31 length decoded coding mode m (B n) (if the m (B n) ∈INTER) if the inter coding mode, which is variable-length decoded by the variable-length decoder 31 And outputs inter prediction parameter and the motion vector of the measurement block to the motion compensation prediction unit 36.

イントラ予測部34は、可変長復号部31により可変長復号された符号化モードm(B)がイントラ符号化モード(m(B)∈INTRA)である場合(図17のステップST25)、切換スイッチ33から出力された予測ブロック単位のイントラ予測パラメータを受け取って、図1のイントラ予測部5と同様の手順で、イントラ用メモリ38に格納されている復号画像を参照しながら、上記イントラ予測パラメータを用いた符号化対象ブロックB内の各予測ブロックP に対するイントラ予測処理を実施して、イントラ予測画像PINTRAi を生成する(図17のステップST26)。
また、イントラ予測部34は、輝度信号については、輝度信号に対する上記イントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施して、輝度信号の予測画像を生成する。
一方、色差信号については、色差信号のイントラ予測パラメータに基づくイントラ予測処理を実施して、色差信号の予測画像を生成する。
When the encoding mode m (B n ) variable-length decoded by the variable-length decoding unit 31 is the intra-coding mode (m (B n ) εINTRA) (step ST25 in FIG. 17), the intra prediction unit 34 The intra prediction parameter output from the selector switch 33 is received, and the intra prediction is performed with reference to the decoded image stored in the intra memory 38 in the same procedure as the intra prediction unit 5 in FIG. and implementing intra prediction process for each of the prediction block P i n in the encoding target block B n using a parameter to generate an intra prediction image P INTRAi n (step ST26 in FIG. 17).
In addition, for the luminance signal, the intra prediction unit 34 performs an intra prediction process (intra-frame prediction process) using the intra prediction parameter for the luminance signal to generate a prediction image of the luminance signal.
On the other hand, for the color difference signal, an intra prediction process based on the intra prediction parameter of the color difference signal is performed to generate a predicted image of the color difference signal.

図34に示すように、色差信号のイントラ予測パラメータが、輝度信号に対するイントラ予測モードと同じ予測モードを用いる旨を示している場合(イントラ予測パラメータが輝度色差共通イントラ予測モード(DMモード)を示している場合)、輝度信号と同じフレーム内予測を実施して、色差信号の予測画像を生成する。
また、色差信号のイントラ予測パラメータが、垂直方向予測モード又は水平方向予測モードを示している場合、色差信号に対する方向性予測を実施して、色差信号の予測画像を生成する。また、色差信号のイントラ予測パラメータが、輝度相関利用色差信号予測モード(LMモード)を示している場合、予測画像の生成対象ブロックの上及び左に隣接している複数の画素の輝度信号及び色差信号を用いて、輝度信号と色差信号の相関を示す相関パラメータを算出し、その相関パラメータと予測処理対象の色差信号のブロックに対応する輝度信号を用いて、色差信号の予測画像を生成する。
As shown in FIG. 34, when the intra prediction parameter of the color difference signal indicates that the same prediction mode as the intra prediction mode for the luminance signal is used (the intra prediction parameter indicates the luminance color difference common intra prediction mode (DM mode)). The same intra-frame prediction as that of the luminance signal is performed to generate a predicted image of the color difference signal.
Further, when the intra prediction parameter of the color difference signal indicates the vertical direction prediction mode or the horizontal direction prediction mode, the directionality prediction for the color difference signal is performed to generate a prediction image of the color difference signal. Further, when the intra prediction parameter of the color difference signal indicates the luminance correlation use color difference signal prediction mode (LM mode), the luminance signal and color difference of a plurality of pixels adjacent above and to the left of the prediction image generation target block. A correlation parameter indicating the correlation between the luminance signal and the color difference signal is calculated using the signal, and a predicted image of the color difference signal is generated using the correlation parameter and the luminance signal corresponding to the block of the color difference signal to be predicted.

入力信号フォーマットがYUV4:2:2信号である場合、図7に示すように、輝度信号が正方ブロックであれば、色差信号は輝度信号と比較して水平方向の画素数が1/2となる長方形のブロックとなる。したがって、図8に示すように、YUV4:4:4信号をYUV4:2:2信号に変換した際に、輝度信号と色差信号で同一方向の予測となるようにするためには、YUV4:2:2信号上では、垂直方向予測と水平方向予測以外の方向性予測の場合には、色差信号の予測方向が輝度信号の予測方向と異なることとなる。具体的には、図9に示すように、輝度信号の予測方向ベクトルをv=(dx,dy)とした場合、色差信号の予測方向ベクトルは、v=(dx/2,dy)となる。即ち、図10に示すように、予測方向の角度をθとした場合、輝度信号の予測方向の角度をθ、色差信号の予測方向の角度をθとして、tanθ=2tanθの関係となる予測方向で予測する必要がある。 When the input signal format is a YUV 4: 2: 2 signal and the luminance signal is a square block as shown in FIG. 7, the color difference signal has half the number of pixels in the horizontal direction compared to the luminance signal. It becomes a rectangular block. Therefore, as shown in FIG. 8, when the YUV4: 4: 4 signal is converted into a YUV4: 2: 2 signal, in order to predict the luminance signal and the color difference signal in the same direction, YUV4: 2 : On two signals, in the case of directional prediction other than vertical prediction and horizontal prediction, the prediction direction of the color difference signal is different from the prediction direction of the luminance signal. Specifically, as shown in FIG. 9, when the prediction direction vector of the luminance signal is v L = (dx L , dy L ), the prediction direction vector of the color difference signal is v C = (dx L / 2, dy L ). That is, as shown in FIG. 10, when the angle of the prediction direction is θ, the angle of the prediction direction of the luminance signal is θ L , the angle of the prediction direction of the color difference signal is θ C , and tan θ C = 2tan θ L It is necessary to predict in the prediction direction.

したがって、輝度信号と色差信号で同一方向の予測を行う上記DMモードを正しく実施できるようにするために、入力信号フォーマットがYUV4:2:2信号である場合、輝度信号に使用したイントラ予測モードのインデックスを色差信号の予測に用いるイントラ予測モードのインデックスに変換し、変換後のインデックスに対応するイントラ予測モードによる色差信号の予測処理を実施する。   Therefore, when the input signal format is a YUV 4: 2: 2 signal in order to correctly implement the DM mode in which the prediction in the same direction is performed with the luminance signal and the color difference signal, the intra prediction mode used for the luminance signal is used. The index is converted into an index of an intra prediction mode used for prediction of the color difference signal, and the prediction process of the color difference signal in the intra prediction mode corresponding to the converted index is performed.

図35の変換テーブルは、予測方向の角度がθであるとき(図10を参照)、イントラ予測モードの方向性予測が図37に示すtanθとなる角度である場合、tanθ=2tanθの関係に最も近い角度θに変換するテーブルの例である。変換処理の実現は、上記のように、インデックスの変換テーブルを用意し、その変換テーブルを参照することでインデックスを変換するように構成してもよいし、変換式を用意し、その変換式に従ってインデックスを変換するように構成してもよい。このように構成することで、方向性予測処理自体を変更することなく、インデックスの変換のみでYUV4:2:2信号のフォーマットに応じた色差信号の適切な予測を実施することができる。 In the conversion table of FIG. 35, when the angle of the prediction direction is θ (see FIG. 10), the relationship of tan θ C = 2 tan θ L when the direction prediction of the intra prediction mode is tan θ shown in FIG. It is an example of the table converted into the angle θ C closest to. As described above, the conversion process may be realized by preparing an index conversion table and converting the index by referring to the conversion table, or by preparing a conversion formula and according to the conversion formula. You may comprise so that an index may be converted. With this configuration, it is possible to perform appropriate prediction of the color difference signal according to the format of the YUV 4: 2: 2 signal only by converting the index without changing the directionality prediction process itself.

また、色差信号に対して、上記LMモードを行わないように画像符号化装置が構成されている場合、その画像符号化装置から生成される符号化ビットストリームが復号できるように画像復号装置も同様の構成とする。このときの色差信号のイントラ予測パラメータ(インデックス値)と色差イントラ予測モードの対応例として、図38が挙げられる。このようにLMモードも用いないようにすることで、予測対象画素の輝度信号と色差信号の依存性がなくなるため、輝度信号と色差信号の予測処理の並列化が可能になり、高速な演算処理を実現することができる。   In addition, when the image encoding device is configured not to perform the LM mode on the color difference signal, the image decoding device is also configured so that the encoded bitstream generated from the image encoding device can be decoded. The configuration is as follows. FIG. 38 shows an example of the correspondence between the intra prediction parameter (index value) of the color difference signal and the color difference intra prediction mode at this time. By not using the LM mode in this way, the dependency of the luminance signal and the color difference signal of the prediction target pixel is eliminated, so that the prediction process of the luminance signal and the color difference signal can be parallelized, and high-speed calculation processing is possible. Can be realized.

さらに、色差信号では、平均値(DC)予測、垂直方向予測、水平方向予測について、輝度信号の場合で説明したブロック境界のフィルタ処理を行わずに、MPEG−4 AVC/H.264と同様の予測手法として画像符号化装置が構成されている場合、その画像符号化装置から生成される符号化ビットストリームが復号できるように画像復号装置も同様の構成とする。このようにフィルタ処理を行わないことで、予測処理の低演算化を図ることができる。   Further, in the color difference signal, the average value (DC) prediction, the vertical direction prediction, and the horizontal direction prediction are performed without performing the block boundary filtering process described in the case of the luminance signal, and the MPEG-4 AVC / H. When an image encoding apparatus is configured as a prediction method similar to H.264, the image decoding apparatus has the same configuration so that an encoded bit stream generated from the image encoding apparatus can be decoded. By not performing the filtering process in this way, it is possible to reduce the prediction process.

画面内コピー予測部35は、可変長復号部31により可変長復号された符号化モードm(B)が画面内コピー符号化モード(m(B)∈ICOPY)である場合(図17のステップST25)、切換スイッチ33から出力された予測ブロック単位の画面内コピー予測パラメータを受け取って、イントラ用メモリ38に格納されている復号画像を参照しながら、上記画面内コピー予測パラメータに含まれているブロックシフトベクトルを用いた符号化対象ブロックB内の各予測ブロックP に対する画面内コピー予測処理を実施して、画面内コピー予測画像PICOPYi を生成する(図17のステップST27)。 The intra-screen copy prediction unit 35 is configured when the encoding mode m (B n ) that has been variable-length decoded by the variable-length decoding unit 31 is the intra-screen copy encoding mode (m (B n ) ∈ICOPY) (FIG. 17). Step ST25), receiving the intra-block copy prediction parameter for each prediction block output from the changeover switch 33, and referring to the decoded image stored in the intra memory 38, and including it in the intra-screen copy prediction parameter. and implementing intra copy prediction process for each of the prediction block P i n in the block shift vectors encoding target block using B n where you are, it generates a screen in the copy predicted image P ICOPYi n (step ST27 in FIG. 17) .

動き補償予測部36は、可変長復号部31により可変長復号された符号化モードm(B)がインター符号化モード(m(B)∈INTER)である場合(図17のステップST25)、切換スイッチ33から出力された予測ブロック単位の動きベクトルとインター予測パラメータを受け取って、動き補償予測フレームメモリ40に格納されているフィルタ処理後の復号画像を参照しながら、その動きベクトルとインター予測パラメータを用いた符号化対象ブロックB内の各予測ブロックP に対するインター予測処理を実施してインター予測画像PINTERi を生成する(図17のステップST28)。 The motion compensation prediction unit 36, when the encoding mode m (B n ) variable-length decoded by the variable-length decoding unit 31 is the inter encoding mode (m (B n ) ∈INTER) (step ST25 in FIG. 17). The motion vector and inter prediction parameters output from the changeover switch 33 are received and the inter prediction parameters are received while referring to the decoded image after filtering stored in the motion compensated prediction frame memory 40. by carrying out inter-prediction processing for each of the prediction block P i n in the encoding target block B n using a parameter to generate an inter prediction image P INTERi n (step ST28 in FIG. 17).

逆量子化・逆変換部32は、可変長復号部31から圧縮データ及び予測差分符号化パラメータを受けると、図1の逆量子化・逆変換部10と同様の手順で、その予測差分符号化パラメータに含まれる量子化パラメータ及び変換ブロック分割情報を参照して、変換ブロック単位にその圧縮データを逆量子化する。このとき、可変長復号部31により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合は、量子化マトリクスを用いて逆量子化処理を行う。   When receiving the compressed data and the prediction difference encoding parameter from the variable length decoding unit 31, the inverse quantization / inverse conversion unit 32 performs the prediction difference encoding in the same procedure as the inverse quantization / inverse conversion unit 10 of FIG. With reference to the quantization parameter and transform block division information included in the parameters, the compressed data is inversely quantized in transform block units. At this time, when referring to each header information variable-length decoded by the variable-length decoding unit 31, each header information indicates that the inverse quantization process is performed using the quantization matrix in the slice. Inverse quantization processing is performed using a quantization matrix.

この際、可変長復号部31により可変長復号された各ヘッダ情報を参照して、各直交変換サイズで色信号や符号化モード(イントラ符号化、画面内コピー符号化、インター符号化)毎に使用する量子化マトリクスを特定する。また、逆量子化・逆変換部32は、変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部10から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する(図17のステップST29)。   At this time, referring to each header information variable-length decoded by the variable-length decoding unit 31, for each color signal and coding mode (intra coding, intra-screen copy coding, inter coding) with each orthogonal transform size Specify the quantization matrix to be used. Further, the inverse quantization / inverse transform unit 32 performs inverse orthogonal transform processing on transform coefficients that are compressed data after inverse quantization in units of transform blocks, and outputs from the inverse quantization / inverse transform unit 10 in FIG. The same decoded prediction difference signal as the local decoding prediction difference signal thus obtained is calculated (step ST29 in FIG. 17).

加算部37は、逆量子化・逆変換部32により算出された復号予測差分信号に対して、イントラ予測部34により生成されたイントラ予測画像PINTRAi 、画面内コピー予測部35により生成された画面内コピー予測画像PICOPYi 、又は、動き補償予測部36により生成されたインター予測画像PINTERi のいずれかを加算して復号画像を算出し、その復号画像をループフィルタ部39に出力するとともに、その復号画像をイントラ用メモリ38に格納する(図17のステップST30)。この復号画像が、以降のイントラ予測処理及び画面内コピー予測処理の際に用いられる復号済みの画像信号になる。 Addition unit 37, the decoded prediction difference signal calculated by the inverse quantization and inverse transform unit 32, which is generated by the intra prediction image P INTRAi n, intra copy prediction unit 35 generated by the intra prediction unit 34 intra copy predicted image P ICOPYi n, or by adding one of the inter-prediction image P INTERi n generated by the motion compensation prediction unit 36 calculates a decoded image, and outputs the decoded image to the loop filter unit 39 At the same time, the decoded image is stored in the intra memory 38 (step ST30 in FIG. 17). This decoded image becomes a decoded image signal used in the subsequent intra prediction process and intra-screen copy prediction process.

ループフィルタ部39は、全ての符号化対象ブロックBに対するステップST23〜ST30の処理が完了すると(図17のステップST31)、加算部37から出力された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を動き補償予測フレームメモリ40に格納する(図17のステップST32)。
具体的には、変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部39は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで処理を行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合に、例えば、画像符号化装置のループフィルタ部13が図12のように構成されている場合には、図16に示すようにループフィルタ部39が構成される。
Loop filter unit 39, the process of step ST23~ST30 of all the coding target block B n is completed (step ST31 in FIG. 17), with respect to output decoded image from the adder 37, a predetermined filter process The decoded image after filtering is stored in the motion compensated prediction frame memory 40 (step ST32 in FIG. 17).
Specifically, filter (deblocking filter) processing that reduces distortion occurring at the boundaries of transform blocks and prediction blocks, processing for adaptively adding an offset (pixel adaptive offset) for each pixel, Wiener filter, etc. Performs adaptive filter processing for adaptively switching linear filters and performing filter processing.
However, the loop filter unit 39 refers to each header information variable-length decoded by the variable-length decoding unit 31 for each of the above-described deblocking filter processing, pixel adaptive offset processing, and adaptive filter processing, and performs processing in the corresponding slice. Specify whether or not to perform.
At this time, when two or more filter processes are performed, for example, when the loop filter unit 13 of the image encoding device is configured as shown in FIG. 12, the loop filter unit 39 is shown in FIG. Composed.

ここで、デブロッキングフィルタ処理では、可変長復号部31により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。   Here, in the deblocking filter processing, when there is information for referring to the header information that has been variable-length decoded by the variable-length decoding unit 31 and changing various parameters used for selecting the filter strength applied to the block boundary from the initial value. Performs a deblocking filter process based on the change information. When there is no change information, it is performed according to a predetermined method.

画素適応オフセット処理では、可変長復号部31により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて分割し、そのブロック単位に、可変長復号部31により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部13の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
In the pixel adaptive offset processing, the block is divided based on the block division information of the pixel adaptive offset processing variable-length decoded by the variable-length decoding unit 31, and the block unit of variable-length decoded by the variable-length decoding unit 31 is divided into the blocks. When an index indicating a class classification method is referred to and the index is not an index indicating that “offset processing is not performed”, each pixel in the block is classified into blocks in accordance with the class classification method indicated by the index.
In addition, the same class classification method candidate as the pixel classification method candidate of the pixel adaptive offset process of the loop filter unit 13 is prepared in advance as a class classification method candidate.

そして、ループフィルタ部39は、ブロック単位の各クラスのオフセット値を特定する可変長復号部31により可変長復号されたオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。   Then, the loop filter unit 39 performs processing for adding the offset to the luminance value of the decoded image with reference to the offset information that has been variable-length decoded by the variable-length decoding unit 31 that specifies the offset value of each class in block units. .

適応フィルタ処理では、可変長復号部31により可変長復号されたクラス毎のフィルタを用いて、図1の画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
このループフィルタ部39によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
In the adaptive filter process, after classifying by the same method as the image encoding apparatus of FIG. 1 using the filter for each class variable-length decoded by the variable-length decoding unit 31, the filter process is performed based on the class classification information. I do.
The decoded image after the filter processing by the loop filter unit 39 becomes a reference image for motion compensation prediction and also becomes a reproduced image.

以上で明らかなように、この実施の形態1によれば、可変長符号化部15が、動き補償予測部7により探索された動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、画面内コピー予測部6で探索された参照ブロックの位置を示すブロックシフトベクトルを可変長符号化するように構成したので、参照ブロックの位置を示すブロックシフトベクトルの符号量を削減して、符号化効率を高めることができる効果を奏する。   As apparent from the above, according to the first embodiment, the variable length coding unit 15 is different from the coding method used for the variable length coding of the motion vector searched by the motion compensation prediction unit 7. Since the block shift vector indicating the position of the reference block searched by the intra-screen copy prediction unit 6 is variable-length encoded, the code amount of the block shift vector indicating the position of the reference block is reduced. As a result, the encoding efficiency can be improved.

また、この実施の形態1によれば、可変長符号化部15が、可変長復号部31で可変長復号に用いる復号方式を決定する際に参照する情報として、例えば、符号化対象ブロックがスクリーンコンテンツであるか否かを示すフラグを可変長符号化するように構成したので、入力された動画像に応じて任意の単位で適応的にベクトルの符号化方式を切り替えることができるようになり、符号化性能の改善率を更に高めることができる効果を奏する。   Further, according to the first embodiment, for example, the encoding target block is a screen as information that the variable length encoding unit 15 refers to when the variable length decoding unit 31 determines a decoding method used for variable length decoding. Since the flag indicating whether or not the content is configured to be variable-length encoded, the vector encoding method can be adaptively switched in an arbitrary unit according to the input moving image, There is an effect that the improvement rate of the encoding performance can be further increased.

また、この実施の形態1によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。   In addition, according to the first embodiment, the image decoding apparatus and the image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above effects can be obtained. Play.

実施の形態2.
上記実施の形態1では、可変長符号化部15が、動きベクトルの可変長符号化に用いる符号化方式と異なる符号化方式を用いて、ブロックシフトベクトルを可変長符号化するものを示したが、予め用意している複数のベクトルの表現形式の中から、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化するようにしてもよい。
Embodiment 2. FIG.
In the first embodiment, the variable length coding unit 15 performs variable length coding on the block shift vector using a coding method different from the coding method used for variable length coding of the motion vector. Selecting a vector expression format that minimizes the amount of code when the variable-length encoding unit 15 variable-codes the block shift vector from among a plurality of vector expression formats prepared in advance. The block shift vector expressed in the expression format may be variable length encoded.

この実施の形態2による画像符号化装置は、上記実施の形態1における図1の画像符号化装置と同様の構成であるが、画面内コピー予測部6の内部構成および動作が異なる。
図42はこの発明の実施の形態2による画像符号化装置の画面内コピー予測部6を示す構成図である。
The image coding apparatus according to the second embodiment has the same configuration as the image coding apparatus of FIG. 1 in the first embodiment, but the internal configuration and operation of the intra-screen copy prediction unit 6 are different.
FIG. 42 is a block diagram showing the intra-screen copy prediction unit 6 of the image coding apparatus according to Embodiment 2 of the present invention.

図42において、参照ブロック探索部71は符号化対象ブロックB内の各予測ブロックP とイントラ用メモリ12に格納されている局所復号画像を比較し、予測ブロックP と最も類似している領域のブロック(参照ブロック)を探索して、その参照ブロックの位置を示すブロックシフトベクトルを出力する処理を実施する。
予測画像生成部72は参照ブロック探索部71から出力されたブロックシフトベクトルが指し示す参照ブロックを予測ブロックP の予測画像として、画面内コピー予測画像PICOPYi を生成する処理を実施する。
ベクトル表現形式決定部73は予め用意している複数のベクトルの表現形式の中から、可変長符号化部15により当該ブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、その表現形式で表現したブロックシフトベクトルを可変長符号化する処理を実施する。
In Figure 42, the reference block search unit 71 compares the locally decoded image stored in the prediction block P i n intra memory 12 in the encoding target block B n, the most similar to the prediction block P i n A process of searching for a block (reference block) in a region and outputting a block shift vector indicating the position of the reference block is performed.
Prediction image generating unit 72 as the predicted image prediction block P i n the reference block block shifting vector outputted from the reference block searching section 71 pointed, and carries out a process of generating an intra copy predicted image P ICOPYi n.
The vector representation format determination unit 73 selects a vector having the smallest code amount when the variable length coding unit 15 performs variable length coding on the block shift vector from among a plurality of vector representation formats prepared in advance. A representation format is selected, and a process for variable-length coding a block shift vector represented in the representation format is performed.

次に動作について説明する。
画面内コピー予測部6の参照ブロック探索部71は、符号化制御部1により決定された符号化モードm(B)が画面内コピー符号化モードであり(m(B)∈ICOPYの場合)、切換スイッチ4から符号化対象ブロックBを受けると(図14のステップST3)、符号化対象ブロックB内の各予測ブロックP とイントラ用メモリ12に格納されている局所復号画像を比較し、予測ブロックP と最も類似している領域のブロック(参照ブロック)を探索して、その参照ブロックの位置を示すブロックシフトベクトルを出力する。
図43は参照ブロック探索部71から出力されるブロックシフトベクトルの表現形式を示す説明図である。
参照ブロック探索部71から出力されるブロックシフトベクトルは、図43に示すように、参照ブロックの位置を示す位置情報として、符号化対象ブロックから参照ブロックまでの相対的な水平移動量と垂直移動量(BVx,BVy)で表現している。
Next, the operation will be described.
The reference block search unit 71 of the intra-screen copy predicting unit 6 determines that the encoding mode m (B n ) determined by the encoding control unit 1 is the intra-screen copy encoding mode (m (B n ) ∈ICOPY. ), when receiving the encoding target block B n from the change-over switch 4 (step ST3 in FIG. 14), the encoding target block each prediction block P i n and the local decoded image stored in the intra-memory 12 in the B n comparing, by searching the block (reference block) in the region which is most similar to the prediction block P i n, and outputs the block shift vector indicating the position of the reference block.
FIG. 43 is an explanatory diagram showing the expression format of the block shift vector output from the reference block search unit 71.
As shown in FIG. 43, the block shift vector output from the reference block search unit 71 is the positional information indicating the position of the reference block, and the relative horizontal movement amount and vertical movement amount from the encoding target block to the reference block. (BVx, BVy).

画面内コピー予測部6の予測画像生成部72は、参照ブロック探索部71からブロックシフトベクトルを受けると、そのブロックシフトベクトルが指し示す参照ブロックを予測ブロックP の予測画像として、画面内コピー予測画像PICOPYi を生成する(図14のステップST5)。 Prediction image generating unit of the screen in the copy predictor 6 72, when the reference block search unit 71 receives the block shift vector, the reference block whose block shift vector is pointing as the predicted image of the prediction block P i n, intra copy prediction It generates an image P ICOPYi n (step ST5 in FIG. 14).

図15の画像復号装置では、画面内コピー予測画像PICOPYi と全く同じ画面内コピー予測画像を生成する必要があるため、画面内コピー予測画像PICOPYi の生成に用いた参照ブロックの位置を示すブロックシフトベクトルを可変長符号化部15に出力して、ビットストリームに多重化する必要がある。
このとき、予測ブロックP のブロックシフトベクトルと、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルとの差分値を符号化するようにすることで、予測ブロックP のブロックシフトベクトルの符号化に必要な符号量を削減することが可能である。
In the image decoding apparatus of FIG. 15, it is necessary to generate the exact same screen the copy predicted image and the intra copy predicted image P ICOPYi n, the position of the reference block used to generate the intra copy predicted image P ICOPYi n The indicated block shift vector needs to be output to the variable length coding unit 15 and multiplexed into the bit stream.
In this case, the coding and the block shift vector of the prediction block P i n, block shift vector of the immediately preceding encoded prediction blocks, or a difference value between the block shift vectors of the surrounding encoded prediction blocks of the prediction block by such that it is possible to reduce the amount of code required for encoding the block shift vector of the prediction block P i n.

しかし、図26に示しているブロックシフトベクトルの差分値の分布からも分かるように、スクリーンコンテンツの符号化においては、ブロックシフトベクトルの予測精度が低く、差分値が大きくなってしまう傾向にあり、しばしば非常に大きな差分値が観測される。
このような場合に、そのままブロックシフトベクトルの符号化を行うと、符号量が大きくなり、符号化効率の低下を招くことになる。
そこで、この実施の形態2では、画面内コピー予測部6の中にベクトル表現形式決定部73を追加し、ベクトル表現形式決定部73が、複数のベクトルの表現形式から最適な表現形式を選択して、ブロックシフトベクトルの符号化に必要な符号量を削減するようにしている。
以下、ベクトル表現形式決定部73の処理内容を具体的に説明する。
However, as can be seen from the distribution of the difference value of the block shift vector shown in FIG. 26, in the coding of the screen content, the prediction accuracy of the block shift vector is low and the difference value tends to be large. Often very large difference values are observed.
In such a case, if the block shift vector is encoded as it is, the amount of code becomes large and the encoding efficiency is lowered.
Therefore, in the second embodiment, a vector expression format determination unit 73 is added to the intra-screen copy prediction unit 6, and the vector expression format determination unit 73 selects an optimal expression format from a plurality of vector expression formats. Thus, the amount of code necessary for encoding the block shift vector is reduced.
Hereinafter, the processing content of the vector expression format determination part 73 is demonstrated concretely.

ベクトル表現形式決定部73は、参照ブロック探索部71から、図43に示すように、符号化対象ブロックから参照ブロックまでの相対的な水平移動量と垂直移動量(BVx,BVy)で表現されているブロックシフトベクトルを受ける。
ここで、直前の符号化済み予測ブロックのブロックシフトベクトル、あるいは、当該予測ブロックの周囲の符号化済み予測ブロックのブロックシフトベクトルを(PBVx,PBVy)として、予測ブロックP のブロックシフトベクトルである(BVx,BVy)と、符号化済み予測ブロックのブロックシフトベクトルである(PBVx,PBVy)との差分(BVDx,BVDy)だけを符号化するようにすると、符号量を削減することができる。
(BVDx,BVDy)=(BVx−PBVx,BVy−PBVy)
しかし、既に述べたように、スクリーンコンテンツにおける符号化では、必ずしも(PBVx,PBVy)の予測精度が高くないため、(BVDx,BVDy)が十分にゼロに近い値にならないことがある。
As shown in FIG. 43, the vector representation format determination unit 73 is expressed by the relative horizontal movement amount and vertical movement amount (BVx, BVy) from the encoding target block to the reference block, as shown in FIG. Receive block shift vector.
Here, the block shift vector of the immediately preceding encoded prediction blocks or the block shift vectors of encoded prediction blocks around the predicted block (PBVx, PBVy) as a block shift vector of the prediction block P i n If only a difference (BVDx, BVDy) between a certain (BVx, BVy) and (PBVx, PBVy) that is a block shift vector of the encoded prediction block is encoded, the amount of codes can be reduced.
(BVDx, BVDy) = (BVx−PBVx, BVy−PBVy)
However, as already described, since the prediction accuracy of (PBVx, PBVy) is not necessarily high in the encoding in the screen content, (BVDx, BVDy) may not be sufficiently close to zero.

図44は図43と異なるブロックシフトベクトルの表現形式を示す説明図である。
図44の例では、参照ブロックを内部に含む最大符号化ブロックのインデックスをk、この最大符号化ブロックの左上座標を原点とする参照ブロックの位置座標を(BVx’,BVy’)として、3つの数値の組(k、BVx’,BVy’)によって参照ブロックの位置を表現している。
FIG. 44 is an explanatory diagram showing a block shift vector expression format different from FIG.
In the example of FIG. 44, the index of the largest coding block including the reference block inside is k, and the position coordinates of the reference block with the upper left coordinate of the largest coding block as the origin are (BVx ′, BVy ′). The position of the reference block is expressed by a set of numerical values (k, BVx ′, BVy ′).

ベクトル表現形式決定部73は、ベクトルの表現形式として、図43の表現形式と図44の表現形式が用意されている場合、図43の表現形式で表現されているブロックシフトベクトルが可変長符号化部15で可変長符号化された場合の符号量と、図44の表現形式で表現されているブロックシフトベクトルが可変長符号化部15で可変長符号化された場合の符号量とを算出する。
ベクトル表現形式決定部73は、図43の表現形式で表現されている場合の符号量と、図44の表現形式で表現されている場合の符号量とを比較し、図43の表現形式で表現されている場合の符号量の方が少なければ、図43の表現形式を選択し、図43の表現形式で表現しているブロックシフトベクトルを可変長符号化部15に出力する。
一方、図44の表現形式で表現されている場合の符号量の方が少なければ、図44の表現形式を選択し、図44の表現形式で表現しているブロックシフトベクトルを可変長符号化部15に出力する。
When the representation format of FIG. 43 and the representation format of FIG. 44 are prepared as the vector representation format, the vector representation format determination unit 73 performs variable length coding on the block shift vector represented by the representation format of FIG. 44 calculates the code amount when the variable length coding is performed by the unit 15 and the code amount when the block shift vector expressed in the expression format of FIG. 44 is variable length coded by the variable length coding unit 15. .
The vector expression format determination unit 73 compares the code amount when expressed in the expression format of FIG. 43 with the code amount when expressed in the expression format of FIG. 44, and expresses it in the expression format of FIG. If the code amount is smaller, the representation format shown in FIG. 43 is selected, and the block shift vector expressed in the representation format shown in FIG. 43 is output to the variable length coding unit 15.
On the other hand, if the amount of code when expressed in the expression format of FIG. 44 is smaller, the expression format of FIG. 44 is selected, and the block shift vector expressed in the expression format of FIG. 15 is output.

また、ベクトル表現形式決定部73は、どちらの表現形式で表現しているかを示す識別情報として、ベクトル表現形式インデックスも可変長符号化部15に出力する。
ベクトル表現形式インデックスとしては、例えば、図43の表現形式で表現している場合は“0”の値、図44の表現形式で表現している場合は“1”の値を取るようなものが考えられる。
ここでは、2種類のベクトル表現形式が用意されている例を示しているが、3種類以上のベクトル表現形式を用意し、3種類以上のベクトル表現形式の中から、最も符号量が少なくなるベクトル表現形式を選択するようにしてもよい。
The vector representation format determination unit 73 also outputs a vector representation format index to the variable length coding unit 15 as identification information indicating which representation format is used.
As the vector expression format index, for example, a value of “0” is expressed when expressed in the expression format of FIG. 43, and a value of “1” is expressed when expressed in the expression format of FIG. 44. Conceivable.
Here, an example is shown in which two types of vector representation formats are prepared, but three or more types of vector representation formats are prepared, and a vector having the smallest code amount among the three or more types of vector representation formats. An expression format may be selected.

可変長符号化部15は、ベクトル表現形式決定部73からブロックシフトベクトルとベクトル表現形式インデックスを受けると、そのブロックシフトベクトルとベクトル表現形式インデックスを含む画面内コピー予測パラメータを可変長符号化して、その画面内コピー予測パラメータの符号化データをビットストリームに多重化する。
可変長符号化部15における画面内コピー予測パラメータの符号化方式は、上記実施の形態1と同様である。
When the variable length encoding unit 15 receives the block shift vector and the vector expression format index from the vector expression format determination unit 73, the variable length encoding unit 15 performs variable length encoding on the intra-screen copy prediction parameter including the block shift vector and the vector expression format index The encoded data of the intra-screen copy prediction parameter is multiplexed into the bit stream.
The encoding method of the intra-screen copy prediction parameter in the variable length encoding unit 15 is the same as that in the first embodiment.

ここで、図44の表現形式では、インデックスkの最大符号化ブロックの左上座標を原点しているが、図45に示すように、インデックスkの最大符号化ブロックの右下座標を原点とする方が、左上座標を原点とする場合より、参照ブロックの位置座標(BVx’,BVy’)の符号量が少なくなることがある。
このため、どの座標を原点とするかを示すインデックス(例えば、インデックスを2ビットとして、左上座標を“00”、右上座標を“01”、左下座標を“10”、右下座標を“11”と表現する)をパラメータとして別途追加するようにしてもよい。
適切な座標を原点とすることで、ブロックシフトベクトルの符号化に必要な符号量を削減して符号化効率を高めることが可能である。
Here, in the representation format of FIG. 44, the origin is the upper left coordinate of the largest encoded block of index k, but as shown in FIG. 45, the origin is the lower right coordinate of the largest encoded block of index k. However, the code amount of the position coordinates (BVx ′, BVy ′) of the reference block may be smaller than when the upper left coordinate is the origin.
Therefore, an index indicating which coordinate is the origin (for example, the index is 2 bits, the upper left coordinate is “00”, the upper right coordinate is “01”, the lower left coordinate is “10”, and the lower right coordinate is “11”. May be separately added as a parameter.
By setting an appropriate coordinate as the origin, it is possible to reduce the amount of code necessary for encoding the block shift vector and increase the encoding efficiency.

また、ベクトル表現形式インデックスは、常に符号化対象ブロック単位で符号化する必要はなく、より大きな任意の領域を単位として符号化するようにしてもよい。つまり、シーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどにベクトル表現形式インデックスを加えて、可変長符号化部15で符号化することで、ベクトル表現形式インデックスの符号化に必要な符号量を削減して、符号化効率を高めることが可能である。
もちろん、画面内コピー符号化モードにおけるブロックシフトベクトルの符号化には、常に図44のベクトル表現形式を用いるようにするなど、符号化モード情報などと対応付けて一意にベクトル表現形式を導出できるようにしてもよい。このようにすれば、ベクトル表現形式インデックスを符号化する必要がなくなり、符号量が削減されて符号化効率が向上する。
Further, the vector expression format index need not always be encoded in units of encoding target blocks, and may be encoded in units of arbitrary larger areas. That is, by adding the vector expression format index to the sequence level header, picture level header, slice level header, etc., and encoding by the variable length encoding unit 15, the amount of code required for encoding the vector expression format index is reduced. Thus, the encoding efficiency can be increased.
Of course, it is possible to uniquely derive the vector representation format in association with the coding mode information, such as always using the vector representation format of FIG. 44 for the block shift vector coding in the intra-screen copy coding mode. It may be. In this way, it is not necessary to encode the vector expression format index, the code amount is reduced, and the encoding efficiency is improved.

この実施の形態2による画像復号装置は、上記実施の形態1における図15の画像復号装置と同様の構成であるが、画面内コピー予測部35の内部構成および動作が異なる。
図46はこの発明の実施の形態2による画像復号装置の画面内コピー予測部35を示す構成図である。
図46において、参照ブロック座標決定部81は可変長復号部31により復号された画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識して、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部82はイントラ用メモリ38に格納されている局所復号画像から、参照ブロック座標決定部81により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する処理を実施する。
The image decoding device according to the second embodiment has the same configuration as the image decoding device of FIG. 15 in the first embodiment, but the internal configuration and operation of the intra-screen copy prediction unit 35 are different.
FIG. 46 is a block diagram showing the intra-screen copy prediction unit 35 of the image decoding apparatus according to Embodiment 2 of the present invention.
In FIG. 46, the reference block coordinate determination unit 81 calculates the block shift vector included in the intra-screen copy prediction parameter from the vector representation format index included in the intra-screen copy prediction parameter decoded by the variable length decoding unit 31. And a process of specifying coordinates representing the position of the reference block from the block shift vector.
The predicted image generation unit 82 reads the reference block on the coordinates specified by the reference block coordinate determination unit 81 from the local decoded image stored in the intra memory 38, and uses the reference block as the predicted image to the addition unit 37. Perform the output process.

次に動作について説明する。
画面内コピー予測部35の参照ブロック座標決定部81は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているベクトル表現形式インデックスから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルの表現形式を認識する。
例えば、ベクトル表現形式インデックスが“0”であれば、図43の表現形式で表現されていると認識し、ベクトル表現形式インデックスが“1”であれば、図44の表現形式で表現されていると認識する。
また、ベクトル表現形式インデックスが“1”であるとき、どの座標を原点とするかを示すインデックスが含まれている場合、そのインデックスから図44の表現形式で表現されているのか、図45の表現形式で表現されているのか等を認識する。
参照ブロック座標決定部81は、ブロックシフトベクトルの表現形式を認識すると、そのブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
Next, the operation will be described.
When the reference block coordinate determination unit 81 of the intra-screen copy prediction unit 35 receives the intra-screen copy prediction parameter decoded by the variable-length decoding unit 31, the reference block coordinate determination unit 81 determines from the vector expression format index included in the intra-screen copy prediction parameter, Recognizes the representation format of the block shift vector included in the intra-screen copy prediction parameter.
For example, if the vector expression format index is “0”, it is recognized that it is expressed in the expression format of FIG. 43, and if the vector expression format index is “1”, it is expressed in the expression format of FIG. Recognize.
When the vector expression format index is “1” and an index indicating which coordinate is used as the origin is included, whether the index is expressed in the expression format of FIG. Recognize whether it is expressed in a format.
When the reference block coordinate determination unit 81 recognizes the expression format of the block shift vector, the reference block coordinate determination unit 81 specifies coordinates representing the position of the reference block from the block shift vector.

画面内コピー予測部35の予測画像生成部82は、参照ブロック座標決定部81が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ38に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する。   When the reference block coordinate determination unit 81 specifies the coordinates representing the position of the reference block, the predicted image generation unit 82 of the intra-screen copy prediction unit 35 determines the coordinates on the coordinates from the local decoded image stored in the intra memory 38. The reference block is read out, and the reference block is output to the adding unit 37 as a predicted image.

以上で明らかなように、この実施の形態2によれば、画面内コピー予測部6が、予め用意している複数のベクトルの表現形式の中から、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるベクトルの表現形式を選択し、可変長符号化部15が、画面内コピー予測部6により選択された表現形式で表現したブロックシフトベクトルを可変長符号化するように構成したので、上記実施の形態1よりも、ブロックシフトベクトルの符号化に必要な符号量を更に削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。   As is apparent from the above, according to the second embodiment, the intra-screen copy prediction unit 6 uses the variable length encoding unit 15 to generate a block shift vector from among a plurality of vector representation formats prepared in advance. A vector representation format that minimizes the amount of code when variable-length coding is performed is selected, and the variable-length coding unit 15 varies the block shift vector represented in the representation format selected by the intra-screen copy prediction unit 6. Since it is configured to perform long encoding, it is possible to further reduce the amount of code required for encoding the block shift vector and to improve the encoding performance for the screen content, as compared with the first embodiment.

また、この実施の形態2によれば、ブロックシフトベクトルの表現形式を示すベクトル表現形式インデックスを可変長符号化するように構成したので、入力された動画像に応じて任意の単位で適応的にベクトルの表現形式を切り替えることができるようになり、符号化性能の改善率を更に高めることができる効果を奏する。   Further, according to the second embodiment, since the vector expression format index indicating the expression format of the block shift vector is configured to be variable-length encoded, adaptively in arbitrary units according to the input moving image It becomes possible to switch the expression format of the vector, and there is an effect that the improvement rate of the encoding performance can be further increased.

また、この実施の形態2によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。   In addition, according to the second embodiment, the image decoding apparatus and the image decoding method capable of correctly decoding the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above effects can be obtained. Play.

実施の形態3.
上記実施の形態1,2では、画面内コピー符号化モードで予測処理を実施する際、符号化対象ブロック全体で1つのブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する構成である。
この実施の形態3では、符号化対象ブロックが複数の領域に分割されている場合、各々の分割ブロック毎に、異なるブロックシフトベクトルを用いて、符号化済み領域から参照ブロックを取得する際、それらのブロックシフトベクトルの符号化に必要な符号量を削減する構成である。
Embodiment 3 FIG.
In the first and second embodiments, when the prediction process is performed in the intra-screen copy encoding mode, the reference block is obtained from the encoded region using one block shift vector for the entire encoding target block. is there.
In this Embodiment 3, when the encoding target block is divided into a plurality of regions, when obtaining a reference block from the encoded region using a different block shift vector for each divided block, This is a configuration that reduces the amount of code required for encoding the block shift vector.

この実施の形態3による画像符号化装置は、上記実施の形態1における図1の画像符号化装置と同様の構成であるが、画面内コピー予測部6の内部構成および動作が異なる。
図47はこの発明の実施の形態3による画像符号化装置の画面内コピー予測部6を示す構成図である。
The image coding apparatus according to the third embodiment has the same configuration as that of the image coding apparatus of FIG.
FIG. 47 is a block diagram showing the intra-screen copy prediction unit 6 of the image coding apparatus according to Embodiment 3 of the present invention.

図47において、領域分割部91は符号化対象ブロックを複数の領域に分割して、複数の領域である分割ブロックを出力する処理を実施する。
参照領域探索部92は領域分割部91から複数の分割ブロックを受けると、イントラ用メモリ12に格納されている局所復号画像の中から、各々の分割ブロックと類似している参照領域(分割ブロックに対応する参照ブロック)をそれぞれ探索し、その参照領域を指し示すベクトルであるブロックシフトベクトルをそれぞれ出力する処理を実施する。
In FIG. 47, an area dividing unit 91 performs a process of dividing an encoding target block into a plurality of areas and outputting divided blocks that are a plurality of areas.
When the reference region search unit 92 receives a plurality of divided blocks from the region dividing unit 91, the reference region search unit 92 selects a reference region similar to each divided block from among the locally decoded images stored in the intra memory 12 (divided into divided blocks). A corresponding reference block) is searched for, and a block shift vector that is a vector indicating the reference area is output.

予測画像生成部93は参照領域探索部92から複数のブロックシフトベクトルを受けると、各々のブロックシフトベクトルが指し示す参照領域を予測画像として、複数の予測画像を符号化対象ブロック全体の予測画像として出力する処理を実施する。
ベクトル差分計算部94は参照領域探索部92から出力された複数のブロックシフトベクトルが可変長符号化部15で可変長符号化される際に、複数のブロックシフトベクトルの全体の符号量が最も少なくなる複数のブロックシフトベクトルの符号化順を決定して、その符号化順に複数のブロックシフトベクトルの並び替えを実施する。
可変長符号化部15はベクトル差分計算部94により並び替えられた複数のブロックシフトベクトルを並び順に可変長符号化するとともに、ベクトル差分計算部94によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化する。このとき、複数のブロックシフトベクトルの符号化方法は、上記実施の形態1,2と同様である。
When the prediction image generation unit 93 receives a plurality of block shift vectors from the reference region search unit 92, the prediction image generation unit 93 outputs the reference region indicated by each block shift vector as a prediction image and the plurality of prediction images as a prediction image of the entire encoding target block. Perform the process.
The vector difference calculation unit 94 has the smallest code amount of the plurality of block shift vectors when the plurality of block shift vectors output from the reference region search unit 92 are variable length encoded by the variable length encoding unit 15. The encoding order of a plurality of block shift vectors is determined, and the plurality of block shift vectors are rearranged in the encoding order.
The variable-length encoding unit 15 performs variable-length encoding on the plurality of block shift vectors rearranged by the vector difference calculation unit 94 in the arrangement order, and includes rearrangement information indicating the rearrangement of the block shift vectors by the vector difference calculation unit 94. Variable length coding. At this time, the encoding method of a plurality of block shift vectors is the same as in the first and second embodiments.

次に動作について説明する。
画面内コピー予測部6の領域分割部91は、符号化対象ブロックを受けると、その符号化対象ブロックを複数の領域に分割し、複数の領域である分割ブロックを出力する。
図48は符号化対象ブロックのブロックサイズが16画素×16画素である場合の分割例を示す説明図である。
図48の太線で囲まれている領域が分割された1つの領域を示している。図48(a)では、符号化対象ブロックを均等に1画素×16画素の16領域に分割している例を示しており、図48(b)では、符号化対象ブロックを不均等に9領域に分割している例を示している。
この実施の形態3では、符号化対象ブロックをどのように分割するかは問わないが、符号化制御部1が符号化効率や画質などを考慮して決定することが考えられる。
Next, the operation will be described.
Upon receiving the encoding target block, the area dividing unit 91 of the intra-screen copy prediction unit 6 divides the encoding target block into a plurality of areas, and outputs divided blocks that are a plurality of areas.
FIG. 48 is an explanatory diagram showing an example of division when the block size of the encoding target block is 16 pixels × 16 pixels.
The area surrounded by the thick line in FIG. 48 shows one divided area. FIG. 48A shows an example in which the encoding target block is equally divided into 16 areas of 1 pixel × 16 pixels. In FIG. 48B, the encoding target block is unevenly divided into 9 areas. An example is shown in FIG.
In the third embodiment, it does not matter how to divide the encoding target block, but it is conceivable that the encoding control unit 1 determines in consideration of encoding efficiency and image quality.

図15の画像復号装置における画面内コピー予測部35が、上記と同じ領域分割を行う必要があるため、必要に応じて画面内コピー予測部6の領域分割部91が、符号化対象ブロックの分割状況を示す領域分割情報を可変長符号化部15に出力し、可変長符号化部15が領域分割情報を符号化してビットストリームに多重化する。
領域分割情報としては、例えば、図48(b)に示すような分割を行う場合、各領域の始点位置(符号化対象ブロック内の画素をラスタスキャンした場合のインデックス等)と連結の長さを用いることが考えられる。ただし、分割方法を常に固定とする場合には、領域分割情報を符号化してビットストリームに多重化する必要はない。
Since the intra-screen copy prediction unit 35 in the image decoding apparatus of FIG. 15 needs to perform the same region division as described above, the region division unit 91 of the intra-screen copy prediction unit 6 may divide the encoding target block as necessary. The region division information indicating the situation is output to the variable length coding unit 15, and the variable length coding unit 15 encodes the region division information and multiplexes it into the bit stream.
As the area division information, for example, when division as shown in FIG. 48B is performed, the start point position of each area (index or the like when raster scanning pixels in the encoding target block) and the connection length are set. It is possible to use it. However, when the division method is always fixed, it is not necessary to encode the region division information and multiplex it into the bit stream.

画面内コピー予測部6の参照領域探索部92は、領域分割部91から複数の分割ブロックを受けると、イントラ用メモリ12に格納されている局所復号画像の中から、各々の分割ブロックと類似している参照領域(分割ブロックに対応する参照ブロック)をそれぞれ探索し、その参照領域を指し示すベクトルであるブロックシフトベクトルをそれぞれ出力する。
図49は複数の分割ブロックに対応する参照ブロックを示すブロックシフトベクトルを示す説明図である。
図49の例では、符号化対象ブロックが3つの分割ブロックに分割され、3つの分割ブロックに対応する参照ブロック(1)〜(3)を指し示すブロックシフトベクトル(1)〜(3)を示している。
When the reference region search unit 92 of the intra-screen copy prediction unit 6 receives a plurality of divided blocks from the region dividing unit 91, the reference region searching unit 92 resembles each divided block from among the locally decoded images stored in the intra memory 12. Each reference area (reference block corresponding to the divided block) is searched, and a block shift vector, which is a vector indicating the reference area, is output.
FIG. 49 is an explanatory diagram showing block shift vectors indicating reference blocks corresponding to a plurality of divided blocks.
In the example of FIG. 49, the block to be encoded is divided into three divided blocks, and block shift vectors (1) to (3) indicating the reference blocks (1) to (3) corresponding to the three divided blocks are shown. Yes.

画面内コピー予測部6の予測画像生成部93は、参照領域探索部92から複数のブロックシフトベクトルを受けると、ブロックシフトベクトル毎に、当該ブロックシフトベクトルが指し示す参照ブロックを取得する。
予測画像生成部93は、複数のブロックシフトベクトルを用いて、複数の参照ブロックを取得すると、複数の参照ブロックを符号化対象ブロック全体の予測画像として出力する。
When the predicted image generation unit 93 of the intra-screen copy prediction unit 6 receives a plurality of block shift vectors from the reference region search unit 92, the predicted image generation unit 93 acquires a reference block indicated by the block shift vector for each block shift vector.
When the prediction image generation unit 93 acquires a plurality of reference blocks using a plurality of block shift vectors, the prediction image generation unit 93 outputs the plurality of reference blocks as a prediction image of the entire encoding target block.

画面内コピー予測部6のベクトル差分計算部94は、参照領域探索部92から複数のブロックシフトベクトルを受けると、複数のブロックシフトベクトルが可変長符号化部15で可変長符号化される際に、複数のブロックシフトベクトルの全体の符号量が最も少なくなる複数のブロックシフトベクトルの符号化順を決定して、その符号化順に複数のブロックシフトベクトルの並び替えを実施する。
以下、ベクトル差分計算部94の処理内容を具体的に説明する。
When the vector difference calculation unit 94 of the intra-screen copy prediction unit 6 receives a plurality of block shift vectors from the reference area search unit 92, the variable length encoding unit 15 performs variable length encoding on the plurality of block shift vectors. The coding order of the plurality of block shift vectors that minimizes the total code amount of the plurality of block shift vectors is determined, and the plurality of block shift vectors are rearranged in the coding order.
Hereinafter, the processing content of the vector difference calculation part 94 is demonstrated concretely.

ベクトル差分計算部94は、参照領域探索部92から複数のブロックシフトベクトルを受けると、符号化対象ブロックの近傍にあるブロック(直前の符号化済み予測ブロック、あるいは、当該予測ブロックの周囲の符号化済み予測ブロック)のブロックシフトベクトルと参照領域探索部92から出力されたブロックシフトベクトルとの差分を算出する。あるいは、1つの符号化対象ブロックにおける複数の分割ブロックのブロックシフトベクトルの間で差分を算出ことも考えられる。   When the vector difference calculation unit 94 receives a plurality of block shift vectors from the reference region search unit 92, the vector difference calculation unit 94 is a block in the vicinity of the block to be encoded (the previous encoded prediction block or encoding around the prediction block). Difference between the block shift vector of the (predicted prediction block) and the block shift vector output from the reference region search unit 92 is calculated. Alternatively, a difference may be calculated between block shift vectors of a plurality of divided blocks in one encoding target block.

ここで、図50は符号化対象ブロックが9個の領域に分割されて、9本のブロックシフトベクトルが得られている様子を示す説明図である。9本のブロックシフトベクトルには、0〜8のインデックスが付けられている。
このとき、i番目のブロックシフトベクトルを(BVx,BVy)で表すと、ベクトル差分計算部94は、(BVx−BVxi−1,BVy−BVyi−1)のようにして2つの隣り合ったベクトルをペアにしてベクトルの差分を求めるようにしてもよい。
なお、(BVx,BVy)については、近傍にあるブロックのブロックシフトベクトルを用いて予測を行ってもよいし、あるいは(10,10)などの適当な定数により予測を行ってもよい。
Here, FIG. 50 is an explanatory diagram illustrating a state in which the encoding target block is divided into nine regions and nine block shift vectors are obtained. The nine block shift vectors are indexed from 0 to 8.
At this time, when the i-th block shift vector is represented by (BVx i , BVy i ), the vector difference calculation unit 94 is represented by 2 as (BVx i −BVx i−1 , BVy i −BVy i−1 ). A vector difference may be obtained by pairing two adjacent vectors.
Note that (BVx 0 , BVy 0 ) may be predicted using block shift vectors of neighboring blocks, or may be predicted using an appropriate constant such as (10, 10).

上記のようにブロックシフトベクトルの差分を求め、この差分を可変長符号化部15が符号化する場合、その差分をゼロ近傍に集中させることができれば、少ない符号量で符号化することが可能になり、高い符号化効率を実現することができる。
図50の例では、(BVx,BVy)と(BVx,BVy)などは、類似しているベクトルであるため(ベクトルの方向が近い)、ベクトルの差分を小さくすることができるが、(BVx,BVy)と(BVx,BVy)などでは、類似していないため、ベクトルの差分が非常に大きくなり、符号化効率が低下する。
そこで、ベクトル差分計算部94は、ブロックシフトベクトル間の差分が小さくなるようにベクトルの並べ替えを行う。
When the difference of the block shift vector is obtained as described above, and the difference is encoded by the variable length encoding unit 15, if the difference can be concentrated near zero, it is possible to encode with a small amount of code. Thus, high encoding efficiency can be realized.
In the example of FIG. 50, (BVx 6 , BVy 6 ) and (BVx 7 , BVy 7 ) and the like are similar vectors (vector directions are close), so that the vector difference can be reduced. , (BVx 3 , BVy 3 ) and (BVx 4 , BVy 4 ) and the like are not similar, so that the vector difference becomes very large, and the coding efficiency decreases.
Therefore, the vector difference calculation unit 94 rearranges the vectors so that the difference between the block shift vectors becomes small.

図51はベクトル差分計算部94によるベクトルの並べ替え方法を示す説明図である。
図51では、図50に示している9本のブロックシフトベクトルの原点を合わせて図示している。
ここで、水平方向からのなす角θが最も小さいインデックス(3)のベクトルと、最も大きいインデックス(2)のベクトルに着目し、例えば、これら2つのベクトルがなす角を4等分して4つのエリアを定義し、これを順にA,A,A,Aとする。
FIG. 51 is an explanatory diagram showing a vector rearrangement method by the vector difference calculation unit 94.
In FIG. 51, the origins of the nine block shift vectors shown in FIG. 50 are shown together.
Here, paying attention to the vector of the index (3) having the smallest angle θ formed from the horizontal direction and the vector of the largest index (2), for example, by dividing the angle formed by these two vectors into four equal parts, An area is defined, and these are sequentially set as A 0 , A 1 , A 2 , and A 3 .

まず、エリアAに含まれるブロックシフトベクトルを、インデックスが小さい順に符号化する。つまり、インデックス(3)のブロックシフトベクトルを可変長符号化部15に出力して符号化し、続いてインデックス(8)のベクトルの符号化として、インデックス(8)のベクトルとインデックス(3)のベクトルとの差分(BVx−BVx,BVy−BVy)を符号化する。
次に、エリアAに含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。つまり、インデックス(5)のベクトルの符号化として、インデックス(5)のベクトルとインデックス(8)のベクトルとの差分(BVx−BVx,BVy−BVy)を符号化する。
同様に、エリアA,Aに含まれるブロックシフトベクトルをインデックスが小さい順に符号化する。
First, a block shift vector included in the area A 0, is encoded in the order index is small. That is, the block shift vector of the index (3) is output to the variable length encoding unit 15 and encoded, and then the vector of the index (8) and the vector of the index (3) are encoded as the vector of the index (8). encoding the difference (BVx 8 -BVx 3, BVy 8 -BVy 3) with.
Next, coding a block shift vector included in the area A 1 in the order index is small. That is, as the encoding of the vector of index (5), the difference (BVx 5 -BVx 8 , BVy 5 -BVy 8 ) between the vector of index (5) and the vector of index ( 8 ) is encoded.
Similarly, block shift vectors included in areas A 2 and A 3 are encoded in ascending order of index.

このようにすることで、ブロックシフトベクトルを単純にインデックス(0)から順に(1),(2),・・・と符号化していく場合と比べて、直前に符号化したベクトルとの差分を小さく抑えることができ、ベクトルの符号化に必要な符号量を削減して符号化効率を改善することができる。
この実施の形態3は、図51に示すようなエリアの分割方法及び分割数に限定されるものではなく、例えば、図55に示すように、図51とは異なるエリアの分割方法及び分割数を用いることも当然考えられる。
By doing in this way, the difference with the vector coded immediately before is compared with the case where the block shift vector is simply coded as (1), (2),. It is possible to reduce the coding efficiency by reducing the amount of code necessary for vector coding.
The third embodiment is not limited to the area division method and the number of divisions as shown in FIG. 51. For example, as shown in FIG. Of course, it is also conceivable.

上記のように、ベクトル差分計算部94がブロックシフトベクトルの並べ替えを行っているため、図15の画像復号装置における画面内コピー予測部35が、復号したブロックシフトベクトルを正しい順序に並べ直す必要がある。
しかし、画面内コピー予測部35では、どのような並べ替えが行われているかが未知であるため、正しい並べ替えを行うことができるようにベクトル差分計算部94が、ベクトルの並べ替え情報を出力し、このベクトルの並べ替え情報を可変長符号化部15で符号化してビットストリームに多重化する。
As described above, since the vector difference calculation unit 94 rearranges the block shift vectors, the intra-screen copy prediction unit 35 in the image decoding apparatus in FIG. 15 needs to rearrange the decoded block shift vectors in the correct order. There is.
However, since the in-screen copy prediction unit 35 does not know what sort is performed, the vector difference calculation unit 94 outputs vector rearrangement information so that correct sort can be performed. The vector rearrangement information is encoded by the variable length encoding unit 15 and multiplexed into a bit stream.

ベクトル並べ替え情報は、インデックス(0)から順に各ブロックシフトベクトルがA,A,A,Aのいずれのエリアに属しているかを示すものである。つまり、図51の例では、ベクトル並べ替え情報は、図52のようになる。
ただし、図51のようなA,A,A,Aといったエリア分割を行わず、全てのベクトルを任意に入れ替えて、その入れ替え順番をベクトルのインデックスによって表現しているベクトル並べ替え情報を符号化するようにしてもよい。
しかし、このようにすると符号化対象ブロック内に含まれるブロックシフトベクトルの数が例えば64などのように大きくなった場合、(0)から(63)までのインデックスを符号化しなければならず、ベクトル並べ替え情報の符号化に必要な符号量が大きくなり符号化効率が低下する。
一方、図51のようなエリア分割を行って各ベクトルが属するエリアのインデックスだけをベクトル並べ替え情報として符号化するようにすれば、インデックスの符号化に必要な符号量を分割エリア数で調整することができるため、符号量を削減して符号化効率を改善することができる。
The vector rearrangement information indicates whether each block shift vector belongs to A 0 , A 1 , A 2 , or A 3 in order from the index (0). That is, in the example of FIG. 51, the vector rearrangement information is as shown in FIG.
However, the vector rearrangement information in which all vectors are arbitrarily replaced without changing the areas A 0 , A 1 , A 2 , and A 3 as shown in FIG. 51 and the replacement order is expressed by the vector index. May be encoded.
However, when the number of block shift vectors included in the encoding target block is increased to 64, for example, the indexes from (0) to (63) must be encoded. The amount of code required for encoding the rearrangement information increases and the encoding efficiency decreases.
On the other hand, if area division as shown in FIG. 51 is performed and only the index of the area to which each vector belongs is encoded as vector rearrangement information, the code amount necessary for encoding the index is adjusted by the number of divided areas. Therefore, it is possible to improve the coding efficiency by reducing the code amount.

この実施の形態3による画像復号装置は、上記実施の形態1における図15の画像復号装置と同様の構成であるが、画面内コピー予測部35の内部構成および動作が異なる。
図53はこの発明の実施の形態3による画像復号装置の画面内コピー予測部35を示す構成図である。
図53において、ベクトル並べ替え部101は可変長復号部31により復号された各分割ブロックに係るブロックシフトベクトルの並べ替え情報を参照して、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える(ベクトル差分計算部94により並べ替えられる前のブロックシフトベクトルと同じ順番になるように、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを並べ替える)処理を実施する。
予測画像生成部102はベクトル並べ替え部101により並び替えられたブロックシフトベクトルを用いて、イントラ用メモリ38に格納されている局所復号画像から、各分割ブロックに対応する参照ブロックを読み出し、複数の参照ブロックを復号対象ブロック全体の予測画像として出力する処理を実施する。
The image decoding apparatus according to the third embodiment has the same configuration as that of the image decoding apparatus of FIG. 15 in the first embodiment, but the internal configuration and operation of the intra-screen copy prediction unit 35 are different.
FIG. 53 is a block diagram showing the intra-screen copy prediction unit 35 of the image decoding apparatus according to Embodiment 3 of the present invention.
In FIG. 53, the vector rearrangement unit 101 refers to the block shift vector rearrangement information related to each divided block decoded by the variable length decoding unit 31, and blocks the divided blocks decoded by the variable length decoding unit 31. The shift vectors are rearranged in the correct order (the block shift vectors of the respective divided blocks decoded by the variable length decoding unit 31 are rearranged so as to be in the same order as the block shift vectors before being rearranged by the vector difference calculation unit 94. ) Implement the process.
The predicted image generation unit 102 reads out a reference block corresponding to each divided block from the local decoded image stored in the intra memory 38 using the block shift vector rearranged by the vector rearrangement unit 101, and outputs a plurality of reference blocks. A process of outputting the reference block as a predicted image of the entire decoding target block is performed.

次に動作について説明する。
画面内コピー予測部35のベクトル並べ替え部101は、可変長復号部31から各分割ブロックに係るブロックシフトベクトルの並べ替え情報を受けると、その並べ替え情報を参照して、可変長復号部31により復号された各分割ブロックのブロックシフトベクトルを正しい順番に並べ替える処理を行う。
図54は並べ替え前後のベクトルインデックスとベクトルの並べ替え情報を示す説明図である。
以下、図54を参照しながら、ブロックシフトベクトルの並べ替えを説明する。
Next, the operation will be described.
When the vector rearrangement unit 101 of the intra-screen copy prediction unit 35 receives the block shift vector rearrangement information related to each divided block from the variable length decoding unit 31, the variable length decoding unit 31 refers to the rearrangement information. A process of rearranging the block shift vectors of the respective divided blocks decoded in the above in the correct order is performed.
FIG. 54 is an explanatory diagram showing vector indexes and vector rearrangement information before and after rearrangement.
Hereinafter, the rearrangement of block shift vectors will be described with reference to FIG.

9本のブロックシフトベクトルがあり、復号された順番に(0)から(8)までのインデックスが付けられているものとする。
ベクトル並べ替え部101は、ベクトル並べ替え情報(所属エリアインデックス)を参照して、所属エリアインデックスが小さい順にブロックシフトベクトルを並べる。つまり、所属エリアインデックスが(0)となるブロックシフトベクトルを求め、所属エリアインデックスが(0)となるブロックシフトベクトルが複数存在する場合は、ベクトルインデックスが小さい順に並べる。
図54の例では、所属エリアインデックスが(0)となるブロックシフトベクトルは、インデックス(3)とインデックス(8)のベクトルであるため、ベクトルインデックスが小さい順に、インデックス(3)とインデックス(8)のベクトルを並べる。
これを繰り返していき、最終的に図54のようにベクトルの並べ替えが行われ、図1の画像符号化装置における画面内コピー予測部6で並べ替えを行う前の正しいベクトルインデックスを得ることができる。
Assume that there are nine block shift vectors, and indexes (0) to (8) are assigned in the order of decoding.
The vector rearrangement unit 101 refers to the vector rearrangement information (affiliated area index) and arranges the block shift vectors in ascending order of the belonging area index. That is, a block shift vector with the belonging area index (0) is obtained, and when there are a plurality of block shift vectors with the belonging area index (0), they are arranged in ascending order of the vector index.
In the example of FIG. 54, since the block shift vector whose affiliation area index is (0) is a vector of index (3) and index (8), index (3) and index (8) are in ascending order of vector index. Of vectors.
This is repeated, and finally the vector is rearranged as shown in FIG. 54, and the correct vector index before the rearrangement is performed by the intra-screen copy prediction unit 6 in the image encoding device of FIG. it can.

画面内コピー予測部35の予測画像生成部102は、可変長復号部31により復号された領域分割情報を受け取り、ベクトル並べ替え部101により正しい順番に並び替えられたブロックシフトベクトルを用いて、イントラ用メモリ38に格納されている局所復号画像から、各分割ブロックに対応する参照ブロックを読み出し、複数の参照ブロックを復号対象ブロック全体の予測画像として出力する。   The predicted image generation unit 102 of the intra-screen copy prediction unit 35 receives the region division information decoded by the variable-length decoding unit 31 and uses the block shift vectors rearranged in the correct order by the vector rearrangement unit 101 to perform intra prediction. The reference block corresponding to each divided block is read from the local decoded image stored in the memory 38, and a plurality of reference blocks are output as predicted images of the entire decoding target block.

この実施の形態3では、可変長符号化部15がベクトルの並べ替え情報を符号化してビットストリームに多重化しているものを示したが、並べ替え情報を利用せずとも画像復号装置で正しくブロックシフトベクトルを並べ替えることが可能である場合には、必ずしもベクトルの並べ替え情報を符号化する必要はない。   In the third embodiment, the variable length encoding unit 15 encodes the vector rearrangement information and multiplexes it into the bitstream. However, the image decoding apparatus correctly blocks without using the rearrangement information. When the shift vectors can be rearranged, it is not always necessary to encode the vector rearrangement information.

以上で明らかなように、この実施の形態3によれば、可変長符号化部15が、ベクトル差分計算部94により並び替えられた複数のブロックシフトベクトルを並び順に可変長符号化するとともに、ベクトル差分計算部94によるブロックシフトベクトルの並び替えを示す並び替え情報を可変長符号化するように構成したので、ブロックシフトベクトルの符号化に必要な符号量が削減され、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。   As is apparent from the above, according to the third embodiment, the variable length coding unit 15 performs variable length coding on the plurality of block shift vectors rearranged by the vector difference calculation unit 94 in the order, and Since the rearrangement information indicating the rearrangement of the block shift vector by the difference calculation unit 94 is configured to be variable length encoded, the amount of code necessary for encoding the block shift vector is reduced, and the encoding performance for the screen content is improved. There is an effect that can be enhanced.

また、この実施の形態3によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。   In addition, according to the third embodiment, the image decoding apparatus and the image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above-described effects can be obtained. Play.

実施の形態4.
上記実施の形態1では、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを符号化する際、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルを予測ベクトルとしてベクトルの差分値を符号化するものを示したが、ベクトルの差分値を符号化するか、あるいは、ベクトルの予測を行わずにブロックシフトベクトルを直接符号化するかを適応的に切り替えるようにしてもよい。
Embodiment 4 FIG.
In the first embodiment, when the variable-length encoding unit 15 encodes the block shift vector for intra-screen copy prediction, the previous encoded block vector or the encoded blocks around the encoding target block Shown that the vector difference value is encoded with the vector as the prediction vector, but whether the vector difference value is encoded or whether the block shift vector is directly encoded without vector prediction is applied May be switched automatically.

この実施の形態4による画像符号化装置は、上記実施の形態1における図1の画像符号化装置と同様の構成であるが、可変長符号化部15の内部構成および動作が異なる。
図56はこの発明の実施の形態4による画像符号化装置の可変長符号化部15のうち画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。
The image coding device according to the fourth embodiment has the same configuration as the image coding device of FIG. 1 in the first embodiment, but the internal configuration and operation of the variable length coding unit 15 are different.
FIG. 56 is a block diagram showing a portion of the variable length coding unit 15 of the image coding device according to Embodiment 4 of the present invention that codes the block shift vector for intra-screen copy prediction.

図56において、ベクトル符号量計算部113は画面内コピー予測部6からブロックシフトベクトル111と、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルなどから生成した予測ベクトル112とを受け取り、ブロックシフトベクトル111をそのまま符号化する場合の符号量と、ブロックシフトベクトル111と予測ベクトル112の差分を取ってから符号化する場合の符号量とを求め、これらの符号量を示す情報として符号量情報114を出力する処理を実施する。
ベクトル符号量比較部115はベクトル符号量計算部113から出力された符号量情報114に基づいてブロックシフトベクトル111をそのまま符号化する場合と、ブロックシフトベクトル111と予測ベクトル112の差分を取ってから符号化する場合とにおいて、どちらの方が符号化性能が高くなるかを決定し、最終的に符号化するベクトル116と、ベクトルの予測を行うか否かを示すフラグ117(例えば、予測を行う場合は1、予測を行わない場合は0)を出力する処理を実施する。
ベクトル116とフラグ117は、可変長符号化部15の内部で可変長符号化されてビットストリームに重畳される。
In FIG. 56, the vector code amount calculation unit 113 uses the block shift vector 111 from the intra-screen copy prediction unit 6 and the vector of the previous encoded block or the vector of the encoded block around the encoding target block. The generated prediction vector 112 is received, and the code amount in the case of encoding the block shift vector 111 as it is and the code amount in the case of encoding after taking the difference between the block shift vector 111 and the prediction vector 112 are obtained. The code amount information 114 is output as information indicating the code amount.
The vector code amount comparison unit 115 encodes the block shift vector 111 as it is based on the code amount information 114 output from the vector code amount calculation unit 113, and after taking the difference between the block shift vector 111 and the prediction vector 112. In the case of encoding, it is determined which one has higher encoding performance, and finally a vector 116 to be encoded and a flag 117 indicating whether or not to perform vector prediction (for example, prediction is performed). 1 is output in the case, and 0) is output when the prediction is not performed.
The vector 116 and the flag 117 are variable-length encoded inside the variable-length encoding unit 15 and superimposed on the bitstream.

次に動作について説明する。
まず、ベクトル符号量計算部113は、画面内コピー予測部6から(BVx,BVy)で表されるブロックシフトベクトル111と、(PBVx,PBVy)で表される予測ベクトル112を受け取ると、予測ベクトル112を使用せずにブロックシフトベクトル111をそのまま符号化する場合の符号量と、予測ベクトル112を使用して差分値(BVx−PBVx,BVy−PBVy)を符号化する場合の符号量とを計算し、それらの計算結果を符号量情報114として出力する。
ベクトル符号量比較部115は、ベクトル符号量計算部113から符号量情報114を受け取ると、ブロックシフトベクトル111である(BVx,BVy)を符号化する場合の符号量と、差分値(BVx−PBVx,BVy−PBVy)を符号化する場合の符号量とを比較して、小さくなる方を選択する。
Next, the operation will be described.
First, when the vector code amount calculation unit 113 receives the block shift vector 111 represented by (BVx, BVy) and the prediction vector 112 represented by (PBVx, PBVy) from the intra-screen copy prediction unit 6, the prediction vector 112 The code amount when the block shift vector 111 is encoded as it is without using 112 and the code amount when the difference value (BVx−PBVx, BVy−PBVy) is encoded using the prediction vector 112 are calculated. These calculation results are output as code amount information 114.
When receiving the code amount information 114 from the vector code amount calculation unit 113, the vector code amount comparison unit 115 encodes the block shift vector 111 (BVx, BVy) and the difference value (BVx−PBVx). , BVy−PBVy) is compared with the code amount when encoding, and the smaller one is selected.

ベクトル符号量比較部115は、差分値(BVx−PBVx,BVy−PBVy)を符号化する場合の符号量の方が小さくなる場合、その差分値(BVx−PBVx,BVy−PBVy)をベクトル116として出力するとともに、ベクトルの予測を行うか否かを示すフラグ117を1(予測を行うことを示す値)として出力する。
一方、ブロックシフトベクトル111である(BVx,BVy)を符号化する場合の符号量の方が小さくなる場合、(BVx,BVy)をベクトル116として出力するとともに、フラグ117を0(予測を行わないことを示す値)として出力する。
ベクトル116とフラグ117は、可変長符号化部15の内部で可変長符号化されてビットストリームに重畳される。
When the code amount when the difference value (BVx−PBVx, BVy−PBVy) is encoded becomes smaller, the vector code amount comparison unit 115 sets the difference value (BVx−PBVx, BVy−PBVy) as the vector 116. In addition to outputting, a flag 117 indicating whether or not to perform vector prediction is output as 1 (a value indicating that prediction is performed).
On the other hand, when the code amount when encoding the block shift vector 111 (BVx, BVy) is smaller, (BVx, BVy) is output as the vector 116 and the flag 117 is set to 0 (no prediction is performed). Output as a value).
The vector 116 and the flag 117 are variable-length encoded inside the variable-length encoding unit 15 and superimposed on the bitstream.

画面内コピー予測におけるブロックシフトベクトル111は、予測が難しいため、直前の符号化済みブロックのベクトル、あるいは、符号化対象ブロックの周囲の符号化済みブロックのベクトルによって常に高精度に予測できるとは限らない。したがって、ベクトルの予測を実施することで逆に符号量が増加してしまうケースがある。この実施の形態4では、ベクトルの予測を行うか否かをベクトルの予測精度に応じて適応的に切り替えられるように構成したため、ブロックシフトベクトル111の符号化に必要な符号量を削減して符号化性能を向上することが可能である。
なお、ベクトルの予測を実施するか否かを示すフラグ117は、ベクトルの水平成分と垂直成分のそれぞれに対して個別に設けるようにしてもよい。つまり、例えばベクトルの水平成分は予測を実施し、垂直成分は予測を実施しない、といった柔軟な選択が行えるようにしてもよい。このようにすることで、符号量の削減効果がさらに向上する。
Since the block shift vector 111 in the intra-screen copy prediction is difficult to predict, it is not always possible to predict with high accuracy by the vector of the immediately previous encoded block or the vector of the encoded blocks around the encoding target block. Absent. Therefore, there are cases where the code amount increases conversely by performing vector prediction. In the fourth embodiment, since whether or not to perform vector prediction is adaptively switched according to the vector prediction accuracy, the code amount required for encoding the block shift vector 111 is reduced and the code is encoded. It is possible to improve the performance.
Note that the flag 117 indicating whether or not to perform vector prediction may be provided individually for each of the horizontal and vertical components of the vector. That is, for example, it is possible to perform flexible selection such that prediction is performed for the horizontal component of the vector and prediction is not performed for the vertical component. In this way, the code amount reduction effect is further improved.

ここで、図57及び図58はこの発明の実施の形態4による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである。
以下、図57及び図58を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
ここでは、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
57 and 58 are flowcharts showing a procedure in which the variable length coding unit 15 of the image coding apparatus according to Embodiment 4 of the present invention performs variable length coding of the block shift vector for intra-screen copy prediction.
Hereinafter, a procedure in which the variable-length encoding unit 15 performs variable-length encoding of the block shift vector for intra-screen copy prediction will be described with reference to FIGS. 57 and 58.
Here, the value of the vector 116 to be encoded is (Vx, Vy). (Vx, Vy) is equal to (BVx, BVy) when the flag 117 is 0, and is equal to (BVx−PBVx, BVy−PBVy) when the flag 117 is 1.

まず、可変長符号化部15は、Vxの絶対値|Vx|を求め(図57のステップST120)、フラグabs_mvd_greater0_flag_xを符号化する(ステップST121)。フラグabs_mvd_greater0_flag_xは、|Vx|が0より大きい場合に1、|Vx|が0以下の場合に0となるフラグである。
また、Vyについても同様にVyの絶対値|Vy|を求め(ステップST122)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST123)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグである。
可変長符号化部15は、|Vx|と|Vy|が共に0の場合(ステップST124:Yesの場合)、そのまま終了するが、|Vx|又は|Vy|の少なくとも一方が0でない場合(ステップST124:Noの場合)、フラグis_pred_flagを符号化する(図58のステップST125)。フラグis_pred_flagは、フラグ117の値に等しく、ベクトルの予測を行う場合に1、予測を行わない場合に0となるフラグである。
First, the variable length coding unit 15 obtains the absolute value | Vx | of Vx (step ST120 in FIG. 57), and codes the flag abs_mvd_greeter0_flag_x (step ST121). The flag abs_mvd_creator0_flag_x is 1 when | Vx | is greater than 0, and 0 when | Vx | is 0 or less.
Similarly, for Vy, the absolute value | Vy | of Vy is obtained (step ST122), and the flag abs_mvd_greeter0_flag_y is encoded (step ST123). The flag abs_mvd_greeter0_flag_y is 1 when | Vy | is greater than 0, and 0 when | Vy | is 0 or less.
If both | Vx | and | Vy | are 0 (step ST124: Yes), the variable-length encoding unit 15 terminates as it is, but if at least one of | Vx | or | Vy | is not 0 (step When ST124: No, the flag is_pred_flag is encoded (step ST125 in FIG. 58). The flag is_pred_flag is equal to the value of the flag 117, and is 1 when the vector is predicted and 0 when the prediction is not performed.

次に、可変長符号化部15は、Vxの絶対値|Vx|が0よりも大きければ(ステップST126:Yesの場合)、フラグabs_mvd_greater1_flag_xを符号化する(ステップST127)。フラグabs_mvd_greater1_flag_xは|Vx|が1よりも大きい場合に1、そうでない場合に0となるフラグである。
また、Vyの絶対値|Vy|が0よりも大きければ(ステップST128:Yesの場合)、フラグabs_mvd_greater1_flag_yを符号化する(ステップST129)。フラグabs_mvd_greater1_flag_yは|Vy|が1よりも大きい場合に1、そうでない場合に0となるフラグである。
Next, if the absolute value | Vx | of Vx is larger than 0 (in the case of Yes at Step ST126), the variable length encoding unit 15 encodes the flag abs_mvd_greeter1_flag_x (Step ST127). The flag abs_mvd_greeter1_flag_x is 1 when | Vx | is greater than 1, and is 0 otherwise.
If the absolute value | Vy | of Vy is greater than 0 (step ST128: Yes), the flag abs_mvd_glater1_flag_y is encoded (step ST129). The flag abs_mvd_greeter1_flag_y is 1 when | Vy | is greater than 1, and is 0 otherwise.

次に、可変長符号化部15は、Vxの絶対値|Vx|が1よりも大きければ(ステップST130:Yesの場合)、Vxの絶対値|Vx|から2を引いた値を符号化し(ステップST131)、Vxの絶対値|Vx|が0よりも大きければ(ステップST132:Yesの場合)、フラグmvd_sign_flag_xを符号化する(ステップST133)。フラグmvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグである。
また、Vyについても同様に、Vyの絶対値|Vy|が1よりも大きければ(ステップST134:Yesの場合)、Vyの絶対値|Vy|から2を引いた値を符号化し(ステップST135)、Vyの絶対値|Vy|が0よりも大きければ(ステップST136:Yesの場合)、フラグmvd_sign_flag_yを符号化する(ステップST137)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグである。
Next, if the absolute value | Vx | of Vx is larger than 1 (in the case of Yes in step ST130), the variable length encoding unit 15 encodes a value obtained by subtracting 2 from the absolute value | Vx | If the absolute value | Vx | of Vx is larger than 0 (step ST132: Yes), the flag mvd_sign_flag_x is encoded (step ST133). The flag mvd_sign_flag_x is a flag that is 0 when Vx is positive and 1 when Vx is negative.
Similarly, for Vy, if the absolute value | Vy | of Vy is larger than 1 (step ST134: Yes), a value obtained by subtracting 2 from the absolute value | Vy | of Vy is encoded (step ST135). If the absolute value | Vy | of Vy is larger than 0 (step ST136: Yes), the flag mvd_sign_flag_y is encoded (step ST137). The flag mvd_sign_flag_y is a flag that is 0 when Vy is positive and 1 when Vy is negative.

ここでは、フラグabs_mvd_greater0_flag_x及びフラグabs_mvd_greater0_flag_y、さらにフラグabs_mvd_greater1_flag_x及びフラグabs_mvd_greater1_flag_yを用いることでベクトルが0あるいは1の場合はフラグだけを符号化するようにしているが、必ずしも、これらのフラグの全てを用いなくてもよい。つまり、例えばベクトルが0か否かを示すフラグだけを利用し、|Vx|から1を引いた値および|Vy|から1を引いた値を符号化することなどが考えられる。   Here, if the flag abs_mvd_creator0_flag_x and the flag abs_mvd_creator0_flag_y, and the flag abs_mvd_greeter1_flag_x and the flag abs_mvd_greeter1_flag_y are used, the vector is set to 0 or 1, and the flag is set to 0 or 1. Also good. That is, for example, it is possible to use only a flag indicating whether the vector is 0 or not and encode a value obtained by subtracting 1 from | Vx | and a value obtained by subtracting 1 from | Vy |.

図57及び図58に示すベクトルの可変長符号化の手順が従来の画像符号化装置と異なるのは、画面内コピー予測におけるブロックシフトベクトル111の予測を行うか否かを示すフラグis_pred_flagをステップST125で符号化している点だけである。したがって、ベクトルの可変長符号化の手順を従来の画像符号化装置からほとんど変えることなく、画面内コピー予測におけるブロックシフトベクトル111の予測を行うか否かを適応的に切り替えることが可能である。   57 and 58 is different from the conventional image coding apparatus in that the flag is_pred_flag indicating whether or not the block shift vector 111 is predicted in the intra-screen copy prediction is set in step ST125. It is only the point which is encoded by. Therefore, it is possible to adaptively switch whether or not to perform prediction of the block shift vector 111 in intra-screen copy prediction, with almost no change in the vector variable-length encoding procedure from the conventional image encoding apparatus.

ここで、画面内コピー予測におけるブロックシフトベクトル111の予測を行わずに(BVx,BVy)をそのまま符号化する場合を考えてみると、ベクトルの値には制限があることがわかる。画面内コピー予測で参照できる領域は、図59に示すような符号化済み領域(符号化対象ブロック以前に符号化が完了している領域)のみであるため、(BVx,BVy)=(0,0)となることはあり得ず、さらに、BVx>0かつBVy>0となることもあり得ない。
したがって、BVx=0のときは必ずBVy<0になり、BVy=0のときは必ずBVx<0になる他、BVxとBVyの正負の組み合わせは、BVx<0かつBVy<0、BVx>0かつBVy<0、BVx<0かつBVy>0のいずれかとなる。
Here, considering the case where (BVx, BVy) is encoded as it is without predicting the block shift vector 111 in intra-screen copy prediction, it can be seen that there is a limit to the value of the vector. Since the area that can be referred to in intra-screen copy prediction is only an encoded area (an area where encoding has been completed before the encoding target block) as shown in FIG. 59, (BVx, BVy) = (0, 0) and BVx> 0 and BVy> 0 cannot be satisfied.
Therefore, when BVx = 0, BVy <0 is always satisfied, and when BVy = 0, BVx <0 is always satisfied, and the positive and negative combinations of BVx and BVy are BVx <0 and BVy <0, BVx> 0 and One of BVy <0, BVx <0 and BVy> 0.

図57及び図58では、Vxの符号を表すフラグmvd_sign_flag_x、Vyの符号を表すフラグmvd_sign_flag_yを常に符号化していたが、画面内コピー予測におけるブロックシフトベクトル111の予測を行わずに(BVx,BVy)をそのまま符号化する場合は、上記のようにベクトルの値に制限があることを利用すると、例えば、図60、図61及び図62に示すようなベクトルの可変長符号化の手順も考えることができる。   In FIGS. 57 and 58, the flag mvd_sign_flag_x representing the code of Vx and the flag mvd_sign_flag_y representing the code of Vy are always encoded, but the block shift vector 111 in the intra-screen copy prediction is not predicted (BVx, BVy). If the vector value is limited as described above, for example, the procedure of variable length coding of vectors as shown in FIGS. 60, 61 and 62 may be considered. it can.

図60及び図61におけるステップST140〜ST152までは図57及び図58と同様であるため説明を割愛する。ただし、mvd_sign_flag_xとmvd_sign_flag_yの符号化(図58のステップST132及びST133とステップST136及びST137)を行っていない点に注意されたい。図62のステップST154において、フラグis_pred_flagを符号化し、これが1である場合(ステップST155:Yesの場合)、つまり、ブロックシフトベクトル111の予測を実施する場合は、mvd_sign_flag_xとmvd_sign_flag_yを符号化する(ステップST156からST159)。
一方、フラグis_pred_flagが0となる場合(ステップST155:Noの場合)、つまりブロックシフトベクトル111の予測を実施せず、ベクトルをそのまま符号化する場合は、VxまたはVyのいずれかが0となるのであれば符号フラグ(mvd_sign_flag_xやmvd_sign_flag_y)を符号化することなく終了する(ステップST160:Noの場合)。なぜならば、Vy=0ならば必ずVx<0となり、Vx=0ならば必ずVy<0となるため正負を表す符号を別途符号化する必要がないためである。
また、VxとVyがどちらも0でない場合(ステップST160:Yesの場合)、まず、フラグboth_negative_flagを符号化する(ステップST161)。フラグboth_negative_flagは、Vx<0かつVy<0の場合に1、そうでない場合に0となるフラグである。Vx<0かつVy<0の場合は(ステップST162:Yesの場合)、そのまま終了し、Vx又はVyのうち、少なくとも一方が0より大きい場合(ステップST162:Noの場合)、VxとVyのどちらかの符号をシグナリングする必要があるため、図62ではVxの符号としてフラグmvd_sign_flag_xを符号化する(ステップST163)。
Steps ST140 to ST152 in FIG. 60 and FIG. 61 are the same as those in FIG. 57 and FIG. However, it should be noted that mvd_sign_flag_x and mvd_sign_flag_y are not encoded (steps ST132 and ST133 and steps ST136 and ST137 in FIG. 58). In step ST154 of FIG. 62, the flag is_pred_flag is encoded, and when it is 1 (step ST155: Yes), that is, when the block shift vector 111 is predicted, mvd_sign_flag_x and mvd_sign_flag_y are encoded (step ST156 to ST159).
On the other hand, when the flag is_pred_flag is 0 (step ST155: No), that is, when the block shift vector 111 is not predicted and the vector is encoded as it is, either Vx or Vy is 0. If there is, the code flag (mvd_sign_flag_x or mvd_sign_flag_y) is terminated without encoding (in the case of No in step ST160). This is because if Vy = 0, Vx <0 is always satisfied, and if Vx = 0, Vy <0 is always required, so that a sign representing positive / negative need not be separately encoded.
If neither Vx nor Vy is 0 (step ST160: Yes), first, the flag both_negative_flag is encoded (step ST161). The flag both_negative_flag is 1 when Vx <0 and Vy <0, and 0 otherwise. If Vx <0 and Vy <0 (in the case of step ST162: Yes), the process ends, and if at least one of Vx or Vy is greater than 0 (in the case of step ST162: No), either Vx or Vy Therefore, the flag mvd_sign_flag_x is encoded as the Vx code in FIG. 62 (step ST163).

図57及び図58と、図60、図61及び図62とを比較すると、図57及び図58ではVxとVyのそれぞれについて常に符号を表すフラグmvd_sign_flag_x,mvd_sign_flag_yを符号化しているのに対し、図60、図61及び図62では、ベクトルの予測を実施しない場合に、符号化するベクトルの値に制限があることを利用して符号を表すフラグの符号化回数を最小限に抑えている。これにより、画面内コピー予測におけるブロックシフトベクトル111の符号化に必要な符号量を削減することができ、符号化性能を向上させることができる。   57 and 58 are compared with FIGS. 60, 61, and 62, in FIG. 57 and FIG. 58, the flags mvd_sign_flag_x and mvd_sign_flag_y that always indicate the codes for Vx and Vy are encoded. In FIGS. 60, 61, and 62, when the vector prediction is not performed, the number of times of encoding the flag representing the code is minimized by using the fact that the value of the vector to be encoded is limited. Thereby, the amount of codes required for encoding the block shift vector 111 in intra-screen copy prediction can be reduced, and the encoding performance can be improved.

この実施の形態4による画像復号装置は、上記実施の形態1における図15の画像復号装置と同様の構成であるが、可変長復号部31、画面内コピー予測部35の内部構成および動作が異なる。
図63はこの発明の実施の形態4による画像復号装置の画面内コピー予測部35を示す構成図である。
図63において、参照ブロック座標決定部180は可変長復号部31により復号された画面内コピー予測パラメータに含まれているベクトル予測フラグから、その画面内コピー予測パラメータに含まれているブロックシフトベクトル111に対してベクトルの予測が行われているのかどうかを認識して、そのブロックシフトベクトル111から参照ブロックの位置を表す座標を特定する処理を実施する。
予測画像生成部181はイントラ用メモリ38に格納されている局所復号画像から、参照ブロック座標決定部180により特定された座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する処理を実施する。
The image decoding device according to the fourth embodiment has the same configuration as the image decoding device of FIG. 15 in the first embodiment, but the internal configurations and operations of the variable-length decoding unit 31 and the in-screen copy prediction unit 35 are different. .
FIG. 63 is a block diagram showing the intra-screen copy prediction unit 35 of the image decoding apparatus according to Embodiment 4 of the present invention.
In FIG. 63, the reference block coordinate determination unit 180 uses the block prediction vector 111 included in the intra-screen copy prediction parameter from the vector prediction flag included in the intra-screen copy prediction parameter decoded by the variable length decoding unit 31. Whether or not a vector is predicted is recognized, and a process of specifying coordinates representing the position of the reference block from the block shift vector 111 is performed.
The predicted image generation unit 181 reads a reference block on the coordinates specified by the reference block coordinate determination unit 180 from the local decoded image stored in the intra memory 38, and uses the reference block as a predicted image to the adding unit 37. Perform the output process.

次に動作について説明する。
図64及び図65は、画面内コピー予測パラメータが画像符号化装置にて図57及び図58に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したものである。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号し、これをVxに加算する(図64のステップST190)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号し、これをVyに加算する(ステップST191)。
Next, the operation will be described.
FIGS. 64 and 65 show the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 57 and 58. Is.
Here, the block shift vector in the intra-screen copy prediction is (Vx, Vy), and its initial value is 0. First, the variable length decoding unit 31 decodes the flag abs_mvd_greeter0_flag_x and adds it to Vx (step ST190 in FIG. 64).
Further, the variable length decoding unit 31 decodes the flag abs_mvd_greeter0_flag_y and adds it to Vy (step ST191).

可変長復号部31は、Vx,Vyのいずれかが0でない場合(ステップST192:Noの場合)、ベクトルが予測されているか否かを表すフラグis_pred_flagを復号する(図65のステップST193)。ここで、Vx,Vyが共に0である場合(フラグis_pred_flagを復号しない場合)、フラグis_pred_flagは1に設定される。
次に、可変長復号部31は、Vxが0よりも大きい場合(ステップST194:Yesの場合)、フラグabs_mvd_greater1_flag_xを復号し、これをVxに加算する(ステップST195)。
また、可変長復号部31は、Vyが0よりも大きい場合(ステップST196:Yesの場合)、フラグabs_mvd_greater1_flag_yを復号し、これをVyに加算する(ステップST197)。
When either Vx or Vy is not 0 (step ST192: No), the variable length decoding unit 31 decodes a flag is_pred_flag indicating whether or not a vector is predicted (step ST193 in FIG. 65). Here, when both Vx and Vy are 0 (when the flag is_pred_flag is not decoded), the flag is_pred_flag is set to 1.
Next, when Vx is greater than 0 (step ST194: Yes), the variable length decoding unit 31 decodes the flag abs_mvd_greeter1_flag_x and adds this to Vx (step ST195).
In addition, when Vy is larger than 0 (step ST196: Yes), the variable length decoding unit 31 decodes the flag abs_mvd_greeter1_flag_y and adds it to Vy (step ST197).

次に、可変長復号部31は、Vxが1よりも大きい場合(ステップST198:Yesの場合)、Vx’(=|Vx|−2)を復号し、これをVxに加算する(ステップST199)。そして、Vxが0よりも大きい場合(ステップST200:Yesの場合)、フラグmvd_sign_flag_xを復号し、これが1の場合だけVxの符号を負に設定する(ステップST201)。
また、可変長復号部31は、Vyが1よりも大きい場合(ステップST202:Yesの場合)、Vy’ (=|Vy|−2)を復号し、これをVyに加算する(ステップST203)。そして、Vyが0よりも大きい場合(ステップST204:Yesの場合)、フラグmvd_sign_flag_yを復号し、これが1の場合だけVyの符号を負に設定する(ステップST205)。
Next, when Vx is larger than 1 (in the case of Yes at Step ST198), the variable length decoding unit 31 decodes Vx ′ (= | Vx | −2) and adds this to Vx (Step ST199). . If Vx is greater than 0 (step ST200: Yes), the flag mvd_sign_flag_x is decoded, and the sign of Vx is set negative only when this is 1 (step ST201).
In addition, when Vy is larger than 1 (in the case of Yes in Step ST202), the variable length decoding unit 31 decodes Vy ′ (= | Vy | −2) and adds this to Vy (Step ST203). If Vy is greater than 0 (step ST204: Yes), the flag mvd_sign_flag_y is decoded, and the sign of Vy is set negative only when this is 1 (step ST205).

可変長復号部31は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル(Vx,Vy)と、このベクトルが予測ベクトルとの差分になっているか否かを表すベクトル予測フラグis_pred_flagを画面内コピー予測パラメータとして出力する。   The variable length decoding unit 31 sets a vector prediction flag is_pred_flag indicating whether the block shift vector (Vx, Vy) of the intra-screen copy prediction obtained by the above procedure is a difference between the vector and the prediction vector. Output as in-screen copy prediction parameters.

また、図66、図67及び図68は画面内コピー予測パラメータが画像符号化装置にて図60〜図62に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したものである。図66及び図67におけるステップST210〜ST220までは図64及び図65と同様であるため説明を割愛する。ただし、is_pred_flagの復号(図65のステップST193)、mvd_sign_flag_xとmvd_sign_flag_yの復号(図65のステップST200及びST201とステップST204及びST205)を行っていない点に注意されたい。図68のステップST222において、フラグis_pred_flagを復号し、これが1である場合(ステップST223:Yesの場合)、つまり、ブロックシフトベクトル111の予測を実施する場合は、mvd_sign_flag_xとmvd_sign_flag_yを復号してVxとVyの符号を設定する(ステップST224からST227)。
一方、フラグis_pred_flagが0となる場合(ステップST223:Noの場合)、つまりブロックシフトベクトル111の予測が実施されず、ベクトルがそのまま符号化されている場合は、VxまたはVyのいずれかが0となるのであれば(ステップST228:Noの場合)、0でない方の符号を負に設定して終了する(ステップST232)。
また、VxとVyがどちらも0でない場合(ステップST228:Yesの場合)、まず、フラグboth_negative_flagを復号してこれが1であればVxとVyの符号を負に設定する(ステップST229)。フラグboth_negative_flagが0の場合(ステップST230:Noの場合)、フラグmvd_sign_flag_xを復号し、これが1であればVxの符号を負、Vyの符号を正、0であればVxの符号を正、Vyの符号を負に設定する。(ステップST231)。
66, 67, and 68 show the case where the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. The operation is shown. Steps ST210 to ST220 in FIG. 66 and FIG. 67 are the same as those in FIG. 64 and FIG. However, it should be noted that the decoding of is_pred_flag (step ST193 in FIG. 65) and mvd_sign_flag_x and mvd_sign_flag_y (steps ST200 and ST201 in FIG. 65 and steps ST204 and ST205) are not performed. In step ST222 of FIG. 68, when the flag is_pred_flag is decoded and this is 1 (step ST223: Yes), that is, when the block shift vector 111 is predicted, mvd_sign_flag_x and mvd_sign_flag_y are decoded to Vx. The sign of Vy is set (steps ST224 to ST227).
On the other hand, when the flag is_pred_flag is 0 (step ST223: No), that is, when the block shift vector 111 is not predicted and the vector is encoded as it is, either Vx or Vy is 0. If so (step ST228: No), the non-zero sign is set negative and the process ends (step ST232).
If neither Vx nor Vy is 0 (step ST228: Yes), first, the flag both_negative_flag is decoded, and if it is 1, the signs of Vx and Vy are set to negative (step ST229). When the flag both_negative_flag is 0 (in the case of step ST230: No), the flag mvd_sign_flag_x is decoded. If this is 1, the sign of Vx is negative, the sign of Vy is positive, if it is 0, the sign of Vx is positive, Set the sign to negative. (Step ST231).

可変長復号部31は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル(Vx,Vy)と、このベクトルが予測ベクトルとの差分になっているか否かを表すベクトル予測フラグis_pred_flagを画面内コピー予測パラメータとして出力する。   The variable length decoding unit 31 sets a vector prediction flag is_pred_flag indicating whether the block shift vector (Vx, Vy) of the intra-screen copy prediction obtained by the above procedure is a difference between the vector and the prediction vector. Output as in-screen copy prediction parameters.

画面内コピー予測部35の参照ブロック座標決定部180は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているベクトル予測フラグから、その画面内コピー予測パラメータに含まれているブロックシフトベクトルに対してベクトルの予測が行われているのかどうかを認識する。
例えば、ベクトル予測フラグが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、ベクトル予測フラグが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分が符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトルに対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部81は、ブロックシフトベクトルから参照ブロックの位置を表す座標を特定する。
Upon receiving the intra-screen copy prediction parameter decoded by the variable-length decoding unit 31, the reference block coordinate determination unit 180 of the intra-screen copy prediction unit 35 receives the intra-screen copy prediction parameter from the vector prediction flag included in the intra-screen copy prediction parameter. It recognizes whether vector prediction is performed for the block shift vector included in the intra-screen copy prediction parameter.
For example, if the vector prediction flag is “0”, the vector is not predicted, and it is recognized that the vector in the intra-screen copy prediction is encoded as it is. If the vector prediction flag is “1”, the vector prediction is performed. Recognizing that the difference between the vector in the intra-screen copy prediction and the prediction vector is encoded, and adding the prediction vector to the block shift vector included in the intra-screen copy prediction parameter Generate a vector.
The reference block coordinate determination unit 81 specifies coordinates representing the position of the reference block from the block shift vector.

画面内コピー予測部35の予測画像生成部82は、参照ブロック座標決定部81が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ38に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する。   When the reference block coordinate determination unit 81 specifies the coordinates representing the position of the reference block, the predicted image generation unit 82 of the intra-screen copy prediction unit 35 determines the coordinates on the coordinates from the local decoded image stored in the intra memory 38. The reference block is read out, and the reference block is output to the adding unit 37 as a predicted image.

以上で明らかなように、この実施の形態4によれば、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにブロックシフトベクトルの予測を行うか否かを選択し、その選択結果を示すフラグと、予測を行う場合はブロックシフトベクトルとその予測ベクトルとの差分ベクトル、予測を行わない場合はブロックシフトベクトルそのものを出力して、これを可変長符号化部15が可変長符号化するように構成したので、上記実施の形態1よりも、ブロックシフトベクトルの符号化に必要な符号量を更に削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。   As is apparent from the above, according to the fourth embodiment, the intra-screen copy prediction unit 6 has the smallest code amount when the variable-length encoding unit 15 performs variable-length encoding of the block shift vector. Select whether or not to predict the block shift vector, flag indicating the selection result, the difference vector between the block shift vector and the prediction vector if prediction is performed, and the block shift vector itself if prediction is not performed Is output so that the variable length encoding unit 15 performs variable length encoding. Therefore, the amount of code required for encoding the block shift vector is further reduced as compared with the first embodiment, and There is an effect of improving the encoding performance for the screen content.

また、この実施の形態4によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。   In addition, according to the fourth embodiment, the image decoding apparatus and the image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above-described effects can be obtained. Play.

実施の形態5.
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。
このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
Embodiment 5 FIG.
In Embodiment 4 described above, the intra-screen copy prediction unit 6 uses the block shift vector and the block shift vector in order to minimize the amount of code when the variable length encoding unit 15 performs variable length encoding on the block shift vector. Compare the amount of code when encoding the difference vector of the prediction vector with the amount of code when encoding the block shift vector itself, and if the amount of code when the difference vector is encoded is less, If the difference vector is variable-length encoded and the code amount of the block shift vector itself is small, the block shift vector itself is variable-length encoded.
Thus, when adaptively switching between variable length encoding of the difference vector and variable length encoding of the block shift vector itself, the difference vector is always encoded as compared with the variable length encoding. Since the vector distribution changes greatly, the variable length encoding unit 15 may perform variable length encoding of the block shift vector using an encoding method that matches the new distribution.

この実施の形態5による画像符号化装置は、上記実施の形態4における画像符号化装置と同様の構成であるが、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作が異なる。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
The image coding apparatus according to the fifth embodiment has the same configuration as the image coding apparatus according to the fourth embodiment, but the variable length coding unit 15 codes the block shift vector for intra-screen copy prediction. The operation is different.
Hereinafter, the operation when the variable length encoding unit 15 encodes the block shift vector for intra-screen copy prediction will be described.

図69は符号化するブロックシフトベクトルの長さの分布を示す説明図である。
従来の画像符号化装置では、図69(a)に示すように、符号化するベクトルの長さが0から大きくなるにつれてなだらかに出現頻度が小さくなっている。
これに対して、上記実施の形態4のように、符号量を比較して、差分ベクトル又はブロックシフトベクトルそのものを符号化する場合、長さが短い方のベクトルが適応的に選択されて符号化されるため、長さが短いベクトルの出現頻度が大きくなる。このため、符号化するベクトルの長さの分布が図69(b)に示すような分布になる。
図69(b)に示す分布は、0や1などの長さが短いベクトルの出現頻度が極めて大きくなり、それよりも長さが長いベクトルの出現頻度がほぼ一定になる。
FIG. 69 is an explanatory diagram showing a length distribution of block shift vectors to be encoded.
In the conventional image encoding apparatus, as shown in FIG. 69A, the appearance frequency gradually decreases as the length of the vector to be encoded increases from zero.
On the other hand, as in the fourth embodiment, when the code amount is compared and the difference vector or the block shift vector itself is encoded, the vector having the shorter length is adaptively selected and encoded. Therefore, the appearance frequency of vectors having a short length increases. For this reason, the length distribution of the vector to be encoded is as shown in FIG.
In the distribution shown in FIG. 69 (b), the appearance frequency of vectors having a short length such as 0 or 1 is extremely high, and the appearance frequency of vectors having a longer length is almost constant.

ここで、図70及び図71はこの発明の実施の形態5による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである。
以下、図70及び図71を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
70 and 71 are flowcharts showing a procedure in which the variable length coding unit 15 of the image coding apparatus according to the fifth embodiment of the present invention performs variable length coding of the block shift vector for intra-screen copy prediction.
Hereinafter, a procedure in which the variable-length encoding unit 15 performs variable-length encoding on the block shift vector for intra-screen copy prediction will be described with reference to FIGS. 70 and 71.
As in the fourth embodiment, the value of the vector 116 to be encoded is (Vx, Vy). (Vx, Vy) is equal to (BVx, BVy) when the flag 117 is 0, and is equal to (BVx−PBVx, BVy−PBVy) when the flag 117 is 1.

まず、可変長符号化部15は、Vxの絶対値|Vx|を求め(図70のステップST250)、フラグabs_mvd_greater0_flag_xを符号化する(ステップST251)。フラグabs_mvd_greater0_flag_xは、|Vx|が0より大きい場合に1、|Vx|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vx|が零であるか否かを示す零フラグ)である。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST252)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST253)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が零であるか否かを示す零フラグ)である。
First, the variable length coding unit 15 obtains the absolute value | Vx | of Vx (step ST250 in FIG. 70), and codes the flag abs_mvd_greeter0_flag_x (step ST251). The flag abs_mvd_creator0_flag_x is 1 when | Vx | is greater than 0, and 0 when | Vx | is 0 or less (zero flag indicating whether or not the absolute value | Vx | of the block shift vector is zero). It is.
In addition, the variable length encoding unit 15 obtains the absolute value | Vy | of Vy (step ST252), and encodes the flag abs_mvd_greeter0_flag_y (step ST253). The flag abs_mvd_greeter0_flag_y is 1 when | Vy | is greater than 0, and 0 when | Vy | is 0 or less (zero flag indicating whether or not the absolute value | Vy | of the block shift vector is zero). It is.

可変長符号化部15は、|Vx|と|Vy|が共に0の場合(ステップST254:Yesの場合)、そのまま終了するが、|Vx|又は|Vy|の少なくとも一方が0でない場合(ステップST254:Noの場合)、フラグis_pred_flagを符号化する(図71のステップST255)。フラグis_pred_flagは、フラグ117の値に等しく、ベクトルの予測を行う場合に1、予測を行わない場合に0となるフラグ(ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグ)である。   If both | Vx | and | Vy | are 0 (step ST254: Yes), the variable-length encoding unit 15 ends as it is, but if at least one of | Vx | or | Vy | is not 0 (step When ST254: No), the flag is_pred_flag is encoded (step ST255 in FIG. 71). The flag is_pred_flag is equal to the value of the flag 117, and is 1 when the vector is predicted, and 0 when the prediction is not performed (indicates whether or not the difference vector between the block shift vector and the prediction vector is encoded). Vector prediction flag).

次に、可変長符号化部15は、Vxの絶対値|Vx|が0よりも大きければ(ステップST256:Yesの場合)、フラグabs_mvd_greaterTH_flag_xを符号化する(ステップST257)。フラグabs_mvd_greaterTH_flag_xは、Vxの絶対値|Vx|が予め設定された閾値THよりも大きい場合に1、そうでない場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vx|が閾値THより大きいか否かの比較結果を示す閾値比較フラグ)である。
また、可変長符号化部15は、Vyの絶対値|Vy|が0よりも大きければ(ステップST258:Yesの場合)、フラグabs_mvd_greaterTH_flag_yを符号化する(ステップST259)。フラグabs_mvd_greaterTH_flag_yは、Vyの絶対値|Vy|が閾値THよりも大きい場合に1、そうでない場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が閾値THより大きいか否かの比較結果を示す閾値比較フラグ)である。
Next, if the absolute value | Vx | of Vx is larger than 0 (step ST256: Yes), the variable length encoding unit 15 encodes the flag abs_mvd_greaterTH_flag_x (step ST257). The flag abs_mvd_greeterTH_flag_x is a flag that is 1 when the absolute value | Vx | Threshold comparison flag indicating the comparison result).
In addition, if the absolute value | Vy | of Vy is larger than 0 (in the case of Yes at Step ST258), the variable length encoding unit 15 encodes the flag abs_mvd_greaterTH_flag_y (Step ST259). The flag abs_mvd_greeterTH_flag_y is a flag that becomes 1 when the absolute value | Vy | Threshold comparison flag).

次に、可変長符号化部15は、Vxの絶対値|Vx|が0ではなく(ステップST260:Yesの場合)、かつ、閾値TH以下であれば(ステップST261:Yesの場合)、Vxの絶対値|Vx|から1を引いた値を固定長符号化する(ステップST262)。
一方、Vxの絶対値|Vx|が閾値THよりも大きい場合(ステップST261:Noの場合)、Vxの絶対値|Vx|から(TH+1)を引いた値を次数5の指数ゴロム符号で符号化する(ステップST263)。
可変長符号化部15は、ステップST262又はステップST263で符号化すると、フラグmvd_sign_flag_xを符号化する(ステップST264)。フラグmvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
Next, if the absolute value | Vx | of Vx is not 0 (in the case of Step ST260: Yes) and is equal to or less than the threshold value TH (in the case of Yes in Step ST261), the variable length encoding unit 15 A value obtained by subtracting 1 from the absolute value | Vx | is fixed-length encoded (step ST262).
On the other hand, if the absolute value | Vx | of Vx is larger than the threshold value TH (step ST261: No), a value obtained by subtracting (TH + 1) from the absolute value | Vx | of Vx is encoded with an exponential Golomb code of degree 5. (Step ST263).
When encoding is performed in step ST262 or step ST263, the variable length encoding unit 15 encodes the flag mvd_sign_flag_x (step ST264). The flag mvd_sign_flag_x is a flag (a sign indicating whether the block shift vector is positive or negative) that is 0 when Vx is positive and 1 when Vx is negative.

次に、可変長符号化部15は、Vyの絶対値|Vy|が0ではなく(ステップST265:Yesの場合)、かつ、閾値TH以下であれば(ステップST266:Yesの場合)、Vyの絶対値|Vy|から1を引いた値を固定長符号化する(ステップST267)。
一方、Vyの絶対値|Vy|が閾値THよりも大きい場合(ステップST266:Noの場合)、Vyの絶対値|Vy|から(TH+1)を引いた値を次数5の指数ゴロム符号で符号化する(ステップST268)。
可変長符号化部15は、ステップST267又はステップST268で符号化すると、フラグmvd_sign_flag_yを符号化する(ステップST269)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
Next, if the absolute value | Vy | of Vy is not 0 (in the case of Yes in Step ST265) and is equal to or less than the threshold value TH (in the case of Yes in Step ST266), the variable length encoding unit 15 A value obtained by subtracting 1 from the absolute value | Vy | is fixed-length encoded (step ST267).
On the other hand, when the absolute value | Vy | of Vy is larger than the threshold value TH (step ST266: No), a value obtained by subtracting (TH + 1) from the absolute value | Vy | of Vy is encoded with an exponential Golomb code of degree 5. (Step ST268).
When encoding is performed at step ST267 or ST268, the variable length encoding unit 15 encodes the flag mvd_sign_flag_y (step ST269). The flag mvd_sign_flag_y is a flag (a sign indicating whether the block shift vector is positive or negative) which is 0 when Vy is positive and 1 when negative.

ここで、閾値THは、ベクトルの長さに対する閾値であり、例えば16などの値が考えられる。
閾値THが16の場合、長さが閾値TH以下のベクトルは、ステップST262で常に4ビットで符号化される。一方、閾値THよりも長いベクトルは、ステップST263で次数5の指数ゴロム符号で符号化されるが、この符号化方式は、図72に示すような符号長の割り当てとなっており、発生確率に偏りがない信号の符号化に適している。
これにより、図69(b)に示すように、長さが0や1などの極めて短いベクトル以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるため、ベクトルの符号量を削減して高い符号化効率を得ることができる。
なお、この実施の形態5では、長さが0となるベクトルについては極めて発生頻度が高いことから、フラグ(abs_mvd_greater0_flag_x、abs_mvd_greater0_flag_y)だけを符号化していることに注意されたい。
Here, the threshold value TH is a threshold value for the length of the vector, and a value such as 16, for example, can be considered.
When the threshold value TH is 16, a vector whose length is equal to or less than the threshold value TH is always encoded with 4 bits in step ST262. On the other hand, a vector longer than the threshold value TH is encoded with an exponential Golomb code of degree 5 in step ST263. This encoding method is assigned code lengths as shown in FIG. It is suitable for encoding signals with no bias.
As a result, as shown in FIG. 69 (b), it is possible to perform encoding that matches a characteristic vector distribution in which vectors other than extremely short vectors such as 0 and 1 occur with almost equal probability. Thus, high coding efficiency can be obtained by reducing the amount of code of the vectors.
It should be noted that in the fifth embodiment, since the occurrence frequency is extremely high for a vector having a length of 0, only the flags (abs_mvd_creator0_flag_x, abs_mvd_creator0_flag_y) are encoded.

この実施の形態5では、ベクトルの長さに対する閾値THを固定にしている例を示しているが、ベクトルの分布によって閾値THの最適値が変動するため、入力映像に応じて適応的に閾値THを変更するようにしてもよい。
したがって、符号化の際に最適な閾値THを決定して、その閾値THをビットストリームに重畳することで、画像復号装置側に伝送することが考えられる。閾値THを変更する単位としては、シーケンスレベルやスライスレベルなどが可能であり、変更単位に対応したヘッダ(シーケンスレベルヘッダやスライスレベルヘッダ)に閾値THを追加すればよい。閾値THを可変とすることで、さらに、ベクトルの分布と合致する符号化を行うことができるようになるため、ベクトルの符号量を更に削減して符号化効率を高めることができる。
また、閾値THをそのままビットストリームに重畳するのではなく、複数の閾値THをメモリに保持しておき、どの値を用いるかを示すインデックスだけをビットストリームに重畳するようにしてもよい。このようにすれば、閾値THの符号化に必要な符号量が削減されるため符号化効率がさらに向上する。
In the fifth embodiment, an example is shown in which the threshold value TH for the vector length is fixed. However, since the optimum value of the threshold value TH varies depending on the vector distribution, the threshold value TH is adaptively adapted to the input video. May be changed.
Therefore, it is conceivable that an optimum threshold value TH is determined at the time of encoding, and the threshold value TH is superimposed on the bit stream to be transmitted to the image decoding apparatus side. As a unit for changing the threshold TH, a sequence level, a slice level, or the like can be used. The threshold TH may be added to a header (sequence level header or slice level header) corresponding to the change unit. By making the threshold value TH variable, it is possible to perform encoding that matches the distribution of the vector. Therefore, it is possible to further reduce the code amount of the vector and increase the encoding efficiency.
Further, instead of superimposing the threshold value TH on the bitstream as it is, a plurality of threshold values TH may be held in the memory, and only an index indicating which value is used may be superimposed on the bitstream. In this way, the coding efficiency is further improved because the amount of code required for coding the threshold TH is reduced.

次に、画像復号装置について説明する。
この実施の形態5による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
Next, an image decoding device will be described.
The image decoding apparatus according to the fifth embodiment has the same configuration as that of the image decoding apparatus according to the fourth embodiment, except that the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction. Different.
Hereinafter, the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction will be described.

図73及び図74は画面内コピー予測パラメータが画像符号化装置にて図70及び図71に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号して、そのフラグabs_mvd_greater0_flag_xをVxに加える(図73のステップST280)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号して、そのフラグabs_mvd_greater0_flag_yをVyに加える(ステップST281)。
73 and 74 are flowcharts showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus in the procedure shown in FIGS. 70 and 71. It is.
Here, the block shift vector in the intra-screen copy prediction is (Vx, Vy), and its initial value is 0.
First, the variable length decoding unit 31 decodes the flag abs_mvd_creator0_flag_x and adds the flag abs_mvd_greeter0_flag_x to Vx (step ST280 in FIG. 73).
Also, the variable length decoding unit 31 decodes the flag abs_mvd_creator0_flag_y and adds the flag abs_mvd_creator0_flag_y to Vy (step ST281).

可変長復号部31は、Vx,Vyのいずれかが0でない場合(ステップST282:Noの場合)、ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグであるフラグis_pred_flagを復号する(図74のステップST283)。ここで、Vx,Vyが共に0である場合(ステップST282:Yesの場合)、フラグis_pred_flagを復号せずに、フラグis_pred_flagを1に設定する。
次に、可変長復号部31は、Vxが0でない場合(ステップST284:Yesの場合)、フラグabs_mvd_greaterTH_flag_xを復号し、そのフラグabs_mvd_greaterTH_flag_xが1であれば、閾値THをVxに加算する(ステップST285)。
また、可変長復号部31は、Vyが0でない場合(ステップST286:Yesの場合)、フラグabs_mvd_greaterTH_flag_yを復号し、そのフラグabs_mvd_greaterTH_flag_yが1であれば、閾値THをVyに加算する(ステップST287)。
The variable length decoding unit 31 is a vector prediction flag indicating whether or not the difference vector between the block shift vector and the prediction vector is encoded when either Vx or Vy is not 0 (step ST282: No). The flag is_pred_flag is decoded (step ST283 in FIG. 74). If Vx and Vy are both 0 (step ST282: Yes), the flag is_pred_flag is set to 1 without decoding the flag is_pred_flag.
Next, when Vx is not 0 (step ST284: Yes), the variable length decoding unit 31 decodes the flag abs_mvd_greaterTH_flag_x, and if the flag abs_mvd_greaterTH_flag_x is 1, adds the threshold TH to Vx (step ST285). .
In addition, when Vy is not 0 (step ST286: Yes), the variable length decoding unit 31 decodes the flag abs_mvd_greatherTH_flag_y, and if the flag abs_mvd_greaterTH_flag_y is 1, adds the threshold TH to Vy (step ST287).

次に、可変長復号部31は、Vxが0ではなく(ステップST288:Yesの場合)、かつ、閾値TH以下の場合(ステップST289:Yesの場合)、画像符号化装置で固定長符号化されているVx’(=|Vx|−1)を復号し、そのVx’をVxに加算する(ステップST290)。
一方、Vxが閾値THよりも大きい場合(ステップST289:Noの場合)、次数5の指数ゴロム符号で符号化されているVx’(=|Vx|−TH−1)を復号し、そのVx’をVxに加算する(ステップST291)。
また、可変長復号部31は、フラグmvd_sign_flag_xを復号し、そのフラグmvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグmvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST292)。
Next, when Vx is not 0 (in the case of Step ST288: Yes) and is equal to or less than the threshold value TH (in the case of Yes in Step ST289), the variable length decoding unit 31 performs fixed length encoding by the image encoding device. Vx ′ (= | Vx | −1) is decoded, and Vx ′ is added to Vx (step ST290).
On the other hand, when Vx is larger than the threshold value TH (step ST289: No), Vx ′ (= | Vx | −TH−1) encoded with an exponential Golomb code of degree 5 is decoded, and the Vx ′ Is added to Vx (step ST291).
The variable length decoding unit 31 decodes the flag mvd_sign_flag_x, and if the flag mvd_sign_flag_x is 0, sets the sign of Vx to be positive, and if the flag mvd_sign_flag_x is 1, sets the sign of Vx to be negative. (Step ST292).

次に、可変長復号部31は、Vyが0ではなく(ステップST293:Yesの場合)、かつ、閾値TH以下の場合(ステップST294:Yesの場合)、画像符号化装置で固定長符号化されているVy’(=|Vy|−1)を復号し、そのVy’をVyに加算する(ステップST295)。
一方、Vyが閾値THよりも大きい場合(ステップST294:Noの場合)、次数5の指数ゴロム符号で符号化されているVy’(=|Vy|−TH−1)を復号し、そのVy’をVyに加算する(ステップST296)。
また、可変長復号部31は、フラグmvd_sign_flag_yを復号し、そのフラグmvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグmvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST297)。
Next, when Vy is not 0 (step ST293: Yes) and is equal to or less than the threshold value TH (step ST294: Yes), the variable length decoding unit 31 performs fixed length encoding with the image encoding device. Vy ′ (= | Vy | −1) is decoded, and the Vy ′ is added to Vy (step ST295).
On the other hand, when Vy is larger than threshold TH (in the case of step ST294: No), Vy ′ (= | Vy | −TH−1) encoded with an exponential Golomb code of degree 5 is decoded and Vy ′. Is added to Vy (step ST296).
Further, the variable length decoding unit 31 decodes the flag mvd_sign_flag_y, and if the flag mvd_sign_flag_y is 0, sets the sign of Vy to be positive, and if the flag mvd_sign_flag_y is 1, sets the sign of Vy to be negative. (Step ST297).

可変長復号部31は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル(Vx,Vy)と、そのブロックシフトベクトル(Vx,Vy)が予測ベクトルとの差分ベクトルであるか否かを示すフラグis_pred_flagとを画面内コピー予測パラメータとして出力する。   The variable length decoding unit 31 determines whether or not the block shift vector (Vx, Vy) of intra-screen copy prediction obtained by the above procedure is a difference vector between the block shift vector (Vx, Vy) and the prediction vector. The flag is_pred_flag indicating the is output as an intra-screen copy prediction parameter.

画面内コピー予測部35の参照ブロック座標決定部180は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているフラグis_pred_flagを参照して、その画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)が、予測ベクトルとの差分ベクトルであるか否かを確認する。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
Upon receiving the intra-screen copy prediction parameter decoded by the variable-length decoding unit 31, the reference block coordinate determination unit 180 of the intra-screen copy prediction unit 35 refers to the flag is_pred_flag included in the intra-screen copy prediction parameter. Then, it is confirmed whether or not the block shift vector (Vx, Vy) included in the intra-screen copy prediction parameter is a difference vector from the prediction vector.
That is, if the flag is_pred_flag is “0”, the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is without predicting the vector, and the flag is_pred_flag is “1”. If the vector is predicted, the difference vector between the vector and the prediction vector in the intra-screen copy prediction is recognized, and the block shift vector ( A vector obtained by adding a prediction vector to Vx, Vy) is generated.
When the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is, the reference block coordinate determination unit 180 specifies the coordinate representing the position of the reference block from the block shift vector (Vx, Vy). On the other hand, when recognizing that the difference vector between the vector and the prediction vector in the intra-screen copy prediction is encoded, the coordinates representing the position of the reference block from the vector obtained by adding the prediction vector to the block shift vector (Vx, Vy) Is identified.

画面内コピー予測部35の予測画像生成部181は、参照ブロック座標決定部180が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ38に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する。   When the reference block coordinate determination unit 180 specifies the coordinates representing the position of the reference block, the predicted image generation unit 181 of the intra-screen copy prediction unit 35 determines the coordinates on the coordinates from the local decoded image stored in the intra memory 38. The reference block is read out, and the reference block is output to the adding unit 37 as a predicted image.

以上で明らかなように、この実施の形態5によれば、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いるように構成したので、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
また、この実施の形態5によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
As is apparent from the above, according to the fifth embodiment, the variable length encoding unit 15 adaptively performs the case where the difference vector is variable length encoded and the case where the block shift vector itself is variable length encoded. Since the encoding scheme that matches the vector distribution at the time of switching to is used, the amount of code required for encoding the block shift vector is further reduced compared to the fourth embodiment, and the code for the screen content is encoded. There is an effect that can improve the performance.
In addition, according to the fifth embodiment, the image decoding apparatus and the image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above-described effects can be obtained. Play.

実施の形態6.
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。 このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
Embodiment 6 FIG.
In Embodiment 4 described above, the intra-screen copy prediction unit 6 uses the block shift vector and the block shift vector in order to minimize the amount of code when the variable length encoding unit 15 performs variable length encoding on the block shift vector. Compare the amount of code when encoding the difference vector of the prediction vector with the amount of code when encoding the block shift vector itself, and if the amount of code when the difference vector is encoded is less, If the difference vector is variable-length encoded and the code amount of the block shift vector itself is small, the block shift vector itself is variable-length encoded. Thus, when adaptively switching between variable length encoding of the difference vector and variable length encoding of the block shift vector itself, the difference vector is always encoded as compared with the variable length encoding. Since the vector distribution changes greatly, the variable length encoding unit 15 may perform variable length encoding of the block shift vector using an encoding method that matches the new distribution.

この実施の形態6による画像符号化装置は、上記実施の形態4における画像符号化装置と同様の構成であるが、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作が異なる。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
The image coding apparatus according to the sixth embodiment has the same configuration as the image coding apparatus according to the fourth embodiment, but the variable length coding unit 15 codes the block shift vector for intra-screen copy prediction. The operation is different.
Hereinafter, the operation when the variable length encoding unit 15 encodes the block shift vector for intra-screen copy prediction will be described.

ここで、図75及び図76はこの発明の実施の形態6による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである。
以下、図75及び図76を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
75 and 76 are flowcharts showing a procedure in which the variable length coding unit 15 of the image coding apparatus according to the sixth embodiment of the present invention performs variable length coding of the block shift vector for intra-screen copy prediction.
Hereinafter, a procedure in which the variable-length coding unit 15 performs variable-length coding on the block shift vector for intra-screen copy prediction will be described with reference to FIGS. 75 and 76.
As in the fourth embodiment, the value of the vector 116 to be encoded is (Vx, Vy). (Vx, Vy) is equal to (BVx, BVy) when the flag 117 is 0, and is equal to (BVx−PBVx, BVy−PBVy) when the flag 117 is 1.

まず、可変長符号化部15は、Vxの絶対値|Vx|を求め(図75のステップST300)、フラグabs_mvd_greater0_flag_xを符号化する(ステップST301)。フラグabs_mvd_greater0_flag_xは、|Vx|が0より大きい場合に1、|Vx|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vx|が零であるか否かを示す零フラグ)である。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST302)、フラグabs_mvd_greater0_flag_yを符号化する(ステップST303)。フラグabs_mvd_greater0_flag_yは、|Vy|が0より大きい場合に1、|Vy|が0以下の場合に0となるフラグ(ブロックシフトベクトルの絶対値|Vy|が零であるか否かを示す零フラグ)である。
First, the variable length encoding unit 15 obtains the absolute value | Vx | of Vx (step ST300 in FIG. 75), and encodes the flag abs_mvd_creator0_flag_x (step ST301). The flag abs_mvd_creator0_flag_x is 1 when | Vx | is greater than 0, and 0 when | Vx | is 0 or less (zero flag indicating whether or not the absolute value | Vx | of the block shift vector is zero). It is.
Also, the variable length coding unit 15 obtains the absolute value | Vy | of Vy (step ST302), and codes the flag abs_mvd_greeter0_flag_y (step ST303). The flag abs_mvd_greeter0_flag_y is 1 when | Vy | is greater than 0, and 0 when | Vy | is 0 or less (zero flag indicating whether or not the absolute value | Vy | of the block shift vector is zero). It is.

可変長符号化部15は、|Vx|と|Vy|が共に0の場合(ステップST304:Yesの場合)、そのまま終了するが、|Vx|又は|Vy|の少なくとも一方が0でない場合(ステップST304:Noの場合)、フラグis_pred_flagを符号化する(図76のステップST305)。フラグis_pred_flagは、フラグ117の値に等しく、ベクトルの予測を行う場合に1、予測を行わない場合に0となるフラグ(ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグ)である。   If both | Vx | and | Vy | are 0 (step ST304: Yes), the variable-length encoding unit 15 ends as it is, but if | Vx | or | Vy | is not 0 (step When ST304: No, the flag is_pred_flag is encoded (step ST305 in FIG. 76). The flag is_pred_flag is equal to the value of the flag 117, and is 1 when the vector is predicted, and 0 when the prediction is not performed (indicates whether or not the difference vector between the block shift vector and the prediction vector is encoded). Vector prediction flag).

次に、可変長符号化部15は、Vxの絶対値|Vx|が0よりも大きければ(ステップST306:Yesの場合)、予め設定されている符号化方式、即ち、上記の非特許文献1(ISO/IEC 23008−2:2013 9.3.3.9節)に記載されているcoeff_abs_level_remainingと同様の符号化方式を利用して、|Vx|から1を引いた値を符号化する(ステップST307)。
ここで、coeff_abs_level_remainingは、変換・量子化部9で出力される量子化後の係数を示している。この係数の値の分布は、図69(b)に示す分布と極めて近いため、0などの極めて短い長さ以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるようになる。そのため、ベクトルの符号量を更に削減して高い符号化効率を得ることができる。
なお、この実施の形態5では、長さが0となるベクトルについては極めて発生頻度が高いことからフラグ(abs_mvd_greater0_flag_x、abs_mvd_greater0_flag_y)だけを符号化していることに注意されたい。
Next, if the absolute value | Vx | of Vx is larger than 0 (in the case of Yes in step ST306), the variable length encoding unit 15 sets a preset encoding method, that is, the above-described non-patent document 1. Using a coding method similar to coeff_abs_level_remaining described in (ISO / IEC 23008-2: 2013 9.3.3.9), a value obtained by subtracting 1 from | Vx | ST307).
Here, coeff_abs_level_remaining indicates a coefficient after quantization output from the transform / quantization unit 9. Since the distribution of the coefficient values is very close to the distribution shown in FIG. 69B, encoding is performed in accordance with a characteristic vector distribution that occurs with almost equal probability except for an extremely short length such as 0. Will be able to. Therefore, it is possible to further reduce the code amount of the vector and obtain high encoding efficiency.
It should be noted that in the fifth embodiment, only the flags (abs_mvd_creator0_flag_x, abs_mvd_creator0_flag_y) are encoded because the occurrence frequency is extremely high for a vector having a length of zero.

可変長符号化部15は、ステップST307で符号化すると、フラグmvd_sign_flag_xを符号化する(ステップST308)。フラグmvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。   When encoding is performed at step ST307, the variable length encoding unit 15 encodes the flag mvd_sign_flag_x (step ST308). The flag mvd_sign_flag_x is a flag (a sign indicating whether the block shift vector is positive or negative) that is 0 when Vx is positive and 1 when Vx is negative.

次に、可変長符号化部15は、Vyの絶対値|Vy|が0よりも大きければ(ステップST309:Yesの場合)、予め設定されている符号化方式、即ち、上記の非特許文献1に記載されているcoeff_abs_level_remainingと同様の符号化方式を利用して、|Vy|から1を引いた値を符号化する(ステップST310)。
また、可変長符号化部15は、フラグmvd_sign_flag_yを符号化する(ステップST311)。フラグmvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグ(ブロックシフトベクトルの正負を示す符号)である。
Next, if the absolute value | Vy | of Vy is larger than 0 (in the case of Yes in Step ST309), the variable length encoding unit 15 sets a preset encoding method, that is, the above-described Non-Patent Document 1. The value obtained by subtracting 1 from | Vy | is encoded using the same encoding method as coeff_abs_level_remaining described in (ST300).
In addition, the variable length encoding unit 15 encodes the flag mvd_sign_flag_y (step ST311). The flag mvd_sign_flag_y is a flag (a sign indicating whether the block shift vector is positive or negative) which is 0 when Vy is positive and 1 when negative.

次に、画像復号装置について説明する。
この実施の形態6による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
Next, an image decoding device will be described.
The image decoding device according to the sixth embodiment has the same configuration as the image decoding device according to the fourth embodiment, but the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction is the same. Different.
Hereinafter, the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction will be described.

図77及び図78は画面内コピー予測パラメータが画像符号化装置にて図75及び図76に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、フラグabs_mvd_greater0_flag_xを復号して、そのフラグabs_mvd_greater0_flag_xをVxに加える(図77のステップST320)。
また、可変長復号部31は、フラグabs_mvd_greater0_flag_yを復号して、そのフラグabs_mvd_greater0_flag_yをVyに加える(ステップST321)。
77 and 78 are flowcharts showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus in the procedure shown in FIGS. 75 and 76. It is.
Here, the block shift vector in the intra-screen copy prediction is (Vx, Vy), and its initial value is 0.
First, the variable length decoding unit 31 decodes the flag abs_mvd_creator0_flag_x and adds the flag abs_mvd_greeter0_flag_x to Vx (step ST320 in FIG. 77).
Also, the variable length decoding unit 31 decodes the flag abs_mvd_creator0_flag_y and adds the flag abs_mvd_creator0_flag_y to Vy (step ST321).

可変長復号部31は、Vx,Vyのいずれかが0でない場合(ステップST322:Noの場合)、ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグであるフラグis_pred_flagを復号する(図78のステップST323)。ここで、Vx,Vyが共に0である場合(ステップST322:Yesの場合)、フラグis_pred_flagを復号せずに、フラグis_pred_flagを1に設定する。
次に、可変長復号部31は、Vxが0でない場合(ステップST324:Yesの場合)、予め設定されている復号方式、即ち、上記の非特許文献1に記載されているcoeff_abs_level_remainingと同様の復号方式を利用して、Vx’(|Vx|−1)を復号し、そのVx’をVxに加算する(ステップST325)。
また、可変長復号部31は、フラグmvd_sign_flag_xを復号し、そのフラグmvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグmvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST326)。
The variable length decoding unit 31 is a vector prediction flag indicating whether or not the difference vector between the block shift vector and the prediction vector is encoded when either Vx or Vy is not 0 (step ST322: No). The flag is_pred_flag is decoded (step ST323 in FIG. 78). Here, when both Vx and Vy are 0 (step ST322: Yes), the flag is_pred_flag is set to 1 without decoding the flag is_pred_flag.
Next, when Vx is not 0 (step ST324: Yes), the variable length decoding unit 31 performs decoding that is set in advance, that is, decoding similar to coeff_abs_level_remaining described in Non-Patent Document 1 above. Using the method, Vx ′ (| Vx | −1) is decoded, and Vx ′ is added to Vx (step ST325).
Also, the variable length decoding unit 31 decodes the flag mvd_sign_flag_x, and if the flag mvd_sign_flag_x is 0, sets the sign of Vx to be positive, and if the flag mvd_sign_flag_x is 1, sets the sign of Vx to be negative. (Step ST326).

次に、可変長復号部31は、Vyが0でない場合(ステップST327:Yesの場合)、予め設定されている復号方式、即ち、上記の非特許文献1に記載されているcoeff_abs_level_remainingと同様の復号方式を利用して、Vy’(|Vy|−1)を復号し、そのVy’をVyに加算する(ステップST328)。
また、可変長復号部31は、フラグmvd_sign_flag_yを復号し、そのフラグmvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグmvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST329)。
Next, when Vy is not 0 (step ST327: Yes), the variable length decoding unit 31 performs decoding that is set in advance, that is, decoding similar to coeff_abs_level_remaining described in Non-Patent Document 1 above. Using the method, Vy ′ (| Vy | −1) is decoded, and Vy ′ is added to Vy (step ST328).
Further, the variable length decoding unit 31 decodes the flag mvd_sign_flag_y, and if the flag mvd_sign_flag_y is 0, sets the sign of Vy to be positive, and if the flag mvd_sign_flag_y is 1, sets the sign of Vy to be negative. (Step ST329).

可変長復号部31は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル(Vx,Vy)と、そのブロックシフトベクトル(Vx,Vy)が予測ベクトルとの差分ベクトルであるか否かを示すフラグis_pred_flagとを画面内コピー予測パラメータとして出力する。   The variable length decoding unit 31 determines whether or not the block shift vector (Vx, Vy) of intra-screen copy prediction obtained by the above procedure is a difference vector between the block shift vector (Vx, Vy) and the prediction vector. The flag is_pred_flag indicating the is output as an intra-screen copy prediction parameter.

画面内コピー予測部35の参照ブロック座標決定部180は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているフラグis_pred_flagを参照して、その画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)が、予測ベクトルとの差分ベクトルであるか否かを確認する。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
Upon receiving the intra-screen copy prediction parameter decoded by the variable-length decoding unit 31, the reference block coordinate determination unit 180 of the intra-screen copy prediction unit 35 refers to the flag is_pred_flag included in the intra-screen copy prediction parameter. Then, it is confirmed whether or not the block shift vector (Vx, Vy) included in the intra-screen copy prediction parameter is a difference vector from the prediction vector.
That is, if the flag is_pred_flag is “0”, the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is without predicting the vector, and the flag is_pred_flag is “1”. If the vector is predicted, the difference vector between the vector and the prediction vector in the intra-screen copy prediction is recognized, and the block shift vector ( A vector obtained by adding a prediction vector to Vx, Vy) is generated.
When the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is, the reference block coordinate determination unit 180 specifies the coordinate representing the position of the reference block from the block shift vector (Vx, Vy). On the other hand, when recognizing that the difference vector between the vector and the prediction vector in the intra-screen copy prediction is encoded, the coordinates representing the position of the reference block from the vector obtained by adding the prediction vector to the block shift vector (Vx, Vy) Is identified.

画面内コピー予測部35の予測画像生成部181は、参照ブロック座標決定部180が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ38に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する。   When the reference block coordinate determination unit 180 specifies the coordinates representing the position of the reference block, the predicted image generation unit 181 of the intra-screen copy prediction unit 35 determines the coordinates on the coordinates from the local decoded image stored in the intra memory 38. The reference block is read out, and the reference block is output to the adding unit 37 as a predicted image.

以上で明らかなように、この実施の形態6によれば、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いるように構成したので、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
また、この実施の形態6によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
As apparent from the above, according to the sixth embodiment, the variable length coding unit 15 adaptively performs the case where the difference vector is variable length coded and the case where the block shift vector itself is variable length coded. Since the encoding scheme that matches the vector distribution at the time of switching to is used, the amount of code required for encoding the block shift vector is further reduced compared to the fourth embodiment, and the code for the screen content is encoded. There is an effect that can improve the performance.
In addition, according to the sixth embodiment, an effect of obtaining an image decoding apparatus and an image decoding method capable of correctly decoding an encoded bitstream generated by the image encoding apparatus and the image encoding method having the above-described effects can be obtained. Play.

実施の形態7.
上記実施の形態4では、画面内コピー予測部6が、可変長符号化部15によりブロックシフトベクトルが可変長符号化された際の符号量が最も少なくなるようにするために、ブロックシフトベクトルと予測ベクトルの差分ベクトルを符号化する場合の符号量と、ブロックシフトベクトルそのものを符号化する場合の符号量とを比較し、その差分ベクトルを符号化する場合の方が符号量が少なければ、その差分ベクトルを可変長符号化し、ブロックシフトベクトルそのものを符号化する場合の方が符号量が少なければ、ブロックシフトベクトルそのものを可変長符号化するようにしている。
このように、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えると、常に差分ベクトルを可変長符号化する場合と比べて符号化するベクトルの分布が大きく変化するため、可変長符号化部15が、この新たな分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するようにしてもよい。
Embodiment 7 FIG.
In Embodiment 4 described above, the intra-screen copy prediction unit 6 uses the block shift vector and the block shift vector in order to minimize the amount of code when the variable length encoding unit 15 performs variable length encoding on the block shift vector. Compare the amount of code when encoding the difference vector of the prediction vector with the amount of code when encoding the block shift vector itself, and if the amount of code when the difference vector is encoded is less, If the difference vector is variable-length encoded and the code amount of the block shift vector itself is small, the block shift vector itself is variable-length encoded.
Thus, when adaptively switching between variable length encoding of the difference vector and variable length encoding of the block shift vector itself, the difference vector is always encoded as compared with the variable length encoding. Since the vector distribution changes greatly, the variable length encoding unit 15 may perform variable length encoding of the block shift vector using an encoding method that matches the new distribution.

この実施の形態7による画像符号化装置は、上記実施の形態4における画像符号化装置と同様の構成であるが、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作が異なる。
以下、可変長符号化部15が、画面内コピー予測のブロックシフトベクトルを符号化する際の動作について説明する。
The image coding apparatus according to the seventh embodiment has the same configuration as the image coding apparatus according to the fourth embodiment, but the variable length coding unit 15 codes the block shift vector for intra-screen copy prediction. The operation is different.
Hereinafter, the operation when the variable length encoding unit 15 encodes the block shift vector for intra-screen copy prediction will be described.

ここで、図79及び図80はこの発明の実施の形態7による画像符号化装置の可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を示すフローチャートである。
以下、図79及び図80を用いて、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを可変長符号化する手順を説明する。
上記実施の形態4と同様に、符号化するベクトル116の値を(Vx,Vy)とする。(Vx,Vy)は、フラグ117が0の場合、(BVx,BVy)と等しく、フラグ117が1の場合、(BVx−PBVx,BVy−PBVy)と等しいものとする。
79 and 80 are flowcharts showing a procedure in which the variable length coding unit 15 of the image coding apparatus according to the seventh embodiment of the present invention performs variable length coding of the block shift vector for intra-screen copy prediction.
Hereinafter, a procedure in which the variable-length encoding unit 15 performs variable-length encoding on the block shift vector for intra-screen copy prediction will be described with reference to FIGS. 79 and 80.
As in the fourth embodiment, the value of the vector 116 to be encoded is (Vx, Vy). (Vx, Vy) is equal to (BVx, BVy) when the flag 117 is 0, and is equal to (BVx−PBVx, BVy−PBVy) when the flag 117 is 1.

まず、可変長符号化部15は、Vxの絶対値|Vx|を求め(図79のステップST340)、abs_bvd_msb_idx_p1_xを符号化する(ステップST341)。abs_bvd_msb_idx_p1_xは、|Vx|を示すビット値の最上位ビット(|Vx|を示すビット値の一部)に対応するインデックスに1を加えた値であり、最上位ビットのインデックスは図81のように定義される。
また、可変長符号化部15は、Vyの絶対値|Vy|を求め(ステップST342)、abs_bvd_msb_idx_p1_yを符号化する(ステップST343)。abs_bvd_msb_idx_p1_yは、|Vy|を示すビット値の最上位ビット(|Vy|を示すビット値の一部)に対応するインデックスに1を加えた値であり、最上位ビットのインデックスは図81のように定義される。
First, the variable length encoding unit 15 obtains the absolute value | Vx | of Vx (step ST340 in FIG. 79), and encodes abs_bvd_msb_idx_p1_x (step ST341). abs_bvd_msb_idx_p1_x is a value obtained by adding 1 to the index corresponding to the most significant bit of the bit value indicating | Vx | (part of the bit value indicating | Vx |), and the index of the most significant bit is as shown in FIG. Defined.
In addition, the variable length encoding unit 15 obtains the absolute value | Vy | of Vy (step ST342) and encodes abs_bvd_msb_idx_p1_y (step ST343). abs_bvd_msb_idx_p1_y is a value obtained by adding 1 to the index corresponding to the most significant bit of the bit value indicating | Vy | (part of the bit value indicating | Vy |), and the index of the most significant bit is as shown in FIG. Defined.

可変長符号化部15は、|Vx|と|Vy|が共に0の場合(ステップST344:Yesの場合)、そのまま終了するが、|Vx|又は|Vy|の少なくとも一方が0でない場合(ステップST344:Noの場合)、フラグis_pred_flagを符号化する(図80のステップST345)。フラグis_pred_flagは、フラグ117の値に等しく、ベクトルの予測を行う場合に1、予測を行わない場合に0となるフラグ(ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグ)である。   If both | Vx | and | Vy | are 0 (step ST344: Yes), the variable-length encoding unit 15 terminates as it is, but if at least one of | Vx | or | Vy | is not 0 (step In ST344: No), the flag is_pred_flag is encoded (step ST345 in FIG. 80). The flag is_pred_flag is equal to the value of the flag 117, and is 1 when the vector is predicted, and 0 when the prediction is not performed (indicates whether or not the difference vector between the block shift vector and the prediction vector is encoded). Vector prediction flag).

次に、可変長符号化部15は、Vxの絶対値|Vx|が1よりも大きければ(ステップST346:Yesの場合)、abs_bvd_refinement_bits_xを符号化する(ステップST347)。abs_bvd_refinement_bits_xは、|Vx|から2abs_bvd_msb_idx_p1_x−1を引いた値であり、|Vx|の最上位ビットを0にした値(ビット値の一部を除く、絶対値を示す残りのビット値)に相当する。
次に、可変長符号化部15は、|Vx|が0でない場合(ステップST348:Yesの場合)、フラグbvd_sign_flag_xを符号化する(ステップST349)。フラグbvd_sign_flag_xは、Vxが正の場合に0、負の場合に1となるフラグである。
Next, if the absolute value | Vx | of Vx is larger than 1 (step ST346: Yes), the variable length encoding unit 15 encodes abs_bvd_refinement_bits_x (step ST347). abs_bvd_refinement_bits_x is a value obtained by subtracting 2 abs_bvd_msb_idx_p1_x-1 from | Vx | and corresponds to a value in which the most significant bit of | Vx | To do.
Next, when | Vx | is not 0 (step ST348: Yes), the variable length encoding unit 15 encodes the flag bvd_sign_flag_x (step ST349). The flag bvd_sign_flag_x is a flag that is 0 when Vx is positive and 1 when Vx is negative.

次に、可変長符号化部15は、Vyの絶対値|Vy|が1よりも大きければ(ステップST350:Yesの場合)、abs_bvd_refinement_bits_yを符号化する(ステップST351)。abs_bvd_refinement_bits_yは、|Vy|から2abs_bvd_msb_idx_p1_y−1を引いた値であり、|Vy|の最上位ビットを0にした値(ビット値の一部を除く、絶対値を示す残りのビット値)に相当する。
次に、可変長符号化部15は、|Vy|が0でない場合(ステップST352:Yesの場合)、フラグbvd_sign_flag_yを符号化する(ステップST353)。フラグbvd_sign_flag_yは、Vyが正の場合に0、負の場合に1となるフラグである。
可変長符号化部15が、上記のように符号化することで、0などの極めて短い長さ以外はほぼ等確率に発生するという特徴的なベクトルの分布に合致した符号化を行うことができるようになる。そのため、ベクトルの符号量を更に削減して高い符号化効率を得ることができる。
なお、この実施の形態7では、絶対値|Vx|,|Vy|が0の場合、abs_bvd_msb_idx_p1_x,abs_bvd_msb_idx_p1_yだけを符号化していることに注意されたい。
Next, if the absolute value | Vy | of Vy is larger than 1 (step ST350: Yes), the variable length encoding unit 15 encodes abs_bvd_refinement_bits_y (step ST351). abs_bvd_refinement_bits_y is a value obtained by subtracting 2 abs_bvd_msb_idx_p1_y-1 from | Vy | and corresponds to a value in which the most significant bit of | Vy | To do.
Next, when | Vy | is not 0 (step ST352: Yes), the variable length encoding unit 15 encodes the flag bvd_sign_flag_y (step ST353). The flag bvd_sign_flag_y is a flag that is 0 when Vy is positive and 1 when Vy is negative.
The variable length encoding unit 15 can perform encoding in accordance with a characteristic vector distribution in which the variable length encoding unit 15 generates with almost equal probability except for a very short length such as 0. It becomes like this. Therefore, it is possible to further reduce the code amount of the vector and obtain high encoding efficiency.
Note that in the seventh embodiment, when the absolute values | Vx | and | Vy | are 0, only abs_bvd_msb_idx_p1_x and abs_bvd_msb_idx_p1_y are encoded.

次に、画像復号装置について説明する。
この実施の形態7による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
以下、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作について説明する。
Next, an image decoding device will be described.
The image decoding apparatus according to the seventh embodiment has the same configuration as the image decoding apparatus according to the fourth embodiment, but the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction is performed. Different.
Hereinafter, the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction will be described.

図82及び図83は画面内コピー予測パラメータが画像符号化装置にて図79及び図80に示す手順で符号化されている場合に、その復号に係る可変長復号部31の動作を示したフローチャートである。
ここでは、画面内コピー予測におけるブロックシフトベクトルを(Vx,Vy)とし、その初期値を0とする。
まず、可変長復号部31は、abs_bvd_msb_idx_p1_xを復号し、そのabs_bvd_msb_idx_p1_xが0でなければ、2abs_bvd_msb_idx_p1_x−1をVxに加算する(図82のステップST360)。
また、可変長復号部31は、abs_bvd_msb_idx_p1_yを復号し、そのabs_bvd_msb_idx_p1_yが0でなければ、2abs_bvd_msb_idx_p1_y−1をVyに加算する(ステップST361)。
82 and 83 are flowcharts showing the operation of the variable length decoding unit 31 related to the decoding when the intra-screen copy prediction parameter is encoded by the image encoding apparatus according to the procedure shown in FIGS. 79 and 80. It is.
Here, the block shift vector in the intra-screen copy prediction is (Vx, Vy), and its initial value is 0.
First, the variable length decoding unit 31 decodes abs_bvd_msb_idx_p1_x, and adds 2 abs_bvd_msb_idx_p1_x-1 to Vx unless the abs_bvd_msb_idx_p1_x is 0 (step ST360 in FIG. 82).
Moreover, the variable length decoding part 31 decodes abs_bvd_msb_idx_p1_y, and if abs_bvd_msb_idx_p1_y is not 0, 2 abs_bvd_msb_idx_p1_y-1 is added to Vy (step ST361).

可変長復号部31は、Vx,Vyのいずれかが0でない場合(ステップST362:Noの場合)、ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグであるフラグis_pred_flagを復号する(図83のステップST363)。ここで、Vx,Vyが共に0である場合(ステップST362:Yesの場合)、フラグis_pred_flagを復号せずに、フラグis_pred_flagを1に設定する。
次に、可変長復号部31は、Vxが1よりも大きい場合(ステップST364:Yesの場合)、abs_bvd_refinement_bits_xを復号して、そのabs_bvd_refinement_bits_xをVxに加算する(ステップST365)。
また、可変長復号部31は、Vxが0でない場合(ステップST366:Yesの場合)、フラグbvd_sign_flag_xを復号し、そのフラグbvd_sign_flag_xが0であれば、Vxの符号を正に設定し、そのフラグbvd_sign_flag_xが1であれば、Vxの符号を負に設定する(ステップST367)。
The variable length decoding unit 31 is a vector prediction flag indicating whether or not the difference vector between the block shift vector and the prediction vector is encoded when either Vx or Vy is not 0 (step ST362: No). The flag is_pred_flag is decoded (step ST363 in FIG. 83). If Vx and Vy are both 0 (step ST362: Yes), the flag is_pred_flag is set to 1 without decoding the flag is_pred_flag.
Next, when Vx is larger than 1 (in the case of Step ST364: Yes), the variable length decoding unit 31 decodes abs_bvd_refinement_bits_x and adds the abs_bvd_definition_bits_x to Vx (step ST365).
If Vx is not 0 (step ST366: Yes), the variable length decoding unit 31 decodes the flag bvd_sign_flag_x. If the flag bvd_sign_flag_x is 0, the variable length decoding unit 31 sets the sign of Vx to be positive and the flag bvd_sign_flag_x If is 1, the sign of Vx is set to negative (step ST367).

次に、可変長復号部31は、Vyが1よりも大きい場合(ステップST368:Yesの場合)、abs_bvd_refinement_bits_yを復号して、そのabs_bvd_refinement_bits_yをVyに加算する(ステップST369)。
また、可変長復号部31は、Vyが0でない場合(ステップST370:Yesの場合)、フラグbvd_sign_flag_yを復号し、そのフラグbvd_sign_flag_yが0であれば、Vyの符号を正に設定し、そのフラグbvd_sign_flag_yが1であれば、Vyの符号を負に設定する(ステップST371)。
Next, when Vy is greater than 1 (step ST368: Yes), the variable length decoding unit 31 decodes abs_bvd_refinement_bits_y, and adds the abs_bvd_definition_bits_y to Vy (step ST369).
If Vy is not 0 (step ST370: Yes), the variable length decoding unit 31 decodes the flag bvd_sign_flag_y. If the flag bvd_sign_flag_y is 0, the variable length decoding unit 31 sets the sign of Vy to be positive, and the flag bvd_sign_flag_y. If is 1, the sign of Vy is set to be negative (step ST371).

可変長復号部31は、以上の手順により得られた画面内コピー予測のブロックシフトベクトル(Vx,Vy)と、そのブロックシフトベクトル(Vx,Vy)が予測ベクトルとの差分ベクトルであるか否かを示すフラグis_pred_flagとを画面内コピー予測パラメータとして出力する。   The variable length decoding unit 31 determines whether or not the block shift vector (Vx, Vy) of intra-screen copy prediction obtained by the above procedure is a difference vector between the block shift vector (Vx, Vy) and the prediction vector. The flag is_pred_flag indicating the is output as an intra-screen copy prediction parameter.

画面内コピー予測部35の参照ブロック座標決定部180は、可変長復号部31により復号された画面内コピー予測パラメータを受けると、その画面内コピー予測パラメータに含まれているフラグis_pred_flagを参照して、その画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)が、予測ベクトルとの差分ベクトルであるか否かを確認する。
即ち、参照ブロック座標決定部180は、フラグis_pred_flagが“0”であれば、ベクトルの予測が行われず、画面内コピー予測におけるベクトルがそのまま符号化されていると認識し、フラグis_pred_flagが“1”であれば、ベクトルの予測が行われて、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識して、画面内コピー予測パラメータに含まれているブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルを生成する。
参照ブロック座標決定部180は、画面内コピー予測におけるベクトルがそのまま符号化されていると認識すると、そのブロックシフトベクトル(Vx,Vy)から参照ブロックの位置を表す座標を特定する。一方、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルが符号化されていると認識すると、ブロックシフトベクトル(Vx,Vy)に対して予測ベクトルを加算したベクトルから参照ブロックの位置を表す座標を特定する。
Upon receiving the intra-screen copy prediction parameter decoded by the variable-length decoding unit 31, the reference block coordinate determination unit 180 of the intra-screen copy prediction unit 35 refers to the flag is_pred_flag included in the intra-screen copy prediction parameter. Then, it is confirmed whether or not the block shift vector (Vx, Vy) included in the intra-screen copy prediction parameter is a difference vector from the prediction vector.
That is, if the flag is_pred_flag is “0”, the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is without predicting the vector, and the flag is_pred_flag is “1”. If the vector is predicted, the difference vector between the vector and the prediction vector in the intra-screen copy prediction is recognized, and the block shift vector ( A vector obtained by adding a prediction vector to Vx, Vy) is generated.
When the reference block coordinate determination unit 180 recognizes that the vector in the intra-screen copy prediction is encoded as it is, the reference block coordinate determination unit 180 specifies the coordinate representing the position of the reference block from the block shift vector (Vx, Vy). On the other hand, when recognizing that the difference vector between the vector and the prediction vector in the intra-screen copy prediction is encoded, the coordinates representing the position of the reference block from the vector obtained by adding the prediction vector to the block shift vector (Vx, Vy) Is identified.

画面内コピー予測部35の予測画像生成部181は、参照ブロック座標決定部180が参照ブロックの位置を表す座標を特定すると、イントラ用メモリ38に格納されている局所復号画像から、その座標上の参照ブロックを読み出して、その参照ブロックを予測画像として加算部37に出力する。   When the reference block coordinate determination unit 180 specifies the coordinates representing the position of the reference block, the predicted image generation unit 181 of the intra-screen copy prediction unit 35 determines the coordinates on the coordinates from the local decoded image stored in the intra memory 38. The reference block is read out, and the reference block is output to the adding unit 37 as a predicted image.

以上で明らかなように、この実施の形態7によれば、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いるように構成したので、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
また、この実施の形態7によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
As apparent from the above, according to the seventh embodiment, the variable length coding unit 15 adaptively performs the case where the difference vector is variable length coded and the case where the block shift vector itself is variable length coded. Since the encoding scheme that matches the vector distribution at the time of switching to is used, the amount of code required for encoding the block shift vector is further reduced compared to the fourth embodiment, and the code for the screen content is encoded. There is an effect that can improve the performance.
In addition, according to the seventh embodiment, the image decoding apparatus and the image decoding method capable of correctly decoding the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above-described effects can be obtained. Play.

実施の形態8.
上記実施の形態5〜7では、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化するものを示している。
この実施の形態8では、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化する際、ベクトル予測フラグであるフラグ117が差分ベクトルを符号化している旨を示していれば、第1の符号化方式(例えば、動きベクトルの可変長符号化に用いる符号化方式)で差分ベクトルを符号化し、フラグ117が差分ベクトルを符号化していない旨を示していれば、第1の符号化方式と異なる第2の符号化方式でブロックシフトベクトルそのものを符号化するものを説明する。
Embodiment 8 FIG.
In the fifth to seventh embodiments, the vector distribution when the variable length coding unit 15 adaptively switches between the case where the difference vector is variable length coded and the case where the block shift vector itself is variable length coded. The block shift vector is variable-length encoded using an encoding method that matches
In the eighth embodiment, the variable length coding unit 15 matches the vector distribution when adaptively switching between the variable length coding of the difference vector and the variable length coding of the block shift vector itself. When the variable length coding is performed on the block shift vector using the coding scheme described above, if the flag 117 that is the vector prediction flag indicates that the difference vector is coded, the first coding scheme (for example, A second encoding different from the first encoding method if the difference vector is encoded by a coding method used for variable length coding of motion vectors) and the flag 117 indicates that the difference vector is not encoded. A method of encoding the block shift vector itself by the method will be described.

この実施の形態8による画像符号化装置は、上記実施の形態4における画像符号化装置と同様の構成であるが、可変長符号化部15が画面内コピー予測のブロックシフトベクトルを符号化する際の動作が異なる。   The image coding apparatus according to the eighth embodiment has the same configuration as that of the image coding apparatus according to the fourth embodiment, but when the variable length coding unit 15 codes the block shift vector for intra-screen copy prediction. The operation of is different.

図84はこの発明の実施の形態8による可変長符号化部15の内部構成のうち、画面内コピー予測のブロックシフトベクトルを符号化する部分を示す構成図である。
可変長符号化部15の選択スイッチ118は、符号化制御部1から画面内コピー予測で符号化するベクトル116を受けると、符号化制御部1から出力されたベクトル予測フラグであるフラグ117(予測を行う場合は1、予測を行わない場合は0)が“1”であれば、そのベクトル116をブロックシフトベクトル符号化部119に出力し、そのフラグ117が“0”であれば、そのベクトル116をブロックシフトベクトル符号化部120に出力する。
FIG. 84 is a block diagram showing a portion of the internal configuration of the variable length encoding unit 15 according to the eighth embodiment of the present invention, which encodes the block shift vector for intra-screen copy prediction.
When the selection switch 118 of the variable-length encoding unit 15 receives the vector 116 to be encoded by intra-screen copy prediction from the encoding control unit 1, a flag 117 (prediction) that is a vector prediction flag output from the encoding control unit 1. If the prediction is not performed, the vector 116 is output to the block shift vector encoding unit 119. If the flag 117 is “0”, the vector 116 is output. 116 is output to the block shift vector encoding unit 120.

ブロックシフトベクトル符号化部119は、第1の符号化方式で符号化を行う符号化部であり、選択スイッチ118からベクトル116を受けると、例えば、次数が1の指数ゴロム符号化によってベクトル116を符号化する。
ブロックシフトベクトル符号化部120は、第2の符号化方式で符号化を行う符号化部であり、選択スイッチ118からベクトル116を受けると、例えば、次数が4の指数ゴロム符号化によってベクトル116を符号化する。
選択スイッチ121は符号化制御部1から出力されたフラグ117が“1”であれば、ブロックシフトベクトル符号化部119により符号化されたベクトル116の符号化データであるビット列122を符号化ビットストリームに加え、そのフラグ117が“0”であれば、ブロックシフトベクトル符号化部120により符号化されたベクトル116の符号化データであるビット列122を符号化ビットストリームに加える。
The block shift vector encoding unit 119 is an encoding unit that performs encoding using the first encoding method. When the vector 116 is received from the selection switch 118, the block shift vector encoding unit 119, for example, converts the vector 116 by exponential Golomb encoding of degree 1. Encode.
The block shift vector encoding unit 120 is an encoding unit that performs encoding by the second encoding method. When the vector 116 is received from the selection switch 118, the block shift vector encoding unit 120, for example, converts the vector 116 by exponential Golomb encoding of degree 4. Encode.
If the flag 117 output from the encoding control unit 1 is “1”, the selection switch 121 encodes the bit string 122 that is the encoded data of the vector 116 encoded by the block shift vector encoding unit 119 into the encoded bit stream. In addition, if the flag 117 is “0”, the bit string 122 which is the encoded data of the vector 116 encoded by the block shift vector encoding unit 120 is added to the encoded bit stream.

上記実施の形態で言及しているように、差分ベクトルを符号化する場合と、ブロックシフトベクトルそのものを符号化する場合とでは、符号化するベクトルの値の分布が大きく異なる。
そこで、この実施の形態8では、2つのブロックシフトベクトル符号化部119,120を設け、ベクトルの予測の有無に応じて符号化方式を切り替えるようにしている。
即ち、画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルを符号化する場合、ブロックシフトベクトル符号化部119が、第1の符号化方式で差分ベクトルであるベクトル116を符号化し、画面内コピー予測におけるブロックシフトベクトルそのものを符号化する場合、ブロックシフトベクトル符号化部120が、第2の符号化方式でブロックシフトベクトルそのものであるベクトル116を符号化するようにしている。
これにより、符号化を行う各ベクトルに最適な符号化方式を選択することができるようになり、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる。
As mentioned in the above embodiment, the distribution of the vector values to be encoded differs greatly between the case of encoding the difference vector and the case of encoding the block shift vector itself.
Therefore, in the eighth embodiment, two block shift vector encoding units 119 and 120 are provided, and the encoding method is switched according to the presence or absence of vector prediction.
That is, when encoding the difference vector between the vector and the prediction vector in the intra-screen copy prediction, the block shift vector encoding unit 119 encodes the vector 116 which is the difference vector in the first encoding method, and copies the intra-screen copy. When encoding the block shift vector itself in the prediction, the block shift vector encoding unit 120 encodes the vector 116 that is the block shift vector itself in the second encoding method.
Thereby, it becomes possible to select an optimal encoding method for each vector to be encoded, further reducing the amount of code required for encoding the block shift vector, compared to the fourth embodiment, Encoding performance for screen contents can be improved.

この実施の形態8では、ブロックシフトベクトル符号化部119が次数1の指数ゴロム符号を用い、ブロックシフトベクトル符号化部120が次数4の指数ゴロム符号を用いる符号化方式を示しているが、これに限るものではなく、ブロックシフトベクトルの符号化に必要な符号量を削減することができれば、ブロックシフトベクトル符号化部119,120が、上記以外の符号化方式を用いるようにしてもよいことは言うまでもない。   In the eighth embodiment, the block shift vector encoding unit 119 uses an order 1 exponential Golomb code, and the block shift vector encoding unit 120 uses an order 4 exponential Golomb code. However, the block shift vector encoding units 119 and 120 may use encoding methods other than those described above if the amount of code required for encoding the block shift vector can be reduced. Needless to say.

なお、ブロックシフトベクトル符号化部119は、上記実施の形態1におけるベクトル符号化部53と共通化するようにしてもよい。つまり、ベクトル予測フラグであるフラグ117が画面内コピー予測におけるベクトルと予測ベクトルとの差分ベクトルを符号化する旨を示していれば、符号化制御部1から出力されたベクトル116をインター符号化モードにおける動きベクトルを符号化する場合と同様の方式で符号化する一方、フラグ117が画面内コピー予測におけるブロックシフトベクトルそのものを符号化する旨を示していれば、符号化制御部1から出力されたベクトル116をインター符号化モードにおける動きベクトルを符号化する方式とは異なる符号化方式で符号化するようにしてもよい。
これにより、ブロックシフトベクトルの符号化に必要な符号量を削減しつつ、必要な符号化部の種類を少なくすることができるため、ハードウェアおよびソフトウェア実装時の実装規模および開発期間を削減することが可能になる。
The block shift vector encoding unit 119 may be shared with the vector encoding unit 53 in the first embodiment. That is, if the flag 117 which is a vector prediction flag indicates that the difference vector between the vector and the prediction vector in the intra-screen copy prediction is to be encoded, the vector 116 output from the encoding control unit 1 is set to the inter encoding mode. If the flag 117 indicates that the block shift vector itself in the intra-screen copy prediction is to be encoded, while it is encoded in the same manner as in the case of encoding the motion vector in FIG. The vector 116 may be encoded by an encoding method different from the method for encoding the motion vector in the inter encoding mode.
This reduces the amount of coding required for coding block shift vectors and reduces the number of coding units required, thus reducing the implementation scale and development period when implementing hardware and software. Is possible.

次に、画像復号装置について説明する。
この実施の形態8による画像復号装置は、上記実施の形態4における画像復号装置と同様の構成であるが、可変長復号部31が、画面内コピー予測のブロックシフトベクトルを復号する際の動作が異なる。
図85はこの発明の実施の形態8による画像復号装置の可変長復号部31の内部構成のうち、画面内コピー予測のブロックシフトベクトルの復号に関する部分を示す構成図である。
Next, an image decoding device will be described.
The image decoding apparatus according to the eighth embodiment has the same configuration as that of the image decoding apparatus according to the fourth embodiment, but the operation when the variable length decoding unit 31 decodes the block shift vector for intra-screen copy prediction. Different.
FIG. 85 is a block diagram showing a part related to decoding of a block shift vector for intra-screen copy prediction in the internal configuration of the variable-length decoding unit 31 of the image decoding apparatus according to Embodiment 8 of the present invention.

可変長復号部31は、符号化ビットストリーム123に含まれている画面内コピー予測パラメータの中から、ブロックシフトベクトルと予測ベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグであるフラグ125を復号する。
可変長復号部31の選択スイッチ124は、フラグ125が差分ベクトルを符号化している旨を示していれば、符号化ビットストリーム123をブロックシフトベクトル復号部126に出力し、フラグ125が差分ベクトルを符号化していない旨を示していれば、符号化ビットストリーム123をブロックシフトベクトル復号部127に出力する。
The variable length decoding unit 31 is a vector prediction flag indicating whether or not the difference vector between the block shift vector and the prediction vector is encoded from the intra-screen copy prediction parameters included in the encoded bitstream 123. The flag 125 is decoded.
If the flag 125 indicates that the difference vector is encoded, the selection switch 124 of the variable length decoding unit 31 outputs the encoded bit stream 123 to the block shift vector decoding unit 126, and the flag 125 stores the difference vector. If it indicates that it is not encoded, the encoded bit stream 123 is output to the block shift vector decoding unit 127.

ブロックシフトベクトル復号部126は、図84におけるブロックシフトベクトル符号化部119の符号化方式に対応する復号方式で復号を行う復号部であり、選択スイッチ124から符号化ビットストリーム123を受けると、例えば、次数が1の指数ゴロム復号によって符号化ビットストリーム123から差分ベクトルを復号し、その差分ベクトルに対して、既に復号している他のブロックのブロックシフトベクトル(画像符号化装置において、当該予測ブロックのブロックシフトベクトルと差分が取られているブロックのブロックシフトベクトル)を加算することで、当該予測ブロックのブロックシフトベクトルを算出する。
ブロックシフトベクトル復号部127は、図84におけるブロックシフトベクトル符号化部120の符号化方式に対応する復号方式で復号を行う復号部であり、選択スイッチ124から符号化ビットストリーム123を受けると、例えば、次数が4の指数ゴロム復号によって符号化ビットストリーム123からブロックシフトベクトルを復号する。
The block shift vector decoding unit 126 is a decoding unit that performs decoding using a decoding method corresponding to the encoding method of the block shift vector encoding unit 119 in FIG. 84. When the encoded bit stream 123 is received from the selection switch 124, for example, , A difference vector is decoded from the encoded bitstream 123 by exponential Golomb decoding of degree 1, and a block shift vector of another block that has already been decoded with respect to the difference vector (in the image encoding device, the predicted block The block shift vector of the prediction block is calculated by adding the block shift vector of the block and the block shift vector of the block for which the difference is taken.
The block shift vector decoding unit 127 is a decoding unit that performs decoding using a decoding method corresponding to the encoding method of the block shift vector encoding unit 120 in FIG. 84. When the encoded bit stream 123 is received from the selection switch 124, for example, The block shift vector is decoded from the encoded bit stream 123 by exponential Golomb decoding of degree 4.

選択スイッチ128は、フラグ125が差分ベクトルを符号化している旨を示していれば、ブロックシフトベクトル復号部126により算出されたブロックシフトベクトルをブロックシフトベクトル129として出力し、フラグ125が差分ベクトルを符号化していない旨を示していれば、ブロックシフトベクトル復号部127により復号されたブロックシフトベクトルをブロックシフトベクトル129として出力する。   If the flag 125 indicates that the difference vector is encoded, the selection switch 128 outputs the block shift vector calculated by the block shift vector decoding unit 126 as the block shift vector 129, and the flag 125 sets the difference vector. If it indicates that it is not encoded, the block shift vector decoded by the block shift vector decoding unit 127 is output as the block shift vector 129.

以上で明らかなように、この実施の形態8によれば、可変長符号化部15が、差分ベクトルを可変長符号化する場合と、ブロックシフトベクトルそのものを可変長符号化する場合とを適応的に切り替えたときのベクトル分布に合致した符号化方式を用いて、ブロックシフトベクトルを可変長符号化する際、ベクトル予測フラグであるフラグ117が差分ベクトルを符号化している旨を示していれば、第1の符号化方式で差分ベクトルを符号化し、フラグ117が差分ベクトルを符号化していない旨を示していれば、第1の符号化方式と異なる第2の符号化方式でブロックシフトベクトルそのものを符号化するように構成したので、上記実施の形態4よりも更に、ブロックシフトベクトルの符号化に必要な符号量を削減して、スクリーンコンテンツに対する符号化性能を高めることができる効果を奏する。
また、この実施の形態8によれば、上記効果を持つ画像符号化装置及び画像符号化方法が生成する符号化ビットストリームを正しく復号することができる画像復号装置及び画像復号方法が得られる効果を奏する。
As apparent from the above, according to the eighth embodiment, the variable length coding unit 15 adaptively performs the case where the difference vector is variable length coded and the case where the block shift vector itself is variable length coded. When variable-length encoding a block shift vector using an encoding method that matches the vector distribution when switching to, the flag 117, which is a vector prediction flag, indicates that the difference vector is encoded, If the difference vector is encoded by the first encoding method and the flag 117 indicates that the difference vector is not encoded, the block shift vector itself is converted by the second encoding method different from the first encoding method. Since the encoding is performed, the amount of code required for encoding the block shift vector is further reduced as compared with the fourth embodiment, and the screen content is reduced. Tsu offers an advantage of being able to improve the coding performance for.
In addition, according to the eighth embodiment, the image decoding apparatus and the image decoding method that can correctly decode the encoded bitstream generated by the image encoding apparatus and the image encoding method having the above effects can be obtained. Play.

なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。   In the present invention, within the scope of the invention, any combination of the embodiments, or any modification of any component in each embodiment, or omission of any component in each embodiment is possible. .

1 符号化制御部、2 スライス分割部、3 ブロック分割部、4 切換スイッチ、5 イントラ予測部、6 画面内コピー予測部(画面内コピー予測手段)、7 動き補償予測部(動き補償予測手段)、8 減算部、9 変換・量子化部、10 逆量子化・逆変換部、11 加算部、12 イントラ用メモリ、13 ループフィルタ部、14 動き補償予測フレームメモリ、15 可変長符号化部(可変長符号化手段)、31 可変長復号部(可変長復号手段)、32 逆量子化・逆変換部、33 切換スイッチ、34 イントラ予測部、35 画面内コピー予測部(画面内コピー予測手段)、36 動き補償予測部(動き補償予測手段)、37 加算部、38 イントラ用メモリ、39 ループフィルタ部、40 動き補償予測フレームメモリ、50 ベクトル差分、51 符号化方式選択情報、52 選択スイッチ、53 ベクトル符号化部、54 ベクトル符号化部、55 選択スイッチ、56 ビット列、60 符号化ビットストリーム、61 復号方式選択情報、62 選択スイッチ、63 ベクトル復号部、64 ベクトル復号部、65 選択スイッチ、66 復号ベクトル、71 参照ブロック探索部、72 予測画像生成部、73 ベクトル表現形式決定部、81 参照ブロック座標決定部、82 予測画像生成部、91 領域分割部、92 参照領域探索部、93 予測画像生成部、94 ベクトル差分計算部、101 ベクトル並べ替え部、102 予測画像生成部、111 ブロックシフトベクトル、112 予測ベクトル、113 ベクトル符号量計算部、114 符号量情報、115 ベクトル符号量比較部、116 ベクトル、117 フラグ、118 選択スイッチ、119 ブロックシフトベクトル符号化部、120 ブロックシフトベクトル符号化部、121 選択スイッチ、122 ビット列、123 符号化ビットストリーム、124 選択スイッチ、125 フラグ、126 ブロックシフトベクトル復号部、127 ブロックシフトベクトル復号部、128 選択スイッチ、129 ブロックシフトベクトル、180 参照ブロック座標決定部、181 予測画像生成部、201a,201b,202a,202b ブロック。   DESCRIPTION OF SYMBOLS 1 Encoding control part, 2 Slice division part, 3 Block division part, 4 Changeover switch, 5 Intra prediction part, 6 In-screen copy prediction part (In-screen copy prediction means), 7 Motion compensation prediction part (Motion compensation prediction means) , 8 Subtractor, 9 Transformer / Quantizer, 10 Inverse Quantizer / Inverse Transformer, 11 Adder, 12 Intra Memory, 13 Loop Filter Unit, 14 Motion Compensated Prediction Frame Memory, 15 Variable Length Coding Unit (variable) Long encoding means), 31 variable length decoding section (variable length decoding means), 32 inverse quantization / inverse transform section, 33 changeover switch, 34 intra prediction section, 35 intra-screen copy prediction section (intra-screen copy prediction means), 36 motion compensation prediction unit (motion compensation prediction means), 37 addition unit, 38 intra memory, 39 loop filter unit, 40 motion compensation prediction frame memory, 50 vectors Toll difference, 51 encoding method selection information, 52 selection switch, 53 vector encoding unit, 54 vector encoding unit, 55 selection switch, 56 bit string, 60 encoded bit stream, 61 decoding method selection information, 62 selection switch, 63 Vector decoding unit, 64 vector decoding unit, 65 selection switch, 66 decoded vector, 71 reference block search unit, 72 predicted image generation unit, 73 vector representation format determination unit, 81 reference block coordinate determination unit, 82 predicted image generation unit, 91 Region dividing unit, 92 reference region searching unit, 93 predicted image generating unit, 94 vector difference calculating unit, 101 vector rearranging unit, 102 predicted image generating unit, 111 block shift vector, 112 predicted vector, 113 vector code amount calculating unit, 114 code amount information, 115 vector Code amount comparison unit, 116 vector, 117 flag, 118 selection switch, 119 block shift vector encoding unit, 120 block shift vector encoding unit, 121 selection switch, 122 bit string, 123 encoded bit stream, 124 selection switch, 125 Flag, 126 block shift vector decoding unit, 127 block shift vector decoding unit, 128 selection switch, 129 block shift vector, 180 reference block coordinate determination unit, 181 prediction image generation unit, 201a, 201b, 202a, 202b block.

Claims (14)

符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測手段と、
前記画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する可変長符号化手段とを備え、
前記可変長符号化手段は、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、前記ブロックシフトベクトルを可変長符号化することを特徴とする画像符号化装置。
When generating a predicted image of a block to be encoded, a reference block corresponding to the block to be encoded is searched for from among regions that have already been decoded in the same picture among local decoded images, and the reference block In-screen copy prediction means for outputting a block shift vector indicating the position of
Variable length encoding means for variable length encoding the block shift vector output from the intra-screen copy prediction means,
The variable length encoding means adaptively switches whether to encode a difference vector between a prediction vector for the block shift vector and the block shift vector, or to encode the block shift vector as it is, and its vector distribution An image coding apparatus characterized in that the block shift vector is subjected to variable length coding using a coding method that matches the above.
前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの絶対値が予め設定された閾値より大きいか否かの比較結果を示す閾値比較フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化するとともに、前記比較結果に応じた符号化方式で前記ブロックシフトベクトルの絶対値を符号化することを特徴とする請求項1記載の画像符号化装置。
The variable length encoding means includes
Encoding a zero flag indicating whether or not the absolute value of the block shift vector is zero;
If the absolute value of the block shift vector is not zero, a vector prediction flag indicating whether or not the difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and the absolute value of the block shift vector A threshold comparison flag indicating a comparison result indicating whether or not is greater than a preset threshold and a sign indicating whether the block shift vector is positive or negative, and the block shift by an encoding method according to the comparison result The image encoding apparatus according to claim 1, wherein an absolute value of the vector is encoded.
前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化するとともに、予め設定されている符号化方式で前記ブロックシフトベクトルの絶対値を符号化することを特徴とする請求項1記載の画像符号化装置。
The variable length encoding means includes
Encoding a zero flag indicating whether or not the absolute value of the block shift vector is zero;
If the absolute value of the block shift vector is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and whether the block shift vector is positive or negative The image encoding apparatus according to claim 1, wherein an encoding value is encoded, and an absolute value of the block shift vector is encoded by a preset encoding method.
前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値を示すビット値の一部に対応するインデックスを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを符号化し、
前記ブロックシフトベクトルの絶対値が1より大きければ、前記ビット値の一部を除く、前記絶対値を示す残りのビット値を符号化することを特徴とする請求項1記載の画像符号化装置。
The variable length encoding means includes
An index corresponding to a part of a bit value indicating an absolute value of the block shift vector;
If the absolute value of the block shift vector is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and whether the block shift vector is positive or negative Encoding
2. The image encoding apparatus according to claim 1, wherein if the absolute value of the block shift vector is greater than 1, the remaining bit value indicating the absolute value is encoded except for a part of the bit value.
前記可変長符号化手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを符号化し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグを符号化するとともに、前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、第1の符号化方式で前記差分ベクトルを符号化し、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、第2の符号化方式で前記ブロックシフトベクトルを符号化することを特徴とする請求項1記載の画像符号化装置。
The variable length encoding means includes
Encoding a zero flag indicating whether or not the absolute value of the block shift vector is zero;
If the absolute value of the block shift vector is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded is encoded, and the vector prediction If the flag indicates that the difference vector is encoded, the difference vector is encoded using the first encoding method, and if the vector prediction flag indicates that the difference vector is not encoded. The image encoding apparatus according to claim 1, wherein the block shift vector is encoded by a second encoding method.
前記符号化対象ブロックの予測画像を生成する際、前記符号化対象ブロックと前記局所復号画像を比較して動きベクトルを探索する動き補償予測手段を備え、
前記可変長符号化手段が、前記動き補償予測手段により探索された動きベクトル又は前記画面内コピー予測手段から出力されたブロックシフトベクトルを可変長符号化する場合、前記動きベクトルの可変長符号化に用いる符号化方式と前記第1の符号化方式が同じ符号化方式であることを特徴とする請求項5記載の画像符号化装置。
When generating a predicted image of the encoding target block, comprising a motion compensation prediction means for comparing the encoding target block and the local decoded image to search for a motion vector,
When the variable length coding unit performs variable length coding of the motion vector searched by the motion compensation prediction unit or the block shift vector output from the intra-screen copy prediction unit, the variable length coding of the motion vector is performed. 6. The image encoding apparatus according to claim 5, wherein the encoding method to be used and the first encoding method are the same encoding method.
ブロックシフトベクトルを可変長復号する可変長復号手段と、
復号画像の中から、前記可変長復号手段により可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを符号化対象ブロックの予測画像として取得する画面内コピー予測手段とを備え、 前記可変長復号手段は、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替えたときのベクトル分布に合致した復号方式を用いて、前記ブロックシフトベクトルを可変長復号することを特徴とする画像復号装置。
Variable length decoding means for variable length decoding block shift vectors;
In-screen copy prediction means for obtaining a reference block at a position indicated by a block shift vector variable-length decoded by the variable-length decoding means from among decoded images as a predicted image of the encoding target block, the variable-length decoding A means for encoding a difference vector between a prediction vector for the block shift vector and the block shift vector, or decoding corresponding to a vector distribution when adaptively switching whether to encode the block shift vector as it is An image decoding apparatus characterized by variable-length decoding the block shift vector using a method.
前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの絶対値が予め設定された閾値より大きいか否かの比較結果を示す閾値比較フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号するとともに、前記閾値比較フラグが示す比較結果に応じた復号方式で前記ブロックシフトベクトルの絶対値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。
The variable length decoding means includes
Decoding a zero flag indicating whether the absolute value of the block shift vector is zero;
If the zero flag indicates that it is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and an absolute value of the block shift vector A decoding method according to the comparison result indicated by the threshold comparison flag, while decoding the threshold comparison flag indicating the comparison result whether or not is greater than a preset threshold and the sign indicating the sign of the block shift vector Decoding the absolute value of the block shift vector;
If the vector prediction flag indicates that the difference vector is encoded, the difference vector is obtained from the absolute value of the block shift vector and the sign indicating the sign, and the difference vector and the prediction vector are used to obtain the difference vector. While obtaining a block shift vector, if the vector prediction flag indicates that the difference vector is not encoded, the block shift vector is obtained from the absolute value of the block shift vector and the sign indicating the positive / negative. The image decoding apparatus according to claim 7.
前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号するとともに、予め設定されている復号方式で前記ブロックシフトベクトルの絶対値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記ブロックシフトベクトルの絶対値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。
The variable length decoding means includes
Decoding a zero flag indicating whether the absolute value of the block shift vector is zero;
If the zero flag indicates that it is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and whether the block shift vector is positive or negative And decoding the absolute value of the block shift vector by a preset decoding method,
If the vector prediction flag indicates that the difference vector is encoded, the difference vector is obtained from the absolute value of the block shift vector and the sign indicating the sign, and the difference vector and the prediction vector are used to obtain the difference vector. While obtaining a block shift vector, if the vector prediction flag indicates that the difference vector is not encoded, the block shift vector is obtained from the absolute value of the block shift vector and the sign indicating the positive / negative. The image decoding apparatus according to claim 7.
前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値を示すビット値の一部に対応するインデックスを復号し、
前記ブロックシフトベクトルの絶対値が零でなければ、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグと、前記ブロックシフトベクトルの正負を示す符号とを復号し、
前記ブロックシフトベクトルの絶対値が1より大きければ、前記ビット値の一部を除く、前記絶対値を示す残りのビット値を復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、前記インデックス、前記残りのビット値及び前記正負を示す符号から前記差分ベクトルを得て、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求める一方、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、前記インデックス、前記残りのビット値及び前記正負を示す符号から前記ブロックシフトベクトルを得ることを特徴とする請求項7記載の画像復号装置。
The variable length decoding means includes
Decoding an index corresponding to a part of a bit value indicating an absolute value of the block shift vector;
If the absolute value of the block shift vector is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded, and whether the block shift vector is positive or negative Decoding the indicated code,
If the absolute value of the block shift vector is greater than 1, decode the remaining bit value indicating the absolute value excluding a part of the bit value;
If the vector prediction flag indicates that the difference vector is encoded, the difference vector is obtained from the index, the remaining bit values, and the sign indicating the sign, and the difference vector and the prediction vector are obtained. While obtaining the block shift vector, if the vector prediction flag indicates that the difference vector is not encoded, the block shift vector is obtained from the index, the remaining bit value, and the sign indicating the positive / negative. The image decoding apparatus according to claim 7.
前記可変長復号手段は、
前記ブロックシフトベクトルの絶対値が零であるか否かを示す零フラグを復号し、
前記零フラグが零でない旨を示していれば、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化しているか否かを示すベクトル予測フラグを復号し、
前記ベクトル予測フラグが前記差分ベクトルを符号化している旨を示していれば、第1の復号方式で前記差分ベクトルを復号して、前記差分ベクトルと前記予測ベクトルから前記ブロックシフトベクトルを求め、前記ベクトル予測フラグが前記差分ベクトルを符号化していない旨を示していれば、第2の復号方式で前記ブロックシフトベクトルを復号することを特徴とする請求項7記載の画像復号装置。
The variable length decoding means includes
Decoding a zero flag indicating whether the absolute value of the block shift vector is zero;
If the zero flag indicates that it is not zero, a vector prediction flag indicating whether or not a difference vector between the prediction vector for the block shift vector and the block shift vector is encoded is decoded;
If the vector prediction flag indicates that the difference vector is encoded, the difference vector is decoded by a first decoding method to obtain the block shift vector from the difference vector and the prediction vector, 8. The image decoding apparatus according to claim 7, wherein if the vector prediction flag indicates that the difference vector is not encoded, the block shift vector is decoded by a second decoding method.
前記可変長復号手段は、前記符号化対象ブロックに係る動きベクトル又は前記ブロックシフトベクトルを可変長復号する場合、
前記動きベクトルの可変長復号に用いる復号方式と前記第1の復号方式が同じ復号方式であることを特徴とする請求項11記載の画像復号装置。
When the variable length decoding means performs variable length decoding on the motion vector or the block shift vector related to the encoding target block,
12. The image decoding apparatus according to claim 11, wherein the decoding method used for variable length decoding of the motion vector and the first decoding method are the same decoding method.
画面内コピー予測手段が、符号化対象ブロックの予測画像を生成する際、局所復号画像のうち同一のピクチャ内で既に復号が済んでいる領域の中から、前記符号化対象ブロックに対応する参照ブロックを探索し、前記参照ブロックの位置を示すブロックシフトベクトルを出力する画面内コピー予測処理ステップと、
可変長符号化手段が、前記画面内コピー予測処理ステップで出力されたブロックシフトベクトルを可変長符号化する可変長符号化処理ステップとを備え、
前記可変長符号化処理ステップでは、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替え、そのベクトル分布に合致した符号化方式を用いて、前記ブロックシフトベクトルを可変長符号化することを特徴とする画像符号化方法。
When the intra-screen copy prediction unit generates a predicted image of the encoding target block, a reference block corresponding to the encoding target block from among regions that have already been decoded in the same picture of the locally decoded image And an intra-screen copy prediction processing step for outputting a block shift vector indicating the position of the reference block;
A variable-length encoding means comprising: a variable-length encoding processing step for variable-length encoding the block shift vector output in the intra-screen copy prediction processing step;
In the variable-length encoding processing step, adaptively switching between encoding a difference vector between a prediction vector for the block shift vector and the block shift vector or encoding the block shift vector as it is is performed. An image encoding method, wherein the block shift vector is variable-length encoded using an encoding method that matches a distribution.
可変長復号手段が、ブロックシフトベクトルを可変長復号する可変長復号処理ステップと、
画面内コピー予測手段が、復号画像の中から、前記可変長復号処理ステップで可変長復号されたブロックシフトベクトルが示す位置の参照ブロックを符号化対象ブロックの予測画像として取得する画面内コピー予測処理ステップとを備え、
前記可変長復号処理ステップでは、前記ブロックシフトベクトルに対する予測ベクトルと当該ブロックシフトベクトルとの差分ベクトルを符号化するか、あるいは前記ブロックシフトベクトルをそのまま符号化するかを適応的に切り替えたときのベクトル分布に合致した復号方式を用いて、前記ブロックシフトベクトルを可変長復号することを特徴とする画像復号方法。
A variable-length decoding means for variable-length decoding the variable-length decoding of the block shift vector;
Intra-screen copy prediction processing in which intra-screen copy prediction means acquires a reference block at the position indicated by the block shift vector variable-length decoded in the variable-length decoding processing step as a predicted image of the encoding target block from the decoded image With steps,
In the variable length decoding processing step, a vector when adaptively switching between encoding a difference vector between a prediction vector for the block shift vector and the block shift vector or encoding the block shift vector as it is An image decoding method, wherein the block shift vector is subjected to variable length decoding using a decoding method matching the distribution.
JP2014168614A 2014-08-21 2014-08-21 Image coding device, image decoding device, image coding method and image decoding method Pending JP2016046641A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014168614A JP2016046641A (en) 2014-08-21 2014-08-21 Image coding device, image decoding device, image coding method and image decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014168614A JP2016046641A (en) 2014-08-21 2014-08-21 Image coding device, image decoding device, image coding method and image decoding method

Publications (1)

Publication Number Publication Date
JP2016046641A true JP2016046641A (en) 2016-04-04

Family

ID=55636824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014168614A Pending JP2016046641A (en) 2014-08-21 2014-08-21 Image coding device, image decoding device, image coding method and image decoding method

Country Status (1)

Country Link
JP (1) JP2016046641A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020183859A1 (en) * 2019-03-11 2020-09-17 キヤノン株式会社 Image coding device, image decoding device, image coding method, image decoding method, and program
CN116233470A (en) * 2020-02-04 2023-06-06 华为技术有限公司 Encoder, decoder and corresponding methods for indicating high level syntax

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KAZUYUKI MIYAZAWA ET AL., NON-SCCE1: ADAPTIVE SWITCHING BETWEEN DIFFERENTIAL AND DIRECT CODING FOR INTRA BLOCK COPY VECTORS, JPN6017039237, 30 June 2014 (2014-06-30) *
MARTA KARCZEWICZ ET AL., NON-SCCE1: BLOCK VECTOR CODING FOR INTRA BLOCK COPY, JPN6017039238, 30 June 2014 (2014-06-30) *
SHIH-TA HSIANG ET AL., SCCE1: TEST 3.5 - BLOCK VECTOR DIFFERENCE CODING, JPN6017039241, 30 June 2014 (2014-06-30) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020183859A1 (en) * 2019-03-11 2020-09-17 キヤノン株式会社 Image coding device, image decoding device, image coding method, image decoding method, and program
CN116233470A (en) * 2020-02-04 2023-06-06 华为技术有限公司 Encoder, decoder and corresponding methods for indicating high level syntax
CN116233470B (en) * 2020-02-04 2024-01-09 华为技术有限公司 Encoder, decoder and corresponding methods for indicating high level syntax

Similar Documents

Publication Publication Date Title
JP6573689B2 (en) Image coding apparatus and image coding method
US10116939B2 (en) Method of deriving motion information
US10158857B2 (en) Method of constructing merge list
JP6580185B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, and moving picture decoding method
JP6147368B2 (en) Image encoding device, image decoding device, encoded stream conversion device, image encoding method, and image decoding method
WO2013108684A1 (en) Video image decoding device, video image and coding device, video image decoding method and video image coding method
WO2014163200A1 (en) Color image encoding apparatus, color image decoding apparatus, color image encoding method, and color image decoding method
WO2012081162A1 (en) Moving image encoding device, moving image decoding device, moving image encoding method and moving image decoding method
JP6362370B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP6373008B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP6318729B2 (en) Terminal device and data management device
JP2016046641A (en) Image coding device, image decoding device, image coding method and image decoding method
JP2014204311A (en) Color image encoding device, color image decoding device, color image encoding method and color image decoding method
JP6256222B2 (en) Terminal device and data management device
JP6300660B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP6338408B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
CN113785581A (en) Video or image compilation based on zoom lists
JP6555856B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR20240090206A (en) Video encoding/decoding method, method of transmitting bitstream, and recording medium storing bitstream
CN117981316A (en) Image encoding/decoding method, method of transmitting bitstream, and recording medium storing bitstream
JP2018166329A (en) Image encoder and image decoder
JP2016005210A (en) Terminal and data management device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180515