WO2004040908A1 - Stream server - Google Patents

Stream server Download PDF

Info

Publication number
WO2004040908A1
WO2004040908A1 PCT/JP2002/011312 JP0211312W WO2004040908A1 WO 2004040908 A1 WO2004040908 A1 WO 2004040908A1 JP 0211312 W JP0211312 W JP 0211312W WO 2004040908 A1 WO2004040908 A1 WO 2004040908A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
hit
content
server
cache
Prior art date
Application number
PCT/JP2002/011312
Other languages
French (fr)
Japanese (ja)
Inventor
Yuji Nomura
Original Assignee
Fujitsu Limited
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 Limited filed Critical Fujitsu Limited
Priority to PCT/JP2002/011312 priority Critical patent/WO2004040908A1/en
Publication of WO2004040908A1 publication Critical patent/WO2004040908A1/en
Priority claimed from US11/116,314 external-priority patent/US20050187960A1/en

Links

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

Abstract

A stream server for distributing live and content with Internet or the like as a medium by streaming technology, etc. Content or live ready for each given environment, i.e., a network load, a user terminal processing capacity, congestion degree of the stream server, etc. is distributed in a real-time manner to user terminals of general public.

Description

 Specification

 TECHNICAL FIELD The present invention relates to a stream server, and more particularly, to a stream server that distributes live and content via the Internet or the like using streaming technology or the like.

 In recent years, broadband networks such as the Internet have been developed due to the spread of ADSL and wireless LAN. Along with this, multimedia and multi-channel communication environments for transmitting and receiving data, voice, video, etc., are rapidly being improved. In addition, the constant connection has been generalized, the convergence of information appliances and networks has been promoted, and the demand for video and music content distribution and live distribution has been expanding.

 -'In such a network, it is important to distribute live and contents by streaming technology that multiplexes multimedia and treats it as one digital information stream. Background art

 Figure 10 shows an example of conventional live distribution and content distribution. When the user terminal (PDA) 170-2 requests distribution of the live 720 and the cache server 150_2 does not hold the live 720, the live 720 captured by the video input device 120 is transmitted to the real-time encoder 130. Given.

 The encoder 130 converts the live 720 into data of the requested encoding method 'encoding rate' and transmits it to the user terminal 170_2 by live delivery 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.

When the user terminal (mobile phone) 170-13 requests distribution of live 720 with the same encoding method and coding rate, the cache server 150-2 transmits the stored live 720 to the user terminal 170_3 by live distribution 720b. I do. Content 710 is stored in source database 700 of content server 110. When the user terminal (desktop PC) 170-1 requests distribution of the content 710 and the cache server 150-1 does not store the content 710, the content 710 is transmitted from the content server 110 to the IP network 140 and the terminal network. Content distribution 710a is performed to the user terminal 170-1 via the adapter (TA) 160. 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 a distribution request for the content 710 is received from the user terminal 170-2 is the same as that of the cache server 150-2.

 The live distribution 720a, 720b and the content distribution 710a are performed, for example, with an MPEG stream or the like that performs decompression processing with reference to reference data.

 The IP network 140 is basically a best-effort type, and does not adapt to MPEG stream distribution without interruption for a long time.

 Conventional technologies for solving this problem include, for example, Real-time Transport Protocol (hereinafter referred to as RTP), and Real-time Transport Control Protocol (hereinafter referred to as RTCP). There are streaming technologies such as real-time streaming control protocol (Real Time Streaming Protocol, hereinafter referred to as RTSP).

 RTP is a transmission protocol that defines a bucket format for transmitting audio and video data so that media synchronization can be performed on the receiving side. RTSP is a protocol that performs stream control such as starting or pausing the delivery of content. RTCP is a protocol that defines the procedure for transmitting information necessary for flow control of audio and video streams and reference time information for media synchronization.

 With these protocols, a more comfortable RTP stream (content distribution or live distribution) considering the given environment such as negotiation between the user terminal and the distribution source, the network load at the time of data distribution, and the processing capability of the user terminal. Is controlled by a real dime.

However, in a conventional streaming environment, live distribution involves distributing data of multiple fixed coding rates from a stream server (distribution side) to an unspecified number of user terminals (reception side). are doing. The user terminal selects and receives data from a plurality of coding rates fixed from the distribution source according to its own processing capacity. Therefore, comfortable multicast-type content distribution and live distribution have not been realized for an unspecified number of user terminals in consideration of the network load and the processing capacity of the user terminals in real time.

 In other words, in the conventional streaming environment, in content distribution, not only an encoding method but also a real-time optimal encoding rate corresponding to each user terminal in one content (one source) can be used for data (multi-use). Is difficult to deliver.

 To solve this, enormous hardware such as a real-time encoder for the number of user terminals or a database of data at all coding rates is required, which is not practical.

 In other words, one-source multi-use is not possible in terms of not only the content and coding method but also the coding rate.

 In live distribution, since the real-time encoder 130 distributes real-time code data to the network as it is, the user terminal expands communication (selectivity) such as rewinding and pausing the content server. Is difficult.

 Therefore, user terminals must receive services that consider the difference between content distribution and live distribution. In addition, the distribution server is a content * server and a live server, which are independent devices, and must be controlled independently of each other, making it difficult to integrate content distribution and live distribution.

In the content distribution, a plurality of encoded data corresponding to the content is converted into a database in advance. Therefore, regardless of the movie content viewed by a large number of users or the personal video content viewed only by a certain individual user, the entire content data is stored. Data must be converted to a database, which requires enormous database capacity. For this reason, there is a limit in the construction of a personal database that stores digital contents and the like that are created by individual users, which is a recent trend. Also, in content distribution, the database uses compressed encoded data Because it is difficult to insert / delete the sequence header at an arbitrary position in the MPEG stream, the user terminal (receiving side) can search for any video, access line type, degree of network congestion, and user terminal processing. It is difficult to change the optimal coding rate / resolution in consideration of performance and other factors.

 In the conventional content distribution or live distribution, a distribution server and a cache server (edge server) are independently provided and operate independently. In the cache server, the content or live content requested by a user terminal (reception side) is provided. Hit / miss determination in consideration of the coding method is possible.

 However, it is not possible to manage viewing start / stop / change of request data in consideration of the coding rate determined by negotiation or feedback of RR (Receiver Report) type RTCP packet from the user terminal. Therefore, it is difficult to perform hit / miss judgment in consideration of audience rating.

 In the conventional content distribution or live distribution, a stream server is operated in response to an action from a user terminal such as a negotiation operation or an RR type RTCP bucket feed pack in streaming.

 Therefore, if the viewing request from an unspecified number of users overlaps with the date and time when the distribution of a certain movie content starts, a lot of contention for access to transcoders will occur, and the responsiveness of the distribution service to the user terminals will increase. Becomes difficult.

 In addition, the cache server (edge server) in the conventional content distribution or live distribution stores various contents or data such as live data, an encoding method, an encoding rate, and the like. Since the check is performed for all stored data, the hit / miss judgment circuit requires a huge hardware scale.

 In addition, in the conventional content distribution or live distribution, the distribution server and the cache server (edge server) are independently deployed and operate independently, and new content or new content not stored in the cache server (edge server) from the user terminal is used. If a live, new coding method, or new coding rate is requested, a miss decision is made.

As a result, the distribution server distributes the data corresponding to the content and the encoding method to the cache server, so the cache server is always stored. You have to destroy the data.

 In addition, when the hit / miss judgment of the cache server (edge server) is performed, the congestion degree of the distribution server is not taken into consideration. Therefore, if the responsiveness of the distribution server is poor, a decrease in the throughput of the distribution data, fluctuation, etc. Occurs.

 Also, in conventional hierarchical coding, when changing the coding rate or resolution of certain hierarchical data, the above-mentioned hierarchy is referred to as reference data, and encoding processing is performed.

 Thereafter, since all the upper layer data must be regenerated, enormous hardware is required, and the number of uses of resources such as transcoders is increased (it is difficult to use resources effectively).

 Therefore, the present invention aims at the following items (1) to (9) in a stream server that distributes live and content through the Internet or the like by streaming technology or the like.

 (1) Content delivery or live delivery corresponding to the given environment, i.e., network load, user terminal processing capacity, or stream server congestion level, etc., in real time I do.

 (2) Combine content distribution and live distribution with a small amount of hardware.

 (3) Reduce the required database capacity.

 (4) Realize one-source multi-use not only for the requested content and coding method but also for the requested coding rate.

 (5) Enable the user terminal to search for any video, change the optimal coding rate, and change the resolution according to the type of access line, the degree of network congestion, and the processing capacity of the user terminal.

 (6) Provide a content or live distribution service corresponding to the audience rating.

 (7) Speed up the determination of the presence or absence of the data requested by the user.

 (8) Reduce the number of hit mistakes in the data of the new content or new leap, new encoding method, and new encoding rate requested by the user.

(9) In hierarchical coding, improve the efficiency of changing the coding rate and resolution. <Prior art documents>

 • JP 2000-228669

 • JP 2001-54095

 • JP 2001-54094 A

 JP-A-10-108160

 • Disclosure of the invention in JP-A-2000-299702

 In order to solve the above problems, the stream server of the present invention comprises one or more transcoders, a cached database for storing data, and data required for content or live, encoding scheme, and encoding rate. When the transcoder and the cache type database are not stored in the cache type database, the transcoder and the cache type database are linked and controlled so that the requested data is stored in the cache type database. A determination unit; and a stream server.

 That is, the transcoder converts the specified content or live into data of the specified coding rate and of the specified coding method as usual. This data is stored in the cache database.

 The hit / miss determination unit determines that the requested data is stored in the cache type database when the requested data regarding the coding method and coding rate is not stored in the cache type database. Cache type database controls in cooperation. As a result, the cache-type database stores, for example, the content or live requested by the user terminal as data of the requested encoding rate of the requested encoding method. It is possible to realize content distribution or live distribution at the encoding rate of the encoding method.

The cache-type database and transcoder referred to here are assumed to include the control / arbitration unit described later, but in the following, the cache-type database is divided into the cache-type database body and its control / arbitration unit. , Trance The coder may be displayed separately for the transcoder and its control / arbitration unit.

 Further, in the present invention, the transcoder may be an encoder or a CODEC.

 That is, in the present invention, the transcoder includes the C0DEC and the encoder. For example, for live distribution, it is possible to use an encoder instead of a transcoder.

 Further, according to the present invention, the cache-type database can have a plurality of lines each storing the data of the same content or the same coding rate and different coding rates for the same coding scheme.

 That is, the cache database has a plurality of lines, and each of these lines stores, for example, data obtained by converting the same content and coding method to a different coding rate.

 As a result, multicast-type content distribution or live distribution is realized to an unspecified number of user terminals. That is, it is possible to realize a one-source multimedia that distributes the content or live, the encoding method, and the encoding rate corresponding to each user terminal.

 Further, the present invention performs negotiations regarding call control or start control, pause control, or rewind control of data distribution with the user terminal, and notifies the hit / miss determination unit of the result. A call control / negotiation processing unit which performs the cooperative control on the transcoder and the cache type database based on the result.

 In other words, the call control / negotiation processing unit performs call control, start control, pause control, or rewinding of the data distribution with the user terminal.

 Based on this result, the hit / miss determination unit controls the start, pause, or rewind of the distribution of the data stored in the cache database.

This makes it possible to control start, pause, and rewind of content distribution, and also to control start, pause, and rewind of live distribution by storing and storing data in a cache database. Become. The present invention further monitors at least one of a network load with the user terminal, a congestion degree of the content server, and a processing capability of the user terminal, and provides a monitoring result to the hit / miss determination unit. A network monitoring unit, wherein the hit / miss determination unit can determine an optimal coding rate based on the monitoring result. That is, the network monitoring unit monitors the network load with the user terminal, the congestion degree of the content server, or the processing capability of the user terminal. Based on this monitoring result, the hit / miss determination unit determines the optimal coding 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 degree of the content server, the current processing capacity of the user terminal, and the like can be performed.

 That is, in a given environment, more comfortable content distribution or live distribution can be controlled in real time for the user.

 Further, in the present invention, it is possible to further include a protocol implementation processing unit that implements a predetermined protocol and performs a communication process with a 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.

 Further, in the present invention, the protocol implementation processing unit includes 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. Can be.

 As a result, it becomes possible to distribute contents or live distribution and control them based on protocols such as IP, UDP, RTP, RTCP, and RTSP.

 Further, in the present invention, the protocol implementation processing unit may include an MPEG sequence header processing unit.

As a result, it is possible to change the optimal coding rate and the resolution of the MPEG coding method in consideration of the access line type, network congestion degree, or user terminal capability, and The cueing function of an arbitrary image becomes easy.

 Further, in the present invention, the transcoder converts at least one of the input material data, transcode data, and live data into data of a specified coding rate of the specified coding system. Can be converted to

 That is, the transcoder can, for example, input material data or transcode data from a source database device, and input live data from a video input device to convert the data.

 The connection between the stream server and the source database device or the video input device may be either a direct connection or a connection via a network.

 Also, in the present invention, the hit / miss determination unit determines the order of the search for the requested content or rope, the search for the encoding method, the search for the coding rate, and the search for whether the data is valid. Hit / miss judgment of request data can be performed in a predetermined order.

 That is, the hit / miss determination unit performs, for example, a search for the requested content or live and its encoding method, a search for the coding rate, and a search for the request data in the order of validity / non-validity. Make a mistake decision.

 As a result, hit / miss determination becomes easier and hardware can be greatly reduced.

 Also, in the present invention, the hit / miss determination unit determines whether or not data of the requested content or live, the encoding method, and the encoding rate are stored in the cache database. It can be determined whether or not the coding rate is within an allowable range.

 That is, when the hit / miss determination unit determines whether or not the requested content or the data converted to the live, encoding scheme, and encoding rate is stored in the cache type database, For example, it is considered that the data of the coding rate that is not the same as the requested coding rate but is within the allowable range from the requested coding rate is also a hit.

This makes it possible to deliver data at an acceptable coding rate instead of the requested coding rate, and to transmit data at all requested coding rates. This eliminates the need to store the content, enabling efficient operation of the cache database and realizing stable content distribution and live distribution. Further, in the present invention, when the hit / miss determination unit determines that the requested content or live data, the encoding method, and the data of the encoding rate are not stored in the cache database, the hit / miss determination unit determines the request. Discards data at a coding rate close to the requested coding rate, and stores the requested data at the location where the data was stored. Thus, the transcoder and the cache database can be controlled in cooperation with each other. That is, when the data of the requested content or live, the encoding method, and the encoding rate are not stored in the cache database, the hit / miss determination unit determines that the requested content or live is not stored. Although the requested coding method is used, data having a coding rate close to the requested coding rate is searched and discarded.

 Then, the hit / miss determination unit controls the transcoder and the cache database in cooperation with each other so as to store the requested data at the position where the data was stored.

 This makes it possible to deliver the requested data to the user terminal. Further, in the present invention, the hit / miss determination unit can discard low-viewing-rate content data or live data, or low-viewing-rate coding rate data. As a result, the size of the cache database can be reduced, and the hit rate of the cache database can be increased because the content or live data with a high audience rating is maintained.

 Also, in the present invention, the cache database stores viewing start time information, stop time information, and change time information of the requested data provided from the network monitoring unit, and The / miss determination unit can perform a hit / miss determination based on the information.

That is, the cache database stores viewing start time information, stop time information, and change time information for the requested data provided from the network monitoring unit. The hit / miss determination unit, based on the information, Calculates the real-time audience rating and makes a hit / miss judgment based on this audience rating. This allows the hit / miss determination unit to perform a hit / miss determination in consideration of, for example, a real-time audience rating.

 Further, in the present invention, the hit / miss determination unit discards at least one of low-viewing-rate content data or live data, low-viewing-rate coding method, or low-viewing-rate coding rate data. And instructing the transcoder and the cached database to store the requested content or live, encoding, and encoding rate data at the location where the discarded data was stored. Can be done.

 In other words, the hit / miss determination unit, for example, when the storage location of the requested content or data of the content, encoding method, and encoding rate is not in the cache type database, the content data of the low audience rating Or, discard the live data, the low-viewing-rate coding method, or the low-viewing-rate coding rate data.

 Then, in the place where the discarded data was stored, the data of the requested content or live, the encoding method, and the encoding rate are stored.

 This makes it possible to secure a place to store the data of the requested content or live, encoding method, and encoding rate.

 In addition, the size of the cache database can be reduced, and high-viewing-rate content or live data is maintained.

 As a result, the hit rate of the cache-type database increases, and efficient operation of the cache-type database can be realized.

 Further, in the present invention, when there is an unused transcoder, the hit / miss determination unit controls the transcoder and the cache type database so that a new content or a new live is transmitted to a predetermined code at a predetermined coding rate. The data can be converted into data in a conversion format and stored in the cache database.

That is, when there is a new content or a new live, and when there is a transcoder that is not used, the hit / miss determination unit converts the new content or the new live into data of a predetermined coding method at a predetermined coding rate. Controlling the transcoder and the cached database to be stored in the cached database. Control.

 Thus, for example, when the requested content is not converted and the cache type database has an empty space, the transcoder converts the new content into data of a predetermined coding rate of a predetermined coding method in advance. It can be converted. As a result, it is possible to avoid contention for access between the transcoder and the cached database, and to realize effective use of resources.

 Further, in the present invention, in the layer coding based on the spatial scalability, the temporal scalability, or the SNR scalability, the transcoder newly adds only the coding rate change target layer and the coded data of the next higher layer. When the sum of the absolute value of the difference between the decoded data decompressed from the new upper layer and the decoded data decompressed from the current upper layer is equal to or less than a predetermined threshold, the newly created target layer and the upper layer are It can be the current hierarchy.

 This makes it possible to change the target coding rate without affecting other coding rate data used.

 In addition, only by newly creating a coding rate change target layer and a layer one level higher than it, there is no need to newly create data of all upper layers, and enormous hardware is not required. Resource usage can be reduced. BRIEF DESCRIPTION OF THE FIGURES

 FIG. 1 is a block diagram showing an embodiment of a stream server according to the present invention.

 FIG. 2 is a block diagram showing a configuration example of a cache database in the stream server according to the present invention.

 FIG. 3 is a diagram showing an example of a three-step search procedure in the stream server according to the present invention.

 FIG. 4 is a flowchart showing an operation procedure at the time of negotiation of the stream server according to the present invention.

FIG. 5 shows the operation of the stream server according to the present invention during network monitoring. It is the flowchart figure which showed the procedure.

 FIG. 6 is a diagram showing hit / miss determination of a requested content (or a rope), an encoding method, and the like in a stream server according to the present invention and subsequent processing. FIG. 7 is a diagram showing hit / miss determination of a requested coding rate and the like in a stream server according to the present invention, and subsequent processing.

 FIG. 8 is a diagram showing an example of a coding rate change (lower coding rate → higher coding rate) in hierarchical coding in the stream server according to the present invention.

 FIG. 9 is a diagram showing a coding rate change method (high coding rate → low coding rate) in hierarchical coding in the stream server according to the present invention.

 FIG. 10 is a block diagram showing conventional content distribution and live distribution. Explanation of reference numerals

 100 stream server 10 transcoder control / arbitration unit

20, 20— 1 to 20_L Transcoder, encoder, CODEC

 30 Database control / arbitration unit 40 Cache type database

41, 41_1〜41J1 Taggram (TAG_RAM) 41a Viewing history (MRU)

 41b Contents name (Contents) 41c Encoding method (COD)

 41d taggram 'address (TAG—RAM— Adr) 42, 42— 1 to 42— N taggram

 42a Viewing history (MRU) 42b Encoding rate (Rate)

 42c Layer 43 Cache

 43— 1 to 43— N line (LINE) 43a Index

 50 Hit / miss judgment unit 60 Network monitoring unit

 70 Call control / negotiation processing section 80 Protocol implementation processing section

 81 IP header processing unit 82 UDP header processing unit

 83 RTP header processing section 84 MPEG sequence header processing section

85 RTCP header processing unit 86 RTSP header processing unit

 90, 90— 1 to 90— 6 punk

 110 Content server 120 Video input device

 130 Ryanore 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 absolute difference

 01 ~ 0x, l l ~ lx, 21 ~ 2x, yl ~ yx Viewing history

 T1 to T3 hit / miss judgment

 In the drawings, the same reference numerals indicate the same or corresponding parts. BEST MODE FOR CARRYING OUT THE INVENTION

 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 by reference numeral 20), a database control / arbitration unit 30, a cache database 40, a hit / It comprises a miss determination unit 50, a network monitoring unit 60, a call control / negotiation processing unit 70, and a protocol implementation processing unit 80. The cache type database 40 stores lines 43-1 to 43-す る (hereinafter, collectively denoted by reference numeral 43) for storing content data or live data (hereinafter, content data and live data may be collectively referred to as content data). ).

 The protocol implementation processor 80 includes an IP header processor 81, a UDP header processor 82, an RTP header processor 83, an MPEG sequence header processor 84, an RTCP header processor 85, and an RTSP header processor. It consists of 86.

The hit / miss half 1J setting unit 50 checks whether or not the requested data is stored in the cache type database 40, and the network monitoring unit 60 uses the RTCP protocol to execute the network. The call control / negotiation processing unit 70 monitors the network, and performs call control and negotiation according to the RTSP protocol.

 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.

 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”.

 The taggram 41 is managed in units of “content” and “encoding method”, and “content” and “encoding method” store, for example, content information and its encoding method information, respectively.

 The “MRU” in taggram 41 contains viewing history information such as viewing start / stop / change time information at the time of negotiation or network coding ((RR type RTCP packet feedback)) coding rate change. 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.

 The taggram 42 is composed of taggrams 42_1 to 42—N (hereinafter may be collectively referred to as a code 42) composed of “MRU”, “coding rate”, and “layer” fields. "It is managed in units.

 The “MRU” of the taggram 42 stores viewing history information (viewing rate information) such as viewing start / stop / change time information when the coding rate is changed.

 The "coding rate" and the "hierarchy" store the coding rate information and the hierarchy, respectively.

 The cache 43 is constituted by lines 43_1 to 43-N (hereinafter sometimes collectively denoted by reference numeral 43) composed of data 1 to data XI,... And data 1 to data XN. Each line 43 further includes a valid field indicating valid / invalid of each data. In the case of MPEG data, the management unit of the content data stored in each of the data 1 to X1 is a GOP (Group Of Picture).

These lines 43 1 to 43—N correspond to taggrams 42_1 to 42_N, respectively. This correspondence is shown, for example, by providing a field (not shown) indicating the head address of the line 43 in the taggram 42.

 FIG. 2B shows the taggram 41_1 shown in FIG. 5B in more detail. In the taggram 41_1, the content and the encoding method of the management unit are “content 710-1” and “content 710-1,” respectively. "MPEG2J, indicating that the MRU is from viewing history 01 to viewing history Ox.

 In addition, in the taggram 41-1, the head address of the tag “42” (encoding rate) corresponding to “contents 710_1” and “MPEG2J” is “0x0”, “0x1”,…, “0xy”. It is shown.

 FIG. 3 (3) shows a more detailed example of the taggrams 42-1, 42_2,... Shown in FIG. 5 (5). In this example, a taggram 42-1 specified by an address = "0x0" of the taggram 41-1 of the taggram 41-1 is shown.

 The taggram 42-1 indicates that the layer of the coding rate = "1Mbps" is "1", and that the MRU is the viewing history 11 to 1X.

 Stream. The basic operation of the server 100 is as follows: hit / miss determination unit 50 power S, trigger from user terminal [1] Negotiation or trigger [2] RR type RTCP packet feed pack (network At the time of monitoring), the hit / miss judgment of the cache database 40 is performed.

 In addition, the hit / miss determination unit 50 detects a trigger other than the trigger [1] or [2]. [3] There is an unused transcoder, and the popular content is newly stored in the source database. If not stored, hit / miss judgment of the cache type database 40 is performed by an autonomous cooperation operation, and encoded data of popular content is stored in the cache type database 40.

As a result, for example, even when a distribution request from an unspecified number of users competes at the start of popular content distribution, the content can normally be read from the cache database. In this way, a finite number of transcoder resources can be effectively used, and the responsiveness of the delivery service to the user terminal (receiving side) can be realized. FIG. 3 shows a basic operation procedure of the hit / miss determination unit of the stream server 100. In streaming technology, for example, as shown in FIG. Multiple encoding rates (1 Mbps, 5 Mbps,..., 20 Mbps) are supported for the ten (or live) 710_1 and encoding scheme (MPEG2).

 Therefore, the hit / miss determination unit 50 performs hit / miss determination of the cache database 40 in the following three stages (Π) to (T3).

 (T1) Retrieve taggram 41 to determine whether the requested content or the live and encoding schemes are stored (see determination T1 in FIG. 2 (1)).

 (T2) Next, the search in taggram 42. is searched to determine whether or not the requested coding rate is stored (see determination T2 in FIG. 2 (1)).

 (T3) Finally, the “valid (Val id) 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] During negotiation

 FIG. 4 shows an example of an operation procedure at the time of the negotiation of the stream 'server 100 (Trigger [1]) of the present invention. The operation procedure at the time of negotiation will be described below with reference to FIG.

 In this description, a case will be described in which the user terminal 170 requests the content 710 stored in the source database 700 shown in FIG.

 The same applies to the case where the user terminal requests RIP 720, but in the case of RIP distribution, an encoder can be used as the transcoder 20, and the transcoder control / arbitration unit 10 shown in FIG. / Arbitration Department 10

 In FIG. 4, step S100 surrounded by a dashed line shows a cache-type database search procedure of the hit / miss determination unit 50, and step S200 surrounded by a dashed line is the transcoder control / arbitration unit 10, the database control / arbitration unit. 30 and the transcoder procedure in the hit / miss determination section 50. Step S300 enclosed by a broken line shows the protocol implementation processing procedure of the protocol implementation processing section 80.

 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.

 Steps S110 to S130: The hit / misjudgment unit 50 checks the command requested by the user terminal 170.

-Data, coding scheme, and coding rate, for example, content 710-1, It is checked whether or not data matching MPEG2 and 5 Mbps is stored in the cache database 40.

 That is, in FIG. 2, the hit / miss determination unit 50

For example, (TO) shown in (1), a request is received that the content name = content 710_1, the encoding method = “MPEG2”, and the encoding rate = “5Mbps”.

 At the time of negotiation, there is no request for the G0P number shown in Figure (1).

 Accordingly, the hit / miss determination unit 50 performs the hit / miss determination T1 shown in (1) of FIG. 2 to search the content 710_1 and the encoding scheme “MPEG2” from the taggram 41 in (2) of FIG. Hits the taggram 41_1.

 Further, the hit / miss determination unit 50 determines the taggrams 42-1 to 42-y corresponding to the head address = 0x0, 0x1,..., Oxy indicated in the taggram 42 address field of the taggram 41_1. Hit / miss semi-IJ fixed T2 shown in (1) to search for coding rate = "5 Mbps" from the inside is performed, and it hits taggram 42_2.

 Step S180: Further, the hit / miss determination section 50 performs a hit 1 / 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. Do.

 If the encoded data is valid, the hit / miss determination unit 50 reads out the valid data “1” as data 802 and provides 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.

 If the data is invalid, the hit / miss determination unit 50 proceeds to step S210 of the transcoder entry.

 Steps S310 to S340: The protocol implementation processing unit 80 inserts the MPEG sequence header, the RTP header, the UDP header, and the IP header into the data 801 and stores the data on the line 43_2 in the user terminal 170 via the IP network 140. Distribution of the content is started (data distribution T4 in Fig. 2 (1)).

Steps S140 to S170: If there is a miss in steps S110 and S120 (data does not exist), the hit / miss determination unit 50 searches the cache-type database 40 for the data non-stored line 43 or sets it in advance. Content with a rating lower than the threshold a Search for the encoding system with low audience rating, and search for the encoding rate with low audience rating. In other words, the hit / miss determination unit 50 searches the data non-storage line 43 in FIG. 2 (5), and if there is no (miss), the content / content indicating the audience rating lower than the threshold a in the MRU of the taggram 41. If the coding method is searched, and if there is no (miss), the coding rate indicating the audience rating lower than the threshold a in the MRU of taggram 42 is searched.

 Step S210: If one of the above-mentioned searches is hit (there is a hit line), the hit / miss determination unit 50 sends the transcoder to the transcoder control / arbitration unit 10 and the database control / arbitration unit 30, respectively. Re-request signal 800 and signal 801 are given.

 For example, when the transcoder 20_2 is unused, the transcoder control / arbitration unit 10 transmits the user-requested content (material or transcode) 710 indicated by the transcoder entry request signal 800 from the source database 700 to the transcoder. To the leader 20-2.

 If there is no unused transcoder, go to step S290.

 Step S220: The transcoder 20_2 gives the data obtained by performing real-time encoding processing on the content 710 to the database control / arbitration unit 30. The database control / arbitration unit 30 stores data encoded in, for example, unstored lines (or low-viewing-rate lines) 431-1 in the cache database 40 (cache file).

 Step S230: The hit / miss determination section 50 reads out the data 802 from the cache-filled line 43-2 and gives it to the protocol implementation processing section 80.

 Steps S310 to S340: The protocol implementation processing unit 80 sequentially starts the requested content distribution or live distribution to the user terminal 170 via the IP network 140, similarly to the above steps S310 to S340.

Step S290: In the above steps S140 to S170, when the search for the unstored line, the search for the content with a low audience rating, the search for the encoding system with a low audience rating, and the search for the encoding rate for the low audience rating are all mistakes. Or, in step S210, when there is no unused transcoder 20 (transcoder entry request failed), the entry request from the user terminal 170 fails. · [2] During network monitoring

 FIG. 5 shows an operation procedure when the stream server 100 is performing content distribution or live distribution to the user terminal 170 and receiving an RR type RTCP packet from the user terminal 170 (see FIG. 1). I have.

 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 database search procedure, step S600 shows an entry procedure to a transcoder, and step S800 shows a protocol implementation processing procedure. .

 S410: The call control / negotiation processing unit 70 receives the RR type RTCP packet transmitted from the user terminal 170, and provides the feedback information included in this packet to the hit / miss determination unit 50.

 The RR type RTCP bucket is based on the stream reception status (Fraction Lost), the cumulative packet loss rate (Cumulative Number of Packet Lost), and the fluctuation between packet arrivals (Interarrival Jitter). This is a bucket that feeds the information about) and) to the stream sender.

 Based on this information, the hit / miss determination unit 50 determines the current network congestion level and the capability of the user terminal 170 based on the number of viewers, viewing history, bucket discard rate, accumulated packet discard rate, fluctuations in packet arrival intervals, and the like. Calculate the optimal coding rate in consideration of such factors.

 That is, the hit / miss determination unit 50 determines T0 in FIG. 2 (1), that is, the content name, encoding method, encoding rate, and G0P number distributed to the user terminal 170.

 Step S510: The hit / miss determination section 50 checks whether or not data matching the calculated optimum coding rate is stored in the cache database 40. That is, the hit / miss determination unit 50 determines whether or not there is an optimum coding rate for the requested content and coding scheme in FIGS. 2 (2) and (3). Perform Tl, Τ2.

Steps S590 and S710: If an optimum coding rate exists (hit), the hit / miss determination unit 50 determines whether the data of the line corresponding to the coding rate is valid or not. Miss judgment T3 is performed (see (1) in the same figure).

 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.

 Steps S810 to S840: The protocol implementation processing unit 80 transmits the optimal coding rate data 802 incorporating the MPEG sequence header, the RTP header, the UDP header, and the IP header to the user terminal 170 and the IP network 140 To be delivered sequentially. As a result, the optimum coding rate data 802 is delivered to the user terminal 170 following the previous coding rate data.

 Steps S590 and S770: If the data is missed (invalid), it indicates that the cache has the required coding rate but the data itself does not exist.

 Therefore, hit / miss determination section 50 provides signal 800 and signal 801 to transcoder control / arbitration section 10 and database control / arbitration section 30, respectively.

 Based on these signals 800 and 801, the transcoder currently in use encodes the requested content into data at the requested coding rate with the requested coding scheme, Stored in line 43 hit in step S510 (cache fill).

 Step S780: The hit / miss determination section 50 reads out the data of the hit line 43 and gives it to the protocol implementation processing section 80.

 Steps S810 to S840: The protocol implementation processing unit 80 sequentially distributes the data 802 in which the MPEG sequence header, the RTP header, the UDP header, and the IP header are inserted to the user terminal 170 via the IP network 140.

 As a result, the data of the optimal coding rate is distributed to the user terminal 170.

 Steps S510, S520: If there is no data at the optimum coding rate (miss), the hit / miss determination unit 50 searches the cache type database 40 for coded data closest to the optimum coding rate.

That is, the hit / miss determination unit 50 determines the coding level of the taggram 42 corresponding to the taggram 41 corresponding to the requested content and coding scheme in FIGS. 2 (2) and (3). Search for the coding rate closest to the optimal coding route (comparative coding rate) in the packets.

 S530: Absolute difference value x = I Optimal coding rate-Comparative coding rate I is equal to or less than a predetermined threshold b, and the hit / miss determination unit 50 regards that the requested data exists (hit).

 Step S590: The hit / miss determination section 50 performs a hit / miss determination T3 as to whether or not the data of the line regarded as a hit is valid. If the data is valid, the data is read out, and the protocol implementation processing section is performed. Give to 80.

In other words, the hit / miss determination unit 50 gives the valid data 802 read from the line 43 corresponding to the tag rate 42 of the encoding rate hit in FIGS. 2 ( 3 ) and (4) to the protocol implementation processing unit 80. Subsequent operations are the same as steps S810 to S840 described above.

 As a result, although not the data of the optimum coding rate, the data of the coding rate within the allowable range is distributed to the user terminal 170.

Step S540: If the absolute difference value X is larger than the set threshold value b and equal to or smaller than the threshold value c, the hit / miss determination unit 50 determines that the requested data does not exist (the hit / miss determination in FIG. 2 (1)). , Τ2) and the data of the coding rate to be compared stored in the cache database 40 is unnecessary (there is a request for changing the coding rate by the RTCP packet of the RR type). / Provides transcoder entry request signal 800 to arbitration unit 10.

 Steps S610, S620: The transcoder control / arbitration unit 10 responds to the transcoder entry request by using material data or transcoded data as a source when an unused transcoder 20 exists in the transcoder 20. Then, a real-time encoding process is performed, and the processed data is stored in a comparison target encoding rate line (miss line) in the cache type database 40 (cache fill).

 Step S720: The hit / miss half 1J definition 50 gives the data 802 read from the cache-filled line to the protocol implementation processing unit 80.

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. 11312 This makes it possible to fill the line of the comparison target coding rate whose absolute value with the optimum coding rate is larger than the threshold b and equal to or smaller than the threshold c with the data of the optimum coding rate. This data fill also has little effect on video and audio for the user terminal that uses the data of the line of the coding rate to be compared.

 If the absolute value of the difference is larger than the set threshold c, changing the coding rate from the comparison target data to the requested data will affect the video and audio for users who use the comparison target coding rate data. Is big.

 Therefore, the hit / miss determination unit 50 makes the following determination.

 Steps S550 and S630: The hit / miss determination unit 50 searches the unstored line 43 of the cache type database 40 because the absolute value of the difference between the coding rates to be compared is large, and if the target line exists (hit). The transcoder control / arbitration unit 10 is supplied with a transcoder entry request signal 800.

 Steps S640, S730: The transcoder control / arbitration unit 10 transmits the material data or the transcode data to the unused transcoder 20 when there is an unused transcoder 20 in response to the transcoder entry request. give.

 The transcoder 20 performs a real-time encoding process on the given data, and stores (cache-fills) it in the unstored line 43 via the database control / arbitration unit 30. Data 802 is read from this fill line and transmitted to the user terminal.

Steps S560 to S580: Since there is no unstored line, the hit / miss determination unit 50 determines that the content is lower than the preset threshold a from the cache type database 40, the content of the audience rating, the encoding method, or the encoding rate. Find the line 4 3, if the target data exists (hit), requests the transcoder E entry against transcoder controller / arbitration section 10.

 Steps S650 and S660: The transcoder control / arbitration unit 10 transmits the material data or the transcode data to the unused transcoder 20 when there is an unused transcoder 20 in response to the transcoder entry request. give.

The transcoder 20 performs a real-time encoding process on given data, and performs a cache-based database 40 via a database control / arbitration unit 30. T 脑 Store in low rating line 43 of 02/011312 內 (cache fill).

 Step S740: The hit / miss determination section 50 reads the data 802 from the cache-filled line 43 and supplies it to the protocol implementation processing section.

 Steps S810 to S840: The protocol implementation processing unit 80 continues distribution of the data into which the above header has been inserted to the user terminal.

 Steps S580, S670, S680, S760: If there is no target data in the search for unstored lines and viewing history lines lower than threshold a stored in the cache type database, the hit / miss determination unit 50 A transcoder entry request signal 800 is given to the transcoder controller / arbitrator 10.

 If there is an unused transcoder, real-time encoding is performed on the material data or transcode data, and the data is stored in the comparison target coding rate line 43 in the cache type database 40. (Cache fill). The data read from the cache-filled line 43 is supplied to the protocol implementation processing unit 80.

 Steps S810 to S840: The protocol implementation processing unit 80 continues data distribution to the user terminal 170 sequentially.

 Steps S610, S630, S650, S670, S750: If there is no unused transcoder 20, the coding rate change request based on the RR type RTCP packet fails. The hit / miss determination unit 50 continues transmitting data at the current coding rate, and waits for the next coding rate change request.

 The stream server 100 performs live distribution by such cooperative operation of the transcoder control / arbitration unit 10, the transcoder 20, the database control / arbitration unit 30, the cache type database 40, and the hit / miss determination unit 50. In addition to content distribution, real-time encoding can be performed in real time, taking into account the network load, the processing capability of the user terminal, and the like.

In addition, the stream server 100 discards the content data and the live data of the coding scheme of the high viewing rate by discarding the content data and the live data of the coding rate of the low viewing rate. Only will continue to be stored in cached database 40. As a result, usually, the high audience rating data stored in the cache database 40 can be distributed to many user terminals.

 In other words, the stream 'server 100 provides a comfortable multicast type for an unspecified number of users in consideration of the real-time network load, the processing capacity of the user terminal 170, the congestion degree of the stream' server 100, and the like. Content distribution and live distribution can be realized, and "one-source multi-use" can be realized, which covers not only the content and coding method but also the coding rate.

 In addition, the stream server 100 transmits content distribution data and live distribution data to an unspecified large number of users from a cache-type database that stores content data and live data of an encoding method with a high viewing rate encoding rate. Since it can be read (hit), it is not necessary to provide transcoders for the number of users, and the number of transcoders can be greatly reduced.

 In addition, the cache type database 40 of the stream server 100 always discards low-viewing-rate content and live that are viewed only by individual users, and deletes high-viewing-rate content such as movie content that is viewed by many users. Since only the audience rating live is kept stored, the database size can be significantly reduced, and the personal database distribution service in the stream server 100 is also facilitated. Further, the stream server 100 arranges a cache database 40 after the transcoder 20, stores content data and live data in the cache database 40 once, and distributes them to the user. It is possible to extend the communication function (selectivity) such as rewinding from the user terminal (reception side) to the stream server (distribution side) and requesting a pause.

 That is, the user terminal (reception side) 170 can enjoy the service without distinguishing between live distribution and content distribution, and can integrate live distribution and content distribution.

Also, the stream server 100 can easily change the frame rate, resolution, etc. implemented in the sequence header by inserting the MPEG sequence header processing unit 84 after the cache type database 40. , User terminal (reception side) arbitrary video cueing function, access line type, network congestion degree, Optimum coding rate / resolution change etc. can be easily realized in consideration of the processing capability of the user terminal.

 As described above, the stream server 100 of the present invention provides a one-source, multi-use, and user-friendly system with comfortable multicast communication to the unspecified large number of user terminals 170 by the cooperative operation of the transcoder 20 and the cache database 40. Integration of live distribution and content distribution by building a community environment between the terminal 170 and the stream 'server 100. In a given environment, the stream' server (distribution side) provides real-time and optimal control. As a result, users (recipients) can enjoy more comfortable delivery services and further reduce hardware.

 FIG. 6 shows the hit / miss determination method such as the requested content (or leap) and the encoding method in the hit / miss determination section 50 of the stream server 100 of the present invention in more detail. The step codes shown in the figure correspond to the step codes in FIG.

 [1] The hit / miss judgment (1) to (5) based on the three-stage search flow of the cache type database 40 at the time of negotiation will be described below.

 (1) The hit / miss determination unit 50 searches the taggram 41 and performs a hit / miss determination T1 of the requested content (or live) and the encoding method. If the request data exists (hit), the process transits to hit / miss determination T2 of the request coding rate in FIG. 7 described later (see steps S110 to S130 in FIG. 4).

 (2) If the requested 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 requested data in the unstored line 43 (the same step). S140, S210, S220).

 (3) If there is no unstored line in the search of taggram 42 (miss), hit / miss determination section 50 searches for a content line with a low audience rating, and the target data exists (hit). In this case, the data of the content line with a low audience rating is discarded, and the requested data is stored in this line (see steps S150, S160, S210, and S220 in the same step).

(4) In the search of taggram 41, if there is no content line with a low audience rating (miss), hit / miss determination section 50 searches for an encoded rate line with a lower audience rating than the MRU of taggram 42. , If the target data exists (hit), Discard the data on the encryption rate line and store the requested data in this line (see steps S170, S210, and S220).

 (5) In the retrieval of taggrams 41 and 42, if there is no low-viewing-rate content and low-viewing-rate coding rate, hit / miss determination unit 50 fails to read the target data (see step S180 in the same step). ).

 [3] Hit / miss determination (6) to (10) by autonomous operation of the cache database 40 when there is an unused transcoder is 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, respectively.

 (6) The hit / miss determination unit 50 makes a transition to a coding rate hit / miss determination T2 of FIG. 7 described later when there is (hit) the content (or live) of the request (new) encoding method. .

 (7) When there is no content (or live) of the required encoding system (miss) and there is an unstored line, add the content (or live) of the required encoding system to the unstored line.

 (8) When there is no content (or live) of the required coding method (miss), there is no unstored line, and there is a content with a low audience rating, the content with a low audience rating is discarded and the required encoding method is performed. Add the content (or live) from the discarded low-viewing content line.

 (9) If there is no content (or miss) in the required coding method (or live), there are no unstored lines, there is no low-viewing-rate content, and there is a low-viewing-rate coding rate, The coding rate is discarded, and the content (or live) of the required coding method is added to the discarded low-rated coding rate line.

 (10) No content (or live) of required coding method. (Missed), no unstored lines, no low-viewing-rate content, and no low-viewing-rate coding rate, new Content entry fails.

According to (7) to (9), the new content is autonomously stored in the cache database. FIG. 7 shows an example of hit / miss determination T2 of the requested coding rate in the present invention.

 This determination provides redundancy. That is, the absolute difference 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 requested data stored in the cache type database 40 currently distributed) and The judgment differs depending on the magnitude relationship with the predetermined thresholds b and c.

 In addition, the judgment operation differs between negotiation and network monitoring (RR type RTCP packet feedback). Note that the step codes shown in the figure correspond to the step codes in FIGS.

 [1] Hit / miss determination (1) to (5) of the required coding rate and the like at the time of negotiation will be described below.

 (1) When the absolute difference x≤threshold value b is satisfied, the hit / miss determination unit 50 determines that the requested coding rate exists (hit), and determines that the requested coded data has redundancy. Transition to cut / miss judgment T3.

 (2) If the threshold value b <the absolute difference value X, the hit / miss determination unit 50 determines that the requested coding rate does not exist (miss), searches the MRU of the tag 42 for an unstored line, and determines If there is a storage line, the request data is stored in the unstored line.

 (3) The hit / miss determination unit 50 performs a forced hit determination of the request coding rate hit / miss determination when there is no unstored line (miss) in the above-described unstored line search, and performs the next request coding. Transit to data hit / miss judgment T3.

 [3] Hit / miss determination of the requested coding rate during network monitoring (RR type RTCP packet feedback) T2 (4) to (8) are described below.

 (4) The hit / miss determination unit 50 determines that the required coding rate exists (deemed hit) when the absolute difference value x ≤ the threshold value b, and determines the hit / miss of the requested coded data. Transition to T3.

 (5) The hit / miss determination unit 50 determines that the requested coding rate does not exist (miss) when the threshold value b <the absolute difference value x≤the threshold value c, and determines the data of the coding rate line to be compared. After discarding, store the requested data in this line.

(6) If the threshold value c <the absolute difference value X, the hit / miss determination unit 50 It is determined that the data does not exist (miss), and the unstored line is searched from the MRU in taggram 42. If there is an unstored line and the target data exists (hit), the requested data is not stored. Store in line.

 (7) The hit / miss determination unit 50 determines that if there is no unstored line in the above-described unstored line search (miss), and if there is a coding rate line with a low audience rating in the taggram 42 (hit), The request data is stored in the coding rate line of the low audience rating.

 (8) The hit / miss determination unit 50 discards the line of the coding rate to be compared if the above-mentioned unstored line and the coding rate line of the low audience rate do not exist (miss), and stores the requested data in this line. Store.

 Note that the above (5) to (8) are processing when there is a transcoder to be used. In addition, since the real-time coding rate control is performed by the coding RTCP packet (RR type) feedback, autonomous coding rate control when there is an unused transcoder (hit / miss judgment of request coding rate T2 ) Is basically unnecessary.

 Hit / miss judgment of request encoded data When transition to T3, hit / miss half IJ setting unit 50: Performs hit / miss judgment T3 in cache 43 search, and when request data exists (hit) The hit is determined, and if the requested data does not exist (miss), the requested data is stored in the target index.

 As described above, in the cache-type database 40, as shown in FIG. 2, the MRU of the tag program 41 and the MRU of the taggram 42 are used to start / stop viewing / listening of each user in units of content and coding method and coding rate. By queuing the / change time information, hit / miss judgment can be performed in consideration of the start / stop time of each user's viewing of data stored in the cache database and the real-time rating.

In addition, the hit / miss judgment of the cache type database 40 described above is a normal judgment opportunity [1]: At the time of negotiation by a distribution request from a certain user terminal (reception side), a normal judgment opportunity [2]: RR type There is sometimes RTCP packet feedback. In addition to hit / miss judgment, in addition to the judgment triggers [1] and [2], when there is an unused transcoder, the operation trigger [3] is newly stored in the source database. Popular content that has not yet been stored in the cache database can be stored (cache-filled) in advance.

 The streaming technology supports a plurality of coding rates for one content or a live or coding method.

 Therefore, the hit / miss judgment of the cache database 40 is performed in response to the distribution request from the user by searching for the requested content or data corresponding to the live or encoding method (hit / miss judgment T1), and then performing the request. The search can be easily performed by performing a three-stage search, such as searching for data corresponding to the coding rate (hit / miss judgment T2) and finally searching for the requested data (hit / miss judgment T3). In addition to realizing high speed / high speed, the hardware scale of the hit / miss determination circuit can be significantly reduced.

 The hit / miss judgment of the cache type database 40 is based on the request content from the user (reception side) or the live stream, the encoding system, the encoding rate, and the taggram 41 when the encoded data does not exist (miss). Refer to the viewing history stored in the MRU of tag 42 and the MRU of tag 42 to view the content of low audience rating and the content of high audience rating and high audience rating required by an unspecified number of users to discard the coding rate line. Only the data of the coding rate of is stored, and efficient cache operation is realized.

 The hit / miss judgment of the cache database is based on the current congestion degree based on the feedpack information based on the RR type RTCP packet and the current required coding rate considering the user terminal processing capacity. If the absolute value of the difference from the used coding rate is equal to or less than a predetermined threshold, the hit / miss judgment with redundancy is performed to determine the real-time network congestion degree and user terminal processing capacity. Do not follow rapid changes.

 Also, even when the data stored in the cache database is higher than a predetermined threshold, for example, when all of the data is high-viewing-rate data, a forced hit determination is performed to determine the distribution data to other users. Has no effect.

 By the above operation, the stream 'server of the present invention can realize its own distribution request data by autonomous operation and the distribution data to other user terminals.

8 and 9 show examples of the layered coding method in the stream 'server 100 of the present invention. Is shown. This hierarchical coding is hierarchized by spatial scalability, temporal scalability, and SNR (Signal to Noise Ratio) scalability.When changing the coding rate of a certain layer, the coding rate change target layer and Create new encoded data only for the encoded data of the next higher layer of this layer.

 FIG. 8 shows a case where a low coding rate is changed to a high coding rate. In FIG. 1A, the coding rates of the layers 1, 2, 3, and 4 are 1 Mbps, 5 Mbps, 10 Mbps, and 20 Mbps, respectively.

 FIG. 4D shows a bank 90 in which the coding rates of each of the layers 1 to 4 shown in FIG. 1A are stored, and the codes 90 to 1 to 90_4 respectively include a code. It stores data of 1Mbps, 5Mbps, 10Mbps and 20Mbps.

 In the figures (2) and (5), when the coding rate of layer 2 is changed from 5 Mbps (low coding rate) to 7 Mbps (high coding rate), new layer 2 new coded data and this new layer New encoded data of new layer 3 (10 Mbps) that performs decompression operation with reference to 2 is stored in banks 90_5 and 90-6, respectively.

 In (3) and (6), when the sum of absolute differences between the decoded frame data decompressed from the new layer 3 and the decoded frame data decompressed by the current layer 3 falls below a certain threshold value, Layers 2 and 3 (punctures 90-2 and 90_3) are discarded, and new layers 2 and 3 (punctures 90-5 and 90-6) are changed to the current layers 2 and 3 and switched to the new layer configuration.

 FIG. 9 shows a case where a high coding rate is changed to a low coding rate. Figures (1) and (4) are the same as Figures 8 (1) and (4), respectively.

 In Fig. 9 (2) and (5), when the coding rate of layer 3 is changed from 10 Mbps (high coding rate) to 7 Mbps (low coding rate), new layer 3 (7 Mbps) and this new layer 3 The new coded data of the new layer 4 (20 Mbps) that performs the decompression operation using the as reference is stored in banks 90-5 and 90-6.

 In (3) and (6), when the sum of absolute differences between the decoded frame data decompressed from the new layer 4 and the decoded frame data decompressed by the current layer 4 becomes equal to or less than a certain threshold value, The layers 3 and 4 (punctures 90-3 and 90_4) are discarded, and the new layers 3 and 4 (punctures 5 and 90-6) are changed to the current layers 2 and 3 and switched to the new layer configuration.

That is, in the above-mentioned layer coding, the coding rate of a certain layer is changed. In this case, the coding rate is changed by changing only the next higher layer data without changing all the upper layers, using this layer data as reference data. To build a new hierarchy.

 In this coding rate change, the number of banks required can be realized only by the number of hierarchies + 2, and the hardware scale can be reduced.

 As described above, according to the stream server of the present invention, when the data required for the content or the live, the encoding method, and the encoding rate are not stored in the cache type database, the hit / miss The determining unit is configured to control the transcoder and the cache type database in cooperation with each other so that the requested data is stored in the cache type database. It is less necessary to distribute contents in real time according to the given environment, that is, the network load, the processing capacity of the user terminal, or the degree of congestion of the stream server, and to reduce the merging of content distribution and live distribution. It can be realized by hardware.

Claims

The scope of the claims
1. One or more transcoders,
 A cache-type database for storing data,
 When the requested data for the content or live, coding scheme, and coding rate is not stored in the cached database, the transformer is configured to store the requested data in the cached database. A hit / misjudgment unit that controls the coder and the cache database in cooperation with each other;
 A stream 'server, characterized by comprising:
2. In Claim 1,
 A stream server, wherein the transcoder is an encoder or a CODEC.
 3. In Claim 1,
 A stream server, characterized in that the cache type database has a plurality of lines each storing the data of the same content or the same encoding and different encoding rates for the same encoding scheme.
 4. In Claim 1,
 A call control / negotiation processing unit that performs call control or a negotiation relating to start control, pause control, or rewind control of data distribution with the user terminal and notifies the result to the hit / miss determination unit. Further having
 The stream server, wherein the hit / miss determination unit performs cooperative control on the transcoder and the cache database based on the result.
5. In Claim 1,
 Further, a network monitoring unit that monitors at least one of a network load with the user terminal, a congestion degree of the content server, and a processing capability of the user terminal, and provides a monitoring result to the hit / miss determination unit. Have
 A stream / server, wherein the hit / miss determination unit determines an optimum coding rate based on the monitoring result.
6. In Claim 1, A stream server, further comprising a protocol implementation processing unit that implements a predetermined protocol and performs a communication process with a user terminal based on the predetermined protocol.
7. In Claim 6,
 The protocol implementation processing unit includes 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. Trim 'server.
 8. In Claim 6,
 A stream server, wherein the protocol implementation processing unit includes an MPEG sequence header processing unit.
 9. In Claim 1,
 The transcoder converts at least one of the input material data, transcode data, and live data into data at a specified coding rate of the requested coding system. Stream to 'server.
 10. In claim 1,
 The hit / miss determination unit performs a predetermined order of searching for the requested content or live, searching for the coding method, searching for the coding rate, and searching for whether the data is valid or not. Stream server characterized by data hit / miss judgment.
 1 1. In Claim 1,
 The hit / miss determination unit determines whether the requested content or data, the coding method, and the data of the coding rate are stored in the cache type database. A stream 'server characterized by determining whether it is within an acceptable range.
 1 2. In Claim 1,
When the hit / miss determination unit determines that the data of the requested content or live, coding method, and coding rate is not stored in the cached database, the requested content or live is requested. An encoding method in which data at an encoding rate close to the requested encoding rate is discarded and the data is stored. A stream server that cooperates and controls the transcoder and the cache database so as to store the requested data at a specified location.
1 3. In Claim 1,
 A stream server, wherein the hit / miss determination unit discards content data or live data of a low audience rating or data of a coding rate of a low audience rating.
 1 4. In Claim 5,
 The cache database stores viewing start time information, stop time information, and change time information of the requested data provided from the network monitoring unit,
 A stream / server, characterized in that the hit / miss judgment unit makes a hit / miss judgment based on the information.
 1 5. In Claim 1,
 The hit / miss determination unit discards at least one of low-viewing-rate content data or live data, a low-viewing-rate coding method, or a low-viewing-rate coding rate data, and The transcoder and the cache-type database are instructed to store the data of the requested content or content, the encoding method, and the encoding rate in the place where the encoded data is stored. Stream server.
1 6. In Claim 1,
 When there is an unused transcoder, the hit / miss determination unit controls the transcoder and the cache type database to convert a new content or a new live into data of a predetermined coding method at a predetermined coding rate. Stream 'server characterized by storing in the cache type database.
 1 7. In Claim 1,
The transcoder newly creates only the coding rate change target layer and the coded data of the next higher layer in the hierarchical coding based on spatial scalability, temporal scalability, or SNR scalability, and decompresses from the new higher layer. The sum of the absolute value of the difference between the decoded data that has been A stream 'server, wherein the newly created change target layer and the upper layer are set as the current layer when the value is equal to or less than the threshold value of the stream' server.
PCT/JP2002/011312 2002-10-30 2002-10-30 Stream server WO2004040908A1 (en)

Priority Applications (1)

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

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004547993A JP4408811B2 (en) 2002-10-30 2002-10-30 Stream server
PCT/JP2002/011312 WO2004040908A1 (en) 2002-10-30 2002-10-30 Stream server
US11/116,314 US20050187960A1 (en) 2002-10-30 2005-04-28 Stream server

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/116,314 Continuation US20050187960A1 (en) 2002-10-30 2005-04-28 Stream server

Publications (1)

Publication Number Publication Date
WO2004040908A1 true WO2004040908A1 (en) 2004-05-13

Family

ID=32260019

Family Applications (1)

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

Country Status (2)

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

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006095868A1 (en) * 2005-03-11 2006-09-14 Pioneer Corporation Content data transmission device, content data transmission method, and remote reproduction system
JP2006311267A (en) * 2005-04-28 2006-11-09 Toshiba Corp Electronic equipment and contents managing method
JP2008507919A (en) * 2004-07-21 2008-03-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for hybrid multimedia presentation
JP2010511195A (en) * 2006-11-30 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Driving method and electrophoresis apparatus for electrophoresis cell
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
WO2011010688A1 (en) * 2009-07-22 2011-01-27 日本電気株式会社 Content delivery system, content delivery method and content delivery programme
JP2011239232A (en) * 2010-05-11 2011-11-24 Canon Inc Transmitter, transmission method, and program
JP4885219B2 (en) * 2005-07-28 2012-02-29 マイクロソフト コーポレーション Dynamic balancing of user experience in multi-user computing systems
JP2012157051A (en) * 2010-02-25 2012-08-16 Ntt Docomo Inc Rate shaping method and rate shaping apparatus
EP2785068A1 (en) 2013-03-26 2014-10-01 Fujitsu Limited Video image data delivery device, method and system
JP2015065493A (en) * 2013-09-24 2015-04-09 日本電気株式会社 Content distribution system, content distribution device, content distribution method, and content distribution program
JP2015097416A (en) * 2006-03-03 2015-05-21 ヴィドヨ,インコーポレーテッド System and method for providing error tolerance, random access and rate control in scalable video communication
CN105814567A (en) * 2013-10-18 2016-07-27 爱立信股份有限公司 Software-defined media platform
JP2017504227A (en) * 2013-11-01 2017-02-02 エリクソン エービー System and method for pre-provisioning adaptive bit rate (ABR) assets in a content delivery network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279979A (en) * 1995-04-07 1996-10-22 Nippon Telegr & Teleph Corp <Ntt> Picture storage and communication equipment
JP2001265645A (en) * 2000-01-14 2001-09-28 Web Tv Networks Inc Reformatting method by modular proxy server
JP2001527709A (en) * 1997-01-30 2001-12-25 マイクロソフト・コーポレーション VCR-like function for rendering video on demand
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.
JP2002185931A (en) * 2000-12-18 2002-06-28 Sharp Corp Share server unit for broadcast data and display device for the unit
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279979A (en) * 1995-04-07 1996-10-22 Nippon Telegr & Teleph Corp <Ntt> Picture storage and communication equipment
JP2001527709A (en) * 1997-01-30 2001-12-25 マイクロソフト・コーポレーション VCR-like function for rendering video on demand
JP2001265645A (en) * 2000-01-14 2001-09-28 Web Tv Networks Inc Reformatting method by 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.
JP2002185931A (en) * 2000-12-18 2002-06-28 Sharp Corp Share server unit for broadcast data and display device for the unit
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 (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507919A (en) * 2004-07-21 2008-03-13 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for hybrid multimedia presentation
JP4598823B2 (en) * 2005-03-11 2010-12-15 パイオニア株式会社 Content data transmitting apparatus, content data transmitting method and remote reproduction system
JPWO2006095868A1 (en) * 2005-03-11 2008-08-21 パイオニア株式会社 Content data transmitting apparatus, content data transmitting method and remote reproduction system
WO2006095868A1 (en) * 2005-03-11 2006-09-14 Pioneer Corporation Content data transmission device, content data transmission method, and remote reproduction system
JP2006311267A (en) * 2005-04-28 2006-11-09 Toshiba Corp Electronic equipment and contents managing method
JP4885219B2 (en) * 2005-07-28 2012-02-29 マイクロソフト コーポレーション Dynamic balancing of user experience in multi-user computing systems
JP2015097416A (en) * 2006-03-03 2015-05-21 ヴィドヨ,インコーポレーテッド System and method for providing error tolerance, random access and rate control in scalable video communication
JP2010511195A (en) * 2006-11-30 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Driving method and electrophoresis apparatus for electrophoresis cell
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
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program
WO2011010688A1 (en) * 2009-07-22 2011-01-27 日本電気株式会社 Content delivery system, content delivery method and content delivery programme
JP5408257B2 (en) * 2009-07-22 2014-02-05 日本電気株式会社 Content distribution system, content distribution method, and content distribution program
JP2012157051A (en) * 2010-02-25 2012-08-16 Ntt Docomo Inc Rate shaping method and rate shaping apparatus
JP2011239232A (en) * 2010-05-11 2011-11-24 Canon Inc Transmitter, transmission method, and program
EP2785068A1 (en) 2013-03-26 2014-10-01 Fujitsu Limited Video image data delivery device, method and system
JP2015065493A (en) * 2013-09-24 2015-04-09 日本電気株式会社 Content distribution system, content distribution device, content distribution method, and content distribution program
CN105814567A (en) * 2013-10-18 2016-07-27 爱立信股份有限公司 Software-defined media platform
JP2017501603A (en) * 2013-10-18 2017-01-12 エリクソン エービー Software-defined media platform
US10440080B2 (en) 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
CN105814567B (en) * 2013-10-18 2020-05-08 爱立信股份有限公司 Software defined media platform
JP2017504227A (en) * 2013-11-01 2017-02-02 エリクソン エービー System and method for pre-provisioning adaptive bit rate (ABR) assets in a content delivery network

Also Published As

Publication number Publication date
JP4408811B2 (en) 2010-02-03
JPWO2004040908A1 (en) 2006-03-02

Similar Documents

Publication Publication Date Title
US9877070B2 (en) Fast-start streaming and buffering of streaming content for personal media player
US9628532B2 (en) HTTP adaptive streaming server with automatic rate shaping
KR101699656B1 (en) Devices, systems, and methods for managing and adjusting adaptive streaming traffic
KR101983432B1 (en) Devices, systems, and methods for converting or translating dynamic adaptive streaming over http(dash) to http live streaming(hls)
US9161082B2 (en) System and method of delivering video content
US9866886B2 (en) Method and apparatus for distributing a media content service
JP5536811B2 (en) Moving picture coding apparatus and moving picture coding method
CN103843301B (en) The switching between expression during the network crossfire of decoded multi-medium data
KR101044213B1 (en) Transmission of video
US7024678B2 (en) Method and apparatus for producing demand real-time television
KR100703399B1 (en) Transcoding apparatus and method for seamless video contents transmission
Chakareski et al. Layered coding vs. multiple descriptions for video streaming over multiple paths
CA2294511C (en) System for adaptive video/audio transport over a network
US7274740B2 (en) Wireless video transmission system
US7958532B2 (en) Method of transmitting layered video-coded information
US8776161B2 (en) Systems and methods for video processing in network edge devices
JP3739836B2 (en) Video bitstream transmission method and apparatus
US7490342B2 (en) Content provisioning system and method
US8176199B2 (en) Content delivery system, communicating apparatus, communicating method, and program
US8700792B2 (en) Method and apparatus for expediting delivery of programming content over a broadband network
US7844992B2 (en) Video on demand server system and method
DE60305880T2 (en) Scalable targeted video equipment shipping based on the bandwidth or ability of the client
Stockhammer et al. H. 264/AVC video for wireless transmission
JP4426316B2 (en) Data streaming system and method
JP4980567B2 (en) Multimedia server with simple adaptation to dynamic network loss conditions

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004547993

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11116314

Country of ref document: US

122 Ep: pct application non-entry in european phase