CN112788291A - 一种呈现双通道图像的方法和相关产品 - Google Patents
一种呈现双通道图像的方法和相关产品 Download PDFInfo
- Publication number
- CN112788291A CN112788291A CN202011582105.4A CN202011582105A CN112788291A CN 112788291 A CN112788291 A CN 112788291A CN 202011582105 A CN202011582105 A CN 202011582105A CN 112788291 A CN112788291 A CN 112788291A
- Authority
- CN
- China
- Prior art keywords
- channel
- idx
- cnt
- image
- dst
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000009977 dual effect Effects 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 14
- 239000002131 composite material Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 38
- 239000011159 matrix material Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000009828 non-uniform distribution Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000009827 uniform distribution Methods 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本公开提供一种呈现多个双通道图像的方法和设备,该方法可以实现在计算装置中,其中计算装置可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。所述计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于计算装置和其他处理装置的数据。
Description
技术领域
本公开涉及计算机领域,更具体地,涉及图像处理领域。
背景技术
多路视频图像拼接成一路视频图像在数字图像处理和计算视觉等领域有着很广泛的应用,例如视频会议、网络教学等等。这使得多路视频图像拼接成一路视频图像的快速工程实现具有十分重要的意义;但是常见开源及公开的方法中,大多是基于较简单的单通道图像的拼接处理,相比于单通道和三通道图像,交叉排布的双通道图像拼接更为复杂一些。同时,随着人工智能技术的发展,以及更前沿领域的需要,对图像和视频的处理算法和性能提出了更高的要求,对计算性能要求的越来越高。但是,CPU的计算资源是宝贵的,所以使用硬件加速处理器进行图像视频的处理尤为重要。
发明内容
本公开的目的在于提供一种能够准确计算双通道图像在呈现容器中的位置的方案。
根据本公开的第一方面,提供一种呈现多个双通道图像的方法,所述双通道图像包括第一通道和第二通道,每个双通道图像具有索引标识idx,所述方法包括:构建呈现容器,所述呈现容器用于容纳所述多个双通道图像,所述呈现容器具有第一宽度dst_w和第一高度dst_h;接收多个双通道图像,所述双通道图像具有第一子宽度src_w和第一子高度src_h;确定每个双通道图像在所述呈现容器中的相应位置;将所述多个双通道图像拼接起来形成复合图像,以呈现在所述呈现容器中。
根据本公开的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,所述存储器中存储有计算机可执行指令,当所述计算机可执行指令由所述一个或多个处理器运行时,使得所述电子设备执行如上所述的方法。
根据本公开第三方面,提供一种计算机可读存储介质,包括计算机可执行指令,当所述计算机可执行指令由一个或多个处理器运行时,执行如上所述的方法。
本公开的技术方案可以快速处理图像和视频,并快速进行工程应用,具有节省CPU资源和性能高的特点;此外,本公开的技术方案还能够充分利用硬件资源,将数据一次性的加载,总体提升算法的性能。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1a和图1b示出了根据本公开一个实施方式的将多路视频显示在一个显示装置上的示意图;
图2示出了一种YUV格式的通道布设图;
图3示出了根据本公开一个实施方式的呈现多个双通道图像的方法;
图4示出了根据本公开的一个实施方式的确定每个双通道图像在所述呈现容器中的相应位置的方法流程图;
图5a至图5d示出了多种双通道图像在呈现容器中的多种显示模式;
图6示出了一种组合处理装置600;以及
图7示出了一种示例性板卡。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
图1a和图1b示出了根据本公开一个实施方式的将多路视频显示在一个显示装置上的示意图。
如图1a所示,多个摄像头1-n获取到多个图像,这多个图像被整合到一路信号中进行传输,并在显示之前进行前置处理,前置处理可以包括根据显示器的大小对图像的大小进行调整,以使得调整后的图像能够匹配显示器的大小。此外,在显示的时候,需要计算调整后的图像中各个像素在进行显示时在显示器中的位置。
在图1a中,可以将多个图像0-图像8进行均匀显示,即每路信号中图像的大小相同,这在远程监控,远程会议的应用场景下较为常见。
图1b示出了另外一种应用场景,例如在视频教学的情况下,需要突出一路图像(例如图1b中的图像0表示老师的图像),而其他图像(例如图像1-图像5表示学生的图像)则需要以更小的方式来显示。图1b这种不均匀的显示方式与图1a的显示方式需要不同的方式来计算像素在显示器中的位置。
图像可以存在多种编码方式,例如RGB(红绿蓝)编码方式和YUV编码方式。RGB是依据人眼识别的颜色定义出的空间,可表示大部分颜色。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。该模型可用于彩色监视器和彩色视频摄像。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。
另外一种为YUV编码方式。在YUV空间中,每一个颜色有一个亮度信号Y,和两个色度信号U和V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。
YUV编码方式相对于RGB编码方式占用更小的带宽,因此更有利于图像的传输。但是,相比于单通道和三通道图像(例如RGB图像),交叉排布的双通道图像(例如YUV)拼接更为复杂。
图2示出了一种YUV格式的通道布设图。
如图2所示,每四个Y分量(或通道)对应一个U分量和一个V分量。具体而言,分量Y1,Y2,Y9和Y10对应于分量U1和分量V1;分量Y3,Y4,Y11和Y12对应于分量U2和分量V2;分量Y5,Y6,Y13和Y14对应于分量U3和分量V3;分量Y7,Y8,Y15和Y16对应于分量U4和分量V4;分量Y17,Y18,Y25和Y26对应于分量U5和分量V5;分量Y19,Y20,Y27和Y28对应于分量U6和分量V6;分量Y21,Y22,Y29和Y30对应于分量U7和分量V7;以及分量Y23,Y24,Y31和Y32对应于分量U8和分量V8。
从图2中可看出,如图2所示的YUV格式,例如YUV420SP格式,每四个Y分量公用一个UV分量,U分量和V分量交叉设置,并且Y分量占用的空间是UV分量的两倍,换言之,Y分量占用的行数是UV分量所占用的行数的2倍,而Y分量占用的列数与UV分量占用的列数相同。
下面介绍如何将一个YUV格式的图像呈现在一个显示器中。
图3示出了根据本公开一个实施方式的呈现多个双通道图像的方法,所述双通道图像包括第一通道和第二通道,每个双通道图像具有索引标识idx,所述方法包括:在操作S310,构建呈现容器,所述呈现容器用于容纳所述多个双通道图像,所述呈现容器具有第一宽度dst_w和第一高度dst_h;在操作S320,接收多个双通道图像,所述双通道图像具有第一子宽度src_w和第一子高度src_h;在操作S330,确定每个双通道图像在所述呈现容器中的相应位置;以及,在操作S340,将所述多个双通道图像拼接起来形成复合图像,以呈现在所述呈现容器中。
如结合图2描述的那样,图3所述的双通道,是指Y通道和UV通道,每个图像均可以具有一个编号例如第0张图像,第1张图像,第2张图像等等。每个图像的索引可以按照接收的顺序来设置,也可以固定的分配。例如,前置处理装置首先接收到摄像头3获得的第一路视频信号,接下来接收到摄像头1获得的第二路信号,那么可以将该摄像头3获得的第一路视频信号中的图像的索引idx自动地分配为0,将摄像头1获得第二地热路视频信号中的图像的索引idx自动地分配为1,以此类推。
还可以为每个摄像头获得的视频信号中的图像分配固定的索引,例如摄像头1获得的视频信号的图像的索引固定为0,摄像头2获得的视频信号的图像的索引固定为1,摄像头3获得的视频信号的图像的索引固定为2等等。
上文所述的呈现容器,可以默认是一个显示器的全部屏幕,也可以是一个显示器中预设的一部分。该呈现容器的作用在于容纳接收到的视频或图像,其大小是可调的。
在本文中,可以设呈现容器的宽度为dst_w,高度为dst_h,双通道图像的第一子宽度为src_w,其第一子高度为src_h。
在此情况下,如果双通道图像的第一子宽度src_w和第一子高度src_h是固定的,那么以图1a所示的排列方式为例,该呈现容器每行能够容纳的双通道图像的数量w_cnt=dst_w/src_w,每列能够容纳的双通道图像的数量为h_cnt=dst_h/src_h,由此可以形成一个w_cnt*h_cnt的双通道图像矩阵。
在上文中,可能存在w_cnt=dst_w/src_w和h_cnt=dst_h/src_h不能整除的情况,对于这样的情况,可以丢弃或者补充若干像素以使得上述的计算能够整除。尽管丢弃或补充了若干像素,但由于丢弃或补充的像素数量很少,因此在视觉上并不会对用户造成实质性影响。
对于一个w_cnt*h_cnt的双通道图像矩阵,每个双通道图像的位置就是每个双通道图像在该矩阵中所处的行和列,一旦每个双通道图像在该矩阵中所处的行和列被确定,那么该双通道图像在该双通道图像矩阵中的位置就被确定。
在确定了每个双通道图像在呈现容器中的位置之后,可以确定每个双通道图像的分量(或通道)的具体位置,从而能够将多个双通道图像拼接为大的复合图像,并将复合图像整体显示在呈现容器中。
显然,为了在呈现容器中完整地显示上述的双通道图像,复合图像的大小不能大于呈现容器的大小,由此,当呈现容器固定时(例如当显示器大小固定时),则需要根据呈现容器的大小来调整图像的大小。
根据本公开的一个实施方式,本公开的方法进一步包括:接收多路图像信号;以及,调整所述多路图像信号的尺寸以形成所述多个双通道图像,以使得所述多个双通道图像的尺寸之和不大于所述呈现容器的尺寸。
在该实施方式中,可以根据呈现容器的大小来调整每个双通道图像的大小,以防止双通道图像之和大于呈现容器的大小。
根据本公开的一个实施方式,这种调整可以是响应于所述呈现容器的大小发生变化,自适应地调整所述多个双通道图像的尺寸。
例如,尽管可以将一个显示器作为默认的呈现容器,但本公开中也支持通过拖拽或者拉伸的方式来改变呈现容器的大小。例如,可以将一个显示窗口作为呈现容器,通过拉伸该显示窗口从而改变呈现容器的大小。在本公开中,可以检测该呈现容器的大小,并相应地调整所接收到的每路图像的大小,即当呈现容器变大时,增大每路图像的大小;当呈现容器变小时,则减小每路图像的大小。
如结合图2所示的那样,每个双通道图像由两个通道组成,因此,当确定了第一通道在呈现容器中的第一位置以及确定了第二通道在呈现容器中的第二位置后,则可以确定出每个双通道图像在呈现容器中的位置。
图4示出了根据本公开的一个实施方式的确定每个双通道图像在所述呈现容器中的相应位置的方法流程图。
如图4所示,在操作S410,首先确定所述呈现容器中能够容纳的双通道图像的排列方式。
排列方式可以根据实际的应用场景来选择,例如可以选择平均显示的模式,即每个双通道图像的大小是一致的,在呈现容器中均匀排布,如图1a所示的那样;也可以选择突出显示的模式,即多个双通道图像中有一个或多个双通道图像的大小不同于其他双通道图像,如图1b所示的那样。对于均匀显示的模式而言,可以是3*3,3*4,2*4,4*2等等各种类型。
接下来,在操作S420,可以根据双通道图像的排列方式和索引标识idx来确定每个双通道图像在所述呈现容器中的图像位置。
索引标识idx可以标识每个双通道图像的序号,例如接收到的第0个双通道图像的索引标识idx可以为0,接收到的第1个双通道图像的索引标识idx可以为1,接收到的第2个双通道图像的索引标识idx可以为2等等。
以一个3*3的显示模式而言,则每个双通道图像在呈现容器中的图像位置下表1所示:
Idx | 行 | 列 |
0 | 0 | 0 |
1 | 0 | 1 |
2 | 0 | 2 |
3 | 1 | 0 |
4 | 1 | 1 |
5 | 1 | 2 |
6 | 2 | 0 |
7 | 2 | 1 |
8 | 2 | 2 |
表1
在确定了每个双通道图像在呈现容器中的位置之后,可以确定该双通道图像中每个通道的具体位置。
每个通道也具有行位置和列位置,但每个通道的行位置和列位置与上面结合表1描述的每个双通道图像在呈现容器中的位置并不完全相同。
根据本公开的一个实施方式,确定所述第一通道在所述呈现容器中的第一位置包括:在操作S430,根据所述图像位置、所述第一宽度dst_w、第一子高度src_h和第一子宽度src_w来计算所述双通道图像的第一通道在所述呈现容器中的第一通道行位置和第一通道列位置,从而确定所述第一通道在所述呈现容器中的第一位置。
根据本公开的一个实施方式,确定所述第二通道在所述呈现容器中的第二位置包括:在操作S440,根据所述图像位置、所述第一宽度dst_w、第一子高度src_h的一半和第一子宽度src_w来计算所述双通道图像的第二通道在所述呈现容器中的第二通道行位置和第二通道列位置,从而确定所述第二通道在所述呈现容器中的第二位置。
由于每个双通道图像中的通道(分量)具有特定的排列方式,因此,基于每个双通道图像的大小,例如第一子高度src_h和第一子宽度src_w,可以得到每个通道在每个双通道图像中的位置。由此,在确定了每个双通道图像在呈现容器中的位置之后,可以根据二者来确定每个通道在呈现容器中的位置。
更进一步地,如上文中所述,在YUV格式的图像中,Y通道的宽度和每个双通道图像的宽度是相同的,高度也是相同的;而UV通道的宽度和每个双通道图像的宽度是相同的,但高度是双通道图像的高度的一半。根据YUV图像的这种特性,可以得到第一通道和第二通道在呈现容器中的位置。
下面将更具体地介绍确定每个通道在呈现容器中的位置的方法。需要理解的是,实际上仅需要确定出每个通道在相应的双通道图像中首地址的位置,然后即可连续地计算出每个双通道图像的后续地址在呈现容器中的位置。本文所述的“首地址”可以是指双通道图像中左上角第一个像素所处的地址。
首先介绍将所述多个双通道图像均匀地分布在所述呈现容器中的情形。
根据本公开的一个实施方式,可以通过如下方式来确定第一通道在呈现容器中的第一位置:
Seat_y=dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w,
其中,seat_y表示双通道图像中第一通道首地址在呈现容器中的位置。需要理解的是,首地址在呈现容器中的位置有多种计算维度,例如,可以计算该首地址在某个矩阵中具体的行和列,从而能够定位该首地址的位置;此外,如果将矩阵看做一个多行首尾连接的一维数组,那么可以计算该首地址处于该一维数组的第几个,从而也能够定位该首地址的位置。
首先,对于均匀分布的双通道图像而言,如上文所述,呈现容器中每行可放置的双通道图像的数量w_cnt=dst_w/src_w,而呈现容器中每列可放置的双通道图像的数量可以表示为h_cnt=dst_h/src_h。在本示例中,设w_cnt=3,h_cnt=3。
接下来,通过计算idx/w_cnt来确定idx帧双通道图像的第一通道在w_cnt*h_cnt阵列中所处的行,其中算子“/”为取整操作。例如,当idx=0时,0/3=0,因此将idx=0的双通道图像放置于第0行;当idx=1时,1/3=0,因此将idx=1的双通道图像放置于第0行;当idx=2时,2/3=0,因此将idx=2的双通道图像放置于第0行;当idx=3时,3/3=1,因此将idx=3的双通道图像放置于第1行;当idx=4时,4/3=1,因此将idx=4的双通道图像放置于第1行;当idx=7时,7/3=2,因此将idx=7的双通道图像放置于第2行;当idx=8时,8/3=2,因此将idx=8的双通道图像放置于第2行。
还可以通过idx%w_cnt来确定第idx帧双通道图像的第一通道在w_cnt*h_cnt阵列中所处的列,其中算子“%”为取余操作。例如,当idx=0时,0%3=0,因此将idx=0的双通道图像放置于第0列;当idx=2时,2%3=2,因此将idx=2的双通道图像放置于第2列;当idx=3时,3%3=0,因此将idx=3的双通道图像放置于第0列;当idx=4时,4%3=1,因此将idx=4的双通道图像放置于第1列;当idx=7时,7%3=1,因此将idx=7的双通道图像放置于第1列;当idx=8时,8%3=2,因此将idx=8的双通道图像放置于第2列。
接下来,当确定了每个双通道图像在w_cnt*h_cnt阵列中所处的行和列后,可以进一步计算双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处行和列。
可以通过src_h*(idx/w_cnt)来计算第idx帧双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的行。例如,可以理解的是,在3*3的双通道图像布局中,第0-2个双通道图像的首地址均处于dst_w*dst_h阵列中的第0行,这是直观上可以理解的,也是idx/w_cnt=0能够计算得到的。
设dst_w*dst_h=1920*1080,则在3*3的双通道图像布局中,每个双通道图像的大小理论上为src_w*src*h=640*360。对于idx=3的双通道图像,其第一通道首地址处于第360行,即src_h*(idx/w_cnt)=360*1;此外,对于idx=3的双通道图像而言,(idx%w_cnt)*src_w=0,因此该idx=3的双通道图像的第一通道的首地址处于第0列。而对于算式dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w,则表示该双通道图像的第一通道的首地址在1920*1080个像素的第1920*360*1+640*0个像素的位置。
进一步地,例如,对于idx=7的双通道图像,其第一通道的首地址处于第720行,即src_h*(idx/w_cnt)=720。此外,对于idx=7的双通道图像而言,(idx%w_cnt)*src_w=1*640,因此该第一通道的首地址处于第1*640列。而对于算式dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w,则表示该双通道图像的第一通道的首地址在1920*1080个像素的第1920*360*2+1*640个像素的位置。
接下来,当确定了每个双通道图像在w_cnt*h_cnt阵列中所处的行和列后,可以进一步计算双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处行和列。
可以通过src_h/2*(idx/w_cnt)来计算第idx帧双通道图像的第二通道在dst_w*dst_h阵列中所处的行。可以理解的是,在3*3的双通道图像布局中,第0-2个双通道图像的首地址均处于dst_w*dst_h阵列中的第0行,这是直观上可以理解的,也是idx/w_cnt=0能够计算得到的。
设dst_w*dst_h=1920*1080,则在3*3的双通道图像布局中,每个双通道图像的大小理论上为src_w*src*h=640*360。对于idx=3的双通道图像,其第二通道首地址处于第180行,即src_h/2*(idx/w_cnt)=180。此外,对于idx=3的双通道图像而言,(idx%w_cnt)*src_w=0,因此该第二通道的首地址处于第0列。而对于算式dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w,则表示该双通道图像的第二通道的首地址在1920*1080个像素的第1920*180*1+640*0个像素的位置。
进一步地,对于idx=7的双通道图像,其第二通道的首地址处于第360行,即src_h/2*(idx/w_cnt)=360。此外,对于idx=7的双通道图像而言,(idx%w_cnt)*src_w=1*640,因此该idx=7的双通道图像的第二通道的首地址处于第1*640列。而对于算式dst_w*src_h/2*(idx/w_cnt)+(idx%w_cnt)*src_w,则表示该双通道图像的第二通道的首地址在1920*1080个像素的第1920*360/2*2+1*640个像素的位置。
上面以示例的方式详细介绍了将多个双通道图像均匀分布在呈现容器中的情形,下面介绍将多个双通道图像非均匀地分布在所述呈现容器中的情形。
通常而言,当有一个或多个双通道图像的大小与其他双通道图像的大小不同时,需要非均匀地分布这些双通道图像。例如,在视频教学中,通常需要突出老师的视频画面,而学生的视频画面可以分布在老师的视频画面的周围,如图1b所示的那样。
在非均匀分布的情况下,某个大双通道图像的大小可能是其他小双通图像的若干倍,优选地为整数倍,例如与小双通道图像相比,可以占用2倍、3倍或4倍大小的面积。在本文中称为“突出双通道图像”。
根据本公开的一个实施方式,当在非均匀分布的情况下,所述多个双通道图像的大小不同并且包括至少一个突出双通道图像(例如如图1b所示的双通道图像0),在此情况下,则需要将不同的双通道图像以非均匀的模式来进行布置。
在图1b中,图像0为上述的突出双通道图像。通常,可以将该突出双通道图像的位置进行固定,从而该突出双通道图像的位置是容易确定的。在此情况下,需要确定其他双通道图像的位置。为了方便描述,在本文中将具有最小宽度和和最小高度的双通道图像称为基本双通道图像。需要理解的是,任何图像的宽和高都应当分别是基本双通道图像的宽和高的整数倍。如果不是整数倍,那么在显示的时候则将短缺的部分补齐,或者剪切掉剩余的部分。例如,如果某个突出双通道图像的宽是基本双通道图像的宽的1.5倍,那么在呈现容器中显示该突出双通道图像时,可以通过将该双通道图像的宽补充到基本双通道图像的宽的2倍,或者将该突出双通道图像的宽剪切为基本双通道图像的宽的1倍,从而显示出该突出双通道图像。
根据本公开的一个实施方式,可以通过如下方程来确定所述基本双通道图像的第一通道在所述呈现容器中的第一位置:
seat_y=dst_w*src_h*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w
其中,seat_y表示双通道图像中第一通道的首地址在呈现容器中的位置。
下面结合图5a至图5d所示的示例来详细解释以上的计算过程。
首先,对于非均匀分布的双通道图像而言,可以首先将要突出显示的双通道图像的位置进行固定。为了方便描述,本文中引入“预留索引标识”这样的概念。预留索引标识是假设一个呈现容器中均匀分布了多个预留基本双通道图像时,每个预留基本双通道图像应当具有的索引标识。以在呈现容器中容纳3*3的基本双通道图像为例,显示在第0行0列,0行1列,0行2列,1行0列,1行1列,1行2列,2行0列,2行1列以及2行2列的分别为预留基本双通道图像0’-8’。
在图5a所示的呈现容器中,双通道图像0为突出双通道图像,占用的空间为2*2个基本双通道图像,被固定在呈现容器的左上角,其占用了本来应当由预留基本双通道图像0’,1’,3’和4’(预留索引标识分别为0’,1’,3’,4’)占用的地址。因此,在图5a中,突出双通道图像0的首地址为0行0列。
在图5b所示的呈现容器中,双通道图像1为突出双通道图像,占用的空间为1*2个基本双通道图像,被固定在呈现容器的右上角,其占用了本来应当由预留基本双通道图像1’和2’占用的地址。因此,在图5b中,突出双通道图像1的首地址与预留基本双通道图像1’的首地址相同。
在图5c所示的呈现容器中,双通道图像3为突出双通道图像,占用的空间为2*1个基本双通道图像,被固定在呈现容器的左下角,其占用了本来应当由预留基本双通道图像3’和6’占用的地址。因此,在图5c中,突出双通道图像3的首地址与预留基本双通道图像3’的首地址相同。
在图5d所示的呈现容器中,双通道图像4为突出双通道图像,占用的空间为2*2个基本双通道图像,被固定在呈现容器的右下角,其占用了本来应当由预留基本双通道图像4’,5’,7’和8’占用的地址。因此,在图5d中,突出双通道图像4的首地址与预留基本双通道图像4’的首地址相同。
优选地,根据本公开的一个实施方式,突出双通道图像的idx应当与其占用给的第一个基本双通道图像的idx相同。
在上文中介绍了预留索引标识与预留基本双通道图像的概念之后,继续介绍在非均匀分布情形下各个图像的首地址的计算过程。
接下来,可以计算每行可放置的最小双通道图像的数量w_cnt=dst_w/min(src_w),其中,min(src_w)表示所有双通道图像中具有的最小第一子宽度(即基本双通道图像的基本宽度),呈现容器中每列可放置的最小双通道图像的数量h_cnt=dst_h/min(src_h),其中,min(src_h)表示所有双通道图像中具有的最小第一子高度(即基本双通道图像的基本高度)。对于图5a至图5d所示的情形,w_cnt=dst_w/min(src_w)=3,并且h_cnt=dst_h/min(src_h)=3。
由于突出双通道图像的位置较为明确,那么接下来主要介绍其他基本双通道图像的位置计算过程。例如,如图5a所示的那样,双通道图像0(idx=0)为突出双通道图像,其idx=0,显然,其首地址处于呈现容器的第0行和第0列。由此,当idx=0时,seat_y=0。
接下来,计算(idx+n)/w_cnt,“/”为取整计算,表示第idx帧基本双通道图像的第一通道在w_cnt*h_cnt阵列中所处的行,n为偏置量,表示所述基本双通道图像所处位置的预留索引标识与所述基本双通道图像的实际索引标识之间的差;或者表示突出双通道图像在基本双通道图像之前额外占用的基本双通道的数量。
如图5a为例,基本双通道图像1的idx=1,其处于原预留基本图像2’应当处的位置,因此对于基本双通道图像1而言,n=2-1=1;基本双通道图像2的idx=2,其处于原预留基本图像5’应当处的位置,因此对于基本双通道图像2而言,n=5-2=3;基本双通道图像3的idx=3,其处于原预留基本图像6’应当处的位置,因此对于基本双通道图像3而言,n=6-3=3;基本双通道图像4的idx=4,其处于原预留基本图像7’应当处的位置,因此对于基本双通道图像4而言,n=7-4=3;基本双通道图像5的idx=5,其处于原预留基本图像8’应当处的位置,因此对于基本双通道图像5而言,n=8-5=3。
上文中描述的n的定义,对于预先知晓如何定位这些基本双通道图像是有效的,但是,对于预先并不知晓各基本双通道图像放置位置的情况,可以通过突出显示图像来得到该偏置值n。
根据本公开的一个实施方式,n可以表示突出双通道图像在该基本双通道图像之前额外占用的基本双通道图像的数量。
以图5a为例,图像0为突出双通道图像,其占用了0’,1’,3’和4’四个位置,其中位置(或者预留基本双通道图像)0’为一个基本双通道图像应该占用的一个基本位置,1’,3’和4’为额外占用的位置。对于图像1而言,该图像1之前被占用的基本位置为位置1’,因此对于图像1而言,n=1。对于图像2,3,4和5而言,他们之前被占用的位置为位置1’,3’和4’,因此对于图像2,3,4和5而言,n=3。
以图5b为例,图像1为突出双通道图像,其占用了1’和2’两个位置,其中位置(或者预留基本双通道图像)1’为一个基本双通道图像应该占用的一个基本位置,2’为额外占用的位置。对于图像0而言,其之前未被占用任何空间;对于图像2而言,该图像2之前被占用的基本位置为位置2’,因此对于图像2而言,n=1。对于图像3,4,5,6和7而言,他们之前被占用的位置为位置2’,因此n=1。
以图5c为例,图像3为突出双通道图像,其占用了3’和6’两个位置,其中位置(或者预留基本双通道图像)3’为一个基本双通道图像应该占用的一个基本位置,6’为额外占用的位置。对于图像0,1,2,4和5而言,其之前未被占用任何空间;对于图像6和7而言,之前被占用的基本位置为位置6’,因此对于图像6和7而言,n=1。
以图5d为例,图像4为突出双通道图像,其占用了4’,5’,7’和8’四个位置,其中位置(或者预留基本双通道图像)4’为一个基本双通道图像应该占用的一个基本位置,5’,7’和8’为额外占用的位置。对于图像0,1,2和3而言,其之前未被占用任何空间;对于图像5而言,该图像5之前被占用的基本位置为位置5’,因此对于图像5而言,n=1。
类似地,可以通过(idx+n)%w_cnt来计算第idx帧基本双通道图像的第一通道在w_cnt*h_cnt阵列中所处的列,其中“%”为取余操作,上文已经根据均匀分布的情况详细做了介绍,这里将不再赘述。
具体而言,以图5a为例,图像0为突出双通道图像。对于图像1而言,n=1,因此idx+1=2,(idx+n)%w_cnt=(1+1)%3=2,其处于第2列;对于图像2,3,4和5而言,n=3,因此对于图像2而言,(2+3)%3=2,其处于第2列;对于图像3而言,(3+3)%3=0,其处于第0列;对于图像4而言,(4+3)%3=1,其处于第1列;对于图像5而言,(5+3)%3=2,其处于第2列。
以图5b为例,对于图像0而言,n=0,因此idx+0=0,(idx+n)%w_cnt=(0+0)%3=0,其处于第0列;对于图像2,3,4,5,6和7而言,n=1,因此对于图像2而言,(2+1)%3=0,其处于第0列;对于图像3而言,(3+1)%3=1,其处于第1列;对于图像4而言,(4+1)%3=2,其处于第2列;对于图像5而言,(5+1)%3=0,其处于第0列;对于图像6而言,(6+1)%3=1,其处于第1列;对于图像7而言,(7+1)%3=2,其处于第2列。
以图5c为例,对于图像0,1,2,4和5而言,n=0,这里将不再计算。对于图像6和7而言,n=1,因此对于图像6而言,(6+1)%3=1,其处于第1列;对于图像7而言,(7+1)%3=2,其处于第2列。
在确定了偏置值n以及每个图像所处的行和列之后,可以通过src_h*((idx+n)/w_cnt)来计算第idx帧基本双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的行,以及通过(idx+n)%w_cnt*src_w来计算idx帧基本双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的列。
更进一步地,在得到双通道图像第一通道的首地址的行和列之后,可以进一步根据dst_w*src_h*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w来得到双通道图像中第一通道的首地址在dst_w*dst_h个像素中所处的位置。
在上文中,已结合dst_w*dst_h=1920*1080,w_cnt*h_cnt=3*3的情况描述了均匀分布矩阵中各个双通道图像的首地址的计算过程,这里将不再赘述。需要理解的是,均匀分布实际上是非均匀分布的一种特例,即所有基本双通道图像的偏置值n均为0,而在非均匀分布的情况下,偏置值n的值根据突出双通道图像的大小、位置以及其他基本双通道图像与基本双通道图像的相对位置而不同,因此在计算过程中需要将idx与该偏置值相加而得到每个基本双通道图像的实际位置。
类似地,可以根据如下方程来确定所述第二通道在所述呈现容器中的第二位置:Seat_uv=dst_w*src_h/2*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w,其中,Seat_uv表示双通道图像中第二通道首地址在呈现容器中的位置;w_cnt=dst_w/min(src_w),其中,min(src_w)表示基本双通道的基本宽度,w_cnt表示呈现容器中每行可放置的基本双通道图像的数量;h_cnt=dst_h/min(src_h),其中,min(src_h)表示基本双通道图像的基本高度,h_cnt表示呈现容器中每列可放置的基本双通道图像的数量;(idx+n)/w_cnt为取整计算,表示第idx帧基本双通道图像的第二通道在w_cnt*h_cnt阵列中所处的行,n为偏置量,表示所述基本双通道图像所处位置的预留索引标识与所述基本双通道图像的实际索引标识之间的差;src_h/2*((idx+n)/w_cnt)表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的行;(idx+a)%w_cnt(idx+b)%w_cnt为取余计算,表示第idx帧基本双通道图像的第二通道在w_cnt*h_cnt阵列中所处的列;(idx+n)%w_cnt*src_w表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的列;dst_w*src_h/2*((idx+n)/w_cnt)+(idx+n)%w_cnt)*src_w表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h个像素中所处的位置。
可以理解的是,根据YUV的排布规则,UV通道所处的行与是Y通道所处的行的一半,根据以上方程式,可以容易地得到各个双通道图像中UV通道的首地址。上文中已经结合均匀分布进行了描述,这里将不再赘述。
需要理解的是,尽管本申请中以YUV 420SP为例描述了本公开的技术方案,但是本公开的技术思想同样可应用于其他格式的YUV图像,本文将不再赘述。
本申请还提供过一种电子设备,其包括一个或多个处理器;以及存储器,所述存储器中存储有计算机可执行指令,当所述计算机可执行指令由所述一个或多个处理器运行时,使得所述电子设备执行如上所述的方法。
本公开还提供一种计算机可读存储介质,包括计算机可执行指令,当所述计算机可执行指令由一个或多个处理器运行时,执行如上所述的方法。
本公开的技术方案可以快速处理图像和视频,并快速进行工程应用,具有节省CPU资源和性能高的特点;此外,本公开的技术方案还能够充分利用硬件资源,将数据一次性的加载,总体提升算法的性能。
本公开的技术方案可应用于人工智能领域,实现为或者实现在人工智能芯片中。该芯片可以单独存在,也可以包含在计算装置中。
图6示出了一种组合处理装置600,其包括上述的计算装置602,通用互联接口604,和其他处理装置606。根据本公开的计算装置与其他处理装置进行交互,共同完成用户指定的操作。图6为组合处理装置的示意图。
其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为机器学习运算装置与外部数据和控制的接口,包括数据搬运,完成对本机器学习运算装置的开启、停止等基本控制;其他处理装置也可以和机器学习运算装置协作共同完成运算任务。
通用互联接口,用于在计算装置(包括例如机器学习运算装置)与其他处理装置间传输数据和控制指令。该计算装置从其他处理装置中获取所需的输入数据,写入该计算装置片上的存储装置;可以从其他处理装置中获取控制指令,写入计算装置片上的控制缓存;也可以读取计算装置的存储模块中的数据并传输给其他处理装置。
可选的,该结构还可以包括存储装置608,存储装置分别与所述计算装置和所述其他处理装置连接。存储装置用于保存在所述计算装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本计算装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一些实施例里,本披露还公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,本披露还公开了一种板卡,其包括了上述芯片封装结构。参阅图7,其提供了一种示例性的板卡,上述板卡除了包括上述芯片702以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件704、接口装置706和控制器件708。
所述存储器件与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元710。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备712(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。在另一个实施例中,所述接口装置还可以是其他的接口,本披露并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
在一些实施例里,本披露还公开了一种电子设备或装置,其包括了上述板卡。
电子设备或装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本披露所提供的几个实施例中,应该理解到,所披露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、光学、声学、磁性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本披露各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,当本披露的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。
Claims (14)
1.一种呈现多个双通道图像的方法,所述双通道图像包括第一通道和第二通道,每个双通道图像具有索引标识idx,所述方法包括:
构建呈现容器,所述呈现容器用于容纳所述多个双通道图像,所述呈现容器具有第一宽度dst_w和第一高度dst_h;
接收多个双通道图像,所述双通道图像具有第一子宽度src_w和第一子高度src_h;
确定每个双通道图像在所述呈现容器中的相应位置;
将所述多个双通道图像拼接起来形成复合图像,以呈现在所述呈现容器中。
2.根据权利要求1所述的方法,进一步包括:
接收多路图像信号;
调整所述多路图像信号的尺寸以形成所述多个双通道图像,以使得所述多个双通道图像的尺寸之和不大于所述呈现容器的尺寸。
3.根据权利要求2所述的方法,进一步包括:响应于所述呈现容器的大小发生变化,自适应地调整所述多个双通道图像的尺寸。
4.根据权利要求1-3中任意一项所述的方法,其中,确定每个双通道图像在所述呈现容器中的相应位置包括:
确定所述第一通道在所述呈现容器中的第一位置;以及
确定所述第二通道在所述呈现容器中的第二位置。
5.根据权利要求4所述的方法,其中,确定每个双通道图像在所述呈现容器中的相应位置包括:
确定所述呈现容器中能够容纳的双通道图像的排列方式;
根据双通道图像的排列方式和索引标识idx来确定每个双通道图像在所述呈现容器中的图像位置;
并且其中,
确定所述第一通道在所述呈现容器中的第一位置包括:
根据所述图像位置、所述第一宽度dst_w、第一子高度src_h和第一子宽度src_w来计算所述双通道图像的第一通道在所述呈现容器中的第一通道行位置和第一通道列位置,从而确定所述第一通道在所述呈现容器中的第一位置;以及
确定所述第二通道在所述呈现容器中的第二位置包括:
根据所述图像位置、所述第一宽度dst_w、第一子高度src_h的一半和第一子宽度src_w来计算所述双通道图像的第二通道在所述呈现容器中的第二通道行位置和第二通道列位置,从而确定所述第二通道在所述呈现容器中的第二位置。
6.根据权利要求5所述的方法,其中,所述多个双通道图像的大小相同,确定所述呈现容器中能够容纳的双通道图像的排列方式包括:将所述多个双通道图像均匀地分布在所述呈现容器中。
7.根据权利要求6所述的方法,其中,通过如下方程来确定所述第一通道在所述呈现容器中的第一位置:Seat_y=dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w,其中,seat_y表示双通道图像中第一通道首地址在呈现容器中的位置;w_cnt=dst_w/src_w表示呈现容器中每行可放置的双通道图像的数量,h_cnt=dst_h/src_h表示呈现容器中每列可放置的双通道图像的数量;idx/w_cnt为取整计算,表示第idx帧双通道图像的第一通道在w_cnt*h_cnt阵列中所处的行;src_h*(idx/w_cnt)表示第idx帧双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的行;idx%w_cnt为取余计算,表示第idx帧双通道图像的第一通道在w_cnt*h_cnt阵列中所处的列;idx%w_cn*src_w表示第idx帧双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的列;dst_w*src_h*(idx/w_cnt)+(idx%w_cnt)*src_w表示所述第idx帧双通道图像的第一通道的首地址在dst_w*dst_h个像素中所处的位置。
8.根据权利要求6所述的方法,其中,通过如下方程来确定所述第二通道在所述呈现容器中的第二位置:
seat_uv=dst_w*src_h/2*(idx/w_cnt)+(idx%w_cnt)*src_w;
其中,seat_uv表示双通道图像中第二通道首地址在呈现容器中的位置;w_cnt=dst_w/src_w表示呈现容器中每行可放置的双通道图像的数量,h_cnt=dst_h/src_h表示呈现容器中每列可放置的双通道图像的数量;idx/w_cnt为取整计算,表示第idx帧双通道图像的第二通道在w_cnt*h_cnt阵列中所处的行;src_h/2*(idx/w_cnt)表示第idx帧双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的行;idx%w_cnt为取余计算,表示第idx帧双通道图像的第二通道在w_cnt*h_cnt阵列中所处的列;idx%w_cn*src_w表示第idx帧双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的列;dst_w*src_h/2*(idx/w_cnt)+(idx%w_cnt)*src_w表示第idx帧双通道图像的第二通道的首地址在dst_w*dst_h个像素中所处的位置。
9.根据权利要求5所述的方法,其中,所述多个双通道图像的大小不同并且包括突出双通道图像和基本双通道图像,所述突出双通道图像具有突出宽度和突出高度,所述基本双通道图像具有最小的基本宽度和基本高度,所述突出双通道图像的突出宽度和突出高度分别为所述基本双通道图像的基本宽度和基本高度的整数倍;确定所述呈现容器中能够容纳的双通道图像的排列方式包括:将所述多个双通道图像非均匀地分布在所述呈现容器中。
10.根据权利要求9所述的方法,通过如下方程来确定所述基本双通道图像的第一通道在所述呈现容器中的第一位置:
seat_y=dst_w*src_h*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w
其中,seat_y表示基本双通道图像中第一通道首地址在呈现容器中的位置;
w_cnt=dst_w/min(src_w),其中,min(src_w)表示基本双通道图像的基本宽度,w_cnt表示呈现容器中每行可放置的基本双通道图像的数量;
h_cnt=dst_h/min(src_h),其中,min(src_h)表示基本双通道图像的基本高度,h_cnt表示呈现容器中每列可放置的基本双通道图像的数量;
(idx+n)/w_cnt为取整计算,表示第idx帧基本双通道图像的第一通道在w_cnt*h_cnt阵列中所处的行,n为偏置量,表示所述基本双通道图像所处位置的预留索引标识与所述基本双通道图像的实际索引标识之间的差,或者表示突出双通道图像在基本双通道图像之前额外占用的基本双通道的数量;
src_h*((idx+n)/w_cnt)表示第idx帧基本双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的行;
(idx+n)%w_cnt(idx+b)%w_cnt为取余计算,表示第idx帧基本双通道图像的第一通道在w_cnt*h_cnt阵列中所处的列;
((idx+n)%w_cnt)*src_w表示第idx帧基本双通道图像的第一通道的首地址在dst_w*dst_h阵列中所处的列;
dst_w*src_h*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w表示第idx帧基本双通道图像的第一通道的首地址在dst_w*dst_h个像素中所处的位置。
11.根据权利要求9所述的方法,其中,通过如下方程来确定所述第二通道在所述呈现容器中的第二位置:
Seat_uv=dst_w*src_h/2*((idx+n)/w_cnt)+((idx+n)%w_cnt)*src_w
其中,Seat_uv表示双通道图像中第二通道首地址在呈现容器中的位置;
w_cnt=dst_w/min(src_w),其中,min(src_w)表示基本双通道的基本宽度,w_cnt表示呈现容器中每行可放置的基本双通道图像的数量;
h_cnt=dst_h/min(src_h),其中,min(src_h)表示基本双通道图像的基本高度,h_cnt表示呈现容器中每列可放置的基本双通道图像的数量;
(idx+n)/w_cnt为取整计算,表示第idx帧基本双通道图像的第二通道在w_cnt*h_cnt阵列中所处的行,n为偏置量,表示所述基本双通道图像所处位置的预留索引标识与所述基本双通道图像的实际索引标识之间的差,或者表示突出双通道图像在基本双通道图像之前额外占用的基本双通道的数量;
src_h/2*((idx+n)/w_cnt)表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的行;
(idx+a)%w_cnt(idx+b)%w_cnt为取余计算,表示第idx帧基本双通道图像的第二通道在w_cnt*h_cnt阵列中所处的列;
(idx+n)%w_cnt*src_w表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h阵列中所处的列;
dst_w*src_h/2*((idx+n)/w_cnt)+(idx+n)%w_cnt)*src_w表示第idx帧基本双通道图像的第二通道的首地址在dst_w*dst_h个像素中所处的位置。
12.根据权利要求1-11中任意一项所述的方法,其中,所述双通道图像为YUV格式的图像。
13.一种电子设备,包括:
一个或多个处理器;以及
存储器,所述存储器中存储有计算机可执行指令,当所述计算机可执行指令由所述一个或多个处理器运行时,使得所述电子设备执行如权利要求1-12中任意一项所述的方法。
14.一种计算机可读存储介质,包括计算机可执行指令,当所述计算机可执行指令由一个或多个处理器运行时,执行如权利要求1-12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582105.4A CN112788291B (zh) | 2020-12-28 | 2020-12-28 | 一种呈现双通道图像的方法和相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011582105.4A CN112788291B (zh) | 2020-12-28 | 2020-12-28 | 一种呈现双通道图像的方法和相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112788291A true CN112788291A (zh) | 2021-05-11 |
CN112788291B CN112788291B (zh) | 2023-03-28 |
Family
ID=75752920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011582105.4A Active CN112788291B (zh) | 2020-12-28 | 2020-12-28 | 一种呈现双通道图像的方法和相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112788291B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060053690A (ko) * | 2004-11-17 | 2006-05-22 | 삼성전자주식회사 | 이동통신 단말기에서 작은 사진들을 멀티-뷰 프레임으로표시하는 장치 및 방법 |
CN101500151A (zh) * | 2009-02-03 | 2009-08-05 | 长峰科技工业集团公司 | 一种视频监控方法和监控系统、及视频通信控制器 |
KR20120135393A (ko) * | 2012-11-27 | 2012-12-13 | 주식회사 영국전자 | 울타리 감시 시스템 및 이에 있어서의 영상 신호 처리 방법 |
CN104320635A (zh) * | 2014-11-21 | 2015-01-28 | 国家电网公司 | 基于视频的gis开关位置远程在线监测系统 |
CN109120869A (zh) * | 2018-11-07 | 2019-01-01 | 深圳市道通智能航空技术有限公司 | 双光图像整合方法、整合设备及无人机 |
CN109688374A (zh) * | 2018-12-12 | 2019-04-26 | 深圳慧源创新科技有限公司 | 无人机双路图传分屏显示技术 |
CN110191314A (zh) * | 2019-05-07 | 2019-08-30 | 百度在线网络技术(北京)有限公司 | 基于安卓系统的摄像头数据处理方法、装置和车载设备 |
CN111125628A (zh) * | 2019-12-24 | 2020-05-08 | 上海寒武纪信息科技有限公司 | 人工智能处理器处理二维数据矩阵的方法和设备 |
CN111263208A (zh) * | 2018-11-30 | 2020-06-09 | 杭州海康威视数字技术股份有限公司 | 一种画面合成方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-28 CN CN202011582105.4A patent/CN112788291B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060053690A (ko) * | 2004-11-17 | 2006-05-22 | 삼성전자주식회사 | 이동통신 단말기에서 작은 사진들을 멀티-뷰 프레임으로표시하는 장치 및 방법 |
CN101500151A (zh) * | 2009-02-03 | 2009-08-05 | 长峰科技工业集团公司 | 一种视频监控方法和监控系统、及视频通信控制器 |
KR20120135393A (ko) * | 2012-11-27 | 2012-12-13 | 주식회사 영국전자 | 울타리 감시 시스템 및 이에 있어서의 영상 신호 처리 방법 |
CN104320635A (zh) * | 2014-11-21 | 2015-01-28 | 国家电网公司 | 基于视频的gis开关位置远程在线监测系统 |
CN109120869A (zh) * | 2018-11-07 | 2019-01-01 | 深圳市道通智能航空技术有限公司 | 双光图像整合方法、整合设备及无人机 |
CN111263208A (zh) * | 2018-11-30 | 2020-06-09 | 杭州海康威视数字技术股份有限公司 | 一种画面合成方法、装置、电子设备及存储介质 |
CN109688374A (zh) * | 2018-12-12 | 2019-04-26 | 深圳慧源创新科技有限公司 | 无人机双路图传分屏显示技术 |
CN110191314A (zh) * | 2019-05-07 | 2019-08-30 | 百度在线网络技术(北京)有限公司 | 基于安卓系统的摄像头数据处理方法、装置和车载设备 |
CN111125628A (zh) * | 2019-12-24 | 2020-05-08 | 上海寒武纪信息科技有限公司 | 人工智能处理器处理二维数据矩阵的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112788291B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6503061B2 (ja) | 画像合成方法、画像チップ及び画像デバイス | |
CN106909333B (zh) | 显示屏的配屏方法及装置 | |
CN111902824B (zh) | 通过像素值到像素的映射控制图像显示 | |
CN108322722B (zh) | 基于增强现实的图像处理方法、装置及电子设备 | |
US11183105B2 (en) | Display panel and device, image processing method and device, and virtual reality system | |
WO2022156129A1 (zh) | 图像处理方法、图像处理装置及计算机设备 | |
CN108055578A (zh) | 一种图像处理方法、装置及视频信号拼接处理器 | |
CN112929672B (zh) | 一种视频压缩方法、装置、设备及计算机可读存储介质 | |
US11150858B2 (en) | Electronic devices sharing image quality information and control method thereof | |
US11321812B2 (en) | Display method, display device, virtual reality display device, virtual reality device, and storage medium | |
CN109688395B (zh) | 运算方法、装置及相关产品 | |
CN111125628A (zh) | 人工智能处理器处理二维数据矩阵的方法和设备 | |
CN109495697A (zh) | 基于视频切割的多屏幕扩展方法、系统、存储介质及终端 | |
CN112954452B (zh) | 视频生成方法、装置、终端及存储介质 | |
CN110737321A (zh) | 一种低功耗显示背景图像的图像显示装置及其方法 | |
US20140204005A1 (en) | System, method, and computer program product for distributed processing of overlapping portions of pixels | |
CN112788291B (zh) | 一种呈现双通道图像的方法和相关产品 | |
US20170310872A1 (en) | Image dynamic range adjustment method, terminal, and storage medium | |
CN109214977B (zh) | 图像处理装置及其控制方法 | |
CN111813449A (zh) | 运算方法、装置及相关产品 | |
CN109889765A (zh) | 视频处理方法、视频处理装置和会议系统 | |
CN109614064A (zh) | 一种图片显示方法、图片显示装置及终端设备 | |
DE102015113930B4 (de) | Bildverarbeitungsvorrichtung, Bildverarbeitungssystem und Verfahren zur Bildverarbeitung | |
CN116777739A (zh) | 图像处理方法、游戏渲染方法、装置、设备及存储介质 | |
CN111223105B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |