CN113938631B - 一种基准监视器、图像帧截取方法及系统 - Google Patents

一种基准监视器、图像帧截取方法及系统 Download PDF

Info

Publication number
CN113938631B
CN113938631B CN202111435926.XA CN202111435926A CN113938631B CN 113938631 B CN113938631 B CN 113938631B CN 202111435926 A CN202111435926 A CN 202111435926A CN 113938631 B CN113938631 B CN 113938631B
Authority
CN
China
Prior art keywords
image
frame
image frames
image frame
stored
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
CN202111435926.XA
Other languages
English (en)
Other versions
CN113938631A (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.)
Qingdao Xinxin Microelectronics Technology Co Ltd
Original Assignee
Qingdao Xinxin Microelectronics Technology 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 Qingdao Xinxin Microelectronics Technology Co Ltd filed Critical Qingdao Xinxin Microelectronics Technology Co Ltd
Priority to CN202111435926.XA priority Critical patent/CN113938631B/zh
Publication of CN113938631A publication Critical patent/CN113938631A/zh
Application granted granted Critical
Publication of CN113938631B publication Critical patent/CN113938631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本申请实施例提供了一种基准监视器、图像帧截取方法及系统,由于在本申请实施例中通过最后被存储的设定数量的图像帧确定参考值和目标帧,确定重放的视频中的每个图像帧与目标帧的第一偏差,基于该第一偏差和参考值,在重放的视频中找到目标帧,并基于该目标帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧,从而保证截取到满足数量要求的连续的图像帧。

Description

一种基准监视器、图像帧截取方法及系统
技术领域
本申请涉及基准监视器技术领域,尤其涉及一种基准监视器、图像帧截取方法及系统。
背景技术
与常见的家用显示器不同,基准级广播监视器对亮度、对比度、色域、产品信赖性等都要求极为苛刻,是专业人士衡量、评判、决策图像的依据。基准级广播监视器在业内也被视为影像画质领域的“米原器”,是一杆画质标尺。
为了能够方便使用者通过上位机进行场景比对,通常会在基准监视器中增加图像截取功能,然而目前基准监视器的图像截取功能只能将视频暂停,然后截取图像并保存,无法截取连续图像帧。另外应用于其他设备的截取连续图像帧的方法一般做法是,将已经截取的图像帧存储在双倍速率(Double Data Rate,DDR)存储器中,再从DDR中导出每一帧对应的图像,截取图像帧数量的多少取决于DDR存储空间的大小。
DDR是内存的一种,存储空间有限,而且不能无限制扩容。如果需要截取的图像帧大于DDR存储的空间的大小,只能从DDR中将存储的图像帧导出后再截取图像帧,但是将该截取连续图像帧的方法应用到基准监视器上,再将视频存储到DDR中时,由于不知道已经截取到哪个图像帧了,因此无法准确地确定继续进行截取的位置,从而无法保证截取到满足数量要求的连续的图像帧。
发明内容
本申请实施提供一种基准监视器、图像帧截取方法及系统,用以解决现有技术中由于DDR存储空间有限,无法准确地截取连续的图像帧的问题。
第一方面,一种基准监视器,所述基准监视器包括:
微控制单元MCU,用于接收上位机发送的图像截取的指令,将所述指令发送给现场可编程逻辑门阵列FPGA;
所述FPGA,用于获取所述指令中携带的待截取图像帧的数量;判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR存储器中;
所述DDR存储器,用于存储图像帧,并将存储的图像帧发送给所述FPGA;
所述FPGA,还用于将所述DDR存储器中存储的第一数量的图像帧发送给所述上位机;根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于每个所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
第二方面,一种基准监视器,所述基准监视器包括:
控制模块,用于接收上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量;判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将所述第一数量通知DDR写模块;
所述DDR写模块,用于向所述DDR存储器存入所述第一数量的图像帧;
DDR读模块,用于从所述DDR存储器读出所述第一数量的图像帧,并将所述第一数量的图像帧发送给数据缓存模块;
所述数据缓存模块,用于将所述第一数量的图像帧通过所述控制模块发送给所述上位机;
比对模块,用于根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧;并通知DDR写模块基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
第三方面,一种图像帧截取方法,所述方法包括:
若接收到上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量;
判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR中,并将所述DDR中存储的第一数量的图像帧发送给所述上位机;
根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;
针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR中存储图像帧。
第四方面,一种显示系统,所述显示系统包括上位机和基准监视器,所述上位机用于发送图像截取的指令和存储截取的图像帧。
本申请实施例提供了一种基准监视器、图像帧截取方法及系统,该基准监视器包括MCU,用于接收上位机发送的图像截取的指令,将所述指令发送给FPGA;FPGA,用于获取所述指令中携带的待截取图像帧的数量,判断当前DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR存储器中;所述DDR存储器,用于存储图像帧,并将存储的图像帧发送给所述FPGA;所述FPGA,还用于将所述DDR存储器中存储的第一数量的图像帧发送给所述上位机;根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。由于在本申请实施例中通过最后被存储的设定数量的图像帧确定参考值和目标帧,确定重放的视频中的每个图像帧与目标帧的第一偏差,基于该第一偏差和参考值,在重放的视频中找到目标帧,并基于该目标帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧,从而保证截取到满足数量要求的连续的图像帧。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基准监视器的结构示意图;
图2a为本申请实施例提供的另一种基准监视器的结构示意图;
图2b为本申请实施例提供的数据缓存模块的内部结构;
图2c为本申请实施例提供的比对模块的内部结构;
图3为本申请实施例提供的图像帧截取方法的过程示意图;
图4为本申请实施例提供的图像帧截取方法的控制流程图;
图5为本申请实施例提出的图像帧截取方法的另一控制流程图;
图6为本申请实施例提供的一种显示系统的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请的实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种基准监视器、图像帧截取方法及系统,该基准监视器包括MCU,用于接收上位机发送的图像截取的指令,将所述指令发送给FPGA;FPGA,用于获取所述指令中携带的待截取图像帧的数量,判断当前DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR存储器中;所述DDR存储器,用于存储图像帧,并将存储的图像帧发送给所述FPGA;所述FPGA,还用于将所述DDR存储器中存储的第一数量的图像帧发送给所述上位机;根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。由于在本申请实施例中通过最后被存储的设定数量的图像帧确定参考值和目标帧,确定重放的视频中的每个图像帧与目标帧的第一偏差,基于该第一偏差和参考值,在重放的视频中找到目标帧,并基于该目标帧及剩余的待截取图像帧的数量,继续向DDR中存储图像帧,从而保证截取到满足数量要求的连续的图像帧。
实施例1:
本申请实施例提供了一种基准监视器图1为本申请实施例提供的一种基准监视器的结构示意图,如图1所示,该基准监视器包括:微控制单元(Microcontroller Unit,MCU)101、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)102和双倍速率DDR存储器103:
其中,MCU101:用于接收上位机发送的图像截取的指令,将所述指令发送给FPGA102;
FPGA102,用于获取所述指令中携带的待截取图像帧的数量;判断当前DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR存储器中;
所述DDR存储器103,用于存储图像帧,并将存储的图像帧发送给所述FPGA;
所述FPGA102,还用于将所述DDR存储器中存储的第一数量的图像帧发送给所述上位机;根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于每个所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
基准监视器与上位机之间可以通过通用串行总线(Universal Serial Bus,USB)协议连接,基准监视器包括的MCU起到数据控制及转换的作用。基准监视器以播放视频,当基准监视器的使用者发现需要截取的内容时,使用者可以通过与基准监视器连接的上位机,向基准监视器发送图像截取的指令,其中该图像截取的指令中可以携带待截取图像帧的数量,上位机可以是PC、移动终端等。基准监视器中的MCU在接收到上位机发送的图像截取的指令后,可以将接收到的图像截取的指令基于串行外设接口(Serial PeripheralInterface,SPI)通信协议发送给FPGA。
DDR存储器是内存的一种,但其存储空间有限,而且不能无限制扩容,例如基准监视器在设计时,DDR存储器的存储空间能存储的图像帧的数量为N,但是在实际使用基准监视器时,可能需要截取连续2N或3N个图像帧,或者更多的图像帧时,单纯依靠DDR存储器的存储能力已经无法满足需求,因此,就需要考虑如何分成多次依次将接收到的图像帧存储到DDR存储器中。
具体的,在本申请实施例中,当FPGA接收到MCU发送的图像截取的指令后,FPGA可以获取接收到的指令中携带的待截取图像帧的数量,为了确定是否能够将待截取图像帧全部存储在DDR存储器中,FPGA可以根据待截取图像帧的数量以及DDR存储器的剩余存储空间,判断当前DDR存储器的剩余存储空间是否能够存储该数量的图像帧,若当前DDR存储器的剩余存储空间不能存储该数量的图像帧,可以根据当前DDR存储器的剩余存储空间,确定当前DDR存储器能够存储的图像帧的第一数量,根据第一数量,将接收到的视频中的第一数量的图像帧存储到DDR存储器。
DDR存储器可以存储接收到的图像帧,并按照存储的先后顺序将DDR存储器中存储的图像帧发送给FPGA,以便FPGA将连续的图像帧发送给上位机。具体的,FPGA可以将接收到的DDR存储器中存储的图像帧发送给MCU,MCU基于SPI将图像帧发送给上位机。
由于DDR存储器中只存储了第一数量的图像帧,还剩余一部分图像帧没有进行存储,并且由于图像帧的播放速度,与图像帧的存取速度之间的差异,为了获取到连续的图像帧,需要对视频进行重放,并在重放的视频中准确找到下一个需要存储的图像帧。因此在本申请实施例中,根据已经存储到DDR存储器中的最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值和最后被接收到的目标帧。其中该目标帧可以是该最后被存储的设定数量的图像帧中的任意一帧。对于播放的视频来说,视频中邻近图像帧的像素点的像素值差异一般是很小的,可以基于该目标帧及最后被存储的设定数量的图像帧中的其他图像帧,根据该其他图像帧与该目标帧中的每个像素点的像素值确定参考值。因为该最后被存储的设定数量的图像帧中的其他图像帧可能不止一个,因此确定的参考值也可能不止一个,即确定了至少一个参考值。
为了方便后续查找该目标帧的下一帧,在本申请实施例中包含该至少一个参考值及该目标帧的信息。
当确定了参考值及目标帧之后,基准监视器可以重新播放视频,针对重放的视频中的每个图像帧,可以根据该图像帧的像素点的像素值与目标帧中的像素点的像素值,确定该图像帧与目标帧的第一偏差。因为参考值是根据目标帧及其邻近图像帧确定的,一般情况下,只有目标帧与目标帧的偏差才会小于参考值,因此当在重放的视频中存在一个图像帧与目标帧的像素点的像素值的第一偏差小于每个参考值时,则认为找到了目标帧,并将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,从该图像帧之后的设定图像帧位置开始,针对每一个图像帧继续向DDR存储器中存储剩余数量的图像帧,其中剩余数量是根据图像截取的指令中携带的待截取图像帧的数量和第一数量确定的。
具体的,若剩余的待截取图像帧的数量大于当前DDR存储器的剩余存储空间能够存储图像帧的数量,则根据当前DDR存储器的剩余存储空间,确定DDR存储器能够存储的图像帧的第二数量,将重新播放的视频中该第二数量的图像帧存储到DDR存储器中,确定剩余的待截取图像帧的数量,为了方便描述将该数量称为剩余数量,若该剩余数量不大于当前DDR存储器的剩余存储空间能够存储图像帧的数量,则将重新播放的视频中该剩余数量的图像帧存储到DDR存储器中。
由于在本申请实施例中通过最后被存储的设定数量的图像帧确定参考值和目标帧,确定重放的视频中的每个图像帧与目标帧的第一偏差,基于该第一偏差和参考值,在重放的视频中找到目标帧,并基于该目标帧及剩余的待截取图像帧的数量,继续向DDR中存储图像帧,从而保证截取到满足数量要求的连续的图像帧。
实施例2:
为了方便确定需要存储的下一个图像帧,在上述实施例的基础上,在本申请实施例中,所述FPGA,具体用于针对所述最后被存储的设定数量的图像帧,按照被存储的时间顺序对所述设定数量的图像帧进行排序,将非最后一个图像帧确定为目标帧;根据所述设定数量的图像帧中的其他图像帧与所述目标帧中每个像素点的像素值,确定像素值差值的绝对值的和值,将所述和值作为参考值。
将第一数量的图像帧存储到DDR存储器中之后,可以按照被存储的时间顺序,将最后被存储的设定数量的图像帧进行排序,对于排序后的图像帧可以将最后被存储的设定数量的图像帧中非最后一个图像帧确定为目标帧,例如将该设定数量的图像帧中第一个或第二图像帧确定为目标帧。并且根据其他图像帧与该目标帧中每个像素点的像素值,确定其他图像帧与该目标帧之间对应像素点的像素值差值的绝对值,将差值的绝对值的和值确定为参考值。
具体的,为了在重新播放的图像帧中确定目标帧的下一个图像帧,最后被存储的设定数量的图像帧可以是3个、4个或5个等等,在本申请实施例中,设定数量为3个,并将最后被存储的设定数量的图像帧中倒数第二个图像帧确定为目标帧。
假设确定了DDR存储器能够存储的图像帧的第一数量为N,而图像截取的指令中携带的待截取图像帧的数量为2N,可以在接收到图像截取的指令后,将接收到的视频中的N个图像帧存储到DDR存储器中,但是待截取图像帧的数量为2N,还剩余N个图像帧没有存储到DDR存储器中,由于图像帧的播放速度,与图像帧的存取速度之间的差异,需要在重放的视频中准确找到下一个需要存储的图像帧,在本申请实施例中,获取DDR存储器中最后被存储的3个图像帧分别是第N-2个图像帧,第N-1个图像帧和第N个图像帧,可以将第N-1个图像帧确定为目标帧。分别计算第N-1个图像帧与第N-2个图像帧中的每个像素点的像素值差值的绝对值的和值,并计算第N-1个图像帧与第N个图像帧中的每个像素点的像素值差值的绝对值的和值,将经过计算得到的每个和值分别作为参考值。为了方便描述,可以将第N-1个图像帧与第N-2个图像帧的差值的绝对值的和值用ref1_sum_abs表示,将第N-1个图像帧与第N个图像帧的差值的绝对值的和值用ref2_sum_abs表示。
实施例3:
为了确定需要存储的目标帧,在上述各实施例的基础上,在本申请实施例中,所述FPGA,具体用于针对重放的所述视频中的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第一偏差。
在确定了参考值及目标帧之后,由于图像帧的播放速度,与图像帧的存取速度之间的差异,为了获取到连续的图像帧,需要对视频进行重放,并在重放的视频中准确找到目标帧。对于视频来说,视频中邻近图像帧的像素点的像素值差异一般是很小的,可以基于目标帧及重放的视频中的每个图像帧,根据该重放的视频中的图像帧及该目标帧中的每个像素点的像素值确定重放的视频中的目标帧。具体的,可以计算该重放的视频中的图像帧的每个像素点的像素值与目标帧中的每个像素点的像素值差值的绝对值的和值,将获取的和值作为该图像帧与目标帧的第一偏差,基于该第一偏差及每个参考值确定重放的视频中的目标帧。具体的,如第一偏差小于每个参考值,则确定该第一偏差对应的图像帧为重放的视频中的目标帧。当前确定了重放的视频中的目标帧后,可以从该目标帧之后的设定图像帧位置开始继续向DDR存储器中存储图像帧。
具体的,若确定的目标帧为第N-1个图像帧,获取到的参考值分别为ref1_sum_abs和ref2_sum_abs。针对重放的视频中的每个图像帧,计算该个图像帧的每个像素点的像素值与目标帧中的每个像素点的像素值差值的绝对值的和值,将该和值作为该图像帧与目标帧的第一偏差,为了方面描述,可以将该第一偏差表示为sum_abs_tmp,若sum_abs_tmp<ref1_sum_abs并且sum_abs_tmp<ref2_sum_abs,则将该图像帧确定为目标帧。为了提高图像帧截取的效率,其中重放的视频的位置可以是上一次向DDR中存储图像帧开始位置之前。
实施例4:
为了保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述FPGA,具体用于继续向所述DDR存储器中存储图像帧之后,针对所述DDR存储器中存储的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第二偏差。
当第一偏差小于每个参考值时,可以将该第一偏差对应的图像帧作为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧。具体的需要向该DDR存储器存储的图像帧的数量在上述实施例中已经描述,在此不再赘述。
为了保证图像帧截取的准确性,当将相应数量的图像帧存储到DDR存储器中后,需要判断确定的目标帧是否正确,在本申请实施例中可以针对DDR存储器中存储的每个图像帧,获取该图像帧的每个像素点的像素值与目标帧中的每个像素点的像素值差值的绝对值的和值,将该和值作为该图像帧与目标帧的第二偏差,该第二偏差将作为后续确定目标帧数量的依据。
具体的,在继续向DDR存储器中存储图像帧之后,若向DDR存储器中存储了n个图像帧,则可以获取到第二偏差,为了方便描述,可以将该n个第二偏差分别表示为sum_abs_tmp1,sum_abs_tmp2,……,sum_abs_tmpn。
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述FPGA,具体用于若第二偏差小于每个参考值,保存该第二偏差,并对保存的次数进行更新;判断更新后的次数是否等于设定数值,若是,将所述DDR存储器中存储的图像帧发送给所述上位机;若否,将所述DDR存储器中存储图像帧清空,并再次重放所述视频中的每个图像帧,根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧,并基于确定为目标帧的图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
为了确定是否将存储的各图像帧发送给上位机,可以将小于每个参考值的第二偏差进行保存,并且每次保存第二偏差时,对保存的次数进行更新,以此来记录找到目标帧的数量。
为了保证图像帧截取的准确性,可以判断更新后的次数是否等于设定数值,该设定数值为1,若更新后的次数等于设定数值,可以理解为只找到一个目标帧,说明查找的结果是准确的,将DDR存储器中存储的图像帧发送给上位机,基准监视器的使用者可以通过与基准监视器连接的上位机查看截取的图像帧是否正确,若正确,使用者则可以发送存储图像帧的指令,由上位机将接收到的每个图像帧保存到预设的存储位置;若不正确,使用者可以重新截取图像,当发现需要截取的内容时,使用者可以通过上位机向基准监视器重新发送图像截取的指令,其中该图像截取的指令中携带待截取图像帧的数量,基准监视器中的MCU在接收到上位机重新发送的图像截取的指令后,将接收到的图像截取的指令基于SPI通信协议发送给FPGA开始重新截取图像。
若更新后的次数不等于设定数值,说明确定的目标帧不正确,获取到了多个目标帧或者未获取到目标帧,需要将DDR存储器中存储的图像帧清空,并再次重放视频。针对重放的视频中的每个图像帧,重新计算该图像帧的每个像素点的像素值与目标帧的每个像素点的像素值差值的绝对值的和值,将该和值确定为该图像帧与目标帧的第三偏差。根据第三偏差及每个参考值,来确定图像帧中的目标帧。
具体的,在本申请实施例中,若第二偏差小于每个参考值,则认为查找到了目标帧,为了方便描述可以在上述各实施例的基础上,将第二偏差小于每个参考值表示为sum_abs_tmp<ref1_sum_abs&&sum_abs_tmp<ref2_sum_abs,当第二偏差小于每个参考值时,可以将该第二偏差保存到预设位置,并对保存的次数进行更新,将第二偏差保存到预设位置是为了清楚每个小于参考值的偏差,可以将保存的第二偏差表示为sum_abs_tmp1,sum_abs_tmp2,……,sum_abs_tmpm,即已经保存了m个第二偏差。
同样,保存的次数可以表示为capture_count,capture_count的初始值为0,当对保存的次数进行更新时capture_count便会增加1。若更新后的次数capture_count=1,则认为正确查找到了目标帧,存入DDR存储器中的图像帧是正确的,可以将DDR存储器中存储的图像帧发送给上位机,使上位机将接收到的每个图像帧保存到预设的存储位置;若更新后的次数capture_count!=1,则认为没有正确查找到目标帧,需要将DDR存储器中存储的图像帧清空,并再次重放视频。针对重放的视频中的每个图像帧,根据每个图像帧与目标帧的第三偏差来确定图像帧中的目标帧。
实施例5:
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述FPGA,具体用于若更新后的次数小于设定数值,则针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于每个所述参考值,将该图像帧确定为目标帧。
若更新后的次数小于设定数值,则说明没有查找到目标帧,需要重新查找,所以针对再次重放的视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若该第三偏差小于每个参考值,将该图像帧确定为目标帧。并基于该图像帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧。
具体的,在上述各实施例的基础上,若更新后的次数capture_count=0,则认为没有查找到目标帧,一般情况认为该再次重新播放的视频为静止画面,需要重新查找目标帧。
实施例6:
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述FPGA,具体用于若更新后的次数大于设定数值,则将保存的所述第二偏差中的次小值更新为参考值,针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于所述参考值,将该图像帧确定为目标帧。
当向所述DDR存储器中存储图像帧之后,为了保证图像帧截取的准确性,需要根据更新后的次数是否等于设定数值来判断是否准确查找到了目标帧,若更新后的次数大于设定数值,则说明查找到的目标帧的数量比较多,需要进一步缩小参考值的范围。因此在本申请实施例中,若更新后的次数大于设定数值,获取到保存的多个第二偏差中的次小值,采用该次小值对其中一个参考值进行更新,并删除其他的参考值。基准监视器再次重放视频,针对再次重放的视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧的像素点的像素值,确定该图像帧与目标帧的第三偏差,若该第三偏差小于参考值,即该第三偏差小于第二偏差中的次小值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧。
具体的,在上述各实施例的基础上,若更新后的次数capture_count>1,则认为无法准确查找出重放的视频中的目标帧(第N-1个图像帧),需要在保存的第二偏差sum_abs_tmp1~m中获取到次小值,并将该次小值作为参考值,同时删除其他参考值。针对再次重放的视频中的每个图像帧,确定该图像帧与目标帧(第N-1个图像帧)的像素点的像素值差值的绝对值的和值sum_abs_tmp,当查找到sum_abs_tmp小于该次小值时,则认为找到了目标帧,并且将该sum_abs_tmp保存,此时capture_count也将重新开始记录保存的次数,为了方便区分每个sum_abs_tmp,在获取到次小值之后,可以将之前保存的偏差sum_abs_tmp1~m删除。
实施例7:
图2a为本申请实施例提供的另一种基准监视器的结构示意图,如图2a所示,该基准监视器20包括:
控制模块201,用于接收上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量;判断当前DDR的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将所述第一数量通知DDR写模块;
所述DDR写模块202,用于向所述DDR存储器存入所述第一数量的图像帧;
DDR读模块203,用于从所述DDR存储器读出所述第一数量的图像帧,并将所述第一数量的图像帧发送给数据缓存模块;
所述数据缓存模块204,用于将所述第一数量的图像帧通过所述控制模块发送给所述上位机;
比对模块205,用于根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧;并通知DDR写模块基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
在本申请实施例中,控制模块201接收到MCU发送的图像截取的指令后,控制模块201可以获取接收到的指令中携带的待截取图像帧的数量,为了确定是否能够将待截取图像帧全部存储在DDR存储器中,控制模块201可以根据待截取图像帧的数量以及DDR存储器的剩余存储空间,判断当前DDR存储器的剩余存储空间是否能够存储该数量的图像帧,若当前DDR存储器的剩余存储空间不能存储该数量的图像帧,可以根据当前DDR存储器的剩余存储空间,确定当前DDR存储器能够存储的图像帧的第一数量,将该第一数量通知给DDR写模块202。
DDR写模块202在接收到控制模块201通知的第一数量之后,可以将视频中包含的第一数量的图像帧存储到DDR存储器中。为了能够将DDR存储器中存储的第一数量的图像帧发送给上位机,DDR读模块203可以将DDR存储器中存储的第一数量的图像帧读取出来并发送给数据缓存模块204,由数据缓存模块204通过控制模块201发送给上位机。具体的,DDR读模块203从DDR存储器中读取存储的每个图像帧,按照行为单位存储到数据缓存模块204之后,数据缓存模块204基于SPI通信协议将接收到的数据发送给控制模块201,由控制模块201通过USB接口发送给上位机,上位机在接收到USB接口发送的数据之后重新组合成一个完整的图像帧,并存储到预设的存储位置。
DDR读模块203将从DDR存储器中读取出来的第一数量的图像帧发送给数据缓存模块204,而不是直接发送给控制模块201,是为了解决DDR写模块202和DDR读模块203的读写速度与控制模块201中的SPI子模块读写速度不同的问题,其中SPI子模块可以完成对数据的控制,实现数据通讯,控制模块201中还包括控制子模块,实现对指令的解析处理,第一数量的确定等。
图2b为本申请实施例提供的数据缓存模块204的内部结构,如图2b所示,数据缓存模块204中包括第一缓存存储子模块2041、第二缓存存储子模块2042和选择子模块2043。
因为DDR写模块202和DDR读模块203的读写速度与控制模块201中的SPI子模块读写速度是不同的,DDR读模块203将存储在DDR存储器中的图像帧读取出来后,很可能控制模块201中的SPI子模块还没有将上一个图像帧发送给上位机,因此在本申请实施例中,第一缓存存储子模块2041和第二缓存存储子模块2042用于存储图像帧,第一缓存存储子模块2041和第二缓存存储子模块2042交替工作,选择子模块2043会根据读取的情况,实时的对工作的缓存存储子模块进行切换,从而解决控制模块201中的SPI子模块与DDR写模块202和DDR读模块203读取数据速度不同步的问题。
由于DDR存储器中只存储了第一数量的图像帧,还剩余一部分图像帧没有进行存储,并且由于图像帧的播放速度,与图像帧的存取速度之间的差异,为了获取到连续的图像帧,需要对视频进行重放,通过比对模块205在重放的视频中准确找到下一个需要存储的图像帧。
具体的,比对模块205可以根据已经存储到DDR存储器中的最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值和最后被接收到的目标帧。其中该目标帧可以是该最后被存储的设定数量的图像帧中的任意一帧。对于播放的视频来说,视频中邻近图像帧的像素点的像素值差异一般是很小的,可以基于该目标帧及最后被存储的设定数量的图像帧中的其他图像帧,根据该其他图像帧与该目标帧中的每个像素点的像素值确定参考值。因为该最后被存储的设定数量的图像帧中的其他图像帧可能不止一个,因此确定的参考值也可能不止一个,即确定了至少一个参考值。
当确定了每个参考值及目标帧之后,比对模块205针对重放的视频中的每个图像帧,可以根据该图像帧的像素点的像素值与目标帧中的像素点的像素值,确定该图像帧与目标帧的第一偏差。因为参考值是根据目标帧及其邻近图像帧确定的,一般情况下,只有目标帧与目标帧的偏差才会小于参考值,因此当在重放的视频中存在一个图像帧与目标帧的像素点的像素值的第一偏差小于每个参考值时,则认为找到了目标帧,并将该图像帧确定为目标帧,比对模块205通知DDR写模块202,DDR写模块202从该图像帧之后的设定图像帧位置开始,针对每一个图像帧继续向DDR存储器中存储剩余数量的图像帧,其中剩余数量是根据图像截取的指令中携带的待截取图像帧的数量和第一数量确定的。
具体的,控制模块201根据已经确定的第一数量和图像截取的指令中携带的待截取图像帧的数量,能够确定剩余的待截取图像帧的数量,为了方便描述将该数量称为剩余数量,控制模块201通过判断当前DDR存储器的剩余存储空间是否能存储该剩余数量的图像帧,若剩余数量大于当前DDR存储器的剩余存储空间能够存储图像帧的数量,则根据当前DDR存储器的剩余存储空间,确定DDR存储器能够存储的图像帧的第二数量,控制模块201将该第二数量通知给DDR写模块202,DDR写模块202将重新播放的视频中该第二数量的图像帧存储到DDR存储器中;若该剩余数量不大于当前DDR存储器的剩余存储空间能够存储图像帧的数量,控制模块201将该剩余数量通知给DDR写模块202,DDR写模块202则将重新播放的视频中该剩余数量的图像帧存储到DDR存储器中。
在本申请实施例中,基准监视器还包括接收模块206、图像处理模块207、发送模块208、系统级芯片(System on Chip,SOC)209和显示器2010。基准监视器可以接收输入设备发送的视频,在接收到视频之后,接收模块206将对视频数据进行串并转换,即将输入设备的串行数据转换成并行的数字信号,将经过转换的数字信号发送给图像处理模块207;图像处理模块207对接收模块206传来的图像帧的数字信号进行不同的图像处理,比如进行高动态范围(High-Dynamic Range,HDR)处理,混合对数型伽玛(Hybrid Log Gamma,HLG)处理,标准动态范围(Standard Dynamic Range,SDR)等处理,将经过处理的图像帧的数字信号存储到DDR存储器中,还可以将处理后的图像帧发送给SOC209从而在显示器2010上显示。
由于在本申请实施例中通过最后被存储的设定数量的图像帧确定参考值和目标帧,确定重放的视频中的每个图像帧与目标帧的第一偏差,基于该第一偏差和参考值,在重放的视频中找到目标帧,并基于该目标帧及剩余的待截取图像帧的数量,继续向DDR中存储图像帧,从而保证截取到满足数量要求的连续的图像帧。
实施例8:
为了方便确定需要存储的下一个图像帧,在上述实施例的基础上,在本申请实施例中,比对模块205,具体用于针对所述最后被存储的设定数量的图像帧,按照被存储的时间顺序对所述设定数量的图像帧进行排序,将非最后一个图像帧确定为目标帧;根据所述设定数量的图像帧中的其他图像帧与所述目标帧中每个像素点的像素值,确定像素值差值的绝对值的和值,将所述和值作为参考值。
DDR写模块202将第一数量的图像帧存储到DDR存储器中时,DDR存储器可以按照被存储的时间顺序,对存储的第一数量的图像帧进行排序。DDR读模块203从DDR存储器中读取最后被存储的设定数量的图像帧并发送给比对模块205,由比对模块205确定目标帧并计算最后被存储的设定数量的其他图像帧与目标帧之间对应像素点的像素值差值的绝对值,将差值的绝对值的和值确定为参考值。
具体的,为了在重新播放的图像帧中确定目标帧的下一个图像帧,最后被存储的设定数量的图像帧可以是3个、4个或5个等等,在本申请实施例中,设定数量为3个,并将最后被存储的设定数量的图像帧中倒数第二个图像帧确定为目标帧。
假设确定了DDR存储器能够存储的图像帧的第一数量为N,而图像截取的指令中携带的待截取图像帧的数量为2N,可以在接收到图像截取的指令后,由DDR写模块202将接收到的视频中的N个图像帧存储到DDR存储器中,但是待截取图像帧的数量为2N,还剩余N个图像帧没有存储到DDR存储器中,由于图像帧的播放速度,与图像帧的存取速度之间的差异,需要在重放的视频中准确找到下一个需要存储的图像帧,在本申请实施例中,获取DDR存储器中最后被存储的3个图像帧分别是第N-2个图像帧,第N-1个图像帧和第N个图像帧,可以将第N-1个图像帧确定为目标帧。由比对模块205分别计算第N-1个图像帧与第N-2个图像帧中的每个像素点的像素值差值的绝对值的和值,并计算第N-1个图像帧与第N个图像帧中的每个像素点的像素值差值的绝对值的和值,将经过计算得到的每个和值分别作为参考值。为了方便描述,可以将第N-1个图像帧与第N-2个图像帧的差值的绝对值的和值用ref1_sum_abs表示,将第N-1图像帧与第N帧图像帧的差值的绝对值的和值用ref2_sum_abs表示。
实施例9:
为了确定需要存储的目标帧,在上述各实施例的基础上,在本申请实施例中,比对模块205,具体用于针对重放的所述视频中的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第一偏差。
在确定了参考值及目标帧之后,由于图像帧的播放速度,与图像帧的存取速度之间的差异,为了获取到连续的图像帧,需要对视频进行重放,并在重放的视频中准确找到目标帧。对于视频来说,视频中邻近图像帧的像素点的像素值差异一般是很小的,可以基于目标帧及重放的视频中的每个图像帧,根据该重放的视频中的图像帧及该目标帧中的每个像素点的像素值确定重放的视频中的目标帧。
具体的,比对模块205可以计算该重放的视频中的图像帧的每个像素点的像素值与目标帧中的每个像素点的像素值差值的绝对值的和值,将获取的和值作为该图像帧与目标帧的第一偏差,基于该第一偏差及每个参考值确定重放的视频中的目标帧。具体的,如第一偏差小于每个参考值,则确定该第一偏差对应的图像帧为重放的视频中的目标帧。当前确定了重放的视频中的目标帧后,比对模块205通知DDR写模块202,DDR写模块202可以从该目标帧之后的设定图像帧位置开始继续向DDR存储器中存储图像帧。
图2c为本申请实施例提供的比对模块205的内部结构示意图,如图2c所示,比对模块205包括绝对值计算子模块2051,绝对值统计子模块2052、寄存器子模块2053和比较子模块2054。
具体的,绝对值计算子模块2051计算最后被存储的设定数量的图像帧中其他图像帧与目标帧的像素点的像素值差值的绝对值,并将绝对值发送给绝对值统计子模块2052,在绝对值统计子模块2052将绝对值进行累加求和,并将和值发送给寄存器子模块2053,寄存器子模块2053将该和值作为参考值保存,另外,寄存器子模块2053还可以存储基准监视器需要的其他参数。
绝对值计算子模块2051针对接收到的视频中的每个图像帧,计算该图像帧与目标帧的每个像素点的像素值的差值的绝对值,绝对值统计子模块2052可以将绝对值子模块2051计算的差值的绝对值进行累加统计,确定每个图像帧与目标帧对应像素点的像素值差值的和值,绝对值统计子模块2052将该和值发送给比对模块205,比较子模块2054可以将绝对值统计子模块2052发送的和值与从寄存器子模块2053获取的参考值进行比较,并基于比较的结果进行输出。
实施例10:
为了保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,比对模块205,具体用于继续向所述DDR存储器中存储图像帧之后,针对所述DDR存储器中存储的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第二偏差。
为了保证图像帧截取的准确性,比对模块205根据第一偏差确定了重放的视频中的目标帧后,DDR写模块202将剩余数量的图像帧存储到DDR存储器中,比对模块205可以根据DDR存储器中存储的图像帧,判断确定的目标帧是否正确。具体的,在本申请实施例中,比对模块205可以针对DDR读模块203从DDR存储器中读取的每个图像帧,获取该图像帧的每个像素点的像素值与目标帧中的每个像素点的像素值差值的绝对值的和值,将该和值作为该图像帧与目标帧的第二偏差,该第二偏差将作为后续确定目标帧数量的依据。
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述比对模块205,具体用于若第二偏差小于每个参考值,保存该第二偏差,并对保存的次数进行更新;判断更新后的次数是否等于设定数值,若是,将所述DDR存储器中存储的图像帧发送给所述上位机;若否,将所述DDR存储器中存储图像帧清空,并再次重放所述视频中的每个图像帧,根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧,并基于确定为目标帧的图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
为了确定是否将存储的各图像帧发送给上位机,比对模块205可以将小于每个参考值的第二偏差进行保存,并且每次保存第二偏差时,对保存的次数进行更新,以此来记录找到目标帧的数量。具体的,第二偏差和保存的次数保存在寄存器子模块2053。
为了保证图像帧截取的准确性,比对模块205可以判断更新后的次数是否等于设定数值,该设定数值为1,若更新后的次数等于设定数值,可以理解为只找到一个目标帧,说明查找的结果是准确的,比对模块205可以通知DDR读模块203将DDR存储器中存储的图像帧发送给数据缓存模块204,由数据缓存模块204将图像帧通过控制模块201发送给上位机,使用者可以通过与基准监视器连接的上位机查看截取的图像帧是否正确,若正确,使用者则可以发送存储图像帧的指令,由上位机将接收到的每个图像帧保存到预设的存储位置;若不正确,使用者可以重新截取图像帧,当发现需要截取的内容时,使用者可以通过上位机向基准监视器重新发送图像截取的指令,其中该图像截取的指令中同样携带待截取图像帧的数量,控制模块201在接收到上位机重新发送的图像截取的指令后开始重新截取图像帧。
若更新后的次数不等于设定数值,说明确定的目标帧不正确,获取到了多个目标帧或者未获取到目标帧,比对模块205可以通知DDR存储器,将DDR存储器中存储的图像帧清空。并通知再次重放视频。针对重放的视频中的每个图像帧,比对模块205重新计算该图像帧的每个像素点的像素值与目标帧的每个像素点的像素值差值的绝对值的和值,将该和值确定为该图像帧与目标帧的第三偏差。根据第三偏差及每个参考值,来确定图像帧中的目标帧。
实施例11:
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述比对模块205,具体用于若更新后的次数小于设定数值,则针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于每个所述参考值,将该图像帧确定为目标帧。
若更新后的次数小于设定数值,则说明没有查找到目标帧,需要重新查找,即需要再次重放视频。针对再次重放的视频中的每个图像帧,比对模块205根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若该第三偏差小于每个参考值,将该图像帧确定为目标帧,比对模块205通知DDR写模块202基于该图像帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧。
实施例12:
为了进一步保证图像帧截取的准确性,在上述各实施例的基础上,在本申请实施例中,所述比对模块205,具体用于若更新后的次数大于设定数值,则将保存的所述第二偏差中的次小值更新为参考值,针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于所述参考值,将该图像帧确定为目标帧。
当向所述DDR存储器中存储图像帧之后,为了保证图像帧截取的准确性,比对模块205需要根据更新后的次数是否等于设定数值来判断是否准确查找到了目标帧,若更新后的次数大于设定数值,则说明查找到的目标帧的数量比较多,需要进一步缩小参考值的范围。因此在本申请实施例中,若更新后的次数大于设定数值,比对模块205获取到保存的多个第二偏差中的次小值,采用该次小值对其中一个参考值进行更新,并删除其他的参考值。再次重放视频,针对再次重放的视频中的每个图像帧,比对模块205根据该图像帧的像素点的像素值及所述目标帧的像素点的像素值,确定该图像帧与目标帧的第三偏差,若该第三偏差小于参考值,即该第三偏差小于第二偏差中的次小值,将该图像帧确定为目标帧,比对模块205通知DDR写模块202基于该图像帧及剩余的待截取图像帧的数量,继续向DDR存储器中存储图像帧。
实施例13:
为了截取连续的图像帧,本申请实施例提供了一种图像帧截取方法,图3为本申请实施例提供的图像帧截取方法的过程示意图,如图3所示,该过程包括:
S301:若接收到上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量。
S302:判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR中,并将所述DDR中存储的第一数量的图像帧发送给所述上位机。
S303:根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值及最后被接收到的目标帧。
S304:针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR中存储图像帧。
在一种可能的实施方式中,所述根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的参考值及最后被接收到的目标帧包括:
针对所述最后被存储的设定数量的图像帧,按照被存储的时间顺序对所述设定数量的图像帧进行排序,将非最后一个图像帧确定为目标帧;根据所述设定数量的图像帧中的其他图像帧与所述目标帧中每个像素点的像素值,确定像素值差值的绝对值的和值,将所述和值作为参考值。
在一种可能的实施方式中,所述针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差包括:
针对重放的所述视频中的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的偏差。
在一种可能的实施方式中,所述继续向所述DDR存储器中存储图像帧之后,所述方法包括:
针对所述DDR存储器中存储的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第二偏差。
在一种可能的实施方式中,若所述第一偏差小于所述参考值,所述方法还包括:
若第二偏差小于每个参考值,保存该第二偏差,并对保存的次数进行更新;判断更新后的次数是否等于设定数值,若是,将所述DDR存储器中存储的图像帧发送给所述上位机;若否,将所述DDR存储器中存储图像帧清空,并再次重放所述视频中的每个图像帧,根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧,并基于确定为目标帧的图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
在一种可能的实施方式中,所述根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧包括:
若更新后的次数小于设定数值,则针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于每个所述参考值,将该图像帧确定为目标帧。
在一种可能的实施方式中,所述根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧包括:
用于若更新后的次数大于设定数值,则将保存的所述第二偏差中的次小值更新为参考值,针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于所述参考值,将该图像帧确定为目标帧。
具体的,该方法应用于基准监视器,具体的实施过程参见上述实施例,在此不再赘述。
图4为本申请实施例提供的图像帧截取方法的控制流程图,如图4所示,该控制过程具体包括以下步骤:
S401:基准监视器上电,开始播放视频。
S402:使用者发现需要截取的内容,向基准监视器发送图像截取的指令。
S403:基准监视器在接收到图像截取的指令后,根据待截取图像帧的数量开始截取图像帧,将截取的图像帧存储到DDR存储器。
S404:基准监视器中的DDR读取模块从DDR存储器中读取存储的每个图像帧,按照行为单位存储到数据缓存模块。
S405:控制模块基于SPI通信协议读取数据缓存模块的图像帧,通过USB将每个图像帧发送给上位机。
S406:截取的图像帧是否正确,若正确,则执行S407;否则,执行S402。
S407:使用者发送存储图像帧的指令,由上位机将接收到的每个图像帧保存到预设的存储位置。
实施例14:
下面结合一个具体的实施例,对本申请提供的图像帧截取进行说明,图5为本申请实施例提出的图像帧截取方法的另一控制流程图,具体控制流程如下:
S501:获取已经存储到DDR存储器中的第N-2个图像帧,第N-1个图像帧和第N个图像帧。
S502:将第N-1个图像帧确定为目标帧,分别计算第N-1个图像帧和第N-2个图像帧的所有像素点的像素值差值的绝对值的和值ref1_sum_abs,第N-1帧图像帧和第N帧图像帧的所有像素点的像素值差值的绝对值的和值ref2_sum_abs。
S503:针对重放的视频中的每个图像帧,计算该图像帧与第N-1个图像帧的像素点的像素值差值的绝对值的和值sum_abs_tmp。若sum_abs_tmp<ref1_sum_abs并且sum_abs_tmp<ref2_sum_abs,则在重放的视频中找到了第N-1个图像帧,开始从重放的视频中的第N+1帧开始存储图像帧。
S504:针对存储的每个图像帧,计算该图像帧与目标帧的像素点的像素值差值的绝对值的和值sum_abs_tmp,若sum_abs_tmp<ref1_sum_abs并且sum_abs_tmp<ref2_sum_abs,capture_count数值增加1,并保存sum_abs_tmp。
S505:若capture_count=1,则执行S506;若否,则执行S507。
S506:将DDR存储器中存储的图像帧发送给上位机。
S507:若capture_count<1,则执行S508;若否,则执行S509。
S508:图像截取错误,播放视频为静止画面,再次重新播放视频,并进行S510。
S509:获取保存的sum_abs_tmp中的次小值sub_minor_value,并采用该次小值sub_minor_value对保存的参考值进行更新,再次重新播放视频。
S510:针对再次重新播放的视频中的每个图像帧,计算该图像帧与第N-1个图像帧的像素点的像素值的差值的绝对值的和值sum_abs_tmp,若该sum_abs_tmp<参考值,则在重放的视频中确定了目标帧,即第N-1个图像帧,capture_count从0开始重新计数,并保存该sum_abs_tmp,从第N+1个图像帧开始向DDR中存储图像帧。
若采用该次小值sub_minor_value对保存的参考值进行了更新,则可以判断sum_abs_tmp<sub_minor_value是否成立,若sum_abs_tmp<sub_minor_value,则在重放的视频中确定了目标帧。
实施例15:
在上述各实施例的基础上,本申请还提供了一种显示系统,图6为本申请实施例提供的一种显示系统的结构示意图,如图6所示,该显示系统包括上位机10和基准监视器20。
具体的,基准监视器和上位机的各种功能已经在上述实施例中描述,在此不做赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种基准监视器,其特征在于,所述基准监视器包括:
微控制单元MCU,用于接收上位机发送的图像截取的指令,将所述指令发送给现场可编程逻辑门阵列FPGA;
所述FPGA,用于获取所述指令中携带的待截取图像帧的数量;判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR存储器中;
所述DDR存储器,用于存储图像帧,并将存储的图像帧发送给所述FPGA;
所述FPGA,还用于将所述DDR存储器中存储的第一数量的图像帧发送给所述上位机;根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于每个所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
2.如权利要求1所述的基准监视器,其特征在于,所述FPGA,具体用于针对所述最后被存储的设定数量的图像帧,按照被存储的时间顺序对所述设定数量的图像帧进行排序,将非最后一个图像帧确定为目标帧;根据所述设定数量的图像帧中的其他图像帧与所述目标帧中每个像素点的像素值,确定像素值差值的绝对值的和值,将所述和值作为参考值。
3.如权利要求1所述的基准监视器,其特征在于,所述FPGA,具体用于针对重放的所述视频中的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第一偏差。
4.如权利要求1所述的基准监视器,其特征在于,所述FPGA,具体用于继续向所述DDR存储器中存储图像帧之后,针对所述DDR存储器中存储的每个图像帧,获取该图像帧的每个像素点的像素值与所述目标帧中的每个像素点的像素值差值的绝对值的和值,将所述和值作为该图像帧与所述目标帧的第二偏差。
5.如权利要求4所述的基准监视器,其特征在于,所述FPGA,具体用于若第二偏差小于每个参考值,保存该第二偏差,并对保存的次数进行更新;判断更新后的次数是否等于设定数值,若是,将所述DDR存储器中存储的图像帧发送给所述上位机;若否,将所述DDR存储器中存储图像帧清空,并再次重放所述视频中的每个图像帧,根据每个图像帧与所述目标帧的第三偏差,确定图像帧中的目标帧,并基于确定为目标帧的图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
6.如权利要求5所述的基准监视器,其特征在于,所述FPGA,具体用于若更新后的次数小于设定数值,则针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于每个所述参考值,将该图像帧确定为目标帧。
7.如权利要求5所述的基准监视器,其特征在于,所述FPGA,具体用于若更新后的次数大于设定数值,则将保存的所述第二偏差中的次小值更新为参考值,针对再次重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第三偏差,若所述第三偏差小于所述参考值,将该图像帧确定为目标帧。
8.一种基准监视器,其特征在于,所述基准监视器包括:
控制模块,用于接收上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量;判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR存储器能够存储的图像帧的第一数量,将所述第一数量通知DDR写模块;
所述DDR写模块,用于向所述DDR存储器存入所述第一数量的图像帧;
DDR读模块,用于从所述DDR存储器读出所述第一数量的图像帧,并将所述第一数量的图像帧发送给数据缓存模块;
所述数据缓存模块,用于将所述第一数量的图像帧通过所述控制模块发送给所述上位机;
比对模块,用于根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;针对重放的视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧;并通知DDR写模块基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR存储器中存储图像帧。
9.一种图像帧截取方法,其特征在于,所述方法包括:
若接收到上位机发送的图像截取的指令,获取所述指令中携带的待截取图像帧的数量;
判断当前双倍速率DDR存储器的剩余存储空间是否能存储所述数量的图像帧,若否,根据所述剩余存储空间,确定所述DDR能够存储的图像帧的第一数量,将接收到的视频中所述第一数量的图像帧存储到所述DDR中,并将所述DDR中存储的第一数量的图像帧发送给所述上位机;
根据最后被存储的设定数量的图像帧,确定最后被存储的图像帧对应的至少一个参考值及最后被接收到的目标帧;
针对重放的所述视频中的每个图像帧,根据该图像帧的像素点的像素值及所述目标帧中的像素点的像素值,确定该图像帧与所述目标帧的第一偏差,若所述第一偏差小于所述参考值,将该图像帧确定为目标帧,并基于该图像帧及剩余的待截取图像帧的数量,继续向所述DDR中存储图像帧。
10.一种显示系统,其特征在于,所述显示系统包括上位机和如权利要求1-7任一项所述的基准监视器,所述上位机用于发送图像截取的指令和存储截取的图像帧。
CN202111435926.XA 2021-11-29 2021-11-29 一种基准监视器、图像帧截取方法及系统 Active CN113938631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111435926.XA CN113938631B (zh) 2021-11-29 2021-11-29 一种基准监视器、图像帧截取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111435926.XA CN113938631B (zh) 2021-11-29 2021-11-29 一种基准监视器、图像帧截取方法及系统

Publications (2)

Publication Number Publication Date
CN113938631A CN113938631A (zh) 2022-01-14
CN113938631B true CN113938631B (zh) 2023-11-03

Family

ID=79288680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111435926.XA Active CN113938631B (zh) 2021-11-29 2021-11-29 一种基准监视器、图像帧截取方法及系统

Country Status (1)

Country Link
CN (1) CN113938631B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677780A (zh) * 2012-09-24 2014-03-26 腾讯科技(深圳)有限公司 用于在移动终端中截取屏幕图像的装置及方法
CN105812892A (zh) * 2014-12-29 2016-07-27 深圳Tcl数字技术有限公司 电视的动态显示画面的截取方法、装置及系统
CN106020608A (zh) * 2016-05-20 2016-10-12 北京小米移动软件有限公司 截图控制方法及装置
WO2017005062A1 (zh) * 2015-07-07 2017-01-12 深圳Tcl数字技术有限公司 图片帧播放方法和装置
WO2018149175A1 (zh) * 2017-02-20 2018-08-23 北京金山安全软件有限公司 视频录制方法、装置和电子设备
CN108810616A (zh) * 2018-05-31 2018-11-13 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
CN109766250A (zh) * 2017-11-09 2019-05-17 广东欧珀移动通信有限公司 移动终端及其响应性能测试方法、装置和存储介质
CN110415295A (zh) * 2019-07-03 2019-11-05 平安科技(深圳)有限公司 图像数据处理方法和图像数据处理设备
CN112801876A (zh) * 2021-02-07 2021-05-14 联想(北京)有限公司 信息处理方法、装置及电子设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130125168A (ko) * 2012-05-08 2013-11-18 삼성전자주식회사 비디오 인코딩 장치 및 그것의 인코딩 방법
JP6730886B2 (ja) * 2016-09-01 2020-07-29 キヤノン株式会社 撮像装置及びその制御方法、プログラム
US10824594B2 (en) * 2016-11-07 2020-11-03 Qualcomm Incorporated Associating a captured screenshot with application-specific metadata that defines a session state of an application contributing image data to the captured screenshot

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677780A (zh) * 2012-09-24 2014-03-26 腾讯科技(深圳)有限公司 用于在移动终端中截取屏幕图像的装置及方法
CN105812892A (zh) * 2014-12-29 2016-07-27 深圳Tcl数字技术有限公司 电视的动态显示画面的截取方法、装置及系统
WO2017005062A1 (zh) * 2015-07-07 2017-01-12 深圳Tcl数字技术有限公司 图片帧播放方法和装置
CN106020608A (zh) * 2016-05-20 2016-10-12 北京小米移动软件有限公司 截图控制方法及装置
WO2018149175A1 (zh) * 2017-02-20 2018-08-23 北京金山安全软件有限公司 视频录制方法、装置和电子设备
CN109766250A (zh) * 2017-11-09 2019-05-17 广东欧珀移动通信有限公司 移动终端及其响应性能测试方法、装置和存储介质
CN108810616A (zh) * 2018-05-31 2018-11-13 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
CN110415295A (zh) * 2019-07-03 2019-11-05 平安科技(深圳)有限公司 图像数据处理方法和图像数据处理设备
CN112801876A (zh) * 2021-02-07 2021-05-14 联想(北京)有限公司 信息处理方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN113938631A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN109803175B (zh) 视频处理方法及装置、设备、存储介质
US11438544B2 (en) Image transmission device and method including an image data receiver and a processor
US10425679B2 (en) Method and device for displaying information on video image
CN109741463B (zh) 虚拟现实场景的渲染方法、装置及设备
CN111698553B (zh) 视频处理方法、装置、电子设备及可读存储介质
CN102655585B (zh) 视频会议系统及其时延测试方法、装置和系统
CN110248241B (zh) 视频处理方法及相关装置
CN112584234A (zh) 视频图像的补帧方法及相关装置
CN107809560B (zh) 对多目相机进行同步的方法和fpga芯片
CN112804532A (zh) 一种图像数据获取方法、系统及相关装置
KR20200011000A (ko) 증강 현실 프리뷰 및 위치 추적을 위한 장치 및 방법
CN110582016A (zh) 视频信息展示方法、装置、服务器及存储介质
CN113938631B (zh) 一种基准监视器、图像帧截取方法及系统
CN113157969A (zh) 一种用于超声诊断的快速进入电影回放状态的方法及系统
CN110322525B (zh) 一种动图处理方法及终端
CN112162888A (zh) 显示器黑屏的原因的确定方法、装置和计算机存储介质
US10965841B2 (en) Receiving device, video recording system and method for reducing video latency in video recording system
JP2007013697A (ja) 画像受信装置及び画像受信方法
CN116052585A (zh) 调节led显示屏分辨率的方法、设备、系统和存储介质
CN114866829A (zh) 同步播放的控制方法及装置
CN114071127A (zh) 直播视频延迟的测试方法、装置、存储介质及电子设备
CN114143486A (zh) 视频流同步方法、装置、计算机设备和存储介质
CN108024121B (zh) 语音弹幕同步方法和系统
CN113766315A (zh) 显示设备及视频信息处理方法
CN115002527B (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