(57)【特許請求の範囲】
【請求項１】
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、
前記ネットワーク情報受信手段にて得た前記ネットワーク情報からネットワークの状態の時間的推移を判断して、画像データの符号化処理の際に用いる符号化パラメータを決定し、該決定結果をネットワーク状態情報として出力するネットワーク状態判定手段と、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定手段から前記ネットワーク状態情報として与えられた符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化手段と、
前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段とを備え、
前記ネットワーク状態判定手段は、前記画像符号化手段から得た符号化パラメータ情報を格納する符号化パラメータ情報格納手段と、前記ネットワーク情報受信手段から入力されたネットワーク情報を格納するネットワーク情報格納手段とを具備し、
前記ネットワーク情報受信手段から入力されたネットワーク情報と符号化パラメータ情報格納手段から出力される過去の符号化パラメータ情報と前記ネットワーク情報格納手段から得られる過去のネットワーク情報とからネットワーク状態を判定して、前記画像符号化手段の前記符号化パラメータを決定することを特徴とするデータ伝送装置。
【請求項２】
前記ネットワーク状態判定手段は、
前記ネットワーク情報受信手段から入力されたネットワーク情報からＧＯＰ間隔を計算するＧＯＰ間隔計算手段を更に備え、
前記ＧＯＰ間隔計算手段から出力されたＧＯＰ間隔を示すＧＯＰ間隔情報を含むネットワーク状態情報を作成し、
前記画像符号化手段は、前記ネットワーク状態情報に含まれる前記ＧＯＰ間隔情報に従って画像符号化を行うことを特徴とする請求項１に記載のデータ伝送装置。
【請求項３】
前記ネットワーク状態判定手段は、前記ネットワークの状態として少なくともパケット損失率を判定し、
前記ＧＯＰ間隔計算手段は、少なくとも前記パケット損失率に基づいて前記ＧＯＰ間隔を求めることを特徴とする請求項２に記載のデータ伝送装置。
【請求項４】
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、
前記ネットワーク情報受信手段にて得た前記ネットワーク情報からネットワークの状態を判定し、該判定結果をネットワーク状態情報として出力するネットワーク状態判定手段と、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定手段から出力された前記ネットワーク状態情報により符号化パラメータを決定し、この決定された符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化手段と、
前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段とを備え、
前記画像符号化手段は、前記ネットワーク状態情報を用いて符号化パラメータを決定した際、次のフレームを強制的にフレーム内符号化で符号化するか否かを判定するフレーム内符号化判定手段を具備することを特徴とするデータ伝送装置。
【請求項５】
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信ステップと、
前記ネットワーク情報受信ステップにて得た前記ネットワーク情報からネットワークの状態の時間的推移を判断して、画像データの符号化処理の際に用いる符号化パラメータを決定し、該決定結果をネットワーク状態情報として出力するネットワーク状態判定ステップと、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定ステップにより前記ネットワーク状態情報として与えられた符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化ステップと、
前記画像符号化ステップにより出力された画像符号化データをネットワークに送信する送信ステップとを有し、
前記ネットワーク状態判定ステップは、前記画像符号化ステップにおいて得られた符号化パラメータ情報を符号化パラメータ情報格納手段に格納する符号化パラメータ情報格納ステップと、前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報をネットワーク情報格納手段に格納するネットワーク情報格納ステップとを含み、
前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報と符号化パラメータ情報格納手段から出力される過去の符号化パラメータ情報と前記ネットワーク情報格納手段から得られる過去のネットワーク情報とからネットワーク状態を判定して、前記画像符号化ステップにおける前記符号化パラメータを決定することを特徴とするデータ伝送方法。
【請求項６】
前記ネットワーク状態判定ステップは、
前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報からＧＯＰ間隔を計算するＧＯＰ間隔計算ステップを更に含み、
前記ＧＯＰ間隔計算ステップにより出力されたＧＯＰ間隔を示すＧＯＰ間隔情報を含むネットワーク状態情報を作成し、
前記画像符号化ステップは、前記ネットワーク状態情報に含まれる前記ＧＯＰ間隔情報に従って画像符号化を行うことを特徴とする請求項５に記載のデータ伝送方法。
【請求項７】
前記ネットワーク状態判定ステップは、前記ネットワークの状態として少なくともパケット損失率を判定し、
前記ＧＯＰ間隔計算ステップは、少なくとも前記パケット損失率に基づいて前記ＧＯＰ間隔を求めることを特徴とする請求項６に記載のデータ伝送装置。
【請求項８】
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信ステップと、
前記ネットワーク情報受信ステップにおいて得られた前記ネットワーク情報からネットワークの状態を判定し、該判定結果をネットワーク状態情報として出力するネットワーク状態判定ステップと、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定ステップにより出力された前記ネットワーク状態情報により符号化パラメータを決定し、この決定された符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化ステップと、
前記画像符号化ステップにより出力された画像符号化データをネットワークに送信する送信ステップとを有し、
前記画像符号化ステップは、前記ネットワーク状態情報を用いて符号化パラメータを決定した際、次のフレームを強制的にフレーム内符号化で符号化するか否かを判定するフレーム内符号化判定ステップを含むことを特徴とするデータ伝送方法。
【請求項９】
データ伝送装置としてコンピュータを機能させるためのプログラムであって、
前記プログラムは、
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信ステップと、
前記ネットワーク情報受信ステップにて得た前記ネットワーク情報からネットワークの状態の時間的推移を判断して、画像データの符号化処理の際に用いる符号化パラメータを決定し、該決定結果をネットワーク状態情報として出力するネットワーク状態判定ステップと、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定ステップにより前記ネットワーク状態情報として与えられた符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化ステップと、
前記画像符号化ステップにより出力された画像符号化データをネットワークに送信する送信ステップとをコンピュータに実行させるものであるとともに、
前記ネットワーク状態判定ステップは、前記画像符号化ステップにおいて得られた符号化パラメータ情報を符号化パラメータ情報格納手段に格納する符号化パラメータ情報格納ステップと、前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報をネットワーク情報格納手段に格納するネットワーク情報格納ステップとを含み、
前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報と符号化パラメータ情報格納手段から出力される過去の符号化パラメータ情報と前記ネットワーク情報格納手段から得られる過去のネットワーク情報とからネットワーク状態を判定して、前記画像符号化ステップにおける前記符号化パラメータを決定するものであることを特徴とするプログラム。
【請求項１０】
前記ネットワーク状態判定ステップは、
前記ネットワーク情報受信ステップにおいて入力されたネットワーク情報からＧＯＰ間隔を計算するＧＯＰ間隔計算ステップを更に含み、
前記ＧＯＰ間隔計算ステップにより出力されたＧＯＰ間隔を示すＧＯＰ間隔情報を含むネットワーク状態情報を作成し、
前記画像符号化ステップは、前記ネットワーク状態情報に含まれる前記ＧＯＰ間隔情報に従って画像符号化を行うものであることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記ネットワーク状態判定ステップは、前記ネットワークの状態として少なくともパケット損失率を判定し、
前記ＧＯＰ間隔計算ステップは、少なくとも前記パケット損失率に基づいて前記ＧＯＰ間隔を求めるものであることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
データ伝送装置としてコンピュータを機能させるためのプログラムであって、
前記プログラムは、
ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信ステップと、
前記ネットワーク情報受信ステップにおいて得られた前記ネットワーク情報からネットワークの状態を判定し、該判定結果をネットワーク状態情報として出力するネットワーク状態判定ステップと、
送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定ステップにより出力された前記ネットワーク状態情報により符号化パラメータを決定し、この決定された符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化ステップと、
前記画像符号化ステップにより出力された画像符号化データをネットワークに送信する送信ステップとをコンピュータに実行させるものであるとともに、
前記画像符号化ステップは、前記ネットワーク状態情報を用いて符号化パラメータを決定した際、次のフレームを強制的にフレーム内符号化で符号化するか否かを判定するフレーム内符号化判定ステップを含むものであることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化された動画像／静止画像をＩＳＤＮ（Integrated ServicesDigital Network）やインターネット等の有線通信網、あるいはＰＨＳ（Personal Handy-phone System）や衛星通信等の無線通信網を用いて伝送する情報伝送方法及びその方法が適用されるデータ伝送装置並びにそのプログラムに関する。
【０００２】
【従来の技術】
近年、画像をはじめとする各種情報のディジタル符号化技術および広帯域ネットワーク技術の進展により、これらを利用したアプリケーションの開発が盛んになっており、圧縮符号化した画像などを、通信網を利用して伝送するシステムが開発されている。
【０００３】
例えば、図１３に示すごときで、画像入力部１０１より入力された画像信号１３１を画像符号化部１０２で符号化し、得られた符号化データ１３２を符号化データ送信部１０３に与え送信データ１３３として伝送路に送信する。このようにして画像は符号化して送信するが、近年では、インターネット・イントラネットの普及により、データをパケット化して送受信するアプリケーションやシステムが増加してきている。パケット化は通信路の帯域を効率よく複数のユーザで共有するための非常に有効な手段となっている。
【０００４】
ところで、インターネット・イントラネットでパケットデータを送受信するプロトコルとしてＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）やＵＤＰ／ＩＰ（User Datagram Protocol／Internet Proto）などが存在する。
【０００５】
これらのうち、ＴＣＰ／ＩＰはインターネット標準プロトコルであって、世界的に最も普及したプロトコルとして、インターネットばかりでなくイントラネットやＬＡＮなどにも応用されているプロトコルである。ＴＣＰは、ＯＳＩ基本参照モデルの第４層トランスポート層で働き、ＩＰは第３層ネットワーク層で働く。
【０００６】
また、ＵＤＰ／ＩＰは、ＴＣＰ／ＩＰスイートのトランスポート層プロトコルの一つであり、ＴＣＰがコネクション型プロトコルであるのに対して、ＵＤＰはコネクションレス型プロトコルである。ＴＣＰと同様にポート番号を使って上位のアプリケーションを識別する。ネットワークの監視制御用の短いデータや、オーディオ・データあるいはビデオ・データのような実時間指向データを運ぶのに使うことが多い。
【０００７】
ところで、これらのうち、ＴＣＰ／ＩＰは再送などの枠組みが組み込まれていることから誤りなどに強く、多少時間がかかっても正しくデータを受信したいダウンロード型のアプリケーションで有効である。しかし、反面、リアルタイム性を求められるアプリケーションには非力である。
【０００８】
これに対し、ＵＤＰ／ＩＰは再送の枠組みがない反面、再送などにかかる遅延がなく、リアルタイム性を求められるアプリケーションには非常に有効である。
【０００９】
リアルタイム性を求められるアプリケーションの代表例としては動画像の伝送があげられるが、通常の動画像通信の場合、画像データは非常に膨大なデータ量であり、ネットワークの帯域に収まらない場合がほとんどである。その場合、画像データを符号化し、データ量を小さくしてから伝送するという手法が用いられる。動画像信号の圧縮符号化技術としては動き補償、離散コサイン変換（ＤＣＴ）、サブバンド符号化、ピラミッド符号化、可変長符号化等の技術やこれらを組み合わせた方式が開発されている。
【００１０】
そして、動画像符号化の国際標準方式としてはＩＳＯ  ＭＰＥＧ−１、ＭＰＥＧ−２、ＩＴＵ−Ｔ  Ｈ．２６１、Ｈ．２６２、Ｈ．２６３が存在し、また動画像、音声・オーディオ信号を圧縮した符号列や他のデータを多重化する国際標準方式としてはＩＳＯ  ＭＰＥＧシステム、ＩＴＵ−Ｔ  Ｈ．２２１、Ｈ．２２３が存在する。
【００１１】
インターネット等は無数のネットワークを介して繋がっており、どのネットワークがどういう状況になっているかわからないのが普通である。また、そこに流れているデータ量が時々刻々と変動するため、どのくらいのデータがリアルタイムで通信できるかを判定する仕組みが必要である。
【００１２】
そこで、ＵＤＰ／ＩＰを利用したリアルタイムアプリケーションからさらに一歩進み、パケットに時間情報等を付加して伝送するＲＴＰ（Real-time Transport Protocol）と呼ばれるパケットフォーマットを使用するアプリケーションが増えてきている。
【００１３】
このＲＴＰとは、ＲＦＣ１８８９で規定された、オーディオ・データやビデオ・データを実時間転送するためのプロトコルであって、通常はＵＤＰ（User Datagram Protocol）に乗せて運ぶ。ビデオ会議のようなマルチメディア・システムに適用することを想定したもので、実時間会話形式でデータを授受できる。ただし音質や画質の品質保証機能はない。RTPヘッダーの中にパケットの順序番号やタイム・スタンプ（時刻表示データ）をつけることによって実時間動作をサポートしている。
【００１４】
尚、ＲＦＣとはＲｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓの略称であって、インターネットの技術開発組織であるＩＥＴＦ（Internet Engineering Task Force）が公開している技術提案やコメントの文書のことを指す。ＴＣＰ／ＩＰスイートの各種のプロトコルのような、多くのデファクト・スタンダードがＲＦＣに記述されている。
【００１５】
そして、このＲＴＰを利用することで、パケットに時間情報およびパケット番号が付加され、受信側では正しい時間情報を用いて音声や画像を表示することが出来たり、ネットワークで順番が入れ替わったパケットなどを判定したり、パケット番号を見ることでパケットが損失していることを検出すること等が出来るようになった。
【００１６】
しかも、ＲＴＰには送信側や受信側から補足情報としてジッタ（遅延情報）やパケット損失率などを通知する仕組み（ＲＴＣＰ）も備わっている。
しかし、このＲＴＣＰの情報をどう利用するかはアプリケーションに依存し、規格では決まっていない。
【００１７】
また画像の場合、ネットワークの帯域では生の画像伝送分の帯域を確保できないことから、前述のように画像信号をＭＰＥＧなどの符号化方式で圧縮をして送る必要がある。これはデータ量の減少には効果があるが、逆に不安定なインターネットにデータを流すことでのパケット損失や誤りの混入に対して非常にもろくなる。これは動画像符号化方式が前のフレームとの差分のみを送信することから、データの一部が欠落することが非常に大きな問題になる。ＵＤＰやＲＴＰを使った場合、基本的にデータの再送は行われないことからこの問題に対する対策が必要である。
【００１８】
ところで、画像符号化の中には、通常２つのモードが存在する。前述した前のフレームとの差分を送るフレーム間符号化モード（Ｐ  Ｐｉｃｔｕｒｅ）と、１枚のフレームの中で閉じて符号化を行うフレーム内符号化モード（Ｉ  Ｐｉｃｔｕｒｅ）である。通常、図１９に示すように、適当なタイミングでフレーム内符号化モード（図中のＩ−Ｐｉｃ）が設けられ、それらの間には、フレーム間符号化モード（図中のＰ−Ｐｉｃ）が設けられる。このフレーム内符号化モードでフレームを符号化する間隔をＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）間隔と呼ぶ。ここで、図２０に示すように、データの欠落が発生しある復号画像（例えば、図中の１０００）が壊れてしまった場合、それ以降、フレーム間符号化モードで符号化を行っていると、壊れた画像をもとに復号を行うため、以降の復号画像全てが影響を受け、正しく復号できないことになる。そのため、図２１に示すように、途中にフレーム内符号化モードで符号化したフレーム（例えば、図中の１００１）を挿入することで、誤りの影響の伝播をそこで断ち切り、回復させる手段が用いられる。
【００１９】
【発明が解決しようとする課題】
従来の技術では、ネットワークにエラーがあることは判断できたが、それをどのように利用するかは不明であった。また、ネットワーク情報を独自の形で送信側に通知するような仕組みは考えられていたが、そのアプリケーション独自の仕様となり、汎用性がなかった。
【００２０】
例えば、せいぜい図１４に示す如く、受信側情報受信部１４０１を用いて送信データ１３３を受信し、この送信経路でネットワーク側から受ける情報の範囲で画像符号化部１０２の画像符号化処理を制御する程度である。
【００２１】
また、従来のネットワークの状態判定では、ネットワークの輻輳ということを想定して考えられてきた。しかし、インターネットがモバイル環境に広がっていくことで、さらに無線環境での誤り等を考慮する必要が出てくる。しかし、現在の技術でこのような対策は全く取られていない。
【００２２】
さらに、誤りに対応する場合でも、ネットワークの状態が変化し、誤り率などが一定にならない場合などについても考慮がなされていなかった。誤りが多い場合に対応するためにＧＯＰ間隔を狭く設定すると、フレーム内符号化モードでの符号化が多くなり、符号化効率が悪くなる。定常的に誤りが多い場合はこのような状態にする必要性がある場合もあるが、通常状態では誤りがほとんどなく、ある瞬間にだけ誤りが発生するようなネットワークの場合、これは非常に大きな無駄となる。逆に、ＧＯＰ間隔を長く設定した場合には、誤りが発生したときの影響が大きくなってしまうという問題があった。
【００２３】
そこで、ＲＴＰを利用した実時間転送の利用に着目してみる。
【００２４】
上述したように、オーディオ・データやビデオ・データを実時間転送するためのプロトコルであるＲＴＰを利用することで、パケットに時間情報およびパケット番号が付加され、受信側では正しい時間情報を用いて音声や画像を表示することが出来たり、ネットワークで順番が入れ替わったパケットなどを判定したり、パケット番号を見ることでパケットが損失していることを検出すること等が出来る。
【００２５】
しかも、ＲＴＰには送信側や受信側から補足情報としてジッタやパケット損失率などを通知する仕組み（ＲＴＣＰ）も備わっている。
【００２６】
本発明は、上記事情を考慮してなされたもので、このようなＲＴＰの特徴を利用し、送信側において受信側から得た補足情報としてのジッタやパケット損失率などの通知をもとに、伝送路の伝送状態に合わせて伝送レートを調整したり、誤り耐性を変更するなどの制御を実施できるようにして最大限に効率よくデータ伝送できるようにして、リアルタイム性が要求される伝送についても十分に利用可能にしたデータ伝送装置、データ伝送方法及びプログラムを提供することを目的とする。
【００２７】
【課題を解決するための手段】
本発明は、ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、前記ネットワーク情報受信手段にて得た前記ネットワーク情報からネットワークの状態の時間的推移を判断して、画像データの符号化処理の際に用いる符号化パラメータを決定し、該決定結果をネットワーク状態情報として出力するネットワーク状態判定手段と、送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定手段から前記ネットワーク状態情報として与えられた符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化手段と、前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段とを備え、前記ネットワーク状態判定手段は、前記画像符号化手段から得た符号化パラメータ情報を格納する符号化パラメータ情報格納手段と、前記ネットワーク情報受信手段から入力されたネットワーク情報を格納するネットワーク情報格納手段とを具備し、前記ネットワーク情報受信手段から入力されたネットワーク情報と符号化パラメータ情報格納手段から出力される過去の符号化パラメータ情報と前記ネットワーク情報格納手段から得られる過去のネットワーク情報とからネットワーク状態を判定して、前記画像符号化手段の前記符号化パラメータを決定することを特徴とする。
また、本発明は、ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、前記ネットワーク情報受信手段にて得た前記ネットワーク情報からネットワークの状態を判定し、該判定結果をネットワーク状態情報として出力するネットワーク状態判定手段と、送信すべき画像データを符号化処理するものであって、前記ネットワーク状態判定手段から出力された前記ネットワーク状態情報により符号化パラメータを決定し、この決定された符号化パラメータに対応するビットレートに調整した符号化データを得るべく符号化処理する画像符号化手段と、前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段とを備え、前記画像符号化手段は、前記ネットワーク状態情報を用いて符号化パラメータを決定した際、次のフレームを強制的にフレーム内符号化で符号化するか否かを判定するフレーム内符号化判定手段を具備することを特徴とする。
【００３１】
［１］また、本発明は、画像を取り込む画像入力手段と、前記画像入力手段から出力された画像信号を符号化する画像符号化手段と、前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段と、ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、前記ネットワーク情報受信手段で受信した前記ネットワーク情報からネットワークの状態を判定するネットワーク状態判定手段とを有し、前記画像符号化手段が前記ネットワーク状態判定手段により判定されたネットワーク状態情報により制御されることを特徴とする。
［２］また、本発明は、［１］の装置において、前記画像符号化手段で決定した符号化パラメータ情報を前記ネットワーク状態判定手段に入力することを特徴とする。
［３］また、本発明は、前記第二の発明に関する画像送信装置の前記ネットワーク状態判定手段において、前記画像符号化手段から入力された符号化パラメータ情報を格納する符号化パラメータ情報格納手段と、前記ネットワーク情報受信手段から入力されたネットワーク情報を格納するネットワーク情報格納手段とを有し、前記ネットワーク情報受信手段から入力されたネットワーク情報と符号化パラメータ情報格納手段から出力される過去の符号化パラメータ情報と前記ネットワーク情報格納手段から出力される過去のネットワーク情報とからネットワーク状態を判定することを特徴とする。
［４］また、本発明は、［１］の装置における前記画像符号化手段において、前記ネットワーク状態判定手段から入力されたネットワーク状態情報から符号化パラメータを決定する符号化パラメータ決定手段を有することを特徴とする。
［５］また、本発明は、［４］の装置における前記符号化パラメータ決定手段において、前記ネットワーク状態情報を用いて符号化パラメータを決定した際、次のフレームを強制的にフレーム内符号化で符号化するかどうかを判定するフレーム内符号化判定手段を有することを特徴とする。
［６］また、本発明は、符号化された符号化データをネットワークに送信する送信手段と、ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、前記ネットワーク情報受信手段で受信した前記ネットワーク情報からネットワークの状態を判定するネットワーク状態判定手段と、複数の符号化された符号化データの入力から一つを選択し出力する符号化データ切り替え手段と、前記ネットワーク状態判定手段から出力されたネットワーク状態情報から前記送信手段より送信する符号化データを選択し前記符号化データ切り替え手段へ切り替え情報を出力する符号化データ選択手段とを有することを特徴とする。
［７］また、本発明は、［６］の装置の符号化データ切り替え手段において、符号化データの切り替え可能位置を検出する切り替え位置検出手段を有し、前記符号化データ選択手段から出力された前記切り替え情報により符号化データ切り替え信号が来た場合、前記切り替え位置検出手段で切り替え位置の検出を行い、前記切り替え位置で符号化データを切り替えることを特徴とする。
【００３２】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００３３】
本発明は、ＲＴＰの特徴を利用するものであって、ＲＴＰには送信側や受信側から補足情報として遅延情報（ジッタ）やパケット損失率などを通知する仕組み（ＲＴＣＰ）を備えており、送信側において受信側から得た補足情報としてのジッタやパケット損失率などの通知をもとに、伝送路の伝送状態に合わせて送信側における送信データのビットレートを調整したり、誤り耐性レベルを変更するなどの制御を実施するものである。
【００３４】
従って、本発明によれば、最大限に効率よくデータ伝送できるようにして、リアルタイム性が要求される伝送についても十分に利用可能にしたデータ伝送を実現できる。
【００３５】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００３６】
本発明は、オーディオ・データやビデオ・データを実時間転送するためのプロトコルであるＲＴＰ、ＲＴＣＰを利用するものであって、送信側において受信側から得た補足情報としてのジッタ（遅延情報）やパケット損失率などの通知をもとに、伝送路の伝送状態に合わせて伝送レートを調整したり、誤り耐性を変更するなどの制御を実施できるようにして最大限に効率よくデータ伝送できるようにするものであり、以下、詳細を説明する。
【００３７】
（第１の実施形態）
図１は本発明の第１の実施形態に係る画像送信装置の基本構成図である。図において、１０１は画像入力部であり、１０２は画像符号化部であって、当該画像入力部１０１より入力された画像信号１３１を符号化処理するものである。
【００３８】
１０３は符号化データ送信部であって、画像符号化部１０２により符号化された符号化データ１３２をネットワークに適合したかたちに加工し、受信側へ送信するものである。１０４はネットワーク情報受信部であって、受信側より送られてきたネットワーク情報１３４を受信し、それをネットワーク状態判定部１０５へ出力するためのものである。このネットワーク状態判定部１０５はネットワーク情報受信部１０４から出力されたネットワーク情報１３５からネットワークの状態を判定し、その結果をネットワーク状態情報１３６として画像符号化部１０２へ通知する機能を有する。
【００３９】
なお、画像符号化部１０２はネットワーク状態情報１３６を利用し、画像信号１３１の符号化を行うが、これはつぎのようにして行う。すなわち、ＲＴＰ、ＲＴＣＰの場合、パケット損失率や遅延情報が与えられる。これにより、ネットワーク状態判定部１０５では、パケット損失率が“０”でなかったり、遅延時間がある値よりも大きければ、ネットワークになんらかの負荷がかかっており、想定したデータ量のデータを流せないでいると判断する。そこで、画像符号化部１０２へビットレートを下げるような指示（ネットワーク状態情報１３６）を出し、符号化する際の目標ビットレートの設定を低く設定し直すという処理を行うように構成してある。
【００４０】
このような構成の本装置は、画像信号１３１を画像入力部１０１より入力すると、この入力された画像信号１３１は画像符号化部１０２で符号化される。そして、画像符号化部１０２により符号化された符号化データ１３２は符号化データ送信部１０３に入力される。
【００４１】
符号化データ送信部１０３では、符号化データ１３２をネットワークにあった形に加工し、受信側へ送信する。ネットワーク情報受信部１０４では受信側より送られてきたネットワーク情報１３４を受信し、それをネットワーク状態判定部１０５へ出力する。
【００４２】
ネットワーク状態判定部１０５ではネットワーク情報受信部から出力されたネットワーク情報１３５からネットワークの状態を判定し、その結果をネットワーク状態情報１３６として画像符号化部１０２へ通知する。
【００４３】
画像符号化部１０２ではこの通知されたネットワーク状態情報１３６を利用し、画像信号１３１の符号化を行う。
【００４４】
上述したように、ＲＴＰ、ＲＴＣＰの場合、パケット損失率や遅延情報が与えられる。これにより、ネットワーク状態判定部１０５では、パケット損失率が“０”でなかったり、遅延時間がある値よりも大きければ、ネットワークになんらかの負荷がかかっており、想定したデータ量のデータを流せないでいると判断する。そこで、このような場合には、ネットワーク状態判定部１０５では、画像符号化部１０２へビットレートを下げるような指示（ネットワーク状態情報１３６）を出し、符号化する際の目標ビットレートの設定を低く設定し直す。
【００４５】
図１０にネットワーク状態判定部１０５でのネットワーク状態の判定方法の非常に簡単な一例をフローチャートで示す。
すなわち、手順Ｓ１００１では、ネットワーク情報のパケット損失率を調べ、“０”かそうでないかを判定する。その結果、もしパケット損失があれば、手順Ｓ１００２によりパケット損失率から有効ビットレートを算出する。これは、例えば次に示すような式（１）で計算することが可能である。
ｂ′＝ｂ×（１−ｒ）                                    …（１）
ここで、ｂは現在のビットレート、ｂ′は新しいビットレート、ｒはパケット損失率である。
【００４６】
次に手順Ｓ１００３では前記手順Ｓ１０２で求めたパラメータ（符号化パラメータ）を画像符号化部１０２に通知する。ここで、上記のパラメータは画像符号化部１０２における符号化処理のレートコントロールや誤り耐性のレベル決定するするためのもので、画像符号化部１０２では、入力される画像信号１３１の符号化処理速度をこのパラメータ対応に調整制御してビットレートを変えたり、フレーム間隔を変えたり、誤り耐性のレベルを変えるなどの調整に用いられる。
【００４７】
一方、手順Ｓ１００１でパケット損失率が“０”であった場合は、手順Ｓ１００４でパラメータ変更なしとなる。これは判断方法の一例であり、手順Ｓ１００１の判断基準を“０”かそれ以外とせずある閾値で判断する場合や、上記式（１）以外の数式に基づいてビットレートを求める等、これ以外の判断方法をとることも可能である。
【００４８】
このように、第１の実施形態においては、画像を取り込む画像入力手段と、前記画像入力手段から出力された画像信号を符号化する画像符号化手段と、前記画像符号化手段から出力された画像符号化データをネットワークに送信する送信手段と、ネットワークの状態に関するネットワーク情報を受信するネットワーク情報受信手段と、前記ネットワーク情報受信手段で受信した前記ネットワーク情報からネットワークの状態を判定するネットワーク状態判定手段とを有し、前記画像符号化手段が前記ネットワーク状態判定手段により判定されたネットワーク状態情報により処理動作が制御されるようにしたことを特徴とするものである。
【００４９】
従って、本実施形態を用いることで伝送ネットワークの帯域が不明の場合や、途中で変化した場合にでも、受信側のネットワーク情報を元にパラメータ等を再設定し、現在のネットワークに合ったパラメータで画像を符号化、送信することが可能となる。これにより、ネットワークが混雑してきた場合でもビットレートを自動的に落とし、画質は低下するが遅延があまり発生したり、パケット損失により画像が壊れるなどの現象が出ずに画像を通信することが可能となる。これは、リアルタイムの画像伝送に非常に有効な方法となる。
【００５０】
なお、第１の実施形態は次のように変形して実施可能である。一例を示すと、図１１の如きである。この図１１にはネットワーク状態判定部１０５でのネットワーク状態の判定方法の図１０以外の例をあげる。ここで特徴的なのは、図１０のフローチャートがパケット損失率のみでパラメータを設定しているのに対し、図１１の方法では、手順Ｓ１１０４でパケット損失がない場合でも遅延量を調べるようにし、その結果、ある値以上に遅延しているようなら、やはりネットワークが混雑していると判断する。そして、ネットワークが混雑していると判断された場合、手順Ｓ１１０５において例えば次の式（２）を用いて、ビットレートを計算し、新たなパラメータとする。
ｂ′＝ｂ×｛（ＴN−ＴS）＋（ｄ−ｄth）｝／（ＴN−ＴS）  …（２）
ここで、ｂは現在のビットレート、ｂ′は新しいビットレート、ＴNは現在の時刻、ＴSは開始時刻、ｄは遅延時間、ｄthは遅延時間の閾値である。
【００５１】
図１の構成を発展させて、ネットワーク状態判定部１０５にネットワーク状態情報１３６を生成する機能を持たせて画像符号化部１０２に与えるようにした例を図２に示す。
【００５２】
すなわち、図２に示す構成の場合は、ネットワーク状態判定部１０５に、現在の画像符号化部１０２の現在のパラメータを取得する機能と、これにより取得した現在のパラメータとネットワーク情報１３５とから次にどのようなパラメータ設定をしたらいいかというネットワーク状態情報１３６を生成して画像符号化部１０２に与える機能を持たせたものである。
【００５３】
この構成の場合、ネットワーク状態判定部１０５で画像のパラメータすなわち、画像符号化部１０２において現在行っている符号化処理の状態を知ることができることを意味するから、ビットレートなどをネットワーク状態判定部１０５の方で計算して把握することが可能となる。これは、ネットワーク情報１３５とパラメータ情報１３７を比較して、ネットワークの状態を判定する場合などに有利になる。そして、ネットワークの状態に合わせて最適なビットレートとなるようにパラメータを変更し、画像符号化部１０２に与えて符号化処理を調整することができる仕組みを実現できることになる。
【００５４】
このように、本発明は、伝送路の伝送状態に合わせて伝送を調整したり、誤り耐性を変更するものであり、伝送状態の調整はビットレートを変えたり、フレーム間隔を変えるなどして行い、伝送路の品質の変動に対しては、伝送路の伝送状態に合わせ、誤り耐性を切り替える（例えば、ＭＰＥＧ４同期信号の間隔を変えるなどして、誤り耐性を変更する）ことで伝送路の状態対応の伝送を行うことができ、以て、最大限に効率よくデータ伝送できるようにして、リアルタイム性が要求される伝送についても十分に利用可能にしたデータ伝送を可能にするものである。
【００５５】
別の例を図３に示す。
図３では図２の構成をさらに発展させ、ネットワーク状態判定部１０５の中に過去のネットワーク情報を格納しておくネットワーク情報格納部３０１と、現在の画像符号化部１０２の適用している符号化パラメータ情報を格納した符号化パラメータ情報格納部３０２とを有する構成としたものである。ネットワーク状態判定部３０３は、これらより過去のネットワーク情報と現在の符号化パラメータとを知り、これらよりネットワーク状態の時間的な推移を判断して画像符号化部１０２に与える最適なパラメータを決定し、画像符号化部１０２に与える。
【００５６】
この構成によれば、時間的なネットワーク情報の推移を見ることで、ネットワークの状態をより正確に判定することが可能となる特徴が得られる。図１２に、この方式を用いた場合でのネットワーク状態判定方法のフローチャートを示す。
【００５７】
このフローチャートに従ってネットワーク状態判定部３０３の処理を説明すると、ネットワーク状態判定部３０３はまず、手順Ｓ１２０１でパケット損失があるかどうかの判定を行い、その判定の結果、パケット損失がある場合、手順Ｓ１２０２によって、前回もパケット損失が発生していたかどうかの判定を行う。その結果、前回もパケット損失が起きていた場合、その損失率を比較し、前回のパケット損失率より今回のパケット損失率が上回っていると、前回の修正が有効でなかったと判断できる。
【００５８】
これは、ネットワークの輻輳のような伝送データの帯域オーバーが問題なのではなく、回線上にノイズのようなものが発生し、データを破壊している可能性が高いことを意味していると判断できる。よって、ネットワーク状態判定部３０３は手順Ｓ１２０４においてはビットレートを変動せず、誤りに強くなるようなパラメータの設定を行い、手順Ｓ１２０５で画像符号化部１０２に通知する。
【００５９】
ネットワーク状態判定部３０３は、手順Ｓ１２０３において今回のパケット損失率が前回のパケット損失率を下回っていれば、前回の変更が有効に働いていたとして、手順Ｓ１２０６においてパケット損失率から有効ビットレートを再計算する。また、手順Ｓ１２０２において前回はパケット損失が発生していない場合、今回の損失は回線のノイズと判定、手順１２０４に進む。
【００６０】
一方、ネットワーク状態判定部３０３は手順Ｓ１２０１においてパケット損失がなかった場合には、手順Ｓ１２０７に進み遅延量を調べることになる。そして、その結果、遅延量が閾値Ｔｈを超えた場合、手順Ｓ１２０８で遅延量から有効ビットレートを計算し、手順Ｓ１２０５にて画像符号化部１０２に通知することになる。
【００６１】
最後に、ネットワーク状態判定部３０３は手順Ｓ１２０７で遅延量も閾値Ｔｈを超えていない場合は良好な通信が出来ていると判断して、手順Ｓ１２０９において特にパラメータの変更を行わないこととする。
【００６２】
ネットワーク状態判定部３０３にこのような処理を行わせることで、ネットワーク状態判定部１０５には伝送路上で起きているパケット損失がネットワークの輻輳かそれとも無線などの回線状態が悪くノイズが発生し損失が起きているのかを判断することが可能な機能を持たせることができるようになる。
【００６３】
これは、一例であり、例えば手順Ｓ１２０２で前回はパケット損失がない場合をノイズだと判定せず、逆にネットワークの輻輳だと思いビットレートを下げる制御を行ったり、手順Ｓ１２０３で前回のパケット損失率より今回のパケット損失率が改善されていれば、前回どのような変更を行ったかを調べ、それと同様のパラメータ変更を行うということも考えられる。このように本方式では様々な判定方式をネットワークに合わせ設定することが可能である。
【００６４】
以上は、ネットワーク状態判定部１０５で決定され、与えられた符号化パラメータに基づいて画像符号化部１０２が符号化処理する例を示したが、ネットワーク状態判定部１０５ではなく、画像符号化部１０２によりパラメータを決定する構成とすることもできる。その例を図４に示す。
【００６５】
図４に画像符号化部１０２で符号化パラメータを決定する場合の構成を含んだブロック図を示す。この例の場合、画像符号化部１０２は符号化パラメータ決定部４０１と信号処理部４０２とから構成される。
【００６６】
この構成の場合、ネットワーク状態判定部１０５はネットワーク状態判定部３０３からネットワーク状態情報１３６を出力して画像符号化部１０２に与える構成とする。
【００６７】
このような構成において、ネットワーク状態判定部１０５では、そのネットワーク状態判定部３０３から出されたネットワーク状態情報１３６は、画像符号化部１０２に与える。すると、画像符号化部１０２では、ネットワーク状態情報１３６はまず符号化パラメータ決定部４０１に入力され、符号化パラメータ決定部４０１はこのネットワーク状態情報１３６からネットワーク状態を知ってネットワーク状態に適合した形の符号化パラメータ４３１を生成させる。
【００６８】
生成された符号化パラメータ４３１は信号処理部４０２に入力される。すると、この信号処理部４０２は画像入力部１０１から入力された画像信号１３１をこの符号化パラメータ４３１を使い、符号化する。
【００６９】
符号化後の符号量などの符号化情報４３２は符号化パラメータ決定部４０１に入力され、次回の符号化パラメータ決定の際に利用される。信号処理部４０２で符号化された符号化データ１３２は符号化データ送信部１０３へ出力される。
【００７０】
図５は、図４で示した符号化パラメータ決定部４０１において、フレーム内符号化を強制的に設定するフレーム内符号化判定部５０１を含む構成を示したブロック図である。図に示すように、符号化パラメータ決定部４０１は、フレーム内符号化判定部５０１と符号化パラメータ決定部５０２とを備えて構成されている。
【００７１】
この構成の場合、ネットワーク状態判定部１０５から出力されたネットワーク状態情報１３６は符号化パラメータ決定部４０１の持つ符号化パラメータ決定部５０２に入力され、当該符号化パラメータ決定部５０２からはネットワーク状態情報１３６対応の符号化パラメータ情報５３１が出力される。
【００７２】
符号化パラメータ情報５３１はフレーム内符号化判定部５０１に入力され、そのままフレーム間符号化を行うのかそれともフレーム内符号化に強制的にするのかを判断する。もしフレーム内符号化と判断された場合、ここで符号化パラメータ情報５３１はフレーム内符号化を行うように更新され、符号化パラメータ情報４３１として、図４における画像符号化部１０２の信号処理部４０２へ出力される。
【００７３】
このようにすることで、以前のデータが受信側に正しく伝送されていなくても、パラメータ変更後から正しく受信できれば、正しい画像を再生することが出来るような構成になる。
【００７４】
画像符号化部１０２とネットワーク状態判定部１０５の機能を併せ持つようなネットワーク状態判定可能な画像符号化部を構成し、一つのブロックの中で前述してきたような機能を持たせることも可能である。
【００７５】
符号化パラメータ決定部４０１やネットワーク状態判定部１０５では、次の符号化パラメータ設定に関わる判断を行うのであるが、一時的なネットワークの不安定さによって急激に画質が変動したりすると逆に見にくい映像になってしまったりする場合がある。このような現象を抑制するために、符号化パラメータの変動をある程度の範囲内に押さえる機構を入れることも可能であり、上記のような状況では有効に機能する。
【００７６】
ビットレートの設定や、誤り耐性パラメータの設定は算出されたもの通りに設定する場合もあるが、例えばある程度予めパターンを決めておき、その中から一番近いものを選択するという方法を取ることも可能である。また、一番近いものではなく、ビットレートでは算出したビットレート以下のもので最も近いものを選択するなどの使い方も可能である。これにより、様々なパラメータの組み合わせにより予期しない画質の映像が出ることを防ぐことができ、ある程度テスト済みの符号化パラメータの組み合わせを用意しておくことが可能となる。
【００７７】
以上の例では、パケット損失率が“０”でなかったり、遅延が閾値を超えた場合に、ビットレートや誤り耐性などのパラメータを変更し、現状に合ったパラメータに設定し直すような制御を行ってきた。
【００７８】
しかし、ネットワークの状態が回復し、パケット損失が発生しなくなったり、遅延が小さくなった場合には、逆にビットレートを上げたり、誤り耐性パラメータを弱くしたりする制御を行うことも可能である。
【００７９】
そのような例を第２の実施形態として次に説明する。
【００８０】
（第２の実施形態）
図６は本発明の第２の実施形態に係る画像送信装置の基本構成図である。図６において、６０１は蓄積媒体、６０２は符号化データ切り替え部、６０３は符号化データ選択部であり、また、１０３は符号化データ送信部、１０４はネットワーク情報受信部、１０５はネットワーク状態判定部である。
【００８１】
これらのうち、蓄積媒体６０１は予め符号化されたコンテンツの符号化データ６３１を保存するためのものであり、複数あるものとする。各蓄積媒体６０１にはそれぞれ異なる符号化パラメータで符号化された同一コンテンツの符号化データが保存してある。
【００８２】
符号化データ切り替え部６０２はこれら複数の蓄積媒体６０１のうちの一つを選択してその選択した蓄積媒体６０１に保持されている符号化データ６３１を、前記符号化データ送信部１０３に与えるべく、蓄積媒体６０１を選択切り替えするものであって、この選択は符号化データ選択部６０３からの切り替え情報６３２に従って実施される構成である。
【００８３】
ネットワーク情報受信部１０４は、受信側からの送信データを受信するものであって、受信側や網側から送られてくるパケット損失率や遅延情報等のネットワーク情報１３４を受信してこれをネットワーク状態判定部１０５にネットワーク情報１３５として与える機能を有する。
【００８４】
また、ネットワーク状態判定部１０５は入力されたネットワーク情報１３５からネットワークの状態を判定し、その結果をネットワーク状態情報１３６として符号化データ選択部６０３へ出力するものであり、符号化データ選択部６０３はこのネットワーク状態情報１３６からどの符号化パラメータの符号化データが現在のネットワークに最適であるかを推測して、その推測した最適な符号化パラメータによる符号化データを出力として選択すべく、切り替えるための切り替え情報６３２を符号化データ切り替え部６０２へ出力する機能を有する。
【００８５】
符号化データ切り替え部６０２ではこの切り替え情報６３２をもとに、入力された符号化データ６３１の中から１つの符号化データを選択し、符号化データ１３２を出力することになる。
【００８６】
このような構成において、予め符号化されて蓄積媒体６０１などに保存されていた符号化データ６３１は、蓄積媒体６０１から再生させると符号化データ切り替え部６０２に入力される。すなわち、複数ある蓄積媒体６０１にはそれぞれ、異なる符号化パラメータで符号化されたそれぞれの符号化データが保持されており、これらを再生する結果、符号化データ切り替え部６０２には、それぞれ異なる符号化パラメータで符号化された符号化データが入力されることになる。そして、符号化データ切り替え部６０２は、この中から一つを選択して符号化データ送信部１０３へ出力する。
【００８７】
なお、この選択は符号化データ選択部６０３からの切り替え情報６３２に従って実施される。
【００８８】
一方、受信側からのパケット損失率や遅延情報等のネットワーク情報１３４はネットワーク情報受信部１０４で受信され、ネットワーク状態判定部１０５に送られる。ネットワーク状態判定部１０５では入力されたネットワーク情報１３５からネットワークの状態を判定し、その結果をネットワーク状態情報１３６として符号化データ選択部６０３へ出力する。
【００８９】
符号化データ選択部６０３ではネットワーク状態情報１３６からどの符号化パラメータの符号化データが現在のネットワークに最適かを推測し、切り替え情報６３２を符号化データ切り替え部６０２へ出力する。
【００９０】
符号化データ切り替え部６０２ではこの切り替え情報６３２をもとに、入力された符号化データ６３１の中から１つの符号化データを選択し、符号化データ１３２を出力する。
【００９１】
具体的な例で本実施形態を説明する。
いま、蓄積媒体６０１として、例えば、３８４［kbps］、１２８［kbps］、６４［kbps］、３２［kbps］、１６［kbps］で符号化された５つの符号化データが保存された５台の記憶媒体６０１ａ〜６０１ｅが存在するものとする。
【００９２】
すなわち、例えば、３８４［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体が記憶媒体６０１ａ、１２８［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体が記憶媒体６０１ｂ、６４［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体が記憶媒体６０１ｃ、３２［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体が記憶媒体６０１ｄ、１６［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体が記憶媒体６０１ｅである。
【００９３】
３８４［kbps］で送信できる品質を持つ伝送路を用いている場合、まずは３８４［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体である記憶媒体６０１ａによる再生符号化データを選択させ、３８４［kbps］で送信を開始し、受信側からのネットワーク情報の受信も同時に開始する。
【００９４】
ある間隔でネットワーク情報を受信するが、その情報によりネットワークになんらかの支障があり、パケット損失や遅延が発生しているとわかった段階で、有効なビットレートを算出する。そして、その算出したビットレートに近いビットレートの符号化データを符号化データ選択部６０３で選択し、符号化データ切り替え部６０２で切り替え、送信することとなる。
【００９５】
例えば、算出したビットレートが１４０［kbps］であれば、このビットレートに近い値を持つのは１２８［kbps］であり、この場合には１２８［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体６０１ｂの再生している符号化データを選択して切り替えるようにし、算出したビットレートが１００［kbps］であれば、これ以下でのビットレートで近い値を持つのは６４［kbps］であり、この場合には６４［kbps］で符号化されたコンテンツの符号化データを保存した記憶媒体６０１ｃの再生している符号化データを選択して切り替えるようにすると云った具合である。
【００９６】
このように、本実施形態はコンテンツを、伝送ビットレートの種別対応に、予め符号化を行って用意しておき、ＲＴＰの持つ機能である受信側からのパケット損失率や遅延情報等のネットワーク情報に基づいて現在の最適な伝送レートを求め、この伝送レートに対応するビットレートの得られる符号化データを保存した記憶媒体の再生符号化データ出力に選択切り替えて伝送するようにしたので、サーバ側でリアルタイムに符号化を行うという処理が必要がなくなり、サーバの負荷を軽減することが可能となる。これは特に放送などの予め作られた映像を配信する際に非常に有効な手段となる。
【００９７】
ここで、第２の実施形態の変形例について触れておく。これは図７に示す如き構成であって、ここには符号化データ切り替え部６０２において、入力される符号化データの切り替えタイミングについての制御を行う方法についてのブロック図を示してある。
【００９８】
符号化データ６３１は切り替え位置検出部７０１と切り替え部７０２に入力される。切り替え位置検出部７０１では、切り替え情報６３２が入力される。切り替え情報６３２により現在の符号化データから他の符号化データへ切り替えを実行する必要が生じた際、切り替え位置検出部７０１では符号化データを解析し、切り替え可能な位置の検出を行う。
【００９９】
これは例えばフレーム内符号化（Ｉ−Ｐｉｃｔｕｒｅ）で符号化されたフレームを探すということである。
【０１００】
そして、切り替え可能位置になったところで、切り替え部７０２に切り替え指示情報７３１を用いて符号化データの切り替えを指示を行う。図８には、この様子を図で示したものを示す。Ａの符号化データが現在選択されていて、切り替え情報６３２によりＢの符号化データへの切り替えを行う必要が生じたとする。
【０１０１】
その時点では、図８中の“切り替え指示”時点でのフレームを処理していたと仮定する。その場合、ここで符号化データを切り替えてしまうと画像に不整合が生じてしまう。なぜなら、フレーム間符号化（Ｐ−Ｐｉｃｔｕｒｅ）では、前の画像との差分を符号化している。そのため、Ｐ−Ｐｉｃｔｕｒｅの時点で符号化データを切り替えてしまうと、直前の画像（符号化データ（Ａ）の復号画像Ｉ１１）を使って次の画像（符号化データ（Ｂ）の画像Ｐ１１）を再生しようとすることとなってしまう。
【０１０２】
これでは正しい復号画像が得られず、画像が壊れてしまうという問題点がある。
【０１０３】
そこで、前の画像との差分ではなく、そのフレームだけで符号化を行うフレーム内符号化（Ｉ−Ｐｉｃｔｕｒｅ）の画像のタイミングで切り替えを行う必要が出てくる。これが図８の“切り替え実行”のマーク位置でのタイミングになる。
【０１０４】
また、図９のようにフレームの枚数や時間位置が符号化データ毎に異なる場合も考えられる。その際も、同様に切り替え先の符号化データの切り替え可能位置を検出し、可能位置に来たところで符号化データの切り替えを実行する。
【０１０５】
図７の切り替え位置検出部７０１において、切り替え情報６３２で切り替えの必要が生じた場合に、一時的に符号化データ送信部１０３への出力１３２を停止し、切り替え位置が来た段階で新しい符号化データを符号化データ送信部１０３へ出力する方法も可能である。
【０１０６】
これは、符号化データの切り替えにより、バッファのオーバーフローなどを抑制する必要がある場合に有効である。また、逆にアンダーフローが問題になる場合は、スタッフィングビットなどを強制的に挿入することでも対処可能である。
【０１０７】
（第３の実施形態）
次に、第３の実施形態について説明する。
【０１０８】
本実施形態では、第１の実施形態の図４の画像符号化部１０２の符号化パラメータ決定部４０１において、ネットワーク状態判定部１０５から出力されたネットワーク状態情報１３６に基づき、フレーム内符号化モードで符号化する時間間隔（ＧＯＰ間隔）を調整するようにした場合の構成例について説明する。なお、ここでは、第１の実施形態と相違する点を中心に説明する。
【０１０９】
図１５に、この場合の符号化パラメータ決定部４０１の構成例を示す。このように、ＧＯＰ間隔計算部１５０１と符号化パラメータ決定部５０２とを備えて構成されている。
【０１１０】
ネットワーク状態判定部１０５から出力されたネットワーク状態情報１３６（ここでは、少なくともパケット損失率情報が含まれているものとする）は、符号化パラメータ決定部５０２に入力される。パラメータ決定部５０２では、ネットワーク状態情報１３６のパケット損失率情報１５３１をＧＯＰ間隔計算部１５０１に入力する。ＧＯＰ間隔計算部１５０１では、パケット損失率情報１５３１からＧＯＰ間隔を計算する。ＧＯＰ間隔情報１５３２は、符号化パラメータ決定部４０１に通知される。符号化パラメータ決定部４０１では、入力されたＧＯＰ間隔情報１５３２を含む符号化パラメータ情報４３１を出力する（なお、符号化パラメータ決定部４０１では、内部で生成したパラメータ情報がある場合には、ＧＯＰ間隔情報１５３２と該内部で生成したパラメータ情報を含む符号化パラメータ情報４３１を出力する）。
【０１１１】
図１６にＧＯＰ間隔計算部におけるＧＯＰ間隔を決定する方法の一例をフローチャートで示す。
【０１１２】
手順Ｓ１６０１では、ネットワーク状態情報１３６からパケット損失が発生したかどうかを判定する。パケット損失が発生していた場合は、手順Ｓ１６０２において例えば次の式（３）よりＧＯＰ間隔を推定する。
ｇｏｐ＝（ＴN−ＴL）／｛（ＦN−ＦL）×ｒ｝              …（３）
ここで、ｇｏｐはＧＯＰ間隔、ｒはパケット損失率、ＦNは現在のフレーム総数、ＦLは前回の計算時のフレーム総数、ＴNは現在の時刻、ＴLは前回の計算時の時刻である。
【０１１３】
手順Ｓ１６０２で求められたＧＯＰ間隔は、手順Ｓ１６０３で信号処理部４０２に通知され、この値に基づいて符号化が行われる。
【０１１４】
一方、手順Ｓ１６０１でパケット損失が発生していなかった場合は、手順Ｓ１６０４でデフォルトのＧＯＰ間隔値を読み出す。そして、手順Ｓ１６０３で、この値を信号処理部４０２に通知する。
【０１１５】
本実施形態によれば、ＧＯＰ間隔をネットワークに適した値に動的に変化させることが可能となる。これにより、誤りの少ない場合にはＧＯＰ間隔を広げ無駄なフレーム内符号化モードを減らすことが可能となる。その反対に、誤りの多い場合にはＧＯＰ間隔を狭めフレーム内符号化モードのフレームが早く出現することで回復を早くすることが可能となる。本実施形態では、効率的なフレーム内符号化モードの選択が可能となる。
【０１１６】
図１７にＧＯＰ間隔計算部におけるＧＯＰ間隔を決定する方法の他の例をフローチャートで示す。
【０１１７】
この例では、図１６の方式に比べパケット損失が無かった場合でも、手順Ｓ１７０４においてパケット損失の過去の履歴からネットワークの状態を推定し、最適なＧＯＰ間隔を計算するようにしている。この手法は、ある瞬間にパケット損失がなかったとしてすぐＧＯＰ間隔をデフォルト値に戻すのではなく、過去の履歴を検証し、ネットワークが完全に誤りがない状態になったのか、それとも誤りはまだ発生する可能性があるのかどうかを推定することを可能としている。これにより、より正確なネットワークの状態判定が可能になる。
【０１１８】
図１８にＧＯＰ間隔計算部におけるＧＯＰ間隔を決定する方法のさらに他の例をフローチャートで示す。
【０１１９】
この例では、ＧＯＰ間隔を決定するのにパケット損失の有り／無しでの判定を行うのではなく、一意の計算方式で決定するようにしている。これは、現在のパケット損失率から一つの式でＧＯＰ間隔を決定する場合にも、過去の履歴を検証し一番適したＧＯＰ間隔を決定する場合にも利用できる。
【０１２０】
次の式（４）はＧＯＰ間隔を決定する際の計算式の例を示したものである。
ｇｏｐ＝［（ＴN−ＴL）／｛（ＦN−ＦL）×ｒ｝］×α      …（４）
ここで、ｇｏｐはＧＯＰ間隔、ｒはパケット損失率、αは感度係数、ＦNは現在のフレーム総数、ＦLは前回の計算時のフレーム総数、ＴNは現在の時刻、ＴLは前回の計算時の時刻である。
【０１２１】
この例では、実際の値から算出されたＧＯＰ間隔に感度係数を掛け合わせることで、誤りのある場合は効率を犠牲にして早く回復したいといった要求や多少誤りの影響が長引いても構わないといった要求などを満たすことが可能となる。例えば、感度係数αを１よりも小さく設定すると、実測値から計算したＧＯＰ間隔よりも短いＧＯＰ間隔が出力される。これにより、効率は犠牲になるが、誤りが発生した場合、かなり早い回復を見込むことが可能となる。
【０１２２】
なお、本実施形態は、式（３），（４）に限定されるものではない。例えばこれらの式は前回計算時からの増分を使って値を算出しているが、ｎ回前からの増分というように幅をとって計算することも可能である。これにより、細かい状態の変化の中に隠れたゆるやかな変化に対応したり、一時的な変化をある程度除去することが可能となる。同様にアルゴリズムも本実施形態で示したものに限定されるものではない。
【０１２３】
また、上記では、第１の実施形態の図４の画像符号化部１０２の符号化パラメータ決定部４０１においてネットワーク状態情報１３６に基づきフレーム内符号化モードで符号化する時間間隔（ＧＯＰ間隔）を調整する場合の構成例について説明したが、第１の実施形態のネットワーク状態判定部１０５（図１、図２、または図３）において、ネットワーク情報受信部１０４からの情報、またはネットワーク情報受信部１０４からの情報および画像符号化部１０２からの情報に基づいて、フレーム内符号化モードで符号化する時間間隔（ＧＯＰ間隔）を決定して、画像符号化部１０２へ与えるようにする構成も可能である。
【０１２４】
また、第１の実施形態で述べたように、画像符号化部１０２とネットワーク状態判定部１０５の機能を併せ持つようなネットワーク状態判定可能な画像符号化部を構成し、一つのブロックの中で前述してきたような機能を持たせることも可能である。
【０１２５】
以上、種々の実施形態を説明したが、要するに本発明は、ＲＴＰの特徴を利用するものであって、ＲＴＰには送信側や受信側から補足情報としてジッタやパケット損失率などを通知する仕組み（ＲＴＣＰ）を備えており、送信側において受信側から得た補足情報としてのジッタやパケット損失率などの通知をもとに、伝送路の伝送状態に合わせて送信側における送信データのビットレートを調整したり、誤り耐性レベルを変更するなどの制御を実施できるようにしたものである。従って、上述した本発明によれば、最大限に効率よくデータ伝送できるようにして、リアルタイム性が要求される伝送についても十分に利用可能にしたデータ伝送を実現できるようになる。
【０１２６】
なお、本発明は上述した実施形態に限定されるものではなく、種々変形して実施可能である。また、本発明において、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１２７】
また、本発明における実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、ＭＯなど）、半導体メモリなどの記録媒体に格納して頒布することもでき、また、ネットワークを介しての伝送により、頒布することもできる。
【０１２８】
【発明の効果】
本発明によれば、ネットワークの状態を判定し、符号化のパラメータを最適に設定することが可能となる。また、ネットワークに輻輳によるパケット損失と無線誤りのような損失が混在する場合、これを判定しパラメータを設定することが可能となる。
従って、本発明によれば、最大限に効率よくデータ伝送できるようにして、リアルタイム性が要求される伝送についても十分に利用可能にしたデータ伝送を実現できるようになるデータ伝送装置およびデータ伝送方法を提供できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の基本構成例を示す図
【図２】同実施形態における一構成例を示す図
【図３】同実施形態におけるネットワーク状態判定部の構成例を示す図
【図４】同実施形態における画像符号化部の構成例を示す図
【図５】同実施形態における符号化パラメータ決定部の構成例を示す図
【図６】本発明の第２の実施形態における基本構成例を示す図
【図７】同実施形態における符号化データ切り替え部の構成例を示す図
【図８】同実施形態における符号化データ切り替え部での符号化データ切り替えタイミングを説明するための図
【図９】同実施形態における符号化データ切り替え部でのフレーム間隔の異なる符号化データの切り替えタイミングを説明するための図
【図１０】本発明の第１の実施形態におけるネットワーク状態判定部でのネットワーク状態判定方法の基本例を示すフローチャート
【図１１】同実施形態におけるネットワーク状態判定部でのネットワーク状態判定方法の遅延対応させた基本例を示すフローチャート
【図１２】同実施形態におけるネットワーク状態判定部でのネットワーク状態判定方法での時間方向変動を考慮した基本例を示すフローチャート
【図１３】従来の画像送信装置の構成を示す図
【図１４】従来の独自ネットワーク情報を利用した画像送信装置の構成を示す図
【図１５】本発明の第３の実施形態に係る構成例を示す図
【図１６】同実施形態におけるＧＯＰ間隔計算部におけるＧＯＰ間隔計算方法の一例を示すフローチャート
【図１７】同実施形態におけるＧＯＰ間隔計算部におけるＧＯＰ間隔計算方法の他の例を示すフローチャート
【図１８】同実施形態におけるＧＯＰ間隔計算部におけるＧＯＰ間隔計算方法のさらに他の例を示すフローチャート
【図１９】ＧＯＰの構造とＧＯＰ間隔について説明するための図
【図２０】誤りによる復号画像への影響について説明するための図
【図２１】ＧＯＰ間隔を小さくした場合の誤りによる復号画像への影響について説明するための図
【符号の説明】
１０１…画像入力部
１０２…画像符号化部
１０３…符号化データ送信部
１０４…ネットワーク情報受信部
１０５…ネットワーク状態判定部
１３１…画像信号
１３２…符号化データ
１３３…送信データ
１３４…受信データ
１３５…ネットワーク情報
１３６…ネットワーク状態情報
１３７…符号化パラメータ情報
３０１…ネットワーク情報格納部
３０２…符号化パラメータ格納部
３０３…ネットワーク状態判定部
３３１…ネットワーク情報
３３２…符号化パラメータ情報
４０１…符号化パラメータ決定部
４０２…信号処理部
４３１…符号化パラメータ情報
４３２…符号化情報
５０１…フレーム内符号化判定部
５０２…号化パラメータ決定部
５３１…符号化パラメータ情報
６０１…蓄積媒体
６０２…符号化データ切り替え部
６０３…符号化データ選択部
６３１…号化データ
６３２…切り替え情報
７０１…切り替え位置検出部
７０２…切り替え部
７３１…切り替え指示情報
１５０１…ＧＯＰ間隔計算部
【図１】
0003699910.tif 000002
【図２】
0003699910.tif 000003
【図３】
0003699910.tif 000004
【図４】
0003699910.tif 000005
【図５】
0003699910.tif 000006
【図６】
0003699910.tif 000007
【図７】
0003699910.tif 000008
【図８】
0003699910.tif 000009
【図９】
0003699910.tif 000010
【図１０】
0003699910.tif 000011
【図１１】
0003699910.tif 000012
【図１２】
0003699910.tif 000013
【図１３】
0003699910.tif 000014
【図１４】
0003699910.tif 000015
【図１５】
0003699910.tif 000016
【図１６】
0003699910.tif 000017
【図１７】
0003699910.tif 000018
【図１８】
0003699910.tif 000019
【図１９】
0003699910.tif 000020
【図２０】
0003699910.tif 000021
【図２１】
0003699910.tif 000022