• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 訂正 ただし書き3号明りょうでない記載の釈明 訂正する H04N
管理番号 1328115
審判番号 訂正2017-390019  
総通号数 211 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2017-07-28 
種別 訂正の審決 
審判請求日 2017-03-03 
確定日 2017-04-27 
訂正明細書 有 
事件の表示 特許第6070553号に関する訂正審判事件について、次のとおり審決する。 
結論 特許第6070553号の明細書、特許請求の範囲を本件審判請求書に添付された訂正明細書、特許請求の範囲のとおり、訂正後の請求項2、15、〔16-26〕について訂正することを認める。 
理由 第1 手続の経緯
本件特許第6070553号は、2012年5月28日(優先権主張 平成23年6月28日、平成23年11月1日、平成23年11月7日、平成24年1月19日 日本国)を国際出願日として出願としたものであって、平成29年1月13日にその特許権の設定登録がされ、その後、平成29年3月3日付けで本件審判が請求されたものである。

第2 請求の趣旨
本件審判請求の趣旨は、特許第6070553号の明細書、特許請求の範囲を本件審判請求書に添付した訂正明細書、特許請求の範囲のとおり、訂正後の請求項2、15、16-26について訂正することを認める、との審決を求めるものである。

第3 訂正事項
(1)請求項2に係る訂正
訂正事項1
請求項2において、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
との記載を、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
に訂正する。

訂正事項2
願書に添付した明細書の段落0008に記載された
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
との記載を、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
に訂正する。

(2)請求項15に係る訂正
訂正事項3
請求項15において、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
との記載を、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
に訂正する。

訂正事項4
願書に添付した明細書の段落0017に記載された
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
との記載を、
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
に訂正する。

訂正事項5
請求項15において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

(3)請求項16?26からなる一群の請求項に係る訂正
訂正事項6
請求項16において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項7
請求項17において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項8
請求項18において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項9
請求項19において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項10
請求項20において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項11
請求項21において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項12
請求項22において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項13
請求項23において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項14
請求項24において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項15
請求項25において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

訂正事項16
請求項26において、
「画像処理装置」との記載を、「画像処理方法」に訂正する。

なお、下線は、訂正箇所である。

第4 当審の判断
(1)請求項2に係る訂正
当審の判断を行うに際し、訂正事項1、2の訂正前の
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
において、説明のために、
「Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式1」
「Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式2」と称することとする。

また、訂正後の
「q2' = q2 + Clip_((-pv)-(pv))((p0 + q0 + q1 - 5*q2 + 2*q3 + 4)>>3);
= Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);
= Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3);」
において、説明のために、
「Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式2’」と称することとする。

(1-1)訂正の目的
訂正事項1、2は、いずれも式2を式2’に訂正するものであるので、まとめて検討する。

式2において、左括弧は1つであるのに対し、右括弧は2つであり、左括弧と右括弧の数が一致しない。
また、特許明細書の、段落0125のClip3関数の定義「Clip3(x,y,z)=x;zy z;otherwise」、及び、段落0200のClip関数に関する記載「ここで、Clip0-255は、0以下である場合、0に切り上げ、255以上である場合、255に切り下げるクリップ処理を表している。」に基づき、Clip関数である式1を、Clip3関数に変形すると、「Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」となるが、式2と一致しない。
したがって、式2は、明瞭でない。

しかし、式2を式2’に訂正することにより、左括弧と右括弧の数が一致することとなり、また、式1を変形した結果とも一致することとなるので、記載が明瞭になる。

したがって、訂正事項1、2は、明瞭でない記載の釈明を目的とするものである。

(1-2)新規事項の有無及び特許請求の範囲の拡張・変更について
上記(1-1)で検討したように、特許明細書の段落0125、0200の記載に基づき、式1を変形すると式2’となるので、式2’は、式1から特許明細書に記載した事項により導くことができる。
したがって、訂正事項1、2は、願書に添付した明細書、特許請求の範囲、図面に記載した事項の範囲内の訂正である。
また、請求項に記載した事項をより広い意味を表す表現や、別の意味を表す表現に入れ替える訂正ではなく、実質上特許請求の範囲を拡張し又は変更するものでない。

(1-3)小活
よって、訂正事項1、2は、特許法第126条第1項ただし書第三号にあげる事項を目的とし、かつ、同条第5項及び第6項の規定に適合する。

(2)請求項15に係る訂正
上記(1)と同様に、当審の判断を行うに際し、訂正事項3、4の訂正前の
「Clip_((q2 -pv)-(q2 +pv))((p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式1」
「Clip3(q2-pv, q2+pv, p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式2」と称することとする。

また、訂正後の
「Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」を「式2’」と称することとする。

(2-1)訂正の目的
(2-1-1)訂正事項3、4について
訂正事項3、4は、いずれも式2を式2’に訂正するものであるので、まとめて検討する。

式2において、左括弧は1つであるのに対し、右括弧は2つであり、左括弧と右括弧の数が一致しない。
また、特許明細書の、段落0125のClip3関数の定義「Clip3(x,y,z)=x;zy z;otherwise」、及び、段落0200のClip関数に関する記載「ここで、Clip0-255は、0以下である場合、0に切り上げ、255以上である場合、255に切り下げるクリップ処理を表している。」に基づき、Clip関数である式1を、Clip3関数に変形すると、「Clip3(q2-pv, q2+pv, (p0 + q0 + q1 + 3*q2 + 2*q3 + 4)>>3)」となるが、式2と一致しない。
したがって、式2は、明瞭でない。

しかし、式2を式2’に訂正することにより、左括弧と右括弧の数が一致することとなり、また、式1を変形した結果とも一致することとなるので、記載が明瞭になる。

したがって、訂正事項3、4は、明瞭でない記載の釈明を目的とするものである。

(2-1-2)訂正事項5について
請求項14に係る発明が、「画像処理方法」の発明であるのに対し、請求項14を引用する訂正前の請求項15に係る発明が、「画像処理装置」の発明であるので、訂正前の請求項15に係る発明が、「画像処理方法」の発明を引用する「画像処理装置」の発明となり、記載が明瞭でない。

しかし、「画像処理方法」と訂正することにより、訂正後の請求項15に係る発明が、「画像処理方法」の発明を引用する「画像処理方法」の発明となり、記載が明瞭になる。

したがって、訂正事項5は、明瞭でない記載の釈明を目的とするものである。

(2-2)新規事項の有無及び特許請求の範囲の拡張・変更について
(2-2-1)訂正事項3、4について
上記(2-1-1)で検討したように、特許明細書の段落0125、0200の記載に基づき、式1を変形すると式2’となるので、式2’は、式1から特許明細書に記載した事項により導くことができる。
したがって、訂正事項3、4は、願書に添付した明細書、特許請求の範囲、図面に記載した事項の範囲内の訂正である。
また、請求項に記載した事項をより広い意味を表す表現や、別の意味を表す表現に入れ替える訂正ではなく、実質上特許請求の範囲を拡張し又は変更するものでない。

(2-2-2)訂正事項5について
請求項14を引用する請求項15に係る発明において「画像処理装置」を「画像処理方法」とする訂正事項5は、願書に添付した明細書、特許請求の範囲、図面に記載した事項の範囲内の訂正である。
また、請求項に記載した事項をより広い意味を表す表現や、別の意味を表す表現に入れ替える訂正ではなく、実質上特許請求の範囲を拡張し又は変更するものでない。

(2-3)小活
よって、訂正事項3?5は、特許法第126条第1項ただし書第三号にあげる事項を目的とし、かつ、同条第5項及び第6項の規定に適合する。

(3)請求項16?26からなる一群の請求項に係る訂正
(3-1)一群の請求項ごとに訂正することについて
上記第3の「(3)請求項16?26からなる一群の請求項に係る訂正」は、二以上の請求項が記載された特許請求の範囲の訂正を請求するものであるので、この請求が、特許法第126条第3項に規定する要件を満たすものであるかを検討する。

訂正前の請求項16?26は、訂正前の請求項16の記載を訂正前の請求項17?26が、直接又は間接的に引用しているものであるから、一群の請求項である。そして、訂正事項6?16に係る訂正後の請求項16?26は、訂正後の請求項16の記載を訂正後の請求項17?26が、直接又は間接的に引用しているものであるから、一群の請求項である。
したがって、訂正特許請求の範囲の請求項16?26は、特許法第126条第3項に規定する一群の請求項である。

(3-2)訂正の目的
訂正事項6?16は、いずれも、請求項16?26からなる一群の請求項における「画像処理装置」を「画像処理方法」に訂正するものであるので、訂正の目的についてまとめて検討する。

請求項14に係る発明が、「画像処理方法」の発明であるのに対し、請求項14を直接的もしくは間接的に引用する訂正前の請求項16?26に係る発明が、いずれも「画像処理装置」の発明であるので、訂正前の請求項16?26に係る発明が、「画像処理方法」の発明を引用する「画像処理装置」の発明となり、記載が明瞭でない。

しかし、「画像処理方法」と訂正することにより、訂正後の請求項16?26に係る発明が、「画像処理方法」の発明を引用する「画像処理方法」の発明となり、記載が明瞭になる。

したがって、訂正事項6?16は、明瞭でない記載の釈明を目的とするものである。

(3-3)新規事項の有無及び特許請求の範囲の拡張・変更について
請求項14を直接的もしくは間接的に引用する請求項16?26に係る発明において「画像処理装置」を「画像処理方法」とする訂正事項6?16は、願書に添付した明細書、特許請求の範囲、図面に記載した事項の範囲内の訂正である。
また、請求項に記載した事項をより広い意味を表す表現や、別の意味を表す表現に入れ替える訂正ではなく、実質上特許請求の範囲を拡張し又は変更するものでない。

(3-4)小活
よって、訂正事項6?16は、特許法第126条第1項ただし書第三号にあげる事項を目的とし、かつ、同条第3項、第5項及び第6項の規定に適合する。

第5 むすび
以上、本件審判の請求に係る訂正は、特許法第126条第1項ただし書第三号にあげる事項を目的とし、かつ、同条第3項、第5項及び第6項の規定に適合する。
よって、結論のとおり審決する。
 
発明の名称 (54)【発明の名称】
画像処理装置、画像処理方法、プログラム、並びに記録媒体
【技術分野】
【0001】
この技術は、画像処理装置、画像処理方法、プログラム、並びに記録媒体に関する。詳しくは、デブロッキングフィルタ処理において、適切にフィルタリングをかけることができるようにする。
【背景技術】
【0002】
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)13818-2)などの方式に準拠した装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及している。また、MPEG2等に比べ、その符号化、復号により多くの演算量が要求されるものの、より高い符号化効率が実現されることができるH.264およびMPEG4 Part10(AVC(Advanced Video Coding))と呼ばれる方式も用いられるようになった。さらに、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の高解像度画像の圧縮や配信等を効率よく行うことができるように、次世代の画像符号化方式であるHEVC(High Efficiency Video Coding)の標準化作業が行われている。
【0003】
次世代の画像符号化方式であるHEVC(High Efficiency Video Coding)の標準化作業では、JCTVC-A119(下記非特許文献1参照)において、8×8画素以上のサイズのブロック毎にデブロックフィルタを適用することが提案されている。JCTVC-A119において提案された手法では、デブロックフィルタを適用する最小単位のブロックサイズが拡大されることで、1つのマクロブロック内で同一方向の複数のブロック境界についてのフィルタリング処理を並列的に実行することが可能となる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】K.Ugur(Nokia),K.R.Andersson(LM Ericsson),A.Fuldseth(Tandberg Telecom),“JCTVC-A119:Video coding technology proposal by Tandberg,Nokia,and Ericsson”,Documents of the first meeting of the Joint Collaborative Team on Video Coding(JCT-VC),Dresden,Germany,15-23 April,2010.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のデブロッキングフィルタ処理においては、適切にフィルタリングがなされていなかった。
【0006】
そこで、この技術では、デブロッキングフィルタ処理において、適切にフィルタリングがかかるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本技術の一側面の画像処理装置は、符号化ストリームを復号処理して、復号画像を生成する復号部と、第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用するフィルタ部と、前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする制御部とを備える。
【0008】
前記制御部は、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-pv)-(pv))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-pv)-(p0+pv))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-pv)-(pv))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-pv)-(p1+pv))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-pv)-(pv))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-pv)-(p2+pv))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-pv)-(pv))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-pv)-(q0+pv))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-pv)-(pv))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-pv)-(q1+pv))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2);
q2’=q2+Clip_((-pv)-(pv))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-pv)-(q2+pv))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
pvは前記第2フィルタのクリップ値である
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである。
前記制御部は、前記デブロッキングフィルタの強度を選択する際に用いられるパラメータの整数倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップすることができる。
前記制御部は、前記パラメータの±2倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップすることができる。
【0009】
前記制御部は、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-2*tc)-(2*tc))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-2*tc)-(p0+2*tc))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-2*tc,p0+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-2*tc)-(2*tc))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-2*tc)-(p1+2*tc))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-2*tc)-(2*tc))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-2*tc)-(p2+2*tc))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-2*tc)-(2*tc))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-2*tc)-(q0+2*tc))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-2*tc)-(2*tc))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-2*tc)-(q1+2*tc))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
q2’=q2_(i)+Clip_((-2*tc)-(2*tc))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-2*tc)-(q2+2*tc))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
tcは前記第1フィルタまたは前記第2フィルタの選択に用いられるパラメータである
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである。
前記フィルタ部は、前記復号画像の輝度成分の画素を対象として、前記第2フィルタを適用することができる。
前記第1フィルタは、前記ブロック境界の近傍に位置する4画素に対してフィルタを適用する弱フィルタであり、
前記第2フィルタは、前記ブロック境界の近傍に位置する6画素に対してフィルタを適用する強フィルタである。
【0010】
前記ブロック境界は、直交変換を行う単位であるトランスフォームユニットの境界または予測処理を行う単位であるプレディクションユニットの境界である。
前記復号部は、前記符号化ストリームを算術復号処理して量子化データを生成する算術復号部と、前記算術復号部により生成された前記量子化データを逆量子化して変換係数データを生成する逆量子化部と、前記逆量子化部により生成された前記変換係数データを逆直交変換する逆直交変換部とを含むことができる。
【0011】
前記復号部は、最大コーディングユニットを再帰的に分割することによって得られるコーディングユニットを処理単位として、前記符号化ストリームを復号処理する。
前記コーディングユニットは、前記最大コーディングユニットを4分木構造に従って再帰的に分割される。
【0012】
前記最大コーディングユニットは、前記4分木構造における最上位層のコーディングユニットである。
前記最大コーディングユニットは、シーケンス単位で固定サイズのブロックであり、
前記コーディングユニットは、可変サイズのブロックである。
【0016】
本技術の一側面の画像処理方法は、画像処理装置の復号部が、符号化ストリームを復号処理して、復号画像を生成し、フィルタ部が、第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用し、制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする。
【0017】
前記制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-pv)-(pv))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-pv)-(p0+pv))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-pv)-(pv))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-pv)-(p1+pv))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-pv)-(pv))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-pv)-(p2+pv))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-pv)-(pv))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-pv)-(q0+pv))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-pv)-(pv))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-pv)-(q1+pv))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2);
q2’=q2+Clip_((-pv)-(pv))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-pv)-(q2+pv))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
pvは前記第2フィルタのクリップ値である
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである。
前記制御部が、前記デブロッキングフィルタの強度を選択する際に用いられるパラメータの整数倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップすることができる。
前記制御部が、前記パラメータの±2倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップすることができる。
【0018】
前記制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-2*tc)-(2*tc))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-2*tc)-(p0+2*tc))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-2*tc,p0+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-2*tc)-(2*tc))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-2*tc)-(p1+2*tc))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-2*tc)-(2*tc))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-2*tc)-(p2+2*tc))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-2*tc)-(2*tc))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-2*tc)-(q0+2*tc))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-2*tc)-(2*tc))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-2*tc)-(q1+2*tc))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
q2’=q2_(i)+Clip_((-2*tc)-(2*tc))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-2*tc)-(q2+2*tc))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
tcは前記第1フィルタまたは前記第2フィルタの選択に用いられるパラメータである
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである。
前記フィルタ部が、前記復号画像の輝度成分の画素を対象として、前記第2フィルタを適用することができる。
前記第1フィルタは、前記ブロック境界の近傍に位置する4画素に対してフィルタを適用する弱フィルタであり、前記第2フィルタは、前記ブロック境界の近傍に位置する6画素に対してフィルタを適用する強フィルタである。
【0019】
前記ブロック境界は、直交変換を行う単位であるトランスフォームユニットの境界または予測処理を行う単位であるプレディクションユニットの境界である。
前記復号部において、算術復号部が、前記符号化ストリームを算術復号処理して量子化データを生成し、逆量子化部が、前記算術復号部により生成された前記量子化データを逆量子化して変換係数データを生成し、逆直交変換部が、前記逆量子化部により生成された前記変換係数データを逆直交変換することができる。
【0020】
前記復号部が、最大コーディングユニットを再帰的に分割することによって得られるコーディングユニットを処理単位として、前記符号化ストリームを復号処理することができる。
前記コーディングユニットは、前記最大コーディングユニットを4分木構造に従って再帰的に分割される。
【0021】
前記最大コーディングユニットは、前記4分木構造における最上位層のコーディングユニットである。
前記最大コーディングユニットは、シーケンス単位で固定サイズのブロックであり、
前記コーディングユニットは、可変サイズのブロックである。
【0022】
本技術の一側面のプログラムまたは記録媒体に記録されているプログラムは、符号化ストリームを復号処理して、復号画像を生成する復号部と、第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用するフィルタ部と、前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする制御部として、コンピュータを機能させる。
【0027】
本技術の一側面においては、復号部により、符号化ストリームが復号処理されて、復号画像が生成され、フィルタ部により、第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタが、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用される。そして、制御部により、前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値がクリップされる。
【発明の効果】
【0029】
この技術によれば、デブロッキングフィルタ処理において、適切にフィルタ処理をかけることができる。
【図面の簡単な説明】
【0030】
【図1】従来のデブロッキングフィルタ処理を説明するための図である。
【図2】画像符号化装置に適用した場合の構成を示す図である。
【図3】画像符号化動作を示すフローチャートである。
【図4】イントラ予測処理を示すフローチャートである。
【図5】インター予測処理を示すフローチャートである。
【図6】画像復号装置に適用した場合の構成を示す図である。
【図7】画像復号動作を示すフローチャートである。
【図8】デブロッキングフィルタ処理部の基本的な動作を説明するための図である。
【図9】デブロッキングフィルタ処理部の第1の実施の形態の構成を示す図である。
【図10】デブロッキングフィルタ処理部の第1の実施の形態の動作を示すフローチャートである。
【図11】フィルタ演算部の構成を示す図である。
【図12】フィルタ演算部の構成を示す図である。
【図13】フィルタ演算部の動作を説明するための図である。
【図14】フィルタ演算部の動作を説明するための図である。
【図15】第5の実施の形態の動作を示すフローチャートである。
【図16】従来のデブロッキングフィルタ処理を説明するための図である。
【図17】本技術(第6の実施の形態)を説明するための図である。
【図18】本技術(第6の実施の形態)を説明するための図である。
【図19】本技術のデブロッキングフィルタ処理に用いられる画素を明示する図である。
【図20】従来の強フィルタリングによって変化する画素値について説明する図である。
【図21】クリップ処理付き強フィルタリングによる効果について説明する図である。
【図22】デブロッキングフィルタ処理部の第6の実施の形態の構成を示す図である。
【図23】デブロッキングフィルタ処理部の第6の実施の形態の動作を示すフローチャートである。
【図24】デブロッキングフィルタ処理部の第7の実施の形態の構成を示す図である。
【図25】デブロッキングフィルタ処理部の第8の実施の形態の構成を示す図である。
【図26】デブロッキングフィルタ処理部の第8の実施の形態の動作を示すフローチャートである。
【図27】輝度信号のデブロッキング処理について説明するフローチャートである。
【図28】R3W2の場合の例を説明する図である。
【図29】多視点画像符号化方式の例を示す図である。
【図30】本技術を適用した多視点画像符号化装置の主な構成例を示す図である。
【図31】本技術を適用した多視点画像復号装置の主な構成例を示す図である。
【図32】階層画像符号化方式の例を示す図である。
【図33】本技術を適用した階層画像符号化装置の主な構成例を示す図である。
【図34】本技術を適用した階層画像復号装置の主な構成例を示す図である。
【図35】テレビジョン装置の概略的な構成の一例を示した図である。
【図36】携帯電話機の概略的な構成の一例を示した図である。
【図37】記録再生装置の概略的な構成の一例を示した図である。
【図38】撮像装置の概略的な構成の一例を示した図である。
【発明を実施するための形態】
【0031】
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.従来の技術
2.画像符号化装置に適用した場合の構成
3.画像符号化装置の動作
4.画像復号装置に適用した場合の構成
5.画像復号装置の動作
6.デブロッキングフィルタ処理部の基本的な動作
7.デブロッキングフィルタ処理部の第1の実施の形態
8.デブロッキングフィルタ処理部の第2の実施の形態
9.デブロッキングフィルタ処理部の第3の実施の形態
10.デブロッキングフィルタ処理部の第4の実施の形態
11.デブロッキングフィルタ処理部の第5の実施の形態
12.第6乃至第8の実施の形態の説明
13.デブロッキングフィルタ処理部の第6の実施の形態
14.デブロッキングフィルタ処理部の第7の実施の形態
15.デブロッキングフィルタ処理部の第8の実施の形態
16.第9の実施の形態
17.第10の実施の形態(多視点画像符号化・多視点画像復号装置)
18.第11の実施の形態(階層画像符号化・階層画像復号装置
19.応用例
【0032】
<1.従来の技術>
従来のデブロッキングフィルタ処理について図1を参照して説明する。
【0033】
図1の(A)に示すように、例えばLCU(Largest Coding Unit)単位でラスター順にデブロッキングフィルタ処理を行う場合、上側ブロックであるLCUuにおいて、ブロック間の境界BBから所定ライン分の画像データがラインメモリに記憶されて、この画像データと、その後に得られる下側ブロックであるLCUlの画像データを用いて垂直フィルタ処理が行われる。例えば、図1の(B)に示すように、ブロック間の境界BBからそれぞれ3ライン分を垂直フィルタ処理の処理範囲として、境界BBから4ライン分の画像データを用いてフィルタ演算を行う場合、上側ブロックであるLCUuの境界BBから4ラインの画像データがラインメモリに記憶される。なお、図では、デブロッキングフィルタの対象画素を二重丸で示しており、デブロッキングフィルタのフィルタ処理範囲の上側境界を「DBU」、下側境界を「DBL」として示している。
【0034】
このように、フィルタ演算に用いられる画像データをブロック間の境界BBから所定ライン分だけラインメモリに記憶しておくため、水平方向の画素数が増大するとラインメモリのメモリ容量が大きくなってしまっていた。
【0035】
<2.画像符号化装置に適用した場合の構成>
図2は、本技術の画像処理装置を画像符号化装置に適用した場合の構成を示している。画像符号化装置10は、アナログ/ディジタル変換部(A/D変換部)11、画面並び替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18を備えている。さらに、画像符号化装置10は、逆量子化部21、逆直交変換部22、加算部23、デブロッキングフィルタ処理部24、フレームメモリ25、セレクタ26、イントラ予測部31、動き予測・補償部32、予測画像・最適モード選択部33を備えている。
【0036】
A/D変換部11は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ12に出力する。
【0037】
画面並べ替えバッファ12は、A/D変換部11から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部13とイントラ予測部31と動き予測・補償部32に出力する。
【0038】
減算部13には、画面並べ替えバッファ12から出力された画像データと、後述する予測画像・最適モード選択部33で選択された予測画像データが供給される。減算部13は、画面並べ替えバッファ12から出力された画像データと予測画像・最適モード選択部33から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部14に出力する。
【0039】
直交変換部14は、減算部13から出力された予測誤差データに対して、離散コサイン変換(DCT;Discrete Cosine Transform)、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部14は、直交変換処理を行うことにより得られた変換係数データを量子化部15に出力する。
【0040】
量子化部15には、直交変換部14から出力された変換係数データと、後述するレート制御部18からレート制御信号が供給されている。量子化部15は変換係数データの量子化を行い、量子化データを可逆符号化部16と逆量子化部21に出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づき量子化パラメータ(量子化スケール)を切り替えて、量子化データのビットレートを変化させる。
【0041】
可逆符号化部16には、量子化部15から出力された量子化データと、後述するイントラ予測部31と動き予測・補償部32および予測画像・最適モード選択部33から予測モード情報が供給される。なお、予測モード情報には、イントラ予測またはインター予測に応じて、予測ブロックサイズを識別可能とするマクロブロックタイプ、予測モード、動きベクトル情報、参照ピクチャ情報等が含まれる。可逆符号化部16は、量子化データに対して例えば可変長符号化、または算術符号化等により可逆符号化処理を行い、符号化ストリームを生成して蓄積バッファ17に出力する。また、可逆符号化部16は、予測モード情報を可逆符号化して、符号化ストリームのヘッダ情報に付加する。
【0042】
蓄積バッファ17は、可逆符号化部16からの符号化ストリームを蓄積する。また、蓄積バッファ17は、蓄積した符号化ストリームを伝送路に応じた伝送速度で出力する。
【0043】
レート制御部18は、蓄積バッファ17の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部15に出力する。レート制御部18は、例えば蓄積バッファ17から空き容量を示す情報を取得する。レート制御部18は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部18は蓄積バッファ17の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
【0044】
逆量子化部21は、量子化部15から供給された量子化データの逆量子化処理を行う。逆量子化部21は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部22に出力する。
【0045】
逆直交変換部22は、逆量子化部21から供給された変換係数データの逆直交変換処理を行うことで得られたデータを加算部23に出力する。
【0046】
加算部23は、逆直交変換部22から供給されたデータと予測画像・最適モード選択部33から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ処理部24とフレームメモリ25に出力する。
【0047】
デブロッキングフィルタ処理部24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ処理部24は、加算部23から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の画像データをフレームメモリ25に出力する。また、デブロッキングフィルタ処理部24は、垂直方向のブロック間の境界検出によって検出された境界に応じて、境界の上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御する。このように、フィルタ演算に用いる画像範囲を制御することで、デブロッキングフィルタ処理部24は、画像データを記憶するラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようにする。なお、詳細は後述する。
【0048】
フレームメモリ25は、加算部23から供給された復号画像データとデブロッキングフィルタ処理部24から供給されたフィルタ処理後の復号画像データを参照画像の画像データとして保持する。
【0049】
セレクタ26は、イントラ予測を行うためにフレームメモリ25から読み出されたフィルタ処理前の参照画像データをイントラ予測部31に供給する。また、セレクタ26は、インター予測を行うためフレームメモリ25から読み出されたフィルタ処理後の参照画像データを動き予測・補償部32に供給する。
【0050】
イントラ予測部31は、画面並べ替えバッファ12から出力された符号化対象画像の画像データとフレームメモリ25から読み出したフィルタ処理前の参照画像データを用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。さらに、イントラ予測部31は、各イントラ予測モードに対してコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測モード、すなわち符号化効率が最良となるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部31は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードに関する予測モード情報、および最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。また、イントラ予測部31は、後述するようにコスト関数値の算出で用いる発生符号量を得るため、各イントラ予測モードのイントラ予測処理において、イントラ予測モードに関する予測モード情報を可逆符号化部16に出力する。
【0051】
動き予測・補償部32は、マクロブロックに対応する全ての予測ブロックサイズで動き予測・補償処理を行う。動き予測・補償部32は、画面並べ替えバッファ12から読み出された符号化対象画像における各予測ブロックサイズの画像毎に、フレームメモリ25から読み出されたフィルタ処理後の参照画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部32は、検出した動きベクトルに基づいて復号画像に動き補償処理を施して予測画像の生成を行う。また、動き予測・補償部32は、各予測ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となる予測ブロックサイズ、すなわち符号化効率が最良となる予測ブロックサイズを、最適インター予測モードとして選択する。動き予測・補償部32は、最適インター予測モードで生成された予測画像データと最適インター予測モードに関する予測モード情報、および最適インター予測モードでのコスト関数値を予測画像・最適モード選択部33に出力する。また、動き予測・補償部32は、コスト関数値の算出で用いる発生符号量を得るため、各予測ブロックサイズでのインター予測処理において、インター予測モードに関する予測モード情報を可逆符号化部16に出力する。なお、動き予測・補償部32は、インター予測モードとして、スキップドマクロブロックやダイレクトモードでの予測も行う。
【0052】
予測画像・最適モード選択部33は、イントラ予測部31から供給されたコスト関数値と動き予測・補償部32から供給されたコスト関数値を、マクロブロック単位で比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部33は、最適モードで生成した予測画像データを減算部13と加算部23に出力する。さらに、予測画像・最適モード選択部33は、最適モードの予測モード情報を可逆符号化部16に出力する。なお、予測画像・最適モード選択部33は、スライス単位でイントラ予測またはインター予測を行うようにしてもよい。
【0053】
なお、請求項における符号化部は、予測画像データを生成するイントラ予測部31や動き予測・補償部32、予測画像・最適モード選択部33、減算部13、直交変換部14、量子化部15、可逆符号化部16等で構成される。
【0054】
<3.画像符号化装置の動作>
図3は、画像符号化処理動作を示すフローチャートである。ステップST11において、A/D変換部11は入力された画像信号をA/D変換する。
【0055】
ステップST12において画面並べ替えバッファ12は、画面並べ替えを行う。画面並べ替えバッファ12は、A/D変換部11より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【0056】
ステップST13において減算部13は、予測誤差データの生成を行う。減算部13は、ステップST12で並べ替えられた画像の画像データと予測画像・最適モード選択部33で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。なお、予測画像・最適モード選択部33でイントラ予測部31から供給された予測画像と動き予測・補償部32からの予測画像の選択がスライス単位で行われるとき、イントラ予測部31から供給された予測画像が選択されたスライスでは、イントラ予測が行われる。また、動き予測・補償部32からの予測画像が選択されたスライスでは、インター予測が行われる。
【0057】
ステップST14において直交変換部14は、直交変換処理を行う。直交変換部14は、減算部13から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
【0058】
ステップST15において量子化部15は、量子化処理を行う。量子化部15は、変換係数データを量子化する。量子化に際しては、後述するステップST25の処理で説明されるように、レート制御が行われる。
【0059】
ステップST16において逆量子化部21は、逆量子化処理を行う。逆量子化部21は、量子化部15により量子化された変換係数データを量子化部15の特性に対応する特性で逆量子化する。
【0060】
ステップST17において逆直交変換部22は、逆直交変換処理を行う。逆直交変換部22は、逆量子化部21により逆量子化された変換係数データを直交変換部14の特性に対応する特性で逆直交変換する。
【0061】
ステップST18において加算部23は、復号画像データの生成を行う。加算部23は、予測画像・最適モード選択部33から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号画像データを生成する。
【0062】
ステップST19においてデブロッキングフィルタ処理部24は、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部24は、加算部23より出力された復号画像データをフィルタリングしてブロック歪みを除去する。また、デブロッキングフィルタ処理部24は、画像データを記憶するラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようする。具体的には、デブロッキングフィルタ処理部24は、垂直方向のブロック間の境界検出によって検出された境界に応じて、境界の上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御する。
【0063】
ステップST20においてフレームメモリ25は、復号画像データを記憶する。フレームメモリ25は、デブロッキングフィルタ処理前の復号画像データを記憶する。
【0064】
ステップST21においてイントラ予測部31と動き予測・補償部32は、それぞれ予測処理を行う。すなわち、イントラ予測部31は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部32は、インター予測モードの動き予測・補償処理を行う。この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部33に供給される。
【0065】
ステップST22において予測画像・最適モード選択部33は、予測画像データの選択を行う。予測画像・最適モード選択部33は、イントラ予測部31および動き予測・補償部32より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードに決定する。さらに、予測画像・最適モード選択部33は、決定した最適モードの予測画像データを選択して、減算部13と加算部23に供給する。この予測画像が、上述したように、ステップST13,ST18の演算に利用される。
【0066】
ステップST23において可逆符号化部16は、可逆符号化処理を行う。可逆符号化部16は、量子化部15より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。このとき、上述したステップST22において可逆符号化部16に入力された予測モード情報(例えばマクロブロックタイプや予測モード、動きベクトル情報、参照ピクチャ情報等を含む)なども可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ストリームのヘッダ情報に、予測モード情報の可逆符号化データが付加される。
【0067】
ステップST24において蓄積バッファ17は、蓄積処理を行い符号化ストリームを蓄積する。この蓄積バッファ17に蓄積された符号化ストリームは適宜読み出され、伝送路を介して復号側に伝送される。
【0068】
ステップST25においてレート制御部18は、レート制御を行う。レート制御部18は、蓄積バッファ17で符号化ストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ17で発生しないように、量子化部15の量子化動作のレートを制御する。
【0069】
次に、図3のステップST21における予測処理を説明する。イントラ予測部31はイントラ予測処理を行う。イントラ予測部31は処理対象のブロックの画像を、候補となる全てのイントラ予測モードでイントラ予測する。なお、イントラ予測において参照される参照画像の画像データは、デブロッキングフィルタ処理部24によりフィルタ処理が行われることなくフレームメモリ25に記憶されている参照画像データが用いられる。イントラ予測処理の詳細は後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、符号化効率が最良となる1つのイントラ予測モードが選択される。動き予測・補償部32はインター予測処理を行う。動き予測・補償部32は、フレームメモリ25に記憶されているフィルタ処理後の参照画像データを用いて、候補となる全てのインター予測モード(全ての予測ブロックサイズ)のインター予測処理を行う。インター予測処理の詳細は後述するが、この処理により、候補となる全てのインター予測モードで予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのインター予測モードの中から、符号化効率が最良となる1つのインター予測モードが選択される。
【0070】
図4のフローチャートを参照してイントラ予測処理について説明する。ステップST31でイントラ予測部31は、各予測モードのイントラ予測を行う。イントラ予測部31は、フレームメモリ25に記憶されているフィルタ処理前の復号画像データを用いて、イントラ予測モード毎に予測画像データを生成する。
【0071】
ステップST32でイントラ予測部31は、各予測モードに対するコスト関数値を算出する。例えば、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、次の式(1)で表されるコスト関数値を各予測モードに対して算出する。
【0072】
Cost(Mode∈Ω)=D+λ・R ・・・(1)
【0073】
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Dは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー(歪み)を示している。Rは、直交変換係数や予測モード情報等を含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
【0074】
また、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報などのヘッダビットまでを算出し、次の式(2)で表されるコスト関数値を各予測モードに対して算出する。
【0075】
Cost(Mode∈Ω)=D+QPtoQuant(QP)・Header_Bit ・・・(2)
【0076】
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Dは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー(歪み)を示している。Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
【0077】
ステップST33でイントラ予測部31は、最適イントラ予測モードを決定する。イントラ予測部31は、ステップST32において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つのイントラ予測モードを選択して最適イントラ予測モードに決定する。
【0078】
次に、図5のフローチャートを参照して、インター予測処理について説明する。ステップST41で動き予測・補償部32は、各予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、動き予測・補償部32は、各予測モードの処理対象のブロックについて、動きベクトルと参照画像をそれぞれ決定する。
【0079】
ステップST42で動き予測・補償部32は、各予測モードに対して動き補償を行う。動き予測・補償部32は、各予測モード(各予測ブロックサイズ)について、ステップST41で決定された動きベクトルに基づいて、参照画像に対する動き補償を行い、各予測モードについて予測画像データを生成する。
【0080】
ステップST43で動き予測・補償部32は、各予測モードに対して動きベクトル情報の生成を行う。動き予測・補償部32は、各予測モードで決定された動きベクトルについて、符号化ストリームに含める動きベクトル情報を生成する。例えば、メディアン予測等を用いて予測動きベクトルを決定して、動き予測により検出した動きベクトルと予測動きベクトルの差を示す動きベクトル情報を生成する。このようにして生成された動きベクトル情報は、次のステップST44におけるコスト関数値の算出にも用いられて、最終的に予測画像・最適モード選択部33で対応する予測画像が選択された場合には、予測モード情報に含まれて可逆符号化部16へ出力される。
【0081】
ステップST44で動き予測・補償部32は、各インター予測モードに対して、コスト関数値の算出を行う。動き予測・補償部32は、上述した式(1)または式(2)を用いてコスト関数値の算出を行う。
【0082】
ステップST45で動き予測・補償部32は、最適インター予測モードを決定する。動き予測・補償部32は、ステップST44において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である1つの予測モードを選択して最適インター予測モードに決定する。
【0083】
<4.画像復号装置に適用した場合の構成>
入力画像を符号化して生成された符号化ストリームは、所定の伝送路や記録媒体等を介して画像復号装置に供給されて復号される。
【0084】
図6は、画像復号装置の構成を示している。画像復号装置50は、蓄積バッファ51、可逆復号部52、逆量子化部53、逆直交変換部54、加算部55、デブロッキングフィルタ処理部56、画面並べ替えバッファ57、D/A変換部58を備えている。さらに、画像復号装置50は、フレームメモリ61、セレクタ62,65、イントラ予測部63、動き補償部64を備えている。
【0085】
蓄積バッファ51は、伝送されてきた符号化ストリームを蓄積する。可逆復号部52は、蓄積バッファ51より供給された符号化ストリームを、図2の可逆符号化部16の符号化方式に対応する方式で復号する。また、可逆復号部52は、符号化ストリームのヘッダ情報を復号して得られた予測モード情報をイントラ予測部63や動き補償部64に出力する。
【0086】
逆量子化部53は、可逆復号部52で復号された量子化データを、図2の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部54は、図2の直交変換部14の直交変換方式に対応する方式で逆量子化部53の出力を逆直交変換して加算部55に出力する。
【0087】
加算部55は、逆直交変換後のデータとセレクタ65から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ処理部56とフレームメモリ61に出力する。
【0088】
デブロッキングフィルタ処理部56は、加算部55から供給された復号画像データに対して、図2のデブロッキングフィルタ処理部24と同様にフィルタ処理を行い、ブロック歪みを除去して画面並べ替えバッファ57とフレームメモリ61に出力する。
【0089】
画面並べ替えバッファ57は、画像の並べ替えを行う。すなわち、図2の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、D/A変換部58に出力される。
【0090】
D/A変換部58は、画面並べ替えバッファ57から供給された画像データをD/A変換し、図示せぬディスプレイに出力することで画像を表示させる。
【0091】
フレームメモリ61は、加算部55から供給されたフィルタ処理前の復号画像データとデブロッキングフィルタ処理部56から供給されたフィルタ処理後の復号画像データとを、参照画像の画像データとして保持する。
【0092】
セレクタ62は、可逆復号部52から供給された予測モード情報に基づき、イントラ予測が行われた予測ブロックの復号が行われるとき、フレームメモリ61から読み出されたフィルタ処理前の参照画像データをイントラ予測部63に供給する。また、セレクタ26は、可逆復号部52から供給された予測モード情報に基づき、インター予測が行われた予測ブロックの復号が行われるとき、フレームメモリ61から読み出されたフィルタ処理後の参照画像データを動き補償部64に供給する。
【0093】
イントラ予測部63は、可逆復号部52から供給された予測モード情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ65に出力する。
【0094】
動き補償部64は、可逆復号部52から供給された予測モード情報に基づいて、動き補償を行い、予測画像データを生成してセレクタ65に出力する。すなわち、動き補償部64は、予測モード情報に含まれる動きベクトル情報と参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して動きベクトル情報に基づく動きベクトルで動き補償を行い、予測画像データを生成する。
【0095】
セレクタ65は、イントラ予測部63で生成された予測画像データを加算部55に供給する。また、セレクタ65は、動き補償部64で生成された予測画像データを加算部55に供給する。
【0096】
なお、請求項における復号部は、可逆復号部52、逆量子化部53、逆直交変換部54、加算部55、イントラ予測部63、動き補償部64等で構成される。
【0097】
<5.画像復号装置の動作>
次に、図7のフローチャートを参照して、画像復号装置50で行われる画像復号動作について説明する。
【0098】
ステップST51で蓄積バッファ51は、伝送されてきた符号化ストリームを蓄積する。ステップST52で可逆復号部52は、可逆復号処理を行う。可逆復号部52は、蓄積バッファ51から供給される符号化ストリームを復号する。すなわち、図2の可逆符号化部16により符号化された各ピクチャの量子化データが得られる。また、可逆復号部52、符号化ストリームのヘッダ情報に含まれている予測モード情報の可逆復号を行い、得られた予測モード情報をデブロッキングフィルタ処理部56やセレクタ62,65に供給する。さらに、可逆復号部52は、予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部63に出力する。また、可逆復号部52は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き補償部64に出力する。
【0099】
ステップST53において逆量子化部53は、逆量子化処理を行う。逆量子化部53は、可逆復号部52により復号された量子化データを、図2の量子化部15の特性に対応する特性で逆量子化する。
【0100】
ステップST54において逆直交変換部54は、逆直交変換処理を行う。逆直交変換部54は、逆量子化部53により逆量子化された変換係数データを、図2の直交変換部14の特性に対応する特性で逆直交変換する。
【0101】
ステップST55において加算部55は、復号画像データの生成を行う。加算部55は、逆直交変換処理を行うことにより得られたデータと、後述するステップST59で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
【0102】
ステップST56においてデブロッキングフィルタ処理部56は、デブロッキングフィルタ処理を行う。デブロッキングフィルタ処理部56は、加算部55より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
【0103】
ステップST57においてフレームメモリ61は、復号画像データの記憶処理を行う。
【0104】
ステップST58においてイントラ予測部63と動き補償部64は、予測処理を行う。イントラ予測部63と動き補償部64は、可逆復号部52から供給される予測モード情報に対応してそれぞれ予測処理を行う。
【0105】
すなわち、可逆復号部52からイントラ予測の予測モード情報が供給された場合、イントラ予測部63は、予測モード情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号部52からインター予測の予測モード情報が供給された場合、動き補償部64は、予測モード情報に基づき動き補償を行い、予測画像データを生成する。
【0106】
ステップST59において、セレクタ65は予測画像データの選択を行う。すなわち、セレクタ65は、イントラ予測部63から供給された予測画像と動き補償部64で生成された予測画像データを選択して加算部55に供給して、上述したように、ステップST55において逆直交変換部54の出力と加算させる。
【0107】
ステップST60において画面並べ替えバッファ57は、画面並べ替えを行う。すなわち画面並べ替えバッファ57は、図2の画像符号化装置10の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【0108】
ステップST61において、D/A変換部58は、画面並べ替えバッファ57からの画像データをD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【0109】
<6.デブロッキングフィルタ処理部の基本的な動作>
一般的に、H.264/AVCまたはHEVCなどの画像符号化方式におけるデブロックフィルタ処理は、フィルタリング要否判定を行い、フィルタリングが必要と判別されたブロック間の境界に対してフィルタリング処理を行う。
【0110】
ブロック間の境界は、水平方向にブロック間の境界検出を行って検出される境界、すなわち左右に隣接するブロック間の境界(以下「垂直境界」という)含む。また、ブロック間の境界は、垂直方向にブロック間の境界検出を行って検出される境界、すなわち上下に隣接するブロック間の境界(以下「ライン境界」という)を含む。
【0111】
図8は、境界を挟んで隣接する2つのブロックBKaおよびBKb内の画素の一例を示す説明図である。ここでは垂直境界を例にとって説明するが、ライン境界にも同等に適用可能である。図8の例において、ブロックBKa内の画素の画像データを、「pi,j」という記号で示されている。iは画素の列インデックス、jは画素の行のインデックスである。また、最小符号化処理単位は、8画素×8画素のブロック単位として、列インデックスiは、垂直境界に近い列から順に(右から左へ)0,1,2,3と付番されている。行インデックスjは、上から下へ0,1,2,…,7と付番されている。なお、ブロックBKaの左半分は図中で省略されている。一方、ブロックBKb内の画素の画像データは、「qk,j」という記号で示されている。kは画素の列インデックス、jは画素の行インデックスである。列インデックスkは、垂直境界に近い列から順に(左から右へ)0,1,2,3と付番されている。なお、ブロックBKbの右半分もまた図中で省略されている。
【0112】
境界がデブロックフィルタを適用すべきと判定された場合、例えば垂直境界については当該境界の左右の画素のフィルタリング処理が行われる。輝度成分については、画像データの値に応じてフィルタ強度が強(strong)フィルタと弱(weak)フィルタとの間で切り替えられる。
【0113】
・輝度成分のフィルタリング
強度選択では、式(3)乃至式(5)の判別条件を満たすか否かを1ラインごと(または1列毎)判定して、式(3)乃至式(5)の判別条件を全て満たす場合には強フィルタ、何れか1つでも判定条件が満たされない場合には弱フィルタが選択される。
【0114】
【数1】

【0115】
なお、式(3)における「d」は、式(6)に基づいて算出される値である。また、式(4)(5)における「β」と、式(5)における「tc」は、表1に示すように、量子化パラメータQに基づいて設定される値である。
【0116】
【数2】

【0117】
【表1】

【0118】
弱フィルタリングでは、式(7)乃至式(11)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0119】
【数3】

【0120】
強フィルタリングでは、式(12)乃至式(18)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0121】
【数4】

【0122】
また、色差成分のフィルタリングでは、式(19)乃至式(21)の演算を行うことで、フィルタ処理範囲の各画素の色差成分が算出される。
【0123】
【数5】

【0124】
なお、上述の式において「Clip1Y」「Clip1c」は、式(22),(23)の演算を示しており、式(22)(23)の「Clip3(x,y,z)」は式(24)で決定される値を示している。
【0125】
【数6】

【0126】
また、ライン境界については、垂直境界において水平方向に画素を用いてライン毎に行われている演算を、垂直方向に画素を用いて列毎に行いフィルタリング処理が行われる。
【0127】
デブロッキングフィルタ処理において、ラインメモリが必要とされる処理は垂直フィルタ処理であり、以下、垂直フィルタ処理においてラインメモリのメモリ容量の削減について詳細に説明する。なお、画像符号化装置10のデブロッキングフィルタ処理部24と画像復号装置50のデブロッキングフィルタ処理部56は、同一の構成および同一の動作とされており、デブロッキングフィルタ処理部24についてのみ説明を行う。
【0128】
<7.デブロッキングフィルタ処理部の第1の実施の形態>
図9は、デブロッキングフィルタ処理部の第1の実施の形態の構成を例示している。デブロッキングフィルタ処理部24は、ラインメモリ241、ライン境界検出部242、フィルタ強度判定部243、係数メモリ244、フィルタ演算部245、フィルタ制御部246を備えている。
【0129】
ラインメモリ241は、フィルタ制御部246からの制御信号に基づき、加算部23から供給された画像データを記憶する。また、記憶している画像データを読み出して、ライン境界検出部242、フィルタ強度判定部243、フィルタ演算部245に出力する。
【0130】
ライン境界検出部242は、垂直フィルタ処理を行うライン境界を検出する。ライン境界検出部242は、加算部23から供給された画像データやラインメモリ241から読み出された画像データを用いて上述のフィルタリング要否判定処理をブロック毎に行い、垂直フィルタ処理を行うライン境界を検出する。ライン境界検出部242は、検出結果をフィルタ強度判定部243に出力する。
【0131】
フィルタ強度判定部243は、上述のようにフィルタ強度の判定を行う。フィルタ強度判定部243は、垂直フィルタ処理を行うライン境界を挟んで隣接する2つのブロックの画像データを用いて、強フィルタリングまたは弱フィルタリングの何れの強度で垂直フィルタ処理を行うか判定して、判定結果をフィルタ演算部245に出力する。
【0132】
係数メモリ244は、デブロッキングフィルタ処理のフィルタ演算に用いるフィルタ係数を記憶している。
【0133】
フィルタ演算部245は、加算部23から供給された画像データやラインメモリ241に記憶されている画像データ、および係数メモリ244から読み出したフィルタ係数を用いて、フィルタ強度判定部243で判定されたフィルタ強度でフィルタ演算を行う。フィルタ演算部245は、垂直フィルタ処理がなされた画像データをフレームメモリ25に出力する。また、フィルタ演算部245は、フィルタ制御部246から供給されたブロック境界判定結果に基づき、ライン境界の上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御する。
【0134】
フィルタ制御部246は、ラインメモリ241を制御して、ブロック内の下端側の所定ライン数分の画像データを記憶させる。また、記憶されている画像データの読み出しを行う。また、フィルタ制御部246はライン境界判定部2461を備えている。ライン境界判定部2461は、ラスタースキャン方向に順次処理が行われるブロック単位例えばLCU間のライン境界であるか判定して判定結果をフィルタ演算部245に出力する。フィルタ演算部245は、ラインメモリのメモリ容量が削減されていても垂直フィルタ処理を行うことができるように制御する。
【0135】
図10は、デブロッキングフィルタ処理部の第1の実施の形態の動作を示している。ステップST71でデブロッキングフィルタ処理部24はライン境界の検出を行う。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行うライン境界を検出する。
【0136】
ステップST72でデブロッキングフィルタ処理部24は、フィルタ強度の判定を行う。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行うライン境界についての、強フィルタと弱フィルタの何れのフィルタ強度とするか判定する。
【0137】
ステップST73でデブロッキングフィルタ処理部24は、垂直フィルタ処理を行う境界がLCU間のライン境界であるか判別する。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行う境界がLCU間のライン境界である場合はステップST74に進み、境界がLCU間のライン境界でない場合はステップST75に進む。
【0138】
ステップST74でデブロッキングフィルタ処理部24は、範囲削減垂直フィルタ処理を行う。デブロッキングフィルタ処理部24は、上側に隣接するLCUに対してフィルタ演算に用いる画像範囲を削減して垂直フィルタ処理を行いステップST76に進む。
【0139】
ステップST75でデブロッキングフィルタ処理部24は、通常垂直フィルタ処理を行う。デブロッキングフィルタ処理部24は、フィルタ演算に用いる画像範囲を削減することなく予め設定されたタップおよび係数を用いて垂直フィルタ処理を行ってステップST76に進む。
【0140】
ステップST76でデブロッキングフィルタ処理部24は、境界の垂直フィルタ処理が完了したか判別する。デブロッキングフィルタ処理部24は、境界の各列の垂直フィルタ処理が完了していない場合にはステップST76に戻り、次の列の処理を行う。また、境界の各列の垂直フィルタ処理が完了した場合は、ステップST77に進む。
【0141】
ステップST77でデブロッキングフィルタ処理部24は、画面の最後まで処理が完了したか判別する。デブロッキングフィルタ処理部24は、画面の最後まで処理が行われていない場合にはステップST71に戻り、新たな境界を検出して垂直フィルタ処理を行う。また、デブロッキングフィルタ処理部24は、画面の最後まで処理が行われた場合、11画面の処理を終了する。
【0142】
[フィルタ演算部の構成と動作]
図11と図12はフィルタ演算部の構成を示している。フィルタ演算部245は、タップ変更垂直フィルタ処理を行う場合、画像データを記憶するライン数を削減しても、垂直フィルタ処理を行うことができるように、タップの画像データの変更またはタップ数の変更を行う。なお、図11は、タップの画像データを変更して垂直フィルタ処理を行う場合のフィルタ演算部の構成を示している。また、図12は、タップ数を変更して垂直フィルタ処理を行う場合のフィルタ演算部の構成を示している。
【0143】
図11において、フィルタ演算部245は、データ記憶部2451とデータ選択部2452、および演算処理部2453を備えている。
【0144】
データ記憶部2451は、ラインメモリのメモリ容量を削減した場合に、削減されているラインの位置のタップとして用いる画像データを記憶する。データ記憶部2451は、記憶している画像データを、削減されているラインの位置のタップの画像データとしてデータ選択部2452に出力する。
【0145】
データ選択部2452は、データ記憶部2451に記憶されている画像データと、ラインメモリに記憶されている画像データの選択を行い、選択した画像データを演算処理部2453に出力する。
【0146】
演算処理部2453は、加算部23とデータ選択部2452から供給された画像データと係数メモリ244から読み出したフィルタ係数を用いて演算を行い、垂直フィルタ処理後の画像データを生成してフレームメモリ25に出力する。
【0147】
図12において、フィルタ演算部245は、演算処理部2455と演算処理部2456を備えている。
【0148】
演算処理部2455は所定のタップ数で演算処理を行い、垂直フィルタ処理後の画像データをデータ選択部2457に出力する。
【0149】
演算処理部2456は、ラインメモリの削減に応じてタップ数を削減することで、削減されているラインの画像データを用いることなく演算処理を行い、垂直フィルタ処理後の画像データをデータ選択部2457に出力する。
【0150】
データ選択部2457は、境界がLCU間のライン境界であるか否かに応じて、画像データの選択を行う。データ選択部2457は、境界がLCU間のライン境界でない場合、演算処理部2455から出力された画像データを選択する。また、データ選択部2457は、境界がLCU間のライン境界である場合、演算処理部2456から出力された画像データを選択する。
【0151】
図13は、フィルタ演算部245の動作を説明するための図である。隣接する2つのブロックBKu,BKlの各画素の画像データを示している。ここで、垂直フィルタ処理のフィルタ処理範囲は、境界(ライン境界)BBからそれぞれ3画素の範囲として、境界BBからそれぞれ4画素をタップとしてフィルタ演算を行う。フィルタ強度判定によって強フィルタリングが判定された場合、上述の式(12)乃至式(18)の演算を演算処理部2453,2455で列毎に行う。また、フィルタ強度判定によって弱フィルタリングが判定された場合、上述の式(7)乃至式(10)の演算を演算処理部2453,2455で列毎に行う。
【0152】
LCU単位でラスター順にデブロッキングフィルタ処理を行う場合、垂直フィルタ処理が強フィルタリングと判定されて上述の式(12)乃至式(18)の演算を行うためには、図13の(A)に示すように境界BBの上側のブロックBKuにおいて、境界BBから4ライン分の画像データをラインメモリに記憶しておく必要がある。
【0153】
ここで、フィルタ演算部245は、境界BBの上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御することで、ラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようにする。例えば、図13の(B)に示すように境界BBから3ライン分の画像データを記憶して、この記憶された画像データを用いて垂直フィルタ処理を行う。すなわち、図11に示す演算処理部2453は、式(25)の演算を行う。また、図12に示す演算処理部2456は、式(26)の演算を行い、データ選択部2457は、演算処理部2456からの画像データを選択して出力する。なお、式(25),(26)において、iは画素の列インデックスを示しており、フィルタ処理を8×8画素のブロック単位で行う場合「i=0乃至7」となる。
【0154】
【数7】

【0155】
演算処理部2453は、上側のブロックBKuにおいて、フィルタ処理範囲の上端の画素を上方向に複写して用いる。すなわち、データ記憶部2451に記憶したフィルタ処理範囲の上端の画素の画像データp2を画像データp3として用いることで、式(25)の演算によってフィルタ処理後の画像データp2i’を算出する。
【0156】
演算処理部2456では、タップ数を削減して、タップ数の削減に対応して変更されている係数を用いることで、式(26)の演算によってフィルタ処理後の画像データp2i’を算出する。この場合の係数の変更は、タップ範囲の上端の画素の複写に対応させて、画像データp2の係数を「3→5」に変更する。
【0157】
なお、境界BBがLCU間のライン境界でない場合は、ラインメモリ241の画像データを用いる必要がないことから、フィルタ演算に用いる画像範囲を狭くすることなく従来と同様なフィルタ演算を行う。すなわち、図11に示す演算処理部2453は、従来と同様なフィルタ演算を行う。また、図12に示す演算処理部2455は、従来と同様なフィルタ演算を行い、データ選択部2457は、演算処理部2455からの画像データを選択して出力する。
【0158】
このように、境界がラスタースキャン方向に順次処理が行われるブロックのライン境界である場合、フィルタ演算に用いる画像範囲を制御することで、ラインメモリのメモリ容量を削減しても、削減前と同様にデブロッキングフィルタ処理を行うことができる。また、例えば4K×2Kの画像における1ラインは、2K×1Kの画像の2ライン分に相当する。また、H.264/AVC方式では、4ライン分のラインメモリを備えており、4K×2Kの画像における1ライン分のメモリ容量は、H.264/AVC方式の50%のメモリ容量に相当する。すなわち、高解像度画像においてメモリ容量の削減効果が高くなる。
【0159】
<8.デブロッキングフィルタ処理部の第2の実施の形態>
デブロッキングフィルタ処理部の第2の実施の形態は、第1の実施の形態に対して、演算処理部2453と演算処理部2456の動作が相違する。
【0160】
強フィルタリングにおいて境界BBがLCU間のライン境界である場合、上述の式(12)乃至式(18)の演算を行う場合には、図13の(A)に示すように境界BBの上側のブロックBKuにおいて、境界BBから4ライン分の画像データをラインメモリに記憶しておく必要がある。
【0161】
ここで、フィルタ演算部245は、境界BBの上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御することで、ラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようにする。例えば、図13の(B)に示すように境界BBから3ライン分の画像データを記憶して、この記憶された画像データを用いて垂直フィルタ処理を行う。すなわち、図11に示す演算処理部2453は、式(27)の演算を行う。また、図12に示す演算処理部2456は、式(28)の演算を行い、データ選択部2457は、演算処理部2456からの画像データを選択して出力する。なお、式(27),(28)において、iは画素の列インデックスを示しており、フィルタ処理を8×8画素のブロック単位で行う場合「i=0乃至7」となる。
【0162】
【数8】

【0163】
演算処理部2453は、上側のブロックBKuにおいて、フィルタ処理範囲の上端の画素を基準としてミラー複写を行う。すなわち、データ記憶部2451に画像データp1を記憶して、この画像データp1をフィルタ処理範囲の上端の画素を基準としてミラー複写して画像データp3として用いることで、式(27)の演算によってフィルタ処理後の画像データp2i’を算出する。
【0164】
演算処理部2456では、タップ数を削減して、タップ数の削減に対応して変更されている係数を用いることで、式(28)の演算によってフィルタ処理後の画像データp2i’を算出する。この場合の係数の変更は、フィルタ処理範囲の上端の画素を基準としたミラー複写に対応させて、画像データp1の係数を「2→3」に変更する。
【0165】
なお、境界BBがLCU間のライン境界でない場合は、ラインメモリ241の画像データを用いる必要がないことから、フィルタ演算に用いる画像範囲を狭くすることなく従来と同様なフィルタ演算を行う。すなわち、図11に示す演算処理部2453は、従来と同様なフィルタ演算を行う。また、図12に示す演算処理部2455は、従来と同様なフィルタ演算を行い、データ選択部2457は、演算処理部2455からの画像データを選択して出力する。
【0166】
このように、境界がラスタースキャン方向に順次処理が行われるブロックのライン境界である場合、フィルタ演算に用いる画像範囲を制御することで、第1の実施の形態と同様に、メモリ容量を削減してもデブロッキングフィルタ処理を行うことができる。
【0167】
<9.デブロッキングフィルタ処理部の第3の実施の形態>
デブロッキングフィルタ処理部の第3の実施の形態は、第1,第2の実施の形態に対して、演算処理部2453と演算処理部2456の動作が相違する。
【0168】
図14は、フィルタ演算部245の動作を説明するための図である。隣接する2つのブロックBKu,BKlの各画素の画像データを示している。ここで、垂直フィルタ処理のフィルタ処理範囲は、境界(ライン境界)BBからそれぞれ3画素の範囲として、境界BBからそれぞれ4画素をタップとしてフィルタ演算を行う。フィルタ強度判定によって強フィルタリングが判定された場合、上述の式(12)乃至式(18)の演算を演算処理部2453,2455で列毎に行う。また、フィルタ強度判定によって弱フィルタリングが判定された場合、上述の式(7)乃至式(10)の演算を演算処理部2453,2455で列毎に行う。
【0169】
LCU単位でラスター順にデブロッキングフィルタ処理を行う場合、垂直フィルタ処理が強フィルタリングと判定されて上述の式(12)乃至式(18)の演算を行うためには、図14の(A)に示すように境界BBの上側のブロックBKuにおいて、境界BBから4ライン分の画像データをラインメモリに記憶しておく必要がある。
【0170】
ここで、フィルタ演算部245は、フィルタ処理範囲と境界BBの上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御することで、ラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようにする。例えば、図14の(B)に示すように、上側のブロックBKuにおけるフィルタ処理範囲を境界BBから2画素の範囲として、境界BBから2ライン分の画像データを記憶する。さらに、この記憶された画像データを用いて、第1の実施の形態と同様に垂直フィルタ処理を行う。すなわち、図11に示す演算処理部2453は、式(29)(30)の演算を行う。また、図12に示す演算処理部2456は、式(31)(32)の演算を行い、データ選択部2457は、演算処理部2456からの画像データを選択して出力する。なお、式(29)乃至(32)において、iは画素の列インデックスを示しており、フィルタ処理を8×8画素のブロック単位で行う場合「i=0乃至7」となる。
【0171】
【数9】

【0172】
演算処理部2453は、上側のブロックBKuにおいて、フィルタ処理範囲の上端の画素を上方向に複写して用いる。すなわち、データ記憶部2451に記憶したフィルタ処理範囲の上端の画素の画像データp1を画像データp2として用いることで、式(29)(30)の演算によってフィルタ処理後の画像データp1i’,p0i’を算出する。
【0173】
演算処理部2456では、タップ数を削減して、タップ数の削減に対応して変更されている係数を用いることで、式(31)(32)の演算によってフィルタ処理後の画像データp1i’,p0i’を算出する。この場合の係数の変更は、タップ範囲の上端の画素の複写に対応させて、式(31)における画像データp1の係数を「1→2」、式(32)における画像データp1の係数を「2→3」に変更する。
【0174】
なお、境界BBがLCUの境界でない場合は、ラインメモリ241の画像データを用いる必要がないことから、フィルタ演算に用いる画像範囲を狭くすることなく従来と同様なフィルタ演算を行う。すなわち、図11に示す演算処理部2453は、従来と同様なフィルタ演算を行う。また、図12に示す演算処理部2455は、従来と同様なフィルタ演算を行い、データ選択部2457は、演算処理部2455からの画像データを選択して出力する。
【0175】
このように、境界がラスタースキャン方向に順次処理が行われるブロックのライン境界である場合、フィルタ処理範囲とフィルタ演算に用いる画像範囲を制御してメモリ容量を削減しても、削減前と同様にデブロッキングフィルタ処理を行うことができる。また、メモリ容量をより多く削減することが可能となる。
【0176】
<10.デブロッキングフィルタ処理部の第4の実施の形態>
デブロッキングフィルタ処理部の第4の実施の形態は、第3の実施の形態に対して、演算処理部2453と演算処理部2456の動作が相違する。
【0177】
強フィルタリングにおいて境界BBがLCU間のライン境界である場合、上述の式(12)乃至式(18)の演算を行う場合には、図14の(A)に示すように境界BBの上側のブロックBKuにおいて、境界BBから4ライン分の画像データをラインメモリに記憶しておく必要がある。
【0178】
ここで、フィルタ演算部245は、フィルタ処理範囲と境界BBの上側に位置するブロックにおけるフィルタ演算に用いる画像範囲を制御することで、ラインメモリのメモリ容量を削減しても、垂直フィルタ処理を行えるようにする。例えば、図14の(B)に示すように、上側のブロックBKuにおけるフィルタ処理範囲を境界BBから2画素の範囲として、境界BBから2ライン分の画像データを記憶する。さらに、この記憶された画像データを用いて、第2の実施の形態と同様に垂直フィルタ処理を行う。すなわち、図11に示す演算処理部2453は、式(33)(34)の演算を行う。また、図12に示す演算処理部2456は、式(35)(36)の演算を行い、データ選択部2457は、演算処理部2456からの画像データを選択して出力する。なお、式(33)乃至(36)において、iは画素の列インデックスを示しており、フィルタ処理を8×8画素のブロック単位で行う場合「i=0乃至7」となる。
【0179】
【数10】

【0180】
演算処理部2453は、上側のブロックBKuにおいて、フィルタ処理範囲の上端の画素を基準としてミラー複写を行う。すなわち、データ記憶部2451に画像データp0を記憶して、画像データp0をフィルタ処理範囲の上端の画素を基準としてミラー複写して画像データp2として用いることで、式(33)(34)の演算によって画像データp1i’,p0i’を算出する。
【0181】
演算処理部2456では、タップ数を削減して、タップ数の削減に対応して変更されている係数を用いることで、式(35)(36)の演算によってフィルタ処理後の画像データp1i’,p0i’を算出する。この場合の係数の変更は、フィルタ処理範囲の上端の画素を基準としたミラー複写に対応させて、式(35)における画像データp0の係数を「1→2」、式(36)における画像データp0の係数を「2→3」に変更する。
【0182】
なお、境界BBがLCU間のライン境界でない場合は、ラインメモリ241の画像データを用いる必要がないことから、フィルタ演算に用いる画像範囲を狭くすることなく従来と同様なフィルタ演算を行う。すなわち、図11に示す演算処理部2453は、従来と同様なフィルタ演算を行う。また、図12に示す演算処理部2455は、従来と同様なフィルタ演算を行い、データ選択部2457は、演算処理部2455からの画像データを選択して出力する。
【0183】
このように、境界がラスタースキャン方向に順次処理が行われるブロックのライン境界である場合、フィルタ処理範囲とフィルタ演算に用いる画像範囲を制御してメモリ容量を削減しても、削減前と同様にデブロッキングフィルタ処理を行うことができる。また、メモリ容量をより多く削減することが可能となる。
【0184】
<11.デブロッキングフィルタ処理部の第5の実施の形態>
上述のデブロッキングフィルタ処理部は、境界BBがLCU間のライン境界であるか否かに応じて、境界の上側に位置するブロックにおけるフィルタ演算に用いる画像範囲の制御やフィルタ処理範囲の制御を行うようにしている。次に、第5の実施の形態では、LCU間のライン境界のみ画像範囲の制御を行うモードと、境界BBがLCU間のライン境界であるか否かに係らず画像範囲の制御を行うモードを設けた場合を説明する。
【0185】
図15は、第5の実施の形態の動作を示すフローチャートである。ステップST81でデブロッキングフィルタ処理部24はライン境界の検出を行う。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行うライン境界を検出する。
【0186】
ステップST82でデブロッキングフィルタ処理部24は、フィルタ強度の判定を行う。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行うライン境界についての、強フィルタリングと弱フィルタリングの何れのフィルタ強度とするか判定する。
【0187】
ステップST83でデブロッキングフィルタ処理部24は、LCU間のライン境界のみ範囲削減垂直フィルタ処理、すなわち、フィルタ演算に用いる画像範囲を削減して垂直フィルタ処理を行うか判別する。デブロッキングフィルタ処理部24は、LCU間のライン境界だけでなく、LCUよりもサイズの小さいブロックのライン境界についても範囲削減垂直フィルタ処理を行う場合は、ステップST84に進む。また、デブロッキングフィルタ処理部24は、範囲削減垂直フィルタ処理をLCU間のライン境界だけ行う場合はステップST85に進む。
【0188】
デブロッキングフィルタ処理部24は、例えばフレーム単位で設定された量子化パラメータに基づき、範囲削減垂直フィルタ処理をLCU間のライン境界のみに対して行うか判別する。量子化パラメータが小さい場合には、量子化パラメータが大きい場合に比べて画質が良好である。したがって、デブロッキングフィルタ処理部24は、量子化パラメータが予め設定した閾値よりも大きい場合に、LCU間のライン境界のみに範囲削減垂直フィルタ処理を行い、LCUよりもサイズの小さいブロックのライン境界については通常垂直フィルタ処理を行うことで画質を向上させるモードと判定してステップST84に進む。また、デブロッキングフィルタ処理部24は、量子化パラメータが予め設定した閾値以下である場合は、LCU間のライン境界だけでなくLCUよりもサイズの小さいブロック間のライン境界についても範囲削減垂直フィルタ処理を行うことで制御を容易とするモードと判定してステップST85に進む。
【0189】
ステップST84でデブロッキングフィルタ処理部24は、垂直フィルタ処理を行う境界がLCU間のライン境界であるか判別する。デブロッキングフィルタ処理部24は、垂直フィルタ処理を行う境界がLCU間のライン境界である場合はステップST85に進み、境界がLCUよりもサイズの小さいブロックのライン境界の場合はステップST86に進む。
【0190】
ステップST85でデブロッキングフィルタ処理部24は、範囲削減垂直フィルタ処理を行う。デブロッキングフィルタ処理部24は、隣接する上側ブロックに対してフィルタ演算に用いる画像範囲を削減して垂直フィルタ処理を行いステップST87に進む。なお、範囲削減垂直フィルタ処理ではフィルタ対象範囲を削減してもよい。
【0191】
ステップST86でデブロッキングフィルタ処理部24は、通常垂直フィルタ処理を行う。デブロッキングフィルタ処理部24は、フィルタ演算に用いる画像範囲を削減することなく垂直フィルタ処理を行ってステップST87に進む。
【0192】
ステップST87でデブロッキングフィルタ処理部24は、境界の垂直フィルタ処理が完了したか判別する。デブロッキングフィルタ処理部24は、境界の各列の垂直フィルタ処理が完了していない場合にはステップST87に戻り、次の列の処理を行う。また、境界の各列の垂直フィルタ処理が完了した場合は、ステップST88に進む。
【0193】
ステップST88でデブロッキングフィルタ処理部24は、画面の最後まで処理が完了したか判別する。デブロッキングフィルタ処理部24は、画面の最後まで処理が行われていない場合にはステップST81に戻り、新たな境界を検出して垂直フィルタ処理を行う。また、デブロッキングフィルタ処理部24は、画面の最後まで処理が行われた場合、1画面の処理を終了する。
【0194】
このような処理を行えば、ラインメモリのメモリ容量を削減できるだけでなく、範囲削減垂直フィルタ処理をLCU間のライン境界だけでなく他のライン境界にも行えば、フィルタ処理の切り替えが必要なく制御が容易となる。また、範囲削減垂直フィルタ処理をLCU間のライン境界だけ行うようにすれば、良好な画質を得ることができる。
【0195】
<12.第6乃至第8の実施の形態の説明>
[従来の説明]
なお、上記説明においては、フィルタ演算に用いる画像範囲を狭くしたことにより、画像範囲に含まれなくなったタップの画像データとして、画像範囲内のタップの画像データを複写またはミラー複写して用いる例を説明した。ここで、本明細書における複写は、Paddingと同意である。
【0196】
このような本技術と同様に、LCUのライン境界のみにおいてPaddingを利用してフィルタ処理を行う方法が、従来、JCTVC-F053において提案されている。
【0197】
図16を参照して、HEVC方式における輝度信号の強(strong)フィルタのフィルタ処理と、Paddingを利用したフィルタ処理について説明する。
【0198】
図16は、ライン境界を挟んで上下に隣接する2つのブロックBKuおよびBKl内の画素の一例を示す説明図である。図16の例において、ブロックBKu内の画素の画像データを、「pj_(i)」という記号で示されている。jは画素の行インデックス、iは画素の列のインデックスである。また、最小符号化処理単位は、8画素×8画素のブロック単位として、行インデックスjは、ライン境界BBに近い行から順に(下から上へ)0,1,2,3と付番されている。列インデックスiは、ブロックにおける右から左へ0,1,2,…,7と付番されている。なお、ブロックBKuの上半分は図中で省略されている。一方、ブロックBKl内の画素の画像データは、「qk_(i)」という記号で示されている。kは画素の行インデックス、iは画素の列インデックスである。行インデックスkは、ライン境界BBに近い行から順に(上から下へ)0,1,2,3と付番されている。なお、ブロックBKlの下半分もまた図中で省略されている。
【0199】
HEVC方式における輝度信号の強フィルタリングでは、式(37)乃至式(42)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。なお、式(37)乃至式(42)は、式(14)、式(16)、式(13)、式(17)、式(12)、および式(18)にそれぞれ対応する式である。
【0200】
【数11】

ここで、Clip_(0-255)は、0以下である場合、0に切り上げ、255以上である場合、255に切り下げるクリップ処理を表している。以降の式についても同様である。
【0201】
これに対して、上述した従来の提案においては、LCUのライン境界のみであるが、R2W2削減でPaddingを利用したフィルタ処理が行われる。ここで、R2W2とは、LCUのライン境界上の2画素を参照して、LCUのライン境界上の2画素にフィルタ処理が適用されることを表す。
【0202】
従来の提案における輝度信号の強フィルタリングでは、式(43)乃至式(47)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0203】
【数12】

【0204】
ここで、従来の提案における強フィルタリングの式(43)は、HEVC方式における強フィルタリングの式(37)の「p2_(i)」が「p1_(i)」に入れ替わっている点が異なっている。従来の提案における強フィルタリングの式(45)は、HEVC方式における強フィルタリングの式(39)の「p2_(i)」が「p1_(i)」に入れ替わっている点が異なっている。従来の提案における強フィルタリングにおいては、HEVC方式における強フィルタリングの式(41)に対応する式が削除されている点が異なっている。
【0205】
なお、従来の提案における強フィルタリングの式(44)、式(46)、および式(47)は、HEVC方式における強フィルタリングの式(38)、式(40)、および式(42)にそれぞれ共通している。
【0206】
すなわち、従来の提案においては、ブロックBkuのライン境界BBから上に3行目の行の画素「p2_(i)」が参照されないので、代わりに、同じ列のすぐ下の行の画素「p1_(i)」が複写(Padding)して用いられている。
【0207】
また、ブロックBkuのライン境界BBから上に3行目の行の画素「p2_(0)」には、フィルタ処理が施されないので、従来の提案における強フィルタリングにおいては、HEVC方式における強フィルタリングの式(41)に対応する式が削除されている。
【0208】
以上のようにすることで、従来の提案においては、HEVC方式よりも、ラインメモリのメモリ容量が大きくなることを抑制している。
【0209】
しかしながら、4k画像の場合には大量のラインメモリを持つ必要があるので、デブロッキング処理において、ラインメモリを削減することがさらに求められている。また、ラインメモリ削減に際しては、この従来の提案の方法よりも、デブロッキングのブロックノイズリダクションの機能を保つことが求められている。
【0210】
ここで、HEVC方式のブロック間の境界判定においては、次の式(48)に示されるように、ライン境界を挟んだ両側で、傾き一定の波形を処理対象としている。そこで、本技術においては、以下に詳しく説明するが、ブロック間の境界判定における波形の傾きを利用することで、LCUのライン境界のデブロッキング処理を行う。
【0211】
【数13】

【0212】
[本技術の説明(線形近似)]
図17の例においては、式(48)のHEVC方式のブロック間の境界判定式が示されている。
【0213】
式(48)の左辺の第1項は、図17に示されるように、ブロックBkuの左から3列目の画素を判定する式であり、次のように、差分の差分(2次差分)、すなわち、傾きが一定の2次微分で表すことができる。
p2_(2)-2*p1_(2)+p0_(2) = (p2_(2)-p1_(2))-(p1_(2)-p0_(2))
【0214】
式(48)の左辺の第2項乃至第4項は、それぞれ、ブロックBkuの左から6列目の画素を判定する式、ブロックBklの左から3列目の画素を判定する式、ブロックBklの左から6列目の画素を判定する式である。式(48)の左辺の第2項乃至第4項についても、同様なことがいえる。
【0215】
このように、HEVC方式のブロック間の境界判定においては、傾き一定の波形を処理対象としていることから、LCUのライン境界のデブロッキング処理においては、ブロック間の境界判定における波形の傾きを利用する。
【0216】
従来の技術においては、LCUのライン境界のデブロッキング処理においては、参照できない画素に対しては、複写(Padding)が利用されていた。これに対して、本技術においては、LCUのライン境界のデブロッキング処理においては、参照できない画素に対して波形の傾きを利用した線形近似を行う。
【0217】
すなわち、本技術のLCUのライン境界のデブロッキング処理においては、次の線形近似の式(49)が用いられる。
【0218】
【数14】

【0219】
なお、図18に示されるように、p2_(i)、p1_(i)、p0_(i)の画素値に傾きがある場合、従来のR2W2による複写(Padding)においては、p2_(i)の画素値は参照できない。したがって、p2_(i)の画素値の代わりに、ハッチングの丸に示されるように、直下のp1_(i)の画素値が複写(Padding)して用いられるが、実際のp2_(i)の画素値は、点線の丸の位置であるので、誤差が生じてしまう。
【0220】
これに対して、本技術のR2W2による一次線形予測においては、p2_(i)の画素値は参照できないので、p2_(i)の画素値は、ハッチングの丸に示されるように、p1_(i)およびp0_(i)の画素値に傾きから一次線形により予測された画素値(=実際と同じ画素値)が用いられる。
【0221】
以上のようにすることで、画素値に傾きがある場合においては、本技術によれば、従来の複写(Padding)の方法よりも誤差が生じることがない。したがって、R2W2であっても、デブロッキングのブロックノイズリダクションの機能を保ちつつ、ラインメモリの削減を実現することができる。
【0222】
また、例えば4K×2Kの画像における1ラインは、2K×1Kの画像の2ライン分に相当する。また、H.264/AVC方式では、4ライン分のラインメモリを備えており、4K×2Kの画像における1ライン分のメモリ容量は、H.264/AVC方式の50%のメモリ容量に相当する。すなわち、高解像度画像においてメモリ容量の削減効果が高くなる。
【0223】
なお、p2_(i)、p1_(i)、p0_(i)の画素値に傾きがない場合には、実質的に、直下のp1_(i)の画素値が用いられることと同等となる。この場合も、R2W2であっても、デブロッキングのブロックノイズリダクションの機能を保ちつつ、ラインメモリの削減を実現することができる。
【0224】
[R2W2の場合のフィルタ処理]
次に、R2W2の場合の輝度信号のフィルタ処理について説明する。R2は、参照される画素を示し、W2は、フィルタ処理が適用される画素を示す。すなわち、R2W2とは、図19に示されるように、LCUのライン境界上の2画素を参照して、LCUのライン境界上の2画素にフィルタ処理が適用されることを表す。
【0225】
なお、図19の例においては、図16におけるブロックBKu内のライン境界BBから上に3列目と4列目の画素が参照できないことが明示されている。
【0226】
比較として再度示すが、HEVC方式における輝度信号の強フィルタリングでは、式(50)乃至式(55)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。なお、式(50)乃至式(55)は、式(37)乃至式(42)にそれぞれ対応する式である。
【0227】
【数15】

【0228】
これに対して、本技術のR2W2の場合の輝度信号の強フィルタリングでは、式(56)乃至式(60)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0229】
【数16】

【0230】
ここで、R2W2の場合の強フィルタリングの式(56)は、線形近似の式(49)により、HEVC方式における強フィルタリングの式(50)の「p2_(i)+2*p1_(i)+2*p0_(i)」が「4*p1_(i)+p0_(i)」に入れ替わっている点が異なっている。
【0231】
R2W2の場合の強フィルタリングの式(58)は、線形近似の式(49)により、HEVC方式における強フィルタリングの式(52)の「p2_(i)+p1_(i)+p0_(i)」が「3*p1_(i)」に入れ替わっている点が異なっている。
【0232】
R2W2の場合の強フィルタリングにおいては、HEVC方式における強フィルタリングの式(54)に対応する式が削除されている点が異なっている。
【0233】
すなわち、本技術のR2W2の場合においては、ブロックBkuのライン境界BBから上に3行目の行の画素「p2_(i)」が参照されないので、代わりに、線形近似の式(49)が代入して用いられる。
【0234】
また、ブロックBkuのライン境界BBから上に3行目の行の画素「p2_(0)」には、フにィルタ処理が施されないので、R2W2の場合の強フィルタリングにおいては、HEVC方式における強フィルタリングの式(54)に対応する式が削除される。
【0235】
次に、ライン境界における輝度信号の弱フィルタリングの判定式と弱フィルタリングについて説明する。
【0236】
まず、HEVC方式における輝度信号の弱フィルタリングの判定式と弱フィルタリングでは、式(61)乃至式(63)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。なお、式(61)乃至式(63)における第1式目が、弱フィルタリングの判定式である。
【0237】
【数17】

ここで、Clip_(0-255)は、上述したように、0以下である場合、0に切り上げ、255以上である場合、255に切り下げるクリップ処理を表している。また、Clip_((-tc)-tc)は、-tc以下である場合、-tcに切り上げ、tc以上である場合、tcに切り下げるクリップ処理を表している。tc2についてのクリップも同様である。なお、以降の式についても同様である。なお、tcは、表1に示したように、パラメータQに基づいて設定される値である。
【0238】
これに対して、R2W2の場合の輝度信号の弱フィルタリングの判定式と弱フィルタリングでは、式(64)乃至式(66)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。なお、式(64)乃至式(66)における第1式目が、弱フィルタリングの判定式である。
【0239】
【数18】

【0240】
ここで、R2W2の場合の式(65)のうち、弱フィルタリングの式である第2式目のtc2のクリップ内は、線形近似の式(49)により、HEVC方式における式(62)のうち、第2式目のtc2のクリップ内と異なっている。すなわち、第2式目のtc2のクリップ内は、HEVC方式の第2式目のtc2のクリップ内「((((p2_(i)+p0_(i)+1)>>1)-p1_(i)+delta)>>1)」が、「((((p1_(i)+p1_(i)+1)>>1)-p1_(i)+delta)>>1)」に入れ替わっている。
【0241】
また、R2W2の場合の式(65)のうち、弱フィルタリングの判定式である第1式目のif文内は、HEVC方式における式(62)のうち、第1式目のif文内と異なっている。すなわち、第1式目のif文内は、HEVC方式の第1式目のif文内「abs(p2_(2)-2*p1_(2)+p0_(2))+abs(p2_(5)-2*p1_(5)+p0_(5))」が、「abs(0-(p1_(2)-p0_(2)))+abs(0-(p1_(5)-p0_(5)))」に入れ替わっている。
【0242】
すなわち、式(65)のうち、第1式目については、線形近似ではなく、次の式(67)に示される、直下の画素での複写(padding)が行われる。換言するに、「abs(0-(p1_(2)-p0_(2)))」における0は、「0=p2_(2)-p1_(2)」を表しており、「abs(0-(p1_(5)-p0_(5)))」における0は、「0=p2_(5)-p1_(5)」を表している。
【0243】
【数19】

これは、フィルタリングの判定式における傾きについての判定に関して、線形近似を用いると、実際にはスルーできないものについての判定までスルーしてしまうためである。したがって、弱フィルタリングの判定式における傾きの判定については、式(67)に示されるように、直下の画素での複写(padding)が行われるものとする。これは、次に述べる強フィルタリングの判定式やブロック間の境界判定式についても同じことがいえる。
【0244】
次に、ライン境界における輝度信号のブロック間の境界判定式と強フィルタリングの判定式について説明する。
【0245】
まず、HEVC方式における輝度信号のブロック間の境界判定式は、次の式(68)で表わされ、強フィルタリングの判定式は、次の式(69)で表わされる。
【数20】

【数21】

【0246】
これに対して、本技術のR2W2の場合のブロック間の境界判定式は、次の式(70)で表わされ、強フィルタリングの判定式は、次の式(71)で表わされる。
【数22】

【数23】

【0247】
R2W2の場合のブロック間の境界判定の式(70)のif文内の第1項目および第2項目は、複写(padding)の式(67)により、HEVC方式におけるブロック間の境界判定の式(68)のif文内の第1項目および第2項目と異なっている。すなわち、if文内の第1項目と第2項目は、HEVC方式のif文内の第1項目と第2項目「abs(p2_(2)-2*p1_(2)+p0_(2))+abs(p2_(5)-2*p1_(5)+p0_(5))」が、「abs(0-(p1_(2)-p0_(2)))+abs(0-(p1_(5)-p0_(5)))」に入れ替わっている。
【0248】
また、R2W2の場合の強フィルタリング判定の式(71)の1行目の絶対値内が、複写(padding)の式(67)により、HEVC方式における強フィルタリング判定の式(69)の1行目の絶対値内と異なっている。すなわち、式(71)の1行目の絶対値内は、式(69)の1行目の絶対値内「abs(p2_(2)-2*p1_(2)+p0_(2))+abs(p2_(5)-2*p1_(5)+p0_(5))」が、「abs(0-(p1_(2)-p0_(2)))+abs(0-(p1_(5)-p0_(5)))」に入れ替わっている。
【0249】
さらに、R2W2の場合の強フィルタリング判定の式(71)の1つ目の「and」以降の式が、HEVC方式における強フィルタリング判定の式(69)の1つ目の「and」以降の式と異なっている。すなわち、式(71)の1つ目の「and」以降の式は、式(69)の1つ目の「and」以降の式「(|p3_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」が、「(|p1_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」に入れ替わっている。
【0250】
なお、この部分の判定は、画素値の大きさの判定であるので、線形近似の式(49)および複写(padding)の式(67)が用いられている。すなわち、式(71)の1つ目の「and」以降の式は、式(69)1つ目の「and」以降の式において、まず、「p3_(i)」が、複写により「p2_(i)」に近似されて、その後、「p2_(i)」が、線形により「2*p1_(i)-p0_(i)」に近似されて生成されている。
【0251】
[R2W1の場合のフィルタ処理]
次に、R2W1の場合の輝度信号のフィルタ処理について説明する。R2は、参照される画素を示し、W1は、フィルタ処理が適用される画素を示す。すなわち、R2W1とは、図19に示されるように、LCUのライン境界上の2画素を参照して、LCUのライン境界上の1画素にフィルタ処理が適用されることを表す。
【0252】
R2W1の場合の本技術の輝度信号の強フィルタリングでは、式(72)乃至式(75)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0253】
【数24】

【0254】
ここで、R2W1の場合の強フィルタリングの式(72)は、線形近似の式(49)により、HEVC方式における強フィルタリングの式(50)の「p2_(i)+2*p1_(i)+2*p0_(i)」が「4*p1_(i)+p0_(i)」に入れ替わっている点が異なっている。
【0255】
R2W1の場合の強フィルタリングにおいては、HEVC方式における強フィルタリングの式(52)および式(54)に対応する式が削除されている点が異なっている。
【0256】
すなわち、本技術においては、ブロックBkuのライン境界BBから上に3行目の行の画素「p2_(i)」が参照されないので、代わりに、線形近似の式(49)が代入して用いられる。
【0257】
また、ブロックBkuのライン境界BBから上に2行目の行の画素「p1_(0)」および3行目の行の画素「p2_(0)」には、フィルタ処理が施されない。したがって、R2W1の場合の強フィルタリングにおいては、HEVC方式における強フィルタリングの式(52)および式(54)に対応する式が削除される。
【0258】
次に、ライン境界における輝度信号の弱フィルタリングの判定式と弱フィルタリングについて説明する。
【0259】
R2W1の場合の輝度信号の弱フィルタリングの判定式と弱フィルタリングでは、式(76)および式(77)の演算を行うことで、フィルタ処理範囲の各画素の輝度成分が算出される。
【0260】
【数25】

【0261】
ここで、R2W1の場合、ブロックBkuのライン境界BBから上に2行目の行の画素「p1_(0)」には、フィルタ処理が施されない。したがって、R2W1の場合の弱フィルタリングの判定式と弱フィルタリングにおいては、HEVC方式における式(62)に対応する式が削除される。
【0262】
次に、ライン境界における輝度信号のブロック間の境界判定式と強フィルタリングの判定式について説明する。
【0263】
R2W1の場合のブロック間の境界判定式は、次の式(78)で表わされ、強フィルタリングの判定式は、次の式(79)で表わされる。
【数26】

【数27】

【0264】
R2W1の場合のブロック間の境界判定の式(78)のif文内の第1項目および第2項目は、複写(padding)の式(67)により、HEVC方式におけるブロック間の境界判定の式(68)のif文内の第1項目および第2項目と異なっている。すなわち、if文内の第1項目と第2項目は、HEVC方式のif文内の第1項目と第2項目「abs(p2_(2)-2*p1_(2)+p0_(2))+abs(p2_(5)-2*p1_(5)+p0_(5))」が、「abs(0-(p1_(2)-p0_(2)))+abs(0-(p1_(5)-p0_(5)))」に入れ替わっている。
【0265】
また、R2W1の場合の強フィルタリング判定の式(79)の1行目の絶対値内が、複写(padding)の式(67)により、HEVC方式における強フィルタリング判定の式(69)の1行目の絶対値内と異なっている。すなわち、式(79)の1行目の絶対値内は、式(69)の1行目の絶対値内「abs(p2_(2)-2*p1_(2)+p0_(2))+abs(p2_(5)-2*p1_(5)+p0_(5))」が、「abs(0-(p1_(2)-p0_(2)))+abs(0-(p1_(5)-p0_(5)))」に入れ替わっている。
【0266】
さらに、R2W1の場合の強フィルタリング判定の式(79)の1つ目の「and」以降の式が、HEVC方式における強フィルタリング判定の式(69)の1つ目の「and」以降の式と異なっている。すなわち、式(79)の1つ目の「and」以降の式は、式(69)1つ目の「and」以降の式「(|p3_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」が、「(|p1_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」に入れ替わっている。
【0267】
R2W2の場合に上述したように、この部分の判定は、画素値の大きさの判定であるので、線形近似の式(49)および複写(padding)の式(67)が用いられている。すなわち、式(79)の1つ目の「and」以降の式は、式(69)1つ目の「and」以降の式にいおいて、まず、「p3_(i)」が「p2_(i)」に近似されて、その後、「p2_(i)」が「2*p1_(i)-p0_(i)」に近似されて生成されている。
【0268】
なお、以上の線形近似による判定処理を実現するための構成例と動作については、デブロッキングフィルタ処理部の第6および第7の実施の形態として、後述する図22乃至図24を参照して説明する。
【0269】
なお、上述したように、本技術においては、ライン境界におけるブロック間の境界判定と強フィルタリング判定式を、線形近似の式(49)および複写(padding)の式(67)を用いて変更している。このため、上記判定式を誤ってスルーし、誤ってデブロッキングフィルタ処理が行われてしまった場合の対応として、強フィルタリング処理にクリップ処理を追加する。
【0270】
[本技術の説明(強フィルタリングにおけるクリップ処理)]
次に、第8の実施の形態である強フィルタリングにおけるクリップ処理について説明する。R2W2の場合の輝度信号の強フィルタリングは、クリップ処理が追加された、次の式(80)乃至式(84)を用いることも可能である。
【数28】

【0271】
強フィルタリングの式(80)は、フィルタリング後のp0_(0)の算出式である。強フィルタリングの式(80)においては、式(56)における0乃至255のクリップ処理内と、p0_(0)との差分に対して(-tc)乃至tcのクリップ処理が施された値が、p0_(0)に加算されたものに対して、0乃至255によるクリップ処理が行われている。
【0272】
強フィルタリングの式(81)は、フィルタリング後のq0_(0)の算出式である。強フィルタリングの式(81)においては、式(57)における0乃至255のクリップ処理内と、q0_(0)との差分に対して(-tc)乃至tcのクリップ処理が施された値が、q0_(0)に加算されたものに対して、0乃至255によるクリップ処理が行われている。
【0273】
強フィルタリングの式(82)は、フィルタリング後のp1_(0)の算出式である。強フィルタリングの式(82)においては、式(58)における0乃至255のクリップ処理内と、p1_(0)との差分に対して(-tc)乃至tcのクリップ処理が施された値が、p1_(0)に加算されたものに対して、0乃至255によるクリップ処理が行われている。
【0274】
強フィルタリングの式(83)は、フィルタリング後のq1_(0)の算出式である。強フィルタリングの式(83)においては、式(59)における0乃至255のクリップ処理内と、q1_(0)との差分に対して(-tc)乃至tcのクリップ処理が施された値が、q1_(0)に加算されたものに対して、0乃至255によるクリップ処理が行われている。
【0275】
強フィルタリングの式(84)は、フィルタリング後のq2_(0)の算出式である。強フィルタリングの式(84)においては、式(60)における0乃至255のクリップ処理内と、q2_(0)との差分に対して(-tc)乃至tcのクリップ処理が施された値が、q2_(0)に加算されたものに対して、0乃至255によるクリップ処理が行われている。
【0276】
以上のようにすることで、過度なフィルタ処理がかかるのを抑制することが可能である。
【0277】
なお、ここで、Matthias Narroschke,Tomas Wedi,Semih Esenlik,“Results for modified decisions for deblocking”,JCTVC-G590,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting,Geneva,CH,21-30 November,2011(以下、非特許文献2と称する)が提案されている。
【0278】
非特許文献2においては、ブロック単位で強フィルタリング・弱フィルタリングの判定処理が記載されている。しかしながら、非特許文献2に記載の判定処理では、注目ラインとそのラインが含まれるブロック単位の判定が異なる場合(注目ラインは弱フィルタリングの判定であるのに対して,それを含むブロックは強フィルタリング判定で、注目ラインに強フィルタリングが適用される場合)、過度なフィルタ処理がかかる。
【0279】
また、非特許文献2においては、強フィルタリング、弱フィルタリングの判定処理が4ライン単位で行われるため、判定とフィルタリング処理との間でミスマッチが起こる。ミスマッチの例としては、強と判定される必要があるのに、弱フィルタが行われたり、弱と判定される必要があるのに、強フィルタが行われたりする。
【0280】
なお、HEVC方式(HM-5.0)における輝度信号の強フィルタリングでは、次の式(85)乃至式(89)が採用されている。
【数29】

【0281】
本技術では、判定処理のミスマッチ及び判定処理の不完全さを解消するために、次の式(90)乃至式(94)で示すクリップ処理を適用することも可能である。なお、式(90)においては、フィルタ処理によって変化する部分Δ値にクリップ処理を行いたいので、p0_(i)がクリップ処理の外に出されている。他の式(91)乃至式(94)についても同様である。
【数30】

ここで、クリップ値pvは、パラメータtcの1倍,2倍,3倍,4倍,5倍,6倍,7倍,8倍のいずれかとする。すなわち、pv=tc,2*tc,3*tc,4*tc,5*tc,6*tc,7*tc,8*tcである。なお、クリップ値pvは、パラメータtcの2倍が好適と考えられるが、1乃至8倍のいずれかでよいと想定される。また、同等の効果が得られれば、1乃至8倍には限定されない。
【0282】
また、tcは、量子化パラメータQPに応じて変動する。よって、クリップ値におけるtcにかかる倍数もQPが大きくなると大きくなる(すなわち、QPに応じて変動する)ようにすることも可能である。このクリップ処理にかかるパラメータ(クリップ値やクリップ値におけるtcにかかる倍数の値)は、予め設定されていてもよいし、符号化ストリームに付加して、復号側へ伝送することも可能である。
【0283】
なお、上述した式(90)乃至式(94)は、次の式(95)乃至式(99)のようにクリップ処理を行うようにしてもよい。
【数31】

【0284】
ここで、上述したHEVC方式(HM-5.0)における輝度信号の強フィルタリングの式(85)乃至式(89)は、ライン境界における輝度信号の強フィルタリングの式である。すなわち、HEVC方式(HM-5.0)において、輝度信号の強フィルタリングは、実際には、次の式(100)乃至式(105)で表わされている。
【数32】

【0285】
これらの式(100)乃至式(105)に対応して、本技術では、判定処理のミスマッチ及び判定処理の不完全さを解消するために、輝度信号の強フィルタリングに、次の式(106)乃至式(111)で示すように、クリップ処理を適用することが可能である。なお、式(106)の第1式においては、上述した式(90)乃至(94)の例と同様に、フィルタ処理によって変化する部分Δ値にクリップ処理を行いたいので、p0_(i)がクリップ処理の外に出されている。他の式(107)乃至式(111)の第1式についても同様である。
【0286】
p0_(i)=p0_(i)+Clip_((-pv)-(pv))((p2_(i)+2*p1_(i)-6*p0_(i)+2*q0_(i)+q1_(i)+4)>>3); i=0,7
=Clip_((p0i-pv)-(p0i+pv))((p2_(i)+2*p1_(i)+2*p0_(i)+2*q0_(i)+q1_(i)+4)>>3); ・・・(106)
q0_(i)=q0_(i)+Clip_((-pv)-(pv))((p1_(i)+2*p0_(i)-6*q0_(i)+2*q1_(i)+q2_(i)+4)>>3); i=0,7
=Clip_((q0i-pv)-(q0i+pv))((p1_(i)+2*p0_(i)+2*q0_(i)+2*q1_(i)+q2_(i)+4)>>3); ・・・(107)
p1_(i)=p1_(i)+Clip_((-pv)-(pv))((p2_(i)-3*p1_(i)+p0_(i)+q0_(i)+2)>>2); i=0,7
=Clip_((p1i-pv)-(p1i+pv))((p2_(i)+p1_(i)+p0_(i)+q0_(i)+2)>>2); ・・・(108)
q1_(i)=q1_(i)+Clip_((-pv)-(pv))((p0_(i)+q0_(i)-3*q1_(i)+q2_(i)+2)>>2); i=0,7
=Clip_((q1i-pv)-(q1i+pv))((p0_(i)+q0_(i)+q1_(i)+q2_(i)+2)>>2); ・・・(109)
p2_(i)=p2_(i)+Clip_((-pv)-(pv))((2*p3_(i)-5*p2_(i)+p1_(i)+p0_(i)+q0_(i)+4)>>3); i=0,7
=Clip_((p2i-pv)-(p2i+pv))((2*p3_(i)+3*p2_(i)+p1_(i)+p0_(i)+q0_(i)+4)>>3); ・・・(110)
q2_(i)=q2_(i)+Clip_((-pv)-(pv))((p0_(i)+q0_(i)+q1_(i)-5*q2_(i)+2*q3_(i)+4)>>3); i=0,7
=Clip_((q2i-pv)-(q2i+pv))((p0_(i)+q0_(i)+q1_(i)+3*q2_(i)+2*q3_(i)+4)>>3); ・・・(111)
ここで、クリップ値pvは、パラメータtcの1倍、2倍、3倍、4倍、5倍、6倍、7倍、8倍のいずれかとする。すなわち、pv=tc,2*tc,3*tc,4*tc,5*tc,6*tc,7*tc,8*tcである。なお、クリップ値pvは、パラメータtcの2倍が好適と考えられるが、1乃至8倍のいずれかでよいと想定される。また、同等の効果が得られれば、1乃至8倍には限定されない。
【0287】
また、tcは、量子化パラメータQPに応じて変動する。よって、クリップ値におけるtcにかかる倍数もQPが大きくなると大きくなる(すなわち、QPに応じて変動する)ようにすることも可能である。このクリップ処理にかかるパラメータ(クリップ値やクリップ値におけるtcにかかる倍数の値)は、予め設定されていてもよいし、符号化ストリームに付加して、復号側へ伝送することも可能である。
【0288】
図20は、実験による、上述した式(100)乃至式(105)のHEVC方式(HM-5.0)における輝度信号の強フィルタリングによって変化する画素値の最大値を示す図である。
【0289】
AI_HE、RA_HE、LB_HE、およびLP_HEは、本実験のコンディションを示している。AI_HEは、実験がALL INTRA High Efficiencyで行われたことを表している。RA_HEは、実験がRandom Access High Efficiencyで行われたことを表している。LB_HEは、実験がLow Delay B High Efficiencyで行われたことを表している。LP_HEは、実験がLow Delay P High Efficiencyで行われたことを表している。
【0290】
AI_HE、RA_HE、LB_HE、およびLP_HEの下に示される「22、27、32、37」は、実験に用いられた量子化パラメータの値である。また、Class A乃至Class Fは、実験に用いられたテストシーケンスの種類を示している。
【0291】
図20に示されるように、HEVC方式(HM-5.0)における輝度信号の強フィルタリングによって変化する画素値は、すなわち、クリップ処理がない場合に強フィルタリングによって変化する画素値は、場合によっては100以上大きく変化してしまう。
【0292】
そこで、輝度信号の強フィルタリングにクリップ処理を適用する。これにより、次の図21に示されるように、判定処理のミスマッチ及び判定処理の不完全さの影響を最小限に抑えることができる。
【0293】
図21の例においては、実線で示されるエッジ(ブロック境界ではない)がある場合で、本来はデブロッキング処理を行いたくないが、非特許文献2の技術により、デブロッキング処理が施されてしまうと、点線に示されるように画素値が大きく変化してしまう。
【0294】
例えば、デブロッキング処理前には、実線で示されるように、画素p2_(i)、画素p1_(i)、および画素p0_(i)の値は、255であり、画素q0_(i)、画素q1_(i)、および画素q2_(i)の値は、0であり、画素p0_(i)および画素q0_(i)の値の差Dは、255である。
【0295】
これに対して、点線で示されるように、デブロッキング処理後の画素p2_(i)の値は223となり、画素p1_(i)の値は、191となり、画素p0_(i)の値は、159となり、画素p2_(i)、画素p1_(i)、および画素p0_(i)の画素値が大きく変化してしまっていた。また、デブロッキング処理後の画素q0_(i)の値は、96となり、画素q1_(i)の値は、64となり、画素q2_(i)の値は、32となり、画素q0_(i)、画素q1_(i)、および画素q2_(i)の画素値が大きく変化してしまっていた。
【0296】
このような場合に、例えば、上述した式(106)乃至式(111)の強フィルタリングにおいて、クリップ値が10のクリップ処理を行う。
【0297】
これにより、太線で示されるように、デブロッキング後、画素p2_(i)、画素p1_(i)、および画素p0_(i)の値は、245となり、画素q0_(i)、画素q1_(i)、および画素q2_(i)の値は、255となり、上述した画素値の変化を最小限に抑えることができる。
【0298】
なお、以上の強フィルタリングにおけるクリップ処理を実現するための構成例と動作については、デブロッキングフィルタ処理部の第8の実施の形態として、後述する図25乃至図27を参照して説明する。
【0299】
<13.デブロッキングフィルタ処理部の第6の実施の形態>
[デブロッキングフィルタ処理部の構成例]
図22は、デブロッキングフィルタ処理部の第6の実施の形態の構成を例示している。デブロッキングフィルタ処理部24は、画像メモリ71、ブロック境界判定部72-1、フィルタ強度判定部73-1、フィルタ演算部74-1、セレクタ75、係数メモリ76、およびフィルタ制御部77を含むように構成される。デブロッキングフィルタ処理部24は、さらに、ライン境界ブロック境界判定部72-2、ライン境界フィルタ強度判定部73-2、およびライン境界フィルタ演算部74-2を含むように構成されている。
【0300】
画像メモリ71は、図9のラインメモリ241に相当する部であり、ラインメモリで構成されている。画像メモリ71は、加算部23から供給された画像データを記憶する。画像メモリ71は、記憶している画像データを読み出して、ブロック境界判定部72-1、フィルタ強度判定部73-1、およびフィルタ演算部74-1に供給する。画像メモリ71は、また、記憶している画像データを読み出して、ライン境界ブロック境界判定部72-2、ライン境界フィルタ強度判定部73-2、およびライン境界フィルタ演算部74-2にも供給する。
【0301】
なお、ライン境界ではないところでは、画像メモリ71に画像データは記憶されず、加算部23から供給された画像データが各部に供給されて、それが処理される場合もある。しかしながら、図22の例においては、説明の便宜上、画像メモリ71を経由した画像データが処理されるとして説明する。
【0302】
ブロック境界判定部72-1は、制御部77の制御のもと、ブロック間の境界判定を行う。すなわち、ブロック境界判定部72-1は、画像メモリ71から読み出された画像データを用いて上述のブロック間の境界判定処理をブロック毎に行い、フィルタ処理を行うブロック間の境界を検出する。ブロック境界判定部72-1は、検出結果をフィルタ強度判定部73-1に出力する。
【0303】
フィルタ強度判定部73-1は、制御部77の制御のもと、上述のようにフィルタ強度の判定を行う。すなわち、フィルタ強度判定部73-1は、画像メモリ71からの、ブロックの境界を挟んで隣接する2つのブロックの画像データを用いて、ライン毎に、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定して、判定結果をフィルタ演算部74-1に出力する。
【0304】
フィルタ演算部74-1は、制御部77の制御のもと、画像メモリ71に記憶されている画像データ、および係数メモリ76から読み出したフィルタ係数を用いて、ライン毎に、フィルタ強度判定部73-1で判定されたフィルタ強度でフィルタ演算を行う。フィルタ演算部74-1は、フィルタ処理がなされた画像データをセレクタ75に出力する。
【0305】
ライン境界ブロック境界判定部72-2は、制御部77の制御のもと、LCUのライン境界である場合に、ブロック間の境界判定を行う。すなわち、ライン境界ブロック境界判定部72-2は、画像メモリ71から読み出された画像データを用いて上述のブロック間の境界判定処理をブロック毎に行い、フィルタ処理を行うブロック間の境界を検出する。ライン境界ブロック境界判定部72-2は、検出結果をライン境界フィルタ強度判定部73-2に出力する。
【0306】
ライン境界フィルタ強度判定部73-2は、制御部77の制御のもと、LCUのライン境界である場合に、上述のようにフィルタ強度の判定を行う。すなわち、ライン境界フィルタ強度判定部73-2は、画像メモリ71からの、ブロックの境界を挟んで隣接する2つのブロックの画像データを用いて、ライン毎に、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定して、判定結果をライン境界フィルタ演算部74-2に出力する。
【0307】
ライン境界フィルタ演算部74-2は、制御部77の制御のもと、画像メモリ71に記憶されている画像データ、および係数メモリ76から読み出したフィルタ係数を用いて、ライン毎に、ライン境界フィルタ強度判定部73-2で判定されたフィルタ強度でフィルタ演算を行う。ライン境界フィルタ演算部74-2は、フィルタ処理がなされた画像データをセレクタ75に出力する。
【0308】
セレクタ75は、制御部77の制御のもと、フィルタ演算部74-1からの画像データまたはライン境界フィルタ演算部74-2からの画像データのどちらかを選択して、選択した画像データを、フレームメモリ25に出力する。
【0309】
係数メモリ76は、デブロッキングフィルタ処理のフィルタ演算に用いるフィルタ係数を記憶している。係数メモリ76は、記憶しているフィルタ係数を読み出し、フィルタ演算部74-1およびライン境界フィルタ演算部74-2に供給する。
【0310】
制御部77は、デブロッキングフィルタ処理部24の各部を制御する。制御部77は、例えば、画像メモリ71を制御して、ブロック内の下端側の所定ライン数分の画像データを記憶させ、記憶されている画像データの読み出しを行う。制御部77は、LCU内ライン判定部77Aを含むように構成されている。
【0311】
LCU内ライン判定部77Aは、ラスタースキャン方向に順次処理が行われるブロック単位に、例えばLCU間のライン境界であるか判定して判定結果を、ブロック境界判定部72-1、フィルタ強度判定部73-1、およびフィルタ演算部74-1に供給し、ライン境界ではない場合に、処理を行わせる。また、LCU内ライン判定部77Aは、その判定結果を、ライン境界ブロック境界判定部72-2、ライン境界フィルタ強度判定部73-2、およびライン境界フィルタ演算部74-2にも供給し、ライン境界であった場合に、処理を行わせる。さらに、LCU内ライン判定部77Aは、その判定結果を、セレクタ75に供給し、ライン境界であった場合、ライン境界フィルタ演算部74-2からの画像データを選択させ、ライン境界ではない場合、フィルタ演算部74-1からの画像データを選択させる。
【0312】
なお、図22のデブロッキングフィルタ処理部24においては、例えば、R2W2処理を行うことが予め設定されていてもよいし、図9の例と同様に、フィルタ処理範囲やフィルタ演算範囲を制御することができるように構成してもよい。
【0313】
[デブロッキングフィルタ処理部の動作]
次に、図23のフローチャートを参照して、図22のデブロッキングフィルタ処理部24のデブロッキング処理について説明する。なお、図23の例においては、R2W2の処理が行われる場合について説明する。
【0314】
ステップS91において、LCU内ライン判定部77Aは、ラスタースキャン方向に順次処理が行われるブロック単位に、かけるフィルタが、LCU境界の垂直フィルタであるか否かを判定する。すなわち、ステップS91においては、LCU間のライン境界であって、かけるフィルタが垂直フィルタであるか否かが判定される。
【0315】
ステップS91において、かけるフィルタが、LCU境界の垂直フィルタであると判定された場合、処理は、ステップS92に進む。ステップS92において、ライン境界ブロック境界判定部72-2は、制御部77の制御のもと、LCUのライン境界である場合に、ライン境界のブロック間の境界判定を行う。
【0316】
すなわち、ライン境界ブロック境界判定部72-2は、画像メモリ71から読み出された画像データを用いて、上述した式(70)により、ブロック間の境界判定処理をブロック毎に行い、フィルタ処理を行うブロック間の境界を検出する。ライン境界ブロック境界判定部72-2は、検出結果をライン境界フィルタ強度判定部73-2に出力する。
【0317】
ステップS93において、ライン境界フィルタ強度判定部73-2は、制御部77の制御のもと、LCUのライン境界である場合に、上述のように、ライン境界のフィルタ強度の判定を行う。
【0318】
すなわち、ライン境界フィルタ強度判定部73-2は、画像メモリ71からの、ブロックの境界を挟んで隣接する2つのブロックの画像データを用いて、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定する。なお、上述した式(71)により強フィルタリングの判定が行われる。また、上述した式(64)乃至式(66)の第1式目により、弱フィルタリングの判定が行われる。ライン境界フィルタ強度判定部73-2は、判定結果をライン境界フィルタ演算部74-2に出力する。
【0319】
ステップS94において、ライン境界フィルタ演算部74-2は、制御部77の制御のもと、ライン境界のフィルタ処理を行う。すなわち、ライン境界フィルタ演算部74-2は、画像メモリ71に記憶されている画像データ、および係数メモリ76から読み出したフィルタ係数を用いて、ライン境界フィルタ強度判定部73-2で判定されたフィルタ強度でフィルタ演算を行う。
【0320】
強フィルタリングの場合、上述した式(56)乃至式(60)によりフィルタ演算が行われる。また、弱フィルタリングの場合、上述した式(64)乃至式(66)の第2式目および第3式目によりフィルタ演算が行われる。ライン境界フィルタ演算部74-2は、フィルタ処理がなされた画像データをセレクタ75に出力する。
【0321】
LCU内ライン判定部77Aは、ステップS95において、処理対象のラインが、LCUにおける最後の8ライン目であるか否かを判定する。ステップS95において、処理対象のラインが、LCUにおける最後の8ライン目ではないと判定された場合、処理は、ステップS93に戻り、それ以降の処理が繰り返される。
【0322】
また、ステップS95において、処理対象のラインが、LCUにおける最後の8ライン目であると判定された場合、処理は、ステップS100に進む。
【0323】
一方、ステップS91において、かけるフィルタが、LCU境界の垂直フィルタではないと判定された場合、処理は、ステップS96に進む。ステップS96において、ブロック境界判定部72-1は、制御部77の制御のもと、ブロック間の境界判定を行う。
【0324】
すなわち、ブロック境界判定部72-1は、画像メモリ71から読み出された画像データを用いて、上述した式(68)により、ブロック間の境界判定処理をブロック毎に行い、フィルタ処理を行うブロック間の境界を検出する。ブロック境界判定部72-1は、検出結果をフィルタ強度判定部73-1に出力する。
【0325】
フィルタ強度判定部73-1は、ステップS97において、制御部77の制御のもと、上述のようにフィルタ強度の判定を行う。すなわち、フィルタ強度判定部73-1は、画像メモリ71からの、ブロックの境界を挟んで隣接する2つのブロックの画像データを用いて、ライン毎に、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定する。なお、上述した式(69)により強フィルタリングの判定が行われる。また、上述した式(61)乃至式(63)の第1式目により、弱フィルタリングの判定が行われる。フィルタ強度判定部73-1は、判定結果をフィルタ演算部74-1に出力する。
【0326】
フィルタ演算部74-1は、ステップS98において、制御部77の制御のもと、ブロック境界のフィルタ演算を行う。すなわち、フィルタ演算部74-1は、画像メモリ71に記憶されている画像データ、および係数メモリ76から読み出したフィルタ係数を用いて、ライン毎に、フィルタ強度判定部73-1で判定されたフィルタ強度でフィルタ演算を行う。
【0327】
強フィルタリングの場合、上述した式(50)乃至式(55)によりフィルタ演算が行われる。また、弱フィルタリングの場合、上述した式(61)乃至式(63)の第2式目および第3式目によりフィルタ演算が行われる。フィルタ演算部74-1は、フィルタ処理がなされた画像データをセレクタ75に出力する。
【0328】
LCU内ライン判定部77Aは、ステップS99において、処理対象のラインが、LCUにおける最後の8ライン目であるか否かを判定する。ステップS99において、処理対象のラインが、LCUにおける最後の8ライン目ではないと判定された場合、処理は、ステップS97に戻り、それ以降の処理が繰り返される。
【0329】
また、ステップS99において、処理対象のラインが、LCUにおける最後の8ライン目であると判定された場合、処理は、ステップS100に進む。
【0330】
ステップS100において、LCU内ライン判定部77Aは、画像の最後のブロックであるか否かを判定する。すなわち、ステップS100においては、画面内の再度のブロックのライン境界であるかが判定される。
【0331】
ステップS100において、画像の最後のブロックであると判定された場合、デブロッキング処理は終了する。ステップS100において、画像の最後のブロックではないと判定された場合、処理は、ステップS91に戻り、ラスタースキャン順に次のLCUについてそれ以降の処理が繰り返される。
【0332】
なお、図22の例においては、フィルタ演算部74-1においてライン境界以外の場合の係数を用い、ライン境界フィルタ演算部74-2においてライン境界の場合の係数を用いて、どちらを用いるかが、LCU内ライン判定部77Aにおいて選択される。これにより、ライン境界におけるフィルタ処理とライン境界以外のフィルタ処理を切り替えるようにする例を説明した。
【0333】
これに対して、用いる係数を1つにして、読み出す画素のアドレスを制御することで、ライン境界におけるフィルタ処理とライン境界以外のフィルタ処理を切り替えるようにすることも可能である。
【0334】
例えば、R2W2の強フィルタリングにおけるP0_(0)の算出を例に説明する。HEVC方式における強フィルタリングの式(50)において、
p(ブロックBKu)にかかる項は、「p2_(i)+2*P1_(i)+2*q0_(i)」となっている。
【0335】
一方、HEVC方式における強フィルタリングの式(56)においては、
p(ブロックBKu)にかかる項は、「4*P1_(i)+q0_(i)」となっている。
【0336】
ここで、 4*P1_(i)+q0_(i) = q0_(i) + 2*P1_(i)+ 2*P1_(i)である。
【0337】
すなわち、式(50)におけるpにかかる項も、式(56)におけるpにかかる項も、係数は、左から、1、2、2が用いられている。したがって、同じ係数を用いて、その係数の乗算対象の画素値を入れ替える(読み出すアドレスを変更する)だけで、ライン境界におけるフィルタ処理とライン境界以外のフィルタ処理を切り替えるようにすることが可能である。
【0338】
<14.デブロッキングフィルタ処理部の第7の実施の形態>
[デブロッキングフィルタ処理部の構成例]
図24は、デブロッキングフィルタ処理部の第7の実施の形態の構成を示している。
【0339】
図24の例において、デブロッキングフィルタ処理部24は、画像メモリ71、ブロック境界判定部72、フィルタ強度判定部73、フィルタ演算部74、係数メモリ76、および制御部77を含むように構成されている。
【0340】
なお、図24のデブロッキングフィルタ処理部24は、画像メモリ71、係数メモリ76、制御部77は、図22のデブロッキングフィルタ処理部24と共通している。
【0341】
図24のデブロッキング処理部24は、ブロック境界判定部72-1とライン境界ブロック境界判定部72-2とがまとめて、ブロック境界判定部72に入れ替わった点が、図22のデブロッキングフィルタ処理部24と異なっている。図24のデブロッキング処理部24は、フィルタ強度判定部73-1とライン境界フィルタ強度判定部73-2とがまとめて、フィルタ強度判定部73に入れ替わった点が、図22のデブロッキングフィルタ処理部24と異なっている。図24のデブロッキング処理部24は、フィルタ演算部74-1とライン境界フィルタ演算部74-2とがまとめて、フィルタ演算部74に入れ替わった点が、図22のデブロッキングフィルタ処理部24と異なっている。
【0342】
さらに、図24のデブロッキング処理部24は、制御部77のLCU内ライン判定部77Aが、LCU内ライン判定部77Bと入れ替わった点が、図22のデブロッキングフィルタ処理部24と異なっている。
【0343】
すなわち、LCU内ライン判定部77Bは、R2W2の強フィルタリングにおけるP0_(0)の算出を例に、上述したように、画像メモリ71から読み出される画素のアドレスを制御する。したがって、画像メモリ71は、LCU内ライン判定部77Bによる制御に基づいて、画素を読み出し、読み出した画素を、ブロック境界判定部72、フィルタ強度判定部73、フィルタ演算部74に供給する。
【0344】
ブロック境界判定部72は、ブロック間の境界判定を行う。すなわち、ブロック境界判定部72は、画像メモリ71から読み出された画像データを用いて上述のブロック間の境界判定処理をブロック毎に行い、フィルタ処理を行うブロック間の境界を検出する。ブロック境界判定部72は、検出結果をフィルタ強度判定部73に出力する。
【0345】
フィルタ強度判定部73は、上述のようにフィルタ強度の判定を行う。すなわち、フィルタ強度判定部73は、画像メモリ71からの、ブロックの境界を挟んで隣接する2つのブロックの画像データを用いて、ライン毎に、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定して、判定結果をフィルタ演算部74に出力する。
【0346】
フィルタ演算部74は、画像メモリ71に記憶されている画像データ、および係数メモリ76から読み出したフィルタ係数を用いて、ライン毎に、フィルタ強度判定部73で判定されたフィルタ強度でフィルタ演算を行う。フィルタ演算部74は、フィルタ処理がなされた画像データをフレームメモリ25に出力する。
【0347】
なお、図24のデブロッキング処理部24によるデブロッキングフィルタ処理は、図23を参照して上述したデブロッキングフィルタ処理と基本的に同様の処理であるので、その説明は省略される。
【0348】
以上のように、フィルタ演算に用いる画像範囲が狭くなったことにより参照できなくなった画素について、ブロックの境界判定における波形の傾きを用いて補間するようにした。これにより、画素値間に傾きがある場合のデブロッキング処理について、LCUのライン境界において画像範囲を狭くしても行えるようになる。
【0349】
また、フィルタ演算に用いる画像範囲が狭くなったことにより参照できなくなった画素について、ブロックの境界判定、並びに強弱フィルタの判定においては、ブロックの境界判定における波形の傾きとPaddingを用いて補間するようにした。これにより、画素値間に傾きがある場合のデブロッキングの判定処理について、LCUのライン境界において画像範囲を狭くしても、行えるようになる。
【0350】
以上により、LCUのライン境界においては、画像範囲を狭くしても、デブロッキングの処理の機能を保ちつつ、ラインメモリの削減を実現することが可能である。
【0351】
<15.デブロッキングフィルタ処理部の第8の実施の形態>
[デブロッキングフィルタ処理部の構成例]
図25は、デブロッキングフィルタ処理部の第8の実施の形態の構成を示している。
【0352】
図25の例において、デブロッキングフィルタ処理部24は、画像メモリ81、ブロック境界判定部82、フィルタ強度判定部83、フィルタ演算部84、係数メモリ85、および制御部86を含むように構成されている。
【0353】
画像メモリ81は、図22の画像メモリ71に相当する部であり、ラインメモリで構成されている。画像メモリ81は、加算部23から供給された画像データを記憶する。画像メモリ81は、記憶している画像データを読み出して、ブロック境界判定部82、フィルタ強度判定部83、およびフィルタ演算部84に供給する。
【0354】
なお、ライン境界ではないところでは、画像メモリ81に画像データは記憶されず、加算部23から供給された画像データが各部に供給されて、それが処理される場合もある。しかしながら、図25の例においては、説明の便宜上、画像メモリ81を経由した画像データが処理されるとして説明する。
【0355】
ブロック境界判定部82は、制御部86の制御のもと、8ライン毎に、境界を導出し、判定に用いるパラメータを算出したりして、4ライン毎に、ブロック間の境界判定を行う。すなわち、ブロック境界判定部82は、画像メモリ81から読み出された画像データを用いて、TUおよびPUの境界を導出し、BS値を導出する。さらに、ブロック境界判定部82は、処理対象の境界に隣接する2つの領域の量子化パラメータQPの平均を求めて、平均QP(量子化パラメータ)を算出し、算出した平均QPに基づいて、パラメータtcおよびβを算出する。
【0356】
そして、ブロック境界判定部82は、画像メモリ81からの、ブロックの境界を挟んで隣接する2つのブロックの画像データと、算出したパラメータを用いて、4ライン毎に、フィルタを行うかどうかを判定する。ブロック境界判定部82は、ブロック境界判定部82は、境界判定結果とともに、算出したパラメータを、フィルタ強度判定部83に供給する。
【0357】
フィルタ強度判定部83は、制御部86の制御のもと、4ライン毎に、フィルタ強度の判定を行う。すなわち、フィルタ強度判定部83は、ブロック境界判定部82によりフィルタを行うと判定された場合、強フィルタリングまたは弱フィルタリングの何れの強度でフィルタ処理を行うか判定して、判定結果をフィルタ演算部84に出力する。
【0358】
フィルタ演算部84は、制御部86の制御のもと、画像メモリ81に記憶されている画像データ、および係数メモリ85から読み出したフィルタ係数を用いて、4ライン毎に、フィルタ強度判定部83で判定されたフィルタ強度でフィルタ演算を行う。特に、フィルタ強度判定部83により強フィルタを行うと判定された場合、フィルタ演算部84は、上述した式(106)乃至式(111)を用いて、クリップ処理付きの強フィルタ処理を行う。フィルタ演算部84は、フィルタ処理がなされた画像データを後段のフレームメモリ25に出力する。
【0359】
係数メモリ85は、デブロッキングフィルタ処理のフィルタ演算に用いるフィルタ係数を記憶している。係数メモリ85は、記憶しているフィルタ係数を読み出し、フィルタ演算部84に供給する。
【0360】
制御部86は、図示せぬ操作部(復号側の場合、可逆復号部52)から情報(デブロッキングフィルタのON/OFF情報、パラメータβ、tcの各オフセット値、およびクリップ処理にかかるパラメータなど)を入力する。また、制御部86には、予測モード情報や量子化パラメータなどデブロッキングフィルタに必要なパラメータも供給される。
【0361】
例えば、制御部86は、入力される情報を、対応する部に供給したり、入力されるON/OFF情報に基づいて、デブロッキングフィルタ処理部24の各部を制御する。
【0362】
制御部86は、例えば、画像メモリ81を制御して、ブロック内の下端側の所定ライン数分の画像データを記憶させ、記憶されている画像データの読み出しを行う。また、制御部86は、フィルタ演算部84を制御し、強フィルタを行う場合に、クリップ処理付き強フィルタ処理を行わせる。その際、制御部86は、このクリップ処理にかかるパラメータ(例えば、クリップ値pvやクリップ値におけるtcの倍数値)をフィルタ演算部84に供給する。
【0363】
[デブロッキングフィルタ処理部の動作]
次に、図26のフローチャートを参照して、図25のデブロッキングフィルタ処理部24のデブロッキング処理について説明する。
【0364】
例えば、図示せぬ操作部(復号側の場合、可逆復号部52)を介してON/OFF情報、βオフセットの値、およびTcオフセットの値、クリップ処理にかかるパラメータが制御部86に入力される。また、制御部86には、予測モード情報や量子化パラメータなどデブロッキングフィルタに必要なパラメータも供給される。
【0365】
ステップS201において、制御部86は、フィルタのオフセット(βオフセットおよびTcオフセット)を設定し、設定したオフセットの情報を、フィルタ強度判定部83に供給する。
【0366】
ステップS202において、制御部86は、ON/OFF情報に基づいて、デブロッキングフィルタが利用不可であるか否かを判定する。ステップS202において、デブロッキングフィルタが利用不可であると判定した場合、デブロッキングフィルタ処理は終了される。
【0367】
ステップS202において、デブロッキングフィルタが利用不可ではないと判定された場合、制御部86は、ブロック境界判定部82、フィルタ強度判定部83、およびフィルタ演算部84に、その旨を通知し、処理は、ステップS203に進む。その際、各部に必要なパラメータなども制御部86から供給される。
【0368】
ステップS203において、ブロック境界判定部82は、8ライン単位で、TUとPUの境界を導出する。ステップS204において、ブロック境界判定部82は、ステップS203で導出したTUとPUの境界などの情報や、制御部86からの予測モード情報などを基に、BS(Boundary Strength)値の導出を行う。
【0369】
ステップS205において、ブロック境界判定部82、フィルタ強度判定部83、およびフィルタ演算部84は、輝度境界のフィルタ処理を行う。この輝度境界のフィルタ処理は、次の図27を参照して後述するが、ステップS205の処理により、輝度信号に対して、輝度境界のフィルタが施される。
【0370】
ステップS206において、ブロック境界判定部82、フィルタ強度判定部83、およびフィルタ演算部84は、色差境界のフィルタ処理を行う。ステップS206の処理により、色差信号に対して、色差境界のフィルタが施される。
【0371】
ステップS207において、制御部86は、全部の境界を処理したか否かを判定する。ステップS207において、全部の境界を処理していないと判定された場合、処理は、ステップS205に戻り、それ以降の処理が繰り返される。ステップS207において、全部の境界を処理したと判定された場合、処理は、ステップS208に進む。
【0372】
ステップS208において、制御部86は、全部のCUを処理したか否かを判定する。ステップS208において、まだ全部のCUを処理していないと判定された場合、処理は、ステップS203に戻り、それ以降の処理が繰り返される。
【0373】
ステップS208において、全部のCUを処理したと判定された場合、デブロッキングフィルタ処理は終了される。
【0374】
[輝度境界のフィルタ処理の例]
次に、図27のフローチャートを参照して、図26のステップS205における輝度境界のフィルタ処理について説明する。
【0375】
ブロック境界判定部82は、ステップS231において、8ライン単位で、BS値が0より大きいか否かを判定する。ステップS231において、BS値が0より大きくはないと判定された場合、輝度境界のフィルタ処理は終了する。すなわち、この場合の輝度境界には、フィルタ演算部84によるフィルタ処理は施されず、フィルタ前の画素値がそのまま出力される。
【0376】
ステップS231において、BS値が0より大きいと判定された場合、処理は、ステップS232に進む。ステップS232において、ブロック境界判定部82は、8ライン単位で、画素メモリ81からの画素値を用いて、処理対象の境界に隣接する2つの領域の量子化パラメータQPの平均を求めて、平均QP(量子化パラメータ)を算出する。このときの量子化パラメータQPは、制御部86から供給される。
【0377】
ステップS233において、ブロック境界判定部82は、8ライン単位で、ステップS232により算出された平均QPに基づいて、パラメータtcおよびβを算出する。
【0378】
ステップS234において、ブロック境界判定部82は、4ライン単位のフィルタのon/off判定を行う。すなわち、ブロック境界判定部82は、算出したパラメータβなどを用いて、4ライン単位のフィルタのon/off判定を行う。この判定処理には、例えば、例えば、上述した式(68)が用いられる。
【0379】
ステップS234におけるon/off判定結果は、境界判定結果として、算出したパラメータと一緒に、フィルタ強度判定部83に供給される。
【0380】
また、ステップS235において、フィルタ強度判定部83は、4ライン単位のフィルタ強度判定を行う。すなわち、フィルタ強度判定部83は、ブロック境界判定部82により算出されたパラメータβやパラメータtcなどを用いて、4ライン単位のフィルタ強度判定を行う。この判定処理には、例えば、上述した式(69)や式(61)乃至式(63)における第1式目が用いられる。
【0381】
ステップS234におけるon/off判定結果およびステップS235におけるフィルタ強度判定結果は、フィルタ演算部84に供給される。なお、このとき、パラメータtcもフィルタ演算部84に供給される。
【0382】
ステップS236において、フィルタ演算部84は、フィルタ強度判定部83からの判定結果に基づいて、処理対象の4ラインに対して、強フィルタを適用するか否かを判定する。ステップS236において、処理対象の4ラインに対して、強フィルタを適用すると判定された場合、処理は、ステップS237に進む。
【0383】
ステップS237において、フィルタ演算部84は、制御部86による制御のもと、上述した式(106)乃至式(111)を用いて、クリップ処理付き強フィルタ処理を行う。フィルタ演算部84は、フィルタ処理後の画素値を、後段に出力する。
【0384】
ステップS236において、強フィルタを適用しないと判定された場合、ステップS238において、フィルタ演算部84は、フィルタ強度判定部83からの判定結果に基づいて、処理対象の4ラインに対して、弱フィルタを適用するか否かを判定する。ステップS238において、弱フィルタを適用すると判定された場合、処理は、ステップ239に進む。
【0385】
ステップS239において、フィルタ演算部84は、弱フィルタ処理を行う。フィルタ演算部84は、フィルタ処理後の画素値を、後段に出力する。
【0386】
ステップS238において、弱フィルタを適用しないと判定された場合、処理は、ステップ240に進む。ステップS240において、フィルタ演算部84は、フィルタ強度判定部83からの判定結果に基づいて、処理対象の4ラインに対して、処理を施さず、そのまま、フィルタ処理後の画素値を、後段に出力する。
【0387】
ステップS240において、フィルタ演算部84は、8ラインの処理が完了したか否かを判定し、8ラインの処理が完了したと判定した場合、輝度信号のデブロッキングを終了する。ステップS240において、8ラインの処理がまだ完了していないと判定された場合、処理は、ステップS234に戻り、それ以降の処理が繰り返される。
【0388】
以上のように、強フィルタを適用すると判定された場合に、クリップ処理付きの強フィルタリングを行うようにしたので、判定処理のミスマッチ及び判定処理の不完全さの影響を最小限に抑えることができる。これにより、デブロッキング処理において、適切にフィルタリングがかかるようにすることができる。
【0389】
なお、上記説明においては、線形近似およびクリップ処理付き強フィルタリングについて説明した。そして、線形近似の説明においては、例として、R2W2およびR2W1の場合について説明したが、R3W2、R1W1の場合も同様の方法で線形近似の処理を行うことが可能である。
【0390】
<16.第9の実施の形態>
[R3W2の例]
次に、図28を参照して、R3W2の例の場合について説明する。図28の例においては、実線上の白丸がデブロックフィルタ前の、図16に示された境界BB付近のp2_(i),p1_(i),p0_(i),q0_(i),q1_(i),q2_(i)の各画素値を表している。図28に示されるように、ブロックBKuとブロックBKlの段差(ギャップ)は、D=p0_(i)-q0_(i)である。
【0391】
また、点線上の丸は、HEVC方式における輝度信号の強フィルタリング後の各画素値を表している。すなわち、この場合、フィルタ前の画素値と強フィルタリング後の画素値の差は、q2_(i)について、1/8*Dであり、q1_(i)について、2/8*Dであり、q0_(i)について、3/8*Dである。同様に、フィルタ前の画素値と強フィルタリング後の画素値の差は、p0_(i)について、3/8*Dであり、p1_(i)について、p2_(i)について、2/8*Dであり、1/8*Dである。
【0392】
ここで、R3W2の場合の輝度信号のフィルタ処理を考えると、p2_(i)についてはフィルタリングが行われない。すなわち、p2_(i)は、実線上にある点線丸の画素値となり、p1_(i)の点線で示される画素値との差が大きくなり、実線上にある点線丸で示されるp2_(i)の画素値と、点線で示されるp1_(i)の画素値との間のみ、急な傾きを有することとなる。
【0393】
そこで、R3W2の場合には、この傾きが緩やかになるように、p0_(i)のフィルタ前の画素値(白丸)と、強フィルタリング後の画素値(ハッチング丸)との差Δp1_(i)は、次の式(112)で表わされる。
【数33】

【0394】
すなわち、この式(112)は、Δp1_(i)が、p0_(i)のフィルタ前の画素値(白丸)と、強フィルタリング後の画素値(ハッチング丸)の差Δp0_(i)の半分の値である3/16*D)をとるように導かれていたものである。
【0395】
そして、式(112)の最後の近似式における右辺の第2項目が、フィルタ前の画素値(白丸)であるので、式(112)の最後の近似式における右辺の第1項目は、ハッチング丸で示されるp1_(i)の強フィルタリング後の画素値を表していることになる。
【0396】
すなわち、式(112)の最後の近似式における右辺の第1項目の各画素値に乗算されている係数を、R3W2の場合の強フィルタリングの係数として用いる。これにより、R3W2の場合の強フィルタリング後の結果を、図28の太線の傾きに示されるように、従来の点線の傾きと比してなだらかにすることができる。
【0397】
なお、R3W2の場合の強フィルタリングの判定式は、次の式(113)で表わされる。
【数34】

R3W2の場合の強フィルタリング判定の式(113)の1つ目の「and」以降の式が、HEVC方式における強フィルタリング判定の式(69)の1つ目の「and」以降の式と異なっている。R3W2であるので、p3_(i)が参照できないため、Padding(すなわち、p3_(i)=p2_(i))が適用される。
【0398】
したがって、式(113)の1つ目の「and」以降の式は、式(69)の1つ目の「and」以降の式「(|p3_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」が、「(|p2_(i)-p0_(i)<<1|+|q0_(i)-q3_(i)|)」<(β>>3))」に入れ替わっているところだけが異なっている。
【0399】
また、R3W2の場合の強フィルタリングについては、上述した式(112)より、p1_(0)に係る式が、式(114)に示されるように、HEVC方式における強フィルタリングの式(52)と異なっている。
【数35】

【0400】
なお、R3W2の場合の強フィルタリングについては、HEVC方式における強フィルタリングのP20に係る式(54)は、必要ないので除かれている。
【0401】
以上により、R3W2の場合の強フィルタリングについても、精度を劣化させないように行うことができる。
【0402】
また、本明細書において、デブロックフィルタの処理単位のサイズは、例えば、H.264/AVCのマクロブロックのサイズやHEVCにおける符号化単位の符号化ツリーブロック(Coding Tree Block)のサイズ等であってもよい。また、本明細書において、ブロック又はマクロブロックとの用語は、HEVCの文脈における符号化単位(CU:Coding Unit)、予測単位(PU:Prediction Unit)、変換単位(TU:Transform Unit)をも含むものとする。
【0403】
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【0404】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【0405】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送する。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0406】
<19.第10の実施の形態>
[多視画像点符号化・多視点画像復号への適用]
上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図29は、多視点画像符号化方式の一例を示す。
【0407】
図29に示されるように、多視点画像は、複数の視点の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
【0408】
図29のような多視点画像符号化を行う場合、各ビュー(同一ビュー)において、強フィルタリングのクリップ処理にかかるパラメータ(例えば、クリップ値やクリップ値におけるtcにかかる倍数など)を設定することができる。また、各ビュー(異なるビュー)において、他のビューで設定された強フィルタリングのクリップ処理にかかるパラメータを共有することもできる。
【0409】
この場合、ベースビューにおいて設定されたクリップ処理にかかるパラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=0)において設定されたクリップ処理にかかるパラメータが、ベースビューおよびノンベースビュー(view_id=1)の少なくともどちらか一方で用いられる。
【0410】
さらに、各ビュー(同一ビュー)において、強フィルタリングのクリップ処理にかかるパラメータを設定することもできる。また、各ビュー(異なるビュー)において、他のビューで設定された強フィルタリングのクリップ処理にかかるパラメータを共有することもできる。
【0411】
この場合、ベースビューにおいて設定されたクリップ処理にかかるパラメータが、少なくとも1つのノンベースビューで用いられる。あるいは、例えば、ノンベースビュー(view_id=0)において設定されたクリップ処理にかかるパラメータが、ベースビューおよびノンベースビュー(view_id=1)の少なくともどちらか一方で用いられる。
【0412】
これにより、デブロッキング処理において、適切にフィルタリングがかかるようにすることができる。
【0413】
[多視点画像符号化装置]
図30は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図30に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
【0414】
符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
【0415】
この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置10(図1)を適用することができる。この場合、多視点画像符号化装置600は、符号化部601が設定した強フィルタリングのクリップ処理にかかるパラメータと、符号化部602が設定した強フィルタリングのクリップ処理にかかるパラメータとを設定して伝送させる。
【0416】
なお、上述したように符号化部601が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部602が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送させるようにしてもよい。
【0417】
[多視点画像復号装置]
図31は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図31に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
【0418】
逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
【0419】
この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置50(図6)を適用することができる。この場合、多視点画像復号装置610は、符号化部601が設定し、復号部612が復号した強フィルタリングのクリップ処理にかかるパラメータと、符号化部602が設定し、復号部613が復号した強フィルタリングのクリップ処理にかかるパラメータを用いて処理を行う。
【0420】
なお、上述したように符号化部601(または、符号化602)が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部601および符号化部602で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置610においては、符号化部601(または、符号化602)が設定し、復号部612(または復号部613)が復号した強フィルタリングのクリップ処理にかかるパラメータを用いて処理が行われる。
【0421】
<18.第11の実施の形態>
[階層画像点符号化・階層画像復号への適用]
上述した一連の処理は、階層画像符号化・階層画像復号に適用することができる。図32は、多視点画像符号化方式の一例を示す。
【0422】
図32に示されるように、階層画像は、複数の階層(解像度)の画像を含み、その複数の解像度のうちの所定の1つの階層の画像が、ベースレイヤの画像に指定されている。ベースレイヤの画像以外の各階層の画像は、ノンベースレイヤの画像として扱われる。
【0423】
図32のような階層画像符号化(空間スケーラビリティ)を行う場合、各レイヤ(同一レイヤ)において、強フィルタリングのクリップ処理にかかるパラメータを設定することができる。また、各レイヤ(異なるレイヤ)において、他のレイヤで設定された強フィルタリングのクリップ処理にかかるパラメータを共有することができる。
【0424】
この場合、ベースレイヤにおいて設定された強フィルタリングのクリップ処理にかかるパラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=0)において設定された強フィルタリングのクリップ処理にかかるパラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=1)の少なくともどちらか一方で用いられる。
【0425】
さらに、各レイヤ(同一レイヤ)において、強フィルタリングのクリップ処理にかかるパラメータを設定することもできる。また、各レイヤ(異なるレイヤ)において、他のビューで設定された強フィルタリングのクリップ処理にかかるパラメータを共有することもできる。
【0426】
この場合、ベースレイヤにおいて設定された強フィルタリングのクリップ処理にかかるパラメータが、少なくとも1つのノンベースレイヤで用いられる。あるいは、例えば、ノンベースレイヤ(layer _id=0)において設定された強フィルタリングのクリップ処理にかかるパラメータが、ベースレイヤおよびノンベースレイヤ(layer_id=1)の少なくともどちらか一方で用いられる。
【0427】
これにより、デブロッキング処理において、適切にフィルタリングがかかるようにすることができる。
【0428】
[階層画像符号化装置]
図33は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図33に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
【0429】
符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
【0430】
この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置10(図1)を適用することができる。この場合、階層画像符号化装置620は、符号化部621が設定した強フィルタリングのクリップ処理にかかるパラメータと、符号化部602が設定した強フィルタリングのクリップ処理にかかるパラメータとを設定して伝送させる。
【0431】
なお、上述したように符号化部621が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。逆に、符号化部622が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送させるようにしてもよい。
【0432】
[階層画像復号装置]
図34は、上述した階層画像復号を行う階層画像復号装置を示す図である。図34に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
【0433】
逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
【0434】
この多視点画像復号装置630の復号部632および復号部633に対して、画像復号装置50(図6)を適用することができる。この場合、多視点画像復号装置630は、符号化部621が設定し、復号部632が復号した強フィルタリングのクリップ処理にかかるパラメータと、符号化部622が設定し、復号部633が復号した強フィルタリングのクリップ処理にかかるパラメータを用いて処理を行う。
【0435】
なお、上述したように符号化部621(または、符号化622)が設定した強フィルタリングのクリップ処理にかかるパラメータを、符号化部621および符号化部622で共有して用いるように設定して伝送されている場合がある。この場合、多視点画像復号装置630においては、符号化部621(または、符号化622)が設定し、復号部632(または、復号部633)が復号した強フィルタリングのクリップ処理にかかるパラメータを用いて処理が行われる。
【0436】
<19.応用例>
上述した実施形態に係る画像符号化装置10および画像復号装置50は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録する記録装置、または、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
【0437】
[第1の応用例]
図35は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース部909を有している。さらに、テレビジョン装置900は、制御部910、ユーザインタフェース部911等を有している。
【0438】
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。すなわち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0439】
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリームおよび音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【0440】
デコーダ904は、デマルチプレクサ903から入力される映像ストリームおよび音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
【0441】
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタンまたはカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
【0442】
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイまたはOLEDなど)の映像面上に映像または画像を表示する。
【0443】
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換および増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。外部インタフェース部909は、テレビジョン装置900と外部機器またはネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリームまたは音声ストリームが、デコーダ904により復号されてもよい。すなわち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送手段としての役割を有する。
【0444】
制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)およびROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、およびネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
【0445】
ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
【0446】
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909および制御部910を相互に接続する。
【0447】
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置50の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、デブロッキングフィルタ処理において、適切にフィルタリングをかけることができる。
【0448】
[第2の応用例]
図36は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、およびバス933を備える。
【0449】
アンテナ921は、通信部922に接続される。スピーカ924およびマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、および制御部931を相互に接続する。
【0450】
携帯電話機920は、音声通話モード、データ通信モード、撮影モードおよびテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メールまたは画像データの送受信、画像の撮像、およびデータの記録などの動作を行う。
【0451】
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調および復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張しおよびD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0452】
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調および復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
【0453】
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAMまたはフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカードなどの外部装着型の記憶媒体であってもよい。
【0454】
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
【0455】
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化および変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅しおよび周波数変換し、受信信号を取得する。これら送信信号および受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調および復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリームおよび音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張しおよびD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
【0456】
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10および画像復号装置50の機能を有する。それにより、携帯電話機920での画像の符号化および復号に際して、デブロッキングフィルタ処理において、適切にフィルタリングをかけることができる。
【0457】
[第3の応用例]
図37は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データおよび映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データおよび映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタおよびスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
【0458】
記録再生装置940は、チューナ941、外部インタフェース部942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、およびユーザインタフェース部950を備える。
【0459】
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。すなわち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
【0460】
外部インタフェース部942は、記録再生装置940と外部機器またはネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、またはフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。すなわち、外部インタフェース部942は、記録再生装置940における伝送手段としての役割を有する。
【0461】
エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
【0462】
HDD944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
【0463】
ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)またはBlu-ray(登録商標)ディスクなどであってよい。セレクタ946は、映像および音声の記録時には、チューナ941またはエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944またはディスクドライブ945へ出力する。また、セレクタ946は、映像および音声の再生時には、HDD944またはディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
【0464】
デコーダ947は、符号化ビットストリームを復号し、映像データおよび音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタンまたはカーソルなどのGUIの画像を重畳してもよい。
【0465】
制御部949は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
【0466】
ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
【0467】
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置50の機能を有する。それにより、記録再生装置940での画像の符号化および復号に際して、デブロッキングフィルタ処理において、適切にフィルタリングをかけることができる。
【0468】
[第4の応用例]
図38は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【0469】
撮像装置960は、光学ブロック961、撮像部962、カメラ信号処理部963、画像処理部964、表示部965、外部インタフェース部966、メモリ967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース部971、およびバス972を備える。
【0470】
光学ブロック961は、フォーカスレンズおよび絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCDまたはCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号をカメラ信号処理部963へ出力する。
【0471】
カメラ信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。カメラ信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
【0472】
画像処理部964は、カメラ信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース部966またはメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース部966またはメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、カメラ信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
【0473】
OSD部969は、例えばメニュー、ボタンまたはカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
【0474】
外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスクまたは光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LANまたはインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。すなわち、外部インタフェース部966は、撮像装置960における伝送手段としての役割を有する。
【0475】
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブまたはSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
【0476】
制御部970は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
【0477】
ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタンおよびスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
【0478】
バス972は、画像処理部964、外部インタフェース部966、メモリ967、メディアドライブ968、OSD部969、および制御部970を相互に接続する。
【0479】
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10および画像復号装置50の機能を有する。それにより、撮像装置960での画像の符号化および復号に際して、デブロッキングフィルタ処理において、適切にフィルタリングをかけることができる。
【0480】
なお、本明細書では、強フィルタリングのクリップ処理にかかるパラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【0481】
さらに、本技術は、上述した実施形態に限定して解釈されるべきではない。この実施形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、請求の範囲を参酌すべきである。
【符号の説明】
【0483】
10・・・画像符号化装置、11・・・A/D変換部、12,57・・・画面並べ替えバッファ、13・・・減算部、14・・・直交変換部、15・・・量子化部、16・・・可逆符号化部、17・・・蓄積バッファ、18・・・レート制御部、21,53・・・逆量子化部、22、54・・・逆直交変換部、23,55・・・加算部、24,56・・・デブロッキングフィルタ処理部、25,61・・・フレームメモリ、26,62,65・・・セレクタ、31,63・・・イントラ予測部、32・・・動き予測・補償部、33・・・予測画像・最適モード選択部、50・・・画像復号装置、51・・・蓄積バッファ、52・・・可逆復号部、61・・・フレームメモリ、64・・・動き補償部、71・・・画像メモリ、72,72-1・・・ブロック境界判定部、72-2・・・ライン境界ブロック境界判定部、73,73-1・・・フィルタ強度判定部、73-2・・・ライン境界フィルタ強度判定部、74,74-1・・・フィルタ演算部、74-2・・・ライン境界フィルタ演算部、75・・・セレクタ、76・・・係数メモリ、77・・・制御部、77A,77B・・・LCU内ライン判定部、241・・・ラインメモリ、242・・・ライン境界検出部、243・・・フィルタ強度判定部、244・・・係数メモリ、245・・・フィルタ演算部、246・・・フィルタ制御部、2451・・・データ記憶部、2452・・・データ選択部、2453,2455,2456・・・演算部、2457・・・データ選択部、2461・・・ライン境界判定部
(57)【特許請求の範囲】
【請求項1】
符号化ストリームを復号処理して、復号画像を生成する復号部と、
第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用するフィルタ部と、
前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする制御部と
を備える画像処理装置。
【請求項2】
前記制御部は、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-pv)-(pv))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-pv)-(p0+pv))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-pv)-(pv))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-pv)-(p1+pv))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-pv)-(pv))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-pv)-(p2+pv))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-pv)-(pv))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-pv)-(q0+pv))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-pv)-(pv))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-pv)-(q1+pv))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2);
q2’=q2+Clip_((-pv)-(pv))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-pv)-(q2+pv))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
pvは前記第2フィルタのクリップ値である
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである
請求項1に記載の画像処理装置。
【請求項3】
前記制御部は、前記デブロッキングフィルタの強度を選択する際に用いられるパラメータの整数倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
請求項1に記載の画像処理装置。
【請求項4】
前記制御部は、前記パラメータの±2倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
請求項3に記載の画像処理装置。
【請求項5】
前記制御部は、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-2*tc)-(2*tc))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-2*tc)-(p0+2*tc))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-2*tc,p0+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-2*tc)-(2*tc))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-2*tc)-(p1+2*tc))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-2*tc)-(2*tc))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-2*tc)-(p2+2*tc))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-2*tc)-(2*tc))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-2*tc)-(q0+2*tc))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-2*tc)-(2*tc))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-2*tc)-(q1+2*tc))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
q2’=q2_(i)+Clip_((-2*tc)-(2*tc))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-2*tc)-(q2+2*tc))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
tcは前記第1フィルタまたは前記第2フィルタの選択に用いられるパラメータである
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである
請求項4に記載の画像処理装置。
【請求項6】
前記フィルタ部は、前記復号画像の輝度成分の画素を対象として、前記第2フィルタを適用する
請求項5に記載の画像処理装置。
【請求項7】
前記第1フィルタは、前記ブロック境界の近傍に位置する4画素に対してフィルタを適用する弱フィルタであり、
前記第2フィルタは、前記ブロック境界の近傍に位置する6画素に対してフィルタを適用する強フィルタである
請求項6に記載の画像処理装置。
【請求項8】
前記ブロック境界は、直交変換を行う単位であるトランスフォームユニットの境界または予測処理を行う単位であるプレディクションユニットの境界である
請求項6に記載の画像処理装置。
【請求項9】
前記復号部は、
前記符号化ストリームを算術復号処理して量子化データを生成する算術復号部と、
前記算術復号部により生成された前記量子化データを逆量子化して変換係数データを生成する逆量子化部と、
前記逆量子化部により生成された前記変換係数データを逆直交変換する逆直交変換部とを含む請求項8に記載の画像処理装置。
【請求項10】
前記復号部は、最大コーディングユニットを再帰的に分割することによって得られるコーディングユニットを処理単位として、前記符号化ストリームを復号処理する
請求項9に記載の画像処理装置。
【請求項11】
前記コーディングユニットは、前記最大コーディングユニットを4分木構造に従って再帰的に分割される
請求項10に記載の画像処理装置。
【請求項12】
前記最大コーディングユニットは、前記4分木構造における最上位層のコーディングユニットである
請求項11に記載の画像処理装置。
【請求項13】
前記最大コーディングユニットは、シーケンス単位で固定サイズのブロックであり、
前記コーディングユニットは、可変サイズのブロックである
請求項12に記載の画像処理装置。
【請求項14】
画像処理装置の
復号部が、符号化ストリームを復号処理して、復号画像を生成し、
フィルタ部が、第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用し、
制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
画像処理方法。
【請求項15】
前記制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-pv)-(pv))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-pv)-(p0+pv))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-pv,p0+pv,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-pv)-(pv))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-pv)-(p1+pv))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-pv,p1+pv,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-pv)-(pv))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-pv)-(p2+pv))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-pv,p2+pv,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-pv)-(pv))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-pv)-(q0+pv))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-pv,q0+pv,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-pv)-(pv))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-pv)-(q1+pv))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-pv,q1+pv,(p0+q0+q1+q2+2)>>2);
q2’=q2+Clip_((-pv)-(pv))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-pv)-(q2+pv))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-pv,q2+pv,(p0+q0+q1+3*q2+2*q3+4)>>3);
pvは前記第2フィルタのクリップ値である
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである
請求項14に記載の画像処理方法。
【請求項16】
前記制御部が、前記デブロッキングフィルタの強度を選択する際に用いられるパラメータの整数倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
請求項14に記載の画像処理方法。
【請求項17】
前記制御部が、前記パラメータの±2倍の値を前記第2クリップ値として、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
請求項16に記載の画像処理方法。
【請求項18】
前記制御部が、前記フィルタ部により前記第2フィルタが適用される場合に、次の式に示されるように、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする
p0’=p0+Clip_((-2*tc)-(2*tc))((p2+2*p1-6*p0+2*q0+q1+4)>>3);
=Clip_((p0-2*tc)-(p0+2*tc))((p2+2*p1+2*p0+2*q0+q1+4)>>3);
=Clip3(p0-2*tc,p0+2*tc,(p2+2*p1+2*p0+2*q0+q1+4)>>3);
p1’=p1+Clip_((-2*tc)-(2*tc))((p2-3*p1+p0+q0+2)>>2);
=Clip_((p1-2*tc)-(p1+2*tc))((p2+p1+p0+q0+2)>>2);
=Clip3(p1-2*tc,p1+2*tc,(p2+p1+p0+q0+2)>>2);
p2’=p2+Clip_((-2*tc)-(2*tc))((2*p3-5*p2+p1+p0+q0+4)>>3);
=Clip_((p2-2*tc)-(p2+2*tc))((2*p3+3*p2+p1+p0+q0+4)>>3);
=Clip3(p2-2*tc,p2+2*tc,(2*p3+3*p2+p1+p0+q0+4)>>3);
q0’=q0+Clip_((-2*tc)-(2*tc))((p1+2*p0-6*q0+2*q1+q2+4)>>3);
=Clip_((q0-2*tc)-(q0+2*tc))((p1+2*p0+2*q0+2*q1+q2+4)>>3);
=Clip3(q0-2*tc,q0+2*tc,(p1+2*p0+2*q0+2*q1+q2+4)>>3);
q1’=q1+Clip_((-2*tc)-(2*tc))((p0+q0-3*q1+q2+2)>>2);
=Clip_((q1-2*tc)-(q1+2*tc))((p0+q0+q1+q2+2)>>2);
=Clip3(q1-2*tc,q1+2*tc,(p0+q0+q1+q2+2)>>2);
q2’=q2_(i)+Clip_((-2*tc)-(2*tc))((p0+q0+q1-5*q2+2*q3+4)>>3);
=Clip_((q2-2*tc)-(q2+2*tc))((p0+q0+q1+3*q2+2*q3+4)>>3);
=Clip3(q2-2*tc,q2+2*tc,(p0+q0+q1+3*q2+2*q3+4)>>3);
tcは前記第1フィルタまたは前記第2フィルタの選択に用いられるパラメータである
pN’,qN’(N=0,1,2)は前記第2フィルタが適用された後の画素値である
pM,qM(M=0,1,2,3)は前記第2フィルタが適用される前の画素値である
N,Mは境界の近隣に位置する画素の位置を示すインデックスである
請求項17に記載の画像処理方法。
【請求項19】
前記フィルタ部が、前記復号画像の輝度成分の画素を対象として、前記第2フィルタを適用する
請求項18に記載の画像処理方法。
【請求項20】
前記第1フィルタは、前記ブロック境界の近傍に位置する4画素に対してフィルタを適用する弱フィルタであり、
前記第2フィルタは、前記ブロック境界の近傍に位置する6画素に対してフィルタを適用する強フィルタである
請求項19に記載の画像処理方法。
【請求項21】
前記ブロック境界は、直交変換を行う単位であるトランスフォームユニットの境界または予測処理を行う単位であるプレディクションユニットの境界である
請求項19に記載の画像処理方法。
【請求項22】
前記復号部において、
算術復号部が、前記符号化ストリームを算術復号処理して量子化データを生成し、
逆量子化部が、前記算術復号部により生成された前記量子化データを逆量子化して変換係数データを生成し、
逆直交変換部が、前記逆量子化部により生成された前記変換係数データを逆直交変換する
請求項21に記載の画像処理方法。
【請求項23】
前記復号部が、最大コーディングユニットを再帰的に分割することによって得られるコーディングユニットを処理単位として、前記符号化ストリームを復号処理する
請求項22に記載の画像処理方法。
【請求項24】
前記コーディングユニットは、前記最大コーディングユニットを4分木構造に従って再帰的に分割される
請求項23に記載の画像処理方法。
【請求項25】
前記最大コーディングユニットは、前記4分木構造における最上位層のコーディングユニットである
請求項24に記載の画像処理方法。
【請求項26】
前記最大コーディングユニットは、シーケンス単位で固定サイズのブロックであり、
前記コーディングユニットは、可変サイズのブロックである
請求項25に記載の画像処理方法。
【請求項27】
符号化ストリームを復号処理して、復号画像を生成する復号部と、
第1フィルタと前記第1フィルタよりもフィルタ強度の強い第2フィルタとを含むデブロッキングフィルタを、前記復号部により生成された前記復号画像のブロック境界の近傍に位置する画素に適用するフィルタ部と、
前記フィルタ部により前記第2フィルタが適用される場合に、前記第1フィルタが適用される前の画素値に対する前記第1フィルタが適用された後の画素値の変化値をクリップする際に用いる第1クリップ値よりも大きい値である第2クリップ値を用いて、前記第2フィルタが適用される前の画素値に対する前記第2フィルタが適用された後の画素値の変化値をクリップする制御部と
して、コンピュータを機能させるプログラム。
【請求項28】
請求項27に記載のプログラムが記録されている記録媒体。
 
訂正の要旨 審決(決定)の【理由】欄参照。
審理終結日 2017-03-23 
結審通知日 2017-03-27 
審決日 2017-04-17 
出願番号 特願2013-522538(P2013-522538)
審決分類 P 1 41・ 853- Y (H04N)
最終処分 成立  
前審関与審査官 堀井 啓明  
特許庁審判長 渡邊 聡
特許庁審判官 藤井 浩
渡辺 努
登録日 2017-01-13 
登録番号 特許第6070553号(P6070553)
発明の名称 画像処理装置、画像処理方法、プログラム、並びに記録媒体  
代理人 西川 孝  
代理人 稲本 義雄  
代理人 稲本 義雄  
代理人 西川 孝  
  • この表をプリントする

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ