以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
まず、実施の形態1について説明する。
図1は、本実施の形態における画像符号化方法を実現するための画像符号化装置の構成を示すブロック図である。
画像符号化装置100は、メモリ情報制御部101と、短時間保存メモリ管理部102と、長時間保存メモリ管理部103と、非保存メモリ管理情報部104と、管理情報符号化部105と、参照画像選択部106と、保存領域指定部107と、参照領域指定部108と、画像メモリ109と、画像復号化部111と、画像符号化部110と、可変長符号化部112と、カウンタ113と、カウンタ114などから構成される。
参照画像選択部106は外部から入力される重要度指示信号Priおよびピクチャタイプ情報PicTypeから参照画像の候補を選択し、メモリ情報制御部101に通知する。
メモリ情報制御部101は、ピクチャタイプ情報PicTypeによって前方および後方のいずれ、もしくは両方の画像(ピクチャ)が参照可能かどうかを判断し、参照領域指定部108に指令して、画像メモリ109から対応する参照画像を画像符号化部110に出力する。
画像符号化部110は、画像メモリ109から出力される参照画像を参照して入力画像信号Vinを符号化し、可変長符号化部112は更に可変長符号化して画像符号化ストリームVideoStrを出力する。画像符号化部110の出力は、また、画像復号化部111で復号化されて復号化画像となり、画像メモリ109に参照画像として格納される。
このとき、画像メモリ109における復号化画像の格納可能なメモリ位置は、次のように指定される。メモリ情報制御部101が短時間保存メモリ管理部102に問い合わせて、短時間メモリで画像の除去されたメモリ位置を特定し、保存領域指定部107がそのメモリ位置に復号化画像を記録するように、画像メモリ109に対し指示を出す。
短時間保存メモリ管理部102は、短時間保存メモリ内の不要な(参照されない)画像を検出して除去する(メモリを開放する)指令をメモリ情報制御部101に通知する。また、長時間保存メモリ管理部103は、短時間保存メモリ内の画像を長時間保存メモリに移動する指令をメモリ情報制御部101に通知する。この不要な画像の除去(メモリの開放)指令や、短時間保存メモリ内の画像を長時間保存メモリに移動する指令は、管理情報符号化部105で符号化されて、メモリ管理情報ストリームCtlStrとなる。
一方、伝送路エラーにより、メモリ管理情報ストリームCtlStrの一部が消失することでメモリ管理情報が損なわれることを防止するために、短時間保存メモリ用のカウンタ113および長時間保存メモリ用のカウンタ114で、不要な画像の除去指令や、短時間保存メモリ内の画像を長時間保存メモリに移動する指令の符号化回数を計測し、必要に応じて上記指令の複数回の伝送を可能にする。
また、非保存メモリ管理情報部104は、重要度が低く復号化されにくい画像に付随して、不要な画像の除去指令や短時間保存メモリ内の画像を長時間保存メモリに移動する指令が符号化されたかどうかを管理し、重要度が低い画像に付随して上記指令が符号化された場合は、より高い重要度の画像に付随して再度指令を符号化するように、メモリ情報制御部101に指示を出す。
次に、本発明の実施の形態1における画像符号化方法について説明する。図2は実施の形態1における画像符号化方法を示すフローチャートであり、図1で示した画像符号化装置100が行う動作を示している。なお、図2において図36(a)と動作が同じものには同じ記号を付している。
図2に示す画像符号化方法の特徴は、メモリ内で予測符号化の参照画像として不要な画像(ピクチャ)が存在する場合に、その画像の保存されているメモリ領域を開放する(その画像を除去する)メモリ管理情報のコマンドを繰り返し符号化することである。このように、メモリ管理情報のコマンドを繰り返し符号化することで、片方のメモリ管理情報のコマンドが伝送路エラーで消失しても、もう一方のメモリ管理情報のコマンドからメモリ内に保存されている画像の管理情報を復元できるため、伝送路エラーがあっても画像を正しく復元できる可能性が高くなる。
図2において、まず、入力画像を符号化する(Step100)。符号化後にメモリ内で不要な領域(今後の符号化で参照されない画像)を調査し(Step101)、不要なメモリ領域があるかを判定する(Step102)。不要なメモリ領域がある場合(Step102のYes)、管理情報符号化部105が不要なメモリ領域を開放するコマンドをメモリ管理情報として符号化する(Step103)。そして、その不要なメモリ領域を開放する(Step104)。不要なメモリ領域が無い場合(Step102のNo)は、Step103およびStep104の動作は行わない。
次に、メモリ情報制御部101が、直前に符号化した画像(符号化対象より前の画像)の符号化に付随させて、不要なメモリ領域を開放するコマンドがメモリ管理情報として符号化されているかを判定し(Step105)、コマンドが符号化されていない場合は(Step105のNo)処理を終了し、コマンドが符号化されている場合は(Step105のYes)、管理情報符号化部105が、その不要なメモリ領域を開放するコマンドを再度メモリ管理情報として符号化し(Step106)、処理を終了する。
このように、直前の画像の符号化で不要メモリを開放する(メモリ管理情報の)コマンドが符号化されると、再度、メモリ管理情報のコマンドが符号化される。直前の画像の符号化に付随させて符号化されたメモリ管理情報と、再度符号化されたメモリ管理情報は、それぞれ画像符号化装置より出力され、画像復号化装置に伝送され復号化される。
なお、Step105で直前に符号化された画像の符号化信号に付随して、不要なメモリ領域を開放するコマンドが符号化されている場合に、再度コマンドを符号化するとしたが、直前の画像に付随している場合でなく、数画像前の画像に付随している場合でも良く、更に、繰り返して上記コマンドをメモリ管理情報として符号化し、複数の画像に付随して伝送させてもよい。
また、上記不要なメモリ領域を開放するコマンドをメモリ管理情報として複数回伝送することができればよいのであって、そのコマンドを再度符号化して伝送するときに必ずしも画像の符号化信号に付随させて伝送する必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
以上のようにして、不要なメモリ領域を開放する(メモリ管理情報の)コマンドを複数回伝送することで、伝送路エラーが発生した場合でも、複数回伝送されたコマンドのうちいずれかは伝送されて復号されると考えられるため、画像を正しく復元できる可能性が高くなる。
(実施の形態2)
次に、本発明の実施の形態2について説明する。
図3は、実施の形態2における画像復号化方法を実現するための画像復号化装置のブロック図である。
画像復号化装置200は、メモリ情報制御部201と、短時間保存メモリ管理部202と、長時間保存メモリ管理部203と、管理情報復号化部205と、保存領域指定部207と、参照領域指定部208と、画像メモリ209と、画像復号化部210と、可変長復号化部212などから構成される。
メモリ情報制御部201は、ピクチャタイプ情報PicTypeによって、符号化対象に対して前方および後方のいずれ、もしくは両方の画像が参照可能かどうかを判断し、参照領域指定部208に指令して、画像メモリ209から対応する参照画像を画像復号化部210に出力する。
可変長復号化部212は符号化ストリームVideoStrを復号化し、画像復号化部210はそれを更に復号化して、復号画像信号Voutとして出力すると共に画像メモリ209に参照画像として格納する。
このとき、画像メモリ209における復号化画像の格納可能なメモリ位置は、次のように指定される。メモリ情報制御部201が短時間保存メモリ管理部202に問い合わせて、画像の除去されたメモリ位置を特定し、保存領域指定部207がそのメモリ位置に復号化画像を記録するように、画像メモリ209に対し指示を出す。
管理情報復号化部205は、メモリ管理情報ストリームCtlStrを復号化して、メモリ情報制御部201を通じ、短時間保存メモリ内の不要な(参照されない)画像の情報を短時間保存メモリ管理部202に通知し、短時間保存メモリ内の画像を長時間保存メモリに移動する指令を長時間保存メモリ管理部203に通知する。
次に、本発明の実施の形態2における画像復号化方法について説明する。図4は実施の形態2における画像復号化方法を示すフローチャートであり、図3で示した画像復号化装置200が行う動作を示している。なお、図4において図36(b)と動作が同じものは同じ記号を付している。
画像符号化装置が不要なメモリ領域を開放するコマンドを複数回伝送した場合には、伝送路エラーでコマンドが消失しない限り、画像復号化装置は、複数回、メモリ内の同じ画像の領域を開放するコマンドを受信することになる。従って、既に開放したメモリ領域を再度開放するコマンドを画像復号化装置が受信した場合でもエラーとして処理をせずに、逆に正しく受信できていると判断する画像復号化方法を実現しなければならない。本実施の形態では、このような画像復号化方法を実現している。
図4において、まず、管理情報復号化部205がメモリ管理情報を復号化する(Step110)。次に、符号化信号から画像信号を復号化する(Step111)。そして、メモリ情報制御部201が、復号化されたメモリ管理情報にメモリを開放するコマンドがあるか否かを判定する(Step112)。メモリを開放するコマンドがあれば(Step112のYes)、そのコマンドで除去すべき画像があるか若しくは既に開放済み(除去済み)であるかを判定し(Step113)、メモリ開放済みであれば(Step113のYes)何も処理をせずに終了し、そうでなければメモリを開放して(Step114)処理を終了する。一方、メモリ開放コマンドが無い場合には(Step112のNo)Step113およびStep114の動作は行なわず処理を終了する。なお、Step110とStep111は順不同であり、入れ替わっても構わない。
以上のような動作により、実施の形態1の画像符号化方法でメモリ内の同じ画像の領域を開放するコマンドを複数回符号化し伝送し、画像復号化装置200がそれを複数回受信した場合でも、エラーとして処理しないため、正しく復号化できる画像復号化方法が実現できる。
なお、上記不要なメモリ領域を開放するコマンドをメモリ管理情報として複数回伝送されていればよいのであって、そのコマンドを再度符号化して伝送するときに必ずしも画像の符号化信号に付随させて伝送されている必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
(実施の形態3)
次に、実施の形態3における画像符号化方法について説明する。図5は実施の形態3における画像符号化方法を示すフローチャートであり、画像符号化装置100が行う動作を示している。図5において図37(a)と動作が同じものは同じ記号を付している。
本実施の形態の特徴はメモリ内で短時間保存メモリから長時間保存メモリに移動すべき画像が存在する場合に、その画像を移動するメモリ管理情報のコマンドを繰り返し符号化することである。メモリ管理情報のコマンドを繰り返し符号化することで、片方のメモリ管理情報のコマンドが伝送路エラーで消失しても、もう一方のメモリ管理情報のコマンドからメモリ内に保存されている画像の管理情報を復元できるため、伝送路エラーがあっても画像を正しく復元できる可能性が高くなる。
図5において、まず、入力画像を符号化する(Step120)。符号化後に長時間保存メモリに移動すべき画像があるかを調査する(Step121)。そして、メモリ情報制御部101が長時間保存メモリに移動する画像があるか否かを判定する(Step122)。移動すべき画像があれば(Step122のYes)、管理情報符号化部105は、どのように長時間保存メモリに移動するかを示すコマンドをメモリ管理情報として符号化する(Step123)。そして、そのコマンド通りに画像を長時間保存メモリに移動する(Step124)。
次に、メモリ情報制御部101は、直前に符号化した画像(符号化対象より前の画像)の符号化信号に付随して長時間保存メモリに移動するコマンドをメモリ管理情報として符号化しているか否かを判定し(Step125)、符号化していなければ(Step125のNo)処理を終了し、符号化していれば(Step125のYes)、管理情報符号化部105は、その長時間保存メモリに移動するコマンドを再度メモリ管理情報として符号化して(Step126)、処理を終了する。
このように、直前の画像の符号化で長時間保存メモリに移動する(メモリ管理情報の)コマンドが符号化されると、再度、メモリ管理情報のコマンドが符号化される。直前の画像の符号化に付随させて符号化されたメモリ管理情報と、再度符号化されたメモリ管理情報は、それぞれ画像符号化装置より出力され、画像復号化装置に伝送され復号化される。
なお、Step125で直前に符号化した画像の符号化信号に付随して長時間保存メモリに移動するコマンドが符号化されている場合に再度コマンドを符号化するとしたが、直前の画像に付随している場合でなく数画像前の画像に付随している場合でも良く、更に、繰り返して、上記コマンドをメモリ管理情報として符号化し、複数の画像に付随させてもよい。
また、上記長時間保存メモリに移動するコマンドをメモリ管理情報として複数回伝送することができればよいのであって、必ずしもそのコマンドを再度符号化して伝送するときに画像の符号化信号に付随させて伝送する必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
以上のようにして、長時間保存メモリに画像を移動するコマンドを複数回符号化して伝送することで、伝送路エラーが発生した場合でも、複数回伝送されたコマンドのうちいずれかは伝送されて復号されると考えられるため、画像を正しく復元できる可能性が高くなる。
(実施の形態4)
次に、実施の形態4の画像復号化方法について説明する。
画像符号化装置が長時間保存メモリに移動するコマンドを複数回伝送した場合には、伝送路エラーでコマンドが消失しない限り、画像復号化装置は、短時間保存メモリ内の同じ画像の領域を長時間保存メモリに移動するコマンドを複数回受信することになる。従って、既に移動した画像を再度移動するコマンドを画像復号化装置が受信した場合でもエラーとして処理をせずに、逆に正しく受信できていると判断する画像復号化方法を実現しなければならない。本実施の形態における画像復号化方法の特徴は、このような画像復号化方法を実現したものである。
図6は実施の形態4における画像復号化方法を示すフローチャートであり、図3に示す画像復号化装置200の動作を示している。図6において図37(b)と動作が同じものは同じ記号を付している。
図6において、まず、管理情報復号化部205がメモリ管理情報を復号化する(Step130)。そして、符号化信号から画像信号を復号化する(Step131)。
そして、メモリ情報制御部201が、復号化したメモリ管理情報に長時間保存メモリに画像を移動するコマンドがあるか否かを判定する(Step132)。長時間保存メモリに移動するコマンドがあれば(Step132のYes)そのコマンドで移動すべき画像があるか、若しくは既に移動済み(移動後に除去済みのため画像が存在しない)であるかを判定し(Step133)、長時間保存メモリに移動済みであれば(Step133のYes)何も処理をせず終了し、そうでなければ長時間保存メモリに移動して(Step134)処理を終了する。
一方、長時間保存メモリに移動するコマンドが無い場合には(Step132のNo)Step133およびStep134の動作は行なわず処理を終了する。なお、Step130とStep131は順不同であり、入れ替わっても構わない。
以上のような動作により、実施の形態3の画像符号化方法で、長時間保存メモリに画像を移動するコマンドを複数回符号化して伝送しても、正しく復号化できる画像復号化方法が実現できる。
なお、上記長時間保存メモリに移動するコマンドをメモリ管理情報として複数回伝送されていればよいのであって、必ずしもそのコマンドを再度符号化して伝送するときに画像の符号化信号に付随させて伝送されている必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
(実施の形態5)
次に、本実施の形態における画像符号化方法について説明する。図7は実施の形態5における画像符号化方法を示すフローチャートであり、図1で示した画像符号化装置100の動作を示している。図7において、図2と動作が同じものは同じ記号を付している。
図7に示す本実施の形態の特徴はメモリ内で不要な画像が存在する場合、その画像を除去するメモリ管理情報のコマンドを繰り返し符号化し、少なくとも1回はメモリに保存される重要画面に付随して伝送することである。メモリ管理情報のコマンドを繰り返し符号化する場合でも、重要度の高くない画像に付随してメモリ管理情報のコマンドを伝送したのでは、重要度の高くない画像が全て復号化されない場合にメモリ管理情報のコマンドは取得できなくなる。
例えば、図35(a)において、ピクチャ番号4の画像はピクチャ番号5の画像を符号化した後は不要になるため、ピクチャ番号5の画像に付随してピクチャ番号4の画像のあるメモリ領域を開放するコマンドを符号化することができる。
しかしながら、このピクチャ番号4の画像のあるメモリ領域を開放するコマンドをピクチャ番号5の画像に付随して符号化する以外に、ピクチャ番号7の画像に付随して符号化したのでは、いずれも最も重要度が低い(復号化しない場合に画質劣化が少ない)Bピクチャに付随して上記コマンドが符号化されることになる。これらのBピクチャは復号化されないことがあり、ピクチャ番号4の画像のあるメモリ領域を開放するコマンドが復号化されないことになり、メモリ内の管理情報が正しく再現できないことになる。従って、少なくとも1回は、重要度が高く、必ず復号化され、メモリに保存される画像に付随して画像領域を開放するコマンドを符号化することが必要である。
図7において、まず入力画像を符号化する(Step100)。符号化後にメモリ内で不要な領域(今後の符号化で参照されない画像)を調査し(Step101)、不要なメモリ領域があるかを判定する(Step102)。不要なメモリ領域があれば(Step102のYes)、管理情報符号化部105が、不要なメモリ領域を開放するコマンドをメモリ管理情報として符号化する(Step103)。そして、その不要なメモリ領域を開放する(Step104)。不要なメモリ領域が無い場合(Step102のNo)は、Step103およびStep104の動作は行わない。
次に、メモリ情報制御部101は、過去に符号化された、不要なメモリ領域を開放するコマンドが重要画像(復号化されメモリに保存される)に付随されて符号化されているかを判定し(Step140)、重要画像に付随されて符号化されていれば(Step140のYes)処理を終了し、重要画像に付随されて符号化されていなければ(Step140のNo)、管理情報符号化部105は、その不要なメモリ領域を開放するコマンドを再度メモリ管理情報として符号化して(Step141)処理を終了する。
これにより、不要なメモリ領域を開放するコマンドが重要画像に付随されて符号化される。
以上のようにして、復号化されメモリに保存される重要画像に上記コマンドが付随されるため、上記コマンドが復号されることになり、伝送路エラーが発生した際に画像を正しく復元できる可能性が高くなる。
なお、上記不要なメモリ領域を開放するコマンドをメモリ管理情報として複数回伝送することができればよいのであって、そのコマンドを再度符号化して伝送するときに必ずしも画像の符号化信号に付随させて伝送する必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
(実施の形態6)
次に、本実施の形態の画像符号化方法について説明する。図8は実施の形態6における画像符号化方法を示すフローチャートである。図8は、図1に示した画像符号化装置100の動作を示している。図8において、図5と動作が同じものは同じ記号を付している。
図8に示す本実施の形態の特徴は、長時間保存メモリに画像を移動するメモリ管理情報のコマンドを繰り返し符号化し、少なくとも1回は重要画面(復号化されメモリに保存される)に付随して伝送することである。長時間保存メモリに画像を移動するメモリ管理情報のコマンドを繰り返し符号化する場合でも、重要度の高くない画像に付随してメモリ管理情報のコマンドを伝送したのでは、重要度の高くない画像が全て復号化されない場合に、メモリ管理情報のコマンドを取得できなくなる。
図8において、まず入力画像を符号化する(Step120)。符号化後に長時間保存メモリに移動すべき画像があるかを調査し(Step121)、移動すべき画像があるかを判定する(Step122)。
移動すべき画像があれば(Step122のYes)、管理情報符号化部105がどのように長時間保存メモリに移動するかを示すコマンドをメモリ管理情報として符号化し(Step123)、そのコマンド通りに画像を長時間保存メモリに移動する(Step124)。
次に、メモリ情報制御部101が、過去に符号化した長時間保存メモリに移動するコマンドが、重要画像(復号化されメモリに保存される)に付随されて符号化されているか否かを判定し(Step150)、重要画像に付随していれば(Step150のYes)処理を終了し、重要画像に付随されていなければ(Step150のNo)、管理情報符号化部105がその長時間保存メモリに移動するコマンドを再度メモリ管理情報として符号化して(Step151)、処理を終了する。
これにより、長時間保存メモリに画像を移動するコマンドが重要画像に付随して符号化される。
以上のようにして、復号化されメモリに保存される重要画像に上記コマンドが付随するため、上記コマンドが復号化されることになり、伝送路エラーが発生した際に画像を正しく復元できる可能性が高くなる。
なお、上記長時間保存メモリに移動するコマンドをメモリ管理情報として複数回伝送されていればよいのであって、そのコマンドを再度符号化して伝送するときに必ずしも画像の符号化信号に付随させて伝送されている必要はない。
また、メモリ管理情報のコマンドを再送する場合に、その再送するコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよく、蓄積メディアの別の領域に記録されてもよい。
(実施の形態7)
実施の形態7における画像符号化方法について説明する。
本実施の形態の特徴は、画像の重要度に応じて選択した参照画像を参照して符号化を行う画像符号化方法である。
図9は本発明の実施の形態7における画像符号化方法を示すフローチャートである。図9は、図1で示した画像符号化装置100が行う動作を示したものである。
図9において、まず符号化対象の各画像の重要度を設定する(Step160)。例えば、IピクチャやPピクチャの重要度は高く、Bピクチャの重要度は低い。また、同じPピクチャであっても、多くの画像から参照されるPピクチャの重要度は高く、あまり参照されないPピクチャの重要度は低い。
次に、符号化対象画像と同等以上の重要度の画像をメモリ内の参照画像から選択し、参照画像の候補とする(Step161)。例えば、BピクチャはIピクチャおよびPピクチャを参照できるが、Pピクチャは重要度が低いPピクチャを参照画像の候補から除外する。
次に選択した参照画像の候補を示す指示情報(メモリ管理情報の一種)を符号化し(Step162)、選択した参照画像の候補の中からブロック単位で適切な参照画像を参照して符号化する(Step163)。なお、Step162とStep163は順不同であり、入れ替わっても構わない。
このようにして、参照画像の候補の中に、符号化対象画像の重要度よりも低い重要度の画像を入れないようにしている。
以上のように、参照画像の候補の中に、符号化対象画像の重要度よりも低い重要度の画像を入れないことにより、スケーラビリティを実現できるストリームを生成した場合に参照不可能な画像を参照画像の候補から除外することができ、符号化効率が向上する。
ここで、上述したように設定された画像の重要度に応じて行われる画像符号化方法について、図10を用いて具体的に説明する。
図10(a)は、各フレームに付与される番号(ピクチャ(フレーム)番号)と、各フレームがメモリ内に保存されるときの番号(保存ピクチャ(フレーム)番号)と、各フレームが伝送される順番を示す番号(伝送順序)の関係を示す説明図である。
図10(a)において、ピクチャ番号0のIピクチャは他のピクチャを参照しないのでメモリに保存され、保存ピクチャ番号は0になる。次にピクチャ番号0のIピクチャを参照するピクチャ番号2のPピクチャがメモリに保存されるためピクチャ番号2のPピクチャに関する保存ピクチャ番号が1となる。そして次に、ピクチャ番号0のIピクチャとピクチャ番号2のPピクチャを参照するピクチャ番号1のBピクチャがメモリ内に保存されるため、ピクチャ番号1のBピクチャの保存ピクチャ番号が2となる。各ピクチャが伝送される順番は、メモリに保存された順番とする。同様の手順でピクチャ番号と保存ピクチャ番号と伝送順序の関係が決まる。
次に、デコード(復号)するピクチャ番号と、メモリに保存されているピクチャ番号、および削除されるピクチャ番号の関係の一例について図10(b)を用いて説明する。
図10(b)はデコードするピクチャ番号(フレーム番号)と保存されているピクチャ番号(フレーム番号)と削除されるピクチャ番号(フレーム番号)の関係を示す関係図である。なお、ここではメモリに保存できるピクチャの最大枚数を5とする。メモリには伝送順序に従ってピクチャが保存されることになる。
また、例えばピクチャ番号が4のPピクチャがデコードされるときには、ピクチャ番号が4のPピクチャの保存ピクチャ番号が3であるため、保存ピクチャ番号が0、1、2のピクチャがメモリ上に保存されることになる。デコードするピクチャ番号が3のBピクチャがデコードされるときには、図10(b)に示すように、ピクチャ番号が4、1、2、0のピクチャが保存されている。ここで、ピクチャ番号1のBピクチャは、図10(a)に示すように、ピクチャ番号3のピクチャを復号化した後はどのピクチャからも参照されることがないため、ピクチャ番号が3のピクチャがデコードされた時点で削除される。
同様に、デコードするピクチャ番号が5のBピクチャがデコードされるときには、図10(b)に示すように、ピクチャ番号が6、3、4、2、0のピクチャが保存されている。ここで、ピクチャ番号3のBピクチャは、ピクチャ番号5のピクチャを復号化した後はどのピクチャからも参照されることがないため、ピクチャ番号が5のBピクチャがデコードされた時点で削除される。
さらに、デコードするピクチャ番号が8のPピクチャがデコードされるときには、図10(b)に示すように、ピクチャ番号が5、6、4、2、0のピクチャが保存されている。ここでメモリには最大5フレームしか保存できないため、ピクチャ番号8のPピクチャを後で参照するためにはピクチャ番号が5、6、4、2、0のいずれかのピクチャを削除してピクチャ番号8のPピクチャを記憶するメモリを確保しなければならない。従って、図10(b)における削除するフレームの選択基準として、Pピクチャのデコード、つまり偶数番号のピクチャ番号のデコードにおいては時間的に最も古いピクチャ、即ちこの場合はピクチャ番号が0のIピクチャをピクチャ番号8のPピクチャをデコードした時点で削除する。
同様に、デコードするピクチャ番号が7のBピクチャがデコードされるときには、図10(b)に示すように、ピクチャ番号が8、5、6、4、2のピクチャが保存されている。ここで、ピクチャ番号5のBピクチャは、ピクチャ番号7のBピクチャを復号化した後はどのピクチャからも参照されることがないため、ピクチャ番号が7のBピクチャをデコードした時点で削除される。
さらに、デコードするピクチャ番号が10のPピクチャがデコードされるときには、図10(b)に示すように、ピクチャ番号が7、8、6、4、2のピクチャが保存されている。ここで、メモリには最大5フレームしか保存できないため、ピクチャ番号10のPピクチャを後で参照するためにはピクチャ番号が7、8、6、4、2のいずれかのピクチャを削除してピクチャ番号10のピクチャを記憶するメモリを確保しなければならない。従って、図10(b)における削除するフレームの選択基準として、Pピクチャのデコード、つまり偶数番号のピクチャ番号であるピクチャのデコードにおいては、時間的に最も古いピクチャ番号が2のピクチャをピクチャ番号10のPピクチャをデコードした時点で削除する。
このようにピクチャが削除されるときに、デコードされるピクチャの符号化信号に、ピクチャを削除するためのメモリ管理情報のコマンドが符号化されて付随され、伝送される。
上記図10(b)に示した例では、メモリ内で不要な画像(ピクチャ)が存在し、その画像を除去するメモリ管理情報のコマンドを1回送る例について述べた。このように、除去するメモリ管理情報のコマンドを1回だけ送ると、Bピクチャに付随して送られたメモリ管理情報のコマンドを実行することができない可能性がある。なぜなら、Bピクチャは、Pピクチャの符号化・復号化で参照される画像として用いられる可能性が低いため、十分な記憶容量や伝送容量が確保できない場合にBピクチャのデータが優先して破棄される可能性が高く、その結果Bピクチャに付随して送られたメモリ管理情報のコマンドを実行できない可能性があるためである。
この問題を解決するために、画像を除去するメモリ管理情報のコマンドを繰り返し符号化して伝送するようにした例を説明する。以下図10(c)について具体的に説明する。
図10(c)は、デコードするピクチャ番号(フレーム番号)と保存されているピクチャ番号(フレーム番号)と削除されるピクチャ番号(フレーム番号)の他の関係を示した関係図である。図10(c)において、削除されるピクチャ番号のピクチャを削除するコマンドが、デコードするピクチャ番号のピクチャの符号化信号に付随することを示している。
図10(c)に示すように、ピクチャ番号が3のBピクチャがデコードされるときには、ピクチャ番号が4、1、2、0のピクチャが保存されている。ここで、ピクチャ番号1のBピクチャは、図10(a)に示すように、ピクチャ番号3のピクチャを復号化した後はどのピクチャからも参照されることがない。よって、ピクチャ番号が3のピクチャがデコードされた時点でピクチャ番号1のBピクチャを削除し、削除するためのメモリ管理情報のコマンドがピクチャ番号3のピクチャに付随される。
しかし、ピクチャ番号3のピクチャはBピクチャであるため、IピクチャやPピクチャと比べて画像の再現の点において前述の様に重要度が低く、送信の際にデータが破棄されやすいためピクチャ番号3のBピクチャに付随して送られたメモリ管理情報のコマンドを実行できない可能性がある(図21に示すようにフレームが保存される場合)。
そこで、次にデコードする、ピクチャ番号3のBピクチャより画像の再現の点において重要度が高いピクチャ番号6のPピクチャに、ピクチャ番号3に付随させたピクチャ番号1のピクチャを削除することを示すメモリ管理情報のコマンドを付随させる(図10(c)参照)。
同様に、ピクチャ番号8のPピクチャにピクチャ番号5のBピクチャに付随させたメモリ管理情報のコマンド(ピクチャ番号3のピクチャを削除することを示す)を付随させ、ピクチャ番号10のPピクチャにピクチャ番号7のBピクチャに付随させたメモリ管理情報のコマンド(ピクチャ番号5のピクチャを削除することを示す)を付随させる。なお、ピクチャ番号8のピクチャはPピクチャであるため、図10(c)に示すように、ピクチャ番号7のBピクチャにピクチャ番号8のピクチャに付随させたメモリ管理情報のコマンドを付随させていないが、付随させてもよい。
以上、図10(c)に示すように、Bピクチャに最初に付随させたメモリ管理情報のコマンドと同一のメモリ管理情報のコマンドを、Bピクチャより画像の再現の点において重要度の高いピクチャであり、最初にメモリ管理情報のコマンドを付随させたBピクチャより後に保存または伝送されるピクチャに、繰り返し付随させた。これにより、最初にメモリ管理情報のコマンドが付随されたBピクチャが欠落しても、メモリ管理情報のコマンドを正常に実行することができる。
なお、図10(c)を用いて説明したように、Bピクチャにメモリ管理情報のコマンドを付随させても、更にPピクチャに繰り返しメモリ管理情報のコマンドを付随させる場合に、設定された重要度が用いられる。なお、重要度の設定は、本実施の形態に示したものに限られない。
なお、本実施の形態では各画像の重要度に応じて、各画像を送るか送らないかを決めており、各画像における重要度を、上記実施の形態に示すメモリ管理情報のように各画像に付随して符号化するわけではない。よって、本実施の形態で符号化されたデータの復号化処理は従来の方法と変わらない。
(実施の形態8)
次に、実施の形態8について説明する。
本実施の形態の特徴は、メモリ内の全画像(ピクチャ)を削除して、メモリ領域の初期化を行う(メモリ管理情報の)コマンドを複数回符号化して伝送することである。
上記各実施の形態で示したメモリ管理情報は、図11に示すようなコード情報として付与される。
図11は、メモリ管理情報のコマンドを示す対応図であり、コード番号(Code)と、コマンドの内容(コマンド)と、その付加情報(付加情報)を示している。
例えば、短時間保存メモリの不要なメモリ領域を開放するコマンド(短時間保存メモリ開放)はコード情報Code1として付与され、開放するピクチャ番号(フレーム番号)が付加情報として付加される。
また、コード情報は図13に示す各フレームのヘッダ情報として与えられる。
図13は、各ピクチャの符号化信号におけるヘッダ情報とフレームデータとの関係を示す模式図である。図13において、各符号化信号は、後述するフレームFrm12、Frm11、Frm14の符号化信号を示している。各符号化信号は、ヘッダ情報を有するフレームヘッダと画像の符号化に関するフレームデータを備えている。例えば、フレームFrm12の符号化信号は、フレームヘッダFrm12Hdrと、各データMB12a,MB12b,MB12c,MB12dなどからなるフレームデータを備えている。
この符号化信号の詳細を図14の模式図に示す。
図14は、符号化信号のヘッダ情報におけるメモリ管理情報のコマンドを示す模式図である。
図14に示すように、フレームFrmAの符号化信号はヘッダ情報を有するフレームヘッダFrmAHdrと、各データMBa,MBb,MBc,Mbdなどからなるフレームデータとを備えている。そして、コマンドのコード情報CodeAの次にコード情報CodeAの付加情報AddAが、続いてコード情報CodeAのコマンドの次に実行されるべきコマンドのコード情報CodeB、コード情報CodeBの付加情報AddBがフレームヘッダFrmAHdrに付加される。付加情報がなければコード情報CodeCのようにコード情報のみが付加される。
次に、図12にコマンド実行の手順を示す。
図12は、コマンド実行手順を示すフローチャートである。
図12において、まずコマンドを取得し(StepC0)、コマンドの取得が終了したか否かを判定する(StepC1)。コマンドの取得が終了しておらず、コマンドが取得されれば(StepC1のNo)、取得したコマンドの実行を行い(StepC2)、StepC0に戻ってこの動作を繰り返す。一方、コマンドの取得が終了しておりコマンドが取得されなければ(StepC1のYes)、コマンド実行の処理を終了する。この手続きをフレーム毎に行う。なお、複数のマクロブロックからなるスライスの単位でコマンド情報が送られる場合でも、同上の手順でコマンドが実行される。
ところで、上記実施の形態1では不要な画像を除去する(メモリを開放する)メモリ管理情報のコマンドについて説明した。さらに、実施の形態1では、不要な画像を除去するメモリ管理情報のコマンドを繰り返し符号化することで、片方のメモリ管理情報のコマンドが伝送路エラーで消失しても、もう一方のメモリ管理情報のコマンドからメモリ内に保存されている画像の管理情報を復元でき、画像を正しく復元できる可能性が高くなることを示した。
ここで、図11に示すコード情報のうち、メモリ内の全ての情報を除去する初期化コマンドCode5について検討する。
初期化コマンドCode5が一度だけ送られるときに、この初期化コマンドCode5が伝送路エラーで消失すれば、本来初期化した後に行うメモリ管理等の処理に影響が出る。そこで、実施の形態1と同様に、初期化コマンドCode5を繰り返し符号化して伝送した場合について図15を用いて説明する。
図15は各フレームに付与される番号(ピクチャ(フレーム)番号)と、各フレームがメモリ内に保存されるときの番号(保存ピクチャ(フレーム)番号)と、各フレームが伝送される順番を示す番号(伝送順序)の関係を示す説明図である。
以下、図15について具体的に説明する。まず、ピクチャ番号0のIピクチャは他のピクチャを参照しないのでメモリに保存され、保存ピクチャ番号は0になる。次にピクチャ番号0のIピクチャを参照するピクチャ番号2のPピクチャがメモリに保存されるためピクチャ番号2のPピクチャに関する保存ピクチャ番号が1となる。そして、ピクチャ番号0のIピクチャとピクチャ番号2のPピクチャを参照するピクチャ番号1のBピクチャがメモリ内に保存されるため、ピクチャ番号1のBピクチャの保存ピクチャ番号が2となる。各ピクチャが伝送される順番は、メモリに保存された順番とする。同様の手順でピクチャ番号と保存ピクチャ番号と伝送順序の関係が決まる。
図15に示すピクチャ番号12のIピクチャを符号化するときに図11に示す初期化コマンドCode5を送るとする。ピクチャ番号12のIピクチャの保存ピクチャ番号は11であるため、この初期化コマンドCode5により、保存ピクチャ番号が10以下のピクチャをメモリ内から全て除去することができる。
ここで、初期化コマンドCode5を符号化する方法について図16を用いて説明する。
図16は、初期化コマンドcode5を符号化する方法を示すフローチャートであり、図1に示す画像符号化装置100が行う動作を示している。
まず、入力画像を符号化する(StepA0)。符号化後にメモリ内の参照可能な全てのピクチャが不要かどうか(今後の符号化でどの画像も参照されないかどうか)を調査(初期化調査)し(StepA1)、メモリに格納されていたピクチャが今後参照されず初期化した方がよいかを判定する(StepA2)。
初期化したほうがよければ(StepA2のYes)、メモリ領域を初期化する初期化コマンドCode5をメモリ管理情報として符号化し(StepA3)、初期化を行い(StepA4)、処理を終了する。一方、初期化の必要がない場合(StepA2のNo)は、StepA3およびStepA4の動作は行なわず、処理を終了する。
次に符号化された初期化コマンドCode5を復号化する方法について図17を用いて説明する。
図17は符号化された初期化コマンドCode5を復号化する方法を示したフローチャートであり、図3に示す画像復号化装置200が行う動作を示している。
まず、メモリ管理情報を復号化し(StepA10)、符号化信号から画像信号を復号化する(StepA11)。次に、復号化したメモリ管理情報に初期化コマンドCode5があるかを判定し(StepA12)、初期化コマンドCode5があれば(StepA12のYes)、メモリ内に記憶されていたピクチャを全て除去して初期化し(StepA13)、処理を終了する。但し、このとき、復号化した画像(StepA11において)は除去しない。
一方、メモリ管理情報に初期化コマンドCode5がなければ(StepA12のNo)、処理を終了する。
以下、図15を用いてメモリの初期化を行う方法について具体的に説明する。図15に示すピクチャ番号11のBピクチャに、ピクチャ番号12のIピクチャに付与した初期化コマンドCode5と同一の初期化コマンドCode5を付与するとする。
図13で示すと、フレームFrm12(ピクチャ番号12)のフレームヘッダFrm12Hdr と、フレームFrm11(ピクチャ番号11)のフレームヘッダFrm11Hdrとに初期化コマンドCode5が付与されることになる。初期化コマンドCode5は図11に示すように付加情報を有しないため、復号化された時点においてメモリ内に保存されているピクチャをすべて除去することになる。
よって、ピクチャ番号12(保存ピクチャ番号11)のIピクチャに付与した初期化コマンドCode5が伝送路エラーで消失し、ピクチャ番号11(保存ピクチャ番号12)のBピクチャに付与した初期化コマンドCode5が実行されると、保存ピクチャ番号11以前に復号化したピクチャでメモリに保存されているピクチャが全て除去されることになる。つまり、本来除去されてはならないピクチャ番号12(保存ピクチャ番号11)のIピクチャまでが除去されることになる。
このようにピクチャ番号11のBピクチャに、ピクチャ番号12のIピクチャに付与した初期化コマンドCode5と同一の初期化コマンドCode5を付与したときは、1枚のピクチャ(ピクチャ番号12のIピクチャ)が欠落することになる。一方、ピクチャ番号14(保存ピクチャ番号13)のPピクチャに、ピクチャ番号12(保存ピクチャ番号11)のIピクチャに付与した初期化コマンドCode5と同一の初期化コマンドCode5を付与し、ピクチャ番号12のIピクチャに付与した初期化コマンドCode5が伝送路エラーで消失し、ピクチャ番号14のPピクチャに付与した初期化コマンドCode5が実行されると、2枚のピクチャ(ピクチャ番号11のBピクチャとピクチャ番号12のIピクチャ)が欠落することになる。
なお、初期化コマンドCode5を繰り返し符号化し、最初に送った初期化コマンドCode5も、続けて送った初期化コマンドCode5も、伝送路エラーなく実行される場合にも、上記と同様の問題が生じる。なぜなら、最初に送った初期化コマンドCode5によって初期化され、さらに続けて送った初期化コマンドCode5により再度初期化されるためである。
このようなメモリの初期化における問題を解決するための方法について説明する。
図18にメモリの初期化における問題を解決するために用いるメモリ管理情報のコマンドを示す。
図11と異なる点は、図18では新たに初期化再送コマンドCode6を追加した点である。また、この初期化再送コマンドCode6は付加情報として初期化ピクチャ(フレーム)番号(メモリ領域を初期化する初期化コマンドCode5が付随されるフレームの番号)を有する。
以下、この初期化再送コマンドCode6を用いた画像符号化の処理の流れについて図19を用いて説明する。
図19は、初期化再送コマンドCode6を用いた画像符号化方法を示すフローチャートであり、図1に示す画像符号化装置100の行う動作を示している。図19について図16と同じ動作には同一の符号を付している。
まず、入力画像を符号化する(StepA0)。符号化後にメモリ内の全てのピクチャが不要かどうか(今後の符号化でどの画像も参照されないかどうか)を調査(初期化調査)する(StepA1)。メモリ情報制御部101が、初期化が必要であるかを判定し(StepA2)、初期化が必要であれば(StepA2のYes)、管理情報符号化部105が、メモリ領域を初期化する初期化コマンドCode5をメモリ管理情報として符号化し(StepA3)、初期化を行う(StepA4)。初期化の必要がない場合(StepA2のNo)は、StepA3およびStepA4の動作は行わない。
次に、メモリ情報制御部101が、直前に符号化した画像(符号化対象より前の画像)の符号化信号に付随してメモリ領域を初期化する初期化コマンドCode5をメモリ管理情報として符号化しているか否かを判定し(StepA30)、符号化していれば(StepA30のYes)、管理情報符号化部105が、そのメモリ領域を初期化する初期化再送コマンドCode6をメモリ管理情報として符号化して(StepA31)、処理を終了する。
また、直前に符号化した画像(符号化対象より前の画像)の符号化信号に付随してメモリ領域を初期化する初期化コマンドCode5がメモリ管理情報として符号化されていなければ(StepA30のNo)、処理を終了する。
なお、図19に示す方法では、直前に符号化した画像の符号化信号に付随してメモリ領域を初期化する初期化コマンドCode5が符号化されている場合に、再度初期化再送コマンドCode6を符号化するとしたが、直前ではなく数画像前に符号化した画像の符号化に付随してメモリ領域を初期化する初期化コマンドCode5が符号化されている場合に、再度初期化再送コマンドCode6を符号化しても良く、また複数の画像に付随して、メモリ領域を初期化する初期化再送コマンドCode6をメモリ管理情報として繰り返し符号化してもよい。
具体的には図15に示すようにピクチャ番号12のIピクチャの符号化に付随して初期化コマンドCode5を符号化する場合、ピクチャ番号11のBピクチャの符号化に付随して初期化再送コマンドCode6を符号化してもよく、またピクチャ番号14のPピクチャの符号化に付随して初期化再送コマンドCode6を符号化してもよい。
前者の場合、図13で示すと、フレームFrm12のフレームヘッダFrm12Hdrに初期化コマンドCode5が付与され、更にフレームFrm11のフレームヘッダFrm11Hdrに初期化再送コマンドCode6が付与される、また、後者の場合、フレームFrm12のフレームヘッダFrm12Hdrに初期化コマンドCode5が付与され、フレームFrm14のフレームヘッダFrm14Hdrに初期化再送コマンドCode6が付与されることになる。
さらにまた、ピクチャ番号11のBピクチャの符号化に付随して初期化再送コマンドCode6を符号化するとともに、ピクチャ番号14のPピクチャの符号化にも付随して初期化再送コマンドCode6を符号化するようにしてもよい。この場合、図13で示すと、フレームFrm12のフレームヘッダFrm12Hdrに初期化コマンドCode5が付与され、フレームFrm11のフレームヘッダFrm11Hdrと、フレームFrm14のフレームヘッダFrm14Hdrとに、初期化再送コマンドCode6が付与される。
次に、上記初期化再送コマンドCode6が符号化されたデータを復号化するときの処理について図20を用いて説明する。図20は、符号化された初期化再送コマンドCode6を復号する方法を示すフローチャートであり、図3に示した画像復号化装置200の動作を示している。図20について図17と同じ動作には同一の符号を付している。
まず、管理情報復号化部205が、メモリ管理情報を復号化する(StepA10)。そして、符号化信号から画像信号を復号化する(StepA11)。
復号化したメモリ管理情報に初期化コマンドCode5があるかを判定し(StepA12)、初期化コマンドCode5があれば(StepA12のYes)、メモリ内のピクチャを全て除去して初期化し(StepA13)、初期化コマンドCode5がなければ(StepA12のNo)、初期化を行わない。
次に、メモリ情報制御部101が、メモリ管理情報に初期化再送コマンドCode6があるかを判定する(StepA40)。初期化再送コマンドCode6がなければ(StepA40のNo)処理を終了し、初期化再送コマンドCode6があれば(StepA40のYes)、初期化が済んでいるかどうかを調査する(StepA41)。初期化が済んでいれば(StepA41のYes)処理を終了し、初期化がされていなければ(StepA41のNo)、初期化再送コマンドCode6の付加情報に基づいて、初期化フレーム(メモリ領域を初期化する初期化コマンドCode5が付随されるフレーム)以前の保存フレーム(初期化フレームの符号化時点で参照用画像メモリに格納されているフレーム)を削除し、さらに長時間保存メモリサイズを0とし(StepA42)処理を終了する。なお、長時間保存フレームを使用しない場合は、長時間保存メモリサイズを0にする必要は無い。
よって、図15で示されるピクチャ番号12のピクチャに初期化コマンドCode5、ピクチャ番号14に初期化再送コマンドCode6が付随して符号化された場合、初期化コマンドCode5が伝送路エラーで消失しない場合は、初期化コマンドCode5によって、初期化コマンドCode5が伝送路エラーで消失した場合は初期化再送コマンドCode6によって、保存ピクチャ番号が10以下のピクチャでメモリに保存されているピクチャが全て削除されることになる。
このように、初期化コマンドcode5を繰り返し符号化して伝送する際に、2回目以降は、付加情報である初期化ピクチャ番号の付加された初期化再送コマンドCode6を符号化して伝送するため、その付加情報に基づいて初期化フレーム以前の保存フレーム(最初に初期化コマンドCode5が付随する初期化フレームの符号化時点で参照用画像メモリに格納されているフレーム)が削除されることになる。そのため、必要な画像(ピクチャ)が欠落するような上述した問題を解決することができる。
なお、図21のように図15と異なる保存ピクチャ番号の付け方の場合でも、上記で説明した初期化再送コマンドCode6は有効である。
以下、具体的に説明する。
図21は各フレームに付与される番号(ピクチャ(フレーム)番号)と、各フレームがメモリ内に保存されるときの番号(保存ピクチャ(フレーム)番号)と、各フレームが伝送される順番を示す番号(伝送順序)における他の関係を示す説明図である。
これらの番号の付与方法について説明する。まず、ピクチャ番号0のIピクチャは他のピクチャを参照しないのでメモリに保存され、保存ピクチャ番号は0になる。次にピクチャ番号0のIピクチャを参照するピクチャ番号2のPピクチャがメモリに保存されるためピクチャ番号2のPピクチャに関する保存ピクチャ番号が1となる。そして、ピクチャ番号0のIピクチャとピクチャ番号2のPピクチャを参照するピクチャ番号1のBピクチャがメモリ内に保存されるが、このBピクチャは他のピクチャから参照されることがないため、保存ピクチャ番号は直前に保存されたピクチャ番号2のPピクチャの保存ピクチャ番号と同じく1となる。各ピクチャが伝送される順番は、メモリに保存された順番とする。同様の手順でピクチャ番号と保存ピクチャ番号と伝送順序の関係が決まる。
図21に示すように、ピクチャ番号12のIピクチャを符号化するときに図11に示す初期化コマンドCode5を付随して送るとする。ピクチャ番号12のIピクチャの保存ピクチャ番号は6であるため、この初期化コマンドCode5により、保存ピクチャ番号が5以下のピクチャがメモリ内から全て除去することができる。
ここで、初期化コマンドCode5を繰り返し符号化する場合、具体的には、ピクチャ番号14のPピクチャにピクチャ番号12のIピクチャに付与した初期化コマンドCode5と同一の初期化コマンドCode5を付与する場合について説明する。
初期化コマンドCode5は図11に示すように付加情報を有しないため、復号化された時点において参照用メモリ内に保存されているピクチャをすべて除去することになる。よって、ピクチャ番号12(保存ピクチャ番号6)のIピクチャに付与した初期化コマンドCode5が伝送路エラーで消失し、ピクチャ番号14(保存ピクチャ番号7)のPピクチャに付与した初期化コマンドCode5が実行されると、保存ピクチャ番号6以下のピクチャでメモリに保存されているピクチャが全て除去されることになる。つまり、本来除去されてはならないピクチャ番号12(保存ピクチャ番号6)のIピクチャまでが除去されることになる。
しかし、初期化コマンドCode5の代わりに上記初期化再送コマンドCode6をピクチャ番号14のPピクチャに付随させることによって、ピクチャ番号12のIピクチャに付随した初期化コマンドCode5が伝送路エラーで消失しない場合は初期化コマンドCode5によって、初期化コマンドCode5が伝送路エラーで消失した場合はピクチャ番号14のPピクチャに付随した初期化再送コマンドCode6によって、保存ピクチャ番号が5以下のピクチャでメモリに保存されているピクチャが全て削除されることになる。
すなわち、初期化再送コマンドCode6には付加情報として初期化フレーム(この場合、ピクチャ番号12)番号が付加されているため、初期化フレーム以前の保存フレーム(初期化フレームを保存する時点で参照用画像メモリに格納されている保存ピクチャ番号が5以下の保存フレーム)が削除される。
以上のように、付加情報を有する初期化再送コマンドCode6によって、初期化コマンドcode5が伝送路エラーで欠落した場合でも初期化を正常に実行できる可能性が高くなる。なお、本実施の形態で示した初期化再送コマンドで、付加情報を初期化再送コマンドが付随されたピクチャ番号としたものを初期化コマンドとして代用し、図18に示すCode5とCode6を1つのコマンドで実現するようにしてもよい。これは、初期化情報の再送のために初期化再送を行うときには、初期化コマンドが付随されたフレームの番号を指定するため、当該フレームを再送するようなピクチャ番号は用いられることがないからである。このとき、初期化コマンドCode5は無効としてもよい。
なお、このように1コマンドで上記実施の形態で示した初期化再送コマンドと初期化コマンドCode5とを実現する場合、上記実施の形態で示した初期化再送コマンドでは用いられない特別の値を付加情報として有した初期化再送コマンドをもって、最初に送る初期化コマンドCode5と同一の機能を有するコマンドとしてもよい。
また、上記各実施の形態で説明したように、不要になったメモリ領域を開放するコマンドや初期化コマンドなどのメモリ管理情報が再度伝送されるときに、図13および図14に示すように画像の符号化に関するフレームデータに付加されたヘッダ情報に含まれて伝送されるのではなく、メモリ管理情報の含まれたヘッダ情報がフレームデータとは別に分離して伝送されてもよい。すなわち、再送する上述のコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよい。また、蓄積メディアの別の領域に記録されてもよい。
さらにまた本実施の形態では、初期化コマンドを再送するときに初期化再送コマンドに、初期化コマンドを最初に付随させたピクチャのピクチャ番号(初期化フレーム番号)を付加情報として付加させたが、上述した各実施の形態において示した、開放するメモリ領域を示すコマンドや短時間保存メモリから長時間保存メモリに移動する対象のピクチャを指定するコマンドなどのメモリ管理情報のコマンドを再送するときにも、最初にそのコマンドを付随させて伝送した符号化対象ピクチャのピクチャ番号(ピクチャを特定する情報)をパラメータとして含めて伝送してもよいのは当然である。このようにすることにより、どのピクチャを伝送するときに伝送エラーが発生したのかを検出することができる。
(実施の形態9)
次に、実施の形態9における画像符号化方法および画像復号化方法について説明する。
本実施の形態の特徴は、メモリ管理情報を複数回伝送するときに、2回目以降に伝送されたメモリ管理情報に基づく処理のタイミングを変更していることである。
上記実施の形態で示したメモリ管理情報を繰り返し符号化したデータを復号化するとき、繰り返し送られたメモリ管理情報の処理をする前に必ず、メモリ管理情報を付随させた画像信号を復号化していた。具体例として実施の形態2において説明した、不要なメモリ領域を開放するコマンドを複数回伝送した場合について、図15を用いて再度説明する。
図15に示すピクチャ番号12のピクチャに図18に示すCode1のコマンドを付随させて符号化させ、さらにピクチャ番号11のピクチャにもCode1のコマンドを付随させて符号化させるとする。このとき、復号化は図4に従ってなされる。
まず、ピクチャ番号12のピクチャに付随されたCode1が復号化される(Step110)。次にピクチャ番号12のピクチャが復号化される(Step111)。ここで、本来ピクチャ番号12のピクチャに付随されているはずのCode1が伝送途中で欠落したとすると(Step112のNo)、このフレームに関する処理が終了する。
伝送順でピクチャ番号12のピクチャの次に復号化処理されるのはピクチャ番号11のピクチャである。
まず、ピクチャ番号11のピクチャに付随して符号化されたCode1が復号化される(Step110)。次にピクチャ番号11のピクチャが復号化される(Step111)。このCode1が伝送途中で欠落せず伝送された場合、復号化されたメモリ管理情報にメモリ開放のコマンドであるCode1が存在するため(Step112のYes)、次の処理(Step113)に至る。
ここで、ピクチャ番号11のピクチャが復号化される前に復号化されたピクチャ番号12のピクチャを復号化したときにメモリ開放がされていないため(Step113のNo)、メモリ開放処理がなされる(Step114)。
上記具体例で示したように、不要なメモリ領域を開放するコマンドを複数回伝送することに伴い、本来最初のコマンド実行がされなかったピクチャ(ピクチャ番号12)に対して実行するべきコマンドの実行が、後から送られるピクチャ(ピクチャ番号11)の画像信号の復号化処理の後になり、コマンドの実行の遅延が生じる。
よって、本実施の形態においては、上記課題を解決するための方法について図22、図23、および図24を用いて説明する。
図22は本実施の形態で用いるメモリ管理情報とコマンドの関係を示す対応図である。
図22において、Codeはコマンドの番号を、コマンドはコマンドの内容を、付加情報はコマンドに付加される付加情報を、処理位置はコマンドを実行するタイミングを示している。
図11と異なる点は、図22ではCodeA1からCodeA4までを画像の復号化処理の後に実行するコマンドとする一方、CodeA1からCodeA4に対応したCodeA6からCodeA9までを画像の復号化処理の前に実行するコマンドとした点である。
そして、繰り返してメモリ管理情報を送る場合、最初に符号化するメモリ管理情報のコマンドを、処理位置が復号化後の(画像の復号化後に実行する)コマンド(CodeA1からCodeA4)とし、繰り返し(2回目以降に)符号化するコマンドを、処理位置が復号化前の(画像の復号化前に実行する)コマンド(CodeA6からCodeA9)とする。
これにより、最初に送られたメモリ管理情報が欠落した場合でも、本来最初に送られたメモリ管理情報で実行すべきコマンドが、早期に実行され、遅延等の問題を起こりにくくすることができる。
以下、図22のコマンドを用いるときの処理手順について図23および図24を用いて説明する。
図23は本実施の形態における画像符号化方法を示すフローチャートであり、図1に示した画像符号化装置100の動作を示している。
図23において、まず、画像が符号化される(StepB0)。符号化後にメモリ内で不要な領域(今後の符号化で参照されない画像)を調査し(StepB1)、不要なメモリ領域があるか判定する(StepB2)。不要なメモリ領域があれば(StepB2のYes)、不要なメモリ領域を開放するコマンドを画像信号の復号化の後に実行するものとして、復号化後用メモリ管理情報を符号化し(StepB3)、その不要なメモリ領域を開放する(StepB4)。一方、不要なメモリ領域が無い場合(StepB2のNo)は、StepB3およびStepB4の動作は行わない。
次に、メモリ情報制御部101が、直前に符号化した画像(符号化対象より前の画像)の符号化に付随して不要なメモリ領域を開放するコマンドをメモリ管理情報として符号化しているかを判定する(StepB30)。符号化していなければ(StepB30のNo)処理を終了し、符号化していれば(StepB30のYes)、管理情報符号化部105が、その不要なメモリ領域を開放するコマンドを画像信号の復号化の前に実行するものとして復号化前用メモリ管理情報を符号化して(StepB31)、処理を終了する。
なお、StepB30で直前に符号化した画像の符号化信号に付随して、不要なメモリ領域を開放するコマンドが符号化されている場合に、再度コマンドを符号化するとしたが、直前の画像に付随している場合でなく、数画像前の画像に付随している場合でも良く、更に、上記コマンドを繰り返してメモリ管理情報として符号化し、複数の画像に付随して伝送させてもよい。
次に図23の手順に従って符号化されたデータを復号化する手順について図24と図15を用いて説明する。
図24は、本実施の形態における画像復号化方法を示すフローチャートであり、図3で示した画像復号化装置200が行う動作を示している。
以下の説明において、図15ではピクチャ番号12のピクチャに図22に示すCodeA1のコマンドが付随して符号化されており、さらにピクチャ番号11のピクチャにCodeA6のコマンドを付随させて符号化されているとする。図13で示すと、ピクチャ番号12のフレームFrm12のフレームヘッダFrm12HdrにCodeA1が付与され、ピクチャ番号11のフレームFrm11のフレームヘッダFrm11HdrにCodeA6が付与されることになる。
なお、画像復号化装置では伝送路エラーでコマンドが消失しない限り、複数回メモリ内の同じ画像の領域を開放するコマンドが受信されることになる。従って、画像復号化装置が行う画像復号化方法では、既に開放した画像を再度開放するコマンドを受信した場合でもエラーとして処理をせずに、逆に正しく受信できていると判断しなければならない。
まず、ピクチャ番号12のピクチャに関する復号化処理について説明する。
図24において、まず、ピクチャ番号12のピクチャのメモリ管理情報を復号化し(StepB5)、このメモリ管理情報が復号化前用メモリ管理情報であるかを調査する(StepB7)。ここでこのメモリ管理情報(CodeA1)は復号化後用メモリ管理情報であるため(StepB7のNo)、ピクチャ番号12の画像信号が復号化される。そして、上述したようにメモリ管理情報(CodeA1)は復号化後用メモリ管理情報であるため(StepB9のYes)、メモリが開放され(StepB11)、ピクチャ番号12のピクチャのメモリ管理情報に関する処理は終了する。
一方、メモリ管理情報のCodeA1が欠落していたとき、StepB7において復号化前用メモリ管理情報であると判断されず(StepB7のNo)、また、StepB9においても復号化後用メモリ管理情報であると判断されず(StepB9のNo)、ピクチャ番号12の画像信号の復号化のみがなされ(StepB6)、ピクチャ番号12のメモリ管理情報に関する処理は終了する。
次に、ピクチャ番号11のフレームに関する復号化処理について図24を用いて説明する。
まず、ピクチャ番号11のメモリ管理情報を復号化し(StepB5)、このメモリ管理情報が復号化前用メモリ管理情報であるかを調査する(StepB7)。ここでCodeA6は復号化前用メモリ管理情報であるため(StepB7のYes)、メモリが開放済みかどうかを調査する(StepB8)。ピクチャ番号12の処理において、CodeA1が実行されていればメモリ開放済みのため(StepB8のYes)、メモリ開放処理(StepB10)を行わず、ピクチャ番号11の画像信号の復号化がなされる(StepB6)。そして、メモリ管理情報が復号化後用であるか判定されるが(StepB9)、CodeA6は復号化前用メモリ管理情報であるため(StepB9のNo)、ピクチャ番号11のピクチャのメモリ管理情報に関する処理は終了する。
しかし、伝送過程でのパケットの欠落等でピクチャ番号12のメモリ管理情報が欠落して、ピクチャ番号12に関する処理において、メモリ開放がなされていなければ、ピクチャ番号11に関する処理において、メモリ開放済みでないと判定され(StepB8のNo)、次のステップにおいてメモリ開放される(StepB10)。メモリ開放された後、ピクチャ番号11の画像信号は復号化される(StepB6)。そして、CodeA6は復号化前用メモリ管理情報であるため(StepB9のNo)、ピクチャ番号11のピクチャのメモリ管理情報に関する処理は終了する。
このように再送分については画像信号の復号化より前にコマンドが実行されるようにすることで、最初に送ったコマンドが欠落しても、コマンドの実行の遅れを少なくすることができる。
なお、具体例としてメモリ管理情報がCodeA1とCodeA6である場合について説明したが、CodeA2とCodeA7を用いる場合でも同様の処理で実現可能であり、CodeA3とCodeA8、CodeA4とCodeA9を用いる場合でも同様の処理で実現可能である。
また、図22に示す初期化コマンドCodeA5を復号化後用メモリ管理情報とし、図18に示す初期化再送コマンドCode6を復号化前用メモリ管理情報として、それぞれを対で使うことも可能である。
また、1フレームに1つの復号化後用メモリ管理情報と複数の復号化前用メモリ管理情報がヘッダ情報として付与されている場合、複数の復号化前用メモリ管理情報が復号化後用メモリ管理情報より先に処理されるようにするとよい。
つまり、図13に示すヘッダ情報の先頭の方に復号化前用メモリ管理情報を付与し符号化するようにすればよい。
また、図25(a)と図25(b)とに示す命令の組み合わせにより、メモリ管理情報が復号前用管理情報であるか復号化後用管理情報であるかを別の情報として、上記実施の形態に示したコマンドを実現しても良い。
図25(a)は、コマンドの内容と付加情報を示す対応図である。図25(b)は、コマンドの実行タイミング(処理位置)を示す対応図である。
図26は、符号化信号のヘッダ情報におけるメモリ管理情報のコマンドを示す模式図である。
図26において、フレームFrmBの符号化信号は、フレームヘッダFrmBHdrと、MBa,MBbなどのフレームデータなどを有しており、フレームヘッダFrmBHdrは、ヘッダ情報として、コード情報CodeDなどを有している。
このとき、例えば図26に示すように、フレームFrmBのフレームヘッダFrmBHdrを先頭からコマンドのコード情報CodeD、処理位置を示すFlagD、コマンドの付加情報を示す付加情報AddDとすればよい。付加情報がない場合は図26に示すようにコマンドのCodeE、処理位置を示すFlagEがフレームヘッダFrmBHdrに付加されればよい。コマンドを示すCodeの直後に付加情報を示すAddとせず処理位置を示すFlagとすることにより、図24に示すStepB7やStepB9の処理が最適化できる。
また、コマンドの実行タイミングが画像信号の復号前と復号後のいずれかであるかを区別するために、コマンドの処理位置を示す新しいコマンドを用い、その処理位置を示すコマンドのフレームヘッダでの位置より前に位置するコマンドは復号化後に実施、その処理位置を示すコマンドのフレームヘッダでの位置より後に位置するコマンドは復号化前に実施するようにしてもよい。これにより、複数コマンドがあるときに、それぞれのコマンドの実行タイミング(処理位置)を1つのコマンドで示すことができ、コマンド毎に処理位置を示すFlagを送る場合に比べて送る情報が減少して、符号化効率が向上する。
具体例を図27を用いて説明する。
図27は、他の符号化信号のヘッダ情報におけるメモリ管理情報のコマンドを示す模式図である。
図27において、フレームFrmCの符号化信号は、フレームヘッダFrmCHdrと、MBa,MBbなどのフレームデータなどを有しており、フレームヘッダFrmCHdrは、ヘッダ情報として、前から順にコマンドCodeF、コマンドdif、コマンドCodeG、付加情報AddG、コマンドCodeHが位置している。
そして、処理位置を示すコマンドdifがフレームヘッダFrmCHdrにあるかないかが判別され、処理位置を示すコマンドdifより前にあるコマンドCodeFはフレームFrmCの復号化後に実行され、コマンドdifより後にあるコマンドCodeGやコマンドCodeHはフレームFrmCの復号化前に実行されるようにしてもよい。この場合、処理位置を示すコマンドdifがなければ、フレームヘッダFrmCHdr内の全てのコマンドは、フレームFrmCの復号化処理後に実行されることになる。
尚、上記各実施の形態で説明したように、不要になったメモリ領域を開放するコマンドや初期化コマンドなどのメモリ管理情報が再度伝送されるときに、画像の符号化信号に付加されたヘッダ情報に含まれて伝送されるのではなく、メモリ管理情報の含まれたヘッダ情報が画像の符号化信号とは別に分離して伝送されてもよい。すなわち、再送する上述のコマンドが、符号化されたピクチャと同じストリームにあるのではなく、例えば別のストリームとして伝送するようにしてもよい。また、蓄積メディアの別の領域に記録されてもよい。
(実施の形態10)
次に、本発明の実施の形態10について説明する。
本実施の形態では、上記各実施の形態と符号化を行う単位が異なる。すなわち、上記実施の形態1において不要なメモリ領域を開放するコマンドを複数回伝送するとき、上記コマンドに相当する図1に示されるメモリ管理情報ストリームCtlStrと画像符号化ストリームVideoStrとは画像(ピクチャ)単位で符号化していたが、本実施の形態では、図28に示すストリーム構造のように1フレームをスライス単位で符号化してもよい。
スライス単位で符号化するとは、図28のフレーム1のスライス1がヘッダ1−1、ctlStr1、VideoStr1−1を有し、フレーム1のスライス2がヘッダ1−2、ctlStr1、VideoStr1−2を有するように、各フレームが有するスライス毎にヘッダ、メモリ管理情報ストリームCtlStr、画像符号化ストリームVideoStrを符号化することである。画像符号化装置で符号化後、画像符号化装置はデータストリームを出力する。なお、スライスは同期復帰単位であり、一つまたは複数のブロックからなる帯状の領域であり、複数のスライスからピクチャが構成される。また、ピクチャは1枚の画像に対応する基本的符号化単位であり、ブロックは符号化・復号化の基本単位である。
また、上記のようにメモリ管理情報ストリームCtlStrを複数回伝送するときの内容は同一フレーム内において同一の情報とする。同一の情報とすることにより、このメモリ管理情報ストリームCtlStrのスライス単位での付加の省略ができる。例えば、スライスのヘッダに複数回の伝送が当該スライスでは省略されているかどうかを示す情報を付加し、上記コマンドを複数回伝送することが当該スライスでは省略されているときには「0」を、上記コマンドが当該スライスにおいて伝送されているとき(省略されていないとき)には「1」を付加する。具体的に図29(a)に一例を示し、以下説明する。フレーム1におけるスライス1からスライス3におけるヘッダおよび画像符号化ストリームVideoStrはそれぞれ異なる。一方、スライス1およびスライス2においては同一のメモリ管理情報ストリームCtlStr1を有し、同一フレームにおける複数のスライスにおいて同一のメモリ管理情報ストリームCtlStr1が符号化されていることを示す情報「1」をスライス1およびスライス2それぞれが有する。また、スライス3はメモリ管理情報ストリームCtlStr1を省略していることを示す情報「0」を有する。これにより、複数回伝送することが当該スライスにおいて省略されているときには、先頭のスライス等、上記「1」が示されているスライスにおけるメモリ管理情報ストリームCtlStrを参照することにより、メモリ管理情報ストリームCtlStrの付加を省略可能にでき、ビット数を減らすことが可能となる。
すなわち、上述したメモリ管理情報ストリームCtlStr1を省略していることを示す情報「0」は、除去する対象のピクチャを指定する情報を有さないスライス(スライス3)で、除去する対象のピクチャを指定する情報を参照するとき、除去する対象のピクチャを指定する情報を参照することを示す情報である。
このようなメモリ管理情報ストリームCtlStrの付加を省略可能にする方法は、伝送過程でメモリ管理情報ストリームCtlStrが複数回欠落する可能性は少ないため有効である。
さらに、メモリ管理情報ストリームCtlStrの有無が、メモリ管理情報ストリームCtlStrが省略されていることを示す情報なしに判別できる場合、図29(b)のようにこれを省略してもよい。例えばメモリ管理情報ストリームCtlStrの先頭が画像符号化ストリームVideoStrの先頭と区別できる場合では、図29(b)のようにメモリ管理情報ストリームCtlStr1が符号化されているかどうかを示す情報があるかどうかの判別を、各スライスにおける先頭から所定の位置に所定の情報があるかないかで確認することができる。
このようなメモリ管理情報ストリームCtlStrの付加を省略可能にする方法は、メモリ管理情報ストリームCtlStrを符号化する回数を削減し、ビット数を減らすのに有効である。
以上、符号化について説明したが同様に1フレームの復号化をスライス単位ですることができる。上記実施の形態2において不要なメモリ領域を開放するコマンドを複数回伝送するとき、図3に示す画像復号化装置200においては、上記コマンドに相当する図28に示される管理情報ストリームCtlStrと画像符号化ストリームVideoStrとを有するストリーム構造を分離し、それぞれを画像(ピクチャ)単位で入力するが、それぞれをスライス単位で入力してもよい。
なお、他の実施の形態における符号化・復号化においても同様に1フレームをスライス単位で符号化・復号化してもよい。
また、上記実施の形態1から実施の形態10までに示した符号化方法・復号化方法は、携帯電話やカーナビゲーションシステム等の移動体通信機器やデジタルビデオカメラやデジタルスチールカメラ等の撮影機器にLSI等の半導体によって実装することが可能である。また、実装形式としては、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りが考えられる。
(実施の形態11)
次に、本発明の実施の形態11について説明する。
本実施の形態では、さらに、実施の形態1から実施の形態10で示した画像符号化方法または画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図30は、上記実施の形態1の画像符号化方法または画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図30(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図30(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFD1はケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD1上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
また、図30(c)は、フレキシブルディスクFD1に上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFD1に記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法または画像復号化方法を、フレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスクFD1内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブFDDによりプログラムをフレキシブルディスクFD1から読み出し、コンピュータシステムCsに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
また、上記実施の形態に示した画像符号化方法・画像復号化方法は、携帯電話やカーナビゲーションシステム等の移動体通信機器やデジタルビデオカメラやデジタルスチールカメラ等の撮影機器にLSI等の半導体によって実装することが可能である。また、実装形式としては、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りが考えられる。
ここで、上記実施の形態1から実施の形態10で示した画像符号化方法や画像復号化方法の応用例とそれを用いたシステムを説明する。
図31は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図31のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局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は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化方法あるいは画像復号化方法を用いるようにすればよい。
その一例として携帯電話について説明する。
図32は、上記実施の形態で説明した画像符号化方法と画像復号化方法を用いた携帯電話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について図33を用いて説明する。携帯電話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に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図34に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局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の構成は例えば図33に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
なお、ブロック図(図1、3、33など)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
例えばメモリ以外の機能ブロックが1チップ化されていても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。
以上、図面を参照してこの発明の実施の形態を説明したが、この発明は、図示した実施の形態のものに限定されない。図示した実施の形態に対して、この発明と同一の範囲において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。