CN107342848A - A kind of adaptive code stream transmission method, device and equipment - Google Patents
A kind of adaptive code stream transmission method, device and equipment Download PDFInfo
- Publication number
- CN107342848A CN107342848A CN201710734327.5A CN201710734327A CN107342848A CN 107342848 A CN107342848 A CN 107342848A CN 201710734327 A CN201710734327 A CN 201710734327A CN 107342848 A CN107342848 A CN 107342848A
- Authority
- CN
- China
- Prior art keywords
- network state
- current network
- current
- code stream
- adaptive code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 84
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 19
- 230000007812 deficiency Effects 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 230000000052 comparative effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1621—Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A kind of adaptive code stream transmission method includes:According to transmitted by transmitting terminal in each timeslice in the range of first scheduled time before current time, and receiving terminal received data bag quantity or byte quantity, determine current network state;According to the current network state, bit stream strategy corresponding with the current network state is called.Accurately and effectively current network state can be identified, further according to the current network state identified, bit stream strategy corresponding to lookup carries out bit stream, so that code stream adapts to the requirement of heterogeneous networks state, advantageously reduces picture interim card and Hua Ping.
Description
Technical field
The invention belongs to the communications field, more particularly to a kind of adaptive code stream transmission method, device and equipment.
Background technology
Streaming Media (Streaming Media) refers to the media lattice played by the way of stream transmission in Internet
Formula.The appearance of Streaming Media (Streaming Media) is very easy to the work and life of people.Sound, image or animation
Deng time-base media from the equipment such as audio/video server or IPC to user terminal is continuous, transmission in real time, user need not wait until whole text
Part is all downloaded and finishes and can be watched.Period of reservation of number is greatly reducing, and reduces buffer memory capacity.
In transmission of flow media data, data transfer may be influenceed due to abnormal conditions such as network congestion or packet losses
Quality.In order to improve data transmission quality, the re-transmission policy and congestion control policy similar with Transmission Control Protocol are used at present, including:
Client, which sends to receive, confirms bag to server;Server confirms bag according to the data sent and the receipts received, detects whether
There is packet loss, and retransmit the data of institute's packet loss.
The control strategy ensures that each packet sent out is required for being identified, otherwise should just be retransmitted.Service
Device can estimate the two-way time of bag first, also not need then to be retransmitted by the bag of response more than the two-way time.Several bags
Confirmation can be passed back to sender by a bag.The ability of giving out a contract for a project of server is controlled by the size of congestion window, congestion window
Mouth refers to the number of the maximum unidentified bag that can be sent of server.When a bag has been sent, the window is reduced by;When one
Individual coating confirms that window just increases.
The control strategy retransmitted by packet loss, can effectively improve transmission picture quality, still, when network environment becomes
Change, such as bandwidth change or when there is network jitter, easily there is picture interim card, Hua Ping.
The content of the invention
In view of this, it is existing to solve the embodiments of the invention provide a kind of adaptive code stream transmission method, device and equipment
When having the bit stream in technology, due to change of network environment, easily there is the problem of picture interim card and Hua Ping.
The first aspect of the embodiment of the present invention provides a kind of adaptive code stream transmission method, the adaptive code streaming
Method includes:
According to transmitted by transmitting terminal in each timeslice in the range of first scheduled time before current time, and
Receiving terminal received data bag quantity or byte quantity, determine current network state;
According to the current network state, bit stream strategy corresponding with the current network state is called.
With reference in a first aspect, in the first possible implementation of first aspect, it is described according to current time before
In each timeslice in the range of first scheduled time transmitted by transmitting terminal, and receiving terminal received data bag quantity or
Byte quantity, the step of determining current network state, include:
In each timeslice in the range of first scheduled time before acquisition current time transmitted by transmitting terminal, and
Receiving terminal received data bag quantity or byte quantity;
According to timeslice and the time interval of current time, when time interval is smaller, distributed for the timeslice higher
Weights, pass through the current current desired bandwidth of weighted average calculation and actually active bandwidth;
By current current desired bandwidth compared with actually active bandwidth, current network shape is determined according to comparative result
State.
With reference to the possible implementation of the first of first aspect or first aspect, second in first aspect may realization
It is described according to the current network state in mode, call bit stream strategy corresponding with the current network state to include:
When the current network state is network jitter state, if confirming that bag ACK is not received corresponding to packet,
And the confirmation bag ACK of the packet of timeslice transmission has been received by where being later than the packet, or in the second scheduled time scope
Bag is confirmed corresponding to being inside not received by, then the packet is bag to be retransmitted;
If the interval of the initial transmission time of current time and packet is more than the first scheduled duration, or described to be retransmitted
Bag had been retransmitted, then was no longer retransmitted.
With reference to second of possible implementation of first aspect, in the third possible implementation of first aspect, institute
Stating method also includes:
When the jitter value of the network jitter state exceedes predetermined dithering threshold, then when retransmitting the bag to be retransmitted,
To be retransmitted addition error correcting code is wrapped described.
It is described according to the current network shape with reference in a first aspect, in the 4th kind of possible implementation of first aspect
State, bit stream strategy corresponding with the current network state is called to include:
When the current network state is bandwidth deficiency or packet loss continues, the bandwidth currently allowed is calculated;
According to the corresponding relation of default bandwidth and transmission quality, the transmission matter corresponding to the bandwidth currently allowed is searched
Amount, bit stream is carried out according to the transmission quality of lookup.
It is described according to the current network shape with reference in a first aspect, in the 5th kind of possible implementation of first aspect
State, bit stream strategy corresponding with the current network state is called to include:
When the current network state is bandwidth abundance, according to the corresponding relation of default bandwidth and transmission quality, look into
The transmission quality corresponding to the bandwidth of current network state is looked for carry out bit stream.
With reference to the 5th kind of possible implementation of the 4th kind of possible implementation or first aspect of first aspect, first
In 6th kind of possible implementation of aspect, the transmission quality includes:Audio of the transmission less than normal quality, the normal matter of transmission
Measure audio, the audio for transmitting normal quality and video less than normal quality, the audio for transmitting normal quality and normal quality
Video.
The second aspect of the embodiment of the present invention provides a kind of adaptive code stream transmitting device, the adaptive code streaming
Device includes:
Network state determining unit, for according to each timeslice in the range of first scheduled time before current time
Transmitted by interior transmitting terminal, and receiving terminal received data bag quantity or byte quantity, determine current network state;
Tactful call unit, for according to the current network state, calling code corresponding with the current network state
Streaming strategy.
The third aspect of the embodiment of the present invention provides a kind of adaptive code stream transmission equipment, including memory, processor
And the computer program that can be run in the memory and on the processor is stored in, meter described in the computing device
The step of any one of first aspect adaptive code stream transmission method is realized during calculation machine program.
The fourth aspect of the embodiment of the present invention provides a kind of computer-readable recording medium, the computer-readable storage
Media storage has computer program, is realized when the computer program is executed by processor adaptive as described in any one of first aspect
The step of answering code stream transmission method.
Existing beneficial effect is the embodiment of the present invention compared with prior art:It is predetermined according to first before current time
In each timeslice in time range transmitted by transmitting terminal, and receiving terminal received data bag quantity or byte number
Amount, determines current network state, accurately and effectively current network state can be identified, further according to the current net identified
Network state, bit stream strategy corresponding to lookup carry out bit stream, so that code stream adapts to the requirement of heterogeneous networks state,
Advantageously reduce picture interim card and Hua Ping.
Brief description of the drawings
Technical scheme in order to illustrate the embodiments of the present invention more clearly, below will be to embodiment or description of the prior art
In the required accompanying drawing used be briefly described, it should be apparent that, drawings in the following description be only the present invention some
Embodiment, for those of ordinary skill in the art, without having to pay creative labor, can also be according to these
Accompanying drawing obtains other accompanying drawings.
Fig. 1 is the implementation process schematic diagram of adaptive code stream transmission method provided in an embodiment of the present invention;
Fig. 2 is the implementation process schematic diagram of determination current network state provided in an embodiment of the present invention;
The implementation process of adaptive code stream transmission method when Fig. 3 is network jitter state provided in an embodiment of the present invention is shown
It is intended to;
The implementation process signal of adaptive code stream transmission method when Fig. 4 is bandwidth deficiency provided in an embodiment of the present invention
Figure;
Fig. 5 is the schematic diagram of adaptive code stream transmitting device provided in an embodiment of the present invention;
Fig. 6 is the schematic diagram of adaptive code stream transmission equipment provided in an embodiment of the present invention.
Embodiment
In describing below, in order to illustrate rather than in order to limit, it is proposed that such as tool of particular system structure, technology etc
Body details, thoroughly to understand the embodiment of the present invention.However, it will be clear to one skilled in the art that there is no these specific
The present invention can also be realized in the other embodiments of details.In other situations, omit to well-known system, device, electricity
Road and the detailed description of method, in case unnecessary details hinders description of the invention.
In order to illustrate technical solutions according to the invention, illustrated below by specific embodiment.
It is a kind of implementation process of adaptive code stream transmission method provided in an embodiment of the present invention as shown in Figure 1, is described in detail such as
Under:
In step S101, according to transmitting terminal in each timeslice in the range of first scheduled time before current time
Transmitted, and receiving terminal received data bag quantity or byte quantity, determine current network state.
Specifically, during bit stream, in order to ensure that bit stream data bag is effectively transferred to receiving terminal, in client
After receiving code stream, one can be returned and confirm bag ACK.The confirmation for confirming bag ACK and can including multiple packets.Its
In, it is acknowledge abbreviation to confirm bag ACK.ACK can be returned in bit stream, in each timeslice and confirms bag.One
It is individual to confirm that bag be to the information of all packets received of client in the timeslice.
First scheduled time scope, it can be set as the time span sum of several timeslices.For example it can set
It is set to N number of timeslice, N is more than or equal to 2.The timeslice can flexibly be set according to the time that network jitter occurs.It is logical
The interior reception of each timeslice obtained in the range of first scheduled time and the data packet number sent, byte quantity are crossed, it is determined that working as
Preceding network state, as shown in Fig. 2 can specifically include:
In step s 201, transmitting terminal in each timeslice in the range of first scheduled time before acquisition current time
Transmitted, and receiving terminal received data bag quantity or byte quantity.
The length of each timeslice is identical, when obtaining multiple continuous timeslices before current time, and counting each
Between sent by transmitting terminal (generally server or IP Camera IPC) in piece, and receiving terminal received data bag number
Amount or byte quantity.Wherein, the receiving terminal received data bag quantity or byte quantity, can feed back to according to receiving terminal
The confirmation bag ACK of transmitting terminal obtains the information of receiving terminal received data bag quantity or byte quantity.
In step S202, according to timeslice and the time interval of current time, when time interval is smaller, for it is described when
Between piece distribute higher weights, pass through the current current desired bandwidth of weighted average calculation and actually active bandwidth.
Obtaining the data packet number or byte quantity transmitted by each timeslice, and receiving terminal received data
After bag quantity or byte quantity, according to the data packet number of each timeslice transmission, byte quantity, current desired bandwidth is calculated,
According to each timeslice receiving terminal received data bag quantity, byte quantity, currently practical effective bandwidth is calculated.
In a kind of preferable embodiment, different weights can be distributed different timeslices, are got over apart from current time
Near timeslice, the weights of distribution are higher.When multiple timeslices are weighted, more efficiently current institute can be obtained
Need bandwidth and actually active bandwidth.
Wherein, the calculating of the current desired bandwidth, can be according to the packet transmitted by each timeslice of weighted calculation
Quantity or byte quantity, obtained with reference to corresponding weight computing.
The currently practical effective bandwidth, can be according to each timeslice of weighted calculation by receiving terminal received data bag
Quantity or byte quantity, obtained with reference to corresponding weight computing.
Due to the timeslice nearer apart from current time, corresponding weights are higher, therefore, the weighted average calculated
The data mode of current time more can be effectively reacted, and the abnormal influence to bandwidth calculation of single timeslice can be avoided.
In step S203, by current current desired bandwidth compared with actually active bandwidth, according to comparative result
Determine current network state.
According to the comparative result of current actually active bandwidth and current desired bandwidth, and duration is combined, can be with
Determine current network state.If the difference of current actually active bandwidth and current desired bandwidth is less than predetermined difference value, and examines
Measuring the duration is less than predetermined duration, then current network state is network jitter state.
If current actually active bandwidth is less than current desired bandwidth, and difference is more than predetermined difference value, and duration
More than predetermined duration, then current network state is network bandwidth deficiency.
If after using corresponding Developing Tactics under network bandwidth deficiency or network jitter state, current is actually active
Bandwidth is still less than current desired bandwidth, it is determined that current network state is to include the network state of ambient noise.
In step s 102, according to the current network state, code stream corresponding with the current network state is called to pass
Defeated strategy.
According to the comparative result of current current desired bandwidth and actually active bandwidth, it may be determined that current network whether be
Network jitter state, or whether be network bandwidth deficiency.
When the current network state is network jitter state, it can reduce and spend by the strategy of data re-transmitting
The problem of screen and interim card.
When the current network state is network bandwidth deficiency, transmission can be adjusted according to the bandwidth currently allowed
The quality of audio and/or video, reduce and the problem of flower screen and interim card occur.
After application above-mentioned strategy, current desired bandwidth is with difference existing for actually active bandwidth still above predetermined difference
Value, then judge network state of the current network state for ambient noise.Can be by starting audio and I frame forward error correction FEC (English
Literary full name is Forward Error Correction);Then according to permission bandwidth adjustment encoder code under FEC entry conditions
Rate.
According to transmitted by transmitting terminal in each timeslice in the range of first scheduled time before current time, and
Receiving terminal received data bag quantity or byte quantity, determine current network state, can be accurately and effectively to current network
State is identified, and further according to the current network state identified, bit stream strategy corresponding to lookup carries out bit stream, from
And make it that code stream adapts to the requirement of heterogeneous networks state, advantageously reduces picture interim card and Hua Ping.
Fig. 3 is the realization stream of the adaptive code stream transmission method provided in an embodiment of the present invention in network jitter state
Journey, details are as follows:
In step S301, according to transmitting terminal in each timeslice in the range of first scheduled time before current time
Transmitted, and receiving terminal received data bag quantity or byte quantity, determine current network state.
In step s 302, when the current network state is network jitter state, if confirmed corresponding to packet
Bag ACK is not received, and the confirmation bag ACK for being later than the packet that timeslice where the packet is sent has been received by, or the
Bag is confirmed corresponding to being not received by the range of two scheduled times, then the packet is bag to be retransmitted.
Specifically, the current network state determination methods according to Fig. 2, judge current network state for network jitter shape
During state, it can be specifically as follows according to confirming that the time of return for wrapping ACK is tactful to determine to transmit accordingly:
If confirming that bag ACK is not received corresponding to packet, and it is later than the data that packet place timeslice is sent
The confirmation bag ACK of bag has been received by, then the bag is bag to be retransmitted.
By the arrival of next feedback information, it just can determine that in the feedback information of last time there is no confirmation message ACK's
Reason is to postpone to occur because of out of order, is also due to lose.
Or in the range of second scheduled time after initially sending the time, corresponding confirmation bag is not received
ACK, then the bag is bag to be retransmitted.
In step S303, if the interval of the initial transmission time of current time and packet is more than the first pre- timing
Length, or the bag to be retransmitted had been retransmitted, then were no longer retransmitted.
After being determined that packet is bag to be retransmitted, then the bag to be retransmitted is subjected to repeating transmission operation, to ensure packet
It is still effective to reach receiving terminal.When reaching receiving terminal in order to avoid retransmitted packet, data are invalid, for example data are broadcast
Put, when setting the interval of the initial transmission time of current time and packet to be more than the first scheduled duration in this step, then no longer
Retransmit, if the interval of the initial transmission time of current time and packet is less than the first scheduled duration, weight is treated described in repeating transmission
Give out a contract for a project.Because the cushion space of receiving terminal is limited, when retransmitted packet interval time is too long, receiving terminal is that have received weight the beginning
Give out a contract for a project, also have little time framing, storage or preview, therefore be invalid more than the retransmitted packet of the first scheduled duration.If packet
It has been retransmitted that, then also can no longer retransmit.
In addition, if when the jitter value in network jitter state is more than certain threshold value and during network bandwidth abundance, Ke Yi
On the basis of above-mentioned repeating transmission, further increase forward error correction mechanism,
Adaptive code stream transmission method described in Fig. 3, it is corresponding using the transmission plan retransmitted for network jitter state
Slightly, it can effectively reduce receiving terminal and interim card, the probability of flower screen failure occur.
Fig. 4 be it is provided in an embodiment of the present invention for bandwidth deficiency current network state used by adaptive code spread
The implementation process of transmission method, details are as follows:
In step S401, according to transmitting terminal in each timeslice in the range of first scheduled time before current time
Transmitted, and receiving terminal received data bag quantity or byte quantity, determine current network state.
Step S401 and step S101 are essentially identical.
In step S402, when the current network state is bandwidth deficiency or packet loss continues, current allow is calculated
Bandwidth.
If current actually active bandwidth is less than current desired bandwidth, and when difference is more than predetermined difference value, duration
During more than scheduled duration, server can be according to the confirmation bag ACK of reception, it is determined that the data being successfully transmitted and being successfully transmitted
The size of packet and transmission time, so as to calculate the bandwidth currently allowed.
Because network bandwidth deficiency is, it is necessary to by adjusting encoder, current desired bandwidth is reduced, so as to avoid the occurrence of interim card
Or Huaping phenomenon.
In step S403, according to the corresponding relation of default bandwidth and transmission quality, the bandwidth institute currently allowed is searched
Corresponding transmission quality, bit stream is carried out according to the transmission quality of lookup.
The transmission quality, it can include:
Audio of the transmission less than normal quality:It can be the audio coding set in advance compared with low bit- rate.
Transmit normal quality audio:Audio is encoded according to normal code check.
Transmit the audio of normal quality and the video less than normal quality:On the basis of normal code check is to audio coding,
Start forward error correction FEC, video can be encoded only from I frames;
Transmit the audio of normal quality and the video of normal quality:Normal audio coding, and can enable or not
Forward error correction FEC is enabled, video can be encoded only from I frames, and select forward error correction FEC, or be alternatively normal code check
Video coding.
In addition, in this application, can be according to current network state if network condition is improved, corresponding lifting
Code check, so as to improve audio-visual quality.In addition, when lifting code check, the limit bit rate lifted should be less than the defeated of encoder
Go out limit bit rate.
In addition, during lifting code check, it is also contemplated that in a period of time before current time, whether bandwidth occurs significantly to become
Change, or be also conceivable to the time of last time code rate adjustment and the interval of current time.
Such as when there is no bandwidth change, and the time interval of last time code rate adjustment in a period of time before current time
From regulation threshold time of the current time more than a setting, then code rate adjustment is carried out, otherwise without code rate adjustment.When code check is adjusted
Section has reached quality requirement, can also stop code rate adjustment.
After corresponding transmission strategy is employed for network jitter state and network bandwidth deficiency, current is current desired
The difference of bandwidth and actually active bandwidth is still greater than predetermined difference value, then it is assumed that current network has ambient noise, it is necessary to open
Forward error correction FEC.
It should be understood that the size of the sequence number of each step is not meant to the priority of execution sequence, each process in above-described embodiment
Execution sequence should determine that the implementation process without tackling the embodiment of the present invention forms any limit with its function and internal logic
It is fixed.
Fig. 5 is a kind of structural representation of adaptive code stream transmitting device provided in an embodiment of the present invention, and details are as follows:
The adaptive code stream transmitting device includes:
Network state determining unit 501, during for according to each in the range of first scheduled time before current time
Between in piece transmitted by transmitting terminal, and receiving terminal received data bag quantity or byte quantity determine current network state;
Tactful call unit 502, for according to the current network state, calling corresponding with the current network state
Bit stream strategy.
Adaptive code stream transmitting device described in Fig. 5, it is corresponding with the adaptive code stream transmission method described in Fig. 1-4.
Fig. 6 is the schematic diagram for the adaptive code stream transmission equipment that one embodiment of the invention provides.As shown in fig. 6, the implementation
The adaptive code stream transmission equipment 6 of example includes:Processor 60, memory 61 and it is stored in the memory 61 and can be in institute
State the computer program 62 run on processor 60, such as adaptive code streaming program.The processor 60 performs the meter
The step in above-mentioned each adaptive code stream transmission method embodiment, such as the step 101 shown in Fig. 1 are realized during calculation machine program 62
To 102.Or the processor 60 realizes each module in above-mentioned each device embodiment/mono- when performing the computer program 62
The function of member, such as the function of module 501 to 502 shown in Fig. 5.
Exemplary, the computer program 62 can be divided into one or more module/units, it is one or
Multiple module/units are stored in the memory 61, and are performed by the processor 60, to complete the present invention.Described one
Individual or multiple module/units can be the series of computation machine programmed instruction section that can complete specific function, and the instruction segment is used for
Implementation procedure of the computer program 62 in the adaptive code stream transmission equipment 6 is described.For example, the computer program
62 can be divided into network state determining unit and tactful call unit, and each unit concrete function is as follows:
Network state determining unit, for according to each timeslice in the range of first scheduled time before current time
Transmitted by interior transmitting terminal, and receiving terminal received data bag quantity or byte quantity, determine current network state;
Tactful call unit, for according to the current network state, calling code corresponding with the current network state
Streaming strategy.
The adaptive code stream transmission equipment 6 can be desktop PC, notebook, palm PC and cloud server
Deng computing device.The adaptive code stream transmission equipment may include, but be not limited only to, processor 60, memory 61.This area skill
Art personnel are appreciated that Fig. 6 is only the example of adaptive code stream transmission equipment 6, do not form and adaptive code streaming is set
It standby 6 restriction, can include than illustrating more or less parts, either combine some parts or different parts, such as
The adaptive code stream transmission equipment can also include input-output equipment, network access equipment, bus etc..
Alleged processor 60 can be CPU (Central Processing Unit, CPU), can also be
Other general processors, digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit
(Application Specific Integrated Circuit, ASIC), ready-made programmable gate array (Field-
Programmable Gate Array, FPGA) either other PLDs, discrete gate or transistor logic,
Discrete hardware components etc..General processor can be microprocessor or the processor can also be any conventional processor
Deng.
The memory 61 can be the internal storage unit of the adaptive code stream transmission equipment 6, such as adaptive code
Spread the hard disk or internal memory of transfer device 6.The memory 61 can also be the external storage of the adaptive code stream transmission equipment 6
The plug-in type hard disk being equipped with equipment, such as the adaptive code stream transmission equipment 6, intelligent memory card (Smart Media
Card, SMC), secure digital (Secure Digital, SD) card, flash card (Flash Card) etc..Further, it is described to deposit
Reservoir 61 can also both include the internal storage unit of the adaptive code stream transmission equipment 6 or including External memory equipment.Institute
Memory 61 is stated to be used to store the computer program and other program sums needed for the adaptive code stream transmission equipment
According to.The memory 61 can be also used for temporarily storing the data that has exported or will export.
It is apparent to those skilled in the art that for convenience of description and succinctly, only with above-mentioned each work(
Can unit, module division progress for example, in practical application, can be as needed and by above-mentioned function distribution by different
Functional unit, module are completed, i.e., the internal structure of described device are divided into different functional units or module, more than completion
The all or part of function of description.Each functional unit, module in embodiment can be integrated in a processing unit, also may be used
To be that unit is individually physically present, can also two or more units it is integrated in a unit, it is above-mentioned integrated
Unit can both be realized in the form of hardware, can also be realized in the form of SFU software functional unit.In addition, each function list
Member, the specific name of module are not limited to the protection domain of the application also only to facilitate mutually distinguish.Said system
The specific work process of middle unit, module, the corresponding process in preceding method embodiment is may be referred to, will not be repeated here.
In the above-described embodiments, the description to each embodiment all emphasizes particularly on different fields, and is not described in detail or remembers in some embodiment
The part of load, it may refer to the associated description of other embodiments.
Those of ordinary skill in the art are it is to be appreciated that the list of each example described with reference to the embodiments described herein
Member and algorithm steps, it can be realized with the combination of electronic hardware or computer software and electronic hardware.These functions are actually
Performed with hardware or software mode, application-specific and design constraint depending on technical scheme.Professional and technical personnel
Described function can be realized using distinct methods to each specific application, but this realization is it is not considered that exceed
The scope of the present invention.
In embodiment provided by the present invention, it should be understood that disclosed device/terminal device and method, can be with
Realize by another way.For example, device described above/terminal device embodiment is only schematical, for example, institute
The division of module or unit is stated, only a kind of division of logic function, there can be other dividing mode when actually realizing, such as
Multiple units or component can combine or be desirably integrated into another system, or some features can be ignored, or not perform.Separately
A bit, shown or discussed mutual coupling or direct-coupling or communication connection can be by some interfaces, device
Or INDIRECT COUPLING or the communication connection of unit, can be electrical, mechanical or other forms.
The unit illustrated as separating component can be or may not be physically separate, show as unit
The part shown can be or may not be physical location, you can with positioned at a place, or can also be distributed to multiple
On NE.Some or all of unit therein can be selected to realize the mesh of this embodiment scheme according to the actual needs
's.
In addition, each functional unit in each embodiment of the present invention can be integrated in a processing unit, can also
That unit is individually physically present, can also two or more units it is integrated in a unit.Above-mentioned integrated list
Member can both be realized in the form of hardware, can also be realized in the form of SFU software functional unit.
If the integrated module/unit realized in the form of SFU software functional unit and as independent production marketing or
In use, it can be stored in a computer read/write memory medium.Based on such understanding, the present invention realizes above-mentioned implementation
All or part of flow in example method, by computer program the hardware of correlation can also be instructed to complete, described meter
Calculation machine program can be stored in a computer-readable recording medium, and the computer program can be achieved when being executed by processor
The step of stating each embodiment of the method..Wherein, the computer program includes computer program code, the computer program
Code can be source code form, object identification code form, executable file or some intermediate forms etc..Computer-readable Jie
Matter can include:Can carry any entity or device of the computer program code, recording medium, USB flash disk, mobile hard disk,
Magnetic disc, CD, computer storage, read-only storage (ROM, Read-Only Memory), random access memory (RAM,
Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium etc..It is it should be noted that described
The content that computer-readable medium includes can carry out appropriate increasing according to legislation in jurisdiction and the requirement of patent practice
Subtract, such as in some jurisdictions, according to legislation and patent practice, computer-readable medium do not include be electric carrier signal and
Telecommunication signal.
Embodiment described above is merely illustrative of the technical solution of the present invention, rather than its limitations;Although with reference to foregoing reality
Example is applied the present invention is described in detail, it will be understood by those within the art that:It still can be to foregoing each
Technical scheme described in embodiment is modified, or carries out equivalent substitution to which part technical characteristic;And these are changed
Or replace, the essence of appropriate technical solution is departed from the spirit and scope of various embodiments of the present invention technical scheme, all should
Within protection scope of the present invention.
Claims (10)
1. a kind of adaptive code stream transmission method, it is characterised in that the adaptive code stream transmission method includes:
According to transmitted by transmitting terminal in each timeslice in the range of first scheduled time before current time, and receive
Received data bag quantity or byte quantity are held, determines current network state;
According to the current network state, bit stream strategy corresponding with the current network state is called.
2. adaptive code stream transmission method according to claim 1, it is characterised in that it is described according to current time before
In each timeslice in the range of first scheduled time transmitted by transmitting terminal, and receiving terminal received data bag quantity or
Byte quantity, the step of determining current network state, include:
In each timeslice in the range of first scheduled time before acquisition current time transmitted by transmitting terminal, and receive
Hold received data bag quantity or byte quantity;
According to timeslice and the time interval of current time, when time interval is smaller, higher power is distributed for the timeslice
Value, pass through the current current desired bandwidth of weighted average calculation and actually active bandwidth;
By current current desired bandwidth compared with actually active bandwidth, current network state is determined according to comparative result.
3. adaptive code stream transmission method according to claim 1 or claim 2, it is characterised in that described according to the current network
State, bit stream strategy corresponding with the current network state is called to include:
When the current network state is network jitter state, if confirm that bag ACK is not received corresponding to packet, and evening
The confirmation bag ACK for the packet that the timeslice where the packet is sent has been received by, or does not have in the range of second scheduled time
Bag is confirmed corresponding to receiving, then the packet is bag to be retransmitted;
If the interval of the initial transmission time of current time and packet is more than the first scheduled duration, or the bag to be retransmitted is
Retransmitted, then no longer retransmitted.
4. adaptive code stream transmission method according to claim 3, it is characterised in that methods described also includes:
When the jitter value of the network jitter state exceedes predetermined dithering threshold, then when retransmitting the bag to be retransmitted, in institute
State and to be retransmitted wrap addition error correcting code.
5. adaptive code stream transmission method according to claim 1, it is characterised in that described according to the current network shape
State, bit stream strategy corresponding with the current network state is called to include:
When the current network state is bandwidth deficiency or packet loss continues, the bandwidth currently allowed is calculated;
According to the corresponding relation of default bandwidth and transmission quality, the transmission quality corresponding to the bandwidth currently allowed, root are searched
It is investigated that the transmission quality looked for carries out bit stream.
6. adaptive code stream transmission method according to claim 1, it is characterised in that described according to the current network shape
State, bit stream strategy corresponding with the current network state is called to include:
When the current network state is bandwidth abundance, according to the corresponding relation of default bandwidth and transmission quality, searches and work as
Transmission quality corresponding to the bandwidth of preceding network state carries out bit stream.
7. according to the adaptive code stream transmission method of claim 5 or 6, it is characterised in that the transmission quality includes:Transmission
Audio, transmission normal quality audio, the audio of transmission normal quality less than normal quality and the video less than normal quality, pass
The audio of defeated normal quality and the video of normal quality.
8. a kind of adaptive code stream transmitting device, it is characterised in that the adaptive code stream transmitting device includes:
Network state determining unit, for according to being sent out in each timeslice in the range of first scheduled time before current time
Transmitted by sending end, and receiving terminal received data bag quantity or byte quantity, determine current network state;
Tactful call unit, for according to the current network state, calling code stream corresponding with the current network state to pass
Defeated strategy.
9. a kind of adaptive code stream transmission equipment, including memory, processor and it is stored in the memory and can be in institute
State the computer program run on processor, it is characterised in that realized described in the computing device during computer program as weighed
Profit requires the step of any one of 1 to 5 adaptive code stream transmission method.
10. a kind of computer-readable recording medium, the computer-readable recording medium storage has computer program, and its feature exists
In realization adaptive code stream transmission method as described in any one of claim 1 to 5 when the computer program is executed by processor
The step of.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710734327.5A CN107342848B (en) | 2017-08-24 | 2017-08-24 | Self-adaptive code stream transmission method, device and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710734327.5A CN107342848B (en) | 2017-08-24 | 2017-08-24 | Self-adaptive code stream transmission method, device and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107342848A true CN107342848A (en) | 2017-11-10 |
CN107342848B CN107342848B (en) | 2020-05-01 |
Family
ID=60214388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710734327.5A Active CN107342848B (en) | 2017-08-24 | 2017-08-24 | Self-adaptive code stream transmission method, device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107342848B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833930A (en) * | 2018-06-20 | 2018-11-16 | 广州华多网络科技有限公司 | Live data transfer control method, device, live streaming equipment and storage medium |
CN109343902A (en) * | 2018-09-26 | 2019-02-15 | Oppo广东移动通信有限公司 | Operation method, device, terminal and the storage medium of audio processing components |
CN109413442A (en) * | 2018-10-12 | 2019-03-01 | 南京机器岛智能科技有限公司 | A kind of speaker self-adaption code rate adjusting method |
CN109600610A (en) * | 2018-11-12 | 2019-04-09 | 深圳市景阳科技股份有限公司 | A kind of data-encoding scheme and terminal |
CN109862400A (en) * | 2019-02-18 | 2019-06-07 | 苏州长风航空电子有限公司 | A kind of flow-medium transmission method, device and its system |
CN111010389A (en) * | 2019-12-11 | 2020-04-14 | 浙江大华技术股份有限公司 | Code stream adjusting method and device, storage medium and electronic device |
CN111193673A (en) * | 2020-04-10 | 2020-05-22 | 亮风台(上海)信息科技有限公司 | Data transmission rate control method, system and user equipment |
CN111245769A (en) * | 2018-11-28 | 2020-06-05 | 深圳技威时代科技有限公司 | Audio and video transmission method and device and storage medium |
CN111314439A (en) * | 2020-01-20 | 2020-06-19 | 北京无限光场科技有限公司 | Data sending method and device and electronic equipment |
CN111628847A (en) * | 2020-05-06 | 2020-09-04 | 上海幻电信息科技有限公司 | Data transmission method and device |
CN111654761A (en) * | 2020-04-20 | 2020-09-11 | 威比网络科技(上海)有限公司 | Video processing method, system, device and medium based on online education |
CN111741248A (en) * | 2020-05-26 | 2020-10-02 | 视联动力信息技术股份有限公司 | Data transmission method, device, terminal equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315515B2 (en) * | 2003-09-30 | 2008-01-01 | Conexant Systems, Inc. | TCP acceleration system |
CN105531968A (en) * | 2013-09-11 | 2016-04-27 | 思科技术公司 | Network-based adaptive rate limiting |
CN105634865A (en) * | 2015-12-29 | 2016-06-01 | 广州华多网络科技有限公司 | Method and system for obtaining bandwidth |
CN106850579A (en) * | 2017-01-03 | 2017-06-13 | 北京飞讯数码科技有限公司 | Streaming media self-adapting flow rate adjusting method and device |
CN106982371A (en) * | 2016-12-09 | 2017-07-25 | 上海谐桐信息技术有限公司 | Code stream control method and system, code stream management method and system, and terminal device |
-
2017
- 2017-08-24 CN CN201710734327.5A patent/CN107342848B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7315515B2 (en) * | 2003-09-30 | 2008-01-01 | Conexant Systems, Inc. | TCP acceleration system |
CN105531968A (en) * | 2013-09-11 | 2016-04-27 | 思科技术公司 | Network-based adaptive rate limiting |
CN105634865A (en) * | 2015-12-29 | 2016-06-01 | 广州华多网络科技有限公司 | Method and system for obtaining bandwidth |
CN106982371A (en) * | 2016-12-09 | 2017-07-25 | 上海谐桐信息技术有限公司 | Code stream control method and system, code stream management method and system, and terminal device |
CN106850579A (en) * | 2017-01-03 | 2017-06-13 | 北京飞讯数码科技有限公司 | Streaming media self-adapting flow rate adjusting method and device |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833930B (en) * | 2018-06-20 | 2020-10-02 | 广州华多网络科技有限公司 | Live broadcast data transmission control method and device, live broadcast equipment and storage medium |
CN108833930A (en) * | 2018-06-20 | 2018-11-16 | 广州华多网络科技有限公司 | Live data transfer control method, device, live streaming equipment and storage medium |
CN109343902A (en) * | 2018-09-26 | 2019-02-15 | Oppo广东移动通信有限公司 | Operation method, device, terminal and the storage medium of audio processing components |
CN109343902B (en) * | 2018-09-26 | 2021-08-03 | Oppo广东移动通信有限公司 | Audio processing assembly operation method and device, terminal and storage medium |
CN109413442A (en) * | 2018-10-12 | 2019-03-01 | 南京机器岛智能科技有限公司 | A kind of speaker self-adaption code rate adjusting method |
CN109413442B (en) * | 2018-10-12 | 2020-10-09 | 南京机器岛智能科技有限公司 | Sound box self-adaptive code rate adjusting method |
CN109600610A (en) * | 2018-11-12 | 2019-04-09 | 深圳市景阳科技股份有限公司 | A kind of data-encoding scheme and terminal |
CN109600610B (en) * | 2018-11-12 | 2020-10-23 | 深圳市景阳科技股份有限公司 | Data encoding method, terminal and computer readable storage medium |
CN111245769B (en) * | 2018-11-28 | 2022-09-30 | 深圳技威时代科技有限公司 | Audio and video transmission method and device and storage medium |
CN111245769A (en) * | 2018-11-28 | 2020-06-05 | 深圳技威时代科技有限公司 | Audio and video transmission method and device and storage medium |
CN109862400A (en) * | 2019-02-18 | 2019-06-07 | 苏州长风航空电子有限公司 | A kind of flow-medium transmission method, device and its system |
CN109862400B (en) * | 2019-02-18 | 2021-08-31 | 苏州长风航空电子有限公司 | Streaming media transmission method, device and system |
CN111010389A (en) * | 2019-12-11 | 2020-04-14 | 浙江大华技术股份有限公司 | Code stream adjusting method and device, storage medium and electronic device |
CN111010389B (en) * | 2019-12-11 | 2022-10-18 | 浙江大华技术股份有限公司 | Code stream adjusting method and device, storage medium and electronic device |
CN111314439A (en) * | 2020-01-20 | 2020-06-19 | 北京无限光场科技有限公司 | Data sending method and device and electronic equipment |
WO2021203829A1 (en) * | 2020-04-10 | 2021-10-14 | 亮风台(上海)信息科技有限公司 | Data transmission rate control method and system, and user equipment |
CN111193673A (en) * | 2020-04-10 | 2020-05-22 | 亮风台(上海)信息科技有限公司 | Data transmission rate control method, system and user equipment |
CN111654761A (en) * | 2020-04-20 | 2020-09-11 | 威比网络科技(上海)有限公司 | Video processing method, system, device and medium based on online education |
CN111628847A (en) * | 2020-05-06 | 2020-09-04 | 上海幻电信息科技有限公司 | Data transmission method and device |
US11778006B2 (en) | 2020-05-06 | 2023-10-03 | Shanghai Hode Information Technology Co., Ltd. | Data transmission method and apparatus |
CN111741248A (en) * | 2020-05-26 | 2020-10-02 | 视联动力信息技术股份有限公司 | Data transmission method, device, terminal equipment and storage medium |
CN111741248B (en) * | 2020-05-26 | 2024-03-15 | 视联动力信息技术股份有限公司 | Data transmission method, device, terminal equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN107342848B (en) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107342848A (en) | A kind of adaptive code stream transmission method, device and equipment | |
CN104782133B (en) | Method and apparatus for media data delivering control | |
CN107276910A (en) | The real-time adjusting apparatus of video code rate and system, video server | |
EP2119171B1 (en) | Improved data transfer method, system and protocol | |
EP3780542B1 (en) | Data transmission method and device | |
US10660112B2 (en) | Transmission rate regulation method | |
CN103647722B (en) | A kind of Link Congestion Control Method based on prestige | |
CN106416179A (en) | Transport accelerator implementing extended transmission control functionality | |
CN103329609A (en) | Method and system for minimizing latencies for content protection in audio/video networks | |
CN104753980A (en) | Data transmission method and relevant device and communication system | |
WO2017097201A1 (en) | Data transmission method, transmission device and receiving device | |
CN110247736B (en) | Data transmission method and device | |
CN105376173A (en) | Sending window flow control method and terminal | |
CN109120974A (en) | A kind of method and device that audio-visual synchronization plays | |
CN102694631B (en) | Method and device for controlling data transmission | |
CN107634908A (en) | A kind of method and apparatus of data transfer | |
CN107707338A (en) | Code block component group determination/indicating means, user equipment, base station and storage medium | |
CN107634817B (en) | Method and device for data transmission | |
CN114039703A (en) | Data transmission method, device, equipment and medium | |
EP3531601B1 (en) | System, method and apparatus for qos retransmission for mg.fast | |
KR102450226B1 (en) | Method and apparatus for controlling send buffer of transport control protocol in communication system | |
CN108989138A (en) | Data transmission method, device, system and gateway | |
CN102263618A (en) | Method, device and system for controlling wireless network congestion | |
JP2017092692A (en) | Data transmission control system and method, and data transmission control program | |
CN104580171B (en) | The transmission method of Transmission Control Protocol, device and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |