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

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

Info

Publication number
JP2013074491A
JP2013074491A JP2011212551A JP2011212551A JP2013074491A JP 2013074491 A JP2013074491 A JP 2013074491A JP 2011212551 A JP2011212551 A JP 2011212551A JP 2011212551 A JP2011212551 A JP 2011212551A JP 2013074491 A JP2013074491 A JP 2013074491A
Authority
JP
Japan
Prior art keywords
image
unit
block
pixels
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011212551A
Other languages
English (en)
Inventor
Masaru Ikeda
優 池田
Yoichi Yagasaki
陽一 矢ケ崎
Kazuya Ogawa
一哉 小川
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 JP2011212551A priority Critical patent/JP2013074491A/ja
Priority to PCT/JP2012/074144 priority patent/WO2013047335A1/ja
Publication of JP2013074491A publication Critical patent/JP2013074491A/ja
Withdrawn 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/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

Abstract

【課題】LCUの下部において必要なラインメモリの削減を図ることができるようにする。
【解決手段】適応ループフィルタにおいては、ブロック内における、上から1行目の左から1列目および3列目の画素と、上から2行目の左から1列目および3列目の画素が、サンプル点として設定される。したがって、4画素のバリアンス計算の際に参照される画素の範囲は、垂直方向に4画素×水平方向に5画素の範囲となり、従来と比して垂直方向に1ライン分小さくすることができる。本開示は、例えば、画像処理装置に適用することができる。
【選択図】図7

Description

本開示は、画像処理装置および方法に関し、特に、符号化または復号する際に必要となるラインメモリの削減を図ることができるようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)やH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)などがある。
そして、現在、H.264/AVCより更なる符号化効率の向上を目的として、ITU-TとISO/IECとの共同の標準化団体であるJCTVC (Joint Collaboration Team - Video Coding) により、HEVC (High Efficiency Video Coding) と呼ばれる符号化方式の標準化が進められている。
現時点におけるHEVCのドラフトでは、適応ループフィルタが採用されている。適応ループフィルタのうち、ブロックベースの適応ループフィルタでは、4×4画素単位に全ての画素のバリアンス(分散)を計算してクラス分類が行われている。
これに対して、非特許文献1においては、4×4画素内のサブサンプルした4画素についてのみバリアンスを計算し、4×4画素のブロックのクラス分類を行うことが提案されている。この提案によれば、クラス分類における計算の削減が実現される。
" Line Memory Reduction for ALF Decoding", Semih Esenlik, Matthias Narroschke, Thomas Wedi, JCTVC-E225,March 2011
ところで、上述したようなクラス分類のためのバリアンスを計算する際、垂直方向の参照が大きいと、該当する4×4画素のブロックのフィルタ係数の決定が困難となって、フィルタ処理が実行できなくなることがある。このため、アーキテクチャによって、最大の符号化単位であるLCUの下部においてラインメモリを多く持つ必要があった。
本開示は、このような状況に鑑みてなされたものであり、LCUの下部において必要なラインメモリの削減を図る。
本開示の第1の側面の画像処理装置は、符号化ストリームを復号処理して画像を生成する復号部と、前記復号部により生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、前記設定部により設定されたサンプル画素の評価値に基づいて、前記復号部により生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、前記クラス分類部によりクラス分類されたクラスに従って、前記復号部により生成された画像を、ブロックベースでフィルタ処理するフィルタ処理部とを備える。
前記ブロックは、4×4の画素で構成されており、前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素として設定することができる。
前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定することができる。
前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定することができる。
前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段をさらに備えることができる。
前記評価値は、バリアンス(分散値)である。
本開示の第1の側面の画像処理方法は、画像処理装置が、符号化ストリームを復号処理して画像を生成し、生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、設定されたサンプル画素の評価値に基づいて、生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、クラス分類されたクラスに従って、生成された画像を、ブロックベースでフィルタ処理する。
本開示の第2の側面の画像処理装置は、画像を符号化する際にローカル復号処理された画像を構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、前記設定部により設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、前記クラス分類部によりクラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理するフィルタ処理部と、前記フィルタ処理部によりフィルタ処理された画像を用いて、前記画像を符号化する符号化部とを備える。
前記ブロックは、4×4の画素で構成されており、前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素に設定することができる。
前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定することができる。
前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定することができる。
前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段をさらに備えることができる。
前記評価値は、バリアンス(分散値)である。
本開示の第2の側面の画像処理方法は、画像処理装置が、画像を符号化する際にローカル復号処理された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、クラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理し、フィルタ処理された画像を用いて、前記画像を符号化する。
本開示の第1の側面においては、符号化ストリームを復号処理して画像が生成され、生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素が、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定される。そして、設定されたサンプル画素の評価値に基づいて、生成された画像のブロックを構成する画素が対象として、ブロックベースでクラス分類され、クラス分類されたクラスに従って、生成された画像が、ブロックベースでフィルタ処理される。
本開示の第2の側面においては、画像を符号化する際にローカル復号処理された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素が、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定される。そして、設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素が対象として、ブロックベースでクラス分類され、クラス分類されたクラスに従って、ローカル復号処理された画像が、ブロックベースでフィルタ処理され、フィルタ処理された画像を用いて、前記画像が符号化される。
なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本開示の第1側面によれば、画像を復号することができる。特に、ラインメモリの削減を図ることができる。
本開示の第2の側面によれば、画像を符号化することができる。特に、ラインメモリの削減を図ることができる。
画像符号化装置の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 従来の適応ループフィルタのクラス分類について説明する図である。 LCU境界における従来の適応ループフィルタを説明する図である。 本開示を適用した適応ループフィルタのサンプル点を説明する図である。 LCU境界における適応ループフィルタを説明する図である。 本開示を適用した適応ループフィルタの構成例を示すブロック図である。 ALFクラス分類部の構成例を示すブロック図である。 適応ループフィルタ処理を説明するフローチャートである。 図9の場合のクラス分類処理を説明するフローチャートである。 本開示を適用した適応ループフィルタのサンプル点の他の例を説明する図である。 図13の場合のクラス分類処理を説明するフローチャートである。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.装置および動作の概要
2.従来の手法の説明
3.第1の実施の形態
4.第2の実施の形態
5.第3の実施の形態
6.応用例
<1.装置および動作の概要>
[画像符号化装置の構成例]
図1は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1に示される画像符号化装置11は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。
図1の例において、画像符号化装置11は、A/D(Analog / Digital)変換部21、画面並べ替えバッファ22、演算部23、直交変換部24、量子化部25、可逆符号化部26、および蓄積バッファ27を有する。また、画像符号化装置11は、逆量子化部28、逆直交変換部29、演算部30、デブロッキングフィルタ31、フレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、予測画像選択部36、およびレート制御部37を有する。
さらに、画像符号化装置11は、デブロッキングフィルタ31とフレームメモリ32との間に、適応オフセットフィルタ41および適応ループフィルタ42aを有する。
A/D変換部21は、入力された画像データをA/D変換し、画面並べ替えバッファ22に出力し、記憶させる。
画面並べ替えバッファ22は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、演算部23に供給する。また、画面並べ替えバッファ22は、フレームの順番を並び替えた画像を、イントラ予測部34および動き予測・補償部35にも供給する。
演算部23は、画面並べ替えバッファ22から読み出された画像から、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を減算し、その差分情報を直交変換部24に出力する。
例えば、イントラ符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、イントラ予測部34から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部23は、画面並べ替えバッファ22から読み出された画像から、動き予測・補償部35から供給される予測画像を減算する。
直交変換部24は、演算部23から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部25に供給する。
量子化部25は、直交変換部24が出力する変換係数を量子化する。量子化部25は、量子化された変換係数を可逆符号化部26に供給する。
可逆符号化部26は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
可逆符号化部26は、イントラ予測モードを示す情報などのパラメータをイントラ予測部34から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部35から取得する。
可逆符号化部26は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタクス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部26は、符号化して得られた符号化データを蓄積バッファ27に供給して蓄積させる。
例えば、可逆符号化部26においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ27は、可逆符号化部26から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部25において量子化された変換係数は、逆量子化部28にも供給される。逆量子化部28は、その量子化された変換係数を、量子化部25による量子化に対応する方法で逆量子化する。逆量子化部28は、得られた変換係数を、逆直交変換部29に供給する。
逆直交変換部29は、供給された変換係数を、直交変換部24による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部30に供給される。
演算部30は、逆直交変換部29より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部36を介してイントラ予測部34若しくは動き予測・補償部35から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部30は、その差分情報にイントラ予測部34から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部30は、その差分情報に動き予測・補償部35から供給される予測画像を加算する。
その加算結果である復号画像は、デブロッキングフィルタ31およびフレームメモリ32に供給される。
デブロッキングフィルタ31は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ31は、そのフィルタ処理結果を適応オフセットフィルタ41に供給する。
適応オフセットフィルタ41は、デブロッキングフィルタ31によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ41は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31によるフィルタ後の画像に対して、フィルタ処理を施す。
なお、本明細書において詳細な説明は省略するが、画像符号化装置11において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ41により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。
適応オフセットフィルタ41は、フィルタ処理後の画像を、適応ループフィルタ42aに供給する。
適応ループフィルタ42aは、ブロックベース(単位)でクラス分類を行い、適応ループフィルタ(ALF:AdaptiveLoop Filter)処理を行う。適応ループフィルタ42aにおいては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。
適応ループフィルタ42aは、適応オフセットフィルタ41によるフィルタ後の画像のブロックの上部から4つの画素をサンプル点(画素)として設定し、設定したサンプル点で計算されたバリアンス(分散)によりクラス分類を行う。適応ループフィルタ42aは、分類されたクラスに応じたフィルタ係数で、画像に対してフィルタ処理を行い、フィルタ処理結果を、フレームメモリ32に供給する。適応ループフィルタ42aの詳細については、図9を参照して後述される。
なお、本明細書において詳細な説明は省略するが、画像符号化装置11において、フィルタ係数は、画面並べ替えバッファ12からの原画像との残差を最小とするよう適応ループフィルタ42aにより算出されて用いられる。算出されたフィルタ係数は、可逆符号化部26において符号化され、後述する図3の画像復号装置51に送信される。
フレームメモリ32は、所定のタイミングにおいて、蓄積されている参照画像を、選択部33を介してイントラ予測部34または動き予測・補償部35に出力する。
例えば、イントラ符号化が行われる画像の場合、フレームメモリ32は、参照画像を、選択部33を介してイントラ予測部34に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ32は、参照画像を、選択部33を介して動き予測・補償部35に供給する。
選択部33は、フレームメモリ32から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部34に供給する。また、選択部33は、フレームメモリ32から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部35に供給する。
イントラ予測部34は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部34は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
イントラ予測部34は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部34は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、上述したように、イントラ予測部34は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部26に供給する。
動き予測・補償部35は、インター符号化が行われる画像について、画面並べ替えバッファ22から供給される入力画像と、選択部33を介してフレームメモリ32から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部35は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
動き予測・補償部35は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部35は、生成された予測画像を、予測画像選択部36を介して演算部23や演算部30に供給する。
また、動き予測・補償部35は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部26に供給する。
予測画像選択部36は、イントラ符号化を行う画像の場合、イントラ予測部34の出力を演算部23や演算部30に供給し、インター符号化を行う画像の場合、動き予測・補償部35の出力を演算部23や演算部30に供給する。
レート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
[画像符号化装置の動作]
図2を参照して、以上のような画像符号化装置11により実行される符号化処理の流れについて説明する。
ステップS11において、A/D変換部21は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ22は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
画面並べ替えバッファ22から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ32から読み出され、選択部33を介してイントラ予測部34に供給される。
これらの画像に基づいて、ステップS13において、イントラ予測部34は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ31によりフィルタされていない画素が用いられる。
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
画面並べ替えバッファ22から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ32から読み出され、選択部33を介して動き予測・補償部35に供給される。これらの画像に基づいて、ステップS14において、動き予測・補償部35は、動き予測・補償処理を行う。
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部36に供給される。
ステップS15において、予測画像選択部36は、イントラ予測部34および動き予測・補償部35より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部36は、決定した最適予測モードの予測画像を選択し、演算部23,30に供給する。この予測画像は、後述するステップS16,S21の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部34または動き予測・補償部35に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部34は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部26に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部35は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部26に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
ステップS16において、演算部23は、ステップS12で並び替えられた画像と、ステップS15で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部35から、イントラ予測する場合はイントラ予測部34から、それぞれ予測画像選択部36を介して演算部23に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS17において、直交変換部24は演算部23から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
ステップS18において、量子化部25は変換係数を量子化する。この量子化に際しては、後述するステップS28の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS19において、逆量子化部28は、量子化部25により量子化された変換係数を量子化部25の特性に対応する特性で逆量子化する。ステップS20において、逆直交変換部29は、逆量子化部28により逆量子化された変換係数を直交変換部24の特性に対応する特性で逆直交変換する。
ステップS21において、演算部30は、予測画像選択部36を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部23への入力に対応する画像)を生成する。
ステップS22においてデブロッキングフィルタ31は、演算部30より出力された画像に対して、デブロッキングフィルタ処理を行う。これによりブロック歪みが除去される。デブロッキングフィルタ31からのフィルタ後の画像は、適応オフセットフィルタ41に出力される。
ステップS23において、適応オフセットフィルタ41は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ31によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ42aに供給される。
ステップS24において、適応ループフィルタ42aは、適応オフセットフィルタ41によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ42aは、入力画像のブロックの上部から4つの画素をサンプル点として設定し、設定したサンプル点で計算されたバリアンス(分散)により、ブロックベースのクラス分類を行う。適応ループフィルタ42aは、分類されたクラスに応じて、入力画像に対してフィルタ処理を行い、フィルタ処理結果を、フレームメモリ32に供給する。なお、この適応ループフィルタ処理の詳細は、図11を参照して後述される。
ステップS25においてフレームメモリ32は、フィルタリングされた画像を記憶する。なお、フレームメモリ32には、デブロッキングフィルタ31、適応オフセットフィルタ41、および適応ループフィルタ42aによりフィルタされていない画像も演算部30から供給され、記憶される。
一方、上述したステップS18において量子化された変換係数は、可逆符号化部26にも供給される。ステップS26において、可逆符号化部26は、量子化部25より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。
ステップS27において蓄積バッファ27は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ27に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS28においてレート制御部37は、蓄積バッファ27に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部25の量子化動作のレートを制御する。
ステップS28の処理が終了すると、符号化処理が終了される。
[画像復号装置の構成例]
図3は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図3に示される画像復号装置51は、図1の画像符号化装置11に対応する復号装置である。
画像符号化装置11より符号化された符号化データは、所定の伝送路を介して、この画像符号化装置11に対応する画像復号装置51に伝送され、復号されるものとする。
図3に示されるように、画像復号装置51は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、演算部65、デブロッキングフィルタ66、画面並べ替えバッファ67、およびD/A変換部68を有する。また、画像復号装置51は、フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73を有する。
さらに、画像復号装置51は、デブロッキングフィルタ66と、画面並べ替えバッファ67およびフレームメモリ69との間に、適応オフセットフィルタ81および適応ループフィルタ42bを有する。
蓄積バッファ61は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置11により符号化されたものである。可逆復号部62は、蓄積バッファ61から所定のタイミングで読み出された符号化データを、図1の可逆符号化部26の符号化方式に対応する方式で復号する。
可逆復号部62は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部71に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部72に供給する。
逆量子化部63は、可逆復号部62により復号されて得られた係数データ(量子化係数)を、図1の量子化部25の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部63は、画像符号化装置11から供給された量子化パラメータを用いて、図1の逆量子化部28と同様の方法で量子化係数の逆量子化を行う。
逆量子化部63は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部64に供給する。逆直交変換部64は、図1の直交変換部24の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置11において直交変換される前の残差データに対応する復号残差データを得る。
逆直交変換されて得られた復号残差データは、演算部65に供給される。また、演算部65には、選択部73を介して、イントラ予測部71若しくは動き予測・補償部72から予測画像が供給される。
演算部65は、その復号残差データと予測画像とを加算し、画像符号化装置11の演算部23により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部65は、その復号画像データをデブロッキングフィルタ66に供給する。
デブロッキングフィルタ66は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ66は、そのフィルタ処理結果を適応オフセットフィルタ81に供給する。
適応オフセットフィルタ81は、デブロッキングフィルタ66によるフィルタ後の画像に対して、主にリンギングを除去するオフセットフィルタ(SAO)処理を行う。
適応オフセットフィルタ81は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ66によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ81は、フィルタ処理後の画像を、適応ループフィルタ42bに供給する。
なお、本明細書において詳細な説明は省略するが、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置11の適応オフセットフィルタ41により算出され、符号化されて送られてきたものである。そして、画像符号化装置11により符号化されたquad-tree構造と分割領域毎のオフセット値は、画像復号装置51において受信されて、可逆復号部62により復号されて、適応オフセットフィルタ81により用いられる。
適応ループフィルタ42bは、図1の画像符号化装置11の適応ループフィルタ42aと基本的に同様に構成され、ブロックベースでクラス分類を行い、適応ループフィルタ処理を行う。適応ループフィルタ42bは、適応オフセットフィルタ81によるフィルタ後の画像のブロックの上部から4つの画素をサンプル点として設定し、設定したサンプル点で計算されたバリアンス(分散)によりクラス分類を行う。適応ループフィルタ42bは、分類されたクラスに応じたフィルタ係数で、画像に対してフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ67に供給する。適応ループフィルタ42bの詳細については、図9を参照して後述される。
なお、本明細書において詳細な説明は省略するが、画像復号装置51において、フィルタ係数は、画像符号化装置11の適応ループフィルタ42aにより算出され、符号化されて送られてきたものが可逆復号部62により復号されて用いられる。
画面並べ替えバッファ67は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ22により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部68は、画面並べ替えバッファ67から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
適応ループフィルタ42bの出力は、さらに、フレームメモリ69に供給される。
フレームメモリ69、選択部70、イントラ予測部71、動き予測・補償部72、および選択部73は、画像符号化装置11のフレームメモリ32、選択部33、イントラ予測部34、動き予測・補償部35、および予測画像選択部36にそれぞれ対応する。
選択部70は、インター処理される画像と参照される画像をフレームメモリ69から読み出し、動き予測・補償部72に供給する。また、選択部70は、イントラ予測に用いられる画像をフレームメモリ69から読み出し、イントラ予測部71に供給する。
イントラ予測部71には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部62から適宜供給される。イントラ予測部71は、この情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
動き予測・補償部72には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部62から供給される。
動き予測・補償部72は、可逆復号部62から供給されるそれらの情報に基づいて、フレームメモリ69から取得した参照画像から予測画像を生成し、生成した予測画像を選択部73に供給する。
選択部73は、動き予測・補償部72またはイントラ予測部71により生成された予測画像を選択し、演算部65に供給する。
[画像復号装置の動作]
図4を参照して、以上のような画像復号装置51により実行される復号処理の流れの例を説明する。
復号処理が開始されると、ステップS51において、蓄積バッファ61は、伝送されてきた符号化データを蓄積する。ステップS52において、可逆復号部62は、蓄積バッファ61から供給される符号化データを復号する。図1の可逆符号化部26により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部71に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部72に供給される。
ステップS53において、イントラ予測部71または動き予測・補償部72は、可逆復号部62から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
すなわち、可逆復号部62からイントラ予測モード情報が供給された場合、イントラ予測部71は、Most Probable Modeの生成を行い、並列処理により、イントラ予測モードのイントラ予測画像を生成する。可逆復号部62からインター予測モード情報が供給された場合、動き予測・補償部72は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
この処理により、イントラ予測部71により生成された予測画像(イントラ予測画像)、または動き予測・補償部72により生成された予測画像(インター予測画像)が選択部73に供給される。
ステップS54において、選択部73は予測画像を選択する。すなわち、イントラ予測部71により生成された予測画像、または動き予測・補償部72により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部65に供給され、後述するステップS57において逆直交変換部64の出力と加算される。
上述したステップS52において、可逆復号部62により復号された変換係数は、逆量子化部63にも供給される。ステップS55において、逆量子化部63は可逆復号部62により復号された変換係数を、図1の量子化部25の特性に対応する特性で逆量子化する。
ステップS56において逆直交変換部29は、逆量子化部28により逆量子化された変換係数を、図1の直交変換部24の特性に対応する特性で逆直交変換する。これにより図1の直交変換部24の入力(演算部23の出力)に対応する差分情報が復号されたことになる。
ステップS57において、演算部65は、上述したステップS54の処理で選択され、選択部73を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
ステップS58においてデブロッキングフィルタ66は、演算部65より出力された画像に対して、デブロッキングフィルタ処理を行う。これによりブロック歪みが除去される。デブロッキングフィルタ66からの復号画像は、適応オフセットフィルタ81に出力される。
ステップS59において、適応オフセットフィルタ81は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ66によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ42bに供給される。
ステップS60において、適応ループフィルタ42bは、適応オフセットフィルタ81によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ42bは、入力画像のブロックの上部から4つのサンプル点を設定し、設定したサンプル点で計算されたバリアンス(分散)によりブロックベースでクラス分類を行う。適応ループフィルタ42bは、分類されたクラスに応じて、入力画像に対してフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ67およびフレームメモリ69に供給する。なお、この適応ループフィルタ処理は、図2のステップS24の適応ループフィルタ処理と基本的に同じ処理であり、その詳細は、図11を参照して後述される。
ステップS61においてフレームメモリ69は、フィルタリングされた画像を記憶する。
ステップS62において、画面並べ替えバッファ67は、適応ループフィルタ42b後の画像の並べ替えを行う。すなわち画像符号化装置11の画面並べ替えバッファ22により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS63において、D/A変換部68は、画面並べ替えバッファ67からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS63の処理が終了すると、復号処理が終了される。
<従来の手法の説明>
[従来の適応ループフィルタの説明]
図5を参照して、従来のブロックベースの適応ループフィルタについて説明する。図5の例においては、左側に、HEVC(High Efficiency Video Coding)方式における手法、右側に、非特許文献1の提案における手法が示されている。丸は、画素を表し、黒丸は、バリアンスの計算が行われる画素を示している。また、実線は、クラス分類を行うブロックを表している。
HEVC方式におけるブロックベースでクラス分類を行う適応ループフィルタにおいては、図5の左側に示されるように、実線で示される4×4画素のブロック毎に、全ての画素のバリアンス(Variance:分散)を計算してクラス分類が行われていた。点線の四角は、4×4画素のブロック内の左上の画素のバリアンスを求める際の参照範囲を示している。
これに対して、非特許文献1の提案では、図5の右側に示されるように、4×4画素のブロックの16画素から、4画素がサブサンプリングされ、そのサブサンプリングされた4画素についてのみバリアンスを計算してクラス分類が行われる。
サブサンプリングされる4画素は、ブロック内における、上から1行目の左から1列目および3列目の画素と、上から3行目の左から1列目および3列目の画素である。
この提案により、クラス分類の計算が削減される。
ところで、このようなブロックベースでクラス分類を行う適応ループフィルタにおいては、クラス分類のためのバリアンスを計算する際に、垂直方向の参照が大きいと、LCU(Largest Coding Unit)の下部では、ラインメモリを多く持つ必要があった。
ここで、LCU(Largest Coding Unit)とCU(Coding Unit)について簡単に説明する。H.264及びMPEG(Moving Picture Experts Group)4 Part10(AVC(Advanced Video Coding))(以下H.264/AVCと称する)においては、1つのマクロブロックを、複数の動き補償ブロックに分割し、それぞれに対して異なる動き情報を持たせることが可能であった。すなわち、H.264/AVC方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されていた。これに対して、HEVC(High Efficiency Video Coding)方式においては、コーディングユニット(CU)が規定されている。
CUは、Coding Tree Block(CTB)とも呼ばれ、H.264/AVC方式におけるマクロブロックと同様の役割を果たす、符号化(復号)の処理単位となる領域(ピクチャ単位の画像の部分領域)である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ((SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。例えば、後述する図6の例では、CUの分割ラインは示されていないが、LCUの大きさが16×16画素であり、その中に、8×8画素のCUが4つ含まれている例が示されている。
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、H.264/AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、H.264/AVC方式のマクロブロックより大きく設定されることが一般的である。
よって、以下、LCUは、H.264/AVC方式におけるマクロブロックをも含むものとし、CUは、H.264/AVC方式におけるブロック(サブブロック)をも含むものとする。
[LCU境界における従来の適応ループフィルタの説明]
図6を参照して、適応ループフィルタのLCUの水平境界での処理について説明する。なお、以下、単にLCU境界と称する場合、それは、LCUの水平境界を表すものとして説明する。また、LCU境界からのラインの数は、LCU境界からの上に向かってのラインの数を示すものとして説明する。
図6の例において、一番下がLCU境界を示しており、丸は画素を表している。
LCU境界から1ライン目乃至3ライン目の丸は、次のLCUがデブロッキングフィルタに入力されたときに、水平境界のデブロッキングV(垂直)フィルタ処理が開始される画素を表している。なお、1ライン目乃至3ライン目のハッチングで示される丸は、LCUに含まれるCUの垂直境界においてデブロッキングH(水平)フィルタ処理された画素を表している。1行目乃至3行目の丸のうち、白丸は、CUの垂直境界ではないため、実際には、デブロッキングHフィルタ処理が施されない画素を表している。
なお、ここで、水平境界のデブロッキングV(垂直)フィルタ処理とは、上下(垂直方向)に隣接するブロック間の水平境界のブロックノイズを除去するデブロッキングフィルタのことを言う。また、垂直境界のデブロッキングH(水平)フィルタ処理とは、左右(水平方向)に隣接するブロック間の垂直境界のブロックノイズを除去するデブロッキングフィルタのことを言う。図6の例においては、デブロッキングHフィルタ処理、デブロッキングVフィルタ処理の順にデブロッキングフィルタが行われる例が示されている。
LCU境界から4ライン目および5ライン目の画素は、デブロッキングVフィルタ処理済みの画素であって、かつ、適応オフセットフィルタ処理前の画素である。この4ライン目の画素は、1ライン目乃至3ライン目のデブロッキングVフィルタ処理において参照される画素でもある。
LCU境界から6ライン目乃至8ライン目の画素は、適応オフセットフィルタ処理済みの画素であって、かつ、適応ループフィルタ処理がなされていない画素である。
LCU境界から9ライン目乃至12ライン目の丸は、適応ループフィルタ(ALF)処理後の画素を表している。
デブロッキングフィルタは、LCU境界において、LCU境界から1ライン目乃至3ライン目の画素を処理する際、LCU境界を介して下に接するLCUの画素(次の4ライン分の画素)が入力されないとデブロッキングVフィルタ処理を開始できない。
したがって、デブロッキングフィルタは、次に処理される対象の1乃至3ライン目の画素の処理で待機(一時停止)することになる。
適応オフセットフィルタは、適応オフセットフィルタのラインメモリに保持されているLCU境界から5ライン目の画素のフィルタ処理を行うには、LCU境界から4乃至6ライン目の画素がラインメモリに必要である。しかしながら、LCU境界から4ライン目の画素は、デブロッキングフィルタのラインメモリに保持されているので、適応オフセットフィルタは、LCU境界から5ライン目の画素のフィルタ処理を行うことができない場合があり得る。このような場合、適応オフセットフィルタは、次に処理される対象の5ライン目の画素の処理で待機することになる。
適応ループフィルタは、例えば、非特許文献1に記載の方法で、クラス分類処理を行う。LCU境界から9ライン目乃至12ライン目に実線で示される4×4画素ブロックの画素については、そのとき参照される画素も含めて、適応オフセットフィルタ処理済みの画素である。したがって、適応ループフィルタは、それらのクラス分類およびフィルタ処理を完了することができる。
そして、LCU境界から5ライン目乃至8ライン目に実線に示される4×4画素ブロックのクラス分類処理は、画素P1乃至画素P4についてのバリアンスの計算結果により行われる。
画素P1は、4×4画素ブロックにおける上から1行目の左から1列目の画素である。画素P2は、4×4画素ブロックにおける上から1行目の左から3列目の画素である。画素P3は、4×4画素ブロックにおける上から3行目の左から1列目の画素である。画素P4は、4×4画素ブロックにおける上から3行目の左から3列目の画素である。
バリアンスの計算は、各画素の周囲8画素が参照されて行われるので、点線で示される範囲の画素が、画素P1乃至画素P4のバリアンスの計算に必要な画素となる。それらの画素のうち、画素P1および画素P2のバリアンスの計算に必要な画素は、すでに適応オフセットフィルタが終わっている。しかしながら、画素P3および画素P4のバリアンスの計算に必要な画素の一部(LCU境界から5ライン目の画素)は、まだ適応オフセットフィルタが終わってないので、バリアンスの計算に用いることができない。したがって、適応ループフィルタは、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理で待機することになる。
ここで、適応ループフィルタのフィルタ処理は、例えば、垂直方向については5タップで行われる。したがって、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理およびフィルタ処理のために、適応ループフィルタのラインメモリには、適応オフセットフィルタ済みの6ライン目乃至10ライン目の画素が保持される。
なお、図6の例は、デブロッキングフィルタ、適応オフセットフィルタ、および適応ループフィルタの処理の一例であり、処理可能なラインやラインメモリ数は、アーキテクチャによって異なる場合もある。
以上のように、適応ループフィルタにおいては、バリアンスを計算する際に、垂直方向に参照する画素の範囲が広いと、LCU境界から8ライン目より下における4×4画素のブロックのクラス分類が行うことができない。このため、4×4画素のブロックのフィルタ係数を決定することが困難であり、その結果、フィルタ処理も行うことができないので、アーキテクチャによっては、LCUの下部では、ラインメモリを多く保持しなければならなかった。
そこで、以下に説明する適応ループフィルタにおいては、バリアンスを計算するブロックにおけるサンプル点を、ブロックの上部に位置する画素に変更することにより、ラインメモリの削減を図る。
ここで、ブロックの上部に位置するとは、ブロックサイズの半分のサイズよりも上の部分に位置することを意味する。
ブロックの上部に位置する画素は、例えば、ブロックサイズが4×4画素であれば、垂直方向に2画素サンプルポジションを基準として、その基準よりも上に位置する画素であればよい。また、ブロックの上部に位置する画素は、例えば、ブロックサイズが8×8画素であれば、垂直方向に4画素サンプルポジションを基準として、その基準よりも上に位置する画素であればよい。要するに、サンプル点とする画素は、ブロックの上半分内に位置する画素であればよい。
<3.第1の実施の形態>
[適応ループフィルタにおけるサンプル点の例]
まず、図7を参照して、本技術の適応ループフィルタの処理について説明する。なお、図1に示した画像符号化装置11の適応ループフィルタ42aおよび図3に示した画像復号装置51の適応ループフィルタ42bの構成は、共通であってよい。したがって、これ以降の説明においては、個々に区別する必要がない場合、適応ループフィルタ42aおよび適応ループフィルタ42bを適応ループフィルタ42と総称する。
図7の例においては、左側に、比較のための非特許文献1の提案における手法、右側に、適応ループフィルタ42による手法が示されている。丸は、画素を表し、黒丸は、バリアンスの計算が行われる画素を示している。また、実線は、クラス分類を行う4×4画素ブロックを表しており、点線は、バリアンスの計算の際に参照される画素の範囲を表している。
非特許文献1の提案では、図5を参照して上述したように4×4画素ブロック内の4画素が、クラス分類のためのバリアンスの計算対象としてサブサンプリングされ、そのサブサンプリングされた4画素についてのみバリアンスを計算してクラス分類が行われる。
サブサンプリングされる4画素は、図7の左側に示されるように、ブロック内における、上から1行目における左から1列目および3列目の画素と、上から3行目における左から1列目および3列目の画素である。
バリアンスの計算には、周辺8画素が必要となるので、上述した4画素のバリアンス計算の際に参照される画素の範囲は、点線に示される5×5画素の範囲となる。
これに対して、適応ループフィルタ42においては、図7の右側に示されるように、ブロック内における、上から1行目の左から1列目および3列目の画素と、上から2行目の左から1列目および3列目の画素が、サンプル点として設定される。
クラス分類のためのバリアンスの計算には、周辺8画素が必要となるので、適応ループフィルタ42の場合、4画素のバリアンス計算の際に参照される画素の範囲は、点線に示される垂直方向に4画素×水平方向に5画素の範囲となる。
すなわち、適応ループフィルタ42においては、4×4画素のバリアンスの計算を行うサンプル点のうち、ブロックの下に位置するサンプル点の位置が、従来と比して垂直方向に1ライン上に変更(設定)される。
これにより、バリアンス計算の際の垂直方向の参照範囲も、従来と比して垂直方向に1ライン上に変更される。すなわち、バリアンス計算の際の垂直方向の参照範囲を、従来と比して1ライン分小さくすることができ、その分、ラインメモリを削減することができる。
[LCU境界における適応ループフィルタの説明]
図8を参照して、適応ループフィルタ42のLCUの水平境界での処理について説明する。図8の例においては、左側に、図6を参照して上述した非特許文献1の提案における手法が比較のために示されている。また、右側に、適応ループフィルタ42による本技術の手法が示されている。なお、図8に示されるLCUの下部は、図6と基本的に同様であるので、その詳細な説明は省略される。
図6の場合と同様に、デブロッキングフィルタは、LCU境界において、LCU境界から1ライン目乃至3ライン目の画素を処理する際、LCU境界を介して下に接するLCUの画素(次の4ライン分の画素)が入力されないとデブロッキングVフィルタ処理を開始できない。
したがって、デブロッキングフィルタは、次に処理される対象の1乃至3ライン目の画素の処理で待機(一時停止)することになる。
適応オフセットフィルタは、適応オフセットフィルタのラインメモリに保持されているLCU境界から5ライン目の画素のフィルタ処理を行うには、LCU境界から4ライン目の画素がラインメモリに必要である。しかしながら、LCU境界から4ライン目の画素は、デブロッキングフィルタのラインメモリに保持されているので、適応オフセットフィルタは、LCU境界から5ライン目の画素のフィルタ処理を行うことができない場合がある。このような場合、適応オフセットフィルタは、処理される対象の5ライン目の画素の処理で待機することになる。
非特許文献1に記載の適応ループフィルタは、図8の左側に示されるように、LCU境界から9ライン目乃至12ライン目の4×4画素ブロックのフィルタ処理の後、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理を行う。実線に示される、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理は、画素P1乃至画素P4についてのバリアンスの計算結果により行われる。
画素P1は、4×4画素ブロックにおける上から1行目の左から1列目の画素である。画素P2は、4×4画素ブロックにおける上から1行目の左から3列目の画素である。画素P3は、4×4画素ブロックにおける上から3行目の左から1列目の画素である。画素P4は、4×4画素ブロックにおける上から3行目の左から3列目の画素である。
バリアンスの計算は、各画素の周囲8画素が参照されて行われるので、点線で示される範囲の画素が、画素P1乃至画素P4のバリアンスの計算に必要な画素となる。画素P1および画素P2のバリアンスの計算に必要な画素は、LCU境界から7乃至9ライン目の画素であるので、すでに適応オフセットフィルタが終わっている。しかしながら、画素P3および画素P4のバリアンスの計算に必要な画素の一部(LCU境界から5ライン目の画素)は、まだ適応オフセットフィルタが終わってないので、用いることができない。したがって、適応ループフィルタは、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理で待機することになる。
また、適応ループフィルタのフィルタ処理は、例えば、垂直方向については5タップで行われる。したがって、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理およびフィルタ処理のために、適応ループフィルタのラインメモリには、適応オフセットフィルタ済みの6ライン目乃至10ライン目の画素が保持される。
これに対して、本技術を適用した適応ループフィルタ42は、図8の右側に示されるように、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理を行う。その際、実線に示される4×4画素ブロックのクラス分類処理は、画素P1、画素P2、画素Q1、および画素Q2についてのバリアンスの計算結果により行われる。
画素P1は、4×4画素ブロックにおける上から1行目の左から1列目の画素である。画素P2は、4×4画素ブロックにおける上から1行目の左から3列目の画素である。画素Q1は、4×4画素ブロックにおける上から2行目の左から1列目の画素である。画素Q2は、4×4画素ブロックにおける上から2行目の左から3列目の画素である。
すなわち、適応ループフィルタ42においては、従来のサンプル点である画素P3が、4×4画素ブロックにおける1列上の画素Q1に変更され、従来のサンプル点である画素P4が、4×4画素ブロックにおける1列上の画素Q2に変更されている。すなわち、4つのサンプル点は、すべて4×4画素ブロックにおける上部(上から1または2行目のライン)に位置する画素となる。
画素P1および画素P2のバリアンスの計算に必要な画素は、LCU境界から7乃至9ライン目の画素であるので、すでに適応オフセットフィルタが終わっている。また、画素Q1および画素Q2のバリアンスの計算に必要な画素は、LCU境界から6乃至8ライン目の画素であるので、すでに適応オフセットフィルタが終わっている。
以上により、適応ループフィルタ42は、LCU境界から5ライン目乃至8ライン目の4×4画素ブロックのクラス分類処理を行うことができる。ここで、適応ループフィルタ42のフィルタ処理は、例えば、垂直方向5タップで行われる。
すなわち、4×4画素ブロックにおける1列目の適応ループフィルタ42のフィルタ処理に必要なLCU境界から6ライン目乃至10ライン目の画素についてはすでに適応オフセットフィルタが終わっており、フィルタ処理を行うことができる。したがって、LCU境界から10ライン目の画素は、ラインメモリからリリース(解放)することができ、結果、適応ループフィルタ42のラインメモリには、適応オフセットフィルタが終わっている6ライン目乃至9ライン目の画素が保持されていればよい。
以上のように、適応ループフィルタ42のラインメモリにおいては、従来の適応ループフィルタのラインメモリより、保持するラインを1ライン少なくすることができる。
HEVC方式における画像サイズは、4k×2kであり、HEVC方式のラインメモリ1ラインは、画面サイズが1920×1080であるH.264/AVCのデブロッキングのラインメモリ2ラインに相当する。H.264/AVCでは、ラインメモリ4ラインを搭載しているので、HEVC方式のラインメモリ1ラインの削減は、H.264/AVCのラインメモリの50%の削減に相当する。
すなわち、ラインメモリ1ラインの削減は、効果が大きい。
[適応ループフィルタの構成例]
図9は、本開示を適用した適応ループフィルタの構成例を示すブロック図である。
図9の例において、適応ループフィルタ42は、ラインメモリ101、ALFクラス分類部102、ALFフィルタ演算部103、および制御部104を含むように構成される。
前段からの適応オフセットフィルタ済みの画素は、ラインメモリ101、ALFクラス分類部102、およびALFフィルタ演算部103に入力される。なお、前段とは、図1の画像符号化装置11の場合、適応オフセットフィルタ41であり、図3の画像復号装置51の場合、適応オフセットフィルタ81である。
ラインメモリ101は、LCU境界において、前段から入力される適応オフセットフィルタ済みの画素を一旦保持する。
ALFクラス分類部102は、制御部104からの制御信号に応じて、処理対象のブロックがLCU境界(LCUの下部)ではない場合、前段から入力される適応オフセットフィルタ済みの画素を用いて、4×4画素ブロック毎にクラス分類を行う。
ALFクラス分類部102は、制御部104からの制御信号に応じて、処理対象のブロックがLCU境界(LCUの下部)である場合、ラインメモリ101に保持されている適応オフセットフィルタ済みの画素を用いて、4×4画素ブロック毎にクラス分類を行う。
クラス分類の際、ALFクラス分類部102においては、4×4画素ブロックのうち、そのブロックの上部から4つの画素がサンプルされて、その画素毎に周辺8画素が用いられて、バリアンスが計算される。
ALFクラス分類部102は、分類したクラス値を、ALFフィルタ演算部103に供給する。
ALFフィルタ演算部103は、制御部104からの制御信号に応じて、処理対象のブロックがLCU境界(LCUの下部)ではない場合、前段から入力される適応オフセットフィルタ済みの画素に対してフィルタ演算を行う。
ALFフィルタ演算部103は、制御部104からの制御信号に応じて、処理対象のブロックがLCU境界(LCUの下部)である場合、ラインメモリ101に保持されている適応オフセットフィルタ済みの画素に対してフィルタ演算を行う。
フィルタ演算の際、ALFフィルタ演算部103においては、処理対象となる画素を中心として、十字形状のタップや、スノーフレーク形状のタップが用いられる。十字形状のタップは、垂直方向に5画素、水平方向に7画素で形成される形状である。スノーフレーク形状のタップは、処理対象となる画素を中心として、垂直方向に5画素、水平方向に5画素の範囲で形成される形状である。
このとき、ALFフィルタ演算部103は、ALFクラス分類部102からのクラス値に応じたフィルタ係数を用いてフィルタ演算を行い、フィルタ演算後の出力画素を、後段へ供給する。なお、後段とは、図1の画像符号化装置11の場合、フレームメモリ32であり、図3の画像復号装置51の場合、画面並べ替えバッファ67またはフレームメモリ69である。
制御部104は、入力画素の選択(スイッチング)や、処理タイミングなどを制御する制御信号を、ラインメモリ101、ALFクラス分類部102、およびALFフィルタ演算部103にそれぞれ供給する。
[ALFクラス分類部の構成例]
図10は、図9のALFクラス分類部の構成例を示すブロック図である。
図10の例において、ALFクラス分類部102は、画像メモリ121、水平・垂直バリアンス算出部122、バリアンス加算部123、クラス値決定部124、および制御部125を含むように構成される。
画像メモリ121には、前段あるいはラインメモリ101からの適応オフセットフィルタ済みの画素が入力され、保持される。
水平・垂直バリアンス算出部122は、制御部125の制御のもと、画像メモリ121に蓄積された4×4画素ブロックB内の画素のうち、サンプル点である画素について、水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)を算出する。サンプル点である画素は、上述した図7の場合、画素P1,画素P2,画素Q1,画素Q2である。
水平・垂直バリアンス算出部122は、水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)をバリアンス加算部123に供給する。
バリアンス加算部123は、制御部125の制御のもと、水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)を用いて、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを求める。バリアンス加算部123は、求めた水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを、クラス値決定部124に供給する。
ここで、図7の例の場合の、水平方向のバリアンス値H(i,j)、垂直方向のバリアンス値V(i,j)、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lは、次の式(1)で求められる。
Figure 2013074491
absは、絶対値を表す。iは、4×4画素ブロックBにおけるサンプル点のx座標を示しており、jは、4×4画素ブロックBにおけるサンプル点のy座標を示している。なお、この式(1)は、例であり、バリアンスの求め方はこれに限らない。
クラス値決定部124は、サンプル点である画素についての水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lに基づいて、この4×4画素ブロックBのクラス値を求める。クラス値決定部124は、求めたクラス値を、ALFフィルタ演算部103に供給する。
制御部125は、対象画素判定部131および終了判定部132を含むように構成されており、ALFクラス分類部102の各部を制御する。
対象画素判定部131は、画像メモリ121に蓄積された4×4画素ブロックB内の画素を判定し、水平・垂直バリアンス算出部122およびバリアンス加算部123を制御する。すなわち、対象画素判定部131は、画像メモリ121に蓄積された4×4画素ブロックB内の画素が、例えば、図7を参照して上述した所定の位置の画素であるか否かを判定する。そして、対象画素判定部131は、所定の位置の画素であると判定した画素をサンプル点に設定して、設定したサンプル点について、水平・垂直バリアンス算出部122およびバリアンス加算部123を制御し、バリアンスを計算させる。
終了判定部132は、ALFクラス分類部102における処理の終了を判定する。終了判定部132は、例えば、処理対象の画素が、4×4画素ブロックBの最後の画素であるか、あるいは、処理対象のブロックBが、画面内最後の4×4画素ブロックであるかを判定し、クラス値決定部124の処理を制御する。
[適応ループフィルタの処理例]
次に、図11のフローチャートを参照して、適応ループフィルタ42の適応ループフィルタ処理を説明する。なお、図11の処理は、上述した図2のステップS24の適応ループフィルタ処理の例であって、図4のステップS60の適応ループフィルタ処理の例である。
前段からの適応オフセットフィルタ済みの画素は、ラインメモリ101、ALFクラス分類部102、およびALFフィルタ演算部103に入力される。
ステップS101において、ALFクラス分類部102は、適応オフセットフィルタ済みの画素を用いて、4×4画素ブロックB毎にクラス分類処理を行う。なお、このクラス分類処理の詳細は後述される。
なお、ALFクラス分類部102は、制御部104からの制御信号に応じて、処理対象のブロックBがLCU境界(LCUの下部)ではない場合、前段から入力される適応オフセットフィルタ済みの画素を用いて、4×4画素ブロックB毎にクラス分類を行う。
ALFクラス分類部102は、制御部104からの制御信号に応じて、処理対象のブロックBがLCU境界(LCUの下部)である場合、ラインメモリ101に保持されている適応オフセットフィルタ済みの画素を用いて、4×4画素ブロックB毎にクラス分類を行う。
クラス分類された結果の4×4画素ブロックB毎のクラス値は、ALFフィルタ演算部103に供給される。
ステップS102において、ALFフィルタ演算部103は、適応オフセットフィルタ済みの画素に対して、ALFクラス分類部102からのクラス値に応じたフィルタ係数を用いて、フィルタ演算を行う。
ALFフィルタ演算部103は、制御部104からの制御信号に応じて、処理対象のブロックBがLCU境界(LCUの下部)ではない場合、前段から入力される適応オフセットフィルタ済みの画素を中心としたタップに対してフィルタ演算を行う。
ALFフィルタ演算部103は、制御部104からの制御信号に応じて、処理対象のブロックがLCU境界(LCUの下部)である場合、ラインメモリ101に保持されている適応オフセットフィルタ済みの画素を中心としたタップに対してフィルタ演算を行う。
ALFフィルタ演算部103は、フィルタ演算後の出力画素を、後段へ供給する。
[クラス分類の処理例]
次に、図12のフローチャートを参照して、図11のステップS101におけるクラス分類処理を説明する。図12の例においては、図7を参照して上述した4画素が、サンプル点として設定される例を説明する。
ステップS121において、対象画素判定部131は、画像メモリ121から4×4画素ブロックBから選択した1つの対象画素が、4×4画素ブロックB内の1行目または2行目(Row:1or2)の1列目または2列目(Col:1or2)の画素であるか否かを判定する。
ステップS121において、対象画素が、4×4画素ブロックB内の1行目または2行目(Row:1or2)の1列目または2列目(Col:1or2)の画素であると判定された場合、処理は、ステップS122に進む。
ステップS122において、水平・垂直バリアンス算出部122は、対象画素判定部131の制御のもと、対象画素をサンプル点に設定して、サンプル点についてバリアンスを計算する。水平・垂直バリアンス算出部122は、計算した水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)をバリアンス加算部123に供給する。
ステップS123において、バリアンス加算部123は、制御部125の制御のもと、上述した式(1)により、バリアンスの計算結果を各要素についてそれぞれ加算する。すなわち、バリアンス加算部123は、計算結果である水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)を用いて、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを求める。バリアンス加算部123は、求めた水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを、クラス値決定部124に供給する。
ステップS121において、対象画素が、4×4画素ブロックB内の1行目または2行目(Row:1or2)の1列目または2列目(Col:1or2)の画素ではないと判定された場合、処理は、ステップS122およびS123をスキップし、ステップS124に進む。
ステップS124において、対象画素判定部131は、対象画素が、4×4画素ブロックB内の最後の対象画素(すなわち、16個目の画素)であるか否かを判定する。ステップS124において、4×4画素ブロックB内の最後の対象画素ではないと判定された場合、処理は、ステップS121に戻り、次にラスタスキャン順に選択された対象画素について、それ以降の処理が繰り返される。
ステップS124において、4×4画素ブロックB内の最後の対象画素であると判定された場合、処理は、ステップS125に進む。ステップS125において、クラス値決定部124は、バリアンスの計算値からクラス値を決定する。すなわち、クラス値決定部124は、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lに基づいて、この4×4画素ブロックBのクラス値を求め、求めたクラス値を、ALFフィルタ演算部103に供給する。
ステップS126において、終了判定部132は、この4×4画素ブロックBが、画面内最後の4×4画素ブロックであるか否かを判定する。ステップS126において、この4×4画素ブロックBが、画面内最後の4×4画素ブロックではないと判定された場合、処理は、ステップS121に戻り、ラスタスキャン順に次の4×4画素ブロックBについて、それ以降の処理が繰り返される。
ステップS126において、この4×4画素ブロックBが、画面内最後の4×4画素ブロックであると判定された場合、図12のクラス分類処理は終了する。
以上のように、クラス分類のためのバリアンス計算対象のサンプル点とする画素の位置を、4×4画素ブロックの上部分に変更したので、ラインメモリ数を減らすことが可能である。
なお、上述したように、サンプル点とする画素の位置は、4×4画素ブロックの上部分であればよく、図7の例に限らない。サンプル点とする画素の位置は、例えば、図13に示すようにしてもよい。
<4.第2の実施の形態>
[適応ループフィルタにおけるサンプル点の例]
次に、図13を参照して、本技術の適応ループフィルタの処理の他の例について説明する。なお、図13の例のサンプル点を用いる場合の適応ループフィルタ42の構成も、図9を参照して上述した構成と基本的に同様であるので、その説明は省略される。
図13の例においては、左側に、比較のための非特許文献1の提案における手法、右側に、適応ループフィルタ42による手法が示されている。丸は、画素を表し、黒丸は、バリアンスの計算が行われる画素を示している。また、実線は、クラス分類を行う4×4画素ブロックを表しており、点線は、バリアンスの計算の際に参照される画素の範囲を表している。
非特許文献1の提案では、図5を参照して上述したように4×4画素のブロック内の4画素が、クラス分類のためのバリアンスの計算対象としてサブサンプリングされ、そのサブサンプリングされた4画素についてのみバリアンスを計算してクラス分類が行われる。
サブサンプリングされる4画素は、図13の左側に示されるように、ブロック内における、上から1行目の左から1列目および3列目の画素と、上から3行目の左から1列目および3列目の画素である。
バリアンスの計算には、周辺8画素が必要となるので、上述した4画素のバリアンス計算の際に参照される画素の範囲は、点線に示される5×5画素の範囲となる。
これに対して、適応ループフィルタ42においては、図13の右側に示されるように、ブロック内における、上から1行目における左から1乃至4列目の画素が、サンプル点として設定される。
クラス分類のためのバリアンスの計算には、周辺8画素が必要となるので、適応ループフィルタ42の場合、4画素のバリアンス計算の際に参照される画素の範囲は、点線に示される垂直方向に3画素×水平方向に6画素の範囲となる。
すなわち、適応ループフィルタ42においては、4×4画素のバリアンスの計算を行うサンプル点のうち、ブロックの下に位置するサンプル点の位置が、従来と比して垂直方向に2ライン上に変更(設定)される。
これにより、バリアンス計算の際の垂直方向の参照範囲も、従来と比して2ライン上に変更される。小さくすることができる。すなわち、バリアンス計算の際の垂直方向の参照範囲を、従来に比して2ライン、図7の例の場合と比してさらに1ライン小さくすることができ、その分、ラインメモリを削減することができる。
[クラス分類の処理例]
次に、図14のフローチャートを参照して、図13の例のサンプル点を用いて行われるクラス分類処理を説明する。なお、このクラス分類処理は、図11のステップS101におけるクラス分類処理の他の例である。図14の例においては、図13を参照して上述した4画素が、サンプル点として設定される例を説明する。
ステップS141において、対象画素判定部131は、画像メモリ121から4×4画素ブロックBから選択した1つの対象画素が、4×4画素ブロックB内の1行目(Row:1)の画素であるか否かを判定する。
ステップS141において、対象画素が、4×4画素ブロックB内の1行目(Row:1)の画素であると判定された場合、処理は、ステップS142に進む。
ステップS142において、水平・垂直バリアンス算出部122は、対象画素判定部131の制御のもと、対象画素をサンプル点に設定して、サンプル点についてバリアンスを計算する。水平・垂直バリアンス算出部122は、計算した水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)をバリアンス加算部123に供給する。
ステップS143において、バリアンス加算部123は、制御部125の制御のもと、次の式(2)により、バリアンスの計算結果を各要素についてそれぞれ加算する。すなわち、バリアンス加算部123は、計算結果である水平方向のバリアンス値H(i,j)と垂直方向のバリアンス値V(i,j)を用いて、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを求める。
Figure 2013074491
absは、絶対値を表す。iは、4×4画素ブロックにおけるサンプル点のx座標を示しており、jは、4×4画素ブロックにおけるサンプル点のy座標を示している。
バリアンス加算部123は、求めた水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lを、クラス値決定部124に供給する。
ステップS141において、対象画素が、4×4画素ブロックB内の1行目(Row:1)の画素ではないと判定された場合、処理は、ステップS142およびS143をスキップし、ステップS144に進む。
ステップS144において、対象画素判定部131は、対象画素が、4×4画素ブロックB内の最後の対象画素(すなわち、16個目の画素)であるか否かを判定する。ステップS144において、4×4画素ブロックB内の最後の対象画素ではないと判定された場合、処理は、ステップS141に戻り、次にラスタスキャン順に選択された対象画素について、それ以降の処理が繰り返される。
ステップS144において、4×4画素ブロックB内の最後の対象画素であると判定された場合、処理は、ステップS145に進む。ステップS145において、クラス値決定部124は、バリアンスの計算値からクラス値を決定する。すなわち、クラス値決定部124は、水平バリアンス加算値H、垂直バリアンス加算値V、およびラプラシアン代用バリアンス加算値Lに基づいて、この4×4画素ブロックBのクラス値を求め、求めたクラス値を、ALFフィルタ演算部103に供給する。
ステップS146において、終了判定部132は、この4×4画素ブロックBが、画面内最後の4×4画素ブロックであるか否かを判定する。ステップS146において、この4×4画素ブロックBが、画面内最後の4×4画素ブロックではないと判定された場合、処理は、ステップS141に戻り、ラスタスキャン順に次の4×4画素ブロックについて、それ以降の処理が繰り返される。
ステップS146において、この4×4画素ブロックBが、画面内最後の4×4画素ブロックであると判定された場合、図14のクラス分類処理は終了する。
以上のように、バリアンス計算対象のサンプル点とする画素の位置を、4×4画素ブロックの上部分に変更したので、ラインメモリ数を減らすことが可能である。
なお、上記説明においては、クラス分類を行う際の指標(基準)となる評価値の代表的な値として、バリアンスを用いて説明したが、バリアンスに限定されず、クラス分類を行う際の指標(基準)となる代表値であれば、他の値を用いてもよい。他の値の例としては、例えば、隣接画素との差分値の和、差分値、差分の分布、隣接画素との相関などがあげられる。
また、上記説明においては、クラス分類を行うブロックサイズとして、4×4画素の例を用いて説明したが、ブロックサイズは、4×4画素に限定されず、例えば、2×2画素や8×8画素としてもよい。
以上においては、符号化方式としてHEVC方式をベースに用いるようにした。ただし、本開示はこれに限らず、インループフィルタとして、少なくともデブロッキングフィルタと適応ループフィルタを含む、その他の符号化方式/復号方式を適用することができる。
なお、本開示は、例えば、HEVC方式等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本開示は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
<5.第3の実施の形態>
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロホンなどよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記憶部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ500(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<6.応用例>
[第1の応用例:テレビジョン受像機]
図16は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置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での画像の復号に際して、LCUの下部において必要なラインメモリの削減を図ることができる。
[第2の応用例:携帯電話機]
図17は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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での画像の符号化及び復号に際して、LCUの下部において必要なラインメモリの削減を図ることができる。
[第3の応用例:記録再生装置]
図18は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置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での画像の符号化及び復号に際して、LCUの下部において必要なラインメモリの削減を図ることができる。
[第4の応用例:撮像装置]
図19は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置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での画像の符号化及び復号に際して、LCUの下部において必要なラインメモリの削減を図ることができる。
なお、本明細書においては、主に垂直境界についてのフィルタリング処理が水平境界についてのフィルタリング処理よりも先に行われる例を説明したが、水平境界についてのフィルタリング処理が先に行われる場合にも本開示に係る技術による上述した効果は同等に享受され得る。また、デブロックフィルタの処理単位のサイズ又はLCUのサイズは、本明細書で説明した例に限定されず、他のサイズであってもよい。
また、本明細書においては、垂直境界についてのフィルタリング処理のフィルタタップは水平方向に沿って並ぶことから、垂直境界についてのフィルタリング処理のフィルタを「H(水平)フィルタ」と表現した。同様に、水平境界についてのフィルタリング処理のフィルタタップは垂直方向に沿って並ぶことから、水平境界についてのフィルタリング処理のフィルタを「V(垂直)フィルタ」と表現した。しかしながら、一般に、垂直境界についてのフィルタリング処理のフィルタをが「V(垂直)フィルタ」、水平境界についてのフィルタリング処理のフィルタが「H(水平)フィルタ」とそれぞれ呼ばれる場合もあることに留意されたい。
なお、本明細書では、予測モード、適応オフセットフィルタ、および、適応ループフィルタの各パラメータ等の各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 符号化ストリームを復号処理して画像を生成する復号部と、
前記復号部により生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、
前記設定部により設定されたサンプル画素の評価値に基づいて、前記復号部により生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、
前記クラス分類部によりクラス分類されたクラスに従って、前記復号部により生成された画像を、ブロックベースでフィルタ処理するフィルタ処理部と
を備える画像処理装置。
(2) 前記ブロックは、4×4の画素で構成されており、
前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素として設定する
前記(1)に記載の画像処理装置。
(3) 前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定する
前記(2)に記載の画像処理装置。
(4) 前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定する
前記(2)に記載の画像処理装置。
(5) 前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段を
さらに備える前記(1)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記評価値は、バリアンス(分散値)である
前記(5)に記載の画像処理装置。
(7) 画像処理装置が、
符号化ストリームを復号処理して画像を生成し、
生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、
設定されたサンプル画素の評価値に基づいて、生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、
クラス分類されたクラスに従って、生成された画像を、ブロックベースでフィルタ処理する
画像処理方法。
(8) 画像を符号化する際にローカル復号処理された画像を構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、
前記設定部により設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、
前記クラス分類部によりクラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理するフィルタ処理部と、
前記フィルタ処理部によりフィルタ処理された画像を用いて、前記画像を符号化する符号化部と
を備える画像処理装置。
(9) 前記ブロックは、4×4の画素で構成されており、
前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素に設定する
前記(8)に記載の画像処理装置。
(10) 前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定する
前記(9)に記載の画像処理装置。
(11) 前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定する
前記(9)に記載の画像処理装置。
(12) 前前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段を
さらに備える前記(8)乃至(11)のいずれかに記載の画像処理装置。
(13) 前記評価値は、バリアンス(分散値)である
前記(12)に記載の画像処理装置。
(14) 画像処理装置が、
画像を符号化する際にローカル復号処理された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、
設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、
クラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理し、
フィルタ処理された画像を用いて、前記画像を符号化する
画像処理方法。
11 画像符号化装置, 26 可逆符号化部, 31 デブロッキングフィルタ, 41 適応オフセットフィルタ, 42,42a,42b 適応ループフィルタ, 51 画像復号装置, 62 可逆復号部, 81 適応オフセットフィルタ, 101 ラインメモリ, 102 ALFクラス分類部, 103 ALFフィルタ演算部, 104 制御部, 121 画素メモリ, 122 水平・垂直バリアンス算出部, 123 バリアンス加算部, 124 クラス値決定部, 125 制御部, 131 対象画素判定部, 132 終了判定部

Claims (14)

  1. 符号化ストリームを復号処理して画像を生成する復号部と、
    前記復号部により生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、
    前記設定部により設定されたサンプル画素の評価値に基づいて、前記復号部により生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、
    前記クラス分類部によりクラス分類されたクラスに従って、前記復号部により生成された画像を、ブロックベースでフィルタ処理するフィルタ処理部と
    を備える画像処理装置。
  2. 前記ブロックは、4×4の画素で構成されており、
    前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素として設定する
    請求項1に記載の画像処理装置。
  3. 前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定する
    請求項2に記載の画像処理装置。
  4. 前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定する
    請求項2に記載の画像処理装置。
  5. 前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段を
    さらに備える請求項2に記載の画像処理装置。
  6. 前記評価値は、バリアンス(分散値)である
    請求項5に記載の画像処理装置。
  7. 画像処理装置が、
    符号化ストリームを復号処理して画像を生成し、
    生成された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、
    設定されたサンプル画素の評価値に基づいて、生成された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、
    クラス分類されたクラスに従って、生成された画像を、ブロックベースでフィルタ処理する
    画像処理方法。
  8. 画像を符号化する際にローカル復号処理された画像を構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定する設定部と、
    前記設定部により設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類するクラス分類部と、
    前記クラス分類部によりクラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理するフィルタ処理部と、
    前記フィルタ処理部によりフィルタ処理された画像を用いて、前記画像を符号化する符号化部と
    を備える画像処理装置。
  9. 前記ブロックは、4×4の画素で構成されており、
    前記設定部は、前記ブロックの上部に位置する4つの画素をサンプル画素に設定する
    請求項8に記載の画像処理装置。
  10. 前記設定部は、前記ブロックにおいて、上から1行目の左から1列目および3列目の画素、並びに上から3行目の左から1列目および3列目の画素をサンプル画素として設定する
    請求項9に記載の画像処理装置。
  11. 前記設定部は、前記ブロックにおいて、上から1列目の左から1乃至4行目の画素をサンプル画素として設定する
    請求項9に記載の画像処理装置。
  12. 前記設定部により設定されたサンプル画素の評価値を算出する評価値算出手段を
    さらに備える請求項9に記載の画像処理装置。
  13. 前記評価値は、バリアンス(分散値)である
    請求項12に記載の画像処理装置。
  14. 画像処理装置が、
    画像を符号化する際にローカル復号処理された画像のブロックを構成する画素のうち、前記ブロックの上部に位置する画素を、ブロックベースでクラス分類を行う際の基準となる評価値を計算する際に用いるサンプル画素として設定し、
    設定されたサンプル画素の評価値に基づいて、ローカル復号処理された画像のブロックを構成する画素を対象として、ブロックベースでクラス分類し、
    クラス分類されたクラスに従って、ローカル復号処理された画像を、ブロックベースでフィルタ処理し、
    フィルタ処理された画像を用いて、前記画像を符号化する
    画像処理方法。
JP2011212551A 2011-09-28 2011-09-28 画像処理装置および方法 Withdrawn JP2013074491A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011212551A JP2013074491A (ja) 2011-09-28 2011-09-28 画像処理装置および方法
PCT/JP2012/074144 WO2013047335A1 (ja) 2011-09-28 2012-09-21 画像処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011212551A JP2013074491A (ja) 2011-09-28 2011-09-28 画像処理装置および方法

Publications (1)

Publication Number Publication Date
JP2013074491A true JP2013074491A (ja) 2013-04-22

Family

ID=47995367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011212551A Withdrawn JP2013074491A (ja) 2011-09-28 2011-09-28 画像処理装置および方法

Country Status (2)

Country Link
JP (1) JP2013074491A (ja)
WO (1) WO2013047335A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113873237B (zh) * 2016-12-01 2023-12-29 谷歌有限责任公司 用于恢复由重构产生的劣化帧的劣化图块的方法和装置
CN107592537B (zh) * 2017-10-20 2019-11-08 东华大学 一种面向航拍图像集的自适应压缩采样分配方法
CN115119046B (zh) * 2022-06-02 2024-04-16 绍兴市北大信息技术科创中心 一种参考像素集的图像编解码方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5344238B2 (ja) * 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
WO2013047335A1 (ja) 2013-04-04

Similar Documents

Publication Publication Date Title
JP5942990B2 (ja) 画像処理装置および方法
JP6521013B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
US10412418B2 (en) Image processing apparatus and method
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
US20230055659A1 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
WO2015005367A1 (ja) 画像復号装置および方法
US20150036758A1 (en) Image processing apparatus and image processing method
JP6256340B2 (ja) 画像処理装置および方法、並びにプログラム
WO2014050676A1 (ja) 画像処理装置および方法
JP2014207536A (ja) 画像処理装置および方法
JP2011223337A (ja) 画像処理装置および方法
WO2013051452A1 (ja) 画像処理装置および方法
WO2013047325A1 (ja) 画像処理装置および方法
US9930353B2 (en) Image decoding device and method
WO2013047335A1 (ja) 画像処理装置および方法
JP5999449B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2014002900A1 (ja) 画像処理装置および画像処理方法
JP6768208B2 (ja) 画像処理装置および方法
JP6341067B2 (ja) 画像処理装置および方法
JP2013150124A (ja) 画像処理装置および方法
US20160037184A1 (en) Image processing device and method

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202