JP4408811B2 - Stream server - Google Patents

Stream server Download PDF

Info

Publication number
JP4408811B2
JP4408811B2 JP2004547993A JP2004547993A JP4408811B2 JP 4408811 B2 JP4408811 B2 JP 4408811B2 JP 2004547993 A JP2004547993 A JP 2004547993A JP 2004547993 A JP2004547993 A JP 2004547993A JP 4408811 B2 JP4408811 B2 JP 4408811B2
Authority
JP
Japan
Prior art keywords
data
hit
content
encoding
cache
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
Application number
JP2004547993A
Other languages
Japanese (ja)
Other versions
JPWO2004040908A1 (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004040908A1 publication Critical patent/JPWO2004040908A1/en
Application granted granted Critical
Publication of JP4408811B2 publication Critical patent/JP4408811B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Landscapes

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

Description

本発明はストリーム・サーバに関し、特にストリーミング技術等によるインターネット等を媒体としてライブ及びコンテンツを配信するストリーム・サーバに関するものである。   The present invention relates to a stream server, and more particularly, to a stream server that distributes live content and contents using the Internet or the like based on streaming technology as a medium.

近年、ADSL及び無線LAN等の普及によるインターネット等のネットワークのブロードバンド化が進んでいる。これに伴い、データ、音声、映像等を送受信するマルチメディア・多チャネルの通信環境が急速に整備されている。さらに、常時接続が一般化され、情報家電とネットワークの融合化が促進され、映像・音楽等のコンテンツ配信及びライブ配信等の需要が拡大している。   In recent years, networks such as the Internet are becoming broadband with the spread of ADSL and wireless LAN. Accordingly, a multi-media / multi-channel communication environment for transmitting / receiving data, audio, video, etc. has been rapidly established. Furthermore, the constant connection is generalized, the integration of information appliances and networks is promoted, and the demand for content distribution such as video / music and live distribution is expanding.

このようなネットワークにおいては、マルチメディアを多重化して1つのディジタル情報の流れとして扱うストリーミング技術によるライブ及びコンテンツを配信は重要である。   In such a network, it is important to distribute live and content by streaming technology that multiplexes multimedia and handles it as one digital information flow.

図10は、従来のライブ配信及びコンテンツ配信例を示している。ユーザ端末(PDA)170_2がライブ720を配信要求したときに、キャッシュサーバ150_2がライブ720を保持していない場合、映像入力装置120で撮影されたライブ720は、リアルタイムエンコーダ130に与えられる。   FIG. 10 shows an example of conventional live distribution and content distribution. When the user terminal (PDA) 170_2 requests distribution of the live 720, if the cache server 150_2 does not hold the live 720, the live 720 captured by the video input device 120 is given to the real-time encoder 130.

エンコーダ130は、ライブ720を、要求された符号化方式・符号化レートのデータに変換して、IPネットワーク140及びキャッシュサーバ150_2を経由したライブ配信720aで、ユーザ端末170_2に送信する。このとき、キャッシュサーバ150_2は、ライブ720を一時的に記憶する。   The encoder 130 converts the live 720 into data of the requested encoding method and encoding rate, and transmits the data to the user terminal 170_2 via the live distribution 720a via the IP network 140 and the cache server 150_2. At this time, the cache server 150_2 temporarily stores the live 720.

ユーザ端末(携帯電話)170_3が、同じ符号化方式・符号化レートのライブ720を配信要求したとき、キャッシュサーバ150_2は、記憶したライブ720を、ライブ配信720bでユーザ端末170_3に送信する。   When the user terminal (mobile phone) 170_3 requests distribution of the live 720 having the same encoding method and encoding rate, the cache server 150_2 transmits the stored live 720 to the user terminal 170_3 through the live distribution 720b.

コンテンツ710は、コンテンツサーバ110のソースデータベース700に格納されている。ユーザ端末(デスクトップPC)170_1がコンテンツ710を配信要求したときに、キャッシュサーバ150_1がコンテンツ710を記憶していない場合、コンテンツ710は、コンテンツサーバ110からIPネットワーク140及びターミナルアダプタ(TA)160を経由して、ユーザ端末170_1にコンテンツ配信710aが行われる。   The content 710 is stored in the source database 700 of the content server 110. When the user terminal (desktop PC) 170_1 requests distribution of the content 710, if the cache server 150_1 does not store the content 710, the content 710 passes from the content server 110 via the IP network 140 and the terminal adapter (TA) 160. Then, the content distribution 710a is performed to the user terminal 170_1.

このとき、キャッシュサーバ150_1は、コンテンツ710を一時記憶する。この後、例えば、ユーザ端末170_2からコンテンツ710の配信要求があったときのキャッシュサーバ150_1の動作は、キャッシュサーバ150_2と同様である。   At this time, the cache server 150_1 temporarily stores the content 710. Thereafter, for example, the operation of the cache server 150_1 when there is a distribution request for the content 710 from the user terminal 170_2 is the same as that of the cache server 150_2.

ライブ配信720a,720b及びコンテンツ配信710aは、例えば、リファレンスデータ参照による伸長処理を行うMPEGストリーム等で行われる。   The live distribution 720a, 720b and the content distribution 710a are performed by, for example, an MPEG stream that performs decompression processing with reference to reference data.

IPネットワーク140は、基本的にはベストエフォート型であり、MPEGストリームを長時間途切れずに配信には適応していない。   The IP network 140 is basically a best-effort type, and is not adapted for delivery without interrupting the MPEG stream for a long time.

この課題を解決する従来技術として、例えば、リアルタイム転送プロトコル(Real-time Transport Protocol、以下、RTPと称する。)、リアルタイム転送制御プロトコル(Real-time Transport Control Protocol、以下、RTCPと称する。)、及びリアルタイム・ストリーム制御プロトコル(Real Time Streaming Protocol、以下RTSPと称する。)等のストリーミング技術がある。   As conventional techniques for solving this problem, for example, a real-time transport protocol (hereinafter referred to as RTP), a real-time transport control protocol (hereinafter referred to as RTCP), and There are streaming technologies such as Real Time Streaming Protocol (hereinafter referred to as RTSP).

RTPは、メディア同期が受信側で可能となるように、音声データや映像データを伝送する際のパケット形式を定めた伝送プロトコルである。RTSPは、コンテンツの配信開始や一時停止等のようなストリーム制御を行うプロトコルである。RTCPは、音声や映像のストリームに対するフロー制御に必要な情報やメディア同期のための基準時間情報を伝達する手順を定めているプロトコルである。   RTP is a transmission protocol that defines a packet format for transmitting audio data and video data so that media synchronization is possible on the receiving side. RTSP is a protocol that performs stream control, such as starting and suspending content distribution. RTCP is a protocol that defines a procedure for transmitting information necessary for flow control on audio and video streams and reference time information for media synchronization.

これらのプロトコルによって、ユーザ端末と配信元とのネゴシエーション、データ配信時におけるネットワーク負荷、及びユーザ端末の処理能力等の与えられた環境を考慮したより快適なRTPストリーム(コンテンツ配信又はライブ配信)がリアルタイムで制御される。   With these protocols, more comfortable RTP streams (content distribution or live distribution) taking into account the given environment, such as negotiation between the user terminal and the distribution source, network load at the time of data distribution, and processing capacity of the user terminal, are real-time. It is controlled by.

しかしながら、従来のストリーミング環境においては、ライブ配信は、ストリーム・サーバ(配信側)から、固定化された複数の符号化レートのデータを不特定多数のユーザ端末(受信側)に対して配信している。   However, in a conventional streaming environment, live distribution is performed by distributing data at a plurality of fixed encoding rates from an stream server (distribution side) to an unspecified number of user terminals (reception side). Yes.

ユーザ端末は、自身の処理能力に応じて、配信元から固定化された複数の符号化レートのデータの内から選択して受信している。従って、不特定多数のユーザ端末に対して、それぞれ、ネットワーク負荷及びユーザ端末の処理能力等をリアルタイムに考慮した、快適なマルチキャスト型のコンテンツ配信及びライブ配信を実現していない。   The user terminal selects and receives data from a plurality of encoding rate data fixed from the distribution source according to its own processing capability. Therefore, comfortable multicast-type content distribution and live distribution in which the network load and the processing capacity of the user terminal are considered in real time are not realized for a large number of unspecified user terminals.

すなわち、従来のストリーミング環境は、コンテンツ配信において、或る1つのコンテンツ(ワンソース)を、符号化方式のみならず、リアルタイムな最適符号化レートも各ユーザ端末に対応したデータ(マルチユース)を配信することは困難である。   That is, in the conventional streaming environment, in content distribution, not only one encoding method (one source) but also data corresponding to each user terminal (multi-use) is distributed not only in the encoding method but also in the real-time optimum encoding rate. It is difficult to do.

これを解決するためには、ユーザ端末数分のリアルタイムエンコーダ、若しくは全符号化レートのデータのデータベースといった、莫大なハードウェアが必要であり現実的ではない。   In order to solve this, enormous hardware such as real-time encoders for the number of user terminals or a database of data of all coding rates is required, which is not practical.

すなわち、コンテンツ、符号化方式のみならず符号化レートまでを範疇としたワンソース・マルチユース化ができない。   In other words, it is not possible to achieve one-source / multi-use that covers not only contents and encoding methods but also encoding rates.

また、ライブ配信において、リアルタイムエンコーダ130がリアルタイムエンコードデータを、そのままネットワークに配信するため、ユーザ端末は、コンテンツ・サーバに対して、巻き戻し、一時停止等のコミュニケーション(選択性)の拡張が困難である。   Also, in live distribution, the real-time encoder 130 distributes real-time encoded data as it is to the network, so it is difficult for the user terminal to expand communication (selectivity) such as rewinding and pausing to the content server. is there.

したがって、ユーザ端末は、コンテンツ配信とライブ配信が異なることを考慮したサービスを受けなければならない。また、配信サーバは、コンテンツ・サーバとライブ・サーバが独立装置であり、それぞれ独立に制御する必要があり、コンテンツ配信とライブ配信の融合が困難である。   Therefore, the user terminal must receive a service considering that content distribution and live distribution are different. In addition, in the distribution server, the content server and the live server are independent devices, and it is necessary to control them independently, and it is difficult to merge the content distribution and the live distribution.

コンテンツ配信において、コンテンツに対応する複数の符号化データを予めデータベース化しているため、多数のユーザが視聴する映画コンテンツ、或る個人ユーザのみが視聴するパーソナルビデオコンテンツに関係なく、全コンテンツデータをデータベース化する必要があり、莫大なデータベース容量が必要となる。   In content distribution, since a plurality of encoded data corresponding to the content is stored in a database in advance, all content data is stored in a database regardless of movie content viewed by many users and personal video content viewed only by a certain individual user. And a huge database capacity is required.

このため、最近のトレンドである個人ユーザがオリジナルに制作したディジタルコンテンツ等を格納するパーソナルデータベースの構築にも限界が生じる。   For this reason, there is a limit to the construction of a personal database that stores digital contents originally produced by individual users, which is a recent trend.

また、コンテンツ配信において、データベースは、圧縮された符号化データを格納しており、MPEGストリームにおけるシーケンスヘッダの任意位置への挿入/削除が困難なため、ユーザ端末(受信側)任意の映像の頭出し機能、アクセス回線種別、ネットワークの混雑度、ユーザ端末処理能力等を考慮した最適符号化レート/解像度変更等が困難である。   In content distribution, the database stores compressed encoded data, and it is difficult to insert / delete the sequence header at an arbitrary position in the MPEG stream. It is difficult to change the optimum encoding rate / resolution considering the output function, access line type, network congestion, user terminal processing capability, and the like.

また、従来のコンテンツ配信又はライブ配信は、配信サーバとキャッシュサーバ(エッジサーバ)が独立配備かつ独立動作しており、キャッシュサーバでは、ユーザ端末(受信側)から要求されたコンテンツ又はライブ、符号化方式を考慮したヒット/ミス判定は可能である。   Also, in conventional content distribution or live distribution, the distribution server and the cache server (edge server) are independently deployed and operated independently, and the cache server is the content requested from the user terminal (receiving side) or live, encoded Hit / miss judgment considering the method is possible.

しかし、ネゴシエーション又はユーザ端末からのRR(Receiver Report)タイプのRTCPパケットのフィードバックをトリガとして決定した符号化レートまでを考慮した要求データの視聴開始/停止/変更を管理できない。したがって、視聴率を考慮したヒット/ミス判定を実施することが困難である。   However, it is not possible to manage the start / stop / change of the request data in consideration of the encoding rate determined by negotiation or feedback of an RR (Receiver Report) type RTCP packet from the user terminal as a trigger. Therefore, it is difficult to perform hit / miss determination in consideration of the audience rating.

従来のコンテンツ配信又はライブ配信は、ネゴシエーション動作時又はストリーミングにおけるRRタイプのRTCPパケットフィードバック時のような、ユーザ端末からのアクションに対応して、ストリーム・サーバが動作している。   In conventional content distribution or live distribution, a stream server is operated in response to an action from a user terminal, such as during negotiation operation or feedback of an RR type RTCP packet in streaming.

したがって、ある映画コンテンツの配信開始となった日時に不特定多数ユーザからの視聴要求が重なった場合に、トランスコーダ(transcoder)へのアクセス競合が多数発生し、ユーザ端末に対する配信サービスの即応性が困難になる。   Therefore, when viewing requests from an unspecified number of users overlap at the date and time when the distribution of a certain movie content starts, many access conflicts to the transcoder occur, and the responsiveness of the distribution service to the user terminal is increased. It becomes difficult.

また、従来のコンテンツ配信又はライブ配信におけるキャッシュサーバ(エッジサーバ)は、様々なコンテンツ又はライブデータ、符号化方式、符号化レート等のデータが格納されており、ユーザ端末が要求するデータの有無の確認を全格納データに対して行うため、そのヒット/ミス判定回路は莫大なハードウェア規模が必要になる。   In addition, a cache server (edge server) in conventional content distribution or live distribution stores various contents or data such as live data, encoding method, encoding rate, etc., and whether there is data requested by the user terminal. Since the check is performed on all stored data, the hit / miss judgment circuit requires a huge hardware scale.

また、従来のコンテンツ配信又はライブ配信は、配信サーバとキャッシュサーバ(エッジサーバ)が独立配備かつ独立動作しており、ユーザ端末からのキャッシュサーバ(エッジサーバ)内に格納されていない新コンテンツ又はライブ、新符号化方式、新符号化レートが要求された場合、ミス判定になる。   In addition, conventional content distribution or live distribution has a distribution server and a cache server (edge server) that are independently deployed and operated independently, and new content or live content that is not stored in the cache server (edge server) from the user terminal. When a new encoding method and a new encoding rate are requested, a miss determination is made.

これにより、配信サーバは上記コンテンツ、符号化方式に対応したデータをキャッシュサーバに配信するため、キャッシュサーバは、必ず既に格納されているデータを破棄しなければならない。   Accordingly, since the distribution server distributes data corresponding to the content and the encoding method to the cache server, the cache server must always discard already stored data.

また、キャッシュサーバ(エッジサーバ)のヒット/ミス判定において、配信サーバ側の混雑度等を考慮しないため、配信サーバの即応性が悪い場合には、配信データのスループットの低下、揺らぎ等が発生する。   In addition, in the hit / miss judgment of the cache server (edge server), the congestion level on the distribution server side is not taken into account, so if the distribution server is not responsive, the throughput of the distribution data will be reduced and fluctuations will occur. .

また、従来の階層符号化において、ある階層データの符号化レート又は解像度等を変更する場合には、上記階層をリファレンスデータとして参照し、符号化処理を実施する。   Further, in the conventional hierarchical encoding, when changing the encoding rate or resolution of certain hierarchical data, the hierarchical processing is referred to as reference data and the encoding process is performed.

以後、全上位階層データも再生成する必要があるため、莫大なハードウェアが必要となり、かつトランスコーダ等の資源の使用回数の増大(資源の有効活用が困難)を招く。   Thereafter, since it is necessary to regenerate all the upper layer data, a huge amount of hardware is required, and the number of times of use of resources such as a transcoder is increased (it is difficult to effectively use resources).

そこで本発明は、ストリーミング技術等によるインターネット等を媒体としてライブ及びコンテンツを配信するストリーム・サーバにおいて、以下の項目(1)〜(9)を目的とする。   Therefore, the present invention aims at the following items (1) to (9) in a stream server that distributes live and content using the Internet or the like by a streaming technique or the like as a medium.

(1)不特定多数ユーザ端末に対して、それぞれ与えられた環境、すなわち、ネットワーク負荷、ユーザ端末の処理能力、又はストリーム・サーバの混雑度等にリアルタイムに対応したコンテンツ配信又はライブ配信を行う。  (1) Content distribution or live distribution corresponding to a given environment, that is, network load, processing capacity of the user terminal, congestion level of the stream server, or the like in real time is performed for an unspecified number of user terminals.

(2)コンテンツ配信とライブ配信とを融合することを、少ないハードウエアで実現する。  (2) Integration of content distribution and live distribution is realized with a small amount of hardware.

(3)必要なデータベースの容量を削減する。  (3) Reduce the required database capacity.

(4)要求されたコンテンツ及び符号化方式のみならず、要求された符号化レートに対応したワンソース・マルチユースを実現する。  (4) Realize one-source multi-use that supports not only the requested content and encoding method, but also the required encoding rate.

(5)ユーザ端末が、アクセス回線種別、ネットワークの混雑度、及びユーザ端末処理能力に対応した、任意の映像の頭出し、最適符号化レート変更、及び解像度変更を行うことを可能とする。  (5) It is possible for the user terminal to perform arbitrary cueing, optimum coding rate change, and resolution change corresponding to the access line type, network congestion level, and user terminal processing capability.

(6)視聴率に対応したコンテンツ又はライブ配信サービスを行う。  (6) Provide content or live distribution service corresponding to audience rating.

(7)ユーザが要求したデータの有無の判定を高速化する。  (7) Speed up the determination of the presence or absence of data requested by the user.

(8)ユーザから要求された新コンテンツ又は新ライブ、新符号化方式、及び新符号化レートのデータのヒットミスを少なくする。  (8) To reduce hit mistakes in data of new contents or new live requested by the user, new encoding method, and new encoding rate.

(9)階層符号化において、符号化レート及び解像度の変更の効率化を図る。  (9) To improve the efficiency of changing the coding rate and resolution in hierarchical coding.

先行技術文献Prior art documents

・特開2000-228669号
・特開2001-54095号
・特開2001-54094号
・特開平10-108160号
・特開2000-299702号
-JP2000-228669-JP2001-54095-JP2001-54094-JP10-108160-JP2000-299702

上記の課題を解決するため、本発明のストリーム・サーバは、1つ以上のトランスコーダと、データを格納するキャッシュ型データベースと、コンテンツ又はライブ、符号化方式、及び符号化レートに関して要求されたデータが該キャッシュ型データベースに格納されていないとき、該キャッシュ型データベースに該要求されたデータが格納されるように該トランスコーダ及び該キャッシュ型データベースを連携して制御するヒット/ミス判定部と、を備え、ヒット/ミス判定部はさらに要求されたコンテンツ又はライブ、及び符号化方式に対応する符号化レートの内前記要求された符号化レートに最も近い符号化レートを検索し、前記要求された符号化レートと検索された要求に最も近い符号化レートの差分絶対値が所定の閾値以下のとき、要求データが該キャッシュ型データベースに格納されていると判断することを特徴としていIn order to solve the above problems, the stream server of the present invention includes one or more transcoders, a cached database for storing data, and data requested for content or live, encoding scheme, and encoding rate. Is not stored in the cache type database, a hit / miss determination unit that controls the transcoder and the cache type database in cooperation with each other so that the requested data is stored in the cache type database. provided, the hit / miss judgment unit searches for further requested content or live, and closest coding rate on the inner the requested coding rate coding rate corresponding to the encoding scheme, which is the required When the absolute difference between the encoding rate and the encoding rate closest to the retrieved request is less than or equal to a predetermined threshold The request data it is and determines that that are stored in the cache database.

すなわち、トランスコーダは、通常の如く、指定されたコンテンツ又はライブを、指定された符号化方式の指定された符号化レートのデータに変換する。このデータをキャッシュ型データベースは格納する。   That is, as usual, the transcoder converts the designated content or live into data of the designated coding rate of the designated coding method. This data is stored in the cache database.

ヒット/ミス判定部は、符号化方式、及び符号化レートに関して要求されたデータが該キャッシュ型データベースに格納されていないとき、要求されたデータをキャッシュ型データベースに格納することを、トランスコーダ及びキャッシュ型データベースが連携して制御する。   The hit / miss determination unit is configured to store the requested data in the cache type database when the requested data regarding the encoding method and the encoding rate is not stored in the cache type database. Type database controls in cooperation.

これにより、キャッシュ型データベースは、例えばユーザ端末から要求されたコンテンツ又はライブを、要求された符号化方式の要求された符号化レートのデータとして格納することになり、各ユーザ端末は、要求した符号化方式の符号化レートのコンテンツ配信又はライブ配信を実現することが可能になる。   Thereby, the cache type database stores, for example, the content or live requested from the user terminal as data of the requested encoding rate of the requested encoding method, and each user terminal stores the requested code. It is possible to realize content distribution or live distribution at a coding rate of the encoding method.

なお、ここで言うキャッシュ型データベース及びトランスコーダは、後述するそれぞれ制御/調停部が含んでいるものとするが、以下において、キャッシュ型データベースをキャッシュ型データベース本体とその制御/調停部に分け、トランスコーダをトランスコーダとその制御/調停部に分けて表示することがある。   It should be noted that the cache type database and transcoder mentioned here are assumed to be included in the respective control / arbitration units described later, but in the following, the cache type database is divided into a cache type database main body and its control / arbitration unit, The coder may be displayed separately for the transcoder and its control / arbiter.

また、上記のトランスコーダエンコーダ又はCODECであることが可能である。 Further, the transcoder can be a encoder or CODEC.

すなわち、ランスコーダには、CODEC、及びエンコーダを含むものとする。例えば、ライブ配信の場合、トランスコーダの代わりにエンコーダを用いることが可能である。 That is, the transcoders, CODEC, and shall include an encoder. For example, in the case of live distribution, an encoder can be used instead of a transcoder.

また、上記のキャッシュ型データベースが、同一のコンテンツ又はライブ及び符号化方式に対して異なる符号化レートの該データをそれぞれ格納する複数のラインを有することができる。 In addition, the cache database may have a plurality of lines for storing the data at different encoding rates for the same content or live and encoding schemes.

すなわち、キャッシュ型データベースは、複数のラインを有し、これらのラインには、それぞれ、例えば、同一のコンテンツ及び符号化方式に対して異なる符号化レートに変換したデータが格納される。   In other words, the cache database has a plurality of lines, and for example, data converted into different encoding rates for the same content and encoding scheme is stored in each of these lines.

これにより、不特定多数のユーザ端末に対してマルチキャスト型コンテンツ配信又はライブ配信を実現する。すなわち、コンテンツ又はライブ、符号化方式、さらには符号化レートを各ユーザ端末に対応して配信するワンソース・マルチユースを実現することが可能になる。   As a result, multicast content distribution or live distribution is realized for an unspecified number of user terminals. That is, it is possible to realize one-source multi-use that distributes content or live, an encoding method, and an encoding rate corresponding to each user terminal.

また、ーザ端末との間で、呼制御、又は該データの配信の開始制御、一時停止制御、若しくは巻戻し制御に関するネゴシエーションを行い、その結果を該ヒット/ミス判定部に通知する呼制御/ネゴシエーション処理部をさらに有し、該ヒット/ミス判定部が、該結果に基づき該トランスコーダ及び該キャッシュ型データベースに対する連携制御を行うことが可能である。 Further, between the User chromatography The terminal, call control, or start control of the distribution of the data, pause control, or rewind negotiate about control, call control for notifying the result to the hit / miss judgment unit It is possible to further include a / negotiation processing unit, and the hit / miss determination unit can perform cooperative control on the transcoder and the cache type database based on the result.

すなわち、呼制御/ネゴシエーション処理部はユーザ端末との間で、呼制御、又は該データの配信の開始制御、一時停止制御、若しくは巻戻しのネゴシエーションを行う。   That is, the call control / negotiation processing unit performs call control or start control, temporary stop control, or rewind negotiation with the user terminal.

この結果に基づき、ヒット/ミス判定部は、キャッシュ型データベースに格納されたデータの配信の開始、一時停止、又は巻戻し制御を行う。   Based on this result, the hit / miss determination unit performs the start, pause, or rewind control of the data stored in the cache database.

これにより、コンテンツ配信に対する開始、一時停止、巻戻制御が可能になるとともにライブ配信をデータをキャッシュ型データベースに格納後、行うことにより、ライブ配信に対する開始、一時停止、巻戻制御も可能になる。   This enables start, pause, and rewind control for content distribution, and also enables start, pause, and rewind control for live distribution by performing live distribution after storing the data in a cache database. .

また、本発明は、さらに、ユーザ端末との間のネットワーク負荷、コンテンツサーバの混雑度、又はユーザ端末の処理能力の少なくともいずれか1つを監視し、監視結果を該ヒット/ミス判定部に与えるネットワーク監視部を有し、該ヒット/ミス判定部が該監視結果に基づき最適符号化レートを決定することができる。   The present invention further monitors at least one of the network load with the user terminal, the congestion level of the content server, or the processing capability of the user terminal, and gives the monitoring result to the hit / miss determination unit. A hitch / miss determination unit can determine the optimum encoding rate based on the monitoring result.

すなわち、ネットワーク監視部は、ユーザ端末との間のネットワーク負荷、コンテンツサーバの混雑度、又はユーザ端末の処理能力を監視する。この監視結果に基づきヒット/ミス判定部は、各ユーザ端末に対する最適な符号化レートを決定する。   That is, the network monitoring unit monitors the network load with the user terminal, the congestion level of the content server, or the processing capability of the user terminal. Based on the monitoring result, the hit / miss determination unit determines an optimum encoding rate for each user terminal.

これにより、例えば、ネットワーク負荷、コンテンツサーバの混雑度、ユーザ端末の現在の処理能力等をリアルタイムで考慮した符号化レートのコンテンツ配信又はライブ配信が可能になる。   As a result, for example, content distribution or live distribution at an encoding rate that considers the network load, the congestion level of the content server, the current processing capability of the user terminal, and the like in real time becomes possible.

すなわち、与えられた環境の中で、ユーザに対して、より快適なコンテンツ配信又はライブ配信をリアルタイムに制御することが可能になる。   That is, it becomes possible to control more comfortable content distribution or live distribution in real time for a user in a given environment.

また、上記において、所定のプロトコルを実装し、該所定プロトコルに基づきユーザ端末との間の通信処理を行うプロトコル実装処理部をさらに有することができる。 Further, in the above, it is possible to further include a protocol implementation processing unit that implements a predetermined protocol and performs communication processing with the user terminal based on the predetermined protocol.

すなわち、プロトコル実装処理部は、本ストリーム・サーバとユーザ端末との間の通信処理を行うプロトコルを実装している。この実装されたプロトコルに基づき、コンテンツ配信又はライブ配信の及びそれらの制御を実行することができる。   That is, the protocol implementation processing unit implements a protocol for performing communication processing between the stream server and the user terminal. Based on this implemented protocol, content distribution or live distribution and their control can be performed.

また、上記のプロトコル実装処理部が、少なくともIPヘッダ処理部、UDPヘッダ処理部、RTPヘッダ処理部、RTCPヘッダ処理部、及びRTSPヘッダ処理部の中のいずれか1つを備えることができる。 Further, the protocol implementation processing unit can include at least one of an IP header processing unit, a UDP header processing unit, an RTP header processing unit, an RTCP header processing unit, and an RTSP header processing unit.

これにより、IP、UDP、RTP、RTCP、RTSP等のプロトコルに基づきコンテンツ配信又はライブ配信及びそれらの制御することが可能になる。   This makes it possible to perform content distribution or live distribution and control thereof based on protocols such as IP, UDP, RTP, RTCP, and RTSP.

また、上記のプロトコル実装処理部が、MPEGシーケンスヘッダ処理部を備えていることができる。 In addition, the protocol implementation processing unit can include an MPEG sequence header processing unit.

これにより、アクセス回線種別、ネットワークの混雑度、又はユーザ端末能力を考慮した、MPEG符号化方式の最適符号化レートの変更及び解像度変更、並びに任意の映像の頭出し機能等が容易になる。   As a result, it is possible to easily change the optimum encoding rate and resolution of the MPEG encoding method, and to search for an arbitrary video in consideration of the access line type, network congestion level, or user terminal capability.

また、上記のトランスコーダ、入力した少なくとも素材データ、トランスコードデータ、及びライブデータの内のいずれか1つを該指定された符号化方式の指定された符号化レートのデータに変換することができる。 Further, the transcoder may convert at least one of the input material data, transcode data, and live data into data of a specified encoding rate of the specified encoding method. it can.

すなわち、トランスコーダは、例えば、ソースデータベース装置から素材データ又はトランスコードデータを入力し、映像入力装置からライブデータを入力して該データに変換することができる。   That is, the transcoder can input material data or transcode data from a source database device, for example, and can input live data from a video input device and convert it into the data.

なお、ストリーム・サーバとソースデータベース装置及び映像入力装置との接続は、直接接続及びネットワークを介した接続のいずれでもよい。   The connection between the stream server, the source database device, and the video input device may be either a direct connection or a connection via a network.

また、上記のヒット/ミス判定部が、要求されたコンテンツ又はライブの検索、その符号化方式の検索、符号化レートの検索、及びデータが有効であるか否かの検索の順序を所定の順序で行い要求データのヒット/ミス判定を行うことができる。 In addition, the hit / miss determination unit determines the order of the requested content or live search, the search for the encoding method, the search for the encoding rate, and the search for whether the data is valid or not in a predetermined order. It is possible to perform hit / miss judgment of request data.

すなわち、ヒット/ミス判定部は、例えば、要求されたコンテンツ又はライブ及びその符号化方式の検索、符号化レートの検索、及びデータが有効であるか否かの検索の順序で要求データのヒット/ミス判定を行う。   That is, the hit / miss determination unit, for example, searches for the requested content or live and its encoding method, searches for the encoding rate, and the hit / miss of the requested data in the search order of whether the data is valid. Make a mistake decision.

これにより、ヒット/ミス判定が容易になると共に、ハードウェアの大幅な削減が可能になる。   This facilitates hit / miss determination and enables a significant reduction in hardware.

また、上記のヒット/ミス判定部が、該要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータが該キャッシュ型データベースに格納されているか否かの判定に、該符号化レートが許容範囲に入っている否かを判定することができる。 The hit / miss determination unit determines whether the requested content or live, encoding method, and encoding rate data is stored in the cache type database. It can be determined whether or not it is within the allowable range.

すなわち、該ヒット/ミス判定部が、該要求されたコンテンツ又はライブ、符号化方式、及び符号化レートに変換されたのデータが該キャッシュ型データベースに格納されているか否かの判定するとき、例えば、要求された符号化レートと同一符号化レートでなく、要求された符号化レートから許容範囲にある符号化レートのデータもヒットしたものとみなす。   That is, when the hit / miss determination unit determines whether or not the requested content or data converted to live, encoding method, and encoding rate is stored in the cache type database, for example, Therefore, it is considered that data having an encoding rate that is not within the same encoding rate as the requested encoding rate but within an allowable range from the requested encoding rate is hit.

これにより、要求された符号化レートの代わりに、許容範囲内の符号化レートのデータを配信することが可能になり、要求された全ての符号化レートのデータを格納する必要がなくなり、効率的にキャッシュ型データベースを運用することが可能になるとともに、安定したコンテンツ配信及びライブ配信が実現する。   As a result, instead of the requested encoding rate, it is possible to distribute data of an encoding rate within an allowable range, and it is not necessary to store data of all the requested encoding rates, which is efficient. In addition, it is possible to operate a cache type database and realize stable content distribution and live distribution.

また、上記のヒット/ミス判定部が、該要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータが該キャッシュ型データベースに格納されていないとき、該要求されたコンテンツ又はライブ、要求された符号化方式であり、該要求された符号化レートに近い符号化レートのデータを破棄し、該データが格納されていた位置に、該要求されたデータを格納するように該トランスコーダ及び該キャッシュ型データベースを連携して制御することができる。 In addition, when the hit / miss determination unit does not store the requested content or live, encoding method, and encoding rate data in the cache database, the requested content or live, request The coding method, discarding data at a coding rate close to the requested coding rate, and storing the requested data at the location where the data was stored. The cache type database can be controlled in cooperation.

すなわち、ヒット/ミス判定部は、該要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータが該キャッシュ型データベースに格納されていなとき、該要求されたコンテンツ又はライブであって要求された符号化方式であるが、該要求された符号化レートに近い符号化レートのデータを検索して破棄する。   That is, when the requested content or live, encoding method, and encoding rate data are not stored in the cache-type database, the hit / miss determination unit requests the requested content or live. However, the data of the encoding rate close to the requested encoding rate is retrieved and discarded.

そして、ヒット/ミス判定部は、該データが格納されていた位置に、該要求されたデータを格納するように該トランスコーダ及び該キャッシュ型データベースを連携して制御する。   The hit / miss determination unit controls the transcoder and the cache database in cooperation with each other so that the requested data is stored at the position where the data is stored.

これにより、要求されたデータをユーザ端末に配信することが可能になる。   This makes it possible to distribute the requested data to the user terminal.

また、上記のヒット/ミス判定部が、低視聴率のコンテンツデータ又はライブデータ、又は低視聴率の符号化レートのデータを破棄することができる。 In addition, the hit / miss determination unit described above can discard content data or live data with a low audience rating, or data with a coding rate with a low audience rating.

これにより、該キャッシュ型データベースのサイズを削減することが可能になるとともに、高視聴率のコンテンツ又はライブのデータを保持され続けるため、キャッシュ型データベースのヒット率も高くなる。   As a result, the size of the cache database can be reduced, and content with high audience rating or live data can be retained, and the hit rate of the cache database is also increased.

また、上記のキャッシュ型データベースは、該ネットワーク監視部から与えられた、該要求されたデータについて、その視聴開始時刻情報、停止時刻情報、及び変更時刻情報を格納し、該ヒット/ミス判定部が、該情報に基づきヒット/ミス判定を行うことができる。 In addition, the cache type database stores the viewing start time information, stop time information, and change time information for the requested data given from the network monitoring unit, and the hit / miss determination unit The hit / miss determination can be performed based on the information.

すなわち、該キャッシュ型データベースは、該ネットワーク監視部から与えられた、該要求されたデータについて、その視聴開始時刻情報、停止時刻情報、及び変更時刻情報を格納する。該ヒット/ミス判定部が、該情報に基づき、例えば、リアルタイムな視聴率を計算し、この視聴率に基づきヒット/ミス判定を行う。   That is, the cache type database stores the viewing start time information, stop time information, and change time information for the requested data given from the network monitoring unit. The hit / miss determination unit calculates, for example, a real-time audience rating based on the information, and performs hit / miss determination based on the audience rating.

これにより、ヒット/ミス判定部は、例えば、リアルタイムな視聴率を考慮したヒット/ミス判定を行うことが可能になる。   Thereby, for example, the hit / miss determination unit can perform hit / miss determination in consideration of real-time audience rating.

また、上記のヒット/ミス判定部が、低視聴率のコンテンツデータ又はライブデータ、低視聴率の符号化方式、又は低視聴率の符号化レートのデータの内の少なくとも1つを破棄して、該破棄されたデータが格納されていた場所に、要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータを格納するように該トランスコーダ及びキャッシュ型データベースに指示することができる。 In addition, the hit / miss determination unit discards at least one of content data or live data with low audience rating, encoding method with low audience rating, or data with encoding rate with low audience rating, The transcoder and cache database can be instructed to store the requested content or live, encoding scheme, and encoding rate data where the discarded data was stored.

すなわち、ヒット/ミス判定部は、例えば、要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータを格納する場所がキャッシュ型データベース内に無いとき、低視聴率のコンテンツデータ又はライブデータ、低視聴率の符号化方式、又は低視聴率の符号化レートのデータを破棄する。   That is, the hit / miss determination unit, for example, when there is no location in the cache database that stores the requested content or live, encoding method, and encoding rate data, the content data or live data with low audience rating The data of the encoding method of the low audience rating or the data of the encoding rate of the low audience rating is discarded.

そして、破棄したデータが格納されていた場所に、要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータを格納する。   Then, the requested content or live data, encoding method, and encoding rate data are stored in the location where the discarded data was stored.

これにより、要求されたコンテンツ又はライブ、符号化方式、及び符号化レートのデータを格納する場所を確保することが可能になる。   This makes it possible to secure a location for storing the requested content or live, encoding method, and encoding rate data.

また、該キャッシュ型データベースのサイズを削減することが可能になるとともに、高視聴率のコンテンツ又はライブのデータが保持され続ける。   In addition, it is possible to reduce the size of the cache type database, and contents or live data with a high audience rating continue to be retained.

これにより、キャッシュ型データベースのヒット率も高くなり、効率的なキャッシュ型データベースの運用を実現することができる。   As a result, the hit rate of the cache database is also increased, and an efficient operation of the cache database can be realized.

また、上記のヒット/ミス判定部は、未使用トランスコーダがあるとき、このトランスコーダ及び該キャッシュ型データベースを制御して、新規コンテンツ又は新規ライブを所定符号化レートの所定符号化方式のデータに変換し、該キャッシュ型データベースに格納することができる。 In addition, when there is an unused transcoder, the hit / miss determination unit controls the transcoder and the cache type database so that new content or new live is converted into data of a predetermined encoding method at a predetermined encoding rate. It can be converted and stored in the cache database.

すなわち、ヒット/ミス判定部は、新規コンテンツ又は新規ライブがあるときで、且つ使用していないトランスコーダがあるとき、新規コンテンツ又は新規ライブを所定符号化レートの所定符号化方式のデータに変換し、該キャッシュ型データベースに格納するように該トランスコーダ及び該キャッシュ型データベースを制御する。   That is, when there is new content or new live and there is a transcoder that is not used, the hit / miss determination unit converts the new content or new live into data of a predetermined encoding method at a predetermined encoding rate. The transcoder and the cache type database are controlled so as to be stored in the cache type database.

これにより、トランスコーダは、例えば、要求されたコンテンツの変換を行っていないときで且つキャッシュ型データベースに空きがあるとき、事前に新規コンテンツを所定符号化方式の所定符号化レートのデータに変換することが可能になる。この結果、トランスコーダ及びキャッシュ型データベースのアクセス競合を回避することが可能になるとともに、資源の有効活用が実現できる
さらに、本発明では、該トランスコーダが、空間スケーラビリティ、時間スケーラビリティ、又はSNRスケーラビリティによる階層符号化において、符号化レート変更対象階層及びその1つ上位の階層の符号化データのみ新規に作成し、該新規上位階層より伸長された復号データと現上位階層より伸長された復号データの差分絶対値の和が所定の閾値以下であるとき該新規作成された変更対象階層及び上位階層を現階層とすることが可能である。
As a result, the transcoder, for example, converts the new content into data of a predetermined encoding rate with a predetermined encoding method in advance when the requested content is not converted and when the cache database is empty. It becomes possible. As a result, it is possible to avoid access conflict between the transcoder and the cache type database, and it is possible to realize effective use of resources. In addition, in the present invention, the transcoder is based on spatial scalability, temporal scalability, or SNR scalability. In the hierarchical coding, only the encoded data of the coding rate change target layer and the one higher layer thereof is newly created, and the difference between the decoded data expanded from the new higher layer and the decoded data expanded from the current higher layer When the sum of absolute values is less than or equal to a predetermined threshold, the newly created change target hierarchy and higher hierarchy can be made the current hierarchy.

これにより、他に使用されている符号化レートデータに対して影響を与えることなく、ターゲットとなる符号化レートを変更することができる。   As a result, the target coding rate can be changed without affecting the coding rate data used elsewhere.

また、符号化レート変更対象階層及びその1つ上位の階層を新規作成するのみで、全上位階層のデータを新規に作成する必要がなくなり、莫大なハードウエアが必要でなくなるとともに、トランスコーダ等の資源の使用回数を少なくすることが可能になる。   Moreover, it is not necessary to newly create all the upper layer data by simply creating the coding rate change target layer and its upper layer, and a huge amount of hardware is not required. Resource usage can be reduced.

図1は、本発明に係るストリーム・サーバ100の一実施例を示している。このサーバ100は、トランスコーダ制御/調停部10、トランスコーダ20_1〜20_L(以下、符号20で総称することがある。)、データベース制御/調停部30、キャッシュ型データベース40、ヒット/ミス判定部50、ネットワーク監視部60、呼制御/ネゴシエーション処理部70、及びプロトコル実装処理部80で構成されている。   FIG. 1 shows an embodiment of a stream server 100 according to the present invention. The server 100 includes a transcoder control / arbitration unit 10, transcoders 20_1 to 20_L (hereinafter, may be collectively referred to as reference numeral 20), a database control / arbitration unit 30, a cache database 40, and a hit / miss determination unit 50. , A network monitoring unit 60, a call control / negotiation processing unit 70, and a protocol implementation processing unit 80.

キャッシュ型データベース40は、コンテンツデータ又はライブデータ(以下、コンテンツデータ及びライブデータをコンテンツデータで総称することがある。)を格納するライン43_1〜43_N(以下、符号43で総称することがある。)で構成されている。   The cache database 40 stores content data or live data (hereinafter, content data and live data may be collectively referred to as content data). It consists of

プロトコル実装処理部80は、IPヘッダ処理部81、UDPヘッダ処理部82、RTPヘッダ処理部83、MPEGシーケンスヘッダ処理部84、RTCPヘッダ処理部85、RTSPヘッダ処理部86で構成されている。   The protocol implementation processing unit 80 includes an IP header processing unit 81, a UDP header processing unit 82, an RTP header processing unit 83, an MPEG sequence header processing unit 84, an RTCP header processing unit 85, and an RTSP header processing unit 86.

ヒット/ミス判定部50は、キャッシュ型データベース40に要求データが格納されているか否かの確認を行い、ネットワーク監視部60はRTCPプロトコルでネットワークを監視し、呼制御/ネゴシエーション処理部70は、RTSPプロトコルで呼制御及びネゴシエーションを行う。   The hit / miss determination unit 50 checks whether the request data is stored in the cache database 40, the network monitoring unit 60 monitors the network using the RTCP protocol, and the call control / negotiation processing unit 70 Call control and negotiation are performed using the protocol.

図2(5)は、図1に示した、キャッシュ型データベース40のより詳細な構成例を示している。このデータベース40は、タグラム(TAG RAM)41、タグラム42、及びキャッシュ43で構成されている。   FIG. 2 (5) shows a more detailed configuration example of the cache database 40 shown in FIG. The database 40 includes a taggram (TAG RAM) 41, a taggram 42, and a cache 43.

タグラム41は、“MRU(Most Recently Used)”、“コンテンツ”、“符号化方式”、及び“タグラム42のアドレス”のフィールドから成るタグラム41_1〜41_Mで構成されている。   The taggram 41 is composed of taggrams 41_1 to 41_M including fields of “MRU (Most Recently Used)”, “content”, “encoding method”, and “address of taggram 42”.

タグラム41は、“コンテンツ”及び“符号化方式”単位に管理され、“コンテンツ”及び“符号化方式”には、それぞれ、例えば、コンテンツ情報及びその符号化方式情報が格納される。   The tag 41 is managed in units of “content” and “encoding method”, and for example, content information and encoding method information thereof are stored in the “content” and “encoding method”, respectively.

タグラム41の“MRU”には、ネゴシエーション時又はネットワーク監視((RRタイプのRTCPパケットフィードバック)時の符号化レート変更時における、視聴開始/停止/変更時刻情報等の視聴履歴情報(例えば、視聴率情報)が格納される。   The “MRU” in the taggram 41 includes viewing history information such as viewing start / stop / change time information at the time of negotiation or when changing the encoding rate during network monitoring ((RR type RTCP packet feedback)) Information) is stored.

タグラム41の“タグラム42のアドレス”には、“コンテンツ”及び“符号化方式”に対応するタグラム42の先頭アドレスが格納される。   In the “address of taggram 42” of the taggram 41, the head address of the taggram 42 corresponding to “content” and “encoding method” is stored.

タグラム42は、“MRU”、“符号化レート”、及び“階層”のフィールドから成るタグラム42_1〜42_N(以下、符号42で総称することがある。)で構成され、“符号化レート”単位に管理される。   The taggram 42 is composed of taggrams 42_1 to 42_N (hereinafter, may be collectively referred to as reference numeral 42) including “MRU”, “encoding rate”, and “hierarchy” fields. Managed.

タグラム42の“MRU”には、符号化レート変更時における、視聴開始/停止/変更時刻情報等の視聴履歴情報(視聴率情報)が格納される。   “MRU” in the taggram 42 stores viewing history information (viewing rate information) such as viewing start / stop / change time information when the coding rate is changed.

“符号化レート”、及び“階層”には、それぞれ、符号化レート情報及びその階層が格納される。   “Encoding rate” and “hierarchy” store encoding rate information and its hierarchy, respectively.

キャッシュ43は、それぞれ、データ1〜データX1、…、データ1〜データXNから成るライン43_1〜43_N(以下、符号43で総称することがある。)で構成されている。各ライン43は、各データの有効/無効を示す有効フィールドをさらに含んでいる。各データ1〜X1等に格納される、コンテンツデータの管理単位はMPEGデータの場合は、GOP(Group Of Picture)である。   The cache 43 is composed of lines 43_1 to 43_N (hereinafter may be collectively referred to as reference numeral 43) each including data 1 to data X1,..., Data 1 to data XN. Each line 43 further includes a valid field indicating validity / invalidity of each data. In the case of MPEG data, the management unit of content data stored in each data 1 to X1 is GOP (Group Of Picture).

このライン43_1〜43_Nは、それぞれ、タグラム42_1〜42_Nに対応しており、この対応関係は、例えば、タグラム42にライン43の先頭アドレスを示すフィールド(図示せず)を設けて示す。   The lines 43_1 to 43_N correspond to the tagograms 42_1 to 42_N, respectively, and this correspondence is shown by providing a field (not shown) indicating the head address of the line 43 in the taggram 42, for example.

同図(2)は、同図(5)に示したタグラム41_1をより詳細に示しており、このタグラム41_1には、管理単位のコンテンツ及び符号化方式が、それぞれ「コンテンツ710_1」及び「MPEG2」であり、そのMRUが視聴履歴01〜視聴履歴0xであることを示している。   FIG. (2) shows in more detail the taggram 41_1 shown in FIG. (5). The content of the management unit and the encoding method are “content 710_1” and “MPEG2”, respectively. This indicates that the MRU is viewing history 01 to viewing history 0x.

さらに、タグラム41_1には、「コンテンツ710_1」及び「MPEG2」に対応するタグラム42(符号化レート)の先頭アドレスが、「0x0」,「0x1」,…,「0xy」であることが示されている。   Further, the taggram 41_1 indicates that the head addresses of the taggram 42 (encoding rate) corresponding to “content 710_1” and “MPEG2” are “0x0”, “0x1”,..., “0xy”. Yes.

同図(3)は、同図(5)に示したタグラム42_1,42_2,…のより詳細例を示している。この例では、タグラム41_1のタグラム42アドレス=“0x0”で指定されたタグラム42_1が示されている。   FIG. 3 (3) shows a more detailed example of the tags 42_1, 42_2,... Shown in FIG. In this example, a tagogram 42_1 designated by a taggram 42 address = “0x0” of the taggram 41_1 is shown.

このタグラム42_1は、符号化レート=“1Mbps”の階層が“1”であり、そのMRUが視聴履歴11〜1Xであることを示している。   This taggram 42_1 indicates that the hierarchy of the coding rate = “1 Mbps” is “1” and the MRU is the viewing history 11 to 1X.

ストリーム・サーバ100の基本的動作として、ヒット/ミス判定部50が、ユーザ端末からの契機〔1〕ネゴシエーション時、又は契機〔2〕RRタイプのRTCPパケットフィードバック時(ネットワーク監視時)に、それぞれキャッシュ型データベース40のヒット/ミス判定を行う。   As a basic operation of the stream server 100, the hit / miss determination unit 50 caches each time when the user terminal triggers [1] negotiation or when [2] RR type RTCP packet feedback (network monitoring). The hit / miss judgment of the type database 40 is performed.

また、ヒット/ミス判定部50は、契機〔1〕又は〔2〕以外の契機〔3〕未使用のトランスコーダが存在し、且つ人気コンテンツがソースデータベースに新規格納され、キャッシュ型データベース40には未格納の場合、自律的な連携動作でキャッシュ型データベース40のヒット/ミス判定を行い、人気コンテンツの符号化データをキャッシュ型データベース40に格納する。   In addition, the hit / miss determination unit 50 has an opportunity other than opportunity [1] or [2] [3] unused transcoders exist, and popular content is newly stored in the source database. When not stored, the hit / miss determination of the cache database 40 is performed by an autonomous cooperative operation, and the encoded data of the popular content is stored in the cache database 40.

これにより、例えば、人気コンテンツ配信開始時における不特定多数ユーザからの配信要求が競合した際においても、通常はキャッシュ型データベースより読み出すことができる。このように、有限数のトランスコーダ資源の有効活用ができるとともに、ユーザ端末(受信側)に対する配信サービスの即応性が実現できる。   Thereby, for example, even when a distribution request from an unspecified number of users at the start of popular content distribution competes, it can usually be read from a cache database. In this way, a finite number of transcoder resources can be effectively used, and the responsiveness of the distribution service to the user terminal (receiving side) can be realized.

図3は、ストリーム・サーバ100のヒット/ミス判定部の基本的な動作手順を示している。ストリーミング技術においては、図2に示したように、例えば、コンテンツ(又はライブ)710_1及び符号化方式(MPEG2)に対して複数の符号化レート(1Mbps,5Mbps,…,20Mbps)がサポートされる。   FIG. 3 shows a basic operation procedure of the hit / miss determination unit of the stream server 100. In the streaming technology, as shown in FIG. 2, for example, a plurality of encoding rates (1 Mbps, 5 Mbps,..., 20 Mbps) are supported for the content (or live) 710_1 and the encoding method (MPEG2).

そこで、ヒット/ミス判定部50は、キャッシュ型データベース40のヒット/ミス判定を下記の(T1)〜(T3)の3段階で行う。   Therefore, the hit / miss determination unit 50 performs hit / miss determination of the cache database 40 in the following three stages (T1) to (T3).

(T1)タグラム41を検索して、要求コンテンツ又はライブ及び符号化方式が格納されているか否かを判定する(図2(1)の判定T1参照)。  (T1) The taggram 41 is searched to determine whether the requested content or the live and encoding method is stored (see determination T1 in FIG. 2 (1)).

(T2)次に、タグラム42の検索を検索して、要求符号化レートが格納されているか否かを判定する(図2(1)の判定T2参照)。  (T2) Next, the search for the taggram 42 is searched to determine whether or not the requested encoding rate is stored (see determination T2 in FIG. 2 (1)).

(T3)最後に、キャッシュ43の「有効(Valid)フィールド」を検索して、要求データが格納されているか否かを判定する(図2(1)の判定T3参照)。  (T3) Finally, the “valid (valid) field” of the cache 43 is searched to determine whether or not the request data is stored (see determination T3 in FIG. 2 (1)).

[1]ネゴシエーション時
図4は、本発明のストリーム・サーバ100のネゴシエーション時(契機〔1〕)における動作手順例を示している。同図及び図1、図2を参照してネゴシエーション時における動作手順を以下に説明する。
[1] At Negotiation FIG. 4 shows an example of an operation procedure when the stream server 100 of the present invention is negotiated (trigger [1]). The operation procedure at the time of negotiation will be described below with reference to FIG.

なお、この説明においては、図1に示したソースデータベース700に格納されているコンテンツ710をユーザ端末170が要求した場合について説明する。   In this description, the case where the user terminal 170 requests the content 710 stored in the source database 700 shown in FIG. 1 will be described.

ユーザ端末がライブ720を要求した場合も同様であるが、ライブ配信の場合、トランスコーダ20としてエンコーダを用いることもでき、同図に示したトランスコーダ制御/調停部10はエンコーダ制御/調停部10になる。   The same applies when the user terminal requests live 720, but in the case of live distribution, an encoder can be used as the transcoder 20, and the transcoder control / arbiter 10 shown in FIG. become.

図4において、破線で囲まれたステップS100はヒット/ミス判定部50のキャッシュ型データベース検索手順を示し、破線で囲まれたステップS200はトランスコーダ制御/調停部10、データベース制御/調停部30、及びヒット/ミス判定部50におけるトランスコーダエントリ手順を示し、破線で囲まれたステップS300はプロトコル実装処理部80のプロトコル実装処理手順を示している。   In FIG. 4, step S100 surrounded by a broken line indicates a cache type database search procedure of the hit / miss determination unit 50, and step S200 surrounded by a broken line indicates a transcoder control / arbitration unit 10, a database control / arbitration unit 30, In addition, a transcoder entry procedure in the hit / miss determination unit 50 is shown, and step S300 surrounded by a broken line shows a protocol implementation processing procedure of the protocol implementation processing unit 80.

図1において、呼制御/ネゴシエーション処理部70は、ユーザ端末170から呼制御/ネゴシエーション動作によりストリーム・サーバ100とユーザ端末170との間のコネクションを確立する。   In FIG. 1, a call control / negotiation processing unit 70 establishes a connection between the stream server 100 and the user terminal 170 by a call control / negotiation operation from the user terminal 170.

ステップS110〜S130:ヒット/ミス判定部50は、ユーザ端末170が要求したコンテンツデータ、符号化方式、及び符号化レート、例えば、コンテンツ710_1、MPEG2、及び5Mbpsと一致するデータがキャッシュ型データベース40に格納されているか否かを確認する。 Steps S110 to S130 : The hit / miss determination unit 50 stores data that matches the content data requested by the user terminal 170, the encoding method, and the encoding rate, for example, the content 710_1, MPEG2, and 5 Mbps in the cache database 40. Check whether it is stored.

すなわち、図2において、ヒット/ミス判定部50は、ユーザ端末170から同図(1)に示した(T0)例えば、コンテンツ名=コンテンツ710_1、符号化方式=“MPEG2”、及び符号化レート=“5Mbps”の要求を受ける。   That is, in FIG. 2, the hit / miss determination unit 50 receives (T0), for example, content name = content 710_1, encoding method = “MPEG2”, and encoding rate = shown from the user terminal 170 in FIG. Receives a “5Mbps” request.

なお、ネゴシエーション時には、同図(1)に示したGOP番号の要求はない。   At the time of negotiation, there is no request for the GOP number shown in FIG.

そこで、ヒット/ミス判定部50は、同図(2)において、タグラム41から、コンテンツ710_1及び符号化方式=“MPEG2”を検索する同図(1)に示したヒット/ミス判定T1を行い、タグラム41_1にヒットする。   Therefore, the hit / miss determination unit 50 performs the hit / miss determination T1 shown in FIG. 1A for searching the content 710_1 and the encoding method = “MPEG2” from the tag 41 in FIG. Hit Tagram 41_1.

さらに、ヒット/ミス判定部50は、タグラム41_1のタグラム42アドレスフィールドに示された先頭アドレス=0x0,0x1,…,0xyにそれぞれ対応するタグラム42_1〜42_yの中から符号化レート=“5Mbps”を検索する同図(1)に示したヒット/ミス判定T2を行い、タグラム42_2にヒットする。   Furthermore, the hit / miss determination unit 50 sets the encoding rate = “5 Mbps” from the tags 42_1 to 42_y corresponding to the head addresses = 0x0, 0x1,..., 0xy indicated in the taggram 42 address field of the taggram 41_1. The hit / miss determination T2 shown in FIG. 1 (1) to be searched is performed, and the taggram 42_2 is hit.

ステップS180:さらに、ヒット/ミス判定部50は、ヒットしたタグラム42_2に対応するライン43_2のデータが有効であるか否かを判定するヒット/ミス判定T3(図2(4)参照)を行う。 Step S180 : Further, the hit / miss determination unit 50 performs a hit / miss determination T3 (see FIG. 2 (4)) for determining whether or not the data of the line 43_2 corresponding to the hit taggram 42_2 is valid.

符号化されたデータが有効である場合、ヒット/ミス判定部50は、有効なデータ“1”をデータ802として読み出しプロトコル実装処理部80に与える。この動作を繰り返すことにより、ライン43_2のデータ1〜データX2は、順次、プロトコル実装処理部80に与えられることになる。   When the encoded data is valid, the hit / miss determination unit 50 reads the valid data “1” as data 802 and gives it to the protocol implementation processing unit 80. By repeating this operation, data 1 to data X2 of the line 43_2 are sequentially given to the protocol implementation processing unit 80.

データが無効である場合、ヒット/ミス判定部50は、トランスコーダエントリのステップS210に進む。   If the data is invalid, the hit / miss determination unit 50 proceeds to step S210 of the transcoder entry.

ステップS310〜S340:プロトコル実装処理部80は、MPEGシーケンスヘッダ、RTPヘッダ、UDPヘッダ、及びIPヘッダをデータ801に挿入した後、IPネットワーク140を経由して、ユーザ端末170にライン43_2に格納されたコンテンツの配信を開始する(図2(1)のデータ配信T4)。 Steps S310 to S340 : The protocol implementation processing unit 80 inserts the MPEG sequence header, RTP header, UDP header, and IP header into the data 801, and then stores them in the line 43_2 on the user terminal 170 via the IP network 140. Content distribution starts (data distribution T4 in FIG. 2 (1)).

ステップS140〜S170:ステップS110、S120でミスした(データが存在しない)場合、ヒット/ミス判定部50は、キャッシュ型データベース40の内から、データ未格納ライン43の検索、又は、予め設定された閾値aより低い視聴率のコンテンツの検索、低視聴率の符号化方式の検索、低視聴率の符号化レートの検索を行う。 Steps S140 to S170 : If there is a miss in step S110 or S120 (data does not exist), the hit / miss determination unit 50 searches the data unstored line 43 from the cache type database 40 or is set in advance. A search for content with an audience rating lower than the threshold a, a search for an encoding method with a low audience rating, and a search for an encoding rate with a low audience rating are performed.

すなわち、ヒット/ミス判定部50は、図2(5)において、データ未格納ライン43を検索し、無い(ミス)場合、タグラム41のMRUの内で閾値aより低い視聴率を示したコンテンツ/符号化方式を検索し、無い(ミス)場合、タグラム42のMRUの内で閾値aより低い視聴率を示した符号化レートを検索する。   That is, the hit / miss determination unit 50 searches the data unstored line 43 in FIG. 2 (5), and if there is no (miss), the content / When the encoding method is searched and there is no (miss), the encoding rate indicating the audience rating lower than the threshold value a in the MRU of the taggram 42 is searched.

ステップS210:上記の検索の1つにヒットした(ヒットラインがある)場合、ヒット/ミス判定部50は、トランスコーダ制御/調停部10及びデータベース制御/調停部30に対して、それぞれトランスコーダエントリ要求信号800及び信号801与える。 Step S210 : If one of the above searches is hit (there is a hit line), the hit / miss determination unit 50 sends the transcoder entry to the transcoder control / arbitration unit 10 and the database control / arbitration unit 30, respectively. A request signal 800 and a signal 801 are given.

トランスコーダ制御/調停部10は、例えば、トランスコーダ20_2が未使用である場合、トランスコーダエントリ要求信号800が示す、ユーザが要求したコンテンツ(素材又はトランスコード)710をソースデータベース700からトランスコーダ20_2に与える。   For example, when the transcoder 20_2 is not used, the transcoder control / arbiter 10 transmits the content (material or transcode) 710 requested by the user indicated by the transcoder entry request signal 800 from the source database 700 to the transcoder 20_2. To give.

未使用のトランスコーダが無い場合、ステップS290に進む。   If there is no unused transcoder, the process proceeds to step S290.

ステップS220:トランスコーダ20_2は、コンテンツ710に対してリアルタイムエンコード処理したデータをデータベース制御/調停部30に与える。データベース制御/調停部30は、キャッシュ型データベース40内の例えば未格納ライン(又は低視聴率ライン)43_1にエンコードされたデータを格納する(キャッシュフィル)。 Step S220 : The transcoder 20_2 provides the database control / arbiter 30 with the data subjected to the real-time encoding process for the content 710. The database control / arbiter 30 stores the encoded data in, for example, an unstored line (or low audience rating line) 43_1 in the cache database 40 (cache fill).

ステップS230:ヒット/ミス判定部50は、キャッシュフィルされたライン43_2からデータ802を読み出しプロトコル実装処理部80に与える。 Step S230 : The hit / miss determination unit 50 reads the data 802 from the cache-filled line 43_2 and provides it to the protocol implementation processing unit 80.

ステップS310〜S340:プロトコル実装処理部80は、上記のステップS310〜S340と同様に、IPネットワーク140を経由して、順次、ユーザ端末170に要求されたコンテンツ配信又はライブ配信を開始する。 Steps S310 to S340 : The protocol implementation processing unit 80 sequentially starts content distribution or live distribution requested by the user terminal 170 via the IP network 140 in the same manner as steps S310 to S340 described above.

ステップS290:上記のステップS140〜S170において、未格納ラインの検索、低視聴率のコンテンツの検索、低視聴率の符号化方式の検索、及び低視聴率の符号化レートの検索が全てミスの場合、又はステップS210において、未使用トランスコーダ20が無い(トランスコーダエントリ要求に失敗した)場合、ユーザ端末170からのエントリ要求は失敗となる。 Step S290 : In the above-described steps S140 to S170, when the unstored line search, the low audience rating content search, the low audience rating encoding method search, and the low audience rating encoding rate search are all missed. Alternatively, when there is no unused transcoder 20 in step S210 (transcoder entry request failed), the entry request from the user terminal 170 fails.

[2]ネットワーク監視時
図5は、ストリーム・サーバ100が、ユーザ端末170に対してコンテンツ配信又はライブ配信を行っている時、ユーザ端末170(図1参照)からRRタイプRTCPパケットを受信した時の動作手順を示している。
[2] During network monitoring FIG. 5 shows when the stream server 100 is performing content distribution or live distribution to the user terminal 170, and receives an RR type RTCP packet from the user terminal 170 (see FIG. 1). The operation procedure is shown.

この動作手順を、図2を参照して以下に説明する。図5においてステップS400はネットワーク監視手順を示し、ステップS500はキャッシュ型データベースの検索手順を示し、ステップS600はトランスコーダへのエントリ手順を示し、ステップS800は、プロトコル実装処理手順を示している。   This operation procedure will be described below with reference to FIG. In FIG. 5, step S400 shows a network monitoring procedure, step S500 shows a cache type database search procedure, step S600 shows a procedure for entry into a transcoder, and step S800 shows a protocol implementation processing procedure.

ステップS410:呼制御/ネゴシエーション処理部70は、ユーザ端末170から送信されたRRタイプのRTCPパケットを受信し、このパケットに含まれるフィードバック情報をヒット/ミス判定部50に与える。 Step S410 : The call control / negotiation processing unit 70 receives the RR type RTCP packet transmitted from the user terminal 170, and provides the hit / miss determination unit 50 with the feedback information included in this packet.

RRタイプRTCPパケットは、ストリームを受信したユーザ端末がストリームの受信状態(パケットの廃棄率(Fraction Lost)、累積パケット廃棄率(Cumulative Number of Packet Lost)、パケット到着間のゆらぎ(Interarrival Jitter))に関する情報をストリーム送信側にフィードバックするパケットである。   The RR type RTCP packet is related to the stream reception state (packet loss rate (Fraction Lost), cumulative packet loss rate (Cumulative Number of Packet Lost), fluctuation between packet arrivals (Interarrival Jitter)). This packet feeds back information to the stream transmission side.

この情報に基づき、ヒット/ミス判定部50は、視聴者数、視聴履歴、パケット廃棄率、累積パケット廃棄率、パケット到着間隔の揺らぎ等より、現在のネットワークの混雑度、ユーザ端末170の能力等を考慮した最適符号化レートを算出する。   Based on this information, the hit / miss determination unit 50 determines the current network congestion, the capability of the user terminal 170, etc. from the number of viewers, viewing history, packet discard rate, cumulative packet discard rate, fluctuation of packet arrival interval, etc. The optimum encoding rate is calculated in consideration of

すなわち、ヒット/ミス判定部50は、図2(1)のT0、すなわち、ユーザ端末170に対して配信しているコンテンツ名、符号化方式、符号化レート、及びGOP番号を決定する。   That is, the hit / miss determination unit 50 determines T0 in FIG. 2 (1), that is, the content name, encoding method, encoding rate, and GOP number distributed to the user terminal 170.

ステップS510:ヒット/ミス判定部50は、算出した最適符号化レートと一致するデータがキャッシュ型データベース40に格納されているか否かの確認を行う。 Step S510 : The hit / miss determination unit 50 checks whether or not the data matching the calculated optimal encoding rate is stored in the cache database 40.

すなわち、ヒット/ミス判定部50は、図2(2)及び(3)において、要求されたコンテンツ及び符号化方式に対する最適な符号化レートがあるか否かのヒット/ミス判定T1,T2を行う。   That is, the hit / miss determination unit 50 performs hit / miss determinations T1 and T2 in FIG. 2 (2) and (3) to determine whether there is an optimum encoding rate for the requested content and encoding method. .

ステップS590,S710:最適な符号化レートが存在する(ヒット)場合、ヒット/ミス判定部50は、符号化レートに対応するラインのデータが有効か否かのヒット/ミス判定T3を行う(同図(1)参照)。 Steps S590 and S710 : When an optimal encoding rate exists (hit), the hit / miss determination unit 50 performs hit / miss determination T3 as to whether or not the data of the line corresponding to the encoding rate is valid (same as above). refer graph1).

データがヒットした(有効の)場合、ヒット/ミス判定部50は、ヒットしたライン43から読み出したデータ802をプロトコル実装処理部80に与える。   When the data is hit (valid), the hit / miss determination unit 50 gives the data 802 read from the hit line 43 to the protocol implementation processing unit 80.

ステップS810〜S840:プロトコル実装処理部80は、MPEGシーケンスヘッダ、RTPヘッダ、UDPヘッダ、IPヘッダを挿入した最適符号化レートデータ802をユーザ端末170に、IPネットワーク140を経由して順次配信する。これにより、前の符号化レートデータに継続して最適符号化レートデータ802が、ユーザ端末170に配信されることになる。 Steps S810 to S840 : The protocol implementation processing unit 80 sequentially distributes the optimum coding rate data 802, into which the MPEG sequence header, RTP header, UDP header, and IP header are inserted, to the user terminal 170 via the IP network 140. As a result, the optimum coding rate data 802 is delivered to the user terminal 170 following the previous coding rate data.

ステップS590,S770:データがミスした(無効の)場合は、キャッシュには要求する符号化レートは存在するが、対象となるデータ自体が存在しない状態を示す。 Steps S590 and S770 : When data is missed (invalid), this indicates a state where the requested encoding rate exists in the cache but the target data itself does not exist.

そこで、ヒット/ミス判定部50は、信号800及び信号801をそれぞれトランスコーダ制御/調停部10及びデータベース制御/調停部30に与える。   Therefore, the hit / miss determination unit 50 provides the signal 800 and the signal 801 to the transcoder control / arbitration unit 10 and the database control / arbitration unit 30, respectively.

これらの信号800及び信号801に基づき、現在使用中のトランスコーダは、要求されたコンテンツを、要求された符号化方式で要求された符号化レートのデータにエンコードし、このデータは、ステップS510でヒットしたライン43に格納される(キャッシュフィル)。   Based on these signals 800 and 801, the currently used transcoder encodes the requested content into data of the requested encoding rate in the requested encoding scheme, and this data is received in step S510. Stored in the hit line 43 (cache fill).

ステップS780:ヒット/ミス判定部50は、ヒットライン43のデータを読み出して、プロトコル実装処理部80に与える。 Step S780 : The hit / miss determination unit 50 reads the data of the hit line 43 and gives it to the protocol implementation processing unit 80.

ステップS810〜S840:プロトコル実装処理部80は、MPEGシーケンスヘッダ、RTPヘッダ、UDPヘッダ、IPヘッダを挿入したデータ802をユーザ端末170に、IPネットワーク140を経由して順次配信する。 Steps S810 to S840 : The protocol implementation processing unit 80 sequentially distributes the data 802 with the MPEG sequence header, RTP header, UDP header, and IP header inserted to the user terminal 170 via the IP network 140.

これにより、最適符号化レートのデータが、ユーザ端末170に配信されることになる。   Thereby, the data of the optimum coding rate is distributed to the user terminal 170.

ステップS510,S520:最適符号化レートのデータが存在しない(ミス)場合、ヒット/ミス判定部50は、最適符号化レートに最も近い符号化データをキャッシュ型データベース40から検索する。 Steps S510 and S520 : When there is no data with the optimal encoding rate (miss), the hit / miss determination unit 50 searches the cache type database 40 for encoded data closest to the optimal encoding rate.

すなわち、ヒット/ミス判定部50は、図2(2)、(3)において、要求されたコンテンツ及び符号化方式に対応するタグラム41に対応するタグラム42の符号化レートの内で最適符号化ルートに最も近い符号化レート(比較対照符号化レート)を検索する。   That is, the hit / miss determination unit 50 in FIGS. 2 (2) and 2 (3), the optimum encoding route within the encoding rate of the tag 42 corresponding to the tag 41 corresponding to the requested content and encoding method. The closest encoding rate (comparison encoding rate) is searched.

ステップS530:差分絶対値x=|最適符号化レート−比較対象符号化レート|が予め設定された閾値b以下の場合、ヒット/ミス判定部50は、要求データが存在する(ヒット)とみなす。 Step S530 : When the difference absolute value x = | optimal coding rate−comparison target coding rate | is equal to or less than a preset threshold value b, the hit / miss determination unit 50 regards that the requested data exists (hit).

ステップS590:そして、ヒット/ミス判定部50は、ヒットとみなしたラインのデータが有効か否かのヒット/ミス判定T3を行い、有効である場合、データを読み出し、プロトコル実装処理部80に与える。 Step S590 : The hit / miss determination unit 50 performs a hit / miss determination T3 as to whether or not the data of the line regarded as a hit is valid, and if it is valid, reads the data and gives it to the protocol implementation processing unit 80 .

すなわち、ヒット/ミス判定部50は、図2(3)、(4)において、ヒットした符号化レートのタグラム42に対応するライン43から読み出した有効なデータ802をプロトコル実装処理部80に与える。以後の動作は、上記のステップS810〜S840と同様である。   That is, the hit / miss determination unit 50 provides the protocol implementation processing unit 80 with the valid data 802 read from the line 43 corresponding to the coding rate tag 42 that has been hit in FIGS. 2 (3) and 2 (4). Subsequent operations are the same as those in steps S810 to S840 described above.

これにより、最適符号化レートのデータではないが、許容範囲内の符号化レートのデータ802が、ユーザ端末170に配信されることになる。   As a result, the data 802 having the coding rate within the allowable range, but not the data having the optimum coding rate, is distributed to the user terminal 170.

ステップS540:差分絶対値xが、設定された閾値bより大きく閾値c以下である場合、ヒット/ミス判定部50は、要求データが存在せず(図2(1)のヒット/ミス判定T1,T2におけるミス判定)且つキャッシュ型データベース40に格納されている比較対象符号化レートのデータが不要である(RRタイプのRTCPパケットによる符号化レートの変更要求がある)ため、トランスコーダ制御/調停部10に対してトランスコーダエントリ要求信号800を与える。 Step S540 : If the difference absolute value x is greater than the set threshold value b and less than or equal to the threshold value c, the hit / miss determination unit 50 has no request data (hit / miss determination T1, FIG. 2 (1)). (Transmission control / arbiter) because the comparison coding rate data stored in the cache database 40 is unnecessary (the coding rate is changed by the RR type RTCP packet). A transcoder entry request signal 800 is given to 10.

ステップS610,S620:トランスコーダ制御/調停部10は、トランスコーダエントリ要求に対して、トランスコーダ20の内に未使用トランスコーダ20が存在する場合、素材データ又はトランスコードデータをソースとして、リアルタイムエンコード処理を行い、処理したデータをキャッシュ型データベース40内の比較対象符号化レートライン(ミスライン)に格納する(キャッシュフィル)。 Steps S610 and S620 : In response to the transcoder entry request, the transcoder control / arbiter 10 performs real-time encoding using the raw data or transcoded data as a source when the unused transcoder 20 exists in the transcoder 20. Processing is performed, and the processed data is stored in the comparison target coding rate line (miss line) in the cache database 40 (cache fill).

ステップS720:ヒット/ミス判定部50は、このキャッシュフィルされたラインから読み出したデータ802をプロトコル実装処理部80に与える。 Step S720 : The hit / miss determination unit 50 gives the data 802 read from the cache-filled line to the protocol implementation processing unit 80.

ステップS810〜S840:プロトコル実装処理部80は、データ801をIPネットワーク140を経由してユーザ端末170に順次配信する。 Steps S810 to S840 : The protocol implementation processing unit 80 sequentially distributes the data 801 to the user terminal 170 via the IP network 140.

これにより、最適符号化レートとの差分絶対値が閾値bより大きく閾値c以下の比較対象符号化レートのラインに最適符号化レートのデータをフィルすることが可能になる。このデータフィルによっても、比較対象符号化レートのラインのデータを使用するユーザ端末に対する映像及び音声への影響が少ない。   As a result, it becomes possible to fill the data of the optimum coding rate into the comparison coding rate line whose difference absolute value from the optimum coding rate is larger than the threshold value b and equal to or less than the threshold value c. This data fill also has little influence on the video and audio on the user terminal that uses the data of the comparison target coding rate line.

差分絶対値が設定された閾値cより大きい場合、比較対象データから要求データへの符号化レート変更を行うと、比較対象符号化レートのデータを使用するユーザに対する映像及び音声への影響が大きい。   When the difference absolute value is larger than the set threshold value c, if the coding rate change from the comparison target data to the request data is performed, the influence on the video and audio for the user who uses the data of the comparison target coding rate is large.

そこで、ヒット/ミス判定部50は以下の判定を行う。   Therefore, the hit / miss determination unit 50 performs the following determination.

ステップS550,S630:ヒット/ミス判定部50は、比較対象符号化レートの差分絶対値が大きいため、キャッシュ型データベース40の未格納ライン43を検索し、対象となるラインが存在する(ヒット)場合、トランスコーダ制御/調停部10に対してトランスコーダエントリ要求信号800を与える。 Steps S550 and S630 : The hit / miss determination unit 50 searches the unstored line 43 of the cache database 40 because the difference absolute value of the comparison target encoding rate is large, and the target line exists (hit) Then, a transcoder entry request signal 800 is given to the transcoder control / arbiter 10.

ステップS640,S730:トランスコーダ制御/調停部10は、トランスコーダエントリ要求に対して、未使用のトランスコーダ20が存在する場合、素材データもしくはトランスコードデータを未使用トランスコーダ20に与える。 Steps S640 and S730 : In response to the transcoder entry request, the transcoder control / arbiter 10 provides material data or transcode data to the unused transcoder 20 when an unused transcoder 20 exists.

このトランスコーダ20は、与えられたデータに対してリアルタイムエンコード処理を行い、データベース制御/調停部30を経由して未格納ライン43に格納(キャッシュフィル)する。このフィルラインからデータ802が読み出されてユーザ端末に送信される。   The transcoder 20 performs real-time encoding processing on the given data, and stores (cache fill) in the unstored line 43 via the database control / arbiter 30. Data 802 is read from this fill line and transmitted to the user terminal.

ステップS560〜S580:ヒット/ミス判定部50は、未格納ラインが無いため、キャッシュ型データベース40から予め設定された閾値aより低い視聴率のコンテンツ、符号化方式、又は符号化レートのライン43を検索し、対象となるデータが存在する(ヒット)場合、トランスコーダ制御/調停部10に対してトランスコーダエントリを要求する。 Steps S560 to S580 : Since there is no unstored line, the hit / miss determination unit 50 creates the content 43, the encoding method, or the encoding rate line 43 that has a viewer rating lower than the preset threshold value a from the cache database 40. If the target data is found (hit), the transcoder control / arbiter 10 is requested to make a transcoder entry.

ステップS650,S660:トランスコーダ制御/調停部10は、トランスコーダエントリ要求に対して、未使用のトランスコーダ20が存在する場合、素材データもしくはトランスコードデータを未使用トランスコーダ20に与える。 Steps S650 and S660 : When there is an unused transcoder 20 in response to a transcoder entry request, the transcoder control / arbiter 10 provides material data or transcode data to the unused transcoder 20.

このトランスコーダ20は、与えられたデータに対してリアルタイムエンコード処理を行いデータベース制御/調停部30を経由してキャッシュ型データベース40内の低視聴率ライン43に格納する(キャッシュフィル)。   The transcoder 20 performs real-time encoding processing on the given data and stores it in the low audience rating line 43 in the cache database 40 via the database control / arbiter 30 (cache fill).

ステップS740:ヒット/ミス判定部50は、キャッシュフィルされたライン43からデータ802を読み出し、プロトコル実装処理部に与える。 Step S740 : The hit / miss determination unit 50 reads the data 802 from the cache-filled line 43 and gives it to the protocol implementation processing unit.

ステップS810〜S840:プロトコル実装処理部80は、上記のヘッダを挿入したデータをユーザ端末に順次配信を継続する。 Steps S810 to S840 : The protocol implementation processing unit 80 continues to sequentially distribute the data into which the header is inserted to the user terminal.

ステップS580,S670,S680,S760:上記キャッシュ型データベースに格納されている、未格納ライン及び閾値aより低い視聴履歴ライン検索において、対象となるデータが存在しない場合、ヒット/ミス判定部50はトランスコーダ制御/調停部10に対してトランスコーダエントリ要求信号800を与える。 Steps S580, S670, S680, S760 : In the search of unstored lines and viewing history lines lower than the threshold value a stored in the cache type database, if there is no target data, the hit / miss determination unit 50 A transcoder entry request signal 800 is given to the coder control / arbiter 10.

未使用トランスコーダが存在する場合、素材データもしくはトランスコードデータに対してはリアルタイムエンコード処理が行われ、キャッシュ型データベース40内の比較対象符号化レートライン43に格納する(キャッシュフィル)。このキャッシュフィルされたライン43から読み出されたデータがプロトコル実装処理部80に与えられる。   When there is an unused transcoder, real-time encoding processing is performed on the material data or transcoded data, and the data is stored in the comparison target coding rate line 43 in the cache database 40 (cache fill). Data read from the cache-filled line 43 is supplied to the protocol implementation processing unit 80.

ステップS810〜S840:プロトコル実装処理部80は、ユーザ端末170に順次データ配信を継続する。 Steps S810 to S840 : The protocol implementation processing unit 80 continues data distribution to the user terminal 170 sequentially.

ステップS610,S630,S650,S670,S750:未使用トランスコーダ20が存在しない場合、RRタイプのRTCPパケットに基づく符号化レート変更要求は失敗となる。 Steps S610, S630, S650, S670, S750 : When there is no unused transcoder 20, the coding rate change request based on the RR type RTCP packet fails.

ヒット/ミス判定部50は、現在の符号化レートのデータの送信を継続し、次回符号化レート変更要求を待つ。   The hit / miss determination unit 50 continues to transmit data at the current encoding rate and waits for a next encoding rate change request.

このようなトランスコーダ制御/調停部10、トランスコーダ20、データベース制御/調停部30、キャッシュ型データベース40、及びヒット/ミス判定部50の連携動作により、ストリーム・サーバ100は、ライブ配信のみならず、コンテンツ配信においても、リアルタイムにネットワーク負荷、ユーザ端末の処理能力等を考慮した、リアルタイムエンコード処理を行うことが可能になる。   By such cooperative operation of the transcoder control / arbitration unit 10, the transcoder 20, the database control / arbitration unit 30, the cache database 40, and the hit / miss determination unit 50, the stream server 100 not only performs live distribution. Even in content distribution, real-time encoding processing can be performed in consideration of network load, processing capability of the user terminal, and the like in real time.

また、ストリーム・サーバ100は、低視聴率の符号化レートの符号化方式のコンテンツデータ及びライブデータを破棄することにより、高視聴率の符号化レートの符号化方式のコンテンツデータ及びライブデータのみが、キャッシュ型データベース40に格納され続けることになる。   Also, the stream server 100 discards the content data and live data of the encoding method of the low audience rating encoding rate, so that only the content data and live data of the encoding method of the encoding rate of the high audience rating are stored. The data is continuously stored in the cache database 40.

この結果、通常は、キャッシュ型データベース40に格納されている高視聴率データを多くのユーザ端末に配信することができる。   As a result, normally, the high audience rating data stored in the cache database 40 can be distributed to many user terminals.

すなわち、ストリーム・サーバ100は、不特定多数ユーザに対して、それぞれ、リアルタイムのネットワーク負荷、ユーザ端末170の処理能力、ストリーム・サーバ100の混雑度等を考慮した、快適なマルチキャスト型コンテンツ配信及びライブ配信が実現でき、コンテンツ及び符号化方式のみならず、符号化レートまでを範疇とした、“ワンソース・マルチユース化”を実現できる。   In other words, the stream server 100 provides a comfortable multicast content distribution and live performance for unspecified users, taking into consideration the real-time network load, the processing capability of the user terminal 170, the congestion level of the stream server 100, and the like. Distribution can be realized, and “one-source multi-use” can be realized not only for contents and encoding methods but also for encoding rates.

また、ストリーム・サーバ100は、不特定多数ユーザに対するコンテンツ配信データ及びライブ配信データは、通常、高視聴率の符号化レートの符号化方式のコンテンツデータ及びライブデータを格納するキャッシュ型データベースより読み出すことができる(ヒットする)ため、ユーザ数分のトランスコーダを備える必要はなく、トランスコーダ数の大幅な削減が可能になる。   Further, the stream server 100 reads content distribution data and live distribution data for an unspecified number of users from a cache database that normally stores content data and live data of an encoding method with a high audience rating encoding rate. Therefore, it is not necessary to provide as many transcoders as the number of users, and the number of transcoders can be greatly reduced.

また、ストリーム・サーバ100のキャッシュ型データベース40は、常に、個人ユーザのみが視聴する低視聴率のコンテンツ及びライブは破棄され、多数のユーザが視聴する映画コンテンツ等の高視聴率コンテンツ及び高視聴率ライブのみが保存され続けるため、データベースサイズの大幅な削減が実現でき、且つストリーム・サーバ100でのパーソナルデータベースの配信サービスも容易となる。   In addition, the cache database 40 of the stream server 100 always discards low-viewing content and live content that only an individual user views, and discards high viewing-rate content and high viewing rate such as movie content that many users view. Since only live data is continuously stored, the database size can be greatly reduced, and a personal database distribution service on the stream server 100 can be facilitated.

また、ストリーム・サーバ100は、トランスコーダ20の後段にキャッシュ型データベース40を配置し、コンテンツデータ及びライブデータを一旦キャッシュ型データベース40に格納後、ユーザに配信されるため、ライブ配信においても、ユーザ端末(受信側)からストリーム・サーバ(配信側)に対する巻戻し、一時停止要求といったコミュニケーション機能(選択性)の拡張が可能である。   In addition, since the stream server 100 arranges the cache type database 40 at the subsequent stage of the transcoder 20, and stores the content data and live data in the cache type database 40 once and distributes them to the user, the stream server 100 also provides the user with the live distribution. Communication functions (selectivity) such as rewinding from the terminal (receiving side) to the stream server (distributing side) and a pause request can be expanded.

すなわち、ユーザ端末(受信側)170は、ライブ配信とコンテンツ配信の区別することなく、サービスを享受することができ、ライブ配信とコンテンツ配信の融合が可能となる。   That is, the user terminal (reception side) 170 can enjoy the service without distinguishing between live distribution and content distribution, and fusion of live distribution and content distribution is possible.

また、ストリーム・サーバ100は、キャッシュ型データベース40の後段に、MPEGシーケンスヘッダ処理部84を挿入することにより、シーケンスヘッダに実装されている、フレームレート及び解像度等を変更することが容易となり、ユーザ端末(受信側)任意の映像の頭出し機能、アクセス回線種別、ネットワークの混雑度、ユーザ端末の処理能力等を考慮した、最適符号化レート/解像度変更等が容易に実現できる。   In addition, the stream server 100 can easily change the frame rate, resolution, and the like implemented in the sequence header by inserting the MPEG sequence header processing unit 84 after the cache database 40. It is possible to easily realize an optimum coding rate / resolution change and the like taking into account the video search function of the terminal (reception side), access line type, network congestion level, processing capacity of the user terminal, and the like.

このように、本発明のストリーム・サーバ100は、トランスコーダ20とキャッシュ型データベース40との連携動作により、不特定多数ユーザ端末170に対する快適なマルチキャスト型通信によるワンソース・マルチユース化、ユーザ端末170とストリーム・サーバ100間のコミュニティ環境の構築によるライブ配信とコンテンツ配信の融合、与えられた環境の中で、ストリーム・サーバ(配信側)は、リアルタイムかつ最適な制御を実現でき、ユーザ(受信側)は、より快適な配信サービスを享受できると共に、さらに大幅なハードウェア削減が可能になる。   As described above, the stream server 100 according to the present invention is configured to perform one-source multi-use by user-friendly multi-user communication using the multicast communication that is comfortable for the unspecified number of user terminals 170 by the cooperative operation of the transcoder 20 and the cache database 40. Fusion of live distribution and content distribution by building a community environment between the server and the stream server 100. In the given environment, the stream server (distribution side) can realize real-time and optimal control, and the user (reception side) ) Will be able to enjoy a more comfortable distribution service and further reduce hardware.

図6は、本発明のストリーム・サーバ100のヒット/ミス判定部50における要求コンテンツ(又はライブ)及び符号化方式等のヒット/ミス判定法をより詳細に示している。なお、同図に示されているステップ符号は、図4のステップ符号に対応している。   FIG. 6 shows the hit / miss determination method such as the requested content (or live) and encoding method in the hit / miss determination unit 50 of the stream server 100 of the present invention in more detail. In addition, the step code | symbol shown by the figure respond | corresponds to the step code | symbol of FIG.

〔1〕ネゴシエーション時におけるキャッシュ型データベース40の3段階検索フローに基づくヒット/ミス判定(1)〜(5)を以下に説明する。  [1] Hit / miss determinations (1) to (5) based on the three-stage search flow of the cache database 40 at the time of negotiation will be described below.

(1)ヒット/ミス判定部50は、タグラム41を検索して、要求コンテンツ(又はライブ)及び符号化方式のヒット/ミス判定T1を行う。要求データが存在する(ヒット)場合には、後述する図7の要求符号化レートのヒット/ミス判定T2へ遷移する(図4のステップS110〜S130参照)。  (1) The hit / miss determination unit 50 searches the taggram 41 and performs hit / miss determination T1 of the requested content (or live) and the encoding method. If the request data exists (hit), the process shifts to a hit / miss determination T2 of the request encoding rate shown in FIG. 7 (see steps S110 to S130 in FIG. 4).

(2)要求データがタグラム41に存在しない(ミス)場合、ヒット/ミス判定部50は、タグラム42の未格納ライン43を検索し、要求データを未格納ライン43に格納する(同ステップS140,S210,S220参照)。  (2) If the request data does not exist in the taggram 41 (miss), the hit / miss determination unit 50 searches the unstored line 43 of the taggram 42 and stores the request data in the unstored line 43 (step S140, (See S210 and S220).

(3)タグラム42の検索において、未格納ラインが存在しない(ミス)場合、ヒット/ミス判定部50は、低視聴率のコンテンツラインを検索し、対象となるデータが存在する(ヒット)場合、低視聴率のコンテンツラインのデータを破棄して、このラインに要求データを格納する(同ステップS150,S160,S210,S220参照)。  (3) In the search of the taggram 42, when there is no unstored line (miss), the hit / miss determination unit 50 searches the content line with a low audience rating, and when the target data exists (hit), The data of the low audience rating content line is discarded and the request data is stored in this line (see steps S150, S160, S210, S220).

(4)タグラム41の検索において、低視聴率のコンテンツラインが存在しない(ミス)場合、ヒット/ミス判定部50は、タグラム42のMRUより低視聴率の符号化レートラインを検索し、対象となるデータが存在する(ヒット)場合、低視聴率の符号化レートラインのデータを破棄し、このラインに要求データを格納する(同ステップS170,S210,S220参照)。  (4) In the search for the taggram 41, if there is no content line with a low audience rating (miss), the hit / miss determination unit 50 searches for an encoding rate line with a lower audience rating than the MRU of the taggram 42, and Is present (hit), the coding rate line data with a low audience rating is discarded, and the requested data is stored in this line (see steps S170, S210, and S220).

(5)タグラム41,42の検索において、低視聴率のコンテンツ、及び低視聴率の符号化レートが存在しない場合、ヒット/ミス判定部50は対象データ読み出し失敗となる(同ステップS180参照)。  (5) In the search of the taggrams 41 and 42, when there is no content with a low audience rating and an encoding rate with a low audience rating, the hit / miss determination unit 50 fails to read the target data (see step S180).

〔3〕未使用トランスコーダが有る時のキャッシュ型データベース40の自律動作によるヒット/ミス判定(6)〜(10)を以下に説明する。この自律動作により、ソースデータベースに新規に格納された人気コンテンツが自動的にキャッシュ型データベースに格納される。(6)〜(10)の動作は、それぞれ、上述した(1)〜(5)と同様ある。  [3] Hit / miss determinations (6) to (10) by autonomous operation of the cache database 40 when there is an unused transcoder will be described below. Due to this autonomous operation, popular content newly stored in the source database is automatically stored in the cache database. The operations (6) to (10) are the same as (1) to (5) described above.

(6)ヒット/ミス判定部50は、要求(新規)符号化方式のコンテンツ(又はライブ)がある(ヒットした)場合、後述する図7の符号化レートのヒット/ミス判定T2に遷移する。  (6) When there is content (or live) of the requested (new) encoding method (hit), the hit / miss determination unit 50 transitions to a hit / miss determination T2 of the encoding rate shown in FIG.

(7)要求符号化方式のコンテンツ(又はライブ)が無く(ミスし)、且つ未格納ラインが有る場合、要求符号化方式のコンテンツ(又はライブ)を未格納ラインに追加する。  (7) If there is no request coding content (or live) (miss) and there is an unstored line, the content (or live) in the request coding method is added to the unstored line.

(8)要求符号化方式のコンテンツ(又はライブ)が無く(ミスし)、未格納ラインが無く、且つ低視聴率のコンテンツが有る場合、低視聴率のコンテンツを破棄して、要求符号化方式のコンテンツ(又はライブ)を破棄した低視聴率のコンテンツラインに追加する。  (8) If there is no content (or live) in the required encoding method (miss), there is no unstored line, and there is content with a low audience rating, the content with the low audience rating is discarded, and the request encoding method Is added to the content line with a low audience rating.

(9)要求符号化方式のコンテンツ(又はライブ)が無く(ミスし)、未格納ラインが無く、低視聴率のコンテンツが無く、且つ低視聴率の符号化レートが有る場合、低視聴率の符号化レートを破棄して、要求符号化方式のコンテンツ(又はライブ)を破棄した低視聴率の符号化レートラインに追加する。  (9) If there is no content (or live) in the required encoding system (miss), there is no unstored line, no content with low audience rating, and there is an encoding rate with low audience rating, The coding rate is discarded, and the requested coding method content (or live) is added to the discarded low coding rate coding rate line.

(10)要求符号化方式のコンテンツ(又はライブ)が無く(ミスし)、未格納ラインが無く、低視聴率のコンテンツが無く、且つ低視聴率の符号化レートが無い場合、新規コンテンツのエントリは失敗となる。  (10) If there is no content (or live) in the required encoding system (miss), there is no unstored line, no content with a low audience rating, and there is no encoding rate with a low audience rating, new content entry Fails.

(7)〜(9)により、新規コンテンツが自律的にキャッシュ型データベースに格納されたことになる。   From (7) to (9), the new content is autonomously stored in the cache database.

図7は、本発明のにおける要求符号化レートのヒット/ミス判定T2の例を示している。   FIG. 7 shows an example of the hit / miss determination T2 of the required encoding rate in the present invention.

この判定は冗長性をもたせている。すなわち、差分絶対値x(現在配信しているキャッシュ型データベース40に格納されている比較対象の符号化データの符号化レートと、要求データの符号化レートとの差分の絶対値x)と、所定の閾値b,cとの大小関係によって判定が異なる。   This determination is redundant. That is, the difference absolute value x (the absolute value x of the difference between the encoding rate of the encoded data to be compared and the encoding rate of the request data stored in the cache database 40 currently distributed), and a predetermined value The determination differs depending on the magnitude relationship with the thresholds b and c.

また、ネゴシエーション時とネットワーク監視(RRタイプのRTCPパケットフィードバック)時とでは、判定動作が異なる。なお、同図に示されているステップ符号は、図4、図5のステップ符号に対応している。   Also, the determination operation differs between the time of negotiation and the time of network monitoring (RR type RTCP packet feedback). In addition, the step code | symbol shown in the figure respond | corresponds to the step code | symbol of FIG. 4, FIG.

〔1〕ネゴシエーション時における要求符号化レート等のヒット/ミス判定(1)〜(5)を以下に説明する。  [1] Hit / miss determination (1) to (5) such as a required encoding rate at the time of negotiation will be described below.

(1)ヒット/ミス判定部50は、差分絶対値x≦閾値bである場合、要求符号化レートが存在する(ヒット)と判定し、要求符号化データに冗長を持ったヒット/ミス判定T3に遷移する。  (1) When the difference absolute value x ≦ the threshold value b, the hit / miss determination unit 50 determines that the requested encoding rate exists (hit), and the hit / miss determination T3 has redundancy in the requested encoded data. Transition to.

(2)ヒット/ミス判定部50は、閾値b<差分絶対値xである場合、要求符号化レートが存在しない(ミス)と判定し、タグラム42のMRUより未格納ラインを検索し未格納ラインが有る場合、要求データを未格納ラインに格納する。  (2) When the threshold value b <difference absolute value x, the hit / miss determination unit 50 determines that the requested encoding rate does not exist (miss), searches for an unstored line from the MRU of the tag 42, and stores the unstored line If there is, the request data is stored in the unstored line.

(3)ヒット/ミス判定部50は、上記の未格納ライン検索において、未格納ラインが存在しない(ミス)場合、要求符号化レートのヒット/ミス判定を強制ヒット判定し、次の要求符号化データのヒット/ミス判定T3へ遷移する。  (3) In the above-described unstored line search, if there is no unstored line (miss), the hit / miss judgment unit 50 performs a forced hit judgment on the request coding rate hit / miss judgment and performs the next request coding. Transition to data hit / miss judgment T3.

〔3〕ネットワーク監視(RRタイプのRTCPパケットフィードバック)時における要求符号化レートのヒット/ミス判定T2(4)〜(8)を以下に説明する。  [3] The request coding rate hit / miss determination T2 (4) to (8) during network monitoring (RR type RTCP packet feedback) will be described below.

(4)ヒット/ミス判定部50は、差分絶対値x≦閾値bである場合、要求符号化レートが存在する(みなしヒット)と判定し、要求符号化データのヒット/ミス判定T3に遷移する。  (4) When the difference absolute value x ≦ the threshold value b, the hit / miss determination unit 50 determines that the requested encoding rate exists (deemed hit), and transitions to the requested encoded data hit / miss determination T3. .

(5)ヒット/ミス判定部50は、閾値b<差分絶対値x≦閾値cである場合、要求符号化レートが存在しない(ミス)と判定し、比較対象符号化レートラインのデータを破棄した後、このラインに要求データを格納する。  (5) When threshold value b <difference absolute value x ≦ threshold value c, hit / miss determination unit 50 determines that the requested encoding rate does not exist (miss), and discards the data of the comparison target encoding rate line Thereafter, the request data is stored in this line.

(6)ヒット/ミス判定部50は、閾値c<差分絶対値xである場合、要求符号化レートが存在しない(ミス)と判定し、タグラム42のMRUより未格納ラインを検索し未格納ラインが有り、且つ対象となるデータが存在する(ヒット)場合、要求データを未格納ラインに格納する。  (6) When the threshold value c <the absolute difference value x, the hit / miss determination unit 50 determines that the requested encoding rate does not exist (miss), searches for an unstored line from the MRU of the tag 42, and stores the unstored line If the target data exists (hit), the request data is stored in the unstored line.

(7)ヒット/ミス判定部50は、上記の未格納ライン検索で未格納ラインが存在しない(ミス)場合、タグラム42において、低視聴率の符号化レートラインが存在する(ヒット)場合、要求データを低視聴率の符号化レートラインに格納する。  (7) The hit / miss determination unit 50 requests if there is no unstored line in the above-described unstored line search (miss), and if there is an encoded rate line with a low audience rating in the tag 42 (hit) Store the data in the low audience rating coding rate line.

(8)ヒット/ミス判定部50は、上記の未格納ライン及び低視聴率の符号化レートラインが存在しない(ミス)場合、比較対象符号化レートのラインを破棄し、このラインに要求データを格納する。  (8) The hit / miss determination unit 50 discards the comparison encoding rate line when the unstored line and the low audience rating encoding rate line are not present (miss), and sends the requested data to this line. Store.

なお、上記の(5)〜(8)は、使用するトランスコーダが有る場合の処理である。   The above (5) to (8) are processes when there is a transcoder to be used.

また、符号化RTCPパケット(RRタイプ)フィードバックによるリアルタイムな符号化レート制御を行っているため、未使用トランスコーダ存在時における自律的な符号化レート制御(要求符号化レートのヒット/ミス判定T2)は基本的には不要である。   In addition, since real-time coding rate control is performed using coded RTCP packet (RR type) feedback, autonomous coding rate control in the presence of unused transcoders (request coding rate hit / miss judgment T2) Is basically unnecessary.

上記の要求符号化データのヒット/ミス判定T3に遷移した場合、ヒット/ミス判定部50は、キャッシュ43の検索においてヒット/ミス判定T3行い、要求データが存在する(ヒット)場合、ヒット判定し、要求データが存在しない(ミス)場合、要求データを対象インデックスに格納する。   When the request encoded data hit / miss determination T3 is made, the hit / miss determination unit 50 performs the hit / miss determination T3 in the search of the cache 43. If the request data exists (hit), the hit determination is performed. If the request data does not exist (miss), the request data is stored in the target index.

上記のようにキャッシュ型データベース40において、図2に示すようにタグラム41のMRU及びタグラム42のMRUに、それぞれ、コンテンツ及び符号化方式単位並びに符号化レート単位の各ユーザの視聴開始/停止/変更時刻情報をキューイングすることにより、キャッシュ型データベースに格納されているデータに対する各ユーザの視聴開始/停止時刻、リアルタイムな視聴率を考慮したヒット/ミス判定を行うことができる。   As described above, in the cache-type database 40, as shown in FIG. 2, the viewing start / stop / change of each user in the content, coding method unit, and coding rate unit is added to the MRU of the taggram 41 and the MRU of the taggram 42, respectively. By queuing the time information, it is possible to perform hit / miss determination in consideration of each user's viewing start / stop time and real-time viewing rate for data stored in the cache database.

また、上記のキャッシュ型データベース40のヒット/ミス判定は、通常の判定契機[1]:或るユーザ端末(受信側)からの配信要求によるネゴシエーション時、通常の判定契機[2]:RRタイプのRTCPパケットフィードバック時がある。さらに、ヒット/ミス判定は、判定契機[1]及び[2]以外に、未使用トランスコーダが存在する時を動作契機[3]とすることにより、ソースデータベースに新規格納され、かつキャッシュ型データベースに未格納である、人気コンテンツを事前に格納(キャッシュフィル)することができる。   Also, the hit / miss determination of the cache type database 40 described above is based on normal determination trigger [1]: normal determination trigger [2]: RR type at the time of negotiation by a delivery request from a certain user terminal (reception side) There is an RTCP packet feedback time. Furthermore, hit / miss judgment is newly stored in the source database by using an operation opportunity [3] when there is an unused transcoder in addition to judgment triggers [1] and [2], and is also a cache database. It is possible to store (cache fill) popular content that is not yet stored in

また、ストリーミング技術においては、或る一つのコンテンツまたは、ライブ、符号化方式に対する、複数の符号化レートをサポートしている。   In addition, the streaming technology supports a plurality of encoding rates for a certain content, live, or encoding scheme.

したがって、キャッシュ型データベース40のヒット/ミス判定は、ユーザから配信要求に対して、要求コンテンツ又はライブ、符号化方式が対応するデータの検索(ヒット/ミス判定T1)を行い、次に要求符号化レートが対応するデータの検索(ヒット/ミス判定T2)を行い、最後に要求データの検索(ヒット/ミス判定T3)を行うといった3段階的な検索を行うことにより、判定の容易化/高速化が実現できるとともに、ヒット/ミス判定回路のハードウェア規模の大幅な削減が実現できる。   Therefore, the hit / miss determination of the cache type database 40 is performed by searching for the requested content or data corresponding to the live or encoding method (hit / miss determination T1) in response to a distribution request from the user, and then request encoding. Searching data corresponding to the rate (hit / miss determination T2), and finally searching the request data (hit / miss determination T3) makes the determination easier and faster. As well as a significant reduction in the hardware scale of the hit / miss judgment circuit.

また、キャッシュ型データベース40のヒット/ミス判定は、ユーザ(受信側)からの要求コンテンツ又はライブ、符号化方式、符号化レート、及び符号化データが存在しない(ミス)場合は、タグラム41のMRU、タグラム42のMRUに格納されている視聴履歴を参照して、低視聴率のコンテンツ、符号化レートラインを破棄するため、不特定多数ユーザが要求する高視聴率のコンテンツ及び高視聴率の符号化レートのデータのみが格納され、効率的なキャッシュ運用を実現する。   The hit / miss determination of the cache type database 40 is performed when the requested content or live from the user (reception side), the encoding method, the encoding rate, and the encoded data do not exist (miss). , Refer to the viewing history stored in the MRU of the taggram 42, and discard the content with low audience rating and the encoded rate line, so the content with high audience rating requested by the unspecified number of users and the code with high audience rating Only the data of the conversion rate is stored, and efficient cache operation is realized.

また、キャッシュ型データベースのヒット/ミス判定は、RRタイプのRTCPパケットによるフィードバック情報を基にしたネットワークの混雑度、ユーザ端末処理能力を考慮した最適な要求符号化レートに対する、現在使用されている符号化レートとの差分絶対値が、所定の閾値以下の場合は、冗長性をもたせたヒット/ミス判定を行うことにより、リアルタイムなネットワークの混雑度、ユーザ端末処理能力の急激な変化に追従しない。   The hit / miss judgment of the cache type database is based on the currently used code for the optimum requested coding rate considering the congestion degree of the network and user terminal processing capacity based on feedback information by RR type RTCP packet. When the absolute value of the difference from the conversion rate is equal to or less than a predetermined threshold, the hit / miss determination with redundancy is performed, so that it does not follow a real-time network congestion level and a sudden change in user terminal processing capability.

また、所定の閾値以上の場合においても、キャッシュ型データベースに格納されているデータが、例えば全て高視聴率データの場合は、強制ヒット判定を行うことにより、他ユーザへの配信データに対して、影響を与えない。   In addition, even when the data stored in the cache type database is all high audience rating data, for example, if the data stored in the cache database is equal to or greater than the predetermined threshold, by performing forced hit determination, Does not affect.

上記の動作により、本発明のストリーム・サーバは、自律動作による自身の配信要求データ、及び他のユーザ端末へ配信データが実現できる。   By the above operation, the stream server of the present invention can realize the distribution request data of its own by autonomous operation and the distribution data to other user terminals.

図8、9は、本発明のストリーム・サーバ100における階層化符号化方式例を示している。この階層符号化は、空間スケーラビリティ、時間スケーラビリティ、及びSNR(Signal to Noise Ratio)スケーラビリティ等により階層化され、或る階層の符号化レートを変更する際に、符号化レート変更対象の階層及びこの階層の1つ上位の階層の符号化データのみ、新規符号化データを作成する。   8 and 9 show an example of the layered encoding method in the stream server 100 of the present invention. This hierarchical coding is hierarchized by spatial scalability, temporal scalability, SNR (Signal to Noise Ratio) scalability, etc., and when changing the coding rate of a certain layer, the layer for which the coding rate is changed and this layer New encoded data is created only for the encoded data of the next higher level.

図8は、低符号化レートを高符号化レートに変更する場合を示している。同図(1)において、各階層1,2,3,及び4の階層の符号化レートは、それぞれ、1Mbps,5Mbps、10Mbps、及び20Mbpsである。   FIG. 8 shows a case where the low coding rate is changed to the high coding rate. In FIG. 1 (1), the coding rates of the layers 1, 2, 3, and 4 are 1 Mbps, 5 Mbps, 10 Mbps, and 20 Mbps, respectively.

同図(4)は、同図(1)に示した各階層1〜4の符号化レートが格納されているバンク90を示しており、バンク90_1〜90_4には、それぞれ、符号化レート1Mbps,5Mbps,10Mbps,20Mbpsのデータが格納されている。   FIG. 4 (4) shows a bank 90 in which the coding rates of the respective layers 1 to 4 shown in FIG. 1 (1) are stored. The banks 90_1 to 90_4 each have a coding rate of 1 Mbps, 5Mbps, 10Mbps, and 20Mbps data are stored.

同図(2)、(5)において、階層2の符号化レートを5Mbps(低符号化レート)から7Mbps(高符号化レート)に変更する場合、新階層2新規符号化データ、及びこの新階層2をリファレンスとして伸長動作を行う新階層3(10Mbps)の新規符号化データを、それぞれバンク90_5,90_6に格納する。   When changing the coding rate of layer 2 from 5 Mbps (low coding rate) to 7 Mbps (high coding rate) in (2) and (5) in the figure, new layer 2 new coded data and this new layer New encoded data of the new layer 3 (10 Mbps) that performs the decompression operation with reference to 2 is stored in the banks 90_5 and 90_6, respectively.

同図(3)、(6)において、新階層3より伸長された復号フレームデータと現階層3により伸長された復号フレームデータの差分絶対値和が、或る閾値以下になった場合に、現階層2、3(バンク90_2,90_3)を破棄し、新階層2,3(バンク90_5,90_6)を現階層2,3とし、新しい階層構成に切り替える。   In (3) and (6) in the figure, when the sum of absolute differences between the decoded frame data expanded from the new layer 3 and the decoded frame data expanded from the current layer 3 is below a certain threshold, Hierarchies 2 and 3 (banks 90_2 and 90_3) are discarded, and new hierarchies 2 and 3 (banks 90_5 and 90_6) are made current hierarchies 2 and 3, and a new hierarchical structure is switched.

図9は、高符号化レートを低符号化レートに変更する場合を示している。同図(1)及び(4)は、それぞれ、図8(1)及び(4)と同様である。   FIG. 9 shows a case where the high encoding rate is changed to the low encoding rate. FIGS. (1) and (4) are the same as FIGS. 8 (1) and (4), respectively.

図9(2)、(5)において、階層3の符号化レートを10Mbps(高符号化レート)から7Mbps(低符号化レート)に変更する場合、新階層3(7Mbps)、及びこの新階層3をリファレンスとして伸長動作を行う新階層4(20Mbps)の新規符号化データをバンク90_5,90_6に格納する。   9 (2) and (5), when the encoding rate of layer 3 is changed from 10 Mbps (high encoding rate) to 7 Mbps (low encoding rate), new layer 3 (7 Mbps) and this new layer 3 The new encoded data of the new hierarchy 4 (20 Mbps) that performs the decompression operation with reference to is stored in the banks 90_5 and 90_6.

同図(3)、(6)において、新階層4より伸長された復号フレームデータと現階層4により伸長された復号フレームデータの差分絶対値和が、或る閾値以下になった場合に、現階層3、4(バンク90_3,90_4)を破棄し、新階層3,4(バンク90_5,90_6)を現階層2,3とし、新しい階層構成に切り替える。   In (3) and (6) in the figure, when the sum of absolute differences between the decoded frame data decompressed from the new layer 4 and the decoded frame data decompressed from the current layer 4 falls below a certain threshold, Hierarchies 3 and 4 (banks 90_3 and 90_4) are discarded, and new hierarchies 3 and 4 (banks 90_5 and 90_6) are made current hierarchies 2 and 3, and the new hierarchies are switched.

すなわち、上記階層符号化における、或る一つの階層の符号化レートを変更する場合に、この階層データをリファレンスデータとして使用する、以降の上位階層すべてのデータ変更を行うことなく、一つ上位の階層データのみの変更を行うことで、符号化レートを変更して新しい階層構成を構築することができる。   That is, when changing the coding rate of a certain layer in the above-mentioned layered coding, this layer data is used as reference data, without changing the data of all the subsequent upper layers, one higher layer. By changing only the hierarchical data, it is possible to change the encoding rate and construct a new hierarchical structure.

この符号化レート変更において、必要となるバンク数は、階層数+2のみで実現でき、ハードウェア規模の削減が可能である。   In this coding rate change, the required number of banks can be realized only by the number of layers +2, and the hardware scale can be reduced.

以上説明したように、本発明のストリーム・サーバによれば、特定多数ユーザ端末に対して、それぞれ与えられた環境、すなわち、ネットワーク負荷、ユーザ端末の処理能力、又はストリーム・サーバの混雑度にリアルタイムに対応したコンテンツ配信を行うこと、また、コンテンツ配信とライブ配信の融合することを、少ないハードウエアで実現することが可能になる。 As described above, according to the stream server of the present invention, to an indefinite number user terminal given environment respectively, i.e., network load, the user terminal processing capacity, or the degree of congestion of the stream server It is possible to realize content distribution corresponding to real time and to integrate content distribution and live distribution with less hardware.

本発明に係るストリーム・サーバの一実施例を示したブロック図である。It is the block diagram which showed one Example of the stream server which concerns on this invention. 本発明に係るストリーム・サーバにおけるキャッシュ型データベースの一構成例を示したブロック図である。It is the block diagram which showed one structural example of the cache type database in the stream server which concerns on this invention. 本発明に係るストリーム・サーバにおける3段階検索手順例を示した図である。It is the figure which showed the example of the 3 steps | paragraph search procedure in the stream server which concerns on this invention. 本発明に係るストリーム・サーバのネゴシエーション時における動作手順を示したフローチャート図である。It is the flowchart figure which showed the operation | movement procedure at the time of the negotiation of the stream server concerning this invention. 本発明に係るストリーム・サーバのネットワーク監視時における動作手順を示したフローチャート図である。It is the flowchart figure which showed the operation | movement procedure at the time of the network monitoring of the stream server which concerns on this invention. 本発明に係るストリーム・サーバにおける要求コンテンツ(又はライブ)及び符号化方式等のヒット/ミス判定及びその後の処理を示した図である。It is the figure which showed hit / miss determination, such as a request | requirement content (or live) and an encoding system, and its subsequent process in the stream server which concerns on this invention. 本発明に係るストリーム・サーバにおける要求符号化レート等のヒット/ミス判定及びその後の処理を示した図である。It is the figure which showed hit / miss determination, such as a request | requirement encoding rate in the stream server based on this invention, and its subsequent process. 本発明に係るストリーム・サーバにおける階層符号化における符号化レート変更例(低符号化レート→高符号化レート)を示した図である。It is the figure which showed the encoding rate change example (low encoding rate-> high encoding rate) in the hierarchical encoding in the stream server which concerns on this invention. 本発明に係るストリーム・サーバにおける階層符号化における符号化レート変更法(高符号化レート→低符号化レート)を示した図である。It is the figure which showed the encoding rate change method (high encoding rate-> low encoding rate) in the hierarchical encoding in the stream server which concerns on this invention. 従来のコンテンツ配信及びライブ配信を示したブロック図である。It is the block diagram which showed the conventional content delivery and live delivery.

符号の説明Explanation of symbols

100 ストリーム・サーバ 10 トランスコーダ制御/調停部
20,20_1〜20_L トランスコーダ、エンコーダ、CODEC
30 データベース制御/調停部 40 キャッシュ型データベース
41,41_1〜41_M タグラム(TAG_RAM) 41a 視聴履歴(MRU)
41b コンテンツ名(Contents) 41c 符号化方式(COD)
41d タグラム・アドレス(TAG_RAM_Adr) 42,42_1〜42_N タグラム
42a 視聴履歴(MRU) 42b 符号化レート(Rate)
42c 階層(Layer) 43 キャッシュ
43_1〜43_N ライン(LINE) 43a インデックス
50 ヒット/ミス判定部 60 ネットワーク監視部
70 呼制御/ネゴシエーション処理部 80 プロトコル実装処理部
81 IPヘッダ処理部 82 UDPヘッダ処理部
83 RTPヘッダ処理部 84 MPEGシーケンスヘッダ処理部
85 RTCPヘッダ処理部 86 RTSPヘッダ処理部
90,90_1〜90_6 バンク
110 コンテンツサーバ 120 映像入力装置
130 リアルタイムエンコーダ 140 IPネットワーク
150_1,150_2 キャッシュサーバ 160 ターミナルアダプタ(TA)
170 ユーザ端末
170_1 ユーザ端末(デスクトップPC)
170_2 ユーザ端末(PDA) 170_3 ユーザ端末(携帯電話)
700 ソースデータベース
710,710_1〜710_3,720_1,720_2 コンテンツ
710a コンテンツ配信 720 ライブ
720a,720b ライブ配信
800 トランスコーダエントリ要求信号 801 信号
802 データ
a,b,c 閾値 x 差分絶対値
01〜0x,11〜1x,21〜2x,y1〜yx 視聴履歴
T1〜T3 ヒット/ミス判定
図中、同一符号は同一又は相当部分を示す。
100 Stream server 10 Transcoder control / arbiter
20, 20_1 ~ 20_L transcoder, encoder, CODEC
30 Database control / arbiter 40 Cache type database
41,41_1 ~ 41_M Tagagram (TAG_RAM) 41a Viewing history (MRU)
41b Contents (Contents) 41c Coding method (COD)
41d Tagram address (TAG_RAM_Adr) 42, 42_1 to 42_N Tagram
42a Viewing history (MRU) 42b Coding rate (Rate)
42c Layer 43 cache
43_1 ~ 43_N LINE 43a Index
50 Hit / miss judgment unit 60 Network monitoring unit
70 Call control / negotiation processor 80 Protocol implementation processor
81 IP header processor 82 UDP header processor
83 RTP header processor 84 MPEG sequence header processor
85 RTCP header processor 86 RTSP header processor
90, 90_1-90_6 banks
110 Content server 120 Video input device
130 Real-time encoder 140 IP network
150_1, 150_2 Cache server 160 Terminal adapter (TA)
170 User terminal
170_1 User terminal (desktop PC)
170_2 User terminal (PDA) 170_3 User terminal (mobile phone)
700 source database
710, 710_1 to 710_3, 720_1, 720_2 content
710a Content Delivery 720 Live
720a, 720b live streaming
800 Transcoder entry request signal 801 signal
802 data
a, b, c Threshold x Difference absolute value
01-0x, 11-1x, 21-2x, y1-yx Viewing history
T1-T3 hit / miss determination In the figure, the same reference numerals indicate the same or corresponding parts.

Claims (3)

1つ以上のトランスコーダと、
データを格納するキャッシュ型データベースと、
コンテンツ又はライブ、符号化方式、及び符号化レートに関して要求されたデータが該キャッシュ型データベースに格納されていないとき、該キャッシュ型データベースに該要求されたデータが格納されるように該トランスコーダ及び該キャッシュ型データベースを連携して制御するヒット/ミス判定部と、
を備え、
ヒット/ミス判定部はさらに要求されたコンテンツ又はライブ、及び符号化方式に対応する符号化レートの内前記要求された符号化レートに最も近い符号化レートを検索し、前記要求された符号化レートと検索された要求に最も近い符号化レートの差分絶対値が所定の閾値以下のとき、要求データが該キャッシュ型データベースに格納されていると判断する
ことを特徴とするストリーム・サーバ。
One or more transcoders;
A cache database that stores data;
When the requested data regarding content or live, encoding scheme, and encoding rate is not stored in the cache type database, the transcoder and the A hit / miss determination unit that controls a cache-type database in cooperation,
With
The hit / miss determination unit further searches for the encoding rate closest to the requested encoding rate from among the encoding rates corresponding to the requested content or live and encoding scheme, and the requested encoding when the difference absolute value of the nearest coding rate to the rate and retrieved request is below a predetermined threshold value, the stream server to which the request data is characterized in that it is determined that that is stored in the cache database.
請求項1において、
さらに、ユーザ端末との間のネットワーク負荷、コンテンツサーバの混雑度、又はユーザ端末の処理能力の少なくともいずれか1つを監視し、監視結果を該ヒット/ミス判定部に与えるネットワーク監視部を有し、
該ヒット/ミス判定部が該監視結果に基づき最適符号化レートを決定することを特徴としたストリーム・サーバ。
In claim 1,
And a network monitoring unit that monitors at least one of a network load with the user terminal, a congestion level of the content server, or a processing capability of the user terminal, and gives a monitoring result to the hit / miss determination unit. ,
A stream server, wherein the hit / miss determination unit determines an optimum encoding rate based on the monitoring result.
1つ以上のトランスコーダと、
データを格納するキャッシュ型データベースと、
コンテンツ又はライブ、符号化方式、及び符号化レートに関して要求されたデータが該キャッシュ型データベースに格納されていないとき、該キャッシュ型データベースに該要求されたデータが格納されるように該トランスコーダ及び該キャッシュ型データベースを連携して制御するヒット/ミス判定部と、
を備え、
該トランスコーダが、空間スケーラビリティ、時間スケーラビリティ、又はSNRスケーラビリティによる階層符号化において、符号化レート変更対象階層及びその1つ上位の階層の符号化データのみ新規に作成し、該新規上位階層より伸長された復号データと現上位階層より伸長された復号データの差分絶対値の和が所定の閾値以下であるとき該新規作成された変更対象階層及び上位階層を現階層とすることを特徴とするストリーム・サーバ。
One or more transcoders;
A cache database that stores data;
When the requested data regarding content or live, encoding scheme, and encoding rate is not stored in the cache type database, the transcoder and the A hit / miss determination unit that controls a cache-type database in cooperation,
With
In the hierarchical coding based on spatial scalability, temporal scalability, or SNR scalability, the transcoder newly creates only the coding data of the coding rate change target layer and the layer one level above it, and is expanded from the new higher layer. A stream that has the newly created change target layer and upper layer as the current layer when the sum of absolute differences between the decoded data and the decoded data expanded from the current upper layer is equal to or less than a predetermined threshold value. server.
JP2004547993A 2002-10-30 2002-10-30 Stream server Expired - Fee Related JP4408811B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/011312 WO2004040908A1 (en) 2002-10-30 2002-10-30 Stream server

Publications (2)

Publication Number Publication Date
JPWO2004040908A1 JPWO2004040908A1 (en) 2006-03-02
JP4408811B2 true JP4408811B2 (en) 2010-02-03

Family

ID=32260019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004547993A Expired - Fee Related JP4408811B2 (en) 2002-10-30 2002-10-30 Stream server

Country Status (2)

Country Link
JP (1) JP4408811B2 (en)
WO (1) WO2004040908A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060174314A1 (en) * 2004-07-21 2006-08-03 Jacobs Paul E Methods and apparatus for hybrid multimedia presentations
WO2006095868A1 (en) * 2005-03-11 2006-09-14 Pioneer Corporation Content data transmission device, content data transmission method, and remote reproduction system
JP4772375B2 (en) * 2005-04-28 2011-09-14 株式会社東芝 Electronic device and content management method
US7664856B2 (en) * 2005-07-28 2010-02-16 Microsoft Corporation Dynamically balancing user experiences in a multi-user computing system
CN101421936B (en) * 2006-03-03 2016-09-21 维德约股份有限公司 For the system and method providing error resilience, Stochastic accessing and rate to control in scalable video communications
CN101542577A (en) * 2006-11-30 2009-09-23 皇家飞利浦电子股份有限公司 Drive method for an electrophoretic cell and an electrophoretic device
WO2010134591A1 (en) * 2009-05-21 2010-11-25 日本電気株式会社 Content distribution system, content distribution device, content distribution method, and content distribution program
JP2010273298A (en) * 2009-05-25 2010-12-02 Broad Earth Inc Content distribution system, distribution control device, and distribution control program
EP2469795B1 (en) * 2010-02-25 2013-04-17 Ntt Docomo, Inc. Method and apparatus for rate shaping
JP5675164B2 (en) * 2010-05-11 2015-02-25 キヤノン株式会社 Transmission device, transmission method, and program
JP6225446B2 (en) 2013-03-26 2017-11-08 富士通株式会社 Moving image data distribution apparatus, method, program, and system
JP2015065493A (en) * 2013-09-24 2015-04-09 日本電気株式会社 Content distribution system, content distribution device, content distribution method, and content distribution program
US10440080B2 (en) * 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
US9516084B2 (en) * 2013-11-01 2016-12-06 Ericsson Ab System and method for pre-provisioning adaptive bitrate (ABR) assets in a content delivery network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3321332B2 (en) * 1995-04-07 2002-09-03 シャープ株式会社 Image storage communication device
JP3653569B2 (en) * 1997-01-30 2005-05-25 マイクロソフト コーポレーション A VCR-like feature that renders video on demand
US6742043B1 (en) * 2000-01-14 2004-05-25 Webtv Networks, Inc. Reformatting with modular proxy server
JP2002084524A (en) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> Method for receiving, encoding, recording and transmitting video, sound or data broadcasting and broadcast recording/reproducing server device.
JP3830756B2 (en) * 2000-12-18 2006-10-11 シャープ株式会社 Broadcast data sharing server device
JP2002232860A (en) * 2001-02-01 2002-08-16 Toshiba Corp System and method for distributing contents, and program
JP2002305703A (en) * 2001-04-05 2002-10-18 Netyear Group Corp Broadcast program distribution device broadcast program distribution method, and its program and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program

Also Published As

Publication number Publication date
JPWO2004040908A1 (en) 2006-03-02
WO2004040908A1 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
JP4408811B2 (en) Stream server
EP2919453B1 (en) Video stream switching
CA2594118C (en) Distributed statistical multiplexing of multi-media
JP3193947B2 (en) Data transmission system and data transmission method
US20020131496A1 (en) System and method for adjusting bit rate and cost of delivery of digital data
US20110247043A1 (en) Real Time Bit Rate Switching for Internet Protocol Television
CN103210642B (en) Occur during expression switching, to transmit the method for the scalable HTTP streams for reproducing naturally during HTTP streamings
US20050187960A1 (en) Stream server
WO2010037310A1 (en) Communication method and system of multi-path videos
KR100410973B1 (en) Method streaming moving picture video on demand
CN103843301A (en) Switching between representations during network streaming of coded multimedia data
JP2006087125A (en) Method of encoding sequence of video frames, encoded bit stream, method of decoding image or sequence of images, use including transmission or reception of data, method of transmitting data, coding and/or decoding apparatus, computer program, system, and computer readable storage medium
JPWO2009128515A1 (en) Gateway apparatus and method
WO2000072517A1 (en) System and method for streaming media over an internet protocol system
US20070223635A1 (en) Information Delivery System and Method, its Information Delivery Apparatus, Receiving Terminal, and Information Relay Apparatus
KR100896688B1 (en) Multimedia service providing method considering a terminal capability, and terminal used therein
US8401086B1 (en) System and method for increasing responsiveness to requests for streaming media
JP2008306273A (en) Moving image provision system, method, device, program
CA2657434A1 (en) Encoder and decoder configuration for addressing latency of communications over a packet based network
KR101148072B1 (en) Multimedia supporting system and method thereof
US20100031302A1 (en) Stream distribution system, stream receiving device, and stream reproduction method
KR20230049204A (en) Adaptive media streaming transmission method and apparatus for multi network
KR20230121950A (en) Adaptive media streaming transmission method and apparatus for multi network
CA2657439A1 (en) System and method for facilitating video quality of live broadcast information over a shared packet based network
JP2004080169A (en) Packet transmission method and packet transmission system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090713

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090730

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091110

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees