JP2021064979A - Encoding device, encoding method and program, and decoding device, decoding method and program - Google Patents
Encoding device, encoding method and program, and decoding device, decoding method and program Download PDFInfo
- Publication number
- JP2021064979A JP2021064979A JP2021009909A JP2021009909A JP2021064979A JP 2021064979 A JP2021064979 A JP 2021064979A JP 2021009909 A JP2021009909 A JP 2021009909A JP 2021009909 A JP2021009909 A JP 2021009909A JP 2021064979 A JP2021064979 A JP 2021064979A
- Authority
- JP
- Japan
- Prior art keywords
- control information
- image
- coding
- tile
- boundaries
- 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 a coding device, a coding method and a program, a decoding device, a decoding method and a program, and an image code data, and particularly to a filtering process at a block boundary.
動画像の圧縮記録の符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCには、1フレームを複数の矩形状の領域に分割して符号化・復号の並列処理等を可能にする、Tile(タイル)と呼ばれる手法が採用されている。タイルを用いることにより、符号化・復号の並列処理による高速化を実現すると共に画像符号化装置・画像復号装置が備えるメモリ容量を削減することが可能となっている。 As a coding method for compressed recording of moving images, a HEVC (High Efficiency Video Coding) coding method (hereinafter referred to as HEVC) is known. HEVC employs a method called Tile, which divides one frame into a plurality of rectangular regions to enable parallel processing of coding / decoding. By using tiles, it is possible to realize high speed by parallel processing of coding / decoding and to reduce the memory capacity of the image coding device / image decoding device.
また、HEVCでは符号化された画像の画質を向上させるため、デブロッキングフィルタやサンプルアダプティブオフセットといったインループフィルタ処理も採用されている。こうしたインループフィルタ処理はタイルの境界をまたいだ画素に対しても適用することが可能であるが、タイルの境界をまたいだ画素に対してインループフィルタ処理を適用すると、符号化・復号の並列処理に支障をきたす場合がある。そのため、HEVCではタイルの境界をまたいだ画素に対してインループフィルタ処理を適用するか否かを選択することができるloop_filter_across_tiles_enabled_flagシンタックス要素が採用されている。上記シンタックス要素が1の場合にはタイル境界に対するインループフィルタの適用を可能にし、0の場合にはタイル境界に対するインループフィルタの適用を禁止にするといった具合である。これにより、並列実装性を重視する場合には上記シンタックス要素を0とし、タイル境界の画質を重視する場合には上記シンタックス要素を1とすることができる。 Further, in HEVC, in-loop filter processing such as a deblocking filter and a sample adaptive offset is also adopted in order to improve the image quality of the encoded image. Such in-loop filtering can be applied to pixels that straddle tile boundaries, but if in-loop filtering is applied to pixels that straddle tile boundaries, coding and decoding are performed in parallel. It may interfere with the processing. Therefore, HEVC employs a loop_filter_acloss_tiles_enable_flag syntax element that can select whether or not to apply in-loop filtering to pixels that straddle the boundaries of tiles. When the syntax element is 1, the in-loop filter can be applied to the tile boundary, and when it is 0, the in-loop filter cannot be applied to the tile boundary. As a result, the syntax element can be set to 0 when the parallel mountability is emphasized, and the syntax element can be set to 1 when the image quality of the tile boundary is emphasized.
近年、VR(Virutal Reality)技術の発達に伴い、360°映像を複数のカメラで撮影し、撮影した画像を圧縮・符号化するユースケースが生まれている。360°映像の撮影方法として、6台のカメラで上下左右前後の各方向の画像を撮影し合成する手法がある(非特許文献1)。こうして撮影された画像は、撮影された6枚の画像を並び替えて合成して1枚の画像とし、圧縮・符号化される。並び替えについては、図9(a)のようにサイコロを展開するように並べる手法や、図9(b)〜(d)のように合体後の画像の面積が最小となるよう、長方形にさらに並び替える手法が検討されている(非特許文献2)。図9(a)のような手法では、左と前、前と右など隣接した画像の境界が常に連続しているが、合体後の画像の四隅に無駄な領域が発生してする。一方で、図9(b)〜(d)のような手法では、合体後の画像に無駄な領域は発生しないが、隣接した画像の境界の中に連続している境界と不連続な境界が混在する。 In recent years, with the development of VR (Virtual Reality) technology, a use case has been created in which a 360 ° image is captured by a plurality of cameras and the captured image is compressed and encoded. As a method of photographing a 360 ° image, there is a method of photographing images in each direction of up, down, left, right, front and back with six cameras and synthesizing them (Non-Patent Document 1). The images captured in this way are compressed and encoded by rearranging the six captured images and synthesizing them into one image. Regarding the rearrangement, the method of arranging the dice so as to unfold as shown in FIG. 9A, and the method of arranging the dice so as to expand the dice, and further making the image rectangular so that the area of the combined image is minimized as shown in FIGS. A method of rearranging is being studied (Non-Patent Document 2). In the method as shown in FIG. 9A, the boundaries of adjacent images such as left and front, front and right are always continuous, but useless areas are generated at the four corners of the combined image. On the other hand, in the methods shown in FIGS. 9 (b) to 9 (d), no wasted area is generated in the combined image, but continuous and discontinuous boundaries are formed in the boundaries of adjacent images. Mixed.
前述のデブロッキングフィルタやサンプルアダプティブオフセットに代表されるインループフィルタを用いることは符号化効率の観点から有効であると考えられている。また、前述の図9(b)〜(d)のように複数のカメラで撮影して合成された画像、すなわち画像の境界の中に連続している境界と不連続な境界が混在する画像を符号化する場合、各カメラで撮影された画像をタイルに対応づけて符号化するのが自然である。しかしながらHEVCに代表される既存の手法では、画像内の全てのタイル境界に対して一様にインループフィルタ処理を適用するか否かしか選択することができない。すなわち、連続したタイル境界、不連続なタイル境界の区別なくインループフィルタを適用するか否かしか選択することができない。その場合、不連続なタイル境界を優先してインループフィルタの不適用を選択すると、本来インループフィルタ処理によって画質向上が期待できる連続したタイル境界に対してインループフィルタを適用することができない。一方、連続したタイル境界を優先してインループフィルタの適用を選択すると、不連続なタイル境界に対してインループフィルタを適用することになり、不連続なタイル境界周辺に不必要な画質劣化を生じさせてしまう。したがって、本発明は上述した課題を解決するためになされたものであり、タイル境界の連続性を考慮して、適応的にタイル境界のインループフィルタ処理を適用できるようにすることを目的としている。 It is considered effective from the viewpoint of coding efficiency to use an in-loop filter represented by the above-mentioned deblocking filter and sample adaptive offset. Further, as shown in FIGS. 9 (b) to 9 (d) described above, an image taken by a plurality of cameras and combined, that is, an image in which continuous boundaries and discontinuous boundaries are mixed in the boundary of the image is displayed. When encoding, it is natural to encode the image taken by each camera in association with the tile. However, in the existing method represented by HEVC, it is only possible to select whether or not to apply the in-loop filtering uniformly to all the tile boundaries in the image. That is, it is only possible to select whether or not to apply the in-loop filter without distinguishing between continuous tile boundaries and discontinuous tile boundaries. In that case, if the non-application of the in-loop filter is selected with priority given to the discontinuous tile boundary, the in-loop filter cannot be applied to the continuous tile boundary where the image quality can be originally expected to be improved by the in-loop filter processing. On the other hand, if you choose to apply the in-loop filter with priority given to continuous tile boundaries, the in-loop filter will be applied to the discontinuous tile boundaries, causing unnecessary image quality degradation around the discontinuous tile boundaries. It will cause it. Therefore, the present invention has been made to solve the above-mentioned problems, and an object of the present invention is to enable the in-loop filtering of tile boundaries to be applied adaptively in consideration of the continuity of tile boundaries. ..
前述の問題点を解決するため、本発明の符号化装置は以下の構成を有する。すなわち、複数のタイルを有する画像を符号化するための符号化装置において、前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、前記決定手段による決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも2つに対して符号化する符号化手段と、を有することを特徴とする。 In order to solve the above-mentioned problems, the coding apparatus of the present invention has the following configuration. That is, in a coding device for coding an image having a plurality of tiles, it is determined whether or not to filter pixels adjacent to the boundary with respect to the plurality of boundaries composed of the plurality of tiles. A determination means and a coding means that encodes control information indicating whether or not to filter pixels adjacent to a boundary based on the determination by the determination means with respect to at least two of the plurality of boundaries. It is characterized by having.
さらに、本発明の復号装置は以下の構成を有する。すなわち、複数のタイルを有する画像をビットストリームから復号するための復号装置において、画像を復号する復号手段と、前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成手段と、前記生成手段によって生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタリング処理するか否かを決定する決定手段と、前記決定手段によってフィルタリング処理すると決定された境界に対してフィルタリング処理する処理手段とを有することを特徴とする。 Further, the decoding device of the present invention has the following configuration. That is, in a decoding device for decoding an image having a plurality of tiles from a bit stream, a decoding means for decoding the image and a pixel adjacent to the boundary with respect to the plurality of boundaries composed of the plurality of tiles. Based on the generation means that generates control information indicating whether or not to perform filtering from the bitstream and the control information generated by the generation means, it is determined whether or not to perform filtering processing on pixels adjacent to at least a plurality of boundaries. It is characterized by having a determination means for filtering and a processing means for filtering the boundary determined to be filtered by the determination means.
タイル境界ごとにインループフィルタ処理を適用するか否かを適応的に選択することができるようになる。 It becomes possible to adaptively select whether or not to apply in-loop filtering for each tile boundary.
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。 Hereinafter, the present invention will be described in detail with reference to the accompanying drawings, based on its preferred embodiments. The configuration shown in the following embodiments is only an example, and the present invention is not limited to the illustrated configuration.
以下、本発明の符号化側の実施形態を、図面を用いて説明する。本実施形態では特に図9(b)に示された画像を入力して符号化する場合について説明する。 Hereinafter, embodiments of the coding side of the present invention will be described with reference to the drawings. In this embodiment, a case where the image shown in FIG. 9B is input and encoded will be described in particular.
図1は本実施形態の画像符号化装置を示すブロック図である。図1の各ブロックは、全てハードウェアとして構成されてもよいし、一部または全てのブロックがソフトウエアによって構成されてもよい。 FIG. 1 is a block diagram showing an image coding apparatus of this embodiment. Each block in FIG. 1 may be configured entirely as hardware, or some or all blocks may be configured by software.
図1において、端子101は画像データを入力する端子である。
In FIG. 1, the
タイル分割部102は、入力画像のタイル分割方法を決定し、分割する処理を行う。
The tile dividing
フィルタ制御情報生成部103は、各タイル境界の画素に対して後述のインループフィルタ処理を行うか否かについての情報である、フィルタ制御情報を生成し、出力する。
The filter control
予測部104は、ブロック単位の画像データに対し、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、入力された画像データと前記予測画像データから予測誤差を算出し、出力する。また、予測に必要な情報、例えば予測モード等の情報も予測誤差と併せて出力される。以下ではこの予測に必要な情報を予測情報と呼称する。
The
変換・量子化部105は、前記予測誤差をブロック単位で直交変換して変換係数を得、さらに量子化を行い、量子化係数を得る。
The conversion /
逆量子化・逆変換部106は、変換・量子化部105から出力された量子化係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
The inverse quantization /
フレームメモリ108は、再生された画像データを格納しておくメモリである。
The
画像再生部107は、予測部104から出力された予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成し、生成された予測画像データと入力された予測誤差とから再生画像データを生成し、出力する。
Based on the prediction information output from the
インループフィルタ部109は、再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
The in-
符号化部110は、変換・量子化部105から出力された量子化係数および予測部104から出力された予測情報を符号化して、符号データを生成し出力する。
The
統合符号化部111は、タイル分割部102やフィルタ制御情報生成部103からの出力を符号化して、ヘッダに格納するヘッダ符号データを生成する。生成されたヘッダ符号データは、符号化部110から出力された符号データととともに、ビットストリームを形成して出力する。 端子112は、統合符号化部111で生成されたビットストリームを外部に出力する端子である。
The
図1に示す画像符号化装置における画像の符号化処理を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、1フレーム分の静止画像データを入力する構成としても構わない。 The image coding process in the image coding apparatus shown in FIG. 1 will be described below. In the present embodiment, the moving image data is input in frame units, but the still image data for one frame may be input.
端子101から入力された1フレーム分の画像データはタイル分割部102に入力される。端子101において入力される画像データはN枚(N≧3)の画像を並び替えて合成された1フレーム分の画像データとする。N枚(N≧3)の画像の配置は回転した画像の配置も含むものとする。本実施の形態では、何枚分の画像がどのように配置されて合成されているかを示す情報を取得してもよい。
The image data for one frame input from the terminal 101 is input to the
タイル分割部102は、入力画像のタイル分割方法を決定し、決定した分割方法に基づいて入力された画像データをタイル単位に分割して予測部104に出力する。すなわち、
また、決定したタイル分割方法をタイル分割情報としてフィルタ制御情報生成部103および統合符号化部111に出力する。タイル分割の決定方法は特に限定されず、入力された画像の特性を用いても良いし、上記のように何枚分の画像がどのように配置されて合成されているかを示す情報を用いても良いし、ユーザからの入力によって決定しても良い。
本実施の形態では、入力された1フレーム分の画像データは、合成されたN枚の画像の境界に沿って分割され、N個(N≧3)のタイルによってM個(M≧2)のタイルの境界を有する画像データが構成されるものとして説明する。例えば、図9(b)に示されたような画像の符号化を行う場合、前・右・後・下・左・上のそれぞれの画像を個別のタイルに対応付ける、すなわち6つのタイルから構成される画像を符号化する、といった具合である。
The
Further, the determined tile division method is output as tile division information to the filter control
In the present embodiment, the input image data for one frame is divided along the boundary of the combined N images, and M (M ≧ 2) tiles are formed by N tiles (N ≧ 3). It will be described as assuming that the image data having the boundary of the tile is composed. For example, when coding an image as shown in FIG. 9B, each image of front, right, rear, bottom, left, and top is associated with an individual tile, that is, it is composed of six tiles. The image is encoded, and so on.
次に、フィルタ制御情報生成部103は、各タイル境界に対してインループフィルタ処理を行うか否かを決定し、その情報をフィルタ制御情報として、インループフィルタ部109および統合符号化部111に出力する。フィルタ制御情報の決定方法は特に限定されず、入力された画像の特性を用いても良いし、ユーザからの入力によって決定しても良い。また、フィルタ制御情報生成部103は、外部から入力されたまたは内部で算出されたタイル分割状態に関する情報および各タイル境界の連続性に関する情報に基づいて決定しても構わない。例えば、図9(b)に示されたような画像の符号化を行う場合、タイル分割部102によって6つのタイルから構成される画像を符号化することが決定される。この場合、画像の上部に存在している2つの垂直方向のタイル境界(「前」と「右」の間、「右」と「後」の間)および画像の左部に存在している1つの水平方向のタイル境界(「前」と「下」の間)は画素値が連続している。一方でそれ以外の4つのタイル境界においては画素が連続していないことになる。その場合、フィルタ制御情報生成部103は、画素が連続している3つのタイル境界についてはインループフィルタ処理を行い、残りの4つの不連続なタイル境界についてはインループフィルタ処理を行わないことを示す情報をフィルタ制御情報として出力する。
Next, the filter control
統合符号化部111では、タイル分割情報やフィルタ制御情報を符号化し、それぞれタイル分割情報符号およびフィルタ制御情報符号を生成する。符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
The
予測部104は、タイル分割部102から入力されたタイル単位の画像データを複数のブロックに分割し、ブロック単位の予測処理が実行される。予測処理の結果、予測誤差が生成され、変換・量子化部105に入力される。また、予測部104は予測情報を生成し、符号化部110および画像再生部107に出力する。
The
変換・量子化部105は、入力された予測誤差に直交変換・量子化を行い、量子化係数を生成する。生成された量子化係数は符号化部110および逆量子化・逆変換部106に入力される。
The conversion /
逆量子化・逆変換部106は、入力された量子化係数を逆量子化して変換係数を再生し、さらに再生された変換係数を逆直交変換して予測誤差を再生し、画像再生部107に出力する。
The inverse quantization /
画像再生部107は、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像を再生する。そして再生された予測画像と逆量子化・逆変換部106から入力された再生された予測誤差から画像データを再生し、フレームメモリ108に入力し、格納する。
The
インループフィルタ部109は、フレームメモリ108から再生画像を読み出し、フィルタ対象のブロック位置およびフィルタ制御情報103から入力されたフィルタ制御情報に基づいて、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像を再びフレームメモリ108に入力し、再格納する。このフィルタ処理された画像は予測部104におけるインター予測などに用いられる。
The in-
本実施形態でのインループフィルタ処理について、図3を用いて説明する。フィルタ対象のブロックの位置およびフィルタ制御情報に基づいて、下記のいずれかのフィルタ処理を行う。ここではタイル境界におけるフィルタ処理についてのみ説明するが、タイル境界以外の画素位置におけるフィルタ処理は、既存の画像符号化方式に基づいて実施されるものとする。また、ここでは説明を容易にするため、ブロックサイズを4×4ブロックとするが、これに限定されない。 The in-loop filter processing in this embodiment will be described with reference to FIG. One of the following filtering processes is performed based on the position of the block to be filtered and the filter control information. Here, only the filter processing at the tile boundary will be described, but the filter processing at the pixel positions other than the tile boundary shall be performed based on the existing image coding method. Further, in order to facilitate the explanation here, the block size is set to 4 × 4 blocks, but the present invention is not limited to this.
図3(a)は2つの4×4ブロックの境界をまたいでデブロッキングフィルタ処理を行う場合の一例である。外枠300の内部には、4×4画素の2つのブロックが存在し、角丸長方形301に囲まれた各ブロックのタイル境界に隣接する3画素、合計6画素に対してフィルタ処理が実行されるものとする。図3(a)に示す左側のブロックはタイル0に属しており、右側のブロックはタイル1に属している。すなわち左右のブロックは異なるタイルに属しているブロックであり、左右のブロックの境界はタイルの境界でもある。このタイル境界は図9(b)の上部(例えば「前」と「右」の間)などでみられるような画素値が連続したタイル境界であるものとする。この場合、フィルタ制御情報生成部103からは画素が連続したタイル境界にはインループ処理を行うことを示すフィルタ制御情報が入力されるため、○の記号で示された6画素全てがフィルタ処理の対象となり、6画素全てに対しフィルタ処理が行われる。
FIG. 3A is an example of a deblocking filter process straddling the boundary between two 4 × 4 blocks. Inside the
一方、図3(b)は図3(a)と異なり、左右のタイルの境界は、図9(b)の下部(例えば「左」と「上」の間)などでみられるような画素値が不連続なタイル境界であるものとする。この場合、フィルタ制御情報生成部103からは画素が不連続なタイル境界にはインループ処理を行わないことを示すフィルタ制御情報が入力されるため、×の記号で示された6画素全てがフィルタ処理の対象とならない。よって、この6画素に対してはフィルタ処理が行われない。
On the other hand, FIG. 3B is different from FIG. 3A, and the boundary between the left and right tiles is a pixel value as seen in the lower part of FIG. 9B (for example, between “left” and “top”). Suppose that is a discontinuous tile boundary. In this case, since the filter control
本実施形態ではデブロッキングフィルタについて言及したが、アダプティブループフィルタやサンプルアダプティブオフセットといった他のインループフィルタ処理についても同様の制御を行っても構わない。また、本実施形では左右のブロック間のフィルタ処理について説明したが、上下のブロック間においても同様の処理が行われる。さらには、各ブロック3画素がフィルタリング処理される例を示したが、処理される画素数はこれに限定されない。例えば、左側のブロックは3画素、右側のブロックは2画素など、それぞれのブロックで処理対象となる画素数が異なる非対称なフィルタリング処理を行うことも可能である。 Although the deblocking filter has been mentioned in the present embodiment, the same control may be performed for other in-loop filter processing such as the adaptive loop filter and the sample adaptive offset. Further, in the present embodiment, the filter processing between the left and right blocks has been described, but the same processing is performed between the upper and lower blocks. Further, although an example in which 3 pixels of each block are filtered is shown, the number of pixels to be processed is not limited to this. For example, it is possible to perform asymmetric filtering processing in which the number of pixels to be processed differs in each block, such as 3 pixels for the left block and 2 pixels for the right block.
図1に戻り、符号化部110では、ブロック単位で、変換・量子化部105で生成された量子化係数、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部111に出力される。
Returning to FIG. 1, the
統合符号化部111では、符号化処理に先駆けて生成されたタイル分割情報符号やフィルタ制御情報符号、符号化部で生成された符号データなどを多重化してビットストリームが形成される。最終的に、端子112から外部に出力される。
In the
図6(a)に符号化されたタイル分割情報およびフィルタ制御情報を含んだビットストリームの例を示す。タイル分割情報はタイル分割情報符号として、フィルタ制御情報はフィルタ制御情報符号としてシーケンス、ピクチャ等のヘッダのいずれかに含まれる。本実施形態では図6(a)に示されるようにピクチャのヘッダ部分に含まれるものとする。図10(a)はこれらの符号を含んだピクチャのヘッダ部分のシンタックスの構成の一例を表す図である。tiles_enabled_flagはタイル分割の有無を示す符号であり、本実施形態では図9(b)に示す画像を入力し、6つのタイルに分割する場合について説明しているので、この値は1となる。entoropy_coding_sync_enabled_flagは本実施形態とは関係しないため説明を省略する。num_tile_columns_minus1は水平方向のタイル数から1を減じた値を示している。本実施形態では水平方向に3つのタイルが存在しているので、この値は2となる。一方、num_tile_rows_minus1は垂直方向のタイル数から1を減じた値を示している。本実施形態では垂直方向に2つのタイルが存在しているので、この値は1となる。uniform_spacing_flagは各タイルのサイズ(垂直・水平方向の画素数)が一致しているか否かを示す符号であり、本実施形態では全てのタイルのサイズが一致しているため、この値は1となる。なお、この値が0の時、すなわち全てのタイルサイズが一致していない場合は、それぞれのタイルの横・縦のサイズを示すcolumn_width_minus1およびrow_height_minus1を符号化するが、本実施形態では説明を省略する。loop_filter_aross_tiles_enabled_flagはタイル境界のインループフィルタ処理を可能にするか否かを示す符号であるが、本実施形態では一部の境界でインループフィルタ処理を可能とするので、この値を1とする。 FIG. 6A shows an example of a bit stream including encoded tile division information and filter control information. The tile division information is included as a tile division information code, and the filter control information is included as a filter control information code in any of the headers such as sequences and pictures. In the present embodiment, as shown in FIG. 6A, it is included in the header portion of the picture. FIG. 10A is a diagram showing an example of the syntax configuration of the header portion of the picture including these codes. tiles_enable_flag is a code indicating the presence or absence of tile division, and in the present embodiment, the case where the image shown in FIG. 9B is input and divided into 6 tiles is described, so this value is 1. Since entry_coding_sync_enable_flag is not related to this embodiment, the description thereof will be omitted. number_tile_columns_minus1 indicates the value obtained by subtracting 1 from the number of tiles in the horizontal direction. In this embodiment, there are three tiles in the horizontal direction, so this value is 2. On the other hand, number_tile_rows_minus1 indicates the value obtained by subtracting 1 from the number of tiles in the vertical direction. In this embodiment, since there are two tiles in the vertical direction, this value is 1. uniform_spacing_flag is a code indicating whether or not the sizes of the tiles (the number of pixels in the vertical and horizontal directions) match, and in this embodiment, the sizes of all the tiles match, so this value is 1. .. When this value is 0, that is, when all the tile sizes do not match, the volumes_wise_minus1 and low_height_minus1 indicating the horizontal and vertical sizes of the tiles are encoded, but the description thereof will be omitted in the present embodiment. .. loop_filter_aross_tiles_enabled_flag is a code indicating whether or not in-loop filtering of tile boundaries is possible, but in the present embodiment, in-loop filtering is possible at some boundaries, so this value is set to 1.
以下のシンタックスは上記loop_filter_across_tiles_enabled_flagが1の時のみ符号化する。loop_filter_across_tiles_control_flagはそれぞれのタイル境界に対して、インループフィルタ処理を行うか否かを示す情報を個別に符号化するか否かを示す符号である。本実施形態では個別にインループフィルタ処理の可否を設定する必要があるため、この値を1とする。 The following syntax is encoded only when the loop_filter_acloss_tiles_enabled_flag is 1. The loop_filter_accross_tiles_control_flag is a code indicating whether or not to individually encode the information indicating whether or not the in-loop filter processing is performed for each tile boundary. In this embodiment, it is necessary to individually set whether or not in-loop filter processing is possible, so this value is set to 1.
さらに以下のシンタックスは上記loop_filter_across_tiles_control_flagが1の時のみ符号化する。loop_filter_across_bottom_tile_boundary_enabled_flagは当該タイルの下側のタイル境界に対しインループフィルタ処理を行うか否かを示す符号である。本実施形態では、下側にタイル境界を有したタイルは上側の行の3つ(前、右、後)存在しているため、この符号は3回符号化される。すなわち、loop_filter_across_bottom_tile_boundary_enabled_flagは上下の2つのタイル間によって構成される境界ごとに符号化される。「前」のタイルの下側のタイル境界は連続した境界であるため、1つ目のこの値はインループフィルタ処理を行うことを示す1となる。一方で、「右」および「後」のタイルの下側のタイル境界は不連続な境界であるため、2つ目および3つ目のこの値はインループフィルタ処理を行わないことを示す0となる。なお、下側の行の3つ(下、左、上)のタイルについては、loop_filter_across_bottom_tile_boundary_enabled_flagは符号化されない。次にloop_filter_across_right_tile_boundary_enabled_flagは当該タイルの右側のタイル境界に対しインループフィルタ処理を行うか否かを示す符号である。すなわち、loop_filter_across_right_tile_boundary_enabled_flagは、左右の2つのタイル間によって構成される境界ごとに符号化される。本実施形態では、右側にタイル境界を有したタイルは4つ(前、右、下、左)存在しているため、この符号は4回符号化される。「前」および「右」のタイルの右側のタイル境界は連続した境界であるため、1つ目および2つ目のこの値はインループフィルタ処理を行うことを示す1となる。一方で、「下」および「左」のタイルの右側のタイル境界は不連続な境界であるため、3つ目および4つ目のこの値はインループフィルタ処理を行わないことを示す0となる。なお、最も右側の列に存在するタイル(後、上)については、loop_filter_across_right_tile_boundary_enabled_flagは符号化されない。すなわち、loop_filter_across_bottom_tile_boundary_enabled_flagは、画像の内部のタイル境界について符号化される。同様にloop_filter_across_right_tile_boundary_enabled_flagは、画像の内部のタイル境界について符号化される。そして、画像の外周を構成するタイルの境界については符号化されない。 Furthermore, the following syntax is encoded only when the loop_filter_acloss_tiles_control_flag is 1. loop_filter_accross_bottom_tile_bound_enable_flag is a code indicating whether or not in-loop filtering is performed on the tile boundary below the tile. In the present embodiment, since there are three tiles having a tile boundary on the lower side (front, right, and back) in the upper row, this code is encoded three times. That is, loop_filter_accross_bottom_tile_bound_enable_flag is encoded for each boundary composed between the upper and lower tiles. Since the tile boundary below the "previous" tile is a continuous boundary, the first value of this is 1 indicating that in-loop filtering is to be performed. On the other hand, the tile boundaries below the "right" and "rear" tiles are discontinuous boundaries, so the second and third values are 0, which indicates no in-loop filtering. Become. Note that loop_filter_accross_bottom_tile_boundary_enable_flag is not encoded for the three tiles (bottom, left, top) in the lower row. Next, loop_filter_accross_right_tile_bound_enable_flag is a code indicating whether or not in-loop filtering is performed on the tile boundary on the right side of the tile. That is, loop_filter_accross_right_tile_bound_enable_flag is encoded for each boundary composed between the two left and right tiles. In the present embodiment, since there are four tiles (front, right, bottom, left) having a tile boundary on the right side, this code is encoded four times. Since the tile boundaries to the right of the "front" and "right" tiles are continuous boundaries, the first and second values are 1 indicating that in-loop filtering is to be performed. On the other hand, the tile boundaries to the right of the "bottom" and "left" tiles are discontinuous boundaries, so this third and fourth value is 0, which indicates no in-loop filtering. .. Note that loop_filter_acloss_right_tile_boundary_enable_flag is not encoded for the tiles (back, top) that exist in the rightmost column. That is, loop_filter_accross_bottom_tile_bound_enable_flag is encoded for the tile boundaries inside the image. Similarly, loop_filter_accross_right_tile_bound_enable_flag is encoded for the tile boundaries inside the image. Then, the boundaries of the tiles that form the outer circumference of the image are not encoded.
図4は、本実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。 FIG. 4 is a flowchart showing a coding process in the image coding apparatus according to the present embodiment.
まず、ステップS401にて、タイル分割部102は、入力画像のタイル分割方法を決定し、決定した分割方法に基づいて入力された画像データをタイル単位に分割する。また決定したタイル分割方法をタイル分割情報とし、タイル分割情報は統合符号化部111によって符号化される。
First, in step S401, the
ステップS402にて、フィルタ制御情報生成部103は各タイル境界の画素に対して、インループフィルタ処理を行うか否かを決定し、その情報をフィルタ制御情報とし、フィルタ制御情報も統合符号化部111によって符号化される。
In step S402, the filter control
ステップS403にて、予測部104は、入力されたタイル単位の画像データを複数のブロックに切り出し、ブロック単位でイントラ予測ないしはインター予測を行い、予測情報および予測画像データを生成する。さらに入力された画像データと前記予測画像データから予測誤差を算出する。
In step S403, the
ステップS404にて、変換・量子化部105は、ステップS403で算出された予測誤差を直交変換して変換係数を生成し、さらに量子化を行い、量子化係数を生成する。
In step S404, the conversion /
ステップS405にて、逆量子化・逆変換部106は、ステップS404で生成された量子化係数を逆量子化・逆直交変換し、予測誤差を再生する。
In step S405, the inverse quantization /
ステップS406にて、画像再生部107はステップS403で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS405で生成された予測誤差とから画像データを再生する。
In step S406, the
ステップS407にて、符号化部110は、ステップS403で生成された予測情報およびステップS404で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
In step S407, the
ステップS408にて、画像符号化装置は、タイル内の全てのブロックの符号化が終了したか否かの判定を行い、終了していればステップS409に進み、そうでなければ次のブロックを対象として、ステップS403に戻る。 In step S408, the image coding apparatus determines whether or not the coding of all the blocks in the tile is completed, and if it is completed, proceeds to step S409, and if not, targets the next block. Then, the process returns to step S403.
ステップS409にて、画像符号化装置は、フレーム内の全てのタイルの符号化が終了したか否かの判定を行い、終了していればステップS410に進み、そうでなければ次のタイルを対象として、ステップS403に戻る。 In step S409, the image coding apparatus determines whether or not all the tiles in the frame have been coded, and if so, proceeds to step S410, and if not, targets the next tile. Then, the process returns to step S403.
ステップS410にて、インループフィルタ部109はステップS406で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
In step S410, the in-
図5はステップS410におけるインループフィルタ処理の詳細を示すフローチャートである。 FIG. 5 is a flowchart showing the details of the in-loop filter processing in step S410.
まず、ステップS501にて、インループフィルタ部109はインループフィルタ対象の画素の位置から、対象画素がタイル境界に存在するか否かを判定する。タイル境界に存在していると判定されればS502に進み、そうでなければS503に進む。S501において、タイル境界に存在する、という意味は、画像内部のタイル境界に存在する、ということを指す。
First, in step S501, the in-
ステップS502にて、インループフィルタ部109は、タイル境界に存在する対象画素がフィルタリングの対象となるか否かをステップS402で生成されたフィルタ制御情報に基づいて判定する。フィルタリングをすると判定されればS503に進み、そうでなければS504に進む。
In step S502, the in-
ステップS503にて、インループフィルタ部109は、対象画素に対してインループフィルタ処理を行う。
In step S503, the in-
ステップS504にて、インループフィルタ部109は、全ての画素のインループフィルタ処理が終了したか否かの判定を行い、終了していればステップS505に進み、そうでなければ次の画素を対象として、ステップS501に戻る。
In step S504, the in-
ステップS505にて、インループフィルタ部109は、全ての種類のインループフィルタ処理が終了したか否かの判定を行う。終了していれば、インループフィルタ処理を終了し、そうでなければ次の種類のインループフィルタ処理を対象としてステップS501に戻る。
In step S505, the in-
例えば、HEVCにおいては、デブロッキングフィルタ、サンプルアダプティブオフセットといった2つのインループフィルタ処理が定義されているが、それらの切り替えを本ステップで実行する。具体的には、まずは全画素を対象としたデブロッキングフィルタ処理を実施し、その後サンプルアダプティブオフセット処理へ切り替えてステップS501に戻る。また、サンプルアダプティブオフセット処理も終了した場合はインループフィルタ処理を終了する。本実施形態ではHEVC同様のデブロッキングフィルタ・サンプルアダプティブオフセットといった2つのインループフィルタ処理を実行するものとしているが、他のインループフィルタ処理(例えばアダプティブループフィルタなど)を実行しても構わない。またインループフィルタ処理の順序はこれらに限定されない。 For example, in HEVC, two in-loop filter processes such as a deblocking filter and a sample adaptive offset are defined, and switching between them is executed in this step. Specifically, first, a deblocking filter process for all pixels is performed, and then the process is switched to the sample adaptive offset process to return to step S501. When the sample adaptive offset processing is also completed, the in-loop filter processing is terminated. In the present embodiment, two in-loop filter processes such as a deblocking filter and a sample adaptive offset similar to HEVC are executed, but other in-loop filter processes (for example, an adaptive loop filter) may be executed. The order of in-loop filtering is not limited to these.
以上の構成と動作により、特にステップS410において、タイル境界ごとにインループフィルタ処理の適用可否を制御可能にしたことで、タイル境界の連続性に応じてタイル境界にインループフィルタ処理を適用するか否かを選択することができる。結果として、画素が連続したタイル境界においては、インループフィルタ処理を適用し、画素が不連続のタイル境界においてはインループフィルタ処理を適用しないことができるようになるため、画質を向上させることができる。 With the above configuration and operation, it is possible to control the applicability of the in-loop filter processing for each tile boundary, especially in step S410, so that the in-loop filter processing is applied to the tile boundary according to the continuity of the tile boundary. You can choose whether or not. As a result, the in-loop filter processing can be applied at the tile boundary where the pixels are continuous, and the in-loop filter processing cannot be applied at the tile boundary where the pixels are discontinuous, so that the image quality can be improved. it can.
なお、本実施形態では図6(a)に示すように、タイル分割情報およびフィルタ制御情報をピクチャヘッダ部分で符号化するものとしたが、符号化される位置はこれに限定されない。図6(b)に示されるように画像のシーケンスヘッダ部分で符号化されても良いし、他の位置で符号化されても構わない。 In the present embodiment, as shown in FIG. 6A, the tile division information and the filter control information are encoded in the picture header portion, but the encoded position is not limited to this. As shown in FIG. 6B, it may be encoded at the sequence header portion of the image, or it may be encoded at another position.
なお、本実施形態では図10(a)に示されるようなシンタックスの構成を持つビットストリームを符号化するものとしたが、ビットストリームの構成はこれに限定されない。例えば、図10(b)のようなシンタックスの構成を持つことも可能である。図10(a)は各タイル境界に対して、フィルタ制御情報を符号化していたが、図10(b)は全ての水平方向のタイル境界、そして垂直方向のタイル境界に対してそれぞれ共通のフィルタ制御情報を符号化する場合の例を示している。loop_filter_across_horizontal_tile_boundary_enabled_flagは画像内の全ての垂直方向のタイル境界に対しインループフィルタ処理を行うか否かを示すフラグである。すなわち、loop_filter_across_horizontal_tile_boundary_enabled_flagは、水平方向の複数のタイル境界に共通の水平方向制御情報である。また、loop_filter_across_vertical_tile_boundary_enabled_flagは画像内の全ての水平方向のタイル境界に対しインループフィルタを行うか否かを示すフラグである。すなわち、loop_filter_across_vertical_tile_boundary_enabled_flagは、垂直方向の複数のタイル境界に共通の垂直方向制御情報である。例えば、図9(d)に示される画像が入力された場合、前者(…horizontal…flag)を1とし、後者(…vertical…flag)を0とすることで、より少ない符号量でタイル境界に対するフィルタリング制御を実現することができる。すなわち、図10(b)のシンタックス構成を有するフラグは、ある方向(水平方向あるいは垂直方向)に対して複数のタイルが配置された画像の場合、それぞれのタイルの境界におけるインループフィルタ処理の適用可否が同じ場合に効果的である。また、図10(a)、(b)の変形例として、タイル境界の水平あるいは垂直のうちの一方向を図10(b)のフラグを用いてインループフィルタ処理の適用可否を設定してもよい。そして、その他の方向を図(a)のようにそれぞれのタイル境界ごとにフラグを割り当ててインループフィルタ処理の適用可否を設定してもよい。 In the present embodiment, a bitstream having a syntax structure as shown in FIG. 10A is encoded, but the bitstream structure is not limited to this. For example, it is possible to have a syntax configuration as shown in FIG. 10 (b). FIG. 10 (a) encodes the filter control information for each tile boundary, whereas FIG. 10 (b) shows a filter common to all horizontal tile boundaries and vertical tile boundaries. An example of encoding the control information is shown. loop_filter_accross_horizontal_tile_boundary_enable_flag is a flag indicating whether or not in-loop filtering is performed on all vertical tile boundaries in the image. That is, loop_filter_accross_horizontal_tile_boundary_enable_flag is horizontal control information common to a plurality of horizontal tile boundaries. Further, loop_filter_accross_vertical_tile_bound_enable_flag is a flag indicating whether or not to perform an in-loop filter on all horizontal tile boundaries in the image. That is, loop_filter_accross_vertical_tile_bound_enable_flag is vertical control information common to a plurality of vertical tile boundaries. For example, when the image shown in FIG. 9D is input, the former (... horizontal ... flag) is set to 1 and the latter (... vertical ... flag) is set to 0, so that the amount of code is smaller than that of the tile boundary. Filtering control can be realized. That is, in the case of an image in which a plurality of tiles are arranged in a certain direction (horizontal direction or vertical direction), the flag having the syntax configuration of FIG. 10B is an in-loop filter processing at the boundary of each tile. It is effective when the applicability is the same. Further, as a modification of FIGS. 10 (a) and 10 (b), the applicability of the in-loop filter processing may be set by using the flag of FIG. 10 (b) in one of the horizontal and vertical directions of the tile boundary. Good. Then, as shown in FIG. 3A, a flag may be assigned to each tile boundary in other directions to set whether or not the in-loop filter processing can be applied.
また、図10(c)のようなシンタックス構成を持つことも可能である。図10(c)はloop_filter_across_tiles_control_idcをフィルタ制御情報として符号化することを特徴としている。loop_filter_across_tiles_control_idcは特定のタイルの配置方法に対応したインデックスを示している。例えばフィルタ制御情報として、「1」を図9(b)、「2」を図9(c)、「3」を図9(d)などと対応付けるインデックスが符号化される。図10(c)のシンタックス構成は、1フレームの画像を構成するために合成される6つの画像の配置が、例えば図9(b)〜(d)のように、いくつかの形式に定められる場合に有効である。図10(c)のシンタックス構成の場合、画像復号装置は、各インデックスに対応する図9(b)〜(d)の配置における、各タイルの境界についてのインループフィルタ処理の適用可否を把握しておく必要がある。これにより、複数のタイル配置方法にも対応しつつ、より少ない符号量でタイル境界に対するフィルタリング制御を実現することができる。 It is also possible to have a syntax configuration as shown in FIG. 10 (c). FIG. 10C is characterized in that loop_filter_acloss_tiles_control_idc is encoded as filter control information. loop_filter_accross_tiles_control_idc indicates an index corresponding to a specific tile arrangement method. For example, as filter control information, an index that associates "1" with FIG. 9 (b), "2" with FIG. 9 (c), "3" with FIG. 9 (d), and the like is encoded. In the syntax configuration of FIG. 10 (c), the arrangement of the six images combined to compose the one-frame image is defined in several formats, for example, FIGS. 9 (b) to 9 (d). It is effective when it is possible. In the case of the syntax configuration of FIG. 10 (c), the image decoding apparatus grasps whether or not the in-loop filter processing can be applied to the boundary of each tile in the arrangement of FIGS. 9 (b) to 9 (d) corresponding to each index. It is necessary to do it. As a result, it is possible to realize filtering control for the tile boundary with a smaller amount of code while supporting a plurality of tile arrangement methods.
また、本実施形態では矩形状のタイルの境界に対するフィルタリングを制御するものとしたが、制御の対象はこれに限定されない。矩形以外の形状をとることもできるスライスの境界に対するフィルタリングを同様に制御することも可能であるし、タイルやスライス以外の新しい処理単位に対して適用することも可能である。 Further, in the present embodiment, filtering for the boundary of the rectangular tile is controlled, but the control target is not limited to this. Filtering for slice boundaries that can take shapes other than rectangles can be controlled in the same way, and can be applied to new processing units other than tiles and slices.
また、本実施形態では既存のHEVCに基づいてタイルは矩形状であることを前提としていたが、タイルおよび他の処理単位が三角形など他の形状をとることとなっても適用することは可能である。 Further, in the present embodiment, it is assumed that the tile has a rectangular shape based on the existing HEVC, but it can be applied even if the tile and other processing units take other shapes such as a triangle. is there.
図2は、本発明の実施形態に係る画像復号装置の構成を示すブロック図である。本実施形態では、画像符号化装置において生成された符号化データの復号処理について説明する。図2の各ブロックは、全てハードウェアとして構成されてもよいし、一部または全てのブロックがソフトウエアによって構成されてもよい。 FIG. 2 is a block diagram showing a configuration of an image decoding device according to an embodiment of the present invention. In this embodiment, the decoding process of the coded data generated by the image coding apparatus will be described. Each block in FIG. 2 may be configured entirely as hardware, or some or all blocks may be configured by software.
端子201は符号化されたビットストリームを入力する端子である。分離復号部202は、ビットストリームから復号処理に関する情報、係数に関する符号データに分離し、さらにビットストリームのヘッダ部に存在する符号データを分離し、復号する。本実施形態では、復号処理によってタイル分割情報およびフィルタ制御情報を再生し、後段に出力する。すなわち、分離復号部202は、図1の統合符号化部111と逆の動作を行う。
復号部203は、分離復号部202から出力された符号データを復号し、量子化係数および予測情報を再生する。
The
逆量子化・逆変換部204は、図1の逆量子化・逆変換部106と同様に、ブロック単位で量子化係数を入力し、逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。
Similar to the inverse quantization /
フレームメモリ207少なくとも1フレーム分の画像を記憶するメモリであり、再生されたピクチャの画像データを格納しておく。 Frame memory 207 A memory that stores images for at least one frame, and stores image data of the reproduced picture.
画像再生部205は、図1の画像再生部107と同様に、入力された予測情報に基づいてフレームメモリ207を適宜参照して予測画像データを生成する。そして、この予測画像データと逆量子化・逆変換部204で再生された予測誤差から再生画像データを生成し、出力する。
Similar to the
インループフィルタ部206は、図1のインループフィルタ部109と同様に、再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
Similar to the in-
端子208は、フィルタ処理された画像データを外部に出力する。
図2に示す画像復号装置における画像の復号処理を以下に説明する。本実施形態では、図1の画像符号化装置で生成されたビットストリームを復号する。 The image decoding process in the image decoding apparatus shown in FIG. 2 will be described below. In this embodiment, the bitstream generated by the image coding apparatus of FIG. 1 is decoded.
図2において、端子201から入力されたビットストリームは分離復号部202に入力される。分離復号部202は、ビットストリームから復号処理に関する情報、係数に関する符号データを分離し、さらにビットストリームのヘッダ部に存在する符号データを復号する。具体的には、復号処理によってタイル分割情報およびフィルタ制御情報が再生される。本実施形態では、まず、図6(a)に示されるビットストリームのピクチャヘッダからタイル分割情報の符号およびフィルタ制御情報の符号を抽出して復号する。なお、以下の説明としては、ピクチャヘッダ部分は図10(a)に示されたシンタックス構成を用いているものとする。まず、tiles_enabled_flag符号を復号し、タイル分割が用いられていることを示す1という値を得る。entoropy_coding_sync_enabled_flagは本実施形態とは関係しないため説明を省略する。次にnum_tile_columns_minus1符号を復号し、水平方向に3つのタイルが存在していることを示す2という値を得る。さらにnum_tile_rows_minus1符号を復号し、垂直方向に2つのタイルが存在していることを示す1という値を得る。続いてuniform_spacing_flag符号を復号し、各タイルのサイズ(垂直・水平方向の画素数)が一致していることを示す1いう値を得る。次にloop_filter_aross_tiles_enabled_flag符号を復号し、タイル境界のインループフィルタ処理を可能にすることを示す1という値を得る。
In FIG. 2, the bit stream input from the terminal 201 is input to the separation /
loop_filter_across_tiles_enabled_flagが1であるため、さらにシンタックスの復号を続ける。loop_filter_across_tiles_control_flag符号を復号し、それぞれのタイル境界に対して、インループフィルタ処理を行うことを示す1という値を得る。 Since loop_filter_accross_tiles_enable_flag is 1, the syntax decoding is continued. The loop_filter_accross_tiles_control_flag code is decoded to obtain a value of 1, indicating that in-loop filtering is performed on each tile boundary.
loop_filter_across_tiles_control_flagが1であるため、さらにシンタックスの復号を続ける。loop_filter_across_bottom_tile_boundary_enabled_flag符号を復号し、各タイルの下側のタイル境界に対しインループフィルタ処理を行うか否かを示す情報を得る。本実施形態では、下側にタイル境界を有した3つのタイル(前、右、後)に対して、それぞれ1、0、0という値を情報として得る。次にloop_filter_across_right_tile_boundary_enabled_flag符号を復号し、各タイルの右側のタイル境界に対しインループフィルタ処理を行うか否かを示す情報を得る。本実施形態では、右側にタイル境界を有したタイルは4つのタイル(前、右、下、左)に対して、それぞれ1、1、0、0という値を情報として得る。このようにして得られたフィルタ制御情報はインループフィルタ部206に出力される。続いて、ピクチャデータのブロック単位の符号データを再生し、復号部203に出力する。
Since loop_filter_accross_tiles_control_flag is 1, the syntax decoding is continued. The loop_filter_accross_bottom_tile_bound_enable_flag code is decoded to obtain information indicating whether or not in-loop filtering is performed on the tile boundary below each tile. In the present embodiment, the
復号部203では、符号データを復号し、量子化係数および予測情報を再生する。再生された量子化係数は逆量子化・逆変換部204に出力され、再生された予測情報は画像再生部205に出力される。
The
逆量子化・逆変換部204は、入力された量子化係数に対し逆量子化を行って直交変換係数を生成し、さらに逆直交変換を施して予測誤差を再生する。再生された予測情報は画像再生部205に出力される。
The inverse quantization /
画像再生部205は、復号部203から入力された予測情報に基づいて、フレームメモリ207を適宜参照し、予測画像を再生する。この予測画像と逆量子化・逆変換部204から入力された予測誤差から画像データを再生し、フレームメモリ207に入力し、格納する。格納された画像データは予測の際の参照に用いられる。
The
インループフィルタ部206は、図1の109同様、フレームメモリ207から再生画像を読み出し、分離復号部202から入力されたフィルタ制御情報に基づき、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、フィルタ処理された画像は再びフレームメモリ207に入力される。本実施形態でのインループフィルタ処理は、図1の画像符号化装置におけるインループフィルタ処理と同一であるため、詳しい説明は省略する。
Similar to 109 in FIG. 1, the in-
インループフィルタ部206にてフィルタ処理された画像は再びフレームメモリ207に格納され、最終的には端子208から外部に出力される。
The image filtered by the in-
図7は、図2の画像復号装置における画像の復号処理を示すフローチャートである。 FIG. 7 is a flowchart showing an image decoding process in the image decoding apparatus of FIG.
まず、ステップS701にて、分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号し、タイル分割情報やフィルタ制御情報を再生する。
First, in step S701, the separation /
ステップS702にて、復号部203は、ステップS701で分離された符号データを復号し、量子化係数および予測情報を再生する。
In step S702, the
ステップS703にて、逆量子化・逆変換部204は、ブロック単位で量子化係数に対し逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。
In step S703, the inverse quantization /
ステップS704にて、画像再生部205は、ステップS702で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS703で生成された予測誤差から画像データを再生する。
In step S704, the
ステップS705にて、画像再生部205あるいは画像復号装置の不図示の制御部は、タイル内の全てのブロックの復号が終了したか否かの判定を行う。終了していればステップS706に進み、そうでなければ次のブロックを対象として、ステップS702に戻る。
In step S705, the
ステップS706にて、画像再生部205あるいは画像復号装置の不図示の制御部は、フレーム内の全てのタイルの符号化が終了したか否かの判定を行う。終了していればステップS707に進み、そうでなければ次のタイルを対象として、ステップS702に戻る。
In step S706, the
ステップS707にて、インループフィルタ部206はステップS704で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
In step S707, the in-
インループフィルタ処理の詳細を示すフローチャートは画像符号化装置における処理を示す図5と同一であるため、説明を省略する。 Since the flowchart showing the details of the in-loop filter processing is the same as FIG. 5 showing the processing in the image coding apparatus, the description thereof will be omitted.
以上の構成と動作により、図1の画像符号化装置において生成された、タイル境界の連続性に応じてタイル境界にインループフィルタ処理を適用するか否かを選択することができるようになったビットストリームを復号することができる。 With the above configuration and operation, it has become possible to select whether or not to apply the in-loop filter processing to the tile boundary according to the continuity of the tile boundary generated in the image coding apparatus of FIG. The bitstream can be decrypted.
なお、本実施形態では、図6(a)に示すように、タイル分割情報およびフィルタ制御情報がピクチャヘッダ部分に含まれているビットストリームを復号するものとしたが、情報の符号化位置はこれに限定されない。図6(b)に示されるように画像のシーケンスヘッダ部分で符号化されていても良いし、他の位置で符号化されていても構わない。 In the present embodiment, as shown in FIG. 6A, the bit stream in which the tile division information and the filter control information are included in the picture header portion is decoded, but the coding position of the information is this. Not limited to. As shown in FIG. 6B, it may be encoded at the sequence header portion of the image, or it may be encoded at another position.
なお、本実施形態では図10(a)に示されるようなシンタックスの構成を持つビットストリームの復号について示したが、復号するビットストリームの構成はこれに限定されない。例えば図10(b)のようなシンタックスの構成を持つビットストリームを復号しても良い。図10(b)は全ての水平方向のタイル境界および垂直方向のタイル境界に対して共通のフィルタ制御情報が符号化されている場合の例を示している。例えば、図9(d)に示される画像が実施形態1の符号化装置で符号化されて生成されたビットストリームを復号する場合、前者(…horizontal…flag)を復号して1という値、後者(…vertical…flag)を復号して0という値を得る。これにより、全ての水平方向のタイル境界に対してインループフィルタ処理を行い、全ての垂直方向のタイル境界に対してはインループフィルタ処理を行わないというフィルタ制御情報をより少ない符号量で符号化されたビットストリームを復号することができる。 Although the present embodiment shows the decoding of a bitstream having a syntax configuration as shown in FIG. 10A, the configuration of the bitstream to be decoded is not limited to this. For example, a bitstream having a syntax configuration as shown in FIG. 10B may be decoded. FIG. 10B shows an example in which common filter control information is encoded for all horizontal tile boundaries and vertical tile boundaries. For example, when the image shown in FIG. 9D is encoded by the coding apparatus of the first embodiment and the bit stream generated is decoded, the former (... horizontal ... flag) is decoded and the value is 1, the latter. (... virtual ... flag) is decoded to obtain a value of 0. As a result, the filter control information that the in-loop filter processing is performed on all the horizontal tile boundaries and the in-loop filter processing is not performed on all the vertical tile boundaries is encoded with a smaller amount of code. The resulting bitstream can be decrypted.
さらには、図10(c)のようなシンタックス構成を持つビットストリームを復号する
ことも可能である。図10(c)ではloop_filter_across_tiles_control_idcによって示されるインデックスを特定のタイル配置方法と対応させることができる。例えば1を図9(b)、2を図9(c)、3を図9(d)などと対応付ける、といった具合である。これにより、より多様なタイル配置方法にも対応しつつ、より少ない符号量でタイル境界に対するフィルタリング制御を実現したビットストリームを復号することができる。
Furthermore, it is also possible to decode a bit stream having a syntax configuration as shown in FIG. 10 (c). In FIG. 10 (c), the index indicated by loop_filter_acloss_tiles_control_idc can be associated with a particular tile placement method. For example, 1 is associated with FIG. 9 (b), 2 is associated with FIG. 9 (c), 3 is associated with FIG. 9 (d), and the like. As a result, it is possible to decode a bit stream that realizes filtering control for tile boundaries with a smaller amount of code while supporting a wider variety of tile arrangement methods.
図1、図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。 Each of the processing units shown in FIGS. 1 and 2 has been described in the above embodiment as being configured by hardware. However, the processing performed by each processing unit shown in these figures may be configured by a computer program.
図8は、上記各実施形態に係る画像符号化装置および画像復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。 FIG. 8 is a block diagram showing a configuration example of computer hardware applicable to the image coding device and the image decoding device according to each of the above embodiments.
CPU801は、RAM802やROM803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU801は、図1、図2に示した各処理部として機能することになる。
The
RAM802は、外部記憶装置806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)807を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM802は、CPU801が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM802は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
The
ROM803には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部804は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU801に対して入力することができる。表示部805は、CPU801による処理結果を表示する。また表示部805は例えば液晶ディスプレイで構成される。
The
外部記憶装置806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置806には、OS(オペレーティングシステム)や、図1、図2に示した各部の機能をCPU801に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置806には、処理対象としての各画像データが保存されていても良い。
The
外部記憶装置806に保存されているコンピュータプログラムやデータは、CPU801による制御に従って適宜、RAM802にロードされ、CPU801による処理対象となる。I/F807には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F807を介して様々な情報を取得したり、送出したりすることができる。808は上述の各部を繋ぐバスである。
The computer programs and data stored in the
上述の図4、図5、および図7に示すフローチャートの処理は、ROM803に格納されたプログラムをRAM802へ読み出し、そのプログラムに基づいてCPUによって実行される。
The processing of the flowchart shown in FIGS. 4, 5, and 7 described above reads the program stored in the
上述したように、本発明により、タイル境界ごとにインループフィルタ処理を適用するか否かを選択することができるようになる。そのため、特に連続しているタイル境界の画質を向上させることが可能になり、符号化効率をさらに向上させることができる。 As described above, the present invention makes it possible to select whether or not to apply the in-loop filtering process for each tile boundary. Therefore, it is possible to improve the image quality of continuous tile boundaries in particular, and it is possible to further improve the coding efficiency.
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a system or device with a program that realizes one or more of the functions of the above-described embodiment via a network or a storage medium. It can also be realized by a process in which one or more processors in the computer of the system or device reads and executes a program. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
本発明は静止画・動画の符号化・復号を行う符号化装置・復号装置に用いられる。特に、タイル分割およびインループフィルタ処理を使用する符号化方式および復号方式に適用が可能である。 The present invention is used in a coding device / decoding device that encodes / decodes a still image / moving image. In particular, it can be applied to coding and decoding methods that use tile division and in-loop filtering.
101、112、201、208 端子
102 タイル分割部
103 フィルタ制御情報生成部
104 予測部
105 変換・量子化部
106、204 逆量子化・逆変換部
107、205 画像再生部
108、207 フレームメモリ
109、206 インループフィルタ部
110 符号化部
111 統合符号化部
202 分離復号部
203 復号部
101, 112, 201, 208
Claims (18)
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、
前記決定手段による決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも2つに対して符号化する符号化手段と、を有することを特徴とする符号化装置。 In a coding device for coding an image having a plurality of tiles,
A determination means for determining whether or not to filter pixels adjacent to a plurality of boundaries composed of the plurality of tiles.
Having a coding means for encoding at least two of the plurality of boundaries, control information indicating whether or not to filter pixels adjacent to the boundary based on the determination by the determining means. A coding device characterized by.
ことを特徴とする請求項1に記載の符号化装置。 As control information, the coding means includes horizontal control information indicating whether or not to filter pixels adjacent to the horizontal boundary and vertical indicating whether or not to filter pixels adjacent to the vertical boundary. The coding apparatus according to claim 1, wherein the control information of the direction is encoded.
画像を復号する復号手段と、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成手段と、
前記生成手段によって生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタ処理するか否かを決定する決定手段と、
前記決定手段によってフィルタ処理すると決定された境界に対してフィルタ処理する処理手段とを有することを特徴とする復号装置。 In a decoding device for decoding an image having a plurality of tiles from a bit stream,
Decoding means to decode the image and
A generation means for generating control information from a bit stream indicating whether or not to filter pixels adjacent to the boundary with respect to a plurality of boundaries composed of the plurality of tiles.
A determination means for determining whether to filter pixels adjacent to at least a plurality of boundaries based on the control information generated by the generation means.
A decoding device comprising a processing means for filtering a boundary determined to be filtered by the determination means.
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを決定する決定ステップと、
前記決定ステップにおける決定に基づいて、境界に隣接する画素をフィルタ処理するか否かを示す制御情報を、前記複数の境界うちの少なくとも2つに対して符号化する符号化ステップと、を有することを特徴とする符号化方法。 In a coding method for coding an image having multiple tiles,
A determination step for determining whether or not to filter pixels adjacent to the plurality of boundaries composed of the plurality of tiles, and a determination step.
Having a coding step that encodes control information indicating whether or not to filter pixels adjacent to a boundary based on the decision in the determination step for at least two of the plurality of boundaries. A coding method characterized by.
画像を復号する復号ステップと、
前記複数のタイルによって構成される複数の境界に対して、当該境界に隣接する画素をフィルタ処理するか否かを示す制御情報をビットストリームから生成する生成ステップと、
前記生成ステップにおいて生成された制御情報に基づいて、少なくとも複数の境界に隣接する画素をフィルタ処理するか否かを決定する決定ステップと、
前記決定ステップにおいてフィルタ処理すると決定された境界に対してフィルタ処理する処理ステップとを有することを特徴とする復号方法。 In a decoding method for decoding an image having multiple tiles from a bitstream,
Decoding step to decode the image and
A generation step of generating control information from a bit stream indicating whether or not to filter pixels adjacent to the boundary with respect to the plurality of boundaries composed of the plurality of tiles, and a generation step.
A determination step for determining whether to filter pixels adjacent to at least a plurality of boundaries based on the control information generated in the generation step, and a determination step.
A decoding method comprising a processing step for filtering a boundary determined to be filtered in the determination step.
A program for causing a computer to execute the processing of the decoding device according to any one of claims 8 to 14.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021009909A JP2021064979A (en) | 2021-01-25 | 2021-01-25 | Encoding device, encoding method and program, and decoding device, decoding method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021009909A JP2021064979A (en) | 2021-01-25 | 2021-01-25 | Encoding device, encoding method and program, and decoding device, decoding method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016249173A Division JP2018107500A (en) | 2016-12-22 | 2016-12-22 | Coding device, coding method, program, decoding device, decoding method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021064979A true JP2021064979A (en) | 2021-04-22 |
JP2021064979A5 JP2021064979A5 (en) | 2021-06-10 |
Family
ID=75486641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021009909A Pending JP2021064979A (en) | 2021-01-25 | 2021-01-25 | Encoding device, encoding method and program, and decoding device, decoding method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021064979A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013140722A1 (en) * | 2012-03-21 | 2013-09-26 | パナソニック株式会社 | Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device |
JP2014534738A (en) * | 2011-10-28 | 2014-12-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Loop filtering control across tile boundaries |
-
2021
- 2021-01-25 JP JP2021009909A patent/JP2021064979A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014534738A (en) * | 2011-10-28 | 2014-12-18 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Loop filtering control across tile boundaries |
WO2013140722A1 (en) * | 2012-03-21 | 2013-09-26 | パナソニック株式会社 | Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/decoding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2760909C1 (en) | Encoding method | |
US10554995B2 (en) | Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor | |
CN108810536B (en) | Image encoding apparatus | |
JP6376719B2 (en) | Image encoding device, image encoding method and program, image decoding device, image decoding method and program | |
US10158863B2 (en) | Image coding apparatus, image coding method, and recording medium, and image decoding apparatus, image decoding method, and recording medium | |
JP2021064979A (en) | Encoding device, encoding method and program, and decoding device, decoding method and program | |
JP6618578B2 (en) | Image encoding apparatus and image decoding apparatus | |
TWI834910B (en) | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220118 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220712 |