一种量子图像制备方法与流程

文档序号:12279737阅读:416来源:国知局
一种量子图像制备方法与流程

本发明涉及量子图像处理领域,尤其涉及一种量子图像制备方法,具体涉及一种基于离散余弦变换(DCT变换)和JPEG压缩来降低量子图像输入过程中所需操作的方法。



背景技术:

量子计算机靠量子比特来存储信息。与经典比特不同,量子比特有两个显著特点:一是叠加,二是纠缠。

叠加指得是一个量子比特可以同时存储0和1。量子计算机中的0和1与经典计算机中的0和1也有不同,量子计算机中叫做状态|0>和状态|1>。叠加态中既有|0>,又有|1>,表示为α|0>+β|1>,其中α22=1,且|0>和|1>所占的比重分别为α2和β2。多个量子比特也可以叠加,比如两个量子比特,可以同时存储|00>,|01>,|10>,|11>四个状态,表示为α|00>+β|01>+γ|10>+λ|11>,其中α2222=1,且|00>,|01>,|10>,|11>所占比重分别为α2222

纠缠指得是两个量子比特存储的状态之间互相影响的现象。比如两个量子比特所处的状态为那么如果第一个量子比特处在|0>状态,则第二个量子比特也一定处在|0>状态;如果第一个量子比特处在|1>状态,则第二个量子比特也一定处在|1>状态。此时,两个量子比特纠缠在一起,要么都处在|0>状态,要么都处在|1>状态。多个量子比特也可以纠缠。

叠加和纠缠带来的好处是量子计算机的高度并行性。在经典计算机上需要一个一个来处理的问题,在量子计算机上由于叠加存储在一起,只处理一次就可以解决。

近几年,量子图像处理逐渐成为量子计算领域的一个研究热点,指的是在量子计算机上进行图像处理。它有三个基本步骤:(1)将图像输入到量子计算机中,叫做量子图像制备。(2)用量子计算机处理图像。(3)通过量子测量得到处理后的结果。

量子图像制备与量子图像在量子计算机中的存储方式有密切关系。图像在量子计算机中的存储方式不一样,那么输入到计算机中的方法也会有区别。在通用量子图像存储方法(GQIR)中,一个尺寸为2n×2n、色深为q的图像需要用2n+q个量子比特来存储。其中的q个量子比特用来存储颜色信息,n个量子比特用来存储X坐标信息,另外n个量子比特用来存储Y坐标信息。在GQIR中,每个用来存储X坐标信息的量子比特中,|0>和|1>出现的比重各占因此n个这样量子比特连在一起可以存储00…00、00…01、……、11…11所有2n个X坐标信息。同样的道理,n个用来存储Y坐标信息的量子比特可以表示所有2n个Y坐标信息。用来存储颜色信息的量子比特的值中,|0>和|1>出现的比重根据图像的内容来设置,且与坐标信息纠缠在一起,即像素的颜色和坐标对应起来,以此存储整个图像。

由此可以看到,GQIR量子图像存储方法与经典图像存储方法有很大的不同。一个尺寸为2n×2n、色深为q的图像,在经典计算机上需要2n×2n×q个比特来存储,而在量子计算机上,只需要2n+q个量子比特来存储。

GQIR量子图像制备由三个步骤组成:

1.准备2n+q个初始态为|0>的量子比特。

2.用2n个Hadamard操作制备X和Y坐标信息。Hadamard操作是量子计算中的一个基本操作,其作用是将|0>状态变为|0>和|1>各占的叠加态。2n个Hadamard操作将所有存储坐标信息的2n个量子比特全部变为|0>和|1>各占的叠加态,即叠加存储从00…00到11…11所有坐标信息。

3.用若干个2n-CNOT操作设置像素颜色值。2n-CNOT操作也是量子计算中的一个基本操作,共操作2n+1个量子比特,其中2n个是控制位,1个目标位,控制位有1-控制和0-控制两种,目标位是一个取反操作。当满足控制条件时,目标位取反;如果不满足控制条件则什么也不做。比如一个2-CNOT操作,共操作3个量子比特a、b、c,假设a、b是控制位,c是目标位,且a是1-控制,b是0-控制,则当且仅当a处在|1>状态且b处在|0>状态时,目标位c取反,即:如果c原来为|1>则变为|0>;如果c原来为|0>则变为|1>。用来设置颜色值的2n-CNOT操作,控制位是存储坐标信息的那2n个量子比特,目标位是q个颜色信息中的一个,具体是哪一个,要根据图像内容来设置。比如(0,0)位置的像素值是129,即二进制的10000001,则设置这个像素值需要两个2n-CNOT操作,这两个2n-CNOT操作的控制位全部是0-控制,目标位一个在颜色信息的第0位,一个在颜色信息的第7位。可见,本步骤中用到的2n-CNOT操作的个数等于所有二进制像素值中比特1的个数。

该制备过程最复杂的操作是第3步,其复杂度等于所有二进制像素值中比特1的个数。假设所有比特取值为1和取值为0的概率相等,则所有二进制像素值中比特1的个数为即制备过程的复杂度是比如一个1024×1024的24位彩色图像,制备它的复杂度为1024×1024×24/2=12582912。这是一个相当高的复杂度,因此,本发明给出一种新的量子图像制备方法,以降低制备复杂度。



技术实现要素:

本发明的目的在于提供一种高效的GQIR量子图像制备方法,减少量子图像输入过程中所需的操作。

为了实现上述目的,本发明所采用如下的技术方案:

一种量子图像制备方法,包括:

步骤S1、对每一个8×8图像块进行二维DCT变换,并用量化矩阵进行量化,得到量化后的DCT系数;

步骤S2、采用Hadamard操作和2n-CNOT将量化后的DCT系数输入到量子计算机中;

步骤S3、在量子计算机上将量化后的DCT系数转换为像素值,完成量子图像的制备。

作为优选,步骤S2具体包括以下步骤:

步骤S2.1、准备2n+q个初始态为|0>的量子比特;

步骤S2.2、采用2n个Hadamard操作制备X和Y坐标信息;

步骤S2.3、采用若干个2n-CNOT操作将量化后的整体DCT系数输入到量子计算机中。

作为优选,步骤S3具体包括以下步骤:

步骤S3.1、将量化矩阵输入到量子计算机中,所述量化矩阵是8×8,且量化矩阵中的元素一般不超过像素值的一半,采用6+(q-1)=q+5个初始态为|0>的量子比特即可,其中6个存储坐标信息,q-1个存储矩阵的值;通过6个Hadamard操作和若干个6-CNOT操作输入量化矩阵。

步骤S3.2、在量子量化矩阵的作用下,对量子DCT系数进行逆量化操作,得到重构后的DCT系数,即解量化后的DCT系数。

步骤S3.3、对重构后的DCT系数进行逆DCT操作,得到量子图像。

本发明量子图像制备方法,首先进行预处理过程,产生量化后的DCT系数;然后将量化后的DCT系数输入到量子计算机中;最后在量子计算机上,将量化后的DCT系数转换为像素值,完成量子图像的制备,本发明采用基于DCT变换,以提高制备效率,即减少制备过程所需操作。

附图说明

图1是本发明量子图像制备方法的流程图;

图2是预处理流程;

图3是制备过程;

图4是量子转换流程;

图5是逆量化过程;

图6是逆DCT过程。

具体实施方式

为了使本发明的目的、技术方案及优点更加清晰,下面将结合附图就实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1是本发明一种高效的量子图像制备方法的处理流程。由三个步骤组成:首先进行预处理过程,产生量化后的DCT系数。然后将量化后的DCT系数输入到量子计算机中。最后在量子计算机上,将量化后的DCT系数转换为像素值,完成量子图像的制备。其中预处理过程在经典计算机上完成,量子转换过程在量子计算机上完成,DCT系数的制备过程是由经典计算机到量子计算机的转换接口。

图2给出预处理流程。将图像分为8×8大小的图像块,对每一个图像块进行同样的处理。首先对图像块进行二维DCT变换,得到DCT系数。DCT系数也是一个8×8矩阵,最左上角的元素是直流系数,越往右下角方向,越是高频系数。然后用量化矩阵对DCT系数进行量化。量化矩阵是一个8×8的正整数矩阵,所谓的量化就是用DCT系数矩阵中的每个元素除以量化矩阵中的对应元素,并四舍五入取整,产生一个8×8的整数矩阵,即量化后的DCT系数。在该矩阵中,出现大量的0元素,且非0元素多集中在左上角。

8×8分块、二维DCT变换、量化这三个步骤与JPEG压缩的前三个步骤是相同的,但是后面的处理与JPEG压缩完全不一样。本发明不需要对量化后的系数进行zigzag编码、熵编码等处理,而是直接将一个一个8×8的量化后的DCT系数矩阵,按照分块时的顺序,重新拼接为一个与原图像同样大小的矩阵,叫做量化后的整体DCT系数。

图3是本发明的制备过程。首先准备2n+q个初始态为|0>的量子比特。然后用2n个Hadamard操作制备X和Y坐标信息。最后用若干个2n-CNOT操作将量化后的整体DCT系数输入到量子计算机中。

图中,数据的运算顺序为从左到右。方框中间一个大写的H表示的是Hadamard操作,将初始态为|0>的X和Y坐标信息变为|0>和|1>各占的叠加态,所有2n个Hadamard操作可并行执行。Hadamard操作后面的操作为若干个2n-CNOT操作,用来设置DCT系数的值,其中前q-1个量子比特存储DCT系数的绝对值,第q个量子比特存储DCT系数的符号:若DCT系数为正,则符号位为0;否则符号位为1。2n-CNOT操作中的空心圆圈和实心圆圈是控制位,空心圆圈表示0-控制,实心圆圈表示1-控制。较大的圆圈中间一个“十”字是目标位,当满足控制条件时,目标位取反。图3中虽然画出5个2n-CNOT操作,但这只是一个例子,实际应用时需要根据量化后的整体DCT系数来设置。

图4是本发明的量子转换流程,用来将输入的量子DCT系数转换为量子图像。

首先用与图3类似的过程将量化矩阵输入到量子计算机中,由于量化矩阵是8×8的,且量化矩阵中的元素一般不超过像素值的一半,因此,准备6+(q-1)=q+5个初始态为|0>的量子比特即可,其中6个存储坐标信息,q-1个存储矩阵的值。用6个Hadamard操作和若干个6-CNOT操作输入量化矩阵。

然后在量子量化矩阵的作用下,对量子DCT系数进行逆量化操作,得到重构后的DCT系数,即解量化后的DCT系数。

最后对重构后的DCT系数进行逆DCT操作,得到量子图像。

图5是本发明的逆量化过程。其中上半部分是量子量化矩阵,下半部分是在图3中制备的量子DCT系数,最下面的是一个辅助量子比特g。图中有4条横线较粗,且其上有一条小斜线,旁边有一个数字,这表示多个量子比特,数字给出量子比特的个数。

首先用6个1-CNOT操作判断量化矩阵的坐标信息是否与量子DCT系数X和Y坐标信息的各低3比特相同,即是否yQ2=y2,yQ1=y1,yQ0=y0,xQ2=x2,xQ1=x1,xQ0=x0,如果相同,则处在目标位的量子比特yQ2,yQ1,yQ0,xQ2,xQ1,xQ0全变为|0>。比如|xQ0x0>这两个量子比特,所处的状态一共有|00>,|01>,|10>,|11>四种状态,由于1-CNOT操作是1-控制的,则经过作用于两者的1-CNOT操作的处理,这四种状态会分别变为|00>,|11>,|10>,|01>,这说明,如果原来xQ0和x0处在同一状态,经过1-CNOT操作的处理之后,目标位xQ0一定变为|0>状态;反之,目标位xQ0一定变为|1>状态。

接下来,当yQ2,yQ1,yQ0,xQ2,xQ1,xQ0全为|0>时,用一个6-CNOT操作将辅助量子比特g的状态从|0>变为|1>,该6-CNOT操作的6个控制位全为0-控制。经过这两步,当g为|1>时,就意味着yQ2=y2,yQ1=y1,yQ0=y0,xQ2=x2,xQ1=x1,xQ0=x0

接下来是一个带一个控制位的量子乘法操作MULER,两个乘数是量化矩阵和DCT系数,输出是有2q-2个比特的重构后的量子DCT系数,控制位是g。这一步是逆量化中最关键的一步:DCT系数乘以量化系数,也就是量化矩阵中的对应元素。控制位g的作用是,只有当控制位g为|1>时,即当yQ2=y2,yQ1=y1,yQ0=y0,xQ2=x2,xQ1=x1,xQ0=x0时,才进行相乘操作,保证了DCT系数的8×8分块与量化矩阵中对应元素相乘。

最后用一个2-CNOT操作设置DCT系数的符号位。由于量化矩阵的所有元素均为正数,因此逆量化前为正的DCT系数,逆量化后仍然为正;逆量化前为负的DCT系数,逆量化后仍然为负。该2-CNOT操作的作用是当g为|1>时,将逆量化后的符号位设置为与量化前的符号位同样的状态。这是因为,在该2-CNOT操作前,一共有|00>,|01>两种状态,经过该2-CNOT操作后,的状态变为|00>,|11>,即逆量化后的符号位与量化前的符号位处在了同样的状态。

图6是逆DCT过程。逆DCT变换的原理是其中由于i,j,u,v的取值均为0,1,2,…,7,一共有84=4096个值,我们将其记为Cij(u,v)。逆DCT过程就是用Cij(u,v)与F'(u,v)相乘,然后再相加。

其中第一步是将Cij(u,v)存储到量子计算机中。存储时,i,j作为坐标信息,用6个量子比特来存储。Cij(0,0),Cij(0,1),……,Cij(7,7)分别存储在不同的量子比特中,每一个Cij(u,v)需要用q个量子比特,一共需要64q个量子比特。制备所有Cij(u,v)的方法与图3所示的方法类似:准备6+64q个初始态为|0>的量子比特,用6个Hadamard操作和若干个6-CNOT操作输入Cij(u,v)。表示Cij(u,v)的q个量子比特中,最高位存储符号位,其余q-1个存储Cij(u,v)的绝对值。

接下来将Cij(u,v)的绝对值与F'(u,v)的绝对值相乘。由于Cij(0,0),Cij(0,1),……,Cij(7,7)分别存储在不同的量子比特中,因此需要64个量子乘法器分别将Cij(0,0)与F'(0,0)相乘,……将Cij(7,7)与F'(7,7)相乘。每一个乘法器由6个控制位控制,以保证F'(u,v)中的(u,v)与Cij(u,v)中的(u,v)相同。由于Cij(u,v)的绝对值和F'(u,v)的绝对值都用q-1个量子比特存储,因此量子乘法器的输出有2q-2个量子比特,这个分辨率对后续处理来讲分辨率过高,因此只取前q个量子比特参加后面的运算。

然后用128个8-CNOT操作设置Cij(u,v)与F'(u,v)相乘的符号位,其中6个控制位保证F'(u,v)中的(u,v)与Cij(u,v)中的(u,v)相同,其余两个控制位分别位于Cij(u,v)和F'(u,v)的符号位,且一个是0-控制、一个是1-控制,使得Cij(u,v)和F'(u,v)的符号一正一负时,将乘积的符号位变为负的,即|1>状态。

最后将所有乘积加起来,用量子加法器ADDER实现。先将Cij(0,0)与0相加,再将前一步的和与一个新的加数相加,这样共需要加64次。表示ADDER的符号有一个细长的黑色竖条,黑色竖条在右边表示两个输入相加,黑色竖条在左边表示两个输入相减。由于Cij(u,v)与F'(u,v)相乘的结果有可能为正也有可能为负,因此每加一次,需要两个带控制位的相加操作ADDER。当控制位为0-控制,即乘积为正的时候,黑色竖条在右边,表示两数相加;当控制位为1-控制,即乘积为负的时候,黑色竖条在左边,表示两数相减。由于符号位要么处在|0>状态,要么处在|1>状态,因此这两个带控制位的相加操作ADDER有且仅有一个起作用。最终得到的存储的就是量子图像。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1