JP2014197722A - 画像フィルタ装置、復号装置、符号化装置、および、データ構造 - Google Patents

画像フィルタ装置、復号装置、符号化装置、および、データ構造 Download PDF

Info

Publication number
JP2014197722A
JP2014197722A JP2011166994A JP2011166994A JP2014197722A JP 2014197722 A JP2014197722 A JP 2014197722A JP 2011166994 A JP2011166994 A JP 2011166994A JP 2011166994 A JP2011166994 A JP 2011166994A JP 2014197722 A JP2014197722 A JP 2014197722A
Authority
JP
Japan
Prior art keywords
filter
region
unit
image
mode
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.)
Withdrawn
Application number
JP2011166994A
Other languages
English (en)
Inventor
知宏 猪飼
Tomohiro Igai
知宏 猪飼
将伸 八杉
Masanobu Yasugi
将伸 八杉
山本 智幸
Tomoyuki Yamamoto
智幸 山本
隆紀 山崎
Takanori Yamazaki
隆紀 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2011166994A priority Critical patent/JP2014197722A/ja
Priority to PCT/JP2012/069255 priority patent/WO2013018737A1/ja
Publication of JP2014197722A publication Critical patent/JP2014197722A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】符号量及び処理量の増大を抑制しつつ適切なフィルタ処理を行う。【解決手段】適応フィルタ150は、フィルタ形状を復号するフィルタ形状復号部1511、部分領域の各々を、グループである特性値分類領域に分類する領域構造復号部1512、特性値算出方法のタイプを復号する領域適応モード復号部1513、特性値分類領域に割り当てられるフィルタ係数群を復号するフィルタ係数復号部1514、フィルタ係数格納部1515、入力画像を構成する各単位領域を部分領域に分類する領域インデックス算出部1522、特性値分類領域に復号されたフィルタ係数群を割り付けるフィルタ係数割り付け部1523、各単位領域における出力画像の各画素値を、該単位領域に対して割り付けられたフィルタ係数群を用いてフィルタ処理を行うフィルタ部1524を備えている。【選択図】図23

Description

本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタを備えている符号化装置、および、復号装置に関する。また、そのような復号装置によって復号される符号化データのデータ構造に関する。
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(復号装置)が用いられている。具体的な動画像符号化方式としては、例えば、H.264/MPEG−4.AVCに採用されている方式、VCEG(Video Coding Expert Group)における共同開発用コーデックで
あるKTAソフトウェアに採用されている方式、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている方式、及び、HM(HEVC TestModel)ソフトウェアに採用されている方式などが挙げられる。
このような符号化方式において、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる最大符号化単位(LCU:Largest Coding Unit、ツリーブロックとも呼ばれる)、最大符号化単位を分割す
ることにより得られる符号化単位(CU:Coding Unit、符号化ノードとも呼ばれる)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、多くの場合、ブロックを最小単位として符号化される。
また、このような符号化方式においては、通常、入力画像を符号化/復号化することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分データが符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)と呼ばれる方法が知られている。
イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。具体的には、イントラ予測においては、通常、予測単位(例えば、ブロック)毎に、予め定められた予測方向(予測モード)群に含まれる予測方向から何れかの予測方向が選択されると共に、局所復号画像における参照画素の画素値を、選択された予測方向に外挿することによって、予測対象領域上の予測画素値が生成される。また、インター予測においては、フレーム全体が復号された参照フレーム(復号画像)内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位(例えば、ブロック)毎に生成される。
非特許文献1には、2つの異なるフィルタ形状を切り替える技術が開示されている。さらに、非特許文献1では、非特許文献2で用いられている領域分類手法が用いられている。具体的には、水平方向及び垂直方向の座標に応じて、復号画像を複数の領域に分割し、領域毎に設定されたフィルタ係数を用いる手法が開示されRAモードと呼ばれる。また、同文献には、領域および領域周辺の画素から算出される活性度及び方向性に応じて、復号画像を複数の領域に分割し、領域毎に設定されたフィルタ係数を用いる方法が開示されBAモードと呼ばれる。同文献では、RAモードとBAモードを符号化データ中のフラグ(特徴量モード)により切り替える方法が開示されている。
このような適応フィルタを備えた符号化装置および復号装置は、復号画像に対して当該適応フィルタによりフィルタ処理を施して得られるフィルタ済みの復号画像を参照して予測画像を生成することにより、予測精度の向上および符号化効率の向上を図ることができる。
「JCTVC-F303」,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, Italy,13-22, July, 2011 「JCTVC-E603」,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, 16-23, March, 2011
しかしながら、非特許文献1に開示された方法では、領域に応じて適したフィルタ形状が異なるにも関わらず、十分に活かされていないという課題があった。すなわち、非特許文献2に開示されている特徴量モードおよび領域のマージにより設定される領域分類とフィルタ形状は独立に設定されるものであり、領域分類とフィルタ形状の関係が活かされていない。
本発明は、上記の問題に鑑みてなされたものであり、符号量及び処理量の増大を抑えつつ、特徴量によって分類される領域に適したフィルタ形状を用いることにより、符号化効率を向上させることのできる適応フィルタを実現することにある。
上記の問題を解決するために、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、上記単位領域の属性から、1つ以上の特性値算出方法で得られる特性値を用いて部分領域に分類する領域インデックス算出手段を備える画像フィルタ装置であって、フィルタ形状に基づいて特性値算出方法を選択する手段、もしくは、特性値算出方法に基づいてフィルタ形状を選択する手段を備えることによって、特定の特性値算出方法を用いる場合には、該特性値算出方法に対応する形状のフィルタ形状を用いてフィルタ処理を行うことを特徴とする。
上記のように構成された本発明に係る画像フィルタ装置によれば、特性値算出方法に対応したフィルタ形状を用いることができる。特性値算出方法に応じて、領域分類が変化し、各領域に適したフィルタ形状が変化する。よって、特性値算出方法に適したフィルタ形状を用いることにより、高い効果の適応フィルタを適用することができる。
上記フィルタ手段が用いるフィルタ形状は1つ以上の方向性を有し、上記領域インデックス算出方法は少なくとも1つの方向性を有する特性値算出方法を備え、所定の方向性を有する特性値算出方法を用いる場合には、該方向性に対応する方向性を有するフィルタ形状を用いてフィルタ処理を行うことを特徴とする。
フィルタ形状と領域インデックス算出方法の方向性は、斜め方向または水平垂直方向であり、斜め方向の領域インデックス算出方法を用いる場合には、斜め方向のフィルタ形状を適用し、水平垂直方向の領域インデックス算出方法を用いる場合には、水平垂直方向のフィルタ形状を適用することを特徴とする。
フィルタ形状を復号するフィルタ形状復号手段と、
領域適応モードを復号する領域適応モード復号手段と、
上記フィルタ形状復号手段が復号したフィルタ形状と、上記領域適応モードが復号した領域適応モードを用いて、領域インデックス算出方法を選択する特徴量モード算出手段をさらに備えることを特徴とする。
上記復号した領域適応モードが、上記単位領域の画素から算出するモードである場合において、復号したフィルタ形状の方向性に応じて、該方向性に対応する方向性を有する領域インデックス算出方法を用いることを特徴とする。
復号したフィルタ形状が斜め形状である場合には、斜め方向に対応する特性値算出方法を用い、復号したフィルタ形状が水平垂直形状である場合には、水平垂直方向に対応する特性値算出方法を用いることを特徴とする。
複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、
各単位領域を分類するための領域インデックスを、該単位領域の属性から算出される多次元の特性値から算出する領域インデックス算出手段と、
各領域インデックスと各フィルタインデックスとの対応関係を表すフィルタインデックステーブルを復号する領域構造復号手段と、
処理対象の単位領域である対象単位領域の領域インデックスと前記フィルタインデックステーブルとから該対象単位領域についてのフィルタインデックスを求めると共に、該対象単位領域に対して、該フィルタインデックスにより指定されるフィルタ係数を割り付けるフィルタ係数割り付け手段と
フィルタインデックス単位で、フィルタ形状を復号するフィルタ形状復号手段を備え、
該フィルタ手段は、復号されたフィルタ形状を用いてフィルタ処理を行うことを特徴とする。
以上の構成によって、各部分領域に適用されるフィルタ係数群に応じてフィルタ形状を変更することができる。領域の特性として、主要なエッジ(特定方向への強いエッジもしくは特定方向への多くのエッジ)が存在する場合には、特に適応フィルタの効果が大きい。領域の特性として斜めエッジである場合には、斜め形状のフィルタ形状が有効であり、領域の特性として水平エッジ及び垂直エッジである場合には、水平垂直形状のフィルタ形状が有効である、というように、画像の特性に応じて適したフィルタ形状が異なる。そのため、領域毎に適したフィルタ形状を用いることができるため、高い効果の適応フィルタを適用することができる。
各フィルタインデックスに対応するフィルタ係数群の各フィルタ係数を、符号化データを復号することにより得られたフィルタ係数残差に予測値を加算することによって復元するフィルタ係数復号手段を備え、
同じフィルタ形状を有する既に復号されたフィルタ係数群のフィルタ係数を予測値として用いることを特徴とする。
領域適応モードを復号する領域適応モード復号手段を備え、領域適応モードに対応した、フィルタ係数を用いることを特徴とする。
領域適応モードは、少なくとも斜め方向もしくは水平垂直方向の特性値算出方法に対応し、領域適応モードが斜め方向の特性値算出方法を対応する場合には、斜め方向のフィルタ形状を適用し、水平垂直方向の特性値算出方法に対応する場合には、水平垂直方向のフィルタ形状を適用することを特徴とする。
領域適応モードは、少なくとも、領域の座標を用いて領域分類を行うモード(RAモード)と、領域の画素を用いて領域分類を行うモード(BAモード)を備え、
該領域適応モードが領域の座標を用いるモードにおいては、フィルタインデックス単位で、フィルタ形状を復号し、該領域適応モードが領域の画素を用いるモードにおいては、フィルタインデックスのグループ単位で、フィルタ形状を復号することを特徴とする。
符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、
請求項1から11の何れか1項に記載の画像フィルタ装置と、
各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、
上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、
ことを特徴とする。
符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
請求項1から11の何れか1項に記載の画像フィルタ装置と、
各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
を備え、
上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、
ことを特徴とする。
複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、
各単位領域を分類するための分類パラメータ(領域インデックス)を、該単位領域の属性から算出される多次元の特性値から算出する領域分類手段(領域インデックス算出手段)を備え、
上記フィルタ手段は、2つ以上のフィルタ形状から1つのフィルタ形状を用いてフィルタ処理を行うフィルタ手段であり、上記領域インデックス算出手段は、2つ以上の特性値算出方法を備え、
特定の特性値算出方法を用いる場合には、該領域インデックス方法に対応する特定のフィルタ形状を用いてフィルタ処理を行うことを特徴とする画像フィルタ装置
によって参照される符号化データのデータ構造であって、
上記フィルタ形状と、
上記フィルタ係数と
を含んでいることを特徴とする。
以上のように、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、各単位領域を分類するための分類パラメータ(領域インデックス)を、該単位領域の属性から算出される多次元の特性値から算出する領域分類手段(領域インデックス算出手段)を備え、上記フィルタ手段は、2つ以上のフィルタ形状から1つのフィルタ形状を用いてフィルタ処理を行うフィルタ手段であり、上記領域インデックス算出手段は、2つ以上の特性値算出方法を備え、特定の特性値算出方法を用いる場合には、該領域インデックス方法に対応する特定のフィルタ形状を用いてフィルタ処理を行う。
上記のように構成された本発明に係る画像フィルタ装置によれば、特性値算出方法に対応したフィルタ形状を用いることができる。特性値算出方法に応じて、領域分類が変化し、各領域に適したフィルタ形状が変化する。よって、特性値算出方法に適したフィルタ形状を用いることにより、高い効果の適応フィルタを適用することができる。そのため、符号化効率が向上する。
本発明の実施形態に係る動画像復号装置の構成を示すブロック図である。 第1の実施形態に係る符号化データの構成を説明するための図であって、(a)は、ピクチャPICTを規定するピクチャレイヤを示しており、(b)は、スライスSを規定するスライスレイヤを示しており、(c)は、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤを示しており、(d)は、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示している。 本発明の実施形態に係る動画像符号化装置の構成を示すブロック図である。 第1の実施形態に係るフィルタ形状とBA計算モードの関係を示す図である。 第1の実施形態に係るフィルタ形状とBA計算モードの関係を示す図である。 本実施形態の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせを示す図である。 第2の実施形態に係るフィルタ係数群とフィルタ形状の関係を示す図である。 第2の実施形態に係るフィルタ係数予測方法を示す図である。 第3の実施形態に係る領域適応モードとフィルタ形状の関係を示す図である。 第3の実施形態に係る領域適応モードとフィルタ形状の関係の別の例を示す図である。 フィルタ係数復号部1771の構成を示すブロック図である。 第4の実施形態に係る特性領域別フィルタ形状の関係を示す図である。 本発明の実施形態のフィルタ形状を示す図である。 本発明の実施形態のフィルタ形状の組み合わせを示す図である。 第1及び第3の実施形態に係る領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeと、特徴量モードalf_feature_modeの関係を示す図である。 第2の実施形態に係る領域適応モードalf_region_adaptation_flagと、特徴量モードalf_feature_modeの関係を示す図である。 本実施形態の実施形態に係る領域インデックス算出部の構成を示すブロック図である。 第1の実施形態に係るフィルタパラメータFP#1に含まれる各シンタックスを示す図である。 第2の実施形態に係るフィルタパラメータFP#3に含まれる各シンタックスを示す図である。 第3の実施形態に係るフィルタパラメータFP#5に含まれる各シンタックスを示す図である。 第3の実施形態の変形例に係るフィルタパラメータFP#7に含まれる各シンタックスを示す図である。 領域構造を示すシンタックスalf_filter_patternを説明する図である。 第1の実施形態に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第1の実施形態に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。 第2の実施形態に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第2の実施形態に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。 第3の実施形態に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第3の実施形態に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。 第3の実施形態の変形例に係る動画像復号装置の備える適応フィルタの構成を示すブロック図である。 第3の実施形態の変形例に係る動画像符号化装置の備える適応フィルタの構成を示すブロック図である。 本発明の実施形態に係る特性値算出方法を説明する図である。 本発明の第1の実施形態に係る領域適応モードとフィルタ形状の関係を示す図である。
〔実施形態1〕
以下では、本発明の第1の実施形態について、特に図1〜図6、図18、図22、図23、図24を参照して説明する。
本実施形態に係る適応フィルタは、フィルタ前画像(例えば、後述するデブロック済復号画像P_DB)を構成する各単位領域について、互いに導出方法の異なる2つの特性値を導出し、導出された2つの特性値に応じて、各単位領域を1または複数のグループの何れかに分類する。また、本実施形態に係る適応フィルタは、単位領域毎に定められたフィルタ係数を用いて、フィルタ前画像に対して単位領域毎に作用する。
ここで単位領域とは、後述するDCT変換(より一般には周波数変換)の単位であるブロックであってもよいし、後述する予測画像を生成する単位であるパーティションであってもよいし、ブロックまたはパーティションの何れでもなく、本実施形態に係る適応フィルタによってサイズおよび位置が設定された領域であってもよい。また、単位領域は、1画素から構成されるものであってもよい。
また、各グループは、2つの特性値によって張られる2次元領域上に設定される各部分領域と1対1の対応を有する。したがって、上記2次元領域をどのように各部分領域へ分割するのかを指定することにより、1または複数のグループをどのように設定するかが定まることになる。また、導出された2つの特性値のうち、一方の特性値を第1の特性値Xと呼び、もう一方の特性値を第2の特性値Yと呼ぶ。なお、以下の説明において、上記2つの特性値によって張られる2次元領域を特性値領域とも呼称し、特性値領域上に設定される各部分領域を特性値部分領域とも呼称する。
第1の特性値Xおよび第2の特性値Yとして、例えば以下のような組み合わせが可能である。本実施形態においては第1の特性値Xが画像の活性度である場合を取り扱うが、これらの組み合わせは本願に係る発明を限定するものではなく、他の特性値および組み合わせに対しても、本実施形態を容易に適用することができる。
・第1の特性値X:画像の活性度、第2の特性値Y:画像の方向性
・第1の特性値X:画像の活性度、第2の特性値Y:平均画素値
・第1の特性値X:画像の活性度、第2の特性値Y:単位領域の座標
・第1の特性値X:単位領域の座標、第2の特性値Y:画像の活性度
・第1の特性値X:スライス番号、第2の特性値Y:画像の活性度
・第1の特性値X:平均画素値、第2の特性値Y:画像の活性度
・第1の特性値X:単位領域のy座標、第2の特性値Y:単位領域のx座標
・第1の特性値X:単位領域のx座標、第2の特性値Y:単位領域のy座標
なお、適応フィルタによる、フィルタ済みの画像と符号化対象画像との誤差を減らす効果(ノイズ低減の効果)の観点からは、活性度を優先する。すなわち、第1の特性値Xとして画像の活性度を用いることが適当である。一方、複雑性の観点からは、特性値の算出が容易な特性値を優先することも考えられる。具体的には、単位領域の座標や、スライス番号、平均画素値などを第1の特性値として用いることも可能である。この場合、低複雑性が要求されるようなアプリケーションの場合において、第1の分割のみで分割を終了させるような適用方法が可能であり、小さな複雑性で領域別フィルタの効果を得ることができる。
ここで、画像の活性度に代えて、画素値の分散を用いてもよい。また、各単位領域について導出される各特性値は、導出方法如何によって、単位領域のサイズに依存する場合がある。このような場合には、各特性値として、単位領域のサイズへの依存性を取り除くことによって得られる正規化された特性値を用いることができる。
(符号化データ#1)
本実施形態に係る動画像符号化装置2及び動画像復号装置1の詳細な説明に先立って、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1のデータ構造について説明を行う。
図2は、符号化データ#1のデータ構造を示す図である。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
符号化データ#1におけるピクチャレイヤ以下の階層の構造を図2に示す。図2の(a)〜(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図2の(a)に示すように、ピクチャヘッダPH、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字
を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
entropy_coding_mode_flagが0の場合、当該ピクチャPICTは、CAVLC(Context-based Adaptive Variable Length Coding)によって符号化されている。また、entropy_coding_mode_flagが1である場合、当該ピクチャPICTは、CABAC(Context-based Adaptive Binary Arithmetic Coding)によって符号化されている。
なお、ピクチャヘッダPHは、ピクチャー・パラメーター・セット(PPS:Picture Parameter Set)とも称される。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図2の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1〜TBLKNC(NCはスライスSに含まれるツリーブロックの総数)のシーケンスを含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
また、スライスヘッダSHには、動画像復号装置1の備える適応フィルタによって参照されるフィルタパラメータFPが含まれている。フィルタパラメータFPの詳細については後述する。
(ツリーブロックレイヤ)
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。なお、ツリーブロックのことを最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU1〜CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのパーティションに分割される。
ツリーブロックTBLKの上記パーティションは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するパーティションを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の
基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
つまり、符号化単位情報(以下、CU情報と称する)CU1〜CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのパーティション)のサイズの縦横とも半分である。
また、各符号化ノードのとり得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)に依存する。例えば、ツリーブロックTBLKのサイズが64×64画素であって、最大階層深度が3である場合には、当該ツリーブロックTBLK以下の階層における符号化ノードは、3種類のサイズ、すなわち、64×64画素、32×32画素、および16×16画素の何れかをとり得る。
(ツリーブロックヘッダ)
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp−qp’である。
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ここで、CU情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree
;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
(CU情報のデータ構造)
続いて、図2の(d)を参照しながらCU情報CUに含まれるデータの具体的な内容について説明する。図2の(d)に示すように、CU情報CUは、具体的には、スキップフラグSKIP、PT情報PTI、および、TT情報TTIを含む。
スキップフラグSKIPは、対象のPUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、そのCU情報CUにおけるPT情報PTI、および、TT情報TTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
PT情報PTIは、CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合であり、動画像復号装置1により予測画像を生成する際に参照される。PT情報PTIは、図2の(d)に示すように、予測タイプ情報PType、および、予測情報PInfoを含んでいる。
予測タイプ情報PTypeは、対象PUについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
予測情報PInfoは、予測タイプ情報PTypeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
また、予測情報PInfoは、対象PUの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、PUを単位として行われる。予測情報PInfoの詳細については後述する。
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
TT情報TTIは、図2の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TT、および、量子化予測残差QD1〜QDNT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
TT分割情報SP_TTは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TTは、対象となるノードの分割を行うのか否かを示す情報(split_transform_unit_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から2×2画素までのサイズをとり得る。
各量子化予測残差QDは、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(予測情報PInfo)
上述のとおり、予測情報PInfoには、インター予測情報およびイントラ予測情報の2種類がある。
インター予測情報には、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象CUの各インターPUへの分割パターンを指定するインターPU分割情報、および、各インターPUについてのインター予測パラメータが含まれる。
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
一方、イントラ予測情報には、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象CUの各イントラPUへの分割パターンを指定するイントラPU分割情報、および、各イントラPUについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラPUについてのイントラ予測方法(予測モード)を指定するためのパラメータである。
(動画像復号装置1)
以下では、本実施形態に係る動画像復号装置1について特に図1〜図6、図23、図31、図32を参照して説明する。動画像復号装置1は、その一部に、H.264/MPEG−4.AVCに採用されている方式、VCEG(Video Coding Expert Group)における共同開発用コーデックで
あるKTAソフトウェアに採用されている方式、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている方式、及び、HM(HEVCTestModel)ソフトウェアに採用されている技術を含んでいる。
図1は、動画像復号装置1の構成を示すブロック図である。図1に示すように、動画像復号装置1は、可変長符号復号部13、動きベクトル復元部14、バッファメモリ15、インター予測画像生成部16、イントラ予測画像生成部17、予測方式決定部18、逆量子化・逆変換部19、加算器20、デブロッキングフィルタ41、および、適応フィルタ150を備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
可変長符号復号部13は、各パーティションに関する予測パラメータPPを、符号化データ#1から復号する。すなわち、インター予測パーティションに関しては、参照画像インデックスRI、推定動きベクトルインデックスPMVI、及び、動きベクトル残差MVDを符号化データ#1から復号し、これらを動きベクトル復元部14に供給する。一方、イントラ予測パーティションに関しては、(1)パーティションのサイズを指定するサイズ指定情報、および、(2)予測インデックスを指定する予測インデックス指定情報を符号化データ#1から復号し、これをイントラ予測画像生成部17に供給する。また、可変長符号復号部13は、CU情報を符号化データから復号し、これを予測方式決定部18に供給する(図示省略)。更に、可変長符号復号部13は、各ブロックに関する量子化予測残差QD、及び、そのブロックを含むツリーブロックに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部19に供給する。また、可変長符号復号部13は、符号化データ#1からフィルタオンオフ情報、フィルタセット番号、および、フィルタ係数群を復号し、それらを適応フィルタ50に供給する。
動きベクトル復元部14は、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差MVDと、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスPMVIにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルpmvを導出し、(2)導出した推定動きベクトルpmvと動きベクトル残差MVDとを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、バッファメモリ15から読み出すことができる。動きベクトル復元部14は、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部17に供給する。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、復元した2つの動きベクトルmv1及びmv2を、対応する参照画像インデックスRI1及びRI2と共に、インター予測画像生成部17に供給する。
インター予測画像生成部16は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部14から供給された動きベクトルmvを用いて、同じく動きベクトル復元部14から供給された参照画像インデックスRIによって指定されるフィルタ済復号画像P_FL’から動き補償画像mcを生成する。ここで、フィルタ済復号画像P_FL’は、既に復号が完了した復号済みの復号画像に対して、デブロッキングフィルタ41によるデブロック処理、および、適応フィルタ50による適応的フィルタ処理を施すことによって得られる画像であり、インター予測画像生成部16は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ15から読み出すことができる。インター予測画像生成部16によって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部18に供給される。なお、双方向予測(重み付き予測)を行うインター予測パーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定されたフィルタ済復号画像P_FL1’から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定されたフィルタ済復号画像P_FL2’とから動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。
イントラ予測画像生成部17は、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、符号化データ#1から復号された予測モードを参照し、該予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。続いて、当該予測モードの示す予測方法に従って、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部17によって生成されたイントラ予測画像Pred_Intraは、予測方式決定部18に供給される。
また、イントラ予測画像生成部17は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報IEMを適応フィルタ50に供給する。なお、イントラ予測画像生成部17によるイントラ予測画像Pred_Intraの具体的な生成処理については、後述するためここでは説明を省略する。
予測方式決定部18は、CU情報に基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部16にて生成されたインター予測画像Pred_Interを予測画像Predとして加算器20に供給し、後者の場合には、イントラ予測画像生成部17にて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器20に供給する。
逆量子化・逆変換部19は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)
逆DCT変換によって得られた予測残差Dを加算器20に供給する。なお、量子化予測残差QDを逆量子化する際に、逆量子化・逆変換部19は、可変長符号復号部13から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化/逆DCT変換したツリーブロックに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化ステップqpからQP=2pq/6によって導出できる。また、逆量子化・逆変換部19による予測残差Dの生成は、ブロック(変換単位)を単位として行われる。
加算器20は、予測方式決定部18から供給された予測画像Predと、逆量子化・逆変換部19から供給された予測残差Dとを加算することによって復号画像Pを生成する。
デブロッキングフィルタ41は、復号画像Pにおけるブロック境界、またはCU境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像Pにおける当該ブロック境界、または当該CU境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該CU境界付近の画像の平滑化を行う。デブロッキングフィルタ41によりデブロッキング処理が施された画像は、デブロック済復号画像P_DBとして、適応フィルタ50に出力される。
適応フィルタ50は、デブロッキングフィルタ41から供給されるデブロック済復号画像P_DBに対して、符号化データ#1から復号されたフィルタパラメータFPを用いたフィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。適応フィルタ50によりフィルタ処理が施された画像は、フィルタ済復号画像P_FLとして外部に出力されると共に、可変長符号復号部13によって符号化データから復号されたPOC指定情報と関連付けてバッファメモリ15に格納される。適応フィルタ50の具体的な構成については、後述するため、ここでは説明を省略する。
(適応フィルタ150)
適応フィルタ150は、シンタックスadaptive_loop_filter_flagが1である場合に、デブロック済復号画像P_DBに対して適応的フィルタ処理を施すことによってフィルタ済復号画像P_FLを生成する。
適応フィルタ150は、対象単位領域におけるデブロック済復号画像P_DBの特性値に応じて、該対象単位領域を、上述した各特性値部分領域の何れかと関連付け、該単位領域が関連付けられた特性値部分領域について復号されたフィルタ係数を用いて、該単位領域に対するフィルタ処理を施す。
本実施形態に係る適応フィルタは、フィルタ前画像(例えば、デブロック済復号画像P_DB)を構成する各単位領域について、互いに導出方法の異なる複数の特性値を導出し、導出された複数の特性値に応じて、各単位領域を1または複数のグループの何れかに分類する。また、本実施形態に係る適応フィルタは、単位領域毎に定められたフィルタ係数を用いて、フィルタ前画像に対して単位領域毎に作用する。
ここで単位領域とは、後述するDCT変換(より一般には周波数変換)の単位であるブロックであってもよいし、後述する予測画像を生成する単位であるパーティションであってもよいし、ブロックまたはパーティションの何れでもなく、本実施形態に係る適応フィルタによってサイズおよび位置が設定された領域であってもよい。また、単位領域は、1画素から構成されるものであってもよい。本実施形態では4×4のブロックを単位領域として説明する。
各グループは、複数の特性値によって張られる多次元領域上に設定される各部分領域と1対1の対応を有する。したがって、上記多次元領域をどのように各部分領域へ分割するのかを指定することにより、1または複数のグループをどのように設定するかが定まることになる。また、導出された複数の特性値は各々、第1の特性値X、第2の特性値Y、第3の特性値Zと呼ぶ。上記複数の特性値によって張られる多次元領域を特性値領域とも呼称し、特性値領域上に設定される各部分領域を特性値部分領域とも呼称する。
各部分領域を指定するインデックスとして1次元のインデックスを用いる。各特性値部分領域を指定するインデックスを、領域インデックスridxと呼ぶ。各単位領域は、領域インデックスridxを割り付けることでグループ化(分類)が行われる。すなわち、同じ値の領域インデックスridxが割り当てられる単位領域は同じ特性の領域であるとしてグループ化される。グループ化された部分領域は、特性値分類領域、もしくは、分類領域と呼ぶ。ある領域インデックスridxの特性値分類領域を、単に領域インデックスridxの領域と呼ぶ。
本実施形態においては、第1の特性値X、第2の特性値Y、第3の特性値Zとして、例えば以下のような値が使用可能である。
画像の方向性、画像の活性度、画像の特定方向活性度、予測モード、予測モード及び画像の方向性、平均画素値、単位領域の座標、スライス番号。
領域インデックスの算出に用いる特性値および特性値の組について、その算出方法を、特性値算出方法と呼ぶ。本実施形態では、領域インデックス算出において、複数の特性値(特性値算出方法)を用いることが可能である。本実施形態では、特性値算出方法は領域インデックス算出方法に対応するため、後述する特性値モードalf_filter_modeを用いて一意に示すことが可能である。また、特性値算出方法は、特徴量モードのタイプである領域適応モードと、あるタイプ内に属する1つの特徴量モードを指定するフラグ(例えば後述のBA計算モード)を用いて示すこともできる。また、特性値算出方法は、例えば以下の例のように特性値の組によって表現することもできる。
{単位領域のX座標、単位領域のY座標}(後述のRAモードに対応)
{単位領域の第1の活性度、単位領域の第2の活性度}(後述のBAモードに対応)
{単位領域の水平方向活性度、単位領域の垂直方向活性度}(後述のBA1モードに対応)
{単位領域の斜め45度方向活性度、単位領域の斜め135度方向活性度}(後述のBA2モードに対応)
なお、活性度の算出には、絶対値差分和を用いても良いし、ラプラシアンや分散を用いても良い。また、活性度を含む特性値の算出には、画素の間引きを用いても良い。単位領域の特性値の算出には、単位領域外の画素値を用いても良い。但し、特性値の参照画像の一部がスライス外に位置する場合には、スライス内の画素値のみを用いて特性値を算出可能なように、スライス内の画素値を用いてスライス外の画素値を導出し特性値を算出すると良い。
また、各単位領域について導出される各特性値は、導出方法如何によって、単位領域のサイズに依存する場合がある。このような場合には、各特性値として、単位領域のサイズへの依存性を取り除くことによって得られる正規化された特性値を用いることができる。
<フィルタパラメータFP#1>
本実施形態に係るフィルタパラメータFP#1の構成を詳述する。図18は、本実施形態に係るフィルタパラメータFPのシンタックステーブルの一例である。図18に示すように、フィルタパラメータFP#1には、adaptive_loop_filter_flag、alf_region_adaptation_flag、alf_filter_mode、alf_num_filters_minus1、alf_region_idx[]、alf_pred_method、alf_min_kstart_minus1、alf_golomb_index_bit[i]、alf_coeff_luma[i][j]が含まれている。
adaptive_loop_filter_flagは、後述する適応フィルタ150による適応的フィルタ処理のオンオフを指定するフラグであり、adaptive_loop_filter_flagが0の場合、適応的フィルタ処理がオフに指定され、adaptive_loop_filter_flagが1の場合、適応的フィルタ処理がオンに指定される。
alf_num_filters_minus1は本実施形態に係る適応フィルタで用いるフィルタ数AlfNumFiltersを示すシンタックスであり、AlfNumFilters = alf_num_filters_minus1 + 1により求めることができる。領域適応モードalf_region_adaptation_flagは、単位領域の属性からその領域を分類する場合における分類方法を切り替える特徴量モード(領域分類方法)alf_feature_modeのタイプを示すシンタックスであり、0か1の値をとる。alf_filter_modeは、フィルタ形状を示すシンタックスである。alf_region_idx[i] (1≦i<AlfNumRegions)は、各部分領域に対するフィルタインデックスを指定するシンタックスである。
領域適応モードalf_region_adaptation_flag=0、1は各々、特徴量モードのタイプであるRAモード、BAモードに対応する。なお。RAモードは、特性値算出方法が座標を用いる、すなわち、対象単位領域の画像(フレーム)内座標を用いる場合の分割であり、この分割を座標空間分割と呼ぶ。BAモードは、特性値算出モードが画素値を用いる、すなわち、対象単位領域における画素値もしくは符号化パラメータを用いる場合の分割であり、座標空間分割に対して特徴空間分割と呼ぶ。なお、領域適応モードalf_region_adaptation_flagとして、特性値算出方法の違いによりさらに細かく区分した値を用いても良い。例えば、RAモードの一つとしてRA1モード、RA2モードや、BAモードの一つとしてBA1モード、BA2モードを領域適応モードとして用いることができる。すなわち、領域適応モードは、特徴量モードをグループ化したタイプでも良いし、特徴量モードをそのまま用いても良い。
また、図22に示すように1次元のシンタックスalf_filter_pattern[i] (1≦i<AlfNumRegions)を用いて領域構造を符号化しても構わない。図22に示す通り、部分領域は所定の順序(ラスタスキャン順)でインデックスが付される。1次元シンタックスalf_filter_patternでは、隣り合うインデックスが付された部分領域同士のみがマージ可能である。すなわち、所定の順序に沿って隣り合うサブ領域同士のみがマージ可能である。alf_filter_pattern[i]は、i―1の部分領域と、iの部分領域がマージされる場合には0、マージされない場合には1で符号化される。図22の例では、領域インデックスが{0、1}、{2、3、4}、{5、6、7}、{8、9}、{10、11、12}、{13、14}の組によってグループ化される例であるが、この場合、0、1、0、0、1、0、0、1、0、1、0、0、1、0のalf_filter_pattern[]が符号化される。
(適応フィルタ150)
図23は、適応フィルタ150のブロック図である。適応フィルタ150は、適応フィルタ情報復号部151、適応フィルタ152を備えている。適応フィルタ情報復号部151は、フィルタ形状復号部1511、領域構造復号部1512、領域適応モード復号部1513、フィルタ係数復号部1514、フィルタ係数格納部1515を備えており、適応フィルタ部152は、領域インデックス算出部1522、フィルタ係数割り付け部1523、フィルタ部1524を備えている。xx
フィルタ形状復号部1511は、フィルタパラメータFP#1に含まれるシンタックスalf_filter_modeを復号する。図7は、フィルタ係数群とフィルタ形状の関係を示す図である。図7(a)に示すように、第1の実施形態では、フィルタインデックスi=0からi=AlfNumFilters-1までのフィルタインデックスで示される各フィルタ係数群(特性値分類領域)に対して1つのフィルタ形状alf_filter_modeが復号されることが示されている。ここでは、図に示す通り、フィルタ係数群のフィルタ形状として星もしくはクロスが復号される。
領域構造復号部1512は、概略的に言えば、図18に示すフィルタパラメータFP#1に含まれるシンタックスalf_region_idx[i]から領域構造を復号する。また、alf_filter_pattern[]から領域構造を復号しても構わない。
領域適応モード復号部1513は、シンタックスalf_region_adaptation_flagを復号する。復号されたシンタックスalf_region_adaptation_flagは、領域インデックス算出部1522に供給される。
フィルタ係数復号部1514は、シンタックスalf_coeff_luma[i][k]よりフィルタ係数群AlfRegionFilterCoeff[i][k] (0≦i<AlfNumFilters、0≦k<Ntotal:Ntotalは、1つのフィルタ係数群に含まれるフィルタ係数の数)を復号する。フィルタ係数群AlfRegionFilterCoeff[i][k]の総数は、AlfNumFiltersである。
また、フィルタ係数復号部1514は、フィルタ処理に用いられるフィルタ係数群AlfRegionFilterCoeffを、以下の式を用いて算出する。
AlfRegionFilterCoeff[i][k] = AlfRegionFilterCoeff[i-1][k] + alf_coeff_luma[i][k] (i=0以外の場合)
AlfRegionFilterCoeff[i][k] = alf_coeff_luma[i][k] (i=0の場合)
なお、kは、0〜フィルタ係数の数−1までの値であり、AlfRegionFilterCoeff[i][k]は
、各フィルタ係数毎に(すなわち、kの各値について)上記式により算出される。
フィルタ係数格納部1515には、フィルタ係数復号部1514によって復号されたフィルタ係数群RegionFilterLuma[i][k]が格納される。ここで、iは、フィルタ係数群を参照するためのインデックスであり、以下フィルタインデックスfidxとも呼ぶ。フィルタ係数群の数はAlfNumFiltersであるから、フィルタインデックスは0からAlfNumFilters−1までの値で指定される。なお、本実施形態では、フィルタ処理で用いられるフィルタ係数群として、符号化データ#1から復号されるフィルタ係数群を用いるが、復号装置に予め備わっているフィルタ係数群を参照可能なフィルタ係数として用いても良い。また、処理対象のピクチャおよびスライスに対応するヘッダ及びピクチャパラメータセットだけではなく、それ以前の特定のピクチャやスライスで符号化されるフィルタ係数群を参照しても良い。また、フィルタ係数格納部1515には、フィルタ係数復号部1514から供給されるフィルタ形状alf_filter_modeが格納される。
(領域構造復号部1512)
領域構造復号部1512は、フィルタパラメータFP#1から領域構造シンタックスを復号し、領域インデックスでグループ化される部分領域(特性値分類領域)の各々に対して、フィルタ係数群を参照するためのフィルタインデックスを割り当てる。具体的には、部分領域を指定する各領域インデックスridx(0≦ridx<AlfNumRegions)に対して、1つのフィルタインデックスfidxを割り当てる。
領域構造復号部1512は、フィルタ数AlfNumFiltersを復号し、フィルタ係数復号部1514に出力する。
領域構造復号部1512は、各領域インデックスridxに対するフィルタインデックスfidxを復号し、領域インデックスridxとフィルタインデックスfidxの関係を示すフィルタインデックステーブルFilterIdxTbl[ridx](0≦ridx<AlfNumRegions)を導出する。導出されたフィルタインデックステーブルFilterIdxTbl[]はフィルタ係数割り付け部1523に出力する。フィルタインデックステーブルFilterIdxTbl[]は、領域インデックスがridxの場合のフィルタインデックスfidxを下記の式により定めるテーブルである。
fidx = FilterIdxTbl[ridx]
例えば、フィルタインデックステーブルが下記のFilterIdxTblAの場合には、領域イン
デックスridx=0に割り当てられるフィルタインデックスfidxは、FilterIdxTbl[ridx]=FilterIdxTblA[0]=0になる。
FilterIdxTblA[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
また、FilterIdxTblAでは、各部分領域に対して異なるフィルタインデックスが割り当
てられる。すなわち、全ての各部分領域はマージされず異なる値が割り当てられる。この時、フィルタインデックスの総数AlfNumFiltersは16である。
領域インデックスridx=0のフィルタインデックスは0であるので、領域インデックスridx=0のフィルタインデックス復号を省略することができる。
(適応フィルタ部152)
適応フィルタ部152は、デブロック済復号画像P_DBを構成する各単位領域に対して、適応的フィルタ処理を行うことによってフィルタ済復号画像P_FLを生成するための構成である。ここで、各単位領域のフィルタ処理に用いられるフィルタ係数は、フィルタパラメータFP#1から復号されたフィルタ係数RegionFilterLuma[i][j]から、該単位領域におけるデブロック済復号画像P_DBの特性値に応じて定まる領域インデックスに応じて選択される。また、生成されたフィルタ済復号画像P_FLは、バッファメモリ15に格納される。
なお、適応フィルタ部152に入力される画像は、デブロック済復号画像P_DBに限定されるものではなく、複数の入力画像を入力することもできる。例えば、適応フィルタ部152には、デブロック済復号画像P_DBに加えて、復号画像Pおよび予測残差Dの少なくとも何れかを入力する構成としてもよい。このような構成の場合、領域インデックス算出部1522は、デブロック済復号画像P_DBのみならず、復号画像Pおよび予測残差Dの少なくとも何れかについても各特性値を算出する構成とし、フィルタ部1524は、それぞれの入力画像に対して、適応的フィルタ処理を行い、フィルタ後の画像を加算した後に出力する構成としてもよい。このような場合、フィルタパラメータFP#1には、各入力画像に対するフィルタ係数であって、各特性値部分領域に対応するフィルタ係数を含めておく構成とすればよい。
(領域インデックス算出部1522)
領域インデックス算出部1522は、単位領域の属性から、1つ以上の特性値算出方法で得られる特性値を用いて部分領域に分類する領域分類手段であり、具体的には、ある座標(x, y)で示される単位領域の領域インデックスridxを求める。なお、本実施形態では1次元の領域インデックスを用いる例を説明するが、特性値X、特性値Yを組とする値のようにベクトル量の領域インデックスを用いても良い。
領域インデックスの算出方法である特徴量モードalf_feature_modeは、領域適応モードalf_region_adaptation_flagを基づいて設定される。実施形態1では、領域適応モードalf_region_adaptation_flag、フィルタ形状alf_filter_modeに応じて特徴量モードalf_feature_modeを算出する。
図17は、領域インデックス算出部1522の構成を示すブロック図である。領域インデックス算出部1522は、RAモード領域インデックス算出部1550、BA1モード領域インデックス算出部1560、BA2モード領域インデックス算出部1570、領域インデックス選択部1525、特徴量モード算出部1526を備え、また、さらにRA第1特性値算出部1551、RA第2特性値算出部1552、RA領域インデックス算出部1555、BA1第1特性値算出部1561、BA1第2特性値算出部1562、BA1領域インデックス算出部1565、BA2第1特性値算出部1571、BA2第2特性値算出部1572、BA2領域インデックス算出部1575、を備える。
なお、図17では、BA1モード領域インデックス算出部1560と、BA2モード領域インデックス算出部1561を別の手段として示しているが、後述するように、BA1モードとBA2モードは、中間値の算出方向を除き、同じ構成の手段で算出可能であるので、共通の手段、BAモード領域インデックス算出部を用い、BA1モードとBA2モードを切り替えるBAモード計算モードalf_ba_comp_modeに応じて動作を変更しても構わない。
領域インデックス算出部1522は、座標値(xC、yC)で指定される単位領域に対して、座標値、単位領域及びその周辺の画素値、単位領域及びその周辺の符号化パラメータから2つ以上の軸の特性値を算出して領域インデックスを算出する。
特徴量モード算出部1526は、領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeに応じて、特徴量モードalf_feature_modeを算出する。本実施形態では、領域適応モードalf_region_adaptation_flagはRAモード、BAモードのいずれかの値をとり、特徴量モードalf_feature_modeはRAモード、BA1モード、BA2モードのいずれかの値をとる。図15は、実施形態1における領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeと、特徴量モードalf_feature_modeの関係を示す図である。領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeは、符号化モードのシンタックスとして符号化される値であり、特徴量モードalf_feature_modeは、復号したシンタックスから導出される値である。図に示すように、領域適応モードalf_region_adaptation_flagがRAモードである場合は、特徴量モードalf_feature_modeはRAモードを用い、領域適応モードalf_region_adaptation_flagがBAモードである場合には、フィルタ形状alf_filter_modeに応じて、特徴量モードalf_feature_modeを切り替える。なお、図中のalf_ba_comp_mode は、特徴空間分割(BAモード)における特性値算出方法を識別するための値であり、BA計算モードと呼ぶ。斜め方向の方向性を有する特性値算出方法であるBA2モードがalf_ba_comp_mode=0に対応し、水平垂直方向の方向性を有する特性値算出方法であるBA1モードがalf_ba_comp_mode=1に対応する。
図6は、本実施形態の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせを示す図である。本実施形態では2つの領域適応モード(RAモード、BAモード)の各々に対して、フィルタ形状を選択する。フィルタ形状の選択肢は、2つのフィルタ形状(星、クロス)である。また、図に示すようにBAモードではフィルタ形状に合わせて、特徴量算出モードの選択が行われる。
領域インデックス選択部1525は、特徴量モードalf_feature_modeの値に応じて、領域インデックスの算出方法を切り替える。具体的には、特徴量モードがRAモード、BA1モード、BA2モードの何れであるかに応じて、RAモード領域インデックス算出部1550、BA1モード領域インデックス算出部1560、BA2モード領域インデックス算出部1570から出力される領域インデックスをそれぞれ選択する。
本実施形態では、領域インデックス選択部1525は、少なくとも1つの特性値算出方法を備え、特性値算出方法に基づいて単位領域の特性値を算出し、単位領域を分類する領域インデックスを算出する。
少なくとも1つの座標空間分割(ここではRAモード)と、少なくとも1つの特徴空間分割モードを備えれば、一方の特徴量による領域分類が適当ではない場合に、他方の領域分類で補うことができるため、符号化効率上適当である。また、さらに、互いに異なる複数の特徴空間分割モードを備えることも同様の理由で適当である。
RAモード領域インデックス算出部1550では、座標値(xC、yC)で指定される単位領域に対して、座標値を参照して領域インデックスを算出する。RA第1特性値算出部1551がX座標xCを量子化した値xIdxを出力し、RA第2特性値算出部1552がY座標yCを量子化した値yIdxを出力し、RA領域インデックス算出部1555においてxIdxとyIdxから領域インデックスridxを算出する。より具体的には、下記の式により、xIdx、yIdxを算出する。
offset = 1 << (Log2MaxCUSize - 1)
xInterval = ( ( ( PicWidthInSamplesL + offset ) >> Log2MaxCUSize ) + 1 ) >> 2
yInterval = ( ( ( PicHeightInSamplesL + offset ) >> Log2MaxCUSize ) + 1 ) >> 2
xIdx = Min( 3, Floor( ( xC + x ) / ( xInterval << Log2MaxCUSize ) ) )
yIdx = Min( 3, Floor( ( yC + y ) / ( yInterval << Log2MaxCUSize ) ) )
ここで、Log2MaxCUSizeは最大CUサイズ(LCUサイズ)の2を底とした対数である。offset、xInterval、yIntervalは中間値である。Floor(x)はx以下の最大の整数を求める関数である。
続いて、2次元の特性値X(=xIdx)と特性値Y(=yIdx)から領域インデックスridxが以下の式によって割り当てられる。一つの方法では、テーブルregionTabを用いて以下の式で算出する。
regionTab[16] = { 0, 1, 4, 5, 15, 2, 3, 6, 14, 11, 10, 7, 13, 12, 9, 8 }
ridx = regionTab[ ( yIdx << 2 ) + xIdx ]
なお、yIdx << 2は、yIdx × wとも表現することができる。ここでwは特性値Xの値の範囲である。
この場合は、各単位領域は、一筆書き(ヒルベルトスキャン)によってスキャンされるため、隣接領域とのマージを優先するようなエンコーダを用いる場合において、領域のフィルタインデックスが短い符号語で符号化されるため符号化効率が向上する。
なお、特性値X、特性値Yから領域インデックスridxを算出する方法にはラスタスキャンを用いることも可能である。この場合、
ridx = ( yIdx × 2 ) + xIdx
とする。なお、ここでは、特性値Xの値域をwを4(=1<<2)としているが、この限りではない。
BA1モード領域インデックス算出部1560では、座標値(xC、yC)で指定される単位領域に対して、単位領域もしくは単位領域周辺の画素値を参照して領域インデックスを算出する。BA1第1特性値算出部1561は単位ブロックの特性値Xとして活性度actを出力し、BA1第2特性値算出部1562は単位ブロックの特性値Yとして活性度directionを出力し、BA1領域インデックス算出部1565においてactとdirectionから領域インデックスridxを算出する。より具体的には、下記の手順により、actとdirectionを算出する。中間値として、各画素の水平活性度varTempHと垂直活性度varTempVを算出する。以下の式ではラプラシアンを用いているが、単なる差分でも構わない。
varTempH[ x ][ y ] = | ( s’[ xC+x, yC+y ] << 1 ) - s’[ xC+x-1, yC+y ] - s’[ xC+x+1, yC+y ] |
varTempV[ x ][ y ] = | ( s’[ xC+x, yC+y ] << 1 ) - s’[ xC+x, yC+y-1 ] - s’[ xC+x, yC+y+1 ] |
ここで、s´は、適応フィルタの入力画素値、||は、絶対値を算出する関数である。
続いて、以下の式によって、中間値varTemp1とvarTemp2を算出する。
varTemp1[ x ][ y ] = varTempH[ x ][ y ] + varTempV[ x ][ y ]
varTemp2[ x ][ y ] = ΣiΣj varTemp1[ x + i ][ y + j ]
但し、i, j = -1..1である。
続いて、以下の式によって、単位ブロック内(もしくは単位ブロック周辺を含めて)で中間値を足し合わせることにより、単位ブロックの活性度を算出する。すなわち、活性度varTemp3、水平活性度varTempH1、水平活性度varTempV1を算出する。
varTemp3[ x ][ y ] = (ΣiΣj varTemp2[ (x << 2 ) + i ][ (y << 2) + j ]) >> 4 varTempH1[ x ][ y ] = ΣiΣj varTempH[ (x << 2 ) + i ][ (y << 2) + j ] varTempV1[ x
][ y ] = ΣiΣj varTempV[ (x << 2 ) + i ][ (y << 2) + j ]
但し、i, j = 0..3である。
第2特性値directionは、以下のように、単位ブロックの水平活性度varTempH1と水平活性度varTempV1の大きさの比較から算出する。
varTempV1[ x >> 2 ][ y >> 2 ] > varTempH1[ x >> 2 ][ y >> 2 ] << 1の場合に、direction = 1
それ以外で、varTempH1[ x >> 2 ][ y >> 2 ] > varTempV1[ x >> 2 ][ y >> 2 ] << 1の場合に、direction = 2
それ以外の場合に、direction = 0。
但し、上記では、エッジがあると想定される部分領域(水平活性度と垂直活性度の差が大きい部分領域)にdirectionを1もしくは2として、エッジがないと想定される部分領域(差が大きくない場合)のdirectionを0としたが、この値の配置に限らない。エッジがないとされる部分領域のdirectionを1として、エッジがあると想定される部分領域のdirectionを0もしくは2としても良い。すなわち、特性値Yにdirectionが配置される場合、その大小順序は、水平エッジ、エッジ無し、垂直エッジ、もしくは、垂直エッジ、エッジ無し、水平エッジという順となると良い。一般に垂直エッジが存在すると想定される部分領域と、水平エッジが存在すると想定される部分領域は、互いに異なる特性であるため、異なるフィルタ係数群を用いてフィルタ処理を行うことが多い。特性値Xもしくは特性値Yが同一の値の既に処理済みの部分領域(隣接領域)から、フィルタインデックスを推定する場合には、特性値領域において隣接する部分領域の特性が類似するように、上記順序の方が好適である。なお、フィルタインデックスに限らず、隣接領域からフィルタ係数群を推定する場合にも、上記順序が好適である。
第1特性値actは、以下のように、中間値varTemp3をビット深度に応じて正規化し0〜15の値にクリップする。さらにクリップされた値をテーブルvarTabにより量子化することでactとする。
varTab[16] = { 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4 }
avgVar[x][y] = Clip3( 0, 15, (varTemp3[ x >> 2 ][ y >> 2 ] * 114 ) >> (3 + BitDepthY) )
act = Clip3( 0, 4, varTab[avgVar[x][y]])
なお、Clip3(x, y, z)は値zをx以上、y以下にクリップする関数であり、BitDepthYは、画素のビット深度を示す。
テーブルvarTabは、小さい活性度の領域ほど細かく分類するように設定する。すなわち、小さい値に量子化される、量子化前活性度varTemp3の範囲の方が、大きな値に量子化される量子化前活性度varTemp3の範囲よりも狭くなるように設定する。一般に画像は、小さい活性度の領域に集中することが多いからである。小さい値に量子化される値の範囲の方が小さい、という上記制約は必ずしも全ての段階で成り立つ必要はなく、多くの場合に成り立てばよい。量子化後活性度から3つの値0, m, nを選び出した場合(但し0<m<n)、0の範囲<mの範囲<nの範囲となるm, nの組が存在するという制約で良い。また、量子化化後活性度から4つの値、0, l, m, mを選び出した場合(但し0<l<m<n)、0の範囲<=lの範囲<mの範囲<=nの範囲となるl, m, nの組が存在するという制約でも良い。
BA1領域インデックス算出部1565は、以下の式により、
ridx = act + w * direction
を求める。但しここではw=5である。
以上のBA1モードでは、互いに直交する方向の活性度を用いて、2次元特性値を求めることにより、比較的少ない演算量で互いに直交する2つの方向のエッジを識別し、異なる領域として分類することができる。ここでは水平方向活性度と垂直方向活性度を用いることによって水平方向エッジと垂直方向エッジを識別することができる。2次元特性値を活性度と方向性という2軸にする場合に、活性度の算出に方向性の算出に用いる水平方向活性度と垂直方向活性度を使用することができるため、活性度の算出と方向性の算出に別の中間値を用いる場合に比べて演算量を削減することができる。また、方向性の算出は、水平方向活性度と垂直方向活性度の比較によって行うため比較的小さな演算量で実現可能である。
BA2モード領域インデックス算出部1570では、座標値(xC、yC)で指定される単位領域に対して、座標値を参照して領域インデックスを算出する。BA2第1特性値算出部1571は単位ブロックの特性値Xとして活性度actを出力し、BA2第2特性値
算出部1572は単位ブロックの活性度directionを出力し、BA2フィルタインデック
ス算出部1575においてactとdirectionから領域インデックスridxを算出する。より具体的には、下記の流れにより、actとdirectionを算出する。まず、中間値として、各画素の第1の斜め活性度varTempDAと、第1の斜め活性度とは異なる方向の第2の斜め活性度varTempDBを算出する。以下の式ではラプラシアンを用いているが、単なる差分でも構わない。
varTempDA[ x ][ y ] = | ( s’[ xC+x, yC+y ] << 1 ) - s’[ xC+x-1, yC+y+1 ] - s’[ xC+x+1, yC+y-1 ] |
varTempDB[ x ][ y ] = | ( s’[ xC+x, yC+y ] << 1 ) - s’[ xC+x+1, yC+y-1 ] - s’[ xC+x-1, yC+y+1 ] |
ここで、s´は、適応フィルタの入力画素値、||は、絶対値を算出する関数である。
続いて、以下の式によって、中間値varTemp1とvarTemp2を算出する。
varTemp1[ x ][ y ] = varTempDA[ x ][ y ] + varTempDB[ x ][ y ]
varTemp2[ x ][ y ] = ΣiΣj varTemp1[ x + i ][ y + j ]
但し、i, j = -1..1である。
続いて、以下の式によって、単位ブロック内(もしくは単位ブロック周辺を含めて)で中間値を足し合わせることにより、単位ブロックの活性度を算出する。すなわち、活性度varTemp3、水平活性度varTempDA1、水平活性度varTempDB1を算出する。
varTemp3[ x ][ y ] = (ΣiΣj varTemp2[ (x << 2 ) + i ][ (y << 2) + j ]) >> 4 varTempDA1[ x ][ y ] = ΣiΣj varTempDA[ (x << 2 ) + i ][ (y << 2) + j ] varTempDB1[ x ][ y ] = ΣiΣj varTempDB[ (x << 2 ) + i ][ (y << 2) + j ]
但し、i, j = 0..3である。
第2特性値directionは、以下のように、単位ブロックの水平活性度varTempDA1と水平
活性度varTempDB1の大きさの比較から算出する。
varTempDA1[ x >> 2 ][ y >> 2 ] > varTempDB1[ x >> 2 ][ y >> 2 ] << 1の場合に、direction = 1
それ以外で、varTempDB1[ x >> 2 ][ y >> 2 ] > varTempDA1[ x >> 2 ][ y >> 2 ] << 1の場合に、direction = 2
それ以外の場合に、direction = 0。
第1特性値actは、BA1モードと同様の方法により中間値varTemp3から算出される。
BA2領域インデックス算出部1575も、BA1と同様actとdirectionからridxを求める。
特徴空間分割における特性値Xと特性値Yから領域インデックスを算出する方法(領域インデックス算出方法)は、既に説明した方法の他、別の方法を用いることができる。図31は、2つの特性値から領域インデックスを算出する方法を説明する図である。
図31(a)は、第1の領域インデックス算出方法を説明する図である。BA1領域インデックス算出部1565及びBA2領域インデックス算出部1575で既に説明したように、5段階の特性値Xと3段階の特性値Yをラスタスキャン順にスキャンすることによって、図中の0〜15の順にスキャンする。
図31(b)は、第2の領域インデックス算出方法を説明する図である。第1の領域インデックス算出方法のようにラスタスキャン順の場合では、2次元座標上、右端(特性値Xが最大値)に到達すると、次には一つ下の左端(特性値Xが0)の部分領域をスキャンする。この場合、スキャン順において隣接する部分領域の間で、X軸方向の特性値Xの値の変化が大きい。図31(b)では、2次元座標上、端(特性値Xが最大値)に到達すると、次には一つ下の同じ端(特性値Xが0)の部分領域をスキャンする。より具体的には、
ridx = act + w * direction (direction が偶数の場合)
ridx = -act - 1 + w * (direction+1) (directionが奇数の場合)
により計算できる
この算出方法は一筆書き(ヒルベルトスキャン)の算出方法と呼ぶ。
図31(c)は第3の領域インデックス算出方法を説明する図である。第3の領域インデックス算出方法では、特性値Xが小さい場合に、特性値Yを区別せずに割り当てる。活性度(領域の乱雑さ、エッジの強さ、勾配の大きさ)に対応する特性値Xが小さい場合には、方向性の重要性が比較的低いため、活性度が低い場合に細かく方向性を用いて部分空間を分割を行わない。より具体的には、所定の閾値THを用いて、以下の式で、計算できる。
ridx = act (act < THの場合)
ridx = act - TH + w *direction (act >= THの場合)
図では、TH=1、w=6の例である。また、活性度が小さい場合をより細かい分割をすることも可能である。
図31(d)は第4の領域インデックス算出方法を説明する図である。第4の領域インデックス算出方法では、特性値Xが小さい場合で、特性値Yが特定のグループに属する場合には、特性値Xの分類の粒度を下げる。特性値Xが小さい場合には、方向性有りと分類される場合(頻度)が比較的小さい。そのため方向性に対応する特性値Yが方向性ありを示す1もしくは2である場合には、特性値Xが小さい場合の頻度が小さいため、複数の特性値Xをまとめて1つの領域インデックスを割り当てる。逆にいえば、ある領域インデックスに割り当てられる特性値Xの範囲(閾値)を、特性値Yが方向性なしに対応する場合に比べて大きくする。より具体的には、まず、
また、tmpidx = act + w *directionで算出される中間インデックスで、所定のテーブルridxtbl[]を引くことによっても算出可能である。例えば
ridxtbl[] = {0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15}
のテーブルにより次の式で算出可能である。
ridx = tbl[tmpidx]
このようにラスタスキャン順に割り当てら得るtmpidxのような中間インデックスを用いて、中間インデックスと領域インデックスの関係を示す所定のテーブルridxtbl[]を引いて、領域インデックスを算出する方法は、図31(a)、図31(b)、図31(c)など他の領域インデックス算出方法でも適用可能である。
以上のBA2モードは、BA1モードと同様、互いに直交する方向の活性度を用いて、2次元特性値を求めることにより、比較的少ない演算量で互いに直交する2つの方向のエッジを識別し、異なる領域として分類することができる。ここでは2つの互いに直交する斜め方向活性度を用いることによって斜め45度エッジとそれと直交する斜め135度方向エッジを識別することができる。なお上記角度は、水平方向を0度とした場合のエッジのなす角で説明している。
BA1モードとBA2モードは両者を備えることは互いに相補的な識別能力を有する2つの直交した特性値算出方法を用いるという点で適当である。
(フィルタ係数割り付け部1523)
フィルタ係数割り付け部1523は、領域にフィルタ係数を割り当てる。まず、領域インデックス算出部1522で算出された領域インデックスridxと、領域構造復号部1512で復号されたフィルタインデックステーブルFilterIdxTbl[]から、フィルタインデックスfidxを、fix = FilterIdxTbl[ridx]により算出する。続いて、得られたフィルタインデックスfixに対応するフィルタ係数RegionFilterLuma[ridx]をフィルタ係数格納部1515から読み出し、フィルタ部1524に出力する。
領域インデックス算出部1522とフィルタ係数割り付け部1523は全体として、各単位領域に対してフィルタ係数群の割り付けが行われる。すなわち、領域インデックス算出部1522において各単位領域に対して領域インデックスridxが算出され、フィルタ係数割り付け部1523において領域インデックスridxからフィルタ係数群の割り付けが行われる。
なお、対象の部分領域がフィルタオフとなる場合には、フィルタ係数割り付け部1523は、その領域に対するフィルタ係数を割り付けず、フィルタ部1524に対してフィルタオフとする信号を出力する。例えば、適応的フィルタオフ復号部において、各領域に対するフィルタオフが指定されている場合や、CU単位などの単位領域毎にフィルタオフが指定されている場合がこれに該当する。
(フィルタ形状)
図13は本発明の実施形態で用いるフィルタ形状の例を示す図である。フィルタ形状は、後述の参照領域Rを定める。図13(a)から(d)のフィルタ形状は、斜め方向の参照画素を比較的多く備えるフィルタ形状(斜め方向形状)の例であり、順に、星、矩形、矩形´、矩形´´と呼ぶ。図13(e)から(h)のフィルタ形状は、水平方向もしくは、垂直方向の参照画素を比較的多く備えるフィルタ形状(水平垂直方向形状)の例であり、順にクロス、クロス´、クロス´´、菱形と呼ぶ。対象画素の周辺画素を用いる空間フィルタは、対象画素と相関の高い画素(対象画素と画素値が近い画素)の重み付き平均によって、対象画素に生じたノイズを低減するものであり、相関の高い方向の画素をより多く用いる方が効果が大きくなる。斜めエッジを含む領域は、斜め方向の相関が高いことから、斜め方向の画素を多く備えるフィルタ形状が好適であり、水平エッジもしくは垂直エッジを含む領域は、水平エッジ、垂直エッジの相関が高いことから、水平、垂直方向の画素を多く備えるフィルタ形状が好適である。フィルタ形状の分類は、基本的には、特定方向に位置する参照画素の数の全体からの割合を用いて定められる。具体的には、各参照画素に対し、中心画素からみて、水平方向、垂直方向、斜め45度方向、斜め135度方向のいずれの方向に最も近いかをカウントし、水平方向及び垂直方向のカウントが最も多い場合には、水平垂直形状、斜め方向のカウントが最も多い場合には、斜め形状に分類する。星については、斜め方向の参照画素と、水平垂直方向の画素の数が等しく、必ずしも斜め方向の参照画素を比較的多く備えるとは言えないが、図14に示すとおり、フィルタ係数の組を考慮した場合に、星と組をなすクロスよりも相対的に斜め方向の参照画素が多いことから斜め形状に分類している。このように、フィルタ形状の分類は相対的なものであっても良い。
図14は本発明の実施形態で用いるフィルタ係数の組の例である。図(a)から(d)に示すとおり、本発明の実施形態では、斜め方向形状と、水平垂直形状の組を用いる。例えば、星と、クロスの組を用いる。ここではフィルタ形状alf_feature_mode=0である方を斜め方向形状、フィルタ形状alf_filter_mode=1である方を水平垂直形状とする。
さらに、フィルタ係数の組として2つより多いフィルタ係数の組を用いることも可能である。一つの例は、星、矩形、クロス、クロス´をフィルタ係数の組として用いる。この場合、相異なる方向性を有するフィルタ係数が含まれることが好ましい。例えば、斜め方向形状のフィルタ係数を1つ以上含み、水平垂直方向形状のフィルタ係数を1つ以上含む構成が良い。また、フィルタ形状の方向性は、斜め方向、水平垂直方向に限定されず、他の方向性を有しても良い。例えば、斜め方向を右上斜め方向と左上斜め方向で分離して、斜め45度方向、斜め135度方向(水平方向を0度とする反時計回り)の方向性を有するフィルタ形状や、水平垂直方向を2つに分離して、水平方向、垂直方向の方向性を有するフィルタ形状を用いることができる。
(フィルタ形状と特徴量モード)
特徴量モード算出部1526の算出で用いた、フィルタ形状alf_filter_modeに応じて、特徴量モードalf_feature_modeを切り替える方法について詳細を説明する。図4は、フィルタ形状と好適な特徴空間分割における特性値算出方法(BA計算モードalf_ba_comp_mode)の関係を示す図である。図に示すように、フィルタ形状が星および矩形など、斜め方向の参照画素を比較的多く備えるフィルタ形状においては、BA計算モードを斜め方向とすることを示す。また、フィルタ形状がクロスおよび菱形など、水平方向もしくは、垂直方向の参照画素を比較的多く備えるフィルタ形状においては、BA計算モードを水平垂直方向とすることを示す。
BA計算モードが斜め方向であるとは、斜め方向のエッジや勾配の分解性能が高いBAモードを用いることに相当し、特徴量モードではBA2モードが該当する。BA計算モードが水平垂直方向とは、水平方向及び垂直方向のエッジや勾配の分解性能が比較的高いBAモードを用いることに相当し、特徴量モードではBA1モードが該当する。
なお、斜め45度、斜め135度のフィルタ形状の場合には、斜め方向のBA計算モードが好適であり、水平方向、垂直方向のフィルタ形状の場合には、水平垂直方向のBA計算モードが好適である。
図5は、本実施形態のフィルタ形状とBA計算モードの組み合わせの例を示す図である。フィルタ形状モードalf_filter_modeが0の場合、フィルタ形状には斜め形状である星が用いられ、BA特性モードには斜め方向が用いられる。逆に、フィルタ形状モードalf_filter_modeが1の場合、フィルタ形状には斜め形状であるクロスが用いられ、BA特性モードには水平垂直方向が用いられる例を示している。既に説明したように、斜め方向に適したフィルタ形状である場合に、斜め方向に適した特性値算出方法を用い、水平垂直方向に適したフィルタ形状である場合に、水平垂直方向に適した特性値算出方法を用いることにより、画像のエッジ方向及び勾配方向に適した特性値部分領域に分類することが可能になり、高い適応フィルタの効果を得ることができる。さらに画像のエッジ方向及び勾配方向に適したフィルタ形状を用いることによりさらに高い適応フィルタの効果を得ることができる。
(自由度の数)
図6を用いて既に説明したとおり、領域適応モードの組合せはRAモードとBAモードで2つ、フィルタ形状の組合せは2つであるため、領域適応モードとフィルタ形状で合わせて4つ(=領域適応モード×フィルタ形状=2×2)の自由度を有する。特徴空間分割を行う際に、フィルタ係数の方向性に関わらず、全ての方向性の特性値算出方法を用いることが可能な場合には、領域適応モードの組合せはRAモードとBA1モード、BA2モードで3つ、フィルタ形状の組合せは2つとする場合であり、この場合、領域適応モードとフィルタ形状で合わせて6つの自由度を有する。符号化装置において多くの自由度が大きい場合には、適当な場合を選択するために多くの演算量を必要とするため、同じもしくは近い程度の効果が得られる場合には、自由度は小さい方が良い。本実施形態では、特徴空間分割に用いる特性値算出方法の方向性と、フィルタ形状の方向性を一致させることにより、複雑度の低減を実現できる。
(別の構成)
図32は、本実施形態の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせの別の構成である。この例では、図6の構成と同じ動作をするが、フィルタ形状毎に領域適応モードalf_region_adaptation_flagに値を割り当てる。具体的には、領域適応モードはRA1モード、RA2モード、BA1モード、BA2モードの値をとり、RA1モード、BA2モードでは斜め形状、RA2モード、BA1モードでは水平垂直形状を用いる。領域適応モードがRA1モード、RA2モードの場合のどちらも特徴量モードとしてはRAモードを用いる。図32(a)のRECT1のボックスで示すように、特性値算出方法の方向性とフィルタ形状の方向性は対応している。
本実施形態では、フィルタ形状に合わせて、特徴空間分割の特性値算出方法(BA計算モード)を切り替える構成を説明したが、特徴空間分割の特性値算出方法に合わせて、フィルタ形状を算出する方法でも構わない。この場合、符号化データとしては、領域適応モードとBA計算モードを含む構成を用いることも可能である。図32(b)は、領域適応モードがBAモードである場合にはさらにBA計算モードを復号する例である。おのとき、BA計算モードが斜め方向である場合には、フィルタ形状として星や矩形などの斜め形状を用い、BA計算モードが水平垂直である場合には、フィルタ形状としてクロスや菱形などの水平垂直形状を用いる。図32(a)のRECT1と、図32(a)のRECT2のボックス内が実質的に同じ対応関係を有していうように、フィルタ形状を復号する構成であっても、特徴空間分割の特性値算出方法を復号する構成であっても構わない。この場合、データ構造は、FP#5と同様にフィルタ構造alf_filter_modeを符号化しない、もしくは、FP#7と同様に、特性値算出方法が座標空間分割に対応する領域適応モードがRAモードの場合では、フィルタ構造alf_filter_modeを符号化するが、特性値算出方法が特徴空間分割に対応するBAモードの場合ではalf_fitler_modeを符号化しない構成となる。また、特性値算出方法からフィルタ形状を算出する手段は、第3の実施形態および第3の実施形態の変形例で説明するように領域適応モード・ フィルタ形状復号部1913、領域適応モード・ フィルタ形状復号部2113となる。
(フィルタ部1524)
フィルタ部1524は、対象単位領域に対して、フィルタ係数RegionFilterLuma[fidx] 及びフィルタ形状alf_filter_modeを用いたフィルタ処理を施すことによって、該対象単位領域におけるフィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ15に格納される。
より具体的には、フィルタ済復号画像P_FL(「フィルタ後画像」とも呼称する)におけるフィルタ対象画素の画素値をSF(x’、y’)と表し、デブロック済復号画像P
_DB(「フィルタ前画像」とも呼称する)における画素値をS(x、y)と表すことにすると、フィルタ部1524は、画素値SF(x’、y’)を、数式(1)によって算出する。
ここで、座標(x、y)は座標(x’、y’)と同一の座標としてもよいし、1対1の対応を有していれば、異なった座標としてもよい。また、a(u、v)は、フィルタ前画像の画素値S(x+u、y+v)に乗ぜられるフィルタ係数を表しており、フィルタ係数割り付け部1523から供給されたフィルタ係数RegionFilterLuma[fidx]の各成分に対応する。また、oは、フィルタ係数RegionFilterLuma[fidx]に含まれるオフセット成分を表している。
また、数式(1)におけるRは、フィルタ処理において参照される領域(「フィルタ参照領域R」とも呼称する)を表している。参照領域Rのフィルタ形状は、alf_filter_modeによって指定される。
また、各フィルタ係数は、180度の回転対称性を有するように、フィルタ参照領域Rに含まれる各画素に対して割り付けられる構成とすることができる。すなわち、a(u、
v)=a(−u、−v)を満たすように設定される構成とすることができる。このような
構成とすることによって、alf_coeff_luma[i][j]に含まれる各成分の数を削減することができる。
なお、復号装置が、適応的フィルタオフ復号部を有する場合で、フィルタ係数の割り付けがない場合には、フィルタ処理は行わない。
(動画像符号化装置2)
以下では、符号化対象画像を符号化することによって符号化データ#1を生成する動画像符号化装置2について、図xxを参照して説明する。動画像符号化装置2は、その一部に、H.264/MPEG−4.AVCに採用されている方式、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式、その後継コーデックであるTMuC(Test Model under Consideration)ソフトウェアに採用されている方式、及び、HM(HEVC TestModel)ソフトウェアに採用されている技術を含んでいる。
図3は、本実施形態に係る動画像符号化装置2の構成を示すブロック図である。図3に示すように、動画像符号化装置2は、変換・量子化部21、可変長符号符号化部22、逆量子化・逆変換部23、バッファメモリ24、イントラ予測画像生成部25、インター予測画像生成部26、動きベクトル検出部27、予測方式制御部28、動きベクトル冗長性削除部29、加算器31、減算器32、デブロッキングフィルタ33、および、適応フィルタ160を備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
変換・量子化部21は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック毎にDCT変換(Discrete Cosine Transform)し、(2)DCT変換により得られたDCT係数を量子化し、(3)量子化により得られた量子化予測残差QDを可変長符号符号化部22及び逆量子化・逆変換部23に供給する。なお、変換・量子化部21は、(1)量子化の際に用いる量子化ステップQPを、ツリーブロック毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部22に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、DCT変換/量子化するツリーブロックに関する量子化パラメータqp(QP=2pq/6)の値から、直前にDCT変換/量子化したツリーブロックに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
可変長符号符号化部22は、(1)変換・量子化部21から供給された量子化予測残差QD並びにΔqp、(2)後述する予測方式制御部28から供給された量子化パラメータPP、および、(3)後述する適応フィルタ160から供給されたフィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報を可変長符号化することによって、符号化データ#1を生成する。
逆量子化・逆変換部23は、(1)量子化予測残差QDを逆量子化し、(2)逆量子化によって得られたDCT係数を逆DCT(Discrete Cosine Transform)変換し、(3)逆DCT変換によって得られた予測残差Dを加算器31に供給する。量子化予測残差QDを逆量子化する際には、変換・量子化部21から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部21に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
イントラ予測画像生成部25は、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部25は、生成したイントラ予測画像Pred_Intraを、予測方式制御部28に供給する。
また、イントラ予測画像生成部25は、各パーティションについて選択された予測モードから、各パーティションのサイズとから各パーティションについての予測インデックスPIを特定し、当該予測インデックスPIを予測方式制御部28に供給する。
また、イントラ予測画像生成部25は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報IEMを適応フィルタ160に供給する。
動きベクトル検出部27は、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用するフィルタ済復号画像P_FL’を選択し、(2)選択したフィルタ済復号画像P_FL’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、フィルタ済復号画像P_FL’は、既に復号が完了した復号済みの復号画像に対して、デブロッキングフィルタ33によるデブロック処理、および、適応フィルタ160による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部27は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。動きベクトル検出部27は、検出した動きベクトルmvを、参照画像として利用したフィルタ済復号画像P_FL’を指定する参照画像インデックスRIと共に、インター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。なお、双方向予測(重み付き予測)を行うパーティションについては、参照画像として2枚のフィルタ済復号画像P_FL1’及びP_FL2’を選択し、2枚のフィルタ済復号画像P_FL1’及びP_FL2’の各々に対応する動きベクトルmv1及びmv2、並びに、参照画像インデックスRI1及びRI2をインター予測画像生成部26及び動きベクトル冗長性削除部29に供給する。
インター予測画像生成部26は、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部27から供給された動きベクトルmvを用いて、動きベクトル検出部27から供給された参照画像インデックスRIによって指定されるフィルタ済復号画像P_FL’から動き補償画像mcを生成する。動きベクトル検出部27と同様、インター予測画像生成部26は、フィルタ済復号画像P_FL’を構成する各画素の画素値をバッファメモリ24から読み出すことができる。インター予測画像生成部26は、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部27から供給された参照画像インデックスRIと共に、予測方式制御部28に供給する。なお、双方向予測(重み付き予測)をパーティションについては、(1)動きベクトルmv1を用いて、参照画像インデックスRI1によって指定されたフィルタ済復号画像P_FL1’から動き補償画像mc1を生成し、(2)動きベクトルmv2を用いて、参照画像インデックスRI2によって指定されたフィルタ済参照画像P_FL2’から動き補償画像mc2を生成し、(3)動き補償画像mc1と動き補償画像mc2との加重平均にオフセット値を加えることによってインター予測画像Pred_Interを生成する。
予測方式制御部28は、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部28は、イントラ予測画像Pred_Intraを予測画像Predとして加算器31及び減算器32に供給すると共に、イントラ予測画像生成部25から供給された予測インデックスPIを予測パラメータPPとして可変長符号符号化部22に供給する。一方、インター予測を選択した場合、予測方式制御部28は、インター予測画像Pred_Interを予測画像Predとして加算器31及び減算器32に供給すると共に、インター予測画像生成部26から供給された参照画像インデックスRI、並びに、動きベクトル冗長性削除部29(後述)から供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDを予測パラメータPPとして可変長符号符号化部に供給する。
予測方式制御部28にて選択された予測画像Predを、符号化対象画像から減算することによって、減算器32にて予測残差Dが生成される。減算器32にて生成された予測残差Dは、上述したとおり、変換・量子化部21によってDCT変換/量子化される。一方、予測方式制御部28にて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、加算器31にて局所復号画像Pが生成される。加算器31にて生成された局所復号画像Pは、デブロッキングフィルタ33および適応フィルタ160を経由したのち、フィルタ済復号画像P_FLとしてバッファメモリ24に格納され、インター予測における参照画像として利用される。
なお、動きベクトル冗長性削除部29は、動きベクトル検出部27によって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部29は、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部28に供給する。
デブロッキングフィルタ33は、復号画像Pにおけるブロック境界、またはCU境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像Pにおける当該ブロック境界、または当該CU境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該CU境界付近の画像の平滑化を行う。デブロッキングフィルタ33によりデブロッキング処理が施された画像は、デブロック済復号画像P_DBとして、適応フィルタ160に出力される。
適応フィルタ160は、デブロッキングフィルタ33から供給されるデブロック済復号画像P_DBに対して、適応的なフィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。適応フィルタ160によりフィルタ処理が施されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。適応フィルタ160の具体的な構成については、後述するため、ここでは説明を省略する。
(適応フィルタ160)
適応フィルタ160は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ160は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFP#1として可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFP#1を符号化データ#1の一部として符号化する。
図24は、適応フィルタ160の構成を示すブロック図である。図24に示すように、適応フィルタ160は、適応フィルタ情報設定部161、および、適応フィルタ部162を備えている。
適応フィルタ情報設定部161は、図24に示すように、フィルタ形状設定部1611、領域構造設定部1612、領域適応モード設定部1613、フィルタ係数残差生成部1614、フィルタ係数格納部1615、及び、フィルタパラメータ生成部1616を備えている。
フィルタ形状設定部1611は、フィルタ係数のフィルタ形状を指定するためのシンタックスalf_filter_modeを設定する。設定されたシンタックスalf_filter_modeは、フィルタパラメータ生成部1616に供給される。
領域構造設定部1612は、フィルタインデックステーブルFilterIndexTblを設定する。設定されたシンタックスFilterIndexTblは、フィルタパラメータ生成部1616に供給される。
領域適応モード設定部1613は、シンタックスalf_region_adaptation_flag を設定する。設定されたシンタックスalf_region_adaptation_flagは、適応フィルタ部162に供給され、さらにフィルタパラメータ生成部1616に供給される。
なお、alf_filter_mode、FilterIndexTbl、及び、alf_region_adaptation_flag、は、符号化効率がより向上するように設定される。
フィルタ係数残差生成部1614は、以下の式によってシンタックスalf_coeff_luma[i][k]を生成する。
alf_coeff_luma[i][k] = AlfRegionFilterCoeff[i-1][k] - AlfRegionFilterCoeff[i][k] (i=0以外の場合)
alf_coeff_luma[0][k] = AlfRegionFilterCoeff[i][k] (i=0の場合)
生成されたフィルタ係数残差alf_coeff_luma[i][k]はフィルタパラメータ生成部1616に供給される。
フィルタ係数格納部1615には、後述するフィルタ係数導出部1623から供給されるフィルタ係数群AlfRegionFilterCoeff[i][k]とフィルタ形状alf_filter_modeが格納される。
フィルタパラメータ生成部1616は、シンタックスalf_filter_modeとalf_region_adaptation_flag、フィルタインデックスFilterIndexTbl[ridx]、および、alf_coeff_luma[i][k]からフィルタパラメータFP#1を生成する。ここで、フィルタインデックスFilterIndexTbl[ridx]の符号化においては、ridx=1からAlfNumRegion-1までの各部分領域において、フィルタ係数群を示すフィルタインデックスを符号化することによって行われる。生成されたフィルタパラメータFP#1は、可変長符号符号化部22に供給される。
(適応フィルタ部162)
適応フィルタ部162は、適応フィルタ部162は、領域インデックス算出部1522、フィルタ係数導出部1623、及びフィルタ部1524を備えている。領域インデックス算出部1522を備えている。領域インデックス算出部1522、フィルタ部1524については、既に述べたため、ここでは説明を省略する。
(フィルタ係数導出部1623)
フィルタ係数導出部1623は、対象特性値分類領域におけるフィルタ済復号画像P_FLと符号化対象画像との誤差がより小さくなるようなフィルタ係数RegionFilterLuma[i][j]を導出する。導出されたフィルタ係数RegionFilterLuma[i][j]は、フィルタ部1524に供給されると共に、フィルタ係数格納部1615に格納される。
対象単位領域におけるデブロック済復号画像P_DBの画素値をS(x、y)と表し、対象単位領域における符号化対象画像の画素値をST(x、y)と表すことにすると、フ
ィルタ係数導出部1623は、例えば、以下の数式(1−5)によって与えられる二乗誤差Eを最小にするようなフィルタ係数a(u、v)およびオフセットoを導出する。ここで、フィルタ係数a(u、v)およびオフセットoは、RegionFilterLuma[i][j]の各成分である。
以上の構成では、領域インデックス算出部において、単位領域の属性から算出される多次元の特性値から各単位領域を分類するための分類パラメータ(領域インデックス)を算出し、フィルタ部では、2つ以上のフィルタ形状から1つのフィルタ形状を用いてフィルタ処理を行う。領域インデックス算出方法として単位領域の画素値を用いて領域分類を行う特徴空間分割を備える場合においては、特徴空間分割に用いる特性算出方法の方向性と、適応フィルタ部において特性値分割領域に対して割り当てられ、フィルタ部におけるフィルタ処理に用いられる、フィルタ係数群のフィルタ形状の方向性とを対応させる。具体的には、
水平垂直方向の方向性を有する特性値算出方法(BA1モード)を用いる場合には、水平垂直形状のフィルタ形状(本実施形態ではクロス)を用い、斜め方向の方向性を有する特性値算出方法(BA2モード)を用いる場合には、斜め形状(本実施形態では星)フィルタ形状を用いるように、特徴空間分割に用いる特性算出方法の方向性とフィルタ係数群のフィルタ形状の方向性を一致させることによって、領域のエッジ方向や勾配方向などの方向性に適したフィルタ処理を行うことができる。
なお、本実施形態ではクロスと星という2つの方向性を有するフィルタ形状を用いたが、クロスのみ、星のみなど1つ以上の方向性を有するフィルタ形状を備える場合でも良い。また、方向性を有する領域インデックス算出方法としてBA1モードとBA2モードという2つのモードを用いたが、BA1モードのみ、BA2モードのみなど1つのモードを用いる場合でも良い。この場合にも、所定の方向性を有する領域インデックス算出方法を用いる場合には、該方向性に対応する方向性を有するフィルタ形状を用いることが好適である。例えば、BA1モードには水平垂直方向、BA2モードには斜め方向を用いることが適当である。また、領域インデックス算出方法としては、BA1モードのみ、BA2モードのみ、RAモードとBA1モード、RAモードとBA2モードの何れを備える構成も可能である。
以上の構成によって、領域インデックス算出方法に対応したフィルタ形状を用いることができる。領域インデックス算出方法に応じて、領域分類が変化し、各領域に適したフィルタ形状が変化するが、本実施形態に示すように領域インデックス算出方法に適したフィルタ形状を用いることにより、高い効果の適応フィルタを適用することができる。以上の構成では、特徴空間分割に用いる特性値算出方法の方向性と、フィルタ形状の方向性を一致させることにより、符号化装置の複雑度の低減する効果も有する。
〔実施形態2〕
以下では、本発明の第1の実施形態について、特に図7〜図8、図19、図25、図26を参照して説明する。なお、以下では、実施形態1において既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
(符号化データ#3)
本実施形態に係る動画像符号化装置4及び動画像復号装置3の詳細な説明に先立って、動画像符号化装置4によって生成され、動画像復号装置3によって復号される符号化データ#3のデータ構造について説明を行う。
符号化データ#3のデータ構造は、実施形態1に係る符号化データ#1のデータ構造と略同じであるが、フィルタパラメータFPの構成が異なる。
<フィルタパラメータFP#3>
図19は、本実施形態に係るフィルタパラメータFPのシンタックステーブルの一例である。図19に示すように、フィルタパラメータFP#3には、adaptive_loop_filter_flag、alf_region_adaptation_flag、alf_filter_mode[]、alf_num_filters_minus1、alf_region_idx[]、alf_pred_method、alf_min_kstart_minus1、alf_golomb_index_bit[i]、alf_coeff_luma[i][j]が含まれている。実施形態1とは異なり、各フィルタ係数群に対するフィルタ形状モードalf_filter_mode[i](0≦i<AlfNumFilters)を含む。
adaptive_loop_filter_flagは、適応フィルタ170による適応的フィルタ処理のオンオフを指定するフラグであり。
alf_num_filters_minus1は本実施形態に係る適応フィルタで用いるフィルタ数AlfNumFiltersを示すシンタックスであり、AlfNumFilters = alf_num_filters_minus1 + 1により求めることができる。alf_region_adaptation_flagは、領域適応モードを示すシンタックスである。本実施形態では、alf_region_adaptation_flag=0、1、2は各々、RAモード、BA2モード、BA1モードに対応する。alf_filter_mode[i] (1≦i<AlfNumFilters)は、フィルタ形状を示すシンタックスである。alf_region_idx[i] (1≦i<AlfNumRegions)は、各部分領域に対するフィルタインデックスを指定するシンタックスである。
(動画像復号装置3)
本実施形態に係る動画像復号装置3は、実施形態1に係る動画像復号装置1の備える適応フィルタ150に代えて、適応フィルタ170を備えている。本実施形態に係る動画像復号装置のその他の構成は、実施形態1に係る動画像復号装置1の構成と同様であるので、説明を省略する。
(適応フィルタ170)
図25は、適応フィルタ170のブロック図である。適応フィルタ170は、適応フィルタ情報復号部171、適応フィルタ172を備えている。適応フィルタ情報復号部171は、フィルタ形状復号部1711、領域構造復号部1712、領域適応モード復号部1713、フィルタ係数復号部1714、フィルタ係数格納部1715を備えており、適応フィルタ部172は、領域インデックス算出部1722、フィルタ係数割り付け部1723、フィルタ部1524を備えている。
領域構造復号部1712は、フィルタ数AlfNumFiltersを復号し、フィルタ係数復号部1714及びフィルタ形状復号部1711に出力する。
フィルタ形状復号部1711は、フィルタパラメータFP#3から、i=0からAlfNumFilters−1までのフィルタインデックスで示される各フィルタ係数群(特性値分類領域)に対応するフィルタ形状alf_filter_mode[i]を復号し、フィルタ係数復号部1714に出力する。フィルタ数AlfNumFiltersは、領域構造復号部1712から供給される。
図7は、フィルタ係数群とフィルタ形状の関係を示す図である。図7(b)に示すように、フィルタインデックスiのフィルタ係数群(特性値分類領域)のフィルタ形状は、各々alf_filter_mode[i]で指定される。図では、i=0のフィルタ係数群のフィルタ形状は星であり、i=1のフィルタ係数群のフィルタ形状は、クロスである。
領域構造復号部1512は、図19に示すフィルタパラメータFP#3に含まれるシンタックスalf_region_idx[i]から領域構造を復号する。
領域適応モード復号部1713は、シンタックスalf_region_adaptation_flagを復号する。復号されたシンタックスalf_region_adaptation_flagは、領域インデックス算出部1722に供給される。
(フィルタ係数復号部1714)
フィルタ係数復号部1714は、シンタックスalf_coeff_luma[i][k]よりフィルタ係数群AlfRegionFilterCoeff[i][k] (0≦i<AlfNumFilters、0≦k<Ntotal:Ntotalは、1つのフィルタ係数群に含まれるフィルタ係数の数)を復号する。フィルタ係数群AlfRegionFilterCoeff[i][k]の総数は、AlfNumFiltersである。
また、フィルタ係数復号部1714は、フィルタ処理に用いられるフィルタ係数群AlfRegionFilterCoeffを、以下の式を用いて算出する。
AlfRegionFilterCoeff[i][k] = AlfRegionFilterCoeff[pred_idx][k] + alf_coeff_luma[i][k] (i=0以外の場合)
AlfRegionFilterCoeff[i][k] = alf_coeff_luma[i][k] (i=0の場合)
なお、kは、0〜フィルタ係数の数−1までの値である。予測フィルタインデックスpred_idx(0≦pred_idx<i)は、フィルタ係数の予測に用いられる参照フィルタを指定するインデックスであり、既に復号したフィルタ係数群のフィルタインデックスが用いられる。AlfRegionFilterCoeff[i][k]は、各フィルタ係数毎に(すなわち、kの各値について)上記式により算出される。すなわち、各フィルタインデックスに対応するフィルタ係数群の各フィルタ係数は、符号化データを復号することにより得られたフィルタ係数残差(ここではalf_coeff_luma)に予測値を加算することによって復元される。予測フィルタインデックスpred_idxは、同じフィルタ形状を有する既に復号されたフィルタ係数群のフィルタ係数を予測値として用いることを特徴とする。よ
図12は、フィルタ係数復号部1714の構成を示すブロック図である。フィルタ係数復号部1714は、フィルタ係数復元部1771、フィルタ係数予測値算出部1772、フィルタ形状別フィルタインデックス格納部1773から構成される。各手段は、i=0からi=AlfFilterNum−1のフィルタインデックスに対して順に動作する。
フィルタ形状別フィルタインデックス格納部1773は、フィルタ形状毎の格納領域last_idx[]を備える。最初に(i=0の時点で)、格納領域last_idx[]の要素を全て-1に初期化する。続いて、i=1からAlfFilterNum−1までのフィルタインデックスに対し、フィルタインデックスiのフィルタ係数AlfRegionFilterCoeff[i][k]を復号した時点で、最後のフィルタインデックス番号iを、以下の式によってフィルタ形状alf_filter_mode毎の格納領域last_idx[]に記録する。
last_idx[alf_filter_idx[i]] = i
フィルタ係数予測値算出部1772は、まず、復号対象となるフィルタ係数群のフィルタ形状がalf_filter_mode[i]である場合には、alf_filter_mode[i]のフィルタ形状を用いた最後のフィルタインデックス番号を、以下の式のようにフィルタ形状別フィルタインデックス格納部1773から読み出すことによって、予測インデックス番号pred_idxを算出する。
pred_idx = last_idx[alf_filter_idx[i]]
次に、算出された予測フィルタインデックスが−1以外の場合、すなわち、既に復号された同じフィルタ形状のフィルタ係数群がある場合には、フィルタ係数格納部1715から、pred_idxで指定されるフィルタ係数を読み出し、以下の式に用に予測値predとする。
pred[k] = AlfRegionCoeff[pred_idx][k]
算出された予測フィルタインデックスが−1の場合、すなわち、既に復号された同じフィルタ形状のフィルタ係数群がない場合には、予測値としては固定値、ここでは0を用いる。
pred[k] = 0
フィルタ係数復元部1771は、算出された予測値predを用いて以下の式によってフィルタ係数を復元する。
AlfRegionFilterCoeff[i][k] = pred[k] + alf_coeff_luma[i][k]
ここでは、加算を用いているが、次のような差分値が予測値―符号化値の形式であるいには、次の式によってフィルタ係数を復元する。
AlfRegionFilterCoeff[i][k] = pred[k] - alf_coeff_luma[i][k]
図8は、上記予測フィルタインデックス算出方法を説明する図である。この例では、フィルタインデックス0、4、5、8〜12のフィルタ係数群は星のフィルタ形状を用い、それ以外、フィルタインデックス1〜3、6、7、13〜15のフィルタ係数群はクロスのフィルタ形状を用いる。フィルタ係数インデックス=0、フィルタ係数インデックス=1のフィルタ係数群には、既に復号された同じフィルタ形状のフィルタ係数群がないため、固定値(上記では0)を用いて予測を行う。フィルタ係数インデックス=2の場合、同じクロスのフィルタ係数群がフィルタインデックス1で既に復号済みであるので、同じフィルタ形状のフィルタインデックス(1)を予測フィルタインデックスとして参照フィルタを参照し、フィルタ係数の予測を行う。フィルタ係数インデックス=4の場合、同じ星のフィルタ係数群がフィルタインデックス0で既に復号済みであるので、同じフィルタ形状のフィルタインデックス(0)を予測フィルタインデックスとする。
フィルタ係数格納部1715には、フィルタ係数復号部1714によって復号されたフィルタ係数群RegionFilterLuma[i][k]が格納される。また、フィルタ係数格納部1715には、フィルタ係数復号部1714から供給されるフィルタ形状alf_filter_mode[i]が格納される。ここでiは、フィルタ係数群を参照するためのインデックスである。
(領域インデックス算出部1722)
領域インデックス算出部1722は、ある座標(x, y)を有するフィルタ対象画素の領域インデックスridxを求める。領域インデックスの算出方法は、領域適応モードalf_region_adaptation_flagに応じて異なる。
領域インデックス算出部1722の構成は、領域インデックス算出部1522とほぼ同様であるが、特徴量モード算出部1526の代わりに、図示しない特徴量モード算出部1726を備える点が異なる。
特徴量モード算出部1726は、領域適応モードalf_region_adaptation_flagに応じて、特徴量モードalf_feature_modeを算出する。特徴量モードには、領域適応モードを割り当てる。すなわち、alf_feature_mode = alf_region_adaptation_flagにより、特徴量モードを算出する。図16は、実施形態2における領域適応モードalf_region_adaptation_flagと特徴量モードalf_feature_modeの関係を示す図である。領域適応モードalf_region_adaptation_flagは、符号化モードのシンタックスとして符号化される値であり、フィルタ形状alf_filter_mode、特徴量モードalf_feature_modeは、復号したシンタックスから導出される値である。図16(a)に示すように、領域適応モードalf_region_adaptation_flagがRAモード、BA1モード、BA2モードである場合に対し、特徴量モードalf_feature_modeに、RAモード、BA1モード、BA2モードを割り当てる。なお、使用する領域適応モードがRAモードとBA2モードだけの場合には、図16(b)に示すように割り当てる。すなわち、2つの領域適応モードで異なるフィルタ形状が用いられるように割り当てる。
(フィルタ係数割り付け部1723)
フィルタ係数割り付け部1723は、領域にフィルタ係数を割り当てる。まず、領域インデックス算出部1722で算出された領域インデックスridxと、領域構造復号部1712で復号されたフィルタインデックステーブルFilterIdxTbl[]から、フィルタインデックスfidxを、fix = FilterIdxTbl[ridx]により算出する。続いて、得られたフィルタインデックスfixに対応するフィルタ係数RegionFilterLuma[fidx]とフィルタ形状alf_filter_mode[fidx]をフィルタ係数格納部1715から読み出し、フィルタ部1524に出力する。
(動画像符号化装置4)
以下では、符号化対象画像を符号化することによって符号化データ#3を生成する動画像符号化装置4について、図26を参照して説明する。なお、以下では、既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
本実施形態に係る動画像符号化装置4は、実施形態1に係る動画像符号化装置2の備える適応フィルタ160に代えて、適応フィルタ180を備えている。本実施形態に係る動画像符号化装置4のその他の構成は、実施形態1に係る動画像符号化装置2の構成と同様であるので、説明を省略する。
(適応フィルタ180)
適応フィルタ180は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ180は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFP#3として可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFP#3を符号化データ#3の一部として符号化する。
図26は、適応フィルタ180の構成を示すブロック図である。図26に示すように、適応フィルタ180は、適応フィルタ情報設定部181、および、適応フィルタ部182を備えている。
適応フィルタ情報設定部181は、フィルタ形状設定部1811、領域構造設定部1812、領域適応モード設定部1813、フィルタ係数残差生成部1814、フィルタ係数格納部1815、及び、フィルタパラメータ生成部1816を備えている。
フィルタ形状設定部1811は、フィルタ係数のフィルタ形状を指定するためのシンタックスalf_filter_mode[i]を設定する。設定されたシンタックスalf_filter_modeは、フィルタパラメータ生成部1816に供給される。
領域構造設定部1812は、フィルタインデックステーブルFilterIndexTblを設定する。設定されたシンタックスFilterIndexTblは、フィルタパラメータ生成部1816に供給される。
領域適応モード設定部1813は、シンタックスalf_region_adaptation_flag を設定する。設定されたシンタックスalf_region_adaptation_flagは、適応フィルタ部182に供給され、さらにフィルタパラメータ生成部1816に供給される。
なお、alf_filter_mode[i]、FilterIndexTbl、及び、alf_region_adaptation_flag、は、符号化効率がより向上するように設定される。
(フィルタ係数残差生成部1814)
フィルタ係数残差生成部1814は、以下の式によってシンタックスalf_coeff_luma[i][k]を生成する。
alf_coeff_luma[i][k] = AlfRegionFilterCoeff[i][k] - pred[k]
predは予測値である。予測値predの計算方法はフィルタ係数復号部1714と同じであるので説明を省略する。
また、差分値の算出方法としては、以下の式を用いても良い。
alf_coeff_luma[i][k] = pred[k]- AlfRegionFilterCoeff[i][k]
この場合には、フィルタ係数復号部1714におけるフィルタ係数の復元は、予測値との差分で算出される。
生成されたフィルタ係数残差alf_coeff_luma[i][k]はフィルタパラメータ生成部1816に供給される。
フィルタ係数格納部1815には、後述するフィルタ係数導出部1823から供給されるフィルタ係数群AlfRegionFilterCoeff[i][k]とフィルタ形状alf_filter_mode[i]が格納される。
フィルタパラメータ生成部1816は、シンタックスalf_filter_mode[i]とalf_region_adaptation_flag、フィルタインデックスFilterIndexTbl[ridx]、および、alf_coeff_luma[i][k]からフィルタパラメータFP#3を生成する。フィルタパラメータ生成部1816は、i=0からAlfNumFilters-1までのフィルタインデックスで示される各フィルタ係数群(特性値分類領域)に対するフィルタ形状alf_filter_mode[i]を符号化することによって行われる。生成されたフィルタパラメータFP#3は、可変長符号符号化部22に供給される。
一方で、適応フィルタ部182は、領域インデックス算出部1722、フィルタ係数導出部1823、及びフィルタ部1524を備えている。領域インデックス算出部1722、フィルタ部1524については、既に述べたため、ここでは説明を省略する。
フィルタ係数導出部1823は、対象特性値分類領域におけるフィルタ済復号画像P_FLと符号化対象画像との誤差がより小さくなるようなフィルタ係数RegionFilterLuma[i][j]を導出する。導出されたフィルタ係数RegionFilterLuma[i][j]は、フィルタ部1524に供給されると共に、フィルタ係数格納部1815に格納される。
フィルタ係数導出部1823によるフィルタ係数群RegionFilterLuma[i][k]の導出処理は、実施形態1におけるフィルタ係数導出部1623と同様であるので、ここでは説明を省略する。
以上の構成によって、各部分領域に適用されるフィルタ係数群に応じてフィルタ形状を変更することができる。領域の特性として、主要なエッジ(特定方向への強いエッジもしくは特定方向への多くのエッジ)が存在する場合には、特に適応フィルタの効果が大きい。領域の特性として斜めエッジである場合には、斜め形状のフィルタ形状が有効であり、領域の特性として水平エッジ及び垂直エッジである場合には、水平垂直形状のフィルタ形状が有効である、というように、画像の特性に応じて適したフィルタ形状が異なる。そのため、領域毎に適したフィルタ形状を用いることができる本実施形態の構成では、高い効果の適応フィルタを適用することができる。
〔実施形態3〕
以下では、本発明の第3の実施形態について、特に図9、図10、図16、図20、図27、図28を参照して説明する。なお、以下では、実施形態1、実施形態2において既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。第3の実施形態では、領域適応モードに応じてフィルタ形状を設定することが特徴である。
(符号化データ#5)
本実施形態に係る動画像符号化装置6及び動画像復号装置5の詳細な説明に先立って、動画像符号化装置6によって生成され、動画像復号装置5によって復号される符号化データ#5のデータ構造について説明を行う。
符号化データ#5のデータ構造は、実施形態1に係る符号化データ#1のデータ構造と略同じであるが、フィルタパラメータFPの構成が異なる。
<フィルタパラメータFP#5>
図20は、本実施形態に係るフィルタパラメータFPのシンタックステーブルの一例である。図に示すように、フィルタパラメータFP#5には、adaptive_loop_filter_flag、alf_region_adaptation_flag、alf_num_filters_minus1、alf_region_idx[]、alf_pred_method、alf_min_kstart_minus1、alf_golomb_index_bit[i]、alf_coeff_luma[i][j]が含まれている。実施形態1、2とは異なり、フィルタ形状モードalf_filter_modeを含まない。
adaptive_loop_filter_flagは、適応フィルタ190による適応的フィルタ処理のオンオフを指定するフラグである。
alf_num_filters_minus1は本実施形態に係る適応フィルタで用いるフィルタ数AlfNumFiltersを示すシンタックスであり、AlfNumFilters = alf_num_filters_minus1 + 1により求めることができる。alf_region_adaptation_flagは、領域適応モードを示すシンタックスである。本実施形態では、alf_region_adaptation_flag=0、1、2は各々、RAモード、BA2モード、BA1モードに対応する。alf_region_idx[i] (1≦i<AlfNumRegions)は、各部分領域に対するフィルタインデックスを指定するシンタックスである。
(動画像復号装置5)
本実施形態に係る動画像復号装置5は、実施形態1に係る動画像復号装置1の備える適応フィルタ150に代えて、適応フィルタ190を備えている。本実施形態に係る動画像復号装置のその他の構成は、実施形態1に係る動画像復号装置1の構成と同様であるので、説明を省略する。
(適応フィルタ190)
図27は、適応フィルタ190のブロック図である。適応フィルタ190は、適応フィルタ情報復号部191、適応フィルタ192を備えている。適応フィルタ情報復号部191は、領域構造復号部1512、領域適応モード・フィルタ形状復号部1913、フィルタ係数復号部1514、フィルタ係数格納部1515を備えており、適応フィルタ部192は、領域インデックス算出部1722、フィルタ係数割り付け部1523、フィルタ部1524を備えている。
領域構造復号部1512、フィルタ係数復号部1514、フィルタ係数格納部1515フィルタ係数割り付け部1523、フィルタ部1524は既に述べたため、説明を省略する。
領域インデックス算出部1722は、図16を用いて既に述べたように、領域適応モードalf_region_adaptation_flagに応じて、特徴量モードalf_feature_modeを算出する。
領域適応モード・フィルタ形状復号部1913は、特性値算出方法とフィルタ形状が対応するように、フィルタ形状を復号する手段であり、シンタックスalf_region_adaptation_flagを復号する。復号されたシンタックスalf_region_adaptation_flagは、領域インデックス算出部1522に供給される。領域適応モード・フィルタ形状復号部1913はまた、領域適応モードalf_region_adaptation_flagを用いて、次に説明するようにフィルタ形状を選択する。
図9は、本実施形態の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせを示す図である。本実施形態では、第1の実施形態と同様、領域適応モードalf_region_adaptation_flagが特徴空間分割の場合(BA2モード及びBA1モード)では、フィルタ形状の方向性と、特性値算出方法の方向性が一致するように、フィルタ形状を選択する。ここでは、領域適応モードが斜め方向の場合には斜め形状、領域適応モードが水平垂直方向の場合には水平垂直形状を対応させる。具体的には、図9(a)、図9(b)に示すように領域適応モードが斜め方向の特性値算出方法であるBA2モードの場合には斜め形状のフィルタ形状である星、領域適応モードが水平垂直方向の特性値算出方法であるBA1モードの場合には水平垂直形状のフィルタ形状であるクロスとなるように、フィルタ形状を割り当てる。ここでは、領域適応モードがRAモードの場合には、フィルタ形状には水平垂直形状のクロスを用いる。
実施形態1では、領域インデックス算出部1522において、フィルタ形状から特性値算出方法を選択し、実施形態3では、適応モード・フィルタ形状復号部1913においてフィルタ形状から特性値算出方法を選択しているが、手段の構成および配置はこれに限らない。すなわち、実施形態1では、フィルタ形状から特性値算出方法を選択する手段(特徴量モード算出部1526)を、領域インデックス算出部1522の外部、例えば、フィルタ形状復号部1511や、領域適応モード復号部1513に配置しても良い。同様に、実施形態3においても、フィルタ形状から特性値算出方法を選択する手段を、適応モード・フィルタ形状復号部1913の外部、例えば、領域インデックス算出部1722に配置しても良い。
図10は、本実施形態の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせを示す別の例である。別の例では、領域適応モードとして1つの座標空間分割と1つの特徴空間分割を用いる。図10(a)、図10(b)に示すように、領域適応モードが座標空間分割であるRAモードである場合には、水平垂直形状のフィルタ形状であるクロス、領域適応モードが特徴空間分割であるBAモードである場合には、斜め形状のフィルタ形状である星を用いる。この場合も、フィルタ形状の方向性と、特性値算出方法の方向性が一致すると好適である。この図では、領域適応モードが特徴空間分割であるである場合には、斜め方向の特性値算出方法であるBA2モードを用いるので斜め形状のフィルタ形状である星を割り当てている。また、2つの領域適応モードを用いる場合には、各々の領域適応モードに対応するフィルタ形状は異なるものとすることが好適である。なお、図10とは逆に、領域適応モードが座標空間分割であるRAモードである場合に斜め形状のフィルタ形状、領域適応モードが特徴空間分割であるBAモードである場合には、水平垂直形状のフィルタ形状を用いることも可能である。
(動画像符号化装置6)
以下では、符号化対象画像を符号化することによって符号化データ#5を生成する動画像符号化装置6について、図28を参照して説明する。なお、以下では、既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
本実施形態に係る動画像符号化装置6は、実施形態1に係る動画像符号化装置2の備える適応フィルタ160に代えて、適応フィルタ200を備えている。本実施形態に係る動画像復号装置6のその他の構成は、実施形態1に係る動画像符号化装置2の構成と同様であるので、説明を省略する。
適応フィルタ200は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ200は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFP#5として可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFP#5を符号化データ#5の一部として符号化する。
図28は、適応フィルタ200の構成を示すブロック図である。図28に示すように、適応フィルタ200は、適応フィルタ情報設定部201、および、適応フィルタ部202を備えている。
適応フィルタ情報設定部201は、領域構造設定部1612、領域適応モード・フィルタ形状設定部2013、フィルタ係数残差生成部1614、フィルタ係数格納部1615、及び、フィルタパラメータ生成部2016を備えている。
領域構造設定部1612は、フィルタインデックステーブルFilterIndexTblを設定し、フィルタパラメータ生成部2016に出力される。
領域適応モード・フィルタ形状設定部2013は、シンタックスalf_region_adaptation_flag とフィルタ形状alf_filter_modeを設定する。設定されたシンタックスalf_region_adaptation_flagは、適応フィルタ部2022に供給され、alf_region_adaptation_flagとalf_filter_modeはフィルタパラメータ生成部2016に出力される。
なお、FilterIndexTbl、及び、alf_region_adaptation_flag、は、符号化効率がより向上するように設定される。
フィルタ係数残差生成部1614は、シンタックスalf_coeff_luma[i][k]を生成する。
生成されたフィルタ係数残差alf_coeff_luma[i][k]はフィルタパラメータ生成部2016に供給される。
フィルタパラメータ生成部2016は、シンタックスalf_region_adaptation_flag、フィルタインデックスFilterIndexTbl[ridx]、および、alf_coeff_luma[i][k]からフィルタパラメータFP#5を生成する。
生成されたフィルタパラメータFP#5は、可変長符号符号化部22に供給される。。
以上の構成によって、領域適応モードに応じてフィルタ形状を変更することができる。領域適応モードで定まる特性値算出方法に基づいて適したフィルタ形状を選択し、選択したフィルタ形状のフィルタ係数群を、部分領域に割り当て、割り当てた部分領域において選択されたフィルタ形状のフィルタ係数群を用いてフィルタ処理をすることによって、すなわち、水平垂直方向の方向性を有する特性値算出方法(BA1モード)を用いる場合には、水平垂直形状のフィルタ形状(本実施形態ではクロス)を用い、斜め方向の方向性を有する特性値算出方法(BA2モード)を用いる場合には、斜め形状(本実施形態では星)フィルタ形状を用いるように、特徴空間分割に用いる特性算出方法の方向性とフィルタ係数群のフィルタ形状の方向性を一致させることによって、領域のエッジ方向や勾配方向などの方向性に適したフィルタ処理を行うことができる。
また、領域適応モード各々に対して異なるフィルタ形状を選択可能な場合に比べ簡単な処理で高い適応フィルタの効果を得ることができる。領域適応モード各々に対して異なるフィルタ形状を選択可能な場合には、領域適応モードが3種類、フィルタ形状が2種類である場合、組み合わせの自由度は3×2=6種類となる。この、符号化装置では6種類のパラメータの各々に対して適応フィルタの効果を推定しフィルタ係数群を導出する必要が有り処理量が大きい。本実施形態のように領域適応モードに対して1種類のフィルタ形状に制限する場合には、3種類のパラメータとなるため、フィルタ係数群を導出する演算量を約半分に低減することができる。すなわち、本実施形態では、特徴空間分割に用いる特性値算出方法の方向性と、フィルタ形状の方向性を一致させることにより、複雑度の低減を実現できる。また、特性値算出方法が座標空間分割である場合に1つのフィルタ形状を割り当てることによって複雑度の低減を実現できる。
<実施形態3の変形例>
以下では、実施形態3の変形例について、図11、図21、図29、図30を参照して説明する。なお、以下では、実施形態1〜実施形態3において既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。第3の実施形態の変形例では、領域適応モードに応じてフィルタ形状を設定すると共に、領域特性モードに応じてフィルタ形状を割り当てる実施形態1の要素と、フィルタ係数群単位でフィルタ形状を復号する実施形態2の要素を取り入れている点が特徴である。
(符号化データ#7)
本実施形態に係る動画像符号化装置8及び動画像復号装置7の詳細な説明に先立って、動画像符号化装置8によって生成され、動画像復号装置7によって復号される符号化データ#7のデータ構造について説明を行う。
符号化データ#7のデータ構造は、実施形態1に係る符号化データ#1のデータ構造と略同じであるが、フィルタパラメータFPの構成が異なる。
<フィルタパラメータFP#7>
図21は、本実施形態に係るフィルタパラメータFP#7のシンタックステーブルの一例である。図に示すように、フィルタパラメータFP#7には、adaptive_loop_filter_flag、alf_region_adaptation_flag、alf_filter_mode[]、alf_num_filters_minus1、alf_region_idx[]、alf_pred_method、alf_min_kstart_minus1、alf_golomb_index_bit[i]、alf_coeff_luma[i][j]が含まれている。
adaptive_loop_filter_flagは、適応フィルタ210による適応的フィルタ処理のオンオフを指定するフラグである。
alf_num_filters_minus1は本実施形態に係る適応フィルタで用いるフィルタ数AlfNumFiltersを示すシンタックスであり、AlfNumFilters = alf_num_filters_minus1 + 1により求めることができる。alf_region_adaptation_flagは、領域適応モードを示すシンタックスである。本実施形態では、alf_region_adaptation_flag=0、1、2は各々、RAモード、BA2モード、BA1モードに対応する。alf_region_idx[i] (1≦i<AlfNumRegions)は、各部分領域に対するフィルタインデックスを指定するシンタックスである。
(動画像復号装置7)
本実施形態に係る動画像復号装置7は、実施形態1に係る動画像復号装置1の備える適応フィルタ150に代えて、適応フィルタ210を備えている。本実施形態に係る動画像復号装置のその他の構成は、実施形態1に係る動画像復号装置1の構成と同様であるので、説明を省略する。
(適応フィルタ210)
図29は、適応フィルタ210のブロック図である。適応フィルタ210は、適応フィルタ情報復号部211、適応フィルタ212を備えている。適応フィルタ情報復号部211は、領域構造復号部1712、領域適応モード・フィルタ形状復号部2113、フィルタ係数復号部1714、フィルタ係数格納部1715を備えており、適応フィルタ部212は、領域インデックス算出部1522、フィルタ係数割り付け部1723、フィルタ部1524を備えている。
領域構造復号部1712、フィルタ係数復号部1714、フィルタ係数格納部1715、フィルタ係数割り付け部1723、フィルタ部1524は既に述べたため、説明を省略する。
領域インデックス算出部1522は、図15を用いて既に述べたように、領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeに応じて、特徴量モードalf_feature_modeを算出する。
領域適応モード・フィルタ形状復号部2113は、シンタックスalf_region_adaptation_flagを復号する。復号されたシンタックスalf_region_adaptation_flagは、領域インデックス算出部1522に供給される。
図11は、本実施形態の変形例の領域適応モードalf_region_adaptation_flagとフィルタ形状alf_filter_modeの組み合わせを示す図である。本変形例では3つの領域適応モード(RAモード、BA1モード、BA2モード)を用い、領域適応モードに合わせてフィルタ形状の選択を行う。
領域適応モード・フィルタ形状復号部2113は、領域適応モードが座標空間分割であるRAモードである場合には、実施形態2と同様に、フィルタ係数群単位でフィルタ形状を復号する。逆に、領域適応モードが特徴空間分割であるBA1モード及びBA2モードである場合には、実施形態3と同様に、領域適応モードに応じてフィルタ形状を割り当てる。このとき、実施形態1と同様にフィルタ形状に合わせて、特徴量算出モードの選択が行われる。本実施形態では領域適応モードに応じて、フィルタ形状を割り当てる。
領域適応モード・フィルタ形状復号部2113で得られた領域適応モードalf_region_adaptation_flag、及び、フィルタ形状alf_filter_modeは、領域インデックス算出部1522に供給される。フィルタ形状alf_filter_modeは、さらに、フィルタ係数復号部1714に供給される。
(動画像符号化装置8)
以下では、符号化対象画像を符号化することによって符号化データ#7を生成する動画像符号化装置8について、図30を参照して説明する。なお、以下では、既に説明した部分については、同じ文言および同じ符号を用い、その説明を省略する。
本実施形態に係る動画像符号化装置8は、実施形態1に係る動画像符号化装置2の備える適応フィルタ160に代えて、適応フィルタ220を備えている。本実施形態に係る動画像符号化装置8のその他の構成は、実施形態1に係る動画像符号化装置2の構成と同様であるので、説明を省略する。
適応フィルタ220は、デブロック済復号画像P_DBに対して、適応的フィルタ処理を施すことによって、フィルタ済復号画像P_FLを生成する。生成されたフィルタ済復号画像P_FLは、バッファメモリ24に格納される。また、適応フィルタ220は、フィルタ処理に用いた各種の適応フィルタ情報をフィルタパラメータFP#7として可変長符号符号化部22に供給する。可変長符号符号化部22は、フィルタパラメータFP#7を符号化データ#7の一部として符号化する。
図30は、適応フィルタ220の構成を示すブロック図である。図30に示すように、適応フィルタ220は、適応フィルタ情報設定部221、および、適応フィルタ部222を備えている。
適応フィルタ情報設定部221は、領域構造設定部1812、領域適応モード・フィルタ形状設定部2213、フィルタ係数残差生成部1814、フィルタ係数格納部1815、及び、フィルタパラメータ生成部2216を備えている。
領域構造設定部1812は、フィルタインデックステーブルFilterIndexTblを設定し、フィルタパラメータ生成部2216に出力される。
領域適応モード・フィルタ形状設定部2213は、シンタックスalf_region_adaptation_flag とフィルタ形状alf_filter_mode[i]を設定する。設定されたシンタックスalf_region_adaptation_flagとalf_filter_mode[i]は、適応フィルタ部222に供給され、さらにフィルタパラメータ生成部2216に出力される。
なお、filter_mode[i]、FilterIndexTbl、及び、alf_region_adaptation_flag、は、符号化効率がより向上するように設定される。
フィルタ係数残差生成部1814は、シンタックスalf_coeff_luma[i][k]を生成する。
生成されたフィルタ係数残差alf_coeff_luma[i][k]はフィルタパラメータ生成部2216に供給される。
フィルタパラメータ生成部2216は、シンタックスalf_region_adaptation_flag、フィルタインデックスFilterIndexTbl[ridx]、および、alf_coeff_luma[i][k]からフィルタパラメータFP#7を生成する。ここで、alf_region_adaptation_flagが座標空間分割であるRAモードの場合には、i=0からAlfNumFilters-1までのフィルタインデックスで示される各フィルタ係数群(特性値分類領域)に対するフィルタ形状alf_filter_mode[i]を符号化する。alf_region_adaptation_flagが特徴空間分割であるBA1モード、BA2モードの場合にはalf_filter_modeの符号化は行わない。生成されたフィルタパラメータFP#7は、可変長符号符号化部22に供給される。
一方で、適応フィルタ部222は、領域インデックス算出部1522、フィルタ係数導出部1823、及びフィルタ部1524を備えている。フィルタ係数導出部1823、フィルタ部1524については、既に述べたため、ここでは説明を省略する。
領域インデックス算出部1522は、図15を用いて既に述べたように、領域適応モードalf_region_adaptation_flag、フィルタ形状alf_filter_modeに応じて、特徴量モードalf_feature_modeを算出する。
以上の構成によって、領域適応モードにより定まる特性値算出方法に応じてフィルタ形状を変更することができる。領域適応モード(特性値算出方法)が座標空間分割であるRAモードである場合には、部分領域単位でフィルタ形状を変更するため、領域の画面上の位置、座標に応じて異なる部分領域の特性に応じたフィルタ形状を用いることが可能であり、高い適応フィルタの効果を得ることができる。すなわち、特性値として方向性を有しない座標を用いる(座標空間分割)場合にも、領域の方向性などの特性にあわせたフィルタ処理を行うことができる。また、領域適応モードの特性値算出方法が特徴空間分割BAモード(BA1モード及びBA2モード)である場合には、部分領域の特性は、単位領域の画素値から対応する特性値算出方法(BA計算モード)に基づいて得られる特性値により算出され、その特性に適したフィルタ形状が存在する。そのため、特徴空間分割に用いる特性算出方法の方向性とフィルタ係数群のフィルタ形状の方向性を一致させることによって、領域のエッジ方向や勾配方向などの方向性に適したフィルタ処理を行うことができる。以上の構成では、特性値算出方法が座標空間分割であるか特徴空間分割であるかによらず高い効果の適応フィルタが適応可能である。なお、制約なく特性値算出方法とフィルタ形状を選択可能とする場合に比べると、特徴空間分割に用いる特性値算出方法の方向性と、フィルタ形状の方向性を一致させることにより、複雑度の低減を実現している。
1、3、5、7 動画像復号装置(復号装置)
16 インター予測画像生成部(予測画像生成手段)
17 イントラ予測画像生成部(予測画像生成手段)
2、4、6、8 動画像符号化装置(符号化装置)
25 イントラ予測画像生成部(予測画像生成手段)
26 インター予測画像生成部(予測画像生成手段)
150、160 適応フィルタ(画像フィルタ装置)
151、171、191、211 適応フィルタ情報復号部
1511、171 フィルタ形状復号部
1512、1712 領域構造復号部(領域構造復号手段)
1513、1713 領域適応モード復号部(領域適応モード復号手段)
1913、2113 領域適応モード・フィルタ形状復号部
1514、1714 フィルタ係数復号部(領域分類手段)
1515、1715 フィルタ係数格納部
152、172、192、212 適応フィルタ部
1522、1722 領域インデックス算出部(領域インデックス算出手段)
1523、1723 フィルタ係数割り付け部(フィルタ係数割り付け手段)
1524 フィルタ部(フィルタ手段)
1525 領域インデックス選択部
1526、1726 特徴量モード算出部
1550 RAモード領域インデックス算出部
1551 RA第1特性値算出部(特性値算出手段)
1552 RA第2特性値算出部(特性値算出手段)
1553 RA領域インデックス算出部1560 BA1モード領域インデックス算出部
1561 BA1第1特性値算出部(特性値算出手段)
1562 BA1第2特性値算出部(特性値算出手段)
1563 BA1領域インデックス算出部
1570 BA2モード領域インデックス算出部
1571 BA2第1特性値算出部(特性値算出手段)
1572 BA2第2特性値算出部(特性値算出手段)
1573 BA2領域インデックス算出部
161、181,201、221 適応フィルタ情報設定部
1611、1811 フィルタ形状設定部
1612、1812 領域構造設定部
1613、1813 領域適応モード設定部
2013、2213 領域適応モード・フィルタ形状設定部
1614、1814 フィルタ係数残差生成部
1615、1815 フィルタ係数格納部
1616、1816,2016、2216 フィルタパラメータ設定部
162、182、202、222 適応フィルタ部
1623、1823 フィルタ係数導出部

Claims (14)

  1. 複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、
    上記単位領域の属性から、1つ以上の特性値算出方法で得られる特性値を用いて部分領域に分類する領域インデックス算出手段を備える画像フィルタ装置であって、
    フィルタ形状に基づいて特性値算出方法を選択する手段、もしくは、特性値算出方法に基づいてフィルタ形状を選択する手段を備えることによって、
    特定の特性値算出方法を用いる場合には、該特性値算出方法に対応する形状のフィルタ形状を用いてフィルタ処理を行うことを特徴とする画像フィルタ装置。
  2. 上記フィルタ手段が用いるフィルタ形状は1つ以上の方向性を有し、上記領域インデックス算出方法は少なくとも1つの方向性を有する特性値算出方法を備え、所定の方向性を有する特性値算出方法を用いる場合には、該方向性に対応する方向性を有するフィルタ形状を用いてフィルタ処理を行うことを特徴とする請求項1に記載の画像フィルタ装置。
  3. フィルタ形状と領域インデックス算出方法の方向性は、斜め方向または水平垂直方向であり、斜め方向の領域インデックス算出方法を用いる場合には、斜め方向のフィルタ形状を適用し、水平垂直方向の領域インデックス算出方法を用いる場合には、水平垂直方向のフィルタ形状を適用することを特徴とする請求項2に記載の画像フィルタ装置。
  4. フィルタ形状を復号するフィルタ形状復号手段と、
    領域適応モードを復号する領域適応モード復号手段と、
    上記フィルタ形状復号手段が復号したフィルタ形状と、上記領域適応モードが復号した領域適応モードを用いて、領域インデックス算出方法を選択する特徴量モード算出手段をさらに備える請求項1から3の何れか1項に記載の画像フィルタ装置。
  5. 上記復号した領域適応モードが、上記単位領域の画素から算出するモードである場合において、復号したフィルタ形状の方向性に応じて、該方向性に対応する方向性を有する領域インデックス算出方法を用いることを特徴とする請求項4に記載の画像フィルタ装置。
  6. 復号したフィルタ形状が斜め形状である場合には、斜め方向に対応する領域インデックス算出方法を用い、復号したフィルタ形状が水平垂直形状である場合には、水平垂直方向に対応する領域インデックス算出方法を用いることを特徴とする請求項5に記載の画像フィルタ装置。
  7. 複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、
    各単位領域を分類するための領域インデックスを、該単位領域の属性から算出される多次元の特性値から算出する領域インデックス算出手段と、
    各領域インデックスと各フィルタインデックスとの対応関係を表すフィルタインデックステーブルを復号する領域構造復号手段と、
    処理対象の単位領域である対象単位領域の領域インデックスと前記フィルタインデックステーブルとから該対象単位領域についてのフィルタインデックスを求めると共に、該対象単位領域に対して、該フィルタインデックスにより指定されるフィルタ係数を割り付けるフィルタ係数割り付け手段と
    フィルタインデックス単位で、フィルタ形状を復号するフィルタ形状復号手段を備え、
    該フィルタ手段は、復号されたフィルタ形状を用いてフィルタ処理を行うことを特徴とする画像フィルタ装置。
  8. 各フィルタインデックスに対応するフィルタ係数群の各フィルタ係数を、符号化データを復号することにより得られたフィルタ係数残差に予測値を加算することによって復元するフィルタ係数復号手段を備え、
    同じフィルタ形状を有する既に復号されたフィルタ係数群のフィルタ係数を予測値として用いることを特徴とする請求項7に記載の画像フィルタ装置。
  9. 領域適応モードを復号する領域適応モード復号手段を備え、領域適応モードに対応した、フィルタ係数を用いることを特徴とする請求項1に記載の画像フィルタ装置。
  10. 領域適応モードは、少なくとも斜め方向もしくは水平垂直方向の領域インデックス算出方法に対応し、領域適応モードが斜め方向の領域インデックス算出方法を対応する場合には、斜め方向のフィルタ形状を適用し、水平垂直方向の領域インデックス算出方法に対応する場合には、水平垂直方向のフィルタ形状を適用することを特徴とする請求項9に記載の画像フィルタ装置。
  11. 領域適応モードは、少なくとも、領域の座標を用いて領域分類を行うモード(RAモード)と、領域の画素を用いて領域分類を行うモード(BAモード)を備え、
    該領域適応モードが領域の座標を用いるモードにおいては、フィルタインデックス単位で、フィルタ形状を復号し、該領域適応モードが領域の画素を用いるモードにおいては、フィルタインデックスのグループ単位で、フィルタ形状を復号することを特徴とする画像フィルタ装置。
  12. 符号化データを復号し、フィルタ後の復号画像を生成する復号装置であって、
    請求項1から11の何れか1項に記載の画像フィルタ装置と、
    各単位領域における予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、を備え、
    上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と、上記符号化データから復号された残差画像とを加算することによって得られた復号画像を入力画像とし、出力画像として上記フィルタ後の復号画像を生成するものである、
    ことを特徴とする復号装置。
  13. 符号化対象画像と予測画像との残差画像を符号化することによって符号化データを生成する符号化装置であって、
    請求項1から11の何れか1項に記載の画像フィルタ装置と、
    各単位領域における上記予測画像を、上記画像フィルタ装置が生成した出力画像を参照して生成する予測画像生成手段と、
    を備え、
    上記画像フィルタ装置は、上記予測画像生成手段によって生成された予測画像と上記残差画像とを加算することによって得られる復号画像を入力画像とし、出力画像を生成するものである、
    ことを特徴とする符号化装置。
  14. 複数の単位領域から構成される入力画像に作用し、各単位領域における出力画像の各画素値を、フィルタ形状により定まる参照画素と、該単位領域について割り付けられたフィルタ係数を用いて算出することによりフィルタ処理を行うフィルタ手段と、
    各単位領域を分類するための分類パラメータ(領域インデックス)を、該単位領域の属性から算出される多次元の特性値から算出する領域分類手段(領域インデックス算出手段)を備え、
    上記フィルタ手段は、2つ以上のフィルタ形状から1つのフィルタ形状を用いてフィルタ処理を行うフィルタ手段であり、上記領域インデックス算出手段は、2つ以上の領域インデックス算出方法を備え、
    特定の領域インデックス算出方法を用いる場合には、該領域インデックス方法に対応する特定のフィルタ形状を用いてフィルタ処理を行うことを特徴とする画像フィルタ装置
    によって参照される符号化データのデータ構造であって、
    上記フィルタ形状と、
    上記フィルタ係数と
    を含んでいることを特徴とする符号化データのデータ構造。
JP2011166994A 2011-07-29 2011-07-29 画像フィルタ装置、復号装置、符号化装置、および、データ構造 Withdrawn JP2014197722A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011166994A JP2014197722A (ja) 2011-07-29 2011-07-29 画像フィルタ装置、復号装置、符号化装置、および、データ構造
PCT/JP2012/069255 WO2013018737A1 (ja) 2011-07-29 2012-07-27 画像フィルタ装置、復号装置、符号化装置、および、データ構造

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011166994A JP2014197722A (ja) 2011-07-29 2011-07-29 画像フィルタ装置、復号装置、符号化装置、および、データ構造

Publications (1)

Publication Number Publication Date
JP2014197722A true JP2014197722A (ja) 2014-10-16

Family

ID=47629260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011166994A Withdrawn JP2014197722A (ja) 2011-07-29 2011-07-29 画像フィルタ装置、復号装置、符号化装置、および、データ構造

Country Status (2)

Country Link
JP (1) JP2014197722A (ja)
WO (1) WO2013018737A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195532A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置及び画像符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017195532A1 (ja) * 2016-05-13 2017-11-16 シャープ株式会社 画像復号装置及び画像符号化装置
CN109076219A (zh) * 2016-05-13 2018-12-21 夏普株式会社 图像解码装置以及图像编码装置

Also Published As

Publication number Publication date
WO2013018737A1 (ja) 2013-02-07

Similar Documents

Publication Publication Date Title
JP6916939B2 (ja) 復号装置、符号化装置、復号方法および符号化方法
KR102643115B1 (ko) 루프내 필터링을 이용한 영상 부호화/복호화 방법 및 장치
KR102443959B1 (ko) 적응적인 화소 분류 기준에 따른 인루프 필터링 방법
US9467713B2 (en) Apparatus for decoding a moving picture
US9609354B2 (en) Apparatus for decoding a moving picture
CN112534813B (zh) 视频处理系统中色度量化参数导出的方法以及装置
WO2019147813A1 (en) Adaptive loop filtering on deblocking filter results in video coding
JP2019036990A (ja) 符号化復号方法及び符号化復号装置
KR20180005119A (ko) 비디오 신호 처리 방법 및 장치
KR20180005120A (ko) 비디오 신호 처리 방법 및 장치
KR20200144075A (ko) 적응적 루프내 필터링 방법 및 장치
US9473789B2 (en) Apparatus for decoding a moving picture
KR20210134556A (ko) 인트라 예측 기반의 영상 부호화 또는 복호화 장치 및 방법
WO2012137890A1 (ja) 画像フィルタ装置、復号装置、符号化装置、および、データ構造
JP2014197722A (ja) 画像フィルタ装置、復号装置、符号化装置、および、データ構造
WO2024120386A1 (en) Methods and apparatus of sharing buffer resource for cross-component models
CN113905238B (zh) 对视频进行解码或编码的方法和计算机可读介质
CN114363636B (zh) 用于处理视频信号的方法和装置
KR20240072956A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
CN116888963A (zh) 广义样本偏移的自适应应用

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141007