以下、本発明の実施の形態について、図1から図28を用いて説明する。
(実施の形態1)
図1は、参照画像メモリMemに格納される画像のピクチャ番号PNの説明図である。同図と、図30の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図の違いを以下で説明する。
従来はSピクチャを符号化・復号化する際に、符号化信号を切り替えると参照画像メモリMemの内容が一致しないことを説明した。そこで、本発明の符号化・復号化方法では、図29の入力画像信号Vinを符号化した場合のピクチャとピクチャ番号PNの対応説明図で、全てのストリームでピクチャが一致する時刻t0、t1、t2の画像のみを参照画像メモリMemに記憶し、それ以外の画像をSピクチャの符号化・復号化前に参照画像メモリMemから削除する。その結果を示すのが図1の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図である。
図1の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図から明らかなように、符号化・復号化で参照画像を明示する場合に、「時刻が新しいものから何ピクチャ前かの情報を明示する」という方法を用いれば、ストリーム1、ストリーム2、ストリーム3のいずれの場合でも同じ時刻の画像を参照することになるため、符号化・復号化が正しく行えることになる。
図2は本発明の画像符号化方法および画像復号化方法の参照画像メモリMemに格納される画像制御に関する情報の符号化方法および復号化方法のフローチャートである。
図2(a)の符号化方法のフローチャートは、図1を用いて説明した動作の実現方法とそのために必要な情報の符号化・復号化方法を示す。
Step0では複数の符号化情報(ストリーム)の中で時刻が同じピクチャを選択する。Step1ではStep0で選択した以外のピクチャを削除することを示す削除情報を符号化する。Step2ではStep0で選択した以外のピクチャを参照画像メモリMemから削除する。以上のようにして、図1に示すように、符号化信号を切り替えても復号可能なストリームを実現するための参照画像メモリMem格納状態を実現できる。
なお、Step1とStep2の順序は入れ替えてもよく、その場合は図2(b)に示す画像符号化方法のフローチャートになる。
図2(a)の符号化方法のフローチャートで符号化した削除情報を図2(c)の復号化方法のフローチャートで示す方法で復号化することで、図1に示すように、符号化信号を切り替えても復号可能なストリームを実現するための参照画像メモリMem格納状態を画像復号化方法で実現できる。
Step5で削除情報を復号化することで、複数の符号化情報(ストリーム)の中で時刻が同じでないピクチャを明示できる。これは図2(a)のStep0で選択した時刻が同じピクチャ以外のものに相当する。次に、Step6では、Step5で選択したピクチャを参照画像メモリMemから削除する。具体的には、参照画像メモリMem内に保存されているピクチャを削除(または消去)する場合、削除されるべきピクチャに、参照画像として使用することを禁止する「不使用」などの識別情報を設定することによって行う。これに対応して、画像復号化ユニットPicDecと画像符号化ユニットPicEncとは、参照画像メモリMem内に保存されているピクチャを参照する際には必ず「不使用」の識別情報が設定されているか否かを確認した上、「不使用」の識別情報が設定されている場合にはそのピクチャを参照せず、「不使用」の識別情報が設定されていないピクチャのみを参照する。以下の実施の形態においても同様にして参照画像メモリMem内のピクチャを削除(または消去)する。もちろん、この削除方法は一例であり、参照画像メモリMem内から前記ピクチャのデータを実際に削除(または消去)してしまうことによって削除してもよいことはいうまでもない。以上のようにして、符号化信号を切り替えても、図1に示すように復号可能なストリームを実現するための参照画像メモリMem格納状態を実現できる。
(実施の形態2)
図3(a)は参照画像メモリMemに格納される画像のピクチャ番号PNの説明図である。図3(a)と図1の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図の違いは、参照画像メモリMem内のピクチャ番号PNが一致するか否かである。
参照画像メモリMem内に保存されているピクチャの時刻だけでなく、参照画像メモリMem内のピクチャ番号PNも全ての符号化信号で一致されることで、符号化・復号化で参照画像を明示する場合に、「ピクチャ番号PNによって参照するピクチャを明示する」という方法が利用可能になり、ストリーム1、ストリーム2、ストリーム3のいずれの場合でも同じ時刻の画像を参照することになるため、符号化・復号化が正しく行えることになる。
これを実現するためには、Sピクチャの符号化・復号化の前に、参照画像メモリMem内に保存されているピクチャのピクチャ番号PNを同じ値に付け替え、その付け替えのための情報を符号化・復号化すればよい。
更に、次にSピクチャを保存する際も同じピクチャ番号PNとして保存しなければならないので、Sピクチャのピクチャ番号PNも、どのストリームの場合でも一致させる必要がある。
図4は本発明の画像符号化方法および画像復号化方法の参照画像メモリMemに格納される画像制御に関する情報の符号化方法および復号化方法のフローチャートであり、図3(a)を用いて説明した動作の実現方法とそのために必要な情報の符号化・復号化方法を示す。
Step10では切替対象の符号化信号で参照画像メモリMemに含まれているピクチャのピクチャ番号PNの最大値(図3(a)の例では8)を検出する。Step12ではピクチャ番号PNの最大値を基準とし、参照画像メモリMemに格納されている各ピクチャのピクチャ番号PNを割り当てなおすための情報を符号化する。また、必要に応じて、次のSピクチャに割り当てるべきピクチャ番号PNも符号化する。なお、図3(a)のストリーム3と図1のストリーム3は同じであるから、ストリーム3については割り当てなおす必要は無い。従って、ピクチャ番号PNの割り当てなおしは必要なもののみ実施し、必要な割り当てなおしの情報のみStep11で符号化すれば良い。最後にStep11で符号化した情報で示すピクチャ番号PNの割り当てなおしをStep12で実施する。以上のようにして、図3に示すように、符号化信号を切り替えても復号可能なストリームを実現するための参照画像メモリMem格納状態を実現できる。
また、Sピクチャのピクチャ番号PNは12であるから、Sピクチャの符号化・復号化後にピクチャ番号PNが連続するようにするためには、図3(b)に示すようにSピクチャ直前のピクチャ番号PN(図29のストリーム1のSピクチャ直前)である11を用いてもよい。この場合はSピクチャのピクチャ番号PNは12であるから、符号化・復号化過程で常にピクチャ番号PNが増加することになり、ピクチャ番号PNが減少した場合をエラーとするエラー検出機能も実現することができてより効果的である。
図5は本発明の入力画像信号Vinを符号化した場合のピクチャとピクチャ番号PNの対応説明図である。図5は図3(b)で説明した方法でピクチャ番号PNの割り当てなおしをした例であり、Sピクチャでピクチャ番号PNが全て12になっており、Sピクチャ符号化・復号化する際に参照画像メモリMemの画像がストリームに依らず一定であれば、Sピクチャでストリームを切り替えても、Sピクチャ以降の全ての画像が正しく復号化できることは明らかである。
なお、Step11とStep12の順序は入れ替えてもよく、その場合は図4(b)に示す画像符号化方法のフローチャートになる。
図4(a)の符号化方法のフローチャートで符号化した削除情報を図4(c)の復号化方法のフローチャートで示す方法で復号化することで、図3(a)に示すように、符号化信号を切り替えても復号可能なストリームを実現するための参照画像メモリMem格納状態を画像復号化方法で実現できる。
Step15でピクチャ番号PNの割り当てなおしの情報を復号化することで、ピクチャ番号PNの割り当てなおしが必要な画像とその方法を特定できる。次に、Step16では、Step15で復号化した、ピクチャ番号PNの割り当てなおしが必要な画像とその方法に基づいて、参照画像メモリMemのピクチャ番号PNの割り当てなおしを行う。以上のようにして、符号化信号を切り替えても、図3に示すように復号可能なストリームを実現するための参照画像メモリMem格納状態を実現できる。
なお、本実施の形態では、実施の形態1と組合せた形での有効性を説明したが、「ピクチャ番号PNによって参照するピクチャを明示する」場合に正しく符号化・復号化できるという長所は実施の形態2のみで実現できるものであり、この効果のみで十分な場合は実施の形態1と組合せないで利用することも可能である。
(実施の形態3)
図6は図3の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図を実現するための別の実施の形態である。
ピクチャのタイプはピクチャタイプ情報PicTypeで識別される。従って、ピクチャタイプ情報PicTypeがストリームを切り替え可能なSピクチャであれば、Sピクチャのピクチャ番号PNに合わせるように参照画像メモリMemのピクチャ番号PNの割り当てなおしを行う規則を決めることで、参照画像メモリMemの個々のピクチャ番号の割り当てなおし方法の情報の符号化・復号化を省略することができる。
以下、図6(a)の動作を説明する。Step20では符号化信号を復号化して画像のピクチャ番号PNを取得する。Step21で取得した画像のピクチャタイプ情報PicTypeを取得し、そのピクチャタイプ情報PicTypeがSピクチャであれば、Step22で所定の方法を用いてSピクチャのピクチャ番号PNに合わせるように参照画像メモリMemのピクチャ番号PNの割り当てなおしを行う。以上のようにして、図3に示すように、符号化信号を切り替えても復号可能なストリームを実現するための参照画像メモリMem格納状態を実現できる。
なお、Step21とStep22の順序は入れ替えてもよく、その場合は図6(b)に示す画像符号化方法のフローチャートになる。
また、図6および図4に示す図3の参照画像メモリMemに格納される画像のピクチャ番号PNの説明図を組み合わせ、図4のStep11およびStep15でピクチャ番号PNの割り当てなおし情報の一部(Sピクチャのピクチャ番号PNに合わせるように参照画像メモリMemのピクチャ番号PNの割り当てなおしを行う規則で表現できないもの)のみを符号化・復号化しても良い。
(実施の形態4)
図7は本発明の画像符号化装置の構成を示すブロック図である。図7の本発明の画像符号化装置のブロック図は、実施の形態1および実施の形態2の画像符号化方法を実現する一例である。
ピクチャ番号生成ユニットPNGenはピクチャ番号PNを生成する。ピクチャ番号PNは参照画像メモリMemに記憶されている画像を区別する識別子であり、参照画像メモリMemに記憶されている異なる画像には異なるピクチャ番号PNが付与される。通常は、参照画像メモリMemに画像を保存する都度ピクチャ番号PNを1増加し、画像復号化装置で受信したピクチャ番号PNが2以上増加した場合には伝送路誤りで保存すべき画像が欠落したことを画像復号化装置で検出しエラー修正またはエラー修整処理を施すことが可能になっている。
最大ピクチャ番号検出ユニットMaxPNは他符号化信号ピクチャ番号OtherPNおよびピクチャ番号生成ユニットPNGenで生成されたピクチャ番号PNを比較し、ピクチャ番号PNの最大値を検出して可変長符号化ユニットVLCに通知すると共に、ピクチャ番号生成ユニットPNGenに通知しピクチャ番号生成ユニットPNGenで生成するピクチャ番号PNを前記ピクチャ番号PNの最大値で初期化する。他符号化信号ピクチャ番号OtherPNは、同じ符号化対象ピクチャに対応する違うストリームのピクチャのピクチャ番号である。その結果、ピクチャ番号生成ユニットPNGenは以後、前記ピクチャ番号PNの最大値より大きなピクチャ番号PNを出力するようになる。
符号化ピクチャ時刻比較ユニットTimeCmpはこれまでに符号化した入力画像信号Vinの各ピクチャの時刻と他の符号化信号(ストリーム)として符号化した各ピクチャのピクチャ時刻FrameTimeを比較し、全ての符号化信号で符号化されている時刻のピクチャの情報を画像除去ユニットPicDelに通知する。
画像除去ユニットPicDelは、ピクチャタイプ情報PicTypeが次のピクチャがSピクチャであることを示す場合には、符号化ピクチャ時刻比較ユニットTimeCmpから通知された情報に基づき、全ての符号化信号で符号化されている時刻のピクチャ以外の参照画像メモリMemに保存されている画像を消去する指令を参照画像メモリMemに通知し、同時に可変長符号化ユニットVLCにもその情報を通知する。
画像符号化ユニットPicEncは参照画像メモリMemに保存されている画像を参照してピクチャタイプ情報PicTypeで示すピクチャタイプとして入力画像信号Vinを周波数変換・量子化等を伴う符号化し、その結果を画像復号化ユニットPicDecや可変長符号化ユニットVLCに送信する。画像復号化ユニットPicDecは画像符号化ユニットPicEncで符号化した結果をピクチャタイプ情報PicTypeで示すピクチャタイプとして逆量子化・逆周波数変換し、後続の画像の符号化で参照するためにピクチャ番号PNとして参照画像メモリMemに保存する。
可変長符号化ユニットVLCは、画像符号化ユニットPicEncで符号化した結果を可変長符号化してビット列にすると共に、復号化で必要な情報である、画像除去ユニットPicDelから通知された参照画像メモリMemに保存されている画像を消去するための情報、および前記ピクチャ番号PNの最大値やピクチャ番号PNを符号化し、符号化信号Strとして出力する。また、画像除去ユニットPicDelから通知された情報や、ピクチャ番号PNから、実施の形態2に記載した方法に基づき、参照画像メモリMemに保存されている画像のピクチャ番号PNを付け替える情報も符号化する。
図8に本発明の符号化信号Strの構成例を示す。以下図8(a)の各データについて説明する。
最初にピクチャ番号PNが符号化される。次に、付け替えるべき最大PNや、参照画像メモリMemに保存されている画像を消去するための情報、参照画像メモリMemに保存されている画像のピクチャ番号PNを付け替える情報が符号化される。それに引き続いてピクチャタイプ情報PicTypeや画像符号化ユニットPicEncの出力である画像符号化データが配置される。
なお、図8(a)は単にデータ配置の一例であり、図8(b)のようにデータの順番を入れ替えて実現することも可能である。
以上の構成により、実施の形態1および実施の形態2の画像符号化方法を実現する画像符号化装置を実現できる。
(実施の形態5)
図9は本発明の画像復号化装置の構成を示すブロック図である。図9の本発明の画像復号化装置のブロック図は、実施の形態1、実施の形態2および実施の形態3を実現する画像復号化装置の一例である。以下その動作を説明する。
可変長復号化ユニットVLDは符号化信号Strを復号化し、様々な情報(参照画像メモリMemに保存されている画像を消去する指令、ピクチャタイプ情報PicType、ピクチャ番号PN、ピクチャ番号PNを付け替える情報および画像データなど)を出力する。
まず、可変長復号化ユニットVLDで得られた参照画像メモリMemに保存されている画像を消去する指令は、画像除去ユニットPicDelに通知され、画像除去ユニットPicDelは参照画像メモリMemに保存されている指令された画像を消去する。
可変長復号化ユニットVLDで得られたピクチャタイプ情報PicTypeは、画像復号化ユニットPicDecに通知され復号化方法を指示する。
可変長復号化ユニットVLDで得られたピクチャ番号PNは、参照画像メモリMemに通知され、画像復号化ユニットPicDecで復号化された画像を格納する際のピクチャ番号PNとする。
可変長復号化ユニットVLDで得られた参照画像メモリMemに保存されている画像のピクチャ番号PNを付け替える情報は、ピクチャ番号変更ユニットPNchgに通知され、ピクチャ番号変更ユニットPNchgはその指示に従い参照画像メモリMem内に保存されている画像のピクチャ番号PNを付け替える。より具体的には、ピクチャ番号変更ユニットPNchgは、参照画像メモリMemに保存されている画像のピクチャ番号PNを読み出し、読み出されたピクチャ番号PNの値を変更した後、そのピクチャ番号PNを参照画像メモリMemに書き込む。
可変長復号化ユニットVLDで得られた画像データは、画像復号化ユニットPicDecにおいて、ピクチャタイプ情報PicTypeで示されるピクチャタイプに応じた復号化方法で復号化される。すなわち、Iピクチャは参照画像メモリMemの画像を参照しないで復号化され、PピクチャおよびBピクチャは参照画像メモリMemに保存されている画像を参照して復号化される。このようにして得られた復号画像は参照画像メモリMem内に保存されると共に、復号画像信号Voutとして出力される。
以上のようにして、実施の形態1、実施の形態2および実施の形態3を実現する画像復号化装置が実現できる。
(実施の形態6)
実施の形態1から実施の形態5に記載した画像符号化装置では、Sピクチャでストリームを切替える際、切替可能なピクチャのピクチャ番号と連続するように、切替可能なピクチャの前のピクチャのピクチャ番号を切替えるようになっていた。本実施の形態では、切替可能なピクチャにおいてピクチャ番号を切替える。
ストリームの切替えの例としては、同一画像を異なるピクチャレートや異なるビットレート、異なるピクチャ構造を有する複数のストリームの符号化に関し、符号化を進めているピクチャが属するストリームから、その他のストリームに属するピクチャに切替えて符号化を進める処理である。以下は、説明の便宜上、単にストリームの切替えと言う。
また、更に、本実施の形態においては、符号化対象のピクチャを参照メモリに保存するか否かは、各ストリームにおいて符号化対象のピクチャの符号化順序(ストリーム順)で前に隣接するピクチャ(以下、前のピクチャ)のピクチャ番号と符号化対象のピクチャ番号との変化の度合いにしたがって判断される。具体的には、符号化対象のピクチャのピクチャ番号が前のピクチャのピクチャ番号に対して「1」増加していれば、符号化対象のピクチャが参照メモリに保存されることを表している。一方、符号化対象のピクチャのピクチャ番号が前のピクチャのピクチャ番号に対して前のピクチャ番号と同じであれば、符号化対象のピクチャは参照メモリに保存されないことを表している。
以下、切替可能なピクチャにおいてピクチャ番号を切替える処理について、図面を参照しながら具体的に説明する。
図10は、入力画像信号Vinを符号化した場合のピクチャとピクチャ番号PNとの対応の一例を示す図である。ストリーム1、ストリーム2、ストリーム3それぞれは、同一の画像信号をそれぞれ異なるピクチャレートで符号化したものである。図10では、符号化される順にしたがってピクチャが、ストリーム毎に並んでいる。
ストリーム1においては、各ピクチャ間で「1」ずつ増加するようにピクチャ番号PNが各ピクチャに割り当てられている。また、ストリーム2においては、ピクチャ間で「1」ずつ増加するようにピクチャ番号が割り当てられたピクチャと、前のピクチャと同じピクチャ番号が割り当てられたピクチャとがある。更に、ストリーム3においては、ストリーム1と同様に、各ピクチャ間で「1」ずつ増加するようにピクチャ番号PNが各ピクチャに割り当てられている。
したがって、ストリーム1、3においては、ピクチャ番号が各ピクチャ間で「1」ずつ増加するので、符号化対象のピクチャが参照メモリに保存される。ストリーム2においては、ピクチャ間で「1」ずつ増加するようにピクチャ番号が割り当てられたピクチャは参照メモリに保存され、前のピクチャと同じピクチャ番号が割り当てられたピクチャは保存されない。
また、ストリーム1のピクチャ番号「0」のピクチャ、ストリーム2のピクチャ番号「0」のピクチャ及びストリーム3のピクチャ番号「0」のピクチャは、時刻t0において対応している。以下同様に、ストリーム1のピクチャF14、ストリーム2のピクチャF22及びストリーム3のピクチャF31は時刻t1で、ストリーム1のピクチャF18、ストリーム2のピクチャF24及びストリーム3のピクチャF32は時刻t2で、ストリーム1のピクチャF112、ストリーム2のピクチャF26及びストリーム3のピクチャF33は時刻t3で、ストリーム1のピクチャF117、ストリーム2のピクチャF215及びストリーム3のピクチャF34は時刻t4で対応している。なお、ピクチャF112、F26、F33は、実施の形態1、2におけるSピクチャに該当する。
図10において、ピクチャBP1、BP2は、ストリームを切替える際に経由され、切替え元のピクチャと切替え先のピクチャとの間で、切替え先のピクチャが属するストリームにおいて切替え先のピクチャの前のピクチャと同じ時刻に対応させて符号化されるスイッチピクチャである。
例えば、ストリーム2のピクチャFO26(切替え元のピクチャ)からストリーム1のピクチャF113(切替え先のピクチャ)にストリームを切替える場合、ピクチャF24とピクチャF113との間で時刻t3のピクチャとしてスイッチピクチャBP1を使う。この場合、切替えピクチャであるスイッチピクチャBP1のピクチャ番号を、切替え先のピクチャF113のピクチャ番号「13」と連続するように「12」に変更する。
また、同様に、ストリーム3のピクチャF32(切替え元のピクチャ)からストリーム2のピクチャF213(切替え先のピクチャ)にストリームを切替える場合、ピクチャF32とピクチャF213との間で時刻t3のピクチャとしてスイッチピクチャBP2を使う。この場合、切替えピクチャであるスイッチピクチャBP2のピクチャ番号を、切替え先のピクチャF213のピクチャ番号「13」と連続するように変更する。
このように、切替え先のピクチャのピクチャ番号と連続するようにスイッチピクチャのピクチャ番号を割り当てることによって、ストリーム毎の流れにしたがって符号化する場合とストリームを切替えた場合とで切替え先のピクチャのピクチャ番号は同じ値になる。
次に、ストリームを切替える場合における、ピクチャ番号の割り当て処理の流れについて説明する。
図11は、図10のストリームの各ピクチャにピクチャ番号を付与して符号化する方法を示すフローチャートである。
ステップ1401では、符号化対象ピクチャがSピクチャかどうか判定される。もし、符号化対象ピクチャがSピクチャであれば、ステップ1402において、符号化対象ピクチャのピクチャ番号を初期値Mに変更する。もし、符号化対象ピクチャがSピクチャでなければ、符号化対象ピクチャのピクチャ番号は変更されない。
ステップ1403では、符号化対象ピクチャがSピクチャの次のピクチャかどうかが判定される。もし、符号化対象ピクチャがSピクチャの次のピクチャであればSピクチャがメモリに記憶されるかどうかの判断がステップ1404で行われる。もし、符号化対象ピクチャがSピクチャの次のピクチャでないならば、符号化対象ピクチャがメモリに記憶されるかどうかがステップ1405で判断される。
ステップ1404においてSピクチャがメモリに記憶されると判断されたときはステップ1406でピクチャ番号MがM+1にインクリメントされ、インクリメントされたピクチャ番号が新たなピクチャ番号になる。
ステップ1404においてSピクチャがメモリに記憶されないと判断されたときは、ステップ1407でピクチャ番号をM自身とする(ピクチャ番号を変更しない。)。ステップ1405においては、符号化対象ピクチャがメモリに記憶されるかどうかが判断される。符号化対象ピクチャがメモリに記憶されると判断されたときはステップ1408でピクチャ番号PNがPN+1にインクリメントされ、インクリメントされたピクチャ番号が新たなピクチャ番号になる。
符号化対象ピクチャがメモリに記憶されないと判断されたときはピクチャ番号の変更は行われない。
ステップ1409では対象ピクチャが符号化される。ステップ1410では、すべての符号化対象ピクチャが符号化されたかどうかが判断される。すべての符号化対象ピクチャが符号化されていないときはステップ1401に戻り、すべての符号化対象ピクチャが符号化されているときは処理を終了する。
図11に示す処理によって、スイッチピクチャ以降のピクチャにおいてピクチャ番号が連続した符号化データストリームを生成することができる。
また、このようにして生成された符号化信号Strは、実施の形態5の画像復号化装置における復号化装置にしたがって復号化すればよい。このようにして、本実施の形態における符号化信号を復号化する画像復号化装置が実現できる。
また、上記実施の形態1から実施の形態6までに示した符号化方法・復号化方法は、携帯電話やカーナビゲーションシステム等の移動体通信機器やデジタルビデオカメラやデジタルスチールカメラ等の撮影機器にLSI等の半導体によって実装することが可能である。また、実装形式としては、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りが考えられる。
(実施の形態7)
復号化対象ピクチャが参照するピクチャは、ピクチャ番号PNによって明示される。またピクチャ番号PNの増減によりピクチャ番号PNのエラーの検出をすることができる。図12は、例えば図8(b)に示すピクチャデータにおいて、ピクチャ番号PNをもとにピクチャ番号PNのエラー検出・修正をする手順について示す。
まずStep20においてピクチャ番号PNを検出する。次に、Step21においてピクチャタイプ情報PicTypeを検出する。そして、StepA2において検出されたピクチャ番号PNが連続しているかどうかを判断する。StepA2においてピクチャ番号PNが連続していればピクチャ番号PNのエラー検出・修正処理を終了する。一方、StepA2においてピクチャ番号PNが連続していなければStepA3においてエラー修正を行う。なお、図4に示す最大保存済PN検出や、PN再割当といった処理は、このエラー検出・修正処理が終了してから実施してもよく、このエラー検出・修正処理と並列に実施してもよい。
StepA3におけるエラー修正の処理に関する第1の方法として、エラーが生じたピクチャ番号PNに関するデータの再送を要求し、再送を受けた後に再度ピクチャ番号PNのエラー検出をする手順に従った処理を行うことが考えられる。しかし、Sピクチャでピクチャ番号PNの不連続は伝送エラーで生じた訳ではない。つまり、Sピクチャでのピクチャ番号PNの不連続はストリーム毎にSピクチャより前にメモリ上に記憶されるピクチャ数が異なる可能性を有しているため、ピクチャ番号PNに関するデータの再送を要求しても対応するピクチャが存在しない可能性があり、不連続なピクチャに対応するピクチャは再送できない可能性が大いにある。従って、再送されないピクチャを再送されるまで要求しつづけるため、画像の再生ができなくなる恐れがある。この理由により画像の再生がうまくできない例に対する解決手段については、以下の実施の形態10で詳しく説明する。
また、ストリームを切り替えた時点で、切り替え先のストリームに対応するメモリ内のピクチャ数が、切り替えを行わない場合のストリームに対応するメモリ内のピクチャ数と完全に一致していなければ画像の再生が正しく行えない可能性がある。
まずメモリは、図13に示すように先入先出メモリである短時間保存メモリと前記短時間保存メモリよりもピクチャを長時間保存するために先入先出では無く直接記憶場所の指定をして記録する長時間保存メモリとを有する。短時間保存メモリが7ピクチャ分保存できる大きさで、長時間保存メモリが4ピクチャ分保存できる場合、参照するピクチャは、メモリに入っているピクチャのうち、短時間保存メモリの方から数えて何番目に入っているピクチャかどうかで指定する。例えば長時間保存メモリにあるusedLT2は8番目に入っているピクチャ(Idx=7)ということができる。このように相対的な位置関係で参照ピクチャは指定される。
また図5に示すようにストリームが3つある場合、図30に示すように同一のピクチャ(例えば図5に示すSピクチャ)を指定するためのメモリ上の位置はそれぞれのストリームによって異なる。そして、Sピクチャにより別のストリームのピクチャを参照することになると、参照ピクチャを指定するためのメモリ上の位置はストリーム毎のメモリによって異なる。なお、Sピクチャとは複数のストリームがあり、所定のストリームから別のストリームに移動するときに、移動前のストリームのSピクチャより前にあるピクチャを参照して予測符号化されるピクチャと、移動先のストリームのSピクチャより前にあるピクチャを参照して予測符号化されるピクチャとが同一の画像となるピクチャである。(図10)。
なお、Sピクチャでなく、Iピクチャの場合でも参照メモリ内で複数のストリームで復号化した画像が完全に一致する場合は、ストリームを切り替えることができるため、IピクチャをSピクチャと同じ用途(ストリーム切替)で用いることができる。
このように様々な条件を加味すると、メモリ内のピクチャ数が一致しない場合に、参照するピクチャを正確に指定することは難しく、参照するピクチャを指定したとしてもエラーが起きる可能性が大きい。
そこで、本実施の形態では、ピクチャ番号PNの不連続や、メモリ内容の不一致等の問題によってピクチャ番号PNのエラー検出処理が終わらなくなることを避けるために用いる付加情報の符号化方法と復号化方法について説明する。この付加情報(全ピクチャ削除情報)とは、画面内符号化を行うIピクチャや上記Sピクチャを符号化した後のピクチャの符号化処理でエラーが生じないように、符号化対象のIピクチャやSピクチャ以外のピクチャを、符号化もしくは復号化で参照するためのメモリから全て削除することを示す命令のことである。
これにより、所定のストリームから別のストリームへ移動した後に、複数のストリームそれぞれのメモリ状態が同一になるため、画面間予測符号化等で参照ピクチャを必要とする場合でも、所定のピクチャをメモリ上で正確に指定することができる。また、所定のストリームから別のストリームへ移動するときに、ピクチャ番号が連続しないことをエラーとして修正しないようにすることにより、実際には存在しない画像の再送を要求することによって復号化できなくなる不都合も解消できる。
以下、符号化方法について図14(a)を用いて説明する。図14(a)は本実施の形態における符号化信号の作成手順を示す。
まずStep20においてピクチャ番号PNを検出する。次に、Step21においてピクチャタイプ情報PicTypeを検出する。そしてStepA1において、検出されたピクチャタイプがIピクチャであるかどうかを判断する。検出されたピクチャタイプがIピクチャであれば、StepA10において符号化対象のIピクチャ以外でメモリ上にある全てのピクチャを削除する。続いてStepA11においてメモリ上にある全てのピクチャを削除することを意味する全ピクチャ削除情報を符号化し、付加情報の符号化手順を終了する。
なお、図14(b)に示すように、図14(a)のStepA1をピクチャタイプがSピクチャであるかどうかを判断するステップとしても同様の符号化処理が可能である。また、StepA1とStepA2とを合わせて、IピクチャであるかまたはSピクチャであるかの判断をStep21におけるピクチャタイプの検出の後に行ってもよい。
また、図15(a)に示すように、Step21におけるピクチャタイプの検出をして、StepA1で符号化対象ピクチャがIピクチャである場合、StepA3のようにピクチャ番号PNが連続しているかどうかを判断して、ピクチャ番号PNが連続していない場合に、符号化対象のIピクチャ以外でメモリ上にある全てのピクチャを削除するようにしてもよい。一方、StepA3においてピクチャ番号PNが連続していれば、メモリ上のピクチャを削除しない。ピクチャタイプとしてSピクチャを検出する場合も、図15(a)と同様の説明が成り立つ。また、StepA1とStepA2とを合わせて、IピクチャであるかまたはSピクチャであるかの判断をStep21におけるピクチャタイプの検出の後に行ってもよい。
なお、図15(a)に示すStepA3の処理の後に図15(b)に示すように、メモリ上に記憶されているピクチャ数が同じかどうかを判断するStepA30の処理をし、ピクチャ番号が連続していてもメモリ上に記憶されているピクチャ数が異なりエラーが生じることを防ぐようにしてもよい。また、図15(b)におけるStepA3の処理をする前にStepA30の処理をして、ピクチャ数がストリーム間で同数でなければStepA10の全ピクチャ削除の処理をし、ピクチャ数がストリーム間で同数であり、かつ、ピクチャ番号が連続でなければStepA10の全ピクチャ削除の処理をするようにしてもよい(図16)。
このように、図15に示すような手順により、参照画像になる可能性のあるピクチャを可能な限りメモリ上に残し、エラーを低減しつつ画像の再現性を高めることができる。また、IピクチャまたはSピクチャにおいてメモリ上に記憶されているピクチャ数が異なったり、ピクチャ番号が連続していなかったりするときに、エラー修正処理を必要としないため、符号化装置におけるメモリ管理を簡略化できる。
更に、Iピクチャであることとメモリ上にある全てのピクチャを削除することは、特別なIピクチャであることを示すピクチャタイプによって示してもよい。
(実施の形態8)
図17は本発明の画像符号化装置の構成を示すブロック図である。図17に示す本発明の画像符号化装置のブロック図は、図14の画像符号化方法を実現する一例である。
ピクチャ番号生成ユニットPNGenはピクチャ番号PNを生成する。ピクチャ番号PNは参照画像メモリMemに記憶されている画像を区別する識別子であり、参照画像メモリMemに記憶されている異なる画像には異なるピクチャ番号PNが付与される。通常は、参照画像メモリMemに画像を保存する都度ピクチャ番号PNを「1」増加し、画像復号化装置で受信したピクチャ番号PNが「2」以上増加した場合には伝送路誤りで保存すべき画像が欠落したことを画像復号化装置で検出しエラー修整(エラーを目立たなくすること)もしくはエラー修正(再送によりエラーの無いピクチャを再生すること)等のエラー修復処理を施すことが可能になっている。
画像除去ユニットPicDel3は、ピクチャタイプ情報PicTypeがSピクチャであることを示す場合(図14のStepA2の処理に対応)には、符号化対象ピクチャ以外の参照画像メモリMemに保存されている画像を消去する指令を参照画像メモリMemに通知し、同時に可変長符号化ユニットVLCにもその情報を通知する。
または、画像除去ユニットPicDel3は、ピクチャタイプ情報PicTypeがIピクチャであることを示す場合(図14のStepA1の処理に対応)には、符号化対象ピクチャ以外の参照画像メモリMemに保存されている画像を消去する指令を参照画像メモリMemに通知し、同時に可変長符号化ユニットVLCにもその情報を通知する。
画像符号化ユニットPicEncは参照画像メモリMemに保存されている画像を参照してピクチャタイプ情報PicTypeで示すピクチャタイプとして入力画像信号Vinを周波数変換・量子化等を伴う符号化し、その結果を画像復号化ユニットPicDecや可変長符号化ユニットVLCに送信する。
画像復号化ユニットPicDecは画像符号化ユニットPicEncで符号化した結果をピクチャタイプ情報PicTypeで示すピクチャタイプとして逆量子化・逆周波数変換し、後続の画像の符号化で参照するためにピクチャ番号PNとして参照画像メモリMemに保存する。
可変長符号化ユニットVLCは、画像符号化ユニットPicEncで符号化した結果を可変長符号化してビット列にすると共に、復号化で必要な情報である、画像除去ユニットPicDel3から通知された参照画像メモリMemに保存されている画像を消去するための情報、ピクチャ番号PN、ピクチャタイプ情報PicTypeを符号化し、符号化信号Strとして出力する。
図8(c)、図8(d)に本発明の符号化信号Strの構成例を示す。以下各データについて説明する。
最初にピクチャ番号PNが符号化される。次に、参照画像メモリMemに保存されている画像を消去するための情報、続いてピクチャタイプ情報PicTypeや画像符号化ユニットPicEncの出力である画像符号化データが配置される。
なお、図8(c)は単にデータ配置の一例であり、図8(d)のようにデータの順番を入れ替えて実現することも可能である。
以上の構成により、図14に示す画像符号化方法を実現する画像符号化装置を実現できる。また、エラー耐性の高い符号化装置を提供することができる。
(実施の形態9)
図18は本発明の画像符号化装置の構成を示すブロック図である。図18の本発明の画像符号化装置のブロック図は、図15の画像符号化方法を実現する一例を示す。なお、以下の説明において図17と同一のユニットに関する説明は省略する。
図18が図17と異なる点は画像除去ユニットPicDel4における処理である。具体的には、画像除去ユニットPicDel4は、ピクチャタイプ情報PicTypeがSピクチャであることを示す場合(図15のStepA2の処理に対応)で、メモリ内のピクチャ数を比較して同一でない場合(図15のStepA30の処理に対応)には、符号化対象ピクチャ以外の参照画像メモリMemに保存されている画像を消去する指令を参照画像メモリMemに通知し、同時に可変長符号化ユニットVLCにもその情報を通知する。なお、ピクチャタイプ情報PicTypeがIピクチャであるときも同様である。また、本発明の符号化信号は図8(c)、図8(d)と同様の構成である。
以上の構成により、図15に示す画像符号化方法を実現する画像符号化装置を実現できる。また、エラー耐性の高い符号化装置を提供することができる。
(実施の形態10)
上記実施の形態7において、Sピクチャでピクチャ番号PNの不連続が生じたとき、再送されないピクチャを再送されるまで要求しつづけるため、画像の再生ができなくなる恐れがあることを示した。以下、この理由により画像の再生がうまくできない例に対する解決方法について説明する。
図19(a)は符号化信号を復号化する手順を示す。
まずStep20においてピクチャ番号PNを検出する。次に、Step21においてピクチャタイプ情報PicTypeを検出する。そしてStepA1において、検出されたピクチャタイプがIピクチャであるかどうかを判断する。検出されたピクチャタイプがIピクチャでなければ、StepA3においてピクチャ番号PNが連続しているかどうかを判断する。一方、検出されたピクチャタイプがIピクチャであれば、エラー検出・修正処理をせずに、一連の処理を終了する。
StepA3においてピクチャ番号PNが連続していなければ、StepA4においてエラー修正がなされる。一方、StepA3においてピクチャ番号PNが連続していれば、エラー検出処理を終了する。
StepA4におけるエラー修正とは、例えば、上記実施例で述べた最大保存済PN検出や、PN再割当といった処理であっても、メモリ上にある全てのピクチャを削除することを意味する全ピクチャ削除情報を受けて、メモリ上にある全てのピクチャを削除する処理でもよい。
なお、図19(b)に示すように、図19(a)のStepA1をピクチャタイプがSピクチャであるかどうかを判断するステップとしても同様の符号化処理が可能である。また、StepA1とStepA2とを合わせて、IピクチャであるかまたはSピクチャであるかの判断をStep21におけるピクチャタイプの検出の後に行ってもよい。
以上のように、IピクチャまたはSピクチャにおいてピクチャ番号が連続していないときに、エラー修正のために再送要求を繰り返して復号化できなくなることを防止することができる。なお、このIピクチャにおける処理は、ストリームを切り替えることができるような特別なIピクチャの場合に特に有効である。
(実施の形態11)
図20は本発明の画像復号化装置の構成を示すブロック図である。図20の本発明の画像復号化装置のブロック図は、図19の画像復号化方法を実現する一例を示す。なお、以下の説明において図9と同一のユニットに関する説明は省略する。
図20が図9と異なる点はPN連続判定ユニットPNchkとピクチャタイプ情報PicTypeとによるエラー検出ユニットErrChkにおける処理である。具体的には、PN連続判定ユニットPNchkに入力されるピクチャ番号PNが連続していなく、ピクチャタイプ情報PicTypeがIピクチャまたはSピクチャでなければ、エラー検出ユニットErrChkからエラー修正命令Errが出力される。エラー修正命令Errがあれば、例えば、最大保存済PN検出や、PN再割当といった処理、あるいは、メモリ上にある全てのピクチャを削除することを意味する全ピクチャ削除情報を受けて、メモリ上にある全てのピクチャを削除する処理をする。
以上の構成により、図19に示す画像復号化方法を実現する画像復号化装置を実現できる。また、エラー耐性の高い復号化装置を提供することができる。
(実施の形態12)
本実施の形態では、ピクチャ番号PNの不連続や、メモリ内容の不一致等の問題によってピクチャ番号PNのエラー検出処理が終わらなくなることを避けることができる別の方法について説明する。本実施の形態が実施の形態7と異なる点は、実施の形態7における符号化の処理において全ピクチャを削除するステップがあったが、全ピクチャを削除するときにはさらにピクチャ番号を「0」から再割り当てすることである。
これにより、所定のストリームから別のストリームへ移動した後に、複数のストリームそれぞれのメモリ状態が同一になり、さらにピクチャ番号が初期化されるため、画面間予測符号化等で参照ピクチャを必要とする場合でも、所定のピクチャをメモリ上で正確に指定することができる。また、復号化対象となる符号化ストリームを所定のストリームから別のストリームへ移動する(切替える)ときに、ピクチャ番号が連続しないことをエラーとして修正しないようにすることにより、復号化できなくなる不都合も解消することができる。
すでに説明したように、動画像を符号化して得られる符号化ストリームにおいては、ストリーム内の各ピクチャに対し、表示時刻の順に連続するピクチャ番号PNが付与される。ピクチャ番号PNが、各ピクチャの表示時刻の順に連続するよう付与される理由は、画像復号化装置が伝送路を介して符号化ストリームを受信する場合などにおいて、符号化ストリーム中のピクチャが伝送エラーなどによって欠落したことを検出することができるからである。このような画像復号化装置は、受信した符号化ストリームを復号化中に、表示時刻の順に入力されるピクチャ間のピクチャ番号PNが2以上増加した場合、先のピクチャを受信してから後のピクチャを受信するまでの間に伝送エラーがあったことを検出し、送信側に、欠落したピクチャの再送を要求することができる。したがって、画像復号化装置が1つの符号化ストリームを継続して復号化している限り、このようにして有効に伝送エラーを検出し、欠落したピクチャの再送を受けて、完全な符号化ストリームを復号化することができる。
しかし、同一の動画像を異なるピクチャレートで符号化して得られる複数の符号化ストリームを入力とし、1つの符号化ストリームを復号化中に、ピクチャレートの異なる他の符号化ストリームに切り替えて以降の復号化を継続する画像復号化装置では、このようなエラー検出が逆に、ピクチャ番号PNのエラー検出処理が終わらなくなるという不具合の原因となる。これは、個々の符号化ストリーム内で各ピクチャのピクチャ番号PNが表示時刻の順に連続するだけで、ピクチャレートの異なる符号化ストリーム間では、同一時刻に表示されるべきピクチャであっても、先頭ピクチャ以外、ピクチャ番号PNが一致しないことに起因する。したがって、画像復号化装置において、1つの符号化ストリームの復号化途中で、復号化対象を別の符号化ストリームに切替えるとき、同一時刻に表示されるピクチャであってもピクチャ番号PNが不連続になる。このように、ピクチャ番号PNの不連続や、メモリ内容の不一致等の問題によってピクチャ番号PNのエラー検出処理が終わらなくなることを避けるために、実施の形態7において付加情報(全ピクチャ削除情報)を用いる符号化方法について説明した。この付加情報とは、画面内符号化を行うIピクチャや上記Sピクチャを符号化した後のピクチャの符号化処理で、ストリーム切替え時のエラーが生じないように、符号化対象以外のピクチャを、符号化もしくは復号化で参照するためのメモリから全て削除することを示す命令のことである。
以下、符号化方法について図21を用いて説明する。図21(a)は本実施の形態における符号化信号の作成手順を示す。
まずStep01においてピクチャ番号PNを検出する。次に、Step02においてStep01で検出されたピクチャ番号PNを符号化する。そして、Step03においてピクチャタイプ情報PicTypeを検出する。Step03において、検出されたピクチャタイプがSピクチャであるかどうかを判断する。
検出されたピクチャタイプがSピクチャであれば、Step05においてメモリ上にある全てのピクチャを削除することを意味する全ピクチャ削除情報を符号化する。次にStep06AにおいてSピクチャを符号化する。そしてStep07においてピクチャ番号を初期化し、続いてStep08において符号化対象のSピクチャ以外でメモリ上にある全てのピクチャを削除する。以上で、付加情報の符号化およびピクチャ番号PNの初期化処理を終了する。
検出されたピクチャタイプがSピクチャでなければ、ピクチャ番号は連続するため、Step06Bにおいてそのピクチャを符号化するが、付加情報の符号化およびピクチャ番号PNの初期化処理、全ピクチャの削除を行わないで処理を終了する。
Step07におけるピクチャ番号PNの初期化とは、例えば、符号化処理が済んだSピクチャにピクチャ番号0を付与することである。つまり、Sピクチャにおいてピクチャ番号を初期化することにより、表示時間の順番でSピクチャに後続するピクチャに対して、Sピクチャ(PN=0)から始まる番号(例えば、PN=1)を付与することになることを意味する。その結果、ピクチャ番号PNの初期化はSピクチャを符号化(すなわちSピクチャのピクチャ番号を符号化した後)した後に行われることになる。
なお、Step04においてSピクチャであるかどうかの判断を行ったが、Iピクチャであるかどうかの判断をしてもよい。また、図21(a)では全ピクチャを削除するステップがある場合には併せてピクチャ番号を初期化するとよく、ピクチャ番号の初期化処理をする判断はIピクチャまたはSピクチャであるか否かに限られるものではない。また、Step02におけるピクチャ番号PNの符号化の処理はStep01のピクチャ番号検出の処理より後の処理で、Step07におけるピクチャ番号PNの初期化の処理より前であればいずれの時点において行ってもよい。また、Step08における符号化対象のSピクチャ以外でメモリ上にある全てのピクチャを削除する処理の後にStep07におけるピクチャ番号PNの初期化の処理をしてもよい。また、Step05におけるメモリ上にある全てのピクチャを削除することを意味する全ピクチャ削除情報を符号化する処理はStep04におけるSピクチャであるかどうかの判断の後の処理で、図21(a)に示す処理が終了する前であればいつでもよい。また、符号化対象のピクチャ以外を、符号化もしくは復号化で参照するためのメモリから全て削除することを意味する付加情報がピクチャタイプ情報PicTypeに含まれるような特別なピクチャタイプ情報PicTypeを用いることで、付加情報を符号化しないことも可能である。更に、SピクチャもしくはIピクチャで切り替えるためにピクチャ番号PNを付け替えることが効果的であるが、必ずしもSピクチャやIピクチャのみで有効な訳ではなく、ストリームを切替ることができればPピクチャ等でも全ピクチャを削除するステップがあればピクチャ番号PNに対して同様の処理をしてもよい。
図22は、本実施の形態12の符号化方法を実現する画像符号化装置の構成を示すブロック図である。
ピクチャ番号生成ユニットPNGenはピクチャ番号PNを生成する。ピクチャ番号PNは参照画像メモリMemに記憶されている画像を区別する識別子であり、参照画像メモリMemに記憶されている異なる画像には異なるピクチャ番号PNが付与される。通常は、参照画像メモリMemに画像を保存する都度ピクチャ番号PNを「1」増加する。また、画像符号化ユニットPicEncからの通知に従って、Sピクチャの符号化後、当該Sピクチャのピクチャ番号PNを「0」に初期化する。
画像除去ユニットPicDel5は、ピクチャタイプ情報PicTypeがSピクチャであることを示す場合(図21のStep03の処理に対応)には、符号化対象ピクチャ以外の参照画像メモリMemに保存されている画像を消去する指令(全ピクチャ削除情報)を参照画像メモリMemに通知し、同時に可変長符号化ユニットVLCにもその情報を通知する。
画像符号化ユニットPicEncは、参照画像メモリMemに保存されている画像を参照してピクチャタイプ情報PicTypeで示されるピクチャタイプとして入力画像信号Vinを周波数変換・量子化等を伴う符号化し、その結果を画像復号化ユニットPicDecおよび可変長符号化ユニットVLCに送信する。また、画像符号化ユニットPicEncは、Sピクチャを符号化した後、ピクチャ番号生成ユニットPNGen2にピクチャ番号PNの初期化指示を通知する。
画像復号化ユニットPicDecは画像符号化ユニットPicEncで符号化した結果をピクチャタイプ情報PicTypeで示されるピクチャタイプとして逆量子化・逆周波数変換し、後続の画像の符号化で参照するためにピクチャ番号PNに対応付けて参照画像メモリMemに保存する。
可変長符号化ユニットVLCは、画像符号化ユニットPicEncで符号化した結果を可変長符号化してビット列にすると共に、復号化で必要な情報である、画像除去ユニットPicDel5から通知された参照画像メモリMemに保存されている画像を消去するための情報(全ピクチャ削除情報)、ピクチャ番号PN、ピクチャタイプ情報PicTypeを符号化し、符号化信号Strとして出力する。
次に、復号化方法について図21(b)を用いて説明する。図21(b)は符号化信号の復号化手順を示す。
まずStep09においてピクチャ番号PNを復号化する。次に、Step010において全ピクチャ削除情報が符号化されているかどうかを判断する。
Step010において全ピクチャ削除情報が符号化されていると判断された場合、Step011において全ピクチャ削除情報を復号化する。そしてStep012Aにおいてピクチャを復号化する。さらに、Step013において復号化対象のピクチャ以外でメモリ上にある全てのピクチャを削除し、続いて、Step014においてピクチャ番号PNを初期化する。以上で、付加情報の復号化およびピクチャ番号PNの初期化処理を終了する。
Step010において全ピクチャ削除情報が符号化されていないと判断された場合、Step012Bにおいてピクチャを復号化し、付加情報の復号化およびピクチャ番号PNの初期化処理を終了する。
Step014におけるピクチャ番号PNの初期化とは、例えば、復号化処理が済んだピクチャにピクチャ番号「0」を付与することである。つまり、図21(a)に示した符号化手順で符号化された符号化信号を復号化する場合は、Sピクチャにおいてピクチャ番号を初期化することにより、表示時間の順番でSピクチャに後続するピクチャに対して、Sピクチャから始まる番号を付与することになることを意味する。
なお、図21(b)では全ピクチャを削除するステップがある場合にはピクチャ番号を初期化する処理をすればよく、その処理をするかどうかの判断は、復号化するピクチャのタイプとは関係はない。また、Step014におけるピクチャ番号PNの初期化の処理はStep013における符号化対象のピクチャ以外でメモリ上にある全てのピクチャを削除する処理の前の処理であってもよい。また、復号化対象のピクチャ以外を、復号化で参照するためのメモリから全て削除することを意味する付加情報がピクチャタイプ情報PicTypeに含まれるような特別なピクチャタイプ情報PicTypeを用いることで、付加情報を符号化しないことも可能である。
図23は、本実施の形態12の復号化方法を実現する画像復号化装置の構成を示すブロック図である。
可変長復号化ユニットVLDは符号化信号Strを復号化し、様々な情報(参照画像メモリMemに保存されている画像を消去する指令、ピクチャタイプ情報PicType、ピクチャ番号PN、ピクチャ番号PNを付け替える情報および画像データなど)を出力する。
まず、可変長復号化ユニットVLDで得られた参照画像メモリMemに保存されている画像を消去する指令(全ピクチャ削除情報)は、画像除去ユニットPicDel6に通知され、画像除去ユニットPicDel6は、参照画像メモリMemに保存されている指令された画像を消去する。
可変長復号化ユニットVLDで得られたピクチャタイプ情報PicTypeは、画像復号化ユニットPicDecに通知され復号化方法を指示する。
可変長復号化ユニットVLDで得られたピクチャ番号PNは、参照画像メモリMemに通知され、画像復号化ユニットPicDecで復号化された画像を格納する際のピクチャ番号PNとする。
可変長復号化ユニットVLDで得られた全ピクチャ削除情報は、ピクチャ番号変更ユニットPNchg2に通知され、ピクチャ番号変更ユニットPNchg2はその指示に従い参照画像メモリMem内に保存されている画像のピクチャ番号PNを付け替える(初期化する)。より具体的には、ピクチャ番号変更ユニットPNchg2は、参照画像メモリMem内の復号化対象ピクチャ(Sピクチャ)以外の画像が全て削除された後、参照画像メモリMemに保存されている画像のピクチャ番号PNを読み出し、読み出されたピクチャ番号PNの値を「0」に変更した後、そのピクチャ番号PNを参照画像メモリMemに書き込む。
可変長復号化ユニットVLDで得られた画像データは、画像復号化ユニットPicDecにおいて、ピクチャタイプ情報PicTypeで示されるピクチャタイプに応じた復号化方法で復号化される。すなわち、Iピクチャは参照画像メモリMemの画像を参照しないで復号化され、PピクチャおよびBピクチャは参照画像メモリMemに保存されている画像を参照して復号化される。このようにして得られた復号画像は参照画像メモリMem内に保存されると共に、復号画像信号Voutとして出力される。
以上の構成により、図21に示す画像復号化方法を実現する画像復号化装置を実現できる。また、エラー耐性の高い復号化装置を提供することができる。
このように本実施の形態に示す符号化方法、復号化方法によって、所定のストリームから別のストリームへ移動した後に、複数のストリームそれぞれのメモリ状態が同一になるため、画面間予測符号化等で参照ピクチャを必要とする場合でも、所定のピクチャをメモリ上で正確に指定することができる。
なお、上記実施の形態においては、付加情報(全ピクチャ削除情報)をピクチャPicTypeとまとめて符号化してもよいと説明したが、Iピクチャでは参照メモリの全ピクチャを削除することにより、そのIピクチャからストリームを再生できる特別なピクチャにすることができる。これをIDR(Instantaneous Decoder Refresh)ピクチャと呼ぶ。IDRピクチャはランダム・アクセスの再生開始位置となることからGOP(Group of Picture)の先頭のIピクチャとして有効である。このIDRピクチャを符号化するときには毎回、メモリ内の当該ピクチャ以外のピクチャをすべて削除し、かつ、当該ピクチャの符号化後にピクチャ番号を初期化すると定めておけば、画像符号化装置においてメモリ内の当該ピクチャ以外の全ピクチャを削除した場合でも付加情報を符号化しなくてもよい。この場合、画像復号化装置においては、符号化ストリーム内のIDRピクチャをピクチャタイプから検出し、IDRピクチャを復号化する場合には、付加情報が符号化されなくても、その都度、メモリ内の当該IDRピクチャ以外のピクチャをすべて削除し、かつ、当該ピクチャの符号化・復号化後にピクチャ番号を初期化する。
(実施の形態13)
さらに、上記各実施の形態で示した画像符号化方法および画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図24は、上記実施の形態1から実施の形態12の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
図24(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図24(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像符号化方法および画像復号化方法が記録されている。
また、図24(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法および画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法および画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、CD-ROM、メモリカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
さらにここで、上記実施の形態で示した画像符号化方法や画像復号化方法の応用例とそれを用いたシステムを説明する。
図25は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図25のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図26は、上記実施の形態で説明した画像符号化方法と画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図27を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってデジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してデジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図28に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図27に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
本発明に係る画像符号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、デジタル放送の放送局および携帯電話機などに備えられる画像符号化装置として有用である。
また、本発明に係る画像復号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、デジタル放送を受信するSTBおよび携帯電話機などに備えられる画像復号化装置として有用である。