(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025036622
(43)【公開日】2025-03-14
(54)【発明の名称】画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法
(51)【国際特許分類】
H04N 19/169 20140101AFI20250306BHJP
H04N 19/70 20140101ALI20250306BHJP
H04N 19/58 20140101ALI20250306BHJP
【FI】
H04N19/169 200
H04N19/70
H04N19/58
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024229954
(22)【出願日】2024-12-26
(62)【分割の表示】P 2021505136の分割
【原出願日】2020-03-12
(31)【優先権主張番号】62/817,197
(32)【優先日】2019-03-12
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】藤本 勇司
(57)【要約】
【課題】より実用性を高める。
【解決手段】アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納される。その参照画像情報は、アクセスユニットの区切りを示すAUD NALユニット、または、AUD NALユニットとは別に設けられるNEW NALユニットに格納され、アクセスユニット内の全てのTile group NALユニットに対して適用される。本技術は、例えば、画像復号装置および画像符号化装置に適用できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を復号する復号部
を備え、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、
前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される
画像復号装置。
【請求項2】
前記参照画像情報は、前記参照画像をlong term reference pictureとするか否かを示すlong term情報を含む
請求項1に記載の画像復号装置。
【請求項3】
前記long term情報は、前記ビットストリームの受信側であるクライアントからの情報に基づいて決定される前記参照画像を特定する情報である
請求項2に記載の画像復号装置。
【請求項4】
前記クライアントからの情報は、フレームごとに更新される
請求項3に記載の画像復号装置。
【請求項5】
画像復号処理を行う画像復号装置が、
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を復号すること
を含み、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、
前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される
画像復号方法。
【請求項6】
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化する符号化部
を備え、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、
前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される
画像符号化装置。
【請求項7】
前記参照画像情報は、前記参照画像をlong term reference pictureとするか否かを示すlong term情報を含む
請求項6に記載の画像符号化装置。
【請求項8】
前記long term情報は、前記ビットストリームの受信側であるクライアントからの情報に基づいて決定される前記参照画像を特定する情報である
請求項7に記載の画像符号化装置。
【請求項9】
前記クライアントからの情報は、フレームごとに更新される
請求項8に記載の画像符号化装置。
【請求項10】
画像符号化処理を行う画像符号化装置が、
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化すること
を含み、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、
前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される
画像符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法に関し、特に、より実用性を高めることができるようにした画像復号装置、画像復号方法、画像符号化装置、および画像符号化方法に関する。
【背景技術】
【0002】
画像符号化方式の標準仕様の1つであるH.264/AVCでは、各画像(ピクチャ)は、1つ以上のスライスに分割される。そして各スライスは、Iスライス(Intra Slice)、Pスライス(Predictive Slice)及びBスライス(Bi-predictive Slice)のいずれかに分類される。Iスライスは、他の画像を参照することなく独立して復号されるスライスである。Pスライスは、単一の他の画像を参照することにより復号されるスライスである。Bスライスは、複数の他の画像を参照することにより復号されるスライスである。
【0003】
Iスライスのみからなる、シーケンスの先頭のピクチャは、IDR(Instantaneous Decoding Refresh)ピクチャと呼ばれる。IDRピクチャは、NAL(Network Abstraction Layer)ユニットタイプの値によって識別される。IDRピクチャに後続する同一シーケンス内のピクチャは、復号順(decoding order)でIDRピクチャよりも前のピクチャを参照せず、表示順(presentation order)でIDRピクチャよりも後にのみ位置する。従って、ある符号化ストリームの映像の途中の時点にランダムアクセス(ストリームの先頭からの復号ではなく途中からの復号/再生)しようとする場合、指定される時点の近傍のIDRピクチャから、映像を適切に復号することができる。
【0004】
H.264/AVCに続く次世代の画像符号化方式であるHEVC(High Efficiency Video Coding)の標準化作業では、IDRピクチャとは別に、CRA(Clean Random Access)ピクチャをNALユニットタイプの値によって識別することが提案されている。CRAピクチャは、シーケンスの途中のIスライスのみからなるピクチャである。CRAピクチャに復号順及び表示順の双方で後続するピクチャは、復号順でCRAピクチャに先行するピクチャ及び表示順でCRAピクチャに先行するピクチャの双方を参照しない。従って、映像の途中の時点のCRAピクチャへのランダムアクセス(CRAピクチャからの映像の復号)を行う場合、CRAピクチャに表示順で後続するピクチャの復号処理を破綻なく行うことができる。
【0005】
ここで、非特許文献1には、Multi-Tile画像の各Tile group画像毎の参照画像を特定するために、Tile groupのHeaderに参照画像情報を格納する規格が開示されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】14496-15:2014, JVET-M1001
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上述の非特許文献1で開示されているように、従来、全てのTile groupの参照画像情報は一致しなければならないので、それぞれのTile group毎に参照画像を指定することは冗長となっていた。また、従来、Long Term Referenceとしての参照画像を更新したい場合に、Long Term Referenceのみを変更することができなかった。このため、従来の規格を拡張して、より実用性を高めること求められていた。
【0008】
本開示は、このような状況に鑑みてなされたものであり、より実用性を高めることができるようにするものである。
【課題を解決するための手段】
【0009】
本開示の第1の側面の画像復号装置は、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を復号する復号部を備え、前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、前記参照画像情報は、前記アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される。
【0010】
本開示の第1の側面の画像復号方法は、画像復号処理を行う画像復号装置が、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を復号することを含み、前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、前記参照画像情報は、前記アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される。
【0011】
本開示の第1の側面においては、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像が復号され、アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納されている。そして、参照画像情報は、アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、アクセスユニット内の全てのTile group NALユニットに対して適用され、識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される。
【0012】
本開示の第2の側面の画像符号化装置は、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化する符号化部を備え、前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、前記参照画像情報は、前記アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される。
【0013】
本開示の第2の側面の画像符号化方法は、画像符号化処理を行う画像符号化装置が、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化することを含み、前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納され、前記参照画像情報は、前記アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用され、前記識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される
【0014】
本開示の第2の側面においては、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化することを含み、アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納される。そして、参照画像情報は、アクセスユニットの区切りを示すAUD NALユニットとは別に設けられる識別用のNALユニットに格納されており、アクセスユニット内の全てのTile group NALユニットに対して適用され、識別用のNALユニットは、Long Termのみ独立して設定変更が可能となるように構成される。
【図面の簡単な説明】
【0015】
【
図2】本技術を適用した画像符号化装置の一実施の形態の構成例を示すブロック図である。
【
図3】本技術を適用した画像復号装置の一実施の形態の構成例を示すブロック図である。
【
図4】第1の形態の第1のバリエーションにおけるビットストリームの構成例を示す図である。
【
図5】第1の形態の第1のバリエーションでのAUD NALユニットのシンタックスの記述例を示す図である。
【
図6】画像符号化処理のNAL生成処理を説明するフローチャートである。
【
図7】AUD符号化処理を説明するフローチャートである。
【
図8】Tile group符号化処理を説明するフローチャートである。
【
図9】画像復号処理におけるNAL生成処理を説明するフローチャートである。
【
図10】AUD復号処理を説明するフローチャートである。
【
図11】Tile group復号処理を説明するフローチャートである。
【
図12】第1の形態の第2のバリエーションにおけるビットストリームの構成例を示す図である。
【
図13】第1の形態の第2のバリエーションでのNEW NALユニットのシンタックスが記述例を示す図である。
【
図14】画像符号化処理におけるNAL生成処理を説明するフローチャートである。
【
図15】NEW符号化処理を説明するフローチャートである。
【
図16】画像復号処理におけるNAL生成処理を説明するフローチャートである。
【
図17】NEW復号処理を説明するフローチャートである。
【
図18】Long Term Referenceを用いた狭帯域での画質復帰手法を説明する図である。
【
図19】第2の形態の第1のバリエーションにおけるビットストリームの構成例を示す図である。
【
図20】第2の形態の第1のバリエーションでのSPS NALおよびAUD NALのシンタックスの記述例を示す図である。
【
図21】第2の形態の第2のバリエーションにおけるビットストリームの構成例を示す図である。
【
図22】第2の形態の第2のバリエーションでのSPS NALおよびNEW NALのシンタックスの記述例を示す図である。
【
図23】画像符号化処理の参照フレームリスト指定・設定処理を説明するフローチャートである。
【
図24】Long Term参照フレーム情報の変更処理を説明するフローチャートである。
【
図25】画像復号処理の参照フレームリスト指定・設定処理を説明するフローチャートである。
【
図26】Long Term参照フレーム情報の変更処理を説明するフローチャートである。
【
図27】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
<技術内容・技術用語をサポートする文献等>
本明細書で開示される範囲は、実施例の内容に限定されるものではなく、出願当時において公知となっている
図1に示す参照文献REF1~REF6の内容も、参照により本明細書に組み込まれる。
【0017】
つまり、
図1に示す参照文献REF1~REF6に記載されている内容もサポート要件について判断する際の根拠となる。例えば、参照文献REF4に記載されているNAL unit structure、参照文献REF5に記載されているByte stream Formatが発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。また、例えば、パース(Parsing)、シンタックス(Syntax)、セマンティクス(Semantics)等の技術用語についても同様に、発明の詳細な説明において直接的に定義されていない場合でも、本開示の範囲内であり、請求の範囲のサポート要件を満たすものとする。
【0018】
<用語>
本願では、以下の用語を、以下のように定義する。
【0019】
<ブロック>
画像(ピクチャ)の部分領域や処理単位として説明に用いる「ブロック」(処理部を示すブロックではない)は、特に言及しない限り、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。例えば、「ブロック」には、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)、変換ブロック、サブブロック、マクロブロック、タイル、またはスライス等、任意の部分領域(処理単位)が含まれるものとする。
【0020】
<ブロックサイズの指定>
また、このようなブロックのサイズを指定するに当たって、直接的にブロックサイズを指定するだけでなく、間接的にブロックサイズを指定するようにしてもよい。例えばサイズを識別する識別情報を用いてブロックサイズを指定するようにしてもよい。また、例えば、基準となるブロック(例えばLCUやSCU等)のサイズとの比または差分によってブロックサイズを指定するようにしてもよい。例えば、シンタックス要素等としてブロックサイズを指定する情報を伝送する場合に、その情報として、上述のような間接的にサイズを指定する情報を用いるようにしてもよい。このようにすることにより、その情報の情報量を低減させることができ、符号化効率を向上させることができる場合もある。また、このブロックサイズの指定には、ブロックサイズの範囲の指定(例えば、許容されるブロックサイズの範囲の指定等)も含む。
【0021】
<情報・処理の単位>
各種情報が設定されるデータ単位や、各種処理が対象とするデータ単位は、それぞれ任意であり上述した例に限定されない。例えば、これらの情報や処理が、それぞれ、TU(Transform Unit)、TB(Transform Block)、PU(Prediction Unit)、PB(Prediction Block)、CU(Coding Unit)、LCU(Largest Coding Unit)、サブブロック、ブロック、タイル、スライス、ピクチャ、シーケンス、またはコンポーネント毎に設定されるようにしてもよいし、それらのデータ単位のデータを対象とするようにしてもよい。もちろん、このデータ単位は、情報や処理毎に設定され得るものであり、全ての情報や処理のデータ単位が統一されている必要はない。なお、これらの情報の格納場所は任意であり、上述したデータ単位のヘッダやパラメータセット等に格納されるようにしてもよい。また、複数個所に格納されるようにしてもよい。
【0022】
<制御情報>
本技術に関する制御情報を符号化側から復号側に伝送するようにしてもよい。例えば、上述した本技術を適用することを許可(または禁止)するか否かを制御する制御情報(例えばenabled_flag)を伝送するようにしてもよい。また、例えば、上述した本技術を適用する対象(または適用しない対象)を示す制御情報を伝送するようにしてもよい。例えば、本技術を適用する(または、適用を許可若しくは禁止する)ブロックサイズ(上限若しくは下限、またはその両方)、フレーム、コンポーネント、またはレイヤ等を指定する制御情報を伝送するようにしてもよい。
【0023】
<フラグ>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
【0024】
<メタデータを関連付ける>
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連づけられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【0025】
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。また、本明細書において、符号化とは、画像をビットストリームに変換する全体の処理だけではなく、一部の処理も含む。例えば、予測処理、直交変換、量子化、算術符号化等を包括した処理を含むだけではなく、量子化と算術符号化とを総称した処理、予測処理と量子化と算術符号化とを包括した処理、などを含む。同様に、復号とは、ビットストリームを画像に変換する全体の処理だけではなく、一部の処理も含む。例えば、逆算術復号、逆量子化、逆直交変換、予測処理等を包括した処理を含むだけではなく、逆算術復号と逆量子化とを包括した処理、逆算術復号と逆量子化と予測処理とを包括した処理、などを含む。
【0026】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0027】
<画像符号化装置および画像復号装置>
図2および
図3を参照して、本技術を適用した画像符号化装置および画像復号装置について説明する。
【0028】
図2に示すように、画像符号化装置10は、符号化部11、判定部12、VCLバッファ13、非VCLバッファ14、ファイル生成部15、および制御部16を備えて構成される。
【0029】
符号化部11は、HEVC方式に従って動作するエンコーダである。符号化部11は、画像符号化装置10に接続されるカメラ又はテレビジョンチューナなどの動画ソースから、符号化すべき画像シーケンスを取得する。そして、符号化部11は、取得した画像シーケンス内の各画像についてイントラ予測、フレーム間予測、直交変換、量子化及び可逆符号化などの様々な処理を実行することにより、符号化ビットストリームを生成する。画像の実体に相当するスライスデータは、VCL(Video Coding Layer) NALユニットとして生成される。
【0030】
一方、SPS(Sequence Parameter Set)、PPS(Picture Parameter Set)及びAPS(Adaptation Parameter Set)などのパラメータセットは、非VCL NALユニットとして生成され得る。符号化部11は、VCL NALユニット、即ちスライスデータのビットストリームを、VCLバッファ13を介してファイル生成部15へ出力する。また、符号化部11は、パラメータセットを、非VCLバッファ14を介してファイル生成部15へ出力する。
【0031】
判定部12は、符号化部11により符号化される画像シーケンス内の各画像のタイプを判定する。より具体的には、本実施形態において、判定部12は、各画像がIDRピクチャ、CRAピクチャ及びそれ以外のピクチャのいずれであるかを少なくとも判定する。IDRピクチャ及びCRAピクチャの双方とも、Iスライスのみからなるピクチャである。
【0032】
上述したように、IDRピクチャは、シーケンスの先頭のピクチャである。IDRピクチャに後続する同一シーケンス内のピクチャは、符号化順(復号順)でIDRピクチャよりも前のピクチャを参照せず、且つ表示順でIDRピクチャよりも後にのみ位置する。CRAピクチャは、シーケンスの途中に位置し、デコーダ側でのランダムアクセスの際に復号開始ピクチャとして使用可能なピクチャである。CRAピクチャに符号化順(復号順)及び表示順の双方で後続するピクチャは、符号化順(復号順)でCRAピクチャに先行するピクチャ及び表示順でCRAピクチャに先行するピクチャの双方を参照しない。判定部12は、判定の結果を、符号化部11及びファイル生成部15へ出力する。符号化部11は、判定部12により判定された各画像のタイプを示すNALユニットタイプを、各NALユニットのNALヘッダに付与する。
【0033】
ところで、CRAピクチャへのランダムアクセスが行われる場合、ランダムアクセス先のCRAピクチャ及び当該CRAピクチャに復号順で後続するピクチャのみが、復号の対象となる。但し、復号順でCRAピクチャに後続し、表示順でCRAピクチャに先行するピクチャも存在し得る。本明細書では、そのようなピクチャを先行ピクチャという。CRAピクチャの定義から理解されるように、復号順でCRAピクチャに先行するピクチャを先行ピクチャが参照することは、許容される。
【0034】
CRAピクチャへのランダムアクセスが行われると、復号順でCRAピクチャに先行するピクチャを参照する先行ピクチャは、正常に復号されない。なぜなら、当該先行ピクチャの参照ピクチャは復号されていないためである。即ち、ランダムアクセスが行われる場合に、復号の対象となる先行ピクチャが正常に復号可能か否かは、先行ピクチャの参照関係に依存する。そこで、判定部12は、各CRAピクチャへのランダムアクセスが行われた場合に正常に復号されない先行ピクチャをさらに判定し、その判定結果をファイル生成部15へ提供してもよい。
【0035】
VCLバッファ13は、VCL NALユニットをバッファリングする。CRAピクチャのスライスデータは、VCLバッファ13によりバッファリングされる。
【0036】
非VCLバッファ14は、非VCL NALユニットをバッファリングする。
【0037】
ファイル生成部15は、ヘッダ領域及びデータ領域を含むファイルフォーマットに従って、符号化された一連の画像データを格納する動画ファイルを生成し、記憶部20に出力する。本明細書では、ファイルフォーマットとしてMP4フォーマットが利用される例を主に説明する。しかしながら、本開示に係る技術は、かかる例に限定されず、ヘッダ領域とデータ領域とを有するその他の種類の動画ファイルフォーマットに適用可能である。
【0038】
MP4フォーマットでは、データは、ボックスと呼ばれるオブジェクトに格納され、オブジェクト単位で記録される。1つのファイル内でボックスはツリー構造を形成し、親ボックスは子ボックスを含む。各ボックスの種類は、アルファベット4文字の識別子によって識別される。
【0039】
より具体的には、ファイル生成部15は、動画ファイルのデータ領域(例えば、mdatボックス)に、VCL NALユニットに相当するスライスデータのビットストリームを、復号順で挿入する。また、ファイル生成部15は、動画ファイルのヘッダ領域(例えば、moovボックス)に、非VCL NALユニットに相当する1つ以上のパラメータセットを挿入する。さらに、本実施形態において、ファイル生成部15は、動画ファイルのヘッダ領域に、判定部12により判定された1つ以上のCRAピクチャを識別するCRA情報を挿入する。さらに、ファイル生成部15は、各CRAピクチャへのランダムアクセスが行われた場合に正常に復号されない先行ピクチャを識別するための先行ピクチャ情報をCRA情報に含めてもよい。
【0040】
制御部16は、画像符号化装置10において実行される符号化処理を制御する。例えば、制御部16は、符号化開始の指示が検出されると、指定された画像シーケンスを符号化部11に符号化させる。また、制御部16は、符号化部11により符号化された画像データを格納する動画ファイルをファイル生成部15に生成させる。制御部16は、HRD(Hypothetical Reference Decoder;仮想参照デコーダ)と呼ばれる仮想的なデコーダのモデルを用いて、デコーダのバッファを破綻させないように、符号化ストリームの生成を制御してもよい。
【0041】
図3に示すように、画像復号装置30は、VCLバッファ31、非VCLバッファ32、パラメータメモリ33、復号部34、出力バッファ35、および制御部37を備えて構成される。
【0042】
VCLバッファ31は、記憶部20に記憶されている動画ファイルのデータ領域(例えば、mdatボックス)から読み込まれる画像データ(典型的には、スライスデータ)のビットストリームをバッファリングする。
【0043】
非VCLバッファ32は、記憶部20に記憶されている動画ファイルのヘッダ領域(例えば、moovボックス)から読み込まれるSPS、PPS及びAPSなどのパラメータセット、並びにCRA情報などのヘッダ情報をバッファリングする。
【0044】
パラメータメモリ33は、非VCLバッファ32を介して取得されるファイルのヘッダ領域内の情報を一括的に記憶する。上述した様々な形式で動画ファイルのヘッダ領域に記録され得るCRA情報は、動画ファイルが開かれている間、パラメータメモリ33により保持される。
【0045】
復号部34は、HEVC方式に従って動作するデコーダである。復号部34は、VCLバッファ31を介して動画ファイルのデータ領域から取得されるビットストリームから、画像シーケンスを復号する。復号部34は、画像を復号する際に、パラメータメモリ33により記憶されるパラメータセット内のパラメータを使用する。復号部34は、復号した画像シーケンス内の画像を表示順に並び替え、並び替え後の画像を出力バッファ35へ出力する。
【0046】
復号部34は、通常は、動画ファイル内の動画トラックに復号順で格納されているスライスデータに、その先頭から順にアクセスする。しかし、復号部34は、制御部37によりランダムアクセスの指示が検出されると、制御部37により特定される(動画トラックの途中の)復号開始ピクチャへランダムアクセスし、当該復号開始ピクチャから画像シーケンスを復号する。復号開始ピクチャは、動画トラック内のIDRピクチャ及びCRAピクチャのうちの1つである。
【0047】
出力バッファ35は、復号部34により復号された画像をバッファリングするための復号ピクチャバッファ(DPB;Decoded Picture Buffer)である。出力バッファ35によりバッファリングされた画像は、当該画像の出力タイミングにおいて、図示しないディスプレイ又はプロセッサへ出力される。
【0048】
制御部37は、画像復号装置30において実行される画像復号処理を制御する。例えば、制御部37は、ユーザからの指示に応じて記憶部20に記憶されている動画ファイルを開き、復号部34に画像シーケンスの復号を開始させる。また、制御部37は、ランダムアクセスの指示が検出された場合に、CRA情報を用いて、画像シーケンス内のいずれかのCRAピクチャを復号開始ピクチャとして特定する。そして、制御部37は、特定した復号開始ピクチャから(即ち、動画トラックの途中から)復号部34に画像シーケンスを復号させる。
【0049】
制御部37は、典型的には、ランダムアクセスの指示において指定されるタイミング(例えば、動画再生ウィンドウのシークバーの操作されたポインタが指し示すタイミング)の最も近傍に位置するCRAピクチャを、復号開始ピクチャとして特定する。
【0050】
制御部37は、CRA情報が上述した先行ピクチャ情報を含む場合に、先行ピクチャ情報を用いて識別される正常に復号されない先行ピクチャの出力バッファ35からの出力(及び復号部34による復号)をスキップさせてもよい。先行ピクチャ情報を用いることにより、破損した画像がディスプレイに表示され又は外部のプロセッサへ出力されることを回避することができる。その際、制御部37は、各画像が正常に復号されたか否かを事後的に判定しなくてよい。
【0051】
また、制御部37は、コマンドを画像符号化装置10の制御部16に送信することができる。
【0052】
<ビットストリームの第1の形態>
図4乃至
図11を参照して、ビットストリームの第1の形態の第1のバリエーションについて説明する。
【0053】
図4に示すように、ビットストリームは、複数のアクセスユニット(AU:Access Unit)により構成され、それぞれ1フレームに対応するアクセスユニットには、少なくとも1つ以上のNALユニットが配置される。また、NALユニットには複数の種類があり、例えば、AUD(Access Unit Delimiter) NALユニットや、SPS(Sequence Parameter Set) NALユニット、PPS(Picture Parameter Set) NALユニット、Tile group NALユニットなどがある。
【0054】
AUD NALユニットは、アクセスユニットの区切りを示し、一般的には、各アクセスユニットの先頭に必ず1つだけ配置される。なお、現状のAUDには、アクセスユニット内の全てのTile group NALの属性を示すシンタックスが既に存在している。
【0055】
SPS NALユニットには、ビットストリームの再生に必要なシーケンスパラメータが格納される。PPS NALユニットには、ピクチャの再生に必要なシーケンスパラメータが格納さる。Tile group NALユニットには、タイルグループごとの画像が格納される。
【0056】
そして、ビットストリームの構成には、図示するような3つのケースが想定される。
【0057】
例えば、第1のケースでは、全てのアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第1のケースでは、個々のアクセスユニットにSPS NALユニットおよびPPS NALユニットが付与されている。
【0058】
また、第2のケースでは、先頭のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。そして、2つ目以降のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にPPS NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第2のケースでは、先頭のアクセスユニットにSPS NALユニットが付与されるとともに、個々のアクセスユニットにPPS NALユニットが付与されている。
【0059】
また、第3のケースでは、先頭のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。そして、2つ目以降のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第3のケースでは、先頭のアクセスユニットにのみ、SPS NALユニットおよびPPS NALユニットが付与されている。
【0060】
そして、ビットストリームの第1の形態の第1のバリエーションでは、第1乃至第3のケースのいずれにおいても、カレントピクチャが参照する参照画像を示す参照画像情報が、AUD NALユニット内に配置される点で、従来の構成から変更されている。例えば、この参照画像情報によって、tile_group_header内にあるref_pic_list_idxの指定を行ったり、新たなref_pic_list_structの設定を行ったりすることができる。このように、アクセスユニットのヘッダ領域にあるAUD NALユニットに参照画像情報を配置して、その参照画像情報をアクセスユニット内の全てのTile group NALユニットに対して適用することで、Tile group毎に参照画像を指定するときと比べて冗長となることを回避することができる。
【0061】
具体的には、
図5に示すように、ビットストリームの第1の形態の第1のバリエーションでは、AUD NALのシンタックスが記述される。図示するように、AUD NALのシンタックスでは、pic_typeのsyntaxが拡張され、ref_pic_list_idxの指定、および、新たなref_pic_list_structの設定を行うことができる。
【0062】
図6に示すフローチャートを参照して、画像符号化装置10が実行する画像符号化処理におけるNAL生成処理の一例について説明する。
【0063】
例えば、画像シーケンスが画像符号化装置10に供給されるとNAL生成処理が開始され、ステップS11において、符号化部11は、画像シーケンスから生成すべきNALユニットがあるか否かを判定する。
【0064】
ステップS11において、符号化部11が、画像シーケンスから生成すべきNALユニットがあると判定した場合、処理はステップS12に進む。
【0065】
ステップS12において、符号化部11は、画像シーケンスから生成すべきNALユニットがAUD NALユニットであるか否かを判定する。
【0066】
ステップS12において、符号化部11が、画像シーケンスから生成すべきNALユニットがAUD NALユニットであると判定した場合、処理はステップS13に進む。そして、ステップS13において、符号化部11は、AUD符号化処理を行って、参照画像情報を含むAUD NALユニットを生成し、非VCLバッファ14を介してファイル生成部15に供給した後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS12において、符号化部11が、画像シーケンスから生成すべきNALユニットがAUD NALユニットでないと判定した場合、処理はステップS14に進む。
【0067】
ステップS14において、符号化部11は、画像シーケンスから生成すべきNALユニットがSPS NALユニットであるか否かを判定する。
【0068】
ステップS14において、符号化部11が、画像シーケンスから生成すべきNALユニットがSPS NALユニットであると判定した場合、処理はステップS15に進む。そして、ステップS15において、符号化部11は、SPS符号化処理を行ってSPS NALユニットを生成し、非VCLバッファ14を介してファイル生成部15に供給した後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS14において、符号化部11が、画像シーケンスから生成すべきNALユニットがSPS NALユニットでないと判定した場合、処理はステップS16に進む。
【0069】
ステップS16において、符号化部11は、画像シーケンスから生成すべきNALユニットがPPS NALユニットであるか否かを判定する。
【0070】
ステップS16において、符号化部11が、画像シーケンスから生成すべきNALユニットがPPS NALユニットであると判定した場合、処理はステップS17に進む。そして、ステップS17において、符号化部11は、PPS符号化処理を行ってPPS NALユニットを生成し、非VCLバッファ14を介してファイル生成部15に供給した後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS16において、符号化部11が、画像シーケンスから生成すべきNALユニットがPPS NALユニットでないと判定した場合、処理はステップS18に進む。
【0071】
ステップS18において、符号化部11は、画像シーケンスから生成すべきNALユニットがTile group NALユニットであるか否かを判定する。
【0072】
ステップS18において、符号化部11が、画像シーケンスから生成すべきNALユニットがTile group NALユニットであると判定した場合、処理はステップS19に進む。そして、ステップS19において、符号化部11は、Tile group符号化処理を行ってTile group NALユニットを生成し、VCLバッファ13を介してファイル生成部15に供給した後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS18において、符号化部11が、画像シーケンスから生成すべきNALユニットがTile group NALユニットでないと判定した場合、処理はステップS20に進む。
【0073】
ステップS20において、符号化部11は、上述したいずれかのNALユニット以外の他のNALユニットを符号化する符号化処理を行った後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。
【0074】
一方、ステップS11において、符号化部11が、画像シーケンスから生成すべきNALユニットがないと判定した場合、NAL生成処理は終了される。
【0075】
図7は、
図6のステップS13において行われるAUD符号化処理を説明するフローチャートである。
【0076】
ステップS31において、符号化部11は、参照画像情報によって参照フレームリストを指定および設定する処理を行い、例えば、tile_group_header内にあるref_pic_list_idxを指定したり、新たなref_pic_list_structを設定したりすることができる。
【0077】
ステップS32において、符号化部11は、フレーム(アクセスユニット)を区切るフレーム区切り処理を行うことによってAUD NALユニットを生成した後、AUD符号化処理は終了される。
【0078】
図8は、
図6のステップS19において行われるTile group符号化処理を説明するフローチャートである。
【0079】
ステップS41において、符号化部11は、参照フレームリストを指定および設定する処理以外の、ヘッダを符号化する処理を行う。
【0080】
ステップS42において、符号化部11は、ヘッダ以降を符号化する符号化処理を行った後、Tile group符号化処理は終了される。
【0081】
以上のようなNAL生成処理によって、画像符号化装置10は、参照画像情報が配置されたAUD NALユニットを生成し、上述の
図4を参照して説明したようなビットストリームからなる動画ファイルを生成すること、即ち、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化することができる。
【0082】
図9に示すフローチャートを参照して、画像復号装置30が実行する画像復号処理におけるNAL生成処理の一例について説明する。
【0083】
例えば、画像復号装置30が記憶部20に記憶されているビットストリームを読み出すと処理が開始され、ステップS51において、復号部34は、ビットストリームから復号すべきNALユニットがあるか否かを判定する。
【0084】
ステップS51において、復号部34が、ビットストリームから復号すべきNALユニットがあると判定した場合、処理はステップS52に進む。
【0085】
ステップS52において、復号部34は、ビットストリームから復号すべきNALユニットがAUD NALユニットであるか否かを判定する。
【0086】
ステップS52において、復号部34が、ビットストリームから復号すべきNALユニットがAUD NALユニットであると判定した場合、処理はステップS53に進む。そして、ステップS53において、復号部34は、AUD復号処理を行って、AUD NALユニットを復号することにより取得した参照画像情報をパラメータメモリ33に供給した後、処理はステップS51に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS52において、復号部34が、ビットストリームから復号すべきNALユニットがAUD NALユニットでないと判定した場合、処理はステップS54に進む。
【0087】
ステップS54において、復号部34は、ビットストリームから復号すべきNALユニットがSPS NALユニットであるか否かを判定する。
【0088】
ステップS54において、復号部34が、ビットストリームから復号すべきNALユニットがSPS NALユニットであると判定した場合、処理はステップS55に進む。そして、ステップS55において、復号部34は、SPS復号処理を行ってSPS NALユニットを復号することにより取得したパラメータをパラメータメモリ33に供給した後、処理はステップS51に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS54において、復号部34が、ビットストリームから復号すべきNALユニットがSPS NALユニットでないと判定した場合、処理はステップS56に進む。
【0089】
ステップS56において、復号部34は、ビットストリームから復号すべきNALユニットがPPS NALユニットであるか否かを判定する。
【0090】
ステップS56において、復号部34が、ビットストリームから復号すべきNALユニットがPPS NALユニットであると判定した場合、処理はステップS57に進む。そして、ステップS57において、復号部34は、PPS復号処理を行ってPPS NALユニットを復号することにより取得したパラメータをパラメータメモリ33に供給した後、処理はステップS51に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS56において、復号部34が、ビットストリームから復号すべきNALユニットがPPS NALユニットでないと判定した場合、処理はステップS58に進む。
【0091】
ステップS58において、復号部34は、ビットストリームから復号すべきNALユニットがTile group NALユニットであるか否かを判定する。
【0092】
ステップS58において、復号部34が、ビットストリームから復号すべきNALユニットがTile group NALユニットであると判定した場合、処理はステップS59に進む。そして、ステップS59において、復号部34は、Tile group復号処理を行ってTile group NALユニットを復号して得られる画像を出力バッファ35に供給した後、処理はステップS51に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS58において、復号部34が、ビットストリームから復号すべきNALユニットがTile group NALユニットでないと判定した場合、処理はステップS60に進む。
【0093】
ステップS60において、復号部34は、上述したいずれかのNALユニット以外の他のNALユニットを復号する復号処理を行った後、処理はステップS51に戻り、以下、同様の処理が繰り返して行われる。
【0094】
一方、ステップS51において、復号部34が、ビットストリームから復号すべきNALユニットがないと判定した場合、NAL生成処理は終了される。
【0095】
図10は、
図9のステップS53において行われるAUD復号処理を説明するフローチャートである。
【0096】
ステップS71において、復号部34は、AUD NALユニットからピクチャタイプを取得する。
【0097】
ステップS72において、復号部34は、AUD NALユニットから参照画像情報を取得して、参照画像情報に従って参照フレームリストを指定および設定する処理を行う。
【0098】
ステップS73において、復号部34は、フレーム(アクセスユニット)を区切るフレーム区切り処理を行うことによりAUD NALユニットを復号した後、AUD復号処理は終了される。
【0099】
図11は、
図9のステップS59において行われるTile group復号処理を説明するフローチャートである。
【0100】
ステップS81において、復号部34は、参照フレームリストを指定および設定する処理以外の、ヘッダを復号する処理を行う。
【0101】
ステップS82において、復号部34は、ヘッダ以降を復号する復号処理を行った後、Tile group復号処理は終了される。
【0102】
以上のように、画像復号装置30は、AUD NALユニットから取得した参照画像情報に従って画像を復号すること、即ち、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を復号することができる。
【0103】
図12乃至
図17を参照して、ビットストリームの第1の形態の第2のバリエーションについて説明する。
【0104】
図12に示すように、ビットストリームは、上述の
図4を参照して説明したのと同様に、複数のアクセスユニットにより構成され、それぞれのアクセスユニットには、少なくとも1つ以上のNALユニットが配置される。また、ビットストリームの第1の形態の第1のバリエーション(
図4参照)と同様に、ビットストリームの構成には、
図12に示すような3つのケースが想定される。
【0105】
そして、ビットストリームの第1の形態の第2のバリエーションでは、NALユニットとして、AUD NALユニット、SPS NALユニット、PPS NALユニット、およびTile group NALユニットの他に、NEW NALユニットが用いられる。
【0106】
例えば、第1のケースは、全てのアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、4番目にNEW NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第1のケースでは、個々のアクセスユニットにSPS NALユニットおよびPPS NALユニットが付与されており、さらにNEW NALユニットが付与されている。
【0107】
また、第2のケースは、先頭のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、4番目にNEW NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。そして、2つ目以降のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にPPS NALユニットが配置され、3番目にNEW NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第2のケースでは、先頭のアクセスユニットにSPS NALユニットが付与されるとともに、個々のアクセスユニットにPPS NALユニットが付与されており、さらにNEW NALユニットが付与されている。
【0108】
また、第3のケースは、先頭のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にSPS NALユニットが配置され、3番目にPPS NALユニットが配置され、4番目にNEW NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。そして、2つ目以降のアクセスユニットにおいて、1番目にAUD NALユニットが配置され、2番目にNEW NALユニットが配置され、それ以降には連続的に、Tile group NALユニットが配置される。即ち、第3のケースでは、先頭のアクセスユニットにのみ、SPS NALユニットおよびPPS NALユニットが付与されるとともに、個々のアクセスユニットにNEW NALユニットが付与されている。
【0109】
そして、ビットストリームの第1の形態の第2のバリエーションでは、第1乃至第3のケースのいずれにおいても、カレントピクチャが参照する参照画像を示す参照画像情報が、NEW NALユニット内に配置される点で、従来の構成から変更されている。例えば、この参照画像情報によって、tile_group_header内にあるref_pic_list_idxの指定を行ったり、新たなref_pic_list_structの設定を行ったりすることができる。このように、アクセスユニットのヘッダ領域にあるNEW NALユニット(識別用のNALユニット)に参照画像情報を配置して、その参照画像情報をアクセスユニット内の全てのTile group NALユニットに対して適用することで、Tile group毎に参照画像を指定するときと比べて冗長となることを回避することができる。
【0110】
具体的には、
図13に示すように、ビットストリームの第1の形態の第2のバリエーションでは、NEW NALユニットのシンタックスが記述される。図示するように、NEW NALのシンタックスでは、ref_pic_list_idxの指定、および、新たなref_pic_list_structの設定を行うことができる。
【0111】
図14に示すフローチャートを参照して、画像符号化装置10が実行する画像符号化処理において行われるNAL生成処理の一例について説明する。
【0112】
ステップS101乃至S107において、上述の
図6のフローチャートを参照して説明したステップS11乃至S17と同様の処理が行われる。そして、ステップS108において、符号化部11は、画像シーケンスから生成すべきNALユニットがNEW NALユニットであるか否かを判定する。
【0113】
ステップS108において、符号化部11が、画像シーケンスから生成すべきNALユニットがNEW NALユニットであると判定した場合、処理はステップS109に進む。そして、ステップS109において、符号化部11は、NEW符号化処理を行って、参照画像情報を含むNEW NALユニットを生成し、非VCLバッファ14を介してファイル生成部15に供給した後、処理はステップS101に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS108において、符号化部11が、画像シーケンスから生成すべきNALユニットがNEW NALユニットでないと判定した場合、処理はステップS110に進む。
【0114】
そして、ステップS110乃至112において、上述の
図6のフローチャートを参照して説明したステップS18乃至S20と同様の処理が行われた後、NAL生成処理は終了される。
【0115】
図15は、
図14のステップS109において行われるNEW符号化処理を説明するフローチャートである。
【0116】
ステップS121において、符号化部11は、参照画像情報によって参照フレームリストを指定および設定する処理を行い、例えば、tile_group_header内にあるref_pic_list_idxを指定したり、新たなref_pic_list_structを設定したりする。このようにして、符号化部11は、NEW NALユニットを生成した後、NEW符号化処理は終了される。
【0117】
なお、
図14のステップS111において行われるTile group符号化処理は、上述した
図8のフローチャートを参照して説明したTile group符号化処理と同様に行われる。
【0118】
以上のようなNAL生成処理によって、画像符号化装置10は、参照画像情報が配置されたNEW NALユニットを生成し、上述の
図12を参照して説明したようなビットストリームからなる動画ファイルを生成すること、即ち、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化することができる。
【0119】
図16に示すフローチャートを参照して、画像復号装置30が実行する画像復号処理におけるNAL生成処理の一例について説明する。
【0120】
ステップS131乃至S137において、上述の
図9のフローチャートを参照して説明したステップS51乃至S57と同様の処理が行われる。そして、ステップS138において、復号部34は、ビットストリームから復号すべきNALユニットがNEW NALユニットであるか否かを判定する。
【0121】
ステップS138において、復号部34が、ビットストリームから復号すべきNALユニットがNEW NALユニットであると判定した場合、処理はステップS139に進む。そして、ステップS139において、復号部34は、NEW復号処理を行って、NEW NALユニットを復号することにより取得した参照画像情報をパラメータメモリ33に供給した後、処理はステップS131に戻り、以下、同様の処理が繰り返して行われる。一方、ステップS138において、復号部34が、ビットストリームから復号すべきNALユニットがAUD NALユニットでないと判定した場合、処理はステップS140に進む。
【0122】
そして、ステップS140乃至142において、上述の
図9のフローチャートを参照して説明したステップS58乃至S60と同様の処理が行われた後、NAL生成処理は終了される。
【0123】
図17は、
図16のステップS139において行われるNEW復号処理を説明するフローチャートである。
【0124】
ステップS151において、復号部34は、NEW NALユニットから参照画像情報を取得して、参照画像情報に従って参照フレームリストを指定および設定する処理を行うことによりNEW NALユニットを復号した後、NEW復号処理は終了される。
【0125】
なお、
図16のステップS141において行われるTile group復号処理は、上述した
図11のフローチャートを参照して説明したTile group復号処理と同様に行われる。
【0126】
以上のように、画像復号装置30は、NEW NALユニットから取得した参照画像情報に従って画像を復号すること、即ち、少なくとも1つ以上のNALユニットが配置されるアクセスユニットからなるビットストリームの画像を復号することができる。
【0127】
<ビットストリームの第2の形態>
図18乃至
図26を参照して、ビットストリームの第2の形態について説明する。
【0128】
ビットストリームの第2の形態では、不定期的に設定することができるLong Term Referenceを動的に変更することができる。
【0129】
まず、
図18を参照して、Long Term Referenceを動的に変更する例として、Long Term Referenceを用いた狭帯域での画質復帰手法について説明する。
【0130】
例えば、図示するようなタイミングでパケットロスが発生した場合に、受信側である画像復号装置30は、パケットロスが発生したことを示すエラー発生情報を、送信側である画像符号化装置10に伝達する。そして、画像符号化装置10は、I-Pictureの再送を避けて、エラー発生情報を受信した後に符号化するフレームP’を、Long Term Reference Picture(LTRフレームPL)を参照して符号化する。
【0131】
一般的に、Long Term Reference Pictureは、動きが比較的に大きいときに不定期的に設定される(更新を行う)。例えば、Short Term Reference Pictureは、固定なGOP構造でエンコードするために、変更する必要がないのに対し、Long Term Reference Pictureは、ピクチャのエンコード時に変更するかどうかを決定することができる。
【0132】
このように、Long Term Referenceを動的に変更することで、画像復号装置30は、パケットロスが発生しても、LTRフレームPLを参照して符号化されたフレームP’を、LTRフレームPLを参照して復号することで、より低遅延で、パケットロスに伴う画質の低下から復帰することができる。
【0133】
このようなLong Term Referenceを用いた画質復帰手法を使用するユースケースとしては、例えば、伝送帯域が限られた低遅延またはインタラクティブなアプリケーションが想定される。具体的には、監視カメラや、ビデオチャット、ストリーミング・ゲームサービスなどにおいて使用することができる。
【0134】
図19および
図20を参照して、ビットストリームの第2の形態の第1のバリエーションについて説明する。
【0135】
図19に示すように、ビットストリームは、上述の
図4を参照して説明したのと同様に、複数のアクセスユニットにより構成され、それぞれのアクセスユニットには、少なくとも1つ以上のNALユニット(AUD NALユニット、SPS NALユニット、PPS NALユニット、およびTile group NALユニット)が配置される。また、ビットストリームの第1の形態の第1のバリエーション(
図4参照)と同様に、ビットストリームの構成には、
図19に示すような3つのケースが想定される。
【0136】
そして、ビットストリームの第2の形態の第1のバリエーションでは、第1乃至第3のケースのいずれにおいても、Long Termのみ独立して設定変更(modify poc_lsb_lt of ref_pic_list_struct(i, ref_pic_list_idx[i])ができるようにAUD NALユニットが拡張される。
【0137】
具体的には、
図20に示すように、ビットストリームの第2の形態の第1のバリエーションでは、SPS NALおよびAUD NALのシンタックスが記述される。
【0138】
例えば、SPS NALユニットにおいて定義済みのref_pic_list_structのlong termに対して、AUD NALユニットで変更できるようにする。
【0139】
図21および
図22を参照して、ビットストリームの第2の形態の第2のバリエーションについて説明する。
【0140】
図21に示すように、ビットストリームは、上述の
図4を参照して説明したのと同様に、複数のアクセスユニットにより構成され、それぞれのアクセスユニットには、少なくとも1つ以上のNALユニット(AUD NALユニット、SPS NALユニット、PPS NALユニット、Tile group NALユニット、およびNEW NALユニット)が配置される。また、ビットストリームの第1の形態の第2のバリエーション(
図12参照)と同様に、ビットストリームの構成には、
図21に示すような3つのケースが想定される。
【0141】
そして、ビットストリームの第2の形態の第2のバリエーションでは、第1乃至第3のケースのいずれにおいても、Long Termのみ独立して設定変更(modify poc_lsb_lt of ref_pic_list_struct(i, ref_pic_list_idx[i])ができるようにNEW NALユニットが拡張される。
【0142】
具体的には、
図22に示すように、ビットストリームの第2の形態の第2のバリエーションでは、SPS NALおよびNEW NALのシンタックスが記述される。
【0143】
例えば、SPS NALユニットにおいて定義済みのref_pic_list_structのlong termに対して、NEW NALユニットで変更できるようにする。
【0144】
図23に示すフローチャートを参照して、画像符号化装置10が実行する画像符号化処理において行われる参照フレームリスト指定・設定処理の一例について説明する。
【0145】
例えば、画像シーケンスが画像符号化装置10に供給されると参照フレームリスト設定処理が開始され、ステップS161において、符号化部11は、SPS NALユニットにおいて定義済みの参照フレームリストを指定するか否かを判定する。
【0146】
ステップS161において、SPS NALユニットにおいて定義済みの参照フレームリストを指定すると判定された場合、処理はステップS162に進み、符号化部11は、参照フレームリストのインデックスを取得する。
【0147】
ステップS163において、符号化部11は、ステップS162で取得した参照フレームリストのインデックスに従って、Long Term参照フレーム情報を変更するか否かを判定する。
【0148】
ステップS163において、符号化部11が、Long Term参照フレーム情報を変更すると判定した場合、処理はステップS164に進み、Long Term参照フレーム情報の変更処理(後述の
図24のフローチャート参照)が行われる。
【0149】
一方、ステップS163において、Long Term参照フレーム情報を変更しないと判定された場合、または、ステップS164のLong Term参照フレーム情報の変更処理が行われた後、参照フレームリスト設定処理は終了される。
【0150】
一方、ステップS161において、SPS NALユニットにおいて定義済みの参照フレームリストを指定しないと判定された場合、処理はステップS165に進む。ステップS165において、符号化部11が、参照フレームリストの符号化処理を行った後、参照フレームリスト指定・設定処理は終了される。
【0151】
図24は、
図23のステップS164において行われるLong Term参照フレーム情報の変更処理を説明するフローチャートである。
【0152】
ステップS171において、符号化部11は、
図23のステップS162で取得したインデックスの参照フレームリストのLong Term数kを取得し、パラメータiに0をセット(i=0)する。
【0153】
ステップS172において、符号化部11は、パラメータiがLong Term数k未満であるか否かを判定する。
【0154】
ステップS172において、符号化部11が、パラメータiがLong Term数k未満である(i<k)と判定した場合、処理はステップS173に進む。
【0155】
ステップS173において、符号化部11は、i番目のLong Term参照フレームの絶対位置を変更する。例えば、符号化部11は、画像復号装置30からのコマンド(参照画像を特定する情報)に基づいて、i番目のLong Term参照フレームの絶対位置を設定することができる。また、画像復号装置30は、フレームごとに参照画像を特定する情報を更新する。
【0156】
ステップS174において、符号化部11は、パラメータiをインクリメント(i=i+1)した後、処理はステップS172に戻る。
【0157】
一方、ステップS172において、符号化部11が、パラメータiがLong Term数k未満でない(i≧k)と判定した場合、Long Term参照フレーム情報の変更処理は終了される。
【0158】
以上のような参照フレームリスト指定・設定処理によって、画像符号化装置10は、Long Term参照フレーム情報を変更して、上述の
図19または
図21を参照して説明したようなビットストリームからなる動画ファイルを生成することができる。
【0159】
図25に示すフローチャートを参照して、画像復号装置30が実行する画像復号処理において行われる参照フレームリスト指定・設定処理の一例について説明する。
【0160】
例えば、画像復号装置30が記憶部20に記憶されているビットストリームを読み出すと処理が開始され、ステップS181において、復号部34は、SPS NALユニットにおいて定義済みの参照フレームリストを指定するか否かを判定する。
【0161】
ステップS181において、SPS NALユニットにおいて定義済みの参照フレームリストを指定すると判定された場合、処理はステップS182に進み、復号部34は、参照フレームリストのインデックスを取得する。
【0162】
ステップS183において、復号部34は、ステップS182で取得した参照フレームリストのインデックスに従って、Long Term参照フレーム情報を変更するか否かを判定する。
【0163】
ステップS183において、復号部34が、Long Term参照フレーム情報を変更すると判定した場合、処理はステップS184に進み、Long Term参照フレーム情報の変更処理(後述の
図26のフローチャート参照)が行われる。
【0164】
一方、ステップS183において、Long Term参照フレーム情報を変更しないと判定された場合、または、ステップS184のLong Term参照フレーム情報の変更処理が行われた後、参照フレームリスト設定処理は終了される。
【0165】
一方、ステップS181において、SPS NALユニットにおいて定義済みの参照フレームリストを指定しないと判定された場合、処理はステップS185に進む。ステップS185において、復号部34が、参照フレームリストの復号処理を行った後、参照フレームリスト指定・設定処理は終了される。
【0166】
図26は、
図25のステップS184において行われるLong Term参照フレーム情報の変更処理を説明するフローチャートである。
【0167】
ステップS191において、復号部34は、
図25のステップS182で取得したインデックスの参照フレームリストのLong Term数kを取得し、パラメータiに0をセット(i=0)する。
【0168】
ステップS192において、復号部34は、パラメータiがLong Term数k未満であるか否かを判定する。
【0169】
ステップS192において、復号部34が、パラメータiがLong Term数k未満である(i<k)と判定した場合、処理はステップS193に進む。
【0170】
ステップS193において、復号部34は、Long Term参照フレーム情報に従って、i番目のLong Term参照フレームの絶対位置を変更する。
【0171】
ステップS194において、復号部34は、パラメータiをインクリメント(i=i+1)した後、処理はステップS192に戻る。
【0172】
一方、ステップS192において、復号部34が、パラメータiがLong Term数k未満でない(i≧k)と判定した場合、Long Term参照フレーム情報の変更処理は終了される。
【0173】
以上のような参照フレームリスト指定・設定処理によって、画像復号装置30は、上述の
図19または
図21を参照して説明したようなビットストリームからなる動画ファイルにおいて変更されているLong Term参照フレーム情報に従って、画像を復号することができる。
【0174】
<コンピュータの構成例>
次に、上述した一連の処理(画像復号方法および画像符号化方法)は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0175】
図27は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
【0176】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0177】
あるいはまた、プログラムは、ドライブ109によって駆動されるリムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウェアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【0178】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【0179】
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
【0180】
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
【0181】
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0182】
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【0183】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
【0184】
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0185】
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0186】
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
【0187】
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0188】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
【0189】
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
【0190】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【0191】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【0192】
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を復号する復号部
を備え、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納されている
画像復号装置。
(2)
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(1)に記載の画像復号装置。
(3)
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(1)に記載の画像復号装置。
(4)
前記参照画像情報は、前記参照画像をlong term reference pictureとするか否かを示すlong term情報を含む
上記(1)から(3)までのいずれかに記載の画像復号装置。
(5)
前記long term情報は、前記ビットストリームの受信側であるクライアントからの情報に基づいて決定される前記参照画像を特定する情報である
上記(4)に記載の画像復号装置。
(6)
前記クライアントからの情報は、フレームごとに更新される
上記(5)に記載の画像復号装置。
(7)
前記long term情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(4)から(6)までのいずれかに記載の画像復号装置。
(8)
前記long term情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(4)から(6)までのいずれかに記載の画像復号装置。
(9)
画像復号処理を行う画像復号装置が、
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を復号すること
を含み、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納されている
画像復号方法。
(10)
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化する符号化部
を備え、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納される
画像符号化装置。
(11)
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットに格納され、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(10)に記載の画像符号化装置。
(12)
前記参照画像情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納され、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(10)に記載の画像符号化装置。
(13)
前記参照画像情報は、前記参照画像をlong term reference pictureとするか否かを示すlong term情報を含む
上記(10)から(12)までのいずれかに記載の画像符号化装置。
(14)
前記long term情報は、前記ビットストリームの受信側であるクライアントからの情報に基づいて決定される前記参照画像を特定する情報である
上記(13)に記載の画像符号化装置。
(15)
前記クライアントからの情報は、フレームごとに更新される
上記(14)に記載の画像符号化装置。
(16)
前記long term情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(13)から(15)までのいずれかに記載の画像符号化装置。
(17)
前記long term情報は、前記アクセスユニットの区切りを示すAUD(Access Unit Delimiter) NALユニットとは別に設けられる識別用のNALユニットに格納されており、前記アクセスユニット内の全てのTile group NALユニットに対して適用される
上記(13)から(15)までのいずれかに記載の画像符号化装置。
(18)
画像符号化処理を行う画像符号化装置が、
少なくとも1つ以上のNAL(Network Abstraction Layer)ユニットが配置されるアクセスユニットからなるビットストリームの画像を符号化すること
を含み、
前記アクセスユニットのヘッダ領域に、カレントピクチャが参照する参照画像を示す参照画像情報が格納される
画像符号化方法。
【0193】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0194】
10 画像符号化装置, 11 符号化部, 12 判定部, 13 VCLバッファ, 14 非VCLバッファ, 15 ファイル生成部, 16 制御部, 20 記憶部, 30 画像復号装置, 31 VCLバッファ, 32 非VCLバッファ, 33 パラメータメモリ, 34 復号部, 35 出力バッファ, 37 制御部