参数处理方法、装置、介质及电子设备与流程

文档序号:32000935发布日期:2022-11-02 11:14阅读:43来源:国知局
参数处理方法、装置、介质及电子设备与流程

1.本技术涉及视频解码技术领域,特别涉及一种参数处理方法、装置、介质及电子设备。


背景技术:

2.在图像系统中,在一定噪声(如胶片颗粒,即film grain)强度条件下,图像视觉质量可以达到更优的效果。目前在av1等视频编码标准中,采用了胶片颗粒合成技术。通过该技术,编码的比特流可以携带胶片颗粒合成(film grain synthesis,fgs)所需的基本参数,并在解码后输出的yuv(一种颜色编码方法)数据上恢复出胶片颗粒的效果。其中,上述胶片颗粒合成方法的处理流程对编码循环来说是带外流程,即该流程为一种环外滤波。另外,使用fgs技术时由于编码器内部解码循环不受胶片颗粒的影响,因此使得视频编码的压缩率得到了提高。
3.其中,在av1中,胶片颗粒块为包括76
×
70的亮度块和38
×
35的色度块。而胶片颗粒块中当前颗粒(grain,如亮度grain或色度grain)的计算依赖于在当前grain之前计算的多个相邻grain的计算结果。
4.然而,目前胶片颗粒块中的每个grain的参数必须串行的一个一个地计算。例如,针对胶片颗粒块中的76
×
70的亮度块,对每个亮度块的参数计算至少需要一个计算周期,则最少需要通过76
×
70=5230个计算周期才能完成亮度块的参数的计算,耗时较长。


技术实现要素:

5.本技术实施例提供了一种参数处理方法、装置、介质及电子设备,可以减少用于胶片颗粒合成的整个颗粒块中各个颗粒的颜色参数的计算周期。
6.第一方面,本技术实施例提供了一种参数处理方法,包括:将m行
×
n列的胶片颗粒块中的颗粒按行划分为p个计算分组,每个计算分组包括q个子分组;利用多个计算单元(即下文中的多个处理引擎)并行地计算各个计算分组中的各颗粒的颜色参数,其中,第s个计算分组中各颗粒的颜色参数由第一计算单元计算、第s+1个计算分组中各颗粒的颜色参数由第二计算单元计算,所述第一计算单元和所述第二计算单元分别为所述多个计算单元中的一个;并且,所述第二计算单元在所述第一计算单元完成第s个计算分组中的第y+r-1个子分组中各颗粒的颜色参数的计算后,计算所述第s+1个计算分组的第r个子分组中各颗粒的颜色参数,同时所述第一计算单元并行计算第s个计算分组的第r+y个子分组中各颗粒的颜色参数,其中,所述第s+1个计算分组的第r个子分组中各颗粒的颜色参数的计算与所述第s个计算分组的第r+y个子分组中各颗粒的颜色参数的计算结果无关;并且,m、n、p、q、s、r以及y均为正整数。那么,在同一个计算周期内多个处理引擎对不同颗粒进行计算,即同一个计算周期中多个颗粒被并行计算,从而可以减少了胶片颗粒的颜色参数的计算周期。
7.在上述第一方面的一种可能的实现方式中,上述p个计算分组中的前p-1个计算分组中每个计算分组包括颗粒的行数大于或等于x,第p个计算分组包括m-x(p-1)行颗粒,其
中,x为正整数。
8.在上述第一方面的一种可能的实现方式中,上述前p-1个计算分组中每个计算分组中的每个子分组中的最后一行中至少包括z个颗粒。
9.在上述第一方面的一种可能的实现方式中,上述p-1个计算分组中的每个计算分组中的每个子分组中,第j行第k列的颗粒的颜色参数是基于第j-j1行第k-k2列的颗粒的颜色参数的计算结果进行计算的;j1依次取值为1,2,3;k2依次取值为1,2,3,0,-1,-2,-3;j和k均为正整数。
10.在上述第一方面的一种可能的实现方式中,y等于2,z等于4。
11.在上述第一方面的一种可能的实现方式中,m等于70,n等于76,q等于6。
12.在上述第一方面的一种可能的实现方式中,上述前p-1个计算分组中的每个计算分组中包括以下6个分组:第1个子分组由所述计算分组中第一行的第1至13列,第二行中的第1至10列,第三行中的第1至7列,第四行中的第1至4列中的颗粒组成;第2至5个子分组中的每个子分组中的每行均包括相邻的13个颗粒;第6个子分组由所述计算分组中的第一行的第67至76列,第二行中的第64至76列,第三行中的第61至76列,第四行中的第58至76列中的颗粒组成。
13.在上述第一方面的一种可能的实现方式中,每个颗粒的颜色参数为亮度分量。此时,颗粒块可以为76
×
70亮度块中的亮度块。
14.在上述第一方面的一种可能的实现方式中,m等于35,n等于38,q等于6。
15.在上述第一方面的一种可能的实现方式中,上述前p-1个计算分组中的每个计算分组中包括以下3个分组:第1个子分组由所述计算分组中第一行的第1至13列,第二行中的第1至10列,第三行中的第1至7列,第四行中的第1至4列中的颗粒组成;第2个子分组中的每行均包括相邻的13个颗粒;第3个子分组由所述计算分组中的第一行的第27至38列,第二行中的第24至38列,第三行中的第21至38列,第四行中的第19至38列中的颗粒组成。
16.在上述第一方面的一种可能的实现方式中,每个颗粒的颜色参数为色度分量,此时,颗粒块可以为38
×
35色度块中的色度块。
17.第二方面,本技术实施例提供了一种参数处理装置,该装置包括:划分单元和多个计算单元:所述划分单元,用于将m行
×
n列的胶片颗粒块中的颗粒按行划分为p个计算分组,每个计算分组包括q个子分组;所述多个计算单元,用于并行地计算各个计算分组中的各颗粒的颜色参数,其中,第s个计算分组中各颗粒的颜色参数由第一计算单元计算、第s+1个计算分组中各颗粒的颜色参数由第二计算单元计算,所述第一计算单元和所述第二计算单元分别为所述多个计算单元中的一个;并且,所述第二计算单元在所述第一计算单元完成第s个计算分组中的第y+r-1个子分组中各颗粒的颜色参数的计算后,计算所述第s+1个计算分组的第r个子分组中各颗粒的颜色参数,同时所述第一计算单元并行计算第s个计算分组的第r+y个子分组中各颗粒的颜色参数,其中,所述第s+1个计算分组的第r个子分组中各颗粒的颜色参数的计算与所述第s个计算分组的第r+y个子分组中各颗粒的颜色参数的计算结果无关;并且,m、n、p、q、s、r以及y均为正整数。
18.第三方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有指令,该指令在电子设备上执行时使电子设备执行如上述第一方面中任一项所述的参数处理方法。
19.第四方面,本技术实施例提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,当所述指令被一个或多个处理器执行时,所述处理器用于执行如上述第一方面中任一项所述的参数处理方法。
附图说明
20.图1为根据本技术的实施例,示出了一种电子设备中的编解码模块的架构图;
21.图2为根据本技术的实施例,示出了一种视频解码过程的流程示意图;
22.图3a为根据本技术的实施例,示出了一种亮度块对应的胶片颗粒的依赖关系示意图;
23.图3b为根据本技术的实施例,示出了一种色度块对应的胶片颗粒的依赖关系示意图;
24.图4为根据本技术的实施例,示出了一种电子设备中的编解码模块的架构图;
25.图5为根据本技术的实施例,示出了一种合成颗粒块过程中的参数处理方法的流程示意图;
26.图6为根据本技术的实施例,示出了一种胶片颗粒中的grain的子分组的示意图;
27.图7为根据本技术的实施例,示出了一种胶片颗粒中的grain的子分组的示意图;
28.图8为根据本技术的实施例,示出了一种胶片颗粒中的grain的计算顺序的示意图;
29.图9为根据本技术的实施例,示出了一种胶片颗粒中的grain的子分组的示意图;
30.图10为根据本技术的实施例,示出了一种电子设备的框图;
31.图11为根据本技术的实施例,示出了一种片上系统的框图。
具体实施方式
32.本技术的实施例包括但不限于一种参数处理方法、装置、介质及电子设备。
33.本技术提供的参数处理方法应用于视频编解码场景,具体应用于视频解码过程中合成胶片颗粒(film grain,fg)的过程中。例如,本技术的方案可以应用于全景声电影、超高清电视、互联网宽带音视频业务、数字音视频广播无线宽带多媒体通信、虚拟现实和增强现实等需要视频编解码的场景。下文以视频的编解码过程为例进行说明。
34.可以理解,需要进行视频编码的场景较多,除了常见的通过智能手机等进行视频拍摄和数据压缩存储外,在视频会议、数字tv、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等场景下均需要进行视频编码。
35.在一些实施例中,本技术涉及的视频压缩标准可以为高效率视频编码(high efficiency video coding,hevc),高级视频编码(advanced video coding,avc)和信源编码标准(audio video coding standard,avs)以及av1(即,开放媒体视频联盟(alliance of open media video)开发的下一代视频编码格式)等,以下主要以av1为例进行描述。
36.本技术实施例中,胶片颗粒的处理方法的执行主体可以为电子设备,或者电子设备中用于执行胶片颗粒的处理方法的模块或单元。例如,本技术实施例以下,以电子设备中的编解码模块执行胶片颗粒的处理方法为例进行说明。
37.在一些实施例中,适用于本技术的电子设备包括但不限于:智能手机、车载装置、
个人计算机、人工智能设备、平板电脑、个人数字助理、智能穿戴式设备(例如智能手表或手环、智能眼镜)、智能电视(或者称为智慧大屏、智慧屏、或大屏电视等)、虚拟现实/混合现实/增强显示设备、服务器等。
38.在一些示例中,上述编解码模块可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器无损视频压缩。
39.另外,在一些实施例中,上述编解码模块可以设置在该电子设备中的视频处理单元(video processing unit,vpu)中,但不限于此。
40.根据申请的一些实施例中,参照图1所示,为申请提供的一种电子设备10中的编解码模块20的框架示意图。编解码模块20中包括预处理单元01,编码单元02,解码单元03以及fg合成单元04。其中,预处理单元01主要用于对输入的进行预处理(pre-processing),如去隔行、上/下采样、降噪等。编码单元02主要用于对输入的视频进行编码得到比特流(即码流)。解码单元03主要用于将输入的视频压缩后的比特流或码流解码得到视频数据。fg合成单元04主要用于在解码后的视频中添加胶片颗粒。
41.作为一种示例,上述编码单元02可以为编码器(encoder),解码单元03可以为解码器(decoder)。另外,在一些实施例中,上述预处理单元01,编码单元02,解码单元03以及fg合成单元04中的每个单元可以通过软件或硬件实现,还可以通过软件和硬件的结合实现,本技术对此不做限定。
42.基于图1示出的编解码模块20,参照图2所示,为本技术提供的一种在视频编解码框架中使用胶片颗粒的流程框图。如图2所示,该流程包括如下步骤:
43.步骤s1,预处理单元01对输入视频进行预处理,将胶片颗粒滤波得到滤波后的视频(即去除胶片颗粒的视频)。步骤s2,编码单元02对去除胶片颗粒的视频进行编码,同时,将胶片颗粒(fg)参数插入比特流的头信息中,得到编码后的比特流。步骤s3,解码单元03对输入的比特流进行解码,得到解码后的视频,并比特流的头信息中解析出fg参数。步骤s4,fg合成单元04根据fg参数通过fg合成技术在解码后的视频中合成胶片颗粒,输出携带胶片颗粒的解码视频,使得该视频的视觉质量较高。
44.可以理解的是,胶片颗粒为一帧图像中的一些噪声,而fg参数可以用于指示胶片颗粒的形状、大小和强度等。在一些实施例中,在fg参数可以基于预处理单元01的输入视频得到,例如,将预处理单元01对输入视频滤波得到的胶片颗粒,当对该胶片颗粒进行进行建模得到上述fg参数。在另一些实施例中,上述fg参数可以基于预设随机的高斯白噪声生成的。
45.本技术实施例以下,主要对上述s4中涉及的fg合成单元04中胶片颗粒处理过程中的参数处理方法进行描述。
46.作为一种示例,在av1标准中,上述fg参数中可以包括颗粒种子(grain_seed)等参数,可以用于生成亮度块对应的颗粒块或色度块对应的颗粒块。例如,颗粒种子的参数可以
用于生成颗粒块中的各个颗粒计算的高斯初始化值(即表示高斯白噪声的初始化值)。
47.本技术实施例以下中,以av1为例,上述fg参数用于表示胶片颗粒块,该胶片颗粒块为76
×
70亮度块和38
×
35的色度块。需要说明的是,本技术实施例中,所描述的76
×
70亮度块指的是70行乘以76列的亮度块矩阵,而38
×
35的色度块指的是35行乘以38列的色度块矩阵。可以理解的是,胶片颗粒块计算的最小单元为颗粒(grain),而胶片颗粒块中的一个颗粒指的是一个亮度块或一个色度块。
48.在一些实施例中,对grain的计算指的是计算亮度grain的亮度(luma)分量,和计算色度grain的色度(chroma)分量。作为一种示例,在yuv色彩空间中,对一个亮度grain的计算得到亮度分量即为y分量。另外,在yuv色彩空间中,对一个色度grain的计算得到的色度分量为u分量和/或v分量。作为另一种示例,在ycbcr色彩空间中,对一个亮度grain的计算得到亮度分量即为y分量。另外,在yuv色彩空间中,对一个色度grain的计算得到的色度分量为cb分量和/或cr分量,而cb分量和cr分量分别为蓝色和红色的浓度偏移量成份。
49.目前,可以理解的是,现有技术中通常是采用一个流水线,基于相邻grain之间的依赖关系,对颗粒块中的每个grain一个一个地计算,导致胶片颗粒的计算较为耗时。例如图3a示出了计算当前位置的亮度grain的计算示例,其中,当前位置p1表示的当前亮度grain(即亮度块)的计算需要在当前位置p1周围有虚线框m1框出的相邻的24个亮度grain。另外,图3b示出了计算当前位置的色度grain的计算示例,其中,当前位置p1表示的当前色度grain的计算,不仅依赖于虚线框m1框出的在当前位置p1周围的相邻的24个亮度grain,还依赖于虚线框m2框表示出的亮度块矩阵中与当前位置p1对应的4个色度grain。那么,将76
×
70的亮度块和38x35的色度块中的所有grain全部计算完,那么对76
×
70亮度块的计算需要消耗5320(即76乘以70)个计算周期,而对38
×
35色度块计算亮度分量和色度分量分别消耗1330(即38乘以35)个计算周期,从而使得计算周期多达7980个,计算过程耗时较长。
50.为了减少胶片颗粒计算的耗时,本技术实施例提供一种参数处理方法,将胶片颗粒块中的颗粒(grain)划分为不同分组,并通过多个处理引擎并行计算不存在依赖关系的不同分组中的各个grain的颜色参数。那么,在同一个计算周期内多个处理引擎对不同颗粒进行计算,即同一个计算周期中多个颗粒被并行计算,从而可以减少了胶片颗粒的颜色参数的计算周期。例如,假设某一胶片颗粒块中包括分组1、分组2和分组3,其中分组3依赖于分组1中的各grain的计算结果,可以通过一个处理引擎计算分组1和分组2,在该处理引擎计算完分组1中的grain的参数后,由于分组2和分组3不存在依赖关系,可以在该处理引擎计算分组2中的各grain的参数期间,并行通过另一个处理引擎来计算分组3中的grain的参数,来实现不存在依赖关系的子分组的并行计算,减小计算周期。
51.具体地,在一些实施例中,基于图1示出的编解码模块20的结构,参照图4所示,为本技术实施例提供的编解码模块20的另一种结构示意图。其中,图4示出的中可以包括多个处理引擎,用于采用多流水对胶片颗粒进行计算。其中,一个处理引擎可以为图元引擎(primitive engine,pe),以下以pe为例对处理引擎进行描述。具体地,每个pe用于提供一个胶片颗粒计算的流水线。作为一种示例,上述多个处理引擎的数量可以为2个或4个,但不限于此。
52.接下来,基于图4示出的fg合成单元04为例,对申请实施例提供的参数处理方法进行说明。参照图5所示,为本技术实施例提供的一种参数处理方法的流程示意图,该方法包
括如下步骤:
53.步骤s501:fg合成单元04按照预设规则将胶片颗粒块中的grain划分为亮度块相关的多个子分组,以及将胶片颗粒中的grain划分为色度块相关的多个子分组。
54.其中,每个子分组中的每个grain可以被单独计算。
55.作为一种示例,上述预设规则用于将胶片颗粒按行从上到小的顺序划分为不同计算分组,而前每个计算分组可以包括4行。进一步,可以按照每个计算分组将夹片颗粒划分为不同子分组,即将胶片颗粒按照由上到下由左到由的顺序以相邻的每4行为单元进行子分组,而每4行的子分组方法相同。此外,如果胶片颗粒的总行数(如76
×
70亮度块的行数70)不能被4整除,那么可以将总行数除以4之后的余下的行数按照类似的规则划分分组,或者将总行数除以4之后的余下的行与最后一个4行作为整体进行划分子分组。
56.在一些实施例中,对于76
×
70亮度块而言,第1行到第64行可以按照每四行进行子分组,而最后的第65行到第70行可以作为子分组单位进行子分组,与每四行子分组类似(如每组第一行中可以包括13个grain)。另外,在其他一些实施例中,对于76
×
70亮度块而言,第1行到第68行可以按照每四行进行子分组,而最后的第69行到第70行可以作为子分组单位进行子分组,与每四行子分组的规则类似。
57.需要说明的是,对于胶片颗粒对应的76
×
70亮度块划分的子分组个数,与对胶片颗粒对应的38
×
35色度块划分的子分组个数不同,但是划分子分组的规则相同。
58.亮度块划分
59.在一些实施例中,按照预设划分规则将胶片颗粒中的grain划分为亮度块相关的多个子分组,指的是将76
×
70亮度块中的亮度grain先划分为多个计算分组,在将每个计算分组划分为多个子分组。
60.参照图6所示,为一种胶片颗粒块中的grain的子分组的示意图。其中,以胶片颗粒中的grain对应的76
×
70亮度块而言,对胶片颗粒中的前两个4行(即前8行)所在的两个计算分组中的子分组的grain划分的子分组为例,对上述预设规则对grain划分进行说明。
61.例如,在图6示出的胶片颗粒的前4行中,(1)将前四行(即第1个计算分组)中的第一行(即编号为0的行)的前13个grain、第二行(即编号为1的行)的前10个grain、第三行(即编号为2的行)的前7个grain以及第四行(即编号为3的行)的前4个grain划分为一个子分组(记为n1)。(2)将前四行中的第一行后续的13个grain、第二行的后续的13个grain、第三行的后续的13个grain以及第四行的后续的13个grain划分为一个子分组(记为n2)。(3)按照n2的划分方式,依次划分出n3、n4和n5四个子分组。最后,将前四行中的第一行最后的10个grain、第二行的最后13个grain、第三行的最后16个grain以及第四行的最后19个grain划分为一个子分组(记为n6)。即对于亮度块的grain而言,每个四行的亮度块对应的grain划分为6个子分组。
62.进一步,参照对图6所示的前四行中的grain的划分方式,可以将胶片颗粒的第5到第8行(即第2个计算分组)中的grain分别划分为子分组n7至n12;将胶片颗粒的第9到第12(即第3个计算分组)行中的grain分别划分为子分组n13至n18;将胶片颗粒的第13到第16行(即第4个计算分组)中的grain分别划分为子分组n19至n24;类似的,直至将对应的76
×
70亮度块的所有grain全部划分完成。作为一种示例,胶片颗粒对应的76
×
70亮度块中的第65行至第70行中的grain可以按照上述前四行的划分方式进行划分。
63.在一些实施例中,可以将76
×
70亮度块中的所有grain划分为17个计算分组,包括14个相邻的4行所在的计算分组以及最后6行所在的计算分组。类似的,参照图6所示的前四行所在的第1个计算分组中的各个子分组,第65行至第70行所在的第17个计算分组中的第1个分组为第65行的前13个grain、第66行的前10个grain、第67行的前7个grain以及第68行的前4个grain,第69行的前4个grain,第70行的前4个grain组成一个子分组;第65行的前13个grain、第66行的前10个grain、第67行的前7个grain以及第68行的前4个grain,第69行的前4个grain,第70行的前4个grain组成。以此类推,可得到第17个计算分组中的其他子分组,对此不再赘述。
64.色度块划分
65.在一些实施例中,按照预设划分规则将胶片颗粒中的grain划分为色度块相关的多个子分组,指的是将38
×
35色度块中的色度grain先划分为多个计算分组,在将每个计算分组划分为多个子分组。
66.参照图7所示,为一种胶片颗粒块中的grain的子分组的示意图。其中,以胶片颗粒中的grain对应的38
×
35色度块而言,对胶片颗粒中的前两个4行(即前8行)所在的两个计算分组中的子分组的grain划分的子分组为例,对上述预设规则对grain划分进行说明。
67.例如,对胶片颗粒中的前四行grain而言,图7划分的子分组n1和n2与图6示出的n1和n2相同,不同之处在于图7划分的子分组n3’与图6划分的n3不同。具体地,将前四行中的第一行的第27到第38个grain、第二行的第24到第38个grain、第三行的后续的21个到第38个grain以及第四行的后续的18个到第38个grain划分为一个子分组(记为n3’)。类似的,与色度块对应grain中接下来的几个4行的grain的划分中,与色度块相关的前两个子分组和与亮度块相关的前两个子分组相同,而最后一个子分组不同。即。即对于色度块的grain而言,每个四行的亮度块对应的grain划分为3个子分组。
68.可以理解的是,参照图3a或图3b所示当前grain之前的24个颗粒,在每个4行的每个子分组中,第j行第k列的颗粒的颜色参数是基于第j-j1行第k-k2列的24个颗粒的颜色参数的计算结果进行计算的;j1依次取值为1,2,3;k2依次取值为1,2,3,0,-1,-2,-3;j和k均为正整数。
69.步骤s502:fg合成单元04中的多个pe按照预设顺序并行地对亮度块对应的多个子分组中的grain进行计算,得到每个grain的亮度分量。
70.在一些实施例中,预设顺序用于指示一个或多个计算分组的不同子分组中的grain的计算顺序,包括哪些子分组可以同时在一个计算周期内执行grain的计算。
71.参照图8所示,胶片颗粒块中n3’和n7中的grain的计算可以同时执行,因为n1和n2计算完之后,n3’和n7中每个颗粒计算相关的24个相邻的grain(如图类似3a示出的24个grain)的亮度分分量已经全部计算完成,从而n3与n7中的grain的计算没有依赖性。
72.在一些实施例中,上述预设顺序用于指示:对于与亮度块对应的grain的计算而言,预设顺序用于指示第s个4行(即第s个计算分组)的grain中的第r+2个子分组中的grain的计算,可以与第s+1个4行(即第s+1个计算分组)的grain中的第r个子分组中的grain的计算使用不同pe并行执行,其中,s和r均大于或等于1。而第s+1个计算分组的第r个子分组中各颗粒的颜色参数的计算与第s个计算分组的第r+2个子分组中各颗粒的颜色参数的计算结果无关。
73.在一些实施例中,参照9所示,fg合成单元04中可以包括4个pe,即pe0-4。其中,对与亮度块对应的grain的计算而言,预设顺序用于指示各个计算分组中的各个子分组中的计算顺序包括以下步骤:
74.(1)pe0对n1中与亮度块对应的grain进行计算。
75.(2)pe0对n2中与亮度块对应的grain进行计算。
76.(3)pe0对n3中与亮度块对应的grain进行计算,pe1对n7中与亮度块对应的grain进行计算。
77.(4)pe0对n4中与亮度块对应的grain进行计算,pe1对n8中与亮度块对应的grain进行计算。
78.(5)pe0对n5中与亮度块对应的grain进行计算,pe1对n9中与亮度块对应的grain进行计算,pe2对n13中与亮度块对应的grain进行计算。
79.(6)pe0对n6中与亮度块对应的grain进行计算,pe1对n10中与亮度块对应的grain进行计算,pe2对n14中与亮度块对应的grain进行计算。
80.(7)pe1对n10中与亮度块对应的grain进行计算,pe2对n14中与亮度块对应的grain进行计算,pe0对第二个四行(即第2个计算分组)中的第一个子分组与亮度块对应的grain进行计算(图9未示出)。
81.(8)pe1对n11中与亮度块对应的grain进行计算,pe2对n15中与亮度块对应的grain进行计算,pe3对n19中与亮度块对应的grain进行计算。
82.以此类推,当pe1完成n5计算后,若pe3已完成n21的计算,则pe0开始计算第五个4行(即第5个计算分组)中各grain的参数进行计算,具体可以参考pe0对第一个4行数据中各grain的参数的计算过程,在此不做赘述。
83.类似的,对应胶片颗粒的中与亮度块对应的grain的计算而言,预设顺序用于指示执行顺序还包括上述步骤(1)-(8)之后,还包括多个步骤,执行的规则与步骤(1)-(8)类似,这里不再赘述。
84.可以理解的是,对76
×
70亮度块而言,当pe0开始计算第a个四行中的第b个子分组时,pe1开始计算第a+1个四行中的第b-2个子分组;当pe1开始计算第a+1个四行中的第b个子分组时,pe2开始计算第a+2个四行中的第b-2个子分组;当pe2开始计算第a+2个四行中的第b个子分组时,pe3开始计算第a+3个四行中的第b-2个子分组;另外,当pe3开始计算第a+3个四行中的第b个子分组时,pe0又开始计算第a+4个四行中的第b-2个子分组。以此类推,四个pe循环按照预设顺序对不同子分组进行并行处理。其中,a大于或等于1,而b大于或等于3。
85.作为一种示例,本技术实施例中,对应胶片颗粒的中与亮度块对应的一个grain的计算而言,该grain的亮度值可以根据图3a所示位置的前面相邻的24个grain的亮度分量(如y分量)的加权平均值计算得到。
86.在一些实施例中,本技术涉及的与亮度块对应的胶片颗粒块的生成过程主要包括:fg合成单元04基于预先生成的高斯初始化的亮度grain对应的[82x73]矩阵,生成对应亮度块的[76x70]矩阵,即76x70的亮度块。具体地,对于[76x70]矩阵的区域内的某个grain,将其临近的24个亮度grain的高斯初始化值累加,将累加值的最终值加上(round_offset》》ar_coeff_shit)(即一个偏移量),得到该亮度grain的亮度色度值(即色度分量,
如y分量)。进而,对于[76x70]矩阵的区域内的各个grain,以raster scan(光栅扫描)方式逐个计算,最终得到用于胶片颗粒合成的亮度块的[76x70]矩阵,即76x70的亮度块。
[0087]
步骤s503:fg合成单元04中的多个pe按照预设顺序并行地对色度块对应的多个子分组中对应的grain进行计算,得到每个grain的色度分量,如cb分量和cr分量。
[0088]
可以理解的是,多个pe可以先按照按照预设顺序并行地对色度块对应的多个子分组中对应的grain进行计算得到每个grain的一种色度分量;再按照按照预设顺序并行地对色度块对应的多个子分组中对应的grain进行计算得到每个grain的另一种色度分量。
[0089]
参照图8所示,胶片颗粒中对应于与色度块的grain中n3(或n3’)和n7中的计算可以同时执行,n3与n7中的grain的计算没有依赖性。
[0090]
在一些实施例中,上述预设顺序用于指示:对应胶片颗粒的中与色度块对应的grain的计算而言,预设顺序用于指示第s个4行的grain中的第r+2个子分组中的grain的计算,可以与第s+1个4行的grain中的第r个子分组中的grain的计算使用不同pe并行执行。另外,图8示出的流程中,每个子分组中的grain是按照光栅扫描(即从左到右从上到下的顺序)逐个进行计算的,即对应于亮度块或者色度块而言均是从左到右从上到下的顺序对每个grain逐个进行计算的。
[0091]
作为一种示例,本技术实施例中,胶片颗粒块中与色度块对应的一个grain的计算而言,该grain的亮度值可以为图3b所示位置的前面相邻的24个grain的亮度值的加权平均值,以及与亮度块对应的胶片颗粒块中的关联位置的4个色度grain的值的平均值计算得到。在一些实施例中,与色度块对应的胶片颗粒块中的第i行第j列的色度grain对应于与亮度块对应的胶片颗粒块中的第2i-1行第2j-1列,第2i-1行第2j列,第2i行第2j-1列以及第2i行第2j列的亮度grain,i依次取值为1,2

m,j依次取值为1,2

n。例如,38
×
35色度块中的第3行第3列的色度grain对应于76
×
70亮度块中的第5行第5列的色度grain、第5行第6列的色度grain、第6行第5列的色度grain和第6行第6列的色度grain的这4个亮度grain。
[0092]
在一些实施例中,38
×
35色度块(即色度块对应的胶片颗粒块)的生成流程的执行主体仍可以为fg合成单元04。
[0093]
可以理解,对计算cb分量的38
×
35色度块的生成,与对计算cr分量的38
×
35色度块的生成的过程类似。
[0094]
在一些实施例中,本技术涉及的与色度块对应的胶片颗粒块的生成过程主要包括:fg合成单元04基于预先生成的高斯初始化的色度块对应的[44x38]矩阵,生成对应色度块的[38x35]矩阵,即38x35的色度块。具体地,对于[38x35]矩阵的区域内的某个grain,将其临近的24个高斯初始化亮度grain的值累加,将累加值再加上当前点对应的4个亮度grain的亮度分量的平均值,即得到ar_coeffs_cb(即cb分量)或ar_coeff_cr(即cr分量)。将该平均值的最终值加上(round_offset》》ar_coeff_shit)(即一个偏移量),得到该色度grain的色度值(即色度分量,如cb分量或cr分量)。进而,对于[38x35]区域内的各个grain点,以raster scan(光栅扫描)方式逐个计算,最终得到用于胶片颗粒合成的亮度块的[38x35]矩阵。
[0095]
可以理解的是,在计算得到76
×
70亮度块中每个亮度块的亮度分量和38
×
35色度块的色度分量之后,将可以基于76
×
70亮度块和38
×
35色度块对解码后的视频图像合成胶片颗粒。例如,针对解码后的一个视频图像中的一个像素点,可以将该像素点的亮度分量替
换为76
×
70亮度块中一个亮度grain的亮度分量,并将该像素点的色度分量替换为38
×
35色度块中一个色度grain的色度分量(如cb分量或cr分量)。
[0096]
另外,需要说明的是,在本技术的其他实施例中,fg合成单元04中还可以通过2个或更多个的pe来并行处理划分为子分组的grain的计算,参照上文中对4个的pe并行处理的方案,此处不再赘述。
[0097]
综上所述,参照图9所示,在4个pe的并行方案中,对于76
×
70亮度块的前16行中包括12个子分组计算周期,下述12个子分组周期分别包括子分组为:(1)n1;(2)n2;(3)n3和n7;(4)n3和n7;(5)n4和n8;(6)n5,n9和n13;(7)n6,n10和n14;(8)n11,n15和n19;(9)n12,n16和n20;(10)n17和n21;(11)n23;(12)n24。而每个子分组周期中大约包括13
×
4=52个grain,从而,这些子分组总体的计算周期为12
×
52=624。而现有技术中,对于76
×
70亮度块的前16行的计算周期为16
×
76=1216。
[0098]
另外,类似的,在4个pe的并行方案中,对于38
×
35亮度块的前16行中包括7个子分组计算周期,那么7个子分组n24。而每个子分组周期中大约包括13
×
4=52个grain,从而,这些子分组总体的计算周期为7
×
52=364。而现有技术中,对于38
×
35亮度块的前16行的计算周期为16
×
38
×
2=1216。
[0099]
因此,总体而言,本技术4个pe的并行方案中处理前16行的grain划分的计算周期为624+364=988,而现有技术花费的计算周期为1216+1216=2432。而988/2432约等于40%。从而,相比于现有技术本技术提供的4个pe的并行方案对胶片颗粒的处理周期减少约60%。
[0100]
另外,在其他一些实施例中,如果fg合成单元04中包括两个pe(即pe0和pe1),那么处理的流程与上述4个pe的处理流程类似。作为一种示例,该场景下对于76
×
70亮度块而言,当pe0开始计算第a个四行中的第b个子分组时,pe1开始计算第a+1个四行中的第b-2个子分组。以此类推,四个pe循环按照预设顺序对不同子分组进行并行处理。其中,a大于或等于1,而b大于或等于3。另外,参照对4个pe并行方案的计算方法,2个pe并行的方法相比于现有技术可以减少约50%的计算周期。
[0101]
需要说明的是,本技术实施例提供的参数处理方法,通过将胶片颗粒块中的grain划分为不同子分组,使得间隔几个子分组中的grain的计算之没有依赖性。从而,可以使用多个pe并行处理不同子分组中的grain的计算,因此可以较大减少胶片颗粒的所有grain的计算时长。例如,同时使用两个pe并行处理的方案相比于传统的单线处理方案处理周期减少50%,而使用4个pe并行处理的方案相比于传统的单线处理方案处理周期减少约60%。
[0102]
另外,需要说明的是,本技术提供的参数处理方法中,划分计算分组以及子分组的对象不限于上文中示出的76
×
70亮度块和38
×
35色度块,还可以为其他类似的矩阵。这些矩阵中的每个矩阵中的一个元素的计算依赖于以该元素为中心向外扩散的多个元素的计算结果。
[0103]
并且,本技术提供的参数处理方法,对矩阵中划分计算分组以及子分组的结果不限于上述结果,取决于矩阵中一个元素与该元素的计算所依赖的多个元素之间的位置关系。可以理解的是,矩阵中计算分组中的子分组,尤其是排序靠前的子分组的大小和规格,可以基于元素计算之间的依赖关系确定,例如使得一个分组中的最后一行最后一列的元素的计算所依赖的元素均包含在该子分组中。
[0104]
图10所示为根据本技术的一个实施例的电子设备100的框图。图10示意性地示出了根据多个实施例的示例电子设备100。在一个实施例中,电子设备100可以包括一个或多个处理器1604,与处理器1604中的至少一个连接的系统控制逻辑1608,与系统控制逻辑1608连接的系统内存1612,与系统控制逻辑1608连接的非易失性存储器(nvm)1616,以及与系统控制逻辑1608连接的网络接口1620。
[0105]
在一些实施例中,处理器1604可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1604可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备100采用enb(evolved node b,增强型基站)或ran(radio access network,无线接入网)控制器的实施例中,处理器1604可以被配置为执行各种符合的实施例,例如,如图5所示的实施例。
[0106]
在一些实施例中,系统控制逻辑1608可以包括任意合适的接口控制器,以向处理器1604中的至少一个和/或与系统控制逻辑1608通信的任意合适的设备或组件提供任意合适的接口。
[0107]
在一些实施例中,系统控制逻辑1608可以包括一个或多个存储器控制器,以提供连接到系统内存1612的接口。系统内存1612可以用于加载以及存储数据和/或指令。在一些实施例中系统1600的内存1612可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。
[0108]
nvm 1616可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm 1616可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器),cd(compact disc,光盘)驱动器,dvd(digital versatile disc,数字通用光盘)驱动器中的至少一个。
[0109]
nvm 1616可以包括安装电子设备100的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1620通过网络访问nvm 1616。
[0110]
特别地,系统内存1612和nvm 1616可以分别包括:指令1624的暂时副本和永久副本。指令1624可以包括:由处理器1604中的至少一个执行时导致电子设备100实施如图5所示的方法的指令。在一些实施例中,指令1624、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1608,网络接口1620和/或处理器1604中。
[0111]
网络接口1620可以包括收发器,用于为电子设备100提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1620可以集成于电子设备100的其他组件。例如,网络接口1620可以集成于处理器1604的,系统内存1612,nvm 1616,和具有指令的固件设备(未示出)中的至少一种,当处理器1604中的至少一个执行所述指令时,电子设备100实现如图5所示的方法。
[0112]
网络接口1620可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1620可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
[0113]
在一个实施例中,处理器1604中的至少一个可以与用于系统控制逻辑1608的一个或多个控制器的逻辑封装在一起,以形成系统封装(sip)。在一个实施例中,处理器1604中的至少一个可以与用于系统控制逻辑1608的一个或多个控制器的逻辑集成在同一管芯上,
以形成片上系统(soc)。
[0114]
电子设备100可以进一步包括:输入/输出(i/o)设备1632。
[0115]
根据本技术的实施例,图11示出了一种soc(system on chip,片上系统)1700的框图。soc 1700设置在电子设备100中。在图11中,相似的部件具有同样的附图标记。在图8中,soc 1700包括:互连单元1750,其被耦合至应用处理器1710;系统代理单元1770;总线控制器单元1780;集成存储器控制器单元1740;视频处理器1720,视频处理器1720还包含编解码模块20;静态随机存取存储器(sram)单元1730;直接存储器存取(dma)单元1760。在一个实施例中,soc 1700还可以包括诸如例如网络或通信处理器、压缩引擎、gpu、高吞吐量mic处理器、或嵌入式处理器等等。
[0116]
本技术公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本技术的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
[0117]
可将程序代码应用于输入指令,以执行本技术描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0118]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本技术中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0119]
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
[0120]
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序,而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
[0121]
需要说明的是,本技术各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本技术所提出的技
术问题的关键。此外,为了突出本技术的创新部分,本技术上述各设备实施例并没有将与解决本技术所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
[0122]
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0123]
虽然通过参照本技术的某些优选实施例,已经对本技术进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1