(57)【要約】【課題】ネットワークの状態の変化に対応して、最適なデータを送受信する。【解決手段】画像送信装置１１は、画像受信装置に動画データを送信する。動画データの送信レートを下げる必要がある場合、画像送信装置１１は、送信する動画データが、フレーム毎に変化の大きい画像であるときは、画質を落として送信レートを減少させ、フレーム毎に変化の小さい画像であるときは、フレームレートを落として送信レートを減少させる。また、動画データの送信レートを上げる必要がある場合、画像送信装置１１は、送信する動画データが、フレーム毎に変化の大きい画像である場合、フレームレートを上げて送信レートを増加させ、フレーム毎に変化の小さい画像である場合、画質を向上させて送信レートを増加させる。本発明は、ネットワークに接続される電子機器に適用することができる。【選択図】      図３
2004193990.tif 000002
【特許請求の範囲】
【請求項１】
動画データを送受信する第１の情報処理装置および第２の情報処理装置から構成される情報処理システムにおいて、
前記第１の情報処理装置は、
ネットワークを介して、前記第２の情報処理装置に動画データを送信する送信手段と、
前記ネットワークの帯域の状態に基づいて、前記動画データの送信レートの増加、減少、または維持を選択する選択手段と、
前記選択手段により前記送信レートの増加、または減少が選択された場合、前記動画データの動き成分量に基づいて、前記送信手段により送信される前記動画データのフレームレートおよび画質を設定する設定手段と
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置から前記動画データを受信する受信手段を備える
ことを特徴とする情報処理システム。
【請求項２】
ネットワークを介して、他の情報処理装置に動画データを送信する送信手段と、
前記ネットワークの帯域の状態に基づいて、前記動画データの送信レートの増加、減少、または維持を選択する選択手段と、
前記選択手段により前記送信レートの増加、または減少が選択された場合、前記動画データの動き成分量に基づいて、前記送信手段により送信される前記動画データのフレームレートおよび画質を設定する設定手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記動画データの前記動き成分量を算出する算出手段をさらに備え、
前記設定手段は、前記算出手段により算出された前記動き成分量に基づいて、前記送信手段により送信される前記動画データの前記フレームレートおよび前記画質を設定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設定手段は、
前記選択手段により前記送信レートの減少が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より大きい場合、前記送信手段により送信される前記動画データの前記画質を低下させ、
前記選択手段により前記送信レートの減少が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より小さい場合、前記送信手段により送信される前記動画データの前記フレームレートを減少させる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記設定手段は、
前記選択手段により前記送信レートの増加が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より大きい場合、前記送信手段により送信される前記動画データの前記フレームレートを増加させ、
前記選択手段により前記送信レートの増加が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より小さい場合、前記送信手段により送信される前記動画データの前記画質を向上させる
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
ネットワークを介して、他の情報処理装置に動画データを送信する送信ステップと、
前記ネットワークの帯域の状態に基づいて、前記動画データの送信レートの増加、減少、または維持を選択する選択ステップと、
前記選択ステップの処理により前記送信レートの増加、または減少が選択された場合、前記動画データの動き成分量に基づいて、前記送信ステップの処理により送信される前記動画データのフレームレートおよび画質を設定する設定ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
ネットワークを介して、他の情報処理装置に動画データを送信する情報処理装置用のプログラムであって、
前記ネットワークの帯域の状態に基づいて、前記動画データの送信レートの増加、減少、または維持を選択する選択ステップと、
前記選択ステップの処理により前記送信レートの増加、または減少が選択された場合、前記動画データの動き成分量に基づいて、前記他の情報処理装置に送信される前記動画データのフレームレートおよび画質を設定する設定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
ネットワークを介して、他の情報処理装置に動画データを送信する情報処理装置を制御するコンピュータに、
前記ネットワークの帯域の状態に基づいて、前記動画データの送信レートの増加、減少、または維持を選択する選択ステップと、
前記選択ステップの処理により前記送信レートの増加、または減少が選択された場合、前記動画データの動き成分量に基づいて、前記他の情報処理装置に送信される前記動画データのフレームレートおよび画質を設定する設定ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、ネットワークの状態の変化に対応して、最適なデータを送受信できるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
送信端末装置から受信端末装置に対して、インターネットなどのネットワークを経由して、連続してパケットを送信する場合、受信端末装置から送信端末装置に対して、損失した（受信されなかった）パケットを特定する情報や、パケットの受信時刻などの情報を含む確認応答が通知される。送信端末装置は、受信端末装置から受信した確認応答に応じて、送信するパケットの送信間隔やパケットサイズを変更して、ネットワークの帯域の状態に最適な送信レートで、パケットを送信する。
【０００３】
ネットワークの帯域の状態に従って、パケットの送信レートを制御するレート制御アルゴリズムは、通常、パケットロス率（送信端末装置から送信された全パケットに対する、受信端末装置に受信されずに損失したパケットの割合）や、RTT（Round Trip Time）を基に、ネットワークの帯域の状態を推測して、送信レートを制御している。
【０００４】
例えば、送信端末装置は、パケットの損失を検知した場合、パケットの送信間隔をひろくしたり、パケットサイズを小さくして、ネットワーク上を流れるデータの量を減少させる。
【０００５】
このようなパケット通信を利用して、送信端末装置から受信端末装置に、動画データの実時間ストリーミングを行なう情報処理システムがある。送信端末装置は、撮像装置により撮影された動画データをエンコードし、ネットワークを介して受信端末装置に送信する。受信端末装置は、送信端末装置から受信した動画データをデコードして、表示装置に出力する。このような情報処理システムにおいて、送信端末装置から受信端末装置に動画データを送信する送信経路中に、インターネットなどのベストエフォート通信を行なうパケット網が存在する場合、送信端末装置から送信したパケットが、受信端末装置に届かずに損失したり、再生時刻よりも遅れて受信端末装置に到着することがあり、その結果、動画の再生中に、映像が静止したり、動画を再生できなかったりすることがあるという問題があった。
【０００６】
このような再生映像の品質低下を避けるために、送信端末装置から受信端末装置に送信する動画データのフレームレートを、ネットワークの状態に応じて調整し、送信レートを調整するようにしたものがある（例えば、特許文献１参照）。
【０００７】
また、送信端末装置から受信端末装置に送信する動画データの画質を、ネットワークの状態に応じて調整し、送信レートを調整するようにしたものもある（例えば、特許文献２参照）。
【０００８】
さらに、送信端末装置から受信端末装置に送信する動画データのフレームレートおよび画質の両方を、ネットワークの状態に応じて調整し、送信レートを調整するようにしたものもある（例えば、特許文献３および特許文献４参照）。
【０００９】
送信端末装置から受信端末装置に送信する動画データのフレームレートおよび画質の両方を、ネットワークの状態に応じて調整するようにした情報処理システムにおいて、例えば、送信端末装置が、フレームレートを５乃至３０fpsの間で設定し、エンコード時の、1画素当りに要するビット数を０．５０乃至１．００bppの間で設定する場合、送信端末装置が設定可能なフレームレート、およびエンコード時の、1画素当りに要するビット数の範囲は、図1のようになる。図１は、この送信端末装置が、設定可能なフレームレートおよびビット数の範囲を表している。なお、エンコード時の、1画素当りに要するビット数を変更することにより、画質を調整することができる。
【００１０】
図１において、縦軸は、フレームレートを表し、横軸は、エンコード時の、1画素当りに要するビット数を表している。図1において、斜線で覆われた範囲が、この送信端末装置が設定可能なフレームレートおよびビット数の範囲である。上記したように、この送信端末装置は、フレームレートを５乃至３０fpsの間で設定でき、かつ、エンコード時の、1画素当りに要するビット数を０．５０乃至１．００bppの間で設定することができるので、図１において、フレームレートが５乃至３０fpsの間であり、かつ、ビット数が０．５０乃至１．００bppの間の範囲に、斜線が引かれている。
【００１１】
また、図２に示すように、送信ビットレートに応じて、フレームレートおよび画質を一意に変化させるようにしたものもある。この例においては、例えば送信端末装置が、当初、フレームレートおよび１画素当りに要するビット数を（フレームレート，ビット数）＝（３０fps，１．００bpp）に設定して、動画データを送信しているとする。図２の点Aが、（フレームレート，ビット数）＝（３０fps，１．００bpp）の位置である。
【００１２】
送信レートを下げる場合、送信端末装置は、まずフレームレートを半分、すなわち１５fpsに落とし、（フレームレート，ビット数）＝（１５fps，１．００bpp）に設定する。図２の点Bが、（フレームレート，ビット数）＝（１５fps，１．００bpp）の位置である。図２の点Bの送信レートと、点Aの送信レートの比は、
【００１３】
点B（フレームレート×ビット数）／点A（フレームレート×ビット数）＝（１５×１．００）／（３０×１．０）＝１／２
である。
【００１４】
すなわち、送信端末装置は、点Aから点Bに変更する（フレームレートを半分に落とす）ことにより、送信レートを当初（点A）の送信レートの１／２に減少させる。
【００１５】
さらに送信レートを下げる場合、送信端末装置は、ビット数を０．７５bppに落とし、（フレームレート，ビット数）＝（１５fps，０．７５bpp）に設定する。図２の点Cが、（フレームレート，ビット数）＝（１５fps，０．７５bpp）の位置である。図２の点Cの送信レートと、点Aの送信レートの比は、
点C（フレームレート×ビット数）／点A（フレームレート×ビット数）＝（１５×０．７５）／（３０×１．０）＝１１．２５／３０
である。
【００１６】
すなわち、送信端末装置は、点Bから点Cに変更する（ビット数を３／４に落とす）ことにより、送信レートを、当初（点A）の送信レートの約１／３に減少させる。
【００１７】
さらに送信レートを下げる場合、送信端末装置は、フレームレートを１０fpsに落とし、（フレームレート，ビット数）＝（１０fps，０．７５bpp）に設定する。図２の点Dが、（フレームレート，ビット数）＝（１０fps，０．７５bpp）の位置である。図２の点Dの送信レートと、点Aの送信レートの比は、
点D（フレームレート×ビット数）／点A（フレームレート×ビット数）＝（１０×０．７５）／（３０×１．０）＝１／４
である。
【００１８】
すなわち、送信端末装置は、点Cから点Dに変更する（フレームレートを２／３に落とす）ことにより、送信レートを、当初（点A）の送信レートの１／４に減少させる。
【００１９】
さらに送信レートを下げる場合、送信端末装置は、ビット数を０．５０bppに落とし、（フレームレート，ビット数）＝（１０fps，０．５０bpp）に設定する。図２の点Eが、（フレームレート，ビット数）＝（１０fps，０．５０bpp）の位置である。図２の点Eの送信レートと、点Aの送信レートの比は、
点E（フレームレート×ビット数）／点A（フレームレート×ビット数）＝（１０×０．５０）／（３０×１．０）＝１／６
である。
【００２０】
すなわち、送信端末装置は、点Dから点Eに変更する（ビット数を２／３に落とす）ことにより、送信レートを、当初（点A）の送信レートの１／６に減少させる。
【００２１】
さらに送信レートを下げる場合、送信端末装置は、フレームレートを５fpsに落とし、（フレームレート，ビット数）＝（５fps，０．５０bpp）に設定する。図２の点Fが、（フレームレート，ビット数）＝（５ps，０．５０bpp）の位置である。図２の点Fの送信レートと、点Aの送信レートの比は、
点F（フレームレート×ビット数）／点A（フレームレート×ビット数）＝（５×０．５０）／（３０×１．０）＝１／１２
である。
【００２２】
すなわち、送信端末装置は、点Eから点Fに変更する（フレームレートを１／２に落とす）ことにより、送信レートを、当初（点A）の送信レートの１／１２に減少させる。
【００２３】
以上のように、フレームレートと画質（1画素当りのビット数）を段階的に、一意に設定するようにしたものもある。
【００２４】
【特許文献１】
特開平9-74548号公報（第４ページ）
【特許文献２】
特開平7-75092号公報（第５−６ページ）
【特許文献３】
特開平10-164553号公報（第４−５ページ）
【特許文献４】
特開2002-290974号公報（第４−６ページ）
【００２５】
【発明が解決しようとする課題】
しかしながら、従来の情報処理システムにおいては、映像の内容を考慮して、フレームレートおよび画質を調整することができないという課題があった。
【００２６】
すなわち、例えばサッカーの中継など、動きの多い映像（変化の速い映像）は、多少、画質が低下しても、細かく動きを追えるほうが重要なので、フレームレートを維持して、画質を下げたほうが良い。一方、ニューススタジオからの報道など、動きの少ない映像（変化の少ない映像）は、多少コマ送りのような状態になっても、できる限り画質を上げるほうが重要なので、画質を維持して、フレームレートを下げたほうが良い。
【００２７】
しかし、従来、このような映像の特徴に応じて、フレームレートおよび画質を調整するものはなかった。
【００２８】
また、上記した特許文献３および特許文献４に記載の発明においては、フレームレートおよび画質の調整を、ユーザが、マニュアルで調整する必要があり、いちいちフレームレートおよび画質を調整することは不便であるという課題があった。
【００２９】
また、送信端末装置から受信端末装置に異なる品質の動画データを送信するために、特許文献３の発明では異なるデータパスを、また特許文献４の発明では異なるデータソースを用意する必要があり、システム規模が巨大になってしまうという課題があった。
【００３０】
本発明は、このような状況に鑑みてなされたものであり、ネットワークの状態の変化に対応して、最適なデータを送受信させることを目的とする。
【００３１】
【課題を解決するための手段】
本発明の情報処理システムは、第１の情報処理装置は、ネットワークを介して、第２の情報処理装置に動画データを送信する送信手段と、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持を選択する選択手段と、選択手段により送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、送信手段により送信される動画データのフレームレートおよび画質を設定する設定手段とを備え、第２の情報処理装置は、第１の情報処理装置から動画データを受信する受信手段を備えることを特徴とする。
【００３２】
本発明の情報処理装置は、ネットワークを介して、他の情報処理装置に動画データを送信する送信手段と、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持を選択する選択手段と、選択手段により送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、送信手段により送信される動画データのフレームレートおよび画質を設定する設定手段とを備えることを特徴とする。
【００３３】
前記動画データの前記動き成分量を算出する算出手段をさらに設けるようにし、前記設定手段には、算出手段により算出された前記動き成分量に基づいて、前記送信手段により送信される前記動画データの前記フレームレートおよび前記画質を設定するようにさせることができる。
【００３４】
前記設定手段には、前記選択手段により前記送信レートの減少が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より大きい場合、前記送信手段により送信される前記動画データの前記画質を低下させ、前記選択手段により前記送信レートの減少が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より小さい場合、前記送信手段により送信される前記動画データの前記フレームレートを減少するようにさせることができる。
【００３５】
前記設定手段には、前記選択手段により前記送信レートの増加が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より大きい場合、前記送信手段により送信される前記動画データの前記フレームレートを増加させ、前記選択手段により前記送信レートの増加が選択され、かつ、前記動き成分量が、予め設定された所定の基準値より小さい場合、前記送信手段により送信される前記動画データの前記画質を向上させるようにさせることができる。
【００３６】
本発明の情報処理方法は、ネットワークを介して、他の情報処理装置に動画データを送信する送信ステップと、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持を選択する選択ステップと、選択ステップの処理により送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、送信ステップの処理により送信される動画データのフレームレートおよび画質を設定する設定ステップとを含むことを特徴とする。
【００３７】
本発明の記録媒体のプログラムは、ネットワークを介して、他の情報処理装置に動画データを送信する情報処理装置用のプログラムであって、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持を選択する選択ステップと、選択ステップの処理により送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、他の情報処理装置に送信される動画データのフレームレートおよび画質を設定する設定ステップとを含むことを特徴とする。
【００３８】
本発明のプログラムは、ネットワークを介して、他の情報処理装置に動画データを送信する情報処理装置を制御するコンピュータに、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持を選択する選択ステップと、選択ステップの処理により送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、他の情報処理装置に送信される動画データのフレームレートおよび画質を設定する設定ステップとを実行させることを特徴とする。
【００３９】
本発明の情報処理システムにおいては、第１の情報処理装置では、ネットワークを介して、第２の情報処理装置に動画データが送信され、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持が選択され、送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、送信される動画データのフレームレートおよび画質が設定され、第２の情報処理装置では、第１の情報処理装置から動画データが受信される。
【００４０】
本発明の情報処理装置および方法、記録媒体、並びにプログラムにおいては、ネットワークを介して、他の情報処理装置に動画データが送信され、ネットワークの帯域の状態に基づいて、動画データの送信レートの増加、減少、または維持が選択され、送信レートの増加、または減少が選択された場合、動画データの動き成分量に基づいて、送信される動画データのフレームレートおよび画質が設定される。
【００４１】
本発明は、ネットワークに接続される電子機器に適用することができる。
【００４２】
【発明の実施の形態】
図３は、本発明を適用した情報処理システムの一実施の形態の構成を示す図である。
【００４３】
図３において、画像送信装置１１および、画像受信装置１３は、インターネットを含むネットワーク１０を介して、接続されている。画像送信装置１１は、撮像装置１２により撮像された動画を、例えばMPEG（Moving Picture Experts Group）やJPEG（Joint Photographic Experts Group）2000動画などの符号化方式により符号化し、符号化された動画データを含むパケット（以下の説明において、動画データを含むパケットをデータパケットと称する）を生成し、生成したデータパケットを、ネットワーク１０を介して、画像受信装置１３に実時間送信する。また、画像送信装置１１は、画像受信装置１３より、画像送信装置１１がデータパケットを送信した送信時刻やパケットロス率などの情報を含む確認応答のパケット（以下の説明において、画像受信装置１３から画像送信装置１１に送信される確認応答のパケットを応答パケットと称する）を受信し、これらの情報に基づいて、送信する動画データのフレームレートや画質を調整して、データパケットの送信レートを制御する。
【００４４】
撮像装置１２は、例えば、カメラ一体型ビデオテープレコーダやデジタルスチルカメラであり、被写体を撮像し、撮像した被写体の動画データを画像送信装置１１に供給する。
【００４５】
画像受信装置１３は、画像送信装置１１から受信したデータパケットから、動画データを取得し、取得した動画データを表示装置１４に供給するとともに、画像送信装置１１によるデータパケットの送信時刻やパケットロス率などの情報を含む応答パケットを生成し、この応答パケットを、画像送信装置１１に送信する。
【００４６】
表示装置１４は、例えば、CRT（CathodeRay Tube）やLCD（Liquid Crystal Display）により構成され、画像受信装置１３から供給された動画データを表示する。
【００４７】
次に、図４は、画像送信装置１１の内部の構成例を表している。図４において、操作部１０１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１０２に通知する。制御部１０２は、予め設定されたプログラムや、操作部１０１からの操作情報に基づいて、画像送信装置１１の各部の動作を制御する。
【００４８】
映像入力部１０３は、撮像装置１２より、動画データの入力を受け付け、入力された動画データを、エンコード制御部１０４の動き成分算出部１２１、およびエンコーダ１２３に供給する。
【００４９】
エンコード制御部１０４は、動き成分算出部１２１、パラメータ設定部１２２、およびエンコーダ１２３から構成される。動き成分算出部１２１は、レート制御部１０８のレート判定部１３２から、送信レートを増加、または減少するように指令された場合、映像入力部１０３から供給された動画データのフレーム、およびエンコーダ１２３から供給された符号化された動画データのフレームの変化量を、動き成分量として算出し、算出した動き成分量をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分算出部１２１から供給された動き成分量に基づいて、エンコーダ１２３がエンコードする動画データのフレームレート、および画質を設定する。エンコーダ１２３は、映像入力部１０３から供給された動画データを、パラメータ設定部１２２により設定されたフレームレート、および画質になるように、MPEGの符号化方式に従って符号化し、符号化されたデータ（以下の説明において、符号化されたデータを符号化データと称する）を、パケット生成部１０５に供給する。
【００５０】
パケット生成部１０５は、エンコード制御部１０４のエンコーダ１２３から供給された符号化データを、複数に分割してパケット化し、生成したデータパケットに、TCP/IP（Transmission Control Protocol/Internet Protocol）、またはUDP/IP（User Datagram Protocol/Internet Protocol）のパケットヘッダを付加して、パケット送信部１０６に供給する。なお、パケットヘッダには、データパケットの個々を識別するための、シーケンス番号が含まれている。
【００５１】
パケット送信部１０６は、パケット生成部１０５により生成されたデータパケットが供給されると、これを、所定のタイミングで、ネットワーク１０を介して、画像受信装置１３に送信する。なお、パケット送信部１０６は、データパケットを送信するとき、データパケットの送信時刻として、現在時刻をパケットヘッダに記録する。
【００５２】
パケット受信部１０７は、画像受信装置１３より、応答パケットを受信し、応答パケットの受信時刻を、内蔵する内部時計より取得するとともに、受信した応答パケットに含まれている情報、および取得した受信時刻をレート制御部１０８のレート算出部１３１に供給する。
【００５３】
レート制御部１０８は、レート算出部１３１、およびレート判定部１３２により構成される。レート算出部１３１は、パケット受信部１０７から、応答パケットに含まれている情報、および応答パケットの受信時刻が供給されると、供給された情報を基に、データパケットの理想的な送信レートを算出し、算出した理想的送信レートをレート判定部１３２に供給する。レート判定部１３２は、レート算出部１３１から理想的送信レートが供給されると、供給された理想的送信レートを現在の送信レートと比較し、比較結果に基づいて、動き成分算出部１２１に対して、送信レートの増加、または減少を要求する。
【００５４】
次に、図５は、画像受信装置１３の内部の構成例を表している。図５において、操作部１５１は、ユーザからの操作の入力を受け付け、受け付けられた操作に対応する操作情報を制御部１５２に通知する。制御部１５２は、予め設定されたプログラムや、操作部１５１からの操作情報に基づいて、画像受信装置１３の各部の動作を制御する。
【００５５】
パケット受信部１５３は、画像送信装置１１から送信されたデータパケットを、ネットワーク１０を介して受信し、内蔵する内部時計から受信時刻を取得するとともに、受信したデータパケットに受信時刻を付加して、データ再構成部１５４に供給する。
【００５６】
データ再構成部１５４は、パケット受信部１５３からデータパケットが供給されると、供給された複数のデータパケットから、元の符号化データを再構成する。すなわち、画像送信装置１１は、符号化データを送信する際、複数に分割して、それぞれをパケット化して、画像受信装置１３に送信するので、画像受信装置１３は、受信した複数のデータパケットから、元の符号化データを復元する必要がある。データ再構成部１５４は、この再構成処理を行なう。データ再構成部１５４は、符号化データを再構成した後、再構成した符号化データをデコーダ１５５に供給する。また、データ再構成部１５４は、パケット受信部１５３から供給されたデータパケットに付加されているパケットヘッダ、およびデータパケットの受信時刻を読み出し、これらの情報を、状態測定部１５８に供給する。
【００５７】
デコーダ１５５は、データ再構成部１５４から、符号化データの供給を受け、供給された符号化データを復号して動画データを生成し、この動画データを記憶部１５６に供給する。
【００５８】
記憶部１５６は、デコーダ１５５から供給された動画データを、一時的に記憶（バッファリング）する。記憶部１５６に記憶された動画データは、所定のタイミングでビデオ出力部１５７により読み出される。
【００５９】
ビデオ出力部１５７は、所定のタイミングで、記憶部１５６から動画データを読み出し、読み出した動画データを表示装置１４に表示可能な画像信号に変換して、表示装置１４に供給する。
【００６０】
状態測定部１５８は、データ再構成部１５４から、データパケットに付加されていたパケットヘッダ、およびパケット受信部１５３によりデータパケットに付加された受信時刻を取得する。そして、状態測定部１５８は、パケットヘッダに含まれているデータパケットの送信時刻およびデータパケットのシーケンス番号を抽出し、データパケットのシーケンス番号が、その直前に受信したデータパケットのシーケンス番号と連続しているか否かを判定することにより、データパケットの損失の有無を判定する。なお、損失したデータパケットとは、画像送信装置１１から送出されたものの、画像受信装置１３に届いていないパケットのことである。その結果、損失したデータパケットが存在した場合（パケットロスが発生した場合）、状態測定部１５８は、損失したデータパケットのシーケンス番号（以下の説明において、損失したデータパケットのシーケンス番号のことを損失パケット番号と称する）を特定する。
【００６１】
その後、状態測定部１５８は、これらの情報、すなわちデータパケットの送信時刻および受信時刻、並びにデータパケットのシーケンス番号をパケット生成部１５９に供給する。なお、損失パケットがあった場合、状態測定部１５８は、損失パケット番号もパケット生成部１５９に供給する。
【００６２】
パケット生成部１５９は、状態測定部１５８から、データパケットの送信時刻および受信時刻、並びにデータパケットのシーケンス番号が供給されると、これらの情報を含む応答パケットを生成し、生成した応答パケットをパケット送信部１６０に供給する。なお、状態測定部１５８から、損失パケット番号も供給された場合、パケット生成部１５９は、データパケットの送信時刻および受信時刻、並びにデータパケットのシーケンス番号と共に、損失パケット番号も含む応答パケットを生成し、パケット送信部１６０に供給する。
【００６３】
パケット送信部１６０は、パケット生成部１５９から、応答パケットが供給されると、供給された応答パケットを、所定のタイミングで、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１６０は、応答パケットを送信するとき、その応答パケットのパケットヘッダに、現在時刻を、応答パケットの送信時刻として記録する。
【００６４】
次に、図６のフローチャートを参照して、画像送信装置１１の画像送信処理、および画像受信装置１３の画像受信処理について説明する。
【００６５】
撮像装置１２により撮像された被写体の動画データは、映像入力部１０３に入力され、映像入力部１０３から、動き成分算出部１２１、およびエンコーダ１２３に供給されている。図６のステップＳ１において、画像送信装置１１のエンコーダ１２３は、映像入力部１０３から供給された動画データを符号化して、符号化データを生成し、生成された符号化データをパケット生成部１０５に供給する。なお、エンコーダ１２３は、図９および図１０のフローチャートを参照して後述する符号化制御処理により設定されたフレームレート、および画質になるように、動画データを符号化する。
【００６６】
ステップＳ１の処理の後、ステップＳ２において、パケット生成部１０５は、エンコーダ１２３から供給された符号化データを分割して、分割したデータそれぞれを含むデータパケットを生成し、生成したデータパケットにシーケンス番号を含むパケットヘッダを付加する。パケット生成部１０５は、パケットヘッダを付加した後、データパケットをパケット送信部１０６に供給する。
【００６７】
ステップＳ２の処理の後、ステップＳ３において、パケット送信部１０６は、パケット生成部１０５から供給されたデータパケットを、所定のタイミングで、ネットワーク１０を介して、画像受信装置１３に送信する。その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が繰り返される。
【００６８】
ステップＳ１１において、画像受信装置１３のパケット受信部１５３は、画像送信装置１１がステップＳ３で送信したデータパケットを、ネットワーク１０を介して受信し、データ再構成部１５４に供給する。
【００６９】
画像送信装置１１は、符号化データを複数個のデータパケットに分割して送信するため、データ再構成部１５４は、分割された複数個のデータパケットが揃わないと、符号化データを再構成することができない。そこで、ステップＳ１１の後、ステップＳ１２において、データ再構成部１５４は、符号化データを再構成できるだけのデータパケットが揃ったか否かを判定し、符号化データを再構成できるだけのデータパケットが揃っていない場合、後述するステップＳ１３乃至ステップＳ１５の処理はスキップされる。なお、データ再構成部１５４は、データパケットが揃うまでの間、パケット受信部１５３から供給されたデータパケットを記憶しておく。
【００７０】
そして、ステップＳ１２において、データ再構成部１５４が、符号化データを再構成できるだけのデータパケットが揃ったと判定した場合、処理はステップＳ１３に進む。
【００７１】
ステップＳ１３において、データ再構成部１５４は、記憶しておいた複数個のデータパケットから、分割された符号化データを抽出し、これらのデータを統合して、元の符号化データを再構成し、再構成した符号化データを、デコーダ１５５に供給する。
【００７２】
ステップＳ１３の後、ステップＳ１４において、デコーダ１５５は、データ再構成部１５４から供給された符号化データを復号し、記憶部１５６に供給し、記憶させる。
【００７３】
その後、処理はステップＳ１１に戻り、ステップＳ１１以降の処理が繰り返される。
【００７４】
以上のようにして、画像送信装置１１から画像受信装置１３に動画データが送信される。なお、画像受信装置１３のビデオ出力部１５７は、ステップＳ１４の処理により記憶部１５６に記憶された動画データを、所定のタイミングで読み出し、表示用の画像信号に変換して、表示装置１４に出力する。
【００７５】
また、上述したステップＳ１乃至ステップＳ３の処理、およびステップＳ１１乃至ステップＳ１４の処理は、時系列に沿って実行されるとは限らない。例えば、画像送信装置１１において、エンコーダ１２３は、生成した符号化データをパケット生成部１０５に供給した後、ステップＳ２およびステップＳ３の処理の完了を待たずに、次の動画データの符号化を実行し、パケット生成部１０５は、生成したデータパケットをパケット送信部１０６に供給した後、ステップＳ３の処理の完了を待たずに、次の符号化データのパケット化を実行する。
【００７６】
ところで、本発明においては、画像受信装置１３から画像送信装置１１に、応答パケットが送信され、この応答パケットに基づいて、データパケットの送信レートが制御される。
【００７７】
そこで、次に、図７のフローチャートを参照して、画像受信装置１３の確認応答処理、すなわち、画像受信装置１３が、応答パケットを作成し、画像送信装置１１に送信する処理について説明する。
【００７８】
ステップＳ５１において、画像受信装置１３の制御部１５２は、パケット受信部１５３を監視し、パケット受信部１５３がデータパケットを受信するまで待機し、パケット受信部１５３がデータパケットを受信した場合、処理はステップＳ５２に進む。ステップＳ５２において、パケット受信部１５３は、内蔵する内部時計より、現在時刻を取得し、データパケットの受信時刻として、受信したデータパケットに付加する。パケット受信部１５３は、受信時刻を付加したデータパケットを、データ再構成部１５４に供給する。
【００７９】
データ再構成部１５４は、先に説明した図６のステップＳ１２およびステップＳ１３の処理を実行するのと並行して、受信したデータパケットから、パケットヘッダに含まれている情報、およびパケット受信部１５３によりデータパケットに付加された、データパケットの受信時刻を、状態測定部１５８に通知する。なお、データ再構成部１５４は、所定の個数のデータパケットが揃うまで、符号化データの再構成を実行しないが、１個のデータパケットが供給される度に、そのパケットヘッダに含まれている情報、およびパケット受信部１５３によりデータパケットに付加された、データパケットの受信時刻を、状態測定部１５８に通知する。
【００８０】
ステップＳ５３において、状態測定部１５８は、データ再構成部１５４から、パケットヘッダとして付加されていた情報である、データパケットの送信時刻およびシーケンス番号、並びにデータパケットの受信時刻を取得し、シーケンス番号に基づいて、パケットロスが発生したか否かを判定し、パケットロスが発生していた場合、損失したデータパケットのシーケンス番号を取得する。
【００８１】
すなわち、状態測定部１５８は、シーケンス番号が、前回受信したデータパケットのシーケンス番号と連番になっているか否かを判定することにより、パケットロスの発生の有無を判定することができる。例えば、前回受信したデータパケットのシーケンス番号が「１０」で、今回受信したデータパケットのシーケンス番号が「１１」であった場合、「１０」と「１１」で連続しているので、状態測定部１５８は、データパケットの損失はないと判定する。また、例えば、前回受信したデータパケットのシーケンス番号が「１０」で、今回受信したデータパケットのシーケンス番号が「１２」であった場合、「１０」と「１２」で連続していないので、状態測定部１５８は、シーケンス番号「１１」のデータパケットが損失していると判定する。パケットロスが発生していた場合、状態測定部１５８は、損失したパケットのシーケンス番号、すなわち損失パケット番号を特定する。
【００８２】
ステップＳ５３の処理の後、処理はステップＳ５４に進む。
【００８３】
ステップＳ５４において、状態測定部１５８は、データパケットの送信時刻および受信時刻、並びにシーケンス番号を、パケット生成部１５９に供給する。なお、ステップＳ５３において、損失パケット番号を取得していた場合、この損失パケット番号もともに、パケット生成部１５９に供給する。パケット生成部１５９は、状態測定部１５８から供給された情報を含む応答パケットを生成し、この応答パケットをパケット送信部１６０に供給する。ステップＳ５３で損失パケット番号が取得されていなかった場合、応答パケットには、データパケットの送信時刻および受信時刻、並びにシーケンス番号が含まれ、ステップＳ５３で損失パケット番号が取得されていた場合、応答パケットには、データパケットの送信時刻および受信時刻、シーケンス番号、並びに損失パケット番号が含まれる。その後、処理はステップＳ５５に進む。
【００８４】
ステップＳ５５において、パケット送信部１６０は、パケット生成部１５９から供給された応答パケットを、ネットワーク１０を介して、画像送信装置１１に送信する。なお、パケット送信部１６０は、応答パケットを送信する直前に、内蔵する内部時計から現在時刻を取得し、この現在時刻を、応答パケットの送信時刻として、パケットヘッダに記録する。
【００８５】
その後、処理はステップＳ５１に戻り、ステップＳ５１以降の処理が繰り返される。
【００８６】
以上のようにして、画像受信装置１３から画像送信装置１１に対して、応答パケットが送信される。
【００８７】
画像送信装置１１は、画像受信装置１３から受信した応答パケットに基づいて、データパケットの送信レートを制御する。
【００８８】
次に、図８のフローチャートを参照して、画像送信装置１１のレート制御処理、すなわち、データパケットの送信レートの制御について説明する。
【００８９】
ステップＳ１０１において、制御部１０２は、パケット受信部１０７を監視し、パケット受信部１０７が応答パケットを受信するまで待機する。そして、パケット受信部１０７が応答パケットを受信したとき、処理はステップＳ１０２に進む。なお、パケット受信部１０７は、受信した応答パケットの受信時刻を、内蔵する内部時計から取得しておく。
【００９０】
ステップＳ１０２において、パケット受信部１０７は、受信した応答パケット、および取得した応答パケットの受信時刻を、レート算出部１３１に供給する。レート算出部１３１は、受信した応答パケットのRTTを算出する。
【００９１】
なお、RTTは、画像送信装置１１から送信されたデータパケットが画像受信装置１３により受信されるまでの時間（この時間をＴ１とする）と、画像受信装置１３から送信された応答パケットが画像送信装置１１により受信されるまでの時間（この時間をＴ２とする）の和（Ｔ１＋Ｔ２）として求められる。時間Ｔ１は、データパケットの受信時刻からデータパケットの送信時刻を引き算して求められる。また、時間Ｔ２は、応答パケットの受信時刻から応答パケットの送信時刻を引き算して求められる。
【００９２】
ステップＳ１０２の処理の後、ステップＳ１０３において、レート算出部１３１は、受信した応答パケットから、損失パケット番号を読み出し、損失パケット番号に基づいて、単位時間あたりのパケットロス率を算出する。
【００９３】
ステップＳ１０３の処理の後、ステップＳ１０４において、レート算出部１３１は、理想的な送信レートＴを算出する。送信レートの算出方法には、例えば、TFRC（TCP-Friendly Rate Control）を利用することができる。なお、TFRCについては、S.Floyd,M.Handley,J.Pandhye and J.Widmer，“Equation-Based Congestion Control for Unicast Applications”，Proceedings of ACM SIGCOMM 2000，May 2000に詳細な説明がある。TFRCにおいては、パケットロス率とRTTを利用して、画像送信装置１１からデータパケットを送信する理想的な送信レートを、以下の式（この式を式（１）とする）により予測する。
【００９４】
【数１】
2004193990.tif 000003
【００９５】
式（１）において、Ｔは理想的な送信レート、ｓはパケットサイズ、ｐはパケットロス率、ｔはTCP（Transmission Control Protocol）のタイムアウト時間（通常は、RTTの４倍）である。レート算出部１３１は、式（１）により、送信レートＴを算出した後、算出した送信レートＴを、レート判定部１３２に通知する。その後、処理はステップＳ１０５に進む。
【００９６】
送信レートは、予めその下限および上限が設定されている。ここでは、例えば、最低使用帯域Ｔminは２．５Mbpsに、最高使用帯域Ｔmaxは３０Mbpsに設定されているとする。ステップＳ１０５において、レート判定部１３２は、ステップＳ１０４で算出された送信レートＴが、Ｔminより小さいか否かを判定し、ステップＳ１０４で算出された送信レートＴが、Ｔminより小さい場合、処理はステップＳ１０６に進む。
【００９７】
ステップＳ１０６において、レート判定部１３２は、送信レートを、ステップＳ１０４で算出された値から、Ｔminに置き換える。これ以降、レート判定部１３２は、Ｔminの値をＴとして、以降の処理を実行する。ステップＳ１０６の処理の後、処理はステップＳ１０８に進む。
【００９８】
ステップＳ１０５において、レート判定部１３２が、ステップＳ１０４で算出された送信レートＴは、Ｔminより小さくない（ステップＳ１０４で算出された送信レートＴは、Ｔmin以上である）と判定した場合、処理はステップＳ１０７に進む。
【００９９】
レート判定部１３２は、前回のレート制御処理において設定した送信レートＴを記憶している。ここで、前回のレート制御処理において設定した送信レートＴをＴ'とする。ステップＳ１０７において、レート判定部１３２は、ステップＳ１０４で算出された送信レートＴは、前回値Ｔ'より大きいか否かを判定し、ステップＳ１０４で算出された送信レートＴが、前回値Ｔ'より大きくない（ステップＳ１０４で算出された送信レートＴは前回値Ｔ'以下である）と判定した場合、処理はステップＳ１０８に進む。
【０１００】
ステップＳ１０８において、レート判定部１３２は、ステップＳ１０４で算出された送信レートＴは、前回値Ｔ'より小さいか否かを判定し、ステップＳ１０４で算出された送信レートＴが、前回値Ｔ'より小さい場合、処理はステップＳ１０９に進む。
【０１０１】
ステップＳ１０９において、レート判定部１３２は、動き成分算出部１２１に対して、送信レートを減少させるように要求する。
【０１０２】
ステップＳ１０８において、レート判定部１３２が、ステップＳ１０４で算出された送信レートＴが、前回値Ｔ'より小さくない（ステップＳ１０４で算出された送信レートＴは前回値Ｔ'以上である）と判定した場合、ステップＳ１０９の処理はスキップされ、処理はステップＳ１１３に進む。
【０１０３】
ステップＳ１０７に戻り、レート判定部１３２が、ステップＳ１０４で算出された送信レートＴは、前回値Ｔ'より大きいと判定した場合、処理はステップＳ１１０に進む。
【０１０４】
ステップＳ１１０において、レート判定部１３２は、ステップＳ１０４で算出された送信レートＴが、Ｔmaxより大きいか否かを判定し、ステップＳ１０４で算出された送信レートＴが、Ｔmaxより大きい場合、処理はステップＳ１１１に進む。
【０１０５】
ステップＳ１１１において、レート判定部１３２は、送信レートを、ステップＳ１０４で算出された値から、Ｔmaxに置き換える。これ以降、レート判定部１３２は、Ｔmaxの値をＴとして、以降の処理を実行する。ステップＳ１１１の処理の後、処理はステップＳ１１２に進む。
【０１０６】
ステップＳ１１０において、レート判定部１３２が、ステップＳ１０４で算出された送信レートＴは、Ｔmaxより大きくない（ステップＳ１０４で算出された送信レートＴは、Ｔmax以下である）と判定した場合、ステップＳ１１１の処理はスキップされ、処理はステップＳ１１２に進む。
【０１０７】
ステップＳ１１２において、レート判定部１３２は、動き成分算出部１２１に対して、送信レートを増加させるように要求する。その後、処理はステップＳ１１３に進む。
【０１０８】
ステップＳ１１３において、レート判定部１３２は、現在設定されている送信レートＴを、次回のレート制御処理の前回値Ｔ'として利用するために、記憶する。その後、処理はステップＳ１０１に戻り、ステップＳ１０１以降の処理が繰り返される。
【０１０９】
以上のようなレート制御処理により、レート判定部１３２から、動き成分算出部１２１に対して、送信レートの増加、または減少が要求される。
【０１１０】
エンコード制御部１０４は、動き成分算出部１２１に対して、以上のようなレート判定部１３２からの要求があった場合、符号化する動画データのフレームレート、または画質を調整して、送信レートを調整する。
【０１１１】
次に、図９および図１０のフローチャートを参照して、画像送信装置１１の符号化制御処理について説明する。
【０１１２】
動画データの符号化開始当初のフレームレートおよび画質は、予め所定の値に設定されており、図９のステップＳ１５１において、エンコード制御部１０４のパラメータ設定部１２２は、フレームレートおよび画質を、予め設定されている初期値に設定する。
【０１１３】
ステップＳ１５２において、動き成分算出部１２１は、レート判定部１３２から、送信レートを減少させるように要求があったか否かを判定し、レート判定部１３２から、送信レートを減少させるように要求があった場合、処理はステップＳ１５３に進む。
【０１１４】
ステップＳ１５３において、動き成分算出部１２１は、符号化する動画データの動き成分を算出する。動き成分は、例えば、現在エンコーダ１２３が符号化しようとしているフレームと、エンコーダ１２３が符号化した直後のフレームとのPSNR（Peak Signal to Noise Ration）を算出することにより求められる。PSNRは、符号化された画像の画質を符号化前の画像と比較するための指標として用いられるものであり、以下の式（以下の式を式（２）とする）により、算出される。
【０１１５】
【数２】
2004193990.tif 000004
【０１１６】
式（２）において、Nは符号化する動画データのフレームの縦の画素数であり、Mは符号化する動画データのフレームの横の画素数であり、p(i,j)は、符号化前のフレームの座標(i,j)の画素値であり、p'(i,j)は、符号化後のフレームの座標(i,j)の画素値である。なお、iは、１≦ｉ≦Mの整数であり、ｊは、１≦ｊ≦Nの整数である。また、Ｔは、動画データの階調数から１を減じた値で、例えば、階調数が８bppであった場合、２の８乗から１引いた値、すなわち２５５となる。
【０１１７】
式（２）により、符号化前のフレームと符号化後のフレームが、どの程度、似通った画像であるのかが分かる。すなわち、PSNRが大きい値であるほど、2つの画像は似ている。従って、PSNRが予め設定された所定の値（例えば２０db）より大きかった場合、動き成分が少ないと判定し、PSNRが予め設定された所定の値より小さかった場合、動き成分が多いと判定することができる。
【０１１８】
なお、動き成分の算出方法は、上記の方法に限定されるものではなく、その他の方法により算出しても良い。例えば、符号化する連続した２つのフレームの全画素を比較しても良い。この場合、予め設定された所定の割合（例えば５０％）以上の画素の画素値が一致した場合、動き成分が少ないと判定し、予め設定された所定の割合以下の画素の画素値しか一致しなかった場合、動き成分が多いと判定する。
【０１１９】
ステップＳ１５３において、動き成分算出部１２１が、動き成分を算出した後、動き成分算出部１２１は、パラメータ設定部１２２に対して、算出したPSNR値を供給する。その後、処理はステップＳ１５４に進む。
【０１２０】
ステップＳ１５４において、パラメータ設定部１２２は、動き成分算出部１２１から供給されたPSNR値が、予め設定された所定の基準値（例えば２０db）より小さいか否かを判定することにより、動き成分が多いか否かを判定し、動き成分算出部１２１から供給された値PSNRが、予め設定された所定の基準値より小さい場合、動き成分が多いと判定し、処理はステップＳ１５５に進む。
【０１２１】
ステップＳ１５５において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最低値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、まだ、設定可能な最低値ではない場合、処理は後述するステップＳ１６０に進む。
【０１２２】
ステップＳ１５５において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最低値であると判定した場合、処理はステップＳ１５６に進む。
【０１２３】
ステップＳ１５６において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、既に、設定可能な最低値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ１５７に進む。
【０１２４】
ステップＳ１５７において、パラメータ設定部１２２は、フレームレートの設定値を、現在、エンコーダ１２３により符号化される動画データの、符号化時のフレームレートの設定値より低い所定の値に低下させる。図１１は、フレームレートを減少させる方法を概念的に表したものである。
【０１２５】
図１１において、「入力データのフレーム」の記載の右側には、映像入力部１０３から入力される動画データの、連続した８個のフレームが、「Ｆ１」、「Ｆ２」、「Ｆ３」、「Ｆ４」、「Ｆ５」、「Ｆ６」、「Ｆ７」、および「Ｆ８」として示されている。映像入力部１０３から入力される動画データのフレームレートを１／２に落とす場合、映像入力部１０３から入力される動画データのフレームから、フレームを１個おきに選択し、これを符号化するフレームとする。図１１の「エンコードフレーム」の記載の右側に、符号化するフレームとして選択されたフレーム、すなわち「Ｆ１」、「Ｆ３」、「Ｆ５」、および「Ｆ７」が示されている。図１１に示されるように、映像入力部１０３から入力されたフレームから、１個おきに、符号化するフレームが選択されている。このように、映像入力部１０３から入力されたフレームから、所定の間隔でフレームを間引くことにより、フレームレートを調整することができる。
【０１２６】
ステップＳ１５７の処理の後、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１２７】
ステップＳ１５６において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値は、既に、設定可能な最低値であると判定した場合、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１２８】
ステップＳ１５４に戻って、パラメータ設定部１２２が、動き成分算出部１２１から供給されたPSNR値は、予め設定された所定の基準値より小さくない（動き成分算出部１２１から供給されたPSNR値は、予め設定された所定の基準値以上である）と判定した場合、動き成分が多くないと判定し、処理はステップＳ１５８に進む。
【０１２９】
ステップＳ１５８において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、既に、設定可能な最低値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ１５７に進み、上述した、ステップＳ１５７以降の処理が実行される。
【０１３０】
ステップＳ１５８において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値は、既に、設定可能な最低値であると判定した場合、処理はステップＳ１５９に進む。
【０１３１】
ステップＳ１５９において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最低値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ１６０に進む。
【０１３２】
ステップＳ１６０において、パラメータ設定部１２２は、画質の設定値を、現在、エンコーダ１２３により符号化される動画データの、符号化時の画質の設定値より低い所定の値に低下させる。その後、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１３３】
ステップＳ１５９において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最低値であると判定した場合、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１３４】
ステップＳ１５２に戻って、動き成分算出部１２１が、レート判定部１３２から、送信レートを減少させるようにとの要求はなかったと判定した場合、処理は図１０のステップＳ１６１に進む。
【０１３５】
ステップＳ１６１において、動き成分算出部１２１は、レート判定部１３２から、送信レートを増加させるように要求があったか否かを判定し、レート判定部１３２から、送信レートを増加させるように要求があった場合、処理はステップＳ１６２に進む。
【０１３６】
ステップＳ１６２において、動き成分算出部１２１は、符号化する動画データのPSNR値を算出する。ステップＳ１６２の処理は、ステップＳ１５３の処理と同様であるため、詳細な説明は省略する。
【０１３７】
ステップＳ１６２おいて、動き成分算出部１２１が、PSNR値を算出した後、動き成分算出部１２１は、パラメータ設定部１２２に対して、算出したPSNR値を供給する。その後、処理はステップＳ１６３に進む。
【０１３８】
ステップＳ１６３において、パラメータ設定部１２２は、動き成分算出部１２１から供給されたPSNR値が、予め設定された所定の基準値（例えば２０db）より小さいか否かを判定することにより、動き成分が多いか否かを判定し、動き成分算出部１２１から供給されたPSNR値が、予め設定された所定の基準値より小さくなかった（動き成分算出部１２１から供給された動き成分の値PSNRが、予め設定された所定の基準値以上だった）場合、動き成分は多くないと判定し、処理はステップＳ１６４に進む。
【０１３９】
ステップＳ１６４において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最高値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、まだ、設定可能な最高値ではない場合、処理は後述するステップＳ１６９に進む。
【０１４０】
ステップＳ１６４において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最高値であると判定した場合、処理はステップＳ１６５に進む。
【０１４１】
ステップＳ１６５において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、既に、設定可能な最高値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、まだ、設定可能な最高値ではない場合、処理はステップＳ１６６に進む。
【０１４２】
ステップＳ１６６において、パラメータ設定部１２２は、フレームレートの設定値を、現在、エンコーダ１２３により符号化される動画データの、符号化時のフレームレートの設定値より高い所定の値に増加させる。その後、処理は図９のステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１４３】
ステップＳ１６５において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値は、既に、設定可能な最高値であると判定した場合、処理は図９のステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１４４】
ステップＳ１６３に戻って、パラメータ設定部１２２が、動き成分算出部１２１から供給されたPSNR値は、予め設定された所定の基準値より小さいと判定した場合、動き成分は多いと判定し、処理はステップＳ１６７に進む。
【０１４５】
ステップＳ１６７において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、既に、設定可能な最高値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値が、まだ、設定可能な最高値ではない場合、処理はステップＳ１６６に進み、上述した、ステップＳ１６６以降の処理が実行される。
【０１４６】
ステップＳ１６７において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時のフレームレートの設定値は、既に、設定可能な最高値であると判定した場合、処理はステップＳ１６８に進む。
【０１４７】
ステップＳ１６８において、パラメータ設定部１２２は、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最高値であるか否かを判定し、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、まだ、設定可能な最高値ではない場合、処理はステップＳ１６９に進む。
【０１４８】
ステップＳ１６９において、パラメータ設定部１２２は、画質の設定値を、現在、エンコーダ１２３により符号化される動画データの、符号化時の画質の設定値より高い所定の値に向上させる。その後、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１４９】
ステップＳ１６８において、パラメータ設定部１２２が、現在、エンコーダ１２３により符号化されている動画データの、符号化時の画質の設定値が、既に、設定可能な最高値であると判定した場合、処理はステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１５０】
ステップＳ１６１において、動き成分算出部１２１が、レート判定部１３２から、送信レートを増加させるようにとの要求はないと判定した場合、処理は図９のステップＳ１５２に戻り、ステップＳ１５２以降の処理が繰り返し実行される。
【０１５１】
以上のようにして、画像送信装置１１の符号化制御処理が実行される。
【０１５２】
以上のような、符号化制御処理により設定されるフレームレートおよび画質の値の遷移について、図１２および図１３を参照して説明する。
【０１５３】
図１２は、図９のステップＳ１５４、または図１０のステップＳ１６３において、動き成分が多いと判定された場合の、フレームレートおよび画質の設定値の遷移を表し、図１３は、図９のステップＳ１５４、または図１０のステップＳ１６３において、動き成分が少ないと判定された場合の、フレームレートおよび画質の設定値の遷移を表している。
【０１５４】
なお、図１２および図１３においては、図１と同様、縦軸は、フレームレートを表し、横軸は、エンコード時の、1画素当りに要するビット数を表している。また、図１２および図1３において、斜線で覆われた範囲が、画像送信装置１１が設定可能なフレームレートおよびビット数の範囲である。例えば、画像送信装置１１は、フレームレートを５乃至３０fpsの間で設定でき、かつ、エンコード時の、1画素当りに要するビット数を０．５０乃至１．００bppの間で設定することができるとする。従って、図１２および図１３において、フレームレートが５乃至３０fpsの間であり、かつ、ビット数が０．５０乃至１．００bppの間の範囲に、斜線が引かれている。
【０１５５】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を（フレームレート，ビット数）＝（３０fps，１．００bpp）に設定して、動画データを送信しているとする。図２の点Aが、（フレームレート，ビット数）＝（３０fps，１．００bpp）の位置である。点Aにおいては、フレームレートおよびビット数ともに、設定可能な最高値である。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）はまだ最低値ではないと判定し（ステップＳ１５５でNO）、画質（ビット数）を、０．７５bppまで低下させる（ステップＳ１６０）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Aから点Bの位置に移動する。点Bの位置は、（フレームレート，ビット数）＝（３０fps，０．７５bpp）であり、点Aから点Bに設定を変更することにより、送信レートは３／４に減少する。
【０１５６】
画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Bの位置に設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）はまだ最低値ではないと判定し（ステップＳ１５５でNO）、画質（ビット数）を、０．５０bppまで低下させる（ステップＳ１６０）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Bから点Cの位置に移動する。点Cの位置は、（フレームレート，ビット数）＝（３０fps，０．５０bpp）である。点Cにおいては、フレームレートは設定可能な最高値であり、画質は設定可能な最低値である。点Bから点Cに設定を変更することにより、送信レートは２／３に減少する。
【０１５７】
画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Cの位置に設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）は既に、可能な設定範囲内の最低値であると判定し（ステップＳ１５５でYES）、フレームレートはまだ最低値ではないと判定し（ステップＳ１５６でNO）、フレームレートを、１５fpsまで低下させる（ステップＳ１５７）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Cから点Dの位置に移動する。点Dの位置は、（フレームレート，ビット数）＝（１５fps，０．５０bpp）である。点Dにおいては、画質は設定可能な最低値である。点Cから点Dに設定を変更することにより、送信レートは１／２に減少する。
【０１５８】
画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Dの位置に設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）は既に、可能な設定範囲内の最低値であると判定し（ステップＳ１５５でYES）、フレームレートはまだ最低値ではないと判定し（ステップＳ１５６でNO）、フレームレートを、１０psまで低下させる（ステップＳ１５７）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Dから点Eの位置に移動する。点Eの位置は、（フレームレート，ビット数）＝（１０fps，０．５０bpp）である。点Eにおいては、画質は設定可能な最低値である。点Dから点Eに設定を変更することにより、送信レートは２／３に減少する。
【０１５９】
画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Eの位置に設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）は既に、可能な設定範囲内の最低値であると判定し（ステップＳ１５５でYES）、フレームレートはまだ最低値ではないと判定し（ステップＳ１５６でNO）、フレームレートを、５psまで低下させる（ステップＳ１５７）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Eから点Fの位置に移動する。点Fの位置は、（フレームレート，ビット数）＝（５fps，０．５０bpp）である。点Fにおいては、フレームレートおよび画質は設定可能な最低値である。点Eから点Fに設定を変更することにより、送信レートは１／２に減少する。
【０１６０】
画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Fの位置に設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを減少させる要求があった場合（ステップＳ１５２でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１５３）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１５４でYES）、画質（ビット数）は既に、可能な設定範囲内の最低値であると判定し（ステップＳ１５５でYES）、フレームレートは既に、可能な設定範囲内の最低値であると判定し（ステップＳ１５６でYES）、処理はステップＳ１５２に戻る。すなわち、点Fは、フレームレートも画質（ビット数）も既に最低値であり、これ以上、下げられないため、パラメータ設定部１２２は、点Fのままを維持する。
【０１６１】
レート判定部１３２から、送信レートの減少の要求があった場合、動画の動き成分が多いとき、エンコード制御部１０４は、以上のようにして、まず、可能な範囲で、画質を減少させてゆくことにより、送信レートを減少させ、画質が設定可能な最低値に達してしまったとき、今度は、フレームレートを減少させることにより、送信レートを減少させる。このようにすることにより、動き成分が多い、すなわち、サッカー中継のような変化の激しい画像を送信する場合に、極力、フレームレートを高いまま維持することが可能となる。
【０１６２】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Fに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートはまだ最高値ではないと判定し（ステップＳ１６７でNO）、フレームレートを、１０fpsまで増加させる（ステップＳ１６６）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Fから点Eの位置に移動する。点Fから点Eに設定を変更することにより、送信レートは２倍に増加する。
【０１６３】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Eに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートはまだ最高値ではないと判定し（ステップＳ１６７でNO）、フレームレートを、１５fpsまで増加させる（ステップＳ１６６）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Eから点Dの位置に移動する。点Eから点Dに設定を変更することにより、送信レートは１．５倍に増加する。
【０１６４】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Dに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートはまだ最高値ではないと判定し（ステップＳ１６７でNO）、フレームレートを、３０fpsまで増加させる（ステップＳ１６６）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Dから点Cの位置に移動する。点Dから点Cに設定を変更することにより、送信レートは２倍に増加する。
【０１６５】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Cに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートは既に、設定可能な最高値であると判定し（ステップＳ１６７でYES）、画質（ビット数）は、まだ最高値ではないと判定し（ステップＳ１６８でNO）、画質（ビット数）を、０．７５bppまで増加させる（ステップＳ１６９）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Cから点Bの位置に移動する。点Cから点Bに設定を変更することにより、送信レートは１．５倍に増加する。
【０１６６】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Bに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートは既に、設定可能な最高値であると判定し（ステップＳ１６７でYES）、画質（ビット数）は、まだ最高値ではないと判定し（ステップＳ１６８でNO）、画質（ビット数）を、１．００bppまで増加させる（ステップＳ１６９）。その結果、設定されるフレームレートおよび画質（ビット数）は、図１２の点Bから点Aの位置に移動する。点Bから点Aに設定を変更することにより、送信レートは４／３に増加する。
【０１６７】
図１２において、例えば、画像送信装置１１が、フレームレートおよび１画素当りに要するビット数を点Aに設定して、動画データを送信しているとする。レート判定部１３２から動き成分算出部１２１に対して、送信レートを増加させる要求があった場合（ステップＳ１６１でYES）、動き成分算出部１２１は、動き成分の指標となるPSNR値を算出し（ステップＳ１６２）、算出結果をパラメータ設定部１２２に供給する。パラメータ設定部１２２は、動き成分は多いと判定し（ステップＳ１６３でYES）、フレームレートは既に、設定可能な最高値であると判定し（ステップＳ１６７でYES）、画質（ビット数）は、既に設定可能な最高値であると判定し（ステップＳ１６８でYES）、処理はステップＳ１５２に戻る。すなわち、点Aにおいては、フレームレートおよび画質が、既に最高値であり、これ以上、上げることができないので、点Aの位置を維持する。
【０１６８】
レート判定部１３２から、送信レートの増加の要求があった場合、動き成分が多いとき、エンコード制御部１０４は、以上のようにして、まず、可能な範囲で、フレームレートを増加させてゆくことにより、送信レートを増加させ、フレームレートが設定可能な最高値に達してしまったとき、今度は、画質を向上させることにより、送信レートを増加させる。このようにすることにより、動き成分が多い、すなわち、サッカー中継のような変化の激しい画像を送信する場合に、極力、フレームレートを高いまま維持することが可能となる。
【０１６９】
次に、図１３は、動き成分が少ない場合、すなわち、画像に大きな変化がない場合の、フレームレートおよび画質（ビット数）の遷移を表している。
【０１７０】
図１３においては、図１２とは異なり、レート判定部１３２から、送信レートの減少の要求があった場合、エンコード制御部１０４は、まず、可能な範囲で、フレームレートを減少させてゆく（点A→点B→点C→点D）ことにより、送信レートを減少させ、フレームレートが設定可能な最小値（点D）に達してしまったとき、今度は、画質（ビット数）を低下させてゆく（点D→点Ｅ→点Ｆ）ことにより、送信レートを減少させる。また、レート判定部１３２から、送信レートの増加の要求があった場合、エンコード制御部１０４は、まず、可能な範囲で、画質を向上させてゆく（点Ｆ→点Ｅ→点D）ことにより、送信レートを増加させ、画質（ビット数）が設定可能な最高値（点D）に達してしまったとき、今度は、フレームレートを増加させてゆく（点D→点Ｃ→点Ｂ→点Ａ）ことにより、送信レートを増加させる。このようにすることにより、動き成分が少ない、すなわち、変化の少ない画像を送信する場合に、極力、画質を高いまま維持することが可能となる。
【０１７１】
ところで、以上の説明においては、エンコーダ１２３が、MPEGの符号化方式により動画データを符号化している場合を例に説明したが、このことは、符号化方式がMPEGに限定されることを意味するものではない。例えば、本発明は、MotionJPEG（Joint Photographic Experts Group）2000の符号化方式に適用することも可能である。
【０１７２】
次に、本発明を、JPEG2000動画の符号化方式に適用した場合の例について説明する。
【０１７３】
MPEGが、前後のフレームの違い部分を差分情報として利用して符号化するのに対し、JPEG2000動画においては、フレームの１枚1枚をそれぞれ符号化してから、それらを連続して格納するため、符号化後でも、フレームを間引くことができる。
【０１７４】
また、JPEG2000動画は階層性を有している。図１４は、JPEG2000により階層符号化された1フレーム分のデータの例を表している。図１４においては、例として、JPEG2000の階層符号化データが、４つの階層により階層符号化されており、１つの階層分のデータを送信するために５個のパケットを必要とする場合を表している。この場合、４つの階層全体の階層符号化データでは、４×５＝２０個のパケットを必要とする。
【０１７５】
図１４において、左側の記載「レイヤL1」、「レイヤL２」、「レイヤL３」、および「レイヤL４」は、４つの層を表している。レイヤＬ１が、最下位の階層であり、レイヤＬ２、レイヤＬ３、レイヤＬ４の順番でより上位の階層になる。
【０１７６】
図１４において、「レイヤL1」、「レイヤL２」、「レイヤL３」、および「レイヤL４」の記載の右側のブロックは、それぞれパケットを表している。すなわち、「P1」、「P２」、「P３」、「P４」、「P５」、「P６」、「P７」、「P８」、「P９」、「P1０」、「P１1」、「P１２」、「P１３」、「P１４」、「P１５」、「P１６」、「P１７」、「P１８」、「P１９」、および「P２０」と記載された各ブロックは、それぞれが、パケットを表している。
【０１７７】
図１４においては、レイヤL1のデータが、「P1」、「P２」、「P３」、「P４」、および「P５」のパケットに分割され、レイヤL２のデータが、「P６」、「P７」、「P８」、「P９」、および「P1０」のパケットに分割され、レイヤL３のデータが、「P１1」、「P１２」、「P１３」、「P１４」、および「P１５」のパケットに分割され、レイヤL４のデータが、「P１６」、「P１７」、「P１８」、「P１９」、および「P２０」のパケットに分割されている。
【０１７８】
JPEG2000においては、レイヤL1のデータのみをデコードして、表示した場合、粗い画像（この画像を画像１と称する）が表示され、レイヤL１とレイヤL２のデータをデコードして、表示した場合、画像１より精細な画像（この画像を画像２と称する）が表示され、レイヤL１、レイヤL２、およびレイヤL３のデータをデコードして、表示した場合、画像２より精細な画像（この画像を画像３と称する）が表示され、レイヤL１、レイヤL２、レイヤL３、およびレイヤL４のデータをデコードして、表示した場合、画像３より精細な画像（この画像を画像４と称する）が表示される。
【０１７９】
次に、図１５は、JPEG2000動画の符号化方式により、動画データを符号化する場合の、画像送信装置１１の例を表している。図１５の画像送信装置１１において、図４の画像送信装置１１と同一の部分には、同一の符号を付してある。なお、以下の説明において、図４の画像送信装置１１と同一の部分については、詳細な説明は、適宜省略する。
【０１８０】
図１５において、撮像装置１２から映像入力部１０３に入力された動画データは、エンコーダ３０１、および動き成分算出部３１１に供給される。エンコーダ３０１は、映像入力部１０３から供給される動画データを、JPEG2000動画の符号化方式で符号化し、符号化データを、パケット生成制御部３０２のパケット生成部３１３に供給する。
【０１８１】
パケット生成制御部３０２は、動き成分算出部３１１、パラメータ設定部３１２、およびパケット生成部３１３により構成される。動き成分算出部３１１は、レート制御部１０８のレート判定部１３２から、送信レートを増加、または減少するように指令された場合、映像入力部１０３から供給された動画データのフレーム、およびエンコーダ１２３から供給された符号化された動画データのフレームの変化量を、動き成分量として算出し、算出した動き成分量をパラメータ設定部３１２に供給する。
【０１８２】
パラメータ設定部３１２は、動き成分算出部３１１から供給された動き成分量に基づいて、パケット生成部３１３が、パケット化する符号化データのフレームおよびレイヤを設定する。すなわち、パケット生成部３１３には、エンコーダ３０１より符号化データが供給される。先にも説明したように、JPEG2000動画においては、符号化後でも、フレーム毎に符号化データを分離することができる。また、図１４に示されるように、1フレームの中で、レイヤ単位で、符号化データを分割することができる。そこで、パラメータ設定部３１２は、パケット生成部３１３がパケット化すべきフレームを設定するとともに、パケット生成部３１３が、パケット化すべきレイヤ（以下の説明において、パケット化するレイヤを、パケット化レイヤと称する）を設定する。
【０１８３】
パケット生成部３１３は、パラメータ設定部３１２による設定に従って、エンコーダ３０１から供給された符号化データから、パケット化すべきフレームだけを抽出し、かつ、そのなかで、パケット化すべきレイヤの符号化データだけを抽出して、抽出した符号化データをパケット化し、生成したデータパケットを、パケット送信部１０６に供給する。
【０１８４】
パケット送信部１０６に供給されたデータパケットは、ネットワーク１０を介して、画像受信装置１３に送信される。
【０１８５】
図１５の画像送信装置１１は、図４の画像送信装置１１と同様、図８のフローチャートに示されるレート制御処理を実行する。しかし、図１５の画像送信装置１１は、図９および図１０のフローチャートに示される符号化制御処理は実行せず、代わりに、パケット生成部３１３によるパケットの生成を制御する。
【０１８６】
次に、図１６および図１７のフローチャートを参照して、図１５の画像送信装置１１のパケット生成制御処理、すなわち、パケット生成部３１３によるデータパケットの生成の制御について説明する。
【０１８７】
符号化データのパケット化開始当初のフレームレート、およびパケット化レイヤは、予め所定の値に設定されており、図１６のステップＳ３０１において、パケット生成制御部３０２のパラメータ設定部３１２は、フレームレートおよびパケット化レイヤを、予め設定されている初期値に設定する。
【０１８８】
ステップＳ３０２において、動き成分算出部３１１は、レート判定部１３２から、送信レートを減少させるように要求があったか否かを判定し、レート判定部１３２から、送信レートを減少させるように要求があった場合、処理はステップＳ３０３に進む。
【０１８９】
ステップＳ３０３において、動き成分算出部３１１は、符号化する動画データの動き成分を算出する。動き成分は、例えば、現在エンコーダ３０１が符号化しようとしているフレームと、エンコーダ３０１が符号化した直後のフレームとのPSNR値を算出することにより求められる。また、例えば、符号化する連続した２つのフレームの全画素を比較しても良い。
【０１９０】
ステップＳ３０３において、動き成分算出部３１１が、動き成分を算出した後、動き成分算出部３１１は、パラメータ設定部３１２に対して、算出したPSNR値を供給する。その後、処理はステップＳ３０４に進む。
【０１９１】
ステップＳ３０４において、パラメータ設定部３１２は、動き成分算出部３１１から供給されたPSNR値が、予め設定された所定の基準値より小さいか否かを判定することにより、動き成分が多いか否かを判定し、動き成分算出部３１１から供給されたPSNR値が、予め設定された所定の基準値より小さい場合、動き成分が多いと判定し、処理はステップＳ３０５に進む。
【０１９２】
ステップＳ３０５において、パラメータ設定部３１２は、現在のパケット化レイヤの設定値が、既に、設定可能な最低値であるか否かを判定する。すなわち、パケット化レイヤの設定値は、図１４のレイヤL1乃至L４の４つの値があり、ステップＳ３０５において、パラメータ設定部３１２は、現在のパケット化レイヤの設定値が、レイヤL1であるか否かを判定する。その結果、現在のパケット化レイヤの設定値が、まだ、設定可能な最低値（レイヤL1）ではない場合、処理は後述するステップＳ３１０に進む。
【０１９３】
ステップＳ３０５において、パラメータ設定部３１２が、現在のパケット化レイヤの設定値が、既に、設定可能な最低値であると判定した場合、処理はステップＳ３０６に進む。
【０１９４】
ステップＳ３０６において、パラメータ設定部３１２は、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、既に、設定可能な最低値であるか否かを判定し、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ３０７に進む。
【０１９５】
ステップＳ３０７において、パラメータ設定部３１２は、フレームレートの設定値を、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値より低い所定の値に低下させる。
【０１９６】
ステップＳ３０７の処理の後、処理はステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０１９７】
ステップＳ３０６において、パラメータ設定部３１２が、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値は、既に、設定可能な最低値であると判定した場合、処理はステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０１９８】
ステップＳ３０４に戻って、パラメータ設定部３１２が、動き成分算出部３１１から供給されたPSNR値は、予め設定された所定の基準値より小さくない（動き成分算出部３１１から供給された動き成分の値PSNRは、予め設定された所定の基準値以上である）と判定した場合、動き成分は少ないと判定し、処理はステップＳ３０８に進む。
【０１９９】
ステップＳ３０８において、パラメータ設定部３１２は、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、既に、設定可能な最低値であるか否かを判定し、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ３０７に進み、上述した、ステップＳ３０７以降の処理が実行される。
【０２００】
ステップＳ３０８において、パラメータ設定部３１２が、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値は、既に、設定可能な最低値であると判定した場合、処理はステップＳ３０９に進む。
【０２０１】
ステップＳ３０９において、パラメータ設定部３１２は、現在のパケット化レイヤの設定値が、既に、設定可能な最低値（図１４のレイヤL1）であるか否かを判定し、現在のパケット化レイヤの設定値が、まだ、設定可能な最低値ではない場合、処理はステップＳ３１０に進む。
【０２０２】
ステップＳ３１０において、パラメータ設定部３１２は、パケット化レイヤの設定値を、現在のパケット化レイヤの設定値より低い値に低下させる。例えば、現在のパケット化レイヤの設定値が、図１４のレイヤL３であった場合、パラメータ設定部３１２は、パケット化レイヤの設定値を、レイヤL2に低下させる。その後、処理はステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２０３】
ステップＳ３０９において、パラメータ設定部３１２が、現在のパケット化レイヤの設定値が、既に、設定可能な最低値（図１４のレイヤL1）であると判定した場合、処理はステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２０４】
ステップＳ３０２に戻って、動き成分算出部３１１が、レート判定部１３２から、送信レートを減少させるようにとの要求はなかったと判定した場合、処理は図１７のステップＳ３１１に進む。
【０２０５】
ステップＳ３１１において、動き成分算出部３１１は、レート判定部１３２から、送信レートを増加させるように要求があったか否かを判定し、レート判定部１３２から、送信レートを増加させるように要求があった場合、処理はステップＳ３１２に進む。
【０２０６】
ステップＳ３１２において、動き成分算出部３１１は、符号化する動画データの動き成分の指標となるPSNR値を算出する。ステップＳ３１２の処理は、ステップＳ３０３の処理と同様である。
【０２０７】
ステップＳ３１２おいて、動き成分算出部３１１が、動き成分の指標となるPSNR値を算出した後、動き成分算出部３１１は、パラメータ設定部３１２に対して、算出したPSNR値を供給する。その後、処理はステップＳ３１３に進む。
【０２０８】
ステップＳ３１３において、パラメータ設定部３１２は、動き成分算出部３１１から供給されたPSNR値が、予め設定された所定の基準値より小さいか否かを判定することにより、動き成分が多いか否かを判定し、動き成分算出部３１１から供給された動き成分の値PSNRが、予め設定された所定の基準値より小さくなかった（動き成分算出部３１１から供給された動き成分の値PSNRが、予め設定された所定の基準値以上だった）場合、動き成分は少ないと判定し、処理はステップＳ３１４に進む。
【０２０９】
ステップＳ３１４において、パラメータ設定部３１２は、現在のパケット化レイヤの設定値が、既に、設定可能な最高値（図１４のレイヤL4）であるか否かを判定し、現在のパケット化レイヤの設定値が、まだ、設定可能な最高値ではない場合、処理は後述するステップＳ３１９に進む。
【０２１０】
ステップＳ３１４において、パラメータ設定部３１２が、現在のパケット化レイヤの設定値が、既に、設定可能な最高値（図１４のレイヤL4）であると判定した場合、処理はステップＳ３１５に進む。
【０２１１】
ステップＳ３１５において、パラメータ設定部３１２は、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、既に、設定可能な最高値であるか否かを判定し、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、まだ、設定可能な最高値ではない場合、処理はステップＳ３１６に進む。
【０２１２】
ステップＳ３１６において、パラメータ設定部３１２は、フレームレートの設定値を、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値より高い所定の値に増加させる。その後、処理は図１６のステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２１３】
ステップＳ３１５において、パラメータ設定部３１２が、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値は、既に、設定可能な最高値であると判定した場合、処理は図１６のステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２１４】
ステップＳ３１３に戻って、パラメータ設定部３１２が、動き成分算出部３１１から供給されたPSNR値は、予め設定された所定の基準値より小さいと判定した場合、動き成分は多いと判定し、処理はステップＳ３１７に進む。
【０２１５】
ステップＳ３１７において、パラメータ設定部３１２は、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、既に、設定可能な最高値であるか否かを判定し、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値が、まだ、設定可能な最高値ではない場合、処理はステップＳ３１６に進み、上述した、ステップＳ３１６以降の処理が実行される。
【０２１６】
ステップＳ３１７において、パラメータ設定部３１２が、現在、パケット生成部３１３によりパケット化されている符号化データの、パケット化時のフレームレートの設定値は、既に、設定可能な最高値であると判定した場合、処理はステップＳ３１８に進む。
【０２１７】
ステップＳ３１８において、パラメータ設定部３１２は、現在のパケット化レイヤの設定値が、既に、設定可能な最高値（図１４のレイヤL4）であるか否かを判定し、現在のパケット化レイヤの設定値が、まだ、設定可能な最高値（図１４のレイヤL4）ではない場合、処理はステップＳ３１９に進む。
【０２１８】
ステップＳ３１９において、パラメータ設定部３１２は、パケット化レイヤの設定値を、現在のパケット化レイヤの設定値より高い所定の値に向上させる。例えば、現在のパケット化レイヤの設定値が、レイヤL3であった場合、パラメータ設定部３１２は、パケット化レイヤの設定値を、レイヤL4に向上させる。その後、処理は図１６のステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２１９】
ステップＳ３１８において、パラメータ設定部３１２が、現在のパケット化レイヤの設定値が、既に、設定可能な最高値（図１４のレイヤL4）であると判定した場合、処理は図１６のステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２２０】
ステップＳ３１１において、動き成分算出部３１１が、レート判定部１３２から、送信レートを増加させるようにとの要求はないと判定した場合、処理は図１６のステップＳ３０２に戻り、ステップＳ３０２以降の処理が繰り返し実行される。
【０２２１】
以上のようにして、図１５の画像送信装置１１の符号化制御処理が実行される。
【０２２２】
JPEG2000動画においては、符号化後でも、フレーム毎に符号化データを分離することができ、また、符号化後でも、パケット化レイヤの設定により、画質の調整をすることができる。そのため、エンコーダ３０１に対して、符号化の制御を行なう必要がない。従って、図１８に示されるように、JPEG2000動画の符号化データを予め記録した記録媒体３５１を、画像送信装置１１に装着し、記録媒体３５１から符号化データを読み出して、パケット化するようにしても良い。図1８の画像送信装置１１は、図１５の画像送信装置１１における映像入力部１０３およびエンコーダ３０１を消去し、代わりに、JPEG2000動画により符号化された符号化データが記録された記録媒体３５１が装着されている。なお、図１８の画像送信装置１１の場合、動き成分算出部３１１は、記録媒体３５１から、連続する２フレーム分の符号化データを読み出し、よみだした２フレームから、動き成分の指標となるPSNR値を算出する。
【０２２３】
以上のようにしてもよい。
【０２２４】
なお、本発明は、実時間ストリーミングに適用することも可能である。
【０２２５】
また、以上の説明においては、動き成分算出部３１１により算出された動き成分量に基づいて、フレームレートを優先的に変更するか、画質を優先的に変更するかを決定していたが、予め動画データに、フレームレートを優先的に変更するか、画質を優先的に変更するかを示すメタデータを付加しておき、送信レートを変更する際には、このメタデータを参照して、フレームレート、または画質を変更するようにしても良い。
【０２２６】
すなわち、動画を元に、動きの多い、少ないを推測するのではなく、予め動画データに、フレームレート優先か、画質優先かを示すフラグを、メタデータとして動画データとともに記録しておく。この場合、メタデータを参照して、フレームレートおよび画質の設定を行なえばよい。なお、報道番組のような画質優先の動画の中に、スポーツニュースのようなフレームレート優先の動画が挿入される場合など、画質優先とフレームレート優先が切り替わる場合には、切り替わるタイミングで、新たなメタデータを動画データに埋め込めばよい。さらには、全てのフレームに、メタデータを埋め込んでおいても良い。
【０２２７】
また、符号化方式としてJPEG2000動画を採用した、図１５および図１８の画像送信装置１１の場合、ROI（Region Of Interest）を指定して、特定領域の画質を向上させることもできる。すなわち、例えば、フレームレートを高い値に保ち、先に画質から落としてゆく場合でも、ROIの指定範囲内だけは、高画質に保つというようにしても良い。さらに、JPEG2000動画の場合、送信するレイヤを設定することにより、１つの符号化データから、複数の異なる画質のデータを容易に取り出すことが出来る。従って、複数の画像受信装置１３に対して、異なる画質でのストリーミングを実行することも可能となる。
【０２２８】
また、以上の説明においては、動き成分量（の指標となるPSNR値）の算出は、送信レートを下げる要求、または上げる要求があった場合に行っているが、動き成分量（の指標となるPSNR値）は、定常的に算出しておき、送信レートを下げる要求、または上げる要求があった場合、過去に算出された動き成分量（の指標となるPSNR値）の履歴を用いて、フレームレートと画質のいずれを優先的に設定するかを決定しても良い。
【０２２９】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０２３０】
図１９は、画像送信装置１１、または画像受信装置１３をソフトウェアにより実現する場合の情報処理装置の一実施の形態の構成を示している。パーソナルコンピュータ４００のCPU４０１は、パーソナルコンピュータ４００の動作の全体を制御する。また、CPU４０１は、バス４０４および入出力インタフェース４０５を介してユーザからキーボードやマウスなどからなる入力部４０６から指令が入力されると、それに対応してROM(Read Only Memory)４０２に格納されているプログラムを実行する。あるいはまた、CPU４０１は、ドライブ４１０に接続された磁気ディスク４２１、光ディスク４２２、光磁気ディスク４２３、または半導体メモリ４２４から読み出され、記憶部４０８にインストールされたプログラムを、RAM(Random Access Memory)４０３にロードして実行する。これにより、上述した画像送信装置１１、または画像受信装置１３の機能が、ソフトウェアにより実現されている。さらに、CPU４０１は、通信部４０９を制御して、外部と通信し、データの授受を実行する。また、入出力インタフェース４０５には、ディスプレイやスピーカなどにより構成される出力部４０７も接続されている。
【０２３１】
プログラムが記録されている記録媒体は、図１９に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク４２１（フレキシブルディスクを含む）、光ディスク４２２（CD-ROM(Compact Disk-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク４２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ４２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM４０２や、記憶部４０８に含まれるハードディスクなどで構成される。
【０２３２】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０２３３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２３４】
【発明の効果】
以上のように、第１の本発明によれば、ネットワークを介して、情報を送受信することができる。また、第１の本発明によれば、ネットワークの状態の変化に対応して、最適なデータを送受信することができる。
【０２３５】
第２の本発明によれば、ネットワークを介して、情報を送信することができる。また、第２の本発明によれば、ネットワークの状態の変化に対応して、最適なデータを送信することができる。
【図面の簡単な説明】
【図１】従来の動画データの送信におけるフレームレートおよび画質の調整を説明するための図である。
【図２】従来の動画データの送信におけるフレームレートおよび画質の調整を説明するための他の図である。
【図３】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図４】画像送信装置の構成例を示すブロック図である。
【図５】画像受信装置の構成例を示すブロック図である。
【図６】画像送信装置の画像送信処理、および画像受信装置の画像受信処理を説明するフローチャートである。
【図７】画像受信装置の確認応答処理を説明するフローチャートである。
【図８】画像送信装置のレート制御処理を説明するフローチャートである。
【図９】画像送信装置の符号化制御処理を説明するフローチャートである。
【図１０】画像送信装置の符号化制御処理を説明する、図９に続くフローチャートである。
【図１１】フレームレートの調整について説明する図である。
【図１２】本発明の動画データの送信におけるフレームレートおよび画質の調整を説明するための図である。
【図１３】本発明の動画データの送信におけるフレームレートおよび画質の調整を説明するための他の図である。
【図１４】JPEG2000動画の階層構造を説明する図である。
【図１５】画像送信装置の構成例を示す他のブロック図である。
【図１６】図１５の画像送信装置のパケット生成処理を説明するフローチャートである。
【図１７】図１５の画像送信装置のパケット生成処理を説明する、図１６に続くフローチャートである。
【図１８】画像送信装置の構成例を示す、さらに他のブロック図である。
【図１９】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１０  ネットワーク，  １１  画像送信装置，  １２  撮像装置，  １３  画像受信装置，  １４  表示装置，  １０１  操作部，  １０２  制御部，  １０３  映像入力部，  １０４  エンコード制御部，  １０５  パケット生成部，  １０６  パケット送信部，  １０７  パケット受信部，  １０８  レート制御部，  １２１  動き成分算出部，  １２２  パラメータ設定部，  １２３  エンコーダ，  １３１  レート算出部，  １３２  レート判定部，  １５１  操作部，１５２  制御部，  １５３  パケット受信部，  １５４  データ再構成部，  １５５  デコーダ，  １５６  記憶部，  １５７  ビデオ出力部，  １５８  状態測定部，  １５９  パケット生成部，  １６０  パケット送信部，  ３０１  エンコーダ，  ３０２  パケット生成制御部，  ３１１  動き成分算出部，  ３１２  パラメータ設定部，  ３１３  パケット生成部，  ４０１  CPU，  ４２１  磁気ディスク，  ４２２  光ディスク，  ４２３  光磁気ディスク，  ４２４  半導体メモリ
【図１】
2004193990.tif 000005
【図２】
2004193990.tif 000006
【図３】
2004193990.tif 000007
【図４】
2004193990.tif 000008
【図５】
2004193990.tif 000009
【図６】
2004193990.tif 000010
【図７】
2004193990.tif 000011
【図８】
2004193990.tif 000012
【図９】
2004193990.tif 000013
【図１０】
2004193990.tif 000014
【図１１】
2004193990.tif 000015
【図１２】
2004193990.tif 000016
【図１３】
2004193990.tif 000017
【図１４】
2004193990.tif 000018
【図１５】
2004193990.tif 000019
【図１６】
2004193990.tif 000020
【図１７】
2004193990.tif 000021
【図１８】
2004193990.tif 000022
【図１９】
2004193990.tif 000023