欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 高帧速率视频记录独创技术17656字

高帧速率视频记录

2021-04-25 17:54:52

高帧速率视频记录

  相关申请的交叉引用

  本申请要求2018年5月14日提交的美国临时申请No.62/670,930的权益,其全部内容通过引用并入本文。

  技术领域

  本发明的实施方式涉及通过部署有软件框架的装置来进行高速视频记录。

  背景技术

  在包括智能电话作为娱乐功能的消费者记录装置中,高速视频记录越来越受欢迎。可以以慢动作来回放按高帧速率记录的视频,以用于对移动和瞬时现象进行分析。

  高速摄像机能够以高帧速率对移动图像进行拍摄;例如,大约每秒数百帧。所拍摄的图像被记录在存储介质上,该存储介质可以是诸如闪存驱动器、安全数字(SD)卡等的非易失性存储装置。在记录之后,可以以慢动作回放所拍摄的图像。现代高速摄像机是这样的电子装置,其具有用于图像拍摄和视频记录的诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)有源像素传感器这样的图像传感器。

  针对诸如智能手机这样的现代移动装置,摄像机和视频记录功能通常是由装置上部署的软件框架支持的。这种软件框架的示例是AndroidTM框架。增加帧速率也会增加由软件框架执行的处理任务。该软件开销对记录装置的帧速率设置了上限。因此,需要减少软件开销以提高高速视频记录中的软件效率。

  发明内容

  在一个实施方式中,提供了一种记录视频的装置。所述装置包括:存储器,该存储器存储多个图像缓冲器;图像信号处理器,所述图像信号处理器处理响应于按第一帧速率对视频进行记录的请求而拍摄的拍摄帧;以及视频编码器,该视频编码器对所拍摄的帧进行编码。所述装置还包括处理电路,该处理电路包括联接至所述存储器的一个或更多个处理器,并且所述处理电路能工作(operative)以进行如下操作:响应于所述请求对所述存储器中的所述图像缓冲器进行分配,以及执行摄像机软件以指导所述图像信号处理器利用一批所拍摄的帧填充各个图像缓冲器。针对利用所述一批所拍摄的帧填充的各个图像缓冲器,所述处理电路能工作以按第二速率从所述摄像机软件向视频软件传递对所述图像缓冲器的引用,其中,所述第二速率是所述第一帧速率的一部分(a fraction of)。所述处理电路还能工作以执行所述视频软件以一次提供一个帧给所述视频编码器,以用于按所述第一帧速率进行编码。

  在另一实施方式中,提供了一种记录视频的方法。所述方法包括以下步骤:接收按第一帧速率进行视频记录的请求;响应于所述请求对来自存储器的多个图像缓冲器进行分配;并且由图像信号处理器利用一批所拍摄的帧对各个图像缓冲器进行填充。针对利用所述一批所拍摄的帧填充的各个图像缓冲器,按第二速率从摄像机软件向视频软件传递对所述图像缓冲器的引用,其中,所述第二速率是所述第一帧速率的一部分。所述方法还包括以下步骤:一次提供一个帧给视频编码器,以用于按所述第一帧速率进行编码。

  通过回顾下面结合附图对具体实施方式的描述,其它方面和特征对于本领域普通技术人员将变得显而易见。

  附图说明

  本发明在附图中通过示例而非限制的方式进行了例示,附图中相似的标号是指相似的部件。应注意,本公开中对“一”或“一个”实施方式的引用不必是同一实施方式,并且这种引用是指至少一个实施方式。此外,当结合实施方式来描述特定的特征、结构或特性时,主张在本领域技术人员的知识内结合无论是否明确描述的其它实施方式来实现这种特征、结构或特性。

  图1例示了可以运行本发明的实施方式的软件和硬件环境的概观。

  图2是例示根据一个实施方式的视频记录处理的流程图。

  图3例示了根据一个实施方式的视频编码方法。

  图4例示了根据一个实施方式的移动装置的示例。

  具体实施方式

  在下面的描述中,阐述了多个具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本发明的实施方式。在其它情况下,没有详细示出公知的电路、结构以及技术,以便不模糊对本说明书的理解。然而,本领域技术人员应意识到,可以在没有这些具体细节的情况下实践本发明。本领域普通技术人员利用所包括的说明书,在不需要过多的试验的情况下能够实现恰当的功能。

  本发明的实施方式提供了一种支持利用低开销按高帧速率来进行视频记录的装置。该装置运行支持视频记录的软件,其中,该软件至少包括摄像机软件和视频软件。应用程序可以请求按第一帧速率来记录视频。在摄像机按第一帧速率拍摄视频的图像帧之后,摄像机软件按第二速率将图像帧分批传递给视频软件,其中,第二速率小于第一帧速率。然后,视频软件将图像帧提供给视频编码器,以用于按第一帧速率进行编码。通过在摄像机软件与视频软件之间分批传递图像帧,与按第一帧速率逐帧传递图像相比,减少了软件处理开销。减少的软件开销使得装置能够支持按增加的(即,更高的)帧速率进行视频记录。在下面的描述中,图像帧也可以称为帧。

  根据本发明的实施方式,将帧存储在图像缓冲器中,并且各个图像缓冲器存储图像批块(image batch)(即,多个帧)。各个图像缓冲器还可以包括多个帧缓冲器,并且各个帧缓冲器存储一个帧。图像缓冲器是从装置中的存储器分配的。为了将图像批块从摄像机软件传递至视频软件,摄像机软件将对图像缓冲器的引用传递至视频软件。引用的示例是存储器位置的指针;例如,存储器地址。然后,视频软件提供各个帧(更具体地,对存储帧的帧缓冲器的引用)给视频编码器以用于编码。

  图1例示了可以运行本发明的实施方式的软件和硬件环境的概观。装置100包括用于拍摄和处理图像和视频的多个硬件组件,诸如图像信号处理器(例如,ISP 120)和媒体处理器(例如,视频编码器130)。在一个实施方式中,可以将一个或更多个图像传感器(例如,摄像机110)附接至装置100,或者以通信方式联接至装置100。可以由应用程序140经由软件层访问或利用这些硬件组件。该软件的顶层被称为提供基础设施以促进装置100的应用程序开发的软件框架或框架150。针对视频记录,框架150包括摄像机框架151和视频框架152,该摄像机框架和视频框架均在应用程序140与较低层的软件层之间进行接口连接。较低层的软件层控制诸如摄像机110、ISP 120以及视频编码器130这样的底层硬件组件的操作。

  在一个实施方式中,较低层的软件层包括一组中间件,诸如摄像机中间件161和视频中间件162。摄像机中间件161和视频中间件162分别用作框架150与硬件专用软件(诸如摄像机驱动器171和视频驱动器172)之间的桥梁。摄像机驱动器171使得装置100能够与ISP120通信;例如,关于要由摄像机110拍摄的图像的规格。视频驱动器172使得装置100能够与视频编码器130通信;例如,关于编码格式和其它要求。

  在本公开中,摄像机框架151、摄像机中间件161以及摄像机驱动器171统称为摄像机软件。视频框架152、视频中间件162以及视频驱动器172统称为视频软件。摄像机软件和视频软件是在装置100上运行的软件的一部分。

  根据本发明的实施方式,应用程序140请求按第一帧速率R1(每秒帧数(fps))记录视频。因此,摄像机110按第一帧速率R1拍摄图像帧。ISP 120按第二速率R2填充图像缓冲器125;即,每秒填充R2个图像缓冲器。R2是R1的一部分。更具体地,假设R1/R2=K,然后,ISP120以K个帧来填充各个图像缓冲器125,使得每秒填充R2个图像缓冲器。摄像机框架151按第二速率R2将对各个图像缓冲器125的引用传递给视频框架152。视频软件将图像缓冲器125划分成K个帧缓冲器135,并且将对各个帧缓冲器135的引用传递给视频编码器130,以便按第一速率R1进行编码。可以将编码的视频存储在存储器180中。在一个实施方式中,第一速率R1约为每秒数百。作为非限制性示例,针对R1=240fps和R2=30/s,图像缓冲器中的帧或帧缓冲器的数量为8,即,K=8。在一个实施方式中,第二速率可以是预定速率。在一个实施方式中,第二速率可以是可配置的值。

  为了便于描述,在图1的实施方式中,将图像缓冲器125和帧缓冲器135示出为在存储器180的外部。应当理解,图像缓冲器125包含帧缓冲器135并且是从诸如存储器180这样的存储器分配的。

  图2是例示根据一个实施方式的视频记录处理200的流程图。可以由能够进行视频记录的装置(诸如图1的装置100和/或图4的移动装置400)来执行处理200。

  参照图1和图2,在一个实施方式中,当装置100接收到按第一(R1)帧速率对视频进行记录的请求时,处理200开始于步骤201。响应于该请求,摄像机框架151在步骤202请求对存储器中的图像缓冲器进行分配,以用于视频记录。各个图像缓冲器包含多个帧缓冲器(例如,K个帧缓冲器),并且将各个帧缓冲器用于存储一个所拍摄的帧。可以由对系统资源进行管理(诸如存储器分配)的底层操作系统来处理分配请求。

  摄像机框架151在步骤203按第二速率(R2)将图像拍摄请求发送至摄像机中间件161,其中,R1/R2=K。各个图像拍摄请求指定了:指向图像缓冲器的引用(例如,指针),和描述要拍摄的图像的特征的元数据(例如,每批的帧数量、分辨率、像素格式、颜色调节/增强)。每批的帧数量与每个图像缓冲器的帧缓冲器数量相同。针对各个图像拍摄请求,摄像机中间件161在步骤204将给定图像缓冲器划分成多个帧缓冲器,以供ISP 120进行填充。摄像机驱动器171在步骤205将各个帧缓冲器指派给ISP 120以进行填充。在ISP 120在步骤206将所有帧填充到给定图像缓冲器中之后,图像拍摄请求返回到摄像机框架151。此时,给定图像缓冲器被填充,并且ISP120被指派下一个图像缓冲器以进行填充。摄像机框架151在步骤207将填充后的图像缓冲器连同至少指示图像缓冲器中的帧数量的元数据一起发送至视频框架152。将填充后的图像缓冲器按第二速率(R2)从摄像机框架151发送至视频框架152。

  视频中间件162在步骤208将填充后的图像缓冲器划分成多个帧缓冲器以用于视频编码。视频驱动器172在步骤209将各个帧缓冲器指派给视频编码器130以进行编码。在步骤210中,在视频编码器130完成了对图像缓冲器中的K个帧的编码之后,将图像缓冲器发送回摄像机框架151以供ISP 120重新使用。

  图3例示了根据一个实施方式的视频编码方法300。可以由图1的装置100和/或图4的移动装置400或者另一计算和/或通信装置来执行方法300。在一个实施方式中,执行方法300的装置包括电路(例如,处理硬件)和存储指令的机器可读介质(例如,存储器),该指令在被执行时使该装置执行方法300。

  参照图1和图3,在一个实施方式中,当装置100响应于按第一帧速率对视频进行记录的请求而拍摄帧时,方法300开始于步骤310。装置100在步骤320响应于该请求而对存储器中的图像缓冲器进行分配。装置100(更具体地,ISP 120)在步骤330利用一批所拍摄的帧填充各个图像缓冲器。在步骤340,针对利用所述一批所拍摄的帧填充的各个图像缓冲器,按第二速率从摄像机软件向视频软件传递对图像缓冲器的引用,其中,第二速率是第一帧速率的一部分。在步骤350,视频软件一次提供一个帧给视频编码器130,以用于按第一帧速率进行编码。

  在一个实施方式中,装置100和/或移动装置400可以包括执行摄像机软件和视频软件的处理电路。处理电路能够操作,以根据第一帧速率与第二速率的比来确定图像缓冲器的大小。在一个实施方式中,图像缓冲器的大小等于第一帧速率除以第二速率。在一个实施方式中,可以在接收到按第一帧速率进行视频记录的请求之后,动态地确定图像缓冲器的大小。

  图4例示了根据一个实施方式的移动装置400的示例。移动装置400可以是图1的装置100的示例,该图1的装置100提供用于前述视频记录的平台。移动装置400包括处理电路410,该处理电路还包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字处理单元(DSP)、多媒体处理器、其它通用和/或专用处理电路)。在一些系统中,处理器可能与“核心”或“处理器核心”相同,而在某些其它系统中,处理器可能包含多个核心。各个处理器可以包括:算术和逻辑单元(ALU)、控制电路、高速缓冲存储器以及其它硬件电路。在一个实施方式中,处理电路410能工作以执行在移动装置400上运行的软件(包括前述摄像机软件和视频软件)。在一个实施方式中,移动装置400能工作以执行图3的方法300。

  移动装置400还包括联接至处理电路410的存储器420。存储器420可以包括存储器装置,诸如动态随机存取存储器(DRAM)装置、静态RAM(SRAM)装置、闪存装置、SD卡和/或其它易失性或非易失性存储器装置。存储器420还可以包括存储装置,例如,任何类型的固态或磁性存储装置。在一个实施方式中,可以将存储器420中的空间分配为图像缓冲器421,该图像缓冲器存储由摄像机460拍摄并由图像信号处理器470处理的图像。

  移动装置400还可以包括I/O电路430以接收输入和显示输出。I/O电路430包括用户接口装置440,诸如键盘、触摸板、触摸屏、鼠标器、显示器、麦克风和扬声器等。I/O电路430还包括无线通信电路450,诸如天线、数字和/或模拟射频(RF)收发器以及RF电路。I/O电路430还包括拍摄图像和记录视频的摄像机460。

  移动装置400还包括:执行与图1的图像信号处理器120和视频编码器130相同的操作的、图像信号处理器470和视频编码器480。移动装置400还包括电池490,以向移动装置400的硬件组件提供工作电力。

  可以理解,出于说明目的简化了图4的实施方式。可以包括附加的硬件组件,并且可以省略图4所示的组件中的一些组件。例如,移动装置400还可以包括用于连接至网络(例如,个人局域网、局域网、广域网等)的网络硬件(例如,调制解调器)。网络硬件和无线通信电路450使得用户能够在线共享按高帧速率(例如,R1)记录的视频;例如,在社交媒体或其它连网论坛(例如,互联网上的网站)上。在一个实施方式中,移动装置400可以将记录的视频上传至服务器(例如,云服务器)。

  尽管移动装置400在本公开中是作为示例来使用的,但是可以理解,本文所描述的方法可应用于能够记录视频的任何计算和/或通信装置。移动装置400的非限制性示例包括:智能电话、智能手表、平板电脑、网络连接的装置、游戏装置以及其它便携式和/或可穿戴电子装置。

  已经参照图1和图4的示例性实施方式描述了图2和图3的流程图的操作。然而,应当理解,可以由本发明的除图1和图4的实施方式以外的其它实施方式,来执行图2和图3的流程图的操作,并且图1和图4的实施方式可以执行与参照流程图所讨论那些操作不同的操作。虽然图2和图3的流程图示出了由本发明的某些实施方式执行的特定操作顺序,但是应当理解,这样的顺序是示例性的(例如,另选实施方式可以以不同的顺序执行操作、结合某些操作、重叠某些操作等)。

  本文已经描述了各种功能组件或框块。正如本领域技术人员应当意识到的那样,优选地,将通过电路(在一个或更多个处理器和编码指令的控制下进行操作的专用电路或者通用电路)来实现功能块,该电路通常包括以下晶体管,其以根据本文所描述的功能和操作来对电路的操作进行控制的这种方式来配置。

  虽然已经根据多个实施方式描述了本发明,但是本领域技术人员将认识到,本发明不限于所描述的实施方式,并且可以在所附权利要求的精神和范围内执行修改和变更。由此,本说明书应被视为例示性的而非限制性的。

《高帧速率视频记录.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)