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

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

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

<>
  • 特開-画像処理装置および画像処理方法 図1
  • 特開-画像処理装置および画像処理方法 図2
  • 特開-画像処理装置および画像処理方法 図3
  • 特開-画像処理装置および画像処理方法 図4
  • 特開-画像処理装置および画像処理方法 図5
  • 特開-画像処理装置および画像処理方法 図6
  • 特開-画像処理装置および画像処理方法 図7
  • 特開-画像処理装置および画像処理方法 図8
  • 特開-画像処理装置および画像処理方法 図9
  • 特開-画像処理装置および画像処理方法 図10
  • 特開-画像処理装置および画像処理方法 図11
  • 特開-画像処理装置および画像処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024166234
(43)【公開日】2024-11-28
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   H04N 19/85 20140101AFI20241121BHJP
   H04N 19/70 20140101ALI20241121BHJP
   H04N 19/186 20140101ALI20241121BHJP
【FI】
H04N19/85
H04N19/70
H04N19/186
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2024152944
(22)【出願日】2024-09-05
(62)【分割の表示】P 2021565674の分割
【原出願日】2020-12-18
(31)【優先権主張番号】62/951,896
(32)【優先日】2019-12-20
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/954,120
(32)【優先日】2019-12-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】近藤 健治
(57)【要約】
【課題】メモリサイズの増大を回避する。
【解決手段】適応色変換部は、符号化の対象となっている画像の色空間を適応的に変換する適応色変換処理を、画像の残差信号に対して施し、直交変換部は、画像の残差信号に対して、または、適応色変換処理が施された前記画像の残差信号に対して、処理単位となる直交変換ブロックごとに直交変換処理を施す。そして、制御部により、適応色変換処理の適用に関する制御が行われる。本技術は、例えば、ACT処理に対応した画像符号化装置および画像復号装置に適用できる。
【選択図】図2
【特許請求の範囲】
【請求項1】
直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを、ビットストリームからパースするパース部と、
前記パース部によりパースされた前記サイズ識別データが直交変換ブロックの最大のブロックサイズとして32が適用されることを示す場合にのみ、画像の色空間を適応的に変換する適応色変換処理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データに従って、前記ビットストリームを復号して得られる変換係数に対して処理単位となる直交変換ブロックごとに逆直交変換処理を適用することにより生成された残差信号に対して、前記逆適応色変換処理を適用する逆適応色変換部と
を備える画像処理装置。
【請求項2】
前記サイズ識別データは、前記ビットストリームのシーケンスパラメータセットとして設定されている
請求項1に記載の画像処理装置。
【請求項3】
前記サイズ識別データは、sps_max_luma_transform_size_64_flagのシンタクスとして設定されている
請求項2に記載の画像処理装置。
【請求項4】
前記sps_max_luma_transform_size_64_flagの値が0に設定されている場合にのみ、前記識別データを参照する
請求項3に記載の画像処理装置。
【請求項5】
前記ビットストリームを算術復号して、量子化変換係数を生成する算術復号部と、
前記算術復号部により生成された前記量子化変換係数を逆量子化して、前記変換係数を生成する逆量子化部と
をさらに備える請求項1に記載の画像処理装置。
【請求項6】
直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを、ビットストリームからパースすることと、
前記サイズ識別データが直交変換ブロックの最大のブロックサイズとして32が適用されることを示す場合にのみ、画像の色空間を適応的に変換する適応色変換処理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データに従って、前記ビットストリームを復号して得られる変換係数に対して処理単位となる直交変換ブロックごとに逆直交変換処理を適用することにより生成された残差信号に対して、前記逆適応色変換処理を適用することと
を含む画像処理方法。
【請求項7】
直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを直交変換ブロックの最大のブロックサイズとして32が適用されるとして設定した場合にのみ、画像の色空間を適応的に変換する適応色変換理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データを設定する設定部と、
前記画像を符号化して、前記設定部により設定された前記識別データを含むビットストリームを生成する符号化部と
を備える画像処理装置。
【請求項8】
前記設定部は、前記サイズ識別データを、前記ビットストリームのシーケンスパラメータセットとして設定する
請求項7に記載の画像処理装置。
【請求項9】
前記設定部は、前記サイズ識別データを、sps_max_luma_transform_size_64_flagのシンタクスとして設定する
請求項8に記載の画像処理装置。
【請求項10】
前記設定部は、前記sps_max_luma_transform_size_64_flagの値を0に設定した場合にのみ、前記識別データを設定する
請求項9に記載の画像処理装置。
【請求項11】
前記画像の残差信号に対して、処理単位となる直交変換ブロックごとに直交変換処理を適用する施す直交変換部と、
前記直交変換部により生成された変換係数を量子化して、量子化変換係数を生成する量子化部と、
前記量子化部により生成された前記量子化変換係数を算術符号化して、前記ビットストリームを生成する算術符号化部と
をさらに備える請求項7に記載の画像処理装置。
【請求項12】
直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを直交変換ブロックの最大のブロックサイズとして32が適用されるとして設定した場合にのみ、画像の色空間を適応的に変換する適応色変換理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データを設定することと、
前記画像を符号化して、前記識別データを含むビットストリームを生成することと
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置および画像処理方法に関し、特に、メモリサイズの増大を回避することができるようにした画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償とにより圧縮する符号化方式を採用して画像を圧縮符号化する装置が普及しつつある。
【0003】
この符号化方法には、例えば、MPEG (Moving Picture Experts Group),H.264 and MPEG-4 Part 10 (Advanced Video Coding, hereinafter referred to as H.264/AVC)、およびH.265 and MPEG-H Part 2 (High Efficiency Video Coding, hereinafter referred to as H.265/HEVC)がある。
【0004】
また、AVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)などに対する符号化効率をさらに向上させるために、VVC(Versatile Video Coding)と呼ばれるコーディング方式の標準化が進められている(後述する実施形態のサポート参照)。
【0005】
非特許文献1に開示されているように、VVCでは、画像の色空間を適応的に変換するACT(Adaptive Color Transform)に関する技術が開示されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Xiaoyu Xiu, Yi-Wen Chen, Tsung-Chuan Ma, Hong-Jheng Jhu, Xianglin Wang, Support of adaptive color transform for 444 video coding in VVC, JVET-P0517_r1 (version 3 - date 2019-10-11)
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、ACT処理を適用して、例えば、RGB色空間をYCgCo色空間に変換する場合、その処理結果として出力されるYCgCo残差信号を一時的に蓄積する必要がある。そのため、ACT処理の後に行われる直交変換処理における直交変換ブロックのブロックサイズによっては、YCgCo残差信号を蓄積するためのメモリサイズを増大させる必要があると考えられる。
【0008】
本開示は、このような状況に鑑みてなされたものであり、メモリサイズの増大を回避することができるようにするものである。
【課題を解決するための手段】
【0009】
本開示の第1の側面の画像処理装置は、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを、ビットストリームからパースするパース部と、前記パース部によりパースされた前記サイズ識別データが直交変換ブロックの最大のブロックサイズとして32が適用されることを示す場合にのみ、画像の色空間を適応的に変換する適応色変換処理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データに従って、前記ビットストリームを復号して得られる変換係数に対して処理単位となる直交変換ブロックごとに逆直交変換処理を適用することにより生成された残差信号に対して、前記逆適応色変換処理を適用する逆適応色変換部とを備える。
【0010】
本開示の第1の側面の画像処理方法は、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを、ビットストリームからパースすることと、前記サイズ識別データが直交変換ブロックの最大のブロックサイズとして32が適用されることを示す場合にのみ、画像の色空間を適応的に変換する適応色変換処理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データに従って、前記ビットストリームを復号して得られる変換係数に対して処理単位となる直交変換ブロックごとに逆直交変換処理を適用することにより生成された残差信号に対して、前記逆適応色変換処理を適用することとを含む。
【0011】
本開示の第1の側面においては、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データが、ビットストリームからパースされ、サイズ識別データが直交変換ブロックの最大のブロックサイズとして32が適用されることを示す場合にのみ、画像の色空間を適応的に変換する適応色変換処理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データに従って、ビットストリームを復号して得られる変換係数に対して処理単位となる直交変換ブロックごとに逆直交変換処理を適用することにより生成された残差信号に対して、逆適応色変換処理が適用される。
【0012】
本開示の第2の側面の画像処理装置は、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを直交変換ブロックの最大のブロックサイズとして32が適用されるとして設定した場合にのみ、画像の色空間を適応的に変換する適応色変換理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データを設定する設定部と、前記画像を符号化して、前記設定部により設定された前記識別データを含むビットストリームを生成する符号化部とを備える。
【0013】
本開示の第2の側面の画像処理方法は、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを直交変換ブロックの最大のブロックサイズとして32が適用されるとして設定した場合にのみ、画像の色空間を適応的に変換する適応色変換理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データを設定することと、前記画像を符号化して、前記識別データを含むビットストリームを生成することとを含む。
【0014】
本開示の第2の側面においては、直交変換ブロックの最大のブロックサイズが64であるか32であるかを識別するサイズ識別データを直交変換ブロックの最大のブロックサイズとして32が適用されるとして設定した場合にのみ、画像の色空間を適応的に変換する適応色変換理又は画像の色空間を適応的に逆変換する逆適応色変換処理がEnableであるか否かを識別する識別データが設定され、画像を符号化して、識別データを含むビットストリームが生成される。
【図面の簡単な説明】
【0015】
図1】本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
図2】画像符号化装置の構成例を示す図である。
図3】画像復号装置の構成例を示す図である。
図4】ハイレベルシンタックスのパラメータセットの一例を示す図である。
図5】ハイレベルシンタックスのコーディングユニットの一例を示す図である。
図6】ハイレベルシンタックスのパラメータセットの一例を示す図である。
図7】本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
図8】画像符号化装置の一実施の形態の構成例を示すブロック図である。
図9】符号化処理を説明するフローチャートである。
図10】画像復号装置の一実施の形態の構成例を示すブロック図である。
図11】復号処理を説明するフローチャートである。
図12】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
<技術内容・技術用語をサポートする文献等>
本明細書で開示される範囲は、実施例の内容に限定されるものではなく、出願当時において公知となっている以下の参照文献REF1~REF5の内容も、参照により本明細書に組み込まれる。つまり、参照文献REF1~REF5に記載されている内容もサポート要件について判断する際の根拠となる。さらに、参照文献REF1~REF5において参照している文献もサポート要件を判断する際の根拠となる。
【0017】
例えば、Quad-Tre Block Structureや、QTBT(Quad Tree Plus Binary Tree)、Block Structure、MTT(Multi-type Tree) Block Structureなどが発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、ACT(Adaptive Color Transform)等の技術用途についても同等に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0018】
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 7), JVET-P2001-v14 (version 14 - date 2019-11-14)
REF4: Jianle Chen, Yan Ye, Seung Hwan Kim, Algorithm description for Versatile Video Coding and Test Model 7 (VTM 7), JVET-P2002-v1 (version 1 - date 2019-11-10)
REF5: Xiaoyu Xiu, Yi-Wen Chen, Tsung-Chuan Ma, Hong-Jheng Jhu, Xianglin Wang, Support of adaptive color transform for 444 video coding in VVC, JVET-P0517_r1 (version 3 - date 2019-10-11)
【0019】
<用語>
本願では、以下の用語を、以下のように定義する。
【0020】
<ブロック>
画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、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)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
【0021】
<ブロックサイズの指定>
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0022】
<情報・処理の単位>
各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【0023】
<制御情報>
本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
【0024】
<フラグ>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0025】
<メタデータを関連付ける>
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0026】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
【0027】
予測ブロックとは、インター予測を行う際の処理単位となるブロックを意味し、予測ブロック内のサブブロックも含む。また、直交変換を行う際の処理単位となる直交変換ブロックや符号化処理を行う際の処理単位となる符号化ブロックと処理単位が統一されている場合には、予測ブロックと直交変換ブロック・符号化ブロックと同じブロックを意味する。
【0028】
インター予測とは、動き検出による動きベクトルの導出(Motion Prediction / Motion Estimation)や、動きベクトルを用いた動き補償(Motion Compensation)などのフレーム(予測ブロック)間の予測を伴う処理の総称であり、予測画像を生成する際に用いる一部の処理(例えば動き補償処理のみ)、または、全ての処理(例えば動き検出処理+動き補償処理)を含む。インター予測モードとは、インター予測を行う際のモード番号、モード番号のインデックス、予測ブロックのブロックサイズ、予測ブロック内の処理単位となるサブブロックのサイズなど、インター予測モードを導出する際に参照する変数(パラメータ)を包括して意味する。
【0029】
本開示において、複数のパターンを識別する識別データを、ビットストリームのシンタックスとして設定することもできる。この場合、デコーダでは識別データをパース+参照することにより、より効率的に処理を行うことが可能となる。ブロックサイズを識別する方法(データ)としては、ブロックサイズそのものを数値化(ビット化)するだけでなく、基準となるブロックサイズ(最大ブロックサイズ、最小ブロックサイズなど)に対する差分値を識別する方法(データ)を含む。
【0030】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0031】
<画像処理システムの構成例>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
【0032】
図1に示すように、画像処理システム11は、画像符号化装置12および画像復号装置13を備えて構成される。例えば、画像処理システム11では、画像符号化装置12に入力された画像が符号化されて、その符号化により得られるビットストリームが画像復号装置13に伝送され、画像復号装置13においてビットストリームから復号された復号画像が出力される。
【0033】
図1に示すように、画像符号化装置12は、予測部21、符号化部22、記憶部23、および制御部24を有しており、画像復号装置13は、予測部31、復号部32、記憶部33、および制御部34を有している。
【0034】
予測部21は、インター予測またはイントラ予測を行って予測画像を生成する。例えば、予測部21は、インター予測を行う場合、所定のブロックサイズの予測ブロック(Prediction Unit)を処理単位として予測画像を生成する。
【0035】
符号化部22は、所定のブロックサイズの符号化ブロック(Coding Unit)を処理単位として、画像符号化装置12に入力された画像を所定の符号化方式に従って符号化し、符号化データのビットストリームを画像復号装置13へ送信する。また、このビットストリームには、図4乃至図6を参照して後述するようなブロックに関するパラメータなどが含まれている。
【0036】
記憶部23は、画像符号化装置12において画像を符号化する際に記憶する必要のある各種のデータを記憶する。例えば、記憶部23は、図2を参照して後述するように、ACT処理によって出力されるYCgCo残差信号1、および、IACT処理の対象となるYCgCo残差信号2を一時的に蓄積する。
【0037】
制御部24は、図2を参照して後述するようなACT処理およびIACT処理の適用に関する制御を行う。
【0038】
予測部31は、インター予測またはイントラ予測を行って予測画像を生成する。例えば、予測部21は、インター予測を行う場合、所定のブロックサイズの予測ブロックを処理単位として予測画像を生成する。
【0039】
復号部32は、符号化部22による符号化方式に対応して、画像符号化装置12から送信されてきたビットストリームを復号し、復号された画像を出力する。
【0040】
記憶部33は、画像復号装置13において画像を復号する際に記憶する必要のある各種のデータを記憶する。例えば、記憶部33は、図3を参照して後述するように、IACT処理の対象となるYCgCo残差信号2を一時的に蓄積する。
【0041】
制御部34は、図3を参照して後述するようなIACT処理の適用に関する制御を行う。
【0042】
このように構成される画像処理システム11では、ACT処理およびIACT処理に関する制御を適切に行うことによって、記憶部23および記憶部33のメモリサイズが増大することを回避することができる。
【0043】
図2に示すブロック図を参照して、画像符号化装置12の構成について、さらに説明する。
【0044】
図2に示すように、画像符号化装置12は、演算部41、適応色変換部42、直交変換部43、量子化部44、逆量子化部45、逆直交変換部46、逆適応色変換部47、演算部48、予測部49、および符号化部50を備えて構成される。
【0045】
演算部41は、画像符号化装置12に入力された画像から、予測部49から供給される予測画像を減算する演算を行い、その演算により得られる差分情報であるRGB残差信号1を適応色変換部42に供給する。
【0046】
適応色変換部42は、演算部41から供給されるRGB残差信号1に対して、符号化の対象となっている画像の色空間を適応的に変換するACT処理を施す。例えば、適応色変換部42は、RGB色空間をYCgCo色空間に変換するACT処理を行うことによって、RGB残差信号1からYCgCo残差信号1を取得して直交変換部43に供給する。
【0047】
直交変換部43は、適応色変換部42から供給されるYCgCo残差信号1に対して、処理単位となる直交変換ブロックごとに直交変換を行う直交変換処理を施すことによって変換係数を取得し、量子化部44に供給する。また、直交変換部43は、適応色変換部42においてACT処理が施されないように制御されている場合、演算部41から供給されるRGB残差信号1に対して直交変換処理を施すことができる。
【0048】
量子化部44は、直交変換部43から供給される変換係数を量子化して逆量子化部45および符号化部50に供給する。逆量子化部45は、量子化部44において量子化された変換係数を逆量子化して逆直交変換部46に供給する。
【0049】
逆直交変換部46は、逆量子化部45から供給される変換係数に対して、処理単位となる直交変換ブロックごとに逆直交変換を行う逆直交変換処理を施すことによってYCgCo残差信号2を取得し、逆適応色変換部47に供給する。また、逆直交変換部46は、逆適応色変換部47においてIACT処理が施されないように制御されている場合、逆直交変換処理によりRGB残差信号2を取得して演算部48に供給することができる。
【0050】
逆適応色変換部47は、逆直交変換部46から供給されるYCgCo残差信号2に対して、画像の色空間を適応的に逆変換するIACT処理を施す。例えば、逆適応色変換部47は、YCgCo色空間をRGB色空間に逆変換するIACT処理を行うことによって、YCgCo残差信号2からRGB残差信号2を取得して演算部48に供給する。
【0051】
演算部48は、逆適応色変換部47から供給されるRGB残差信号2を、予測部49から供給される予測画像に加算する演算を行うことによって局部的に画像を再構成(復号)し、その再構成した画像を表す再構成信号を出力する。また、演算部48は、逆適応色変換部47においてIACT処理が施されないように制御されている場合、逆直交変換部46から供給されるRGB残差信号2から画像を再構成(復号)することができる。
【0052】
予測部49は、図1の予測部21に対応し、演算部48において再構成された画像から予測される予測画像を生成して、演算部41および演算部48に供給する。
【0053】
符号化部50は、図1の符号化部22に対応し、量子化部44において量子化された変換係数に対して、例えば、同値の連続に対して符号化効率が高い符号化方式であるCABAC(Context-based Adaptive Binary Arithmetic Coding)などを用いた符号化処理を施す。これにより、符号化部50は、符号化データのビットストリームを取得し、画像復号装置13へ送信する。
【0054】
このように構成される画像符号化装置12では、適応色変換部42においてRGB残差信号1をYCgCo残差信号1に変換するACT処理を行うことによって、信号のエネルギー集中度の向上を図ることができる。このように、信号のエネルギー集中度を向上させることによって、画像符号化装置12は、少ない符号量で画像信号を表現することができ、符号化効率の改善が期待される。
【0055】
図3に示すブロック図を参照して、画像復号装置13の構成について、さらに説明する。
【0056】
図3に示すように、画像復号装置13は、復号部61、逆量子化部62、逆直交変換部63、逆適応色変換部64、演算部65、および予測部66を備えて構成される。
【0057】
復号部61は、図1の復号部32に対応し、画像符号化装置12から送信されてきた符号化データのビットストリームに対して、図2の符号化部50による符号化に対応した符号化方式(例えば、CABAC)を用いた復号処理を施す。これにより、復号部61は、符号化データのビットストリームから、量子化された変換係数を取得して、逆量子化部62に供給する。このとき、復号部61は、符号化データのビットストリームに含まれている、図4乃至図6を参照して後述するようなブロックに関するパラメータなども取得する。
【0058】
逆量子化部62は、復号部61から供給される量子化された変換係数を逆量子化して逆直交変換部63に供給する。
【0059】
逆直交変換部63は、逆量子化部62から供給される変換係数に対して、処理単位となる直交変換ブロックごとに逆直交変換を行う逆直交変換処理を施すことによってYCgCo残差信号2を取得し、逆適応色変換部64に供給する。また、逆直交変換部63は、逆適応色変換部64においてIACT処理が施されないように制御されている場合、逆直交変換処理により取得したRGB残差信号2を演算部65に供給することができる。
【0060】
逆適応色変換部64は、図2の逆適応色変換部47と同様に、逆直交変換部63から供給されるYCgCo残差信号2に対して、画像の色空間を適応的に逆変換するIACT処理を施す。例えば、逆適応色変換部64は、YCgCo色空間をRGB色空間に逆変換するIACT処理を行うことによって、YCgCo残差信号2からRGB残差信号2を取得して演算部65に供給する。
【0061】
演算部65は、逆適応色変換部64から供給されるRGB残差信号2を、予測部66から供給される予測画像に加算する演算を行うことによって局部的に画像を再構成(復号)し、その再構成した画像を表す再構成信号を出力する。また、演算部65は、逆適応色変換部64においてIACT処理が施されないように制御されている場合、逆直交変換部63から供給されるRGB残差信号2から画像を再構成(復号)することができる。
【0062】
予測部66は、図1の予測部31に対応し、図2の予測部49と同様に、演算部65において再構成された画像から予測される予測画像を生成して、演算部65に供給する。
【0063】
このように構成される画像復号装置13では、画像符号化装置12と同様に、符号化効率の改善に貢献することができる。
【0064】
以上のように画像処理システム11は構成されており、適応色変換部42においてRGB残差信号1をYCgCo残差信号1に変換するACT処理が行われ、逆適応色変換部47および64においてYCgCo残差信号2をRGB残差信号2に変換するIACT処理が行われる。
【0065】
このとき、画像符号化装置12では、適応色変換部42において3コンポーネント単位でACT処理が行われるため、3コンポーネント分のYCgCo残差信号1が、図1の記憶部23に一時的に記憶される。従って、記憶部23には、直交変換部43における直交変換ブロックのブロックサイズ(例えば、32×32)に相当する3コンポーネント分のYCgCo残差信号1が記憶されることになる。また、記憶部23には、逆直交変換部46における直交変換ブロックのブロックサイズ(例えば、32×32)に相当する3コンポーネント分のYCgCo残差信号2が記憶される。
【0066】
同様に、画像復号装置13では、逆直交変換部63における直交変換ブロックのブロックサイズ(例えば、32×32)に相当する3コンポーネント分のYCgCo残差信号2が、図1の記憶部33に記憶されることになる。
【0067】
このように、画像処理システム11では、ACT処理およびIACT処理を適用する場合には、直交変換ブロックのブロックサイズに応じたYCgCo残差信号1およびYCgCo残差信号2が記憶可能となるように記憶部23のメモリサイズを増大させる必要がある。同様に、ACT処理およびIACT処理を適用する場合には、直交変換ブロックのブロックサイズに応じたYCgCo残差信号2が記憶可能となるように記憶部33のメモリサイズを増大させる必要がある。このため、メモリサイズの増大に伴って、画像処理システム11の実装コストが増加することになる。
【0068】
そこで、画像処理システム11では、制御部24によって、適応色変換部42によるACT処理および逆適応色変換部47によるIACT処理の適用に関する制御が適切に行われることで、記憶部23のメモリサイズが増大することを回避することができる。同様に、画像処理システム11では、制御部34によって、逆適応色変換部64によるIACT処理の適用に関する制御が適切に行われることで、記憶部33のメモリサイズが増大することを回避することができる。従って、画像処理システム11は、メモリサイズの増大を回避するのに伴って、実装コストの増加を抑制することができる。
【0069】
<ACT処理およびIACT処理の適用に関する第1のコンセプト>
【0070】
例えば、画像処理システム11では、画像を符号化する際の符号化ブロックに対して所定の制限(例えば、サイズ、面積、形状などの制限)が設けられている場合に、ACT処理およびIACT処理が適用されるように制御が行われる。
【0071】
例えば、このような制限を行うための符号化ブロックのパラメータとしては、サイズ、長辺サイズ、短辺サイズ、面積、および形状がある。サイズには、16×16、16×8、8×16などがある。長辺サイズには、16×8ブロックに対する16がある。短辺サイズには、16×8ブロックに対する8がある。面積には、16×16、16×8などがある。形状には、正方形、長方形などがある。
【0072】
従来、直交変換処理および逆直交変換処理における直交変換ブロックのブロックサイズは32×32が用いられていたため、32×32のブロックサイズで3コンポーネント分のYCgCo残差信号を蓄えることが可能なメモリサイズが必要であった。
【0073】
これに対し、画像処理システム11では、ACT処理およびIACT処理が適用されるときの符号化ブロックのブロックサイズを所定サイズ(例えば、16×16)以下に制限を設ける。このような制限によって、記憶部23は、16×16のブロックサイズで3コンポーネント分のYCgCo残差信号1を記憶するだけのメモリサイズでよい。同様に、YCgCo残差信号2についても、記憶部23および記憶部33は、16×16のブロックサイズで3コンポーネント分のYCgCo残差信号2を記憶するだけのメモリサイズでよい。
【0074】
例えば、ビットストリームのシンタックスに関して、ACT処理およびIACT処理が適用される条件に、符号化ブロックのパラメータ(サイズ、面積、形状など)を考慮する。つまり、画像符号化装置12では、ACT処理を適用することを示すフラグを送信する際に、符号化ブロックのブロックサイズが所定サイズ(例えば、16×16)以下であることを確認する。そして、符号化ブロックのブロックサイズが所定サイズ(例えば、16×16)以下である場合にのみ、ACT処理を適用することを示すフラグを送信し、所定サイズ(例えば、16×16)より大きい場合には、ACT処理を適用することを示すフラグを送信しないように、シンタックスを取り決める。
【0075】
これにより、画像処理システム11では、符号化ブロックのブロックサイズが所定サイズより大きい場合には、ACT処理を適用することを示すフラグの送信が不要となり、そのフラグをビットストリームから取り除くことができるので、符号化効率の改善を期待することができる。また、このような送信することが不要なフラグを送信しないことで、ビットストリームのシンタックスに曖昧な信号を取り除くことができる。
【0076】
また、符号化方式としてVVC(Versatile Video Coding)が用いられる場合について説明する。符号化方式としてVVCが用いられる場合、直交変換処理および逆直交変換処理における直交変換ブロックのブロックサイズとして64×64を使用することができる。そのため、符号化方式としてVVCが用いられる場合、64×64のブロックサイズで3コンポーネント分のYCgCo残差信号を蓄えることが可能なメモリサイズが必要であった。
【0077】
そこで、画像処理システム11では、符号化方式としてVVCが用いられる場合、例えば、ACT処理およびIACT処理が適用されるときの符号化ブロックのブロックサイズを32×32以下に制限を設ける。このような制限によって、記憶部23は、32×32のブロックサイズで3コンポーネント分のYCgCo残差信号1を記憶するだけのメモリサイズでよい。同様に、YCgCo残差信号2についても、記憶部23および記憶部33は、32×32のブロックサイズで3コンポーネント分のYCgCo残差信号2を記憶するだけのメモリサイズでよい。
【0078】
なお、符号化方式としてHEVC(High Efficiency Video Coding)が用いられる場合にもACT処理およびIACT処理を行う機構が備えられ、HEVCでは規格上、直交変換処理および逆直交変換処理における直交変換ブロックの最大ブロックサイズが32×32となっていた。これに対し、VVCでは、直交変換ブロックの最大ブロックサイズとして64×64をサポートできるようになったため、メモリサイズの増大がHEVCに比べてより大きくなる。そこで、画像処理システム11では、符号化方式としてVVCが用いられる場合、ACT処理およびIACT処理が適用される際に、直交変換処理および逆直交変換処理における直交変換ブロックを制限することによって、HEVCと同じメモリサイズで処理を行ことが可能となる。
【0079】
図4には、ハイレベルシンタックスのパラメータセットの一例が示されている。
【0080】
図4に示すパラメータセットにおいて、sps_act_enabled_flagが1である場合、ACT処理およびIACT処理を適用することができ、コーディングユニットシンタックスにcu_act_enabled_flagが存在する可能性があることを指定する。一方、sps_act_enabled_flagが0である場合、ACT処理およびIACT処理が適用されず、コーディングユニットシンタックスにcu_act_enabled_flagが存在しないことを指定する。なお、パラメータセットにsps_act_enabled_flagが存在しない場合、sps_act_enabled_flagは0であると推測される。
【0081】
図4に示すパラメータセットにおいて、sps_log2_act_max_size_minus2は、ACT処理およびIACT処理において使用される最大ブロックサイズを0から7までの範囲で指定する。なお、パラメータセットにsps_log2_act_max_size_minus2が存在しない場合、sps_log2_act_max_size_minus2は0であると推測される。
【0082】
また、MaxActSize変数は、1が設定されている場合、sps_log2_act_max_size_minus2 + 2より十分に小さくなる(The variable MaxActSize is set equal to 1 << (sps_log2_act_max_size_minus2 + 2))。例えば、sps_log2_act_max_size_minus2に2をセットすると、MaxActSize変数は16(=1<<4)になる。これにより、MaxActSizeより大きいサイズでACT処理およびIACT処理が行われることを禁止することができる。
【0083】
図5には、ハイレベルシンタックスのコーディングユニットの一例が示されている。
【0084】
図5に示すコーディングユニットにおいて、cu_act_enabled_flagが1である場合、現在のコーディングユニットの残差がYCgCo色空間でコーディングされることを指定する。一方、cu_act_enabled_flagが0である場合、現在のコーディングユニットの残差が元の色空間でコーディングされることを指定する。なお、cu_act_enabled_flagが存在しない場合には、cu_act_enabled_flagは0であると推測される。
【0085】
ここで、符号化ブロックの幅が、ACT処理およびIACT処理におけるブロックサイズの最大サイズ以下、並びに、符号化ブロックの高さが、ACT処理およびIACT処理におけるブロックサイズの最大サイズ以下という条件(&& cbWidth <= MaxActSize && cbHeight <= MaxActSize)を、cu_act_enabled_flagを送信する条件に加えることで、ACT処理およびIACT処理で用いられるメモリサイズを制限することができる。
【0086】
また、符号化ブロックの幅または符号化ブロックの高さが、ACT処理およびIACT処理におけるブロックサイズの最大サイズ以下という条件(&& (cbWidth * cbHeight) <= (MaxActSize* MaxActSize))を、cu_act_enabled_flagを送信する条件に加えることでも、メモリサイズを制限することができる。この場合、一辺がMaxActSizeを超えていても、もう一辺が小さく上記の条件を満たすのであれば、ACT処理およびIACT処理を適用することができる。
【0087】
<ACT処理およびIACT処理の適用に関する第2のコンセプト>
第2のコンセプトでは、画像処理システム11で用いられる符号化ブロックまたは予想ブロックのブロックサイズが大きい場合であっても、符号化ブロックまたは予想ブロックのブロックサイズを分割した小さなサイズとした直交変換ブロックを用いて直交変換処理および逆直交変換処理を施すように制御が行われ、ACT処理およびIACT処理が適用されるように制御が行われる。つまり、画像処理システム11で用いられる符号化ブロックまたは予想ブロックのブロックサイズが大きな場合においても、ACT処理およびIACT処理が適用される際は、符号化ブロックまたは予想ブロックのブロックサイズよりも小さな直交変換ブロックで直交変換処理および逆直交変換処理を行わせる。
【0088】
例えば、符号化ブロックのブロックサイズが64×64であって、インター予測の予測ブロックのブロックサイズが64×64である場合、通常、直交変換ブロックにおいても64×64のブロックサイズが用いられていた。これに対し、画像処理システム11では、同様の場合であっても、ACT処理およびIACT処理が適用される際は自動的に、64×64より小さく分割されたブロックサイズの直交変換ブロック(例えば、32×32のブロックサイズの4つのブロック)が用いられる。
【0089】
例えば、ACT処理が適用されることを示す制御信号を参照することにより、ACT処理が適用される場合には、そのときの符号化ブロックまたは予測ブロックのブロックサイズを分割して小さなブロックサイズとした直交変換ブロックを用いて直交変換処理および逆直交変換処理を施すように制御が行われる。
【0090】
従って、画像処理システム11では、このような第2のコンセプトに従った制御を行うことで、直交変換処理および逆直交変換処理における直交変換ブロックのブロックサイズが小さくなり、ACT処理およびIACT処理を適用する際に必要となるメモリサイズの増大を回避することができる。例えば、YCbCo残差信号1を蓄える記憶部23は、64×64のブロックサイズで3コンポーネント分のメモリサイズではなく、32×32のブロックサイズで3コンポーネント分のメモリサイズとすることができる。その結果、画像処理システム11では、実装コストの増加を抑制することができる。
【0091】
<ACT処理およびIACT処理の適用に関する第3のコンセプト>
第3のコンセプトでは、直交変換処理および逆直交変換処理における直交変換ブロックの最大ブロックサイズとして小さいサイズが用いられる場合に、ACT処理およびIACT処理が適用されるように制御が行われる。
【0092】
例えば、画像処理システム11では、直交変換ブロックの最大ブロックサイズとして32および64が規定されている。そして、制御部24は、直交変換ブロックの最大ブロックサイズとして32を用いる場合に制限して、適応色変換部42によるACT処理および逆適応色変換部47によるIACT処理を行わせる。同様に、制御部34は、直交変換ブロックの最大ブロックサイズとして32を用いる場合に制限して、逆適応色変換部64によるIACT処理を行わせる。
【0093】
このような第3のコンセプトに従った制御は、ハイレベルシンタックスのパラメータセットに含まれるsps_max_luma_transform_size_64_flagを利用することにより実現することができる。
【0094】
図6には、画像処理システム11で用いられるハイレベルシンタックスのパラメータセットの一例が示されている。
【0095】
例えば、sps_max_luma_transform_size_64_flagが0である場合、直交変換ブロックの最大ブロックサイズとして32を用いるように設定されている。一方、sps_max_luma_transform_size_64_flagが1である場合、直交変換ブロックの最大ブロックサイズとして64を用いるように設定されている。
【0096】
そこで、画像処理システム11では、sps_max_luma_transform_size_64_flagが0である場合にのみ、ACT処理およびIACT処理が適用されるように制御が行われる。つまり、画像処理システム11では、sps_max_luma_transform_size_64_flagが1である場合には、ACT処理およびIACT処理が適用されない。
【0097】
そして、制御部24は、sps_max_luma_transform_size_64_flagが0である場合に、適応色変換処理を適用するか否かを示すsps_act_enabled_flagに、適応色変換処理を適用することを示す1を設定し、画像復号装置13へ送信する。この場合、cu_act_enabled_flagもコーディングユニットシンタックスに含まれることがある。なお、sps_act_enabled_flagが0である場合、適応色変換処理を適用しないことを示し、この場合、cu_act_enabled_flagはコーディングユニットシンタックスに含まれない。ここで、sps_act_enabled_flagがパラメータセットに含まれていない場合、sps_act_enabled_flagは0であると推測される。
【0098】
このように、sps_max_luma_transform_size_64_flagが0である場合、直交変換ブロックの最大ブロックサイズが32に制限されるため、画像処理システム11では、ACT処理およびIACT処理を適用する際に必要となるメモリサイズの増大を回避することができる。
【0099】
例えば、このような制御が行われない場合、つまり、直交変換ブロックの最大ブロックサイズが64となり得る場合、記憶部23および記憶部33は、64×64のブロックサイズで3コンポーネント分のYCgCo残差信号を蓄えることが可能なメモリサイズが必要となる。これに対し、直交変換ブロックの最大ブロックサイズが32に制限されたときのみ、ACT処理およびIACT処理を適用するような制御を行うことで、記憶部23および記憶部33は、32×32のブロックサイズで3コンポーネント分のYCgCo残差信号を記憶するだけのメモリサイズでよい。
【0100】
従って、画像処理システム11では、このような第3のコンセプトに従った制御を行うことで、メモリサイズの増大を回避することができる結果、実装コストの増加を抑制することができる。
【0101】
<コンピュータベースのシステムの構成例>
図7は、本技術を適用したコンピュータベースのシステムの一実施の形態の構成例を示すブロック図である。
【0102】
図7は、1または複数のコンピュータやサーバなどがネットワークを介して接続されたネットワークシステムの構成例を示すブロック図である。なお、図7の実施の形態で示されているハードウェアおよびソフトウェア環境は、本開示によるソフトウェアおよび/または方法を実装するためのプラットフォームを提供することができる一例として示されている。
【0103】
図7に示すように、ネットワークシステム101は、コンピュータ102、ネットワーク103、リモートコンピュータ104、ウェブサーバ105、クラウドストレージサーバ106、およびコンピュータサーバ107を備えて構成される。ここで、本実施の形態では、図7に示される機能ブロックのうちの1または複数によって、複数のインスタンスが実行される。
【0104】
また、図7では、コンピュータ102の詳細な構成が図示されている。なお、コンピュータ102内に示されている機能ブロックは、例示的な機能を確立するために図示されており、このような構成に限定されるものではない。また、リモートコンピュータ104、ウェブサーバ105、クラウドストレージサーバ106、およびコンピュータサーバ107の詳細な構成は図示されていないが、これらは、コンピュータ102内に示されている機能ブロックと同様の構成が含まれている。
【0105】
コンピュータ102としては、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、携帯情報端末、スマートフォン、または、ネットワーク上の他のデバイスと通信可能な他のプログラム可能な電子デバイスを用いることができる。
【0106】
そして、コンピュータ102は、バス111、プロセッサ112、メモリ113、不揮発性ストレージ114、ネットワークインタフェース115、周辺機器インタフェース116、およびディスプレイインターフェース117を備えて構成される。これらの機能の各々は、ある実施の形態では、個々の電子サブシステム(集積回路チップまたはチップと関連デバイスの組み合わせ)に実装され、または、他の実施形態では、機能のいくつかが組み合わせられて単一チップ(システムオンチップまたはSoC(System on Chip))に実装されてもよい。
【0107】
バス111は、各種の独自仕様または業界標準の高速パラレルまたはシリアル周辺相互接続バスを採用することができる。
【0108】
プロセッサ112は、1または複数のシングルまたはマルチチップマイクロプロセッサとして設計および/または製造されたものを採用することができる。
【0109】
メモリ113および不揮発性ストレージ114は、コンピュータ102による読み込みが可能なストレージ媒体である。例えば、メモリ113は、DRAM(Dynamic Random Access Memory)やSRAM(Static RAM)などのような任意の適切な揮発性ストレージデバイスを採用することができる。不揮発性ストレージ114は、フレキシブルディスク、ハードディスク、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable and Programmable Read Only Memory)、フラッシュメモリ、コンパクトディスク(CDまたはCD-ROM)、DVD(Digital Versatile Disc)、カード型メモリ、またはスティック型メモリのうち、少なくとも1つ以上を採用することができる。
【0110】
また、不揮発性ストレージ114には、プログラム121が格納されている。プログラム121は、例えば、特定のソフトウェア機能を作成、管理、および制御するために使用される機械可読命令および/またはデータの集合である。なお、メモリ113が不揮発性ストレージ114よりも非常に高速である構成では、プログラム121は、プロセッサ112により実行される前に、不揮発性ストレージ114からメモリ113に転送することができる。
【0111】
コンピュータ102は、ネットワークインタフェース115を介して、ネットワーク103を介した他のコンピュータとの通信および相互作用をすることができる。ネットワーク103は、例えば、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network)、または、LANおよびWANの組み合わせで、有線、無線、または光ファイバー接続が含まれた構成を採用することができる。一般に、ネットワーク103は、2つ以上のコンピュータと関連デバイス間の通信をサポートする接続およびプロトコルの任意の組み合わせからなる。
【0112】
周辺機器インタフェース116は、コンピュータ102にローカルに接続され得る他のデバイスとのデータの入出力を行うことができる。例えば、周辺機器インタフェース116は、外部デバイス131への接続を提供する。外部デバイス131には、キーボード、マウス、キーパッド、タッチスクリーン、および/または、その他の適切な入力デバイスが用いられる。外部デバイス131は、例えば、サムドライブ、ポータブル光学ディスクまたは磁気ディスク、およびメモリカードなどのポータブルコンピュータ可読記憶媒体も含み得る。
【0113】
本開示の実施の形態では、例えば、プログラム121を実施するために使用されるソフトウェアおよびデータは、そのようなポータブルコンピュータ可読記憶媒体に記憶されてもよい。そのような実施形態では、ソフトウェアは、不揮発性ストレージ114に、または周辺機器インタフェース116を介してメモリ113に直接ロードされてもよい。周辺機器インタフェース116は、外部デバイス131との接続に、例えば、RS-232またはUSB(Universal Serial Bus)などの業界標準を使用してもよい。
【0114】
ディスプレイインターフェース117は、コンピュータ102をディスプレイ132に接続することができ、ディスプレイ132を使用して、コマンドラインまたはグラフィカルユーザインターフェースを、コンピュータ102のユーザに提示することができる。例えば、ディスプレイインターフェース117には、VGA(Video Graphics Array)や、DVI(Digital Visual Interface)、DisplayPort、HDMI(High-Definition Multimedia Interface)(登録商標)などの業界標準を採用することができる。
【0115】
<画像符号化装置の構成例>
図8は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【0116】
図8に示される画像符号化装置201は、予測処理を用いて画像データを符号化する。ここで、符号化方式としては、例えば、VVC(Versatile Video Coding)方式やHEVC(High Efficiency Video Coding)方式などが用いられる。
【0117】
図8の画像符号化装置201は、A/D変換部202、画面並べ替えバッファ203、演算部204、直交変換部205、量子化部206、可逆符号化部207、および蓄積バッファ208を有する。また、画像符号化装置201は、逆量子化部209、逆直交変換部210、演算部211、デブロッキングフィルタ212、適応オフセットフィルタ213、適応ループフィルタ214、フレームメモリ215、選択部216、イントラ予測部217、動き予測・補償部218、予測画像選択部219、およびレート制御部220を有する。
【0118】
A/D変換部202は、入力された画像データ(Picture(s))をA/D変換して画面並べ替えバッファ203に供給する。なお、A/D変換部202を設けずに、ディジタルデータの画像が入力される構成としてもよい。
【0119】
画面並べ替えバッファ203は、A/D変換部202から供給された画像データを記憶し、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ203は、フレームの順番を並び替えた画像を、演算部204、イントラ予測部217、および動き予測・補償部218に出力する。
【0120】
演算部204は、画面並べ替えバッファ203から出力された画像から、予測画像選択部219を介してイントラ予測部217若しくは動き予測・補償部218から供給される予測画像を減算し、その差分情報を直交変換部205に出力する。
【0121】
例えば、イントラ符号化が行われる画像の場合、演算部204は、画面並べ替えバッファ203から出力された画像から、イントラ予測部217から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部204は、画面並べ替えバッファ203から出力された画像から、動き予測・補償部218から供給される予測画像を減算する。
【0122】
直交変換部205は、演算部204から供給される差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部206に供給する。
【0123】
量子化部206は、直交変換部205が出力する変換係数を量子化する。量子化部206は、量子化された変換係数を可逆符号化部207に供給する。
【0124】
可逆符号化部207は、その量子化された変換係数に対して、可変長符号化、算術符号化等の可逆符号化を施す。
【0125】
可逆符号化部207は、イントラ予測モードを示す情報などのパラメータをイントラ予測部217から取得し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部218から取得する。
【0126】
可逆符号化部207は、量子化された変換係数を符号化するとともに、取得した各パラメータ(シンタックス要素)を符号化し、符号化データのヘッダ情報の一部とする(多重化する)。可逆符号化部207は、符号化して得られた符号化データを蓄積バッファ208に供給して蓄積させる。
【0127】
例えば、可逆符号化部207においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、CAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
【0128】
蓄積バッファ208は、可逆符号化部207から供給された符号化ストリーム(Encoded Data)を、一時的に保持し、所定のタイミングにおいて、符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。すなわち、蓄積バッファ208は、符号化ストリームを伝送する伝送部でもある。
【0129】
また、量子化部206において量子化された変換係数は、逆量子化部209にも供給される。逆量子化部209は、その量子化された変換係数を、量子化部206による量子化に対応する方法で逆量子化する。逆量子化部209は、得られた変換係数を、逆直交変換部210に供給する。
【0130】
逆直交変換部210は、供給された変換係数を、直交変換部205による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部211に供給される。
【0131】
演算部211は、逆直交変換部210より供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部219を介してイントラ予測部217若しくは動き予測・補償部218から供給される予測画像を加算し、局部的に復号された画像(復号画像)を得る。
【0132】
例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部211は、その差分情報にイントラ予測部217から供給される予測画像を加算する。また、例えば、差分情報が、インター符号化が行われる画像に対応する場合、演算部211は、その差分情報に動き予測・補償部218から供給される予測画像を加算する。
【0133】
その加算結果である復号画像は、デブロッキングフィルタ212およびフレームメモリ215に供給される。
【0134】
デブロッキングフィルタ212は、演算部211からの画像に対して、適宜デブロッキングフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ213に供給する。デブロッキングフィルタ212は、量子化パラメータQPを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値(パラメータ)である。
【0135】
なお、デブロッキングフィルタ212が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。パラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部207において符号化され、後述する図10の画像復号装置301に送信される。
【0136】
適応オフセットフィルタ213は、デブロッキングフィルタ212によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO: Sample adaptive offset)処理を行う。
【0137】
オフセットフィルタの種類は、バンドオフセット2種類、エッジオフセット6種類、オフセットなしの計9種類がある。適応オフセットフィルタ213は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ212によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ213は、フィルタ処理後の画像を、適応ループフィルタ214に供給する。
【0138】
なお、画像符号化装置201において、quad-tree構造と分割領域毎のオフセット値は、適応オフセットフィルタ213により算出されて用いられる。算出されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部207において符号化され、後述する図10の画像復号装置301に送信される。
【0139】
適応ループフィルタ214は、適応オフセットフィルタ213によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、適応ループフィルタ(ALF : Adaptive Loop Filter)処理を行う。適応ループフィルタ214においては、フィルタとして、例えば、2次元のウィナーフィルタ(Wiener Filter)が用いられる。もちろん、ウィナーフィルタ以外のフィルタが用いられてもよい。適応ループフィルタ214は、フィルタ処理結果をフレームメモリ215に供給する。
【0140】
なお、図8の例においては図示しないが、画像符号化装置201において、フィルタ係数は、処理単位毎に、画面並べ替えバッファ203からの原画像との残差を最小とするよう適応ループフィルタ214により算出されて用いられる。算出されたフィルタ係数は、適応ループフィルタパラメータとして、可逆符号化部207において符号化され、後述する図10の画像復号装置301に送信される。
【0141】
フレームメモリ215は、所定のタイミングにおいて、蓄積されている参照画像を、選択部216を介してイントラ予測部217または動き予測・補償部218に出力する。
【0142】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ215は、参照画像を、選択部216を介してイントラ予測部217に供給する。また、例えば、インター符号化が行われる場合、フレームメモリ215は、参照画像を、選択部216を介して動き予測・補償部218に供給する。
【0143】
選択部216は、フレームメモリ215から供給される参照画像がイントラ符号化を行う画像である場合、その参照画像をイントラ予測部217に供給する。また、選択部216は、フレームメモリ215から供給される参照画像がインター符号化を行う画像である場合、その参照画像を動き予測・補償部218に供給する。
【0144】
イントラ予測部217は、画面内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部217は、複数のモード(イントラ予測モード)によりイントラ予測を行う。
【0145】
イントラ予測部217は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部217は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部219を介して演算部204や演算部211に供給する。
【0146】
また、上述したように、イントラ予測部217は、採用したイントラ予測モードを示すイントラ予測モード情報等のパラメータを、適宜可逆符号化部207に供給する。
【0147】
動き予測・補償部218は、インター符号化が行われる画像について、画面並べ替えバッファ203から供給される入力画像と、選択部216を介してフレームメモリ215から供給される参照画像とを用いて、動き予測を行う。また、動き予測・補償部218は、動き予測により検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
【0148】
動き予測・補償部218は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測・補償部218は、生成された予測画像を、予測画像選択部219を介して演算部204や演算部211に供給する。また、動き予測・補償部218は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報などのパラメータを可逆符号化部207に供給する。
【0149】
予測画像選択部219は、イントラ符号化を行う画像の場合、イントラ予測部217の出力を演算部204や演算部211に供給し、インター符号化を行う画像の場合、動き予測・補償部218の出力を演算部204や演算部211に供給する。
【0150】
レート制御部220は、蓄積バッファ208に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部206の量子化動作のレートを制御する。
【0151】
このように画像符号化装置201は構成されており、演算部204および直交変換部205の間に適応色変換部42(図2)が設けられ、逆直交変換部210および演算部211の間に逆適応色変換部47(図2)が設けられる。そして、画像符号化装置201では、上述した第1乃至第3のコンセプトに従った制御が行われることにより、メモリサイズの増大を回避することができる。
【0152】
<画像符号化装置の動作>
図9を参照して、以上のような画像符号化装置201により実行される符号化処理の流れについて説明する。
【0153】
ステップS101において、A/D変換部202は、入力された画像をA/D変換する。
【0154】
ステップS102において、画面並べ替えバッファ203は、A/D変換部202でA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【0155】
画面並べ替えバッファ203から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ215から読み出され、選択部216を介してイントラ予測部217に供給される。
【0156】
これらの画像に基づいて、ステップS103において、イントラ予測部217は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロッキングフィルタ212によりフィルタされていない画素が用いられる。
【0157】
この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部219に供給される。
【0158】
画面並べ替えバッファ203から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ215から読み出され、選択部216を介して動き予測・補償部218に供給される。これらの画像に基づいて、ステップS104において、動き予測・補償部218は、動き予測・補償処理を行う。
【0159】
この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部219に供給される。
【0160】
ステップS105において、予測画像選択部219は、イントラ予測部217および動き予測・補償部218より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部219は、決定した最適予測モードの予測画像を選択し、演算部204,211に供給する。この予測画像は、後述するステップS106,S111の演算に利用される。
【0161】
なお、この予測画像の選択情報は、イントラ予測部217または動き予測・補償部218に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部217は、最適イントラ予測モードを示す情報(すなわち、イントラ予測に関するパラメータ)を、可逆符号化部207に供給する。
【0162】
最適インター予測モードの予測画像が選択された場合、動き予測・補償部218は、最適インター予測モードを示す情報と、最適インター予測モードに応じた情報(すなわち、動き予測に関するパラメータ)を可逆符号化部207に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
【0163】
ステップS106において、演算部204は、ステップS102で並び替えられた画像と、ステップS105で選択された予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部218から、イントラ予測する場合はイントラ予測部217から、それぞれ予測画像選択部219を介して演算部204に供給される。
【0164】
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【0165】
ステップS107において、直交変換部205は演算部204から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【0166】
ステップS108において、量子化部206は変換係数を量子化する。この量子化に際しては、後述するステップS118の処理で説明されるように、レートが制御される。
【0167】
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS109において、逆量子化部209は、量子化部206により量子化された変換係数を量子化部206の特性に対応する特性で逆量子化する。ステップS110において、逆直交変換部210は、逆量子化部209により逆量子化された変換係数を直交変換部205の特性に対応する特性で逆直交変換する。
【0168】
ステップS111において、演算部211は、予測画像選択部219を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された(すなわち、ローカルデコードされた)画像(演算部204への入力に対応する画像)を生成する。
【0169】
ステップS112においてデブロッキングフィルタ212は、演算部211より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ212からのフィルタ後の画像は、適応オフセットフィルタ213に出力される。
【0170】
なお、ユーザにより操作部などを操作することで入力されて、デブロッキングフィルタ212で用いられたパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、可逆符号化部207に供給される。
【0171】
ステップS113において、適応オフセットフィルタ213は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ212によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ214に供給される。
【0172】
なお、決定されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、可逆符号化部207に供給される。
【0173】
ステップS114において、適応ループフィルタ214は、適応オフセットフィルタ213によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。例えば、適応オフセットフィルタ213によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎に、画像に対してフィルタ処理が行われ、フィルタ処理結果が、フレームメモリ215に供給される。
【0174】
ステップS115においてフレームメモリ215は、フィルタリングされた画像を記憶する。なお、フレームメモリ215には、デブロッキングフィルタ212、適応オフセットフィルタ213、および適応ループフィルタ214によりフィルタされていない画像も演算部211から供給され、記憶される。
【0175】
一方、上述したステップS108において量子化された変換係数は、可逆符号化部207にも供給される。ステップS116において、可逆符号化部207は、量子化部206より出力された量子化された変換係数と、供給された各パラメータを符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。ここで、符号化される各パラメータとしては、デブロッキングフィルタのパラメータ、適応オフセットフィルタのパラメータ、適応ループフィルタのパラメータ、量子化パラメータ、動きベクトル情報や参照フレーム情報、予測モード情報などがあげられる。
【0176】
ステップS117において蓄積バッファ208は、符号化された差分画像(すなわち、符号化ストリーム)を、圧縮画像として蓄積する。蓄積バッファ208に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
【0177】
ステップS118においてレート制御部220は、蓄積バッファ208に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部206の量子化動作のレートを制御する。
【0178】
ステップS118の処理が終了すると、符号化処理が終了される。
【0179】
以上のような符号化処理において、ステップS106およびステップS107の間で適応色変換部42(図2)によるACT処理が行われ、ステップS110およびステップS111の間で逆適応色変換部47(図2)によるIACT処理が行われる。そして、符号化処理では、上述した第1乃至第3のコンセプトに従ってACT処理およびIACT処理の適用に関する制御が行われる。
【0180】
<画像復号装置の構成例>
図10は、本開示を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。図10に示される画像復号装置301は、図8の画像符号化装置201に対応する復号装置である。
【0181】
画像符号化装置201より符号化された符号化ストリーム(Encoded Data)は、所定の伝送路を介して、この画像符号化装置201に対応する画像復号装置301に伝送され、復号されるものとする。
【0182】
図10に示されるように、画像復号装置301は、蓄積バッファ302、可逆復号部303、逆量子化部304、逆直交変換部305、演算部306、デブロッキングフィルタ307、適応オフセットフィルタ308、適応ループフィルタ309、画面並べ替えバッファ310、D/A変換部311、フレームメモリ312、選択部313、イントラ予測部314、動き予測・補償部315、および選択部316を有する。
【0183】
蓄積バッファ302は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ302は、伝送されてきた符号化データを受け取って、蓄積する。この符号化データは、画像符号化装置201により符号化されたものである。可逆復号部303は、蓄積バッファ302から所定のタイミングで読み出された符号化データを、図8の可逆符号化部207の符号化方式に対応する方式で復号する。
【0184】
可逆復号部303は、復号されたイントラ予測モードを示す情報などのパラメータをイントラ予測部314に供給し、インター予測モードを示す情報や動きベクトル情報などのパラメータを動き予測・補償部315に供給する。また、可逆復号部303は、復号されたデブロッキングフィルタのパラメータを、デブロッキングフィルタ307に供給し、復号された適応オフセットパラメータを、適応オフセットフィルタ308に供給する。
【0185】
逆量子化部304は、可逆復号部303により復号されて得られた係数データ(量子化係数)を、図8の量子化部206の量子化方式に対応する方式で逆量子化する。つまり、逆量子化部304は、画像符号化装置201から供給された量子化パラメータを用いて、図8の逆量子化部209と同様の方法で量子化係数の逆量子化を行う。
【0186】
逆量子化部304は、逆量子化された係数データ、つまり、直交変換係数を、逆直交変換部305に供給する。逆直交変換部305は、図8の直交変換部205の直交変換方式に対応する方式で、その直交変換係数を逆直交変換し、画像符号化装置201において直交変換される前の残差データに対応する復号残差データを得る。
【0187】
逆直交変換されて得られた復号残差データは、演算部306に供給される。また、演算部306には、選択部316を介して、イントラ予測部314若しくは動き予測・補償部315から予測画像が供給される。
【0188】
演算部306は、その復号残差データと予測画像とを加算し、画像符号化装置201の演算部204により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部306は、その復号画像データをデブロッキングフィルタ307に供給する。
【0189】
デブロッキングフィルタ307は、演算部306からの画像に対して、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を抑制し、そのフィルタ処理結果を適応オフセットフィルタ308に供給する。デブロッキングフィルタ307は、図8のデブロッキングフィルタ212と基本的に同様に構成される。すなわち、デブロッキングフィルタ307は、量子化パラメータを基に求められるパラメータβおよびTcを有している。パラメータβおよびTcは、デブロッキングフィルタに関する判定に用いられる閾値である。
【0190】
なお、デブロッキングフィルタ307が有するパラメータであるβおよびTcは、HEVC方式で規定されているβとTcから拡張されている。画像符号化装置201により符号化されたデブロッキングフィルタのパラメータβおよびTcの各オフセットは、デブロッキングフィルタのパラメータとして、画像復号装置301において受信されて、可逆復号部303により復号されて、デブロッキングフィルタ307により用いられる。
【0191】
適応オフセットフィルタ308は、デブロッキングフィルタ307によるフィルタ後の画像に対して、主にリンギングを抑制するオフセットフィルタ(SAO)処理を行う。
【0192】
適応オフセットフィルタ308は、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ307によるフィルタ後の画像に対して、フィルタ処理を施す。適応オフセットフィルタ308は、フィルタ処理後の画像を、適応ループフィルタ309に供給する。
【0193】
なお、このquad-tree構造と分割領域毎のオフセット値は、画像符号化装置201の適応オフセットフィルタ213により算出され、適応オフセットパラメータとして、符号化されて送られてきたものである。そして、画像符号化装置201により符号化されたquad-tree構造と分割領域毎のオフセット値は、適応オフセットパラメータとして、画像復号装置301において受信されて、可逆復号部303により復号されて、適応オフセットフィルタ308により用いられる。
【0194】
適応ループフィルタ309は、適応オフセットフィルタ308によるフィルタ後の画像に対して、フィルタ係数を用いて、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、フレームメモリ312および画面並べ替えバッファ310に供給する。
【0195】
なお、図10の例においては図示しないが、画像復号装置301において、フィルタ係数は、画像符号化装置201の適応ループフィルタ214によりLUC毎に算出され、適応ループフィルタパラメータとして、符号化されて送られてきたものが可逆復号部303により復号されて用いられる。
【0196】
画面並べ替えバッファ310は、画像の並べ替えを行って、D/A変換部311に供給する。すなわち、図8の画面並べ替えバッファ203により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。
【0197】
D/A変換部311は、画面並べ替えバッファ310から供給される画像(Decoded Picture(s))をD/A変換して図示せぬディスプレイに出力し、表示させる。なお、D/A変換部311を設けずに、ディジタルデータのままで画像を出力する構成としてもよい。
【0198】
適応ループフィルタ309の出力は、さらに、フレームメモリ312に供給される。
【0199】
フレームメモリ312、選択部313、イントラ予測部314、動き予測・補償部315、および選択部316は、画像符号化装置201のフレームメモリ215、選択部216、イントラ予測部217、動き予測・補償部218、および予測画像選択部219にそれぞれ対応する。
【0200】
選択部313は、インター処理される画像と参照される画像をフレームメモリ312から読み出し、動き予測・補償部315に供給する。また、選択部313は、イントラ予測に用いられる画像をフレームメモリ312から読み出し、イントラ予測部314に供給する。
【0201】
イントラ予測部314には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部303から適宜供給される。イントラ予測部314は、この情報に基づいて、フレームメモリ312から取得した参照画像から予測画像を生成し、生成した予測画像を選択部316に供給する。
【0202】
動き予測・補償部315には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報、フラグ、および各種パラメータ等)が可逆復号部303から供給される。
【0203】
動き予測・補償部315は、可逆復号部303から供給されるそれらの情報に基づいて、フレームメモリ312から取得した参照画像から予測画像を生成し、生成した予測画像を選択部316に供給する。
【0204】
選択部316は、動き予測・補償部315またはイントラ予測部314により生成された予測画像を選択し、演算部306に供給する。
【0205】
このように画像復号装置301は構成されており、逆直交変換部305および演算部306の間に逆適応色変換部64(図3)が設けられる。そして、画像復号装置301では、上述した第1乃至第3のコンセプトに従った制御が行われることにより、メモリサイズの増大を回避することができる。
【0206】
<画像復号装置の動作>
図11を参照して、以上のような画像復号装置301により実行される復号処理の流れの例を説明する。
【0207】
復号処理が開始されると、ステップS201において、蓄積バッファ302は、伝送されてきた符号化ストリーム(データ)を受け取り、蓄積する。ステップS202において、可逆復号部303は、蓄積バッファ302から供給される符号化データを復号する。図8の可逆符号化部207により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
【0208】
ピクチャの復号に先立ち、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モード)などのパラメータの情報も復号される。
【0209】
予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部314に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報などは、動き予測・補償部315に供給される。また、デブロッキングフィルタのパラメータおよび適応オフセットパラメータも復号され、デブロッキングフィルタ307および適応オフセットフィルタ308にそれぞれ供給される。
【0210】
ステップS203において、イントラ予測部314または動き予測・補償部315は、可逆復号部303から供給される予測モード情報に対応して、それぞれ、予測画像生成処理を行う。
【0211】
すなわち、可逆復号部303からイントラ予測モード情報が供給された場合、イントラ予測部314はイントラ予測モードのイントラ予測画像を生成する。可逆復号部303からインター予測モード情報が供給された場合、動き予測・補償部315は、インター予測モードの動き予測・補償処理を行い、インター予測画像を生成する。
【0212】
この処理により、イントラ予測部314により生成された予測画像(イントラ予測画像)、または動き予測・補償部315により生成された予測画像(インター予測画像)が、選択部316に供給される。
【0213】
ステップS204において、選択部316は予測画像を選択する。すなわち、イントラ予測部314により生成された予測画像、または、動き予測・補償部315により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部306に供給され、後述するステップS207において逆直交変換部305の出力と加算される。
【0214】
上述したステップS202において、可逆復号部303により復号された変換係数は、逆量子化部304にも供給される。ステップS205において、逆量子化部304は可逆復号部303により復号された変換係数を、図8の量子化部206の特性に対応する特性で逆量子化する。
【0215】
ステップS206において逆直交変換部305は、逆量子化部304により逆量子化された変換係数を、図8の直交変換部205の特性に対応する特性で逆直交変換する。これにより図8の直交変換部205の入力(演算部204の出力)に対応する差分情報が復号されたことになる。
【0216】
ステップS207において、演算部306は、上述したステップS204の処理で選択され、選択部316を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。
【0217】
ステップS208においてデブロッキングフィルタ307は、演算部306より出力された画像に対して、デブロッキングフィルタ処理を行う。このとき、デブロッキングフィルタに関する判定の閾値として、HEVC方式で規定されているβとTcから拡張されたパラメータβおよびTcが用いられる。デブロッキングフィルタ307からのフィルタ後の画像は、適応オフセットフィルタ308に出力される。なお、デブロッキングフィルタ処理においては、可逆復号部303から供給されるデブロッキングフィルタのパラメータβおよびTcの各オフセットも用いられる。
【0218】
ステップS209において、適応オフセットフィルタ308は、適応オフセットフィルタ処理を行う。この処理により、分割領域毎にオフセットフィルタの種類が決定されたものであるquad-tree構造と分割領域毎のオフセット値を用いて、デブロッキングフィルタ307によるフィルタ後の画像に対して、フィルタ処理が施される。フィルタ後の画像は、適応ループフィルタ309に供給される。
【0219】
ステップS210において、適応ループフィルタ309は、適応オフセットフィルタ308によるフィルタ後の画像に対して、適応ループフィルタ処理を行う。適応ループフィルタ309は、処理単位毎に計算されたフィルタ係数を用いて、入力画像に対して、処理単位毎にフィルタ処理を行い、フィルタ処理結果を、画面並べ替えバッファ310およびフレームメモリ312に供給する。
【0220】
ステップS211においてフレームメモリ312は、フィルタリングされた画像を記憶する。
【0221】
ステップS212において、画面並べ替えバッファ310は、適応ループフィルタ309後の画像の並べ替えを行った後、D/A変換部311に供給する。すなわち画像符号化装置201の画面並べ替えバッファ203により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【0222】
ステップS213において、D/A変換部311は、画面並べ替えバッファ310で並べ替えられた画像をD/A変換して図示せぬディスプレイに出力し、画像が表示される。
【0223】
ステップS213の処理が終了すると、復号処理が終了される。
【0224】
以上のような復号処理において、ステップS206およびステップS207の間で逆適応色変換部64(図3)によるIACT処理が行われる。そして、復号処理では、上述した第1乃至第3のコンセプトに従ってACT処理およびIACT処理の適用に関する制御が行われる。
【0225】
<コンピュータの構成例>
次に、上述した一連の処理(画像処理方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0226】
図12は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0227】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク1005やROM1003に予め記録しておくことができる。
【0228】
あるいはまた、プログラムは、ドライブ1009によって駆動されるリムーバブル記録媒体1011に格納(記録)しておくことができる。このようなリムーバブル記録媒体1011は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体1011としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0229】
なお、プログラムは、上述したようなリムーバブル記録媒体1011からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク1005にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0230】
コンピュータは、CPU(Central Processing Unit)1002を内蔵しており、CPU1002には、バス1001を介して、入出力インタフェース1010が接続されている。
【0231】
CPU1002は、入出力インタフェース1010を介して、ユーザによって、入力部1007が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)1003に格納されているプログラムを実行する。あるいは、CPU1002は、ハードディスク1005に格納されたプログラムを、RAM(Random Access Memory)1004にロードして実行する。
【0232】
これにより、CPU1002は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU1002は、その処理結果を、必要に応じて、例えば、入出力インタフェース1010を介して、出力部1006から出力、あるいは、通信部1008から送信、さらには、ハードディスク1005に記録等させる。
【0233】
なお、入力部1007は、キーボードや、マウス、マイク等で構成される。また、出力部1006は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0234】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0235】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0236】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0237】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0238】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0239】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0240】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0241】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0242】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0243】
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
符号化の対象となっている画像の色空間を適応的に変換する適応色変換処理を、前記画像の残差信号に対して施す適応色変換部と、
前記画像の残差信号に対して、または、前記適応色変換処理が施された前記画像の残差信号に対して、処理単位となる直交変換ブロックごとに直交変換処理を施す直交変換部と、
前記適応色変換処理の適用に関する制御を行う制御部と
を備える画像処理装置。
(2)
前記直交変換ブロックの最大のブロックサイズとして、第1のブロックサイズと、その第1のブロックサイズよりも大きな第2のブロックサイズとが規定されており、
前記制御部は、前記直交変換ブロックの最大のブロックサイズとして前記第1のブロックサイズを用いる場合に、前記適応色変換処理を適用するように前記適応色変換部に対する制御を行う
上記(1)に記載の画像処理装置。
(3)
前記第1のブロックサイズは32であり、前記第2のブロックサイズは64であって、
前記制御部は、前記直交変換ブロックの最大のブロックサイズとして32を用いる場合に制限して、前記適応色変換処理を適用させる
上記(2)に記載の画像処理装置。
(4)
前記制御部は、ハイレベルシンタックスのパラメータセットに含まれるsps_max_luma_transform_size_64_flagが0である場合に、前記適応色変換処理を適用することを示すsps_act_enabled_flagを復号側に送信する
上記(3)に記載の画像処理装置。
(5)
前記制御部は、前記画像を符号化する際の符号化ブロックに対して所定の制限が設けられている場合に、前記適応色変換処理を適用するように前記適応色変換部に対する制御を行う
上記(1)から(4)までのいずれかに記載の画像処理装置。
(6)
前記制御部は、前記画像を符号化する際の処理単位となる符号化ブロックのブロックサイズが所定サイズ以下に制限されている場合に、前記適応色変換処理を適用させる
上記(5)に記載の画像処理装置。
(7)
前記制御部は、前記符号化ブロックのブロックサイズが16×16以下に制限されている場合に、前記適応色変換処理を適用させる
上記(6)に記載の画像処理装置。
(8)
前記制御部は、前記画像を符号化する際の処理単位となる符号化ブロックのブロックサイズが所定サイズより大きい場合、前記符号化ブロックを分割して小さなブロックサイズとした前記直交変換ブロックを用いて前記直交変換処理を施すように前記直交変換部に対する制御を行い、前記適応色変換処理を適用するように前記適応色変換部に対する制御を行う
上記(1)から(7)までのいずれかに記載の画像処理装置。
(9)
前記制御部は、前記符号化ブロックのブロックサイズが64×64である場合、前記直交変換ブロックを32×32として前記直交変換処理を行わせ、前記適応色変換処理を適用させる
上記(8)に記載の画像処理装置。
(10)
前記直交変換処理が施されることにより得られた変換係数に対して、前記直交変換ブロックごとに逆直交変換処理を施すことにより前記残差信号を取得する逆直交変換部と、
前記逆直交変換部により取得された前記残差信号に対して、画像の色空間を適応的に逆変換する逆適応色変換処理を施す逆適応色変換部と
をさらに備え、
前記制御部は、前記適応色変換処理に対応させて前記逆適応色変換処理の適用に関する制御を行う
上記(1)から(9)までのいずれかに記載の画像処理装置。
(11)
符号化の対象となっている画像の色空間を適応的に変換する適応色変換処理を、前記画像の残差信号に対して施すことと、
前記画像の残差信号に対して、または、前記適応色変換処理が施された前記画像の残差信号に対して、処理単位となる直交変換ブロックごとに直交変換処理を施すことと、
前記適応色変換処理の適用に関する制御を行うことと
を含む画像処理方法。
(12)
復号の対象となっている画像の残差信号に対して符号化側で直交変換処理が施された変換係数に対して、処理単位となる直交変換ブロックごとに逆直交変換処理を施すことにより前記残差信号を取得する逆直交変換部と、
前記残差信号に対して、画像の色空間を適応的に逆変換する逆適応色変換処理を施す逆適応色変換部と、
前記逆適応色変換処理の適用に関する制御を行う制御部と
を備える画像処理装置。
(13)
復号の対象となっている画像の残差信号に対して符号化側で直交変換処理が施された変換係数に対して、処理単位となる直交変換ブロックごとに逆直交変換処理を施すことにより前記残差信号を取得することと、
前記残差信号に対して、画像の色空間を適応的に逆変換する逆適応色変換処理を施すことと、
前記逆適応色変換処理の適用に関する制御を行うことと
を含む画像処理方法。
【0244】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0245】
11 画像処理システム, 12 画像符号化装置, 13 画像復号装置, 21 予測部, 22 符号化部, 23 記憶部, 24 制御部, 31 予測部, 32 復号部, 33 記憶部, 34 制御部, 41 演算部, 42 適応色変換部, 43 直交変換部, 44 量子化部, 45 逆量子化部, 46 逆直交変換部, 47 逆適応色変換部, 48 演算部, 49 予測部, 50 符号化部, 61 復号部, 62 逆量子化部, 63 逆直交変換部, 64 逆適応色変換部, 65 演算部, 66 予測部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12