(本発明の基礎となった知見)
HEVCの符号化技術を用いて符号化された画像信号は、NAL(Network Abstraction Layer)ユニットというビデオフレーム(ピクチャ)を格納する上位の単位を含む。
画像信号が入力された装置やシステムでは、NALユニットのヘッダ情報のみを復号すれば、ビデオコア層(スライス層やマクロブロック層)を復号せずとも、処理対象であるビデオフレームを大分類することができる。そのため、NALユニットのヘッダ情報は、主に、ビデオコア層を符号化・復号する能力を十分に持たないシステム層のアプリケーションによって利用される。NALユニットのヘッダ情報には、NALユニットタイプと、時間階層ID(TID)とが含まれ、ビデオコア層には、参照関係を示す情報が含まれる。
しかしながら、NALユニットのヘッダ情報の示唆する参照関係と、ビデオコア層における実際の参照関係とが矛盾する場合がある。この場合、システム層の動作及び、ビデオコア層の復号動作を行うことができないという問題がある。
まず、上記問題が生じることを示すために、動画に含まれるピクチャの構成について具体的に説明する。
録画したコンテンツ(ビットストリーム)を途中から再生すること(一般にランダムアクセス再生と呼ばれる)に対するニーズは高い。そのため、動画が符号化されたことにより得られるビットストリーム(上述の画像信号)には、ランダムアクセス再生を可能にするためのランダムアクセスポイントが設定されている。
ランダムアクセスポイントとは、ビットストリームを途中から再生する場合の起点となるポイントのことである。ランダムアクセスポイントとなるピクチャはRAPピクチャ(Random Access Point Picture)と呼ばれる。MPEG−xのようにピクチャ間の時間相関を利用して動画符号化が行われる場合、その動画符号化によって得られるビットストリームを任意の位置から復号することはできない。しかし、RAPピクチャは、他のピクチャに依存せずに符号化されているため、RAPピクチャからであれば、復号を開始することができる。RAPピクチャは、他のピクチャに依存せずに符号化される必要があるため、フレーム間(ピクチャ間)予測符号化は行われない。RAPピクチャは、フレーム内(ピクチャ内)予測符号化のみが行われ、イントラピクチャ(Iピクチャ)となる。
図1は、ランダムアクセスポイント(RAPピクチャ)とリーディングピクチャの関係を示す図である。リーディングピクチャについては、下記で詳細を説明する。なお、図1において、長方形の枠はピクチャを示し、その枠内の数字は後述するピクチャ番号を示し、その枠内で括弧付けされたアルファベットは、ピクチャのタイプ(Iピクチャ、PピクチャまたはBピクチャ)を示す。
図1の(a)は、復号された非圧縮ピクチャ(非圧縮画像)の出力順(表示順)、もしくは、符号化すべき入力ピクチャの入力順を示す。ピクチャには番号(ピクチャ番号)が付されており、ピクチャ1からピクチャ16までがピクチャ番号の例として示されている。なお、ピクチャ番号は、入力または出力の時間的な先後を示す。
図1の(b)は、符号化されたピクチャのデコード順、または、入力されたピクチャのエンコード順を示す。具体的には、ピクチャ4,1,2,3,8,5,・・・という順番で、ピクチャは符号化または復号される。すなわち、図1の(a)に示す入力順でピクチャは符号化されるのではなく、図1の(b)のように、ピクチャの順番を入れ替えて符号化される。または、図1の(a)に示す出力(表示)順でピクチャは復号されるのではなく、図1の(b)のような順番でピクチャは復号される。したがって、例えば、先に復号されたピクチャ4は、ピクチャ1,2,3の出力(表示)が終わり、ピクチャ4の出力(表示)のタイミングまでバッファ(DPB Buffer:Decoded Picture Buffer)に保持されることになる。
図1の(c)は、フレーム間予測符号化に用いられるフレーム参照関係を示す。例として、RAPピクチャであるピクチャ4から次のRAPピクチャであるピクチャ12までのフレーム参照関係が示されている。点線矢印は、フレーム間の参照を示し、矢印の始点のピクチャが矢印の終点のピクチャを参照ピクチャとして予測符号化に用いることを示している。例えば、Bピクチャであるピクチャ5,6,7は、いずれもピクチャ4とピクチャ8を参照している。そしてPピクチャであるピクチャ8はピクチャ4を参照している。また、Bピクチャであるピクチャ9,10,11は、いずれもピクチャ8とピクチャ12を参照している。なお、Iピクチャであるピクチャ4、12は他のピクチャを参照しない。
動画符号化においては、参照されるピクチャは参照を行うピクチャよりも先に符号化されなければならず、動画復号においては、参照されるピクチャは参照を行うピクチャよりも先に復号されなければならない。したがって、図1の(a)に示す入力順に対して、図1の(c)に示す予測構造(フレーム参照関係)が用いられる場合、一例として、図1の(b)に示すエンコード順(デコード順)で符号化または復号が行われる。つまり、RAPピクチャであるピクチャ4が符号化された後、ピクチャ4を参照してピクチャ8が符号化され、ピクチャ4,8を参照してピクチャ5,6,7が順番に符号化される。続いて、RAPピクチャであるピクチャ12が符号化され、ピクチャ8,12を参照してピクチャ9,10,11が順番に符号化される。デコードについても同様であり、RAPピクチャであるピクチャ4が復号された後、ピクチャ4を参照してピクチャ8が復号され、ピクチャ4,8を参照してピクチャ5,6,7が順番に復号される。続いて、RAPピクチャであるピクチャ12が復号され、ピクチャ8,12を参照してピクチャ9,10,11が順番に復号される。
つぎに、現在標準化が進められている動画像符号化方法であるHigh Efficiency Video Coding(以降、HEVC方式)において導入されたリーディングピクチャについて説明する。リーディングピクチャとは、RAPピクチャに対して、デコード順で後、かつ、出力順(表示順)で先のピクチャのことである。図1の(a)および(b)に示す例では、RAPピクチャであるピクチャ12に対して、ピクチャ9,10,11はデコード順で後となる。そして、RAPピクチャであるピクチャ12に対して、ピクチャ9,10,11は出力順で先となる。すなわち、ピクチャ9,10,11は、RAPピクチャであるピクチャ12に対するリーディングピクチャ(LP)である。
HEVC方式では、RAPピクチャに対して、IDRピクチャ(Instantaneous Decoding Refresh Picture)、BLAピクチャ(Broken Link Access Picture)、CRAピクチャ(Clean Random Access Picture)の3種類が定義されている。
図2は、RAPピクチャがIDRピクチャである場合のリーディングピクチャについて説明するための図である。この場合も、復号されたピクチャの出力順、もしくは、符号化すべきピクチャの入力順は、図1の(a)に示す順番と同一である。なお、図2においも、図1と同様、長方形の枠はピクチャを示し、その枠内の数字はピクチャ番号を示し、アルファベットはピクチャのタイプを示す。
図2の(a)は、図1の(b)と同様に、符号化されたピクチャのデコード順を示している。ただし、ピクチャ12がIDRピクチャである点で図1の(b)と異なる。
図2の(b)は、IDRピクチャに対するリーディングピクチャのフレーム間予測に用いられるフレーム参照関係を示す。例として、IDRピクチャであるピクチャ12に対するリーディングピクチャであるピクチャ9,10,11のフレーム参照関係が示されている。リーディングピクチャであるピクチャ9,10,11は、いずれもピクチャ12のみを参照している。IDRピクチャよりデコード順で後方のピクチャがIDRピクチャよりデコード順で先方(前方)のピクチャを参照することは、禁じられている。例えば、ピクチャ9,10,11は、ピクチャ12よりデコード順で先方のピクチャ8などを参照することはできない。
つまり、IDRピクチャのリーディングピクチャは、IDRピクチャよりデコード順で先方のピクチャを参照することはできない。なお、IDRピクチャ以外のRAPピクチャ(すなわち、CRAピクチャとBLAピクチャ)の場合には、RAPピクチャに対するリーディングピクチャが、RAPピクチャよりデコード順で先方のピクチャを参照することは禁じられていない。
次に、BLAピクチャについて説明する。BLAピクチャは、たとえば録画したコンテンツを編集したときに生じるピクチャである。具体的には、ある録画コンテンツ1をA、B、Cに分割し、Bを破棄してAとCを結合するといった動画編集を行った場合に、Cの先頭のRAPピクチャがBLAピクチャとなる。なお、コンテンツ1をA、B、Cに分割する場合、分割はRAPピクチャの位置でなされる。また、他の例として、録画コンテンツ1と録画コンテンツ2を結合した場合に、録画コンテンツ2の先頭のRAPピクチャがBLAピクチャと成り得る。
図3は、RAPピクチャがBLAピクチャである場合のリーディングピクチャについて説明するための図である。この場合も、復号されたピクチャの出力順、もしくは、符号化すべきピクチャの入力順は、図1の(a)に示す順番と同一である。なお、図3においても、図1と同様、長方形の枠はピクチャを示し、その枠内の数字はピクチャ番号を示し、アルファベットはピクチャのタイプを示す。
図3の(a)は、図1の(b)と同様に、符号化されたピクチャのデコード順を示している。ただし、ピクチャ12がBLAピクチャである点で図1の(b)と異なっている。さらに、上述したように、ピクチャ1’からピクチャ8’までのビットストリームと、ピクチャ9からピクチャ16までのビットストリームとは、連続性がなく、例えばコンテンツ1のAとコンテンツ1のCとに相当し、編集により単に結合されている。この点においても図3の(a)は図1の(b)とは異なっている。
図3の(b)は、BLAピクチャに対するリーディングピクチャのフレーム間予測に用いられるフレーム参照関係を示す。例として、BLAピクチャであるピクチャ12に対するリーディングピクチャであるピクチャ9,10,11のフレーム参照関係が示されている。図3の(c)に示すように、ピクチャ12に対するリーディングピクチャ9,10,11の参照先は、ピクチャ8’とピクチャ12である。このとき、ピクチャ8’とピクチャ12を用いて形式的には復号可能であるが、ピクチャ8’は、例えば、編集により結合されたピクチャ9,10,11とは無関係なピクチャである。つまり、ピクチャ9,10,11にとって正しい参照ピクチャではないため、正しい復号画像を得ることはできない。リーディングピクチャ9,10,11の参照構造は壊れている(Broken Link)といえる。
なお、CRAピクチャは、IDRピクチャとBLAピクチャ以外のRAPピクチャのことである。CRAピクチャでは、CRAピクチャに対するリーディングピクチャが、CRAピクチャよりデコード順で先方のピクチャを参照することができるため、IDRピクチャに比べて符号化効率が良い。また、BLAピクチャのリーディングピクチャのように参照構造が壊れていないため、通常再生時に、すべてのリーディングピクチャを復号することができる。
以上、RAPピクチャの分類について説明したが、次に、リーディングピクチャの分類について説明する。
リーディングピクチャには、RADLピクチャ(Random Access Decodable Leading Picture)と、RASLピクチャ(Random Access Skipped Leading Picture)の2種類が定義されている。RAPピクチャに飛び込み(ランダムアクセスし)、RAPピクチャから復号を行う場合(ランダムアクセス再生時)に、RADLピクチャは復号可能なリーディングピクチャである。反対に、RASLピクチャは、ランダムアクセス再生時に復号できないリーディングピクチャである。
図4は、リーディングピクチャの分類について説明するための図である。この場合も、復号されたピクチャの出力順、もしくは、符号化すべきピクチャの入力順は、図1の(a)に示す順番と同一である。なお、図4においも、図1と同様、長方形の枠はピクチャを示し、その枠内の数字はピクチャ番号を示し、アルファベットはピクチャのタイプを示す。図4の(a)は、図1の(b)と同様に、符号化されたピクチャのデコード順を示している。ただし、ピクチャ12がCRAピクチャであり、リーディングピクチャ9,10,11をRASLピクチャとRADLピクチャに細分化している点で、図1の(b)と異なっている。
図4の(b)は、CRAピクチャに対するリーディングピクチャ9,10、11の参照ピクチャを例として示している。ピクチャ9は、ピクチャ8とピクチャ12を参照している。その結果、ピクチャ12から復号開始する場合(ピクチャ12へのランダムアクセス時)に、ピクチャ8を参照ピクチャとして利用することができないため、ピクチャ9を復号することはできない。したがって、ピクチャ9はRASLピクチャとなる。一方、ピクチャ10,11は、ピクチャ12のみを参照している。その結果、ピクチャ12から復号開始する場合に、ピクチャ12を参照ピクチャとして利用できるため、ピクチャ10、11を復号することができる。したがって、ピクチャ10,11はRADLピクチャとなる。
すでに説明したように、IDRピクチャのリーディングピクチャは、IDRピクチャよりデコード順で先方のピクチャを参照することはできない。したがって、IDRピクチャのリーディングピクチャは常にRADLピクチャとなる。あるいは、IDRピクチャに対してリーディングピクチャが無い場合もある。CRAピクチャおよびBLAピクチャのリーディングピクチャは、RADLピクチャのみ、RASLピクチャのみ、または、RASLピクチャとRADLピクチャが混在する、あるいは、どちらも無い場合もある。
すなわち、RAPピクチャの種類によって、どのようなタイプ(RADLピクチャまたはRASLピクチャ)のリーディングピクチャが存在するかが異なる。また、リーディングピクチャが存在しない場合もある。RAPピクチャを復号する際、当該RAPピクチャに対するリーディングピクチャのタイプ、または、当該RAPピクチャに対するリーディングピクチャは存在しない、という情報が得られると復号処理に都合がよい。
そこで、NAL(Network Abstraction Layer)ユニットのNALユニットヘッダ(上述のヘッダ情報)に、NALユニットタイプが記載される。NALユニットとは、符号化されたデータを区切る単位であり、2バイト(固定長)のNALユニットヘッダと、ペイロードとから構成される。NALユニットヘッダは、NALユニットの種類を示す識別子であるNALユニットタイプを含んでいる。ペイロードは、符号化データであるRBSP(Raw Byte Sequence Payload)から構成される。RBSPをバイトアラインメント(8ビットの倍数)するためにRBSPの最後尾に1−8ビットのトレイリングビットが付加される。
NALユニットタイプを参照することにより、当該NALユニットのペイロードに含まれるデータの種類を知ることができる。また、NALユニットは、動画データだけでなく、SPS(Sequence Parameter Set)やPPS(Picture Parameter Set)などの符号化パラメータを含むことができる。NALユニットが動画データを含む場合、ピクチャを分割したスライスと呼ばれる単位の動画データをペイロードに含むようにNALユニットは構成される。なお、同一のピクチャに属するスライスのNALユニットのNALユニットタイプは同一の値となる。
図5は、RAPピクチャ及びリーディングピクチャに関するNALユニットタイプを示す図である。
RAPピクチャ(RAPピクチャのスライス)を含むNALユニットのNALユニットタイプには、RAPピクチャがBLAピクチャの場合には、16〜18が用いられ、RAPピクチャがIDRピクチャの場合には、19、20が用いられ、RAPピクチャがCRAピクチャの場合には、21が用いられる。
具体的には、NALユニットタイプにBLA_W_LP(16)が設定されていれば、そのNALユニットタイプは、当該BLAピクチャのリーディングピクチャが画像信号に含まれている可能性があることを意味する。NALユニットタイプにBLA_W_RADL(17)が設定されていれば、そのNALユニットタイプは、当該BLAピクチャのリーディングピクチャが画像信号に含まれている可能性があり、そのリーディングピクチャはデコード可能なRADLピクチャのみであること(RASLピクチャでは無いこと)を意味する。NALユニットタイプにBLA_N_RADL(18)が設定されていれば、そのNALユニットタイプは、当該BLAピクチャのリーディングピクチャは画像信号に含まれていないことを意味する。
また、NALユニットタイプにIDR_W_RADL(19)が設定されていれば、そのNALユニットタイプは、当該IDRピクチャのリーディングピクチャが画像信号に含まれている可能性があり、そのリーディングピクチャはデコード可能なRADLのみであること(RASLピクチャでは無いこと)を意味する。NALユニットタイプにIDR_N_LP(20)が設定されていれば、そのNALユニットタイプは、当該IDRピクチャのリーディングピクチャは画像信号に含まれていないことを意味する。
また、NALユニットタイプにCRA_NUT(21)が設定されていれば、そのNALユニットタイプは、当該CRAピクチャのリーディングピクチャが画像信号に含まれている可能性があり、そのリーディングピクチャはデコード可能なRADLとデコード不可なRASLのどちらも可能性があることを意味する。
また、上述したようにリーディングピクチャには、RADLピクチャと、RASLピクチャの2種類が定義されている。RADLピクチャ(RADLピクチャのスライス)を含むNALユニットのNALユニットタイプには、RADLピクチャを意味する6(あるいは7)が挿入される。また、RASLピクチャ(RASLピクチャのスライス)を含むNALユニットのNALユニットタイプには、RASLピクチャを意味する8(あるいは9)が挿入される。
しかしながら、これらのNLAユニットタイプなどの参照関係の制限を示すパラメータが誤っている場合がある。このような場合には、画像信号における参照関係に不整合が生じ、上述の非特許文献1および2における画像処理方法では、その参照関係の不整合によってエラーが発生し易いという問題がある。
このような問題を解決するために、本発明の一態様に係る画像処理方法は、複数のピクチャが符号化されることによって生成された画像信号を処理する画像処理方法であって、前記複数のピクチャのうちの少なくとも1つのピクチャと他のピクチャとの間の符号化における参照関係の制限を示すパラメータを前記画像信号から取得し、前記パラメータによって示される参照関係の制限を緩和するための制限緩和処理を実行する。
これにより、例えばNALユニットタイプまたはテンポラルネスティングフラグなどのパラメータが間違っているために、そのパラメータによって示される参照関係の制限が不当に厳しい場合であっても、その参照関係の制限が緩和される。したがって、そのパラメータによって示される参照関係の制限と、画像信号における実際の参照関係(参照ピクチャの番号などによって示される関係)、または他のパラメータ(他のNALユニットタイプ)によって示される参照関係との間で、不整合が生じることによって発生するエラーを抑えることができる。したがって、例えば、画像信号に対する復号がエラーによって終了してしまうことを防ぐことができる。
また、前記画像信号は信号単位である複数のNALユニットによって構成され、前記パラメータの取得では、前記複数のNALユニットのうちの何れか1つの処理対象NALユニットに含まれるNALユニットタイプを前記パラメータとして取得し、前記制限緩和処理の実行では、前記NALユニットタイプが第1のNALユニットタイプである場合、前記第1のNALユニットタイプに対して定義された参照関係の制限よりも緩和された制限が定義された第2のNALユニットタイプを、前記第1のNALユニットタイプの代わりに、前記処理対象NALユニットに適用してもよい。
これにより、画像信号に含まれる第1のNALユニットタイプが間違っていても、処理対象NALユニットに対しては、参照関係の制限が緩和された第2のNALユニットタイプが適用されるため、上述の不整合が生じることを適切に抑えることができる。
また、前記制限緩和処理の実行では、ランダムアクセス再生の起点となる前記処理対象NALユニットに対応するBLAピクチャよりも復号順で後にある後続ピクチャが、前記BLAピクチャよりも表示順で前にあるリーディングピクチャとなって、他のピクチャを参照する参照関係を、禁止することが前記第1のNALユニットタイプに対して定義されている場合、前記参照関係を許可することが定義された前記第2のNALユニットタイプを、前記第1のNALユニットタイプの代わりに、前記処理対象NALユニットに適用してもよい。
これにより、リーディングピクチャの存在を認めない第1のNALユニットタイプ(例えばBLA_N_LP)の代わりに、リーディングピクチャの存在を認める第2のNALユニットタイプ(例えばBLA_W_RADLまたはBLA_W_LP)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがリーディングピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
また、前記制限緩和処理の実行では、前記後続ピクチャが前記リーディングピクチャとなって、前記BLAピクチャよりも復号順で前にあるピクチャを参照する参照関係を、禁止することが前記第1のNALユニットタイプに対して定義されている場合、前記参照関係を許可することが定義された前記第2のNALユニットタイプを、前記第1のNALユニットタイプの代わりに、前記処理対象NALユニットに適用してもよい。
これにより、BLAピクチャよりも復号順で前にあるピクチャを参照するリーディングピクチャであるRASLピクチャの存在を認めない第1のNALユニットタイプ(例えばBLA_N_LPまたはBLA_W_RADL)の代わりに、RASLピクチャの存在を認める第2のNALユニットタイプ(例えばBLA_W_LP)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがRASLピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
また、前記制限緩和処理の実行では、ランダムアクセス再生の起点となる前記処理対象NALユニットに対応するIDRピクチャよりも復号順で後にある後続ピクチャが、当該IDRピクチャよりも表示順で前にあるリーディングピクチャとなって、他のピクチャを参照する参照関係を、禁止することが前記第1のNALユニットタイプに対して定義されている場合、前記参照関係を許可することが定義された前記第2のNALユニットタイプを、前記第1のNALユニットタイプの代わりに、前記処理対象NALユニットに適用してもよい。
これにより、リーディングピクチャの存在を認めない第1のNALユニットタイプ(例えばIDR_N_LP)の代わりに、リーディングピクチャの存在を認める第2のNALユニットタイプ(例えばIDR_W_RADL)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがリーディングピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
また、前記制限緩和処理の実行では、前記処理対象NALユニットに対応するピクチャが、ランダムアクセス再生の起点となるRAPピクチャよりも復号順で後にあり、且つ当該RAPピクチャよりも表示順で前にあるリーディングピクチャであって、前記ランダムアクセス再生が行われる際には復号することができない参照関係を有するRASLピクチャであることが、前記第1のNALユニットタイプに対して定義されている場合、前記ピクチャが、前記リーディングピクチャであって、前記ランダムアクセス再生が行われた際にも復号することができる参照関係を有するRADLピクチャであることが定義された前記第2のNALユニットタイプを、前記第1のNALユニットタイプの代わりに、前記処理対象NALユニットに適用し、前記ピクチャを復号してもよい。
これにより、第1のNALユニットタイプ(例えばRASL)の代わりに、第2のNALユニットタイプ(例えばRADL)が処理対象NALユニットに適用される。したがって、RAPピクチャよりも復号順で後にある処理対象NALユニットのピクチャが、RAPピクチャよりも復号順で前にある他のピクチャを参照していないにも関わらず、誤ってRASLピクチャとしてランダムアクセス再生時に復号されないようになっていても、その処理対象NALユニットのピクチャをランダムアクセス再生時に適切に復号することができる。
また、前記ピクチャの復号では、前記ピクチャに対する参照ピクチャ情報を復号し、復号された前記参照ピクチャ情報によって特定される参照ピクチャがバッファに格納されている場合には、当該参照ピクチャを参照することによって前記ピクチャを復号し、前記参照ピクチャが前記バッファに格納されていない場合には、代替ピクチャを生成し、当該代替ピクチャを前記参照ピクチャとして参照することによって前記ピクチャを復号してもよい。
例えば、第1のNALユニットタイプの代わりに、第2のNALユニットタイプが処理対象NALユニットに適用されるため、第1のNALユニットタイプ(例えばRASL)が正しい場合には、誤った第2のNALユニットタイプ(例えばRADL)が処理対象NALユニットに適用される。したがって、ランダムアクセス再生によって処理対象NALユニットのピクチャが実際にはRASLピクチャであるところRADLピクチャとして再生される際には、そのピクチャの参照ピクチャがバッファに格納されていないことがある。そこで、上述のように、参照ピクチャがバッファに格納されていない場合には、代替ピクチャが生成され、その代替ピクチャが参照ピクチャとして参照されるため、処理対象NALユニットのピクチャを適切に復号することができる。
また、前記複数のピクチャはそれぞれ、複数のレイヤのうちの何れかに分類され、当該ピクチャが属するレイヤよりも上位のレイヤに属するピクチャを参照することなく符号化され、前記パラメータの取得では、前記複数のピクチャのうちの処理対象ピクチャが、当該処理対象ピクチャが属するレイヤよりも下位のレイヤに属する下位ピクチャを、予め定められた状況において参照することを禁止するフラグを、前記パラメータとして取得し、前記制限緩和処理の実行では、前記下位ピクチャがバッファに格納されているか否かを判定し、前記バッファに格納されていないと判定された場合には、前記下位ピクチャを復号し、前記フラグにしたがわずに、復号された前記下位ピクチャを参照して前記処理対象ピクチャを復号してもよい。
例えば、処理対象ピクチャが下位ピクチャを参照するにも関わらず、上述のフラグ(例えば、真(1)を示すテンポラルネスティングフラグ)が誤って画像信号に含められている場合には、その下位ピクチャがバッファに格納されていないために、処理対象ピクチャは下位ピクチャを参照することができないことがある。そこで、上述のように、下位ピクチャがバッファに格納されていない場合には、下位ピクチャが復号されて、そのフラグによって禁止されている参照が緩和されて行われるため、処理対象ピクチャを適切に復号することができる。
また、前記画像信号は信号単位である複数のNALユニットによって構成され、前記複数のNALユニットのそれぞれに対応するピクチャは、複数のレイヤのうちの何れかに分類され、当該ピクチャが属するレイヤよりも上位のレイヤに属するピクチャを参照することなく符号化され、前記パラメータの取得では、前記複数のピクチャのうちの処理対象ピクチャに対応するNALユニットに含まれるNALユニットタイプであって、前記処理対象ピクチャが当該処理対象ピクチャと同じレイヤに属する特定ピクチャを参照する参照関係を禁止することが定義されたNALユニットタイプを、前記パラメータとして取得し、前記画像処理方法は、さらに、前記複数のピクチャのうち復号されるピクチャが属するレイヤが制限されている際に、取得された前記NALユニットタイプと、前記処理対象ピクチャが属するレイヤとに基づいて、前記処理対象ピクチャにおいて前記レイヤの制限を緩和するアップスイッチングが可能か否かを判定し、前記制限緩和処理の実行では、前記アップスイッチングが可能と判定された場合には、前記処理対象ピクチャが参照する参照ピクチャである前記特定ピクチャが、バッファに格納されているか否かを判別し、前記バッファに格納されていないと判別した場合には、前記参照ピクチャを復号し、前記NALユニットタイプによって禁止されている前記参照ピクチャの参照を行って、前記処理対象ピクチャを復号してもよい。
例えば、処理対象ピクチャが特定ピクチャを参照するにも関わらず、その特定ピクチャを参照する参照関係を禁止するTSAまたはSTSAなどのNALユニットタイプが誤ってNALユニットに含められている場合には、アップスイッチングの際に、その特定ピクチャがバッファに格納されていないために、処理対象ピクチャは特定ピクチャを参照することができないことがある。そこで、上述のように、特定ピクチャが参照ピクチャとしてバッファに格納されていない場合には、参照ピクチャが復号されて、そのNALユニットタイプによって禁止されている参照が緩和されて行われるため、処理対象ピクチャを適切に復号することができる。
また、前記アップスイッチングが可能か否かの判定では、前記複数のピクチャのうち復号されるピクチャが属するレイヤとして、前記処理対象ピクチャが属するレイヤと、当該処理対象ピクチャが属するレイヤよりも上位のレイヤとを追加することが定義されたTSAが、前記NALユニットタイプとして取得され、且つ、前記処理対象ピクチャが属するレイヤが、当該処理対象ピクチャよりも復号順で前に復号された各ピクチャが属するレイヤのいずれよりも上位にある場合に、前記アップスイッチングが可能であると判定してもよい。
これにより、TSAにしたがって適切なアップスイッチングを行うことができる。
また、前記アップスイッチングが可能か否かの判定では、前記複数のピクチャのうち復号されるピクチャが属するレイヤとして、前記処理対象ピクチャが属するレイヤのみを追加することが定義されたSTSAが、前記NALユニットタイプとして取得され、且つ、前記処理対象ピクチャが属するレイヤが、当該処理対象ピクチャよりも復号順で前に復号された各ピクチャが属するレイヤのいずれよりも上位にある場合に、前記アップスイッチングが可能であると判定してもよい。
これにより、STSAにしたがって適切なアップスイッチングを行うことができる。
また、前記制限緩和処理の実行では、前記処理対象NALユニットに含まれている前記1のNALユニットタイプを前記第2のNALユニットタイプに置き換えることにより、前記第2のNALユニットタイプを含むNALユニットを生成してもよい。
これにより、画像信号は、参照関係が緩和された新たな画像信号に編集されるため、例えば画像復号装置は、特別な処理を行うことなく、エラーの発生を抑えた画像の復号を行うことができる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態1)
以下、本発明の実施の形態について、図面を参照しながら説明する。
初めに、発明者らが想定する、HEVC方式で符号化されたビットストリームを復号する全体的なデコーダ(画像処理装置)の動作について図6を用いて説明する。
図6は、本実施の形態における画像処理装置であるデコーダの動作を示すフローチャートである。
デコーダは、画像信号に含まれるNALユニットの構文解析を行い、そのNALユニットからNALユニットタイプを取得する(ステップS901)。次に、デコーダは、NALユニットタイプ(NALUT)がRAPか否かを判断する(ステップS902)。具体的には、デコーダは、NALユニットタイプが16〜21のいずれか否かを判断する。ここで、デコーダは、NALユニットタイプが16〜21のいずれかであると判断すると、そのNALユニットに含まれるピクチャ(スライス)はRAPピクチャであると認識する(ステップS902のYes)。そして、デコーダは、内部メモリにRAPタイプ(NALユニットタイプ)を記録し、そのRAPピクチャを復号する(ステップS903)。そして、デコーダは、デコード順でRAPピクチャに続く後続ピクチャが存在する場合、再度、ステップS901からの処理を行い、その後続ピクチャの復号を試みる。
デコーダは、ステップS902で、NALユニットタイプがRAPでないと判断すると(ステップS902のNo)、RAPピクチャに続く後続ピクチャに関するNALユニットから取得したNALユニットタイプ(NALUT)が何れのタイプかを判断する(ステップS904)。
ここで、デコーダは、NALユニットタイプが6または7、すなわちRADLであると判断すると(ステップS904のRADL)、ステップS903で記録されたRAPタイプ(NALユニットタイプ)が、RADLピクチャの存在を認めているか否かを判断する(ステップS905)。認めている場合(ステップS905のYes)、デコーダは、RADLピクチャである後続ピクチャ(リーディングピクチャ)を復号する(ステップS907)、認めていない場合(ステップS905のNo)、RADLピクチャがあることはエラーであるため、デコーダは所定のエラー処理を行う(ステップS908)。
NALユニットタイプが8〜9のいずれか(RASL)の場合(ステップS904でRASLの場合)、デコーダは、ステップS903で記録されたRAPタイプ(NALユニットタイプ)が、RASLピクチャの存在を認めているか否かを判断する(ステップS906)。認めている場合(ステップS906のYes)、デコーダは、RASLピクチャである後続ピクチャ(リーディングピクチャ)の復号を行わずに破棄する(ステップS909)。なお、認めている場合とは、RAPタイプ(NALユニットタイプ)が、CRAおよびBLAなどのように、RASLピクチャがあってもよいタイプである場合である。一方、認めていない場合(ステップS906のNo)、RASLピクチャがあることはエラーであるため、デコーダは、所定のエラー処理を行う(ステップS910)。なお、認めていない場合とは、RAPタイプ(NALユニットタイプ)が、IDRなどのように、RASLピクチャの存在を認めないタイプである場合である。
図7は、本実施の形態におけるデコーダである画像処理装置の構成を示すブロック図である。
デコーダ(画像復号装置)100は、図7に示すように、CPB(Coded Picture Buffer)バッファ102、NALユニット構文解析部103、データ復号部104、およびDPB(Decoded Picture Buffer)バッファ105を備えている。
CPBバッファ102は、デコーダ100に入力された画像信号であるビットストリーム101を保持するバッファである。そして、CPBバッファ102は、ピクチャ(アクセスユニット)毎に所定のタイミングでNALユニット構文解析部103にビットストリームを出力する。
NALユニット構文解析部103は、ビットストリームに含まれるNALユニットの構文を解析する。つまり、NALユニット構文解析部103は、NALユニットヘッダを解析し、NALユニットタイプ等の情報を取得する。そして、NALユニット構文解析部103は、NALユニットに含まれているペイロードをデータ復号部104などに送る。
データ復号部104は、NALユニット構文解析部103から送られるペイロード(符号化されている動画データ)の復号を行う。
DPBバッファ105は、データ復号部104によって復号されたピクチャ(非圧縮画像106)を保持する。復号されたピクチャは、例えば図1の(b)に示されるデコード順でDPBバッファに入力され、図1の(a)に示される出力順で表示デバイス等に出力される。
図8は、本実施の形態におけるデコーダ100のNALユニット構文解析部103の動作を示すフローチャートである。NALユニット構文解析部103は、CPBバッファ102からピクチャ(アクセスユニット)が入力されると、アクセスユニットに含まれる各NALユニットに対して順番に構文解析を行う。そして、NALユニット構文解析部103は、図6に示すステップS901と同様に、NALユニットからNALユニットタイプを取得する(ステップS101)。なお、同一のピクチャに属するスライスのNALユニットのNALユニットタイプは同一の値となる。NALユニット構文解析部103は、ここで取得したNALユニットタイプを第1のNALユニットタイプと設定する。次に、NALユニット構文解析部103は、図6に示すステップS902と同様に、取得したNALユニットタイプがRAPであるか否かを判断する(ステップS102)。RAPである場合(ステップS102のYes)、NALユニット構文解析部103は、NALユニットタイプがBLA、IDR、およびCARのいずれであるかを判断する(ステップS121)。
NALユニットタイプが、上記で説明した16〜18の値で示される、3種類のBLAのいずれかである場合(ステップS121のBLA)、NALユニット構文解析部103は、第2のNALユニットタイプとしてBLA_W_LP(16)を設定する(ステップS122)。BLA_W_LPとは、前述のようにBLAピクチャに対して、RASLピクチャおよびRASLピクチャなどのリーディングピクチャの存在を認めるNALユニットタイプである。なお、NALユニット構文解析部103は、後続のリーディングピクチャのNALユニットタイプを調べ、RASLピクチャが無い場合には、第2のNALユニットタイプとしてBLA_W_RADLを設定してもよい。
NALユニットタイプが、上記で説明した19又は20で示される、2種類のIDRのいずれかである場合(ステップS121のIDR)、NALユニット構文解析部103は、第2のNALユニットタイプとしてIDR_W_RADL(19)を設定する。IDR_W_RADLとは、前述のようにIDRピクチャに対して、リーディングピクチャ(RADLのみ)の存在を認めるNALユニットタイプである。
NALユニットタイプが、上述で説明した21の値で示されるCRAである場合(ステップS121のCRA)、NALユニット構文解析部103は、第2のNALユニットタイプとしてCRAを設定する(ステップS124)。
なお、図8のフローチャートによって示される各ステップの処理は、図6に示すステップ901において実行される。つまり、図6に示すステップS901において解析されたRAPのNALユニットに対しては、そのNALユニットに含まれるNALユニットタイプ(第1のNALユニットタイプ)の代わりに、第2のNALユニットタイプが適用される。したがって、図6に示すステップS903では、第2のNALユニットタイプがRAPタイプとして記録される。
以上説明したように、デコーダ100は、リーディングピクチャを認めるNALユニットタイプを第2のNALユニットタイプとして設定し、第2のNALユニットタイプに基づいて、復号動作を行う。リーディングピクチャを認めるNALユニットタイプへと編集することで、デコーダ100は、リーディングピクチャを認めないにも関わらずリーディングピクチャが存在するエラーストリームを受信した場合でも、そのエラーストリームをデコードできる。つまり、図6に示すステップS908およびステップS910の処理の発生を抑えることができる。
つまり、本実施の形態における画像処理方法は、参照関係の制限を示すNALユニットタイプを画像信号から取得し、NALユニットタイプによって示される参照関係の制限を緩和するための制限緩和処理を実行する。
これにより、NALユニットタイプが間違っているために、そのNALユニットタイプによって示される参照関係の制限が不当に厳しい場合であっても、その参照関係の制限が緩和される。したがって、NALユニットのNALユニットタイプによって示される参照関係の制限と、他のNALユニットのNALユニットタイプによって示される参照関係との間で、不整合が生じることによって発生するエラーを抑えることができる。したがって、画像信号に対する復号がエラーによって終了してしまうことを防ぐことができる。
例えば、そのNALユニットタイプの取得では、複数のNALユニットのうちの何れか1つの処理対象NALユニットに含まれるNALユニットタイプを取得する。そして、制限緩和処理の実行では、そのNALユニットタイプが第1のNALユニットタイプである場合、その第1のNALユニットタイプに対して定義された参照関係の制限よりも緩和された制限が定義された第2のNALユニットタイプを、第1のNALユニットタイプの代わりに、処理対象NALユニットに適用する。
これにより、画像信号に含まれる第1のNALユニットタイプが間違っていても、処理対象NALユニットに対しては、参照関係の制限が緩和された第2のNALユニットタイプが適用されるため、上述の不整合が生じることを適切に抑えることができる。
具体的には、第1のNALユニットタイプは、ランダムアクセス再生の起点となる処理対象NALユニットに対応するBLAピクチャよりも復号順で後にある後続ピクチャが、そのBLAピクチャよりも表示順で前にあるリーディングピクチャとなって、他のピクチャを参照する参照関係を禁止する。この場合、制限緩和処理の実行では、その参照関係を許可することが定義された第2のNALユニットタイプを、第1のNALユニットタイプの代わりに、処理対象NALユニットに適用する。
これにより、リーディングピクチャの存在を認めない第1のNALユニットタイプ(BLA_N_LP)の代わりに、リーディングピクチャの存在を認める第2のNALユニットタイプ(BLA_W_RADLまたはBLA_W_LP)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがリーディングピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
また、第1のNALユニットタイプは、後続ピクチャがリーディングピクチャとなって、BLAピクチャよりも復号順で前にあるピクチャを参照する参照関係を禁止する。この場合でも、制限緩和処理の実行では、その参照関係を許可することが定義された第2のNALユニットタイプを、第1のNALユニットタイプの代わりに、処理対象NALユニットに適用する。
これにより、BLAピクチャよりも復号順で前にあるピクチャを参照するリーディングピクチャであるRASLピクチャの存在を認めない第1のNALユニットタイプ(BLA_N_LPまたはBLA_W_RADL)の代わりに、RASLピクチャの存在を認める第2のNALユニットタイプ(BLA_W_LP)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがRASLピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
また、第1のNALユニットタイプは、ランダムアクセス再生の起点となる処理対象NALユニットに対応するIDRピクチャよりも復号順で後にある後続ピクチャが、そのIDRピクチャよりも表示順で前にあるリーディングピクチャとなって、他のピクチャを参照する参照関係を禁止する。この場合でも、制限緩和処理の実行では、その参照関係を許可することが定義された第2のNALユニットタイプを、第1のNALユニットタイプの代わりに、処理対象NALユニットに適用する。
これにより、リーディングピクチャの存在を認めない第1のNALユニットタイプ(IDR_N_LP)の代わりに、リーディングピクチャの存在を認める第2のNALユニットタイプ(IDR_W_RADL)が処理対象NALユニットに適用される。したがって、処理対象NALユニットよりも復号順で後の後続NALユニットのNLAユニットタイプがリーディングピクチャを示す場合でも、処理対象NALユニットと後続NALユニットとの間においてNALユニットタイプの不整合が生じることを抑えることができる。
(実施の形態2)
上記実施の形態1では、RAPのNALユニットに対して、そのNALユニットに含まれるNALユニットタイプ(第1のNALユニットタイプ)の代わりに、第2のNALユニットタイプを適用した。本実施の形態では、RAP以外のNALユニットに対して、そのNALユニットに含まれるNALユニットタイプ(第1のNALユニットタイプ)の代わりに、第2のNALユニットタイプを適用する。
図9は、本実施の形態におけるデコーダ100のNAL構文解析部の動作を示すフローチャートである。
NALユニット構文解析部103は、図6に示すステップS901と同様に、NALユニットからNALユニットタイプを取得する(ステップS201)。NALユニット構文解析部103は、ここで取得したNALユニットタイプを第1のNALユニットタイプと設定する。さらに、NALユニット構文解析部103は、図6に示すステップS902と同様に、取得したNAユニットタイプがRAPであるか否かを判断する(ステップS202)。RAPではない場合(ステップS202のNo)、NALユニット構文解析部103は、NALユニットタイプがRASLであるか否かを判断する(ステップS225)。RASLである場合(ステップS225のYes)、NALユニット構文解析部103は、第2のNALユニットタイプとしてRADLを設定する(ステップS226)。つまり、第1のNALユニットタイプであるRASLは、第2のNALユニットタイプであるRADLに変更される。
エラーを含むビットストリーム(エラーストリーム)においては、デコード可能なピクチャでもあるにも関わらず、そのピクチャがRASLピクチャであることを示すNALユニットタイプが付与されている可能性がある。このために、ステップS226の処理が行われる。このように第2のNALユニットタイプが設定されるが、本当にデコード不可の可能性もあるため、NALユニット構文解析部103はビデオのデコードを行う(ステップS227)。つまり、NALユニット構文解析部103は、NALユニットに含まれるスライスヘッダをデコードし、そのスライスヘッダに示される参照ピクチャの番号(参照ピクチャ情報)を取得する。そして、NALユニット構文解析部103は、その参照ピクチャの番号に基づいて、エラーが発生するかを判断する(ステップS228)。つまり、NALユニット構文解析部103は、その参照ピクチャの番号(ピクチャ番号)に対応するピクチャがDPBバッファ105に存在するか否かを判断し、存在しない場合はエラーが発生すると判断する。エラーが発生すると判断した場合には(ステップS228のYes)、NALユニット構文解析部103は、第2のNALユニットタイプを第1のNALユニットタイプへと戻す(ステップS229)。つまり、第2のNALユニットタイプであるRADLは、第1のNALユニットタイプであるRASLに戻される。
なお、図9のフローチャートによって示される各ステップの処理は、図6に示すステップ901において実行される。つまり、図6に示すステップS901において解析されたRAPでないNALユニットに対しては、図9に示すステップS228においてエラーが発生すると判断されない限り、そのNALユニットに含まれるNALユニットタイプ(第1のNALユニットタイプ=RASL)の代わりに、第2のNALユニットタイプ=RADLが適用される。
つまり、本実施の形態では、第1のNALユニットタイプは、処理対象NALユニットに対応するピクチャが、ランダムアクセス再生の起点となるRAPピクチャよりも復号順で後にあり、且つそのRAPピクチャよりも表示順で前にあるリーディングピクチャであって、ランダムアクセス再生が行われる際には復号することができない参照関係を有するRASLピクチャであることを意味する。この場合、制限緩和処理の実行では、そのピクチャが、リーディングピクチャであって、ランダムアクセス再生が行われた際にも復号することができる参照関係を有するRADLピクチャであることが定義された第2のNALユニットタイプを、第1のNALユニットタイプの代わりに、処理対象NALユニットに適用し、前記ピクチャを復号する。
これにより、第1のNALユニットタイプ(RASL)の代わりに、第2のNALユニットタイプ(RADL)が処理対象NALユニットに適用される。したがって、RAPピクチャよりも復号順で後にある処理対象NALユニットのピクチャが、RAPピクチャよりも復号順で前にある他のピクチャを参照していないにも関わらず、誤ってRASLピクチャとしてランダムアクセス再生時に復号されないようになっていても、その処理対象NALユニットのピクチャをランダムアクセス再生時に適切に復号することができる。
上記では、ステップS228で、エラーが発生すると判断された場合に、NALユニットタイプを変更前のRASLへと戻したが、戻さなくてもよい。この場合、デコーダ100のデータ復号部104は、エラー補正付きのビデオ復号を行う。つまり、データ復号部104は、代替のピクチャを参照ピクチャとして生成し、その参照ピクチャを参照してRADLピクチャを復号する。代替のピクチャは、例えば色度が0で輝度がとりうる値の中央値となるようなグレー画像である。
つまり、RADLピクチャの復号では、そのRADLピクチャに対する参照ピクチャ情報を復号し、復号されたその参照ピクチャ情報によって特定される参照ピクチャがDPBバッファ105に格納されている場合には、その参照ピクチャを参照することによってRADLピクチャを復号する。一方、参照ピクチャがDPBバッファ105に格納されていない場合には、代替ピクチャを生成し、その代替ピクチャを参照ピクチャとして参照することによってRADLピクチャを復号する。
例えば、ステップS226では、第1のNALユニットタイプの代わりに、第2のNALユニットタイプが処理対象NALユニットに適用されるため、第1のNALユニットタイプ(RASL)が正しい場合には、誤った第2のNALユニットタイプ(RADL)が処理対象NALユニットに適用される。したがって、ランダムアクセス再生によって処理対象NALユニットのピクチャが実際にはRASLピクチャであるところRADLピクチャとして再生される際には、そのピクチャの参照ピクチャがDPBバッファ105に格納されていないことがある。そこで、上述のように、参照ピクチャがDPBバッファ105に格納されていない場合には、代替ピクチャが生成され、その代替ピクチャが参照ピクチャとして参照されるため、処理対象NALユニットのピクチャを適切に復号することができる。
また、デコーダ100は、NALユニットタイプを変更前のRASLへと戻さずに、エラー補正つきのビデオ復号として、RADLピクチャの代わりに、そのRADLピクチャに対応する復号されたRAPピクチャを出力してもよい。あるいは、デコーダ100は、RADLピクチャの代わりに、最後に復号されたピクチャを出力してもよいし、ピクチャを出力しなくてもよい。この場合、描画手段において、フレームの更新が当該エラーピクチャ(RADLピクチャ)の分だけ行われず、直前に描画された画像がそのまま表示される。
(変形例)
上記実施の形態2では、NALユニットタイプがRAPであるか、RASLであるかを判断したが、これらの判断を行わなくてもよい。本変形例では、これらの判断を行わずに、誤ったNALユニットタイプが適用されているNALユニットのピクチャを復号する。
図10は、本変形例に係るデコーダ100の動作を示すフローチャートである。
NALユニット構文解析部103は、図6に示すステップS901と同様に、NALユニットからNALユニットタイプを取得する(ステップS201)。次に、データ復号部104は、そのNALユニットタイプが本来RASLであるにも関わらず、RADLとされている場合には、上述のエラー補正付きのビデオ復号を行う(ステップS227)。これにより、NALユニットタイプに基づく処理の分岐を無くすことができ、デコーダ100の処理動作の簡略化を図ることができる。
以上、上記各実施の形態および変形例で説明したように、本発明の一態様の画像処理装置であるデコーダ100では、エラーにより不適切なNALユニットタイプが付与されている場合でも、正しくデコードを行うことができる。なお、本発明は、上記各実施の形態および変形例のような、画像の復号を伴う画像処理装置または画像処理方法ではなく、入力されたビットストリームのNALユニットに含まれるNALユニットタイプを書き換え、書き換えられたNALユニットタイプを含むビットストリームを第2のビットストリームとして復号装置へ出力する画像処理方法または画像処理装置として実現してもよい。つまり、本発明は、画像信号の復号を行わずに編集のみを行う画像処理方法または画像処理装置として実現してもよい。この場合、制限緩和処理の実行では、処理対象NALユニットに含まれている1のNALユニットタイプを第2のNALユニットタイプに置き換えることにより、第2のNALユニットタイプを含むNALユニットを生成する。
(実施の形態3)
本実施の形態における画像処理方法では、NALユニットタイプが後述するTSAまたはSTSAであるために、または、後述するテンポラルネスティングフラグが真であるために、所定の参照ピクチャを参照することが禁止されている場合に、この参照を許可することに特徴がある。
図11は、本実施の形態において利用されるNALユニットタイプを示す図である。
TSAピクチャ(Temporal Sub−layer Access Picture)、及び、STSAピクチャ(Step−wise Temporal Sub−layer Access Picture)とは、スケーラブルデコード(あるいは伝送)時にデコード(伝送)対象のレイヤを拡大可能なピクチャである。NALユニットのNALユニットタイプが2または3(TSA)であれば、そのNALユニットはTSAピクチャ(スライス)を含む。また、NALユニットのNALユニットタイプが4または5(STSA)であれば、そのNALユニットはSTSAピクチャ(スライス)を含む。
図12は、スケーラブルデコードを説明するための図である。
NALユニットのNALユニットヘッダにはテンポラルID(TID、Temporal ID)が記載される。TIDは、参照関係のレベル(レイヤ)を示す識別情報であって、0以上の整数値であり値が小さいほど重要なNALユニットであることを意味する。例えば、TID=mのNALユニットMと、TID=nのNALユニットNがあり、m<nならば、NALユニットMはNALユニットNをピクチャ間予測で参照しない。NALユニットMはNALユニットNに依存せずにデコード可能である。TIDの数値の小さいNALユニットは、TIDの数値の大きいNALユニットに依存せずにデコード可能である。
スケーラブルデコードとは、デコーダの処理能力が不足する場合や、デコーダが高速再生を行う場合、あるいは、ネットワークシステムが伝送レートを落とす場合に、ピクチャを間引いてデコードすることである。
図12に示す四角の箱はピクチャ(NALユニット)を意味し、箱の中の数値はデコード順を意味し、それぞれのピクチャのTIDは0と1と2の3種類のいずれかに設定されている。通常、全てのピクチャを復号する場合、10番目のピクチャ、11番目のピクチャ、12番目のピクチャ,13番目のピクチャ、14番目のピクチャ、15番目のピクチャ、16番目のピクチャ、17番目のピクチャ、18番目のピクチャの順に復号する。
ここで、ピクチャを間引いて復号する場合、例えば、TID=0と1のピクチャは復号するが、TID=2のピクチャは復号せずにスキップすることが可能である。なぜなら、TID=0と1のピクチャはTID=2のピクチャに依存していないからである。この例では、TID=2のピクチャである12番目のピクチャと15番目のピクチャと18番目のピクチャとを、TID=0と1のピクチャは参照していない。
以下、前述のTSAピクチャとSTSAピクチャについて説明する。
複数のTIDを持つビットストリーム(画像信号)を受信したデコーダは、ピクチャを間引いて復号しているとする。このデコーダは、例えば、TID=0からTID=N−1のピクチャを復号し、TID=N以上のピクチャは復号していないとする。ここで、デコーダの処理性能、またはネットワークの帯域に余裕が出た場合、デコーダは、間引きの程度を減らし、TID=N以上のピクチャのデコードを再開する。この切り替え動作をアップスイッチングと呼ぶ。
そのアップスイッチングが可能なピクチャがTSAピクチャとSTSAピクチャである。
TSAピクチャとは、次のことを意味するピクチャである。つまり、TSAピクチャのTIDをNとすると、TSAピクチャとTSAピクチャよりデコード順で後ろのピクチャでかつTIDがN以上であるピクチャ(制限対象ピクチャ)は、TSAピクチャよりデコード順で前のピクチャで、かつTIDがN以上であるピクチャ(参照禁止ピクチャ)を参照していないことを、TSAピクチャは意味する。この制約により、TSAピクチャとTSAピクチャのデコード順で次のピクチャ(TIDはN以上)の復号が可能となる。
図13は、TSAピクチャについて説明するための図である。
例えば、デコード順で14番目のピクチャはTSAピクチャであり、そのピクチャのTIDはTID=Nである。
この例では制限対象ピクチャは、14番目、15番目、17番目、および18番目のピクチャであり、参照禁止ピクチャは11番目と12番目のピクチャである。例えば、デコーダは、TID=N−1以下までをデコードしてきたとする。つまり、10番目と13番目のピクチャは復号している。ここで、TID=NのTSAピクチャである14番目のピクチャは、これまでに復号していない11番目や12番目のピクチャに依存していない。したがって、デコーダは、TIDがN以上のピクチャもデコードしたいときには、TIDがN以上のピクチャに対する復号をそのTSAピクチャから開始することができる。つまり、TSAピクチャのあるTID=Nのレイヤだけではなく、さらに値の大きなレイヤのピクチャに対するデコードも開始できる。この例では15番目のピクチャのデコード開始も可能である。
STSAピクチャもTSAピクチャと同様の意味を持つピクチャである。
STSAピクチャとは、次のことを意味するピクチャである。つまり、STSAピクチャのTIDをNとすると、STSAピクチャとSTSAピクチャよりデコード順で後ろのピクチャで、かつTIDがNであるピクチャ(制限対象ピクチャ)は、STSAピクチャよりデコード順で前のピクチャで、かつTIDがNであるピクチャ(参照禁止ピクチャ)を参照していないことを、STSAピクチャは意味する。
図14は、STSAピクチャについて説明するための図である。
STSAピクチャはこの例ではデコード順で14番目のピクチャであり、そのピクチャのTIDはTID=Nである。デコーダは、TID=N−1のレイヤにあるピクチャをデコードしているとき、14番目のSTSAピクチャから、TID=Nのレイヤにあるピクチャのデコードを開始できる。ただし、STSAピクチャは、STSAピクチャがあるレイヤに対してしか参照の制限をしていないので、デコーダは15番目のピクチャのデコードは開始できない。一方、先述したようにTSAピクチャならば、15番目のピクチャのデコードは可能である。
TSAピクチャとSTSAピクチャを比較する。
TID=NにTSAピクチャがある場合には、デコード順でTSAピクチャ以降にある、TID=N以上のピクチャのいずれからも復号を再開可能である。
一方、TID=NにSTSAピクチャがある場合には、デコード順でSTSAピクチャ以降にある、TID=Nとなるピクチャのみから復号を再開可能である。STSAピクチャでは、TSAピクチャと比べて、アップスイッチングを1段階しかできないが、参照の制限が緩いので符号化効率の低下が小さい。
図15は、本実施の形態における画像処理装置であるデコーダ100の復号処理の一例を示すフローチャートである。ここでは、TID=N−1までの各レイヤにあるNALユニットを復号済みで、TID=N以上の各レイヤにあるNALユニットの復号を開始する場合を例に説明する。
はじめに、デコーダ100は、処理対象となるNALユニットのNALユニットヘッダを復号し、NALユニットタイプ(NALUT)とテンポラルID(TID)を取得する(ステップS801)。
次に、デコーダ100は、そのNALUTとTIDがアップスイッチ条件を満たすかを確認する(ステップS802)。具体的には、デコーダ100は、NALUTがTSAもしくはSTSAであるか否かを確認する。デコーダ100は、NALUTがTSAの場合は、さらにTIDがN以上であるか否かを確認し、NALUTがSTSAの場合は、さらにTIDがNであるか否かを確認する。
NALUTがTSAであり、かつTIDがN以上である、またはNALUTがSTSAであり、かつTIDがNであるというアップスイッチ条件を満たすとき(ステップS802のYes)、デコーダ100は、処理対象のNALユニットに対応する処理対象ピクチャを復号し(ステップS803)、デコード順でその処理対象ピクチャ以降にあるTID=Nのピクチャも復号対象とする(ステップS804)。つまり、デコーダ100は、レイヤ移動を行うことにより、現時点以降、処理対象ピクチャがあるレイヤを復号対象に含める。
なお、NALUTがTSAであり、TSAピクチャ以降に復号を開始したピクチャのTIDがNより大きい場合には、デコーダ100は、そのピクチャのレイヤも今後の復号対象に含める。
一方、NALユニットヘッダに含まれるNALUTとTIDがアップスイッチ条件を満たさない場合(ステップS802のNo)、デコーダ100は、レイヤ移動を行わず、その結果、処理対象のNALユニットに対応する処理対象ピクチャのレイヤを復号対象に含めない(ステップS805)。そして、デコーダ100は、後続のピクチャについても、必要に応じて、同様の判定処理(ステップS801とS802)を行う。
このように、シンプルな構成で、アップスイッチングを伴う復号処理を行うことができる。
ここで、図15のフローチャートによって例示した復号処理の場合、ビットストリームに発生するエラーによっては、アップスイッチングができない可能性がある。
そこで、本実施の形態における画像処理装置であるデコーダ100は、図16に示すように復号処理を行ってもよい。
図16は、本実施の形態における画像処理装置であるデコーダ100の復号処理の他の例を示すフローチャートである。ここでは、TID=N−1までの各レイヤにあるNALユニットを復号済みで、TID=N以上の各レイヤにあるNALユニットの復号を開始する場合を例に説明する。
はじめに、デコーダ100のNALユニット構文解析部103は、図15に示すステップS801と同様に、処理対象となるNALユニットのNALユニットヘッダを復号し、NALユニットタイプ(NALUT)とテンポラルID(TID)を取得する(ステップS401)。
次に、NALユニット構文解析部103は、図15に示すステップS802と同様に、そのNALUTとTIDがアップスイッチ条件を満たすかを確認する(ステップS402)。具体的には、NALユニット構文解析部103は、NALUTがTSAもしくはSTSAであるか否かを確認する。NALユニット構文解析部103は、NALUTがTSAの場合は、さらにTIDがN以上であるか否かを確認し、NALUTがSTSAの場合は、さらにTIDがNであるか否かを確認する。
NALUTがTSAであり、かつTIDがN以上である、またはNALUTがSTSAであり、かつTIDがNであるというアップスイッチ条件を満たすとき(ステップS402のYes)、デコーダ100のデータ復号部104は、処理対象のNALユニットに対応する処理対象ピクチャが参照する参照ピクチャごとに、その参照ピクチャの番号を復号し、その番号の参照ピクチャがDPBバッファ105内に存在するかを確認する(ステップS411)。そして、データ復号部104は、全ての参照ピクチャのそれぞれがDPBバッファ105内に存在するかを確認する(ステップS412)。
全ての参照ピクチャがDPBバッファ105内に存在すれば(ステップS412のYes)、データ復号部104は、図15に示すステップS803と同様に、処理対象ピクチャを復号する(ステップS403)。さらに、データ復号部104は、図15に示すステップS804と同様に、デコード順でその処理対象ピクチャ以降にあるTID=Nのピクチャも復号対象とする(ステップS404)。つまり、データ復号部104は、処理対象ピクチャがあるレイヤを復号対象に含める。なお、NALUTがTSAであり、TSAピクチャ以降に復号を開始したピクチャのTIDがNより大きい場合には、データ復号部104は、そのピクチャのレイヤも今後の復号対象に含める。
一方、少なくとも1つの参照ピクチャがDPBバッファ105内に存在しない場合(ステップS412のNo)、データ復号部104は、その存在しない参照ピクチャを復号する(ステップS413)。例えば、この存在しない参照ピクチャに関するビットストリーム(NALユニット)が、ローカルなメモリ(例えば、CPBバッファ102)に存在していれば、データ復号部104は、そのCPBバッファ102に保存されているビットストリーム中の符号化されている参照ピクチャを復号する。デコーダ100がネットワークを介してビットストリームを受信中で、符号化されている参照ピクチャがローカルなメモリに存在しない場合は、データ復号部104は、そのビットストリームを送信しているサーバへ、その参照ピクチャの伝送を要求してもよい。あるいは、データ復号部104は、復号可能なビットストリームのうち時間的に処理対象ピクチャに近いピクチャを上述の参照ピクチャの代替として復号してもよい。あるいは、データ復号部104は、すでに復号済みでDPBバッファ105に格納されている時間的に処理対象ピクチャに近いピクチャを、復号済みの参照ピクチャの代替として用いてもよい。
次に、データ復号部104は、参照ピクチャの復号が成功したかを確認する(ステップS414)。成功した場合には(ステップS414のYes)、データ復号部104は、処理対象ピクチャを復号する(ステップS403)。一方、データ復号部104は、参照ピクチャの復号に一枚でも失敗した場合には(ステップS414のNo)、図15に示すステップS805と同様に、レイヤ移動を行わず、その結果、処理対象のNALユニットに対応する処理対象ピクチャのレイヤを復号対象に含まない(ステップS405)。なお、このステップS405では、途中まで復号された画像があっても、その画像はDPBバッファ105に格納されず、表示もされない。
また、NALユニットヘッダに含まれるNALUTとTIDがアップスイッチ条件を満たさない場合(ステップS402のNo)、デコーダ100は、上述と同様に、処理対象ピクチャではレイヤ移動を行わない(ステップS405)。
なお、デコード順で次にアップスイッチ条件を満たすピクチャがある場合には、そのピクチャにおいてアップスイッチングをリトライしてもよい。リトライの回数が一定以上を超えた場合や、アップスイッチング動作を試みてから実際に実行されるまでの待ち時間が一定時間を超えた場合には、デコーダ100は、アップスイッチングの指示を出した外部手段(システム層の制御システムやユーザインタフェース)へ、エラー信号を通知してもよい。エラー信号を受けた外部手段は、アップスイッチングの失敗を、描画手段を用いて通知または表示してもよい。または、外部手段は、ユーザインタフェースを用いて異常時の動作(例えば、表示画面にメッセージを表示したり、装置をバイブレーションさせたりなど)を行ってもよい。
以上説明したように、本発明の一態様であるデコーダ100は、アップスイッチングの方法を提供し、さらに、ビットストリームにエラーが発生していて、DPBバッファ105に参照ピクチャが存在しない場合でも、そのビットストリームを復号することができる。
つまり、本実施の形態では、画像信号は信号単位である複数のNALユニットによって構成され、複数のNALユニットのそれぞれに対応するピクチャは、複数のレイヤのうちの何れかに分類され、そのピクチャが属するレイヤよりも上位のレイヤに属するピクチャを参照することなく符号化されている。そして、本実施の形態におけるNALユニットタイプの取得では、複数のピクチャのうちの処理対象ピクチャに対応するNALユニットに含まれるNALユニットタイプであって、処理対象ピクチャがその処理対象ピクチャと同じレイヤに属する特定ピクチャを参照する参照関係を禁止することが定義されたNALユニットタイプを取得する。そして、本実施の形態における画像処理方法は、さらに、複数のピクチャのうち復号されるピクチャが属するレイヤが制限されている際に、取得されたNALユニットタイプと、処理対象ピクチャが属するレイヤとに基づいて、処理対象ピクチャにおいてレイヤの制限を緩和するアップスイッチングが可能か否かを判定する。そして、本実施の形態における制限緩和処理の実行では、アップスイッチングが可能と判定された場合には、処理対象ピクチャが参照する参照ピクチャである上述の特定ピクチャが、DPBバッファ105に格納されているか否かを判別する。その結果、DPBバッファ105に格納されていないと判別した場合には、その参照ピクチャを復号し、上述のNALユニットタイプによって禁止されているその参照ピクチャの参照を行って、処理対象ピクチャを復号する。
例えば、処理対象ピクチャが特定ピクチャを参照するにも関わらず、その特定ピクチャを参照する参照関係を禁止するTSAまたはSTSAなどのNALユニットタイプが誤ってNALユニットに含められていることがある。この場合には、アップスイッチングの際に、その特定ピクチャがDPBバッファ105に格納されていないために、処理対象ピクチャは特定ピクチャを参照することができないことがある。そこで、上述のように、特定ピクチャが参照ピクチャとしてDPBバッファ105に格納されていない場合には、その参照ピクチャが復号されて、そのNALユニットタイプによって禁止されている参照が緩和されて行われるため、処理対象ピクチャを適切に復号することができる。
次に、テンポラルネスティングフラグ(Temporal_Nesting_Flag)について説明する。
図17A〜図17Dは、テンポラルネスティングフラグを説明するための図である。
図17A〜図17Dに示すように、テンポラルネスティングフラグが真(Temporal_Nesting_Flag=1)のとき、ピクチャpicAよりもデコード順で前にある任意の2枚のピクチャpicBとpicCのTIDの関係次第で、ピクチャpicAからpicBへの参照が制限される。
具体的には、ピクチャpicA〜picCのデコード順は、ピクチャpicB、ピクチャpicC、ピクチャpicAである。図17Aおよび図17Bに示すように、テンポラルネスティングフラグが真であって、ピクチャpicCのTIDがピクチャpicBのTIDよりも小さい場合には、ピクチャpicCよりもデコード順で前のピクチャpicBへの参照は制限される。なお、図17Cおよび図17Dに示すように、テンポラルネスティングフラグが真であっても、ピクチャpicCのTIDとピクチャpicBのTIDが等しい場合には、ピクチャpicBへの参照は制限されない。
ここで、真のテンポラルネスティングフラグが設定されているにも関わらず、ピクチャ間の参照構造が制限されていないというエラーが生じることがある。つまり、この場合においても、処理対象ピクチャを復号する際に、その処理対象ピクチャが参照する参照ピクチャがDPBバッファ105に存在しないことが生じる。
図18は、本実施の形態における画像処理装置であるデコーダ100の復号処理の他の例を示すフローチャートである。
はじめに、デコーダ100のデータ復号部104は、ビットストリームに含まれるVPS(Video Parameter Set)またはSPS(Sequence Parameter Set)を復号し、そこからテンポラルネスティングフラグを取得する(ステップS501)。
次に、データ復号部104は、そのテンポラルネスティングフラグが真(1)であるか否かを判定する(ステップS502)。ここで、テンポラルネスティングフラグが真であると判定すると(ステップS502のYes)、データ復号部104は、そのテンポラルネスティングフラグに対応する処理対象ピクチャが参照する参照ピクチャごとに、その参照ピクチャの番号を復号し、その番号の参照ピクチャがDPBバッファ105内に存在するかを確認する(ステップS503)。そして、データ復号部104は、全ての参照ピクチャのそれぞれがDPBバッファ105内に存在するかを判定する(ステップS504)。
全ての参照ピクチャがDPBバッファ105内に存在すると判定すると(ステップS504のYes)、データ復号部104は、処理対象ピクチャを復号する(ステップS506)。一方、少なくとも1つの参照ピクチャがDPBバッファ105内に存在しないと判定すると(ステップS504のNo)、データ復号部104は、図16に示すステップS413と同様に、その存在しない参照ピクチャを復号する。例えば、この存在しない参照ピクチャに関するビットストリームが、CPBバッファ102に存在していれば、データ復号部104は、そのCPBバッファ102に保存されているビットストリーム中の符号化されている参照ピクチャを復号する。デコーダ100がネットワークを介してビットストリームを受信中で、符号化されている参照ピクチャがCPBバッファ102に存在しない場合は、データ復号部104は、そのビットストリームを送信しているサーバへ、その参照ピクチャの伝送を要求してもよい。あるいは、データ復号部104は、復号可能なビットストリームのうち時間的に処理対象ピクチャに近いピクチャを上述の参照ピクチャの代替として復号してもよい。あるいは、データ復号部104は、すでに復号済みでDPBバッファ105に格納されている時間的に処理対象ピクチャに近いピクチャを、復号済みの参照ピクチャの代替として用いてもよい。
次に、データ復号部104は、DPBバッファ105内にある参照ピクチャ、またはステップS505で復号された参照ピクチャを参照して処理対象ピクチャを復号する(ステップS506)。
本実施の形態の画像処理方法によれば、参照ピクチャがDPBバッファ105にあればそれを参照して、処理対象ピクチャを復号可能であるし、参照ピクチャがDPBバッファ105に無い場合であっても、さかのぼって参照ピクチャを復号することで、より多くのエラー発生の場面においても復号が可能となる。
つまり、本実施の形態では、複数のピクチャはそれぞれ、複数のレイヤのうちの何れかに分類され、当該ピクチャが属するレイヤよりも上位のレイヤに属するピクチャを参照することなく符号化されている。そして、本実施の形態では、複数のピクチャのうちの処理対象ピクチャが、その処理対象ピクチャが属するレイヤよりも下位のレイヤに属する下位ピクチャを、予め定められた状況において参照することを禁止するテンポラルネスティングフラグをパラメータとして取得する。さらに、本実施の形態における制限緩和処理の実行では、下位ピクチャがDPBバッファ105に格納されているか否かを判定する。ここで、DPBバッファ105に格納されていないと判定された場合には、その下位ピクチャを復号し、そのテンポラルネスティングフラグにしたがわずに、復号された下位ピクチャを参照して処理対象ピクチャを復号する。
例えば、処理対象ピクチャが下位ピクチャを参照するにも関わらず、その下位ピクチャを参照することを禁止するテンポラルネスティングフラグが誤って画像信号に含められていることがある。この場合には、その下位ピクチャがDPBバッファ105に格納されていないために、処理対象ピクチャは下位ピクチャを参照することができない。そこで、上述のように、下位ピクチャがDPBバッファ105に格納されていない場合には、下位ピクチャが復号されて、そのテンポラルネスティングフラグによって禁止されている参照が緩和されて行われるため、処理対象ピクチャを適切に復号することができる。
以上、一つまたは複数の態様に係る画像処理方法および画像処理装置について、各実施の形態および変形例に基づいて説明したが、例えば以下の態様も本発明に含まれる。
図19Aは、本発明の一態様にかかる画像処理方法を示すフローチャートである。
この画像処理方法は、複数のピクチャが符号化されることによって生成された画像信号を処理する画像処理方法であって、ステップS11およびステップS12の処理を実行する。ステップS11では、複数のピクチャのうちの少なくとも1つのピクチャと他のピクチャとの間の符号化における参照関係の制限を示すパラメータをその画像信号から取得する。次に、ステップS12では、そのパラメータによって示される参照関係の制限を緩和するための制限緩和処理を実行する。
図19Bは、本発明の一態様にかかる画像処理装置の構成を示すブロック図である。
この画像処理装置10は、複数のピクチャが符号化されることによって生成された画像信号を処理する画像処理装置であって、パラメータ取得部11と処理部12とを備える。
パラメータ取得部11は、複数のピクチャのうちの少なくとも1つのピクチャと他のピクチャとの間の符号化における参照関係の制限を示すパラメータをその画像信号から取得する。処理部12は、そのパラメータによって示される制限を緩和するための制限緩和処理を実行する。
このような本発明の一態様にかかる画像処理方法および画像処理装置であっても、上記各実施の形態および変形例と同様の効果を奏する。つまり、上記一態様の構成では、例えばNALユニットタイプまたはテンポラルネスティングフラグなどのパラメータが間違っているために、そのパラメータによって示される参照関係の制限が不当に厳しい場合であっても、その参照関係の制限が緩和される。したがって、そのパラメータによって示される参照関係の制限と、画像信号における実際の参照関係(参照ピクチャの番号などによって示される関係)、または他のパラメータ(他のNALユニットタイプ)によって示される参照関係との間で、不整合が生じることによって発生するエラーを抑えることができる。したがって、例えば、画像信号に対する復号がエラーによって終了してしまうことを防ぐことができる。
なお、上記各実施の形態および変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態および変形例の画像処理装置などを実現するソフトウェアは、図19Aに示すフローチャートの各ステップの処理を実行するプログラムである。
以上、一つまたは複数の態様に係る画像処理方法および画像処理装置について、各実施の形態および変形例に基づいて説明したが、本発明は、これらの実施の形態および変形例に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
(実施の形態4)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法、画像処理方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法、画像処理方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法(画像処理方法)を用いた画像復号装置(画像処理装置)からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図20のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像処理装置または画像復号装置として機能する)。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
なお、コンテンツ供給システムex100の例に限らず、図21に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置、画像処理装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像処理装置または画像復号装置として機能する)。
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
図22は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図23に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図24に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図22に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
図25Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
さらに、携帯電話ex114の構成例について、図25Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像処理装置または画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
(実施の形態5)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
図26は、多重化データの構成を示す図である。図26に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
図27は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
図28は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図28における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図28の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
図29は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図29下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
図30はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
多重化データ情報ファイルは、図31に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
多重化データ情報は図31に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
ストリーム属性情報は図32に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
また、本実施の形態における動画像復号化方法のステップを図33に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
(実施の形態6)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図34に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した画像処理方法、動画像符号化方法、又は動画像復号化方法を実行することができる。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
(実施の形態7)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図35は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
より具体的には、駆動周波数切替え部ex803は、図34のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図34の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態5で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態5で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図37のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
図36は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
(実施の形態8)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図38Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
また、処理を一部共有化する他の例を図38Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る画像処理方法または動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
このように、本発明の一態様に係る画像処理方法または動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。