IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

<>
  • 特開-画像処理装置および画像処理方法 図1
  • 特開-画像処理装置および画像処理方法 図2
  • 特開-画像処理装置および画像処理方法 図3
  • 特開-画像処理装置および画像処理方法 図4
  • 特開-画像処理装置および画像処理方法 図5
  • 特開-画像処理装置および画像処理方法 図6
  • 特開-画像処理装置および画像処理方法 図7
  • 特開-画像処理装置および画像処理方法 図8
  • 特開-画像処理装置および画像処理方法 図9
  • 特開-画像処理装置および画像処理方法 図10
  • 特開-画像処理装置および画像処理方法 図11
  • 特開-画像処理装置および画像処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103663
(43)【公開日】2024-08-01
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240725BHJP
   H04N 19/117 20140101ALI20240725BHJP
【FI】
H04N19/70
H04N19/117
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024088704
(22)【出願日】2024-05-31
(62)【分割の表示】P 2021528243の分割
【原出願日】2020-06-16
(31)【優先権主張番号】62/864,189
(32)【優先日】2019-06-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】池田 優
(57)【要約】
【課題】画像処理に必要な実装負荷の低減を図る。
【解決手段】復号部は、適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを含むビットストリームを復号して、復号画像を生成する。フィルタ部は、復号部により復号されたパラメータセットを参照して、復号部により生成された復号画像に対して、適応ループフィルタを適用する。本技術は、例えば、適応ループフィルタを利用して画像処理を行う画像処理システムに適用できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
適応ループフィルタとして参照するパラメータセットの数の最大数がAPS(Adaptation Parameter Set)のタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットを参照して、ビットストリームを復号して生成された復号画像に対して、前記適応ループフィルタを適用するフィルタ部
を備える画像処理装置。
【請求項2】
前記最大数は、スライスを分割するタイルの数に依存しない固定値である
請求項1に記載の画像処理装置。
【請求項3】
前記最大数は、レベルごとに規定された固定値である
請求項1に記載の画像処理装置。
【請求項4】
前記最大数は、aps_params_typeごとに規定され、かつ、レベルごとに異なる固定値である
請求項1に記載の画像処理装置。
【請求項5】
適応ループフィルタとして参照するパラメータセットの数の最大数がAPS(Adaptation Parameter Set)のタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットを参照して、ビットストリームを復号して生成された復号画像に対して、前記適応ループフィルタを適用することと
を含む画像処理方法。
【請求項6】
適応ループフィルタとして参照するパラメータセットの数の最大数がAPS(Adaptation Parameter Set)のタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットに従って、画像を符号化する際にローカル復号して生成されたローカル復号画像に対して、前記適応ループフィルタを適用するフィルタ部
を備える画像処理装置。
【請求項7】
適応ループフィルタとして参照するパラメータセットの数の最大数がAPS(Adaptation Parameter Set)のタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットに従って、画像を符号化する際にローカル復号して生成されたローカル復号画像に対して、前記適応ループフィルタを適用すること
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および画像処理方法に関し、特に、画像処理に必要な実装負荷の低減を図ることができるようにした画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、非特許文献1に開示されているように、適応ループフィルタ(ALF:Adaptive Loop Filter)のパラメータセット(1セットあたり、最大25class)を、CTU(Coding Tree Unit)単位で切り替えることが可能とされている。
【0003】
例えば、切り替えられるパラメータセットは最大で22種類であり、係数が規格で決められている固定フィルタ(Fixed filter)は16種類であり、ユーザがAPS(Adaptation parameter set)で伝送したユーザ指定フィルタは6種類となっている。また、パラメータを伝送するのにAPSが用いられる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding (Draft 5), JVET-N1001-v7 (version 7 - date 2019-05-29)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、現在のAPSの仕様では、自由度が高すぎる(曖昧な点も含む)ため、使用方法に制約を加えないと、デコーダ側は、APS IDの最大数(=32)を常にデコードする必要があった。このことより、従来、実装負荷が高くなってしまうことが懸念されていた。
【0006】
本開示は、このような状況に鑑みてなされたものであり、画像処理に必要な実装負荷の低減を図ることができるようにするものである。
【課題を解決するための手段】
【0007】
本開示の第1の側面の画像処理装置は、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットを参照して、ビットストリームを復号して生成された復号画像に対して、前記適応ループフィルタを適用するフィルタ部を備える。
【0008】
本開示の第1の側面の画像処理方法は、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットを参照して、ビットストリームを復号して生成された復号画像に対して、前記適応ループフィルタを適用することとを含む。
【0009】
本開示の第1の側面においては、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットを参照して、ビットストリームを復号して生成された復号画像に対して、適応ループフィルタが適用される。
【0010】
本開示の第2の側面の画像処理装置は、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットに従って、画像を符号化する際にローカル復号して生成されたローカル復号画像に対して、前記適応ループフィルタを適用するフィルタ部を備える。
【0011】
本開示の第2の側面の画像処理方法は、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットに従って、画像を符号化する際にローカル復号して生成されたローカル復号画像に対して、前記適応ループフィルタを適用することを含む。
【0012】
本開示の第2の側面においては、適応ループフィルタとして参照するパラメータセットの数の最大数がAPSのタイプであるaps_params_typeごとに規定された固定値として規定されたパラメータセットに従って、画像を符号化する際にローカル復号して生成されたローカル復号画像に対して、適応ループフィルタが適用される。
【図面の簡単な説明】
【0013】
図1】本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
図2】ALF_APSの使用例について説明する図である。
図3】APS parameters type codesの一例を示す図である。
図4】レベルに応じてビットアラインするように規定された最大APS数の一例を示す図である。
図5】aps_params_typeごとに、レベルに応じて規定された最大APS数の一例を示す図である。
図6】aps_params_typeごとに、レベルに応じて規定された最大APS数の具体例を説明する図である。
図7】本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
図8】画像符号化装置の一実施の形態の構成例を示すブロック図である。
図9】符号化処理を説明するフローチャートである。
図10】画像復号装置の一実施の形態の構成例を示すブロック図である。
図11】復号処理を説明するフローチャートである。
図12】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
<技術内容・技術用語をサポートする文献等>
本明細書で開示される範囲は、実施例の内容に限定されるものではなく、出願当時において公知となっている以下の参照文献REF1~REF6の内容も、参照により本明細書に組み込まれる。つまり、参照文献REF1~REF6に記載されている内容もサポート要件について判断する際の根拠となる。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0015】
REF1 Recommendation ITU-T H.264 (04/2017) “Advanced video coding for generic audiovisual services”, April 2017
REF2 Recommendation ITU-T H.265 (02/2018) “High efficiency video coding”, February 2018
REF3 Benjamin Bross, Jianle Chen, Shan Liu, Versatile Video Coding (Draft 5), JVET-N1001-v7 (version 7 - date 2019-05-29)
REF4: Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5), JVETN1002-v1
REF5: Ye-Kui Wang, Hendry, Jianle Chen, Peng Yin, Taoran Lu, Fangjun Pu, Sean McCarthy, AHG17: Signalling of reshaper parameters in APS, JVET-N0117-v1 (version 1 - date 2019-03-12)
REF6: Nael Ouedraogo, Eric Nassor, Jonathan Taquet, Gerald Kergourlay, Frederic Maze, [AHG17/AHG12] On APS id for bitstream merging for VVC, JVET-N0191-v1 (version 1 - date 2019-03-12)
【0016】
<用語>
本願では、以下の用語を、以下のように定義する。
【0017】
<ブロック>
画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、TB(Transform Block)、TU(Transform Unit)、PB(Prediction Block)、PU(Prediction Unit)、SCU(Smallest Coding Unit)、CU(Coding Unit)、LCU(Largest Coding Unit)、CTB(Coding TreeBlock)、CTU(Coding Tree Unit)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
【0018】
<ブロックサイズの指定>
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0019】
<情報・処理の単位>
各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【0020】
<制御情報>
本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
【0021】
<フラグ>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0022】
<メタデータを関連付ける>
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0023】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
【0024】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0025】
<画像処理システムの構成例>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
【0026】
図1に示すように、画像処理システム11は、画像符号化装置12および画像復号装置13を備えて構成される。例えば、画像処理システム11では、画像符号化装置12に入力された画像が符号化されて、その符号化により得られるビットストリームが画像復号装置13に伝送され、画像復号装置13においてビットストリームから復号された復号画像が出力される。
【0027】
画像符号化装置12は、設定部21、符号化部22、フィルタ部23、およびデータベース24を有しており、画像復号装置13は、復号部25、フィルタ部26、およびデータベース27を有している。
【0028】
設定部21は、適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを設定する。
【0029】
符号化部22は、画像を符号化して、設定部21により設定されたパラメータセットを含むビットストリームを生成する。このとき、符号化部22は、フィルタ部23により適応ループフィルタが適用されたフィルタ画像を用いて、画像を符号化する。
【0030】
フィルタ部23は、符号化部22において符号化が行われる際のローカル符号化画像に対して、適応ループフィルタを適用する。
【0031】
データベース24には、符号化部22が画像を符号化する際に必要となるフィルタ係数などの各種のパラメータが格納される。
【0032】
復号部25は、適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを含むビットストリームを復号して、復号画像を生成する。
【0033】
フィルタ部26は、復号部25により復号されたパラメータセットを参照して、復号部25により生成された復号画像に対して、適応ループフィルタを適用する。
【0034】
データベース27には、復号部25が画像を復号する際に必要となるフィルタ係数などの各種のパラメータが格納される。
【0035】
ここで、フィルタ部23およびフィルタ部26において適用される適応ループフィルタでは、1スライスについて、カレントフィルタ係数と時間方向のフィルタ係数とで、最大で6セットのフィルタ係数をAPSに格納することができる。これは、時間階層(temporal_id)が0~4の5階層あり、それらの階層ごとに1セットのフィルタ係数と、カレントの1セットのフィルタ係数との合計で6セットのフィルタ係数をAPSに格納することを想定した設計となっている。
【0036】
一方で、1スライスが複数のタイルグループ(tile_of_group)で分割される場合は、(6セット×複数のタイルグループ)分のデータを送信することになり、タイルグループの数に比例してAPS IDの数が増加してしまう。そのため、画像復号装置13においてAPSをパースする処理量が増加してしまうだけでなく、APSからパースされたパラメータを格納するためのデータベース27のバッファサイズを大きくすることが必要となってしまう。
【0037】
図2を参照して、ALF_APSの使用例について説明する。
【0038】
図2のAに示すように、適応ループフィルタでは、スライス単位で、最大で6個のAPSを参照することが可能である。これに対し、スライスが複数のタイルに分割される場合には、タイル単位で、最大で6個のAPSを参照することが可能となる。
【0039】
従って、図2のBに示すように、スライスが6タイルに分割される場合には、6 APSs × 6 tiles = 36 APSsとなり、APSの数がAPS IDの最大数(=32)を超えてしまうこがあった。
【0040】
また、ユースケース(例えば、8K vs. HD、2D vs. 全天球画像など)によって、使用するのに適当なAPS IDの数が異なるものとなる。このことより、何かしらの使用制限がないと、画像復号装置13は、APS IDの最大数を常に展開することが可能なバッファサイズのデータベース27を用意しなければならず、画像処理に必要な実装負荷が高くなってしまう。
【0041】
そこで、画像処理システム11では、画像処理に必要な実装負荷の低減を図るために、適応ループフィルタとして参照するパラメータセット(例えば、APS)の数の最大数(以下、最大APS数と称する)を固定値として規定する。
【0042】
まず、第1の規定例では、APS parametersのタイプを指定するaps_params_typeごとに、最大APS数を規定する。
【0043】
例えば、aps_params_typeとしては、図3に示すように、0および1がtypes of APS parametersを指定するのに既に使用されており、2~7がリザーブされている。そして、ALF parametersが用いられるaps_params_typeの場合(aps_params_type=0)には、最大APS数を6に規定する。
【0044】
即ち、tile_of_group数に関わらず、適応ループフィルタとして参照できるAPS IDの最大数を固定値とする。即ち、最大APS数は、タイル数に依存しない固定値となるように規定される。但し、各tile_of_groupで参照するAPS IDは、それぞれ異なってもよい。これにより、適応ループフィルタのAPS IDの最大数を規定する。言い換えると、第1の規定例では、aps_params_typeごとに、使用するAPS IDの最大数を規定する。
【0045】
次に、第2の規定例では、レベルに応じて、最大APS数をビットアラインするように規定する。このように、レベルごとに最大APS数を規定することで、ユースケースに合ったAPSの仕様とすることができる。
【0046】
図4には、レベルに応じてビットアラインするように最大APS数を規定する第2の規定例の一例が示されている。
【0047】
図4に示す例では、レベルが1から4.1までの最大APS数は8(3bit)となり、レベルが5から5.2までの最大APS数は16(4bit)となり、レベルが6から6.2までの最大APS数は32(5bit)となるように、バイト単位で規定されている。
【0048】
また、全天球画像(プロジェクションフォーマット毎)に対しても、同様に最大APS数を規定する。
【0049】
さらに、第1の規定例と第2の規定例とを組み合わせた第3の規定例として、レベルに応じて、aps_params_typeごとに設定した単位使用数の倍数で、最大APS数を規定するようにしてもよい。即ち、最大APS数は、aps_params_typeごとに規定され、かつ、レベルごとに異なる固定値である。これにより、aps_params_typeごとに使用できるAPS IDの最大数を、レベルに応じて変化させることができる。即ち、「ツール(機能)」×「並列化需要度 (Level)」によって、APS IDの最大数が規定される。
【0050】
図5には、第1の規定例と第2の規定例とを組み合わせた第3の規定例の一例が示されている。
【0051】
図5に示す例では、レベルが1から4.1までの最大APS数は、aps_params_typeごとに設定した単位使用数の1倍に規定されている。また、レベルが5から5.2までの最大APS数は、aps_params_typeごとに設定した単位使用数の2倍に規定されており、レベルが6から6.2までの最大APS数は、aps_params_typeごとに設定した単位使用数の4倍に規定されている。
【0052】
具体的には、図6に示すように、HD画像(level=4.x)における最大APS数に対して、4K画像(level=5.x)における最大APS数は、aps_params_typeごとに設定した単位使用数の2倍となるように規定される。
【0053】
以上のように、画像処理システム11では、画像の符号化および復号の際に、適応ループフィルタとして参照する最大APS数が固定値として規定されたパラメータセットを用いることができる。このように、最大APS数を固定値とすることで、例えば、画像復号装置13では、APSからパースされたパラメータを格納するためのデータベース27のバッファサイズを必要以上に大きくすることを回避し、従来と比較して、画像処理に必要な実装負荷を低減することができる。
【0054】
ここで、本明細書では、画像とは、符号化する前のオリジナルの画像を意味し、復号画像とは、復号処理が行われた後に出力された画像を意味する。ローカル復号画像とは、画像を符号化する際に、ローカル復号された後に出力された画像である。符号化データとは、画像(テクスチャ)が符号化された後のデータを意味し、ビットストリーム(または、符号化ビットストリーム、符号化ストリーム)とは、符号化データに加えて、符号化または復号する際に必要となるパラメータが符号化されたデータを含むデータを意味する。
【0055】
また、パラメータ(符号化パラメータ)とは、符号化または復号する際に必要となるデータの総称であり、典型的にはビットストリームのシンタックスやパラメータセットなどのことである。さらに、パラメータ(符号化パラメータ)には、導出過程で用いられる変数なども含むものとする。本開示において、複数のパターンを認識する認識データを、ビットストリームのシンタックスとして設定することもでき、この場合、デコーダでは、識別データをパースして参照することにより、より効率的に処理を行うことが可能になる。
【0056】
<コンピュータベースのシステムの構成例>
図7は、本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
【0057】
図7は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステムの構成例を示すブロック図である。なお、図7の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実装するためのプラットフォームを提供することができる一例として示されている。
【0058】
図7に示すように、ネットワークシステム31は、コンピュータ32、ネットワーク33、リモートコンピュータ34、ウェブサーバ35、クラウドストレージサーバ36、およびコンピュータサーバ37を備えて構成される。ここで、本実施の形態では、図1に示される機能ブロックのうちの1または複数によって、複数のインスタンスが実行される。
【0059】
また、図7では、コンピュータ32の詳細な構成が図示されている。なお、コンピュータ32内に示されている機能ブロックは、例示的な機能を確立するために図示されており、このような構成に限定されるものではない。また、リモートコンピュータ34、ウェブサーバ35、クラウドストレージサーバ36、およびコンピュータサーバ37の詳細な構成は図示されていないが、これらは、コンピュータ32内に示されている機能ブロックと同様の構成が含まれている。
【0060】
コンピュータ32としては、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末、スマートフォン、または、ネットワーク上の他のデバイスと通信可能な他のプログラム可能な電子デバイスを用いることができる。
【0061】
そして、コンピュータ32は、バス41、プロセッサ42、メモリ43、不揮発性ストレージ44、ネットワークインタフェース46、周辺機器インタフェース47、およびディスプレイインターフェース48を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)に実装され、または、他の実施形態では、機能のいくつかが組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))に実装されてもよい。
【0062】
バス41は、各種の独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。
【0063】
プロセッサ42は、1または複数のシングルまたはマルチチップマイクロプロセッサとして設計および/または製造されたものを採用することができる。
【0064】
メモリ43および不揮発性ストレージ44は、コンピュータ32による読み込みが可能なストレージ媒体である。例えば、メモリ43は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などのような任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ44は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、少なくとも1つ以上を採用することができる。
【0065】
また、不揮発性ストレージ44には、プログラム45が格納されている。プログラム45は、例えば、特定のソフトウェア機能を作成、管理、および制御するために使用される機械可読命令および/またはデータの集合である。なお、メモリ43が不揮発性ストレージ44よりも非常に高速である構成では、プログラム45は、プロセッサ42により実行される前に、不揮発性ストレージ44からメモリ43に転送することができる。
【0066】
コンピュータ32は、ネットワークインタフェース46を介して、ネットワーク33を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク33は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク33は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。
【0067】
周辺機器インタフェース47は、コンピュータ32にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース47は、外部デバイス51への接続を提供する。外部デバイス51には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス51は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。
【0068】
本開示の実施の形態では、例えば、プログラム45を実施するために使用されるソフトウェアおよびデータは、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ44に、または周辺機器インタフェース47を介してメモリ43に直接ロードされてもよい。周辺機器インタフェース47は、外部デバイス51との接続に、例えば、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。
【0069】
ディスプレイインターフェース48は、コンピュータ32をディスプレイ52に接続することができ、ディスプレイ52を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ32のユーザに提示することができる。例えば、ディスプレイインターフェース48には、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準を採用することができる。
【0070】
<画像符号化装置の構成例>
図8は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【0071】
図8に示される画像符号化装置60は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、HEVC(High Efficiency Video Coding)方式などが用いられる。
【0072】
図8の画像符号化装置60は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、および蓄積バッファ67を有する。また、画像符号化装置60は、逆量子化部68、逆直交変換部69、演算部70、デブロッキングフィルタ71、適応オフセットフィルタ72、適応ループフィルタ73、フレームメモリ74、選択部75、イントラ予測部76、動き予測・補償部77、予測画像選択部78、およびレート制御部79を有する。
【0073】
A/D変換部61は、入力された画像データ(Picture(s))をA/D変換して画面並べ替えバッファ62に供給する。なお、A/D変換部61を設けずに、ディジタルデータの画像が入力される構成としてもよい。
【0074】
画面並べ替えバッファ62は、A/D変換部61から供給された画像データを記憶し、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ62は、フレームの順番を並び替えた画像を、演算部63、イントラ予測部76、および動き予測・補償部77に出力する。
【0075】
演算部63は、画面並べ替えバッファ62から出力された画像から、予測画像選択部78を介してイントラ予測部76若しくは動き予測・補償部77から供給される予測画像を減算し、その差分情報を直交変換部64に出力する。
【0076】
例えば、イントラ符号化が行われる画像の場合、演算部63は、画面並べ替えバッファ62から出力された画像から、イントラ予測部76から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部63は、画面並べ替えバッファ62から出力された画像から、動き予測・補償部77から供給される予測画像を減算する。
【0077】
直交変換部64は、演算部63から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部65に供給する。
【0078】
量子化部65は、直交変換部64が出力する変換係数を量子化する。量子化部65は、量子化された変換係数を可逆符号化部66に供給する。
【0079】
可逆符号化部66は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
【0080】
可逆符号化部66は、イントラ予測モードを示す情報などのパラメータをイントラ予測部76から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部77から取得する。
【0081】
可逆符号化部66は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタックス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部66は、符号化して得られた符号化データを蓄積バッファ67に供給して蓄積させる。
【0082】
例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
【0083】
蓄積バッファ67は、可逆符号化部66から供給された符号化ストリーム(Encoded Data)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ67は、符号化ストリームを伝送する伝送部でもある。
【0084】
また、量子化部65において量子化された変換係数は、逆量子化部68にも供給される。逆量子化部68は、その量子化された変換係数を、量子化部65による量子化に対応する方法で逆量子化する。逆量子化部68は、得られた変換係数を、逆直交変換部69に供給する。
【0085】
逆直交変換部69は、供給された変換係数を、直交変換部64による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部70に供給される。
【0086】
演算部70は、逆直交変換部69より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部78を介してイントラ予測部76若しくは動き予測・補償部77から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
【0087】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部70は、その差分情報にイントラ予測部76から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部70は、その差分情報に動き予測・補償部77から供給される予測画像を加算する。
【0088】
その加算結果である復号画像は、デブロッキングフィルタ71およびフレームメモリ74に供給される。
【0089】
デブロッキングフィルタ71は、演算部70からの画像に対して、適宜デブロッキングフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ72に供給する。デブロッキングフィルタ71は、量子化パラメータQPを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値(パラメータ)である。
【0090】
なお、デブロッキングフィルタ71が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部66において符号化され、後述する図10の画像復号装置80に送信される。
【0091】
適応オフセットフィルタ72は、デブロッキングフィルタ71によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
【0092】
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ72は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ71によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ72は、フィルタ処理後の画像を、適応ループフィルタ73に供給する。
【0093】
なお、画像符号化装置60において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ72により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部66において符号化され、後述する図10の画像復号装置80に送信される。
【0094】
適応ループフィルタ73は、適応オフセットフィルタ72によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、適応ループフィルタ(ALF : Adaptive Loop Filter)処理を行う。適応ループフィルタ73においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。適応ループフィルタ73は、フィルタ処理結果をフレームメモリ74に供給する。
【0095】
なお、図8の例においては図示しないが、画像符号化装置60において、フィルタ係数は、処理単位毎に、画面並べ替えバッファ62からの原画像との残差を最小とするよう適応ループフィルタ73により算出されて用いられる。算出されたフィルタ係数は、適応ループフィルタパラメータとして、可逆符号化部66において符号化され、後述する図10の画像復号装置80に送信される。
【0096】
フレームメモリ74は、所定のタイミングにおいて、蓄積されている参照画像を、選択部75を介してイントラ予測部76または動き予測・補償部77に出力する。
【0097】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ74は、参照画像を、選択部75を介してイントラ予測部76に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ74は、参照画像を、選択部75を介して動き予測・補償部77に供給する。
【0098】
選択部75は、フレームメモリ74から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部76に供給する。また、選択部75は、フレームメモリ74から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部77に供給する。
【0099】
イントラ予測部76は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部76は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
【0100】
イントラ予測部76は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部76は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部78を介して演算部63や演算部70に供給する。
【0101】
また、上述したように、イントラ予測部76は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部66に供給する。
【0102】
動き予測・補償部77は、インター符号化が行われる画像について、画面並べ替えバッファ62から供給される入力画像と、選択部75を介してフレームメモリ74から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部77は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
【0103】
動き予測・補償部77は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部77は、生成された予測画像を、予測画像選択部78を介して演算部63や演算部70に供給する。また、動き予測・補償部77は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部66に供給する。
【0104】
予測画像選択部78は、イントラ符号化を行う画像の場合、イントラ予測部76の出力を演算部63や演算部70に供給し、インター符号化を行う画像の場合、動き予測・補償部77の出力を演算部63や演算部70に供給する。
【0105】
レート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
【0106】
このように画像符号化装置60は構成されており、可逆符号化部66は、図1の符号化部22に対応し、適応ループフィルタ73は、図1のフィルタ部23に対応するとともに設定部21としての機能を備えている。従って、画像符号化装置60は、上述したように、画像処理に必要な実装負荷を低減することができる。
【0107】
<画像符号化装置の動作>
図9を参照して、以上のような画像符号化装置60により実行される符号化処理の流れについて説明する。
【0108】
ステップS31において、A/D変換部61は、入力された画像をA/D変換する。
【0109】
ステップS32において、画面並べ替えバッファ62は、A/D変換部61でA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【0110】
画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ74から読み出され、選択部75を介してイントラ予測部76に供給される。
【0111】
これらの画像に基づいて、ステップS33において、イントラ予測部76は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ71によりフィルタされていない画素が用いられる。
【0112】
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。
【0113】
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ74から読み出され、選択部75を介して動き予測・補償部77に供給される。これらの画像に基づいて、ステップS34において、動き予測・補償部77は、動き予測・補償処理を行う。
【0114】
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部78に供給される。
【0115】
ステップS35において、予測画像選択部78は、イントラ予測部76および動き予測・補償部77より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部78は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像は、後述するステップS36,S41の演算に利用される。
【0116】
なお、この予測画像の選択情報は、イントラ予測部76または動き予測・補償部77に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部76は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部66に供給する。
【0117】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部77は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部66に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【0118】
ステップS36において、演算部63は、ステップS32で並び替えられた画像と、ステップS35で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部77から、イントラ予測する場合はイントラ予測部76から、それぞれ予測画像選択部78を介して演算部63に供給される。
【0119】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【0120】
ステップS37において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【0121】
ステップS38において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS49の処理で説明されるように、レートが制御される。
【0122】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS39において、逆量子化部68は、量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS40において、逆直交変換部69は、逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
【0123】
ステップS41において、演算部70は、予測画像選択部78を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部63への入力に対応する画像)を生成する。
【0124】
ステップS42においてデブロッキングフィルタ71は、演算部70より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ71からのフィルタ後の画像は、適応オフセットフィルタ72に出力される。
【0125】
なお、ユーザにより操作部などを操作することで入力されて、デブロッキングフィルタ71で用いられたパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部66に供給される。
【0126】
ステップS43において、適応オフセットフィルタ72は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ71によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ73に供給される。
【0127】
なお、決定されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部66に供給される。
【0128】
ステップS44において、適応ループフィルタ73は、適応オフセットフィルタ72によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ72によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ74に供給される。
【0129】
ステップS45においてフレームメモリ74は、フィルタリングされた画像を記憶する。なお、フレームメモリ74には、デブロッキングフィルタ71、適応オフセットフィルタ72、および適応ループフィルタ73によりフィルタされていない画像も演算部70から供給され、記憶される。
【0130】
一方、上述したステップS38において量子化された変換係数は、可逆符号化部66にも供給される。ステップS46において、可逆符号化部66は、量子化部65より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。ここで、符号化される各パラメータとしては、デブロッキングフィルタのパラメータ、適応オフセットフィルタのパラメータ、適応ループフィルタのパラメータ、量子化パラメータ、動きベクトル情報や参照フレーム情報、予測モード情報などがあげられる。
【0131】
ステップS47において蓄積バッファ67は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【0132】
ステップS48においてレート制御部79は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
【0133】
ステップS48の処理が終了すると、符号化処理が終了される。
【0134】
以上のような符号化処理において、ステップS44の適応ループフィルタ処理を行う際に、適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットが設定され、ステップS46で、その設定されたパラメータセットを含むビットストリームが生成される。
【0135】
<画像復号装置の構成例>
図10は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図10に示される画像復号装置80は、図8の画像符号化装置60に対応する復号装置である。
【0136】
画像符号化装置60より符号化された符号化ストリーム(Encoded Data)は、所定の伝送路を介して、この画像符号化装置60に対応する画像復号装置80に伝送され、復号されるものとする。
【0137】
図10に示されるように、画像復号装置80は、蓄積バッファ81、可逆復号部82、逆量子化部83、逆直交変換部84、演算部85、デブロッキングフィルタ86、適応オフセットフィルタ87、適応ループフィルタ88、画面並べ替えバッファ89、D/A変換部90、フレームメモリ91、選択部92、イントラ予測部93、動き予測・補償部94、および選択部95を有する。
【0138】
蓄積バッファ81は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ81は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置60により符号化されたものである。可逆復号部82は、蓄積バッファ81から所定のタイミングで読み出された符号化データを、図8の可逆符号化部66の符号化方式に対応する方式で復号する。
【0139】
可逆復号部82は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部93に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部94に供給する。また、可逆復号部82は、復号されたデブロッキングフィルタのパラメータを、デブロッキングフィルタ86に供給し、復号された適応オフセットパラメータを、適応オフセットフィルタ87に供給する。
【0140】
逆量子化部83は、可逆復号部82により復号されて得られた係数データ(量子化係数)を、図8の量子化部65の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部83は、画像符号化装置60から供給された量子化パラメータを用いて、図8の逆量子化部68と同様の方法で量子化係数の逆量子化を行う。
【0141】
逆量子化部83は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部84に供給する。逆直交変換部84は、図8の直交変換部64の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置60において直交変換される前の残差データに対応する復号残差データを得る。
【0142】
逆直交変換されて得られた復号残差データは、演算部85に供給される。また、演算部85には、選択部95を介して、イントラ予測部93若しくは動き予測・補償部94から予測画像が供給される。
【0143】
演算部85は、その復号残差データと予測画像とを加算し、画像符号化装置60の演算部63により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部85は、その復号画像データをデブロッキングフィルタ86に供給する。
【0144】
デブロッキングフィルタ86は、演算部85からの画像に対して、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ87に供給する。デブロッキングフィルタ86は、図8のデブロッキングフィルタ71と基本的に同様に構成される。すなわち、デブロッキングフィルタ86は、量子化パラメータを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値である。
【0145】
なお、デブロッキングフィルタ86が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。画像符号化装置60により符号化されたデブロッキングフィルタのパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、画像復号装置80において受信されて、可逆復号部82により復号されて、デブロッキングフィルタ86により用いられる。
【0146】
適応オフセットフィルタ87は、デブロッキングフィルタ86によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO)処理を行う。
【0147】
適応オフセットフィルタ87は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ86によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ87は、フィルタ処理後の画像を、適応ループフィルタ88に供給する。
【0148】
なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置60の適応オフセットフィルタ72により算出され、適応オフセットパラメータとして、符号化されて送られてきたものである。そして、画像符号化装置60により符号化されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、画像復号装置80において受信されて、可逆復号部82により復号されて、適応オフセットフィルタ87により用いられる。
【0149】
適応ループフィルタ88は、適応オフセットフィルタ87によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ91および画面並べ替えバッファ89に供給する。
【0150】
なお、図10の例においては図示しないが、画像復号装置80において、フィルタ係数は、画像符号化装置60の適応ループフィルタ73によりLUC毎に算出され、適応ループフィルタパラメータとして、符号化されて送られてきたものが可逆復号部82により復号されて用いられる。
【0151】
画面並べ替えバッファ89は、画像の並べ替えを行って、D/A変換部90に供給する。すなわち、図8の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。
【0152】
D/A変換部90は、画面並べ替えバッファ89から供給される画像(Decoded Picture(s))をD/A変換して図示せぬディスプレイに出力し、表示させる。なお、D/A変換部90を設けずに、ディジタルデータのままで画像を出力する構成としてもよい。
【0153】
適応ループフィルタ88の出力は、さらに、フレームメモリ91に供給される。
【0154】
フレームメモリ91、選択部92、イントラ予測部93、動き予測・補償部94、および選択部95は、画像符号化装置60のフレームメモリ74、選択部75、イントラ予測部76、動き予測・補償部77、および予測画像選択部78にそれぞれ対応する。
【0155】
選択部92は、インター処理される画像と参照される画像をフレームメモリ91から読み出し、動き予測・補償部94に供給する。また、選択部92は、イントラ予測に用いられる画像をフレームメモリ91から読み出し、イントラ予測部93に供給する。
【0156】
イントラ予測部93には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部82から適宜供給される。イントラ予測部93は、この情報に基づいて、フレームメモリ91から取得した参照画像から予測画像を生成し、生成した予測画像を選択部95に供給する。
【0157】
動き予測・補償部94には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部82から供給される。
【0158】
動き予測・補償部94は、可逆復号部82から供給されるそれらの情報に基づいて、フレームメモリ91から取得した参照画像から予測画像を生成し、生成した予測画像を選択部95に供給する。
【0159】
選択部95は、動き予測・補償部94またはイントラ予測部93により生成された予測画像を選択し、演算部85に供給する。
【0160】
このように画像復号装置80は構成されており、可逆復号部82は、図1の復号部25に対応し、適応ループフィルタ88は、図1のフィルタ部26に対応する。従って、画像復号装置80は、上述したように、画像処理に必要な実装負荷を低減することができる。
【0161】
<画像復号装置の動作>
図11を参照して、以上のような画像復号装置80により実行される復号処理の流れの例を説明する。
【0162】
復号処理が開始されると、ステップS51において、蓄積バッファ81は、伝送されてきた符号化ストリーム(データ)を受け取り、蓄積する。ステップS52において、可逆復号部82は、蓄積バッファ81から供給される符号化データを復号する。図8の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
【0163】
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
【0164】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部93に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部94に供給される。また、デブロッキングフィルタのパラメータおよび適応オフセットパラメータも復号され、デブロッキングフィルタ86および適応オフセットフィルタ87にそれぞれ供給される。
【0165】
ステップS53において、イントラ予測部93または動き予測・補償部94は、可逆復号部82から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
【0166】
すなわち、可逆復号部82からイントラ予測モード情報が供給された場合、イントラ予測部93はイントラ予測モードのイントラ予測画像を生成する。可逆復号部82からインター予測モード情報が供給された場合、動き予測・補償部94は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
【0167】
この処理により、イントラ予測部93により生成された予測画像(イントラ予測画像)、または動き予測・補償部94により生成された予測画像(インター予測画像)が、選択部95に供給される。
【0168】
ステップS54において、選択部95は予測画像を選択する。すなわち、イントラ予測部93により生成された予測画像、または、動き予測・補償部94により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部85に供給され、後述するステップS57において逆直交変換部84の出力と加算される。
【0169】
上述したステップS52において、可逆復号部82により復号された変換係数は、逆量子化部83にも供給される。ステップS55において、逆量子化部83は可逆復号部82により復号された変換係数を、図8の量子化部65の特性に対応する特性で逆量子化する。
【0170】
ステップS56において逆直交変換部84は、逆量子化部83により逆量子化された変換係数を、図8の直交変換部64の特性に対応する特性で逆直交変換する。これにより図8の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
【0171】
ステップS57において、演算部85は、上述したステップS54の処理で選択され、選択部95を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
【0172】
ステップS58においてデブロッキングフィルタ86は、演算部85より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ86からのフィルタ後の画像は、適応オフセットフィルタ87に出力される。なお、デブロッキングフィルタ処理においては、可逆復号部82から供給されるデブロッキングフィルタのパラメータβおよびTcの各オフセットも用いられる。
【0173】
ステップS59において、適応オフセットフィルタ87は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ86によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ88に供給される。
【0174】
ステップS60において、適応ループフィルタ88は、適応オフセットフィルタ87によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ88は、処理単位毎に計算されたフィルタ係数を用いて、入力画像に対して、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ89およびフレームメモリ91に供給する。
【0175】
ステップS61においてフレームメモリ91は、フィルタリングされた画像を記憶する。
【0176】
ステップS62において、画面並べ替えバッファ89は、適応ループフィルタ88後の画像の並べ替えを行った後、D/A変換部90に供給する。すなわち画像符号化装置60の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【0177】
ステップS63において、D/A変換部90は、画面並べ替えバッファ89で並べ替えられた画像をD/A変換して図示せぬディスプレイに出力し、画像が表示される。
【0178】
ステップS63の処理が終了すると、復号処理が終了される。
【0179】
以上のような復号処理において、ステップS52で、適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを含むビットストリームが復号され、ステップS60の適応ループフィルタ処理を行う際に、その復号されたパラメータセットを参照して、復号画像に対して適応ループフィルタが適用される。
【0180】
<コンピュータの構成例>
次に、上述した一連の処理(画像処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0181】
図12は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0182】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0183】
あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0184】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0185】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0186】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0187】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0188】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0189】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0190】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0191】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0192】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0193】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0194】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0195】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0196】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0197】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0198】
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを含むビットストリームを復号して、復号画像を生成する復号部と、
前記復号部により復号されたパラメータセットを参照して、前記復号部により生成された復号画像に対して、前記適応ループフィルタを適用するフィルタ部と
を備える画像処理装置。
(2)
前記最大数は、スライスを分割するタイルの数に依存しない固定値である
上記(1)に記載の画像処理装置。
(3)
前記最大数は、レベルごとに規定された固定値である
上記(1)または(2)に記載の画像処理装置。
(4)
前記パラメータセットは、APS(Adaptation parameter set)である
上記(1)から(3)までのいずれかに記載の画像処理装置。
(5)
前記最大数は、aps_params_typeごとに規定された固定値である
上記(1)から(4)までのいずれかに記載の画像処理装置。
(6)
前記最大数は、aps_params_typeごとに規定され、かつ、レベルごとに異なる固定値である
上記(1)から(5)までのいずれかに記載の画像処理装置。
(7)
適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを含むビットストリームを復号して、復号画像を生成する復号工程と、
前記復号工程において復号されたパラメータセットを参照して、前記復号工程において生成された復号画像に対して、前記適応ループフィルタを適用することと
を含む画像処理方法。
(8)
適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを設定する設定部と、
画像を符号化して、前記設定部により設定されたパラメータセットを含むビットストリームを生成する符号化部と
を備える画像処理装置。
(9)
前記符号化部において符号化が行われる際のローカル符号化画像に対して、前記適応ループフィルタを適用するフィルタ部をさらに備え、
前記符号化部は、前記フィルタ部により前記適応ループフィルタが適用されたフィルタ画像を用いて、前記画像を符号化する
上記(8)に記載の画像処理装置。
(10)
適応ループフィルタとして参照するパラメータセットの数の最大数が固定値として規定されたパラメータセットを設定する設定工程と、
画像を符号化して、前記設定工程において設定されたパラメータセットを含むビットストリームを生成する符号化工程と
を含む画像処理方法。
【0199】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0200】
11 画像処理システム, 12 画像符号化装置, 13 画像復号装置, 21 設定部, 22 符号化部, 23 フィルタ部, 24 データベース, 25 復号部, 26 フィルタ部, 27 データベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12