JP2012213128A - 画像処理装置および方法 - Google Patents

画像処理装置および方法 Download PDF

Info

Publication number
JP2012213128A
JP2012213128A JP2011229574A JP2011229574A JP2012213128A JP 2012213128 A JP2012213128 A JP 2012213128A JP 2011229574 A JP2011229574 A JP 2011229574A JP 2011229574 A JP2011229574 A JP 2011229574A JP 2012213128 A JP2012213128 A JP 2012213128A
Authority
JP
Japan
Prior art keywords
unit
pixel
image processing
target
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011229574A
Other languages
English (en)
Inventor
Kenji Kondo
健治 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2011229574A priority Critical patent/JP2012213128A/ja
Priority to US14/005,669 priority patent/US10306223B2/en
Priority to PCT/JP2012/056810 priority patent/WO2012128191A1/ja
Priority to CN201280013677.8A priority patent/CN103430544B/zh
Publication of JP2012213128A publication Critical patent/JP2012213128A/ja
Priority to US16/382,477 priority patent/US10623739B2/en
Priority to US16/821,553 priority patent/US11095889B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

【課題】処理時間の増大を抑制することができるようにする。
【解決手段】処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部とを備えるようにする。本開示は画像処理装置に適用することができる。
【選択図】図11

Description

本開示は、画像処理装置および方法に関し、特に、処理時間の増大を抑制することができるようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T(International Telecommunication Union Telecommunication Standardization Sector) Q6/16 VCEG(Video Coding Expert Group))という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下AVCと記す)という名の元に国際標準となった。
しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない恐れがあった。
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている(例えば、非特許文献1参照)。
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット(CU(Coding Unit))が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
ところで、このようは符号化方式で用いられるAdaptive Loop Filter(ALF)は、再構成画像に対してWienerフィルタを適用し、再構成画像に含まれるノイズを除去することで符号化効率および画質を改善することができる。
ALFを用いた手法の1つとして、デコーダでクラス分類が可能な情報を用いてフィルタ特性を切り替えることでフィルタの特性を局所的な状況に合わせるクラス分類ALFという方法が提案されている。クラス分類に用いる情報としては、次世代ビデオ符号化規格HEVC で検討されているクラス分類に用いる情報に、テクスチャの複雑さを得る演算子であるSML(Sum-Modified Laplacian)の大きさがある。SMLは、注目画素と周辺画素の差分を用いて算出される。
また、HEVCにおいては、非特許文献2で提案されている適応オフセットフィルタという方法が採用されている。HEVCにおいて、適応オフセットフィルタは、デブロックフィルタと適応ループフィルタの間に設けられる。
適応オフセットの種類としては、バンドオフセットと呼ばれるものが2種類、エッジオフセットと呼ばれるものが6種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットの種類により符号化するかを選択することができる。この方法を用いることで、符号化効率を向上させることができる。
このような適応オフセットフィルタのエッジオフセットにおいては、注目画素のオフセット値の算出に周辺画素値が参照される。
ところで、上述したAVCやHEVCのような画像符号化方式においては、例えば処理を並列化させるために、ピクチャを複数のスライスに分割し、スライス毎に処理を行う方法が用意されている。
"Test Model under Consideration",JCTVC-B205,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG112nd Meeting:Geneva,CH,21-28 July, 2010 "CE8 Subtest 3:Picture Quality Adaptive Offset",JCTVC-D122,2011年1月
しかしながら、ALFのクラス分類のために用いる情報(例えば再構成画像の画素値)が、処理対象である注目スライスと異なるスライスにある場合、処理対象である注目画素のフィルタ処理に必要な情報が他のスライスにある(注目スライスにない)ため、そのスライスの処理が完了しないと注目画素の処理を開始することができなくなってしまう。
また、同様に、適応オフセットフィルタ処理において、参照される周辺画素が注目スライスと異なるスライスにある場合、その周辺画素のスライスの処理が完了するまで注目画素のエッジオフセットのオフセット値を算出することができなくなってしまう。
つまり、例えば、注目画素が注目スライスの端に存在し、参照される周辺画素が他のスライス(周辺スライス)に位置する場合、その周辺スライスの処理が終了するまで、注目画素(若しくは注目スライス全体)の処理を開始することができない。このような場合、周辺スライスと注目スライスとを並列に処理することができないので、処理時間が増大し、スループットが低減する恐れがあった。
本開示は、このような状況に鑑みてなされたものであり、ピクチャを複数のスライスに分割し、そのスライス毎に並列に処理を行う画像の符号化において、周辺画素を参照して注目画素を処理する場合であっても処理時間の増大を抑制することができるようにすることを目的とする。
本開示の一側面は、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部とを備える画像処理装置である。
前記画像処理は、適応ループフィルタ処理であり、前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行うことができる。
前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求めることができる。
前記情報制御部は、前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部とを備えることができる。
前記テクスチャの複雑さを表す情報は、SML(Sum-Modified Laplacian)であるようにすることができる。
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出することができる。
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出することができる。
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出することができる。
前記算出部は、前記注目画素の上下左右に隣接する4画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出することができる。
前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とすることができる。
前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定することができる。
前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略することができる。
前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行うことができる。
前記画像処理は、適応オフセット処理であり、前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行うことができる。
前記情報制御部は、前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部とを備えることができる。
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定することができる。
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定することができる。
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定することができる。
前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行うことができる。
本開示の一側面は、また、画像処理装置の画像処理方法であって、情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う。
本開示の一側面においては、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる注目画素に対する画像処理に必要な情報が、注目画素を含むスライスに属する情報のみを用いて求められ、その求められた情報を用いて画像処理が行われる。
本開示によれば、画像を処理することができる。特に、処理時間の増大を抑制することができる。
画像符号化装置の主な構成例を示すブロック図である。 マルチスライスを説明する図である。 コーディングユニットを説明する図である。 スライスとコーディングユニットの関係を説明する図である。 スライスとコーディングユニットの関係を説明する図である。 クラス分類ALFを説明する図である。 マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の例を示す図である。 マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、他の例を示す図である。 マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、さらに他の例を示す図である。 マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、さらに他の例を示す図である。 適応ループフィルタおよびフィルタ係数制御部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 適応ループフィルタ処理の流れの例を説明するフローチャートである。 SML算出処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 適応ループフィルタおよびフィルタ係数制御部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 適応ループフィルタ処理の流れの例を説明するフローチャートである。 quad-tree構造を説明する図である。 エッジオフセットを説明する図である。 エッジオフセットの規則一覧表を示す図である。 画像符号化装置の他の構成例を示すブロック図である。 適応オフセット部の主な構成例を示すブロック図である。 エッジオフセット演算部および周辺画素値制御部の主な構成例を示すブロック図である。 符号化処理の流れの他の例を説明するフローチャートである。 適応オフセット処理の流れの例を説明するフローチャートである。 エッジオフセット処理の流れの例を説明するフローチャートである。 画像復号装置の他の構成例を示すブロック図である。 適応オフセット部の主な構成例を示すブロック図である。 復号処理の流れの他の例を説明するフローチャートである。 適応オフセット処理の流れの例を説明するフローチャートである。 パーソナルコンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
以下、本技術を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(画像符号化装置)
4.第4の実施の形態(画像復号装置)
5.第5の実施の形態(パーソナルコンピュータ)
6.第6の実施の形態(テレビジョン受像機)
7.第7の実施の形態(携帯電話機)
8.第8の実施の形態(記録再生装置)
9.第9の実施の形態(撮像装置)
<1.第1の実施の形態>
[画像符号化装置]
図1は、画像符号化装置の主な構成例を示すブロック図である。
図1に示される画像符号化装置100は、H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))符号化方式のように、予測処理を用いて画像データを符号化する。
図1に示されるように画像符号化装置100は、A/D変換部101、画面並べ替えバッファ102、演算部103、直交変換部104、量子化部105、可逆符号化部106、および蓄積バッファ107を有する。また、画像符号化装置100は、逆量子化部108、逆直交変換部109、演算部110、デブロックフィルタ111、適応ループフィルタ112、フレームメモリ113、選択部114、イントラ予測部115、動き予測・補償部116、予測画像選択部117、およびレート制御部118を有する。
画像符号化装置100は、さらに、フィルタ係数制御部121を有する。
A/D変換部101は、入力された画像データをA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ102に供給し、記憶させる。画面並べ替えバッファ102は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部103に供給する。また、画面並べ替えバッファ102は、フレームの順番を並び替えた画像を、イントラ予測部115および動き予測・補償部116にも供給する。
演算部103は、画面並べ替えバッファ102から読み出された画像から、予測画像選択部117を介してイントラ予測部115若しくは動き予測・補償部116から供給される予測画像を減算し、その差分情報を直交変換部104に出力する。
例えば、インター符号化が行われる画像の場合、演算部103は、画面並べ替えバッファ102から読み出された画像から、動き予測・補償部116から供給される予測画像を減算する。
直交変換部104は、演算部103から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部104は、その変換係数を量子化部105に供給する。
量子化部105は、直交変換部104から供給される変換係数を量子化する。量子化部105は、レート制御部118から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部105は、量子化された変換係数を可逆符号化部106に供給する。
可逆符号化部106は、量子化部105において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部118の制御の下で量子化されているので、この符号量は、レート制御部118が設定した目標値となる(若しくは目標値に近似する)。
また、可逆符号化部106は、イントラ予測のモードを示す情報などをイントラ予測部115から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部116から取得する。さらに、可逆符号化部106は、適応ループフィルタ112から供給されるalf_flag等を取得する。
可逆符号化部106は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部106は、符号化して得られた符号化データを蓄積バッファ107に供給して蓄積させる。
可逆符号化部106の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
蓄積バッファ107は、可逆符号化部106から供給された符号化データを、一時的に保持する。蓄積バッファ107は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
また、量子化部105において量子化された変換係数は、逆量子化部108にも供給される。逆量子化部108は、その量子化された変換係数を、量子化部105による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部105による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部108は、得られた変換係数を、逆直交変換部109に供給する。
逆直交変換部109は、逆量子化部108から供給された変換係数を、直交変換部104による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部104による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力(復元された差分情報)は、演算部110に供給される。
演算部110は、逆直交変換部109から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部117を介してイントラ予測部115若しくは動き予測・補償部116から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、デブロックフィルタ111またはフレームメモリ113に供給される。
デブロックフィルタ111は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ111は、フィルタ処理後の復号画像を適応ループフィルタ112に供給する。
適応ループフィルタ112は、デブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。適応ループフィルタ112は、処理対象である注目画素をクラス分類し、そのクラスに応じたフィルタ係数を用いて注目画素のフィルタ処理を行うクラス分類ALFを行う。なお、適応ループフィルタ112は、このフィルタ処理を、スライス毎に行う。
適応ループフィルタ112は、フィルタ処理結果(フィルタ処理後の復号画像)をフレームメモリ113に供給する。なお、上述したように、演算部110から出力される復号画像は、デブロックフィルタ111および適応ループフィルタ112を介さずにフレームメモリ113に供給することができる。例えば、イントラ予測に用いられる参照画像用として、デブロックフィルタ111および適応ループフィルタ112によるフィルタ処理が省略された画像がフレームメモリ113に記憶される。
フレームメモリ113は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部114に供給する。
選択部114は、フレームメモリ113から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部114は、フレームメモリ113から供給される参照画像をイントラ予測部115に供給する。また、例えば、インター予測の場合、選択部114は、フレームメモリ113から供給される参照画像を動き予測・補償部116に供給する。
イントラ予測部115は、画面並べ替えバッファ102から供給される入力画像と、選択部114を介してフレームメモリ113から供給される参照画像とを用いて、基本的にPUを処理単位として、イントラ予測(画面内予測)を行う。イントラ予測部115は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部117に供給する。また、上述したように、イントラ予測部115は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部106に供給し、符号化させる。
動き予測・補償部116は、画面並べ替えバッファ102から供給される入力画像と、選択部114を介してフレームメモリ113から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測(インター予測)を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部116は、予め用意された複数のモード(インター予測モード)でこのようなインター予測を行う。
動き予測・補償部116は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部116は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部117に供給する。
また、動き予測・補償部116は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部106に供給し、符号化させる。
予測画像選択部117は、演算部103や演算部110に供給する予測画像の供給元(イントラ予測部115若しくは動き予測・補償部116)を選択し、選択した処理部から供給される予測画像を演算部103や演算部110に供給する。
レート制御部118は、蓄積バッファ107に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
フィルタ係数制御部121は、適応ループフィルタ112が行うフィルタ処理のフィルタ係数の設定を行う。フィルタ係数制御部121は、処理対象である注目画素のクラス分類を行い、そのクラスに応じたフィルタ係数を設定する。フィルタ係数制御部121は、このフィルタ係数の設定(クラス分類)を、処理対象である注目画素が属する注目スライス外の他のスライスの情報を用いずに行う。つまり、フィルタ係数制御部121は、フィルタ係数の設定の際に、スライス単位の処理の独立性を確保する。
[マルチスライス]
MPEG2やAVC等の画像符号化方式においては、1ピクチャを複数のスライスに分割し、各スライスを並行して処理することができる(マルチスライス)。
MPEG2の場合、図2Aの例に示されるように、スライスの最大の大きさは1マクロブロックラインであり、また、Bピクチャを構成するスライスは全てBスライスでなければならない。
これに対してAVCの場合、図2Bの例に示されるように、スライスは1マクロブロックラインより大きくてもよく、スライスの境界はマクロブロックラインの右端(画面右端)でなくてもよく、また、単一のピクチャが異なる種類のスライスにより構成されていても良い。
AVCの場合、デブロックフィルタ処理はスライス境界を跨って実行することができる。ただし、適応ループフィルタ処理、イントラ予測、CABAC、CAVLC、および動きベクトルの予測等のような隣接情報を用いた処理は、スライス境界を跨って実行することが出来ない。
換言するに、各スライスの符号化処理は互いに独立して実行することができるので、1ピクチャを複数のスライスに分割し、各スライスを並列に符号化することが可能になる。つまり、このようなスライス分割により、符号化処理時間の低減(符号化処理の高速化)を実現することができる。
[コーディングユニット]
ところで、AVC符号化方式においては、マクロブロックやそのマクロブロックを複数に分割したサブマクロブロックを予測処理や符号化処理等の処理単位としていた。しかしながら、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対しては、最適ではない。
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-T(International Telecommunication Union Telecommunication Standardization Sector)と、ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)の共同の標準化団体であるJCTVC(Joint Collaboration Team - Video Coding)により、HEVC(High Efficiency Video Coding)と呼ばれる符号化方式の標準化が進められている。
AVCにおいては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、HEVCにおいては、図3に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
CUは、Coding Tree Block(CTB)とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図3の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVCにおいては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図3に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
マクロブロックの代わりに、このようなCU、PU、およびTU等を用いる符号化方式にも、本開示を適用することができる。すなわち、予測処理を行う処理単位は任意の領域であってもよい。つまり、以下において、予測処理の処理対象の領域(当該領域や注目領域とも称する)や、その注目領域の周辺に位置する領域である周辺領域には、このようなマクロブロックやサブマクロブロックだけでなく、CU、PU、およびTU等が含まれる。
以上のようなLCU(CU、PU、およびTU)は、スライスの領域を複数に分割したものであり、スライスの下位層に属する。つまり、図2に説明したようなマルチスライスの場合、図4に示されるように、LCUは、いずれかのスライス内に含まれる。
図5に示されるように、LCUの先頭アドレスは、各スライスの先頭からの相対位置で指定される。LCU内の各領域(CU、PU、およびTU)は、識別情報とサイズが指定される。つまり、各画素の位置は、それらの情報から特定可能である。従って、処理対象である注目画素やその周辺画素の位置、並びに、注目スライスの範囲は、それらの情報から容易に特定することができる。換言するに、周辺画素が注目スライスに属するか否か(availableであるかunavailableであるか)は、容易に特定可能である。
[フィルタ係数の演算]
フィルタ係数制御部121は、利用可能(available)な情報のみを用いて、注目画素に対する適応ループフィルタ処理に用いられるフィルタ係数を求める。より具体的には、フィルタ係数制御部121は、注目画素をクラス分類し、その分類したクラスに応じた値を、注目画素に対するフィルタ係数として設定する。このクラス分類のために、フィルタ係数制御部121は、SML(Sum-Modified Laplacian)を算出する。SMLは、テクスチャの複雑さを得る演算子である。つまり、フィルタ係数制御部121は、このSMLの大きさに応じて注目画素をクラス分類する。
フィルタ係数制御部121は、このSMLを、利用可能(available)な情報のみを用いて算出する。例えば、フィルタ係数制御部121は、注目画素の画素値と、注目画素の周辺に位置する利用可能(available)な周辺画素の画素値を用いて算出する。この周辺画素は、利用可能(available)なものであればどのような画素であってもよいが、基本的に、注目画素により近い位置の画素ほど相関性が高く、望ましい。
例えば、フィルタ係数制御部121は、図6に示されるように、注目画素(i,j)の画素値R(i,j)、注目画素の左に隣接する周辺画素の画素値R(i−1,j)、注目画素の右に隣接する周辺画素の画素値R(i+1,j)、注目画素の上に隣接する周辺画素の画素値R(i,j−1)、および、注目画素の下に隣接する周辺画素の画素値R(i,j+1)を用いて、注目画素のSML(i,j)を以下の式(1)のように算出する。なお、位置(i,j)の画素の画素値をR(i,j)とする。
SML(i,j)=|2×R(i,j)−R(i−1,j)−R(i+1,j)|
+|2×R(i,j)−R(i,j−1)−R(i,j+1)|
・・・(1)
フィルタ係数制御部121は、このSML(i,j)の大きさに基づいて注目画素をクラス分類し、そのクラスに応じた値を、注目画素に対するフィルタ係数として設定する。
[マルチスライスのクラス分類ALF]
以上のように、クラス分類ALFにおいては、注目画素のクラス分類の際に周辺画素の画素値が参照される。しかしながら、上述したようなマルチスライスの場合、参照される可能性のある周辺画素が注目画素と異なるスライスに位置する可能性がある。
図7乃至図10にマルチスライスと、クラス分類ALFの注目領域および周辺領域の位置関係の例を示す。
図7は、注目画素(i,j)とその上下左右に隣接する周辺画素が、全て1つのスライス(スライス1)内に位置する(注目スライスに属する)様子を示している。なお、iは、画素の横方向の位置を示し、jは、画素の縦方向の位置を示す。また、スライスの左上端を原点(0,0)とする。
この場合、フィルタ係数制御部121は、注目画素のクラス分類(SML算出)において、全ての周辺画素の画素値を参照することができる(availableである)。
図8は、注目画素(i,j)、注目画素の下に隣接する周辺画素(i,j+1)、注目画素の左に隣接する周辺画素(i−1,j)、および、注目画素の右に隣接する周辺画素(i+1,j)、がスライス1内に位置する(注目スライスに属する)が、注目画素の上に隣接する周辺画素(i,j−1)は、スライス0内に位置する(注目スライスに属さない)様子を示している。
この場合、フィルタ係数制御部121は、周辺画素(i,j+1)、周辺画素(i−1,j)、および、周辺画素(i+1,j)を参照することはできる(availableである)が、周辺画素(i,j−1)を参照することはできない(unavailableである)。
図9は、注目画素(i,j)、注目画素の上に隣接する周辺画素(i,j−1)、注目画素の左に隣接する周辺画素(i−1,j)、および、注目画素の右に隣接する周辺画素(i+1,j)、がスライス1内に位置する(注目スライスに属する)が、注目画素の下に隣接する周辺画素(i,j+1)は、ピクチャまたはフレーム外に位置する(存在しない)様子を示している。
この場合、フィルタ係数制御部121は、周辺画素(i,j−1)、周辺画素(i−1,j)、および、周辺画素(i+1,j)を参照することはできる(availableである)が、周辺画素(i,j+1)を参照することはできない(unavailableである)。
図10は、注目画素(i,j)、注目画素の上に隣接する周辺画素(i,j−1)、注目画素の下に隣接する周辺画素(i,j+1)、および、注目画素の右に隣接する周辺画素(i+1,j)、がスライス1内に位置する(注目スライスに属する)が、注目画素の左に隣接する周辺画素(i−1,j)は、スライス0内に位置する(注目スライスに属さない)様子を示している。
この場合、フィルタ係数制御部121は、周辺画素(i,j−1)、周辺画素(i,j+1)、および、周辺画素(i+1,j)を参照することはできる(availableである)が、周辺画素(i−1,j)を参照することはできない(unavailableである)。
なお、図9に示されるように、スライス境界には、スライス間の境界の他に、ピクチャ端も含まれる。重要なことは、周辺画素の画素値が利用可能(available)であるか否か、すなわち、周辺画素が注目スライスに含まれるか否かということである。したがって、周辺画素の画素値が利用不可能(unavailable)な状態には、その周辺画素が他のスライスに属する場合の他に、その周辺画素が存在しない(ピクチャの外に位置することになる)場合も含まれる。
なお、例えば、周辺画素(i,j−1)と周辺画素(i−1,j)とが利用不可能となる等、複数の周辺画素が注目スライスに含まれない場合も考えられる。つまり、スライス境界と注目画素との位置関係は、図7乃至図10に示される例に限定されない。
図8乃至図10に示されるように、少なくとも一部の周辺画素の画素値が利用不可能(unavailable)な場合、フィルタ係数制御部121は、その画素値を用いずに注目画素のSMLの算出を行う。
このSMLは、テクスチャの複雑さを得る演算子であるので、注目領域の周辺画素との画素値の相関性の強さを示すパラメータとも言える。そこで、フィルタ係数制御部121は、利用不可能(unavailable)な周辺画素の画素値の代わりに、例えば、画素間の画素値の相関性を利用して、その周辺画素の近傍に位置する利用可能(available)な画素(周辺画素に隣接する画素を含む)の画素値を用いてSMLを算出するようにしてもよい。さらに、その近傍の画素として、フィルタ係数制御部121は、例えば、注目画素の画素値を用いてSMLを算出するようにしてもよい。
さらに、例えば、フィルタ係数制御部121は、演算を容易にするために、利用不可能(unavailable)な周辺画素の画素値の代わりに、所定の固定値を用いて、SMLの算出を行うようにしてもよい。
もちろん、これら以外の方法であっても良い。例えば、フィルタ係数制御部121は、利用不可能(unavailable)な周辺画素の画素値の代わりとする値を、1つ若しくは複数の他の利用可能(available)な画素の画素値を用いて、所定の演算により算出するようにし、その値を用いてSMLを算出するようにしてもよい。
このようにすることにより、フィルタ係数制御部121は、各画素のSMLの算出、すなわち、クラス分類やフィルタ係数の算出を、他のスライスの情報を参照せずに行うことができる。つまり、フィルタ係数制御部121は、これらの処理を、スライス毎に独立して行うことができる。従って、適応ループフィルタ112は、適応ループフィルタ処理を、スライス毎に独立に行うことができ、マルチスライスの場合であっても、適応ループフィルタ処理のスループットの低減を抑制することができる。つまり、画像符号化装置100は、符号化処理の処理時間の増大を抑制することができる。
[適応ループフィルタおよびフィルタ係数制御部]
図11は、適応ループフィルタ112およびフィルタ係数制御部121の主な構成例を示すブロック図である。
図11に示されるように、適応ループフィルタ112は、制御部131およびフィルタ処理部132を有する。
また、フィルタ係数制御部121は、位置判定部141、SML算出部142、クラス分類部143、フィルタ係数設定部144を有する。
制御部131は、適応ループフィルタ処理を行うか否かを示すフラグalf_flagの値に基づいて、フィルタ処理部132の適応ループフィルタ処理を制御する。また、制御部131は、適応ループフィルタ処理を行う際、フィルタ係数制御部121の位置判定部141に処理の開始を指示する。さらに、制御部131は、alf_flagを可逆符号化部106に供給し、符号化させ、復号側に伝送させる。
フィルタ処理部132は、制御部131の制御に従って、フィルタ係数設定部144から供給されるフィルタ係数を用いて、デブロックフィルタ111から供給されるデブロックフィルタ処理後の画素値に対するフィルタ処理を行う。フィルタ処理部132は、フィルタ処理後の画素値を保持するとともに、フレームメモリ113に供給し、参照画像として記憶させる。保持した画素値は、注目画素より後に処理される他の画素に対する処理において、周辺画素の画素値として再利用される。
位置判定部141は、制御部131の制御に従って、可逆符号化部106から、スライスや、処理対象である注目画素等の位置を示すアドレス情報を取得する。これらのアドレス情報は、例えば、可逆符号化部106が生成したシーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、若しくはスライスヘッダ等に格納されている。位置判定部141は、取得したアドレス情報を用いて、注目画素の注目スライス内における位置を判定する。
SML算出部142は、位置判定部141による位置判定結果(位置情報)に基づいて、フィルタ処理部132から取得した注目画素の画素値や周辺画素の画素値を用いて(注目スライス外の情報を参照せずに)、注目画素のSMLを算出する。
クラス分類部143は、SML算出部142により算出されたSMLを用いて注目画素のクラス分類を行う。
フィルタ係数設定部144は、クラス分類部143から取得したクラス情報(クラス分類結果)に従って、注目画素に対して、そのクラスに応じたフィルタ係数を設定する。フィルタ係数設定部144は、設定したフィルタ係数をフィルタ処理部132に供給する。フィルタ処理部132は、そのフィルタ係数を用いて注目画素に対するフィルタ処理を行う。
[符号化処理の流れ]
次に、以上のような画像符号化装置100により実行される各処理の流れについて説明する。最初に、図12のフローチャートを参照して、符号化処理の流れの例を説明する。なお、図12に示される各ステップの処理は、それぞれの処理単位毎に行われる。したがって、各処理の処理単位は互いに等しいとは限らない。したがって、各データは、以下に説明するような手順で処理されるが、実際に、各ステップの処理の処理順が、以下に説明するような順になるとは限らない。
ステップS101において、A/D変換部101は入力された画像をA/D変換する。ステップS102において、画面並べ替えバッファ102は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS103において、イントラ予測部115は、イントラ予測モードのイントラ予測処理を行う。ステップS104において、動き予測・補償部116は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
ステップS105において、予測画像選択部117は、イントラ予測部115および動き予測・補償部116から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部117は、イントラ予測部115により生成された予測画像と、動き予測・補償部116により生成された予測画像のいずれか一方を選択する。
ステップS106において、演算部103は、ステップS102の処理により並び替えられた画像と、ステップS105の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS107において、直交変換部104は、ステップS106の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
ステップS108において、量子化部105は、ステップS107の処理により得られた直交変換係数を量子化する。
ステップS108の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部108は、ステップS108の処理により生成された量子化された直交変換係数(量子化係数とも称する)を量子化部105の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部109は、ステップS107の処理により得られた直交変換係数を、直交変換部104の特性に対応する特性で逆直交変換する。
ステップS111において、演算部110は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部103への入力に対応する画像)を生成する。ステップS112においてデブロックフィルタ111は、ステップS111の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理を適宜行う。
ステップS113において、適応ループフィルタ112およびフィルタ係数制御部121は、デブロックフィルタ処理された復号画像に対して、スライス毎に独立して、適応ループフィルタ処理を行う。
ステップS114において、フレームメモリ113は、ステップS113の処理により適応ループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ113にはデブロックフィルタ111や適応ループフィルタ112によりフィルタ処理されていない画像も演算部110から供給され、記憶される。
ステップS115において、可逆符号化部106は、ステップS108の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
なお、可逆符号化部106は、ステップS108において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部106は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部115から供給される最適イントラ予測モード情報、または、動き予測・補償部116から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
さらに、可逆符号化部106は、alf_flag等のフィルタ処理に関する情報も符号化し、符号化データに付加する。
ステップS116において蓄積バッファ107は、ステップS115の処理により得られた符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS117においてレート制御部118は、ステップS116の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。
ステップS117の処理が終了すると、符号化処理が終了される。
[適応ループフィルタ処理の流れ]
次に、図13のフローチャートを参照して、図12のステップS113において実行される適応ループフィルタ処理の流れの例を説明する。
適応ループフィルタ処理が開始されると、制御部131は、ステップS131において、処理対象である注目スライスの最初の画素を処理対象(注目画素)とする。ステップS132において、制御部131は、全ての画素を処理したか否かを判定し、未処理の画素が存在すると判定された場合、処理をステップS133に進め、位置判定部141を制御する。
位置判定部141は、ステップS133において、注目スライスや注目画素等のアドレス情報を取得し、ステップS134において、周辺画素の位置を判定する。つまり、位置判定部141は、注目画素の注目スライス内における位置に基づいて、周辺画素が注目スライス内に位置するか否か(利用可能(available)であるか否か)を判定する。
ステップS135において、SML算出部142は、ステップS134の位置判定結果に従って、注目領域のSML(i,j)の算出を行う。
ステップS136において、クラス分類部143は、ステップS135において算出されたSML(i,j)の大きさに応じて注目画素をクラス分類する。
ステップS137において、フィルタ係数設定部144は、ステップS136において分類されたクラスに応じて、注目画素に対するフィルタ係数を設定する。
ステップS138において、制御部131は、適応ループフィルタ処理を行うか否かを示すフラグ情報であるalf_flagの値が1であるか否かを判定する。値が1であると判定した場合、制御部131は、処理をステップS139に進め、フィルタ処理部132を制御する。
ステップS139において、フィルタ処理部132は、ステップS137において設定されたフィルタ係数を用いて、注目画素に対するフィルタ処理を行う。
また、ステップS138において、alf_flagの値が0であると判定した場合、制御部131は、処理をステップS140に進める。ステップS140において、制御部131は、alf_flagを可逆符号化部106に供給し、符号化させる。
ステップS141において、制御部131は、処理対象を更新して次の画素にする。制御部131は、ステップS141の処理を終了すると、処理をステップS132に戻し、それ以降の処理を繰り返す。
以上のように、ステップS132乃至ステップS141の処理を繰り返し、ステップS132において、注目スライス内の全ての画素を処理したと判定した場合、制御部131は、適応ループフィルタ処理を終了し、処理を図12に戻す。
[SML算出処理の流れ]
次に、図14のフローチャートを参照して、図13のステップS135において実行されるSML算出処理の流れの例を説明する。
SML算出処理が開始されると、SML算出部142は、ステップS161において、周辺画素(i−1,j)は、注目スライスに含まれるか否かを判定する。
周辺画素(i−1,j)が注目スライスに含まれると判定した場合、SML算出部142は、ステップS162に処理を進め、以下の式(2)に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
R’(i−1,j)=R(i−1,j) ・・・(2)
これに対して、ステップS161において、周辺画素(i−1,j)が注目スライスに含まれないと判定した場合、SML算出部142は、ステップS163に処理を進め、以下の式(3)に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
R’(i−1,j)=R(i,j) ・・・(3)
ステップS164において、SML算出部142は、周辺画素(i+1,j)は、注目スライスに含まれるか否かを判定する。
周辺画素(i+1,j)が注目スライスに含まれると判定した場合、SML算出部142は、ステップS165に処理を進め、以下の式(4)に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
R’(i+1,j)=R(i+1,j) ・・・(4)
これに対して、ステップS164において、周辺画素(i+1,j)が注目スライスに含まれないと判定した場合、SML算出部142は、ステップS166に処理を進め、以下の式(5)に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
R’(i+1,j)=R(i,j) ・・・(5)
ステップS167において、SML算出部142は、周辺画素(i,j−1)は、注目スライスに含まれるか否かを判定する。
周辺画素(i,j−1)が注目スライスに含まれると判定した場合、SML算出部142は、ステップS168に処理を進め、以下の式(6)に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
R’(i,j−1)=R(i,j−1) ・・・(6)
これに対して、ステップS167において、周辺画素(i,j−1)が注目スライスに含まれないと判定した場合、SML算出部142は、ステップS169に処理を進め、以下の式(7)に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
R’(i,j−1)=R(i,j) ・・・(7)
ステップS170において、SML算出部142は、周辺画素(i,j+1)は、注目スライスに含まれるか否かを判定する。
周辺画素(i,j+1)が注目スライスに含まれると判定した場合、SML算出部142は、ステップS171に処理を進め、以下の式(8)に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
R’(i,j+1)=R(i,j+1) ・・・(8)
これに対して、ステップS170において、周辺画素(i,j+1)が注目スライスに含まれないと判定した場合、SML算出部142は、ステップS172に処理を進め、以下の式(9)に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
R’(i,j+1)=R(i,j) ・・・(9)
ステップS173において、SML算出部142は、上述した各処理の処理結果を踏まえ、各周辺画素の画素値を用いて、以下の式(10)に示されるように、注目画素のSML(i,j)を算出する。
SML(i,j)=|2×R’(i,j)−R’(i−1,j)−R’(i+1,j)|
+|2×R’(i,j)−R’(i,j−1)−R’(i,j+1)|
・・・(10)
SMLを算出すると、SML算出部142は、SML算出処理を終了し、処理を図13に戻す。
以上のように各種処理を行うことにより、画像符号化装置100は、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
<2.第2の実施の形態>
[画像復号装置]
図15は、画像復号装置の主な構成例を示すブロック図である。図15に示される画像復号装置200は、画像符号化装置100が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
図15に示されるように画像復号装置200は、蓄積バッファ201、可逆復号部202、逆量子化部203、逆直交変換部204、演算部205、デブロックフィルタ206、適応ループフィルタ207、画面並べ替えバッファ208、およびD/A変換部209を有する。また、画像復号装置200は、フレームメモリ210、選択部211、イントラ予測部212、動き予測・補償部213、および選択部214を有する。
さらに、画像復号装置200は、フィルタ係数制御部221を有する。
蓄積バッファ201は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部202に供給する。可逆復号部202は、蓄積バッファ201より供給された、図1の可逆符号化部106により符号化された情報を、可逆符号化部106の符号化方式に対応する方式で復号する。可逆復号部202は、復号して得られた差分画像の量子化された係数データを、逆量子化部203に供給する。
また、可逆復号部202は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部212および動き予測・補償部213の内、選択されたと判定したモードの方に供給する。
逆量子化部203は、可逆復号部202により復号されて得られた量子化された係数データを、図1の量子化部105の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部204に供給する。
逆直交変換部204は、図1の直交変換部104の直交変換方式に対応する方式で逆量子化部203から供給される係数データを逆直交変換する。逆直交変換部204は、この逆直交変換処理により、画像符号化装置100において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部205に供給される。また、演算部205には、選択部214を介して、イントラ予測部212若しくは動き予測・補償部213から予測画像が供給される。
演算部205は、その復号残差データと予測画像とを加算し、画像符号化装置100の演算部103により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部205は、その復号画像データをデブロックフィルタ206に供給する。
デブロックフィルタ206は、供給された復号画像に対して、デブロックフィルタ処理を適宜施し、復号画像のブロック歪を除去する。デブロックフィルタ206は、フィルタ処理後の復号画像データを適応ループフィルタ207に供給する。
適応ループフィルタ207は、デブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理(クラス分類ALF)を行うことにより画質改善を行う。適応ループフィルタ207は、フィルタ処理後の復号画像データを、画面並べ替えバッファ208およびフレームメモリ210に供給する。なお、演算部205から出力される復号画像(例えばイントラ予測に用いる参照画像)は、デブロックフィルタ206および適応ループフィルタ207を介さずにフレームメモリ210に供給することができる。
画面並べ替えバッファ208は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ102により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部209は、画面並べ替えバッファ208から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
フレームメモリ210は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部212や動き予測・補償部213等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部211に供給する。
選択部211は、フレームメモリ210から供給される参照画像の供給先を選択する。選択部211は、イントラ符号化された画像を復号する場合、フレームメモリ210から供給される参照画像をイントラ予測部212に供給する。また、選択部211は、インター符号化された画像を復号する場合、フレームメモリ210から供給される参照画像を動き予測・補償部213に供給する。
イントラ予測部212には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部202から適宜供給される。イントラ予測部212は、図1のイントラ予測部115において用いられたイントラ予測モードで、フレームメモリ210から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部212は、生成した予測画像を選択部214に供給する。
動き予測・補償部213は、ヘッダ情報を復号して得られた情報(最適予測モード情報、差分情報、および予測動きベクトル情報のコードナンバ等)を可逆復号部202から取得する。
動き予測・補償部213は、図1の動き予測・補償部116において用いられたインター予測モードで、フレームメモリ210から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
選択部214は、イントラ予測部212から供給された予測画像、若しくは、動き予測・補償部213から供給された予測画像を演算部205に供給する。
フィルタ係数制御部221は、注目画素を、そのSMLに基づいてクラス分類し、適応ループフィルタ207により用いられるフィルタ係数を設定し、それを適応ループフィルタ207に供給する。なお、フィルタ係数制御部221は、注目スライス外の情報を参照せずに、注目がそのSMLを算出する。
このようにすることにより、適応ループフィルタ207は、スライス毎に独立してフィルタ処理を行うことができる。
[適応ループフィルタおよびフィルタ係数制御部]
図16は、適応ループフィルタ207およびフィルタ係数制御部221の主な構成例を示すブロック図である。
適応ループフィルタ207は、基本的に、画像符号化装置100の適応ループフィルタ112(図11)と同様の構成を有し、同様の処理を行う。つまり、図16に示されるように、適応ループフィルタ207は、制御部231およびフィルタ処理部232を有する。
フィルタ係数制御部221は、基本的に、画像符号化装置100のフィルタ係数制御部121(図11)と同様の構成を有し、同様の処理を行う。つまり、図16に示されるように、フィルタ係数制御部221は、位置判定部241、SML算出部242、クラス分類部243、およびフィルタ係数設定部244を有する。
制御部231は、基本的に制御部131(図11)と同様の処理を行う。ただし、制御部231は、画像符号化装置100から供給されたalf_flagを可逆復号部202から取得し、そのalf_flagの値に従ってクラス分類ALFを行うか否か(フィルタ係数制御部221およびフィルタ処理部232の動作)を制御する。
フィルタ処理部232は、フィルタ処理部132(図11)と同様に、制御部231に制御されて、フィルタ係数設定部244から供給されるフィルタ係数を用いて、デブロックフィルタ206から供給されるデブロックフィルタ処理後の画素値に対するフィルタ処理を行う。フィルタ処理部232は、フィルタ処理後の画素値を保持するとともに、画面並べ替えバッファ208およびフレームメモリ210にその画素値を供給し、参照画像として記憶させる。保持した画素値は、注目画素より後に処理される他の画素に対する処理において、周辺画素の画素値として再利用される。
フィルタ係数制御部221の位置判定部241乃至フィルタ係数設定部244は、位置判定部141乃至フィルタ係数設定部144のそれぞれに対応し、同様の処理を行う。
つまり、位置判定部241が、制御部231の制御に従って、可逆復号部202から、スライスや、処理対象である注目画素等の位置を示すアドレス情報を取得する。これらのアドレス情報は、例えば、画像符号化装置100から伝送されるビットストリームのSPS、PPS、若しくはスライスヘッダ等に格納されている。位置判定部241は、可逆復号部202が復号したこれらの情報の中からアドレス情報を取得し、そのアドレス情報を用いて、注目画素の注目スライス内における位置を判定する。
SML算出部242は、位置判定部241による位置判定結果(位置情報)に基づいて、フィルタ処理部232から取得した注目画素の画素値や周辺画素の画素値を用いて(注目スライス外の情報を参照せずに)、注目画素のSMLを算出する。
クラス分類部243は、SML算出部242により算出されたSMLを用いて注目画素のクラス分類を行う。
フィルタ係数設定部244は、クラス分類部243から取得したクラス情報(クラス分類結果)に従って、注目画素に対して、そのクラスに応じたフィルタ係数を設定する。フィルタ係数設定部244は、設定したフィルタ係数をフィルタ処理部232に供給する。フィルタ処理部232は、そのフィルタ係数を用いて注目画素に対するフィルタ処理を行う。
[復号処理の流れ]
次に、図17のフローチャートを参照して、以上のような画像復号装置200により実行される復号処理の流れの例を説明する。
復号処理が開始されると、ステップS201において、蓄積バッファ201は、伝送されてきたビットストリームを蓄積する。ステップS202において、可逆復号部202は、蓄積バッファ201から供給されるビットストリームを復号する。すなわち、図1の可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。また、SPS、PPS、およびスライスヘッダなど、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
ステップS203において、逆量子化部203は、ステップS202の処理により得られた、量子化された直交変換係数を逆量子化する。ステップS204において逆直交変換部204は、ステップS203において逆量子化された直交変換係数を逆直交変換する。
ステップS205において、イントラ予測部212若しくは動き予測・補償部213は、供給された情報を用いて予測処理を行う。ステップS206において、選択部214は、ステップS205において生成された予測画像を選択する。ステップS207において、演算部205は、ステップS204において逆直交変換されて得られた差分画像情報に、ステップS206において選択された予測画像を加算する。これにより復号画像が得られる。
ステップS208において、デブロックフィルタ206は、ステップS207において得られた復号画像に対して、デブロックフィルタ処理を適宜行う。
ステップS209において、適応ループフィルタ207およびフィルタ係数制御部221は、そのデブロックフィルタ処理後の復号画像に対して、適応ループフィルタ処理を適宜行う。なお、適応ループフィルタ207およびフィルタ係数制御部221は、この適応ループフィルタ処理を、スライス毎に独立して行う。
この適応ループフィルタ処理の詳細は、図13のフローチャートを参照して説明した画像符号化装置100による適応ループフィルタ処理と同様であるので、その説明は省略する。
ステップS210において、画面並べ替えバッファ208は、ステップS209においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置100の画面並べ替えバッファ102により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS211において、D/A変換部209は、ステップS210においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS212において、フレームメモリ210は、ステップS209においてフィルタ処理された画像を記憶する。この画像は、ステップS205において、参照画像として、予測画像の生成に使用される。
ステップS212の処理が終了すると、復号処理が終了される。
以上のように、各種処理を行うことにより、適応ループフィルタ207およびフィルタ係数制御部221は、注目スライス内の情報のみを参照すればよいので、他のスライスの処理が終了するまで待機する必要がない。したがって、画像復号装置200は、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
[その他の例]
なお、以上においては、周辺画素が注目スライスに含まれない場合、注目スライス外の情報を参照しないようにしてSMLを算出し、クラス分類するように説明したが、これに限らず、例えば、周辺画素が注目スライスに含まれない注目画素は、SMLを算出する演算を省略し、予め定められた所定のクラスに分類する(所定のフィルタ係数を設定する)ようにしてもよい。このようにすることによりフィルタ係数の設定がより容易になる。
また、周辺画素が注目スライスに含まれない注目画素に対するフィルタ処理を省略するようにしてもよい。
図18のフローチャートを参照して、その場合の適応ループフィルタ処理の流れの例を説明する。
この場合も、適応ループフィルタ処理の各処理は、基本的に図13の場合と同様に実行される。すなわち、ステップS231乃至ステップS234の各処理が、図13のステップS131乃至ステップS134の各処理と同様に実行される。
ただし、ステップS235において、位置判定部141は、周辺画素が注目スライスに含まれるか否かを判定し、周辺画素が注目スライスに含まれると判定した場合のみ、処理をステップS236に進める。この場合、ステップS236乃至ステップS242の各処理が、図13のステップS135乃至ステップS141の各処理と同様に実行される。
また、ステップS235において、周辺画素が注目スライスに含まれないと判定した場合、位置判定部141は、処理をステップS232に戻し、処理対象を次の画素にする。
このように、適応ループフィルタ処理を行うことにより、適応ループフィルタ112およびフィルタ係数制御部121は、より容易に適応ループフィルタ処理を行うことができる。
なお、以上においては画像符号化装置100が行う適応ループフィルタ処理について説明したが、画像復号装置200が行う適応ループフィルタ処理も同様に行うことができる。
また、以上においては、注目画素の上下左右に隣接する画素を周辺画素とするように説明したが、これに限らず、例えば、注目画素の右上に隣接する画素、右下に隣接する画素、左上に隣接する画素、または左下に隣接する画素等を周辺画素としてもよい。さらに、周辺画素は、注目画素に隣接していなくてもよい。また、SMLの算出方法は上述した以外であってもよい。例えば、周辺画素の数は任意であり、5画素以上であってもよいし、3画素以下であってもよい。
さらに、以上においては、画像復号装置200が、画像符号化装置100と同様に、フィルタ係数を算出するように説明したが、これに限らず、画像符号化装置100が使用したフィルタ係数を画像復号装置200に伝送し、画像復号装置200が、その画像符号化装置100から供給されたフィルタ係数を用いて適応ループフィルタ処理を行うようにしてもよい。その場合、フィルタ係数制御部221は省略することができる。
また、画像符号化装置100(制御部131)が、クラス分類ALFを、スライス毎に独立して行うか否かを制御するフラグをスライス毎に生成し、画像復号装置200に伝送させるようにしてもよい。
このフラグがセットされた(例えば値が1の)スライスにおいては、画像符号化装置100は、上述したように、利用可能な画素の情報のみを用いて、クラス分類ALFをスライス毎に独立して行う。これに対して、フラグがセットされていない(例えば値が0の)スライスにおいては、画像符号化装置100は、周辺画素が他のスライスに属する場合であっても、全ての周辺画素の画素値が揃ってからSMLを算出し、注目画素をクラス分類してフィルタ係数を設定する。
画像復号装置200においては、画像符号化装置100から供給されたこのフラグの値が1の場合、注目スライスを、他のスライスとは独立してクラス分類ALFを行い、画像符号化装置100から供給されたこのフラグの値が0の場合、注目スライスを、他のスライスとは独立させずにクラス分類ALFを行う。
以上においては、クラス分類をSMLの大きさに基づいて行うように説明したが、クラス分類に用いるパラメータは、注目画素以外の画素を参照して求めるものであればどのようなパラメータであってもよい。例えば、分散値を用いるようにしてもよいし、画素値の変化量の大きさを用いるようにしてもよい。その場合も、上述したSMLの場合と同様に、注目スライス外の情報を用いずに、パラメータの算出が行われるようにすることにより、スライス単位の処理の独立性を確保することができる。
<3.第3の実施の形態>
[適応オフセットフィルタ]
以上においては、適応ループフィルタについて説明したが、本技術は、注目画素を処理する際にその周辺画素を参照する処理であればどのような処理にも適用することができる。例えば、HEVCにおいて採用される適応オフセットフィルタ処理にも適用することができる。
以下に、HEVC方式における適応オフセットフィルタについて説明する。HEVC方式においては、非特許文献2に記載のSample Adaptive Offset方式が採用されている。
適応オフセットフィルタ(Picture Quality Adaptive Offset:PQAO)の処理は、デブロックフィルタの処理と、適応ループフィルタの処理との間で行われる。
適応オフセットの種類としては、バンドオフセットと呼ばれるものが2種類、エッジオフセットと呼ばれるものが6種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットの種類により符号化するか否かを選択することができる。
この選択情報が、PQAO Info.として、符号化部(Entropy Coding)により符号化され、ビットストリームが生成され、生成されたビットストリームが復号側に送信される。この方法を用いることで、符号化効率を向上させることができる。
ここで、図19を参照して、quad-tree構造について説明する。quad-tree分割(quad-tree構造化)は、任意の領域毎に行われるようにすることができるが、以下においてはLCU毎に行われるものとして説明する。
図19のA1に示される領域0は、LCUが分割されていない状態を示す(Level-0(分割深度0))。画像符号化装置は、まず、この領域0(すなわちLCU)のコスト関数値J0を計算する。図19のA1に示される4つの領域1乃至領域4は、領域0が縦および横にそれぞれ2分割(合計4分割)された状態を示す(Level-1(分割深度1))。画像符号化装置は、これらの領域1乃至領域4のコスト関数値J1,J2,J3、およびJ4をそれぞれ算出する。
領域0乃至領域4のそれぞれのコスト関数値を算出すると、画像符号化装置は、図19のA2に示されるように、それらのコスト関数値をLevel(分割深度)毎に比較し、その値が小さい方のLevel(分割深度)を選択する。例えば、J0>(J1+J2+J3+J4)の場合、画像符号化装置は、Level-1の分割領域(Partitions)を選択する。つまり、この場合、LCUは、少なくとも領域1乃至領域4の4つの領域に分割される。
なお、例えば、J0<(J1+J2+J3+J4)の場合、画像符号化装置は、Level-0の分割領域(Partitions)を選択する。この場合、LCUは分割されない(領域0)。
画像符号化装置は、このような領域分割を、領域分割により形成された各領域について繰り返す。図19のA3に示される領域5乃至領域20は、図19のA2に示される領域1乃至領域4がそれぞれ、縦および横に2分割(合計4分割)された状態を示す(Level-2(分割深度2))。つまり、LCUは、16個の領域に分割されている。画像符号化装置は、これらの領域5乃至領域20のコスト関数値J5乃至J20をそれぞれ算出する。
領域5乃至領域20のそれぞれのコスト関数値を算出すると、画像符号化装置は、図19のA4に示されるように、Level-1(分割深度1)とLevel-2(分割深度2)とで、それらのコスト関数値を比較し、その値が小さい方のLevel(分割深度)を選択する。
つまり、画像符号化装置は、領域1のコスト関数値J1と、領域5、領域6、領域9、および領域10の各コスト関数値の和とを比較する。例えば、J1<(J5+J6+J9+J10)の場合、画像符号化装置は、Level-1の分割領域(Partitions)を選択する。この場合、領域1はこれ以上分割されない。逆に、例えばJ1>(J5+J6+J9+J10)の場合、画像符号化装置は、Level-2の分割領域(Partitions)を選択する。この場合、領域1は、少なくとも領域5、領域6、領域9、および領域10の4つの領域に分割される。
また、画像符号化装置は、領域2のコスト関数値J2と、領域7、領域8、領域11、および領域12の各コスト関数値の和とを比較する。例えば、J2>(J7+J8+J11+J12)の場合、画像符号化装置は、Level-2の分割領域(Partitions)を選択する。この場合、領域2は、少なくとも領域7、領域8、領域11、および領域12の4つの領域に分割される。逆に、例えばJ2<(J7+J8+J11+J12)の場合、画像符号化装置は、Level-1の分割領域(Partitions)を選択する。この場合、領域2はこれ以上分割されない。
さらに、画像符号化装置は、領域3のコスト関数値J3と、領域13、領域14、領域17、および領域18の各コスト関数値の和とを比較する。例えば、J3>(J13+J14+J17+J18)の場合、画像符号化装置は、Level-2の分割領域(Partitions)を選択する。この場合、領域3は、少なくとも領域13、領域14、領域17、および領域18の4つの領域に分割される。逆に、例えばJ3<(J13+J14+J17+J18)の場合、画像符号化装置は、Level-1の分割領域(Partitions)を選択する。この場合、領域3はこれ以上分割されない。
また、画像符号化装置は、領域4のコスト関数値J4と、領域15、領域16、領域19、および領域20の各コスト関数値の和とを比較する。例えばJ4<(J15+J16+J19+J20)の場合、画像符号化装置は、Level-1の分割領域(Partitions)を選択する。この場合、領域4はこれ以上分割されない。逆に、例えば、J4>(J15+J16+J19+J20)の場合、画像符号化装置は、Level-2の分割領域(Partitions)を選択する。この場合、領域4は、少なくとも領域15、領域16、領域19、および領域20の4つの領域に分割される。
画像符号化装置は、さらに、Level-2の分割領域(Partitions)に対して同様の領域分割を繰り返す。画像符号化装置は、分割が行われなくなるか、若しくは、予め定められたSCUのLevel(分割深度)に達するまでこのような領域分割を繰り返す。
このような領域分割の結果、例えば、図19のA4に示されるようなQuad-tree構造が得られると、画像符号化装置は、このQuad-tree構造における各領域を、最終的なQuad-tree領域(Partitions)として決定する。
このように決定されたQuad-tree構造の領域毎に、コスト関数値を用いて、オフセットのモード(オフセットを行うか否かを含む)の選択が行われる。つまり、画像符号化装置は、各領域について、2種類のバンドオフセット、6種類のエッジオフセット、およびオフセットなしのすべてのモードについてのコスト関数値を算出し、そのコスト関数値が最小のモードを選択する。
図19の例の場合、白矢印の右側に示されるように、領域1に対してEO(4)、すなわち、エッジオフセットのうちの4種類目が決定されている。領域7に対しては、OFF、すなわち、オフセットなしが決定されており、領域8に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域11および12に対しては、OFF、すなわち、オフセットなしが決定されている。
また、領域13に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されており、領域14に対しては、EO(2)、すなわち、エッジオフセットのうちの2種類目が決定されている。領域17に対しては、BO(2)、すなわち、バンドオフセットのうちの2種類目が決定されており、領域18に対しては、BO(1)、すなわち、バンドオフセットのうちの1種類目が決定されている。領域4に対しては、EO(1)、すなわち、エッジオフセットのうちの1種類目が決定されている。
次に、図20を参照して、エッジオフセットの詳細について説明する。
エッジオフセットにおいては、処理対象である注目画素の画素値(注目画素値)と、注目画素周辺に位置する(例えば隣接する)周辺画素の画素値(周辺画素値)の比較が行われ、これに対応したカテゴリに対して、オフセット値が伝送されることになる。
エッジオフセットには、図20のA乃至Dに示される4つの1次元パターンと、図20のEおよびFに示される2つの2次元パターンが存在し、それぞれ、図21に示されるカテゴリでオフセットが伝送される。
図20のAは、注目画素Cに対して、周辺画素が左右の1次元に配置されている、すなわち、図20のAのパターンに対して0度をなしている1-D,0-degreeパターンを表している。図20のBは、注目画素Cに対して、周辺画素が上下の1次元に配置されている、すなわち、図20のAのパターンに対して90度をなしている1-D,90-degreeパターンを表している。
図20のCは、注目画素Cに対して、周辺画素が左上と右下の1次元に配置されている、すなわち、図20のAのパターンに対して135度をなしている1-D,135-degreeパターンを表している。図20のDは、注目画素Cに対して、周辺画素が右上と左下の1次元に配置されている、すなわち、図20のAのパターンに対して45度をなしている1-D,135-degreeパターンを表している。
図20のEは、注目画素Cに対して、周辺画素が上下左右2次元に配置されている、すなわち、注目画素Cに対して交差している2-D,crossパターンを表している。図20のFは、注目画素Cに対して、周辺画素が右上左下、左上右下の2次元に配置されている、すなわち、注目画素Cに対して斜めに交差している2-D,diagonalパターンを表している。
図21のAは、1次元パターンの規則一覧表(Classification rule for 1-D patterns)を示している。図20のA乃至図20のDのパターンは、図21のAに示されるような5種類のカテゴリに分類され、そのカテゴリによりオフセットが算出されて、復号部に送られる。
注目画素Cの画素値が2つの周辺画素の画素値より小さい場合、カテゴリ1に分類される。注目画素Cの画素値が一方の周辺画素の画素値より小さくて、他方の周辺画素の画素値と一致する場合、カテゴリ2に分類される。注目画素Cの画素値が一方の周辺画素の画素値より大きくて、他方の周辺画素の画素値と一致する場合、カテゴリ3に分類される。注目画素Cの画素値が2つの周辺画素の画素値より大きい場合、カテゴリ4に分類される。以上のどれでもない場合、カテゴリ0に分類される。
図21のBは、2次元パターンの規則一覧表(Classification rule for 2-D patterns)を示している。図20のEおよび図20のFのパターンは、図21のBに示されるような7種類のカテゴリに分類され、そのカテゴリによりオフセットが復号部に送られる。
注目画素Cの画素値が4つの周辺画素の画素値より小さい場合、カテゴリ1に分類される。注目画素Cの画素値が3つの周辺画素の画素値より小さくて、4番目の周辺画素の画素値と一致する場合、カテゴリ2に分類される。注目画素Cの画素値が3つの周辺画素の画素値より小さくて、4番目の周辺画素の画素値より大きい場合、カテゴリ3に分類される。
注目画素Cの画素値が3つの周辺画素の画素値より大きくて、4番目の周辺画素の画素値より小さい場合、カテゴリ4に分類される。注目画素Cの画素値が3つの周辺画素の画素値より大きくて、4番目の周辺画素の画素値と一致する場合、カテゴリ5に分類される。注目画素Cの画素値が4つの周辺画素の画素値より大きい場合、カテゴリ6に分類される。以上のどれでもない場合、カテゴリ0に分類される。
以上のように、エッジオフセットにおいては、1次元パターンの方が、隣接2画素のみに対する比較を行えばよいので、演算量は低くなる。なお、high efficiency 符号化条件においては、low delay 符号化条件に比して、1bitオフセットの値を高精度にして、復号側へ送られる。
このようにエッジオフセットにおいては、注目画素を処理する際にその周辺画素が参照される。したがって、例えば、図7乃至図10を参照して説明したSMLの算出の場合と同様に、参照される周辺画素が注目スライスと異なるスライスにある場合、その周辺画素のスライスの処理が完了するまで注目画素のエッジオフセットのオフセット値を算出することができなくなってしまう。
例えば、処理対象の注目画素が注目スライスの端に存在し、参照される周辺画素が他のスライス(周辺スライス)に位置する場合、その周辺スライスの処理が終了するまで、注目画素(若しくは注目スライス全体)の処理を開始することができない。このような場合、周辺スライスと注目スライスとを互いに独立に処理することができない。したがって、例えば、周辺スライスと注目スライスとを並列に処理することができず、処理時間が増大し、スループットが低減する恐れがあった。
また、このようなスライス間の境界に限らず、例えば、注目画素がピクチャ端に存在する場合、参照される周辺画素が、ピクチャ外(有効画素領域外)に位置する(すなわち事実上存在しない)ことも考えられる。このような場合も、周辺画素は、他のスライスに存在する場合と同様に、利用不可能(unavailable)である。
このような場合、注目画素が正常に処理されず、エラー処理等による処理時間の増大を招く恐れがあった。また、復号画像の画質劣化の一因となる恐れもあった。
そこで、このような処理時間の増大を抑制するために、各スライスを互いに独立に処理することができるように、本技術を適用することにより、注目スライス外を参照せずに注目画素の適応オフセット処理を行うようにする。
[画像符号化装置]
図22は、画像符号化装置の主な構成例を示すブロック図である。
図22に示される画像符号化装置300は、基本的に図1の画像符号化装置100と同様の画像処理装置であり、H.264及びMPEG4 Part10(AVC)符号化方式のように、予測処理を用いて画像データを符号化する。
図22に示されるように画像符号化装置300は、基本的に画像符号化装置100と同様の構成を有し、同様の処理を行う。ただし、画像符号化装置300は、画像符号化装置100の構成に加え、適応オフセット部301と周辺画素値制御部302を有する。なお、図22においては、フィルタ係数制御部121を省略しているが、図1と同様にフィルタ係数制御部121を設けるようにしてももちろんよい。
図22の例の場合、デブロックフィルタ111は、フィルタ処理後の復号画像を適応オフセット部301に供給する。
適応オフセット部301は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、quad-tree構造化するように領域分割を行い、各領域毎に適応オフセット処理(適応オフセットフィルタ(Picture Quality Adaptive Offset:PQAO)処理)を行う。その際、適応オフセット部301は、注目画素の処理の際に周辺画素値を参照するモード(例えばエッジオフセットモード)において、周辺画素値制御部302の制御により利用可能化された周辺画素値を用いて注目画素値のオフセット値を算出する。
適応オフセット部301は、各モードでオフセット処理結果のコスト関数値を求め、値が最小のモードを選択する。適応オフセット部301は、選択したモードでオフセット処理を行い、オフセット処理結果を適応ループフィルタ112に供給する。また、適応オフセット部301は、領域分割結果を示すquad-tree構造や、モード選択に関する情報である選択情報(PQAO Info.)を可逆符号化部106に供給し、復号側に伝送させる。
なお、適応オフセット部301は、このオフセット処理を、スライス毎に行う。より具体的には、適応オフセット部301は、このオフセット処理を、スライスを複数に分割した所定の部分領域(例えばLCU)毎に行う。つまり、適応オフセット部301は、各スライスを互いに独立に処理することができる。
適応ループフィルタ112は、適応オフセット処理結果に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。なお、図22においては、適応ループフィルタ112から可逆符号化部106への矢印を省略しているが、適応ループフィルタ112がalf_flagやフィルタ係数等を可逆符号化部106に供給して、復号側に伝送させるようにしてもよい。
可逆符号化部106は、例えば、適応オフセット部301から供給されたこれらの情報を符号化し、ビットストリームに含めて復号側に送信する。この方法を用いることで、符号化効率を向上させることができる。
周辺画素値制御部302は、適応オフセット部301がオフセット値を算出する際に参照する周辺画素値を制御する。つまり、周辺画素値制御部302は、適応オフセット部301において参照される周辺画素値が参照不可能(unavailable)である場合、その値の代わりに参照可能な(availableな)値を周辺画素値として設定する(参照不可能な値を参照可能な値に置き換える)。
ここで、参照不可能とは、参照される周辺画素が、処理対象である注目スライス(注目画素が存在するスライス)に存在しない場合のことを示す。例えば、周辺画素が注目スライス以外のスライスに位置する場合や、ピクチャ外に位置する(すなわち存在しない)場合である。
例えば、周辺画素値制御部302は、利用不可能(unavailable)な周辺画素の画素値の代わりに、例えば、画素間の画素値の相関性を利用して、その周辺画素の近傍に位置する利用可能(available)な画素(周辺画素に隣接する画素を含む)の画素値が、周辺画素値として採用されるようにしてもよい。さらに、その近傍の画素として、注目画素が採用されるようにしてもよい。
また、演算を容易にするために、利用不可能(unavailable)な周辺画素の画素値の代わりに、所定の固定値が用いられるようにしてもよい。
もちろん、これら以外の方法であっても良い。例えば、1つ若しくは複数の他の利用可能(available)な画素の画素値等を用いた所定の演算の結果を、利用不可能(unavailable)な周辺画素の画素値の代わりとするようにしてもよい。
周辺画素値制御部302は、適応オフセット部301から、注目画素の位置(座標)に関する情報を取得する。また、周辺画素値制御部302は、可逆符号化部106から、LCUの位置(座標)に関する情報や、スライス境界(スライス間境界およびピクチャ端等)に関する情報等を含むアドレス情報を取得する。
周辺画素値制御部302は、そのアドレス情報に基づいて、適応オフセット部301に指定された注目画素に対応する周辺画素値が利用可能であるか否か(availableであるか否か)を判定する。例えば、周辺画素値が利用可能である場合、周辺画素値制御部302は、その周辺画素の画素値を、適応オフセット部301により参照される周辺画素値として設定し、その情報(周辺画素指定情報)を適応オフセット部301に供給する。
また、例えば、周辺画素値が利用不可能である場合、周辺画素値制御部302は、その周辺画素値の代わりとする値を決定し、その値を適応オフセット部301により参照される周辺画素値として設定し、その情報(周辺画素指定情報)を適応オフセット部301に供給する。
適応オフセット部301は、周辺画素値制御部302によって指定された周辺画素値を用いて処理を行うことにより、常に参照可能な周辺画素値を用いて適応オフセット処理を行うことができる。これにより画像符号化装置300は、スライス毎の処理の並列化を実現することができ、適応オフセット処理における不要な遅延時間の発生等による処理時間の増大を抑制することができる。
[適応オフセット部]
図23は、適応オフセット部301の主な構成例を示すブロック図である。図23に示されるように、適応オフセット部301は、quad-tree構造決定部311、注目領域選択部312、オフセット算出部313、オフセット部314、および画素バッファ315を有する。
quad-tree構造決定部311は、スライスを複数に分割する所定の領域(例えばLCU)を、例えば図19を参照して説明したように領域分割し、quad-tree構造化する。なお、適応オフセット部301が行う適応オフセット処理は、任意の領域毎に行われるようにすることが可能であるが、以下においては、LCU毎に行われるものとする。この場合、LCUがquad-tree構造化(領域分割)されて得られた各部分領域は、CUである。
quad-tree構造決定部311は、LCUをquad-tree構造化し、各CUを設定すると、そのquad-tree構造を示す情報と、デブロック後の画素値とを注目領域選択部312に供給する。
注目領域選択部312は、供給されたquad-tree構造に基づいて、各CUを1つずつ順に処理対象として選択する。注目領域選択部312は、最終的にLCU内の全てのCUを処理対象として選択する。注目領域選択部312は、quad-tree構造決定部311から供給されたquad-tree構造と、指定した注目領域(注目CU)を示す注目領域指定情報とをオフセット算出部313に供給する。また、注目領域選択部312は、注目領域のデブロック後の画素値をオフセット算出部313に供給する。なお、注目領域選択部312は、必要に応じて、注目領域以外のデブロック後の画素値もオフセット算出部313に供給する。
オフセット算出部313は、注目領域選択部312から供給された注目領域指定情報により指定される注目領域の各画素のオフセット値を算出する。オフセット算出部313は、任意の数のモードでオフセット値を算出することができる。オフセット算出部313は、各モードのオフセット処理結果のコスト関数値を求め、その値が最小のモードを選択する。
その際、オフセット算出部313は、周辺画素値を参照するモードにおいて、周辺画素値制御部302により指定される周辺画素の画素値を用いて処理を行う。
オフセット算出部313は、選択したモードのオフセット値を、quad-tree構造とともに、オフセット部314に供給する。また、オフセット算出部313は、モードの選択結果等を示す選択情報(PQAOinfo)を、quad-tree構造とともに、可逆符号化部106に供給し、符号化させる。
図23に示されるように、オフセット算出部313は、オフセット無し演算部321、バンドオフセット演算部322、エッジオフセット演算部323、およびオフセット選択部324を有する。
オフセット算出部313には、適応オフセットの種類(モード)として、バンドオフセットと呼ばれる2種類のモード、エッジオフセットと呼ばれる6種類のモード、さらに、オフセットを適応しないモードが予め用意されているものとする。適応オフセットのモードの数や種類は任意である。例えば、上述した以外のモードが含まれているようにしてもよいし、上述したモードの一部または全部が省略されるようにしても良い。オフセット算出部313は、選択肢となる各モードに対応する処理部を有する。
オフセット無し演算部321は、オフセットを適応しないモードでコスト関数値を算出する。オフセット無し演算部321は、算出したコスト関数値を、quad-tree構造とともにオフセット選択部324に供給する。
バンドオフセット演算部322は、バンドオフセットの2種類の各モードについて、オフセット値を求め、そのオフセット値を用いてオフセット処理結果のコスト関数値をさらに求める。バンドオフセット演算部322は、バンドオフセットの2種類のモードのそれぞれについて、算出したオフセット値とコスト関数値とを、quad-tree構造とともにオフセット選択部324に供給する。
エッジオフセット演算部323は、エッジオフセットの6種類の各モードについて、オフセット値を求め、そのオフセット値を用いてオフセット処理結果のコスト関数値をさらに求める。
その際、エッジオフセット演算部323は、周辺画素値制御部302に、注目画素や周辺画素に関する情報を提供する。周辺画素値制御部302は、それらの情報や、可逆符号化部106から取得したアドレス情報に基づいて、参照する周辺画素を指定し、その周辺画素指定情報をエッジオフセット演算部323に供給する。エッジオフセット演算部323は、周辺画素指定情報により指定される参照可能な周辺画素値を用いてオフセット値の算出を行う。
エッジオフセット演算部323は、エッジオフセットの6種類のモードのそれぞれについて、算出したオフセット値とコスト関数値とを、quad-tree構造とともにオフセット選択部324に供給する。
オフセット選択部324は、採用するモードを選択する。オフセット選択部324は、供給された各モードのコスト関数値を比較し、その値が最小のモードを選択する。オフセット選択部324は、選択したモードのオフセット値を、quad-tree構造とともにオフセット部314に供給する。また、オフセット選択部324は、選択したモード等を示す選択情報(PQAOinfo)を、quad-tree構造とともに可逆符号化部106に供給し、符号化させ、復号側に伝送させる。
オフセット部314は、注目領域選択部312から注目領域のデブロック後画素値を取得し、オフセット算出部313(オフセット選択部324)から供給されるオフセット値を用いて、そのデブロック後画素値をオフセット処理する。オフセット部314は、得られたオフセット処理後画素値を画素バッファ315に供給し、記憶させる。
画素バッファ315は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているオフセット処理後画素値を適応ループフィルタ112に供給する。
[エッジオフセット演算部および周辺画素値制御部]
図24は、エッジオフセット演算部323および周辺画素値制御部302の主な構成例を示すブロック図である。
図24に示されるように、エッジオフセット演算部323は、バッファ331、パターン選択部332、注目画素選択部333、カテゴリ決定部334、オフセット値算出部335、オフセット部336、およびコスト関数算出部337を有する。
バッファ331は、注目領域選択部312から供給される、quad-tree構造および注目領域指定情報を取得するとともに、デブロック後画素値を取得して記憶する。デブロック後画素値は、注目画素値若しくは周辺画素値として使用されなくなるまで保持される。バッファ331は、注目領域の画素値を取得すると、パターン選択部332を制御し、処理を実行させる。また、バッファ331は、注目領域に関する情報(領域情報)を注目画素選択部333に供給する。さらに、バッファ331は、自身が記憶しているデブロック画素値を、カテゴリ決定部334やオフセット部336に供給する。
パターン選択部332は、図20を参照して説明したような複数の周辺画素のパターンの中から1つを順次選択する。すなわち、パターン選択部332は、エッジオフセットの6種類のモードを1つずつ選択する。パターン選択部332は、全てのパターンを選択するまで、このような選択を繰り返す。パターン選択部332は、選択したパターンを示すパターン指定情報を注目画素選択部333および周辺画素値制御部302(周辺画素参照可否判定部341)に供給する。
注目画素選択部333は、バッファ331から注目領域に関する情報(領域情報)を取得し、注目領域の中から、処理対象とする注目画素を、1つずつ選択する。注目画素選択部333は、注目領域内の全ての画素を選択するまで、このような選択を繰り返す。注目画素選択部333は、その注目画素を示す注目画素指定情報を、パターン選択部332から供給されたパターン指定情報とともに、カテゴリ決定部334に供給する。また、注目画素選択部333は、注目画素指定情報を、周辺画素値制御部302(周辺画素参照可否判定部341)に供給する。
カテゴリ決定部334は、注目画素指定情報により指定される注目画素について、例えば図21に示される表に基づいて、カテゴリを決定する。つまり、カテゴリ決定部334は、周辺画素値および注目画素値に基づいてカテゴリを決定する。なお、カテゴリの分類方法は任意であり、図21の例に限らない。このカテゴリ決定の際、カテゴリ決定部334は、周辺画素値制御部302(周辺画素値決定部342)から供給される周辺画素指定情報により指定される周辺画素の画素値を、周辺画素値として利用する。
周辺画素値制御部302(周辺画素値決定部342)は、参照可能な値を周辺画素値として指定する。したがって、周辺画素指定情報により指定される周辺画素の画素値は、常に参照可能である。したがって、カテゴリ決定部334は、他の画素の処理が終了するまで待機する必要なく、注目画素のカテゴリを決定することができる。つまり、カテゴリ決定部334は、適応オフセット処理における不要な処理時間の増大を抑制することができる。
カテゴリ決定部334は、注目画素の画素値(デブロック後画素値)と、周辺画素指定情報により指定される参照可能な画素(例えば注目画素)の画素値(デブロック後画素値)とをバッファ331から取得する。カテゴリ決定部334は、それらの画素値を用いてカテゴリを決定する。カテゴリ決定部334は、決定したカテゴリを示すカテゴリ指定情報を、注目画素選択部333から供給された注目画素指定情報とともに、オフセット値算出部335に供給する。
オフセット値算出部335は、供給されたカテゴリ指定情報により指定されるカテゴリのオフセット値を算出する。例えば、カテゴリ毎にオフセット値が予め設定されていても良いし、カテゴリ毎にオフセット値の算出方法が予め設定されていても良い。オフセット値算出部335は、算出したオフセット値を、カテゴリ決定部334から供給された注目画素指定情報とともに、オフセット部336に供給する。
オフセット部336は、供給された注目画素指定情報により指定される注目画素の画素値(デブロック後画素値)をバッファ331から取得する。オフセット部336は、その注目画素値を、供給されたオフセット値を用いてオフセット処理し、オフセット後画素値を生成する。オフセット部336は、また、バッファ331からquad-tree構造を取得する。オフセット部336は、生成したオフセット後画素値を、オフセット値算出部335から供給されたオフセット値、および、バッファ331から取得したquad-tree構造とともにコスト関数算出部337に供給する。
注目画素選択部333乃至オフセット部336は、注目領域内の全ての画素(若しくは予め定められた一部の画素の全て)について、上述した処理を繰り返し、注目領域の全ての画素のオフセット後画素値を求め、オフセット値およびquad-tree構造とともにコスト関数算出部337に供給する。
コスト関数算出部337は、オフセット後画素値を用いて、注目領域のコスト関数値を算出する。コスト関数算出部337は、算出したコスト関数値を、オフセット部336から供給されたオフセット値およびquad-tree構造とともにオフセット選択部324に供給する。
パターン選択部332乃至コスト関数算出部337は、エッジオフセットモードの全ての種類(タイプ)について、上述した処理を繰り返し、各モード(各タイプ)のコスト関数値をオフセット選択部324に供給する。
また、図24の例の場合、周辺画素値制御部302は、周辺画素参照可否判定部341および周辺画素値決定部342を有する。
周辺画素参照可否判定部341は、可逆符号化部106から、注目LCUやスライス境界等に関するアドレス情報を取得するとともに、パターン選択部332からパターン指定情報を、注目画素選択部333から注目画素指定情報をそれぞれ取得する。周辺画素参照可否判定部341は、注目画素指定情報から注目画素の位置を把握し、さらに、パターン指定情報からその注目画素に対する周辺画素の位置を把握する。周辺画素参照可否判定部341は、その周辺画素の位置と、アドレス情報により示されるスライス境界等を比較し、その比較結果に基づいて、周辺画素が参照可能であるか否かを判定する。周辺画素参照可否判定部341は、その判定結果を周辺画素値決定部342に供給する。
周辺画素値決定部342は、周辺画素参照可否判定部341から供給される判定結果に基づいて、周辺画素を決定する。例えば、判定結果において、パターン指定情報により特定される周辺画素が参照可能(available)であるとされている場合、周辺画素値決定部342は、そのパターン指定情報により特定される周辺画素を周辺画素に決定する。また、例えば、判定結果において、パターン指定情報により特定される周辺画素が参照不可能(unavailable)であるとされている場合、周辺画素値決定部342は、参照可能(available)な画素(例えば注目画素)を周辺画素に決定する。この参照不可能(unavailable)な画素値の代わりとする値は上述したように任意であり、例えば、固定値や演算式等の画素値以外であってもよい。その場合、周辺画素値決定部342は、画素を指定する代わりにそれらの情報(固定値や演算式等)を指定するようにしてもよい。周辺画素値決定部342は、自身が決定した周辺画素(若しくはそれに相当する情報)を示す周辺画素指定情報を生成し、カテゴリ決定部334に供給する。
このように周辺画素を制御することにより、周辺画素値制御部302は、周辺画素値を常に参照可能な値にすることができる。したがって、エッジオフセット演算部323が不要な処理時間の増大を抑制することができるようにすることができる。
以上においては、エッジオフセット演算部323が周辺画素値制御部302により指定される周辺画素を利用する場合について説明したが、適応オフセット部301は、エッジオフセット以外に、周辺画素値を参照して注目画素の処理を行うモードを有することもできる。その場合、エッジオフセット演算部323の、そのモードに対応する処理部が、図24に示されるエッジオフセット演算部323の場合と同様に、周辺画素値制御部302により指定される周辺画素を利用するようにすればよい。
以上のように画像符号化装置300は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
[符号化処理の流れ]
次に、以上のような画像符号化装置300により実行される各処理の流れについて説明する。最初に、図25のフローチャートを参照して、符号化処理の流れの例を説明する。なお、図25に示される各ステップの処理は、それぞれの処理単位毎に行われる。したがって、各処理の処理単位は互いに等しいとは限らない。したがって、各データは、以下に説明するような手順で処理されるが、実際に、各ステップの処理の処理順が、以下に説明するような順になるとは限らない。
ステップS301乃至ステップS312の各処理は、図12のステップS101乃至ステップS112の各処理の場合と同様に実行される。
デブロックフィルタ処理が行われると、ステップS313において、適応オフセット部301は、適応オフセット処理を行う。
ステップS315乃至ステップS318の各処理は、図12のステップS114乃至ステップS117の各処理の場合と同様に実行される。ステップS318の処理が終了すると、符号化処理が終了される。
[適応オフセット処理の流れ]
次に、図26のフローチャートを参照して、図25のステップS313において実行される適応オフセット処理の流れの例を説明する。なお、適応オフセット処理は、スライスが複数に分割された所定の部分領域(例えばLCU)毎に行われる。以下においては、適応オフセット処理がLCU毎に行われるものとする。
適応オフセット処理が開始されると、quad-tree構造決定部311は、ステップS331において、処理対象である注目LCUのquad-tree構造を決定する。
ステップS332において、注目領域選択部312は、そのLCU内のquad-tree構造の各領域の中から、所定順に1つを、処理対象とする注目領域として選択する。
ステップS333において、オフセット無し演算部321は、オフセット無しモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。
ステップS334において、バンドオフセット演算部322は、バンドオフセットモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。なお、以上に説明した例においては、バンドオフセットのモードは2種類(2タイプ)存在する。したがって、バンドオフセット演算部322は、その2種類のモード(2タイプ)のそれぞれについて、コスト関数値を算出する。
ステップS335において、エッジオフセット演算部323は、エッジオフセットモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。この処理の詳細については後述する。なお、以上に説明した例においては、エッジオフセットのモードは6種類(6タイプ)存在する。したがって、エッジオフセット演算部323は、その6種類のモード(6タイプ)のそれぞれについて、コスト関数値を算出する。
オフセット算出部313は、このように各モードでコスト関数値を算出する。すなわち、オフセット算出部313が、その他のモードに対応する場合、ステップS333乃至ステップS335の各処理に、その他のモードの処理が追加される。
全てのモードでコスト関数値が算出されると、ステップS336において、オフセット選択部324は、コスト関数値が最小のモード(オフセットタイプ)を選択する。
ステップS337において、オフセット選択部324は、ステップS331において決定された注目LCUのquad-tree構造を示す情報であるquad-tree構造、および、ステップS336における選択結果(選択されたオフセットタイプに関する情報も含む)を示す情報である選択情報を復号側に伝送させる。
ステップS338において、オフセット部314は、ステップS336において選択されたオフセットタイプのオフセット値を用いて、注目領域のデブロック画素値をオフセット処理する。ステップS339において、画素バッファ315は、ステップS338の処理により得られたオフセット処理後の画素値を記憶する。
ステップS340において、注目領域選択部312は、注目LCU内の全ての領域(CU)を処理したか否かを判定し、未処理の領域が存在すると判定した場合、処理をステップS332に戻し、それ以降の処理を繰り返す。また、ステップS340において、未処理の領域が存在しないと判定した場合、注目領域選択部312は、適応オフセット処理を終了し、処理を図25に戻す。
[エッジオフセット処理の流れ]
次に、図27のフローチャートを参照して、図26のステップS335において実行されるエッジオフセット処理の流れの例を説明する。
エッジオフセット処理が開始されると、バッファ331は、ステップS361において、デブロック後画素値を記憶する。ステップS362において、パターン選択部332は、処理対象とするパターンを選択する。ステップS363において、注目画素選択部333は、注目領域の画素の中から注目画素を選択する。
ステップS364において、周辺画素参照可否判定部341は、注目画素近傍の領域に関する各種アドレス情報を取得する。ステップS365において、周辺画素参照可否判定部341は、ステップS364において取得した情報に基づいて、ステップS363において選択された注目画素の、ステップS362において指定されたパターンにおける周辺画素が参照可能であるか否かを判定する。
周辺画素が参照可能でないと判定した場合、周辺画素参照可否判定部341は、処理をステップS366に進める。ステップS366において、周辺画素値決定部342は、注目画素値を周辺画素値に指定する。ステップS366の処理が終了すると、周辺画素値決定部342は、処理をステップS368に進める。
また、ステップS365において、周辺画素が参照可能であると判定した場合、周辺画素参照可否判定部341は、処理をステップS367に進める。ステップS367において、周辺画素値決定部342は、その参照可能な周辺画素の画素値を周辺画素値に指定する。ステップS367の処理が終了すると、周辺画素値決定部342は、処理をステップS368に進める。
ステップS368において、カテゴリ決定部334は、注目画素値と、ステップS366若しくはステップS367において決定された周辺画素値とに基づいて、カテゴリを決定する。
ステップS369において、オフセット値算出部335は、ステップS368において決定されたカテゴリに対応するオフセット値を決定(算出および選択を含む)する。ステップS370において、オフセット部336は、ステップS369において決定されたオフセット値を用いて、注目画素値をオフセット処理する。
ステップS371において、注目画素選択部333は、全ての画素を処理したか否かを判定する。注目領域内に未処理の画素が存在すると判定した場合、注目画素選択部333は、処理をステップS363に戻し、それ以降の処理を繰り返す。
また、ステップS371において、注目領域内の全ての画素を処理したと判定した場合、注目画素選択部333は、処理をステップS372に進める。
ステップS372において、コスト関数算出部337は、注目領域のオフセット後画素値を用いてコスト関数値を算出する。ステップS373において、パターン選択部332は、予め用意された周辺画素のパターン(例えば、図20)を全て処理したか(全てのタイプを処理したか)否かを判定する。未処理のパターンが存在すると判定した場合、パターン選択部332は、処理をステップS362に戻し、それ以降の処理を繰り返す。また、ステップS373において、全てのパターンを処理したと判定した場合、パターン選択部332は、エッジオフセット処理を終了し、処理を図26に戻す。
以上のように各処理を実行することにより、常に参照可能な周辺画素を用いて適応オフセット処理を行うことができるので、画像符号化装置300は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
<4.第4の実施の形態>
[画像復号装置]
図28は、画像復号装置の主な構成例を示すブロック図である。図28に示される画像復号装置400は、画像符号化装置300が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
したがって、画像復号装置400は、図28に示されるように、図15の画像復号装置200と基本的に同様の装置であり、基本的に同様の構成を有し、同様の処理を行う。ただし、図28に示されるように、画像復号装置400は、画像復号装置200の構成に加え、適応オフセット部401を有する。また、フィルタ係数制御部221は省略される(有していても良い)。
デブロックフィルタ206は、フィルタ処理後の復号画像データを適応オフセット部401に供給する。
適応オフセット部401は、デブロックフィルタ処理後の復号画像に対して、適応オフセット部301の場合と基本的に同様の適応オフセット処理を行う。ただし、適応オフセット部401は、可逆復号部202により復号されて抽出された、quad-tree構造や選択情報(PQAOinfo)を用いてオフセット処理を行う。
これらの情報は、符号化側(画像符号化装置300)から供給される。すなわち、適応オフセット部401は、適応オフセット部301が用いたのと同様のquad-tree構造で注目LCUを処理する。また、適応オフセット部401は、適応オフセット部301が用いたのと同様のモード(オフセットタイプ、すなわち、オフセット値)を用いて、オフセット処理を行う。つまり、適応オフセット部401は、適応オフセット部301に対応する方法でオフセット処理を行う。適応オフセット部401は、オフセット処理後の復号画像を適応ループフィルタ207に供給する。
適応ループフィルタ207は、オフセット処理後の復号画像に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理(クラス分類ALF)を行うことにより画質改善を行う。
[適応オフセット部]
図29は、適応オフセット部401の主な構成例を示すブロック図である。図29に示されるように、適応オフセット部401は、quad-tree構造バッファ411、選択情報バッファ412、オフセット部413、および画素バッファ414を有する。
quad-tree構造バッファ411は、可逆復号部202から供給されるquad-tree構造(例えばビットストリームに含められて符号化側の装置から供給されたquad-tree構造)を取得し、記憶する。quad-tree構造バッファ411は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているquad-tree構造をオフセット部413に供給する。
選択情報バッファ412は、可逆復号部202から供給される選択情報(PQAOinfo)(例えばビットストリームに含められて符号化側の装置から供給された選択情報(PQAOinfo))を取得し、記憶する。選択情報バッファ412は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶している選択情報(PQAOinfo)をオフセット部413に供給する。
オフセット部413は、quad-tree構造バッファ411から供給されるquad-tree構造、および、選択情報バッファ412から供給される選択情報(PQAOinfo)を用いて、デブロックフィルタ206から供給される注目LCUのデブロック後画素値に対してオフセット処理を行う。つまり、オフセット部413は、選択情報(PQAOinfo)により特定されるオフセットタイプおよびオフセット値を用いて、quad-tree構造に従って、注目LCUを領域(CU)毎にオフセット処理する。オフセット部413は、オフセット処理後の画素値を画素バッファ414に供給し、記憶させる。
画素バッファ414は、オフセット部413から供給されるオフセット処理後の画素値を記憶し、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているそのオフセット処理後の画素値を適応ループフィルタ207に供給する。
したがって、適応オフセット部401は、画像符号化装置300の適応オフセット部301に対応する方法で適応オフセット処理を行うことができる。したがって、適応オフセット部401は、スライス毎に独立して適応オフセット処理を行うことができる。したがって、画像復号装置400は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
[復号処理の流れ]
次に、図30のフローチャートを参照して、以上のような画像復号装置400により実行される復号処理の流れの例を説明する。
復号処理が開始されると、ステップS401乃至ステップS408の各処理が、図17のステップS201乃至S208の各処理と同様に実行される。ステップS409において、適応オフセット部401は、適応オフセット処理を行う。この処理の詳細は後述する。ステップS410乃至ステップS413の各処理は、図17のステップS209乃至ステップS212の各処理と同様に実行される。
[適応オフセット処理の流れ]
次に、図31のフローチャートを参照して、図30のステップS409において実行される適応オフセット処理の流れの例を説明する。
適応オフセット処理が開始されると、ステップS431において、quad-tree構造バッファ411は、quad-tree構造を記憶する。ステップS432において、選択情報バッファ412は、選択情報を記憶する。
ステップS433において、オフセット部413は、quad-tree構造に基づいて、注目LCUの中から注目領域を選択し、ステップS434において、その注目領域のデブロック後画素値を、選択情報により特定されるオフセット値を用いてオフセット処理する。
ステップS435において、画素バッファ414は、ステップS434の処理により得られたオフセット処理後の画素値を記憶する。
ステップS436において、オフセット部413は、注目LCU内の全ての領域(CU)を処理したか否かを判定し、未処理の領域が存在すると判定した場合、処理をステップS433に戻し、それ以降の処理を繰り返す。
また、ステップS436において、全ての領域を処理したと判定した場合、オフセット部413は、適応オフセット処理を終了し、処理を図30に戻す。
以上のように、各処理を実行することにより、画像復号装置400は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
[その他の例]
なお、以上においては、位置的要因により周辺画素が参照不可能(unavailable)な場合について説明したが、参照不可能(unavailable)となる理由は任意であり、位置的要因に限定されない。すなわち、他の理由で参照不可能であれば、周辺画素値が注目スライス内に存在していていも良い。
また、周辺画素が注目スライスに含まれない注目画素に対する適応オフセット処理を省略するようにしてもよい。その場合、画像符号化装置300および画像復号装置400ともに、周辺画素が注目スライスに含まれない注目画素に対する適応オフセット処理を省略する。
また、周辺画素のパターンは、任意であり、図20の例に限定されない。したがって、周辺画素の位置および数は任意である。
また、画像符号化装置300(例えば、適応オフセット部301)が、適応オフセット処理を、スライス毎に独立して行うか否かを制御するフラグをスライス毎に生成し、画像復号装置400に伝送させるようにしてもよい。
このフラグがセットされた(例えば値が1の)スライスにおいては、適応オフセット部301は、上述したように、利用可能な画素の情報のみを用いて、適応オフセット処理をスライス毎に独立して行う。これに対して、フラグがセットされていない(例えば値が0の)スライスにおいては、適応オフセット部301は、周辺画素が他のスライスに属する場合であっても、全ての周辺画素の画素値が揃ってから適応オフセット処理を行う。
画像復号装置400の適応オフセット部401は、画像符号化装置300から供給されたこのフラグの値が1の場合、注目スライスを、他のスライスとは独立して適応オフセット処理を行い、画像符号化装置300から供給されたこのフラグの値が0の場合、注目スライスを、他のスライスとは独立させずに適応オフセット処理を行う。
なお、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
<5.第5の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図32において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図32に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<6.第6の実施の形態>
[第1の応用例:テレビジョン受像機]
図33は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
<7.第7の実施の形態>
[第2の応用例:携帯電話機]
図34は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Unallocated Space Bitmap)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記憶再生部929の記憶媒体に記憶させる。
また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
<8.第8の実施の形態>
[第3の応用例:記録再生装置]
図35は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送部としての役割を有する。
エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ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へ出力する。
デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
<9.第9の実施の形態>
[第4の応用例:撮像装置]
図36は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
なお、本明細書では、SPS、PPS、およびスライスヘッダなどの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、
前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部と
を備える画像処理装置。
(2) 前記画像処理は、適応ループフィルタ処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、
前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行う
前記(1)に記載の画像処理装置。
(3) 前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求める
前記(2)に記載の画像処理装置。
(4) 前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、
前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、
前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部と
を備える前記(3)に記載の画像処理装置。
(5) 前記テクスチャの複雑さを表す情報は、SML(Sum-Modified Laplacian)である
前記(4)に記載の画像処理装置。
(6) 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出する
前記(4)に記載の画像処理装置。
(7) 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
前記(4)に記載の画像処理装置。
(8) 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
前記(4)に記載の画像処理装置。
(9) 前記算出部は、前記注目画素の上下左右に隣接する4画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出する
前記(4)に記載の画像処理装置。
(10) 前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とする
前記(9)に記載の画像処理装置。
(11) 前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定する
前記(4)に記載の画像処理装置。
(12) 前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略する
前記(4)に記載の画像処理装置。
(13) 前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行う
前記(2)乃至(12)のいずれかに記載の画像処理装置。
(14) 前記画像処理は、適応オフセット処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、
前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行う
前記(1)に記載の画像処理装置。
(15) 前記画像処理部は、スライス毎に独立して、前記適応オフセット処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記周辺画素値を求める
前記(14)に記載の画像処理装置。
(16) 前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部と、
を備える前記(15)に記載の画像処理装置。
(17) 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定する
前記(16)に記載の画像処理装置。
(18) 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定する
前記(16)に記載の画像処理装置。
(19) 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定する
前記(16)に記載の画像処理装置。
(20) 前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行う
前記(14)乃至(19)のいずれかに記載の画像処理装置。
(21) 画像処理装置の画像処理方法であって、
情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、
画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う
画像処理方法。
100 画像符号化装置, 112 適応ループフィルタ, 121 フィルタ係数制御部, 131 制御部, 132 フィルタ処理部, 141 位置判定部, 142 SML算出部, 143 クラス分類部, 144 フィルタ係数設定部, 200 画像復号装置, 207 適応ループフィルタ, 221 フィルタ係数制御部, 231 制御部, 232 フィルタ処理部, 241 位置判定部, 242 SML算出部, 243 クラス分類部, 244 フィルタ係数設定部, 300 画像符号化装置, 301 適応オフセット部, 302 周辺画素値制御部, 311 quad-tree構造決定部, 312 注目領域選択部, 313 オフセット算出部, 314 オフセット部, 315 画像バッファ, 321 オフセット無し演算部, 322 バンドオフセット演算部, 323 エッジオフセット演算部, 324 オフセット選択部, 331 バッファ, 332 パターン選択部, 333 注目画素選択部, 334 カテゴリ決定部, 335 オフセット値算出部, 336 オフセット部, 337 コスト関数算出部, 341 周辺画素参照可否判定部, 342 周辺画素値決定部, 400 画像符号化装置, 401 適応オフセット部, 411 quad-tree構造バッファ, 412 選択情報バッファ, 413 オフセット部, 414 画素バッファ

Claims (21)

  1. 処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、
    前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部と
    を備える画像処理装置。
  2. 前記画像処理は、適応ループフィルタ処理であり、
    前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、
    前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行う
    請求項1に記載の画像処理装置。
  3. 前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、
    前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求める
    請求項2に記載の画像処理装置。
  4. 前記情報制御部は、
    前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
    前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、
    前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、
    前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部と
    を備える請求項3に記載の画像処理装置。
  5. 前記テクスチャの複雑さを表す情報は、SML(Sum-Modified Laplacian)である
    請求項4に記載の画像処理装置。
  6. 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出する
    請求項4に記載の画像処理装置。
  7. 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
    請求項4に記載の画像処理装置。
  8. 前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
    請求項4に記載の画像処理装置。
  9. 前記算出部は、前記注目画素の上下左右に隣接する4画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出する
    請求項4に記載の画像処理装置。
  10. 前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とする
    請求項9に記載の画像処理装置。
  11. 前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定する
    請求項4に記載の画像処理装置。
  12. 前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略する
    請求項4に記載の画像処理装置。
  13. 前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
    前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行う
    請求項2に記載の画像処理装置。
  14. 前記画像処理は、適応オフセット処理であり、
    前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、
    前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行う
    請求項1に記載の画像処理装置。
  15. 前記画像処理部は、スライス毎に独立して、前記適応オフセット処理を行い、
    前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記周辺画素値を求める
    請求項14に記載の画像処理装置。
  16. 前記情報制御部は、
    前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
    前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部と
    を備える請求項15に記載の画像処理装置。
  17. 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定する
    請求項16に記載の画像処理装置。
  18. 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定する
    請求項16に記載の画像処理装置。
  19. 前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定する
    請求項16に記載の画像処理装置。
  20. 前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
    前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行う
    請求項14に記載の画像処理装置。
  21. 画像処理装置の画像処理方法であって、
    情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、
    画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う
    画像処理方法。
JP2011229574A 2011-03-24 2011-10-19 画像処理装置および方法 Pending JP2012213128A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2011229574A JP2012213128A (ja) 2011-03-24 2011-10-19 画像処理装置および方法
US14/005,669 US10306223B2 (en) 2011-03-24 2012-03-16 Image processing apparatus and method
PCT/JP2012/056810 WO2012128191A1 (ja) 2011-03-24 2012-03-16 画像処理装置および方法
CN201280013677.8A CN103430544B (zh) 2011-03-24 2012-03-16 图像处理设备和方法
US16/382,477 US10623739B2 (en) 2011-03-24 2019-04-12 Image processing apparatus and method
US16/821,553 US11095889B2 (en) 2011-03-24 2020-03-17 Image processing apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011066211 2011-03-24
JP2011066211 2011-03-24
JP2011229574A JP2012213128A (ja) 2011-03-24 2011-10-19 画像処理装置および方法

Publications (1)

Publication Number Publication Date
JP2012213128A true JP2012213128A (ja) 2012-11-01

Family

ID=46879339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011229574A Pending JP2012213128A (ja) 2011-03-24 2011-10-19 画像処理装置および方法

Country Status (4)

Country Link
US (3) US10306223B2 (ja)
JP (1) JP2012213128A (ja)
CN (1) CN103430544B (ja)
WO (1) WO2012128191A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087861A1 (ja) * 2012-12-06 2014-06-12 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150036738A1 (en) * 2013-07-30 2015-02-05 Texas Instruments Incorporated Method and apparatus for real-time sao parameter estimation
JP6634936B2 (ja) * 2016-04-05 2020-01-22 富士通株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、画像復号プログラムおよび画像伝送システム
WO2018022011A1 (en) * 2016-07-26 2018-02-01 Hewlett-Packard Development Company, L.P. Indexing voxels for 3d printing
US10277897B1 (en) * 2017-01-03 2019-04-30 Google Llc Signaling in-loop restoration filters for video coding
CN111108529B (zh) * 2017-09-29 2023-10-03 索尼公司 信息处理设备和方法
US11044473B2 (en) * 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
JP7359934B2 (ja) * 2019-07-10 2023-10-11 北京字節跳動網絡技術有限公司 映像符号化におけるイントラブロックコピーのためのサンプル識別

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2461977C2 (ru) 2006-12-18 2012-09-20 Конинклейке Филипс Электроникс Н.В. Сжатие и снятие сжатия изображения
EP2252063A4 (en) * 2008-03-07 2012-09-12 Toshiba Kk DEVICE FOR DYNAMIC IMAGE CODING / DECODING
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US20120039389A1 (en) * 2009-04-28 2012-02-16 Telefonaktiebolaget L M Ericsson Distortion weighing
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014087861A1 (ja) * 2012-12-06 2014-06-12 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
WO2021006692A1 (ko) * 2019-07-11 2021-01-14 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
US12081772B2 (en) 2019-07-11 2024-09-03 Samsung Electronics Co., Ltd. Video decoding method and apparatus, and video encoding method and apparatus

Also Published As

Publication number Publication date
US20200221085A1 (en) 2020-07-09
US10306223B2 (en) 2019-05-28
US20140003496A1 (en) 2014-01-02
US20190238846A1 (en) 2019-08-01
US11095889B2 (en) 2021-08-17
CN103430544B (zh) 2017-02-08
US10623739B2 (en) 2020-04-14
CN103430544A (zh) 2013-12-04
WO2012128191A1 (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
US11095889B2 (en) Image processing apparatus and method
JP5907367B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5942990B2 (ja) 画像処理装置および方法
JP5982734B2 (ja) 画像処理装置および方法
WO2013002110A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
JP2013093792A (ja) 画像処理装置および方法
JPWO2013031574A1 (ja) 画像処理装置および方法
WO2013047326A1 (ja) 画像処理装置および方法
WO2013154026A1 (ja) 画像処理装置および方法
WO2012105406A1 (ja) 画像処理装置および方法
WO2013051453A1 (ja) 画像処理装置および方法
WO2013065568A1 (ja) 画像処理装置および方法
WO2012173022A1 (ja) 画像処理装置および方法
JP6341304B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013065567A1 (ja) 画像処理装置および方法
JP6508553B2 (ja) 画像処理装置および方法
JP6217997B2 (ja) 画像処理装置および方法
JP6094838B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013002111A1 (ja) 画像処理装置および方法
JP2019146225A (ja) 画像処理装置および方法
JP2012244354A (ja) 画像処理装置および方法