JP2016220012A - 通信端末、データ送受信システム、通信方法、および通信用プログラム - Google Patents

通信端末、データ送受信システム、通信方法、および通信用プログラム Download PDF

Info

Publication number
JP2016220012A
JP2016220012A JP2015102568A JP2015102568A JP2016220012A JP 2016220012 A JP2016220012 A JP 2016220012A JP 2015102568 A JP2015102568 A JP 2015102568A JP 2015102568 A JP2015102568 A JP 2015102568A JP 2016220012 A JP2016220012 A JP 2016220012A
Authority
JP
Japan
Prior art keywords
encoder
file
encoding
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015102568A
Other languages
English (en)
Other versions
JP6565324B2 (ja
Inventor
夏季 甲斐
Natsuki Kai
夏季 甲斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015102568A priority Critical patent/JP6565324B2/ja
Publication of JP2016220012A publication Critical patent/JP2016220012A/ja
Application granted granted Critical
Publication of JP6565324B2 publication Critical patent/JP6565324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】低コストで、受信側における再生の停止を抑制することができる通信端末、データ送受信システム、通信方法、および通信用プログラムを提供する。【解決手段】第1のエンコーダ23が、データをエンコードする。第2のエンコーダ24が、第1のエンコーダ23よりも低いビットレートでデータをエンコードする。エンコーダ決定部22が、通信状態に応じて、データのエンコードに、第1のエンコーダ23と第2のエンコーダ24とのいずれを用いるのかを決定する。送信部26が、エンコーダ決定部22によって決定された第1のエンコーダ23または第2のエンコーダ24によってエンコードされたデータを送信する。【選択図】 図12

Description

本発明は、データを送受信する通信端末、データ送受信システム、通信方法、および通信用プログラムに関する。
送信端末から受信端末へ映像データおよび音声データ(以下、マルチメディアデータと総称する)を送信するマルチメディアデータ送受信システムがある。そのようなマルチメディアデータ送受信システムでは、例えば、インターネット等の通信ネットワークを介して、マルチメディアデータが送受信される。
しかし、インターネット等の通信ネットワークにおいて通信状態が悪化した場合に、送信されたマルチメディアデータの受信側への到着が遅延し、受信側におけるマルチメディアデータの再生処理が停止してしまうという問題がある。
そのような問題を解決するために、受信側が、受信したマルチメディアデータを蓄積してから再生処理を開始するバッファリング技術がある。以下、蓄積したマルチメディアデータを再生バッファといい、蓄積されているマルチメディアデータの再生時間を再生バッファ時間という。
マルチメディアデータが送受信される通信ネットワークが携帯電話通信網等のモバイルネットワークである場合には、インターネットに比べて通信状態が激しく変動する。したがって、バッファリング技術を用いても、受信側におけるマルチメディアデータの再生処理が停止してしまう場合がある。
そこで、非特許文献1〜3に記載されているような適応映像配信制御技術が提案されている。
非特許文献1には、HLS(HTTP(Hypertext Transfer Protocol) Live Streaming)について記載されている。非特許文献2には、Smooth Streamingについて記載されている。非特許文献3には、MPEG−DASH(Moving Picture Expert Group−Dynamic Adaptive Streaming over HTTP)について記載されている。
非特許文献1〜3に記載されているような適応映像配信制御技術が用いられているシステムは、マルチメディアデータを数秒の再生時間単位のファイル(以下、チャンクともいう)に分割する。そして、当該システムは、チャンク単位で送信側の送信ビットレートを切り替えることが多い。
非特許文献1に記載されているHLSや、非特許文献2に記載されているSmooth Streaming等のようにチャンク単位でビットレートを切り替える技術は、予め用意されたマルチメディアデータを送受信するVOD(Video On Demand)等のサービスの提供には有効である。
特許文献1には、マルチメディアデータに含まれる映像データにおけるフレームごとに(すなわちチャンクの途中で)、ビットレートを変更可能な特殊なコーデックについて記載されている。特許文献1に記載されているようなコーデックは、通信ネットワークにおける通信状態の悪化を検知した場合にビットレートを低下させ、マルチメディアデータの再生処理の停止を防ぐ。
特表2007−511188号公報
ロジャー・パントス(Roger Pantos)、ウィリアム・メイ(William May)著,エイチティーティーピーライブストリーミング(HTTP Live Streaming),[online],IETF(Internet Engineering Task Force),[平成27年5月7日検索],https://datatracker.ietf.org/doc/draft-pantos-http-live-streaming/ アレックス・ザンベルリ(Alex Zambelli)著,アイアイエススムースストリーミングテクニカルオーバービュー(IIS Smooth Streaming Technical Overview),[online],Microsoft Corporation,[平成27年5月7日検索],http://www.microsoft.com/en-us/download/details.aspx?id=17678 インフォメーションテクノロジー−ダイナミックアダプティブストリーミングオーバーエイチティーティーピー(ダッシュ)−(Information technology−Dynamic adaptive streaming over HTTP(DASH)−),[online],ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 23009−1:2014,[平成27年5月7日検索],http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=65274
送信側が撮影して生成したマルチメディアコンテンツをリアルタイムで送信するライブ映像配信ではリアルタイム性が重視されるため、送信側が撮影して生成したマルチメディアコンテンツを受信側が再生するまでの遅延(以下、ライブ遅延という)を減少させることが重要である。
ここで、ライブ遅延の大部分は再生バッファ時間によるところが大きいため、ライブ遅延を減少させるためには再生バッファを小さくすることが必要となる。
しかし再生バッファを小さくすると、非特許文献1に記載されている技術や非特許文献2に記載されている技術では、以下のような状況を生じさせうる。すなわち、送信側が撮影して生成したマルチメディアコンテンツをリアルタイムで送信するライブ映像配信において、あるチャンクの送信中に通信状態が悪化した場合に、受信側で再生の停止が生じうる。
ライブ遅延を減少させるためには、送信側が、N番目のチャンクの送信中にN+1番目のチャンクをエンコードしておき、N番目のチャンクの送信直後にN+1番目の送信を開始できるようにする必要がある。
一般的なエンコーダにエンコードビットレートを再設定するためには、エンコーダをリセットする必要がある。そして、リセット処理には、一般に、数百ミリ秒を要する。
そうすると、送信側が、通信状態が悪化したことを検知したときにエンコードビットレートを再設定すると、再設定に時間を要し、却って遅延が増大してしまう。そのためN番目のチャンクの配信中に通信状態の急激な悪化を検知したとしても、当該悪化に応じた、N+1番目のチャンクのエンコードビットレートの再設定は適切な対応とはいえない。また、遅延を減少させるためには再生バッファ時間を減少させる必要がある。
したがって、VODに比べて、ライブ映像配信において受信側で再生の停止が発生しやすい原因は、通信ネットワークにおける通信状態の悪化と、当該悪化に応じたビットレートの変更との間のタイムラグが大きいこと、および再生バッファ時間が短いことである。
よって、通信ネットワークにおける通信状態が悪化してスループットが低下した場合に、送信側は、スループットの低下に応じて迅速にエンコードビットレートを変更する必要がある。
また、ライブ配信システムにおいて、通信ネットワークにおける通信状態が悪化してスループットが低下した場合に、送信側におけるスループットフィードバック、および受信側から送信側にスループットを通知するスループットフィードバックに基づいて、送信側がエンコードビットレートを下げるためには、エンコーダを初期化し、フレーム取得およびエンコードを、予め設定されたチャンクを構成するために必要なフレームの回数繰り返す必要がある。
また、エンコード済みのフレーム数がチャンクを構成する数に満たないときにエンコーダを初期化する場合、エンコーダを停止して、必要なパラメータをセットして再定義し、エンコーダを再起動するまでのオーバヘッドが発生する。つまり、通信ネットワークにおける通信状態が悪化してスループットが低下した場合に、エンコードビットレートの変更に時間と手間とを要するという問題がある。
特許文献1に記載されているようなコーデックは特殊なコーデックであり、高コストになるという問題がある。
そこで、本発明は、低コストで、受信側における再生の停止を抑制することができる通信端末、データ送受信システム、通信方法、および通信用プログラムを提供することを目的とする。
本発明による通信端末は、データをエンコードする第1のエンコーダと、第1のエンコーダよりも低いビットレートでデータをエンコードする第2のエンコーダと、通信状態に応じて、データのエンコードに、第1のエンコーダと第2のエンコーダとのいずれを用いるのかを決定するエンコーダ決定手段と、エンコーダ決定手段によって決定された第1のエンコーダまたは第2のエンコーダによってエンコードされたデータを送信する送信手段とを備えたことを特徴とする。
本発明によるデータ送受信システムは、いずれかの態様の通信端末と、通信端末の送信手段が送信したデータを受信する受信端末とを備え、受信端末は、送信手段が送信したデータのスループットを測定するスループット測定手段と、スループット測定手段の測定結果に基づいて、送信されたデータの到着が遅延したか否かを判定する遅延判定手段と、遅延判定手段が遅延したと判定した場合に、遅延したことを受信端末に通知する通知手段とを含むことを特徴とする。
本発明による通信方法は、データをエンコードする第1のエンコードステップと、第1のエンコードステップよりも低いビットレートでデータをエンコードする第2のエンコードステップと、通信状態に応じて、データのエンコードに、第1のエンコードステップと第2のエンコードステップとのいずれを用いるのかを決定するエンコードステップ決定ステップと、エンコードステップ決定ステップによって決定された第1のエンコードステップまたは第2のエンコードステップでエンコードされたデータを送信する送信ステップとを含むことを特徴とする。
本発明による通信用プログラムは、コンピュータに、データをエンコードする第1のエンコード処理と、第1のエンコード処理よりも低いビットレートでデータをエンコードする第2のエンコード処理と、通信状態に応じて、データのエンコードに、第1のエンコード処理と第2のエンコード処理とのいずれを用いるのかを決定するエンコード処理決定処理と、エンコード処理決定処理によって決定された第1のエンコード処理または第2のエンコード処理でエンコードされたデータを送信する送信処理とを実行させることを特徴とする。
本発明によれば、受信側における再生の停止を抑制することができる。
本発明の第1の実施形態のマルチメディアデータ送受信システムの構成例を示すブロック図である。 本発明の第1の実施形態のマルチメディアデータ送受信システムにおける送信側端末の動作を示すフローチャートである。 本発明の第1の実施形態のマルチメディアデータ送受信システムにおける送信側端末の動作を示すフローチャートである。 エンコーダ選択部が、メインエンコーダおよびバックアップエンコーダのいずれを用いるのかを決定する方法を示すフローチャートである。 本発明の第1の実施形態のマルチメディアデータ送受信システムにおける受信側端末の動作を示すフローチャートである。 到着遅延検知部が、ファイル受信部がステップS301の処理で受信したファイルが通信ネットワークにおいて遅延したか否かを判定する第1の処理を示すフローチャートである。 到着遅延検知部が、ファイル受信部がステップS301の処理で受信したファイルが通信ネットワークにおいて遅延したか否かを判定する第2の処理を示すフローチャートである。 本発明の第2の実施形態のマルチメディアデータ送受信システムの構成例を示すブロック図である。 本発明の第2の実施形態のマルチメディアデータ送受信システムにおける中継サーバの構成例を示すブロック図である。 本発明の第2の実施形態のマルチメディアデータ送受信システムにおける中継サーバがファイルを受信する動作を示すフローチャートである。 本発明の第2の実施形態のマルチメディアデータ送受信システムにおける中継サーバがファイルを送信する動作を示すフローチャートである。 本発明の第3の実施形態の通信端末の構成例を示すブロック図である。
実施形態1.
本発明の第1の実施形態のマルチメディアデータ送受信システム100について、図面を参照して説明する。図1は、本発明の第1の実施形態のマルチメディアデータ送受信システム100の構成例を示すブロック図である。
図1に示すように、本発明の第1の実施形態のマルチメディアデータ送受信システム100は、送信側端末200と受信側端末300とを含む。送信側端末200と受信側端末300とは、それぞれ通信ネットワーク400に接続されている。
そして、送信側端末200は、キャプチャ部201、エンコーダ選択部202、メインエンコーダ203、バックアップエンコーダ204、ファイル出力部205、ファイル送信部206、スループットフィードバック部207、メインエンコーダ初期化部208、およびバックアップエンコーダ初期化部209を含む。
なお、エンコーダ選択部202、ファイル出力部205、ファイル送信部206、スループットフィードバック部207、メインエンコーダ初期化部208、およびバックアップエンコーダ初期化部209は、例えば、プログラム制御に従って処理を実行するCPU(Central Processing Unit)によって実現される。また、キャプチャ部201、メインエンコーダ203、およびバックアップエンコーダ204は、例えば、プログラム制御に従って処理を実行する画像処理モジュールによって実現される。ファイル送信部206は、例えば、プログラム制御に従って処理を実行する通信モジュールによって実現される。そして、エンコーダ選択部202およびバックアップエンコーダ初期化部209が行う通信は、当該通信モジュールによって行われてもよい。
キャプチャ部201は、カメラ(図示せず)が撮影して生成された動画像の映像データおよび音声データによる映像フレームおよび音声フレーム(以下、単にフレームともいう)を取得する。
エンコーダ選択部202は、キャプチャ部201が取得したフレームをエンコードするエンコーダを選択し、選択したエンコーダに当該映像フレームおよび音声フレームを入力する。
メインエンコーダ203およびバックアップエンコーダ204は、エンコーダ選択部202が入力したフレームをエンコードするエンコーダであり、エンコード後のフレームをファイル出力部205に入力する。なお、バックアップエンコーダ204は、メインエンコーダ203よりも低いエンコードビットレートに設定されている。したがって、バックアップエンコーダ204によってエンコードされた映像フレームおよび音声フレームは、メインエンコーダ203によってエンコードされた映像フレームおよび音声フレームよりもビットレートが低い。メインエンコーダ203およびバックアップエンコーダ204は、例えば、一般のエンコーダである。
ファイル出力部205は、メインエンコーダ203またはバックアップエンコーダ204が入力したフレームを所定の再生時間単位にファイル化してファイル送信部206に入力する。ファイル出力部205によってファイル送信部206に入力されたファイルは、つまり、チャンクである。
ファイル送信部206は、ファイル出力部205が入力したファイルを受信側端末300へ送信する。
スループットフィードバック部207は、ファイル送信部206がファイルを受信側端末300へ送信した場合に、送信スループットを算出して、算出結果をメインエンコーダ初期化部208に入力する。
メインエンコーダ初期化部208は、スループットフィードバック部207が入力した送信スループットに応じて、メインエンコーダ203を初期化する。
バックアップエンコーダ初期化部209は、受信側端末300から送信された通知に応じて、バックアップエンコーダ204を初期化する。
また、受信側端末300は、ファイル受信部301、ファイル出力部302、および到着遅延検知部303を含む。
なお、到着遅延検知部303は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。ファイル受信部301は、例えば、プログラム制御に従って処理を実行する通信モジュールによって実現される。そして、到着遅延検知部303が行う通信は、当該通信モジュールによって行われてもよい。
ファイル受信部301は、送信側端末200から送信されたファイルを通信ネットワーク400を介して受信する。
ファイル出力部302は、ファイル受信部301が受信したファイルを出力する。具体的には、ファイル出力部302は、例えば、ファイル受信部301が受信したファイルを、外部の機器に出力したり、デコードしてデコード後のフレームに再生処理を施して映像および音声を再生して出力したりする。
到着遅延検知部303は、ファイル受信部301が受信したファイルの通信ネットワーク400における遅延を検知し、検知結果を送信側端末200に通知する。
次に、本発明の第1の実施形態のマルチメディアデータ送受信システム100の動作について説明する。図2および図3は、本発明の第1の実施形態のマルチメディアデータ送受信システム100における送信側端末200の動作を示すフローチャートである。
送信側端末200が起動すると、メインエンコーダ初期化部208は、メインエンコーダ203を初期化して所定のエンコードビットレートを設定する(ステップS101)。
また、キャプチャ部201は、カメラが撮影して生成された動画像のフレームを取得する(ステップS102)。そして、キャプチャ部201は、エンコーダ選択部202に、ステップS102の処理で取得したフレームを入力する。
キャプチャ部201が前回以前のステップS102の処理で取得したフレームであって今回のステップS102の処理で取得したフレームと後述する処理で1つにファイル化されるフレームが、バックアップエンコーダ204によって既にエンコードされていた場合に(ステップS103のY)、ステップS110の処理に移行し、そうでない場合に(ステップS103のN)、ステップS104の処理に移行する。
バックアップエンコーダ初期化部209は、ステップS104の処理で、受信側端末300から送信された第1のフィードバック通知を受信した場合に(ステップS104のY)、バックアップエンコーダ204を初期化して(ステップS105)、ステップS109の処理に移行する。なお、第1のフィードバック通知とは、受信側端末300が、ファイルの到着が遅延したと判断した場合にその旨を送信側端末200に1回目に報告する通知である。第1のフィードバック通知によって、受信側端末300が後述するステップS404の処理で算出したスループットが通知されてもよい。そして、バックアップエンコーダ初期化部209は、ステップS105の処理で、当該通知されたスループットに応じたパラメータをバックアップエンコーダ204に設定してもよい。
また、エンコーダ選択部202は、受信側端末300から送信された第2のフィードバック通知を受信した場合に(ステップS104のN,S106のY)、ステップS107の処理に移行する。エンコーダ選択部202は、受信側端末300から第1のフィードバック通知も第2のフィードバック通知も受信しなかった場合に(ステップS104のN,S106のN)、ステップS109の処理に移行する。なお、第2のフィードバック通知とは、受信側端末300が、ファイルの到着が遅延したと判断した場合にその旨を送信側端末200に2回目以降に報告する通知であり、詳しくは後述する。
エンコーダ選択部202は、キャプチャ部201が前回以前のステップS102の処理で取得して今回のステップS102の処理で取得したフレームと後述する処理で1つにファイル化されるフレームが、メインエンコーダ203およびバックアップエンコーダ204のいずれかによってエンコードされたか否かを判定する(ステップS107)。
エンコーダ選択部202は、当該フレームが既にエンコードされたと判定した場合に(ステップS107のY)、ステップS108の処理に移行し、そうでない場合に(ステップS107のN)、ステップS110の処理に移行する。
エンコーダ選択部202は、ステップS108の処理で、エンコードに、メインエンコーダ203およびバックアップエンコーダ204のいずれを用いるのかを決定する(ステップS108)。なお、エンコーダ選択部202がメインエンコーダ203およびバックアップエンコーダ204のいずれを用いるのかを決定する方法については後述する。
エンコーダ選択部202は、エンコードに、メインエンコーダ203を用いると決定した場合に(ステップS108のY)、メインエンコーダ203に、キャプチャ部201が入力したフレームを入力する。メインエンコーダ203は、エンコーダ選択部202が入力したフレームをエンコードし(ステップS109)、ファイル出力部205に、エンコード後のフレームを入力して、ステップS111の処理に移行する。
また、エンコーダ選択部202は、エンコードに、バックアップエンコーダ204を用いると決定した場合に(ステップS108のN)、バックアップエンコーダ204に、キャプチャ部201が入力したフレームを入力する。バックアップエンコーダ204は、エンコーダ選択部202が入力したフレームをエンコードし(ステップS110)、ファイル出力部205に、エンコード後のフレームを入力して、ステップS111の処理に移行する。
ファイル出力部205は、操作部(図示せず)にユーザから終了操作がなされていない場合に(ステップS111のN)、入力されたエンコード後のフレームの数が所定の数未満であるときに(ステップS112のN)、ステップS102の処理に移行する。すなわち、送信側端末200は、操作部(図示せず)にユーザから終了操作がなされていない場合に(ステップS111のN)、ファイル出力部205に入力されたエンコード後のフレームの数がチャンクを構成する所定の数に達するまで、ステップS102〜S112の処理を繰り返す。
ファイル出力部205は、操作部にユーザから終了操作がなされておらず、入力されたエンコード後のフレームの数が所定の数に達した場合に(ステップS111のN,S112のY)、それらフレームを1つのファイルにして、ファイル送信部206に入力する(ステップS113)。なお、当該ファイルは、例えば、マルチメディアデータによるファイル(チャンク)である。また、例えば、ファイル出力部205は、当該ファイルが送信される場合における先頭に、当該ファイルのファイルサイズを示すファイルサイズ情報、および当該ファイルに含まれる各フレームに基づいて映像および音声が再生された場合の再生時間を示す再生時間情報を付加する。そして、例えば、ファイル出力部205は、当該ファイルが送信される場合における後尾に、当該ファイルが終了することを示す終了コードを付加する。
そして、ファイル送信部206は、ステップS113の処理でファイル出力部205が入力したファイルを受信側端末300へ送信する(ステップS114)。
スループットフィードバック部207は、ファイル送信部206がステップS114の処理でファイルを送信したときの送信スループットを算出する。具体的には、例えば、スループットフィードバック部207が、ファイル送信部206がステップS114の処理で送信したファイルのデータ量を当該送信に要した時間で除して算出した商が送信スループットである。
そして、スループットフィードバック部207は、メインエンコーダ初期化部208に、算出した送信スループットを示すスループット情報を入力する(ステップS115)。メインエンコーダ初期化部208は、次回のステップS101の処理で、ステップS115の処理で入力されたスループット情報が示す送信スループットに基づいて、エンコードビットレートを設定する。具体的には、例えば、メインエンコーダ初期化部208は、次回のステップS101の処理で、ステップS115の処理で入力されたスループット情報が示す送信スループットの値(例えば、1.0Mbps(Mega bit per second))を、エンコードビットレートの値に設定する。
ファイル出力部205は、操作部にユーザから終了操作がなされた場合に(ステップS111のY)、処理を終了する。なお、送信側端末200は、操作部にユーザから終了操作がなされた場合に(ステップS111のY)、ファイル出力部205によるステップS113の処理、ファイル送信部206によるステップS114の処理、およびスループットフィードバック部207によるステップS115の処理が完了してから、処理を終了するように構成されていてもよい。
エンコーダ選択部202が、ステップS108の処理で、メインエンコーダ203およびバックアップエンコーダ204のいずれを用いるのかを決定する方法について説明する。図4は、エンコーダ選択部202が、メインエンコーダ203およびバックアップエンコーダ204のいずれを用いるのかを決定する方法を示すフローチャートである。
本例では、エンコーダ選択部202が、メインエンコーダ203およびバックアップエンコーダ204のうちいずれか一方を、キャプチャ部201がステップS102の処理で取得したフレームをエンコードするエンコーダに決定する。
エンコーダ選択部202は、処理の初期設定を行う(ステップS201)。具体的には、エンコーダ選択部202は、ステップS113の処理で1つにファイル化されるフレームのうち先頭のフレームをメインエンコーダ203またはバックアップエンコーダ204(以下、エンコーダ203,204と総称することがある)がエンコードしたフレームのビット数を、n[bit]にセットする。なお、当該先頭フレームについてステップS201の処理が行われる場合に、エンコーダ選択部202は、管理者が予め指定した値をn[bit]にセットするように構成されていてもよい。
そして、エンコーダ選択部202は、フレームのエンコードをメインエンコーダ203およびバックアップエンコーダ204のいずれが行うのかの判定に用いる閾値Xを、X=n/2[bit]にセットする。
また、エンコーダ選択部202は、ステップS113の処理で1つにファイル化されるフレームの順序に応じた値をiにセットする。したがって、本処理が行われるフレームが、ステップS102の処理で取得された5番目のフレームであれば、iに5がセットされる。
エンコーダ選択部202は、ステップS113の処理で1つにファイル化される複数のフレームに応じて、本処理が最初に行われる場合に、第2のフィードバック通知を受信したときに処理されているフレームの順序に応じた値Iをリセットする。
また、エンコーダ選択部202は、第2のフィードバック通知を受信した後に、強制的にバックアップエンコーダ204にフレームのエンコードを行わせるか否かの判定値Mに、例えば、5をセットする。
そして、エンコーダ選択部202は、Iに値がセットされていなければ、Iにiの値をセットする(ステップS202)。なお、図4に示す本処理は、ステップS106の処理で、受信側端末300から送信された第2のフィードバック通知を受信したと判定された場合に行われる。したがって、Iには、ステップS113の処理で1つにファイル化される複数のフレームのうち、第2のフィードバック通知を最初に受信したときに処理されているフレームの順序に応じた値がセットされる。
エンコーダ選択部202は、ステップS102の処理でキャプチャ部201が取得したフレームのビット数であるmがXよりも大きい値である場合に(ステップS203のY)、ステップS205の処理に移行し、そうでない場合に(ステップS203のN)、ステップS204の処理に移行する。
エンコーダ選択部202は、ステップS204の処理で、i−Iの値が判定値Mの値よりも大きい場合に(ステップS204のY)、ステップS205の処理に移行し、そうでない場合に(ステップS204のN)、ステップS206の処理に移行する(ステップS204)。
そして、エンコーダ選択部202は、ステップS205の処理で、処理対象のフレームであるi番目のフレームをバックアップエンコーダ204がエンコードすると決定する(ステップS205)。また、エンコーダ選択部202は、ステップS206の処理で、処理対象のフレームであるi番目のフレームをメインエンコーダ203がエンコードすると決定する(ステップS206)。
なお、i−Iの値が判定値Mの値(本例では、5)よりも大きいということは、例えば、ステップS113の処理で1つにファイル化されるフレームのうち、2(I)番目のフレームの処理中に第2のフィードバック通知が受信されたにもかかわらず、8(i)番目のフレームの処理も、メインエンコーダ203でエンコードされるということである。そうすると、例えば、ステップS113の処理で1つにファイル化されるフレームが10個である場合に、次回以降のステップS203の処理でYと判定して残フレームである9番目のフレームおよび10番目のフレームのエンコードにバックアップエンコーダ204を用いたとしても、当該ファイルのサイズの増大を適切に抑制することができない。すると、当該ファイルの到着の遅延を適切に抑制することができない。そこで、本例では、ステップS203の処理でYと判定されなくても、i−Iの値が判定値Mの値(本例では、5)よりも大きい場合には、フレームのエンコードにバックアップエンコーダ204を用いることにより、当該ファイルのサイズの増大を適切に抑制することができる。よって、当該ファイルの到着の遅延を適切に抑制することができる。
次に、受信側端末300の動作について説明する。図5は、本発明の第1の実施形態のマルチメディアデータ送受信システム100における受信側端末300の動作を示すフローチャートである。
まず、ファイル受信部301は、送信側端末200から送信されたファイルを通信ネットワーク400を介して受信する(ステップS301)。なお、ファイル受信部301は、各ファイルごとに、当該ファイルを受信開始してから経過した時間を計測しているとする。
そして、到着遅延検知部303は、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する(ステップS302)。なお、到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する処理については後述する。
到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したと判定した場合に(ステップS302のY)、ステップS303の処理に移行し、そうでない場合に(ステップS302のN)、ステップS306の処理に移行する。
到着遅延検知部303は、ステップS303の処理で、今回のステップS301の処理で受信を開始したファイルの受信中に第1のフィードバック通知を行った場合に(ステップS303のY)、ステップS305の処理に移行し、そうでない場合に(ステップS303のN)、ステップS304の処理に移行する。
そして、到着遅延検知部303は、ステップS304の処理で、第1のフィードバック通知を送信側端末200に送信し(ステップS304)、ステップS306の処理に移行する。また、到着遅延検知部303は、ステップS305の処理で、第2のフィードバック通知を送信側端末200に送信し(ステップS305)、ステップS306の処理に移行する。なお、到着遅延検知部303は、第1のフィードバック通知および第2のフィードバック通知として、後述するステップS404の処理で算出したスループットを送信側端末200に通知するように構成されていてもよい。
到着遅延検知部303は、ステップS306の処理で、ファイル受信部301がステップS301の処理で受信したファイルを構成するデータにおいて終了コードを読み込んだ場合に(ステップS306のY)、ステップS307の処理に移行し、そうでない場合に(ステップS306のN)、ステップS301の処理に戻り、ファイル受信部301に当該ファイルの残部を受信させる。
そして、ファイル出力部302が、ステップS307の処理で、ファイル受信部301が受信したファイルを出力する(ステップS307)。
到着遅延検知部303が、ステップS302の処理で、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する処理について説明する。本例では、当該判定について、第1の処理と第2の処理とのうちいずれか一方を用いるのであるが、その両方について述べる。
まず、到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する第1の処理について説明する。図6は、到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する第1の処理を示すフローチャートである。
到着遅延検知部303は、第1の処理で、ファイル受信部301がステップS301の処理で受信したファイルの先頭に付加されているファイルサイズ情報および再生時間情報を読み出した場合に(ステップS401のY)、ステップS402の処理に移行し、そうでない場合に、ステップS403の処理に移行する。本例では、ステップS301の処理で受信したファイルのファイルサイズは、ファイルサイズ情報によって200kバイトであることが示されているとする。また、本例では、ステップS301の処理で受信したファイルに基づいて映像および音声が再生された場合の再生時間は、再生時間情報によって2秒であることが示されているとする。
そして、到着遅延検知部303は、ステップS402の処理で、ステップS401の処理で読み出したファイルサイズ情報および再生時間情報に基づいて、ファイル受信部301がステップS301の処理で受信したファイルを適切に受信するための最低スループットを決定し(ステップS402)、ステップS403の処理に移行する。
具体的には、本例では、再生時間が2秒となるファイルのファイルサイズが200kバイトである。そうすると、当該ファイルに基づく映像および音声の再生を停止させずに継続するためには、当該ファイルのうち10kバイト以上のデータを100ミリ秒毎に受信する必要がある。したがって、到着遅延検知部303は、ステップS402の処理で、本例における最低スループットを、10kバイト/100ミリ秒であると決定する。
到着遅延検知部303は、ステップS403の処理で、ファイル受信部301がステップS301の処理で受信したファイルのデータ量を積算する(ステップS403)。
そして、到着遅延検知部303は、ステップS403の処理で積算したデータ量と、ファイル受信部301がステップS301の処理でファイルの受信を開始してから経過した時間とに基づいて、スループットを算出(測定)する(ステップS404)。
具体的には、ファイル受信部301がステップS301の処理でファイルの受信を開始してから500ミリ秒経過するまでに30kバイトのデータを受信した場合に、到着遅延検知部303は、スループットが、30kバイト/500ミリ秒=6kバイト/100ミリ秒であると算出する。
到着遅延検知部303は、ステップS404の処理で算出したスループットが、ステップS402の処理で決定した最低スループット未満であるか否かを判定する(ステップS405)。そして、到着遅延検知部303は、ステップS404の処理で算出したスループットが、ステップS402の処理で決定した最低スループット未満である場合に(ステップS405のY)、ステップS406の処理に移行し、そうでない場合に(ステップS405のN)、ステップS407の処理に移行する。
到着遅延検知部303は、ステップS406の処理で、ファイル受信部301がステップS301の処理で受信したファイルの到着が通信ネットワーク400において遅延したと判定して(ステップS406)、本処理を終了する。また、到着遅延検知部303は、ステップS407の処理で、ファイル受信部301がステップS301の処理で受信したファイルの到着が通信ネットワーク400において遅延していないと判定して(ステップS407)、本処理を終了する。
本例では、ステップS404の処理で算出したスループット6kバイト/100ミリ秒は、ステップS402の処理で決定した最低スループット10kバイト/100ミリ秒未満である。よって、到着遅延検知部303は、ステップS406の処理で、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したと判定する。
次に、到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する第2の処理について説明する。図7は、到着遅延検知部303が、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したか否かを判定する第2の処理を示すフローチャートである。
到着遅延検知部303が第2の処理で行うステップS501,S502の処理は、図5に示す第1の処理におけるステップS401,S402の処理と同様であるので説明を省略する。
到着遅延検知部303は、ステップS503の処理で、ファイル受信部301がステップS301の処理で受信したファイルのデータ量を積算する(ステップS503)。
そして、到着遅延検知部303は、スループットを算出する所定のタイミングが到来した場合に(ステップS504のY)、ステップS505の処理に移行し、そうでない場合に(ステップS504のN)、ステップS503の処理に移行して、ファイル受信部301がステップS301の処理で受信したファイルのデータ量の積算を継続する。
なお、スループットを算出する所定のタイミングとは、例えば、ファイル受信部301がステップS301の処理でファイルの受信を開始してから500ミリ秒毎のタイミングである。
そして、到着遅延検知部303は、ステップS505の処理で、ステップS503の処理で積算したデータ量とスループットを算出する所定のタイミングに応じた時間とに基づいて、スループットを算出する(ステップS505)。
具体的には、前回の所定のタイミングが到来してから今回の所定のタイミングが到来するまでの500ミリ秒間にファイル受信部301がステップS301の処理で受信してステップS503の処理で積算されたデータ量が30kバイトである場合に、到着遅延検知部303は、スループットが、30kバイト/500ミリ秒=6kバイト/100ミリ秒であると算出する。
到着遅延検知部303は、ステップS505の処理で算出したスループットが、ステップS502の処理で決定した最低スループット未満であるか否かを判定する(ステップS506)。そして、到着遅延検知部303は、ステップS505の処理で算出したスループットが、ステップS502の処理で決定した最低スループット未満である場合に(ステップS506のY)、ステップS507の処理に移行し、そうでない場合に(ステップS506のN)、ステップS508の処理に移行する。
到着遅延検知部303は、ステップS507の処理で、ファイル受信部301がステップS301の処理で受信したファイルの到着が通信ネットワーク400において遅延したと判定して(ステップS507)、ステップS509の処理に移行する。また、到着遅延検知部303は、ステップS508の処理で、ファイル受信部301がステップS301の処理で受信したファイルの到着が通信ネットワーク400において遅延していないと判定して(ステップS508)、ステップS509の処理に移行する。
到着遅延検知部303は、ステップS509の処理で、ステップS503の処理で積算した、ファイル受信部301がステップS301の処理で受信したファイルのデータ量をリセットする(ステップS509)。
本例では、ステップS505の処理で算出したスループット6kバイト/100ミリ秒は、ステップS502の処理で決定した最低スループット10kバイト/100ミリ秒未満である。よって、到着遅延検知部303は、ステップS507の処理で、ファイル受信部301がステップS301の処理で受信したファイルが通信ネットワーク400において遅延したと判定する。
なお、第1の処理では、受信ファイルサイズの累計値と予測受信累計ファイルサイズとを比較することで到着遅延の判定が行われる。したがって、スループットの瞬間的な変動が平滑化されて判定に用いられる。よって、偶発的な理由によるスループットの瞬間的な変動に基づくエンコードビットレートの変動を抑制することができる。このことは、第1の処理は、偶発的な理由によるスループットの瞬間的な低下に基づくエンコードビットレートの低下を抑制することができるという効果を発揮することを意味する。
また、第2の処理では、単位時間ごとに得られる受信ファイルサイズと予測受信累計ファイルサイズとを比較することで到着遅延の判定が行われる。したがって、第2の処理は、エンコードビットレートを、スループットの変動に応じて迅速に対応させることができるという効果を発揮する。
本実施形態におけるマルチメディアデータ送受信システム100の動作の具体例について説明する。
マルチメディアデータ送受信システム100の送信側端末200は、例えば、マイクロフォンおよび動画像を撮影可能なカメラを備えた携帯端末装置や、そのようなマイクロフォンおよびカメラが外部接続されたパーソナルコンピュータ等の端末装置である。
マルチメディアデータ送受信システム100の受信側端末300は、例えば、パーソナルコンピュータ等の端末装置や、スマートフォンやタブレット端末等の携帯端末装置、サーバ装置である。
通信ネットワーク400は、インターネットやモバイル通信ネットワークなどのWAN(Wide Area Network)によって構成される通信ネットワークである。
送信側端末200は、フレームをN(Nは自然数)番目のファイルにファイル化した後、N番目のファイルの送信と並行してN+1番目のファイルを構成するフレームのエンコード処理を開始する。このことは、受信側端末300がN番目のファイルを受信しているときに、送信側端末200がN+1番目のファイルを構成するフレームをエンコード処理中であることを表している。
ここで、ビットレートが1.2[Mbps]にエンコードされたフレームによって構成されたN番目のファイルおよびN+1番目のファイルが、1.2[Mbps]のスループットで送信されたとする。
送信側端末200が、1.2[Mbps]のエンコードビットレートのN+1番目のファイルを送信するとともに、1.2[Mbps]のエンコードビットレートでN+2番目のファイルを構成するフレームのエンコード処理を行っている場合に、通信ネットワーク400におけるスループットが1.0[Mbps]に低下したとする。スループットが低下したときに、受信側端末300においてN+1番目のファイル受信中に、到着遅延検知部303が、到着遅延を検知する。到着遅延検知部303は、通信ネットワーク400のスループットを送信側端末200に第1のフィードバック通知として送信する。
送信側端末200のバックアップエンコーダ初期化部209は、受信側端末300の到着遅延検知部303から第1のフィードバック通知として通信ネットワーク400のスループットを受け取る。そして、バックアップエンコーダ初期化部209は、受け取ったスループットの値に基づいて、当該値に応じた値をエンコードビットレートとして各パラメータを定義し、バックアップエンコーダ204を初期化する。
次に受信側端末300の到着遅延検知部303が到着遅延を検知した場合に、N+1番目のファイルの受信中に既に第1のフィードバック通知を送信しているので、到着遅延検知部303は、送信側端末200に第2のフィードバック通知を送信する。
第2のフィードバック通知を受け取ったN+2番目のファイルを構成する一部のフレームをエンコード処理中の送信側端末200のエンコーダ選択部202が図4に例示した処理でバックアップエンコーダ204を用いると判定した場合に、バックアップエンコーダ204が当該ファイルを構成する残部のフレームのエンコード処理を行う。
送信側端末200は、N+2番目のファイルを構成するフレームのエンコード処理を1.2[Mbps]で開始したが、エンコード処理中に通信ネットワーク400のスループットに応じてエンコーダをバックアップエンコーダ204に変更してより低いエンコードビットレートで当該ファイルを構成するフレームの残部をエンコードしたので当該ファイルは到着が遅延することなく、受信側端末300に到着する。
本実施形態によれば、送信側が、エンコードに用いるエンコーダを、メインエンコーダ203と、当該メインエンコーダ203よりも低いエンコードビットレートのバックアップエンコーダ204との間で、通信状態の変化に基づく受信側からの通知に応じて切り替える。したがって、通信ネットワーク400における通信状態が悪化した場合に、エンコードに用いるエンコーダを、メインエンコーダ203からバックアップエンコーダ204に切り替えることにより、受信側における再生の停止を抑制することができる。
また、本実施形態によれば、メインエンコーダ203およびバックアップエンコーダ204として一般のエンコーダを採用することができるので、チャンクの途中でビットレートを変更可能な特殊なコーデックを用いた場合よりもコストを低減することができる。
本実施形態によれば、メインエンコーダ203のエンコード中に当該メインエンコーダ203を再設定したり再起動したりすることなく、円滑に、エンコードビットレートを変更することができる。
実施形態2.
次に、本発明の第2の実施形態のマルチメディアデータ送受信システム500について、図面を参照して説明する。図8は、本発明の第2の実施形態のマルチメディアデータ送受信システム500の構成例を示すブロック図である。
図8に示すように、本発明の第2の実施形態のマルチメディアデータ送受信システム500は、図1に示す第1の実施形態のマルチメディアデータ送受信システム100における送信側端末200および受信側端末300に加えて、中継サーバ600を含む。そして、図1に示すように、中継サーバ600は、通信ネットワーク400に接続されている。
なお、送信側端末200および受信側端末300は、第1の実施形態のマルチメディアデータ送受信システム100における構成と同様なため、対応する各要素には図1と同じ符号を付して説明を省略する。
中継サーバ600は、送信側端末200によって送信されたファイルを通信ネットワーク400を介して受信してトランスコードする。そして、中継サーバ600は、トランスコード後のファイルを受信側端末300に送信する。
中継サーバ600の構成について説明する。図9は、本発明の第2の実施形態のマルチメディアデータ送受信システム500における中継サーバ600の構成例を示すブロック図である。図9に示すように、本発明の第2の実施形態のマルチメディアデータ送受信システム500における中継サーバ600は、アップロード受付処理部610とコンテンツ配信処理部620とを含む。
そして、アップロード受付処理部610は、到着遅延検知部611およびアップロード受付部612を含む。
到着遅延検知部611は、本発明の第1の実施形態における到着遅延検知部303に相当する処理を行う。アップロード受付部612は、本発明の第1の実施形態におけるファイル受信部301に相当する処理を行う。
また、コンテンツ配信処理部620は、トランスコード部621およびコンテンツ配信部622を含む。
トランスコード部621は、アップロード受付部612が通信ネットワーク400を介して送信側端末200から受信したファイルを、通信ネットワーク400における受信側端末300との間の通信状態に応じてトランスコードする。つまり、本例においてトランスコード部621は、メインエンコーダ203またはバックアップエンコーダ204によってエンコードされたフレームをデコードすることなく再度エンコード(トランスコード)する。なお、トランスコード部621は、メインエンコーダ203またはバックアップエンコーダ204によってエンコードされたフレームをデコードしてから再度エンコードしてもよい。
コンテンツ配信部622は、本発明の第1の実施形態におけるファイル出力部302に相当する処理を行う。
中継サーバ600の動作について説明する。図10は、本発明の第2の実施形態のマルチメディアデータ送受信システム500における中継サーバ600がファイルを受信する動作を示すフローチャートである。
図10に示す処理のうち、ステップS601〜S605の処理は、図5に示す第1の実施形態のステップS301〜S305における処理と同様なため説明を省略する。なお、第1の実施形態におけるファイル受信部301の処理は、アップロード受付部612によって行われる。また、第1の実施形態における到着遅延検知部303の処理は、到着遅延検知部611によって行われる。
そして、本実施形態では、到着遅延検知部611が、ステップS606の処理で、アップロード受付部612がステップS601の処理で受信した、ファイルを構成するデータにおいて終了コードを読み込んだ場合に(ステップS606のY)、処理を終了する。
図11は、本発明の第2の実施形態のマルチメディアデータ送受信システム500における中継サーバ600がファイルを送信する動作を示すフローチャートである。
トランスコード部621は、アップロード受付部612がステップS601の処理で受信したファイルをトランスコードし(ステップS701)、トランスコード後のファイルを記憶手段(図示せず)に記憶させる(ステップS702)。なお、記憶手段には、トランスコード部621に設定するビットレートがリスト化されて登録されたトランスコードレートリストが記憶されているとする。そして、トランスコード部621は、記憶手段に記憶されているトランスコードレートリストに登録されているそれぞれのビットレートに、当該ファイルをトランスコードする。したがって、トランスコードレートリストに3種類のビットレートが登録されている場合に、トランスコード部621は、アップロード受付部612がステップS601の処理で受信したファイルにもとづいて、3種類のビットレートにそれぞれトランスコードされたファイルを生成して記憶手段にそれぞれ記憶させる。
コンテンツ配信部622は、受信側端末300から当該ファイルの送信を要求された場合に(ステップS703のY)、当該要求に応じて記憶手段に記憶されている当該ファイルを受信側端末300に送信する(ステップS704)。なお、コンテンツ配信部622は、例えば、ステップS704の処理で、記憶手段に記憶されている当該ファイルのうち、最も高いビットレートにトランスコードされているファイルを送信するように構成されていてもよい。
コンテンツ配信部622は、当該ファイルの送信中に受信側端末300から第1のフィードバック通知を受信したときに(ステップS705のY)、今回のステップS704の処理で送信開始したファイルの次に送信するファイルを、当該ファイルのビットレートよりも低いビットレートにトランスコードすることに決定する(ステップS706)。なお、トランスコード部621は、当該決定がなされた場合に、当該次に送信するファイルを当該ビットレートにトランスコードする処理を開始してもよい。
また、コンテンツ配信部622は、当該ファイルの送信中に受信側端末300から第2のフィードバック通知を受信したときに(ステップS707のY)、当該ファイルの次に、ステップS706の処理における決定結果に基づくビットレートにトランスコードされたファイルを送信することに決定する(ステップS708)。そして、コンテンツ配信部622は、ステップS704の処理に移行して、当該ファイルの送信を継続する(ステップS704)。
コンテンツ配信部622は、第1のフィードバック通知および第2のフィードバック通知を受信しなかったとき(ステップS705のN,S707のN)、ファイルの送信が終了した場合に(ステップS709のY)、処理を終了し、そうでない場合に(ステップS709のN)、ステップS704の処理に移行して当該ファイルの送信を継続する。
本実施形態におけるマルチメディアデータ送受信システム500の動作の具体例について説明する。
マルチメディアデータ送受信システム500においても、送信側端末200は、例えば、マイクロフォンおよび動画像を撮影可能なカメラを備えた携帯端末装置や、そのようなマイクロフォンおよびカメラが外部接続されたパーソナルコンピュータ等の端末装置である。
マルチメディアデータ送受信システム500においても、受信側端末300は、例えば、パーソナルコンピュータ等の端末装置や、スマートフォンやタブレット端末等の携帯端末装置、サーバ装置である。
マルチメディアデータ送受信システム500においても、通信ネットワーク400は、インターネットやモバイル通信ネットワークなどのWANによって構成される通信ネットワークである。
送信側端末200の動作、および受信側端末300の動作は、第1の実施形態における動作と同様なため説明を省略する。
中継サーバ600の記憶手段に記憶されているトランスコードレートリストには、800[kbps]、1.0[Mbps]、および1.2[Mbps]が登録されているとする。そして、中継サーバ600のトランスコード部621は、トランスコードレートリストに登録されているそれぞれのビットレートに、アップロード受付部612が受信したファイルをトランスコードして、記憶手段に記憶させる。したがって、記憶手段には、ビットレートが800[kbps]にトランスコードされたファイルと、ビットレートが1.0[Mbps]にトランスコードされたファイルと、ビットレートが1.2[Mbps]にトランスコードされたファイルとがそれぞれ記憶される。
コンテンツ配信部622は、受信側端末300の要求に応じて、記憶手段に記憶されている、ビットレートが互いに異なるファイルのうち、いずれか1つのファイルを送信する。
例えば、アップロード受付部612によってN番目に受信されたファイル(単にN番目のファイルともいう)、N+1番目に受信されたファイル(単にN+1番目のファイルともいう)、N+2番目に受信されたファイル(単にN+2番目のファイルともいう)が、1.0[Mbps]のビットレートにトランスコードされて、コンテンツ配信部622によって受信側端末300に順次送信される。なお、受信側端末300のファイル受信部301によって受信されてトランスコードされたN番目のファイルに基づく映像および音声がファイル出力部302によって再生されているときに、トランスコードされたN+1番目のファイルが受信側端末300のファイル受信部301によって受信され、N+2番目のファイルが中継サーバ600のアップロード受付処理部610によって受信される。
そして、中継サーバ600のアップロード受付処理部610によるN+2番目のファイルの受信が終了した場合に、当該N+2番目のファイルは、トランスコード部621によってトランスコードされる。
ここで、通信ネットワーク400において、受信側端末300と中継サーバ600との間のスループットが700[kbps]に変動したとする。
1.0[Mbps]にトランスコードされたN+1番目のファイルを受信中の受信側端末300において、到着遅延検知部303は到着遅延を検知する。そして、到着遅延検知部303は、スループットが700[kbps]であることを示す第1のフィードバック通知を中継サーバ600に送信する。
第1のフィードバック通知を通信ネットワーク400を介して受信した中継サーバ600のコンテンツ配信部622は、記憶手段に記憶されているN+2番目のファイルを、700[kbps]にトランスコードする。また、第1のフィードバック通知を通信ネットワーク400を介して受信した中継サーバ600のトランスコード部621は、第1のフィードバック通知が示す700[kbps]をトランスコードレートリストに登録する。
1.0[Mbps]にトランスコードされたN+1番目のファイルを受信中の受信側端末300において、到着遅延検知部303は到着遅延を検知する。そして、到着遅延検知部303は、第2のフィードバック通知を中継サーバ600に送信する。
第2のフィードバック通知を通信ネットワーク400を介して受信した中継サーバ600のコンテンツ配信部622は、700[kbps]にトランスコードされたN+2番目のファイルを受信側端末300に送信すると決定する。
そして、コンテンツ配信部622は、N+1番目のファイルの送信後に、700[kbps]にトランスコードされたN+2番目のファイルを受信側端末300に送信する。
したがって、トランスコードレートリストには、通信ネットワーク400において、受信側端末300と中継サーバ600との間のスループットに応じたビットレートが登録される。
そして、コンテンツ配信部622が、トランスコードされた当該ファイルを受信側端末300に送信する。よって、通信ネットワーク400において、受信側端末300と中継サーバ600との間のスループットに応じたビットレートでトランスコードされたファイルが送信される。
本実施形態によれば、中継サーバ600の記憶手段に、トランスコードレートリストに登録されているビットレートでトランスコードされたファイルがそれぞれ記憶される。そして、中継サーバ600は、受信側端末300の要求に応じて、記憶手段に記憶されているファイルを当該受信側端末300に送信する。
したがって、本実施形態によれば、ファイルを、複数の受信側端末に、通信ネットワーク400において互いに異なる通信回線を介してそれぞれ送信することが可能になる。
なお、送信側端末200がファイルを並行して複数の受信側端末に送信する場合に、送信側端末200と通信ネットワーク400との間の通信回線がボトルネックになり、送信側端末200におけるファイルのエンコードビットレートを低下させなければならなくなるおそれがある。それに対して、本実施形態のように、中継サーバ600が、通信ネットワーク400において互いに異なる通信回線を介して、複数の受信側端末にファイルを並行して送信すれば、そのような問題の発生を抑制することができる。
また、一の送信側端末200が複数の受信側端末に、互いに異なるエンコードビットレートのファイルをそれぞれ送信することは困難である。その理由は、多数のエンコーダを並行して動作させることは、多くのメモリリソースを必要とするからである。このことは、当該送信側端末200が携帯通信端末である場合に顕著である。しかし、本実施形態によれば、中継サーバ600は、記憶手段に記憶されているファイルを送信するので、そのような制約は生じず、複数の受信側端末に、互いに異なるエンコードビットレートのファイルをそれぞれ送信することができる。
実施形態3.
次に、本発明の第3の実施形態の通信端末20について、図面を参照して説明する。図12は、本発明の第3の実施形態の通信端末20の構成例を示すブロック図である。
図12に示すように、本発明の第3の実施形態の通信端末20は、第1のエンコーダ23、第2のエンコーダ24、エンコーダ決定部22、および送信部26を含む。
第1のエンコーダ23は、図1に示すメインエンコーダ203に相当する。第2のエンコーダ24は、図1に示すバックアップエンコーダ204に相当する。エンコーダ決定部22は、図1に示すエンコーダ選択部202に相当する。送信部26は、図1に示すファイル送信部206に相当する。
第1のエンコーダ23は、データをエンコードする。第2のエンコーダ24は、第1のエンコーダ23よりも低いビットレートでデータをエンコードする。
エンコーダ決定部22は、通信状態に応じて、データのエンコードに、第1のエンコーダ23と第2のエンコーダ24とのいずれを用いるのかを決定する。
送信部26は、エンコーダ決定部22によって決定された第1のエンコーダ23または第2のエンコーダ24によってエンコードされたデータを送信する。
本実施形態によれば、受信側における再生の停止を抑制することができる。
22 エンコーダ決定部
23 第1のエンコーダ
24 第2のエンコーダ
26 送信部
100、500 マルチメディアデータ送受信システム
200 送信側端末
201 キャプチャ部
202 エンコーダ選択部
203 メインエンコーダ
204 バックアップエンコーダ
205 ファイル出力部
206 ファイル送信部
207 スループットフィードバック部
208 メインエンコーダ初期化部
209 バックアップエンコーダ初期化部
300 受信側端末
301 ファイル受信部
302 ファイル出力部
303 到着遅延検知部
400 通信ネットワーク
600 中継サーバ
610 アップロード受付処理部
611 到着遅延検知部
612 アップロード受付部
620 コンテンツ配信処理部
621 トランスコード部
622 コンテンツ配信部

Claims (7)

  1. データをエンコードする第1のエンコーダと、
    前記第1のエンコーダよりも低いビットレートでデータをエンコードする第2のエンコーダと、
    通信状態に応じて、データのエンコードに、前記第1のエンコーダと前記第2のエンコーダとのいずれを用いるのかを決定するエンコーダ決定手段と、
    前記エンコーダ決定手段によって決定された前記第1のエンコーダまたは前記第2のエンコーダによってエンコードされたデータを送信する送信手段とを備えた
    ことを特徴とする通信端末。
  2. 所定の量の、前記第1のエンコーダまたは前記第2のエンコーダによってエンコードされたデータを1つのファイルに構成するファイル化手段を含み、
    前記送信手段は、前記ファイル化手段によって1つのファイルにファイル化されたデータを送信する
    請求項1に記載の通信端末。
  3. 前記エンコーダ決定手段は、前記第1のエンコーダが前記ファイル化手段によって一のファイルにファイル化される一部のデータのエンコード中に、前記送信手段による送信先から送信済みのファイルの到着が遅延したと通知された場合に、前記一のファイルの残部のデータのエンコードに前記第2のエンコーダを用いると決定する
    請求項1または請求項2に記載の通信端末。
  4. 請求項1から請求項3のうちいずれかに記載の通信端末と、
    前記通信端末の前記送信手段が送信したデータを受信する受信端末とを備え、
    前記受信端末は、
    前記送信手段が送信したデータのスループットを測定するスループット測定手段と、
    前記スループット測定手段の測定結果に基づいて、送信された前記データの到着が遅延したか否かを判定する遅延判定手段と、
    前記遅延判定手段が前記遅延したと判定した場合に、前記遅延したことを前記受信端末に通知する通知手段とを含む
    ことを特徴とするデータ送受信システム。
  5. 前記送信端末と前記受信端末とによるデータの送受信を中継する中継装置を含み、
    前記中継装置は、
    前記送信端末が送信したデータを受信する受信手段と、
    前記受信手段が受信したデータに基づいて、複数のビットレートのそれぞれにエンコードされたデータをそれぞれ生成する変換手段と、
    複数の受信端末のそれぞれに応じたビットレートにエンコードされた、前記変換手段が生成したデータを前記複数の受信端末にそれぞれ送信可能な中継送信手段とを含む
    請求項4に記載のデータ送受信システム。
  6. データをエンコードする第1のエンコードステップと、
    前記第1のエンコードステップよりも低いビットレートでデータをエンコードする第2のエンコードステップと、
    通信状態に応じて、データのエンコードに、前記第1のエンコードステップと前記第2のエンコードステップとのいずれを用いるのかを決定するエンコードステップ決定ステップと、
    前記エンコードステップ決定ステップによって決定された前記第1のエンコードステップまたは前記第2のエンコードステップでエンコードされたデータを送信する送信ステップとを含む
    ことを特徴とする通信方法。
  7. コンピュータに、
    データをエンコードする第1のエンコード処理と、
    前記第1のエンコード処理よりも低いビットレートでデータをエンコードする第2のエンコード処理と、
    通信状態に応じて、データのエンコードに、前記第1のエンコード処理と前記第2のエンコード処理とのいずれを用いるのかを決定するエンコード処理決定処理と、
    前記エンコード処理決定処理によって決定された前記第1のエンコード処理または前記第2のエンコード処理でエンコードされたデータを送信する送信処理とを実行させる
    ための通信用プログラム。
JP2015102568A 2015-05-20 2015-05-20 通信端末、データ送受信システム、通信方法、および通信用プログラム Active JP6565324B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015102568A JP6565324B2 (ja) 2015-05-20 2015-05-20 通信端末、データ送受信システム、通信方法、および通信用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015102568A JP6565324B2 (ja) 2015-05-20 2015-05-20 通信端末、データ送受信システム、通信方法、および通信用プログラム

Publications (2)

Publication Number Publication Date
JP2016220012A true JP2016220012A (ja) 2016-12-22
JP6565324B2 JP6565324B2 (ja) 2019-08-28

Family

ID=57581897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015102568A Active JP6565324B2 (ja) 2015-05-20 2015-05-20 通信端末、データ送受信システム、通信方法、および通信用プログラム

Country Status (1)

Country Link
JP (1) JP6565324B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019054201A1 (ja) * 2017-09-15 2019-03-21 ソニー株式会社 情報処理装置および方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191225A (ja) * 2005-01-04 2006-07-20 Murata Mfg Co Ltd 画像送信装置,画像受信装置,画像送受信システム,画像送信方法,画像受信方法及び画像送受信方法
WO2010079790A1 (ja) * 2009-01-08 2010-07-15 日本電気株式会社 配信システムと方法並びに変換装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191225A (ja) * 2005-01-04 2006-07-20 Murata Mfg Co Ltd 画像送信装置,画像受信装置,画像送受信システム,画像送信方法,画像受信方法及び画像送受信方法
WO2010079790A1 (ja) * 2009-01-08 2010-07-15 日本電気株式会社 配信システムと方法並びに変換装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019054201A1 (ja) * 2017-09-15 2019-03-21 ソニー株式会社 情報処理装置および方法

Also Published As

Publication number Publication date
JP6565324B2 (ja) 2019-08-28

Similar Documents

Publication Publication Date Title
US9445150B2 (en) Asynchronously streaming video of a live event from a handheld device
JP6169172B2 (ja) 仮想イントラフレームを使用してビデオコンテンツを符号化するためのシステムおよび方法
US9826260B2 (en) Video encoding device and video encoding method
JP5724879B2 (ja) 品質制御装置、動画送信システム、品質制御方法および記録媒体
KR20180031547A (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
WO2010037310A1 (zh) 多路视频通信方法与***
CN106973294B (zh) 实时视频传输的初始带宽估计
US20110235709A1 (en) Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US9398256B2 (en) Telecommunication end-point device data transmission controller
KR20160053795A (ko) 복수의 단말기들 간의 화면 공유를 제어하는 방법, 장치 및 기록 매체
KR102356621B1 (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시
KR20060096044A (ko) 미디어 신호의 송신 방법 및 수신 방법과 송수신 방법 및장치
JP2016059037A (ja) 少なくとも2つの連続するセグメントに分離されたマルチメディアコンテンツを受信するための方法およびクライアント端末、ならびに対応するコンピュータプログラム製品およびコンピュータ可読媒体
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
JP2016506206A (ja) エラー制御のための再送およびフレーム同期
US20140298392A1 (en) Image processing device, image processing method, and computer program
US20130007206A1 (en) Transmission apparatus, control method for transmission apparatus, and storage medium
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
JP6565324B2 (ja) 通信端末、データ送受信システム、通信方法、および通信用プログラム
US20170249120A1 (en) Sharing of Multimedia Content
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP2017535171A (ja) 先行するデコード化をせずに、いくつかのコード化されたビデオストリームを切断するための装置および方法。
JP5675164B2 (ja) 送信装置、送信方法、並びにプログラム
US11303940B2 (en) Transmission apparatus, transmission method, and non-transitory computer-readable storage medium
JP5902653B2 (ja) 動画配信システム、動画配信装置、端末装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190715

R150 Certificate of patent or registration of utility model

Ref document number: 6565324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150