Embodiment
Referring now to Fig. 1, it illustrates the simplified illustration for the system for constructing and operating according to embodiments of the present invention.
User 101 can use various types of equipment 103, including but not limited to smart mobile phone, tablet PC, palm
Computer, laptop computer, desktop computer, standard definition television, HDTV etc..
Television operator (not shown) creates configuration file 105, and it is available various that the configuration file 105 lists user 101
The attribute of equipment.The example of configuration file 105 has been illustrated below:
In the present embodiment, the form of configuration file 105 be with " D, SS, OS, MiBR, MSR, MUR " forms it is hexa-atomic
Groups List, wherein:
D represents type (such as smart mobile phone, tablet PC, laptop computer, desktop computer, the standard of equipment
Definition television (SDTV), HDTV (HDTV) etc.);
SS represents the screen size (inches) of equipment, and the size " can fade to TV from the 3.5 of smart mobile phone
42 " more than);
Operating system that OS represents to run in equipment (iOS, Google of such as apple Android, Microsoft
Windows 7, RIM Blackberry (blackberry, blueberry), NDS Fusion (set top box operations system) etc.);
MiBR represents to be suitable to the minimal bit rate (mbit (Mbit/ for the compression video for showing video in equipment
s));
MSR represents maximum video resolution (such as 480i (853x480 alternating expressions), the 576i supported by equipment
(1024x576 alternating expressions), 576p (1024x576 progressive scans), 720p (1280x720 progressive scans), 1080i (1920x
1080 alternating expressions), 1080p (1920x 1080 is progressively scanned), 768 (4:3)(1024x768 4:3 depth-width ratio) etc.);And
MUR represents the maximum video resolution used based on the screen size of equipment (for example, for having compared with the small screen
Equipment, because the picture quality difference between low-resolution video (i.e. 480i) and high-resolution video (i.e. 720p) is human eye
It is imperceptible, therefore 480i can be referred to as the maximum of this equipment and use video resolution).
Maximum is used using the video resolution MUR maximums that can be used for calculating the compression video that can be effectively handled by equipment
Bit rate.The maximum of calculating compression video has been illustrated below and has used bit rate (MaBR) (unit:Bps) example formula:
MaBR=X*Y*FR*MR*0.07
Wherein:
MaBR is that the maximum for compressing video uses bit rate;
X is the quantity of every frame horizontal pixel;
Y is the quantity of every frame vertical pixel.
(one of ordinary skill in the art will be appreciated that, X and Y value can (it provides every frame vertical pixel from configuration file
Quantity instruction, i.e. Y) in resolution value and depth-width ratio (AR) obtain, wherein:
X=Y*AR
Depth-width ratio is usually 16:9, but can be 4 for some resolution ratio:3 (such as from example shown above configuration file
It can be seen that).
FR is frame per second (http://en.wikipedia.org/wiki/Frame_rate) (it is usually 24 frames/second
(fps));
MR is sport rank, i.e. the instruction of amount of exercise in video.Video may be generally classified as three sport ranks it
One:It is low, in or it is high:
Rudimentary motion is with the video at least moved.For example, a people is imaging in the case where not moving too much
Spoken before machine, simultaneous camera is not moved with background in itself.
Middle rank motion is the video with a certain degree of movement, but with predictable orderly fashion, this refers to taking the photograph
The relatively slow movement of some of camera and reference object, rather than whole picture become the multiple of entirely different thing at once
Scene changes, suddenly editing, fast camera movement or amplification.
Advanced motion be with highly mobile video (such as action movie trailer), wherein it is mobile not only soon and not
It can be predicted, and scene is also changed very fast.
It is that each grade assigns multiplication constant in order to which this subjective factor is converted into quantization factor.Due to these grades
It is not linear, therefore following numeral goes for grade:It is low=1, in=2, high=4.In other words, with reasonable mobile
The video of amount with it is considerably less so that compared with the video not moved compression it is difficult twice.Maintaining the same of same quality level
When, very fast and uncertain video compress is difficult four times.
0.07 be by experiment for obtaining the maximum estimate using bit rate (for conventional video frame size and
Frame rate scope) obtain constant.
The Kush that further details on formula given above can be published in Adobe Systems Inc
Amerasinghe " H.264For found in The Rest Of Us ", and in http://www.adobe.com/
It can be used in content/dam/Adobe/en/devnet/video/articles/h264_prim er/h264_primer.df.
The following table shows calculating and assume that frame rate is the different video that 24fps, sport rank are 2 according to above-mentioned formula
The maximum of compression video of resolution ratio uses bit rate (unit:Mbit (Mbit/s)) some example values:
It is to be understood that in an alternative embodiment, instead of maximum using resolution ratio (or in addition) in configuration file
Maximum is provided and uses bit rate.
Configuration file 105 is transmitted to ABR policymaker (ADM) 107 and the configuration file 105 and received by the ADM 107.
ADM 107 sets the ABR of system to configure with the user for (user's 104) each user for optimizing (equipment 103) each equipment
Experience and minimize the bandwidth used in system.
In order to set the ABR of system to configure, the encoding stream that also each equipment including equipment 103 is supported of configuration file 105
Quantity (quantity of the quantity of the subchannel of different bit rates, also referred to as bit rate) instruction, or encoding stream (subchannel) it
Between optimal bit rate difference instruction, optimal bit rate difference makes it possible to realize the even base between bit rate in equipment
This is seamless to jump.In an alternative embodiment, these additional information bits can be supplied to the ADM separated with configuration file 105
107。
In an alternative embodiment, the subchannel sum (or bit rate sum) or all that can be created for audio-video frequency content
Supported gross bit rate can be supplied to ADM 107 in subchannel.
Referring now to Fig. 2, the download configuration files (step 201) first of ADM 107, that is then found from configuration file sets
The first equipment (step 203) is selected in standby list.For the first equipment, ADM 107, which is obtained, to be applied to show video in equipment
Compression video minimal bit rate (MiBR), and also obtain can effectively be handled by equipment compression video maximal bit
Rate (MaBR) (step 205).
It is mentioned that the quantity for the encoding stream that can support each equipment of equipment 103 (believe by the son of different bit rates
The quantity in road) instruction be supplied to ADM 107.In certain embodiments, ADM 107 is come using the instruction of encoding stream (CH) quantity
Calculate the bit rate that can be used for calculating intermediate bit rate poor (BRD) (step 207).In these embodiments, constant bit rate
Difference can be calculated according to (unrestricted) example formula shown below:
BRD=(MaBR-MiBR)/(CH-1)
Then intermediate bit rate can be calculated according to following equation:
IBRn=IBRn-1+BRD
For n=1 to (CH-2), wherein IBR0=MiBR.
Assuming that CH value is 4, then for the first equipment in configuration file, this will draw following bit rate (unit
Mbit/s):0.4th, 0.73,1.04 and 1.4.
Further to be mentioned that, the instruction of the difference of the optimal bit rate between encoding stream (subchannel) can be supplied to ADM
107, wherein optimal bit rate difference will make it possible to realize the substantially seamless jump between bit rate in equipment.
In some embodiments it is possible to which constant bit rate difference BRD is supplied into ADM 107.
Then intermediate bit rate (IBR) can be calculated according to following equation:
IBRn=IBRn-1+BRD
From n=1 (wherein IBR0=MiBR) until IBRn> MaBR.
However, it is recognized that can generally provide obvious quality in low bit rate, or even small bit rate increase and change
It is kind, and in high bit rate, only bit rate, which is substantially improved, generally can just produce the difference in quality.Therefore, in other embodiment
In, bit rate difference can be configured according to following (unrestricted) exemplary scenario:
BR < 1 Mbit/s, BRD=0.35 Mbit/s
1 Mbit/s≤BR < 2 Mbit/s, BRD=0.5 Mbit/s
2 Mbit/s≤BR < 4 Mbit/s, BRD=0.75 Mbit/s
4 Mbit/s≤BR, BRD=1.1Mbit/s
Wherein:
BR represents bit rate;And
BRD represents that bit rate is poor.
Then intermediate bit rate can be calculated according to following equation:
IBRn=IBRn-1+BRD
From n=1 (wherein IBR0=MiBR) until IBRn>MaBR。
Assuming that using above-mentioned example scheme, for the first equipment in configuration file, it is (single that this will produce following bit rate
Position Mbit/s):0.4th, 0.75,1.1 and 1.4.
It will be apparent to those skilled in the art that its other party for calculating one group of bit rate can be used
Method.For example, the non-linear relation between bit rate (BR) and quality (Q) can be limited so that
Q=f (BR)
One example can be:
Assuming that n bit rate stream, under fixed mass interval, minimum mass QminWith biggest quality QmaxFor:
Or, wherein
Wherein B is one group of bit rate.
Then the bit-rates values of first equipment are stored (step 209) by ADM 107.Then ADM 107 checks to recognize
It is fixed whether to have handled all devices (step 211) listed in configuration file.
If not yet handling all devices, the repeat step 203-211 of ADM 107 are with each equipment of computing device 103
Suitable bit rate.
If having handled all devices, ADM 107 creates encoder/wrapper configuration file (not shown) and sent out
Multiple bit rate encoding device 109 and wrapper 113 are delivered to, and also creaties directory and configuration file and sends it to LIST SERVER
115 (steps 213).
In an alternative embodiment, ADM 107 alternately sends encoder/wrapper configuration file to wrapper 113,
The list of all bit rates calculated is alternatively sent at most bit rate coder 109.
In the present embodiment, the form of encoder/wrapper configuration file is that have " D, SS, OS, BR, IFF, URL, EA "
Seven tuples lists of form, wherein:
D represents type (such as smart mobile phone, tablet PC, laptop computer, desktop computer, the standard of equipment
Definition television (SDTV), HDTV (HDTV) etc.);
SS represents the screen size (inches) of equipment, and the size " can fade to TV from the 3.5 of smart mobile phone
42 " more than);
Operating system that OS represents to run in equipment (iOS, Google of such as apple Android, Microsoft
Windows 7, RIM blackberry, blueberry, NDS Fusion (set top box operations system) etc.);
BR includes the list that ADM 107 is all bit rates that equipment is calculated;
IFF represents the index file form suitable for equipment (for example, M3u8, iSMV, ownership etc..It is to be understood that suitable
The operating system that (at least part) is depended on running in equipment by the index file form for equipment);
URL be equipment can for access be adapted to its index file URL (URL) (for example, according to
Screen size, operating system of equipment etc.);
EA represents the AES suitable for equipment (such as AES-CBC, AES-NSA, AES-CTR).
In the present embodiment, the form of catalogue configuration file be have " D, SS, OS, the quaternary Groups List of URL " forms, its
In:
D represents type (such as smart mobile phone, tablet PC, laptop computer, desktop computer, the standard of equipment
Definition television (SDTV), HDTV (HDTV) etc.);
SS represents the screen size (inches) of equipment, and the size " can fade to TV from the 3.5 of smart mobile phone
42 " more than);
Operating system that OS represents to run in equipment (iOS, Google of such as apple Android, Microsoft
Windows 7, RIM blackberry, blueberry, NDS Fusion (set top box operations system) etc.);
URL be equipment can for access be adapted to its index file URL (URL) (for example, according to
Screen size, operating system of equipment etc.).
Multiple bit rate encoding device 109 obtains media signal 111 (being typically audio-video signal), with what is received from ADM 107
Multiple different bit rates coding media simultaneously are packaged to transmit to it.Generally it is encoded to the form of the support of all devices 103, example
Such as (but not limited to) H.264/MPEG-4 AVC videos and High Efficiency Advanced Audio encode (HE-AAC) audio.Multiple bit rate encoding
Device 109 is by the Media Stream of coding (usually as mpeg 2 transport stream-package form can be used with several different compressed formats)
It is sent to wrapper 113.It is not seen in fig. 1, but there may be from ADM 107 (or another ABR policymaker) reception matchmakers
Body signal and other multiple bit rate encoding devices of instruction.
Wrapper 113 from multiple bit rate encoding device 109 receive coding Media Stream and by block ' pushs ' (i.e. transmission) extremely
(the http of content distributing network (CDN) 117 in network 119://en.wikipedia.org/wiki/Content_
Delivery_network each flow point is cut into block before).Wrapper 113 is always according in encoder/wrapper configuration file
The instruction of middle reception creates independent index file for each equipment of equipment 103.For each equipment, index file is included to this
The index of each to each block of each of the available various encoded media streams of locking equipment.Wrapper 113 is then by rope
Quotation part ' push ' is to CDN 117.
LIST SERVER 115 is provided as the index file of this equipment establishment according to request for each equipment of equipment 103
URL, this enables each equipment to retrieve suitable index file from CDN 117 and be used for it to select suitably to encode matchmaker
Body stream.
In an alternative embodiment, wrapper 113 is also carried out before block is pushed into CDN 117 using key to each piece
Encryption.
In the above-described embodiments, ADM 107 by each equipment in the list of devices for configuration file calculate it is all
Bit rate sends at most bit rate coder 109 and wrapper 113.In an alternative embodiment, it may be desirable to minimize bit first
The quantity of rate is to minimize bandwidth used in system, because the bit rate of definition is more it is necessary to the more bandwidth of use.
The quantity for minimizing bit rate additionally aids the memory requirement minimized in CDN 117.It is also expected to minimizing the quantity of bit rate
To meet any limitation previously specified to the following:Can be total for the subchannel of the establishment of item of audio-video frequency content
(or bit rate sum), or the gross bit rate that can be supported between it can be supplied to ADM 107 all subchannels, or each volume
The subchannel sum (or bit rate sum) that code device/wrapper can be supported, or each encoder/wrapper can support it is total
Bit rate.(unify) is unified by the bit rate that will be close to together or omits some bit rates completely to support close saved
Other bit rates of bit rate slightly, to realize the quantity for minimizing bit rate.Once this group of bit rate is minimized and excellent
Change (optional step 215), just send this group of bit rate of modification using one of above method by ADM 107.
Optimization problem can be expressed as by finding out the bit rate of minimum number.Starting point is that ADM 107 is each equipment meter
Calculate bit rate list.Then cost function f () is limited.For example, such cost function is to supporting some ABR to configure institute
All bandwidth summation needed.Because some bit rates are omitted or unified, other cost function factors are satisfied with user
Reduced in terms of degree.The technology for solving optimization problem is referred to as optimized algorithm.In general, these methods are attempted by taking iteration
Step come minimize cost function f () so that its reduce.For example, step can be made up of following:It will be close to two together
Bit rate is unified or omits a bit rate to support another bit rate close to the bit rate being omitted.Optimized algorithm is usual
Use stopping criterion.For example, proceeding to minimize cost function f () iteration until cost function f () reaches that some can connect
Untill the threshold value received, or untill continuing up to cost function f () improvement rate too small (or not existing even).
One optimized algorithm is referred to as steepest descent method (SD) or gradient descent method (referring to http://
en.wikipedia.org/wiki/Gradient_descent).This is a kind of greedy algorithm, the algorithm take always provide by
The step of maximum improvement that maximum bandwidth is saved is provided, such as uniform bit rate or omission bit rate.
SD can be confined to local minimum and therefore prevent such case, and SD can utilize referred to as simulated annealing
Technology (http://en.wikipedia.org/wiki/Simulated_annealing) improve.
Cluster problem can also be expressed as by finding out the minimum number of bit rate.For example, the referred to as technology of K averages cluster
(http://en.wikipedia.org/wiki/K-means_clustering) attempt optimally to make n bit rate be approximately k
Individual cluster, wherein each bit rate belongs to the cluster with nearest average.K averages using metric function come between measurement point away from
From.If the multiple trial of some value k K averages reaches bad approximate, it indicates that should increase parameter k.
Reference picture 3a and Fig. 3 b, Fig. 3 a indicate poor by bit rates of the ADM 107 according to previously described following table
The bit rate (unit Mbit/s) for four equipment that method is calculated:
Equipment |
Bit rate (Mbit/s) |
3.5 " smart mobile phones |
0.4;0.75;1.1;1.4 |
9.7 " tablet PCs |
0.5;0.85;1.2;1.4 |
21.5 " desktop computer |
0.7;1.05;1.55;2.05;2.8;3.1 |
42"HDTV |
3.0;3.75;4.5;5.6;6.7;7.0 |
ADM 107, which is can be seen that, from upper table and Fig. 3 a calculates 19 different bit rates.
Fig. 3 b indicate initial one group of bit rate (as shown in Fig. 3 a and upper table) according to previously described method it
The bit rate (unit Mbit/s) of one optimised four equipment of identical with after minimum.Then show in the following table logical
Cross the bit rate that ADM 107 sends at most bit rate coder:
Equipment |
Bit rate (Mbit/s) |
3.5 " smart mobile phones |
0.5;0.75;1.15;1.4 |
9.7 " tablet PCs |
0.5;0.75;1.15;1.4 |
21.5 " desktop computer |
0.75;1.15;1.4;2.05;2.8;3.1 |
42"HDTV |
3.1;3.75;4.5;5.6;7.0 |
ADM 107 is can be seen that from upper table and Fig. 3 b, and the details of 11 bit rates send at most to bit rate coder is (such as
It is relative with 19 different bit rates being previously calculated).
It should be noted that being initially omitted by some bit rates calculated of ADM 107 (for example, 0.4Mbit/s;
0.7Mbit/s;1.55Mbit/s;3.0Mbit/s;6.7Mbits) and simultaneously some bit rates (for example, 1.1Mbit/s and
1.2Mbit/s is unified to arrive 1.15Mbit/s) unified.
It is also noted that because minimum/optimization causes smart mobile phone, desktop computer and HDTV minimal bit rate
It will be increased and this will produce influence to the use of bandwidth.In an alternative embodiment, minimal bit rate can also be by most
Smallization/optimization reduces the use not increase bandwidth.However, this may have a negative impact to visual experience.
It is further noted that the Maximum Bit Rate of this all four equipment receives great attention.Implement optional
In example, Maximum Bit Rate can be increasedd or decreased by minimum/optimization, but use that this may respectively to bandwidth or
Visual experience has a negative impact.
In an alternative embodiment, the people of each equipment by providing and possessing for ADM 107 and/or using equipment 103
The relevant extraneous information of number, can improve above-mentioned algorithm higher with pair bit rate associated with more popular equipment progress
Weighting.
In an alternative embodiment, equipment 103 can be reported periodically to ADM 107 uses and possible for which bit rate
Buffers packet quantity.When receiving this feedback from one or more equipment 103, ADM 107 can be with when calculating one group of bit rate
The feedback is accounted for.This can cause ADM 107 to match somebody with somebody using the one group of bit rate recalculated come more new encoder/wrapper
Put file.Therefore, multiple bit rate encoding device 109 can encode media with new or change bit rate, and will be newly encoded
Media stream to wrapper 113, wrapper divides the flow into block, by block ' push ' to CDN 117 and newly to be calculated or
These equipment of the bit rate influence of change create new index file.
If for example, while using ABR contents, the particular device in equipment 103 ' shakes between two bit rates
It is dynamic ' (that is, being toggled between two different bit rates, reason is that such as one too high and another is too low), then it is specific
Equipment can be configured as returning the handover information to ADM 107.If ADM 107 receives this switching from enough equipment
Information, then ADM 107 can be configured as the bit rate on the premise of the handover information is accounted for and recalculated.
ADM 107 can create new bit rate or mobile existing bit rate (while considering how all in influence system such case is
Other equipment).Dynamic and optimised by the bit rates selected of ADM 107, and can change over time so as to
Minimum system bandwidth provides best video quality to each equipment.
In the above-described embodiments, ADM 107 is described as the ABR configurations of setting system.In addition, and in alternative embodiment
In, the above method may be used to progressive download function (http://en.wikipedia.org/wiki/Progressive_
Download) it can be used by one or more of equipment 103 equipment.In these alternative embodiments, required PDL functions
It can be marked in configuration file 105, configuration file 105 can be modified to become seven tuples rather than hexa-atomic group.It is extra to become
It can be PDL marks to measure, if setting PDL to mark, and it represents that ADM 107 should handle the equipment with PDL marks in terms of
Calculate PDL bit rates and create PDL index files for the equipment marked.For PDL marking arrangements, index file is generally only included
The index of the block encoded with individual bit rate, the maximum of typically PDL marking arrangements uses bit rate.Advantageously, these are optional
Embodiment can enable ABR and PDL functions form single content ingestion process, and (that is, identical encodes blocking audio/video flow
It can be used for ABR and PDL the two functions).
In an alternative embodiment, it is supplied to by being provided for ADM 107 with (such as by ADSL broadbands, cable broadband)
The relevant extraneous information of the typical bandwidth of subscriber household and the typical throughput during prime time, can improve above-mentioned algorithm
To carry out higher weighting to more popular bit rate.In these embodiments, the crowd with some maximum available bandwidth
Accounting for the division of how many ratio allows bit rate to be weighted.Such case can be static (for example, using can be from operator
The estimation covering data of acquisition are (for example, in given crowd, 99.7% crowd's (that is, 3 standard deviations) can be with 1Mbit/
Bandwidth between s and 5Mbit/s continuously receives business;Or in given crowd, the user of the nominated bandwidth with 10Mbit/s
Can be within 99.7% time with least 1Mbit/s bandwidth reception business), or it is dynamic (for example, using audience analysis
Photometry system (AMS) collects the data about actual use stream, and recalculates bit rate stream every now and then).These measured values can
With in the configuration file 105 or the information can be transferred to ADM 107 independently of configuration file 105.
It is mentioned that, can be with defined function f so that
On equipment i, fi(b) the expection current mass under=bit rate b
This can be defined as the percentage that stream is considered as to visually acceptable user, or user is in testing stream
Total sequence there is provided and then interior insertion continuous function.It is previously proposed
fi(b)=ki*√b
In other embodiments, other mathematical modelings (for example, logarithmic function) of prediction prospective quality can be used, then
Using empirical data the mathematical modeling is calibrated for each equipment.
Weighting function w can also be specifiedi(b) cause:
wi(b)=give bit rates b, with equipment i and can with bit rate b receive business expection crowd's percentage
This weighting function generally determines the importance of specific bit rate.
For given function f, f derivative (i.e. df/db) represents density of the subchannel on this aspect, i.e., when f is sharply increased
When, subchannel is generally much closer to together, because the small change of bit rate makes quality have very big difference, and when f becomes more
When flat, subchannel generally will it is less and between it is farther, reason is that the big jump of only bit rate has obvious effect.
Function g is considered now, wherein:
gi(b)=fi(b)*wi(b)
G derivative generally provides the precisive of expected subchannel density, it is assumed that exists in certain bitrate range and is permitted
In the case that multi-user effectively uses this bit rate, the small change of up to this bit rate generally makes many people glad, and more than this
The small change of bit rate generally prevents many people are unhappy (to be flowed because of them from reusing this, they do not have enough bands
It is wide).
Therefore for locking equipment:
Dg/db=d (f*w)/db
It is that (it is that user brings optimal (or near-optimization) happy to Density Metric of the subchannel in bit rate b regions.
Consider user crowd, can be with defined function F:
It represents the chart of user's percentage (on all devices in a network), these user's bit rates b by producing
Stream (or some other quality metrics used) be to meet (that is, glad).F is sampled at regular intervals-1Can be used for most
The available strategy of bigization total satisfaction.
In addition, the information relevant with the carrying cost on CDN 117 is also provided to ADM 107 to calculate bit rate
When use.It is to be understood that the carrying cost on CDN 117 is lower, the bit rate that can be accommodated is more.
It is to be understood that the component software of the present invention need can be realized in ROM (read-only storage) form.Software
Component can be realized typically using conventional art with hardware when needed.It is to be further understood that component software for example may be used
To be instantiated as computer program product;It can be instantiated on tangible medium;Or can be instantiated as can be by appropriate
Computer explain signal.
It is to be understood that for clarity, each feature of the invention described in the context of separate embodiments
Can also in a joint manner it be provided in single embodiment.On the contrary, for simplicity, being retouched in the context of single embodiment
Each feature of the invention stated can also be provided individually or with any appropriate sub-portfolio.
It will be apparent to one skilled in the art that in the invention is not limited in being hereinbefore particularly shown and describing
Hold.But the scope of the present invention is only limited by the claims which follow.