JP5551274B2 - 画像フィルタ装置 - Google Patents
画像フィルタ装置 Download PDFInfo
- Publication number
- JP5551274B2 JP5551274B2 JP2012548805A JP2012548805A JP5551274B2 JP 5551274 B2 JP5551274 B2 JP 5551274B2 JP 2012548805 A JP2012548805 A JP 2012548805A JP 2012548805 A JP2012548805 A JP 2012548805A JP 5551274 B2 JP5551274 B2 JP 5551274B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- filter
- image
- target pixel
- lcu
- 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.)
- Expired - Fee Related
Links
- 238000011144 upstream manufacturing Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 description 291
- 238000000034 method Methods 0.000 description 177
- 230000003044 adaptive effect Effects 0.000 description 160
- 230000008569 process Effects 0.000 description 130
- 238000005192 partition Methods 0.000 description 103
- 230000015654 memory Effects 0.000 description 95
- 238000013139 quantization Methods 0.000 description 55
- 238000010586 diagram Methods 0.000 description 45
- 238000012546 transfer Methods 0.000 description 37
- 230000005540 biological transmission Effects 0.000 description 32
- 238000001914 filtration Methods 0.000 description 29
- 238000009499 grossing Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 101100029969 Plasmodium berghei (strain Anka) PMVI gene Proteins 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- JSHOVKSMJRQOGY-UHFFFAOYSA-N (2,5-dioxopyrrolidin-1-yl) 4-(pyridin-2-yldisulfanyl)butanoate Chemical compound O=C1CCC(=O)N1OC(=O)CCCSSC1=CC=CC=N1 JSHOVKSMJRQOGY-UHFFFAOYSA-N 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 101100366941 Homo sapiens STON1 gene Proteins 0.000 description 2
- 102100021683 Stonin-1 Human genes 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100025317 Candida albicans (strain SC5314 / ATCC MYA-2876) MVD gene Proteins 0.000 description 1
- 101150079299 MVD1 gene Proteins 0.000 description 1
- 101150020780 MVD2 gene Proteins 0.000 description 1
- 101100152806 Mus musculus Tcf3 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011045 prefiltration Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタ装置を備えている符号化装置および復号装置に関する。また、そのような復号装置によって復号される符号化データのデータ構造に関する。
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(復号装置)が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG−4.AVC(非特許文献1)、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式、および、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている方式(非特許文献2)などが挙げられる。
このような符号化方式において、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる最大符号化単位(LCU:Largest Coding Unit)、最大符号化単位を分割することにより得られる符号化単位(CU:Coding Unit)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、多くの場合、ブロックを最小単位として符号化される。
また、このような符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像(「残差画像」または「予測残差」と呼ぶこともある)が符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)と呼ばれる方法が知られている。
インター予測においては、フレーム全体が復号された参照フレーム(復号画像)内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位毎に生成される。一方で、イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。
非特許文献2には、復号画像に対し符号化単位毎にフィルタ処理を行う適応的ループフィルタ(ALF:Adaptive Loop Filter)(以下、単に「適応フィルタ」とも呼ぶ)が開示されている。この適応フィルタは、復号画像上のスライス毎に、フィルタ済復号画像と原画像との誤差が最小となるフィルタ係数を定め、当該スライスに含まれる各符号化単位に対して、当該フィルタ係数に基づいたフィルタリングを施すものである。このような適応フィルタを備えた符号化装置および復号装置は、フィルタリングにより符号化/復号画像の画質を向上することで、フィルタ済画像を参照して生成される予測画像の精度を上げることができるため、符号化効率の向上を図ることができる。
また、非特許文献2に記載された適応フィルタは、フレーム全体の画素値を格納可能なフレームメモリであってアクセス速度の低いフレームメモリから、処理対象である対象符号化単位およびその周辺の画像を格納可能なローカルメモリであって高速アクセスが可能なローカルメモリに転送された画素値を参照してフィルタ処理を行うことにより、フィルタ処理の高速化を図ることができる。
「Recommendation ITU-T H.264」,Telecommunication Standardization Sector of ITU,03/2009(2009年3月公開)
「Test Model under Consideration JCTVC-B205 draft007」,Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Mee-ting:Geneva,CH,07/2010(2010年7月公開)
しかしながら、非特許文献2に開示された従来の適応フィルタは、対象符号化単位についてのフィルタ処理を行う際に、対象符号化単位内の画素値に加えて、対象符号化単位外の画素値(対象符号化単位の周辺の画素の画素値)を参照するものであるため、フレームメモリからローカルメモリへのデータ転送量が増大するという問題を有していた。この点について、図29を参照してより具体的に説明する。
図29は、対象符号化単位CUのサイズが8×8画素である場合に、従来の適応フィルタにおいて対象画素の位置に応じて設定される5タップの参照領域Rと、対象符号化単位に含まれる各対象画素についての参照領域Rの和集合である参照ブロックRAとを示している。参照ブロックRAは、対象符号化単位についてのフィルタ済画像を生成するために従来の適応フィルタによって参照される画素の集合である。図29に示す例の場合、従来の適応フィルタは、8×8画素の対象符号化単位についてのフィルタ済画像を生成するために、12×12画素の参照ブロックRAに含まれる各画素値を参照する必要がある。このように、従来の適応フィルタは、対象符号化単位についてのフィルタ処理を行う際に、対象符号化単位内の画素値に加えて、対象符号化単位の周辺の画素値を参照するものであるため、フレームメモリからローカルメモリへのデータ転送量が増大するという問題を有している。
一方で、データ転送量を削減するためには、例えば、参照領域のサイズを小さくすることが考えられるが、その場合、フィルタ済画像を用いて算出される予測画像の予測精度が低下するため、符号化効率が低下するという問題が生じる。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、高い符号化効率を維持しつつ、適応フィルタ処理の際のデータ転送量を削減することによって処理量および処理時間を削減することのできる画像フィルタ装置を実現することにある。
上記課題を解決するために、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小する参照領域変更手段とを備えている、ことを特徴としている。
上記画像フィルタ装置が、符号化データを復号し復号画像を生成する復号装置、または、符号化対象画像を符号化し符号化データを生成する符号化装置に用いられる場合、上記画像フィルタ装置の出力画像を参照して予測精度の高い予測画像を生成することができるので、符号化効率が向上する。
また、上記のように構成された画像フィルタ装置によれば、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小するので、高い符号化効率を維持しつつ、出力画像を生成するために参照する画素数を削減することができる。したがって、上記のように構成された画像フィルタ装置によれば、高い符号化効率を維持しつつ、フィルタ処理の際のデータ転送量を削減することができる。
なお、上記単位領域とは、例えば、最大符号化単位LCUであってもよいし、最大符号化単位LCUを分割して得られる符号化単位CUであってもよいし、その他の領域であってもよい。
また、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用することによって単位領域毎に出力画像を生成するフィルタ手段と、各単位領域の、処理順で上流側の2辺の少なくとも一方からの距離がDB以下である画素の画素値を平滑化する平滑化手段と、を備え、上記フィルタ手段は、上記平滑化手段が対象単位領域の上流側の2辺に作用した後、処理順で次の単位領域の上流側の2辺に作用する前に、対象単位領域に作用するものである、ことを特徴としている。
また、本発明に係る画像フィルタ装置は、単位領域毎に生成される予測画像と残差画像とを加算して得られる復号画像について、各単位領域の、処理順で上流側の2辺の少なくとも一方の近傍に位置する画素の画素値を平滑化する平滑化手段と、上記平滑化手段の出力画像に作用する第1のフィルタ手段、上記予測画像に作用する第2のフィルタ手段、および、上記残差画像に作用する第3のフィルタ手段を含む算出手段であって、上記第1から第3のフィルタ手段の出力画像を加算して出力する算出手段と、上記第1から第3のフィルタ手段が各対象画素の画素値を算出するために参照する参照領域を設定する参照領域設定手段であって、参照領域の上下方向の画素数を1に設定する参照領域設定手段と、を備えていることを特徴としている。
上記画像フィルタ装置によれば、上記平滑化手段によって平滑化処理が施された復号画像、予測画像、および、残差画像を参照して出力画像を生成する。したがって、上記画像フィルタ装置を備えた復号装置、および、上記画像フィルタ装置を備えた符号化装置は、上記画像フィルタ装置の出力画像を参照して予測画像を生成することによって、符号化効率が向上する。また、上記参照領域の上下方向の画素数が1に設定されるため、フィルタ処理の処理量、および、データ転送量が削減される。
また、本発明に係る画像フィルタ装置は、1または複数のスライスより構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記出力画像における対象画素の画素値を、該対象画素の周辺に設定された参照領域における上記入力画像の各画素値から算出するフィルタ手段と、対象画素の位置を、該対象画素を含む参照領域全体が、該対象画素を含むスライスに包含されるものに制限する対象画素制限手段と、を備えていることを特徴としている。
上記画像フィルタ装置によれば、対象スライスにおける出力画像を、対象スライス内の画素値のみを参照して生成する。換言すれば、対象スライスにおける出力画像を、対象スライスの外部の画素を参照することなく生成する。したがって、上記の構成によれば、出力画像を生成するための処理量が削減される。また、上記の構成によれば、対象スライスに隣接するスライスであって、処理順で次のスライスの各画素が参照可能となるまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
以上のように、本発明に係るフィルタ装置は、複数の単位領域から構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小する参照領域変更手段とを備えている。
上記のように構成された画像フィルタ装置によれば、高い符号化効率を維持しつつ、フィルタ処理の際のデータ転送量を削減することができる。
本発明に係る復号装置および符号化装置の実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼ぶ。
ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
(符号化データ#1の構成)
本実施形態に係る動画像復号装置1の説明に先立ち、本実施形態に係る動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成について、図2を参照して説明する。符号化データ#1は、シーケンスレイヤ、GOP(Group Of Pictures)レイヤ、ピクチャレイヤ、スライスレイヤ、及び、最大符号化単位(LCU:Largest Coding Unit)レイヤからなる階層構造を有している。
本実施形態に係る動画像復号装置1の説明に先立ち、本実施形態に係る動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成について、図2を参照して説明する。符号化データ#1は、シーケンスレイヤ、GOP(Group Of Pictures)レイヤ、ピクチャレイヤ、スライスレイヤ、及び、最大符号化単位(LCU:Largest Coding Unit)レイヤからなる階層構造を有している。
符号化データ#1におけるピクチャレイヤ以下の階層の構造を図2に示す。図2(a)〜(f)は、それぞれ、ピクチャレイヤP、スライスレイヤS、LCUレイヤLCU、LCUに含まれるリーフCU(図2(d)ではCULと表記)、インター予測(画面間予測)パーティションについての予測情報PIであるインター予測情報PI_Inter、イントラ予測(画面内予測)パーティションについての予測情報PIであるイントラ予測情報PI_Intraの構造を示す図である。
(ピクチャレイヤ)
ピクチャレイヤPは、処理対象のピクチャである対象ピクチャを復号するために動画像復号装置1が参照するデータの集合である。ピクチャレイヤPは、図2(a)に示すように、ピクチャヘッダPH、及び、スライスレイヤS1〜SNsを含んでいる(NsはピクチャレイヤPに含まれるスライスレイヤの総数)。
ピクチャレイヤPは、処理対象のピクチャである対象ピクチャを復号するために動画像復号装置1が参照するデータの集合である。ピクチャレイヤPは、図2(a)に示すように、ピクチャヘッダPH、及び、スライスレイヤS1〜SNsを含んでいる(NsはピクチャレイヤPに含まれるスライスレイヤの総数)。
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
(スライスレイヤ)
ピクチャレイヤPに含まれる各スライスレイヤSは、処理対象のスライスである対象スライスを復号するために動画像復号装置1が参照するデータの集合である。スライスレイヤSは、図2(b)に示すように、スライスヘッダSH、及び、LCUレイヤLCU1〜LCUNc(NcはスライスSに含まれるLCUの総数)を含んでいる。
ピクチャレイヤPに含まれる各スライスレイヤSは、処理対象のスライスである対象スライスを復号するために動画像復号装置1が参照するデータの集合である。スライスレイヤSは、図2(b)に示すように、スライスヘッダSH、及び、LCUレイヤLCU1〜LCUNc(NcはスライスSに含まれるLCUの総数)を含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
また、スライスヘッダSHには、動画像復号装置1の備える適応フィルタによって参照されるフィルタパラメータFPが含まれる。なお、フィルタパラメータFPの構成については、後述するためここでは説明を省略する。
(LCUレイヤ)
スライスレイヤSに含まれる各LCUレイヤLCUは、処理対象のLCUである対象LCUを復号するために動画像復号装置1が参照するデータの集合である。
スライスレイヤSに含まれる各LCUレイヤLCUは、処理対象のLCUである対象LCUを復号するために動画像復号装置1が参照するデータの集合である。
LCUレイヤLCUは、当該LCUを階層的に4分木分割することにより得られる複数の符号化単位(CU:Coding Unit)より構成される。換言すれば、LCUレイヤLCUは、複数のCUを再帰的に含む階層構造のうち、最上位にあたる符号化単位である。LCUレイヤLCUに含まれる各CUは、図2(c)に示すように、CUヘッダCUH、および、当該CUを4分木分割することにより得られる複数のCUを再帰的に含む階層構造を有している。
LCUを除く各CUのサイズは、当該CUが直接に属するCU(すなわち、当該CUの1階層上位のCU)のサイズの縦横とも半分であり、各CUのとり得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、LCUのサイズおよび階層深度(hierarchical depth)に依存する。例えば、LCUのサイズが128×128画素であって、最大階層深度が5である場合には、当該LCU以下の階層におけるCUは、5種類のサイズ、すなわち、128×128画素、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。また、それ以上分割されないCUをリーフCUと呼ぶことにする。
(CUヘッダ)
CUヘッダCUHには、対象CUの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2(c)に示すように、対象CUをさらに下位のCUへ4分割するか否かを指定するCU分割フラグSP_CUが含まれる。CU分割フラグSP_CUが0である場合、すなわち、それ以上CUが分割されない場合、当該CUはリーフCUである。
CUヘッダCUHには、対象CUの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2(c)に示すように、対象CUをさらに下位のCUへ4分割するか否かを指定するCU分割フラグSP_CUが含まれる。CU分割フラグSP_CUが0である場合、すなわち、それ以上CUが分割されない場合、当該CUはリーフCUである。
(リーフCU)
それ以上分割されないCU(CUのリーフ)は予測単位(PU:Prediction Unit)、および、変換単位(TU:Transform Unit)として取り扱われる。
それ以上分割されないCU(CUのリーフ)は予測単位(PU:Prediction Unit)、および、変換単位(TU:Transform Unit)として取り扱われる。
図2(d)に示すように、リーフCU(図2(d)においてはCULと表記)は、(1)動画像復号装置1により予測画像を生成する際に参照されるPU情報PUI、および、(2)動画像復号装置1により残差データを復号する際に参照されるTU情報TUIを含んでいる。
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象のリーフにスキップモードが適用されている場合、そのリーフCUにおけるPU情報PUI、および、TU情報TUIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
PU情報PUIは、図2(d)に示すように、スキップフラグSKIP、予測タイプ情報PT、および、予測情報PIを含んでいる。予測タイプ情報PTは、対象リーフCU(対象PU)についての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。予測情報PIは、予測タイプ情報PTが何れの予測方法を指定するのかに応じて、イントラ予測情報PI_Intra、または、インター予測情報PI_Interより構成される。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
PU情報PUIには、対象PUに含まれる各パーティションの形状、サイズ、および、対象PU内での位置を指定する情報が含まれる。ここで、パーティションとは、対象リーフCUを構成する1又は複数の重複しない領域のことであり、予測画像の生成は、パーティションを単位として行われる。
TU情報TUIは、図2(d)に示すように、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(tu_qp_delta)、対象リーフCU(対象TU)の各ブロックへの分割パターンを指定するTU分割情報SP_TU、および、量子化予測残差QD1〜QDNT(NTは、対象TUに含まれるブロックの総数)を含んでいる。
量子化パラメータ差分Δqpは、対象TUにおける量子化パラメータqpと、そのTUの直前に符号化されたTUにおける量子化パラメータqp’との差分qp−qp’である。
TU分割情報SP_TUは、具体的には、対象TUに含まれる各ブロックの形状、サイズ、および、対象TU内での位置を指定する情報である。各TUは、例えば、64×64画素から2×2画素までのサイズをとり得る。ここで、ブロックとは、対象リーフCUを構成する1又は複数の重複しない領域のことであり、予測残差の符号化・復号は、ブロックを単位として行われる。
各量子化予測残差QDは、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する。処理2:処理1にて得られたDCT係数を量子化する。処理3:処理2にて量子化されたDCT係数を可変長符号化する。上述した量子化パラメータqpは、動画像符号化装置2がDCT係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(インター予測情報PI_Inter)
インター予測情報PI_Interは、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。図2(e)に示すように、インター予測情報PI_Interは、対象PUの各パーティションへの分割パターンを指定するインターPU分割情報SP_Inter、および、各パーティションについてのインター予測パラメータPP_Inter1〜PP_InterNe(Neは、対象PUに含まれるインター予測パーティションの総数)を含んでいる。
インター予測情報PI_Interは、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。図2(e)に示すように、インター予測情報PI_Interは、対象PUの各パーティションへの分割パターンを指定するインターPU分割情報SP_Inter、および、各パーティションについてのインター予測パラメータPP_Inter1〜PP_InterNe(Neは、対象PUに含まれるインター予測パーティションの総数)を含んでいる。
インターPU分割情報SP_Interは、具体的には、対象PU(インターPU)に含まれる各インター予測パーティションの形状、サイズ、および、対象PU内での位置を指定する情報である。
インターPUは、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)により、合計8種類のパーティションに分割することが可能である。ここで、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、128×128画素のインターPUは、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインター予測パーティションへ分割することが可能である。
(インター予測パラメータPP_Inter)
インター予測パラメータPP_Interは、図2(e)に示すように、参照画像インデックスRIと、推定動きベクトルインデックスPMVIと、動きベクトル残差MVDとを含んでいる。
インター予測パラメータPP_Interは、図2(e)に示すように、参照画像インデックスRIと、推定動きベクトルインデックスPMVIと、動きベクトル残差MVDとを含んでいる。
動きベクトル残差MVDは、動画像符号化装置2が以下の処理4〜6を実行することによって生成した符号化データである。処理4:符号化/復号化済みの局所復号画像(より正確には、符号化/復号化済みの局所復号画像に対してデブロック処理および適応的フィルタ処理を施すことによって得られる画像)を選択し、選択した符号化/復号化済みの局所復号画像(以下「参照画像」とも呼称)を参照して対象パーティションに対する動きベクトルmvを導出する。処理5:推定方法を選択し、選択した推定方法を用いて対象パーティションに割り付ける動きベクトルmvの推定値(以下「推定動きベクトル」とも呼称)pmvを導出する。処理6:処理4にて導出した動きベクトルmvから処理5にて導出した推定動きベクトルpmvを減算した動きベクトル残差MVDを符号化する。
参照画像インデックスRIは、処理4にて選択した符号化/復号化済みの局所復号画像(参照画像)を指定するものであり、上述した推定動きベクトルインデックスPMVIは、処理5にて選択した推定方法を指定するものである。処理5にて選択可能な推定方法としては、(1)符号化/復号化中の局所復号画像(より正確には、符号化/復号化中の局所復号画像における復号済みの領域に対してデブロック処理および適応的フィルタ処理を施すことによって得られる画像)において、対象パーティションに隣接するパーティション(以下「隣接パーティション」とも呼称する)に割り付けられた動きベクトルのメジアンを推定動きベクトルpmvとする方法や、(2)符号化/復号化済みの局所復号画像において、対象パーティションと同じ位置を占めるパーティション(しばしば「コロケートパーティション」と呼称される)に割り付けられた動きベクトルを推定動きベクトルpmvとする方法などが挙げられる。
なお、単方向予測を行うパーティションに関する予測パラメータPPには、図2(e)に示すように、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDがそれぞれ1つずつ含まれているが、双方向予測(重み付き予測)を行うパーティションに関する予測パラメータPPには、2つの参照画像インデックスRI1及びRI2、2つの推定動きベクトルインデックスPMVI1及びPMVI2、並びに、2つの動きベクトル残差MVD1及びMVD2が含まれる。
(イントラ予測情報PI_Intra)
イントラ予測情報PI_Intraは、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。図2(f)に示すように、イントラ予測情報PI_Intraは、対象PU(イントラPU)の各パーティションへの分割パターンを指定するイントラPU分割情報SP_Intra、および、各パーティションについてのイントラ予測パラメータPP_Intra1〜PP_IntraNa(Naは、対象PUに含まれるイントラ予測パーティションの総数)を含んでいる。
イントラ予測情報PI_Intraは、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。図2(f)に示すように、イントラ予測情報PI_Intraは、対象PU(イントラPU)の各パーティションへの分割パターンを指定するイントラPU分割情報SP_Intra、および、各パーティションについてのイントラ予測パラメータPP_Intra1〜PP_IntraNa(Naは、対象PUに含まれるイントラ予測パーティションの総数)を含んでいる。
イントラPU分割情報SP_Intraは、具体的には、対象PUに含まれる各イントラ予測パーティションの形状、サイズ、および、対象PU内での位置を指定する情報である。イントラPU分割情報SP_Intraには、対象PUをパーティションに分割するか否かを指定するイントラ分割フラグ(intra_split_flag)が含まれている。イントラ分割フラグが1であれば、対象PUは、4つのパーティションへと対称的に分割され、イントラ分割フラグが0であれば、対象PUは、分割されることなく、対象PU自身が1つのパーティションとして取り扱われる。したがって、対象PUのサイズを2N×2N画素とすると、イントラ予測パーティションは、2N×2N画素(分割なし)、および、N×N画素(4分割)の何れかのサイズを取り得る(ここで、N=2n、nは1以上の任意の整数)。例えば、128×128画素のイントラPUは、128×128画素、および、64×64画素のイントラ予測パーティションへ分割することが可能である。
(イントラ予測パラメータPP_Intra)
イントラ予測パラメータPP_Intraは、図2(f)に示すように、推定フラグMPM、および、残余予測モードインデックスRIPMを含んでいる。イントラ予測パラメータPP_Intraは、各パーティションについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
イントラ予測パラメータPP_Intraは、図2(f)に示すように、推定フラグMPM、および、残余予測モードインデックスRIPMを含んでいる。イントラ予測パラメータPP_Intraは、各パーティションについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
推定フラグMPMは、処理対象である対象パーティションの周辺のパーティションに割り付けられた予測モードに基づいて推定された予測モードと当該対象パーティションについての予測モードとが同じであるか否かを示すフラグである。ここで、対象パーティションの周辺のパーティションの例としては、対象パーティションの上辺に隣接するパーティション、および、対象パーティションの左辺に隣接するパーティション等が挙げられる。
残余予測モードインデックスRIPMは、推定された予測モードと対象パーティションについての予測モードとが異なる場合に、イントラ予測パラメータPP_Intraに含められるインデックスであり、当該対象パーティションに割り付けられる予測モードを指定するためのインデックスである。
(フィルタパラメータFP)
上述のように、スライスヘッダSHには、動画像復号装置1の備える適応フィルタが参照するフィルタパラメータFPが含まれる。フィルタパラメータFPは、図2(g)に示すように、フィルタ係数群を含んでいる。フィルタ係数群には、(1)フィルタのタップ数を指定するタップ数指定情報、(2)フィルタ係数a0〜aNT-1(NTは、フィルタ係数群に含まれるフィルタ係数の総数)、および、(3)オフセットoが含まれる。
上述のように、スライスヘッダSHには、動画像復号装置1の備える適応フィルタが参照するフィルタパラメータFPが含まれる。フィルタパラメータFPは、図2(g)に示すように、フィルタ係数群を含んでいる。フィルタ係数群には、(1)フィルタのタップ数を指定するタップ数指定情報、(2)フィルタ係数a0〜aNT-1(NTは、フィルタ係数群に含まれるフィルタ係数の総数)、および、(3)オフセットoが含まれる。
(動画像復号装置1)
以下では、本実施形態に係る動画像復号装置1について図1〜図19を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG−4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、および、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている技術を含む復号装置である。
以下では、本実施形態に係る動画像復号装置1について図1〜図19を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG−4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、および、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている技術を含む復号装置である。
図3は、動画像復号装置1の構成を示すブロック図である。図3に示すように、動画像復号装置1は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、および、ループフィルタ16を備えている。また、図3に示すように、予測画像生成部12は、動きベクトル復元部12a、インター予測画像生成部12b、イントラ予測画像生成部12c、および、予測方式決定部12dを備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
(可変長符号復号部11)
可変長符号復号部11は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号し、予測画像生成部12に供給する。具体的には、可変長符号復号部11は、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを含むインター予測パラメータPP_Interを符号化データ#1から復号し、これらを動きベクトル復元部12aに供給する。一方、イントラ予測パーティションに関しては、推定フラグMPM、残余インデックスRIPM、および、追加インデックスAIを含むイントラ予測パラメータPP_Intraを符号化データ#1から復号し、これらをイントラ予測画像生成部12cに供給する。
可変長符号復号部11は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号し、予測画像生成部12に供給する。具体的には、可変長符号復号部11は、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを含むインター予測パラメータPP_Interを符号化データ#1から復号し、これらを動きベクトル復元部12aに供給する。一方、イントラ予測パーティションに関しては、推定フラグMPM、残余インデックスRIPM、および、追加インデックスAIを含むイントラ予測パラメータPP_Intraを符号化データ#1から復号し、これらをイントラ予測画像生成部12cに供給する。
また、可変長符号復号部11は、各パーティションについての予測タイプ情報PTを符号化データ#1から復号し、これを予測方式決定部12dに供給する。更に、可変長符号復号部11は、各ブロックに関する量子化予測残差QD、及び、そのブロックを含むTUに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部13に供給する。また、可変長符号復号部11は、符号化データ#1からフィルタパラメータFPを復号し、これをループフィルタ16に供給する。
(予測画像生成部12)
予測画像生成部12は、各パーティションについての予測タイプ情報PTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象PUに対してスキップモードが適用されている場合には、当該PUに属する他のパラメータの復号を省略する。
予測画像生成部12は、各パーティションについての予測タイプ情報PTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象PUに対してスキップモードが適用されている場合には、当該PUに属する他のパラメータの復号を省略する。
(動きベクトル復元部12a)
動きベクトル復元部12aは、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部12aは、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部12bに供給する。
動きベクトル復元部12aは、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部12aは、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部12bに供給する。
(インター予測画像生成部12b)
インター予測画像生成部12bは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部12aから供給された動きベクトルmvを用いて、同じく動きベクトル復元部12aから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部12bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部12bによって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部12dに供給される。
インター予測画像生成部12bは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部12aから供給された動きベクトルmvを用いて、同じく動きベクトル復元部12aから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部12bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部12bによって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部12dに供給される。
(イントラ予測画像生成部12c)
イントラ予測画像生成部12cは、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給されたイントラ予測パラメータPP_Intraに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
イントラ予測画像生成部12cは、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給されたイントラ予測パラメータPP_Intraに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
ここで、イントラ予測パラメータPP_Intraに基づく予測モードの特定は、以下のように行うことができる。(1)推定フラグMPMを復号し、当該推定フラグMPMが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。(2)一方で、推定フラグMPMが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスRIPMを復号し、当該残余予測モードインデックスRIPMの示す予測モードを対象パーティションに対して割り付ける。
イントラ予測画像生成部12cは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、(局所)復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部12cによって生成されたイントラ予測画像Pred_Intraは、予測方式決定部12dに供給される。なお、イントラ予測画像生成部12cは、画面内予測によって、適応フィルタ済復号画像P_ALFから予測画像Pred_Intraを生成する構成とすることも可能である。
(予測方式決定部12d)
予測方式決定部12dは、各パーティションが属するPUについての予測タイプ情報PTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部12bにて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部12cにて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
予測方式決定部12dは、各パーティションが属するPUについての予測タイプ情報PTに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部12bにて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部12cにて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
(逆量子化・逆変換部13)
逆量子化・逆変換部13は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器14に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したTUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、TUあるいはTUを分割したブロックを単位として行われる。
逆量子化・逆変換部13は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器14に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したTUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、TUあるいはTUを分割したブロックを単位として行われる。
(加算器14)
加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、フレームメモリ15に格納される。
加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、フレームメモリ15に格納される。
(ループフィルタ16)
ループフィルタ16は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
ループフィルタ16は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
図1は、ループフィルタ16の構成を示すブロック図である。図1に示すように、ループフィルタ16は、デブロッキングフィルタ161、適応フィルタ162、および、内部メモリ163を備えている。
(デブロッキングフィルタ161)
デブロッキングフィルタ161は、復号画像Pにおけるブロック境界、またはパーティション境界の周辺の領域における画像の平滑化を行うことによって、デブロック済復号画像P_DBを生成する。
デブロッキングフィルタ161は、復号画像Pにおけるブロック境界、またはパーティション境界の周辺の領域における画像の平滑化を行うことによって、デブロック済復号画像P_DBを生成する。
デブロッキングフィルタ161は、対象スライスにおける復号画像Pに対して、図4(a)に示すように、LCU毎にラスタスキャン順にデブロック処理を行う。また、対象LCUが複数のCUを含んでいる場合には、図4(b)に示すように、対象LCUに含まれるCU毎にラスタスキャン順にデブロック処理を行う。また、デブロッキングフィルタ161は、対象CUについて、まず、対象CUの左側の境界に対してデブロック処理を行い、続いて、対象CUの上側の境界に対してデブロック処理を行う。
図4(c)は、4つのCU(CU1〜4)を含む対象LCUに対して、デブロッキングフィルタ161が作用した場合を示す図である。図4(c)において、太実線にて示す境界については、デブロッキングフィルタ161によるデブロック処理が適用済みであり、細実線にて示す境界については、対象LCUについてのデブロック処理が終了した時点であっても、デブロック処理が適用されていない。なお、これらの細実線にて示す境界のうち、対象LCUの右辺の境界については、対象LCUの右側に隣接するLCUについてデブロック処理を行う際にデブロック処理が行われ、対象LCUの下辺の境界については、対象LCUの下辺に隣接するLCUについてデブロック処理を行う際にデブロック処理が行われる。
このように、対象LCUについてデブロック処理が終了した時点においても、対象LCUの右辺および下辺の境界についてデブロック処理が未実施であることが、本発明の少なくとも一つの側面を理解する上でポイントとなる。
以下では、ループフィルタ16の各部の構成についての具体的な説明に先立って、ループフィルタ16による処理について概略的に説明する。ループフィルタ16は、以下の2通りの処理例(処理例1、処理例2)の何れかを行う。
(処理例1)
本処理例においては、ループフィルタ16は、LCU単位でデブロック処理を行い、第1フィルタ処理単位毎に適応フィルタ処理を行う。なお、本処理例における第1フィルタ処理単位は、図5(a)に示すように、対象LCUと同じサイズおよび同じ位置を有するように設定される。また、以下の説明では、第1フィルタ処理単位をALFU1とも表記する。
本処理例においては、ループフィルタ16は、LCU単位でデブロック処理を行い、第1フィルタ処理単位毎に適応フィルタ処理を行う。なお、本処理例における第1フィルタ処理単位は、図5(a)に示すように、対象LCUと同じサイズおよび同じ位置を有するように設定される。また、以下の説明では、第1フィルタ処理単位をALFU1とも表記する。
図5(b)は、本処理例における処理の流れを示すフローチャートである。ループフィルタ16は、本処理例において、以下の処理を行う。
(ステップS101)
ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とする第1のループ処理を開始する。ここで、Nは、処理対象のスライスに含まれるLCUの総数を示している。なお、以下では、n番目のLCUをLCU(n)とも表記する。
ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とする第1のループ処理を開始する。ここで、Nは、処理対象のスライスに含まれるLCUの総数を示している。なお、以下では、n番目のLCUをLCU(n)とも表記する。
(ステップS102)
ループフィルタ16は、フレームメモリ15に格納された復号画像Pの各画素値のうち、LCU(n)についてのデブロック処理を行うためにデブロッキングフィルタ161により参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
ループフィルタ16は、フレームメモリ15に格納された復号画像Pの各画素値のうち、LCU(n)についてのデブロック処理を行うためにデブロッキングフィルタ161により参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
(ステップS103)
続いて、ループフィルタ16は、内部メモリ163に格納された復号画像PにおけるLCU(n)についてのデブロック処理をデブロッキングフィルタ161にて行うことによって、LCU(n)についてのデブロック済画像P_DBを生成し、生成したデブロック済画像P_DBを内部メモリ163に格納する。
続いて、ループフィルタ16は、内部メモリ163に格納された復号画像PにおけるLCU(n)についてのデブロック処理をデブロッキングフィルタ161にて行うことによって、LCU(n)についてのデブロック済画像P_DBを生成し、生成したデブロック済画像P_DBを内部メモリ163に格納する。
(ステップS104)
本ステップは第1のループ処理の終端である。
本ステップは第1のループ処理の終端である。
(ステップS105)
続いて、ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とする第2のループ処理を開始する。ここで、Nは、処理対象のスライスに含まれるALFU1の総数を示しており、LCUの総数と同一である。なお、以下では、n番目の第1フィルタ処理単位ALFU1をALFU1(n)とも表記する。
続いて、ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とする第2のループ処理を開始する。ここで、Nは、処理対象のスライスに含まれるALFU1の総数を示しており、LCUの総数と同一である。なお、以下では、n番目の第1フィルタ処理単位ALFU1をALFU1(n)とも表記する。
(ステップS106)
ループフィルタ16は、フレームメモリ15に格納されたデブロック済復号画像P_DBの各画素値のうち、ALFU1(n)についての適応フィルタ処理を行うために適応フィルタ162により参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
ループフィルタ16は、フレームメモリ15に格納されたデブロック済復号画像P_DBの各画素値のうち、ALFU1(n)についての適応フィルタ処理を行うために適応フィルタ162により参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
(ステップS107)
続いて、ループフィルタ16は、内部メモリ163に格納されたデブロック済復号画像P_DBにおけるALFU1(n)についての適応フィルタ処理を適応フィルタ162により行うことによって、ALFU1(n)についてのフィルタ済画像P_ALFを生成し、生成したフィルタ済画像P_ALFを内部メモリ163に格納する。
続いて、ループフィルタ16は、内部メモリ163に格納されたデブロック済復号画像P_DBにおけるALFU1(n)についての適応フィルタ処理を適応フィルタ162により行うことによって、ALFU1(n)についてのフィルタ済画像P_ALFを生成し、生成したフィルタ済画像P_ALFを内部メモリ163に格納する。
(ステップS108)
本ステップは、第2のループの終端である。
本ステップは、第2のループの終端である。
以上が処理例1における処理の流れである。なお、適応フィルタ162により内部メモリ163に格納されたフィルタ済画像P_ALFは、フレームメモリ15に転送され、格納される。
このように、本処理例においては、対象スライスに含まれる全てのLCUについて、デブロック処理を先に行い、その後に、適応フィルタ処理を行う。したがって、本処理例においては、ループフィルタ16は、フレームメモリ15から内部メモリ163へのデータ転送を、各nについて2回(ステップS102およびステップS106)行うことになる。
(処理例2)
本処理例においては、ループフィルタ16は、LCU単位でデブロック処理を行い、第2フィルタ処理単位毎に適応フィルタ処理を行う。なお、本処理例における第2フィルタ処理単位は、図5(c)に示すように、対象LCUと同じサイズであって、対象LCUとは異なる位置を有するように設定される。また、対象LCUについての第2フィルタ処理単位は、対象LCUにおいて、デブロック処理が未実施の領域(図5(c)における斜線部)とは重複しないように設定される。また、以下の説明では、第2フィルタ処理単位をALFU2とも表記する。
本処理例においては、ループフィルタ16は、LCU単位でデブロック処理を行い、第2フィルタ処理単位毎に適応フィルタ処理を行う。なお、本処理例における第2フィルタ処理単位は、図5(c)に示すように、対象LCUと同じサイズであって、対象LCUとは異なる位置を有するように設定される。また、対象LCUについての第2フィルタ処理単位は、対象LCUにおいて、デブロック処理が未実施の領域(図5(c)における斜線部)とは重複しないように設定される。また、以下の説明では、第2フィルタ処理単位をALFU2とも表記する。
図5(d)は、本処理例における処理の流れを示すフローチャートである。ループフィルタ16は、本処理例において、以下の処理を行う。
(ステップS201)
ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とするループ処理を開始する。ここで、Nは、上述のように、処理対象のスライスに含まれるLCUの総数を示している。なお、以下では、n番目の第2フィルタ処理単位ALFU2をALFU2(n)とも表記する。
ループフィルタ16は、ループ変数nの値を1に初期化し、1≦n≦Nを満たすnについて、ループ毎のループ変数nの増分値を1とするループ処理を開始する。ここで、Nは、上述のように、処理対象のスライスに含まれるLCUの総数を示している。なお、以下では、n番目の第2フィルタ処理単位ALFU2をALFU2(n)とも表記する。
(ステップS202)
ループフィルタ16は、フレームメモリ15に格納された復号画像Pの各画素値のうち、LCU(n)についてのデブロック処理、およびALFU2(n)についての適応フィルタ処理を行うために参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
ループフィルタ16は、フレームメモリ15に格納された復号画像Pの各画素値のうち、LCU(n)についてのデブロック処理、およびALFU2(n)についての適応フィルタ処理を行うために参照される画素値をフレームメモリ15から取得し、内部メモリ163に格納する。
(ステップS203)
続いて、ループフィルタ16は、内部メモリ163に格納された復号画像PにおけるLCU(n)についてのデブロック処理をデブロッキングフィルタ161にて行うことによって、LCU(n)についてのデブロック済画像P_DBを生成し、生成したデブロック済画像P_DBを内部メモリ163に格納する。
続いて、ループフィルタ16は、内部メモリ163に格納された復号画像PにおけるLCU(n)についてのデブロック処理をデブロッキングフィルタ161にて行うことによって、LCU(n)についてのデブロック済画像P_DBを生成し、生成したデブロック済画像P_DBを内部メモリ163に格納する。
(ステップS204)
続いて、ループフィルタ16は、内部メモリ163に格納されたデブロック済復号画像P_DBにおけるALFU2(n)についての適応フィルタ処理を適応フィルタ162により行うことによって、ALFU2(n)についてのフィルタ済画像P_ALFを生成し、生成したフィルタ済画像P_ALFを内部メモリ163に格納する。
続いて、ループフィルタ16は、内部メモリ163に格納されたデブロック済復号画像P_DBにおけるALFU2(n)についての適応フィルタ処理を適応フィルタ162により行うことによって、ALFU2(n)についてのフィルタ済画像P_ALFを生成し、生成したフィルタ済画像P_ALFを内部メモリ163に格納する。
(ステップS205)
本ステップは、ループの終端である。
本ステップは、ループの終端である。
以上が処理例2における処理の流れである。なお、適応フィルタ162により内部メモリ163に格納されたフィルタ済画像P_ALFは、フレームメモリ15に転送され、格納される。
このように、本処理例においては、対象スライスに含まれるLCU(n)についてのデブロック処理を行った後、LCU(n)に対応するALFU2(n)における適応フィルタ処理を行う。したがって、本処理例においては、ループフィルタ16は、フレームメモリ15から内部メモリ163へのデータ転送を、各nについて1回(ステップS202)行えば足りる。
(適応フィルタ162)
以下では、ループフィルタ16の備える適応フィルタ162の構成について図1を参照して説明する。図1に示すように、適応フィルタ162は、対象画素設定部162a、参照領域設定部162b、および、フィルタ処理部162cを備えている。
以下では、ループフィルタ16の備える適応フィルタ162の構成について図1を参照して説明する。図1に示すように、適応フィルタ162は、対象画素設定部162a、参照領域設定部162b、および、フィルタ処理部162cを備えている。
対象画素設定部162aは、フィルタ処理単位ALFUに含まれる各画素を、ラスタスキャン順に、対象画素に設定する。対象画素設定部162aによって設定された対象画素の位置を示す対象画素位置情報は、参照領域設定部162bに供給される。参照領域設定部162bにて対象画素毎に参照領域Rが設定され、フィルタ処理部162cにて対象画素毎に画素値が算出される。
参照領域設定部162bは、フィルタ処理単位ALFU内の対象画素の位置、または、対象LCU内の対象画素の位置に基づいて、対象画素の周辺にフィルタ参照領域R(単に、参照領域Rとも呼称する)を設定する。ここで、フィルタ参照領域Rは、(1)フィルタパラメータFPに含まれるタップ数情報、(2)対象LCUにおいてデブロッキングフィルタ161によるデブロック処理が未完了である領域のY方向の幅Ddf、(3)対象LCUのY方向の長さLLCUy、および、(4)対象LCUと対象ALFUとのY方向のずれの絶対値Lyの少なくとも何れかに依存して決定される。なお、対象LCUのY方向の長さLLCUyは、LCUの高さLcuHeightと表現しても良い。なお、LLCUy(=LcuHeight)は、LCUサイズの対数値Log2MaxCUSizeを用いて以下の式で導出される。
LcuHeight=(1 << Log2MaxCUSize)。
参照領域設定部162bは、以下に列挙する制約A〜Eのうち、少なくとも1つの制約が満たされるように、参照領域Rを設定する。
・制約A:対象画素のLCU内Y座標が所定の閾値Lupper1未満である場合に、上方向参照範囲Dupperを、対象画素のLCU内Y座標以下の画素数に制限する。
ここで、上方向参照範囲Dupperとは、対象画素と、参照領域Rの上辺に接する画素であって参照領域R内の画素とのY軸に沿った距離のことを指す(以下同様)。また、上方向参照範囲Dupperは画素を単位として表されるものとする(以下同様)。
また、所定の閾値Lupper1としては、4または8などの固定の値を用いても良いし、可変の値としても良い(以下同様)。また、対象画素のLCU内Y座標が所定の閾値Lupper1未満である場合の上方向参照範囲Dupperは、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
制約Aは、より一般に、対象画素を含むLCUの上流辺と、該対象画素との距離DUが所定の閾値未満のとき、該対象画素についての参照領域Rの上流辺の位置を、該対象画素との距離がDU以下となるように制限するものであると表現することもできる。
なお、上記「上流辺」とは、処理がラスタスキャン順に行われる場合には、上辺および左辺の何れか一方を指し、処理がラスタスキャンの逆順に行われる場合には、下辺および右辺の何れか一方を指す。また、上記「下流辺」とは、処理がラスタスキャン順に行われる場合には、下辺および右辺の何れか一方を指し、処理がラスタスキャンの逆順に行われる場合には、上辺および左辺の何れか一方を指す(以下同様)。
また、以下の記載において、「下流辺の下流側」とは、処理がラスタスキャン順に行われる場合には、「下辺の下側」および「右辺の右側」の何れか一方を指し、処理がラスタスキャンの逆順である場合には、「上辺の上側」および「左辺の左側」を指す。また、以下の記載において、「下流辺の上流側」とは、処理がラスタスキャン順に行われる場合には、「下辺の上側」および「右辺の左側」の何れか一方を指し、処理がラスタスキャンの逆順である場合には、「上辺の下側」および「左辺の右側」を指す。
・制約B:対象画素のLCU内Y座標が所定の閾値LLCUy−Llower1以上である場合には、下方向参照範囲Dlowerを、LLCUy−(対象画素のLCU内Y座標)−1以下の画素数に制限する。
ここで、下方向参照範囲Dlowerとは、対象画素と、参照領域Rの下辺に接する画素であって参照領域R内の画素とのY軸に沿った距離のことを指す(以下同様)。また、下方向参照範囲Dlowerは画素を単位として表されるものとする(以下同様)。
また、対象画素のLCU内Y座標が所定の閾値LLCUy−Llower1以上である場合の下方向参照範囲Dlowerは、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
制約Bは、より一般に、対象画素を含むLCUの下流辺と、該対象画素との距離DLが所定の閾値未満のとき、該対象画素についての参照領域の下流辺の位置を、該対象画素との距離がDL以下となるように制限するものであると表現することもできる。
・制約C:対象画素の正規化LCU内Y座標が所定の閾値Lupper2以上である場合には、上方向参照範囲Dupperを、Ly+(対象画素の正規化LCU内Y座標)−LLCUy以下の画素数に制限する。
ここで所定の閾値で示されるLupper2の境界を仮想境界ライン(Virtual Boundary Line)と呼ぶ。仮想境界ラインの位置はVBLineで表記する。
ここで、正規化LCU内Y座標とは、剰余演算を表す記号「%」を用いて、(LCU内Y座標)%LLCUyによって定義され、0以上の値をとる(以下同様)。また、LCU内Y座標=(対象画素のY座標)%LLCUyであるから、結局、正規化LCU内Y座標は、対象画素のY座標を用いて、(Y座標%LLCUy)と同じである。また、対象画素の位置を、対象画素を含むブロックの左上座標(xC, yC)とブロック左上座標からの相対座標(x, y)で表現される場合には、正規化LCU内Y座標yrは、(yC+y)% LcuHeightとなる。
また、所定の閾値Lupper2は、LLCUy−Ly以下の値とすればよい(以下同様)。ここでLy=4とすると制約Cにおける仮想境界ラインの位置VBLine(=LcuHeight −Ly)は、LcuHeight − 4となる。Ly=3とするとVBLineは、LcuHeight − 3となる。また、対象画素の正規化LCU内Y座標が所定の閾値Lupper2以上である場合の上方向参照範囲Dupperは、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
制約Cは、より一般に、対象画素が、該対象画素を含むLCUに対応するALFUの下流辺の下流側(仮想境界ラインVBLine以下)に位置するとき、該対象画素についての参照領域Rの上流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺(仮想境界ラインVBLine)との距離以下となるように制限するものであると表現することもできる。この場合、参照領域Rは、仮想境界ラインVBLineより上側の画素を含まないように制限される。すなわち、Y座標が仮想境界ラインVBLine以下である画素のみが参照される。
・制約D:対象画素の正規化LCU内Y座標が所定の閾値Llower2未満である場合には、下方向参照範囲Dlowerを、LLCUy−Ddf−(対象画素の正規化LCU内Y座標)−1以下の画素数に制限する。
ここで、対象画素の正規化LCU内Y座標が所定の閾値Llower2未満である場合の下方向参照範囲Dlowerは、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。また、閾値Llower2は、LLCUy−Ly以上の値とすればよい。
制約Dは、より一般に、対象画素が、該対象画素を含むLCUに対応するALFUの下流辺の上流側に位置するとき、該対象画素についての参照領域Rの下流辺の位置を、該対象画素との距離が、該対象画素と該LCUの下流辺との距離からDdfを減じて得られる距離以下となるように制限するものであると表現することもできる。
・制約E:対象画素の正規化LCU内Y座標が所定の閾値Llower3未満である場合には、下方向参照範囲Dlowerを、LLCUy−Ly−(対象画素の正規化LCU内Y座標)−1以下の画素数に制限する。所定の閾値で示されるLupper3の境界も仮想境界ライン(Virtual Boundary Line)と呼ぶ。
ここで、閾値Llower3は、LLCUy−Ly以上の値とすればよい。ここでLy=4とすると制約Eにおける仮想境界ラインの位置VBLine(=LcuHeight −Ly)は、LcuHeight − 4となる。Ly=3とするとVBLineは、LcuHeight − 3となる。
制約Eは、より一般に、対象画素が、該対象画素を含むLCUに対応するALFUの下流辺の上流側(仮想境界ラインVBLineより上側)に位置するとき、該対象画素についての参照領域Rの下流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺(仮想境界ラインVBLine)との距離以下となるように制限するものであると表現することもできる。この場合、参照領域Rは、仮想境界ラインVBLine以下の画素を含まないように制限される。すなわち、Y座標が仮想境界ラインVBLineより上である画素のみが参照される。
(フィルタ処理部162c)
フィルタ処理部162cは、適応フィルタ済復号画像P_ALF(「フィルタ後画像」とも呼称する)の対象画素の画素値を、デブロック済復号画像P_DB(「フィルタ前画像」とも呼称する)の画素値であって、参照領域設定部162bにより該対象画素について設定された参照領域Rに含まれる画素の画素値を参照して算出する。生成された適応フィルタ済復号画像P_ALFは、一旦内部メモリ163に格納された後、フレームメモリ15に転送される。
フィルタ処理部162cは、適応フィルタ済復号画像P_ALF(「フィルタ後画像」とも呼称する)の対象画素の画素値を、デブロック済復号画像P_DB(「フィルタ前画像」とも呼称する)の画素値であって、参照領域設定部162bにより該対象画素について設定された参照領域Rに含まれる画素の画素値を参照して算出する。生成された適応フィルタ済復号画像P_ALFは、一旦内部メモリ163に格納された後、フレームメモリ15に転送される。
適応フィルタ済復号画像P_ALFにおける対象画素の画素値をSF(x’、y’)と表し、フィルタ参照範囲におけるデブロック済復号画像P_DBの画素値をS(x、y)と表すことにすると、フィルタ処理部162cは、画素値SF(x’、y’)を、以下の数式(1)によって算出する。
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、a(i、j)は、フィルタパラメータFPに含まれるフィルタ係数のうち、フィルタ前画像の画素値S(x+i、y+j)に乗ぜられるフィルタ係数を表しており、oは、フィルタパラメータFPに含まれるオフセットを表している。
また、Rは、対象画素の画素値を算出するために参照される領域を表しており、参照領域設定部162bによって設定される。図6(a)は、参照領域設定部162bによって設定された5×5タップの参照領域Rに含まれる各画素へのフィルタ係数の割り付け方の位置例を示している。図6(a)において、斜線が付された画素は、対象画素S(x’、y’)を示している。図6(a)に示すように、各フィルタ係数は、180度の回転対称性を有するように、フィルタ参照領域Rに含まれる各画素に対して割り付けられる構成とすることができる。すなわち、数式(1)におけるaI(i、j)は、フィルタパラメータFPに含まれるフィルタ係数a0〜a12を用いて、aI(−3、−3)=aI(3、3)=a0、aI(−2、−3)=aI(2、3)=a1、…、のように、aI(i、j)=aI(−i、−j)を満たすように設定される構成とすることができる。図6(b)は、参照領域設定部162bによって設定された5(横方向)×3(縦方向)タップの参照領域Rに含まれる各画素へのフィルタ係数の割り付け方の一例を示している。
(適応フィルタ処理の流れ)
以下では、適応フィルタ済復号画像P_ALFの生成処理について、図7〜図9を参照して説明する。図7は、適応フィルタ162による適応フィルタ済復号画像P_ALFの生成処理の流れを示すフローチャートである。
以下では、適応フィルタ済復号画像P_ALFの生成処理について、図7〜図9を参照して説明する。図7は、適応フィルタ162による適応フィルタ済復号画像P_ALFの生成処理の流れを示すフローチャートである。
(ステップS1)
適応フィルタ162は、対象画素設定部162aにて、ループ変数xxおよびyyの値を何れも0に初期化し、0≦xx≦LLCUx−1を満たすループ変数xxについてxxの増分値を1とする第1のループ処理、および、0≦yy≦LLCUy−1を満たすループ変数yyについてyyの増分値を1とする第2のループ処理を開始する。ここで、(xx、yy)は、対象画素のALFU内座標を表している。また、LLCUxおよびLLCUyは、ぞれぞれ、対象LCUの水平方向の長さ、および、対象LCUの垂直方向の長さを表している。
適応フィルタ162は、対象画素設定部162aにて、ループ変数xxおよびyyの値を何れも0に初期化し、0≦xx≦LLCUx−1を満たすループ変数xxについてxxの増分値を1とする第1のループ処理、および、0≦yy≦LLCUy−1を満たすループ変数yyについてyyの増分値を1とする第2のループ処理を開始する。ここで、(xx、yy)は、対象画素のALFU内座標を表している。また、LLCUxおよびLLCUyは、ぞれぞれ、対象LCUの水平方向の長さ、および、対象LCUの垂直方向の長さを表している。
(ステップS2)
続いて、適応フィルタ162は、参照領域設定部162bにて、フィルタパラメータFPに含まれるタップ数情報を参照し、上方向参照範囲Dupperおよび下方向参照範囲Dlowerを、
Dupper=Dtap
Dlower=Dtap
に設定する。ここで、Dtapの具体的な値は、タップ数情報の示すタップ数に応じて定まる。例えば、タップ数情報の示すタップ数が5タップであればDtap=2、タップ数情報の示すタップ数が7タップであればDtap=3、タップ数情報の示すタップ数が9タップであれば、Dtap=4である。一般に、タップ数情報の示すタップ数がNtapであれば、Dtap=(Ntap−1)/2である。
続いて、適応フィルタ162は、参照領域設定部162bにて、フィルタパラメータFPに含まれるタップ数情報を参照し、上方向参照範囲Dupperおよび下方向参照範囲Dlowerを、
Dupper=Dtap
Dlower=Dtap
に設定する。ここで、Dtapの具体的な値は、タップ数情報の示すタップ数に応じて定まる。例えば、タップ数情報の示すタップ数が5タップであればDtap=2、タップ数情報の示すタップ数が7タップであればDtap=3、タップ数情報の示すタップ数が9タップであれば、Dtap=4である。一般に、タップ数情報の示すタップ数がNtapであれば、Dtap=(Ntap−1)/2である。
(ステップS3)
続いて、適応フィルタ162は、参照領域設定部162bにて、対象画素の座標を、ALFU内座標から正規化LCU内座標に変換する。具体的には、対象画素の正規化LCU内座標(xr、yr)を、当該対象画素のALFU内座標(xx、yy)から
yr=(yy−Ly)%LLCUy
xr=(xx−Lx)%LLCUx
によって算出する。
続いて、適応フィルタ162は、参照領域設定部162bにて、対象画素の座標を、ALFU内座標から正規化LCU内座標に変換する。具体的には、対象画素の正規化LCU内座標(xr、yr)を、当該対象画素のALFU内座標(xx、yy)から
yr=(yy−Ly)%LLCUy
xr=(xx−Lx)%LLCUx
によって算出する。
(ステップS4)
続いて、適応フィルタ162は、参照領域設定部162bにて、(xr、yr)の値に応じて、参照領域Rを設定する。
続いて、適応フィルタ162は、参照領域設定部162bにて、(xr、yr)の値に応じて、参照領域Rを設定する。
(ステップS5)
続いて、適応フィルタ162は、フィルタ処理部162cにて、対象画素の画素値を、ステップS1004にて設定された参照領域Rにおけるデブロック済復号画像P_DBの各画素値を参照して算出する。
続いて、適応フィルタ162は、フィルタ処理部162cにて、対象画素の画素値を、ステップS1004にて設定された参照領域Rにおけるデブロック済復号画像P_DBの各画素値を参照して算出する。
(ステップS6)
本ステップは、第1のループおよび第2のループの終端である。
本ステップは、第1のループおよび第2のループの終端である。
以上が、対象LCUにおける適応フィルタ済復号画像P_ALFの生成処理の流れである。ここで、ステップS4における参照領域Rは、制約A〜Eのうち少なくとも1つの制約を満たすように設定される。以下では、ステップS4における参照領域Rの設定例について、図8および図9を参照して説明する。
(設定例1)
参照領域設定部162bは、制約Aを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(a)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper1未満であるか否かの判別処理(ステップS4a1)、および、正規化LCU内Y座標yrが所定の閾値Lupper1未満である場合に、参照領域Rを、上方向参照範囲DupperがDupper≦yrを満たすように設定する処理(ステップS4a2)を行う。
参照領域設定部162bは、制約Aを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(a)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper1未満であるか否かの判別処理(ステップS4a1)、および、正規化LCU内Y座標yrが所定の閾値Lupper1未満である場合に、参照領域Rを、上方向参照範囲DupperがDupper≦yrを満たすように設定する処理(ステップS4a2)を行う。
参照領域設定部162bが本例の処理を行うことによって、フィルタ処理部162cは、フィルタ処理単位ALFUの上側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。
なお、本例の処理は、ループフィルタ16が、上述した処理例1および処理例2の何れの処理を行う場合であっても、好適に適用することができる。
図9(a)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(a)では、対象画素の正規化LCU内Y座標yrが閾値Lupper1未満である場合に、上方向参照範囲Dupperを0に設定する場合が示されている。
(設定例2)
参照領域設定部162bは、制約Bを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(b)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値LLCUy−Llower1以上であるか否かの判別処理(ステップS4b1)、および、正規化LCU内Y座標yrが所定の閾値LLCUy−Llower1以上である場合に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−yr−1を満たすように設定する処理(ステップS4b2)を行う。
参照領域設定部162bは、制約Bを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(b)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値LLCUy−Llower1以上であるか否かの判別処理(ステップS4b1)、および、正規化LCU内Y座標yrが所定の閾値LLCUy−Llower1以上である場合に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−yr−1を満たすように設定する処理(ステップS4b2)を行う。
参照領域設定部162bが本例の処理を行うことによって、フィルタ処理部162cは、フィルタ処理単位ALFUの下側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。また、フィルタ処理部162cは、対象LCUの下側のLCUの復号が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
なお、本例の処理は、ループフィルタ16が、上述した処理例1および処理例2の何れの処理を行う場合であっても、好適に適用することができる。
図9(b)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(b)では、対象画素の正規化LCU内Y座標yrが閾値LLCUy−Llower1以上である場合に、下方向参照範囲Dlowerを0に設定する場合が示されている。
(設定例3)
参照領域設定部162bは、制約Aおよび制約Bの双方の制約を満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(a)に示す処理(ステップS4a1、ステップS4a2)、および、図8(b)に示す処理(ステップS4b1、ステップS4b2)の双方を行う。
参照領域設定部162bは、制約Aおよび制約Bの双方の制約を満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(a)に示す処理(ステップS4a1、ステップS4a2)、および、図8(b)に示す処理(ステップS4b1、ステップS4b2)の双方を行う。
参照領域設定部162bが本例の処理を行うことによって、フィルタ処理部162cは、フィルタ処理単位ALFUの上側の画素値および下側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。また、フィルタ処理部162cは、対象LCUの下側のLCUの復号が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
なお、本例の処理は、ループフィルタ16が、上述した処理例1および処理例2の何れの処理を行う場合であっても、好適に適用することができる。
図9(c)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(c)では、対象画素の正規化LCU内Y座標yrが閾値Lupper1未満である場合に、上方向参照範囲Dupperを0に設定し、対象画素の正規化LCU内Y座標yrが閾値LLCUy−Llower1以上である場合に、下方向参照範囲Dlowerを0に設定する場合が示されている。
(設定例4)
参照領域設定部162bは、制約Dを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(d)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Llower2未満であるか否かの判別処理(ステップS4d1)、および、正規化LCU内Y座標yrが所定の閾値Llower2未満である場合に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−Ddf−yr−1を満たすように設定する処理(ステップS4d2)を行う。ここで、閾値Llower2は、Llower2=LLCUy−Lyを満たすことが好ましい(以下同様)。
参照領域設定部162bは、制約Dを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(d)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Llower2未満であるか否かの判別処理(ステップS4d1)、および、正規化LCU内Y座標yrが所定の閾値Llower2未満である場合に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−Ddf−yr−1を満たすように設定する処理(ステップS4d2)を行う。ここで、閾値Llower2は、Llower2=LLCUy−Lyを満たすことが好ましい(以下同様)。
なお、本例においては、参照領域設定部162bは、ステップS4d1にて、正規化LCU内Y座標yrが所定の閾値Llower2’以上あり、かつ所定の閾値Llower2未満であるか否かを判別し、ステップS4d2にて、正規化LCU内Y座標yrが所定の閾値Llower2’以上あり、かつ所定の閾値Llower2未満である場合に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−Ddf−yr−1を満たすように設定する構成としてもよい。ここで、閾値Llower2’は、Llower2’=LLCUy−Ly−Dtapを満たすことが好ましい。
本例の処理は、ループフィルタ16が、上述した処理例2の処理を行う場合に、好適に適用することができる。したがって、参照領域設定部162bが本例の処理を行うことによって、フレームメモリ15から内部メモリ163へのデータ転送を、各LCUについて1回(ステップS202)行えば足りるので、フレームメモリ15から内部メモリ163へのデータ転送量を削減することができる。また、フィルタ処理部162cは、対象LCUの下辺についてのデブロック処理が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
図9(d)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(d)では、対象画素の正規化LCU内Y座標yrが閾値Llower2’以上であって閾値Llower2未満である場合に、下方向参照範囲Dlowerを0に設定する場合が示されている。
(設定例5)
参照領域設定部162bは、制約Cおよび制約Dの双方を満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(c)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper2以上(仮想境界ラインVBLine以下)であるか否かの判別処理(ステップS4c1)、および、正規化LCU内Y座標yrが所定の閾値Lupper2以上である場合(仮想境界ラインVBLine以下に位置する場合)に、参照領域Rを、上方向参照範囲DupperがDupper≦Ly+yr−LLCUyを満たすように設定する処理(ステップS4c2)を行う。この場合、Y座標が仮想境界ラインVBLine以下の画素のみが参照される。ここで、閾値Lupper2は、Lupper2=LLCUy−Lyを満たすことが好ましい。また、参照領域設定162bは、図8(d)に示す処理(ステップS4d1、ステップS4d2)も行う。上記判別処理は、仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VB = (y座標 % LcuHeight)− VBLineを用いると、dist2VB≧0と表現できる。
参照領域設定部162bは、制約Cおよび制約Dの双方を満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(c)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper2以上(仮想境界ラインVBLine以下)であるか否かの判別処理(ステップS4c1)、および、正規化LCU内Y座標yrが所定の閾値Lupper2以上である場合(仮想境界ラインVBLine以下に位置する場合)に、参照領域Rを、上方向参照範囲DupperがDupper≦Ly+yr−LLCUyを満たすように設定する処理(ステップS4c2)を行う。この場合、Y座標が仮想境界ラインVBLine以下の画素のみが参照される。ここで、閾値Lupper2は、Lupper2=LLCUy−Lyを満たすことが好ましい。また、参照領域設定162bは、図8(d)に示す処理(ステップS4d1、ステップS4d2)も行う。上記判別処理は、仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VB = (y座標 % LcuHeight)− VBLineを用いると、dist2VB≧0と表現できる。
なお、本例においては、参照領域設定部162bは、ステップS4c1にて、正規化LCU内Y座標yrが所定の閾値Lupper2以上あり、かつ所定の閾値Lupper2’以下であるか否かを判別し、ステップS4c2にて、正規化LCU内Y座標yrが所定の閾値Lupper2以上あり、かつ所定の閾値Lupper2’以下である場合に、参照領域Rを、上方向参照範囲DupperがDupper≦Ly+yr−LLCUyを満たすように設定する構成としてもよい。ここで、閾値Lupper2’は、Lupper2’=LLCUy−Ly+Dtapを満たすことが好ましい。
本例の処理は、ループフィルタ16が、上述した処理例2の処理を行う場合に、好適に適用することができる。したがって、参照領域設定部162bが本例の処理を行うことによって、フレームメモリ15から内部メモリ163へのデータ転送を、各LCUについて1回(ステップS202)行えば足りるので、フレームメモリ15から内部メモリ163へのデータ転送量を削減することができる。また、フィルタ処理部162cは、フィルタ処理単位ALFUの上側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。また、フィルタ処理部162cは、対象LCUの下辺についてのデブロック処理が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
図9(e)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(e)は、Lupper2=Llower2’である場合を示しているが、本実施形態はこれに限定されるものではない。
(設定例6)
参照領域設定部162bは、制約A、制約B、制約Cおよび制約Dを全て満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、図8(a)〜(d)に示す処理を全て行う。
参照領域設定部162bは、制約A、制約B、制約Cおよび制約Dを全て満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、図8(a)〜(d)に示す処理を全て行う。
本例の処理は、ループフィルタ16が、上述した処理例1および処理例2の何れの処理を行う場合であっても、好適に適用することができる。
ループフィルタ16が上述した処理例2の処理を行う場合、参照領域設定部162bが本例の処理を行うことによって、フレームメモリ15から内部メモリ163へのデータ転送を、各LCUについて1回(ステップS202)行えば足りるので、フレームメモリ15から内部メモリ163へのデータ転送量を削減することができる。また、フィルタ処理部162cは、対象LCUの下辺についてのデブロック処理が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
また、ループフィルタ16が上述した処理例1および処理例2の何れの処理を行う場合であっても、参照領域設定部162bが本例の処理を行うことによって、フィルタ処理部162cは、フィルタ処理単位ALFUの上側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。
図9(f)は、対象LCUについて、本例の処理を行う参照領域設定部162bによって設定された参照領域Rの一例を示す図である。図9(f)は、Lupper2=Llower2’である場合を示しているが、本実施形態はこれに限定されるものではない。
(設定例7)
参照領域設定部162bは、制約Eを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(e)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper3未満(仮想境界ラインVBLineより上側)であるか否かの判別処理(ステップS4e1)、および、正規化LCU内Y座標yrが所定の閾値Lupper3未満である場合(仮想境界ラインVBLineより上側に位置する場合)に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−Ly−yr−1を満たすように設定する処理(ステップS4e2)を行う。この場合、Y座標が仮想境界ラインVBLineより上の画素のみが参照される。ここで、閾値Lupper3は、Lupper3=LLCUy−Lyを満たすことが好ましい。上記判別処理は、仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VB = (y座標 % LcuHeight)− VBLineを用いると、dist2VB<0と表現できる。
参照領域設定部162bは、制約Eを満たすように参照領域Rを設定する。具体的には、参照領域設定部162bは、上述のステップS4にて、図8(e)に示す処理、すなわち、正規化LCU内Y座標yrが所定の閾値Lupper3未満(仮想境界ラインVBLineより上側)であるか否かの判別処理(ステップS4e1)、および、正規化LCU内Y座標yrが所定の閾値Lupper3未満である場合(仮想境界ラインVBLineより上側に位置する場合)に、参照領域Rを、下方向参照範囲DlowerがDlower≦LLCUy−Ly−yr−1を満たすように設定する処理(ステップS4e2)を行う。この場合、Y座標が仮想境界ラインVBLineより上の画素のみが参照される。ここで、閾値Lupper3は、Lupper3=LLCUy−Lyを満たすことが好ましい。上記判別処理は、仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VB = (y座標 % LcuHeight)− VBLineを用いると、dist2VB<0と表現できる。
(参照領域に課される制約についてのより詳細な説明)
以下では、上述した制約A〜E、および、上述した制約A〜Eの他の表現について、順を追ってより詳細に説明する。
以下では、上述した制約A〜E、および、上述した制約A〜Eの他の表現について、順を追ってより詳細に説明する。
(座標系)
まず、制約A〜Eを表現するために用いる座標系について説明する。なお、以下の説明では、第1フィルタ処理単位ALFU1、および、第2フィルタ処理単位ALFU2を「フィルタ処理単位ALFU」と総称する。
まず、制約A〜Eを表現するために用いる座標系について説明する。なお、以下の説明では、第1フィルタ処理単位ALFU1、および、第2フィルタ処理単位ALFU2を「フィルタ処理単位ALFU」と総称する。
図10は、対象LCUと、対象LCUに対応するフィルタ処理単位ALFUとの位置関係を示す図である。図10に示すように、LCUにおける各画素の座標は、LCU内の左上の画素を原点とするLCU内X座標xおよびLCU内Y座標yを用いて(x、y)と表現される。また、ALFUにおける各画素の座標は、ALFU内の左上の画素を原点とするALFU内X座標xxおよびALFU内Y座標yyを用いて、(xx、yy)と表現される。なお、LCU内座標(x、y)およびALFU内座標(xx、yy)は、共に、画素を単位し、ラスタスキャンの下流方向を正として表現される。
図10に示すように、ALFUは、LCUに比べて、Y軸に沿ってラスタスキャンの上流側にLy、X軸に沿ってラスタスキャンの上流側にLxずれた場所に設定される。したがって、(x、y)と(xx、yy)との関係は以下のように表現される。
x=xx−Lx
y=yy−Ly
また、LCUにおける各画素の座標は、
xr=x%LLCUx
yr=y%LLCUy
によって定義される、正規化LCU内座標(xr、yr)によって表現することもできる。ここで、記号%は、剰余演算を表しており、LLCUxは、対象LCUのx方向の長さを表しており、LLCUyは、対象LCUのy方向の長さを表している。また、ループフィルタ16が、上述した処理例1の処理を行う場合、すなわち、ALFUがALFU2である場合には、Lx=Ly=0が満たされる。
y=yy−Ly
また、LCUにおける各画素の座標は、
xr=x%LLCUx
yr=y%LLCUy
によって定義される、正規化LCU内座標(xr、yr)によって表現することもできる。ここで、記号%は、剰余演算を表しており、LLCUxは、対象LCUのx方向の長さを表しており、LLCUyは、対象LCUのy方向の長さを表している。また、ループフィルタ16が、上述した処理例1の処理を行う場合、すなわち、ALFUがALFU2である場合には、Lx=Ly=0が満たされる。
図11(a)は、適応フィルタ162により画素値が算出される対象画素の、ALFUにおける位置を示す図であり、図11(b)は、対象画素の画素値を算出するために適応フィルタ162により参照される画素よりなる領域である参照領域Rを示す図である。
図11(b)に示すように、参照領域Rは、対象画素と、参照領域Rの上辺に接する画素であって参照領域R内の画素とのY軸に沿った距離が上方向参照範囲DDupperとなり、対象画素と、参照領域Rの下辺に接する画素であって参照領域R内の画素とのY軸に沿った距離が下方向参照範囲DDlowerとなるように設定される。ここで、上方向参照範囲DDupper、および下方向参照範囲DDlowerの具体的な値は、フィルタパラメータFPに含まれるタップ数情報、および対象画素の位置に応じて、適応フィルタ162により設定される。例えば、タップ数情報が9タップを示している場合、上方向参照範囲DDupperのとり得る値は、0、1、3、及び4の何れかである。下方向参照範囲DDlowerについても同様である。
なお、対象画素のALFU内座標が(xx、yy)であるときの上方向参照範囲、および下方向参照範囲を、それぞれ、DDupper(yy)、およびDDlower(yy)と表す。また、対象画素のLCU内座標が(x、y)であるときの上方向参照範囲、および下方向参照範囲を、それぞれ、Dupper(y)、およびDlower(y)と表す。
(適応フィルタ161が参照領域Rに課する制約)
続いて、適応フィルタ162が、対象画素についての参照領域Rを設定する際に、上方向参照範囲DDupper、および下方向参照範囲DDlowerに課する制約について説明する。なお、上述した制約A〜Eは、以下に説明するupper制約、第1lower制約、および、第2lower制約を、正規化LCU内座標を用いて表現したものである。したがって、適応フィルタ162は、以下に説明するupper制約、第1lower制約、および第2lower制約のうち、少なくとも1つの制約を課することによって参照領域Rを設定するものであると表現することもできる。
続いて、適応フィルタ162が、対象画素についての参照領域Rを設定する際に、上方向参照範囲DDupper、および下方向参照範囲DDlowerに課する制約について説明する。なお、上述した制約A〜Eは、以下に説明するupper制約、第1lower制約、および、第2lower制約を、正規化LCU内座標を用いて表現したものである。したがって、適応フィルタ162は、以下に説明するupper制約、第1lower制約、および第2lower制約のうち、少なくとも1つの制約を課することによって参照領域Rを設定するものであると表現することもできる。
(upper制約および第1lower制約)
適応フィルタ162は、ループフィルタ161が、上述の処理例1および処理例2の何れかの処理を行う場合に、参照領域Rを、以下に示すupper制約および第1lower制約のうち、少なくとも一方を満たすように設定する。
適応フィルタ162は、ループフィルタ161が、上述の処理例1および処理例2の何れかの処理を行う場合に、参照領域Rを、以下に示すupper制約および第1lower制約のうち、少なくとも一方を満たすように設定する。
・upper制約:対象画素の画素値を算出する際に、ALFU1より上方に位置する画素の画素値を参照しない
・第1lower制約:対象画素の画素値を算出する際に、ALFU1より下方に位置する画素の画素値を参照しない
適応フィルタ162は、参照領域Rを、上記2つの制約のうち少なくとも一方を満たすように設定することによって、上述したステップS106におけるデータ転送量を削減することができる。
・第1lower制約:対象画素の画素値を算出する際に、ALFU1より下方に位置する画素の画素値を参照しない
適応フィルタ162は、参照領域Rを、上記2つの制約のうち少なくとも一方を満たすように設定することによって、上述したステップS106におけるデータ転送量を削減することができる。
図12は、処理例1の処理を行う適応フィルタ162が、参照領域Rに対して、上記upper制約、および、上記第1lower制約の少なくとも一方を課する場合の、データ転送量の削減効果を説明するための図である。
図12の(a)は、上記upper制約、および、上記第1lower制約の何れも課さない従来の適応フィルタ処理において転送される画素の領域を示す図である。図12(a)に示すように、従来の適応フィルタ処理においては、対象LCUの周辺の画素であって、対象LCUの上方に位置する画素の画素値、および、対象LCUの下方に位置する画素の画素値を転送する必要がある。
図12の(b)は、適応フィルタ162が、上記第1lower制約を課す場合に、適応フィルタ処理において転送される画素の領域を示す図である。図12(b)に示すように、上記第1lower制約を課す場合、対象LCUの下方に位置する画素の画素値を転送することなく、適応フィルタ処理を行うことができる。
図12の(c)は、適応フィルタ162が、上記upper制約を課す場合に、適応フィルタ処理において転送される画素の領域を示す図である。図12(c)に示すように、上記upper制約を課す場合、対象LCUの上方に位置する画素の画素値を転送することなく、適応フィルタ処理を行うことができる。
図12の(d)は、適応フィルタ162が、上記upper制約、および第1lower制約の双方を課す場合に、適応フィルタ処理において転送される画素の領域を示す図である。図12(d)に示すように、上記upper制約、および上記第1lower制約の双方を課す場合、対象LCUの上方および下方に位置する画素の画素値を転送することなく、適応フィルタ処理を行うことができる。
(第2lower制約)
適応フィルタ162は、ループフィルタ161が、上述の処理例2に示した処理を行う場合に、参照領域Rを、以下に示す第2lower制約を満たすように設定する。
適応フィルタ162は、ループフィルタ161が、上述の処理例2に示した処理を行う場合に、参照領域Rを、以下に示す第2lower制約を満たすように設定する。
・第2lower制約:対象画素の画素値を算出する際に、対象LCUにおけるデブロック処理が未完了の領域を参照しない
適応フィルタ162は、参照領域Rを、上記第2lower制約を満たすように設定することによって、対象LCUにおけるデブロック処理が未完了の領域について、デブロック処理が完了するまで待機することなく、処理例2の処理を行うことができる。
適応フィルタ162は、参照領域Rを、上記第2lower制約を満たすように設定することによって、対象LCUにおけるデブロック処理が未完了の領域について、デブロック処理が完了するまで待機することなく、処理例2の処理を行うことができる。
なお、処理例2においても、上述したupper制約を課すことにより、上述したステップS202におけるデータ転送量を削減することができる。
図13は、処理例2の処理を行う適応フィルタ162が、参照領域Rに対して、上記upper制約を課する場合の、データ転送量の削減効果を説明するための図である。
図13の(a)は、上記upper制約、および、上記第1lower制約の何れも課さない場合に、適応フィルタ処理において転送される画素の領域を示す図である。ここで、図13の(a)に示すように、処理例2において、対象LCUと対象LCUに対応するALFU2とは、互いに異なった位置に設定されている。
図13(a)に示すように、上記upper制約、および、上記第1lower制約の何れも課さない場合、対象ALFU2の周辺の画素であって、対象ALFU2の上方に位置する画素の画素値、および、対象ALFU2の下方に位置する画素の画素値を転送する必要がある。
図13の(b)は、処理例2の処理を行う適応フィルタ162が、上記upper制約を課す場合に、適応フィルタ処理において転送される画素の領域を示す図である。図13(b)に示すように、上記upper制約を課す場合、対象ALFU2の上方に位置する画素の画素値を転送することなく、適応フィルタ処理を行うことができる。なお、図13(c)は、LCUにおけるデブロッキングフィルタの参照範囲を示している。
(upper制約、第1lower制約、および、第2lower制約の数学的表現)
以下では、上述したupper制約、第1lower制約、および、第2lower制約の数学的表現について、図14を参照して説明する。
以下では、上述したupper制約、第1lower制約、および、第2lower制約の数学的表現について、図14を参照して説明する。
図14(a)は、ループフィルタ161が、上述の処理例1に示した処理を行う場合に、上方向参照範囲DDupper(yy)について課する制約を説明するための図である。図14(a)に示すように、対象画素のALFU1内座標が(xx、yy)である場合、参照領域Rの上辺のALFU1内Y座標は、yy−DDupper(yy)と表現される。上述したupper制約とは、参照領域Rの上辺のALFU1内Y座標が、0以上であると表現することができる。したがって、上述したupper制約は、以下のように表現することができる。
・upper制約:DDupper(yy)≦yy
以下では、upper制約を満たすDDupper(yy)の上限値を上方向参照可能範囲MaxDDupper(yy)と表現することもある。ここで、
・MaxDDupper(yy)=yy
である。
以下では、upper制約を満たすDDupper(yy)の上限値を上方向参照可能範囲MaxDDupper(yy)と表現することもある。ここで、
・MaxDDupper(yy)=yy
である。
図14(b)は、ループフィルタ161が、上述の処理例1に示した処理を行う場合に、下方向参照範囲DDlower(yy)について課する制約を説明するための図である。図14(b)に示すように、対象画素のALFU1内座標が(xx、yy)である場合、参照領域Rの下辺のALFU1内Y座標は、yy+DDlower(yy)と表現される。上述した第1lower制約とは、参照領域Rの下辺のALFU1内Y座標が、LLCUy−1以下であると表現することができる。しがたって、上述した第1lower制約は、以下のように表現することができる。
・第1lower制約:DDlower(yy)≦LLCUy−yy−1
以下では、第1lower制約を満たすDDlower(yy)の上限値を第1下方向参照可能範囲MaxDDlower1(yy)と表現することもある。ここで、
・MaxDDlower1(yy)=LLCUy−yy−1
である。
以下では、第1lower制約を満たすDDlower(yy)の上限値を第1下方向参照可能範囲MaxDDlower1(yy)と表現することもある。ここで、
・MaxDDlower1(yy)=LLCUy−yy−1
である。
図14(c)は、ループフィルタ161が、上述の処理例2に示した処理を行う場合に、下方向参照範囲DDlower(yy)について課する制約を説明するための図である。図14(c)に示すように、対象画素のALFU2内座標が(xx、yy)である場合、参照領域Rの下辺のLCU内Y座標は、yy−Ly+DDlower(yy)と表現される。上述した第2lower制約とは、参照領域Rの下辺のLCU内Y座標が、LLCUy−1−Ddf以下であると表現することができる。ここで、Ddfは、対象LCUにおけるデブロック処理が完了していない領域のY方向の幅を表している。したがって、上述した第2lower制約は、以下のように表現することができる。
・第2lower制約:DDlower(yy)≦LLCUy+Ly−Ddf−yy−1
以下では、第2lower制約を満たすDDlower(yy)の上限値を第2下方向参照可能範囲MaxDDlower2(yy)と表現することもある。ここで、
・MaxDDlower2(yy)=LLCUy+Ly−Ddf−yy−1
である。
以下では、第2lower制約を満たすDDlower(yy)の上限値を第2下方向参照可能範囲MaxDDlower2(yy)と表現することもある。ここで、
・MaxDDlower2(yy)=LLCUy+Ly−Ddf−yy−1
である。
対象画素のALFU2内座標が(xx、yy)である場合の、MaxDDupper(yy)、MaxDDlower1(yy)、およびMaxDDlower2(yy)を図14(d)に示す。
なお、上方向参照可能範囲MaxDDupper、第1下方向参照可能範囲MaxDDlower1、および第2下方向参照可能範囲MaxDDlower2をまとめて参照可能範囲と呼ぶことがある。
図15は、ALFU内Y座標、LCU内Y座標、正規化LCU内Y座標、上方向参照可能範囲MaxDDupper、第1下方向参照可能範囲MaxDDlower1、および第2下方向参照可能範囲MaxDDlower2の具体例を示す表である。図15に示すように、参照可能範囲は、対象LCUと対象ALFUとの位置のずれを表すLyに依存する。ここで対象LCUと対象ALFUとの位置のずれを表すLyから仮想境界ラインVBLine(=LcuHeight −Ly)が定義できる。図15の表では、仮想境界ラインVBLineは、正規化LCU内Y座標yrが(0−Ly)%LLCUの場合に相当する。図15では、上方向参照可能範囲MaxDDupperは、正規化LCU内Y座標yrが仮想境界ラインVBLine以下である場合、すなわち(0−Ly)%LLCU、(1−Ly)%LLCU、(2−Ly)%LLCU、(3−Ly)%LLCUにおいて、0、1、2、3に制約される。これは仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VB = (y座標 % LcuHeight)− VBLineが0、1、2、3の場合に相当する。この参照領域Rの制約は、制約Cで既に説明した通りである。
また、第1下方向参照可能範囲MaxDDlower1は、正規化LCU内Y座標yrが仮想境界ラインVBLine未満である場合、すなわち(LLCU−1−Ly)%LLCUy、(LLCU−2−Ly)%LLCUy、(LLCU−3−Ly)%LLCUy、(LLCU−4−Ly)%LLCUyにおいて、0、1、2、3に制約される。これは仮想境界ラインVBLineと正規化LCU内Y座標yrの差dist2VBが−1、−2、−3、−4の場合に相当する。この参照領域Rの制約は、制約Eで既に説明した通りである。
(参照可能範囲の、LCU内座標を用いた表現)
以下では、参照可能範囲の、LCU内座標を用いた表現について説明する。第1フィルタ処理単位ALFU1においては、ALFU1内Y座標yyと、LCU内Y座標yとの関係は、
y=yy
によって与えられるため、対象画素のLCU内Y座標がyである場合の、上方向参照可能範囲、および第1下方向参照可能範囲を、それぞれ、MaxDupper_1(y)、およびMaxDlower1_1(y)と表すことにすると、
・MaxDupper_1(y)=y …(A)
・MaxDlower1_1(y)=LLCUy−y―1 …(B)
である。
以下では、参照可能範囲の、LCU内座標を用いた表現について説明する。第1フィルタ処理単位ALFU1においては、ALFU1内Y座標yyと、LCU内Y座標yとの関係は、
y=yy
によって与えられるため、対象画素のLCU内Y座標がyである場合の、上方向参照可能範囲、および第1下方向参照可能範囲を、それぞれ、MaxDupper_1(y)、およびMaxDlower1_1(y)と表すことにすると、
・MaxDupper_1(y)=y …(A)
・MaxDlower1_1(y)=LLCUy−y―1 …(B)
である。
一方で、第2フィルタ処理単位ALFU2においては、ALFU2内Y座標yyと、LCU内Y座標yとの関係は、
y=yy+LLCUy−Ly (0≦yy≦Ly−1)
y=yy−Ly (Ly≦yy≦LLCUy−1)
によって与えられる。これらの関係は、以下のように表現することもできる。
y=yy+LLCUy−Ly (0≦yy≦Ly−1)
y=yy−Ly (Ly≦yy≦LLCUy−1)
によって与えられる。これらの関係は、以下のように表現することもできる。
yy=y+Ly (0≦y≦LLCUy−Ly−1)
yy=y+Ly−LLCUy (LLCUy−Ly≦y≦LLCUy−1)
したがって、対象画素のLCU内Y座標がyである場合の、上方向参照可能範囲、第1下方向参照可能範囲、および第2下方向参照可能範囲を、それぞれ、MaxDupper_2(y)、MaxDlower1_2(y)、およびMaxDlower2_2(y)と表すことにすると、
yy=y+Ly−LLCUy (LLCUy−Ly≦y≦LLCUy−1)
したがって、対象画素のLCU内Y座標がyである場合の、上方向参照可能範囲、第1下方向参照可能範囲、および第2下方向参照可能範囲を、それぞれ、MaxDupper_2(y)、MaxDlower1_2(y)、およびMaxDlower2_2(y)と表すことにすると、
である。
数式(A)、(B)、(C)、(D)、および(E)に対応する制約が、それぞれ、上述した制約A、制約B、制約C、制約D、および制約Eに対応する。制約A、および制約Cは、第1フィルタ処理単位ALFU1、および第2フィルタ処理単位ALFU2についてのupper制約に対応しており、制約B、および制約Eは第1フィルタ処理単位ALFU1、および第2フィルタ処理単位ALFU2についての第1lower条件に対応しており、制約Dは、第2フィルタ処理単位ALFU2についての第2lower条件に対応している。
ここで、仮想境界ラインVBLineをLLCUy−Ly(=LcuHeight −Ly)とすると、制約Cに対応する数式(C)は、LCU内Y座標を示すyが仮想境界ラインVBLine以下に位置する場合、すなわち(LLCUy―Ly≦y≦LLCUy−1)の場合に、上方向参照範囲MaxDupper_2(y)を、LCU内Y座標と仮想境界ラインの差(=y+Ly−LLCUy)に制約することを意味する。LCU内Y座標と仮想境界ラインの差(=y+Ly−LLCUy)は、既に説明したdist2VB=(y座標 % LcuHeight)−VBLineに相当する。タップ数が9タップである場合、すなわち制約のない場合の上方向参照範囲が4である場合には、上方向参照範囲MaxDupper_2(y)が4未満になる場合には、上方向参照範囲が制約される。すなわち、LCU内Y座標と仮想境界ラインの差dist2VBが0、1、2、3の場合に制約される。タップ数が7タップ(無制約時の上方向参照範囲が3)である場合には、LCU内Y座標と仮想境界ラインの差dist2VBが0、1、2、3の場合に上方向参照範囲が制約される。タップ数が5タップ(無制約時の上方向参照範囲が2)である場合には、LCU内Y座標と仮想境界ラインの差dist2VBが0、1の場合に上方向参照範囲が制約される。
制約Eに対応する数式(E)は、LCU内Y座標を示すyが仮想境界ラインVBLine(=LcuHeight −Ly)より上に位置する場合、すなわち(0≦y≦LLCUy−1)の場合に、下方向参照範囲MaxDlower2_2(y)を、LCU内Y座標と仮想境界ラインの差(=VBLine−y)−1に制約することを意味する。LCU内Y座標と仮想境界ラインの差(=VBLine−y)は、既に説明したdist2VB=(y座標 % LcuHeight)−VBLineの符号を反転した値に相当する。タップ数が9タップである場合には、すなわち制約のない場合の下方向参照範囲が4である場合には、−dist2VB−1が4未満になる場合に下方向参照範囲が制約される。すなわち、LCU内Y座標と仮想境界ラインの差dist2VBが−1、−2、−3、−4の場合に制約される。タップ数が7タップ(無制約時の下方向参照範囲が3)である場合には、LCU内Y座標と仮想境界ラインの差dist2VBが−1、−2、−3の場合に下方向参照範囲が制約される。タップ数が5タップ(無制約時の下方向参照範囲が2)である場合には、LCU内Y座標と仮想境界ラインの差dist2VBが−1、−2の場合に下方向参照範囲が制約される。
(制約A)
数式(A)は、ループフィルタ16が、処理例1および処理例2の何れかの処理を行う場合であって、対象画素のLCU内Y座標が所定の閾値未満である場合に、上方向参照範囲Dupper(y)を、対象画素のLCU内Y座標以下に制限することにより満たされる。ループフィルタ16は、処理例1および処理例2の何れかの処理を行う場合に、以下の制約Aが満たされるように、参照領域Rを設定する。
数式(A)は、ループフィルタ16が、処理例1および処理例2の何れかの処理を行う場合であって、対象画素のLCU内Y座標が所定の閾値未満である場合に、上方向参照範囲Dupper(y)を、対象画素のLCU内Y座標以下に制限することにより満たされる。ループフィルタ16は、処理例1および処理例2の何れかの処理を行う場合に、以下の制約Aが満たされるように、参照領域Rを設定する。
・制約A:対象画素のLCU内Y座標が所定の閾値Lupper1未満である場合には、上方向参照範囲Dupper(y)を、対象画素のLCU内Y座標以下の画素数とする。
ここで、所定の閾値Lupper1としては、4または8などの固定の値を用いても良いし、可変の値としても良い(以下同様)。また、対象画素のLCU内Y座標が所定の閾値Lupper1未満である場合の上方向参照範囲Dupper(y)は、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
(制約B)
数式(B)は、ループフィルタ16が、処理例1および処理例2の何れかの処理を行う場合であって、対象画素のLCU内Y座標が所定の閾値以上である場合に、下方向参照範囲Dlower(y)を、LLCUyから対象画素のLCU内Y座標を減じて1を加算して得られる値以下に制限することにより満たされる。ループフィルタ16は、処理例1および処理例2の何れかの処理を行う場合に、以下の制約Bが満たされるように、参照領域Rを設定する。
数式(B)は、ループフィルタ16が、処理例1および処理例2の何れかの処理を行う場合であって、対象画素のLCU内Y座標が所定の閾値以上である場合に、下方向参照範囲Dlower(y)を、LLCUyから対象画素のLCU内Y座標を減じて1を加算して得られる値以下に制限することにより満たされる。ループフィルタ16は、処理例1および処理例2の何れかの処理を行う場合に、以下の制約Bが満たされるように、参照領域Rを設定する。
・制約B:対象画素のLCU内Y座標が所定の閾値LLCUy−Lupper1以上である場合には、下方向参照範囲Dlower(y)を、LLCUy−(対象画素のLCU内Y座標)以下の画素数とする。
ここで、対象画素のLCU内Y座標が所定の閾値LLCUy−Lupper1以上である場合の下方向参照範囲Dlower(y)は、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
(制約C)
数式(C)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値以上である場合に、上方向参照範囲Dupper(y)を、Ly+(対象画素のLCU内Y座標)−LLCUy以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Cが満たされるように参照領域Rを設定する。
数式(C)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値以上である場合に、上方向参照範囲Dupper(y)を、Ly+(対象画素のLCU内Y座標)−LLCUy以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Cが満たされるように参照領域Rを設定する。
・制約C:対象画素の正規化LCU内Y座標が所定の閾値Lupper2以上である場合には、上方向参照範囲Dupper(y)を、Ly+(対象画素の正規化LCU内Y座標)−LLCUy以下の画素数とする。
ここで、所定の閾値Lupper2は、LLCUy−Ly以下の値とすればよい(以下同様)。また、対象画素の正規化LCU内Y座標が所定の閾値Lupper2以上である場合の上方向参照範囲Dupper(y)は、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。
(制約D)
数式(D)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値未満である場合に、下方向参照範囲Dlower(y)を、LLCUy−Ddf−(対象画素の正規化LCU内Y座標)−1以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Dが満たされるように参照領域Rを設定する。
数式(D)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値未満である場合に、下方向参照範囲Dlower(y)を、LLCUy−Ddf−(対象画素の正規化LCU内Y座標)−1以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Dが満たされるように参照領域Rを設定する。
・制約D:対象画素の正規化LCU内Y座標が所定の閾値Llower2未満である場合には、下方向参照範囲Dlower(y)を、LLCUy−Ddf−(対象画素の正規化LCU内Y座標)−1以下の画素数とする。
ここで、対象画素の正規化LCU内Y座標が所定の閾値Llower2未満である場合の下方向参照範囲Dlower(y)は、対象画素のLCU内Y座標に依存するように設定してもよいし、対象画素のLCU内Y座標に依存することなく、例えば0に設定してもよい。また、閾値Llower2は、LLCUy−Ly以上の値とすればよい。
(制約E)
数式(E)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値未満である場合に、下方向参照範囲Dlower(y)を、LLCUy−Ly−(対象画素の正規化LCU内Y座標)−1以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Eが満たされるように参照領域Rを設定する。
数式(E)は、ループフィルタ16が、処理例2の処理を行う場合であって、対象画素の正規化LCU内Y座標が所定の閾値未満である場合に、下方向参照範囲Dlower(y)を、LLCUy−Ly−(対象画素の正規化LCU内Y座標)−1以下に制限することにより満たされる。ループフィルタ16は、処理例2の処理を行う場合に、以下の制約Eが満たされるように参照領域Rを設定する。
・制約E:対象画素の正規化LCU内Y座標が所定の閾値Llower3未満である場合には、下方向参照範囲Dlower(y)を、LLCUy−Ly−(対象画素の正規化LCU内Y座標)−1以下の画素数とする。
ここで、閾値Llower3は、LLCUy−Ly以上の値とすればよい。
(参照可能範囲の具体例)
図16に、LLCUy=32、Ly=0の場合のLCU内Y座標y、上方向参照可能範囲MaxDupper_1(y)、および第1下方向参照可能範囲MaxDlower1_1(y)の具体例を示す。図16に示すように、LCU内Y座標が小さくなる程、上方向参照可能範囲MaxDupper_1(y)も小さくなる。また、LCU内Y座標が大きくなる程、第1下方向参照可能範囲MaxDlower1_1(y)も小さくなる。
図16に、LLCUy=32、Ly=0の場合のLCU内Y座標y、上方向参照可能範囲MaxDupper_1(y)、および第1下方向参照可能範囲MaxDlower1_1(y)の具体例を示す。図16に示すように、LCU内Y座標が小さくなる程、上方向参照可能範囲MaxDupper_1(y)も小さくなる。また、LCU内Y座標が大きくなる程、第1下方向参照可能範囲MaxDlower1_1(y)も小さくなる。
一例として、フィルタパラメータFPに含まれるタップ数情報の示すタップ数が7である場合を考える。この場合、何らの制約も無ければ、参照領域Rにおける上方向参照範囲、および下方向参照範囲は共に3画素である。したがって、上方向参照可能範囲MaxDupper_1(y)が3画素以下となる場合(LCU内Y座標が4未満の場合)に、上述した制約Aによって上方向参照範囲を制限することにより、対象LCU(対象ALFU1)の上側の画素値を参照することなく、フィルタ処理を行うことができる。また、下方向参照可能範囲MaxDlower1_1(y)が3画素以下となる場合(LCU内Y座標が32−4=28未満の場合)に、上述した制約Bによって下方向参照範囲を制限することにより対象LCU(対象ALFU1)の下側の画素値を参照することなく、フィルタ処理を行うことができる。
図17に、LLCUy=32、Ly=8の場合のALFU内Y座標、LCU内Y座標、正規化LCU内Y座標、上方向参照可能範囲MaxDDupper_2(yy)、第1下方向参照可能範囲MaxDlower1(yy)、および第2下方向参照可能範囲MaxDlower2(yy)の具体例を示す。また、図18に、LLCUy=32、Ly=8の場合の正規化LCU内Y座標、上方向参照可能範囲MaxDupper_2(y)、第1下方向参照可能範囲MaxDlower1_2(y)、および第2下方向参照可能範囲MaxDlower2_2(y)の具体例を示す。
図18に示す例においては、正規化LCU内Y座標が24以上の場合に、上述した制約Cによって上方向参照範囲が制限される。また、正規化LCU内Y座標が24未満の場合に、上述した制約Dによって第2上方向参照範囲が制限され、上述した制約Eによって第1下方向参照範囲が制限される。
(参照領域に課される他の制約の例)
以上、ループフィルタ16の備える参照領域設定部162bが、上方向参照範囲、および下方向参照範囲の少なくとも何れかを制限する構成について説明を行ったが、本実施形態はこれに限定されるものではない。例えば、参照領域設定部162bは、上述した制約A〜Eのうち少なくとも1つの制約に加えて、以下の制約F〜Hのうち少なくとも1つの制約を課することによって参照領域Rを設定する構成としてもよい。また、参照領域設定部162bは、上述した制約A〜Eの何れも課すことなく、以下の制約F〜Hのうち少なくとも1つの制約を課することによって参照領域Rを設定する構成としてもよい。
以上、ループフィルタ16の備える参照領域設定部162bが、上方向参照範囲、および下方向参照範囲の少なくとも何れかを制限する構成について説明を行ったが、本実施形態はこれに限定されるものではない。例えば、参照領域設定部162bは、上述した制約A〜Eのうち少なくとも1つの制約に加えて、以下の制約F〜Hのうち少なくとも1つの制約を課することによって参照領域Rを設定する構成としてもよい。また、参照領域設定部162bは、上述した制約A〜Eの何れも課すことなく、以下の制約F〜Hのうち少なくとも1つの制約を課することによって参照領域Rを設定する構成としてもよい。
(制約F)
ループフィルタ16が処理例1および処理例2の何れかの処理を行う場合に、参照領域設定部162bは、以下の制約Fが満たされるように、参照領域Rを設定する。
ループフィルタ16が処理例1および処理例2の何れかの処理を行う場合に、参照領域設定部162bは、以下の制約Fが満たされるように、参照領域Rを設定する。
・制約F:対象画素のLCU内X座標が所定の閾値LLCUx−Lright1以上である場合には、右方向参照範囲Drightを、LLCUx−(対象画素のLCU内X座標)−1以下の画素数とする。
ここで、右方向参照範囲Drightとは、対象画素と、参照領域Rの右辺に接する画素であって参照領域R内の画素とのX軸に沿った距離のことを指す(以下同様)。また、右方向参照範囲Drightは画素を単位として表されるものとする(以下同様)。
また、対象画素のLCU内X座標が所定の閾値LLCUx−Lright1以上である場合の右方向参照範囲Dright(x)は、対象画素のLCU内X座標に依存するように設定してもよいし、対象画素のLCU内X座標に依存することなく、例えば0に設定してもよい。
参照領域設定部162bが制約Fを課しつつ参照領域Rを設定することによって、フィルタ処理部162cは、フィルタ処理単位ALFUの右側の画素値を参照することなく、適応フィルタ済復号画像P_ALFを生成する。したがって、フレームメモリ15から内部メモリ163へのデータ転送量、および、内部メモリ163からフィルタ処理部162cへのデータ転送量が削減される。また、フィルタ処理部162cは、対象LCUの右側のLCUの復号が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
(制約G)
ループフィルタ16が処理例2の処理を行う場合に、参照領域設定部162bは、以下の制約Gが満たされるように参照領域Rを設定する。
ループフィルタ16が処理例2の処理を行う場合に、参照領域設定部162bは、以下の制約Gが満たされるように参照領域Rを設定する。
・制約G:対象画素の正規化LCU内X座標が所定の閾値Lright2未満である場合には、右方向参照範囲Drightを、LLCUx−Ddf−(対象画素の正規化LCU内X座標)−1以下の画素数とする。
ここで、正規化LCU内X座標とは、剰余演算を表す記号「%」を用いて、(LCU内X座標)%LLCUxによって定義され、0以上の値をとる(以下同様)。また、Ddfは、対象LCUにおいてデブロッキングフィルタ161によるデブロック処理が未完了である領域のX方向の幅を表すものとする。また、
また、対象画素の正規化LCU内X座標が所定の閾値Lright2未満である場合の右方向参照範囲Drightは、対象画素のLCU内X座標に依存するように設定してもよいし、対象画素のLCU内X座標に依存することなく、例えば0に設定してもよい。また、閾値Lright2は、LLCUx−Lx以上の値とすればよい。
また、対象画素の正規化LCU内X座標が所定の閾値Lright2未満である場合の右方向参照範囲Drightは、対象画素のLCU内X座標に依存するように設定してもよいし、対象画素のLCU内X座標に依存することなく、例えば0に設定してもよい。また、閾値Lright2は、LLCUx−Lx以上の値とすればよい。
参照領域設定部162bが制約Fを課しつつ参照領域Rを設定することによって、フレームメモリ15から内部メモリ163へのデータ転送量を削減することができる。また、フィルタ処理部162cは、対象LCUの右辺についてのデブロック処理が完了するまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
なお、参照領域設定部162bは、正規化LCU内X座標が所定の閾値Lright2’以上あり、かつ所定の閾値Lright2未満である場合に、参照領域Rを、右方向参照範囲DrightがDright≦LLCUx−Ddf−(対象画素の正規化LCU内X座標)−1を満たすように設定する構成としてもよい。ここで、閾値Lright2’は、Lright2’=LLCUx−Lx−Dtapを満たすことが好ましい。
(制約H)
ループフィルタ16が処理例2の処理を行う場合に、参照領域設定部162bは、以下の制約Hが満たされるように参照領域Rを設定する。
ループフィルタ16が処理例2の処理を行う場合に、参照領域設定部162bは、以下の制約Hが満たされるように参照領域Rを設定する。
・制約H:対象画素の正規化LCU内X座標が所定の閾値Lright3未満である場合には、右方向参照範囲Drightを、LLCUx−Lx−(対象画素の正規化LCU内X座標)−1以下の画素数とする。
ここで、閾値Lright3は、LLCUx−Lx以上の値とすればよい。
図19に、制約Dおよび制約Gを共に満たすように設定された参照領域Rの例を示す。
(動画像符号化装置2)
本実施形態に係る動画像符号化装置2の構成について図20〜図21を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG−4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、および、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている技術を含む符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
本実施形態に係る動画像符号化装置2の構成について図20〜図21を参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG−4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、および、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている技術を含む符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
図20は、動画像符号化装置2の構成を示すブロック図である。図20に示すように、動画像符号化装置2は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ26、可変長符号符号化部27、および、減算器28を備えている。また、図20に示すように、予測画像生成部21は、イントラ予測画像生成部21a、動きベクトル検出部21b、インター予測画像生成部21c、予測方式制御部21d、および、動きベクトル冗長性削除部21eを備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
(予測画像生成部21)
予測画像生成部21は、処理対象LCUを、1または複数の下位CUに再帰的に分割し、各リーフCUをさらに1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器28に供給される。
予測画像生成部21は、処理対象LCUを、1または複数の下位CUに再帰的に分割し、各リーフCUをさらに1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器28に供給される。
なお、予測画像生成部21は、スキップモードの適応されたPUについては、当該PUに属する他のパラメータの符号化を省略する。また、(1)対象LCUにおける下位CUおよびパーティションへの分割の態様、(2)スキップモードを適用するか否か、および、(3)パーティション毎にインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraの何れを生成するか、は、符号化効率を最適化するように決定される。
(イントラ予測画像生成部21a)
イントラ予測画像生成部21aは、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部21aは、生成したイントラ予測画像Pred_Intraを、予測方式制御部21dに供給する。
イントラ予測画像生成部21aは、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部21aは、生成したイントラ予測画像Pred_Intraを、予測方式制御部21dに供給する。
また、イントラ予測画像生成部21aは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示すフラグMPMを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は、当該フラグを、符号化データ#1に含める構成とする。
また、イントラ予測画像生成部21aは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスRIPMを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は当該残余予測モードインデックス符号化データ#1に含める構成とする。
(動きベクトル検出部21b)
動きベクトル検出部21bは、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部21bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部21bは、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部21c及び動きベクトル冗長性削除部21eに供給する。
動きベクトル検出部21bは、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部21bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部21bは、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部21c及び動きベクトル冗長性削除部21eに供給する。
(インター予測画像生成部21c)
インター予測画像生成部21cは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部21bから供給された動きベクトルmvを用いて、動きベクトル検出部21bから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部21bと同様に、インター予測画像生成部21cは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部21cは、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部21bから供給された参照画像インデックスRIと共に、予測方式制御部21dに供給する。
インター予測画像生成部21cは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部21bから供給された動きベクトルmvを用いて、動きベクトル検出部21bから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部21bと同様に、インター予測画像生成部21cは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部21cは、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部21bから供給された参照画像インデックスRIと共に、予測方式制御部21dに供給する。
(予測方式制御部21d)
予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部21dは、イントラ予測画像Pred_Intraを予測画像Predとして加算器24及び減算器28に供給すると共に、イントラ予測画像生成部21aから供給されるイントラ予測パラメータPP_Intraを可変長符号符号化部27に供給する。一方、インター予測を選択した場合、予測方式制御部21dは、インター予測画像Pred_Interを予測画像Predとして加算器24及び減算器28に供給すると共に、参照画像インデックスRI、並びに、後述する動きベクトル冗長性削除部21eから供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDをインター予測パラメータPP_Interとして可変長符号符号化部27に供給する。
予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部21dは、イントラ予測画像Pred_Intraを予測画像Predとして加算器24及び減算器28に供給すると共に、イントラ予測画像生成部21aから供給されるイントラ予測パラメータPP_Intraを可変長符号符号化部27に供給する。一方、インター予測を選択した場合、予測方式制御部21dは、インター予測画像Pred_Interを予測画像Predとして加算器24及び減算器28に供給すると共に、参照画像インデックスRI、並びに、後述する動きベクトル冗長性削除部21eから供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDをインター予測パラメータPP_Interとして可変長符号符号化部27に供給する。
(動きベクトル冗長性削除部21e)
動きベクトル冗長性削除部21eは、動きベクトル検出部21bによって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部21eは、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部21dに供給する。
動きベクトル冗長性削除部21eは、動きベクトル検出部21bによって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部21eは、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部21dに供給する。
(変換・量子化部22)
変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部27及び逆量子化・逆変換部23に供給する。なお、変換・量子化部22は、(1)量子化の際に用いる量子化ステップQPをTU毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部28に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するTUに関する量子化パラメータqp(例えばQP=2pq/6)の値から、直前にDCT変換/量子化したTUに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部27及び逆量子化・逆変換部23に供給する。なお、変換・量子化部22は、(1)量子化の際に用いる量子化ステップQPをTU毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部28に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するTUに関する量子化パラメータqp(例えばQP=2pq/6)の値から、直前にDCT変換/量子化したTUに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
(逆量子化・逆変換部23)
逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器24に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器24に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
(加算器24)
加算器24は、予測方式制御部21dにて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、イントラ予測における参照画像として利用される。
加算器24は、予測方式制御部21dにて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、イントラ予測における参照画像として利用される。
(可変長符号符号化部27)
可変長符号符号化部27は、(1)変換・量子化部22から供給された量子化予測残差QD並びにΔqp、(2)予測方式制御部21dから供給された量子化パラメータPP(インター予測パラメータPP_Inter、および、イントラ予測パラメータPP_Intra)、および、(3)ループフィルタ26から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
可変長符号符号化部27は、(1)変換・量子化部22から供給された量子化予測残差QD並びにΔqp、(2)予測方式制御部21dから供給された量子化パラメータPP(インター予測パラメータPP_Inter、および、イントラ予測パラメータPP_Intra)、および、(3)ループフィルタ26から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
なお、可変長符号符号化部27による具体的な符号化方式としては、算術符号化/復号の一方式であるCABAC(Context-based Adaptive Binary Arithmetic Coding)、または、非算術符号化/復号の一方式であるCAVLC(Context-based Adaptive VLC)が用いられる。
可変長符号符号化部27は、ピクチャ毎に、CABACおよびCAVLCの何れの符号化方式を用いるのかを決定し、決定した符号化方式により符号化すると共に、決定した符号化方式を指定する符号化モード情報(entropy_coding_mode_flag)を符号化データ#1のピクチャヘッダPHに含める。
(減算器28)
減算器28は、予測方式制御部21dにて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器28にて生成された予測残差Dは、変換・量子化部22によってDCT変換/量子化される。
減算器28は、予測方式制御部21dにて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器28にて生成された予測残差Dは、変換・量子化部22によってDCT変換/量子化される。
(ループフィルタ26)
ループフィルタ26は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
ループフィルタ26は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
図21は、ループフィルタ26の構成を示すブロック図である。図21に示すように、ループフィルタ26は、デブロッキングフィルタ161、適応フィルタ262、および、内部メモリ163を備えている。
ループフィルタ26の構成および動作は、動画像復号装置1の備えるループフィルタ16とほぼ同様である。以下では、ループフィルタ16と異なる部分についてのみ説明を行う。
(適応フィルタ262)
図21に示すように、適応フィルタ262は、対象画素設定部262a、参照領域設定部262b、および、フィルタ処理部262cを備えている。対象画素設定部262aは、動画像復号装置1の備える対象画素設定部162aと同様の構成であるのでその説明を省略する。
図21に示すように、適応フィルタ262は、対象画素設定部262a、参照領域設定部262b、および、フィルタ処理部262cを備えている。対象画素設定部262aは、動画像復号装置1の備える対象画素設定部162aと同様の構成であるのでその説明を省略する。
参照領域設定部262bは、動画像復号装置1の備える参照領域設定部162bとほぼ同様の構成である。ただし、参照領域設定部262bは、符号化効率がより高くなるように設定されたタップ数Ntapを決定し、参照領域設定部162bの参照する「フィルタパラメータFPに含まれるタップ数情報」に代えて、当該タップ数Ntapを参照するものとする。ここで、タップ数Ntapは、参照領域についての制約が課される前のタップ数を表している。また、タップ数Ntapを指定するタップ数情報は、フィルタパラメータFPの一部として符号化データ#1に含められる。
フィルタ処理部262cは、デブロック済復号画像P_DBに作用するフィルタのフィルタ係数a(i、j)およびオフセットoを、フィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定する。例えば、以下の数式(2)に示す二乗誤差Eがより小さくなるように、フィルタ係数a(i、j)およびオフセットoを決定する。
ここで、S(x、y)はデブロック済復号画像P_DBの画素値を表しており、S0(x、y)は、符号化対象画像の画素値を表している。また、Rは、対象画素の画素値を算出するために参照される領域を表しており、参照領域設定部262bによって設定される。
フィルタ処理部262cは、このようにして決定されたフィルタ係数a(i、j)およびオフセットoを用いたフィルタ処理を、デブロック済復号画像P_DBに対して行うことによって適応フィルタ済復号画像P_ALFを生成する。また、フィルタ処理部262cは、このようにして決定されたフィルタ係数a(i、j)およびオフセットoを、フィルタパラメータFPに含める。フィルタ処理部262cの行う具体的なフィルタ処理は、フィルタ処理部162cと同様であるので、ここでは説明を省略する。
(実施形態2)
実施形態1においては、ループフィルタ16の備える適応フィルタが、デブロック済復号画像に作用することによって適応フィルタ済復号画像P_ALFを生成する場合について説明を行った。本実施形態においては、ループフィルタの備える適応フィルタが、デブロック済復号画像P_DB、予測画像P、および、予測残差Dに作用することによって適応フィルタ済復号画像P_ALFを生成する構成について説明する。なお、以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
実施形態1においては、ループフィルタ16の備える適応フィルタが、デブロック済復号画像に作用することによって適応フィルタ済復号画像P_ALFを生成する場合について説明を行った。本実施形態においては、ループフィルタの備える適応フィルタが、デブロック済復号画像P_DB、予測画像P、および、予測残差Dに作用することによって適応フィルタ済復号画像P_ALFを生成する構成について説明する。なお、以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
(符号化データ#1’)
本実施形態に係る符号化データ#1’のフィルタパラメータFP’には、デブロック済復号画像P_DB、予測画像P、予測残差Dのそれぞれの各画素に乗ぜられるフィルタ係数群が含まれている。符号化データ#1’のその他の構成は、実施形態1に係る符号化データ#1の構成と同様である。
本実施形態に係る符号化データ#1’のフィルタパラメータFP’には、デブロック済復号画像P_DB、予測画像P、予測残差Dのそれぞれの各画素に乗ぜられるフィルタ係数群が含まれている。符号化データ#1’のその他の構成は、実施形態1に係る符号化データ#1の構成と同様である。
図22は、本実施形態に係る動画像復号装置1’の構成を示すブロック図である。図22に示すように、動画像復号装置1’は、実施形態1に係る動画像復号装置1の備えるループフィルタ16に代えて、ループフィルタ16’を備えている。また、ループフィルタ16’には、復号画像Pに加えて、予測画像Predおよび予測残差Dも供給される。その他の構成は動画像復号装置1と同じである。
(ループフィルタ16’)
図23は、ループフィルタ16’の構成を示すブロック図である。図23に示すように、ループフィルタ16’は、デブロッキングフィルタ161、適応フィルタ162’、および内部メモリ163を備えている。また、適応フィルタ162’は、対象画素設定部162a、参照領域設定部162b’、およびフィルタ処理部162’を備えている。
図23は、ループフィルタ16’の構成を示すブロック図である。図23に示すように、ループフィルタ16’は、デブロッキングフィルタ161、適応フィルタ162’、および内部メモリ163を備えている。また、適応フィルタ162’は、対象画素設定部162a、参照領域設定部162b’、およびフィルタ処理部162’を備えている。
内部メモリ163’には、復号画像P、予測画像Pred、予測残差D、デブロック済復号画像P_DB、および適応フィルタ済復号画像P_AFLが格納される。
ループフィルタ16’は、実施形態1において説明した処理例1および処理例2の何れかとほぼ同様の処理を行う。ただし、ループフィルタ16’は、適応フィルタ処理において、デブロック済復号画像P_DBのみならず、予測画像Pred、予測残差P_DBをも参照する。
(参照領域設定部162b’)
参照領域設定部162b’は、対象画素の周辺に、デブロック済復号画像P_DBについての参照領域RDB、予測残差Dについての参照領域RD、および予測画像Predについての参照領域RPredを設定する。
参照領域設定部162b’は、対象画素の周辺に、デブロック済復号画像P_DBについての参照領域RDB、予測残差Dについての参照領域RD、および予測画像Predについての参照領域RPredを設定する。
参照領域設定部162b’は、以下に列挙する制約I〜制約Mのうち何れかの制約を満たすように、各参照領域を設定する。
・制約I:参照領域RDB、参照領域RD、および参照領域RPredの何れも1×1画素に設定する。
本制約を課すことによって、高速なフィルタ処理が可能である。また、デブロック済復号画像P_DB、予測画像Pred、および予測残差P_DBの何れについても、対象LCUの外側の画素を参照することなく適応フィルタ済復号画像P_ALFを算出するので、データ転送量が削減される。また、適応フィルタ162’はデブロック済復号画像P_DBのみならず、予測画像Pred、予測残差P_DBをも参照する構成であるため、各参照領域を1×1画素に設定しても、符号化効率が大きく低下することはない。
・制約J:参照領域RDB、参照領域RD、および参照領域RPredの何れも、垂直方向の画素数が1画素となるように設定する。
本制約を課すことによって、高速なフィルタ処理が可能である。また、また、デブロック済復号画像P_DB、予測画像Pred、および予測残差P_DBの何れについても、対象LCUの上側および下側の画素を参照することなく適応フィルタ済復号画像P_ALFを算出するので、データ転送量が削減される。また、適応フィルタ162’はデブロック済復号画像P_DBのみならず、予測画像Pred、予測残差P_DBをも参照する構成であるため、各参照領域の垂直方向の画素数を1画素に設定しても、符号化効率が大きく低下することはない。
・制約K:参照領域RDB、参照領域RD、および参照領域RPredのうち、参照領域RD、および参照領域RPredを1×1画素に設定する。
本制約を課すことによって、高速なフィルタ処理が可能である。また、また、予測画像Pred、および予測残差P_DBの何れについても、対象LCUの外側の画素を参照することなく適応フィルタ済復号画像P_ALFを算出するので、データ転送量が削減される。また、参照領域RDBについては何らの制約も課さないので、符号化効率の低下を招来しない。
・制約L:参照領域RDB、参照領域RD、および参照領域RPredのうち、参照領域RD、および参照領域RPredを垂直方向の画素数が1画素となるように設定する。
本制約を課すことによって、高速なフィルタ処理が可能である。また、また、予測画像Pred、および予測残差P_DBの何れについても、対象LCUの上側および下側の画素を参照することなく適応フィルタ済復号画像P_ALFを算出するので、データ転送量が削減される。また、参照領域RDBについては何らの制約も課さないので、符号化効率の低下を招来しない。
・制約M:参照領域RDB、参照領域RD、および参照領域RPredのうち、参照領域RD、および参照領域RPredを、実施形態1において説明した制約A〜Hを満たすように設定する。
本制約を課すことによって、データ転送量が削減される。また、参照領域RDBについては何らの制約も課さないので、符号化効率の低下を招来しない。
(フィルタ処理部162c’)
フィルタ処理部162c’は、内部メモリ163’に格納されているデブロック済復号画像P_DB、予測残差D、および予測画像Predに対して、フィルタパラメータFP’に含まれるフィルタ係数群を用いたフィルタ処理を行うことによって、適応フィルタ済復号画像P_ALFを生成する。より具体的には、適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、デブロック済復号画像P_DBの画素値をSPDB(x、y)と表し、予測残差Dの画素値をSD(x、y)と表し、予測画像Predの画素値をSPred(x、y)と表すことにすると、フィルタ処理部162c’は、画素値SALF(x’、y’)を、以下の数式(3)によって算出する。
フィルタ処理部162c’は、内部メモリ163’に格納されているデブロック済復号画像P_DB、予測残差D、および予測画像Predに対して、フィルタパラメータFP’に含まれるフィルタ係数群を用いたフィルタ処理を行うことによって、適応フィルタ済復号画像P_ALFを生成する。より具体的には、適応フィルタ済復号画像P_ALFの画素値をSALF(x’、y’)と表し、デブロック済復号画像P_DBの画素値をSPDB(x、y)と表し、予測残差Dの画素値をSD(x、y)と表し、予測画像Predの画素値をSPred(x、y)と表すことにすると、フィルタ処理部162c’は、画素値SALF(x’、y’)を、以下の数式(3)によって算出する。
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、aPDB(u、v)は、符号化データ#1’のフィルタパラメータFP’に含まれるフィルタ係数のうち、デブロック済復号画像P_DBの画素値SPDB(x+u、y+v)に乗ぜられるフィルタ係数を表している。
また、aD(u、v)は、符号化データ#1’のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測残差Dの示す画像の画素値SD(x+u、y+v)に乗ぜられるフィルタ係数を表している。また、aPred(u、v)は、符号化データ#1’のフィルタパラメータFP’に含まれるフィルタ係数のうち、予測画像Predの示す画像の画素値SPred(x+u、y+v)に乗ぜられるフィルタ係数を表している。また、オフセットoの具体的な値は、フィルタパラメータFP’によって指定される。
また、参照領域RDB、参照領域RD、および参照領域RPredは、参照領域設定部162b’によって設定されたものが用いられる。
なお、フィルタ処理部162c’は、実施形態1におけるフィルタ処理部162cと同様に、各参照領域に含まれる各画素に対して、180度の回転対称性を有するように、フィルタ係数を割り付ける構成とすることができる。
このように、本実施形態に係る適応フィルタ162は、デブロック済復号画像P_DB、予測残差D、および、予測画像Predを参照するので、デブロック済復号画像P_DBのみを参照する構成に比べて、予測画像を生成するためにより適切な適応フィルタ済復号画像P_ALFを生成することができる。
(動画像符号化装置2’)
以下では、本実施形態に係る動画像符号化装置2’について、図24〜図25を参照して説明する。以下では、既に説明した部分と同じ部分については、同じ符号を付しその説明を省略する。
以下では、本実施形態に係る動画像符号化装置2’について、図24〜図25を参照して説明する。以下では、既に説明した部分と同じ部分については、同じ符号を付しその説明を省略する。
図24は、本実施形態に係る動画像符号化装置2’の構成を示すブロック図である。図24に示すように、動画像符号化装置2’は、実施形態1に係る動画像符号化装置2の備えるループフィルタ26に代えて、ループフィルタ26’を備えている。また、ループフィルタ26’には、復号画像Pに加えて、予測画像Pred、および、予測残差Dが供給される。その他の構成は動画像符号化装置2と同じである。
(ループフィルタ26’)
図25は、ループフィルタ26’の構成を示すブロック図である。図25に示すように、ループフィルタ26’は、デブロッキングフィルタ161、適応フィルタ262’、および、内部メモリ163’を備えている。また、適応フィルタ262’は、対象画素設定部262a’、参照領域設定部262b’、および、フィルタ処理部262c’を備えている。対象画素設定部262a’、および参照領域設定部262b’は、動画像復号装置1’の備える対象画素設定部162a、および参照領域設定部162b’と同様の構成であるため、ここでは説明を省略する。
図25は、ループフィルタ26’の構成を示すブロック図である。図25に示すように、ループフィルタ26’は、デブロッキングフィルタ161、適応フィルタ262’、および、内部メモリ163’を備えている。また、適応フィルタ262’は、対象画素設定部262a’、参照領域設定部262b’、および、フィルタ処理部262c’を備えている。対象画素設定部262a’、および参照領域設定部262b’は、動画像復号装置1’の備える対象画素設定部162a、および参照領域設定部162b’と同様の構成であるため、ここでは説明を省略する。
フィルタ処理部262c’は、デブロック済復号画像P_DBの画素値SPDB(x+u、y+v)に乗ぜられるフィルタ係数aPDB(u、v)、予測残差Dの示す画像の画素値SD(x+u、y+v)に乗ぜられるフィルタ係数aD(u、v)、予測画像Predの示す画像の画素値SPred(x+u、y+v)に乗ぜられるフィルタ係数aPred(u、v)、および、オフセットoをフィルタ後の画像と符号化対象画像(原画像)との誤差がより小さくなるように決定する。例えば、以下の数式(4)に示す二乗誤差E’がより小さくなるように、各フィルタ係数およびオフセットを決定する。
ここで、参照領域RDB、参照領域RD、および参照領域RPredは、参照領域設定部262b’によって設定されたものが用いられる。
フィルタ処理部262c’は、このようにして決定されたフィルタ係数およびオフセットを用いたフィルタ処理を、デブロック済復号画像P_DB、予測残差D、および予測画像Predに対して行うことによって適応フィルタ済復号画像P_ALFを生成する。また、フィルタ処理部262c’は、このようにして決定されたフィルタ係数およびオフセットを、フィルタパラメータFP’に含める。フィルタ処理部262c’の行う具体的なフィルタ処理は、フィルタ処理部162c’と同様であるので、ここでは説明を省略する。
(実施形態3)
実施形態1および実施形態2においては、各種の制約を満たすようにフィルタ参照領域を設定することによってデータ転送量を削減することのできるループフィルタについて説明を行った。本実施形態においては、対象スライスについての適応フィルタ処理を行う際に、該対象スライスの内部に設定された内部領域に含まれる対象画素についてのみ画素値を算出する構成について説明する。以下では、既に説明した部分については同じ符号を付し、その説明を省略する。また、本実施形態に係る動画像復号装置、および動画像符号化装置の全体の構成は、実施形態1に係る動画像復号装置1、および動画像符号化装置2の構成と同様であるので、その説明を省略する。また、本実施形態に係るループフィルタの参照するフィルタパラメータは、実施形態1に係るフィルタパラメータFPと同様の構成である。
実施形態1および実施形態2においては、各種の制約を満たすようにフィルタ参照領域を設定することによってデータ転送量を削減することのできるループフィルタについて説明を行った。本実施形態においては、対象スライスについての適応フィルタ処理を行う際に、該対象スライスの内部に設定された内部領域に含まれる対象画素についてのみ画素値を算出する構成について説明する。以下では、既に説明した部分については同じ符号を付し、その説明を省略する。また、本実施形態に係る動画像復号装置、および動画像符号化装置の全体の構成は、実施形態1に係る動画像復号装置1、および動画像符号化装置2の構成と同様であるので、その説明を省略する。また、本実施形態に係るループフィルタの参照するフィルタパラメータは、実施形態1に係るフィルタパラメータFPと同様の構成である。
図26は、本実施形態に係るループフィルタ36の構成例を示すブロック図である。図26に示すように、ループフィルタ36は、デブロッキングフィルタ161、適応フィルタ362、および内部メモリ163を備えている。なお、本実施形態において、ループフィルタ36は、内部メモリを備えない構成としてもよい。そのような構成の場合、デブロッキングフィルタ161は、フレームメモリ15から復号画像Pの各画素値を読み出し、デブロック済復号画像P_DBをフレームメモリ15に格納する。また、後述するフィルタ処理部362は、フレームメモリ15からデブロック済復号画像P_DBを読み出し、適応フィルタ済復号画像P_ALFをフレームメモリ15に格納する。
図26に示すように、ループフィルタ362は、対象画素設定部362a、およびフィルタ処理部362cを備えている。
対象画素設定部362aは、対象スライスを内部領域と周辺領域とに分割し、内部領域に含まれる各画素を、順次、対象画素に設定する。図27(a)は、対象スライスについて、対象画素設定部362aによって設定された内部領域R1と外部領域R2とを示す図である。図27(a)に示すように、内部領域R1の垂直方向の境界は、対象スライスの垂直方向の境界からWx画素分内側に設定され、内部領域R1の水平方向の境界は、対象スライスの水平方向の境界からWy画素分内側に設定される。ここで、WxおよびWyの具体的な値は、フィルタパラメータFPに含まれるタップ数情報によって指定されるタップ数Ntapに応じて設定される。例えば、Ntap=5である場合、Wx=Wy=2であり、Ntap=7である場合、Wx=Wy=3である。一般に、Wx=Wy=(Ntap−1)/2である。なお、タップ数情報が、水平方向のタップ数Ntapxと垂直方向のタップ数Ntapyとを独立に指定するものである場合には、Wx=(Ntapx−1)/2、およびWy=(Ntapy−1)/2ととればよい。
フィルタ処理部362cは、対象画素設定部362aによって設定された対象画素についての画素値を算出する。フィルタ処理部362cによる対象画素の算出方法は、実施形態1におけるフィルタ処理部162cとほぼ同様である。ただし、本実施形態における参照領域Rは、フィルタパラメータFPに含まれるタップ数情報によって指定されるものをそのまま用いてもよいし、実施形態1のようにLCU内の対象画素の位置に応じて各種の制約を課したものを用いてもよい。
図27(b)は、従来の適応フィルタによる処理を説明するための図である。従来の適応フィルタでは、スライスを内部領域と周辺領域とに分割することなく、スライスに含まれる各画素を、順次対象画素に設定していた。したがって、対象画素がスライスの境界付近に設定された場合、フィルタ参照領域がスライスの内部の画素のみならず、スライスの外部の画素(図27(b)において領域ORに含まれる画素)を含んで設定される場合が生じていた。従来の適応フィルタは、スライスの外部の画素値をパディング処理により生成し利用していた。
一方で、本実施形態に係る適応フィルタ362によれば、参照領域が、スライスの外部の画素を含んで設定されることがないので、従来のようなパディング処理が不要となる。したがって、本実施形態に係る適応フィルタ362によれば、従来の適応フィルタに比べて処理量を削減することができる。また、対象スライスに隣接するスライスであって、処理順で次のスライスの各画素が参照可能となるまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
なお、適応フィルタ362は、動画像符号化装置にも適用することができる。この場合、フィルタ処理部362cは、フィルタ係数群を、フィルタ後の画像と、符号化対象画像との誤差がより小さくなるように決定する。フィルタ処理部362cによる具体的な処理はフィルタ処理部162cとほぼ同様であるので、ここでは説明を省略する。
(実施形態4)
実施形態1係るループフィルタ16の処理例2においては、第2フィルタ処理単位ALF2が、対象LCUと同じサイズであって、対象LCUとは異なる位置を有するように設定される場合について説明を行った。本実施形態においては、上述した処理例2とほぼ同様の動作を行うループフィルタであって、フィルタ処理単位ALFUが、対象LCUと同じサイズであって、対象LCUと同じ位置に設定される場合、すなわち、デブロック処理および適応フィルタ処理がLCU毎に行われる場合について説明を行う。
実施形態1係るループフィルタ16の処理例2においては、第2フィルタ処理単位ALF2が、対象LCUと同じサイズであって、対象LCUとは異なる位置を有するように設定される場合について説明を行った。本実施形態においては、上述した処理例2とほぼ同様の動作を行うループフィルタであって、フィルタ処理単位ALFUが、対象LCUと同じサイズであって、対象LCUと同じ位置に設定される場合、すなわち、デブロック処理および適応フィルタ処理がLCU毎に行われる場合について説明を行う。
本実施形態に係る動画像復号装置および動画像符号化装置の全体構成は、実施形態1に係る動画像復号装置1および動画像符号化装置2の構成と同様であるため説明を省略する。本実施形態に係るループフィルタの構成は、実施形態1に係るループフィルタ16の構成とほぼ同様であるが、以下の点において異なる。
すなわち、本実施形態に係る参照領域設定部は、対象画素と対象LCUの右辺との距離がL画素以下である場合に、参照領域Rの右辺と対象画素との距離がL画素以下になるように、参照領域Rを設定する。また、対象画素と対象LCUの下辺との距離がL画素以下である場合に、参照領域Rの下辺と対象画素との距離がL画素以下になるように、参照領域Rを設定する。ここで、Lの具体的な値としては、上述したDdf以上の値を用いればよい。図28に、本実施形態に係る参照領域設定部により設定された参照領域Rの例を示す。
このような構成とすることによって、適応フィルタがLCU単位で処理を行う場合であっても、データ転送量を削減することができる。
また、参照領域設定部が上記のような処理を行う代わりに、対象画素設定部が、対象LCUの右辺からの距離および対象LCUの下辺の少なくとも何れかからの距離が、L画素以上である画素のみを対象画素に設定する構成としてもよい。また、Lの具体的な値としては、上述したDdf以上の値を用いればよい。このような構成とすることによっても、データ転送量を削減することができる。
〔応用例〕
上述した動画像符号化装置及び動画像復号装置は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。
上述した動画像符号化装置及び動画像復号装置は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。
まず、上述した動画像符号化装置及び動画像復号装置を、動画像の送信及び受信に利用できることを、図30を参照して説明する。
図30の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図30の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、及び、動画像を外部から入力するための入力端子PROD_A6を更に備えていてもよい。図30の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図30の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図30の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図30の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
次に、上述した動画像符号化装置及び動画像復号装置を、動画像の記録及び再生に利用できることを、図31を参照して説明する。
図31の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図31の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disk:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、及び、動画像を受信するための受信部PROD_C5を更に備えていてもよい。図31の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HD(Hard Disk)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図31の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図31の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図31の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
(付記事項1)
上述した動画像復号装置1、動画像符号化装置2、動画像復号装置1’、および動画像符号化装置2’の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
上述した動画像復号装置1、動画像符号化装置2、動画像復号装置1’、および動画像符号化装置2’の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
(付記事項2)
以上のように、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小する参照領域変更手段とを備えている、ことを特徴としている。
以上のように、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小する参照領域変更手段とを備えている、ことを特徴としている。
上記画像フィルタ装置が、符号化データを復号し復号画像を生成する復号装置、または、符号化対象画像を符号化し符号化データを生成する符号化装置に用いられる場合、上記画像フィルタ装置の出力画像を参照して予測精度の高い予測画像を生成することができるので、符号化効率が向上する。
また、上記のように構成された画像フィルタ装置によれば、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小するので、高い符号化効率を維持しつつ、出力画像を生成するために参照する画素数を削減することができる。したがって、上記のように構成された画像フィルタ装置によれば、高い符号化効率を維持しつつ、フィルタ処理の際のデータ転送量を削減することができる。
なお、上記単位領域とは、例えば、最大符号化単位LCUであってもよいし、最大符号化単位LCUを分割して得られる符号化単位CUであってもよいし、その他の領域であってもよい。
また、上記参照領域変更手段は、対象画素を含む単位領域の上流辺と、該対象画素との距離DUが所定の閾値未満のとき、該対象画素についての参照領域の上流辺の位置を該対象画素との距離がDU以下となるように設定する第1の設定手段、または、対象画素を含む単位領域の下流辺と、該対象画素との距離DLが所定の閾値未満のとき、該対象画素についての参照領域の下流辺の位置を該対象画素との距離がDL以下となるように設定する第2の設定手段、を有していることが好ましい。
上記第1の設定手段は、対象画素を含む単位領域の上流辺と、該対象画素との距離DUが所定の閾値未満のとき、該対象画素についての参照領域の上流辺の位置を該対象画素との距離がDU以下となるように設定するので、上記フィルタ手段は、上記単位領域の上流辺より上流側に位置する画素の画素値を参照することなく、対象画素の画素値を算出する。また、上記第2の設定手段は、対象画素を含む単位領域の下流辺と、該対象画素との距離DLが所定の閾値未満のとき、該対象画素についての参照領域の下流辺の位置を該対象画素との距離がDL以下となるように設定するので、上記フィルタ手段は、上記単位領域の下流辺より下流側に位置する画素の画素値を参照することなく、対象画素の画素値を算出する。したがって、上記の構成によれば、フィルタ処理の際のデータ転送量を削減することができる。
また、上記第1の設定手段は、対象画素を含む単位領域の上流辺と、該対象画素との距離DUが所定の閾値以上のときには、参照領域のタップ数を予め定められたものに設定すればよく、同様に、上記第2の設定手段は、対象画素を含む単位領域の下流辺と、該対象画素との距離DLが所定の閾値以上のときには、参照領域のタップ数を予め定められたものに設定すればよいので、高い符号化効率を維持することができる。
なお、上記上流辺とは、処理がラスタスキャン順に行われる場合には、上辺および左辺の何れか一方を指し、処理がラスタスキャンの逆順に行われる場合には、下辺および右辺の何れか一方を指す。また、上記下流辺とは、処理がラスタスキャン順に行われる場合には、下辺および右辺の何れか一方を指し、処理がラスタスキャンの逆順に行われる場合には、上辺および左辺の何れか一方を指す(以下同様)。
また、本発明に係る画像フィルタ装置は、各単位領域の、処理順で上流側の2辺の少なくとも一方からの距離がDB以下である画素の画素値を平滑化する平滑化手段を更に備え、上記フィルタ手段は、上記複数の単位領域の各々を処理順で上流側にシフトして得られる出力単位毎に出力画像を生成するものであり、上記参照領域変更手段は、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の下流側に位置するとき、該対象画素についての参照領域の上流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺との距離以下となるように設定する第1の設定手段、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の上流側に位置するとき、該対象画素についての参照領域の下流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺との距離以下となるように設定する第2の設定手段、または、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の上流側に位置するとき、該対象画素についての参照領域の下流辺の位置を、該対象画素との距離が、該対象画素と該単位領域の下流辺との距離からDBを減じて得られる距離以下となるように設定する第3の設定手段、を有している、ことが好ましい。
上記第1の設定手段は、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の下流側に位置するとき、該対象画素についての参照領域の上流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺との距離以下となるように設定するので、上記フィルタ手段は、上記対象画素を含む出力単位の上流辺よりも上流側の画素の画素値を参照することなく、対象画素の画素値を算出する。また、上記第2の設定手段は、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の上流側に位置するとき、該対象画素についての参照領域の下流辺の位置を、該対象画素との距離が、該対象画素と該出力単位の下流辺との距離以下となるように設定するので、上記フィルタ手段は、上記対象画素を含む出力単位の下流辺よりも下流側の画素の画素値を参照することなく、対象画素の画素値を算出する。したがって、上記の構成によれば、フィルタ処理の際のデータ転送量を削減することができる。
また、上記第3の設定手段は、対象画素が、該対象画素を含む単位領域に対応する出力単位の下流辺の上流側に位置するとき、該対象画素についての参照領域の下流辺の位置を、該対象画素との距離が、該対象画素と該単位領域の下流辺との距離からDBを減じて得られる距離以下となるように設定するので、上記フィルタ手段は、上記平滑化手段による平滑化処理が未完了の領域における画素値を参照することなく、対象画素の画素値を算出する。したがって、上記の構成によれば、フィルタ処理の際のデータ転送量を削減することができると共に、対象単位領域の下流側の2辺に対して上記平滑化手段が作用するまで待機することなく、フィルタ処理を行うことができるので、処理時間を削減することができる、
なお、上記「下流辺の下流側」とは、処理がラスタスキャン順に行われる場合には、「下辺の下側」および「右辺の右側」の何れか一方を指し、処理がラスタスキャンの逆順である場合には、「上辺の上側」および「左辺の左側」を指す。
なお、上記「下流辺の下流側」とは、処理がラスタスキャン順に行われる場合には、「下辺の下側」および「右辺の右側」の何れか一方を指し、処理がラスタスキャンの逆順である場合には、「上辺の上側」および「左辺の左側」を指す。
また、上記「下流辺の上流側」とは、処理がラスタスキャン順に行われる場合には、「下辺の上側」および「右辺の左側」の何れか一方を指し、処理がラスタスキャンの逆順である場合には、「上辺の下側」および「左辺の右側」を指す。
また、上記入力画像は予測画像であることが好ましい。
上記の構成によれば、予測画像に対するフィルタ処理を行う際のデータ転送量を削減することができる。なお、上記画像フィルタ装置が、符号化データを復号し復号画像を生成する復号装置、または、符号化対象画像を符号化し符号化データを生成する符号化装置に用いられる場合には、上記予測画像とは、例えば、復号画像を参照して得られる予測画像のことを指す。
また、上記入力画像は、残差画像であることが好ましい。
上記の構成によれば、残差画像に対するフィルタ処理を行う際のデータ転送量を削減することができる。なお、上記画像フィルタ装置が、符号化データを復号し復号画像を生成する復号装置に用いられる場合には、上記残差データとは、例えば、符号化データを復号して得られる残差データのことを指し、上記画像フィルタ装置が、符号化対象画像を符号化し符号化データを生成する符号化装置に用いられる場合には、上記残差画像とは、符号化対象画像と予測画像との差分画像のことを指す。
また、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用することによって単位領域毎に出力画像を生成するフィルタ手段と、各単位領域の、処理順で上流側の2辺の少なくとも一方からの距離がDB以下である画素の画素値を平滑化する平滑化手段と、を備え、上記フィルタ手段は、上記平滑化手段が対象単位領域の上流側の2辺に作用した後、処理順で次の単位領域の上流側の2辺に作用する前に、対象単位領域に作用するものである、ことを特徴としている。
上記のように構成された画像フィルタ装置は、上記平滑化手段が上流側の2辺に作用した対象単位領域に対して、上記平滑化手段が処理順で次の単位領域の上流側の2辺に作用する前に、当該対象単位領域に対して作用する。したがって、上記の構成によれば、例えば、対象単位領域およびその周辺の画像をフレームメモリから取得し、ローカルメモリに格納した後、ローカルメモリに格納された画像に対して、上記平滑化手段による平滑化処理と上記フィルタ手段によるフィルタ処理とを連続して行う。このため、上記の構成によれば、平滑化処理およびフィルタ処理の双方の処理においてフレームメモリにアクセスする従来の構成に比べて、データ転送量を削減することができる。
また、上記画像フィルタ装置は、上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じたサイズに縮小する参照領域変更手段であって、対象画素と、該対象画素を含む単位領域の下流側横辺との距離がDB以下であるとき、該対象画素についての参照領域の下流側横辺の位置を、該対象画素との距離がDB以下となるように設定する第1の設定手段、または、対象画素と、該対象画素を含む単位領域の下流側縦辺との距離がDB以下であるとき、該対象画素についての参照領域の下流側縦辺の位置を、該対象画素との距離がDB以下となるように設定する第2の設定手段、を有している参照領域変更手段を更に備えていることが好ましい。
上記第1の設定手段は、対象画素と、該対象画素を含む単位領域の下流側横辺との距離がDB以下であるとき、該対象画素についての参照領域の下流側横辺の位置を、該対象画素との距離がDB以下となるように設定するので、上記フィルタ手段は、上記単位領域の下流側横辺の下流側に位置する画素の画素値を参照することなく、対象画素の画素値を算出する。また、上記第2の設定手段は、対象画素と、該対象画素を含む単位領域の下流側縦辺との距離がDB以下であるとき、該対象画素についての参照領域の下流側縦辺の位置を、該対象画素との距離がDB以下となるように設定するので、上記フィルタ手段は、上記単位領域の下流側縦辺の下流側に位置する画素の画素値を参照することなく、対象画素の画素値を算出する。したがって、上記の構成によれば、データ転送量をさらに削減することができる。
また、上記画像フィルタ装置は、上記フィルタ手段が画素値を算出する各対象画素を、該対象画素を含む単位領域の下流側の2辺の少なくとも何れかからの距離が所定の閾値以上であるものに制限する対象画素制限手段を更に備えている、ことが好ましい。
上記の構成によれば、対象画素の位置が、該対象画素を含む単位領域の下流側の2辺の少なくとも何れかからの距離が所定の閾値以上であるものに制限されるので、上記フィルタ手段が参照する画素数が削減される。したがって、上記の構成によれば、フィルタ処理の際のデータ転送量を削減することができる。
また、本発明に係る画像フィルタ装置は、単位領域毎に生成される予測画像と残差画像とを加算して得られる復号画像について、各単位領域の、処理順で上流側の2辺の少なくとも一方の近傍に位置する画素の画素値を平滑化する平滑化手段と、上記平滑化手段の出力画像に作用する第1のフィルタ手段、上記予測画像に作用する第2のフィルタ手段、および、上記残差画像に作用する第3のフィルタ手段を含む算出手段であって、上記第1から第3のフィルタ手段の出力画像を加算して出力する算出手段と、上記第1から第3のフィルタ手段が各対象画素の画素値を算出するために参照する参照領域を設定する参照領域設定手段であって、参照領域の上下方向の画素数を1に設定する参照領域設定手段と、を備えていることを特徴としている。
上記画像フィルタ装置によれば、上記平滑化手段によって平滑化処理が施された復号画像、予測画像、および、残差画像を参照して出力画像を生成する。したがって、上記画像フィルタ装置を備えた復号装置、および、上記画像フィルタ装置を備えた符号化装置は、上記画像フィルタ装置の出力画像を参照して予測画像を生成することによって、符号化効率が向上する。また、上記参照領域の上下方向の画素数が1に設定されるため、フィルタ処理の処理量、および、データ転送量が削減される。
また、本発明に係る画像フィルタ装置は、1または複数のスライスより構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、上記出力画像における対象画素の画素値を、該対象画素の周辺に設定された参照領域における上記入力画像の各画素値から算出するフィルタ手段と、対象画素の位置を、該対象画素を含む参照領域全体が、該対象画素を含むスライスに包含されるものに制限する対象画素制限手段と、を備えていることを特徴としている。
上記画像フィルタ装置によれば、対象スライスにおける出力画像を、対象スライス内の画素値のみを参照して生成する。換言すれば、対象スライスにおける出力画像を、対象スライスの外部の画素を参照することなく生成する。したがって、上記の構成によれば、出力画像を生成するための処理量が削減される。また、上記の構成によれば、対象スライスに隣接するスライスであって、処理順で次のスライスの各画素が参照可能となるまで待機することなく、フィルタ処理を行うことができるので、処理時間が削減される。
また、上記画像フィルタ装置を備えた復号装置であって、上記画像フィルタ装置を、復号画像に作用させる復号装置、および、上記画像フィルタ装置を備えた符号化装置であって、上記画像フィルタ装置を、局所復号画像に作用させる符号化装置も本発明の範疇に含まれる。また、上記画像フィルタが参照するフィルタ係数群を含んでいる符号化データのデータ構造も本発明の範疇に含まれる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、画像にフィルタリングを行う画像フィルタ装置に好適に用いることができる。また、符号化データを復号する復号装置、および、符号化データを生成する符号化装置に好適に用いることができる。
1 動画像復号装置(復号装置)
12 予測画像生成部
15 フレームメモリ
16 ループフィルタ(画像フィルタ装置)
161 デブロッキングフィルタ(平滑化手段)
162 適応フィルタ
162a 対象画素設定部
162b 参照領域設定部(参照領域変更手段)
162c フィルタ処理部(フィルタ手段)
163 内部メモリ
2 動画像符号化装置(符号化装置)
21 予測画像生成部
25 フレームメモリ
26 ループフィルタ(画像フィルタ装置)
262 適応フィルタ
262a 対象画素設定部
262b 参照領域設定部(参照領域変更手段)
262c フィルタ処理部(フィルタ手段)
12 予測画像生成部
15 フレームメモリ
16 ループフィルタ(画像フィルタ装置)
161 デブロッキングフィルタ(平滑化手段)
162 適応フィルタ
162a 対象画素設定部
162b 参照領域設定部(参照領域変更手段)
162c フィルタ処理部(フィルタ手段)
163 内部メモリ
2 動画像符号化装置(符号化装置)
21 予測画像生成部
25 フレームメモリ
26 ループフィルタ(画像フィルタ装置)
262 適応フィルタ
262a 対象画素設定部
262b 参照領域設定部(参照領域変更手段)
262c フィルタ処理部(フィルタ手段)
Claims (4)
- 複数の単位領域から構成される入力画像に作用することによって出力画像を生成するフィルタ手段と、
上記フィルタ手段が各対象画素の画素値を算出するために参照する参照領域を、該対象画素を含む単位領域における該対象画素の位置に応じて設定する参照領域設定手段とを備え、
上記参照領域設定手段は、上記対象画素についての参照領域の上流辺の位置を、上記単位領域の上流辺又は上記単位領域の下流辺から所定の定数だけ上流辺側の位置に設定する第1の設定手段と、上記対象画素についての参照領域の下流辺の位置を、上記単位領域の下流辺又は上記単位領域の下流辺から所定の定数だけ上流辺側の位置に設定する第2の設定手段と、のうち少なくとも1つの設定手段を有していることを特徴とする画像フィルタ装置。 - 上記第1の設定手段は、上記対象画素を含む単位領域の下流辺と上記対象画素との距離DUが、所定の閾値未満のとき、上記対象画素についての参照領域の上流辺の位置を、単位領域の辺の長さに応じて設定し、
上記第2の設定手段は、上記対象画素を含む単位領域の上流辺と上記対象画素との距離DLが、所定の閾値未満のとき、上記対象画素についての参照領域の下流辺の位置を、単位領域の辺の長さに応じて設定することを特徴とする請求項1に記載の画像フィルタ装置。 - 上記第1の設定手段は、上記対象画素を含む単位領域内の左上座標を基準とする上記対象画素の相対座標が、所定の座標以上である場合、上記対象画素についての参照領域の上流辺の位置と上記対象画素との距離が、上記対象画素の正規化単位領域内座標に上記所定の定数を加え、上記単位領域の長さを減じた値以下となるように設定し、
上記第2の設定手段は、上記相対座標が上記所定の座標未満である場合、上記対象画素についての参照領域の下流辺の位置を、上記対象画素との距離が、上記単位領域の長さから上記対象画素の正規化単位領域内座標を減じ、さらに上記所定の定数を減じた値−1以下となるように設定することを特徴とする請求項1または2に記載の画像フィルタ装置。 - 上記参照領域設定手段は、上記所定の座標を、上記単位領域の長さから上記所定の定数を減じた座標に設定することを特徴とする請求項3に記載の画像フィルタ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012548805A JP5551274B2 (ja) | 2010-12-14 | 2011-12-14 | 画像フィルタ装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010278499 | 2010-12-14 | ||
JP2010278499 | 2010-12-14 | ||
PCT/JP2011/078882 WO2012081609A1 (ja) | 2010-12-14 | 2011-12-14 | 画像フィルタ装置、復号装置、符号化装置、および、データ構造 |
JP2012548805A JP5551274B2 (ja) | 2010-12-14 | 2011-12-14 | 画像フィルタ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012081609A1 JPWO2012081609A1 (ja) | 2014-05-22 |
JP5551274B2 true JP5551274B2 (ja) | 2014-07-16 |
Family
ID=46244706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012548805A Expired - Fee Related JP5551274B2 (ja) | 2010-12-14 | 2011-12-14 | 画像フィルタ装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10116932B2 (ja) |
JP (1) | JP5551274B2 (ja) |
WO (1) | WO2012081609A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591853B (zh) * | 2011-12-29 | 2015-04-01 | 优视科技有限公司 | 网页重排方法、网页重排装置以及移动终端 |
US8983218B2 (en) | 2012-04-11 | 2015-03-17 | Texas Instruments Incorporated | Virtual boundary processing simplification for adaptive loop filtering (ALF) in video coding |
US9596465B2 (en) | 2013-01-04 | 2017-03-14 | Intel Corporation | Refining filter for inter layer prediction of scalable video coding |
US9686561B2 (en) * | 2013-06-17 | 2017-06-20 | Qualcomm Incorporated | Inter-component filtering |
JP6171627B2 (ja) * | 2013-06-28 | 2017-08-02 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム |
US10091519B2 (en) | 2013-10-14 | 2018-10-02 | Electronics And Telecommunications Research Institute | Multilayer-based image encoding/decoding method and apparatus |
US10038919B2 (en) | 2014-05-29 | 2018-07-31 | Apple Inc. | In loop chroma deblocking filter |
JP6519185B2 (ja) * | 2015-01-13 | 2019-05-29 | 富士通株式会社 | 動画像符号化装置 |
KR102524319B1 (ko) * | 2016-12-28 | 2023-04-24 | 소니그룹주식회사 | 화상 처리 장치 및 화상 처리 방법 |
TW202344047A (zh) * | 2017-04-06 | 2023-11-01 | 美商松下電器(美國)知識產權公司 | 解碼裝置、編碼裝置及電腦可讀取之非暫時性記憶媒體 |
EP3609185A4 (en) * | 2017-04-06 | 2020-03-18 | Panasonic Intellectual Property Corporation of America | CODING DEVICE, DECODING DEVICE, CODING METHOD AND DECODING METHOD |
TW201842768A (zh) * | 2017-04-06 | 2018-12-01 | 美商松下電器(美國)知識產權公司 | 編碼裝置、解碼裝置、編碼方法及解碼方法 |
CN117640951A (zh) | 2018-05-23 | 2024-03-01 | 松下电器(美国)知识产权公司 | 解码装置和编码装置 |
WO2020256467A1 (ko) * | 2019-06-19 | 2020-12-24 | 한국전자통신연구원 | 비디오 영상 부/복호화를 위한 가상 경계 시그널링 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123732A (ja) * | 2003-10-14 | 2005-05-12 | Matsushita Electric Ind Co Ltd | デブロックフィルタ処理装置およびデブロックフィルタ処理方法 |
WO2008084745A1 (ja) * | 2007-01-09 | 2008-07-17 | Panasonic Corporation | 画像符号化装置および画像復号化装置 |
WO2009110559A1 (ja) * | 2008-03-07 | 2009-09-11 | 株式会社 東芝 | 動画像符号化/復号装置 |
WO2011013580A1 (ja) * | 2009-07-31 | 2011-02-03 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975773B1 (en) * | 2002-07-30 | 2005-12-13 | Qualcomm, Incorporated | Parameter selection in data compression and decompression |
US7804896B2 (en) * | 2005-09-19 | 2010-09-28 | Intel Corporation | Content adaptive noise reduction filtering for image signals |
US20070098086A1 (en) * | 2005-10-28 | 2007-05-03 | Vasudev Bhaskaran | Spatio-temporal noise filter for digital video |
JP5360430B2 (ja) * | 2008-03-31 | 2013-12-04 | 日本電気株式会社 | デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法 |
EP2114068A1 (en) * | 2008-04-30 | 2009-11-04 | Sony Corporation | Method for converting an image and image conversion unit |
JP2010147538A (ja) * | 2008-12-16 | 2010-07-01 | Sony Corp | 画像処理装置および方法、並びにプログラム |
US20120039383A1 (en) * | 2010-08-12 | 2012-02-16 | Mediatek Inc. | Coding unit synchronous adaptive loop filter flags |
-
2011
- 2011-12-14 WO PCT/JP2011/078882 patent/WO2012081609A1/ja active Application Filing
- 2011-12-14 JP JP2012548805A patent/JP5551274B2/ja not_active Expired - Fee Related
- 2011-12-14 US US13/992,432 patent/US10116932B2/en not_active Expired - Fee Related
-
2018
- 2018-09-10 US US16/126,215 patent/US20190020882A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005123732A (ja) * | 2003-10-14 | 2005-05-12 | Matsushita Electric Ind Co Ltd | デブロックフィルタ処理装置およびデブロックフィルタ処理方法 |
WO2008084745A1 (ja) * | 2007-01-09 | 2008-07-17 | Panasonic Corporation | 画像符号化装置および画像復号化装置 |
WO2009110559A1 (ja) * | 2008-03-07 | 2009-09-11 | 株式会社 東芝 | 動画像符号化/復号装置 |
WO2011013580A1 (ja) * | 2009-07-31 | 2011-02-03 | ソニー株式会社 | 画像処理装置および方法 |
Non-Patent Citations (1)
Title |
---|
JPN6012013564; 'Test Model under Consideration, Output Document (draft007)' Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 JCTVC-B205, 201010, pp.1,121-129, 2nd Meeting: Geneva, CH * |
Also Published As
Publication number | Publication date |
---|---|
US20130251051A1 (en) | 2013-09-26 |
US10116932B2 (en) | 2018-10-30 |
JPWO2012081609A1 (ja) | 2014-05-22 |
US20190020882A1 (en) | 2019-01-17 |
WO2012081609A1 (ja) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5551274B2 (ja) | 画像フィルタ装置 | |
US11722664B2 (en) | Image decoding method and apparatus | |
US20230199218A1 (en) | Image decoding device, image encoding device, and image decoding method | |
CN111373752B (zh) | 译码视频数据的方法和设备以及非暂时性计算机可读介质 | |
US10547861B2 (en) | Image decoding device | |
WO2017068856A1 (ja) | 予測画像生成装置、画像復号装置および画像符号化装置 | |
KR102351029B1 (ko) | 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 | |
JPWO2015163456A1 (ja) | 画像復号装置、画像符号化装置、および、符号化データ変換装置 | |
WO2017195532A1 (ja) | 画像復号装置及び画像符号化装置 | |
US20200213619A1 (en) | Video coding apparatus and video decoding apparatus, filter device | |
WO2012077719A1 (ja) | 画像復号装置、および画像符号化装置 | |
WO2019065488A1 (ja) | 画像復号装置および画像符号化装置 | |
JP2013192118A (ja) | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 | |
WO2013046990A1 (ja) | オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造 | |
EP3796656A1 (en) | Video decoding apparatus and video coding apparatus | |
JP2013141094A (ja) | 画像復号装置、画像符号化装置、画像フィルタ装置、および符号化データのデータ構造 | |
US20210360226A1 (en) | Image prediction method and apparatus performing intra prediction | |
JP2013223050A (ja) | フィルタ装置、復号装置、および符号化装置 | |
WO2012121352A1 (ja) | 動画像復号装置、動画像符号化装置、および、データ構造 | |
WO2012137890A1 (ja) | 画像フィルタ装置、復号装置、符号化装置、および、データ構造 | |
JP2013187868A (ja) | 画像復号装置、画像符号化装置、およびデータ構造 | |
WO2022191064A1 (ja) | 動画像符号化装置、復号装置 | |
WO2012090962A1 (ja) | 画像復号装置、画像符号化装置、および符号化データのデータ構造、ならびに、算術復号装置、算術符号化装置 | |
WO2012077795A1 (ja) | 画像符号化装置、画像復号装置、およびデータ構造 | |
CN118158445A (zh) | 用于图像/视频编译的高级别语法信令方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140327 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140521 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5551274 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |