CN115119029A - 一种显示设备及显示控制方法 - Google Patents
一种显示设备及显示控制方法 Download PDFInfo
- Publication number
- CN115119029A CN115119029A CN202110294229.0A CN202110294229A CN115119029A CN 115119029 A CN115119029 A CN 115119029A CN 202110294229 A CN202110294229 A CN 202110294229A CN 115119029 A CN115119029 A CN 115119029A
- Authority
- CN
- China
- Prior art keywords
- audio
- frame
- video
- clock
- signal
- 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 47
- 230000005236 sound signal Effects 0.000 claims abstract description 148
- 238000009877 rendering Methods 0.000 claims abstract description 75
- 230000001360 synchronised effect Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000011664 signaling Effects 0.000 claims abstract description 6
- 238000005070 sampling Methods 0.000 claims description 109
- 238000001914 filtration Methods 0.000 claims description 15
- 230000002829 reductive effect Effects 0.000 claims description 14
- 238000012952 Resampling Methods 0.000 claims description 13
- 230000009467 reduction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 19
- 239000010410 layer Substances 0.000 description 46
- 238000004891 communication Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 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
- 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
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- 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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—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 involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- 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
- H04N21/4402—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 involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—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 involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请涉及音视频数据处理技术领域,公开了一种显示设备及显示控制方法,所述方法包括:对多媒体数据进行解码操作,得到音频信号和视频信号;在渲染音频信号之前,等待视频信号中的第一帧视频帧渲染完成;若第一帧视频帧渲染完成,则控制显示器从视频信号的第一帧视频帧开始显示,并控制输出给音频输出接口的音频帧与输出给显示器的视频帧同步;或者,若第一帧视频帧渲染完成,则控制音频输出接口从音频信号的第一帧音频帧开始播放,并控制输出给显示器的视频帧与输出给音频输出接口的音频帧同步,从而可以解决显示设备播放过程中起播卡顿不流畅的问题。
Description
技术领域
本申请涉及音视频数据处理技术领域,尤其涉及一种显示设备及显示控制方法。
背景技术
智能电视在日常生活中被广泛使用。以往情况下,非实时生成的片源较多时,智能电视在使用过程中偶尔会出现起播时画面卡顿、起播不流畅的问题。
然而,伴随着智能电视视频业务的开展,尤其是直播业务的拓展,将直播流以频道的形式集成到应用中。由此,用户切换频道会进行不同直播流的起播。该场景下码流起播不流畅的问题尤为明显,用户更容易察觉起播卡顿。另外,直播流具有多种格式,智能电视业务在支持不同格式的直播流的情况下,起播时首帧音频帧和首帧视频帧不同步的问题也会加大,这就导致直播流起播也会卡顿不流畅。
故此,如何有效解决起播卡顿不流畅的问题是业内关注的问题。
发明内容
本申请实施例提供一种显示设备及显示控制方法,可以解决显示设备对音视频起播时卡顿不流畅的问题。
一方面,本申请一实施例提供了一种显示设备,包括:显示器、控制器和音频输出接口,其中:
所述显示器,用于显示图像;
所述音频输出接口,用于输出音频信号;
所述控制器分别连接所述显示器和所述音频输出接口,被配置为执行:
对多媒体数据进行解码操作,得到音频信号和视频信号;
在渲染所述音频信号之前,等待所述视频信号中的第一帧视频帧渲染完成;
若所述第一帧视频帧渲染完成,则控制所述显示器从所述视频信号的所述第一帧视频帧开始显示,并控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步;
或者,
若所述第一帧视频帧渲染完成,则控制所述音频输出接口从所述音频信号的所述第一帧音频帧开始播放,并控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步。
在一些可能的实施例中,执行所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,所述控制器被配置为执行:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述音频信号中时间戳早于所述第一帧视频帧的时间戳的音频帧过滤掉,将剩余的音频帧中的首帧音频帧作为所述第一帧视频帧的相匹配音频内容输出给所述音频输出接口;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述音频信号中的第一帧音频帧延迟第一指定时长输出给所述音频输出接口,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
在一些可能的实施例中,执行所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,所述控制器被配置为执行:
基于初始采样率对所述音频信号进行重采样,并比较每个音频帧采样点对应的音频时钟和当前渲染的视频帧的视频时钟,得到动态时钟差;
若所述动态时钟差大于预设值,则基于动态时钟差更新对所述音频信号的采样率,并基于更新后的采样率返回执行所述对所述音频信号进行重采样的步骤,直至所述动态时钟差小于或等于所述预设值。
在一些可能的实施例中,执行所述基于动态时钟差更新对所述音频信号的采样率,所述控制器被配置为执行:
若所述动态时钟差指示所述音频帧采样点对应的音频时钟小于所述当前渲染的视频帧的视频时钟,则降低所述采样率;
若所述动态时钟差指示所述音频帧采样点对应的音频时钟大于所述当前渲染的视频帧的视频时钟,则增大所述采样率。
在一些可能的实施例中,执行所述降低所述采样率,所述控制器被配置为执行:
基于降低后的采样率分别与所述初始采样率、每帧音频帧的播放时长以及预设帧数具有正相关关系、以及所述降低后的采样率与所述时钟差具有负相关关系,确定所述降低后的采样率;
执行所述增大所述采样率,所述控制器被配置为执行:
基于增大后的采样率分别与所述初始采样率、所述时钟差具有正相关关系、以及所述增大后的采样率分别与每帧音频帧的播放时长和预设帧数具有负相关关系,确定所述增大后的采样率。
在一些可能的实施例中,所述控制器还被配置为执行:
渲染所述音频信号之前,对所述音频信号进行静音处理,直至向所述音频输出接口输出音频信号。
在一些可能的实施例中,执行所述控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步,所述控制器被配置为执行:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述视频信号中时间戳早于所述第一帧音频帧的时间戳的视频帧过滤掉,将剩余的视频帧中的首帧视频帧作为所述第一帧音频帧的相匹配视频内容输出给所述显示器;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述视频信号中的第一帧视频帧延迟第一指定时长输出给所述显示器,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
在一些可能的实施例中,执行所述对多媒体数据进行解码操作,得到音频信号和视频信号之前,所述控制器还被配置为执行:
对所述多媒体数据进行解封装,得到所述音频信号的清流和所述视频信号的清流;
获取所述视频信号的清流中的首帧视频帧的时间戳;
将所述音频信号的清流中的时间戳早于所述首帧视频帧的时间戳的音频帧过滤掉。
一方面,本申请一实施例提供了一种显示控制方法,所述方法包括:
对多媒体数据进行解码操作,得到音频信号和视频信号;
在渲染所述音频信号之前,等待所述视频信号中的第一帧视频帧渲染完成;
若所述第一帧视频帧渲染完成,则控制所述显示器从所述视频信号的所述第一帧视频帧开始显示,并控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步;
或者,
若所述第一帧视频帧渲染完成,则控制所述音频输出接口从所述音频信号的所述第一帧音频帧开始播放,并控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步。
在一些可能的实施例中,所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,包括:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述音频信号中时间戳早于所述第一帧视频帧的时间戳的音频帧过滤掉,将剩余的音频帧中的首帧音频帧作为所述第一帧视频帧的相匹配音频内容输出给所述音频输出接口;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述音频信号中的第一帧音频帧延迟第一指定时长输出给所述音频输出接口,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
在一些可能的实施例中,所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,包括:
基于初始采样率对所述音频信号进行重采样,并比较每个音频帧采样点对应的音频时钟和当前渲染的视频帧的视频时钟,得到动态时钟差;
若所述动态时钟差大于预设值,则基于动态时钟差更新对所述音频信号的采样率,并基于更新后的采样率返回执行所述对所述音频信号进行重采样的步骤,直至所述动态时钟差小于或等于所述预设值。
所述基于动态时钟差更新对所述音频信号的采样率,所述控制器被配置为执行:
若所述动态时钟差指示所述音频帧采样点对应的音频时钟小于所述当前渲染的视频帧的视频时钟,则降低所述采样率;
若所述动态时钟差指示所述音频帧采样点对应的音频时钟大于所述当前渲染的视频帧的视频时钟,则增大所述采样率。
在一些可能的实施例中,所述降低所述采样率,包括:
基于降低后的采样率分别与所述初始采样率、每帧音频帧的播放时长以及预设帧数具有正相关关系、以及所述降低后的采样率与所述时钟差具有负相关关系,确定所述降低后的采样率;
执行所述增大所述采样率,所述控制器被配置为执行:
基于增大后的采样率分别与所述初始采样率、所述时钟差具有正相关关系、以及所述增大后的采样率分别与每帧音频帧的播放时长和预设帧数具有负相关关系,确定所述增大后的采样率。
在一些可能的实施例中,所述方法还包括:
渲染所述音频信号之前,对所述音频信号进行静音处理,直至向所述音频输出接口输出音频信号。
在一些可能的实施例中,所述控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步,包括:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述视频信号中时间戳早于所述第一帧音频帧的时间戳的视频帧过滤掉,将剩余的视频帧中的首帧视频帧作为所述第一帧音频帧的相匹配视频内容输出给所述显示器;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述视频信号中的第一帧视频帧延迟第一指定时长输出给所述显示器,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
在一些可能的实施例中,所述对多媒体数据进行解码操作,得到音频信号和视频信号之前,所述方法还包括:
对所述多媒体数据进行解封装,得到所述音频信号的清流和所述视频信号的清流;
获取所述视频信号的清流中的首帧视频帧的时间戳;
将所述音频信号的清流中的时间戳早于所述首帧视频帧的时间戳的音频帧过滤掉。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据一些实施例的应用环境示意图;
图2中示例性示出了根据一些实施例的显示设备200的硬件配置框图;
图3中示例性示出了根据一些实施例的控制装置100的硬件配置框图;
图4中示例性示出了根据一些实施例的显示设备200中软件配置示意图;
图5中示例性示出了根据一些实施例的显示设备200中应用程序的图标控件界面显示示意图;
图6中示例性示出了现有技术中将直播流以频道的形式集成到应用中的结构示意图;
图7中示例性示出了本申请实施例提供的应用级播放器的软件架构示意图;
图8中示例性示出了本申请实施例提供的显示设备控制方法的一种流程示意图;
图9中示例性示出了本申请实施例提供的改变音频时钟的起播模式进行播放控制的一种流程示意图;
图10中示例性示出了本申请实施例提供的改变音频时钟的起播模式进行播放控制的一种流程示意图;
图11中示例性示出了本申请实施例提供的改变视频时钟的起播模式进行播放控制的一种流程示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语″遥控器″,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语″手势″,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端1002和控制装置1001操作显示设备200。
在一些实施例中,控制装置1001可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,移动终端1002可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端1002与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端1002上,通过控制移动终端1002上用户界面,实现控制显示设备200的功能。也可以将移动终端1002上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制设备1001或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置1001(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230中的图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可以包括声音采集器231等,如麦克风,可以用于采集语音数据,当用户通过语音方式说出指令时,麦克风能够采集到包括用户说出的指令的语音数据。示例性的,声音采集器231可以采集包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口HDMI接口、模拟或数据高清分量输入接口、复合视频输入接口、USB输入接口、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作***或其他正在运行中的程序的临时数据
在一些实施例中,ROM 252用于存储各种***启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出***,称为基本输入输出***(Basic Input Output System,BIOS)。用于完成对***的加电自检、***中各功能模块的初始化、***的基本输入/输出的驱动程序及引导操作***。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252中***启动指令,将存储在存储器的操作***的临时数据拷贝至RAM 251中,以便于启动或运行操作***。当操作***启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,CPU处理器254,用于执行存储在存储器中操作***和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU+FRC(Frame Rate Conversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置1001或移动终端1002输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,″用户界面″,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制设备1001的配置框图。如图3所示,控制设备1001包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制设备1001被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制设备1001上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制设备1001可是一种智能设备。如:控制设备1001可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端1002或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制设备1001类似功能。如:用户可以通过安装应用,在移动终端1002或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制设备1001实体按键的功能。
控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器用于控制控制设备1001的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制设备1001包括通信接口130和输入输出接口140中至少一者。控制设备1001中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器的控制下存储驱动和控制控制设备1001的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制设备1001各元件提供运行电力支持。可以电池及相关控制电路。
在一些实施例中,***可以包括内核(Kernel)、命令解析器(shell)、文件***和应用程序。内核、shell和文件***一起组成了基本的操作***结构,它们让用户可以管理文件、运行程序并使用***。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
图4为本申请提供的显示设备的软件***示意图,参见图4,在一些实施例中,将***分为四层,从上至下分别为应用程序(Applications)层(简称″应用层″),应用程序框架(Application Framework)层(简称″框架层″),安卓运行时(Android runtime)和***库层(简称″***运行库层″),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作***自带的窗口(Window)程序、***设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问***中的资源和取得***的服务
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和***中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给***服务或应用提供了***位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到***桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,***运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作***会运行***运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,以魔镜应用(拍照应用)为例,当遥控接收装置接收到遥控器输入操作,相应的硬件中断被发给内核层。内核层将输入操作加工成原始输入事件(包括输入操作的值,输入操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,根据焦点当前的位置识别该输入事件所对应的控件以及以该输入操作是确认操作,该确认操作所对应的控件为魔镜应用图标的控件,魔镜应用调用应用框架层的接口,启动魔镜应用,进而通过调用内核层启动摄像头驱动,实现通过摄像头捕获静态图像或视频。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示屏上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示屏的不同显示区域显示与之对应的应用界面。
在一些实施例中,图5为本申请提供的显示设备能够提供的应用程序的示意图,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机***或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
智能电视在日常生活中被广泛使用。以往情况下,非实时生成的片源较多时,智能电视在使用过程中偶尔会出现起播时画面卡顿、起播不流畅的问题。
然而,伴随着智能电视视频业务的开展,尤其是直播业务的拓展,参考图6所示,将直播流以频道的形式集成到应用中。图6中示出了应用支持多个频道,每个频道支持一路直播流。切换频道时需要进行不同直播流的起播,因此码流起播不流畅的问题在此类应用场景中尤为明显,用户也更容易察觉起播卡顿。另外,直播流具有多种格式,智能电视业务在支持不同格式的直播流的情况下,起播时首帧音频帧和首帧视频帧不同步的问题也会加大,这就导致直播流起播也会卡顿不流畅。
为解决上述问题,本申请实施例中在渲染音频信号之前先等待第一帧视频帧渲染完成,之后在第一帧视频帧渲染完成后,通过比较音频时钟和视频时钟,可以基于比较结果实现对音频播放和视频播放时序的控制,从而可以根据时钟差有的放矢的调节音视频同步,从而提高起播的流畅度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图7所示,示出了应用级播放器的软件架构。以用户选择如图5所示的应用程序中的直播电视为例进行说明,软件架构的第一层展示的是应用程序APP(Application),软件架构的第二层展示的是APP的中间件播放器,例如图7所示的Tv.danmaku.ijk.media.player为中间件播放器,软件架构的第三层展示的是第二层对应的播放器,如图7所示的Ff_ffplayer为第二层的播放器,软件架构的第四层从左到右分别展示的是播放源对象(urlsource)、网络协议(如fd/hls/http/…/rtp等)、下载缓冲队列(aviobuffer)、解封装模块(ffmpegdemux)、音频数据包队列(audiopkg queue)、视频数据包队列(video pkg queue)、安卓***原生硬解码模块(mediacodec)、解封装模块的软解码模块(avcodec)、音频采样脉冲编码调制队列(audio sample pcm queue(asmq))、视频图像队列(video pickture queue(vpicq))、视频同步模块(videorefresh)、音频输出模块(sdl_aout)、视频输出模块(sdl_vout),软件架构的第五层展示的是音频输出模块对应的渲染模块(audiotrack)、以及视频输出模块对应的渲染模块(surfacelinger)。
在进行播放时,通过上层应用设置的网络地址确定播放源对象,如需要播放在线片源A,网络地址即为获取该在线片源A媒体文件的地址,然后按照协议要求的不同,使用fd/hls/http/…/rtp等网络协议进行解析并下载数据,将下载好的数据存储至下载缓冲队列中,当下载缓冲队列将数据发送至解封装模块之后,该数据经过解封装模块,得到音频信号的清流和视频信号的清流。这里,音频信号的清流存储在音频数据包队列,视频信号的清流存储在视频数据包队列。例如,一个MP4文件,该文件为音频和视频混合封装的文件,无法直接解码使用,需要通过解封装模块获得音频信号的清流和视频信号的清流之后再进行解码。
将音频数据包队列中的音频信号的清流通过安卓原生硬解码模块进行解码,得到pcm数据(Pulse Code Modulation,脉冲编码调制),该数据为音频信号的清流数据解码后的数据裸流,可以直接在显示设备中进行播放。将视频数据包队列中的视频信号的清流通过解封装模块的软解码模块进行解码,得到yuv数据(亮度和色差信号),该数据为视频信号的清流数据解码后的数据裸流,可以直接在显示设备中进行播放。其中,pcm数据存储在asmq数据队列中,yuv数据存储在vpicq数据队列中。将asmq数据队列和vpicq数据队列中的数据均发送至视频同步模块videorefresh中,进而经过sdl_aout、sdl_vout,在audiotrack、以及surfacelinger中进行同步渲染。具体的,视频同步模块用于分别创建audio渲染线程sdl_aout和video渲染线程sdl_vout。sdl_aout创建audiotrack,将pcm数据送入audiotrack进行播放,此时更新audioclock,即是audiotrack实际渲染的audio数据时间戳。sdl_vout线程则将解码后的yuv数据送入surface进行渲染,其送入时机则取决于audio clock。
本申请实施例中的音视频同步指同时播放的音频帧的时间戳与视频帧的时间戳能够基本一致,保证播放的音频帧与视频帧是对应的。
相关技术中,将pcm数据发送至audiotrack中进行渲染播放时,根据pcm数据的时间戳更新音频时钟,然后基于音频时钟确定将yuv数据发送至surfacelinger中进行渲染的时间。例如,根据音频时钟确定当前渲染的音频数据的时间戳,将该音频数据的时间戳大于视频数据的时间戳的视频帧丢弃不渲染,将该音频数据的时间戳小于视频数据的时间戳的视频帧延时渲染。但是目前市场上提供的芯片,对第一帧视频帧渲染耗时在500ms左右,而一般第一帧视频帧渲染耗时在40ms左右,也即第一帧视频帧渲染耗时较长,导致视频时钟会卡住并且突然跳变,进而使得音视频不能同步平滑起播。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
基于上述对应用级播放器框架,本申请提供了一种显示设备控制方法,参考图8所示,该方法的主要步骤可包括:
S801,对多媒体数据进行解码操作,得到音频信号和视频信号;
例如,如图7中所示,通过解封装模块的软解码模块得到视频信号,通过解封装模块的硬解码模块得到音频信号。
S802,在渲染音频信号之前,等待视频信号中的第一帧视频帧渲染完成;
例如,如图7所示,渲染音频信号之前可定义为在将第一帧音频帧送入audiotrack并在由audiotrack将音频信号输出给音频输出接口之前。
S803,若第一帧视频帧渲染完成,则控制显示器从视频信号的第一帧视频帧开始显示,并控制输出给音频输出接口的音频帧与输出给显示器的视频帧同步;
或者,若第一帧视频帧渲染完成,则控制音频输出接口从音频信号的第一帧音频帧开始播放,并控制输出给显示器的视频帧与输出给音频输出接口的音频帧同步。
本申请实施例中,第一帧视频帧渲染完成可定义为将解码后的yuv数据送入surface并由surface发送给显示器显示时。
本申请实施例对音视频进行同步操作时,可以以视频信号为参考对音频信号进行播放控制(后文简称改变音频时钟的起播模式),类似的也可以以音频信号为参考对视频信号进行播放控制(后文简称改变视频时钟的起播模式),下面将从这两方面分别对本申请实施例进行说明。
一、改变音频时钟的起播模式
本申请实施例中为了能够兼容音视频起播时间差异较大的情况,在对多媒体数据进行解码操作,得到音频信号和视频信号之前,还可以对音频信号进行筛选过滤。包括以下步骤:
对多媒体数据进行解封装,得到音频信号的清流和视频信号的清流,获取视频信号的清流中的首帧视频帧的时间戳,将音频信号的清流中的时间戳早于首帧视频帧的时间戳的音频帧过滤掉。
解封装过程在前面已经详细介绍,在此不再赘述。
由此,通过在解封装阶段对音频帧进行过滤,能够保证音频信号首帧时间戳尽可能大于视频信号的首帧时间戳,并且通过过滤可以尽可能缩小音视频首帧时间戳之间的差别,降低音视频首帧之间过大的时间戳差别带来的首帧卡顿跳变的问题。
示例性地,假设音频信号的第一帧对应的时间戳为1s,第五帧对应的时间戳为3s,视频信号的第一帧对应的时间戳为3s,那么在音频信号将前四帧丢弃之后,将第五帧作为音频信号的第一帧,此时音频时钟的数据为3s。
通过将音频信号的清流中的时间戳早于首帧视频帧的时间戳的音频帧过滤掉,从而可以在对音视频信号进行同步渲染时,进一步缩小音频信号中首帧音频帧的时间戳和视频信号中首帧视频帧的时间戳之间的时钟差,避免高时钟差带来的同步处理耗时长耗费资源多的问题,进而提高音视频同步的效率问题。
其中,可以通过以下方式控制输出给音频输出接口的音频帧与输出给显示器的视频帧同步:
一种可能的控制音频信号的实施方式为对音频信号执行丢帧或者延时操作,从而快速的实现音视频同步。
本申请实施例中,比较当前音频时钟和当前视频时钟,得到时钟比较结果之后,可以以视频信号为基准通过调整音频信号的输出来实现音视频同步。
为描述简便,本申请实施例将当前音频时钟和当前视频时钟之间的时钟差定义为第一指定时长。若当前音频时钟小于当前视频时钟,则确定将音频信号中时间戳早于第一帧视频帧的时间戳的音频帧过滤掉,将剩余的音频帧中的首帧音频帧作为第一帧视频帧的相匹配音频内容输出给音频输出接口;若当前音频时钟大于当前视频时钟,则将音频信号中的第一帧音频帧延迟第一指定时长输出给音频输出接口。
例如,参照上述事例继续说明,当第一帧视频帧渲染完成时,假设将主时钟切换为视频时钟,那么视频时钟的数据由初始值变为3s。
当视频信号中的第一帧视频帧渲染完成,则开始渲染音频信号,此时主时钟依然为视频时钟,也即此时视频时钟的数据为3s,但是由于在对视频信号中的第一帧视频帧进行渲染时,音频时钟的数据依然在增长,因此根据以下公式(1)得到音频时钟的数据,也即音频时钟的数据增长量为视频第一帧的渲染时间。
音频时钟=上次音频时钟+当前***时间-上次同步***时间 (1)
在公式(1)中,上次音频时钟指最新一帧音频帧的时间戳,其中,在音频信号向音频渲染模块中塞入音频帧时,该音频帧的时间戳会同步发送至音频时钟,针对上次音频时钟来说,当接收到某一帧音频帧的时间戳时,在该帧音频帧的时间戳与自身同步之后,则得到上次同步***时间。
假设音频时钟的数据为3.3s,由于视频时钟的数据为3s,那么此时视频时钟小于音频时钟,需要将音频信号中的第一帧音频帧延迟0.3s输出给音频输出接口。
另外,若假设视频时钟的数据为5s,音频时钟的数据为2s,那么此时音频时钟小于视频时钟,需要将音频信号中时间戳早于第一帧视频帧的时间戳的音频帧过滤掉,将音频信号中剩余的音频帧依序输出给音频输出接口。
示例性地,根据以下公式(2)计算得到需要过滤掉的音频帧的数量。
待过滤的音频帧的数量=采样率*声道数*位深/A*时钟差 (2)
其中,时钟差为当前音频时钟和当前视频时钟之间的差值,声道数为片源播放采用的声道数,位深为片源画面一个像素点采用的比特位数,常数A为预先指定数值,采样率为图7中的多媒体资源预先封装好的,对多媒体数据进行解封装后获得的。
由于音频信号对应的渲染模块audiotrack中会存在一定缓存的属性,导致在向audiotrack里面写入数据时,不能保证数据的线性增长。通过对音频信号进行丢帧或者延时操作,使得音频时钟和视频时钟同步,从而避免由于音频信号渲染过程中非线性写入数据导致音视频不同步的问题。
由于上述实施方式中存在音频信号的丢帧或者延时现象,因此在渲染音频信号之前,本申请实施例中还可以对音频信号进行静音处理,使得在音视频起播过程中,用户有更好的观看体验。如可实施为在渲染音频信号之前,对音频信号进行静音处理,直至向音频输出接口输出音频信号。
另一种可能的控制音频信号的实施为通过对音频信号执行重采样逐步的实现音视频同步,进而实现音频的平滑起播。
该实施方式中的构思为通过对音频信号的多次重采样,可以不断减小初始音频时钟和初始视频时钟的时钟差值,逐渐使得音频信号和视频信号在渲染初始时完成音视频同步,在提高起播流畅度的同时,能够保证音频信号平滑播放。
其中,上述重采样可以是等采样率采样,也可以是可变采样率采样。在此并不限定重采样的具体实施方式,可根据实际应用情况进行调整。
以等采样率采样为例,这时采样率可设置的大一些,尽可能使得最终确定的音频时钟和视频时钟之间的时钟差较小,满足同步误差的容忍度要求。但是采用等采样率最后得到的同步精度有限,所以还可以采用可变采样率来保证同步精度并尽可能缩短同步所需的时长。
可变采样率的一种可行的实施方式为,可以先基于对多媒体数据进行解封装确定初始采样率(这里初始采样率也即上述公式(2)中的采样率)。然后,基于初始采样率对音频信号进行重采样,并比较每个音频帧采样点对应的音频时钟和当前渲染的视频帧的视频时钟,得到动态时钟差;若动态时钟差大于预设值,则基于动态时钟差更新对音频信号的采样率,并基于更新后的采样率返回执行对音频信号进行重采样的步骤,直至动态时钟差小于或等于预设值。
该实施方式中可以边采样边检测音视频时钟的差距,并基于音视频时钟的实时差距动态的调整采样率,达到平滑起播阶段音频信号平滑播放的目的,并能够尽快完成音视频同步。
更新采样率的一种可行的实施方式为,若动态时钟差指示音频帧采样点对应的音频时钟小于当前渲染的视频帧的视频时钟,则降低采样率;若动态时钟差指示音频帧采样点对应的音频时钟大于当前渲染的视频帧的视频时钟,则增大采样率。
实施时,可以采用指定步长调整采样率,例如当确定需要降低采样率时,可将采样率降低第一指定步长,当确定需要提高采样率时,可以将采样率提高第二指定步长。第一指定步长和第二指定步长可以相同也可以不相同,且第一指定步长和第二指定步长也可以根据实际情况更新,这就相当于音视频时钟差可以为一个信号,通过调整采样率在该信号中进行采样,直至找到音视频时钟差的谷底为止。
在另一种实施方式中,为了能够更加准确的调整采样率实现音视频同步,本申请实施例中采样率与音视频时钟的时钟差具有负相关关系的参数。
其中,通过确定当前音频时钟和当前视频时钟之间的时钟差,计算采样率与时钟差的负相关值,利用负相关值降低采样率;计算采样率与时钟差的正相关值,利用正相关值增大采样率。
示例性的,通过以下公式(3)具体计算降低采样率,通过以下公式(4)具体计算增大采样率。
采样率=初始采样率*(数据时长-时钟差/×)/数据时长 (3)
采样率=初始采样率*(数据时长+时钟差/×)/数据时长 (4)
其中,数据时长为音频信号的音频帧的播放时长,时钟差为当前音频时钟和当前视频时钟之间的差值,×为对音频信号采样的预设帧数。假设音频信号中音频帧的播放时长为40ms,则在降低采样率之后,若单位时间内音频帧数不变,音频帧的数据时长可能变为50ms相当于实现了延迟播放;相应的,在增大采样率之后,若单位时间内音频帧数不变,音频帧的数据时长可能变为30ms,相当于实现了过滤音频数据。
由于音频信号对应的渲染模块audiotrack中会存在一定缓存的属性,导致向audiotrack里面写入数据时,不能保证数据的线性增长。通过对音频信号执行多次重采样操作,使得音频时钟和视频时钟同步,从而避免由于音频信号渲染过程中非线性写入数据导致音视频不同步的问题。并且使得音频信号可以连续播放,不会造成跳帧现象,虽略微有音视频不同步的现象,但是随时间推移会很快同步,进而使得在音视频起播过程中,用户有更好的观看体验。
二、改变视频时钟的起播模式
改变音频时钟的起播模式由于对音频信号的丢帧/延时操作,或者可能存在短时间音视频不同步现象,因此在针对音频信号播放过程中比较敏感的应用场景,例如音频信号的作用相较视频信号的作用更为突出的场景中,可以以音频信号为基准,适当过滤或延迟播放视频帧达到提高起播流畅度的目的。
一种可能的实施方式为,若第一帧视频帧渲染完成,则控制音频输出接口从音频信号的第一帧音频帧开始播放,并控制输出给显示器的视频帧与输出给音频输出接口的音频帧同步。
其中,通过对视频信号执行丢帧或者延时操作确定输出给音频输出接口的音频帧与输出给显示器的视频帧同步。
将第一指定时长确定为当前音频时钟和当前视频时钟之间的时钟差,比较当前音频时钟和当前视频时钟,得到比较结果。
若比较结果为当前音频时钟大于当前视频时钟,则将视频信号中时间戳早于第一帧音频帧的时间戳的视频帧过滤掉,将剩余的视频帧中的首帧视频帧作为第一帧音频帧的相匹配视频内容输出给显示器;
若比较结果为当前音频时钟小于当前视频时钟,则将视频信号中的第一帧视频帧延迟第一指定时长输出给显示器,第一指定时长为当前音频时钟和当前视频时钟之间的时钟差。
例如,参照上述事例继续说明,当第一帧视频帧渲染完成时,假设将主时钟切换为视频时钟,那么视频时钟的数据由初始值变为3s。
当视频信号中的第一帧视频帧渲染完成,则开始渲染音频信号,此时主时钟依然为视频时钟,也即此时视频时钟的数据为3s,但是由于在对视频信号中的第一帧视频帧进行渲染时,音频时钟的数据依然在增长,因此根据上述公式(1)得到音频时钟的数据,也即音频时钟的数据增长量为视频第一帧的渲染时间作为第二输出时间的参考信息。举个例子,假设音频时钟的数据为3.3s,由于视频时钟的数据为3s,那么此时视频时钟小于音频时钟,需要将视频信号中的第一帧视频帧延迟0.3s输出给显示器。
另外,若假设视频时钟的数据为5s,音频时钟的数据为2s,那么此时音频时钟小于视频时钟,需要将视频信号中时间戳早于第一帧音频帧的时间戳的视频帧过滤掉,将视频信号中剩余的视频帧依序输出给显示器。
示例性地,根据公式(3)计算得到需要过滤掉的视频帧的数量。
待过滤的视频帧的数量=时钟差/视频帧的播放时长 (3)
其中,时钟差为当前音频时钟和当前视频时钟之间的差值,视频帧的播放时长为对多媒体数据进行解码后获得。
由于音频信号对应的渲染模块audiotrack中会存在一定缓存的属性,导致在向audiotrack里面写入数据时,不能保证数据的线性增长。通过对视频信号进行丢帧或者延时操作,使得音频时钟和视频时钟同步,从而避免由于音频信号渲染过程中非线性写入数据导致音视频不同步的问题。
综上所述,本申请通过对多媒体数据进行解码操作,得到音频信号和视频信号;在渲染音频信号之前,等待视频信号中的第一帧视频帧渲染完成;若第一帧视频帧渲染完成,则比较当前音频时钟和当前视频时钟,得到时钟比较结果;基于时钟比较结果,对输出给显示器的视频信号和输出给音频输出接口的音频信号进行同步操作,从而可以解决显示设备播放过程中音视频的平滑起播问题。
参照图7,本申请实施例中,视频同步模块用于分别创建audio渲染线程sdl_aout和video渲染线程sdl_vout。sdl_aout创建android渲染模块audiotrack,将pcm数据送入audiotrack进行播放,此时更新audio clock,即是audiotrack实际渲染的audio数据时间戳。sdl_vout线程则将解码后的yuv数据送入surface进行渲染,其送入时机则取决于audioclock。故此,下文参考图7对本申请实施例中的显示控制方法进行说明。
参考图9,示出了的改变音频时钟的起播模式进行播放控制的流程图,具体包括以下步骤:
S901,对多媒体数据进行解封装,得到音频信号的清流和视频信号的清流。
S902,获取视频信号的清流中的首帧视频帧的时间戳。
S903,判断音频信号的清流中的时间戳是否小于首帧视频帧的时间戳。
若是,执行步骤S904,丢弃音频信号的清流中的时间戳小于首帧视频帧的时间戳的音频帧。进而保证渲染的音频帧对应的时间戳均大于第一帧视频帧的时间戳。若否,执行步骤S905,将音频数据包队列中的音频信号的清流通过解码模块进行解码,得到音频信号,以及执行步骤S906,将视频数据包队列中的视频信号的清流通过解码模块进行解码,得到视频信号。
先静音音频渲染模块,并将第一帧音频帧塞入音频渲染模块,然后加锁等待第一帧视频中渲染完成。
步骤S907,渲染视频信号中的第一帧视频帧。若第一帧视频帧渲染完成,则通知audio渲染线程解锁。
步骤S908,计算当前音频时钟和当前视频时钟之间的差值是否大于0。若是,则执行步骤S909,将音频信号中的第一帧音频帧延迟第一指定时长输出给音频输出接口,然后执行步骤S911,通过显示器进行显示。若否,则执行步骤S910,将音频信号中时间戳早于第一帧视频帧的时间戳的音频帧过滤掉,将音频信号中剩余的音频帧依序输出给音频输出接口,然后解静音音频渲染模块,继续执行步骤S911,通过显示器进行显示。
参考图10,示出了的改变音频时钟的起播模式进行播放控制的流程图,具体包括以下步骤:
S1001,对多媒体数据进行解封装,得到音频信号的清流和视频信号的清流。
S1002,获取视频信号的清流中的首帧视频帧的时间戳。
S1003,判断音频信号的清流中的时间戳是否小于首帧视频帧的时间戳。
若是,执行步骤S1004,丢弃音频信号的清流中的时间戳小于首帧视频帧的时间戳的音频帧。进而保证渲染的音频帧对应的时间戳均大于第一帧视频帧的时间戳。若否,执行步骤S1005,将音频数据包队列中的音频信号的清流通过解码模块进行解码,得到音频信号,以及执行步骤S1006,将视频数据包队列中的视频信号的清流通过解码模块进行解码,得到视频信号。
先将第一帧音频帧塞入音频渲染模块,然后加锁等待第一帧视频帧渲染完成。
步骤S1007,渲染视频信号中的第一帧视频帧。若第一帧视频帧渲染完成,则通知audio渲染线程解锁。
步骤S1008,基于当前音频时钟和当前视频时钟之间的差值对音频信号进行重采样,判断音频时钟和视频时钟是否同步。若是,则执行步骤S1009,通过显示器进行显示。若否,则返回步骤S1008重复执行,直至音频时钟和视频时钟同步。
参考图11,示出了的改变视频时钟的起播模式进行播放控制的流程图,具体包括以下步骤:
S1101,对多媒体数据进行解封装,得到音频信号的清流和视频信号的清流。
S1102,将音频数据包队列中的音频信号的清流通过解码模块进行解码,得到音频信号。
S1103,将视频数据包队列中的视频信号的清流通过解码模块进行解码,得到视频信号。
先将第一帧音频帧塞入音频渲染模块,然后加锁等待第一帧视频帧渲染完成。
执行步骤S1104,渲染视频信号中的第一帧视频帧。若第一帧视频帧渲染完成,则通知audio渲染线程解锁,继续执行步骤S1105,计算当前音频时钟和当前视频时钟之间的时钟差T是否大于0。若是,则执行步骤S1106,将视频信号中的第一帧视频帧延迟时钟差T输出给显示器,然后执行步骤S1108,在显示器中进行显示。若否,则执行步骤S1107,将视频信号中时间戳早于第一帧音频帧的时间戳的视频帧过滤掉,将视频信号中剩余的视频帧依序输出给显示器,步骤S1108,在显示器中进行显示。
本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行上述设备响应的方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种显示设备,其特征在于,包括:显示器、控制器和音频输出接口,其中:
所述显示器,用于显示图像;
所述音频输出接口,用于输出音频信号;
所述控制器分别连接所述显示器和所述音频输出接口,被配置为执行:
对多媒体数据进行解码操作,得到音频信号和视频信号;
在渲染所述音频信号之前,等待所述视频信号中的第一帧视频帧渲染完成;
若所述第一帧视频帧渲染完成,则控制所述显示器从所述视频信号的所述第一帧视频帧开始显示,并控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步;
或者,
若所述第一帧视频帧渲染完成,则控制所述音频输出接口从所述音频信号的所述第一帧音频帧开始播放,并控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步。
2.根据权利要求1所述的显示设备,其特征在于,执行所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,所述控制器被配置为执行:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述音频信号中时间戳早于所述第一帧视频帧的时间戳的音频帧过滤掉,将剩余的音频帧中的首帧音频帧作为所述第一帧视频帧的相匹配音频内容输出给所述音频输出接口;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述音频信号中的第一帧音频帧延迟第一指定时长输出给所述音频输出接口,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
3.根据权利要求1所述的显示设备,其特征在于,执行所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,所述控制器被配置为执行:
基于初始采样率对所述音频信号进行重采样,并比较每个音频帧采样点对应的音频时钟和当前渲染的视频帧的视频时钟,得到动态时钟差;
若所述动态时钟差大于预设值,则基于动态时钟差更新对所述音频信号的采样率,并基于更新后的采样率返回执行所述对所述音频信号进行重采样的步骤,直至所述动态时钟差小于或等于所述预设值。
4.根据权利要求3所述的显示设备,其特征在于,执行所述基于动态时钟差更新对所述音频信号的采样率,所述控制器被配置为执行:
若所述动态时钟差指示所述音频帧采样点对应的音频时钟小于所述当前渲染的视频帧的视频时钟,则降低所述采样率;
若所述动态时钟差指示所述音频帧采样点对应的音频时钟大于所述当前渲染的视频帧的视频时钟,则增大所述采样率。
5.根据权利要求4所述的显示设备,其特征在于,执行所述降低所述采样率,所述控制器被配置为执行:
基于降低后的采样率分别与所述初始采样率、每帧音频帧的播放时长以及预设帧数具有正相关关系、以及所述降低后的采样率与所述时钟差具有负相关关系,确定所述降低后的采样率;
执行所述增大所述采样率,所述控制器被配置为执行:
基于增大后的采样率分别与所述初始采样率、所述时钟差具有正相关关系、以及所述增大后的采样率分别与每帧音频帧的播放时长和预设帧数具有负相关关系,确定所述增大后的采样率。
6.根据权利要求2所述的显示设备,其特征在于,所述控制器还被配置为执行:
渲染所述音频信号之前,对所述音频信号进行静音处理,直至向所述音频输出接口输出音频信号。
7.根据权利要求1所述的显示设备,其特征在于,执行所述控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步,所述控制器被配置为执行:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述视频信号中时间戳早于所述第一帧音频帧的时间戳的视频帧过滤掉,将剩余的视频帧中的首帧视频帧作为所述第一帧音频帧的相匹配视频内容输出给所述显示器;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述视频信号中的第一帧视频帧延迟第一指定时长输出给所述显示器,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
8.根据权利要求2-7中任一所述的显示设备,其特征在于,执行所述对多媒体数据进行解码操作,得到音频信号和视频信号之前,所述控制器还被配置为执行:
对所述多媒体数据进行解封装,得到所述音频信号的清流和所述视频信号的清流;获取所述视频信号的清流中的首帧视频帧的时间戳;
将所述音频信号的清流中的时间戳早于所述首帧视频帧的时间戳的音频帧过滤掉。
9.一种显示控制方法,其特征在于,所述方法包括:
对多媒体数据进行解码操作,得到音频信号和视频信号;
在渲染所述音频信号之前,等待所述视频信号中的第一帧视频帧渲染完成;
若所述第一帧视频帧渲染完成,则控制所述显示器从所述视频信号的所述第一帧视频帧开始显示,并控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步;
或者,
若所述第一帧视频帧渲染完成,则控制所述音频输出接口从所述音频信号的所述第一帧音频帧开始播放,并控制输出给所述显示器的视频帧与输出给所述音频输出接口的音频帧同步。
10.根据权利要求9所述的方法,其特征在于,所述控制输出给所述音频输出接口的音频帧与输出给所述显示器的视频帧同步,包括:
比较当前音频时钟和当前视频时钟,得到比较结果;
若所述比较结果为所述当前音频时钟小于所述当前视频时钟,则将所述音频信号中时间戳早于所述第一帧视频帧的时间戳的音频帧过滤掉,将剩余的音频帧中的首帧音频帧作为所述第一帧视频帧的相匹配音频内容输出给所述音频输出接口;
若所述比较结果为所述当前音频时钟大于所述当前视频时钟,则将所述音频信号中的第一帧音频帧延迟第一指定时长输出给所述音频输出接口,所述第一指定时长为所述当前音频时钟和所述当前视频时钟之间的时钟差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294229.0A CN115119029B (zh) | 2021-03-19 | 2021-03-19 | 一种显示设备及显示控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110294229.0A CN115119029B (zh) | 2021-03-19 | 2021-03-19 | 一种显示设备及显示控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115119029A true CN115119029A (zh) | 2022-09-27 |
CN115119029B CN115119029B (zh) | 2024-04-02 |
Family
ID=83322839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110294229.0A Active CN115119029B (zh) | 2021-03-19 | 2021-03-19 | 一种显示设备及显示控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115119029B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101036389A (zh) * | 2004-09-02 | 2007-09-12 | 索尼株式会社 | 内容接收器、视频-音频输出定时控制方法和内容提供*** |
EP3136734A1 (en) * | 2015-08-24 | 2017-03-01 | Thomson Licensing | Method for synchronized rendering of audio/video content on a plurality audio/video rendering devices and corresponding apparatus |
CN107277614A (zh) * | 2017-06-27 | 2017-10-20 | 深圳市爱培科技术股份有限公司 | 行车记录仪的音视频远程播放方法、存储设备及移动终端 |
CN108337545A (zh) * | 2017-01-20 | 2018-07-27 | 韩华泰科株式会社 | 用于同步再现视频和音频的媒体重放设备和媒体服务设备 |
CN109963184A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 一种音视频网络播放的方法、装置以及电子设备 |
CN111601136A (zh) * | 2020-05-11 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种视频数据处理方法、装置、计算机设备及存储介质 |
CN111757158A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 音视频同步播放方法、装置、设备和存储介质 |
-
2021
- 2021-03-19 CN CN202110294229.0A patent/CN115119029B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101036389A (zh) * | 2004-09-02 | 2007-09-12 | 索尼株式会社 | 内容接收器、视频-音频输出定时控制方法和内容提供*** |
EP3136734A1 (en) * | 2015-08-24 | 2017-03-01 | Thomson Licensing | Method for synchronized rendering of audio/video content on a plurality audio/video rendering devices and corresponding apparatus |
CN108337545A (zh) * | 2017-01-20 | 2018-07-27 | 韩华泰科株式会社 | 用于同步再现视频和音频的媒体重放设备和媒体服务设备 |
CN107277614A (zh) * | 2017-06-27 | 2017-10-20 | 深圳市爱培科技术股份有限公司 | 行车记录仪的音视频远程播放方法、存储设备及移动终端 |
CN109963184A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 一种音视频网络播放的方法、装置以及电子设备 |
CN111601136A (zh) * | 2020-05-11 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种视频数据处理方法、装置、计算机设备及存储介质 |
CN111757158A (zh) * | 2020-06-29 | 2020-10-09 | 北京百度网讯科技有限公司 | 音视频同步播放方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115119029B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153447B (zh) | 一种显示设备及音画同步控制方法 | |
CN112153446B (zh) | 一种显示设备及流媒体视频音画同步方法 | |
CN112019782B (zh) | 增强型音频回传通道的控制方法及显示设备 | |
CN112118400B (zh) | 显示设备上图像的显示方法及显示设备 | |
CN112165640B (zh) | 一种显示设备 | |
CN112243141B (zh) | 投屏功能的显示方法及显示设备 | |
CN112188279A (zh) | 一种频道切换方法和显示设备 | |
CN111836104B (zh) | 显示设备及显示方法 | |
CN111954059A (zh) | 屏保的展示方法及显示设备 | |
CN112203154A (zh) | 一种显示设备 | |
CN114095769B (zh) | 一种应用级播放器的直播低延迟处理方法及显示设备 | |
CN112306604B (zh) | 一种传输文件的进度显示方法及显示设备 | |
CN112399217B (zh) | 显示设备及与功放设备建立通信连接的方法 | |
CN111954043B (zh) | 一种信息栏显示方法及显示设备 | |
CN112214190A (zh) | 显示设备资源播放方法及显示设备 | |
CN111984167A (zh) | 一种快捷命名的方法及显示设备 | |
CN112118476B (zh) | 一种快速显示节目预约图标的方法及显示设备 | |
CN115185392A (zh) | 显示设备、图像处理方法及装置 | |
CN114302197A (zh) | 一种语音分离控制方法及显示设备 | |
CN112261463A (zh) | 显示设备及节目推荐方法 | |
CN115119029B (zh) | 一种显示设备及显示控制方法 | |
CN113438553B (zh) | 一种显示设备被唤醒方法及显示设备 | |
CN113194355B (zh) | 一种视频播放方法及显示设备 | |
CN113436564B (zh) | 一种epos的展示方法及显示设备 | |
CN112153443B (zh) | Pts获取方法和显示设备 |
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 |