数字媒体完整性的指示的制作方法

专利2023-06-28  129


数字媒体完整性的指示
1.相关申请的交叉参考
2.根据适用专利法和/或依据巴黎公约的规则,本技术要求于2020年3月11日提交的第us62/988,023号美国临时专利申请和于2020年5月22日提交的us63/029,354的优先权和权益。出于法律上的所有目的,上述申请的全部公开内容通过参考并入作为本技术公开内容的部分。
技术领域
3.本专利文档涉及数字媒体编码和解码。


背景技术:

4.数字视频占互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量的增加,预期数字视频使用的带宽需求将继续增长。


技术实现要素:

5.本文档公开了可由图像、音频或视频编码器和解码器用来确保编码操作、解码操作和编码的数字媒体片段的完整性的技术。
6.在一个示例方面,公开了一种数字媒体处理方法。该方法包括在媒体片段与该媒体片段的比特流之间执行转换,其中该转换符合格式规则和加密规则,并且其中该格式规则规定在比特流中信令通知验证信息,该验证信息包括媒体片段的部分的完整性的指示。
7.在又一示例方面,公开了一种媒体处理装置。该装置包括被配置为实现上述方法的处理器。
8.在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了在此描述的方法之一。
9.这些以及其他特征将在本文档中描述。
附图说明
10.图1示出了基于区域的图像验证的示例。
11.图2示出了安全哈希值的数字签名的示例。
12.图3示出了可信时间戳的示例。
13.图4是示例视频处理系统的框图。
14.图5是视频处理装置的框图。
15.图6是示出了根据本公开的一些实施例的视频编解码系统的框图。
16.图7是示出了根据本公开的一些实施例的编码器的框图。
17.图8是示出了根据本公开的一些实施例的解码器的框图。
18.图9是数字媒体处理的示例方法的流程图。
具体实施方式
19.在本文档中使用章节标题是为了易于理解,而不是将每个章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用h.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,在此描述的技术也适用于其他视频编解码器协议和设计。
20.1.概述
21.该专利文档涉及图像/视频系统和编解码技术。具体地,它提供了一种验证图像/视频完整性的方法,即图像/视频是否从其认证的来源被修改过。它可以应用于未来的图像/视频编解码和/或系统标准。它还可以作为核心技术应用于可信图像/视频应用的一般服务中,例如远程医疗、来源认证广播。
22.2.初步讨论
23.视频编解码标准主要通过众所周知的itu-t和iso/iec标准的发展而演进。itu-t制定了h.261和h.263,iso/iec制定了mpeg-1和mpeg-4visual,这两个组织联合制定了h.262/mpeg-2视频和h.264/mpeg-4高级视频编解码(avc)和h.265/hevc标准。自h.262以来,视频编解码标准基于其中利用了时域预测加变换编解码的混合视频编解码结构。为了探索hevc以外的未来视频编解码技术,vceg和mpeg于2015年联合成立了联合视频探索小组(jvet)。此后,jvet采用了许多新方法,并将其输入到名为联合探索模型(joint exploration model,jem)的参考软件中。2018年4月,vceg(q6/16)和iso/iec jtc1 sc29/wg11(mpeg)成立了联合视频专家小组(jvet),致力于vvc标准,目标是与hevc相比将比特率降低50%。
24.vvc草案的最新版本,即通用视频编解码(草案8)可在http://phenix.int-evry.fr/jvet/doc_end_user/documents/17_brussels/wg11/jvet-q2001-v13.zip以下网址找到。
25.而最新的测试模型软件可以在https://vcgit.hhi.fraunhofer.de/jvet/vvcsoftware_vtm/-/archive/vtm-8.0/vvc software_vtm-vtm-8.0.zip找到。
26.此外,相应的系统标准也在开发中。视频可用性信息和补充增强信息是相关的,其中传达了解码器可能不需要的各种信息。sei消息的最新草案文件可在http://phenix.int-evry.fr/jvet/doc_end_user/documents/17_brussels/wg11/jvet-q2007-v5.zip上找到。
27.2.1.图像/视频篡改(tempering)和深度伪造(deepfake)
28.图像/视频文件包含用于重建的必要信息,并且相关标准可以保证图像/视频可以被无任何歧义地重建。然而,它不能判断图像/视频是否被篡改过。随着深度神经网络的发展,图像/视频篡改更难被辨别。下面的定义引自https://en.wikipedia.org/wiki/deepfake。
[0029]“深度伪造(“深度学习”和“伪造”的组合)是一种媒体,它利用人工神经网络将现有图像或视频中的一个人替换为另一个人的肖像。他们经常使用被称为自动编码器和生成对抗网络(generative adversarial network,gan)的机器学习技术将现有媒体组合和叠加到来源媒体上。深度伪造因其在名人色情视频、复仇色情、假新闻、恶作剧和金融欺诈中的使用而获得了广泛关注。这引起了工业界和政府对检测和限制它们的使用的反应”。
[0030]
2.2.需要验证的图像/视频应用
[0031]
可能需要验证的应用程序包括
[0032]
1.远程医疗。出于安全原因,希望能够验证相关的医学图像/视频,例如,是否其来自认证的来源。
[0033]
2.具有法律效力或法律强制力的图像/视频记录。一旦记录了图像/视频,就可以知道原始图像/视频是否已经被篡改。因此,任何显示法律效力的图像/视频都应该通过测试,以辨别视频是否是原创的。
[0034]
2.3.安全哈希算法
[0035]
安全哈希算法是由美国国家标准与技术研究所(nist)作为美国联邦信息处理标准(fips)发布的一系列加密哈希函数,包括:
[0036]
sha-0:应用于1993年以名称“sha”发布的160位哈希函数的原始版本的返璞词。由于一个未公开的“重大缺陷”,它在出版后不久就被撤回,并被稍加修改的版本《sha-1》所取代。
[0037]
sha-1:一种160位的哈希函数,类似于早期的md5算法。这是美国国家安全局(nsa)设计的数字签名算法的一部分。sha-1发现了加密弱点,2010年后,该标准不再被批准用于大多数加密用途。
[0038]
sha-2:两个相似的哈希函数的家族,具有不同的块尺寸,被称为sha-256和sha-512。它们在字长上不同;sha-256使用32字节的字,而sha-512使用64字节的字。每种标准也有删节版,称为sha-224、sha-384、sha-512/224和sha-512/256。这些也是nsa设计的。
[0039]
sha-3:以前被称为keccak的哈希函数,在2012年非nsa设计师之间的公开竞争后被选中。它支持与sha-2相同的哈希长度,并且其内部结构与sha系列的其他产品有很大不同。
[0040]
相应的标准有fips pub 180(原始sha)、fips pub 180-1(sha-1)、fips pub 180-2(sha-1、sha-256、sha-384和sha-512)。nist已经更新了fips第202号出版物草案,sha-3标准与安全哈希标准(shs)分开。
[0041]
2.4.文件验证
[0042]
文件验证是使用算法来验证计算机文件完整性的过程。这可以通过逐位比较两个文件来完成,但是需要相同文件的两个副本,并且可能错过两个文件都可能发生的系统损坏。更流行的方法是生成复制文件的哈希,并将其与原始文件的哈希进行比较。
[0043]
验证过程可以包括完整性验证和真实性验证。文件完整性可能会受到损害,通常称为文件损坏。文件损坏的方式多种多样:存储介质故障、传输错误、复制或移动过程中的写入错误、软件错误等等。基于哈希的验证通过将文件的哈希值与之前计算的值进行比较,确保文件未被损坏。如果这些值匹配,则认为该文件未被修改。由于哈希函数的性质,哈希冲突可能会导致误报,但对于随机损坏,冲突的可能性通常可以忽略不计。通常需要验证文件在传输或存储过程中未被不可信方修改,例如,未被修改为包括诸如病毒或后门程序之类的恶意代码。为了验证真实性,传统的哈希函数是不够的,因为它们没有被设计成抗冲突的;对于攻击者来说,引起故意的哈希冲突使得文件中的恶意改变不被哈希比较检测到在计算上是容易的。在密码学中,这种攻击被称为原像攻击。通常使用加密哈希函数来解决这个问题。只要哈希值不能被篡改,例如,如果它们是通过安全通道传输的,就可以认为文件
是完整的。或者,可以使用数字签名来确保防篡改性。
[0044]
某些文件格式可以支持文件验证,例如校验和文件。校验和文件是一个包含其他文件校验和的小文件。有几种众所周知的校验和文件格式。一些实用程序,如md5deep,可以使用这样的校验和文件在一次操作中自动验证整个文件目录。所使用的特定哈希算法通常由校验和文件的文件扩展名来指示。“.sha1”文件扩展名指示包含sha1sum格式的160位sha-1哈希的校验和文件。“.md5”文件扩展名或名为“md5sums”的文件指示包含md5sum格式的128位md5哈希的校验和文件。“.sfv”文件扩展名指示包含简单文件验证格式的32位crc32校验和的校验和文件。“crc.list”文件指示包含brik格式的32位crc校验和的校验和文件。截至2012年,最佳做法建议是使用sha-2或sha-3生成新的文件完整性摘要;如果没有更强的摘要,则接受md5和sha1摘要以实现向后兼容。理论上较弱的sha1、较弱的md5或弱得多的crc以前通常用于文件完整性检查。crc校验和不能用于验证文件的真实性,因为crc32不是一个抗冲突的哈希函数——即使哈希和文件没有被篡改,攻击者用与原始文件相同的crc摘要替换文件在计算上也是容易的,这意味着文件中的恶意改变不会被crc比较检测到。
[0045]
2.5.hevc和vvc的无损编解码
[0046]
在vvc,无损编解码技术也被研究。然而,虽然会有编解码技术支持无损编解码,但目前没有办法保证视频是无损编解码的。
[0047]
为了提供无损编解码,vvc的操作配置,即用于无损、接近无损和混合有损/无损编解码的jvet通用测试条件和软件参考配置,可以在以下位置找到:
[0048]
http://phenix.int-evry.fr/jvet/doc_end_user/current_document.php?id=9683
[0049]
2.6.vui/sei
[0050]
在hevc/vvc,定义了一种称为解码图片哈希sei消息的sei消息来验证解码的视频是否正确。
[0051]
2.6.1.解码图片哈希sei消息语法
[0052][0053]
2.6.2.解码的图片哈希sei消息语义
[0054]
该消息为当前解码图片的每个颜色分量提供哈希。
[0055]
使用此sei消息需要定义以下参数:
[0056]

以亮度样点为单位的图片宽度和图片高度,此处表示为pic_width_in_luma_samples和pic_height_in_luma_samples。
[0057]

色度格式指示符,本文用chroma_format_idc表示。
[0058]

亮度分量样点的位深度,本文用bitdepthy表示,当chroma_format_idc不等于0时,两个相关色度分量样点的位深度,本文用bitdepthc表示。
[0059]

对于每个颜色分量cidx,以二进制补码表示的解码样点值的光栅扫描顺序排列的数组分量[cidx][i]
[0060]
在计算哈希之前,解码的图片数据被排列成一个或三个字节串,称为长度为datalen[cidx]的picturedata[cidx],如下所示:
[0061][0062][0063]
其中,组件[cidx][i]是以二进制补码表示的解码样点值的光栅扫描中的数组。
[0064]
hash_type指示用于计算校验和的方法,如表9中规定的。表9中未列出的hash_type值由itu-t|iso/iec保留供将来使用,不应出现在符合本规范该版本的有效载荷数据中。解码器应忽略包含hash_type的保留值的解码图片哈希sei消息。
[0065]
表9

哈希类型的解释
[0066]
hash_type方法
0md5(ietf rfc 1321)1crc2校验和
[0067]
picture_md5[cidx][i]是解码图片的第cidx个颜色分量的16字节md5哈希。使用ietf rfc 1321中定义的md5函数,picture_md5[cidx][i]的值应等于如下获得的digestval[cidx]的值:
[0068]
md5init(context)
[0069]
md5update(context,picturedata[cidx],datalen[cidx])
[0070]
md5final(digestval[cidx],context)
[0071]
picture_crc[cidx]是解码图片的颜色分量cidx的循环冗余校验(crc)。picture_crc[cidx]的值应等于crcval[cidx]的值,如下地求得:
[0072][0073]
注-rec.itu-t h.271中有相同的crc规范。
[0074]
picture_checksum[cidx]是解码图片的颜色分量cidx的校验和。picture_checksum[cidx]的值应等于checksumval[cidx]的值,如下地求得:
[0075][0076]
虽然sei消息可以用来检测解码的图片是否与相应的编码图片匹配,但是由于md5、crc和校验和很容易被破解,所以它的安全性很弱。
[0077]
3.由公开的技术方案解决的现有技术问题
[0078]
1.没有特定的方案来验证图像/视频(部分或全部)是否来自认证的源/编码器。
[0079]
2.没有特定的方案来验证图像/视频(部分或全部)是否已经被篡改。
[0080]
3.没有特定的方案来验证图像/视频(部分或全部)是否被无损编码,以及相对于什么是无损的。
[0081]
4.当前解码的图片哈希sei消息不够安全,并且不是视频的一部分。
[0082]
5.没有特定的方案来验证音频是否来自认证的源/编码器。
[0083]
4.技术和实施例的示例列表
[0084]
本公开的一个方面是提供一种安全机制来指示图像/视频/音频的特定部分或全部是否是由认证的源或编码器在特定时间生成的。与文件验证不同,如果特定部分的重建匹配,则认为两个信号匹配。因此,验证独立于特定的图像/视频/音频表示/编解码标准。
[0085]
所列项目应被视为解释一般概念的示例,而不应被狭义地解释。此外,这些项目可以单独应用或以任何方式组合应用。
[0086]
1.可以信令通知图像/视频/音频的一个或多个安全哈希值,例如sha-2、sha-3,以指示内容的完整性。
[0087]
a.只要重构值的安全哈希值相同,两个图像/视频/音频可以被认为是相同的。
[0088]
b.只要重构值的安全哈希值不同,两个图像/视频/音频就可以被认为是不同的。
[0089]
2.可以信令通知图像/视频/音频区域的一个或多个安全哈希值,例如sha-2、sha-3,以指示内容的完整性。
[0090]
a.该区域可以是条带、子图片、片、ctu行或ctu。
[0091]
b.此外,可选择地,可以进一步信令通知图像/视频/音频的区域的指示。
[0092]
i.在一个示例中,该区域可以由该区域内相对于图片的特定位置的坐标来表示,诸如该区域的左上位置和右下位置。
[0093]
ii.在一个示例中,该区域可以由该区域内特定位置的单元坐标来表示,诸如该区域的左上位置和右下位置。
[0094]
1.在一个示例中,该单元被定义为ctu/ctb。并且单元坐标是用ctu/ctb表示的位置坐标。
[0095]
iii.在一个示例中,该区域可以是子图片,并且该区域的指示可以由子图片的索引来表示。
[0096]
c.图1中示出了一个示例,其中,(x0,y0)到(x1,y1)定义了要保护的图像区域。为了保护区域,sha-3(p[x0,y0],p[x0+1,y0],...,p[x1,y0],p[x0,y0+1],p[x0+1,y0+1],

,p[x1,y0+1],

,p[x1,y0],p[x1,y0+1],

,p[x1,y1]),即计算并发送该区域内按光栅扫描顺序的所有像素的安全哈希值,以指示图像的内容。
[0097]
d.在另一个示例中,区域的安全哈希值可以按顺序信令通知。
[0098]
i.例如,该顺序可以是光栅扫描顺序。
[0099]
ii.例如,该顺序可以是解码顺序。
[0100]
iii.例如,该顺序可以是区域的索引的升序或降序,诸如子图片索引、或片索引、或条带索引、或ctu索引。
[0101]
e.在一个示例中,视频内的多个图片(例如,所有图片)的相同区域可以用于检查内容的完整性。
[0102]
i.例如,对于多个图片,区域的指示可以被信令通知一次,例如,由左上/右下坐标表示。
[0103]
f.可选择地,视频内的多个图片(例如,所有图片)的不同区域可以用于检查内容的完整性。
[0104]
i.此外,可选择地,对于多个图片,可以多次信令通知区域的指示,例如,由特定图片内的左上/右下坐标来表示。
[0105]
1.此外,可选择地,可以进一步信令通知(例如,由poc值指示的)图片的指示。
[0106]
g.为了辨别受保护区域是否已经被篡改,可以应用sha-3()值的直接比较。
[0107]
3.安全哈希值的私钥加密消息可以与图像/视频/音频一起发送以指示来源。
[0108]
a.在一个示例中,使用图2中所示的数字签名系统。
[0109]
b.可选择地,私钥加密可以直接应用于图像/视频/音频信号。
[0110]
c.可选择地,私钥加密可以应用于图像/视频/音频的md5/crc/校验和。
[0111]
4.可信时间戳消息可以与安全哈希值一起发送。
[0112]
a.图3示出了一个示例。编码器将编码后的信号(部分或全部)的安全哈希值发送到第三方时间戳机构(tsa),然后tsa用时间戳信息对哈希值进行签名,并将签名的信息发回。为了验证信号是否在特定时间被编码,解码器可以使用tsa的公钥来解密哈希值,并验证它是否与内容匹配。
[0113]
5.对于图像,可以发送特定区域的安全哈希值或其加密版本来指示完整性和/或来源。
[0114]
a.在一个示例中,区域可以被定义为具有起始点、区域宽度和区域高度的矩形框。
[0115]
b.在一个示例中,区域可以被定义为起始点和预定义的闭合形状。
[0116]
6.对于以上示例,要发送/信令通知的信息可以存在于特定的sei消息中。
[0117]
a.此外,可选择地,当特定编解码工具(例如,参考图片重采样)被启用时,符合标准的比特流应当满足特定sei不存在于比特流中。
[0118]
7.符合标准的图像解码器可以遵守以下约束。
[0119]
a.在一个示例中,符合标准的图像解码器应该输出该区域是否匹配安全哈希值。
[0120]
b.在一个示例中,符合标准的图像解码器应该输出不管起始点如何,该区域是否匹配安全哈希值。
[0121]
8.对于音频信号,可以发送特定连续片段的安全哈希值或其加密版本来指示完整性和/或来源。
[0122]
a.在一个示例中,可以通过信号的开始时间和持续时间来定义片段。
[0123]
9.符合标准的音频解码器可以遵守以下约束。
[0124]
a.在一个示例中,符合标准的音频解码器应该输出该片段是否匹配安全哈希值。
[0125]
b.在一个示例中,符合标准的音频解码器应该输出不管起始点如何,该片段是否匹配安全哈希值。
[0126]
10.符合标准的音频播放器可以遵守以下约束。
[0127]
a.在一个示例中,除非检测到人类的交互,否则播放器应该按顺序播放认证的音频。
[0128]
b.在一个示例中,播放器应该以与来源速度相比在特定精度内的速度播放认证的音频。
[0129]
11.对于视频,可以发送特定片段的安全哈希值或其加密版本来指示完整性和/或来源。
[0130]
a.在一个示例中,视频片段可以被定义为按显示顺序的一组连续图片。
[0131]
b.此外,可选择地,对于每个图片,可以规定预定义的区域。
[0132]
12.符合标准的视频解码器可以遵守以下约束。
[0133]
a.在一个示例中,符合标准的视频解码器应该输出该片段是否匹配安全哈希值。
[0134]
b.在一个示例中,符合标准的视频解码器应该输出不管起始点如何,该片段是否匹配安全哈希值。
[0135]
c.在一个示例中,符合标准的视频解码器应该输出该片段是否与安全哈希值匹配,而不管该片段的起始点和每个区域的起始点。
[0136]
13.符合标准的视频播放器可以遵守以下约束。
[0137]
a.在一个示例中,符合标准的视频播放器应该按照显示顺序播放认证的视频。
[0138]
b.在一个示例中,符合标准的视频播放器应该辨别视频是否被认证,如果是,哪个部分被认证。
[0139]
c.在一个示例中,符合标准的视频播放器应该以与来源速度相比在特定精度内的速度播放认证的视频。
[0140]
14.安全哈希函数可以应用于二进制比特流。
[0141]
a.在一个示例中,安全哈希函数可以应用于nal单元。
[0142]
b.在一个示例中,安全哈希函数可以应用于视频编解码层nal单元。
[0143]
c.在一个示例中,安全哈希函数可以应用于多个nal单元。
[0144]
15.dsa/rsa/ecdsa可以应用于二进制比特流。
[0145]
a.在一个示例中,dsa/rsa/ecdsa可以应用于nal单元。
[0146]
b.在一个示例中,dsa/rsa/ecdsa可以应用于视频编解码层nal单元。
[0147]
c.在一个示例中,dsa/rsa/ecdsa可以应用于多个nal单元。
[0148]
16.fips 180-4和fips 202中的安全哈希可以应用于视频序列的一部分。
[0149]
a.在一个示例中,在fips 180-4和fips 202中列出的安全哈希可以被应用于图片区域的重建。
[0150]
b.在一个示例中,在fips 180-4和fips 202中列出的安全哈希可以被应用于图片区域的重建。
[0151]
17.dsa/rsa/ecdsa可以应用于一个或多个图片的相同区域的重建。
[0152]
a.在一个示例中,dsa/rsa/ecdsa可以应用于一个或多个图片的相同区域的重建,直到sei消息中的取消标志为真。
[0153]
b.在一个示例中,dsa/rsa/ecdsa可以应用于一个或多个图片的相同区域的重建。
[0154]
18.区域定义可以具有约束。
[0155]
a.在一个示例中,区域左上点的水平分量和垂直分量应该总是非负整数。
[0156]
i.此外,可选择地,该区域左上点的水平分量应该小于图片/子图片宽度。
[0157]
ii.此外,可选择地,该区域左上点的垂直分量应该小于图片/子图片的高度。
[0158]
b.在一个示例中,该区域不应该在图片或子图片之外。
[0159]
c.在一个示例中,可以以色度单元或亮度单元来度量该区域。
[0160]
d.在一个示例中,区域定义可以包括左上位置的起点(在x和/或y方向上)、宽度和高度。
[0161]
e.在一个示例中,区域定义可以包括左上位置的起点(在x和/或y方向上)和右下位置的终点(在x和/或y方向上)。
[0162]
f.在一个示例中,宽度和/或高度可以信令通知为(实际宽度和/或高度减去k(k是整数值,例如k=1))。
[0163]
i.可选择地,可以添加宽度和/或高度应该大于0的约束。
[0164]
g.在以上示例中,图片/子图片可以由其他视频单元(例如,视图/层/条带/片/多个ctu)代替。
[0165]
19.一个或多个公钥可以包含在视频比特流中。
[0166]
a.在一个示例中,一个公钥可以包含在sei消息中。
[0167]
b.在一个示例中,当(一个或多个)公钥不同于解码器从可信来源获得的公钥时,解码器可以拒绝签名。
[0168]
20.dsa/ecdsa中的一个或多个域参数可以包含在视频比特流中。
[0169]
a.在一个示例中,dsa/ecdsa中的一个或多个域参数可以包含在sei消息中。
[0170]
b.在一个示例中,当域参数不同于解码器从可信来源获得的域参数时,解码器可以拒绝签名。
[0171]
21.对于rsa签名,以下内容可以适用
[0172]
a.rsa签名可以以大端方式二进制化。
[0173]
b.rsa签名可以以小端方式二进制化。
[0174]
22.对于dsa/ecdsa,设r和s为数字签名,则适用以下情况
[0175]
a.r和s可以以大端方式二进制化。
[0176]
b.r和s可以以小端方式二进制化。
[0177]
c.r可以在s之前被二进制化。
[0178]
d.r可以在s之后二进制化。
[0179]
e.r可以在s之后立即被二进制化。
[0180]
f.s可以在s之后立即被二进制化。
[0181]
23.数字签名可以在比特流中字节对准。
[0182]
a.在一个示例中,数字签名在sei中可以是字节对准的。
[0183]
5.实施例
[0184]
5.1.实施例#1:一个图片的安全哈希sei
[0185]
解码图片安全哈希sei消息语法
[0186][0187]
解码图片安全哈希sei消息语义
[0188]
该消息为当前解码图片的矩形区域提供安全哈希。
[0189]
使用此sei消息需要定义以下变量:
[0190]

矩形区域,在此分别由region_start_x、region_start_y、region_width和region_height定义。
[0191]

样点的位深度,在此用bitdepthy表示亮度,用bitdepthc表示色度。
[0192]

对于每个颜色分量cidx,数组componentsamples[cidx][i][j]解码的样点值。
[0193]
在计算哈希之前,解码的图片数据被排列成一个或三个字节串,称为长度为datalen的regiondata[cidx],如下所示:
[0194]
[0195][0196]
secure_hash_type指示用于计算安全哈希值的方法。如果secure_hash_type等于0,则使用sha-3(256,256)。
[0197]
sha-3(256,256)是由nist标准https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.202.pdf定义的。
[0198]
5.2.实施例#2:数字签名sei消息
[0199]
数字签名sei消息语法
[0200]
[0201][0202]
数字签名sei消息语义
[0203]
该消息为相关解码图片的矩形区域提供了安全哈希。
[0204]
使用此sei消息需要定义以下变量:
[0205]

以亮度样点为单位的图片宽度和图片高度,在此分别用picwidthinlumasamples和picheightinlumasamples表示。
[0206]

色度格式指示器,在此用chromaformatidc表示,如jvet-r2007-v2的条款7.2中所述。
[0207]

亮度分量样点的位深度,在此用bitdepthy表示,当chromaformatidc不等于0时,两个相关色度分量样点的位深度,在此用bitdepthc表示。
[0208]

对于每个颜色分量cidx,数组componentsamples[cidx][i]以二进制补码表示的解码样点值的光栅扫描顺序排列。
[0209]
ds_cancel_flag等于1指示sei消息取消了解码顺序中任何先前数字签名sei消息的持久性。ds_cancel_flag等于0指示后面是数字签名信息。
[0210]
ds_persistence_flag规定当前层的数字签名sei消息的持久性。
[0211]
ds_persistence_flag等于0的规定数字签名sei消息仅应用于当前解码的图片。
[0212]
ds_persistence_flag等于1规定数字签名sei消息应用于当前解码的图片,并且按照输出顺序持续用于当前层的所有后续图片,直到以下一个或多个条件为真:
[0213]

当前层的新clvs开始。
[0214]

比特流结束。
[0215]

与数字签名sei消息相关联的au中当前层的图片按照解码顺序位于当前图片之后。
[0216]
设与ds_cancel_flag等于0的数字签名sei消息相关联的解码图片的数量为numassociatedpics。
[0217]
在计算哈希之前,解码的图像数据被排列成一个或三个字节串,称为长度为datalen的regiondata[cidx],如下所示:
[0218][0219][0220]
ds_reserved_zero_bit应该等于0。ds_reserved_zero_bit的值1是为itu-t|iso/iec将来使用而保留的。
[0221]
ds_type指示下表中规定的用于计算数字签名的方法。表中未列出的ds_type值由itu-t|iso/iec保留供将来使用,并且不应存在于符合本规范本版本的有效载荷数据中。解码器应该忽略包含ds_type的保留值的数字签名sei消息。
[0222]
digital_signature_type方法0dsa(2048,256)(fips 186-4)1rsa
2ecdsa
[0223]
ds_secure_hash_type指示下表中规定的用于计算哈希值的方法。表中未列出的ds_secure_hash_type值由itu-t|iso/iec保留供将来使用,不应存在于符合本规范本版本的有效载荷数据中。解码器应忽略包含ds_secure_hash_type的保留值的安全图片哈希sei消息。
[0224]
secure_hash_type方法0sha-512/256(fips 180-4)1sha-512/224(fips 180-4)
[0225]
ds_single_component_flag等于1规定与数字信号sei消息相关联的图片包含单一颜色分量。ds_single_component_flag等于0规定与数字信号sei消息相关联的图片包含三个颜色分量。ds_single_component_flag的值应等于(chromaformatidc==0)。
[0226]
ds_region_params_present_flag等于1规定存在ds_region_start_left、ds_region_start_top、ds_region_width和ds_region_height。ds_region_params_present_flag等于0规定不存在ds_region_start_left、ds_region_start_top、ds_region_width和ds_region_height。
[0227]
如果sei消息包含在sn_subpic_flag等于1的可缩放嵌套sei消息中,则将变量subpicflag设置为等于1。否则(sei消息不包含在sn_subpic_flag等于1的可缩放嵌套sei消息中),subpicflag等于0。
[0228]
ds_region_start_left和ds_region_start_top规定区域左上角相对于解码图片(当subpicflag等于0时)或解码子图片(当subpicflag等于1时)的左上角的以色度样点为单位的左右偏移。当ds_region_params_present_flag等于0时,ds_region_start_left和ds_region_start_top的值都被推断为等于0。
[0229]
ds_region_width和ds_region_height分别规定区域的以色度样点为单位的宽度和高度。当ds_region_params_present_flag等于0时,ds_region_width和ds_region_height的值分别被推断为解码图片(当subpicflag等于0时)或解码子图片(当subpicflag等于1时)的以色度样点为单位的宽度和高度。
[0230]
要求的是,当存在时,ds_region_width和ds_region_height都应大于或等于1。
[0231]
(ds_region_start_left+ds_region_width)的值应小于或等于解码图片(当subpicflag等于0时)或解码子图片(当subpicflag等于1时)的以色度样点为单位的宽度。
[0232]
(ds_region_start_top+ds_region_height)的值应小于或等于解码图片(当subpicflag等于0时)或解码子图片(当subpicflag等于1时)的以色度样点为单位的高度。
[0233]
digital_signature规定了包括多个字节的信息,用于验证受保护区域的完整性。
[0234]
对于dsa(2048,256),数字签名包含两个整数r和s,它们都是256位。
[0235]
语法元素是64字节,具有如下定义的值dsval:
[0236]
dsval=0
[0237]
for(i=248;i》=0;i-=8)
[0238]
dsval+=r》》i&0xff
[0239]
dsval=dsval《《256
[0240]
for(i=248;i》=0;i-=8)
[0241]
dsval+=s》》i&0xff
[0242]
图4是示出示例视频处理系统4000的框图,其中,可以实现本文公开的各种技术。各种实现可以包括系统4000的部分或全部组件。系统4000可以包括用于接收视频内容的输入4002。视频内容可以以原始或未压缩格式(例如,8位或10位多分量像素值)接收,或者可以以压缩或编码格式接收。输入4002可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(例如,以太网、无源光学网络(pon)等),以及无线接口(例如,wi-fi或蜂窝接口)。
[0243]
系统4000可以包括编解码组件4004,其可以实现本文档中描述的各种编解码或编码方法。编解码组件4004可以将视频的平均比特率从输入4002降低到编解码组件4004的输出,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。编解码组件4004的输出可以被存储,或者经由由组件4006表示的连接的通信来传输。在输入4002处接收的视频的存储的或传送的比特流(或编解码的)表示可以由组件4008用于生成发送到显示接口4010的像素值或可显示视频。根据比特流生成用户可观看视频的过程有时被称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但将理解的是,在编码器处使用编解码工具或操作,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
[0244]
外围总线接口或显示接口的示例可能包括通用串行总线(usb)或高清多媒体接口(hdmi)或displayport等。存储接口的示例包括sata(串行高级技术附件)、pci、ide接口等。本文档中描述的技术可以体现在各种电子设备中,例如移动电话、膝上型计算机、智能手机或能够执行数字数据处理和/或视频显示的其它设备。
[0245]
图5是视频处理装置5000的框图。装置5000可以用于实现本文所描述的一种或多种方法。装置5000可以体现在智能手机、平板电脑、计算机、物联网(iot)接收器等中。装置5000可以包括一个或多个处理器5002、一个或多个存储器5004和视频处理硬件5006。(多个)处理器5002可以被配置为实现本文档中描述的一个或多个方法。一个或多个存储器5004可以用于存储用于实现本文所描述的方法和技术的数据和代码。视频处理硬件5006可以用于在硬件电路中实现本文档中描述的一些技术。在一些实施例中,硬件5006可以部分或全部在一个或多个处理器5002(例如,图形处理器)中。
[0246]
图6是示出可以利用本公开技术的示例视频编解码系统100的框图。
[0247]
如图6所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成可以被称为视频编码设备的编码视频数据。目的地设备120可以对源设备110生成的编码视频数据进行解码,源设备110可以被称为视频解码设备。
[0248]
源设备110可以包括视频源112、视频编码器114和输入/输出(i/o)接口116。
[0249]
视频源112可以包括诸如视频捕获设备之类的源、从视频内容提供商接收视频数据的接口和/或用于生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其它语法结构。i/o接口116可以包括调制器/解调器(调制解调器)和/或发射器。编码的视频数据可以通过网络130a经由i/o接口116直接发送到目的地设备120。编码的视频数据
还可以存储在存储介质/服务器130b上,以供目的地设备120访问。
[0250]
目的地设备120可以包括i/o接口126、视频解码器124和显示设备122。
[0251]
i/o接口126可以包括接收器和/或调制解调器。i/o接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集合,或者可以位于目的地设备120的外部,目的地设备120被配置为与外部显示设备接合。
[0252]
视频编码器114和视频解码器124可以根据视频压缩标准(例如高效视频编解码(hevc)标准、通用视频编解码(vvc)标准和其它当前和/或进一步的标准)操作。
[0253]
图7是示出视频编码器200的示例的框图,视频编码器200可以是图6所示的系统100中的视频编码器114。
[0254]
视频编码器200可以被配置为执行本公开的任何或所有技术。在图7的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0255]
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、反量化单元210、反变换单元211,重建单元212、缓冲器213和熵编码单元214。
[0256]
在其它示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(ibc)单元。ibc单元可以在ibc模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
[0257]
此外,一些组件(例如运动估计单元204和运动补偿单元205)可以是高度集合的,但是出于解释的目的,在图7的示例中分别表示。
[0258]
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
[0259]
模式选择单元203可以例如基于错误结果选择编解码模式中的一种(帧内或帧间),并将得到的帧内或帧间编解码块提供给残差生成单元207以生成残差块数据,以及提供给重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测(ciip)模式的组合,其中预测基于帧间预测信号和帧内预测信号。模式选择单元203还可以在帧间预测的情况下为块选择运动向量的分辨率(例如,子像素精度或整数像素精度)。
[0260]
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的、与当前视频块相关联的图片以外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
[0261]
例如,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,这取决于当前视频块是在i条带、p条带还是b条带中。
[0262]
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后,运动估计单元204可以生成参考索引,该索引指示包含参考视频块的列表0或列表1中的参考图片,以
及指示当前视频块和参考视频块之间的空域位移的运动向量。运动估计单元204可以输出参考索引、预测方向指示符和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
[0263]
在其它示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,还可以在列表1中的参考图片中搜索当前视频块的另一个参考视频块。然后,运动估计单元204可以生成指示包含参考视频块的列表0和列表1中的参考图片的参考索引,以及指示参考视频块和当前视频块之间的空域位移的运动向量。运动估计单元204可以输出当前视频块的参考索引和运动向量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
[0264]
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整运动信息集合。
[0265]
在一些示例中,运动估计单元204可能不输出当前视频的完整运动信息集合。相反,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
[0266]
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中,指示向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
[0267]
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中识别另一个视频块和运动向量差(mvd)。运动向量差指示当前视频块的运动向量与所指示视频块的运动向量之间的差。视频解码器300可以使用所指示视频块的运动向量和运动向量差来确定当前视频块的运动向量。
[0268]
如上所讨论的,视频编码器200可以预测地信令通知运动向量。可以由视频编码器200实现的预测信令技术的两个示例包括高级运动矢量预测(amvp)和merge模式信令。
[0269]
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其它视频块的解码样点生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
[0270]
残差生成单元207可以通过从当前视频块减去(例如,用减号表示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残余数据可以包括对应于当前视频块中的样点的不同样点分量的残余视频块。
[0271]
在其它示例中,对于当前视频块,可能没有当前视频块的残差数据,例如在跳过模式下,残差生成单元207可能不执行减法操作。
[0272]
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来为当前视频块生成一个或多个变换系数视频块。
[0273]
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(qp)值,来对与当前视频块相关联的变换系数视频块进行量化。
[0274]
反量化单元210和反变换单元211可以分别对变换系数视频块应用反量化和反变换,以根据变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到
来自预测单元202生成的一个或多个预测视频块的对应样点中,以产生与当前块相关联的重建视频块,以存储在缓冲器213中。
[0275]
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。
[0276]
熵编码单元214可以从视频编码器200的其它功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码数据,并输出包括熵编码数据的比特流。
[0277]
图8是示出视频解码器300的示例的框图,视频解码器300可以是图6所示的系统100中的视频解码器114。
[0278]
视频解码器300可以被配置为执行本公开的任何或所有技术。在图8的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各个组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
[0279]
在图8的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、反量化单元304、反变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与关于视频编码器200描述的编码遍次(图7)相反的解码遍次。
[0280]
熵解码单元301可以取回编码比特流。编码比特流可以包括熵编码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编码的视频数据进行解码,并且运动补偿单元302可以根据熵解码的视频数据确定运动信息,该运动信息包括运动向量、运动向量精度、参考图片列表索引以及其它运动信息。例如,运动补偿单元302可以通过执行amvp和merge模式来确定这种信息。
[0281]
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。语法元素中可以包括用于以子像素精度使用的插值滤波器的标识符。
[0282]
运动补偿单元302可以使用视频编码器200在视频块编码期间使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据接收到的语法信息确定视频编码器200使用的插值滤波器,并使用插值滤波器来产生预测块。
[0283]
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的帧和/或条带进行编码的块的尺寸,描述如何对编码视频序列的图片的每个宏块进行分割的分割信息,指示如何对每个分区进行编码的模式,用于每个帧间编码块的一个或多个参考帧(和参考帧列表),以及用于对编码视频序列进行解码的其它信息。
[0284]
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来根据空域上邻近的块形成预测块。反量化单元303对比特流中提供并由熵解码单元301解码的量化视频块系数进行反量化(即,去量化)。反变换单元303应用反变换。
[0285]
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器来对解码块进行滤波,以便移除块性伪像。解码视频块然后被存储在缓冲器307中,缓冲器307为后续运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
[0286]
图9示出了可以在例如图4至图8中所示的实施例中实现上述技术解决方案的示例方法。
[0287]
图9示出了视频处理的示例方法900的流程图。方法900包括,在操作910,执行在媒
体片段与媒体片段的比特流之间的转换,该转换符合格式规则和加密规则,并且格式规则规定包括媒体片段的部分的完整性的指示的验证信息在比特流中被信令通知。
[0288]
接下来提供一些实施例优选的解决方案列表。
[0289]
p1.一种数字媒体处理方法,包括通过处理媒体片段的部分来执行媒体片段的编码表示的完整性的验证;以及根据验证的结果呈现媒体片段的编码表示的解码版本。
[0290]
p2.解决方案p1的方法,其中执行验证包括将该部分的解码版本的安全哈希值与包括在编码表示中的安全哈希值进行比较。
[0291]
p3.解决方案p1的方法,其中执行验证包括认证媒体片段和/或媒体片段的部分的编码表示的数字签名。
[0292]
p4.解决方案p1的方法,其中媒体段的编码表示包括时间戳,并且执行验证包括通过从可信源获得安全信息并验证安全信息与时间戳匹配来验证时间戳的完整性。
[0293]
p5.解决方案p1至p4中任一个的方法,其中编码表示携带指示媒体片段的部分的语法元素。
[0294]
p6.解决方案p5的方法,其中语法元素包括补充增强信息(sei)。
[0295]
p7.解决方案p1至p6中任一项的方法,其中媒体片段包括包含一个或多个图片的视频,并且其中媒体片段的部分对应于一个或多个条带、子图片、片、编解码树单元或编解码树单元行。
[0296]
p8.解决方案p7的方法,其中媒体片段的部分包括视频图片的内部部分,并且其中执行验证包括按顺序计算内部部分中所有像素的像素值的哈希。
[0297]
p9.解决方案p8的方法,其中在编码表示中规定顺序。
[0298]
p10.解决方案p8的方法,其中该顺序是预先规定的,并且是锯齿形顺序或光栅扫描顺序。
[0299]
p11.解决方案p1至p10中任一项的方法,其中处理媒体片段的部分包括解码媒体片段。
[0300]
p12.解决方案p1至p11中任一项的方法,其中呈现解码版本包括仅呈现通过验证的编码表示的部分。
[0301]
p13.解决方案p1至p11中任一项的方法,其中呈现解码版本包括从呈现中省略验证结果为不肯定的媒体片段的部分。
[0302]
p14.解决方案p1至p11中任一项的方法,其中呈现解码版本包括呈现媒体片段和验证结果的指示。
[0303]
p15.一种数字媒体处理方法,包括生成媒体片段的编码表示;为媒体片段的启用验证媒体片段的编码表示的完整性的部分生成验证信息;以及提供编码表示和验证信息,用于媒体解码器对媒体片段的验证和呈现。
[0304]
p16.解决方案p15的方法,其中该验证包括将该部分的解码版本的安全哈希值与编码表示中包括的安全哈希值进行比较。
[0305]
p17.解决方案p15的方法,其中验证包括认证媒体片段和/或媒体片段的部分的编码表示的数字签名。
[0306]
p18.解决方案p15的方法,其中媒体片段的编码表示包括时间戳,并且通过从可信源获得安全信息并验证安全信息与时间戳匹配来验证时间戳的完整性,从而执行验证。
[0307]
p19.解决方案p15至p18中任一项的方法,其中编码表示携带指示媒体片段的部分的语法元素。
[0308]
p20.解决方案p19的方法,其中语法元素包括补充增强信息(sei)。
[0309]
p21.解决方案p15至p20中任一项的方法,其中媒体片段包括包含一个或多个图片的视频,并且其中媒体片段的部分对应于一个或多个条带、子图片、片、编解码树单元或编解码树单元行。
[0310]
p22.解决方案p21的方法,其中媒体片段的部分包括视频图片的内部部分,并且其中执行验证包括按顺序计算内部部分中所有像素的像素值的哈希。
[0311]
p23.解决方案p22的方法,其中在编码表示中规定顺序。
[0312]
p24.解决方案p22的方法,其中该顺序是预先规定的,并且是锯齿形顺序或光栅扫描顺序。
[0313]
p25.解决方案p15至p24中任一项的方法,其中处理媒体片段的部分包括解码媒体片段。
[0314]
p26.解决方案p15至p25中任一项的方法,其中呈现解码版本包括仅呈现通过验证的编码表示的部分。
[0315]
p27.解决方案p15至p26中任一项的方法,其中呈现解码版本包括从呈现中省略验证结果为不肯定的媒体片段的部分。
[0316]
p28.解决方案p15至p26中任一项的方法,其中呈现解码版本包括呈现媒体片段和验证结果的指示。
[0317]
p29.一种视频处理方法,包括在媒体片段与视频片段的比特流表示之间执行转换,其中该转换符合格式规则或加密规则。
[0318]
p30.解决方案p29的方法,其中比特流包括媒体片段的安全哈希函数结果。
[0319]
p31.解决方案p29至p30中任一项的方法,其中比特流包括基础编解码视频流的加密版本。
[0320]
p32.解决方案p31的方法,其中加密版本基于dsa或rsa或ecdsa加密/解密协议。
[0321]
p33.解决方案p1至p32中任一项的方法,其中媒体片段是视频的一个或多个网络抽象层(nal)。
[0322]
p34.解决方案p1至p32中任一项的方法,其中媒体片段对应于视频层。
[0323]
p35.解决方案p1至p32中任一项的方法,其中媒体片段表示视频的区域。
[0324]
p36.解决方案p1至p32中任一项的方法,其中媒体片段是视频。
[0325]
p37.解决方案p1到p32的方法,其中媒体片段是音频。
[0326]
p38.解决方案p1到p32的方法,其中媒体片段是图像。
[0327]
p39.解决方案p1至p31中任一项的方法,其中媒体片段的部分包括媒体片段的空域部分。
[0328]
p40.解决方案p1至p39中任一项的方法,其中媒体片段的部分包括媒体片段的时域部分。
[0329]
p41.解决方案p1至p39中任一项的方法,其中媒体片段的部分包括少于整个媒体片段。
[0330]
p42.解决方案p1至p39中任一项的方法,其中媒体片段的部分包括所有媒体片段。
[0331]
p43.一种媒体处理装置,包括处理器,该处理器被配置成实现解决方案p1至p42中的任何一个或多个中所述的方法。
[0332]
p44.一种计算机程序产品,包括其上存储有代码的计算机可读介质,该代码在由处理器执行时,使得处理器实现解决方案p1至p42中的任何一个或多个中所述的方法。
[0333]
p45.本文档中描述的方法、装置或系统。
[0334]
接下来提供一些实施例优选的解决方案的另一个列表。
[0335]
1.一种数字媒体处理的方法,包括在媒体片段与媒体片段的比特流之间执行转换,其中该转换符合格式规则和加密规则,并且其中格式规则规定在比特流中信令通知验证信息,该验证信息包括媒体片段的部分的完整性的指示。
[0336]
2.解决方案1的方法,其中验证信息包括一个或多个安全哈希值。
[0337]
3.解决方案2的方法,还包括基于比特流计算一个或多个重构的安全哈希值;以及将一个或多个重构的安全哈希值与一个或多个安全哈希值进行比较。
[0338]
4.解决方案3的方法,其中一个或多个重构的安全哈希值等于一个或多个安全哈希值指示媒体片段的部分的完整性被保持。
[0339]
5.解决方案3的方法,其中一个或多个重构的安全哈希值与一个或多个安全哈希值不同指示媒体片段的部分的完整性没有被保持。
[0340]
6.解决方案1至5中任一项的方法,其中,媒体片段的当前图片的区域对应于条带、子图片、片、编解码树单元(ctu)或ctu行。
[0341]
7.解决方案6的方法,其中比特流包括区域的指示。
[0342]
8.解决方案7所述的方法,其中该指示包括区域相对于包括该区域的图片的左上坐标或右下坐标。
[0343]
9.解决方案7的方法,其中该指示包括使用媒体片段中单元的左上坐标或右下坐标规定的区域的左上坐标或右下坐标。
[0344]
10.解决方案9的方法,其中该单元是编解码树块(ctb)或编解码树单元(ctu)。
[0345]
11.解决方案7的方法,其中该区域是子图片,并且其中该指示包括子图片的索引。
[0346]
12.解决方案7的方法,其中一个或多个安全哈希值包括区域的按顺序排列的所有像素的安全哈希值。
[0347]
13.解决方案12的方法,其中该顺序是光栅扫描顺序。
[0348]
14.解决方案12的方法,其中该顺序是解码顺序。
[0349]
15.解决方案12的方法,其中该顺序包括媒体片段的区域的索引的升序或降序。
[0350]
16.解决方案6的方法,其中媒体片段的部分的完整性还基于媒体片段中的多个图片中的多个区域,该多个区域中的每个的相对位置与区域在当前图片中的相对位置相同。
[0351]
17.解决方案16的方法,其中比特流包括单个指示,该单个指示包括适用于该区域和多个区域中的每个的坐标。
[0352]
18.解决方案6的方法,其中媒体片段的部分的完整性还基于媒体片段中的多个图片中的多个区域,该多个区域中的每个的相对位置不同于区域在当前图片中的相对位置。
[0353]
19.解决方案6的方法,其中区域的完整性基于一个或多个安全哈希值的直接比较。
[0354]
20.解决方案2至5中任一项的方法,其中验证信息还包括一个或多个安全哈希值
的指示比特流的来源的私钥加密消息。
[0355]
21.解决方案1至5中任一项的方法,其中,验证信息还包括当前图片的区域的私钥加密消息。
[0356]
22.解决方案1至5中任一项的方法,其中,验证信息还包括当前图片的区域的校验和或循环冗余校验(crc)的私钥加密消息。
[0357]
23.解决方案2至5中任一项的方法,其中验证信息还包括可信时间戳消息,可信时间戳消息包括由时间戳机构(tsa)加时间戳的一个或多个哈希安全哈希值。
[0358]
24.解决方案6的方法,其中区域的定义包括起点、区域高度和区域宽度。
[0359]
25.解决方案6的方法,其中区域的定义包括起点和预定义的闭合形状。
[0360]
26.解决方案1至5中任一项的方法,其中,验证信息在补充增强信息(sei)消息中发送。
[0361]
27.解决方案6的方法,还包括输出该区域的安全哈希值是否匹配一个或多个安全哈希值。
[0362]
28.解决方案6的方法,还包括独立于该区域的起始点,输出该区域的安全哈希值是否匹配一个或多个安全哈希值。
[0363]
29.解决方案1至28中任一项的方法,其中,媒体片段是视频片段。
[0364]
30.解决方案1至28中任一项的方法,其中,媒体片段是音频片段。
[0365]
31.解决方案1至28中任一项的方法,其中媒体片段是图像。
[0366]
32.解决方案1至5中任一项的方法,其中,媒体片段是使用音频信号的开始时间和持续时间来定义的音频信号。
[0367]
33.解决方案32的方法,其中音频解码器被配置为输出音频信号的安全哈希值是否匹配一个或多个安全哈希值的指示。
[0368]
34.解决方案32的方法,其中音频解码器被配置为独立于音频信号的起始点,输出音频信号的安全哈希值是否匹配一个或多个安全哈希值的指示。
[0369]
35.解决方案1至5中任一项的方法,其中,媒体片段是被定义为按照显示顺序的一组连续图片的视频信号。
[0370]
36.解决方案35的方法,其中视频解码器被配置为输出视频信号的安全哈希值是否匹配一个或多个安全哈希值的指示。
[0371]
37.解决方案35的方法,其中视频解码器被配置为独立于视频信号的起始点,输出视频信号的安全哈希值是否匹配一个或多个安全哈希值的指示。
[0372]
38.解决方案34或35的方法,其中,在解码比特流之后,以预定顺序播放媒体片段。
[0373]
39.解决方案34或35的方法,其中,在解码比特流之后,以精度不同于源速度的速度播放媒体片段。
[0374]
40.解决方案1至39中任一项的方法,其中媒体片段在一个网络抽象层(nal)单元中。
[0375]
41.解决方案1至39中任一项的方法,其中媒体片段在视频编解码层网络抽象层(nal)单元中。
[0376]
42.解决方案1至39中任一项的方法,其中媒体片段在多个网络抽象层(nal)单元中。
[0377]
43.解决方案1至39中任一项的方法,其中加密规则规定将数字签名算法(dsa)、rivest shamir adleman(rsa)算法和椭圆曲线数字签名算法(ecdsa)中的至少一种应用于媒体片段的部分。
[0378]
44.解决方案1至39中任一项的方法,其中一个或多个安全哈希值的生成基于联邦信息处理标准(fips)180-4或fips 202。
[0379]
45.解决方案1至5中任一个的方法,其中加密规则规定将数字签名算法(dsa)、rivest shamir adleman(rsa)算法和椭圆曲线数字签名算法(ecdsa)中的至少一个应用于媒体片段的一个或多个图片中的相同区域的重建。
[0380]
46.解决方案45的方法,其中dsa、rsa或ecdsa中的至少一个被应用于重建,直到比特流中的补充增强信息(sei)消息中的取消标志为真。
[0381]
47.解决方案1至5中任一项的方法,其中格式规则规定媒体片段的区域受到约束。
[0382]
48.解决方案47的方法,其中约束规定区域的左上点的水平分量和垂直分量是非负整数。
[0383]
49.解决方案47的方法,其中该约束规定该区域在图片或子图片内。
[0384]
50.解决方案47的方法,其中该约束规定以色度单元或亮度单元来度量该区域。
[0385]
51.解决方案47的方法,其中该约束规定使用左上位置的坐标、宽度和高度来定义该区域。
[0386]
52.解决方案47的方法,其中该约束规定使用左上位置的起点和右下位置的终点来定义该区域。
[0387]
53.解决方案47的方法,其中该约束规定使用(h-k)和(w-k)定义区域,其中h是区域的高度,w是区域的宽度,k是整数。
[0388]
54.解决方案53的方法,其中k=1。
[0389]
55.解决方案1至5中任一项的方法,其中加密规则规定验证信息还包括一个或多个公钥。
[0390]
56.解决方案55的方法,其中一个或多个公钥中的至少一个公钥在补充增强信息(sei)消息中发送。
[0391]
57.解决方案1至5中任一项的方法,其中加密规则规定验证信息包括与数字签名算法(dsa)或椭圆曲线数字签名算法(ecdsa)相关的一个或多个参数。
[0392]
58.解决方案57的方法,其中一个或多个参数中的至少一个参数在补充增强信息(sei)消息中发送。
[0393]
59.解决方案1至5中任一项的方法,其中加密规则规定rivest shamir adleman(rsa)算法的应用,并且其中rsa签名以大端方式或小端方式被二进制化。
[0394]
60.解决方案1至5中任一个的方法,其中加密规则规定数字签名算法(dsa)或椭圆曲线数字签名算法(ecdsa)的应用,并且其中r和s是dsa或ecdsa的数字签名的参数。
[0395]
61.解决方案60的方法,其中r和s以大端方式被二进制化。
[0396]
62.解决方案60的方法,其中r和s以小端方式被二进制化。
[0397]
63.解决方案60至62中任一项的方法,其中r在s之前被二进制化。
[0398]
64.解决方案60至62中任一项的方法,其中r在s之后被二进制化。
[0399]
65.解决方案1至5中任一个的方法,其中加密规则规定与加密技术相关联的数字
签名在比特流中是字节对准的。
[0400]
66.解决方案65的方法,其中数字签名在补充增强信息(sei)消息中是字节对准的。
[0401]
67.解决方案1至66中任一项的方法,其中加密规则规定不加密。
[0402]
68.解决方案1至67中任一项的方法,其中转换包括解码来自比特流的媒体片段。
[0403]
69.解决方案1至67中任一项的方法,其中转换包括将媒体片段编码成比特流。
[0404]
70.一种将表示媒体片段的比特流存储到计算机可读记录介质的方法,包括根据解决方案1至67中的任何一个或多个中描述的方法从媒体片段生成比特流;以及将比特流写入计算机可读记录介质。
[0405]
71.一种媒体处理装置,包括处理器,该处理器被配置成实现解决方案1至70中的任一项或多项的方法。
[0406]
72.一种其上存储有指令的计算机可读介质,该指令在被执行时使得处理器实现解决方案1至70中的一个或多个中所述的方法。
[0407]
73.一种存储根据解决方案1至70中的任何一个或多个生成的比特流的计算机可读介质。
[0408]
74.一种用于存储比特流的媒体处理装置,其中该媒体处理装置被配置为实现解决方案1至70中的任何一个或多个中所述的方法。
[0409]
在本文档中,术语“媒体处理”可以指媒体编码、媒体解码、媒体压缩或媒体解压缩。术语媒体可以指视频、音频和图像。例如,在从视频的像素表示到对应的比特流的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流可例如对应于并置或散布在比特流内不同位置的位。例如,可以根据经变换和编解码的误差残余值,并且还使用比特流中的标头和其他字段中的位,对宏块进行编码。此外,在转换期间,解码器可以基于如以上解决方案中所述的确定,在知道一些字段可能存在或不存在的情况下解析比特流。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
[0410]
本文档中描述的所公开的解决方案和其它解决方案、示例、实施例、模块和功能操作可以在以下各项中实现:数字电子电路,或计算机软件、固件或硬件,包括本文档中公开的结构及其结构等同物,或上述各项的一个或多个的组合。所公开的实施例和其它实施例可以被实现为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制其操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合物,或者一个或多个它们的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播信号是人为生成的信号,例如,机器生成的电气、光学或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置。
[0411]
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且其也可以以任何形式部署,包括作为独立程序或模块、
组件、子例程或其它适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件相对应。程序可以被存储在保存其它程序或数据的文件部分(例如,标记语言文档中存储的一个或多个脚本)、专用于相关程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署以在一台计算机上执行,或在位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上执行。
[0412]
本文档中描述的过程和逻辑流可以由一个或多个可编程处理器执行,这些计算机程序执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流还可以由专用逻辑电路执行,并且装置还可以实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0413]
例如,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据或向其传输数据。然而,计算机不需要这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪速存储器设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom光盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
[0414]
尽管本专利文档包含许多细节,但这些细节不应当被解释为对任何主题或要求保护的内容的范围的限制,而应当被解释为对特定的技术的特定的实施例所特有的特征的描述。本专利文档中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以特定组合起作用,甚至最初被声称为这样,但在一些情况下,可以从所要求保护的组合中删除一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
[0415]
类似地,尽管在附图中以特定的顺序描述这些操作,但这不应当被理解为要求按照所示的特定的顺序或序列顺序执行这样的操作,或要求所有示出的操作被执行,以获得理想的结果。此外,本专利文档中描述的实施例中的各种系统组件的分离不应当理解为在所有实施例中都要求这种分离。
[0416]
仅描述了一些实现和示例,并且其它实现、增强和变体可以基于本专利文档中描述和说明的内容进行。

技术特征:
1.一种数字媒体处理方法,包括:执行在媒体片段与所述媒体片段的比特流之间的转换,其中,所述转换符合格式规则和加密规则,并且其中,所述格式规则规定在所述比特流中信令通知验证信息,所述验证信息包括所述媒体片段的部分的完整性的指示。2.根据权利要求1所述的方法,其中,所述验证信息包括一个或多个安全哈希值。3.根据权利要求2所述的方法,还包括:基于所述比特流计算一个或多个重构的安全哈希值;以及将所述一个或多个重构的安全哈希值与所述一个或多个安全哈希值进行比较。4.根据权利要求3所述的方法,其中,所述一个或多个重构的安全哈希值等于所述一个或多个安全哈希值指示所述媒体片段的所述部分的完整性被保持。5.根据权利要求3所述的方法,其中,所述一个或多个重构的安全哈希值与所述一个或多个安全哈希值不同指示所述媒体片段的所述部分的完整性没有被保持。6.根据权利要求1至5中任一项所述的方法,其中,所述媒体片段的当前图片的区域对应于条带、子图片、片、编解码树单元ctu或ctu行。7.根据权利要求6所述的方法,其中,所述比特流包括所述区域的指示。8.根据权利要求7所述的方法,其中,所述指示包括所述区域的相对于包括所述区域的图片的左上坐标或右下坐标。9.根据权利要求7所述的方法,其中,所述指示包括使用所述媒体片段中单元的左上坐标或右下坐标规定的区域的左上坐标或右下坐标。10.根据权利要求9所述的方法,其中,所述单元是编解码树块ctb或编解码树单元ctu。11.根据权利要求7所述的方法,其中,所述区域是子图片,并且其中,所述指示包括所述子图片的索引。12.根据权利要求7所述的方法,其中,所述一个或多个安全哈希值包括所述区域的按顺序排列的所有像素的安全哈希值。13.根据权利要求12所述的方法,其中,所述顺序是光栅扫描顺序。14.根据权利要求12所述的方法,其中,所述顺序是解码顺序。15.根据权利要求12所述的方法,其中,所述顺序包括所述媒体片段的区域的索引的升序或降序。16.根据权利要求6所述的方法,其中,所述媒体片段的所述部分的完整性还基于所述媒体片段中的多个图片中的多个区域,所述多个区域中的每个区域的相对位置与所述区域在所述当前图片中的相对位置相同。17.根据权利要求16所述的方法,其中,所述比特流包括单个指示,所述单个指示包括适用于所述区域和所述多个区域中的每个区域的坐标。18.根据权利要求6所述的方法,其中,所述媒体片段的所述部分的完整性还基于所述媒体片段中的多个图片中的多个区域,所述多个区域中的每个区域的相对位置不同于所述区域在所述当前图片中的相对位置。19.根据权利要求6所述的方法,其中,所述区域的完整性基于所述一个或多个安全哈希值的直接比较。
20.根据权利要求2至5中任一项所述的方法,其中,所述验证信息还包括所述一个或多个安全哈希值的指示所述比特流的来源的私钥加密消息。21.根据权利要求1至5中任一项所述的方法,其中,所述验证信息还包括当前图片的区域的私钥加密消息。22.根据权利要求1至5中任一项所述的方法,其中,所述验证信息还包括当前图片的区域的校验和或循环冗余校验crc的私钥加密消息。23.根据权利要求2至5中任一项所述的方法,其中,所述验证信息还包括可信时间戳消息,所述可信时间戳消息包括由时间戳机构tsa加时间戳的所述一个或多个哈希安全哈希值。24.根据权利要求6所述的方法,其中,所述区域的定义包括起始点、区域高度和区域宽度。25.根据权利要求6所述的方法,其中,所述区域的定义包括起始点和预定义的闭合形状。26.根据权利要求1至5中任一项所述的方法,其中,所述验证信息在补充增强信息sei消息中发送。27.根据权利要求6所述的方法,还包括:输出所述区域的安全哈希值是否匹配所述一个或多个安全哈希值。28.根据权利要求6所述的方法,还包括:独立于所述区域的起始点,输出所述区域的安全哈希值是否匹配所述一个或多个安全哈希值。29.根据权利要求1至28中任一项所述的方法,其中,所述媒体片段是视频片段。30.根据权利要求1至28中任一项所述的方法,其中,所述媒体片段是音频片段。31.根据权利要求1至28中任一项所述的方法,其中,所述媒体片段是图像。32.根据权利要求1至5中任一项所述的方法,其中,所述媒体片段是音频信号,所述音频信号使用所述音频信号的开始时间和持续时间来定义。33.根据权利要求32所述的方法,其中,音频解码器被配置为输出所述音频信号的安全哈希值是否匹配所述一个或多个安全哈希值的指示。34.根据权利要求32所述的方法,其中,音频解码器被配置为输出独立于所述音频信号的起始点,所述音频信号的安全哈希值是否匹配所述一个或多个安全哈希值的指示。35.根据权利要求1至5中任一项所述的方法,其中,所述媒体片段是被定义为按照显示顺序的一组连续图片的视频信号。36.根据权利要求35所述的方法,其中,视频解码器被配置为输出所述视频信号的安全哈希值是否与所述一个或多个安全哈希值匹配的指示。37.根据权利要求35所述的方法,其中,视频解码器被配置为输出独立于所述视频信号的起始点,所述视频信号的安全哈希值是否匹配所述一个或多个安全哈希值的指示。38.根据权利要求34或35所述的方法,其中,在解码所述比特流之后,以预定顺序播放所述媒体片段。39.根据权利要求34或35所述的方法,其中,在解码所述比特流之后,以精度不同于来源速度的速度播放所述媒体片段。
adleman rsa算法的应用,并且其中,rsa签名以大端方式或小端方式被二进制化。60.根据权利要求1至5中任一项所述的方法,其中,所述加密规则规定了数字签名算法dsa或椭圆曲线数字签名算法ecdsa的应用,并且其中,r和s是所述dsa或所述ecdsa的数字签名的参数。61.根据权利要求60所述的方法,其中,r和s以大端方式被二进制化。62.根据权利要求60所述的方法,其中,r和s以小端方式被二进制化。63.根据权利要求60至62中任一项所述的方法,其中,r在s之前被二进制化。64.根据权利要求60至62中任一项所述的方法,其中,r在s之后被二进制化。65.根据权利要求1至5中任一项所述的方法,其中,所述加密规则规定与加密技术相关联的数字签名在所述比特流中是字节对准的。66.根据权利要求65所述的方法,其中,所述数字签名在补充增强信息sei消息中是字节对准的。67.根据权利要求1至66中任一项所述的方法,其中,所述加密规则规定不加密。68.根据权利要求1至67中任一项所述的方法,其中,所述转换包括解码来自所述比特流的所述媒体片段。69.根据权利要求1至67中任一项所述的方法,其中,所述转换包括将所述媒体片段编码成所述比特流。70.一种将表示媒体片段的比特流存储到计算机可读记录介质的方法,包括:根据权利要求1至67中任一项或多项所述的方法从所述媒体片段生成所述比特流;并且将所述比特流写入所述计算机可读记录介质。71.一种媒体处理装置,包括处理器,所述处理器被配置为实现权利要求1至70中任一项或多项所述的方法。72.一种其上存储有指令的计算机可读介质,所述指令在被执行时使处理器实现权利要求1至70中的一项或多项所述的方法。73.一种存储根据权利要求1至70中任一项或多项生成的所述比特流的计算机可读介质。74.一种用于存储比特流的媒体处理装置,其中,所述媒体处理装置被配置为实现权利要求1至70中任一项或多项所述的方法。

技术总结
描述了用于媒体处理的方法、系统和设备。数字媒体处理的一个示例方法包括执行在媒体片段与媒体片段的比特流之间的转换,该转换符合格式规则和加密规则,并且格式规则规定在比特流中信令通知验证信息,该验证信息包括媒体片段的部分的完整性的指示。在一个示例中,媒体片段是视频片段、音频片段或图像。音频片段或图像。音频片段或图像。


技术研发人员:许继征 王业奎 张莉 张凯
受保护的技术使用者:字节跳动有限公司
技术研发日:2021.03.10
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3556.html

最新回复(0)