説明

期限時刻までにデータの送信を完了するデータ送信装置、プログラム及び方法

【課題】原データに基づくエンコード化データを送信中に、ネットワークの伝送速度の低下によって、期限時刻までに送信が完了しないことが検出された場合であっても、期限時刻までに送信を完了することができるデータ送信装置等を提供する。
【解決手段】原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択するエンコードパラメータ選択手段と、第1のエンコード化データを送信すると共に、原データを第2のエンコードパラメータでエンコードするエンコード手段と、第1のエンコード化データを送信中に、期限時刻超過検出手段によって送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データをデータ送信手段から送信するべく制御する送信データ制御手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信すべきデータをエンコードし、そのエンコード化データをネットワークを介して送信するデータ送信装置、プログラム及び方法に関する。
【背景技術】
【0002】
従来、データを圧縮することによって、その伝送時間を短縮する技術がある(例えば特許文献1参照)。この技術によれば、データ送信装置は、送信すべきデータに対する圧縮処理時間と、その圧縮データの伝送時間との合計時間を算出する。この合計時間が、そのデータの非圧縮のままでの伝送時間よりも短い場合、データ送信装置は、そのデータに対して圧縮処理を実行し、その圧縮データを送信する。
【0003】
また、サーバから映像データを配信するシステムについて、ユーザによって指定された制限時間内に、映像データを配信する技術がある(例えば特許文献2参照)。この技術によれば、サーバに蓄積する映像データを、階層符号化を用いて予めエンコード(圧縮)しておくことによって、1種類の映像データを、ネットワークの状況に応じて異なるビットレートで配信することができる。配信ビットレートを変更することによって、映像データの伝送時間を変化させることができる。
【0004】
更に、データ送信装置に蓄積された映像データを、制限時間内(期限時刻まで)にネットワークを介して伝送する蓄積型映像伝送の技術がある(例えば特許文献3参照)。この技術によれば、エンコード処理と伝送処理とを並行して実行することを考慮したものである。エンコード処理とは、映像データを一定の規則に基づいて符号化する処理をいい、例えばデータの圧縮処理をいう。映像データの場合、エンコードパラメータ(映像規格、解像度等)の組み合わせに応じて、多数のエンコード機能が提供されている。
【0005】
更に、例えばテレビ放送局の緊急報道における映像データを、期限時刻までに、エンコードし且つ伝送する技術がある(例えば非特許文献1参照)。この技術によれば、できる限り高品質な映像伝送を実現すると共に、ネットワーク品質の低下を考慮して期限時刻までにデータの送信を完了することができる。その点について、特許文献2に記載された技術のように、映像データに対して予めエンコード処理を実行しておくものではない。非特許文献1に記載された技術によれば、期限時刻までにデータの送信を完了することができるように、エンコードパラメータを自動的に決定する。また、映像データの伝送中のネットワーク回線の品質低下によって伝送速度が低下した場合、エンコードパラメータを再設定することによって、期限時刻までにデータの送信を完了することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−175707号公報
【特許文献2】特開2006−155178号公報
【特許文献3】USP7,533,398
【非特許文献】
【0007】
【非特許文献1】豊田陽介、米山暁夫、「ネットワークの帯域変動を考慮した制限時間内での蓄積型映像伝送」、PCSJ/IMPS2009、I-2-17
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1に記載された技術によれば、送信すべきデータの圧縮処理の有無を判断するだけである。そのために、ネットワークの伝送速度を考慮して、エンコード処理によるデータの圧縮率を調整可能なものではない。
【0009】
特許文献2に記載された技術によれば、映像データの伝送処理が実行される前に、予め決定された段階数の階層符号化を適用した映像データを用意しておく方式であり、複数の段階が用意されたデータの圧縮率は、それぞれ固定値となる。このため、ネットワーク状態に応じて柔軟に映像データの圧縮率を変更する必要性がある用途には、適当な方式ではない。
【0010】
特許文献3に記載された技術によれば、期限時刻までに映像データの送信を完了しようとするものである。しかしながら、伝送処理中のネットワーク速度の変動を考慮するものではない。
【0011】
非特許文献1に記載された技術によれば、期限時刻までに映像データの送信を完了しようとするものであり、また、伝送中のネットワーク速度の変動を考慮したものである。しかしながら、映像データの送信に大きな影響を及ぼすほどのネットワーク速度変動が実際に生じるまでは、実行されない。このため、残り時間が少なくなった状態でネットワーク速度の変動が生じた際に、期限時刻内で伝送を完了させることができない場合がある。
【0012】
そこで、本発明は、原データに基づくエンコード化データを送信中に、ネットワークの伝送速度の低下によって期限時刻までに送信が完了しないことが検出された場合であっても、期限時刻までに送信を完了させることができるデータ送信装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明によれば、原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信手段を有するデータ送信装置において、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する送信条件設定手段と、
ネットワークにおける伝送速度を測定する伝送速度測定手段と、
エンコード化データの送信中に、現時点の伝送速度に応じて、送信完了期限時刻tまでに送信が完了しないことを検出する期限時刻超過検出手段と、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択するエンコードパラメータ選択手段と、
原データを第1のエンコードパラメータでエンコードした第1のエンコード化データをデータ送信手段へ出力すると共に、原データを第2のエンコードパラメータでエンコードするエンコード手段と、
第1のエンコード化データをデータ送信手段から送信中に、期限時刻超過検出手段によって送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データをデータ送信手段から送信するべく制御する送信データ制御手段と
を有することを特徴とする。
【0014】
本発明のデータ送信装置における他の実施形態によれば、期限時刻超過検出手段について、送信完了期限時刻tまでに送信が完了しないことを検出する時刻は、送信完了期限よりも、第2のエンコード化データの伝送処理時間だけ以前となる時刻(少なくとも第2のエンコード化データを送信完了とすべき余裕時間に基づく時刻)であることも好ましい。
【0015】
本発明のデータ送信装置における他の実施形態によれば、エンコード手段は、エンコード処理能力(例えばパーソナルコンピュータにおけるCPU使用率など、ハードウェア内のプロセッサの処理負荷)に所定閾値以上の余裕がある場合にのみ、原データを第2のエンコードパラメータでエンコードすることも好ましい。
【0016】
本発明のデータ送信装置における他の実施形態によれば、
原データは、映像データであり、
エンコードパラメータ選択手段は、第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータが無い場合、又は、伝送速度によって変更されたビットレートが当該映像データのビットレートよりも過小な場合、映像データにおける画素数を減らすべく変換する映像変換手段を更に有することも好ましい。
【0017】
本発明のデータ送信装置における他の実施形態によれば、映像変換手段は、フレームレートを減らすか、又は、特定の色成分の解像度若しくは全ての色成分の解像度を減らすことによって、映像データにおける画素数を減らすべく変換することも好ましい。
【0018】
本発明のデータ送信装置における他の実施形態によれば、エンコードパラメータは、
映像フォーマット、
画面サイズ(解像度)、
フレームレート、
ビットレート、
空間方向の画素間予測を用いて符号化を行うフレームの割合、
時間方向の画素間予測を用いて符号化を行うフレームの割合、
画素間予測の探索を行う範囲の大きさ、
画素間予測の探索に用いるアルゴリズムの種別、
量子化パラメータの大きさ、
空間方向の画素成分を間引く割合、
画像の色成分を間引く割合、
単位時間あたりのフレーム数、
情報圧縮に用いる符号化のアルゴリズムの種類、
画素の周波数変換に用いる方式種別
のいずれか又はそれら複数の組み合わせを含むパラメータセットに基づくものであることも好ましい。
【0019】
本発明によれば、コンピュータを搭載したデータ送信装置であって、原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信手段としてコンピュータを機能させるデータ送信用のプログラムにおいて、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する送信条件設定手段と、
ネットワークにおける伝送速度を測定する伝送速度測定手段と、
エンコード化データの送信中に、現時点の伝送速度に応じて、送信完了期限時刻tまでに送信が完了しないことを検出する期限時刻超過検出手段と、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択するエンコードパラメータ選択手段と、
原データを第1のエンコードパラメータでエンコードした第1のエンコード化データをデータ送信手段へ出力すると共に、原データを第2のエンコードパラメータでエンコードするエンコード手段と、
第1のエンコード化データをデータ送信手段から送信中に、期限時刻超過検出手段によって送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データをデータ送信手段から送信するべく制御する送信データ制御手段と
してコンピュータを機能させることを特徴とする。
【0020】
本発明によれば、原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信部を有するデータ送信装置におけるデータ送信方法において、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する第1のステップと、
エンコード化データの送信中に、ネットワークにおける現時点の伝送速度を測定し、送信完了期限時刻tまでに送信が完了しないことを検出する第2のステップと、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択する第3のステップと、
原データを第1のエンコードパラメータでエンコードした第1のエンコード化データをデータ送信手段へ出力すると共に、原データを第2のエンコードパラメータでエンコードする第4のステップと、
第1のエンコード化データをデータ送信部から送信中に、送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データをデータ送信部から送信するべく制御する第5のステップと
を有することを特徴とする。
【発明の効果】
【0021】
本発明のデータ送信装置、プログラム及び方法によれば、原データに基づくエンコード化データを送信中に、ネットワークの伝送速度の低下によって期限時刻までに送信が完了しないことが検出された場合であっても、伝送速度の低下を考慮したエンコード化データを予め生成しておくことによって、期限時刻までに送信を完了させることができる。
【図面の簡単な説明】
【0022】
【図1】対象となるシステム構成図である。
【図2】エンコード時間及び伝送時間の関係を表すグラフである。
【図3】本発明に基づくエンコード時間及び伝送時間の関係を表すグラフである。
【図4】本発明におけるデータ送信装置の機能構成図である。
【図5】本発明におけるデータ送信装置のフローチャートである。
【発明を実施するための形態】
【0023】
以下では、本発明の実施の形態について、図面を用いて詳細に説明する。尚、送信対象となるデータは、映像データであるとして説明するが、エンコードされるデータであればよく、映像データに限られるものではない。
【0024】
図1は、対象となるシステム構成図である。
【0025】
図1によれば、本発明の対象として、取材現場から報道局へ、ニュース素材の映像データを伝送するシステムを想定している。具体的には、「取材現場で15:54に撮影したニュース素材の映像データを、ニュース番組の放送時刻(又は、番組用の素材編集など、放送前の準備を考慮した締切時刻)に間に合うように、16:30までに報道局への送信を完了する」という状況を想定している。このとき、取材現場側の送信装置1は、アクセスネットワークに接続し且つインターネットを介して、その映像データを、報道局側のデータ受信装置3へ送信する。
【0026】
図1によれば、カメラ2を用いて取材現場が撮影されている。カメラ2は、マイク機能も内蔵しており、音声も含む映像データを取得する。カメラ2は、ケーブルを介してデータ送信装置1に接続され、撮影された映像データをデータ送信装置1へ転送する。カメラ2とデータ送信装置1との接続方式としては、例えばIEEE1394(i.LINK/FireWire)、SDI(Serial Digital Interface)、HDMI(High-Definition Multimedia Interface)、アナログ映像端子と映像キャプチャデバイスを組み合わせたものがある。
【0027】
取材現場側のデータ送信装置1と、報道局側のデータ受信装置3とは、アクセスネットワークを介してインターネットに接続されている。アクセスネットワークは、例えば、有線・無線LAN(Local Area Network)、携帯電話用データ通信網、WiMAX(Worldwide Interoperability for Microwave Access)、BGAN(Broadband Global Area Network)のような衛星通信網等である。
【0028】
データ送信装置1は、カメラ2から取得した映像データをエンコードし、そのエンコード化データを、インターネットを介して、データ受信装置3へ送信する。このとき、データ送信装置1は、ユーザによって指定された期限時刻tまでに、その映像データの送信を完了する。図1によれば、期限時刻は「16:30」であって、制限時間(t−t)は36分(16:30−15:54)である。
【0029】
この映像データの品質は、エンコードパラメータに依存する。即ち、制限時間36分以内に、ネットワークの伝送測度を考慮して、映像データをエンコードし、そのエンコード化データの送信を完了しなければならない。
【0030】
尚、データ送信装置1は、アクセスネットワークに接続する通信インタフェース部を内蔵しているものとして説明しているが、ネットワーク接続装置が別途、外付けで備えられているものであってもよい。
【0031】
また、データ送信装置1及びカメラ2は、一体的に構成されていてもよい。
【0032】
更に、データ送信装置1は、必ずしもカメラ2から映像データを取得する場合に限られず、USB(Universal Serial Bus)メモリ、外付けハードディスク、ビデオテープ、SD(Secure Digital)メモリカード等の外部記録媒体装置から映像データを取得するものであってもよい。
【0033】
更に、データ送信装置1は、例えばパーソナルコンピュータ又は専用端末であって、アプリケーションソフトウェアによって映像データのエンコード処理及び伝送処理を実行する。同様に、データ受信装置3も、例えばパーソナルコンピュータ又は専用端末であって、アプリケーションソフトウェアによってエンコード化データの受信処理を実行する。
【0034】
図1によれば、例えば取材現場のカメラマンに対して、データ送信装置1のディスプレイにユーザインタフェース画面が表示されている。例えば、左側ボックス内に、選択可能な「映像データの一覧」が表示され、右上側ボックス内に、「期限時刻」が入力される。このユーザインタフェース画面の指示に応じて、ユーザは、送信すべき「映像データ」を選択すると共に、「期限時刻」を指定することができる。尚、「期限時刻」を入力する以外の書式として、現在時刻と終了時刻との差(制限時間)を入力するものであってもよい。そして、ユーザによって「設定開始」ボタンが押下されると、エンコード処理及び伝送処理が実行される。
【0035】
報道用の映像伝送システムでは、ネットワークの伝送速度を考慮した上で、期限時刻までに、映像データの送信を完了しなければならない。また、緊急の取材については、迅速な報道を行うために十分な時間が確保できない場合がある。このため、通常の取材で用いる業務用カメラ等のプロ用の機材ではなく、民生用カメラ等の一般向けの機材が用いられる場合がある。また、現場近くの一般市民が撮影した映像が提供されることもある。このような場合、撮影された映像データの解像度や記録ビットレートは、撮影した機材の種類や機材の設定によって様々である。このため、解像度や記録ビットレート等が様々に異なる映像データが混在した状態で、それら映像データを期限時刻までに送信を完了することが必要となる。
【0036】
図2は、エンコード時間及び伝送時間の関係を表すグラフである。
【0037】
映像データの品質は、エンコード処理におけるエンコードパラメータに依存する。しかしながら、高品質な映像データを生成しようとするほど、必要とされるエンコード処理時間も長くなる。また、高品質な映像データであるほど、エンコード化データのデータサイズも大きくなり、結果的に、その伝送時間も長くなる。ここで、1つの映像データについて、エンコードを開始してから、伝送を終了するまでの時間を「送信処理時間」とする。そうすると、映像データの品質と、送信処理時間との間のトレードオフをとって、適切なエンコードパラメータを選択する必要がある。
【0038】
図2のグラフは、横軸に時間経過を表す。図2(a)は、映像データ毎に、所定のパラメータセットpによってエンコードし、そのエンコード化データを送信する。実質的に、エンコード処理及び伝送処理を、ほぼ同時に並行して実行できる。しかしながら、エンコード時間と伝送時間とは異なるために、いずれか長い方の時間が、送信処理時間となる。図2(a)によれば、ネットワークの伝送速度が比較的低いために、映像データ毎のエンコード時間及び伝送時間の関係に応じて、エンコード時間に空きが生じている。そのために、時間的に見ると、エンコード処理能力を十分に活用しきれていないこととなる。
【0039】
図2(b)は、複数の映像データについて連続的に、エンコード処理及び伝送処理を実行している(エンコード処理については、pを用いた場合のみを記載している)。
[パターン1]第1〜第3の映像データが、同一のエンコードパラメータpでエンコードされている。このとき、第1〜第3の映像データにおける第1〜第3のエンコード化データの伝送時間は、期限時刻tを超過している。
[パターン2]次に、第1の映像データがエンコードパラメータpでエンコードされ、第2及び第3の映像データがエンコードパラメータp及びpでエンコードされている。このとき、第1の映像データにおける第1のエンコード化データの伝送時間が短くなる。これによって、第1〜第3の映像データにおける第1〜第3のエンコード化データの伝送時間は、丁度、期限時刻tに達している。
[パターン3]第1の映像データがエンコードパラメータpでエンコードされ、第2の映像データがエンコードパラメータpでエンコードされ、第3の映像データがエンコードパラメータpでエンコードされている。このとき、第3の映像データにおける第3のエンコード化データの伝送時間も短くなる。これによって、第1〜第3の映像データにおける第1〜第3のエンコード化データの伝送時間は、期限時刻tよりも十分に早く終了する。
【0040】
このように、ネットワークの伝送速度が変化しない場合には、送信開始時刻tに、期限時刻tに間に合うようにエンコードパラメータを選択することができる。尚、エンコードパラメータは、例えば以下のような関係にある。
a:高品質、エンコード化データが大きい
b:中品質、エンコード化データが中程度
c:低品質、エンコード化データが小さい
【0041】
しかしながら、第1〜第3のエンコード化データを送信中に、ネットワークの伝送速度が低下した場合、期限時刻を超過することも想定される。そこで、本発明によれば、期限時刻に丁度達するエンコードパラメータpが選択されていても、伝送速度が低下する場合に備えて、第3の映像データをエンコードパラメータpでエンコードした第3のエンコード化データを予め生成しておく。伝送速度が低下することによって期限時刻までに送信完了しないことが検出された際に、第3のエンコード化データを送信する。これによって、第1〜第3のエンコード化データを、期限時刻までに送信完了することができる。
【0042】
図3は、本発明に基づくエンコード時間及び伝送時間の関係を表すグラフである。
【0043】
図3(a)は、エンコードパラメータを再設定しても、期限時刻を超過してしまう場合を表す。時刻tに、伝送速度の低下によって、期限時刻までに送信完了しないことを検出したとする。この時点で、第3の映像データの第3のエンコード化データは、送信中である。このとき、第3の映像データについて、伝送時間が短くなるエンコードパラメータで再度、エンコード処理を実行する。エンコード処理及び伝送時間は、ほぼ同時に並行して実行されたとしても、期限時刻tまでに送信完了しない場合がある。これは、ある映像データの品質を放送用などに利用可能なレベルでエンコードする場合、エンコード後の映像データの圧縮率に、品質維持のための制限が加えられるためである。これによって、処理時間に下限値が存在することになるためである。その下限値がt-tより大きくなる場合は、制限時間内での処理が実現できない。特に、期限時刻の超過を検出した時刻tから、期限時刻tまでの時間が短いほど、期限時刻を超過する場合が多くなる。
【0044】
これに対し、図3(b)は、第3の映像データについて、事前に第2のエンコードパラメータpでエンコード処理を実行する場合を表す。本発明によれば、第3の映像データを第1のエンコードパラメータpでエンコード処理を実行した後(時刻t)、同じ第3の映像データについて、第2のエンコードパラメータpでエンコード処理を実行する。この第2のエンコード化データは、バッファされる。その後、期限時刻の超過が検出された際(時刻t)に、第1のエンコード化データの送信を停止し、第2のエンコード化データの送信を開始する。第2のエンコード化データは、期限時刻tまでに送信が完了する。即ち、期限時刻の超過が検出された際に、第2のエンコードパラメータでエンコードされた第2のエンコード化データを送信するだけでよく、エンコードし直す必要がない。図3によれば、バッファするデータは、単一のデータであったが、複数のデータに対して同様に処理することも望ましい。
【0045】
ここでは、伝送速度が低下した場合の例を示したが、逆に、ネットワークの帯域変動で伝送速度が向上する場合もある。このような場合に対処可能となるよう、伝送速度の低下率と上昇率の両者を考慮して判別し、伝送速度の上昇が見込まれる場合には、高品質なデータをバッファするように処理してもよい。即ち、第2のエンコードパラメータとして、第1のエンコードパラメータよりも処理時間が大きくかつ品質が高くなるものを選択し、そのデータをバッファする処理となる。
【0046】
また、エンコードに用いる符号化方式として、階層符号化を用いてもよい。この場合、階層符号化における低レイヤのデータが、前述のパラメータの例ではpに相当する。そして、より高位のレイヤに相当するものが、パラメータpb、paである。
【0047】
図4は、本発明におけるデータ送信装置の機能構成図である。
【0048】
図4によれば、データ送信装置1は、外部とのインタフェースとして、ユーザインタフェース部101と、映像データインタフェース部102と、通信インタフェース部103とを有する。
【0049】
ユーザインタフェース部101は、ユーザに対するディスプレイ及び操作インタフェースである。ディスプレイは、ユーザインタフェース画面を表示する(図1参照)。キーボードのような操作インタフェースは、ユーザから、送信すべき映像データ及び期限時刻の情報を取得する。
【0050】
映像データインタフェース部102は、例えばケーブルを介して接続されたカメラ2から映像データを取得し、その映像データを映像データ蓄積部111へ出力する。
【0051】
通信インタフェース部103は、アクセスネットワークに接続し、データ受信装置3へ、エンコードされた映像データを送信する。
【0052】
また、図4によれば、データ送信装置1は、映像データ蓄積部111と、エンコード部112と、データ送信部113と、送信条件設定部121と、伝送速度測定部122と、期限時刻超過検出部123と、エンコードパラメータ選択部124と、送信データ制御部125と、映像変換部126とを有する。これら機能構成部は、データ送信装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【0053】
映像データ蓄積部111は、映像データインタフェース部102から入力された映像データを、大容量記憶媒体に蓄積する。
【0054】
送信条件設定部121は、送信すべき1つ以上の映像データと、その映像データの送信完了までの期限時刻tとを設定する。送信条件は、ユーザ自身がユーザインタフェース画面(図1参照)に対して入力するものであってもよいし、予め設定されていてもよい。送信すべき1つ以上の映像データは、映像データ蓄積部111に蓄積されたものである。期限時刻tは、選択された全ての映像データについて、送信が完了するまでの時刻である。
【0055】
伝送速度測定部122は、データ受信装置に対するネットワークにおける現時点の伝送速度を測定する。測定方法として、例えばパケットペア方式、パケットトレイン方式等の技術がある。
【0056】
期限時刻超過検出部123は、エンコード化データの送信中に、現時点の伝送速度に応じて、送信完了期限時刻tまでに送信が完了しないことを検出する。
残存時間 < 残存エンコード化データの伝送時間
(期限時刻−現在時刻)<(残存エンコード化データのサイズ/現時点の伝送速度)
【0057】
また、送信完了期限時刻tまでに送信が完了しないことを検出する時刻は、送信完了期限よりも、第2のエンコード化データの伝送処理時間だけ以前となる時刻(少なくとも第2のエンコード化データを送信完了とすべき余裕時間に基づく時刻)であってもよい。
【0058】
エンコードパラメータ選択部124は、送信すべき全ての映像データにおける送信処理時間Tが、制限時間(t−t)以下となるように、第1のエンコードパラメータを選択する。エンコードパラメータ選択部124は、以下の式(3)を満たす第1のエンコードパラメータを選択する。
Max{Σi=1nEi(p),Σi=1nTi(p)} < T 式(3)
Max{a,b}:a又はbのいずれか大きい方を出力する関数
Σi=1nEi(p):各映像データのエンコード処理時間の総和
Σi=1nTi(p):各エンコード化データの伝送時間の総和
ここで左辺の値が処理時間Tである。
【0059】
本発明のエンコードパラメータ選択部124は、映像データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択する。そして、第1及び第2のエンコードパラメータを、エンコード部112へ指示する。エンコードパラメータは、例えば以下のいずれか又はそれら複数の組み合わせを含むパラメータセットに基づくものである。
映像フォーマット
画面サイズ(解像度)
フレームレート
ビットレート
空間方向の画素間予測を用いて符号化を行うフレームの割合
時間方向の画素間予測を用いて符号化を行うフレームの割合
画素間予測の探索を行う範囲の大きさ
画素間予測の探索に用いるアルゴリズムの種別
量子化パラメータの大きさ
空間方向の画素成分を間引く割合
画像の色成分を間引く割合
単位時間あたりのフレーム数
情報圧縮に用いる符号化のアルゴリズムの種類
画素の周波数変換に用いる方式種別
また、上記の他に、映像符号化の処理で適用の可否が選択可能なものであって、かつ、それが画質と処理時間とのトレードオフとなるような設定項目を含めることも望ましい。
【0060】
以下の表1は、ある映像データのエンコード処理時間を推定するために利用する処理時間の参照データを表す。この参照データは、事前にテストデータをエンコードすることで測定してもよく、また、ユーザが指定してもよい。単位時間としては、例えば「1秒分の映像データ」のような時間を基準としたものを用いてもよいし、映像データのデジタルデータとしての情報量を用いてもよい。
【表1】

【0061】
前述の表によれば、画像サイズ1440×1080及び1280×720のHD(High Definition)で記録するHDV方式と、画像サイズ720×480のSD(Standard Definition)で記録するDV方式とが表されている。HDV方式では、映像データの圧縮にMPEG−2を用いている。HDV1080iは、走査線1080本(1440×1080ピクセル)のインターレース映像を記録し、HDV720pは、走査線720本(1280×720ピクセル)のプログレッシブ映像を記録する。本発明によれば、勿論、これらフォーマットに限られず、非圧縮の映像データ、1920×1080のフルHDにも対応したAVCHD(Advanced Video Codec High Definition)方式、その他のビデオフォーマットであってもよい。
【0062】
また、表1によれば、映像データのパラメータセットとして、以下の3通りが表されている。
「高速」 (エンコード処理時間は短いが、映像品質が低い)
「標準」 (エンコード処理時間及び映像品質は「高速」「高画質」の中間となる)
「高画質」(エンコード時間処理は長いが、映像品質が高い)
この3通りのパラメータの違いは、例えばH.264の符号化における符号化ツールセットの利用の有無や動き補償の探索範囲の大小などの違いに基づく。即ち、符号化処理において処理時間とエンコードによる品質低下とのトレードオフが存在する処理の違いに基づく。
【0063】
尚、パラメータセットについては、3つに限ることなく、複数のセットが用意されていればよい。また、解像度やフレームレートは、様々なパターンを用意しておいてもよいが、ある程度限定されたパターンを用意しておくだけでもよい。例えば、HD(1440×1080、30fps)の映像データを処理する場合の時間を推定するために、HD(1440×1080、30fps)の映像データをテストエンコードする。これに対し、処理時間は画素数に比例すると仮定し、HD(1440×1080、15fps)の映像データをテストエンコードした場合の時間を、実際のエンコードを実行することなく、前述のHD(1440×1080、30fps)処理時間の半分の値を用いてもよい。また、ビットレートの差による処理時間の違いが小さい場合は、ある1つのビットレートでエンコードを実行した場合の計測データを、他のビットレートでエンコードした場合の値として用いてもよい。
【0064】
エンコード部112は、映像データ蓄積部111から入力した映像データに対して、エンコードパラメータ選択部124によって選択されたパラメータセットに基づいて、エンコード処理を実行する。エンコード部112は、映像データを第1のエンコードパラメータでエンコードした第1のエンコード化データをデータ送信部113へ出力すると共に、映像データを第2のエンコードパラメータでエンコードする。
【0065】
データ送信部113は、エンコード化データを、通信インタフェース部103を介してデータ受信装置3へ送信する。
【0066】
送信データ制御部125は、第1のエンコード化データをデータ送信部113から送信中に、期限時刻超過検出部123によって送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データをデータ送信部113から送信するべく制御する。
【0067】
映像変換部126は、エンコードパラメータ選択部124によって、第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータが無い場合、又は、伝送速度によって変更されたビットレートが当該映像データのビットレートよりも過小な場合、映像データにおける画素数を減らすべく変換する。この映像変換は、フレームレートを減らすか、又は、サイズを減らすことによって実行される。
【0068】
ここである映像データをエンコードする際に、最低限要求されるビットレートは、以下のように与えられる。
【表2】

【0069】
ここで示したとおり、映像の解像度やフレームレートによって、下限のビットレートが決定される。これは、予め規定値として設定されている形態であってもよいし、また、ユーザが指定できる形態であってもよい。また、表2の例では過剰なビットレート割り当てが起こらないよう、上限を設定している。予め上限が設定されている場合に、制限時間にあわせたパラメータ設定について上限ビットレートを超える設定が適用されることになった場合に、算出したビットレートでなく、表2の上限ビットレートを設置値として用いるようにする。
【0070】
一般的に、映像データの解像度、再生時間及びフレームレートには、以下のような関係がある。
・同一の解像度・再生時間の映像データについて、フレームレートが高いデータほど、エンコード処理時間が長くなる。
・同一のフレームレート・再生時間の映像データについて、解像度が大きいほど、エンコード処理時間が長くなる。
・同一の解像度及びフレームレートの映像データについて、再生時間が長いほど、エンコード時間が長くなる。
【0071】
このような関係は、エンコード処時間が、映像データに含まれる画素数に基づいて決まることを意味する。このとき、元の映像データのデータサイズと画素数とは、必ずしも一致しない。例えば、AVCHD(Advanced Video Codec High Definition)で映像データを記録するビデオカメラについて、1つの解像度の映像データを撮影する際に、記録ビットレートが、24Mbps、17Mbps、9Mbps、5Mbpsと、最大で5倍程度の差となる設定がある。また、HD又はSDのように記録方式が異なる場合、解像度の差が4倍も異なるにも関わらず、同等の記録ビットレートとなる。従って、このような違いに左右されない送信処理時間を割り当てる必要がある。また、エンコード処理後のビットレート(エンコードビットレート)の決定についても、画素数が大きいほどそれを記録するために必要なデータ量が多く必要であるため、同様の指標に従う必要がある。
【0072】
尚、図4には、図示していないが、エンコード処理時間について、パフォーマンス測定部及びエンコード処理時間蓄積部を有することも好ましい。
【0073】
パフォーマンス測定部は、エンコードパラメータ毎に、映像データをエンコード部112によってエンコードし、単位時間の映像データをエンコードするために必要なエンコード処理時間を導出する。データ送信装置1に搭載されたプロセッサ又はチップセットの処理能力が異なる場合、そのエンコード処理時間も異なるためである。最初に、実際に、テストデータに対して、エンコード処理を実行することによって、正確なエンコード処理時間を取得する。
【0074】
パフォーマンス測定部は、エンコードパラメータ毎に、エンコード処理時間を測定しなければならない。非常に多くのパラメータセットがある場合、一方のパラメータセットによって測定されたエンコード処理時間から、他方のパラメータセットに基づくエンコード処理時間を推定するものであってもよい。これによって、全てのパラメータセットについて測定する必要がなくなる。また、エンコード処理時間に大きく影響を与えるエンコードパラメータの値に基づいて、パラメータセットに基づくエンコード処理時間を推定するものであってもよい。更に、複数のパラメータセットのエンコード処理時間に基づいて、例えば線形補間によって、他のパラメータセットのエンコード処理時間を推定するものであってもよい。
【0075】
エンコード処理時間記憶部は、エンコードパラメータ毎に、パフォーマンス測定部によって導出されたエンコード処理時間を予め記憶する。エンコード処理時間記憶部は、送信処理時間算出部124から参照される。
【0076】
図5は、本発明におけるフローチャートである。
【0077】
(S501)送信すべき1つ以上の映像データと、それら映像データの送信完了期限時刻tとを設定させる。図4における送信条件設定部121と同様の処理が実行される。
(S502)映像データに基づく第1のエンコードパラメータを選択する。第1のエンコードパラメータは、送信すべき全ての映像データにおける送信処理時間Tが、制限時間(t−t)以下となるように選択されたものである。
(S503)送信すべき映像データを、映像データ蓄積部111から取得し、エンコード処理を実行する。
(S504)第1のエンコードパラメータでエンコードされた第1のエンコード化データを、ネットワークを介してデータ受信装置3へ送信する。
【0078】
(S505)以下、全ての映像データのエンコード化データの送信が完了するまでS506〜S522を繰り返す。
(S506)送信装置から送出されるデータ量(伝送速度)をチェックする。
(S507)測定された伝送速度に基づいて、期限時刻までに送信完了するか否か判定する。期限時刻を超過すると判定された場合、S514へ移行する。
(S508)期限時刻を超過しないと判定された場合、エンコード処理能力(グラフィック処理能力)に所定閾値以上の余裕があるか否かを判定する。エンコード処理能力に余裕が無いと判定された場合、S522へ移行する。
(S509)エンコード処理能力に余裕が有ると判定された場合、第1のエンコードパラメータよりも、伝送時間を短くするエンコードパラメータが有るか否かを判定する。伝送時間を短くするエンコードパラメータが有る場合、S511へ移行する。
(S510)第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータが無い場合、又は、伝送速度によって変更されたビットレートが当該映像データのビットレートよりも過小な場合、映像データにおける画素数を減らすべく変換する。
(S511)第1のエンコードパラメータよりも、伝送時間を短くする第2のエンコードパラメータを選択する。選択された第2のエンコードパラメータの伝送時間が短いほど、期限時刻の超過を検出する時刻を早めにする(t−tの余裕時間差を長くする)ことができる(図3参照)。
(S512)S504と同じ映像データについて、第2のエンコードパラメータを用いてエンコード処理を実行する。
(S513)第2のエンコード化データを、バッファする。そして、S522へ移行する。
【0079】
(S514)期限時刻を超過すると判定された場合、第1のエンコード化データの送信を停止する。
(S515)次に、バッファ済みのデータがあるか否かを判定する。
(S516)バッファ済みのデータがある場合、S513でバッファしていた第2のエンコード化データを、ネットワークを介して受信装置へ送信する。
(S517〜S520)バッファ済みのデータがない場合、S509〜S512と同様の処理をする。
(S521)S520にて第2のエンコードパラメータでエンコードされた第2のエンコード化データを、ネットワークを介してデータ受信装置3へ送信する。
【0080】
以上、詳細に説明したように、本発明のデータ送信装置、プログラム及び方法によれば、映像データに基づくエンコード化データを送信中に、ネットワークの伝送速度の低下によって、期限時刻までに送信が完了しないことが検出された場合であっても、ネットワークの伝送速度の低下を考慮したエンコード化データを予め生成しておくことによって、期限時刻までに送信を完了することができる。ユーザは、データ送信装置へ、送信すべき1つ以上の映像データと、その期限時刻とを入力するだけである。
【0081】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0082】
1 データ送信装置
101 ユーザインタフェース部
102 映像データインタフェース部
103 通信インタフェース部
111 映像データ蓄積部
112 エンコード部
113 データ送信部
121 送信条件設定部
122 伝送速度測定部
123 期限時刻超過検出部
124 エンコードパラメータ選択部
125 送信データ制御部
126 映像変換部
2 カメラ
3 データ受信装置

【特許請求の範囲】
【請求項1】
原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信手段を有するデータ送信装置において、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する送信条件設定手段と、
前記ネットワークにおける伝送速度を測定する伝送速度測定手段と、
エンコード化データの送信中に、現時点の伝送速度に応じて、前記送信完了期限時刻tまでに送信が完了しないことを検出する期限時刻超過検出手段と、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択するエンコードパラメータ選択手段と、
前記原データを第1のエンコードパラメータでエンコードした第1のエンコード化データを前記データ送信手段へ出力すると共に、前記原データを第2のエンコードパラメータでエンコードするエンコード手段と、
第1のエンコード化データを前記データ送信手段から送信中に、前記期限時刻超過検出手段によって前記送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データを前記データ送信手段から送信するべく制御する送信データ制御手段と
を有することを特徴とするデータ送信装置。
【請求項2】
前記期限時刻超過検出手段について、送信完了期限時刻tまでに送信が完了しないことを検出する時刻は、送信完了期限よりも、第2のエンコード化データの伝送処理時間だけ以前となる時刻(少なくとも第2のエンコード化データを送信完了とすべき余裕時間に基づく時刻)であることを特徴とする請求項1に記載のデータ送信装置。
【請求項3】
前記エンコード手段は、エンコード処理能力に所定閾値以上の余裕がある場合にのみ、前記原データを第2のエンコードパラメータでエンコードすることを特徴とする請求項1又は2に記載のデータ送信装置。
【請求項4】
前記原データは、映像データであり、
前記エンコードパラメータ選択手段は、第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータが無い場合、又は、伝送速度によって変更されたビットレートが当該映像データのビットレートよりも過小な場合、映像データにおける画素数を減らすべく変換する映像変換手段を更に有することを特徴とする請求項1から3のいずれか1項に記載のデータ送信装置。
【請求項5】
前記映像変換手段は、フレームレートを減らすか、又は、特定の色成分の解像度若しくは全ての色成分の解像度を減らすことによって、前記映像データにおける画素数を減らすべく変換することを特徴とする請求項4に記載のデータ送信装置。
【請求項6】
前記エンコードパラメータは、
映像フォーマット、
画面サイズ(解像度)
フレームレート、
ビットレート、
空間方向の画素間予測を用いて符号化を行うフレームの割合、
時間方向の画素間予測を用いて符号化を行うフレームの割合、
画素間予測の探索を行う範囲の大きさ、
画素間予測の探索に用いるアルゴリズムの種別、
量子化パラメータの大きさ、
空間方向の画素成分を間引く割合、
画像の色成分を間引く割合、
単位時間あたりのフレーム数、
情報圧縮に用いる符号化のアルゴリズムの種類、
画素の周波数変換に用いる方式種別
のいずれか又はそれら複数の組み合わせを含むパラメータセットに基づくものであることを特徴とする請求項4又は5に記載のデータ送信装置。
【請求項7】
コンピュータを搭載したデータ送信装置であって、原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信手段としてコンピュータを機能させるデータ送信用のプログラムにおいて、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する送信条件設定手段と、
前記ネットワークにおける伝送速度を測定する伝送速度測定手段と、
エンコード化データの送信中に、現時点の伝送速度に応じて、前記送信完了期限時刻tまでに送信が完了しないことを検出する期限時刻超過検出手段と、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択するエンコードパラメータ選択手段と、
前記原データを第1のエンコードパラメータでエンコードした第1のエンコード化データを前記データ送信手段へ出力すると共に、前記原データを第2のエンコードパラメータでエンコードするエンコード手段と、
第1のエンコード化データを前記データ送信手段から送信中に、前記期限時刻超過検出手段によって前記送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データを前記データ送信手段から送信するべく制御する送信データ制御手段と
してコンピュータを機能させることを特徴とするデータ送信用のプログラム。
【請求項8】
原データをエンコードしたエンコード化データを、ネットワークを介して受信装置へ送信するデータ送信部を有するデータ送信装置におけるデータ送信方法において、
送信すべき1つ以上の原データと、送信完了期限時刻tとを設定する第1のステップと、
エンコード化データの送信中に、ネットワークにおける現時点の伝送速度を測定し、前記送信完了期限時刻tまでに送信が完了しないことを検出する第2のステップと、
原データに基づく第1のエンコードパラメータと、当該第1のエンコードパラメータよりも短い伝送時間となる第2のエンコードパラメータとを選択する第3のステップと、
前記原データを第1のエンコードパラメータでエンコードした第1のエンコード化データを前記データ送信手段へ出力すると共に、前記原データを第2のエンコードパラメータでエンコードする第4のステップと、
第1のエンコード化データを前記データ送信部から送信中に、前記送信完了期限時刻までに送信が完了しないことが検出された際、第1のエンコード化データの送信を停止すると共に、第2のエンコード化データを前記データ送信部から送信するべく制御する第5のステップと
を有することを特徴とするデータ送信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−54634(P2012−54634A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−193267(P2010−193267)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】