WO2020155962A1 - 清晰度切换算法的选择方法、系统、设备及介质 - Google Patents

清晰度切换算法的选择方法、系统、设备及介质 Download PDF

Info

Publication number
WO2020155962A1
WO2020155962A1 PCT/CN2019/128455 CN2019128455W WO2020155962A1 WO 2020155962 A1 WO2020155962 A1 WO 2020155962A1 CN 2019128455 W CN2019128455 W CN 2019128455W WO 2020155962 A1 WO2020155962 A1 WO 2020155962A1
Authority
WO
WIPO (PCT)
Prior art keywords
historical
switching algorithm
rate
network speed
meets
Prior art date
Application number
PCT/CN2019/128455
Other languages
English (en)
French (fr)
Inventor
丁建强
谭兆歆
Original Assignee
上海哔哩哔哩科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 上海哔哩哔哩科技有限公司 filed Critical 上海哔哩哔哩科技有限公司
Priority to EP19912501.4A priority Critical patent/EP3905706A4/en
Publication of WO2020155962A1 publication Critical patent/WO2020155962A1/zh
Priority to US17/373,464 priority patent/US11671656B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234363Processing 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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/23439Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • This application relates to the field of computer technology, and in particular to a method, system, computer equipment, and computer-readable storage medium for selecting a definition switching algorithm.
  • the purpose of this application is to provide a method, system, computer equipment, and computer-readable storage medium for selecting a resolution switching algorithm, which is used to solve the problem that the resolution can only be manually switched in the prior art and may be Speed does not support the defect that causes the video to freeze.
  • One aspect of the present application provides a method for selecting a definition switching algorithm.
  • the above method includes: acquiring a plurality of association relationships, wherein the above association relationship includes a definition switching algorithm and a historical jam rate; The historical stuck rate that meets the preset conditions is determined from each association relationship; and the target definition switching algorithm is selected from the corresponding relationship according to the historical stuck rate that meets the preset conditions, wherein the above target definition The switching algorithm is used to switch the definition of the video.
  • the above-mentioned system includes: an acquisition module for acquiring multiple association relationships, where the above-mentioned association relationship includes a sharpness switching algorithm and a historical freeze rate; The first determining module is used to determine the historical stuck rate that meets the preset conditions from each of the above-mentioned multiple relationship relationships; and the selection module is used to determine the historical stuck rate that meets the preset conditions from the foregoing
  • the target definition switching algorithm is selected from the corresponding association relationship, wherein the above target definition switching algorithm is used to switch the definition of the video.
  • the processor is used to implement the steps when the computer-readable instructions are executed. :
  • association relationship includes a definition switching algorithm and a historical stuck rate
  • a target definition switching algorithm is selected from the corresponding association relationship, wherein the target definition switching algorithm is used to switch the definition of the video.
  • Another aspect of the present application provides a computer-readable storage medium having computer-readable instructions stored thereon, and the computer-readable instructions are used to implement steps when executed by a processor:
  • association relationship includes a definition switching algorithm and a historical stuck rate
  • a target definition switching algorithm is selected from the corresponding association relationship, wherein the target definition switching algorithm is used to switch the definition of the video.
  • each association relationship may be the association relationship between the definition switching algorithm and the historical freeze rate corresponding to the definition switching algorithm, from From these associations, find out the historical freeze rate that meets the preset conditions (for example, the value is less than a certain value), and then select the target definition for switching the video from the association relationship corresponding to the historical freeze rate that meets the preset conditions Switching algorithm.
  • the embodiment of the application Since the historical freeze rate corresponding to the target definition switching algorithm selected by the embodiment of the application is relatively low, when switching videos using the determined target definition switching algorithm, the effect of reducing the video freeze rate can be achieved And because all the resolution switching algorithms selected in the embodiment of the application can achieve the effect of automatically switching the video resolution, the embodiment of the application can avoid that the prior art can only manually switch the resolution and manually switch the resolution. Later, the video may freeze due to the unsupported network speed.
  • Fig. 1 schematically shows a flowchart of a method for selecting a definition switching algorithm according to an embodiment of the present application
  • FIG. 2 schematically shows a flowchart of a method for selecting a definition switching algorithm according to another embodiment of the present application
  • Fig. 3 schematically shows a block diagram of a resolution switching algorithm selection system according to an embodiment of the present application
  • Fig. 4 schematically shows a schematic diagram of the hardware architecture of a computer device suitable for implementing a method for selecting a definition switching algorithm according to an embodiment of the present application.
  • each association relationship may be the association relationship between the definition switching algorithm and the historical freeze rate corresponding to the definition switching algorithm, from From these associations, find out the historical freeze rate that meets the preset conditions (for example, the value is less than a certain value), and then select the target definition for switching the video from the association relationship corresponding to the historical freeze rate that meets the preset conditions Switching algorithm.
  • the embodiment of the application Since the historical freeze rate corresponding to the target definition switching algorithm selected by the embodiment of the application is relatively low, when switching videos using the determined target definition switching algorithm, the effect of reducing the video freeze rate can be achieved And because all the resolution switching algorithms selected in the embodiment of the application can achieve the effect of automatically switching the video resolution, the embodiment of the application can avoid that the prior art can only manually switch the resolution and manually switch the resolution. Later, the video may freeze due to the unsupported network speed.
  • Fig. 1 schematically shows a flowchart of a method for selecting a definition switching algorithm according to an embodiment of the present application.
  • the method for selecting the definition switching algorithm may include steps S101 to S103, wherein:
  • Step S101 Obtain multiple association relationships, where the association relationships include the definition switching algorithm and the historical stall rate.
  • the resolution switching algorithm selection solution provided in the embodiments of the present application can be applied to the server.
  • the server can be requested to provide a better resolution switching algorithm that can dynamically switch the video resolution.
  • the server can select the target definition switching algorithm by executing the solution provided in the embodiments of the application, and return the target definition switching algorithm to the client, so that the client can dynamically switch the clarity of the video based on the target definition switching algorithm degree.
  • association relationships may be stored in the server in advance, and each association relationship may include a definition switching algorithm and the corresponding historical freeze when the definition switching algorithm is applied to switch the definition of the video. rate.
  • the resolution switching algorithm can be abrThroughput (adaptive rate switching algorithm based on throughput (also known as network speed)), abrBola (adaptive rate switching algorithm based on the current buffer) or abrDynamic (based on abrThroughput and abrBola Dynamically adjusted adaptive bit rate switching algorithm).
  • the total playback time of the played video can be counted, and the total number of jams corresponding to the definition of the video switching by the definition switching algorithm can be counted.
  • the total number of freezes can be divided by the total playback duration to get the historical freeze rate corresponding to the definition switching algorithm.
  • the total playback duration corresponding to each definition switching algorithm can be the same.
  • Step S102 Determine a historical jam rate that meets a preset condition from each of the multiple association relationships.
  • the historical stuck rate that meets the preset condition may include the historical stuck rate with the smallest value, or the historical stuck rate that meets the preset condition may also include the historical stuck rate whose value is less than the preset threshold. .
  • the historical stuck rate that meets the preset condition may include one or more.
  • step S103 a target definition switching algorithm is selected from the corresponding association relationship according to the historical jam rate that meets the preset condition, where the target definition switching algorithm is used to switch the definition of the video.
  • the corresponding association relationship is the association relationship where the historical stall rate that meets the preset condition is located, and the target definition switching algorithm is the The definition switching algorithm in the association relationship.
  • the corresponding association relationship is the set of association relationships where each historical freeze rate that meets the preset conditions is located, and the target definition switch is selected
  • the algorithm may be to select (for example randomly select) an algorithm from all the definition switching algorithms included in the set of association relationships as the target definition switching algorithm.
  • selecting the target definition switching algorithm from the corresponding association relationship according to the historical stall rate that meets the preset conditions may include: receiving the network speed sent by the client, where the client uses To play the video; and select a target definition switching algorithm from the corresponding association relationship according to the historical stall rate and network speed that meet the preset conditions.
  • select the target definition switching algorithm from the corresponding association relationship including: obtaining the first weight of the historical stall rate that meets the preset conditions; obtaining the network speed According to the historical stall rate, the first weight, the network speed and the second weight that meet the preset conditions, the target definition switching algorithm is selected from the corresponding association relationship.
  • the resolution switching algorithm corresponding to the freeze rate also includes multiple. If one of these sharpness switching algorithms is randomly selected as the target sharpness switching algorithm, the actual freeze rate of the target sharpness switching algorithm may be much higher than the corresponding target sharpness switching algorithm due to the network speed problem of the client.
  • the historical stuck rate is randomly selected as the target sharpness switching algorithm.
  • the network speed sent by the client can be received, and then the preset first weight and second weight can be obtained, and then according to the historical stall rate, the first weight, the network speed and the second weight that meet the preset conditions,
  • the target definition switching algorithm is selected from the corresponding association relationship.
  • the resolution switching algorithm corresponding to historical stall rate 1 is abrThroughput, which corresponds to historical stall rate 2.
  • the resolution switching algorithm is abrDynamic.
  • the video played by the client is video A, and the corresponding network speed is network speed A.
  • the value 2 is better than the value 1, and abrDynamic can be used as the target definition switching algorithm.
  • the network speed provided by the client may be the average network speed at which the client plays the video.
  • the client can determine the data volume of the videos downloaded within a certain period of time, and determine the time consumed for downloading the videos of these data volumes, and then divide the data volume and the duration to determine the average network speed.
  • the network speed provided by the client may be the historical network speed corresponding to the CDN (Content Delivery Network) used by the client to play the video.
  • CDN Content Delivery Network
  • the client can store multiple historical network speeds and CDNs corresponding to each historical network speed, and can store them in a map.
  • the client can determine the CDN used to play the video this time, and then determine the historical network speed corresponding to the CDN, where the historical network speed may include the historical network speed when the client uses the CDN to play the video.
  • the historical network speed may include the historical network speed when the client uses the CDN to play the video.
  • it can be The average internet speed when a client uses the CDN to play a video.
  • the stored data format map includes 3 CDNs and the historical network speed corresponding to each CND, which are:'cdna.acgvideo.com': 400KB/s;'cdnb.acgvideo.com': 500KB/s;' cdnc.acgvideo.com': 900KB/s. If the CDN used to play the video this time is cdna.acgvideo.com, since the historical network speed corresponding to cdna.acgvideo.com is 400KB/s, the client can send 400KB/s to the server.
  • the method for selecting the definition switching algorithm may further include: determining the playback duration of the video played by the client; determining the freeze caused by using the target definition switching algorithm to switch the definition of the video within the playback duration The number of times; and according to the playing time and the number of jams, the historical jam rate corresponding to the target definition switching algorithm is updated.
  • the client after the client stops playing the video, it can actively feed back to the server the playback duration of the played video and the number of freezes generated when the target definition switching algorithm is used to switch the video definition within the playback duration.
  • the server can pre-store the number of freezes and the playback duration. After the total playback duration of the video using the target definition switching algorithm reaches a certain level, it can calculate the new freeze rate, and then replace it according to the freeze rate The historical freeze rate corresponding to the target definition switching algorithm.
  • each association relationship may be the association relationship between the definition switching algorithm and the historical freeze rate corresponding to the definition switching algorithm, from From these associations, find out the historical freeze rate that meets the preset conditions (for example, the value is less than a certain value), and then select the target definition for switching the video from the association relationship corresponding to the historical freeze rate that meets the preset conditions Switching algorithm.
  • the embodiment of the application Since the historical freeze rate corresponding to the target definition switching algorithm selected by the embodiment of the application is relatively low, when switching videos using the determined target definition switching algorithm, the effect of reducing the video freeze rate can be achieved And because all the resolution switching algorithms selected in the embodiment of the application can achieve the effect of automatically switching the video resolution, the embodiment of the application can avoid that the prior art can only manually switch the resolution and manually switch the resolution. Later, the video may freeze due to the unsupported network speed.
  • Fig. 2 schematically shows a flowchart of a method for selecting a definition switching algorithm according to another embodiment of the present application.
  • the method for selecting the definition switching algorithm may include steps S201 to S206, where:
  • Step S201 query the abrMap stored locally.
  • Step S202 Obtain abrMap.
  • step S203 it is judged whether there is an optimal abr definition switching algorithm, if yes, step S204 is executed, and if otherwise, step S205 is executed.
  • Step S204 using the best abr definition switching algorithm.
  • Step S205 using other abr definition switching algorithms.
  • Step S206 play the buffer rate record, and update abrMap.
  • abrMap can store the historical stall rates corresponding to abrThroughput and abrThroughput, the historical stall rates corresponding to abrBola and abrBola, and the history corresponding to abrDynamic and abrDynamic Caton rate. If the query is found, obtain the abrMap, and then judge whether there is the best abr (Adaptive Bitrate, also known as adaptive bit rate/adaptive bit rate) resolution switching algorithm in the abrMap. Judging whether there is the best abr definition switching algorithm in abrMap can be based on the above-mentioned embodiment, and will not be repeated here.
  • abrMap can store the historical stall rates corresponding to abrThroughput and abrThroughput, the historical stall rates corresponding to abrBola and abrBola, and the history corresponding to abrDynamic and abrDynamic Caton rate.
  • the best abr definition switching algorithm is sent to the client, so that the client can automatically switch the definition of the video based on the best abr definition switching algorithm. If there is no optimal abr definition switching algorithm in abrMap, any one of the other abr definition switching algorithms in abrMap can be sent to the client, so that the client can automatically switch the definition of the video based on the abr definition switching algorithm. Further, it is also possible to record the playback duration and the number of freezes as described in the above embodiment according to the buffer rate of the video played by the client, and update the historical freeze rate of the corresponding abr definition switching algorithm in abrMap. After the update, the most The optimal abr sharpness switching algorithm may change.
  • Fig. 3 schematically shows a block diagram of a definition switching algorithm selection system according to an embodiment of the present application.
  • the video definition determination system 300 may include an acquisition module 310, a first determination module 320, and a selection module 330, where:
  • the obtaining module 310 is configured to obtain multiple association relationships, where the association relationships include a definition switching algorithm and a historical stall rate.
  • the first determining module 320 is configured to determine the historical stuck rate that meets the preset condition from each of the multiple association relationships.
  • the selection module 330 is configured to select a target definition switching algorithm from the corresponding association relationship according to the historical jam rate that meets the preset conditions, wherein the target definition switching algorithm is used to switch the definition of the video.
  • the definition switching algorithm selection system stores multiple association relationships in the system in advance, and each association relationship may be the association relationship between the definition switching algorithm and the historical freeze rate corresponding to the definition switching algorithm, from From these associations, find out the historical freeze rate that meets the preset conditions (for example, the value is less than a certain value), and then select the target definition for switching the video from the association relationship corresponding to the historical freeze rate that meets the preset conditions Switching algorithm.
  • the embodiment of the application Since the historical freeze rate corresponding to the target definition switching algorithm selected by the embodiment of the application is relatively low, when switching videos using the determined target definition switching algorithm, the effect of reducing the video freeze rate can be achieved And because all the resolution switching algorithms selected in the embodiment of the application can achieve the effect of automatically switching the video resolution, the embodiment of the application can avoid that the prior art can only manually switch the resolution and manually switch the resolution. Later, the video may freeze due to the unsupported network speed.
  • the selection module may include: a receiving unit for receiving the network speed sent by the client, where the client is used for playing videos; and a selection unit for selecting a history card that meets preset conditions Select the target definition switching algorithm from the corresponding relationship between frame rate and network speed.
  • the selection unit may include: a first obtaining subunit, configured to obtain a first weight of a historical stall rate that meets a preset condition; and a second obtaining subunit, configured to obtain a first weight of the network speed Two weights; and a selection subunit for selecting the target definition switching algorithm from the corresponding association relationship according to the historical stall rate, the first weight, the network speed and the second weight that meet the preset conditions.
  • the network speed may include the average network speed at which the client plays the video.
  • the network speed may include the historical network speed corresponding to the CDN used by the client to play the video.
  • the historical stuck rate that meets the preset condition may include the historical stuck rate with the smallest value.
  • system may further include: a second determining module, configured to determine the playback duration of the video played by the client; and a third determining module, configured to determine to switch the video using the target definition switching algorithm within the playback duration The number of freezes generated by the definition of the definition; and an update module for updating the historical freeze rate corresponding to the target definition switching algorithm according to the playback duration and the number of freezes.
  • a second determining module configured to determine the playback duration of the video played by the client
  • third determining module configured to determine to switch the video using the target definition switching algorithm within the playback duration The number of freezes generated by the definition of the definition
  • an update module for updating the historical freeze rate corresponding to the target definition switching algorithm according to the playback duration and the number of freezes.
  • Fig. 4 schematically shows a schematic diagram of the hardware architecture of a computer device suitable for implementing a method for selecting a definition switching algorithm according to an embodiment of the present application.
  • the computer device 400 is a device that can automatically perform numerical calculation and/or information processing according to pre-set or stored instructions.
  • it can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a rack server, a blade server, a tower server, or a rack server (including an independent server or a server cluster composed of multiple servers).
  • the computer device 400 includes at least but not limited to: a memory 410, a processor 420, and a network interface 430 that can communicate with each other through a system bus. among them:
  • the memory 410 includes at least one type of computer-readable storage medium.
  • the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), and static random access memory.
  • SRAM read only memory
  • ROM read only memory
  • EEPROM electrically erasable programmable read only memory
  • PROM programmable read only memory
  • magnetic memory magnetic disks, optical disks, etc.
  • the memory 410 may be an internal storage module of the computer device 400, such as a hard disk or memory of the computer device 400.
  • the memory 410 may also be an external storage device of the computer device 400, for example, a plug-in hard disk equipped on the computer device 400, a smart memory card (Smart Media Card, SMC for short), and a secure digital (Secure Digital) Digital, abbreviated as SD) card, flash card (Flash Card), etc.
  • the memory 410 may also include both an internal storage module of the computer device 400 and an external storage device thereof.
  • the memory 410 is generally used to store an operating system and various application software installed in the computer device 400, such as program codes of a method for selecting a resolution switching algorithm.
  • the memory 410 may also be used to temporarily store various types of data that have been output or will be output.
  • the processor 420 may be a central processing unit (Central Processing Unit, referred to as CPU for short) in some embodiments, a controller, a microcontroller, a microprocessor, or other data processing chips.
  • the processor 420 is generally used to control the overall operation of the computer device 400, such as performing data interaction or communication-related control and processing with the computer device 400.
  • the processor 420 is configured to run program codes stored in the memory 410 or process data.
  • the network interface 430 may include a wireless network interface or a wired network interface, and the network interface 430 is generally used to establish a communication connection between the computer device 400 and other computer devices.
  • the network interface 430 is used to connect the computer device 400 with an external terminal via a network, and establish a data transmission channel and a communication connection between the computer device 400 and the external terminal.
  • the network can be Intranet, Internet, Global System of Mobile communication (GSM), Wideband Code Division Multiple Access (WCDMA), 4G network , 5G network, Bluetooth (Bluetooth), Wi-Fi and other wireless or wired networks.
  • FIG. 4 only shows a computer device with components 410-430, but it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented instead.
  • the method for selecting the definition switching algorithm stored in the memory 410 may also be divided into one or more program modules and executed by one or more processors (in this embodiment, the processor 420) To complete this application.
  • This embodiment also provides a computer-readable storage medium on which computer-readable instructions are stored.
  • the steps of the method for selecting the definition switching algorithm in the embodiment are implemented. .
  • the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disk, etc.
  • the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device.
  • the computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, referred to as SMC), a secure digital ( Secure Digital, referred to as SD card, Flash Card, etc.
  • the computer-readable storage medium may also include both the internal storage unit and the external storage device of the computer device.
  • the computer-readable storage medium is generally used to store the operating system and various application software installed in the computer device, such as the program code of the method for selecting the definition switching algorithm in the embodiment.
  • the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.
  • modules or steps of the above-mentioned embodiments of the present application can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed among multiple computing devices.
  • they can be implemented with program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, and in some cases, can be different from here
  • the steps shown or described are performed in the order of, or they are respectively fabricated into individual integrated circuit modules, or multiple modules or steps of them are fabricated into a single integrated circuit module to achieve. In this way, the embodiments of the present application are not limited to any specific hardware and software combination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请提供了一种清晰度切换算法的选择方法,该方法包括:获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率;从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。本申请还提供了一种清晰度切换算法的选择系统、一种计算机设备及一种计算机可读存储介质。

Description

清晰度切换算法的选择方法、系统、设备及介质
本申请要求于2019年01月30日提交中国专利局、申请号为201910092652.5、发明名称为“清晰度切换算法的选择方法、系统、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种清晰度切换算法的选择方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着视频业务的发展,用户观看网络视频的需求日益上升。视频清晰度和播放流畅度是影响用户体验的关键因素。为了满足不同用户的需求,在流媒体平台上,同一个片源往往存在不同的清晰度,例如:标清、高清、超清等。
然而,发明人发现,现有技术中用户只能手动切换清晰度,且在用户手动切换清晰度后可能会由于网速不支持而导致视频卡顿,用户体验不佳。
目前尚未存在解决上述缺陷的方案存在。
发明内容
本申请的目的是提供一种清晰度切换算法的选择方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
本申请的一个方面提供了一种清晰度切换算法的选择方法,上述方法包括:获取多条关联关系,其中,上述关联关系包括清晰度切换算法和历史卡顿率;从上述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及根据上述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,上述目标清晰度切换算法用于切换视频的清晰度。
本申请的另一个方面还提供了一种清晰度切换算法的选择系统,上述系统包括:获取模块,用于获取多条关联关系,其中,上述关联关系包括清晰度切换算法和历史卡顿率;第一确定模块,用于从上述多条关联关系的各条关联关系中确定出符合预设条件的历史卡 顿率;以及选择模块,用于根据上述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,上述目标清晰度切换算法用于切换视频的清晰度。
本申请的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机可读指令,上述处理器执行上述计算机可读指令时用于实现步骤:
获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
本申请的又一个方面提供了一种计算机可读存储介质,其上存储有计算机可读指令,上述计算机可读指令被处理器执行时用于实现步骤:
获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
本申请提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本申请的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本申请的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本申请的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
附图说明
图1示意性示出了根据本申请实施例的清晰度切换算法的选择方法的流程图;
图2示意性示出了根据本申请另一实施例的清晰度切换算法的选择方法的流程图;
图3示意性示出了根据本申请实施例的清晰度切换算法的选择系统的框图;
图4示意性示出了根据本申请实施例的适于实现清晰度切换算法的选择方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本申请的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本申请的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本申请的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
图1示意性示出了根据本申请实施例的清晰度切换算法的选择方法的流程图。
如图1所示,该清晰度切换算法的选择方法可以包括步骤S101~步骤S103,其中:
步骤S101,获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率。
本申请实施例提供清晰度切换算法的选择方案可以应用在服务器,在客户端如web端播放视频时,可以请求服务器提供较优的且能够动态切换视频清晰度的清晰度切换算法,此时,服务器可以通过执行本申请实施例提供的方案,选择出目标清晰度切换算法,并将该目标清晰度切换算法返回给客户端,以便客户端能够基于该目标清晰度切换算法动态的切换视频的清晰度。
根据本申请的实施例,可以预先在服务器可中存储的多条关联关系,每条关联关系可以包括一个清晰度切换算法和该应用该清晰度切换算法切换视频的清晰度时对应的历史卡顿率。其中,清晰度切换算法可以是abrThroughput(基于吞吐量(又称为网速)的自适应码率切换算法)、abrBola(基于当前缓冲区的自适应码率切换算法)或者abrDynamic(基于abrThroughput和abrBola动态调整的自适应码率切换算法)。
根据本申请的实施例,对于每个清晰度切换算法对应的历史卡顿率,可以统计出播放视频的总播放时长,并统计利用该清晰度切换算法切换视频的清晰度对应的总卡顿次数,然后将总卡顿次数与总播放时长作除法,可以得出该清晰度切换算法对应的历史卡顿率。 为了尽可能保证准确性,每一个清晰度切换算法对应的总播放时长可以是相同的。
步骤S102,从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率。
在本申请的实施例中,符合预设条件的历史卡顿率可以包括数值最小的历史卡顿率,或者符合预设条件的历史卡顿率也可以包括数值小于预设阈值的历史卡顿率。其中,符合预设条件的历史卡顿率可以包括一个或多个。
步骤S103,根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。
根据本申请的实施例,若是符合预设条件的历史卡顿率只有一个,则对应的关联关系即为该符合预设条件的历史卡顿率所在的关联关系,目标清晰度切换算法则为该关联关系中的清晰度切换算法。
根据本申请的实施例,若是符合预设条件的历史卡顿率有多个,则对应的关联关系为每一个符合预设条件的历史卡顿率所在的关联关系的集合,选择目标清晰度切换算法则可以是从这个集合的关联关系包括的所有的清晰度切换算法中选择(例如随机选择)一个算法,作为该目标清晰度切换算法。
作为一种可选的实施例,根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,可以包括:接收客户端发送的网速,其中,客户端用于播放所述视频;以及根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法。其中,根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法,包括:获取符合预设条件的历史卡顿率的第一权重;获取网速的第二权重;以及根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
在本申请的实施例中,在符合预设条件的历史卡顿率包括多个时,由于清晰度切换算法和历史卡顿率是一一对应的,则与这多个符合预设条件的历史卡顿率对应的清晰度切换算法也包括多个。若是随机的从这些清晰度切换算法中选择一个作为目标清晰度切换算法,可能会因为客户端的网速问题使得使用目标清晰度切换算法的真实卡顿率远远高于该目标清晰度切换算法对应的历史卡顿率。此时,可以接收客户端发送的网速,然后获取预先设置的第一权重、第二权重,进而可以根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
例如,符合预设条件的历史卡顿率有两个,分别为历史卡顿率1、历史卡顿2,与历史卡顿率1对应的清晰度切换算法为abrThroughput,与历史卡顿率2对应的清晰度切换算法为abrDynamic。客户端播放的视频为视频A,对应的网速为网速A。则可以将历史卡顿率 1和第一权重做乘法,网速A与第二权重做乘法,然后二者求和为数值1;将历史卡顿率2和第一权重做乘法,网速A与第二权重做乘法,然后二者的和为数值2。经过比较,数值2优于数值1,则可以将abrDynamic作为目标清晰度切换算法。
作为一种可选的实施例,客户端提供的网速可以是客户端播放该视频的平均网速。
根据本申请的实施例,客户端可以确定一定时间内下载的视频的数据量,并确定下载这些数据量的视频所消耗的时长,然后将数据量和时长作除法,确定出平均网速。当然,也可以多次计算以确保计算结果的准确性。
作为一种可选的实施例,客户端提供的网速可以是客户端播放该视频使用的CDN(Content Delivery Network,内容分发网络)对应的历史网速。
根据本申请的实施例,客户端可以存储了多个历史网速和每一个历史网速对应的CDN,并且可以把它们存储在一个map中。客户端可以确定本次播放视频使用的CDN,然后确定出该CDN对应的历史网速,其中,历史网速可以包括历史上客户端使用该CDN播放视频时的网速,优选地,可以是上一次客户端使用该CDN播放视频时的平均网速。
例如,已存储的数据格式map包括3个CDN和每个CND对应的历史网速,分别为:'cdna.acgvideo.com':400KB/s;'cdnb.acgvideo.com':500KB/s;'cdnc.acgvideo.com':900KB/s。若本次播放视频使用的CDN为cdna.acgvideo.com,由于cdna.acgvideo.com对应的历史网速为400KB/s,则客户端可以将400KB/s发送给服务器。
作为一种可选的实施例,该清晰度切换算法的选择方法还可以包括:确定客户端播放视频的播放时长;确定在播放时长内使用目标清晰度切换算法切换视频的清晰度产生的卡顿次数;以及根据播放时长和卡顿次数,更新目标清晰度切换算法对应的历史卡顿率。
根据本申请的实施例,在客户端停止播放视频之后,可以主动将播放视频的播放时长和在该播放时长内使用该目标清晰度切换算法切换视频清晰度时产生的卡顿次数反馈给服务器,服务器可以将卡顿次数和播放时长预先存储起来,在后续使用该目标清晰度切换算法的视频的总播放时长达到一定程度后,可以再行计算新的卡顿率,然后根据该卡顿率替换目标清晰度切换算法对应的历史卡顿率。
本申请提供的清晰度切换算法的选择方法,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本申请的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于 本申请的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本申请的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
图2示意性示出了根据本申请另一实施例的清晰度切换算法的选择方法的流程图。
如图2所示,该清晰度切换算法的选择方法可以包括步骤S201~步骤S206,其中:
步骤S201,查询本地存储的abrMap。
步骤S202,获取abrMap。
步骤S203,判断是否有最佳abr清晰度切换算法,若是则执行步骤S204,若否则执行步骤S205。
步骤S204,使用最佳abr清晰度切换算法。
步骤S205,使用其它abr清晰度切换算法。
步骤S206,播放缓冲率记录,更新abrMap。
在本申请的实施例中,可以查询本次是否存储有abrMap,其中,abrMap中可以存储有abrThroughput和abrThroughput对应的历史卡顿率,abrBola和abrBola对应的历史卡顿率,abrDynamic和abrDynamic对应的历史卡顿率。若查询到了则获取该abrMap,然后判断abrMap中是否有最佳abr(Adaptive Bitrate,又称为自适应比特率/自适应码率)清晰度切换算法。判断abrMap中是否有最佳abr清晰度切换算法可以根据上述实施例所述,在此不再赘述。若abrMap中有则将该最佳abr清晰度切换算法发给客户端,以使客户端基于该最佳abr清晰度切换算法自动切换视频的清晰度。若abrMap中没有最佳abr清晰度切换算法,则可以将abrMap中的其它abr清晰度切换算法中任意一个发送给客户端,以使客户端基于该abr清晰度切换算法自动切换视频的清晰度。进一步,还可以根据客户端播放视频的缓冲率记录如上述实施例所述的播放时长和卡顿次数,更新abrMap中相应的abr清晰度切换算法的历史卡顿率,其中,更新完后,最佳的abr清晰度切换算法可能会发生变化。
图3示意性示出了根据本申请实施例的清晰度切换算法的选择系统的框图。
如图3所示,该视频清晰度确定系统300可以包括获取模块310、第一确定模块320和选择模块330,其中:
获取模块310用于获取多条关联关系,其中,关联关系包括清晰度切换算法和历史卡顿率。
第一确定模块320用于从多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率。
选择模块330用于根据符合预设条件的历史卡顿率,从对应的关联关系中选择出目标 清晰度切换算法,其中,目标清晰度切换算法用于切换视频的清晰度。
本申请提供的清晰度切换算法的选择系统,预先在系统中存储了多条关联关系,每条关联关系可以是清晰度切换算法和该清晰度切换算法对应的历史卡顿率的关联关系,从这些关联关系中找出符合预设条件(例如数值小于一定值)的历史卡顿率,然后从与符合预设条件的历史卡顿率对应的关联关系中选择出用于切换视频的目标清晰度切换算法。由于本申请的实施例选择出的目标清晰度切换算法对应的历史卡顿率是相对较低的,这样利用确定出的这个目标清晰度切换算法切换视频时,可以实现降低视频卡顿率的效果,且由于本申请的实施例选择的所有的清晰度切换算法均可以实现自动切换视频清晰度的效果,因此本申请的实施例可以避免现有技术中只能手动切换清晰度且手动切换清晰度后可能会由于网速不支持而导致视频卡顿的缺陷。
作为一种可选的实施例,选择模块可以包括:接收单元,用于接收客户端发送的网速,其中,客户端用于播放视频;以及选择单元,用于根据符合预设条件的历史卡顿率和网速,从对应的关联关系中选择出目标清晰度切换算法。
作为一种可选的实施例,选择单元可以包括:第一获取子单元,用于获取符合预设条件的历史卡顿率的第一权重;第二获取子单元,用于获取网速的第二权重;以及选择子单元,用于根据符合预设条件的历史卡顿率、第一权重、网速和第二权重,从对应的关联关系中选择出目标清晰度切换算法。
作为一种可选的实施例,网速可以包括客户端播放视频的平均网速。
作为一种可选的实施例,网速可以包括客户端播放视频使用的CDN对应的历史网速。
作为一种可选的实施例,符合预设条件的历史卡顿率可以包括数值最小的历史卡顿率。
作为一种可选的实施例,系统还可以包括:第二确定模块,用于确定客户端播放视频的播放时长;第三确定模块,用于确定在播放时长内使用目标清晰度切换算法切换视频的清晰度产生的卡顿次数;以及更新模块,用于根据播放时长和卡顿次数,更新目标清晰度切换算法对应的历史卡顿率。
图4示意性示出了根据本申请实施例的适于实现清晰度切换算法的选择方法的计算机设备的硬件架构示意图。本实施例中,计算机设备400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,计算机设备400至少包括但不限于:可通过系统总线相互通信连接存储器410、处理器420、网络接口430。其中:
存储器410至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器410可以是计算机设备400的内部存储模块,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器410也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器410还可以既包括计算机设备400的内部存储模块也包括其外部存储设备。本实施例中,存储器410通常用于存储安装于计算机设备400的操作系统和各类应用软件,例如清晰度切换算法的选择方法的程序代码等。此外,存储器410还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器420在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器420通常用于控制计算机设备400的总体操作,例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器420用于运行存储器410中存储的程序代码或者处理数据。
网络接口430可包括无线网络接口或有线网络接口,该网络接口430通常用于在计算机设备400与其他计算机设备之间建立通信连接。例如,网络接口430用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件410-430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器410中的清晰度切换算法的选择方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器420)所执行,以完成本申请。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机可读指令,计算机可读指令被处理器执行时实现实施例中的清晰度切换算法的选择方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如, SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的清晰度切换算法的选择方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种清晰度切换算法的选择方法,所述方法包括:
    获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
    从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
    根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
  2. 根据权利要求1所述的方法,所述根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,包括:
    接收客户端发送的网速,其中,所述客户端用于播放所述视频;以及
    根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  3. 根据权利要求2所述的方法,所述根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法,包括:
    获取所述符合预设条件的历史卡顿率的第一权重;
    获取所述网速的第二权重;以及
    根据所述符合预设条件的历史卡顿率、所述第一权重、所述网速和所述第二权重,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  4. 根据权利要求2所述的方法,所述网速包括所述客户端播放所述视频的平均网速。
  5. 根据权利要求2所述的方法,所述网速包括所述客户端播放所述视频使用的CDN对应的历史网速。
  6. 根据权利要求1所述的方法,所述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
  7. 根据权利要求1所述的方法,所述方法还包括:
    确定所述客户端播放所述视频的播放时长;
    确定在所述播放时长内使用所述目标清晰度切换算法切换所述视频的清晰度产生的卡顿次数;以及
    根据所述播放时长和所述卡顿次数,更新所述目标清晰度切换算法对应的历史卡顿率。
  8. 一种清晰度切换算法的选择系统,所述系统包括:
    获取模块,用于获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
    第一确定模块,用于从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
    选择模块,用于根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
  9. 根据权利要求8所述的系统,所述选择模块包括:
    接收单元,用于接收客户端发送的网速,其中,所述客户端用于播放所述视频;以及
    选择单元,用于根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  10. 根据权利要求9所述的系统,所述选择单元包括:
    第一获取子单元,用于获取所述符合预设条件的历史卡顿率的第一权重;
    第二获取子单元,用于获取所述网速的第二权重;以及
    选择子单元,用于根据所述符合预设条件的历史卡顿率、所述第一权重、所述网速和所述第二权重,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  11. 根据权利要求9所述的系统,所述网速包括所述客户端播放所述视频的平均网速。
  12. 根据权利要求9所述的系统,所述网速包括所述客户端播放所述视频使用的CDN对应的历史网速。
  13. 根据权利要求8所述的系统,所述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
  14. 根据权利要求8所述的系统,所述系统还包括:
    第二确定模块,用于确定所述客户端播放所述视频的播放时长;
    第三确定模块,用于确定在所述播放时长内使用所述目标清晰度切换算法切换所述视频的清晰度产生的卡顿次数;以及
    更新模块,用于根据所述播放时长和所述卡顿次数,更新所述目标清晰度切换算法对应的历史卡顿率。
  15. 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时用于实现步骤:
    获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
    从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
    根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
  16. 根据权利要求15所述的计算机设备,所述根据所述符合预设条件的历史卡顿率, 从对应的关联关系中选择出目标清晰度切换算法,包括:
    接收客户端发送的网速,其中,所述客户端用于播放所述视频;以及
    根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  17. 根据权利要求15所述的计算机设备,所述根据所述符合预设条件的历史卡顿率和所述网速,从所述对应的关联关系中选择出所述目标清晰度切换算法,包括:
    获取所述符合预设条件的历史卡顿率的第一权重;
    获取所述网速的第二权重;以及
    根据所述符合预设条件的历史卡顿率、所述第一权重、所述网速和所述第二权重,从所述对应的关联关系中选择出所述目标清晰度切换算法。
  18. 根据权利要求15所述的计算机设备,所述网速包括所述客户端播放所述视频的平均网速;所述网速包括所述客户端播放所述视频使用的CDN对应的历史网速;所述符合预设条件的历史卡顿率包括数值最小的历史卡顿率。
  19. 根据权利要求15所述的计算机设备,所述处理器执行所述计算机可读指令时用于实现步骤:
    确定所述客户端播放所述视频的播放时长;
    确定在所述播放时长内使用所述目标清晰度切换算法切换所述视频的清晰度产生的卡顿次数;以及
    根据所述播放时长和所述卡顿次数,更新所述目标清晰度切换算法对应的历史卡顿率。
  20. 一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时用于实现步骤:
    获取多条关联关系,其中,所述关联关系包括清晰度切换算法和历史卡顿率;
    从所述多条关联关系的各条关联关系中确定出符合预设条件的历史卡顿率;以及
    根据所述符合预设条件的历史卡顿率,从对应的关联关系中选择出目标清晰度切换算法,其中,所述目标清晰度切换算法用于切换视频的清晰度。
PCT/CN2019/128455 2019-01-30 2019-12-25 清晰度切换算法的选择方法、系统、设备及介质 WO2020155962A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19912501.4A EP3905706A4 (en) 2019-01-30 2019-12-25 DEFINITION SWITCHING ALGORITHM SELECTION METHOD AND SYSTEM, AND DEVICE AND MEDIA
US17/373,464 US11671656B2 (en) 2019-01-30 2021-07-12 Method for selecting resolution switching algorithm, computing device, and computer-program product

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910092652.5A CN111510771B (zh) 2019-01-30 2019-01-30 清晰度切换算法的选择方法、系统、设备及介质
CN201910092652.5 2019-01-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/373,464 Continuation US11671656B2 (en) 2019-01-30 2021-07-12 Method for selecting resolution switching algorithm, computing device, and computer-program product

Publications (1)

Publication Number Publication Date
WO2020155962A1 true WO2020155962A1 (zh) 2020-08-06

Family

ID=71839938

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/128455 WO2020155962A1 (zh) 2019-01-30 2019-12-25 清晰度切换算法的选择方法、系统、设备及介质

Country Status (4)

Country Link
US (1) US11671656B2 (zh)
EP (1) EP3905706A4 (zh)
CN (1) CN111510771B (zh)
WO (1) WO2020155962A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037986B (zh) * 2021-03-04 2023-06-06 北京字跳网络技术有限公司 视频的自适应播放方法及设备
CN113891155B (zh) * 2021-09-29 2024-04-05 百果园技术(新加坡)有限公司 视频播放档位确定方法、视频播放方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656887A (zh) * 2009-09-23 2010-02-24 杭州华三通信技术有限公司 码率控制算法的选择方法和装置
US20130297743A1 (en) * 2012-02-08 2013-11-07 Arris Group, Inc. Managed Adaptive Streaming
CN103517143A (zh) * 2013-08-29 2014-01-15 小米科技有限责任公司 网络视频的播放方法、装置及终端设备
CN107864402A (zh) * 2017-10-11 2018-03-30 湖南机友科技有限公司 直播视频播放方法及装置
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN108769760A (zh) * 2018-05-23 2018-11-06 中国联合网络通信集团有限公司 一种码率调整方法、ue、mec及网络系统
CN108810468A (zh) * 2018-06-11 2018-11-13 哈尔滨工程大学 一种优化显示效果的视频传输装置及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2716041A4 (en) * 2011-05-31 2014-10-15 Dolby Lab Licensing Corp VIDEO COMPRESSION WITH RESOLUTION COMPENSATION AND OPTIMIZATION
CN103763618A (zh) * 2013-12-27 2014-04-30 乐视网信息技术(北京)股份有限公司 一种清晰度切换方法及电子设备
US20160011874A1 (en) * 2014-07-09 2016-01-14 Doron Orenstein Silent memory instructions and miss-rate tracking to optimize switching policy on threads in a processing device
US9825834B2 (en) * 2015-03-30 2017-11-21 Airwatch Llc Network speed detection
CN108200470A (zh) * 2017-12-20 2018-06-22 中国联合网络通信集团有限公司 一种视频码率调整方法及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656887A (zh) * 2009-09-23 2010-02-24 杭州华三通信技术有限公司 码率控制算法的选择方法和装置
US20130297743A1 (en) * 2012-02-08 2013-11-07 Arris Group, Inc. Managed Adaptive Streaming
CN103517143A (zh) * 2013-08-29 2014-01-15 小米科技有限责任公司 网络视频的播放方法、装置及终端设备
CN107864402A (zh) * 2017-10-11 2018-03-30 湖南机友科技有限公司 直播视频播放方法及装置
CN108271048A (zh) * 2018-02-09 2018-07-10 北京邮电大学 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法
CN108769760A (zh) * 2018-05-23 2018-11-06 中国联合网络通信集团有限公司 一种码率调整方法、ue、mec及网络系统
CN108810468A (zh) * 2018-06-11 2018-11-13 哈尔滨工程大学 一种优化显示效果的视频传输装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3905706A4 *

Also Published As

Publication number Publication date
EP3905706A1 (en) 2021-11-03
US20210337271A1 (en) 2021-10-28
EP3905706A4 (en) 2022-03-16
CN111510771A (zh) 2020-08-07
CN111510771B (zh) 2021-10-12
US11671656B2 (en) 2023-06-06

Similar Documents

Publication Publication Date Title
US10659832B1 (en) Dynamic bitrate selection for streaming media
US10305947B2 (en) Pre-buffering audio streams
US9276967B2 (en) System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system
US9060207B2 (en) Adaptive video streaming over a content delivery network
US9712854B2 (en) Cost-aware cloud-based content delivery
US20170257409A1 (en) Live stream manifests for on demand content
CN105376218B (zh) 一种快速响应用户请求的流媒体系统和方法
US10440082B1 (en) Adjusting parameter settings for bitrate selection algorithms
CN109819336B (zh) 一种基于播放缓存大小分片下载的方法及系统
US9729603B2 (en) Content stream delivery using variable cache replacement granularity
WO2020155962A1 (zh) 清晰度切换算法的选择方法、系统、设备及介质
WO2020155960A1 (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
US9712580B2 (en) Pipelining for parallel network connections to transmit a digital content stream
WO2020155958A1 (zh) 测量网速的方法、装置、计算机设备及可读存储介质
JP2020188387A (ja) 制御装置、制御方法及びプログラム
WO2020155961A1 (zh) 视频请求方法、系统、计算机设备及计算机可读存储介质
CN113301072A (zh) 服务调度方法及系统、调度设备、客户端
US11825165B2 (en) Method of determining video resolution, computing device, and computer-program product
CN109639813B (zh) 视频文件传输处理方法及装置、电子设备和存储介质
US11356517B2 (en) Optimizing network utilization
US20210314274A1 (en) Multimedia content steering
US11627201B2 (en) Optimizing network utilization
WO2024082688A1 (zh) 礼物特效资源播放方法及装置
US10666698B1 (en) Bit rate selection for streaming media
US20200186849A1 (en) Method and system for reducing drop-outs during video stream playback

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: 19912501

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019912501

Country of ref document: EP

Effective date: 20210730