The exercise question of the application's case opinion application on February 12nd, 2010 is the 61/303rd of " refunding and F.F. viewing experience (REWIND AND FAST-FORWARD VIEWING EXPERIENCE ON A WEB-BASED STREAMING PLAYBACK PLATFORM) on the based on network crossfire playback platform " the, the priority of No. 579 U.S. Provisional Application cases, described U.S. Provisional Application case is incorporated herein by reference.
Embodiment
Following detailed description of the present invention only is exemplary in itself, and does not wish to limit the present invention or application of the present invention and use.In addition, do not wish to be subjected to any theory constraint of presenting in the background technology of front or the detailed description subsequently.
According to various embodiment described herein, equipment, method and system present special play-back media viewing experience in the streamed content embodiment.According at least one embodiment, be described in refunding and the F.F. viewing experience on the based on network crossfire playback platform.Other embodiment can be in order to implement radio and television, order video, Web TV and/or any other application when needed.
Now turn to accompanying drawing and at first referring to Fig. 1, example embodiment is the common sparing of presentation medium stream aptly, and it uses two or more independent and media content objects 132,134,136 of coding by different way.Object 132,134,136 can (for example) be encoded with different frame rates, and/or its various frame of video encode to promote trick play operation with reverse order.In the example of Fig. 1, object 132 with higher frame rate can be in order at regular playback duration rendering content, and the object with low frame rate (for example, in this example, object 134 and 136) can be in order in trickplay modes, to present identical content, wherein present from the less frame of the same part of Media Stream to the beholder but present with the replay rate of accelerating.In addition, various content frame in one or more objects (for example, the object among Fig. 1 136) can encode to promote to carry out effectively " refunding " operation when carrying out backward in time in playback with the order that other object 132,134 is compared to put upside down.Similarly concept can be applied to use the object of encoding with higher frame rate to present forward direction and/or reverse " slow motion " stream equally, and then realizes than the frame resolution high frame resolution of script with acquisition.The media content object 132,134 of any number, 136 can be when needed with the different frame rates of any number encode with in forward direction or inverse direction, support any number comparatively fast, slower or equal playback speed.
In the illustrated example of Fig. 1, object 132 contains general 60 frame of video 102, and it provides approximately 2 seconds video contents (for example, about frame rate of 30 frame/seconds; Exemplary presentative time shown in Fig. 1 is based on the replay rate of 29.97 frame/seconds, but can use equally other speed).Object 134 and 136 is shown as the expression 2 second media contents identical with object 132, it has approximately 15 frame of video 102, so object 134 and 136 frame rate are approximately 1/4th (for example, approximately 7.5 frame/seconds) of the frame rate of object 132 in this example.Object 136 also shows with object 132 and compares various frames 102 with reverse sequence ordering with 134, so that the frame that occurs evening in time at regular playback duration is at first decoded and present, and then promotes the more effective function of refunding.Other embodiment object 132,134 and 136 (and additional objects of any number of the same part of presentation medium stream) can be encoded to have various durations, frame rate and/or other parameter.Forward direction and reverse flow needn't have same number of frames speed, and forward direction and the reverse flow of similar number also needn't be provided.Can in the equivalent embodiment of any number, be provided at any number extra of the different frame rates with any number that forward direction or inverse direction advance or substitute stream.
By selecting comprising between object 132,134 and 136 the stream, so can being suitable for compensating the user of playback speed, the frame rate of Media Stream changes.If the user wishes that routine techniques will only be all stream of decoding so, but then only present the subgroup of described frame, so that program seems to move with very fast speed with speed reach (or refunding) Media Stream faster than normal speed.Use Fig. 1 as an example, 60 frames of all in the object 132 can present in the time frame at 2 seconds during the normal playback.If the beholder wants " F.F. " by the represented content of object 132, a kind of mode that realizes so this operation is to present simply object 132 interior contained frames 102 (or the subgroup of described frame, for example key frame) within cycle short period.For instance, if presented all frames of object 132 in half second, program looks like with " 4 * " replay rate and advances so, and wherein frame rate multiply by factor 4 (that is, in this example, 120 frame/seconds) similarly.Yet, receive in the frame between at this moment, decode and reproduce all these data and will usually need relative a large amount of network bandwidth, and the relatively powerful data processing resources on the client terminal device.
Only the subgroup of the frame in the object 132 need to present to remain on the identical valid frame speed that regular playback duration is experienced during adding speed playback (for example, F.F. or refund).That is to say, the identical valid frame speed of experiencing at regular playback duration can be in 4 * playback duration only 25% keeping with the interior contained frame of object 132.Yet in the most conventional embodiment, player still needs to identify will be at the key frame that accelerates playback duration and present, so it still needs to obtain successively the full content of object to find out and to process a small amount of frame that in fact will reproduce.Extra frame in the object 132 finally is dropped, but only is after media player has been carried it and processed.In addition, owing to key frame may not separate with regular interval, so only the key frame playback may seem not steady and inconsistent for the beholder.
To be the different objects 134 or 136 that provide with the part identical from object 132 that described stream is provided but with the different frame rates that is suitable for current replay rate than effective method.For instance, if user command " 4 * " playback speed on forward direction, object 132 available objects 134 are replaced so, and object 134 does not contain in the situation that frame rate is demoted supports very fast needed all frames of resetting.Although object 134 has the frame that lacks than object 132, object 134 will provide the frame rate that equates with object 132 at very fast playback duration.In addition because object 134 contains the frame 102 that lacks than object 132, so object 134 will usually need the less network bandwidth for delivery of and the less processor resource of needs be used for decoding.Can in other embodiment of any number, revise employed special parameter and value in this example; Can suitably increase or reduce frame rate for the different playback speeds of any number so that desired valid frame resolution to be provided, and/or can any number different frame rates the additional objects of any number is encoded with the same part of presentation medium stream.
Can provide inverse direction to reset with similar concept, as in " refunding " function.In example shown in Figure 1, the difference of object 136 and object 132 and 134 is with the reversed time order various physical frame 102A-N that encode.That is to say, the frame (for example, frame 102N) that is illustrated in the content that occurs evening in time during the normal playback is provided in the frame (for example, frame 102A) that will early occur in time before during normal playback in object 136.By " evening " frame is provided in object 136 earlier, the frame that at first shows during reverse reproduction is the at first several frames that received by decoder.For instance, first frame of the first frame (for example, the frame 102N among Fig. 1) that in object 136, receives for during reverse reproduction, presenting.Because decoder will be receiving described frame 102A-N by the substantially the same order of rendering frame 102A-N, so reduce haply (not eliminating if having) to the needs of decoding and high-speed cache extra frame 102A-N before reproducing from reverse flow to the beholder during reverse reproduction.In addition, compare with the technology of only reproducing key frame, reset with much level and smooth, because frame provides with regular interval.
The different coding of combined frames speed and/or frame direction when needed.In the example of Fig. 1, object 136 encodes to promote faster playback speed through being shown as with the frame rate of the reduction similar to object 134, but carries out in the direction opposite with object 134.Yet other embodiment can higher or low frame rate come one or more reverse flow are encoded to provide effective reverse reproduction under friction speed.Can (for example) with the frame rate identical with object 132 but with reverse frames order encoding additional streams, under the speed identical with normal forward playback, carry out effective reverse reproduction in order to promote.Additional streams higher or low frame resolution reverse reproduction can be provided in other embodiment of any number.
In various embodiments, each media content object 132,134,136 thread, file or similar data objects for the specific part of the whole streams that can use of expression user.In these a little embodiment, each data object can have a scheduled time length specific part of (for example 2 second duration shown in Figure 1) with the expression original media stream through creating.In other embodiments, for instance, scheduled time length can be in the scope between approximately general 0.1 and 8.0 second, but can use equally other predetermined length.In addition, the media content in the object can with respect to contained media content in the stream begin have unique time index.Various objects can be organized in space mode (for example, arranging and index according to file size) or with any alternate manner equally.
Other embodiment can provide such media object: it may not " become piece " or otherwise be distributed as individual files, and provides relatively continuous media content stream together with table or other metadata of the position of employed " key frame " or analog in the identification special play-back.In these a little embodiment, metadata will usually provide and allow to change successional shared time or other index that keeps simultaneously the beholder to experience between Continuous Flow.Can therefore identify various " objects " or " part " of Media Stream by the processing of metadata, even independent file or thread are unavailable, also be like this.
In various embodiments, produce rightly many group media object with sharing space or time index, so that at the playback time of the different replay rate of user command or direction, can sequentially mix from the same group object not.That is to say, can follow from having the different coding parameter from the object of the first group objects but still not on the same group the object of the appropriate part of Media Stream is provided for the desired mode of trick play operation with the beholder.Between many group discrete objects, switch the permission response type and be adapted to network condition, user instruction and/or analog, keep simultaneously the visual continuity of the desired program stream of beholder.In the example that Fig. 1 presents, replace object 132 with object 134 or object 136 and keep visual continuity to the beholder, because according to shared presentative time index the object 132 in this example and 134 is carried out time index, and then guarantee the same part of content representation total medium content represented in the object 132,134 and 136, although represent with different frame rates and/or direction.
Now referring to Fig. 2, use so that Media Stream can be comprised by the exemplary calculated environment 200 that one or more client terminal devices 204 obtain aptly via network 245: communication interface 237; Database 238, it stores two or more set of media objects 232-236; And media server 210, it sequentially will offer client terminal device 204 from the various special objects of various groups of 232-236 via network 245 when needed.Computing environment 200 also can comprise media content sources 205 and encoder 220 when needed, but other embodiment can be fully and the delivery of content function carry out dividually encoding function.
Content server 210 and client terminal device 204 can use one or more data communication networks 245 (for example internet) and/or one or more common local area network (LAN)s (LAN), PAN (Personal Area Network) (PAN), campus area network (CAN), metropolitan area network (MAN), wide area network (WAN), WLAN (wireless local area network), cellular network, VLAN, aforementioned every any combination and/or analog to communicate.Other embodiment can allow between content server 210 and the client terminal device 204 with communicating by letter that any alternate manner carries out.
Client terminal device 204 is configurable to connect the 241 any suitable device from media server 210 audio receptions, video and/or other media content via one or more crossfires.The example of client terminal device 204 can be including but not limited to client station, server, personal computer, portable electron device, mobile phone, personal digital assistant, video game system, entertainment systems, set-top box, digit receiver, Digital Television, time or place shift unit and/or other electronic installation when needed.In some embodiments, client terminal device 204 can be implemented with general-purpose computing system when appropriate, and described general-purpose computing system executive software or firmware are to provide media player application program 201.Media player 201 can be one and (for example plays media content, display video and audio plays) software, for example combination or the analog of the stand-alone software application of any kind, network browser card, browser plug-in and supportive webpage logic.
Fig. 2 shows the
content source 205 that in due course Media Stream 206 is provided to encoder 220.In the embodiment that Fig. 2 describes, source of
media 205 can be the founder of publisher's server, publisher's content thesaurus, media content or any other source of publisher and/or audio frequency, video or content of multimedia when needed.For instance, be the broadcasting of TV programme if treat the
media content 206 of crossfire,
source 205 can be and attachedly TV or cable system channel arranged (for example so
Channel or
Channel) server.Publisher can be sent to encoder 220 with
media content 206 via internet or another network, and described
encoder 220 is through being configured to rightly receive and process the encoded stream 232,234 of
media content 206 to create any number.
Each encoded stream 232,234,236 represents one group of media object (for example, object 132,134,136) aptly, and it has different frame coding parameter (for example, frame rate, frame direction and/or analog) separately.One group of thread or similar object that each among the 232-236 of these streams can be used as the duplicate that jointly represents original media content 206 are stored in the database.In general, among the different group of objects 232-236 each will be shared the time of sharing or other index, so that from not on the same group the object of 232-234 can so that described object is mixed with each other can be obtained by client terminal device 204 time, and then allow content flow to be adapted to rightly network condition, user's input and any other factors.
Various objects can be used as one or more files or a group or more individual files is stored in content server, the webserver, database server, cache memory server, acts on behalf of on other device on cache memory or the network, for example find in the content transmission network (CDN) 240 of routine.In various embodiments, object is stored in the database 238 when needed, retrieves subsequently for media server 210, so that object can be obtained by client terminal device 204.
Interface 237 is interface card, server and/or other computing hardware of any kind, and it can promote communicating by letter between media server 210 and one or more client terminal devices 204.In various embodiments, media server 210 can be implemented with conventional computer server (virtual " based on cloud " server and/or the analog that comprises any conventionally calculation hardware, any kind), the wherein network service that promotes between media servers 210 and one or more client terminal devices 204 of interface 237.Other embodiment can allow client terminal device 104 to retrieve media object from an above media server 210 in the CDN 240 when needed.So interface 237 can be the simple interface card that can be used by particular server, or same, can be the interface server that load balancing, route, mandate and/or checking, firewall services and/or further feature can be provided when needed.
Although illustrated that for each client terminal device 204 one of media server 210 and/or CDN 240 connects 241 in Fig. 2, each connection 241 can logically represent a plurality of network connections of CDN 240.In one embodiment, each client terminal device 204 can be set up a plurality of pipage control agreements (TCP) or other connection 241 via network 245 to CDN 240.In another embodiment, media content is stored among a plurality of CDN.For instance, content can be stored in a plurality of CDN in each origin server that is associated in.CDN 240 can be used for improving performance, scalability and cost-benefit purpose by the overall availability that reduces bandwidth cost and increase content to end user (for example, beholder).In other embodiments, can come so that media content can be obtained from origin server by media player with other technology, for example peer-to-peer network or analog.And although in Fig. 2 media server 210 is illustrated as in CDN 240, server 210 can reside in equally CDN 240 outsides and still be associated with CDN 240.
As described above, each trick play stream 234,236 is illustrated in the frame rate different from regular playback stream as indicated above 232 and/or the duplicate of the original media stream under the direction.In these expressions each is stored in another part place of media server 210, database 238 and/or CDN 240 rightly.Various stream 232-246 can be stored as individual files or other object, and it can be asked independently, transmit and/or be play by client terminal device 204.In the encoded object each can be stored in the webserver that is positioned at CDN 240 in one or more content servers 210, act on behalf of on cache memory, the edge cache memory, and can be dividually requested and so that can be obtained by client terminal device 204.
Any combination of the crossfire embodiment that can drive with client, that server drives and/or the client of each conception of species described herein and/or server drive is implemented.In various embodiments, server 210 is selected which content object is sent to client terminal device 204 based on user's input and/or by the out of Memory that client terminal device 204 provides usually.In other embodiments, client terminal device 204 is determined from content server 210 which particular content object of request.For instance, but client terminal device 204 examples such as the conventional agreements such as hypertext transfer protocol (HTTP) or analog from the independent object of media server 210 request.One type request can using in " draw and send " situation is HTTP " GET " or similar request, but other embodiment can come from server 210 request thread or other objects with other mechanism of any number.
Therefore, various embodiment can be so that can obtain Media Stream with the object 132,134,136 of a sequence.By client 204 or server 210 alternatives, and sequentially selected object is provided to client 204 from server 210 via network 245.Among many embodiment of therein client terminal device 204 origin object requests, conventional network-type file server can and be served the object of asking in order to retrieval, and then minimizing is to supporting the needs of special Media Stream, remain on simultaneously just providing the ability of carrying out trick play functionality when flowing with specialized server.
Other embodiment can provide media content via network 245 with different technologies.For instance, some embodiment can be stored in content in the Single document, and described Single document is divided into cacheable in CDN 240 and/or some parts of asking with HTTP range of requests or analog.Other embodiment can use RTSP or other agreement that adaptable content flow is provided when needed.In some embodiments, RTSP or other agreement can be encapsulated in TCP, UDP, RTP, HTTP and/or other delivery protocol or via TCP, UDP, RTP, HTTP and/or other delivery protocol and transmit to promote to pass through fire compartment wall or be used for any other purpose.Equally, the standard agreement such as example such as HTTP or analog has reduced or eliminated the network manager configuring firewalls usually with for special protocol identification and the needs by Network.Can formulate the equivalent variations of any number.
The extra trick play stream 234 of any number, 236 can by encoder 220 with mentioned above based on drawing the similar mode of the configuration of sending to create.Described extra encoded content file for example can be stored in the database 238 rightly.Can be when needed at the player 201 of client terminal device 204 or another part place, by alternative in the logic OR of server 210 interior execution what its position in office.Can then selected object be provided to client terminal device 204 to be used for playback from server 210 by any way.Therefore various special play-back concepts described herein can be applicable to push or draw send concept or based on other network delivery technology of the client and server side logic of client-side, server side or any combination.
Many embodiment can be further strengthen with the quality of regulation rule or trick play stream in response to network condition, player capabilities or other factors when needed with self adaptation crossfire ability.In order to implement the self adaptation crossfire, encoder 220 is one or more with in some different quality profiles coding normal playbacks streams 232 and/or the trick play stream 234,236 extraly.Described quality profile represents different parameters separately, for example how the width of encoding stream, image and height be (namely, the image size), video bit speed (namely, the speed that video is encoded), audio frequency bit rate, audio sample speed are (namely, the speed of when capturing audio frequency being taken a sample), the audio track number (for example, monophony, stereo or analog), frame rate (for example, frame/second), classification size or analog.
Various client terminal devices 204 can be processed the different quality grade of same media content 206, and this depends on application, beholder's preference, device capability, network throughput or any other factors.Some embodiments can make the different quality profile be obtained by client terminal device 204 when needed.In these a little embodiment, but the same section of different media player 201 receiving media contents (for example, the same time index), but receive with the different quality grade.For instance, a media player 201 can ask to have the thread of HD quality video, because the calculation element of request media player has enough computing capabilitys and enough network bandwidths, and another media player 201 can ask to have low-qualityer object, because its calculation element may not have enough network bandwidths (for instance).In one embodiment, media player 201 is by from the different duplicates of media content (for example, different quality stream) next being between the credit rating at segment boundary of the some parts of request switched, as describing in No. 2005/0262257 U.S. Patent Application Publication case of application on April 28th, 2005.Perhaps, media player 201 usefulness are benefited from other technology that is understood by those skilled in the art that of the present invention and are asked described part.Employed various mass parameters can make up when needed in the coding, and in order to replenish various types of frame codings described herein.For instance, at least one stream 242 of codified, it has relatively low frame rate to support special play-back but has relatively high bit rate to keep picture quality, even during trick play operation, also is like this.Can encode in various embodiments and the various flows of otherwise processing any number with any many kinds of parameters.
In order to implement trick play features, then, will have appropriate frame rate and/or frame direction to support the media object that to reset to be provided to media player 201 or another assembly of client terminal device 204 from server 210.In some embodiments, can be by media player 201 (for example, use HTTP " GET " instruction) select and ask specific thread or other object, and other embodiment can be made response with when needed will be at server 210 places, at database 238 places and/or be provided to client terminal device 204 at other local object of selecting of environment 200 to user's input or other appropriate information.
In various embodiments, the playback of various streams can through change and control be supported under any playback speed (for example 3 *, 0.5 *, 10 *, 7.5 or any other multiple under) carry out special play-back.Media player 201 is reproduced in the frame at appropriate interval aptly, to realize desired replay rate.Because replay rate is variable, so player can calculate and change described speed with acceleration or deceleration in a continuous manner in many embodiments.In other embodiments, encoder is with low frame rate (for example, 4 frame/seconds and 8 frame/seconds) two or more special flows of encoding of difference.Which stream media player 201 (or server 210, when appropriate) can calculate with produces the smooth reproduction of the speed multiple of wanting and can not increase the burden of CPU or decoding hardware.In addition, can forward direction or reverse order frame is encoded, as described in this article, to support when needed reverse reproduction.
Fig. 3 for can be in certain embodiments in order to implement Media Stream such as F.F., refund and/or the slow motion flow chart of example procedure 300 of trick play features such as (on forward direction or inverse direction) of resetting.Various functions shown in Figure 3 can software or firmware implement, described software or firmware can be stored in any nonvolatile media (for example, memory or the mass storage device in the client terminal device 204) and can be carried out by microprocessor, microcontroller, digital signal processor or other FPGA (Field Programmable Gate Array) of any kind.Various embodiments can be in most of (if not all) process 300 of client terminal device 104 interior enforcements, and other embodiment can be implemented some functions (for example, the function relevant with selecting special object or object data stream) in the media server 210 of CDN 240 or another part.Can be therefore different between embodiment in order to the particular elements of implementing various functions shown in Figure 3.
Process 300 comprises replay rate and direction (function 302) that initialization is reset aptly, obtain media object (function 304), the decoding corresponding to replay rate and direction and the media object (function 306) that obtains and input 310 and guide when needed trick play features to adjust the wide variety of functions of replay rate (function 308,312) or playback direction (function 309,314) in response to the user of resetting.Basic function shown in Figure 3 can be made amendment, replenish or organize by different way with any logic, time or alternate manner when needed.
Carry as mentioned, can be by implementing with thread or other media object 132,134 and/or strengthen trick play features, described thread or other media object 132,134 have the different qualities that is suitable for the required special playback parameter of beholder or other users.Note that but time-based or Spatial Cable attract sequentially obtains from various streams or organizes 232,234,236 thread or similar object 132,134,136 and it is mixed with each other.Can reset to be supported under any speed and in either direction sequentially obtaining object on forward direction or the inverse direction, and then allow very high level user's control.
Can carry out reset (function 302) under any speed and in forward direction or inverse direction at first.In certain embodiments, playback can come initialization with " freeze frame " or rest image when needed.Function 302 relates to aptly and initial parameter is set when needed with in order to obtain appropriate media object 132,134.
Can obtain by any way media object 132,134 (function 304).In various embodiments, client terminal device 104 obtains appropriate thread or other media object from server 210 aptly rightly.Can use (for example) HTTP or similar agreement to make these a little requests with from obtaining the file type object via conventional CDN or other network-type server of internet or another network insertion.Equally, can use RTSP or other crossfire agreement that object is provided to client terminal device 204.In various embodiments, thread or similar object 132,134,136 can be identified by name or the file identification form of client terminal device 204 and/or any kind of media server 210 usefulness.For instance, can object 132,134,136 be positioned in the database 238 by title or URL(uniform resource locator) (URL).In certain embodiments, at least in part according to corresponding to the relative time of object or spatial index value and/or according to described stream or comprise that special object 132,134,136 group 232-236 determine each object 132,134,136 title.Other embodiment can be by tables of data or other structure, by the metadata of the relative position in one or more continuous data streams of identification or with any alternate manner identifying object.
Other embodiment can select and obtain appropriate object with the logic OR analog based on server as indicated above.Select by any way associate specific media objects by client 204 and/or by server 210.Then use any kind (for example, asking to transmit thread or other file in response to HTTP GET) based on file, based on stream (for example, RTSP) and/or other Transfer Technology selected object is provided to client 204 from server 210.
Decode when needed and reproduce the media object that receives to be used for reset (function 306).Reset usually and to carry out with routine techniques by the media player 201 of carrying out at client terminal device 204 or analog and according to the at that time parameter of supervision playback speed and/or direction.In various embodiments, reproducing media contents can relate to be used for to reset with display (for example, the display on computer system, mobile phone or the analog) that client terminal device 204 self is associated on present content through decoding.Perhaps, reproducing content can relate to be used for to reset will the described content of expression signal be provided to TV or other external display (for example, television receiver or set-top box can by appropriate output signal being provided to TV or other display comes reproducing content)." reproduction " content can be considered place displacement or other long-range demonstration concept when needed with the alternate manner that is used for resetting.
If the user provides to change the input 310 of the playback of Media Stream, obtain have thread or other media object 132,134,136 of different parameters during can or pushing in follow-up object requests so, and/or can adjust when needed playback parameters to adapt to available group of objects.
For instance, if the beholder wishes to change replay rate (function 308), can during follow-up object requests, obtain so for the media object 132,134 of new playback speed with more appropriate frame rate coding (function 312).Because playback speed increases, so may obtain to have for the time cycle that equates thread or other media object 134,136 of low frame rate.On the contrary, if playback speed descends (for example, to support the slow motion feature), may need so to have the object of similar number or extra frame to keep valid frame speed by slower playback speed.If have the media object 132,134,136 unavailable of the frame rate of optimum or special request, subsequent request can be selected simply to have and want speed than close proximity but still provide abundant data to keep the object of the conforming frame rate of image so.For instance, if the beholder asks 8 * playback speed only 1 * and 4 * flow for available, can select so 4 * stream, wherein subsequent playback abandons obsolete frame.Before the media object with institute's request rate coding was so effective although this may not have to receive, with only based on 1 * Media Stream process 8 * reset and compare, it will be saved the network bandwidth and process resource.Replay rate can be converted to another speed from a speed smoothly, is perhaps controlled by the user when needed.
If user's amount of imports is outer or alternatively change the direction (function 309) of will resetting, so still can sequentially retrieve according to time, space or other index thread or other media object 136 of phase-reversal codings from server 210; The direction of inverted sequence (function 314) only.For instance, can by with numerical order from reverse flow 236 searching objects but in time backward mobile (for example, towards time 0 or program begin advance) process and refund function.Object 136 is from the embodiment of the thread of server 210 request or similar discrete file therein, and the process that is used for receiving previous object is relatively convenient, because can come demand file with numeral or other index order simply.This allows usually to let loose in the function of refunding of the content of early decoding and high-speed cache, as usually in many conventional streaming media embodiments easily.In some cases, can realize the reverse reproduction of relative short cycle with only single thread or other object, and then reduce or eliminate obtain the needs of a plurality of objects from server 210.
In addition, among the available embodiment, basically come received frame 102 with the same order of frame 102 being decoded and reproduce at the object 136 with the encoded frame of reverse order.So the frame 102 in each object 136 is play with its received same order simply basically, rather than decoding and high-speed cache frame are so that can play at first last received frame.This can reduce memory consumption and processor load haply, and then greatly improves performance (or realize refund feature at the device that does not originally have this ability).
Obtain media object (function 304), reproduce the media object that obtains be used for resetting (function 306) and in response to the user input 310 general procedure of adjusting playback can be when needed the continuously repetition by any number.Share among the embodiment of shared index at the independent stream with different coding parameter therein, can sequentially mix object from the various flows of any number to keep the image continuity to the beholder, as indicated above.For instance, this can allow the level and smooth acceleration or deceleration of forward direction or reverse playback speed, and then provides very pleasant user to experience, and preserves simultaneously bandwidth and computational resource.
In addition, because provide the stream that receives in the mode of selecting based on wanted replay mode (for example, fast/slow, forward/reverse), so greatly simplified the processing that receives stream in order to decoding and reproduction.Decoder is simply basically with the order that the is received various frames of decoding, and do not have actual consideration playback speed or direction, because the replay mode of the media object that receives 132,134,136 through encoding especially to provide the user to be ordered.
Various technology described herein can be convenient interface and the further feature that the beholder realizes any number.Various embodiment can adjust playback speed in the mode that changes the speed of video tape machine or similar analogue means with simulation smoothly to making response in input actual or that virtual " touching rotating disk ", rotation control, slider type and/or other input provide.In these a little embodiment, the speed that can carry out continuous variable changes (or change or with the selected multiple of speed), and no matter the initial replay rate of before special play-back, using how.For instance, the user may suspend to begin with video playback, and then advances to search for forward or backward to locate the content of wanting.The user can be then turns back to the zero velocity state when the user finds the content that he or she wants.
F.F. and slow motion effect can be controlled by the rotating disk in hardware or the software users interface similarly.For instance, the described rotating disk of user's forward direction or backward rotation is far away, and the replay rate that produces on the display is just faster or slower.Replay rate can change in the continuously smooth mode rightly.In some embodiments, speed can turn back to initial ready state replay rate (for example, time-out, rule are reset or analog).In one embodiment, can in the PC player interface, implement slide block or rotation control piece simulating spring-loaded mechanical control piece, described spring-loaded mechanical control piece when the user discharges described control piece towards the null effect location bias.Therefore, various embodiment provide very pleasant beholder to experience, and it allows the user control playback according to its oneself footwork.These example embodiment provide better availability and the attraction of playback experience in stream context, and the playback experience that is similar to traditional TV playback experience is provided.Other embodiment can provide different characteristic, comprises the user interface of other type when appropriate.
In aforementioned description, state numerous details.Yet, benefit from those skilled in the art of the present invention and will easily understand, can be in the situation that there be these specific detail to put into practice many different embodiment.In some instances, at length do not show well-known construction and device with the block diagram form, in order to avoid obscure relevant details.
Some parts described above in detail is that algorithm and the symbolic representation according to the operation that the data bit in the computer storage is carried out presents.These arthmetic statements and expression are that the technical staff of data processing field is used for most effectively the essence of its work being conveyed to others skilled in the art's means.And usually algorithm is interpreted as the self-congruent sequence of steps that causes the result that wants herein.Described step is the step that need to carry out to physical quantity physical manipulation.Usually, but may not, the signal of telecommunication that this tittle adopts and can store, transmits, makes up, compares and otherwise handles or the form of magnetic signal.Proving that every now and then it is easily that these signals are called position, value, element, symbol, character, project, numeral or analog, mainly is the reason of using for often.
Yet, should remember, all these and similar terms should be associated with appropriate physical quantity and only be the convenient label that is applied to this tittle.Unless as understand that from this paper discusses special statement is arranged in addition, otherwise should be appreciated that, in whole description, utilize for example " reception ", " coding ", " generation ", " division ", " processing ", " calculating ", " accounting ", " determine ", the discussion of the terms such as " demonstration " or analog can refer to action and the process of computer system or similar electronic data processing system, be expressed as the data of physics (for example, electronics) amount in the RS of described electronic data processing system operating computer system and change it into computer system memory or register or the storage of other this type of information, be expressed as similarly other data of physical quantity in transmission or the display unit.
Various embodiment also can relate to a kind of equipment for carrying out operation herein.This equipment can be through special configuration being used for required purpose, or it can comprise by the general-purpose computing system that is stored in the special programming of computer program in the computer system.This computer program can be used as software or firmware is stored in any nonvolatile computer-readable storage medium with source or object identification code form, such as but not limited to disk (comprising floppy discs, optical disc, CD-ROM and magnetooptic disk), read-only memory (ROM), random access memory (RAM), flash memory, EPROM, EEPROM, the magnetic or optical card of any type, or be suitable for the media of any type of store electrons instruction.
Use term " exemplary " to represent to have example, example or an explanation of the alternative of any number herein.Any embodiment that is described as " exemplary " herein needn't be interpreted as more preferred or favourable than other embodiment.Although in aforementioned detailed description, presented some example embodiment, should be appreciated that, have a large amount of substituting but the modification of equivalence, and the example that presents does not wish to limit the scope of the invention by any way, applicability or configuration herein.On the contrary, can make various changes in the function of various features described herein with in arranging in the situation of the scope that does not break away from claims and legal equivalents thereof.