JP7452753B2 - 通信システム、通信方法、サーバ、クライアント端末、および、プログラム - Google Patents

通信システム、通信方法、サーバ、クライアント端末、および、プログラム Download PDF

Info

Publication number
JP7452753B2
JP7452753B2 JP2023508146A JP2023508146A JP7452753B2 JP 7452753 B2 JP7452753 B2 JP 7452753B2 JP 2023508146 A JP2023508146 A JP 2023508146A JP 2023508146 A JP2023508146 A JP 2023508146A JP 7452753 B2 JP7452753 B2 JP 7452753B2
Authority
JP
Japan
Prior art keywords
chunk
video data
transmission interval
input information
loss rate
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.)
Active
Application number
JP2023508146A
Other languages
English (en)
Other versions
JPWO2022201221A1 (ja
Inventor
みづき 池谷
圭 藤本
奨悟 斎藤
哲朗 中村
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022201221A1 publication Critical patent/JPWO2022201221A1/ja
Application granted granted Critical
Publication of JP7452753B2 publication Critical patent/JP7452753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、ネットワークにおけるリモートサーバへの高負荷処理のオフロードを行う、通信システム、通信方法、サーバ、クライアント端末、および、プログラムに関する。
従来の通信システムにおいては、たとえばVR(Virtual Reality)をユースケースとして説明すると、HMD(Head Mounted Display)が、視線情報等の入力情報を、USB-Cケーブル等でエンドユーザが持つPC(Personal Computer)へ送信し、そのPC内でレンダリング処理やエンコード処理を実行する。そして、PCから映像情報を再度USB-C等を用いてHMDに送信する手法が用いられている(非特許文献1,2参照)。
久保田 瞬,「QuestとPCを繋ぐ「Oculus Link」驚くほど違和感なし」,[online],Mogura VR,2019年9月30日,[令和3年3月5日検索]、インターネット<URL:https://www.moguravr.com/oculus-link-report/> Volga Aksoy, et al.,"How does Oculus Link Work? The Architecture, Pipeline and AADT Explained," [online], Oculus Gelistirici Blogu,2019年11月22日,[令和3年3月5日検索]、インターネット<https://developer.oculus.com/blog/how-does-oculus-link-work-the-architecture-pipeline-and-aadt-explained/?locale=tr_TR>
上記した通信システムにおいてVR視聴のためには、HMDで測位した視線情報をもとに、視線方向の映像をリアルタイムにレンダリングして描画する。その際、当該処理の演算量は大きく、高性能のプロセッサや、専用のアクセラレータ(例えば、GPU(Graphics Processing Unit)等)が必要となる。
つまり、ユーザが上記システムを利用しようとする場合には、ユーザ側が備えるクライアントシステムにおいて、高性能のプロセッサや、専用のアクセラレータ(GPU等)を搭載したPCや据え置き型ゲーム機を用意して宅内に配置し、処理負荷の大きいメディア処理をそのマシンパワーの助力により演算し、演算結果をHMD側で投影する手法がとられている。
このような点に鑑みて本発明がなされたのであり、本発明は、クライアントシステムの処理負荷を低減し、ユーザ側において、高性能のプロセッサや専用のアクセラレータを備える必要をなくすことを課題とする。
本発明に係る通信システムは、サーバ側システムと、クライアント側システムとがネットワークを介して通信接続される通信システムであって、前記サーバ側システムが、レンダリングを行うための入力情報と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、前記クライアント側システムから受信する情報受信部と、受信した前記入力情報に応じた映像のレンダリング処理を行い、映像データを生成する映像処理部と、生成した前記映像データを、MTU(Maximum Transmission Unit)のサイズに合わせてチャンク化し、チャンク化した映像データを示すチャンクそれぞれに番号を付与するチャンク化機能部と、前記チャンク化した映像データを送信したパケット数と、前記ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算した前記チャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、前記チャンク化した映像データを含むパケットの送信間隔を決定するチャンクロス判定部と、前記チャンク化した映像データを含むパケットそれぞれを、決定した前記送信間隔により前記クライアント側システムに送信する送信制御部と、を備え、前記クライアント側システムが、前記入力情報を取得する入力情報取得部と、前記サーバ側システムから、前記チャンク化した映像データを含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクの前記ロスチャンク番号を抽出するチャンク処理部と、受信した前記チャンク化した映像データそれぞれを用いて映像データをデコードして出力するデータ出力部と、前記入力情報、および、抽出した前記ロスチャンク番号を含む前記入力情報パケットを、前記サーバ側システムに送信する入力情報送信部と、を備えることを特徴とする通信システムとした。
本発明によれば、クライアントシステムの処理負荷を低減し、ユーザ側において、高性能のプロセッサや専用のアクセラレータを備える必要をなくすことができる。
本実施形態に係る通信システムの全体構成を示す図である。 本実施形態に係る送信間隔チャンクロス対応情報のデータ構成例を示す図である。 本実施形態に係るサーバが送信するパケット(UDPパケット)の例を示す図である。 本実施形態に係るクライアント端末が送信するパケット(UDPパケット)の例を示す図である。 本実施形態に係る通信システムの処理の流れ(初期時)を示すシーケンス図である。 本実施形態に係る通信システムの処理の流れを示すシーケンス図である。 本実施形態に係るサーバおよびクライアント端末の機能を実現するコンピュータの一例を示すハードウェア構成図である。
次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本発明の概要を説明する。
<概要>
本実施形態に係る通信システム(後記する図1参照)は、例えば、HMDにおける視線等の入力情報を、ユーザ宅内にあるクライアント(後記する図1の「クライアント側システム20」)からネットワーク(NW)経由で取得し、DC(データセンタ)等の遠隔地にあるサーバ(後記する図1の「サーバ側システム10」)で映像のレンダリング処理を行い、映像データをNW経由でクライアントに送信する。これにより、クライアント側での電力消費と計算負荷とを低減する。
なお、クライアントは、例えばHMDのような専用端末のみで構成されていてもよいし、HMD等の専用端末とその専用端末に接続されたPCとを備えるシステムで構成されていてもよい。
クライアントとサーバとの間において、NW経由で映像データのやり取りを行う際には、エンコード/デコード処理等に伴うデータ遅延が問題となる。この問題を解決するため、本通信システムでは、無圧縮の映像データをNW通信に使用する。具体的には、NWで1回に送信できる最大のデータサイズであるMTU(Maximum Transmission Unit)に応じて、映像データを1フレーム毎に細切れにする(チャンク化する)。この細切れにしたデータの塊をチャンクとよび、本通信システムにおいて、このチャンクの送信間隔を、映像データのチャンクロス率に応じて制御することで、チャンクロスや遅延発生の抑制を行う。
以下、本発明の通信システムについて説明する。
<本実施形態>
図1は、本実施形態に係る通信システム1の全体構成を示す図である。
本実施形態に係る通信システム1は、図1に示すように、サーバ側システム10とクライアント側システム20とを備え、NWを介して通信接続される。
クライアント側システム20は、前述のように、HMDのような専用端末のみで構成されていてもよいし、HMD等の専用端末とその専用端末に接続されたPCとを備えるシステムで構成されていてもよいが、以下においては、専用端末としてのクライアント端末20として説明する。
このクライアント端末20は、例えばHMDにおける視線等の入力情報300を、サーバ10にNWを介して送信することにより、サーバ側でレンダリング処理を行った結果である映像データ400を取得し、ディスプレイ等の表示装置に表示する機能を有する。
サーバ側システム10は、DC(データセンタ)内の一つ以上のサーバにより構成される。なお、後記する制御部11内の機能部それぞれを、別サーバに備えるようにして複数のサーバからなるシステムとして構成してもよいが、以下においては、1つの筐体のサーバ10においてすべての機能部を備えるものとして説明する。
このサーバ10は、クライアント側システム(クライアント端末)20から、視線等の入力情報300を取得し、その入力情報300に応じた映像のレンダリング処理を行って映像データを生成し、NWを介してクライアント側システム(クライアント端末)20へ送信する。その際、サーバ10は、映像データ400をチャンク化し、パケットの送信間隔を制御(決定)した上でクライアント側システム(クライアント端末)20へ送信する。
このように、通信システム1は、サーバ側システム(サーバ)10においてレンダリング処理等を行うことにより、クライアント側システム(クライアント端末)20の電力消費や計算負荷を低減することができる。また、通信システム1は、チャンク化した映像データ400を付したパケットの送信間隔を制御することにより、無圧縮で映像データを送信した場合におけるデータサイズが大きいことに起因する、バーストトラヒック発生によるパケットロスやNW遅延、スループットの低下を回避することができる。
この通信システム1を構成する、サーバ側システム(サーバ)10およびクライアント側システム(クライアント端末)20について、以下具体的に説明する。
≪サーバ側システム(サーバ)≫
図1を参照して、本実施形態に係るサーバ10について説明する。
サーバ10は、クライアント端末20から、視線等の入力情報300を取得し、その入力情報300に応じた映像のレンダリング処理を行い映像データ400を生成する。そして、サーバ10は、生成した映像データ400をチャンク化し、チャンクロス率に関する所定のロジックに基づき、パケット送信間隔を決定し、クライアント端末20へ送信する。
このサーバ10は、制御部11と、入出力部12と、記憶部13とを備える。
入出力部12は、クライアント端末20や、他の装置等との間の情報について入出力を行う。例えば、入出力部12は、クライアント端末20から入力情報300が付されたパケットを受信し、チャンク化した映像データ400を付したパケットを送信する。
この入出力部12は、通信回線(NW)を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
記憶部13は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部13には、画像データDB(DataBase)100および送信間隔チャンクロス対応情報200が格納される。
画像データDB100には、例えば、クライアント端末20がHMDの場合、ディスプレイに表示する映像の素材となる画像データが格納される。
送信間隔チャンクロス対応情報200は、チャンク化した映像データ400を付したパケットの送信間隔それぞれに対応付けたチャンクロス率を示す情報であり、詳細は図2を参照して後記する。
この記憶部13には、さらに、制御部11の各機能部を実行させるためのプログラムや、制御部11の処理に必要な情報が一時的に記憶される。
制御部11は、サーバ10が実行する処理の全般を司り、情報受信部111と、映像処理部112と、チャンク化機能部113と、チャンクロス判定部114と、送信制御部115とを含んで構成される。
情報受信部111は、クライアント端末20から、レンダリングを行うための入力情報300が付されたパケット(以下、「入力情報パケット」と称する。)を受信する。この入力情報パケットに含められる情報は、入力情報300のみの場合と、入力情報300とともに、ロスしたチャンクのチャンク番号(以下、「ロスチャンク番号」と称する。)が付される場合とがある(詳細は後記)。
なお、入力情報パケットにおいて、入力情報300のみで、ロスチャンク番号が付されない場合は、初期時とパケットロスがなかった場合である。
情報受信部111は、受信した入力情報パケットに付された入力情報300を、映像処理部112に出力する。また、情報受信部111は、この入力情報パケットにロスチャンク番号が付されていた場合には、その情報をチャンクロス判定部114に出力する。
映像処理部112は、情報受信部111が受信した入力情報300に基づき、記憶部13内の画像データDB100を参照し、入力情報300に応じた映像のレンダリング処理を行い映像データ400を生成する。
そして、映像処理部112は、生成した映像データ400を、チャンク化機能部113に出力する。
チャンク化機能部113は、映像処理部112から取得した映像データ400について、MTUのサイズに合わせたチャンク化処理を行う。なお、映像データ400は予め設定しておいたFPS(Frames per Second)によって、1秒間のフレーム枚数(例えば、60fps)が決まるが、チャンク化機能部113は、1フレーム毎にMTUに応じてチャンク化する。
そして、チャンク化機能部113は、チャンク化後の各チャンクのデータについてチャンク番号の付与を行う。このチャンク番号は、番号順に整列させることで、元の映像データ400が復元できるように予め設定した規則性をもって付される。
チャンクロス判定部114は、情報受信部111から取得したロスチャンク番号と、チャンク化した映像データ400をクライアント端末20に送信する際に送信制御部115がカウントしたパケット数とに基づき、チャンクロス率を計算する。具体的には、チャンクロス判定部114は、ロスチャンク番号で示されるロスしたチャンクの合計数を、送信時にカウントしたパケット数で除すことにより、チャンクロス率を計算する。
そして、チャンクロス判定部114は、送信制御部115が送信したパケットをカウントした際のそのパケットの送信間隔に対応付けて、計算したチャンクロス率を、記憶部13内の送信間隔チャンクロス対応情報200(図2)に格納する。
また、チャンクロス判定部114は、計算したチャンクロス率に基づく所定のロジック(以下、「送信間隔決定ロジック」と称する。)を用いて、チャンク化した映像データ400を送信するパケット送信間隔を決定する。
なお、前提として、チャンクロス判定部114には、送信間隔決定ロジックに基づき送信間隔を決定する際、予め最大許容チャンクロス率が、例えば通信システム1の管理者等により設定される。また、チャンクロス判定部114は、NW内において輻輳の発生状況を示す情報(輻輳情報)を、ネットワーク監視装置等から受信することにより、NW内の輻輳発生状況を把握できる。
以下、送信間隔決定ロジックについて、詳細に説明する。
(A)システム初期稼働時および通常時(NWに輻輳なし)
チャンクロス判定部114は、システム初期稼働時、および、NW内において輻輳が発生していないことを示す通常時の状況においては、以下の[ロジックA]に基づき、パケット送信間隔を決定する。なお、チャンクロス判定部114は、例えばNWの輻輳情報を受信していないことにより、通常時であることを判定する。また、チャンクロス判定部114は、初期時(一度目)のパケット送信間隔の決定の際には、予め設定した所定の初期パケット送信間隔によりパケットを送信する。
[ロジックA]
・チャンクロス率(R_LOSS) > 最大許容チャンクロス率(MAX_LOSS)
この場合、所定の定数(a1:第1定数)だけ、パケット送信間隔を長くする。
・チャンクロス率(R_LOSS) < 最大許容チャンクロス率(MAX_LOSS)
この場合、所定の定数(a2:第2定数)だけ、パケット送信間隔を短くする。
なお、所定の定数(a1)と(a2)とは、同じ値でもよい。
[ロジックA]において、チャンクロス判定部114が計算したチャンクロス率が、最大許容チャンクロス率を超えていた場合には、最大許容チャンクロス率以下に収まるように、パケット送信間隔を長くする制御を行う。一方、チャンクロス率が、最大許容チャンクロス率未満であれば、その状態が続くことによるクライアント側での映像表示の遅れを発生させないように、パケット送信間隔を短くする制御を行う。
(B)NW内の輻輳発生時
チャンクロス判定部114は、NW内において輻輳が発生している輻輳発生時においては、以下の[ロジックB]に基づき、パケット送信間隔を決定する。なお、チャンクロス判定部114は、例えば、NWの管理装置等から輻輳情報を受信することにより、NW内に輻輳が発生していると判定する。また、チャンクロス判定部114は、例えば、所定の時間間隔で輻輳情報を受信することにより、輻輳状態が継続していると判定し、所定の時間間隔での輻輳情報の受信が停止し、一定時間経過後までに輻輳情報を受信しなければ、輻輳状態が解消され通常時に戻ったと判定する。なお、NW内における輻輳は、例えば、サーバ内で発生している場合や、L2SW等のネットワーク機器で発生している場合等がある。
また、チャンクロス判定部114は、輻輳発生時においては、送信間隔チャンクロス対応情報200(図2)を参照して、パケット送信間隔を決定する。
図2は、本実施形態に係る送信間隔チャンクロス対応情報200のデータ構成例を示す図である。
図2に示すように、送信間隔チャンクロス対応情報200には、チャンクロス判定部114により、パケットの送信間隔に対応付けて、チャンクロス率が格納される。
例えば、送信間隔が「100(μs)」のとき、チャンクロス率は「0(%)」である。送信間隔が「90(μs)」のとき、チャンクロス率は「5(%)」である。
この送信間隔チャンクロス対応情報200の値は、クライアント端末20へ送信されたパケットのチャンクロス率を、チャンクロス判定部114が計算する度に更新される情報である。
[ロジックB]
・(輻輳発生時)チャンクロス率(R_LOSS) > 最大許容チャンクロス率(MAX_LOSS)
この場合、送信間隔チャンクロス対応情報200(図2)において、チャンクロス率が「0」に対応する送信間隔を、パケット送信間隔に設定する。例えば、最大許容チャンクロス率が「8(%)」であり、現時点での送信間隔が「80(μs)」、チャンクロス率が「15(%)」であった場合に、チャンクロス率が「0(%)」である送信間隔「95(μs)」に設定する。
なお、チャンクロス率が「0(%)」に対応する送信間隔が複数存在する場合には、送信間隔が最も短いものや、送信間隔が最も長いもの、ランダムに決定する等のようないずれかを設定しておく。
また、チャンクロス率が「0(%)」に対応する送信間隔が、送信間隔チャンクロス対応情報200にその時点で存在していない場合には、その時点で存在するチャンクロス率「0(%)」に一番近い送信間隔の値に設定する。つまり、チャンクロス判定部114は、チャンクロス率が0に対応する送信間隔、若しくは、0がない場合には最も0に近いチャンクロス率に対応する送信間隔に設定する。
さらに、送信間隔チャンクロス対応情報200で示される、最も長い送信間隔において、パケットを送信した場合においても、チャンクロス率(R_LOSS)が最大許容チャンクロス率(MAX_LOSS)を超える場合には、その最も長い送信間隔に、所定の定数(a3)だけパケット送信間隔を長くして、パケット送信間隔を決定するようにしてもよい。
・(輻輳発生時)チャンクロス率(R_LOSS) < 最大許容チャンクロス率(MAX_LOSS)
この場合、送信間隔チャンクロス対応情報200(図2)において、チャンクロス率が最大許容チャンクロス率を超えない中で、最も送信間隔が短い値のパケット送信間隔を設定する。例えば、最大許容チャンクロス率が「12(%)」であり、現時点での送信間隔が「90(μs)」、チャンクロス率が「5(%)」であった場合に、チャンクロス率が「10(%)」である送信間隔「85(μs)」に設定する。
なお、チャンクロス判定部114は、輻輳情報の受信が止まる等により、NW内の輻輳が解消したと判定した場合には、送信間隔チャンクロス対応情報200(図2)において、輻輳発生後に更新した送信間隔とチャンクロス率との対応情報を外れ値として破棄する。
このようにすることにより、輻輳が発生していない通常時に対応した送信間隔をチャンクロス判定部114が決定することができる。
図1に戻り、送信制御部115は、チャンクロス判定部114が決定したパケット送信間隔の情報を用いて、チャンク化した映像データ400の送信処理を実行する。
具体的には、送信制御部115は、図3のUDPパケットの例で示すように、ソケットを作り、IPヘッダに宛先IPアドレスを指定し、UDPポート番号を指定した上で、ペイロード部分にチャンク化した映像データ400を格納してUDPパケットを生成し、クライアント端末20へ送信する。
このパケット送信時において、送信制御部115は、パケット(UDPパケット)の送信間隔を、送信間隔チャンクロス対応情報200に記憶する。そして、送信制御部115は、送信したパケット数をカウントし記憶部13に記憶しておく。この送信間隔とパケット数とは、チャンクロス判定部114による、チャンクロス率の計算、および、送信間隔チャンクロス対応情報200の更新に利用される。
このように、サーバ10は、チャンク化した映像データ400を付したパケットの送信間隔を制御することにより、無圧縮で映像データを送信した場合におけるデータサイズが大きいことに起因する、バーストトラヒック発生によるパケットロスや、NW遅延、スループットの低下を回避することができる。また、サーバ10においてレンダリング処理等を行うことにより、クライアント端末20の電力消費や計算負荷を低減することができる。
≪クライアント側システム(クライアント端末)≫
図1を参照して、本実施形態に係るクライアント端末20について説明する。
クライアント端末20は、例えば、HMDにおける視線等の入力情報を、サーバ10へ送信することにより、サーバ10において、処理負荷の大きい、映像のレンダリング処理等を実行させ、生成された映像データ400を受信してディスプレイ等の表示装置に表示する。このクライアント端末20は、サーバ10からの映像データ400を、チャンク化した映像データ400として受信し、ロスしたチャンクのチャンク番号(ロスチャンク番号)を、サーバ10へ送信する。クライアント端末20は、このロスチャンク番号の送信を、入力情報300を送信する入力情報パケットに含めて送信する。これにより、ロスチャンク番号を独立した別パケットにより送信する場合に比べ、ハードウェア割り込みにおいて、複数のパケット同士の競合により待ち合わせが発生し、msオーダの遅延が発生することを抑えることができる。なお、クライアント端末20は、HMD以外でも、リアルタイムに映像データを表示する端末であればよく、例えば、動画映像を利用するゲーム等のサービスを提供する端末でもよい。
このクライアント端末20は、制御部21と、入出力部22と、記憶部23とを備える。
入出力部22は、サーバ10や、他の装置等との間の情報について入出力を行う。例えば、入出力部22は、入力情報300が付された入力情報パケットを送信するとともに、チャンク化された映像データ400が付されたパケットを受信する。
この入出力部22は、通信回線(NW)を介して情報の送受信を行う通信インタフェースと、不図示のセンサ装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
記憶部23は、ハードディスクやフラッシュメモリ、RAM等により構成される。
この記憶部23には、制御部21の各機能部を実行させるためのプログラムや、制御部21の処理に必要な情報が一時的に記憶される。
制御部21は、クライアント端末20が実行する処理の全般を司り、入力情報取得部211と、チャンク処理部212と、データ出力部213と、入力情報送信部214とを含んで構成される。
入力情報取得部211は、クライアント端末20が備える各種のセンサ(視線追跡センサや、三軸加速度センサ、ジャイロセンサ等)からの情報(レンダリングを行うための入力情報300)を、入出力部22を介して取得する。そして、入力情報取得部211は、取得した入力情報300を、入力情報送信部214に出力する。
チャンク処理部212は、サーバ10からチャンク化した映像データ400が付されたパケット(図3)を受信する。そして、チャンク処理部212は、各パケットのチャンクを、チャンク番号順に整列し、ロスしたチャンクのチャンク番号(ロスチャンク番号)を抽出する。
チャンク処理部212は、ロスチャンク番号を入力情報送信部214に出力するとともに、整列させたチャンク番号順の映像データ400を、データ出力部213に出力する。
データ出力部213は、チャンク番号順に整列させた、チャンク化した映像データ400を用いて映像をデコード(復元)し、入出力部22を介してディスプレイ等の表示装置に表示させる。
入力情報送信部214は、入力情報取得部211から取得した入力情報300と、チャンク処理部212から取得したロスチャンク番号とを1つのパケットに含めて、サーバ10に送信する。
具体的には、入力情報送信部214は、図4のUDPパケットの例で示すように、ソケットを作り、IPヘッダに宛先IPアドレスを指定し、UDPポート番号を指定した上で、ペイロード部分に、ロスチャンク番号および入力情報300を格納して、UDPパケットを生成し、サーバ10へ送信する。
なお、入力情報送信部214は、チャンク化した映像データ400を受信していない初期稼働時、および、チャンク処理部212がロスチャンク番号を抽出しなかった場合には、ロスチャンク番号は含めず、入力情報300のみをUDPパケットに含めて、サーバ10へ送信する。
このように、クライアント端末20は、チャンク化した映像データ400をデコードすることにより、映像データ400をディスプレイ等の表示装置に表示させることができる。
また、クライアント端末20は、ロスチャンク番号を、独立したパケットではなく、入力情報300のパケット(入力情報パケット)に含めて送信することにより、ハードウェア割り込み等による遅延の発生を抑えることができる。
≪通信システムの処理≫
次に、通信システム1が実行する処理について説明する。
図5および図6は、本実施形態に係る通信システム1の処理の流れを示すシーケンス図である。
まず、初期時(1回目)の処理として、クライアント側システム(クライアント端末)20の入力情報取得部211が、各種のセンサ等から入力情報300を取得する(ステップS1)。
続いて、クライアント端末20の入力情報送信部214が、その入力情報300を付したパケット(入力情報パケット)を生成し、サーバ側システム(サーバ)10へ送信する(ステップS2)。
次に、サーバ10の情報受信部111が、入力情報パケットを受信すると、そのパケットに付された入力情報300を、映像処理部112に出力する(ステップS3)。
そして、映像処理部112は、記憶部13内の画像データDB100を参照し、入力情報300に応じた映像のレンダリング処理を行い映像データ400を生成する(ステップS4)。
続いて、サーバ10のチャンク化機能部113は、生成された映像データ400について、1フレーム毎に、MTUのサイズに合わせてチャンク化する(ステップS5:チャンク化処理)。
そして、チャンク化機能部113は、チャンク化後の各チャンクのデータについてチャンク番号の付与を行う(ステップS6)。
次に、チャンクロス判定部114は、初回のチャンク化した映像データ400の送信間隔を、予め設定しておいた初期パケット送信間隔に決定する(ステップS7)。
そして、サーバ10の送信制御部115は、チャンク化した映像データ400を含むパケットを生成し、初期パケット送信間隔でクライアント端末20へ送信する(ステップS8)。このとき、送信制御部115は、初期パケット送信間隔として決定した送信間隔、および、送信したパケット数をカウントして記憶部13に記憶しておく。
クライアント端末20のチャンク処理部212は、サーバ10からチャンク化した映像データ400が付されたパケット(図3)を受信し、各パケットのチャンクを、チャンク番号順に整列し、ロスしたチャンクのチャンク番号(ロスチャンク番号)を抽出する(ステップS9)。
そして、チャンク処理部212は、ロスチャンク番号を入力情報送信部214に出力するとともに、整列させたチャンク番号順の映像データ400を、データ出力部213に出力する。
クライアント端末20のデータ出力部213は、チャンク番号順に整列させた、チャンク化した映像データ400を用いて映像をデコード(復元)し、入出力部22を介してディスプレイ等の表示装置に表示させる(ステップS10)。
ここまでが、初期時の通信システム1の処理である。
図6に進み、2回目以降の処理において、クライアント側システム(クライアント端末)20の入力情報取得部211が、各種のセンサ等から入力情報300を取得する(ステップS11)。
続いて、クライアント端末20の入力情報送信部214は、ステップS11において入力情報取得部211が取得した入力情報300と、図5のステップS9においてチャンク処理部212が抽出したロスチャンク番号と、を含めてパケット(入力情報パケット(図4))を生成し、サーバ側システム(サーバ)10へ送信する(ステップS12)。
次に、サーバ10の情報受信部111が、入力情報パケットを受信すると、その入力情報パケットに付された入力情報300を、映像処理部112に出力し、ロスチャンク番号を、チャンクロス判定部114に出力する(ステップS13)。
そして、映像処理部112は、記憶部13内の画像データDB100を参照し、入力情報300に応じた映像のレンダリング処理を行い映像データ400を生成する(ステップS14)。
続いて、サーバ10のチャンク化機能部113は、生成された映像データ400について、1フレーム毎に、MTUのサイズに合わせてチャンク化する(ステップS15:チャンク化処理)。
そして、チャンク化機能部113は、チャンク化後の各チャンクのデータについてチャンク番号の付与を行う(ステップS16)。
次に、サーバ10のチャンクロス判定部114は、ステップS13において取得したロスチャンク番号と、図5のステップS8において、送信制御部115がカウントしたパケット数とに基づき、チャンクロス率を計算する(ステップS17)。
続いて、チャンクロス判定部114は、送信制御部115がカウントした際のそのパケットの送信時における送信間隔に対応付けて、計算したチャンクロス率を、記憶部13内の送信間隔チャンクロス対応情報200(図2)に格納する(ステップS18)。
そして、チャンクロス判定部114は、計算したチャンクロス率に基づく所定のロジック(送信間隔決定ロジック)を用いて、チャンク化した映像データ400を送信するパケット送信間隔を決定する(ステップS19)。
このとき、チャンクロス判定部114は、送信間隔決定ロジック([ロジックA])に基づき、計算したチャンクロス率と、最大許容チャンクロス率とを比較して、パケット送信間隔の増減を制御する。また、チャンクロス判定部114が、NW管理装置等からNWの輻輳情報を受信しているか否かにより、NWに輻輳が発生しているか否を判定し、輻輳が発生している場合には、輻輳時に適応する送信間隔決定ロジック([ロジックB])に基づき、チャンク化した映像データ400を送信するパケット送信間隔を決定する。
そして、サーバ10の送信制御部115は、ステップS15においてチャンク化した映像データ400を含むパケットを生成し、ステップS19で決定したパケット送信間隔でクライアント端末20へ送信する(ステップS20)。このとき、送信制御部115は、パケットを送信した際の送信間隔、および、送信したパケット数をカウントして記憶部13に記憶しておく。
続いて、クライアント端末20のチャンク処理部212は、サーバ10からチャンク化した映像データ400が付されたパケット(図3)を受信し、各パケットのチャンクを、チャンク番号順に整列し、ロスしたチャンクのチャンク番号(ロスチャンク番号)を抽出する(ステップS21)。
そして、チャンク処理部212は、ロスチャンク番号を入力情報送信部214に出力するとともに、整列させたチャンク番号順の映像データ400を、データ出力部213に出力する。
クライアント端末20のデータ出力部213は、チャンク番号順に整列させた、チャンク化した映像データ400を用いて映像をデコード(復元)し、入出力部22を介してディスプレイ等の表示装置に表示させる(ステップS22)。
これ以降は、ステップS11からの処理が繰り返される。
<ハードウェア構成>
本実施形態に係るサーバ10およびクライアント端末20は、例えば図7に示すような構成のコンピュータ900によって実現される。
図7は、本実施形態に係るサーバ10およびクライアント端末20の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、制御部11,21(図1)による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、半導体メモリ等である。
例えば、コンピュータ900が本発明のサーバ10,クライアント端末20として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、サーバ10、クライアント端末20の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
<効果>
以下、本発明に係る通信システム等の効果について説明する。
本発明に係る通信システムは、サーバ側システム10と、クライアント側システム20とがネットワークを介して通信接続される通信システム1であって、サーバ側システム10が、レンダリングを行うための入力情報300と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、クライアント側システム20から受信する情報受信部111と、受信した入力情報300に応じた映像のレンダリング処理を行い、映像データを生成する映像処理部112と、生成した映像データ400を、MTUのサイズに合わせてチャンク化し、チャンク化した映像データ400を示すチャンクそれぞれに番号を付与するチャンク化機能部113と、チャンク化した映像データ400を送信したパケット数と、ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算したチャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、チャンク化した映像データを含むパケットの送信間隔を決定するチャンクロス判定部114と、チャンク化した映像データ400を含むパケットそれぞれを、決定した送信間隔によりクライアント側システム20に送信する送信制御部115と、を備え、クライアント側システム20が、入力情報300を取得する入力情報取得部211と、サーバ側システム10から、チャンク化した映像データ400を含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクのロスチャンク番号を抽出するチャンク処理部212と、受信したチャンク化した映像データ400それぞれを用いて映像データ400をデコードして出力するデータ出力部213と、入力情報300、および、抽出したロスチャンク番号を含む入力情報パケットを、サーバ側システム10に送信する入力情報送信部214と、を備えることを特徴とする。
このように、通信システム1は、サーバ側システム(サーバ)10においてレンダリング処理等を行うことにより、クライアント側システム(クライアント端末)20の電力消費や計算負荷を低減することができる。また、通信システム1は、チャンク化した映像データ400を付したパケットの送信間隔を制御することにより、無圧縮で映像データを送信した上で、バーストトラヒック発生によるパケットロスやNW遅延、スループットの低下を回避することができる。
よって、クライアント側システム(クライアント端末)20の処理負荷を低減し、ユーザ側において、高性能のプロセッサや専用のアクセラレータを備える必要をなくすことができる。
また、通信システム1において、所定の送信間隔決定ロジックは、計算したチャンクロス率が、最大許容チャンクロス率よりも大きい場合に、所定の第1定数だけ、送信間隔を長くし、計算したチャンクロス率が、最大許容チャンクロス率未満である場合に、所定の第2定数だけ、送信間隔を短くすることを特徴とする。
このように、通信システム1のサーバ側システム(サーバ)10は、所定の送信間隔決定ロジックにより、計算したチャンクロス率が、最大許容チャンクロス率よりも大きい場合に送信間隔を長くし、計算したチャンクロス率が、最大許容チャンクロス率未満である場合に送信間隔を短くすることができる。
よって、通信システム1は、所定の送信間隔決定ロジックを用いた送信間隔の決定を繰り返すことにより、最大許容チャンクロス率以下に収まる範囲で、より適切なパケットの送信間隔を決定することができる。
また、通信システム1において、送信制御部115は、チャンク化した映像データ400を含むパケットそれぞれを送信する送信間隔を記憶しておき、チャンクロス判定部114は、チャンクロス率を計算した際に、計算したチャンクロス率と、そのチャンク化した映像データを送信したときの送信間隔とを対応付けて送信間隔チャンクロス対応情報200として記憶部に記憶しておき、チャンクロス判定部114は、ネットワーク内に輻輳が発生していることを示す輻輳情報を受信した場合に用いる所定の送信間隔決定ロジックとして、計算したチャンクロス率が、最大許容チャンクロス率よりも大きい場合に、送信間隔チャンクロス対応情報200を参照し、チャンクロス率が0に対応する送信間隔、若しくは、0がない場合には最も0に近いチャンクロス率に対応する送信間隔を抽出して、送信するパケットの送信間隔を決定し、計算したチャンクロス率が、最大許容チャンクロス率未満である場合に、送信間隔チャンクロス対応情報200を参照し、計算したチャンクロス率が、最大許容チャンクロス率を超えない中で、最も送信間隔が短い送信間隔を抽出して、送信するパケットの送信間隔を決定することを特徴とする。
このように、通信システム1のサーバ側システム(サーバ)10は、ネットワーク内に輻輳が発生している場合において、所定の送信間隔決定ロジックにより、送信するパケットの送信間隔を決定できる。
この送信間隔決定ロジックにより、サーバ側システム(サーバ)10は、計算したチャンクロス率が、最大許容チャンクロス率よりも大きいときに、送信間隔チャンクロス対応情報200(図2)を参照し、チャンクロス率が0に対応する送信間隔、若しくは、0がない場合には最も0に近いチャンクロス率に対応する送信間隔を抽出できる。また、サーバ側システム(サーバ)10は、計算したチャンクロス率が、最大許容チャンクロス率未満である場合に、送信間隔チャンクロス対応情報200を参照し、計算したチャンクロス率が、最大許容チャンクロス率を超えない中で、最も送信間隔が短い送信間隔を抽出できる。
よって、通信システム1は、輻輳発生時において、より適切なパケットの送信間隔を決定することができる。
本発明に係るサーバは、クライアント端末20にネットワークを介して通信接続するサーバ10であって、レンダリングを行うための入力情報300と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、クライアント端末20から受信する情報受信部111と、受信した入力情報300に応じた映像のレンダリング処理を行い、映像データ400を生成する映像処理部112と、生成した映像データ400を、MTUのサイズに合わせてチャンク化し、チャンク化した映像データ400を示すチャンクそれぞれに番号を付与するチャンク化機能部113と、チャンク化した映像データ400を送信したパケット数と、ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算したチャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、チャンク化した映像データ400を含むパケットの送信間隔を決定するチャンクロス判定部114と、チャンク化した映像データ400を含むパケットそれぞれを、決定した送信間隔によりクライアント端末20に送信する送信制御部115と、を備えることを特徴とする。
このようにすることにより、サーバ10は、チャンク化した映像データ400を付したパケットの送信間隔を制御することにより、無圧縮で映像データを送信した上で、バーストトラヒック発生によるパケットロスやNW遅延、スループットの低下を回避することができる。
本発明に係るクライアント端末は、サーバ10にネットワークを介して通信接続するクライアント端末20であって、レンダリングを行うための入力情報300を取得する入力情報取得部211と、サーバ10から、チャンク化した映像データ400を含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクのロスチャンク番号を抽出するチャンク処理部212と、受信したチャンク化した映像データ400それぞれを用いて映像データ400をデコードして出力するデータ出力部213と、入力情報300、および、抽出したロスチャンク番号を含む入力情報パケットを、サーバ10に送信する入力情報送信部214と、を備えることを特徴とする。
このように、クライアント端末20は、ロスチャンク番号を、独立したパケットではなく、入力情報300のパケット(入力情報パケット)に含めて送信することにより、ハードウェア割り込み等による遅延の発生を抑えることができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
1 通信システム
10 サーバ側システム(サーバ)
11,21 制御部
12,22 入出力部
13,23 記憶部
20 クライアント側システム(クライアント端末)
100 画像データDB
111 情報受信部
112 映像処理部
113 チャンク化機能部
114 チャンクロス判定部
115 送信制御部
200 送信間隔チャンクロス対応情報
211 入力情報取得部
212 チャンク処理部
213 データ出力部
214 入力情報送信部
300 入力情報
400 映像データ

Claims (8)

  1. サーバ側システムと、クライアント側システムとがネットワークを介して通信接続される通信システムであって、
    前記サーバ側システムは、
    レンダリングを行うための入力情報と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、前記クライアント側システムから受信する情報受信部と、
    受信した前記入力情報に応じた映像のレンダリング処理を行い、映像データを生成する映像処理部と、
    生成した前記映像データを、MTU(Maximum Transmission Unit)のサイズに合わせてチャンク化し、チャンク化した映像データを示すチャンクそれぞれに番号を付与するチャンク化機能部と、
    前記チャンク化した映像データを送信したパケット数と、前記ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算した前記チャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、前記チャンク化した映像データを含むパケットの送信間隔を決定するチャンクロス判定部と、
    前記チャンク化した映像データを含むパケットそれぞれを、決定した前記送信間隔により前記クライアント側システムに送信する送信制御部と、を備え、
    前記クライアント側システムは、
    前記入力情報を取得する入力情報取得部と、
    前記サーバ側システムから、前記チャンク化した映像データを含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクの前記ロスチャンク番号を抽出するチャンク処理部と、
    受信した前記チャンク化した映像データそれぞれを用いて映像データをデコードして出力するデータ出力部と、
    前記入力情報、および、抽出した前記ロスチャンク番号を含む前記入力情報パケットを、前記サーバ側システムに送信する入力情報送信部と、を備えること
    を特徴とする通信システム。
  2. 前記所定の送信間隔決定ロジックは、
    計算した前記チャンクロス率が、前記最大許容チャンクロス率よりも大きい場合に、所定の第1定数だけ、前記送信間隔を長くし、
    計算した前記チャンクロス率が、前記最大許容チャンクロス率未満である場合に、所定の第2定数だけ、前記送信間隔を短くすること
    を特徴とする請求項1に記載の通信システム。
  3. 前記送信制御部は、前記チャンク化した映像データを含むパケットそれぞれを送信する送信間隔を記憶しておき、
    前記チャンクロス判定部は、前記チャンクロス率を計算した際に、計算した前記チャンクロス率と、そのチャンク化した映像データを送信したときの送信間隔とを対応付けて送信間隔チャンクロス対応情報として記憶部に記憶しておき、
    前記チャンクロス判定部は、前記ネットワーク内に輻輳が発生していることを示す輻輳情報を受信した場合に用いる前記所定の送信間隔決定ロジックとして、
    計算した前記チャンクロス率が、前記最大許容チャンクロス率よりも大きい場合に、前記送信間隔チャンクロス対応情報を参照し、前記チャンクロス率が0に対応する送信間隔、若しくは、0がない場合には最も0に近いチャンクロス率に対応する送信間隔を抽出して、送信する前記パケットの送信間隔を決定し、
    計算した前記チャンクロス率が、前記最大許容チャンクロス率未満である場合に、前記送信間隔チャンクロス対応情報を参照し、計算した前記チャンクロス率が、前記最大許容チャンクロス率を超えない中で、最も送信間隔が短い送信間隔を抽出して、送信する前記パケットの送信間隔を決定すること
    を特徴とする請求項1に記載の通信システム。
  4. サーバ側システムと、クライアント側システムとがネットワークを介して通信接続される通信システムの通信方法であって、
    前記サーバ側システムは、
    レンダリングを行うための入力情報と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、前記クライアント側システムから受信するステップと、
    受信した前記入力情報に応じた映像のレンダリング処理を行い、映像データを生成するステップと、
    生成した前記映像データを、MTUのサイズに合わせてチャンク化し、チャンク化した映像データを示すチャンクそれぞれに番号を付与するステップと、
    前記チャンク化した映像データを送信したパケット数と、前記ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算した前記チャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、前記チャンク化した映像データを含むパケットの送信間隔を決定するステップと、
    前記チャンク化した映像データを含むパケットそれぞれを、決定した前記送信間隔により前記クライアント側システムに送信するステップと、を実行し、
    前記クライアント側システムは、
    前記入力情報を取得するステップと、
    前記サーバ側システムから、前記チャンク化した映像データを含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクの前記ロスチャンク番号を抽出するステップと、
    受信した前記チャンク化した映像データそれぞれを用いて映像データをデコードして出力するステップと、
    前記入力情報、および、抽出した前記ロスチャンク番号を含む前記入力情報パケットを、前記サーバ側システムに送信するステップと、を実行すること
    を特徴とする通信方法。
  5. クライアント端末にネットワークを介して通信接続するサーバであって、
    レンダリングを行うための入力情報と、チャンク化された映像データのうち、ロスしたチャンクの番号であるロスチャンク番号とを含む入力情報パケットを、前記クライアント端末から受信する情報受信部と、
    受信した前記入力情報に応じた映像のレンダリング処理を行い、映像データを生成する映像処理部と、
    生成した前記映像データを、MTUのサイズに合わせてチャンク化し、チャンク化した映像データを示すチャンクそれぞれに番号を付与するチャンク化機能部と、
    前記チャンク化した映像データを送信したパケット数と、前記ロスチャンク番号で示されるロスしたチャンクの合計数とを用いてチャンクロス率を計算し、計算した前記チャンクロス率と、予め設定した最大許容チャンクロス率とを比較することにより送信間隔を決定する、所定の送信間隔決定ロジックに基づき、前記チャンク化した映像データを含むパケットの送信間隔を決定するチャンクロス判定部と、
    前記チャンク化した映像データを含むパケットそれぞれを、決定した前記送信間隔により前記クライアント端末に送信する送信制御部と、
    を備えることを特徴とするサーバ。
  6. コンピュータを、請求項5に記載のサーバとして機能させるためのプログラム。
  7. サーバにネットワークを介して通信接続するクライアント端末であって、
    レンダリングを行うための入力情報を取得する入力情報取得部と、
    前記サーバから、チャンク化した映像データを含むパケットそれぞれを受信し、ロスしたパケットに含まれるチャンクのロスチャンク番号を抽出するチャンク処理部と、
    受信した前記チャンク化した映像データそれぞれを用いて映像データをデコードして出力するデータ出力部と、
    前記入力情報、および、抽出した前記ロスチャンク番号を含む入力情報パケットを、前記サーバに送信する入力情報送信部と、
    を備えることを特徴とするクライアント端末。
  8. コンピュータを、請求項7に記載のクライアント端末として機能させるためのプログラム。
JP2023508146A 2021-03-22 2021-03-22 通信システム、通信方法、サーバ、クライアント端末、および、プログラム Active JP7452753B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/011614 WO2022201221A1 (ja) 2021-03-22 2021-03-22 通信システム、通信方法、サーバ、クライアント端末、および、プログラム

Publications (2)

Publication Number Publication Date
JPWO2022201221A1 JPWO2022201221A1 (ja) 2022-09-29
JP7452753B2 true JP7452753B2 (ja) 2024-03-19

Family

ID=83395365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023508146A Active JP7452753B2 (ja) 2021-03-22 2021-03-22 通信システム、通信方法、サーバ、クライアント端末、および、プログラム

Country Status (3)

Country Link
US (1) US20240098318A1 (ja)
JP (1) JP7452753B2 (ja)
WO (1) WO2022201221A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025668A (ja) 2011-07-25 2013-02-04 Nippon Hoso Kyokai <Nhk> 管理装置、素材処理装置、完成ファイル生成装置、素材蓄積装置及びそのプログラム、並びに、並列処理システム
US20150261600A1 (en) 2014-03-14 2015-09-17 Cisco Technology, Inc. Reconciling redundant copies of media content
JP2015228568A (ja) 2014-05-30 2015-12-17 日本電信電話株式会社 映像品質推定装置及び方法及びプログラム
JP2017157913A (ja) 2016-02-29 2017-09-07 Kddi株式会社 推定装置、推定方法及び推定プログラム
JP2017158115A (ja) 2016-03-03 2017-09-07 ソフトバンク株式会社 通信装置、通信システム、プログラム、及び通信方法
JP2020064473A (ja) 2018-10-17 2020-04-23 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ配置方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025668A (ja) 2011-07-25 2013-02-04 Nippon Hoso Kyokai <Nhk> 管理装置、素材処理装置、完成ファイル生成装置、素材蓄積装置及びそのプログラム、並びに、並列処理システム
US20150261600A1 (en) 2014-03-14 2015-09-17 Cisco Technology, Inc. Reconciling redundant copies of media content
JP2015228568A (ja) 2014-05-30 2015-12-17 日本電信電話株式会社 映像品質推定装置及び方法及びプログラム
JP2017157913A (ja) 2016-02-29 2017-09-07 Kddi株式会社 推定装置、推定方法及び推定プログラム
JP2017158115A (ja) 2016-03-03 2017-09-07 ソフトバンク株式会社 通信装置、通信システム、プログラム、及び通信方法
JP2020064473A (ja) 2018-10-17 2020-04-23 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ配置方法

Also Published As

Publication number Publication date
US20240098318A1 (en) 2024-03-21
JPWO2022201221A1 (ja) 2022-09-29
WO2022201221A1 (ja) 2022-09-29

Similar Documents

Publication Publication Date Title
US20180295069A1 (en) Network protocol for switching between plain text and compressed modes
US9544346B1 (en) Systems and methods for selecting a node for media streaming
US20170180272A1 (en) System and method for accelerating network applications using an enhanced network interface and massively parallel distributed processing
EP3410302B1 (en) Graphic instruction data processing method, apparatus
CN111135569A (zh) 云游戏处理方法、装置、存储介质与电子设备
JP5123186B2 (ja) 任意のフォーマットにおけるラージオブジェクトの通信のためのリモートプロトコルサポート
US9727373B2 (en) Providing resumption data in a distributed processing system
US20140187331A1 (en) Latency reduction by sub-frame encoding and transmission
CN109040786B (zh) 摄像头数据的传输方法、装置、系统及存储介质
US9852520B2 (en) Implementing reduced video stream bandwidth requirements when remotely rendering complex computer graphics scene
US9438917B2 (en) System and method for adaptive bandwidth management
WO2006074064A2 (en) Method and apparatus for managing data object size in a multi-user environment
CN107872471B (zh) 远程桌面图像指令处理方法和系统
WO2016044329A1 (en) Real-time, low memory estimation of unique client computers communicating with a server computer
US9705956B2 (en) Image transmitting method, program and apparatus
JP7452753B2 (ja) 通信システム、通信方法、サーバ、クライアント端末、および、プログラム
WO2024149299A1 (zh) 图像处理方法及计算设备
US11949887B2 (en) Transmission apparatus, transmission method, and program
CN105727556B (zh) 一种图像绘制的方法、相关设备及系统
CN112494931B (zh) 云游戏控制方法、系统、服务器和计算机可读存储介质
EP2954494A1 (en) Image processing apparatus, method of controlling the same, program and storage medium
KR102157379B1 (ko) Dash 서버에서의 비디오 트랜스코딩을 위한 온라인/오프라인 작업 분배 방법
WO2023218614A1 (ja) 配信装置、配信方法及びプログラム
US20230041190A1 (en) Systems and methods for managing application refresh rates presented on a display
WO2004036362A2 (en) Compression of secure content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230728

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: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240219

R150 Certificate of patent or registration of utility model

Ref document number: 7452753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150