A kind of panoramic video distribution method and system based on user personality
Technical field
The present invention relates to panoramic video distribution technology field, more particularly to a kind of panoramic video distribution based on user personality
Method and system.
Background technology
Panoramic video is while comprehensive visual information is provided, using the teaching of the invention it is possible to provide dynamic video information in real time, makes
Obtain one can see that the whole dynamic scene being looped around around video camera.Panorama sketch is typically all the image of big resolution ratio, it
Generation need substantial amounts of evaluation work.And panoramic video compares panorama sketch, a new time dimension is increased.Therefore, count
Calculation amount and data volume all would is that several times in panorama sketch, the operating efficiency of this disposal ability and software systems to hardware system
All it is greatly challenge.And when the code stream of panoramic video is distributed transmission, the bandwidth to network will form very big ground pressure,
The mobile network extremely limited to bandwidth, even more greatly challenges.
The content of the invention
The purpose of the embodiment of the present invention is to propose a kind of panoramic video distribution method based on user personality, it is intended to solved
Prior art when the code stream of panoramic video is distributed transmission, the excessive problem of network bandwidth pressure.
The embodiment of the present invention is achieved in that a kind of panoramic video distribution method based on user personality, methods described
Including:
Step A:Panoramic video multichannel is spliced into code stream, is arranged by camera acquisition visual angle order, after then sorting
Panoramic video multichannel splicing code stream sequence be designated as { stream1,stream2,...,streamN-1,streamN, it is corresponding to take the photograph
As head collection multiview sequence is designated as { θ1,θ2,...,θN-1,θN};
Step B:Send const seconds panoramic video multichannel code stream streamn;
Step C:In const seconds time window, the mark visual angle in the time window is sent
Step D:If panoramic video multichannel code stream streamnCode stream in n-th t+1 time windows is present, then into step
E;Otherwise, the distribution of panoramic video multichannel code stream is terminated;
Step E:IfIn the presence of then into step F;Otherwise, then nt=nt+1 is made, const is determined,
Value, reenter step B;
Step F:If user's inertial parameter signuseAbsolute value is equal to 1, then do not calculate user's inertial parameter signuse, directly
Tap into step G;Otherwise, then user's inertial parameter sign is calculated firstuse, subsequently into step G;
Step G:According to user's inertial parameter signuse, self adaptation distribution panoramic video multichannel code stream;
Step H:Nt=nt+1 is made, const is determined,Value, reenter step C.
Wherein, streamnN-th splicing code stream after camera acquisition visual angle order is arranged is pressed in expression, and N represents splicing code
The number of stream, n=1,2 ..., N;θnRepresent streamnCorresponding camera acquisition visual angle;
Const represents time window duration parameters;Nt represents time window label;Referred to as n-th t time window mark is regarded
Angle,Referred to as n-th t-1 time window mark visual angle;Represent respectively n-th t time window time upper limit and when
Between lower limit.
The another object of the embodiment of the present invention is to propose a kind of panoramic video dissemination system based on user personality, described
System includes:
Splicing code stream arrangement module, for panoramic video multichannel to be spliced into code stream, is arranged by camera acquisition visual angle order,
Then the panoramic video multichannel splicing code stream sequence for sorting later is designated as
{stream1,stream2,...,streamN-1,streamN, corresponding camera collection multiview sequence is designated as
{θ1,θ2,...,θN-1,θN};
Code stream sending module, for sending const seconds panoramic video multichannel code stream streamn;
Mark visual angle sending module, in const seconds time window, sending the mark visual angle in the time window
First judging treatmenting module, if for judging panoramic video multichannel code stream streamnIn n-th t+1 time windows
Code stream is present, then into the second judging treatmenting module;Otherwise, the distribution of panoramic video multichannel code stream is terminated;
Second judging treatmenting module, if for judgingIn the presence of then into the 3rd judging treatmenting module;Otherwise, then
Into making the first setup module;
First setup module, for setting nt=nt+1, determines const,Value, reenter code stream transmission
Module;
3rd judging treatmenting module, if for judging user's inertial parameter signuseAbsolute value is equal to 1, then be directly entered
Code stream self adaptation dispensing device;Otherwise enter access customer inertial parameter computing module;
User's inertial parameter computing module, for calculating user's inertial parameter sign firstuse, it is adaptive subsequently into code stream
Answer dispensing device;
Code stream self adaptation dispensing device, for according to user's inertial parameter signuse, self adaptation distribution panoramic video multichannel
Code stream;
Second setup module, for making nt=nt+1, determines const,Value, reenter mark visual angle hair
Send module;
Wherein, streamnN-th splicing code stream after camera acquisition visual angle order is arranged is pressed in expression, and N represents splicing code
The number of stream, n=1,2 ..., N;θnRepresent streamnCorresponding camera acquisition visual angle;
Const represents time window duration parameters;Nt represents time window label;Referred to as n-th t time window mark is regarded
Angle,Referred to as n-th t-1 time window mark visual angle;Represent respectively n-th t time window time upper limit and when
Between lower limit.
Beneficial effects of the present invention
The present invention proposes a kind of panoramic video distribution method and system based on user personality.The inventive method utilizes user
The continuity of characteristic is watched, the multichannel code stream to panoramic video splicing carries out self adaptation distribution.So that panoramic video can be
Distribute code stream during network congestion on demand, the viewing effect of spectators is not being influenceed, while lifting the fluency that panoramic video is played.
Brief description of the drawings
Fig. 1 is a kind of panoramic video distribution method flow chart based on user personality of the preferred embodiment of the present invention;
Fig. 2 is the method detailed flow chart of Step6 in Fig. 1;
Fig. 3 is a kind of panoramic video dissemination system mechanism map based on user personality of the preferred embodiment of the present invention;
Fig. 4 is code stream self adaptation dispensing device detailed structure view in Fig. 3.
Specific embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples
The present invention is further elaborated, and for convenience of description, illustrate only the part related to the embodiment of the present invention.Should manage
Solution, the specific embodiment that this place is described is used only for explaining the present invention, is not intended to limit the invention.
The embodiment of the present invention proposes a kind of panoramic video distribution method and system based on user personality.The embodiment of the present invention
Method watches the continuity of characteristic using user, and the multichannel code stream to panoramic video splicing carries out self adaptation distribution.So that
Panoramic video can on demand distribute code stream in network congestion, the viewing effect of spectators not influenceed, while lift panoramic video broadcasting
The fluency put.
Embodiment one
Fig. 1 is a kind of panoramic video distribution method flow chart based on user personality of the preferred embodiment of the present invention;The side
Method is comprised the following steps:
Step0:Panoramic video multichannel is spliced into code stream, is arranged by camera acquisition visual angle order, after then sorting
Panoramic video multichannel splicing code stream sequence be designated as
{stream1,stream2,...,streamN-1,streamN, corresponding camera collection multiview sequence is designated as
{θ1,θ2,...,θN-1,θN}。
Wherein, streamnN-th splicing code stream after camera acquisition visual angle order is arranged is pressed in expression, and N represents splicing code
The number of stream, n=1,2 ..., N;θnRepresent streamnCorresponding camera acquisition visual angle;" press camera acquisition visual angle sequentially
Arrangement " can be arranged by ascending order, can also be arranged in descending order, for convenience of stating, ascending order pattern of rows and columns, i.e. θ be used in text1<θ2
<......<θN-1<θN。
Step1:Send const seconds panoramic video multichannel code stream streamn, n=1,2 ..., N.
Wherein,Const represents time window duration parameters;t0Represent that transmission code stream is initial
Buffering duration, it is general desirable 3-6 seconds;tcRepresent and send bit stream buffer duration;Nt represents time window label, and initial value is 1.
Step2:In const seconds time window, the mark visual angle in the time window is sent
Wherein,Referred to as n-th t time window mark visual angle,Represent n-th t visual angle of time window
Upper and lower bound,
Max (variable | condition) is represented to asking the variable for meeting condition to minimize respectively, maximum;When t is represented
Between variable;N-th t the time upper limit and time lower limit of time window are represented respectively,
Step3:If panoramic video multichannel code stream streamnCode stream in (n=1,2 ..., N) n-th t+1 time windows is deposited
Then into Step4;Otherwise, the distribution of panoramic video multichannel code stream is terminated.
Step4:IfIn the presence of then into Step5;Otherwise, then nt=nt+1 is made, const is determined,'s
Value, reenters Step1.
Wherein,Referred to as n-th t-1 time window mark visual angle.
Step5:If user's inertial parameter signuseAbsolute value is equal to 1, then do not calculate user's inertial parameter signuse, directly
Tap into Step6;Otherwise, then user's inertial parameter sign is calculated firstuse, subsequently into Step6.
" calculate user's inertial parameter signuse" method it is as follows:
Step 1:IfAndThen make tempu=tempu+
1;Else ifAndThen make tempd=tempd+1;Otherwise, directly
Tap into step 2;
Step 2:Calculate
Wherein, Thres1、Thres2First, second decision threshold is represented respectively;Abs (variable) is represented and is asked absolute to variable
Value;Tempu, tempd represent first, second angular transformation statistic respectively, and initial value is 0;signuseRepresent user's inertia
Parameter, initial value is 0.
Step6:According to user's inertial parameter signuse, self adaptation distribution panoramic video multichannel code stream.
Fig. 2 is the method detailed flow chart of Step6 in Fig. 1;Specifically include following steps:
Step61:Angle difference sequence is calculated, is designated as
Step62:D θ are calculated firstminu=min (d θn|dθn>0, n=1,2 ..., N), then find d θminuIt is corresponding
Camera acquisition angle, is designated as θnow, corresponding code stream is designated as streamnow;dθminuIt is temporary variable;
Step63:By streamnowAnd streamnowCode stream order afterwards is put into right side code stream sequence table, is designated as
Tableu={ streamnow,streamnow+1,streamnow+2,...,streamN, then by streamnowCode stream before falls
Sequence is put into left side code stream sequence table, is designated as tabled={ streamnow-1,streamnow-2,streamnow-3,...,stream1}
Step64:If signuse=1, then build the distribution sequence table of panoramic video multichannel code stream by first direction;Otherwise,
If signuse=-1, then build the distribution sequence table of panoramic video multichannel code stream by second direction;Otherwise, built by third direction
Panoramic video multichannel code stream distributes sequence table.
Wherein, " first direction is pressed and builds panoramic video multichannel code stream distribution sequence table " method as follows:
According to the numd structure law of tabled code streams after first numu tableu code streams, panoramic video multichannel code is built
Stream distribution sequence table, wherein requiring numu>Numd, illustrates:Numu=2, numd=1
" building panoramic video multichannel code stream distribution sequence table by second direction " method is as follows:
According to the numu structure law of tableu code streams after first numd tabled code streams, panoramic video multichannel code is built
Stream distribution sequence table, wherein requiring numd>Numu, illustrates:Numd=2, numu=1
" press third direction and build panoramic video multichannel code stream distribution sequence table " method is as follows:
According to 1 structure law of tableu code streams after first 1 tabled code stream, the distribution of panoramic video multichannel code stream is built
Sequence table or according to first 1 structure law of tabled code streams after 1 tableu code stream, builds panoramic video multichannel code stream point
Hair sequence table;Illustrate:
Step65:Distribute the order of sequence table by panoramic video multichannel code stream, panoramic video multichannel code stream pair is sent successively
Answer the code stream in nt+1 time windows.
Step7:Nt=nt+1 is made, const is determined,Value, reenter Step2.
Embodiment two
Fig. 3 is a kind of panoramic video dissemination system mechanism map based on user personality of the preferred embodiment of the present invention;The system
System includes:
Splicing code stream arrangement module, for panoramic video multichannel to be spliced into code stream, is arranged by camera acquisition visual angle order,
Then the panoramic video multichannel splicing code stream sequence for sorting later is designated as
{stream1,stream2,...,streamN-1,streamN, corresponding camera collection multiview sequence is designated as
{θ1,θ2,...,θN-1,θN}。
Wherein, streamnN-th splicing code stream after camera acquisition visual angle order is arranged is pressed in expression, and N represents splicing code
The number of stream, n=1,2 ..., N;θnRepresent streamnCorresponding camera acquisition visual angle;" press camera acquisition visual angle sequentially
Arrangement " can be arranged by ascending order, can also be arranged in descending order, for convenience of stating, ascending order pattern of rows and columns, i.e. θ be used in text1<θ2
<......<θN-1<θN。
Code stream sending module, for sending const seconds panoramic video multichannel code stream streamn, n=1,2 ..., N.
Wherein,Const represents time window duration parameters;t0Represent that transmission code stream is initial
Buffering duration, it is general desirable 3-6 seconds;tcRepresent and send bit stream buffer duration;Nt represents time window label, and initial value is 1.
Mark visual angle sending module, in const seconds time window, the mark sent in the time window to be regarded
Angle
Wherein,Referred to as n-th t time window mark visual angle,Represent n-th t visual angle of time window
Upper and lower bound,
Max (variable | condition) is represented to asking the variable for meeting condition to minimize respectively, maximum;T represents the time
Variable;N-th t the time upper limit and time lower limit of time window are represented respectively,
First judging treatmenting module, if for judging panoramic video multichannel code stream streamn(n=1,2 ..., N) the
Code stream in nt+1 time windows is present, then into the second judging treatmenting module;Otherwise, dividing for panoramic video multichannel code stream is terminated
Hair.
Second judging treatmenting module, if for judgingIn the presence of then into the 3rd judging treatmenting module;Otherwise, then
Into making the first setup module;
Wherein,Referred to as n-th t-1 time window mark visual angle.
First setup module, for setting nt=nt+1, determines const,Value, reenter code stream transmission
Module.
3rd judging treatmenting module, if for judging user's inertial parameter signuseAbsolute value is equal to 1, then be directly entered
Code stream self adaptation dispensing device;Otherwise enter access customer inertial parameter computing module;
User's inertial parameter computing module, for calculating user's inertial parameter sign firstuse, it is adaptive subsequently into code stream
Answer dispensing device.
" calculate user's inertial parameter signuse" method it is as follows:
Step 1:IfAndThen make tempu=tempu+
1;Else ifAndThen make tempd=tempd+1;Otherwise, directly
Tap into step 2;
Step 2:Calculate
Wherein, Thres1、Thres2First, second decision threshold is represented respectively;Abs (variable) is represented and is asked absolute to variable
Value;Tempu, tempd represent first, second angular transformation statistic respectively, and initial value is 0;signuseRepresent user's inertia
Parameter, initial value is 0.
Code stream self adaptation dispensing device, for according to user's inertial parameter signuse, self adaptation distribution panoramic video multichannel
Code stream.
Second setup module, for making nt=nt+1, determines const,Value, reenter mark visual angle hair
Send module.
Further, Fig. 4 is code stream self adaptation dispensing device detailed structure view in Fig. 3, the code stream self adaptation distribution dress
Putting also includes:
Angle difference sequence computing module, for calculating angle difference sequence, is designated asN=1,2 ...,
N;
Interim camera acquisition angle and correspondence code stream acquisition module, for calculating d θ firstminu=min (d θn|dθn>0,
N=1,2 ..., N), then find d θminuCorresponding camera acquisition angle, is designated as θnow, corresponding code stream is designated as
streamnow;dθminuIt is temporary variable;
Code stream sequence table setup module, for by streamnowAnd streamnowCode stream order afterwards is put into right side code stream
Sequence table, is designated as
Tableu={ streamnow,streamnow+1,streamnow+2,...,streamN, then by streamnowBefore
Code stream inverted order be put into left side code stream sequence table, be designated as
Tabled={ streamnow-1,streamnow-2,streamnow-3,...,stream1}
Code stream distribution sequence table builds module, if for signuse=1, then build panoramic video multichannel by first direction
Code stream distributes sequence table;Otherwise, if signuse=-1, then build panoramic video multichannel code stream distribution sequence by second direction
Table;Otherwise, the distribution sequence table of panoramic video multichannel code stream is built by third direction.
Wherein, " first direction is pressed and builds panoramic video multichannel code stream distribution sequence table " method as follows:
According to the numd structure law of tabled code streams after first numu tableu code streams, panoramic video multichannel code is built
Stream distribution sequence table, wherein requiring numu>Numd, illustrates:Numu=2, numd=1
" building panoramic video multichannel code stream distribution sequence table by second direction " method is as follows:
According to the numu structure law of tableu code streams after first numd tabled code streams, panoramic video multichannel code is built
Stream distribution sequence table, wherein requiring numd>Numu, illustrates:Numd=2, numu=1
" press third direction and build panoramic video multichannel code stream distribution sequence table " method is as follows:
According to 1 structure law of tableu code streams after first 1 tabled code stream, the distribution of panoramic video multichannel code stream is built
Sequence table or according to first 1 structure law of tabled code streams after 1 tableu code stream, builds panoramic video multichannel code stream point
Hair sequence table;Illustrate:
Table={ streamnow,streamnow-1,
streamnow+1,streamnow-2,
,...,}
Code stream sending module, the order for distributing sequence table by panoramic video multichannel code stream, sends panoramic video successively
Code stream in multichannel code stream correspondence nt+1 time windows.
It will be understood by those skilled in the art that all or part of step in realizing above-described embodiment method is can
With what is completed by programmed instruction related hardware, described program can be stored in a computer read/write memory medium,
Described storage medium can be ROM, RAM, disk, CD etc..
Presently preferred embodiments of the present invention is the foregoing is only, is not intended to limit the invention, it is all in essence of the invention
Any modification, equivalent and improvement made within god and principle etc., should be included within the scope of the present invention.