图像处理方法、装置、存储介质及电子设备与流程

文档序号:31790096发布日期:2022-10-14 14:18阅读:42来源:国知局
1.本技术属于电子设备
技术领域
:,尤其涉及一种图像处理方法、装置、存储介质及电子设备。
背景技术
::2.随着科学技术的飞速发展,电子设备的功能越来越强大。诸如视频解码器(videodecoder,vdec)等电子设备可以对视频图像进行解码。在对一帧视频图像进行解码时,通常会参考多帧已解码视频图像的数据。然而,相关技术中,在对需要参考的已解码视频图像的数据进行读取时,电子设备的功耗较大。技术实现要素:3.本技术提供一种图像处理方法、装置、存储介质及电子设备,可以降低电子设备的功耗。4.第一方面,本技术实施例提供一种图像处理方法,包括:5.获取视频码流;6.根据所述视频码流中的图像组结构以确定图像参考帧;7.生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;8.根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。9.第二方面,本技术实施例提供一种图像处理装置,包括:10.获取模块,用于获取视频码流;11.确定模块,用于根据所述视频码流中的图像组结构以确定图像参考帧;12.接收模块,用于生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;13.解码模块,用于根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。14.第三方面,本技术实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的图像处理方法。15.第四方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述存储器中的指令用于执行以下步骤:16.获取视频码流;17.根据所述视频码流中的图像组结构以确定图像参考帧;18.生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;19.根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。20.本技术实施例提供的图像处理方法可以获取视频码流,根据视频码流中的图像组结构以确定图像参考帧,生成功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度,根据第一解码精确度对图像组中图像参考帧的待解码块进行解码,根据第二解码精确度对图像组中非图像参考帧的待解码块进行解码。本技术实施例可以在需要进行功耗限制时对待解码的图像组中的图像参考帧和非图像参考帧设置不同的解码精确度,通过牺牲少量视频画质来达到降低电子设备功耗的目的。附图说明21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。22.图1为本技术实施例提供的图像处理方法的一种流程示意图。23.图2为本技术实施例提供的视频解码系统的结构示意图。24.图3为本技术实施例提供的视频解码器中数据存储的示意图。25.图4为本技术实施例提供的图像群组中各图像帧之间参考关系的场景示意图。26.图5为本技术实施例提供的图像组在有无功耗限制情况下使用不同的解码精确度示意图。27.图6为本技术实施例提供的图像处理方法的另一种流程示意图。28.图7为本技术实施例提供的视频解码器解码的场景示意图。29.图8为本技术实施例提供的图像处理装置的一种结构示意图。30.图9为本技术实施例提供的图像处理装置的另一结构示意图。31.图10为本技术实施例提供的电子设备的结构示意图。32.图11为本技术实施例提供的电子设备的另一结构示意图。具体实施方式33.请参照图式,其中相同的组件符号代表相同的组件,本技术的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本技术具体实施例,其不应被视为限制本技术未在此详述的其它具体实施例。34.在以下的说明中,本技术的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本技术原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。35.本技术中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。36.请参阅图1,图1为本技术实施例提供的图像处理方法的一种流程示意图。本技术实施例提供的图像处理方法应用于电子设备,具体流程可以如下:37.步骤101,获取视频码流。38.国际上制定视频编解码技术的组织有两个,一个是“国际电联(itu-t)”,它制定的标准有h.261、h.263、h.263+等,另一个是“国际标准化组织(iso)”它制定的标准有mpeg-1、mpeg-2、mpeg-4等。而h.264则是由两个组织联合组建的联合视频组(jvt)共同制定的新数字视频编码标准。在本技术实施例中,在进行视频解码时,先获取该视频的码流。39.请参阅图2,图2为相关技术中视频解码系统的结构示意图。该视频解码系统中,中央处理器(centralprocessingunit/processor,cpu)、嵌入式神经网络处理器(neural-networkprocessingunit,npu)、图像信号处理器(imagesignalprocessing,isp)、视频解码器(vdec)和显示处理器(displayprocessingunit,disp)通过总线和动态随机存取内存控制器(dynamicrandomaccessmemorycontroller,dramc)从dram读写数据,中央处理器、视频解码器和显示处理器分时共用带宽,中央处理器和显示像处理器的优先级高于视频编码器的优先级。需要说明的是,可以根据具体需求,在视频解码系统中可以设置显示处理器,也可以不用设置显示处理器。视频解码器在进行解码时需要进行运动补偿(motioncompensation,mc),会占用较大的带宽。40.诸如视频解码器等电子设备非常重视成本的高低,在帧缓冲时,为了达到最低成本与最高生产良率,通常都是以dram作为主要的存放空间。请参阅图3,图3是相关技术中视频解码器中数据存储的示意图。其中,比特流(bitstreams)、需要缓冲的图像帧(imageframe)以及临时数据(temporarydata)都存储在视频解码器中的dram中。然而,dram提供的带宽较小。其中,临时数据可以是时域运动矢量(temporalmotionvector,tmv)以及其它数据。41.虽然视频解码器针对各种视频比特流(videobitstream)可以采用视频解码器的内部高速缓存(internalcache)策略,比如视频比特流可以是动态影像专家小组组织的第1个影片和音讯有损压缩标准(movingpictureexpertsgroupphase1,mpeg-1)、动态影像专家小组组织的第2个影片和音讯有损压缩标准(movingpictureexpertsgroup2,mpeg-2)、动态影像专家小组组织的第4个影片和音讯有损压缩标准(movingpictureexpertsgroup4,mpeg-4)、必要影像编码(essentialvideocoding,mpeg-5/evc)、国际电信联盟电信标准化部门(itutelecommunicationstandardizationsector,itu-t)制定的视频会议用的低码率视频编码标准h.263、进阶视讯编码(advancedvideocoding,h.264/avc)、高效率视讯编码(highefficiencyvideocoding,h.265/hevc)、多功能影像编码(versatilevideocoding,h.266/vvc)、影像预测8代标准(videopredictor8,vp8)、影像预测9代标准(videopredictor9,vp9)、开放媒体联盟影像编码1代标准(allianceforopenmediavideo1,av1)等标准的视频比特流。42.但随着新型视频标准的出现,如h.265/hevc、h.266/vvc、av1、mpeg-5等标准等,其针对越来越大的画面尺寸且越来越高帧率。基于此,通常使用增加dram的带宽或提高dram频率的方式以达到加速吞吐数据量。43.本技术实施例中,获取当前视频码流,视频码流中可以包括一个或多个图像群组(groupofpictures,gop),一个图像群组中包括多个图像帧。本技术实施例中以当前视频码流中包括一个图像群组作为示例进行说明。所获取的当前视频码流是编码后的视频码流,该当前视频码流中的图像帧有可能还未解码,还有可能一部分图像帧已经解码,另外一部分图像帧等待解码等。需要说明的是,已经解码的图像帧可以作为后续其他图像帧解码时的图像参考帧。44.步骤102,根据视频码流中的图像组结构以确定图像参考帧。45.在本技术实施例中,由于后续需要根据功耗要求分别对图像组中的图像参考帧和非图像参考帧进行不同的处理,因此在该步骤当中需要现根据图像组结构确定图像组中的参考帧,具体可以通过码流分析确定参考帧,从而选择vdec实际需要高精度(高画质)解码的码流是哪些。根据选出的码流段落推算实际需要在某些时候只需要以足够的画面精确度就能达成需要的显示时效性条件。以此方式将vdec的能耗与功耗尽可能降低来让整系统降温冷却或是维持能量持续分配在最重要的模块上。46.具体的,上述的图像参考帧以及该参考帧被参考次数信息可以通过预设参数确定,该预设参数可以包括网络抽象层解析参数、条带头解析参数、参考图像列表修正参数和图像参考帧标记参数等。如,网络抽象层解析参数可以是nal_unit()函数,条带头解析参数可以是slice_header()函数,参考图像列表修正参数可以是ref_pic_list_modification()函数,图像参考帧标记参数可以是ref_pic_list_modification()函数。47.例如,以h.264为例,在进行粗略的帧级分析时,在解析完多个图像帧包含到的nal单元头信息或条带头信息时,就可以分辨出哪几张图像参考帧会被多次参考到,如可以利用nal_unit()函数中的nal_ref_idc变量,slice_header()函数中的num_ref_idx_active_override_flag变量,ref_pic_list_modification()函数,dec_ref_pic_marking()函数等信息事先判断出。48.比如,nal_unit()函数是从h.264的图像帧中分析出以00000001和000001开头的nal单元,然后直接填充出该nal单元的长度。nal_ref_idc变量代表的是参考级别,代表被其它图像帧的参考情况,参考级别越高,表示该图像参考帧的越重要。49.num_ref_idx_active_override_flag变量代表的是当前图像帧的实际可用图像参考帧的数量是否需要重载。在图像参数集中已经出现的句法元素num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1指定当前图像参考帧队列中实际可用的参考帧的数目。在条带头可以重载这对句法元素,以给某特定图像帧更大的灵活度。通过num_ref_idx_active_override_flag变量,可以知道条带的位置。50.ref_pic_list_modification()函数为参考图像列表修正函数,可以保存在条带头的结构中,ref_pic_list_modification()函数的定义如下:ref_pic_list_modification_flag_l0为1时,对参考图像列表refpiclist0进行修改,ref_pic_list_modification_flag_l1为1时,对参考图像列表refpiclist1进行修改。dec_ref_pic_marking()函数为解码的图像参考帧标识,而标记(marking)操作用于将图像参考帧移入或移出图像参考帧队列、指定参考图像的符号。51.举例来说,请参阅图4,图4为本技术实施例提供的一种图像群组中各图像帧之间参考关系的场景示意图。图4是以一个图像群组中包括13个图像帧为例进行说明的。在其他实施方式中,图像群组中所包括的图像帧的数量是可以根据具体需求进行调整的。在一个图像群组中,图像帧的显示顺序可能与解码顺序相同,也可能不同。如图4中显示的图像群组中的图像帧的显示顺序与解码顺序是不同的。在该实施例中,以h.264视频码流作为示例,对h.264视频码流进行粗略分析,通过对nal单元的头信息或条带头信息的分析,可以分析出某些图像帧是否被参考以及被参考的次数。粗略分析这13个图像帧对应的码流,就可以知道参考图像列表。从图4中的箭头方向,可以看出每个图像帧与其他图像帧之间的参考关系以及参考次数,当某个图像帧被其它图像帧参考一次或多次时,则该图像帧可以作为图像参考帧。比如,图4中的i0帧的参考次数为4次,显示顺序为2的b2帧的参考次数为4次,显示顺序为3的b3帧的参考次数为2次,显示顺序为4的p4帧的参考次数为3次,显示顺序为6的b6帧的参考次数为1次,显示顺序为8的b8帧的参考次数为5次,显示顺序为12的p12帧的参考次数为4次,等等。也即在该实施例中,经过码流分析后发现真的需要精确解译出的帧是用于需要播放帧的参考帧i0,b2,b3,p4,b6,b8,p12。剩余的图像帧b1,b5,b7,p9,p10,p11即为非图像参考帧。需要说明的是,图4中仅仅是通过视频解码器的相关硬件或软件粗略的帧级分析,通过该粗略的分析方式不能分析出参考帧图像中具体每个块的参考关系。52.步骤103,生成功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度。53.在本技术实施例中,译码器在做完码率分析后,就可以依照功耗要求决定是否降低解码出的画面画质,若电子设备的处理器生成功耗指令限制指令,则可以进一步获取第一解码精确度和第二解码精确度,其中,上述第一解码精确度为在对图像参考帧进行解码时的精确度,而第二解码精确度为在对非图像参考帧进行解码时的精确度,其中上述第一解码精确度大于第二解码精确度。54.举例来说,继续参考图4,图中的i0,b2,b3,p4,b6,b8,p12这些帧因为会被拿来被别帧当成参考帧,因此译码时会精确到一个较高的第一解码精确度,比如使用100%精确度当成第一解码精确度,但实际实施情况不限于100%。剩下的b1,b5,b7,p9,p10,p11这些帧不会被拿来当参考帧,因此为了满足功耗能耗目标,画质能够被牺牲,可以在译码时会精确到一个较低的第二解码精确度,比如使用80%精确度当成第二解码精确度。55.其中,上述第一解码精确度和第二解码精确度可以预先存储在电子设备的存储器当中,当接收到功耗限制指令后直接调用。在其他实施例中,上述第一解码精确度和第二解码精确度还可以包含在功耗限制指令当中,比如在接收到功耗限制指令后,进一步获取指控当中的第一解码精确度和第二解码精确度。56.在一实施例中,上述功耗限制指令可以由电子设备自动生成,比如当设备的剩余电量小于一个预设值时,自动生成上述携带第一解码精确度和第二解码精确度的功耗限制指令。也即在接收功耗限制指令之前,所述方法还包括:57.获取电子设备当前的剩余电量;58.判断所述剩余电量是否小于预设值;59.若小于所述预设值,则根据所述剩余电量生成功耗限制指令。60.进一步的,在确定剩余电量是否小于预设值之后,还可以根据剩余电量对应的预设区间设置对应的第一解码精确度和第二解码精确度,以生成功耗限制指令。比如上述预设值设置为30%,且在该预设值以下设置了0-10%、11%-20%、21%-30%三个电量区间,若电子设备当前剩余电量为25%,位于21%-30%电量区间,则获取该区间对应的第一解码精确度100%和第二解码精确度80%,并根据上述第一解码精确度和第二解码精确度生成功耗限制指令。若电子设备当前剩余电量为18%,位于11%-20%电量区间,则获取该区间对应的第一解码精确度100%和第二解码精确度70%,并根据上述第一解码精确度和第二解码精确度生成功耗限制指令。若电子设备当前剩余电量为5%,位于0-10%电量区间,则获取该区间对应的第一解码精确度90%和第二解码精确度60%,并根据上述第一解码精确度和第二解码精确度生成功耗限制指令。61.步骤104,根据第一解码精确度对图像组中图像参考帧的待解码块进行解码,根据第二解码精确度对图像组中非图像参考帧的待解码块进行解码。62.举例来说,若接收到功耗限制指令,并得到第一解码精确度为100%,第二解码精确度为70%,在图4的实施例当中,图中的i0,b2,b3,p4,b6,b8,p12这些帧就可以使用100%精确度进行解码,而b1,b5,b7,p9,p10,p11这些帧就可以使用70%精确度进行解码。63.在其他实施例中,上述非图像参考帧还可以使用不同的解码精确度,比如针对多个非图像参考帧分别用不同的第二解码精确度来进行解码,请参阅图5,图5为本技术实施例提供的图像组在有无功耗限制情况下使用不同的解码精确度示意图。在该实施例中,若未接收到功耗限制指令,也即电子设备当前电量充足,无需牺牲解码的画质来减少功耗,此时在对待解码块进行解码时就可以将图像组中的全部图像帧均采用100%解码精确度进行解码。若接收到功耗限制指令,则将图像参考帧采用第一解码精确度进行解码,将多个非图像参考帧分别按照各自对应的第二解码精确度进行解码。64.由上可知,本技术实施例提供的图像处理方法可以获取当前视频码流,根据视频码流中的图像组结构以确定图像参考帧,接收功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度,根据第一解码精确度对图像组中图像参考帧的待解码块进行解码,根据第二解码精确度对图像组中非图像参考帧的待解码块进行解码。本技术实施例可以在需要进行功耗限制时对待解码的图像组中的图像参考帧和非图像参考帧设置不同的解码精确度,通过牺牲少量视频画质来达到降低电子设备功耗的目的。65.下面将在上述实施例描述的方法基础上,对本技术的图像处理方法做进一步介绍。参阅图6,图6为本技术实施例提供的图像处理方法的另一种流程示意图,该图像处理方法包括:66.步骤201,获取当前视频码流。67.本技术实施例中,获取当前视频码流,视频码流中可以包括一个或多个图像群组(groupofpictures,gop),一个图像群组中包括多个图像帧。本技术实施例中以当前视频码流中包括一个图像群组作为示例进行说明。所获取的当前视频码流是编码后的视频码流,该当前视频码流中的图像帧有可能还未解码,还有可能一部分图像帧已经解码,另外一部分图像帧等待解码等。需要说明的是,已经解码的图像帧可以作为后续其他图像帧解码时的图像参考帧。68.步骤202,获取视频码流中的图像组对应的解码依赖关系。69.步骤203,根据解码依赖关系确定图像参考帧。70.其中,上述解码依赖关系中包括每一个图像帧与其他图像帧之间的参考关系,具体可以根据解码依赖关系依次判断当前帧是否被引用,若是,则确定当前帧为图像参考帧,若否,则确定当前帧为非图像参考帧。也即根据解码依赖关系确定图像参考帧的步骤,包括:71.根据所述解码依赖关系确定当前帧是否被引用;72.若是,则确定所述当前帧为所述图像参考帧。73.在一实施例中,vdec相关硬件或软件分析或预估后可以判定某些图像帧将会被其他帧解码时使用,也即上述解码依赖关系。具体的,可以根据当前视频码流中各图像帧的帧头信息,确定出各图像帧的解码依赖关系。其中,每个图像帧的数据可以看成是一个网络抽象层(networkabstractionlayer,nal)单元,帧头信息用于分辨一个图像帧的开始,帧头信息也可以认为是nal单元头信息,通过帧头信息可以确定出是哪一个图像帧,即可以确定出图像参考帧。74.步骤204,接收功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度。75.在本技术实施例中,译码器在做完码率分析后,就可以依照功耗要求决定是否降低解码出的画面画质,若电子设备的处理器接收到了功耗指令限制指令,则可以进一步获取第一解码精确度和第二解码精确度,其中,上述第一解码精确度为在对图像参考帧进行解码时的精确度,而第二解码精确度为在对非图像参考帧进行解码时的精确度,其中上述第一解码精确度大于第二解码精确度,比如使用100%精确度当成第一解码精确度,使用80%精确度当成第二解码精确度。76.在其他实施例中,电子设备还可以根据长时间的视频播放需求和可预测行为造成的较大功耗时,自动生成功耗限制指令。进一步的,在生成上述功耗限制指令之前还可以预先生成一个提示信息展现给用户,比如以弹窗或语音的方式等,然后接收用户选择是否确认的操作指令,并在用户确定开启功耗限制时生成上述功耗限制指令。77.步骤205,对待解码块进行解码时,根据待解码块的预设表确定对应的树形图。78.其中,在解码过程中对码流进行解译。上述预设表可以为transformtreesyntaxtable,也即转换树语法表,具体的,可以先从码流当中获取该预设表,该预设表可以解译出树形图,而通过树形图就可以快速推算出变换块的相关信息,比如变换块的大小和对该变换块进行的反变换的具体方式等等。79.步骤206,根据树形图确定待解码块的变换块。80.在本技术实施例中,通过丢弃非零值的方式来减小电子设备的功耗,因为在解码的过程中,零值的数量越多,就会让乘法器与加法器电路翻转变少,也即非零值越少,整体反变换的功耗与能耗是下降的。因此可以在反变换前先根据待解码块的预设表确定对应的树形图,然后就可以根据树形图推算出变换块以及反变换方式。81.步骤207,根据第一解码精确度对图像组中图像参考帧的待解码块的变换块中的残差系数归零,并将残差系数归零后的变换块进行反变换。82.由于在实际使用过程中,人对高频信号不敏感,而对低频信号较为敏感,因此在反变换之前,本技术实施例可以采用从高频系数开始丢弃的方式适当的舍去高频,从而在反变换时由于0输入变多而降低功耗。83.需要说明的是,若上述第一解码精确度为100%,则无需对图像组中图像参考帧的待解码块的变换块中的残差系数归零,因为第一解码精确度为100%表示此时不需要在解码图像参考帧时降低功耗,若当第一解码精确度为小于100%时,则执行根据第一解码精确度对图像组中图像参考帧的待解码块的变换块中的残差系数归零的步骤。84.具体的,在本技术实施例中,在一个字块中的不同位置其对应的频率也不相同,比如在一个子块当中具有a、b、c、d、e五个点,这五个点当中e具有最高频分量残差,频率由e、d、c、b、a依次递减,a具有最低频分量残差,又因为高频分量残差对视觉的影响通常最小,因此最不重要,所以该实施例中就可以在频谱上将残差系数由最重要的a依次递减到最不重要的e,具体可以使用e到d到c到b到a这种逆着波前的方式将残差归零。这样逆着波前方向将残差系数归零会造成画面精确度逐步下降。其中,上述第一解码精确度可以决定将上述残差系数归零的程度,也即画面精确度下降的程度。因此,根据第一解码精确度对图像组中图像参考帧的待解码块的变换块中的残差系数归零的步骤,包括:85.获取所述图像参考帧中的待解码块的变换块中的多个分量残差以及对应的频率;86.按照由高频至低频的方式对所述多个分量残差进行排序,并根据所述第一解码精确度和排序结果对所述图像参考帧中的待解码块的变换块中的残差系数归零。87.步骤208,根据第二解码精确度对图像组中非图像参考帧的待解码块的变换块中的残差系数归零,并将残差系数归零后的变换块进行反变换。88.上述第二解码精确度小于第一第二解码精确度,因此一定小于100%,其中将图像组中非图像参考帧的待解码块的变换块中的残差系数归零的步骤可参阅步骤207。也即根据第二解码精确度对图像组中非图像参考帧的待解码块的变换块中的残差系数归零的步骤,包括:89.获取所述非图像参考帧中的待解码块的变换块中的多个分量残差以及对应的频率;90.按照由高频至低频的方式对所述多个分量残差进行排序,并根据所述第二解码精确度和排序结果对所述非图像参考帧中的待解码块的变换块中的残差系数归零。91.步骤209,对反变换后的块中的待解码块进行解码。92.具体的,所述对反变换后的块中的待解码块进行解码的步骤,可以包括:93.根据所述当前视频码流获取参考运动矢量;94.根据所述参考运动矢量从所述当前视频码流的图像帧中获取对应的参考块;95.根据所述参考块对所述待解码块进行解码。96.在一实施例中,对当前视频码流进行解析,从该当前视频码流中可以获取一个或多个参考运动矢量,每个参考运动矢量均会对应一个参考块,在对待解码块进行解码时,需要对参考块进行参考。可以将参考块与待编码块的相对位移作为参考运动矢量。通过参考运动矢量获取对应的参考块,可以做到精细化分析,最后根据参考块的图像数据对待解码块进行解码。97.具体的,可以对当前视频码流进行熵解码,得到一个或多个运动矢量差值(motionvectordifference,mvd),然后根据一个或多个运动矢量差值和对应的运动矢量预测值,获取一个或多个参考运动矢量。比如,在对当前视频码流进行熵解码,得到一个或多个运动矢量差值后,可以根据该一个或多个运动矢量差值以及对应的运动矢量预测值,获取到一个或多个参考运动矢量,如将运动矢量差值与运动矢量预测值相加后的和作为参考运动矢量。根据一个或多个参考运动矢量从当前视频码流的一个或多个图像帧中获取对应的一个或多个参考块,最终读取所需要的参考块的图像数据,并根据读取的参考块的图像数据对当前待解码块或当前待解码块中的子块进行解码。98.其中,在解码时可以将图像帧划分为多个不互相重叠的块,这些块构成矩形阵列,其中每个块是n×n像素的块,比如,可以是4×4像素的块,32×32像素的块,128×128像素的块等等。对当前待解码图像帧中的待解码块进行解码时,需要从存储器中读取所需要的图像参考帧的图像数据。99.比如,请参阅图7,图7为本技术实施例提供的视频解码器解码的场景示意图。该当前视频码流以h.264的视频码流为例进行说明,当对当前视频码流进行熵解码后,得到一个或多个运动矢量差值以及量化后的第一残差。根据运动矢量差值和对应的运动矢量预测值,可以获取参考运动矢量,这样就能更精细的知道被拿来做运动补偿的参考块。其中,熵解码可以采用一个独立的硬件设计来实现,也可以通过软件的方式来实现。对当前视频码流的解析以及图像缓冲可以通过驱动程序或开放多媒体加速层框架(openmediaacceleration,openmax)以软件的方式来实现。对第一残差进行反量化与反变换后,可以得到第二残差。根据述参考运动矢量(参考块与当前待解码块或当前待解码块中的子块的相对位移)和参考块,可以得到当前待解码块或所述当前待解码块中的子块的预测值。需要说明的是,当前待解码块或所述当前待解码块中的子块的预测值可以通过帧内预测方式或运动补偿方式获取到。关于解码过程中的反量化与反变换、帧内/帧间模式选择、帧内预测、运动补偿和去块效应滤波等可以通过专用集成电路(applicationspecificintegratedcircuit,asic)来实现。100.在得到当前待解码块或当前待解码块中的子块的预测值后,将第二残差与当前待解码块或当前待解码块中的子块的预测值相加得到当前待解码块解码后的块或所述当前待解码块中的子块解码后的子块(实际值),根据当前待解码块解码后的块或当前待解码块中的子块解码后的子块进行区块效应滤波器滤波后,可以得到平滑的视频流解码数据。101.若该当前待解码图像帧或当前待解码条带中还有其它待解码块或其它待解码块的子块需要解码,则对其它待解码块或其它待解码块的子块进行解码。若对当前待解码图像帧或当前待解码条带中的所有待解码块或待解码块的子块都已解码完毕,则对其它图像帧或条带进行解码,直至完成对所有需要解码的图像帧或条带的解码。102.另外,本技术实施例提供的方法可以适当降低视频解码后的画质,而当视频解码器解码出的画面会被缩小时,就是代表高频讯号会被丢失,通常在此时少重建一些高频讯号是有机会不被查觉的。通过后置滤波器进行滤波比如dbf(deblockingfilter,去块效应滤波)、sao(sampleadaptiveoffset,样点自适应补偿)、alf(adaptiveloopfilter,自适应环路滤波)等,上述几种通过后置滤波器进行滤波的方法原本想做到的事情再通过缩小画质以后(也就是原始画面经过低通滤波器滤波),用处没这么明显。也就是缩小画面能适当的掩盖不去做这些in-loopfilter(环内滤波)的画质损失。因此这类的降低功耗与能耗方法也很适用于本技术实施例中会使视频画面被缩小时。103.由上可知,本技术实施例提供的图像处理方法可以获取当前视频码流,获取视频码流中的图像组对应的解码依赖关系,根据解码依赖关系确定图像参考帧,接收功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度,对待解码块进行解码时,根据待解码块的预设表确定对应的树形图,根据树形图确定待解码块的变换块,根据第一解码精确度对图像组中图像参考帧的待解码块的变换块中的残差系数归零,并将残差系数归零后的变换块进行反变换,根据第二解码精确度对图像组中非图像参考帧的待解码块的变换块中的残差系数归零,并将残差系数归零后的变换块进行反变换,对反变换后的块中的待解码块进行解码。本技术实施例可以在需要进行功耗限制时对待解码的图像组中的图像参考帧和非图像参考帧设置不同的解码精确度,通过牺牲少量视频画质来达到降低电子设备功耗的目的。104.请参阅图8,图8为本技术实施例提供的图像处理装置的一种结构示意图。其中该图像处理装置30包括:105.获取模块301,用于获取视频码流;106.确定模块302,用于根据所述视频码流中的图像组结构以确定图像参考帧;107.接收模块303,用于生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;108.解码模块304,用于根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。109.在一实施例中,请参阅图9,在该实施例中,所述确定模块302可以包括:110.获取子模块3021,用于获取所述视频码流中的图像组对应的解码依赖关系;111.判断子模块3022,用于根据所述解码依赖关系确定当前帧是否被引用;112.第一确定子模块3023,用于当所述判断子模块判断为是时,确定所述当前帧为所述图像参考帧。113.在一实施例中,所述解码模块304可以包括:114.第二确定子模块3041,用于对待解码块进行解码时,根据所述待解码块的预设表确定对应的树形图;115.第三确定子模块3042,用于根据所述树形图确定所述待解码块的变换块;116.第一处理子模块3043,用于根据所述第一解码精确度对所述图像组中图像参考帧的待解码块的变换块中的残差系数归零,并将所述残差系数归零后的变换块进行反变换;117.第二处理子模块3044,用于根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块的变换块中的残差系数归零,并将所述残差系数归零后的变换块进行反变换。118.由上述可知,本技术实施例的图像处理装置30可以获取当前视频码流,根据视频码流中的图像组结构以确定图像参考帧,接收功耗限制指令,并根据功耗限制指令确定第一解码精确度和第二解码精确度,根据第一解码精确度对图像组中图像参考帧的待解码块进行解码,根据第二解码精确度对图像组中非图像参考帧的待解码块进行解码。本技术实施例可以在需要进行功耗限制时对待解码的图像组中的图像参考帧和非图像参考帧设置不同的解码精确度,通过牺牲少量视频画质来达到降低电子设备功耗的目的。119.本技术实施例中,图像处理装置与上文实施例中的图像处理方法属于同一构思,在图像处理装置上可以运行图像处理方法实施例中提供的任一方法,其具体实现过程详见图像处理方法的实施例,此处不再赘述。120.本文所使用的术语“模块”可看作为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看作为在该运算系统上的实施对象。而本文所述的装置及方法可以以软件的方式进行实施,当然也可在硬件上进行实施,均在本技术保护范围之内。121.本技术实施例还提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的图像处理方法。122.本技术实施例还提供一种电子设备,如平板电脑、手机等。电子设备中的处理器会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器中,并由处理器来运行存储在存储器中的应用程序,从而实现各种功能:123.获取视频码流;124.根据所述视频码流中的图像组结构以确定图像参考帧;125.生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;126.根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。127.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。128.请参阅图10,电子设备400包括处理器401以及存储器402。其中,处理器401与存储器402电性连接。129.处理器400是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的计算机程序,以及调用存储在存储器402内的数据,执行电子设备400的各种功能并处理数据,从而对电子设备400进行整体监控。130.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。131.在本技术实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器402中,并由处理器401运行存储在存储器402中的计算机程序,从而实现各种功能,如下:132.获取视频码流;133.根据所述视频码流中的图像组结构以确定图像参考帧;134.生成功耗限制指令,并根据所述功耗限制指令确定第一解码精确度和第二解码精确度;135.根据所述第一解码精确度对所述图像组中图像参考帧的待解码块进行解码,根据所述第二解码精确度对所述图像组中非图像参考帧的待解码块进行解码。136.请一并参阅图11,在一些实施方式中,电子设备400还可以包括:显示器403、射频电路404、音频电路405以及电源406。其中,其中,显示器403、射频电路404、音频电路405以及电源406分别与处理器401电性连接。137.显示器403可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器403可以包括显示面板,在一些实施方式中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、或者有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。138.射频电路404可以用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。通常,射频电路501包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriberidentitymodule)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。139.音频电路405可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路506可将接收到的音频数据转换成电信号,传输到扬声器,由扬声器转换为声音信号输出。140.电源406可以用于给电子设备400的各个部件供电。在一些实施例中,电源406可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源406还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。141.尽管图11中未示出,电子设备400还可以包括摄像头、蓝牙模块等,在此不再赘述。142.在本技术实施例中,存储介质可以是磁碟、光盘、只读存储器(readonlymemory,rom)、或者随机存取记忆体(randomaccessmemory,ram)等。143.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。144.需要说明的是,对本技术实施例的图像处理方法而言,本领域普通测试人员可以理解实现本技术实施例图像处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如图像处理方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储器、随机存取记忆体等。145.对本技术实施例的图像处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,存储介质譬如为只读存储器,磁盘或光盘等。146.以上对本技术实施例所提供的一种图像处理方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1