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 JP2004547993A priority Critical patent/JP4408811B2/en
Priority to PCT/JP2002/011312 priority patent/WO2004040908A1/en
Publication of WO2004040908A1 publication Critical patent/WO2004040908A1/en
Priority to US11/116,314 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

Definitions

  • 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.
  • broadband networks such as the Internet have been developed due to the spread of ADSL and wireless LAN.
  • multimedia and multi-channel communication environments for transmitting and receiving data, voice, video, etc. are rapidly being improved.
  • 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.
  • Figure 10 shows an example of conventional live distribution and content distribution.
  • 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. .
  • the cache server 150-2 temporarily stores the live 720.
  • 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.
  • 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.
  • 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.
  • RTP Real-time Transport Protocol
  • RTCP Real-time Transport Control Protocol
  • 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.
  • 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.
  • one-source multi-use is not possible in terms of not only the content and coding method but also the coding rate.
  • 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.
  • 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.
  • 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.
  • a distribution server and a cache server are independently provided and operate independently.
  • 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.
  • 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.
  • 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.
  • the distribution server and the cache 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the transcoder may be an encoder or a CODEC.
  • the transcoder includes the C0DEC and the encoder.
  • the encoder for live distribution, it is possible to use an encoder instead of a transcoder.
  • 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.
  • 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.
  • 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.
  • 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.
  • the call control / negotiation processing unit performs call control, start control, pause control, or rewinding of the data distribution with the user terminal.
  • the hit / miss determination unit controls the start, pause, or rewind of the distribution of the data stored in the cache database.
  • 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.
  • a protocol implementation processing unit that implements a predetermined protocol and performs a communication process with a user terminal based on the predetermined protocol.
  • 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.
  • 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.
  • the protocol implementation processing unit may include an MPEG sequence header processing unit.
  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the transcoder and the cache database can be controlled in cooperation with each other.
  • the hit / miss determination unit determines that the requested content or live is not stored.
  • the requested coding method is used, data having a coding rate close to the requested coding rate is searched and discarded.
  • 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.
  • the hit / miss determination unit can discard low-viewing-rate content data or live data, or low-viewing-rate coding rate data.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the data of the requested content or live, the encoding method, and the encoding rate are stored.
  • the size of the cache database can be reduced, and high-viewing-rate content or live data is maintained.
  • the hit rate of the cache-type database increases, and efficient operation of the cache-type database can be realized.
  • 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.
  • 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.
  • 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.
  • the transcoder 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.
  • 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.
  • 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
  • RTP header processing section 84 MPEG sequence header processing section
  • Terminal adapter (TA) 170 user terminal 150_1, 150_2 Cache server 160 Terminal adapter (TA) 170 user terminal
  • 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.
  • TAG RAM taggram RAM
  • 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.
  • 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.
  • address of taggram 42 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.
  • 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.
  • 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.
  • 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).
  • a taggram 42-1 specified by an address "0x0" of the taggram 41-1 of the taggram 41-1 is shown.
  • 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.
  • 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.
  • FIG. 3 shows a basic operation procedure of the hit / miss determination unit of the stream server 100.
  • Multiple encoding rates (1 Mbps, 5 Mbps,..., 20 Mbps) are supported for the ten (or live) 710_1 and encoding scheme (MPEG2).
  • 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 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)).
  • 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.
  • step S100 surrounded by a dashed line shows a cache-type database search procedure of the hit / miss determination unit 50
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • step S290 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.
  • step S400 shows a network monitoring procedure
  • step S500 shows a cache database search procedure
  • step S600 shows an entry procedure to a transcoder
  • step S800 shows a protocol implementation processing procedure.
  • 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.
  • 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.
  • 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).
  • 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.
  • hit / miss determination section 50 provides signal 800 and signal 801 to transcoder control / arbitration section 10 and database control / arbitration section 30, respectively.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Steps S810 to S840 The protocol implementation processing unit 80 continues data distribution to the user terminal 170 sequentially.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the communication function selectiveivity
  • 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.
  • 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.
  • 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.
  • 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).
  • 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).
  • 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).
  • 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).
  • hit / miss determination unit 50 fails to read the target data (see step S180 in the same step). ).
  • 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.
  • 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. .
  • FIG. 7 shows an example of hit / miss determination T2 of the requested coding rate in the present invention.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • a forced hit determination is performed to determine the distribution data to other users. Has no effect.
  • 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.
  • FIGS. 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.
  • SNR Signal to Noise Ratio
  • FIG. 8 shows a case where a low coding rate is changed to a high coding rate.
  • 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.
  • 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.
  • the coding rate of a certain layer is changed.
  • 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.
  • 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.

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)

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.
近年、 ADSL及び無線 LAN等の普及によるインターネット等のネットワークのブ ロードバンド化が進んでいる。 これに伴い、 データ、 音声、 映像等を送受信する マルチメディア ·多チャネルの通信環境が急速に整備されている。 さらに、 常時 接続が一般化され、 情報家電とネットワークの融合化が促進され、 映像 ·音楽等 のコンテンツ配信及びライプ配信等の需要が拡大している。  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.
-' このようなネッ トワークにおいては、 マルチメディアを多重化して 1つのディ ジタル情報の流れとして扱うストリーミング技術によるライブ及ぴコンテンツを 配信は重要である。 背景技術  -'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
図 10 は、 従来のライブ配信及ぴコンテンツ配信例を示している。 ユーザ端末 (PDA) 170— 2がライブ 720を配信要求したときに、 キャッシュサーバ 150_2がライ ブ 720を保持していない場合、 映像入力装置 120で撮影されたライブ 720は、 リ アルタイムエンコーダ 130に与えられる。  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.
エンコーダ 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 '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.
ユーザ端末(携帯電話) 170一 3 、 同じ符号化方式 ·符号化レートのライブ 720 を配信要求したとき、 キャッシュサーバ 150— 2は、 記憶したライブ 720を、 ライ ブ配信 720bでユーザ端末 170_3に送信する。 コンテンツ 710は、 コンテンツサーバ 110のソースデータベース 700に格納さ れている。 ユーザ端末(デスク トップ PC) 170— 1がコンテンツ 710を配信要求した ときに、 キャッシュサーバ 150— 1がコンテンツ 710を記憶していない場合、 コン テンッ 710は、コンテンツサーバ 110から IPネットワーク 140及びターミナルァ ダプタ(TA) 160を経由して、ユーザ端末 170— 1にコンテンツ配信 710aが行われる。 このとき、 キャッシュサーバ 150_1は、 コンテンツ 710を一時記憶する。 この 後、 例えば、 ユーザ端末 170— 2からコンテンツ 710の配信要求があつたときのキ ャッシュサーバ 150—1の動作は、 キヤッシュサーバ 150—2と同様である。 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.
ライプ配信 720a, 720b及ぴコンテンツ配信 710aは、 例えば、 リファレンスデ ータ参照による伸長処理を行う MPEGストリーム等で行われる。  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.
IPネットワーク 140は、基本的にはべストェフォート型であり、 MPEGストリー ムを長時間途切れずに配信には適応していない。  The IP network 140 is basically a best-effort type, and does not adapt to MPEG stream distribution without interruption for a long time.
この課題を解決する従来技術として、 例えば、 リアルタイム転送プロ トコル (Real-t ime Transport Protocol , 以下、 RTP と称する。 )、 リアルタイム転送制 御プロ卜コノレ(Red - time Transport Control Protocol、 以下、 RTCPと称する。 ) 及ぴリアルタイム · ストリーム制御プロトコノレ(Real Time Streaming Protocol , 以下 RTSPと称する。 )等のストリーミング技術がある。  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 は、 メディア同期が受信側で可能となるように、 音声データや映像データ を伝送する際のバケツト形式を定めた伝送プロ トコルである。 RTSPは、 コンテン ッの配信開始や一時停止等のようなストリーム制御を行うプロ トコルである。 RTCPは、 音声や映像のストリームに対するフロー制御に必要な情報やメディア同 期のための基準時間情報を伝達する手順を定めているプロトコルである。  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.
これらのプロトコルによって、 ユーザ端末と配信元とのネゴシエーション、 デ ータ配信時におけるネットワーク負荷、 及びユーザ端末の処理能力等の与えられ た環境を考慮したより快適な RTPストリーム (コンテンツ配信又はラィブ配信) がリアルダイムで制御される。  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.
すなわち、 従来のストリーミング環境は、 コンテンツ配信において、 或る 1つ のコンテンツ (ワンソース) を、 符号化方式のみならず、 リアルタイムな最適符 号化レートも各ユーザ端末に対応したデータ (マルチユース) を配信することは 困難である。  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.
また、 ライブ配信において、 リアルタイムエンコーダ 130がリアルタイムェン コードデータを、 そのままネットワークに配信するため、 ユーザ端末は、 コンテ ンッ 'サーバに対して、 巻き戻し、 一時停止等のコミュニケーション (選択性) の拡張が困難である。  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.
コンテンツ配信において、 コンテンツに対応する複数の符号化データを予めデ ータベース化しているため、 多数のユーザが視聴する映画コンテンツ、 或る個人 ユーザのみが視聴するパーソナルビデオコンテンツに関係なく、 全コンテンツデ ータをデータベース化する必要があり、 莫大なデータベース容量が必要となる。 このため、 最近のトレンドである個人ユーザがオリジナルに制作したディジタ ルコンテンツ等を格納するパーソナルデータベースの構築にも限界が生じる。 また、 コンテンツ配信において、 データベースは、 圧縮された符号化データを 格納しており、 MPEG ストリームにおけるシーケンスヘッダの任意位置への挿入/ 削除が困難なため、 ユーザ端末(受信側)任意の映像の頭出し機能、 アクセス回線 種別、 ネッ トワークの混雑度、 ユーザ端末処理能力等を考慮した最適符号化レー ト /解像度変更等が困難である。 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.
しかし、 ネゴシエーション又はユーザ端末からの RR (Receiver Report)タイプ の RTCP パケットのフィードバックをトリガとして決定した符号化レートまでを 考慮した要求データの視聴開始/停止/変更を管理できない。 したがって、 視聴率 を考慮したヒット /ミス判定を実施することが困難である。  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.
従来のコンテンツ配信又はライブ配信は、 ネゴシエーション動作時又はストリ ーミングにおける RRタイプの RTCPバケツトフィードパック時のような、 ユーザ 端末からのアクションに対応して、 ス トリーム 'サーバが動作している。  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.
したがって、 ある映画コンテンツの配信開始となった日時に不特定多数ユーザ からの視聴要求が重なった場合に、 トランスコーダ(transcoder)へのアクセス競 合が多数発生し、 ユーザ端末に対する配信サービスの即応性が困難になる。  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).
そこで本発明は、 ストリーミング技術等によるインターネット等を媒体として ライプ及びコンテンツを配信するストリーム 'サーバにおいて、 以下の項目(1) 〜(9)を目的とする。  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)不特定多数ユーザ端末に対して、 それぞれ与えられた環境、 すなわち、 ネッ トワーク負荷、 ユーザ端末の処理能力、 又はストリーム 'サーバの混雑度等にリ アルタイムに対応したコンテンッ配信又はラィプ配信を行う。  (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)コンテンツ配信とライブ配信とを融合することを、 少ないハードウェアで実 現する。  (2) Combine content distribution and live distribution with a small amount of hardware.
(3)必要なデータベースの容量を削減する。  (3) Reduce the required database capacity.
(4)要求されたコンテンツ及び符号化方式のみならず、 要求された符号化レート に対応したワンソース ·マルチユースを実現する。  (4) Realize one-source multi-use not only for the requested content and coding method but also for the requested coding rate.
(5)ユーザ端末が、 アクセス回線種別、 ネッ トワークの混雑度、 及びユーザ端末 処理能力に対応した、 任意の映像の頭出し、 最適符号化レート変更、 及び解像度 変更を行うことを可能とする。  (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)視聴率に対応したコンテンッ又はライプ配信サービスを行う。  (6) Provide a content or live distribution service corresponding to the audience rating.
(7)ユーザが要求したデータの有無の判定を高速化する。  (7) Speed up the determination of the presence or absence of the data requested by the user.
(8)ユーザから要求された新コンテンツ又は新ライプ、 新符号化方式、 及び新符 号化レートのデータのヒットミスを少なくする。  (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)階層符号化において、 符号化レート及び解像度の変更の効率化を図る。 〈先行技術文献〉 (9) In hierarchical coding, improve the efficiency of changing the coding rate and resolution. <Prior art documents>
•特開 2000-228669号  • JP 2000-228669
•特開 2001-54095号  • JP 2001-54095
•特開 2001-54094号  • JP 2001-54094 A
·特開平 10- 108160号  JP-A-10-108160
•特開 2000-299702号 発明の開示  • Disclosure of the invention in JP-A-2000-299702
上記の課題を解決するため、 本発明のストリーム 'サーバは、 1つ以上のトラ ンスコーダと、 データを格納するキャッシュ型データベースと、 コンテンツ又は ライブ、 符号化方式、 及び符号化レートに関して要求されたデータが該キヤッシ ュ型データベースに格納されていないとき、 該キャッシュ型データベースに該要 求されたデータが格納されるように該トランスコーダ及び該キヤッシュ型デ一タ ベースを連携して制御するヒット /ミス判定部と、を備えたことを特徴としている ストリーム .サーバ。  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.
また、 本発明は、 該トランスコーダがエンコーダ又は CODECであることが可能 である。  Further, in the present invention, the transcoder may be an encoder or a CODEC.
すなわち、 本発明においてトランスコーダには、 C0DEC、 及びエンコーダを含む ものとする。 例えば、 ライブ配信の場合、 トランスコーダの代わりにエンコーダ を用いることが可能である。  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.
これにより、 コンテンツ配信に対する開始、 一時停止、 卷戻制御が可能になる とともにライブ配信をデータをキャッシュ型データベースに格納後、 行うことに より、 ライブ配信に対する開始、 一時停止、 巻戻制御も可能になる。 また、 本発明は、 さらに、 ユーザ端末との間のネットワーク負荷、 コンテンツ サーバの混雑度、又はユーザ端末の処理能力の少なくともいずれか 1つを監視し、 監視結果を該ヒット /ミス判定部に与えるネットワーク監視部を有し、 該ヒット / ミス判定部が該監視結果に基づき最適符号化レートを決定することができる。 すなわち、 ネットワーク監視部は、 ユーザ端末との間のネットワーク負荷、 コ ンテンッサーバの混雑度、 又はユーザ端末の処理能力を監視する。 この監視結果 に基づきヒット /ミス判定部は、各ユーザ端末に対する最適な符号化レートを決定 する。 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.
また、 本発明では、 該プロトコル実装処理部が、 少なくとも IPヘッダ処理部、 UDPヘッダ処理部、 RTPヘッダ処理部、 RTCPヘッダ処理部、 及ぴ RTSPヘッダ処理 部の中のいずれか 1つを備えることができる。  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.
これにより、 IP、 UDP, RTP、 RTCP, RTSP等のプロトコルに基づきコンテンツ配 信又はライプ配信及ぴそれらの制御することが可能になる。  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.
また、 本発明では、 該プロトコル実装処理部が、 MPEGシーケンスヘッダ処理部 を備えていることができる。  Further, in the present invention, the protocol implementation processing unit may include an MPEG sequence header processing unit.
これにより、 アクセス回線種別、 ネットワークの混雑度、 又はユーザ端末能力 を考慮した、 MPEG符号化方式の最適符号化レートの変更及び解像度変更、 並びに 任意の映像の頭出し機能等が容易になる。 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.
また、 本発明では、 該トランスコーダが、 入力した少なくとも素材データ、 ト ランスコードデータ、 及ぴライブデータの内のいずれか 1っを該指定された符号 化方式の指定された符号化レートのデータに変換することができる。  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.
また、 本発明では、 該ヒット /ミス判定部が、 低視聴率のコンテンツデータ又は ライブデータ、 低視聴率の符号化方式、 又は低視聴率の符号化レートのデータの 内の少なくとも 1つを破棄して、 該破棄されたデータが格納されていた場所に、 要求されたコンテンツ又はライブ、 符号化方式、 及び符号化レートのデータを格 納するように該トランスコーダ及びキャッシュ型データベースに指示することが できる。  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.
さらに、 本発明では、 該トランスコーダが、 空間スケーラビリティ、 時間スケ 一ラビリティ、 又は SNRスケーラビリティによる階層符号化において、 符号化レ 一ト変更対象階層及びその 1つ上位の階層の符号化データのみ新規に作成し、 該 新規上位階層より伸長された復号データと現上位階層より伸長された復号データ の差分絶対値の和が所定の閾値以下であるとき該新規作成された変更対象階層及 ぴ上位階層を現階層とすることが可能である。  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.
また、 符号化レート変更対象階層及びその 1つ上位の階層を新規作成するのみ で、 全上位階層のデータを新規に作成する必要がなくなり、 莫大なハードウェア が必要でなくなるとともに、 トランスコーダ等の資源の使用回数を少なくするこ とが可能になる。 図面の簡単な説明  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
図 1は、 本発明に係るストリーム 'サーバの一実施例を示したブ口ック図であ る。  FIG. 1 is a block diagram showing an embodiment of a stream server according to the present invention.
図 2は、 本発明に係るストリーム ·サーバにおけるキヤッシュ型データベース の一構成例を示したブロック図である。  FIG. 2 is a block diagram showing a configuration example of a cache database in the stream server according to the present invention.
図 3は、 本発明に係るストリーム ·サーバにおける 3段階検索手順例を示した 図である。  FIG. 3 is a diagram showing an example of a three-step search procedure in the stream server according to the present invention.
図 4は、 本発明に係るストリーム ·サーバのネゴシエーション時における動作 手順を示したフローチヤ一ト図である。  FIG. 4 is a flowchart showing an operation procedure at the time of negotiation of the stream server according to the present invention.
図 5は、 本発明に係るストリーム ·サーバのネットワーク監視時における動作 手順を示したフローチャート図である。 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.
図 6は、 本発明に係るス ト リーム 'サーバにおける要求コンテンツ (又はライ プ) 及び符号化方式等のヒッ ト /ミス判定及びその後の処理を示した図である。 図 7は、 本発明に係るストリーム 'サーバにおける要求符号化レート等のヒッ ト /ミス判定及ぴその後の処理を示した図である。  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.
図 8は、 本発明に係るストリーム 'サーバにおける階層符号化における符号化 レート変更例(低符号化レート→高符号化レート)を示した図である。  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.
図 9は、 本発明に係るストリーム ·サーバにおける階層符号化における符号化 レート変更法(高符号化レート→低符号化レート)を示した図である。  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.
図 1 0は、 従来のコンテンツ配信及びライブ配信を示したプロック図である。 符号の説明  FIG. 10 is a block diagram showing conventional content distribution and live distribution. Explanation of reference numerals
100 ス ト リーム .サーバ 10 トランスコーダ制御/調停部 100 stream server 10 transcoder control / arbitration unit
20, 20— 1〜20_L トランスコーダ、 エンコーダ、 CODEC 20, 20— 1 to 20_L Transcoder, encoder, CODEC
30 データベース制御/調停部 40 キャッシュ型データベース 30 Database control / arbitration unit 40 Cache type database
41, 41_1〜41J1 タグラム(TAG_RAM) 41a 視聴履歴 (MRU) 41, 41_1〜41J1 Taggram (TAG_RAM) 41a Viewing history (MRU)
41b コンテンツ名(Contents) 41c 符号化方式(COD)  41b Contents name (Contents) 41c Encoding method (COD)
41d タグラム ' ア ドレス(TAG— RAM— Adr) 42, 42— 1〜42— N タグラム  41d taggram 'address (TAG—RAM— Adr) 42, 42— 1 to 42— N taggram
42a 視聴履歴(MRU) 42b 符号化レート(Rate)  42a Viewing history (MRU) 42b Encoding rate (Rate)
42c 階層(Layer) 43 キャッシュ  42c Layer 43 Cache
43— 1〜43— N ライン(LINE) 43a インデックス  43— 1 to 43— N line (LINE) 43a Index
50 ヒッ ト/ミス判定部 60 ネットワーク監視部  50 Hit / miss judgment unit 60 Network monitoring unit
70 呼制御/ネゴシエーション処理部 80 プロトコル実装処理部  70 Call control / negotiation processing section 80 Protocol implementation processing section
81 IPヘッダ処理部 82 UDPヘッダ処理部  81 IP header processing unit 82 UDP header processing unit
83 RTPへッダ処理部 84 MPEGシーケンスへッダ処理部 83 RTP header processing section 84 MPEG sequence header processing section
85 RTCPへッダ処理部 86 RTSPへッダ処理部 85 RTCP header processing unit 86 RTSP header processing unit
90, 90— 1〜90— 6 パンク  90, 90— 1 to 90— 6 punk
110 コンテンツサーバ 120 映像入力装置  110 Content server 120 Video input device
130 リアノレタイムエンコーダ 140 IPネットワーク  130 Ryanore time encoder 140 IP network
150_1, 150_2 キャッシュサーバ 160 ターミナルアダプタ(TA) 170 ユーザ端末 150_1, 150_2 Cache server 160 Terminal adapter (TA) 170 user terminal
170_1 ユーザ端末(デスクトップ PC)  170_1 User terminal (desktop PC)
170_2 ユーザ端末(PDA) 170—3 ユーザ端末(携帯電話) 170_2 User terminal (PDA) 170-3 User terminal (mobile phone)
700 ソースデータベース 700 source database
710, 710_1〜710— 3, 720—1, 720—2 コンテンツ  710, 710_1 to 710—3, 720-1, 720-2 Content
710a コンテンツ配信 720 ライブ  710a Content Delivery 720 Live
720a, 720b ライブ配信  720a, 720b live streaming
800 トランスコーダエントリ要求信号 801 信号  800 Transcoder entry request signal 801 signal
802 データ  802 data
a, b, c 閾値 x 差分絶対値  a, b, c threshold x absolute difference
01〜0x, l l〜lx, 21〜2x, yl〜yx 視聴履歴  01 ~ 0x, l l ~ lx, 21 ~ 2x, yl ~ yx Viewing history
T1〜T3 ヒッ ト/ミス判定  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
図 1は、 本発明に係るス トリーム 'サーバ 100の一実施例を示している。 この サーバ 100は、 トランスコーダ制御/調停部 10、 トランスコーダ 20_1〜20— L (以 下、 符号 20で総称することがある。)、 データベース制御/調停部 30、 キャッシュ 型データベース 40、 ヒッ ト /ミス判定部 50、 ネッ トワーク監視部 60、 呼制御/ネ ゴシエーシヨン処理部 70、 及びプロトコル実装処理部 80で構成されている。 キャッシュ型データベース 40は、 コンテンッデータ又はライブデータ (以下、 コンテンツデータ及ぴライブデータをコンテンツデータで総称することがある。) を格納するライン 43— 1〜43— Ν (以下、 符号 43で総称することがある。 )で構成さ れている。  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). ).
プロトコル実装処理部 80は、 IPヘッダ処理部 81、 UDPヘッダ処理部 82、 RTP へッダ処理部 83、 MPEGシーケンスへッダ処理部 84、 RTCPへッダ処理部 85、 RTSP へッダ処理部 86で構成されている。  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.
ヒット /ミス半 1J定部 50は、キヤッシュ型データベース 40に要求データが格納さ れているか否かの確認を行い、 ネットワーク監視部 60は RTCPプロトコルでネッ トワークを監視し、 呼制御/ネゴシエーション処理部 70は、 RTSPプロ トコルで呼 制御及びネゴシエーシヨンを行う。 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.
図 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 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.
タグラム 41の "MRU" には、 ネゴシエーション時又はネットワーク監視((RRタ ィプの RTCPパケットブイ一ドバック)時の符号化レート変更時における、 視聴開 始 /停止/変更時刻情報等の視聴履歴情報 (例えば、 視聴率情報) が格納される。 タグラム 41の "タグラム 42のア ドレス" には、 "コンテンツ"及ぴ "符号化方 式" に対応するタグラム 42の先頭ァドレスが格納される。  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.
タグラム 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 a code 42) composed of “MRU”, “coding rate”, and “layer” fields. "It is managed in units.
タグラム 42の "MRU" には、 符号化レート変更時における、 視聴開始/停止/変 更時刻情報等の視聴履歴情報 (視聴率情報) が格納される。  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.
キャッシュ 43は、 それぞれ、 データ 1〜データ XI、 ···、 データ 1〜データ XN から成るライン 43_1〜43— N (以下、 符号 43で総称することがある。) で構成され ている。 各ライン 43は、 各データの有効/無効を示す有効フィールドをさらに含 んでいる。 各データ 1〜X1等に格納される、 コンテンツデータの管理単位は MPEG データの場合は、 GOP (Group Of Picture)である。  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).
このライン 43 1〜43— Nは、 それぞれ、 タグラム 42_1〜42_Nに対応しており、 この対応関係は、 例えば、 タグラム 42にライン 43の先頭ア ドレスを示すフィー ルド (図示せず) を設けて示す。 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.
同図(2)は、 同図(5)に示したタグラム 41_1をより詳細に示しており、 このタグ ラム 41_1には、 管理単位のコンテンツ及び符号化方式が、 それぞれ「コンテンツ 710—1」 及び 「MPEG2J であり、 その MRUが視聴履歴 01〜視聴履歴 Oxであること を示している。  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.
さらに、 タグラム 41— 1には、 「コンテンツ 710_1」 及び 「MPEG2J に対応するタ グラム 42 (符号化レート)の先頭ア ドレスが、 「0x0」, 「0x1」, …, 「0xy」 である ことが示されている。  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.
同図(3)は、 同図(5)に示したタグラム 42— 1, 42_2, …のより詳細例を示してい る。 この例では、 タグラム 41—1のタグラム 42アドレス = "0x0" で指定されたタ グラム 42— 1が示されている。  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.
このタグラム 42—1 は、 符号化レート = " 1Mbps" の階層が " 1" であり、 その MRUが視聴履歴 11〜1Xであることを示している。  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.
ス トリーム .サーバ 100の基本的動作として、 ヒッ ト/ミス判定部 50力 S、 ユー ザ端末からの契機 〔1〕 ネゴシエーション時、 又は契機 〔2〕 RRタイプの RTCPパ ケットフイードパック時 (ネットワーク監視時) に、 それぞれキャッシュ型デー タベース 40のヒッ ト /ミス判定を行う。  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.
また、 ヒット /ミス判定部 50は、 契機 〔1〕 又は 〔2〕 以外の契機 〔3〕 未使用の トランスコーダが存在し、 且つ人気コンテンツがソースデータベースに新規格納 され、 キャッシュ型データベース 40には未格納の場合、 自律的な連携動作でキヤ ッシュ型データベース 40のヒッ ト /ミス判定を行い、 人気コンテンツの符号化デ ータをキャッシュ型データベース 40に格納する。  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.
これにより、 例えば、 人気コンテンツ配信開始時における不特定多数ユーザか らの配信要求が競合した際においても、 通常はキャッシュ型データベースより読 み出すことができる。 このように、 有限数のトランスコーダ資源の有効活用がで きるとともに、ユーザ端末 (受信側)に対する配信サービスの即応性が実現できる。 図 3は、ストリーム .サーバ 100のヒット /ミス判定部の基本的な動作手順を示 している。 ス トリーミング技術においては、 図 2に示したように、 例えば、 コン 11312 テンッ (又はライブ) 710_1及び符号化方式 (MPEG2)に対して複数の符号化レート (1Mbps, 5Mbps, ··· , 20Mbps) がサポートされる。 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).
そこで、 ヒッ ト/ミス判定部 50は、 キャッシュ型データベース 40のヒット/ミ ス判定を下記の(Π)〜(T3)の 3段階で行う。  Therefore, the hit / miss determination unit 50 performs hit / miss determination of the cache database 40 in the following three stages (Π) to (T3).
(T1)タグラム 41を検索して、 要求コンテンツ又はライブ及び符号化方式が格納 されているか否かを判定する (図 2 (1)の判定 T1参照)。  (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)次に、 タグラム 42.の検索を検索して、 要求符号化レートが格納されている か否かを判定する (図 2 (1)の判定 T2参照)。  (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)最後に、 キャッシュ 43の 「有効(Val id)フィールド」 を検索して、 要求デー タが格納されているか否かを判定する (図 2 (1)の判定 T3参照)。  (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] ネゴシエーション時  [1] During negotiation
図 4は、 本発明のストリーム 'サーバ 100のネゴシエーション時 (契機 〔1〕) における動作手順例を示している。 同図及び図 1、 図 2を参照してネゴシエーシ ョン時における動作手順を以下に説明する。  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.
なお、 この説明においては、 図 1に示したソースデータベース 700に格納され ているコンテンツ 710をユーザ端末 170が要求した場合について説明する。  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.
ユーザ端末がライプ 720を要求した場合も同様であるが、 ライプ配信の場合、 トランスコーダ 20としてエンコーダを用いることもでき、同図に示したトランス コ一ダ制御/調停部 10はェンコ一ダ制御/調停部 10になる。  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
図 4において、破線で囲まれたステップ S100はヒット /ミス判定部 50のキヤッ シュ型データベース検索手順を示し、破線で囲まれたステップ S200はトランスコ ーダ制御/調停部 10、 データベース制御/調停部 30、 及びヒット /ミス判定部 50 におけるトランスコーダェントリ手順を示し、破線で囲まれたステップ S300はプ 口 トコル実装処理部 80のプロトコル実装処理手順を示している。  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.
図 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が要求したコ  Steps S110 to S130: The hit / misjudgment unit 50 checks the command requested by the user terminal 170.
-タ、 符号化方式、 及び符号化レート、 例えば、 コンテンツ 710—1、 MPEG2、 及ぴ 5 Mbpsと一致するデータがキャッシュ型データベース 40に格納され ているか否かを確認する。 -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.
すなわち、 図 2において、 ヒッ ト/ミス判定部 50は、 ユーザ端末 170から同図 That is, in FIG. 2, the hit / miss determination unit 50
(1)に示した(TO)例えば、コンテンツ名 =コンテンッ 710_1、符号化方式 = "MPEG2" , 及び符号化レート = "5Mbps" の要求を受ける。 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”.
なお、 ネゴシエーション時には、 同図(1)に示した G0P番号の要求はない。  At the time of negotiation, there is no request for the G0P number shown in Figure (1).
そこで、 ヒット/ミス判定部 50は、 同図(2)において、 タグラム 41から、 コン テンッ 710_1及び符号化方式- "MPEG2"を検索する同図(1)に示したヒット /ミス 判定 T1を行い、 タグラム 41_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.
さらに、 ヒッ ト/ミス判定部 50は、 タグラム 41_1のタグラム 42アドレスフィ 一ルドに示された先頭アドレス =0x0, 0x1, ·· · , Oxy にそれぞれ対応するタグラ ム 42— 1〜42— yの中から符号化レート = " 5 Mbps" を検索する同図(1)に示したヒ ット /ミス半 IJ定 T2を行い、 タグラム 42_2にヒットする。  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.
ステップ S180: さらに、 ヒット/ミス判定部 50は、 ヒットしたタグラム 42_2に 対応するライン 43_2のデータが有効であるか否かを判定するヒッ 1、/ミス判定 T3 (図 2 (4)参照) を行う。  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.
符号化されたデータが有効である場合、 ヒッ ト/ミス判定部 50は、 有効なデー タ " 1" をデータ 802として読み出しプロ トコル実装処理部 80に与える。 この動 作を繰り返すことにより、 ライン 43_2のデータ 1〜データ X2は、 順次、 プロト コル実装処理部 80に与えられることになる。  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.
データが無効である場合、 ヒッ ト/ミス判定部 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, 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)).
ステップ S140〜S170:ステップ S110、 S120でミスした (データが存在しない) 場合、 ヒッ ト/ミス判定部 50は、 キャッシュ型データベース 40の内から、 データ 未格納ライン 43の検索、又は、予め設定された閾値 aより低い視聴率のコンテン ッの検索、低視聴率の符号化方式の検索、低視聴率の符 化レートの検索を行う。 すなわち、 ヒット/ミス判定部 50は、 図 2 (5)において、 データ未格納ライン 43 を検索し、 無い (ミス) 場合、 タグラム 41の MRUの内で閾値 aより低い視聴率を 示したコンテンツ/符号化方式を検索し、 無い (ミス) 場合、 タグラム 42の MRU の内で閾値 aより低い視聴率を示した符号化レートを検索する。 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.
ステップ S210:上記の検索の 1つにヒットした (ヒットラインがある) 場合、 ヒット /ミス判定部 50は、 トランスコーダ制御/調停部 10及びデータベース制御/ 調停部 30に対して、 それぞれトランスコーダェントリ要求信号 800及ぴ信号 801 与える。  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.
トランスコーダ制御/調停部 10は、例えば、 トランスコーダ 20_2が未使用であ る場合、 トランスコーダエントリ要求信号 800が示す、 ユーザが要求したコンテ ンッ (素材又はトランスコード) 710をソースデータベース 700からトランスコ ーダ 20—2に与える。  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.
未使用のトランスコーダが無い場合、 ステップ S290に進む。  If there is no unused transcoder, go to step S290.
ステップ S220: トランスコーダ 20_2は、 コンテンツ 710に対してリアルタイム エンコード処理したデータをデータベース制御/調停部 30に与える。 データべ一 ス制御/調停部 30は、 キャッシュ型データベース 40内の例えば未格納ライン(又 は低視聴率ライン) 43一 1 にエンコードされたデータを格納する(キャッシュフィ ル)。  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).
ステップ S230: ヒット/ミス判定部 50は、 キャッシュフィルされたライン 43—2 からデータ 802を読み出しプロトコル実装処理部 80に与える。  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.
ステップ S310〜S340:プロトコル実装処理部 80は、上記のステップ S310〜S340 と同様に、 IPネットワーク 140を経由して、 順次、 ユーザ端末 170に要求された コンテンツ配信又はライブ配信を開始する。  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.
ステップ S290:上記のステップ S140〜S170において、 未格納ラインの検索、 低 視聴率のコンテンツの検索、 低視聴率の符号化方式の検索、 及び低視聴率の符号 化レートの検索が全てミスの場合、又はステップ S210において、未使用トランス コーダ 20 が無い (トランスコーダエントリ要求に失敗した) 場合、 ユーザ端末 170からのエントリ要求は失敗となる。 · [2] ネットワーク監視時 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
図 5は、 ストリーム 'サーバ 100が、 ユーザ端末 170に対してコンテンツ配信 又はライブ配信を行っている時、 ユーザ端末 170 (図 1参照) から RRタイプ RTCP パケットを受信した時の動作手順を示している。  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.
この動作手順を、 図 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 database search procedure, step S600 shows an entry procedure to a transcoder, and step S800 shows a protocol implementation processing procedure. .
S410:呼制御/ネゴシエーション処理部 70は、 ユーザ端末 170から送 信された RRタイプの RTCPパケットを受信し、 このパケットに含まれるフィード バック情報をヒット /ミス判定部 50に与える。  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.
RRタイプ RTCPバケツトは、 ス トリームを受信したユーザ端末がストリームの 受信状態 (パケッ トの廃棄率(Fraction Lost) , 累積パケク ト廃棄率(Cumulative Number of Packet Lost)、 パケット到着間のゆらぎ(Interarrival Jitter) ) に関 する情報をストリーム送信側にフィードパックするバケツトである。  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.
この情報に基づき、 ヒット /ミス判定部 50は、 視聴者数、 視聴履歴、 バケツト 廃棄率、 累積パケット廃棄率、 パケット到着間隔の揺らぎ等より、 現在のネット ワークの混雑度、 ユーザ端末 170の能力等を考慮した最適符号化レートを算出す る。  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.
すなわち、 ヒッ ト/ミス判定部 50は、 図 2 (1)の T0、 すなわち、 ユーザ端末 170 に対して配信しているコンテンツ名、 符号化方式、 符号化レート、 及ぴ G0P番号 を決定する。  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.
ステップ S510 : ヒッ ト/ミス判定部 50は、 算出した最適符号化レートと一致す るデータがキャッシュ型データベース 40に格納されているか否かの確認を行う。 すなわち、 ヒッ ト/ミス判定部 50は、 図 2 (2)及ぴ(3)において、 要求されたコ ンテンッ及ぴ符号化方式に対する最適な符号化レートがあるか否かのヒット /ミ ス判定 Tl, Τ2を行う。  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.
ステップ S590, S710:最適な符号化レートが存在する(ヒット)場合、 ヒット /ミ ス判定部 50は、 符号化レートに対応するラインのデータが有効か否かのヒット / ミス判定 T3を行う (同図(1)参照)。 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).
データがヒッ トした (有効の) 場合、 ヒッ ト /ミス判定部 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 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.
ステップ S590, S770:データがミスした (無効の) 場合は、 キャッシュには要 求する符号化レートは存在するが、 対象となるデータ自体が存在しない状態を示 す。  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.
そこで、 ヒット/ミス判定部 50は、 信号 800及び信号 801をそれぞれトランス コーダ制御/調停部 10及びデータベース制御/調停部 30に与える。  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.
これらの信号 800及ぴ信号 801に基づき、 現在使用中のトランスコーダは、 要 求されたコンテンツを、 要求された符号化方式で要求された符号化レートのデー タにエンコードし、 このデータは、 ステップ S510でヒットしたライン 43に格納 される (キャッシュフィル)。  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).
ステップ S780: ヒット /ミス判定部 50は、 ヒットライン 43のデータを読み出し て、 プロトコル実装処理部 80に与える。  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.
ステップ 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 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.
これにより、 最適符号化レートのデータが、 ユーザ端末 170に配信されること になる。  As a result, the data of the optimal coding rate is distributed to the user terminal 170.
ステップ S510, S520:最適符号化レートのデータが存在しない(ミス)場合、 ヒ ット /ミス判定部 50は、 最適符号化レートに最も近い符号化データをキャッシュ 型データベース 40から検索する。  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.
すなわち、 ヒッ ト/ミス判定部 50は、 図 2 (2)、 (3)において、 要求されたコン テンッ及ぴ符号化方式に対応するタグラム 41に対応するタグラム 42の符号化レ ートの内で最適符号化ルートに最も近い符号化レート (比較対照符号化レート) を検索する。 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 :差分絶対値 x= I最適符号化レート一比較対象符号化レート Iが 予め設定された閾値 b以下の場合、 ヒット/ミス判定部 50は、 要求データが存在 する(ヒット)とみなす。  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).
ステップ S590:そして、 ヒット/ミス判定部 50は、 ヒットとみなしたラインの データが有効か否かのヒット/ミス判定 T3を行い、 有効である場合、 データを読 み出し、 プロ トコル実装処理部 80に与える。  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.
すなわち、 ヒット/ミス判定部 50は、 図 2 (3)、 (4)において、 ヒットした符号 化レートのタグラム 42に対応するライン 43から読み出した有効なデータ 802を プロトコル実装処理部 80に与える。 以後の動作は、 上記のステップ S810〜S840 と同様である。 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.
これにより、 最適符号化レートのデータではないが、 許容範囲内の符号化レー トのデータ 802力 ユーザ端末 170に配信されることになる。  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.
ステップ S540:差分絶対値 Xが、 設定された閾値 bより大きく閾値 c以下であ る場合、 ヒット /ミス判定部 50は、 要求データが存在せず(図 2 (1)のヒット /ミス 判定 Π, Τ2におけるミス判定)且つキャッシュ型データベ^ス 40に格納されてい る比較対象符号化レートのデータが不要である(RRタィプの RTCPパケットによる 符号化レートの変更要求がある)ため、 トランスコーダ制御/調停部 10に対してト ランスコーダエントリ要求信号 800を与える。 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.
ステップ S610, S620: トランスコーダ制御/調停部 10は、 トランスコーダェン トリ要求に対して、 トランスコーダ 20の内に未使用トランスコーダ 20が存在す る場合、 素材データ又はトランスコードデータをソースとして、 リアルタイムェ ンコード処理を行い、処理したデータをキャッシュ型データベース 40内の比較対 象符号化レートライン (ミスライン) に格納する(キャッシュフィル)。  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).
ステップ S720: ヒット /ミス半 1J定咅 50は、 このキヤッシュフィルされたライン から読み出したデータ 802をプロトコル実装処理部 80に与える。  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.
ステップ S810〜S840:プロ トコル実装処理部 80は、 データ 801を IPネットヮ ーク 140を経由してユーザ端末 170に順次配信する。 11312 これにより、 最適符号化レートとの差分絶対値が閾値 bより大きく閾値 c以下 の比較対象符号化レートのラインに最適符号化レートのデータをフィルすること が可能になる。 このデータフィルによっても、 比較対象符号化レートのラインの データを使用するユーザ端末に対する映像及び音声への影響が少ない。 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.
差分絶対値が設定された閾値 cより大きい場合、 比較対象データから要求デー タへの符号化レート変更を行うと、 比較対象符号化レートのデータを使用するュ 一ザに対する映像及び音声への影響が大きい。  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.
そこで、 ヒット /ミス判定部 50は以下の判定を行う。  Therefore, the hit / miss determination unit 50 makes 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 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.
ステップ S640, S730: トランスコーダ制御/調停部 10は、 トランスコーダェン トリ要求に対して、未使用のトランスコーダ 20が存在する場合、素材データもし くはトランスコードデータを未使用トランスコーダ 20に与える。  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.
このトランスコーダ 20は、与えられたデータに対してリアルタイムェンコ一ド 処理を行い、データベース制御/調停部 30を経由して未格納ライン 43に格納(キ ャッシュフィル) する。 このフィルラインからデータ 802が読み出されてユーザ 端末に送信される。  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.
ステップ S560〜S580: ヒット/ミス判定部 50は、 未格納ラインが無いため、 キ ャッシュ型データベース 40から予め設定された閾値 aより低レ、視聴率のコンテン ッ、符号化方式、 又は符号化レートのライン 43を検索し、 対象となるデータが存 在する(ヒット)場合、 トランスコーダ制御/調停部 10に対してトランスコーダェ ントリを要求する。 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.
ステップ S650, S660: トランスコーダ制御/調停部 10 は、 トランスコーダェン トリ要求に対して、未使用のトランスコーダ 20が存在する場合、素材データもし くはトランスコードデータを未使用トランスコーダ 20に与える。  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.
このトランスコーダ 20は、与えられたデータに対してリアルタイムェンコ一ド 処理を行いデータベース制御/調停部 30を経由してキャッシュ型データベース 40 T脑 02/011312 內の低視聴率ライン 43に格納する (キャッシュフィル)。 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).
ステップ S740: ヒッ ト /ミス判定部 50は、 キヤッシュフィルされたライン 43か らデータ 802を読み出し、 プロトコル実装処理部に与える。  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.
ステップ S810〜S840:プロトコル実装処理部 80は、 上記のヘッダを揷入したデ ータをユーザ端末に順次配信を継続する。  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.
ステップ S580, S670, S680, S760 : 上記キヤッシュ型データベースに格納され ている、 未格納ライン及び閾値 aより低い視聴履歴ライン検索において、 対象と なるデータが存在しない場合、ヒッ ト /ミス判定部 50はトランスコーダ制御/調停 部 10に対してトランスコーダェントリ要求信号 800を与える。  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.
未使用トランスコーダが存在する場合、 素材データもしくはトランスコードデ ータに対してはリアルタイムェンコ一ド処理が行われ、 キャッシュ型データべ一 ス 40内の比較対象符号化レートライン 43に格納する (キャッシュフィル)。 この キャッシュフィルされたライン 43 から読み出されたデータがプロ トコル実装処 理部 80に与えられる。  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.
ステップ 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パケットに基づく符号化レート変更要求は失敗となる。 ヒット/ミス判定部 50は、 現在の符号化レートのデータの送信を継続し、 次回 符号化レート変更要求を待つ。  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.
このようなトランスコーダ制御/調停部 10、 トランスコーダ 20、 データベース 制御/調停部 30、 キヤッシュ型データベース 40、 及びヒッ ト /ミス判定部 50の連 携動作により、 ス トリーム .サーバ 100は、 ライブ配信のみならず、 コンテンツ 配信においても、 リアルタイムにネットワーク負荷、 ユーザ端末の処理能力等を 考慮した、 リアルタイムエンコード処理を行うことが可能になる。  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.
また、 ス トリーム 'サーバ 100は、 低視聴率の符号化レートの符号化方式のコ ンテンッデータ及びライブデータを破棄することにより、 高視聴率の符号化レー トの符号化方式のコンテンツデータ及びライブデータのみが、 キャッシュ型デー タベース 40に格納され続けることになる。 この結果、通常は、 キャッシュ型データベース 40に格納されている高視聴率デ ータを多くのユーザ端末に配信することができる。 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.
すなわち、 ス トリーム 'サーバ 100は、不特定多数ユーザに対して、それぞれ、 リアルタイムのネットワーク負荷、 ユーザ端末 170の処理能力、 ス トリーム 'サ ーパ 100の混雑度等を考慮した、 快適なマルチキャスト型コンテンツ配信及びラ イブ配信が実現でき、 コンテンツ及び符号化方式のみならず、 符号化レートまで を範疇とした、 "ワンソース 'マルチユース化" を実現できる。  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.
また、 ス トリーム 'サーバ 100は、 不特定多数ユーザに対するコンテンツ配信 データ及びライブ配信データは、 通常、 高視聴率の符号化レートの符号化方式の コンテンツデータ及ぴライブデータを格納するキャッシュ型データベースより読 み出すことができる(ヒットする)ため、 ユーザ数分のトランスコーダを備える必 要はなく、 トランスコーダ数の大幅な削減が可能になる。  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.
また、 ストリーム ·サーバ 100のキャッシュ型データベース 40は、 常に、 個人 ユーザのみが視聴する低視聴率のコンテンツ及ぴライブは破棄され、 多数のユー ザが視聴する映画コンテンツ等の高視聴率コンテンツ及び高視聴率ライブのみが 保存され続けるため、 データベースサイズの大幅な削減が実現でき、 且つス トリ ーム ·サーバ 100でのパーソナルデータベースの配信サービスも容易となる。 また、 ス トリーム 'サーバ 100は、 トランスコーダ 20の後段にキャッシュ型デ ータベース 40を配置し、コンテンツデータ及びライブデータを一旦キヤッシュ型 データベース 40に格納後、 ユーザに配信されるため、 ライブ配信においても、 ュ 一ザ端末(受信側)からストリーム 'サーバ(配信側)に対する卷戻し、 一時停止要 求といったコミュ-ケーション機能(選択性)の拡張が可能である。  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.
すなわち、 ユーザ端末(受信側) 170 は、 ライプ配信とコンテンツ配信の区別す ることなく、 サービスを享受することができ、 ライブ配信とコンテンツ配信の融 合が可能となる。  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.
また、ストリーム'サーバ 100は、キャッシュ型データベース 40の後段に、 MPEG シーケンスへッダ処理部 84を挿入することにより、シーケンスヘッダに実装され ている、 フレームレート及び解像度等を変更することが容易となり、 ユーザ端末 (受信側)任意の映像の頭出し機能、 アクセス回線種別、 ネッ トワークの混雑度、 ユーザ端末の処理能力等を考慮した、最適符号化レート /解像度変更等が容易に実 現できる。 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.
このように、 本発明のス トリーム ·サーバ 100は、 トランスコーダ 20 とキヤッ シュ型データベース 40との連携動作により、不特定多数ユーザ端末 170に対する 快適なマルチキャスト型通信によるワンソース 'マルチユース化、ユーザ端末 170 とス トリーム 'サーバ 100間のコミュニティ環境の構築によるライブ配信とコン テンッ配信の融合、 与えられた環境の中で、 ス トリーム 'サーバ(配信側)は、 リ アルタイムかつ最適な制御を実現でき、 ユーザ(受信側)は、 より快適な配信サー ビスを享受できると共に、 さらに大幅なハードウエア削減が可能になる。  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.
図 6は、 本発明のス トリーム ·サーバ 100のヒッ ト/ミス判定部 50における要 求コンテンツ (又はライプ) 及び符号化方式等のヒッ ト /ミス判定法をより詳細に 示している。 なお、 同図に示されているステップ符号は、 図 4のステップ符号に 対応している。  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〕ネゴシエーション時におけるキャッシュ型データベース 40の 3段階検索フ ローに基づくヒット /ミス判定(1)〜(5)を以下に説明する。  [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)ヒッ ト/ミス判定部 50は、 タグラム 41を検索して、 要求コンテンツ (又はラ イブ)及び符号化方式のヒッ ト /ミス判定 T1を行う。 要求データが存在する(ヒッ ト)場合には、後述する図 7の要求符号化レートのヒット /ミス判定 T2へ遷移する (図 4のステップ S110〜S130参照)。  (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)要求データがタグラム 41 に存在しない(ミス)場合、 ヒッ ト/ミス判定部 50 は、 タグラム 42の未格納ライン 43を検索し、要求データを未格納ライン 43に格 納する (同ステップ S140, S210, S220参照)。  (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)タグラム 42の検索において、未格納ラインが存在しない(ミス)場合、 ヒッ ト /ミス判定部 50は、 低視聴率のコンテンツラインを検索し、 対象となるデータが 存在する(ヒッ ト)場合、 低視聴率のコンテンツラインのデータを破棄して、 この ラインに要求データを格納する (同ステップ S150, S160, 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)タグラム 41の検索において、 低視聴率のコンテンツラインが存在しない(ミ ス)場合、 ヒッ ト/ミス判定部 50は、 タグラム 42の MRUより低視聴率の符号化レ 一トラインを検索し、 対象となるデータが存在する(ヒット)場合、 低視聴率の符 号化レートラインのデータを破棄し、 このラインに要求データを格納する (同ス テツプ S170, S210, S220参照)。 (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)タグラム 41, 42の検索において、 低視聴率のコンテンツ、 及ぴ低視聴率の符 号化レートが存在しない場合、 ヒット /ミス判定部 50は対象データ読み出し失敗 となる (同ステップ S180参照)。  (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〕未使用トランスコーダが有る時のキャッシュ型データベース 40の自律動作 によるヒッ ト/ミス判定(6)〜(10)を以下に説明する。 この自律動作により、 ソー スデータベースに新規に格納された人気コンテンツが自動的にキヤッシュ型デー タベースに格納される。 (6)〜(10)の動作は、 それぞれ、 上述した(1)〜(5)と同様 ある。  [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)ヒット/ミス判定部 50は、 要求 (新規) 符号化方式のコンテンツ (又はライ ブ) がある (ヒットした) 場合、 後述する図 7の符号化レートのヒット/ミス判定 T2に遷移する。  (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)要求符号化方式のコンテンツ (又はライブ) が無く (ミスし)、 且つ未格納ラ インが有る場合、 要求符号化方式のコンテンツ (又はライプ) を未格納ラインに 追加する。  (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)要求符号化方式のコンテンツ (又はライブ) が無く (ミスし)、 未格納ライン が無く、 且つ低視聴率のコンテンツが有る場合、 低視聴率のコンテンツを破棄し て、 要求符号化方式のコンテンツ (又はライブ) を破棄した低視聴率のコンテン ッラインに追加する。  (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)要求符号化方式のコンテンツ (又はライブ) が無く (ミスし)、 未格納ライン が無く、低視聴率のコンテンツが無く、且つ低視聴率の符号化レートが有る場合、 低視聴率の符号化レートを破棄して、要求符号化方式のコンテンツ (又はライブ) を破棄した低視聴率の符号化レートラインに追加する。  (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)要求符号化方式のコンテンツ (又はライブ) が無く. (ミスし)、 未格納ライ ンが無く、 低視聴率のコンテンツが無く、 且つ低視聴率の符号化レートが無い場 合、 新規コンテンツのエントリは失敗となる。  (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.
(7)〜(9)により、 新規コンテンツが自律的にキヤッシュ型データベースに格納 されたことになる。 図 7は、 本発明のにおける要求符号化レートのヒット /ミス判定 T2の例を示し ている。 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.
この判定は冗長性をもたせている。 すなわち、 差分絶対値 X (現在配信してい るキャッシュ型データベース 40 に格納されている比較対象の符号化データの符 号化レートと、要求データの符号化レートとの差分の絶対値 X)と、所定の閾値 b, cとの大小関係によって判定が異なる。  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.
また、 ネゴシエーション時とネットワーク監視 (RRタイプの RTCPパケットフ イードバック) 時とでは、 判定動作が異なる。 なお、 同図に示されているステツ プ符号は、 図 4、 図 5のステップ符号に対応している。  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〕 ネゴシエーション時における要求符号化レート等のヒッ ト/ミス判定(1)〜 (5)を以下に説明する。  [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)ヒッ ト/ミス判定部 50は、 差分絶対値 x≤閾値 bである場合、 要求符号化レ ートが存在する (ヒッ ト) と判定し、 要求符号化データに冗長を持ったヒ ッ ト/ ミス判定 T3に遷移する。  (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)ヒット /ミス判定部 50は、 閾値 b <差分絶対値 Xである場合、 要求符号化レ ートが存在しない (ミス) と判定し、 タグラム 42の MRUより未格納ラインを検索 し未格納ラインが有る場合、 要求データを未格納ラインに格納する。  (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)ヒット/ミス判定部 50は、 上記の未格納ライン検索において、 未格納ライン が存在しない(ミス)場合、要求符号化レートのヒット /ミス判定を強制ヒット判定 し、 次の要求符号化データのヒッ ト/ミス判定 T3へ遷移する。  (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〕 ネットワーク監視 (RRタイプの RTCPパケットフィードバック) 時におけ る要求符号化レートのヒッ ト/ミス判定 T2 (4)〜(8)を以下に説明する。  [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)ヒット /ミス判定部 50は、 差分絶対値 x≤閾値 bである場合、 要求符号化レ ートが存在する (みなしヒッ ト) と判定し、 要求符号化データのヒッ ト/ミス判定 T3に遷移する。  (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)ヒッ ト /ミス判定部 50は、 閾値 b <差分絶対値 x≤閾値 cである場合、要求符 号化レートが存在しない (ミス) と判定し、 比較対象符号化レートラインのデー タを破棄した後、 このラインに要求データを格納する。  (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)ヒット /ミス判定部 50は、 閾値 c <差分絶対値 Xである場合、 要求符号化レ ートが存在しない (ミス) と判定し、 タグラム 42の MRUより未格納ラインを検索 し未格納ラインが有り、 且つ対象となるデータが存在する(ヒッ ト)場合、 要求デ 一タを未格納ラインに格納する。 (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)ヒット /ミス判定部 50は、 上記の未格納ライン検索で未格納ラインが存在し ない (ミス) 場合、 タグラム 42において、 低視聴率の符号化レートラインが存在 する(ヒット)場合、 要求データを低視聴率の符号化レートラインに格納する。  (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)ヒット /ミス判定部 50は、 上記の未格納ライン及び低視聴率の符号化レート ラインが存在しない(ミス)場合、 比較対象符号化レートのラインを破棄し、 この ラインに要求データを格納する。  (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.
なお、 上記の(5)〜(8)は、 使用する トランスコーダが有る場合の処理である。 また、 符号化 RTCPパケット(RRタイプ)フィードバックによるリアルタイムな 符号化レート制御を行っているため、 未使用トランスコーダ存在時における自律 的な符号化レート制御 (要求符号化レートのヒッ ト /ミス判定 T2) は基本的には 不要である。  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.
上記の要求符号化データのヒット /ミス判定 T3に遷移した場合、ヒッ ト /ミス半 IJ 定部 50は: キャッシュ 43の検索においてヒッ ト/ミス判定 T3行い、 要求データ が存在する(ヒット)場合、 ヒッ ト判定し、 要求データが存在しない(ミス)場合、 要求データを対象ィンデッタスに格納する。  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.
上記のようにキャッシュ型データベース 40において、図 2に示すようにタグラ ム 41の MRU及びタグラム 42の MRUに、 それぞれ、 コンテンツ及び符号化方式単 位並びに符号化レート単位の各ユーザの視聴開始/停止/変更時刻情報をキューィ ングすることにより、 キャッシュ型データベースに格納されているデータに対す る各ユーザの視聴開始/停止時刻、 リアルタイムな視聴率を考慮したヒッ 卜/ミス 判定を行うことができる。  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.
また、 上記のキャッシュ型データベース 40のヒット/ミス判定は、 通常の判定 契機 [1] :或るユーザ端末(受信側)からの配信要求によるネゴシエーション時、 通常の判定契機 [2] : RRタイプの RTCPパケッ トフィードバック時がある。 さら に、 ヒッ ト /ミス判定は、 判定契機 [ 1] 及び [2] 以外に、 未使用トランスコーダ が存在する時を動作契機 [3] とすることにより、 ソースデータベースに新規格納 され、 かつキャッシュ型データベースに未格納である、 人気コンテンツを事前に 格納 (キャッシュフィル) することができる。 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.
したがって、 キャッシュ型データベース 40のヒッ ト/ミス判定は、 ユーザから 配信要求に対して、 要求コンテンツ又はライブ、 符号化方式が対応するデータの 検索 (ヒッ ト/ミス判定 T1) を行い、 次に要求符号化レートが対応するデータの 検索 (ヒッ ト/ミス判定 T2) を行い、 最後に要求データの検索 (ヒッ ト/ミス判定 T3) を行うといった 3段階的な検索を行うことにより、判定の容易化/高速化が実 現できるとともに、ヒット /ミス判定回路のハードウエア規模の大幅な削減が実現 できる。  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.
また、 キャッシュ型データベース 40のヒッ ト/ミス判定は、 ユーザ(受信側)か らの要求コンテンツ又はライブ、 符号化方式、 符号化レート、 及び符号化データ が存在しない(ミス)場合は、 タグラム 41の MRU、 タグラム 42の MRUに格納され ている視聴履歴を参照して、 低視聴率のコンテンツ、 符号化レートラインを破棄 するため、 不特定多数ユーザが要求する高視聴率のコンテンツ及び高視聴率の符 号化レートのデータのみが格納され、 効率的なキヤッシュ運用を実現する。  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.
また、 キャッシュ型データベースのヒッ ト/ミス判定は、 RRタイプの RTCPパケ ットによるフィードパック情報を基にしたネットワークの混雑度、 ユーザ端末処 理能力を考慮した最適な要求符号化レートに対する、 現在使用されている符号化 レートとの差分絶対値が、 所定の閾値以下の場合は、 冗長性をもたせたヒ ッ ト/ ミス判定を行うことにより、 リアルタイムなネットワークの混雑度、 ユーザ端末 処理能力の急激な変化に追従しない。  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、 9は、 本発明のストリーム 'サーバ 100における階層化符号化方式例を 示している。 この階層符号化は、空間スケーラビリティ、時間スケーラビリティ、 及ぴ SNR (Signal to Noise Ratio)スケーラビリティ等により階層化され、 或る階 層の符号化レートを変更する際に、 符号化レート変更対象の階層及びこの階層の 1つ上位の階層の符号化データのみ、 新規符号化データを作成する。 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.
図 8は、 低符号化レートを高符号化レートに変更する場合を示している。 同図 (1)において、各階層 1, 2, 3,及び 4の階層の符号化レートは、それぞれ、 1Mbps, 5Mbps 10Mbps, 及び 20Mbpsである。  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.
同図(4)は、同図(1)に示した各階層 1〜4の符号化レートが格納されているバン ク 90を示しており、 ノ ンク 90— 1〜90_4には、 それぞれ、 符号化レート 1Mbps, 5Mbps, 10Mbps, 20Mbpsのデータが格納されている。  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.
同図(2)、 (5)において、 階層 2の符号化レートを 5Mbps (低符号化レート)から 7Mbps (高符号化レート)に変更する場合、新階層 2新規符号化データ、及びこの新 階層 2 をリファレンスとして伸長動作を行う新階層 3 (10Mbps)の新規符号化デー タを、 それぞれバンク 90_5, 90— 6に格納する。  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.
同図(3)、 (6)において、 新階層 3より伸長された復号フレームデータと現階層 3 により伸長された復号フレームデータの差分絶対値和が、 或る閾値以下になつ た場合に、 現階層 2、 3 (パンク 90—2, 90_3)を破棄し、新階層 2, 3 (パンク 90—5, 90—6) を現階層 2, 3とし、 新しい階層構成に切り替える。  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.
図 9は、 高符号化レートを低符号化レートに変更する場合を示している。 同図 (1)及び(4)は、 それぞれ、 図 8 (1)及ぴ(4)と同様である。  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.
図 9 (2)、 (5)において、 階層 3の符号化レートを 10Mbps (高符号化レート)から 7Mbps (低符号化レート)に変更する場合、 新階層 3 (7Mbps) , 及びこの新階層 3を リファレンスとして伸長動作を行う新階層 4 (20Mbps)の新規符号化データをバン ク 90—5, 90—6に格納する。  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.
同図(3)、 (6)において、 新階層 4より伸長された復号フレームデータと現階層 4 により伸長された復号フレームデータの差分絶対値和が、 或る閾値以下になつ た場合に、 現階層 3、 4 (パンク 90—3, 90_4)を破棄し、新階層 3, 4 (パンク — 5, 90—6) を現階層 2, 3とし、 新しい階層構成に切り替える。  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.
この符号化レート変更において、 必要となるバンク数は、 階層数 + 2のみで実 現でき、 ハードウェア規模の削減が可能である。  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 . 1つ以上のトランスコーダと、 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 . 請求の範囲 1において、 2. In Claim 1,
該トランスコーダがエンコーダ又は CODECであることを特徴したストリーム · サーバ。  A stream server, wherein the transcoder is an encoder or a CODEC.
3 . 請求の範囲 1において、  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 . 請求の範囲 1において、  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 . 請求の範囲 1において、 5. In Claim 1,
さらに、 ユーザ端末との間のネットワーク負荷、 コンテンツサーバの混雑度、 又はユーザ端末の処理能力の少なくともいずれか 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 . 請求の範囲 1において、 所定のプロトコルを実装し、 該所定プロトコルに基づきユーザ端末との間の通 信処理を行うプロ トコル実装処理部をさらに有することを特徴としたストリー ム .サーバ。 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 . 請求の範囲 6において、 7. In Claim 6,
該プロトコル実装処理部が、 少なくとも IPヘッダ処理部、 UDPヘッダ処理部、 RTPヘッダ処理部、 RTCPヘッダ処理部、及び RTSPヘッダ処理部の中のいずれか 1 つを備えていることを特徴とするス トリーム 'サーバ。  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 . 請求の範囲 6において、  8. In Claim 6,
該プロトコル実装処理部が、, MPEGシーケンスヘッダ処理部を備えていることを 特徴としたス トリーム 'サーバ。  A stream server, wherein the protocol implementation processing unit includes an MPEG sequence header processing unit.
9 . 請求の範囲 1において、  9. In Claim 1,
該トランスコーダが、入力した少なくとも素材データ、トランスコードデータ、 及びライブデータの内のいずれか 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.
1 0 . 請求の範囲 1において、  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 . 請求の範囲 1において、  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 . 請求の範囲 1において、  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 . 請求の範囲 1において、 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 . 請求の範囲 5において、  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 . 請求の範囲 1において、  1 5. In Claim 1,
該ヒット /ミス判定部が、低視聴率のコンテンツデータ又はライブデータ、低視 聴率の符号化方式、 又は低視聴率の符号化レートのデータの内の少なくとも 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 . 請求の範囲 1において、 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 . 請求の範囲 1において、  1 7. In Claim 1,
該トランスコーダが、空間スケーラビリティ、時間スケーラビリティ、又は SNR スケーラビリティによる階層符号化において、 符号化レート変更対象階層及びそ の 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 (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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/011312 WO2004040908A1 (en) 2002-10-30 2002-10-30 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 クゥアルコム・インコーポレイテッド 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 Sharp Corp 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 Sharp Corp 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 (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507919A (en) * 2004-07-21 2008-03-13 クゥアルコム・インコーポレイテッド Method and apparatus for hybrid multimedia presentation
JPWO2006095868A1 (en) * 2005-03-11 2008-08-21 パイオニア株式会社 Content data transmitting apparatus, content data transmitting method and remote reproduction system
JP4598823B2 (en) * 2005-03-11 2010-12-15 パイオニア株式会社 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
JP5408257B2 (en) * 2009-07-22 2014-02-05 日本電気株式会社 Content distribution system, content distribution method, and content distribution program
WO2011010688A1 (en) * 2009-07-22 2011-01-27 日本電気株式会社 Content delivery system, content delivery method and content delivery programme
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery 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
US11070604B2 (en) 2013-10-18 2021-07-20 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
US11770426B2 (en) 2013-10-18 2023-09-26 Telefonaktiebolaget Lm Ericsson (Publ) 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
US9426536B2 (en) Systems, methods and computer readable media for instant multi-channel video content browsing in digital video distribution systems
US11412282B2 (en) Edge optimized transrating system
CN101720032B (en) Reception apparatus and reception method
CA2594118C (en) Distributed statistical multiplexing of multi-media
US7979885B2 (en) Real time bit rate switching for internet protocol television
JP4408811B2 (en) Stream server
JP5147278B2 (en) Video distribution apparatus and key frame distribution method
JP2006503517A (en) System and method for transmitting scalable coded video over an IP network
US20020131496A1 (en) System and method for adjusting bit rate and cost of delivery of digital data
US20050187960A1 (en) Stream server
US20100226428A1 (en) Encoder and decoder configuration for addressing latency of communications over a packet based network
US20040143850A1 (en) Video Content distribution architecture
CN103843301A (en) Switching between representations during network streaming of coded multimedia data
KR20040069360A (en) Targeted scalable video multicast based on client bandwidth or capability
KR100410973B1 (en) Method streaming moving picture video on demand
WO2008134979A1 (en) Video system and video playing mothed
JP2011530907A (en) Separation of media streams for channel switching
KR100848309B1 (en) Apparaus and method of providing internet TV brodacasting service using fast buffering switch
JP5031230B2 (en) Data transmission apparatus and method
US8401086B1 (en) System and method for increasing responsiveness to requests for streaming media
CA2657434A1 (en) Encoder and decoder configuration for addressing latency of communications over a packet based network
Poon et al. Interactive broadcasting system for VBR encoded videos
KR20230049204A (en) Adaptive media streaming transmission method and apparatus for multi network
KR20230121950A (en) Adaptive media streaming transmission method and apparatus for multi network
KR101148072B1 (en) Multimedia supporting system and method thereof

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