专利名称:利用胶片颗粒图案数据库进行胶片颗粒模拟的技术的利记博彩app
技术领域:
本发明涉及用于在图像中模拟胶片颗粒的技术。
背景技术:
电影胶片包括分散在乳剂中的卤化银晶体,该乳剂以薄层形式被涂覆在片基上。这些晶体的曝光和显影形成由离散的微小银粒子构成的照相图像。在彩色底片中,在生胶片显影期间,在以化学方式去除银之后,微小的染色斑点出现在形成银晶体的部位。在彩色胶片中,这些小的染色点通常被称为“颗粒”。由于银晶体在原始乳剂上的随机形成,所以颗粒看起来是随机地分布在所产生的图像上的。在均匀曝光的区域内,某些晶体在曝光之后显影,而其他的则不。
颗粒的大小和形状有所不同。胶片越快,所形成的银块和所生成的染色斑点就越大,他们就越倾向于按随机的图案聚集在一起。术语“粒度”一般是指颗粒图案。肉眼无法辨别在0.0002mm到约0.002mm之间变动的个体颗粒。相反,眼睛能分辨颗粒群组,这种群组被称为斑点(blob)。观看者将这些斑点群组识别为胶片颗粒。随着图像分辨率变大,对胶片颗粒的感知度变得更高。胶片颗粒在电影和高清晰度(HD)图像上变得清楚可见,而胶片颗粒在标准清晰度(SD)中逐渐变得不那么重要,在更小的格式中变得不可感知。
电影胶片一般包含依赖于图像的噪声,这种噪声或者是由照相胶片的曝光和显影的物理过程产生的,或者是由随后对图像的编辑产生的。照相胶片具有一种特有的准随机图案或者纹理,这是由照相乳剂的物理粒度产生的。或者,对类似图案的模拟可以出现在计算机生成的图像中,以将它们与照相胶片相混合。在两种情况下,这种依赖于图像的噪声都被称为“胶片颗粒”。在电影中,适度的颗粒纹理常常呈现符合需要的特征。在某些情况下,胶片颗粒提供了视觉线索,这种视觉线索辅助了对二维图片的正确感知。在单个胶片内,胶片等级常常发生变化,以提供关于时间参考、观看点等等的各种线索。在电影工业中,对于控制颗粒纹理存在许多其他技术和艺术需求。因此,在整个图像处理和传送链中维护图像的颗粒状外观已经成为电影工业的一个要求。
若干种可购买到的产品具有模拟胶片颗粒的能力,它们通常是用于将计算机生成的对象混合到自然景象中。作为实现颗粒模拟的最初的数字胶片应用之一,来自Eastman Kodak Co,Rochester New York的Cineon对于许多颗粒类型都产生了非常逼真的结果。但是,Cineon应用对于许多高速胶片没有产生良好性能,这是因为该应用对于高颗粒尺寸设置会产生明显的斜条纹。此外,当图像要经历预先处理时,例如当图像被复制或被数字处理时,Cineon应用无法以充分的保真度模拟颗粒。
另一种模拟胶片颗粒的商业产品是来自Visual Infinity Inc.的GrainSurgeryTM,它被用作AdobeAfter Effects的插件。Grain SurgeryTM产品看起来是通过对一组随机数进行过滤来生成人造颗粒。这种方法的缺点是计算复杂度很高。
从而,需要一种高效的胶片颗粒模拟技术,其降低了对存储器带宽和计算工作的需求,从而允许在对成本敏感的大量生产的产品(例如机顶盒)中进行胶片颗粒模拟。
发明内容
简言之,根据本发明的一个方面,提供了一种用于创建具有胶片颗粒的M×N个像素的块以便与图像块的像素相混合的方法,其中N和M是大于零的整数。该方法开始于接收到包括至少一个参数的胶片颗粒信息,所述至少一个参数指定出现在胶片颗粒块中的胶片颗粒的属性。(未被传输的那些参数应被设置为默认值。在特定实施例中,默认值可以按照H.264|AVC标准中指定的那样得出。)按照伪随机数和表征胶片颗粒图案的截止频率集合的函数,从先前确立的包含胶片颗粒的块的数据库中选择M×N个像素的胶片颗粒块。所选择的胶片颗粒块中的所有像素值都经历根据接收到的胶片颗粒信息中的一个参数进行的缩放。然后所创建的胶片颗粒块成为胶片颗粒块池的一部分,从该池中选择一个块用于与图像块中的像素相混合,以在图像块中模拟胶片颗粒。
根据-本发明的另一个方面,提供了一种用于在像素的图像块中模拟胶片颗粒的方法。该方法开始于从预先确立的胶片颗粒值池中选择胶片颗粒块。对胶片颗粒块的选择是根据随机数在来自针对与图像块的亮度平均值相对应的亮度强度间隔的池的那些块中间随机发生的。所选择的胶片颗粒块经历解块。解块后的胶片颗粒块的至少一部分被与图像块的个体像素相混合以模拟胶片颗粒,并且所产生的混合后像素在输出以例如用于显示等之前被限幅。
图1示出了用于生成预先确立的胶片颗粒块以用于后续胶片颗粒模拟中的装置的方框示意图;以及图2示出了根据本发明的原理用于利用图1的装置所生成的预先确立的胶片颗粒块在逐像素基础上模拟胶片颗粒的装置的方框示意图。
具体实施例方式
根据本发明的原理,胶片颗粒模拟根据与要和所模拟的颗粒混合的图像一起传输的胶片颗粒信息而发生。在实践中,所传输的图像一般经历压缩(在传输之前经由多种公知的压缩方案之一进行编码,所述压缩方案例如是H.264压缩方案)。在利用H.264压缩方案对所传输的图像进行压缩的情况下,胶片颗粒信息的传输一般是经由补充增强信息(SEI)消息发生的。根据负责颁布H.264标准的标准团体最近采用的文献,SEI消息现在可以包括指定不同胶片颗粒属性的各种参数。对于胶片颗粒SEI消息参数的约束本发明的方法对于H.264建议所允许的参数数目及其可能值范围施加了某些约束。表1提供了这种参数的列表,其中包括对其语义的描述以及本发明所施加的约束。
表1
根据本发明的原理,参数comp_model_value
[i][1]和comp_model_value
[i][2]可以取不同的值。但是,只允许有限数目的不同的对(comp_model_value
[i][1],comp_model_value
[i][2]),如表2所指定。
表2
胶片颗粒SEI消息的所有其他参数没有针对标准规范的约束。
胶片颗粒模拟的位精确实现根据本发明的原理的胶片颗粒模拟发生在两步骤过程中。首先,如参考图1更详细描述的,在I图片之前接收到SEI消息之后的初始化期间,生成胶片颗粒块池。从胶片颗粒块池中,选择特定的值块。然后,如参考图2所述,所选择的块的部分被添加到每个解码后图片的每个亮度像素。
图1示出根据本发明原理的图示实施例用于生成胶片颗粒块池以便用于胶片颗粒模拟中的装置10。在接收到包含胶片颗粒信息的胶片颗粒SEI消息之后,发生初始化过程,以便为最多达8个不同亮度强度间隔中的每一个创建4,096(512×8)个胶片颗粒像素的池。亮度强度间隔的数目由1加上SEI消息字段num_intensity_intervals_minus1
指示。胶片颗粒样本的生成从最低亮度强度间隔开始。
胶片颗粒噪声的位精确模拟一般是通过利用指定的均匀伪随机数生成器多项式以及通过利用指定的胶片颗粒图案数据库12来发生的。在实践中,胶片颗粒图案数据库12包括胶片颗粒的4,096(512×8)个值的26个集合(其中13个集合具有圆颗粒,13个集合具有细长颗粒)。这些值是以2的补码的形式存储的,其范围是[-127,127]。每个集合的值列表可以被预先定义,并且被存储在系统可访问的永久存储装置中,或者可以在系统初始化或重置之后利用位精确方法来创建。
存储在数据库12中的胶片颗粒图案经历经由选择块14进行的选择以及随后经由缩放块16进行的缩放,以获得胶片颗粒块的池18。对胶片颗粒图案数据库12的访问、块16对值的缩放以及随后对池18中的块中的经缩放的值的存储是根据以下例程发生的for(i=0..4,095)v=comp_model_value
[s]
*database[m][n][i]pool[s][i]=(((v+2log2_scale_factor-1)>>log2_scale_factor)+32)<<6其中n等于comp_model_value
[s][2]-3,当num_param_minus1
为1时m等于0,否则m等于1,因子6对存储在数据库中的胶片颗粒值进行缩放。此过程被执行的次数等于由1加上SEI消息字段num_intensity_ihtervals_minusl
所指示的次数。
像素显示之前的块和像素操作图2示出用于执行在块和像素级别将胶片颗粒添加到解码后的图片所需的操作的装置20。亮度平均块22处理解码后的图像的每个8×8块,并计算亮度像素值的均值以与SEI消息intensity_interval_lower_bound
[i]和intensity_interval_upper_bound
[i]参数相比较,以便确定块的正确亮度强度间隔。均匀随机数生成器24利用本原多项式模2操作符x18+x5+x2+x1+1生成随机数,以输入到选择器块26。选择器块26访问胶片颗粒池18,以根据随机数和亮度强度值选择胶片颗粒块。
为了理解随机数生成器24生成随机数以用于胶片颗粒块选择的方式,令x(i,e)指示以初始种子e开始的序列x的第i个符号。(在接收到每个胶片颗粒SEI消息后种子被设置为1)。当前的8×8胶片颗粒块的偏移量(offset)如下生成previous_offset=offsetoffset=(x(i,1)%4,088)>>2offset^=(index==previous_offset)offset<<=2其中在创建池之后偏移量被初始化为0。在计算偏移量之后,按以下方式从池中提取出8×8胶片颗粒块for(i=0..7,j=0..7)block[i][j]=pool[s][offset+i+j*4096]由选择器块根据来自随机数生成器24的随机数和来自块22的平均亮度值所选择的胶片颗粒块在混合之前经历由解块滤波器28对块的左列和右列上的像素进行的解块。然后,加法器30将解块后的胶片颗粒块的相应值与相应的解码后像素相加,并且限幅器32将结果限制在范围
内,以产生与胶片颗粒混合的亮度像素,以便显示在显示器(未显示)上,或者用于后续记录。注意胶片颗粒噪声只被添加到亮度像素。
解块滤波器28如上所述,解块滤波器进行操作,以在混合之前对胶片颗粒块进行解块,以便平滑由小尺寸变换产生的成块假象。在示例性实施例中,解块滤波器28包括应用到毗连8×8块左边缘和右边缘的所有像素的3抽头滤波器。给定属于两个相邻8×8块的一行像素,块之间的过渡位于像素b和c之间
块A 块B滤波器的应用方式如下b′=(a+(b<<1)+c)>>2c′=(b+(c<<1)+d)>>2其中b′和c′分别替换原始像素b和c的值。左块边缘和右块边缘的解块是在显示时对每个块完成的。
上述用于胶片颗粒模拟的方法易于由例如DVD播放器(或播放器/记录器)的内容复制设备或者例如机顶盒之类的内容传送机构实现。在例如DVD播放器或DVD播放器/记录器的内容复制设备的情况下,内容媒体(例如DVD)将会随同内容本身(例如压缩后的视频)一起承载胶片颗粒信息,以使得内容复制设备能够以所述方式模拟胶片颗粒。从而,例如DVD将会承载一般采取压缩后的宏块形式的图像信息以及胶片颗粒信息,这使得DVD播放器或播放器/记录器能够将胶片颗粒与解压缩后的视频相混合以供后续显示。
以上描述了用于在图像中模拟胶片颗粒的技术。有利的是,该胶片颗粒模拟技术依靠参数num_model_values_minus1
的允许值以及参数comp_model_value
[i][1]和comp_model_value
[i][2]的允许值提供了模拟细长胶片颗粒的能力。此外,本发明原理的胶片颗粒模拟技术,从样本数据库12中选择胶片颗粒样本的一个集合避免了对执行离散余弦变换(DCT)和反DCT的需要。
权利要求
1.一种用于创建具有胶片颗粒的M×N个像素块以便与图像相混合以模拟胶片颗粒的方法,其中N和M是大于零的整数,该方法包括以下步骤接收包括至少一个参数的胶片颗粒信息,所述至少一个参数指定出现在图像块中的胶片颗粒的属性;基于预先确立的默认值得出没有传输的参数;按照伪随机数和表征所述胶片颗粒的至少一个参数的函数,从先前确立的包含胶片颗粒的块的集合中选择M×N个像素的胶片颗粒块;以及按照表征所述胶片颗粒的至少一个参数所指示,缩放所述块中的所有像素值;以及将所创建的胶片颗粒块存储在胶片颗粒块的池中。
2.根据权利要求1所述的方法,其中所述选择步骤还包括从各包括4096个值的预定数目的集合中进行选择的步骤。
3.根据权利要求2所述的方法,其中所述预定数目的值集合中的每一个被安排为512×8矩阵。
4.根据权利要求3所述的方法,其中所述预定数目的值集合被以2的补码的形式存储,并且其范围为[-127,127]。
5.根据权利要求1所述的方法,还包括以下步骤根据伪随机数和传入图像的亮度特性,从所述胶片颗粒块的池中选择胶片颗粒块;对所选择的胶片颗粒块的对向边缘进行解块;以及将解块后的所选择的胶片颗粒块的至少一部分与所述图像块中的每个像素相混合;以及对与胶片颗粒相混合的图像块像素进行限幅。
6.一种用于在像素的图像块中模拟胶片颗粒的方法,包括以下步骤从针对与所述图像块的亮度特性相对应的亮度值的预先确立的胶片颗粒块的池中随机选择胶片颗粒块;对所选择的胶片颗粒块进行解块;将解块后的胶片颗粒块的至少一部分与所述图像块的每个像素相混合以模拟胶片颗粒;在输出之前对所产生的混合后像素进行限幅。
7.根据权利要求6所述的方法,其中所述预先确立的胶片颗粒块的池是通过以下步骤创建的接收包括至少一个参数的胶片颗粒信息,所述至少一个参数指定出现在图像块中的胶片颗粒的属性;按照伪随机数的函数,从先前确立的包含胶片颗粒的块的集合中选择M×N个像素的胶片颗粒块;以及按照接收到的胶片颗粒信息中的一个参数所指示,缩放所述块中的所有像素值;以及将所创建的胶片颗粒块存储在胶片颗粒块的池中。
8.根据权利要求7所述的方法,其中所述选择步骤还包括从各包括4096个值的预定数目的集合中进行选择的步骤。
9.根据权利要求8所述的方法,其中所述预定数目的值集合中的每一个被安排为512×8矩阵。
10.根据权利要求8所述的方法,其中所述预定数目的值集合被以2的补码的形式存储,并且其范围为[-127,127]。
11.一种数据载体,包含视频数据,用于根据如权利要求7所述的方法与胶片颗粒相混合。
12.根据权利要求11所述的方法,其中所述数据载体包括DVD。
13.一种用于创建M×N个像素块的装置,包括第一存储仓库,用于存储预先确立的包含胶片颗粒的M×N个像素块的集合,其中M和N是整数;选择器,用于按照伪随机数的函数,从所述第一仓库中选择M×N个像素的胶片颗粒块;以及缩放块,用于根据所述缩放块接收到的胶片颗粒信息的至少一个参数,缩放所选择的胶片颗粒块中的所有像素值;以及第二存储仓库,用于存储缩放的胶片颗粒块。
14.根据权利要求13所述的装置,其中所述第一存储仓库存储各包括4096个值的预定数目的集合。
15.根据权利要求13所述的装置,其中所述预定数目的值集合中的每一个被安排为512×8矩阵。
16.根据权利要求15所述的装置,其中所述预定数目的值集合被以2的补码的形式存储,并且其范围为[-127,127]。
17.一种用于在像素的图像块中模拟胶片颗粒的装置,包括先前确立的胶片颗粒值的池;选择器,用于从针对与所述图像块的亮度特性相对应的亮度值的所述预先确立的胶片颗粒块的池中随机选择胶片颗粒块;解块滤波器,用于对所选择的胶片颗粒块进行解块;加法器,用于将解块后的胶片颗粒块的至少一部分与所述图像块的每个像素相混合以模拟胶片颗粒;以及限幅器,用于在输出之前对所产生的混合后像素进行限幅。
全文摘要
图像块中的个体像素经历与来自胶片颗粒块的胶片颗粒的混合,所述胶片颗粒块是根据图像块的亮度特性从先前确立的胶片颗粒块的池(18)中随机选择出来的。在混合之前,所选择的胶片颗粒块经历由解块滤波器(28)进行的解块。在混合之后,限幅器(32)在个体像素的显示之前对其进行限幅。胶片颗粒块的池(18)是通过根据伴随图像块的胶片颗粒信息消息的至少一个参数缩放胶片颗粒图案集合而创建的。
文档编号H04N5/262GK1890978SQ200480035807
公开日2007年1月3日 申请日期2004年12月1日 优先权日2003年12月5日
发明者杰弗里·艾伦·库珀, 吉尔·麦克唐纳·伯恩斯, 亚历山德罗斯·图阿皮斯, 克里斯蒂娜·古米拉, 琼·利亚奇, 鹏·尹 申请人:汤姆逊许可证公司