WO2016002498A1 - Information processing device and method, distribution system, and program - Google Patents

Information processing device and method, distribution system, and program Download PDF

Info

Publication number
WO2016002498A1
WO2016002498A1 PCT/JP2015/067236 JP2015067236W WO2016002498A1 WO 2016002498 A1 WO2016002498 A1 WO 2016002498A1 JP 2015067236 W JP2015067236 W JP 2015067236W WO 2016002498 A1 WO2016002498 A1 WO 2016002498A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
client
server
segment
segment data
Prior art date
Application number
PCT/JP2015/067236
Other languages
French (fr)
Japanese (ja)
Inventor
五十嵐 卓也
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2016002498A1 publication Critical patent/WO2016002498A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network

Definitions

  • the present disclosure relates to an information processing device and method, a distribution system, and a program, and particularly relates to an information processing device and method, a distribution system, and a program that can improve operability in moving image playback.
  • MPEG-DASH Moving Picture Experts Group Dynamic Dynamic Adaptive Streaming HTTP
  • HTTP Hyper Text Transfer Protocol
  • MPEG-DASH multiple encoded data in which the same content is expressed at different bit rates are stored in the content server, and the client selects one of the multiple encoded data according to the network bandwidth.
  • ABS Adaptive Bitrate Streaming
  • a partial image of a part selected by the terminal that receives the image data in the entire image is distributed, the terminal performance (for example, the processing capacity of the CPU, the size of the display, etc.), the transmission path, and the load on the server It was considered to control the size of the partial image to be distributed according to the situation.
  • MPEG-DASH Dynamic-Adaptive-Streaming-over-HTTP
  • URL http://mpeg.chiariglione.org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam -1)
  • the present disclosure has been made in view of such a situation, and enables transmission delay to be suppressed by setting the size of encoded data, which is a minimum unit of transmission, to a smaller unit. Is.
  • An information processing apparatus is a partial image of the content data in the information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH.
  • An information processing apparatus including a transmission unit that transmits the encoded data to the client in units of sub-segment data smaller than the segment data.
  • the communication control unit may further include a communication control unit that controls the operation of the transmission unit, and the communication control unit controls the transmission unit to transmit the sub-segment data before the sub-segment data is transmitted.
  • Control data indicating data attributes can be transmitted to the client.
  • the communication control unit analyzes segment data composed of encoded data of the partial image of the content data, generates the sub-segment data based on the analysis result, controls the transmission unit, and controls the client It can be made to transmit.
  • a receiving unit that receives data from the client can be further included, and the communication control unit can control the receiving unit to receive the sub-segment data from the client. It is possible to receive the receivable information indicating that the sub-segment data is transmitted to the client that can receive the receivable information by controlling the transmission unit.
  • An information processing method is an information processing method of an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH. Transmitting encoded data for a partial image of data to the client in units of sub-segment data smaller than segment data.
  • a program provides a computer that controls an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH.
  • a process including a step of transmitting the encoded data for the partial image to the client in units of sub-segment data smaller than the segment data is executed.
  • an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH, encoding the partial image of the content data Data is transmitted to the client in sub-segment data units that are smaller than the segment data.
  • An information processing device is a partial image of the content data in the information processing device that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH.
  • Receiving data from the server in sub-segment data units smaller than segment data, a buffering unit for buffering the sub-segment data received by the receiving unit, and buffering in the buffering unit A reproducing unit for reproducing the sub-segment data.
  • the segment data can include the MPEG data of the content data, and the sub-segment data can include the GOP of the MPEG data.
  • a transmission unit that transmits data to the server and a communication control unit that controls the operation of the transmission unit may be further included, and the communication control unit controls the transmission unit to control the client.
  • the server can be made to transmit receivability information indicating that the sub-segment data can be received from the client.
  • An information processing method is an information processing method of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH. Receiving encoded data of a partial image of data from the server in sub-segment data units smaller than segment data, buffering the received sub-segment data, and reproducing the buffered sub-segment data .
  • a program provides a partial image of the content data on a computer of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH. Is received from the server in sub-segment data units smaller than the segment data, the received sub-segment data is buffered, and the buffered sub-segment data is reproduced. .
  • an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH,
  • the encoded data is received from the server in sub-segment data units smaller than the segment data, the received sub-segment data is buffered, and the buffered sub-segment data is reproduced.
  • a distribution system includes the server and the first and second information processing apparatuses that realize the functions of the client, which distribute content data from the server to the client using MPEG-DASH.
  • the first information processing device includes a transmission unit that transmits encoded data for the partial image of the content data to the second information processing device in sub-segment data units smaller than segment data.
  • the second information processing device includes: a receiving unit that receives from the first information processing device in sub-segment data units smaller than segment data composed of encoded data of partial images of the content data; and the receiving unit A buffering unit for buffering the received sub-segment data; and the buffer And a reproduction unit for reproducing the sub-segment data buffered in the ring portion.
  • a distribution system including the server and the first information processing apparatus that realizes the function of the client, which distributes content data from the server to the client using MPEG-DASH.
  • the encoded data for the partial image of the content data is transmitted to the second information processing device in units of sub-segment data smaller than segment data by the first information processing device.
  • the encoded data of the partial image of the content data is received from the first information processing apparatus in units of subsegment data smaller than the segment data by the information processing apparatus, the received subsegment data is buffered, and the buffering The sub-segment data buffered in the It is.
  • FIG. 10 is a diagram for explaining a sequence of Multiple Representations Transfer at startup. It is a timing chart explaining the sequence of Low delay Transfer by Sub-Segment. It is a figure explaining the sequence of Low-delay-Transfer-by-sub-segment. It is a timing chart explaining the sequence performed when network congestion generate
  • FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • the streaming data control software selects an MPD (Media Presentation Description) file of the desired content and acquires it from the Web server.
  • MPD Media Presentation Description
  • MPD is metadata for managing content such as moving images and audio to be distributed.
  • the streaming data control software of the video playback terminal analyzes the MPD and generates data (DASH segment) that matches the quality of the communication line and the performance of the video playback terminal of the desired content.
  • the client software for HTTP access acquires the DASH segment from the Web server using HTTP according to the control.
  • the moving image reproduction software reproduces the content acquired in this way.
  • MPD has a configuration as shown in FIG. 2, for example.
  • the client selects an optimum one from the representation attributes included in the period of the MPD (Media Presentation in FIG. 2).
  • the client reads the first segment (Segment) of the selected representation (Representation), acquires the initialization segment (Initialization Segment), and processes it. Subsequently, the client acquires and reproduces the subsequent segment (Segment).
  • a period (Period), a representation (Representation), and a segment (Segment) in MPD is as shown in FIG. That is, one media content can be managed for each period (Period) that is a data unit in the time direction, and each period (Period) should be managed for each segment (Segment) that is a data unit in the time direction. Can do.
  • a plurality of representations (Representations) having different attributes such as bit rate can be configured for each period (Period), a plurality of representations (Representations) having different attributes such as bit rate can be configured.
  • this MPD file (also referred to as MPD file) has a hierarchical structure as shown in FIG. 4 below the period. Further, when the MPD structures are arranged on the time axis, an example shown in FIG. 5 is obtained. As is clear from the example of FIG. 5, there are a plurality of representations (Representations) for the same segment (Segment). The client can acquire and reproduce appropriate stream data according to the communication environment, its decoding capability, and the like by adaptively selecting one of these.
  • FIG. 6 is a diagram illustrating a distribution system, which is an aspect of a system to which the present technology is applied.
  • a distribution system 100 shown in FIG. 6 is a system that can adaptively distribute data of a partial image that is a part of an entire image.
  • the distribution system 100 includes a distribution data generation device 101, a distribution server 102, and a terminal device 103.
  • the distribution data generation apparatus 101 generates a content file (content file) such as an image or a sound distributed by the distribution server 102 and its MPD file, and supplies the MPD file to the distribution server 102.
  • the distribution server 102 publishes the content file and the MPD file supplied from the distribution data generation apparatus 101 to the network 104, and performs adaptive distribution of partial images.
  • the terminal device 103 accesses the distribution server 102 via the network 104 and acquires an MPD file of desired content published by the distribution server 102.
  • the terminal device 103 accesses the distribution server 102 via the network 104 in accordance with the MPD file, adaptively selects an appropriate content file corresponding to the MPD file, and acquires it using the HTTP protocol.
  • the terminal device 103 reproduces the acquired content file.
  • segment data by HTTP is a process as shown in A of FIG.
  • buffering is performed in units of three segment data (Seg. Data) at the start of decoding.
  • a request consisting of a Get command (Req at the top of the client 202 in the third row in FIG. 7A) is transmitted to the server 201. .
  • the server 201 transmits the MPD to the client 202 as a response (Resp. At the top of the third-stage client 202 in FIG. 7A).
  • the client 202 sequentially requests segment data (Seg. Data) from the server 201 based on the MPD information (second and subsequent Req. Of the third-stage client 202 in FIG. 7A).
  • the server 201 transmits segment data (Seg. Data) to the client 202 (second and subsequent Resp. Of the third-stage server 201 in FIG. 7A).
  • segment data Seg. Data
  • the server 201 transmits segment data (Seg. Data) to the client 202 (second and subsequent Resp. Of the third-stage server 201 in FIG. 7A).
  • a delay time occurs from the timing of PlayStart to the timing when playback is started by the client 202 (DecStart).
  • FIG. 7A shows that the server 201 and the client 202 are connected at the top level, and in the middle level, the playback is actually started from the timing when playback is requested (Play Start).
  • a delay time (Delay to Rendering) until the start timing (DecStart) is shown.
  • segment data Seg. Data
  • FIG. 7A the upper side of the pipe-shaped communication line indicates the operation timing on the client 202 side, and the lower side indicates the operation timing on the server 201 side.
  • a request consisting of a Get command (Command Send at the top of the third stage client 202 in FIG. 7B) is transmitted to the server 201. .
  • the server 201 sends the segment data (Seg. Data) to the client 202 together with the MPD as a response (Data (MPD) at the head of the third-stage client 202 in FIG. 7B).
  • the data is sequentially transmitted (second and subsequent Seg.Data of the third-stage server 201 in B of FIG. 7).
  • the client 202 requests the segment data (Seg.Data) from the server 201 and the server 201 transmits the segment data (Seg.Data) to the client 202, the second row of FIG. As shown in FIG. 4, although a delay time (Delay to Rendering) occurs from the timing of PlayStart to the timing when playback is started by the client 202 (DecStart), it is shorter than in the case of HTTP.
  • a delay time Delay to Rendering
  • Pipelining which is a bandwidth adaptation logic, is supported also in HTTP, it is possible to shorten the delay time compared to the processing in FIG. 7A described above.
  • Pipelining means that the client 202 determines the state of the bandwidth, and can make a plurality of requests to the server 201 at a time according to the bandwidth. This is a function that can receive data in response to a request.
  • the client 202 requests the server 201 for three segment data at the same time. From 201, three segment data are received collectively.
  • next segment data is requested before the response to the request is returned, the bandwidth of the ongoing transaction is monitored, and a different representation (Representation) is selected according to the situation. Therefore, it cannot be reflected in the next segment data request. For this reason, the transaction result in progress can be reflected only in the request for the segment after three.
  • Seg.Data (rep1) and Seg.Data (rep3) in the lowermost part of FIG. 8A indicate segment data with different representations, and rep3 is a segment with a higher image quality than rep1. Indicates data. That is, in the lowermost part of FIG. 8A, in response to the first request, after the low-quality three segment data (Seg.Data (rep1)) are transmitted, the high-quality segment data (Seg.Data (rep3)) is transmitted.
  • the server 201 can switch the segment data representation by determining the bandwidth state. For this reason, as shown in FIG. 8B, since the server 201 makes a determination according to the bandwidth, even at the timing immediately after the first segment data is sent, a different representation depends on the bandwidth status.
  • the segment data can be transmitted. That is, at the bottom of FIG. 8B, immediately after the low-quality segment data (Seg.Data (rep1)) is transmitted at the beginning, the high-quality segment data (Seg.Data (rep3)) is transmitted. It has been shown that.
  • FIG. 9 shows an example of the base framing protocol of the web socket and the operation code (operation code, opcode) described in the header part of the subframe.
  • FIN indicating whether this subframe is the end of data
  • MASK indicating whether the data is masked
  • Payload indicating the length of the application data len etc.
  • the operation code when the operation code is 0, it indicates a subframe (Continuation Frame) used to continue the connection.
  • the operation code is 1, the subframe for text data (Text Frame) It is shown that.
  • the operation code when the operation code is 2, it indicates a binary data subframe (Binary ⁇ ⁇ ⁇ ⁇ Frame), and when the operation code is 8, it is a subframe (Connection Close) Frame that terminates the connection. Is shown.
  • the operation code when the operation code is 9, it indicates a subframe (Ping Frame) used for confirming whether the connection can be maintained.
  • the operation code when the operation code is 10, it indicates a subframe (Pong Frame) used for a response to Ping Frame.
  • control data is composed of JSON Data described by Jason (JSON: JavaScript (registered trademark) Object Notation), which is one of lightweight data description languages.
  • segment Data is composed of data described according to the ISO / IEC 14496-12 (MPEG-4) standard.
  • control data and the segment data are not mixed in the payload portion of the common subframe, and each is arranged in the payload portion of the individual subframe.
  • control data is delayed and transmitted.
  • segment data has a large amount of data
  • transmission may be delayed.
  • control data is recognized only after all the mixed data has been read. I can't. For this reason, it is assumed that a delay time occurs until the control data is recognized.
  • control data and segment data are arranged in the payload part of individual subframes, control data can be recognized because relatively small control data can be transmitted before segment data is transmitted. Thus, transmission can be performed with a reduced delay time.
  • the received segment data can be added (Append) to the MSE source buffer without parsing with JavaScript (registered trademark) using the HTML5 web socket API.
  • FIG. 10 shows the syntax of the control data described by Jason.
  • the protocol ID is dash and the protocol version is 0.2.
  • the time stamp 1403627982268 in the example of FIG. 10 can correct a transmission delay occurring in the application layer and below.
  • control data can be transmitted together in one subframe.
  • the receiving side can easily perform batch processing. That is, in the example of FIG. 10, operation codes of capability, openMedia, and playStream are collectively described as control data.
  • FIG. 11 shows a list of operation codes used for subframes for transmitting control data.
  • OpenMedia is an operation code for specifying the MPD URL so that the media segment can be streamed to the server, and is sent from the client to the server.
  • openMedia is described as shown in FIG. 12, and “opcode”: “openMedia” on the first line is an operation code for specifying a URL of an MPD so that a media segment can be streamed to a server. It represents that.
  • the MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 12). Then, the server that received openMedia opens the specified MPD and sends mediaInfo back to the client.
  • MediaInfo is an operation code that is sent immediately after receiving openMedia or when media information is updated, and is sent from the server to the client.
  • mediaInfo is described as shown in FIG. 13, and “opcode”: “mediaInfo” on the first line is an operation code transmitted immediately after receiving openMedia or when media information is updated. It represents something.
  • the target media is designated by mediaDescriptor (152736 in the example of FIG. 13).
  • the network operation state (activity) (4 in the example of FIG. 13) is specified as defined in HTML5 Video by networkState.
  • the ready state of the target medium (4 in the example of FIG. 13) is designated by readyState.
  • the MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 13).
  • CloseMedia is an operation code for releasing resources secured by the server with openMedia, and is sent from the client to the server.
  • closeMedia is described as shown in FIG. 14, and “opcode”: “closeMedia” represents an operation code for releasing a resource secured by the server with openMedia.
  • the media to be closed is specified by mediaDescriptor (152736 in the example of FIG. 14).
  • PlayerStream is an operation code for starting a stream and specifying an open medium, and is transmitted from the client to the server.
  • playStream is described as shown in FIG.
  • opcode “playStream” on the first line represents an operation code for starting a stream and designating an opened medium.
  • the segment of the segment number specified by the segmentNumber of the medium specified by the mediaDescriptor (152736 in the example of FIG. 15) in the stream specified by streamDescriptor (4323 in the example of FIG. 15) (FIG. 15).
  • the stream for the number of segments (1000 in FIG. 15) designated by numSegment is started from 155).
  • VOD Video On Demand
  • the stream starts from the first segment of the media, and in the case of Live, the stream starts from the current latest segment.
  • StreamInfo is an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next, and is transmitted from the server to the client.
  • streamInfo is described as shown in FIG. Further, streamInfo indicates attribute information of segment data that is transmitted periodically and transmitted after the control data.
  • opcode “StreamInfo” on the first line represents an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next.
  • the target stream is specified by streamDescriptor (4323 in the example of FIG. 16).
  • the target medium is designated by mediaDescriptor (1527364235312 in the example of FIG. 13).
  • the network operation state (activity) is specified as defined in HTML5 Video by networkState.
  • the ready state (4 in the example of FIG. 16) of the target medium is described by readyState.
  • Multi MultipleRepresentation specifies whether there is a possibility that multiple representations may be sent for the same segment data.
  • “true” is specified, which indicates that there is a possibility that a plurality of representations may be transmitted for the same segment data. In that case, the client waits for reception of the next StreamInfo and then decides whether to use or discard the current Segment data.
  • “false” is specified, it is designated that a plurality of representations are not transmitted for the same segment data.
  • segmentSkipped it is specified whether or not there is a possibility of performing segment skip, which causes the delivery of a segment whose playback has been delayed with respect to real time to be performed during Live distribution.
  • segment skip indicates that there is no possibility of segment skipping.
  • true indicates that there is no possibility of segment skipping.
  • the minimum buffering time is specified by minBufferTime, and in FIG. 16, “4.00” specifies 4 seconds.
  • minNetworkBufferTime an incentive value that specifies how much data should be buffered by the client before starting decoding is designated.
  • “5.00” designates 5 seconds.
  • the server uses MinNetworkBufferDuration to specify as an encouragement value that the client should start decoding after buffering, and judging from the network status, etc., the client buffer is depleted due to bandwidth fluctuations.
  • StreamInfo is transmitted (signaling) at the start of the stream so that playback does not stop.
  • Segment data is specified by segment, and among these, the time of segment data is specified by presentationTime, and in FIG. 16, “331533” is specified in milliseconds. Further, the reproduction start position is designated by “periodID”. In FIG. 16, “1” is designated, and reproduction from the leading period is designated.
  • segment data is specified by “adaptationSetID”, and “video” is specified in FIG.
  • type of representation is specified by representationID, and “rep4” is specified in the example of FIG.
  • segment data number is specified by "segmentNumber”, and "1324" is specified in Fig. 16. If there is no information specifying these segments, the target segment is the head of the initialization. It is considered as a segment.
  • SAPType specifies the type of the start position SAP (Stream Access Point) where the separated presentation such as segment or subsegment changes.
  • SAP type is defined with description types 1 to 6 such that the first picture of the Segment SubSegment is the first picture of the Closed GOP or Open GOP. In the example of FIG. 16, 1 is specified. Yes.
  • SubsegmentNumber designates a number for identifying a subsegment constituting one segment data. In FIG. 16, “0” is designated. As for the number identifying the sub-segment, when three sub-segments constitute one segment data, as shown in the example of FIG. 16, if the number is the first sub-segment, “0” In the second sub-segment, “1” may be set, and in the third sub-segment, “2” may be set.
  • the server signals (transmits) SAPType and SubSegmentNumber.
  • the server can stop the stream in the middle of SubSegment. Thereby, without transmitting unnecessary Segment-Data, the stream can be stopped immediately by StopStream, and ChangeMedia can be realized with low delay. Furthermore, ChangeMedia can be switched at a higher speed by streaming the switched Media from the SubSegment.
  • StopStream is an operation code for stopping the stream and is sent from the client to the server.
  • stopStream is described as shown in FIG. 17, and the stop of the stream designated by the streamDescriptor (4323 in the example of FIG. 16) is instructed as a target stream.
  • opcode “stopStream” on the first line indicates an operation code for instructing to stop the stream
  • params “ ⁇ “streamDescriptor”: “on the second to fourth lines. 4323 “ ⁇ represents a parameter for designating a stream to be stopped.
  • ChangeMedia is to change the media to be streamed, specify the opened Media, and switch without stopping the stream. changeMedia is sent from the client to the server.
  • changeMedia is described as shown in FIG.
  • “Opcode”: “changeMedia” on the first line indicates an operation code for designating a stream medium to be played after the change.
  • PlayerInfo is an operation code for notifying the playback status of the player who is playing the stream, and is sent from the client to the server.
  • playerInfo is described as shown in FIG. 19, and is notified if there is a change in the playback status of the player.
  • “Opcode”: “playerInfo” on the first line indicates an operation code for notifying the playback status of the player.
  • “Params” on lines 2 to 8: ⁇ “streamDescriptor”: “4323”, “networkState”: “4”, “readyState”: “4” “currentPresentationTime”: “478777”, “bufferedTime”: “4000” ⁇ Represents a parameter for identifying a stream, a parameter representing a network status, a parameter representing a reading status, a parameter representing the current playback time in milliseconds, and a parameter representing the buffered time in milliseconds.
  • the server can detect that the client cannot be played back in real time using the currentPresentationTime included in the playerInfo. As a result, as will be described later with reference to FIG. 33, the server can skip unnecessary segments that are not reproduced and continue to transfer the latest live segment.
  • Capability is an operation code for notifying a client's capability, such as a codec, and is transmitted from the client to the server.
  • “opcode”: “capability” on the first line represents an operation code for notifying a client capability such as a codec.
  • SegmentSkip specifies whether or not the segment skip can be supported. For example, “false” is specified in FIG. 20 to indicate that the segment skip cannot be supported. When “true” is set, it is specified that segment skipping can be supported.
  • Decoding specifies the type of decoding that can be supported, mimeType specifies the mime type, and in FIG. 20, “video / mp4” is specified, which indicates that mp4 video can be decoded. Further, it is specified by codec that [“avc1.640828”] is possible as the type of codec. At this time, the maximum width, the maximum height, and the maximum bandwidth of the image that can be processed are designated by maxWidth, maxHieght, and maxBandwidth. In FIG. 20, “1920”, “1080”, and “101024” are set, respectively. It is specified that an image with a 1920 ⁇ 1080 pixel bandwidth of 101024 can be processed.
  • segmentAlignment Specifies whether or not the segments of the representation are aligned.
  • “false” is specified, and it is specified that the segments of each representation are aligned. If true, it is specified that there are no segments for each representation.
  • SAPType Stream Access Point
  • SAPType the type of the segment start position SAP (Stream Access Point) is specified by SAPType, and in the case of FIG. 20, it is specified that the SAP type is either 1 or 2.
  • audiomp4 is designated as a mime type that can be further dealt with, and it is designated that audio mp4 can be decoded.
  • [“mp4a.40”] is designated as the codec type, and segmentAlignment! Designates whether or not the segments of the representation are aligned. In FIG. 20, it is set to false. It is specified that the segment is complete.
  • Preference is an operation code for notifying client preferences (settings to be given priority) such as AdaptationSetID, and is transmitted from the client to the server.
  • “opcode”: “preference” on the first line represents an operation code for notifying the client's preference (setting that should be given priority).
  • the target medium is designated by mediaDescriptor (152736 in the example of FIG. 21) by mediaDescriptor.
  • segmentSkip it is specified whether or not the target media is not in a segment skip state. In FIG. 21, it is specified by “false” that it is requested to set a state in which segment skip is not performed. Yes.
  • the language to be used is specified by language, and in the case of FIG. 21, it is specified by [“en”, “fr”] that it is required to preferentially set the use of English and French.
  • the segment specifies a preference for setting the segment data, and the first period ID among them specifies the image playback start position. In FIG. 21, this is set to “1”, and the start period is set as the image playback start position. Is specified to be set with priority.
  • the image type of the segment data is specified by the first adaptationSetID, and in the case of FIG. 21, it is indicated that “mainVideo” is required to set the main image preferentially.
  • the type of image representation is designated by the first reprsentationID, and in FIG. 21, it is set to [“1”, “2”, “3”], and the type of reprsentation is any one of 1 to 3. It is shown that it is demanded to set with priority. In this case, three types of representations are designated, but the server determines the state of the band among these three types of representations and sets an optimal representation.
  • the second period ID specifies the audio playback start position. In the case of FIG. 21, it is set to “1”, and it is required to preferentially set the leading period as the audio playback start position. It is specified.
  • the audio type of the segment data is specified by the second adaptationSetID, and in the case of FIG. 21, it is shown that the main audio is requested to be set preferentially by “mainAudio”.
  • the type of audio representation is specified by the second reprsentationID. In FIG. 21, it is set to [“1”], and the type of audio representation is preferentially set to 1. Is shown to be required.
  • the preference of the client specifies which MediaSegment of Media is streamed by preference. (If nothing is specified, the server automatically selects according to the Capability of the client.)
  • the server executes Network Adaptation (processing according to the network status), and within that range, the server determines the appropriate resource based on the bandwidth adaptation etc. Select a presentation and stream it.
  • control data is transmitted and received between the server 201 and the client 202, and distribution of the content file is controlled.
  • FIG. 22 shows a sequence for starting VOD playback.
  • step S11 the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start a stream by designating the medium.
  • control data capability, openMedia, playStream
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by sending control data (mediaInfo) to the client 202 in step S12.
  • control data mediaInfo
  • step S13 the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits the segment data (RepID2011, SegmentNo 0) to the client 202 in step S14.
  • control data streamInfo
  • segment data RepID2011, SegmentNo 0
  • the client 202 receives this segment data and starts decoding.
  • the client 202 transmits control data (playerInfo) to the server 201, thereby notifying the elapsed time from the start of stream decoding.
  • the server 201 sequentially transmits segment data to the client 202.
  • the server 201 can perform appropriate band adaptation by estimating the buffer amount of the client from CurrentPresentanTime with PlayerInfo that changes the representation (Rep) by processing according to the state of the network (Network Adaptation). .
  • the server 201 transmits control data (streamInfo) in step S16, and transmits segment data (RepID 3, SegmentNo 1) in step S17. Subsequently, in step S18, the server 201 transmits control data (streamInfo) to the client 202. In step S19, the server 201 transmits segment data (RepID 3, SegmentNo 2).
  • the server 201 can continue to send segment data in accordance with the playback progress of the client 202 by Transmission Control. That is, the server 201 transmits control data (streamInfo) to the client 202 in step S20 at a timing in accordance with the playback progress of the client 202, and transmits segment data (RepID 3, SegmentNo 3) in step S21.
  • control data streamInfo
  • SegmentNo 3 segment data
  • the client 202 transmits control data (playerInfo) to the server 201 in step S22, and notifies the elapsed time after starting the decoding of the stream.
  • FIG. 23 shows a sequence for interrupting and resuming VOD playback.
  • step S31 transmits control data (streamInfo) in step S31, and transmits segment data (RepID 2, SegmentNo 153) in step S32.
  • step S33 transmits control data (playerInfo) to the server 201 in step S33.
  • the client 202 transmits control data (stopStream) to the server 201 in step S34.
  • stopStream control data
  • the client 202 notifies the server 201 that the stream is to be stopped.
  • the server 201 transmits the control data (streamInfo) and the segment data (RepID , 3, SegmentNo 154) in steps S35 and S36, respectively, and then in step S37, the control data (streamInfo) notifying the interruption. Is transmitted to the client 202.
  • step S38 the client 202 transmits control data (Start Stream), and the segment number (155 in the example of FIG. 23) to be resumed. specify.
  • the server 201 transmits segment data (RepIDp3, SegmentNo 155) to the client 202 in step S39, and the client 202 sends control data (playerInfo) to the server 201 in step S40.
  • FIG. 24 shows a sequence in which VOD playback is played to the end and finished.
  • the transmission of the segment data is continued, and the server 201 transmits the control data (streamInfo) in step S51, and transmits the segment data (RepID 2, SegmentNo 873) in step S52. Then, the client 202 transmits control data (playerInfo) to the server 201 in step S53.
  • the server 201 transmits control data (streamInfo) in step S54, and transmits segment data (RepID , 2, SegmentNo 874) in step S55. If the transmitted segment is the end of the stream, the server 201 transmits control data (streamInfo) in step S56 to notify the client 202 that the stream has ended.
  • the client 202 transmits control data (playerInfo) to the server 201 in step S57, and then transmits control data (closeMedia, stopStream) to the server 201 in step S58.
  • control data playerInfo
  • closeMedia, stopStream control data
  • the client 202 notifies the server 201 that the playback of all received segments is finished and the media is closed.
  • step S59 the server 201 transmits control data (MediaStatus) to the client 202, and the VOD reproduction is ended.
  • FIG. 25 shows a sequence for starting live reproduction when viewing from the beginning of the live.
  • step S71 the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium.
  • control data capability, openMedia, playStream
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S72.
  • control data mediaInfo
  • step S73 the server 201 transmits control data (mediaInfo) to the client 202 to notify MediaStatus.
  • step S74 the server 201 transmits control data (mediaInfo, streamInfo) to the client 202. Subsequently, the server 201 transmits segment data (Segment Data of SegmentNo 0) to the client 202 in step S75.
  • control data mediaInfo, streamInfo
  • segment data Segment Data of SegmentNo 0
  • the client 202 receives the segment data and starts decoding.
  • the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since the start of decoding the stream. .
  • segment data is transmitted from the server 201 to the client 202 in the same manner.
  • FIG. 26 shows a sequence for starting live reproduction when viewing from the middle of live performance.
  • step S91 the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.
  • control data capability, openMedia, playStream
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S92.
  • control data mediaInfo
  • the client 202 receives the segment data and starts decoding.
  • the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since starting the decoding of the stream. .
  • the server 201 can continue to send segment data, and transmits control data (streamInfo) and segment data (Segment Data Data of Segment No 1448) in steps S96 and S97, respectively. Subsequently, in steps S98 and S99, the server 201 transmits control data (streamInfo) and segment data (Segment Data of SegmentNo 1449), respectively.
  • segment data is transmitted from the server 201 to the client 202 in the same manner.
  • the server 201 includes a reception unit 211, a transmission unit 212, a storage unit 312, and a communication processing unit 214.
  • the receiving unit 211 receives data transmitted to the server 201 via the network and supplies the data to the communication processing unit 214.
  • the transmission unit 212 transmits, for example, various control data to the client 202 according to the communication processing executed in the communication processing unit 214, or appropriately reads the content file segment from the storage unit 312 and transmits it to the client 202.
  • the storage unit 312 stores content files such as images and sounds distributed from the server 201.
  • the communication processing unit 214 performs communication processing using the control data as described above with the communication processing unit 227 of the client 202, for example.
  • the client 202 includes a receiving unit 221, a transmitting unit 222, a buffer 223, a reproduction processing unit 224, a display 225, a speaker 226, and a communication processing unit 227.
  • the receiving unit 221 receives, for example, control data transmitted from the server 201 and supplies the control data to the communication processing unit 227, or receives a segment of a content file transmitted from the server 201 and supplies it to the buffer 223.
  • the buffer 223 temporarily holds a segment of the content file supplied from the receiving unit 221.
  • the playback processing unit 224 performs playback processing that reads and decodes the segments held in the buffer 223, supplies video data to the display 225, and supplies audio data to the speaker 226. Thereby, the display 225 displays an image, and the speaker 226 outputs sound.
  • the communication processing unit 227 performs communication processing using the control data as described above with the communication processing unit 214 of the server 201, for example.
  • step S111 the communication processing unit 227 of the client 202 controls the transmission unit 222 to transmit control data (capability, openMedia, playStream) to the server 201.
  • control data Capability, openMedia, playStream
  • the capabilities of the client 202 are notified to the server 201, the media is specified, and the start of the stream is requested.
  • the communication processing unit 214 of the server 201 controls the reception unit 211 to receive this request, and reads the media information of the media designated by the client 202 from the storage unit 213. In step S ⁇ b> 112, the communication processing unit 214 controls the transmission unit 212 to transmit the control data (mediaInfo) to the client 202, thereby returning the media information.
  • step S113 the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (streamInfo (RepID , 1, SegmentNo 0, RepRep: true)) to the client 202 and then transmit it. Notify the attribute of the segment data to be processed.
  • step S ⁇ b> 114 the communication processing unit 214 controls the transmission unit 212 to transmit the segment data (RepID2021, SegmentNo 0) to the client 202.
  • control data and the segment data are each arranged in the payload portion of an individual subframe as described with reference to FIG.
  • step S113 the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit segment data (MediaMedia) at the next timing using StreamInfo using the control data before transmitting the segment data.
  • Data (RepRep: true) indicating that there is a possibility of transmitting segment data of different representations with the same Segment No, together with information (RepID 1) that identifies the representation that is scheduled to be transmitted by (Data Frame) Send.
  • the segment data to be transmitted next has a segment number of 0 (Segment No. 0) and the segment representation is Video1 ( It is indicated that the information is RepID: Video1). Furthermore, information (Multiple Representation: True) indicating that there is a possibility of sending segment data of different representations with the same Segment No is transmitted. Note that Multiple Representationl: True corresponds to RepRep: true in FIG.
  • step S114 segment data is transmitted as shown in the second from the left in the upper part of FIG.
  • the communication processing unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and start decoding.
  • the communication processing unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)) to the server 201, thereby notifying the elapsed time from the start of stream decoding. To do.
  • the communication processing unit 214 of the server 201 controls the transmission unit 212 to sequentially transmit the segment data to the client 202.
  • the communication processing unit 214 of the server 201 estimates the buffer amount of the buffer 223 of the client 202 from CurrentPresentanTime by PlayerInfo that changes the representation (Rep) by processing according to the network state (Network Adaptation). Can adapt to the appropriate band.
  • step S116 a control data frame (Control Frame ⁇ streamInfo) composed of control data (streamInfo (RepID 3, SegmentNo 0, RepRep: false)) is transmitted as shown in the lower leftmost column of FIG.
  • the client 202 discards the segment data (RepID 1, SegmentNo 0) that has been transmitted immediately before and has a low bit rate.
  • step S117 the communication control unit 214 of the server 201 controls the transmission unit 212 so that the segment data (RepID3, A segment data frame (Media Data Frame 0) consisting of Segment No 0 is transmitted.
  • the segment data to be transmitted next has the same segment number as that of the segment data transmitted immediately before (Segment No. 0), and the bit rate is higher.
  • a control frame composed of control data indicating Video3 (RepID: Video3) of the representation is transmitted.
  • the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S117, the segment data frame (RepID 3, SegmentNo. 0) is sent as a segment data frame (Media Data Frame 0).
  • the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S118, as shown in the third from the lower left in FIG. 30, a control frame (Control ⁇ ⁇ ⁇ ⁇ Frame consisting of control data (streamInfo) streamInfo) to the client 202.
  • a control frame Control ⁇ ⁇ ⁇ ⁇ Frame consisting of control data (streamInfo) streamInfo
  • the communication control unit 214 of the server 201 controls the transmission unit 212 so that the segment data including the segment data (RepID 3, SegmentNo 1) is shown as the fourth from the left in the lower part of FIG. Send the frame (Media Data Frame 1).
  • the communication control unit 227 of the client 202 controls the reception unit 221 to receive the segment data and start decoding.
  • the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)).
  • playerInfo CurrentPresentanTime
  • the server 202 is notified of the elapsed time from the start of the stream decoding in the client 202.
  • the communication control unit 214 of the server 201 can continue to send segment data as transmission progresses by the client 202 using Transmission Control. That is, the communication control unit 214 of the server 201 controls the transmission unit 212 in step S121 at the timing in accordance with the progress of reproduction of the client 202, and the control data as shown in the fifth from the lower left in FIG. A control frame (Control Frame streamInfo) composed of (streamInfo) is transmitted to the client 202.
  • Control Frame streamInfo composed of (streamInfo) is transmitted to the client 202.
  • step S122 the communication control unit 214 of the server 201 controls the transmission unit 212, and as shown in the lower rightmost column of FIG. 30, a segment data frame (Media ID “RepID 3, SegmentNo 2”) Data Frame2) is transmitted.
  • a segment data frame Media ID “RepID 3, SegmentNo 2”
  • the reproduction processing unit 224 changes the reproduction status
  • the communication control unit 227 of the client 202 controls the transmission unit 222 in step S123 to transmit the control data (playerInfo) to the server 201, thereby Notify the elapsed time since the start of decoding.
  • the server 201 switches the representation as necessary according to the state of the band, and transmits the segment data to the client 202.
  • the segment data that is the same as the segment number sent immediately before and is switched to the representation according to the band status is transmitted.
  • step S115 If it is determined by the processing in step S115 that the current representation is appropriate for the current band, for example, the communication processing unit 214 of the server 201 orders the segment numbers of the segment data transmitted immediately before. 1 is incremented and the segment data of the same representation is transmitted. That is, in the next step, as shown in the third column from the left in the upper part of FIG. 30, the server 201 controls the control frame (Control Frame) composed of control data (streamInfo (RepID 1, SegmentNo 1, RepRep: false)). streamInfo) to the client 202.
  • Control Frame composed of control data (streamInfo (RepID 1, SegmentNo 1, RepRep: false)
  • streamInfo streamInfo
  • the server displays a segment data frame (Media Data Frame 1 consisting of segment data (RepID 1, Segment No 1) notified in advance by control data in advance. Thereafter, the segment number is sequentially incremented by one, and the control data frame made up of control data and the segment data frame made up of segment data are sequentially sent alternately.
  • Segment No 1 Segment data
  • a plurality of types of representations are transmitted for the same segment data at the start of playback in accordance with the band status. It becomes possible to transmit. As a result, it is possible to prevent playback from starting from an image with a low image quality, and it is possible to reproduce from an image with an appropriate image quality according to the state of the band. As a result, the operability in the reproduction process can be improved.
  • Sub-segment data is a smaller unit than segment data. As a result, a higher-speed operation is realized than the processing in units of segment data, thereby preventing a transmission delay or the like.
  • openMedia openMedia
  • playStream control data
  • the capability of the client 202 is notified, and a request is made to start the stream by specifying the media.
  • the communication control unit 227 of the client 202 controls the transmission unit 222 to confirm that transmission in units of subsegments is possible.
  • the communication control unit 214 of the server 201 reads the media information of the media designated by the client 202 from the storage unit 213, controls the transmission unit 212 in step S142, and sends control data (mediaInfo) to the client 202.
  • the media information is returned by sending to.
  • step S143 the communication control unit 214 of the server 201 controls the transmission unit 212 to control data (streamInfo (RepID 1, SegmentNo 1, SubsegmentNo, SAPType 1) as shown in the leftmost part of FIG. ) Is transmitted to the client 202, and the attribute of the sub-segment to be transmitted next is notified.
  • control data streamInfo (RepID 1, SegmentNo 1, SubsegmentNo, SAPType 1) as shown in the leftmost part of FIG. ) Is transmitted to the client 202, and the attribute of the sub-segment to be transmitted next is notified.
  • FIG. 32 shows a control frame (Control Frame) composed of control data transmitted when two segment data of different representations on the left and right in the figure are each composed of two subsegment data, and a subsegment It is a figure explaining the transmission order of the media data frame (Media
  • the representation is video1 (RepID: video1) and the segment number is 1 (Segment No 1).
  • the procedure when segment data is transmitted and the representation is video2 (RepID: video2)
  • the procedure is shown when segment data with a segment number of 2 (Segment No 2) is transmitted.
  • the sub-segment data is, for example, GOP (Group of Picture) in a case where the segment data is MPEG image data, and is data of a constituent unit having a smaller data size than the constituent unit of the segment data.
  • GOP Group of Picture
  • control data is also configured in units of sub-segments.
  • control data (streamInfo (RepID video1, SegmentNo.1) is transmitted at the timing before the first subsegment data (Media Data Frame: Segment Data of Subsegment 1) for the left segment data in the figure is transmitted.
  • a control data frame (Control Frame) consisting of SubsegmentNo 1, SAPType 1)
  • control data (streamInfo (RepID video1, SegmentNo 1, SubsegmentNo.1) is sent at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the left segment data in FIG. 2, a control data frame (Control Frame) consisting of SAPType 3)) is transmitted.
  • control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 1) is sent at the timing before the first subsegment data (Media Data : Frame: Segment Data of Subsegment 1) for the segment data on the right side in FIG. 32 is transmitted. , SAPType 1)), a control data frame (Control Frame) is transmitted.
  • the control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 2, segmentSAPType) is sent at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the right segment in the figure is transmitted.
  • a control data frame consisting of 2) is transmitted.
  • step S144 the communication control unit 214 of the server 201 controls the transmission unit 212 to perform the first subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 1 for the left segment in FIG. (RepID video1, SegmentNo 1, SubsegmentNo 1, SAPType 1)).
  • Media Data Frame Segment Data Data of Data Subsegment 1 for the left segment in FIG. (RepID video1, SegmentNo 1, SubsegmentNo 1, SAPType 1)
  • the communication control unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and store it in the buffer 223. At this time, the reproduction processing unit 224 starts decoding the segment data buffered in the buffer 223. In step S145, the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo) to the server 201, thereby notifying the elapsed time from the start of the stream decoding in the reproduction processing unit 224. To do. At this time, the client 202 can execute a process of displaying an image based on smaller data than the segment data in sub-segment units, so that the image can be displayed at a higher speed.
  • step S146 the communication processing unit 214 of the server 201 controls the transmission unit 212 to control the second sub-segment data of the segment data on the left side of FIG. 32 (streamInfo (RepIDpvideo1, SegmentNo 1) , SubsegmentNo 2, SAPType 3)) is transmitted to the client 202, and the attribute of the next subsegment to be transmitted is notified.
  • streamInfo RepIDpvideo1, SegmentNo 1 , SubsegmentNo 2, SAPType 3
  • step S147 the communication control unit 214 of the server 201 controls the transmission unit 212, and the second subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 2 for the left segment in FIG. 32). (RepID video1, SegmentNo 1, SubsegmentNo 2, SAPType 3)).
  • the communication control unit 227 of the client 202 controls the transmission unit 222 to transmit control data (closeMedia, stopStream) to the server 201 in step S148.
  • the playback processing unit 224 of the client 202 ends the playback of all received segments stored in the buffer 223.
  • the communication processing unit 227 controls the transmission unit 222 to notify the server 201 that the medium is to be closed.
  • step S 149 the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (MediaStatus) to the client 202.
  • control frame composed of control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 1, SAPType 2)) of the first subsegment data in the segment data on the right side of FIG. Then, the attribute of the sub-segment to be transmitted next is notified.
  • step S151 the communication control unit 214 of the server 201 controls the transmission unit 212 so that the first subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 1 (RepID video 2) for the right segment in FIG. , SegmentNo 2, SubsegmentNo 1, SAPType 2)).
  • Media Data Frame Segment Data Data of Data Subsegment 1 (RepID video 2) for the right segment in FIG. , SegmentNo 2, SubsegmentNo 1, SAPType 2)
  • step S152 the communication control unit 214 of the server 201 controls the transmission unit 212 to notify the client of the operation stop.
  • control data StreamInfo (SegmentNo, SubSegmentNo, SAP Type) is attached and managed in sub-segment units smaller than the segment data unit, so that the image playback display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed. That is, as described above, since the process for which transmission has been started cannot be stopped, by managing transmission in units smaller than segment data, such as sub-segment data, the image display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed.
  • the communication control unit 214 of the server 201 analyzes (parses) the segment data, divides it into sub-segments if possible, and transmits them in units of sub-segments. In this case, the segment data can be managed more quickly. As a result, it is possible to improve the operability in reproduction.
  • FIG. 33 shows a sequence performed when network congestion occurs during live playback.
  • step S161 the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium.
  • control data capability, openMedia, playStream
  • segmentSkip it is possible to specify whether segment skip can be supported by segmentSkip.
  • FIG. 33 it is possible to handle segment skip. It is set to “true”.
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S162.
  • control data mediaInfo
  • step S163 the server 201 transmits segment data (MediaDiscDis1, SegmentNo 1699) to the client 202 in step S164 after transmitting the control data (streamInfo) to the client 202.
  • segment data MediaDiscDis1, SegmentNo 1699
  • segment data is sequentially transmitted, and the server 201 transmits the control data (streamInfo) in step S165, and then transmits the segment data (MediaDisc 1, Segment No 1700) in step S166.
  • the client 202 transmits control data (playerInfo) to the server 201 in step S167.
  • control data playerInfo
  • the control data (playerInfo) includes currentPresentationTime and BufferedTime as shown in FIG.
  • Network Congestion Network Congestion
  • the server 201 takes time to transmit the previous segment data (Segment No. 1700). If it is determined that the segment No. 1701 is not reproduced, the server 201 transmits the Segment No. 1701. skip.
  • the server 201 transmits the control data (mediaInfo) and the control data (streamInfo) in steps S168 and S169, and then transmits the segment data (MediaDisc 1, SegmentNo 1701) in step S170. That is, the server 201 resumes transmission from the segment that is played live by the client 202.
  • the server 201 can signal how many segments are buffered to the client 202 adaptively to the bandwidth. That is, the server 201 can signal currentPresentationTime or BufferedTime by the control data (playerInfo) transmitted from the client 202 in step S167.
  • the currentPresentationTime indicates an elapsed time since the playback processing unit 224 starts decoding the stream in the client 202.
  • BufferedTime indicates the time during which playback can be continued with the segment data held in the buffer 223 of the client 202, and is equivalent to the time when playback can be continued in a state where no segment data can be received from the network. is there.
  • the server 201 can perform transmission of a segment by skipping (avoiding) transmission of a segment that is determined not to be reproduced even if it is transmitted based on currentPresentationTime or BufferedTime. Thereby, for example, since unnecessary segments that are not reproduced are not transmitted, the bandwidth can be used more effectively, and when network congestion occurs during live reproduction, appropriate restoration can be performed.
  • control data (playerInfo) for notifying the currentPresentationTime and BufferedTime does not need to be transmitted every time.
  • the client 202 transmits when playback is started or when playback is resumed due to data depletion. be able to.
  • Fifth embodiment> ⁇ Fast Switching of multiple media> Next, a fifth embodiment to which the present technology is applied will be described with reference to FIGS. 34 and 35.
  • 34 and 35 show a sequence for switching and reproducing a plurality of media.
  • step S181 the client 202 transmits the control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.
  • control data capability, openMedia, playStream
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S182.
  • control data mediaInfo
  • the medium to be reproduced is MediaDescMedia1.
  • step S183 the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits the segment data (MediaDesc ⁇ ⁇ ⁇ 1, SegmentNo1447) to the client 202 in step S184. At this time, for example, in the case of live reproduction and broadcasting has already started, transmission is performed from the latest segment.
  • control data streamInfo
  • segment data MediaDesc ⁇ ⁇ ⁇ 1, SegmentNo1447
  • the client 202 receives this segment data and starts decoding, and transmits control data (playerInfo) to the server 201 in step S185.
  • the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1448) to the client 202 in steps S186 and S187, respectively.
  • control data streamInfo
  • segment data MediaDesc 1, SegmentNo1448
  • step S188 the client 202 transmits the control data (openMedia) to the server 201 and requests to open by designating another medium.
  • control data openMedia
  • the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S189.
  • control data mediaInfo
  • the opened media is set to MediaDesc 2 that is different from MediaDesc 1 that is being reproduced.
  • the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDescMedia1, SegmentNo1449) to the client 202 in steps S190 and S191, respectively. Subsequently, as shown in FIG. 35, in steps S192 and S193, control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1450) are transmitted to the client 202, respectively.
  • control data streamInfo
  • segment data MediaDesc 1, SegmentNo1450
  • step S194 when the user performs an operation on the client 202 so as to switch the media, in step S194, the client 202 transmits control data (changeMedia) to the server 201, and the server is configured to switch the streamed media to MediaDesc 2. Request to 201.
  • control data changeMedia
  • the server 201 transmits segment data (MediaDesc 2, SegmentNo7337) in step S196, following the transmission of the control data (streamInfo) in step S195. Thereby, stream reproduction is continued without interruption.
  • the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 2, SegmentNo7338) to the client 202 in steps S197 and S198, respectively.
  • control data streamInfo
  • segment data MediaDesc 2, SegmentNo7338
  • step S199 the client 202 transmits control data (changeMedia) to the server 201 and switches the streamed media to MediaDescMedia1. Request to the server 201.
  • control data changeMedia
  • the server 201 transmits segment data (MediaDesc 1, SegmentNo1452) in step S201 following transmission of control data (streamInfo) in step S200. At this time, the server 201 transmits from the latest segment in the case of live playback, and transmits from the continuation of the previous media segment in the case of VOD playback.
  • the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1453) to the client 202 in steps S202 and S203, respectively.
  • control data streamInfo
  • segment data MediaDesc 1, SegmentNo1453
  • segment data is transmitted from the server 201 to the client 202.
  • the server 201 can open a plurality of media in advance in response to a request from the client 202.
  • the client 202 transmits the control data (changeMedia) in the stream, so that the server 201 can transmit the segments of each medium without breaks. That is, since the client 202 does not need to load a new MPD (media information) when switching media, the client 202 can smoothly switch channels and play media.
  • control data changeMedia
  • the client 202 may make an inquiry to the server 201 as to whether the media can be opened. It should be noted that MPD information can be maintained statefully in the OpenMedia and CloseMedia commands. Also, in response to the client 202 sending OpenMedia, the server 201 returns a MediaDescriptor.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 36 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 910 is also connected to the bus 904.
  • An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
  • the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 914 includes a network interface, for example.
  • the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program, for example. Is performed.
  • the RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
  • the program executed by the computer can be recorded and applied to, for example, a removable medium 921 as a package medium or the like.
  • the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 914 and installed in the storage unit 913.
  • this program can be installed in the ROM 902 or the storage unit 913 in advance.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the information processing apparatus includes, for example, a transmitter or a receiver, an optical disc, a magnetic disc, a wired broadcast such as a satellite broadcast and a cable TV, a delivery on the Internet, and a delivery to a terminal by cellular communication.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a flash memory or a reproducing device that reproduces an image from the storage medium.
  • this technique can also take the following structures.
  • An information processing apparatus comprising: a transmission unit configured to transmit encoded data for a partial image of the content data to the client in units of subsegment data smaller than segment data.
  • (2) further includes a communication control unit that controls the operation of the transmission unit;
  • the communication control unit analyzes segment data composed of encoded data of the partial image of the content data, generates the sub-segment data based on an analysis result, controls the transmission unit, and The information processing apparatus according to (2), which is transmitted to a client.
  • the communication control unit The receiving unit is controlled to receive receivable information indicating that the sub-segment data can be received from the client, and the transmitting unit is controlled for the client that can receive the receivable information.
  • An information processing method comprising: transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
  • a computer that controls an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH;
  • a program for executing processing including a step of transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
  • a receiving unit that receives encoded data of a partial image of the content data from the server in sub-segment data units smaller than segment data;
  • a buffering unit for buffering the sub-segment data received by the receiving unit;
  • An information processing apparatus comprising: a reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
  • (9) a transmission unit that transmits data to the server;
  • the communication control unit When the sub-segment data from the client is receivable by controlling the transmission unit, receivable information indicating that the sub-segment data can be received from the client is transmitted to the server.
  • a computer of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH;
  • the encoded data of the partial image of the content data is received from the server in units of sub-segment data smaller than the segment data, Buffer the received sub-segment data,
  • a program for executing a process including a step of reproducing the buffered sub-segment data.
  • a distribution system including the server and the first information processing apparatus for realizing the function of the client, which distributes content data from the server to the client using MPEG-DASH
  • the first information processing apparatus includes: A transmission unit that transmits the encoded data for the partial image of the content data to the second information processing apparatus in sub-segment data units smaller than the segment data;
  • the second information processing apparatus A reception unit that receives encoded data of a partial image of the content data from the first information processing apparatus in sub-segment data units smaller than segment data;
  • a buffering unit for buffering the sub-segment data received by the receiving unit;
  • a reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
  • 100 distribution system 101 distribution data generation device, 102 distribution server, 103 terminal device, 104 network, 201 server, 202 client

Abstract

The present disclosures pertain to an information processing device and method, a distribution system, and a program that are able to rapidly halt or alter reproduction. A distribution system, which distributes content data using MPEG-DASH from a server to a client, transmits to the client encoded data of a partial image of content data in units of a media data frame (segment data of subsegment 1, segment data of subsegment 2) smaller than segment data, and the client reproduces the subsegment data. The present technology can be applied for example to a distribution system.

Description

情報処理装置および方法、配信システム、並びにプログラムInformation processing apparatus and method, distribution system, and program
 本開示は、情報処理装置および方法、配信システム、並びにプログラムに関し、特に、動画再生における操作性を向上できるようにした情報処理装置および方法、配信システム、並びにプログラムに関する。 The present disclosure relates to an information processing device and method, a distribution system, and a program, and particularly relates to an information processing device and method, a distribution system, and a program that can improve operability in moving image playback.
 近年、HTTP(Hyper Text Transfer Protocol)を利用したコンテンツ配信技術としてMPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)が標準化された(例えば、非特許文献1参照)。MPEG-DASHでは、同一コンテンツが異なるビットレートで表現された複数の符号化データをコンテンツサーバに格納し、クライアントが、ネットワーク帯域に応じて複数の符号化データのいずれかの符号化データを選択しながら再生するABS(Adaptive Bitrate Streaming)技術が採用されている。 In recent years, MPEG-DASH (Moving Picture Experts Group Dynamic Dynamic Adaptive Streaming HTTP) has been standardized as a content distribution technology using HTTP (Hyper Text Transfer Protocol) (for example, see Non-Patent Document 1). In MPEG-DASH, multiple encoded data in which the same content is expressed at different bit rates are stored in the content server, and the client selects one of the multiple encoded data according to the network bandwidth. However, it uses ABS (Adaptive Bitrate Streaming) technology for playback.
 ところで、全体画像の代わりにその一部である部分画像を適応的に選択して配信することが考えられた。例えば、全体画像の内、画像データを受け取る端末側によって選択された部分の部分画像を配信したり、端末の性能(例えばCPU等の処理能力やディスプレイの大きさ等)や伝送経路やサーバの負荷状況等に応じて、配信する部分画像の大きさを制御したりすることが考えられた。 By the way, instead of the entire image, it was considered to adaptively select and distribute a partial image that is a part thereof. For example, a partial image of a part selected by the terminal that receives the image data in the entire image is distributed, the terminal performance (for example, the processing capacity of the CPU, the size of the display, etc.), the transmission path, and the load on the server It was considered to control the size of the partial image to be distributed according to the situation.
 しかしながら、従来のMPEG-DASH規格では、伝送の最小単位となる符号化データが大きくなるほど、大きな伝送遅延が発生してしまう。 However, in the conventional MPEG-DASH standard, the larger the encoded data that is the minimum unit of transmission, the larger the transmission delay occurs.
 本開示は、このような状況に鑑みてなされたものであり、伝送の最小単位となる符号化データの大きさを、より小さな単位とすることにより、伝送遅延を抑制することができるようにするものである。 The present disclosure has been made in view of such a situation, and enables transmission delay to be suppressed by setting the size of encoded data, which is a minimum unit of transmission, to a smaller unit. Is.
 本開示の第1の側面の情報処理装置は、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置において、前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信する送信部を含む情報処理装置。 An information processing apparatus according to a first aspect of the present disclosure is a partial image of the content data in the information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH. An information processing apparatus including a transmission unit that transmits the encoded data to the client in units of sub-segment data smaller than the segment data.
 前記送信部の動作を制御する通信制御部をさらに含ませるようにすることができ、前記通信制御部には、前記送信部を制御して、前記サブセグメントデータを送信させる前に、前記サブセグメントデータの属性を示すコントロールデータを前記クライアントに送信させるようにすることができる。 The communication control unit may further include a communication control unit that controls the operation of the transmission unit, and the communication control unit controls the transmission unit to transmit the sub-segment data before the sub-segment data is transmitted. Control data indicating data attributes can be transmitted to the client.
 前記通信制御部には、前記コンテンツデータの前記部分画像の符号化データからなるセグメントデータを解析し、解析結果に基づいて前記サブセグメントデータを生成させ、前記送信部を制御して、前記クライアントに送信させるようにすることができる。 The communication control unit analyzes segment data composed of encoded data of the partial image of the content data, generates the sub-segment data based on the analysis result, controls the transmission unit, and controls the client It can be made to transmit.
 前記クライアントからのデータを受信する受信部をさらに含ませるようにすることができ、前記通信制御部には、前記受信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を受信させ、前記受信可能情報が受信できる前記クライアントに対して、前記送信部を制御して、前記サブセグメントデータを送信させるようにすることができる。 A receiving unit that receives data from the client can be further included, and the communication control unit can control the receiving unit to receive the sub-segment data from the client. It is possible to receive the receivable information indicating that the sub-segment data is transmitted to the client that can receive the receivable information by controlling the transmission unit.
 本開示の第1の側面の情報処理方法は、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置の情報処理方法において、前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信するステップを含む。 An information processing method according to a first aspect of the present disclosure is an information processing method of an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH. Transmitting encoded data for a partial image of data to the client in units of sub-segment data smaller than segment data.
 本開示の第1の側面のプログラムは、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置を制御するコンピュータに、前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信するステップを含む処理を実行させる。 A program according to a first aspect of the present disclosure provides a computer that controls an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH. A process including a step of transmitting the encoded data for the partial image to the client in units of sub-segment data smaller than the segment data is executed.
 本開示の第1の側面においては、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置において、前記コンテンツデータの部分画像に対する符号化データが、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信される。 In the first aspect of the present disclosure, in an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH, encoding the partial image of the content data Data is transmitted to the client in sub-segment data units that are smaller than the segment data.
 本開示の第2の側面の情報処理装置は、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置において、前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信する受信部と、前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部とを含む。 An information processing device according to a second aspect of the present disclosure is a partial image of the content data in the information processing device that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH. Receiving data from the server in sub-segment data units smaller than segment data, a buffering unit for buffering the sub-segment data received by the receiving unit, and buffering in the buffering unit A reproducing unit for reproducing the sub-segment data.
 前記セグメントデータには、前記コンテンツデータのMPEGデータを含ませるようにすることができ、前記サブセグメントデータには、前記MPEGデータのGOPを含ませるようにすることができる。 The segment data can include the MPEG data of the content data, and the sub-segment data can include the GOP of the MPEG data.
 前記サーバにデータを送信する送信部と、前記送信部の動作を制御する通信制御部をさらに含ませるようにすることができ、前記通信制御部には、前記送信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能である場合、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を前記サーバに送信させるようにすることができる。 A transmission unit that transmits data to the server and a communication control unit that controls the operation of the transmission unit may be further included, and the communication control unit controls the transmission unit to control the client. When the sub-segment data can be received from the client, the server can be made to transmit receivability information indicating that the sub-segment data can be received from the client.
 本開示の第2の側面の情報処理方法は、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置の情報処理方法において、前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、受信した前記サブセグメントデータをバッファリングし、バッファリングされた前記サブセグメントデータを再生するステップを含む。 An information processing method according to a second aspect of the present disclosure is an information processing method of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH. Receiving encoded data of a partial image of data from the server in sub-segment data units smaller than segment data, buffering the received sub-segment data, and reproducing the buffered sub-segment data .
 本開示の第2の側面のプログラムは、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置のコンピュータに、前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、受信した前記サブセグメントデータをバッファリングし、バッファリングされた前記サブセグメントデータを再生するステップを含む処理を実行させる。 A program according to a second aspect of the present disclosure provides a partial image of the content data on a computer of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH. Is received from the server in sub-segment data units smaller than the segment data, the received sub-segment data is buffered, and the buffered sub-segment data is reproduced. .
 本開示の第2の側面においては、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置であって、前記コンテンツデータの部分画像の符号化データがセグメントデータより小さいサブセグメントデータ単位で前記サーバより受信され、受信した前記サブセグメントデータがバッファリングされ、バッファリングされた前記サブセグメントデータが再生される。 According to a second aspect of the present disclosure, there is provided an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH, The encoded data is received from the server in sub-segment data units smaller than the segment data, the received sub-segment data is buffered, and the buffered sub-segment data is reproduced.
 本開示の第3の側面の配信システムは、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する、前記サーバおよび前記クライアントの機能を実現する第1および第2の情報処理装置からなる配信システムであって、前記第1の情報処理装置は、前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記第2の情報処理装置に送信する送信部を含み、前記第2の情報処理装置は、前記コンテンツデータの部分画像の符号化データからなるセグメントデータより小さいサブセグメントデータ単位で前記第1の情報処理装置より受信する受信部と、前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部とを含む。 A distribution system according to a third aspect of the present disclosure includes the server and the first and second information processing apparatuses that realize the functions of the client, which distribute content data from the server to the client using MPEG-DASH. In the distribution system, the first information processing device includes a transmission unit that transmits encoded data for the partial image of the content data to the second information processing device in sub-segment data units smaller than segment data. The second information processing device includes: a receiving unit that receives from the first information processing device in sub-segment data units smaller than segment data composed of encoded data of partial images of the content data; and the receiving unit A buffering unit for buffering the received sub-segment data; and the buffer And a reproduction unit for reproducing the sub-segment data buffered in the ring portion.
 本開示の第3の側面においては、MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する、前記サーバおよび前記クライアントの機能を実現する第1および第2の情報処理装置からなる配信システムであって、前記第1の情報処理装置により、前記コンテンツデータの部分画像に対する符号化データが、セグメントデータよりも小さいサブセグメントデータ単位で前記第2の情報処理装置に送信され、前記第2の情報処理装置により、前記コンテンツデータの部分画像の符号化データがセグメントデータより小さいサブセグメントデータ単位で前記第1の情報処理装置より受信され、受信した前記サブセグメントデータがバッファリングされ、前記バッファリング部にバッファリングされた前記サブセグメントデータが再生される。 In the third aspect of the present disclosure, a distribution system including the server and the first information processing apparatus that realizes the function of the client, which distributes content data from the server to the client using MPEG-DASH. The encoded data for the partial image of the content data is transmitted to the second information processing device in units of sub-segment data smaller than segment data by the first information processing device. The encoded data of the partial image of the content data is received from the first information processing apparatus in units of subsegment data smaller than the segment data by the information processing apparatus, the received subsegment data is buffered, and the buffering The sub-segment data buffered in the It is.
 本開示の一側面によれば、動画再生における操作性を向上することができる。 According to one aspect of the present disclosure, it is possible to improve operability in moving image playback.
MPEG-DASHの概要を説明する図である。It is a figure explaining the outline | summary of MPEG-DASH. MPDの構成例を示す図である。It is a figure which shows the structural example of MPD. コンテンツの時間的区切りを説明する図である。It is a figure explaining the time division | segmentation of a content. MPDにおけるPeriod以下の階層構造の例を示す図である。It is a figure which shows the example of the hierarchical structure below the Period in MPD. MPDファイルの構成例を時間軸上で説明する図である。It is a figure explaining the structural example of a MPD file on a time-axis. 配信システムの主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of a delivery system. 従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ-クライアント間のセグメントデータの転送方法を説明する図である。It is a figure explaining the transfer method of the segment data between the server and client in each of conventional HTTP and a web socket (WebSocket). 従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ-クライアント間のセグメントデータの帯域適応ロジックを適用した場合の転送方法を説明する図である。It is a figure explaining the transfer method at the time of applying the band adaptation logic of the segment data between the server and client in each of conventional HTTP and web socket (WebSocket). DASHに適用されるウェブソケットのサブフレームのプロトコルについて説明する図である。It is a figure explaining the protocol of the subframe of the web socket applied to DASH. dashのコントロールデータのシンタックスを説明する図である。It is a figure explaining the syntax of the control data of dash. コントロールデータを送信するサブフレームに用いられるオペレーションコードの一覧を示す図である。It is a figure which shows the list of the operation code used for the sub-frame which transmits control data. オペレーションコードopenMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code openMedia. オペレーションコードmediainfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code mediainfo. オペレーションコードcloseMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code closeMedia. オペレーションコードplayStreamのシンタックスを説明する図である。It is a figure explaining the syntax of operation code playStream. オペレーションコードStreamInfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code StreamInfo. オペレーションコードstopStreamのシンタックスを説明する図である。It is a figure explaining the syntax of operation code stopStream. オペレーションコードchangeMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code changeMedia. オペレーションコードplayerInfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code playerInfo. オペレーションコードcapabilityのシンタックスを説明する図である。It is a figure explaining the syntax of operation code capability. オペレーションコードpreferenceのシンタックスを説明する図である。It is a figure explaining the syntax of operation code preference. VOD再生を開始させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts VOD reproduction | regeneration. VOD再生を中断し、再開させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which interrupts and restarts VOD reproduction | regeneration. VOD再生を最後まで再生し、終了するシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which reproduces | regenerates VOD reproduction to the last and complete | finishes. ライブの最初から視聴する場合におけるライブ再生を開始させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts live reproduction in the case of viewing from the beginning of live. ライブの途中から視聴する場合におけるライブ再生を開始するシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts live reproduction in the case of viewing from the middle of the live. サーバの機能を実現する機能ブロック図である。It is a functional block diagram which implement | achieves the function of a server. クライアントの機能を実現する機能ブロック図である。It is a functional block diagram which implement | achieves the function of a client. Multiple Representations Transfer at startupのシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence of Multiple Representations Transfer at startup. Multiple Representations Transfer at startupのシーケンスを説明する図である。FIG. 10 is a diagram for explaining a sequence of Multiple Representations Transfer at startup. Low delay Transfer by Sub-Segmentのシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence of Low delay Transfer by Sub-Segment. Low delay Transfer by Sub-Segmentのシーケンスを説明する図である。It is a figure explaining the sequence of Low-delay-Transfer-by-sub-segment. ライブ再生でネットワーク輻輳が発生した場合に行われるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence performed when network congestion generate | occur | produces by live reproduction. 複数のメディアを切り替えて再生させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which switches and reproduces several media. 複数のメディアを切り替えて再生させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which switches and reproduces several media. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。And FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.概要
 2.第1の実施の形態(MPEG-DASH over WebSocket)
 3.第2の実施の形態(Multiple Representations Transfer at startup)
 4.第3の実施の形態(Low delay Transfer by Sub-Segment)
 5.第4の実施の形態(Auto Segment Skip for Live Streaming)
 6.第5の実施の形態(Fast Switching of multiple media)
 7.第6の実施の形態(コンピュータ)
Hereinafter, modes for carrying out the present disclosure (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. Overview 2. First embodiment (MPEG-DASH over WebSocket)
3. Second embodiment (Multiple Representations Transfer at startup)
4). Third Embodiment (Low delay Transfer by Sub-Segment)
5. Fourth embodiment (Auto Segment Skip for Live Streaming)
6). Fifth embodiment (Fast Switching of multiple media)
7). Sixth embodiment (computer)
 <1.概要>
  <DASH>
 従来、HTTP(HyperText Transfer Protocol)を利用したコンテンツ配信技術として、例えば、非特許文献1に記載のように、MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)がある。MPEG-DASHでは、同一コンテンツが異なるビットレートで表現された複数の符号化データをコンテンツサーバに格納し、クライアントが、ネットワーク帯域に応じて複数の符号化データのいずれかの符号化データを選択しながら再生するABS(Adaptive Bitrate Streaming)技術が採用されている。
<1. Overview>
<DASH>
Conventionally, as a content distribution technique using HTTP (HyperText Transfer Protocol), for example, as described in Non-Patent Document 1, there is MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP). In MPEG-DASH, multiple encoded data in which the same content is expressed at different bit rates are stored in the content server, and the client selects one of the multiple encoded data according to the network bandwidth. However, it uses ABS (Adaptive Bitrate Streaming) technology for playback.
 DASHによるコンテンツの伝送の手順を、図1を参照して説明する。まず、コンテンツを取得する側の動画再生端末において、ストリーミング・データの制御用ソフトウエアが、所望のコンテンツのMPD(Media Presentation Description)ファイルを選択し、Webサーバから取得する。MPDは、配信する動画や音声等のコンテンツを管理するメタデータである。 The procedure of content transmission by DASH will be described with reference to FIG. First, in the video playback terminal on the content acquisition side, the streaming data control software selects an MPD (Media Presentation Description) file of the desired content and acquires it from the Web server. MPD is metadata for managing content such as moving images and audio to be distributed.
 MPDを取得すると、動画再生端末のストリーミング・データの制御用ソフトウエアは、そのMPDを解析し、所望のコンテンツの、通信回線の品質や動画再生端末の性能等に合ったデータ(DASHセグメント)をWebサーバから取得するように制御する。HTTPアクセス用のクライアント・ソフトウエアは、その制御に従って、そのDASHセグメントを、HTTPを用いてWebサーバから取得する。このように取得されたコンテンツを、動画再生ソフトウエアが再生する。 When the MPD is obtained, the streaming data control software of the video playback terminal analyzes the MPD and generates data (DASH segment) that matches the quality of the communication line and the performance of the video playback terminal of the desired content. Control to obtain from Web server. The client software for HTTP access acquires the DASH segment from the Web server using HTTP according to the control. The moving image reproduction software reproduces the content acquired in this way.
 MPDは、例えば図2に示されるような構成を有する。MPDの解析(パース)においては、クライアントは、MPD(図2のMedia Presentation)のピリオド(Period)に含まれるリプレゼンテーション(Representation)の属性から最適なものを選択する。 MPD has a configuration as shown in FIG. 2, for example. In the MPD analysis (parsing), the client selects an optimum one from the representation attributes included in the period of the MPD (Media Presentation in FIG. 2).
 クライアントは、選択したリプレゼンテーション(Representation)の先頭のセグメント(Segment)を読んでイニシャライズセグメント(Initialization Segment)を取得し、処理する。続いて、クライアントは、後続のセグメント(Segment)を取得し、再生する。 The client reads the first segment (Segment) of the selected representation (Representation), acquires the initialization segment (Initialization Segment), and processes it. Subsequently, the client acquires and reproduces the subsequent segment (Segment).
 なお、MPDにおける、ピリオド(Period)、リプレゼンテーション(Representation)、およびセグメント(Segment)の関係は、図3のようになる。つまり、1つのメディアコンテンツは、時間方向のデータ単位であるピリオド(Period)毎に管理することができ、各ピリオド(Period)は、時間方向のデータ単位であるセグメント(Segment)毎に管理することができる。また、各ピリオド(Period)について、ビットレート等の属性の異なる複数のリプレゼンテーション(Representation)を構成することができる。 In addition, the relationship between a period (Period), a representation (Representation), and a segment (Segment) in MPD is as shown in FIG. That is, one media content can be managed for each period (Period) that is a data unit in the time direction, and each period (Period) should be managed for each segment (Segment) that is a data unit in the time direction. Can do. In addition, for each period (Period), a plurality of representations (Representations) having different attributes such as bit rate can be configured.
 したがって、このMPDのファイル(MPDファイルとも称する)は、ピリオド(Period)以下において、図4に示されるような階層構造を有する。また、このMPDの構造を時間軸上に並べると図5の例のようになる。図5の例から明らかなように、同一のセグメント(Segment)に対して複数のリプレゼンテーション(Representation)が存在している。クライアントは、これらのうちのいずれかを適応的に選択することにより、通信環境や自己のデコード能力などに応じて適切なストリームデータを取得し、再生することができる。 Therefore, this MPD file (also referred to as MPD file) has a hierarchical structure as shown in FIG. 4 below the period. Further, when the MPD structures are arranged on the time axis, an example shown in FIG. 5 is obtained. As is clear from the example of FIG. 5, there are a plurality of representations (Representations) for the same segment (Segment). The client can acquire and reproduce appropriate stream data according to the communication environment, its decoding capability, and the like by adaptively selecting one of these.
  <配信システム>
 次に、以上のような本技術を実現する装置とその方法について説明する。図6は、本技術を適用したシステムの一態様である、配信システムを示す図である。図6に示される配信システム100は、全体画像の一部である部分画像のデータを適応的に配信することができるシステムである。
<Distribution system>
Next, an apparatus and method for realizing the present technology as described above will be described. FIG. 6 is a diagram illustrating a distribution system, which is an aspect of a system to which the present technology is applied. A distribution system 100 shown in FIG. 6 is a system that can adaptively distribute data of a partial image that is a part of an entire image.
 図6に示されるように配信システム100は、配信データ生成装置101、配信サーバ102、および端末装置103を有する。 6, the distribution system 100 includes a distribution data generation device 101, a distribution server 102, and a terminal device 103.
 配信データ生成装置101は、配信サーバ102が配信する、例えば画像や音声等のコンテンツのファイル(コンテンツファイル)とそのMPDファイルを生成し、それを配信サーバ102に供給する。配信サーバ102は、配信データ生成装置101から供給されたコンテンツファイルとそのMPDファイルを、ネットワーク104に向けて公開し、部分画像の適応的な配信を行う。 The distribution data generation apparatus 101 generates a content file (content file) such as an image or a sound distributed by the distribution server 102 and its MPD file, and supplies the MPD file to the distribution server 102. The distribution server 102 publishes the content file and the MPD file supplied from the distribution data generation apparatus 101 to the network 104, and performs adaptive distribution of partial images.
 端末装置103は、ネットワーク104を介して配信サーバ102にアクセスし、配信サーバ102が公開する所望のコンテンツのMPDファイルを取得する。 The terminal device 103 accesses the distribution server 102 via the network 104 and acquires an MPD file of desired content published by the distribution server 102.
 端末装置103は、そのMPDファイルに従って、ネットワーク104を介して配信サーバ102にアクセスし、MPDファイルに対応する適切なコンテンツファイルを適応的に選択し、それをHTTPプロトコルにより取得する。端末装置103は、取得したコンテンツファイルを再生する。
 <2.第1の実施の形態>
  <MPEG-DASH over WebSocket>
 次に、図7を参照して、従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ-クライアント間のセグメントデータ(図中のSeg.Data)の転送方法について説明する。尚、図7におけるサーバ201は、上述した図6の配信サーバ102に対応するものであり、クライアント202は、上述した図6の端末装置103に対応するものである。
The terminal device 103 accesses the distribution server 102 via the network 104 in accordance with the MPD file, adaptively selects an appropriate content file corresponding to the MPD file, and acquires it using the HTTP protocol. The terminal device 103 reproduces the acquired content file.
<2. First Embodiment>
<MPEG-DASH over WebSocket>
Next, a method of transferring segment data (Seg. Data in the figure) between the server and the client in each of conventional HTTP and Web socket (WebSocket) will be described with reference to FIG. Note that the server 201 in FIG. 7 corresponds to the distribution server 102 in FIG. 6 described above, and the client 202 corresponds to the terminal device 103 in FIG. 6 described above.
 サーバ201およびクライアント202間における、HTTPによるセグメントデータの転送は、図7のAで示されるような処理となる。尚、ここでは、デコードの開始時に3個のセグメントデータ(Seg.Data)単位でバッファリングがされるものとする。 The transfer of segment data by HTTP between the server 201 and the client 202 is a process as shown in A of FIG. Here, it is assumed that buffering is performed in units of three segment data (Seg. Data) at the start of decoding.
 すなわち、クライアント202において、まず、再生が指示されると(PlayStart)、Getコマンドからなる要求(図7のAの3段目のクライアント202の先頭のReq.)がサーバ201に対して送信される。 That is, when playback is instructed first in the client 202 (PlayStart), a request consisting of a Get command (Req at the top of the client 202 in the third row in FIG. 7A) is transmitted to the server 201. .
 次に、サーバ201が、このGetコマンドに応じて、応答(図7のAの3段目のクライアント202の先頭のResp.)としてMPDをクライアント202に送信する。 Next, in response to this Get command, the server 201 transmits the MPD to the client 202 as a response (Resp. At the top of the third-stage client 202 in FIG. 7A).
 クライアント202は、このMPDの情報に基づいて、順次、セグメントデータ(Seg.Data)をサーバ201に対して要求(図7のAの3段目のクライアント202の2番目以降のReq.)する。 The client 202 sequentially requests segment data (Seg. Data) from the server 201 based on the MPD information (second and subsequent Req. Of the third-stage client 202 in FIG. 7A).
 サーバ201は、この要求に応じて、セグメントデータ(Seg.Data)をクライアント202に対して送信(図7のAの3段目のサーバ201の2番目以降のResp.)する。 In response to this request, the server 201 transmits segment data (Seg. Data) to the client 202 (second and subsequent Resp. Of the third-stage server 201 in FIG. 7A).
 ここで、クライアント202が、サーバ201に対してセグメントデータ(Seg.Data)を要求して、サーバ201がセグメントデータ(Seg.Data)をクライアント202に送信する際、図7のAの2段目で示されるように、PlayStartのタイミングからクライアント202により再生が開始される(DecStart)タイミングまでに遅延時間(Delay to Rendering)が発生する。 Here, when the client 202 requests segment data (Seg. Data) from the server 201 and the server 201 transmits the segment data (Seg. Data) to the client 202, the second level of FIG. As shown in the diagram, a delay time (Delay-to-Rendering) occurs from the timing of PlayStart to the timing when playback is started by the client 202 (DecStart).
 尚、図7のAにおいては、最上段において、サーバ201-クライアント202間が接続されていることが示されており、中段においては、再生が要求されたタイミング(Play Start)から再生が実際に開始されるタイミング(DecStart)までの遅延時間(Delay to Rendering)が示されている。さらに、図7のAの最下段においては、パイプ状に描かれた通信回線上をセグメントデータ(Seg.Data)が転送される様子が図中右方向に時系列に描かれている。また、図7のAにおいては、パイプ状の通信回線の上側がクライアント(Client)202側の動作タイミングを示しており、下側がサーバ(Server)201側の動作タイミングを示している。さらに、以降において、図7のBおよび図8においても同様の記載である。 7A shows that the server 201 and the client 202 are connected at the top level, and in the middle level, the playback is actually started from the timing when playback is requested (Play Start). A delay time (Delay to Rendering) until the start timing (DecStart) is shown. Further, in the lowermost part of FIG. 7A, a state in which segment data (Seg. Data) is transferred on a communication line drawn in a pipe shape is drawn in time series in the right direction in the figure. In FIG. 7A, the upper side of the pipe-shaped communication line indicates the operation timing on the client 202 side, and the lower side indicates the operation timing on the server 201 side. Further, in the following description, the same applies to FIG. 7B and FIG.
 すなわち、従来のHTTPにおいて、サーバ201-クライアント202間は、いわゆるPull回線となるため、トランザクション間にGAPが生じ、複数ファイルの読み出しに時間がかかる。特に、毎回、TCPコネクションした場合、オープンの遅延やフロー制御のスロースタートの為、さらに時間がかかる。 That is, in the conventional HTTP, since the server 201 and the client 202 are so-called Pull lines, GAP occurs between transactions, and it takes time to read a plurality of files. In particular, every time a TCP connection is made, more time is required due to delays in opening and slow start of flow control.
 結果として、再生開始時に、十分なデータをバッファリングするため再生画像が表示されるまでの時間が遅く、転送スループットが上がらないので、低いビットレートのビデオが選択されることになるので、常に低画質の画像が転送される恐れがある。 As a result, at the start of playback, a sufficient amount of data is buffered so that it takes a long time to display the playback image and the transfer throughput does not increase, so a video with a low bit rate is selected. There is a risk that an image of quality will be transferred.
 これに対して、サーバ201およびクライアント202間における、ウェブソケットによるセグメントデータの転送は、図7のBで示されるような処理となる。 On the other hand, the transfer of the segment data by the web socket between the server 201 and the client 202 is a process as shown by B in FIG.
 すなわち、クライアント202において、まず、再生が指示されると(PlayStart)、Getコマンドからなる要求(図7のBの3段目のクライアント202の先頭のCommand Send)がサーバ201に対して送信される。 That is, when playback is instructed in the client 202 (PlayStart), a request consisting of a Get command (Command Send at the top of the third stage client 202 in FIG. 7B) is transmitted to the server 201. .
 次に、サーバ201は、このGetコマンドに応じて、応答(図7のBの3段目のクライアント202の先頭のData(MPD))としてMPDと共に、セグメントデータ(Seg.Data)をクライアント202に対して順次送信(図7のBの3段目のサーバ201の2番目以降のSeg.Data)する。 Next, in response to this Get command, the server 201 sends the segment data (Seg. Data) to the client 202 together with the MPD as a response (Data (MPD) at the head of the third-stage client 202 in FIG. 7B). The data is sequentially transmitted (second and subsequent Seg.Data of the third-stage server 201 in B of FIG. 7).
 ここでも、クライアント202が、サーバ201に対してセグメントデータ(Seg.Data)を要求して、サーバ201がセグメントデータ(Seg.Data)をクライアント202に送信する際、図7のBの2段目で示されるように、PlayStartのタイミングからクライアント202により再生が開始される(DecStart)タイミングまでに遅延時間(Delay to Rendering)が発生するものの、HTTPの場合よりも短い。 Also here, when the client 202 requests the segment data (Seg.Data) from the server 201 and the server 201 transmits the segment data (Seg.Data) to the client 202, the second row of FIG. As shown in FIG. 4, although a delay time (Delay to Rendering) occurs from the timing of PlayStart to the timing when playback is started by the client 202 (DecStart), it is shorter than in the case of HTTP.
 すなわち、ウェブソケットにおいては、サーバ201-クライアント202間は、いわゆるPush回線となるため、トランザクション間にGAPが生じず、複数ファイルの読み出しにかかる時間を短縮することができる。特に、同一のTCPセッションでの転送となるため、コネクションに関わる問題も発生しない。 That is, in the web socket, since the server 201 and the client 202 are a so-called push line, no GAP occurs between transactions, and the time required for reading a plurality of files can be shortened. In particular, since the transfer is performed in the same TCP session, there is no connection problem.
 結果として、再生開始時の画像が表示されるまでの時間を短縮することが可能となり、転送スループットを上げることができるので、高めのビットレートのビデオを選択でき、再生の開始から比較的高画質の画像を転送することが期待できる。 As a result, it is possible to shorten the time until the image at the start of playback is displayed and to increase the transfer throughput, so that a higher bit rate video can be selected, and a relatively high image quality can be selected from the start of playback. You can expect to transfer images.
 ただし、HTTPにおいても、帯域適応ロジックであるPipeliningがサポートされている場合を考えると、上述した図7のAにおける処理よりも遅延時間を短縮することが可能である。Pipeliningとは、クライアント202が、帯域の状態を判断し、帯域に応じて、サーバ201に対して、一度に複数の要求をすることができ、これに応じて、クライアント202は、サーバ201からまとめて要求に応じたデータを受信できる機能である。 However, considering the case where Pipelining, which is a bandwidth adaptation logic, is supported also in HTTP, it is possible to shorten the delay time compared to the processing in FIG. 7A described above. Pipelining means that the client 202 determines the state of the bandwidth, and can make a plurality of requests to the server 201 at a time according to the bandwidth. This is a function that can receive data in response to a request.
 すなわち、図8のAで示されるように、サーバ201からのMPDによる応答があった後のタイミングで、クライアント202は、サーバ201に対して、3個のセグメントデータを同時に要求することにより、サーバ201から、まとめて3個のセグメントデータを受信するというものである。 That is, as shown in FIG. 8A, at the timing after the response by the MPD from the server 201, the client 202 requests the server 201 for three segment data at the same time. From 201, three segment data are received collectively.
 このようにすることで、図7のAで示されるような要求を出してから応答を受信するまでのGapを省くことができ、遅延時間(Delay to Rendering)を短縮することが可能となる。 In this way, gaps from when a request as shown in FIG. 7A is issued until a response is received can be omitted, and the delay time (Delay to Rendering) can be shortened.
 しかしながら、リクエストへのレスポンスが返ってくる前に、次のセグメントデータのリクエストをすることになるので、進行中のトランザクションの帯域をモニタし、その結果から状況により異なるリプレゼンテーション(Representation)を選択して、次のセグメントデータの要求に反映させることができない。このため、進行中のトランザクション結果は、3個後のセグメントのリクエストにしか反映させることができない。 However, since the next segment data is requested before the response to the request is returned, the bandwidth of the ongoing transaction is monitored, and a different representation (Representation) is selected according to the situation. Therefore, it cannot be reflected in the next segment data request. For this reason, the transaction result in progress can be reflected only in the request for the segment after three.
 すなわち、例えば、図8のAで示されるように、クライアント202側で帯域の判断をするため、最初の要求を送った後のタイミングで、実際には、十分な帯域があるにも関わらず、次の要求を送信するまでの間、3個の低画質のセグメントデータをサーバ201から受信しなければならない。尚、図8のAの最下段におけるSeg.Data(rep1)およびSeg.Data(rep3)は、それぞれリプレゼンテーションが異なるセグメントデータを示しており、rep3は、rep1よりも高画質のリプレゼンテーションのセグメントデータであることを示している。すなわち、図8のAの最下段においては、最初の要求に対して、低画質の3個のセグメントデータ(Seg.Data(rep1))が送信された後に、高画質のセグメントデータ(Seg.Data(rep3))が送信されることが示されている。 That is, for example, as shown in FIG. 8A, in order to determine the bandwidth on the client 202 side, at the timing after sending the first request, although there is actually sufficient bandwidth, Until the next request is sent, three low-quality segment data must be received from the server 201. Note that Seg.Data (rep1) and Seg.Data (rep3) in the lowermost part of FIG. 8A indicate segment data with different representations, and rep3 is a segment with a higher image quality than rep1. Indicates data. That is, in the lowermost part of FIG. 8A, in response to the first request, after the low-quality three segment data (Seg.Data (rep1)) are transmitted, the high-quality segment data (Seg.Data (rep3)) is transmitted.
 これに対して、ウェブソケットにおいては、サーバ201が帯域の状態を判断してセグメントデータのリプレゼンテーションを切り替えることができる。このため、図8のBで示されるように、サーバ201が帯域に応じた判断をするため、1個目のセグメントデータを送った直後のタイミングにでも、帯域の状態に応じて、異なるリプレゼンテーションのセグメントデータを送信することができる。すなわち、図8のBの最下段においては、先頭で低画質のセグメントデータ(Seg.Data(rep1))が送信された直後に、高画質のセグメントデータ(Seg.Data(rep3))が送信されることが示されている。 On the other hand, in the web socket, the server 201 can switch the segment data representation by determining the bandwidth state. For this reason, as shown in FIG. 8B, since the server 201 makes a determination according to the bandwidth, even at the timing immediately after the first segment data is sent, a different representation depends on the bandwidth status. The segment data can be transmitted. That is, at the bottom of FIG. 8B, immediately after the low-quality segment data (Seg.Data (rep1)) is transmitted at the beginning, the high-quality segment data (Seg.Data (rep3)) is transmitted. It has been shown that.
 結果として、帯域の状態に応じて、迅速で、かつ適切なリプレゼンテーションのセグメントデータを切り替えて送信することが可能になると共に、クライアント202側の実装内容を簡易なものとすることが可能となる。 As a result, it is possible to switch and transmit segment data for a quick and appropriate representation according to the state of the band, and to simplify the implementation content on the client 202 side. .
 <ウェブソケットのサブフレームのプロトコル>
 また、ウェブソケットでは、フレーム(Frame)と呼ばれる単位で、データの送受信が行われる。
<Web socket subframe protocol>
In the web socket, data is transmitted and received in units called frames.
 そこで、次に、図9を参照して、DASHに適用されるウェブソケットのサブフレームのプロトコルについて説明する。 Therefore, with reference to FIG. 9, the subframe protocol of the web socket applied to DASH will be described.
 図9の左側には、ウェブソケットのベースフレーミングプロトコルと、サブフレームのヘッダ部分に記述されるオペレーションコード(operation code , opcode)との例が示されている。 The left side of FIG. 9 shows an example of the base framing protocol of the web socket and the operation code (operation code, opcode) described in the header part of the subframe.
 サブフレームのヘッダ部分には、オペレーションコードの他、例えば、このサブフレームがデータの終わりなのかどうかを示すFINや、データがマスク化されているかどうかを示すMASK、アプリケーションデータの長さを示すPayload lenなどが記述される。 In the header part of the subframe, in addition to the operation code, for example, FIN indicating whether this subframe is the end of data, MASK indicating whether the data is masked, Payload indicating the length of the application data len etc. are described.
 また、オペレーションコードが0である場合、接続を継続するのに用いられるサブフレーム(Continuation Frame)であることを示しており、オペレーションコードが1である場合、テキストデータ用のサブフレーム(Text Frame)であることを示している。また、オペレーションコードが2である場合、バイナリデータ用のサブフレーム(Binary Frame)であることを示しており、オペレーションコードが8である場合、接続終了を行うサブフレーム(Connection Close Frame)であることを示している。また、オペレーションコードが9である場合、接続維持できているかを確認するのに用いられるサブフレーム(Ping Frame)であることを示している。また、オペレーションコードが10である場合、Ping Frameに対する応答に用いられるサブフレーム(Pong Frame)であることを示している。 Further, when the operation code is 0, it indicates a subframe (Continuation Frame) used to continue the connection. When the operation code is 1, the subframe for text data (Text Frame) It is shown that. When the operation code is 2, it indicates a binary data subframe (Binary フ レ ー ム Frame), and when the operation code is 8, it is a subframe (Connection Close) Frame that terminates the connection. Is shown. Further, when the operation code is 9, it indicates a subframe (Ping Frame) used for confirming whether the connection can be maintained. Further, when the operation code is 10, it indicates a subframe (Pong Frame) used for a response to Ping Frame.
 そして、ウェブソケットをDASHに適用する場合、図9の右側に示すように、サブフレームのペイロード部分に、テキストフレームとして送信されるコントロールデータと、バイナリフレームとして送信されるセグメントデータとの2つのデータが規定される。 When the web socket is applied to DASH, as shown on the right side of FIG. 9, two data of control data transmitted as a text frame and segment data transmitted as a binary frame are included in the payload portion of the subframe. Is defined.
 例えば、コントロールデータは、軽量なデータ記述言語の1つであるジェイソン(JSON:JavaScript(登録商標) Object Notation)により記述されるJSON Dataより構成される。また、セグメントデータ(Segment Data)は、ISO/IEC 14496-12(MPEG-4)の規格に従って記述されたデータより構成される。 For example, the control data is composed of JSON Data described by Jason (JSON: JavaScript (registered trademark) Object Notation), which is one of lightweight data description languages. The segment data (Segment Data) is composed of data described according to the ISO / IEC 14496-12 (MPEG-4) standard.
 このように、DASHにウェブソケットを適用する際、コントロールデータとセグメントデータとを共通のサブフレームのペイロード部分に混在させず、それぞれが個別のサブフレームのペイロード部分に配置される。 Thus, when the web socket is applied to the DASH, the control data and the segment data are not mixed in the payload portion of the common subframe, and each is arranged in the payload portion of the individual subframe.
 これにより、コントロールデータが遅延されて伝送されることを回避することができる。即ち、セグメントデータはデータ量が大きいため、伝送が遅れてしまうことがあり、コントロールデータをセグメントデータと混在させた場合には、混在させたデータの全てを読み取った後でなければコントロールデータを認識することできない。このため、コントロールデータが認識されるまでに遅延時間が発生することが想定される。これに対し、コントロールデータとセグメントデータとを個別のサブフレームのペイロード部分に配置すると、セグメントデータを送信する前に、比較的小さなコントロールデータを送信するようにすることができるので、コントロールデータが認識されるまでに発生する遅延時間を短縮して伝送することができる。 This prevents the control data from being delayed and transmitted. In other words, because segment data has a large amount of data, transmission may be delayed. When control data is mixed with segment data, control data is recognized only after all the mixed data has been read. I can't. For this reason, it is assumed that a delay time occurs until the control data is recognized. On the other hand, if control data and segment data are arranged in the payload part of individual subframes, control data can be recognized because relatively small control data can be transmitted before segment data is transmitted. Thus, transmission can be performed with a reduced delay time.
 また、HTML5のウェブソケットAPIにて、受信したセグメントデータを、JavaScript(登録商標)でパースせずにそのままMSEのソースバッファに追加(Append)することができる。 In addition, the received segment data can be added (Append) to the MSE source buffer without parsing with JavaScript (registered trademark) using the HTML5 web socket API.
 次に、図10乃至図21を参照して、コントロールデータについて説明する。 Next, the control data will be described with reference to FIGS.
 図10には、ジェイソンにより記述されたコントロールデータのシンタックス(syntax)が示されている。 FIG. 10 shows the syntax of the control data described by Jason.
 図10の例では、プロトコルのIDがdashであり、プロトコルのバージョンが0.2であることが示されている。また、タイムスタンプ(図10の例では、1403627982268)は、アプリケーション層以下で発生する伝送遅延を補正することができる。 In the example of FIG. 10, the protocol ID is dash and the protocol version is 0.2. Further, the time stamp (1403627982268 in the example of FIG. 10) can correct a transmission delay occurring in the application layer and below.
 また、例えば、1つのサブフレームに、複数のコントロールデータをまとめて送信することができる。これにより、受信した側は、一括処理を容易に行うことができる。即ち、図10の例では、コントロールデータとして、capability,openMedia,playStreamのオペレーションコードがまとめて記述されている。 Also, for example, a plurality of control data can be transmitted together in one subframe. As a result, the receiving side can easily perform batch processing. That is, in the example of FIG. 10, operation codes of capability, openMedia, and playStream are collectively described as control data.
 図11には、コントロールデータを送信するサブフレームに用いられるオペレーションコードの一覧が示されている。 FIG. 11 shows a list of operation codes used for subframes for transmitting control data.
 openMediaは、MPDのURLを指定して、サーバにメディアのセグメントをストリームできる状態にするためのオペレーションコードであり、クライアントからサーバに送信される。例えば、openMediaは、図12に示すように記述され、1行目の“opcode”:“openMedia”は、MPDのURLを指定して、サーバにメディアのセグメントをストリームできる状態にするためのオペレーションコードであることを表している。URL(図12の例では、“http://cdn.example/movies/134532.mpd“)によりMPDを指定する。そして、openMediaを受信したサーバは、指定されたMPDをオープンして、mediaInfoをクライアントに送り返す。 OpenMedia is an operation code for specifying the MPD URL so that the media segment can be streamed to the server, and is sent from the client to the server. For example, openMedia is described as shown in FIG. 12, and “opcode”: “openMedia” on the first line is an operation code for specifying a URL of an MPD so that a media segment can be streamed to a server. It represents that. The MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 12). Then, the server that received openMedia opens the specified MPD and sends mediaInfo back to the client.
 mediaInfoは、openMediaを受信した直後、もしくは、メディアの情報が更新された場合に送信されるオペレーションコードであり、サーバからクライアントに送信される。 MediaInfo is an operation code that is sent immediately after receiving openMedia or when media information is updated, and is sent from the server to the client.
 例えば、mediaInfoは、図13に示すように記述され、1行目の“opcode”:“mediaInfo”は、openMediaを受信した直後、もしくは、メディアの情報が更新された場合に送信されるオペレーションコードであることを表している。また、2行目以降においては、対象となるメディアがmediaDescriptor(図13の例では、152736)により指定される。また、networkStateによりHTML5 Videoにおいて定義されるようにネットワークの動作状態(アクティビティ)(図13の例では、4)が指定される。また、readyStateにより、対象となるメディアの準備状態(図13の例では、4)が指定される。さらに、URL(図13の例では、“http://cdn.example/movies/134532.mpd“)によりMPDが指定される。 For example, mediaInfo is described as shown in FIG. 13, and “opcode”: “mediaInfo” on the first line is an operation code transmitted immediately after receiving openMedia or when media information is updated. It represents something. In the second and subsequent lines, the target media is designated by mediaDescriptor (152736 in the example of FIG. 13). Further, the network operation state (activity) (4 in the example of FIG. 13) is specified as defined in HTML5 Video by networkState. Also, the ready state of the target medium (4 in the example of FIG. 13) is designated by readyState. Further, the MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 13).
 closeMediaは、openMediaでサーバが確保したリソースを解放するためのオペレーションコードであり、クライアントからサーバに送信される。例えば、closeMediaは、図14に示すように記述され、“opcode”:“closeMedia”により、openMediaでサーバが確保したリソースを解放するためのオペレーションコードであることを表している。クローズにするメディアがmediaDescriptor(図14の例では、152736)により指定される。 CloseMedia is an operation code for releasing resources secured by the server with openMedia, and is sent from the client to the server. For example, closeMedia is described as shown in FIG. 14, and “opcode”: “closeMedia” represents an operation code for releasing a resource secured by the server with openMedia. The media to be closed is specified by mediaDescriptor (152736 in the example of FIG. 14).
 playStreamは、ストリームを開始し、オープンされているメディアを指定するためのオペレーションコードであり、クライアントからサーバに送信される。 “PlayStream” is an operation code for starting a stream and specifying an open medium, and is transmitted from the client to the server.
 例えば、playStreamは、図15に示すように記述される。 For example, playStream is described as shown in FIG.
 より詳細には、1行目の“opcode”:“playStream”は、ストリームを開始し、オープンされているメディアを指定するためのオペレーションコードであることを表している。 More specifically, “opcode”: “playStream” on the first line represents an operation code for starting a stream and designating an opened medium.
 2行目以降においては、streamDescriptorで指定された(図15の例では、4323)ストリームにおける、mediaDescriptorで指定したメディア(図15の例では、152736)のsegmentNumberで指定されたセグメント番号のセグメント(図15の例では、155)からnumSegmentにより指定されたセグメント数(図15では1000)分のストリームを開始する。また、VOD(Video On Demand)の場合はメディアの最初のセグメントからストリームを開始し、Liveの場合は現在の最新のセグメントからストリームを開始する。 In the second and subsequent lines, the segment of the segment number specified by the segmentNumber of the medium specified by the mediaDescriptor (152736 in the example of FIG. 15) in the stream specified by streamDescriptor (4323 in the example of FIG. 15) (FIG. 15). In the example of 15, the stream for the number of segments (1000 in FIG. 15) designated by numSegment is started from 155). In the case of VOD (Video On Demand), the stream starts from the first segment of the media, and in the case of Live, the stream starts from the current latest segment.
 streamInfoは、ストリームの状態、次に伝送されるセグメントデータの属性を通知するためのオペレーションコードであり、サーバからクライアントに送信される。 StreamInfo is an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next, and is transmitted from the server to the client.
 例えば、streamInfoは、図16に示すように記述される。また、streamInfoは、定期的に伝送され、このコントロールデータの後に伝送されるセグメントデータの属性情報を示す。 For example, streamInfo is described as shown in FIG. Further, streamInfo indicates attribute information of segment data that is transmitted periodically and transmitted after the control data.
 より詳細には、1行目の“opcode”:“StreamInfo”は、ストリームの状態、次に伝送されるセグメントデータの属性を通知するためのオペレーションコードであることを表している。 More specifically, “opcode”: “StreamInfo” on the first line represents an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next.
 また、2行目以降においては、対象となるストリームがstreamDescriptor(図16の例では4323)により指定される。また、対象となるメディアがmediaDescriptor(図13の例では、1527364235312)により指定される。さらに、networkStateによりHTML5 Videoにおいて定義されるようにネットワークの動作状態(アクティビティ)(図16の例では4に)が指定される。また、readyStateにより、対象となるメディアの準備状態(図16の例では、4)が記述される。 In the second and subsequent lines, the target stream is specified by streamDescriptor (4323 in the example of FIG. 16). Further, the target medium is designated by mediaDescriptor (1527364235312 in the example of FIG. 13). Furthermore, the network operation state (activity) (in the example of FIG. 16, 4) is specified as defined in HTML5 Video by networkState. Also, the ready state (4 in the example of FIG. 16) of the target medium is described by readyState.
 multipleRepresentationにより、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくる可能性があるか否かが指定される。図16の例では“true”とされて、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくる可能性があることが指定されている。クライアントはその場合、次のStreamInfoの受信を待ってから、現在のSegmentデータを利用するか破棄するかを決める。尚、“false”とされるとき、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくることがないことが指定される。 Multi MultipleRepresentation specifies whether there is a possibility that multiple representations may be sent for the same segment data. In the example of FIG. 16, “true” is specified, which indicates that there is a possibility that a plurality of representations may be transmitted for the same segment data. In that case, the client waits for reception of the next StreamInfo and then decides whether to use or discard the current Segment data. When “false” is specified, it is designated that a plurality of representations are not transmitted for the same segment data.
 segmentSkippedにより、Live配信などの際、実時間に対して再生が遅れてしまったセグメントの配信をスキップさせる、セグメントスキップがなされる可能性があるか否かが指定され、図16の例では、“false”とされて、セグメントスキップがなされる可能性がないことが指定されている。尚、“true”とされる場合、セグメントスキップがなされる可能性があることが指定される。 With segmentSkipped, it is specified whether or not there is a possibility of performing segment skip, which causes the delivery of a segment whose playback has been delayed with respect to real time to be performed during Live distribution. In the example of FIG. “false” indicates that there is no possibility of segment skipping. When “true” is set, it is specified that there is a possibility of segment skipping.
 minBufferTimeにより、バッファリングの最小時間が指定されており、図16においては、“4.00”により4秒であることが指定されている。 The minimum buffering time is specified by minBufferTime, and in FIG. 16, “4.00” specifies 4 seconds.
 minNetworkBufferTimeにより、クライアントがどのくらいのデータをバッファリングしてからデコードを開始すればよいという奨励値が指定されており、図16においては、“5.00”により5秒分であることが指定されている。 In minNetworkBufferTime, an incentive value that specifies how much data should be buffered by the client before starting decoding is designated. In FIG. 16, “5.00” designates 5 seconds.
 すなわち、サーバは、MinNetworkBufferDurationにより、クライアントがどのくらいのデータをバッファリングしてからデコードを開始すればよいという奨励値として指定し、ネットワークの状態などから判断して、帯域変動でクライアントのバッファが枯渇し、再生が停止しないよう、ストリーム開始時にstreamInfoを(シグナリング)送信する。 In other words, the server uses MinNetworkBufferDuration to specify as an encouragement value that the client should start decoding after buffering, and judging from the network status, etc., the client buffer is depleted due to bandwidth fluctuations. StreamInfo is transmitted (signaling) at the start of the stream so that playback does not stop.
 segmentにより、セグメントデータが指定され、このうち、presentationTimeによりセグメントデータの時刻が指定され、図16においては“331533”がミリ秒単位で指定される。また、“periodID”により、再生開始位置が指定され、図16においては、“1”と指定され、先頭ピリオドからの再生が指定されている。 Segment data is specified by segment, and among these, the time of segment data is specified by presentationTime, and in FIG. 16, “331533” is specified in milliseconds. Further, the reproduction start position is designated by “periodID”. In FIG. 16, “1” is designated, and reproduction from the leading period is designated.
 さらに、“adaptationSetID”によりセグメントデータの種別が指定されて、図16においては“video”が指定されている。また、representationIDによりリプレゼンテーションの種別が指定され、図16の例では“rep4”が指定されている。segmentNumber”によりセグメントデータの番号が指定され、図16において、“1324”が指定されている。尚、もし、これらのセグメントを指定する情報が無い場合、対象となるセグメントは、初期化された先頭のセグメントとされる。 Furthermore, the type of segment data is specified by “adaptationSetID”, and “video” is specified in FIG. Also, the type of representation is specified by representationID, and “rep4” is specified in the example of FIG. The segment data number is specified by "segmentNumber", and "1324" is specified in Fig. 16. If there is no information specifying these segments, the target segment is the head of the initialization. It is considered as a segment.
 “SAPType”により、セグメントやサブセグメントなどの離プレゼンテーションが変化する先頭位置SAP(Stream Access Point)の種別が指定される。SAP TypeはつまりSegmentのSubSegmentの先頭のピクチャーがClosed GOPやOpen GOPの先頭のピクチャーであるなどのSAPの種類が記述Type1から6まで定義されており、図16の例では、1が指定されている。 “SAPType” specifies the type of the start position SAP (Stream Access Point) where the separated presentation such as segment or subsegment changes. In other words, the SAP type is defined with description types 1 to 6 such that the first picture of the Segment SubSegment is the first picture of the Closed GOP or Open GOP. In the example of FIG. 16, 1 is specified. Yes.
 subsegmentNumberにより、1のセグメントデータを構成するサブセグメントを識別する番号が指定され、図16においては、“0”が指定されている。尚、サブセグメントを識別する番号については、サブセグメントが3個で1のセグメントデータを構成するような場合、図16の例で示されるように、1番目のサブセグメントであれば、“0”であり、2番目のサブセグメントであれば“1”となり、3番目のサブセグメントであれば“2”とするようにしてもよい。 SubsegmentNumber designates a number for identifying a subsegment constituting one segment data. In FIG. 16, “0” is designated. As for the number identifying the sub-segment, when three sub-segments constitute one segment data, as shown in the example of FIG. 16, if the number is the first sub-segment, “0” In the second sub-segment, “1” may be set, and in the third sub-segment, “2” may be set.
 すなわち、Segment Dataを分割してSubSegmentとして伝送可能にするため、サーバは、SAPTypeおよびSubSegmentNumberをシグナリング(送信)する。 That is, in order to divide Segment Data and transmit it as SubSegment, the server signals (transmits) SAPType and SubSegmentNumber.
 このように、サブセグメントを定義することにより、StopStream、およびChangeMediaにおいて、サーバは、SubSegmentの途中でストリームを停止することができる。これにより、不要なSegment Dataを伝送しないで、StopStreamにより、即座にストリームを停止することができ、ChangeMediaを低遅延で実現することができる。さらに、ChangeMediaでは切り替えたMediaをSubSegmentからストリームすることで、更に高速に切り替えることが可能となる。 In this way, by defining the sub-segment, in StopStream and ChangeMedia, the server can stop the stream in the middle of SubSegment. Thereby, without transmitting unnecessary Segment-Data, the stream can be stopped immediately by StopStream, and ChangeMedia can be realized with low delay. Furthermore, ChangeMedia can be switched at a higher speed by streaming the switched Media from the SubSegment.
 stopStreamは、ストリームを停止するためのオペレーションコードであり、クライアントからサーバに送信される。 StopStream is an operation code for stopping the stream and is sent from the client to the server.
 例えば、stopStreamは、図17に示すように記述され、対象となるストリームとしてstreamDescriptor(図16の例では4323)により指定されたストリームの停止が指示される。 For example, stopStream is described as shown in FIG. 17, and the stop of the stream designated by the streamDescriptor (4323 in the example of FIG. 16) is instructed as a target stream.
 より詳細には、1行目の“opcode”:“stopStream”は、ストリームの停止を指示するオペレーションコードであることを表しており、2乃至4行目の“params” : { “streamDescriptor”: “4323” }は、停止するストリームを指定するパラメータを表している。 More specifically, “opcode”: “stopStream” on the first line indicates an operation code for instructing to stop the stream, and “params”: {“streamDescriptor”: “on the second to fourth lines. 4323 “} represents a parameter for designating a stream to be stopped.
 changeMediaは、ストリームをされるメディアを変えるものであり、オープンされているMediaを指定し、ストリームを止めることなく切り替える。changeMediaは、クライアントからサーバに送信される。 "ChangeMedia" is to change the media to be streamed, specify the opened Media, and switch without stopping the stream. changeMedia is sent from the client to the server.
 例えば、changeMediaは、図18に示すように記述される。 For example, changeMedia is described as shown in FIG.
 1行目の“opcode” : “changeMedia”は、変更後に再生するストリームするメディアを指定するオペレーションコードであることを表している。2乃至7行目の“params”: {“streamDescriptor” : “4323”, “mediaDescriptor” : “152736”,“segmentNumber” : “155”, “numSegment” : “1000”}は、それぞれ、複数のストリームを指定するパラメータ、切り替えるメディアを指定するパラメータ、セグメント番号を指定するパラメータ、およびメディアのエンドが存在しない場合におけるセグメントの数を指定するパラメータを表している。 “Opcode”: “changeMedia” on the first line indicates an operation code for designating a stream medium to be played after the change. "Params": “{" streamDescriptor ":" 4323 "," mediaDescriptor ":" 152736 "," segmentNumber ":" 155 "," numSegment ":" 1000 "} on the second to seventh lines , A parameter for specifying a medium to be switched, a parameter for specifying a segment number, and a parameter for specifying the number of segments when there is no end of the media.
 このように、予め複数のメディアをサーバにオープンの状態にしておき、直ちにセグメントをストリームできる状態にしておくことで、図34および図35を参照して後述するように、メディアを切り替えた直後に、別のセグメントを伝送することができる。また、上述したOpenMediaおよびCloseMediaによって、サーバが保持するメディアに関するリソースが管理される。 In this way, by setting a plurality of media in an open state to the server in advance and immediately allowing a segment to be streamed, immediately after switching the media, as will be described later with reference to FIGS. , Another segment can be transmitted. Further, the above-mentioned OpenMedia and CloseMedia manage resources related to media held by the server.
 playerInfoは、ストリームを再生中のプレイヤーの再生状況を通知するためのオペレーションコードであり、クライアントからサーバに送信される。 PlayerInfo is an operation code for notifying the playback status of the player who is playing the stream, and is sent from the client to the server.
 例えば、playerInfoは、図19に示すように記述され、プレイヤーの再生状況に変化があれば通知される。 For example, playerInfo is described as shown in FIG. 19, and is notified if there is a change in the playback status of the player.
 1行目の“opcode” : “playerInfo”は、プレイヤーの再生状況を通知するオペレーションコードであることを表している。2乃至8行目の“params”: { “streamDescriptor”: “4323”,“networkState” : “4”, “readyState” : “4” “currentPresentationTime” : “478777”, “bufferedTime” : “4000”}は、それぞれ、ストリームを識別するパラメータ、ネットワーク状況を表すパラメータ、読み込み状況を表すパラメータ、現在の再生時間をミリ秒で表すパラメータ、バッファされている時間をミリ秒で表すパラメータを表している。 “Opcode”: “playerInfo” on the first line indicates an operation code for notifying the playback status of the player. “Params” on lines 2 to 8: {“streamDescriptor”: “4323”, “networkState”: “4”, “readyState”: “4” “currentPresentationTime”: “478777”, “bufferedTime”: “4000”} Represents a parameter for identifying a stream, a parameter representing a network status, a parameter representing a reading status, a parameter representing the current playback time in milliseconds, and a parameter representing the buffered time in milliseconds.
 このように、サーバは、playerInfoに含まれるcurrentPresentationTimeを利用して、ライブでクライアントがリアルタイムに再生できていないことを感知することができる。これにより、図33を参照して後述するように、サーバは、再生されない不要なセグメントはスキップして、ライブの最新のセグメントを継続して転送することができる。 In this way, the server can detect that the client cannot be played back in real time using the currentPresentationTime included in the playerInfo. As a result, as will be described later with reference to FIG. 33, the server can skip unnecessary segments that are not reproduced and continue to transfer the latest live segment.
 capabilityは、例えば、コーデックなど、クライアンのケーパビリティを通知するためのオペレーションコードであり、クライアントからサーバに送信される。 Capability is an operation code for notifying a client's capability, such as a codec, and is transmitted from the client to the server.
 例えば、capabilityは、図20に示すように記述される。 For example, capability is described as shown in FIG.
 すなわち、1行目の“opcode” : “capability”は、例えば、コーデックなど、クライアントのケーパビリティを通知するためのオペレーションコードであることを表している。2行目以降においては、multipleRepresentationにより、クライアントが、同一のセグメントデータについて、複数のRepresentationを受け入れることが可能であるか否かが指定される。例えば、図20においては、“true”とされて、同一のセグメントデータについて、複数のRepresentationを受け入れることが可能であることが指定されている。尚、“false”とされる場合、同一のセグメントデータについて、複数のRepresentationを受け入れることができないことが指定される。 That is, “opcode”: “capability” on the first line represents an operation code for notifying a client capability such as a codec. In the second and subsequent lines, it is specified by multipleRepresentation whether or not the client can accept a plurality of Representations for the same segment data. For example, in FIG. 20, “true” is specified to specify that a plurality of representations can be accepted for the same segment data. When “false” is specified, it is specified that a plurality of representations cannot be accepted for the same segment data.
 segmentSkipにより、セグメントスキップに対応可能であるか否かが指定され、例えば、図20においては“false”とされて、セグメントスキップに対応可能ではないことが指定されている。尚、“true”とされた場合、セグメントスキップに対応可能であることが指定されている。 “SegmentSkip” specifies whether or not the segment skip can be supported. For example, “false” is specified in FIG. 20 to indicate that the segment skip cannot be supported. When “true” is set, it is specified that segment skipping can be supported.
 decodeにより、対応可能なデコードの種別が指定され、mimeTypeによりmimeタイプが指定され、図20においては、“video/mp4”とされ、mp4のビデオのデコードが可能であることが指定されている。また、codecによりコーデックの種別として[“avc1.640828”]が可能であると指定されている。このときmaxWidth、maxHieght、およびmaxBandwidthにより、処理可能な画像の最大幅、最大高、および最大バンド幅が指定され、図20においては、それぞれ“1920”,“1080”,“101024”とされて、1920画素×1080画素のバンド幅が101024となる画像を処理可能であることが指定されている。 Decoding specifies the type of decoding that can be supported, mimeType specifies the mime type, and in FIG. 20, “video / mp4” is specified, which indicates that mp4 video can be decoded. Further, it is specified by codec that [“avc1.640828”] is possible as the type of codec. At this time, the maximum width, the maximum height, and the maximum bandwidth of the image that can be processed are designated by maxWidth, maxHieght, and maxBandwidth. In FIG. 20, “1920”, “1080”, and “101024” are set, respectively. It is specified that an image with a 1920 × 1080 pixel bandwidth of 101024 can be processed.
 また、segmentAlignment!により、リプレゼンテーションのセグメントがそろっているか否かが指定され、図20においては、falseとされており、各リプレゼンテーションのセグメントがそろっていることが指定されている。尚、trueの場合、各リプレゼンテーションのセグメントがそろっていないことが指定される。 In addition, “segmentAlignment!” Specifies whether or not the segments of the representation are aligned. In FIG. 20, “false” is specified, and it is specified that the segments of each representation are aligned. If true, it is specified that there are no segments for each representation.
 さらに、SAPTypeにより、セグメントの先頭位置SAP(Stream Access Point)の種別が指定され、図20の場合、SAPの種別が1または2のいずれかであることが指定されている。 Furthermore, the type of the segment start position SAP (Stream Access Point) is specified by SAPType, and in the case of FIG. 20, it is specified that the SAP type is either 1 or 2.
 また、図20においては、さらなる対応可能なmimeタイプとして“audiomp4”が指定されて、音声のmp4がデコード可能であることが指定されている。さらに、コーデックの種別として[“mp4a.40”]が指定され、segmentAlignment!により、リプレゼンテーションのセグメントがそろっているか否かが指定され、図20においては、falseとされており、各リプレゼンテーションのセグメントがそろっていることが指定されている。 Further, in FIG. 20, “audiomp4” is designated as a mime type that can be further dealt with, and it is designated that audio mp4 can be decoded. Furthermore, [“mp4a.40”] is designated as the codec type, and segmentAlignment! Designates whether or not the segments of the representation are aligned. In FIG. 20, it is set to false. It is specified that the segment is complete.
 preferenceは、例えば、AdaptationSetIDなど、クライアントのプリファレンス(優先的にして欲しい設定)を通知するためのオペレーションコードであり、クライアントからサーバに送信される。 “Preference” is an operation code for notifying client preferences (settings to be given priority) such as AdaptationSetID, and is transmitted from the client to the server.
 例えば、preferenceは、図21に示すように記述される。 For example, preference is described as shown in FIG.
 すなわち、1行目の“opcode” : “preference”は、クライアントのプリファレンス(優先的にして欲しい設定)を通知するためのオペレーションコードであることを表している。2行目以降においては、mediaDescriptorにより、対象となるメディアがmediaDescriptor(図21の例では、152736)により指定される。segmentSkipにより、対象となるメディアに対してセグメントスキップをしない状態か否かが指定され、図21においては、“false”によりセグメントスキップをしない状態を設定するように求められていることが指定されている。 That is, “opcode”: “preference” on the first line represents an operation code for notifying the client's preference (setting that should be given priority). In the second and subsequent lines, the target medium is designated by mediaDescriptor (152736 in the example of FIG. 21) by mediaDescriptor. In segmentSkip, it is specified whether or not the target media is not in a segment skip state. In FIG. 21, it is specified by “false” that it is requested to set a state in which segment skip is not performed. Yes.
 languageにより、使用する言語が指定され、図21の場合、[“en”,“fr”]により英語とフランス語の使用を優先的に設定するように求められていることが指定されている。 The language to be used is specified by language, and in the case of FIG. 21, it is specified by [“en”, “fr”] that it is required to preferentially set the use of English and French.
 segmentにより、セグメントデータに対する設定についてのプリファレンスが指定され、このうち1番目のperiodIDにより画像の再生開始位置が指定され、図21の場合、“1”とされ、画像の再生開始位置として先頭ピリオドを優先的に設定するように求められていることが指定されている。 The segment specifies a preference for setting the segment data, and the first period ID among them specifies the image playback start position. In FIG. 21, this is set to “1”, and the start period is set as the image playback start position. Is specified to be set with priority.
 1番目のadaptationSetIDにより、セグメントデータの画像種別が指定され、図21の場合、“mainVideo”により主画像が優先的に設定されるように求められていることが示されている。 The image type of the segment data is specified by the first adaptationSetID, and in the case of FIG. 21, it is indicated that “mainVideo” is required to set the main image preferentially.
 1番目のreprsentationIDにより、画像のリプレゼンテーションの種別が指定され、図21においては、[“1”, “2”, “3”]とされ、reprsentationの種別として、1乃至3のいずれかとするように優先的に設定するように求められていることが示されている。尚、この場合、リプレゼンテーションの種別としては3種類が指定されることになるが、サーバは、この3種類のリプレゼンテーションのうち、帯域の状態を判断して、最適なリプレゼンテーションを設定する。 The type of image representation is designated by the first reprsentationID, and in FIG. 21, it is set to [“1”, “2”, “3”], and the type of reprsentation is any one of 1 to 3. It is shown that it is demanded to set with priority. In this case, three types of representations are designated, but the server determines the state of the band among these three types of representations and sets an optimal representation.
 さらに、2番目のperiodIDにより、音声の再生開始位置が指定され、図21の場合、“1”とされ、音声の再生開始位置として先頭ピリオドを優先的に設定するように求められていることが指定されている。 Furthermore, the second period ID specifies the audio playback start position. In the case of FIG. 21, it is set to “1”, and it is required to preferentially set the leading period as the audio playback start position. It is specified.
 2番目のadaptationSetIDによりセグメントデータの音声種別が指定され、図21の場合、“mainAudio”により主音声が優先的に設定するように求められていることが示されている。 The audio type of the segment data is specified by the second adaptationSetID, and in the case of FIG. 21, it is shown that the main audio is requested to be set preferentially by “mainAudio”.
 さらに、2番目のreprsentationIDにより、音声のリプレゼンテーションの種別が指定され、図21においては、[“1”]とされ、音声のリプレゼンテーションの種別として、1とするように優先的に設定するように求められていることが示されている。 Further, the type of audio representation is specified by the second reprsentationID. In FIG. 21, it is set to [“1”], and the type of audio representation is preferentially set to 1. Is shown to be required.
 すなわち、preferenceにより、MediaのどのMediaSegmentをストリームするかクライアントのプリファレンスが指定される。(なにも指定しない場合はサーバがクライアントのCapabilityに合わせて自動で選択する) That is, the preference of the client specifies which MediaSegment of Media is streamed by preference. (If nothing is specified, the server automatically selects according to the Capability of the client.)
 尚、representationIDがArrayの場合で複数指定されている場合、サーバは、Network Adaptation(ネットワークの状態に応じた処理)を実行し、その範囲にて、帯域適応等のサーバの判断にて適切なリプレゼンテーションを選択しストリームする。 If multiple representationIDs are specified, the server executes Network Adaptation (processing according to the network status), and within that range, the server determines the appropriate resource based on the bandwidth adaptation etc. Select a presentation and stream it.
 このようなコントロールデータが、サーバ201およびクライアント202の間で送受信され、コンテンツファイルの配信が制御される。 Such control data is transmitted and received between the server 201 and the client 202, and distribution of the content file is controlled.
 図22には、VOD再生を開始させるシーケンスが示されている。 FIG. 22 shows a sequence for starting VOD playback.
 例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS11において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームを開始するように要求する。 For example, when the user performs an operation on the client 202 so as to start VOD playback, the processing is started. In step S11, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start a stream by designating the medium.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS12において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by sending control data (mediaInfo) to the client 202 in step S12.
 そして、サーバ201は、ステップS13において、コントロールデータ(streamInfo)をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、サーバ201は、ステップS14において、セグメントデータ(RepID 1,SegmentNo 0)をクライアント202に送信する。 In step S13, the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits the segment data (RepID2011, SegmentNo 0) to the client 202 in step S14.
 クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS15において、コントロールデータ(playerInfo)をサーバ201に送信することで、ストリームのデコードを開始してからの経過時間を通知する。 The client 202 receives this segment data and starts decoding. In step S15, the client 202 transmits control data (playerInfo) to the server 201, thereby notifying the elapsed time from the start of stream decoding.
 その後、サーバ201は、セグメントデータを順次、クライアント202に送信する。このとき、サーバ201は、ネットワークの状態に応じた処理(Network Adaption)により、リプレゼンテーション(Rep)を変えるPlayerInfoでCurrentPresentanTimeからクライアントのバッファ量を推測することで、適切な帯域適応をすることができる。 Thereafter, the server 201 sequentially transmits segment data to the client 202. At this time, the server 201 can perform appropriate band adaptation by estimating the buffer amount of the client from CurrentPresentanTime with PlayerInfo that changes the representation (Rep) by processing according to the state of the network (Network Adaptation). .
 これにより、例えば、サーバ201は、ステップS16において、コントロールデータ(streamInfo)を送信し、ステップS17において、セグメントデータ(RepID 3,SegmentNo 1)を送信する。続いて、サーバ201は、ステップS18において、コントロールデータ(streamInfo)をクライアント202に送信し、ステップS19において、セグメントデータ(RepID 3,SegmentNo 2)を送信する。 Thus, for example, the server 201 transmits control data (streamInfo) in step S16, and transmits segment data (RepID 3, SegmentNo 1) in step S17. Subsequently, in step S18, the server 201 transmits control data (streamInfo) to the client 202. In step S19, the server 201 transmits segment data (RepID 3, SegmentNo 2).
 また、サーバ201は、Transmission Controlにより、クライアント202の再生進行に合わせてセグメントデータを送り続けることができる。即ち、サーバ201は、クライアント202の再生進行に合わせたタイミングで、ステップS20において、コントロールデータ(streamInfo)をクライアント202に送信し、ステップS21において、セグメントデータ(RepID 3,SegmentNo 3)を送信する。 Also, the server 201 can continue to send segment data in accordance with the playback progress of the client 202 by Transmission Control. That is, the server 201 transmits control data (streamInfo) to the client 202 in step S20 at a timing in accordance with the playback progress of the client 202, and transmits segment data (RepID 3, SegmentNo 3) in step S21.
 一方、クライアント202は、再生状況の変化があると、ステップS22において、コントロールデータ(playerInfo)をサーバ201に送信し、ストリームのデコードを開始してからの経過時間を通知する。 On the other hand, when there is a change in the playback status, the client 202 transmits control data (playerInfo) to the server 201 in step S22, and notifies the elapsed time after starting the decoding of the stream.
 このように、VOD再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。 In this way, the process of starting VOD playback is performed, and the segment data is transmitted from the server 201 to the client 202 in the same manner.
 図23には、VOD再生を中断し、再開させるシーケンスが示されている。 FIG. 23 shows a sequence for interrupting and resuming VOD playback.
 上述したようにセグメントデータの送信が続けられ、サーバ201は、ステップS31において、コントロールデータ(streamInfo)を送信し、ステップS32において、セグメントデータ(RepID 2,SegmentNo 153)を送信する。そして、クライアント202は、ステップS33において、コントロールデータ(playerInfo)をサーバ201に送信する。 As described above, transmission of segment data is continued, and the server 201 transmits control data (streamInfo) in step S31, and transmits segment data (RepID 2, SegmentNo 153) in step S32. Then, the client 202 transmits control data (playerInfo) to the server 201 in step S33.
 そして、ユーザが再生を中断(例えば、ポーズやシークなど)するようにクライアント202に対する操作を行うと、ステップS34において、クライアント202は、コントロールデータ(stopStream)をサーバ201に送信する。これにより、クライアント202は、ストリームを停止することをサーバ201に通知する。 Then, when the user performs an operation on the client 202 so as to interrupt reproduction (for example, pause or seek), the client 202 transmits control data (stopStream) to the server 201 in step S34. As a result, the client 202 notifies the server 201 that the stream is to be stopped.
 これに応じ、サーバ201は、ステップS35およびS36において、コントロールデータ(streamInfo)およびセグメントデータ(RepID 3,SegmentNo 154)をそれぞれ送信した後、ステップS37において、中断したことを通知するコントロールデータ(streamInfo)をクライアント202に送信する。 In response to this, the server 201 transmits the control data (streamInfo) and the segment data (RepID , 3, SegmentNo 154) in steps S35 and S36, respectively, and then in step S37, the control data (streamInfo) notifying the interruption. Is transmitted to the client 202.
 その後、ユーザが再生を再開するようにクライアント202に対する操作を行うと、ステップS38において、クライアント202は、コントロールデータ(Start Stream)を送信して、再開するセグメント番号(図23の例では155)を指定する。 Thereafter, when the user performs an operation on the client 202 so as to resume reproduction, in step S38, the client 202 transmits control data (Start Stream), and the segment number (155 in the example of FIG. 23) to be resumed. specify.
 これに応じ、サーバ201は、ステップS39において、セグメントデータ(RepID 3,SegmentNo 155)をクライアント202に送信し、クライアント202は、ステップS40において、コントロールデータ(playerInfo)をサーバ201に送信する。 In response, the server 201 transmits segment data (RepIDp3, SegmentNo 155) to the client 202 in step S39, and the client 202 sends control data (playerInfo) to the server 201 in step S40.
 このように、VOD再生を中断し、再開させる処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。 In this way, processing for interrupting and resuming VOD playback is performed, and segment data is transmitted from the server 201 to the client 202 in the same manner.
 図24には、VOD再生を最後まで再生し、終了するシーケンスが示されている。 FIG. 24 shows a sequence in which VOD playback is played to the end and finished.
 上述したようにセグメントデータの送信が続けられ、サーバ201は、ステップS51において、コントロールデータ(streamInfo)を送信し、ステップS52において、セグメントデータ(RepID 2,SegmentNo 873)を送信する。そして、クライアント202は、ステップS53において、コントロールデータ(playerInfo)をサーバ201に送信する。 As described above, the transmission of the segment data is continued, and the server 201 transmits the control data (streamInfo) in step S51, and transmits the segment data (RepID 2, SegmentNo 873) in step S52. Then, the client 202 transmits control data (playerInfo) to the server 201 in step S53.
 そして、サーバ201は、ステップS54において、コントロールデータ(streamInfo)を送信し、ステップS55において、セグメントデータ(RepID 2,SegmentNo 874)を送信する。ここで、送信されたセグメントがストリームの最後である場合、サーバ201は、ステップS56において、コントロールデータ(streamInfo)を送信し、ストリームが終了したことをクライアント202に通知する。 Then, the server 201 transmits control data (streamInfo) in step S54, and transmits segment data (RepID , 2, SegmentNo 874) in step S55. If the transmitted segment is the end of the stream, the server 201 transmits control data (streamInfo) in step S56 to notify the client 202 that the stream has ended.
 これに応じ、クライアント202は、ステップS57において、コントロールデータ(playerInfo)をサーバ201に送信した後、ステップS58において、コントロールデータ(closeMedia,stopStream)をサーバ201に送信する。これにより、クライアント202は、受信したセグメントの再生をすべて終了し、メディアをクローズすることをサーバ201に通知する。 In response, the client 202 transmits control data (playerInfo) to the server 201 in step S57, and then transmits control data (closeMedia, stopStream) to the server 201 in step S58. As a result, the client 202 notifies the server 201 that the playback of all received segments is finished and the media is closed.
 サーバ201は、コントロールデータ(closeMedia,stopStream)を受信すると、メディアの情報を破棄する。そして、ステップS59において、サーバ201は、コントロールデータ(MediaStatus)をクライアント202に送信し、VOD再生が終了される。 When the server 201 receives the control data (closeMedia, stopStream), the server 201 discards the media information. In step S59, the server 201 transmits control data (MediaStatus) to the client 202, and the VOD reproduction is ended.
 このように、VOD再生を終了する処理が行われる。 In this way, the process of ending VOD playback is performed.
 図25には、ライブの最初から視聴する場合におけるライブ再生を開始させるシーケンスが示されている。 FIG. 25 shows a sequence for starting live reproduction when viewing from the beginning of the live.
 例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS71において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。 For example, when the user performs an operation on the client 202 so as to start live reproduction, the processing is started. In step S71, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS72において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S72.
 ここで、例えば、ライブ放送が開始されていない場合にはMediaStatusが定期的に通知され、サーバ201は、ステップS73において、コントロールデータ(mediaInfo)をクライアント202に送信して、MediaStatusを通知する。 Here, for example, when live broadcasting is not started, MediaStatus is periodically notified, and in step S73, the server 201 transmits control data (mediaInfo) to the client 202 to notify MediaStatus.
 その後、ライブ放送が開始されるとセグメントの送信が開始され、ステップS74において、サーバ201は、コントロールデータ(mediaInfo,streamInfo)をクライアント202に送信する。続いて、サーバ201は、ステップS75において、セグメントデータ(Segment Data of SegmentNo 0)をクライアント202に送信する。 After that, when live broadcasting is started, transmission of a segment is started, and in step S74, the server 201 transmits control data (mediaInfo, streamInfo) to the client 202. Subsequently, the server 201 transmits segment data (Segment Data of SegmentNo 0) to the client 202 in step S75.
 クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS76において、コントロールデータ(playerInfo)をサーバ201に送信することで、例えば、ストリームのデコードを開始してからの経過時間を通知する。 The client 202 receives the segment data and starts decoding. In step S76, the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since the start of decoding the stream. .
 このように、ライブの最初から視聴する場合におけるライブ再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。 In this way, processing for starting live reproduction when viewing from the beginning of the live is performed, and segment data is transmitted from the server 201 to the client 202 in the same manner.
 図26には、ライブの途中から視聴する場合におけるライブ再生を開始するシーケンスが示されている。 FIG. 26 shows a sequence for starting live reproduction when viewing from the middle of live performance.
 例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS91において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。 For example, when the user performs an operation on the client 202 so as to start live reproduction, the processing is started. In step S91, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS92において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S92.
 ここで、例えば、ライブ放送が既に始まっている場合は、最新のセグメントから伝送が行われ、ステップS93において、サーバ201は、コントロールデータ(streamInfo)をクライアント202に送信する。続いて、サーバ201は、ステップS94において、セグメントデータ(Segment Data of SegmentNo 1447)をクライアント202に送信する。 Here, for example, when live broadcasting has already started, transmission is performed from the latest segment, and the server 201 transmits control data (streamInfo) to the client 202 in step S93. Subsequently, the server 201 transmits segment data (Segment Data of SegmentNo 1447) to the client 202 in step S94.
 クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS95において、コントロールデータ(playerInfo)をサーバ201に送信することで、例えば、ストリームのデコードを開始してからの経過時間を通知する。 The client 202 receives the segment data and starts decoding. In step S95, the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since starting the decoding of the stream. .
 その後、サーバ201は、セグメントデータを送り続けることができ、ステップS96およびS97において、コントロールデータ(streamInfo)およびセグメントデータ(Segment Data of SegmentNo 1448)をそれぞれ送信する。続いて、サーバ201は、ステップS98およびS99において、コントロールデータ(streamInfo)およびセグメントデータ(Segment Data of SegmentNo 1449)をそれぞれ送信する。 Thereafter, the server 201 can continue to send segment data, and transmits control data (streamInfo) and segment data (Segment Data Data of Segment No 1448) in steps S96 and S97, respectively. Subsequently, in steps S98 and S99, the server 201 transmits control data (streamInfo) and segment data (Segment Data of SegmentNo 1449), respectively.
 このように、ライブの途中から視聴する場合におけるライブ再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。 In this way, processing for starting live reproduction when viewing from the middle of live is performed, and segment data is transmitted from the server 201 to the client 202 in the same manner.
 <3.第2の実施の形態>
  <Multiple Representations Transfer at startup>
  <配信システムを実現するサーバの構成>
 図27に示すように、サーバ201は、受信部211、送信部212、記憶部312、および通信処理部214を備えて構成される。
<3. Second Embodiment>
<Multiple Representations Transfer at startup>
<Configuration of server realizing distribution system>
As illustrated in FIG. 27, the server 201 includes a reception unit 211, a transmission unit 212, a storage unit 312, and a communication processing unit 214.
 受信部211は、ネットワークを介してサーバ201に送信されるデータを受信して通信処理部214に供給する。 The receiving unit 211 receives data transmitted to the server 201 via the network and supplies the data to the communication processing unit 214.
 送信部212は、通信処理部214において実行される通信処理に従い、例えば、各種のコントロールデータをクライアント202に送信したり、記憶部312からコンテンツファイルのセグメントを適宜読み出してクライアント202に送信する。 The transmission unit 212 transmits, for example, various control data to the client 202 according to the communication processing executed in the communication processing unit 214, or appropriately reads the content file segment from the storage unit 312 and transmits it to the client 202.
 記憶部312には、サーバ201から配信される画像や音声等のコンテンツファイルが記憶されている。 The storage unit 312 stores content files such as images and sounds distributed from the server 201.
 通信処理部214は、例えば、クライアント202の通信処理部227との間で、上述したようなコントロールデータを利用した通信処理を行う。 The communication processing unit 214 performs communication processing using the control data as described above with the communication processing unit 227 of the client 202, for example.
  <配信システムを実現するクライアントの構成>
 図28に示すように、クライアント202は、受信部221、送信部222、バッファ223、再生処理部224、ディスプレイ225、スピーカ226、および通信処理部227を備えて構成される。
<Configuration of client to realize distribution system>
As shown in FIG. 28, the client 202 includes a receiving unit 221, a transmitting unit 222, a buffer 223, a reproduction processing unit 224, a display 225, a speaker 226, and a communication processing unit 227.
 受信部221は、例えば、サーバ201から送信されてくるコントロールデータを受信して通信処理部227に供給したり、サーバ201から送信されてくるコンテンツファイルのセグメントを受信してバッファ223に供給する。バッファ223は、受信部221から供給されるコンテンツファイルのセグメントを一時的に保持する。 The receiving unit 221 receives, for example, control data transmitted from the server 201 and supplies the control data to the communication processing unit 227, or receives a segment of a content file transmitted from the server 201 and supplies it to the buffer 223. The buffer 223 temporarily holds a segment of the content file supplied from the receiving unit 221.
 再生処理部224は、バッファ223に保持されているセグメントを読み出してデコードする再生処理を行い、映像データをディスプレイ225に供給するとともに、音声データをスピーカ226に供給する。これにより、ディスプレイ225は映像を表示し、スピーカ226は音声を出力する。 The playback processing unit 224 performs playback processing that reads and decodes the segments held in the buffer 223, supplies video data to the display 225, and supplies audio data to the speaker 226. Thereby, the display 225 displays an image, and the speaker 226 outputs sound.
 通信処理部227は、例えば、サーバ201の通信処理部214との間で、上述したようなコントロールデータを利用した通信処理を行う。 The communication processing unit 227 performs communication processing using the control data as described above with the communication processing unit 214 of the server 201, for example.
 次に、図29のフローチャートを参照して、図27のサーバ201、および図28のクライアント202とからなる配信システムによる、コンテンツの再生開始時において複数のリプレンゼンテーションを送信する処理(Multiple Representations Transfer at startup)について説明する。すなわち、この処理においては、再生開始時に、同一のSegment Noで、異なるリプレンゼンテーションのセグメントデータが送信されるようにする。これにより、帯域の状態に対応した画質のリプレンゼンテーションのセグメントデータから再生させることができ、必ず最初に低画質の画像から再生が開始されるのを防ぐことが可能となる。 Next, referring to the flowchart of FIG. 29, a process of transmitting a plurality of representations (Multiple Representations Transfer) at the start of content reproduction by the distribution system including the server 201 of FIG. 27 and the client 202 of FIG. at startup). That is, in this process, segment data of different representations are transmitted with the same Segment No at the start of reproduction. As a result, it is possible to reproduce from the segment data of the representation with the image quality corresponding to the band state, and it is possible to always prevent the reproduction from starting from the image with the low image quality first.
 すなわち、例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。 That is, for example, when the user performs an operation on the client 202 so as to start VOD playback, the processing is started.
 ステップS111において、クライアント202の通信処理部227は、送信部222を制御して、コントロールデータ(capability,openMedia,playStream)をサーバ201に送信する。これにより、クライアント202のケーパビリティがサーバ201に通知されるとともに、メディアが指定されてストリームの開始が要求される。 In step S111, the communication processing unit 227 of the client 202 controls the transmission unit 222 to transmit control data (capability, openMedia, playStream) to the server 201. As a result, the capabilities of the client 202 are notified to the server 201, the media is specified, and the start of the stream is requested.
 サーバ201の通信処理部214は、受信部211を制御して、この要求を受信し、クライアント202により指定されたメディアのメディア情報を記憶部213より読み出す。そして、ステップS112において、通信処理部214は、送信部212を制御して、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 The communication processing unit 214 of the server 201 controls the reception unit 211 to receive this request, and reads the media information of the media designated by the client 202 from the storage unit 213. In step S <b> 112, the communication processing unit 214 controls the transmission unit 212 to transmit the control data (mediaInfo) to the client 202, thereby returning the media information.
 そして、サーバ201の通信処理部214は、ステップS113において、送信部212を制御して、コントロールデータ(streamInfo(RepID 1,SegmentNo 0,RepRep:true))をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、通信処理部214は、ステップS114において、送信部212を制御してセグメントデータ(RepID 1,SegmentNo 0)をクライアント202に送信する。 Then, in step S113, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (streamInfo (RepID , 1, SegmentNo 0, RepRep: true)) to the client 202 and then transmit it. Notify the attribute of the segment data to be processed. Subsequently, in step S <b> 114, the communication processing unit 214 controls the transmission unit 212 to transmit the segment data (RepID2021, SegmentNo 0) to the client 202.
 すなわち、DASHにウェブソケットを適用する際、コントロールデータとセグメントデータとは、図9を参照して説明したように、それぞれが個別のサブフレームのペイロード部分に配置されている。 That is, when the web socket is applied to the DASH, the control data and the segment data are each arranged in the payload portion of an individual subframe as described with reference to FIG.
 そこで、サーバ201の通信処理部214は、ステップS113において、送信部212を制御して、セグメントデータを送信する前に、コントロールデータを用いて、StreamInfoにより、次のタイミングで送信するセグメントデータ(Media Data Frame)により送信する予定であるリプレゼンテーションを識別する情報(RepID 1)と共に、同一のSegment Noで、異なるリプレゼンテーションのセグメントデータを送信する可能性があることを示す情報(RepRep:true)を送信する。 Therefore, in step S113, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit segment data (MediaMedia) at the next timing using StreamInfo using the control data before transmitting the segment data. Data (RepRep: true) indicating that there is a possibility of transmitting segment data of different representations with the same Segment No, together with information (RepID 1) that identifies the representation that is scheduled to be transmitted by (Data Frame) Send.
 すなわち、例えば、図30の上段最左部におけるコントロールフレーム(Control Frame StreamInfo)においては、次に送信するセグメントデータが、セグメントナンバが0(SegmentNo. 0)であって、セグメントのリプレゼンテーションがVideo1(RepID:Video1)であることを示す情報であることが示されている。さらに、同一のSegment Noで、異なるリプレゼンテーションのセグメントデータを送る可能性があることを示す情報(Multiple Representationl:True)が送信される。尚、Multiple Representationl:Trueは、図29のRepRep:trueに対応する。 That is, for example, in the control frame (Control Frame StreamInfo) in the upper left part of the upper stage of FIG. 30, the segment data to be transmitted next has a segment number of 0 (Segment No. 0) and the segment representation is Video1 ( It is indicated that the information is RepID: Video1). Furthermore, information (Multiple Representation: True) indicating that there is a possibility of sending segment data of different representations with the same Segment No is transmitted. Note that Multiple Representationl: True corresponds to RepRep: true in FIG.
 そして、引き続き、ステップS114において、図30の上段の左から2番目で示されるように、セグメントデータが送信される。 Then, in step S114, segment data is transmitted as shown in the second from the left in the upper part of FIG.
 クライアント202の通信処理部227は、受信部221を制御して、このセグメントデータを受信してデコードを開始する。そして、ステップS115において、通信処理部227は、送信部222を制御して、コントロールデータ(playerInfo(CurrentPresentanTime))をサーバ201に送信することで、ストリームのデコードを開始してからの経過時間を通知する。 The communication processing unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and start decoding. In step S115, the communication processing unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)) to the server 201, thereby notifying the elapsed time from the start of stream decoding. To do.
 その後、サーバ201の通信処理部214は、送信部212を制御して、セグメントデータを順次、クライアント202に送信する。このとき、サーバ201の通信処理部214は、ネットワークの状態に応じた処理(Network Adaption)により、リプレゼンテーション(Rep)を変えるPlayerInfoにより、CurrentPresentanTimeからクライアント202のバッファ223のバッファ量を推測することで、適切な帯域に適応することができる。 Thereafter, the communication processing unit 214 of the server 201 controls the transmission unit 212 to sequentially transmit the segment data to the client 202. At this time, the communication processing unit 214 of the server 201 estimates the buffer amount of the buffer 223 of the client 202 from CurrentPresentanTime by PlayerInfo that changes the representation (Rep) by processing according to the network state (Network Adaptation). Can adapt to the appropriate band.
 すなわち、これにより、例えば、十分な帯域があると判断される場合、サーバ201の通信制御部214は、同一のセグメントナンバであって、異なるビットレートの高いリプレゼンテーションのセグメントデータを送信すると判断し、ステップS116において、図30の下段最左列で示されるように、コントロールデータ(streamInfo(RepID 3,SegmentNo 0,RepRep:false))からなるコントロールデータフレーム(Control Frame streamInfo)を送信する。 That is, for example, when it is determined that there is sufficient bandwidth, the communication control unit 214 of the server 201 determines that the segment data of the same segment number and different bit rate is transmitted. In step S116, a control data frame (Control Frame 図 streamInfo) composed of control data (streamInfo (RepID 3, SegmentNo 0, RepRep: false)) is transmitted as shown in the lower leftmost column of FIG.
 このとき、クライアント202は、直前に送信されてきている、ビットレートの低いリプレンゼンテーションのセグメントデータ(RepID 1,SegmentNo 0)を破棄する。 At this time, the client 202 discards the segment data (RepID 1, SegmentNo 0) that has been transmitted immediately before and has a low bit rate.
 そして、ステップS117において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段左から2番目で示されるように、事前のコントロールデータにより予告したセグメントデータ(RepID 3,SegmentNo 0)からなるセグメントデータフレーム(Media Data Frame0)を送信する。 In step S117, the communication control unit 214 of the server 201 controls the transmission unit 212 so that the segment data (RepID3, A segment data frame (Media Data Frame 0) consisting of Segment No 0 is transmitted.
 すなわち、図30の下段最左部で示されるように、次に送信するセグメントデータが、直前に送ったセグメントデータと同一のセグメントナンバが0(SegmentNo. 0)であって、よりビットレートの高いリプレゼンテーションのVideo3(RepID:Video3)を示すコントロールデータからなるコントロールフレームが送信される。続いて、サーバ201の通信制御部214は、送信部212を制御して、ステップS117において、図30の下段左から2番目で示されるように、セグメントデータからなるセグメントデータフレーム(RepID 3,SegmentNo 0)からなるセグメントデータフレーム(Media Data Frame0)を送信する。 That is, as shown in the lower left part of the lower part of FIG. 30, the segment data to be transmitted next has the same segment number as that of the segment data transmitted immediately before (Segment No. 0), and the bit rate is higher. A control frame composed of control data indicating Video3 (RepID: Video3) of the representation is transmitted. Subsequently, the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S117, the segment data frame (RepID 3, SegmentNo. 0) is sent as a segment data frame (Media Data Frame 0).
 続いて、サーバ201の通信制御部214は、送信部212を制御して、ステップS118において、図30の下段左から3番目で示されるように、コントロールデータ(streamInfo)からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。そして、ステップS119において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段左から4番目で示されるように、セグメントデータ(RepID 3,SegmentNo 1)からなるセグメントデータフレーム(Media Data Frame1)を送信する。 Subsequently, the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S118, as shown in the third from the lower left in FIG. 30, a control frame (Control フ レ ー ム Frame consisting of control data (streamInfo) streamInfo) to the client 202. Then, in step S119, the communication control unit 214 of the server 201 controls the transmission unit 212 so that the segment data including the segment data (RepID 3, SegmentNo 1) is shown as the fourth from the left in the lower part of FIG. Send the frame (Media Data Frame 1).
 クライアント202の通信制御部227は、受信部221を制御して、このセグメントデータを受信してデコードを開始し、ステップS120において、送信部222を制御して、コントロールデータ(playerInfo(CurrentPresentanTime))をサーバ201に送信する。これにより、クライアント202において、ストリームのデコードが開始されてからの経過時間がサーバ201に通知される。 The communication control unit 227 of the client 202 controls the reception unit 221 to receive the segment data and start decoding. In step S120, the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)). To the server 201. As a result, the server 202 is notified of the elapsed time from the start of the stream decoding in the client 202.
 また、サーバ201の通信制御部214は、Transmission Controlにより、クライアント202の再生進行に合わせてセグメントデータを送り続けることができる。即ち、サーバ201の通信制御部214は、クライアント202の再生進行に合わせたタイミングで、ステップS121において、送信部212を制御して、図30の下段左から5番目で示されるように、コントロールデータ(streamInfo)からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。 Also, the communication control unit 214 of the server 201 can continue to send segment data as transmission progresses by the client 202 using Transmission Control. That is, the communication control unit 214 of the server 201 controls the transmission unit 212 in step S121 at the timing in accordance with the progress of reproduction of the client 202, and the control data as shown in the fifth from the lower left in FIG. A control frame (Control Frame streamInfo) composed of (streamInfo) is transmitted to the client 202.
 ステップS122において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段最右列で示されるように、セグメントデータ(RepID 3,SegmentNo 2)からなるセグメントデータフレーム(Media Data Frame2)を送信する。 In step S122, the communication control unit 214 of the server 201 controls the transmission unit 212, and as shown in the lower rightmost column of FIG. 30, a segment data frame (Media ID “RepID 3, SegmentNo 2”) Data Frame2) is transmitted.
 一方、クライアント202の通信制御部227は、再生処理部224により再生状況の変化があると、ステップS123において、送信部222を制御して、コントロールデータ(playerInfo)をサーバ201に送信し、ストリームのデコードを開始してからの経過時間を通知する。 On the other hand, when the reproduction processing unit 224 changes the reproduction status, the communication control unit 227 of the client 202 controls the transmission unit 222 in step S123 to transmit the control data (playerInfo) to the server 201, thereby Notify the elapsed time since the start of decoding.
 このように、サーバ201は、再生開始時に、帯域の状態に応じて、必要に応じてリプレゼンテーションを切り替えて、セグメントデータをクライアント202に送信する。セグメントデータのリプレゼンテーションを切り替える際には、直前に送ったセグメントナンバと同一のセグメントデータであって、帯域の状態に応じたリプレゼンテーションに切り替えられたものが送信される。 As described above, at the start of reproduction, the server 201 switches the representation as necessary according to the state of the band, and transmits the segment data to the client 202. When switching the representation of the segment data, the segment data that is the same as the segment number sent immediately before and is switched to the representation according to the band status is transmitted.
 尚、ステップS115の処理により、例えば、今の帯域に対して現在のリプレゼンテーションが適切であると判断される場合、サーバ201の通信処理部214は、直前に送信したセグメントデータのセグメントナンバを順序通り1インクリメントし、同一のリプレゼンテーションのセグメントデータを送信する。すなわち、サーバ201は、次のステップにおいて、図30の上段の左から3列目で示されるように、コントロールデータ(streamInfo(RepID 1,SegmentNo 1,RepRep:false))からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。 If it is determined by the processing in step S115 that the current representation is appropriate for the current band, for example, the communication processing unit 214 of the server 201 orders the segment numbers of the segment data transmitted immediately before. 1 is incremented and the segment data of the same representation is transmitted. That is, in the next step, as shown in the third column from the left in the upper part of FIG. 30, the server 201 controls the control frame (Control Frame) composed of control data (streamInfo (RepID 1, SegmentNo 1, RepRep: false)). streamInfo) to the client 202.
 そして、さらに次のステップにおいて、サーバは、図30の上段左から4番目で示されるように、事前のコントロールデータにより予告したセグメントデータ(RepID 1,SegmentNo 1)からなるセグメントデータフレーム(Media Data Frame1)を送信し、以降において、順次セグメントナンバが1ずつインクリメントされて、コントロールデータからなるコントロールデータフレームと、セグメントデータからなるセグメントデータフレームとが、順次、交互に送信されていく。 Then, in the next step, as shown in the fourth from the left in the upper part of FIG. 30, the server displays a segment data frame (Media Data Frame 1 consisting of segment data (RepID 1, Segment No 1) notified in advance by control data in advance. Thereafter, the segment number is sequentially incremented by one, and the control data frame made up of control data and the segment data frame made up of segment data are sequentially sent alternately.
 以上の如く、再生開始時に同一のセグメントデータに対して、帯域の状態に応じて、複数の種別のリプレゼンテーションを送信するようにしたので、帯域の状態に対して適切なビットレートのセグメントデータを送信することが可能となる。これにより、必ず低画質の画像から再生が開始されるのを防止することが可能となり、帯域の状態に応じた適切な画質の画像から再生させることが可能となる。結果として、再生処理における操作性を向上させることが可能となる。 As described above, a plurality of types of representations are transmitted for the same segment data at the start of playback in accordance with the band status. It becomes possible to transmit. As a result, it is possible to prevent playback from starting from an image with a low image quality, and it is possible to reproduce from an image with an appropriate image quality according to the state of the band. As a result, the operability in the reproduction process can be improved.
 <4.第3の実施の形態>
  <Low delay Transfer by Sub-Segment>
<4. Third Embodiment>
<Low delay Transfer by Sub-Segment>
 次に、図31のフローチャートを参照して、セグメント(Segment)データをより小さな単位のサブセグメント(Sub-Segment)データで管理するシーケンスについて説明する。 Next, a sequence for managing segment data with sub-segment data of smaller units will be described with reference to the flowchart of FIG.
 サブセグメントデータは、セグメントデータよりも小さな単位としたものである。これにより、セグメントデータ単位での処理よりも、より高速での動作を実現させて、伝送遅延等を防止するものである。 • Sub-segment data is a smaller unit than segment data. As a result, a higher-speed operation is realized than the processing in units of segment data, thereby preventing a transmission delay or the like.
 例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。 For example, when the user performs an operation on the client 202 so as to start VOD playback, the processing is started.
 ステップS141において、クライアント202の通信制御部227は、送信部222を制御して、コントロールデータ(capability(subSegment=true),openMedia,playStream)をサーバ201に送信させる。これにより、クライアント202のケーパビリティが通知されるとともに、メディアが指定されてストリームが開始されるように要求される。このとき、ケーパビリティにおいて、サブセグメント単位での伝送に対応することができるときには、クライアント202の通信制御部227は、送信部222を制御して、サブセグメント単位での伝送が可能であることを示す情報(subSegment=true)をサーバ201に送信する。これにより、サーバ201の通信制御部214は、クライアント202がサブセグメント単位での伝送に対応することを認識することができる。 In step S141, the communication control unit 227 of the client 202 controls the transmission unit 222 to transmit control data (capability (subSegment = true), openMedia, playStream) to the server 201. As a result, the capability of the client 202 is notified, and a request is made to start the stream by specifying the media. At this time, when the capability can support transmission in units of subsegments, the communication control unit 227 of the client 202 controls the transmission unit 222 to confirm that transmission in units of subsegments is possible. Information (subSegment = true) is transmitted to the server 201. Accordingly, the communication control unit 214 of the server 201 can recognize that the client 202 supports transmission in units of subsegments.
 サーバ201の通信制御部214は、この要求に従って、記憶部213よりクライアント202により指定されたメディアのメディア情報を読み出し、ステップS142において、送信部212を制御して、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 In accordance with this request, the communication control unit 214 of the server 201 reads the media information of the media designated by the client 202 from the storage unit 213, controls the transmission unit 212 in step S142, and sends control data (mediaInfo) to the client 202. The media information is returned by sending to.
 そして、サーバ201の通信制御部214は、ステップS143において、送信部212を制御して、図32の最左部で示されるようにコントロールデータ(streamInfo(RepID 1,SegmentNo 1,SubsegmentNo, SAPType 1))からなるコントロールフレーム(Control Frame)をクライアント202に送信させて、次に伝送されるサブセグメントの属性を通知する。 Then, in step S143, the communication control unit 214 of the server 201 controls the transmission unit 212 to control data (streamInfo (RepID 1, SegmentNo 1, SubsegmentNo, SAPType 1) as shown in the leftmost part of FIG. ) Is transmitted to the client 202, and the attribute of the sub-segment to be transmitted next is notified.
 図32は、図中の左右に異なるリプレゼンテーションの2個のセグメントデータが、それぞれ2個のサブセグメントデータから構成されるときに送信されるコントロールデータからなるコントロールフレーム(Control Frame)と、サブセグメントデータからなるメディアデータフレーム(Media Data Frame)の送信順序を説明する図である。 FIG. 32 shows a control frame (Control Frame) composed of control data transmitted when two segment data of different representations on the left and right in the figure are each composed of two subsegment data, and a subsegment It is a figure explaining the transmission order of the media data frame (Media | Data | Data | Frame) consisting of data.
 すなわち、図32には、左からリプレゼンテーションがvideo1(RepID : video1)のセグメント番号が1となる(Segment No 1)セグメントデータが送信されるときの手順と、リプレゼンテーションがvideo2(RepID : video2)のセグメント番号が2となる(Segment No 2)のセグメントデータが送信されるときの手順が示されている。 That is, in FIG. 32, from the left, the representation is video1 (RepID: video1) and the segment number is 1 (Segment No 1). The procedure when segment data is transmitted and the representation is video2 (RepID: video2) The procedure is shown when segment data with a segment number of 2 (Segment No 2) is transmitted.
 サブセグメントデータは、例えば、セグメントデータがMPEGの画像データであるような場合における、GOP(Group of Picture)であり、セグメントデータの構成単位よりも、より小さなデータサイズの構成単位のデータである。 The sub-segment data is, for example, GOP (Group of Picture) in a case where the segment data is MPEG image data, and is data of a constituent unit having a smaller data size than the constituent unit of the segment data.
 この場合、図32で示されるように、サブセグメント単位で伝送が行われるので、サブセグメント単位で、コントロールデータも構成される。 In this case, as shown in FIG. 32, since transmission is performed in units of sub-segments, control data is also configured in units of sub-segments.
 従って、図32においては、図中の左側のセグメントデータに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 1, SAPType 1))からなるコントロールデータフレーム(Control Frame)が送信される。 Therefore, in FIG. 32, the control data (streamInfo (RepID video1, SegmentNo.1) is transmitted at the timing before the first subsegment data (Media Data Frame: Segment Data of Subsegment 1) for the left segment data in the figure is transmitted. 1, a control data frame (Control Frame) consisting of SubsegmentNo 1, SAPType 1)) is transmitted.
 同様に、図32中の左側のセグメントデータに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))からなるコントロールデータフレーム(Control Frame)が送信される。 Similarly, the control data (streamInfo (RepID video1, SegmentNo 1, SubsegmentNo.1) is sent at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the left segment data in FIG. 2, a control data frame (Control Frame) consisting of SAPType 3)) is transmitted.
 引き続き、図32中の右側のセグメントデータに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 1))からなるコントロールデータフレーム(Control Frame)が送信される。 Subsequently, the control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 1) is sent at the timing before the first subsegment data (Media Data : Frame: Segment Data of Subsegment 1) for the segment data on the right side in FIG. 32 is transmitted. , SAPType 1)), a control data frame (Control Frame) is transmitted.
 そして、図中の右側のセグメントに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 2, SAPType 2))からなるコントロールデータフレーム(Control Frame)が送信される。 The control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 2, segmentSAPType) is sent at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the right segment in the figure is transmitted. A control data frame consisting of 2)) is transmitted.
 ここで、図31の説明に戻る。 Here, the description returns to FIG.
 従って、この場合、サーバ201の通信制御部214は、ステップS144において、送信部212を制御して、図31中の左側のセグメントに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1(RepID video1,SegmentNo 1,SubsegmentNo 1, SAPType 1))を送信する。 Therefore, in this case, in step S144, the communication control unit 214 of the server 201 controls the transmission unit 212 to perform the first subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 1 for the left segment in FIG. (RepID video1, SegmentNo 1, SubsegmentNo 1, SAPType 1)).
 クライアント202の通信制御部227は、受信部221を制御して、このセグメントデータを受信して、バッファ223に記憶させる。このとき、再生処理部224は、バッファ223にバッファリングされたセグメントデータのデコードを開始する。ステップS145において、通信制御部227は、送信部222を制御して、コントロールデータ(playerInfo)をサーバ201に送信することで、再生処理部224におけるストリームのデコードを開始してからの経過時間を通知する。この際、クライアント202は、サブセグメント単位のセグメントデータよりも、より小さなデータに基づいて画像を表示する処理を実行することができるので、より高速に画像を表示することが可能となる。 The communication control unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and store it in the buffer 223. At this time, the reproduction processing unit 224 starts decoding the segment data buffered in the buffer 223. In step S145, the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo) to the server 201, thereby notifying the elapsed time from the start of the stream decoding in the reproduction processing unit 224. To do. At this time, the client 202 can execute a process of displaying an image based on smaller data than the segment data in sub-segment units, so that the image can be displayed at a higher speed.
 そして、サーバ201の通信処理部214は、ステップS146において、送信部212を制御して、図32の左側のセグメントデータのうちの2番目のサブセグメントデータのコントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))からなるコントロールフレーム(Control Frame)をクライアント202に送信して、次に伝送されるサブセグメントの属性を通知する。 In step S146, the communication processing unit 214 of the server 201 controls the transmission unit 212 to control the second sub-segment data of the segment data on the left side of FIG. 32 (streamInfo (RepIDpvideo1, SegmentNo 1) , SubsegmentNo 2, SAPType 3)) is transmitted to the client 202, and the attribute of the next subsegment to be transmitted is notified.
 従って、この場合、サーバ201の通信制御部214は、ステップS147において、送信部212を制御して、図32中の左側のセグメントに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))を送信する。 Accordingly, in this case, in step S147, the communication control unit 214 of the server 201 controls the transmission unit 212, and the second subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 2 for the left segment in FIG. 32). (RepID video1, SegmentNo 1, SubsegmentNo 2, SAPType 3)).
 ここで、ユーザにより再生停止が指示された場合、クライアント202の通信制御部227は、ステップS148において、送信部222を制御して、コントロールデータ(closeMedia,stopStream)をサーバ201に送信する。これにより、クライアント202の再生処理部224は、バッファ223に記憶されている、受信したセグメントの再生をすべて終了する。ここで、通信処理部227は、送信部222を制御して、メディアをクローズすることをサーバ201に通知する。 Here, when playback stop is instructed by the user, the communication control unit 227 of the client 202 controls the transmission unit 222 to transmit control data (closeMedia, stopStream) to the server 201 in step S148. As a result, the playback processing unit 224 of the client 202 ends the playback of all received segments stored in the buffer 223. Here, the communication processing unit 227 controls the transmission unit 222 to notify the server 201 that the medium is to be closed.
 サーバ201の通信処理部214は、受信部211を制御して、コントロールデータ(closeMedia,stopStream)を受信すると、メディアの情報を破棄し、停止処理を開始する。そして、ステップS149において、サーバ201の通信処理部214は、送信部212を制御して、コントロールデータ(MediaStatus)をクライアント202に送信する。 When the communication processing unit 214 of the server 201 controls the receiving unit 211 and receives control data (closeMedia, stopStream), the communication information is discarded and the stop process is started. In step S 149, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (MediaStatus) to the client 202.
 しかしながら、サーバ201の通信制御部214は、送信部212を制御して、サブセグメント単位の処理であることから、送信が開始された処理を停止することができないので、例えば、ステップS150において、引き続き図32の右側のセグメントデータのうちの1番目のサブセグメントデータのコントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 2))からなるコントロールフレーム(Control Frame)をクライアント202に送信して、次に伝送されるサブセグメントの属性を通知する。 However, since the communication control unit 214 of the server 201 controls the transmission unit 212 to perform processing in units of sub-segments and cannot stop the processing for which transmission has been started, for example, in step S150, it continues. A control frame (Control Frame) composed of control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 1, SAPType 2)) of the first subsegment data in the segment data on the right side of FIG. Then, the attribute of the sub-segment to be transmitted next is notified.
 そして、サーバ201の通信制御部214は、ステップS151において、送信部212を制御して、図32中の右側のセグメントに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 2))を送信する。 Then, in step S151, the communication control unit 214 of the server 201 controls the transmission unit 212 so that the first subsegment data (Media Data Frame: Segment Data Data of Data Subsegment 1 (RepID video 2) for the right segment in FIG. , SegmentNo 2, SubsegmentNo 1, SAPType 2)).
 最後に、ステップS152において、サーバ201の通信制御部214は、送信部212を制御して、動作の停止をクライアントに通知する。 Finally, in step S152, the communication control unit 214 of the server 201 controls the transmission unit 212 to notify the client of the operation stop.
 以上の如く、セグメントデータ単位よりも、より小さなサブセグメント単位で、コントロールデータStreamInfo(SegmentNo,SubSegmentNo,SAP Type)を付して、管理することで、画像の再生表示時間、停止完了までの時間、およびコンテンツの切り替え等をより高速に実現することが可能となる。すなわち、上述したように、送信が開始された処理については停止できないため、サブセグメントデータのようにセグメントデータより小さな単位で送信を管理することで、画像の再生表示時間、停止完了までの時間、およびコンテンツの切り替え等をより高速に実現することが可能となる。 As described above, control data StreamInfo (SegmentNo, SubSegmentNo, SAP Type) is attached and managed in sub-segment units smaller than the segment data unit, so that the image playback display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed. That is, as described above, since the process for which transmission has been started cannot be stopped, by managing transmission in units smaller than segment data, such as sub-segment data, the image display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed.
 また、例えば、ライブ放送では、例えば、GOP単位でサブセグメントを構成することで、伝送遅延をより短縮させることが可能となる。さらに、MPDにサブセグメントの情報がない場合、サーバ201の通信制御部214は、セグメントデータを解析(パース)して、可能であればサブセグメントに分割して、サブセグメント単位で伝送するようにしてもよく、このようにすることで、セグメントデータの管理を、より迅速なものとすることが可能となる。結果として、再生における操作性を向上させることが可能となる。 Also, for example, in live broadcasting, for example, it is possible to further reduce transmission delay by configuring subsegments in GOP units. Further, when there is no sub-segment information in the MPD, the communication control unit 214 of the server 201 analyzes (parses) the segment data, divides it into sub-segments if possible, and transmits them in units of sub-segments. In this case, the segment data can be managed more quickly. As a result, it is possible to improve the operability in reproduction.
 <5.第4の実施の形態>
  <Auto Segment Skip for Live Streaming>
 次に、図33を参照して、本技術を適用した第4の実施の形態について説明する。
<5. Fourth Embodiment>
<Auto Segment Skip for Live Streaming>
Next, a fourth embodiment to which the present technology is applied will be described with reference to FIG.
 図33には、ライブ再生でネットワーク輻輳が発生した場合に行われるシーケンスが示されている。 FIG. 33 shows a sequence performed when network congestion occurs during live playback.
 例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS161において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。ここで、上述した図20に示したようにcapabilityでは、segmentSkipにより、セグメントスキップに対応可能であるか否かを指定することができ、図33の例では、セグメントスキップに対応可能であることを指定する“true”とされている。 For example, when the user performs an operation on the client 202 so as to start live reproduction, the processing is started. In step S161, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium. Here, as shown in FIG. 20 described above, in capability, it is possible to specify whether segment skip can be supported by segmentSkip. In the example of FIG. 33, it is possible to handle segment skip. It is set to “true”.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS162において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S162.
 ここで、例えば、ライブ放送が既に始まっている場合は、最新のセグメントから伝送が行われる。サーバ201は、ステップS163において、コントロールデータ(streamInfo)をクライアント202に送信するのに続いて、ステップS164において、セグメントデータ(MediaDisc 1, SegmentNo 1699)をクライアント202に送信する。 Here, for example, when live broadcasting has already started, transmission is performed from the latest segment. In step S163, the server 201 transmits segment data (MediaDiscDis1, SegmentNo 1699) to the client 202 in step S164 after transmitting the control data (streamInfo) to the client 202.
 その後、セグメントデータの送信が順次行われ、サーバ201は、ステップS165において、コントロールデータ(streamInfo)を送信し、続いて、ステップS166において、セグメントデータ(MediaDisc 1, SegmentNo 1700)を送信する。 Thereafter, the segment data is sequentially transmitted, and the server 201 transmits the control data (streamInfo) in step S165, and then transmits the segment data (MediaDisc 1, Segment No 1700) in step S166.
 クライアント202は、ステップS167において、コントロールデータ(playerInfo)をサーバ201に送信する。例えば、コントロールデータ(playerInfo)には、上述した図19に示したようにcurrentPresentationTimeおよびBufferedTimeが含まれる。 The client 202 transmits control data (playerInfo) to the server 201 in step S167. For example, the control data (playerInfo) includes currentPresentationTime and BufferedTime as shown in FIG.
 このとき、ネットワーク輻輳(Network Congestion)が発生して、サーバ201およびクライアント202の間で送受信が行うことができなくなった後、ネットワーク輻輳が解消したとする。 At this time, it is assumed that network congestion is eliminated after network congestion (Network Congestion) occurs and transmission / reception between the server 201 and the client 202 becomes impossible.
 このようにネットワーク輻輳が発生した場合、サーバ201は、前のセグメントデータ(SegmentNo 1700)の伝送に時間がかかってしまい、SegmentNo 1701を送信しても再生されないと判断した場合、SegmentNo 1701の送信をスキップする。 When network congestion occurs in this way, the server 201 takes time to transmit the previous segment data (Segment No. 1700). If it is determined that the segment No. 1701 is not reproduced, the server 201 transmits the Segment No. 1701. skip.
 即ち、サーバ201は、ステップS168およびS169において、コントロールデータ(mediaInfo)およびコントロールデータ(streamInfo)を送信した後、ステップS170において、セグメントデータ(MediaDisc 1, SegmentNo 1701)を送信する。つまり、サーバ201は、クライアント202においてライブ再生されるセグメントから送信を再開する。 That is, the server 201 transmits the control data (mediaInfo) and the control data (streamInfo) in steps S168 and S169, and then transmits the segment data (MediaDisc 1, SegmentNo 1701) in step S170. That is, the server 201 resumes transmission from the segment that is played live by the client 202.
 例えば、サーバ201は、SegmentNoおよびSubSegmentのシグナリングの他に、帯域に適応的に、クライアント202にセグメントがどのくらいバッファされているのかをシグナリングすることができる。即ち、サーバ201は、クライアント202からステップS167で送信されるコントロールデータ(playerInfo)により、currentPresentationTimeもしくはBufferedTimeをシグナリングすることができる。currentPresentationTimeは、クライアント202において再生処理部224によりストリームのデコードが開始されてからの経過時間を示す。BufferedTimeは、クライアント202のバッファ223に保持されているセグメントデータにて再生継続可能な時間を示し、仮にネットワークからセグメントデータを全く受信することができない状態において再生を継続することができる時間と同等である。 For example, in addition to SegmentNo and SubSegment signaling, the server 201 can signal how many segments are buffered to the client 202 adaptively to the bandwidth. That is, the server 201 can signal currentPresentationTime or BufferedTime by the control data (playerInfo) transmitted from the client 202 in step S167. The currentPresentationTime indicates an elapsed time since the playback processing unit 224 starts decoding the stream in the client 202. BufferedTime indicates the time during which playback can be continued with the segment data held in the buffer 223 of the client 202, and is equivalent to the time when playback can be continued in a state where no segment data can be received from the network. is there.
 従って、サーバ201は、currentPresentationTimeもしくはBufferedTimeに基づいて、送信しても再生されないと判断したセグメントの送信をスキップ(回避)してセグメントの送信を行うことができる。これにより、例えば、再生されない不要なセグメントの送信が行われないので、帯域をより有効に利用することができ、ライブ再生でネットワーク輻輳が発生した場合に適切な復帰を行うことができる。 Therefore, the server 201 can perform transmission of a segment by skipping (avoiding) transmission of a segment that is determined not to be reproduced even if it is transmitted based on currentPresentationTime or BufferedTime. Thereby, for example, since unnecessary segments that are not reproduced are not transmitted, the bandwidth can be used more effectively, and when network congestion occurs during live reproduction, appropriate restoration can be performed.
 なお、currentPresentationTimeおよびBufferedTimeを通知するコントロールデータ(playerInfo)は、毎回送信する必要はなく、例えば、クライアント202は、再生が開始された時点、または、データが枯渇して再生を再開したときに送信することができる。
 <6.第5の実施の形態>
  <Fast Switching of multiple media>
 次に、図34および図35を参照して、本技術を適用した第5の実施の形態について説明する。
Note that the control data (playerInfo) for notifying the currentPresentationTime and BufferedTime does not need to be transmitted every time. For example, the client 202 transmits when playback is started or when playback is resumed due to data depletion. be able to.
<6. Fifth embodiment>
<Fast Switching of multiple media>
Next, a fifth embodiment to which the present technology is applied will be described with reference to FIGS. 34 and 35.
 図34および図35には、複数のメディアを切り替えて再生させるシーケンスが示されている。 34 and 35 show a sequence for switching and reproducing a plurality of media.
 例えば、ユーザが、再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS181において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。 For example, when the user performs an operation on the client 202 so as to start reproduction, the processing is started. In step S181, the client 202 transmits the control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS182において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。このとき、図34の例では、再生の対象とされるメディアは、MediaDesc 1とされる。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S182. At this time, in the example of FIG. 34, the medium to be reproduced is MediaDescMedia1.
 そして、サーバ201は、ステップS183において、コントロールデータ(streamInfo)をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、サーバ201は、ステップS184において、セグメントデータ(MediaDesc 1,SegmentNo1447)をクライアント202に送信する。このとき、例えば、ライブ再生であって放送が既に始まっている場合、最新のセグメントから伝送が行われる。 In step S183, the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits the segment data (MediaDesc デ ー タ 1, SegmentNo1447) to the client 202 in step S184. At this time, for example, in the case of live reproduction and broadcasting has already started, transmission is performed from the latest segment.
 クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS185において、コントロールデータ(playerInfo)をサーバ201に送信する。 The client 202 receives this segment data and starts decoding, and transmits control data (playerInfo) to the server 201 in step S185.
 続いて、サーバ201は、セグメントデータの送信を継続し、ステップS186およびS187において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1448)を、クライアント202にそれぞれ送信する。 Subsequently, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1448) to the client 202 in steps S186 and S187, respectively.
 クライアント202は、このセグメントデータを受信してデコード行う一方で、ステップS188において、コントロールデータ(openMedia)をサーバ201送信し、別のメディアを指定してオープンするように要求する。 While the client 202 receives and decodes the segment data, in step S188, the client 202 transmits the control data (openMedia) to the server 201 and requests to open by designating another medium.
 サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS189において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。このとき、図34の例では、オープンされるメディアは、再生中のMediaDesc 1とは別のMediaDesc 2とされる。 In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S189. At this time, in the example of FIG. 34, the opened media is set to MediaDesc 2 that is different from MediaDesc 1 that is being reproduced.
 そして、サーバ201は、セグメントデータの送信を継続し、ステップS190およびS191において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1449)を、クライアント202にそれぞれ送信する。続いて、図35に示すように、ステップS192およびS193において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1450)を、クライアント202にそれぞれ送信する。 The server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDescMedia1, SegmentNo1449) to the client 202 in steps S190 and S191, respectively. Subsequently, as shown in FIG. 35, in steps S192 and S193, control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1450) are transmitted to the client 202, respectively.
 このとき、ユーザが、メディアを切り替えるようにクライアント202に対する操作を行うと、ステップS194において、クライアント202は、コントロールデータ(changeMedia)をサーバ201送信し、ストリームされるメディアをMediaDesc 2に切り替えるようにサーバ201に対して要求する。 At this time, when the user performs an operation on the client 202 so as to switch the media, in step S194, the client 202 transmits control data (changeMedia) to the server 201, and the server is configured to switch the streamed media to MediaDesc 2. Request to 201.
 ここで、MediaDesc 2のメディア情報は、図34のステップS189で既にクライアント202に送信されている。従って、サーバ201は、ステップS195において、コントロールデータ(streamInfo)を送信するのに続いて、ステップS196において、セグメントデータ(MediaDesc 2,SegmentNo7337)を送信する。これにより、途切れなくストリーム再生が継続される。 Here, the media information of MediaDesc 2 has already been transmitted to the client 202 in step S189 in FIG. Therefore, the server 201 transmits segment data (MediaDesc 2, SegmentNo7337) in step S196, following the transmission of the control data (streamInfo) in step S195. Thereby, stream reproduction is continued without interruption.
 そして、サーバ201は、セグメントデータの送信を継続し、ステップS197およびS198において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 2,SegmentNo7338)を、クライアント202にそれぞれ送信する。 Then, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 2, SegmentNo7338) to the client 202 in steps S197 and S198, respectively.
 また、ユーザが再度、メディアを切り替えるようにクライアント202に対する操作を行うと、ステップS199において、クライアント202は、コントロールデータ(changeMedia)をサーバ201に送信し、ストリームされるメディアをMediaDesc 1に切り替えるようにサーバ201に対して要求する。 When the user performs an operation on the client 202 again to switch the media, in step S199, the client 202 transmits control data (changeMedia) to the server 201 and switches the streamed media to MediaDescMedia1. Request to the server 201.
 ここで、MediaDesc 1のメディア情報は、図34のステップS182で既にクライアント202に送信されている。従って、サーバ201は、ステップS200において、コントロールデータ(streamInfo)を送信するのに続いて、ステップS201において、セグメントデータ(MediaDesc 1,SegmentNo1452)を送信する。このとき、サーバ201は、ライブ再生であれば最新のセグメントから送信を行い、VOD再生であれば、前回のメディアのセグメントの続きから送信を行う。 Here, the media information of MediaDesc-1 has already been transmitted to the client 202 in step S182 of FIG. Accordingly, the server 201 transmits segment data (MediaDesc 1, SegmentNo1452) in step S201 following transmission of control data (streamInfo) in step S200. At this time, the server 201 transmits from the latest segment in the case of live playback, and transmits from the continuation of the previous media segment in the case of VOD playback.
 そして、サーバ201は、セグメントデータの送信を継続し、ステップS202およびS203において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1453)を、クライアント202にそれぞれ送信する。 Then, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo1453) to the client 202 in steps S202 and S203, respectively.
 このように、複数のメディアを切り替えて再生する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。 In this way, a process of switching and reproducing a plurality of media is performed, and similarly, segment data is transmitted from the server 201 to the client 202.
 以上のように、サーバ201は、クライアント202の要求に応じて複数のメディアをあらかじめオープンしておくことができる。これにより、クライアント202が、ストリーム中にコントロールデータ(changeMedia)を送信することで、サーバ201は、各メディアのセグメントを切れ目なく送信することができる。即ち、クライアント202は、メディアを切り替える際に新しいMPD(メディア情報)をロードする処理が不要になるので、チャンネルをスムーズに高速に切り替えて、メディアを再生することができる。 As described above, the server 201 can open a plurality of media in advance in response to a request from the client 202. Thus, the client 202 transmits the control data (changeMedia) in the stream, so that the server 201 can transmit the segments of each medium without breaks. That is, since the client 202 does not need to load a new MPD (media information) when switching media, the client 202 can smoothly switch channels and play media.
 また、幾つのメディアをオープンできるのかはサーバ201の能力に依存するので、クライアント202が、サーバ201に対してメディアをオープンできるか否かを問い合わせるようにしてもよい。なお、OpenMediaおよびCloseMediaのコマンドではステートフルにMPD情報を維持できるようにされる。また、クライアント202がOpenMediaを送信するのに応じて、サーバ201はMediaDescriptorを返信する。 In addition, since how many media can be opened depends on the capability of the server 201, the client 202 may make an inquiry to the server 201 as to whether the media can be opened. It should be noted that MPD information can be maintained statefully in the OpenMedia and CloseMedia commands. Also, in response to the client 202 sending OpenMedia, the server 201 returns a MediaDescriptor.
 例えば、放送型のサービスであれば、最初から複数のメディアをオープンするようにしておくことで、高速にチャンネルを切り替えることができる。 For example, in the case of a broadcast-type service, it is possible to switch channels at high speed by opening a plurality of media from the beginning.
 <7.第6の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<7. Sixth Embodiment>
<Computer>
The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software is installed in the computer. Here, the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
 図36は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。 FIG. 36 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
 図36に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。 In a computer 900 shown in FIG. 36, a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903 are connected to each other via a bus 904.
 バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。 An input / output interface 910 is also connected to the bus 904. An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
 入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。 The input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like. The output unit 912 includes, for example, a display, a speaker, an output terminal, and the like. The storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like. The communication unit 914 includes a network interface, for example. The drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
 以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。 In the computer configured as described above, the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program, for example. Is performed. The RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.
 コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。 The program executed by the computer (CPU 901) can be recorded and applied to, for example, a removable medium 921 as a package medium or the like. In that case, the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.
 また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。 This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
 その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。 In addition, this program can be installed in the ROM 902 or the storage unit 913 in advance.
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
 また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。 In this specification, the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
 また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。 Also, in the above, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。 The preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, but the technical scope of the present disclosure is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field of the present disclosure can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that it belongs to the technical scope of the present disclosure.
 例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。 For example, the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。 Further, each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。 Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
 上述した実施形態に係る情報処理装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。 The information processing apparatus according to the above-described embodiment includes, for example, a transmitter or a receiver, an optical disc, a magnetic disc, a wired broadcast such as a satellite broadcast and a cable TV, a delivery on the Internet, and a delivery to a terminal by cellular communication. The present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a flash memory or a reproducing device that reproduces an image from the storage medium.
 なお、本技術は以下のような構成も取ることができる。
(1) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置において、
 前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信する送信部を含む
 情報処理装置。
(2) 前記送信部の動作を制御する通信制御部をさらに含み、
 前記通信制御部は、前記送信部を制御して、前記サブセグメントデータを送信させる前に、前記サブセグメントデータの属性を示すコントロールデータを前記クライアントに送信させる
 (1)に記載の情報処理装置。
(3) 前記通信制御部は、前記コンテンツデータの前記部分画像の符号化データからなるセグメントデータを解析し、解析結果に基づいて前記サブセグメントデータを生成し、前記送信部を制御して、前記クライアントに送信させる
 (2)に記載の情報処理装置。
(4) 前記クライアントからのデータを受信する受信部をさらに含み、
 前記通信制御部は、
 前記受信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を受信させ、前記受信可能情報が受信できる前記クライアントに対して、前記送信部を制御して、前記サブセグメントデータを送信させる
 (2)に記載の情報処理装置。
(5) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置の情報処理方法において、
 前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信するステップを含む
 情報処理方法。
(6) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置を制御するコンピュータに、
 前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信する
 ステップを含む処理を実行させるプログラム。
(7) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置において、
 前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信する受信部と、
 前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、
 前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部と
 を含む情報処理装置。
(8) 前記セグメントデータは、前記コンテンツデータのMPEGデータを含み、前記サブセグメントデータは、前記MPEGデータのGOPを含む
 (7)に記載の情報処理装置。
(9) 前記サーバにデータを送信する送信部と、
 前記送信部の動作を制御する通信制御部をさらに含み、
 前記通信制御部は、
 前記送信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能である場合、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を前記サーバに送信させる
 (7)に記載の情報処理装置。
(10) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置の情報処理方法において、
 前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、
 受信した前記サブセグメントデータをバッファリングし、
 バッファリングされた前記サブセグメントデータを再生する
 ステップを含む情報処理方法。
(11) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置のコンピュータに、
 前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、
 受信した前記サブセグメントデータをバッファリングし、
 バッファリングされた前記サブセグメントデータを再生する
 ステップを含む処理を実行させるプログラム。
(12) MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する、前記サーバおよび前記クライアントの機能を実現する第1および第2の情報処理装置からなる配信システムであって、
 前記第1の情報処理装置は、
  前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記第2の情報処理装置に送信する送信部を含み、
 前記第2の情報処理装置は、
  前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記第1の情報処理装置より受信する受信部と、
  前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、
  前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部と
 を含む
 配信システム。
In addition, this technique can also take the following structures.
(1) In an information processing apparatus that realizes the function of the server in a distribution system that distributes content data from a server to a client using MPEG-DASH,
An information processing apparatus comprising: a transmission unit configured to transmit encoded data for a partial image of the content data to the client in units of subsegment data smaller than segment data.
(2) further includes a communication control unit that controls the operation of the transmission unit;
The information processing apparatus according to (1), wherein the communication control unit controls the transmission unit to transmit control data indicating an attribute of the sub-segment data to the client before transmitting the sub-segment data.
(3) The communication control unit analyzes segment data composed of encoded data of the partial image of the content data, generates the sub-segment data based on an analysis result, controls the transmission unit, and The information processing apparatus according to (2), which is transmitted to a client.
(4) further including a receiving unit for receiving data from the client;
The communication control unit
The receiving unit is controlled to receive receivable information indicating that the sub-segment data can be received from the client, and the transmitting unit is controlled for the client that can receive the receivable information. The information processing apparatus according to (2), wherein the sub-segment data is transmitted.
(5) In an information processing method of an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH,
An information processing method comprising: transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
(6) A computer that controls an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH;
A program for executing processing including a step of transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
(7) In an information processing apparatus that realizes the function of the client in a distribution system that distributes content data from a server to a client using MPEG-DASH,
A receiving unit that receives encoded data of a partial image of the content data from the server in sub-segment data units smaller than segment data;
A buffering unit for buffering the sub-segment data received by the receiving unit;
An information processing apparatus comprising: a reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
(8) The information processing apparatus according to (7), wherein the segment data includes MPEG data of the content data, and the sub-segment data includes a GOP of the MPEG data.
(9) a transmission unit that transmits data to the server;
A communication control unit for controlling the operation of the transmission unit;
The communication control unit
When the sub-segment data from the client is receivable by controlling the transmission unit, receivable information indicating that the sub-segment data can be received from the client is transmitted to the server The information processing apparatus according to (7).
(10) In an information processing method of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH,
The encoded data of the partial image of the content data is received from the server in units of sub-segment data smaller than the segment data,
Buffer the received sub-segment data,
An information processing method including a step of reproducing the buffered sub-segment data.
(11) A computer of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH;
The encoded data of the partial image of the content data is received from the server in units of sub-segment data smaller than the segment data,
Buffer the received sub-segment data,
A program for executing a process including a step of reproducing the buffered sub-segment data.
(12) A distribution system including the server and the first information processing apparatus for realizing the function of the client, which distributes content data from the server to the client using MPEG-DASH,
The first information processing apparatus includes:
A transmission unit that transmits the encoded data for the partial image of the content data to the second information processing apparatus in sub-segment data units smaller than the segment data;
The second information processing apparatus
A reception unit that receives encoded data of a partial image of the content data from the first information processing apparatus in sub-segment data units smaller than segment data;
A buffering unit for buffering the sub-segment data received by the receiving unit;
A reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
 なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。 Note that the present embodiment is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present disclosure.
 100 配信システム, 101 配信データ生成装置, 102 配信サーバ, 103 端末装置, 104 ネットワーク, 201 サーバ, 202 クライアント 100 distribution system, 101 distribution data generation device, 102 distribution server, 103 terminal device, 104 network, 201 server, 202 client

Claims (12)

  1.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置において、
     前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信する送信部を含む
     情報処理装置。
    In an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH,
    An information processing apparatus comprising: a transmission unit configured to transmit encoded data for a partial image of the content data to the client in units of subsegment data smaller than segment data.
  2.  前記送信部の動作を制御する通信制御部をさらに含み、
     前記通信制御部は、前記送信部を制御して、前記サブセグメントデータを送信させる前に、前記サブセグメントデータの属性を示すコントロールデータを前記クライアントに送信させる
     請求項1に記載の情報処理装置。
    A communication control unit for controlling the operation of the transmission unit;
    The information processing apparatus according to claim 1, wherein the communication control unit controls the transmission unit to transmit control data indicating an attribute of the sub-segment data to the client before transmitting the sub-segment data.
  3.  前記通信制御部は、前記コンテンツデータの前記部分画像の符号化データからなるセグメントデータを解析し、解析結果に基づいて前記サブセグメントデータを生成し、前記送信部を制御して、前記クライアントに送信させる
     請求項2に記載の情報処理装置。
    The communication control unit analyzes segment data including encoded data of the partial image of the content data, generates the sub-segment data based on the analysis result, and controls the transmission unit to transmit to the client The information processing apparatus according to claim 2.
  4.  前記クライアントからのデータを受信する受信部をさらに含み、
     前記通信制御部は、
     前記受信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を受信させ、前記受信可能情報が受信できる前記クライアントに対して、前記送信部を制御して、前記サブセグメントデータを送信させる
     請求項2に記載の情報処理装置。
    A receiver for receiving data from the client;
    The communication control unit
    The receiving unit is controlled to receive receivable information indicating that the sub-segment data can be received from the client, and the transmitting unit is controlled for the client that can receive the receivable information. The information processing apparatus according to claim 2, wherein the sub-segment data is transmitted.
  5.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置の情報処理方法において、
     前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信するステップを含む
     情報処理方法。
    In an information processing method of an information processing apparatus that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH,
    An information processing method comprising: transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
  6.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記サーバの機能を実現する情報処理装置を制御するコンピュータに、
     前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記クライアントに送信する
     ステップを含む処理を実行させるプログラム。
    A computer that controls an information processing device that realizes the function of the server of a distribution system that distributes content data from a server to a client using MPEG-DASH.
    A program for executing processing including a step of transmitting encoded data for a partial image of the content data to the client in units of sub-segment data smaller than segment data.
  7.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置において、
     前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信する受信部と、
     前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、
     前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部と
     を含む情報処理装置。
    In an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH,
    A receiving unit that receives encoded data of a partial image of the content data from the server in sub-segment data units smaller than segment data;
    A buffering unit for buffering the sub-segment data received by the receiving unit;
    An information processing apparatus comprising: a reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
  8.  前記セグメントデータは、前記コンテンツデータのMPEGデータを含み、前記サブセグメントデータは、前記MPEGデータのGOPを含む
     請求項7に記載の情報処理装置。
    The information processing apparatus according to claim 7, wherein the segment data includes MPEG data of the content data, and the sub-segment data includes a GOP of the MPEG data.
  9.  前記サーバにデータを送信する送信部と、
     前記送信部の動作を制御する通信制御部をさらに含み、
     前記通信制御部は、
     前記送信部を制御して、前記クライアントからの前記サブセグメントデータの受信が可能である場合、前記クライアントからの前記サブセグメントデータの受信が可能であることを示す受信可能情報を前記サーバに送信させる
     請求項7に記載の情報処理装置。
    A transmission unit for transmitting data to the server;
    A communication control unit for controlling the operation of the transmission unit;
    The communication control unit
    When the sub-segment data from the client is receivable by controlling the transmission unit, receivable information indicating that the sub-segment data can be received from the client is transmitted to the server The information processing apparatus according to claim 7.
  10.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置の情報処理方法において、
     前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、
     受信した前記サブセグメントデータをバッファリングし、
     バッファリングされた前記サブセグメントデータを再生する
     ステップを含む情報処理方法。
    In an information processing method of an information processing apparatus that realizes the function of the client of a distribution system that distributes content data from a server to a client using MPEG-DASH,
    The encoded data of the partial image of the content data is received from the server in units of sub-segment data smaller than the segment data,
    Buffer the received sub-segment data,
    An information processing method including a step of reproducing the buffered sub-segment data.
  11.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する配信システムの前記クライアントの機能を実現する情報処理装置のコンピュータに、
     前記コンテンツデータの部分画像の符号化データを、セグメントデータより小さいサブセグメントデータ単位で前記サーバより受信し、
     受信した前記サブセグメントデータをバッファリングし、
     バッファリングされた前記サブセグメントデータを再生する
     ステップを含む処理を実行させるプログラム。
    In the computer of the information processing apparatus that realizes the function of the client of the distribution system that distributes content data from the server to the client using MPEG-DASH,
    The encoded data of the partial image of the content data is received from the server in units of sub-segment data smaller than the segment data,
    Buffer the received sub-segment data,
    A program for executing a process including a step of reproducing the buffered sub-segment data.
  12.  MPEG-DASHを利用してコンテンツデータをサーバからクライアントに配信する、前記サーバおよび前記クライアントの機能を実現する第1および第2の情報処理装置からなる配信システムであって、
     前記第1の情報処理装置は、
      前記コンテンツデータの部分画像に対する符号化データを、セグメントデータよりも小さいサブセグメントデータ単位で前記第2の情報処理装置に送信する送信部を含み、
     前記第2の情報処理装置は、
      前記コンテンツデータの部分画像の符号化データを、前記セグメントデータより小さいサブセグメントデータ単位で前記第1の情報処理装置より受信する受信部と、
      前記受信部により受信した前記サブセグメントデータをバッファリングするバッファリング部と、
      前記バッファリング部にバッファリングされた前記サブセグメントデータを再生する再生部と
     を含む
     配信システム。
    A distribution system including first and second information processing apparatuses for realizing the functions of the server and the client, which distributes content data from the server to the client using MPEG-DASH,
    The first information processing apparatus includes:
    A transmission unit that transmits the encoded data for the partial image of the content data to the second information processing apparatus in sub-segment data units smaller than the segment data;
    The second information processing apparatus
    A reception unit that receives encoded data of a partial image of the content data from the first information processing device in sub-segment data units smaller than the segment data;
    A buffering unit for buffering the sub-segment data received by the receiving unit;
    A reproduction unit that reproduces the sub-segment data buffered in the buffering unit.
PCT/JP2015/067236 2014-06-30 2015-06-16 Information processing device and method, distribution system, and program WO2016002498A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-135149 2014-06-30
JP2014135149 2014-06-30

Publications (1)

Publication Number Publication Date
WO2016002498A1 true WO2016002498A1 (en) 2016-01-07

Family

ID=55019045

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/067236 WO2016002498A1 (en) 2014-06-30 2015-06-16 Information processing device and method, distribution system, and program

Country Status (1)

Country Link
WO (1) WO2016002498A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046928A (en) * 2001-08-03 2003-02-14 Fujitsu Ltd Network image reproduction method and compression image data decoding reproduction apparatus
JP2007150838A (en) * 2005-11-29 2007-06-14 Toshiba Corp Content synchronization system
JP2014505295A (en) * 2011-01-04 2014-02-27 トムソン ライセンシング Apparatus and method for transmitting live media content
WO2014057896A1 (en) * 2012-10-09 2014-04-17 シャープ株式会社 Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046928A (en) * 2001-08-03 2003-02-14 Fujitsu Ltd Network image reproduction method and compression image data decoding reproduction apparatus
JP2007150838A (en) * 2005-11-29 2007-06-14 Toshiba Corp Content synchronization system
JP2014505295A (en) * 2011-01-04 2014-02-27 トムソン ライセンシング Apparatus and method for transmitting live media content
WO2014057896A1 (en) * 2012-10-09 2014-04-17 シャープ株式会社 Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium

Similar Documents

Publication Publication Date Title
US11979621B2 (en) Advanced trick-play modes for streaming video
US11516542B2 (en) Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
US11272232B2 (en) Synchronizing multiple over the top streaming clients
US10728601B2 (en) Enhanced streaming source change
US9584557B2 (en) Proxy for facilitating streaming of media from server to client
US10826963B2 (en) Reducing latency for streaming video
JP2021040342A (en) System and method for providing audio content during trick-play playback
WO2018103696A1 (en) Media file playback method, server, client, and system
US9516357B2 (en) Recording variable-quality content stream
US10687106B2 (en) System and method for distributed control of segmented media
JP7025446B2 (en) Real-time capture of user-generated content into a third-party content stream
JP2016015534A (en) Information processor and method
JP2016015533A (en) Information processor and method
WO2016002498A1 (en) Information processing device and method, distribution system, and program
WO2016002497A1 (en) Information processing device and method, distribution system, and program
JP7365212B2 (en) Video playback device, video playback system, and video playback method
US11856242B1 (en) Synchronization of content during live video stream
EP3732888B1 (en) Reducing latency for streaming video
CA3050636C (en) Reducing latency for streaming video
US20210392384A1 (en) Distribution system, information processing server, and distribution method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15814266

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: JP

122 Ep: pct application non-entry in european phase

Ref document number: 15814266

Country of ref document: EP

Kind code of ref document: A1