CN115529489A - 显示设备、视频处理方法 - Google Patents
显示设备、视频处理方法 Download PDFInfo
- Publication number
- CN115529489A CN115529489A CN202110704842.5A CN202110704842A CN115529489A CN 115529489 A CN115529489 A CN 115529489A CN 202110704842 A CN202110704842 A CN 202110704842A CN 115529489 A CN115529489 A CN 115529489A
- Authority
- CN
- China
- Prior art keywords
- video
- data
- audio
- target
- frame
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000009432 framing Methods 0.000 claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 abstract description 37
- 230000004044 response Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000009877 rendering Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4344—Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供实施例,属于显示技术,提供一种显示设备、视频处理方法,显示设备包括播放器和显示屏;播放器被配置为:获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;对目标多媒体数据进行解码处理;将解码处理后的目标多媒体数据传输给显示屏进行显示。本申请通过对解复用解析出的多媒体数据进行组帧处理,将组帧后的目标多媒体数据进行后续的解码等处理,能够降低播放器的系统消耗,进而提高播放器的播放流畅度和按键响应性能。
Description
技术领域
本申请涉及多媒体处理技术。更具体地讲,涉及一种显示设备、视频处理方法。
背景技术
目前应用的播放器包含文件下载模块、音视频解封装模块、解码模块、同步模块、音视频渲染输出模块。其中,音视频解封装模块包括:解复用单元和音频选择器。解复用模块用于对文件下载模块下载的多媒体文件进行解复用,得到视频数据以及音频数据,然后音频选择器,解码模块、同步模块、音视频渲染输出模块,对视频数据以及音频数据进行相应的处理后,则可以进行多媒体播放。
对于上述播放器,解复用单元每解复用出一帧视频数据或者多个音频数据,音频选择器、解码模块、同步模块和音视频渲染输出模块就要相应的执行一次功能处理。因此,对于相同时长、格式的多媒体文件,解复用单元解析出的视频帧的数目越多,音频选择器、解码模块、同步模块和音视频渲染输出模块的工作频率就会越高,从而会导致播放器的系统消耗越大,进一步会导致播放器播放卡顿,按键响应慢等性能问题。
发明内容
本申请示例性的实施方式提供一种显示设备、视频处理方法,可有效地降低播放器的系统消耗,进而提高播放器的播放性能。
第一方面,本申请实施例一种显示设备,包括:播放器和显示屏;
播放器被配置为:
获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;
根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;
对目标多媒体数据进行解码处理;
将解码处理后的目标多媒体数据传输给显示屏进行显示。
在一些可能的实现方式中,多媒体数据包括至少一路视频数据,视频数据包含多个视频帧,轨道信息包括视频轨道信息;
播放器在根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
根据视频轨道信息,确定视频数据是否为多路视频数据;
若视频数据为多路视频数据,则创建多路视频数据中每一路视频数据对应的缓冲队列;将各路视频数据对应存储在缓冲队列中;
在多个缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,播放器在在多个缓冲队列中,获取相同时间戳的视频帧进行组帧,得到目标视频帧时,具体用于:
获取各个缓冲队列的队头位置的视频帧,作为队头视频帧;
获取各个队头视频帧的第一时间戳;
确定各个第一时间戳是否相同,若相同,将队头视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,播放器用于:
若视频数据不为多路视频数据,则根据视频轨道信息,确定视频帧的第一时长;
在第一时长小于第一预设时长阈值时,根据第一时长与第一预设时长阈值确定每个目标视频帧包含第一个数的视频帧;
确定各个视频帧的第一时间戳;
按照第一时间戳对应的顺序,依次选取第一个数的视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,至少一路视频数据包括:一路基本层视频数据和一路加强层视频数据,则播放器在将各路视频数据对应存储在缓冲队列中之前,具体用于:
在加强层视频帧中添加目标标识;
则播放器在对目标多媒体数据进行解码处理时,具体用于:
在目标视频帧中,根据目标标识识别加强层视频帧和基本层视频帧;
先对基本层视频帧进行解码处理,再对加强层视频帧进行解码处理;其中,基本层视频数据包括:多个基本层视频帧;加强层视频数据包括:多个加强层视频帧。
在一些可能的实现方式中,视频轨道信息包括:视频元数据;播放器在根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
将视频元数据和每个视频帧进行组帧,得到多个目标视频帧。
在一些可能的实现方式中,播放器在根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
对视频数据的视频帧进行组帧,得到中间视频帧;
将视频元数据与各个中间视频帧进行组帧,得到多个目标视频帧。
在一些可能的实现方式中,多媒体数据包括:至少一路音频数据,轨道信息包括:音频轨道信息,音频数据包括多个音频帧;
播放器在根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
根据音频轨道信息,确定音频帧的第二时长;
若第二时长小于第二预设时长阈值,针对每一路音频数据,对音频帧进行组帧,得到多个目标音频帧。
在一些可能的实现方式中,播放器在针对每一路音频数据,对音频帧进行组帧,得到多个目标音频帧时,具体用于:
根据第二时长与第二预设时长阈值,确定每个目标音频帧包含第二个数的音频帧;
确定音频帧的第二时间戳;
按照第二时间戳对应的顺序,依次选取第二个数的音频帧进行组帧,得到目标音频帧。
第二方面,本申请实施例提供一种视频处理方法,应用于显示设备,该视频处理方法包括:
获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;
根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;
对目标多媒体数据进行解码处理;
将解码处理后的目标多媒体数据传输给显示屏进行显示。
第三方面,本申请实施例提供一种视频处理装置,应用于显示设备,该视频处理装置包括:
解复用模块,用于获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;
组帧模块,用于根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;解码模块,用于对目标多媒体数据进行解码处理;
传输模块,用于将解码处理后的目标多媒体数据传输给显示屏进行显示。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如本申请第二方面的任一视频处理方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本申请第二方面的任一触视频处理方法。
本申请提供的显示设备、视频处理方法及装置,显示设备包括播放器和显示屏;显示设备包括播放器和显示屏;播放器被配置为:获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;对目标多媒体数据进行解码处理;将解码处理后的目标多媒体数据传输给显示屏进行显示。本申请通过对解复用解析出的多媒体数据进行组帧处理,将组帧后的目标多媒体数据进行后续的解码等处理,能够降低播放器的系统消耗,进而提高播放器的播放流畅度和按键响应性能。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1中示例性示出了根据实施例中显示设备与用户之间操作场景的示意图;
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图;
图3为本申请一实施例提供的播放器的结构框图;
图4为本申请一实施例提供的视频处理方法的流程图;
图5为本申请另一实施例提供的播放器的结构框图;
图6为本申请另一实施例提供的视频处理方法的流程图;
图7为本申请又一实施例提供的播放器的结构框图;
图8为本申请又一实施例提供的视频处理方法的流程图;
图9为本申请一实施例提供的视频数据组成的示意图;
图10为本申请再一实施例提供的视频处理方法的流程图;
图11为本申请一实施例提供的视频处理装置的结构示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1中示例性示出了根据实施例中显示设备与用户之间操作场景的示意图。如图1中示出,用户可通过触摸笔100在显示设备200的电容触摸屏上进行书写操作,显示设备200的处理器根据电容触摸屏上的触摸操作,确定触摸点。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
本申请实施例不对具体显示设备200的类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制设备或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口HDMI接口、模拟或数据高清分量输入接口、复合视频输入接口、USB输入接口、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器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(Central ProcessingUnit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
参照图3示出一种播放器的结构示意图,包括下载模块11,解封装模块12,音频解码模块13,视频解码模块14,音视频同步模块15,音频输出模块16,视频输出模块17。其中,解封装模块12包括:解复用单元121,至少一个音频基本流队列122、视频基本流队列123、音频选择单元124。
具体的,下载模块11用于从服务器上下载多媒体文件。解复用单元121,用于对多媒体文件进行解复用处理,解复用出视频数据和/或音频数据。音频基本流队列122用于存储解复用出的多路音频数据,其中,一路音频数据对应存储在一个音频基本流队列122中。视频基本流队列123用于存储解复用出的视频数据。音频选择单元124用于对多路音频数据进行选择。音频解码模块13用于对选择后的音频数据进行解码。视频解码模块14用于对视频基本流队列123中的视频数据进行解码。音视频同步模块15用于将解码后的视频数据和音频数据进行同步。音频输出模块16用于对音频数据进行渲染输出。视频输出模块17用于对视频数据进行渲染输出。最后传输给显示屏,通过显示屏显示。
进一步地,播放器需要播放多种类型的多媒体文件,例如:MVC(多视点视频)、Dolby Vision(杜比视界)、HLG(Hybrid Log Gamma,混合测井伽马)等。而不同类型的多媒体文件采用不同的视频编码格式以及音频编码格式;其中,视频编码格式包括:H.264,H.265,AV1,VP8,VP9等,音频编码格式包括:aac、ac3、vorbis。此外,不同类型的多媒体文件中封装的的视频数据的路数可以是一路或者多路,音频数据也可以是一路或者多路。且视频数据中视频帧的时长也可以相同或者不同。
具体的,多媒体数据包括多种形式,第一种为:多路视频数据和一路音频数据;第二种为:多路视频数据和多路音频数据;第三种为:一路视频数据和一路音频数据;第四种为一路视频数据和多路音频数据;第五种为:只有一路或多路视频数据;第六种为:只有一路或多路音频数据。
对于上述多媒体数据如果采用图3的播放器,会存在以下问题:
1、当有多路视频数据时,例如有两路视频数据,视频数据包括多个视频帧,解复用单元121会先接复用出第一路视频数据的一个或多个视频帧,存储在视频基本流队列123,然后解复用出第二路视频数据的一个或多个视频帧,存储在视频基本流队列123,由于解复用单元解121复用两路视频数据时,并没有按照时间戳顺序解复用,例如,视频基本流队列123中存储顺序可能为,0.1秒-0.8秒的第一路视频数据的视频帧,然后存储0.1秒-0.4秒的第二路视频数据的视频帧,然后存储0.9秒-1.5秒的第一路视频数据的视频帧,再存储0.5秒-0.8秒的第二路视频数据的视频帧;则在后续视频解码模块14解码时,就会按照视频基本流队列123的存储顺序进行解码,进而会导致两路视频数据相同时间戳的视频帧无法同时播放,最终导致显示屏会出现花屏、半屏或马赛克等异常显示问题,并且视频基本流队列12中的每一个视频帧都需要视频解码模块14、音视频同步模块15以及视频输出模块17执行一次相应的功能,进而会导致播放器系统消耗大,播放出现卡顿以及按键响应慢的问题。
2、当有一路视频数据时,且该视频数据中的视频帧的时长较小时,例如,当视频帧的时长为0.02秒时,则视频解码模块14就需要1秒中解码50次,并且音视频同步模块15以及视频输出模块17也要1秒中执行50次相应的功能,进而会导致播放器系统消耗大,播放出现卡顿以及按键响应慢的问题。
3、当有一路或者多路音频数据时,通过音频选择单元124后均为一路音频数据,但是当音频数据中一个音频帧的时长较小时,例如,当音频帧的时长为0.02秒时,则音频解码模块13就需要1秒中解码50次,并且音视频同步模块15以及音频输出模块16也要1秒中执行50次相应的功能,进而会导致播放器系统消耗大,播放出现卡顿以及按键响应慢的问题。
4、对于MVC和Dolby Vision类型的多媒体文件,包括:两路视频数据,一路为基本层视频数据,另一路是加强层视频数据。为了使MVC和Dolby Vision类型的多媒体文件能够在显示屏上显示出正常的效果,需要视频解码单元14先解析出一个基本层视频帧,再解析出一个加强层视频帧,然后将一个基本层视频帧置于前,一个加强层视频帧置于后,组合后发送给音视频同步模块15,最后进行播放。但是采用图3的播放器,视频解码模块14是无法稳定交替的解析出基本层视频帧和加强层视频帧的,当出现先解析出一个加强层视频帧,后解析出一个基本层视频帧、或者连续解析出两个相同加强层视频帧或者基本层视频帧,就会出现组帧失败,进而导致播放出现问题。
5、通常视频元数据是放置在视频数据的第一帧的。视频元数据是用来,当视频解码模块14解析出视频元数据时,根据视频元数据配置视频解码模块14,进行后续的视频帧的解码。但是,当出现续播的情况,即用户关闭上次视频播放,当前播放需要在上次关闭视频播放的时间开始播放,则视频解码模块14就会跳过第一帧视频帧,直接从续播时间视频帧开始解码,视频解码模块14无法获得视频元数据,就不会对视频解码模块14进行配置,进而在续播的情况下会导致无法达到理想的显示效果的问题。
基于上述问题,本申请提供一种显示设备、视频处理方法及装置,根据在对多媒体文件解复用后,进行组帧处理,降低播放器的系统消耗,提高显示设备的播放性能。
下面采用详细的实施例,来说明本申请如何进行。
图4为本申请一实施例提供的多媒体文件处理方法的流程图,应用于显示设备200,显示设备200包括:播放器和显示屏。如图4所示,显示设备200中播放器被配置为执行以下步骤:
在S101中,获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据。
其中,多媒体文件为音视频文件、或视频文件或者音频文件。此外,多媒体数据包含音频数据和/或视频数据。
参照图5,为本申请提供的一种播放器的结构框图,其中,下载模块11下载到多媒体文件。解复用单元121为多媒体文件进行解复用得到轨道信息和多媒体数据。
具体的,轨道信息通常是存储在多媒体数据的第一个视频帧中。轨道信息包括:轨道编码格式、封装的帧序列号、编码元数据、轨道标识信息等。其中,轨道编码格式包括:视频编码格式和音频编码格式。视频编码格式包括:H.264,H.265,AV1,VP8,VP9等,音频编码格式包括aac、ac3、vorbis等。封装的帧序列号标识多媒体文件中封装的轨道数,一个轨道具有一个帧序列号,一个轨道对应一路视频数据或一路音频数据。编码元数据包括:视频元数据和音频元数据。视频元数据用于配置视频解码模块14,音频元数据用于配置音频解码模块13。并且,视频元数据和音频元数据均为一些参数,示例性的,视频编码格式H.264,H.265的编码元数据为序列参数集信息和图像参数集信息。轨道标识信息是用来确定多媒体文件包括视频数据的路数和音频数据的路数,其中轨道标识信息是封装在多媒体文件中的。例如MP4文件中的track box表示轨道标识信息,ts文件中的pmt表示轨道标识信息。
进一步地,在多媒体文件经过解复用后,会得到一路或多路视频数据,以及一路或多路音频数据。这里多路为大于或等于2路。
在本申请实施例中,可以对任意类型的多媒体文件进行解复用,得到对应的轨道信息和多媒体数据。
在S102中,根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据。
其中,从轨道信息中可以确定多媒体数据的一些信息,例如,多媒体数据包括:几路视频数据以及几路音频数据;视频数据中的视频帧的时长,以及音频数据中音频帧的时长;视频元数据,音频元数据等等。
此外,对多媒体数据进行组帧处理具体为,针对轨道信息的不同进行不同的组帧处理。
示例性地,当多媒体数据包括:多路视频数据,则在解复用单元121后创建缓冲队列126,将解复用单元121解复用出来的多路视频数据,对应的存储在缓冲队列126中,在每个缓冲队列126获取相同时间戳的视频帧,则可以将相同时间戳的视频帧进行组帧,最后同时播放,进而避免出现乱序,显示屏显示花屏、半屏或者马赛克的情况。
当多媒体数据包括:一路视频数据,则判断该路视频数据中的视频帧的时长,若该路视频数据中视频帧的时长小于第一预设阈值,则进行组帧,这样能够降低视频解码模块14、音视频同步模块15以及视频输出模块17单位时间内处理视频帧的频率,进而降低播放器的系统消耗。
当多媒体数据包括:一路或者多路音频数据,则判断各路音频数据中的音频帧的长度,若音频帧的时长小于第二预设阈值,则进行组帧,这样能够降音频解码模块13、音视频同步模块15以及音频输出模块16单位时间内处理视频帧的频率,进而降低播放器的系统消耗。
在本申请实施例中,将组帧后的视频帧和/或音频帧作为目标多媒体数据,进行后续的解码、同步以及输出处理。
在一些实施例中,在续播过程中,视频解码模块14收到的第一个视频帧是跳转后的视频帧,并非多媒体文件中的第一个视频帧。在解复用单元121在做跳转时,是获取跳转位置处的关键帧数据,这就导致关键帧之前存储的视频元数据无法解复用出,传输给视频解码模块14;例如,MP4文件中关键帧位置前的SEI信息(视频元数据),进而导致视频解码模块14无法根据视频元数据进行配置,进而使解码出的视频出现失真的情况。
在一些实施例中,基于上述,视频轨道信息包括:视频元数据;播放器在执行S102时,包括:将视频元数据和每个视频帧进行组帧,得到多个目标视频帧。
具体的,在多媒体文件中,视频元数据是存储在第一帧视频帧中,当视频解码模块14解码出视频元数据时,可以根据视频元数据对视频解码模块14进行配置,进而可以按照配置好的视频解码模块14对后续的视频帧进行解码。
其中,在多媒体数据包括单路视频数据时;当用户上次关闭播放器,当前需要启动播放器从上次关闭的时间,开始播放多媒体内容,则由于处于中间位置的视频帧中并不包含视频元数据,则视频解码模块14无法根据视频元数据进行配置,进而会导致后续解码出的视频帧出现不符合多媒体文件格式的视频;而本申请中将视频元数据和各个视频帧进行组帧,则在任意时间的续播,视频解码模块14均可以获取到视频元数据进行配置,进而使解码出的视频不会出现失真的情况。
进一步地,还可以是在接收续播请求时,获取续播请求对应的第一个视频帧,将视频元数据和该第一个视频帧进行组帧,第一个视频帧后续的视频帧并不需要进行组帧处理,这样也可以达到续播不会出现失真的情况。
示例性地,多媒体文件为HLG文件,HLG文件中的视频元数据是SEI。若在解复用时,可以提取视频元数据,将该视频元数据与各个视频帧,或者与续播请求对应的第一个视频帧进行组帧。其中,视频元数据需要转换成与视频帧一致的格式,例如,H265文件的视频帧的格式为HVCC或annexb byte stream,则视频元数据在组帧时,也要将视频元数据转换成HVCC或annexb byte stream的格式。
在一些实施例中,播放器在执行S102时,包括:对视频数据的视频帧进行组帧,得到中间视频帧;将视频元数据与各个中间视频帧进行组帧,得到多个目标视频帧。
具体的,对视频数据的视频帧进行组帧,得到中间视频帧具体可以为以下步骤S202-S209的内容,中间视频帧即为多路视频数据或者单路视频数据进行组帧处理后的视频帧。示例性地,当多媒体数据包括:多路视频数据,则在解复用单元121后创建缓冲队列126,将解复用单元121解复用出来的多路视频数据,对应的存储在缓冲队列126中,在每个缓冲队列126获取相同时间戳的视频帧,则可以将相同时间戳的视频帧进行组帧,得到中间视频帧。当多媒体数据包括:一路视频数据,则判断该路视频数据中的视频帧的时长,若该路视频数据中视频帧的时长小于第一预设阈值,则进行组帧,得到中间视频帧。
进一步地,将视频元数据与各个中间视频帧进行组帧,得到多个目标视频帧,具体为:在每一个中间视频帧中插入视频元数据,得到目标视频帧;这样可以在出现续播的情况下,视频解码模块14能够解码出视频元数据,进行视频解码模块的配置进行后续目标视频帧的解码。此外,还可以是在接收到续播请求时,将视频元数据与续播请求对应的中间视频帧进行组帧。
此外,在多媒体文件中并不包括视频元数据时,则不需要对视频帧或者中间视频帧与视频元数据进行组帧的处理。则中间视频帧就是发送给视频解码模块进行解码的目标视频帧。
在本申请实施例中,通过先对视频帧进行组帧得到中间视频帧,在将中间视频帧和视频元数据进行组帧得到目标视频帧,能够使多路视频数据或者单路视频数据在播放的时候不会出现花屏、半屏、马赛克以及卡顿的现象,更进一步地,在续播时,不会出现视频失真的情况。
在S103中,对目标多媒体数据进行解码处理。
具体的,对多媒体数据进行解码处理,包括:对多媒体数据进行音频解码处理和/或对多媒体数据进行视频解码处理。其中,采用音频解码模块13对多媒体数据中的音频数据进行音频解码处理,采用视频解码模块14对多媒体数据中的视频数据进行视频解码处理。
进一步的,在多媒体文件中包括多路音频数据时,音频选择单元124用于对多路音频数据进行选择丢帧处理,得到一路音频数据,然后音频解码模块13对该一路音频数据进行解码处理。
在S104中,将解码处理后的目标多媒体数据传输给显示屏进行显示。
具体的,当目标多媒体数据包括:目标音频数据和目标视频数据时;解码处理后的目标多媒体数据先传输给音视频同步模块,进行同步处理,然后将目标音频数据传输给音频输出模块进行音频的渲染输出,将目标视频数据传输给视频输出模块,进行视频的渲染输出,最后传输给显示屏进行显示。
本申请提供的视频处理方法,包括:获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;对目标多媒体数据进行解码处理;将解码处理后的目标多媒体数据传输给显示屏进行显示。本申请通过对解复用解析出的多媒体数据进行组帧处理,将组帧后的目标多媒体数据进行后续的解码等处理,能够降低播放器的系统消耗,进而提高播放器的播放流畅度和按键响应性能。
下面结合具体步骤,对本申请实施例提供的视频处理方法进行详细说明。图6为本申请另一实施例提供的视频处理方法的流程图。如图6所示,显示设备200中播放器被配置为执行以下步骤:
在S201中,获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据。
该步骤的具体实现过程可以参见S101的相关描述此处不再赘述。需要补充说明的是,该实施例中,多媒体数据包括:至少一路视频数据,此外还可以包括音频数据的情况。
在S202中,根据视频轨道信息,确定视频数据是否为多路视频数据。
具体的,多媒体数据包括至少一路视频数据,视频数据包含多个视频帧,轨道信息包括视频轨道信息;视频轨道信息包括轨道标识信息。
此外,多路视频数据为大于或等于2路视频数据。具体是根据视频轨道信息中的轨道标识信息,确定视频数据的路数不同。例如针对杜比视界多媒体文件,可以基于视频轨道信息中的轨道标识信息确定,包含2路视频数据。因此能够根据视频轨道信息确定视频数据是否为多路视频数据。
其中,若视频数据为多路视频数据,执行S203-S205;若视频数据不是多路视频数据,执行S206-S209。
在本申请实施例中,根据视频数据的路数不同,进行不同的组帧处理,能够对不同类型的多媒体数据均进行组帧处理。
在S203中,创建多路视频数据中每一路视频数据对应的缓冲队列。
参见图7,解复用单元121解复用出多路视频数据时,创建多个缓冲队列;其中一路视频数据对应一个缓冲队列。
具体的,可以根据视频轨道信息确定多媒体文件具体包括记录视频数据,进而确定要创建的缓冲队列的个数。
其中,视频轨道信息包括:轨道标识信息、视频轨道序列号和视频元数据;其中,每一路的视频数据对应一个视频序列号,根据视频序列号的个数能够确定视频数据的路数。
在S204中,将各路视频数据对应存储在缓冲队列中。
在本申请实施例中,一路视频数据对应一个缓冲队列,将一路视频数据对应存储在一个缓冲队列中。
其中,每一路视频数据具有视频轨道序列号,根据视频轨道序列号对各个缓冲队列进行标识,并建立视频轨道序列号与缓冲队列标识的对应关系;示例性的,多媒体数据包括2路视频数据,一路视频数据的视频轨道序列号为000001,另一路视频数据的视频轨道序列号为000002。缓冲队列的标识可以为缓冲队列1和缓冲队列2,则将视频轨道序列号000001和缓冲队列1进行对应,将视频轨道序列号为000002和缓冲队列2进行对应,然后将解复用出的视频轨道序列号为000001的视频帧存储在缓冲队列1中,将解复用出的视频轨道序列号为000002的视频帧存储在缓冲队列2中。
此外,视频帧、音频帧或字幕均包含有索引号;索引号用于表征解复用出的数据为哪一轨道的视频帧、音频帧以及字幕。示例性的,在视频轨道序列号为000001的视频帧的索引号为001,视频轨道序列号为000002的视频帧的索引号为002。
在本申请实施例中,解复用单元对一路视频数据的视频帧解复用是按照时间戳顺序进行的,但是对多路视频数据的视频帧的解复用不一定是交替进行的。示例性地,多媒体数据有两路视频数据,一路视频数据对应的视频轨道序列号为000001,另一路视频数据对应的视频轨道序列号为000002,则解复用单元可能第一次解析出视频轨道序列号为000001,时间戳为0.1秒的视频帧A,通过获取视频帧A的索引号为001,将该视频帧A存储在缓冲队列1中。第二次解析出视频轨道序列号为000002,时间戳为0.1秒的视频帧B,通过获取视频帧B的索引号为002,将该视频帧B存储在缓冲队列2中。第三次解析出视频轨道序列号为000002,时间戳为0.2秒的视频帧C,通过获取视频帧C的索引号为002,将该视频帧C存储在缓冲队列2中。第四次解析出视频轨道序列号为000002,时间戳为0.3秒的视频帧D,通过获取视频帧D的索引号为002,将该视频帧D存储在缓冲队列2中。第五次解析出视频轨道序列号为000001,时间戳为0.2秒的视频帧E,通过获取视频帧E的索引号为001,将该视频帧E存储在缓冲队列1中。第六次解析出视频轨道序列号为000002,时间戳为0.4秒的视频帧F,通过获取视频帧F的索引号为002,将该视频帧F存储在缓冲队列2中。第七次解析出视频轨道序列号为000001,时间戳为0.3秒的视频帧G,通过获取视频帧G的索引号为001,将该视频帧G存储在缓冲队列1中。第八次解析出视频轨道序列号为000002,时间戳为0.4秒的视频帧H,通过获取视频帧H的索引号为002,将该视频帧H存储在缓冲队列1中。基于此,解复用单元121可以对多媒体文件的视频数据进行解复用,然后将解复用后的视频帧按照索引号存储在对应的缓冲队列中。
在本申请实施例中,通过创建缓冲队列,可以将解复用单元解复用出的乱序的视频帧,有序排列在各个缓冲队列中。具体的,通过尾插法将各个视频帧存储在缓冲队列中。
在S205中,在多个缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到目标视频帧。
具体的,每个视频帧都具有第一时间戳。其中,多路视频数据通常是指多个摄像机同时拍摄的视频数据,每一个摄像机拍摄的视频数据为一路视频数据。一路视频数据中每一个视频帧在另一路视频数据中都应该具有相同第一时间戳的视频帧。因此,在本申请中,将多个缓冲队列中相同第一时间戳的视频帧进行组帧,这样在后续视频解码模块解码时,可以一次对相同第一时间戳的视频帧进行解码,避免了显示出现花屏或者半屏的问题。
进一步地,S205包括:获取各个缓冲队列的队头位置的视频帧,作为队头视频帧;获取各个队头视频帧的第一时间戳;确定各个第一时间戳是否相同,若相同,将队头视频帧进行组帧,得到目标视频帧。
其中,在视频帧存储在缓冲队列时,是按照尾插法进行存储的,例如,先解复用出第一路视频数据的第一帧视频帧,则将第一帧视频帧存储在缓冲队列中,然后解复用出第一路视频数据的第二帧视频帧,则将第二帧视频帧存储在缓冲队列中,且在第一帧视频帧的后面的位置。具体的,缓冲队列的队头位置是指缓冲队列中的排序第一的位置,在后续对缓冲队列中的视频帧在解码时,先获取对头位置处的视频帧,将对头位置处的视频帧被读取后,后续的视频帧接续存储在缓冲队列的队头位置。
基于上述,在多个缓冲队列的队头位置处的视频帧的第一时间戳相同,则对队头位置的视频帧进行组帧。此外,如果缓冲队列的队头位置的视频帧的第一时间戳不同,则对第一时间戳时间较小的视频帧进行容错处理,然后继续将缓冲队列的队头位置处第一时间戳相同的视频帧进行组帧。其中,容错处理包括:丢帧或者将该帧传输给视频解码模块进行解码处理。
在本申请实施例中,通过创建缓冲队列,存储视频帧,然后在缓冲队列的队头获取相同第一时间戳的视频帧进行组帧,能够快速高效的将多路视频数据的相同第一时间戳的视频帧进行组帧,能够使视频解码模块对视频帧进行有序解码,进而提高显示屏显示画面的质量。
在S206中,根据视频轨道信息,确定视频帧的第一时长。
在本申请实施例中,根据视频轨道信息,能够确定视频数据不为多路视频数据,即为一路视频数据,并且为一路视频数据时,能够根据视频轨道信息确定每个视频帧的第一时长。
具体的,通常情况下,当为一路视频数据时,由于视频帧的时长是比较大的,不会加大播放器系统的消耗,因此不需要组帧处理。并且视频数据包括关键帧和其他视频帧时,由于关键帧和其他视频帧的第一时长都是不同的,因此不能随意进行组帧。但是当视频帧均为关键帧时,由于关键帧的第一时长比较小,会加大播放器的系统消耗,并且关键帧的第一时长都是相同的,因此需要并且可以进行组帧处理。
示例性地,当视频轨道信息中携带有EXT-X-I-FRAMES-ONLY的标签数据,则可确定该视频数据中的视频帧均为关键帧。
在本申请实施例中,视频轨道信息能够表征视频编码时,视频帧的相关参数,例如视频帧的第一时长、时间戳等信息。此外,各个视频帧的第一时长相同。
此外,在S206之前,还包括:确定视频数据是否包括组合视频帧,如果包括组合帧,则S206包括:确定组合视频帧的第一时长,在第一时长小于第一预设时长阈值时,执行步骤S207,再次进行组帧;在第一时长大于或等于第一预设时长阈值时,退出组帧,直接将组合视频帧传输给视频解码模块进行解码。
在S207中,在第一时长小于第一预设时长阈值时,根据第一时长与第一预设时长阈值确定每个目标视频帧包含第一个数的视频帧。
具体的,第一预设时长阈值是预先设定的。可以将第一预设时长阈值除以第一时长得到的整数作为第一个数。例如,当需要视频解码模块1秒中启动解码1次,则第一预设时长阈值为1秒。当需要视频解码模块1秒中启动解码2次,则第一预设时长阈值为0.5秒。则当第一预设时长阈值为1秒,视频帧的第一时长为0.1秒,则第一个数为10。
在S208中,确定各个视频帧的第一时间戳。
具体的,视频数据中每个视频帧都对应有第一时间戳,第一时间戳表征视频帧在显示屏上的显示顺序。例如,视频数据中的各个视频帧的第一时间戳为0.1秒、0.2秒、0.3秒等。
在S209中,按照第一时间戳对应的顺序,依次选取第一个数的视频帧进行组帧,得到目标视频帧。
具体的,按照第一时间戳对应的从小到大的顺序,选取第一个数的视频帧进行组帧。例如,选取第一时间戳为0.1秒-1秒的视频帧进行组帧,选取1.1秒-2秒的视频帧进行组帧,选取2.1秒-3秒的视频帧进行组帧,依此进行后续的组帧处理,组帧的10个视频帧作为一个目标视频帧,传输给视频解码模块进行解码,这样视频解码模块解码的次数为不进行组帧时的十分之一,对应的音视频同步模块、视频输出模块也均执行的次数为不进行组帧时的十分之一,大大降低了播放器的系统消耗。
在S210中,对目标多媒体数据进行解码处理。
该步骤的具体实现过程可以参见S103的相关描述,此处不再赘述。
在S211中,将解码处理后的目标多媒体数据传输给显示屏进行显示。
该步骤的具体实现过程可以参见S104的相关描述,此处不再赘述。
本申请实施例,在视频数据是多路视频数据是,可以对每一路视频数据中,相同第一时间戳的视频帧进行组帧,然后传输给视频解码模块进行解码,进而实现视频解码模块对视频帧的有序解码,从而提高视频显示的质量。而在视频数据是一路视频数据,当视频帧的第一时长小于第一预设阈值时,可以将多个视频帧进行组帧后再传输给视频解码模块进行解码,能够降低播放器的系统消耗,提高播放的流畅度。
图8为本申请又一实施例提供的视频处理方法的流程图。如图8所示,显示设备200中播放器被配置为执行以下步骤:
在S301中,获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据。
该步骤的具体实现过程可以参见S101的相关描述,此处不再赘述。需要补充说明的是,当多媒体文件为MVC或杜比视界时,该多媒体文件包括两路视频数据,其中一路视频数据为基本层视频数据,另一路视频数据为加强层视频数据,只有视频解码模块先解码出一个基本层视频帧,后解码出一个加强层视频帧的情况下,才能实现对MVC或杜比视界的多媒体文件的正常播放。
在S302中,根据视频轨道信息,确定视频数据是否为多路视频数据。
该步骤的具体实现过程可以参见S202的相关描述,此处不再赘述。需要补充说明的是,根据视频轨道信息确定该视频数据为两路视频数据,并且一路是基本层视频数据、另一路是加强层视频数据。
在S303中,创建多路视频数据中每一路视频数据对应的缓冲队列。
该步骤的具体实现过程可以参见S203的相关描述,此处不再赘述。需要补充说明的是,在此,是创建两个缓冲队列,一个缓冲队列对应基本层视频数据、另一个缓冲队列对应加强层视频数据。
在S304中,在加强层视频帧中添加目标标识。
具体的,目标标识用于表征加强层视频帧,每一个加强层视频帧中均包含有目标标识。
示例性地,参见图9,对于杜比视界加强层视频数据中添加目标标识的方法。加强层视频数据包括多个加强层视频帧,一个加强层视频帧是由一个加强层访问单元和一个视频元数据组成。一个加强层访问单元包括:多个NALU(Network abstract layer unit,网络抽象层单元)。一个NALU包括一个NAL(网络抽象层)起始码,NAL头和NAL有效载荷。视频元数据具体为NAL单元类型为39、SEI类型为147的字节流。
其中,在NAL起始码和NAL头之间添加目标标识。目标标识具体可以是标识字节,例如,在杜比视界中目标标识可以设置为TE01。
在S305中,将各路视频数据对应存储在缓冲队列中。
该步骤的具体实现过程可以参见S204的相关描述,此处不再赘述。需要补充说明的是,在此是将基本层视频数据存储在一路缓冲队列中,将添加目标标识的另一路视频数据存储在另一路缓冲队列中。
在S306中,在多个缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到目标视频帧。
该步骤的具体实现过程可以参见S205的相关描述此处不再赘述。需要补充说明的是,在此,是将一个基本层视频帧和一个添加目标标识的加强层视频帧进行组帧。
在S307中,在目标视频帧中,根据目标标识识别加强层视频帧和基本层视频帧。
具体的,组帧后的目标视频帧包括:一帧基本层视频帧和一个添加目标标识的加强层视频帧;则在视频解码模块进行解码时,先识别出目标视频帧中的加强层视频帧和基本层视频帧。
在S308中,先对基本层视频帧进行解码处理,再对加强层视频帧进行解码处理。
其中,基本层视频数据包括:多个基本层视频帧;加强层视频数据包括:多个加强层视频帧。
具体的,参照图9,一个目标视频帧中包括:一个基本层视频帧和一个加强层视频帧。视频解码模块先对基本层视频帧进行解码,再对加强层视频帧进行解码,这样能够保证最终显示屏显示的图像符合杜比视界的要求。
在S309中,将解码处理后的目标多媒体数据传输给显示屏进行显示。
该步骤的具体实现过程可以参见S104的相关描述,此处不再赘述。
在本申请实施例中,是针对MVC或杜比视界等包括一路基础层视频数据和一路加强层视频数据的多媒体文件的处理。通过在加强层视频帧中添加目标标识,使后续在解码时,能够识别出一个目标视频帧中的基本层视频帧和一个加强层视频帧,先对基本层视频帧进行解码,后对加强层视频帧进行解码,能够使显示屏正常播放MVC或杜比视界的多媒体文件。并且,对基础层视频帧和加强层视频帧进行组帧,能够进一步使对MVC或杜比视界等多媒体文件的有序解码,提高显示屏显示图像的质量。
图10为本申请又一实施例提供的视频处理方法的流程图。如图10所示,显示设备200中播放器被配置为执行以下步骤:
在S401中,获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据。
该步骤的具体实现过程可以参见S101的相关描述,此处不再赘述。需要补充说明的是。在本申请实施例中,多媒体数据包括:至少一路音频数据,轨道信息包括:音频轨道信息,音频数据包括多个音频帧。
在S402中,根据音频轨道信息,确定音频帧的第二时长。
具体的,音频轨道信息中,具有音频帧的第二时长。通过音频轨道信息能够确定音频帧的第二时长。通常一路视频数据中,音频帧的第二时长是相同的。
在S403中,若第二时长小于第二预设时长阈值,针对每一路音频数据,对音频帧进行组帧,得到多个目标音频帧。
具体的,多媒体文件经过解复用后,解复用出一路音频数据或者多路音频数据;而对于多路音频数据,则个路音频数据进行各自的组帧,组帧结束后依旧是多路组帧后的音频数据,然后通过音频选择模块进行选择,得到一路目标音频数据。
示例性地,多媒体数据包括:一路音频数据A和一路音频数据B;其中,音频数据A中的各个音频帧按照第二时间戳的顺序进行组帧,得到组帧后的音频数据A。音频数据B中的各个音频帧按照第二时间戳的顺序进行组帧,得到组帧后的音频数据B。将组帧后的音频数据A和组帧后的音频数据B传输给音频选择模块进行选择,最终,音频选择模块只选择出一路组帧后的音频数据A或组帧后的音频数据B。
进一步地,S403包括:根据第二时长与第二预设时长阈值,确定每个目标音频帧包含第二个数的音频帧;确定音频帧的第二时间戳;按照第二时间戳对应的顺序,依次选取第二个数的音频帧进行组帧,得到目标音频帧。
具体的,第二预设时长阈值是预先设定的。可以将第二预设时长阈值除以第二时长得到的整数作为第二个数。例如,当需要音频解码模块1秒中启动解码1次,则第二预设时长阈值为1秒。当需要音频解码模块1秒中启动解码2次,则第二预设时长阈值为0.5秒。则当第二预设时长阈值为0.5秒,音频帧的第二时长为0.1秒,则第一个数为5。
具体的,音频数据中每个音频帧都对应有第二时间戳,第二时间戳表征音频帧在显示屏上的播放顺序。例如,音频数据中的各个音频帧的第二时间戳为0.1秒、0.2秒、0.3秒等。
具体的,按照第二时间戳对应的从小到大的顺序,选取第二个数的音频帧进行组帧。例如,选取第一时间戳为0.1秒-0.5秒的音频帧进行组帧,选取0.6秒-1秒的音频帧进行组帧,选取1.1秒-1.5秒的音频帧进行组帧,依此进行后续的组帧处理,组帧的5个音频帧作为一个目标音频帧,传输给音频解码模块进行解码,这样音频解码模块解码的次数为不进行组帧时的五分之一,对应的音视频同步模块、音频输出模块也均执行的次数为不进行组帧时的五分之一,大大降低了播放器的系统消耗。
在S404中,对目标多媒体数据进行解码处理。
在本申请实施例中,具体是通过音频解码模块对目标音频数据进行解码。
在S405中,将解码处理后的目标多媒体数据传输给显示屏进行显示。
在本申请实施例中,具体在显示屏对视频数据进行显示的时候,通过扬声器对音频数据进行播放。
在本申请实施例中,通过对解复用后的音频数据进行组帧处理,能够使音频解码模块解码的次数以及音视频同步模块、音频输出模块也均执行的次数降低,大大降低了播放器的系统消耗。
本申请实施例中,音频数据的组帧过程和视频数据的组帧过程可同步进行,加快了播放器对多媒体数据的处理速度。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图11为本申请一实施例提供的视频处理装置的结构示意图。本申请实施例提供一种视频处理装置,应用于显示设备。如图11所示,该视频处理装置500包括:
解复用模块501,用于获取多媒体文件,并对多媒体文件进行解复用,得到多媒体文件的轨道信息,以及多媒体数据,多媒体数据包含音频数据和/或视频数据;
组帧模块502,用于根据轨道信息,对多媒体数据进行组帧处理,得到目标多媒体数据;解码模块503,用于对目标多媒体数据进行解码处理;
传输模块504,用于将解码处理后的目标多媒体数据传输给显示屏进行显示。
在一些可能的实现方式中,多媒体数据包括至少一路视频数据,视频数据包含多个视频帧,轨道信息包括视频轨道信息;
组帧模块502具体用于:根据视频轨道信息,确定视频数据是否为多路视频数据;若视频数据为多路视频数据,则创建多路视频数据中每一路视频数据对应的缓冲队列;将各路视频数据对应存储在缓冲队列中;在多个缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,组帧模块502用于在多个缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到目标视频帧时,具体用于获取各个缓冲队列的队头位置的视频帧,作为队头视频帧;获取各个队头视频帧的第一时间戳;确定各个第一时间戳是否相同,若相同,将队头视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,组帧模块502具体用于:若视频数据不为多路视频数据,则根据视频轨道信息,确定视频帧的第一时长;在第一时长小于第一预设时长阈值时,根据第一时长与第一预设时长阈值确定每个目标视频帧包含第一个数的视频帧;确定各个视频帧的第一时间戳;按照第一时间戳对应的顺序,依次选取第一个数的视频帧进行组帧,得到目标视频帧。
在一些可能的实现方式中,至少一路视频数据包括:一路基本层视频数据和一路加强层视频数据,将各路视频数据对应存储在缓冲队列中之前,具体用于:在加强层视频帧中添加目标标识;则解码模块503具体用于,在目标视频帧中,根据目标标识识别加强层视频帧和基本层视频帧;先对基本层视频帧进行解码处理,再对加强层视频帧进行解码处理;其中,基本层视频数据包括:多个基本层视频帧;加强层视频数据包括:多个加强层视频帧。
在一些可能的实现方式中,视频轨道信息包括:视频元数据;组帧模块具体用于:将视频元数据和每个视频帧进行组帧,得到多个目标视频帧。
在一些可能的实现方式中,组帧模块502具体用于:对视频数据的视频帧进行组帧,得到中间视频帧;将视频元数据与各个中间视频帧进行组帧,得到多个目标视频帧。
在一些可能的实现方式中,多媒体数据包括:至少一路音频数据,轨道信息包括:音频轨道信息,音频数据包括多个音频帧;组帧模块502具体用于:根据音频轨道信息,确定音频帧的第二时长;若第二时长小于第二预设时长阈值,针对每一路音频数据,对音频帧进行组帧,得到多个目标音频帧。
在一些可能的实现方式中,在组帧模块502用于针对每一路音频数据,对音频帧进行组帧,得到多个目标音频帧时,具体用于:根据第二时长与第二预设时长阈值,确定每个目标音频帧包含第二个数的音频帧;确定音频帧的第二时间戳;按照第二时间戳对应的顺序,依次选取第二个数的音频帧进行组帧,得到目标音频帧。
需要说明的是,本实施例提供的装置可用于执行上述的视频处理方法,其实现方式和技术效果类似,本实施例此处不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC(Application Specific Integrated Circuit,特定集成电路),或,一个或多个DSP(Digital Signal Processor,数字信号处理器),或,一个或者多个FPGA(FieldProgrammable Gate Array,现场可编程门阵列)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以SOC(System-on-a-Chip,片上系统)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时实现如上任一方法实施例的视频处理方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,至少一个处理器可以从该计算机可读存储介质中获取计算机程序,该至少一个处理器执行计算机程序时可实现如上任一方法实施例的视频处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (11)
1.一种显示设备,其特征在于,所述显示设备包括:播放器和显示屏;
所述播放器被配置为:
获取多媒体文件,并对所述多媒体文件进行解复用,得到所述多媒体文件的轨道信息,以及多媒体数据,所述多媒体数据包含音频数据和/或视频数据;
根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据;
对所述目标多媒体数据进行解码处理;
将解码处理后的目标多媒体数据传输给所述显示屏进行显示。
2.根据权利要求1所述的显示设备,其特征在于,所述多媒体数据包括至少一路视频数据,所述视频数据包含多个视频帧,所述轨道信息包括视频轨道信息;
所述播放器在所述根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
根据所述视频轨道信息,确定所述视频数据是否为多路视频数据;
若所述视频数据为多路视频数据,则创建所述多路视频数据中每一路视频数据对应的缓冲队列;
将各路所述视频数据对应存储在所述缓冲队列中;
在多个所述缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到所述目标视频帧。
3.根据权利要求2所述的显示设备,其特征在于,所述播放器在所述在多个所述缓冲队列中,获取相同时间戳的视频帧进行组帧,得到所述目标视频帧时,具体用于:
获取各个所述缓冲队列的队头位置的所述视频帧,作为队头视频帧;
获取各个所述队头视频帧的所述第一时间戳;
确定各个所述第一时间戳是否相同,若相同,将所述队头视频帧进行组帧,得到所述目标视频帧。
4.根据权利要求2所述的显示设备,其特征在于,所述播放器用于:
若所述视频数据不为多路视频数据,则根据所述视频轨道信息,确定所述视频帧的第一时长;
在所述第一时长小于第一预设时长阈值时,根据所述第一时长与所述第一预设时长阈值确定每个所述目标视频帧包含第一个数的所述视频帧;
确定各个所述视频帧的所述第一时间戳;
按照所述第一时间戳对应的顺序,依次选取所述第一个数的所述视频帧进行组帧,得到所述目标视频帧。
5.根据权利要求2所述的显示设备,其特征在于,至少一路所述视频数据包括:一路基本层视频数据和一路加强层视频数据;所述播放器在所述将各路所述视频数据对应存储在所述缓冲队列中之前,具体用于:
在加强层视频帧中添加目标标识;
则所述播放器在所述对所述目标多媒体数据进行解码处理时,具体用于:
在所述目标视频帧中,根据所述目标标识识别所述加强层视频帧和所述基本层视频帧;
先对基本层视频帧进行解码处理,再对所述加强层视频帧进行解码处理;其中,基本层视频数据包括:多个所述基本层视频帧;所述加强层视频数据包括:多个所述加强层视频帧。
6.根据权利要求2所述的显示设备,其特征在于,所述视频轨道信息包括:视频元数据;所述播放器在所述根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
将所述视频元数据和每个所述视频帧进行组帧,得到多个所述目标视频帧。
7.根据权利要求6所述的显示设备,其特征在于,所述播放器在所述根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
对所述视频数据的所述视频帧进行组帧,得到中间视频帧;
将所述视频元数据与各个所述中间视频帧进行组帧,得到多个所述目标视频帧。
8.根据权利要求1至7中任意一项所述的显示设备,其特征在于,所述多媒体数据包括:至少一路音频数据,所述轨道信息包括:音频轨道信息,所述音频数据包括多个所述音频帧;
所述播放器在所述根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据时,具体用于:
根据所述音频轨道信息,确定所述音频帧的第二时长;
若所述第二时长小于第二预设时长阈值,针对每一路所述音频数据,对所述音频帧进行组帧,得到多个目标音频帧。
9.根据权利要求8所述的显示设备,其特征在于,所述播放器在于所述针对每一路所述音频数据,对所述音频帧进行组帧,得到多个目标音频帧时,具体用于:
根据所述第二时长与所述第二预设时长阈值,确定每个所述目标音频帧包含第二个数的所述音频帧;
确定所述音频帧的第二时间戳;
按照所述第二时间戳对应的顺序,依次选取所述第二个数的所述音频帧进行组帧,得到所述目标音频帧。
10.一种视频处理方法,其特征在于,应用于显示设备,所述视频处理方法包括:
获取多媒体文件,并对所述多媒体文件进行解复用,得到所述多媒体文件的轨道信息,以及多媒体数据,所述多媒体数据包含音频数据和/或视频数据;
根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据;
对所述目标多媒体数据进行解码处理;
将解码处理后的目标多媒体数据传输给所述显示屏进行显示。
11.根据权利要求10所述的视频处理方法,其特征在于,所述多媒体数据包括至少一路视频数据,所述视频数据包含多个视频帧,所述轨道信息包括视频轨道信息;
所述根据所述轨道信息,对所述多媒体数据进行组帧处理,得到目标多媒体数据,包括:
根据所述视频轨道信息,确定所述视频数据是否为多路视频数据;
若所述视频数据为多路视频数据,则创建所述多路视频数据中每一路视频数据对应的缓冲队列;
将各路所述视频数据对应存储在所述缓冲队列中;
在多个所述缓冲队列中,获取相同第一时间戳的视频帧进行组帧,得到所述目标视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704842.5A CN115529489A (zh) | 2021-06-24 | 2021-06-24 | 显示设备、视频处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110704842.5A CN115529489A (zh) | 2021-06-24 | 2021-06-24 | 显示设备、视频处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115529489A true CN115529489A (zh) | 2022-12-27 |
Family
ID=84694921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110704842.5A Pending CN115529489A (zh) | 2021-06-24 | 2021-06-24 | 显示设备、视频处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529489A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778287A (zh) * | 2010-02-11 | 2010-07-14 | 深圳市茁壮网络股份有限公司 | 一种数字电视导航方法、系统及装置 |
CN104079949A (zh) * | 2014-06-26 | 2014-10-01 | 北京世纪鼎点软件有限公司 | 面向多屏的场景自适应的数据封装方法和装置及系统 |
CN104853132A (zh) * | 2015-05-13 | 2015-08-19 | 北京掌中经纬技术有限公司 | 一种延时视频录制方法及系统 |
CA2952297A1 (en) * | 2014-07-29 | 2016-02-04 | Qualcomm Incorporated | Direct streaming for wireless display |
CN106034252A (zh) * | 2015-03-12 | 2016-10-19 | 深圳市腾讯计算机系统有限公司 | 一种流媒体处理方法及装置 |
WO2017116419A1 (en) * | 2015-12-29 | 2017-07-06 | Thomson Licensing | Method and apparatus for metadata insertion pipeline for streaming media |
CN107197369A (zh) * | 2017-06-06 | 2017-09-22 | 清华大学 | 一种多子流协同的视频流媒体并行解码方法 |
CN111131874A (zh) * | 2018-11-01 | 2020-05-08 | 珠海格力电器股份有限公司 | 一种解决h.256码流随机接入点播放卡顿的方法及设备 |
CN111601180A (zh) * | 2020-05-14 | 2020-08-28 | 上海济丽信息技术有限公司 | 一种基于pts的分布式拼接大屏幕视频流集群同步显示系统 |
-
2021
- 2021-06-24 CN CN202110704842.5A patent/CN115529489A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778287A (zh) * | 2010-02-11 | 2010-07-14 | 深圳市茁壮网络股份有限公司 | 一种数字电视导航方法、系统及装置 |
CN104079949A (zh) * | 2014-06-26 | 2014-10-01 | 北京世纪鼎点软件有限公司 | 面向多屏的场景自适应的数据封装方法和装置及系统 |
CA2952297A1 (en) * | 2014-07-29 | 2016-02-04 | Qualcomm Incorporated | Direct streaming for wireless display |
CN106034252A (zh) * | 2015-03-12 | 2016-10-19 | 深圳市腾讯计算机系统有限公司 | 一种流媒体处理方法及装置 |
CN104853132A (zh) * | 2015-05-13 | 2015-08-19 | 北京掌中经纬技术有限公司 | 一种延时视频录制方法及系统 |
WO2017116419A1 (en) * | 2015-12-29 | 2017-07-06 | Thomson Licensing | Method and apparatus for metadata insertion pipeline for streaming media |
CN107197369A (zh) * | 2017-06-06 | 2017-09-22 | 清华大学 | 一种多子流协同的视频流媒体并行解码方法 |
CN111131874A (zh) * | 2018-11-01 | 2020-05-08 | 珠海格力电器股份有限公司 | 一种解决h.256码流随机接入点播放卡顿的方法及设备 |
CN111601180A (zh) * | 2020-05-14 | 2020-08-28 | 上海济丽信息技术有限公司 | 一种基于pts的分布式拼接大屏幕视频流集群同步显示系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101428504B1 (ko) | 비트스트림에 임베딩된 메타데이터를 이용하는 렌더링 제어부를 갖는 비디오 디스플레이 | |
US10306273B2 (en) | Information processing device and method for generating partial image information including group identification information | |
EP2426939B1 (en) | Providing enhanced content | |
KR20100134507A (ko) | 수신 장치, 송신 장치, 통신 시스템, 표시 제어 방법, 프로그램, 및 데이터 구조 | |
US20180220204A1 (en) | Information processing device, content requesting method, and computer program | |
EP2442581A1 (en) | Video assets having associated graphical descriptor data | |
RU2668549C2 (ru) | Устройство сервера, устройство клиент, способ распределения содержания и компьютерная программа | |
CN105260131A (zh) | 内容处理装置及其内容处理方法 | |
US20150035856A1 (en) | Display apparatus and display method using the same | |
JP4786888B2 (ja) | 映像ストリーム処理装置 | |
JP6385236B2 (ja) | 映像再生装置および映像再生方法 | |
US20120008693A1 (en) | Substituting Embedded Text for Video Text Images | |
US9131281B2 (en) | Method for embedding and multiplexing audio metadata in a broadcasted analog video stream | |
CN115529489A (zh) | 显示设备、视频处理方法 | |
US20140068658A1 (en) | Advertisement embedded system, advertisement embedded method, and recording medium thereof | |
CN105120324B (zh) | 一种分布式播放器实现方法及系统 | |
JP2015126469A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
KR20130061501A (ko) | 이종의 디바이스상에서 다중 시나리오 재생 시스템 및 그 방법 | |
US10306298B2 (en) | Image processing apparatus and control method thereof | |
EP2111043A2 (en) | Method of transmitting audiovisual contents in 'push' environments | |
KR101158435B1 (ko) | 이동통신 단말기와 우선순위 정보 데이터를 이용한 방송시스템 및 이를 이용한 방송 방법 | |
US8615155B2 (en) | Device and method for receiving video data packets | |
US20120218384A1 (en) | Image signal processing mode switching apparatus and image signal processing mode switching method | |
CN117812330A (zh) | 一种显示设备及广播节目播放方法 | |
JP2012182578A (ja) | 映像出力装置及び映像出力方法 |
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 |