JP2022120221A - Image decoding device, image decoding method, and image decoding program - Google Patents
Image decoding device, image decoding method, and image decoding program Download PDFInfo
- Publication number
- JP2022120221A JP2022120221A JP2019171780A JP2019171780A JP2022120221A JP 2022120221 A JP2022120221 A JP 2022120221A JP 2019171780 A JP2019171780 A JP 2019171780A JP 2019171780 A JP2019171780 A JP 2019171780A JP 2022120221 A JP2022120221 A JP 2022120221A
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- unit
- refreshed
- block
- area
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、画像をブロックに分割して予測を行う画像符号化及び復号技術に関する。 The present invention relates to image encoding and decoding techniques for dividing an image into blocks and performing prediction.
画像の符号化及び復号では、処理の対象となる画像を所定数の画素の集合であるブロックに分割し、ブロック単位で処理をする。適切なブロックに分割し、画面内予測(イントラ予測)、画面間予測(インター予測)を適切に設定することにより、符号化効率が向上する。 In image encoding and decoding, an image to be processed is divided into blocks each of which is a set of a predetermined number of pixels, and each block is processed. Encoding efficiency is improved by dividing into appropriate blocks and appropriately setting intra-prediction and inter-prediction.
特許文献1には符号化・復号対象のブロックに隣接する復号済みの画素を用いて予測画像を得るイントラ予測技術が開示されている。
しかしながら、特許文献1の技術は符号化・復号対象のブロックに隣接する復号済みの画素のみを予測に用いるものであり、予測効率が悪い。
However, the technique of
上記課題を解決する本発明のある態様では、ピクチャ内の一部の領域をイントラ予測してリフレッシュするイントラ予測部と、復号画像のフィルタ処理をするフィルタ部と、前記フィルタ処理において、前記リフレッシュが済んだ領域の画素を参照してフィルタ処理するように、前記フィルタ部を制御するリフレッシュ制御部と、前記フィルタ部の出力をクリーン領域として格納する復号画像メモリと、前記リフレッシュが済んだ領域のインター予測において、前記クリーン領域を参照するインター予測部と、を備える。 In one aspect of the present invention for solving the above problems, an intra prediction unit that performs intra prediction and refreshes a partial region within a picture, a filter unit that performs filtering processing on a decoded image, and in the filtering processing, the refreshing is a refresh control unit for controlling the filtering unit so as to refer to the pixels in the refreshed area and perform filtering; a decoded image memory for storing the output of the filtering unit as a clean area; and an inter prediction unit that refers to the clean region in prediction.
本発明によれば、高効率な画像符号化・復号処理を低負荷で実現することができる。 According to the present invention, highly efficient image encoding/decoding processing can be realized with a low load.
本実施の形態において使用する技術、及び技術用語を定義する。 Techniques and technical terms used in this embodiment are defined.
<POC>
POC(Picture Order Count)は符号化されるピクチャに関連付けられる変数とし、ピクチャの出力順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、先に出力されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
<POC>
POC (Picture Order Count) is a variable associated with a picture to be encoded, and is set to a value that increases by 1 in the order in which pictures are output. Based on the POC value, it is possible to determine whether the pictures are the same, determine the sequential relationship between the pictures in the output order, and derive the distance between the pictures. For example, if two pictures have the same POC value, it can be determined that they are the same picture. When two pictures have different POC values, it can be determined that the picture with the smaller POC value is the picture to be output first, and the difference between the POCs of the two pictures determines the inter-picture distance in the time axis direction. show.
<ツリーブロック>
実施の形態では、所定の大きさで符号化・復号処理対象画像を均等分割する。この単位をツリーブロックと定義する。図4では、ツリーブロックのサイズを128x128画素としているが、ツリーブロックのサイズはこれに限定されるものではなく、任意のサイズを設定してよい。処理対象(符号化処理においては符号化対象、復号処理においては復号対象に対応する。)のツリーブロックは、ラスタスキャン順、すなわち左から右、上から下の順序で切り替わる。各ツリーブロックの内部は、さらに再帰的な分割が可能である。ツリーブロック分割後の、符号化・復号の対象となるブロックを符号化ブロックと定義する。また、ツリーブロック、符号化ブロックを総称してブロックと定義する。適切なブロック分割を行うことにより効率的な符号化が可能となる。ツリーブロックのサイズは、符号化装置と復号装置で予め取り決めた固定値とすることもできるし、符号化装置が決定したツリーブロックのサイズを復号装置に伝送するような構成をとることもできる。
<Tree Block>
In the embodiment, an image to be encoded/decoded is equally divided into a predetermined size. This unit is defined as a treeblock. Although the size of the treeblock is 128×128 pixels in FIG. 4, the size of the treeblock is not limited to this, and any size may be set. The treeblock to be processed (corresponding to the encoding target in the encoding process and the decoding target in the decoding process) is switched in raster scan order, that is, from left to right and from top to bottom. The interior of each treeblock can be further recursively split. A block to be coded/decoded after treeblock division is defined as a coded block. Also, tree blocks and coding blocks are collectively defined as blocks. Appropriate block division enables efficient encoding. The size of the treeblock can be a fixed value that is prearranged between the encoding device and the decoding device, or can be configured such that the treeblock size determined by the encoding device is transmitted to the decoding device.
<予測モード>
処理対象符号化ブロック単位で、処理対象画像の処理済み(符号化処理においては符号化が完了した信号を復号した画像、画像信号、ツリーブロック、ブロック、符号化ブロック等に用い、復号処理においては復号が完了した画像、画像信号、ツリーブロック、ブロック、符号化ブロック等に用いる。)の周囲の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び処理済み画像の画像信号から予測を行うインター予測(MODE_INTER)を切り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MODE_INTRA)、またはインター予測(MODE_INTER)を値として持つ。
<Prediction mode>
For each encoding block to be processed, the image to be processed has been processed (in the encoding process, the signal that has been encoded is used for the decoded image, image signal, tree block, block, encoding block, etc. In the decoding process, Intra prediction (MODE_INTRA), which performs prediction from the surrounding image signals of decoded images, image signals, tree blocks, blocks, coding blocks, etc.), and inter prediction, which performs prediction from the image signals of processed images Switch (MODE_INTER). A mode for distinguishing between intra prediction (MODE_INTRA) and inter prediction (MODE_INTER) is defined as a prediction mode (PredMode). The prediction mode (PredMode) has intra prediction (MODE_INTRA) or inter prediction (MODE_INTER) as a value.
<インター予測>
処理済み画像の画像信号から予測を行うインター予測では、複数の処理済み画像を参照ピクチャとして用いることができる。複数の参照ピクチャを管理するため、L0(参照リスト0)とL1(参照リスト1)の2種類の参照リストを定義し、それぞれ参照インデックスを用いて参照ピクチャを特定する。PスライスではL0予測(Pred_L0)が利用可能である。BスライスではL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)が利用可能である。L0予測(Pred_L0)はL0で管理されている参照ピクチャを参照するインター予測であり、L1予測(Pred_L1)はL1で管理されている参照ピクチャを参照するインター予測である。双予測(Pred_BI)はL0予測とL1予測が共に行われ、L0とL1のそれぞれで管理されている1つずつの参照ピクチャを参照するインター予測である。L0予測、L1予測、双予測を特定する情報を、インター予測モードと定義する。以降の処理において出力に添え字LXが付いている定数、変数に関しては、L0、L1ごとに処理が行われることを前提とする。
<Inter Prediction>
In inter prediction, in which prediction is performed from image signals of processed images, a plurality of processed images can be used as reference pictures. In order to manage a plurality of reference pictures, two types of reference lists, L0 (reference list 0) and L1 (reference list 1), are defined, and reference pictures are specified using reference indices. L0 prediction (Pred_L0) is available for P slices. L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI) are available for B slices. L0 prediction (Pred_L0) is inter prediction that refers to reference pictures managed by L0, and L1 prediction (Pred_L1) is inter prediction that refers to reference pictures that are managed by L1. Bi-prediction (Pred_BI) is inter-prediction in which both L0 prediction and L1 prediction are performed and one reference picture managed by each of L0 and L1 is referred to. Information specifying L0 prediction, L1 prediction, and bi-prediction is defined as an inter-prediction mode. In the subsequent processing, it is assumed that the constants and variables with the suffix LX attached to the output are processed for each of L0 and L1.
(第1の実施の形態)
本発明の第1の実施の形態に係る画像符号化装置100及び画像復号装置200について説明する。
(First embodiment)
An image encoding device 100 and an image decoding device 200 according to the first embodiment of the present invention will be described.
図1は、第1の実施の形態に係る画像符号化装置100のブロック図である。実施の形態の動画像符号化装置は、画像符号化装置100、ブロック分割部101、インター予測部102、イントラ予測部103、復号画像メモリ104、予測方法決定部105、残差信号生成部106、直交変換・量子化部107、ビット列符号化部108、逆量子化・逆直交変換部109、復号画像信号重畳部110、および符号化情報格納メモリ111を備える。
FIG. 1 is a block diagram of an image coding device 100 according to the first embodiment. The moving image coding apparatus according to the embodiment includes an image coding apparatus 100, a
ブロック分割部101は、入力した画像を再帰的に分割して、符号化ブロックを生成する。ブロック分割部101は、分割対象となるブロックを水平方向と垂直方向にそれぞれ分割する4分割部と、分割対象となるブロックを水平方向または垂直方向のいずれかに分割する2-3分割部を含む。生成した処理対象符号化ブロックの画像信号を、インター予測部102、イントラ予測部103および残差信号生成部106に供給する。また、決定した再帰分割構造を示す情報をビット列符号化部108に供給する。ブロック分割部101の詳細な動作は後述する。
The
インター予測部102は、処理対象符号化ブロックのインター予測を行う。符号化情報格納メモリに格納されている予測モード、復号画像メモリ104に格納されている復号済みの画像信号から複数のインター予測情報の候補を導出し、複数の候補の中から適したインター予測モードを選択し、選択されたインター予測モード、及び選択されたインター予測モードに応じた予測画像信号を予測方法決定部105に供給する。
The
イントラ予測部103は、処理対象符号化ブロックのイントラ予測を行う。復号画像メモリ104に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、複数のイントラ予測モードの中から適したイントラ予測モードを選択し、選択されたイントラ予測モード、及び選択されたイントラ予測モードに応じた予測画像信号を予測方法決定部105に供給する。図9にイントラ予測の例を示す。図9(a)は、イントラ予測の予測方向と予測モード番号の対応を示したものである。例えば、予測モード50は、垂直方向に画素をコピーすることによりイントラ予測画像を生成する。予測モード1は、DCモードであり、処理対象ブロックのすべての画素値を参照画素の平均値とするモードである。予測モード0はPlanarモードであり、垂直方向・水平方向の参照画素から2次元的なイントラ予測画像を作成するモードである。図9(b)は、予測モード40の場合のイントラ予測画像を生成する例である。処理対象ブロックの各画素に対し、予測モードの示す方向の参照画素の値をコピーする。予測モードの参照画素が整数位置でない場合には、周辺の整数位置の参照画素値から補間により参照画素値を決定する。
The
また、イントラ予測部103は、イントラブロックコピー(Intra Block Copy)予測をすることもできる。これは、処理対象ピクチャにおける復号済みの画素を予測値として参照し、処理対象ブロックを符号化/復号する処理である。そして、処理対象ブロックから参照する画素までの距離は、ブロックベクトルで表す。ブロックベクトルと動きベクトルの違いは、参照するピクチャが処理対象ピクチャか処理済みピクチャかである。
The
復号画像メモリ104は、復号画像信号重畳部110で生成した復号画像を格納する。また、復号画像メモリに格納されている復号画像を、インター予測部102、イントラ予測部103に供給する。
The decoded
予測方法決定部105は、各予測に対して、符号化情報及び残差信号の符号量、予測画像信号と処理対象画像信号との間の歪量等を用いて評価することにより、最適な予測モード(インター予測またはイントラ予測)を決定する。決定した符号化情報を符号化情報格納メモリ111に供給する。
The prediction
残差信号生成部106は、処理対象の画像信号から予測画像信号を減ずることにより残差信号を生成し、直交変換・量子化部107に供給する。
The residual
直交変換・量子化部107は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、ビット列符号化部108と逆量子化・逆直交変換部109に供給する。
Orthogonal transformation/
ビット列符号化部108は、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報に加えて、符号化ブロック毎に予測方法決定部105によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎の予測モードPredMode、分割モードPartModeを符号化する。符号化情報を規定のシンタックス(符号化ビット列の構文規則)に従って符号化し、第1の符号化ビット列を生成する。また、ビット列符号化部108は、直交変換及び量子化された残差信号を規定のシンタックスに従ってエントロピー符号化して第2の符号化ビット列を生成する。第1の符号化ビット列と第2の符号化ビット列を規定のシンタックスに従って多重化し、ビットストリームを出力する。
The bit
逆量子化・逆直交変換部109は、直交変換・量子化部107から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部110に供給する。
The inverse quantization/inverse
復号画像信号重畳部110は、予測方法決定部105による決定に応じた予測画像信号と逆量子化・逆直交変換部109で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ104に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施した後、復号画像メモリ104に格納してもよい。詳細は後述する。
The decoded image
符号化情報格納メモリ111は、予測方法決定部105で決定した、予測モード(インター予測またはイントラ予測)等の符号化情報を格納する。
The coding
図2は図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、ビット列復号部201、ブロック分割部202、インター予測部203、イントラ予測部204、符号化情報格納メモリ205、逆量子化・逆直交変換部206、復号画像信号重畳部207、および復号画像メモリ208を備える。
FIG. 2 is a block diagram showing the configuration of a video decoding device according to an embodiment of the present invention corresponding to the video encoding device of FIG. The video decoding device of the embodiment includes a bit
図2の動画像復号装置の復号処理は、図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、図2の符号化情報格納メモリ205、逆量子化・逆直交変換部206、復号画像信号重畳部207、および復号画像メモリ208の各構成は、図1の動画像符号化装置の逆量子化・逆直交変換部109、復号画像信号重畳部110、符号化情報格納メモリ111、および復号画像メモリ104の各構成とそれぞれ対応する機能を有する。
The decoding process of the video decoding device in FIG. 2 corresponds to the decoding process provided inside the video encoding device in FIG. The components of the inverse
ビット列復号部201に供給されるビットストリームは規定のシンタックスの規則に従って分離する。分離された第1の符号化ビット列を復号し、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報、及び、符号化ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartModeを復号する。符号化情報を規定のシンタックス(符号化ビット列の構文規則)に従って復号し、符号化情報をインター予測部203またはイントラ予測部204、および符号化情報格納メモリ205に供給する。分離した第2の符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部206に供給する。
The bitstream supplied to the
インター予測部203は、処理対象の符号化ブロックの予測モードPredModeがインター予測(PRED_INTER)の時に、インター予測を行う。ビット列復号部201で復号された符号化情報にはインター予測モードと動きベクトルが含まれている。動きベクトルに応じて、復号画像メモリ208に格納されている復号済みの画像信号から動き補償予測信号を生成する。生成された動き補償予測信号は、復号画像信号重畳部207に供給される。
The
イントラ予測部204は、処理対象の符号化ブロックの予測モードPredModeがイントラ予測(PRED_INTRA)の時に、イントラ予測を行う。ビット列復号部201で復号された符号化情報にはイントラ予測モードが含まれており、イントラ予測モードに応じて、復号画像メモリ208に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部207に供給する。イントラ予測部204は、画像符号化装置100のイントラ予測部103に対応するものであるから、イントラ予測部103と同様の処理を行う。
The
逆量子化・逆直交変換部206は、ビット列復号部201で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
The inverse quantization/inverse
復号画像信号重畳部207は、インター予測部203でインター予測された予測画像信号、またはイントラ予測部204でイントラ予測された予測画像信号と、逆量子化・逆直交変換部206により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ208に格納する。復号画像メモリ208に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施した後、復号画像メモリ208に格納してもよい。詳細は後述する。
The decoded image
<ブロック分割>
画像符号化装置100におけるブロック分割部101の動作について説明する。図3は、画像をツリーブロックに分割し、各ツリーブロックをさらに分割する動作を示すフローチャートである。まず、入力された画像を、所定サイズのツリーブロックに分割する(ステップS1001)。各ツリーブロックについては、所定の順序、すなわちラスタスキャン順に走査し(ステップS1002)、処理対象のツリーブロックの内部を分割する(ステップS1003)。
<Block division>
The operation of the
図7は、ステップS1003の分割処理の詳細動作を示すフローチャートである。まず、処理対象のブロックを4分割するか否かを判断する(ステップS1101)。 FIG. 7 is a flow chart showing the detailed operation of the division processing in step S1003. First, it is determined whether or not to divide the block to be processed into four (step S1101).
処理対象ブロックを4分割すると判断した場合は、処理対象ブロックを4分割する(ステップS1102)。処理対象ブロックを分割した各ブロックについて、Zスキャン順、すなわち左上、右上、左下、右下の順に走査する(ステップS1103)。図5は、Zスキャン順の例であり、図6の601は、処理対象ブロックを4分割した例である。図6の601の番号0~3は処理の順番を示したものである。そしてステップS1101で分割した各ブロックについて、図7のフローチャートを再帰的に呼び出す。
If it is determined that the block to be processed is to be divided into four, the block to be processed is divided into four (step S1102). Each block obtained by dividing the block to be processed is scanned in the order of Z scanning, that is, upper left, upper right, lower left, and lower right (step S1103). FIG. 5 shows an example of the Z scan order, and 601 in FIG. 6 shows an example in which the block to be processed is divided into four.
処理対象ブロックを4分割しないと判断した場合は、2-3分割を行う(ステップS1105)。 If it is determined that the block to be processed is not divided into 4, it is divided into 2-3 (step S1105).
図8は、ステップS1105の2-3分割処理の詳細動作を示すフローチャートである。まず、処理対象のブロックを2-3分割するか否か、すなわち2分割または3分割の何れかを行うか否かを判断する(ステップS1201)。 FIG. 8 is a flow chart showing the detailed operation of the 2-3 division processing in step S1105. First, it is determined whether or not to divide the block to be processed into 2-3, that is, whether to divide into 2 or 3 (step S1201).
処理対象ブロックを2-3分割すると判断しない場合、すなわち分割しないと判断した場合は、分割を終了し(ステップS1211)、上位階層のブロックに戻る。 If it is determined not to divide the block to be processed into 2-3, that is, if it is determined not to be divided, the division is terminated (step S1211), and the block in the upper layer is returned to.
処理対象のブロックを2-3分割すると判断した場合は、さらに処理対象ブロックを2分割するか否か(ステップS1202)を判断する。 If it is determined to divide the block to be processed into 2 or 3, it is determined whether to further divide the block to be processed into two (step S1202).
処理対象ブロックを2分割すると判断した場合は、処理対象ブロックを垂直方向に分割するか否かを判断し(ステップS1203)、その結果に基づき、処理対象ブロックを垂直方向に分割する(ステップS1204)か、処理対象ブロックを水平方向に分割する(ステップS1205)。ステップS1204の結果、処理対象ブロックは、図6の602に示す通り、垂直方向2分割に分割され、ステップS1205の結果、処理対象ブロックは、図6の604に示す通り、水平方向2分割に分割される。 If the block to be processed is determined to be divided into two, it is determined whether to divide the block to be processed vertically (step S1203), and based on the result, the block to be processed is vertically divided (step S1204). Alternatively, the block to be processed is horizontally divided (step S1205). As a result of step S1204, the block to be processed is divided into two vertically as indicated by 602 in FIG. 6, and as a result of step S1205, the block to be processed is divided into two horizontally as indicated by 604 in FIG. be done.
ステップS1202において、処理対象のブロックを2分割すると判断しなかった場合、すなわち3分割すると判断した場合は、処理対象ブロックを垂直方向に分割するか否かを判断し(ステップS1206)、その結果に基づき、処理対象ブロックを垂直方向に分割する(ステップS1207)か、処理対象ブロックを水平方向に分割する(ステップS1208)。ステップS1207の結果、処理対象ブロックは、図6の603に示す通り、垂直方向3分割に分割され、ステップS1208の結果、処理対象ブロックは、図6の605に示す通り、水平方向3分割に分割される。 If it is determined in step S1202 that the block to be processed is not to be divided into two, that is, if it is determined to be divided into three, it is determined whether or not to divide the block to be processed in the vertical direction (step S1206). Based on this, the block to be processed is divided vertically (step S1207) or horizontally (step S1208). As a result of step S1207, the block to be processed is vertically divided into three parts as indicated by 603 in FIG. be done.
ステップS1204からステップS1205のいずれかを実行後、処理対象ブロックを分割した各ブロックについて、左から右、上から下の順に走査する(ステップS1209)。図6の602から605の番号0~3は処理の順番を示したものである。分割した各ブロックについて、図8のフローチャートを再帰的に呼び出す。
After executing any one of steps S1204 to S1205, each block obtained by dividing the block to be processed is scanned from left to right and from top to bottom (step S1209).
ここで説明した再帰的なブロック分割は、分割する回数、または、処理対象のブロックのサイズ等により、分割要否を制限してもよい。分割要否を制限する情報は、符号化装置と復号化装置の間で予め取り決めを行うことで、情報の伝達を行わない構成で実現してもよいし、符号化装置が分割要否を制限する情報を決定し、符号化ビット列に記録することにより、復号化装置に伝達する構成で実現してもよい。 In the recursive block division described here, necessity of division may be restricted by the number of divisions, the size of the block to be processed, or the like. Information that limits whether or not division is necessary may be implemented by a configuration in which information is not transmitted by prior agreement between the encoding device and the decoding device, or the coding device may limit whether or not division is necessary. The information may be determined and recorded in the encoded bit string to be transmitted to the decoding device.
ここで、あるブロックを分割した場合、分割前のブロックを親ブロックと呼び、分割後の各ブロックを子ブロックと呼ぶ。 Here, when a certain block is divided, the block before division is called a parent block, and each block after division is called a child block.
次に、画像復号装置200におけるブロック分割部202の動作について説明する。ブロック分割部202は、画像符号化装置100のブロック分割部101と同様の処理手順でツリーブロックを分割するものである。ただし、画像符号化装置100のブロック分割部101では、画像認識による最適形状の推定や歪レート最適化等最適化手法を適用し、最適なブロック分割の形状を決定するのに対し、画像復号装置200におけるブロック分割部202は、符号化ビット列に記録されたブロック分割情報を復号することにより、ブロック分割形状を決定する点が異なる。
Next, the operation of the
<動き補償予測処理>
動き補償予測部306は、符号化において現在予測処理の対象となっているブロックの位置およびサイズを取得する。また、動き補償予測部306は、インター予測情報をインター予測モード判定部305から取得する。取得したインター予測情報から参照インデックスおよび動きベクトルを導出し、復号画像メモリ内の参照インデックスで特定される参照ピクチャを、動きベクトルの分だけ予測ブロックの画像信号と同一位置より移動させた位置の画像信号を取得した後に予測信号を生成する。
<Motion Compensation Prediction Processing>
The motion compensation prediction unit 306 acquires the position and size of the block currently being subjected to prediction processing in encoding. Also, the motion compensation prediction unit 306 acquires inter prediction information from the inter prediction mode determination unit 305 . A reference index and a motion vector are derived from the acquired inter prediction information, and the reference picture specified by the reference index in the decoded image memory is moved from the same position as the image signal of the prediction block by the amount of the motion vector. Generate a predicted signal after acquiring the signal.
インター予測におけるインター予測モードがL0予測やL1予測のような、単一の参照ピクチャからの予測の場合には、1つの参照ピクチャから取得した予測信号を動き補償予測信号とし、インター予測モードがBI予測のような、予測モードが2つの参照ピクチャからの予測の場合には、2つの参照ピクチャから取得した予測信号を重みづけ平均したものを動き補償予測信号とし、動き補償予測信号を予測方法決定部に供給する。ここでは双予測の重みづけ平均の比率を1:1とするが、他の比率を用いて重みづけ平均を行っても良い。例えば、予測対象となっているピクチャと参照ピクチャとのピクチャ間隔が近いものほど重みづけの比率が大きくなるようにしてもよい。また、重みづけ比率の算出をピクチャ間隔の組み合わせと重みづけ比率との対応表を用いて行うようにしても良い。 When the inter prediction mode in inter prediction is prediction from a single reference picture such as L0 prediction or L1 prediction, the prediction signal obtained from one reference picture is the motion compensation prediction signal, and the inter prediction mode is BI When the prediction mode is prediction from two reference pictures, such as prediction, the weighted average of the prediction signals obtained from the two reference pictures is used as the motion-compensated prediction signal, and the motion-compensated prediction signal is used to determine the prediction method. Department. Although the ratio of weighted averaging of bi-prediction is set to 1:1 here, weighted averaging may be performed using other ratios. For example, the closer the picture interval between the picture to be predicted and the reference picture is, the higher the weighting ratio may be. Alternatively, the weighting ratio may be calculated using a correspondence table of combinations of picture intervals and weighting ratios.
動き補償予測部406は、符号化側の動き補償予測部306と同様の機能をもつ。動き補償予測部406は、インター予測情報を、通常予測動きベクトルモード導出部401、通常マージモード導出部402、サブブロック予測動きベクトルモード導出部403、サブブロックマージモード導出部404から、スイッチ408を介して取得する。 The motion compensation prediction unit 406 has the same function as the motion compensation prediction unit 306 on the encoding side. The motion compensation prediction unit 406 passes the inter prediction information from the normal prediction motion vector mode derivation unit 401, the normal merge mode derivation unit 402, the sub-block prediction motion vector mode derivation unit 403, and the sub-block merge mode derivation unit 404 to switch 408. to get through.
動き補償予測部406は、得られた動き補償予測信号を、復号画像信号重畳部207に供給する。
The motion compensation prediction unit 406 supplies the obtained motion compensation prediction signal to the decoded image
<インター予測モードについて>
単一の参照ピクチャからの予測を行う処理を単予測と定義し、単予測の場合はL0予測またはL1予測という、参照リストL0、L1に登録された2つの参照ピクチャのいずれか一方を利用した予測を行う。L0予測およびL1予測は前方向予測(前方の参照画像を参照する予測)であっても後方向予測(後方の参照画像を参照する予測)であってもよい。
<About inter-prediction mode>
The process of performing prediction from a single reference picture is defined as uniprediction, and in the case of uniprediction, either one of the two reference pictures registered in the reference lists L0 and L1, called L0 prediction or L1 prediction, is used. make predictions. L0 prediction and L1 prediction may be forward prediction (prediction referring to a forward reference image) or backward prediction (prediction referring to a backward reference image).
図10はインター予測モードがL0予測であってL0の参照ピクチャ(RefL0Pic)が処理対象ピクチャ(CurPic)より前の時刻にある場合を示している。図10はL0予測であってL0の参照ピクチャが処理対象ピクチャより後の時刻にある場合を示している。同様に、図10のL0予測の参照ピクチャをL1予測の参照ピクチャ(RefL1Pic)に置き換えて単予測を行うこともできる。 FIG. 10 shows a case where the inter prediction mode is L0 prediction and the L0 reference picture (RefL0Pic) is at a time before the processing target picture (CurPic). FIG. 10 shows a case in which L0 prediction is performed and the reference picture of L0 is at a time later than the picture to be processed. Similarly, uni-prediction can be performed by replacing the reference picture for L0 prediction in FIG. 10 with the reference picture for L1 prediction (RefL1Pic).
2つの参照ピクチャからの予測を行う処理を双予測と定義し、双予測の場合はL0予測とL1予測の双方を利用して双予測と表現する。図11~図12は、双予測での動き補償予測を説明するための図である。図11は双予測であってL0予測の参照ピクチャが処理対象ピクチャより前の時刻にあって、L1予測の参照ピクチャが処理対象ピクチャより後の時刻にある場合を示している。図12は双予測であってL0予測の参照ピクチャとL1予測の参照ピクチャが処理対象ピクチャより前の時刻にある場合を示している。 A process of performing prediction from two reference pictures is defined as bi-prediction, and bi-prediction is expressed as bi-prediction using both L0 prediction and L1 prediction. 11 and 12 are diagrams for explaining motion compensation prediction in bi-prediction. FIG. 11 shows a bi-predictive case where the reference picture for L0 prediction is before the picture to be processed and the reference picture for L1 prediction is after the picture to be processed. FIG. 12 shows a bi-prediction case in which the L0-prediction reference picture and the L1-prediction reference picture are located before the picture to be processed.
このように、L0/L1の予測種別と時間の関係は、L0が前方向予測(前方の参照画像を参照する予測)、L1が後方向予測(後方の参照画像を参照する予測)とは限定されずに用いることが可能である。また双予測の場合に、同一の参照ピクチャを用いてL0予測及びL1予測のそれぞれを行ってもよい。なお、動き補償予測を単予測で行うか双予測で行うかの判断は、例えばL0予測を利用するか否か及びL1予測を利用するか否かを示す情報(例えば、フラグ)に基づき判断される。 In this way, the relationship between the prediction type and time of L0/L1 is limited to forward prediction (prediction referring to a forward reference image) for L0 and backward prediction (prediction referring to a backward reference image) for L1. It is possible to use it without In the case of bi-prediction, L0 prediction and L1 prediction may be performed using the same reference picture. It should be noted that the determination of whether motion compensation prediction is performed by uni-prediction or bi-prediction is made based on information (for example, a flag) indicating whether to use L0 prediction and whether to use L1 prediction, for example. be.
<フィルタ処理>
フィルタ処理について説明する。符号化誤差の低減のため、復号画像信号重畳部110や復号画像信号重畳部207において、フィルタ処理をすることができる。フィルタ処理では、デブロックフィルタ、サンプル適応オフセット、および適応ループフィルタの各処理を順番に施す。
<Filter processing>
Filter processing will be described. Filtering can be performed in the decoded image
図13は、各フィルタ処理による画素値への影響を示す図である。まず、図13(a)を用いて、デブロックフィルタの場合を説明する。いま、デブロックフィルタ処理は、垂直方向のブロック境界を処理するものとする。水平方向のブロック境界は、垂直方向の処理を90度回転させて考えたものと同じであるので、説明を省略する。4001はブロック境界を示し、p0からp7およびq0からq7はそれぞれ画素を示す。デブロックフィルタは、ブロック境界の歪の状態に応じて強度の異なるフィルタをする。画素値への影響を考えるため、最も強度の高いフィルタが適用されるものとする。この場合、ブロック境界から左側および右側の7画素が変更される。ここで、ブロック境界からの距離i,j(いずれも0から6)に対し、フィルタ処理前の画素値をp_iおよびq_j、フィルタ処理後の画素値をp_i’およびq_j’とすると、
p_i' = (f_i * M + (64 - f_i) * P + 32) >> 6
q_j' = (g_j * M + (64 - g_j) * Q + 32) >> 6
f_i = 59 - i * 9
g_j = 59 - j * 9
M = ( 2 * (p0 + q0) + (p1 + q1) + (p2 + q2) + (p3 + q3)
+ (p4 + q4) + (p5 + q5) + (p6 + q6) + 8 ) >> 4
P = (p6 + p7 + 1) >> 1
Q = (q6 + q7 + 1) >> 1
となる。つまり、p0からp7およびq0からq7の画素を参照し、p0からp6およびq0からq6の画素値が変更される。
FIG. 13 is a diagram showing the effect of each filtering process on pixel values. First, the case of the deblocking filter will be described with reference to FIG. 13(a). It is now assumed that the deblock filtering processes vertical block boundaries. The horizontal block boundary is the same as the vertical processing rotated 90 degrees, so the description is omitted. 4001 indicates a block boundary, p0 to p7 and q0 to q7 indicate pixels respectively. The deblocking filter has different strengths depending on the state of distortion at the block boundaries. In order to consider the effect on pixel values, the strongest filter shall be applied. In this case, 7 pixels to the left and right of the block boundary are changed. Let p_i and q_j be pixel values before filtering, and p_i' and q_j' be pixel values after filtering, respectively, for distances i and j (both from 0 to 6) from the block boundary.
p_i' = (f_i * M + (64 - f_i) * P + 32) >> 6
q_j' = (g_j * M + (64 - g_j) * Q + 32) >> 6
f_i = 59 - i * 9
g_j = 59 - j * 9
M = ( 2 * (p0 + q0) + (p1 + q1) + (p2 + q2) + (p3 + q3)
+ (p4 + q4) + (p5 + q5) + (p6 + q6) + 8 ) >> 4
P = (p6 + p7 + 1) >> 1
Q = (q6 + q7 + 1) >> 1
becomes. That is, the pixels p0 to p7 and q0 to q7 are referred to, and the pixel values p0 to p6 and q0 to q6 are changed.
次に、図13(b)を用いて、サンプル適応オフセットの場合を説明する。pは、処理対象の画素を示す。またa0からa3およびb0からb3は、pの周辺3x3画素の範囲に位置する画素を示す。エッジのフィルタ処理をする場合、クラスcを0から3より選択してフィルタ処理をすることができる。ここで、フィルタ処理前の画素値をp、フィルタ処理後の画素値をp’、周辺画素をa_c,b_cとすると、
edgeIdx_c = 2 + Sign( p - a_c ) + Sign( p - b_c )
p' = Clip3( 0, ( 1 << bitDepth ) - 1, p + SaoOffsetVal[edgeIdx_c] )
となる。ここで、Clip3(x,y,z)は値zについて、最小値をx、最大値をyに制限する関数である。また、bitDepthはビット深度、SaoOffsetValは規定のシンタックスに従って符号化されている値である。つまり、フィルタ処理対象となる画素の周辺1画素(a0からa3およびb0からb3)を参照し、フィルタ処理対象の画素pが変更される。
Next, the case of sample adaptive offset will be described with reference to FIG. 13(b). p indicates a pixel to be processed. Also, a0 to a3 and b0 to b3 indicate pixels located in a 3×3 pixel range around p. When filtering edges, class c can be selected from 0 to 3 for filtering. Here, if the pixel value before filtering is p, the pixel value after filtering is p', and the surrounding pixels are a_c and b_c,
edgeIdx_c = 2 + Sign( p - a_c ) + Sign( p - b_c )
p' = Clip3( 0, ( 1 << bitDepth ) - 1, p + SaoOffsetVal[edgeIdx_c] )
becomes. Here, Clip3(x,y,z) is a function that limits the minimum value to x and the maximum value to y for the value z. Also, bitDepth is a bit depth, and SaoOffsetVal is a value encoded according to a prescribed syntax. That is, one pixel (a0 to a3 and b0 to b3) surrounding the pixel to be filtered is referred to, and the pixel p to be filtered is changed.
次に、図13(c)を用いて、適応ループフィルタの場合を説明する。pは、処理対象の画素を示す。またd0からd11およびe0からe11は、pの周辺7x7画素の範囲に位置する画素を示す。ここで、フィルタ処理前の画素値pの位置を(hx,vy)とし、それをp[hx,vy]と表記する。また、フィルタ処理後の画素値をp’とすると、
sum = f0 * ( Clip3( -c0, c0, p[ hx, vy + r3 ] - p ) +
Clip3( -c0, c0, p[ hx, vy - r3 ] - p ) )
+ f1 * ( Clip3( -c1, c1, p[ hx + 1, vy + r2 ] - p ) +
Clip3( -c1, c1, p[ hx - 1, vy - r2 ] - p ) )
+ f2 * ( Clip3( -c2, c2, p[ hx, vy + r2 ] - p ) +
Clip3( -c2, c2, p[ hx, vy - r2 ] - p ) )
+ f3 * ( Clip3( -c3, c3, p[ hx - 1, vy + r2 ] - p ) +
Clip3( -c3, c3, p[ hx + 1, vy - r2 ] - p ) )
+ f4 * ( Clip3( -c4, c4, p[ hx + 2, vy + r1 ] - p ) +
Clip3( -c4, c4, p[ hx - 2, vy - r1 ] - p ) )
+ f5 * ( Clip3( -c5, c5, p[ hx + 1, vy + r1 ] - p ) +
Clip3( -c5, c5, p[ hx - 1, vy - r1 ] - p ) )
+ f6 * ( Clip3( -c6, c6, p[ hx, vy + r1 ] - p ) +
Clip3( -c6, c6, p[ hx, vy - r1 ] - p ) ) +
+ f7 * ( Clip3( -c7, c7, p[ hx - 1, vy + r1 ] - p ) +
Clip3( -c7, c7, p[ hx + 1, vy - r1 ] - p ) )
+ f8 * ( Clip3( -c8, c8, p[ hx - 2, vy + r1 ] - p ) +
Clip3( -c8, c8, p[ hx + 2, vy - r1 ] - p ) )
+ f9 * ( Clip3( -c9, c9, p[ hx + 3, vy ] - p ) +
Clip3( -c9, c9, p[ hx - 3, vy ] - p ) )
+ f10 * ( Clip3( -c10, c10, p[ hx + 2, vy ] - p ) +
Clip3( -c10, c10, p[ hx - 2, vy ] - p ) )
+ f11 * ( Clip3( -c11, c11, p[ hx + 1, vy ] - p ) +
Clip3( -c11, c11, p[ hx - 1, vy ] - p ) )
sum = p + ( ( sum + 64 ) >> 7 )
p' = Clip3( 0, ( 1 << bitDepth ) - 1, sum )
となる。ここで、f_i,c_i(iは0から11)は規定のシンタックスに従って符号化されている値である。また、r1,r2,r3は処理対象の画素の位置によって0から3まで変化する値である。つまり、フィルタ処理をする場合、pとd0からd11およびe0からe11の画素を参照し、pの画素値が変更される。
Next, the case of the adaptive loop filter will be described with reference to FIG. 13(c). p indicates a pixel to be processed. d0 to d11 and e0 to e11 indicate pixels located in a 7×7 pixel range around p. Here, let the position of the pixel value p before filtering be (hx, vy) and denote it as p[hx, vy]. Also, if the pixel value after filtering is p',
sum = f0 * ( Clip3( -c0, c0, p[ hx, vy + r3 ] - p ) +
Clip3( -c0, c0, p[ hx, vy - r3 ] - p ) )
+ f1 * ( Clip3( -c1, c1, p[ hx + 1, vy + r2 ] - p ) +
Clip3( -c1, c1, p[ hx - 1, vy - r2 ] - p ) )
+ f2 * ( Clip3( -c2, c2, p[ hx, vy + r2 ] - p ) +
Clip3( -c2, c2, p[ hx, vy - r2 ] - p ) )
+ f3 * ( Clip3( -c3, c3, p[ hx - 1, vy + r2 ] - p ) +
Clip3( -c3, c3, p[ hx + 1, vy - r2 ] - p ) )
+ f4 * ( Clip3( -c4, c4, p[ hx + 2, vy + r1 ] - p ) +
Clip3( -c4, c4, p[ hx - 2, vy - r1 ] - p ) )
+ f5 * ( Clip3( -c5, c5, p[ hx + 1, vy + r1 ] - p ) +
Clip3( -c5, c5, p[ hx - 1, vy - r1 ] - p ) )
+ f6 * ( Clip3( -c6, c6, p[ hx, vy + r1 ] - p ) +
Clip3( -c6, c6, p[ hx, vy - r1 ] - p ) ) +
+ f7 * ( Clip3( -c7, c7, p[ hx - 1, vy + r1 ] - p ) +
Clip3( -c7, c7, p[ hx + 1, vy - r1 ] - p ) )
+ f8 * ( Clip3( -c8, c8, p[ hx - 2, vy + r1 ] - p ) +
Clip3( -c8, c8, p[ hx + 2, vy - r1 ] - p ) )
+ f9 * ( Clip3( -c9, c9, p[ hx + 3, vy ] - p ) +
Clip3( -c9, c9, p[ hx - 3, vy ] - p ) )
+ f10 * ( Clip3( -c10, c10, p[ hx + 2, vy ] - p ) +
Clip3( -c10, c10, p[ hx - 2, vy ] - p ) )
+ f11 * ( Clip3( -c11, c11, p[ hx + 1, vy ] - p ) +
Clip3( -c11, c11, p[ hx - 1, vy ] - p ) )
sum = p + ( ( sum + 64 ) >> 7 )
p' = Clip3( 0, ( 1 << bitDepth ) - 1, sum )
becomes. Here, f_i, c_i (i is 0 to 11) are values encoded according to the prescribed syntax. Also, r1, r2, and r3 are values that vary from 0 to 3 depending on the position of the pixel to be processed. In other words, when performing filtering, pixels from p and d0 to d11 and e0 to e11 are referenced, and the pixel value of p is changed.
図13(d)は、各フィルタ処理による画素値への総合的な影響を説明する図である。いま、デブロックフィルタ対象となるブロック境界に対し、境界の右側にある参照される画素と、境界の左側にある変更される画素への影響を考える。まず、デブロックフィルタ処理では、ブロック境界4001の右側8画素(4002)を参照し、ブロック境界4001の左側の7画素(4003)が変更される。次に、サンプル適応オフセット処理では、デブロックフィルタ処理によって変更された画素p6をb0として参照し、画素pが変更される。次に、適応ループフィルタ処理では、サンプル適応オフセット処理によって変更された画素pをe9として参照し、画素pが変更される。結局、あるブロック境界にフィルタ処理をすると、ブロック境界の右側8画素を参照し、ブロック境界の左側11画素までの画素値が変更される。
FIG. 13(d) is a diagram for explaining the overall effect of each filtering process on the pixel value. Consider the effect on the reference pixels on the right side of the boundary and the changed pixels on the left side of the boundary with respect to the block boundary to be deblock filtered. First, in the deblocking filtering process, 8 pixels (4002) on the right side of the
<GDR>
符号化/復号を低遅延とし、かつランダムアクセス(ビットストリームの途中から復号)できるようにするため、ピクチャ内の一部の領域をイントラ符号化してリフレッシュし、その領域をずらしながら段階的にリフレッシュすることがある。このような仕組みをGDR(GRADUAL DECODING REFRESH)と呼び、そのための符号化をGDR符号化と呼ぶ。GDR符号化では、リフレッシュするピクチャ内の一部の領域以外はイントラまたはインター符号化する。ここで、イントラ符号化とは、イントラ予測部103がイントラ予測により符号化することである。リフレッシュする領域のイントラ符号化では、リフレッシュしていない領域を参照せずに符号化する。また、インター符号化とは、インター予測部102がインター予測により符号化することである。インター符号化では、前方向予測により符号化する。また、GDR符号化では、ランダムアクセスの開始点と、リカバリポイントの情報(リフレッシュが終了するまでのPOC数)を、規定のシンタックスに従って符号化する。リカバリポイントとは、ランダムアクセスの開始点から復号を開始し、リフレッシュが終了して正しく復号可能となる点である。GDR符号化したビットストリームに対しランダムアクセスして復号する場合、ランダムアクセスの開始点からリカバリポイントまでの間、復号処理はされるが復号画像は出力されない。一方、ランダムアクセスせずに復号する場合、復号処理され復号画像は出力される。GDR符号化したビットストリームは、ランダムアクセスするか否かにかかわらず復号することができる。
<GDR>
In order to reduce the delay of encoding/decoding and to enable random access (decoding from the middle of the bitstream), some areas in the picture are refreshed by intra-encoding, and refreshed in stages while shifting the area. I have something to do. Such a mechanism is called GDR (GRADUAL DECODING REFRESH), and the encoding for it is called GDR encoding. In GDR coding, intra or inter coding is performed on areas other than some areas in the picture to be refreshed. Here, intra-encoding is encoding by the
図14は、GDR符号化におけるイントラリフレッシュの様子を示す図である。図14は、ランダムアクセスの開始点となるピクチャP1からPOC順に3枚のピクチャを示している。ここで、ピクチャP1は、符号化しようとするピクチャの最初以外のピクチャとする。 FIG. 14 is a diagram showing how intra refresh is performed in GDR encoding. FIG. 14 shows three pictures in POC order from picture P1, which is the starting point of random access. Here, the picture P1 is a picture other than the first picture to be encoded.
ピクチャP1において、4102はイントラ符号化によりリフレッシュする領域を示し、4103はまだリフレッシュされていない領域を示す。ピクチャP1は、ピクチャの左端から1CTU列の領域4102をイントラ符号化してリフレッシュする。ここで、1CTU列とはツリーブロックの一列を示す。
In picture P1, 4102 indicates an area to be refreshed by intra-coding, and 4103 indicates an area that has not yet been refreshed. Picture P1 is refreshed by intra-encoding a
ピクチャP2において、4201はリフレッシュされた領域を示し、4202はイントラ符号化によりリフレッシュする領域を示し、4203はまだリフレッシュされていない領域を示す。ピクチャP2は、領域4201から1CTU列だけ右の領域4202をイントラ符号化してリフレッシュする。
In picture P2, 4201 indicates the refreshed area, 4202 indicates the area to be refreshed by intra-coding, and 4203 indicates the area which has not yet been refreshed. Picture P2 is refreshed by intra-encoding a
ピクチャP3において、4301はリフレッシュされた領域を示し、4302はイントラ符号化によりリフレッシュする領域を示し、4303はまだリフレッシュされていない領域を示す。ピクチャP3は、領域4301から1CTU列だけ右の領域4302をイントラ符号化してリフレッシュする。
In picture P3, 4301 indicates the refreshed area, 4302 indicates the area to be refreshed by intra-coding, and 4303 indicates the area which has not yet been refreshed. Picture P3 is refreshed by intra-encoding a
ピクチャP3以降も同様に符号化し、ピクチャの右端までリフレッシュしたら、GDR符号化を終了する。GDR符号化を終了したピクチャ以降において、再びGDR符号化をしても良い。ここでは、リフレッシュする領域について、ピクチャの左端から1CTU列ずつ右にずらしながら符号化する場合を示したが、リフレッシュする方法をこれに限らない。例えば、ピクチャの右端から1CTU列ずつ左にずらすようにしても良いし、ピクチャの上端から1CTU行ずつ下にずらすようにしても良いし、ピクチャの下端から1CTU行ずつ上にずらすようにしても良い。さらに、リフレッシュする単位は1CTU列や1CTU行などの縦や横でなく、斜めなどの任意の形状でも良いし、1または複数の符号化ツリーブロックあるいは符号化ブロックなど、任意の単位としても良い。加えて、リフレッシュしないピクチャがあっても良い。リフレッシュする方法は、符号化装置と復号装置で予め取り決めた方法とすることもできるし、符号化装置がリフレッシュする方法を決定して復号装置に伝送するような構成をとることもできる。 The picture P3 and subsequent pictures are encoded in the same manner, and when the right end of the picture is refreshed, the GDR encoding is completed. GDR encoding may be performed again after the picture for which GDR encoding has been completed. Here, the case where coding is performed while shifting the area to be refreshed to the right by one CTU column from the left end of the picture has been shown, but the refreshing method is not limited to this. For example, the right end of the picture may be shifted left by 1 CTU column, the top end of the picture may be shifted downward by 1 CTU row, or the bottom end of the picture may be shifted upward by 1 CTU row. good. Furthermore, the refresh unit may be any shape such as diagonal instead of vertical or horizontal such as 1 CTU column or 1 CTU row, or may be any unit such as one or a plurality of coding tree blocks or coding blocks. Additionally, there may be pictures that do not refresh. The method of refreshing can be determined in advance by the encoding device and the decoding device, or the encoding device can determine the refreshing method and transmit it to the decoding device.
GDR符号化では、リカバリポイントまでにピクチャの全ての領域が少なくとも1回はイントラ符号化されリフレッシュされる。また、一旦リフレッシュされた領域でのインター符号化において、リフレッシュ済みの領域を参照する。このようなGDR符号化をしたビットストリームを復号すると、リカバリポイント以降は正しく復号可能となる。ただし、一旦リフレッシュされた領域でのインター符号化において、リフレッシュ済みでない領域を参照すると、正しく復号できない。加えて、一旦リフレッシュされた領域でのインター符号化において、フィルタ処理の影響を受けたリフレッシュ済みの領域を参照すると、正しく復号できない。 In GDR coding, every region of the picture is intra-coded and refreshed at least once before the recovery point. Also, in inter-coding in a once refreshed area, reference is made to the refreshed area. If such a GDR-encoded bitstream is decoded, it can be correctly decoded after the recovery point. However, in inter-encoding in a once-refreshed area, if a non-refreshed area is referenced, decoding cannot be performed correctly. In addition, inter-coding in a once-refreshed region cannot be decoded correctly when referencing the refreshed region that has been affected by filtering.
図15は、ランダムアクセスすると正しく復号できなくなる様子を示す図である。一旦リフレッシュされた領域でのインター符号化において、リフレッシュ済みでない領域を参照すると、正しく復号できなくなることを説明する。いま、ビットストリームは、ピクチャP1からGDR符号化しており、各ピクチャは直前のピクチャを参照してインター符号化されている。また、このビットストリームではフィルタ処理をしていないものとする。 FIG. 15 is a diagram showing how random access prevents correct decoding. It will be explained that, in inter-encoding in an area that has been refreshed once, decoding cannot be performed correctly if an area that has not been refreshed is referred to. The bitstream is now GDR-encoded from picture P1, and each picture is inter-encoded with reference to the immediately preceding picture. It is also assumed that this bitstream is not filtered.
ここで、このビットストリームに対してランダムアクセスせずに復号する場合を考える。まず、ピクチャQ1を復号して復号画像メモリ208に格納される。その後、ピクチャQ2を復号して復号画像メモリ208に格納される。次に、ピクチャP1を復号する。いま、処理対象符号化ブロック4402は、ピクチャQ2の参照ブロック4401を参照してインター符号化されている。インター予測部203は、動きベクトルに応じて、復号画像メモリ208に格納されている復号済みのピクチャQ2の画像信号から動き補償により予測画像信号を生成する。予測画像信号と、逆量子化・逆直交変換部206により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号する。次に、ピクチャP2を復号する。いま、処理対象符号化ブロック4404は、ピクチャP1の参照ブロック4403を参照してインター符号化されている。インター予測部203は、動きベクトルに応じて、復号画像メモリ208に格納されている復号済みのピクチャP1の画像信号から動き補償により予測画像信号を生成する。予測画像信号と、逆量子化・逆直交変換部206により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号する。以上により、ランダムアクセスせずに復号する場合、このビットストリームは正しく復号できる。
Here, consider the case of decoding without performing random access to this bitstream. First, the picture Q1 is decoded and stored in the decoded
一方、このビットストリームに対してランダムアクセスして復号する場合を考える。まず、ピクチャQ1を復号して復号画像メモリ208に格納される。ここで、ピクチャP1にランダムアクセスしたとする。領域4102はイントラ符号化されており、正しく復号される。それに対し、処理対象符号化ブロック4402は、ピクチャQ2の参照ブロック4401を参照してインター符号化されている。しかし、ピクチャQ2は復号していないため、復号画像メモリ208に格納されていない。よって、インター予測部203は、復号画像メモリ208から予測画像信号を正しく生成することができない。ただし、処理対象符号化ブロック4402は、まだリフレッシュされていない領域4103にある。この領域4103は、ピクチャP1以降のピクチャにおいて、イントラ符号化されリフレッシュされる。よって、処理対象符号化ブロック4402は、ピクチャP1の時点では正しく復号できなくても良い。まだリフレッシュされていない領域は正しく復号できるとは限らないため、復号してその復号画像信号を復号画像メモリ208に格納しても、その復号画像信号は正しくない。このとき、まだリフレッシュされていない領域の復号画像信号は、正しくないものと判別できるように復号画像メモリ208に格納しても良い。あるいは、その復号画像信号は、復号画像メモリ208に格納しないようにしても良い。あるいは、まだリフレッシュされていない領域は、復号しなくても良い。
On the other hand, consider the case of randomly accessing and decoding this bitstream. First, the picture Q1 is decoded and stored in the decoded
次に、ピクチャP2を復号する。いま、領域4201内の処理対象符号化ブロック4404は、ピクチャP1の参照ブロック4403を参照してインター符号化されている。つまり、一旦リフレッシュされた領域において、リフレッシュ済みでない領域を参照してインター符号化している。ここで、ピクチャP1は復号して復号画像メモリ208に格納されている。しかし、ピクチャP1において符号化ブロック4402を正しく復号していないため、参照ブロック4403の参照画像は正しくない。リフレッシュされた領域4201にもかかわらず、正しく復号できない部分が発生し、リカバリポイント以降であっても正しく復号できない。これを防ぐため、一旦リフレッシュされた領域のインター符号化では、リフレッシュ済みの領域を参照することが必要である。これにより、リカバリポイント以降であれば正しく復号できる。
Next, picture P2 is decoded. Now, the
ここで、リカバリポイント以降に正しく復号可能となる参照領域をクリーン領域と呼ぶ。また、リカバリポイント以降に正しく復号不可能となる参照領域をダーティ領域と呼ぶ。GDR符号化においてフィルタ処理をしない場合、クリーン領域はリフレッシュされた領域と同じであり、ダーティ領域はリフレッシュされていない領域と同じである。ただし、リフレッシュ済みの領域が、フィルタ処理により影響を受ける場合には、この限りでない。フィルタ処理の影響により、クリーン領域はリフレッシュされた領域より狭くなる。 Here, a reference area that can be correctly decoded after the recovery point is called a clean area. A reference area that cannot be correctly decoded after the recovery point is called a dirty area. Without filtering in GDR encoding, clean regions are the same as refreshed regions and dirty regions are the same as non-refreshed regions. However, this does not apply if the refreshed area is affected by the filtering process. The effect of filtering is to make the clean area narrower than the refreshed area.
図16は、ランダムアクセスすると正しく復号できなくなる様子を示す図である。一旦リフレッシュされた領域でのインター符号化において、フィルタ処理の影響を受けたリフレッシュ済みの領域を参照すると、正しく復号できなくなることを説明する。いま、ビットストリームは、ピクチャP1からGDR符号化しており、各ピクチャは直前のピクチャを参照してインター符号化されている。また、このビットストリームではフィルタ処理をしているものとする。 FIG. 16 is a diagram showing how random access prevents correct decoding. It will be explained that, in inter-coding in a region that has been refreshed once, decoding cannot be performed correctly if the refreshed region that has been affected by filtering is referred to. The bitstream is now GDR-encoded from picture P1, and each picture is inter-encoded with reference to the immediately preceding picture. It is also assumed that this bitstream is filtered.
いま、ピクチャP2の領域4201内の処理対象符号化ブロック4211は、ピクチャP1の参照ブロック4111を参照してインター符号化されている。領域4105は、境界4104にフィルタ処理をした場合に影響を受ける範囲を示す。前述の通り、デブロックフィルタ、サンプル適応オフセット、および適応ループフィルタの各フィルタ処理を順番に施す際に、ブロック境界の右側8画素を参照し、ブロック境界の左側11画素までの画素値が変更される。境界4104はまだリフレッシュされていない領域4103を参照してフィルタ処理されるため、領域4105は正しく復号できない。そして、参照ブロック4111は領域4105を含んでいるため、その参照画像は正しくない。正しく復号するためのクリーン領域は、領域4102の中で、領域4105を含まない部分となる。
Now, the
次に、本実施形態の画像符号化装置100における復号画像信号重畳部110、および画像復号装置200における復号画像信号重畳部207について説明する。
Next, the decoded image
図17は、図1の画像符号化装置における復号画像信号重畳部110の詳細を示す図である。本実施形態では、復号画像信号重畳部110は、予測方法決定部105による決定に応じた予測画像信号と、逆量子化・逆直交変換部109で逆量子化及び逆直交変換された残差信号を、重畳部112に供給する。重畳部112は、予測画像信号と残差信号を重畳して復号画像を生成し、フィルタ部113に供給する。フィルタ部113は、復号画像に対して符号化誤差の低減のため、リフレッシュ制御部114の制御によりフィルタ処理をする。リフレッシュ制御部114の制御については後述する。フィルタ処理の結果は、復号画像メモリ104に格納する。
FIG. 17 is a diagram showing the details of the decoded image
図18は、図2の画像復号装置における復号画像信号重畳部207の詳細を示す図である。本実施形態では、復号画像信号重畳部207は、インター予測部203でインター予測された予測画像信号、またはイントラ予測部204でイントラ予測された予測画像信号と、逆量子化・逆直交変換部206により逆直交変換・逆量子化された残差信号を、重畳部212に供給する。重畳部212は、予測画像信号と残差信号を重畳して復号画像を生成し、フィルタ部213に供給する。フィルタ部213は、復号画像に対して符号化誤差の低減のため、リフレッシュ制御部214の制御によりフィルタ処理をする。リフレッシュ制御部214の制御については後述する。フィルタ処理の結果は、復号画像メモリ208に格納する。
FIG. 18 is a diagram showing details of the decoded image
次に、リフレッシュ制御部114およびリフレッシュ制御部214の動作について説明する。図19は、リフレッシュ制御部114およびリフレッシュ制御部214の処理を説明する図である。
Next, operations of the
まず、リフレッシュ境界にかかるフィルタ処理か否かを判定する(S6001)。リフレッシュ境界とは、リフレッシュ済みの領域とまだリフレッシュされていない領域の境界である。また、リフレッシュ済みの領域とは、過去のピクチャでリフレッシュされた領域と、現在のピクチャでリフレッシュされた領域を合わせた領域である。例えば図16のピクチャP2の場合、リフレッシュ済みの領域は領域4201と領域4202に相当し、まだリフレッシュされていない領域は領域4203に相当する。また、リフレッシュ境界は、境界4204に接し、領域4202のうち領域4205を含む部分に相当する。
First, it is determined whether or not the filtering process is performed on the refresh boundary (S6001). A refresh boundary is the boundary between an area that has been refreshed and an area that has not yet been refreshed. Also, the refreshed area is a combined area of the area refreshed in the past picture and the area refreshed in the current picture. For example, in the case of picture P2 in FIG. 16,
符号化装置と復号装置で予め取り決めた方法でリフレッシュしているのであれば、その方法に従ってリフレッシュ境界であるか否かを判定する。例えば、ピクチャの左端からリフレッシュを開始し、ピクチャごとに1CTU列ずつ右にずらす、と予め定めておく。すると、符号化装置と復号装置は、予め定めた方法を元にリフレッシュ境界か否かを判定できる。あるいは、符号化装置がリフレッシュする方法を決定して復号装置に伝送するような構成にする。すると、符号化装置は、自ら決定したリフレッシュする位置を元にリフレッシュ境界であるか否かを判定すると共に、そのリフレッシュ位置を伝送する。また、復号装置は、伝送され復号されたリフレッシュする位置を元にリフレッシュ境界であるか否かを判定する。 If the encoding device and the decoding device are refreshed by a predetermined method, whether or not it is a refresh boundary is determined according to the method. For example, it is determined in advance that the refresh is started from the left end of the picture and shifted to the right by one CTU column for each picture. Then, the encoding device and the decoding device can determine whether or not it is a refresh boundary based on a predetermined method. Alternatively, the encoding device may determine the refresh method and transmit it to the decoding device. Then, the encoding device determines whether or not it is a refresh boundary based on the self-determined refresh position, and transmits the refresh position. Also, the decoding device determines whether or not it is a refresh boundary based on the transmitted and decoded refresh position.
リフレッシュ境界でない場合(S6001:NO)、リフレッシュ済みの領域か否かを判定する(S6002)。リフレッシュ済みの領域である場合(S6002:YES)、復号結果またはフィルタ結果を復号画像メモリに格納し、クリーン領域とする(S6003)。ここで、重畳部112または重畳部212から出力される復号画像について、フィルタ処理をしない場合には、復号結果としてフィルタ部113またはフィルタ部213から出力される。フィルタ処理をする場合には、フィルタ結果としてフィルタ部113またはフィルタ部213から出力される。復号結果またはフィルタ結果は、復号画像メモリ104または復号画像メモリ208に格納される。リフレッシュ済みの領域でない場合(S6002:NO)、復号結果またはフィルタ結果を復号画像メモリに格納し、ダーティ領域とする(S6004)。この処理において、復号やフィルタ処理はS6003と同じである。
If it is not a refresh boundary (S6001: NO), it is determined whether it is a refreshed area (S6002). If the area has already been refreshed (S6002: YES), the decoded result or the filtered result is stored in the decoded image memory and set as a clean area (S6003). Here, if the decoded image output from the
リフレッシュ境界である場合(S6001:YES)、フィルタ処理をするか否かを判定する(S6005)。これは、フィルタ処理をするか否かを符号化装置と復号装置で予め取り決めておいても良いし、符号化装置がフィルタ処理をするか否かを決定して復号装置に伝送するような構成としても良い。フィルタ処理をしない場合(S6005:NO)、重畳部112または重畳部212から出力される復号画像はフィルタ処理せずに復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6008)。
If it is a refresh boundary (S6001: YES), it is determined whether or not to perform filtering (S6005). The encoding device and the decoding device may decide in advance whether or not to perform the filtering process, or the encoding device determines whether to perform the filtering process and transmits the result to the decoding device. It is good as If filtering is not to be performed (S6005: NO), the decoded image output from the superimposing
フィルタ処理をする場合(S6005:YES)、重畳部112または重畳部212から出力される復号画像から、リフレッシュする領域に含まれて境界に接する画素をフィルタ部に供給する(S6006)。重畳部112または重畳部212から出力された復号画像と、リフレッシュ制御部114またはリフレッシュ制御部214から供給された画素を参照し、フィルタ部113またはフィルタ部213でフィルタ処理をする。フィルタ結果を復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6007)。
If filter processing is to be performed (S6005: YES), from the decoded image output from the superimposing
上記の動作について、図16のピクチャP2におけるフィルタ処理を例に説明する。いま、符号化装置がリフレッシュする位置を決定して復号装置に伝送するような構成であるとする。また、リフレッシュ境界ではフィルタ処理をせず、リフレッシュ境界以外ではフィルタ処理をする場合を考える。 The above operation will be described using the filtering process for the picture P2 in FIG. 16 as an example. Assume that the coding device determines the refresh position and transmits it to the decoding device. Also, consider a case where filtering is not performed at refresh boundaries but is performed at areas other than refresh boundaries.
リフレッシュ制御部114は、符号化装置100で決定したリフレッシュする位置を元に、リフレッシュ境界か否かを判定する(S6001)。リフレッシュ制御部214は、復号装置200に伝送され復号されたリフレッシュする位置を元にリフレッシュ境界か否かを判定する(S6001)。領域4201は、リフレッシュ境界でなく(S6001:NO)、リフレッシュ済みの領域である(S6002:YES)。よって、フィルタ結果を復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6003)。領域4202のうち領域4205を含まない部分についても、領域4201と同じ処理である。
The
領域4202のうち領域4205を含む部分は、リフレッシュ境界である(S6001:YES)。いま、フィルタ処理をしないので(S6005:NO)、復号結果を復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6008)。
A portion of the
領域4203は、リフレッシュ境界でなく(S6001:NO)、リフレッシュ済みの領域でないので(S6002:NO)、フィルタ結果を復号画像メモリ104または復号画像メモリ208に格納し、ダーティ領域とする(S6004)。以上でリフレッシュ制御部114およびリフレッシュ制御部214の処理を終了する。
Since the
以上により、リフレッシュ境界にフィルタ処理をしない場合において、インター予測部102またはインター予測部203は、クリーン領域を参照してインター予測することができる。よって、この符号化装置により生成したビットストリームにランダムアクセスして復号すると、リカバリポイント以降に正しく復号可能となる。また、リフレッシュ境界以外においてフィルタ処理が可能であるから、符号化歪を低減させ、符号化効率を向上させることができる。
As described above, the
一方、リフレッシュ境界でフィルタ処理をする場合を考える。まず、リフレッシュ境界と判定され(S6001:YES)、フィルタ処理をする(S6005:YES)。リフレッシュする領域4202に含まれて境界4204に接する画素をフィルタ部113またはフィルタ部213に供給する(S6006)。そして、フィルタ結果を復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6007)。
On the other hand, consider the case of filtering at refresh boundaries. First, it is determined to be a refresh boundary (S6001: YES), and filtering is performed (S6005: YES). The pixels included in the
以上により、リフレッシュ境界にフィルタ処理する場合において、インター予測部102またはインター予測部203は、クリーン領域を参照してインター予測することができる。よって、この符号化装置により生成したビットストリームにランダムアクセスして復号すると、リカバリポイント以降に正しく復号可能となる。また、リフレッシュ境界を含めてフィルタ処理が可能であるから、符号化歪を低減させ、符号化効率を向上させることができる。
As described above, the
リフレッシュ境界がどの位置にあるかが分からない場合、リフレッシュ境界とそれ以外とで、フィルタ処理の有無を変えることはできない。また、リフレッシュ境界がどの位置にあるかが分からない場合にフィルタ処理をすると、まだリフレッシュされていない領域を参照する可能性がある。すると、そのフィルタ処理後の参照画像はダーティ領域を含み、ランダムアクセスして復号した場合には、リカバリポイント以降に正しく復号できない。よって、リフレッシュ境界がどの位置にあるかが分からない場合には、リフレッシュ境界かどうかにかかわらず、どの位置においてもフィルタ処理をすることができない。 If it is not known where the refresh boundary is located, it is not possible to change the presence or absence of filtering between the refresh boundary and the rest. Also, if you do not know where the refresh boundary is, filtering may refer to areas that have not yet been refreshed. Then, the reference image after the filtering process includes a dirty area, and if it is randomly accessed and decoded, it cannot be correctly decoded after the recovery point. Therefore, if it is not known at which position the refresh boundary is, filtering cannot be performed at any position regardless of whether it is a refresh boundary or not.
いま、符号化装置がリフレッシュする位置を決定して復号装置に伝送するような構成である。また、リフレッシュ境界とそれ以外において、フィルタ処理をするか否かを符号化装置と復号装置で予め取り決めておく。すると、符号化装置と復号装置は、リフレッシュ境界とそれ以外において、予め定めた方法を元にフィルタ処理をするか否かを判定できる。あるいは、符号化装置がフィルタ処理をするか否かを決定して復号装置に伝送するような構成にする。すると、符号化装置は、リフレッシュ境界とそれ以外において、フィルタ処理の有無を決定してフィルタ処理をし、そのフィルタ処理の有無をそれぞれ伝送する。また、復号装置は、伝送され復号されたフィルタ処理の有無に従って、リフレッシュ境界とそれ以外におけるフィルタ処理をする。従って、符号化装置は、リフレッシュ境界とそれ以外において、フィルタ処理をするか否かを選択することができる。 Now, the configuration is such that the encoding device determines the refresh position and transmits it to the decoding device. In addition, the encoding device and the decoding device preliminarily decide whether or not to perform filter processing on refresh boundaries and other areas. Then, the encoding device and the decoding device can determine whether or not to perform filter processing based on a predetermined method on refresh boundaries and other areas. Alternatively, the encoding device may determine whether or not to perform filtering and transmit the result to the decoding device. Then, the encoding device determines whether or not filtering is to be performed on the refresh boundary and other areas, performs filtering, and transmits whether or not filtering is to be performed. Also, the decoding device performs filtering on refresh boundaries and other areas according to the presence/absence of filtering that has been transmitted and decoded. Therefore, the encoder can choose whether or not to filter at refresh boundaries and otherwise.
図20は、フィルタ処理で参照する画素と変更される画素を示す図である。これは、図16のピクチャP1において、境界4104のフィルタ処理を示している。いま、画素値への影響を考えるため、最も強度の高いフィルタが適用されるものとする。フィルタ部113またはフィルタ部213は、範囲4011と範囲4021の画素を参照し、範囲4023と範囲4024の画素を変更する。ここで、リフレッシュ制御部114またはリフレッシュ制御部214は、リフレッシュ境界にかかるフィルタ処理であるから(S6001:YES)、フィルタ処理をするか否かを判定する(S6005)。いま、フィルタ処理はなされるので(S6005:YES)、リフレッシュされた領域4102に含まれて境界4104に接する画素p0をフィルタ部113またはフィルタ部213に供給する(S6006)。フィルタ部113またはフィルタ部213は、範囲4021の画素として、リフレッシュされた領域4102に含まれる画素p0を参照する。フィルタ部113またはフィルタ部213が参照する画素は、全てリフレッシュされた領域4102に含まれる画素となり、まだリフレッシュされていない領域4103は参照しない。フィルタ部113またはフィルタ部213は、置き換えられた画素を参照してフィルタ処理をする(S6007)。この画素の置き換えにより、領域4102は、まだリフレッシュされていない領域4103を参照せずにフィルタ処理される。このとき、正しく復号することができるクリーン領域は、領域4102の全てとなる。そして、フィルタ結果を復号画像メモリ104または復号画像メモリ208に格納し、クリーン領域とする(S6007)。すると、図16のピクチャP2において、処理対象符号化ブロック4211が参照する参照ブロック4111は、クリーン領域に含まれる。そのため、ランダムアクセスして復号しても正しく復号することができる。
FIG. 20 is a diagram showing pixels to be referenced and pixels to be changed in filtering. This shows the filtering of
この画素の置き換えは、リフレッシュ境界にかかるフィルタ処理において適用される。一方、まだリフレッシュされていない領域のフィルタ処理には、画素の置き換えは適用しない。また、隣接画素をそのまま置き換える代わりに、隣接画素からの予測値やグレー画像などの固定値に置き換えても良い。さらに、フィルタの強度によって影響を受ける範囲が異なるため、フィルタ強度に応じて画素を置き換える範囲を可変としても良い。加えて、フィルタ強度を変更するために対象ブロックのサイズや予測モードを変更しても良い。 This pixel replacement is applied in the filtering across the refresh boundaries. On the other hand, pixel replacement is not applied to the filtering of regions that have not yet been refreshed. Also, instead of replacing the adjacent pixels as they are, they may be replaced with fixed values such as predicted values from adjacent pixels or gray images. Furthermore, since the range affected by the strength of the filter differs, the range of pixel replacement may be variable according to the filter strength. In addition, the size of the target block and the prediction mode may be changed in order to change the filter strength.
以上により、リフレッシュ境界においてフィルタ処理をしても、その参照画像はクリーン領域とすることができる。これにより、フィルタ処理をした場合にインター予測部が参照可能となるクリーン領域が広くなるため、より最適な参照画像を選択することによって符号化効率を向上させることができる。また、ダーティ領域に近いクリーン領域では、処理対象符号化ブロックと空間的に同じ位置の参照ブロック、つまり動きベクトルが(0,0)の位置を参照できる。これは、動きが少ない画像において、特に符号化効率を向上させることができる。 As described above, even if filter processing is performed at the refresh boundary, the reference image can be set as a clean area. As a result, the clean area that can be referred to by the inter prediction unit is widened when filtering is performed, so that encoding efficiency can be improved by selecting a more optimal reference image. Also, in a clean area close to the dirty area, a reference block spatially at the same position as the target encoding block, that is, the position of the motion vector (0, 0) can be referenced. This can improve coding efficiency, especially for images with little motion.
また、リフレッシュ制御部114およびリフレッシュ制御部214における画素の置き換えは、パディングとしても実現できる。図21は、パディングの様子を示す図である。図21(a)は、図16のピクチャP1におけるパディングを示す。リフレッシュする領域4102に含まれて境界4104に接する画素4121を、まだリフレッシュされていない領域4103にパディングする。これは、ピクチャの画面外を参照したときと似た動作となる。画面外として判定する位置が異なるだけであり、新たな処理が発生するわけではないので、追加の演算量を削減できる。
Further, pixel replacement in the
クリーン領域が矩形でない場合のパディングについて、図21(b)から(e)に示す。図21(b)から(e)は、リフレッシュする領域4102が、まだリフレッシュされていない領域4103の周辺に複数位置している場合である。図21(b)のように、リフレッシュする領域4102に含まれ境界4122に接する画素4123を、まだリフレッシュされていない領域4103にパディングする。または、図21(c)のように、リフレッシュする領域4102に含まれ境界4122に接する画素4124を、まだリフレッシュされていない領域4103にパディングしても良い。あるいは、図21(d)のように、リフレッシュする領域4102に含まれ境界4122に接する画素4125を、まだリフレッシュされていない領域4103にパディングしても良い。加えて、図21(e)のように、リフレッシュする領域4102に含まれ境界4122に接する画素4123、画素4124、および画素4125の平均値でパディングしても良い。また、隣接画素のパディングではなく、隣接画素からの予測値やグレー画像などの固定値でパディングしても良い。
Padding for non-rectangular clean areas is shown in FIGS. 21(b) to (e). FIGS. 21B to 21E show the case where a plurality of
このパディングは、リフレッシュ境界にかかるフィルタ処理において適用され、フィルタ処理が参照する画素の分だけ処理される。一方、まだリフレッシュされていない領域のフィルタ処理には、パディングは適用しない。さらに、フィルタの強度によって影響を受ける範囲が異なるため、フィルタ強度に応じてパディング範囲を可変としても良い。加えて、フィルタ強度を変更するために対象ブロックのサイズや予測モードを変更しても良い。このパディングは、前述した画素の置き換えを異なる手段で実現したものであるから、その効果は画素の置き換えの場合と同じである。 This padding is applied in the filtering across the refresh boundary and is processed by the pixels referenced by the filtering. On the other hand, no padding is applied to filtering areas that have not yet been refreshed. Furthermore, since the range affected by the filter strength differs, the padding range may be variable according to the filter strength. In addition, the size of the target block and the prediction mode may be changed in order to change the filter strength. Since this padding is a different implementation of the pixel replacement described above, the effect is the same as in the case of pixel replacement.
本発明の符号化装置100におけるインター予測部102、および復号装置200におけるインター予測部203は、以下のように動作する。すなわち、インター予測部102およびインター予測部203は、リフレッシュ済みの領域において、クリーン領域を参照してインター予測をする。まだリフレッシュされていない領域では、クリーン領域とダーティ領域を参照してインター予測をする。まだリフレッシュされていない領域では、画素の置き換えやパディングされた画素は用いない。
ここで、フィルタ処理が参照する画素の分だけでなく、まだリフレッシュされていない領域の全体に対して、画素の置き換えやパディングを適用した場合を考える。すると、以下のような効果がある。 Consider the case where pixel replacement or padding is applied not only to the pixels to which the filtering process refers, but also to the entire region that has not yet been refreshed. Then, the following effects are obtained.
動作不良などのため、リフレッシュ済みの領域においてダーティ領域を参照して符号化されて、ビットストリームが生成される可能性がある。あるいはパケットロスなどによりビットストリームの一部が欠けるなどして、復号結果がそのようなダーティ領域を参照する可能性がある。このようなダーティ領域を参照したビットストリームは、リカバリポイント以降に正しく復号不可能となる。また、本発明でない復号装置では、ダーティ領域を参照する参照ブロックとして、不正な復号結果が格納されている復号画像メモリから画素値を取得する。その結果、復号装置によって復号結果が異なることが考えられる。一方、まだリフレッシュされていない領域に対して画素の置き換えやパディングを適用すると、ダーティ領域の画素値はクリーン領域の画素値の置き換えやパディングした値または固定値となる。従って、このようなダーティ領域を参照したビットストリームを復号しても、ダーティ領域を参照する参照ブロックの画素値は、一定である。その結果、復号装置によって復号結果が同じになるため、ロバスト性を高めることができる。 Due to a malfunction or the like, there is a possibility that a bitstream is generated by encoding with reference to a dirty area in a refreshed area. Alternatively, part of the bitstream may be missing due to packet loss or the like, and the decoded result may refer to such a dirty area. A bitstream that refers to such a dirty area cannot be correctly decoded after the recovery point. Also, in a decoding device that is not the present invention, pixel values are obtained from a decoded image memory that stores an incorrect decoding result as a reference block that refers to a dirty area. As a result, it is conceivable that the decoding result differs depending on the decoding device. On the other hand, if pixel replacement or padding is applied to an area that has not yet been refreshed, the pixel values of the dirty area will be the replaced or padded values of the pixel values of the clean area, or fixed values. Therefore, even if a bitstream that refers to such a dirty area is decoded, the pixel values of the reference blocks that refer to the dirty area are constant. As a result, the decoding result is the same depending on the decoding device, so that robustness can be improved.
従って、画素の置き換えやパディングは、リフレッシュ境界のフィルタ処理に参照する画素の分だけ処理するか、まだリフレッシュされていない領域の全体に対して処理するか、選択できるようにしても良い。画素の置き換えやパディングの方法は、符号化装置と復号装置で予め取り決めておくか、符号化装置が画素の置き換えやパディングの方法を決定して復号装置に伝送するような構成とする。符号化効率を優先して、リフレッシュ境界のフィルタ処理に参照する画素の分だけ画素の置き換えやパディングをすることができる。あるいは、ロバスト性を優先して、まだリフレッシュされていない領域の全体に対して画素の置き換えやパディングをすることができる。 Therefore, pixel replacement and padding may be performed selectively for the pixels referred to in filtering on the refresh boundary, or for the entire area that has not yet been refreshed. The pixel replacement and padding methods are determined in advance by the encoding device and the decoding device, or the encoding device determines the pixel replacement and padding methods and transmits them to the decoding device. Prioritizing coding efficiency, it is possible to perform pixel replacement and padding for pixels referred to in filter processing on the refresh boundary. Alternatively, in favor of robustness, pixels can be replaced or padded across regions that have not yet been refreshed.
GDR符号化において、イントラブロックコピーを用いてイントラリフレッシュしても良い。ただし、イントラブロックコピーでは、処理対象符号化ツリーブロックと同じCTU行、かつ処理対象符号化ブロックより符号化順で前のいくつかの符号化ブロックまたは符号化ツリーブロックのみ参照可能である。よって、GDR符号化において、クリーン領域を参照ブロックとして参照できるようにするため、常に左から右に向かってリフレッシュするように構成しても良い。あるいはイントラブロックコピーの参照ブロックとして、ダーティ領域を参照しないように制御しても良い。 In GDR encoding, intra refresh may be performed using intra block copy. However, intra block copy can refer only to the same CTU row as the target encoding tree block and some encoding blocks or encoding tree blocks that precede the target encoding tree block in encoding order. Therefore, in GDR encoding, in order to be able to refer to the clean area as a reference block, refresh may always be performed from left to right. Alternatively, it may be controlled not to refer to the dirty area as a reference block for intra block copy.
以上に述べた全ての実施の形態において、画像符号化装置が出力する符号化ビットストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有している。符号化ビットストリームは、HDD、SSD、フラッシュメモリ、光ディスク等のコンピュータ等で読み解き可能な記録媒体に記録して提供しても良いし、有線あるいは無線のネットワークを通してサーバから提供しても良い。従って、この画像符号化装置に対応する画像復号装置は、提供手段によらず、この特定のデータフォーマットの符号化ビットストリームを復号することができる。 In all the embodiments described above, the encoded bitstream output by the image encoding device has a specific data format so that it can be decoded according to the encoding method used in the embodiments. is doing. The encoded bitstream may be provided by being recorded in a computer-readable recording medium such as an HDD, SSD, flash memory, or optical disk, or may be provided from a server through a wired or wireless network. Therefore, an image decoding device corresponding to this image encoding device can decode the encoded bitstream of this specific data format regardless of the providing means.
画像符号化装置と画像復号装置の間で符号化ビットストリームをやりとりするために、有線または無線のネットワークが用いられる場合、通信路の伝送形態に適したデータ形式に符号化ビットストリームを変換して伝送してもよい。その場合、画像符号化装置が出力する符号化ビットストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する送信装置と、ネットワークから符号化データを受信して符号化ビットストリームに復元して画像復号装置に供給する受信装置とが設けられる。 When a wired or wireless network is used to exchange an encoded bitstream between an image encoding device and an image decoding device, the encoded bitstream is converted into a data format suitable for the transmission mode of the communication channel. may be transmitted. In this case, a transmission device that converts an encoded bitstream output from an image encoding device into encoded data in a data format suitable for the transmission mode of a communication channel and transmits the encoded data to a network, and a transmission device that receives encoded data from the network. and a receiving device for restoring an encoded bitstream to supply to an image decoding device.
送信装置は、画像符号化装置が出力する符号化ビットストリームをバッファするメモリと、符号化ビットストリームをパケット化するパケット処理部と、ネットワークを介してパケット化された符号化データを送信する送信部とを含む。受信装置は、ネットワークを介してパケット化された符号化データを受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ビットストリームを生成し、画像復号装置に提供するパケット処理部とを含む。 The transmission device includes a memory that buffers the encoded bitstream output from the image encoding device, a packet processing unit that packetizes the encoded bitstream, and a transmission unit that transmits the packetized encoded data via the network. including. The receiving device includes a receiving unit that receives packetized encoded data via a network, a memory that buffers the received encoded data, and packetizes the encoded data to generate an encoded bitstream, and a packet processing unit provided to the image decoding device.
画像符号化装置と画像復号装置の間で符号化ビットストリームをやりとりするために、有線または無線のネットワークが用いられる場合、送信装置、受信装置に加え、さらに、送信装置が送信する符号化データを受信し、受信装置に供給する中継装置が設けられても良い。中継装置は、送信装置が送信するパケット化された符号化データを受信する受信部と、受信された符号化データをバッファするメモリと、パケットされた符号化データとネットワークに送信する送信部とを含む。さらに、中継装置は、パケット化された符号化データをパケット処理して符号化ビットストリームを生成する受信パケット処理部と、符号化ビットストリームを蓄積する記録媒体と、符号化ビットストリームをパケット化する送信パケット処理部を含んでも良い。 When a wired or wireless network is used to exchange coded bitstreams between an image coding device and an image decoding device, in addition to the transmitting device and the receiving device, the coded data transmitted by the transmitting device is also used. A relay device may be provided for receiving and supplying to the receiving device. The relay device includes a receiver that receives packetized encoded data transmitted by the transmitter, a memory that buffers the received encoded data, and a transmitter that transmits the packetized encoded data and the network. include. Further, the relay device includes a reception packet processing unit that performs packet processing on packetized encoded data to generate an encoded bitstream, a recording medium that stores the encoded bitstream, and a packetization of the encoded bitstream. A transmission packet processing unit may be included.
また、画像復号装置で復号された画像を表示する表示部を構成に追加することで、表示装置としても良い。その場合、表示部は、復号画像信号重畳部207により生成され、復号画像メモリ208に格納された復号画像信号を読み出して画面に表示する。
Further, the display device may be configured by adding a display unit for displaying an image decoded by the image decoding device. In this case, the display unit reads the decoded image signal generated by the decoded image
また、撮像部を構成に追加し、撮像した画像を画像符号化装置に入力することで、撮像装置としても良い。その場合、撮像部は、撮像した画像信号をブロック分割部101に入力する。
Further, an imaging device may be configured by adding an imaging unit to the configuration and inputting a captured image to an image encoding device. In that case, the imaging unit inputs the image signal of the imaged image to the
図22に、本願の符号化復号装置のハードウェア構成の一例を示す。符号化復号装置は、本発明の実施の形態に係る画像符号化装置、および画像復号装置の構成を包含する。係る符号化復号装置9000は、CPU9001、コーデックIC9002、I/Oインターフェース9003、メモリ9004、光学ディスクドライブ9005、ネットワークインターフェース9006、ビデオインターフェース9009を有し、各部はバス9010により接続される。
FIG. 22 shows an example of the hardware configuration of the encoding/decoding device of the present application. The encoding/decoding device includes the configurations of the image encoding device and the image decoding device according to the embodiment of the present invention. The encoding/
画像符号化部9007と画像復号部9008は、典型的にはコーデックIC9002として実装される。本発明の実施の形態に係る画像符号化装置の画像符号化処理は、画像符号化部9007により実行され、本発明の実施の形態に係る画像復号装置における画像復号処理は、画像符号化部9007により実行される。I/Oインターフェース9003は、例えばUSBインターフェースにより実現され、外部のキーボード9104、マウス9105等と接続する。CPU9001は、I/Oインターフェース9003を介して入力したユーザー操作に基づき、ユーザーの所望する動作を実行するように符号化復号装置9000を制御する。キーボード9104、マウス9105等によるユーザーの操作としては、符号化、復号のどちらの機能を実行するかの選択、符号化品質の設定、符号化ストリームの入出力先、画像の入出力先等がある。
An
ユーザーがディスク記録媒体9100に記録された画像を再生する操作を所望する場合、光学ディスクドライブ9005は、挿入されたディスク記録媒体9100から符号化ビットストリームを読出し、読み出した符号化ストリームを、バス9010を介してコーデックIC9002の画像復号部9008に送る。画像復号部9008は入力した符号化ビットストリームに対して本発明の実施の形態に係る画像復号装置における画像復号処理を実行し、復号画像を、ビデオインターフェース9009を介して外部のモニタ9103へ送る。また、符号化復号装置9000は、ネットワークインターフェース9006を有し、ネットワーク9101を介して、外部の配信サーバ9106や、携帯端末9107と接続可能である。ユーザーがディスク記録媒体9100に記録された画像に変えて、配信サーバ9106や携帯端末9107に記録された画像を再生することを所望する場合は、ネットワークインターフェース9006は、入力されたディスク記録媒体9100から符号化ビットストリームを読出すことに変えて、ネットワーク9101より符号化ストリームを取得する。また、ユーザーがメモリ9004に記録された画像を再生することを所望する場合は、メモリ9004に記録された符号化ストリームに対して、本発明の実施の形態に係る画像復号装置における画像復号処理を実行する。
When the user desires to reproduce the image recorded on the
ユーザーが外部のカメラ9102で撮像した画像を符号化しメモリ9004に記録する操作を所望する場合、ビデオインターフェース9009は、カメラ9102から画像を入力し、バス9010を介し、コーデックIC9002の画像符号化部9007に送る。画像符号化部9007は、ビデオインターフェース9009を介して入力した画像に対して本発明の実施の形態に係る画像符号化装置における画像符号化処理を実行し、符号化ビットストリームを作成する。そして符号化ビットストリームを、バス9010を介し、メモリ9004へ送る。ユーザーがメモリ9004に変えて、ディスク記録媒体9100に符号化ストリームを記録することを所望する場合は、光学ディスクドライブ9005は、挿入されたディスク記録媒体9100に対し符号化ストリームの書き出しを行う。
When the user desires an operation to encode an image captured by the
画像符号化装置を有し画像復号装置を有さないハードウェア構成や、画像復号装置を有し画像符号化装置を有さないハードウェア構成を実現することも可能である。そのようなハードウェア構成は、例えばコーデックIC9002が、画像符号化部9007、または画像復号部9008にそれぞれ置き換わることにより実現される。
It is also possible to realize a hardware configuration having an image encoding device but not having an image decoding device, or a hardware configuration having an image decoding device but not having an image encoding device. Such a hardware configuration is realized, for example, by replacing the
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現しても良いのは勿論のこと、ROM(リード・オンリー・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによって実現しても良い。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供しても良いし、有線あるいは無線のネットワークを通してサーバから提供しても良いし、地上波あるいは衛星ディジタル放送のデータ放送として提供しても良い。 The above encoding and decoding processes may of course be implemented as transmission, storage, and reception devices using hardware, and are stored in ROM (read only memory), flash memory, or the like. It may be implemented by firmware or software such as a computer. The firmware program and software program may be recorded in a computer-readable recording medium and provided, may be provided from a server through a wired or wireless network, or may be provided from a terrestrial or satellite digital broadcasting data broadcast. can be provided as
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described above based on the embodiments. It should be understood by those skilled in the art that the embodiments are examples, and that various modifications can be made to combinations of each component and each treatment process, and such modifications are also within the scope of the present invention. .
100 画像符号化装置、 101 ブロック分割部、 102 インター予測部、 103 イントラ予測部、104 復号画像メモリ、 105 予測方法決定部、 106 残差信号生成部、 107 直交変換・量子化部、 108 ビット列符号化部、 109 逆量子化・逆直交変換部、 110 復号画像信号重畳部、 111 符号化情報格納メモリ、 200 画像復号装置、 201 ビット列復号部、 202 ブロック分割部、 203 インター予測部 204 イントラ予測部、 205 符号化情報格納メモリ、 206 逆量子化・逆直交変換部、 207 復号画像信号重畳部、 208 復号画像メモリ。
100
Claims (2)
復号画像のフィルタ処理をするフィルタ部と、
前記フィルタ処理において、前記リフレッシュが済んだ領域の画素を参照してフィルタ処理するように、前記フィルタ部を制御するリフレッシュ制御部と、
前記フィルタ部の出力をクリーン領域として格納する復号画像メモリと、
前記リフレッシュが済んだ領域のインター予測において、前記クリーン領域を参照するインター予測部と、
を備える画像復号装置。 an intra prediction unit that intra-predicts and refreshes a partial region in a picture;
a filter unit for filtering the decoded image;
a refresh control unit that controls the filter unit so that in the filter processing, the filter processing is performed by referring to the pixels in the area that has been refreshed;
a decoded image memory that stores the output of the filter unit as a clean area;
an inter prediction unit that refers to the clean region in the inter prediction of the refreshed region;
An image decoding device comprising:
復号画像のフィルタ処理をするフィルタ部と、
前記フィルタ処理において、前記リフレッシュが済んだ領域と前記リフレッシュが済んでいない領域との境界である場合に、前記リフレッシュが済んでいない領域の画素を参照してフィルタ処理しないように制御するリフレッシュ制御部と、
前記リフレッシュが済んだ領域の前記フィルタ部の出力をクリーン領域として格納する復号画像メモリと、
前記リフレッシュが済んだ領域のインター予測において、前記クリーン領域を参照するか、または前記クリーン領域でない領域を参照する際に前記クリーン領域の前記境界に接する画素を参照するインター予測部と、
を備える画像復号装置。
an intra prediction unit that intra-predicts and refreshes a partial region in a picture;
a filter unit for filtering the decoded image;
In the filter processing, when there is a boundary between an area that has been refreshed and an area that has not been refreshed, a refresh control unit that refers to pixels in the area that has not been refreshed and performs control so that filtering is not performed. When,
a decoded image memory that stores the output of the filter unit in the refreshed area as a clean area;
an inter prediction unit that refers to the clean region in inter prediction of the refreshed region, or refers to pixels that are in contact with the boundary of the clean region when referring to the region that is not the clean region;
An image decoding device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/024927 WO2020262504A1 (en) | 2019-06-25 | 2020-06-25 | Dynamic-image encoding device, dynamic-image encoding method, dynamic-image encoding program, dynamic-image decoding device, dynamic-image decoding method, and dynamic-image decoding program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019117523 | 2019-06-25 | ||
JP2019117523 | 2019-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022120221A true JP2022120221A (en) | 2022-08-18 |
Family
ID=82849127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019171780A Pending JP2022120221A (en) | 2019-06-25 | 2019-09-20 | Image decoding device, image decoding method, and image decoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022120221A (en) |
-
2019
- 2019-09-20 JP JP2019171780A patent/JP2022120221A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10771811B2 (en) | Overlapped motion compensation for video coding | |
JP2022501912A (en) | Methods and equipment for processing video signals based on inter-prediction | |
KR20170115969A (en) | Method and apparatus for derivation of motion prediction information | |
US11936849B2 (en) | Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program | |
JP2021517798A (en) | Video processing method based on inter-prediction mode and equipment for that | |
JP7140224B2 (en) | Moving image decoding device, moving image decoding method, moving image decoding program, moving image encoding device, moving image encoding method, and moving image encoding program | |
JP7409365B2 (en) | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program | |
US20240015283A1 (en) | Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program | |
WO2020137890A1 (en) | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program | |
US20220109873A1 (en) | Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program | |
US20240163432A1 (en) | Picture decoding device, picture decoding method, and picture decoding program | |
US12022104B2 (en) | Moving picture coding device, moving picture coding method, moving picture coding program, moving picture decoding device, moving picture decoding method, and moving picture decoding program | |
JP2022003774A (en) | Image coding device, image coding method, image coding program, image decoding device, image decoding method, and image decoding program | |
WO2020256105A1 (en) | Moving-image encoding device, moving-image encoding method, moving-image encoding program, moving-image decoding device, moving-image decoding method and moving-image decoding program | |
JP6763470B1 (en) | Image decoding device, image decoding method and image decoding program | |
WO2020262504A1 (en) | Dynamic-image encoding device, dynamic-image encoding method, dynamic-image encoding program, dynamic-image decoding device, dynamic-image decoding method, and dynamic-image decoding program | |
JP2022120221A (en) | Image decoding device, image decoding method, and image decoding program | |
KR20230011298A (en) | Encoding device, decoding device, encoding method, and decoding method | |
JP2021005856A (en) | Image decoding device, image decoding method, and image decoding program | |
JP2021005854A (en) | Image encoding device, image encoding method, and image encoding program | |
WO2020137857A1 (en) | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program | |
JP2021005855A (en) | Image coding device, image coding method, and image coding program |