CN116095262A - 用于处理视频信号源的移动处理设备、处理方法及系统 - Google Patents
用于处理视频信号源的移动处理设备、处理方法及系统 Download PDFInfo
- Publication number
- CN116095262A CN116095262A CN202310377202.7A CN202310377202A CN116095262A CN 116095262 A CN116095262 A CN 116095262A CN 202310377202 A CN202310377202 A CN 202310377202A CN 116095262 A CN116095262 A CN 116095262A
- Authority
- CN
- China
- Prior art keywords
- data
- rgb
- rgb data
- pixel points
- processing 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0125—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及用于处理视频信号源的移动处理设备、处理方法及系统,所述移动处理设备装有Android操作系统;所述移动处理设备包括HDMI‑IN接口,所述HDMI‑IN接口用于接入视频信号源;所述移动处理设备基于V4L框架,在Android的Native层打开HDMI‑IN接口的设备文件,以采集视频信号源的原始数据,其中,所述移动处理设备将原始数据转码为RGB格式,以及对转码后的数据进行处理。本发明使得移动处理设备一方面可以快速接入视频信号源,另一方面使得该移动处理设备可通过对采集到的原始数据的进一步编码等处理,作为一个视频数据中转设备。
Description
技术领域
本申请涉及视频信号源的处理技术,尤其涉及用于处理视频信号源的移动处理设备、处理方法及系统。
背景技术
在现有技术中,装有Android操作系统的移动处理设备,如手机,通常只具有MicroUSB接口,Type-c接口,没有HDMI接口。而且,现有的Android TV工具包虽然可以提供对硬件设备HDMI-IN接口的操作功能,例如读取通过HDMI-IN接入的信号源,但Android TV工具包提供的相关API中,能且仅能对HDMI-IN接口进行媒体播放功能,不支持其它操作。而且它是闭源类API,开发者无法看到源代码,对其进行封装和扩展。如开发者需要同时对HDMI-IN接口或接入的信号源进行多项操作(包括以信号源原始数据为基础,进行后续的编码和推流操作)时,Android现有技术无法实现此类功能。
发明内容
针对以上现有技术中的缺陷或不足,本申请提出一种用于处理视频信号源的移动处理设备,所述移动处理设备装有Android操作系统;所述移动处理设备包括HDMI-IN接口,所述HDMI-IN接口用于接入视频信号源;所述移动处理设备基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据;其中,所述移动处理设备将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述移动处理设备将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,所述移动处理设备将原始数据编码为网络流数据,以用于网络传输。
根据本发明的一些实施例,所述移动处理设备利用libyuv图像处理库将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,所述移动处理设备利用mediacodec编解码库将原始数据压制为H264格式,以用于网络传输。
根据本发明的一些实施例,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,移动处理设备按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,仅隔行保留像素点的数据以及按行对保留的像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述移动处理设备将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,包括:
通过HDMI-IN接口名字打开HDMI-IN接口对应的文件句柄;
依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数;
对相关参数进行选取并根据选取的相关参数对HDMI-IN接口进行设置;
依据设置,采集视频信号源的原始数据。
根据本发明的一些实施例,所述移动处理设备包括移动通信处理设备;移动通信处理设备包括手机。
根据本发明的一些实施例,所述移动处理设备将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,以用于网络传输。
本申请还提出一种基于所述移动处理设备的视频信号源处理方法,包括:
通过HDMI-IN接口接入视频信号源;
基于V4L框架在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据;
还包括将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述的方法还包括将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,将原始数据编码为网络流数据,以用于网络传输。
根据本发明的一些实施例,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述的方法包括按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,仅隔行保留像素点的数据以及按行对保留的像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述的方法还包括将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,包括:
通过HDMI-IN接口名字打开HDMI-IN接口对应的文件句柄;
依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数;
对相关参数进行选取并根据选取的相关参数对HDMI-IN接口进行设置;
依据设置,采集视频信号源的原始数据。
根据本发明的一些实施例,所述的方法还包括将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
本申请还提出一种用于处理视频信号源的系统,包括用于处理视频信号源的移动处理设备和一个终端;移动处理设备响应输入的转发请求,将采集到的视频信号源的原始数据编码为和一个终端的接收模式匹配的格式,发送至所述终端。
根据本发明的一些实施例,移动处理设备响应输入的转发请求,将视频信号源的原始数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕。
根据本发明的一些实施例,移动处理设备响应输入的转发请求,将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕。
本发明的上述实施例克服了本领域技术人员对于Android操作系统下的移动处理设备的常见认知偏见,在其中反常地引入HDMI-IN接口,并成功采集了对应的原始数据,从而使得该移动处理设备一方面可以快速获取接入的视频信号源,另一方面使得该移动处理设备可通过对采集到的原始数据的进一步编码等处理,作为一个视频数据中转设备,将信号源数据进一步传输出去,例如包括将一个没有配备显示设备的主机的内容通过移动处理设备直接推送到一个带有显示设备的终端上,如网络终端,或者可以在移动处理设备上直接查看该视频信号源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一些实施例的移动处理设备对视频信号源的处理过程示意图。
图2示出根据本发明的一些实施例的用于对RGB数据进行处理的方法流程图。
图3示出根据本发明的一些实施例的对转码后的RGB数据进行处理的示意图。
图4示出根据本发明的一些实施例的在高度方向上对像素点做进一步处理的示意图。
图5示出6*4分辨率的RGB数据的排列形式示意图。
图6示出对图5所示的RGB数据在宽高两方向上减半的示意图。
图7示出删除图6的斜体部分后形成的3*2分辨率的RGB数据示意图。
图8示出根据本发明的另一些实施例的对像素点进行处理的示意图。
图9示出根据本发明的另一些实施例的删除图8中斜体部分的数据后形成的数据示意图。
图10示出根据本发明的一些实施例的用于对RGB数据进行处理的方法流程图。
图11示出根据本发明的一些实施例的基于所述移动处理设备的视频信号源处理方法流程图。
图12示出根据本发明的一些实施例的用于处理视频信号源的装置的示意性结构框图。
图13示出根据本发明的再一些实施例的用于处理视频信号源的装置的示意性结构框图。
图14示出根据本发明的一些实施例的设备输出单元的结构框图。
图15示出根据本发明的一些实施例的用于处理视频信号源的设备的示意性结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请第一方面提供一种用于处理视频信号源的移动处理设备,所述移动处理设备装有Android操作系统。所述移动处理设备包括HDMI-IN接口,所述HDMI-IN接口用于接入视频信号源。所述移动处理设备基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
在本申请中,移动处理设备包括所有便携式的可以实现移动过程中的数据通讯的设备,移动处理设备例如包括手机等。
图1示出根据本发明一些实施例的移动处理设备对视频信号源的处理过程示意图。
如图中所示:硬件设备输入源(例如可以为一个PC,摄像头等)作为一个有效信号源通过HDMI-IN接口接入移动处理设备。所述移动处理设备基于V4L(包括V4L1和V4L2)框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
根据本发明的一些实施例,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,可以通过以下方式实现:通过HDMI-IN接口名字(如“/dev/video1”)打开HDMI-IN接口对应的文件句柄;依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数,例如,确定该HDMI-IN接口支持什么样的画面格式(所述画面格式包括画面比例和分辨率,画面比例例如为1:1,4:3,或其他)、像素格式(如rgb,yuv)和帧率;对相关参数进行选取(如,想读取什么样的数据,什么样像素格式的,画面大小等)并根据选取的相关参数对HDMI-IN接口进行设置;依据设置,采集视频信号源的原始数据。
根据本发明一些实施例,所述移动处理设备可以将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示。
更进一步地,根据本发明一些实施例,所述移动处理设备对转码后的RGB数据进行处理,图2示出根据本发明的一些实施例的用于对RGB数据进行处理的方法流程图。所述方法包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据。
如图3所示,其中第一行示出一个图像帧的四个像素点,从右到左依次为第一至四像素点,每个像素点包括R,G,B数据(每个数据包括8个字节)。从第一像素点取其中的G数据,从第二像素点取其中的B和R数据,从第三像素点取其中的G数据,从第四像素点取其中的B和R数据。
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据。
对上面S1步骤取出来的相邻数据进行重新组合(即图3中的数据重组),如,第一像素点的G数据和第二像素点的B和R数据组合后形成图3第三行的1个像素点的RGB数据, 第三像素点的G数据和第四像素点的B和R数据形成图示第三行的另一像素点的RGB数据。
根据本发明的另一些实施例,也可以在上述第一像素点中取R数据,在第二像素点中取B、G数据,形成图示第三行的一像素点的RGB数据,或者在上述第一像素点中取B数据,在第二像素点中取R、G数据,形成图示第三行的一像素点的RGB数据。
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
如图3中所示,重新组合形成的像素点的RGB数据(图中第3行)可能和组合前的像素点的RGB数据(如图中第1行和第2行所示)的位置之间存在位置反转,为此,本申请进一步提出,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,还可以通过修改片元着色器配置(即图中标注的着色器优化),以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。如图3所示,可以将其中的R色彩和G色彩的两个通道倒置,从而避免出现反色现象。
根据本发明的一些实施例,可以按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,可以按列对所述图像的所有像素点依次执行步骤S1,S2和S3。
通过上述实施例,使得转码后的RGB数据量大大减少,从而稳定了帧率波动,提高后续图画输出流畅度。此外,通过修改片元着色器配置,实现两个色彩的两个通道倒置,从而节省了操作步骤和运行耗时,同时保证画面色彩正常。
根据本发明的一些实施例,还可以仅隔行保留像素点的数据,以及按行对保留的像素点依次执行步骤S1,S2和S3。如图4所示,除了对图中的第1行和第3行的像素点按图3的方式进行取点之外,还略去第2行和第4行的像素点数据。由此,可以使得转码后的RGB数据量在宽高方向都减少一半。
根据本发明的一些实施例,还可进一步借助特定的开源库来实现前述数据处理过程。所述开源库例如包括libyuv图像处理库。但libyuv缩放功能的CPU多媒体指令只能处理2的n次方这种字节块的数据,比如1个字节块,2个字节块,4个字节块。而RGB这种图像格式的每个像素是由3个字节组成,libyuv库无法使用CPU多媒体指令对其加速进行缩放操作(libyuv库中有针对4字节块数据的缩放函数ScaleARGB,针对2字节块数据的缩放函数ScalePlane_16,和针对单字节数据的缩放函数ScalePlane,没有针对RGB这种3字节块数据的缩放函数)。如果把RGB数据先转化为ARGB或者I420(一种YUV格式)等其它格式数据,然后再利用libyuv进行缩放处理,由于先把RGB数据转化为其它数据格式本身也需要可观的运算量,因此效果并不理想,实际测试也验证了这一点。
为此,本发明提出以下对RGB数据进行处理的方法,该方法包括以下步骤S21-S23(图10示出相应的流程图):
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据。
如图8所示,其中第一行示出一个图像帧的6个像素点,从右到左依次为第一至六像素点,每个像素点包括R,G,B数据。从第一像素点取其中的G数据,从第二像素点取其中的B和R数据,从第三像素点取其中的G数据,从第四像素点取其中的B和R数据,从第五像素点取其中的G数据,从第六像素点取其中的B和R数据。删除第2行和第4行的像素点。
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据。
对上面S21步骤取出来的相邻数据进行重新组合,如,第一像素点的G数据和第二像素点的B和R数据形成1个像素点的RGB数据, 第三像素点的G数据和第四像素点的B和R数据形成另一像素点的RGB数据。
同理,可以依次对图像中的所有相邻的像素点进行上述处理,得到一系列重新形成的像素点。
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
重新调整后的RGB数据可以用于实现正确渲染显示。
以下进一步详细解释上述实现过程。
6*4分辨率的RGB数据的排列形式如图5所示,其中RGB数据是以BGR顺序排列在内存中的。
若现在期望图5所示的RGB数据在宽高两方向上减半,则可以删除图6的斜体部分,删除后可形成图7所示的3*2分辨率的RGB数据。
而根据之前描述可知,libyuv缩放功能的CPU多媒体指令只能处理2的n次方这种字节块的数据,因此,对于图6的删除操作动作,现有技术目前没有一个高效的实现方式。本发明提出,使用libyuv的ScalePlane函数(其是针对单个字节为单位进行操作的)进行缩半处理,所述处理包括,删除图8中斜体部分的数据,删除后形成图9所示的3*2尺寸的数据。
对比‘图7’与‘图9’可见两点:
其一:二者R和G的顺序颠倒;
其二:图9中每个像素的B分量,G分量,R分量并非隶属于原始图像中同一像素中的BGR分量,但都是相邻像素中的分量。
对于第一点,可以利用OpenGL的着色器脚本功能,无性能损耗地把R分量与G分量进行对调(见之后阐述)。
对于第二点,图像的相邻像素颜色都是相近的,相邻像素的各颜色分量可以互相替换而不影响显示效果,或者说肉眼基本察觉不到这种差异。所以可以将图7视为与图9是等价的。
S23的实现过程如下:
OpenGL全称‘Open Graphics Library’,用于渲染2D、3D图形。在视频应用中通常利用其2D渲染功能,进行视频数据帧的显示。
OpenGL支持着色器(shader)语言,分为顶点着色器(vertex shader) 和片段着色器(fragment shader,即上文提到的片元着色器),顶点着色器(vertex shader)用于绘制图形轮廓,片段着色器(fragment shader)用于输出每个像素的颜色。其中的片段着色器可以实现以2D图形数据的每个像素为操作对象,对各颜色分量做适当运算以实现某种视觉效果,比如调整亮度、对比度、红绿蓝各颜色分量浓度,也可以实现本技术方案需要的交换颜色分量的功能。并且着色器程序运行于GPU硬件加速的并行框架下,效率极高,不存在CPU对图像逐点运算产生的性能瓶颈问题。
以下着色器程序示例实现了,当以RGB作为数据输入时,交换R和G两个颜色分量的功能。
#version 300 es
precision mediump float;
in vec2 v_texCoord;
layout(location=0) out vec4 outColor;
uniform sampler2D texture_1;
void main()
{
vec4 v=texture(texture_1,v_texCoord);
outColor=vec4(v.g,v.r,v.b,1.0);
}
前面围绕图1-4所描述的实施例细节也适用于或经适当调整后适用于上述实施例。为简化起见,此处不再赘述。
由于libyuv可以调用CPU多媒体指令加速数据处理,因此,本发明的上述实施例可以实现非常高效的图像缩放,不会造成太多延迟。此外,通过对RGB图像数据进行宽高减半,以及与OpenGL着色器程序相结合,可以进一步实现对RGB图像的快速缩略显示。而且,由于整个处理过程使用的都是高效函数或硬件加速方式,并且没有增加任何额外的数据转换步骤(其中无需使用libyuv转置格式),最大限度地提升了处理效率,减少了处理每帧数据的耗时,增加显示的最大帧率数。
根据本发明一些实施例,所述移动处理设备可以利用libyuv图像处理库将原始数据转码为RGB格式,利用OpenGL ES三维图形渲染技术和GLSL着色器语言,最终在显示输出设备上实现信号源的视频播放。
根据本发明一些实施例,所述移动处理设备将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,所述移动处理设备将原始数据编码为网络流数据,以供用于网络传输。例如,所述移动处理设备可以将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。更进一步地,如图1所示,所述移动处理设备利用mediacodec编解码库将原始数据压制为H264格式,以用于网络传输。更进一步地,可以利用RTP/RTSP等网络传输协议,将各帧数据切片封包,并发送到Server服务器,实现推流(数据共享)功能。当有其它终端连接服务器浏览此数据时,就形成了从本机到远端的共享功能。所述移动处理设备也可以将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,以供用于网络传输。
根据本发明一些实施例,所述移动处理设备包括移动通信处理设备;移动通信处理设备包括手机。
本申请还提出一种用于处理视频信号源的系统,包括用于处理视频信号源的移动处理设备和一个终端;所述移动处理设备装有Android操作系统;所述移动处理设备包括HDMI-IN接口,所述HDMI-IN接口用于接入视频信号源;所述移动处理设备基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。移动处理设备响应输入的转发请求,将采集到的视频信号源的原始数据编码为和一个终端的接收模式匹配的格式,发送至所述终端。
其中,将采集到的视频信号源的原始数据编码为和一个终端的接收模式匹配的格式包括:将视频信号源的原始数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕,将视频信号源的原始数据编码为蓝牙等其他通讯协议下的格式,以通过蓝牙等方式将编码后的数据发送至所述终端,由所述终端将其输出至屏幕。所述转发请求也包括投屏请求。
根据本发明的一些实施例,移动处理设备响应输入的转发请求,将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕。
此外,移动处理设备还可以是前面围绕图1-10描述的各个实施例中的移动处理设备。前面针对图1-10所描述的所述移动处理设备及其各个处理细节也通过引用的方式囊括在此处,为简化起见,不再赘述。
本发明的上述实施例克服了本领域技术人员对于Android操作系统下的移动处理设备的常见认知偏见,在其中反常地引入HDMI-IN接口,并成功采集了对应的原始数据,从而使得该移动处理设备一方面可以快速获取接入的视频信号源,另一方面使得该移动处理设备可通过对采集到的原始数据的进一步编码等处理,作为一个视频数据中转设备,将信号源数据进一步传输出去,例如包括将一个没有配备显示设备的主机的内容通过移动处理设备直接推送到一个带有显示设备的终端上,如网络终端,或者可以在移动处理设备上直接查看该视频信号源。
图11示出根据本发明的一些实施例的基于所述移动处理设备的视频信号源处理方法流程图。所述方法包括:
S31, 通过HDMI-IN接口接入视频信号源;
S32, 基于V4L框架在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
根据本发明的一些实施例,所述方法还包括,将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,将原始数据编码为网络流数据,以供用于网络传输。根据本发明的一些实施例,所述方法还包括将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
根据本发明的一些实施例,所述方法还包括,对转码后的RGB数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述方法还包括按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述方法还包括仅隔行保留像素点的数据,以及按行对保留的像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,用于对转码后的RGB数据进行处理的方法包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,包括:
通过HDMI-IN接口名字打开HDMI-IN接口对应的文件句柄;
依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数;
对相关参数进行选取并根据选取的相关参数对HDMI-IN接口进行设置;
依据设置,采集视频信号源的原始数据。
根据本发明的一些实施例,移动处理设备的视频信号源处理方法还包括将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
此外,前面针对图1和10所描述的所述移动处理设备及其各个处理细节也通过引用的方式囊括在此处,为简化起见,不再赘述。
图12示出根据本发明的一些实施例的用于处理视频信号源的装置的示意性结构框图。所述的用于处理视频信号源的装置可以是前述移动处理设备的一部分,用于实现前面提到的移动处理设备的部分或全部功能。如图12所示,所述装置400可以包括:数据接入单元410和数据采集单元420。
数据接入单元410用于接入视频信号源。
数据采集单元420用于基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
根据本发明的一些实施例,如图13所示,所述装置2400可以包括:数据接入单元2410、数据采集单元2420、设备输出单元2430和码流输出单元2440。
数据接入单元2410用于接入视频信号源。
数据采集单元2420用于基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
设备输出单元2430用于将采集的原始数据转码为RGB格式,提供给输出设备用于显示。
码流输出单元2440用于将原始数据编码为网络流数据,以供用于网络传输。例如,利用mediacodec编解码库将原始数据压制为H264格式,提供给传输协议用于推流。
根据本发明的一些实施例,如图14所示,设备输出单元2430还可以包括:
数据提取单元3410,用于取一帧图像的一个像素点的RGB三位数据中的目标位的数据(8个字节),以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据。
数据组合单元3420,用于将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据。
位置调整单元3430,用于根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
前面参考图1-11所作的相应细节描述通过引用的方式囊括在此处,此处不再赘述。
图15示出根据本发明的一些实施例的用于处理视频信号源的设备500的示意性结构图。如图15所示,所述设备包括处理器51、存储器52和总线53。
在一些实例中,该设备还可以包括输入设备501、输入端口502、输出端口503、以及输出设备504。其中,输入端口502、处理器51、存储器52、以及输出端口503通过总线53相互连接,输入设备501和输出设备504分别通过输入端口502和输出端口503与总线53连接,进而与设备的其他组件连接。需要说明的是,这里的输出接口和输入接口也可以用I/O接口表示。具体地,输入设备501(如HDMI-IN接口)接收来自外部的输入信息(如视频信号源),并通过输入端口502将输入信息传送到处理器51;处理器51基于存储器52中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器52中,然后通过输出端口503将输出信息传送到输出设备504;输出设备504将输出信息输出到设备的外部。
上述存储器52包括用于数据或指令的大容量存储器。举例来说而非限制,存储器52可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器52可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器52可在设备的内部或外部。在特定实施例中,存储器52是非易失性固态存储器。在特定实施例中,存储器52包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
总线53包括硬件、软件或硬件和软件这两者,总线将多个部件彼此耦接在一起。举例来说而非限制,总线53可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该处理器51基于存储器52中存储的计算机程序,执行以下动作:
通过HDMI-IN接口接入视频信号源;
基于V4L框架在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
根据本发明的一些实施例,该处理器51基于存储器52中存储的计算机程序,执行以下动作:
将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,将原始数据编码为网络流数据,以供用于网络传输。根据本发明的一些实施例,所述方法还包括将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
根据本发明的一些实施例,该处理器51基于存储器52中存储的计算机程序,还执行以下动作:
将原始数据转码为RGB格式,以及对转码后的RGB数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述方法还包括按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述方法还包括仅隔行保留像素点的数据,以及按行对保留的像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,该处理器51基于存储器52中存储的计算机程序,执行以下动作:
对转码后的RGB数据进行处理,所述处理包括:
将原始数据转码为RGB格式,以及对转码后的RGB数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
此外,前面针对图1-11所描述的所述移动处理设备及其各个处理细节也通过引用的方式囊括在此处,为简化起见,不再赘述。
根据本发明的再一些实施例,所述计算机程序可以以多种方式被分割成一个或多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述设备中的执行过程。所述计算机程序可以根据前面参考图12-14所描述的各个实施例中的各个单元的功能来分割成多个单元,或者包括前面参考图12-14所描述的各个实施例中的各个单元。为简化起见,此处不再复述。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述设备的控制中心,利用各种接口和线路连接整个设备的各个部分。所述设备可以是桌上型计算机、笔记本、掌上电脑及云端服务端等计算设备或其中的一部分。所述设备可包括,但不仅限于,处理器和存储器。本领域技术人员可以理解,所述示意图仅仅是设备的示例,并不构成对设备的限定。
本申请还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过HDMI-IN接口接入视频信号源;
基于V4L框架在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据。
根据本发明的一些实施例,所述计算机程序被处理器执行时还实现以下步骤:
将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,将原始数据编码为网络流数据,以供用于网络传输。根据本发明的一些实施例,所述方法还包括将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
根据本发明的一些实施例,所述计算机程序被处理器执行时还实现以下步骤:
将原始数据转码为RGB格式,以及对转码后的RGB数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的RGB数据位置分别一一对应。
根据本发明的一些实施例,所述方法还包括按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述方法还包括仅隔行保留像素点的数据,以及按行对保留的像素点依次执行步骤S1,S2和S3。
根据本发明的一些实施例,所述计算机程序被处理器执行时实现以下步骤:
将原始数据转码为RGB格式,以及对转码后的RGB数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
此外,前面针对图1-11所描述的所述移动处理设备及其各个处理细节也通过引用的方式囊括在此处,为简化起见,不再赘述。
所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
本发明的上述实施例克服了本领域技术人员对于Android操作系统下的移动处理设备的常见认知偏见,在其中反常地引入HDMI接口,并成功采集了对应的原始数据,从而使得该移动处理设备一方面可以快速接入获取视频信号源,另一方面使得该移动处理设备可通过对采集到的原始数据的进一步编码等处理,作为一个视频数据中转设备,将信号源数据进一步传输出去,例如包括将一个没有配备显示设备的主机的内容通过移动处理设备直接推送到一个带有显示设备的终端上,如网络终端,或者可以在移动处理设备上直接查看该视频信号源。
应当注意,尽管在附图中以特定顺序描述了本发明装置的结构及其操作的方法,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种用于处理视频信号源的移动处理设备,所述移动处理设备装有Android操作系统;所述移动处理设备包括HDMI-IN接口,所述HDMI-IN接口用于接入视频信号源;所述移动处理设备基于V4L框架,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据;其中,所述移动处理设备将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
2.根据权利要求1所述的移动处理设备,其中,所述移动处理设备将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,所述移动处理设备将原始数据编码为网络流数据,以用于网络传输。
3.根据权利要求1所述的移动处理设备,其中,所述移动处理设备利用libyuv图像处理库将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,所述移动处理设备利用mediacodec编解码库将原始数据压制为H264格式,以用于网络传输。
4.根据权利要求1所述的移动处理设备,其中,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
5.根据权利要求1所述的移动处理设备,其中,移动处理设备按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,仅隔行保留像素点的数据以及按行对保留的像素点依次执行步骤S1,S2和S3。
6.根据权利要求1所述的移动处理设备,其中,所述移动处理设备将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
7.根据权利要求1所述的移动处理设备,其中,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,包括:
通过HDMI-IN接口名字打开HDMI-IN接口对应的文件句柄;
依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数;
对相关参数进行选取并根据选取的相关参数对HDMI-IN接口进行设置;
依据设置,采集视频信号源的原始数据。
8.根据权利要求1所述的移动处理设备,其中,所述移动处理设备包括移动通信处理设备;移动通信处理设备包括手机。
9.根据权利要求4-6之一所述的移动处理设备,其中,所述移动处理设备将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,以用于网络传输。
10.一种基于权利要求1-9之一的所述的用于处理视频信号源的移动处理设备的视频信号源处理方法,包括:
通过HDMI-IN接口接入视频信号源;
基于V4L框架在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据;
还包括将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S1,取一帧图像的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S2,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S3,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
11.根据权利要求10所述的方法,还包括将原始数据转码为RGB格式,并将转码后的数据提供给显示输出设备用于显示;和/或,将原始数据编码为网络流数据,以用于网络传输。
12.根据权利要求10所述的方法,其中,所述调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应,包括:
通过修改片元着色器配置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
13.根据权利要求10所述的方法,包括按行对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,按列对所述图像的所有像素点依次执行步骤S1,S2和S3,或者,仅隔行保留像素点的数据以及按行对保留的像素点依次执行步骤S1,S2和S3。
14.根据权利要求10所述的方法,还包括将原始数据转码为RGB格式,以及对转码后的数据进行处理,所述处理包括:
S21,把一帧图像的RGB数据按照单字节块的数据,通过libyuv图像处理库的ScalePlane函数进行缩小一半的处理,所述缩小一半包括仅隔行保留像素点的数据,以及取保留的像素点中的一个像素点的RGB三位数据中的目标位的数据,以及取所述图像中与所述像素点相邻的一个像素点的RGB数据中与所述目标位互补的另外两位数据;
S22,将所述目标位的数据和所述另外两位数据重新组合形成图像的一个像素点的RGB数据;
S23,通过OpenGL的着色器脚本功能,根据重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置之间的相对位置关系,调整重新组合形成的像素点的RGB数据位置,以使重新组合形成的像素点的RGB数据位置和组合前的像素点的RGB数据位置分别一一对应。
15.根据权利要求10所述的方法,其中,在Android的Native层打开HDMI-IN接口的设备文件,以采集视频信号源的原始数据,包括:
通过HDMI-IN接口名字打开HDMI-IN接口对应的文件句柄;
依据所述文件句柄,通过ioctl接口获得HDMI-IN接口的相关参数;
对相关参数进行选取并根据选取的相关参数对HDMI-IN接口进行设置;
依据设置,采集视频信号源的原始数据。
16.根据权利要求10-14之一所述的方法,还包括将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据,将所述网络流数据发送至一个终端,供终端将所述网络流数据解码后输出至屏幕。
17.一种用于处理视频信号源的系统,包括权利要求1-9之一的所述的用于处理视频信号源的移动处理设备和一个终端;移动处理设备响应输入的转发请求,将采集到的视频信号源的原始数据编码为和一个终端的接收模式匹配的格式,发送至所述终端。
18.根据权利要求17所述的用于处理视频信号源的系统,移动处理设备响应输入的转发请求,将视频信号源的原始数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕。
19.根据权利要求17所述的用于处理视频信号源的系统,其中,移动处理设备响应输入的转发请求,将处理后的RGB数据提供给显示输出设备用于显示,或将处理后的RGB数据编码为网络流数据发送至所述终端,由所述终端将其输出至屏幕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310377202.7A CN116095262B (zh) | 2023-04-11 | 2023-04-11 | 用于处理视频信号源的移动处理设备、处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310377202.7A CN116095262B (zh) | 2023-04-11 | 2023-04-11 | 用于处理视频信号源的移动处理设备、处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116095262A true CN116095262A (zh) | 2023-05-09 |
CN116095262B CN116095262B (zh) | 2023-08-22 |
Family
ID=86188202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310377202.7A Active CN116095262B (zh) | 2023-04-11 | 2023-04-11 | 用于处理视频信号源的移动处理设备、处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116095262B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716013A (zh) * | 2004-07-01 | 2006-01-04 | 精工爱普生株式会社 | 滤色器、彩色图像显示装置及电子设备 |
US20060114987A1 (en) * | 1998-12-21 | 2006-06-01 | Roman Kendyl A | Handheld video transmission and display |
CN101572824A (zh) * | 2005-01-31 | 2009-11-04 | 索尼株式会社 | 摄像单元 |
CN109474767A (zh) * | 2017-09-08 | 2019-03-15 | 佳能株式会社 | 信息处理设备、信息处理方法和存储介质 |
CN113744294A (zh) * | 2021-08-09 | 2021-12-03 | 深圳曦华科技有限公司 | 图像处理方法及相关装置 |
WO2022068537A1 (zh) * | 2020-09-29 | 2022-04-07 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
CN115941871A (zh) * | 2022-10-19 | 2023-04-07 | 深圳思谋信息科技有限公司 | 视频插帧方法、装置、计算机设备和存储介质 |
-
2023
- 2023-04-11 CN CN202310377202.7A patent/CN116095262B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114987A1 (en) * | 1998-12-21 | 2006-06-01 | Roman Kendyl A | Handheld video transmission and display |
CN1716013A (zh) * | 2004-07-01 | 2006-01-04 | 精工爱普生株式会社 | 滤色器、彩色图像显示装置及电子设备 |
CN101572824A (zh) * | 2005-01-31 | 2009-11-04 | 索尼株式会社 | 摄像单元 |
CN109474767A (zh) * | 2017-09-08 | 2019-03-15 | 佳能株式会社 | 信息处理设备、信息处理方法和存储介质 |
WO2022068537A1 (zh) * | 2020-09-29 | 2022-04-07 | 华为技术有限公司 | 一种图像处理方法及相关装置 |
CN113744294A (zh) * | 2021-08-09 | 2021-12-03 | 深圳曦华科技有限公司 | 图像处理方法及相关装置 |
CN115941871A (zh) * | 2022-10-19 | 2023-04-07 | 深圳思谋信息科技有限公司 | 视频插帧方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116095262B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI725299B (zh) | 圖片檔處理方法、設備及儲存介質 | |
US11544824B2 (en) | Method and device for generating a second image from a first image | |
US11671550B2 (en) | Method and device for color gamut mapping | |
KR102617258B1 (ko) | 이미지 프로세싱 방법 및 장치 | |
KR102537393B1 (ko) | Hdr 이미지를 재구성하기 위한 방법 및 디바이스 | |
CN103124350A (zh) | 基于rle的图像压缩方法及装置 | |
US10674163B2 (en) | Color space compression | |
CN114040246A (zh) | 图形处理器的图像格式转换方法、装置、设备及存储介质 | |
CN111246208B (zh) | 视频处理方法、装置及电子设备 | |
CN116095262B (zh) | 用于处理视频信号源的移动处理设备、处理方法及系统 | |
CN111406404B (zh) | 获得视频文件的压缩方法、解压缩方法、系统及存储介质 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN115941958A (zh) | 一种视频编码方法、装置、电子设备及存储介质 | |
CN116996735A (zh) | 用于处理视频信号源的移动处理设备、处理方法及系统 | |
JP2017525290A (ja) | 画像データを処理する方法および装置 | |
WO2021168624A1 (zh) | 视频图像编码方法、设备及可移动平台 | |
CN112929703A (zh) | 码流数据的处理方法和装置 | |
CN116977197A (zh) | 用于对rgb数据进行处理的方法、设备和介质 | |
US20110249719A1 (en) | Video compression | |
WO2023029689A1 (zh) | 多媒体数据的共享方法、媒体共享服务器、终端、电子设备和计算机可读存储介质 | |
CN113747099B (zh) | 视频传输方法和设备 | |
CN115665416A (zh) | 图像数据编码方法、编码装置、解码方法及解码装置 | |
US10721484B2 (en) | Determination of a co-located luminance sample of a color component sample, for HDR coding/decoding | |
TW202408219A (zh) | 影像處理方法及影像處理裝置 | |
CN114928730A (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 |