JP5888279B2 - Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program - Google Patents

Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program Download PDF

Info

Publication number
JP5888279B2
JP5888279B2 JP2013079865A JP2013079865A JP5888279B2 JP 5888279 B2 JP5888279 B2 JP 5888279B2 JP 2013079865 A JP2013079865 A JP 2013079865A JP 2013079865 A JP2013079865 A JP 2013079865A JP 5888279 B2 JP5888279 B2 JP 5888279B2
Authority
JP
Japan
Prior art keywords
filter
encoding
block
encoded
ctb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013079865A
Other languages
Japanese (ja)
Other versions
JP2013232888A5 (en
JP2013232888A (en
Inventor
英樹 竹原
英樹 竹原
智 坂爪
智 坂爪
福島 茂
茂 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2013079865A priority Critical patent/JP5888279B2/en
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to TW106125316A priority patent/TWI613906B/en
Priority to TW107137797A priority patent/TWI666915B/en
Priority to PCT/JP2013/002390 priority patent/WO2013150805A1/en
Priority to TW106144240A priority patent/TWI643490B/en
Priority to TW102112622A priority patent/TWI548280B/en
Priority to TW105117376A priority patent/TWI597967B/en
Publication of JP2013232888A publication Critical patent/JP2013232888A/en
Publication of JP2013232888A5 publication Critical patent/JP2013232888A5/ja
Application granted granted Critical
Publication of JP5888279B2 publication Critical patent/JP5888279B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、動き補償予測を用いた動画像符号化技術に関し、特にループフィルタとして機能するフィルタ情報を符号化する動画像符号化技術に関する。   The present invention relates to a moving picture coding technique using motion compensated prediction, and more particularly to a moving picture coding technique for coding filter information that functions as a loop filter.

一般的な動画像圧縮符号化であるMPEG−4AVC/H.264(以下、AVC)ではループフィルタとしてデブロックフィルタが利用される。AVCのデブロックフィルタは、対象画像を細かいブロックに分割し、ブロック毎に隣接するブロックの境界付近の画素を補正する技術である。   MPEG-4 AVC / H.MP, which is a general moving image compression coding. In H.264 (hereinafter referred to as AVC), a deblocking filter is used as a loop filter. The AVC deblocking filter is a technique that divides a target image into fine blocks and corrects pixels near the boundary between adjacent blocks for each block.

デブロックフィルタは、ブロック間の量子化幅や予測方法の相違などによって生じるブロックの境界付近の誤差を画素単位で補正し、補正したピクチャを参照ピクチャとして動き補償予測で利用することで予測効率を向上させている。   The deblocking filter corrects errors in the vicinity of block boundaries caused by differences in quantization width and prediction methods between blocks in units of pixels, and uses the corrected picture as a reference picture for motion compensation prediction to improve prediction efficiency. It is improving.

特許文献1には、AVCのデブロックフィルタを制御する方法が開示されている。   Patent Document 1 discloses a method for controlling an AVC deblocking filter.

WO2009/093472号公報WO2009 / 093472

AVCのデブロックフィルタはブロックの境界付近の画素しか補正しないため、ブロック境界ではないブロック内部の画素を補正することはできない。そのため、ブロック境界ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くならない場合があった。   Since the AVC deblocking filter only corrects pixels near the block boundary, it cannot correct pixels inside the block that are not block boundaries. Therefore, when an error occurs in a pixel inside a block that is not a block boundary, the prediction efficiency may not be improved.

このような状況下、本発明者らは、ループフィルタを使用する動画像符号化方式において、ブロック境界ではないブロック内部の画素に誤差が生じた場合でも予測効率を向上させる必要性を認識するに至った。   Under such circumstances, the present inventors recognize the necessity of improving the prediction efficiency even in the case where an error occurs in a pixel inside a block that is not a block boundary in a moving image coding method using a loop filter. It came.

本発明はこうした状況に鑑みてなされたものであり、その目的は、ブロック境界ではないブロック内部の画素に誤差が生じた場合にもブロック境界ではないブロック内部の画素を補正することで予測効率の向上を図って符号化効率を向上させる動画像符号化技術を提供することにある。   The present invention has been made in view of such a situation, and an object of the present invention is to improve prediction efficiency by correcting pixels inside a block that is not a block boundary even when an error occurs in the pixel inside the block that is not a block boundary. An object of the present invention is to provide a moving picture coding technique that improves the coding efficiency and improves the coding efficiency.

上記課題を解決するために、本発明のある態様の動画像符号化装置は、ピクチャを構成するブロック単位で符号化する動画像符号化装置であって、前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定部(102)と、符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化部(102)と、前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタ部(104)と、前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化部(105)と、ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化部(107)とを備える。前記フィルタパラメータ符号化部(105)は、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化する。 In order to solve the above-described problem, a moving picture coding apparatus according to an aspect of the present invention is a moving picture coding apparatus that performs coding in units of blocks constituting a picture, wherein the picture is larger than the block. An area setting unit (102) for setting information of divided areas divided into a plurality of tiles , and encoding block image data of a coding target to generate a block code string, and the coding target A block encoding unit (102) for acquiring decoded image data of a block, a loop filter unit (104) for filtering the decoded image data based on a filter parameter of the block to be encoded, and An acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block In addition, when the acquisition flag indicates that the acquisition flag is not acquired, a filter parameter encoding unit (105) that encodes information on the filter parameter to generate a filter code string, and a picture parameter set indicating picture characteristics A multiplexing unit (107) that encodes the information of the divided regions, multiplexes the picture parameter set into a code stream, and multiplexes the filter code string and the block code string into the code stream in units of blocks. ). The filter parameter encoding section (105), when the previous SL coded block checks whether contact with the tile boundary, serving as the coding target block is in contact with the tile boundaries, codes the acquired flag Turn into.

本発明のさらに別の態様は、動画像符号化方法である。この方法は、ピクチャを構成するブロック単位で符号化する動画像符号化方法であって、前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備える。前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化する。 Yet another aspect of the present invention is a video encoding method. This method is a moving image coding method that performs coding in units of blocks that constitute a picture, in which the picture is set with information on a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block. A block encoding step of generating a block code string by encoding the image data of the block to be encoded, and obtaining decoded image data of the block to be encoded; and the decoded A loop filter step for filtering image data based on a filter parameter of the block to be encoded, and whether or not the filter parameter of the block to be encoded is acquired from an adjacent encoded block When encoding the acquisition flag and indicating that the acquisition flag is not acquired, the flag A filter parameter encoding step that encodes information relating to a filter parameter to generate a filter code string, and encodes the information of the divided region into a picture parameter set indicating picture characteristics, and converts the picture parameter set into a code string stream And a multiplexing step of multiplexing the filter code string and the block code string into the code string stream in units of blocks. The filter parameter coding step, a pre-SL coding target block checks whether contact with the tile boundary, serving as the encoding target block may contact the tile boundaries, encodes the acquired flag.

本発明のさらに別の態様は、送信装置である。この装置は、ピクチャを構成するブロック単位で符号化する動画像符号化方法により符号化された符号化ストリームをパケット化して符号化データを得るパケット処理部と、パケット化された前記符号化データを送信する送信部とを備える。前記符号化方法は、前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備える。前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化する。 Yet another embodiment of the present invention is a transmission device. The apparatus includes a packet processing unit that packetizes an encoded stream encoded by a moving image encoding method that encodes a block unit constituting a picture to obtain encoded data, and the packetized encoded data A transmission unit for transmission. The encoding method includes: an area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles larger than the block; and encoding image data of a block to be encoded into a block A block encoding step for generating a code string and obtaining decoded image data of the block to be encoded, and filtering the decoded image data based on a filter parameter of the block to be encoded A loop filter step to perform and encoding an acquisition flag indicating whether or not to acquire the filter parameter of the block to be encoded from an adjacent encoded block, and indicates that the acquisition flag is not acquired If the filter parameter information is encoded, a filter code string is generated. A filter parameter encoding step, encoding the information of the divided region into a picture parameter set indicating picture characteristics, multiplexing the picture parameter set into a code string stream, and combining the filter code string and the block code string A multiplexing step of multiplexing the code stream in block units. The filter parameter coding step, a pre-SL coding target block checks whether contact with the tile boundary, serving as the encoding target block may contact the tile boundaries, encodes the acquired flag.

本発明のさらに別の態様は、送信方法である。この方法は、ピクチャを構成するブロック単位で符号化する動画像符号化方法により符号化された符号化ストリームをパケット化して符号化データを得るパケット処理ステップと、パケット化された前記符号化データを送信する送信ステップとを備える。前記符号化方法は、前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備える。前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化する。 Yet another embodiment of the present invention is a transmission method. In this method, a packet processing step for packetizing an encoded stream encoded by a moving image encoding method for encoding in units of blocks constituting a picture to obtain encoded data, and the packetized encoded data A transmission step of transmitting. The encoding method includes: an area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles larger than the block; and encoding image data of a block to be encoded into a block A block encoding step for generating a code string and obtaining decoded image data of the block to be encoded, and filtering the decoded image data based on a filter parameter of the block to be encoded A loop filter step to perform and encoding an acquisition flag indicating whether or not to acquire the filter parameter of the block to be encoded from an adjacent encoded block, and indicates that the acquisition flag is not acquired If the filter parameter information is encoded, a filter code string is generated. A filter parameter encoding step, encoding the information of the divided region into a picture parameter set indicating picture characteristics, multiplexing the picture parameter set into a code string stream, and combining the filter code string and the block code string A multiplexing step of multiplexing the code stream in block units. The filter parameter coding step, a pre-SL coding target block checks whether contact with the tile boundary, serving as the encoding target block may contact the tile boundaries, encodes the acquired flag.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明によれば、ブロック境界ではないブロック内部の画素に誤差が生じた場合にもブロック境界ではないブロック内部の画素を補正することで予測効率の向上を実現することができる。   According to the present invention, even when an error occurs in a pixel inside a block that is not a block boundary, an improvement in prediction efficiency can be realized by correcting the pixel inside the block that is not a block boundary.

CTBとCUの関係を説明する図である。It is a figure explaining the relationship between CTB and CU. タイルについて説明する図である。It is a figure explaining a tile. 第1の実施の形態に係る動画像符号化装置の構成を説明する図である。It is a figure explaining the structure of the moving image encoder which concerns on 1st Embodiment. 第1の実施の形態に係る動画像符号化装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image encoder which concerns on 1st Embodiment. CTBアドレスとCTB符号順序を説明する図である。It is a figure explaining a CTB address and a CTB code order. 図3のフィルタパラメータ決定部の構成を説明する図である。It is a figure explaining the structure of the filter parameter determination part of FIG. 図3のフィルタパラメータ決定部の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the filter parameter determination part of FIG. 図6のエッジタイプフィルタ部の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the edge type filter part of FIG. エッジアングルに応じた隣接画素Aと隣接画素Bを説明する図である。It is a figure explaining the adjacent pixel A and the adjacent pixel B according to edge angle. 右辺や下辺がタイル境界に接しているCTBの画素Aと画素Xを説明する図である。It is a figure explaining the pixel A and the pixel X of CTB in which the right side and the lower side touch the tile boundary. 図6のバンドタイプフィルタ部の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the band type filter part of FIG. 符号化対象CTBと符号化対象CTBに隣接するCTBを説明する図である。It is a figure explaining CTB adjacent to encoding object CTB and encoding object CTB. 図3のフィルタパラメータ符号化部の動作を説明するフローチャートである。4 is a flowchart for explaining the operation of a filter parameter encoding unit in FIG. 3. 隣接CTBの有効性の導出を説明するフローチャートである。It is a flowchart explaining derivation | leading-out of the effectiveness of adjacent CTB. シンタックスを説明する図である。It is a figure explaining syntax. シンタックスを説明する図である。It is a figure explaining syntax. 第1の実施の形態による符号化ストリームの構成の一例を説明する図である。It is a figure explaining an example of a structure of the encoding stream by 1st Embodiment. 第1の実施の形態に係る動画像復号装置の構成を説明する図である。It is a figure explaining the structure of the moving image decoding apparatus which concerns on 1st Embodiment. 第1の実施の形態に係る動画像復号装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image decoding apparatus which concerns on 1st Embodiment. 図18のフィルタパラメータ復号部の動作を説明するフローチャートである。It is a flowchart explaining the operation | movement of the filter parameter decoding part of FIG. 第2の実施の形態に係る動画像符号化装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image encoder which concerns on 2nd Embodiment. 第2の実施の形態による符号化ストリームの構成の一例を説明する図である。It is a figure explaining an example of the structure of the encoding stream by 2nd Embodiment. 第2の実施の形態に係る動画像復号装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image decoding apparatus which concerns on 2nd Embodiment. 第3の実施の形態に係るPPSのシンタックスを説明する図である。It is a figure explaining the syntax of PPS which concerns on 3rd Embodiment. 第3の実施の形態に係る動画像符号化装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image encoder which concerns on 3rd Embodiment. 第3の実施の形態に係る動画像復号装置の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image decoding apparatus which concerns on 3rd Embodiment. 第3の実施の形態のエッジタイプフィルタ部の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the edge type filter part of 3rd Embodiment. 第3の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。It is a flowchart explaining derivation | leading-out of the effectiveness of adjacent CTB in 3rd Embodiment. 第4の実施の形態に係るPPSのシンタックスを説明する図である。It is a figure explaining the syntax of PPS which concerns on 4th Embodiment. 第4の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。It is a flowchart explaining derivation | leading-out of the effectiveness of adjacent CTB in 4th Embodiment. 第5の実施の形態におけるCTBの位置に応じて利用可能なフィルタタイプを説明するための図である。It is a figure for demonstrating the filter type which can be utilized according to the position of CTB in 5th Embodiment. 第5の実施の形態におけるエッジタイプフィルタ部の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the edge type filter part in 5th Embodiment. 第6の実施の形態に係るloopfliter_type_idxの符号列を説明する図である。It is a figure explaining the code sequence of loopflitter_type_idx which concerns on 6th Embodiment. 第6の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。It is a flowchart explaining derivation | leading-out of the effectiveness of adjacent CTB in 6th Embodiment. 第7の実施の形態に係るループフィルタユニットのシンタックスを説明する図である。It is a figure explaining the syntax of the loop filter unit which concerns on 7th Embodiment. 第7の実施の形態に係るloopfliter_type_idxの符号列を説明する図であるIt is a figure explaining the code sequence of loopflitter_type_idx which concerns on 7th Embodiment 第4の実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。It is a flowchart explaining operation | movement of the moving image decoding apparatus 200 which concerns on 4th Embodiment.

[第1の実施の形態]
まず、本発明の実施の形態の前提となる技術を説明する。
[First Embodiment]
First, a technique that is a premise of the embodiment of the present invention will be described.

2003年に、国際標準化機構(ISO)と国際電気標準会議(IEC)のジョイント技術委員会(ISO/IEC)と、国際電気通信連合電気通信標準化部門(ITU−T)の共同作業によってAVCと呼ばれる動画像符号化方式(ISO/IECでは14496−10、ITU−TではH.264の規格番号がつけられている)が国際標準として制定された。AVCではループフィルタとしてデブロックフィルタが利用される。   Called AVC in 2003 by the joint work of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) Joint Technical Committee (ISO / IEC) and the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) A moving picture coding system (14496-10 in ISO / IEC and H.264 standard number in ITU-T) has been established as an international standard. In AVC, a deblocking filter is used as a loop filter.

最初に、デブロックフィルタについて説明する。デブロックフィルタは、量子化パラメータやイントラ予測(画面内予測)であるかインター予測(動き補償予測)であるかなどの情報によって、デブロックフィルタの強度をブロック単位で適応的に変え、ブロックの境界付近の画素間の画素値の差によってデブロックフィルタのON/OFFを画素単位で制御しながら、ブロック間の量子化幅や予測方法の相違などによって生じるブロックの境界付近の誤差を画素単位で補正して誤差を低減する技術である。デブロックフィルタは、視覚的に目立ちやすいブロック境界の誤差を低減して主観画質を向上させ、さらに、ブロック境界の誤差を低減した画像を参照画像として用いることにより、インター予測の効率を向上させる効果がある。   First, the deblocking filter will be described. The deblocking filter adaptively changes the strength of the deblocking filter on a block-by-block basis, depending on the quantization parameter and information such as intra prediction (intra-screen prediction) or inter prediction (motion compensation prediction). While controlling the ON / OFF of the deblocking filter on a pixel-by-pixel basis based on the difference in pixel values between pixels near the boundary, errors in the vicinity of the block boundary caused by differences in quantization width and prediction methods between blocks This is a technique for correcting and reducing errors. Deblocking filter improves subjective image quality by reducing block boundary errors that are visually noticeable, and also improves inter prediction efficiency by using an image with reduced block boundary errors as a reference image There is.

デブロックフィルタの制御情報として、AVCではデブロックフィルタをスライス単位でON/OFFするためのフラグ、デブロックフィルタの適用度合い(画素単位のON/OFF)を調整するための情報がスライスヘッダにある。   As control information for the deblocking filter, in AVC, a flag for turning on / off the deblocking filter in units of slices and information for adjusting the degree of application of the deblocking filter (ON / OFF in units of pixels) are in the slice header. .

近年のハードウェアやCPUは並列処理を前提とした構成を取ることが一般的となりつつあり、動画像符号化も並列処理に対応することが重要な課題となっている。画像のサイズが大きくなるほどこの課題は大きくなる。そのため、一般的な動画像符号化方式であるAVCなどでは、動画像ピクチャを複数の領域に分割し、各領域を並列に符号化または復号するためにスライスが用いられる。スライスを並列に処理する場合、各スライス境界のデブロックフィルタの処理が課題となる。AVCのデブロックフィルタでは、画像の左上のブロックからラスタースキャン順に各ブロックについて垂直方向のフィルタと水平方向のフィルタが順に処理されるため、領域境界のデブロックフィルタを事前に処理することができない。そのため、AVCではスライス単位でデブロックフィルタをON/OFFするためのフラグが導入されており、ループフィルタを含めた並列処理を容易に実現する場合などに利用されている。   In recent years, it has become common for hardware and CPUs to adopt a configuration based on parallel processing, and it is an important issue that video coding also supports parallel processing. This problem increases as the size of the image increases. For this reason, in AVC or the like, which is a general moving image encoding method, a moving image picture is divided into a plurality of regions, and slices are used to encode or decode each region in parallel. When processing slices in parallel, deblocking filter processing at each slice boundary becomes an issue. In the AVC deblocking filter, the vertical filter and the horizontal filter are sequentially processed for each block in the raster scan order from the upper left block of the image, and therefore, the deblocking filter at the region boundary cannot be processed in advance. For this reason, AVC introduces a flag for turning on / off the deblocking filter in units of slices, and is used for easily realizing parallel processing including a loop filter.

しかし、AVCのデブロックフィルタはブロックの境界付近の画素しか補正できないため、ブロック境界ではないブロック内部の画素に誤差が生じた場合に、予測効率が良くならない可能性があった。そこで、ブロック境界のみならず、ブロックの内部の画素を補正するフィルタとしてSAOフィルタ(Sample Adaptative Offset Filter)を導入する。   However, since the AVC deblocking filter can correct only pixels near the block boundary, there is a possibility that the prediction efficiency may not be improved when an error occurs in a pixel inside the block that is not the block boundary. Therefore, a SAO filter (Sample Adaptive Offset Filter) is introduced as a filter for correcting not only the block boundary but also the pixels inside the block.

ここで、SAOフィルタの概要について説明する。SAOフィルタはブロックの境界付近の画素のみならず、ブロックの内部の全ての画素に対して所定のオフセット値を加え、画素を補正するフィルタである。ブロックの内部の全ての画素に対して処理を行うため、デブロックフィルタのようにブロック間の相違などの情報を利用して詳細な適応処理をすることは困難で、デブロックフィルタよりもより細かい領域単位でオフセット値を調整して性能の向上を図る必要がある。細かい領域単位でオフセット値を調整することで誤差の補正の精度は向上するが、細かい領域単位でオフセット値を符号化するための符号量が増加するため、これを抑制する必要がある。SAOフィルタの詳細については後述する。   Here, an outline of the SAO filter will be described. The SAO filter is a filter that corrects a pixel by adding a predetermined offset value to all pixels inside the block as well as pixels near the block boundary. Since all pixels in the block are processed, it is difficult to perform detailed adaptive processing using information such as differences between blocks as in the case of a deblocking filter. It is necessary to improve the performance by adjusting the offset value for each area. Although the accuracy of error correction is improved by adjusting the offset value in units of fine areas, it is necessary to suppress this because the amount of code for encoding the offset values in units of fine areas increases. Details of the SAO filter will be described later.

以下、SAOフィルタを効果的に動作させることのできる動画像符号化装置及び動画像復号装置を実現する。   Hereinafter, a moving picture coding apparatus and a moving picture decoding apparatus capable of effectively operating the SAO filter are realized.

(符号化ツリーブロック)
本実施の形態では、入力された画像信号(ピクチャ)は符号化ツリーブロック単位に分割されて符号化と復号の処理がなされる。符号化ツリーブロック(CTB)は階層的に4分割されて、符号化ユニット(CU)となる。CTB内の各CUはそれぞれイントラ予測またはインター予測を用いて予測符号化される。
(Encoding tree block)
In the present embodiment, an input image signal (picture) is divided into coding tree block units and subjected to coding and decoding processing. The coding tree block (CTB) is hierarchically divided into four to form a coding unit (CU). Each CU in the CTB is predictively encoded using intra prediction or inter prediction.

本実施の形態では、CTBを64(画素)×64(画素)、最大の分割回数を3回とする。そのため、CUの大きさとして、8×8、16×16、32×32、64×64が存在する。図1はCTBとCUの関係を説明する図である。   In this embodiment, the CTB is 64 (pixels) × 64 (pixels), and the maximum number of divisions is three. Therefore, there are 8 × 8, 16 × 16, 32 × 32, and 64 × 64 as CU sizes. FIG. 1 is a diagram for explaining the relationship between CTB and CU.

本実施の形態では、CTBを64(画素)×64(画素)、CTBの最大の分割回数を3回とするが、この組み合わせに限定されない。また、CUはさらに1つから4つの予測ブロックに分割されて、それぞれの予測ブロックについてイントラ予測またはインター予測を用いて予測符号化されてもよい。   In this embodiment, CTB is 64 (pixels) × 64 (pixels) and the maximum number of divisions of CTB is 3, but the combination is not limited to this. Further, the CU may be further divided into one to four prediction blocks, and each prediction block may be predictively encoded using intra prediction or inter prediction.

(ピクチャ)
ピクチャは符号化と復号の単位となる1枚の画像である。ピクチャには、イントラ予測のみを用いたIピクチャ、イントラ予測と単予測のインター予測を用いたPピクチャ、イントラ予測と、単予測と双予測のインター予測を用いたBピクチャがある。
(Picture)
A picture is a single image serving as a unit for encoding and decoding. The pictures include an I picture using only intra prediction, a P picture using intra prediction and inter prediction, and a B picture using intra prediction and inter prediction of uni prediction and bi prediction.

(タイル)
本実施の形態では、ピクチャを垂直方向と水平方向に分割された領域として定義することのできるタイルを導入する。
(tile)
In the present embodiment, a tile that can define a picture as an area divided in the vertical direction and the horizontal direction is introduced.

次に図を用いてタイルについて説明する。図2はタイルについて説明する図である。図2(a)はピクチャが垂直方向に2つに分割されて、ピクチャがタイル0とタイル1で構成される例である。図2(b)はピクチャが垂直方向と水平方向にそれぞれ2つに分割されて、ピクチャがタイル0からタイル3で構成される例である。ピクチャ内のタイルはラスタースキャン順に処理される。また、タイル内のCTBはラスタースキャン順に処理される。ここでは、説明を容易にするためにタイルがピクチャ内で同一の大きさとなるようにしているが、タイルは同一の大きさである必要はない。図2(a)と図2(b)で示されるように、タイルは矩形領域として定義される。   Next, tiles will be described with reference to the drawings. FIG. 2 is a diagram illustrating tiles. FIG. 2A shows an example in which a picture is divided into two in the vertical direction, and the picture is composed of tile 0 and tile 1. FIG. 2B shows an example in which the picture is divided into two parts in the vertical and horizontal directions, and the picture is composed of tile 0 to tile 3. The tiles in the picture are processed in raster scan order. Also, CTBs in the tile are processed in raster scan order. Here, for ease of explanation, the tiles have the same size in the picture, but the tiles need not have the same size. As shown in FIGS. 2A and 2B, a tile is defined as a rectangular region.

(スライス)
本実施の形態では、スライスはタイル内のCTBをラスタースキャン順に包含する。ここでは、ピクチャ内のスライスは1つであるとして説明するが、スライスは1つのタイル内の1以上のCTBから構成することができる。すなわち、タイルは1以上のスライスに分割されることもできる。また、スライスは複数のタイルを包含することもできる。すなわち、複数のタイルを1つのスライスにまとめることもできる。
(slice)
In the present embodiment, a slice includes CTBs in a tile in raster scan order. Here, it is assumed that there is one slice in a picture, but a slice can be composed of one or more CTBs in one tile. That is, the tile can be divided into one or more slices. A slice can also include multiple tiles. That is, a plurality of tiles can be combined into one slice.

本実施の形態では、タイルを導入することで、スライスでは実現できなかった垂直方向に領域を分割することができる。垂直方向に領域を分割することで、各タイルの水平画素数を減ずることができ、各タイルを独立処理(並列処理)する場合に、ラインメモリ量を削減することができる。一方、タイルに分割することで垂直方向の境界が長くなるため、垂直方向の境界の処理が符号化効率や視覚的な違和感などとして認識されて課題となる。これは大画面になるほど影響が大きくなる。また、タイル内のCTBはラスタースキャン順に処理されてスライスはタイル内のCTBをラスタースキャン順に包含する構成とするため、タイルとスライスを組み合わせることで、スライスの垂直方向の境界についても同様の課題が生じる場合がある。なお、スライスのみで領域を構成する場合、垂直方向の境界はスライスの開始CTBにのみ発生するため、垂直方向の境界に対する課題は小さい。   In this embodiment, by introducing tiles, it is possible to divide a region in the vertical direction that cannot be realized by slicing. By dividing the region in the vertical direction, the number of horizontal pixels of each tile can be reduced, and the amount of line memory can be reduced when each tile is independently processed (parallel processing). On the other hand, since the vertical boundary becomes longer by dividing the tile, the processing of the vertical boundary is recognized as coding efficiency, visual discomfort, and the like. The larger the screen, the greater the effect. In addition, since CTBs in tiles are processed in raster scan order and slices include CTBs in tiles in raster scan order, combining the tiles and slices has the same problem with the vertical boundaries of slices. May occur. Note that, when an area is configured by only slices, the vertical boundary is generated only at the start CTB of the slice, so the problem with respect to the vertical boundary is small.

以下、図面とともに本発明の好適な実施の形態に係る動画像符号化装置、動画像符号化方法および動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法および動画像復号プログラムの詳細について説明する。なお、図面の説明において同一要素には同一符号を付与して重複する説明を省略する。   Hereinafter, with reference to the drawings, details of a moving image encoding apparatus, a moving image encoding method, a moving image encoding program, a moving image decoding apparatus, a moving image decoding method, and a moving image decoding program according to a preferred embodiment of the present invention will be described. explain. In the description of the drawings, the same elements are denoted by the same reference numerals and redundant description is omitted.

(動画像符号化装置100の構成)
図3は、第1の実施の形態に係る動画像符号化装置100の構成を説明する図である。動画像符号化装置100は、入力される動画像を、1ピクチャ単位で符号化する装置である。
(Configuration of moving picture coding apparatus 100)
FIG. 3 is a diagram for explaining the configuration of the moving picture coding apparatus 100 according to the first embodiment. The moving image encoding apparatus 100 is an apparatus that encodes an input moving image in units of one picture.

動画像符号化装置100は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像符号化装置100は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。   The moving image encoding apparatus 100 is realized by hardware such as an information processing apparatus including a CPU (Central Processing Unit), a frame memory, and a hard disk. The moving image encoding apparatus 100 realizes functional components described below by operating the above components.

本実施の形態の動画像符号化装置100は、画像データ取得部101、CTB符号化部102、フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループフィルタ104、フレームメモリ106、符号列多重部107、及び符号化制御部110を含む。符号化制御部110は、タイル設定部111、ループフィルタ設定部112、及び領域情報設定部113を含む。   A moving image encoding apparatus 100 according to the present embodiment includes an image data acquisition unit 101, a CTB encoding unit 102, a filter parameter determination unit 103, a filter parameter encoding unit 105, a loop filter 104, a frame memory 106, and a code string multiplexing unit. 107 and an encoding control unit 110. The encoding control unit 110 includes a tile setting unit 111, a loop filter setting unit 112, and an area information setting unit 113.

(動画像符号化装置100の機能と動作)
図4は、第1の実施の形態に係る動画像符号化装置100の動作を説明するフローチャートである。以下、図3と図4を用いて、各部の機能と動作について説明する。ここでは、入力されるピクチャのサイズは768×384、ビット深度は8ビットとする。この場合、CTBは水平方向に12個、垂直方向に6個存在し、ピクチャ内で72個のCTBが存在する。以降、ピクチャの水平方向のCTB数をNumCtbInPicWidthとする。ビット深度が8ビットであるため、画素値は0から255となる。入力されたピクチャは、GOP(Group of Picture)として一般的なM=3、N=15で符号化され、IピクチャはIスライスだけ、PピクチャはPスライスだけ、BピクチャはBスライスだけで符号化されるものとする。ここでは、ピクチャのサイズを768×384としてCTBの倍数に設定したがこれに限定されない。また、GOPをM=3、N=15としたが、IピクチャだけとなるN=1などとしてもよく、これらに限定されない。
(Function and operation of moving picture coding apparatus 100)
FIG. 4 is a flowchart for explaining the operation of the moving picture coding apparatus 100 according to the first embodiment. Hereinafter, the function and operation of each unit will be described with reference to FIGS. 3 and 4. Here, the size of the input picture is 768 × 384, and the bit depth is 8 bits. In this case, there are 12 CTBs in the horizontal direction and 6 in the vertical direction, and there are 72 CTBs in the picture. Hereinafter, the number of CTBs in the horizontal direction of the picture is NumCtbInPicWidth. Since the bit depth is 8 bits, the pixel value is 0 to 255. The input picture is encoded with M = 3 and N = 15, which is a general GOP (Group of Picture), and the I picture is encoded with only I slice, the P picture is encoded with only P slice, and the B picture is encoded with only B slice. Shall be Here, the picture size is set to 768 × 384 and set to a multiple of CTB, but the present invention is not limited to this. Further, although GOP is set to M = 3 and N = 15, it may be set to N = 1 or the like which is only an I picture, and is not limited thereto.

最初に、タイル設定部111は、タイルを設定する(S100)。これ以降、特に断らない限り、ピクチャは図2(b)のように4つのタイルから構成されるものとする。   First, the tile setting unit 111 sets a tile (S100). Thereafter, unless otherwise specified, it is assumed that a picture is composed of four tiles as shown in FIG.

次に、ループフィルタ設定部112は、ループフィルタ情報を設定する(S101)。ここで、ループフィルタ情報について説明する。ループフィルタ情報とは、ループフィルタインタリーブフラグ(loopfilter_interleave_flag)である。ループフィルタインタリーブフラグは、フィルタパラメータの符号化単位がCTB単位で多重化するかピクチャ単位で多重化するかを示すフラグである。ループフィルタインタリーブフラグが1であれば、フィルタパラメータがCTB単位で多重化されることを示し、ループフィルタインタリーブフラグが0であれば、フィルタパラメータがピクチャ単位で多重化されることを示す。以降、フラグは0または1の値の1ビットの情報であるとする。   Next, the loop filter setting unit 112 sets loop filter information (S101). Here, the loop filter information will be described. The loop filter information is a loop filter interleave flag (loopfilter_interleave_flag). The loop filter interleave flag is a flag indicating whether the encoding unit of the filter parameter is multiplexed in units of CTB or multiplexed in units of pictures. If the loop filter interleave flag is 1, it indicates that the filter parameter is multiplexed in CTB units, and if the loop filter interleave flag is 0, it indicates that the filter parameters are multiplexed in picture units. Hereinafter, it is assumed that the flag is 1-bit information having a value of 0 or 1.

本実施の形態では、loopfilter_interleave_flagは1に設定される。つまり、フィルタパラメータはCTB単位で多重化される。   In the present embodiment, loopfilter_interleave_flag is set to 1. That is, the filter parameters are multiplexed on a CTB basis.

まず、領域情報設定部113は、CTBに対してCTBアドレスとCTB符号順序を設定する(S102)。ここで、CTBアドレスとCTB符号順序について説明する。図5はCTBアドレスとCTB符号順序を説明する図である。   First, the region information setting unit 113 sets a CTB address and a CTB code order for CTB (S102). Here, the CTB address and the CTB code order will be described. FIG. 5 is a diagram for explaining the CTB address and the CTB code order.

図5(a)はピクチャ内の各CTBに設定されるCTBアドレスを示す。CTBアドレスは図5(a)のように、ピクチャ内の各CTBに対してラスタースキャン順に1ずつインクリメントして設定される。図5(b)は図2(b)のようにピクチャが4つのタイルから構成される場合のピクチャ内の各CTBに設定されるCTB符号順序を示す。第1のタイルはCTB符号順序が0から17であり、第2のタイルはCTB符号順序が18から35であり、第3のタイルはCTB符号順序が36から53であり、第4のタイルはCTB符号順序が54から71である。CTB符号順序は図5(b)のように、タイル内の各CTBに対してラスタースキャン順に1ずつインクリメントして設定される。図5で示されるように、タイルが垂直方向に分割される場合、CTBアドレス(CTBのアドレス順序)と、CTBが符号化される順序とが同一とはならないブロックが発生する。また、図5で示されるように、CTBアドレスはピクチャに応じたラスタースキャン順で定まり、CTB符号順序はタイルに応じたラスタースキャン順で定まる。   FIG. 5A shows the CTB address set for each CTB in the picture. As shown in FIG. 5A, the CTB address is set by incrementing by 1 in the raster scan order for each CTB in the picture. FIG. 5B shows the CTB code order set for each CTB in the picture when the picture is composed of four tiles as shown in FIG. The first tile has a CTB code order from 0 to 17, the second tile has a CTB code order from 18 to 35, the third tile has a CTB code order from 36 to 53, and the fourth tile has The CTB code order is 54 to 71. As shown in FIG. 5B, the CTB code order is set by incrementing by one in the raster scan order for each CTB in the tile. As shown in FIG. 5, when the tile is divided in the vertical direction, a block in which the CTB address (CTB address order) and the order in which the CTB is encoded is not the same occurs. As shown in FIG. 5, the CTB address is determined in the raster scan order corresponding to the picture, and the CTB code order is determined in the raster scan order corresponding to the tile.

図5で示されるように、CTBアドレスはタイルに依存せずピクチャのサイズによって設定され、CTB符号順序はピクチャのサイズとタイルのサイズによって設定される。つまり、CTBアドレスはピクチャ内の位置を示し、CTBアドレスによってCTBのピクチャ内での位置関係を得ることができる。CTBがいずれのタイルに属するかを識別するのに、CTBアドレスとCTB符号順序のそれぞれまたは両方を用いてもよい。   As shown in FIG. 5, the CTB address does not depend on the tile and is set according to the size of the picture, and the CTB code order is set according to the size of the picture and the size of the tile. That is, the CTB address indicates the position in the picture, and the positional relationship of the CTB in the picture can be obtained by the CTB address. Each or both of the CTB address and CTB code order may be used to identify which tile a CTB belongs to.

また、符号化制御部110は、SPS、PPS、スライスヘッダなどピクチャを符号化するために必要となる情報を必要に応じて設定して管理する。SPS、PPS、スライスヘッダについては後述する。そして、画像データ取得部101、CTB符号化部102、フィルタパラメータ決定部103、フィルタパラメータ符号化部105、ループフィルタ104、フレームメモリ106、及び符号列多重部107を制御して符号化ストリームを生成する。   Also, the encoding control unit 110 sets and manages information necessary for encoding a picture, such as SPS, PPS, and slice header, as necessary. The SPS, PPS, and slice header will be described later. Then, an image data acquisition unit 101, a CTB encoding unit 102, a filter parameter determination unit 103, a filter parameter encoding unit 105, a loop filter 104, a frame memory 106, and a code string multiplexing unit 107 are controlled to generate an encoded stream. To do.

なお、タイル、ループフィルタ情報、SPS、PPS、スライスヘッダなどピクチャを符号化するために必要となる情報は動画像符号化装置100内で共有されているものとし、これらデータのフローの説明は特に断らない限り省略する。   Note that information necessary for encoding pictures such as tiles, loop filter information, SPS, PPS, and slice headers is shared within the moving image encoding apparatus 100, and the description of the flow of these data is particularly important. Omitted unless otherwise noted.

次に、CTB符号順序に従って、ピクチャ内の全てのCTBについて以下の処理が繰り返し行われる(S103からS111)。   Next, the following processing is repeated for all CTBs in the picture in accordance with the CTB code order (S103 to S111).

次に、画像データ取得部101は、符号化対象となるCTBである符号化対象CTBのピクチャ内の位置に基づいて、端子10より入力される画像データから符号化対象CTBに該当するCTBの原画像データを取得する(S104)。そして、画像データ取得部101はCTBの原画像データをCTB符号化部102に供給する。また、画像データ取得部101はCTBの原画像データをフィルタパラメータ決定部103に供給する。ここで、符号化対象CTBが属するタイルを符号化対象タイル、符号化対象CTBが属するスライスを符号化対象スライスとする。   Next, the image data acquisition unit 101, based on the position in the picture of the encoding target CTB, which is the CTB to be encoded, from the image data input from the terminal 10, the original CTB corresponding to the encoding target CTB. Image data is acquired (S104). Then, the image data acquisition unit 101 supplies the CTB original image data to the CTB encoding unit 102. The image data acquisition unit 101 supplies the CTB original image data to the filter parameter determination unit 103. Here, the tile to which the encoding target CTB belongs is set as the encoding target tile, and the slice to which the encoding target CTB belongs is set as the encoding target slice.

次に、エントロピー符号部の設定が行われる(S105)。ここで、エントロピー符号部の設定について説明する。符号化対象CTBがスライスまたはタイルの最初のCTBであれば、CTB符号化部102はCTB符号化部102の内部のエントロピー符号部を初期化し、フィルタパラメータ符号化部105はフィルタパラメータ符号化部105の内部のエントロピー符号部を初期化する。なお、CTB符号化部102の内部のエントロピー符号部とフィルタパラメータ符号化部105の内部のエントロピー符号部は、AVCで利用されている算術符号化のCABACであるとする。   Next, the entropy code part is set (S105). Here, the setting of the entropy code unit will be described. If the encoding target CTB is the first CTB of a slice or tile, the CTB encoding unit 102 initializes an entropy encoding unit inside the CTB encoding unit 102, and the filter parameter encoding unit 105 is a filter parameter encoding unit 105. The entropy code part inside is initialized. It is assumed that the entropy coding unit inside the CTB coding unit 102 and the entropy coding unit inside the filter parameter coding unit 105 are CABAC of arithmetic coding used in AVC.

次に、CTB符号化部102は、画像データ取得部101より供給されるCTBの原画像データをスライスタイプに基づいて、画面内予測(イントラ予測)や動き補償予測(インター予測)を行って誤差信号を算出し、誤差信号について直交変換や量子化処理を用いて符号化し、CTB符号列を生成するとともに、局部復号を行って復号画像データを生成する(S106)。なお、CTB符号化部102で行われる符号化の処理は、CTBを階層的に符号化して量子化などによって符号化歪が生じる可能性のある方法であればよく、ここでは詳細な説明は省略する。また、局部復号についても一般的な動画像符号化で行われる手法であるためここでは詳細な説明は省略するが、復号画像データは、動画像符号化装置100の出力する符号化ストリームを復号した際に得られる画像データである。CTB符号化部102は、生成したCTB符号列を符号列多重部107に供給する。また、CTB符号化部102は、復号画像データをフィルタパラメータ決定部103とループフィルタ104に供給する。   Next, the CTB encoding unit 102 performs intra-screen prediction (intra prediction) and motion compensation prediction (inter prediction) on the CTB original image data supplied from the image data acquisition unit 101 based on the slice type, and generates an error. The signal is calculated, the error signal is encoded using orthogonal transformation or quantization processing, a CTB code string is generated, and local decoding is performed to generate decoded image data (S106). Note that the encoding process performed by the CTB encoding unit 102 may be any method that may cause encoding distortion due to the hierarchical encoding of the CTB and quantization, and detailed description thereof is omitted here. To do. Also, since local decoding is a technique performed in general video encoding, detailed description thereof is omitted here, but the decoded image data is obtained by decoding an encoded stream output from the video encoding device 100. It is image data obtained at this time. The CTB encoding unit 102 supplies the generated CTB code sequence to the code sequence multiplexing unit 107. Also, the CTB encoding unit 102 supplies the decoded image data to the filter parameter determination unit 103 and the loop filter 104.

次に、フィルタパラメータ決定部103は、画像データ取得部101より供給されるCTBの原画像データとCTB符号化部102より供給される復号画像データに基づいてフィルタパラメータを決定する(S107)。フィルタパラメータ決定部103は、フィルタパラメータをフィルタパラメータ符号化部105とループフィルタ104に供給する。フィルタパラメータ決定部103の詳細については後述する。   Next, the filter parameter determination unit 103 determines a filter parameter based on the CTB original image data supplied from the image data acquisition unit 101 and the decoded image data supplied from the CTB encoding unit 102 (S107). The filter parameter determination unit 103 supplies the filter parameters to the filter parameter encoding unit 105 and the loop filter 104. Details of the filter parameter determination unit 103 will be described later.

ループフィルタ104は、フィルタパラメータ決定部103より供給されるフィルタパラメータに基づいてCTB符号化部102より供給される復号画像データに対してループフィルタを実行する(S108)。ループフィルタを実行して得た新たな復号画像データをフレームメモリ106に供給する。   The loop filter 104 executes a loop filter on the decoded image data supplied from the CTB encoding unit 102 based on the filter parameter supplied from the filter parameter determination unit 103 (S108). New decoded image data obtained by executing the loop filter is supplied to the frame memory 106.

次に、フィルタパラメータ符号化部105は、フィルタパラメータ決定部103より供給されるフィルタパラメータをループフィルタユニットに符号化し(S109)、ループフィルタユニットを符号列多重部107に供給する。フィルタパラメータ符号化部105とループフィルタユニットについては後述する。   Next, the filter parameter encoding unit 105 encodes the filter parameter supplied from the filter parameter determination unit 103 into a loop filter unit (S109), and supplies the loop filter unit to the code string multiplexing unit 107. The filter parameter encoding unit 105 and the loop filter unit will be described later.

次に、符号列多重部107は、CTB符号化部102より供給されるCTB符号列とフィルタパラメータ符号化部105より供給されるループフィルタユニットを、必要に応じてSPS、PPS、スライスヘッダなどとともに符号化ストリームとして多重化し(S110)、符号化ストリームを端子11より出力する。符号列多重部107の詳細については後述する。   Next, the code string multiplexing unit 107 combines the CTB code string supplied from the CTB encoding unit 102 and the loop filter unit supplied from the filter parameter encoding unit 105 together with the SPS, PPS, slice header, and the like as necessary. The encoded stream is multiplexed (S110), and the encoded stream is output from the terminal 11. Details of the code string multiplexing unit 107 will be described later.

ピクチャ内の全てのCTBについて処理が完了すれば、処理を終了する。   When the process is completed for all CTBs in the picture, the process ends.

(フィルタパラメータ決定部103)
続いて、フィルタパラメータ決定部103の詳細な構成について説明する。図6はフィルタパラメータ決定部103の構成を説明する図である。図6で示されるように、フィルタパラメータ決定部103は、フィルタパラメータ設定部120、ループフィルタ実行部121、誤差計測部122、及びフィルタパラメータ確定部123で構成される。端子12はCTB符号化部102に接続され、端子13は画像データ取得部101に接続され、端子14はフィルタパラメータ符号化部105とループフィルタ104に接続されている。ループフィルタ実行部121は、フィルタタイプ判定部130、エッジタイプフィルタ131、バンドタイプフィルタ132を含む。
(Filter parameter determination unit 103)
Next, a detailed configuration of the filter parameter determination unit 103 will be described. FIG. 6 is a diagram for explaining the configuration of the filter parameter determination unit 103. As shown in FIG. 6, the filter parameter determination unit 103 includes a filter parameter setting unit 120, a loop filter execution unit 121, an error measurement unit 122, and a filter parameter determination unit 123. The terminal 12 is connected to the CTB encoding unit 102, the terminal 13 is connected to the image data acquisition unit 101, and the terminal 14 is connected to the filter parameter encoding unit 105 and the loop filter 104. The loop filter execution unit 121 includes a filter type determination unit 130, an edge type filter 131, and a band type filter 132.

引き続いて、フィルタパラメータ決定部103の動作について説明する。図7はフィルタパラメータ決定部103の動作を説明するフローチャートである。以下、図6と図7を用いて、フィルタパラメータ決定部103の動作について説明する。   Subsequently, the operation of the filter parameter determination unit 103 will be described. FIG. 7 is a flowchart for explaining the operation of the filter parameter determination unit 103. Hereinafter, the operation of the filter parameter determination unit 103 will be described with reference to FIGS. 6 and 7.

最初に、フィルタパラメータ設定部120は、端子12より供給される復号画像データと端子13より供給される原画像データに基づいて、フィルタパラメータ候補リストを生成し(S120)、生成したフィルタパラメータ候補リストをループフィルタ実行部121に供給する。フィルタパラメータ設定部120の詳細については後述する。   First, the filter parameter setting unit 120 generates a filter parameter candidate list based on the decoded image data supplied from the terminal 12 and the original image data supplied from the terminal 13 (S120), and the generated filter parameter candidate list Is supplied to the loop filter execution unit 121. Details of the filter parameter setting unit 120 will be described later.

次に、フィルタパラメータ候補リストに登録されている全てのフィルタパラメータについて以下の処理が繰り返される(S121からS126)。   Next, the following processing is repeated for all filter parameters registered in the filter parameter candidate list (S121 to S126).

まず、ループフィルタ実行部121は、端子12より供給される復号画像データに対してフィルタパラメータに基づいてループフィルタを適用して新たな復号画像データを生成し(S122)、当該復号画像データを誤差計測部122に供給する。ループフィルタ実行部121の詳細については後述する。   First, the loop filter execution unit 121 applies a loop filter to the decoded image data supplied from the terminal 12 based on the filter parameter to generate new decoded image data (S122), and converts the decoded image data into an error. It supplies to the measurement part 122. Details of the loop filter execution unit 121 will be described later.

誤差計測部122は、ループフィルタ実行部121より供給される復号画像データと端子13より供給される原画像データの誤差評価値を算出する(S123)。ここでは、誤差評価値はブロック内の復号画像データと原画像データの絶対差分和(SAD)とする。   The error measurement unit 122 calculates an error evaluation value between the decoded image data supplied from the loop filter execution unit 121 and the original image data supplied from the terminal 13 (S123). Here, the error evaluation value is the sum of absolute differences (SAD) of the decoded image data and the original image data in the block.

次に、誤差計測部122は、誤差評価値が最小であるか検査する(S124)。誤差評価値が最小であれば(S124のY)、フィルタパラメータをフィルタパラメータ確定部123に供給し、フィルタパラメータ確定部123は当該フィルタパラメータを保持する(S125)。   Next, the error measuring unit 122 checks whether the error evaluation value is the minimum (S124). If the error evaluation value is minimum (Y in S124), the filter parameter is supplied to the filter parameter determination unit 123, and the filter parameter determination unit 123 holds the filter parameter (S125).

誤差評価値が最小でなければ(S124のN)、次のフィルタパラメータが処理される(S126)。フィルタパラメータ候補リストに登録されている全てのフィルタパラメータの処理が完了すると、フィルタパラメータ確定部123が保持している誤差評価値が最小であるフィルタパラメータをフィルタパラメータとして確定して(S127)、処理を終了する。   If the error evaluation value is not minimum (N in S124), the next filter parameter is processed (S126). When the processing of all the filter parameters registered in the filter parameter candidate list is completed, the filter parameter having the smallest error evaluation value held by the filter parameter determination unit 123 is determined as the filter parameter (S127), and the processing Exit.

ここでは、誤差評価値としてSADを用いたが、フィルタパラメータが算出できればよく、これに限定されずSSDなどを用いても良い。また、復号画像データと原画像データの誤差だけでなく、フィルタパラメータを伝送するのに必要な符号量を加味して評価しても良い。   Here, SAD is used as the error evaluation value, but it is only necessary to be able to calculate the filter parameter, and the present invention is not limited to this, and SSD or the like may be used. Further, the evaluation may be performed in consideration of not only an error between the decoded image data and the original image data but also a code amount necessary for transmitting the filter parameter.

(フィルタパラメータ設定部120)
続いて、フィルタパラメータ設定部120の詳細について説明する。
(Filter parameter setting unit 120)
Next, details of the filter parameter setting unit 120 will be described.

最初に、フィルタパラメータについて説明する。フィルタパラメータは、フィルタタイプ、バンド幅、バンド位置、オフセット0、オフセット1、オフセット2、オフセット3、オフセット4で構成される。   First, filter parameters will be described. The filter parameters include a filter type, bandwidth, band position, offset 0, offset 1, offset 2, offset 3, and offset 4.

フィルタタイプには、フィルタタイプ0、フィルタタイプ1、フィルタタイプ2、フィルタタイプ3、フィルタタイプ4、及びフィルタタイプ5の6つがある。   There are six filter types: filter type 0, filter type 1, filter type 2, filter type 3, filter type 4, and filter type 5.

フィルタタイプ0はループフィルタを処理しないことを示し、フィルタタイプ1はループフィルタがバンドタイプフィルタであることを示し、フィルタタイプ2からフィルタタイプ5はループフィルタがエッジタイプフィルタであることを示す。   Filter type 0 indicates that no loop filter is processed, filter type 1 indicates that the loop filter is a band type filter, and filter types 2 to 5 indicate that the loop filter is an edge type filter.

フィルタパラメータ設定部120は、復号画像データと原画像データの誤差評価値が閾値以下であれば、フィルタタイプをフィルタタイプ0だけで構成されるフィルタパラメータ候補リストを生成し、誤差評価値が閾値以下でなければ、フィルタパラメータが取り得る全ての組み合わせのフィルタパラメータを含むフィルタパラメータ候補リストを生成する。   If the error evaluation value between the decoded image data and the original image data is equal to or smaller than the threshold value, the filter parameter setting unit 120 generates a filter parameter candidate list including only the filter type 0 as the filter type, and the error evaluation value is equal to or smaller than the threshold value. Otherwise, a filter parameter candidate list including all combinations of filter parameters that can be taken by the filter parameters is generated.

(ループフィルタ実行部121)
続いて、ループフィルタ実行部121の詳細について説明する。ループフィルタ実行部121は、フィルタタイプ判定部130とエッジタイプフィルタ131、バンドタイプフィルタ132で構成される。
(Loop filter execution unit 121)
Next, details of the loop filter execution unit 121 will be described. The loop filter execution unit 121 includes a filter type determination unit 130, an edge type filter 131, and a band type filter 132.

引き続いて、ループフィルタ実行部121の動作について説明する。
最初に、フィルタタイプ判定部130は、フィルタタイプの判定をする。フィルタタイプが0であれば、端子12より供給される復号画像データをフィルタ適用後の復号画像データとして誤差計測部122に出力する。フィルタタイプが1であれば、バンドタイプフィルタ132は、端子12より供給される復号画像データにフィルタパラメータに基づいてバンドタイプフィルタを適用し、フィルタ適用後の復号画像データを誤差計測部122に出力する。フィルタタイプが2から5であれば、エッジタイプフィルタ131は、端子12より供給される復号画像データにフィルタパラメータに基づいてエッジタイプフィルタを適用し、フィルタ適用後の復号画像データを誤差計測部122に出力する。
Subsequently, the operation of the loop filter execution unit 121 will be described.
First, the filter type determination unit 130 determines the filter type. If the filter type is 0, the decoded image data supplied from the terminal 12 is output to the error measuring unit 122 as decoded image data after applying the filter. If the filter type is 1, the band type filter 132 applies a band type filter to the decoded image data supplied from the terminal 12 based on the filter parameter, and outputs the decoded image data after the filter application to the error measurement unit 122. To do. If the filter type is 2 to 5, the edge type filter 131 applies the edge type filter to the decoded image data supplied from the terminal 12 based on the filter parameter, and the decoded image data after the filter application is used as the error measurement unit 122. Output to.

(エッジタイプフィルタ131)
続いて、エッジタイプフィルタ131の詳細について説明する。エッジタイプフィルタ131は、エッジアングル設定部141、隣接画素設定部142、エッジタイプ判定部143、エッジオフセット値設定部144、およびエッジオフセット値加算部145を含む。
(Edge type filter 131)
Next, details of the edge type filter 131 will be described. The edge type filter 131 includes an edge angle setting unit 141, an adjacent pixel setting unit 142, an edge type determination unit 143, an edge offset value setting unit 144, and an edge offset value addition unit 145.

図8はエッジタイプフィルタ131の動作を説明するフローチャートである。以下、図8を用いて、エッジタイプフィルタ131の動作を説明する。   FIG. 8 is a flowchart for explaining the operation of the edge type filter 131. Hereinafter, the operation of the edge type filter 131 will be described with reference to FIG.

最初に、エッジアングル設定部141は、エッジアングルの判定を行う(S130)。エッジアングルnはフィルタタイプnとする。nは2,3,4,5である。次に、符号化ツリーブロック内の64個の画素Xに対してラスタースキャン順に以下の処理を繰り返して行う(S131からS139)。Xは0、1、2、・・・、63である。   First, the edge angle setting unit 141 determines the edge angle (S130). The edge angle n is a filter type n. n is 2,3,4,5. Next, the following processing is repeated for the 64 pixels X in the coding tree block in the raster scan order (S131 to S139). X is 0, 1, 2,...

まず、隣接画素設定部142は、エッジアングルに応じた隣接画素Aと隣接画素Bを設定する(S132)。エッジアングルに応じた隣接画素Aと隣接画素Bについては後述する。次に、隣接画素設定部142は隣接画素Aまたは隣接画素Bがピクチャ外であるか検査する(S133)。隣接画素Aまたは隣接画素Bがピクチャ外であれば(S133のY)、エッジオフセット値設定部144はオフセット値を0に設定して(S137)、エッジオフセット値加算部145は画素Xにオフセット値を加算して処理画素X'を算出する(S138)。隣接画素Aまたは隣接画素Bがピクチャ外でなければ(S133のN)、loopfilter_interleave_flagが1であるか検査する(S140)。loopfilter_interleave_flagが1であれば(S140のY)、隣接画素設定部142は隣接画素Aまたは隣接画素Bがタイル外であるか検査する(S134)。隣接画素Aまたは隣接画素Bがタイル外であるとは、隣接画素Aまたは隣接画素Bが画素Xとは異なるタイルに属するCTBに含まれることである。loopfilter_interleave_flagが1でなければ(S140のN)、エッジタイプ判定部143は、エッジタイプの判定をする(S135)。   First, the adjacent pixel setting unit 142 sets the adjacent pixel A and the adjacent pixel B according to the edge angle (S132). The adjacent pixel A and the adjacent pixel B corresponding to the edge angle will be described later. Next, the adjacent pixel setting unit 142 checks whether the adjacent pixel A or the adjacent pixel B is outside the picture (S133). If the adjacent pixel A or the adjacent pixel B is outside the picture (Y in S133), the edge offset value setting unit 144 sets the offset value to 0 (S137), and the edge offset value adding unit 145 sets the offset value to the pixel X. Are added to calculate the processing pixel X ′ (S138). If the adjacent pixel A or the adjacent pixel B is not out of the picture (N in S133), it is checked whether loopfilter_interleave_flag is 1 (S140). If loopfilter_interleave_flag is 1 (Y in S140), the adjacent pixel setting unit 142 checks whether the adjacent pixel A or the adjacent pixel B is outside the tile (S134). The adjacent pixel A or the adjacent pixel B being out of the tile means that the adjacent pixel A or the adjacent pixel B is included in a CTB belonging to a tile different from the pixel X. If loopfilter_interleave_flag is not 1 (N in S140), the edge type determination unit 143 determines the edge type (S135).

隣接画素Aまたは隣接画素Bがタイル外であれば(S134のY)、エッジオフセット値設定部144はオフセット値を0に設定して(S137)、エッジオフセット値加算部145は画素Xにオフセット値を加算して処理画素X'を算出する(S138)。隣接画素Aまたは隣接画素Bがタイル外でなければ(S134のN)、エッジタイプ判定部143は、エッジタイプの判定をする(S135)。エッジタイプの判定については後述する。次に、エッジオフセット値設定部144は、オフセット値の設定をする(S136)。次に、エッジオフセット値加算部145は、画素Xにオフセット値を加算して処理画素X'を算出する(S138)。処理画素X'の算出については後述する。   If the adjacent pixel A or the adjacent pixel B is outside the tile (Y in S134), the edge offset value setting unit 144 sets the offset value to 0 (S137), and the edge offset value adding unit 145 sets the offset value to the pixel X. Are added to calculate the processing pixel X ′ (S138). If the adjacent pixel A or the adjacent pixel B is not outside the tile (N in S134), the edge type determination unit 143 determines the edge type (S135). The edge type determination will be described later. Next, the edge offset value setting unit 144 sets an offset value (S136). Next, the edge offset value adding unit 145 calculates the processing pixel X ′ by adding the offset value to the pixel X (S138). The calculation of the processing pixel X ′ will be described later.

(エッジアングルに応じた隣接画素Aと隣接画素B)
図9はエッジアングルに応じた隣接画素Aと隣接画素Bを説明する図である。エッジアングル1の場合、隣接画素Aは画素Xの左の画素、隣接画素Bは画素Xの右の画素となる(図9(a))。エッジアングル2の場合、隣接画素Aは画素Xの上の画素、隣接画素Bは画素Xの下の画素となる(図9(b))。エッジアングル3の場合、隣接画素Aは画素Xの右上の画素、隣接画素Bは画素Xの左下の画素となる(図9(c))。エッジアングル4の場合、隣接画素Aは画素Xの左上の画素、隣接画素Bは画素Xの右下の画素となる(図9(d))。このように、水平方向、垂直方向、右斜め方向、及び左斜め方向に対してエッジタイプフィルタを作用させることで、各方向に生じた誤差を補正することが可能となる。ここで、エッジアングル1、エッジアングル2、エッジアングル3、及びエッジアングル4はそれぞれ、フィルタタイプ2、フィルタタイプ3、フィルタタイプ4、及びフィルタタイプ5に割り当てられる。
(Adjacent pixel A and adjacent pixel B according to edge angle)
FIG. 9 is a diagram for explaining the adjacent pixel A and the adjacent pixel B according to the edge angle. In the case of the edge angle 1, the adjacent pixel A is the left pixel of the pixel X, and the adjacent pixel B is the right pixel of the pixel X (FIG. 9A). In the case of the edge angle 2, the adjacent pixel A is a pixel above the pixel X, and the adjacent pixel B is a pixel below the pixel X (FIG. 9B). In the case of the edge angle 3, the adjacent pixel A is the upper right pixel of the pixel X, and the adjacent pixel B is the lower left pixel of the pixel X (FIG. 9C). In the case of the edge angle 4, the adjacent pixel A is the upper left pixel of the pixel X, and the adjacent pixel B is the lower right pixel of the pixel X (FIG. 9D). As described above, by causing the edge type filter to act on the horizontal direction, the vertical direction, the right diagonal direction, and the left diagonal direction, it is possible to correct errors generated in the respective directions. Here, edge angle 1, edge angle 2, edge angle 3, and edge angle 4 are assigned to filter type 2, filter type 3, filter type 4, and filter type 5, respectively.

以上のように、エッジタイプフィルタ131において、フィルタパラメータがCTB単位で多重化されている(loopfilter_interleave_flagが1)場合、隣接画素Aまたは隣接画素Bがタイル外であれば、オフセット値を0に設定してループフィルタを作用させないようにすることで、ループフィルタの動作をCTB単位で完結させることができる。そのため、図10のようにCTB内の画素で右辺や下辺がタイル境界に接しているCTB内の画素Xにループフィルタを作用させるために必要となるフィルタ適用前の画素Aと画素Xは、タイル境界を跨いで保持される必要がなくなる。   As described above, in the edge type filter 131, when the filter parameter is multiplexed in CTB units (loopfilter_interleave_flag is 1), if the adjacent pixel A or the adjacent pixel B is outside the tile, the offset value is set to 0. By preventing the loop filter from acting, the operation of the loop filter can be completed in units of CTB. Therefore, as shown in FIG. 10, the pixel A and the pixel X before applying the filter, which are necessary for applying the loop filter to the pixel X in the CTB whose right side or lower side is in contact with the tile boundary, as shown in FIG. There is no need to be held across boundaries.

(エッジタイプの判定)
エッジタイプは、画素Xと隣接画素Aの差分の符号と、画素Xと隣接画素Bの差分の符号の和を加算した値である符号和SSで決定する。画素mの画素値をP(m)とすると、符号和SSは式(1)で算出される。
SS=Sign(P(X)−P(A))+Sign(P(X)−P(B)); 式(1)
ここで、Sign(i)は入力値iが0未満であれば−1を、入力値iが0以上であれば1を返す関数である。
(Edge type judgment)
The edge type is determined by a code sum SS that is a value obtained by adding the sum of the difference between the pixel X and the adjacent pixel A and the difference between the pixel X and the adjacent pixel B. When the pixel value of the pixel m is P (m), the code sum SS is calculated by Expression (1).
SS = Sign (P (X) -P (A)) + Sign (P (X) -P (B)); Formula (1)
Here, Sign (i) is a function that returns -1 if the input value i is less than 0, and returns 1 if the input value i is 0 or more.

SSが0、−2、−1、1、2である場合のエッジタイプをそれぞれ0、1、2、3、4とする。エッジタイプの0、1、2、3、4のオフセット値としてオフセット0、オフセット1、オフセット2、オフセット3、オフセット4がそれぞれ設定される。ここで、SSが0である場合は画素X、隣接画素A、及び隣接画素Bが直線的に並んでいるため、誤差はないとしてオフセット0は0に設定する。SSが0でない場合は歪みを補正するためオフセット0からオフセット4のそれぞれを適切な値に設定する。   The edge types when SS is 0, -2, -1, 1, 2, are 0, 1, 2, 3, 4, respectively. Offset 0, offset 1, offset 2, offset 3, and offset 4 are set as offset values of edge types 0, 1, 2, 3, and 4, respectively. Here, when SS is 0, since the pixel X, the adjacent pixel A, and the adjacent pixel B are arranged in a straight line, the offset 0 is set to 0 because there is no error. When SS is not 0, each of offset 0 to offset 4 is set to an appropriate value in order to correct distortion.

(エッジタイプフィルタの処理画素X'の算出)
画素Xのエッジタイプフィルタ適用後の処理画素X'は式(2)で算出される。
P(X')=P(X)+OFFSET[SS]; 式(2)
ここで、OFFSET[m]はオフセットmである(m=0,1,・・・,4)。
(Calculation of processing pixel X ′ of edge type filter)
The processing pixel X ′ after applying the edge type filter of the pixel X is calculated by Expression (2).
P (X ′) = P (X) + OFFSET [SS]; Formula (2)
Here, OFFSET [m] is an offset m (m = 0, 1,..., 4).

以上のように、エッジタイプフィルタでは、水平方向、垂直方向、右斜め方向、及び左斜め方向に対して、隣接画素との差分の符号によって、画素単位で適応的に誤差を補正することが可能となる。   As described above, in the edge type filter, it is possible to adaptively correct the error in units of pixels by the sign of the difference from the adjacent pixel in the horizontal direction, vertical direction, right diagonal direction, and left diagonal direction. It becomes.

(バンドタイプフィルタ132)
続いて、バンドタイプフィルタ132の詳細について説明する。バンドタイプフィルタ132は、ハンド幅設定部151、バンド位置設定部152、バンドオフセット値設定部153、およびバンドオフセット値加算部154を含む。
(Band type filter 132)
Next, details of the band type filter 132 will be described. The band type filter 132 includes a hand width setting unit 151, a band position setting unit 152, a band offset value setting unit 153, and a band offset value adding unit 154.

図11はバンドタイプフィルタ132の動作を説明するフローチャートである。以下、図11を用いて、バンドタイプフィルタの動作を説明する。   FIG. 11 is a flowchart for explaining the operation of the band type filter 132. Hereinafter, the operation of the band type filter will be described with reference to FIG.

最初に、ハンド幅設定部151は、バンド幅を設定する(S150)。   First, the hand width setting unit 151 sets a bandwidth (S150).

(バンド幅)
ここで、バンド幅について説明する。バンド幅は、入力画像の取り得る画素値の範囲を複数のバンドに分割する際のバンド幅である。本実施の形態では、バンド幅は32とする。本実施の形態では入力画像は8ビットであるため0から255までの画素値の範囲を有するため、0から31(バンド0)、32から63(バンド1)、64から95(バンド2)、96から127(バンド3)、128から159(バンド4)、160から191(バンド5)、192から223(バンド6)、224から255(バンド7)の8つのバンドに分割される。
(Bandwidth)
Here, the bandwidth will be described. The bandwidth is a bandwidth when the range of pixel values that can be taken by the input image is divided into a plurality of bands. In this embodiment, the bandwidth is 32. In this embodiment, since the input image is 8 bits and has a pixel value range from 0 to 255, 0 to 31 (band 0), 32 to 63 (band 1), 64 to 95 (band 2), It is divided into eight bands 96 to 127 (band 3), 128 to 159 (band 4), 160 to 191 (band 5), 192 to 223 (band 6), and 224 to 255 (band 7).

このようにバンド幅を設定して、バンド幅を大きくすることで、広範囲の画素値を一括して補正することができ、バンド幅を小さくすることで、狭範囲の画素値を一括して補正することができる。例えば、あるピクチャ内の画素の取り得る画素値のレンジが広い場合にはバンド幅が大きくなるようにし、あるピクチャ内の画素の取り得る画素値のレンジが狭い場合には、バンド幅が小さくなるようにして、ピクチャの特性に応じて、復号画像を適切に補正することができる。本実施の形態ではバンド幅は固定値として説明しているが、入力画像の取り得る画素値の範囲を1以上のバンドに分割できればよく、16や128でもよい。また、バンド幅をPPSなどに多重化して伝送し、ピクチャ内の画素の取り得る画素値のレンジなどに合わせて適応的に変更することで、効果的にバンドタイプフィルタを作用させることができる。   By setting the bandwidth in this way and increasing the bandwidth, a wide range of pixel values can be corrected at once, and by reducing the bandwidth, the pixel values in a narrow range can be corrected at once. can do. For example, when the range of pixel values that can be taken by a pixel in a picture is wide, the bandwidth is increased. When the range of pixel values that can be taken by a pixel in a picture is narrow, the bandwidth is reduced. In this way, the decoded image can be appropriately corrected according to the characteristics of the picture. In this embodiment, the bandwidth is described as a fixed value. However, the range of pixel values that can be taken by the input image may be divided into one or more bands, and may be 16 or 128. Also, the band type filter can be effectively operated by multiplexing and transmitting the bandwidth to PPS or the like and adaptively changing it according to the range of pixel values that can be taken by the pixels in the picture.

ステップS150に続いて、3つのバンド位置について以下の処理が繰り返される(S151からS158)。ここで、3つのバンド位置について説明する。1番目のバンド位置はフィルタパラメータに含まれるバンド位置である。2番目のバンド位置は1番目のバンド位置を1つだけずらしたバンド位置となる。例えば、1番目のバンド位置がバンド2であったとすると、2番目のバンド位置はバンド3となる。同様に、3番目のバンド位置は2番目のバンド位置を1つだけずらしたバンド位置となる。   Following step S150, the following processing is repeated for the three band positions (S151 to S158). Here, the three band positions will be described. The first band position is a band position included in the filter parameter. The second band position is a band position obtained by shifting the first band position by one. For example, if the first band position is band 2, the second band position is band 3. Similarly, the third band position is a band position obtained by shifting the second band position by one.

バンド位置設定部152は、b番目のバンド位置を設定する(S152)。ここで、bは0と1である。バンド位置は、バンド幅によって分割されたバンドのいずれかを示す値であって、ここでは、0から7までの整数となる。例えば、バンド位置の0はバンド0を示し、バンド位置の2はバンド3を示す。   The band position setting unit 152 sets the b-th band position (S152). Here, b is 0 and 1. The band position is a value indicating one of the bands divided by the band width, and is an integer from 0 to 7 here. For example, band position 0 indicates band 0 and band position 2 indicates band 3.

ステップS152に続いて、バンドオフセット値設定部153は、バンド毎のオフセット値を設定する(S153)。バンド位置で示されたバンドのオフセット値はオフセット0に設定されて、バンド位置で示されたバンド以外のバンドのオフセット値は0に設定される。   Subsequent to step S152, the band offset value setting unit 153 sets an offset value for each band (S153). The offset value of the band indicated by the band position is set to offset 0, and the offset value of the band other than the band indicated by the band position is set to 0.

次に、画素値の符号化ツリーブロック内の64個の画素Xに対してラスタースキャン順に以下の処理が行なわれる(S154からS157)。Xは0、1、・・・、63である。   Next, the following processing is performed in the raster scan order for the 64 pixels X in the encoding tree block of pixel values (S154 to S157). X is 0, 1,.

まず、バンドオフセット値加算部154は、画素Xの属するバンドであるxbを決定する(S155)。次に、バンドオフセット値加算部154は、画素Xに画素Xが属するバンドのオフセット値Ob[xb]を加算して処理画素X'を算出する(S156)。   First, the band offset value addition unit 154 determines xb that is a band to which the pixel X belongs (S155). Next, the band offset value addition unit 154 calculates the processing pixel X ′ by adding the offset value Ob [xb] of the band to which the pixel X belongs to the pixel X (S156).

(バンドタイプフィルタの処理画素X'の算出)
画素Xのバンドタイプフィルタ適用後の処理画素X'は式(3)で算出される。
P(X')=P(X)+Ob[xb];式(3)
(Calculation of processing pixel X ′ of band type filter)
The processed pixel X ′ of the pixel X after application of the band type filter is calculated by Expression (3).
P (X ′) = P (X) + Ob [xb]; Formula (3)

以上のように、バンドタイプフィルタは特定範囲内の画素値の画素だけを補正することができるため、平坦領域に発生し易いノイズなどを低減する効果がある。特に、4:2:0フォーマットなど輝度信号より解像度を減らした色差信号については、輝度信号よりもがDCに誤差が発生し易くエッジが少ないため、バンドタイプフィルタの効果が大きい。また、隣接画素を参照しないためエッジタイプのオフセットよりもフィルタリングの処理量やメモリ量を少なく実現することができる。   As described above, since the band type filter can correct only pixels having a pixel value within a specific range, it has an effect of reducing noise that is likely to occur in a flat region. In particular, for a color difference signal having a resolution reduced from that of a luminance signal, such as 4: 2: 0 format, the effect of the band type filter is great because errors are more likely to occur in DC than in the luminance signal and there are few edges. Further, since adjacent pixels are not referred to, it is possible to realize a filtering processing amount and a memory amount smaller than edge type offset.

(ループフィルタ104)
続いて、ループフィルタ104について説明する。ループフィルタ104は、ループフィルタ実行部121と同一の機能と動作を有するため、ここでの説明は省略する。
(Loop filter 104)
Next, the loop filter 104 will be described. Since the loop filter 104 has the same function and operation as the loop filter execution unit 121, description thereof is omitted here.

(フィルタパラメータ符号化部105)
続いて、フィルタパラメータ符号化部105の詳細について説明する。図12は符号化対象CTBと符号化対象CTBに隣接するCTBを説明する図である。図13はフィルタパラメータ符号化部105の動作を説明するフローチャートである。以下、図12と図13を用いて、フィルタパラメータ符号化部105の動作を説明する。
(Filter Parameter Encoding Unit 105)
Next, details of the filter parameter encoding unit 105 will be described. FIG. 12 is a diagram for explaining an encoding target CTB and a CTB adjacent to the encoding target CTB. FIG. 13 is a flowchart for explaining the operation of the filter parameter encoding unit 105. Hereinafter, the operation of the filter parameter encoding unit 105 will be described with reference to FIGS. 12 and 13.

最初に、隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagを導出する(S160)。次に、available_left_ctb_flagが1であるか検査する(S161)。available_left_ctb_flagが1であれば(S161のY)、符号化対象CTBと符号化対象CTBの左に位置するCTBのフィルタパラメータが同一であるか検査する(S162)。ここで、符号化対象CTBの左に位置するCTBは図12のCTBのAである。符号化対象CTBと符号化対象CTBの左に位置するCTBのフィルタパラメータが同一であれば(S162のY)、loopfilter_merge_left_flagを1としてloopfilter_merge_left_flagを符号化し(S163)、処理を終了する。符号化対象CTBと符号化対象CTBの左に位置するCTBのフィルタパラメータが同一でなければ(S162のN)、loopfilter_merge_left_flagを0としてloopfilter_merge_left_flagを符号化する(S164)。   First, available_left_ctb_flag and available_above_ctb_flag, which are the validity of adjacent CTBs, are derived (S160). Next, it is checked whether available_left_ctb_flag is 1 (S161). If available_left_ctb_flag is 1 (Y in S161), it is checked whether the filter parameters of the CTB located on the left of the encoding target CTB and the CTB to be encoded are the same (S162). Here, the CTB located to the left of the encoding target CTB is A of CTB in FIG. If the filter parameters of the CTB to be encoded and the CTB located to the left of the encoding target CTB are the same (Y in S162), loopfilter_merge_left_flag is set to 1 and loopfilter_merge_left_flag is encoded (S163), and the process ends. If the filter parameters of the CTB located to the left of the encoding target CTB and the CTB to be encoded are not the same (N in S162), the loopfilter_merge_left_flag is set to 0 and the loopfilter_merge_left_flag is encoded (S164).

available_left_ctb_flagが1でない場合と(S161のN)、ステップS164に続いて、available_above_ctb_flagが1であるか検査する(S165)。available_above_ctb_flagが1であれば(S165のY)、符号化対象CTBと符号化対象CTBの上に位置するCTBのフィルタパラメータが同一であるか検査する(S166)。ここで、符号化対象CTBの上に位置するCTBは図12のCTBのBである。符号化対象CTBと符号化対象CTBの上に位置するCTBのフィルタパラメータが同一であれば(S166のY)、loopfilter_merge_above_flagを1としてloopfilter_merge_above_flagを符号化し(S167)、処理を終了する。符号化対象CTBと符号化対象CTBの上に位置するCTBのフィルタパラメータが同一でなければ(S166のN)、loopfilter_merge_above_flagを0としてloopfilter_merge_above_flagを符号化する(S168)。ステップS168に続いて、ループフィルタ符号化パラメータであるloopfilter_cod_param()を符号化する。ここで、ループフィルタ符号化パラメータはフィルタパラメータの全ての要素を符号化した符号列である。   When available_left_ctb_flag is not 1 (N of S161), following step S164, it is checked whether available_above_ctb_flag is 1 (S165). If available_above_ctb_flag is 1 (Y in S165), it is checked whether the filter parameters of the CTB to be encoded and the CTB located on the CTB to be encoded are the same (S166). Here, the CTB located above the encoding target CTB is B of the CTB in FIG. If the filter parameters of the CTB to be encoded and the CTB located above the encoding target CTB are the same (Y in S166), loopfilter_merge_above_flag is set to 1 and loopfilter_merge_above_flag is encoded (S167), and the process ends. If the filter parameters of the CTB to be encoded and the CTB located above the encoding target CTB are not the same (N in S166), the loopfilter_merge_above_flag is set to 0 and the loopfilter_merge_above_flag is encoded (S168). Following step S168, loopfilter_cod_param (), which is a loop filter encoding parameter, is encoded. Here, the loop filter encoding parameter is a code string obtained by encoding all elements of the filter parameter.

なお、フィルタパラメータ符号化部105は、符号化対象CTBの左と上に位置するCTBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメータを保持しているものとする。   Note that the filter parameter encoding unit 105 holds the filter parameters of all the CTBs in the picture in order to refer to the filter parameters of the CTBs located on the left and above the CTB to be encoded.

ここで、CTB単位でフィルタパラメータを符号化する場合、全てのフィルタパラメータをループフィルタ符号化パラメータとして符号化すると、フィルタパラメータの符号化に膨大な符号量が必要となって、画像データを符号化したCTB符号列に十分に符号量を割り当てることができなくなり、結果的に符号化効率が低下する可能性がある。また、同一オブジェクトに属するCTBに対して異なるフィルタパラメータを用いた場合、同一オブジェクト内でのループフィルタの特性の相違がブロック歪みとして視覚的に認識される可能性がある。そのため、一般的には同一オブジェクト内ではフィルタパラメータは同一になるようにフィルタパラメータが設定される可能性が高い。よって、以上のように、符号化対象CTBのフィルタパラメータが符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータと同一である場合には、符号化対象CTBのフィルタパラメータとして符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータを利用することを示す1ビットのフラグを符号化することで、視覚的な劣化を伴うことなく、ループフィルタ符号化パラメータに要する符号量を1ビットに削減して、符号化効率を向上させることができる。なお、ループフィルタ符号化パラメータの詳細については後述するが、ループフィルタ符号化パラメータの符号化に要する符号量は1ビットよりも十分に大きな符号量となる。一方、符号化対象CTBのフィルタパラメータが符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータと同一でない場合には、符号化対象CTBのフィルタパラメータとして符号化対象CTBに隣接する符号化済みのCTBのフィルタパラメータを利用しないことを示す1ビットのフラグを符号化し、ループフィルタ符号化パラメータを符号化することで、CTB毎にフィルタパラメータを変更できる。   Here, when encoding the filter parameters in CTB units, if all the filter parameters are encoded as loop filter encoding parameters, an enormous amount of code is required for encoding the filter parameters, and the image data is encoded. Therefore, it is impossible to allocate a sufficient amount of code to the CTB code string, which may result in a decrease in encoding efficiency. Further, when different filter parameters are used for CTBs belonging to the same object, a difference in the characteristics of the loop filter within the same object may be visually recognized as block distortion. Therefore, generally, there is a high possibility that the filter parameters are set so that the filter parameters are the same within the same object. Therefore, as described above, when the filter parameter of the encoding target CTB is the same as the filter parameter of the encoded CTB adjacent to the encoding target CTB, the encoding target CTB is used as the filter parameter of the encoding target CTB. By encoding a 1-bit flag indicating that the encoded CTB filter parameter adjacent to the code is used, the code amount required for the loop filter encoding parameter is reduced to 1 bit without visual degradation. It is possible to reduce the coding efficiency. Although details of the loop filter encoding parameter will be described later, the code amount required for encoding the loop filter encoding parameter is a code amount sufficiently larger than 1 bit. On the other hand, when the filter parameter of the encoding target CTB is not the same as the filter parameter of the encoded CTB adjacent to the encoding target CTB, the encoded parameter adjacent to the encoding target CTB is used as the filter parameter of the encoding target CTB. By encoding a 1-bit flag indicating that no CTB filter parameter is to be used and by encoding a loop filter encoding parameter, the filter parameter can be changed for each CTB.

ここで、隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagの導出について説明する。図14は隣接CTBの有効性の導出を説明するフローチャートである。最初に、available_left_ctb_flagとavailable_above_ctb_flagは1に設定される(S180)。次に、符号化対象CTBの左辺がピクチャ境界に接しているか検査する(S181)。符号化対象CTBの左辺がピクチャ境界に接していれば(S181のY)、available_left_ctb_flagを0とする(S184)。符号化対象CTBの左辺がピクチャ境界に接していなければ(S181のN)、符号化対象CTBの左辺がタイル境界に接しているか検査する(S182)。ここで、符号化対象CTBの左辺がタイル境界に接しているとは、符号化対象CTBと符号化対象CTBの左に位置するCTBが別のタイルに属することである。一方、符号化対象CTBの左辺がタイル境界に接していないとは、符号化対象CTBと、符号化対象CTBの左に位置するCTBとが同一のタイルに属することである。符号化対象CTBの左辺がタイル境界に接していれば(S182のY)、loopfilter_interleave_flagが1であるか検査する(S183)。loopfilter_interleave_flagが1であれば(S183のY)、available_left_ctb_flagを0とする(S184)。loopfilter_interleave_flagが1でない場合(S183のN)は、ステップS184はスキップされる。符号化対象CTBの左辺がタイル境界に接していない場合(S182のN)は、ステップS183とステップS184はスキップされる。   Here, derivation of available_left_ctb_flag and available_above_ctb_flag, which are the validity of adjacent CTBs, will be described. FIG. 14 is a flowchart for explaining the derivation of the effectiveness of adjacent CTBs. First, available_left_ctb_flag and available_above_ctb_flag are set to 1 (S180). Next, it is checked whether the left side of the encoding target CTB is in contact with the picture boundary (S181). If the left side of the encoding target CTB is in contact with the picture boundary (Y in S181), the available_left_ctb_flag is set to 0 (S184). If the left side of the encoding target CTB is not in contact with the picture boundary (N in S181), it is checked whether the left side of the encoding target CTB is in contact with the tile boundary (S182). Here, the fact that the left side of the encoding target CTB is in contact with the tile boundary means that the encoding target CTB and the CTB located to the left of the encoding target CTB belong to different tiles. On the other hand, the fact that the left side of the encoding target CTB is not in contact with the tile boundary means that the encoding target CTB and the CTB located to the left of the encoding target CTB belong to the same tile. If the left side of the encoding target CTB is in contact with the tile boundary (Y in S182), it is checked whether loopfilter_interleave_flag is 1 (S183). If loopfilter_interleave_flag is 1 (Y in S183), available_left_ctb_flag is set to 0 (S184). If loopfilter_interleave_flag is not 1 (N in S183), step S184 is skipped. When the left side of the encoding target CTB is not in contact with the tile boundary (N in S182), Step S183 and Step S184 are skipped.

次に、符号化対象CTBの上辺がピクチャ境界に接しているか検査する(S185)。符号化対象CTBの上辺がピクチャ境界に接していれば(S185のY)、available_above_ctb_flagを0とする(S188)。符号化対象CTBの上辺がピクチャ境界に接していなければ(S185のN)、符号化対象CTBの上辺がタイル境界に接しているか検査する(S186)。ここで、符号化対象CTBの上辺がタイル境界に接しているとは、符号化対象CTBと符号化対象CTBの上に位置するCTBが別のタイルに属することである。一方、符号化対象CTBの上辺がタイル境界に接していないとは、符号化対象CTBと、符号化対象CTBの上に位置するCTBとが同一のタイルに属することである。符号化対象CTBの上辺がタイル境界に接していれば(S186のY)、loopfilter_interleave_flagが1であるか検査する(S187)。loopfilter_interleave_flagが1であれば(S187のY)、available_above_ctb_flagを0とする(S188)。loopfilter_interleave_flagが1でない場合(S187のN)は、ステップS188はスキップされる。符号化対象CTBの上辺がタイル境界に接していない場合(S186のN)は、ステップS187とステップS188はスキップされる。   Next, it is checked whether the upper side of the encoding target CTB is in contact with the picture boundary (S185). If the upper side of the encoding target CTB is in contact with the picture boundary (Y in S185), the available_above_ctb_flag is set to 0 (S188). If the upper side of the encoding target CTB is not in contact with the picture boundary (N in S185), it is checked whether the upper side of the encoding target CTB is in contact with the tile boundary (S186). Here, the fact that the upper side of the encoding target CTB is in contact with the tile boundary means that the CTB located on the encoding target CTB and the encoding target CTB belong to different tiles. On the other hand, the fact that the upper side of the encoding target CTB is not in contact with the tile boundary means that the encoding target CTB and the CTB located on the encoding target CTB belong to the same tile. If the upper side of the CTB to be encoded is in contact with the tile boundary (Y in S186), it is checked whether loopfilter_interleave_flag is 1 (S187). If loopfilter_interleave_flag is 1 (Y in S187), available_above_ctb_flag is set to 0 (S188). If loopfilter_interleave_flag is not 1 (N in S187), step S188 is skipped. When the upper side of the encoding target CTB is not in contact with the tile boundary (N in S186), Step S187 and Step S188 are skipped.

ここで、フィルタパラメータがCTB単位で多重化され(loopfilter_interleave_flagが1)、符号化処理がタイル単位で独立(並列)に行なわれるような場合に、符号化対象CTBの左辺がタイル境界に接している符号化対象CTBについて、左に位置するCTBからフィルタパラメータを取得することを許可すると、左に位置するCTBのフィルタパラメータが確定されるまで、符号化対象CTBとフィルタパラメータと左に位置するCTBのフィルタパラメータとが同一であるか検査することができないため、待ち時間が生じる可能性がある。そこで、CTBの左辺がタイル境界に接しているような符号化対象CTBについては、左に位置するCTBのフィルタパラメータの利用を禁止する。さらに、available_left_ctb_flagを0としてloopfilter_merge_left_flagを符号化しないようにすることで、loopfilter_merge_left_flagの符号量を削減し、符号化効率の低下を抑制する。また、loopfilter_merge_left_flagを符号化しないようにすることで、明示的に左に位置するCTBのフィルタパラメータの利用を禁止することができる。同様に、符号化対象CTBの上辺がタイル境界に接している場合に、available_above_ctb_flagを0としてloopfilter_merge_above_flagを符号化しないようにすることで符号化効率の低下を抑制し、明示的に上に位置するCTBのフィルタパラメータの利用を禁止することができる。   Here, when the filter parameters are multiplexed in CTB units (loopfilter_interleave_flag is 1) and the encoding process is performed independently (in parallel) in tile units, the left side of the encoding target CTB is in contact with the tile boundary. If it is permitted to obtain the filter parameters from the CTB located on the left for the encoding target CTB, the encoding target CTB, the filter parameter, and the CTB located on the left are determined until the filter parameter of the CTB located on the left is determined. Since it is not possible to check whether the filter parameters are the same, latency may occur. Therefore, for the CTB to be encoded whose CTB left side is in contact with the tile boundary, use of the filter parameter of the CTB located on the left is prohibited. Furthermore, by setting the available_left_ctb_flag to 0 so that the loopfilter_merge_left_flag is not encoded, the code amount of the loopfilter_merge_left_flag is reduced, and a decrease in encoding efficiency is suppressed. Also, by not encoding the loopfilter_merge_left_flag, it is possible to prohibit the use of the filter parameter of the CTB positioned explicitly on the left. Similarly, when the upper side of the CTB to be encoded is in contact with the tile boundary, the available_above_ctb_flag is set to 0 so that loopfilter_merge_above_flag is not encoded, thereby suppressing a decrease in encoding efficiency, and an explicitly located CTB The use of filter parameters can be prohibited.

(シンタックス)
続いて、本実施の形態に係るシンタックスについて説明する。符号化においてはシンタックスに含まれる各要素が符号化ストリーム中に符号化される。一方、復号においては、シンタックスに含まれる各要素が符号化ストリームから復号されて、符号化において符号化された要素と同じ値を取得することができる。これ以降、特に断らない限り、シンタックスを構成する各要素は固定長ビットで符号列となる。図15と図16はシンタックスを説明する図である。以下、図15と図16を用いて、シンタックスについて説明する。ここでは、説明を容易にするためにシンタックスを構成する各要素は固定長ビットで符号列となるとしたが、可変長ビットとしてもよい。
(Syntax)
Next, the syntax according to the present embodiment will be described. In encoding, each element included in the syntax is encoded in an encoded stream. On the other hand, in decoding, each element included in the syntax is decoded from the encoded stream, and the same value as the element encoded in the encoding can be obtained. Thereafter, unless otherwise specified, each element constituting the syntax becomes a code string with fixed-length bits. 15 and 16 are diagrams for explaining the syntax. Hereinafter, the syntax will be described with reference to FIGS. 15 and 16. Here, for ease of explanation, each element constituting the syntax is a fixed-length bit and becomes a code string, but may be a variable-length bit.

最初に、SPS(Sequence Parameter Set)について説明する。SPSはシーケンス(符号化ストリーム)の特性を決定するためのパラメータ群を定義するパラメータセットである。ピクチャのサイズ、ビット深度、CTBのサイズ、CTBの分割回数などが定義される。   First, SPS (Sequence Parameter Set) will be described. SPS is a parameter set that defines a parameter group for determining characteristics of a sequence (encoded stream). The picture size, bit depth, CTB size, number of CTB divisions, and the like are defined.

続いて、PPS(Picture Parameter Set)について説明する。図15(a)はPPSのシンタックスの一例を説明する図である。PPSはピクチャの特性を決定するためのパラメータ群を定義するパラメータセットである。PPSには、loopfilter_interleave_flag、pic_loopfilter_param()、tiles_coding_flag、num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、colmn_width、colmn_heightがシンタックスに従って設置され、動画像符号化において符号化され、動画像復号において復号される。   Next, PPS (Picture Parameter Set) will be described. FIG. 15A is a diagram for explaining an example of the syntax of PPS. PPS is a parameter set that defines a group of parameters for determining picture characteristics. In PPS, loopfilter_interleave_flag, pic_loopfilter_param (), tiles_coding_flag, num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing, and cin

PPSのシンタックス要素であるtiles_coding_flag、num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、colmn_width、colmn_heightはタイル情報である。tiles_coding_flagは、1であればピクチャは複数のタイルで構成され、0であればピクチャはタイルとして構成されないことを示す。num_tile_columns_minus1とnum_tile_rows_minus1はそれぞれタイルを垂直方向と水平方向に分割する数を示す。uniform_spacing_flagはピクチャを予め定められた方法で分割するか否かを決定する情報である。ここでは、予め定められた方法とは、ピクチャを同じ大きさのタイルに分割することを示す。colmn_width[i]とcolmn_height[i]はそれぞれi番目のタイルの幅と高さを示す。図2(b)の場合は、num_tile_columns_minus1とnum_tile_rows_minus1は1、uniform_spacing_flagは1として符号化される。なお、シーケンス単位でタイルの構成が変更されない場合、これらタイル情報のシンタックス要素をSPSに設置することもできる。   Tile_coding_flag, num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width, and column_height are PPS syntax elements. tiles_coding_flag is 1 if the picture is composed of a plurality of tiles, and 0 is that the picture is not composed of tiles. num_tile_columns_minus1 and num_tile_rows_minus1 indicate numbers for dividing the tile in the vertical direction and the horizontal direction, respectively. uniform_spacing_flag is information for determining whether or not to divide a picture by a predetermined method. Here, the predetermined method indicates that the picture is divided into tiles having the same size. column_width [i] and column_height [i] indicate the width and height of the i-th tile, respectively. In the case of FIG. 2B, num_tile_columns_minus1 and num_tile_rows_minus1 are encoded as 1, and uniform_spacing_flag is encoded as 1. If the tile configuration is not changed in sequence units, the syntax elements of the tile information can be installed in the SPS.

(スライスヘッダ)
続いて、スライスヘッダについて説明する。図15(b)はスライスヘッダのシンタックスの一例を説明する図である。スライスヘッダはスライスの特性を決定するためのパラメータ群を定義するヘッダ情報である。スライスヘッダには、slice_address、slice_type、num_of_tiles、tile_positionがシンタックスに従って設置され、動画像符号化において符号化され、動画像復号において復号される。
(Slice header)
Next, the slice header will be described. FIG. 15B is a diagram for explaining an example of the syntax of the slice header. The slice header is header information that defines a parameter group for determining the characteristics of the slice. In the slice header, slice_address, slice_type, num_of_tiles, and tile_position are set according to the syntax, encoded in moving picture encoding, and decoded in moving picture decoding.

slice_address(スライスアドレス)は、スライスに含まれる最初のCTBのCTBアドレスを示す。slice_type(スライスタイプ)は、イントラ予測のみを用いたIスライス、イントラ予測と単予測のインター予測(動き補償予測)を用いたPスライス、イントラ予測と、単予測と双予測のインター予測を用いたBスライスを示す値である。num_of_tilesはスライスに含まれるタイル数を示す。tile_positionはタイルの先頭バイトのスライスヘッダの先頭バイトからのバイト数を示す。   The slice_address (slice address) indicates the CTB address of the first CTB included in the slice. For slice_type (slice type), I slice using only intra prediction, P slice using intra prediction and inter prediction (motion compensated prediction), intra prediction, and inter prediction of uni prediction and bi prediction are used. A value indicating a B slice. num_of_tiles indicates the number of tiles included in the slice. tile_position indicates the number of bytes from the first byte of the slice header of the first byte of the tile.

(ループフィルタに関するシンタックス)
図16(a)はPPS内のピクチャループフィルタパラメータ(pic_loopfilter_param())のシンタックスの一例を説明する図である。ピクチャループフィルタパラメータには、loopfilter_unit()がシンタックスに従って設置され、動画像符号化において符号化され、動画像復号において復号される。num_of_ctbsはピクチャ内の総CTB数であって、PPS内にはピクチャ内の全てのCTBのloopfilter_unit()が格納される。
(Syntax for loop filter)
FIG. 16A is a diagram for explaining an example of the syntax of the picture loop filter parameter (pic_loopfilter_param ()) in the PPS. In the picture loop filter parameter, loopfilter_unit () is set according to the syntax, encoded in moving picture encoding, and decoded in moving picture decoding. num_of_ctbs is the total number of CTBs in the picture, and loopfilter_unit () of all the CTBs in the picture is stored in the PPS.

図16(b)はループフィルタ符号化パラメータ(loopfilter_cod_param())のシンタックスの一例を説明する図である。ループフィルタ符号化パラメータには、loopfilter_type_idx、loopfilter_band_position、loopfilter_offsetがシンタックスに従って設置され、動画像符号化において符号化され、動画像復号において復号される。   FIG. 16B is a diagram for explaining an example of the syntax of the loop filter encoding parameter (loopfilter_cod_param ()). In the loop filter encoding parameter, loopfilter_type_idx, loopfilter_band_position, and loopfilter_offset are set according to the syntax, encoded in moving image encoding, and decoded in moving image decoding.

loopfilter_type_idxはフィルタパラメータのフィルタタイプを示すインデックスであって、0から5の整数である。loopfilter_type_idxは3ビットの符号列である。loopfilter_band_positionはフィルタパラメータのバンド位置であって、0から7までの整数を示す3ビットの符号列である。loopfilter_offsetはフィルタパラメータのオフセットであって、loopfilter_type_idxが1の場合は−32から31までの整数であって6ビットの符号列となり、loopfilter_type_idxが2から5の場合は0から31までの整数であって5ビットの符号列となる。   loopfilter_type_idx is an index indicating the filter type of the filter parameter, and is an integer from 0 to 5. loopfilter_type_idx is a 3-bit code string. loopfilter_band_position is a band position of the filter parameter, and is a 3-bit code string indicating an integer from 0 to 7. loopfilter_offset is an offset of the filter parameter. When loopfilter_type_idx is 1, it is an integer from −32 to 31 and is a 6-bit code string, and when loopfilter_type_idx is from 2 to 5, it is an integer from 0 to 31. It becomes a 5-bit code string.

ここで、エッジタイプフィルタに要する符号量はloopfilter_type_idxの3ビットとloopfilter_offsetの5ビットが4個であり、23ビットとなる。バンドタイプフィルタに要する符号量はloopfilter_type_idxの3ビットとloopfilter_band_positionの3ビットとoopfilter_offsetの6ビットが3個であり、24ビットとなる。   Here, the code amount required for the edge type filter is 3 bits of loopfilter_type_idx and 5 bits of loopfilter_offset, which is 23 bits. The code amount required for the band type filter is 3 bits, 3 bits of loopfilter_type_idx, 3 bits of loopfilter_band_position, and 6 bits of loopfilter_offset, which is 24 bits.

ここで、本実施の形態ではエッジタイプフィルタとバンドタイプフィルタのオフセット数をそれぞれ4個と3個に設定している。これは、バンドタイプフィルタのフィルタパラメータはエッジタイプフィルタのフィルタパラメータよりも1個あたりの符号量が大きいため、エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡させるためである。エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡させることで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのループフィルタ符号化パラメータの符号化時間と復号時間を均衡させることができ、ハードウェアの回路設計やソフトウェアの設計を容易にすることができる。ここでは、エッジタイプフィルタとバンドタイプフィルタのオフセット数をそれぞれ4個と3個に設定したが、例えば、エッジタイプフィルタとバンドタイプフィルタのオフセット数をそれぞれ2個と1個などのように設定してもよい。   Here, in this embodiment, the offset numbers of the edge type filter and the band type filter are set to 4 and 3, respectively. This is because the amount of code required for each of the edge type filter and the band type filter is balanced because the filter parameter of the band type filter has a larger code amount per filter than the filter parameter of the edge type filter. By balancing the amount of code required for each of the edge type filter and the band type filter, the encoding time and the decoding time of the loop filter encoding parameters of the edge type filter and the band type filter can be balanced. Circuit design and software design can be facilitated. Here, the offset numbers of the edge type filter and the band type filter are set to 4 and 3, respectively. For example, the offset numbers of the edge type filter and the band type filter are set to 2 and 1, respectively. May be.

図16(c)はループフィルタユニット(loopfilter_unit())のシンタックスの一例を説明する図である。ループフィルタユニットには、loopfilter_merge_left_flag、loopfilter_merge_above_flag、loopfilter_cod_param()がシンタックスに従って設置され、動画像符号化において符号化され、動画像復号において復号される。   FIG. 16C illustrates an example of the syntax of the loop filter unit (loopfilter_unit ()). In the loop filter unit, loopfilter_merge_left_flag, loopfilter_merge_above_flag, and loopfilter_cod_param () are installed according to the syntax, encoded in moving image encoding, and decoded in moving image decoding.

(符号列多重部107の機能と動作)
以下、符号列多重部107によって多重化される符号化ストリームの構成について説明する。図17は第1の実施の形態による符号化ストリームの構成の一例を説明する図である。図17はloopfilter_interleave_flagが1である場合の符号化ストリームの構成を示す。SPSは符号列多重部107によって符号化されて、符号化ストリームの先頭に多重化される。PPSは符号列多重部107によって符号化されて、ピクチャの先頭に多重化される。スライスヘッダは符号列多重部107によって符号化されて、スライスの先頭に多重化される。スライスヘッダに続いて、そのスライスに属するCTBについてCTB符号順序に以下の処理が繰り返し行われる。まず、CTBのループフィルタユニットが多重化されて、その後にCTB符号列が多重化される。
(Function and operation of code string multiplexing unit 107)
Hereinafter, the configuration of the encoded stream multiplexed by the code string multiplexing unit 107 will be described. FIG. 17 is a diagram for explaining an example of the configuration of the encoded stream according to the first embodiment. FIG. 17 shows the structure of an encoded stream when loopfilter_interleave_flag is 1. The SPS is encoded by the code string multiplexing unit 107 and multiplexed at the head of the encoded stream. The PPS is encoded by the code string multiplexing unit 107 and multiplexed at the head of the picture. The slice header is encoded by the code string multiplexing unit 107 and multiplexed at the head of the slice. Following the slice header, the following processing is repeated in the CTB code order for the CTBs belonging to the slice. First, the CTB loop filter unit is multiplexed, and then the CTB code string is multiplexed.

ここで、SPS、PPS、スライスヘッダには一般的な同期コードが付与されて、SPS、PPS、スライスヘッダは符号化ストリーム中から分離できるようになる。また、タイルにはヘッダが付与されないが、スライスヘッダのtile_positionによって符号化ストリーム中から分離できる。   Here, a general synchronization code is added to the SPS, PPS, and slice header, and the SPS, PPS, and slice header can be separated from the encoded stream. In addition, although a header is not given to the tile, it can be separated from the encoded stream by the tile_position of the slice header.

以上のように、loopfilter_interleave_flagを1に設定してCTB符号順序にCTBのフィルタパラメータをCTB単位で多重化することで、フィルタパラメータの伝送遅延を抑制した動画像符号化装置を実現することができる。   As described above, by setting loopfilter_interleave_flag to 1 and multiplexing the CTB filter parameters in the CTB code order in units of CTBs, it is possible to realize a moving picture coding apparatus that suppresses transmission delay of filter parameters.

(動画像復号装置200の構成)
図18は、第1の実施の形態に係る動画像復号装置200の構成を説明する図である。動画像復号装置200は、動画像符号化装置100によって生成された符号化ストリームが入力されて、ピクチャ単位で復号ピクチャを再生する装置である。
(Configuration of moving picture decoding apparatus 200)
FIG. 18 is a diagram illustrating the configuration of the video decoding device 200 according to the first embodiment. The moving picture decoding apparatus 200 is an apparatus that receives the encoded stream generated by the moving picture encoding apparatus 100 and reproduces a decoded picture in units of pictures.

動画像復号装置200は、CPU(Central Processing Unit)、フレームメモリ、ハードディスクなどを備える情報処理装置などのハードウェアにより実現される。動画像復号装置200は、上記の構成要素が動作することにより、以下に説明する機能的な構成要素を実現する。   The moving picture decoding apparatus 200 is realized by hardware such as an information processing apparatus including a CPU (Central Processing Unit), a frame memory, and a hard disk. The moving picture decoding apparatus 200 realizes functional components described below by operating the above components.

本実施の形態の動画像復号装置200は、符号列分離部201、CTB復号部202、ループフィルタ203、フィルタパラメータ復号部204、フレームメモリ205、及び復号制御部210を含む。   The moving picture decoding apparatus 200 according to the present embodiment includes a code string separation unit 201, a CTB decoding unit 202, a loop filter 203, a filter parameter decoding unit 204, a frame memory 205, and a decoding control unit 210.

(動画像復号装置200の機能と動作)
復号制御部210は、領域情報、ループフィルタ情報、SPS、PPS、スライスヘッダなどピクチャを復号するために必要となる情報を管理して、符号列分離部201、CTB復号部202、ループフィルタ203、フィルタパラメータ復号部204、フレームメモリ205を制御して符号化ストリームを復号する。なお、領域情報、ループフィルタ情報、SPS、PPS、スライスヘッダなどピクチャを復号するために必要となる情報は動画像復号装置200内で共有されているものとし、これらデータのフローの説明は省略する。
(Function and operation of moving picture decoding apparatus 200)
The decoding control unit 210 manages information necessary for decoding pictures such as region information, loop filter information, SPS, PPS, and slice header, and includes a code string separation unit 201, a CTB decoding unit 202, a loop filter 203, The filter parameter decoding unit 204 and the frame memory 205 are controlled to decode the encoded stream. Note that information necessary for decoding pictures such as region information, loop filter information, SPS, PPS, and slice header is assumed to be shared in the video decoding device 200, and description of the flow of these data is omitted. .

図19は、第1の実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図18はピクチャ単位の復号動作を示す。以下、図18と図19を用いて、各部の機能と動作について説明する。   FIG. 19 is a flowchart for explaining the operation of the moving picture decoding apparatus 200 according to the first embodiment. FIG. 18 shows a decoding operation in units of pictures. Hereinafter, the function and operation of each unit will be described with reference to FIGS. 18 and 19.

本実施の形態では、loopfilter_interleave_flagは1に設定された符号化ストリームが入力されるとする。   In the present embodiment, it is assumed that an encoded stream in which loopfilter_interleave_flag is set to 1 is input.

最初に、符号列分離部201は、端子20より入力される符号化ストリームからピクチャストリームを取得する(S500)。ここで、ピクチャストリームとはピクチャ単位の符号化ストリームであり、ピクチャストリームの最初のCTBの符号列の前にSPSが存在する場合にはSPSも含まれる。   First, the code string separation unit 201 acquires a picture stream from an encoded stream input from the terminal 20 (S500). Here, the picture stream is an encoded stream in units of pictures, and includes SPS when SPS is present before the first CTB code string of the picture stream.

次に、符号列分離部201は、タイルストリームにSPSが含まれていればSPSを復号し、ピクチャのサイズを取得する。また、図15のシンタックスに従ってPPSを復号し、ループフィルタ情報とタイル情報を取得する(S501)。   Next, the code string separation unit 201 decodes the SPS if the tile stream includes the SPS, and acquires the size of the picture. Further, the PPS is decoded according to the syntax of FIG. 15, and loop filter information and tile information are acquired (S501).

復号制御部210は、ピクチャのサイズとタイル情報から領域情報を導出する。ここで、領域情報は動画像符号化装置100で設定された領域情報と同じ情報が導出されるものとする。なお、ピクチャのサイズとタイル情報によって設定されるCTBアドレス(CTBのアドレス順序)と、CTBが符号化される順序との関係も動画像符号化装置100で設定された動画像符号化装置100で設定された関係と同一となる。   The decoding control unit 210 derives region information from the picture size and tile information. Here, it is assumed that the same information as the region information set by the moving image encoding apparatus 100 is derived as the region information. Note that the relationship between the CTB address (CTB address order) set by the picture size and tile information and the order in which the CTB is encoded is also the moving picture coding apparatus 100 set by the moving picture coding apparatus 100. It is the same as the set relationship.

次に、ピクチャストリームに含まれる全てのCTBについて、以下の処理が繰り返し行われる(S502からS508)。   Next, the following processing is repeatedly performed for all CTBs included in the picture stream (S502 to S508).

まず、スライスヘッダがあれば、図15のシンタックスに従ってスライスヘッダを復号してスライスアドレスを取得し、スライスアドレスをCTBアドレスとし、領域情報からCTBアドレスに該当するCTB符号順序を得る。スライスヘッダがなければCTB符号順序を1だけインクリメントし、領域情報からCTB符号順序に該当するCTBアドレスを得る(S503)。ここで、CTBアドレスは、CTB符号順序から図5に示すCTBアドレスとCTB符号順序の関係に基づいて導出される。例えば、CTB符号順序が8のCTBのCTBアドレスは14となる。次のCTBではCTB符号順序が1だけインクリメントされて9となり、CTBアドレスは15となる。以上のように、CTB符号順序からCTBアドレスとCTB符号順序の関係に基づいてCTBアドレスを得る。   First, if there is a slice header, the slice header is decoded according to the syntax of FIG. 15 to obtain a slice address, the slice address is set as a CTB address, and the CTB code order corresponding to the CTB address is obtained from the region information. If there is no slice header, the CTB code order is incremented by 1, and a CTB address corresponding to the CTB code order is obtained from the region information (S503). Here, the CTB address is derived from the CTB code order based on the relationship between the CTB address and the CTB code order shown in FIG. For example, the CTB address of a CTB whose CTB code order is 8 is 14. In the next CTB, the CTB code order is incremented by 1 to 9 and the CTB address is 15. As described above, the CTB address is obtained from the CTB code order based on the relationship between the CTB address and the CTB code order.

次に、CTB復号部202は、CTB復号部202内部のエントロピー復号部の設定をする(S504)。ここで、CTB復号部202の内部のエントロピー復号部は、動画像符号化装置100によって生成された符号列を復号可能なCABACであって、スライスまたはタイルの開始において初期化される。   Next, the CTB decoding unit 202 sets the entropy decoding unit inside the CTB decoding unit 202 (S504). Here, the entropy decoding unit inside the CTB decoding unit 202 is a CABAC capable of decoding the code string generated by the video encoding device 100, and is initialized at the start of a slice or tile.

次に、符号列分離部201は復号対象CTBのループフィルタユニットをフィルタパラメータ復号部204に供給し、フィルタパラメータ復号部204はループフィルタユニットをフィルタパラメータに復号して(S505)、当該フィルタパラメータをループフィルタ203に供給する。フィルタパラメータ復号部204の詳細については後述する。
次に、符号列分離部201は復号対象CTBのCTB符号列をCTB復号部202に供給し、CTB復号部202は復号対象CTBのCTB符号列を復号して、復号対象CTBの復号画像データを取得して(S506)、当該復号画像データをループフィルタ203に供給する。
Next, the code string separation unit 201 supplies the loop filter unit of the CTB to be decoded to the filter parameter decoding unit 204, and the filter parameter decoding unit 204 decodes the loop filter unit to the filter parameter (S505), This is supplied to the loop filter 203. Details of the filter parameter decoding unit 204 will be described later.
Next, the code string separation unit 201 supplies the CTB code string of the CTB to be decoded to the CTB decoding unit 202, and the CTB decoding unit 202 decodes the CTB code string of the CTB to be decoded and obtains the decoded image data of the CTB to be decoded. Acquired (S506), and supplies the decoded image data to the loop filter 203.

次に、ループフィルタ203は、CTB復号部202より供給される復号画像データに対して、符号列分離部201より供給されるフィルタパラメータに基づいてループフィルタを実行し(S507)、新たな復号画像データを生成して、当該復号画像データをフレームメモリ205に供給する。ループフィルタ203は動画像符号化装置100のループフィルタ104と同一の機能を有するため、説明は省略する。   Next, the loop filter 203 executes a loop filter on the decoded image data supplied from the CTB decoding unit 202 based on the filter parameter supplied from the code string separation unit 201 (S507), and a new decoded image is obtained. Data is generated and the decoded image data is supplied to the frame memory 205. Since the loop filter 203 has the same function as the loop filter 104 of the video encoding device 100, the description thereof is omitted.

(フィルタパラメータ復号部204の機能と動作)
続いて、フィルタパラメータ復号部204の機能と動作について説明する。
図20はフィルタパラメータ復号部204の動作を説明するフローチャートである。以下、図20を用いて、フィルタパラメータ復号部204の機能と動作について説明する。
(Function and operation of filter parameter decoding unit 204)
Next, functions and operations of the filter parameter decoding unit 204 will be described.
FIG. 20 is a flowchart for explaining the operation of the filter parameter decoding unit 204. Hereinafter, the function and operation of the filter parameter decoding unit 204 will be described with reference to FIG.

最初に、フィルタパラメータ復号部204は、available_left_ctb_flagとavailable_above_ctb_flagを導出する(S510)。ここで、available_left_ctb_flagとavailable_above_ctb_flagの導出方法は図14で説明した処理において「符号化対象CTB」を「復号対象CTB」に置き換えたものと同一である。   First, the filter parameter decoding unit 204 derives available_left_ctb_flag and available_above_ctb_flag (S510). Here, the method for deriving available_left_ctb_flag and available_above_ctb_flag is the same as that in the process described with reference to FIG. 14 in which “encoding target CTB” is replaced with “decoding target CTB”.

次に、available_left_ctb_flagが1であるか検査する(S511)。available_left_ctb_flagが1であれば(S511のY)、loopfilter_merge_left_flagを復号する(S512)。次に、loopfilter_merge_left_flagが1であるか検査する(S513)。loopfilter_merge_left_flagが1であれば(S513のY)、復号対象CTBの左に位置するCTBのフィルタパラメータを復号対象CTBのフィルタパラメータとして(S514)、処理を終了する。   Next, it is checked whether available_left_ctb_flag is 1 (S511). If available_left_ctb_flag is 1 (Y in S511), loopfilter_merge_left_flag is decoded (S512). Next, it is inspected whether loopfilter_merge_left_flag is 1 (S513). If loopfilter_merge_left_flag is 1 (Y in S513), the CTB filter parameter located to the left of the decoding target CTB is used as the decoding target CTB filter parameter (S514), and the process is terminated.

available_left_ctb_flagが1でないか(S511のN)、loopfilter_merge_left_flagが1でなければ(S513のN)、available_above_ctb_flagが1であるか検査する(S515)。available_above_ctb_flagが1であれば(S515のY)、loopfilter_merge_above_flagを復号する(S516)。次に、loopfilter_merge_above_flagが1であるか検査する(S517)。loopfilter_merge_above_flagが1であれば(S517のY)、復号対象CTBの上に位置するCTBのフィルタパラメータを復号対象CTBのフィルタパラメータとして(S518)、処理を終了する。available_above_ctb_flagが1でないか(S515のN)、loopfilter_merge_above_flagが1でなければ(S517のN)、loopfilter_cod_param()を復号して(S519)、処理を終了する。   If available_left_ctb_flag is not 1 (N in S511) or loopfilter_merge_left_flag is not 1 (N in S513), it is checked whether available_above_ctb_flag is 1 (S515). If available_above_ctb_flag is 1 (Y in S515), loopfilter_merge_above_flag is decoded (S516). Next, it is checked whether loopfilter_merge_above_flag is 1 (S517). If loopfilter_merge_above_flag is 1 (Y in S517), the CTB filter parameter located above the decoding target CTB is used as the filtering parameter of the decoding target CTB (S518), and the process is terminated. If available_above_ctb_flag is not 1 (N in S515) or loopfilter_merge_above_flag is not 1 (N in S517), loopfilter_cod_param () is decoded (S519), and the process is terminated.

以上のように、loopfilter_interleave_flagを1に設定してCTB符号順序にCTBのフィルタパラメータをCTB単位で分離して復号し、CTB単位でループフィルタを実行することで、ピクチャ内の全てのCTBの復号処理の完了直後に復号画像データを出力することのできる低遅延な動画像復号装置を実現することができる。なお、フィルタパラメータ復号部204は、復号対象CTBの左と上に位置するCTBのフィルタパラメータを参照するため、ピクチャ内の全てのCTBのフィルタパラメータを保持しているものとする。   As described above, the loop filter_interleave_flag is set to 1, the CTB filter parameters are separated and decoded in CTB units in the CTB code order, and the loop filter is executed in CTB units, thereby decoding all CTBs in the picture. Thus, it is possible to realize a low-delay moving image decoding apparatus that can output decoded image data immediately after the completion of. Note that the filter parameter decoding unit 204 holds the filter parameters of all the CTBs in the picture in order to refer to the filter parameters of the CTBs located on the left and the top of the decoding target CTB.

また、復号対象CTBの左辺がタイル境界に接している場合、復号対象CTBのフィルタパラメータとして復号対象CTBの左に位置する復号済みのCTBのフィルタパラメータを利用すると、復号対象CTBの左辺が接しているCTBの処理が終了するまで復号対象CTBのフィルタパラメータが確定できなくなる。そこで、復号対象CTBの左辺がタイル境界に接している場合、復号対象CTBのフィルタパラメータとして復号対象CTBの左に位置する復号済みのCTBのフィルタパラメータを利用するか否かを示すフラグであるloopfilter_merge_left_flagを復号しないことで、復号対象CTBの左に位置する復号済みのCTBのフィルタパラメータを利用不能とする。このようにすることで、復号対象CTBの左辺がタイル境界に接している場合でも、復号対象CTBのループフィルタユニットを復号した直後にフィルタパラメータを得ることを可能とする。そして、復号対象CTBの左辺が接しているCTBの処理の終了を待つことなく、ループフィルタ203の処理をCTB単位で動作させて、ループフィルタ適用後の復号画像データの出力遅延を最小限に低減することができる。   Further, when the left side of the decoding target CTB is in contact with the tile boundary, if the filter parameter of the decoded CTB located to the left of the decoding target CTB is used as the filtering parameter of the decoding target CTB, the left side of the decoding target CTB is in contact with The filter parameter of the CTB to be decoded cannot be determined until the processing of the current CTB is completed. Therefore, when the left side of the decoding target CTB is in contact with the tile boundary, a loopfilter_merge_left_flag that is a flag indicating whether or not to use the filter parameter of the decoded CTB located to the left of the decoding target CTB as the filter parameter of the decoding target CTB. Is not decoded, the filter parameter of the decoded CTB located to the left of the CTB to be decoded is made unusable. In this way, even when the left side of the decoding target CTB is in contact with the tile boundary, it is possible to obtain a filter parameter immediately after decoding the loop filter unit of the decoding target CTB. Then, without waiting for the end of the CTB processing with which the left side of the decoding target CTB is in contact, the processing of the loop filter 203 is operated in units of CTB, and the output delay of the decoded image data after applying the loop filter is minimized. can do.

同様に、復号対象CTBの上辺がタイル境界に接している場合、復号対象CTBのフィルタパラメータとして復号対象CTBの上に位置する復号済みのCTBのフィルタパラメータを利用するか否かを示すフラグであるloopfilter_merge_above_flagを復号しないことで、復号対象CTBの上に位置する復号済みのCTBのフィルタパラメータを利用不能とする。このようにすることで、復号対象CTBの上辺がタイル境界に接している場合でも、復号対象CTBのループフィルタユニットを復号した直後にフィルタパラメータを得ることを可能とする。そして、復号対象CTBの上辺が接しているCTBの処理の終了を待つことなく、ループフィルタ203の処理をCTB単位で動作させて、ループフィルタ適用後の復号画像データの出力遅延を最小限に低減することができる。   Similarly, when the upper side of the decoding target CTB is in contact with the tile boundary, the flag indicates whether or not to use the decoded CTB filter parameter located above the decoding target CTB as the filter parameter of the decoding target CTB. By not decoding the loopfilter_merge_above_flag, the filter parameters of the decoded CTB located above the CTB to be decoded are made unusable. In this way, even when the upper side of the decoding target CTB is in contact with the tile boundary, it is possible to obtain the filter parameters immediately after decoding the loop filter unit of the decoding target CTB. Then, without waiting for the end of the CTB process with which the upper side of the decoding target CTB is in contact, the processing of the loop filter 203 is operated in units of CTBs, and the output delay of the decoded image data after applying the loop filter is minimized. can do.

[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態は第1の実施の形態とはloopfilter_interleave_flagが0に設定されることが異なる。つまり、フィルタパラメータはピクチャ単位で符号化される。
以下、第1の実施の形態とは異なる点について説明する。
[Second Embodiment]
Next, a second embodiment will be described. The second embodiment is different from the first embodiment in that loopfilter_interleave_flag is set to 0. That is, the filter parameter is encoded on a picture-by-picture basis.
Hereinafter, differences from the first embodiment will be described.

最初に、本実施の形態に係る動画像符号化装置100の動作を説明する。図21は、第2の実施の形態に係る動画像符号化装置100の動作を説明するフローチャートである。図21に示すように、ステップS107からステップS110がピクチャ内の全てのCTBの符号化処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内の全てのCTBについてステップS107、ステップS108、ステップS109の処理が繰り返し行われる(S112からS113)。   First, the operation of the moving picture coding apparatus 100 according to the present embodiment will be described. FIG. 21 is a flowchart for explaining the operation of the moving picture coding apparatus 100 according to the second embodiment. As shown in FIG. 21, steps S107 to S110 are executed after all CTBs in the picture have been encoded. According to the order of the CTB addresses, the processes of step S107, step S108, and step S109 are repeatedly performed for all CTBs in the picture (S112 to S113).

次に、ピクチャの全てのCTBについて、符号列多重部107はCTB符号化部102より供給されるCTB符号列とフィルタパラメータ符号化部105より供給されるループフィルタユニットを、必要に応じてSPS、PPS、スライスヘッダなどとともに符号化ストリームとして多重化する(S110)。ここで、符号列多重部107によって多重化される符号化ストリームの構成について説明する。図22は第2の実施の形態による符号化ストリームの構成の一例を説明する図である。図22はloopfilter_interleave_flagが0である場合の符号化ストリームの構成を示す。SPSは符号化ストリームの先頭に多重化される。PPSはピクチャの先頭に多重化される。このとき、PPSにはループフィルタユニットをピクチャ単位でまとめたピクチャループフィルタパラメータが多重化される。スライスの先頭にはスライスヘッダが多重化される。スライスヘッダに続いて、そのスライスに属するCTBについてCTB符号順序にCTB符号列が多重化される。   Next, for all CTBs of the picture, the code sequence multiplexing unit 107 converts the CTB code sequence supplied from the CTB encoding unit 102 and the loop filter unit supplied from the filter parameter encoding unit 105 to SPS, as necessary. The encoded stream is multiplexed together with the PPS, slice header, etc. (S110). Here, the configuration of the encoded stream multiplexed by the code string multiplexing unit 107 will be described. FIG. 22 is a diagram for explaining an example of the configuration of an encoded stream according to the second embodiment. FIG. 22 shows the structure of an encoded stream when loopfilter_interleave_flag is 0. The SPS is multiplexed at the head of the encoded stream. PPS is multiplexed at the head of a picture. At this time, picture loop filter parameters in which loop filter units are grouped in units of pictures are multiplexed in the PPS. A slice header is multiplexed at the head of the slice. Following the slice header, the CTB code sequence is multiplexed in the CTB code order for the CTBs belonging to the slice.

また、ステップS105のエントロピー符号部の設定の動作が異なる。本実施の形態では、符号化対象CTBがスライスまたはタイルの最初のCTBである場合、フィルタパラメータ符号化部105はフィルタパラメータ符号化部105の内部のエントロピー符号部を初期化しない。   Further, the setting operation of the entropy coding unit in step S105 is different. In the present embodiment, when the encoding target CTB is the first CTB of a slice or tile, the filter parameter encoding unit 105 does not initialize the entropy encoding unit inside the filter parameter encoding unit 105.

ここで、フィルタパラメータの符号化について、第1の実施の形態ではloopfilter_interleave_flagが1に設定されていたため、符号化対象CTBの左辺がタイル境界に接している場合、available_left_ctb_flagが0に設定されたが、第2の実施の形態ではloopfilter_interleave_flagが0に設定されるため、符号化対象CTBの左辺がタイル境界に接している場合でも、available_left_ctb_flagが1に設定される。そのため、符号化対象CTBの左辺がタイル境界に接している場合でもloopfilter_merge_left_flagを符号化することが可能となって、符号化効率を向上させることができる。同様に符号化対象CTBの上辺がタイル境界に接している場合でもloopfilter_merge_left_flagを符号化することが可能となって、符号化効率を向上させることができる。   Here, for filter parameter encoding, loopfilter_interleave_flag is set to 1 in the first embodiment. Therefore, when the left side of the encoding target CTB is in contact with the tile boundary, available_left_ctb_flag is set to 0. In the second embodiment, loopfilter_interleave_flag is set to 0, so that available_left_ctb_flag is set to 1 even when the left side of the encoding target CTB is in contact with the tile boundary. Therefore, even when the left side of the encoding target CTB is in contact with the tile boundary, it is possible to encode the loopfilter_merge_left_flag, and the encoding efficiency can be improved. Similarly, even when the upper side of the encoding target CTB is in contact with the tile boundary, the loopfilter_merge_left_flag can be encoded, and the encoding efficiency can be improved.

また、loopfilter_interleave_flagを0に設定してフィルタパラメータをピクチャ単位でまとめて多重化することで、フィルタパラメータの符号量を抑制した符号化装置を実現することができる。   Also, by setting loopfilter_interleave_flag to 0 and multiplexing the filter parameters in units of pictures, an encoding device that suppresses the code amount of the filter parameters can be realized.

続いて、本実施の形態に係る動画像復号装置200の動作を説明する。図23は第2の実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図23に示すように、ステップS505とステップS507がピクチャ内の全てのCTBの復号処理がなされた後に実行される。CTBアドレスの順序に従って、ピクチャ内の全てのCTBについてステップS505、ステップS507の処理が繰り返し行われる(S510からS511)。   Subsequently, the operation of the moving picture decoding apparatus 200 according to the present embodiment will be described. FIG. 23 is a flowchart for explaining the operation of the moving picture decoding apparatus 200 according to the second embodiment. As shown in FIG. 23, step S505 and step S507 are executed after decoding of all CTBs in the picture. According to the order of the CTB addresses, the processes in steps S505 and S507 are repeated for all CTBs in the picture (S510 to S511).

ここで、本実施の形態におけるステップS505について説明する。符号列分離部201はピクチャループフィルタパラメータ中の復号対象CTBのループフィルタユニットをフィルタパラメータ復号部204に供給し、フィルタパラメータ復号部204はループフィルタユニットをフィルタパラメータに復号して(S505)、当該フィルタパラメータをループフィルタ203に供給する。   Here, step S505 in the present embodiment will be described. The code string separation unit 201 supplies the loop filter unit of the CTB to be decoded in the picture loop filter parameter to the filter parameter decoding unit 204, and the filter parameter decoding unit 204 decodes the loop filter unit to the filter parameter (S505), The filter parameter is supplied to the loop filter 203.

また、ループフィルタ203の動作が異なる。本実施の形態では、ループフィルタはピクチャ内の全てのCTBの復号処理がなされた後に実行されるため、ループフィルタ203はピクチャ内の全てのCTBの復号画像データを保持している。   Further, the operation of the loop filter 203 is different. In the present embodiment, since the loop filter is executed after decoding of all CTBs in the picture, the loop filter 203 holds the decoded image data of all CTBs in the picture.

また、ステップS504のエントロピー復号部の設定の動作が異なる。本実施の形態では、復号対象CTBがスライスまたはタイルの最初のCTBであっても、フィルタパラメータ復号部204はフィルタパラメータ復号部204の内部のエントロピー復号部を初期化しないことが第1の実施の形態とは異なる。   Also, the setting operation of the entropy decoding unit in step S504 is different. In the present embodiment, even if the decoding target CTB is the first CTB of a slice or tile, the filter parameter decoding unit 204 does not initialize the entropy decoding unit in the filter parameter decoding unit 204 according to the first embodiment. Different from form.

以上のように、本実施の形態に係る動画像復号装置200は、本実施の形態に係る動画像符号化装置100によって生成された符号化ストリームを復号し、復号画像データを出力することができる。   As described above, the video decoding apparatus 200 according to the present embodiment can decode the encoded stream generated by the video encoding apparatus 100 according to the present embodiment and output decoded image data. .

[第3の実施の形態]
次に、第3の実施の形態について説明する。本実施の形態は第1の実施の形態とはループフィルタを適用する画素が異なる。第1の実施の形態ではCTBで完結するようにループフィルタを動作させたが、本実施の形態ではCTBを跨ってループフィルタを実行させることを可能とする。
以下、第1の実施の形態とは異なる点について説明する。
[Third Embodiment]
Next, a third embodiment will be described. This embodiment is different from the first embodiment in the pixel to which the loop filter is applied. In the first embodiment, the loop filter is operated so as to complete with CTB, but in this embodiment, it is possible to execute the loop filter across CTB.
Hereinafter, differences from the first embodiment will be described.

最初に、PPSのシンタックスが異なる。図24は、第3の実施の形態に係るPPSのシンタックスを説明する図である。PPSにloopfilter_across_tiles_flagが追加されることが第1の実施の形態とは異なる。loopfilter_across_tiles_flagはループフィルタをタイル境界に跨って処理することを許可するか否かを示す1ビットのフラグである。loopfilter_across_tiles_flagが1であれば、ループフィルタをタイル境界に跨って処理することを許可し、loopfilter_across_tiles_flagが0であれば、ループフィルタをタイル境界に跨って処理することを許可しない。本実施の形態では、loopfilter_across_tiles_flagは1であるとする。   First, the syntax of PPS is different. FIG. 24 is a diagram for explaining the syntax of PPS according to the third embodiment. The difference from the first embodiment is that a loop filter_cross_tiles_flag is added to the PPS. loopfilter_cross_tiles_flag is a 1-bit flag indicating whether or not to permit processing of the loop filter across tile boundaries. If the loop filter_cross_tiles_flag is 1, the loop filter is allowed to process across the tile boundary, and if the loop filter_cross_tiles_flag is 0, the loop filter is not allowed to process across the tile boundary. In the present embodiment, it is assumed that loopfilter_cross_tiles_flag is 1.

図25は、第3の実施の形態に係る動画像符号化装置100の動作を説明するフローチャートである。図25を用いて第1の実施の形態とは異なる本実施の形態に係る動画像符号化装置100の動作を説明する。ステップS102に引き続いて、ピクチャの全てのCTBのフィルタパラメータが決定される(S112)。ここで、ピクチャの全てのCTBのフィルタパラメータが決定される方法については、例えば、一般的な2パスのエンコードや前のピクチャのデータを参照にして生成するなどの手法で実現できる。   FIG. 25 is a flowchart for explaining the operation of the moving picture coding apparatus 100 according to the third embodiment. The operation of the moving picture encoding apparatus 100 according to the present embodiment, which is different from the first embodiment, will be described using FIG. Subsequent to step S102, the filter parameters of all CTBs of the picture are determined (S112). Here, the method for determining the filter parameters of all CTBs of a picture can be realized by, for example, a general two-pass encoding or a method of generating by referring to the data of the previous picture.

また、ステップS107の代わりにステップS115が実施される。ステップS115では、ステップS112で決定されたフィルタパラメータについて、符号化対象のCTBのフィルタパラメータが取得される。   Further, step S115 is performed instead of step S107. In step S115, the filter parameter of the CTB to be encoded is acquired for the filter parameter determined in step S112.

また、ステップS111に引き続いて、タイル境界を跨る画素についてループフィルタを実行する(S116)。タイル境界を跨る画素とは、垂直方向のタイル境界であれば、タイル境界の左に位置する画素とタイル境界の右に位置する画素であり、水平方向のタイル境界であれば、タイル境界の上に位置する画素とタイル境界の下に位置する画素である。ステップS116は、ステップS103からステップS111をタイル単位で独立処理(並列処理)させる場合に必要な処理である。   Further, following step S111, a loop filter is executed for pixels straddling the tile boundary (S116). Pixels that straddle a tile boundary are pixels that are located on the left of the tile boundary and pixels that are located on the right of the tile boundary if the tile boundary is in the vertical direction, and above the tile boundary if the tile boundary is in the horizontal direction. And a pixel located below the tile boundary. Step S116 is a process necessary when performing independent processing (parallel processing) from step S103 to step S111 in units of tiles.

以上のように、ピクチャ内の全てのCTBのフィルタパラメータをCTB単位の符号化処理の前に決定し、ピクチャ内の全てのCTBについてCTB単位の符号化処理が終了した後にループフィルタを実行することで、符号化ストリームの出力は、CTB単位の符号化処理で出力することができるため、低遅延の動画像符号化装置を実現することができる。   As described above, the filter parameters of all CTBs in a picture are determined before the encoding process in CTB units, and the loop filter is executed after the encoding process in CTB units for all CTBs in the picture is completed. Thus, since the output of the encoded stream can be output by an encoding process in units of CTB, a low-delay moving image encoding apparatus can be realized.

図26は、第3の実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図26を用いて第1の実施の形態とは異なる本実施の形態に係る動画像復号装置200の動作を説明する。ステップS506の次にステップS507が実施されない。ステップS508に引き続いて、ピクチャ内の全てのCTBについて、CTBアドレスの順序でステップS512とステップS507の処理が繰り返し行われる(S510からS511)。以下、ステップS512とステップS507について説明する。   FIG. 26 is a flowchart for explaining the operation of the moving picture decoding apparatus 200 according to the third embodiment. The operation of the moving picture decoding apparatus 200 according to the present embodiment, which is different from the first embodiment, will be described using FIG. Step S507 is not performed after step S506. Subsequent to step S508, the processes of steps S512 and S507 are repeated for all CTBs in the picture in the order of CTB addresses (S510 to S511). Hereinafter, step S512 and step S507 will be described.

処理対象CTBのloopfilter_merge_left_flagが1であれば、処理対象CTBの左に位置するCTBからフィルタパラメータを取得する。処理対象CTBのloopfilter_merge_left_flagが0で、処理対象CTBのloopfilter_merge_above_flagが1であれば、処理対象CTBの上に位置するCTBからフィルタパラメータを取得する。処理対象CTBのloopfilter_merge_left_flagが0で、処理対象CTBのloopfilter_merge_above_flagが0であれば、処理対象CTBのファイルパラメータを取得する(S512)。   If the loopfilter_merge_left_flag of the processing target CTB is 1, the filter parameter is acquired from the CTB located to the left of the processing target CTB. If the loop filter_merge_left_flag of the processing target CTB is 0 and the loop filter_merge_above_flag of the processing target CTB is 1, the filter parameter is acquired from the CTB located above the processing target CTB. If the loop filter_merge_left_flag of the processing target CTB is 0 and the loop filter_merge_above_flag of the processing target CTB is 0, the file parameter of the processing target CTB is acquired (S512).

ループフィルタ104は、処理対象CTBの復号画像データに対して、処理対象CTBのフィルタパラメータに基づいてループフィルタを実行し、新たな復号画像データを生成して、当該復号画像データをフレームメモリ205に供給する(S507)。ここでは、ループフィルタ104はピクチャ内のすべてのCTBの復号画像データを保持しているとするが、CTB復号部202より供給される復号画像データをフレームメモリ205に供給して記憶させ、ステップS507ではフレームメモリ205から処理対象CTBの復号画像データを取得するようにしてもよい。   The loop filter 104 performs a loop filter on the decoded image data of the processing target CTB based on the filter parameter of the processing target CTB, generates new decoded image data, and stores the decoded image data in the frame memory 205. Supply (S507). Here, it is assumed that the loop filter 104 holds the decoded image data of all CTBs in the picture, but the decoded image data supplied from the CTB decoding unit 202 is supplied to the frame memory 205 to be stored, and step S507 is performed. Then, the decoded image data of the processing target CTB may be acquired from the frame memory 205.

続いて、エッジタイプフィルタ131の動作について説明する。図27は第3の実施の形態のエッジタイプフィルタ131の動作を説明するフローチャートである。ステップS140が第1の実施の形態とは異なる。ステップS140では、loopfilter_across_tiles_flagが1であれば、ステップS134の画素Aまたは画素Bがタイル外であるかの検査結果をスキップして、エッジタイプフィルタを実行するステップであるステップS135以降の動作を行う。   Next, the operation of the edge type filter 131 will be described. FIG. 27 is a flowchart for explaining the operation of the edge type filter 131 according to the third embodiment. Step S140 is different from that of the first embodiment. In step S140, if loopfilter_cross_tiles_flag is 1, the inspection result in step S134 on whether pixel A or pixel B is out of the tile is skipped, and the operations after step S135, which is a step of executing an edge type filter, are performed.

このように、loopfilter_interleave_flagが1としてフィルタパラメータの伝送遅延を小さくする場合でも、loopfilter_across_tiles_flagが1であれば、エッジタイプフィルタにおいてタイル外の画素Aと画素Bを参照することで、タイル境界の左右または上下に接する2画素にループフィルタを適用することが可能となって、タイル境界の歪を低減することができる。また動き補償予測などで利用される参照ピクチャの画質が改善されるため、符号化効率を向上させることができる。   In this way, even when loopfilter_interleave_flag is set to 1 and the transmission delay of the filter parameter is reduced, if loopfilter_cross_tiles_flag is 1, the edge type filter refers to pixel A and pixel B outside the tile, so It becomes possible to apply a loop filter to two pixels that are in contact with each other, and the distortion of the tile boundary can be reduced. In addition, since the image quality of the reference picture used in motion compensation prediction is improved, the coding efficiency can be improved.

続いて、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagの導出について説明する。図28は第3の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。ステップS190とステップS191が追加されている点が第1の実施の形態とは異なる。ステップS190とステップS191はloopfilter_across_tiles_flagが1であるか検査する。以下、ステップS190とステップS191について説明する。   Next, derivation of available_left_ctb_flag and available_above_ctb_flag, which are the effectiveness of adjacent CTBs in the operations of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, will be described. FIG. 28 is a flowchart for explaining the derivation of the effectiveness of adjacent CTBs in the third embodiment. The difference from the first embodiment is that step S190 and step S191 are added. Steps S190 and S191 check whether loopfilter_cross_tiles_flag is 1. Hereinafter, step S190 and step S191 will be described.

loopfilter_across_tiles_flagが1であれば(S190のY)、ステップ182、ステップ183、及びステップ184がスキップされて、符号化対象CTBの左辺がタイル境界に接しているか否かに関わらずavailable_left_ctb_flagが1に設定される。loopfilter_across_tiles_flagが1でなければ(S190のN)、ステップS182が実行される。
loopfilter_across_tiles_flagが1であれば(S190のY)、ステップ186、ステップ187、及びステップ188がスキップされて、符号化対象CTBの上辺がタイル境界に接しているか否かに関わらずavailable_above_ctb_flagが1に設定される。loopfilter_across_tiles_flagが1でなければ(S191のN)、ステップS186が実行される。
If loopfilter_cross_tiles_flag is 1 (Y in S190), step 182, step 183, and step 184 are skipped, and available_left_ctb_flag is set to 1 regardless of whether the left side of the encoding target CTB is in contact with the tile boundary or not. The If loopfilter_cross_tiles_flag is not 1 (N in S190), step S182 is executed.
If loopfilter_cross_tiles_flag is 1 (Y in S190), step 186, step 187, and step 188 are skipped, and available_above_ctb_flag is set to 1 regardless of whether the upper side of the encoding target CTB is in contact with the tile boundary or not. The If loopfilter_cross_tiles_flag is not 1 (N in S191), step S186 is executed.

以上のように、loopfilter_across_tiles_flagが1に設定される場合、フィルタパラメータの符号化では、タイル境界を跨いでフィルタパラメータを取得することを示すフラグであるloopfilter_merge_left_flagとloopfilter_merge_above_flagの符号化を許可し、タイル境界を跨いでフィルタパラメータが同一となるような場合、loopfilter_merge_left_flagやloopfilter_merge_above_flagを1に設定してフィルタパラメータに要する符号量を1ビットにすることで、符号化効率を向上させることができる。   As described above, when loopfilter_cross_tiles_flag is set to 1, in encoding of filter parameters, loopfilter_merge_left_flag and flag of loopfilter_merge_above_flag, which is a flag indicating that the filter parameter is acquired across the tile boundary, and encoding of boundaries of tile are permitted. When the filter parameters are the same across the two, the coding efficiency can be improved by setting the loop filter_merge_left_flag and the loop filter_merge_above_flag to 1 and setting the code amount required for the filter parameter to 1 bit.

また、loopfilter_across_tiles_flagが1に設定される場合、ファイルユニットの復号では、loopfilter_merge_left_flag、loopfilter_merge_above_flag、及びloopfilter_cod_param()を復号しておき、全てのCTBの復号処理が終了した後で、ループフィルタを実行する前にloopfilter_merge_left_flagが1であるCTBについては当該CTBの左に位置するCTBからフィルタパラメータを取得し、loopfilter_merge_above_flagが1であるCTBについては当該CTBの上に位置するCTBからフィルタパラメータを取得するようにすることで、フィルタパラメータの復号処理を停止させることなく、ピクチャの全てのCTBの復号処理が終了した後にループフィルタを正確に実行させることができる。   Also, when loopfilter_cross_tiles_flag is set to 1, in decoding of a file unit, loopfilter_merge_left_flag, loopfilter_merge_above_flag, and loop of loopfilter_code_param () after decoding of CT before decoding and looping before CT of the loop before decoding For a CTB having a loopfilter_merge_left_flag of 1, a filter parameter is obtained from the CTB located to the left of the CTB. For a CTB having a loopfilter_merge_above_flag of 1, the filter parameter is obtained from the CTB located above the CTB. , Filter parameters Without stopping the decoding processing of data, the loop filter can be performed accurately after decoding all the CTB picture is finished.

ここで、ファイルユニットのシンタックス要素において最も複雑な構造を有するloopfilter_cod_param()を事前に復号しておくことで、フィルタパラメータを取得する遅延を最小限に抑制することができる。   Here, by decoding the loopfilter_cod_param () having the most complicated structure in the syntax element of the file unit in advance, the delay for acquiring the filter parameter can be minimized.

また、ループフィルタの実行遅延を抑制する場合には、ステップS505において、タイル境界の外のフィルタパラメータを利用しないCTBについてはループフィルタを実行しておき、全てのCTBの復号処理が終了した後で、タイル境界の外のフィルタパラメータを利用するCTBについてループフィルタを実行するようにしてもよい。   In order to suppress the execution delay of the loop filter, in step S505, the loop filter is executed for the CTB that does not use the filter parameter outside the tile boundary, and after all the CTB decoding processes are completed. A loop filter may be executed for a CTB that uses filter parameters outside the tile boundary.

[第4の実施の形態]
次に、第4の実施の形態について説明する。第4の実施の形態は第3の実施の形態とはタイル境界におけるフィルタリングとフィルタパラメータの符号化の制御が異なる。
以下、第3の実施の形態とは異なる点について説明する。
[Fourth Embodiment]
Next, a fourth embodiment will be described. The fourth embodiment is different from the third embodiment in filtering at the tile boundary and control of filter parameter encoding.
Hereinafter, differences from the third embodiment will be described.

最初に、PPSのシンタックスが異なる。図29は、第4の実施の形態に係るPPSのシンタックスを説明する図である。PPSにloopfilter_interleave_across_tiles_flagが追加されることが第3の実施の形態とは異なる。loopfilter_interleave_across_tiles_flagはタイル境界を跨ってフィルタパラメータを取得することを許可するか否かを示す1ビットのフラグである。loopfilter_interleave_across_tiles_flagが1であれば、タイル境界を跨ってフィルタパラメータを取得することを許可し、loopfilter_interleave_across_tiles_flagが0であれば、タイル境界を跨ってフィルタパラメータを取得することを許可しない。本実施の形態では、loopfilter_interleave_across_tiles_flagは0であるとする。   First, the syntax of PPS is different. FIG. 29 is a diagram for explaining the syntax of the PPS according to the fourth embodiment. The difference from the third embodiment is that a loop filter_interleave_cross_tiles_flag is added to the PPS. loopfilter_interleave_cross_tiles_flag is a 1-bit flag indicating whether or not to allow acquisition of filter parameters across tile boundaries. If loopfilter_interleave_cross_tiles_flag is 1, it is permitted to acquire filter parameters across tile boundaries, and if loopfilter_interleave_cross_tiles_flag is 0, it is not permitted to acquire filter parameters across tile boundaries. In the present embodiment, it is assumed that loopfilter_interleave_cross_tiles_flag is 0.

続いて、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagの導出について説明する。図30は第4の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。ステップS190とステップS191が第3の実施の形態とは異なる。ステップS190とステップS191はloopfilter_interleave_across_tiles_flagが1であるか検査する。   Next, derivation of available_left_ctb_flag and available_above_ctb_flag, which are the effectiveness of adjacent CTBs in the operations of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, will be described. FIG. 30 is a flowchart for explaining the derivation of the effectiveness of adjacent CTBs in the fourth embodiment. Steps S190 and S191 are different from those of the third embodiment. Steps S190 and S191 check whether loopfilter_interleave_cross_tiles_flag is 1.

続いて、動画像復号装置200の動作を説明する。図37は、第4の実施の形態に係る動画像復号装置200の動作を説明するフローチャートである。図37を用いて第3の実施の形態とは異なる本実施の形態に係る動画像復号装置200の動作を説明する。
ステップS506に続いて、タイル境界に接する画素以外の画素についてループフィルタが実行される(S520)。また、ステップS508に続いて、タイル境界に接する画素についてループフィルタが実行される(S521)。
Next, the operation of the video decoding device 200 will be described. FIG. 37 is a flowchart for explaining the operation of the moving picture decoding apparatus 200 according to the fourth embodiment. The operation of the moving picture decoding apparatus 200 according to the present embodiment, which is different from the third embodiment, will be described with reference to FIG.
Subsequent to step S506, a loop filter is executed for pixels other than the pixels in contact with the tile boundary (S520). Further, following step S508, a loop filter is executed for pixels that are in contact with the tile boundary (S521).

以上のように、loopfilter_interleave_flagを1、loopfilter_across_tiles_flagを1、loopfilter_interleave_across_tiles_flagを0に設定することで、全てのCTBの復号処理が終了した後のループフィルタに係る処理を、タイル境界に接する画素だけにすることで、タイル境界の歪を低減しながらループフィルタの実行遅延を最小限にすることができる。また、ピクチャ内のすべてのCTBの復号処理が完了した後にループフィルタを実行させるために記憶する必要のある復号画素を、タイル境界に接する画素に対する隣接画素Aと隣接画素Bだけにすることができ、復号画像データの記憶容量を削減することができる。また、loopfilter_interleave_flagを1、loopfilter_across_tiles_flagを1、loopfilter_interleave_across_tiles_flagを1に設定することで、第3の実施の形態と同じ効果を得ることができる。   As described above, the loop filter_interleave_flag is set to 1, the loop filter_cross_tiles_flag is set to 1, and the loop filter_interleave_cross_tiles_flag is set to 0, so that the process related to the loop filter after the decoding process of all CTBs is completed is set to be a border filter. The loop filter execution delay can be minimized while reducing tile boundary distortion. In addition, the decoding pixels that need to be stored in order to execute the loop filter after the decoding process of all the CTBs in the picture is completed can be only the adjacent pixels A and B for the pixels that touch the tile boundary. The storage capacity of the decoded image data can be reduced. Further, by setting loopfilter_interleave_flag to 1, loopfilter_cross_tiles_flag to 1, and loopfilter_interleave_cross_tiles_flag to 1, the same effect as the third embodiment can be obtained.

[第5の実施の形態]
次に、第5の実施の形態について説明する。第5の実施の形態は第1の実施の形態とは利用可能なフィルタタイプが異なる。第1の実施の形態ではタイル境界に位置するCTBとそれ以外のCTBにおいて利用可能なフィルタタイプは同一であったが、本実施の形態ではタイル境界に位置するCTBとそれ以外のCTBにおいて利用可能なフィルタタイプが異なる。
以下、第1の実施の形態とは異なる点について説明する。
[Fifth Embodiment]
Next, a fifth embodiment will be described. The fifth embodiment is different from the first embodiment in usable filter types. In the first embodiment, the filter types that can be used in the CTB located at the tile boundary and the other CTBs are the same. However, in the present embodiment, the CTB located at the tile boundary and other CTBs can be used. Different filter types.
Hereinafter, differences from the first embodiment will be described.

図31は第5の実施の形態におけるCTBの位置に応じて利用可能なフィルタタイプを説明するための図である。図31を用いてCTBの位置に応じて利用可能なフィルタタイプについて説明する。available_left_ctb_flagとavailable_above_ctb_flagが共に0で、CTBの左辺と上辺が共にピクチャ境界とタイル境界に接しないCTBについては、第1の実施の形態と同様にフィルタタイプ0からフィルタタイプ5まで全てのフィルタタイプの利用を許可して、フィルタタイプの昇順にloopfliter_type_idxを0から割り当てる。CTBの左辺がピクチャ境界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタタイプ2だけを利用を許可し、フィルタタイプ1とフィルタタイプ2にloopfliter_type_idxとしてそれぞれ0と1を割り当てる。CTBの上辺がピクチャ境界またはタイル境界に接するCTBについては、フィルタタイプ1とフィルタタイプ3だけを利用を許可し、フィルタタイプ1とフィルタタイプ3にloopfliter_type_idxとしてそれぞれ0と1を割り当てる。   FIG. 31 is a diagram for explaining filter types that can be used according to the CTB position according to the fifth embodiment. The filter types that can be used according to the CTB position will be described with reference to FIG. With respect to CTB in which available_left_ctb_flag and available_above_ctb_flag are both 0 and the left and upper sides of the CTB do not touch the picture boundary and tile boundary, use of all filter types from filter type 0 to filter type 5 is used as in the first embodiment. And assigns loopflitter_type_idx from 0 in ascending order of filter type. For the CTB whose left side is in contact with the picture boundary or tile boundary, only the filter type 1 and the filter type 2 are permitted to be used, and 0 and 1 are assigned to the filter type 1 and the filter type 2 as loopflitter_type_idx, respectively. For the CTB whose upper side is in contact with the picture boundary or tile boundary, use of only the filter type 1 and the filter type 3 is permitted, and 0 and 1 are assigned to the filter type 1 and the filter type 3 as loopflitter_type_idx, respectively.

次に、エッジタイプフィルタ131の動作について説明する。図32は第5の実施の形態におけるエッジタイプフィルタ131の動作を説明するフローチャートである。画素Aまたは画素Bがピクチャ境界であるか検査するステップS133、画素Aまたは画素Bがタイル境界であるか検査するステップS134、オフセット値を0に設定するステップS137が省略されている点が異なる。   Next, the operation of the edge type filter 131 will be described. FIG. 32 is a flowchart for explaining the operation of the edge type filter 131 in the fifth embodiment. The difference is that step S133 for checking whether the pixel A or the pixel B is a picture boundary, step S134 for checking whether the pixel A or the pixel B is a tile boundary, and step S137 for setting the offset value to 0 are omitted.

以上のように、loopfilter_interleave_flagが1である場合、CTBの左辺がピクチャ境界またはタイル境界に接するCTBについては、ピクチャ境界またはタイル境界の外の画素を参照するフィルタタイプであるフィルタタイプ2、フィルタタイプ4、及びフィルタタイプ5を無効とすることで、ピクチャ境界またはタイル境界の外の画素を参照する必要がなくなるため、エッジタイプフィルタ131のステップS133、ステップS134、及びステップS137が不要となって、エッジタイプフィルタ131の処理量を削減することができる。同様に、CTBの上辺がピクチャ境界またはタイル境界に接するCTBについては、ピクチャ境界またはタイル境界の外の画素を参照するフィルタタイプであるフィルタタイプ1、フィルタタイプ4、及びフィルタタイプ5を無効とすることで、ピクチャ境界またはタイル境界の外の画素を参照する必要がなくなるため、エッジタイプフィルタ131のステップS133、ステップS134、及びステップS137が不要となって、エッジタイプフィルタ131の処理量を削減することができる。   As described above, when loopfilter_interleave_flag is 1, for CTB in which the left side of CTB is in contact with the picture boundary or tile boundary, filter type 2 and filter type 4 are filter types that refer to pixels outside the picture boundary or tile boundary. By disabling the filter type 5, there is no need to refer to pixels outside the picture boundary or tile boundary, so that the step S 133, step S 134, and step S 137 of the edge type filter 131 are not required, and the edge The processing amount of the type filter 131 can be reduced. Similarly, for the CTB whose upper side is in contact with the picture boundary or tile boundary, the filter type 1, filter type 4, and filter type 5, which are filter types referring to pixels outside the picture boundary or tile boundary, are invalidated. Thus, since it is not necessary to refer to pixels outside the picture boundary or tile boundary, steps S133, S134, and S137 of the edge type filter 131 become unnecessary, and the processing amount of the edge type filter 131 is reduced. be able to.

また、有効なフィルタタイプのみにloopfliter_type_idxを割り当てることで、CTBの左辺または上辺がピクチャ境界またはタイル境界に接するCTBについては、loopfliter_type_idxの符号量を1ビットのフラグに削減することで、符号化効率を向上させることができる。ここで、フィルタタイプ0、つまりループフィルタを処理しないフィルタタイプについては、フィルタタイプ1またはフィルタタイプ2でオフセットを0として設定することで対応できる。   Also, by assigning loopflitter_type_idx only to valid filter types, for the CTB in which the left or upper side of the CTB is in contact with the picture boundary or tile boundary, the coding amount of the loopflitter_type_idx is reduced to a 1-bit flag, thereby improving the coding efficiency. Can be improved. Here, the filter type 0, that is, the filter type that does not process the loop filter, can be dealt with by setting the offset as 0 in the filter type 1 or the filter type 2.

さらに、第3の実施の形態や第4の実施の形態における動画像符号化装置において、本実施の形態のようにタイル境界におけるフィルタタイプに制限を設けることで、常にCTBで完結した低遅延の動画像符号化装置と動画像復号装置を実現することが可能となる。   Further, in the moving picture coding apparatus according to the third embodiment or the fourth embodiment, by limiting the filter type at the tile boundary as in the present embodiment, the low delay which is always completed by CTB. It is possible to realize a moving image encoding device and a moving image decoding device.

[第6の実施の形態]
次に、第6の実施の形態について説明する。第6の実施の形態は第4の実施の形態とはloopfliter_type_idxの符号列とavailable_left_ctb_flagとavailable_above_ctb_flagの導出が異なる。
以下、第4の実施の形態とは異なる点について説明する。
[Sixth Embodiment]
Next, a sixth embodiment will be described. The sixth embodiment is different from the fourth embodiment in the derivation of the code string of loopflitter_type_idx and available_left_ctb_flag and available_above_ctb_flag.
Hereinafter, differences from the fourth embodiment will be described.

最初に、loopfliter_type_idxの符号列が異なる。図33は、第6の実施の形態に係るloopfliter_type_idxの符号列を説明する図である。loopfliter_type_idxの0はフィルタタイプ0を示し、符号列(bin)は'0'である。loopfliter_type_idxの1はフィルタタイプ1を示し、符号列(bin)は'10'となる。loopfliter_type_idxの2はフィルタタイプ2を示し、符号列(bin)は'1100'となる。loopfliter_type_idxの3はフィルタタイプ3を示し、符号列(bin)は'1101'となる。loopfliter_type_idxの4はフィルタタイプ4を示し、符号列(bin)は'1110'となる。loopfliter_type_idxの5はフィルタタイプ5を示し、符号列(bin)は'1111'となる。   First, the code strings of loopflitter_type_idx are different. FIG. 33 is a diagram for explaining a code string of loopflitter_type_idx according to the sixth embodiment. “0” of loopflitter_type_idx indicates the filter type 0, and the code string (bin) is “0”. 1 of loopflitter_type_idx indicates filter type 1 and the code string (bin) is “10”. Loopfilter_type_idx of 2 indicates filter type 2, and the code string (bin) is “1100”. “3” of loopflitter_type_idx indicates the filter type 3, and the code string (bin) is “1101”. 4 of loopflitter_type_idx indicates the filter type 4 and the code string (bin) is “1110”. The loopfitter_type_idx of 5 indicates the filter type 5 and the code string (bin) is “1111”.

ここで、バンドタイプフィルタのフィルタパラメータはエッジタイプフィルタのフィルタパラメータよりも1個あたりの符号量が大きいため、バンドタイプフィルタのloopfliter_type_idxにエッジタイプフィルタloopfliter_type_idxよりも短い符号量を割り当てることで、エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡させることができる。   Here, since the filter parameter of the band type filter has a larger code amount per filter than the filter parameter of the edge type filter, by assigning a code amount shorter than the edge type filter loopfilter_type_idx to the loopfilter_type_idx of the band type filter, the edge type The code amount required for each of the filter and the band type filter can be balanced.

エッジタイプフィルタとバンドタイプフィルタのそれぞれに要する符号量を均衡させることで、エッジタイプフィルタとバンドタイプフィルタのそれぞれのループフィルタ符号化パラメータの符号化時間と復号時間を均衡させることができ、ハードウェアの回路設計やソフトウェアの設計を容易にすることができる。ここでは、バンドタイプフィルタのloopfliter_type_idxを2ビット、エッジタイプフィルタloopfliter_type_idxを4ビットに設定したが、バンドタイプフィルタのloopfliter_type_idxがエッジタイプフィルタloopfliter_type_idxよりも短い符号量であれば、これに限定されない。   By balancing the amount of code required for each of the edge type filter and the band type filter, the encoding time and the decoding time of the loop filter encoding parameters of the edge type filter and the band type filter can be balanced. Circuit design and software design can be facilitated. Here, the loop type filter loop_type_idx of the band type filter is set to 2 bits and the edge type filter loop filter_type_idx is set to 4 bits, but is not limited to this if the loop type filter loop filter_type_idx is shorter than the edge type filter loop filter_type_idx.

次に、available_left_ctb_flagとavailable_above_ctb_flagの導出が異なる。続いて、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagの導出について説明する。図34は第6の実施の形態における隣接CTBの有効性の導出を説明するフローチャートである。ステップS196とステップS197が追加されている点が第4の実施の形態とは異なる。以下、ステップS196とステップS197について説明する。   Next, derivation of available_left_ctb_flag and available_above_ctb_flag is different. Next, derivation of available_left_ctb_flag and available_above_ctb_flag, which are the effectiveness of adjacent CTBs in the operations of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, will be described. FIG. 34 is a flowchart for explaining the derivation of the effectiveness of adjacent CTBs in the sixth embodiment. The difference from the fourth embodiment is that step S196 and step S197 are added. Hereinafter, step S196 and step S197 will be described.

符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0(フィルタOFF)であるか検査する(S196)。符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(S196のY)、available_left_ctb_flagを0とする(S184)。符号化対象CTBの左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0でなければ(S196のN)、S182を実行する。   It is checked whether the filter type of the filter parameter of the CTB located to the left of the encoding target CTB is filter type 0 (filter OFF) (S196). If the filter type of the filter parameter of the CTB located to the left of the encoding target CTB is the filter type 0 (Y in S196), available_left_ctb_flag is set to 0 (S184). If the filter type of the filter parameter of the CTB located to the left of the encoding target CTB is not the filter type 0 (N in S196), S182 is executed.

符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0(フィルタOFF)であるか検査する(S197)。符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば(S197のY)、available_above_ctb_flagを0とする(S188)。符号化対象CTBの上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0でなければ(S197のN)、S186を実行する。   It is checked whether or not the filter type of the filter parameter of the CTB located above the encoding target CTB is the filter type 0 (filter OFF) (S197). If the filter type of the filter parameter of the CTB located above the encoding target CTB is the filter type 0 (Y in S197), the available_above_ctb_flag is set to 0 (S188). If the filter type of the filter parameter of the CTB located above the encoding target CTB is not the filter type 0 (N in S197), S186 is executed.

ここで、フィルタタイプがフィルタタイプ0である場合、loopfliter_type_idxは1ビットであるため、loopfilter_merge_left_flagやloopfilter_merge_above_flagを用いて符号化するよりも少ない符号量で済む可能性が高い。これは、左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば、loopfilter_merge_left_flagの1ビットで済むが、左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0でなく、上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0であれば、loopfilter_merge_left_flagとloopfilter_merge_above_flagの2ビットとなり、左に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0でなく、上に位置するCTBのフィルタパラメータのフィルタタイプがフィルタタイプ0でなければ、loopfilter_merge_left_flag、loopfilter_merge_above_flag、loopfliter_type_idxの3ビットとなるためである。   Here, when the filter type is filter type 0, loopfilter_type_idx is 1 bit, and therefore it is more likely that a smaller amount of code is required than when encoding using loopfilter_merge_left_flag or loopfilter_merge_above_flag. This means that if the filter type of the filter parameter of the CTB located on the left is filter type 0, one bit of loopfilter_merge_left_flag is sufficient, but the filter type of the filter parameter of the CTB located on the left is not filter type 0. If the filter type of the filter parameter of the CTB located is filter type 0, loopfilter_merge_left_flag and loopfilter_merge_above_flag are 2 bits, and the filter type of the CTB filter parameter located on the left is not filter type 0, but the CTB filter located above If the filter type of the parameter is not filter type 0, loopfilter_merge_left_flag Loopfilter_merge_above_flag, it is because the 3-bit Loopfliter_type_idx.

したがって、フィルタタイプがフィルタタイプ0である場合、loopfilter_merge_left_flagとloopfilter_merge_above_flagを符号化せず、ループフィルタ符号化パラメータだけを符号化するようにして符号化効率を向上させることができる。   Therefore, when the filter type is filter type 0, it is possible to improve the coding efficiency by coding only the loop filter coding parameter without coding the loopfilter_merge_left_flag and the loopfilter_merge_above_flag.

[第7の実施の形態]
次に、第7の実施の形態について説明する。第7の実施の形態は第6の実施の形態とはループフィルタユニットのシンタックスとloopfliter_type_idxの符号列が異なる。
以下、第6の実施の形態とは異なる点について説明する。
[Seventh Embodiment]
Next, a seventh embodiment will be described. The seventh embodiment differs from the sixth embodiment in the syntax of the loop filter unit and the code string of loopflitter_type_idx.
Hereinafter, differences from the sixth embodiment will be described.

最初に、ループフィルタユニットのシンタックスが異なる。図35は第7の実施の形態に係るループフィルタユニットのシンタックスを説明する図である。ループフィルタ許可フラグであるenable_loopfilter_flagが追加されている。enable_loopfilter_flagはCTBのループフィルタのONとOFFを制御するフラグであって、enable_loopfilter_flagが1であるCTBについてはループフィルタを実行し、enable_loopfilter_flagが0であるCTBについてはループフィルタを実行しない。   First, the syntax of the loop filter unit is different. FIG. 35 is a diagram for explaining the syntax of the loop filter unit according to the seventh embodiment. An enable_loopfilter_flag which is a loop filter permission flag is added. enable_loopfilter_flag is a flag for controlling ON / OFF of the loop filter of the CTB. A loop filter is executed for a CTB whose enable_loopfilter_flag is 1, and a loop filter is not executed for a CTB whose enable_loopfilter_flag is 0.

次に、loopfliter_type_idxの符号列が異なる。図36は、第7の実施の形態に係るloopfliter_type_idxの符号列を説明する図である。loopfliter_type_idxの0はフィルタタイプ1を示し、符号列(bin)は'0'である。loopfliter_type_idxの1はフィルタタイプ2を示し、符号列(bin)は'100'となる。loopfliter_type_idxの2はフィルタタイプ3を示し、符号列(bin)は'101'となる。loopfliter_type_idxの3はフィルタタイプ4を示し、符号列(bin)は'110'となる。loopfliter_type_idxの4はフィルタタイプ5を示し、符号列(bin)は'111'となる。   Next, the code string of loopflitter_type_idx is different. FIG. 36 is a diagram for describing a code string of loopflitter_type_idx according to the seventh embodiment. “0” of loopflitter_type_idx indicates filter type 1, and the code string (bin) is “0”. 1 of loopflitter_type_idx indicates filter type 2, and the code string (bin) is “100”. 2 of loopflitter_type_idx indicates the filter type 3 and the code string (bin) is “101”. 3 of loopflitter_type_idx indicates the filter type 4 and the code string (bin) is “110”. 4 of loopflitter_type_idx indicates the filter type 5 and the code string (bin) is “111”.

次に、フィルタパラメータ符号化部105とフィルタパラメータ復号部204の動作における隣接CTBの有効性であるavailable_left_ctb_flagとavailable_above_ctb_flagの導出が異なる。第6の実施の形態とは、ステップS196とステップS197が異なり、ステップS196とステップS197について説明する。   Next, derivation of available_left_ctb_flag and available_above_ctb_flag, which are the validity of adjacent CTBs in the operations of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, is different. Step S196 and step S197 are different from the sixth embodiment, and step S196 and step S197 will be described.

符号化対象CTBの左に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0であるか検査する(S196)。符号化対象CTBの左に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0であれば(S196のY)、available_left_ctb_flagを0とする(S184)。符号化対象CTBの左に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(S196のN)、S182を実行する。   It is checked whether or not the loop filter permission flag of the filter parameter of CTB located to the left of the encoding target CTB is 0 (S196). If the loop filter permission flag of the filter parameter of the CTB located to the left of the encoding target CTB is 0 (Y in S196), the available_left_ctb_flag is set to 0 (S184). If the loop filter permission flag of the filter parameter of the CTB located to the left of the encoding target CTB is not 0 (N in S196), S182 is executed.

符号化対象CTBの上に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0であるか検査する(S197)。符号化対象CTBの上に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0であれば(S197のY)、available_above_ctb_flagを0とする(S188)。符号化対象CTBの上に位置するCTBのフィルタパラメータのループフィルタ許可フラグが0でなければ(S197のN)、S186を実行する。   It is checked whether the loop filter permission flag of the filter parameter of the CTB located above the encoding target CTB is 0 (S197). If the loop filter permission flag of the filter parameter of the CTB located above the encoding target CTB is 0 (Y in S197), the available_above_ctb_flag is set to 0 (S188). If the loop filter permission flag of the filter parameter of CTB located above the encoding target CTB is not 0 (N in S197), S186 is executed.

以上述べた実施の形態の動画像符号化装置と動画像復号装置では、領域の境界としてタイル境界を説明したが、タイル内のCTBはラスタースキャン順に処理されてスライスはタイル内のCTBをラスタースキャン順に包含するようにタイルとスライスを構成した場合に、タイルとスライスを組み合わせることで、スライス境界についてもタイル境界をスライス境界に置き換えることで同様に適用することができる。   In the video encoding device and video decoding device according to the embodiments described above, tile boundaries have been described as region boundaries. However, CTBs within a tile are processed in raster scan order, and slices are raster scanned with CTBs within the tile. When tiles and slices are configured so as to be included in order, a combination of tiles and slices can be applied similarly to slice boundaries by replacing the tile boundaries with slice boundaries.

以上述べた実施の形態の動画像符号化装置と動画像復号装置では、ループフィルタとしてSAOフィルタを用いたが、例えば、デブロックフィルタとSAOフィルタを組み合わせることもできる。   In the moving picture encoding apparatus and moving picture decoding apparatus according to the embodiments described above, the SAO filter is used as the loop filter. However, for example, a deblocking filter and a SAO filter can be combined.

以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。   The moving image encoded stream output from the moving image encoding apparatus of the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment. Therefore, the moving picture decoding apparatus corresponding to the moving picture encoding apparatus can decode the encoded stream of this specific data format.

動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。   When a wired or wireless network is used to exchange an encoded stream between a moving image encoding device and a moving image decoding device, the encoded stream is converted into a data format suitable for the transmission form of the communication path. It may be transmitted. In that case, a video transmission apparatus that converts the encoded stream output from the video encoding apparatus into encoded data in a data format suitable for the transmission form of the communication channel and transmits the encoded data to the network, and receives the encoded data from the network Then, a moving image receiving apparatus that restores the encoded stream and supplies the encoded stream to the moving image decoding apparatus is provided.

動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。   The moving image transmitting apparatus is a memory that buffers the encoded stream output from the moving image encoding apparatus, a packet processing unit that packetizes the encoded stream, and transmission that transmits the packetized encoded data via the network. Part. The moving image receiving apparatus generates a coded stream by packetizing the received data, a receiving unit that receives the packetized coded data via a network, a memory that buffers the received coded data, and packet processing. And a packet processing unit provided to the video decoding device.

以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。   The above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer. The firmware program and software program can be recorded on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting Is also possible.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

100 動画像符号化装置、 101 画像データ取得部、 102 CTB符号化部、 103 フィルタパラメータ決定部、 104 ループフィルタ、 105 フィルタパラメータ符号化部、 106 フレームメモリ、 107 符号列多重部、 110 符号化制御部、 111 タイル設定部、 112 ループフィルタ設定部、 113 領域情報設定部、 120 フィルタパラメータ設定部、 121 ループフィルタ実行部、 122 誤差計測部、 123 フィルタパラメータ確定部、 130 フィルタタイプ判定部、 131 エッジタイプフィルタ、 132 バンドタイプフィルタ、 141 エッジアングル設定部、 142 隣接画素設定部、 143 エッジタイプ判定部、 144 エッジオフセット値設定部、 145 エッジオフセット値加算部、 151 ハンド幅設定部、 152 バンド位置設定部、 153 バンドオフセット値設定部、 154 バンドオフセット値加算部、 200 動画像復号装置、 201 符号列分離部、 202 CTB復号部、 203 ループフィルタ、 204 フィルタパラメータ復号部、 205 フレームメモリ、 210 復号制御部。   DESCRIPTION OF SYMBOLS 100 moving image encoder, 101 image data acquisition part, 102 CTB encoding part, 103 filter parameter determination part, 104 loop filter, 105 filter parameter encoding part, 106 frame memory, 107 code sequence multiplexing part, 110 encoding control Section, 111 tile setting section, 112 loop filter setting section, 113 area information setting section, 120 filter parameter setting section, 121 loop filter execution section, 122 error measurement section, 123 filter parameter determination section, 130 filter type determination section, 131 edge Type filter, 132 band type filter, 141 Edge angle setting unit, 142 Adjacent pixel setting unit, 143 Edge type determination unit, 144 Edge offset value setting unit, 145 Edge Offset value addition unit, 151 hand width setting unit, 152 band position setting unit, 153 band offset value setting unit, 154 band offset value addition unit, 200 video decoding device, 201 code string separation unit, 202 CTB decoding unit, 203 loop Filter, 204 filter parameter decoding unit, 205 frame memory, 210 decoding control unit.

Claims (6)

ピクチャを構成するブロック単位で符号化する動画像符号化装置であって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定部と、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化部と、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタ部と、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化部と、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化部とを備え、
前記フィルタパラメータ符号化部は、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする動画像符号化装置。
A moving image encoding apparatus that encodes in units of blocks constituting a picture,
An area setting unit for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding unit that encodes image data of a block to be encoded to generate a block code string, and obtains decoded image data of the block to be encoded;
A loop filter unit for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding unit that encodes information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A multiplexing unit for multiplexing,
The filter parameter encoding unit prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A video encoding apparatus characterized by the above.
ピクチャを構成するブロック単位で符号化する動画像符号化方法であって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備え、
前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする動画像符号化方法。
A video encoding method for encoding in units of blocks constituting a picture,
An area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding step of generating a block code string by encoding image data of a block to be encoded, and obtaining decoded image data of the block to be encoded;
A loop filter step for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding step for encoding information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A multiplexing step for multiplexing,
The filter parameter coding step, prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A video encoding method characterized by the above.
ピクチャを構成するブロック単位で符号化する動画像符号化プログラムであって、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとをコンピュータに実行させ、
前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする動画像符号化プログラム。
A moving image encoding program for encoding in units of blocks constituting a picture,
An area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding step of generating a block code string by encoding image data of a block to be encoded, and obtaining decoded image data of the block to be encoded;
A loop filter step for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding step for encoding information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A computer to execute a multiplexing step for multiplexing;
The filter parameter coding step, prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A video encoding program characterized by the above.
ピクチャを構成するブロック単位で符号化する動画像符号化方法により符号化された符号化ストリームをパケット化して符号化データを得るパケット処理部と、
パケット化された前記符号化データを送信する送信部とを備え、
前記符号化方法は、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備え、
前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする送信装置。
A packet processing unit that packetizes an encoded stream encoded by a moving image encoding method that encodes in units of blocks constituting a picture to obtain encoded data;
A transmission unit for transmitting the packetized encoded data,
The encoding method is:
An area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding step of generating a block code string by encoding image data of a block to be encoded, and obtaining decoded image data of the block to be encoded;
A loop filter step for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding step for encoding information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A multiplexing step for multiplexing,
The filter parameter coding step, prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A transmitter characterized by the above.
ピクチャを構成するブロック単位で符号化する動画像符号化方法により符号化された符号化ストリームをパケット化して符号化データを得るパケット処理ステップと、
パケット化された前記符号化データを送信する送信ステップとを備え、
前記符号化方法は、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備え、
前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする送信方法。
A packet processing step of packetizing an encoded stream encoded by a moving image encoding method for encoding in units of blocks constituting a picture to obtain encoded data;
Transmitting the packetized encoded data, and
The encoding method is:
An area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding step of generating a block code string by encoding image data of a block to be encoded, and obtaining decoded image data of the block to be encoded;
A loop filter step for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding step for encoding information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A multiplexing step for multiplexing,
The filter parameter coding step, prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A transmission method characterized by the above.
ピクチャを構成するブロック単位で符号化する動画像符号化方法により符号化された符号化ストリームをパケット化して符号化データを得るパケット処理ステップと、
パケット化された前記符号化データを送信する送信ステップとをコンピュータに実行させ、
前記符号化方法は、
前記ピクチャが、前記ブロック以上の大きさの複数のタイルに分割された分割領域の情報を設定する領域設定ステップと、
符号化対象となるブロックの画像データを符号化してブロック符号列を生成するとともに、前記符号化対象となるブロックの復号された画像データを取得するブロック符号化ステップと、
前記復号された画像データを前記符号化対象となるブロックのフィルタパラメータに基づいてフィルタリングするループフィルタステップと、
前記符号化対象となるブロックのフィルタパラメータを、隣接する符号化済みのブロックから取得するか否かを示す取得フラグを符号化すると共に、前記取得フラグが取得しない旨を示す場合、前記フィルタパラメータに関する情報を符号化して、フィルタ符号列を生成するフィルタパラメータ符号化ステップと、
ピクチャ特性を示すピクチャパラメータセットに前記分割領域の情報を符号化すると共に、前記ピクチャパラメータセットを符号列ストリームに多重化し、前記フィルタ符号列と前記ブロック符号列とをブロック単位で前記符号列ストリームに多重化する多重化ステップとを備え、
前記フィルタパラメータ符号化ステップは、前記符号化対象となるブロックがタイル境界に接するか否かを検査し、前記符号化対象となるブロックがタイル境界に接する場合、前記取得フラグを符号化することを特徴とする送信プログラム。
A packet processing step of packetizing an encoded stream encoded by a moving image encoding method for encoding in units of blocks constituting a picture to obtain encoded data;
Transmitting the packetized encoded data to the computer, and
The encoding method is:
An area setting step for setting information of a divided area obtained by dividing the picture into a plurality of tiles having a size larger than the block;
A block encoding step of generating a block code string by encoding image data of a block to be encoded, and obtaining decoded image data of the block to be encoded;
A loop filter step for filtering the decoded image data based on a filter parameter of the block to be encoded;
When encoding the acquisition flag indicating whether or not the filter parameter of the block to be encoded is acquired from the adjacent encoded block, and indicating that the acquisition flag is not acquired, A filter parameter encoding step for encoding information to generate a filter code string;
The division region information is encoded into a picture parameter set indicating picture characteristics, the picture parameter set is multiplexed into a code stream, and the filter code string and the block code string are combined into the code string stream in units of blocks. A multiplexing step for multiplexing,
The filter parameter coding step, prior Symbol encoded subject to block checks whether contact with the tile boundary, when serving as the encoding target block is in contact with the tile boundary, that encoding the acquisition flag A transmission program characterized by.
JP2013079865A 2012-04-06 2013-04-05 Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program Active JP5888279B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2013079865A JP5888279B2 (en) 2012-04-06 2013-04-05 Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
TW107137797A TWI666915B (en) 2012-04-06 2013-04-08 Image coding device, image coding method, and recording medium storing image coding program
PCT/JP2013/002390 WO2013150805A1 (en) 2012-04-06 2013-04-08 Moving image coding device, moving image coding method, moving image coding program, transmission device, transmission method, transmission program, moving image decoding device, moving image decoding method, moving image decoding program, reception device, reception method, and reception program
TW106144240A TWI643490B (en) 2012-04-06 2013-04-08 Video decoding device, image decoding method, and recording medium storing image decoding program
TW106125316A TWI613906B (en) 2012-04-06 2013-04-08 Video decoding device, image decoding method, and recording medium storing image decoding program
TW102112622A TWI548280B (en) 2012-04-06 2013-04-08 An image decoding apparatus, an image decoding method, and an image decoding program
TW105117376A TWI597967B (en) 2012-04-06 2013-04-08 Video decoding apparatus, video decoding method, and video decoding program medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012087581 2012-04-06
JP2012087581 2012-04-06
JP2013079865A JP5888279B2 (en) 2012-04-06 2013-04-05 Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016027853A Division JP6090488B2 (en) 2012-04-06 2016-02-17 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program

Publications (3)

Publication Number Publication Date
JP2013232888A JP2013232888A (en) 2013-11-14
JP2013232888A5 JP2013232888A5 (en) 2016-01-21
JP5888279B2 true JP5888279B2 (en) 2016-03-16

Family

ID=49678941

Family Applications (7)

Application Number Title Priority Date Filing Date
JP2013079865A Active JP5888279B2 (en) 2012-04-06 2013-04-05 Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP2016027853A Active JP6090488B2 (en) 2012-04-06 2016-02-17 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108842A Active JP6090517B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108843A Active JP6135802B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108845A Active JP6135803B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108844A Active JP6090518B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2017084349A Active JP6288349B2 (en) 2012-04-06 2017-04-21 Image coding apparatus, image coding method, and image coding program

Family Applications After (6)

Application Number Title Priority Date Filing Date
JP2016027853A Active JP6090488B2 (en) 2012-04-06 2016-02-17 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108842A Active JP6090517B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108843A Active JP6135802B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108845A Active JP6135803B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2016108844A Active JP6090518B2 (en) 2012-04-06 2016-05-31 Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
JP2017084349A Active JP6288349B2 (en) 2012-04-06 2017-04-21 Image coding apparatus, image coding method, and image coding program

Country Status (1)

Country Link
JP (7) JP5888279B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257490B (en) * 2012-01-27 2019-12-17 太阳专利托管公司 Image encoding method and image encoding device

Also Published As

Publication number Publication date
JP6135803B2 (en) 2017-05-31
JP6090517B2 (en) 2017-03-08
JP2017158199A (en) 2017-09-07
JP6135802B2 (en) 2017-05-31
JP2013232888A (en) 2013-11-14
JP2016174409A (en) 2016-09-29
JP2016119707A (en) 2016-06-30
JP6090488B2 (en) 2017-03-08
JP6090518B2 (en) 2017-03-08
JP6288349B2 (en) 2018-03-07
JP2016174411A (en) 2016-09-29
JP2016174410A (en) 2016-09-29
JP2016174412A (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6288348B2 (en) Image decoding apparatus, image decoding method, and image decoding program
JP6529568B2 (en) Method of sample adaptive offset processing of video coding
JP2023145724A (en) Video decoding method, video encoding method, and bitstream transmitting method
JP2018532318A (en) Method and apparatus for evolutionary deblocking filter in video coding
JP6090517B2 (en) Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program
WO2013150805A1 (en) Moving image coding device, moving image coding method, moving image coding program, transmission device, transmission method, transmission program, moving image decoding device, moving image decoding method, moving image decoding program, reception device, reception method, and reception program
TWI597967B (en) Video decoding apparatus, video decoding method, and video decoding program medium
JP5421739B2 (en) Moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151126

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20151126

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20151228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160201

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5888279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150