WO2021258608A1 - 带宽确定方法、装置、终端及存储介质 - Google Patents
带宽确定方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- WO2021258608A1 WO2021258608A1 PCT/CN2020/127448 CN2020127448W WO2021258608A1 WO 2021258608 A1 WO2021258608 A1 WO 2021258608A1 CN 2020127448 W CN2020127448 W CN 2020127448W WO 2021258608 A1 WO2021258608 A1 WO 2021258608A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bandwidth
- group
- pictures
- target
- terminal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1059—End-user terminal functionalities specially adapted for real-time communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the present disclosure relates to the field of multimedia technology, and in particular to a method, device, terminal, and storage medium for determining bandwidth.
- the multi-rate adaptive strategy is a common strategy to improve the user's viewing experience.
- the multi-bit rate adaptive strategy refers to the selection of the best video bit rate and resolution for playback by estimating the bandwidth at the client and combining the characteristics of the terminal and the player, thereby dynamically balancing the playback delay and definition. Contradiction. Therefore, how to accurately estimate the bandwidth of the terminal is a challenging problem.
- a common bandwidth estimation method is to count the total amount of data received by a terminal in a period of time, and then use the ratio of the total amount of data to the period of time as the bandwidth of the terminal.
- the present disclosure provides a method, device, terminal, and storage medium for determining bandwidth.
- the technical solutions of the present disclosure are as follows:
- a bandwidth determination method including:
- the first bandwidth is the average download speed collected at every target time interval when the picture group is downloaded;
- a bandwidth determining device including:
- the acquiring unit is configured to perform, for any picture group, acquiring at least two first bandwidths corresponding to the picture group, where the first bandwidth is the average download speed collected at every target time interval when downloading the picture group;
- the first determining unit is configured to perform determining the third bandwidth of the group of pictures according to at least one first bandwidth of the at least two first bandwidths that is not less than the second bandwidth of the group of pictures, and the second Bandwidth is the average download speed collected when downloading the picture group;
- the second determining unit is configured to determine the target bandwidth of the terminal according to the third bandwidth of the at least two picture groups.
- the first determining unit is configured to perform acquiring at least one first bandwidth not less than the second bandwidth from the at least two first bandwidths; acquiring the at least one first bandwidth; The average value of the bandwidth, using the average value as the third bandwidth of the group of pictures.
- the second determining unit is configured to determine a weighted average value of the third bandwidth of the at least two picture groups, and use the weighted average value as the target bandwidth of the terminal.
- the device further includes:
- the third determining unit is configured to determine at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures each time a group of pictures is received when the video stream sent by the server is received.
- the video stream includes multiple picture groups.
- the device further includes:
- the bit rate selection unit is configured to select a target video bit rate matching the target bandwidth from a plurality of video bit rates according to the target bandwidth;
- the request sending unit is configured to send a video acquisition request carrying the target video bit rate to the server.
- a terminal which includes:
- One or more processors are One or more processors;
- a memory used to store executable instructions of the processor
- processor is configured to execute the instruction to implement the following operations:
- the first bandwidth is the average download speed collected at every target time interval when the picture group is downloaded;
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- each time a picture group is received at least two first bandwidths corresponding to the picture group and a second bandwidth corresponding to the picture group are determined, and the video stream includes a plurality of picture groups.
- the processor is configured to execute the instructions to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from a plurality of video bit rates
- a storage medium When instructions in the storage medium are executed by a processor of a terminal, the terminal can perform the following operations:
- the first bandwidth is the average download speed collected at every target time interval when the picture group is downloaded;
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- each time a picture group is received at least two first bandwidths corresponding to the picture group and a second bandwidth corresponding to the picture group are determined, and the video stream includes a plurality of picture groups.
- the processor is configured to execute the instructions to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from a plurality of video bit rates
- an application product stores one or more instructions, and the one or more instructions can be executed by a processor of a terminal to perform the following operations:
- the first bandwidth is the average download speed collected at every target time interval when the picture group is downloaded;
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- the processor is configured to execute the instructions to implement the following operations:
- each time a picture group is received at least two first bandwidths corresponding to the picture group and a second bandwidth corresponding to the picture group are determined, and the video stream includes a plurality of picture groups.
- the processor is configured to execute the instructions to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from a plurality of video bit rates
- Fig. 1 is a schematic diagram showing an implementation environment of a method for determining a bandwidth according to an exemplary embodiment.
- Fig. 2 is a flowchart showing a method for determining a bandwidth according to an exemplary embodiment.
- Fig. 3 is a flowchart showing another method for determining a bandwidth according to an exemplary embodiment.
- Fig. 4 is a block diagram showing a device for determining a bandwidth according to an exemplary embodiment.
- Fig. 5 is a structural block diagram of a terminal provided according to an exemplary embodiment of the present disclosure.
- the user information involved in the present disclosure may be information authorized by the user or fully authorized by all parties.
- GOP Group of pictures
- MPEG Moving Picture Experts Group
- I is an intra-coded frame
- P is a forward predicted frame
- B is a two-way interpolation frame.
- I frame is a complete picture
- P and B frames record changes relative to the I frame.
- I frames P and B frames cannot be decoded, which is why it is difficult to accurately edit the MPEG format.
- this combination of consecutive frames and pictures is a GOP.
- the embodiments of the present disclosure provide a bandwidth determination method, which can be applied to a scenario where a user watches a live broadcast through a terminal.
- the user may send a play request to the server through the terminal, and the play request may carry the video identifier and the video bit rate of the requested video.
- the video provided by the server will be transcoded into a variety of different video bit rates. If the video bit rate requested by the terminal is large, and the terminal’s network condition is poor or the bandwidth is small, the terminal will freeze when playing the video, and the user experience will be poor; if the video bit rate requested by the terminal is small, the terminal’s If the network condition is better and the bandwidth is larger, the video resolution when the terminal is playing the video is lower, and the user experience is also poor.
- the third bandwidth of the group of pictures can be determined by the first bandwidth of the at least two first bandwidths corresponding to the group of pictures that is not less than the second bandwidth of the group of pictures, so that The third bandwidth can better reflect the bandwidth when downloading the group of pictures, and the third bandwidth of at least two groups of pictures is used to determine the target bandwidth, which can make the determined target bandwidth closer to the real bandwidth of the terminal.
- the terminal can request a video of the corresponding video bit rate according to the target bandwidth, so that the resolution of the video is also higher while ensuring that it will not freeze.
- Fig. 1 is a schematic diagram showing an implementation environment of a method for determining a bandwidth according to an exemplary embodiment.
- the implementation environment specifically includes: a terminal 101 and a server 102.
- the terminal 101 may be at least one of devices such as a smart phone, a smart watch, a desktop computer, a laptop computer, an MP3 player, an MP4 player, and a laptop portable computer.
- the terminal 101 may install and run an application program that supports watching live broadcasts, and the user may log in to the application program through the terminal 101 to obtain the service provided by the application program.
- the terminal 101 may be connected to the server 102 through a wireless network or a wired network, and may further send a live broadcast acquisition request to the server 102 to obtain the live broadcast data returned by the service 102.
- the terminal 101 may generally refer to one of multiple terminals, and this embodiment only uses the terminal 101 as an example for illustration. Those skilled in the art may know that the number of the aforementioned terminals may be more or less. For example, the above-mentioned terminals may be only a few, or the above-mentioned terminals may be tens or hundreds, or more. The embodiments of the present disclosure do not limit the number of terminals and device types.
- the server 102 may be at least one of one server, multiple servers, a cloud computing platform, and a virtualization center.
- the server 102 may be connected to the terminal 101 and other terminals through a wireless network or a wired network.
- the server 102 may receive a playback request sent by the terminal 101, and return a video stream to the terminal 101 through the data center according to the playback request.
- the number of the foregoing servers may be more or less, which is not limited in the embodiment of the present disclosure.
- the server 102 may also include other functional servers in order to provide more comprehensive and diversified services.
- Fig. 2 is a flowchart showing a method for determining a bandwidth according to an exemplary embodiment. Refer to Fig. 2, which is applied to a terminal. The specific steps of the method include:
- the terminal has at least two first bandwidths corresponding to the picture group, and the first bandwidth is the average download speed collected at every target time interval when downloading the picture group.
- the video stream received by the terminal is composed of multiple picture groups.
- the terminal receives the video stream, it can collect the average download speed every target time interval as the first bandwidth.
- the terminal can collect the average download speed of the group of pictures at one time as the second bandwidth. Since the time required for the terminal to download any picture group may be greater than at least two target time intervals, for any picture group, the terminal may determine at least two first bandwidths corresponding to the picture group.
- the terminal determines the third bandwidth of the group of pictures according to at least one second bandwidth of the at least two first bandwidths that is not less than the second bandwidth of the group of pictures, and the second bandwidth is collected when downloading the group of pictures. The average download speed.
- the terminal may use the average download speed collected when downloading each picture group as the second bandwidth of the picture group. Due to fluctuations in the network, the first bandwidth may be greater than the second bandwidth, may also be smaller than the second bandwidth, or may be equal to the second bandwidth. The larger the first bandwidth, the closer to the real bandwidth of the terminal. Therefore, the third bandwidth of the picture group can be preliminarily estimated based on the at least two first bandwidths and the second bandwidth of the picture group, and the third bandwidth is closer to the real bandwidth of the terminal.
- the terminal determines the target bandwidth of the terminal according to the third bandwidth of the at least two picture groups.
- the at least two picture groups may be continuous picture groups, may be picture groups obtained at intervals, or may be randomly selected picture groups.
- the terminal can calculate the target bandwidth of the terminal by obtaining the third bandwidth of at least two picture groups, so that the target bandwidth is a relatively stable bandwidth for a period of time, and the target bandwidth is close to the actual bandwidth of the terminal and is relatively stable.
- the third bandwidth of the group of pictures is determined by the first bandwidth of the at least two first bandwidths corresponding to a group of pictures that is not less than the second bandwidth of the group of pictures, so that the third bandwidth is It can better reflect the bandwidth when downloading the picture group, and then determine the target bandwidth through the third bandwidth of at least two picture groups, so that the determined target bandwidth can be closer to the real bandwidth of the terminal.
- the acquiring the third bandwidth of the group of pictures according to the at least two first bandwidths and the second bandwidth of the group of pictures includes:
- the calculated third bandwidth can reflect the bandwidth that is relatively stable and has a higher value when downloading the group of pictures.
- the determining the target bandwidth of the terminal according to the third bandwidth of the at least two picture groups includes:
- the target bandwidth can reflect the relatively stable and higher value bandwidth of the terminal in a period of time.
- the method before the acquiring at least two first bandwidths corresponding to the picture group, the method further includes:
- each time a group of pictures is received at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures are determined, and the video stream includes a plurality of groups of pictures.
- the terminal can acquire the first bandwidth and the second bandwidth corresponding to any group of pictures through the established association relationship.
- the method further includes:
- the target bandwidth select a target video bit rate that matches the target bandwidth from multiple video bit rates
- the video bit rate of the video stream requested by the terminal is closer to the real bandwidth of the terminal, avoiding bandwidth waste.
- FIG. 3 is a process of another method for determining bandwidth according to an exemplary embodiment. picture. Referring to Figure 3, the method includes:
- the terminal when receiving the video stream sent by the server, the terminal establishes the association relationship between the picture group, the first bandwidth and the second bandwidth, and the first bandwidth is the average download speed collected at each target time interval when downloading the picture group , The second bandwidth is the average download speed collected when downloading a picture group.
- the terminal may receive the video stream sent by the server, and the video stream includes at least two picture groups. Each time a picture group is received, the terminal may collect the average download speed when downloading the picture group, and use the average download speed as the second bandwidth of the picture group.
- the terminal can also collect a first bandwidth every target time interval when receiving the video stream.
- the first bandwidth is the ratio of the amount of data downloaded at the target time interval to the target time interval, that is, one time within the target time interval. Average download speed.
- the target time interval is less than the time required to download a picture group, and the corresponding terminal can collect at least two first bandwidths each time a picture group is received, that is, one picture group corresponds to at least two first bandwidths and one second bandwidth.
- the terminal may establish an association relationship among the picture group, the at least two first bandwidths corresponding to the picture group, and the second bandwidth corresponding to the picture group.
- the first bandwidth may also be referred to as bandwidth information of time granularity
- the second bandwidth may also be referred to as bandwidth information of GOP granularity. Since the first bandwidth and the second bandwidth are determined when acquiring the video stream, the terminal can acquire the first bandwidth and the second bandwidth corresponding to any group of pictures through the established association relationship.
- bw gop can be used to represent the bandwidth information of the GOP granularity.
- the second bandwidth of the i-th GOP can be expressed as
- the terminal obtains at least two first bandwidths corresponding to the picture group.
- the terminal can collect at least two first bandwidths when downloading a picture group.
- the target time interval may be 200 milliseconds, 500 milliseconds, or 1000 milliseconds, etc., which is not limited in the embodiment of the present disclosure.
- the time required to download a picture group may be 1 second, 2 seconds, 3 seconds, etc., which is not limited in the embodiment of the present disclosure.
- the terminal may obtain at least two first bandwidths corresponding to the group of pictures according to the association relationship between the group of pictures and the first bandwidth.
- N is a positive integer greater than or equal to 2. Then the N first bandwidths can be recorded as
- the terminal determines the third bandwidth of the group of pictures according to at least one first bandwidth of the at least two first bandwidths that is not less than the second bandwidth of the group of pictures.
- the download speed of the terminal when downloading the group of pictures is unstable. Therefore, the first bandwidth collected by the terminal may be greater than the second bandwidth, or smaller than the second bandwidth, or equal to The second bandwidth.
- the terminal may obtain at least one first bandwidth that is not less than the second bandwidth from the above at least two first bandwidths. Then, the terminal may obtain the average value of the at least one first bandwidth, and use the average value as the third bandwidth of the picture group. Since the first bandwidth that is not less than the second bandwidth is selected first, and then the average value of the first bandwidth is calculated, the calculated third bandwidth can reflect the bandwidth that is relatively stable and has a higher value when downloading the group of pictures.
- the terminal can directly use the second bandwidth of the group of pictures as the third bandwidth of the group of pictures, that is
- the terminal determines the target bandwidth of the terminal according to the third bandwidth of the at least two picture groups.
- the terminal may use the third bandwidth of the above-mentioned picture group as the target bandwidth of the terminal, and may also determine the target bandwidth of the terminal through the third bandwidth of at least two picture groups.
- the terminal may select M consecutive picture groups through a sliding window, obtain the bandwidth masses corresponding to each picture group in the M consecutive picture groups, and then determine the third of the M consecutive picture groups.
- the weighted average of the bandwidth, and the weighted average is used as the target bandwidth of the terminal.
- M is a positive integer greater than or equal to 2.
- the target bandwidth of the terminal is determined through M continuous picture groups, and the target bandwidth can be updated in real time according to the third bandwidth of the new picture group, so that the target bandwidth is smoother and can reflect the real bandwidth of the terminal.
- the terminal may randomly select M picture groups from the plurality of picture groups acquired in the preset time period at intervals of a preset time period, and obtain the bandwidth weight corresponding to each of the M picture groups. , And then determine the weighted average value of the third bandwidth of the M picture groups, and use the weighted average value as the target bandwidth of the terminal. Then, the average value of the target bandwidth is updated in the next preset time period.
- the preset time period may be 30 seconds, 1 minute, 2 minutes, etc., which is not limited in the embodiment of the present disclosure.
- the target bandwidth is determined by the third bandwidth of the picture group within a preset time period, which can be determined once every preset time period, which reduces the amount of calculation and saves the computing resources of the terminal.
- the third bandwidth of the M picture groups acquired by the terminal can be expressed as The terminal can determine the target bandwidth of the terminal through the following formula (2).
- w i represents the bandwidth weight of the i-th picture group.
- the terminal selects a target video bit rate matching the target bandwidth from a plurality of video bit rates according to the target bandwidth, and sends a video acquisition request carrying the target video bit rate to the server.
- the terminal may select a target video bit rate matching the target bandwidth from multiple bit rates corresponding to the currently watched video according to the matching relationship between the bandwidth and the video bit rate. Then, a video acquisition request carrying the target video bit rate is sent to the server to obtain a video stream of the target video bit rate.
- the third bandwidth of the group of pictures is determined by the first bandwidth of the at least two first bandwidths corresponding to a group of pictures that is not less than the second bandwidth of the group of pictures, so that the third bandwidth can be It better reflects the bandwidth when the picture group is downloaded, and then the target bandwidth is determined by the third bandwidth of at least two picture groups, so that the determined target bandwidth can be closer to the real bandwidth of the terminal.
- Fig. 4 is a block diagram showing a device for determining a bandwidth according to an exemplary embodiment. 4, the device includes: an acquiring unit 401, a first determining unit 402, and a second determining unit 403.
- the acquiring unit 401 is configured to perform, for any picture group, acquiring at least two first bandwidths corresponding to the picture group, where the first bandwidth is the average download speed collected at every target time interval when downloading the picture group;
- the first determining unit 402 is configured to determine the third bandwidth of the group of pictures according to at least one first bandwidth of the at least two first bandwidths that is not less than the second bandwidth of the group of pictures, and the second bandwidth is downloading The average download speed collected in this group of pictures;
- the second determining unit 403 is configured to determine the target bandwidth of the terminal according to the third bandwidth of the at least two picture groups.
- the third bandwidth of the group of pictures is determined by the first bandwidth of the at least two first bandwidths corresponding to a group of pictures that is not less than the second bandwidth of the group of pictures, so that the third bandwidth can be It better reflects the bandwidth when the picture group is downloaded, and then the target bandwidth is determined by the third bandwidth of at least two picture groups, so that the determined target bandwidth can be closer to the real bandwidth of the terminal.
- the first determining unit 402 is configured to obtain at least one first bandwidth not less than the second bandwidth from the at least two first bandwidths; and obtain the average value of the at least one first bandwidth , And use the average value as the third bandwidth of the picture group.
- the second determining unit 403 is configured to determine the weighted average value of the third bandwidth of the at least two picture groups, and use the weighted average value as the target bandwidth of the terminal.
- the device further includes:
- the third determining unit 404 is configured to determine at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures each time a group of pictures is received when the video stream sent by the server is received, and the video stream Including multiple picture groups.
- the device further includes:
- the bit rate selection unit 405 is configured to perform selection of a target video bit rate matching the target bandwidth from a plurality of video bit rates according to the target bandwidth;
- the request sending unit 406 is configured to send a video acquisition request carrying the target video bit rate to the server.
- bandwidth determining device when the bandwidth determining device provided in the foregoing embodiment performs bandwidth determination, only the division of the foregoing functional units is used as an example for illustration. In actual applications, the foregoing function allocation can be completed by different functional units according to needs. That is, the internal structure of the terminal is divided into different functional units to complete all or part of the functions described above.
- the bandwidth determining apparatus provided in the foregoing embodiment and the bandwidth determining method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, and will not be repeated here.
- Fig. 5 is a structural block diagram of a terminal 500 provided according to an exemplary embodiment of the present disclosure.
- the terminal 500 can be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, moving picture expert compression standard audio layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, moving picture expert compressing standard audio Level 4) Player, laptop or desktop computer.
- the terminal 500 may also be called user equipment, portable terminal, laptop terminal, desktop terminal and other names.
- the terminal 500 includes a processor 501 and a memory 502.
- the processor 501 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on.
- the processor 501 may adopt at least one hardware form among DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array, Programmable Logic Array). accomplish.
- the processor 501 may also include a main processor and a coprocessor.
- the main processor is a processor used to process data in the awake state, also called a CPU (Central Processing Unit, central processing unit); the coprocessor is A low-power processor used to process data in the standby state.
- the processor 501 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used for rendering and drawing content that needs to be displayed on the display screen.
- the processor 501 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
- AI Artificial Intelligence
- the memory 502 may include one or more computer-readable storage media, which may be non-transitory.
- the memory 502 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices.
- the non-transitory computer-readable storage medium in the memory 502 is used to store at least one instruction, and the at least one instruction is used to be executed by the processor 501 to implement the following operations:
- the first bandwidth is the average download speed collected at every target time interval when downloading the picture group
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- each time a group of pictures is received at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures are determined, and the video stream includes a plurality of groups of pictures.
- the processor is configured to execute the instruction to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from multiple video bit rates
- the terminal 500 may optionally further include: a peripheral device interface 503 and at least one peripheral device.
- the processor 501, the memory 502, and the peripheral device interface 503 may be connected by a bus or a signal line.
- Each peripheral device can be connected to the peripheral device interface 503 through a bus, a signal line, or a circuit board.
- the peripheral device includes: at least one of a radio frequency circuit 504, a display screen 505, a camera component 506, an audio circuit 507, a positioning component 508, and a power supply 509.
- the peripheral device interface 503 can be used to connect at least one peripheral device related to I/O (Input/Output) to the processor 501 and the memory 502.
- the processor 501, the memory 502, and the peripheral device interface 503 are integrated on the same chip or circuit board; in some other embodiments, any one of the processor 501, the memory 502, and the peripheral device interface 503 or The two can be implemented on a separate chip or circuit board, which is not limited in this embodiment.
- the radio frequency circuit 504 is used for receiving and transmitting RF (Radio Frequency, radio frequency) signals, also called electromagnetic signals.
- the radio frequency circuit 504 communicates with a communication network and other communication devices through electromagnetic signals.
- the radio frequency circuit 504 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals.
- the radio frequency circuit 504 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so on.
- the radio frequency circuit 504 can communicate with other terminals through at least one wireless communication protocol.
- the wireless communication protocol includes, but is not limited to: metropolitan area networks, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks and/or WiFi (Wireless Fidelity, wireless fidelity) networks.
- the radio frequency circuit 504 may also include a circuit related to NFC (Near Field Communication), which is not limited in the present disclosure.
- the display screen 505 is used to display UI (User Interface).
- the UI can include graphics, text, icons, videos, and any combination thereof.
- the display screen 505 also has the ability to collect touch signals on or above the surface of the display screen 505.
- the touch signal can be input to the processor 501 as a control signal for processing.
- the display screen 505 may also be used to provide virtual buttons and/or virtual keyboards, also called soft buttons and/or soft keyboards.
- the display screen 505 there may be one display screen 505, which is arranged on the front panel of the terminal 500; in other embodiments, there may be at least two display screens 505, which are respectively arranged on different surfaces of the terminal 500 or in a folded design; In other embodiments, the display screen 505 may be a flexible display screen, which is disposed on the curved surface or the folding surface of the terminal 500. Furthermore, the display screen 505 can also be set as a non-rectangular irregular pattern, that is, a special-shaped screen.
- the display screen 505 may be made of materials such as LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode, organic light-emitting diode).
- the camera assembly 506 is used to capture images or videos.
- the camera assembly 506 includes a front camera and a rear camera.
- the front camera is set on the front panel of the terminal, and the rear camera is set on the back of the terminal.
- the camera assembly 506 may also include a flash.
- the flash can be a single-color flash or a dual-color flash. Dual color temperature flash refers to a combination of warm light flash and cold light flash, which can be used for light compensation under different color temperatures.
- the audio circuit 507 may include a microphone and a speaker.
- the microphone is used to collect sound waves of the user and the environment, and convert the sound waves into electrical signals and input them to the processor 501 for processing, or input to the radio frequency circuit 504 to implement voice communication. For the purpose of stereo collection or noise reduction, there may be multiple microphones, which are respectively set in different parts of the terminal 500.
- the microphone can also be an array microphone or an omnidirectional collection microphone.
- the speaker is used to convert the electrical signal from the processor 501 or the radio frequency circuit 504 into sound waves.
- the speaker can be a traditional thin-film speaker or a piezoelectric ceramic speaker.
- the speaker When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into human audible sound waves, but also convert the electrical signal into human inaudible sound waves for purposes such as distance measurement.
- the audio circuit 507 may also include a headphone jack.
- the positioning component 508 is used to locate the current geographic location of the terminal 500 to implement navigation or LBS (Location Based Service, location-based service).
- the positioning component 508 may be a positioning component based on the GPS (Global Positioning System, Global Positioning System) of the United States, the Beidou system of China, the Granus system of Russia, or the Galileo system of the European Union.
- the power supply 509 is used to supply power to various components in the terminal 500.
- the power source 509 may be an alternating current, a direct current, a disposable battery, or a rechargeable battery.
- the rechargeable battery may support wired charging or wireless charging.
- the rechargeable battery can also be used to support fast charging technology.
- the terminal 500 further includes one or more sensors 510.
- the one or more sensors 510 include, but are not limited to: an acceleration sensor 511, a gyroscope sensor 512, a pressure sensor 513, a fingerprint sensor 514, an optical sensor 515, and a proximity sensor 516.
- the acceleration sensor 511 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the terminal 500.
- the acceleration sensor 511 may be used to detect the components of gravitational acceleration on three coordinate axes.
- the processor 501 may control the display screen 505 to display the user interface in a horizontal view or a vertical view according to the gravity acceleration signal collected by the acceleration sensor 511.
- the acceleration sensor 511 may also be used for the collection of game or user motion data.
- the gyroscope sensor 512 can detect the body direction and the rotation angle of the terminal 500, and the gyroscope sensor 512 can cooperate with the acceleration sensor 511 to collect the user's 3D actions on the terminal 500.
- the processor 501 can implement the following functions according to the data collected by the gyroscope sensor 512: motion sensing (for example, changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
- the pressure sensor 513 may be arranged on the side frame of the terminal 500 and/or the lower layer of the display screen 505.
- the processor 501 performs left and right hand recognition or quick operation according to the holding signal collected by the pressure sensor 513.
- the processor 501 controls the operability controls on the UI interface according to the pressure operation of the user on the display screen 505.
- the operability control includes at least one of a button control, a scroll bar control, an icon control, and a menu control.
- the fingerprint sensor 514 is used to collect the user's fingerprint, and the processor 501 can identify the user's identity based on the fingerprint collected by the fingerprint sensor 514, or the fingerprint sensor 514 can identify the user's identity based on the collected fingerprint. When it is recognized that the user's identity is a trusted identity, the processor 501 authorizes the user to perform related sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings.
- the fingerprint sensor 514 may be provided on the front, back, or side of the terminal 500. When a physical button or a manufacturer logo is provided on the terminal 500, the fingerprint sensor 514 can be integrated with the physical button or the manufacturer logo.
- the optical sensor 515 is used to collect the ambient light intensity.
- the processor 501 may control the display brightness of the display screen 505 according to the ambient light intensity collected by the optical sensor 515. Specifically, when the ambient light intensity is high, the display brightness of the display screen 505 is increased; when the ambient light intensity is low, the display brightness of the display screen 505 is decreased.
- the processor 501 may also dynamically adjust the shooting parameters of the camera assembly 506 according to the ambient light intensity collected by the optical sensor 515.
- the proximity sensor 516 also called a distance sensor, is usually arranged on the front panel of the terminal 500.
- the proximity sensor 516 is used to collect the distance between the user and the front of the terminal 500.
- the processor 501 controls the display screen 505 to switch from the on-screen state to the off-screen state; when the proximity sensor 516 detects When the distance between the user and the front of the terminal 500 gradually increases, the processor 501 controls the display screen 505 to switch from the rest screen state to the bright screen state.
- FIG. 5 does not constitute a limitation on the terminal 500, and may include more or fewer components than shown in the figure, or combine certain components, or adopt different component arrangements.
- a storage medium including instructions, such as a memory including instructions, and the foregoing instructions may be executed by a processor to implement the following operations:
- the first bandwidth is the average download speed collected at every target time interval when downloading the picture group
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- each time a group of pictures is received at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures are determined, and the video stream includes a plurality of groups of pictures.
- the processor is configured to execute the instruction to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from multiple video bit rates
- the storage medium may be a non-transitory computer-readable storage medium.
- the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data. Storage equipment, etc.
- an application product is also provided, and the application product stores one or more instructions, and the one or more instructions can be executed by the processor of the terminal to perform the following operations:
- the first bandwidth is the average download speed collected at every target time interval when downloading the picture group
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- the processor is configured to execute the instruction to implement the following operations:
- each time a group of pictures is received at least two first bandwidths corresponding to the group of pictures and a second bandwidth corresponding to the group of pictures are determined, and the video stream includes a plurality of groups of pictures.
- the processor is configured to execute the instruction to implement the following operations:
- the target bandwidth select a target video bit rate that matches the target bandwidth from multiple video bit rates
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开关于一种带宽确定方法、装置、终端及存储介质,属于多媒体技术领域。通过一个画面组对应的至少两个第一带宽中不小于该画面组的第二带宽的第一带宽,来确定该画面组的第三带宽,再通过至少两个画面组的第三带宽来确定目标带宽,可以使得确定的目标带宽更接近于终端的真实带宽。
Description
本公开要求在2020年06月24日提交的申请号为202010588541.6、发明名称为“带宽确定方法、装置、终端及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
本公开涉及多媒体技术领域,特别涉及一种带宽确定方法、装置、终端及存储介质。
在流媒体传输过程中,多码率自适应策略是一种提升用户观看体验的常见策略。该多码率自适应策略指的是,通过在客户端估计带宽,结合终端和播放器的特性,选择最佳的视频码率和分辨率进行播放,从而动态平衡播放卡顿和清晰度之间的矛盾。因此,如何准确的估计终端的带宽,是一个具有挑战性的问题。
目前,常见的带宽估计方式为:统计终端在一个时间段内收到的数据总量,然后将该数据总量与该时间段的比值作为该终端的带宽。
发明内容
本公开提供一种带宽确定方法、装置、终端及存储介质。本公开的技术方案如下:
根据本公开实施例的一个方面,提供一种带宽确定方法,包括:
对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
根据本公开实施例的第二方面,提供一种带宽确定装置,包括:
获取单元,被配置为执行对于任一画面组,获取所述画面组对应的至少两 个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
第一确定单元,被配置为执行根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;
第二确定单元,被配置为执行根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,所述第一确定单元,被配置为执行从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
在一些实施例中,所述第二确定单元,被配置为执行确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
在一些实施例中,所述装置还包括:
第三确定单元,被配置为执行在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
在一些实施例中,所述装置还包括:
码率选择单元,被配置为执行根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;
请求发送单元,被配置为执行向服务器发送携带所述目标视频码率的视频获取请求。
根据本公开实施例的另一方面,提供一种终端,该终端包括:
一个或多个处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为执行该指令,以实现如下操作:
对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;
获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;
向服务器发送携带所述目标视频码率的视频获取请求。
根据本公开实施例的另一方面,提供一种存储介质,当该存储介质中的指令由终端的处理器执行时,使得终端能够执行下操作:
对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;
获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作 为所述终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;
向服务器发送携带所述目标视频码率的视频获取请求。
根据本公开实施例的另一方面,提供一种应用程序产品,该应用程序产品存储有一条或多条指令,该一条或多条指令可以由终端的处理器执行,以执行如下操作:
对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;
获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
在一些实施例中,所述处理器被配置为执行所述指令,以实现如下操作:
根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;
向服务器发送携带所述目标视频码率的视频获取请求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种带宽确定方法的实施环境示意图。
图2是根据一示例性实施例示出的一种带宽确定方法的流程图。
图3是根据一示例性实施例示出的另一种带宽确定方法的流程图。
图4是根据一示例性实施例示出的一种带宽确定装置的框图。
图5是根据本公开一个示例性实施例提供的终端的结构框图。
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
下面介绍一下本公开实施例可能涉及的名词:
画面组,(GOP,Group of Pictures)一个GOP就是一组连续的画面。MPEG(Moving Picture Experts Group,动态图像专家组)编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I 帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因。如排成IBBPBBPBBPBBPBBP...样式,这种连续的帧图片组合即为GOP。
本公开实施例提供了一种带宽确定方法,可以应用于用户通过终端观看直播的场景中。例如,用户可以通过终端向服务器发送播放请求,该播放请求可以携带所请求视频的视频标识以及视频码率。通常服务器提供的视频会被转码成多种不同的视频码率。如果终端请求的视频码率较大,而终端的网络状况不佳或者带宽较小,则终端播放视频时就会卡顿,用户体验较差;如果终端请求的视频码率较小,而终端的网络状况较好且带宽较大,则终端播放视频时视频的分辨率较低,用户体验也较差。根据本公开实施例提供的带宽确定方法,可以通过一个画面组对应的至少两个第一带宽中不小于该画面组的第二带宽的第一带宽,来确定该画面组的第三带宽,使得该第三带宽可以较好的反映下载该画面组时的带宽,再通过至少两个画面组的第三带宽来确定目标带宽,可以使得确定的目标带宽更接近于终端的真实带宽。在确定目标带宽后,终端可以根据该目标带宽请求对应视频码率的视频,从而在保证不会卡顿的情况下,视频的分辨率也较高。
图1是根据一示例性实施例示出的一种带宽确定方法的实施环境示意图。参见图1,该实施环境具体包括:终端101和服务器102。
终端101可以为智能手机、智能手表、台式电脑、手提电脑、MP3播放器、MP4播放器和膝上型便携计算机等设备中的至少一种。终端101上可以安装并运行有支持观看直播的应用程序,用户可以通过终端101登录该应用程序来获取该应用程序提供的服务。终端101可以通过无线网络或有线网络与服务器102相连,进而可以向服务器102发送直播获取请求,以获得服务102返回的直播数据。
终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为几个,或者上述终端为几十个或几百个,或者更多数量,本公开实施例对终端的数量和设备类型均不加以限定。
服务器102可以为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器102可以通过无线网络或有线网络与终端101和其他终端 相连,服务器102可以接收终端101发送的播放请求,并根据该播放请求通过数据中心向该终端101返回视频流。上述服务器的数量可以更多或更少,本公开实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。
相关技术中确定的带宽与终端的真实带宽差距较大,从而导致基于上述方式确定的带宽来确定码率自适应的准确率较低。
图2是根据一示例性实施例示出的一种带宽确定方法的流程图,参见图2,应用于终端,该方法具体步骤包括:
在S201中,对于任一画面组,终端该画面组对应的至少两个第一带宽,该第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度。
在本公开实施例中,终端接收的视频流由多个画面组构成,终端在接收视频流时,可以每隔目标时间间隔采集一次平均下载速度作为第一带宽,同时每接收一个画面组,采集一次该画面组的平均下载速度作为第二带宽。由于终端下载任一画面组所需的时间可以大于至少两个目标时间间隔,因此,对于任一画面组,终端可以确定该画面组对应的至少两个第一带宽。
在S202中,终端根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第二带宽,确定该画面组的第三带宽,该第二带宽为下载该画面组时采集的平均下载速度。
在本公开实施例中,终端可以将下载每个画面组时采集的平均下载速度作为该画面组的第二带宽。由于网络存在波动,因此,第一带宽可以大于第二带宽,也可以小于该第二带宽,还可以等于该第二带宽,第一带宽越大,越接近终端的真实带宽。因此,可以根据上述至少两个第一带宽和画面组的第二带宽,初步估算画面组的第三带宽,该第三带宽较为接近终端的真实带宽。
在S203中,终端根据至少两个画面组的第三带宽,确定终端的目标带宽。
在本公开实施例中,该至少两个画面组可以为连续的画面组,可以为间隔获取的画面组,还可以为随机抽取的画面组。终端可以通过获取至少两个画面组的第三带宽,来计算终端的目标带宽,使得该目标带宽为一段时间内较为稳定的带宽,该目标带宽既接近终端的实际带宽,又较为稳定。
本公开实施例提供的方案,通过一个画面组对应的至少两个第一带宽中不小于该画面组的第二带宽的第一带宽,来确定该画面组的第三带宽,使得该第 三带宽可以较好的反映下载该画面组时的带宽,再通过至少两个画面组的第三带宽来确定目标带宽,可以使得确定的目标带宽更接近于终端的真实带宽。
在一些实施例中,该根据该至少两个第一带宽和该画面组的第二带宽,获取该画面组的第三带宽,包括:
从该至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽;
获取该至少一个第一带宽的均值,将该均值作为该画面组的第三带宽。
由于先选择不小于第二带宽的第一带宽,再计算第一带宽的均值,使得计算得到的第三带宽可以反映下载画面组时较为稳定且数值较高的带宽。
在一些实施例中,该根据至少两个画面组的第三带宽,确定终端的目标带宽,包括:
确定该至少两个画面组的第三带宽的加权平均值,将该均值作为该终端的目标带宽。
由于将至少两个画面组的第三带宽的加权平均值作为终端的目标带宽,使得该目标带宽可以反映终端在一段时间内较为稳定且数值较高的带宽。
在一些实施例中,该获取画面组对应的至少两个第一带宽之前,该方法还包括:
在接收服务器发送的视频流时,每接收一个画面组,确定该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽,该视频流包括多个画面组。
由于通过在获取视频流时确定第一带宽和第二带宽,使得终端可以通过建立的关联关系来获取任一画面组对应的第一带宽和第二带宽。
在一些实施例中,该根据至少两个画面组的第三带宽,确定终端的目标带宽之后,该方法还包括:
根据该目标带宽,从多个视频码率中选择与该目标带宽匹配目标视频码率;
向服务器发送携带该目标视频码率的视频获取请求。
由于通过目标带宽来选择与之匹配的目标视频码率,从而终端请求的视频流的视频码率更接近于终端的真实带宽,避免带宽浪费。
上述图2所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开提供的方案进行进一步阐述,图3是根据一示例性实施例示出的另一种带宽确定方法的流程图。参见图3,该方法包括:
在S301中,终端在接收服务器发送的视频流时,建立画面组、第一带宽和 第二带宽之间的关联关系,该第一带宽为下载画面组时每个目标时间间隔采集的平均下载速度,该第二带宽为下载一个画面组时的采集的平均下载速度。
在本公开实施例中,终端可以接收服务器发送的视频流,该视频流中包括至少两个画面组。每接收一个画面组,终端可以采集下载该画面组时的平均下载速度,将该平均下载速度作为该画面组的第二带宽。终端还可以在接收该视频流时,每隔目标时间间隔采集一个第一带宽,该第一带宽为目标时间间隔下载的数据量与该目标时间间隔的比值,即在该目标时间间隔内的一次平均下载速度。其中,目标时间间隔小于下载一个画面组所需的时间,相应的终端每接收一个画面组可以采集至少两个第一带宽,即一个画面组对应至少两个第一带宽以及一个第二带宽。对于每个画面组,终端可以建立该画面组、该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽三者之间的关联关系。第一带宽也可以称为时间粒度的带宽信息,第二带宽也可以称为GOP粒度的带宽信息。由于通过在获取视频流时确定第一带宽和第二带宽,使得终端可以通过建立的关联关系来获取任一画面组对应的第一带宽和第二带宽。
在S302中,对于任一画面组,终端获取该画面组对应的至少两个第一带宽。
在本公开实施例中,由于目标时间间隔通常小于下载一个画面组所需的时间。因此,终端下载一个画面组时可以采集到至少两个第一带宽。其中,目标时间间隔可以为200毫秒、500毫秒或者1000毫秒等,本公开实施例对此不进行限制。下载一个画面组所需的时间可以为1秒、2秒或者3秒等,本公开实施例对此不进行限制。终端可以根据画面组与第一带宽之间的关联关系,获取该画面组对应的至少两个第一带宽。
在S303中,终端根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第一带宽,确定该画面组的第三带宽。
在本公开实施例中,由于网络存在波动,终端在下载画面组时的下载速度不稳定,因此,终端采集的第一带宽可以大于该第二带宽,也可以小于该第二 带宽,还可以等于该第二带宽。对于任一画面组,终端可以从上述至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽。然后终端可以获取该至少一个第一带宽的均值,将该均值作为该画面组的第三带宽。由于先选择不小于第二带宽的第一带宽,再计算第一带宽的均值,使得计算得到的第三带宽可以反映下载画面组时较为稳定且数值较高的带宽。
需要说明的是,上述第三带宽,可以通过以下公式(1)计算得到。
在S304中,终端跟据至少两个画面组的第三带宽,确定终端的目标带宽。
在本公开实施例中,终端可以将上述画面组的第三带宽作为终端的目标带宽,也可以通过至少两个画面组的第三带宽来确定终端的目标带宽。
在一些实施例中,终端可以通过滑动窗口,选择M个连续的画面组,获取该M个连续的画面组中每个画面组对应的带宽群众,然后确定该M个连续的画面组的第三带宽的加权平均值,将该加权平均值作为终端的目标带宽。其中,M为大于等于2的正整数。通过M个连续的画面组来确定终端的目标带宽,可以实时的根据新的画面组的第三带宽来更新该目标带宽,从而使该目标带宽较为平滑,且能反应终端的真实带宽。
在一些实施例中,终端可以每隔一个预设时间段从该预设时间段获取的多个画面组中随机选择M个画面组,获取该M个画面组中每个画面组对应的带宽权重,然后确定该M个画面组的第三带宽的加权平均值,将该加权平均值作为终端的目标带宽。然后,在下一个预设时间段更新该目标带宽的均值。该预设时间段可以为30秒、1分钟或者2分钟等,本公开实施例对此不进行限制。通过一个预设时间段内的画面组的第三带宽来确定目标带宽,可以每隔该预设时间段确定一次,减少计算量,节约终端的运算资源。
在S305中,终端根据该目标带宽,从多个视频码率中选择与该目标带宽匹配的目标视频码率,向服务器发送携带该目标视频码率的视频获取请求。
在本公开实施例中,终端在获取上述目标带宽后,可以根据带宽和视频码率的匹配关系,从当前观看视频对应的多个码率在中选择与该目标带宽匹配的目标视频码率。然后向服务器发送携带该目标视频码率的视频获取请求,以获取该目标视频码率的视频流。
在本公开实施例中,通过一个画面组对应的至少两个第一带宽中不小于该画面组的第二带宽的第一带宽,来确定该画面组的第三带宽,使得该第三带宽可以较好的反映下载该画面组时的带宽,再通过至少两个画面组的第三带宽来确定目标带宽,可以使得确定的目标带宽更接近于终端的真实带宽。
图4是根据一示例性实施例示出的一种带宽确定装置的框图。参照图4,该装置包括:获取单元401、第一确定单元402以及第二确定单元403。
获取单元元401,被配置为执行对于任一画面组,获取该画面组对应的至少两个第一带宽,该第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
第一确定单元402,被配置为执行根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第一带宽,确定该画面组的第三带宽,该第二带宽为下载该画面组时采集的平均下载速度;
第二确定单元403,被配置为执行根据至少两个画面组的第三带宽,确定终端的目标带宽。
在本公开实施例中,通过一个画面组对应的至少两个第一带宽中不小于该画面组的第二带宽的第一带宽,来确定该画面组的第三带宽,使得该第三带宽可以较好的反映下载该画面组时的带宽,再通过至少两个画面组的第三带宽来确定目标带宽,可以使得确定的目标带宽更接近于终端的真实带宽。
在一些实施例中,该第一确定单元402,被配置为执行从该至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽;获取该至少一个第一带宽 的均值,将该均值作为该画面组的第三带宽。
在一些实施例中,该第二确定单元403,被配置为执行确定该至少两个画面组的第三带宽的加权平均值,将该加权平均值作为该终端的目标带宽。
在一些实施例中,该装置还包括:
第三确定单元404,被配置为执行在接收服务器发送的视频流时,每接收一个画面组,确定该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽,该视频流包括多个画面组。
在一些实施例中,该装置还包括:
码率选择单元405,被配置为执行根据该目标带宽,从多个视频码率中选择与该目标带宽匹配的目标视频码率;
请求发送单元406,被配置为执行向服务器发送携带该目标视频码率的视频获取请求。
需要说明的是,上述实施例提供的带宽确定装置在进行带宽确定时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将终端的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的带宽确定装置与带宽确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据本公开一个示例性实施例提供的终端500的结构框图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA (Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现如下操作:
对于任一画面组,获取该画面组对应的至少两个第一带宽,该第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第一带宽,确定该画面组的第三带宽,该第二带宽为下载该画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
从该至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽;
获取该至少一个第一带宽的均值,将该均值作为该画面组的第三带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
确定该至少两个画面组的第三带宽的加权平均值,将该加权平均值作为该终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽,该视频流包括多个画面组。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
根据该目标带宽,从多个视频码率中选择与该目标带宽匹配的目标视频码 率;
向服务器发送携带该目标视频码率的视频获取请求。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在另一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形 屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。在一些实施例中,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件508可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加 速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置在终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息 屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由处理器执行以实现如下操作:
对于任一画面组,获取该画面组对应的至少两个第一带宽,该第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第一带宽,确定该画面组的第三带宽,该第二带宽为下载该画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
从该至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽;
获取该至少一个第一带宽的均值,将该均值作为该画面组的第三带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
确定该至少两个画面组的第三带宽的加权平均值,将该加权平均值作为该终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽,该视频流包括多个画面组。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
根据该目标带宽,从多个视频码率中选择与该目标带宽匹配的目标视频码率;
向服务器发送携带该目标视频码率的视频获取请求。
在一些实施例中,存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种应用程序产品,该应用程序产品存储有 一条或多条指令,该一条或多条指令可以由终端的处理器执行,以执行如下操作:
对于任一画面组,获取该画面组对应的至少两个第一带宽,该第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;
根据该至少两个第一带宽中不小于该画面组的第二带宽的至少一个第一带宽,确定该画面组的第三带宽,该第二带宽为下载该画面组时采集的平均下载速度;
根据至少两个画面组的第三带宽,确定终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
从该至少两个第一带宽中,获取不小于该第二带宽的至少一个第一带宽;
获取该至少一个第一带宽的均值,将该均值作为该画面组的第三带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
确定该至少两个画面组的第三带宽的加权平均值,将该加权平均值作为该终端的目标带宽。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
在接收服务器发送的视频流时,每接收一个画面组,确定该画面组对应的至少两个第一带宽以及该画面组对应的第二带宽,该视频流包括多个画面组。
在一些实施例中,该处理器被配置为执行该指令,以实现如下操作:
根据该目标带宽,从多个视频码率中选择与该目标带宽匹配的目标视频码率;
向服务器发送携带该目标视频码率的视频获取请求。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
- 一种带宽确定方法,其中,所述方法包括:对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;根据至少两个画面组的第三带宽,确定终端的目标带宽。
- 根据权利要求1所述的带宽确定方法,其中,所述根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,包括:从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
- 根据权利要求1所述的带宽确定方法,其中,所述根据至少两个画面组的第三带宽,确定终端的目标带宽,包括:确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
- 根据权利要求1所述的带宽确定方法,其中,所述获取所述画面组对应的至少两个第一带宽之前,所述方法还包括:在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
- 根据权利要求1所述的带宽确定方法,其中,所述根据至少两个画面组的第三带宽,确定终端的目标带宽之后,所述方法还包括:根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;向服务器发送携带所述目标视频码率的视频获取请求。
- 一种带宽确定装置,其中,所述装置包括:获取单元,被配置为执行对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;第一确定单元,被配置为执行根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;第二确定单元,被配置为执行根据至少两个画面组的第三带宽,确定终端的目标带宽。
- 根据权利要求6所述的带宽确定装置,其中,所述第一确定单元,被配置为执行从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
- 根据权利要求6所述的带宽确定装置,其中,所述第二确定单元,被配置为执行确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
- 根据权利要求6所述的带宽确定装置,其中,所述装置还包括:第三确定单元,被配置为执行在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
- 根据权利要求1所述的带宽确定装置,其中,所述装置还包括:码率选择单元,被配置为执行根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;请求发送单元,被配置为执行向服务器发送携带所述目标视频码率的视频获取请求。
- 一种终端,其中,所述终端包括:一个或多个处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如下操作:对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;根据至少两个画面组的第三带宽,确定终端的目标带宽。
- 根据权利要求11所述的终端,其中,所述处理器被配置为执行所述指令,以实现如下操作:从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
- 根据权利要求11所述的终端,其中,所述处理器被配置为执行所述指令,以实现如下操作:确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
- 根据权利要求11所述的终端,其中,所述处理器被配置为执行所述指令,以实现如下操作:在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
- 根据权利要求11所述的终端,其中,所述处理器被配置为执行所述指令,以实现如下操作:根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;向服务器发送携带所述目标视频码率的视频获取请求。
- 一种存储介质,其中,当所述存储介质中的指令由终端的处理器执行时,使得所述终端能够执行如下操作:对于任一画面组,获取所述画面组对应的至少两个第一带宽,所述第一带宽为下载画面组时每隔目标时间间隔采集的平均下载速度;根据所述至少两个第一带宽中不小于所述画面组的第二带宽的至少一个第一带宽,确定所述画面组的第三带宽,所述第二带宽为下载所述画面组时采集的平均下载速度;根据至少两个画面组的第三带宽,确定终端的目标带宽。
- 根据权利要求16所述的存储介质,其中,所述处理器被配置为执行所述指令,以实现如下操作:从所述至少两个第一带宽中,获取不小于所述第二带宽的至少一个第一带宽;获取所述至少一个第一带宽的均值,将所述均值作为所述画面组的第三带宽。
- 根据权利要求16所述的存储介质,其中,所述处理器被配置为执行所述指令,以实现如下操作:确定所述至少两个画面组的第三带宽的加权平均值,将所述加权平均值作为所述终端的目标带宽。
- 根据权利要求16所述的存储介质,其中,所述处理器被配置为执行所述指令,以实现如下操作:在接收服务器发送的视频流时,每接收一个画面组,确定所述画面组对应 的至少两个第一带宽以及所述画面组对应的第二带宽,所述视频流包括多个画面组。
- 根据权利要求16所述的存储介质,其中,所述处理器被配置为执行所述指令,以实现如下操作:根据所述目标带宽,从多个视频码率中选择与所述目标带宽匹配的目标视频码率;向服务器发送携带所述目标视频码率的视频获取请求。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20942343.3A EP4007229A4 (en) | 2020-06-24 | 2020-11-09 | BANDWIDTH DETERMINATION METHOD AND DEVICE, AND TERMINAL AND STORAGE MEDIUM |
US17/673,576 US20220174356A1 (en) | 2020-06-24 | 2022-02-16 | Method for determining bandwidth, terminal, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010588541.6 | 2020-06-24 | ||
CN202010588541.6A CN111698262B (zh) | 2020-06-24 | 2020-06-24 | 带宽确定方法、装置、终端及存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/673,576 Continuation US20220174356A1 (en) | 2020-06-24 | 2022-02-16 | Method for determining bandwidth, terminal, and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021258608A1 true WO2021258608A1 (zh) | 2021-12-30 |
Family
ID=72483256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/127448 WO2021258608A1 (zh) | 2020-06-24 | 2020-11-09 | 带宽确定方法、装置、终端及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220174356A1 (zh) |
EP (1) | EP4007229A4 (zh) |
CN (1) | CN111698262B (zh) |
WO (1) | WO2021258608A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698262B (zh) * | 2020-06-24 | 2021-07-16 | 北京达佳互联信息技术有限公司 | 带宽确定方法、装置、终端及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014134811A1 (zh) * | 2013-03-07 | 2014-09-12 | 华为技术有限公司 | 用于分配带宽的方法和视频网关 |
CN105744371A (zh) * | 2014-12-09 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的播放方法及装置 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
CN110213131A (zh) * | 2019-06-05 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 带宽确定方法、装置、计算机设备及存储介质 |
CN110430453A (zh) * | 2019-08-28 | 2019-11-08 | 咪咕视讯科技有限公司 | 视频多码率切换处理方法、装置、电子设备及存储介质 |
CN111698262A (zh) * | 2020-06-24 | 2020-09-22 | 北京达佳互联信息技术有限公司 | 带宽确定方法、装置、终端及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458272B (zh) * | 2012-05-30 | 2017-04-12 | 中国电信股份有限公司 | 确定视频流推送码率的方法、装置与服务器 |
US9300710B2 (en) * | 2013-03-07 | 2016-03-29 | Qualcomm Innovation Center, Inc. | Adaptive bandwidth switching via short-circuitable download |
WO2016164910A1 (en) * | 2015-04-09 | 2016-10-13 | Arris Enterprises Llc | Method and apparatus for automatic discovery of elements in a system of encoders |
CN105847442B (zh) * | 2016-05-27 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 一种下载速度调整方法、后台服务器、终端及系统 |
EP3556092A1 (en) * | 2016-12-19 | 2019-10-23 | Telicomm City Connect, Ltd. | Predictive network management for real-time video with varying video and network conditions |
CN106791575B (zh) * | 2016-12-22 | 2019-11-15 | 上海寰视网络科技有限公司 | 一种数据发送的控制方法及设备 |
US10771789B2 (en) * | 2017-05-19 | 2020-09-08 | Google Llc | Complexity adaptive rate control |
US12028397B2 (en) * | 2017-08-29 | 2024-07-02 | Comcast Cable Communications, Llc | Bandwidth reduction through duration averaging |
US10484730B1 (en) * | 2018-01-24 | 2019-11-19 | Twitch Interactive, Inc. | Chunked transfer mode bandwidth estimation |
CN109379632B (zh) * | 2018-10-25 | 2020-02-14 | 中国地质大学(武汉) | 一种动态自适应http流的码率渐进切换方法及系统 |
CN109714631A (zh) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | 一种基于http视频流动态自适应码率选择方法 |
CN110474815B (zh) * | 2019-09-23 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 带宽预测方法、装置、电子设备及存储介质 |
CN110662093A (zh) * | 2019-10-17 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 一种初始码率确定方法、装置、电子设备及存储介质 |
CN111130923B (zh) * | 2019-11-29 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 网络带宽确定方法、装置、电子设备及存储介质 |
CN111193924B (zh) * | 2019-12-26 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 视频码率的确定方法、装置、计算机设备及存储介质 |
CN111277870B (zh) * | 2020-03-05 | 2022-09-30 | 广州市百果园信息技术有限公司 | 带宽预测方法、装置、服务器及存储介质 |
JP7562485B2 (ja) * | 2021-07-01 | 2024-10-07 | 株式会社東芝 | ストリーミングサーバ、送信方法及びプログラム |
EP4152747B1 (en) * | 2021-09-16 | 2023-08-16 | Axis AB | Methods and devices for controlling a transmission of a video stream |
-
2020
- 2020-06-24 CN CN202010588541.6A patent/CN111698262B/zh active Active
- 2020-11-09 EP EP20942343.3A patent/EP4007229A4/en not_active Withdrawn
- 2020-11-09 WO PCT/CN2020/127448 patent/WO2021258608A1/zh unknown
-
2022
- 2022-02-16 US US17/673,576 patent/US20220174356A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014134811A1 (zh) * | 2013-03-07 | 2014-09-12 | 华为技术有限公司 | 用于分配带宽的方法和视频网关 |
CN105744371A (zh) * | 2014-12-09 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 流媒体数据的播放方法及装置 |
CN107071529A (zh) * | 2017-03-29 | 2017-08-18 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
CN110213131A (zh) * | 2019-06-05 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 带宽确定方法、装置、计算机设备及存储介质 |
CN110430453A (zh) * | 2019-08-28 | 2019-11-08 | 咪咕视讯科技有限公司 | 视频多码率切换处理方法、装置、电子设备及存储介质 |
CN111698262A (zh) * | 2020-06-24 | 2020-09-22 | 北京达佳互联信息技术有限公司 | 带宽确定方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111698262B (zh) | 2021-07-16 |
EP4007229A1 (en) | 2022-06-01 |
EP4007229A4 (en) | 2022-11-30 |
US20220174356A1 (en) | 2022-06-02 |
CN111698262A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246466B (zh) | 视频播放方法、装置及电子设备 | |
CN110213636B (zh) | 在线视频的视频帧生成方法、装置、存储介质及设备 | |
CN108259945B (zh) | 处理播放多媒体数据的播放请求的方法和装置 | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN111093108B (zh) | 音画同步判断方法、装置、终端及计算机可读存储介质 | |
US11388403B2 (en) | Video encoding method and apparatus, storage medium, and device | |
CN111586431B (zh) | 进行直播处理的方法、装置、设备及存储介质 | |
US20220191557A1 (en) | Method for displaying interaction data and electronic device | |
CN110213616A (zh) | 视频提供方法、获取方法、装置及设备 | |
CN111147878A (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN109951398B (zh) | 数据发送方法、装置及计算机设备 | |
US11962897B2 (en) | Camera movement control method and apparatus, device, and storage medium | |
WO2019105239A1 (zh) | 视频流发送方法、播放方法、装置、设备及存储介质 | |
CN111107389B (zh) | 确定观看直播时长的方法、装置和系统 | |
WO2021073293A1 (zh) | 动画文件的生成方法、装置及存储介质 | |
CN111010588B (zh) | 直播处理方法、装置、存储介质及设备 | |
CN114095437B (zh) | 发送数据包的方法、装置、电子设备和存储介质 | |
CN108900921A (zh) | 连麦直播方法、装置及存储介质 | |
US20220095020A1 (en) | Method for switching a bit rate, and electronic device | |
CN113141538B (zh) | 媒体资源播放方法、装置、终端、服务器及存储介质 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
WO2021258608A1 (zh) | 带宽确定方法、装置、终端及存储介质 | |
CN111131272B (zh) | 流服务器的调度方法、装置及系统、计算设备、存储介质 | |
CN110113669B (zh) | 获取视频数据的方法、装置、电子设备及存储介质 | |
CN110996115B (zh) | 直播视频播放方法、装置、设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20942343 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020942343 Country of ref document: EP Effective date: 20220222 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |