CN115767245A - 视频处理***以及方法 - Google Patents
视频处理***以及方法 Download PDFInfo
- Publication number
- CN115767245A CN115767245A CN202111002006.9A CN202111002006A CN115767245A CN 115767245 A CN115767245 A CN 115767245A CN 202111002006 A CN202111002006 A CN 202111002006A CN 115767245 A CN115767245 A CN 115767245A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- video processing
- processing circuit
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Closed-Circuit Television Systems (AREA)
- Studio Circuits (AREA)
- Television Systems (AREA)
Abstract
一种视频处理***包含***处理电路以及视频处理电路。***处理电路包含图像缓冲区以及开放多媒体加速层。图像缓冲区用以储存来自摄影机的视频数据。开放多媒体加速层用以提取相关于视频数据的至少一个数据参数。视频处理电路用以接收至少一个数据参数,依据至少一个数据参数从图像缓冲区接收视频数据,依据至少一个数据参数对视频数据进行编码以产生编码数据,且将编码数据传输至***处理电路。
Description
技术领域
本公开中所述实施例内容是有关于一种视频处理***以及方法,特别关于一种可减轻***处理电路工作量(loading)的视频处理***以及方法。
背景技术
随着技术的发展,越来越多电子装置会搭载摄影机以供使用者进行拍照或录像等功能。以录像为例,在现有技术中,当视频数据的分辨率越高,这些电子装置中的***处理器的工作量将会越大。这会造成由***处理器所运行的操作***运行缓慢,甚至发生死机的问题。
发明内容
本公开的一些实施方式是关于一种视频处理***。视频处理***包含***处理电路以及视频处理电路。***处理电路包含图像缓冲区以及开放多媒体加速层。图像缓冲区用以储存来自摄影机的视频数据。开放多媒体加速层用以提取相关于视频数据的至少一个数据参数。视频处理电路用以接收至少一个数据参数,依据至少一个数据参数从图像缓冲区接收视频数据,依据至少一个数据参数对视频数据进行编码以产生编码数据,且将编码数据传输至***处理电路。
本公开的一些实施方式是关于一种视频处理方法。视频处理方法包含以下操作:通过***处理电路的图像缓冲区储存来自摄影机的视频数据;通过***处理电路的开放多媒体加速层提取相关于视频数据的至少一个数据参数;通过视频处理电路接收至少一个数据参数;通过视频处理电路依据至少一个数据参数从图像缓冲区接收视频数据;通过视频处理电路依据至少一个数据参数对视频数据进行编码以产生编码数据;以及通过视频处理电路将编码数据传输至***处理电路。
综上所述,在本公开中,***处理电路可提取视频数据的数据参数且将数据参数传输至视频处理电路。接着,视频处理电路可依据数据参数直接从图像缓冲区接收视频数据以进行后续的编码。据此,***处理电路无需对视频数据进行多次复制,因此可降低***处理电路的工作量,进而使得操作***可运行顺畅。
附图说明
为让本公开的上述和其他目的、特征、优点与实施例能够更明显易懂,附图说明如下:
图1是依照本公开一些实施例所描绘的视频处理***的示意图;以及
图2是依照本公开一些实施例所描绘的视频处理方法的流程图。
具体实施方式
在本文中所使用的术语“耦接”也可指“电性耦接”,且术语“连接”也可指“电性连接”。“耦接”及“连接”也可指两个或多个元件相互配合或相互互动。
参考图1。图1是依照本公开一些实施例所描绘的视频处理***100的示意图。
以图1示例而言,视频处理***100包含***处理电路110以及视频处理电路120。***处理电路110耦接视频处理电路120以及摄影机CM。
视频处理***100可设置于电子装置的***芯片(system on chip,SoC)上。在一些实施例中,若上述电子装置为智能电视,则摄影机CM可设置于智能电视的***芯片的外部。在一些其他的实施例中,若上述电子装置为智能手机,则摄影机CM可与视频处理***100整合且设置于智能手机的内部。
摄影机CM可用以进行拍照或录像等功能。以下将以录像功能为例进行说明。
在功能上,***处理电路110主要运行与电子装置的操作***相关的应用程序。举例而言,若该电子装置搭载安卓(Android)操作***,***处理电路110可运行与安卓操作***相关的应用程序。而视频处理电路120主要用以处理来自摄影机CM的视频数据VD。举例而言,当摄影机CM执行录像功能时,摄影机CM会产生视频数据VD。而视频处理电路120可对来自摄影机CM的视频数据VD进行编码且将编码后的数据回传至***处理电路110。
以图1示例而言,***处理电路110包含帧缓冲区(frame buffer)111、图像缓冲区(graphic buffer)112、***框架(frame work)113、开放多媒体加速(open mediaacceleration,OpenMax)层114以及解码电路115。在一些实施例中,***框架113以及开放多媒体加速层114是以软件实现且储存于***处理电路110的储存元件中。
帧缓冲区111耦接摄影机CM以及图像缓冲区112。图像缓冲区112耦接***框架113。开放多媒体加速层114耦接于***框架113与视频处理电路120之间。***框架113还耦接解码电路115。
以图1示例而言,视频处理电路120包含环形缓冲区(ring buffer)121、读取电路122、存储器123、编码电路124以及环形缓冲区125。
环形缓冲区121耦接开放多媒体加速层114以及读取电路122。读取电路122耦接存储器123以及编码电路124。编码电路124耦接存储器123以及环形缓冲区125。环形缓冲区125耦接开放多媒体加速层114。
以下将以视频处理***100设置于搭载安卓操作***的智能电视为例进行说明,但本公开不以此为限。
在操作上,当摄影机CM执行录像功能时,摄影机CM会产生原始的视频数据VD。视频数据VD会传输至帧缓冲区111。举例而言,在帧缓冲区111中的视频数据VD会以一帧一帧的形式储存。接着,视频数据VD可通过应用程序接口(例如:CameraHal)被转化且储存至图像缓冲区112。该应用程序接口可利用软件实现。举例而言,视频数据VD会依据操作***(例如:安卓操作***)的规范储存于图像缓冲区112中。在一些实施例中,图像缓冲区112可配置于***处理电路110的动态随机存取存储器(dynamic random-access memory,DRAM)中。
视频数据VD可通过操作***的***框架113传输至开放多媒体加速层114。而开放多媒体加速层114可提取相关于视频数据VD的至少一个数据参数P。接着,开放多媒体加速层114可将数据参数P传输至视频处理电路120。在一些实施例中,数据参数P可包含视频数据VD在图像缓冲区112中的物理地址(physical address)、视频数据VD的数据尺寸(size)以及视频数据VD的编码格式中的至少一个。数据尺寸例如是数据长度。编码格式例如是YUV或RGB。在一些实施例中,前述物理地址、数据尺寸以及编码格式可封装于数据结构中,以传输至视频处理电路120。
视频处理电路120可从***处理电路110接收数据参数P,且依据数据参数P从图像缓冲区112接收视频数据VD。具体而言,环形缓冲区121可从开放多媒体加速层114接收数据参数P,且将数据参数P传输至读取电路122。而读取电路122可接收数据参数P,且依据数据参数P向存储器123请求视频处理缓冲区1231。另一方面,读取电路122可依据数据参数P将储存于图像缓冲区112中的视频数据VD读取出来。举例而言,读取电路122可依据数据参数P所携带的物理地址判断要读取的视频数据VD被储存于图像缓冲区112中的对应位置,且可依据数据参数P所携带的数据尺寸判断欲读取的视频数据VD的数据量。据此,读取电路122可依据上述的物理地址以及数据尺寸将储存于图像缓冲区112中的视频数据VD读取出来。接着,读取电路122可将读取出来的视频数据VD存入视频处理缓冲区1231。视频处理缓冲区1231的容量则可依据从图像缓冲区112读取出来的视频数据VD的数据量而决定。
编码电路124可接收来自读取电路122的数据参数P且接收来自视频处理缓冲区1231的视频数据VD。如前所述,数据参数P还可包含视频数据VD的编码格式。也就是说,编码电路124可依据数据参数P中的编码格式(例如:YUV或RGB)对视频数据VD进行编码以产生编码数据ED。
接着,开放多媒体加速层114可接收来自环形缓冲区125的编码数据ED。开放多媒体加速层114可将编码数据ED传送至***框架113。而***框架113可将编码数据ED传输至解码电路115。而解码电路115可对编码数据ED进行解码以产生解码数据DD。
在一些实施例中,解码数据DD可供显示器显示出对应的影像。在一些其他的实施例中,解码数据DD也可被储存起来。
在一些相关技术中,摄影机所产生的视频数据会先被复制至开放多媒体加速层的缓冲区。接着,再从开放多媒体加速层的缓冲区复制至视频处理电路中的共享存储器中。换句话说,视频数据在***处理电路中会被多次复制。然而,多次的复制将会增加***处理电路的工作量。尤其,编码前的视频数据的数据量非常庞大且随着视频数据的分辨率越高,***处理电路的工作量将会越大。这会造成由***处理器所运行的操作***运行缓慢,甚至发生当机的问题。
相较于上述这些相关技术,在本公开中,***处理电路110可提取视频数据VD的数据参数P且将数据参数P传输至视频处理电路120。接着,视频处理电路120可依据数据参数P直接从图像缓冲区112接收(复制)视频数据VD以进行后续的编码。据此,视频数据VD无需在***处理电路110中进行多次复制,因此可降低***处理电路110的工作量,进而使得操作***可运行顺畅。
另外,视频处理电路120主要是以硬件实现。据此,相较于上述这些相关技术利用软件(***框架113、开放多媒体加速层114)进行数据复制,以硬件实现的视频处理电路120的数据复制速度较快,因此本公开可提高对视频数据VD的处理效率。
再者,通过本公开的作法,无需降低视频数据VD的分辨率或帧率,也无需关闭其他由***处理电路110所运行的应用程序。
参考图2。图2是依照本公开一些实施例所描绘的视频处理方法200的流程图。以图2示例而言,视频处理方法200包含操作S210、操作S220、操作S230、操作S240、操作S250以及操作S260。应了解到,在本实施方法中所提及的操作,除特别说明其顺序的外,均可依实际需要调整其前后顺序,甚至可同时或部分同时执行
在一些实施例中,视频处理方法200可应用于图1中的视频处理***100中,但本公开不以此为限。为易于理解,以下段落将结合图1的视频处理***100进行描述。
在操作S210中,通过***处理电路110的图像缓冲区112储存来自摄影机CM的视频数据VD。在一些实施例中,摄影机CM可设置于电子装置的***芯片外部。在一些实施例中,摄影机CM可设置于电子装置的***芯片上。
在操作S220中,通过***处理电路110的开放多媒体加速层114提取相关于视频数据VD的数据参数P。在一些实施例中,数据参数P包含视频数据VD在图像缓冲区112的物理地址、视频数据VD的数据尺寸以及视频数据VD的编码格式中的至少一个。
在操作S230中,通过视频处理电路120接收数据参数P。在一些实施例中,数据参数P可从开放多媒体加速层114传输至环形缓冲区121。
在操作S240中,通过视频处理电路120依据数据参数P从图像缓冲区112接收视频数据VD。在一些实施例中,读取电路122可依据上述的物理地址以及数据尺寸将储存于图像缓冲区112中的视频数据VD读取出来。
在操作S250中,通过视频处理电路120依据数据参数P对视频数据VD进行编码以产生编码数据ED。在一些实施例中,编码电路124可依据数据参数P中的编码格式(例如:YUV或RGB)对视频数据VD进行编码以产生编码数据ED。
在操作S260中,通过视频处理电路120将编码数据ED传输至***处理电路110。在一些实施例中,编码数据ED可从环形缓冲区125传输至开放多媒体加速层114,且通过***框架113传输至解码电路115。
综上所述,在本公开中,***处理电路可提取视频数据的数据参数且将数据参数传输至视频处理电路。接着,视频处理电路可依据数据参数直接从图像缓冲区接收视频数据以进行后续的编码。据此,***处理电路无需对视频数据进行多次复制,因此可降低***处理电路的工作量,进而使得操作***可运行顺畅。
各种功能性元件和模块已在此公开。对于本技术领域普通技术人员而言,功能模块可由电路(不论是专用电路,或是在一个或多个处理器及编码指令控制下操作的通用电路)实现,其一般而言包含用以相应于此处描述的功能及操作对电气回路的操作进行控制的晶体管或其他电路元件。进一步地理解,一般而言电路元件的具体结构与互连,可由编译器(compiler),例如寄存器传送语言(Register Transfer Language,RTL)编译器决定。寄存器传送语言编译器对与汇编语言代码(assembly language code)相当相似的脚本(script)进行操作,将脚本编译为用于布局或制作最终电路的形式。确实地,寄存器传送语言以其促进电子和数字***设计过程中的所扮演的角色和用途而闻名。
虽然本公开已以实施方式公开如上,然其并非用以限定本公开,任何本领域普通技术人员,在不脱离本公开的精神和范围内,当可作各种的改变与改进,因此本公开的保护范围当视后附的权利要求范围所界定的为准。
附图标记说明:
100:视频处理***
110:***处理电路
111:帧缓冲区
112:图像缓冲区
113:***框架
114:开放多媒体加速层
115:解码电路
120:视频处理电路
121:环形缓冲区
122:读取电路
123:存储器
1231:视频处理缓冲区
124:编码电路
125:环形缓冲区
200:视频处理方法
CM:摄影机
VD:视频数据
ED:编码数据
DD:解码数据
P:数据参数
S210,S220,S230,S240,S250,S260:操作
Claims (10)
1.一种视频处理***,包含:
***处理电路,包含:
图像缓冲区,用以储存来自摄影机的视频数据;以及
开放多媒体加速层,用以提取相关于所述视频数据的至少一个数据参数;以及
视频处理电路,用以接收所述至少一个数据参数,依据所述至少一个数据参数从所述图像缓冲区接收所述视频数据,依据所述至少一个数据参数对所述视频数据进行编码以产生编码数据,且将所述编码数据传输至所述***处理电路。
2.如权利要求1所述的视频处理***,其中所述视频处理电路包含:
第一环形缓冲区,用以接收所述至少一个数据参数。
3.如权利要求2所述的视频处理***,其中所述视频处理电路还包含:
读取电路,用以读取所述第一环形缓冲区所接收到的所述至少一个数据参数,且依据所述至少一个数据参数请求视频处理缓冲区。
4.如权利要求3所述的视频处理***,其中所述读取电路还用以依据所述至少一个数据参数读取所述图像缓冲区中的所述视频数据,且将所述视频数据存入所述视频处理缓冲区。
5.如权利要求3所述的视频处理***,其中所述至少一个数据参数包含物理地址以及数据尺寸,其中所述读取电路还用以依据所述物理地址以及所述数据尺寸读取所述图像缓冲区中的所述视频数据。
6.如权利要求5所述的视频处理***,其中所述视频处理电路还包含:
编码电路,其中所述至少一个数据参数包含编码格式,且所述编码电路用以依据所述编码格式对所述视频数据进行编码以产生所述编码数据。
7.如权利要求6所述的视频处理***,其中所述视频处理电路还包含:
第二环形缓冲区,用以接收所述编码数据,其中所述开放多媒体加速层还用以接收所述编码数据。
8.如权利要求1所述的视频处理***,其中所述***处理电路还包含:
***框架,用以接收来自所述视频处理电路的所述编码数据。
9.如权利要求8所述的视频处理***,其中所述***处理电路还包含:
解码电路,用以对所述编码数据进行解码以产生解码数据,其中所述解码数据供显示器进行显示。
10.一种视频处理方法,包含:
通过***处理电路的图像缓冲区储存来自摄影机的视频数据;
通过所述***处理电路的开放多媒体加速层提取相关于所述视频数据的至少一个数据参数;
通过视频处理电路接收所述至少一个数据参数;
通过所述视频处理电路依据所述至少一个数据参数从所述图像缓冲区接收所述视频数据;
通过所述视频处理电路依据所述至少一个数据参数对所述视频数据进行编码以产生编码数据;以及
通过所述视频处理电路将所述编码数据传输至所述***处理电路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002006.9A CN115767245A (zh) | 2021-08-30 | 2021-08-30 | 视频处理***以及方法 |
TW111100141A TWI819455B (zh) | 2021-08-30 | 2022-01-03 | 視訊處理系統以及方法 |
US17/662,078 US11989798B2 (en) | 2021-08-30 | 2022-05-05 | System and method for processing video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002006.9A CN115767245A (zh) | 2021-08-30 | 2021-08-30 | 视频处理***以及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115767245A true CN115767245A (zh) | 2023-03-07 |
Family
ID=85286780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111002006.9A Pending CN115767245A (zh) | 2021-08-30 | 2021-08-30 | 视频处理***以及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11989798B2 (zh) |
CN (1) | CN115767245A (zh) |
TW (1) | TWI819455B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104023260B (zh) * | 2013-02-28 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 硬件解码实现方法、装置及播放器 |
GB2521352B (en) * | 2013-12-16 | 2015-11-04 | Imagination Tech Ltd | Encoder configuration |
KR102376700B1 (ko) * | 2015-08-12 | 2022-03-22 | 삼성전자주식회사 | 비디오 컨텐츠 생성 방법 및 그 장치 |
CN106993220B (zh) * | 2017-04-18 | 2020-05-01 | 北京元心科技有限公司 | 调整多媒体解码信息缓冲区的方法和装置 |
KR102347598B1 (ko) * | 2017-10-16 | 2022-01-05 | 삼성전자주식회사 | 영상 부호화 장치 및 인코더 |
CN109168085B (zh) * | 2018-08-08 | 2021-01-08 | 瑞芯微电子股份有限公司 | 一种设备客户端视频流硬件保护方法 |
US11153603B2 (en) * | 2019-06-10 | 2021-10-19 | Intel Corporation | Volumetric video visibility encoding mechanism |
US11833419B2 (en) * | 2020-03-16 | 2023-12-05 | Tencent America LLC | Method and apparatus for cloud gaming |
-
2021
- 2021-08-30 CN CN202111002006.9A patent/CN115767245A/zh active Pending
-
2022
- 2022-01-03 TW TW111100141A patent/TWI819455B/zh active
- 2022-05-05 US US17/662,078 patent/US11989798B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW202309828A (zh) | 2023-03-01 |
US11989798B2 (en) | 2024-05-21 |
TWI819455B (zh) | 2023-10-21 |
US20230065053A1 (en) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9336558B2 (en) | Wavefront encoding with parallel bit stream encoding | |
US11223838B2 (en) | AI-assisted programmable hardware video codec | |
US10070134B2 (en) | Analytics assisted encoding | |
US10757430B2 (en) | Method of operating decoder using multiple channels to reduce memory usage and method of operating application processor including the decoder | |
CN115767245A (zh) | 视频处理***以及方法 | |
US10448020B2 (en) | Intelligent MSI-X interrupts for video analytics and encoding | |
US20220109838A1 (en) | Methods and apparatus to process video frame pixel data using artificial intelligence video frame segmentation | |
US20130278775A1 (en) | Multiple Stream Processing for Video Analytics and Encoding | |
US20140146067A1 (en) | Accessing Configuration and Status Registers for a Configuration Space | |
US9179156B2 (en) | Memory controller for video analytics and encoding | |
WO2024060213A1 (en) | Viewport switch latency reduction in live streaming | |
WO2023184206A1 (en) | Enhanced presentation of tiles of residual sub-layers in low complexity enhancement video coding encoded bitstream | |
KR20140126841A (ko) | 메모리 장치 및 이를 포함하는 이미지 신호 처리 시스템 |
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 |