CN110996057B - 媒体数据处理方法、装置、计算机设备和存储介质 - Google Patents

媒体数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110996057B
CN110996057B CN201911216408.1A CN201911216408A CN110996057B CN 110996057 B CN110996057 B CN 110996057B CN 201911216408 A CN201911216408 A CN 201911216408A CN 110996057 B CN110996057 B CN 110996057B
Authority
CN
China
Prior art keywords
media
frame data
media frame
circular queue
memory
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.)
Expired - Fee Related
Application number
CN201911216408.1A
Other languages
English (en)
Other versions
CN110996057A (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.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing Beijing 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 Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN201911216408.1A priority Critical patent/CN110996057B/zh
Publication of CN110996057A publication Critical patent/CN110996057A/zh
Application granted granted Critical
Publication of CN110996057B publication Critical patent/CN110996057B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Image Processing (AREA)

Abstract

本申请涉及一种媒体数据处理方法、装置、计算机设备和存储介质,该方法包括:从媒体设备的缓存池获取媒体帧数据序列;在媒体设备芯片的媒体业务内存的循环队列未满时,将媒体帧数据传输至媒体业务内存的循环队列;当获取到处理器的访问请求时,根据循环队列的指针指向位置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。该方法使得处理器对媒体帧进行处理前的传输处理所占用的系统内存最小化,相对地增加了处理器对媒体帧处理的可用内存空间,使得在系统资源有限的情况下,媒体设备仍能满足复杂计算的需求。

Description

媒体数据处理方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种媒体数据处理方法、装置、计 算机设备和存储介质。
背景技术
随着科学技术的飞速发展,利用媒体设备采集的媒体数据被应用到越来越 多的技术场景,以满足智能化生活的需求。比如,利用网络摄像头采集的图像数 据,基于人工智能技术,对图像中的人脸进行识别。
媒体设备通常安装了IPC芯片(IP-Camera,一种专为网络摄像机研发的芯 片),主要负责多媒体数据的处理,如解码、编码以及多媒体处理(包括剪裁、 图像增强)等。当需要对采集的图像数据进行进一步处理,如基于人工智能技术, 对图像中的人脸进行识别时,通常是从媒体设备的缓存池中产生的全部媒体帧 数据直接复制到IPC芯片,但依赖于IPC芯片的媒体设备的系统资源有限,将 产生的全部媒体帧数据直接复制到IPC芯片,将占用大量IPC芯片的系统资源, 使IPC芯片难以满足后续复杂的计算需求。
发明内容
基于此,有必要针对传统地网络摄像头系统资源有限的问题,提供一种媒体 数据处理方法、装置、计算机设备和存储介质。
一种媒体数据处理方法,包括:
从媒体设备的缓存池获取媒体帧数据序列;
在媒体设备芯片的媒体业务内存的循环队列未满时,将所述媒体帧数据传 输至所述媒体业务内存的循环队列;
当获取到处理器的访问请求时,根据循环队列的指针指向位置读取对应位 置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。
一种媒体数据处理装置,包括:
帧数据获取模块,用于从媒体设备的缓存池获取媒体帧数据序列;
控制模块,用于在媒体设备芯片的媒体业务内存的循环队列未满时,将所述 媒体帧数据传输至所述媒体业务内存的循环队列;
处理模块,用于当获取到处理器的访问请求时,根据循环队列的指针指向位 置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位 置。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执 行时,使得所述处理器执行上述任一项所述方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所 述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法 的步骤。
上述的媒体数据处理方法、装置、计算机设备和存储介质,在媒体设备芯片 的媒体业务内存的循环队列未满的情况下,将媒体帧数据从缓存池传输至媒体 业务内存的循环队列,有序地将分批将媒体帧数据从缓存池复制到媒体业务内 存,通过利用循环队列,一方面,循环队列容量有限,通过将有限的媒体数据帧 复制到媒体业务内存,减少了待处理媒体帧数据所占用的媒体业务内存空间,另 一方面,在获取到处理器的访问请求时,根据循环队列的指针指向位置读取对应 位置的媒体帧数据,并在读取完毕后移动循环队列中指向的指向位置完成元素 移动,能够避免在对循环队列的媒体帧数据进行处理时因元素移动而反复向操 作系统申请媒体业务内存的情况,减少内存碎片,使得处理器对媒体帧进行处理 前的传输处理所占用的系统内存最小化,相对地增加了处理器对媒体帧处理的可用内存空间,使得在系统资源有限的情况下,媒体设备仍能满足复杂计算的需 求。
附图说明
图1为一个实施例中媒体数据处理方法的应用场景图;
图2为一个实施例中媒体数据处理方法的流程示意图;
图3为一个实施例中媒体帧内存管理示意图;
图4为一个传统地重采样抽取方法的示意图;
图5为一个实施例中重采样抽取方法的示意图;
图6为一个实施例中各帧的实际时间和预期时间的说明示意图;
图7为一个实施例中媒体数据处理方法的过程示意图;
图8为一个实施例中媒体数据处理装置的框图;
图9为一个实施例中计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施 例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用 以解释本发明,并不用于限定本发明。
一种媒体数据处理方法应用于媒体设备,媒体设备是具有媒体数据采集和 处理能力的计算机设备,媒体设备利用传感器采集媒体帧并对媒体帧进行处理。 媒体设备可以为具有摄像头和/或麦克风的计算机设备,如网络摄像头,智能音 箱,智能手机等等。可以理解的是,不同的媒体设备采集不同媒体介质的媒体帧。 如,网络摄像头采集的媒体帧为视频帧,智能音箱采集的媒体帧为音频帧。
图1是一个实施例中一种媒体数据处理方法的应用环境示意图。多台媒体 设备110分布在各区域,采集相应区域的媒体帧数据。各媒体设备110与云平 台130网络连接。其中,云平台130可以是一个较大区域的监控平台,如一个城 市,一个公司或一个学校的监控服务平台。媒体设备110配置了人工智能模块, 能够对媒体帧数据进行复杂计算,识别媒体帧数据中的相关内容,如,识别媒体 帧数据中的人脸图像。例如,一个城市的监控网络,多台网络摄像头110分布在 交通要道,重要地理位置和区域(如学校,银行等),各网络摄像头与城市的监 控服务平台130网络连接。监控服务平台130通过与大量的网络摄像头110连接,对城市安防进行监控。网络摄像头配置了人工智能模型,能够对视频流中的 人像进行人脸识别,及时发现人群中的特定对象。
如图2所示,在一个实施例中,提供一种媒体数据处理方法,包括以下步 骤:
S202,从媒体设备的缓存池获取媒体帧数据序列。
如前面所提到的,媒体设备是具有媒体数据采集和处理能力的计算机设备。 媒体数据采集依靠媒体设备的传感器采集得到。传感器是指采集数据并转换为 相应电信号的电子器件。如图像传感器,利用光电器件的光电转换功能,将感光 面上的光像转换为与光像成相应比例关系的电信号。以网络摄像头为例,网络摄 像头利用CMOS(ComplementaryMetal-Oxide-Semiconductor,互补金属氧化物 半导体)传感器采集视频帧数据。
具体地,媒体设备通常有处理芯片负责对传感器采集的媒体帧数据进行处 理。以网络摄像头为例,IPC芯片是指专为网络摄像机研发的芯片,主要负责多 媒体数据的处理,如解码、编码、多媒体处理(包括剪裁、图像增强)。缓存池 是媒体设备的处理芯片所提供的用于做媒体数据处理的暂存和运算场地。如IPC 芯片设有底层的视频缓冲池处理模块(video buffer,VB)。
媒体帧数据是指媒体设备采集的以帧为单位的数据,如视频帧数据或音频 帧数据。
在另一个实施例中,该方法还包括,调用数据接口从媒体设备的传感器获取 媒体帧数据并保存至媒体设备的缓存池。具体地,系统调用处理芯片底层接口从 媒体设备的传感器上获取到媒体帧数据并保存在媒体设备的缓存池。如,系统调 用IPC芯片底层接口从传感器上获取到视频帧数据,并保存在视频缓冲池处理 模块(VB)上,该步骤由媒体设备的硬件直接操作。
S204,在媒体设备芯片的媒体业务内存的循环队列未满时,将媒体帧数据传 输至媒体业务内存的循环队列。
媒体设备芯片是指媒体设备的自带处理芯片,负责对媒体设备采集的媒体 数据进行处理。如网络摄像头为例,其处理芯片是IPC芯片,IPC芯片是专为网 络摄像机研发的芯片,主要负责多媒体数据的处理,如解码、编码、多媒体处理 (包括剪裁、图像增强)。
由于缓存池是专用于底层存放媒体设备的传感器采集媒体帧数据的内存池, 任何不当操作都会导致底层硬件出错,因此不直接操作该部分内存数据,而是将 其从缓存池传输至媒体业务内存。
通常媒体设备的内存分为两个部分,分别为系统(OS)内存和媒体业务内存。 OS内存是指操作系统(如linux操作系统)管理的内存。媒体业务内存是媒体设 备进行管理供媒体业务单独使用的内存,在驱动加载时,可以指定该媒体业务内 存的大小,通常而言,媒体业务内存是媒体设备芯片的自带内存。以媒体设备为 网络摄像头为例,网络摄像头的内存包括系统内存和MMZ内存。其中,MMZ内存 即为网络摄像头的媒体业务内存,是网络摄像头的IPC芯片的自带内存。MMZ内 存为MMZ驱动管理模块进行管理供媒体业务单独使用的内存,在驱动加载时可 以指定该模块管理内存的大小。该驱动主要由两个文件组成:media-mem.c和 mmz-userdev.c,加载驱动后相应的设备文件:/dev/mmz_userdev,应用层通过 打开该设备文件进行输入输出系统调用(如申请mmz内存、释放mmz内存、重映 射mmz内存到内核等)和直接映射操作(mapp),而媒体底层驱动模块则直接调 用mmz驱动的导出接口进行相应操作。
其中,媒体业务内存,是底层可直接访问的通用内存池,如果后续需要调用 底层媒体库进行媒体(如图像、音频)处理,直接可以在媒体业务内存上完成。 用户还可以同时获取得到媒体业务内存的虚拟地址和物理地址,且可以方便地 在两者之间进行地址映射(mapping),而系统内存往往比较困难。因此,本申 请的技术方案采用媒体业务内存而非系统内存。
具体地,预先在媒体业务内存上分配好长度为N的循环队列,将从缓存池 获取的媒体帧数据,通过帧率控制,传输至专门用于供媒体业务单独使用的媒体 业务内存的循环队列。循环队列,是具有队头指针和队尾指针,指示队列元素所 在的位置,避免删除元素时移动大量元素,相比普通的队列,元素出队时无需移 动大量元素,只需移动头指针,这就能够避免在对循环队列的媒体帧数据进行处 理时因元素移动而反复向操作系统申请媒体业务内存的情况,从而能够减少内 存碎片。
具体地,在媒体设备芯片的媒体业务内存的循环队列未满时,写进程一有数 据需要写入,根据指针所指向的位置,去循环队列中找到紧挨着的一块还没写入 数据的内存,将媒体帧数据写入,然后把指针移动到下一位,直到内存被写满为 止,从而完成将所述媒体帧数据传输至所述媒体业务内存的循环队列。
循环队列的结构如图3所示,循环队列是把顺序队列首尾相连,把存储队 列元素的表从逻辑上看成一个环,成为循环队列。入队时尾指针向前追赶头指针, 出队时头指针向前追赶尾指针。以循环队列的长度N为20为例,即,循环队列 最大容量为存储20帧媒体数据帧。如图3所示,当前循环队列已存储10帧媒 体数据帧,循环队列未满,则能够将从媒体设备的缓存池获取10帧媒体数据帧 存入循环队列。通过设备具有一定容量大小的循环队列存储媒体数据帧,实现从 缓存池传入媒体业务内存的媒体数据帧的数量控制,避免直接全部拷贝至媒体 业务内存占用大量媒体业务内存空间。
S206,当获取到处理器的访问请求时,根据循环队列的指针指向位置读取对 应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。
在实际的应用中,通常设置有共享内存。共享内存就是映射一段能被其他进 程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享 内存是最快的IPC方式,它是针对其他进程间通信方式运行效率低而专门设计 的。它往往与其他通信机制,配合使用,来实现进程间的同步和通信。
本申请中,循环队列就是共享内存映射的能被其它进程所访问的内存。根据 循环队列和共享内存队列的映射关系,将循环队列的媒体帧数据传输至进程间 的共享内存队列供处理器访问。
具体地,在媒体业务内存预先建立的循环队列,循环队列的长度与共享内存 队列长度相同,并且二者一一映射。循环队列MQ的每个元组MQi的大小为媒体帧 的实际大小,如1080P尺寸的格式为YUV420帧,则元组MQi的大小为 1080×1920×(3÷2)B,约3MB。
共享内存队列是用于进程间传输媒体帧数据的,而媒体业务内存具有虚拟 地址和物理地址间可灵活映射的特点,因此,将媒体帧数据传输至共享内存队列 时,只需要传输媒体帧的物理地址,而不需要在系统内存中进行数据帧拷贝,因 此,只需要维护媒体业务内存的循环队列和共享内存队列一一对应的逻辑关系 即可。故而,本申请中,将循环队列的长度设置成与共享内存队列长度一致。共 享内存队列中的媒体帧数据供处理器(CPU)访问,由处理器对媒体帧数据进行 处理,如对媒体帧进行分析和计算处理。例如,对视频帧进行图像识别。又例如, 对视频帧进行视觉AI分析进行人脸检测,检测人脸并配合后台进行身份识别, 帮助进行治安管理。又例如,对视频帧进行人体检测,通过检测人体轨迹,进行 客流量统计/预测等,更好帮助进行商铺、商品管理等等。
读进程是用于对共享的资源进行读写访问,具体到本申请,从共享队列中读 取媒体帧数据,供处理器访问、处理。具体地,如图3所示,循环队列具有两个 指针,分别为队头指针和队尾指针。队头指针和队尾指针分别表示队头和队尾的 位置,而循环队列和进程间的共享内存队列是对应的,具有映射关系。当获取到 访问请求时,读进程根据队头指针所指向的位置,读取共享内存队列中对应位置 的媒体帧数据,该媒体帧数据表示当前最先存入循环队列中的媒体帧数据。读进 程读取该媒体帧数据,由处理器访问该媒体帧数据,对媒体帧数据进行处理。
在媒体帧数据被处理器处理完成,如获得图像帧数据的人脸识别结果后,循 环队列的队头指针和队尾指针向后移动,在队头完成对已读取的媒体帧数据的 删除操作,从而删除队头已读取的元素时,只需移动指针即可,避免删除循环队 列的元素时移动大量元素而反复向操作系统申请媒体业务内存的情况,减少内 存碎片。如图3所示,系统在媒体业务内存预分配循环队列MQ完成后,所有的 操作都在循环队列MQ上完成。每次从传感器上获取得到媒体帧后,如果循环队 列MQ未满(对应的,共享内存队列没有全部满/被加锁),则马上把缓存池上的 数据采用硬件加速拷贝技术拷贝到循环队列MQ上后释放缓存池,否则说明目前 处理能力超过负荷,直接释放缓存池,即在从媒体设备的缓存池获取媒体设备的 传感器采集的媒体帧数据序列后,或循环队列满时,调用数据接口释放缓存池的 内存。在数据传输时,只需要存入该媒体业务内存的物理地址值即可。
后续处理器对媒体帧进行处理时(如AI(人工智能)对视频帧进行别), 只需要遵循“使用完该媒体帧数据后释放/解锁共享内存队列上的元组”的规 则即可。即,当接收到处理器的访问请求时,锁定共享内存队列和循环队列中被 使用的媒体帧数据;当媒体帧数据使用完毕时,释放共享内存队列和循环队列中 被锁定的媒体帧数据。
上述的媒体数据处理方法,在媒体设备芯片的媒体业务内存的循环队列未 满的情况下,将媒体帧数据从缓存池传输至媒体业务内存的循环队列,通过利用 循环队列,一方面,循环队列容量有限,通过将有限的媒体数据帧复制到媒体业 务内存,减少了待处理媒体帧数据所占用的媒体业务内存空间,另一方面,在获 取到处理器的访问请求时,根据循环队列的指针指向位置读取对应位置的媒体 帧数据,并在读取完毕后移动循环队列中指向的指向位置完成元素移动,能够避 免在对循环队列的媒体帧数据进行处理时因元素移动而反复向操作系统申请媒 体业务内存的情况,减少内存碎片,使得处理器对媒体帧进行处理前的传输处理 所占用的系统内存最小化,相对地增加了处理器对媒体帧处理的可用内存空间, 使得在系统资源有限的情况下,媒体设备仍能满足复杂计算的需求。
在一个实施例中,在从媒体设备的缓存池获取媒体设备的传感器采集的媒 体帧数据序列之后,在将媒体帧数据传输至媒体业务内存的循环队列之前,还包 括:对媒体帧数据序列进行重采样抽取,得到重采样后的媒体帧数据序列。
其中,帧重采样抽取基于媒体帧数据序列中相邻几帧内容相似度极高的特 点,为满足媒体设备处理媒体帧数据的应用程序的处理能力,从一组数量为n的 连续媒体帧中抽取m(m≠n)媒体帧,得到重采样后的媒体帧数据序列。
具体地,以媒体设备为网络摄像头为例,为了能够达到较好的实时监控目的, 网络摄像头采集视频的帧率往往会控制在10-25fps(画面每秒传输帧数)之间, 低于10fps的画面有非常明显的卡顿和跳帧感。但是在较高的fps下对每一个 视频帧都进行计算处理,如AI计算,芯片无法负荷。而相邻几帧内容相似度极 高,其实只需要抽取其中一帧进行AI计算即可识别场景的内容,包括人脸、人 体和轨迹。受限于网络摄像头的算力,大多需要是在现有的fps上减少每秒处 理的帧数量。举例来说,目前摄像头为12fps,但是AI计算系统处理能力为5fps, 因此需要进行12:5的重采样。可以理解的是,在进行帧重采样抽取处理后,将 重采样后的媒体帧数据传输至媒体业务内存的循环队列。
传统地帧重采样方法,考虑到相邻两帧之间的差距往往较小,通常基于序列 数值上做均匀采样,具体地,直接计算抽样比得到帧间距gap,对比帧序列号重 采样。如图4所示,对于12:5的重采样,抽样gap=2.4,即意味着每2.4帧中抽 取1帧。设置Fi和Gap初始值为Fi和gap,接下来只需逐个对比帧Fi的序列号值i和Gap, 如果Fi≥Gap,则抽取第i帧并在原Gap基础上累加gap,即有Gap:=Gap+gap。如图4所 示,抽取第三帧、第五帧、第八帧、第十帧以及第十二帧,得到重采集的媒体帧 序列。
但该方法存在缺陷。如图4所示,重采样的序列号必须从1开始,在一些要 求从流中间插入的应用场景,如从第10,000,109帧开始抽样的场景中,就需要 额外增加从1开始的计数器才能有效。因此,该方法依赖帧序列号。同时,该方 法还存在精度计算不精确的问题。计算机的浮点数是有精度限制的,可以预想, 随着帧序列号增长时,小数部分的表示位将越来越少,即小数精度下降,会带来 “随着帧号增加,抽帧不稳定”的问题。
为了克服上述缺陷,本申请提供一种帧重采样方法,具体地,对媒体帧数据 序列进行帧重采样抽取处理,得到重采样后的媒体帧数据序列,包括:获取抽样 比;根据抽样比确定媒体帧数据序列的各抽样参考系数,抽取符合要求的媒体帧 数据,得到重采样后的媒体帧数据序列。
其中,抽样比为计算系统处理能力对应的帧率与采集媒体帧的帧率的比值, 如一种网络摄像头计算系统处理能力为5fps,摄像头采集媒体帧的帧率为12fps, 则抽样比为12:5。
根据抽样比确定媒体帧数据序列的各抽样参考系数,抽取符合要求的媒体 帧数据,得到重采样后的媒体帧数据序列。由于计算的媒体帧数据的抽样参考系 数与抽样比有关,不依赖于帧序列号,能够适应于从中间流插入的应用场景。
具体地,根据抽样比确定媒体帧数据序列的各抽样参考系数,抽取符合要求 的媒体帧数据,得到重采样后的媒体帧数据序列,包括:对前一媒体帧数据的抽 样参考系数进行累加,其中,第一帧的媒体帧数据的抽样参考系数为抽样比的倒 数;若累加的抽样参考系数产生个位的进位时,抽取对应的媒体帧数据;清空累 加的抽样参考系数的进位值,得到当前媒体帧数据的抽样参考系数;根据抽取的 媒体帧数据,得到采样后的媒体帧数据序列。
具体地,如图5所示,记进位单元(Carry Unit,CU)为抽样比的倒数,即 有cu=1/gap。初始定义变量CU=cu=1/gap,即,第一帧的抽样参考系数为抽样比 的倒数,每获取到一帧就累加cu,变量CU可表示对应的媒体帧的抽像参考系数。 如果CU产生了个位数的进位,则抽取该帧并清空进位值。即,对前一媒体帧数据 的抽样参考系数进行累加,累加的抽样参考系数产生个位的进位时,抽取对应的 媒体帧数据,清空累加的抽样参考系数的进位值,得到当前媒体帧数据的抽样参 考系数。从图5中可以看出,该方法全局只需要维护CU变量和cu常数(抽样比是 一开始就确定下来的,因此其倒数可以被认为是常数)即可,并不依赖帧序列号; 此外,由于每次都会清空个位数的进位,因此确保了小数的位数为当前设备所能 表示的浮点数最大精度。
在另一个实施例中,将媒体帧数据传输至媒体业务内存的循环队列,包括: 根据获取到媒体帧数据的实际时间和预期时间对重采样后的媒体帧数据序列进 行帧率控制,将重采样后的媒体帧数据传输至媒体业务内存的循环队列。
一般来说,摄像头传感器获取视频帧的频率是固定的,但实际上会存在帧率 抖动。此外,原始采样和重采样后,对于同一帧而言,获取到该帧的实际时间和 预期时间是有差距的。以图5的帧序列为例,如图6所示,对于第2帧而言,从 传感器上获取到该帧的时间是0.17秒,但是预期得到该帧的时间确实0.20秒, 而对于第9帧,实际时间是0.75秒,预期时间是0.80秒,显然每一帧的实际 时间都不符合预期时间的要求。为了实际时间满足预期时间要求,根据获取到媒 体帧数据的实际时间和预期时间对重采样后的媒体帧数据序列进行帧率控制, 将重采样后的媒体帧数据传输至媒体业务内存的循环队列。
具体地,若获取到媒体帧数据的预期时间大于实际时间,则等待预设时间后 将媒体帧数据传输至媒体业务内存的循环队列。若获取到媒体帧数据的预期时 间小于或等于实际时间,则将媒体帧数据传输至媒体业务内存的循环队列。
具体地,确定获取到媒体帧数据的预期时间和实际时间的方式,包括:获取 传感器采集到媒体帧数据的初始时间戳;获取重采样后进行传输的当前采样媒 体帧数据;确定获取到当前采样媒体帧数据的系统时间戳;根据系统时间戳与初 始时间戳确定当前采样媒体帧数据的实际时间;根据重采样后当前采样媒体帧 数据的帧序列号与理论帧间隔确定采样媒体帧数据的预期时间;理论帧间隔与 重采样后的帧数率相关。
其中,预期时间texpt为预期获得媒体帧数据对其进行传输的时间,对重采样 后进行传输的当前采样媒体帧数据Idf,其预期时间为重采样后当前采样媒体帧 数据的帧序列号与理论帧间隔的乘积。其中,理论间隔与重采样后的帧数率相关, 为重采样后的帧数率的倒数。实际获取到该帧的实际时间treal,则为获取到当前 媒体帧数据的系统时间若预期时间大于实际时间,即texpt>treal,则调用系统函数 sleep()来满足中间的时差,等待预设时间,并在等待预设时间后,将媒体帧数据 传输至媒体业务内存的循环队列。
该方法可以使得全局的误差最小,原因是预期时间texpt是通过帧序列号与理 论帧间隔(
Figure BDA0002299645450000111
秒)的乘积,代表从第一帧起的理论时间戳,而实际时间treal则 是获取到当前帧的系统时间戳与初始时间戳的差值,代表从第一帧起的实际时 间戳。在整段视频帧序列中,对比的基准值都是第一帧而不是前一帧,后者由于 前一帧本身就可能存在误差进而导致在传递中放大了误差,前者不存在传递误 差。
在另一个实施例中,在媒体业务内存的循环队列未满时,将媒体帧数据传输 至媒体业务内存的循环队列,包括:将媒体帧数据保存至媒体业务内存,获取媒 体帧数据在媒体业务内的物理地址;在媒体业务内存的循环队列未满时,将媒体 帧数据的物理地址传输至媒体业务内存的循环队列。
具体地,媒体业务内存,是底层可直接访问的通用内存池,如果后续需要调 用底层媒体库进行媒体(如图像、音频)处理,直接可以在媒体业务内存上完成。 用户还可以同时获取得到媒体业务内存的虚拟地址和物理地址,且可以方便地 在两者之间进行地址映射(mapping)。因此,将媒体帧数据从缓存池中获取后, 将其存储在媒体业务内存,并获取其在媒体业务内存的特征地址,在传输时,传 输的是媒体帧数据在物理地址,极大地降低了CPU的负荷。
同时,还可以根据需要对媒体帧数据进行处理,具体地,根据媒体帧数据的 物理地址,对对应的媒体帧进行预处理。预处理可以根据需要进行设置,如裁剪, 格式转换等处理,以加快后续处理器对媒体帧数据的处理效率。
现在,以媒体数据处理方法运行在网络摄像头为例,进行详细说明。
具体地,通过在安装了IPC芯片的网络摄像头(IPC)设备上运行该方法, 可服务于视觉AI计算系统,作为其前置系统/模块,为其提供视频帧数据。譬 如,在具备AI功能的网络摄像头上,本方法可以作为AI计算模块的前置模块, 在极度有限的系统资源下,提供最大灵活性的帧管理服务。IPC芯片带有媒体业 务内存(MMZ)。
如图7所示,包括以下步骤:
步骤一:调用IPC芯片底层接口从传感器上获取到视频帧数据。
网络摄像头利用CMOS(Complementary Metal-Oxide-Semiconductor,互补 金属氧化物半导体)传感器采集视频帧数据,系统调用IPC芯片底层从传感器 上获取视频帧数据。
步骤二:将获取到的视频帧数据保存至缓存池(VB)。
对于系统调用IPC芯片底层从传感器上获取视频帧数据,将其保存在视频 缓冲池处理模块(video buffer,VB)。
步骤三、从缓存池获取传感器采集的视频帧数据序列,对视频帧数据序列进 行重采样抽取处理。
目前摄像头为12fps,但是AI计算系统处理能力为5fps,在较高的fps下 对每一个视频帧都进行计算处理,如AI计算,芯片无法负荷,因此需要进行 12:5的重采样。
如图5所示的重采样抽取方法,记进位单元(Carry Unit,CU)为抽样比的 倒数,即有cu=1/gap。初始定义变量CU=cu=1/gap,即,第一帧的抽样参考系数为 抽样比的倒数,每获取到一帧就累加cu,变量CU可表示对应的视频帧的抽像参考 系数。如果CU产生了个位数的进位,则抽取该帧并清空进位值。即,对前一视频 帧数据的抽样参考系数进行累加,累加的抽样参考系数产生个位的进位时,抽取 对应的视频帧数据,清空累加的抽样参考系数的进位值,得到当前视频帧数据的 抽样参考系数。从图5中可以看出,该方法全局只需要维护CU变量和cu常数(抽 样比是一开始就确定下来的,因此其倒数可以被认为是常数)即可,并不依赖帧 序列号;此外,由于每次都会清空个位数的进位,因此确保了小数的位数为当前 设备所能表示的浮点数最大精度。
通过视频帧数据序列进行重采样抽取处理,利用图5所示的重采样抽取方 法,抽取视频数据序列的部分视频帧,例如,图5所示的12帧视频数据帧,抽 取得到待处理的五张视频数据帧。即,对于网络摄像头的AI模块来说,只需要 处理抽取的五帧视频帧,减少了AI处理的计算量。
步骤四、对重采样后的视频帧数据进行帧率控制,在媒体业务内存(MMZ) 的循环队列未满时,根据获取到重采样后视频帧的实际时间和预期时间,将重采 样后的视频帧数据传输至媒体业务内存的循环队列。
具体地,当重采样后的视频帧数据预期时间大于实际时间,则等待预设时间 后将视频帧数据传输至媒体业务内存的循环队列。若获取到视频帧数据的预期 时间小于或等于实际时间,则将视频帧数据传输至媒体业务内存的循环队列。
其中,预期时间texpt是通过帧序列号与理论帧间隔(
Figure BDA0002299645450000131
秒)的乘积,代表从 第一帧起的理论时间戳,而实际时间treal则是获取到当前帧的系统时间戳与初始 时间戳的差值,代表从第一帧起的实际时间戳。在整段视频帧序列中,对比的基 准值都是第一帧而不是前一帧,后者由于前一帧本身就可能存在误差进而导致 在传递中放大了误差,前者不存在传递误差,从而使得全局误差最小。
例如图5的第二帧,计算得到的重采样后的视频帧数据预期时间为0.20秒, 计算的实际时间为0.17秒,预期时间大于实际时间,则等待0.03秒后,再将该 视频帧数据传输至循环队列。通过这种帧率控制方法,能够调节进入循环队列的 视频帧的时间,使其实际时间符合预期时间的要求。
步骤五、根据循环队列和共享内存队列的对应关系,将循环队列的视频帧数 据传输至共享内存队列供处理器访问,以对视频帧数据进行处理。
具体地,当获取到处理器的访问请求时,根据循环队列的指针指向位置读取 对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。
共享内存队列是用于进程间传输视频帧数据的,而媒体业务内存具有虚拟 地址和物理地址间可灵活映射的特点,因此,将视频帧数据传输至共享内存队列 时,只需要传输视频帧的物理地址,而不需要在系统内存中进行数据帧拷贝,因 此,只需要维护媒体业务内存的循环队列和共享内存队列一一对应的逻辑关系 即可。故而,本申请中,将循环队列的长度设置成与共享内存队列长度一致。
共享内存队列中的视频帧数据供处理器(CPU)访问,以对视频帧数据进行 处理,如对视频帧进行分析和计算处理。例如,对视频帧进行图像识别。又例如, 对视频帧进行视觉AI分析进行人脸检测,检测人脸并配合后台进行身份识别, 帮助进行治安管理。又例如,对视频帧进行人体检测,通过检测人体轨迹,进行 客流量统计/预测等,更好帮助进行商铺、商品管理等等。
通过基于IPC芯片在网络摄像头实施该方法,能够在很低的CPU使用率和 内存(包括系统内存、MMZ内存)下,稳定工作。
如图8所示,还提供一种媒体数据处理装置,包括:
帧数据获取模块802,用于从媒体设备的缓存池获取媒体帧数据序列。
控制模块804,用于在媒体设备芯片的媒体业务内存的循环队列未满时,将 媒体帧数据传输至媒体业务内存的循环队列。
处理模块806,用于当获取到处理器的访问请求时,根据循环队列的指针指 向位置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指 向位置。
上述的媒体数据处理装置,在媒体设备芯片的媒体业务内存的循环队列未 满的情况下,将媒体帧数据从缓存池传输至媒体业务内存的循环队列,有序地将 分批将媒体帧数据从缓存池复制到媒体业务内存,通过利用循环队列,一方面, 循环队列容量有限,通过将有限的媒体数据帧复制到媒体业务内存,减少了待处 理媒体帧数据所占用的媒体业务内存空间,另一方面,在获取到处理器的访问请 求时,根据循环队列的指针指向位置读取对应位置的媒体帧数据,并在读取完毕 后移动循环队列中指向的指向位置完成元素移动,能够避免在对循环队列的媒 体帧数据进行处理时因元素移动而反复向操作系统申请媒体业务内存的情况, 减少内存碎片,使得处理器对媒体帧进行处理前的传输处理所占用的系统内存 最小化,相对地增加了处理器对媒体帧处理的可用内存空间,使得在系统资源有限的情况下,媒体设备仍能满足复杂计算的需求。
在另一个实施例中,还包括重采样抽取模块,用于对媒体帧数据序列进行帧 重采样抽取处理,得到重采样后的媒体帧数据序列。
在另一个实施例中,控制模块,用于根据获取到媒体帧数据的实际时间和预 期时间对重采样后的媒体帧数据序列进行帧率控制,将重采样后的媒体帧数据 传输至媒体业务内存的循环队列。
在另一个实施例中,控制模块,用于若获取到重采样后的媒体帧数据的预期 时间大于实际时间,则等待预设时间后将重采样后的媒体帧数据传输至媒体业 务内存的循环队列。
在另一个实施例中,控制模块,还用于若获取到重采样后的媒体帧数据的预 期时间小于或等于实际时间,则将重采样后的媒体帧数据传输至媒体业务内存 的循环队列。
在另一个实施例中,控制模块,包括时间获取模块,用于获取媒体设备的传 感器采集到媒体帧数据的初始时间戳;获取重采样后进行传输的当前媒体帧数 据;确定获取到当前媒体帧数据的系统时间戳;根据系统时间戳与初始时间戳确 定获取到当前媒体帧数据的实际时间;根据重采样后当前媒体帧数据的帧序列 号与理论帧间隔确定获取到当前媒体帧数据的预期时间;理论帧间隔与重采样 后的帧数率相关。
在另一个实施例中,重采样抽取模块,用于获取抽样比,根据抽样比计算媒 体帧数据序列的各抽样参考系数,抽取符合要求的媒体帧数据,得到重采样后的 媒体帧数据。
在另一个实施例中,重采样抽取模块,用于对前一媒体帧数据的抽样参考系 数进行累加,其中,第一帧的媒体帧数据的抽样参考系数为抽样比的倒数;若累 加的抽样参考系数产生个位的进位时,抽取对应的媒体帧数据,得到重采样后的 媒体帧数据;清空累加的抽样参考系数的进位值,得到当前媒体帧数据的抽样参 考系数。
在另一个实施例中,媒体数据处理装置还包括调用模块,用于调用数据接口 从媒体设备的传感器获取媒体帧数据并保存至媒体设备的缓存池。
在另一个实施例中,调用模块还用于在从媒体设备的缓存池获取媒体设备 的传感器采集的媒体帧数据序列后,或循环队列满时,调用数据接口释放缓存池 的内存。
在另一个实施例中,控制模块,包括存储模块和传输控制模块;
存储模块,用于将媒体帧数据保存至媒体业务内存,获取媒体帧数据在媒体 业务内的物理地址。
传输控制模块,用于在媒体业务内存的循环队列未满时,将媒体帧数据的物 理地址传输至媒体业务内存的循环队列。
在另一个实施例中,媒体数据处理装置还包括:
锁定处理模块,用于当接收到处理器的访问请求时,锁定共享内存队列和循 环队列中被使用的媒体帧数据。
释放处理模块,用于当媒体帧数据使用完毕时,释放共享内存队列和循环队 列中被锁定的媒体帧数据。
图9为一个实施例中计算机设备的框图。参照图9,该计算机设备可以媒体 设备。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、声音 采集装置和摄像头。其中,存储器包括非易失性存储介质和内存储器。该计算机 设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行 时,可使得处理器执行一种媒体数据处理方法。该计算机设备的处理器用于提供 计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程 序,该计算机程序被处理器执行时,可使得处理器执行一种媒体数据处理方法。 计算机设备的网络接口用于进行网络通信。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关 的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定, 具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件, 或者具有不同的部件布置。
在一个实施例中,本申请提供的媒体数据处理装置可以实现为一种计算机 程序的形式,计算机程序可在如图9所示的计算机设备上运行,计算机设备的 非易失性存储介质可存储组成该媒体数据处理装置的各个程序模块。比如,图8 所示的帧数据获取模块802、控制模块804以及处理模块806。各个程序模块所 组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施 例的传输模块方法中的步骤。
比如,计算机设备可以通过如图8所示的帧数据获取模块从媒体设备的缓 存池获取媒体帧数据序列。计算机设备可以通过控制模块在媒体设备芯片的媒 体业务内存的循环队列未满时,将媒体帧数据传输至媒体业务内存的循环队列。 计算机设备可以通过处理模块当获取到处理器的访问请求时,根据循环队列的 指针指向位置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指 针的指向位置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存 储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述媒体数据处 理的步骤。此处媒体数据处理方法的步骤可以是上述各个实施例的媒体数据处 理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计 算机程序被处理器执行时,使得处理器执行上述媒体数据处理方法的步骤。此处 媒体数据处理方法的步骤可以是上述各个实施例的媒体数据处理方法中的步骤。
需要说明的是,本申请各实施例中的“第一”和“第二”等仅用作区分,而 并不用于大小、先后、从属等方面的限定。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标 号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格 的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步 骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一 时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也 不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至 少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易 失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例 的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或 其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器 可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电 可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM) 或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、 增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总 线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存 储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上 述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特 征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普 通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进, 这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求 为准。

Claims (20)

1.一种媒体数据处理方法,包括:
从媒体设备的缓存池获取媒体帧数据序列;
对所述媒体帧数据序列进行帧重采样抽取处理,得到重采样后的媒体帧数据序列;
在媒体设备芯片的媒体业务内存的循环队列未满时,若获取到重采样后的所述媒体帧数据的预期时间大于实际时间,则等待预设时间后将重采样后的所述媒体帧数据传输至所述媒体业务内存的循环队列;
当获取到处理器的访问请求时,根据循环队列的指针指向位置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。
2.根据权利要求1所述的方法,其特征在于,若获取到重采样后的所述媒体帧数据的预期时间小于或等于实际时间,则将重采样后的所述媒体帧数据传输至所述媒体业务内存的循环队列。
3.根据权利要求1所述的方法,其特征在于,确定获取到重采样的所述媒体帧数据的预期时间和实际时间的方式,包括:
获取媒体设备的传感器采集到所述媒体帧数据的初始时间戳;
获取重采样后进行传输的当前媒体帧数据;
确定获取到所述当前媒体帧数据的系统时间戳;
根据所述系统时间戳与所述初始时间戳确定获取到所述当前媒体帧数据的实际时间;
根据重采样后所述当前媒体帧数据的帧序列号与理论帧间隔确定获取到所述当前媒体帧数据的预期时间;所述理论帧间隔与重采样后的帧数率相关。
4.根据权利要求1所述的方法,其特征在于,对所述媒体帧数据序列进行帧重采样抽取处理,得到重采样后的媒体帧数据序列,包括:
获取抽样比;
根据所述抽样比计算所述媒体帧数据序列的各抽样参考系数,抽取符合要求的所述媒体帧数据,得到重采样后的媒体帧数据。
5.根据权利要求4所述的方法,其特征在于,根据所述抽样比计算所述媒体帧数据序列的各抽样参考系数,抽取符合要求的所述媒体帧数据,得到媒体帧数据,包括:
对前一所述媒体帧数据的抽样参考系数进行累加,其中,第一帧的所述媒体帧数据的抽样参考系数为所述抽样比的倒数;
若累加的所述抽样参考系数产生个位的进位时,抽取对应的所述媒体帧数据,得到重采样后的媒体帧数据;
清空累加的所述抽样参考系数的进位值,得到当前所述媒体帧数据的抽样参考系数。
6.根据权利要求1所述的方法,其特征在于,在从媒体设备的缓存池获取媒体帧数据序列之前,还包括:
调用数据接口从媒体设备的传感器获取媒体帧数据并保存至媒体设备的缓存池。
7.根据权利要求1或6所述的方法,其特征在于,在从媒体设备的缓存池获取媒体帧数据序列后,或所述循环队列满时,调用数据接口释放所述缓存池的内存。
8.根据权利要求1所述的方法,其特征在于,在媒体业务内存的循环队列未满时,将所述媒体帧数据传输至所述媒体业务内存的循环队列,包括:
将所述媒体帧数据保存至媒体业务内存,获取媒体帧数据在媒体业务内的物理地址;
在媒体业务内存的循环队列未满时,将所述媒体帧数据的物理地址传输至所述媒体业务内存的循环队列。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述处理器的访问请求时,锁定所述循环队列中被使用的所述媒体帧数据;
当所述媒体帧数据使用完毕时,释放所述循环队列中被锁定的所述媒体帧数据。
10.一种媒体数据处理装置,包括:
帧数据获取模块,用于从媒体设备的缓存池获取媒体帧数据序列;
重采样抽取模块,用于对所述媒体帧数据序列进行帧重采样抽取处理,得到重采样后的媒体帧数据序列;
控制模块,用于在媒体设备芯片的媒体业务内存的循环队列未满时,若获取到重采样后的所述媒体帧数据的预期时间大于实际时间,则等待预设时间后将重采样后的所述媒体帧数据传输至所述媒体业务内存的循环队列;
处理模块,用于当获取到处理器的访问请求时,根据循环队列的指针指向位置读取对应位置的媒体帧数据,并在读取完毕后移动循环队列中指针的指向位置。
11.根据权利要求10所述的装置,其特征在于,所述控制模块,还用于若获取到重采样后的所述媒体帧数据的预期时间小于或等于实际时间,则将重采样后的所述媒体帧数据传输至所述媒体业务内存的循环队列。
12.根据权利要求10所述的装置,其特征在于,所述控制模块,包括:
时间获取模块,用于获取媒体设备的传感器采集到所述媒体帧数据的初始时间戳;获取重采样后进行传输的当前媒体帧数据;确定获取到所述当前媒体帧数据的系统时间戳;根据所述系统时间戳与所述初始时间戳确定获取到所述当前媒体帧数据的实际时间;根据重采样后所述当前媒体帧数据的帧序列号与理论帧间隔确定获取到所述当前媒体帧数据的预期时间;所述理论帧间隔与重采样后的帧数率相关。
13.根据权利要求10所述的装置,其特征在于,所述重采样抽取模块,用于获取抽样比;根据所述抽样比计算所述媒体帧数据序列的各抽样参考系数,抽取符合要求的所述媒体帧数据,得到重采样后的媒体帧数据。
14.根据权利要求13所述的装置,其特征在于,所述重采样抽取模块,用于对前一所述媒体帧数据的抽样参考系数进行累加,其中,第一帧的所述媒体帧数据的抽样参考系数为所述抽样比的倒数;若累加的所述抽样参考系数产生个位的进位时,抽取对应的所述媒体帧数据,得到重采样后的媒体帧数据;清空累加的所述抽样参考系数的进位值,得到当前所述媒体帧数据的抽样参考系数。
15.根据权利要求10所述的装置,其特征在于,所述媒体数据处理装置还包括调用模块,用于调用数据接口从媒体设备的传感器获取媒体帧数据并保存至媒体设备的缓存池。
16.根据权利要求15所述的装置,其特征在于,所述调用模块还用于在从媒体设备的缓存池获取媒体帧数据序列后,或所述循环队列满时,调用数据接口释放所述缓存池的内存。
17.根据权利要求10所述的装置,其特征在于,所述控制模块,包括存储模块和传输控制模块;
所述存储模块,用于将所述媒体帧数据保存至媒体业务内存,获取媒体帧数据在媒体业务内的物理地址;
所述传输控制模块,用于在媒体业务内存的循环队列未满时,将所述媒体帧数据的物理地址传输至所述媒体业务内存的循环队列。
18.根据权利要求10所述的装置,其特征在于,所述媒体数据处理装置还包括:
锁定处理模块,用于当接收到所述处理器的访问请求时,锁定所述循环队列中被使用的所述媒体帧数据;
释放处理模块,用于当所述媒体帧数据使用完毕时,释放所述循环队列中被锁定的所述媒体帧数据。
19.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
20.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
CN201911216408.1A 2019-12-02 2019-12-02 媒体数据处理方法、装置、计算机设备和存储介质 Expired - Fee Related CN110996057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911216408.1A CN110996057B (zh) 2019-12-02 2019-12-02 媒体数据处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911216408.1A CN110996057B (zh) 2019-12-02 2019-12-02 媒体数据处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110996057A CN110996057A (zh) 2020-04-10
CN110996057B true CN110996057B (zh) 2021-11-16

Family

ID=70089435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911216408.1A Expired - Fee Related CN110996057B (zh) 2019-12-02 2019-12-02 媒体数据处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110996057B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750503A (zh) * 2004-09-17 2006-03-22 大唐高鸿数据网络技术股份有限公司 监控rtp/rtcp流以提高多媒体通信质量的设备及其方法
CN101918956A (zh) * 2007-12-05 2010-12-15 生命力有限公司 用于通过基于所检测的帧内运动或场景复杂度调节图像块大小来压缩视频的系统及方法
CN102104775A (zh) * 2009-12-18 2011-06-22 华为技术有限公司 一种帧率调整方法和装置
CN102752193A (zh) * 2012-05-23 2012-10-24 杭州斯凯网络科技有限公司 一种直播流的快速缓冲方法
CN103780506A (zh) * 2012-10-26 2014-05-07 中兴通讯股份有限公司 一种用于以太网设备的数据缓存系统及方法
CN105245912A (zh) * 2015-10-21 2016-01-13 东方网力科技股份有限公司 一种缓存视频数据及读取视频数据的方法及装置
CN105657311A (zh) * 2016-03-11 2016-06-08 深圳市极酷威视科技有限公司 一种视频录制方法及装置
CN106412581A (zh) * 2016-06-21 2017-02-15 浙江大华技术股份有限公司 一种帧率控制方法及装置
CN108281149A (zh) * 2017-12-29 2018-07-13 芯原微电子(北京)有限公司 一种基于加Blackman窗的FIR滤波器的音频采样率转换方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332498A1 (en) * 2012-05-21 2013-12-12 Stmicroelectronics, Inc. Method and apparatus for efficient frequency-domain implementation of time-varying filters
CA2879650C (en) * 2012-06-11 2017-09-05 Nippon Hoso Kyokai Encoding device, decoding device, and program
US20170244894A1 (en) * 2016-02-22 2017-08-24 Seastar Labs, Inc. Method and Apparatus for Managing Latency of Remote Video Production

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750503A (zh) * 2004-09-17 2006-03-22 大唐高鸿数据网络技术股份有限公司 监控rtp/rtcp流以提高多媒体通信质量的设备及其方法
CN101918956A (zh) * 2007-12-05 2010-12-15 生命力有限公司 用于通过基于所检测的帧内运动或场景复杂度调节图像块大小来压缩视频的系统及方法
CN102104775A (zh) * 2009-12-18 2011-06-22 华为技术有限公司 一种帧率调整方法和装置
CN102752193A (zh) * 2012-05-23 2012-10-24 杭州斯凯网络科技有限公司 一种直播流的快速缓冲方法
CN103780506A (zh) * 2012-10-26 2014-05-07 中兴通讯股份有限公司 一种用于以太网设备的数据缓存系统及方法
CN105245912A (zh) * 2015-10-21 2016-01-13 东方网力科技股份有限公司 一种缓存视频数据及读取视频数据的方法及装置
CN105657311A (zh) * 2016-03-11 2016-06-08 深圳市极酷威视科技有限公司 一种视频录制方法及装置
CN106412581A (zh) * 2016-06-21 2017-02-15 浙江大华技术股份有限公司 一种帧率控制方法及装置
CN108281149A (zh) * 2017-12-29 2018-07-13 芯原微电子(北京)有限公司 一种基于加Blackman窗的FIR滤波器的音频采样率转换方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式linux下基于帧缓冲技术的图形库研究与系统实现;夏凡;《中国优秀硕士学位论文全文数据库信息科技辑》;20120715;全文 *

Also Published As

Publication number Publication date
CN110996057A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
WO2005101186A2 (en) System, method and computer program product for extracting metadata faster than real-time
CN110769257A (zh) 智能视频结构化分析装置、方法和系统
US11057635B2 (en) Methods and systems for video synopsis
CN112749666B (zh) 一种动作识别模型的训练及动作识别方法与相关装置
CN111092926B (zh) 一种数字视网膜多元数据快速关联方法
US11200148B2 (en) Method and system for identifying a source of a memory leak
US9965382B2 (en) Data composite for efficient memory transfer in a behavioral recognition system
US11106919B1 (en) Processing of video streams
WO2019047663A1 (zh) 一种基于视频格式的端到端自动驾驶数据的存储方法及装置
CN110996057B (zh) 媒体数据处理方法、装置、计算机设备和存储介质
CN111405358A (zh) 基于缓存的视频帧提取方法、装置、介质及系统
US10083720B2 (en) Method and system for video data stream storage
KR20120022918A (ko) 디지털 이미지 캡쳐 방법 및 이미지 캡쳐 장치
US7672370B1 (en) Deep frame analysis of multiple video streams in a pipeline architecture
CN116452649A (zh) 基于事件数据增强的运动物体重建方法及装置
CN114218411A (zh) 一种通过视频生成图片的系统
CN109886234B (zh) 目标检测方法、装置、系统、电子设备、存储介质
CN111191612B (zh) 视频图像匹配方法、装置、终端设备及可读存储介质
CN113660495A (zh) 实时视频流压缩方法、装置、电子设备以及存储介质
CN111598053B (zh) 图像数据的处理方法及其装置、介质和系统
Suvonvorn A video analysis framework for surveillance system
CN113259680B (zh) 视频流解码方法、装置、计算机设备和存储介质
CN111160283A (zh) 一种数据接入方法、装置、设备和介质
CN113051415B (zh) 图像存储方法、装置、设备和存储介质
CN114430500A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022528

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20211116