CN113709524B - 选择音视频流的比特率的方法及其装置 - Google Patents
选择音视频流的比特率的方法及其装置 Download PDFInfo
- Publication number
- CN113709524B CN113709524B CN202110981926.3A CN202110981926A CN113709524B CN 113709524 B CN113709524 B CN 113709524B CN 202110981926 A CN202110981926 A CN 202110981926A CN 113709524 B CN113709524 B CN 113709524B
- Authority
- CN
- China
- Prior art keywords
- stream
- bit rate
- type
- audio
- preferred
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000004044 response Effects 0.000 claims description 75
- 230000000750 progressive effect Effects 0.000 claims description 20
- 230000000694 effects Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000004927 fusion 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
- 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
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- 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/234363—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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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/234381—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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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/84—Generation or processing of descriptive data, e.g. content descriptors
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供了一种选择音视频流的比特率的方法及其装置。该方法包括:获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流。根据本公开的方法能够在带宽允许的情况下,平衡音视频流带宽配比同时提高比特率,保证了音视频的稳定播放,并且优先提高优选特征所属类型流的比特率,满足用户对优选特征的观看需求。
Description
技术领域
本公开涉及多媒体网络技术领域,尤其涉及一种选择音视频流的比特率的方法及其装置。
背景技术
随着多媒体网络技术的蓬勃发展,自适应传输流(例如,DASH和HLS)已经得到广泛的应用,其原理在于将媒体文件分割成一系列小型片段,每个片段进一步编码为多个不同的比特率源,客户端根据当前情况选择具有适当比特率的比特率源。
当前比特率源的选择有很多方法,例如,取当前带宽和播放流的比特率比较,根据比较结果去选择一个当前带宽能满足的较高的比特率源。然而,该方案在带宽突然波动的情况下会严重影响用户体验,例如,突然向下波动可能出现较长时间的暂停加载,突然向上波动会出现频繁的切换和缓冲。为了解决这一问题,很多方案加入了缓存量与播放器缓存数据阀值的比较,在考虑缓存量的情况下尽可能的降低带宽突然波动对播放器流畅性的影响。
然而,自适应传输流包括音频流和视频流,他们各自都有独立封装分片的源,传统方法都没有区分音频流和视频流,也没有优先考虑用户对特定传输流特征体验的需求(例如,高音质的dolby音频和正在逐渐应用到点播应用的8k视频)。音频和视频是共享带宽资源的,可能会出现因为一方占用带宽导致另一方分配不到足够的带宽资源的情况。并且是否满足用户对特定传输流特征体验的需求直接影响了用户对传输流的感受质量。
发明内容
本公开提供一种选择音视频流的比特率的方法及其装置,以至少解决相关技术中的选择比特率流时区分音频和视频,优先考虑用户对播放源特征体验的需求,也可不解决任何上述问题。
根据本公开的第一方面,提供了一种选择音视频流的比特率的方法,其特征在于,包括:获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流。
根据本公开的第一方面,音频流的优选特征包括dolby音效、HiFi中的至少一个,视频流的优选特征包括4k清晰度、8k清晰度中的至少一个。
根据本公开的第一方面,获取预先设置的关于音频流和视频流的优选特征的步骤包括:从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;或,响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。
根据本公开的第一方面,在获取预先设置的关于音频流和视频流的优选特征的步骤之前,还包括:获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。
根据本公开的第一方面,设置用于下载音频流和视频流的比特率的步骤包括:根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率;响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;根据确定的结果设置第一类型流的比特率,其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。
根据本公开的第一方面,根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率的步骤包括:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
根据本公开的第一方面,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率的步骤包括:确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率切换到更高的比特率;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流是否已经切换为具有优选特征的指定流,并且响应于确定第二类型流已经切换到具有优选特征的指定流,将第一类型流的比特率切换到更高的比特率;根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率的步骤包括:确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率切换到更低的比特率;响应于确定优选特征是第一类型流的特征,进一步确定第二类型流是否已经切换为最低比特率,并且响应于确定第二类型流已经切换到最低比特率流,将第一类型流的比特率切换到更低的比特率。
根据本公开的第一方面,第一类型流和第二类型流的比特率分别被划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率,其中,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率的步骤包括:确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率等级切换到更高等级;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级大于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更高等级;根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率的步骤包括:确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率等级切换到更低等级;响应于确定优选特征是第一类型流的特征,则进一步确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级小于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更低等级。
根据本公开的第二方面,提供了一种选择音视频流的比特率的装置,包括:优选特征获取模块,被配置为获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;比特率设置模块,被配置为根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;下载模块,被配置为基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流。
根据本公开的第二方面,音频流的优选特征包括dolby音效、HiFi中的至少一个,视频流的优选特征包括4k清晰度、8k清晰度中的至少一个。
根据本公开的第二方面,所述优选特征获取模块还被配置为:从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。
根据本公开的第二方面,所述优选特征获取模块还被配置为:在获取预先设置的关于音频流和视频流的优选特征之前,获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。
根据本公开的第二方面,所述比特率设置模块包括:最大比特率计算模块,被配置为根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率;比特率上切模块,被配置为响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;比特率下切模块,被配置为响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;结果比特率设置模块,被配置为根据确定的结果设置第一类型流的比特率;比特率等级划分模块,被配置为将第一类型流和第二类型流的比特率分别被划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率;其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。
根据本公开的第二方面,所述最大比特率计算模块还被配置为:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
根据本公开的第二方面,所述比特率上切模块包括:完全优选特征上切模块,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率切换到更高的比特率;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流是否已经切换为具有优选特征的指定流,并且响应于确定第二类型流已经切换到具有优选特征的指定流,将第一类型流的比特率切换到更高的比特率;渐进式上切模块,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率等级切换到更高等级;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级大于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更高等级。
根据本公开的第二方面,所述比特率下切模块包括:完全优选特征下切模块,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率切换到更低的比特率;响应于确定优选特征是第一类型流的特征,进一步确定第二类型流是否已经切换为最低比特率,并且响应于确定第二类型流已经切换到最低比特率流,将第一类型流的比特率切换到更低的比特率;渐进式下切模块,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率等级切换到更低等级;响应于确定优选特征是第一类型流的特征,则进一步确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级小于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更低等级。
根据本公开的第三方面,提供一种用于音视频流传输的设备,所述设备包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其中,其上存储有计算机程序,所述程序被执行时实现如上所述的方法。
根据本公开的实施例提供的技术方案至少带来以下有益效果:在带宽允许的情况下,平衡音视频流带宽配比同时提高比特率,保证了音视频的稳定播放;并且优先提高优选特征所属类型流的比特率,满足用户对优选特征的观看需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出用于实现根据示例性实施例的选择音视频流的比特率的方法的系统环境。
图2是示出根据示例性实施例的选择音视频流的比特率的方法的流程图。
图3是示出根据示例性实施例的完全优选特征切换方法下向高比特率切换的流程图。
图4是示出根据示例性实施例的完全优选特征切换方法下向低比特率切换的流程图。
图5是示出根据示例性实施例的渐进式切换方法下向高比特率切换的流程图。
图6是示出根据示例性实施例的渐进式切换方法下向低比特率切换的流程图。
图7是示出根据示例性实施例的选择音视频流的比特率的装置的框图。
图8是示出根据示例性实施例的用于音视频流传输的设备的示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
图1是示出用于实现根据示例性实施例的选择音视频流的比特率的方法的系统环境。如图1所示,该系统环境可包括多个客户端100-1、100-2、…100-n、服务器200。这里,客户端100可以是具有通信功能和媒体文件处理和播放功能的客户端,例如,本公开实施例中的客户端100可以是标准HTTP自适应比特率流客户端,适于支持MPEG DASH或Apple的HLS,其可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)等设备。在客户端100上可运行各种媒体文件播放的应用,诸如视频应用、音频应用、社交应用、视频会议应用、在线教育应用等。服务器200存储各种媒体文件,并且将各种媒体文件内容传送到通过网络106连接的的客户端100,服务器200例如可以是HTTP服务器。具体地,客户端100例如可通过无线蜂窝通信网络(4G、5G网络)、Wifi网络等方式接入并与服务器200进行通信以接收存储在服务器200上的各种媒体文件。这里的服务器200可以是用于将媒体文件分片和编码,并存储和分发由此生成的传输流的服务器(实现了内容生成和流媒体分发两大功能),也可以是仅接收由其它服务器分片和编码后的传输流,负责存储以及分发的服务器(仅实现流媒体分发功能)。另外,本公开的示例性实施例,客户端100还可以与除了服务器200以外的其他客户端进行通信以发送或接收各种媒体文件。例如,客户端100-1可以将各种传输流发送给其他的客户端100-2、…、100-n或从其他客户端100-2、…、100-n接收各种传输流。
图2是示出了根据示例性实施例的选择音视频流的比特率的方法的流程图。在以下的说明中,以客户端选择音视频流的比特率,服务器向客户端发送音视频流的示例进行说明,但本公开不限于此,可在其他传输流的场景中应用本公开的示例性实施例的方法。根据本公开的示例性实施例的选择音视频流的比特率的方法可由安装在客户端中的应用执行。
具体地,首先,在步骤S210,获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征。这里,音频流和视频流可分别具有可以反映音频流和视频流的特性和/或用户喜好的多个特征,例如音频流具有的特征可包括dolby、HiFi、DTS等音效,并且具有AAC、HEAAC、AC3等格式以及96k、288K等比特率。例如,视频流具有的特征可包括诸如352x288、480x576、4320x7680等分辨率、256kbps、800kbps、85Mbps等比特率以及4k、8k等清晰度。然后,优选特征可被设置为音频流的多个特征和视频流的多个特征中的一个。例如,音频流的优选特征可包括dolby音效、HiFi中的至少一个,视频流的优选特征可包括4k清晰度、8k清晰度中的至少一个。根据本公开的实施例,优选特征可仅设置为音频流特征和视频流特征中的一种类型流的特征。例如,优选特征被设置为dolby音效。
这里,根据本公开的实施例的选择音视频流的比特率的方法中获取预先设置的关于音频流和视频流的优选特征的步骤可包括:从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;或,响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。这里,预先设置的优选特征可以是用户设置,例如,在客户端的显示设备上通过预定用户界面来呈现音频流和视频流具有的多个特征,并由用户选择设置。预先设置的优选特征也可以是默认设置,例如,默认设置可以是用户上一次的选择设置或者初始设置。
根据本公开的实施例的选择音视频流的比特率的方法在获取预先设置的关于音频流和视频流的优选特征的步骤之前,还可包括:获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。获取描述信息的流程例如可以是,客户端向服务器发送获取描述信息的请求,服务器响应于接收到该请求,向客户端发送包括描述信息的响应。描述信息例如可以是DASH中的媒体呈现描述MPD或者HLS中的m3u8文件。以MPD文件为例,MPD是一个XML文件,它完整描述了DASH内容的所有信息,包括各类音视频参数、内容分段时长、不同媒体分段的码率和分辨率以及对应的访问地址URL等等。客户端获取MPD文件以后,可解析MPD文件,并根据MPD文件生成音频流和视频流的多个特征。
接下来,在步骤S220,根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率。根据本公开的实施例的设置用于下载音频流和视频流的比特率的步骤可包括:根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率。其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。计算第一类型流支持的最大比特率的步骤可包括:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
这里,第二类型流所使用的带宽对应于第二类型流当前正在下载的比特率。设置音频流或视频流的比特率之前,首先分别计算它们当前支持的最大比特率。下面以视频流为例将详细地说明最大比特率流的示例计算过程。
对视频流支持的比特率流从高到低排序,得到队列Qv,并从高到低依次取出视频流的第i比特率与当前带宽进行比较。如果当前带宽>(视频流的第i比特率+当前正在下载的音频流比特率+带宽峰值预留空间),则将视频流的第i比特率确定为视频流支持的最大比特率,否则,继续取出第i+1比特率与当前带宽进行上述比较操作,直到计算了队列Qv中的最低比特率,其中,0<i<N,N为视频流支持的比特率的数量。
根据本公开的实施例的设置用于下载音频流和视频流的比特率的步骤还包括:响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;根据确定的结果设置第一类型流的比特率。这里,设置音频流或视频流的比特率时,考虑最大比特率与当前使用的比特率的关系,当前使用的比特率不是最大比特率时,需要结合优选特征进行比特率切换的判定。这里以视频流为例,如果计算出的视频流的最大比特率大于当前使用的比特率,说明当前带宽能支持更大的视频流比特率,结合优选特征判定是否将视频流向更高的比特率切换。如果计算出的视频流的最大比特率小于当前使用的比特率,说明当前带宽可能连当前比特率都不能支持,结合优选特征判定是否将视频流向更低的比特率切换。
本公开提供两种根据优选特征进行比特率切换判定的方法,一种是完全优选特征切换的方法,在带宽增大时优先将设置了优选特征的类型流切换到具有优选特征的指定流;在带宽减小时优先把没有设置优选特征的类型流比特率降到最低,再降低设置优选特征的类型流的比特率。另一种是渐进式切换方法,该方法首先需要将音频流和视频流划分为多个比特率等级,音频流和视频轮流在同一比特率等级具有相应的比特率。在带宽增大时优先将设置了优选特征的类型流切换到更高比特率等级,再升高没有设置优选特征的类型流;带宽减小时,优先将没有设置优选特征的类型流切换到更低比特率等级,再降低设置了优选特征的类型流。经过上述切换判定方法,客户端将音频流和视频流设置到了合适的比特率。
然后,在步骤S230,基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流。这里,客户端可以基于设置的音频流比特率和视频流比特率从服务器分别下载音频流和视频流。客户端从服务器下载音频流和视频流的流程例如可以是,客户端基于设置的音频流比特率和视频流比特率生成传输流请求信息URL(Uniform ResourceLocator,统一资源定位符),并向服务器发送请求传输流,响应于接收到客户端请求的服务器向客户端发送传输流,客户端完成音频流和视频流的下载,例如,客户端收到传输流对应的媒体文件之后,进行解封装得到裸码流,最后送入解码器进行解码播放。
如上所述,根据本公开的示例性实施例的选择音视频流的比特率的方法,在带宽允许的情况下,平衡音视频流带宽配比同时提高比特率,保证了音视频的稳定播放;并且优先提高优选特征所属类型流的比特率,满足用户对优选特征的观看需求。
图3是示出根据示例性实施例的完全优选特征切换方法下向高比特率切换的流程图。
根据本公开的实施例,计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率,其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。下面以第一类型流为视频流,第二类型流为音频流为例,介绍完全优选特征切换方法下向高比特率切换的流程。
首先,在S310确定优选特征是否为第二类型流的特征。这里,考虑设置视频流的比特率,当视频流的最大比特率大于视频流当前比特率时,需要结合优选特征判断是否将其切换到更高比特率,这里的优选特征为音频流特征或视频流特征。首先确定优选特征是否为音频流特征,在完全优选特征切换方法下向高比特率切换时,优先将设置了优选特征的类型流切换到具有优选特征的指定流上。
在确定优选特征不是第二类型流特征时,来到步骤S320,将第一类型流比特率切换到更高的比特率。当确定优选特征不是音频流特征时,那么,优选特征为视频流特征,将视频流切换到更高的比特率上。例如,在视频流支持的比特率排序的情况下,视频流可以切换到大于当前比特率的上一个比特率。
在确定优选特征是第二类型流特征时,来到步骤S330,确定第二类型流是否已经切换为具有优选特征的指定流。当确定优选特征是音频流特征时,优先将音频流特征切换到优选特征指定流上,于是确定音频流是否已经切换为具有优选特征的指定流。
在确定第二类型流已经切换为具有优选特征的指定流时,回到步骤S320,将第一类型流比特率切换到更高的比特率。在确定音频流已经切换为具有优选特征的指定流时,例如,客户端正在下载音频优选特征指定的音频流时,认为已经不需要预留带宽给优选特征,将视频流切换到更高的比特率上,例如,在视频流支持的比特率排序的情况下,视频流可以切换到大于当前比特率的上一个比特率。
在确定第二类型流没有切换为具有优选特征的指定流时,不进行第一类型流比特率的切换操作。也就是,在确定音频流没有切换为具有优选特征的指定流时,保持当前的视频流。
图4是示出根据示例性实施例的完全优选特征切换的方法下向低比特率切换的流程图。
根据本公开的实施例,计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率,其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。下面以第一类型流为视频流,第二类型流为音频流为例,介绍完全优选特征切换方法下向低比特率切换的流程。
首先,在S410确定优选特征是否为第一类型流的特征。这里,考虑设置视频流的比特率,当视频流的最大比特率小于当前比特率时,需要结合优选特征判断是否将其切换到更低比特率,这里的优选特征为音频流特征或视频流特征。首先确定优选特征是否为视频流特征,在完全优选特征切换方法下向低比特率切换时,优先将没有设置优选特征的类型流比特率降到最低。
在确定优选特征不是第一类型流特征时,来到步骤S420,将第一类型流比特率切换到更低的比特率。当确定优选特征不是视频流特征时,将视频流切换到更低的比特率上,例如,在视频流支持的比特率排序的情况下,视频流可以切换到小于当前比特率的下一个比特率。
在确定优选特征是第一类型流特征时,来到步骤S430,确定第二类型流是否已经切换为最低比特率。当确定优选特征是视频流时,优选特征不是音频流,那么,优先将音频流切换为最低比特率,于是确定音频流是否已经切换为最低比特率。
在确定第二类型流已经切换为最低比特率时,回到步骤S420,将第一类型流比特率切换到更低的比特率。在确定音频流已经切换为最低比特率时,此时,音频流的比特率已经在支持的最低比特率上,只有降低视频的比特率从而满足当前带宽的传输要求,将视频流切换到更低的比特率上,例如,在视频流支持的比特率排序的情况下,视频流可以切换到小于当前比特率的下一个比特率。
在确定第二类型流没有切换为最低比特率时,不进行第一类型流比特率的切换操作。也就是,在确定音频流没有切换为最低比特率时,保持当前的视频流。
图5是示出根据示例性实施例的渐进式切换方法下向高比特率切换的流程图。
根据本公开的实施例,计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率,其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。下面以第一类型流为视频流,第二类型流为音频流为例,介绍渐进式切换方法下向高比特率切换的流程。
该方法首先需要将第一类型流和第二类型流划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率。这里将视频流和音频流划分为多个比特率等级,同一比特率等级下具有相应的比特率,例如,音频比特率96kbps与视频比特率256kbps位于同一比特率等级一,音频比特率288kbps与视频比特率800kbps位于同一比特率等级二,等级越高对应的比特率也越高。
首先,在S510确定优选特征是否为第二类型流的特征。这里,考虑设置视频流的比特率,当视频流的最大比特率大于当前比特率时,需要结合优选特征判断是否将其切换到更高比特率,这里的优选特征为音频流特征或视频流特征。首先确定优选特征是否为音频流特征,在渐进式特征切换方法下向高比特率切换时,优先将设置了优选特征的类型流切换到更高比特率等级。
在确定优选特征不是第二类型流特征时,来到步骤S520,将第一类型流的比特率等级切换到更高等级。当确定优选特征不是音频流特征时,那么,优选特征为视频流特征,将视频流的比特率等级切换到更高等级,例如,视频流的比特率等级可以切换到高一等级上。
在确定优选特征是第二类型流特征时,来到步骤S530,确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级。当确定优选特征是音频流特征时,优先将音频流切换到更高比特率等级,于是确定音频流的比特率等级是否大于视频流的当前比特率等级。
在确定第二类型流的比特率等级是大于第一类型流的当前比特率等级,回到步骤S520,将第一类型流的比特率等级切换到更高等级。在确定音频流的比特率等级是大于视频流的当前比特率等级,将视频流的比特率等级切换到更高等级,例如,视频流的比特率等级可以切换到高一等级上。
在确定第二类型流的比特率等级是小于或等于第一类型流的当前比特率等级,不进行第一类型流比特率的切换操作。也就是,在确定音频流的比特率等级是小于或等于视频流的当前比特率等级时,保持当前的视频流。
图6是示出根据示例性实施例的渐进式切换方法下向低比特率切换的流程图。
根据本公开的实施例,计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率,其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。下面以第一类型流为视频流,第二类型流为音频流为例,介绍渐进式切换方法下向低比特率切换的流程。
该方法首先需要将第一类型流和第二类型流划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率。划分方法与描述图5时的方法相同,不再赘述。
首先,在S610确定优选特征是否为第一类型流的特征。这里,考虑设置视频流的比特率,当视频流的最大比特率小于当前比特率时,需要结合优选特征判断是否将其切换到更低比特率,这里的优选特征为音频流特征或视频流特征。首先确定优选特征是否为视频流特征,在渐进式特征切换方法下向低比特率切换时,优先将没有设置优选特征的类型流切换到更低比特率等级。
在确定优选特征不是第一类型流特征时,来到步骤S620,将第一类型流的比特率等级切换到更低等级。当确定优选特征不是视频流特征时,那么,优选特征为音频流特征,将视频流的比特率等级切换到更低等级,例如,视频流的比特率等级可以切换到低一等级上。
在确定优选特征是第一类型流特征时,来到步骤S630,确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级。当确定优选特征是视频流特征时,优先将音频流切换到更低比特率等级,于是确定音频流的比特率等级是否小于视频流的当前比特率等级。
在确定第二类型流的比特率等级是小于第一类型流的当前比特率等级,回到步骤S620,将第一类型流的比特率等级切换到更低等级。在确定音频流的比特率等级是小于视频流的当前比特率等级,将视频流的比特率等级切换到更低等级,例如,视频流的比特率等级可以切换到低一等级上。
在确定第二类型流的比特率等级是大于或等于第一类型流的当前比特率等级,不进行第一类型流比特率的切换操作。也就是,在确定音频流的比特率等级是大于或等于视频流的当前比特率等级时,保持当前的视频流。
下面将详细地说明完全优选特征的切换方法和渐进式切换方法如何分别进行视频流和音频流的选择。
客户端在获取到音频流和视频流的描述信息以后,解析获得视频流有三种不同比特率的传输流,以[height x width,bitrate]形式表示为[352x288,256kbps],[480x576,800kbps],[4320x7680,85Mbps];音频流有两种不同比特率的传输流,以[codec,bitrate]形式表示为[HEAAC,96k],[HEAAC,288K]。然后,客户端获取的优选特征为视频流类型的特征8k清晰度,也就是对应[4320x7680,85Mbps]。假设当前的音视频分别为[352x288,256kbps]和[HEAAC,96k]。
在完全优选特征切换方法下:
选择视频流的比特率(此时视频流是第一类型流,音频流是第二类型流),假设此时800kbps是当前带宽支持的最大比特率流。其大于当前的视频流比特率256kbps,需要判断是否将视频流的比特率切换到更高的比特率上。此时优先特征不是音频流的特征,将视频流的比特率切换到更高的比特率上,例如下一个比特率[480x576,800kbps]。应理解,这里的切换的更高的比特率的仅是示意,也可以切换为其他的更高的比特率。
选择音频流的比特率(此时音频流是第一类型流,视频流是第二类型流),假设此时288k是当前带宽支持的最大比特率流。其大于当前的音频流比特率96k,需要判断是否将音频流的比特率切换到更高的比特率上。此时优选特征是视频流的特征,如果视频流已经切换到具有优选特征的指定流上(8k清晰度,85Mbps),则将音频流的比特率切换到更高的比特率上,例如下一个比特率[HEAAC,288K],如果视频流还未切换到具有优选特征的指定流上,音频流保持当前的比特率。
在渐进方式切换方法下:
首先对视频流和音频流划分等级,例如音频比特率96kbps与视频比特率256kbps位于同一比特率等级一,音频比特率288kbps与视频比特率800kbps位于同一比特率等级二,视频比特率85Mbps位于比特率等级三,等级越高对应的比特率也越高。
选择视频流的比特率(此时视频流是第一类型流,音频流是第二类型流),假设此时800kbps是当前带宽支持的最大比特率流。其大于当前的视频流比特率256kbps,需要判断是否将视频流的比特率切换到更高的比特率上。此时优先特征不是音频流的特征,将视频流的比特率切换到更高等级,例如比特率等级二800kbps。
选择音频流的比特率(此时音频流是第一类型流,视频流是第二类型流),假设此时288k是当前带宽支持的最大比特率流。其大于当前的音频流比特率96k,需要判断是否将音频流的比特率切换到更高的比特率上。此时优选特征是视频流的特征,如果视频流比特率等级大于音频流当前的比特率等级(视频流比特率已经切换到比特率等级二800kbps上,音频流是比特率等级一96k)将音频流的比特率切换到更高等级,例如比特率等级二288K。如果视频流比特率等级小于或等于音频流当前的比特率等级(视频流和音频流分别是比特率等级一的256kbps和96kbps),音频流保持当前的比特率。
如上所述的完全优选特征的切换方法和渐进式切换方法中,完全优选特征切换方法,优先考虑将设置了优选特征的类型流切换到具有优选特征的指定流上,为用户带来了更好的体验。而渐进式切换方法中,整体过程进行渐进式处理,在考虑用户的优选特征的类型流的同时,实现了音视频流的平稳的切换和稳定的播放。
图7是示出根据示例性实施例的选择音视频流的比特率的装置的框图。
如图7所述,选择音视频流的比特率的装置700包括:优选特征获取模块710、比特率设置模块720和下载模块730。优选特征获取模块710,被配置为获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;比特率设置模块720,被配置为根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;下载模块730,被配置为基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流。
根据本公开的示例性实施例,优选特征获取模块710还被配置为:从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。在获取预先设置的关于音频流和视频流的优选特征之前,获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。
根据本公开的示例性实施例,所述比特率设置模块可包括:最大比特率计算模块721,被配置为根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率;比特率上切模块723,被配置为响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;比特率下切模块724,被配置为响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;结果比特率设置模块725,被配置为根据确定的结果设置第一类型流的比特率;比特率等级划分模块722,被配置为将第一类型流和第二类型流的比特率分别被划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率;其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个。
根据本公开的示例性实施例,最大比特率计算模块721还被配置为:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
根据本公开的示例性实施例,比特率上切模块723还包括:完全优选特征上切模块726,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率切换到更高的比特率;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流是否已经切换为具有优选特征的指定流,并且响应于确定第二类型流已经切换到具有优选特征的指定流,将第一类型流的比特率切换到更高的比特率;渐进式上切模块727,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率等级切换到更高等级;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级大于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更高等级。
根据本公开的示例性实施例,比特率下切模块724包括:完全优选特征下切模块728,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率切换到更低的比特率;响应于确定优选特征是第一类型流的特征,进一步确定第二类型流是否已经切换为最低比特率,并且响应于确定第二类型流已经切换到最低比特率流,将第一类型流的比特率切换到更低的比特率;渐进式下切模块729,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率等级切换到更低等级;响应于确定优选特征是第一类型流的特征,则进一步确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级小于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更低等级。
图8是示出根据本公开的示例性实施例的一种用于音视频流传输的终端设备的结构框图。该终端设备800例如可以是:智能手机、平板电脑、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端设备800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本公开的如图2或图6所示的方法。
在一些实施例中,终端设备800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头808、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置在终端设备800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端设备800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端设备800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端设备800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对UI上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端设备800的正面、背面或侧面。当终端设备800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端设备800的前面板。接近传感器816用于采集用户与终端设备800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端设备800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
根据本公开的实施例,还可提供一种计算机可读存储介质,其中,其上存储有计算机程序,所述程序被执行时实现根据本公开的选择音视频流的比特率的方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例的选择音视频流的比特率的方法、装置、终端设备和计算机可读存储介质,在带宽允许的情况下,平衡音视频流带宽配比同时提高比特率,保证了音视频的稳定播放;并且优先提高优选特征所属类型流的比特率,满足用户对优选特征的观看需求。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种选择音视频流的比特率的方法,包括:
获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;
根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;
基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流,
其中,设置用于下载音频流和视频流的比特率的步骤包括:
根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率;
响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;
响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;
根据确定的结果设置第一类型流的比特率,
其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个,
其中,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率的步骤包括:
确定优选特征是否为第二类型流的特征;
响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率切换到更高的比特率;
响应于确定优选特征是第二类型流的特征,进一步确定第二类型流是否已经切换为具有优选特征的指定流,并且响应于确定第二类型流已经切换到具有优选特征的指定流,将第一类型流的比特率切换到更高的比特率;
其中,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率的步骤包括:
确定优选特征是否为第一类型流的特征;
响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率切换到更低的比特率;
响应于确定优选特征是第一类型流的特征,进一步确定第二类型流是否已经切换为最低比特率,并且响应于确定第二类型流已经切换到最低比特率流,将第一类型流的比特率切换到更低的比特率;
或者,
其中,第一类型流和第二类型流的比特率分别被划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率,
其中,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率的步骤包括:
确定优选特征是否为第二类型流的特征;
响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率等级切换到更高等级;
响应于确定优选特征是第二类型流的特征,进一步确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级大于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更高等级;
其中,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率的步骤包括:
确定优选特征是否为第一类型流的特征;
响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率等级切换到更低等级;
响应于确定优选特征是第一类型流的特征,进一步确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级小于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更低等级。
2.如权利要求1所述的方法,其中,音频流的优选特征包括dolby音效、HiFi中的至少一个,视频流的优选特征包括4k清晰度、8k清晰度中的至少一个。
3.如权利要求1所述的方法,其中,获取预先设置的关于音频流和视频流的优选特征的步骤包括:
从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;或,
响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。
4.如权利要求3所述的方法,其中,在获取预先设置的关于音频流和视频流的优选特征的步骤之前,还包括:
获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。
5.如权利要求1所述的方法,其中,根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率的步骤包括:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;
响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
6.一种选择音视频流的比特率的装置,包括:
优选特征获取模块,被配置为获取预先设置的关于音频流和视频流的优选特征,其中,音频流和视频流分别具有多个特征,优选特征被设置为音频流的多个特征和视频流的多个特征中的一个特征;
比特率设置模块,被配置为根据获取的关于音频流和视频流的优选特征和带宽使用情况设置用于下载音频流和视频流的比特率;
下载模块,被配置为基于设置的音频流的比特率和视频流的比特率来分别下载音频流和视频流,
其中,所述比特率设置模块包括:
最大比特率计算模块,被配置为根据当前带宽和第二类型流所使用的带宽来计算第一类型流支持的最大比特率;
比特率上切模块,被配置为响应于计算的第一类型流支持的最大比特率大于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更高的比特率;
比特率下切模块,被配置为响应于计算的第一类型流支持的最大比特率小于第一类型流的当前比特率,根据获取的优选特征判断是否将第一类型流的比特率切换到更低的比特率;
结果比特率设置模块,被配置为根据确定的结果设置第一类型流的比特率;
其中,第一类型流为音频流和视频流中任一个,第二类型流为音频流和视频流中的另一个,
其中,所述比特率上切模块包括:
完全优选特征上切模块,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率切换到更高的比特率;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流是否已经切换为具有优选特征的指定流,并且响应于确定第二类型流已经切换到具有优选特征的指定流,将第一类型流的比特率切换到更高的比特率;
其中,所述比特率下切模块包括:
完全优选特征下切模块,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率切换到更低的比特率;响应于确定优选特征是第一类型流的特征,进一步确定第二类型流是否已经切换为最低比特率,并且响应于确定第二类型流已经切换到最低比特率流,将第一类型流的比特率切换到更低的比特率;
或者,
其中,所述比特率设置模块还包括:比特率等级划分模块,被配置为将第一类型流和第二类型流的比特率分别被划分为多个比特率等级,第一类型流和第二类型流在同一比特率等级具有相应的比特率,
其中,所述比特率上切模块包括:
渐进式上切模块,被配置为确定优选特征是否为第二类型流的特征;响应于确定优选特征不是第二类型流的特征,将第一类型流的比特率等级切换到更高等级;响应于确定优选特征是第二类型流的特征,进一步确定第二类型流的比特率等级是否大于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级大于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更高等级;
其中,所述比特率下切模块包括:
渐进式下切模块,被配置为确定优选特征是否为第一类型流的特征;响应于确定优选特征不是第一类型流的特征,将第一类型流的比特率等级切换到更低等级;响应于确定优选特征是第一类型流的特征,进一步确定第二类型流的比特率等级是否小于第一类型流的当前比特率等级,并且响应于确定第二类型流的比特率等级小于第一类型流的当前比特率等级,将第一类型流的比特率等级切换到更低等级。
7.如权利要求6所述的装置,其中,音频流的优选特征包括dolby音效、HiFi中的至少一个,视频流的优选特征包括4k清晰度、8k清晰度中的至少一个。
8.如权利要求6所述的装置,其中,所述优选特征获取模块还被配置为:
从音频流和视频流的默认设置中获取关于音频流和视频流的优选特征;
响应于用户对于音频流和视频流的所述多个特征的选择,获取关于音频流和视频流的优选特征。
9.如权利要求8所述的装置,其中,所述优选特征获取模块还被配置为:
在获取预先设置的关于音频流和视频流的优选特征之前,获取关于音频流和视频流的描述信息并根据描述信息生成音频流和视频流的所述多个特征,其中,描述信息包括音频流支持的比特率、音频流支持的音效、视频流支持的比特率和视频流支持的分辨率中的至少一个。
10.如权利要求6所述的装置,其中,所述最大比特率计算模块还被配置为:将第一类型流支持的比特率排序,并从高到低依次取出第一类型流的第i比特率与当前带宽进行比较,其中,0<i<N,N为第一类型流支持的比特率的数量;响应于比较结果是当前带宽>(第一类型流的第i比特率+当前正在下载的第二类型流比特率+带宽峰值预留空间),将第一类型流的第i比特率确定为第一类型流支持的最大比特率。
11.一种用于音视频流传输的设备,所述设备包括:
处理器;
存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1至5中的任意一项所述的方法。
12.一种计算机可读存储介质,其中,其上存储有计算机程序,所述程序被执行时实现权利要求1至5中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981926.3A CN113709524B (zh) | 2021-08-25 | 2021-08-25 | 选择音视频流的比特率的方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110981926.3A CN113709524B (zh) | 2021-08-25 | 2021-08-25 | 选择音视频流的比特率的方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709524A CN113709524A (zh) | 2021-11-26 |
CN113709524B true CN113709524B (zh) | 2023-12-19 |
Family
ID=78654704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110981926.3A Active CN113709524B (zh) | 2021-08-25 | 2021-08-25 | 选择音视频流的比特率的方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709524B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118042197A (zh) * | 2024-04-09 | 2024-05-14 | 牡丹江师范学院 | 一种音乐视频的自动切换方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102783170A (zh) * | 2010-03-05 | 2012-11-14 | 汤姆森特许公司 | 自适应流传输系统中的比特率调整 |
CN103647980A (zh) * | 2013-12-23 | 2014-03-19 | 合肥工业大学 | 一种低码率视频流复合高清图解数据及其带宽分配方法 |
CN108886628A (zh) * | 2016-03-28 | 2018-11-23 | 索尼公司 | 文件生成装置和文件生成方法 |
CN108886638A (zh) * | 2016-03-28 | 2018-11-23 | 索尼公司 | 再现装置和再现方法、以及文件生成装置和文件生成方法 |
CN110636339A (zh) * | 2019-09-30 | 2019-12-31 | 北京字节跳动网络技术有限公司 | 基于码率的调度方法、装置及电子设备 |
-
2021
- 2021-08-25 CN CN202110981926.3A patent/CN113709524B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102783170A (zh) * | 2010-03-05 | 2012-11-14 | 汤姆森特许公司 | 自适应流传输系统中的比特率调整 |
CN103647980A (zh) * | 2013-12-23 | 2014-03-19 | 合肥工业大学 | 一种低码率视频流复合高清图解数据及其带宽分配方法 |
CN108886628A (zh) * | 2016-03-28 | 2018-11-23 | 索尼公司 | 文件生成装置和文件生成方法 |
CN108886638A (zh) * | 2016-03-28 | 2018-11-23 | 索尼公司 | 再现装置和再现方法、以及文件生成装置和文件生成方法 |
CN110636339A (zh) * | 2019-09-30 | 2019-12-31 | 北京字节跳动网络技术有限公司 | 基于码率的调度方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113709524A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220157285A1 (en) | Method for synthesizing video, terminal and storage medium | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN108683927B (zh) | 主播推荐方法、装置及存储介质 | |
US11632584B2 (en) | Video switching during music playback | |
CN109874312B (zh) | 播放音频数据的方法和装置 | |
CN109327608B (zh) | 歌曲分享的方法、终端、服务器和系统 | |
CN108881286B (zh) | 多媒体播放控制的方法、终端、音箱设备和系统 | |
CN109144346B (zh) | 歌曲分享方法、装置及存储介质 | |
CN110248236B (zh) | 视频播放方法、装置、终端及存储介质 | |
CN111026992B (zh) | 多媒体资源预览方法、装置、终端、服务器及存储介质 | |
CN110149557B (zh) | 视频播放方法、装置、终端和存储介质 | |
CN112256181B (zh) | 交互处理方法、装置、计算机设备及存储介质 | |
CN111741366A (zh) | 音频播放方法、装置、终端及存储介质 | |
CN111010588B (zh) | 直播处理方法、装置、存储介质及设备 | |
CN112911337B (zh) | 用于配置终端设备的视频封面图片的方法和装置 | |
CN111083554A (zh) | 直播礼物显示的方法和装置 | |
CN112533065B (zh) | 发布视频的方法、装置、电子设备和存储介质 | |
CN113709524B (zh) | 选择音视频流的比特率的方法及其装置 | |
CN112770177B (zh) | 多媒体文件生成方法、多媒体文件发布方法及装置 | |
CN112616082A (zh) | 视频预览方法、装置、终端及存储介质 | |
CN110990623B (zh) | 音频字幕的显示方法及装置、计算机设备及存储介质 | |
CN110113669B (zh) | 获取视频数据的方法、装置、电子设备及存储介质 | |
CN111818358A (zh) | 音频文件的播放方法、装置、终端及存储介质 | |
US20220174356A1 (en) | Method for determining bandwidth, terminal, and storage medium | |
CN113192519B (zh) | 音频编码方法和装置以及音频解码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |