[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2005006748A1 - メディア再生装置 - Google Patents

メディア再生装置 Download PDF

Info

Publication number
WO2005006748A1
WO2005006748A1 PCT/JP2003/008811 JP0308811W WO2005006748A1 WO 2005006748 A1 WO2005006748 A1 WO 2005006748A1 JP 0308811 W JP0308811 W JP 0308811W WO 2005006748 A1 WO2005006748 A1 WO 2005006748A1
Authority
WO
WIPO (PCT)
Prior art keywords
media
time
video
playback
decoder
Prior art date
Application number
PCT/JP2003/008811
Other languages
English (en)
French (fr)
Inventor
Seiya Shimizu
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2005503858A priority Critical patent/JP4134164B2/ja
Priority to PCT/JP2003/008811 priority patent/WO2005006748A1/ja
Publication of WO2005006748A1 publication Critical patent/WO2005006748A1/ja
Priority to US11/260,296 priority patent/US20060034583A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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 encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8541Content authoring involving branching, e.g. to different story endings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs

Definitions

  • the present invention relates to a media playback device, and more particularly to a media playback device that plays back streaming media.
  • Streaming media refers to media such as audio and video that are played back over time. Streaming media does not need to be transmitted in its entirety when the client-side software plays it, but only as much data as necessary to be played at a given moment. For this reason, the client can play back the file while receiving it (the client terminal does not need to store a large amount of data). You can see it in
  • Examples of the use of streaming media distribution include interactive dramas and e-Lerning.
  • An interactive drama is a type of broadcast in which the progress of the drama changes based on the instructions of the viewer.For example, every time a viewer gives an instruction on behalf of the hero in the drama, the server sends an instruction It distributes video images of scenes based on these.
  • E-Learning is an educational system that accesses a server from a home computer via a network and uses the teaching material content stored in the server to learn. Get the level of learning that is right for you without any restrictions. On the server side, the student's learning progress and the questions and answers submitted by the student Based on this, it distributes educational material videos with varying degrees of difficulty.
  • FIG. 26 is a diagram showing the occurrence of a non-display section at a video joint. It is assumed that the video V1 is reproduced, the video VI ends at the time t1, and after the time t1, either the video V2-1 or the video V2-2 is reproduced (branched reproduction).
  • a client may issue a scene change instruction while a video VI drama is in progress and change to either video V2-1 or video V2-2 at time t1.
  • video V2 when a client answers a question of the teaching material of video V1, depending on the correctness of the answer, video V2—1, video V2 of different difficulty at time t1 -It is a case where you change to one of the teaching materials in 2.
  • FIG. 27 is a diagram showing the reason why a non-display section occurs.
  • the receiving decoder module performs video VI termination processing, performs video V2-1 initialization processing, and then performs playback processing. . Therefore, when the streaming playback of a streaming video is performed by one decoder module, the time required for the end processing of the preceding video and the time required for the initialization processing of the subsequent video at the seam of the video are represented by ⁇ e + A time lag of ⁇ s occurs, during which time the video cannot be displayed.
  • Patent Document 1
  • Patent Document 2
  • JP-A-7-79399 (paragraph numbers [0006] to [0007], FIG. 1)
  • Japanese Patent Laid-Open No. 2001-203977 Although a plurality of videos to be played are connected, it is premised that the connection of the videos is uniquely determined in advance, and the parameter for specifying the branch is not used. Until given, it cannot be applied to interactive dramas or services such as e-Learning where you know which videos are forked.
  • the present invention has been made in view of such a point, and eliminates a non-display section that has occurred at a joint of respective videos, and realizes media playback that realizes seamless playback of streaming media with branch playback. It is intended to provide a device.
  • a media playback device 20 that performs continuous playback or branch playback after playback of one media is used.
  • Playback of one media Scheduling unit 21 that performs scheduling so as to remove the time lag from the processing end time to the reproduction processing start time of the other medium, and a plurality of decoders 2 that perform decoding processing of the media allocated based on the scheduling in parallel.
  • a decoding processing unit 22 including 2 — 1 to 2 2 — n and a display control unit 23 for switching the reproduction output from the decoder 2 2 — 1 to 2 2 — n and displaying the reproduced media.
  • a media playback device 20 is provided, comprising:
  • the scheduling unit 21 generates a time lag from the end of the reproduction processing of one medium to the start of the reproduction processing of the other medium with respect to the other medium that is continuously or branchedly reproduced after the reproduction of one medium.
  • Scheduling to remove The decoding processing unit 22 includes a plurality of decoders 22-1 to 22-n that perform decoding processing of media distributed based on scheduling in parallel.
  • the display control unit 23 switches the reproduction output from the decoders 22-1 to 22-n, and displays the reproduced media.
  • FIG. 1 is a diagram illustrating the principle of a media playback apparatus according to the present invention.
  • FIG. 2 is a diagram showing streaming video reproduction without a non-display section according to the present invention.
  • FIG. 3 is a diagram showing a configuration of a streaming media distribution system.
  • FIG. 4 is a diagram showing a configuration of a streaming media distribution system.
  • FIG. 5 is a diagram illustrating a scheduling operation.
  • FIG. 6 is a diagram showing the structure of a video source.
  • FIG. 7 is a diagram showing the structure of a video source.
  • Figure 8 shows the structure of the sub-scenario.
  • Figure 9 shows the structure of the scenario.
  • FIG. 10 is a diagram showing an example of the scenario content in the XML format.
  • FIG. 11 is a diagram illustrating an example of a sub-scenario.
  • FIG. 12 is a diagram showing an example of a sub-scenario.
  • FIG. 13 is a diagram showing an example of a sub-scenario.
  • FIG. 14 is a diagram showing a video satisfying the three conditional expressions.
  • FIG. 15 is a diagram showing conditions for selecting a decoder.
  • FIG. 16 is a diagram showing conditions for selecting a decoder.
  • FIG. 17 is a flowchart showing the decoder allocation algorithm.
  • FIG. 18 is a flowchart showing a decoder allocation algorithm.
  • FIG. 19 is a diagram showing the configuration of the scenario management unit.
  • FIG. 20 is a diagram showing a state transition of the synchronous controller.
  • FIG. 21 is a diagram illustrating a state in which the initialization process is being performed.
  • FIG. 22 is a diagram showing a state in which the reproduction process is being performed.
  • FIG. 23 is a diagram illustrating a state in which the termination process is being performed.
  • FIG. 24 is a diagram showing a state transition of the video player.
  • FIG. 25 is a diagram showing switching between visible and invisible for the video player.
  • FIG. 26 is a diagram showing the occurrence of a non-display section at a video joint.
  • FIG. 27 is a diagram illustrating the reason for the occurrence of the non-display section. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a diagram showing the principle of a media reproducing apparatus according to the present invention.
  • the media playback device 20 is a device that switches between a plurality of video sources by an arbitrary operation of a client and plays and displays streaming media.
  • Application fields include interactive dramas through streaming distribution, and e-Lerning, which changes the degree of difficulty depending on students' learning progress and answers.
  • the scheduling unit 21 starts the reproduction process of the other media source from the end time of the reproduction process of the one media source for the other media source that performs the continuous reproduction or the branch reproduction after the reproduction of the one media source (streaming video). Scheduling is performed to eliminate the time lag until the time. Specifically, based on the scenario information, by the end of the playback processing of one media source, After the initialization processing of one media source is completed, scheduling is performed so that the reproduction processing of the other media source becomes possible from the reproduction processing end time.
  • the decoding processing unit 22 includes a plurality of decoders 22-1 to 22-n (generally referred to as decoders 22). Decoders 2 2 _:! To 2 2-n are the decoding processes of the media sources distributed (hereinafter, also referred to as allocations) based on the scheduling (decoding: three processes: initialization, playback, and termination) ) In parallel.
  • the decoding processing unit 22 has a streaming buffer, and in order to reduce network instability and perform stable video playback, the streaming buffer uses a few seconds to several seconds. Decoding is performed after temporarily storing a 10-second bit stream.
  • the display control unit 23 includes a display switching switch 23a and a display unit 23b.
  • the display control unit 23 switches the reproduction output from the decoders 22-1 to 22_n, and reproduces the reproduced media source. Is displayed.
  • the media source means a single medium.
  • media and media sources are also called video and video source.
  • FIG. 2 is a diagram showing a streaming video reproduction without a non-display section according to the present invention.
  • multiple decoders may be prepared and video decoding may be performed in parallel.
  • Video VI and V2 are distributed to decoders 2 2-1 and 2 2-2.
  • Decoding of video V 1 is performed by decoder 22-1
  • decoding of video V 2 is performed by decoder 22-2. Assumed to be performed.
  • the scheduling unit 21 determines that at least the initialization processing of the video V2 has been completed by the playback processing end time t1 of the video V1 (branch playback time).
  • the scheduling may be performed so that the playback processing of the video V2 can be started from the time t1.
  • the decoder 22-1 performs the playback processing of the video VI from the time t0, and the decoder 22-2 performs the time (tl-A s)
  • the initialization process of the video V2 is started (that is, tO ⁇ ti ⁇ (t-As), where ti is the initialization start time of the video V2).
  • the decoder 22-1 ends the video VI playback processing and performs end processing (the time required for the end processing is A e).
  • the processing is performed (in the figure, the reproduction processing of the video V2 is completed at time t2).
  • video VIs and V2s are assigned to the decoders 2 2-1 and 2 2-2, and decoding is performed (by scheduling), and the display switching switch 23 a is used to decode the decoder 2 from time t 0 to t 1.
  • Select output 1 and time t 1 ⁇ ! By selecting the output of Decoder 2 2-2 up to 2, it is possible to display a seamless video without any non-display section on the display 23 b.
  • FIG. 3 and Fig. 4 are diagrams showing the configuration of the streaming media distribution system.
  • the streaming media distribution system 1 includes a media distribution server 10 shown in FIG. 3 and a media playback device 20 shown in FIG. 4, and distributes streaming media via the network 3.
  • the media distribution server 10 includes a streaming server 11 and a content server 12.
  • the streaming server 11 stores and manages various video contents of video VI to video Vn.
  • the streaming server 11 is a normal HTTP server, and corresponds to an existing product such as Real Server or Windows Media Server. Depending on the scenario, multiple streamers will be used.
  • the content server 12 stores and manages the scenarios of video V1 to video Vn.
  • a scenario describes the playback procedure of video content. For example, after playing video A from time ta to time tb, branch to video B The playback procedure (playback order, branch condition, etc.) is described, such as playback from time tc to time td.
  • the media playback device 20 includes a scenario management unit (corresponding to the scheduling unit 21) 21a, a decoding processing unit 22, a display control unit 23, an overall control unit 24, and a user interface unit 25. Be composed.
  • the user interface unit 25 provides a GUI (Graphical User Interface) for the client to specify the scenario to be played (URL input), play, stop, or pause the scenario.
  • GUI Graphic User Interface
  • the setting of the branching parameters selection of the branching screen by the client
  • the overall control unit 24 converts an instruction from the client input by the user interface unit 25 into an operation instruction to each module. For example, when there is a URL input of the scenario, the overall control unit 24 instructs the scenario management unit 21a to read the scenario.
  • the scenario management unit 2 la transmits a scenario distribution request to the content server 12 and acquires a scenario stored in the content server 12. Then, based on the scenario, decoder allocation scheduling is performed, and a stream distribution request for video is notified to the streamer server 11.
  • the scenario management unit 2 la sets a branch parameter based on an external input from the user interface unit 25, compares the set branch parameter with the branch condition described in the scenario, and matches the condition.
  • the selected video is selected, and a predetermined decoder is instructed to start reproduction.
  • FIG. 5 is a diagram showing the scheduling operation. This shows scheduling for multiple videos. After the video V7 and V8 are played continuously, at the branch time T bl, the client branches to either the video V9 to V11 pair or the video VI2 or VI3 scenario. This shows a case where a pair of video VI 2 and VI 3 is selected by a branch parameter overnight instruction.
  • the dotted line section displayed in the first half of the video playback time is the initialization process,
  • the time interval required for the initialization processing of all videos is ⁇ s.
  • the section indicated by the dotted line in the latter half of the video playback time is the end processing, and the time interval required for the end processing of all videos is ⁇ e.
  • the scenario management unit 2 la sends the video that may start video playback in the section of time (Tb l + A s) (the initial scheduling section in the figure) to the decoders 22-1 to 22-4. assign.
  • the section of time (Tbl + As) includes videos V9, VI0, and VI2 in addition to videos V7 and V8.
  • a video V7 is assigned to the decoder 22-1 and a video V8 is assigned to the decoder 22-2.
  • the first video V9 of one set to be branched is assigned to the decoder 22-13, and the first video VI2 of the other set to be branched is assigned to the decoder 22-4.
  • the video VI 0 since the video VI 0 also enters the initial scheduling section, the video VI 0 is allocated to the decoder 22-1, which finishes the decoding processing fastest.
  • the decoder 22-1 performs the reproduction processing of the video V7 from time 0.0.
  • the decoder 22-2 finishes the initialization processing of the video V8 by the reproduction end time T1 of the video V7, and enables the reproduction processing from the time T1. And time (T1- ⁇ s).
  • the decoder 22-3 completes the initialization processing of the video V9 by the branch time Tb1 and enables the reproduction processing from the branch time Tb1, so that the decoding start time of the video V9 is set to the time (Tbl — A s).
  • the decoder 22-4 finishes the initialization processing of the video VI 2 by the branch time T b 1 and enables the reproduction processing from the branch time Tb 1. (Tb l—A s).
  • the decoder 22_1 completes the initialization processing of the video V10 by the reproduction end time T2 of the video V9, and starts decoding the video V10 in order to enable the reproduction processing from the time T2.
  • the time is time (T2-As).
  • the decoders 22-1 and 22-2 perform scheduling.
  • Video V7 and V8 are decoded at one ringing time, and decoders 22-3 and 22-14 perform initialization processing of video V9 and VI2 at the scheduled time.
  • the client selects the pair of video VIs 2 and 13.
  • the decoder 22-4 starts the reproduction processing of the video VI 2 whose initialization processing has already been completed.
  • the decoders 22-1 and 22-3 to which the unselected videos V9 and V10 are assigned are released.
  • the display switching switch 23a selects the output of the decoder 22-1 from time 0.0 to time T1, selects the output of the decoder 22-2 from time T1 to time Tb1, and sets the time Tb Select the output of decoder 22-4 from l to time T3 (playback end time of video VI 2), and output the output of decoder 22-2 from time T3 to time T4 (playback end time of video VI 3). select.
  • a non-display section can be eliminated from a joint of reproduced videos, and seamless playback display can be performed.
  • FIG. 6 is a diagram showing the structure of a video source.
  • Video source Vm is composed of items of URL, start, local starts duration, and decoder.
  • the URL is the storage location (address) of the video source entity, and the start is the time to start playback within the scenario time.
  • local start is the playback start time in video time (video local time)
  • duration is the playback time interval of the video source
  • decoder is the ID of the decoder to be allocated.
  • FIG. 7 is a diagram showing the structure of a video source.
  • Fig. 6 is a schematic diagram.
  • the entity of the video source Vm is stored at the address (URL) of the content server 12.
  • local start is the playback start time of the video source Vm
  • duration is the video source Vm.
  • the video source Vm is a one-hour video and plays from 10 seconds to 30 seconds after the start
  • local start is 10 seconds and duration is 20 seconds.
  • the time at which this video source Vm is actually played is the start as a scenario time.
  • Figure 8 is a diagram showing the structure of the sub-scenario.
  • the sub-scenario s i is composed of sub-scenario ID, video source array, branch time, branch condition, and branch destination sub-scenario array.
  • a sub-scenario is a video sandwiched between branches.
  • videos V7 and V8 correspond to one sub-scenario
  • videos V9 to V11 correspond to one sub-scenario
  • videos V12 and V13 correspond to one sub-scenario.
  • the video sources Vm belonging to the sub-scenario ID described above with reference to FIGS. 6 and 7 are sorted and arranged in ascending order by start (in order of shorter playback time).
  • the branch time stores the branch time at the time of execution
  • the branch condition stores the branch condition at the time of execution.
  • the branch destination sub-scenario array stores a sub-scenario ID to be a branch destination.
  • Figure 9 shows the structure of the scenario.
  • Fig. 5 shows a scenario structure as an example. Videos V7 and V8 are subscenario s1, videos V9 to V11 are subscenario s2, and videos V12 and V13 are subscenario s3.
  • the video sources V7 and V8 are stored in the video source array, and the sub-scenarios s2 and S3 are stored as the branch destination sub-scenario array.
  • the video source V9, V10, VII, ... is stored in the video source array in the sub-scenario s2 at the branch destination, and the video is stored in the video source array in the sub-scenario s3 at the branch destination.
  • Sources V12, V13, ... are stored.
  • FIGS. 10 to 13 Specific examples of notation are shown in FIGS. 10 to 13.
  • Figure 10 shows a list L of scenario contents in XML (extensible markup language: a language that defines language specifications such as document information, which is a simplified version of SGML).
  • FIGS. 11 to 13 show examples of the sub-scenarios sl to s3.
  • V * m the video existing in the scheduling section
  • V * m the video of the scheduling candidate
  • V * m the video of the scheduling candidate
  • video V * ma decoding is assigned to one of the plurality of decoders 22-1 to 22-n.
  • the video to be decoded next is set to V * mb, and the video V * mb is played back, the video V * ma will continue to be played back as it is.
  • the video V * mb is assigned to a decoder that decodes the video V * ma.
  • V * ma.local start + V * ma.duration V * mb.local start
  • FIG. 14 shows a video V * mb that satisfies the three conditional expressions (1a), (lb), and (1c).
  • FIG. It is a diagram of the above equation.
  • the expression (la) indicates that the URL of the video V * mb is equal to the URL of the video V * ma (the video entity is equal).
  • video V * mb is the same URL as video V * ma
  • equation (1 b) The end time of video V * ma matches the start time of video V * mb on the video time of (b), and the end time of video V * ma and the video V * on the scenario time of equation (lc). If the start time of mb matches, it can be played back as a continuous section on one video, so video V * mb is assigned to the same decoder to which video V * ma is assigned. And the video V * mb initialization process is not required). Next, decoder distribution when the above conditional expression is not satisfied will be described.
  • FIGS. 15 and 16 are diagrams showing conditions for selecting a decoder.
  • Video V * ma playback end time T, video V * ma end processing time ⁇ e, video ⁇ * 0113 playback start time ⁇ * 111 .start, video V * mb initialization processing Time is ⁇ s.
  • Equation (2) (V * mb. Start- ⁇ s) ⁇ ( ⁇ + ⁇ e) (2)
  • Fig. 15 shows the case where the equality of equation (2) holds
  • Fig. 16 shows the inequality of equation (2) holds.
  • the case is illustrated.
  • the right side (T + Ae) of Equation (2) indicates the time when the corresponding decoder can be reused
  • the left side (V * mb. Start- ⁇ s) indicates the time when the video V * ma is the specified time
  • V *. mb.start indicates the time limit for the start of initialization to enable reproduction. If the value on the left side is smaller than the value on the right side, it means that the corresponding decoder cannot finish initialization by V * mb.start, and it can be understood that video V * mb processing is not possible.
  • FIG. 17 and FIG. 18 are flowcharts showing the decoder allocation algorithm.
  • step S3 If there is a decoder that satisfies the conditions of the expressions (la), (lb), and (1c), go to step S5, otherwise go to step S4.
  • step S6 If there is one decoder that satisfies the condition of Expression (2), go to step S7. If there are multiple decoders, go to step S8. If not, go to step S9.
  • the video V * mb is allocated to the decoder for which the decoding process ends first ( ⁇ s of the initialization process and ⁇ e of the end process are It may fluctuate depending on the traffic condition, so the decoding process ends first and the decoder with the most margin is selected. Go to step S10.
  • FIG. 19 is a diagram showing the configuration of the scenario management unit 21a.
  • the scenario management unit 2 la includes a scenario parser 21 a-l, a synchronous controller 21 a-2, a scheduler 2 la-3, and a branch determination unit 21 a-4.
  • the Scenario Parser 21a-1 receives the command when the scenario is read. Communicates with the ten server 12 to download the relevant scenario and convert it to internal format (read the scenario from the server and expand it into sub-scenarios).
  • the read scenario data is set as a playback target of the synchronous controller 21a-2 via the overall control unit 24.
  • the synchronization controller 21a-2 manages the synchronization between the decoders 221-1-2-22-n and the scheduler 21a-3.
  • the synchronous controller 2 la-2 is started periodically every minute time (for example, several msec) when a scenario playback instruction is issued from the overall control unit 24.
  • minute time for example, several msec
  • the cyclic start is suspended, and the increase in the scenario time is also stopped.
  • the cyclic start is interrupted and the scenario time is returned to the initial state (0.0 sec) (detailed state transitions will be described later with reference to Fig. 20).
  • the scheduler 21a_3 executes the decoder allocation algorithm described above with reference to the flowcharts of FIGS.
  • the branch decision section 2 la-4 compares the branch parameters set through the user evening interface section 25 with the branch conditions described in the scenario, selects a video that meets the conditions, and selects the video. An instruction is given to the synchronous controller 2 1 a _ 2.
  • the synchronous controller 21a-2 performs the branch determination section 21a-4. To the next branch destination sub-scenario.
  • the branch determination unit 2 1 a-4 compares the branch parameter specified by the user interface unit 25 with the branch condition of the sub-scenario, and selects the next sub-scenario.
  • FIG. 20 is a diagram showing the state transition of the synchronous controller 21a-2.
  • scenario si When the scenario si is set from the initial state, the state transits to the scenario stop state.
  • the scenario time T s is a time reflecting the elapsed time from the start of scenario playback when the synchronous controller 21a-2 is started periodically.
  • CS 22 In the scenario stop state, when there is a scenario playback instruction (Play) from the overall control unit 24, the state transitions to the scenario playback state (cycle start ON).
  • the decoder 22 performs an initialization process, a playback process, and a termination process on the video V * m.
  • the current time referred to as scenario time T s
  • the following formula is used to determine which process is being performed. ), (3b), (3c).
  • FIG. 21 is a diagram showing a state in which the initialization process is being performed. Equation (3a) is for the case where initialization processing is performed. If the current scenario time Ts satisfies equation (3a) and the corresponding decoder is stopped, the video V * m is initialized. Processing is performed. That is, if video V * m_1 is stopped, prefetch is performed by setting the URL of video V * m.
  • Prefetching is the preprocessing of video playback (including buffering and initialization processing), and the process of bringing a video into a state in which it can be played immediately (after performing prefetching). In other words, the user will press the switch and the video will be displayed immediately.
  • FIG. 22 is a diagram showing a state where the reproduction process is being performed. Assuming that the position currently being reproduced in the video time is a reproduction position p and this reproduction position p is a scenario time T s, the condition that Ts satisfies is Expression (3b). Video V * m playback start time In terms of key time, it is (V * m. Local start + V * m. Start—Ts) sec.
  • FIG. 23 is a diagram showing a state in which the termination process is being performed. Equation (3c) shows the case where the end processing is performed. If the current scenario time Ts satisfies the equation (3c), the end processing of the video V * m is performed. That is, the video V * m is being played and the scenario time Ts ends V * m.start + V * m.duration and the playback ends immediately (transition to the stop state).
  • FIG. 24 is a diagram showing the state transition of the video player.
  • FIG. 25 is a diagram showing switching between visible and invisible for the video player.
  • a plurality of video playback images are created for the same area in the screen 23b-1 based on the scheduling (superimposed display is enabled).
  • the attribute is "hidden” to make it invisible (video playback possible), and the attribute is "visible” to make it visible (video playback).
  • Perform screen display In this way, a playback image is created in advance, and the switching function is performed by changing the visible / invisible attribute, thereby displaying a desired screen.
  • the video scenario in which a plurality of streaming is distributed, even if there is a branch by a client instruction, the video scenario is not displayed in the order described in the scenario and at the joint of each video. This makes it possible to play back video smoothly and continuously.
  • the media playback device of the present invention performs scheduling on a plurality of decoders so as to remove the time lag from the playback processing end time of one medium to the playback processing start time of the other media, It is configured to switch the playback output from and display media. This makes it possible to eliminate the non-display section that has occurred at the joint of each video with respect to the streaming media having the branch reproduction, thereby realizing seamless video reproduction.
  • the above merely illustrates the principles of the invention.
  • many modifications and variations are possible for those skilled in the art and the present invention is not limited to the exact construction and arrangement shown and described above. It is not limited to the examples and applications, but all corresponding variations and equivalents are considered to be within the scope of the present invention by the appended claims and their equivalents.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

 分岐再生のあるストリーミングメディアに対し、各ビデオの繋ぎ目で発生していた非表示区間をなくし、シームレスな再生を実現する。スケジューリング部(21)は、一方のメディアの再生後に連続再生または分岐再生する他方のメディアに対して、一方のメディアの再生処理終了時間から他方のメディアの再生処理開始時間までのタイムラグを除去するようにスケジューリングを施す。復号化処理部(22)は、スケジューリングにもとづいて配分されたメディアの復号化処理を並列して行う複数のデコーダ(22−1)~(22−n)を含む。表示制御部(23)は、デコーダ(22−1)~(22−n)からの再生出力の切替えを行い、再生されたメディアを表示する。

Description

メディア再生装置 技術分野
本発明はメディァ再生装置に関し、 特にストリ一ミングメディァの再生を行う メディア再生装置に関する。
背景技術
近年、 イン夕一ネットを中心とする I Pネットワーク · トラフィックの爆発的 な増大に伴い、 画像 Z音声データの配信が盛ん書に行われており、 さらなるサ一ビ スの高度化、 広域化が望まれている。 ネットワークを使った配信サービスとして 欠かせない技術にストリーミングメディァ配信がある。
ストリーミングメディアとは、 時間軸にしたがって再生される音声や動画など のメディアのことである。 ストリーミングメディアは、 クライアント側のソフト ウェアが再生する場合に、 メディア全体が送信されている必要はなく、 ある瞬間 で再生するのに必要なだけのデータが送信されていればよい。 このため、 クライ アント側では、 ファイルを受信しながらの再生が可能であり (クライアント端末 側での大容量の保存が不要) 、 これによりデータ量が膨大な長時間ビデオでも、 クライアントはインタ一ネットで見ることができる。
ストリーミングメディァ配信の活用例としては、 インタラクティブドラマや e — L e r n i n gなどがある。 インタラクティブドラマは、 視聴者の指示にもと づいて、 ドラマの進行が変わるタイプの放送であり、 例えば、 視聴者がドラマ中 の主人公に成り代って指示を出す度に、 サーバ側では、 指示にもとづく場面のピ デォ映像を配信したりする。
また、 e— L e r n i n gは、 自宅のパソコンからネットヮ一クを介してサー バにアクセスし、 サーバの中にある教材コンテンツを使って学習を行う教育シス テムであり、 生徒は、 時間や場所の制約を受けずに、 自分に適したレベルの学習 を受けられる。 また、 サーバ側では、 生徒の学習進度や生徒が提出した問題解答 にもとづいて、 難易度を変化させた教材ビデオを配信したりする。
一方、 このようなストリーミングメディア配信で、 複数ビデオをネットワーク 経由で連続的にストリ一ミング再生すると、 ビデオの繋ぎ目の部分でビデオ映像 が表示されない時間帯が生じる。 これはビデオの繋ぎ目で、 前段のビデオが終了 した後に、 後段のビデオが再生開始するまでのタイムラグによるものである。 図 2 6はビデオの繋ぎ目における非表示区間の発生を示す図である。 ビデオ V 1を再生して、 時間 t 1でビデオ V Iが再生終了し、 時間 t 1以降ではビデオ V 2 - 1またはビデオ V 2 - 2のいずれかが再生 (分岐再生) されるとする。
例えば、 インタラクティブドラマでは、 ビデオ V Iのドラマが進行中にクライ アン卜が場面変更の指示を出して、 時間 t 1でビデオ V 2— 1、 ビデオ V 2 - 2 のいずれかの場面に変更するような場合や、 e— L e r n i n gでは、 ビデオ V 1の教材の問題に対してクライアントが解答を出したとき、 解答の正誤によって、 時間 t 1で難易度の異なるビデオ V 2— 1、 ビデオ V 2 - 2のいずれかの教材に 変更するような場合である。
このようなス! ^一リ分岐のあるビデオ表示に対して、 ビデオ V Iからビデオ V 2— 1へ分岐再生したとすると、 ビデオの繋ぎ目部分である時間 t 1から即時に 再生は行われず、 タイムラグ後の時間 t 2からビデオ V 2一 1が再生開始するこ とになり、 時間 t l〜t 2の間は非表示区間となる。 この非表示区間は、 ストリ ーミングビデオの終了処理や初期化処理に起因している。
図 2 7は非表示区間の発生理由を示す図である。 ビデオ V Iからビデオ V 2— 1へ分岐再生する場合、 受信側のデコーダモジュールでは、 ビデオ V Iの終了処 理を行った後に、 ビデオ V 2— 1の初期化処理を行い、 その後に再生処理を行う。 したがって、 1台のデコーダモジュールでストリーミングビデオの分岐再生を 行うと、 ビデオの繋ぎ目の部分で、 前段ビデオの終了処理に要する時間 と後 段ビデオの初期化処理に要する時間△ sによる△ e + Δ sのタイムラグが生じ、 この時間帯はビデオを表示することはできない。
タイムラグを見かけ上なくす従来技術としては、 繰り返し再生の開始位置が指 定された場合、 出力の行われているデコーダとは別のデコーダで、 繰り返し再生 準備を行って、 デコーダ出力を切り替える技術が提案されている (例えば、 特許 文献 1参照) 。
また、 ファイルの頭だし用のプリ口一ドデ一夕を分岐先候補画像のプリロード 部分に挿入して、 分岐先決定時にはプリロードデータを再生し、 この間に後続の 画像デ一タをロードする技術が提案されている (例えば、 特許文献 2参照) 。
特許文献 1
特開 2001— 203977号公報 (段落番号 〔0016〕 〜 〔006 6〕 , 第 1図)
特許文献 2
特開平 7— 79399号公報 (段落番号 〔0006〕 〜 〔0007〕 , 第 1図)
しかし、 上記のような従来技術 (特開 2001— 203977号公報) は、 再 生するビデオを複数繋げるものの、 そのビデオの繋がりはあらかじめ一意に決ま つていることを前提としており、 分岐指定のパラメータが与えられるまで、 どの ビデオが分岐されるかがわからいようなインタラクティブドラマや e— L e r n i n gのようなサービスには適用することができない。
また、 従来技術 (特開平 7— 79399号公報) では、 メディアとして CD— ROMを想定しており、 かつ映像表示のタイムラグの原因として CD— ROMか らの再生データの読込み時間を想定している。 そのためタイムラグの解消方法と して再生分岐先となるビデオデータのうち最初の区間を小サイズのプリロード画 像として準備することを提案しており、 ストリーミングでの配信に応用可能な技 術とはいえない。 発明の開示
本発明はこのような点に鑑みてなされたものであり、 各ビデオの繋ぎ目で発生 していた非表示区間をなくし、 分岐再生のあるストリーミングメディアのシ一ム レスな再生を実現したメディァ再生装置を提供することを目的とする。
本発明では上記課題を解決するために、 図 1に示すような、 ストリーミングメ ディアの再生を行うメディア再生装置 20において、 一方のメディアの再生後に 連続再生または分岐再生する他方のメディァに対して、 一方のメディァの再生処 理終了時間から他方のメディアの再生処理開始時間までのタイムラグを除去する ようにスケジューリングを施すスケジューリング部 2 1と、 スケジューリングに もとづいて配分されたメディァの復号化処理を並列して行う複数のデコーダ 2 2 — 1〜2 2— nを含む復号化処理部 2 2と、 デコーダ 2 2— 1〜2 2 _ nからの 再生出力の切替えを行い、 再生されたメディアを表示する表示制御部 2 3と、 を 有することを特徴とするメディア再生装置 2 0が提供される。
ここで、 スケジューリング部 2 1は、 一方のメディアの再生後に連続再生また は分岐再生する他方のメディアに対して、 一方のメディアの再生処理終了時間か ら他方のメディアの再生処理開始時間までのタイムラグを除去するようにスケジ ュ一リングを施す。 復号化処理部 2 2は、 スケジューリングにもとづいて配分さ れたメディアの復号化処理を並列して行う複数のデコーダ 2 2— 1〜 2 2— nを 含む。 表示制御部 2 3は、 デコーダ 2 2— 1〜2 2— nからの再生出力の切替え を行い、 再生されたメディアを表示する。
本発明の上記および他の目的、 特徴および利点は本発明の例として好ましい実 施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。 図面の簡単な説明
図 1は、 本発明のメディア再生装置の原理図である。
図 2は、 本発明により非表示区間をなくしたストリーミングビデオ再生を示す 図である。
図 3は、 ストリ一ミングメディア配信システムの構成を示す図である。
図 4は、 ストリーミングメディア配信システムの構成を示す図である。
図 5は、 スケジューリング動作を示す図である。
図 6は、 ビデオソースの構造を示す図である。
図 7は、 ビデオソースの構造を示す図である。
図 8は、 サブシナリオの構造を示す図である。
図 9は、 シナリオの構造を示す図である。
図 1 0は、 XML形式のシナリオコンテンツ例を示す図である。
図 1 1は、 サブシナリオの例を示す図である。 図 1 2は、 サブシナリオの例を示す図である。
図 1 3は、 サブシナリオの例を示す図である。
図 1 4は、 3つの条件式を満たすビデオを示す図である。
図 1 5は、 デコーダを選択する際の条件を示す図である。
図 1 6は、 デコーダを選択する際の条件を示す図である。
図 1 7は、 デコーダ配分アルゴリズムを示すフローチャートである。
図 1 8は、 デコーダ配分アルゴリズムを示すフローチャートである。
図 1 9は、 シナリオ管理部の構成を示す図である。
図 2 0は、 同期コントローラの状態遷移を示す図である。
図 2 1は、 初期化処理を行っている状態を示す図である。
図 2 2は、 再生処理を行っている状態を示す図である。
図 2 3は、 終了処理を行っている状態を示す図である。
図 2 4は、 ビデオプレイヤの状態遷移を示す図である。
図 2 5は、 ビデオプレイヤの可視 Z不可視の切替えを示す図である。
図 2 6は、 ビデオの繋ぎ目における非表示区間の発生を示す図である。
図 2 7は、 非表示区間の発生理由を示す図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態を図面を参照して説明する。 図 1は本発明のメディ ァ再生装置の原理図である。 メディア再生装置 2 0は、 クライアントの任意の操 作により複数のビデオソースを切り替えて、 ストリーミングメディアの再生表示 を行う装置である。 適用分野としては、 ストリーミング配信によるインタラクテ イブドラマや、 生徒の学習進度や解答により難易度を変化させる e— L e r n i n gなどがあげられる。
スケジューリング部 2 1は、 一方のメディアソース (ストリーミングビデオ) の再生後に連続再生または分岐再生する他方のメディァソ一スに対して、 一方の メディアソースの再生処理終了時間から他方のメディアソースの再生処理開始時 間までのタイムラグを除去するようにスケジューリングを施す。 具体的には、 シ ナリオ情報にもとづいて、 一方のメディアソースの再生処理終了時間までに、 他 方のメディアソースの初期化処理が終了して、 再生処理終了時間から他方のメデ ィァソースの再生処理が可能となるようなスケジユーリングを行う。
復号化処理部 2 2は、 複数のデコーダ 2 2— 1〜2 2— n (総称する場合はデ コーダ 2 2とする) を含む。 デコーダ 2 2 _:!〜 2 2— nは、 スケジューリング にもとづいてそれぞれ配分 (以下、 割り当てとも呼ぶ) されたメディアソースの 復号化処理 (デコード:初期化処理、 再生処理、 終了処理の 3つの処理を含む) を並列して行う。
なお、 復号化処理部 2 2は、 図には示さないが、 ストリーミングバッファを有 し、 ネットワークの不安定さを緩和して安定したビデオ再生を行うために、 スト リ一ミングバッファで数秒〜数十秒のビットストリームを一時格納した後にデコ 一ドを行う。
表示制御部 2 3は、 表示切替えスィッチ 2 3 a、 表示部 2 3 bを含み、 デコー ダ 2 2— 1〜2 2 _ nからの再生出力の切替えを行って、 再生されたメディアソ ースを表示する。 ここで、 メディアソースとは、 単一のメディアを意味する。 以 降ではメディア、 メディアソースをビデオ、 ビデオソースとも呼ぶ。
次に概略動作について説明する。 図 2は本発明により非表示区間をなくしたス トリーミングビデオ再生を示す図である。 ビデオの分岐再生時、 非表示区間をな くしてシームレスな再生を実現するためには、 複数のデコーダを用意して、 ビデ ォのデコードを並列で行えばよい。
簡単な例として、 2本のビデオ V 1、 V 2に対して、 時間 t 1でビデオ V 1か らビデオ V 2へ分岐再生する場合を考える。 ビデオ V I、 V 2は、 デコーダ 2 2 — 1、 2 2— 2へ振り分けられて、 ビデオ V 1のデコードはデコーダ 2 2— 1で 行い、 ビデオ V 2のデコ一ドはデコーダ 2 2— 2で行うものとする。
このとき、 一方のデコーダ 2 2— 1でビデオ V Iの再生処理が終了したら、 他 方のデコーダ 2 2 - 2では即時にビデオ V 2の再生処理が開始できるような状態 になっていれば、 従来、 分岐再生時間 t 1で発生していた非表示区間をなくすこ とができる。
このため、 スケジューリング部 2 1は、 ビデオ V 1の再生処理終了時間 t 1 分岐再生時間) までに、 少なくともビデオ V 2の初期化処理が終了して、 時 間 t 1からビデオ V 2の再生処理が開始できるようにスケジユーリングしておけ ばよい。
ビデオ V 2の初期化処理に要する時間を△ sとすると、 デコーダ 2 2— 1が時 間 t 0からビデオ V Iの再生処理の実行中、 デコーダ 2 2— 2では、 時間 (t l - A s ) になるまでには、 ビデオ V 2の初期化処理を開始しておく (すなわち、 ビデオ V 2の初期化処理開始時間を t iとすると、 t O≤ t i≤ ( t— A s ) で ある) 。 そして、 時間 t 1においては、 デコーダ 2 2— 1は、 ビデオ V Iの再生 処理を終了して終了処理 (終了処理に要する時間は A e ) を行い、 デコーダ 2 2 一 2ではビデオ V 2の再生処理を行う (図では時間 t 2でビデオ V 2の再生処理 は終了している) 。
このようにして、 デコーダ 2 2— 1、 2 2— 2にビデオ V I 、 V 2を割り当て て (スケジューリングして) デコードを行い、 表示切替えスィッチ 2 3 aで時間 t 0〜t 1まではデコーダ 2 2— 1の出力を選択し、 時間 t 1〜!: 2まではデコ —ダ 2 2— 2の出力を選択することで、 表示部 2 3 bでは、 非表示区間のないシ ームレスなビデオ表示を行うことが可能になる。
次にメディア再生装置 2 0を含むシステム全体の構成について説明する。 図 3、 図 4はストリーミングメディァ配信システムの構成を示す図である。 ストリーミ ングメディア配信システム 1は、 図 3に示すメディア配信サーバ 1 0と、 図 4に 示すメディア再生装置 2 0とから構成され、 ネットヮ一ク 3を介して、 ストリー ミングメディアの配信を行う。
メディア配信サーバ 1 0は、 ストリーミングサーバ 1 1、 コンテンツサーバ 1 2から構成される。 ストリーミングサーバ 1 1は、 ビデオ V I〜ビデオ V nの各 種ビデオコンテンツを保存管理する。 ストリ一ミングサーバ 1 1は、 通常の. HT T Pサーバであつて、 Real Serverや Windows Media Serverなどの既存製品が 該当する。 なお、 シナリオ次第で複数個のストリーミンダサ一パを利用すること になる。
コンテンツサーバ 1 2は、 ビデオ V 1〜ビデオ V nのシナリオを保存管理する。 なお、 シナリオとは、 ビデオコンテンツの再生手順が記述されているものである。 例えば、 ビデオ Aを時間 t aから時間 t bまで再生した後に、 ビデオ Bに分岐し て時間 t cから時間 t dまで再生する、 といったような再生手順の内容 (再生順 番、 分岐条件等) が記述されている。
メディア再生装置 2 0は、 シナリオ管理部 (スケジューリング部 2 1に該当) 2 1 a、 復号化処理部 2 2、 表示制御部 2 3、 全体制御部 2 4、 ユーザインタフ ェ一ス部 2 5から構成される。
ユーザインタフェース部 2 5は、 再生するシナリオの指定 (U R L入力) 、 シ ナリオの再生、 停止、 一時停止などをクライアントが指示するための G U I (Graphical User Interface) を提供し、 キーボード、 スィッチ、 マウスなどに 該当する。 また、 画面上のポタン操作により分岐パラメ一夕の設定 (クライアン トによる分岐画面の選択) を行うことができる。
全体制御部 2 4は、 ユーザインタフェース部 2 5で入力したクライアントから の指示を各モジュールへの動作指示に変換する。 例えば、 シナリオの UR L入力 があると、 全体制御部 2 4は、 シナリオ管理部 2 1 aに対してシナリオの読み込 みを指示する。
シナリオ管理部 2 l aは、 シナリオ配信要求をコンテンツサーバ 1 2に送信し、 コンテンツサーバ 1 2に格納されているシナリオを取得する。 そして、 シナリオ にもとづき、 デコーダ割り当てのスケジューリングを行い、 ストリ一ミンダサ一 バ 1 1にビデオのス卜リ一ミング配信要求を通知する。
また、 シナリオ管理部 2 l aは、 ユーザインタフェース部 2 5からの外部入力 により、 分岐パラメ一夕を設定し、 設定した分岐パラメ一夕をシナリオに記載さ れた分岐条件と比較し、 条件に合ったビデオを選択し、 所定のデコーダに再生開 始を指示する。
次にシナリオ管理部 2 1 aのスケジューリング動作について説明する。 図 5は スケジュ一リング動作を示す図である。 複数ビデオに対するスケジュ一リングを 示している。 ビデオ V 7、 V 8を連続再生した後に、 分岐時間 T b lで、 ビデオ V 9〜V 1 1の組またはビデオ V I 2、 V I 3の組のいずれかに分岐するシナリ ォに対して、 クライアントの分岐パラメ一夕指示により、 ビデオ V I 2、 V I 3 の組が分岐選択された場合を表している。
なお、 ビデオ再生時間の前半に表示している点線の区間は初期化処理であり、 すべてのビデオの初期化処理に要する時間間隔は Δ sとする。 また、 ビデオ再生 時間の後半に表示している点線の区間は終了処理であり、 すべてのビデオの終了 処理に要する時間間隔は Δ eとする。
まず、 シナリオ管理部 2 l aは、 時間 (Tb l+A s) の区間 (図中、 初期ス ケジユーリング区間) にビデオ再生を開始する可能性のあるビデオをデコーダ 2 2— 1〜22— 4に割り当てる。 ここでは、 時間 (Tb l+A s) の区間には、 ビデオ V7、 V8の他に、 ビデオ V9、 VI 0、 VI 2も含まれる。
デコーダ 22— 1〜22— 4への割り当てとしては、 デコーダ 22 - 1にビデ ォ V7、 デコーダ 22— 2にビデオ V 8を割り当てる。 また、 分岐される一方の 組の最初のビデオ V 9をデコーダ 22一 3へ割り当て、 分岐される他方の組の最 初のビデオ VI 2をデコーダ 22— 4へ割り当てる。 さらに、 ビデオ VI 0も初 期スケジユーリング区間に入るので、 最も速くデコード処理が終わるデコーダ 2 2—1にビデオ VI 0を割り当てる。
それぞれのビデオのデコード開始スケジューリング時間は、 デコーダ 22- 1 は、 時間 0. 0からビデオ V 7の再生処理を行う。 デコーダ 22— 2は、 ビデオ V 7の再生終了時間 T 1までにビデオ V 8の初期化処理が終了して、 時間 T 1か ら再生処理を可能とするため、 ビデオ V 8のデコード開始時間は、 時間 (T1一 Δ s ) となる。
デコーダ 22— 3は、 分岐時間 T b 1までにビデオ V 9の初期化処理が終了し て、 分岐時間 Tb 1から再生処理を可能とするため、 ビデオ V9のデコード開始 時間は、 時間 (Tb l— A s) となる。 同様にデコーダ 22— 4は、 分岐時間 T b 1までにビデオ VI 2の初期化処理が終了して、 分岐時間 Tb 1から再生処理 を可能とするため、 ビデオ VI 2のデコード開始時間は、 時間 (Tb l— A s) となる。
また、 デコーダ 22 _ 1は、 ビデオ V 9の再生終了時間 T 2までにビデオ V 1 0の初期化処理が終了して、 時間 T 2から再生処理を可能とするため、 ビデオ V 10のデコード開始時間は、 時間 (T2— A s) となる。
このような初期スケジュ一リング区間に対するスケジュ一リングが終わると、 分岐時間 Tb 1より前の時間帯では、 デコーダ 22— 1、 22— 2は、 スケジュ 一リングされた時間でビデオ V 7、 V 8をデコードし、 デコーダ 22— 3、 22 一 4は、 スケジューリングされた時間で、 ビデオ V9、 VI 2の初期化処理を行 ラ。
その後、 分岐時間 Tb lになって、 クライアントがビデオ VI 2、 13の組を 選択したとする。 すると、 デコーダ 22— 4は、 すでに初期化処理が終了してい るビデオ VI 2の再生処理を開始する。 また、 選択されなかったビデオ V 9、 V 10が割り当てられたデコーダ 22— 1、 22— 3は開放する。
そして、 次の分岐時間 Tb 2のスケジューリング区間 (時間 (Tb 2 + A s) —時間 Tb l) に対するスケジューリングを再び行う。 この場合は、 ビデオ VI 3がデコーダ 22-2に割り当てられて再生が続けられる。
また、 表示切替えスィッチ 23 aは、 時間 0. 0から時間 T1まではデコーダ 22- 1の出力を選択し、 時間 T 1から時間 Tb 1まではデコーダ 22— 2の出 力を選択し、 時間 Tb lから時間 T3 (ビデオ VI 2の再生終了時間) まではデ コーダ 22— 4の出力を選択し、 時間 T3から時間 T4 (ビデオ VI 3の再生終 了時間) まではデコーダ 22— 2の出力を選択する。
このようなスケジューリングを施して、 デコード及び表示切替えを行うことに より、 再生ビデオの繋ぎ目から非表示区間をなくすことができ、 シームレスな再 生表示が可能になる。
次にコンテンツサーバ 12に格納されるシナリオの構造について説明する。 図 6はビデオソースの構造を示す図である。 ビデオソース Vmは、 URL、 start, local starts duration, decoder の項目から構成される。 URLはビデオソ一ス 実体の格納場所 (アドレス) であり、 start はシナリオ時間内で再生開始する時 間である。 local startは、 ビデオ時間 (ビデオローカル時間) での再生開始時間 であり、 duration は、 ビデオソースの再生時間間隔であり、 decoder は配分さ れるデコーダの I Dである。
図 7はビデオソースの構造を示す図である。 図 6を図式化したものである。 ビ デォソース Vmの実体は、 コンテンツサーバ 12のアドレス (URL) に格納さ れている。 また、 ビデオソース Vmの 1本の再生時間 (ビデオ時間) に対し、 local start は、 ビデオソース Vmの再生開始時間、 duration はビデオソース V mの再生時間であるので、 例えば、 ビデオソース Vmが 1時間のビデオで、 開始 1 0秒後から 3 0秒後までを再生するならば、 local start は 1 0秒、 duration は 2 0秒となる。 さらに、 このビデオソース Vmが実際に再生される時間が、 シ ナリオ時間としての startとなる。
図 8はサブシナリオの構造を示す図である。 サブシナリオ s iは、 サブシナリ ォ I D、 ビデオソース配列、 分岐時間、 分岐条件、 分岐先サブシナリオ配列の項 目から構成される。 なお、 サブシナリオとは、 分岐と分岐の間に挟まれたビデオ のことである。 例えば、 図 5では、 ビデオ V 7、 V 8が 1つのサブシナリオ、 ビ デォ V 9〜 V 1 1が 1つのサブシナリォ、 ビデオ V 1 2、 V 1 3が 1つのサブシ ナリオに該当する。
ビデオソース配列は、 サブシナリオ I Dに属する、 図 6、 図 7で上述したビデ ォソース Vmを、 startで昇順 (再生時間の速い順) にソートして配列させる。 分岐時間には実行時の分岐時間が格納し、 分岐条件には実行時の分岐条件が格納 される。 分岐先サブシナリオ配列には、 分岐先となるサブシナリオ I Dが格納さ れる。
図 9はシナリオの構造を示す図である。 図 5を例にしたシナリオ構造を示して いる。 ビデオ V 7、 V 8がサブシナリオ s 1、 ビデオ V 9〜 V 1 1がサブシナリ ォ s 2、 ビデオ V 1 2、 V 1 3がサブシナリオ s 3とする。
サブシナリオ s 1は、 ビデオソース配列にビデオソース V 7、 V 8が格納され、 分岐先サブシナリオ配列として、 サブシナリオ s 2、 S 3が格納されている。 ま た、 分岐先のサブシナリオ s 2には、 ビデオソース配列にビデオソース V 9、 V 1 0、 V I I、 · · ·が格納され、 分岐先のサブシナリオ s 3には、 ビデオソース 配列にビデオソース V 1 2、 V 1 3、 · · 'が格納される。
なお、 具体的な表記例を、 図 1 0〜図 1 3に示す。 図 1 0は X M L (extensible markup language: S GM Lをべ一スに簡素化した、 文書情報な どの言語仕様を定義するための言語) 形式のシナリォコンテンッのリスト Lを示 しており、 図 1 1〜図 1 3はサブシナリオ s l〜s 3の例を示す。
次に同一デコーダに対する配分アルゴリズムについて説明する。 ここで、 スケ ジューリング区間内に存在するビデオ (スケジュ一リング候補のビデオのこと) をビデオ V*mと記載する。 例えば、 図 5の場合、 初期スケジューリング区間内 に存在するビデオは、 V7〜V 10と V 12の 5個あるので、 V*m (m= 7〜 10、 12) であり、 再生時間の速い順に、 V* 7=V7> V*8=V8、 V* 9 = V9、 V* 12=V 12, V* 10=V 10である。
今、 複数のデコーダ 22— 1〜22—nの中の 1つのデコーダに、 ビデオ V* maのデコードを割り当てたとする。 このとき、 次にデコードすべきビデオを V *mbとしたときに、 ビデオ V*mbを再生すると、 そのままビデオ V*m aの継 続再生につながるような場合には (前段ビデオの終了処理及び後段ビデオの初期 化処理が不要の場合には) 、 ビデオ V*mbは、 ビデオ V*m aをデコードして いるデコーダに割り当てることが望ましい。
したがって、 ビデオ V*mbのデコーダへの割り当てを行う場合には、 まず、 すでに割り当てたビデオ V*m aとの関係を調べて、 ビデオ V*m aと同じデコ —ダに割り当てるか否かの判断処理を行うことにする。 この判断に用いる条件式 は、 以下の式 (1 a) 、 (1 b) 、 (1 c) であり、 これら 3つの式が成り立て ば、 ビデオ V*mbは、 ビデオ V*maと同じデコーダに割り当てることになる。
V*ma. URL = V*mb. URL … (l a)
V*ma. local start + V * m a . duration = V*mb . local start
… (l b)
V*ma. start+V*ma. duration= V*mb . start ··· ( 1 c ) 図 14は 3つの条件式 (1 a) 、 (l b) , ( 1 c ) を満たすビデオ V*mb を示す図である。 上記の式を図式化したものである。 式 (l a) は、 ビデオ V* mbの URLと、 ビデオ V*maの URLとが等しい (ビデオの実体が等しい) ことを表している。 式 (l b) は、 ビデオ時間上で、 ビデオ V*maの再生終了 時間 (=V*ma. local start+ V*m a . duration) と、 ビデオ V*mbの再生 開始時間 (=V*mb. local start) とが等しいことを表している。
さらに、 式 (l c) は、 シナリオ時間上で、 ビデオ V*maの再生終了時間 ( = V*ma. start+V*ma. duration) と、 ビデオ V *m bの再生開始時間 ( = V*mb. start) とが等しいことを表している。
式 (l a) で、 ビデオ V*mbがビデオ V*maと同じ URLであり、 式 (1 b) のビデオ時間上でビデオ V*maの終了時間と、 ビデオ V*mbの開始時間 とが一致し、 式 (l c) のシナリオ時間上でビデオ V*maの終了時間と、 ビデ ォ V*mbの開始時間とがー致すれば、 1つのビデオ上の連続区間として再生で きるので、 ビデオ V*mbは、 ビデオ V*maを割り当てた同じデコーダに割り 当てる (ビデオ V*m aの終了処理と、 ビデオ V*mbの初期化処理とが不要) 。 次に上記の条件式を満たさない場合のデコーダ配分について説明する。 ビデオ V*maをデコーダに配分して、 次にビデオ V*mbの配分を行う場合、 上記で 示した 3つの条件式 (l a) 、 (l b) 、 (l c) を 1つでも満たさない場合に は、 時間 V*mb. start において、 空きのあるデコーダを選択することになる。 図 15、 図 16はデコーダを選択する際の条件を示す図である。 ビデオ V*m aの再生終了時間が T、 ビデオ V*maの終了処理に要する時間が Δ e、 ビデオ ¥*0113の再生開始時間が¥*111 . start, ビデオ V*mbの初期化処理に要する 時間が Δ sとする。
このとき、 ビデオ V*mbを時間 (V*mb. start— A s) で再生処理が可能 とするには、 ビデオ V*maは、 時間 Tまでにはビデオ V*maの再生処理が終 了している必要がある。 したがって、 時間 V*mb. startで選択できるデコー ダの条件は以下の式 (2) となる。
(V*mb. start- Δ s ) ≥ (Τ + Δ e) ··· (2) 図 15は式 (2) の等号が成り立つ場合、 図 16は式 (2) の不等号が成り立 つ場合を図式化している。 式 (2) の右辺 (T + Ae) は、 該当デコーダが再利 用可能となる時間を示しており、 左辺 (V*mb. start- Δ s) は、 ビデオ V* maが指定時間 V*mb. start に再生可能となるための初期化開始期限を示し ている。 左辺の値が右辺の値より小さい場合は、 該当デコーダでは V*mb. start までに初期化を終了できないことを意味しており、 ビデオ V*mbの処理 は不可能とわかる。
次にシナリオ管理部 21 aにおける上記のデコーダ配分アルゴリズムのフロー チャートを示す。 図 17、 図 18はデコーダ配分アルゴリズムを示すフロ一チヤ 一卜である。
〔S 1〕 ビデオソースの番号を示す mを初期化する (m— 1 :図 5の初期スケジ ユーリング区間の場合では、 mは 7からである) 。
CS 2] ビデオ V*mbをデコーダへ配分する際、 式 (l a) 、 (l b) 、 (1 c) のすベての条件を満たす、 ビデオ V*maが配分されているデコーダの検索 を行う。
〔S 3〕 式 (l a) 、 (l b) , (1 c) の条件を満たすデコーダがあればステ ップ S 5へいき、 なければステツプ S 4へいく。
CS 4〕 ビデオ V*maが配分されているデコーダにビデオ V*mbを配分する。 ステップ S 10へいく。
〔S 5〕 式 (2) の条件を満たす、 時間 V*mb. start における空きデコーダ の検索を行う。
〔S 6〕 式 (2) の条件を満たすデコーダが 1個あればステップ S 7へいき、 複 数個あればステップ S 8へいき、 存在しなければステップ S 9へいく。
CS 7) 該当する 1個のデコーダにビデオ V*mbを配分する。 ステップ S 10 へいく。
〔S 8〕 式 (2) の条件を満たすデコーダ中で、 最初にデコード処理が終了する デコーダにビデオ V*mbを配分する (初期化処理の Δ s及び終了処理の Δ eは、 ネットワーク 3のトラフィック状態によって変動する可能性がある。 このため、 デコード処理が最初に終了して最も余裕のあるデコーダを選択する) 。 ステップ S 10へいく。
〔S 9〕 すべてのデコーダ中で一番速くデコード処理が終了するデコーダにビデ ォ V*mbを配分する。
〔S 10〕 mを更新する (m— m+ 1) 。
CS 11〕 スケジューリング区間内のすべてのビデオソースをデコーダに配分し たならば終了し、 そうでなければステツプ S 2へ戻る。
次にシナリオ管理部 21 aの詳細構成について説明する。 図 19はシナリオ管 理部 21 aの構成を示す図である。 シナリオ管理部 2 l aは、 シナリオパーザ (parser) 21 a— l、 同期コントローラ 21 a— 2、 スケジューラ 2 l a— 3、 分岐判定部 21 a— 4から構成される。
シナリォパーザ 21 a— 1は、 シナリォ読み込み指示がなされたときに、 コン テンッサーバ 1 2と通信して該当するシナリオをダウンロードし、 内部形式に変 換する (シナリオをサーバから読み込み、 サブシナリオに展開する) 。 読み込ん だシナリオデータは、 全体制御部 2 4経由で同期コントローラ 2 1 a— 2の再生 対象としてセットされる。
同期コントローラ 2 1 a— 2は、 シナリオがセットされると、 デコーダ 2 2— 1〜2 2— nとスケジューラ 2 1 a— 3との同期を管理する。 また、 同期コント ローラ 2 l a— 2は、 全体制御部 2 4からシナリオ再生指示があると、 微小時間 (例えば数 msec) 毎に周期起動されるようになる。 この場合、 シナリオ一時停 止指定があると周期起動を中断し、 かつシナリオ時間の増加も停止する。 シナリ ォ停止指定があると周期起動を中断し、 かつシナリオ時間を初期状態 (0 . 0 sec) に戻す (詳細な状態遷移は図 2 0で後述する) 。
スケジューラ 2 1 a _ 3は、 図 1 7、 図 1 8のフローチャートで上述したデコ ーダ配分アルゴリズムを実行する。 分岐判定部 2 l a— 4は、 ュ一ザイン夕フエ ース部 2 5を通じて設定された分岐パラメータを、 シナリオに記載された分岐条 件と比較し、 条件に合ったビデオを選択して、 選択指示を同期コントローラ 2 1 a _ 2に与える。
一方、 ビデオ再生時間が再生中のサブシナリオの分岐時間に達すると (または 分岐時間前に分岐が確定した場合) 、 同期コント口一ラ 2 1 a— 2は、 分岐判定 部 2 1 a— 4に次の分岐先サブシナリオを問い合わせる。 分岐判定部 2 1 a— 4 は、 ュ一ザイン夕フェース部 2 5により指定されている分岐パラメータとサブシ ナリオの分岐条件を比較し、 次のサブシナリオを選択する。
次のサブシナリオ s i + 1が選択されると、 同期コント口一ラ 2 1 a— 2は、 選択されなかった分岐のビデオソースが配分されたデコーダ 2 2を開放すると共 に、 スケジューラ 2 1 a _ 3は新たなビデオソースをデコーダ 2 2に配分する。 図 2 0は同期コントローラ 2 1 a— 2の状態遷移を示す図である。
〔S 2 1〕 初期状態からシナリオ s iがセットされると、 シナリオ停止状態へ遷 移する。 シナリオ停止状態では、 周期起動が O F F、 シナリオ時間 T s == 0 . 0 sec となる。 シナリオ時間 T sは、 同期コントローラ 2 1 a— 2が周期起動した ときに、 シナリオ再生開始からの経過時間を反映した時間である。 CS 22] シナリォ停止状態において、 全体制御部 24からシナリォ再生指示 (Play) があると、 シナリオ再生状態 (周期起動 ON) へ遷移する。
〔S 23 a〕 シナリオ再生状態において、 全体制御部 24からシナリオ一時停止 (Pause) があると、 シナリオ一時停止状態 (周期起動 OFF) へ遷移する。 〔S 23 b〕 シナリオ再生状態において、 全体制御部 24からシナリオ停止 (Stop) があると、 シナリオ停止状態へ遷移する。
CS 24 a] シナリオ一時停止状態において、 全体制御部 24からシナリオ再生 指示 (Play) があると、 シナリオ停止状態 (周期起動 OFF) へ遷移する。
〔S 24b〕 シナリオ一時停止状態において、 全体制御部 24からシナリオ停止 (Stop) があると、 シナリオ再生状態へ遷移する。
次にデコーダ 22の動作について説明する。 デコーダ 22は、 ビデオ V*mに 対して、 初期化処理、 再生処理、 終了処理を行うが、 現在時間 (シナリオ時間 T sとする) において、 どの処理を行っているかは以下の式 (3 a) 、 (3 b) 、 (3 c) にもとづく。
T s<V*m. start … (3 a)
V*m. start≤T s<V*m. start+V*m. duration … (3 b)
V*m. start +V*m. duration^ T s ··· (3 c) 以下、 式 (3 a) 、 (3b) 、 (3 c) の意味を図 21〜図 23を用いて説明 する。 図 21は初期化処理を行っている状態を示す図である。 式 (3 a) は、 初 期化処理を行う場合であり、 現在のシナリオ時間 Tsが式 (3 a) を満たし、 か つ該当デコーダが停止している場合にはビデオ V*mの初期化処理が行われる。 すなわち、 ビデオ V*m_ 1が停止中ならば、 ビデオ V*mの URLを設定し てプリフェッチを行うことになる。 プリフェッチとは、 ビデオ再生の前処理のこ とであり (バッファリングや初期化処理などが含まれる) 、 ビデオを即時に再生 可能な状態にもっていく処理のことである (プリフェッチ処理を行った後は、 ュ 一ザはスィツチを押せばすぐに映像が表示されることになる) 。
図 22は再生処理を行っている状態を示す図である。 ビデオ時間で現在再生さ れている位置を再生位置 pとして、 この再生位置 pをシナリオ時間 T sとすると、 Tsが満たす条件が式 (3 b) となる。 ビデオ V*mの再生開始時間は、 シナリ ォ時間で見ると、 (V*m. local start +V*m. start— Ts) secである。
図 23は終了処理を行っている状態を示す図である。 式 (3 c) は、 終了処理 を行う場合であり、 現在のシナリオ時間 Tsが式 (3 c) を満たす場合にはビデ ォ V*mの終了処理が行われる。 すなわち、 ビデオ V*mが再生中で、 シナリオ 時間 Tsが V*m. start+V*m. duration を過ぎたらすみやかに再生を終了す る (停止状態に遷移する) 。
なお、 上記の式 (3 a) は、 m=lのとき、 すなわち稼動しているデコーダが 存在しないときは、 この条件のみが適用される。 また、 ビデオ V*mが式 (3 c) を満たした場合でも、 図 14で上述した式 (1 a) 、 (l b) , (1 c) を を満たすビデオ V*m+ 1が存在する場合は、 後段のビデオ V*m+ 1の式 (3 b) の条件による再生を優先する (ビデオ V*mのデコード終了条件を満たして いても、 ビデオ V*mに継続する V*m+ 1が存在する場合は、 ビデオ V*m+ 1 の再生条件を優先する) 。 すなわち、 同じデコーダ V*m.decodei' (=V*m + 1.decoder) において、 同一 UR Lのビデオが連続的に再生され続けることにな る。
さらに、 式 (3 a) でプリフェッチ状態への遷移がおきたにもかかわらず、 プ リフエツチ遷移が完了せずに式 (3 b) の条件に合致してしまった場合 (すなわ ち、 初期化処理が延長してしまい、 V*m. start に達してしまった場合) 、 そ のデコードは再生を開始することができない。 この場合、 プリフェッチ遷移完了 まで Ts=V*m. startから T sを増加させないようにして (ビデオ再生可能 状態に遷移) 、 プリフェッチが完了次第、 ビデオ再生状態に遷移して、 Tsの増 加を再開する (再生開始時間を遅らせるということ) 。
次にデコーダ 22及び表示制御部 23の状態遷移について説明する。 デコーダ 22及び表示制御部 23を含めて、 以下、 ビデオプレイヤと記す。 図 24はビデ ォプレイヤの状態遷移を示す図である。
〔S 31〕 停止状態からビデオ V*m. URLがセットされると、 プリフェッチ 状態へ遷移する。
〔S 32〕 プリフェッチ状態において、 プリフェッチが完了すると、 ビデオ再生 可能状態へ遷移する。 〔S 3 3 a〕 ビデオ再生可能状態 (動画の一時停止かつ不可視状態) において、 ビデオ再生 (Play) があると、 ビデオ再生に遷移する。
〔S 3 3 b〕 ビデオ再生可能状態において、 ビデオ停止 (Stop) があると、 停 止状態に遷移する。
〔S 3 4 a〕 ビデオ再生状態 (動画の可視状態) において、 ビデオ一時停止 (Pause) があると、 ビデオ再生可能状態へ遷移する。
〔S 3 4 b〕 ビデオ再生状態において、 ビデオ停止 (Stop) があると、 停止状 態に遷移する。
図 2 5はビデオプレイヤの可視 Z不可視の切替えを示す図である。 ビデオプレ ィャでは、 画面 2 3 b— 1の中の同一領域に対して、 複数のビデオ再生画 (メデ ィァプレイヤ画面) をスケジューリングにもとづき作成しておく (重畳表示可能 にしておく) 。
そして、 各メディアプレイヤ画面に対して、 不可視 (ビデオ再生可能状態) と するには、 属性が "hidden" となり、 可視 (ビデオ再生状態) とするには、 属 性が " visible" となることで画面表示を行う。 このように、 あらかじめ再生画 を作成しておき、 可視/不可視の属性を変えることで、 スイッチング機能を行う ことになり、 所望の画面を表示する。
このように、 本発明によれば、 複数のストリーミングが配信されるビデオシナ リオにおいて、 クライアント指示により分岐がある場合でも、 シナリオに記述し たとおりの順番で、 かつ各ビデオの繋ぎ目部分で非表示がなく、 なめらかにビデ ォを連続して再生することが可能になる。
以上説明したように、 本発明のメディア再生装置は、 一方のメディアの再生処 理終了時間から他方のメディアの再生処理開始時間までのタイムラグを除去する ように、 複数のデコーダにスケジューリングを施し、 デコーダからの再生出力の 切替えを行ってメディアを表示する構成とした。 これにより、 分岐再生のあるス トリーミングメディアに対し、 各ビデオの繋ぎ目で発生していた非表示区間をな くすことができるので、 シームレスなビデオ再生を実現することが可能になる。 上記については単に本発明の原理を示すものである。 さらに、 多数の変形、 変 更が当業者にとって可能であり、 本発明は上記に示し、 説明した正確な構成およ び応用例に限定されるものではなく、 対応するすべての変形例および均等物は、 添付の請求項およびその均等物による本発明の範囲とみなされる。

Claims

請 求 の 範 囲
1 . ストリ一ミングメディァの再生を行うメディァ再生装置において、
一方のメディアの再生後に連続再生または分岐再生する他方のメディアに対し て、 一方のメディアの再生処理終了時間から他方のメディアの再生処理開始時間 までのタイムラグを除去するようにスケジユーリングを施すスケジュ一リング部 と、
前記スケジユーリングにもとづいて配分されたメディァの復号化処理を並列し て行う複数のデコーダを含む復号化処理部と、
デコーダからの再生出力の切替えを行い、 再生されたメディアを表示する表示 制御部と、
を有することを特徴とするメディア再生装置。
2 . 前記スケジューリング部は、 分岐時間を T b、 メディアの初期化処理に要 する時間を Δ sとした場合に、 時間 (T b + A s ) をスケジューリング区間とし、 前記スケジューリング区間に含まれるメディアをスケジューリング候補とするこ とを特徴とする請求の範囲第 1項記載のメディァ再生装置。
3 . 前記スケジューリング部は、 分岐時間に到達した場合、 または分岐時間前 に分岐が確定した場合は、 分岐しなかったメディァが配分されたデコーダは開放 し、 開放されたデコーダにあらたな分岐先ビデオの再配分を行うことを特徴とす る請求の範囲第 1項記載のメディァ再生装置。
4. 前記スケジューリング部は、 デコーダに第 1のメディアを配分して、 次に 第 2のメディアの配分を行う場合、 第 1のメディアと第 2のメディアとのメディ ァ実体の格納場所が等しく、 かつメディア時間上で、 第 1のメディアの再生終了 時間と第 2のメディアの再生開始時間が等しく、 かつシナリオ時間上で、 第 1の メディァの再生終了時間と第 2のメディァの再生開始時間とが等しい場合には、 第 2のメディァは、 第 1のメディァを配分した同じデコーダに配分することを特 徴とする請求の範囲第 1項記載のメディァ再生装置。
5 . 前記スケジューリング部は、 第 1のメディアの再生終了時間を T、 第 1の メディァの終了処理に要する時間を Δ e、 第 2のメディァの再生開始時間を V * m b . start, 第 2のメディアの初期化処理に要する時間を Δ sとした場合、
(V *m b . start - Δ s ) ≥ (Τ + Δ e )
の条件式を満たすデコーダに対して、 第 2のメディアを配分することを特徴とす る請求の範囲第 1項記載のメディァ再生装置。
6 . 前記デコーダは、 デコード対象のメディアを V *m、 現在のシナリオ時間 を T s、 メディア V *mのシナリオ時間での再生処理開始時間を V*m. start と した場合に、
T s <V *m. start
の第 1の条件を満たす場合には初期化処理を行い、
V *m. start≤T s <V*m. start+ V*m. duration
の第 2の条件を満たす場合には再生処理を行い、
V*m. start + V *m. duration^ T s
の第 3の条件を満たす場合には終了処理を行うことを特徴とする請求の範囲第 1 項記載のメディァ再生装置。
7 . 前記デコーダは、 前記第 3の条件を満たしていても、 第 1のメディアと第 2のメディアとのメディア実体の格納場所が等しく、 かつメディア時間上で、 第 1のメディアの再生終了時間と第 2のメディアの再生開始時間が等しく、 かつシ ナリォ時間上で、 第 1のメディァの再生終了時間と第 2のメディァの再生開始時 間とが等しいビデオ V *m+ 1が存在する場合は、 ビデオ V *m+ 1の前記第 2 の条件による再生を優先することを特徴とする請求の範囲第 6項記載のメディア 再生装置。
8 . 前記デコーダは、 前記第 1の条件で初期化処理を含むプリフェッチ状態へ の遷移がおきたにもかかわらず、 プリフェッチ遷移が完了せずに前記第 2の条件 に合致した場合は、 プリフェッチ遷移が完了するまでは、 再生開始時間であるシ ナリオ時間を増加させず、 プリフェッチが完了した後に、 再生状態に遷移して、 シナリォ時間を増加することを特徴とする請求の範囲第 6項記載のメディァ再生 装置。
PCT/JP2003/008811 2003-07-10 2003-07-10 メディア再生装置 WO2005006748A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005503858A JP4134164B2 (ja) 2003-07-10 2003-07-10 メディア再生装置
PCT/JP2003/008811 WO2005006748A1 (ja) 2003-07-10 2003-07-10 メディア再生装置
US11/260,296 US20060034583A1 (en) 2003-07-10 2005-10-28 Media playback device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/008811 WO2005006748A1 (ja) 2003-07-10 2003-07-10 メディア再生装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/260,296 Continuation US20060034583A1 (en) 2003-07-10 2005-10-28 Media playback device

Publications (1)

Publication Number Publication Date
WO2005006748A1 true WO2005006748A1 (ja) 2005-01-20

Family

ID=34044614

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/008811 WO2005006748A1 (ja) 2003-07-10 2003-07-10 メディア再生装置

Country Status (3)

Country Link
US (1) US20060034583A1 (ja)
JP (1) JP4134164B2 (ja)
WO (1) WO2005006748A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008053916A (ja) * 2006-08-23 2008-03-06 Nec Corp コンテンツ配信システム、情報端末装置、コンテンツ配信方法および画像切替プログラム
JP2008538675A (ja) * 2005-04-19 2008-10-30 マイクロソフト コーポレーション メディアタイムライン処理インフラストラクチャ
WO2011136124A1 (ja) * 2010-04-30 2011-11-03 ソニー株式会社 コンテンツ再生装置、制御情報提供サーバ、及びコンテンツ再生システム
WO2012049833A1 (ja) * 2010-10-14 2012-04-19 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
JP2014532338A (ja) * 2011-09-30 2014-12-04 ▲ホア▼▲ウェイ▼技術有限公司 ストリーミングメディアを伝送するための方法およびデバイス
JP2016197845A (ja) * 2015-04-06 2016-11-24 日本放送協会 動画再生装置及びプログラム
CN115225955A (zh) * 2021-04-16 2022-10-21 海信视像科技股份有限公司 显示设备、视频切换方法、装置及存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7667120B2 (en) * 2006-03-30 2010-02-23 The Tsi Company Training method using specific audio patterns and techniques
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US7774488B2 (en) * 2008-03-12 2010-08-10 International Business Machines Corporation Method and system for switching media streams in a client system based on environmental changes
US8938548B2 (en) * 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
JP5640574B2 (ja) * 2010-09-01 2014-12-17 ヤマハ株式会社 端末装置
EP2498494A1 (en) * 2011-03-11 2012-09-12 Thomson Licensing Decoder and method at the decoder for synchronizing the rendering of contents received through different networks
CN103646573B (zh) * 2013-12-11 2016-01-06 闫健 一种全景模式教学系统的专用格式文件的生成方法
CN103747366B (zh) * 2013-12-23 2018-04-27 乐视致新电子科技(天津)有限公司 一种hls媒体文件播放进度的显示方法和播放器
US9894126B1 (en) * 2015-05-28 2018-02-13 Infocus Corporation Systems and methods of smoothly transitioning between compressed video streams
US10536743B2 (en) * 2015-06-03 2020-01-14 Autodesk, Inc. Preloading and switching streaming videos
US20190335228A1 (en) * 2018-04-30 2019-10-31 Centurylink Intellectual Property Llc Method and System for Implementing Auto-Switching or Auto-Playing Video Content
US10571991B2 (en) 2018-04-30 2020-02-25 Centurylink Intellectual Property Llc Method and system for implementing auto-switching or auto-playing video content
US10631061B2 (en) 2018-04-30 2020-04-21 Centurylink Intellectual Property Llc System and method for displaying and interacting with notifications
US12063423B1 (en) * 2018-09-24 2024-08-13 Nova Modum Inc Enhanced interactive web features for displaying and editing digital content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145735A (ja) * 1996-11-05 1998-05-29 Toshiba Corp 復号装置および画像/音声再生方法
JP2002051311A (ja) * 2000-08-02 2002-02-15 Matsushita Electric Ind Co Ltd オブジェクト連続再生装置
JP2003009113A (ja) * 2001-06-21 2003-01-10 Matsushita Electric Ind Co Ltd コンテンツ再生装置及び方法、並びにプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174561B2 (en) * 2001-04-13 2007-02-06 Emc Corporation MPEG dual-channel decoder data and control protocols for real-time video streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145735A (ja) * 1996-11-05 1998-05-29 Toshiba Corp 復号装置および画像/音声再生方法
JP2002051311A (ja) * 2000-08-02 2002-02-15 Matsushita Electric Ind Co Ltd オブジェクト連続再生装置
JP2003009113A (ja) * 2001-06-21 2003-01-10 Matsushita Electric Ind Co Ltd コンテンツ再生装置及び方法、並びにプログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008538675A (ja) * 2005-04-19 2008-10-30 マイクロソフト コーポレーション メディアタイムライン処理インフラストラクチャ
JP2008053916A (ja) * 2006-08-23 2008-03-06 Nec Corp コンテンツ配信システム、情報端末装置、コンテンツ配信方法および画像切替プログラム
WO2011136124A1 (ja) * 2010-04-30 2011-11-03 ソニー株式会社 コンテンツ再生装置、制御情報提供サーバ、及びコンテンツ再生システム
JP2011234301A (ja) * 2010-04-30 2011-11-17 Sony Corp コンテンツ再生装置、制御情報提供サーバ、及びコンテンツ再生システム
US10171546B2 (en) 2010-04-30 2019-01-01 Saturn Licensing Llc Content reproduction apparatus, control information providing server, and content reproduction system
WO2012049833A1 (ja) * 2010-10-14 2012-04-19 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
JP2012085216A (ja) * 2010-10-14 2012-04-26 Sony Computer Entertainment Inc 動画再生装置、情報処理装置および動画再生方法
US9055272B2 (en) 2010-10-14 2015-06-09 Sony Corporation Moving image reproduction apparatus, information processing apparatus, and moving image reproduction method
JP2014532338A (ja) * 2011-09-30 2014-12-04 ▲ホア▼▲ウェイ▼技術有限公司 ストリーミングメディアを伝送するための方法およびデバイス
US9712590B2 (en) 2011-09-30 2017-07-18 Huawei Technologies Co., Ltd. Method and device for transmitting streaming media
JP2016197845A (ja) * 2015-04-06 2016-11-24 日本放送協会 動画再生装置及びプログラム
CN115225955A (zh) * 2021-04-16 2022-10-21 海信视像科技股份有限公司 显示设备、视频切换方法、装置及存储介质

Also Published As

Publication number Publication date
US20060034583A1 (en) 2006-02-16
JP4134164B2 (ja) 2008-08-13
JPWO2005006748A1 (ja) 2006-08-31

Similar Documents

Publication Publication Date Title
WO2005006748A1 (ja) メディア再生装置
RU2459287C2 (ru) Запоминающий носитель, содержащий поток интерактивной графики, и устройство для его воспроизведения
US20050058435A1 (en) Information storage medium for storing information for downloading text subtitles, and method and apparatus for reproducing the subtitles
JP2004140536A (ja) 再生装置及び再生方法
US20080175559A1 (en) Image process apparatus and method thereof
KR20080040895A (ko) 불연속 동영상 데이터의 재생 방법 및 장치
JP2006041885A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
CN1110810C (zh) Dvd播放机中解码视频数据的方法
KR101198091B1 (ko) 학습 콘텐츠 서비스 제공 방법 및 시스템
JPH11341440A (ja) 画像表示装置、同装置に適用される画像切り替え表示方法
JP3668364B2 (ja) 連続メディア情報アクセス方法、連続メディア情報アクセス装置及び連続メディア情報アクセスプログラムを記録した記録媒体
JPWO2003054848A1 (ja) コンピュータ表示システム、コンピュータ装置および表示装置
CN101286274A (zh) 一种供盲人使用的数字视频的自动讲解系统
JP2006191186A (ja) コンテンツの再生システム、再生装置、再生方法、及び配信サーバ
KR100657269B1 (ko) 디지털 재생을 위한 화면 탐색 방법 및 화면 탐색 장치
JPH10327381A (ja) 映像情報の再生表示方法及び映像情報を記録した記録媒体
JPH1078947A (ja) マルチメディアタイトル再生装置
JP2008108296A (ja) 情報再生装置及び情報再生方法
JP2007516550A (ja) 再生装置、再生方法及び前記再生方法を行うプログラムが記録されたコンピュータで読み取り可能な記録媒体
JP4318182B2 (ja) 端末装置および同端末装置に適用されるコンピュータプログラム
JP2006054898A (ja) スケジュール機能を備えたマルチメディアコンテンツディスプレイシステム及びそのコンテンツ再生方法
JP2006337490A (ja) コンテンツ配信システム
JP5101570B2 (ja) 動画データとアプリケーションプログラムとが記録された記録媒体、その再生装置及び方法
Abramson et al. Context-sensitive multimedia
JP2002262238A (ja) 映像再生装置、映像配信装置および記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2005503858

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11260296

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 11260296

Country of ref document: US

122 Ep: pct application non-entry in european phase