CN110869975A - 图像处理方法和设备,以及视频处理器 - Google Patents
图像处理方法和设备,以及视频处理器 Download PDFInfo
- Publication number
- CN110869975A CN110869975A CN201880039323.8A CN201880039323A CN110869975A CN 110869975 A CN110869975 A CN 110869975A CN 201880039323 A CN201880039323 A CN 201880039323A CN 110869975 A CN110869975 A CN 110869975A
- Authority
- CN
- China
- Prior art keywords
- image data
- color component
- storage area
- storage
- read
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012795 verification Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 21
- 238000000638 solvent extraction Methods 0.000 description 14
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 11
- 101150046378 RAM1 gene Proteins 0.000 description 11
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 11
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 9
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 9
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种图像处理方法和设备,提供了一种灵活的raw图像处理结构,便于图像处理架构的扩展和验证。该方法包括:读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,并且更具体地,涉及一种图像处理方法和设备,以及视频处理器。
背景技术
对于原始(raw)图像而言,一个像素具有一个颜色分量,各个颜色分量的像素是以交织的方式进行排布的,而在后续的应用中,需要将各个颜色分量的像素分别取出,以进行分开处理。在对各个颜色分量的像素进行处理时,需要按照图像块进行处理。
目前,具体的处理流程为将图像数据在缓存单元中进行缓存,再根据后续应用的需求读取相应的图像数据进行解交织,紧接着送给划块单元进行划块处理。
这种方案将划块单元和解交织单元紧耦合在一起,彼此之间相互关联,因此在处理时需要考虑多种可能的情况。例如,如果某算法支持的解交织方案有4种,同时可能的划块大小有6种,则共有4x6=24种情况需要处理。因此,这种结构既不灵活,也不便于扩展和验证。
发明内容
本申请实施例提供了一种图像处理方法、设备以及视频处理器,对应于一种灵活的raw图像处理架构,并便于图像处理架构的扩展和验证。
第一方面,提供了一种图像处理方法,包括:读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
第二方面,提供了一种图像处理设备,包括:第一读取单元,用于读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;解交织单元,用于对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;存储单元,用于将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;第二读取单元,用于从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
第三方面,提供了一种图像处理设备,包括处理电路,所述处理单元用于执行第一方面中的方法。
第四方面,提供了一种视频处理器,包括第二方面或第三方面中所述的图像处理设备。
本申请实施例在解交织与划块之间加入了图像数据的存储,并且在存储时将每个颜色分量对应的图像数据分别存储到所述每个颜色分量对应的存储区域中,可以实现在图像块读取时从各个颜色分量对应的存储区域进行读取,将解交织与图像块的划块进行了解耦,如果需要对解交织的策略进行变化,无需改动划块的方式,只需将解交织的相关参数配置给解交织单元,同样地,如果需要对划块的策略进行变化,无需改动解交织的方式,只需将划块的相关参数配置给划块单元,不仅简化了设计的复杂度,提高了灵活性,而且可以更方便的支持新的解交织模式或新的划块模式,利于系统架构的扩展,在图像处理出现故障时,可以以存储区域为分界点缩小故障排查和调整位置,对处理方式的验证也起到了简化和加速的效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种图像交织排布方式的示意性图。
图2是根据本申请实施例的另一种图像交织排布方式的示意性图。
图3是根据本申请实施例的另一种图像交织排布方式的示意性图。
图4是根据本申请实施例的另一种图像交织排布方式的示意性图。
图5是根据本申请实施例的一种图像处理方法的示意性图。
图6是根据本申请实施例的一种图像数据读取的示意性图。
图7是根据本申请实施例的另一种图像数据读取的示意性图。
图8是根据本申请实施例的一种图像数据存储的示意性图。
图9是根据本申请实施例的另一种图像数据存储的示意性图。
图10是根据本申请实施例的另一种图像处理方法的示意性图。
图11是根据本申请实施例的一种图像数据处理的示意性图。
图12是根据本申请实施例的另一种图像数据处理的示意性图。
图13是根据本申请实施例的另一种图像处理方法的示意性图。
图14是根据本申请实施例的图像处理架构的示意性图。
图15是根据本申请实施例的一种图像处理设备的示意性图。
图16是根据本申请实施例的另一种图像处理设备的示意性图。
图17是根据本申请实施例的一种视频处理器的示意性图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有说明,本申请实施例所使用的所有技术和科学术语与本申请的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。
对于raw图像而言,一个像素可以具有一个颜色分量,一个raw图像可能会存在多个颜色分量(例如,包含四个颜色分量R-Gr-Gb-B),这多个颜色分量可以是以交织排布的方式进行排布的。其中,此处提到的交织排布是指同一raw图像中不同颜色分量的像素是交错排布的。在同一交织排布方式中,奇行出现的颜色分量可以与偶行出现的颜色分量不同,以及奇列出现的颜色分量与偶列出现的颜色分量可以是不同的。对于不同的交织排布方式,相同行出现的颜色分量可以是不同的,或者,相同行出现的颜色分量是相同的,但是颜色分量出现的顺序是不同的。
以下以图1至图4所示的交织排布方式为例进行说明。其中,图1至图4中,每个小方框代表一个像素。
例如,如图1所示的交织排布方式,R和Gr出现在奇行,其中,R属于奇列而Gr属于偶列,B和Gb出现偶行,B属于偶列,而Gb属于奇列。如图2所示的交织排布方式,B和Gb出现在奇行,其中,B属于奇列而Gb属于偶列,R和Gr出现在偶行,R属于偶列,而Gr属于奇列。如图3所示的交织排布方式,B和Gb出现在奇行,其中,Gb属于奇列而B属于偶列,R和Gr出现在偶行,Gr属于偶列,而R属于奇列。如图4所示的交织排布方式,R和Gr出现在奇行,其中,Gr属于奇列而R属于偶列,B和Gb出现在偶行,Gb属于偶列,而B属于奇列。
在对raw图像的应用(例如,压缩处理)中,需要对各个颜色分量的像素分别进行处理,因此需要将各个颜色分量的像素分别取出,这时可以采用专用的逻辑来读取并拆分交织在一起的图像数据,这一过程可以称为解交织。
此外,在图像处理中经常还需要对输入图像进行分割,这是因为大部分图像处理算法都是针对一个图像块而非整幅图像的。可以根据总线的带宽和片上的存储资源读取一定量的图像数据解交织,再从中切割出所需要的图像块大小。其中,可以将切割的过程称之为划块。
以prores raw图像压缩算法为例,可以采用离散余弦变换(Discrete CosineTransform,DCT)来处理图像块,每个颜色分量以8x8的图像块为最小单位参与运算,可以将这个8x8的块称之为1个编码块(code block,cb)。由于4个颜色分量的像素交织在一起,则原始图像一个16x16的图像块中会包含4个颜色分量的各1个cb。这个16x16的原始图像块可以称之为1个微块(micro block,mb)。在prores raw算法处理时,可能会一次需要水平方向上的1mb,2mb,4mb,8mb或16mb。也就是说,划块的目的在于在解交织的图像数据中切割出所需要大小的图像块来。
在通常的处理流程中,可以在读取交织的图像数据之后,对图像数据进行解交织,以及对解交织的图像数据进行划块处理。如果解交织单元和划块单元紧耦合在一起,虽然对解交织单元来说,实现难度较小,但解交织单元和划块单元彼此之间相互关联,因此需要考虑多种可能的情况。即在解交织时必须同时考虑到该如何划块,不同的划块大小会影响解交织的数据量。例如,如果某算法支持的解交织方案有4种,同时可能的划块大小有6种,则解交织单元需要考虑4x6=24种情况。这种结构既不灵活,也不便于扩展和验证。
为此,本申请实施例提供了以下的方案,可以解决上述问题。
图5是根据本申请实施例的图像处理方法100的示意性流程图。该方法100可以包括以下内容中的至少部分内容。该方法100可以由处理设备实现,该处理设备可以是编码器的一部分,也可以独立于编码器。
在110中,处理设备读取图像数据,其中,读取的该图像数据包括多个像素,该多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量。每个像素的像素值的比特数大于或等于1,例如,12比特或16比特。其中,读取的图像数据可以是属于raw图像的图像数据。
具体地,处理设备可以从双倍速率同步动态随机存储器(Synchronous DynamicRandom Access Memory,SDRAM)(Double Data Rate SDRAM,DDR)中读取raw图像的图像数据,其中,该图像数据可以是拍摄设备在拍摄得到图像后存储在DDR中的。
其中,处理设备每个时钟读取的图像数据的数据量可选地可以根据下文提到的用于存储解交织后的图像数据的存储空间的大小和/或总线带宽确定的。
例如,每个时钟读取的图像数据的数据量小于总线带宽允许的数据量。又例如,每个时钟读取的图像数据中单个颜色分量的数据量可以是存储空间的一个存储地址最大可存储的数据量。
处理设备在读取图像数据时,每个时钟读取的像素的数量可以是整数个,也可以不是整数个。此处提到的像素的数量是整数个是指完整的至少一个像素在一个时钟内被读取,且每个像素的比特只在一个时钟内被读取,不会被分开到两个或两个以上的时钟。
例如,假设每个时钟可以读取128比特的数据(本申请实施例中的多处实现方式均以每个时钟读取128比特的数据为例进行的说明,但是本申请实施例并不限于此),如果单个像素的像素值的比特数为12比特,则一个时钟无法读取整数个像素,而以3个时钟为循环则可以容纳完整32个像素的像素值。其中,这32个像素可以属于2个颜色分量,交错存放。具体地,如图6所示,p0-p31代表32个像素,由于128比特无法容纳整数个12比特的像素的像素值,则一个像素的像素值可能会分开存放在相邻两个时钟的数据中,即像素p10的像素值被分开到时钟1和时钟2,其中,时钟1读取像素p10的8个比特,以及时钟2读取该像素p10的4个比特,像素21的像素值被分开到时钟2和时钟3,其中,时钟2读取像素p21的4个比特,以及时钟3读取该像素p21的8个比特。
又例如,假设每个时钟可以读取128比特的数据,如果单个像素的像素值的比特数为16比特,则一个时钟可以读取8个像素的数据,其中,这8个像素可以属于2个颜色分量,交错存放。具体地,如图7所示,p0-p7代表8个像素,由于128比特可以容纳整数个16比特的像素,则该8个像素的像素值可以容纳在一个时钟,即时钟1中。
从以上可以看出,如果每个时钟可以读取的比特数可以将单个像素的像素值的比特数进行整除,则可以实现每个时钟读取的像素的数量是整数个,但应理解即使每个时钟可以读取的数量可以将单个像素的像素值的比特数进行整除,但是不是必须每个时钟读取的像素的数量是整数个。
例如,假设每个时钟可以读取128比特的数据,如果单个像素的像素值的比特数为16比特,则可以存在一个像素的8比特是由上个时钟读取的,以及该像素的剩余8比特是由下一个时钟读取的。
在120中,处理设备对读取的图像数据进行解交织,以得到每个颜色分量对应的图像数据。
具体地,处理设备可以对读取的图像数据进行解交织,也即确定读取的每个像素的颜色分量,其中,由于图像数据的交织排布方式是一定的,则可以根据读取的图像数据在原始图像中的位置来确定各个像素的颜色分量。
在130中,处理设备将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中。
具体地,在系统可用的存储空间中,各个颜色分量可以存在对应的存储区域,处理设备可以将各个颜色分量存储到其对应的存储区域,从而在各个颜色分量对应的存储区域中,读取各个颜色分量的图像块进行后续的图像块划块的处理,实现解交织与图像块(此处以及以下提到的图像块可以为cb)划块的解耦。
并且将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中,在存储时可以不受原始图像数据的交织排布方式的影响。
在本申请实施例中,每个颜色分量对应的存储区域可以包括一个或多个,每个存储区域可以具有独立的写入和读取接口,该一个存储区域可以为一个随机存取存储器(random access memory,RAM),当然,也可以是其他形式的存储器,本申请实施例对此不做具体限定。
可选地,在本申请实施例中,为了便于后续的图像块的划块操作,每个存储区域的一个存储地址可以存储一定数量(这里定义为数量N)的像素的像素值,其中,该数量N可选地可以等于图像块的行包括的像素的数量,或者为行包括的像素数量的整数倍,一个存储地址仅存储一个颜色分量的像素。其中,针对一个颜色分量,一个存储区域可以包括一个存储地址,也可以包括多个存储地址。
由于每个时钟解交织得到的各个颜色分量的像素数是不固定的,而且有可能包含非完整的像素(例如,如图6所示),则可能会出现在存储完一个时钟的像素之后,一个存储地址存储的像素的数量未达到上述N。这种情况下,如果存储区域的某个地址存储的像素的数量未达到上述N,则在下一时钟的数据到来时,需要补齐当前地址剩余的空间,如果有多余的部分,则需要写入下一个地址。然而,由于RAM的机制无法在同一个时钟内写入两个地址,因此本发明把每个RAM拆分成至少两片。也即,可以为每个颜色分量设置两个RAM,在其中一个RAM的一个地址写满之后,在另一个RAM里写入该颜色分量的剩余数据。
例如,对于图6所示的场景,在单个像素的像素值占用的比特数为12比特的情况下,存储区域的每个地址可以存储单个颜色分量的8个像素,其中,该8个像素包括的总数据可以为8个16比特的数据,每个16比特的数据可以包括单个像素的12比特的像素值以及4比特的占位比特,或者,该8个像素的总数据也可以是8个12比特的数据,具体可以根据每个存储区域需要存储的数据格式(数据格式由一个像素的比特数区分)而定。假设每个时钟可以读取128比特的数据,p0,p2,p4……p30对应的颜色分量为颜色分量1,而p1,p3,p5……p31对应的颜色分量为颜色分量2,则在对时钟1读取且解交织的图像数据进行存储时,颜色分量1对应的存储地址1可以存储p0,p2,p4,p6,p8的像素值以及p10的像素值的8个比特,颜色分量2对应的存储地址1可以存储p1,p3,p5,p7和p9的像素值,则在对时钟2读取的图像数据进行存储时,则需要将p10的像素值的4个比特,以及p12和p14存储到地址1,此时存储地址1已经达到8个地址,则需要将p16、p18、p20存入到另一个RAM的一个存储地址,对于颜色分量2,则类似处理。
因此,在本申请实施例中,每个颜色分量可以具有至少两个分别具有独立的读取和写入接口的存储区域,具体可以具有至少两个RAM。其中,在存储时,可以将某个颜色分量的图像数据存储到其中一个存储区域的一个存储地址,在所述一个地址存储满之后,将该颜色分量的图像数据的剩余未存储的数据存储到另一个存储区域的一个存储地址。
其中,在从RAM写入时,可以是以交错的方式在至少两片RAM之间切换,例如,如图8所示。这种存储方式可以保证当某一片RAM的任何一个地址所剩余的空间不足,需要同时写入下一个地址时,可以写入另外一片RAM的地址,从而解决由每个时钟的像素数量不确定,写入数据需要跨地址的问题。
同样地,在从RAM中读取数据时,也可以是以交错的方式在至少两片RAM之间切换,并且从RAM中读取图像数据的顺序可以等于从RAM中写入图像数据的顺序。
可选地,在本申请实施例中,一个颜色分量对应至少两个存储区域时,每个存储区域的地址均可以是连续的。例如,存储区域1,地址可以为0-127,存储区域2,存储地址也可以为0-127。虽然每个存储区域的存储地址均为128个,但是实际的存储地址达到了256个。
这种情况下,处理设备可以对已存储特定颜色分量的图像数据的所有地址(不对存储区域进行区分,是所有存储区域的)的数量进行记录,在当前需要存储该颜色分量的图像数据时,可以在已记录数量的基础上加1得到数值x,该x可以理解为当前要存储器的地址在该颜色分量对应的所有存储地址中的排序。由于存储区域存在至少两个,则可以再进一步基于当前要存储的地址对应的数值x确定需要在存储区域要存储的地址。例如,假设存在2个存储区域,则如果x是偶数,则可以将图像数据存入到存储区域1的地址x/2,如果x是奇数,则可以将图像数据存入到存储区域1的地址(x-1)/2。
可选地,在本申请实施例中,在一个颜色分量对应至少两个存储区域时,即使每个时钟的图像数据均可以在一个地址被存储,不需要分割到两个地址中,也可以在该两个存储区域进行交错存储,例如,时钟1的数据存储到存储区域1的一个地址,时钟2的数据存储到存储区域2的另一个地址,时钟3的数据存储到存储区域1的另一个地址等。当然,也可以在一个存储区域的该颜色分量对应的所有存储地址均被存满之后,再在另一个存储区域的该颜色分量对应的存储地址进行存储。
应理解,在本申请实施例中,针对某个颜色分量,如果多个时钟读取的数据刚好可以达到一个地址所要求的像素数量,不会出现某一个时钟的图像数据需要存储到两个地址的情况,则此时,该一个颜色分量可以对应一个存储区域。
例如,对于图7所示的场景,假设单个像素的像素值占用的比特数为16比特,每个时钟读取的比特数为128比特,则一个时钟可以读取两个颜色分量中每个颜色分量的4个像素的像素值。两个时钟针对两个颜色分量的其中每个颜色分量可以存储一个存储地址,也即不会出现一个颜色分量的像素在同一时钟需要存入两个地址。在该种情况下,一个颜色分量可以对应一个存储区域,其中,在该存储区域的数据被读取之后,再继续存入该颜色分量的数据。
按照以上的分析,如果以如图1-图4所示的颜色分量的交织排布方式为例,一个颜色分量需要两个存储区域,则4个颜色分量的情况下,需要8个存储区域,但是从图1至图4所示的颜色分量的交织排布方式可以看出,一行图像数据出现的颜色分量是4个颜色分量中的部分颜色分量,如果图像数据的读取是按行读取的(也即一行一行读取的,读完一行再读下一行,其中行的长度可以根据实际情况而定),所以同一行的颜色分量可能会出现在同一时钟内,则需要避免同一行的颜色分量进行存储区域的共享,这样可以避免同一行的多个颜色分量在存储时,存储到一个地址,以及可以避免一个时钟在一个存储区域需要存入两个地址的问题。
而对于不会出现在同一行的多个颜色分量,因为数据的读取是按行,这些颜色分量的图像数据不会出现在相同的时钟里,则这些颜色分量可以进行存储区域的共享。
例如,对于图1-图4所示的交织排布方式,单个时钟的图像数据最多只包含2个颜色分量,因此可以把不需要出现在同一行的颜色分量存储区域进行合并,则此时需要4个存储区域(也即4个RAM)。
例如,对于图1所示的交织排布方式,R和Gr出现在奇行,B和Gb出现在偶行,则R的存储区域可以与B和Gb中的一个存储区域进行合并,和/或,Gr的存储区域也可以与B和Gb中的另一个存储区域进行合并。
例如,如图9所示,B和R的存储区域可以合并,也即B和R均占有RAM1和RAM2,Gb和Gr的存储区域可以合并,也即Gb和Gr均占用RAM3和RAM4。
因此,在如图1至图4所示的交织排布方式,仅需要4个RAM可以实现解交织后的数据的缓存功能。
可选地,在本申请实施例中,在一个存储区域有多个颜色分量共享时,每个颜色分量所分配的地址是不一样的,例如,针对其中一个存储区域,对于颜色分量R,则对应的存储地址为地址0-127,而对于另一颜色分量B,则对应的存储地址可以为地址128-255。
因此,在本申请实施例中,具有独立的写入和读取接口的单个存储区域可以用于存储不出现在解交织前的图像的同一行中的至少两个颜色分量的图像数据,由此可以在实现存储区域同时,实现各个颜色分量的图像数据按地址独立存储。其中,存储区域的共享,可以使接口数和连线数减小,提高布线质量。
当然,在本申请实施例中,多个颜色分量也可以不进行存储区域的共享,本申请实施例对此不做具体限定。
可选地,在本申请实施例中,可用存储空间可以存在至少一个存储区域组,每个存储区域组包括至少一个颜色分量对应的存储区域。每个存储区域组可以用于循环存储解交织后的图像数据,也即数据在存满之后,可以被读取,读取之后,可以继续进行存储。不同的存储区域组针对相同的颜色分量包括的存储区域不同。例如,对于存储区域组1,针对颜色分量1,包括的存储区域为存储区域1和存储区域2,而对于存储区域组2,针对颜色分量2,包括的存储区域为存储区域3和4。
具体地,可以将上文提到的4个RAM(例如,如图9所示)构成一组,可以部署2~3个RAM组进行乒乓操作。每RAM个组可以被标记为空闲,接收和发送3种状态。在初始化时所有RAM都处在空闲态,当开始接收数据时处在接收态。在某个RAM组被解交织好的数据填满时,这个RAM组就会被标记为发送态。当划块单元检测到有RAM组处在发送态后,就开始从中读取数据。因为缓存单元中存放的是已经解交织好的数据,因此划块单元只需按照配置的图像块大小读取相应的数据,无需跟解交织单元通讯。
例如,如图10所示,在201中,等待配置起始信号;在202中,判断RAM组是否空闲,在不空闲时,在201中继续等待配置起始信号,在RAM组空闲时,则跳转到203;在203中,配置RAM组为接收模式,此时意味着该RAM组可以进行数据的存储;在204中,将解交织数据存入到RAM组中;在205中,判断存储的数据是否是该RAM组需要存储的最后一笔数据,其中在RAM组的存储地址存满的情况下,可以认为当前已存储的数据是最后一笔数据,如果不是,在204中,继续将解交织数据存入到该RAM组,如果是最后一图像数据,则跳转到206;在206中,可以配置该RAM组为发送模式,也即该RAM组中的图像数据可以被读取,并继续执行202,从此可以实现该RAM组的循环存储。
可选地,在本申请实施例中,由于在读取图像数据时,返回图像数据的顺序有可能不是按照读取的图像数据进行返回的(这种乱序返回方式可以提高总线效率),所以返回的图像数据的颜色分量是无规律的,则可能会导致无法确定像素的颜色分量。具体地,如果解交织单元在存储单元(位于读取单元之后)的后面,那么解交织单元收到的是顺序的数据(也即存储单元已经对数据进行了排序),可以较为容易的从两个时钟中拼接出完整的像素。但如果解交织单元在储存单元之前,则解交织单元需要能处理读取单元乱序返回的读取数据,由于返回的图像数据的颜色分量是无规律的,则可能会导致无法确定像素的颜色分量,这对图像数据的解交织造成了难度。
为了解决上述问题,本申请实施例提出了标签的机制,也就是为读取的图像数据生成标签,该标签指示该图像数据在原始图像(也即读取前的图像数据,例如在DDR中存储的raw图像)中的位置信息,从而可以基于该标签,处理设备可以确定图像数据中的各个像素在原始图像中的位置,并从而可以对读取的图像数据进行解交织,也即确定各个像素的颜色分量。
其中,在处理设备在通过先进可扩展接口(Advanced eXtensible Interface,AXI)向DDR发送用于读取图像数据的读请求时,可以基于该读请求的标识(Identifier,ID)号生成上述标签,返回的图像数据可以携带该ID号,处理设备可以基于该ID号,确定返回的图像数据对应的标签,并基于该标签对返回的图像数据进行解交织。
如图1至4所示,偶数行和奇数行分别存在不同的颜色分量,即偶数行存在两种颜色分量,奇数行存在另外两种颜色分量,从而可以基于图像数据是偶数行或是奇数行来确定返回的图像数据是哪两种颜色分量;以及,每行的图像数据可以由至少一个时钟读取,各个时钟读取的数据分别是该行的特定位置的数据,由此可以基于读取图像数据的时钟信息来确定各个像素是对应行的两个颜色分量中的哪个颜色分量。
由此,以上根据提到的标签指示的图像数据的行信息以及时钟信息来对图像数据进行解交织。其中,该行信息可以表征图像数据是奇数行还是偶数行。该时钟信息可以表征读取图像数据的时钟属于当前行的第几个时钟。或者,可以将一行数据对应的时钟进行循环的划分,每行数据可以对应一个循环,每个循环可以包括一个或多个时钟。由此可以基于图像数据属于第几个循环以及循环中的第几个时钟,确定图像数据的在原始图像中的位置,从而可以对图像数据进行解交织。
可选地,在本申请实施例中,也可以基于标签确定像素存储的位置。具体地可以根据图像数据的行信息以及时钟信息来确定图像数据对应的存储区域和在存储区域中的存储地址。
假设需要分割的图像块的大小是N*N(N行N列),一个存储区域组(可用存储空间可以包括一个存储区域组也可以包括多个存储区域组,每个存储区域组针对原始图像包括的每个颜色分量均包括至少一个存储区域)针对原始数据的一行可以存储的数据可以为m个时钟读取的数据,m个时钟读取的数据可以对应m/s=w个循环,每个循环包括s个时钟,针对某个颜色分量,每个循环可以解交织出p个地址的像素,p是该颜色分量对应的存储区域的数量,则每个循环针对p个存储区域中的每个存储区域可以写入一个地址的数据,在计算存储的地址时可以按照j*N+i,i取值从0到N-1,j取值从0到w-1,其中如果存在上述存储区域共享的情况,对于其他颜色分量,可以在j*N+i的基础上加个常数,不同颜色分量的存储地址可以区分开。例如,一个颜色分量的存储地址为0至wN-1,而另一个颜色分量的存储地址为wN至2wN-1。
读取图像数据的时钟在所属的循环中的时钟数和图像数据的行信息可以确定存储哪个存储区域,以及读取图像数据的时钟在所属的循环中的时钟数可以确定数据的拼接方式(也即确定是否写入到上个时钟未被写满的地址)。
例如,假设一个存储区域组可以存储的图像数据的大小是32mb,图像块的大小是8*8,每个时钟读取128比特的数据,每个像素的像素值为12比特,存储区域的每个地址可以存储8个像素,则换算成原始数据为每行为48个时钟,其中,可以每3个时钟为一循环,则存在16个循环,针对一个颜色分量,每个循环可以产生16个像素,该16个像素可以占据2个地址,该2个地址属于2个存储区域,则对于一个循环而言,一个存储区域需要加上1个地址,而由于一个图像块的行数为8行,则每增加一个循环,可以加上8个地址,因此,可以利用j*8+i或j*8+i+256(其中,j为循环数,i为偶数行数或奇数行数)的方式计算在所属的存储区域的存储地址。由于一个循环可以占据2个地址,该2个地址分别属于2个存储区域,则可以根据读取图像数据的时钟在所属的循环中的时钟数可以确定数据的拼接方式和具体存入哪个存储区域。
又例如,假设一个存储区域组可以存储的图像数据的大小是32mb,图像块的大小是8*8,每个时钟读取128比特的数据,每个像素的像素值为16比特,存储区域的每个地址可以存储8个像素,则换算成原始数据为每行为64个时钟,其中,可以每4个时钟为一循环,则存在16个循环,针对一个颜色分量,每个循环可以产生16个像素,该16个像素可以占据2个地址,该2个地址属于2个存储区域,则对于一个循环而言,一个存储区域需要加上1个地址,而由于一个图像块的行数为8行,则每增加一个循环,可以加上8个地址,因此,可以利用j*8+i或j*8+i+256(其中,j为循环数,i为偶数行数或奇数行数)的方式计算在所属的存储区域的存储地址。
应理解,以上给出的存储地址的计算方式仅仅是本申请实施例的一种实现方式,不应对本申请造成特别的限定。
应理解,以上是以图像块是正方形为例进行说明的,但应理解,本申请实施例并不限于此,分割的图像块的大小也可以不是正方形的。
例如,假设需要分割的图像块的大小是Q*N(Q行N列),一个存储区域组针对原始数据的一行可以存储的数据可以为m个时钟读取的数据,m个时钟可以对应m/s=w个循环,每个循环包括s个时钟,针对单个颜色分量,每个循环可以产生p个地址的数据,p是该单个颜色分量对应的存储区域的数量,则每个循环针对一个存储区域可以写入一个地址的数据,因此,在计算存储位置是可以按照j*Q+i,i取值从0到N-1,j取值从0到w-1。
因此,基于以上方案,可以基于标签,对图像数据进行解交织,以及各个颜色分量在存储区域中的地址。本申请标签的机制可以避免在解交织之前以及数据读取之后对数据进行缓存以对读取的数据进行排序。
如果解交织处理的图像数据是顺序的数据,可以在收集一定时钟的图像数据时,可以再进行解交织,并写入存储区域。但是如果解交织处理乱序的数据,数据的返回是没有规律的,则可以在当前时钟内对数据进行解交织,这是因为等待下一时钟的数据是没有意义的,可以及时对图像数据进行处理,避免未处理的图像数据越来越多,占据存储资源。
可选地,本申请实施例的存储区域能够用于存储多种格式的图像数据,其中,不同格式的图像数据的像素的比特数不同。
具体地,为了保证兼容性,处理设备可能会处理多种格式的图像数据,例如,处理单个像素占用的比特数分别为12和16比特的图像数据。
为此,在各个颜色分量对应的图像数据的单个像素的比特数小于第一比特数时,在针对各个颜色分量对应的图像数据进行存储时,对所述单个像素进行占位填充,使得所述单个像素的比特数达到所述第一比特数,其中,所述第一比特数是多种格式的图像数据中单个像素对应的最大比特数。
以单个像素占用的比特数分别为12比特和16比特为例,为了保证存储区域既可以存储12比特的像素,也可以存储16比特的像素,则在对12比特的像素进行存储时,可以针对每12个比特的像素填充4比特,其中,可以在12比特的低位填充,当然,也可以在12比特的高位填充,其中,填充的比特位的数值可以为0。
为了便于更加清楚地理解本申请,以下将分别以单个像素的比特数为12比特,以及单个像素的比特数为16比特为例,结合图11和图12分别说明如何对图像数据进行解交织和存储。
假设单个像素的比特数为12比特,每个时钟读取的比特数为128比特,图像的交织排布方式可以如图1所示,每个颜色分量具有两个RAM,颜色分量B和R共享存储区域,颜色分量Gb和Gr共享存储区域。此时,可以3个时钟为一个循环,每个循环可以针对两个颜色分量中的每个颜色分量产生两个地址的图像数据。可用存储空间中共包括4个RAM,即RAM1,RAM2,RAM3和RAM4。R和B共享RAM1和RAM2,Gr和Gb共享RAM3和RAM4。
图11所示的是一个循环中的3个时钟的图像数据存储情况,图11中共存在3个大框,每个大框内部分别是一个时钟的情况。其中,每个大框中最上面一排为读取的一个时钟128比特的数据,该排中的每个小方框代表4比特的数据,32个小方框共128个比特的数据,其中每12比特一个像素相邻排放,每种颜色代表一种颜色分量。
图11中的每个大框的下面四排为写入4片RAM的数据格式。为了跟16比特格式兼容,在每12比特像素低4位补0,即灰色黑字小方框所示。解交织单元每收到一排交织数据,则可以拆分成下面所示的单颜色分量的图像数据,写入对应的RAM。
从图11可以看出,时钟1读取的图像数据包括颜色分量R和Gr,可以将R对应的颜色存入到RAM1中的地址1,以及可以将Gr对应的颜色分量存入到RAM3中的地址1,时钟2读取的图像数据仍然包括颜色分量R和Gr,由于RAM1中的地址1和RAM3中的地址1均没有存储满,则可以将该时钟2读取的R对应的像素的一部分数据存入到RAM1的地址1,另一部分数据存入到RAM2中的地址1,以及将该时钟2读取的Gr对应的像素的一部分数据存入到RAM3的地址1,另一部分数据存入到RAM4中的地址1。时钟3读取的图像数据仍然包括颜色分量R和Gr,由于RAM2中的地址1和RAM4中的地址1均没有存储满,则可以将该时钟3读取的R对应的像素存入到RAM3的地址1(该地址剩余的空间刚好存储时钟3读取的R对应的像素),以及将该时钟读取的Gr对应的像素的存入到RAM4的地址1(该地址剩余的空间刚好存储时钟3读取的R对应的像素)。
如图11所示,写入RAM的地址标注在右侧的长方形框中。假设可用存储空间开辟的RAM大小可以缓存32mb,则换算成原始数据每行为48个时钟。这48个时钟以3个时钟为一个循环分为16个循环。为了计算出数据应该写入的地址,每一个时钟的原始数据会带有一个标签,显示在图中右边的长方形框中。其中i代表当前数据是第多少偶行或奇行,(2*i+0)代表这是一个偶数行的数据。48是根据存储空间的大小计算出的每行应该跳转的地址增量,这个数字会随RAM的容量大小而改变。j代表当前数据属于第多少次循环。最后的0,1,2代表这是当前循环的第0,1,2时钟的数据。根据i和j信息可以计算出当前解交织后的数据应该存储的RAM地址。根据这是当前循环的第几个时钟的数据可以确定数据的拼接方式。
假设单个像素的比特数为16比特,每个时钟读取的比特数为128比特,图像的交织排布方式可以如图1所示,每个颜色分量具有两个RAM,颜色分量B和R共享存储区域,颜色分量Gb和Gr共享存储区域。此时,可以4个时钟为一个循环,每个循环可以针对两个颜色分量中的每个颜色分量产生两个地址的图像数据。共包括4个RAM,即RAM1,RAM2,RAM3和RAM4。R和B共享RAM1和RAM2,Gr和Gb共享RAM3和RAM4。
图12所示的是一个循环中的2个时钟的图像数据的存储情况,图12中共存在2个大框,每个大框内部分别是一个时钟的情况。其中,每个大框中最上面一排为读取的一个时钟128比特的数据,该排中的每个小方框代表4比特的数据,32个小方框共128个比特的数据,其中每16比特一个像素相邻排放,每种颜色代表一种颜色分量。图12中的下面四排为写入2片RAM的数据格式。
从图12可以看出,时钟1读取的图像数据包括颜色分量R和Gr,可以将R对应的颜色存入到RAM1中的地址1,以及可以将Gr对应的颜色分量存入到RAM3中的地址1。时钟2读取的图像数据仍然包括颜色分量R和Gr,由于RAM1中的地址1和RAM2中的地址1均没有存储满,则可以将该时钟2读取的R对应的像素存入到RAM1的地址1(该地址剩余的空间刚好存储时钟2读取的R对应的像素),以及将该时钟读取的Gr对应的像素的存入到RAM2的地址1(该地址剩余的空间刚好存储时钟2读取的Gr对应的像素)。
如图12所示,写入RAM的地址标注在右侧的长方形框中。假设每个ram组开辟的大小可以缓存32mb,则换算成原始数据每行为64个时钟。这64个时钟以4个时钟为一个循环分为16个循环。为了计算出数据应该写入的地址,每一个时钟的原始数据会带有一个标签,例如显示在图中右边的长方形框中所示。其中i代表当前数据是第多少偶行或奇行,(2*i+0)代表这是一个偶数行的数据。64是根据存储空间的大小计算出的每行应该跳转的地址增量,这个数字会随RAM的容量大小而改变。j代表当前数据属于第多少次循环。最后的0,1,2,3代表这是当前循环的第0,1,2,3时钟的数据。根据i和j信息可以计算出当前解交织后的数据应该存储的RAM地址。根据这是当前循环的第几个时钟的数据可以确定数据的拼接方式。
在140中,从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
例如,如图13所示,在301中,等待配置起始信号;在302中,判断后端模块(例如,进行图像压缩的模块)是否请求图像数据,如果否,在301中,继续等待配置起始信号,如果是,在303中,判断是否存在RAM组为发送模式如果否,继续执行303,如果是,执行304;在304中,在该RAM组中读取图像数据;在305中,判断读取的数据是否达到了配置的图像块大小,如果否,继续执行304,进行读取数据,如果是,则执行306;在306中,判断RAM组中是否还有未使用的数据,如果否,配置RAM组为空闲模式,则后续可以进行解交织数据的写入,如果是,执行302,判断后端模块是否请求数据。
为了更加清楚地理解本申请,以下将结合图14对本申请实施例进行描述。
图14以prores raw视频编码架构的技术背景为例进行阐述。应理解,本申请可以被用于所有类似的视频/图像类处理架构中。图14为prores raw视频编码架构的总框图,prores raw视频编码架构400由3个单元组成,分别是预处理单元410,处理单元420和写出单元430。此处的预处理单元410可以对应本申请实施例中的处理设备。
读取单元411可以通过axi通道向DDR500发送读请求,从DDR中读取图像数据,读取单元411可以基于ID,生成标签,并且可以接收DDR通过axi通道发送的图像数据,读取单元411可以将标签以及图像数据发送至解交织单元412;解交织单元412可以对图像数据进行解交织以及生成写地址,基于写地址,将解交织的图像数据发送至缓存单元413,缓存单元可以包括多个RAM组,每个RAM组可以循环存储;划块单元414可以进行RAM读取,进行图像数据的划块,以及图像块发送至处理单元420,处理单元420可以对图像块进行处理(例如,压缩处理),并将处理后的图像数据发送至写出单元430,写出单元430可以将处理后的数据写入DDR500中。
在本申请实施例中,对读取的图像数据进行解交织,以得到每个颜色分量对应的图像数据,并将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中,从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块,本申请实施例在解交织与划块之间加入了图像数据的存储,并且在存储时将每个颜色分量对应的图像数据分别存储到所述每个颜色分量对应的存储区域中,可以实现在图像块读取时从各个颜色分量对应的存储区域进行读取,将解交织与图像块的划块进行了解耦,如果需要对解交织的策略进行变化,无需改动划块的方式,只需将解交织的相关参数配置给解交织单元,同样地,如果需要对划块的策略进行变化,无需改动解交织的方式,只需将划块的相关参数配置给划块单元,不仅简化了设计的复杂度,提高了灵活性,而且可以更方便的支持新的解交织模式或新的划块模式,利于系统架构的扩展,在图像处理出现故障时,可以以存储区域为分界点缩小故障排查和调整位置,对处理方式的验证也起到了简化和加速的效果。
图15是根据本申请实施例的图像处理设备600的示意性框图。该设备600包括第一读取单元610、解交织单元620、存储单元630和第二读取单元640。
其中,第一读取单元610,用于读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;解交织单元620,用于对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;存储单元630,用于将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;第二读取单元640,用于从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
可选地,在本申请实施例中,所述每个颜色分量对应有至少两个存储区域,每个存储区域分别具有独立的写入和读取接口。
可选地,在本申请实施例中,所述至少一个颜色分量包括第一颜色分量,所述第一颜色分量对应的存储区域包括第一存储区域和第二存储区域,所述第一颜色分量对应的图像数据为第一图像数据,其中,读取的所述图像数据为单个时钟读取的,所述第一存储区域和所述第二存储中每个存储区域分别包括至少一个存储地址,每个存储地址存储至少一个像素的像素值;
所述存储单元630进一步用于:
将所述第一图像数据存储到所述第一存储区域的一个存储地址,在所述一个地址存储满之后,将所述第一图像数据的剩余未存储的数据存储到所述第二存储区域的一个存储地址。
可选地,在本申请实施例中,所述每个颜色分量对应至少一个存储区域,每个存储区域用于存储不出现在同一行中的至少两个颜色分量的图像数据,每个存储区域分别具有独立的写入和读取接口。
可选地,在本申请实施例中,所述每个颜色分量对应至少一个存储区域,属于同一行的颜色分量对应的存储区域不同,每个存储区域分别具有独立的写入和读取接口。
可选地,在本申请实施例中,所述解交织单元620进一步用于:
基于所述图像数据的标签,对所述图像数据进行解交织;
所述存储单元630进一步用于:
基于所述标签,确定所述每个颜色分量在对应的存储区域中的存储地址;
其中,所述标签表征所述图像数据在读取前的原始图像中的位置信息。
可选地,在本申请实施例中,所述标签信息包括所述图像数据的行信息和所述图像数据在所属行中的时钟信息。
可选地,在本申请实施例中,所述行信息指示所述图像数据所属的行是奇数行或是偶数行,以及指示所述图像数据所属行的奇数行数或偶数行数。
可选地,在本申请实施例中,所述时钟信息指示读取所述图像数据的时钟所属的循环的循环数,以及指示读取所述图像数据的时钟在所属的循环中的时钟数;其中,所述存储空间包括至少一个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,所述每个存储区域组最大可存储的一行数据需要被至少一个循环的时钟读取,每个循环包括至少一个时钟,每个循环针对所述至少一个颜色分量中的每个颜色分量解交织出p个地址的像素,其中p是所述每个颜色分量对应的存储区域的数量。
可选地,在本申请实施例中,所述标签是基于读取所述图像数据的读请求的标识ID号生成的。
可选地,在本申请实施例中,所述存储空间能够用于存储多种格式的图像数据,其中,不同格式的图像数据的像素的比特数不同。
可选地,在本申请实施例中,所述存储单元630进一步用于:
在各个颜色分量对应的图像数据的单个像素的比特数小于第一比特数时,在针对各个颜色分量对应的图像数据进行存储时,对所述单个像素进行占位填充,使得所述单个像素的比特数达到所述第一比特数,其中,所述第一比特数是多种格式的图像数据对应的单个像素的最大比特数。
可选地,在本申请实施例中,所述存储空间包括多个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,不同的存储区域组针对相同的颜色分量包括的存储区域不同,所述每个存储区域组用于循环存储解交织后的图像数据。
应理解,该图像处理设备600可以实现上述方法实施例中的方法,为了简洁,在此不再赘述。
图16是根据本申请实施例的图像处理设备700的示意性框图。如图16所示,该图像处理设备700可以包括处理电路710。其中,该处理电路710可以用于实现上述方法实施例中的方法,为了简洁,在此不再赘述。
可选地,在本申请实施例中,该图像处理设备700还包括存储器,该存储器可以用于提供存储空间,用于存储本申请实施例中提到的解交织的图像数据。
图17是根据本申请实施例的视频处理器800的示意性框图。该视频处理器800可以包括图像处理设备810,该图像处理设备810可以对应于上述图像处理设备600或700。
应理解,该视频处理器800还可以包括其他的单元,例如,用于对图像处理设备读取的图像块进行压缩的单元等,为了简洁,在此不再赘述。
本申请实施例中的图像处理设备或视频处理器可以应用于无人机中,为无人机上承载的拍摄设备拍摄的RAM提供图像处理。
本申请实施例的处理电路可能是一种集成电路芯片,具有数据处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理电路中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理电路可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,)ROM、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (29)
1.一种图像处理方法,其特征在于,包括:
读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;
对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;
将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;
从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
2.根据权利要求1所述的方法,其特征在于,所述每个颜色分量对应有至少两个存储区域,每个存储区域分别具有独立的写入和读取接口。
3.根据权利要求2所述的方法,其特征在于,所述至少一个颜色分量包括第一颜色分量,所述第一颜色分量对应的存储区域包括第一存储区域和第二存储区域,所述第一颜色分量对应的图像数据为第一图像数据,其中,读取的所述图像数据为单个时钟读取的,所述第一存储区域和所述第二存储中每个存储区域分别包括至少一个存储地址,每个存储地址存储至少一个像素的像素值;
所述将所述每个颜色分量对应的图像数据分别存储到所述每个颜色分量对应的存储区域中,包括:
将所述第一图像数据存储到所述第一存储区域的一个存储地址,在所述一个地址存储满之后,将所述第一图像数据的剩余未存储的数据存储到所述第二存储区域的一个存储地址。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述每个颜色分量对应至少一个存储区域,每个存储区域用于存储不出现在同一行中的至少两个颜色分量的图像数据,每个存储区域分别具有独立的写入和读取接口。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述每个颜色分量对应至少一个存储区域,属于同一行的颜色分量对应的存储区域不同,每个存储区域分别具有独立的写入和读取接口。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对读取的所述图像数据进行解交织,包括:
基于所述图像数据的标签,对所述图像数据进行解交织;
所述将所述每个颜色分量对应的图像数据分别存储到所述每个颜色分量对应的存储区域中,包括:
基于所述标签,确定所述每个颜色分量在对应的存储区域中的存储地址;
其中,所述标签表征所述图像数据在读取前的原始图像中的位置信息。
7.根据权利要求6所述的方法,其特征在于,所述标签信息包括所述图像数据的行信息和所述图像数据在所属行中的时钟信息。
8.根据权利要求7所述的方法,其特征在于,所述行信息指示所述图像数据所属的行是奇数行或是偶数行,以及指示所述图像数据所属行的奇数行数或偶数行数。
9.根据权利要求7或8所述的方法,其特征在于,所述时钟信息指示读取所述图像数据的时钟所属的循环的循环数,以及指示读取所述图像数据的时钟在所属的循环中的时钟数;其中,所述存储空间包括至少一个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,所述每个存储区域组最大可存储的一行数据需要被至少一个循环的时钟读取,每个循环包括至少一个时钟,每个循环针对所述至少一个颜色分量中的每个颜色分量解交织出p个地址的像素,其中p是所述每个颜色分量对应的存储区域的数量。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述标签是基于读取所述图像数据的读请求的标识ID号生成的。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述存储空间能够用于存储多种格式的图像数据,其中,不同格式的图像数据的像素的比特数不同。
12.根据权利要求11所述的方法,其特征在于,所述将所述每个颜色分量对应的图像数据分别存储到所述每个颜色分量对应的存储区域中,包括:
在各个颜色分量对应的图像数据的单个像素的比特数小于第一比特数时,在针对各个颜色分量对应的图像数据进行存储时,对所述单个像素进行占位填充,使得所述单个像素的比特数达到所述第一比特数,其中,所述第一比特数是多种格式的图像数据对应的单个像素的最大比特数。
13.根据权利要求1至12中任一项所述的方法,其特征在于,所述存储空间包括多个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,不同的存储区域组针对相同的颜色分量包括的存储区域不同,所述每个存储区域组用于循环存储解交织后的图像数据。
14.一种图像处理设备,其特征在于,包括:
第一读取单元,用于读取图像数据,其中,读取的所述图像数据包括多个像素,所述多个像素具有至少一个颜色分量,以及每个像素分别具有一个颜色分量;
解交织单元,用于对读取的所述图像数据进行解交织,以得到每个颜色分量对应的图像数据;
存储单元,用于将所述每个颜色分量对应的图像数据分别存储到存储空间中所述每个颜色分量对应的存储区域中;
第二读取单元,用于从所述存储区域中,针对所述每个颜色分量,分别执行读取操作,以得到所述每个颜色分量的图像块。
15.根据权利要求14所述的设备,其特征在于,所述每个颜色分量对应有至少两个存储区域,每个存储区域分别具有独立的写入和读取接口。
16.根据权利要求15所述的设备,其特征在于,所述至少一个颜色分量包括第一颜色分量,所述第一颜色分量对应的存储区域包括第一存储区域和第二存储区域,所述第一颜色分量对应的图像数据为第一图像数据,其中,读取的所述图像数据为单个时钟读取的,所述第一存储区域和所述第二存储中每个存储区域分别包括至少一个存储地址,每个存储地址存储至少一个像素的像素值;
所述存储单元进一步用于:
将所述第一图像数据存储到所述第一存储区域的一个存储地址,在所述一个地址存储满之后,将所述第一图像数据的剩余未存储的数据存储到所述第二存储区域的一个存储地址。
17.根据权利要求14至16中任一项所述的设备,其特征在于,所述每个颜色分量对应至少一个存储区域,每个存储区域用于存储不出现在同一行中的至少两个颜色分量的图像数据,每个存储区域分别具有独立的写入和读取接口。
18.根据权利要求14至17中任一项所述的设备,其特征在于,所述每个颜色分量对应至少一个存储区域,属于同一行的颜色分量对应的存储区域不同,每个存储区域分别具有独立的写入和读取接口。
19.根据权利要求14至18中任一项所述的设备,其特征在于,所述解交织单元进一步用于:
基于所述图像数据的标签,对所述图像数据进行解交织;
所述存储单元进一步用于:
基于所述标签,确定所述每个颜色分量在对应的存储区域中的存储地址;
其中,所述标签表征所述图像数据在读取前的原始图像中的位置信息。
20.根据权利要求19所述的设备,其特征在于,所述标签信息包括所述图像数据的行信息和所述图像数据在所属行中的时钟信息。
21.根据权利要求19所述的设备,其特征在于,所述行信息指示所述图像数据所属的行是奇数行或是偶数行,以及指示所述图像数据所属行的奇数行数或偶数行数。
22.根据权利要求20或21所述的设备,其特征在于,所述时钟信息指示读取所述图像数据的时钟所属的循环的循环数,以及指示读取所述图像数据的时钟在所属的循环中的时钟数;其中,所述存储空间包括至少一个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,所述每个存储区域组最大可存储的一行数据需要被至少一个循环的时钟读取,每个循环包括至少一个时钟,每个循环针对所述至少一个颜色分量中的每个颜色分量解交织出p个地址的像素,其中p是所述每个颜色分量对应的存储区域的数量。
23.根据权利要求19至22中任一项所述的设备,其特征在于,所述标签是基于读取所述图像数据的读请求的标识ID号生成的。
24.根据权利要求14至23中任一项所述的设备,其特征在于,所述存储空间能够用于存储多种格式的图像数据,其中,不同格式的图像数据的像素的比特数不同。
25.根据权利要求24所述的设备,其特征在于,所述存储单元进一步用于:
在各个颜色分量对应的图像数据的单个像素的比特数小于第一比特数时,在针对各个颜色分量对应的图像数据进行存储时,对所述单个像素进行占位填充,使得所述单个像素的比特数达到所述第一比特数,其中,所述第一比特数是多种格式的图像数据对应的单个像素的最大比特数。
26.根据权利要求14至25中任一项所述的设备,其特征在于,所述存储空间包括多个存储区域组,每个存储区域组包括所述至少一个颜色分量对应的存储区域,不同的存储区域组针对相同的颜色分量包括的存储区域不同,所述每个存储区域组用于循环存储解交织后的图像数据。
27.一种图像处理设备,其特征在于,包括处理电路和存储器;其中,所述处理单元用于执行根据权利要求1至13中任一项所述的方法。
28.根据权利要求27所述的设备,其特征在于,所述图像处理设备还包括存储器,其中,所述存储器用于提供存储空间,所述存储空间用于所述处理电路存储解交织后的图像数据。
29.一种视频处理器,其特征在于,包括根据权利要求14至28中任一项所述的图像处理设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/118168 WO2020107319A1 (zh) | 2018-11-29 | 2018-11-29 | 图像处理方法和设备,以及视频处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110869975A true CN110869975A (zh) | 2020-03-06 |
Family
ID=69651908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880039323.8A Pending CN110869975A (zh) | 2018-11-29 | 2018-11-29 | 图像处理方法和设备,以及视频处理器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110869975A (zh) |
WO (1) | WO2020107319A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641417A (zh) * | 2020-06-09 | 2020-09-08 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN113613014A (zh) * | 2021-08-03 | 2021-11-05 | 北京爱芯科技有限公司 | 一种图像解码方法、装置和图像编码方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060291568A1 (en) * | 2005-06-27 | 2006-12-28 | Kabushiki Kaisha Toshiba | Picture processing apparatus, semiconductor integrated circuit, and method for controlling a picture memory |
CN106328045A (zh) * | 2015-07-06 | 2017-01-11 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其亚像素下采样方法和相关应用 |
CN106568782A (zh) * | 2016-11-05 | 2017-04-19 | 上海大学 | 一种基于机器视觉对彩色瓶盖图像颜色量化的方法 |
CN108513670A (zh) * | 2017-07-25 | 2018-09-07 | 深圳市大疆创新科技有限公司 | 处理图像的方法、芯片、处理器、系统和可移动设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101309468B1 (ko) * | 2005-12-16 | 2013-09-23 | 톰슨 라이센싱 | 컬러 성분 기록 방법, 장치 및 시스템 |
CN101188018B (zh) * | 2007-12-06 | 2010-08-25 | 北大方正集团有限公司 | 一种在排版过程中进行自动退地的方法及装置 |
-
2018
- 2018-11-29 WO PCT/CN2018/118168 patent/WO2020107319A1/zh active Application Filing
- 2018-11-29 CN CN201880039323.8A patent/CN110869975A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060291568A1 (en) * | 2005-06-27 | 2006-12-28 | Kabushiki Kaisha Toshiba | Picture processing apparatus, semiconductor integrated circuit, and method for controlling a picture memory |
CN106328045A (zh) * | 2015-07-06 | 2017-01-11 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其亚像素下采样方法和相关应用 |
CN106568782A (zh) * | 2016-11-05 | 2017-04-19 | 上海大学 | 一种基于机器视觉对彩色瓶盖图像颜色量化的方法 |
CN108513670A (zh) * | 2017-07-25 | 2018-09-07 | 深圳市大疆创新科技有限公司 | 处理图像的方法、芯片、处理器、系统和可移动设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641417A (zh) * | 2020-06-09 | 2020-09-08 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN111641417B (zh) * | 2020-06-09 | 2023-03-31 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN113613014A (zh) * | 2021-08-03 | 2021-11-05 | 北京爱芯科技有限公司 | 一种图像解码方法、装置和图像编码方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020107319A1 (zh) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103609117B (zh) | 编码和解码图像的方法及装置 | |
US20060291560A1 (en) | Method and apparatus for processing image data | |
US7860166B2 (en) | Method and apparatus for motion estimation in video signal decoding | |
US4918527A (en) | Device and method with buffer memory, particularly for line/column matrix transposition of data sequences | |
US8331446B2 (en) | Method and device for reordering video information | |
US8451901B2 (en) | High-speed motion estimation apparatus and method | |
CN110869975A (zh) | 图像处理方法和设备,以及视频处理器 | |
EP2395473A1 (en) | System, data structure, and method for simultaneously retrieving multi-dimensional data with zero contention | |
US7689047B2 (en) | Reduced buffer size for JPEG encoding | |
US20080259089A1 (en) | Apparatus and method for performing motion compensation by macro block unit while decoding compressed motion picture | |
US6205181B1 (en) | Interleaved strip data storage system for video processing | |
JPH10178644A (ja) | 動画像復号装置 | |
EP1992162B1 (en) | Memory organizational scheme and controller architecture for image and video processing | |
CN111052742A (zh) | 图像处理 | |
US7496235B2 (en) | Scan line to block re-ordering buffer for image compression | |
US20080069220A1 (en) | Method for storing interpolation data | |
CN117177079B (zh) | 图像合成方法、计算机装置及计算机可读存储介质 | |
US20070040842A1 (en) | Buffer memory system and method | |
US10026149B2 (en) | Image processing system and image processing method | |
EP2073553A1 (en) | Method and apparatus for performing de-blocking filtering of a video picture | |
CN107241601B (zh) | 图像数据传输方法、装置及终端 | |
CN112131423A (zh) | 图片获取方法、装置及系统 | |
CN110392259A (zh) | 影像压缩系统及利用影像压缩系统以压缩影像画面的方法 | |
US11538195B2 (en) | Method and system for processing image data | |
US20050169541A1 (en) | Image signal processing apparatus and image signal processing method |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200306 |