CN116055802B - 图像帧处理方法及电子设备 - Google Patents

图像帧处理方法及电子设备 Download PDF

Info

Publication number
CN116055802B
CN116055802B CN202210859314.1A CN202210859314A CN116055802B CN 116055802 B CN116055802 B CN 116055802B CN 202210859314 A CN202210859314 A CN 202210859314A CN 116055802 B CN116055802 B CN 116055802B
Authority
CN
China
Prior art keywords
frame
image
rate
loss rate
electronic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210859314.1A
Other languages
English (en)
Other versions
CN116055802A (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210859314.1A priority Critical patent/CN116055802B/zh
Priority to CN202410161133.0A priority patent/CN118138836A/zh
Publication of CN116055802A publication Critical patent/CN116055802A/zh
Application granted granted Critical
Publication of CN116055802B publication Critical patent/CN116055802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • H04N21/440281Processing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
    • H04M1/72439User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages for image or video messaging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种图像帧处理方法及电子设备。该方法包括:接收第二电子设备发送的第一图像帧,第一图像帧属于第一电子设备上的目标应用,第一图像帧对应的时间戳为第一时间戳;根据第一时间戳所示时间最近接收到的属于目标应用的第一数量个图像帧的时间戳,确定第一电子设备接收图像数据的第一帧率;根据第一帧率和目标帧率,获得第一图像帧对应的第一丢帧率,目标帧率为第一电子设备向目标应用发送图像数据的帧率;根据第一丢帧率更新累计丢帧率;如果更新后的累计丢帧率大于或等于第一值,丢弃第一图像帧。这样,根据多余帧的比例累计值确定是否丢弃当前图像帧,能够减少连续丢帧的操作,避免视频画面跳帧,提高用户使用体验。

Description

图像帧处理方法及电子设备
技术领域
本申请涉及终端设备领域,尤其涉及一种图像帧处理发送方法及电子设备。
背景技术
用户使用手机进行视频通话时,如果需要使用电脑完成一些工作,同时使用手机和电脑会给用户带来不便。此时,用户可以将手机与电脑进行协同,将手机上的通话视频切换到电脑,即可通过电脑操控手机进行视频通话。
在这种场景下,电脑采集视频图像的帧率如果大于手机向视频通话所属应用发送图像帧的帧率,手机就需要进行丢帧处理。
目前,相关技术中在上述场景下的丢帧处理方式,会发生连续丢帧的操作,该操作导致手机的视频画面发生跳帧的现象,导致用户体验不佳。
发明内容
为了解决上述技术问题,本申请提供一种图像帧处理方法及电子设备,通过对电子设备实际接收视频图像帧中多余帧的比例进行累计,根据多余帧的比例累计值确定是否丢弃当前图像帧,减少了连续丢帧的操作,避免了视频画面跳帧,提高了用户使用体验。
第一方面,本申请提供一种图像帧处理方法。该方法应用于第一电子设备。该方法包括:接收第二电子设备发送的第一图像帧,第一图像帧属于第一电子设备上的目标应用,第一图像帧对应的时间戳为第一时间戳;根据第一时间戳所示时间最近接收到的属于目标应用的第一数量个图像帧的时间戳,确定第一电子设备接收图像数据的第一帧率;根据第一帧率和目标帧率,获得第一图像帧对应的第一丢帧率,目标帧率为第一电子设备向目标应用发送图像数据的帧率;根据第一丢帧率更新累计丢帧率;如果更新后的累计丢帧率大于或等于第一值,丢弃第一图像帧。这样,通过对电子设备实际接收视频图像帧中多余帧的比例进行累计,根据多余帧的比例累计值确定是否丢弃当前图像帧,能够减少连续丢帧的操作,避免视频画面跳帧,提高用户使用体验。
根据第一方面,根据第一时间戳所示时间最近接收到的属于目标应用的第一数量个图像帧的时间戳,确定第一电子设备接收图像数据的第一帧率,包括:获取第一时间戳与第一目标时间戳之间的时间差,第一目标时间戳为第一数量个图像帧的时间戳中最小的时间戳;根据时间差与第一数量,确定电子设备当前接收图像数据的第一帧率。这样,可以获得每个图像帧对应的实际帧率。
根据第一方面,根据第一帧率和目标帧率,获得第一图像帧对应的第一丢帧率,目标帧率为第一电子设备向目标应用发送图像数据的帧率,包括:获取第一帧率与目标帧率之间的帧率差值;根据帧率差值和第一帧率确定第一丢帧率,第一丢帧率等于帧率差值除以第一帧率所得的商。这样,可以获得每个图像帧对应的丢帧率
根据第一方面,根据第一丢帧率更新累计丢帧率,包括:获取第一图像帧的前一图像帧对应的第一累计丢帧率;根据第一累计丢帧率和第一丢帧率,确定更新后的累积丢帧率,更新后的累积丢帧率等于第一累计丢帧率和第一丢帧率的和。这样,可以获得每一次视频通话中截止到当前图像帧的累计丢帧率,为判断是否丢弃当前图像帧提供依据。
根据第一方面,如果更新后的累计丢帧率大于或等于第一值,丢弃第一图像帧之后,还包括:将累计丢帧率的值更新为累计丢帧率与第一值的差。这样,可以保护累计丢帧率不溢出。
根据第一方面,将累计丢帧率的值更新为累计丢帧率与第一值的差之后,还包括:接收第二电子设备发送的第二图像帧,第二图像帧属于目标应用,第二图像帧对应的第二时间戳大于第一时间戳;根据第二时间戳所示时间最近接收到的属于目标应用的第一数量个图像帧的时间戳,确定第一电子设备接收图像数据的第二帧率;根据第二帧率和目标帧率,获得第二图像帧对应的第二丢帧率;根据第二丢帧率更新累计丢帧率;如果更新后的累计丢帧率小于或等于第二值,将第二图像帧发送给目标应用,第二值小于第一值。这样,在累计丢帧率小于或等于第二值的情况下,不丢弃当前图像帧。
根据第一方面,将第一目标图像帧发送给目标应用,以便目标应用显示第一目标图像帧之后,还包括:将累计丢帧率的值更新为累计丢帧率与第二值的差。这样,可以保护累计丢帧率不溢出。
根据第一方面,将累计丢帧率的值更新为累计丢帧率与第一值的差之后,还包括:接收第二电子设备发送的第三图像帧,第三图像帧属于目标应用,第三图像帧对应的第三时间戳大于第一时间戳;根据第三时间戳所示时间最近接收到的属于目标应用的第一数量个图像帧的时间戳,确定第一电子设备接收图像数据的第三帧率;根据第三帧率和目标帧率,获得第三图像帧对应的第三丢帧率;根据第三丢帧率更新累计丢帧率;
如果更新后的累计丢帧率小于第一值且大于第二值,将第三图像帧发送给目标应用。
根据第一方面,第一数量小于预设数量值。
根据第一方面,第一电子设备为智能手机,第二电子设备为个人电脑、平板或智慧屏。
第二方面,本申请提供一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备执行第一方面任意一项的图像帧处理方法。
第三方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行前述的第一方面任意一项的图像帧处理方法。
第四方面,本申请提供一种内存管理方法。该方法应用于第二电子设备。该方法包括:接收第一电子设备发送的相机参数,相机参数包括采集图像的宽度信息和高度信息;根据宽度信息和高度信息,确定第一目标容量;申请第一内存空间和第二内存空间,第一内存空间的容量和第二内存空间的容量均等于第一目标容量;在采集第一图像帧后,将第一图像帧对应的第一图像数据和对第一图像帧进行处理后得到的至少一组第一相关图像数据轮流存储到第一内存空间和第二内存空间。这样,申请一次内存后可以多次使用,直到视频通话结束后关闭相机时再释放内存,减少了图像帧处理过程中因频繁申请内存所用的耗时,降低了视频通话中每一帧图像的处理时延。
根据第四方面,在采集第一图像帧后,将第一图像帧对应的第一图像数据和对第一图像帧进行处理后得到的至少一组第二图像数据轮流存储到第一内存空间的容量和第二内存空间之后,还包括:采集第二图像帧;判断第二图像帧对应的数据是否等于第一目标容量;如果是,将第二图像帧对应的第二图像数据和对第二图像帧进行处理后得到的至少一组第二相关图像数据轮流存储到第一内存空间和第二内存空间。
根据第四方面,在采集第一图像帧后,将第一图像帧对应的第一图像数据和对第一图像帧进行处理后得到的至少一组第二图像数据轮流存储到第一内存空间的容量和第二内存空间之后,还包括:采集第三图像帧;判断第三图像帧对应的第三图像数据的长度是否等于第一目标容量;如果否,根据第三图像数据的长度确定第二目标容量;申请第三内存空间和第四内存空间,第三内存空间的容量和第四内存空间的容量均等于第二目标容量;将第三图像帧对应的第三图像数据和对第三图像帧进行处理后得到的至少一组第三相关图像数据轮流存储到第三内存空间和第四内存空间。
根据第四方面,在采集第一图像帧后,将第一图像帧对应的第一图像数据和对第一图像帧进行处理后得到的至少一组第二图像数据轮流存储到第一内存空间的容量和第二内存空间之后,还包括:接收关闭相机的指令;释放第一内存空间的容量和第二内存空间。
第五方面,本申请提供一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备执行第三方面任意一项的内存管理方法。
第六方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行前述的第三方面任意一项的内存管理方法。
附图说明
图1为示例性示出的电子设备100的结构示意图;
图2为示例性示出的本申请实施例的电子设备100的软件结构框图;
图3为示例性示出的两用户通过手机进行即时通信的示意图;
图4为图3中用户乙将手机B与电脑C进行协同的示意图;
图5为示例性示出的图像帧处理方法的一种流程示例图;
图6为示例性示出的内存管理方法的一种流程示例图;
图7为示例性示出的内存管理方法的另一种流程示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个***是指两个或两个以上的***。
用户在通过第一电子设备进行视频通话时,如果需要使用第二电子设备完成一些工作,同时使用两个电子设备会给用户造成不便。此时,可以将第一电子设备与第二电子设备进行协同,并切换音视频到第二电子设备,即可通过第二电子设备操控第一电子设备进行视频通话。
本申请实施例中的图像帧处理方法可以应用于第一电子设备,第一电子设备例如可以是智能手机、平板等电子设备。第一电子设备的结构可以如图1所示。
图1为示例性示出的电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
请参见图1,电子设备100可以包括:处理器110,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,指示器192,摄像头193等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
其中,电子设备100的软件***可以采用分层架构、事件驱动架构、微核架构、微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,示例性说明电子设备100的软件结构。
图2为示例性示出的本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android***可以包括应用程序层、应用程序框架层、***层以及内核层等。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,通话,地图,WLAN,蓝牙,视频,即时通信模块等应用程序。其中,即时通信模块例如可以任一种可以进行即时视频通话的应用模块。用户可以通过第一电子设备的即时通信模块,与其他用户进行视频通话。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,资源管理器,视图***,图像帧处理模块等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
其中,图像帧处理模块用于执行本申请实施例的图像帧处理方法。用户在通过第一电子设备的即时通信模块与其他用户进行视频通话时,可以将视频通话协同到第二电子设备上,第二电子设备采用自身的相机采集视频通话的图像帧,发送给第一电子设备。第一电子设备的图像帧处理模块接收第二电子设备发送的图像帧,利用本申请实施例的图像帧处理方法对图像帧进行处理。图像帧经过图像帧处理模块的处理后,如果处理结果是丢弃图像帧,图像帧处理模块将该图像帧丢弃,不再将该图像帧发送给即使通信模块;如果处理结果是显示图像帧,图像帧处理模块将该图像帧发送给即使通信模块,由该即使通信模块对该图像帧进行显示。
其中,应用程序框架层还可以包括电话管理器(图2中未示出)。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。如图2所示,本申请实施例中,***库中可以包括
表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(也即2D图形引擎,例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是硬件和软件之间的层。
如图2所示,内核层可以包括显示驱动、蓝牙驱动、Wi-Fi驱动、蓝牙驱动、音频驱动、传感器驱动等模块。
可以理解的是,图2示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
下面通过实施例,对本申请进行详细说明。
此处以第一电子设备为手机、第二电子设备为电脑为例,对本申请实施例的图像帧处理方法的应用场景进行说明。
图3为示例性示出的两用户通过手机进行即时通信的示意图。请参见图3,用户甲和用户乙之间,通过手机A和手机B进行通信。手机A和手机B上都安装了即时通信应用,例如该即时通信应用可以是任一种能够进行即时视频通话的应用。
图4为图3中用户乙将手机B与电脑C进行协同的示意图。请参见图4,手机B与电脑C进行协同后,手机B上的通话视频切换到电脑C上。电脑C中的相机采集用户乙的视频图像帧,发送给手机B,手机B中的相机无需再采集用户乙的视频图像帧。手机B对于电脑C发送的视频图像帧,利用本申请实施例的图像帧处理发送方法进行处理。
在图4所示的协同场景中,手机B称为中心侧设备,电脑C称为端侧设备或设备侧设备。需要说明的是,尽管图4中的端侧设备为电脑,但应该理解,这只是对端侧设备的一种示意性举例,
中心侧设备对于每一种即时通信应用,可以设置一种或多种不同帧率的视频流,端侧设备采用每一种即时通信应用的所有视频流中的最大帧率采集视频通话过程中的图像。
举例说明,假设对于手机B上的一种即时通信应用,手机B设置两种不同帧率的视频流,其中的一种视频流是在手机B本地的显示屏上显示用户乙的视频的视频流,另一种视频流是将用户乙的视频发送给手机A的视频流。电脑C以该两种视频流中帧率最大的视频流为基准采集用户乙的视频图像帧。
例如,假设手机B设置两种不同帧率的视频流,其中在手机B本地的显示屏上显示用户乙的视频的视频流的帧率为帧率1,将用户乙的视频发送给手机A的视频流的帧率为帧率2,帧率1大于帧率2。那么,电脑C采集用户乙的视频图像帧的帧率为帧率1。然后,电脑C以帧率1的帧率将采集的视频图像帧发送给手机B,即手机B从电脑C接收视频图像帧的帧率为帧率1。此时,对于在手机B本地的显示屏上显示用户乙的视频的视频流,由于该视频流的帧率等于帧率1,手机B可以直接将接收的视频图像帧发送到这条视频流。但是,对于将用户乙的视频发送给手机A的视频流,由于该视频流的帧率小于帧率1,手机B需要对从电脑C接收视频图像进行丢帧处理,然后将剩余视频图像帧发送到这条视频流。
例如,假设电脑C每秒钟向手机B发送30帧图像,而手机B每秒钟向手机A发送15帧图像,此时手机B需要每秒钟丢弃15帧图像,将剩余的15帧图像发送给手机A。
下面以图4中的手机B为例,对本申请实施例的图像帧处理方法进行说明。
图5为示例性示出的图像帧处理方法的一种流程示例图。本实施例中,图像帧处理方法应用于手机B,该方法可以包括如下步骤:
S501、手机B接收电脑C发送的图像帧,该图像帧属于手机B上的应用1,该图像帧对应的时间戳为时间戳1。
S502、根据时间戳1所示时间最近接收到的属于应用1的x个图像帧的时间戳,确定手机B接收图像数据的实际帧率。
其中,x为自然数。
假设当前图像帧为第i个图像帧,对应的时间戳为timeStamp,第(i-x)个图像帧对应的时间戳为timeStamp(i-x),那么,当前图像帧的实际帧率curFrameRate(i)可以通过如下的公式(1)计算得到。
例如,i=11,x=10,可以计算出手机B接收到视频中第11个图像帧时的实际帧率。其中,视频中的第一个图像帧不需要计算实际帧率,第一个图像帧的丢帧率dropRate(1)默认为0。在计算视频中的第二个图像帧的实际帧率时,x=1,在计算视频中的第三个至第十个图像帧的实际帧率时,x可以取1到9中小于i的自然数。
需要说明的是,x的取值太大会可能会影响到实际帧率的准确性,因此,需要将x的取值控制在一定的范围内。
在一个示例中,x小于或等于60。
S503、根据实际帧率和目标帧率,获得图像帧对应的丢帧率1,目标帧率为手机B向应用1发送图像数据的帧率。
假设目标帧率为targetFrameRate,那么,第i个图像帧对应的丢帧率dropRate(i)可以通过如下的公式(2)计算得到。
S504、根据丢帧率1更新累计丢帧率。
累计丢帧率是由手机B接收的电脑C发送的所有图像帧的丢帧率累加得到的。
累计丢帧率dropRate可以通过如下的公式(3)计算得到。
dropRate=∑dropRate(i) 公式(3)
S505、判断更新后的累计丢帧率是否大于或等于第一值,如果是,执行步骤S507,否则执行步骤S506。
S506、判断更新后的累计丢帧率是否小于或等于第二值,如果是,执行步骤S509,否则执行步骤S511。更新后的累计丢帧率≤第二值
S507、丢弃图像帧。
这样,应用1就不用对图像帧进行处理。
S508、将累计丢帧率的值更新为累计丢帧率与第一值的差,返回步骤S501。
例如,第一值为1,那么,dropRate=dropRate-1。
S509、将该图像帧发送给应用1。
这样,应用1就需要对图像帧进行处理。
在更新后的累计丢帧率小于或等于第二值的情况下,如果应用1处理图像帧的时间间隔已满,但手机B还未接收到新的图像帧,那么手机B可以将据此时刻最近的已接收图像帧发送给应用1,以便应用1能够以设置的帧率处理图像帧。
S510、将累计丢帧率的值更新为累计丢帧率与第二值的差,返回步骤S501。
例如,第二值为-1,那么,dropRate=dropRate-(-1)=dropRate+1。
S511、将该图像帧发送给应用1,返回步骤S501。
本步骤中,累计丢帧率的值保持步骤S504计算出的累计丢帧率值不变。
假设手机B从电脑C接收到的视频图像帧包括图像帧a1至图像帧a100,x=10,手机B对图像帧a1至图像帧a100的处理过程如下:
图像帧a1至图像帧a10的丢帧率为0,累积丢帧率也为0。
对于图像帧a11,按照公式(1)和公式(2)计算出实际帧率和累积丢帧率,假设图像帧a11对应的累积丢帧率大于-1且小于1,那么直接将图像帧a11发送给即时通信应用,假设为应用1。
图像帧a12至图像帧a20的处理过程假设同图像帧a11的处理过程相同。
对于图像帧a21,按照公式(1)和公式(2)计算出实际帧率和累积丢帧率,假设图像帧a21对应的累积丢帧率大于1,那么手机B丢弃图像帧a21,不将图像帧a21发送给应用1。然后按照dropRate=dropRate-1更新累积丢帧率。
图像帧a22至图像帧a30的处理过程假设同图像帧a11的处理过程相同。
对于图像帧a31,按照公式(1)和公式(2)计算出实际帧率和累积丢帧率,假设图像帧a21对应的累积丢帧率小于-1,那么手机B将图像帧a30发送给应用1。然后按照dropRate=dropRate+1更新累积丢帧率。
……
本申请实施例的图像帧处理方法,通过对电子设备实际接收视频图像帧中多余帧的比例进行累计,根据多余帧的比例累计值确定是否丢弃当前图像帧,减少了连续丢帧的操作,避免了视频画面跳帧,提高了用户使用体验。
并且,本发明直接采用浮点数运算的方式,处理过程简单。
另外,通过本申请的实施例的图像帧处理方法计算的累积丢帧率与理论丢帧率的误差主要在于浮点数的计算误差,而丢帧标准dropRate由每帧到达时的帧率累计,接收的每帧以当前帧率影响后续丢帧率,更逼近理论丢帧率。因此,本申请实施例的图像帧处理方法的丢帧处理更加准确合理。
以下,将图4中的电脑C替换为平板D,对本申请实施例的内存管理方法进行说明。即在以下实施例中,中心侧设备为手机B,端侧设备为平板D。其中,平板D的硬件结构可以采用图1所示的结构。平板D的软件结构中,应用程序框架层中包括内存管理模块,该内存管理模块可以用于执行本申请实施例的内存管理方法。
在图4所示的协同场景中,手机B会将相机参数发送给电脑C,由平板D采集视频通话中的图像帧,然后将图像帧发送给手机B。平板D采集图像帧后,会将图像帧存储到内存中,然后,平板D对于图像帧进行至少一次色彩转换处理,每次色彩转换处理后得到的图像数据,也要存储到内存中。所有的色彩转换处理步骤结束后,平板D对相应的图像数据进行编码,然后将编码后的图像数据发送给手机B。
相关技术中,对于平板D采集的图像帧的图像数据,以及图像帧经过每次色彩转换处理后得到的图像数据都分别申请内存进行存储,使用完毕后就释放内存。
例如,平板D采集图像帧a0后,申请内存1,将图像帧a0存储到内存1中;
接着,平板D从内存1中取出图像帧a0,释放内存1,申请内存2,对图像帧a0进行第一次色彩转换处理,得到图像数据a1,将图像数据a1存储到内存2中;
接着,平板D从内存2中取出图像数据a1,释放内存2,申请内存3,对图像数据a1进行第二次色彩转换处理,得到图像数据a2,将图像数据a2存储到内存3中;
然后,平板D从内存2中取出图像数据a2,释放内存3,对图像数据a2进行编码处理,得到编码图像数据a3,申请内存4,将编码图像数据a3存储到内存4中;
然后,平板D从内存4中取出编码图像数据a3,将编码图像数据a3发送给手机B。
其中,以上释放各个内存的时机仅为示例性说明,本申请实施例对于释放内存的时机不作限制。
上述申请内存的方式,平板D对于采集的每一帧图像都需要申请多次内存,耗时较多,导致每一帧图像的处理时延较大。
本申请实施例提供一种内存管理方法,能够减小上述协同场景中端侧设备对采集的图像帧的处理时延。
图6为示例性示出的内存管理方法的一种流程示例图。本实施例中,内存管理方法可以应用于图4所示的平板D。请参见图6,在平板D协同手机B进行视频通话的过程中,该方法可以包括如下步骤:
S601、平板D接收手机B发送的相机参数,相机参数包括采集图像的宽度信息和高度信息。
本实施例中,用width表示图像的宽度,用hight表示图像的高度。手机B向平板D发送的相机参数中包括width和hight。
该相机参数中还可以包括图像的分辨率、采集图像的帧率以及色彩空间等信息。
S602、根据宽度信息和高度信息,确定第一目标容量。
发明人经过分析发现,用于存储采集的原始图像数据和用于存储对原始图像数据进行色彩转换处理后的图像数据,所需申请的内存大小的较为固定的,该内存大小都只与采集图像的宽度信息和高度信息有关。
第一目标容量的大小可以通过如下的公式(4)计算得到。
其中,memorySize表示内存容量。
S603、申请第一内存空间和第二内存空间,第一内存空间的容量和第二内存空间的容量均等于第一目标容量。
本步骤中,在一次申请过程中申请了两块内存空间。
S604、在采集第一图像帧后,将第一图像帧对应的第一图像数据和对第一图像帧进行处理后得到的至少一组第一相关图像数据轮流存储到第一内存空间和第二内存空间。
例如,平板D采集图像帧a0后,将图像帧a0存储到第一内存空间中;
接着,平板D从第一内存空间中取出图像帧a0,对图像帧a0进行第一次色彩转换处理,得到图像数据a1,将图像数据a1存储到第二内存空间中;
接着,平板D从第二内存空间中取出图像数据a1,对图像数据a1进行第二次色彩转换处理,得到图像数据a2,将图像数据a2存储到第一内存空间中;
然后,平板D从第一内存空间中取出图像数据a2,对图像数据a2进行编码处理,得到编码图像数据a3,申请内存4,将编码图像数据a3存储到内存4中;
然后,平板D从内存4中取出编码图像数据a3,将编码图像数据a3发送给手机B。
对图像帧a0处理完毕、并编码图像数据a3发送给手机B后,平板D不释放第一内存空间和第二内存空间,直接将第一内存空间和第二内存空间用于后续采集的图像帧的处理。
对于在图像帧a0之后采集的同样大小的图像帧b0、图像帧c0、图像帧d0……等图像,平板D采用与处理图像帧a0同样的方式对原始图像帧数据和处理之后的图像数据进行存储。
如果在一次协同视频通话过程中,平板D采集的图像帧的宽度和高度始终没变,第一内存空间和第二内存空间一直保持到视频通话结束、相机关闭时再释放。
如果在一次协同视频通话过程中,平板D采集的图像帧的宽度和高度发生了变化,那么平板D会释放第一内存空间和第二内存空间,重新申请新的两块内存空间。
因此,对于协同视频通话过程中采集的第二帧及其以后的图像帧,可以采用图7所示的流程进行处理。
图7为示例性示出的内存管理方法的另一种流程示例图。请参见图7,在平板D协同手机B进行视频通话的过程中,该方法还可以包括如下步骤:
S701、采集图像帧。
S702、判断图像帧对应的数据量是否等于第一目标容量,如果是,执行步骤S703,否则,执行步骤S704。
S703、将图像帧对应的第二图像数据和对第二图像帧进行处理后得到的至少一组第二相关图像数据轮流存储到第一内存空间和第二内存空间,本帧图像处理结束。
S704、根据图像帧对应的图像数据的长度确定第二目标容量。
S705、申请第三内存空间和第四内存空间,第三内存空间的容量和第四内存空间的容量均等于第二目标容量。
在步骤S705之前、步骤S704之后,或在步骤S705之后,可以释放第一内存空间和第二内存空间。
S706、将图像帧对应的第二图像数据和对第二图像帧进行处理后得到的至少一组第二相关图像数据轮流存储到第三内存空间和第四内存空间,本帧图像处理结束。
举例说明。
平板D在处理了上述的图像帧a0之后,继续采集图像帧b0。
平板D判断图像帧b0对应的数据量是否等于第一目标容量,如果是,平板D将图像帧b0存储到第二内存空间中;
接着,平板D从第二内存空间中取出图像帧b0,对图像帧b0进行第一次色彩转换处理,得到图像数据b1,将图像数据b1存储到第一内存空间中;
接着,平板D从第一内存空间中取出图像数据b1,对图像数据b1进行第二次色彩转换处理,得到图像数据b2,将图像数据b2存储到第二内存空间中;
然后,平板D从第二内存空间中取出图像数据b2,对图像数据b2进行编码处理,得到编码图像数据b3,申请内存4,将编码图像数据b3存储到内存4中;
然后,平板D从内存4中取出编码图像数据b3,将编码图像数据b3发送给手机B。
然后,平板D在处理了上述的图像帧b0之后,采集的图像的宽度和/或高度发生了变化,导致需要申请的内存的容量发生变化。
平板D在处理了上述的图像帧b0之后,继续采集图像帧c0。
平板D判断图像帧c0对应的数据量是否等于第一目标容量,如果否,平板D根据图像帧c0对应的图像数据的长度确定第二目标容量;
平板D申请第三内存空间和第四内存空间,第三内存空间的容量和第四内存空间的容量均等于第二目标容量;
平板D将图像帧c0存储到第三内存空间中;
接着,平板D从第三内存空间中取出图像帧c0,对图像帧c0进行第一次色彩转换处理,得到图像数据c1,将图像数据c1存储到第四内存空间中;
接着,平板D从第四内存空间中取出图像数据c1,对图像数据c1进行第二次色彩转换处理,得到图像数据c2,将图像数据c2存储到第三内存空间中;
然后,平板D从第三内存空间中取出图像数据c2,对图像数据c2进行编码处理,得到编码图像数据c3,将编码图像数据c3存储到内存4中;
然后,平板D从内存4中取出申请内存4,编码图像数据c3,将编码图像数据c3发送给手机B。
……
以此类推。
在一个示例中,当协同视频通话结束,上述内存管理方法还可以包括如下步骤:
接收关闭相机的指令;
释放第一内存空间和第二内存空间。
本申请实施例提供的内存管理方法,申请内存后,如果内存一直可以被图像帧使用(即采集的图像帧的大小没变),那么内存直到视频通话结束后关闭相机时再释放,这样就不需要为采集的每一个图像帧都申请内存和释放内存,从而减少了图像的处理耗时。
本申请实施例提供的内存管理方法,申请一次内存后可以多次使用,直到视频通话结束后关闭相机时再释放内存,减少了图像帧处理过程中因频繁申请内存所用的耗时,降低了每一帧图像的处理时延。
本申请实施例还提供一种电子设备,该电子设备包括存储器和处理器,存储器与处理器耦合,存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备前述电子设备所执行的图像帧处理方法。
本申请实施例还提供一种电子设备,该电子设备包括存储器和处理器,存储器与处理器耦合,存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备前述电子设备所执行的内存管理方法。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的图像帧处理方法。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的内存管理方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的图像帧处理方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的内存管理方法。
另外,本申请实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的图像帧处理方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (10)

1.一种图像帧处理方法,其特征在于,应用于第一电子设备,所述第一电子设备与第二电子设备进行协同,所述第一电子设备上的通话视频切换到所述第二电子设备上,所述第二电子设备采集视频图像帧,发送给所述第一电子设备,所述方法包括:
接收第二电子设备发送的第一图像帧,所述第一图像帧属于所述第一电子设备上的目标应用,所述第一图像帧对应的时间戳为第一时间戳;
根据所述第一时间戳所示时间最近接收到的属于所述目标应用的第一数量个图像帧的时间戳,确定所述第一电子设备接收图像数据的第一帧率,包括:获取所述第一时间戳与第一目标时间戳之间的时间差,所述第一目标时间戳为所述第一数量个图像帧的时间戳中最小的时间戳;根据所述时间差与所述第一数量,确定所述电子设备当前接收图像数据的第一帧率;
根据所述第一帧率和目标帧率,获得所述第一图像帧对应的第一丢帧率,所述目标帧率为所述第一电子设备向所述目标应用发送图像数据的帧率,包括:获取所述第一帧率与所述目标帧率之间的帧率差值;根据所述帧率差值和所述第一帧率确定第一丢帧率,第一丢帧率等于所述帧率差值除以所述第一帧率所得的;
根据所述第一丢帧率更新累计丢帧率;
如果更新后的累计丢帧率大于或等于第一值,丢弃所述第一图像帧。
2.根据权利要求1所述的方法,其特征在于,根据所述第一丢帧率更新累计丢帧率,包括:
获取所述第一图像帧的前一图像帧对应的第一累计丢帧率;
根据所述第一累计丢帧率和所述第一丢帧率,确定更新后的累积丢帧率,更新后的累积丢帧率等于所述第一累计丢帧率和所述第一丢帧率的和。
3.根据权利要求1所述的方法,其特征在于,如果更新后的累计丢帧率大于或等于第一值,丢弃所述第一图像帧,以便所述目标应用不显示所述第一图像帧之后,还包括:
将累计丢帧率的值更新为累计丢帧率与所述第一值的差。
4.根据权利要求3所述的方法,其特征在于,将累计丢帧率的值更新为累计丢帧率与所述第一值的差之后,还包括:
接收所述第二电子设备发送的第二图像帧,所述第二图像帧属于所述目标应用,所述第二图像帧对应的第二时间戳大于所述第一时间戳;
根据所述第二时间戳所示时间最近接收到的属于所述目标应用的第一数量个图像帧的时间戳,确定所述第一电子设备接收图像数据的第二帧率;
根据所述第二帧率和所述目标帧率,获得所述第二图像帧对应的第二丢帧率;
根据所述第二丢帧率更新累计丢帧率;
如果更新后的累计丢帧率小于或等于第二值,将第二图像帧发送给所述目标应用,所述第二值小于所述第一值。
5.根据权利要求4所述的方法,其特征在于,将第一目标图像帧发送给所述目标应用,以便所述目标应用显示所述第一目标图像帧之后,还包括:
将累计丢帧率的值更新为累计丢帧率与所述第二值的差。
6.根据权利要求3所述的方法,其特征在于,将累计丢帧率的值更新为累计丢帧率与所述第一值的差之后,还包括:
接收所述第二电子设备发送的第三图像帧,所述第三图像帧属于所述目标应用,所述第三图像帧对应的第三时间戳大于所述第一时间戳;
根据所述第三时间戳所示时间最近接收到的属于所述目标应用的第一数量个图像帧的时间戳,确定所述第一电子设备接收图像数据的第三帧率;
根据所述第三帧率和所述目标帧率,获得所述第三图像帧对应的第三丢帧率;
根据所述第三丢帧率更新累计丢帧率;
如果更新后的累计丢帧率小于所述第一值且大于第二值,将所述第三图像帧发送给所述目标应用。
7.根据权利要求1所述的方法,其特征在于,所述第一数量小于预设数量值。
8.根据权利要求1所述的方法,其特征在于,所述第一电子设备为智能手机,所述第二电子设备为个人电脑、平板或智慧屏。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行权利要求1-8中任意一项所述的图像帧处理方法。
10.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任意一项所述的图像帧处理方法。
CN202210859314.1A 2022-07-21 2022-07-21 图像帧处理方法及电子设备 Active CN116055802B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210859314.1A CN116055802B (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备
CN202410161133.0A CN118138836A (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210859314.1A CN116055802B (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410161133.0A Division CN118138836A (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN116055802A CN116055802A (zh) 2023-05-02
CN116055802B true CN116055802B (zh) 2024-03-08

Family

ID=86114046

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410161133.0A Pending CN118138836A (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备
CN202210859314.1A Active CN116055802B (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410161133.0A Pending CN118138836A (zh) 2022-07-21 2022-07-21 图像帧处理方法及电子设备

Country Status (1)

Country Link
CN (2) CN118138836A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117478929B (zh) * 2023-12-28 2024-03-08 昆明中经网络有限公司 一种基于ai大模型的新媒体精品影像处理***

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置
CN108566550A (zh) * 2018-07-03 2018-09-21 广州视源电子科技股份有限公司 老化测试方法、装置及电子设备
CN108600794A (zh) * 2018-05-21 2018-09-28 深圳市梦网科技发展有限公司 一种丢帧率的校正方法、装置及终端
CN108632624A (zh) * 2017-12-18 2018-10-09 百富计算机技术(深圳)有限公司 图像数据处理方法、装置、终端设备及可读存储介质
CN109451248A (zh) * 2018-11-23 2019-03-08 广州酷狗计算机科技有限公司 视频数据的处理方法、装置、终端及存储介质
CN110832870A (zh) * 2018-10-30 2020-02-21 深圳市大疆创新科技有限公司 一种数据处理方法、设备及穿越机眼镜
CN110913118A (zh) * 2018-09-17 2020-03-24 腾讯数码(天津)有限公司 视频处理方法、装置及存储介质
CN111932463A (zh) * 2020-08-26 2020-11-13 腾讯科技(深圳)有限公司 图像处理方法、装置、设备及存储介质
CN112822505A (zh) * 2020-12-31 2021-05-18 杭州星犀科技有限公司 音视频丢帧方法、装置、***、存储介质和计算机设备
CN113556505A (zh) * 2020-04-23 2021-10-26 杭州海康威视数字技术股份有限公司 数据处理方法、装置、电子设备及可读存储介质
CN114493982A (zh) * 2022-02-17 2022-05-13 深圳欧克曼技术有限公司 一种防丢帧的视频处理方法和设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632624A (zh) * 2017-12-18 2018-10-09 百富计算机技术(深圳)有限公司 图像数据处理方法、装置、终端设备及可读存储介质
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置
CN108600794A (zh) * 2018-05-21 2018-09-28 深圳市梦网科技发展有限公司 一种丢帧率的校正方法、装置及终端
CN108566550A (zh) * 2018-07-03 2018-09-21 广州视源电子科技股份有限公司 老化测试方法、装置及电子设备
CN110913118A (zh) * 2018-09-17 2020-03-24 腾讯数码(天津)有限公司 视频处理方法、装置及存储介质
CN110832870A (zh) * 2018-10-30 2020-02-21 深圳市大疆创新科技有限公司 一种数据处理方法、设备及穿越机眼镜
CN109451248A (zh) * 2018-11-23 2019-03-08 广州酷狗计算机科技有限公司 视频数据的处理方法、装置、终端及存储介质
CN113556505A (zh) * 2020-04-23 2021-10-26 杭州海康威视数字技术股份有限公司 数据处理方法、装置、电子设备及可读存储介质
CN111932463A (zh) * 2020-08-26 2020-11-13 腾讯科技(深圳)有限公司 图像处理方法、装置、设备及存储介质
CN112822505A (zh) * 2020-12-31 2021-05-18 杭州星犀科技有限公司 音视频丢帧方法、装置、***、存储介质和计算机设备
CN114493982A (zh) * 2022-02-17 2022-05-13 深圳欧克曼技术有限公司 一种防丢帧的视频处理方法和设备

Also Published As

Publication number Publication date
CN118138836A (zh) 2024-06-04
CN116055802A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
WO2022258024A1 (zh) 一种图像处理方法和电子设备
JP7085014B2 (ja) ビデオ符号化方法並びにその装置、記憶媒体、機器、及びコンピュータプログラム
CN116055786B (zh) 一种显示多个窗口的方法及电子设备
CN116320783B (zh) 一种录像中抓拍图像的方法及电子设备
CN114071197A (zh) 投屏数据处理方法和装置
CN116055802B (zh) 图像帧处理方法及电子设备
CN115802146B (zh) 一种录像中抓拍图像的方法及电子设备
CN115802148B (zh) 一种获取图像的方法及电子设备
CN116708753B (zh) 预览卡顿原因的确定方法、设备及存储介质
CN116052701B (zh) 一种音频处理方法及电子设备
CN114945019B (zh) 数据传输方法、装置及存储介质
WO2022193141A1 (zh) 多媒体文件的播放方法及相关装置
CN115460343A (zh) 图像处理方法、设备及存储介质
CN114793283A (zh) 图像编码方法、图像解码方法、终端设备及可读存储介质
CN115776532B (zh) 一种录像中抓拍图像的方法及电子设备
CN117082295B (zh) 图像流处理方法、设备及存储介质
CN115802147B (zh) 一种录像中抓拍图像的方法及电子设备
WO2022206600A1 (zh) 一种投屏方法、***及相关装置
CN116028383B (zh) 缓存管理方法及电子设备
CN117560574B (zh) 一种拍摄方法、电子设备和可读存储介质
WO2022089621A1 (zh) 图像帧存储方法、拍照方法及电子设备
CN114745542A (zh) 编码方法、电子设备、通信***、存储介质和程序产品
CN117294690A (zh) 一种评估QoE的方法及电子设备
CN116149870A (zh) 屏幕信息上报方法及***、电子设备、存储介质
CN117956264A (zh) 拍摄方法、电子设备、存储介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant