发明内容
本申请提供一种图像数据接口转换方法及装置,以解决图像数据接口转换效率低的问题。
第一方面,本申请提供一种图像数据接口转换方法,包括:
从目标图像存储器中读取待处理图像数据,所述待处理图像数据包括亮度分量数据和色度分量数据;
将所述亮度分量数据缓存至第一缓存单元,以及,将所述色度分量数据缓存至第二缓存单元;
读取所述第一缓存单元中的亮度分量数据和所述第二缓存单元的色度分量数据,以及将所述亮度分量数据和所述色度分量数据转换为目标图像数据格式,以得到目标图像数据;
将所述目标图像数据发送至目标接口。
在可选的实施方式中,所述方法还包括:
建立亮度通道和色度通道;
将所述亮度分量数据通过亮度通道路由至亮度读通道模块,以及,将所述色度分量数据通过色度通道路由至色度读通道模块;
将所述亮度读通道模块中的亮度分量数据缓存至所述第一缓存单元,以及,将所述色度读通道模块中的色度分量数据缓存至所述第二缓存单元。
在可选的实施方式中,所述方法还包括:
响应于用户输入的色度通道关闭指令,关闭所述色度通道,以阻断所述色度分量数据的传输;
读取所述第一缓存单元中的亮度分量数据,以及将所述亮度分量数据转换为目标图像数据格式。
在可选的实施方式中,所述方法还包括:
获取第一读地址,按照所述第一读地址从所述目标图像存储器中读取亮度分量数据,所述第一读地址用于表征所述目标图像存储器中亮度分量数据的存储位置;
获取第二读地址,按照所述第二读地址从目标图像存储器中读取色度分量数据,所述第二读地址用于表征所述目标图像存储器中色度分量数据的存储位置。
在可选的实施方式中,所述方法还包括:
将所述亮度分量数据缓存至所述第一缓存单元的单次缓存行,以及在所述第一缓存单元的单次缓存行写满后,切换至备用第一缓存单元,将所述亮度分量数据缓存至所述备用第一缓存单元的单次缓存行,所述单次缓存行为单次存储数据对应的缓存行;
在所述备用第一缓存单元的单次缓存行写满后,切换至所述第一缓存单元,将所述亮度分量数据缓存至所述第一缓存单元的单次缓存行,直至将所述亮度分量数据缓存完成。
在可选的实施方式中,所述方法还包括:
将所述亮度分量数据转换为第一接口数据格式,以得到第一图像数据;
将所述色度分量数据转换为第二接口数据格式,以得到第二图像数据;
将所述第一图像数据发送至第一目标接口,以及将所述第二图像数据发送至第二目标接口。
在可选的实施方式中,所述方法还包括:
按照预设周期数读取所述第二缓存单元的色度分量数据;
将预设周期数读取的所述色度分量数据和单个周期读取的所述亮度分量数据转换为目标图像数据格式。
在可选的实施方式中,所述方法还包括:
按照行顺序读取所述亮度分量数据对应的预设数据单位的亮度解压缩数据,以及按照行顺序读取所述色度分量数据对应的预设数据单位的色度解压缩数据;
将所述预设数据单位的亮度解压缩数据交错缓存至两个所述第一缓存单元中,以及将所述预设数据单位的色度解压缩数据交错缓存至两个所述第二缓存单元中。
第二方面,本申请提供一种图像数据接口转换装置,包括读仲裁模块、第一数据存取模块、第二数据存取模块和接口转换模块,其中:
读仲裁模块,用于从目标图像存储器中读取待处理图像数据,所述待处理图像数据包括亮度分量数据和色度分量数据;
第一数据存取模块,用于将所述亮度分量数据缓存至第一缓存单元,以及读取所述第一缓存单元中的亮度分量数据,并发送至接口转换模块;
第二数据存取模块,用于将所述色度分量数据缓存至第二缓存单元,以及读取所述第二缓存单元的色度分量数据,并发送至接口转换模块;
接口转换模块,用于将所述亮度分量数据和所述色度分量数据转换为目标图像数据格式,以得到目标图像数据;以及将所述目标图像数据发送至目标接口。
在可选的实施方式中,还包括亮度读通道模块和色度读通道模块,其中:
读仲裁模块,用于将所述亮度分量数据通过亮度通道路由至所述亮度读通道模块;以及将所述色度分量数据通过色度通道路由至所述色度读通道模块;
第一数据存取模块,用于将所述亮度读通道模块中的亮度分量数据缓存至所述第一缓存单元;
第二数据存取模块,用于将所述色度读通道模块中的色度分量数据缓存至所述第二缓存单元。
由以上技术方案可知,本申请提供一种图像数据接口转换方法及装置,所述方法可以从目标图像存储器中读取待处理图像数据,其中,待处理图像数据包括亮度分量数据和色度分量数据。将亮度分量数据缓存至第一缓存单元,以及,将色度分量数据缓存至第二缓存单元。再读取第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据,以及将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据,最后将目标图像数据发送至目标接口。所述方法可以实现多种数据类型和格式的转换,减少分立模式对资源和功耗消耗,并且可以同时对亮度分量数据和色度分量数据进行处理,减少数据延迟,提高图像数据接口转换效率。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的***和方法的示例。
为了节省存储空间及带宽,图像处理模块(Image Signal Processor,ISP)或者多媒体模块会将处理好的原始图像数据转换为yuv420格式,并将yuv420图像数据分成y平面数据和uv平面数据,分别存储在图像存储器中的不同区域。在图像数据传输时,可以通过总线协议(Advanced eXtensible Interface,axi)接口读取图像存储器中的y平面数据和uv平面数据,组合成yuv420图像数据格式,并行输出至接口。
然而,并行总线传输存在串扰、共模干扰能力低等问题,导致并行带宽降低,从而限制图像输出带宽。并且由于没有将图像数据压缩后存储在图像存储器里,导致图像存储器的存储空间变大(功耗增加),或者***带宽不足,同时也不涉及压缩数据转换处理及解压缩数据转换处理,进而降低图像数据接口转换效率。
为了提高图像数据接口转换效率,本申请的部分实施例中提供一种图像数据接口转换装置。可以实现多种数据类型和格式的图像数据转换,减少分立模式对资源和功耗消耗,并且可以同时对亮度分量数据和色度分量数据进行处理,减少数据延迟,提高图像数据接口转换效率。如图1所示,图1为本申请实施例提供的图像数据接口转换装置的结构示意图,图像数据接口转换装置包括读仲裁模块100、第一数据存取模块200、第二数据存取模块300和接口转换模块400。
其中,读仲裁模块100,用于从目标图像存储器中读取待处理图像数据。其中,待处理图像数据包括亮度分量数据和色度分量数据。可以理解是,本申请实施例中亮度分量数据为图像存储器中y平面数据,色度分量数据为图像存储器中uv平面数据。
第一数据存取模块200,用于将亮度分量数据缓存至第一缓存单元,以及读取第一缓存单元中的亮度分量数据,并发送至接口转换模块400。
第二数据存取模块300,用于将色度分量数据缓存至第二缓存单元,以及读取第二缓存单元的色度分量数据,并发送至接口转换模块400。
接口转换模块400,用于接收第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据,将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据;以及将目标图像数据发送至目标接口。
在一些实施例中,还可以建立亮度通道和色度通道,分别用于传输亮度分量数据和色度分量数据,图像数据接口转换装置还包括亮度读通道模块500和色度读通道模块600,其中,读仲裁模块100还用于将亮度分量数据通过亮度通道路由至亮度读通道模块500;以及将色度分量数据通过色度通道路由至色度读通道模块600。第一数据存取模块200还用于将亮度读通道模块500中的亮度分量数据缓存至第一缓存单元。第二数据存取模块300还用于将色度读通道模块600中的色度分量数据缓存至第二缓存单元。
本实施例中,针对图像存储器存储的yuv420两平面的有损压缩数据、单平面数据(只有y平面数据)、yuv420两平面的原图像数据以及将存储的yuv420两平面的压缩数据解压缩后的两平面数据,可以实现四种图像数据格式至接口的转换。即本申请设置四种模式,包括:模式一:yuv420两平面的压缩数据转换接口模式;模式二:yuv420两平面的原图像数据转换接口模式;模式三:yuv420两平面的解压缩数据转换接口模式;模式四:单平面数据转换接口模式。可以理解的是,模式四包含于模式一,在切换模式时,只需关闭亮度读通道模块500或色度读通道模块600即可。
下面结合图像数据的多种数据类型和格式对本申请进行详细说明。
如图2所示,为本申请实施例提供的图像数据接口转换的***架构示意图,图像数据接口转换装置包含读仲裁模块100,亮度读通道模块500,色度读通道模块600,第一数据存取模块200,第一数据存取模块300,接口转换模块400。其中,第一数据存取模块200包括第一写控制器和第一读控制器,用于控制第一缓存单元的读写,第二数据存取模块300包括第二写控制器和第二读控制器,用于控制第二缓存单元的读写。接口转换模块400包含压缩处理模块和图像数据处理模块。
目标图像存储器、解压缩模块和目标接口为图像数据接口转换装置的前后级外部模块。解压缩模块可以配置旁路(bypass)功能,以旁路解压缩模块。
需要说明的是,目标图像存储器和目标接口可以根据不同的应用场景设置,例如,目标图像存储器可以为双倍速率同步动态随机存储器(Double Data Rate,DDR),目标接口可以为摄像机串行接口(Camera Serial Interface,CSI),即由移动行业处理器接口(Mobile Industry Processor Interface,MIPI)联盟下Camera工作组指定的接口标准。另外,本申请对数据存取模块不做限制,可以为随机存取存储器(Random Access Memory,RAM)。
对于模式一:yuv420两平面的压缩数据转换接口模式。可以打开前级解压缩模块的旁路(bypass)功能,旁路解压缩模块。对于目标图像存储器存储的亮度分量数据(y平面压缩数据),读仲裁模块100获取第一数据存取模块200通过亮度读通道模块500发送过来的第一读地址,第一读地址用于表征目标图像存储器中亮度分量数据的存储位置,按照第一读地址分时地从目标图像存储器中读取亮度分量数据,再将亮度分量数据通过亮度通道路由至亮度读通道模块500。同理,对于目标图像存储器存储的色度分量数据(uv平面压缩数据),读仲裁模块100获取第二数据存取模块300通过亮度读通道模块500发送过来的第二读地址,第二读地址用于表征目标图像存储器中色度分量数据的存储位置,按照第二读地址从目标图像存储器中读取色度分量数据,再将色度分量数据通过色度通道路由至色度读通道模块600。
第一数据存取模块200将亮度读通道模块500中的亮度分量数据通过第一写控制器缓存至第一缓存单元中,以及根据接口转换模块中的压缩处理模块的数据需求,通过第一读控制器按行读取第一缓存单元中的亮度分量数据,并将亮度分量数据发送至接口转换模块400中的压缩数据处理模块。
其中,在缓存亮度分量数据时,如图3所示,可以将亮度分量数据缓存至第一缓存单元的单次缓存行,以及在第一缓存单元的单次缓存行写满后,切换至备用第一缓存单元,将亮度分量数据缓存至备用第一缓存单元的单次缓存行。在备用第一缓存单元的单次缓存行写满后,再切换至第一缓存单元,将亮度分量数据缓存至第一缓存单元的单次缓存行,直至将亮度分量数据缓存完成。其中,单次缓存行为单次存储数据对应的缓存行,也就是说,在缓存单元中的单次缓存行写满后,切换至下一缓存单元,以交替缓存。其中,单次缓存行可以为单行缓存行,也可以为多行缓存行。例如,如图2所示,设置两个第一缓存单元,分别为第一缓存单元1和第一缓存单元2,第一数据存取模块200通过第一写控制器将亮度分量数据先缓存至第一缓存单元1的一个缓存行中,在第一缓存单元1的一个缓存行写满后,切到第一缓存单元2,将亮度分量数据缓存至第一缓存单元2的一个缓存行中,在第一缓存单元2的一个缓存行写满后,再切换至第一缓存单元1,将亮度分量数据缓存至第一缓存单元1的一个缓存行中,如此往复,直至亮度分量数据缓存完成。
同理,第二数据存取模块300将色度读通道模块600中的色度分量数据通过第二写控制器缓存至第二缓存单元中,以及根据接口转换模块中的压缩处理模块的数据需求,通过第二读控制器按行读取第二缓存单元中的色度分量数据,并将亮度分量数据发送至接口转换模块400中的压缩数据处理模块。其中,第二缓存单元也可以为多个,例如,如图2所示,设置两个第二缓存单元,分别为第二缓存单元3和第二缓存单元4,第二数据存取模块300通过第二写控制器将色度分量数据先缓存至第二缓存单元3的一个缓存行中,在第二缓存单元3的一个缓存行写满后,切到第二缓存单元4,将色度分量数据缓存至第二缓存单元4的一个缓存行中,在第二缓存单元4的一个缓存行写满后,再切换至第二缓存单元3,将色度分量数据缓存至第二缓存单元3的一个缓存行中,如此往复,直至色度分量数据缓存完成。
接口转换模块400中的压缩数据处理模块在接收到第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据后,将亮度分量数据转换为第一接口数据格式,以得到第一图像数据,将色度分量数据转换为第二接口数据格式,以得到第二图像数据。再将第一图像数据发送至第一目标接口,以及将第二图像数据发送至第二目标接口。其中,第一接口数据格式和第二接口数据格式为用户自定义的数据格式。
本实施例中,目标接口包括第一目标接口和第二目标接口,压缩数据处理模块可以分别将Y平面压缩数据和UV平面压缩数据分别转换为第一接口数据格式和第二接口数据格式。再通过接口转换模块中的行场状态机,将转换数据格式后的Y平面压缩数据和UV平面压缩数据按照行场时序分别发送到第一目标接口和第二目标接口,进而使得目标接口可以将用户自定义数据转换为物理协议接口(phy protocol interface,ppi)数据,再将ppi数据依次进行串化、编码、差分处理后输出。
对于模式二:yuv420两平面的原图像数据转换接口模式。可以打开前级解压缩模块的旁路(bypass)功能,旁路解压缩模块。对于目标图像存储器存储的亮度分量数据(y平面原始数据),读仲裁模块100获取第一数据存取模块200通过亮度读通道模块500发送过来的第一读地址,按照第一读地址分时地从目标图像存储器中读取亮度分量数据,再将亮度分量数据通过亮度通道路由至亮度读通道模块500。同理,对于目标图像存储器存储的色度分量数据(uv平面原始数据),读仲裁模块100获取第二数据存取模块300通过亮度读通道模块500发送过来的第二读地址,按照第二读地址从目标图像存储器中读取色度分量数据,再将色度分量数据通过色度通道路由至色度读通道模块600。
第一数据存取模块200将亮度读通道模块500中的亮度分量数据通过第一写控制器缓存至第一缓存单元中,以及根据接口转换模块中的图像数据处理模块的数据需求,通过第一读控制器按行读取第一缓存单元中的亮度分量数据,并将亮度分量数据发送至接口转换模块400中的图像数据处理模块。同理,第二数据存取模块300将色度读通道模块600中的色度分量数据通过第二写控制器缓存至第二缓存单元中,以及根据接口转换模块中的图像数据处理模块的数据需求,通过第二读控制器按行读取第二缓存单元中的色度分量数据,并将亮度分量数据发送至接口转换模块400中的图像数据处理模块。
接口转换模块400中的图像数据处理模块在接收到第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据后,将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据。再将目标图像数据发送至目标接口。
其中,目标图像数据格式可以为yuv420数据格式,也可以为yuv422数据格式。相应的,目标图像数据可以为yuv420图像数据,也可以为yuv422图像数据。
对于yuv422数据格式,在第二数据存取模块300读取第二缓存单元中的色度分量数据时,可以按照预设周期数读取第二缓存单元的色度分量数据,并发送至图像数据处理模块,图像数据处理模块将预设周期数读取的色度分量数据和单个周期读取的亮度分量数据转换为目标图像数据格式,以生成目标图像数据发送至目标接口,其中,周期数用于表征读取数据的遍数。例如,如图4所示,将存储在第二缓存单元的色度分量数据,可以通过第二读控制器按行读取两遍,发送至图像数据处理模块,将存储在第一缓存单元的亮度分量数据,可以通过第一读控制器按行读取一遍,发送至图像数据处理模块,图像数据处理模块可以按顺序同时接收到第一遍读取的第一行色度分量数据和第一行亮度分量数据;第二遍读取的第一行色度分量数据和第二行亮度分量数据;……;第一遍读取的第n行色度分量数据和第2n-1行亮度分量数据;第二遍读取的第n行色度分量数据和第2n行亮度分量数据,同时将上述数据转换为yuv422数据格式,以生成yuv422图像数据,从而实现yuv420数据格式转换为yuv422数据格式。
本实施例中,图像数据处理模块可以将Y平面原始数据和UV平面原始数据转换为yuv420数据格式或yuv422数据格式,再通过接口转换模块中的行场状态机,将yuv420图像数据或yuv422图像数据按照行场时序发送到目标接口,进而使得目标接口可以将yuv420图像数据或yuv422图像数据转换为物理协议接口(phy protocol interface,ppi)数据,再将ppi数据依次进行串化、编码、差分处理后输出。
对于模式三:yuv420两平面的解压缩数据转换接口模式。可以关闭前级解压缩模块的旁路(bypass)功能。读仲裁模块100分时地从目标图像存储器中读取的图像数据可以通过解压缩模块进行解压处理,解压缩模块可以将目标图像存储器存储的每行y平面压缩数据解压成两行y平面原始数据,通过z字型发送至读仲裁模块100,即先发一笔第一行数据,再发一笔第二行数据,如此往复,直至发完。同理,解压缩模块可以将目标图像存储器存储的每行uv平面压缩数据解压成两行uv平面原始数据,通过z字型发送至读仲裁模块100,即先发一笔第一行数据,再发一笔第二行数据,如此往复,直至发完。也就是说,读仲裁模块100可以按照行顺序读取亮度分量数据对应的预设数据单位的亮度解压缩数据(y平面解压缩数据),以及按照行顺序读取色度分量数据对应的预设数据单位的色度解压缩数据(uv平面解压缩数据),再分别路由至亮度读通道模块500和色度读通道模块600。
其中,预设数据单位即单次读取解压缩数据的数据大小,例如,解压缩模块将每行y平面压缩数据解压成两行y平面原始数据,即两行亮度解压缩数据,每次可以读取预设数据单位的亮度解压缩数据,路由至亮度读通道模块500。
第一数据存取模块200将亮度读通道模块500中预设数据单位的亮度解压缩数据交错缓存至两个第一缓存单元中,即交错缓存至图2所示的第一缓存单元1和第一缓存单元2中。以及根据接口转换模块中的图像数据处理模块的数据需求,通过第一读控制器按行读取第一缓存单元中的亮度分量数据,并将亮度分量数据发送至接口转换模块400中的图像数据处理模块。同理,第二数据存取模块300将色度读通道模块600中预设数据单位的色度解压缩数据交错缓存至两个第二缓存单元中,即交错缓存至图2所示的第二缓存单元3和第二缓存单元4中。以及根据接口转换模块中的图像数据处理模块的数据需求,通过第二读控制器按行读取第二缓存单元中的色度分量数据,并将亮度分量数据发送至接口转换模块400中的图像数据处理模块。
例如,对于解压缩数据的缓存,压缩数据一笔是10个数据值,经过解压缩后变成20个数据值,其中前10个数据值(第一笔)为第一行数据值,后10个数据值(第二笔)为第二行数据值,先将前10个数据值缓存到第一缓存单元1,后10个数据值缓存到第一缓存单元2,即第一数据存取模块200可以将每笔数据交错缓存至第一缓存单元1和第一缓存单元2,也就是说,对于第一笔数据缓存至第一缓存单元1,第二笔数据缓存至第一缓存单元2,如此往复,直至亮度分量数据缓存完成。
对于yuv420数据格式转换yuv422数据格式,可以将存储在第二缓存单元的色度分量数据,通过第二读控制器按行读取两遍,发送至图像数据处理模块。
接口转换模块400中的图像数据处理模块在接收到第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据后,将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据。再将目标图像数据发送至目标接口。其中,目标图像数据格式可以为yuv420数据格式,也可以为yuv422数据格式。相应的,目标图像数据可以为yuv420图像数据,也可以为yuv422图像数据。
对于模式四:单平面数据转换接口模式。以仅转换亮度分量数据为例,可以响应于用户输入的色度通道关闭指令,关闭色度通道,以阻断色度分量数据的传输。读仲裁模块100可以从目标图像存储器中读取图像数据,由于色度通道关闭,使得色度分量数据不能通过色度通道传输至色度读通道模块600,因此,仅能通过第一数据存取模块200将亮度分量数据缓存至第一缓存单元,再读取第一缓存单元中的亮度分量数据,发送至接口转换模块400,通过接口转换模块400将亮度分量数据转换为目标图像数据格式。
基于上述图像数据接口转换装置。本申请的部分实施例中还提供一种图像数据接口转换方法,所述图像数据接口转换方法包括如下步骤:
从目标图像存储器中读取待处理图像数据。其中,待处理图像数据包括亮度分量数据和色度分量数据。
将亮度分量数据缓存至第一缓存单元,以及,将色度分量数据缓存至第二缓存单元。
读取第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据,以及将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据。
将目标图像数据发送至目标接口。
由以上技术方案可知,上述实施例提供的图像数据接口转换方法及装置,可以从目标图像存储器中读取待处理图像数据,其中,待处理图像数据包括亮度分量数据和色度分量数据。将亮度分量数据缓存至第一缓存单元,以及,将色度分量数据缓存至第二缓存单元。再读取第一缓存单元中的亮度分量数据和第二缓存单元的色度分量数据,以及将亮度分量数据和色度分量数据转换为目标图像数据格式,以得到目标图像数据,最后将目标图像数据发送至目标接口。所述方法可以实现多种数据类型和格式的转换,减少分立模式对资源和功耗消耗,并且可以同时对亮度分量数据和色度分量数据进行处理,减少数据延迟,提高图像数据接口转换效率。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。