JP5428702B2 - Stream communication system, server device, and client device - Google Patents
Stream communication system, server device, and client device Download PDFInfo
- Publication number
- JP5428702B2 JP5428702B2 JP2009219136A JP2009219136A JP5428702B2 JP 5428702 B2 JP5428702 B2 JP 5428702B2 JP 2009219136 A JP2009219136 A JP 2009219136A JP 2009219136 A JP2009219136 A JP 2009219136A JP 5428702 B2 JP5428702 B2 JP 5428702B2
- Authority
- JP
- Japan
- Prior art keywords
- stream
- video data
- parameter
- bit rate
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、ストリーム通信システム、サーバ装置及びクライアント装置に関し、特に、映像ストリームを配信するシステムにおいてネットワーク帯域変動及びクライアント装置の処理負荷の変動に適切に対応する技術に関する。 The present invention relates to a stream communication system, a server apparatus, and a client apparatus, and more particularly, to a technique that appropriately copes with network bandwidth fluctuations and client apparatus processing load fluctuations in a system that distributes video streams.
ネットワークを介してサーバ装置とクライアント装置が映像ストリーム通信を行うサーバ・クライアント・システムにおいては、近時、益々「リアルタイム性」が求められる傾向にある。例えば、サーバ装置で動作するオペレーション・システムのグラフィカル・ユーザ・インターフェースを、映像ストリーム通信によってクライアント装置へ送信し、クライアント装置が備える表示装置で表示するようなサーバ・クライアント・システムを考えた場合、映像の遅延が生じることは問題であり、高度なリアルタイム性が必要である。 In a server / client system in which a server apparatus and a client apparatus perform video stream communication via a network, there is a tendency for “real-time performance” to be increasingly demanded recently. For example, when considering a server client system in which a graphical user interface of an operation system operating on a server device is transmitted to a client device by video stream communication and displayed on a display device provided in the client device, This delay is a problem, and a high degree of real time is required.
本発明に関連する技術が記載されている文献としては、特許文献1がある。特許文献1には、映像配信サーバから映像データの配信を受ける携帯端末が、端末のCPU負荷とネットワーク帯域の状態を検出し、サーバへ送信し、サーバ側でこれらに基づいて必要なときには、映像配信方式をストリーミング方式からダウンロード方式に切り替えることが記載されている。しかしながら、この関連技術における映像配信サーバは、配信する映像データをダウンロード方式にも対応しうるように、蓄積(バッファリング)しておく必要がある。そのため、この関連技術では、上述したリアルタイム性の要求に応えられない。 There is Patent Document 1 as a document describing a technique related to the present invention. In Patent Document 1, a mobile terminal that receives video data distribution from a video distribution server detects the CPU load and network bandwidth status of the terminal, transmits it to the server, and when necessary based on these on the server side, It describes that the distribution method is switched from the streaming method to the download method. However, the video distribution server in this related technology needs to store (buffer) the video data to be distributed so as to be compatible with the download method. For this reason, this related technique cannot meet the above-described demand for real-time property.
上述の高度なリアルタイム性を実現するには、理想的なネットワーク環境やクライアント装置の十分な性能が期待される。しかしながら、これを実現するために専用のネットワークや専用のハードウェアを用いると、システム設計の自由度が制限される。サーバ装置とクライアント装置を接続するネットワークは、種々のネットワークが考えられ、インターネットや無線LANのようなベストエフォート型のネットワークも含まれる。また、クライアント装置も、汎用性やコストの観点から、汎用のパーソナルコンピュータを使用することが考えられる。 In order to realize the above-described advanced real-time property, an ideal network environment and sufficient performance of the client device are expected. However, if a dedicated network or dedicated hardware is used to achieve this, the degree of freedom in system design is limited. Various networks are conceivable for connecting the server device and the client device, including a best effort network such as the Internet or a wireless LAN. Also, it is conceivable that the client device uses a general-purpose personal computer from the viewpoint of versatility and cost.
ベストエフォート型のネットワークにおいては、利用可能なネットワーク帯域の変動が生じるため、ネットワーク帯域が狭くなってしまうような場合には映像ストリームのビットレートに対して十分な帯域が確保できず、クライアント装置が再生する映像にカクツキが発生することがある。ネットワーク帯域変動の要因としては、他の通信による帯域圧迫や、(無線LANの場合は、)電波状態など物理条件の影響などがある。 In a best-effort network, the available network bandwidth fluctuates, so if the network bandwidth becomes narrow, sufficient bandwidth cannot be secured for the bit rate of the video stream, and the client device Clicking may occur in the video to be played. Factors that cause network bandwidth fluctuation include bandwidth compression due to other communications and the influence of physical conditions such as radio wave conditions (in the case of a wireless LAN).
このような問題に対しては、一般的に、ネットワーク帯域の変動を吸収するためにストリームデータをバッファリングする手法が用いられる。しかしながら、上述の高度なリアルタイム性が要求されている場合はこの手法を用いることができない。バッファリングすることは映像を遅延させることと同義であるからである。 For such a problem, generally, a method of buffering stream data is used in order to absorb fluctuations in the network bandwidth. However, this method cannot be used when the above-described advanced real-time property is required. This is because buffering is synonymous with delaying the video.
クライアント装置に汎用のパーソナルコンピュータを用いることについても、上述の高度なリアルタイム性を実現するにあたっては、映像の遅延に繋がる課題が存在する。汎用のパーソナルコンピュータは、システム利用者が各自の好みや必要に応じて、多様な環境を構築することが普通である。したがって、専用のハードウェアを用いる場合と比べて、突発的なハードウェアリソースの不足が発生して映像に遅延が生じる可能性が比較的高い。 The use of a general-purpose personal computer for the client device also has a problem that leads to video delay in realizing the above-described advanced real-time property. In general-purpose personal computers, system users usually construct various environments according to their own preferences and needs. Therefore, compared with the case where dedicated hardware is used, there is a relatively high possibility that a sudden shortage of hardware resources occurs and a video is delayed.
例えば、汎用のパーソナルコンピュータにコンピュータウィルス対策ソフトがインストールされており、映像ストリームの再生表示中にバックグラウンドでウィルス検索処理が始められたような場合、ウィルス対策ソフトがCPUリソースを使用してしまい、映像ストリームの受信アプリケーションが十分なCPUリソースを利用することができず、カクツキが発生するという不具合が起こりうる。 For example, if computer anti-virus software is installed in a general-purpose personal computer and virus search processing is started in the background during playback and display of a video stream, the anti-virus software uses CPU resources. A video stream receiving application may not be able to use sufficient CPU resources, which may cause a problem that the image is crazed.
これらの課題に対して、従来では、ユーザが配信される映像のビットレートやフレームレートの調整を行うことでネットワーク負荷ないしCPU負荷を下げることで対処がなされてきた。しかしながら、この方法はユーザにとって煩雑である。また、ネットワーク負荷やCPU負荷が突発的なものであって、十分なリソースが利用できる状態になったとしても、ユーザがそのことを認識することは難しく、低いビットレート、フレームレートのまま利用することになるという不便さをユーザに強いるものである。 Conventionally, these problems have been addressed by reducing the network load or CPU load by adjusting the bit rate and frame rate of the video delivered by the user. However, this method is complicated for the user. Even if the network load or CPU load is sudden, and even when sufficient resources are available, it is difficult for the user to recognize this, and the low bit rate and frame rate are used. This forces the user to be inconvenient.
本発明は、上記実情に鑑みてなされたものであって、ネットワークを介してサーバ装置とクライアント装置が映像ストリーム通信を行うサーバ・クライアント・システムにおいて、ネットワーク帯域の変動とクライアント装置のストリーム処理能力の変動に適切に対応することが可能なストリーム通信システム、サーバ装置及びクライアント装置を提供することを目的とする。 The present invention has been made in view of the above circumstances, and in a server / client system in which a server apparatus and a client apparatus perform video stream communication via a network, fluctuations in network bandwidth and stream processing capability of the client apparatus are It is an object of the present invention to provide a stream communication system, a server device, and a client device that can appropriately cope with fluctuations.
上記目的を達成するために、本発明は、第1の態様として、映像データをサーバ装置でエンコードし、クライアント装置にストリーム送信し、クライアント装置でデコードするストリーム通信システムであって、前記サーバ装置は、映像データを所定のパラメータに基づいてエンコードするエンコード手段と、エンコードした映像データを前記クライアント装置にストリーム送信するストリーム送信手段と、を備え、前記クライアント装置は、送信されたストリームを受信し、1フレームのストリームの受信にかかった時間である受信時間を測定するストリーム受信手段と、受信したストリームをデコードし、1フレームのストリームのデコードにかかった時間であるデコード時間を測定するデコード手段と、前記パラメータと前記受信時間と前記デコード時間に基づいて、調整されたパラメータを算出するパラメータ調整手段と、を備え、前記サーバ装置の前記エンコード手段は、映像データを、前記所定のパラメータに代えて前記調整されたパラメータに基づいてエンコードすることを特徴とする、ストリーム通信システムを提供するものである。 In order to achieve the above object, according to a first aspect of the present invention, there is provided a stream communication system in which video data is encoded by a server device, stream-transmitted to the client device, and decoded by the client device. , Encoding means for encoding the video data based on predetermined parameters, and stream transmission means for transmitting the encoded video data to the client apparatus as a stream, wherein the client apparatus receives the transmitted stream, Stream receiving means for measuring a reception time which is a time taken for receiving a stream of frames; a decoding means for decoding a received stream and measuring a decoding time which is a time taken for decoding a stream of one frame; Parameters and reception time Parameter adjustment means for calculating an adjusted parameter based on the decoding time, and the encoding means of the server device replaces the video data with the predetermined parameter instead of the predetermined parameter. A stream communication system characterized by encoding is provided.
また、上記目的を達成するために、本発明は、第2の態様として、映像データをエンコードし、クライアント装置に送信するサーバ装置であって、前記クライアント装置から、ストリームの受信にかかった時間とデコードにかかった時間とに基づいて決定された、映像データをエンコードする際に用いるビットレートとフレームレートを受信し、前記ビットレートとフレームレートに基づいて映像データをエンコードすることを特徴とする、サーバ装置を提供するものである。 In order to achieve the above object, according to a second aspect of the present invention, there is provided a server device that encodes video data and transmits the encoded video data to a client device, the time taken to receive a stream from the client device, and Receiving the bit rate and the frame rate used when encoding the video data determined based on the time taken for decoding, and encoding the video data based on the bit rate and the frame rate, A server device is provided.
また、上記目的を達成するために、本発明は、第3の態様として、エンコードされた映像データのストリームを受信し、デコードするクライアント装置であって、ストリームの受信にかかった時間と、ストリームのデコードにかかった時間に基づいて、映像データをエンコードする際に用いるビットレートとフレームレートを決定し、決定した前記ビットレートとフレームレートを、映像データを送信するサーバ装置に送信することを特徴とする、クライアント装置を提供するものである。 In order to achieve the above object, according to a third aspect of the present invention, there is provided a client device that receives and decodes a stream of encoded video data, the time taken to receive the stream, A bit rate and a frame rate used for encoding video data are determined based on a time taken for decoding, and the determined bit rate and frame rate are transmitted to a server device that transmits the video data. A client device is provided.
本発明によれば、ネットワークを介してサーバ装置とクライアント装置が映像ストリーム通信を行うサーバ・クライアント・システムにおいて、ネットワーク帯域の変動とクライアント装置のストリーム処理能力の変動に適切に対応することが可能なストリーム通信システム、サーバ装置及びクライアント装置を提供することが可能となる。 According to the present invention, in a server / client system in which a server apparatus and a client apparatus perform video stream communication via a network, it is possible to appropriately cope with fluctuations in network bandwidth and fluctuations in stream processing capacity of the client apparatus. It is possible to provide a stream communication system, a server device, and a client device.
以下、本発明を実施するための形態について、図面を参照しながら説明する。本実施形態は、ネットワークを介してサーバ装置とクライアント装置が接続し、サーバ装置が出力する映像ストリームをクライアント装置が受信するサーバ・クライアント・システム(以下、「映像ストリーム通信システム」という)に、本発明を適用した実施形態である。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In the present embodiment, the server apparatus and the client apparatus are connected via a network, and the server client system (hereinafter referred to as “video stream communication system”) in which the client apparatus receives a video stream output from the server apparatus is connected to the present embodiment. It is an embodiment to which the invention is applied.
図1に、本実施形態の全体構成を示す。図示のように、本実施形態に係る映像ストリーム通信システムは、サーバ装置100とクライアント装置200がネットワーク300を介して接続している。サーバ装置100は、動画像入力部101と、動画像エンコード部102と、ストリーム送信部103と、サーバ制御通信部104とを備える構成である。クライアント装置200は、動画像再生部201と、動画像デコード部202と、ストリーム受信部203と、クライアント制御通信部204と、パラメータ調整部205と、画質設定記憶部206とを備える構成である。
FIG. 1 shows the overall configuration of the present embodiment. As illustrated, in the video stream communication system according to the present embodiment, the
サーバ装置100を構成する各部は、汎用のコンピュータと、当該コンピュータを利用して所定の情報処理を行うソフトウェアプログラムとの協働によって実現する。クライアント装置200を構成する各部についても同様である。
Each unit constituting the
動画像入力部101は、本実施形態に係る映像ストリーム通信システムに、ストリーム通信する動画像を入力する機能を備える。入力する動画像としては種々のものが考えられ、例えば、サーバ装置100上ないし他のコンピュータ上で動作するオペレーティングシステムのグラフィカル・ユーザ・インターフェース(デスクトップ画面)や、インターネット上の配信サーバ(不図示)からサーバ装置100に配信された動画像でもよい。動画像入力部101により入力された動画像は、まず、動画像エンコード部102に入力される。
The moving
動画像エンコード部102は、入力された動画像を、伝送路に適した形式に変換する(エンコードする)機能を備える。エンコードの際、動画像エンコード部102は、所定のパラメータを用いる。パラメータとしては、ネットワーク帯域の変動とクライアント装置のストリーム処理能力の変動に対応するという課題をより適切に解決するものという観点から、フレームレートとビットレートが適している。以下の説明では、特に断りのない限りパラメータとしてフレームレートとビットレートを用いる。
The moving
ストリーム送信部103は、動画像エンコード部102によりエンコードされた動画像データをクライアント装置200へストリーム通信により送信する機能を備える。サーバ制御通信部104は、クライアント装置200から送信されてきた本映像ストリーム通信システムの制御通信を受信して、当該制御通信に基づき動画像エンコード部102のパラメータを変更する機能を備える。
The
ネットワーク300は、種々の態様のネットワークが利用でき、無線LANやインターネットなどベストエフォート型のネットワークが含まれる。
The
クライアント装置200のストリーム受信部203は、サーバ装置100から送信されてきたストリーム通信を受信する機能を備える。また、ストリーム受信部203は、受信したストリーム通信に含まれる動画像データを動画像デコード部202に送る。また、ストリーム受信部203は、1フレーム分のストリームデータの受信にかかった時間を測定する。1フレーム分のストリームデータの受信にかかった時間を、以下、「受信時間」という。ストリーム受信部203は、フレーム毎に受信時間を算出し、パラメータ調整部205に送る。
The
動画像デコード部202は、ストリーム受信部203から送られてきた動画像データをデコードする機能を備える。デコードして得られた動画像は動画像再生部201に入力され、再生される。また、動画像デコード部202は、1フレーム分のストリームデータのデコードにかかった時間を測定する。1フレーム分のストリームデータのデコードにかかった時間を、以下、「デコード時間」という。動画像デコード部202は、フレームごとにデコード時間を算出し、パラメータ調整部205に送る。
The moving
画質設定記憶部206は、クライアント装置200のユーザが視聴する動画の画質についての設定(プリファレンス)を記憶する機能を備える。画質の設定は、ユーザの利用シーンに応じて設定でき、本実施形態では、フレームレートを高くすることを優先する「動き優先」設定と、1フレームあたりのデータ量を多くすることを優先する「画質優先」設定を含む。画質設定記憶部206が記憶する画質の設定は、パラメータ調整部205が必要に応じて参照する。
The image quality
パラメータ調整部205は、ストリーム受信部203が測定した受信時間と、動画像デコード部202が測定したデコード時間に基づいて、パラメータの調整を行う機能を備える。調整後のパラメータは、クライアント制御通信部204に送られ、クライアント制御通信部204が本映像ストリーム通信システムの制御通信によりサーバ装置100に送信する。以下、パラメータ調整部205の行うパラメータ調整処理について説明する。
The
図2にパラメータ調整処理の手順を示す。パラメータ調整処理が開始されるタイミングは、例えば、定期的に数秒おきに行うものとしてもよく、また、ストリーム受信部203及び動画像デコード部202により所定のフレーム数分だけ受信時間とデコード時間が測定されたタイミングとしてもよい。
FIG. 2 shows the procedure of parameter adjustment processing. For example, the parameter adjustment processing may be started at regular intervals of several seconds, and the reception time and decoding time are measured by a predetermined number of frames by the
図2において、パラメータ調整部205は、測定された受信時間とデコード時間から、ストリームの受信時間、デコード時間の統計値を計算する(ステップS101)。次に、統計値より調整使用する受信時間、デコード時間の代表値を決定する(ステップS102)。次に、代表値に基づき、パラメータの調整が必要か否かを判断する(ステップS103)。ステップS103の判断は、例えば、ステップS102で得られた代表値が所定の値以上に変動した場合にパラメータ調整が必要と判断するものである。
In FIG. 2, the
ここで、統計値とは、受信時間とデコード時間が測定されたフレームの内、例えば直近10〜100フレームの受信時間、デコード時間(以下の説明では受信時間とデコード時間を区別せずに「処理時間」ということがある。)の統計値をいうこととする。具体的には、直近フレームの平均値、直近フレームの標準偏差(図3(a)参照)、直近フレームを処理時間の長さごとに並べた場合の上位数%の位置に位置するフレームの処理時間の値(図3(b)参照)、等を用いることができる。これらの統計値の中でも特に、処理時間の長さごとに並べた場合の上位数%の位置に位置するフレームの処理時間の値を代表値とすることが最も好ましい。図3を参照して説明する。 Here, the statistical value is, for example, the reception time and decoding time of the latest 10 to 100 frames among the frames in which the reception time and the decoding time are measured (in the following description, “processing without distinguishing the reception time and the decoding time”). It may be called “time”)). Specifically, the average value of the most recent frame, the standard deviation of the most recent frame (see FIG. 3A), and the processing of frames positioned at the top few percent when the most recent frames are arranged for each processing time length Time values (see FIG. 3B), etc. can be used. Among these statistical values, it is most preferable to use the processing time value of a frame located at a position of the top few percent when arranged for each processing time length as a representative value. This will be described with reference to FIG.
図3は、本実施形態のパラメータ調整処理に用いる処理時間の統計値を説明するための概念図である。図3(a)は、直近フレームの平均値と標準偏差を統計値として代表値を算出する場合を示し、この場合の代表値は例えば平均値μと標準偏差σの和μ+σとすることができる。処理時間が正規分布する場合に有効である。図3(b)は、直近フレームを処理時間の長さごとに並べた場合の上位数%の位置に位置するフレームの処理時間の値を代表値とする場合を示す。図中矢印で示したフレームが、処理時間の長いフレームから順に並べ、上位数%の位置に位置するフレームである。ここで上位何%であるかは任意に定めることができる。 FIG. 3 is a conceptual diagram for explaining the statistical value of the processing time used in the parameter adjustment processing of the present embodiment. FIG. 3A shows a case where a representative value is calculated using the average value and standard deviation of the most recent frame as statistical values, and the representative value in this case can be, for example, the sum μ + σ of the average value μ and the standard deviation σ. . This is effective when the processing time is normally distributed. FIG. 3B shows a case in which the value of the processing time of the frame located at the upper few percent position when the latest frames are arranged for each processing time length is used as a representative value. The frames indicated by the arrows in the figure are frames that are arranged in order from the frame with the longest processing time and are positioned at the top several percent. Here, the top percentage can be arbitrarily determined.
比較例として、直近10〜100フレーム中の処理時間の最大値を代表値とすることを考えると、この比較例は、処理能力に対して、(後段のパラメータ調整処理の結果得られる)ビットレートが低くなりすぎるおそれがあるという問題点がある。また、別の比較例として、直近フレームの平均値を統計値とすることを考えると、この比較例も、約半分の時間でカクツキが発生するおそれがあり、比較的有効ではない。ベストエフォート型のネットワークや汎用のコンピュータを利用する環境においては、急激に負荷が高まることが頻繁におきるため、図3(b)に示したような統計値の決定方法が最も好ましい。 As a comparative example, considering that the maximum value of the processing time in the latest 10 to 100 frames is a representative value, this comparative example has a bit rate (obtained as a result of the subsequent parameter adjustment processing) with respect to the processing capability. There is a problem that may be too low. As another comparative example, considering that the average value of the most recent frame is a statistical value, this comparative example may also be clogged in about half the time and is relatively ineffective. In an environment using a best-effort network or a general-purpose computer, the load is frequently increased rapidly. Therefore, the statistical value determination method as shown in FIG. 3B is most preferable.
再び図2を参照して、パラメータ調整部205は、パラメータ処理を実行する場合、ステップS102で計算した受信時間の代表値と、デコード時間の代表値とを比較して、より大きい方を調整で用いる値(Tr)とする(ステップS104)。大きい方を調整で用いる意義は、処理時間の大きい方が、より処理能力の低下が見られる方なので、調整後のパラメータをより処理能力の低下が見られる方に合わせるということにある。
Referring to FIG. 2 again, when executing parameter processing, the
次に、パラメータ調整部205は、Trを用いて下記の数式から調整後のビットレート(Br)を決定する(ステップS105)。
Br = TsBs/Tr
ただし、Ts:ストリームのフレームレートの逆数
Bs:ストリームのビットレート
Next, the
Br = TsBs / Tr
Where Ts: the reciprocal of the frame rate of the stream
Bs: Bit rate of the stream
上記数式の意味について図4を参照して説明する。図4は、本実施形態のパラメータ調整処理におけるビットレートの算出方法を説明するための概念図である。上記数式と図4中におけるTsは、パラメータ調整処理が実行された時点において設定されているストリームのフレームレートの逆数である。つまり、Tsは、1フレームあたりの処理に割り当て可能な時間の長さを意味する。また、Bsは、同じくパラメータ調整処理が実行された時点において設定されているストリームのビットレートである。そうすると、TsBs(図4中、TsとBsの2つの値で囲まれた四角形の面積)は、1フレームあたりのデータ量に相当する。なお、TsとBsは、ストリーム受信部203より設定値を受け取る。
The meaning of the above formula will be described with reference to FIG. FIG. 4 is a conceptual diagram for explaining a bit rate calculation method in the parameter adjustment processing of the present embodiment. The above formula and Ts in FIG. 4 are the reciprocals of the frame rate of the stream set at the time when the parameter adjustment processing is executed. That is, Ts means the length of time that can be allocated to processing per frame. Bs is the bit rate of the stream set at the same time when the parameter adjustment process is executed. Then, TsBs (in FIG. 4, a square area surrounded by two values of Ts and Bs) corresponds to the data amount per frame. Note that Ts and Bs receive setting values from the
ここで、図2のステップS104までに決定されたTrの値が、図4中のTr1(Ts<Tr1)であった場合、上記数式によって得られるビットレートは、図4中のBr1となる。すなわち、ストリームのビットレートBsより低い値に下がる。一方、Trの値が、図4中のTr2(Ts>Tr2)であった場合、ストリームのビットレートBsより高い値のBr2に上がる。図4において、Tr1とBr1の2つの値で囲まれた四角形の面積(データ量)とTr2とBr2の2つの値で囲まれた四角形の面積(データ量)は、TsとBsの2つの値で囲まれた四角形の面積(データ量)は等しい。これは、同じデータ量を処理するのにビットレートが変化すると処理時間が変化することを意味し、逆に処理時間とデータ量からビットレートを推定できることを示している。 If the Tr value determined up to step S104 in FIG. 2 is Tr1 in FIG. 4 (Ts <Tr1), the bit rate obtained by the above equation is Br1 in FIG. That is, the value falls below the bit rate Bs of the stream. On the other hand, when the value of Tr is Tr2 (Ts> Tr2) in FIG. 4, the value rises to Br2, which is higher than the bit rate Bs of the stream. In FIG. 4, the area (data amount) of a rectangle surrounded by two values of Tr1 and Br1 and the area (data amount) of a rectangle surrounded by two values of Tr2 and Br2 are two values of Ts and Bs. The area (data amount) of the quadrangle surrounded by is equal. This means that the processing time changes when the bit rate changes to process the same amount of data, and conversely indicates that the bit rate can be estimated from the processing time and the data amount.
再び図2を参照して、調整後のビットレートを決定後、パラメータ調整部205は、次に、フレームレートを変更するか否かを判断し、変更すると判断した場合は変更処理をする(ステップS106,S107)。フレームレートを変更するか否かの判断は、ネットワーク帯域又はストリーム処理能力の変動の態様に依存するが、画質を一定の水準に保つか否かというユーザの選好にも依存する。図5を参照して説明する。
Referring to FIG. 2 again, after determining the adjusted bit rate, the
図5は、本実施形態のパラメータ調整処理におけるフレームレートの変更をするか否かの判断基準を説明するための概念図である。図示のように、上述のTsがTrより大きい場合(Tr<Ts,図4中のTr2の場合)、パラメータ調整部205は、画質設定記憶部206に記憶されている画質の設定を参照して、「動き優先」設定である場合、フレームレートを変更する。変更後(調整後)のフレームレートは、Trの逆数である(図4の例ではTr2の逆数)。一方で、「画質優先」設定である場合、フレームレートを変更しない。
FIG. 5 is a conceptual diagram for explaining a criterion for determining whether or not to change the frame rate in the parameter adjustment processing of the present embodiment. As shown in the figure, when the above-described Ts is larger than Tr (Tr <Ts, Tr2 in FIG. 4), the
同様に、上述のTsがTrより小さい場合(Tr>Ts,図4中のTr1の場合)、パラメータ調整部205は、画質設定記憶部206に記憶されている画質の設定を参照して、「動き優先」である場合、フレームレートを変更しない。「画質優先」である場合、フレームレートを変更する。変更後(調整後)のフレームレートは、Trの逆数である(図4の例ではTr1の逆数)。
Similarly, when the above-described Ts is smaller than Tr (Tr> Ts, Tr1 in FIG. 4), the
なお、フレームレートは極端に小さくなると動画像がコマ送り状態となってしまい動画像として機能しなくなる。また、動画像入力部101に入力される動画像のフレームレート以上の値を動画像エンコード部102に設定しても、エンコード後のストリームのフレームレートは動画像入力部101に入力される動画像のフレームレート以上にはならない。そのため、フレームレート変更の際、上限値と下限値をあらかじめ設定しておき、変更後のフレームレートを設定した範囲内に収まるように制御すると、より適切である(例えば、変更後のフレームレートが下限値を下回る場合は、下限値を変更後のフレームレートとする)。同様に、ビットレートについてもあるビットレート以上になると画質向上の効果が認識できなくなるため、上限値と下限値のビットレートを設定しておき、変更後のビットレートを設定した範囲内に収まるように制御すると、より適切である(例えば、変更後のビットレートが上限値を上回る場合は、上限値を変更後のビットレートとする)。
If the frame rate is extremely low, the moving image is in a frame advance state and does not function as a moving image. Even if a value equal to or higher than the frame rate of the moving image input to the moving
以上で、本実施形態のパラメータ調整処理の説明を終える。
上述のように調整されたパラメータは、クライアント制御通信部204がサーバ装置100に送信し、サーバ装置100ではこれを受け取ったあと、動画像エンコード部102が、調整されたパラメータによって入力される動画像のエンコードを実行する。
This is the end of the description of the parameter adjustment processing of the present embodiment.
The parameter adjusted as described above is transmitted by the client
したがって、ネットワーク帯域の変動によりストリーム受信に遅延が生じている場合や、外部アプリケーションによる処理負荷の増大に伴いクライアント装置200のストリーム再生処理に遅延が生じている場合は、ビットレートを下げてエンコードしたストリームを通信することになるので、クライアント装置200のユーザが動画像再生部201で再生する動画像にカクツキ等の不具合を経験することが無くなる。
Therefore, if there is a delay in stream reception due to fluctuations in the network bandwidth, or if there is a delay in stream playback processing of the
一方で、ネットワーク負荷や処理負荷が突発的なものであって、十分なリソースが利用できる状態になった場合は、自動的にビットレートを上げてエンコードしたストリームを通信することになるので、クライアント装置200のユーザにとって、煩雑でなく、また、不便さを感じさせることもなく、ユーザビリティが向上する。
On the other hand, if the network load or processing load is sudden and sufficient resources are available, the encoded stream will be automatically increased and the encoded stream will be communicated. For the user of the
すなわち、本実施形態によれば、ネットワーク帯域の変動とクライアント装置のストリーム処理能力の変動に適切に対応することができる。 That is, according to this embodiment, it is possible to appropriately cope with fluctuations in the network bandwidth and fluctuations in the stream processing capability of the client device.
100 サーバ装置
101 動画像入力部
102 動画像エンコード部
103 ストリーム送信部
104 サーバ制御通信部
200 クライアント装置
201 動画像再生部
202 動画像デコード部
203 ストリーム受信部
204 クライアント制御通信部
205 パラメータ調整部
206 画質設定記憶部
DESCRIPTION OF
Claims (8)
前記サーバ装置は、
映像データを所定のパラメータに基づいてエンコードするエンコード手段と、
エンコードした映像データを前記クライアント装置にストリーム送信するストリーム送信手段と、を備え、
前記クライアント装置は、
送信されたストリームを受信し、1フレームのストリームの受信にかかった時間である受信時間を測定するストリーム受信手段と、
受信したストリームをデコードし、1フレームのストリームのデコードにかかった時間であるデコード時間を測定するデコード手段と、
前記パラメータと前記受信時間と前記デコード時間に基づいて、調整されたパラメータを算出するパラメータ調整手段と、を備え、
前記サーバ装置の前記エンコード手段は、
映像データを、前記所定のパラメータに代えて前記調整されたパラメータに基づいてエンコードし、
前記パラメータは、映像データをエンコードする際に用いるビットレートとフレームレートを含み、
前記パラメータ調整手段により算出される調整後のビットレートは、下記式によって算出されることを特徴とする、ストリーム通信システム。
Br=TsBs/Tr
ただし、Brは調整後のビットレート、Tsは調整前のフレームレートの逆数、Bsは調整前のビットレート、Trは前記受信時間及び前記デコード時間のうちいずれか大きい方とする。 A stream communication system that encodes video data on a server device, transmits the stream to a client device, and decodes the video data on the client device,
The server device
An encoding means for encoding video data based on predetermined parameters;
Stream transmitting means for streaming the encoded video data to the client device,
The client device is
Stream receiving means for receiving a transmitted stream and measuring a reception time which is a time taken to receive a stream of one frame;
Decoding means for decoding a received stream and measuring a decoding time which is a time taken to decode a one-frame stream;
Parameter adjusting means for calculating an adjusted parameter based on the parameter, the reception time, and the decoding time;
The encoding means of the server device includes:
Encode video data based on the adjusted parameters instead of the predetermined parameters ,
The parameters include a bit rate and a frame rate used when encoding video data,
A stream communication system, wherein the adjusted bit rate calculated by the parameter adjusting means is calculated by the following equation .
Br = TsBs / Tr
However, Br is the bit rate after adjustment, Ts is the reciprocal of the frame rate before adjustment, Bs is the bit rate before adjustment, and Tr is the larger of the reception time and the decoding time.
前記パラメータ調整手段により算出される調整後のパラメータがあらかじめ設定されたパラメータの上限値を超える値であった場合に、
映像データを、前記所定のパラメータに代えて前記パラメータの上限値に基づいてエンコードすることを特徴とする、請求項1記載のストリーム通信システム。 The encoding means of the server device includes:
When the adjusted parameter calculated by the parameter adjusting means is a value exceeding the upper limit value of the preset parameter,
Video data, and wherein the encoding on the basis of the upper limit value of the parameter in place of the predetermined parameters, Claim 1 stream communication system according.
前記パラメータ調整手段により算出される調整後のパラメータがあらかじめ設定されたパラメータの下限値を下回る値であった場合に、
映像データを、前記所定のパラメータに代えて前記パラメータの下限値に基づいてエンコードすることを特徴とする、請求項1又は2記載のストリーム通信システム。 The encoding means of the server device includes:
When the adjusted parameter calculated by the parameter adjusting means is a value lower than the preset lower limit value of the parameter,
Video data, and wherein the encoding based on the lower limit value of the parameter in place of the predetermined parameters, Claim 1 or 2 stream communication system according.
前記Trの受信時間は、前記受信時間の代表値を用い、
前記Trのデコード時間は、前記デコード時間の代表値を用いることを特徴とする、請求項1から5のいずれか1項記載のストリーム通信システム。 The parameter adjusting means determines a representative value of the reception time from a statistical value using a plurality of reception times measured by the stream receiving means, and represents a representative of the decoding time from a statistical value using a plurality of decoding times measured by the decoding means. Determine the value,
The reception time of the Tr uses a representative value of the reception time,
Wherein Tr decoding time is characterized by using a representative value of the decoding time, a stream communication system according to any one of claims 1 5.
前記クライアント装置から、ストリームの受信にかかった受信時間とデコードにかかったデコード時間とに基づいて決定された、映像データをエンコードする際に用いる調整後のビットレートとフレームレートを含む調整後のパラメータを受信し、
前記調整後のパラメータに基づいて映像データをエンコードし、
前記受信した調整後のパラメータに含まれる調整後のビットレートは、下記式によって算出されることを特徴とする、サーバ装置。
Br=TsBs/Tr
ただし、Brは調整後のビットレート、Tsは調整前のフレームレートの逆数、Bsは調整前のビットレート、Trは前記受信時間及び前記デコード時間のうちいずれか大きい方とする。 A server device that encodes video data and transmits it to a client device,
Wherein the client device is determined based on the reception time taken to receive the stream and decoding time taken to decode, after adjustment including bit rate and frame rate after adjustment to be used for encoding the video data parameters It receives,
Encode video data based on the adjusted parameters ,
The adjusted bit rate included in the received adjusted parameter is calculated by the following equation .
Br = TsBs / Tr
However, Br is the bit rate after adjustment, Ts is the reciprocal of the frame rate before adjustment, Bs is the bit rate before adjustment, and Tr is the larger of the reception time and the decoding time.
ストリームの受信にかかった受信時間と、ストリームのデコードにかかったデコード時間に基づいて、映像データをエンコードする際に用いる調整後のビットレートとフレームレートを決定し、決定した調整後の前記ビットレートとフレームレートを含む調整後のパラメータを、映像データを送信するサーバ装置に送信し、
前記調整後のパラメータに含まれる調整後のビットレートは、下記式によって算出されることを特徴とする、クライアント装置。
Br=TsBs/Tr
ただし、Brは調整後のビットレート、Tsは調整前のフレームレートの逆数、Bsは調整前のビットレート、Trは前記受信時間及び前記デコード時間のうちいずれか大きい方とする。 A client device that receives and decodes a stream of encoded video data,
A reception time taken to receive the stream, on the basis of the decoding time required to decode the stream, the bit rate after adjustment to determine the bit rate and frame rate after adjustment to be used for encoding the video data was determined And the adjusted parameters including the frame rate are transmitted to the server device that transmits the video data ,
The adjusted bit rate included in the adjusted parameter is calculated by the following formula, and the client device:
Br = TsBs / Tr
However, Br is the bit rate after adjustment, Ts is the reciprocal of the frame rate before adjustment, Bs is the bit rate before adjustment, and Tr is the larger of the reception time and the decoding time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009219136A JP5428702B2 (en) | 2009-09-24 | 2009-09-24 | Stream communication system, server device, and client device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009219136A JP5428702B2 (en) | 2009-09-24 | 2009-09-24 | Stream communication system, server device, and client device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011071628A JP2011071628A (en) | 2011-04-07 |
JP5428702B2 true JP5428702B2 (en) | 2014-02-26 |
Family
ID=44016493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009219136A Expired - Fee Related JP5428702B2 (en) | 2009-09-24 | 2009-09-24 | Stream communication system, server device, and client device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5428702B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007140813A1 (en) | 2006-06-02 | 2007-12-13 | L'air Liquide Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude | Method of forming high-k dielectric films based on novel titanium, zirconium, and hafnium precursors and their use for semiconductor manufacturing |
JP5572224B2 (en) * | 2011-04-14 | 2014-08-13 | パナソニック株式会社 | Content recording apparatus, content recording method, and content transmission system |
JP2014049942A (en) * | 2012-08-31 | 2014-03-17 | Seiko Epson Corp | Display system, image supply device, program and display system control method |
JP2015073154A (en) * | 2013-10-01 | 2015-04-16 | 株式会社リコー | Data transmission system, data transmission program, and data transmission method |
JP2018028559A (en) * | 2015-01-07 | 2018-02-22 | シャープ株式会社 | Image data output device, image data output method, image display device, and integrated circuit |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4586328B2 (en) * | 2002-12-11 | 2010-11-24 | ソニー株式会社 | Information processing system, information processing apparatus and method, recording medium, and program |
JP2004214755A (en) * | 2002-12-27 | 2004-07-29 | Hitachi Ltd | Dynamic coding rate revision method and apparatus thereof |
JP2005322995A (en) * | 2004-05-06 | 2005-11-17 | Nippon Telegr & Teleph Corp <Ntt> | Buffer control method in real-time video image transfer, transmitting terminal, receiving terminal, video image distributing system and program |
-
2009
- 2009-09-24 JP JP2009219136A patent/JP5428702B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011071628A (en) | 2011-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8875208B1 (en) | High quality multimedia transmission from a mobile device for live and on-demand viewing | |
US9819717B2 (en) | Video adaptation for content-aware wireless streaming | |
JP4309185B2 (en) | Congestion control mechanism for streaming media | |
CN107135422B (en) | Information processing apparatus, information processing method, and computer program | |
US7710906B2 (en) | Transmitting and receiving system, transmitting apparatus, transmitting method, receiving apparatus, receiving method, and program | |
US20220070519A1 (en) | Systems and methods for achieving optimal network bitrate | |
CN109729437B (en) | Streaming media self-adaptive transmission method, terminal and system | |
JP2015536594A (en) | Aggressive video frame drop | |
JP6463041B2 (en) | Image processing apparatus, image processing method, and program | |
US20200014963A1 (en) | Latency improvement via frame latency feedback | |
JP5428702B2 (en) | Stream communication system, server device, and client device | |
US8867611B2 (en) | Video transmitting method and system with image quality adjusting function | |
JP2007243948A (en) | Method and apparatus for controlling parameters of wireless data streaming system | |
US20130286227A1 (en) | Data Transfer Reduction During Video Broadcasts | |
US20140099040A1 (en) | Image processing device and image processing method | |
AU2019201095A1 (en) | System and method for automatic encoder adjustment based on transport data | |
JP2005333358A (en) | Image communication apparatus, its processing method, client device and program | |
JP4361430B2 (en) | Bidirectional image communication apparatus, processing method thereof, client apparatus, and program | |
JP3126956B2 (en) | Communication service quality control method and apparatus | |
Hahm et al. | Dynamic media buffer control scheme for seamless streaming in wireless local area networks | |
JP4884922B2 (en) | Communication apparatus and communication method | |
JP2014075736A (en) | Server device and information processing method | |
JP2005101873A (en) | Stream control method, communication equipment capable of using the same and terminal | |
US12047627B2 (en) | Encoding data generation method, encoding data generation apparatus and program | |
WO2023095438A1 (en) | Terminal device, wireless communication system, and terminal device processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110516 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110920 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120820 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130904 |
|
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: 20131105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131118 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |