CN109672884B - 图像硬件编码处理方法和装置 - Google Patents

图像硬件编码处理方法和装置 Download PDF

Info

Publication number
CN109672884B
CN109672884B CN201710952763.XA CN201710952763A CN109672884B CN 109672884 B CN109672884 B CN 109672884B CN 201710952763 A CN201710952763 A CN 201710952763A CN 109672884 B CN109672884 B CN 109672884B
Authority
CN
China
Prior art keywords
image
image data
hardware
data
processing
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
CN201710952763.XA
Other languages
English (en)
Other versions
CN109672884A (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.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Banma Zhixing Network Hongkong 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 Banma Zhixing Network Hongkong Co Ltd filed Critical Banma Zhixing Network Hongkong Co Ltd
Priority to CN201710952763.XA priority Critical patent/CN109672884B/zh
Priority to TW107128179A priority patent/TW201923703A/zh
Priority to PCT/CN2018/109280 priority patent/WO2019072140A1/zh
Publication of CN109672884A publication Critical patent/CN109672884A/zh
Application granted granted Critical
Publication of CN109672884B publication Critical patent/CN109672884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例提供了一种图像硬件编码处理方法和装置,该方法包括:获取图像数据;至少根据配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理;所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。在本发明实施例提出的图像硬件编码处理方法中,由于框架层能够处理尺寸转换、格式转换、算法处理至少其中之一的操作,可以提供多种尺寸、格式图像数据,在框架层内转换为硬件能够处理的数据形式,供硬件编码;避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。

Description

图像硬件编码处理方法和装置
技术领域
本申请涉及数据处理技术领域,特别是涉及一种图像硬件编码处理方法和装置。
背景技术
针对图像的编码,是利用图像压缩标准,将图像进行编码压缩的行为。以JPEG图像为例,JPEG是一个国际图像压缩标准,JPEG图像压缩算法能够在提供良好的压缩性能的同时,具有比较好的重建质量,被广泛应用于图像、视频处理领域。
图像编码压缩可以通过软件编码,也可以通过硬件编码实现。硬件编码一般使用专属芯片,性能和功耗都优于软件编码,尤其是硬件编码的速度优势,是大尺寸图像选择硬件编码最主要原因。
在电子装置中,存在底层的硬件层、中间的框架层(Framework)和上层的应用程序层。例如在操作系统中,底层包括相机(camera)硬件装置等;中间层的Framework框架层包括camera Framework的应用输入图像硬编码模块等;上层应用程序包括camera应用。在硬件编码中,需要将图像数据从上层应用程序(例如camera应用)传递到底层(例如硬件模块)。
现有的方案中,底层硬件不能灵活地处理图像编码。例如,由于底层硬件仅能识别特定格式的图像数据,导致应用程序层只能提供固定格式的图像数据。如果是应用程序从外部获得的其他格式的数据,该应用程序需要进行转换格式,再调用系统接口进行处理,而后再发送至底层硬件进行编码。再例如,当使用者希望在硬件编码之前对图像数据进行算法处理——如降噪、变焦等,必须将图像数据返回应用程序层进行处理,否则无法进行处理。因此,底层硬件不能灵活地处理图像编码将会导致底层硬件和上层应用程序之间发生多次数据交互,影响了编码效率。
发明内容
本发明的目的之一在于提出一种图像硬件编码处理方法和处理装置,以解决现有技术存在的底层硬件不能灵活地处理图像编码导致影响编码效率的问题。
为了解决上述问题,本申请实施例公开了一种图像硬件编码处理方法,包括:
获取图像数据;
至少根据所述配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
本申请实施例还公开了一种图像硬件编码处理装置,应用于电子装置的操作系统,所述装置包括:
图像数据获取模块,用于获取图像数据;
数据处理模块,用于至少根据所述配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
发送模块,用于将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
本申请实施例还公开了一种终端设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本申请实施例中一个或多个所述的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如本申请实施例中一个或多个所述的方法。
与现有技术相比,本申请实施例提出的图像硬件编码处理装置至少包括以下优点:
在本发明实施例提出的图像硬件编码处理方法中,由于框架层能够处理尺寸转换、格式转换、算法处理至少其中之一的操作,可以提供多种尺寸、格式图像数据,在框架层内转换为硬件能够处理的数据形式,供硬件编码;或者在框架层内对图像数据进行算法处理这样的操作增加了可以提供的图像数据的形式,避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。
附图说明
图1是本申请一实施例的示意图。
图2所示为本申请一实施例的图像硬件编码处理方法的流程图。
图3所示为该方法的一种可实施的模块结构示意图。
图4所示为该方法的另一种可实施的模块结构示意图。
图5所示为本申请另一实施例的图像硬件编码处理方法的流程图。
图6所示为图5中步骤S202的子步骤的流程图。
图7是本申请图像硬件编码处理装置的一实施例结构框图;
图8是本申请图像硬件编码处理装置的另一实施例的结构框图;
图9是本申请一实施例提供的终端设备的硬件结构示意图;
图10是本申请另一实施例提供的终端设备的硬件结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
图1是本申请一实施例的示意图,体现了本发明的构思。如上所述,从数据传输和功能实现的角度来看,电子装置中存在底层的硬件层、中间的框架层和上层的应用程序层。前述和后述的框架层(Framework),是指操作系统中应用程序与底层硬件之间的架构,提供了软件开发的框架,使开发更具工程性、简便性和稳定性。如图1所示,以应用程序11指代应用程序层中的多种应用程序,应用程序11通过框架层12提供的接口与框架层12进行数据交互。以硬件13指代硬件层中的多种硬件,硬件13也通过框架层12提供的接口与框架层12进行数据交互。此外应用程序11与硬件13也存在数据交互,不再赘述。
配置信息14中携带了各种指令,例如针对图像数据的格式转换指令、尺寸转换指令、算法处理指令等。同时,配置信息14中还携带有硬件编码指令,该硬件编制指令供硬件编码使用。在框架层12获得配置信息14和图像数据15之后,框架层12可以利用配置信息14中的各种指令,针对图像数据15进行格式转换、算法处理、尺寸转换等数据处理,在数据处理之后再发送至硬件13,根据硬件编码指令进行编码。如此一来,所提供的图像数据15可以是多种格式、尺寸的数据,避免了现有技术的局限性,使得图像硬件编码处理更加灵活。
以下通过多个实施例具体进行说明。
第一实施例
图2所示为本发明一实施例的图像硬件编码处理方法的流程图,图3是该方法的一种可实施的模块结构示意图。图4是该方法的另一种可实施的模块结构示意图。结合图2、图3和图4进行说明。该方法可以应用于电子装置的操作系统,电子装置例如为手机、电脑、服务器等。上述图像硬件编码处理方法可以包括如下步骤。
S102,获取图像数据。在这一步骤中,图像数据可以是应用程序提供的,也可以是通过其他途径获取,例如可以根据配置信息中的图像数据的提取地址提取到的图像数据,以下分别进行说明。
在第一种情况下,结合图3所示,图像数据14和配置信息15均由应用程序11提供。二者可以同时提供,也可以先后提供,本发明并不限制。即,步骤S101和步骤S102在这种情况下可以同时或者先后执行,本发明并不限定其顺序。在向框架层12提供信息之后,可以根据图像数据14创建输入,如编号121所示,把外部输入的数据封装为框架层的输入数据结构;再根据发送至框架层12的配置信息122对图像数据15进行处理,例如上述的尺寸转换、格式转换、算法处理等,如编号124所示。在执行算法处理时,可以调用框架层中嵌入的算法库123。在处理之后,可以生成输入硬件的图像数据125。
此外,在可选实施例中,发送至框架层中的配置信息15中还可以具有内存申请指令。内存申请指令可以用于申请内存缓存区,供存储硬件编码后的图像数据存储。因此,在框架层12中可以根据配置信息122输出内存配置126,当编码后的图像数据从硬件13返回框架层时,可以利用输出缓存队列127开辟内存缓存区,以存储所述硬件编码后的图像数据。
在第二种情况下,结合图4所示,可以通过应用程序11提供的配置信息15,获得提取图像数据的地址,图像数据的提取地址可以为图像数据存储的内存地址。图像数据14可以由图像信号处理器(ISP,image signal processor)16提供。图像信号处理器16为硬件层中的硬件,所提供的图像数据14可以如图4为多路图像,或者为一路图像数据。在提供多路图像数据之后,可以利用选择器129对图像数据进行选择,或者不使用选择器,直接用多路数据创建输入。在此并不限制。
在图3和图4中,配置信息122的主要配置信息来自于配置信息15,但是配置信息122也包含框架层内部自身的一些状态信息,即将应用程序设置的配置信息15转换为框架层14可理解的配置信息122,因此以不同的编号标识。
进一步地,配置信息14中还可以包括拍照指令和拍照参数。该拍照指令可以驱动底层的相机硬件进行拍照。在步骤S102获取图像信息的步骤之前,该方法还可以包括根据拍照指令驱动相机拍照的步骤。拍照参数包括拍摄帧数、图像参数、合成图像帧数、合成图像数据选择至少其中之一。拍摄获得的原始图像数据可以由硬件层中的图像信号处理器输出的,在拍照完成之后可以根据上述的提取地址,从图像信号处理器输出的内存地址提取拍摄的图像数据。在可选实施例中,如果拍照参数中的拍摄帧数为多帧,对应的图像参数可以为每一帧对应的图像参数。图像参数例如包括每次拍照的尺寸、格式、缩放倍率等。
S103,至少根据所述配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
在这一步骤中,可以根据配置信息中的各种指令,在框架层中对图像数据进行相应的处理。
如上述,配置信息可以是由应用程序提供的,也可以是通过其他方式获取的。在一实施例中,当需要针对图像数据进行编码时,电子装置的应用程序层(App层)中的应用程序可以提供配置信息(configuration)至电子装置的框架层(Framework层)。如上所述,框架层和应用程序层之间具有数据接口,当应用程序层中的某一个应用程序提供数据至框架层中的某一模块时,可以通过该数据接口提供数据,并指定该模块接收。举例来说,“相机”这一操作系统的应用程序提供图像编码相关的配置信息,并发送至框架层的数据接口,指定框架层的编码模块接收。配置信息包括尺寸转换指令、格式转换指令和算法处理指令至少其中之一,这些指令用于调用框架层内相关的处理。此外,配置信息还可以包括硬件编码指令,用于硬件编码,例如包括编码后图像尺寸、图像旋转角度、图像压缩率、输出图像帧数、硬件输入到硬件输出的格式转换等至少其中之一,本发明并不特别限制。在上述的各种指令对应的操作中,尺寸转换即将图像数据的尺寸转换为底层硬件需要的特定尺寸。由于硬件是多种多样的,每个硬件对尺寸对齐的要求可能不同,在此处可以根据硬件的需求,将图像数据转换为符合硬件需求的尺寸。
格式转换即为将原始的图像数据格式转换为底层硬件需要的特定格式。例如在一些情况下,如果出于应用程序配置需要,可以将图像数据转换为应用程序指定的硬件能力集中的特定格式,譬如,某硬件对格式的要求必须是YUV的NV21格式,所以在此处的格式转换中,可以将图像格式转换为符合硬件需求的格式。
算法处理是利用嵌入框架层中或者框架层自带的算法对图像数据进行处理,算法处理例如包括图示的HDR算法、数码变焦多帧优化、多帧降噪算法、全焦处理算法等。嵌入的算法可以是插件,在进行了配置之后可以使用。
配置信息中的各指令可以携带有发送的目标模块,因此在框架层中即可根据目标被分发至各模块,例如给算法库模块分发算法选择信息、给格式转换模块分发的转换信息、给内存模块分发的分配内存信息等。在操作中,可以分别将各个模块的变量初始化为配置指定的信息,当图像数据经过这些模块的时候就根据这些初始化的配置数据处理图像,在此不再赘述。
S104,将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
在这一步骤中,框架层可以将处理后的图像数据和配置信息中的硬件编码指令发送至硬件,利用硬件封装的编码程序实现硬件编码。举例来说,硬件封装的编码程序例如是JPEG硬件编码程序,在编码之后生成JPEG格式的图像。但是本领域技术人员可以明确的是,编码程序并不限定为JPEG编码,而是可以覆盖任何能够在硬件中实现的编码方式。
在可选的实施例中,配置信息还可以包括封装指令,用于将框架层处理之后的图像数据与硬件编码指令封装,整体发送至硬件进行编码。出于易用性的目的,图像数据和硬件编码指令可以封装后整体发送,但是本领域技术人员可以明确的是,本发明实施例提出的方案也可以不包括封装的步骤。
当每一次处理图像之前均需要获取配置信息时,步骤S102,即获取图像数据的步骤之前,所述方法还可以包括:
S101,获取图像硬件编码的配置信息;
在这一步骤中,配置信息可以是由应用程序提供的,也可以是通过其他方式获取的,例如,根据应用程序提供的地址从服务器下载,或者由设定的服务器推送,或者系统默认配置、或者提供设置接口由用户设置等,在此不再赘述。在一可选实施例中,所述配置信息包括硬件编码指令,即步骤S104中的硬件编码指令可以是从配置信息中获得的。同样地,硬件编码指令也可以通过其他方式获取,例如,根据应用程序提供的地址从服务器下载,或者由设定的服务器推送,或者系统默认配置、或者提供设置接口由用户设置等,并不限定于从配置信息中获得。
在可选实施例中,在实现硬件编码后,上述方法还可以包括:
S105,存储所述硬件编码后的图像;以及
S106,发送所述硬件编码后图像的存储地址。
在这一步骤中,硬件可以将编码后的图像存储在内存缓存区,并将内存缓存区的地址发送至框架层,例如,可以发送至框架层与应用程序的数据接口,使得应用程序能够根据该内存缓存区的地址调取编码后的图像。
以下通过几个具体的应用示例,对第一实施例提出的图像硬件编码处理方法的应用进行介绍。
在一种情景下,用户需要对现有的图片进行格式转换处理。用户通过应用程序11提供图像数据14和配置信息15。配置信息15中包含的部分或全部内容可以是由用户自己定义的,或者是预先设置的。例如,在应用程序的界面,提供若干选项供用户选择,这些选项可以包括:选择模板图片、从相册中选择图片、拍摄照片等图片来源的选择,还可以包括转换尺寸、转换格式、算法处理的指令。用户的这些选择在应用程序中生成配置信息,发送至框架层。结合图3所示,当需要进行格式转换时,根据用户的选择,应用程序11中的配置信息15中携带了格式转换指令。在框架层中,利用格式转换指令处理图像数据14,处理之后将该图片和硬件编码指令一同发送至硬件进行编码。
在另一种情况下,用户需要对新拍摄的照片进行HDR算法处理,即高动态范围图像(High-Dynamic Range,简称HDR)。HDR算法例如需要框架层发送多帧拍照原始图像的请求,每帧图像的曝光值不同,通过HDR算法获得更广的亮度域图像,避免过曝或者欠曝。在处理中,结合图4所示,用户可以在上述选项中进行选择,例如选择“拍照”和“HDR算法处理”。根据用户的选择,应用程序11向框架层发送的配置信息15中包括拍照指令和HDR算法处理指令。在框架层中,利用上述指令获取图像数据14并处理图像数据14,处理之后将该图片和硬件编码指令一同发送至硬件进行编码。
由上述可知,本发明实施例提出的图像硬件编码处理方法至少具有如下技术效果:
在本发明实施例提出的图像硬件编码处理方法中,由于框架层能够处理尺寸转换、格式转换、算法处理等至少其中之一的操作,可以提供多种尺寸、格式图像数据,在框架层内转换为硬件能够处理的数据形式,供硬件编码;或者在框架层内对图像数据进行算法处理。这样的操作增加了可以提供的图像数据的形式,避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。
第二实施例
图5所示为本申请另一实施例的图像硬件编码处理方法的流程图。如图5所示,本申请实施例提出的图像硬件编码处理方法可以包括如下步骤:
S202,获取图像数据;
S203,根据所述配置信息,在操作系统的框架层对所述图像数据进行数据处理,所述数据处理包括格式转换、算法处理至少其中之一;
上述两个步骤可以与第一实施例的步骤S102和S103相同或相似,在此不再赘述。
S205,将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
这一步骤可以与第一实施例的步骤S103相同,在此不再赘述。
图6所示为图5中步骤S202的子步骤的流程图。如图6所示,在本实施例中,步骤S02的图像数据可以是应用程序提供的,也可以是根据配置信息中的提取指令,从存储区域——例如内存中调用的。例如,步骤S202即获取图像数据的步骤可以包括如下子步骤:
S202b,从所述配置信息中获取图像数据的提取地址;以及
S202c,从所述提取地址中提取图像数据。
在上述两个步骤中,例如尽管应用程序未提供图像数据,但是提供从特定的存储地址获得图像数据的提取地址,在框架层中可以根据该提取地址,从存储区域(例如内存)中提取图像数据进行处理。
在本实施例中,在上述步骤S202b中,所述图像数据的提取地址可以为在框架层内的相机数据的地址,结合图4所示,图像数据14可以由图像信号处理器(ISP,image signalprocessor)16提供。图像信号处理器16为硬件层中的硬件,其输出的图像数据的地址即可以作为图像数据的提取地址,以利于框架层从该地址提取图像数据。
在本实施例中,步骤S202c中获取的图像数据可以为多路图像数据,则步骤S202即获取图像数据的步骤还可以包括:
S202d,从所述多路图像数据中选择至少一路图像数据。
在这一步骤中,根据图4所示,所提供的图像数据14可以是从硬件层的图像信号处理器输出的数据,该数据可以为多路。在提供多路图像数据之后,可以利用选择器129对图像数据进行选择,或者不使用选择器,直接用多路数据创建输入。在此并不限制。
在实际应用中,底层的相机硬件在正常情况下都是多路数据同时输出,在此选择多路数据中的其中一路,每一路数据经过的处理都不一样,可以按需进行选择。例如,多路数据主要包含预览数据、回调数据、拍照数据流、还有可能包含录像数据。这些数据大小格式都可以不一样,经过的图像信号处理算法处理也不一样,视场角也可能不一样,选择的时候可以由应用程序层指定这些数据的索引来选择,也可以由应用程序指定需要什么条件的图像。例如转换需要用大尺寸图像,相机的数据索引为:预览1,拍照2,回调3;此时配置信息指定需要索引2的数据,框架层就会去相机系统提取拍照2的数据,或者应用指定用相机数据中尺寸最大的数据。根据选择条件,可以自动比较不同数据的图像尺寸,选择最大的,比如拍照2的数据作为输入源,这里的选择条件就是“尺寸”。选择条件也可以是其他图像参数,例如变焦倍率,格式等,在此不再赘述。
在本实施例中,所述配置信息还包括拍照指令和拍照参数,从所述配置信息中获取图像数据的提取地址的步骤之前,所述获取图像数据的步骤包括:
S202a,根据拍照指令和拍照参数驱动相机拍照。
所述拍照参数例如可以包括拍摄帧数、图像参数、合成图像帧数、合成图像数据源选择至少其中之一。
图像参数例如可以为图像的尺寸,当需要使用若干帧图像合成一帧时,可以在拍照参数中定义合成图像的帧数。当需要使用一帧主要的图片结合其他图片合成图像时,可以定义合成图像数据源选择方式,例如选择最高分辨率的图像作为主要图片,或者选择最其中固定的一路拍摄到的图像数据。
在本实施例中,在步骤S205,即将数据处理后的图像数据和硬件编码指令发送至硬件进行编码的步骤之后,所述方法还可以包括:
S206,存储所述硬件编码后的图像;以及
S208,发所述硬件送编码后图像的存储地址。
上述步骤分别与第一实施例中的步骤S105和S106相同,在此不再赘述。
在本实施例中,还可以根据内存申请指令,为编码后的图像申请内存。内存申请指令例如是从编码信息中获得的,或是从其他途径获得,并不特别限制。
在一实施例中,所述配置信息中还包括内存申请指令,所述方法还可以包括:
S204,根据内存申请指令提供内存缓存区,供存储所述硬件编码后的图像;
则,步骤S206,即所述存储所述硬件编码后的图像的步骤包括:
将编码后的图像存储至所述内存缓存区。
值得注意的是,上述步骤S204和步骤S205的执行没有顺序关系,即步骤S204可以先于、后于或者与步骤S205同时执行,本发明并不特别限制。
在步骤S204中,可以在配置信息中携带内存申请指令,在框架层中根据该指令提供内存缓存区。该内存缓存区用于储存编码后的图像。该内存缓存区的大小可以由用户定义,例如其可以设置为存储一帧或多帧编码后的图像数据。在现有技术中,图像数据直接从应用程序发送至底层硬件层进行编码处理,为编码后的图像预留的内存缓存区是固定不变的。然而在本发明的方案中,通过框架层可以直接配置内存缓存区,当所需要处理的图像数据为多帧图片时,内存缓存区可以有足够的空间缓存多帧图片,为多帧图片同时处理提供了基础。
在本实施例中,所述算法处理指令对应的算法例如包括:HDR算法、数码变焦多帧优化、多帧降噪算法、全焦处理算法至少其中一者。
HDR算法,举例来说需要框架层发送多帧拍照原始图像的请求(yuv或者rgb格式输出),每帧图像的曝光值不同,通过HDR算法获得更广的亮度域图像,避免过曝或者欠曝,其他的步骤和普通拍照相同。
多帧降噪算法,举例来说是在暗光条件没有开启闪光灯的情况下触发,即拍摄多帧一样参数的照片来合成,提高暗光下的亮度和减少噪点,最后合成为一帧照片,其他和普通拍照相同。
全焦处理算法,举例来说是框架层下发多次拍照命令(yuv或rgb格式输出),每次拍照命令的焦距参数不同,对焦距离不同,从而合成一帧全景深都清晰的图像。
数码变焦多帧优化算法,举例来说,配置信息配置拍摄两帧照片的请求,一帧放大N倍变焦放大,一帧正常不放大,然后选取框架层的算法库中的数码变焦多帧优化算法对两帧合成来优化最后变焦的效果,最后可以输出一帧优化后的图片,或者输出未做优化的一帧N倍放大的(只用请求拍照的其中一帧N倍放大的原始图)和优化后的N倍放大的作为输出。
在一实施例中,所述硬件编码指令包括:编码后图像尺寸、图像旋转角度、图像压缩率、输出图像帧数至少其中之一。
在一实施例中,步骤S206,即存储所述硬件编码后的图像之后,所述方法还包括:
S207,将多个硬件编码后的图像存储至连续的存储地址。
由于硬件可以同时处理多个图像数据,每个处理后图像数据的存储地址可能是不同的,即内存地址不连续。在这一步骤中,可以通过内存拼接的方式,即将一段内存的数据拷贝到另一段数据的结束地址,使二者地址连续。后续应用程序可以从起始地址连续读取,获取合成后的编码图像。
在一实施例中,在步骤S203和步骤S205之间,即进行数据处理和发送至硬件进行编码的步骤之间,该方法还可以包括:
封装所述图像数据和硬件编码指令。
在这一步骤中,可以将应用程序传送的或者在框架层中其他模块中获得的图像数据和硬件编码指令封装为底层硬件能够识别的图像数据传送至底层硬件。
由上述可知,本发明实施例提出的图像硬件编码处理方法至少具有如下技术效果:
在本发明实施例提出的图像硬件编码处理方法中,由于框架层能够处理尺寸转换、格式转换、算法处理等至少其中之一的操作,可以提供多种尺寸、格式图像数据,在框架层内转换为硬件能够处理的数据形式,供硬件编码;或者在框架层内对图像数据进行算法处理。这样的操作增加了可以提供的图像数据的形式,避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。
除了上述效果之外,本发明实施例提出的图像硬件编码处理方法进一步还具有如下技术效果:
在本发明提供的图像硬件编码处理方法中,在应用程序层不需要数据在自身进行处理时,可以要求框架层自行获取图像数据,例如可以通过相机系统的相机数据的存储地址获取图像数据。避免了跨层的数据传输和通讯同步开销,提升了性能和不必要的应用开发工作。
另外,框架层中可以设置数据处理的多种功能模块,在本发明实施例提供的方案中,可以在应用程序中通过选项的方式选择其中一部分进行处理。例如用户可以通过选项选择是否开启HDR算法处理。对于其他例如封装等处理,可以不提供选项,而由框架层自动处理。
再者,本发明提供的图像硬件编码处理方法可以在框架层建立算法通道,进行图像处理。例如,框架层能够访问相机的数据,进而可以缓存该数据,在框架层进行处理,实现零延迟拍照效果。在应用中可以在框架层中设置不同的算法,对应地在应用程序设置不同的算法处理选项。例如,由应用程序指定的不同曝光度的图像生成HDR图像、由应用程序指定不同清晰度的图像合成最高清晰度的图像等,避免了底层硬件由于编码单一性导致的提供图像的限制性,增加了应用程序的功能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
第三实施例
图7所示为本申请一实施例的图像硬件编码处理装置的结构框图。如图7所示,本申请实施例提出的图像硬件编码处理装置可以包括:
图像数据获取模块502,用于获取图像数据;
数据处理模块503,用于至少根据配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
发送模块504,用于将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
由上述可知,本发明实施例提出的图像硬件编码处理装置至少具有如下技术效果:
在本发明实施例提出的图像硬件编码处理装置中,由于框架层能够处理尺寸转换、格式转换、算法处理等操作,应用程序可以提供多种格式图像数据,在框架层内转换为硬件能够处理的格式数据,供硬件编码。这样的操作避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。
第四实施例
图8所示为本申请另一实施例的图像硬件编码处理装置的流程图。如图8所示,本申请实施例提出的图像硬件编码处理装置可以包括:
图像数据获取模块602,用于获取图像数据;
数据处理模块603,用于至少根据配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
发送模块605,用于将数据处理后的图像数据和硬件编码指令发送至硬件进行编码。
在本发明提出的图像硬件编码处理装置的一实施例中,所述图像数据处理模块用于接收应用程序发送的图像数据。
在本发明提出的图像硬件编码处理装置的一实施例中,所述配置信息还包括图像数据的提取地址,所述图像数据获取模块包括:
地址获取子模块6022,用于从所述配置信息中获取图像数据的提取地址;
提取子模块6023,用于从所述提取地址中提取图像数据。
在本发明提出的图像硬件编码处理装置的一实施例中,所述图像数据的提取地址为在框架层内的相机数据的存储地址,所述相机数据包括:从硬件层的图像信号处理器输出的数据。
在本发明提出的图像硬件编码处理装置的一实施例中,所述图像数据为多路图像数据,所述图像数据获取模块用于:
选择模块6024,用于从获取的多路图像数据中选择至少一路图像数据。
在本发明提出的图像硬件编码处理装置的一实施例中,所述配置信息还包括拍照指令和拍照参数,所述图像数据模块还包括:
拍照子模块6021,用于根据拍照指令和拍照参数驱动相机拍照。
在本发明提出的图像硬件编码处理装置的一实施例中,所述拍照参数包括包括拍摄帧数和图像参数,所述拍摄帧数为多帧,所述图像参数为所述多帧对应的图像参数。
在本发明提出的图像硬件编码处理装置的一实施例中,所述装置还包括:
存储模块606,用于存储所述硬件编码后的图像;以及
发送模块608,用于发送所述硬件编码后图像的存储地址。
在本发明提出的图像硬件编码处理装置的一实施例中,所述装置还包括:
内存提供模块604,用于根据内存申请指令提供内存缓存区,供存储硬件编码后的图像;
所述存储模块用于将编码后的图像存储至所述内存缓存区。
在本发明提出的图像硬件编码处理装置的一实施例中,所述装置还包括:
移动模块607,用于将多个编码后的图像存储至连续的存储地址。
在本发明提出的图像硬件编码处理装置的一实施例中,所述算法处理指令对应的算法包括:HDR算法、数码变焦多帧优化、多帧降噪算法、全焦处理算法至少其中一者。
在本发明提出的图像硬件编码处理装置的一实施例中,所述硬件编码指令包括:编码后图像尺寸、图像旋转角度、图像压缩率、输出图像帧数至少其中之一。
在本发明提出的图像硬件编码处理装置的一实施例中,该装置还可以包括配置信息获取模块,用于获取配置信息。上述的硬件编码指令和/或内存申请指令可以存储在配置信息中,在操作时从配置信息中获得,也可以通过其他方式获取,例如,根据应用程序提供的地址从服务器下载,或者由设定的服务器推送,或者系统默认配置、或者提供设置接口由用户设置等。
由上述可知,本发明实施例提出的图像硬件编码处理装置至少具有如下技术效果:
在本发明实施例提出的图像硬件编码处理方法中,由于框架层能够处理尺寸转换、格式转换、算法处理等至少其中之一的操作,可以提供多种尺寸、格式图像数据,在框架层内转换为硬件能够处理的数据形式,供硬件编码;或者在框架层内对图像数据进行算法处理。这样的操作增加了可以提供的图像数据的形式,避免了现有技术应用程序与底层硬件之间的多次数据交互,提高了编码的效率,也提高了处理的灵活性。
除了上述效果之外,本发明实施例提出的图像硬件编码处理装置进一步还具有如下技术效果:
在本发明提供的图像硬件编码处理装置中,在应用程序层不需要数据在自身进行处理时,可以要求框架层自行获取图像数据,例如可以通过相机系统的存储地址获取图像数据。避免了跨层的数据传输和通讯同步开销,提升了性能和不必要的应用开发工作。
另外,框架层中可以设置数据处理的多种功能,在本发明实施例提供的方案中,可以在应用程序中通过选项的方式选择其中一部分进行处理。例如用户可以通过选项选择是否开启HDR算法处理。对于其他例如封装等处理,可以不提供选项,而由框架层自动处理。
再者,本发明提供的图像硬件编码处理装置可以在框架层建立算法通道,进行图像处理。例如,框架层能够访问相机的数据,进而可以缓存该数据,在框架层进行处理,实现零延迟拍照效果。在应用中可以在框架层中设置不同的算法,对应地在应用程序设置不同的算法处理选项。例如,由应用程序指定的不同曝光度的图像生成HDR图像、由应用程序指定不同清晰度的图像合成最高清晰度的图像等,避免了底层硬件由于编码单一性导致的提供图像的限制性,增加了应用程序的功能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行本申请实施例所述的一个或多个图像硬件编码处理方法。一种示例的机器可读介质为非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
图9为本申请一实施例提供的终端设备的硬件结构示意图。如图9所示,该终端设备可以包括输入设备90、处理器91、输出设备92、存储器93和至少一个通信总线94。通信总线94用于实现元件之间的通信连接。存储器93可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器93中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器91例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器91通过有线或无线连接耦合到上述输入设备90和输出设备92。
可选的,上述输入设备90可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备92可以包括显示器、音响等输出设备。
在本实施例中,该终端设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图10为本申请另一实施例提供的终端设备的硬件结构示意图。图10是对图9在实现过程中的一个具体的实施例。如图10所示,本实施例的终端设备包括处理器101以及存储器102。
处理器101执行存储器102所存放的计算机程序代码,实现上述实施例中图2至图5的图像硬件编码处理方法。
存储器102被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器102可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,处理器101设置在处理组件100中。该终端设备还可以包括:通信组件103,电源组件104,多媒体组件105,音频组件106,输入/输出接口107和/或传感器组件108。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件100通常控制终端设备的整体操作。处理组件100可以包括一个或多个处理器101来执行指令,以完成上述图2、图5和图6方法的全部或部分步骤。此外,处理组件100可以包括一个或多个模块,便于处理组件100和其他组件之间的交互。例如,处理组件100可以包括多媒体模块,以方便多媒体组件105和处理组件100之间的交互。
电源组件104为终端设备的各种组件提供电力。电源组件104可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件105包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件106被配置为输出和/或输入音频信号。例如,音频组件106包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或经由通信组件103发送。在一些实施例中,音频组件106还包括一个扬声器,用于输出音频信号。
输入/输出接口107为处理组件100和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件108包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件108可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件108可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件108还可以包括摄像头等。
通信组件103被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图10实施例中所涉及的通信组件103、音频组件106以及输入/输出接口107、传感器组件108均可以作为图9实施例中的输入设备的实现方式。
本申请实施例提供了一种终端设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本申请实施例中一个或多个所述的图像硬件编码处理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种图像硬件编码处理方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (22)

1.一种图像硬件编码处理方法,其特征在于,所述方法包括:
获取图像数据;
至少根据配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理;所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
将数据处理后的图像数据和硬件编码指令发送至硬件进行编码;
所述配置信息还包括拍照指令、拍照参数以及图像数据的提取地址,所述获取图像数据的步骤包括:
根据拍照指令和拍照参数驱动相机拍照;
从所述配置信息中获取图像数据的提取地址;
从所述提取地址中提取图像数据。
2.根据权利要求1所述的方法,其特征在于,所述获取图像数据的步骤包括:
接收应用程序发送的图像数据。
3.根据权利要求1所述的方法,其特征在于,所述图像数据的提取地址为在框架层内的相机数据的存储地址,所述相机数据包括:从硬件层的图像信号处理器输出的数据。
4.根据权利要求1所述的方法,其特征在于,所述图像数据为多路图像数据,所述获取图像数据的步骤包括:
从获取的多路图像数据中选择至少一路图像数据。
5.根据权利要求1所述的方法,其特征在于,所述拍照参数包括拍摄帧数和图像参数。
6.根据权利要求1所述的方法,其特征在于,所述将数据处理后的图像数据和硬件编码指令发送至硬件进行编码的步骤之后,所述方法还包括:
存储所述硬件编码后的图像;以及
发送所述硬件编码后图像的存储地址。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据内存申请指令提供内存缓存区,供存储所述硬件编码后的图像;
所述存储所述硬件编码后的图像的步骤包括:
将所述硬件编码后的图像存储至所述内存缓存区。
8.根据权利要求6所述的方法,其特征在于,所述将数据处理后的图像数据和硬件编码指令发送至硬件进行编码的步骤之后,所述方法还包括:
将多个编码后的图像存储至连续的存储地址。
9.根据权利要求1所述的方法,其特征在于,所述算法处理指令对应的算法包括:
HDR算法、数码变焦多帧优化、多帧降噪算法、全焦处理算法至少其中一者。
10.根据权利要求1所述的方法,其特征在于,所述硬件编码指令包括:编码后图像尺寸、图像旋转角度、图像压缩率、输出图像帧数至少其中之一。
11.一种图像硬件编码处理装置,其特征在于,所述装置包括:
图像数据获取模块,用于获取图像数据;
数据处理模块,用于至少根据配置信息的部分信息,在操作系统的框架层对所述图像数据进行数据处理,所述配置信息包括:尺寸转换指令、格式转换指令和算法处理指令至少其中之一;
发送模块,用于将数据处理后的图像数据和硬件编码指令发送至硬件进行编码;
所述配置信息还包括拍照指令、拍照参数和图像数据的提取地址,所述图像数据获取模块包括:
拍照子模块,用于根据拍照指令和拍照参数驱动相机拍照;
地址获取子模块,用于从所述配置信息中获取图像数据的提取地址;
提取子模块,用于从所述提取地址中提取图像数据;
所述配置信息还包括拍照指令和拍照参数,所述图像数据模块还包括。
12.根据权利要求11所述的装置,其特征在于,所述图像数据处理模块用于接收应用程序发送的图像数据。
13.根据权利要求12所述的装置,其特征在于,所述图像数据的提取地址为在框架层内的相机数据的存储地址,所述相机数据包括:从硬件层的图像信号处理器输出的数据。
14.根据权利要求11所述的装置,其特征在于,所述图像数据为多路图像数据,所述图像数据获取模块用于:
选择模块,用于从获取的多路图像数据中选择至少一路图像数据。
15.根据权利要求14所述的装置,其特征在于,所述拍照参数包括拍摄帧数和图像参数。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括:
存储模块,用于存储所述硬件编码后的图像;以及
发送模块,用于发送所述硬件编码后图像的存储地址。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
内存提供模块,用于根据内存申请指令提供内存缓存区,供存储所述硬件编码后的图像;
所述存储模块用于将编码后的图像存储至所述内存缓存区。
18.根据权利要求16所述的装置,其特征在于,所述装置还包括:
移动模块,用于将多个编码后的图像存储至连续的存储地址。
19.根据权利要求11所述的装置,其特征在于,所述算法处理指令对应的算法包括:HDR算法、数码变焦多帧优化、多帧降噪算法、全焦处理算法至少其中一者。
20.根据权利要求11所述的装置,其特征在于,所述硬件编码指令包括:编码后图像尺寸、图像旋转角度、图像压缩率、输出图像帧数至少其中之一。
21.一种终端设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求1-10中一个或多个所述的方法。
22.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如权利要求1-10中一个或多个所述的方法。
CN201710952763.XA 2017-10-13 2017-10-13 图像硬件编码处理方法和装置 Active CN109672884B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710952763.XA CN109672884B (zh) 2017-10-13 2017-10-13 图像硬件编码处理方法和装置
TW107128179A TW201923703A (zh) 2017-10-13 2018-08-13 圖像硬體編碼處理方法和裝置
PCT/CN2018/109280 WO2019072140A1 (zh) 2017-10-13 2018-10-08 图像硬件编码处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710952763.XA CN109672884B (zh) 2017-10-13 2017-10-13 图像硬件编码处理方法和装置

Publications (2)

Publication Number Publication Date
CN109672884A CN109672884A (zh) 2019-04-23
CN109672884B true CN109672884B (zh) 2022-05-10

Family

ID=66100371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710952763.XA Active CN109672884B (zh) 2017-10-13 2017-10-13 图像硬件编码处理方法和装置

Country Status (3)

Country Link
CN (1) CN109672884B (zh)
TW (1) TW201923703A (zh)
WO (1) WO2019072140A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554718B (zh) * 2020-04-24 2023-04-28 Oppo(重庆)智能科技有限公司 图像编码方法、存储介质和电子设备
CN111447439B (zh) * 2020-05-18 2022-08-09 Oppo(重庆)智能科技有限公司 图像编码方法、图像编码装置及移动终端
CN111447370B (zh) * 2020-05-19 2021-07-27 Oppo广东移动通信有限公司 摄像头访问方法、访问装置、终端设备及可读存储介质
CN111930641A (zh) * 2020-07-28 2020-11-13 展讯通信(天津)有限公司 一种图像数据处理方法及智能设备
CN112188034A (zh) * 2020-09-29 2021-01-05 北京小米移动软件有限公司 一种图像处理方法、装置、终端设备及介质
CN115706849B (zh) * 2021-08-05 2024-01-30 北京小米移动软件有限公司 相机软件架构、平台和终端设备
CN116389898B (zh) * 2023-02-27 2024-03-19 荣耀终端有限公司 图像处理方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609302A (zh) * 2012-01-17 2012-07-25 中兴通讯股份有限公司 一种多媒体应用的并发管理方法和装置
CN104702909A (zh) * 2014-04-17 2015-06-10 杭州海康威视数字技术股份有限公司 视频数据的处理方法及装置
CN105338249A (zh) * 2015-11-24 2016-02-17 努比亚技术有限公司 基于独立相机系统进行拍摄方法及移动终端
CN106454186A (zh) * 2016-11-02 2017-02-22 深圳瑞芯通智能科技有限公司 基于安卓系统的多路视频录制及平台交互的方法及装置
CN106657757A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 一种相机应用的图像预览方法、装置及相机应用系统
CN106873932A (zh) * 2017-02-17 2017-06-20 浙江大学 一种Android系统服务端、远程桌面图像重定向方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549154B2 (en) * 2004-11-23 2009-06-16 Microsoft Corporation Extensible architecture for auxiliary displays
US8369564B2 (en) * 2009-06-30 2013-02-05 Apple Inc. Automatic generation and use of region of interest and domain of definition functions
US20140328402A1 (en) * 2013-05-06 2014-11-06 Nvidia Corporation Efficient initialization of a reference frame of a bi-predicted/predicted video frame during decoding thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609302A (zh) * 2012-01-17 2012-07-25 中兴通讯股份有限公司 一种多媒体应用的并发管理方法和装置
CN104702909A (zh) * 2014-04-17 2015-06-10 杭州海康威视数字技术股份有限公司 视频数据的处理方法及装置
CN106657757A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 一种相机应用的图像预览方法、装置及相机应用系统
CN105338249A (zh) * 2015-11-24 2016-02-17 努比亚技术有限公司 基于独立相机系统进行拍摄方法及移动终端
CN106454186A (zh) * 2016-11-02 2017-02-22 深圳瑞芯通智能科技有限公司 基于安卓系统的多路视频录制及平台交互的方法及装置
CN106873932A (zh) * 2017-02-17 2017-06-20 浙江大学 一种Android系统服务端、远程桌面图像重定向方法及系统

Also Published As

Publication number Publication date
WO2019072140A1 (zh) 2019-04-18
TW201923703A (zh) 2019-06-16
CN109672884A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN109672884B (zh) 图像硬件编码处理方法和装置
EP2878121B1 (en) Method and apparatus for dual camera shutter
JP2023511581A (ja) 長焦点撮影方法及び電子デバイス
JP5757592B2 (ja) 超解像画像を生成する方法,装置,コンピュータプログラム製品
JP2016197858A (ja) リアルタイム画像ステッチ装置およびリアルタイム画像ステッチ方法
CN111078343A (zh) 用于移动终端的截屏方法和截屏装置以及移动终端
JP2009268092A (ja) 画像処理作業をオフロードする携帯型画像化装置
CN113329176A (zh) 应用于智能终端的相机的图像处理方法及相关装置
US9456142B2 (en) Method for processing image and electronic device thereof
KR102207633B1 (ko) 촬영 장치 및 그 제어 방법
US20130227082A1 (en) Method for uploading media file, electronic device using the same, and non-transitory storage medium
CN110958399B (zh) 高动态范围图像hdr实现方法及相关产品
CN113727035A (zh) 图像处理方法、系统、电子设备及存储介质
KR20140092517A (ko) 카메라의 영상 데이터 압축 방법 및 이를 지원하는 단말기
WO2023160295A9 (zh) 视频处理方法和装置
KR102082365B1 (ko) 이미지 처리 방법 및 그 전자 장치
JP7471510B2 (ja) ピクチャのビデオへの変換の方法、装置、機器および記憶媒体
CN114866681A (zh) 跨设备的协同拍摄方法、相关装置及系统
CN113938750A (zh) 视频处理方法、装置、电子设备和存储介质
CN110049247B (zh) 图像优选方法、装置、电子设备及可读存储介质
CN115359105B (zh) 景深扩展图像生成方法、设备及存储介质
KR20100104013A (ko) 영상 처리 장치 및 방법
US20140193083A1 (en) Method and apparatus for determining the relationship of an image to a set of images
CN107105341B (zh) 视频文件的处理方法及系统
TWM519367U (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201224

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Applicant after: Zebra smart travel network (Hong Kong) Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant