用于位精确的胶片颗粒模拟的技术的制作方法

文档序号:7608535阅读:169来源:国知局
专利名称:用于位精确的胶片颗粒模拟的技术的制作方法
技术领域
本发明涉及一种用于模拟图像中的胶片颗粒(film grain)的技术。
背景技术
运动画面胶片包括分散在乳剂中的卤化银晶体,所述乳剂被涂覆在胶片片基上的薄层中。这些晶体的曝光和显影形成由离散的微小银粒子构成的摄影图像。在彩色底片中,在生胶片的显影期间,微小的染色斑点(blob)出现在银的化学去除之后银晶体形成的地方。这些小染色点通常具有彩色胶片中的标志‘颗粒’。由于银晶体在原始乳剂上的随机形成,颗粒呈现为随机地分布在所得到的图像上。在均匀曝光的区域内,一些晶体在曝光之后显影而其它的则没有。
颗粒在尺寸和形状上不同。胶片越快,所形成的银块和所产生的染色斑点越大,并且它们越趋向于以随机的图案(pattern)聚集在一起。术语“粒度”一般是指颗粒图案。裸眼不能分辨从0.0002mm变化到大约0.002mm的单独的颗粒。取而代之的是,眼睛分辨被称为斑点的颗粒组。观察者将这些斑点组识别为胶片颗粒。随着图像分辨率变得更大,对胶片颗粒的感觉变得更强。胶片颗粒在电影和高清晰度(HD)图像上变得可清楚地察觉到,而胶片颗粒在标准清晰度(SD)中逐渐失去重要性,并且以更小的形式变得感觉不到。
运动画面胶片通常包含由摄影胶片的曝光和显影的物理过程或者从随后的图像编辑引起的图像相关的噪声。摄像胶片具有由摄影乳剂的物理粒度引起的特有的准随机图案或纹理。或者,相似图案的模拟可以发生在计算机生成的图像中,以便将它们与摄影胶片混合。在两种情况下,这一图像相关的噪声具有“胶片颗粒”的名称(designation)。适度的颗粒纹理经常在运动画面中呈现出所期望的特征。在一些实例中,胶片颗粒提供帮助正确感知二维画面的视觉暗示。在单个胶片中胶片等级(grade)经常变化,以便提供对于时间基准、观察点等的各种线索。在运动画面工业中,对于控制颗粒纹理存在许多其它的技术和艺术需求。因此,在图像处理和传送链中保持图像的颗粒状外观已经成为运动画面工业中的要求。
可在市场上买到的若干产品具有模拟胶片颗粒的能力,所述能力常常用于将计算机生成的对象混合到自然场景中。来自纽约Rochester的EastmanKodak公司的Cineon、即用来实现颗粒模拟的第一批数字胶片应用程序之一对于许多颗粒类型产生非常真实的结果。然而,由于Cineon应用程序对于高颗粒大小的设置产生的可察觉到的斜条纹,因此该应用程序对于很多高速胶片没有产生良好的性能。而且,当图像受到先前的处理时,例如当图像被复制或被数字处理时,Cineon应用程序不能以足够的保真度来模拟颗粒。
模拟胶片颗粒的另一商用产品是来自Visual Infinity公司的GrainSurgetyTM,其被用作AdobeAfter Effects的插件。Grain SurgeryTM产品看起来似乎通过过滤一组随机数来生成合成颗粒。这一方法受到高计算复杂度的缺点的损害。
因此,需要一种高效的胶片颗粒模拟技术,其减小对于存储器带宽的需要和计算工作强度(effort),从而允许诸如机顶盒的成本敏感的大量设备中的胶片颗粒模拟。

发明内容
简而言之,根据本原理的优选实施例,提供一种用于模拟M×N个像素的图像块中的胶片颗粒的方法,其中N和M是大于0的整数。该方法以首先计算该M×N个像素的块中的像素值的平均值开始。作为所述图像块的平均值和随机数的函数,从先前建立的、包含胶片颗粒的块的池中选择M×N个像素的胶片颗粒块。将所选择的胶片颗粒块中的每个像素与图像块中的相应像素混合。


图1示出用于生成预先建立的胶片颗粒块以便在随后的胶片颗粒模拟中使用的装置的方框示意性图;以及图2示出根据本原理的、用于使用由图1的装置生成的预先建立的胶片颗粒块来在逐个像素的基础上模拟胶片颗粒的装置的方框示意图。
具体实施例方式
本原理的方法根据与图像一起传送的胶片颗粒信息来模拟胶片颗粒,其中所模拟的颗粒被混合到所述图像中。在实践中,所传送的图像通常在传送之前通过诸如H.264压缩方案的多种众所周知的压缩方案之一而受到压缩(编码)。利用使用H.264压缩方案压缩的所传送的图像,胶片颗粒信息的传送通常通过补充增强信息(SEI)消息而发生。根据负责颁布H.264标准的标准团体最近采纳的著作(contributions),SEI消息现在可以包括指定不同胶片颗粒属性的各种参数。
对胶片颗粒SEI消息参数的限制本原理的方法对H.264建议所允许的参数的数目及其可能值的范围施加了一些限制。
表1提供这样的参数的列表,包括对其语义的描述和本原理施加的限制。
表1

<p>该预测误差Δ可以通过使用查询表量化。为此,保持一个表格Q。例如,对于2比特ADPCM量化器,Q的初始表格看起来可以如表2所示。

表2用于第一延续的量化表格Q量化如下进行。其中将预测误差Δ与边界b相比较,以便满足下式bli<Δ≤bui根据i的值(其满足上述关系),表示层r由r=i计算。相关的表示层被存储在表示表格R中,如表3所示。

表3用于第一延续的表示表格R表格Q和R的条目被乘以了一个因数c,以用于量化轨道中的下一个正弦分量。
Q(k+1)=Q(k)·cR(k+1)=R(k)·c在轨道解码期间,两个表格都根据所产生的表示层r而被缩放。对于当前的子帧,如果r是1或2(内层),那么用于量化表格的比例因数c被设置为c=2-1/4因为c<1,因此轨道中的下一个正弦的频率和相位变得更加精确。如果r是0或3(外层),那么该比例因数被设置为c=21/2因为c>1,因此轨道中的下一个正弦的量化精度下降。使用这些因数,一次放大可以通过两次缩小来抵消。放大和缩小因数的差导致放<p>根据本原理的胶片颗粒模拟以两步的过程发生。首先,如针对图1更详细地描述的那样,在初始化期间生成胶片颗粒块的池。随后,如针对图2描述的那样,将所选择的胶片颗粒部分加到每个解码后的画面的每个亮度像素上。
图1示出了根据本原理的所说明的实施例的、用于生成胶片颗粒块的池以便在胶片颗粒模拟中使用的装置10。装置10通常为多达8个不同亮度强度间隔中的每一个生成128个胶片颗粒块的池。SEI消息字段num_intensity_intervals_minus1
指示小于亮度强度间隔数目的数目。
装置10使用所指定的均匀伪随机数多项式生成器12、并且使用所指定的、存储在查找表14中的2048个8位高斯分布随机数的列表来完成胶片颗粒噪声初始化。查找表14存储在[-63,63]范围内的二进制补码(2’s complement)形式的随机数。高斯随机数的列表呈现在附录中。
根据本原理的位精确规范,胶片颗粒块的生成从最低亮度强度间隔开始。均匀随机数生成器12使用本原多项式模2算子x18+x5+x2+x1+1来生成存储在查找表14中的高斯随机数列表的索引。为了易于理解,术语x(i,s)将指示以初始种子s开始的序列x的第i码元。当接收到每个胶片颗粒SEI消息时,随机数种子被重置为1。
为了形成单独的8×8的胶片颗粒块,随机块生成器16从高斯随机数查找表14中读取具有(worth of)8个随机数的8行。来自随机数生成器12的随机偏移用来访问每个8个随机数的行。如下生成由块生成器16产生的块的每行index=x(i,1)for n=0…7,B[i%8][n]=Gaussian_list[(index+n)%2048]其中,i对于每个8×1块的行递增。
由生成器16读取的随机值的8×8的块受到由整数离散余弦变换(DCT)变换块18执行的、通常是整数DCT的变换。在DCT变换后,根据在SEI消息中指定的截止频率(cut frequency),这8×8个随机值在频率滤波器20处受到频率滤波。在频率滤波之后,这8×8个随机值受到由逆DCT块22进行的逆DCT变换。第一换算(scaling)块24如下换算顶部和底部块行上的像素for n=0..7,B′
[n]=(B
[n]+1)>>1for n=0..7,B′[7][n]=(B[7][n]+1)>>1此过程持续到为每个亮度强度间隔生成一组128个胶片颗粒块为止。在由第二换算块26进行的随后的换算之后,胶片颗粒块被存储在胶片颗粒池28中。
用来模拟胶片颗粒的块和像素操作图2图示了根据本原理说明性实施例的、用于使用胶片颗粒池28中存储的值在逐个像素的基础上模拟胶片颗粒的装置200。装置200包括处理块202,其用于产生每个8×8的亮度像素值块的平均值以便与胶片颗粒SEI消息中的参数intensity_interval_lower_bound
[i]和intensity_interval_upper_bound
[i]进行比较,以确定用于当前块的正确亮度强度间隔。
选择器块204使用由均匀随机数生成器16从模128多项式(polynomialmodulo 128)生成的随机数作为块索引、从池28中选择第k胶片颗粒块。因此,使用用于针对图1描述的初始化过程的多项式生成均匀分布的随机数的噪声生成器16在图2的装置200中获得应用以选择胶片颗粒块,并且随机数种子在池创建过程之后被重置为1。如果所得到的块索引与先前的块索引相同,则该索引的最后一位受到反转(toggling)。这种运算可以使用逐位比较和XOR(异或)算子(^)来如下进行previous_index=indexindex=x(k,1)%128index^=(index==previous_index)在块选择之后,去块滤波器对先前选择的块最右侧的列和当前块最左侧的列上的像素进行去块。加法器208将去块后的胶片颗粒块加到解码后的亮度像素上。(由于需要两个水平相邻的块来执行去块,因此在204中选择的块和在208中加上的块之间存在1个块的延迟。)限制器(clipper)210将结果限制在范围
内以便显示。注意胶片颗粒噪声相加仅对亮度像素进行。
截止频率的换算表1的胶片颗粒SEI消息中的参数假设在模拟过程中使用16×16的DCT。具体来说,由comp_model_value
[i][1]和comp_model_value
[i][2]提供的水平和垂直高截止频率、以及由comp_model_value
[i][3]和comp_model_value
[i][4]提供的水平和垂直低截止频率用来过滤16×16个值的块的变换系数。
在所说明的实施例中,8×8的块的使用将降低复杂度。使用基于16×16的变换的截止频率参数来采用8×8块的变换意味着在颗粒生成之前所有截止频率都需要换算。
截止频率的换算如下进行comp_model_value′
[i][j]=(comp_model_value
[i][j]+1)>>1其中j在范围[1,4]内。注意该换算构成被上舍入为最接近的整数的整数除法的等价物。
整数变换和偏差(varaiance)换算用于频率滤波的变换相当于使用下面的变换矩阵进行的对DCT的8×8整数逼近T8=666666668742-2-4-7-873-3-7-7-3377-2-8-4482-76-6-666-6-664-827-7-28-43-77-3-37-732-47-88-74-2]]>可以使用16位算术。随机噪声的给定块的前向整数变换被定义为B~=(((T8&times;B+8)>>4)&times;T8T+8)>>4]]>其中11位用于 逆整数变换被定义为B=(T8T&times;B~&times;T8+128)>>8]]>其中8位用于B。
在逆变换之后,假设块B在第k亮度强度间隔中,则它经历如下换算val=B(i,j)*comp_model_value
[k]
B′(i,j)=(((val-(val>>4)+2log2_scale_factor-1)>>log2_scale_factor)+16)>>5其中运算(val-(val>>4))补偿整数变换的换算;在SEI消息中传送的log2_scale_factor换算comp_model_value
[k]
;并且5换算在附录中提供的高斯数。去块滤波器206如所示出的那样,图2的胶片颗粒模拟装置包括用于平滑由大小较小的变换产生的分块产物(blocking artifacts)的去块滤波器206。在所说明的实施例中,去块滤波器206采用应用于接近8×8的块的左和右边缘的所有像素的3抽头滤波器的形式。给出属于两个相邻的8×8的块的一行像素,块之间的转换位于像素b和c之间,

块A 块B去块的应用如下进行b′=(a+(b<<1)+c)>>2c′=(b+(c<<1)+d)>>2其中b′和c′分别取代原始像素b和c的值。在添加到解码后的图像之前,对每个胶片颗粒块进行左和右块边缘的去块。
上文描述了一种用于模拟图像中的胶片颗粒的技术。
相关申请的交叉引用本申请要求2003年10月14日提交的美国临时专利申请序列号60/511026在35U.S.C.119(e)下的优先权,其教导被合并于此。
附录2048个高斯分布的随机数的列表是char Gaussian ={0xFB,0x05,0x33,0xFB,0x14,0xEF,0x06,0xID,0x26,0x30,0xD5,0x01,0x20,0xD9,0x16,0x1B,0xE7,0x0A,0x06,0xFB,0xF6,0xF7,0x10,0xC1,0x08,0xFE,0xCC,0x09,0x09,0x23,0x17,0xFB,0xED,0x15,0xFF,0x25,0xDF,0x1A,0xD3,0x10,0xE9,0x0A,0xFF,0xE5,0x18,0x00,0xE4,0xEC,0x00,0x3C,0xC1,0xCB,0xE8,0x04,0x07,0x3F,0x3D,0x36,0x19,0x3F,0x00,0x03,0x38,0x09,0x0E,0x06,0x26,0x38,0x28,0xE2,0xC1,0x37,0xE7,0xF2,0x01,0xE8,0xF5,0x1D,0xF2,0xDC,0x05,0x38,0x21,0x27,0xFF,0xC7,0xD5,0xFE,0xFE,0x14,0xID,0xD8,0x18,0xF3,0xF1,0xEF,0xCC,0x19,0x08,0xF4,0xEF,0xFA,0xF9,0xC1,0xE5,0xF5,0xE5,0xC1,0xC8,0x02,0xF4,0xDC,0x3F,0x3F,0xFF,0x14,0x2B,0xE0,0xF9,0x1B,0x09,0x2D,0xD8,0xE0,0xE0,0x11,0xFD,0xE5,0x31,0xFD,0x2C,0x3E,0xF3,0x2D,0x00,0x1F,0x1D,0xF9,0xF5,0x38,0xF0,0x3A,0x06,0x0C,0x19,0xF8,0x35,0xFD,0x1A,0x13,0xEF,0x08,0xFD,0x02,0xD3,0x03,0x1F,0x1F,0xF9,0x13,0xEE,0x09,0x1B,0x08,0xE7,0x13,0x10,0xEE,0x3E,0xED,0xC5,0x08,0xF1,0x00,0x09,0x31,0x1E,0x32,0xFA,0xDC,0xF8,0xE7,0x31,0x01,0x01,0x1D,0x10,0xFF,0xFF,0x04,0xEC,0xCC,0xEE,0x06,0x3F,0x07,0xC1,0xF1,0xD5,0xED,0xE5,0x16,0xEC,0x25,0x0B,0xF7,0xF5,0xDD,0x25,0xE6,0x00,0x10,0xEA,0x08,0xD2,0x1D,0xE0,0xDF,0x1B,0xCE,0xF2,0xD5,0xEF,0xD2,0x21,0x02,0xDC,0xE2,0x2E,0xEB,0x06,0xF4,0xEE,0xC1,0xF8,0x07,0xC1,0x1F,0x11,0x0F,0x2E,0x08,0xE7,0xE3,0x23,0x26,0x28,0x3F,0x3F,0x1E,0x10,0xCC,0xD2,0x00,0x00,0x25,0xDE,0x23,0x3F,0xF7,0xC9,0x0E,0x0B,0x07,0x01 0x13,0x2D,0x02,0x14,0x00,0xFE,0x13,0x07,0x38,0xF2,0xEE,0x19,0x15,0x35,0x0D,0x3B,0x03,0xD9,0x0C,0xDE,0xF6,0x2E,0xFB,0x00,0x09,0x14,0xE7,0x27,0xC1,0xEB,0x3F,0x08,0x05,0xF6,0x0F,0xE7,0x0D,0xD4,0xD3,0xED,0xF7,0xFC,0x0C,0xC6,0x23,0xF4,0xEB,0x00,0x05,0x2A,0xCB,0x13,0xF0,0xC1,0x17,0x19,0xF4,0xF6,0x16,0x00,0x07,0xEF,0xDE,0x00,0xDC,0x0C,0xFD,0x00,0x0E,0xFF,0x16,0x10,
0xF0,0x3A,0xEA,0x27,0xF5,0xF8,0xCA,0xFB,0xDD,0x2C,0xE9,0x0B,0xD3,0x3B,0xEE,0x18,0xC1,0x1D,0x10,0xD8,0xFB,0xF8,0xFD,0x16,0xC1,0xF9,0x2C,0x3F,0x08,0x31,0xED,0xF0,0x12,0x15,0xED,0xF1,0xF6,0x34,0xF7,0x09,0x09,0xE3,0xFC,0x0F,0x00,0xC1,0x10,0x3F,0xD6,0x25,0x0B,0xEC,0xE8,0xC1,0xCB,0xF9,0x16,0xDB,0x00,0x0E,0xF7,0x14,0xDE,0xED,0x06,0x3F,0xFF,0x02,0x0A,0xDC,0xE3,0xC1,0xFF,0xFF,0xE6,0xFE,0xC5,0x2E,0x3B,0xD8,0xE8,0x00,0x09,0xEA,0x21,0x26,0xFA,0xF6,0xC1,0x11,0xEC,0x1B,0x3B,0xFE,0xC7,0xF5,0x22,0xF9,0xD3,0x0C,0xD7,0xEB,0xC1,0x35,0xF4,0xEE,0x13,0xFD,0xFD,0xD7,0x02,0xD5,0x15,0xEF,0x04,0xC1,0x13,0x22,0x18,0xE1,0x24,0xE8,0x36,0xF3,0xD4,0xE9,0xED,0x16,0x18,0xFF,0x1D,0xEC,0x28,0x04,0xC1,0xFC,0xE4,0xE8,0x3E,0xE0,0x17,0x11,0x3A,0x07,0xFB,0xD0,0x36,0x2F,0xF8,0xE5,0x22,0x03,0xFA,0xFE,0x18,0x12,0xEA,0x3C,0xF1,0xDA,0x14,0xEA,0x02,0x01,0x22,0x08,0xD9,0x00,0xD9,0x02,0x3F,0x15,0x0D,0x3F,0xC1,0x0D,0xE5,0xF3,0x1B,0x37,0x17,0x35,0x00,0xDA,0x00,0x1A,0xFC,0xF5,0xEB,0x3D,0x36,0x3F,0x32,0x21,0x17,0x02,0x00,0x3D,0xFA,0xE5,0xF0,0xE8,0x2C,0x20,0xCC,0xFE,0x2F,0xE6,0x1F,0x16,0x0E,0x17,0x09,0xEF,0x07,0x14,0x17,0xD0,0xF4,0x2F,0xDB,0x3F,0xC7,0x3F,0xDF,0x00,0xF8,0x19,0xD1,0x17,0x05,0x11,0xEA,0xDB,0x2C,0xCB,0xFC,0xE4,0xF2,0xCA,0xF4,0x3F,0xE2,0xFA,0x26,0xEA,0x08,0x09,0x29,0xF5,0x04,0x3F,0xDF,0x1A,0x01,0x0C,0x06,0x37,0x15,0xC8,0xF5,0x05,0xF4,0x29,0x21,0xFA,0x25,0xC3,0xID,0x3F,0xFB,0x31,0xF7,0x1F,0xED,0x1A,0x04,0x03,0x1E,0xE5,0x01,0xE4,0x38,0xCC,0xE3,0x01,0xFC,0xE9,0x24,0x2A,0xE5,0xEF,0x06,0x3B,0x0D,0x2E,0xDD,0x06,0xCF,0xDD,0xF6,0x0E,0x23,0xD1,0x09,0xE6,0x20,0xFA,0xE1,0xF4,0x20,0x24,0xFC,0x3F,0x00,0xC1,0x33,0xF6,0xDC,0xC9,0xCD,0xFD,0x0E,0xEC,0xF6,0xE3,0xF2,0xF4,0x09,0xFE,0xE7,0x2F,0xE3,0xD1,0xEE,0x11,0x09,0xDE,0x3F,0xF7,0xC1,0xF5,0xC5,0xE6,0x12,0x25,0xC1,0x00,0xFB,0xC5,0xE6,0xF3,0x13,0x22,0x08,0x08,0xC7,0x2C,0x1F,0x0C,0x12,0xF5,0x18,0xCE,0xF1,0xFC,0xD1,0xE6,0x02,0x2E,0xF5,0xE8,0xFC,0x19,0x01,0xDB,0xD4,0xFB,0xED,0x3F,0xD5,
0xF5,0x09,0x0A,0x38,0x25,0x19,0xF1,0x2E,0xE1,0x03,0xFB,0x17,0x12,0x32,0xEB,0xF8,0xE6,0xFD,0xEE,0xDA,0xF1,0xF6,0x1F,0x0F,0x1F,0x0A,0xC1,0x0F,0x1F,0x12,0x33,0xD6,0xFC,0x26,0x27,0x1D,0xD9,0xFD,0x11,0x04,0x28,0xF4,0xFC,0x01,0xF8,0x23,0x3F,0x29,0xD5,0x1B,0x09,0xC5,0xC3,0x12,0x05,0x3F,0x1C,0xE5,0x38,0x06,0x0C,0x10,0xFA,0xE9,0x0A,0xFA,0x02,0x1C,0x0D,0x0C,0x0C,0xFB,0xEE,0x12,0xD2,0x26,0x28,0x04,0x19,0x06,0x21,0xFA,0x00,0x10,0x16,0xDB,0x10,0xED,0xF5,0xE8,0xC1,0xF3,0x0F,0xFC,0x11,0x06,0x23,0x06,0x1C,0x05,0xE6,0xD6,0x1A,0xEA,0xEF,0x00,0x3F,0x05,0xDF,0xEA,0x17,0xC7,0x01,0x05,0x1C,0xEF,0x3B,0xF7,0xE2,0x1A,0xE3,0xC1,0xE8,0xF5,0x01,0xFE,0x08,0xD8,0xFE,0x3F,0x0C,0x27,0x21,0x1F,0xF4,0x06,0xE0,0xEE,0xC1,0xF2,0x0A,0xE1,0x20,0xE6,0xEC,0x36,0xE1,0x07,0xF6,0x06,0x0E,0xE1,0x0A,0x0D,0x2F,0xEA,0xE3,0xC6,0xFC,0x27,0xE8,0x0B,0xEB,0xF8,0x17,0xE9,0xC4,0xEF,0xF2,0xE6,0xEA,0x0E,0x3F,0xFA,0x18,0xFC,0xC1,0x25,0xF3,0xF5,0x2C,0x1D,0x05,0xD1,0x28,0xE3,0x1D,0x1E,0xF4,0x14,0xD3,0xFF,0xF6,0xE3,0xEA,0xE3,0xF5,0xE6,0x23,0xF2,0x21,0xF1,0xF5,0x07,0xF8,0xDF,0xF4,0xF2,0xE2,0x17,0x12,0x08,0x07,0xEE,0xF5,0xFB,0x04,0xF3,0xF7,0x1D,0x16,0xE8,0xE9,0xFF,0xF6,0xD8,0x0E,0xDF,0xC1,0x25,0x32,0x02,0xF8,0x30,0x11,0xE0,0x14,0xE7,0x03,0xE3,0x0B,0xE4,0xF7,0xF4,0xC5,0xDC,0x2D,0x07,0xF9,0x27,0xF0,0xD9,0xC1,0xEF,0x14,0x26,0xD7,0x00,0x1B,0x0B,0xDB,0x3F,0xF8,0xF6,0x06,0x0F,0x1B,0xC8,0xC1,0x2C,0x1B,0x1E,0x06,0x1B,0xFA,0xC8,0xF9,0x0F,0x18,0xDF,0xF8,0x2D,0xFC,0x00,0x0A,0x22,0xDD,0x31,0xF7,0xC8,0x20,0xD3,0xFC,0xFC,0xDD,0x3F,0x19,0xD8,0xE8,0x0C,0x1E,0xE2,0xC9,0x03,0xEC,0x3F,0x2B,0xE0,0x35,0xC1,0xFE,0x11,0xF9,0x14,0xE8,0x06,0x06,0x24,0xCE,0xF3,0x26,0x3F,0xFD,0xCE,0x2C,0x12,0x3C,0x2C,0xC2,0xE3,0x06,0xD2,0xC7,0x0A,0xDF,0xD5,0xD1,0xC5,0x15,0xF2,0xF1,0x08,0x02,0xE6,0xE2,0x0A,0xEB,0x05,0xDA,0xE3,0x06,0x0E,0x01,0x03,0xDC,0x13,0xE3,0xFB,0x36,0xE6,0x14,0x21,0xFA,0xC1,0xC1,0xE8,0x0B,0x0E,0x17,0x11,0x2D,0x11,0xF0,0x39,0xE7,0xF0,0xE7,0x2D,0x03,0xD7,0x24,0xF4,0xCD,0x0C,
0xFB,0x26,0x2A,0x02,0x21,0xD8,0xFA,0xF8,0xF0,0xE8,0x09,0x19,0x0C,0x04,0x1F,0xCD,0xFA,0x12,0x3F,0x38,0x30,0x11,0x00,0xF0,0xE5,0x3F,0xC3,0xF0,0x1E,0xFD,0x3B,0xF0,0xC1,0xE6,0xEB,0x1F,0x01,0xFE,0xF4,0x23,0xE4,0xF0,0xEB,0xEB,0x10,0xE4,0xC1,0x3F,0x0C,0xEF,0xFB,0x08,0xD8,0x0E,0xE4,0x14,0xC1,0xC1,0x0A,0xE9,0xFB,0xEF,0xE1,0xE7,0xF0,0xD8,0x27,0xDA,0xDC,0x04,0x0D,0xDC,0xFC,0xDB,0xD6,0xD6,0xE4,0x0C,0x27,0xFC,0xD0,0x11,0xE0,0x04,0xE3,0x07,0x00,0xEC,0x10,0xD5,0xEA,0x08,0xFF,0xFC,0x1D,0x13,0x05,0xCA,0xED,0x0B,0x10,0x08,0xF2,0x01,0x19,0xCA,0xFE,0x32,0x00,0x20,0x0B,0x00,0x3F,0x1E,0x16,0x0C,0xF1,0x03,0x04,0xFD,0xE8,0x31,0x08,0x15,0x00,0xEC,0x10,0xED,0xE6,0x05,0xCA,0xF7,0x1C,0xC1,0x22,0x0D,0x19,0x2E,0x13,0x1E,0xE7,0x16,0xED,0x06,0x2A,0x3C,0x0D,0x21,0x16,0xC9,0xD7,0xFF,0x0F,0x12,0x09,0xEE,0x1D,0x23,0x13,0xDA,0xE9,0x1D,0xD9,0x03,0xE1,0xEF,0xFA,0x1E,0x14,0xC1,0x23,0xFE,0x0B,0xE5,0x19,0xC1,0x21,0xFE,0xEC,0x0E,0xE1,0x1D,0xFF,0x00,0xF7,0xEA,0xD2,0xD8,0xD0,0xF9,0xE6,0xFB,0xFB,0xDA,0x06,0x00,0x03,0xDF,0xC1,0x3F,0xF3,0x0D,0xFA,0x08,0xFA,0xF3,0x00,0x04,0xE9,0xF0,0xF9,0x0D,0xF1,0xE3,0xID,0x26,0xC4,0x0D,0x13,0xE5,0xE1,0xF1,0xF6,0xEE,0xF1,0xFD,0xC1,0xF4,0xE2,0x23,0xC1,0x38,0xC1,0x3F,0x2B,0xFD,0x39,0x36,0x1A,0x2B,0xC1,0x01,0x07,0x0B,0x25,0xCC,0xE7,0x01,0x24,0xD8,0xC9,0xDB,0x20,0x28,0x0C,0x1A,0x3F,0xEA,0xE7,0xCD,0xEC,0xE0,0xF2,0x27,0xDF,0x20,0xF0,0xF1,0xFD,0x3F,0x00,0xFA,0xE7,0x21,0xF9,0x02,0xD2,0x0E,0xEF,0xFD,0xD3,0xE4,0xFF,0x12,0x15,0x16,0xF1,0xDE,0xFD,0x12,0x13,0xE7,0x15,0xD8,0x1D,0x02,0x3F,0x06,0x1C,0x21,0x16,0x1D,0xEB,0xEB,0x14,0xF9,0xC5,0x0C,0x01,0xFB,0x09,0xFA,0x19,0x0E,0x01,0x1B,0xE8,0xFB,0x00,0x01,0x30,0xF7,0x0E,0x14,0x06,0x15,0x27,0xEA,0x1B,0xCB,0xEB,0xF7,0x3F,0x07,0xFB,0xF7,0xD8,0x29,0xEE,0x26,0xCA,0x07,0x20,0xE8,0x15,0x05,0x06,0x0D,0x0D,0x1E,0x1C,0x0F,0x0D,0x35,0xF7,0x1B,0x06,0x30,0x02,0xFD,0xE2,0xCD,0x2F,0x35,0xEB,0x1A,0x0D,0xE9,0xFC,0x34,0xE6,0x17,0x2C,0x33,0xF0,0x13,0xEF,0x1B,0x19,
0x23,0xD1,0xEF,0xD5,0xCB,0xF7,0xF1,0x04,0xF7,0x27,0xF9,0x26,0x02,0XF7,0xCB,0x2A,0x0A,0xEA,0xED,0xEC,0x04,0xF2,0x25,0x17,0xDB,0x1E,0xC1,0x3C,0xC9,0xE4,0xF1,0x14,0x03,0x27,0x25,0x21,0x1C,0x14,0xF4,0x0F,0x12,0xE9,0xEE,0x15,0xDC,0xEE,0x1F,0x3F,0xDE,0xE7,0x2C,0xF0,0xE2,0x1D,0xE5,0x15,0x07,0x02,0xDF,0x06,0xD3,0x1F,0x0E,0xED,0xFF,0x29,0xFF,0xED,0xD6,0xD6,0x1C,0x11,0xDE,0xE2,0x0E,0xEE,0xD1,0xD9,0x02,0x0F,0xFE,0xF0,0xD9,0xF6,0xFC,0xDA,0x16,0x03,0xD2,0xDD,0x20,0x04,0xE8,0x3F,0xDE,0x0C,0xFB,0xED,0xC7,0x1F,0xC1,0xCE,0x02,0xF1,0x37,0x0B,0xE3,0x20,0xCE,0x0D,0xEB,0x0A,0xE3,0xF3,0xDC,0x01,0xD2,0x02,0x3F,0x02,0x25,0xD5,0xFC,0xEB,0xCE,0x3F,0x00,0x3E,0x2D,0xE1,0x19,0x1C,0x01,0x28,0xC1,0x3F,0x27,0x3F,0xF2,0x0E,0x3A,0xDB,0xF8,0xE4,0x34,0x18,0x 16,0x0C,0xDD,0x18,0xED,0xCB,0x0F,0xF0,0x01,0xFB,0x14,0xC1,0x19,0xCC,0xEB,0xEE,0x19,0x00,0x17,0x2B,0xFC,0x26,0x0D,0xEC,0xF4,0x2D,0x2B,0xE5,0x25,0x05,0x10,0x26,0x1D,0x3F,0x3F,0xFD,0xDC,0x18,0xF0,0xCB,0xEF,0x12,0x1C,0x1A,0xF8,0xFE,0x29,0x1A,0xCB,0x1A,0xC2,0x0E,0x0B,0x1B,0xEB,0xD5,0xF8,0xFD,0x17,0x0B,0xFC,0x00,0xFA,0x37,0x25,0x0D,0xE6,0xEE,0xF0,0x13,0x0F,0x21,0x13,0x13,0xE1,0x12,0x01,0x0A,0xF1,0xE7,0xF3,0x1A,0xED,0xD5,0x0A,0x19,0x39,0x09,0xD8,0xDE,0x00,0xF9,0xE9,0xEA,0xFF,0x3E,0x08,0xFA,0x0B,0xD7,0xD7,0xDE,0xF7,0xE0,0xC1,0x04,0x28,0xE8,0x1E,0x03,0xEE,0xEA,0xEB,0x1C,0xF3,0x17,0x09,0xD6,0x17,0xFA,0x14,0xEE,0xDB,0xE2,0x2A,0xD9,0xC1,0x05,0x19,0x00,0xFF,0x06,0x17,0x02,0x09,0xD9,0xE5,0xF3,0x20,0xDD,0x05,0xCB,0x09,0xF8,0x05,0xF1,0x1F,0xE5,0x12,0x25,0xF8,0x3F,0xDC,0xF0,0xF2,0xC5,0x34,0x21,0x35,0xCD,0xCC,0x23,0x1E,0x01,0x0B,0xFF,0x10,0xFE,0xF9,0xDF,0xF9,0xF5,0xE5,0x07,0xE1,0x25,0x1C,0xC9,0x00,0x29,0xF3,0x0A,0x25,0xED,0xF8,0xFB,0x20,0xF8,0xC1,0xE5,0xE0,0x0F,0x2F,0x3A,0x01,0xC8,0xFD,0xCA,0xE1,0x30,0x04,0x19,0x03,0x25,0xF3,0x24,0x38,0xEE,0xC9,0x2F,0xE7,0x0B,0xFA,0xF7,0x1B,0x0A,0x0B,0x2D,0x2D,0x0B,0xE8,0x08,0xDB,0x0B,0x04,0xE8,0xD0,0xEE,0x18,0xEF,0x11,0xC1,0xD6,0x15,0x3F,0xF5,0xF4,
0x2A,0x29,0xEF,0xF0,0xFA,0x36,0x33,0xED,0x 19,0xDF,0x 11,0x09,0xF5,0x18,0xF1,0x3F,0x14,0x0C,0xD2,0xFF,0xFF,0x34,0x01,0xE4,0xF8,0x03,0x3F,0xF8,0x3E,0x21,0x22,0xE2,0x0F,0xEF,0x1A,0xE4,0xF5,0x08,0x15,0xEF,0xF3,0xE4,0xDF,0xF6,0xFC,0xE8,0x21,0x06,0x20,0x02,0x17,0x1B,0x3F,0xDB,0x16,0x2C,0xE0,0xFA,0xDA,0xD8,0xD3,0x0B,0x0E,0x10,0xED,0xD5,0xF0,0x30,0xD3,0x13,0x04,0xE1,0xFF,0xFB,0x3F,0xE8,0xEE,0xE5,0x0B,0xEF,0xEF,0xE6,0x2C,0xD3,0x00,0x18,0x26,0xFE,0xC1,0x08,0x16,0xFE,0xDC,0x00,0xE4,0xF7,0xDC,0x0E,0x2E,0x1D,0x18,0x0A,0x08,0x37,0xC9,0x10,0xD7,0x17,0x17,0xFB,0x11,0xD5,0x15,0x1C,0xD0,0x3F,0xF8,0x00,0x00,0xED,0xC1,0xFF,0x00,0x1F,0x2E,0x00,0x12,0xE0,0xE2,0xF7,0x13,0xC1,0x1C,0x18,0xF8,0x3F,0x2C,0xEB,0xCA,0xE7,0xF8,0x03,0xEE,0x22,0x17,0xF9,0x35,0x14,0x1C,0x03,0x09,0x03,0x01,0x2B,0xD4,0xD2,0xF8,0xF6,0xF5,0x06,0x03,0xFE,0xDA,0xD3,0xFF,0x03,0xEF,0xFE,0x09,0x01,0xC9,0x02,0xDF,0xD8,0x3C,0xF7,0xF0,0xEE,0xD6,0x3F,0x21,0x16,0x08,0x17};
权利要求
1.一种用于模拟M×N个像素的图像块中的胶片颗粒的方法,其中N和M是大于0的整数,该方法包括以下步骤计算M×N个像素的块中的像素值的平均值;作为所述图像块的平均值和随机数的函数,从先前建立的、包含胶片颗粒的块的池中选择M×N个像素的胶片颗粒块;以及将所选择的胶片颗粒块中的每个像素与图像块中的相应像素混合。
2.根据权利要求1所述的方法,还包括以下步骤访问包含随机数的查找表以获得随机数。
3.根据权利要求2所述的方法,还包括以下步骤在胶片颗粒模拟之前,用由随机数生成器生成的随机数填充查找表。
4.一种用于创建具有胶片颗粒的M×N个像素的块的方法,其中N和M是大于0的整数,该方法包括以下步骤接收包括至少一个参数的胶片颗粒信息,所述参数指定要在块中出现的胶片颗粒的属性;创建从先前建立的高斯随机数列表中选择的M×N个随机值的块;计算该M×N的随机数块的离散余弦变换;利用所接收的胶片颗粒信息中的至少一个参数来过滤由离散余弦变换产生的M×N个系数;计算过滤后的这组系数的逆离散余弦变换;按照由所接收的胶片颗粒信息中的一个参数指示的那样换算块中的所有像素值;以及将所创建的胶片颗粒块存储在胶片颗粒块的池中。
5.根据权利要求4所述的方法,还包括以下步骤执行离散余弦变换(DCT)和逆离散余弦变换(IDCT)的整数逼近以降低复杂度。
6.根据权利要求4所述的方法,还包括以下步骤换算所创建的胶片颗粒块的顶部和底部边缘以隐藏块的边缘。
7.根据权利要求4所述的方法,其中,接收胶片颗粒信息的步骤还包括以下步骤将包含所述至少一个参数的补充增强信息消息解码。
8.一种用于模拟M×N个像素的图像块中的胶片颗粒的装置,其中N和M是大于0的整数,该装置包括用于计算M×N个像素的块中的像素值的平均值的部件;用于作为图像块的平均值和随机数的函数、从先前建立的包含胶片颗粒的块的池中选择M×N个像素的胶片颗粒块的部件;以及用于将所选择的胶片颗粒块中的每个像素与图像块中的相应像素混合的部件。
9.根据权利要求8所述的装置,还包括查找表,其包含随机数以获得所述随机数。
10.根据权利要求9所述的方法,其中,在胶片颗粒模拟之前,用由随机数生成器生成的随机数填充查找表。
11.一种用于创建具有胶片颗粒的M×N个像素的块的装置,其中N和M是大于0的整数,该装置包括用于接收包括至少一个参数的胶片颗粒信息的部件,所述参数指定要在块中出现的胶片颗粒的属性;用于创建从先前建立的高斯随机数列表中选择的M×N个随机值的块的部件;用于计算M×N的随机数块的离散余弦变换的部件;用于利用所接收的胶片颗粒信息中的至少一个参数来过滤由离散余弦变换产生的M×N个系数的部件;用于计算过滤后的这组系数的逆离散余弦变换的部件;用于按照由所接收的胶片颗粒信息中的一个参数所指示的那样换算块中的所有像素值的部件;以及用于将所创建的胶片颗粒块存储在胶片颗粒块的池中的部件。
12.根据权利要求11所述的装置,还包括用于执行离散余弦变换(DCT)和逆离散余弦变换(IDCT)的整数逼近以降低复杂度的部件。
13.根据权利要求11所述的装置,还包括用于换算所创建的胶片颗粒块的顶部和底部边缘以隐藏块的边缘的部件。
14.根据权利要求11所述的装置,其中,用于接收胶片颗粒信息的部件还包括用于将包含所述至少一个参数的补充增强信息消息解码的部件。
全文摘要
图像中的胶片颗粒的模拟利用包含在当传输时伴随图像的补充增强信息(SEI)消息中的参数。该SEI消息指定胶片颗粒模拟参数,例如胶片模拟模型、混合模式和颜色空间。
文档编号H04N5/262GK1868215SQ200480030008
公开日2006年11月22日 申请日期2004年10月12日 优先权日2003年10月14日
发明者吉尔·M·博伊斯, 克里斯蒂娜·戈米拉, 琼·拉克, 亚历山德罗斯·图拉皮斯, 杰弗里·A·库珀, 尹澎 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1