CN113490055A - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN113490055A
CN113490055A CN202110762346.5A CN202110762346A CN113490055A CN 113490055 A CN113490055 A CN 113490055A CN 202110762346 A CN202110762346 A CN 202110762346A CN 113490055 A CN113490055 A CN 113490055A
Authority
CN
China
Prior art keywords
video
frame
audio
delay
frames
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
Application number
CN202110762346.5A
Other languages
English (en)
Other versions
CN113490055B (zh
Inventor
吴迪
黄思远
孙晔
李磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics China R&D Center
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics China R&D Center, Samsung Electronics Co Ltd filed Critical Samsung Electronics China R&D Center
Priority to CN202110762346.5A priority Critical patent/CN113490055B/zh
Publication of CN113490055A publication Critical patent/CN113490055A/zh
Application granted granted Critical
Publication of CN113490055B publication Critical patent/CN113490055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开的实施例公开了数据处理方法和装置。该方法的具体实施方式包括:监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;根据所述视频时延确定视频延迟级别;根据所述视频延迟级别确定视频帧丢弃率;根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;将所述缓存中剩余的视频帧输入视频解码器进行解码。该实施方式能够在网络情况不佳有抖动的情况下,尽可能降低多媒体数据应用场景的更新延迟,并且在降低延迟的过程中,做到用户无感知,保证用户的体验。

Description

数据处理方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及数据处理方法和装置。
背景技术
云游戏、直播、实时的赛况转播等应用领域都需要近乎实时的视频图像传输技术支持。该技术借助云计算能力,在云端完成最耗费硬件资源的功能,摆脱硬件和平台的限制,在不同联网的终端上都可以获得高品质的体验。
现有的实时的视频图像传输技术在网络情况较差有抖动时,用户能明显感觉到视频的延迟,降低了用户的使用体验。对于该问题,现有的解决方案是在客户端实时检测延迟情况,并反馈给服务器端,服务器端根据该信息动态调整视频编码压缩率以适应当前的网络状态,该解决方法具有调整不够及时的缺点。
发明内容
本公开的实施例提出了数据处理方法和装置。
第一方面,本公开的实施例提供了一种数据处理方法,包括:监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;根据所述视频时延确定视频延迟级别;根据所述视频延迟级别确定视频帧丢弃率;根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;将所述缓存中剩余的视频帧输入视频解码器进行解码。
在一些实施例中,所述方法还包括:若所述视频延迟级别为最大级别,则向服务器发送关键帧请求;若缓存中存在关键帧,将所述缓存中在所述关键帧之前的视频帧都丢弃。
在一些实施例中,所述方法还包括:若缓存中不存在关键帧,则将所述缓存中的所有可丢弃帧丢弃。
在一些实施例中,所述监测已下载的视频帧的视频时延,包括:以固定周期监测缓存中最新下载的视频帧与最新送入解码器的视频帧之间的时长之差作为视频时延。
在一些实施例中,所述方法还包括:监测已下载的音频帧的音频时延;根据所述音频时延确定音频延迟级别;根据所述音频延迟级别确定音频播放倍速;根据所述音频播放倍速播放解码后的音频帧。
在一些实施例中,所述方法还包括:若所述音频延迟级别为最大级别,则丢弃已收到但未解码的所有音频帧。
在一些实施例中,所述监测已下载的音频帧的音频时延,包括:以固定周期监测缓存中最新下载的音频帧与最新送入解码器的音频帧之间的时长之差作为音频时延。
第二方面,本公开的实施例提供了一种数据处理装置,包括:监测单元,被配置成监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;第一确定单元,被配置成根据所述视频时延确定视频延迟级别;第二确定单元,被配置成根据所述视频延迟级别确定视频帧丢弃率;丢弃单元,被配置成根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;解码单元,被配置成将所述缓存中剩余的视频帧输入视频解码器进行解码。
在一些实施例中,所述装置还包括请求单元,被配置成:若所述视频延迟级别为最大级别,则向服务器发送关键帧请求;若缓存中存在关键帧,则将所述缓存中在所述关键帧之前的视频帧都丢弃。
在一些实施例中,丢弃单元进一步被配置成:若缓存中不存在关键帧,则将所述缓存中的所有可丢弃帧丢弃。
在一些实施例中,监测单元进一步被配置成:以固定周期监测缓存中最新下载的视频帧与最新送入解码器的视频帧之间的时长之差作为视频时延。
在一些实施例中,监测单元进一步被配置成:监测已下载的音频帧的音频时延;第一确定单元进一步被配置成:根据所述音频时延确定音频延迟级别;第二确定单元进一步被配置成:根据所述音频延迟级别确定音频播放倍速;解码单元进一步被配置成根据所述音频播放倍速播放解码后的音频帧。
在一些实施例中,丢弃单元进一步被配置成:若所述音频延迟级别为最大级别,则丢弃已收到但未解码的所有音频帧。
在一些实施例中,监测单元进一步被配置成:以固定周期监测缓存中最新下载的音频帧与最新送入解码器的音频帧之间的时长之差作为音频时延。
第三方面,本公开的实施例提供了一种用于数据处理的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如第一方面所述的方法。
本公开的实施例提供的数据处理方法和装置,服务器端对视频进行编码时采用可丢弃帧和非可丢弃帧交替编码的技术,在客户端实时检测当前的延迟情况,根据延迟状态,对视频流进行不同比例的可丢弃帧丢弃操作,对音频流进行不同速率的倍速播放,降低延迟。且当客户端延迟达到最大延迟级别时发送关键帧请求给服务器端,服务器端接收到该请求信号将下一帧编码为关键帧,让客户端在延迟严重的情况尽快收到一帧关键帧,以便将关键帧之前的所有视频帧都丢弃。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的数据处理方法的一个实施例的流程图;
图3a-3c是根据本公开的数据处理方法的一个应用场景的示意图;
图4是根据本公开的数据处理方法的又一个实施例的流程图;
图5是根据本公开的数据处理装置的一个实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的数据处理方法或数据处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如游戏类应用、视频播放类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持视频播放的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的视频提供支持的后台服务器。后台服务器可以将视频编码后发送给终端设备,终端设备将接收到的视频进行解码后播放。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
需要说明的是,本公开的实施例所提供的数据处理方法一般由终端设备执行,相应地,数据处理装置一般设置于终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的数据处理方法的一个实施例的流程200。该数据处理方法,包括以下步骤:
步骤201,监测已下载的视频帧的视频时延。
在本实施例中,数据处理方法的执行主体(例如图1所示的终端设备)可以通过有线连接方式或者无线连接方式服务器下载视频文件。视频文件中包括了视频帧集合,还可包括音频帧集合。服务器端对视频进行编码时采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行高帧率(如60fps,120fps)编码。非可丢弃帧是参考帧,其它帧在解码时需要参考非可丢弃帧。可丢弃帧是非参考帧,解码时不需要参考可丢弃帧。可预先指定编码规则,例如每两帧编码一帧可丢弃帧、每三帧编码一帧可丢弃帧等。每个视频帧可带有标识,用于区分可丢弃帧和非可丢弃帧。
可周期性地监测已下载的视频帧的视频时延。例如,每秒钟统计一次时延。可通过缓存中未处理的视频帧数量统计,也可根据未处理的视频帧的时间差统计。
可根据当前数据类型(例如,游戏、直播)对延迟的敏感程度,预先设置一些参数,参数包括监测间隔T,各延迟级别门限值D0~DN,各延迟级别对应的视频非参考帧丢弃比例X1~XN,各延迟级别对应的音频播放倍速R1~RN。设置的原则为对延迟的敏感程度越低,则监测间隔越大各门限值越大,对延迟的敏感程度越高,则监测间隔越小各门限值越小。
计算得到当前已下载但未解码的视频帧对应的时长Dvideo作为视频时延,计算公式如下
Dvideo=T1-T2,T1为最新下载那帧视频帧对应的时间戳,T2为最新送入解码器那帧视频帧对应的时间戳。
步骤202,根据视频时延确定视频延迟级别。
在本实施例中,通过比较Dvideo与各延迟级别门限值,确定视频流的延迟级别Svideo。例如,分成四级,时延[0,0.05]秒为一级(在可接受范围内,相当于没有延迟),时延(0.05,0.25]秒为二级,时延(0.25,0.5]秒为三级,时延1秒及以上为四级(最大级别)。一级(未延迟级别)可不进行丢弃,也不快速播放。二级丢弃率为0.5(丢弃一半的可丢弃帧),1.5倍速度播放。三级丢弃率为1(丢弃所有的可丢弃帧),2倍速度播放。四级是最大延迟级别,需要发送关键帧请求。
步骤203,若视频延迟级别为最大级别,则向服务器发送关键帧请求。
在本实施例中,判断Svideo是否为最大延迟级别,若是,则发送关键帧请求给服务器。服务器接收到该请求后会对下一视频帧编码生成关键帧。在关键帧编码过程中,不依赖于前面的参考帧进行编码。即关键帧之后的视频帧在解码时不依赖于前面的参考帧,也就是说关键帧之前的视频帧都是可丢弃的。
步骤204,若缓存中存在关键帧,将缓存中在关键帧之前的视频帧都丢弃。
在本实施例中,服务器将重新编码后的视频帧继续发给终端设备。终端设备在接收到关键帧之后,丢弃已收到的在关键帧之前的所有视频帧,即仅保留最后一个关键帧后的参考帧。这里的“前”、“后”指的是缓存中的解码位置。
步骤205,若缓存中不存在关键帧,则将缓存中的所有可丢弃帧丢弃。
在本实施例中,终端设备在接收到关键帧之前,会将缓存中的所有可丢弃帧丢弃。每新接收到视频帧都会丢弃可丢弃帧,保留下非可丢弃帧。
步骤206,根据视频延迟级别确定视频帧丢弃率,根据视频帧丢弃率将缓存中的可丢弃帧丢弃。
在本实施例中,在未达到最大延迟级别时根据视频延迟级别确定视频帧丢弃率。例如,四级延迟中的一级延迟、二级延迟、三级延迟。各延迟级别对应的视频非参考帧丢弃比例X1~XN。若丢弃比例为1,则将所有的可丢弃帧丢弃。若丢弃比例为0.5,则丢弃一半的可丢弃帧,每间隔一个可丢弃帧进行丢弃。一级延迟(未延迟级别)对应的丢弃率为0,即不进行丢帧。
步骤207,将缓存中剩余的视频帧输入视频解码器进行解码。
在本实施例中,缓存中剩余的视频帧才输入视频解码器进行解码。如果视频延迟级别为未延迟,则无需丢帧,缓存中剩余的视频帧即为全部的视频帧。
本公开的上述实施例提供的方法,通过减少进入解码器的视频帧的数量,缓解客户端的数据处理压力。在不增加传输带宽的情况下,能对网络抖动做出快速响应,降低视频场景的更新延迟,降低交互延迟,增加用户体验。
继续参见图3a-3c,图3a-3c是根据本实施例的数据处理方法的应用场景(游戏)的一个示意图。如图3a所示,在云服务器端,音频编码器对渲染完毕的游戏声音进行编码,视频编码器将渲染完毕的游戏画面进行编码。视频编码器对游戏画面内容进行高帧率(如60fps,120fps)编码时,按照一定的规则将某些视频帧编码成为可丢弃帧,比如每两帧编码一帧可丢弃帧。在客户端根据当前游戏对低延迟的请求情况,使用不同的延迟级别判断标准检测当前的延迟级别,根据当前的延迟级别使用不同的丢弃比例对可丢弃帧进行丢弃。高级别延迟的丢弃比例高于低级别延迟的丢弃比例。
如图3b所示,当当前的延迟级别已达到最大延迟级别,客户端发送一个关键帧请求信号给云服务器端,云服务器端收到该请求信号后,将下一视频帧编码为关键帧。同时客户端在接收到关键帧之前将所有可丢弃帧丢弃,在接收到关键帧之后,将解码顺序在关键帧之前的所有帧都丢弃。
如图3c所示,云服务器端若收到关键帧请求信号,将当前视频帧编码为关键帧。然后将关键帧发送给客户端。客户端收到关键帧后执行步骤204和207。在下个监测周期来临之前,会一直丢弃缓存中的可丢弃帧。直到下个监测周期重新计算延迟等级,此时网络状态可能已变好,延迟等级变低,根据延迟等级进行丢帧。从而对网络抖动做出快速响应,降低游戏场景的更新延迟,降低游戏交互延迟,显著增加用户游戏体验质量。
进一步参考图4,其示出了数据处理方法的又一个实施例的流程400。该数据处理方法的流程400,包括以下步骤:
步骤401,监测已下载的音频帧的音频时延。
在本实施例中,数据处理方法的执行主体(例如图1所示的终端设备)可以通过有线连接方式或者无线连接方式服务器下载视频文件。视频文件中包括了视频帧集合,还可包括音频帧集合。
可周期性地监测已下载的音频帧的音频时延。例如,每秒钟统计一次时延。可通过缓存中未处理的音频帧数量统计,也可根据未处理的音频帧的时间差统计。
计算得到当前已下载但未解码的音频帧对应的时长Daudio,计算公式如下
Daudio=T3-T4,T3为最新下载那帧音频帧对应的时间戳,T4为最新送入解码器那帧音频帧对应的时间戳。
步骤402,根据音频时延确定音频延迟级别。
在本实施例中,通过比较Daudio与各延迟级别门限值,确定视频流的延迟级别Saudio。例如,音频时延[0,0.05]秒为一级(在可接受范围内,相当于没有延迟),音频时延(0.05,0.25]秒为二级,音频时延(0.25,0.5]秒为三级,音频时延1秒及以上为四级(最大级别)。
步骤403,若音频延迟级别为最大级别,则丢弃已收到但未解码的所有音频帧。
在本实施例中,音频延迟级别为最大级别时,视频延迟也是最大级别,此时视频处理时已经开始丢帧了,相应的也要将已收到但未解码的所有音频帧进行丢弃。
步骤404,根据音频延迟级别确定音频播放倍速。
在本实施例中,音频播放倍速与音频延迟级别正相关,音频延迟级别越大,则音频播放倍速越大。例如,一级延迟的倍速为1,即不改变速度。二级延迟的倍速1.25。三级延迟的倍速1.5。音频播放倍速可以和视频丢帧率相对应,使得加速播放后的音频播放时间与丢帧后的视频时长一致。
步骤405,根据音频播放倍速播放解码后的音频帧。
在本实施例中,将缓存中未被丢弃的音频帧解码后播放,播放速度由步骤404确定。使得音频播放与视频播放同时开始和结束。
从图4中可以看出,与图2对应的实施例相比,本实施例中的数据处理方法的流程400体现了对延迟的音频帧进行处理的步骤。由此,本实施例描述的方案可以让音频与视频同步处理时延,做到用户无感知,保证用户体验。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的数据处理装置500包括:监测单元501、第一确定单元502、第二确定单元503、丢弃单元504、解码单元505。其中,监测单元501,被配置成监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;第一确定单元502,被配置成根据所述视频时延确定视频延迟级别;第二确定单元503,被配置成根据所述视频延迟级别确定视频帧丢弃率;丢弃单元504,被配置成根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;解码单元505,被配置成将所述缓存中剩余的视频帧输入视频解码器进行解码。
在本实施例的一些可选的实现方式中,所述装置还包括请求单元506,被配置成:若所述视频延迟级别为最大级别,则向服务器发送关键帧请求;若缓存中存在关键帧,则将所述缓存中在所述关键帧之前的视频帧都丢弃。
在本实施例的一些可选的实现方式中,丢弃单元504进一步被配置成:若缓存中不存在关键帧,则将所述缓存中的所有可丢弃帧丢弃。
在本实施例的一些可选的实现方式中,监测单元501进一步被配置成:以固定周期监测缓存中最新下载的视频帧与最新送入解码器的视频帧之间的时长之差作为视频时延。
在本实施例的一些可选的实现方式中,监测单元501进一步被配置成:监测已下载的音频帧的音频时延;第一确定单元502进一步被配置成:根据所述音频时延确定音频延迟级别;第二确定单元503进一步被配置成:根据所述音频延迟级别确定音频播放倍速;解码单元505进一步被配置成根据所述音频播放倍速播放解码后的音频帧。
在本实施例的一些可选的实现方式中,丢弃单元504进一步被配置成:若所述音频延迟级别为最大级别,则丢弃已收到但未解码的所有音频帧。
在本实施例的一些可选的实现方式中,监测单元501进一步被配置成:以固定周期监测缓存中最新下载的音频帧与最新送入解码器的音频帧之间的时长之差作为音频时延。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。
一种用于数据处理的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如流程200或400所述的方法。
一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现流程200或400所述的方法。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (10)

1.一种数据处理方法,包括:
监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;
根据所述视频时延确定视频延迟级别;
根据所述视频延迟级别确定视频帧丢弃率;
根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;
将所述缓存中剩余的视频帧输入视频解码器进行解码。
2.根据权利要求1所述的方法,其中,所述方法还包括:
若所述视频延迟级别为最大级别,则向服务器发送关键帧请求;
若缓存中存在关键帧,则将所述缓存中在所述关键帧之前的视频帧都丢弃。
3.根据权利要求2所述的方法,其中,所述方法还包括:
若缓存中不存在关键帧,则将所述缓存中的所有可丢弃帧丢弃。
4.根据权利要求1所述的方法,其中,所述监测已下载的视频帧的视频时延,包括:
以固定周期监测缓存中最新下载的视频帧与最新送入解码器的视频帧之间的时长之差作为视频时延。
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
监测已下载的音频帧的音频时延;
根据所述音频时延确定音频延迟级别;
根据所述音频延迟级别确定音频播放倍速;
根据所述音频播放倍速播放解码后的音频帧。
6.根据权利要求5所述的方法,其中,所述方法还包括:
若所述音频延迟级别为最大级别,则丢弃已收到但未解码的所有音频帧。
7.根据权利要求5所述的方法,其中,所述监测已下载的音频帧的音频时延,包括:
以固定周期监测缓存中最新下载的音频帧与最新送入解码器的音频帧之间的时长之差作为音频时延。
8.一种数据处理装置,包括:
监测单元,被配置成监测已下载的视频帧的视频时延,其中,所述视频帧由服务器端采用可丢弃帧和非可丢弃帧交替编码的技术对视频内容进行编码得到的;
第一确定单元,被配置成根据所述视频时延确定视频延迟级别;
第二确定单元,被配置成根据所述视频延迟级别确定视频帧丢弃率;
丢弃单元,被配置成根据所述视频帧丢弃率将缓存中的可丢弃帧丢弃;
解码单元,被配置成将所述缓存中剩余的视频帧输入视频解码器进行解码。
9.一种用于数据处理的电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个计算机程序,
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN202110762346.5A 2021-07-06 2021-07-06 数据处理方法和装置 Active CN113490055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110762346.5A CN113490055B (zh) 2021-07-06 2021-07-06 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110762346.5A CN113490055B (zh) 2021-07-06 2021-07-06 数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN113490055A true CN113490055A (zh) 2021-10-08
CN113490055B CN113490055B (zh) 2023-09-19

Family

ID=77941291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110762346.5A Active CN113490055B (zh) 2021-07-06 2021-07-06 数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN113490055B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979712A (zh) * 2022-05-13 2022-08-30 北京字节跳动网络技术有限公司 视频起播方法、装置、设备及存储介质
WO2023165608A1 (zh) * 2022-03-04 2023-09-07 北京字节跳动网络技术有限公司 一种丢帧方法、装置、服务器和介质
CN116996649A (zh) * 2023-04-04 2023-11-03 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207657A1 (en) * 2004-02-02 2005-09-22 Clark Adam L System and method for encoding and decoding video
CN101946518A (zh) * 2007-12-28 2011-01-12 诺基亚公司 用于数字视频的自适应同步解码的方法、设备和计算机程序产品
US20130163579A1 (en) * 2009-03-31 2013-06-27 Adobe Systems Incorporated Adaptive Subscriber Buffering Policy with Persistent Delay Detection for Live Audio Streams
CN104702968A (zh) * 2015-02-17 2015-06-10 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
CN106713947A (zh) * 2016-12-13 2017-05-24 飞狐信息技术(天津)有限公司 减少直播时延和卡顿的方法及装置、直播系统
CN111355975A (zh) * 2020-03-26 2020-06-30 郑州信大捷安信息技术股份有限公司 一种直播客户端音视频延时调节播放系统及方法
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050207657A1 (en) * 2004-02-02 2005-09-22 Clark Adam L System and method for encoding and decoding video
CN101946518A (zh) * 2007-12-28 2011-01-12 诺基亚公司 用于数字视频的自适应同步解码的方法、设备和计算机程序产品
US20130163579A1 (en) * 2009-03-31 2013-06-27 Adobe Systems Incorporated Adaptive Subscriber Buffering Policy with Persistent Delay Detection for Live Audio Streams
CN104702968A (zh) * 2015-02-17 2015-06-10 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
CN104750859A (zh) * 2015-04-16 2015-07-01 成都影泰科技有限公司 一种网络存储方法
CN106713947A (zh) * 2016-12-13 2017-05-24 飞狐信息技术(天津)有限公司 减少直播时延和卡顿的方法及装置、直播系统
CN111355975A (zh) * 2020-03-26 2020-06-30 郑州信大捷安信息技术股份有限公司 一种直播客户端音视频延时调节播放系统及方法
CN111918093A (zh) * 2020-08-13 2020-11-10 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023165608A1 (zh) * 2022-03-04 2023-09-07 北京字节跳动网络技术有限公司 一种丢帧方法、装置、服务器和介质
CN114979712A (zh) * 2022-05-13 2022-08-30 北京字节跳动网络技术有限公司 视频起播方法、装置、设备及存储介质
CN116996649A (zh) * 2023-04-04 2023-11-03 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备
CN116996649B (zh) * 2023-04-04 2024-04-30 深圳Tcl新技术有限公司 投屏方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN113490055B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
CN113490055B (zh) 数据处理方法和装置
CN111135569B (zh) 云游戏处理方法、装置、存储介质与电子设备
US10110650B2 (en) Client side stream switching
US9167007B2 (en) Stream complexity mapping
US9344735B2 (en) Progressive shape based encoding of video content within a swarm environment
EP2300928B1 (en) Client side stream switching
EP3410302B1 (en) Graphic instruction data processing method, apparatus
CN107295395A (zh) 码率自适应调节方法、装置及电子设备
US11863841B2 (en) Video playing control method and system
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
CN114422799B (zh) 视频文件的解码方法、装置、电子设备、程序产品
CN115643449A (zh) 云服务的视频显示方法、装置、设备、存储介质和系统
CN109769125B (zh) 流媒体码率的动态调整方法、媒体服务器及转码服务器
CN113079386B (zh) 一种视频在线播放方法、装置、电子设备及存储介质
CN115460458B (zh) 视频丢帧方法和设备
CN113824689B (zh) 边缘计算网络、数据传输方法、装置、设备和存储介质
CN107087210B (zh) 基于缓存时间判断视频播放状态的方法及终端
CN115988269A (zh) 一种视频播放方法、装置、系统、电子设备和存储介质
CN115767149A (zh) 一种视频数据的传输方法和装置
CN115633191A (zh) 视频播放方法、装置、系统、电子设备与可读存储介质
CN110855645B (zh) 流媒体数据播放方法、装置
US9118922B2 (en) Progressive encoding of video content within a swarm environment
CN114448957B (zh) 音频数据传输方法和装置
CN113824985B (zh) 直播拉流方法、装置、设备、存储介质及计算机程序产品
CN115942000B (zh) H.264格式的视频流转码方法及装置、设备及介质

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