媒体重放设备中使用的胶片颗粒仿真技术的制作方法

文档序号:7949753阅读:183来源:国知局
专利名称:媒体重放设备中使用的胶片颗粒仿真技术的制作方法
技术领域
本发明涉及一种用于在图像中仿真胶片颗粒的技术,更具体地,涉及一种用于在媒体设备重放的图像中仿真胶片颗粒的技术。
背景技术
电影胶片包括分散在感光乳剂中的卤化银晶体,所述感光乳剂涂抹在胶片基底上的薄层中。这些晶体的曝光和显影形成了包括银的分散微粒的照相图像。在彩色负片中,在显影后对银进行化学去除,在形成银晶体的位置处出现微小的染料滴。这些染料小滴通常被称作彩色胶片中的‘颗粒’。由于银晶体随机地形成于原始感光乳剂中,所以颗粒随机地分布在所产生的图像上。在均匀曝光的区域中,一些晶体在曝光后显影,而其它晶体并非如此。
颗粒的大小和形状有所不同。胶片形成越快,所形成的银块和所产生的染料滴就越大,并且更趋于以随机图案组合在一起。典型地,颗粒图案被称作‘颗粒度’。裸眼不能区分变化范围在0.0002mm至大约0.002mm的单个颗粒。然而,眼睛能够分辨被称作滴的颗粒组。观看者把这些滴的组识别为胶片颗粒。随着图像分辨率变得更大,对胶片颗粒的感知变得更高。胶片颗粒在电影图像和高清晰度图像上变得明显可察觉,而胶片颗粒在SDTV中逐渐丧失了重要性,并在较小格式中变得不可察觉。
典型地,电影胶片包含依赖于图像的噪声,这个噪声来自照相胶片的曝光和显影的物理工艺、或来自后续的图像编辑。照相胶片具有特有的准随机图案或纹理,这个图案或纹理来自照相感光乳剂的物理颗粒度。可选择地,可以根据计算产生的图像仿真类似的图案,以便把这些图案与照相胶片相混合。在这两种情况下,这个依赖于图像的噪声被称作颗粒。通常,适度的颗粒纹理在电影中呈现出期望的特征。在某些实例中,胶片颗粒提供了利于二维图像的正确感知的可视提示。胶片颗粒通常在单一胶片中变化,以提供关于时间参考、视点等的多种线索。在电影业中,存在用于控制颗粒纹理的多种其它的技术和艺术用途。因此,在图像处理和传送链中保持图像的颗粒外观已经成为电影业中的需求。
若干商业上可用的产品具有对胶片颗粒进行仿真的能力,通常用于把计算机产生的对象混合到自然场景中。来自Eastman Kodak Co,Rochester New York的Cineon是一种最早的数字胶片应用程序,用于实现颗粒仿真,它产生了多种颗粒类型的非常真实的结果。然而,由于Cineon应用程序针对高颗粒尺寸设置产生了可察觉的对角线条纹,所以Cineon应用程序没有为多种高速胶片产生良好的性能。此外,当对图像进行前期处理时,例如图像被复制或进行数字处理时,Cineon应用程序不能以足够的保真度来仿真颗粒。
另一个商业上可用的、对胶片颗粒进行仿真的产品是来自VisualInfinity Inc的Grain SurgeryTM,它用作AdobeAfter Effects的插件。Grain SurgeryTM产品通过对随机数的集合进行滤波而产生合成的颗粒。这个方法受到高计算复杂度这个缺点的影响。
这些已有的方案中没有一个方案能够解决对压缩视频中的胶片颗粒进行恢复的问题。胶片颗粒构成了高频准随机现象,典型地不能进行使用常规空间和时间方法的压缩,其中所述方法利用了视频序列冗余的优点。试图使用MPEG-2或ITU-T/ISO H.264压缩技术来处理源自胶片的图像,通常这会导致不可接受的低压缩度或颗粒纹理的完全丢失。
因此,存在对用于在媒体播放器重放的图像中仿真胶片颗粒的技术的需求。

发明内容
简要地,根据本发明,提供了一种用于仿真胶片颗粒块以便添加到图像块的方法,用于确保正常和特效(trick)播放模式下在图像重放期间的比特精确性。所述方法从至少部分地根据块属性而建立至少一个参数开始。之后,根据所述至少一个参数,以比特精度来建立至少一个胶片颗粒块。


图1示出了胶片颗粒处理链中发射机和接收机的组合的示意框图,用于实践本发明的技术;图2示出了根据本发明的胶片颗粒仿真系统的示意框图;图3示出了用于产生模2本原多项式的移位寄存器的框图,用于根据图2的方法对胶片颗粒进行仿真;以及图4是一个像素格栅,它示出了在根据图2的方法产生胶片颗粒时随机数的使用。
具体实施例方式
为了理解用于对包括单独胶片颗粒块的比特精确的胶片颗粒图案进行仿真的本发明的技术,对胶片颗粒仿真的简要概述将是有益的。图1示出了发射机10的示意框图,它接收输入视频信号并相应地在其输出产生压缩后的视频流。另外,发射机10还产生指示样本中出现胶片颗粒(如果存在的话)的信息。实际中,发射机10可以包括有线电视系统的首端阵列的一部分、或把压缩后的视频分配给一个或多个下游接收机11的其它系统,图1中仅示出一个接收机11。发射机10还可以采取例如DVD 12的呈现媒体的编码器的形式。接收机11对已编码的视频流进行解码,并根据胶片颗粒信息和已解码的视频(两者均从发射机10接收,或如果是DVD等则直接从媒体自身接收)来仿真胶片颗粒,从而产生具有已仿真胶片颗粒的输出视频流。接收机11可以采取机顶盒的形式、或采取对已压缩的视频进行解码并在该视频中仿真胶片颗粒的其它机制的形式。具体地,接收机11可以采取具有如下能力的DVD再现设备的形式对用于重放的图像进行解码、把胶片颗粒混入该图像、以及以正常和特效播放速度来重放该图像。
胶片颗粒的整体管理要求发射机10(即编码器)提供关于输入视频中的胶片颗粒的信息。换句话说,发射机10对胶片颗粒“建模”。此外,接收机11(即解码器)根据从发射机10接收到的胶片颗粒信息来仿真胶片颗粒。通过使接收机11能够在视频编码过程期间在难以保持胶片颗粒时在视频信号中仿真胶片颗粒,发射机10提高了压缩后视频的品质。
在图1所示的实施例中,发射机10包括视频编码器13,视频编码器13使用任意已知的视频压缩技术对视频流进行编码,例如ITU-TRec.H.264|ISO/IEC 14496-10视频压缩标准。可选地,采用图1中虚线所示滤波器等的形式的胶片颗粒去除器14可以存在于编码器13的上游,以便在编码之前去除输入视频流中的任意胶片颗粒。当输入视频不包含胶片颗粒时,不需要胶片颗粒去除器14。
胶片颗粒建模器16接受输入视频流和胶片颗粒去除器14的输出信号(当存在时)。使用这个输入信息,胶片颗粒建模器16在输入视频信号中建立胶片颗粒。以最简单的形式,胶片颗粒建模器16可以包括查找表,所述查找表包含不同胶片原料的胶片颗粒模型。输入视频信号中的信息可以规定在转换为视频信号前最初用于记录图像的具体胶片原料,从而允许胶片颗粒建模器16针对这个胶片原料选择适合的胶片颗粒模型。可选择地,如下文所述,胶片颗粒建模器16可以包括处理器或专用逻辑电路,它们执行一个或多个算法以对输入视频进行采样并确定所呈现的胶片颗粒图案。
典型地,接收机11包括视频解码器18,用于对从发射机10接收到的压缩后的视频流进行解码。解码器18的结构将取决于发射机10内的编码器13所执行的压缩类型。因此,例如在发射机10内使用采用ITU-TRec.H.264|ISO/IEC 14496-10视频压缩标准来压缩输出视频的编码器13,这表示需要与H.264兼容的解码器18。在接收机11内,胶片颗粒仿真器20从胶片颗粒建模器16接收胶片颗粒信息。胶片颗粒仿真器20可以采取具有对胶片颗粒进行仿真的能力的已编程处理器或专用逻辑电路的形式,从而使胶片颗粒通过组合器22与已解码的视频流进行组合。
胶片颗粒仿真旨在把对原始胶片内容的外观进行仿真的胶片颗粒样本进行合成。如上所述,胶片颗粒建模发生在图1的发射机10中,而胶片颗粒仿真发生在接收机11中。具体地,在解码视频流的输出的上游,胶片颗粒仿真与来自发射机10的输入视频流的解码一同在接收机11中发生。注意,出现在接收机11中的解码过程不会使用具有附加胶片颗粒的图像。相反,胶片颗粒仿真组成了用于在已解码图像中合成仿真的胶片颗粒以进行显示的后处理方法。为此,ITU-TRec.H.264|ISO/IEC 14496-10视频压缩标准不包含关于胶片颗粒仿真过程的说明。然而,胶片颗粒仿真需要与输入视频信号中的颗粒图案有关的信息,当按照ITU-T Rec.H.264|ISO/IEC 14496-10视频压缩标准的修正1(保真度范围扩展)所规定的而使用该压缩标准时,这个信息典型地在胶片颗粒特征补充增强信息(SEI)消息中传送。
本发明的胶片颗粒仿真技术实现了比特精确的胶片颗粒仿真,且可以应用于例如HD DVD播放机的消费产品。其它潜在的应用可能包括机顶盒、电视机、甚至是例如可携式摄像机的记录设备等。这个仿真技术规范遵从ITU-T Rec.H.264|ISO/IEC 14496-10标准。在视频比特流的解码之后以及像素显示之前执行胶片颗粒仿真。胶片颗粒仿真过程要求对胶片颗粒补充信息进行解码,该信息最终在ITU-TRec.H.264|ISO/IEC 14496-10标准[1]的修正1(保真度范围扩展)所规定的胶片颗粒特性SEI消息中传送。提供影响胶片颗粒特性SEI消息的规范,以确保所述技术满足在品质和复杂度方面的高清晰度系统的要求。
胶片颗粒特性SEI消息规范如上所述,胶片颗粒特性出现在伴随着图像的ITU-TRec.H.264|ISO/IEC 14496-10胶片颗粒特性SEI消息中。胶片颗粒特性消息中的参数值被约束如下
model_id规定了仿真模型。在所示实施例中,该值等于0,表示胶片颗粒仿真模型是频率滤波。
separate_colour_description_present_flag规定了对胶片颗粒参数进行估计的颜色空间是否与对视频序列进行编码的颜色空间不同。在所示实施例中,该值等于0,表示用于胶片颗粒仿真的颜色空间与用于编码的颜色空间相同。
blending_mode_id规定了用于把所仿真的胶片颗粒与已解码的图像进行混合的混合模式。在所示实施例中,该值等于0,对应于加法混合模式。
log2_scale_factor规定了用于表现SEI消息中的胶片颗粒参数的对数缩放因数。在所示实施例中,该值处于范围[2,7]中,以确保能够使用16比特运算来执行胶片颗粒仿真。
intensity_interval_lower_bound[c][i]和intensity_interval_upper_bound[c][i]规定了对胶片颗粒参数进行建模的颜色分量c的强度间隔i的界限。对于所有的c和任意的强度值v,由于不允许多次生成的(multi-generational)胶片颗粒,所以存在满足intensity_interval_lower_bound[c][i]<=v以及intensity_interval_upper_bound[c][i]>=v的单一的强度间隔i。
num_model_values_minus1[c]规定了颜色分量c的每一个强度间隔中出现的模型值的个数。对于所有的c,该值处于范围
中,它规定了不支持带通滤波和相交颜色相关。
comp_model_value[c][i]
规定了颜色分量c和强度间隔i的胶片颗粒强度。对于所有的c和i,该值处于范围
中,以确保能够使用16比特运算来执行胶片颗粒仿真。
comp_model_value[c][i][1]规定了描述颜色分量c和强度间隔i的胶片颗粒形状的特征的水平高截频。对于所有的c和i,该值处于范围[2,14]中,它包括所有需要的颗粒图案。
comp_model_value[c][i][2]规定了描述颜色分量c和强度间隔i的胶片颗粒形状的特征的垂直高截频。对于所有的c和i,该值处于范围[2,14]中,它包括所有需要的颗粒图案。
film_grain_characteristics repetition_period指示另一个胶片颗粒特性SEI消息是否应当出现在比特流中,并且规定了另一个胶片颗粒特性SEI消息将会出现时的图像顺序数目间隔。在所示实施例中,该值等于0,以规定胶片颗粒特性SEI消息仅应用于当前的已解码图像。
根据本发明,胶片颗粒特性SEI消息必须出现在要求插入胶片颗粒的所有图像之前。这个方法确保了例如DVD播放机等的媒体再现设备的特效播放模式和常规播放模式下的比特精确性,并允许按照解码顺序和显示顺序插入比特精确的胶片颗粒,前提是使用比特精确的技术来执行胶片颗粒仿真。
把所有颜色分量c和强度间隔组合到SEI消息中,不同对(comp_model_value[c][i][1],comp_model_value[c][i][2])的个数不能超过10。根据本发明,ITU-T Rec.H.264|ISO/IEC 14496-10标准所规定的胶片颗粒特性SEI消息中所有其它参数都没有约束。
比特精确的胶片颗粒仿真除非参数film grain_characteristics_cancel_flag为1,否则在当前图像中执行胶片颗粒仿真。当前的ITU-T Rec.H.264|ISO/IEC14496-10视频压缩标准规范允许在所有颜色分量中执行胶片颗粒仿真。如果胶片颗粒特性SEI消息中的comp_model_present_flag[c]等于1,则执行胶片颗粒仿真并把仿真的胶片颗粒添加到已解码图像的颜色分量c。根据本发明,通过首先规定胶片颗粒图案数据库而执行比特精确的胶片颗粒仿真。之后,使用均匀伪随机数发生器执行胶片颗粒图案的伪随机选择。然后对所选择的图案进行一系列精确的操作。典型地,针对每一个颜色分量独立地执行胶片颗粒仿真。
胶片颗粒仿真操作序列图2示出了用于进行仿真并把胶片颗粒添加到已解码图像而执行的操作序列。通过把c设置为0、1或2,把仿真过程细分为针对三原色中特定一个颜色的仿真过程。在所示实施例中,胶片颗粒仿真以光栅扫描顺序而执行,其中块大小为8×8像素,但其它实施方式也是可能的。
所述操作序列从执行步骤100开始,以建立胶片颗粒参数。针对所仿真胶片颗粒建立胶片颗粒参数的过程的一部分包括提取源自DVD12再现时的、或源自机顶盒200的输入视频信号所携带的胶片颗粒信息。利用使用ITU-T Rec.H.264|ISO/IEC 14496-10视频编码标准进行编码的输入视频信号,胶片颗粒信息将会在SEI消息中出现。提取SEI消息需要使用图2中所示的H.264|MPEG-4AVC兼容解码器101对输入的H.264编码输入视频信号进行解码。实际中,解码器101可以存在于机顶盒200或用于在DVD 12上再现信息的DVD播放机中。
SEI消息包含若干参数,包括intensity_interval_lower_bound[c][i]和intensity_interval_upper_bound[c][i],其中i的范围是从0至参数num_intensity_intervals_minus1[c]的值。在解码器101执行解码后,把这些SEI消息参数与针对显示缓冲器102中存储的已解码图像中每一个非重叠的8×8像素块的颜色分量c而计算的平均像素强度进行比较。对于来自已解码图像的颜色分量c的每一个非重叠8×8像素块来说,以如下方式在步骤103中计算平均值
avg=0for(k=0;k<8;k++)for(l=0;l<8;l++)avg+=decoded_picture[c][m+k][n+1]avg=(avg+32)>>6其中(m,n)是块的左上方坐标,而decoded_picture[c][m+k][n+1]是颜色分量c的坐标(m+k,n+1)处的已解码像素值。
针对从0至num_intensity_intervals_minus1[c]的i值,把平均值与SEI消息参数intensity_interval_lower_bound[c][i]和intensity_interval_upper_bound[c][i]进行比较。与大于或等于intensity_interval_lower_bound[c][i]且小于或等于intensity_interval_upper_bound[c][i]的块平均值相对应的i值(由s表示)用于为步骤100中建立的当前块选择胶片颗粒参数。如果不存在满足先前条件的值,则不会对当前块执行胶片颗粒仿真。在这种情况下,不会执行在下文所述的步骤104中的胶片颗粒块的创建过程。在这个情况下,下文所述的解块步骤108接收其所有像素都等于0的8×8块作为输入。
在所示实施例中,SEI消息包含描述了二维滤波器属性的水平高截频和垂直高截频(有时被称作截止频率),所述滤波器描述了期望胶片颗粒图案的特征。按照如下方式对SEI消息中出现的色度分量(c=1,2)(以4:4:4的色度格式出现时)的截频进行缩放,以适合于4:2:0的色度格式comp_model_value[c][s][1]=Clip(2,14,(comp_model_value[c][s][1]<<1))comp_model_value[c][s][2]=Clip(2,14,(comp_model_value[c][s][2]<<1))步骤104启动胶片颗粒块的建立过程,胶片颗粒块典型地但不必然具有8×8像素的大小。建立8×8像素的胶片颗粒块的步骤包括从胶片颗粒数据库105获取具有8×8胶片颗粒样本的块,以及把所述样本缩放至适当的强度。缩放是期望但非必须的。典型地,数据库105包括169个具有4096个胶片颗粒样本的图案,每一个图案表示64×64胶片颗粒图案。数据库105以2进制补码的形式存储从-127至127的值。典型地,使用特定的一对截频对每一个胶片颗粒图案进行合成,所述一对截频建立了定义胶片颗粒图案的二维滤波器。在SEI消息中传送的截频使得能够在胶片颗粒仿真期间访问具有胶片颗粒图案的数据库105。
创建具有8×8像素的胶片颗粒块不仅包括从数据库中检索具有8×8胶片颗粒样本的块,而且还包括把这些样本缩放至适合的强度。截频comp_model_value[c][s][1]和comp_model_value[c][s][2]确定了数据库中哪个图案用作胶片颗粒样本的来源,并且两个随机产生的值从哪个图案中选择8×8的块。这些随机值表示64×64像素图案中的水平和垂直偏移,并使用如下过程来创建k_offset=(MSB16(x(r,ec))%52)k_offset&=0xFFFCk_offset+=m&0x0008l_offset=(LSB16(x(r,ec))%56)l_offset&=0xFFFC8l_offset+=n&0x0008其中x(r,ec)指示当利用种子ec来启动图3中所示的随机数发生器114时,由该随机数发生器产生的伪随机数序列x中的第r个符号。如图3所示,随机数发生器114包括32比特移位寄存器,其最高有效16比特和最低有效16比特构成了上面出现的值MSB16和LSB16。(m,n)是已解码图像中当前的8×8块的坐标。对于k_offset,第一个等式产生了均匀分布在范围
中的伪随机值,第二个等式把该值限制为4的倍数,而最后第一等式在m%16等于8时把k_offset加上8。针对l_offset执行等效的操作。
实际中,图3中的伪随机数发生器114利用模2本原多项式算符x31+x3+1以及32比特移位寄存器来随机地从数据库105中存储的具有64×64像素的胶片颗粒图案中选择具有8×8像素的胶片颗粒块。在所示实施例中,根据下面的等式对伪随机数发生器114的种子进行初始化ec=Seed_LUT[(ABS(POC)+idr_pic_id<<5+offset[c])%173]其中ABS(.)表示绝对值POC是当前图像的图像顺序数目,它应当从ITU-TRec.H.264|ISO/IEC 14496-10标准所规定的视频流中导出;以及idr_pic_id应当从ITU-T Rec.H.264|ISO/IEC 14496-10视频流的片头中读出,以便对IDR图像进行识别。
为了确保适合的胶片颗粒仿真,HD DVD系统规范规定idr_pic_id针对每一个已编码的IDR而改变;然而offset[3]={0,58,115}为每一个颜色分量提供了不同的偏移;而Seed_LUT出现在附件A的子条款A.3中。在暂停期间,把伪随机数发生器114的种子初始化为图像开始处的相同值。可选择地,可以按照如下方式对种子进行初始化ec=Seed_LUT[(PicOrderCnt+PicOrderCnt_offset<<5+color_offset[c])%256]其中color_offset[3]={0,85,170}而Seed_LUT包含256个值而不是173个。
每经过16个像素(水平地)和16行(垂直地),就对通过图3中的伪随机数发生器114所创建的伪随机值x(r,ec)进行更新。已解码图像中每一个具有16×16像素的非重叠区域使用相同的伪随机数x(r,ec)。如图4所示,所产生的伪随机值x(r,ec)的序列遵循16×16像素格栅上的光栅扫描顺序,因此实现了先前讨论的对具有8×8像素的块进行光栅扫描排序。
在所示实施例中,作为胶片颗粒块创建步骤104的一部分,在计算随机偏移后,按照如下方式对从数据库中提取出的64个胶片颗粒值进行缩放scale_factor=(BIT0(x(r,ec))==0)?comp_model_value[c][s]-comp_model_value[c][s]
scale_factor>>=(c==0)?01for(k=0;k<8;k++)for(l=0;l<8;l++){g=scale_factor*database[h][v][k+k_offset][l+l_offset]film_grain_block[k][l]=(((g+2log2_scalc_factor-1)>>log2_scale_factor)+32)>>6}其中h等于comp_model_value[c][s][1]-2,v等于comp_model_value[c][s][2]-2,因数6对附件A的附录A.3中提供的胶片颗粒值进行缩放,BIT0表示LSB。
在步骤108中进行解块,其中在相邻的胶片颗粒块之间施加解块滤波器(未示出),以确保胶片颗粒图案的无缝形成。在所示实施例中,解块滤波器仅施加到相邻块之间的垂直边沿。假定以光栅扫描顺序对胶片颗粒块进行仿真,而且current_fg_block中最左边的像素与previous_fg_block中最右边的像素相邻,则按照如下方式借助于3抽头滤波器执行解块滤波for(k=0;k<8;k++){l1=previous_fg_block[6][k]l0=previous_fg_block[7][k]r0=current_fg_block
[k]r1=current_fg_block[1][k]current_fg_block
[k]=(l0+(r0<<1)+r1+2)>>2
previous_fg_block[7][k]=(l1+(l0<<1)+r0+2)>>2}在胶片颗粒仿真过程结束时,通过混合块110把已解块的胶片颗粒块与相应的已解码图像块进行混合,产生的结果在显示之前被剪辑至for(k=0;k<8;k++)for(l=0;l<8;l++)display_picture[c][m+k][n+1]=Clip(0,255,decoded_picture[c][m+k][n+1]+fg_block[k][1])其中(m,n)是块的左上方坐标,decoded_picture[c][m+k][n+1]是颜色分量c中在坐标(m+k,n+1)处的已解码像素值,而display_picture[c][m+k][n+1]是相同坐标处的视频输出。
开关元件111在控制元件112的控制下控制已解块的胶片颗粒块至块100的通路。控制元件112响应于以下内容来控制开关元件SEI消息参数film_grain_characteristics_cancel_flag是否等于1、或是否已经超出参数film_grain_characteristics_repetition_period所规定的帧范围,这指示了是否应当按照上文所述而执行胶片颗粒仿真。
尽管与机顶盒200分开地示出,然而包括步骤100、103、104、108的整个过程以及元件101、102、105、106、109、111和112可以容易地存在于机顶盒中。这对于用于在DVD 12上再现内容的DVD播放机(未示出)也一样。
附件A通过存储预计算的数值列表或通过在初始化过程中计算数值,可以实现对胶片颗粒图案数据105的比特精确的表示。
数据库创建过程可以通过提供如下内容而执行数据库105的比特精确的创建(1)具有高斯随机数的LUT;(2)例如发生器106的均匀伪随机数发生器,整型变换;也可以通过执行下文所述的一系列操作而执行数据库105的比特精确的创建。创建具有水平截频h+2和垂直截频v+2的64×64胶片颗粒图案,产生以database[h][v]表示的数据库。这个数据库创建过程要求创建database[h][v]中所有可能的图案,其中h和v的范围是从0至12。
为了形成单独的64×64块图像,从具有高斯随机数的LUT中读取至多4096个值。附录A.3中提供的具有高斯随机数的LUT包括2048个值,每一个值都以2进制补码的形式存储且范围从-127至127。部分2中定义的均匀伪随机数发生器(PRNG)用于随机地访问具有高斯随机数的LUT。
在初始化步骤,应当把64×64块图像的值设置为0,并按照如下方式对PRNG的种子进行初始化ehv=Seed_LUT[h+v*13](A-1)按照如下方式创建64×64的块图像fh=((h+3)<<2)-1fv=((v+3)<<2)-1for(l=0,r=0,l<=fv;l++)for(k=0;k<=fh;k+=4){B[k][1]=Gaussian_LUT[x(r,ehv)%2048]B[k+1][1]=Gaussian_LUT[x(r,ehv+1)%2048] (A-2)
B[k+2][1]=Gaussian_LUT[x(r,ehv+2)%2048]B[k+3][1]=Gaussian_LUT[x(r,ehv+3)%2048]r++}B
=0其中x(r,ehv)是在以种子ehv初始化的多项式x迭代r次创建的伪随机值。
计算64×64逆整型变换64×64系数矩阵的逆变换将会产生胶片颗粒database[h][v]。按照如下方式计算逆变换database[h][v]=(((R64T×B+128)))8)×R64+128)>>8对水平的8×8块边沿进行解块64×64胶片颗粒图案的创建过程的最后步骤包括对水平的8×8块边沿进行解块。通过根据下式削减像素值而执行解块for(l=0;l<64;l+=8){for(k=0;k<64;k++){database[h][v][k][l]=(database[h][v][k][l]*deblock_factor[v])>>7database[h][v][k][l+7]=(database[h][v][k][l+7]*deblock_factor[v])>>7}}其中针对优选实施例把deblock_factor[v]定义为
deblock_factor[v]={66,71,77,84,90,96,103,109,116,122,128,128,128}上文描述了一种用于在图像中仿真胶片颗粒的技术,更具体地是一种用于在媒体设备重放的图像中仿真胶片颗粒的技术。
APPENDIX A-Gaussian_LUT ={0xF5,0x0B,0x67,0xF5,0x29,0xDE,0x0C,0x3B,0x4D,0x61,0xAA,0x03,0x41,0xB2,0x2D,0x37,0xCE,0x15,0x0D,0xF6,0xEC,0xEE,0x21,0x81,0x10,0xFB,0x97,0x12,0x13,0x46,0x2F,0xF6,0xDA,0x2A,0xFE,0x4A,0xBD,0x34,0xA6,0x21,0xD2,0x14,0xFE,0xC9,0x31,0x00,0xC7,0xD7,0x00,0x78,0x81,0x95,0xD0,0x09,0x0E,0x7F,0x7A,0x6C,0x33,0x7F,0x01,0x06,0x71,0x13,0x1D,0x0C,0x4C,0x70,0x51,0xC3,0x81,0x6F,0xCD,0xE3,0x02,0xCF,0xE9,0x3A,0xE4,0xB7,0x0B,0x70,0x42,0x4E,0xFE,0x8E,0xA9,0xFB,0xFB,0x28,0x3A,0xB0,0x31,0xE6,0xE2,0xDE,0x97,0x32,0x10,0xE8,0xDD,0xF3,0xF2,0x81,0xC9,0xEA,0xC9,0x81,0x90,0x04,0xE7,0xB8,0x7F,0x7F,0xFE,0x29,0x57,0xBF,0xF1,0x36,0x12,0x5A,0xB0,0xBF,0xC0,0x23,0xFA,0xCA,0x62,0xFA,0x58,0x7D,0xE6,0x5B,0x00,0x3F,0x3B,0xF2,0xE9,0x70,0xE0,0x74,0x0D,0x19,0x33,0xF0,0x6B,0xF9,0x34,0x26,0xDE,0x10,0xFA,0x04,0xA5,0x06,0x3E,0x3E,0xF1,0x26,0xDC,0x12,0x36,0x11,0xCD,0x27,0x21,0xDB,0x7D,0xDA,0x8A,0x10,0xE2,0x00,0x12,0x62,0x3C,0x64,0xF4,0xB8,0xEF,0xCD,0x62,0x02,0x02,0x3B,0x21,0xFD,0xFE,0x09,0xD7,0x97,0xDB,0x0D,0x7F,0x0F,0x81,0xE1,0xAA,0xD9,0xC9,0x2D,0xD7,0x4B,0x16,0xEE,0xEA,0xBA,0x4A,0xCB,0xFF,0x20,0xD3,0x11,0xA4,0x3B,0xC0,0xBE,0x37,0x9B,0xE4,0xA9,0xDE,0xA4,0x43,0x05,0xB7,0xC3,0x5C,0xD6,0x0D,0xE7,0xDB,0x82,0xF0,0x0F,0x81,0x3F,0x22,0x1F,
0x5D,0x10,0xCD,0xC6,0x47,0x4C,0x50,0x7F,0x7F,0x3C,0x20,0x97,0xA4,0x00,0x00,0x4B,0xBB,0x47,0x7F,0xED,0x91,0x1D,0x17,0x0E,0x02,0x26,0x5B,0x05,0x29,0x01,0xFB,0x26,0x0F,0x71,0xE3,0xDB,0x32,0x2B,0x6A,0x1A,0x77,0x06,0xB1,0x19,0xBC,0xEC,0x5C,0xF6,0xFF,0x12,0x29,0xCE,0x4F,0x81,0xD5,0x7F,0x11,0x0A,0xEB,0x1F,0xCD,0x1B,0xA8,0xA6,0xD9,0xED,0xF7,0x18,0x8B,0x47,0xE8,0xD5,0x01,0x0B,0x55,0x96,0x26,0xDF,0x81,0x2E,0x32,0xE8,0xEB,0x2D,0x00,0x0F,0xDD,0xBC,0xFF,0xB7,0x18,0xFA,0x00,0x1C,0xFE,0x2D,0x20,0xE0,0x75,0xD3,0x4F,0xE9,0xEF,0x94,0xF6,0xBA,0x58,0xD1,0x17,0xA5,0x77,0xDB,0x31,0x81,0x3A,0x20,0xAF,0xF6,0xF0,0xFA,0x2D,0x81,0xF1,0x59,0x7F,0x11,0x62,0xD9,0xDF,0x24,0x2A,0xD9,0xE1,0xEC,0x68,0xED,0x12,0x13,0xC5,0xF7,0x1E,0x00,0x81,0x21,0x7F,0xAC,0x4B,0x17,0xD8,0xD0,0x81,0x96,0xF2,0x2C,0xB6,0x01,0x1D,0xED,0x28,0xBC,0xD9,0x0C,0x7F,0xFD,0x05,0x14,0xB8,0xC6,0x81,0xFE,0xFD,0xCB,0xFB,0x8A,0x5C,0x77,0xB0,0xCF,0x00,0x13,0xD3,0x42,0x4D,0xF4,0xEB,0x81,0x23,0xD8,0x37,0x76,0xFC,0x8D,0xEA,0x44,0xF2,0xA6,0x18,0xAE,0xD5,0x81,0x6B,0xE7,0xDB,0x27,0xFA,0xFA,0xAE,0x05,0xA9,0x2B,0xDE,0x08,0x81,0x26,0x45,0x31,0xC1,0x49,0xD0,0x6C,0xE6,0xA8,0xD1,0xD9,0x2C,0x31,0xFD,0x3B,0xD7,0x50,0x08,0x81,0xF7,0xC8,0xCF,0x7C,0xBF,0x2F,0x23,0x75,0x0F,0xF5,0xA0,0x6D,0x5E,0xF0,0xC9,0x45,0x07,0xF3,0xFC,0x31,0x25,0xD4,0x78,0xE2,
0xB4,0x28,0xD3,0x05,0x03,0x44,0x11,0xB2,0x01,0xB1,0x05,0x7F,0x2A,0x1A,0x7F,0x81,0x1B,0xC9,0xE6,0x36,0x6F,0x2F,0x6A,0xFF,0xB4,0xFF,0x34,0xF8,0xEA,0xD6,0x7A,0x6C,0x7F,0x65,0x43,0x2E,0x05,0x01,0x7B,0xF4,0xCA,0xDF,0xCF,0x59,0x41,0x98,0xFB,0x5E,0xCC,0x3E,0x2C,0x1D,0x2E,0x12,0xDE,0x0E,0x28,0x2E,0x9F,0xE8,0x5E,0xB5,0x7F,0x8E,0x7F,0xBD,0x01,0xF0,0x32,0xA1,0x2F,0x0B,0x22,0xD4,0xB6,0x59,0x95,0xF7,0xC7,0xE3,0x93,0xE8,0x7F,0xC4,0xF3,0x4C,0xD4,0x10,0x12,0x53,0xE9,0x09,0x7F,0xBE,0x35,0x03,0x19,0x0D,0x6F,0x2A,0x90,0xEA,0x0A,0xE8,0x53,0x42,0xF3,0x4B,0x8S,0x3A,0x7F,0xF5,0x63,0xED,0x3F,0xDA,0x35,0x08,0x07,0x3C,0xC9,0x02,0xC8,0x71,0x98,0xC6,0x03,0xF7,0xD2,0x49,0x55,0xC9,0xDE,0x0C,0x76,0x1B,0x5D,0xB9,0x0C,0x9D,0xB9,0xEC,0x1D,0x47,0xA2,0x12,0xCB,0x40,0xF4,0xC1,0xE8,0x41,0x48,0xF7,0x7F,0x00,0x81,0x67,0xEC,0xB7,0x91,0x9A,0xFA,0x1C,0xD7,0xEB,0xC5,0xE4,0xE7,0x13,0xFC,0xCE,0x5E,0xC6,0xA2,0xDC,0x22,0x13,0xBC,0x7F,0xEE,0x81,0xEA,0x89,0xCC,0x24,0x4A,0x81,0xFF,0xF5,0x8A,0xCB,0xE5,0x26,0x44,0x11,0x10,0x8E,0x58,0x3E,0x18,0x24,0xEA,0x31,0x9C,0xE1,0xF8,0xA1,0xCB,0x05,0x5C,0xE9,0xD0,0xF8,0x32,0x03,0xB6,0xA7,0xF6,0xDA,0x7F,0xAA,0xEA,0x13,0x14,0x71,0x4B,0x33,0xE1,0x5C,0xC2,0x06,0xF5,0x2E,0x24,0x65,0xD5,0xF0,0xCC,0xF9,0xDB,0xB4,0xE1,0xEB,0x3E,0x1E,0x3E,0x14,0x81,0x1E,0x3F,0x24,0x66,0xAC,0xF7,0x4C,
0x4F,0x3A,0xB2,0xF9,0x23,0x08,0x50,0xE8,0xF7,0x03,0xEF,0x47,0x7F,0x52,0xAA,0x37,0x12,0x89,0x85,0x24,0x0A,0x7F,0x38,0xC9,0x70,0x0D,0x19,0x20,0xF3,0xD1,0x15,0xF3,0x04,0x39,0x1A,0x18,0x19,0xF6,0xDC,0x25,0xA4,0x4D,0x50,0x09,0x32,0x0D,0x42,0xF3,0x00,0x20,0x2C,0xB5,0x20,0xDA,0xEA,0xCF,0x81,0xE5,0x1F,0xF8,0x23,0x0D,0x46,0x0D,0x38,0x0B,0xCC,0xAB,0x35,0xD4,0xDE,0x01,0x7F,0x0B,0xBE,0xD4,0x2E,0x8D,0x02,0x0A,0x38,0xDE,0x76,0xEE,0xC3,0x34,0xC6,0x81,0xD0,0xEA,0x03,0xFB,0x10,0xAF,0xFB,0x7F,0x18,0x4E,0x42,0x3F,0xE7,0x0D,0xC0,0xDB,0x81,0xE4,0x15,0xC2,0x41,0xCC,0xD7,0x6C,0xC2,0x0E,0xEB,0x0C,0x1D,0xC1,0x14,0x1B,0x5F,0xD4,0xC6,0x8C,0xF7,0x4F,0xD0,0x16,0xD5,0xF0,0x2E,0xD1,0x88,0xDD,0xE4,0xCC,0xD4,0x1D,0x7F,0xF4,0x30,0xF8,0x81,0x4A,0xE5,0xEA,0x58,0x3B,0x0A,0xA2,0x50,0xC5,0x3A,0x3C,0xE7,0x28,0xA5,0xFE,0xEB,0xC6,0xD4,0xC5,0xEA,0xCB,0x46,0xE3,0x42,0xE1,0xEA,0x0E,0xEF,0xBE,0xE8,0xE4,0xC3,0x2F,0x25,0x10,0x0F,0xDB,0xE9,0xF6,0x08,0xE6,0xED,0x3A,0x2C,0xD0,0xD2,0xFD,0xEB,0xAF,0x1D,0xBD,0x81,0x4A,0x65,0x04,0xEF,0x61,0x22,0xBF,0x29,0xCD,0x07,0xC5,0x17,0xC7,0xEE,0xE8,0x8A,0xB8,0x5A,0x0E,0xF1,0x4E,0xE0,0xB2,0x81,0xDD,0x29,0x4C,0xAD,0x01,0x37,0x16,0xB6,0x7F,0xF0,0xEB,0x0C,0x1E,0x37,0x8F,0x81,0x59,0x36,0x3D,0x0C,0x36,0xF3,0x90,0xF2,0x1F,0x30,0xB E,0xF0,0x5A,0xF7,0x00,0x15,0x45,0xBA,0x62,0xED,0x90,
0x41,0xA6,0xF7,0xF8,0xB9,0x7F,0x32,0xB0,0xD0,0x18,0x3C,0xC4,0x92,0x06,0xD8,0x7F,0x57,0xBF,0x6B,0x81,0xFB,0x23,0xF2,0x29,0xCF,0x0D,0x0D,0x49,0x9C,0xE5,0x4C,0x7F,0xF9,0x9C,0x58,0x25,0x79,0x58,0x83,0xC5,0x0D,0xA3,0x8D,0x14,0xBE,0xA9,0xA2,0x89,0x2B,0xE4,0xE2,0x11,0x04,0xCC,0xC4,0x14,0xD5,0x0B,0xB3,0xC5,0x0C,0x1C,0x02,0x06,0xB8,0x26,0xC5,0xF5,0x6C,0xCB,0x28,0x42,0xF4,0x81,0x81,0xD0,0x17,0x1D,0x2E,0x23,0x5B,0x22,0xE0,0x73,0xCE,0xDF,0xCD,0x5B,0x07,0xAD,0x48,0xE7,0x99,0x18,0xF6,0x4C,0x54,0x05,0x43,0xB0,0xF3,0xEF,0xE0,0xD0,0x13,0x32,0x19,0x09,0x3E,0x99,0xF3,0x24,0x7F,0x71,0x60,0x22,0x00,0xE0,0xC9,0x7F,0x85,0xE0,0x3D,0xF9,0x77,0xE0,0x81,0xCC,0xD6,0x3F,0x02,0xFB,0xE7,0x46,0xC7,0xE0,0xD5,0xD5,0x21,0xC8,0x81,0x7F,0x19,0xDE,0xF6,0x10,0xAF,0x1D,0xC7,0x28,0x81,0x81,0x14,0xD1,0xF6,0xDD,0xC1,0xCD,0xE0,0xAF,0x4E,0xB4,0xB7,0x08,0x1A,0xB8,0xF8,0xB6,0xAB,0xAB,0xC7,0x19,0x4E,0xF7,0xA0,0x23,0xBF,0x08,0xC6,0x0E,0x01,0xD7,0x20,0xA9,0xD4,0x11,0xFE,0xF7,0x3A,0x27,0x0B,0x94,0xD9,0x17,0x21,0x11,0xE4,0x02,0x33,0x93,0xFC,0x64,0x01,0x41,0x16,0x00,0x7F,0x3D,0x2D,0x19,0xE1,0x06,0x09,0xFA,0xD0,0x63,0x10,0x2B,0xFF,0xD8,0x20,0xDA,0xCC,0x0A,0x93,0xEE,0x38,0x81,0x44,0x1A,0x33,0x5C,0x27,0x3D,0xCD,0x2C,0xDA,0x0D,0x54,0x79,0x1B,0x42,0x2D,0x92,0xAE,0xFD,0x1E,0x24,0x12,0xDC,0x3A,0x47,0x27,0xB3,0xD1,0x3A,
0xB2,0x07,0xC2,0xDD,0xF3,0x3C,0x29,0x81,0x47,0xFC,0x17,0xCA,0x33,0x81,0x43,0xFC,0xD7,0x1D,0xC2,0x3B,0xFE,0xFF,0xFE,0xD3,0xA4,0xB0,0xA0,0xF2,0xCB,0xF6,0xF5,0xB3,0x0D,0x01,0x07,0xBE,0x81,0x7F,0xE5,0x1A,0xF3,0x11,0xF4,0xE6,0x01,0x09,0xD2,0xE0,0xF1,0x1B,0xE2,0xC5,0x3A,0x4C,0x88,0x1B,0x27,0xCA,0xC2,0xE2,0xEC,0xDC,0xE1,0xFA,0x81,0xE8,0xC4,0x46,0x81,0x70,0x81,0x7F,0x57,0xF9,0x73,0x6D,0x35,0x56,0x81,0x02,0x0F,0x16,0x4A,0x97,0xCE,0x03,0x49,0xAF,0x91,0xB6,0x41,0x51,0x18,0x35,0x7F,0xD4,0xCE,0x9A,0xD7,0xBF,0xE4,0x4F,0xBE,0x40,0xDF,0xE2,0xF9,0x7F,0x00,0xF4,0xCD,0x42,0xF2,0x05,0xA4,0x1C,0xDD,0xF9,0xA6,0xC7,0xFD,0x24,0x2A,0x2C,0xE1,0xBB,0xFA,0x24,0x26,0xCE,0x2A,0xAF,0x3A,0x05,0x7F,0x0C,0x38,0x42,0x2D,0x3A,0xD6,0xD6,0x28,0xF1,0x89,0x18,0x03,0xF5,0x12,0xF4,0x32,0x1C,0x03,0x37,0xD0,0xF5,0x00,0x02,0x60,0xEE,0x1D,0x29,0x0D,0x2A,0x4E,0xD4,0x37,0x95,0xD6,0xED,0x7F,0x0F,0xF6,0xEE,0xAF,0x53,0xDB,0x4C,0x93,0x0F,0x40,0xCF,0x2B,0x0B,0x0D,0x1A,0x1B,0x3C,0x39,0x1E,0x1A,0x6A,0xEE,0x37,0x0C,0x61,0x04,0xF9,0xC3,0x9A,0x5E,0x6B,0xD5,0x34,0x1A,0xD1,0xF7,0x69,0xCB,0x2E,0x58,0x67,0xDF,0x26,0xDE,0x37,0x32,0x46,0xA2,0xDE,0xA9,0x96,0xEE,0xE1,0x09,0xED,0x4E,0xF2,0x4C,0x05,0xED,0x95,0x55,0x14,0xD3,0xD9,0xD7,0x08,0xE4,0x4A,0x2F,0xB5,0x3C,0x81,0x78,0x91,0xC7,0xE1,0x29,0x07,0x4F,0x4B,0x42,0x38,0x28,0xE7,
0x1F,0x25,0xD2,0xDC,0x2B,0xB7,0xDC,0x3E,0x7F,0xBB,0xCD,0x59,0xDF,0xC4,0x3B,0xC9,0x2B,0x0E,0x04,0xB E,0x0D,0xA5,0x3F,0x1C,0xDA,0xFD,0x52,0xFE,0xDA,0xAB,0xAB,0x39,0x23,0xBB,0xC4,0x1C,0xDC,0xA1,0xB2,0x04,0x1E,0xFC,0xE0,0xB1,0xEB,0xF7,0xB4,0x2D,0x07,0xA3,0xB9,0x41,0x09,0xCF,0x7F,0xBB,0x19,0xF5,0xD9,0x8E,0x3E,0x81,0x9C,0x04,0xE1,0x6E,0x16,0xC5,0x40,0x9C,0x1A,0xD6,0x15,0xC6,0xE5,0xB7,0x02,0xA3,0x05,0x7E,0x05,0x4B,0xA9,0xF7,0xD5,0x9C,0x7F,0x01,0x7C,0x5B,0xC1,0x33,0x38,0x03,0x50,0x81,0x7F,0x4F,0x7F,0xE3,0x1D,0x74,0xB6,0xEF,0xC7,0x69,0x30,0x2D,0x18,0xB9,0x30,0xDA,0x95,0x1F,0xDF,0x03,0xF5,0x28,0x81,0x33,0x98,0xD5,0xDC,0x33,0x01,0x2E,0x56,0xF7,0x4C,0x1A,0xD8,0xE8,0x5A,0x56,0xC9,0x4A,0x0A,0x21,0x4D,0x3A,0x7F,0x7E,0xFA,0xB8,0x31,0xE0,0x96,0xDE,0x25,0x38,0x34,0xF0,0xFC,0x53,0x34,0x95,0x35,0x84,0x1C,0x16,0x37,0xD5,0xA9,0xF0,0xFA,0x2F,0x17,0xF7,0x00,0xF4,0x6E,0x4A,0x1B,0xCC,0xDB,0xDF,0x26,0x1E,0x42,0x27,0x26,0xC1,0x25,0x03,0x15,0xE1,0xCE,0xE5,0x35,0xDA,0xA9,0x14,0x33,0x73,0x12,0xAF,0xBB,0x00,0xF2,0xD2,0xD3,0xFD,0x7C,0x10,0xF3,0x17,0xAE,0xAD,0xBC,0xED,0xC0,0x81,0x08,0x51,0xD0,0x3D,0x06,0xDC,0xD3,0xD6,0x39,0xE6,0x2F,0x13,0xAB,0x2E,0xF4,0x28,0xDC,0xB5,0xC4,0x55,0xB2,0x81,0x0B,0x32,0x01,0xFE,0x0C,0x2F,0x04,0x12,0xB2,0xCA,0xE5,0x40,0xB9,0x0B,0x95,0x13,0xF0,0x0B,0xE2,0x3F,0xC9,0x24,
0x4B,0xEF,0x7F,0xB8,0xE0,0xE4,0x89,0x68,0x43,0x6A,0x99,0x97,0x46,0x3C,0x02,0x17,0xFE,0x20,0xFC,0xF2,0xBE,0xF2,0xEA,0xCA,0x0F,0xC2,0x4B,0x39,0x92,0x00,0x52,0xE6,0x15,0x4B,0xD9,0xEF,0xF5,0x40,0xEF,0x81,0xCA,0xBF,0x1F,0x5F,0x74,0x03,0x8F,0xF9,0x94,0xC2,0x61,0x09,0x32,0x07,0x4A,0xE5,0x48,0x70,0xDC,0x91,0x5E,0xCE,0x17,0xF4,0xED,0x37,0x14,0x17,0x5B,0x5A,0x16,0xCF,0x10,0xB6,0x16,0x09,0xD0,0xA0,0xDB,0x31,0xDD,0x23,0x81,0xAB,0x2A,0x7F,0xE9,0xE8,0x54,0x53,0xDE,0xDF,0xF4,0x6D,0x66,0xDA,0x32,0xBD,0x22,0x13,0xEA,0x30,0xE1,0x7E,0x28,0x18,0xA4,0xFD,0xFD,0x69,0x03,0xC7,0xEF,0x07,0x7F,0xEF,0x7C,0x43,0x44,0xC3,0x1E,0xDD,0x35,0xC8,0xE9,0x11,0x2A,0xDD,0xE6,0xC8,0xBD,0xEC,0xF7,0xCF,0x43,0x0C,0x40,0x04,0x2F,0x36,0x7F,0xB6,0x2C,0x59,0xBF,0xF3,0xB3,0xAF,0xA5,0x16,0x1D,0x21,0xD9,0xAA,0xDF,0x60,0xA5,0x27,0x09,0xC1,0xFD,0xF5,0x7F,0xCF,0xDB,0xC9,0x17,0xDE,0xDD,0xCB,0x59,0xA5,0x01,0x31,0x4C,0xFB,0x81,0x10,0x2D,0xFB,0xB7,0x00,0xC8,0xEE,0xB8,0x1C,0x5C,0x3B,0x31,0x14,0x11,0x6E,0x92,0x20,0xAD,0x2E,0x2E,0xF6,0x22,0xA9,0x2B,0x39,0x9F,0x7F,0xEF,0x00,0x00,0xDA,0x81,0xFE,0x00,0x3E,0x5D,0x00,0x24,0xBF,0xC3,0xEE,0x26,0x81,0x39,0x31,0xF0,0x7F,0x58,0xD6,0x94,0xCD,0xF0,0x06,0xDC,0x44,0x2E,0xF2,0x6A,0x28,0x38,0x06,0x13,0x07,0x02,0x57,0xA7,0xA4,0xEF,0xEB,0xE9,0x0C,0x07,0xFC,0xB3,0xA6,0xFD,0x07,0xDE,0xFC,
0x12,0x02,0x91,0x04,0xBE,0xAF,0x79,0xED,0xDF,0xDB,0xAC,0x7F,0x43,0x2D,0x11,0x2F};A.2.2 LUT of PRNG seedsSeed_LUT[173]={1,207848544,1756511882,930434649,763249220,575194890,947173707,1920384370,447133882,1339935731,1377796300,271174457,1198069869,1661621657,1743986060,2077926481,1331742148,786140364,1525112071,1771594297,1242061040,192056172,2018356587,166385984,21118553,1721162627,993618401,953874363,156353104,1884552607,712894377,965972274,2058965522,288658836,1626536144,1501102010,301172797,447403389,1040582505,1522100413,870342432,1775643800,1221041362,1779102756,1180374639,852637658,1542167176,1149026881,100447073,926671075,1933929005,542294649,1011053571,1671222556,1429688165,1891395211,2055647522,22995785,1442532213,675966795,1703505481,2013843651,1671669678,1085040259,430705574,2130376611,1261527826,15976504,2011754792,216863804,2105395052,1127940,1783279601,1602691796,1505476467,1408080649,180336353,1381547875,339789689,965351473,427101312,902100963,744024896,1284331604,1241185038,1426959894,2000290842,1266758843,
18789461,1665712481,264198500,1301146210,1273389250,794389433,2049226913,1879367632,1300700193,212009030,1957319695,637701834,482780409,1365890669,1376040417,1512315348,1024598031,1844999775,1933157338,1643399146,276675769,1707241504,1016480493,1361917086,1730782380,1621217915,1585942753,1325639711,275717433,1581177009,509579973,1040197139,519836363,1962657404,1906334341,723415919,1151165652,1369484037,915816613,582076062,47146038,182628210,1964983821,1885918321,370125606,534524292,2051583970,1032364471,1972079688,2047231194,563260760,1594071307,1354079352,2002807836,632717840,992281895,1683480361,1484871997,103701272,345400458,1333607727,1396534806,1265043691,257575830,1832801323,207421923,1878496261,913255098,1480038377,1655631378,199918889,1047339733,584606242,116703068,1435852453,1851149566,1450020992,2073300909,331912080,66022624,2137983702,884423146,1325171092,1765065345,708316132};A.2.3 Transformation matrixiDCT64[64][64]={{/*Row 0*/32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32},{/*Row 1*/45,45,45,45,44,44,43,42,41,40,39,38,37,36,34,33,31,30,28,26,24,22,20,18,16,14,12,10,8,6,3,1,-1,-3,-6,-8,-10,-12,-14,-16,-18,-20,-22,-24,-26,-28,-30,-31,-33,-34,-36,-37,-38,-39,-40,-41,-42,-43,-44,-44,-45,-45,-45,-45},{/*Row 2*/
45,45,44,43,41,39,36,34,30,27,23,19,15,11,7,2,-2,-7,-11,-15,-19,-23,-27,-30,-34,-36,-39,-41,-43,-44,-45,-45,-45,-45,-44,-43,-41,-39,-36,-34,-30,-27,-23,-19,-15,-11,-7,-2,2,7,11,15,19,23,27,30,34,36,39,41,43,44,45,45},{/*Row 3*/45,44,42,39,36,31,26,20,14,8,1,-6,-12,-18,-24,-30,-34,-38,-41,-44,-45,-45,-45,-43,-40,-37,-33,-28,-22,-16,-10,-3,3,10,16,22,28,33,37,40,43,45,45,45,44,41,38,34,30,24,18,12,6,-1,-8,-14,-20,-26,-31,-36,-39,-42,-44,-45},{/*Row 4*/45,43,40,35,29,21,13,4,-4,-13,-21,-29,-35,-40,-43,-45,-45,-43,-40,-35,-29,-21,-13,-4,4,13,21,29,35,40,43,45,45,43,40,35,29,21,13,4,-4,-13,-21,-29,-35,-40,-43,-45,-45,-43,-40,-35,-29,-21,-13,-4,4,13,21,29,35,40,43,45},{/*Row 5*/45,42,37,30,20,10,-1,-12,-22,-31,-38,-43,-45,-45,-41,-36,-28,-18,-8,3,14,24,33,39,44,45,44,40,34,26,16,6,-6,-16,-26,-34,-40,-44,-45,-44,-39,-33,-24,-14,-3,8,18,28,36,41,45,45,43,38,31,22,12,1,-10,-20,-30,-37,-42,-45,{/*Row 6*/45,41,34,23,11,-2,-15,-27,-36,-43,-45,-44,-39,-30,-19,-7,7,19,30,39,44,45,43,36,27,15,2,-11,-23,-34,-41,-45,-45,-41,-34,-23,-11,2,15,27,36,43,45,44,39,30,19,7,-7,-19,-30,-39,-44,-45,-43,-36,-27,-15,-2,11,23,34,41,45},{/*Row 7*/45,39,30,16,1,-14,-28,-38,-44,-45,-40,-31,-18,-3,12,26,37,44,45,41,33,20,6,-10,-24,-36,-43,-45,-42,-34,-22,-8,8,22,34,42,45,43,36,24,10,-6,-20,-33,-41,-45,-44,-37,-26,-12,3,18,31,40,45,44,38,28,14,-1,-16,-30,-39,-45},{/*Row 8*/44,38,25,9,-9,-25,-38,-44,-44,-38,-25,-9,9,25,38,44,44,38,25,9,-9,-25,-38,-44,-44,-38,-25,-9,9,25,38,44,44,38,25,9,-9,-25,-38,-44,-44,-38,-25,-9,9,25,38,44,44,38,25,9,-9,-25,-38,-44,-44,-38,-25,-9,9,25,38,44},{/*Row 9*/44,36,20,1,-18,-34,-44,-45,-37,-22,-3,16,33,43,45,38,24,6,-14,-31,-42,-45,-39,-26,-8,12,30,41,45,40,28,10,-10,-28,-40,-45,-41,-30,-12,8,26,39,45,42,31,14,-6,-24,-38,-45,-43,-33,-16,3,22,37,45,44,34,18,-1,-20,-36,-44},{/*Row 10*/44,34,15,-7,-27,-41,-45,-39,-23,-2,19,36,45,43,30,11,-11,-30,-43,-45,-36,-19,2,23,39,45,41,27,7,-15,-34,-44,-44,-34,-15,7,27,41,45,39,23,2,-19,-36,-45,-43,-30,-11,11,30,43,45,36,19,-2,-23,-39,-45,-41,-27,-7,15,34,44},{/*Row 11*/44,31,10,-14,-34,-45,-42,-28,-6,18,37,45,40,24,1,-22,-39,-45,-38,-20,3,26,41,45,36,16,-8,-30,-43,-44,-33,-12,12,33,44,43,30,8,-16,-36,-45,-41,-26,-3,20,38,45,39,22,-1,-24,-40,-45,-37,-18,6,28,42,45,34,14,-10,-31,-44},
{/*Row 12*/43,29,4,-21,-40,-45,-35,-13,13,35,45,40,21,-4,-29,-43,-43,-29,-4,21,40,45,35,13,-13,-35,-45,-40,-21,4,29,43,43,29,4,-21,-40,-45,-35,-13,13,35,45,40,21,-4,-29,-43,-43,-29,-4,21,40,45,35,13,-13,-35,-45,-40,-21,4,29,43},{/*Row 13*/43,26,-1,-28,-44,-42,-24,3,30,44,41,22,-6,-31,-45,-40,-20,8,33,45,39,18,-10,-34,-45,-38,-16,12,36,45,37,14,-14,-37,-45,-36,-12,16,38,45,34,10,-18,-39,-45,-33,-8,20,40,45,31,6,-22,-41,-44,-30,-3,24,42,44,28,1,-26,-43},{/*Row 14*/43,23,-7,-34,-45,-36,-11,19,41,44,27,-2,-30,-45,-39,-15,15,39,45,30,2,-27,-44,-41,-19,11,36,45,34,7,-23,-43,-43,-23,7,34,45,36,11,-19,-41,-44,-27,2,30,45,39,15,-15,-39,-45,-30,-2,27,44,41,19,-11,-36,-45,-34,-7,23,43},{/*Row 15*/42,20,-12,-38,-45,-28,3,33,45,34,6,-26,-44,-39,-14,18,41,43,22,-10,-37,-45,-30,1,31,45,36,8,-24,-44,-40,-16,16,40,44,24,-8,-36,-45,-31,-1,30,45,37,10,-22,-43,-41,-18,14,39,44,26,-6,-34,-45,-33,-3,28,45,38,12,-20,-42},{/*Row 16*/42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42,42,17,-17,-42,-42,-17,17,42},{/*Row 17*/41,14,-22,-44,-37,-6,30,45,31,-3,-36,-45,-24,12,40,42,16,-20,-44,-38,-8,28,45,33,-1,-34,-45,-26,10,39,43,18,-18,-43,-39,-10,26,45,34,1,-33,-45,-28,8,38,44,20,-16,-42,-40,-12,24,45,36,3,-31,-45,-30,6,37,44,22,-14,-41},{/*Row 18*/41,11,-27,-45,-30,7,39,43,15,-23,-45,-34,2,36,44,19,-19,-44,-36,-2,34,45,23,-15,-43,-39,-7,30,45,27,-11,-41,-41,-11,27,45,30,-7,-39,-43,-15,23,45,34,-2,-36,-44,-19,19,44,36,2,-34,-45,-23,15,43,39,7,-30,-45,-27,11,41},{/*Row 19*/40,8,-31,-45,-22,18,44,34,-3,-38,-42,-12,28,45,26,-14,-43,-37,-1,36,44,16,-24,-45,-30,10,41,39,6,-33,-45,-20,20,45,33,-6,-39,-41,-10,30,45,24,-16,-44,-36,1,37,43,14,-26,-45,-28,12,42,38,3,-34,-44,-18,22,45,31,-8,-40},{/*Row 20*/40,4,-35,-43,-13,29,45,21,-21,-45,-29,13,43,35,-4,-40,-40,-4,35,43,13,-29,-45,-21,21,45,29,-13,-43,-35,4,40,40,4,-35,-43,-13,29,45,21,-21,-45,-29,13,43,35,-4,-40,-40,-4,35,43,13,-29,-45,-21,21,45,29,-13,-43,-35,4,40},{/*Row 21*/39,1,-38,-40,-3,37,41,6,-36,-42,-8,34,43,10,-33,-44,-12,31,44,14,-30,-45,-16,28,45,18,-26,-45,-20,24,45,22,-22,-45,-24,20,45,26,-18,-45,-28,16,45,30,-14,-44,-31,12,
44,33,-10,-43,-34,8,42,36,-6,-41,-37,3,40,38,-1,-39},{/*Row 22*/39,-2,-41,-36,7,43,34,-11,-44,-30,15,45,27,-19,-45,-23,23,45,19,-27,-45,-15,30,44,11,-34,-43,-7,36,41,2,-39,-39,2,41,36,-7,-43,-34,11,44,30,-15,-45,-27,19,45,23,-23,-45,-19,27,45,15,-30,-44,-11,34,43,7,-36,-41,-2,39},{/*Row 23*/38,-6,-43,-31,16,45,22,-26,-45,-12,34,41,1,-40,-36,10,44,28,-20,-45,-18,30,44,8,-37,-39,3,42,33,-14,-45,-24,24,45,14,-33,-42,-3,39,37,-8,-44,-30,18,45,20,-28,-44,-10,36,40,-1,-41,-34,12,45,26,-22,-45,-16,31,43,6,-38},{/*Row 24*/38,-9,-44,-25,25,44,9,-38,-38,9,44,25,-25,-44,-9,38,38,-9,-44,-25,25,44,9,-38,-38,9,44,25,-25,-44,-9,38,38,-9,-44,-25,25,44,9,-38,-38,9,44,25,-25,-44,-9,38,38,-9,-44,-25,25,44,9,-38,-38,9,44,25,-25,-44,-9,38},{/*Row 25*/37,-12,-45,-18,33,40,-6,-44,-24,28,43,1,-42,-30,22,45,8,-39,-34,16,45,14,-36,-38,10,45,20,-31,-41,3,44,26,-26,-44,-3,41,31,-20,-45,-10,38,36,-14,-45,-16,34,39,-8,-45,-22,30,42,-1,-43,-28,24,44,6,-40,-33,18,45,12,-37},{/*Row 26*/36,-15,-45,-11,39,34,-19,-45,-7,41,30,-23,-44,-2,43,27,-27,-43,2,44,23,-30,-41,7,45,19,-34,-39,11,45,15,-36,-36,15,45,11,-39,-34,19,45,7,-41,-30,23,44,2,-43,-27,27,43,-2,-44,-23,30,41,-7,-45,-19,34,39,-11,-45,-15,36},{/*Row 27*/36,-18,-45,-3,43,24,-31,-39,12,45,10,-40,-30,26,42,-6,-45,-16,37,34,-20,-44,-1,44,22,-33,-38,14,45,8,-41,-28,28,41,-8,-45,-14,38,33,-22,-44,1,44,20,-34,-37,16,45,6,-42,-26,30,40,-10,-45,-12,39,31,-24,-43,3,45,18,-36},{/*Row 28*/35,-21,-43,4,45,13,-40,-29,29,40,-13,-45,-4,43,21,-35,-35,21,43,-4,-45,-13,40,29,-29,-40,13,45,4,-43,-21,35,35,-21,-43,4,45,13,-40,-29,29,40,-13,-45,-4,43,21,-35,-35,21,43,-4,-45,-13,40,29,-29,-40,13,45,4,-43,-21,35},{/*Row 29*/34,-24,-41,12,45,1,-45,-14,40,26,-33,-36,22,42,-10,-45,-3,44,16,-39,-28,31,37,-20,-43,8,45,6,-44,-18,38,30,-30,-38,18,44,-6,-45,-8,43,20,-37,-31,28,39,-16,-44,3,45,10,-42,-22,36,33,-26,-40,14,45,-1,-45,-12,41,24,-34},{/*Row 30*/34,-27,-39,19,43,-11,-45,2,45,7,-44,-15,41,23,-36,-30,30,36,-23,-41,15,44,-7,-45,-2,45,11,-43,-19,39,27,-34,-34,27,39,-19,-43,11,45,-2,-45,-7,44,15,-41,-23,36,30,-30,-36,23,41,-15,-44,7,45,2,-45,-11,43,19,-39,-27,34},{/*Row 31*/33,-30,-36,26,38,-22,-40,18,42,-14,-44,10,45,-6,-45,1,45,3,-45,-8,44,12,-43,-16,41,20,-39,-24,37,28,-34,-31,
31,34,-28,-37,24,39,-20,-41,16,43,-12,-44,8,45,-3,-45,-1,45,6,-45,-10,44,14,-42,-18,40,22,-38,-26,36,30,-33},{/*Row 32*/32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32,32,-32,-32,32},{/*Row 33*/31,-34,-28,37,24,-39,-20,41,16,-43,-12,44,8,-45,-3,45,-1,-45,6,45,-10,-44,14,42,-18,-40,22,38,-26,-36,30,33,-33,-30,36,26,-38,-22,40,18,-42,-14,44,10,-45,-6,45,1,-45,3,45,-8,-44,12,43,-16,-41,20,39,-24,-37,28,34,-31},{/*Row 34*/30,-36,-23,41,15,-44,-7,45,-2,-45,11,43,-19,-39,27,34,-34,-27,39,19,-43,-11,45,2,-45,7,44,-15,-41,23,36,-30,-30,36,23,-41,-15,44,7,-45,2,45,-11,-43,19,39,-27,-34,34,27,-39,-19,43,11,-45,-2,45,-7,-44,15,41,-23,-36,30},{/*Row 35*/30,-38,-18,44,6,-45,8,43,-20,-37,31,28,-39,-16,44,3,-45,10,42,-22,-36,33,26,-40,-14,45,1,-45,12,41,-24,-34,34,24,-41,-12,45,-1,-45,14,40,-26,-33,36,22,-42,-10,45,-3,-44,16,39,-28,-31,37,20,-43,-8,45,-6,-44,18,38,-30},{/*Row 36*/29,-40,-13,45,-4,-43,21,35,-35,-21,43,4,-45,13,40,-29,-29,40,13,-45,4,43,-21,-35,35,21,-43,-4,45,-13,40,29,29,-40,-13,45,-4,-43,21,35,-35,-21,43,4,-45,13,40,-29,-29,40,13,-45,4,43,-21,-35,35,21,-43,-4,45,-13,-40,29},{/*Row 37*/28,-41,-8,45,-14,-38,33,22,-44,-1,44,-20,-34,37,16,-45,6,42,-26,-30,40,10,-45,12,39,-31,-24,43,3,-45,18,36,-36,-18,45,-3,-43,24,31,-39,-12,45,-10,-40,30,26,-42,-6,45,-16,-37,34,20,-44,1,44,-22,-33,38,14,-45,8,41,-28},{/*Row 38*/27,-43,-2,44,-23,-30,41,7,-45,19,34,-39,-11,45,-15,-36,36,15,-45,11,39,-34,-19,45,-7,-41,30,23,-44,2,43,-27,-27,43,2,-44,23,30,-41,-7,45,-19,-34,39,11,-45,15,36,-36,-15,45,-11,-39,34,19,-45,7,41,-30,-23,44,-2,-43,27},{/*Row 39*/26,-44,3,41,-31,-20,45,-10,-38,36,14,-45,16,34,-39,-8,45,-22,-30,42,1,-43,28,24,-44,6,40,-33,-18,45,-12,-37,37,12,-45,18,33,-40,-6,44,-24,-28,43,-1,-42,30,22,-45,8,39,-34,-16,45,-14,-36,38,10,-45,20,31,-41,-3,44,-26},{/*Row 40*/25,-44,9,38,-38,-9,44,-25,-25,44,-9,-38,38,9,-44,25,25,-44,9,38,-38,-9,44,-25,-25,44,-9,-38,38,9,-44,25,25,-44,9,38,-38,-9,44,-25,-25,44,-9,-38,38,9,-44,25,25,-44,9,38,-38,-9,44,-25,-25,44,-9,-38,38,9,-44,25},{/*Row 41*/24,-45,14,33,-42,3,39,-37,-8,44,-30,-18,45,-20,-28,44,
-10,-36,40,1,-41,34,12,-45,26,22,-45,16,31,-43,6,38,-38,-6,43,-31,-16,45,-22,-26,45,-12,-34,41,-1,-40,36,10,-44,28,20,-45,18,30,-44,8,37,-39,-3,42,-33,-14,45,-24},{/*Row 42*/23,-45,19,27,-45,15,30,-44,11,34,-43,7,36,-41,2,39,-39,-2,41,-36,-7,43,-34,-11,44,-30,-15,45,-27,-19,45,-23,-23,45,-19,-27,45,-15,-30,44,-11,-34,43,-7,-36,41,-2,-39,39,2,-41,36,7,-43,34,11,-44,30,15,-45,27,19,-45,23},{/*Row 43*/22,-45,24,20,-45,26,18,-45,28,16,-45,30,14,-44,31,12,-44,33,10,-43,34,8,-42,36,6,-41,37,3,-40,38,1,-39,39,-1,-38,40,-3,-37,41,-6,-36,42,-8,-34,43,-10,-33,44,-12,-31,44,-14,-30,45,-16,-28,45,-18,-26,45,-20,-24,45,-22},{/*Row 44*/21,-45,29,13,-43,35,4,-40,40,-4,-35,43,-13,-29,45,-21,-21,45,-29,-13,43,-35,-4,40,-40,4,35,-43,13,29,-45,21,21,-45,29,13,-43,35,4,-40,40,-4,-35,43,-13,-29,45,-21,-21,45,-29,-13,43,-35,-4,40,-40,4,35,-43,13,29,-45,21},{/*Row 45*/20,-45,33,6,-39,41,-10,-30,45,-24,-16,44,-36,-1,37,-43,14,26,-45,28,12,-42,38,-3,-34,44,-18,-22,45,-31,-8,40,-40,8,31,-45,22,18,-44,34,3,-38,42,-12,-28,45,-26,-14,43,-37,1,36,-44,16,24,-45,30,10,-41,39,-6,-33,45,-20},{/*Row 46*/19,-44,36,-2,-34,45,-23,-15,43,-39,7,30,-45,27,11,-41,41,-11,-27,45,-30,-7,39,-43,15,23,-45,34,2,-36,44,-19,-19,44,-36,2,34,-45,23,15,-43,39,-7,-30,45,-27,-11,41,-41,11,27,-45,30,7,-39,43,-15,-23,45,-34,-2,36,-44,19},{/*Row 47*/18,-43,39,-10,-26,45,-34,1,33,-45,28,8,-38,44,-20,-16,42,-40,12,24,-45,36,-3,-31,45,-30,-6,37,-44,22,14,-41,41,-14,-22,44,-37,6,30,-45,31,3,-36,45,-24,-12,40,-42,16,20,-44,38,-8,-28,45,-33,-1,34,-45,26,10,-39,43,-18},{/*Row 48*/17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17,17,-42,42,-17,-17,42,-42,17},{/*Row 49*/16,-40,44,-24,-8,36,-45,31,-1,-30,45,-37,10,22,-43,-41,-18,-14,39,-44,26,6,-34,45,-33,3,28,-45,38,-12,-20,42,-42,20,12,-38,45,-28,-3,33,-45,34,-6,-26,44,-39,14,18,-41,43,-22,-10,37,-45,30,1,-31,45,-36,8,24,-44,40,-16},{/*Row 50*/15,-39,45,-30,2,27,-44,41,-19,-11,36,-45,34,-7,-23,43,-43,23,7,-34,45,-36,11,19,-41,44,-27,-2,30,-45,39,-15,-15,39,-45,30,-2,-27,44,-41,19,11,-36,45,-34,7,23,-43,43,-23,-7,34,-45,36,-11,-19,41,-44,27,2,-30,45,-39,15},{/*Row 51*/
14,-37,45,-36,12,16,-38,45,-34,10,18,-39,45,-33,8,20,-40,45,-31,6,22,-41,44,-30,3,24,-42,44,-28,1,26,-43,43,-26,-1,28,-44,42,-24,-3,30,-44,41,-22,-6,31,-45,40,-20,-8,33,-45,39,-18,-10,34,-45,38,-16,-12,36,-45,37,-14},{/*Row 52*/13,-35,45,-40,21,4,-29,43,-43,29,-4,-21,40,-45,35,-13,-13,35,-45,40,-21,-4,29,-43,43,-29,4,21,-40,45,-35,13,13,-35,45,-40,21,4,-29,43,-43,29,-4,-21,40,-45,35,-13,-13,35,-45,40,-21,-4,29,-43,43,-29,4,21,-40,45,-35,13},{/*Row 53*/12,-33,44,-43,30,-8,-16,36,-45,41,-26,3,20,-38,45,-39,22,1,-24,40,-45,37,-18,-6,28,-42,45,-34,14,10,-31,44,-44,31,-10,-14,34,-45,42,-28,6,18,-37,45,-40,24,-1,-22,39,-45,38,-20,-3,26,-41,45,-36,16,8,-30,43,-44,33,-12},{/*Row 54*/11,-30,43,-45,36,-19,-2,23,-39,45,-41,27,-7,-15,34,-44,44,-34,15,7,-27,41,-45,39,-23,2,19,-36,45,-43,30,-11,-11,30,-43,45,-36,19,2,-23,39,-45,41,-27,7,15,-34,44,-44,34,-15,-7,27,-41,45,-39,23,-2,-19,36,-45,43,-30,11},{/*Row 55*/10,-28,40,-45,41,-30,12,8,-26,39,-45,42,-31,14,6,-24,38,-45,43,-33,16,3,-22,37,-45,44,-34,18,1,-20,36,-44,44,-36,20,-1,-18,34,-44,45,-37,22,-3,-16,33,-43,45,-38,24,-6,-14,31,-42,45,-39,26,-8,-12,30,-41,45,-40,28,-10},{/*Row 56*/9,-25,38,-44,44,-38,25,-9,-9,25,-38,44,-44,38,-25,9,9,-25,38,-44,44,-38,25,-9,-9,25,-38,44,-44,38,-25,9,9,-25,38,-44,44,-38,25,-9,-9,25,-38,44,-44,38,-25,9,9,-25,38,-44,44,-38,25,-9,-9,25,-38,44,-44,38,-25,9},{/*Row 57*/8,-22,34,-42,45,-43,36,-24,10,6,-20,33,-41,45,-44,37,-26,12,3,-18,31,-40,45,-44,38,-28,14,1,-16,30,-39,45,-45,39,-30,16,-1,-14,28,-38,44,-45,40,-31,18,-3,-12,26,-37,44,-45,41,-33,20,-6,-10,24,-36,43,-45,42,-34,22,-8},{/*Row 58*/7,-19,30,-39,44,-45,43,-36,27,-15,2,11,-23,34,-41,45,-45,41,-34,23,-11,-2,15,-27,36,-43,45,-44,39,-30,19,-7,-7,19,-30,39,-44,45,-43,36,-27,15,-2,-11,23,-34,41,-45,45,-41,34,-23,11,2,-15,27,-36,43,-45,44,-39,30,-19,7},{/*Row 59*/6,-16,26,-34,40,-44,45,44,39,-33,24,-14,3,8,-18,28,-36,41,-45,45,-43,38,-31,22,-12,1,10,-20,30,-37,42,-45,45,-42,37,-30,20,-10,-1,12,-22,31,-38,43,-45,45,-41,36,-28,18,-8,-3,14,-24,33,-39,44,-45,44,-40,34,-26,16,-6},{/*Row 60*/4,-13,21,-29,35,-40,43,-45,45,-43,40,-35,29,-21,13,-4,-4,13,-21,29,-35,40,-43,45,-45,43,-40,35,-29,21,-13,4,4,-13,21,-29,35,-40,43,-45,45,-43,40,-35,29,-21,13,-4,-4,13,-21,29,-35,40,-43,45,-45,43,-40,35,-29,21,-13,4},
{/*Row 61*/3,-10,16,-22,28,-33,37,-40,43,-45,45,-45,44,-41,38,-34,30,-24,18,-12,6,1,-8,14,-20,26,-31,36,-39,42,-44,45,-45,44,-42,39,-36,31,-26,20,-14,8,-1,-6,12,-18,24,-30,34,-38,41,-44,45,-45,45,-43,40,-37,33,-28,22,-16,10,-3},{/*Row 62*/2,-7,11,-15,19,-23,27,-30,34,-36,39,-41,43,-44,45,-45,45,-45,44,-43,41,-39,36,-34,30,-27,23,-19,15,-11,7,-2,-2,7,-11,15,-19,23,-27,30,-34,36,-39,41,-43,44,-45,45,-45,45,-44,43,-41,39,-36,34,-30,27,-23,19,-15,11,-7,2},{/*Row 63*/1,-3,6,-8,10,-12,14,-16,18,-20,22,-24,26,-28,30,-31,33,-34,36,-37,38,-39,40,-41,42,-43,44,-44,45,-45,45,-45,45,-45,45,-45,44,-44,43,-42,41,-40,39,-38,37,-36,34,-33,31,-30,28,-26,24,-22,20,-18,16,-14,12,-10,8,-6,3,-1}
权利要求
1.一种用于仿真胶片颗粒块的方法,包括步骤至少部分地根据图像块的属性来建立至少一个参数;以及基于根据所述至少一个参数而产生的至少一个胶片颗粒图案,仿真至少一个胶片颗粒块。
2.根据权利要求1所述的方法,还包括步骤把胶片颗粒块与所述图像块进行混合。
3.根据权利要求1所述的方法,其中,在所述仿真步骤之前接收伴随着所述图像块的补充胶片颗粒信息消息。
4.根据权利要求3所述的方法,还包括步骤按照解码顺序把所述胶片颗粒块与所述图像块进行混合。
5.根据权利要求3所述的方法,还包括步骤按照显示顺序把所述胶片颗粒块与所述图像块进行混合。
6.根据权利要求1所述的方法,还包括步骤按照解码顺序来仿真所述至少一个胶片颗粒块。
7.根据权利要求1所述的方法,还包括步骤按照显示顺序来仿真所述至少一个胶片颗粒块。
8.根据权利要求1所述的方法,其中,所述建立步骤还包括步骤接收伴随所述图像块并包含多个参数的胶片颗粒信息消息,每一个所述参数表示将要在所述图像块中仿真的胶片颗粒的属性;从所述多个参数中选择至少一个参数。
9.根据权利要求1所述的方法,其中,所述仿真步骤还包括对所述图像块的色度分量的截频进行缩放;计算所述图像块的平均像素值;把所述块的平均像素值与伴随着将与所述胶片颗粒块进行混合的图像块的胶片颗粒信息消息中的相应强度值进行比较;从胶片颗粒块数据库中检索胶片颗粒块;以及对相邻块之间的垂直边沿进行解块。
10.根据权利要求9所述的方法,其中,在接收到具有4:4:4色度格式的至少一个参数时,把所述色度分量的截频缩放至4:2:0格式。
11.根据权利要求9所述的方法,其中,所述检索胶片颗粒块的步骤还包括步骤随机地检索胶片颗粒块。
12.根据权利要求9所述的方法,其中,所述检索步骤还包括步骤从预计算的胶片颗粒块的数据库中检索胶片颗粒块。
13.根据权利要求12所述的方法,还包括步骤通过存储169个具有4096个预计算胶片颗粒样本的图案而建立胶片颗粒块数据库,每一个样本具有2进制补码形式且范围从-127至127。
14.根据权利要求9所述的方法,还包括步骤通过如下步骤建立胶片颗粒块数据库规定具有高斯随机值的查找表;随机地访问所述查找表;对从所述查找表中随机访问的值执行整型逆变换;以及对从所述整型逆变换中获得的图案的水平边沿进行解块。
15.根据权利要求1所述的方法,其中,如果伴随着所述图像块的胶片颗粒消息规定了禁止仿真,则不执行胶片颗粒仿真。
16.根据权利要求9所述的方法,还包括步骤如果像素值处于所有指定的频带之外,则禁止胶片颗粒仿真。
17.一种用于针对图像块而仿真胶片颗粒的方法,包括步骤至少部分地根据所述图像块的属性来建立至少一个参数;根据所述至少一个参数,以比特精度来仿真至少一个胶片颗粒块;以及把胶片颗粒块与所述图像块进行混合。
18.根据权利要求17所述的方法,其中,在所述仿真步骤之前接收伴随着所述图像块的补充胶片颗粒信息消息。
19.根据权利要求18所述的方法,还包括步骤按照解码顺序把所述胶片颗粒块与所述图像块进行混合。
20.根据权利要求17所述的方法,还包括步骤按照显示顺序把所述胶片颗粒块与所述图像块进行混合。
21.根据权利要求17所述的方法,还包括步骤按照解码顺序来仿真所述至少一个胶片颗粒块。
22.根据权利要求17所述的方法,还包括步骤按照显示顺序来仿真所述至少一个胶片颗粒块。
23.一种用于对与图像块进行混合的胶片颗粒块进行仿真的设备,包括用于至少部分地根据图像块的属性来建立至少一个参数的装置;以及用于通过根据所述至少一个参数而产生至少一个胶片颗粒图案来仿真至少一个胶片颗粒块的装置。
24.根据权利要求23所述的设备,还包括用于至少把胶片颗粒块与所述图像块进行混合的装置。
25.根据权利要求23所述的设备,其中,混合装置按照解码顺序把所述胶片颗粒块与所述图像块混合。
26.根据权利要求23所述的设备,其中,混合装置按照显示顺序把所述胶片颗粒块与所述图像块混合。
27.根据权利要求23所述的设备,其中,所述用于仿真胶片颗粒的装置按照解码顺序来仿真所述至少一个胶片颗粒块。
28.根据权利要求23所述的设备,其中,所述用于仿真胶片颗粒的装置按照解码顺序来仿真所述至少一个胶片颗粒块。
29.根据权利要求23所述的设备,其中,所述建立装置还包括用于接收伴随所述图像块并包含多个参数的胶片颗粒信息消息的装置,每一个所述参数表示将要在所述图像块中仿真的胶片颗粒的属性;以及用于从所述多个参数中选择至少一个参数的装置。
30.根据权利要求23所述的设备,其中,所述仿真装置还包括用于对所述图像块的色度分量的截频进行缩放的装置;用于计算所述图像块的平均像素值的装置;用于把所述块的平均像素值与伴随着将与所述胶片颗粒块进行混合的图像块的胶片颗粒信息消息中的相应强度值进行比较的装置;胶片颗粒块数据库;用于从所述胶片颗粒块数据库中检索胶片颗粒块的装置;以及用于对相邻块之间的垂直边沿进行解块的装置。
31.根据权利要求30所述的设备,其中,在接收到具有4:4:4色度格式的至少一个参数时,缩放装置把所述色度分量的截频缩放至4:2:0格式。
32.根据权利要求30所述的设备,其中,所述用于检索胶片颗粒块的装置随机地检索所述胶片颗粒块。
33.根据权利要求30所述的设备,其中,所述数据库包含预计算的胶片颗粒块。
34.根据权利要求30所述的设备,其中,所述数据库包含169个具有4096个预计算胶片颗粒样本的图案,每一个样本具有2进制补码形式且范围从-127至127。
35.一种计算机可读介质,用于使计算机对与图像块进行混合的胶片颗粒进行仿真,包括步骤第一装置,用于使所述计算机至少部分地根据图像块的属性来建立至少一个参数;以及第二装置,用于使所述计算机根据所述至少一个参数,以比特精度来仿真至少一个胶片颗粒块。
36.一种用于对与图像块进行混合的胶片颗粒块进行仿真的方法,包括步骤至少部分地根据所述图像块的属性来建立至少一个参数;以及通过访问胶片颗粒图案数据库,根据所述至少一个参数来仿真所述至少一个胶片颗粒块。
37.根据权利要求36所述的方法,还包括步骤把所述胶片颗粒图案数据库存储在非易失性存储器中。
38.根据权利要求36所述的方法,还包括步骤在系统初始化时创建所述胶片颗粒图案数据库。
39.一种用于随机地产生与图像样本进行混合的胶片颗粒样本的方法,包括步骤在接收到至少一个胶片颗粒参数时,对伪随机数发生器的种子进行初始化;以及根据所述随机数,通过随机地访问胶片颗粒图案数据库,产生至少一个胶片颗粒样本。
40.根据权利要求39所述的方法,还包括步骤在接收到所述至少一个胶片颗粒参数时,把所述种子初始化为固定值。
41.根据权利要求39所述的方法,还包括步骤在接收到所述至少一个胶片颗粒参数时,把所述种子初始化为可变值。
42.根据权利要求39所述的方法,还包括步骤根据从接收到的比特流中提取出的至少一个参数,对所述种子进行初始化。
43.根据权利要求41所述的方法,还包括步骤使用所述至少一个参数来访问具有预定种子的查找表。
全文摘要
通过首先至少部分地根据图像块的属性来建立至少一个参数,来仿真胶片颗粒块以便添加到图像块。基于根据所述至少一个参数而产生的至少一个胶片颗粒图案,仿真至少一个胶片颗粒块。具体地,使用比特精确的技术来产生ce胶片颗粒图案。
文档编号H04N7/46GK101065971SQ200580040400
公开日2007年10月31日 申请日期2005年11月22日 优先权日2004年11月24日
发明者克里斯蒂娜·戈米拉, 吉恩·拉什, 杰弗里·艾伦·库珀 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1