CN111601135A - 一种音视频基本流同步注入的方法及显示设备 - Google Patents
一种音视频基本流同步注入的方法及显示设备 Download PDFInfo
- Publication number
- CN111601135A CN111601135A CN202010388991.0A CN202010388991A CN111601135A CN 111601135 A CN111601135 A CN 111601135A CN 202010388991 A CN202010388991 A CN 202010388991A CN 111601135 A CN111601135 A CN 111601135A
- Authority
- CN
- China
- Prior art keywords
- time
- pipeline
- audio
- stream data
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000002347 injection Methods 0.000 claims abstract description 110
- 239000007924 injection Substances 0.000 claims abstract description 110
- 230000001360 synchronised effect Effects 0.000 claims abstract description 65
- 230000003139 buffering effect Effects 0.000 claims description 33
- 230000009191 jumping Effects 0.000 claims description 10
- 239000000725 suspension Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 230000003993 interaction Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004432 carbon atom Chemical group C* 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/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/439—Processing of audio elementary streams
-
- 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/44—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种音视频基本流同步注入的方法及显示设备。该方法包括:基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
Description
技术领域
本申请涉及流媒体播放技术领域,尤其涉及一种音视频基本流同步注入的方法及显示设备。
背景技术
播放器是目前电视提供的基本功能之一,受CPU效率的限制,通常播放器中的解码部分由硬件实现,而作为解码器的输入,即音视频的基本流,则通常由软件实现。解码之后的音视频基本流数据需要同步输出,才能给使播放的音视频能够相互对应。通常输出模块可以由硬件实现,也可以由软件实现。如果由软件实现,则需要将解码后的数据回传给上层播放器,这无疑增加了一层内存拷贝,影响播放效率。
随着高帧率、高码率的片源越来越多,播放器更多的选用底层硬件同步方式来实现解码后的音视频数据同步输出。这就要求上层播放器输入给解码器的音视频基本流也尽量是同步的。尤其是流媒体中音视频本身不在同一个容器中,基本流很难实现同步,影响播放效果。
发明内容
有鉴于此,本申请提供一种音视频基本流同步注入的方法及显示设备,用以实现音视频基本流同步注入到解码器,避免视频卡顿。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第二方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第三方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,获取播放器管道时钟上当前的管道跳转起始时间,基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第四方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与播放器管道第一次播放第一帧视频基本流数据的管道起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
第五方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道暂停时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
第六方面,本申请提供一种显示设备,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道跳转起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
第七方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第八方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第九方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,获取播放器管道时钟上当前的管道跳转起始时间,基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
第十方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与播放器管道第一次播放第一帧视频基本流数据的管道起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
第十一方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道暂停时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
第十二方面,本申请提供一种音视频基本流同步注入的方法,所述方法包括:
针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道跳转起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
在上述实施例中,显示设备可以在基于播放器管道时钟进行基本流同步的基础上,避免一路基本流故障时影响另一路注入。并且本申请可以针对不同的播放情形对管道运行时间进行动态设置,使播放器在各个场景都可以实现同步注入的目的。此外,本申请通过设置起播的缓冲时间,使起播时可以快速注入充足的基本流数据,以达到快速起播的目的,提升用户观看体验。
附图说明
图1A中示例性示出了显示设备200与控制100之间操作场景的示意图;
图1B中示例性示出了图1A中控制装置100的配置框图;
图1C中示例性示出了图1A中显示设备200的配置框图;
图1D中示例性示出了显示设备200存储器中操作系统的架构配置框图。
图2A中示例性示出了第一种音视频基本流同步注入的方法的处理流程图;
图2B中示例性示出了第一种时钟示意图;
图3A中示例性示出了第二种音视频基本流同步注入的方法的处理流程图;
图3B中示例性示出了第二种时钟示意图;
图4A中示例性示出了第三种音视频基本流同步注入的方法的处理流程图;
图4B中示例性示出了第三种时钟示意图;
图5A中示例性示出了第四种音视频基本流同步注入的方法的处理流程图;
图5B中示例性示出了第四种时钟示意图;
图6中示例性示出了第五种音视频基本流同步注入的方法的处理流程图。
具体实施方式
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
本申请中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1A中示例性示出了显示设备200与控制装置100之间操作场景的示意图。如图1A所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。
其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
控制装置100可以是遥控器100A,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(UI)为用户提供各种控制。
示例性的,移动终端100B可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B与显示设备200建立控制指令协议,通过操作移动终端100B上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100A布置的实体按键的功能。也可以将移动终端100B上显示的音视频内容传输到显示设备200上,实现同步显示功能。
显示设备200可被实施为电视,可提供广播接收电视功能以及计算机支持功能的智能网络电视功能。显示设备示例的包括,数字电视、网络电视、智能电视、互联网协议电视(IPTV)等。
显示设备200,可以是液晶显示器、有机发光显示器、投影显示设备。具体显示设备类型、尺寸大小和分辨率等不作限定。
显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(EPG)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
图1B中示例性示出了控制装置100的配置框图。如图1B所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。
控制器110包括随机存取存储器(RAM)111、只读存储器(ROM)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
示例性的,当检测到用户按压在遥控器100A上布置的按键的交互或触摸在遥控器100A上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。
存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。
输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括LED接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100A可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。
供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。
图1C中示例性示出了显示设备200的硬件配置框图。如图1C所示,显示设备200中可以进一步包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输入接口285、供电电源290。
调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据)。
调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。
调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。
通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括WIFI模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为WIFI信号、蓝牙信号、射频信号等。
检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括图像采集器231,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。还可以包括光接收器232,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。
在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。
在其他一些示例性实施例中,检测器230,还可以包括声音采集器,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。
外部装置接口240,是提供控制器210控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
其中,外部装置接口240可以包括:高清多媒体接口(HDMI)端子241、复合视频消隐同步(CVBS)端子242、模拟或数字分量端子243、通用串行总线(USB)端子244、组件(Component)端子(图中未示出)、红绿蓝(RGB)端子(图中未示出)等任一个或多个。
控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。
如图1C所示,控制器250包括随机存取存储器(RAM)251、只读存储器(ROM)252、图形处理器253、CPU处理器254、通信接口255、以及通信总线256。其中,RAM251、ROM252以及图形处理器253、CPU处理器254通信接口255通过通信总线256相连接。
ROM252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,CPU处理器254运行ROM252中的系统启动指令,将存储在存储器260的操作系统拷贝至RAM251中,以开始运行启动操作系统。当操作系统启动完成后,CPU处理器254再将存储器260中各种应用程序拷贝至RAM251中,然后,开始运行启动各种应用程序。
图形处理器253,用于产生各种图形对象的屏幕图像,如图标、图像以及操作菜单等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。
CPU处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。
通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的GUI对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。
其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与图标相对应的程序的操作。该用于选择GUI对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者是与用户说出语音相对应的语音命令。
存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的RAM251和ROM252、或显示设备200中的存储卡。
在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种GUI、与GUI相关的各种对象及用于选择GUI对象的选择器的视觉效果图像等数据。
在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。
在一些实施例中,存储器260具体存储用于表示操作系统(OS)的软件和/或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、API或应用程序);同时,内核可以提供接口,以允许中间件、API或应用程序访问控制器,以实现控制或管理系统资源。
图1D中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。
应用层,系统内置的应用程序以及非系统级的应用程序都属于应用层,其负责与用户进行直接交互。应用层可包括多个应用程序,如NETFLIX应用程序、设置应用程序、媒体中心应用程序等。这些应用程序可被实现为Web应用,其基于WebKit引擎来执行,具体可基于HTML、层叠样式表(CSS)和JavaScript来开发并执行。
这里,HTML,全称为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,HTML标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取HTML文档,解释文档内标签的内容,并以网页的形式显示出来。
CSS,全称为层叠样式表(Cascading Style Sheets),是一种用来表现HTML文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。CSS样式可以直接存储与HTML网页或者单独的样式文件中,实现对网页中样式的控制。
JavaScript,是一种应用于Web网页编程的语言,可以插入HTML页面并由浏览器解释执行。其中Web应用的交互逻辑都是通过JavaScript实现。JavaScript可以通过浏览器,封装JavaScript扩展接口,实现与内核层的通信,
中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(MHEG),还可以实现为与外部设备通信相关的中间件的DLNA中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。
内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于Linux操作系统的内核。
内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为WIFI模块提供WiFi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(PM)模块提供电源管理驱动等。
用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100A可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100A可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户接口265通过GUI接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在GUI中的位置以选择不同的对象或项目的用户输入命令。
或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。
视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。
示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60Hz视频的帧率转换为120Hz或240Hz的帧率,通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
显示器275,用于接收源自视频处理器270输出的图像信号,进行显示视频、图像以及菜单操控界面。例如,显示器可以显示来自调谐解调器210接收的广播信号中的视频,也可以显示来自通信器220或外部装置接口240输入的视频,还可以显示在存储器260中存储的图像。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。
以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。
示例性的,音频处理器280可以支持各种音频格式。例如MPEG-2、MPEG-4、高级音频编码(AAC)、高效AAC(HE-AAC)等格式。
音频输出接口285,用于接收源自音频处理器280输出的音频信号。例如,音频输出接口可以输出经由调谐解调器210接收的广播信号中的音频,也可以输出经由通信器220或外部装置接口240输入的音频,还可以输出在存储器260中存储的音频。音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。
在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。
供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。
在一些实施例中,显示设备中的播放器管道可以应用进行流媒体播放,具体来讲,播放器管道可以从流媒体服务器中下载音视频流媒体数据,此时的流媒体数据为切片文件;再将分片的音视频流媒体数据解析为音视频基本流数据,例如将下载的mp4格式的视频切片文件进行按帧格式解析后得到多帧H264格式的视频基本流数据,然后将音视频基本流数据输出到解码器进行解码处理,最终将处理后的数据输出到对应的视频显示窗口或者音频输出接口实现视频、音频的播放。
播放器管道在向解码器注入音视频基本流数据时,通常采用音视频基本流数据相互同步的方式。具体来讲,基于音视频基本流数据中携带的播放时间戳,在视频基本流数据注入给解码器时,可参考当前音频基本流数据的播放时间戳,若在一定阈值范围内,则可以注入,若不在该阈值范围则等待到达该阈值范围后再注入。反之音频基本流注入时也可以参考视频基本流的播放时间戳。
但是在遇到某一路基本流的播放时间戳发生异常时,由于另一路基本流数据的播放时间戳失去参照,导致无法进行同步注入。例如,假设音视频基本流数据间的同步阈值为2s,音频基本流数据的时间戳由3s跳至解析异常的20s,再跳回正常的3.026s,由于20s这一帧与视频基本流数据的时间戳不在阈值范围内,导致20s及其后面的音频基本流数据无法注入,而视频基本流数据的注入过程中由于底层同步模块判断一直没有音频基本流数据,会一直等待音频基本流数据注入,导致播放画面卡住。即使播放器有较好的容错机制,也会导致超时处理一段时间后恢复播放正常。
针对上述问题,本申请提供了一种音视频基本流同步注入的方法及显示设备,用以在显示设备中实现音视频基本流数据的同步注入。具体方案请见以下实施例。
结合图1B中的显示设备来说,本申请的显示设备中的控制器还可以具体控制播放器管道中的基本流同步注入模块向解码器中注入音视频基本流数据。
上述基本流同步注入模块向解码器注入音视频基本流的应用场景主要包括以下三种情况。
第一种情况:
当播放器管道中的音视频基本流第一次起播时,控制器控制该基本流同步注入模块执行音视频基本流同步注入的过程,如图2A所示,本申请的显示设备中提供执行第一种音视频基本流同步注入的方法,所述方法包括步骤:
步骤201、针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
在本实施例中,当播放器管道中的音视频基本流数据第一次起播时,可以使基本流同步注入模块计算当前播放器管道的管道运行时间。
具体来讲,基本流同步注入模块可以先获取系统时钟上当前的系统运行时间;再获取在播放器管道第一次播放第一帧视频基本流数据的管道起始时间,以及该管道起始时间对应的系统时钟上的系统基准时间;然后计算所述管道运行时间,其中所述管道运行时间=系统运行时间-系统基准时间+管道起始时间。
举例来讲,播放器管道时钟的示意图如图2B所示,其中上面是播放器管道时钟的时间轴,下面是显示设备中的系统时钟的时间轴。系统启动后的系统运行时钟tsys,一直处于线性递增状态。播放器管道时钟为播放器处于播放状态的时钟,管道时钟在播放器第一次进入播放状态时开始记录,其时间为视频第一帧的起始时间,即管道起始时间tsstart,此时对应的系统时钟上的时间为系统基准时间tbase。播放状态下管道时钟对应的管道运行时间trunning为:
管道运行时间=系统运行时间-系统基准时间+管道起始时间,即trunning=tsys-tbase+tsstart。
例如,假设当系统运行时钟tsys=61s,管道时钟在播放器在收到视频第一帧的起始时间,即管道起始时间tsstart=0,对应的系统时钟上的时间为系统基准时间tbase=60s时,播放状态下管道时钟对应的管道运行时间trunning=61-60+0=1s。
需要说明的是,该管道起始时间tsstart通常为0,但有些情况下,如果第一帧视频基本流中携带的解码时间戳是某个时间点时,需要将该时间点作为该管道起始时间。
步骤202、当音频基本流数据输入时,将音频基本流数据的解码时间戳与管道运行时间进行比较,如果音频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述音频基本流数据注入解码器;
步骤203、当视频基本流数据输入时,将视频基本流数据的解码时间戳与管道运行时间进行比较,如果视频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述视频基本流数据注入解码器。
在播放器管道中对音视频流媒体数据解封装后,会在对应的音视频基本流中携带解码时间戳(dts)和显示时间戳(pts)。解码时间戳(dts)用于标记每一帧音视频基本流数据的解码时间,解码器需要按照解码时间戳(dts)的先后顺序对音视频基本流数据进行解码,显示时间戳(pts)是用来标记音视频基本流数据在播放时的时间。通常pts可能比dts大,也可能小,播放时按pts顺序播放,解码时按dts顺序解码,由于音视频基本流数据注入的是解码器,所以基本流同步注入模块中的基本流顺序是按照dts递增的。
因此当解封装后的音视频基本流输入到该基本流同步注入模块时,需要将音视频基本流的解码时间戳分别与管道运行时间trunning进行比较,若音视频基本流数据的解码时间戳超过管道运行时间,说明当前管道时钟还没有到达播放音视频基本流的时间,则进行等待,直到该管道运行时间到达该解码时间戳时,才向解码器中注入当前帧的音视频基本流数据;若音视频基本流数据的解码时间戳落后于管道运行时间,说明当前帧的音视频基本流已经超时,则对当前帧的音视频基本流数据进行丢帧处理。
如图2B所示,以视频基本流时间戳为例,假设管道运行时间为1s,若当前帧的视频基本流数据的解码时间戳为10s,则需要等待,需要等到管道运行时间为10s时,将当前帧的视频基本流数据注入到解码器;如果解码时间戳为0.9s,说明该视频基本流数据已经超时,因此可以丢弃当前帧的视频基本流数据。
在一些实施例中,可以设定一个超时的阈值,例如1s,那么当管道运行时间超出解码时间戳在该阈值范围内时,则可以不丢弃当前帧,而是将该当前帧的视频基本流数据也注入到解码器中。该方案可以减少丢帧的数量。
由于解码器通常内部包含一个存储基本流的队列,例如存储12帧,需要把这个队列尽快注满以便于解码器进行一组图片的解码与显示,因此针对解码器的解码特点,会设置一个缓存阈值,用于在基本流同步注入之前判断待注入的音视频基本流数据是否满足该阈值,如果满足,说明当前注入的音视频基本流数据量充足,可以满足解码器的缓冲需求;如果否,则说明当前注入的音视频基本流数据不足,无法满足该解码器缓存需求。阈值的时间长度可以基于该解码器中的基本流队列中第一帧和最后一帧的时间差来设定。
当基本流同步注入模块在进行同步注入之前,判断待注入的音视频基本流数据不满足该阈值时,则需要对暂停注入,等待当前播放器管道处理新的音视频基本流数据,直到基本流同步注入模块中的音视频基本流数据到达该阈值,再次起播。
第二种情况:
当播放器管道中的音视频基本流第一次起播后,由于待注入的音视频基本流数据不满足该阈值,导致暂停注入,等待音视频基本流数据到达值,再次起播时,控制器控制该基本流同步注入模块执行音视频基本流同步注入的过程,如图3A所示,本申请的显示设备中提供执行第二种音视频基本流同步注入的方法,所述方法包括步骤:
步骤301、针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间。
所谓的管道暂停时间,就是当注入的音视频基本流数据不满足该阈值时,暂停注入音视频基本流数据的时刻。例如,视频基本流数据在第61s暂停注入到解码器时,该61s则为管道暂停时间。
步骤302、当音视频基本流数据满足缓冲条件再次起播时,基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
在本实施例中,当播放器管道中的音视频基本再次起播时,可以使基本流同步注入模块计算当前播放器管道的管道运行时间。
具体来讲,基本流同步注入模块可以先获取系统时钟上当前的系统运行时间;再获取在播放器管道再次起播后的第一帧视频基本流数据对应的系统时钟上的系统新基准时间;然后计算所述管道运行时间,其中所述管道运行时间=系统运行时间-系统新基准时间+管道暂停时间。
举例来讲,播放器管道时钟的示意图如图3B所示,其中上面是播放器管道时钟的时间轴,下面是显示设备中的系统时钟的时间轴。系统启动后的系统运行时钟tsys,一直处于线性递增状态。假设在播放器管道时钟在10s时暂停播放,则管道暂停时间trunning_pause为10s。播放器管道再次起播时,进入播放状态的时间管道起始时间对应的系统时钟上的时间为系统新基准时间tbase_new,则播放状态下管道时钟对应的管道运行时间trunning为:
管道运行时间=系统运行时间-系统新基准时间+管道暂停时间,即trunning=tsys-tbase_new+trunning_pause。
例如,假设管道在运行时间1s时暂停播放,则管道暂停时间trunning_pause=1s,此时系统时钟为61s。如果管道在暂停10s后恢复播放,则恢复播放时系统新基准时间tbase_new=61+10=71s,假设系统当前的系统运行时钟tsys=71s,则再次起播后的管道运行时间trunning=tsys-tbase_new+trunning_pause=71-71+1=1s。可见,缓冲后再次起播否基本流数据,还是会延续暂停那时刻的管道运行时间继续进行数据同步,从而避免数据丢失。
步骤303、当音频基本流数据输入时,将音频基本流数据的解码时间戳与管道运行时间进行比较,如果音频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述音频基本流数据注入解码器;
步骤304、当视频基本流数据输入时,将视频基本流数据的解码时间戳与管道运行时间进行比较,如果视频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述视频基本流数据注入解码器。
第三种情况:
当收到用户发送的跳转指令时,控制器控制该基本流同步注入模块在跳转后起播时执行音视频基本流同步注入的过程,如图4A所示,本申请的显示设备中提供执行第三种音视频基本流同步注入的方法,所述方法包括步骤:
步骤401、针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,获取播放器管道时钟上当前的管道跳转起始时间,基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间。
在本实施例中,当播放器管道收到用户的跳转指令后进行跳转起播时,可以使基本流同步注入模块计算当前播放器管道的管道运行时间。
具体来讲,基本流同步注入模块可以先获取播放器管道时钟上当前的管道跳转起始时间。
在一个例子中,进行跳转操作时,为了优化跳转结果,系统可以进一步区分精准跳转还是非精准跳转。是否为精准跳转一般是系统根据网络情况和流媒体数据情况自己判断,而非用户设定的。因此,在本实施例中,获取播放器管道时钟上当前的管道跳转起始时间的具体过程包括:基本流同步注入模块判断当前播放器管道是否被系统设置为精准跳转;若是,则以跳转指令中指定的目标时间作为所述管道跳转起始时间;若否,则以跳转起播后的第一帧视频基本流数据对应的管道时间作为所述管道跳转起始时间。
当基本流同步注入模块获取上述管道跳转起始时间后,可以再获取在播放器管道跳转起播后的第一帧视频基本流数据对应的系统时钟上的系统新基准时间;然后计算所述管道运行时间,其中所述管道运行时间=系统运行时间-系统新基准时间+管道跳转起始时间。
举例来讲,播放器管道时钟的示意图如图4B所示,其中上面是播放器管道时钟的时间轴,下面是显示设备中的系统时钟的时间轴。系统启动后的系统运行时钟tsys,一直处于线性递增状态。收到跳转指令时,获取管道跳转起始时间tseek_start。
当跳转完成时,可以先判断基本流数据是否充足,若是,则可以起播;若否,则等待直到数据充足。播放器判断可以起播后,获取当前的系统新基准时间tbase_new,管道运行时间=系统运行时间-系统新基准时间+管道跳转起始时间,即trunning=tsys-tbase_new+tseek_start。
例如,假设管道跳转起始时间tseek_start=10s,此时管道的系统新基准时间tbase_new=70s,假设系统当前的系统运行时钟tsys=70s,则跳转后起播后的管道运行时间trunning=tsys-tbase_new+tseek_start=70-70+10=10s。
步骤402、当音频基本流数据输入时,将音频基本流数据的解码时间戳与管道运行时间进行比较,如果音频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述音频基本流数据注入解码器;
步骤403、当视频基本流数据输入时,将视频基本流数据的解码时间戳与管道运行时间进行比较,如果视频基本流数据的解码时间戳大于所述管道运行时间,待所述管道运行时间到达所述解码时间戳时,将所述视频基本流数据注入解码器。
由以上三个应用场景可知,本实施例通过采用第三方时钟的方式,即播放器的管道时钟,可以在音视频基本流数据注入解码器之前都先与管道运行时间进行比较,当音视频基本流数据的解码时间戳到达管道运行时间时再进行注入,从而实现音视频基本流的同步注入。
相比于已有技术中的音视频基本流相互同步注入的方式,本申请是将音视频基本流都基于第三方时钟同步,音视频基本流彼此之间互不影响,从而不仅实现了音视频彼此之间的同步,也可以避免上述播放器管道中的某一路基本流的时间戳发生异常,另一路也无法注入,导致播放卡住的问题。因此本申请的同步方式可以兼容更多的播放场景。
在使用上述同步注入方法时,由于底层解码器需要缓冲一定的数据再起播,如果注入速度较慢,则会导致起播变慢。
针对上述问题,本申请提供了另一种音视频基本流同步注入的方法及显示设备,用以在显示设备中实现音视频基本流的同步注入的同时,优化起播时间。具体方案请见以下实施例。
在一个实施例中,控制器控制该基本流同步注入模块执行音视频基本流同步注入优化的过程,如图5A所示,本申请的显示设备中提供执行第四种音视频基本流同步注入的方法,所述方法包括步骤:
步骤501、启动基本流同步注入模块;
步骤502、记录预处理的视频第一帧时间戳作为管道起始时间tsstart;
步骤503、针对每一帧音/视频基本流数据判断整个音视频是否播放完成,若是,则结束;若否,则转步骤504;
步骤504、判断音视频基本流数据是否充足,若是,则转步骤504;若否,则转步骤506;
具体来讲,由于解码器通常内部包含一个存储基本流的队列,例如存储12帧,需要把这个队列尽快注满以便于解码器进行一组图片的解码与显示,因此针对解码器的解码特点,会设置一个缓存阈值,例如tbuffered或其他,用于在基本流同步注入之前判断待注入的音视频基本流数据是否满足该阈值,如果满足,说明当前注入的音视频基本流数据量充足,可以满足解码器的缓冲需求;如果否,则说明当前注入的音视频基本流数据不足,无法满足该解码器缓存需求,则需要对暂停注入,等待当前播放器管道处理新的音视频基本流数据,直到基本流同步注入模块中的音视频基本流数据到达该阈值,再次起播。
阈值的时间长度可以基于该解码器中的基本流队列中第一帧和最后一帧的时间差来设定。因此当基本流同步注入模块在输入基本流之前,需要判断音视频基本流数据是否充足。
步骤505、播放器起播,转步骤508;
步骤506、暂停播放器,记录管道暂停时间trunning_pause,转步骤507;
步骤507、等待解封装后的音视频基本流数据充足,转步骤508;
步骤508、判断是否为第一次起播,若是,则转步骤509;若否,则转步骤510;
步骤509、管道运行时间trunning=tsys-tbase+tsstart+tbuffered,转步骤511;
步骤510、管道运行时间trunning=tsys-tbase_new+trunning_pause+tbuffered',转步骤511;
在本实施例中,tbuffered'和tbuffered都是系统中预设的值,tbuffered'可以与tbuffered相同或者不同,也可以是0,两者需要根据实际需求而设定。
步骤511、音视频基本流输入,转步骤512;
步骤512、判断音视频基本流的解码时间戳是否大于管道运行时间trunning,若是,则转步骤513;若否,则转步骤514;
步骤513、等待管道运行时间trunning到达解码时间戳的时间,转步骤514;
步骤514、将音视频基本流数据注入解码器。
在本实施例中,当第一次起播时,如图5B所示,可以设置管道目标时间具体为第一帧视频帧的管道起始时间tsstart与可以接受的缓冲足够的时间tbuffered之和,例如播放器认为缓冲2s的数据已经足够,则设tbuffered为2s,此时trunning=tsys-tbase+tsstart+tbuffered。
当音视频基本流输入时,将解码时间戳与管道运行时间trunning进行比较,若解码时间戳超过管道运行时间,则进行等待,直到管道运行时间到达解码时间戳时,注入音视频基本流;若解码时间戳落后于管道运行时间,则直接注入音视频基本流。
进一步的,可以设置超时阈值,例如超时时长为2倍的tbuffered,则当解码时间戳落后于管道运行时间在超时阈值范围内时,可以仍然进行基本流注入;若超过该超时阈值的范围,则丢帧处理。
例如,假设当系统运行时钟tsys=60s,管道时钟在播放器在收到视频第一帧的起始时间,即管道起始时间tsstart=0,若tbuffered为2s,则管道目标时间为2s,假设管道目标时间对应的系统时钟上的时间为系统基准时间tbase=60s时,此时播放状态下管道时钟对应的管道运行时间trunning=tsys-tbase+tsstart+tbuffered=60-60+0=2=2s。
根据上述公式可知,当起播时间经过0.2s时,管道运行时间已经为2.2s,此时已注入2.2s时长的基本流数据。此时前2s的基本流数据将会快速注入到解码器。此时第一帧硬解码完成,播放进度(解码器的硬件时钟)tcurrent为0s,之后基本流的解码时间戳dts若超过管道运行时间trunning,则进行等待。
从而可以实现在网络良好的情况下可以保证注入给解码器的基本流一直提前在2s左右,因此可以加快起播速度,避免等待。
当网络不好,播放器判断基本流的数据不够时,需要立即暂停管道时钟,记录当前时间为管道暂停时间trunning_pause,再次起播时,管道时钟对应的管道运行时间为:trunning=tsys-tbase_new+trunning_pause+tbuffered'。
在另一个实施例中,当收到用户发送的跳转指令时,控制器控制该基本流同步注入模块在跳转后起播时执行音视频基本流同步注入的优化过程,如图6所示,本申请的显示设备中提供执行第五种音视频基本流同步注入的方法,所述方法包括步骤:
步骤601、启动基本流同步注入模块;
步骤602、接收用户发送的跳转指令;
步骤603、重置管道时钟;
步骤604、判断是否精准跳转,若是,则转步骤605;若否,则转步骤606;
步骤605、记录指令中的目标时间为管道跳转起始时间tseek_start,转步骤606;
步骤606、记录跳转后的视频关键帧时间为管道跳转起始时间tseek_start,转步骤607;
步骤607、跳转完成,转步骤608;
步骤508、判断音视频基本流数据是否充足,若是,则转步骤609;若否,则转步骤610;
步骤609、播放器起播,转步骤611;
步骤610、等待解封装后的基本流数据充足,转步骤609;
步骤611、管道运行时间trunning=tseek_start+tsys-tbase_new+tbuffered,转步骤612;
步骤612、音视频基本流输入,转步骤613;
步骤613、判断基本流的解码时间戳是否大于管道运行时间trunning,若是,则转步骤614;若否,则转步骤615;
步骤614、等待管道运行时间trunning到达解码时间戳的时间,转步骤615;
步骤615、将音视频基本流数据注入解码器,结束。
在本实施例中,播放器跳转完成判断可以起播后,获取当前系统的系统新基准时间tbase_new,计算管道运行时间为:trunning=tseek_start+tsys-tbase_new+tbuffered。在不同线程的音/视频基本流注入时,判断基本流的解码时间戳与当前管道运行时间,若解码时间戳大于管道运行时间,则等待管道运行时间到达解码时间戳时间时,进行基本流注入;若解码时间戳小于管道运行时间,则进行快速注入,实现快速起播。
基于上述实施例可见,显示设备可以在基于播放器管道时钟进行基本流同步的基础上,避免一路基本流故障时影响另一路注入。并且本申请可以针对不同的播放情形对管道运行时间进行动态设置,使播放器在各个场景都可以实现同步注入的目的。此外,本申请通过设置起播的缓冲时间,使起播时可以快速注入充足的基本流数据,以达到快速起播的目的,提升用户观看体验。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (20)
1.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
2.如权利要求1所述的显示设备,其特征在于,所述基本流同步注入模块获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间,具体包括:
若所述当前帧音视频基本流数据为第一帧视频基本流数据时,以所述第一帧视频基本流数据的解码时间戳为管道起始时间,若所述当前帧音视频基本流数据不为第一帧视频基本流数据时,以第一帧视频基本流数据的解码时间戳为管道起始时间;
获取该显示设备的系统时钟当前的系统运行时间,以及该管道起始时间在系统时钟上对应的系统基准时间,计算所述系统运行时间与所述系统基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道起始时间之和。
3.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
4.如权利要求3所述的显示设备,其特征在于,所述基本流同步注入模块基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间,具体包括:
获取在播放器管道再次起播后的第一帧视频基本流数据在系统时钟上对应的系统新基准时间,获取该显示设备的系统时钟当前的系统运行时间,计算所述系统运行时间与所述系统新基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道暂停时间之和。
5.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,获取播放器管道时钟上当前的管道跳转起始时间,基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
6.如权利要求5所述的显示设备,其特征在于,所述基本流同步注入模块基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间,具体包括:
获取在播放器管道跳转起播后的第一帧视频基本流数据在系统时钟上对应的系统新基准时间,获取该显示设备的系统时钟当前的系统运行时间,计算所述系统运行时间与所述系统新基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道跳转起始时间之和。
7.如权利要求5所述的显示设备,其特征在于,所述获取播放器管道时钟上当前的管道跳转起始时间,具体包括:
判断当前播放器管道是否设置为精准跳转;
若是,则以跳转指令中指定的目标时间作为所述管道跳转起始时间;
若否,则以跳转起播后的第一帧视频基本流数据在播放器管道时钟上对应的管道时间作为所述管道跳转起始时间。
8.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与播放器管道第一次播放第一帧视频基本流数据的管道起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
9.如权利要求8所述的显示设备,其特征在于,所述基本流同步注入模块基于所述管道目标时间计算管道运行时间,具体包括:
获取系统时钟上当前的系统运行时间,获取所述管道目标时间在系统时钟上对应的系统基准时间,计算所述系统运行时间与所述系统基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道目标时间之和。
10.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;
基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道暂停时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
11.如权利要求10所述的显示设备,其特征在于,所述基本流同步注入模块基于所述管道目标时间计算管道运行时间,具体包括:
获取系统时钟上当前的系统运行时间,获取在播放器管道再次起播后的第一帧视频基本流数据在系统时钟上对应的系统新基准时间,计算所述系统运行时间与所述系统新基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道目标时间之和。
12.一种显示设备,其特征在于,包括:
显示器;
网络模块,用于从服务器浏览和/或下载服务内容;
解码器,用于解码从服务内容中获取的基本流数据;基本流同步注入模块,用于针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道跳转起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
13.如权利要求12所述的显示设备,其特征在于,所述基本流同步注入模块基于所述管道目标时间计算管道运行时间,具体包括:
获取系统时钟上当前的系统运行时间,获取在播放器管道跳转起播后的第一帧视频基本流数据在系统时钟上对应的系统新基准时间,计算所述系统运行时间与所述系统新基准时间的差值;
计算所述管道运行时间,其中所述管道运行时间为所述差值与所述管道目标时间之和。
14.如权利要求12所述的显示设备,其特征在于,基本流同步注入模块还用于获取播放器管道时钟上当前的管道跳转起始时间,具体包括:
判断当前播放器管道是否设置为精准跳转;
若是,则以跳转指令中指定的目标时间作为所述管道跳转起始时间;
若否,则以跳转起播后的第一帧视频基本流数据对应的管道时间作为所述管道跳转起始时间。
15.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,获取该播放器管道的管道起始时间,基于所述管道起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
16.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,基于所述管道暂停时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
17.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,获取播放器管道时钟上当前的管道跳转起始时间,基于所述管道跳转起始时间计算所述播放器管道自第一次播放音视频基本流数据起的管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器。
18.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道是第一次播放音视频基本流数据时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与播放器管道第一次播放第一帧视频基本流数据的管道起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述当前帧音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
19.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定所述基本流同步注入模块所在播放器管道第一次播放音视频基本流数据之后,当音视频基本流数据不满足缓冲条件时,暂停音视频基本流数据注入,暂停播放器管道的管道时钟,记录当前播放器管道的管道暂停时间;
当音视频基本流数据满足缓冲条件再次起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道暂停时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
20.一种音视频基本流同步注入的方法,其特征在于,所述方法包括:
针对每一帧音视频基本流数据,在确定当前帧音视频基本流数据为收到用户发送的跳转指令后进行跳转起播时,计算当前播放器管道的管道目标时间,所述管道目标时间为预设缓冲时间与管道跳转起始时间之和;
基于所述管道目标时间计算管道运行时间;
获取当前帧音视频基本流数据中的解码时间戳,将音视频基本流数据的解码时间戳与所述管道运行时间进行比较,如果所述解码时间戳大于所述管道运行时间,等待管道运行时间到达所述解码时间戳时,将所述音视频基本流数据注入解码器;如果所述解码时间戳小于所述管道运行时间且所述解码时间戳小于所述管道运行时间的时长在预设阈值内,将所述音视频基本流数据注入解码器,所述预设阈值不小于所述预设缓冲时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010388991.0A CN111601135B (zh) | 2020-05-09 | 2020-05-09 | 一种音视频基本流同步注入的方法及显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010388991.0A CN111601135B (zh) | 2020-05-09 | 2020-05-09 | 一种音视频基本流同步注入的方法及显示设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111601135A true CN111601135A (zh) | 2020-08-28 |
CN111601135B CN111601135B (zh) | 2022-02-25 |
Family
ID=72183595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010388991.0A Active CN111601135B (zh) | 2020-05-09 | 2020-05-09 | 一种音视频基本流同步注入的方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111601135B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113038193A (zh) * | 2021-03-24 | 2021-06-25 | Vidaa美国公司 | 一种自动修复音视频不同步的方法及显示设备 |
CN113296723A (zh) * | 2021-05-21 | 2021-08-24 | 重庆紫光华山智安科技有限公司 | 目标框与视频帧的同步显示方法、系统、设备及介质 |
CN114374871A (zh) * | 2020-10-15 | 2022-04-19 | 瑞昱半导体股份有限公司 | 串流媒体的时戳处理方法 |
CN115134644A (zh) * | 2021-03-25 | 2022-09-30 | 海信视像科技股份有限公司 | 一种直播数据的处理方法及装置 |
CN115665502A (zh) * | 2022-10-24 | 2023-01-31 | 昆易电子科技(上海)有限公司 | 视频数据处理方法、注入方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050042591A1 (en) * | 2002-11-01 | 2005-02-24 | Bloom Phillip Jeffrey | Methods and apparatus for use in sound replacement with automatic synchronization to images |
US20090270166A1 (en) * | 2008-04-24 | 2009-10-29 | Churchill Downs Technology Initiatives Company | Personalized Transaction Management and Media Delivery System |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
CN109698965A (zh) * | 2017-10-20 | 2019-04-30 | 株洲中车时代电气股份有限公司 | 一种视频同步播放方法、装置、设备及计算机存储介质 |
CN109714634A (zh) * | 2018-12-29 | 2019-05-03 | 青岛海信电器股份有限公司 | 一种直播数据流的解码同步方法、装置及设备 |
-
2020
- 2020-05-09 CN CN202010388991.0A patent/CN111601135B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050042591A1 (en) * | 2002-11-01 | 2005-02-24 | Bloom Phillip Jeffrey | Methods and apparatus for use in sound replacement with automatic synchronization to images |
US20090270166A1 (en) * | 2008-04-24 | 2009-10-29 | Churchill Downs Technology Initiatives Company | Personalized Transaction Management and Media Delivery System |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
CN109698965A (zh) * | 2017-10-20 | 2019-04-30 | 株洲中车时代电气股份有限公司 | 一种视频同步播放方法、装置、设备及计算机存储介质 |
CN109714634A (zh) * | 2018-12-29 | 2019-05-03 | 青岛海信电器股份有限公司 | 一种直播数据流的解码同步方法、装置及设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374871A (zh) * | 2020-10-15 | 2022-04-19 | 瑞昱半导体股份有限公司 | 串流媒体的时戳处理方法 |
CN114374871B (zh) * | 2020-10-15 | 2023-11-14 | 瑞昱半导体股份有限公司 | 串流媒体的时戳处理方法 |
CN113038193A (zh) * | 2021-03-24 | 2021-06-25 | Vidaa美国公司 | 一种自动修复音视频不同步的方法及显示设备 |
CN113038193B (zh) * | 2021-03-24 | 2023-08-11 | Vidaa美国公司 | 一种自动修复音视频不同步的方法及显示设备 |
CN115134644A (zh) * | 2021-03-25 | 2022-09-30 | 海信视像科技股份有限公司 | 一种直播数据的处理方法及装置 |
CN115134644B (zh) * | 2021-03-25 | 2024-08-27 | 海信视像科技股份有限公司 | 一种直播数据的处理方法及装置 |
CN113296723A (zh) * | 2021-05-21 | 2021-08-24 | 重庆紫光华山智安科技有限公司 | 目标框与视频帧的同步显示方法、系统、设备及介质 |
CN113296723B (zh) * | 2021-05-21 | 2022-04-01 | 重庆紫光华山智安科技有限公司 | 目标框与视频帧的同步显示方法、系统、设备及介质 |
CN115665502A (zh) * | 2022-10-24 | 2023-01-31 | 昆易电子科技(上海)有限公司 | 视频数据处理方法、注入方法、系统、设备及存储介质 |
CN116437161A (zh) * | 2022-10-24 | 2023-07-14 | 昆易电子科技(上海)有限公司 | 视频数据处理方法、注入方法、系统、设备及存储介质 |
CN116437161B (zh) * | 2022-10-24 | 2024-02-09 | 昆易电子科技(上海)有限公司 | 视频数据处理方法、注入方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111601135B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111601135B (zh) | 一种音视频基本流同步注入的方法及显示设备 | |
CN111010597A (zh) | 一种显示设备 | |
CN111294643A (zh) | 在显示设备中显示音轨语言的方法及显示设备 | |
CN111601134B (zh) | 一种显示设备中时间显示方法及显示设备 | |
CN114073098B (zh) | 流媒体同步方法及显示设备 | |
CN111277891B (zh) | 一种节目录制提示方法及显示设备 | |
WO2021169168A1 (zh) | 一种视频文件预览方法及显示设备 | |
CN111601142B (zh) | 一种字幕的显示方法及显示设备 | |
CN111601144B (zh) | 流媒体文件播放方法及显示设备 | |
CN111726673B (zh) | 一种频道切换方法及显示设备 | |
CN111654743B (zh) | 音频播放方法及显示设备 | |
CN111417027A (zh) | 网页视频全屏播放切换小窗口播放的方法及显示设备 | |
CN111757181B (zh) | 一种减少网络媒体清晰度抖动的方法及显示设备 | |
CN113473194B (zh) | 一种智能设备及响应方法 | |
CN113378092A (zh) | 一种视频video播放管理方法及显示设备 | |
CN111726674A (zh) | 一种HbbTV应用启动方法及显示设备 | |
CN111885415B (zh) | 一种音频数据快速输出方法及显示设备 | |
CN112040285B (zh) | 界面显示方法及显示设备 | |
CN111526414B (zh) | 一种字幕显示方法及显示设备 | |
CN111343498B (zh) | 一种静音控制方法、装置及智能电视 | |
CN113115093B (zh) | 一种显示设备及详情页展示方法 | |
CN111988648A (zh) | 时间显示方法及显示设备 | |
CN113382291A (zh) | 一种显示设备及流媒体播放方法 | |
CN111757160A (zh) | 一种启动体育模式的方法及显示设备 | |
CN113329246A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221018 Address after: 83 Intekte Street, Devon, Netherlands Patentee after: VIDAA (Netherlands) International Holdings Ltd. Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province Patentee before: QINGDAO HISENSE MEDIA NETWORKS Ltd. |