CN106063274A - 多层结构化编码单元中数据隐藏的方法和装置 - Google Patents

多层结构化编码单元中数据隐藏的方法和装置 Download PDF

Info

Publication number
CN106063274A
CN106063274A CN201480076758.1A CN201480076758A CN106063274A CN 106063274 A CN106063274 A CN 106063274A CN 201480076758 A CN201480076758 A CN 201480076758A CN 106063274 A CN106063274 A CN 106063274A
Authority
CN
China
Prior art keywords
mode
data
value
coding unit
hidding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480076758.1A
Other languages
English (en)
Other versions
CN106063274B (zh
Inventor
阿列克谢·康斯坦丁诺维奇·菲利波夫
瓦西里·亚历斯维奇·拉夫特斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN106063274A publication Critical patent/CN106063274A/zh
Application granted granted Critical
Publication of CN106063274B publication Critical patent/CN106063274B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及提供用于将分层编码单元的值隐藏在编码单元包括的其它值中的方法(编码方法)。此外,本发明还涉及用于从已编码的编码单元重构隐藏数据的方法(解码方法)。本发明还涉及这些编码和/或解码方法在装置中和(非瞬时性)计算机可读介质上的实施。根据本发明,数据被隐藏到分层结构化编码单元的不同层的值中。

Description

多层结构化编码单元中数据隐藏的方法和装置
技术领域
本发明涉及提供用于将分层编码单元的值隐藏在编码单元包括的其它值中的方法(编码方法)。此外,本发明还涉及用于从已编码的编码单元重构隐藏数据的方法(解码方法)。本发明还涉及这些编码和/或解码方法在装置中和(非瞬时性)计算机可读介质上的实施。
背景技术
有损数据压缩具有许多用途,尤其是在通信、广播、娱乐和安全中。视频压缩是一项具有挑战性的任务,因为要求较大的压缩比才能通过现有通信信道传输高质量且高分辨率的图片。这项任务在无线和移动通信或媒体实时编码的环境中甚至更具挑战性。
新近采用的ITU-T H.265/HEVC标准(ISO/IEC 23008-2:2013,信息技术—异构环境中的高效编码和媒体发送—第二部分:高效视频编码(Information technology-Highefficiency coding and media delivery in heterogeneous environments–Part2:Highefficiency video coding),2013年11月)声明了一组最新视频编码工具,这些视频编码工具提供了编码效率与计算复杂度之间的合理平衡。Gary J.Sullivan在2012年12月的IEEE视频技术的电路和***会刊(IEEE Transactions on Circuits and Systems for VideoTechnology)第22卷第12期的文章“高效视频编码(High Efficiency Video Coding,HEVC)标准概述(Overview of the High Efficiency Video Coding(HEVC)Standard)”中给出了ITU-T H.265/HEVC标准的概述,其全部内容以引入的方式并入本文本中。
与ITU-T H.264/AVC视频编码标准类似,HEVC/H.265视频编码标准提供了一种源图片到块,例如编码单元(coding unit,CU)的划分。每个CU还可以分为较小CU或预测单元(prediction unit,PU)。可以根据应用于PU像素的处理类型对PU进行帧内和帧间预测。在帧间预测的情况下,PU表示通过运动补偿使用为PU指定的运动向量来处理的像素区域。对于帧内预测,PU为一组变换单元(transform unit,TU)指定预测模式。TU可以具有不同大小(例如,4x4、8x8、16x16和32x32像素)并且可以通过不同的方式处理。针对TU正执行变换编码,即,正使用离散余弦变换(discrete cosine transform,DCT)对预测误差进行变换以及量化。将产生的量化变换系数分组为CG,每个CG有16个量化变换系数。
如上所述,对图片的块进行编码的这些标准的核心工具或类似专有编解码器为帧内和帧间预测、频谱变换(例如,离散余弦变换或其整数近似)和量化。帧间和帧内预测工具用于为给定块生成预测信号。在编码器侧,将源块与其预测之间的差异,所谓的残差信号,变换为它们的频谱,即,通过频域中的变换系数来表示源块像素。此外,将系数量化。非零和零量化变换系数通常分别称为重要系数和不重要系数。对包括量化变换系数和侧信息(例如,用于帧内编码的帧内预测模式和用于帧间编码的运动向量)的所有语法元素进行二值化和熵编码。压缩的H.265/HEVC比特流中的熵编码后系数的部分可超过80%。
对量化变换系数进行编码的阶段如下:
-对最后的重要系数,即,最后的非零量化变换系数,的位置进行编码。
-对用于恢复所有非零系数的位置的重要性图进行编码。
-重要系数的符号编码。
-重要系数的量级编码。
这些阶段在量化变换系数的环境中执行,量化变换系数被分为所谓的系数组(coefficient group,CG)。每个CG是一个通常由4x4个系数组成的子集。
显式符号编码要求对每一个重要系数一个符号位进行编码。然而,ITU-T H.265/HEVC标准采用称为符号位隐藏(Sign Bit Hiding,SBH)的新工具。这个技术背后的基本理念是使用属于给定CG的重要系数的最小重要位之和的奇偶校验来隐式表示该CG内的第一重要系数的符号。这个工具不是应用到所有CG,而是仅应用到满足阈值条件的那些CG,阈值条件即第一与最后重要系数的位置差应大于或等于四。根据负责开发H.265/HEVC标准的视频编码联合组(Joint Collaborative Team on Video Coding,JCT-VC)提供的结果,这个工具对于JCT-VC测试中使用的广泛视频序列降低了相同质量下的比特率。这证实了,尤其是SBH,一般而言是数据隐藏,可以是有效的压缩工具。
除了视频压缩,数据隐藏还可以用于不同的数字权限管理(Digital RightsManagement,DRM)应用(例如,数字水印)中。这是用于载波信号中的内嵌数字信息的DRM技术之一(参见例如Tirkelet等人的“电子水印(Electronic Water Mark)”,数字图像计算:技术和应用(Digital Image Computing:Techniques and Applications,DICTA),1993,麦考瑞大学,第666-673页)。该隐藏信息可以用于验证载波信号的真实性或完整性或用于显示其所有者的身份。
在这种情况下,如果应对同一目标值集合执行若干隐藏操作,那么这些操作可能会互相干扰。如果隐藏操作修改了集合的一个值而不考虑这个修改对先前隐藏操作期间隐藏的数据的影响,那么会发生这种干扰。因此,隐藏操作的简单合并会导致产生不可解码的比特流。
作为这一情况的示例,可以考虑隐藏TU的量化变换系数内的一组标记,如果还应为这些系数执行SBH。如果单独执行标记隐藏操作(即,其与SBH不配套),那么会不恰当地执行提取隐藏符号。
发明内容
一个目的是提议一种用于基于编码单元中包括的数据(值)输入集对待编码的数据单元(所述编码单元)的多段数据进行编码的新颖方法。另一个目的是提议一种用于再次对所述已编码的数据单元中的所述多段数据进行解码的方式。此外,再一个目的是提议一种数据隐藏机制,其中可以分别执行若干隐藏操作而不引起干扰,产生不可解码的编码后数据。
根据本发明的第一方面,待编码的数据单元具有分层结构。这意味着,例如,属于所述编码单元的数据的各个值对应提供所述编码单元的若干层的分层结构。所述第一方面的理念是使用数据隐藏模式隐藏属于相应给定层的信息(例如,值),基于所述编码单元的其它信息。其上应用有相应数据隐藏模式的所述其它数据可以视为针对相应数据隐藏模式的值的输入集。若干数据隐藏模式可基于值的相同输入集、值的部分交叠的输入集或值的不同输入集,或甚至它们的组合。
根据所述第一方面的第一示例性实施方式,提供了一种用于将分层编码单元的值隐藏在所述编码单元包括的其它值中的方法(编码方法)。在所述方法中,提供了数据隐藏模式的分层堆栈。所述数据隐藏模式用于在所述编码单元的不同层处隐藏所述编码单元的所述值。所述数据隐藏模式中的每一个均具有与其关联的校验函数,用于在所述编码单元的所述层之一处隐藏所述编码单元的所述值中的一个或多个。针对所述数据隐藏模式中的每一个,执行以下操作:
(i)基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数;
(ii)确定所述校验函数的结果是否对应将由所述相应数据隐藏模式隐藏的所述编码单元的值;
(iii)若否,则修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个,使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值。
所述已编码的编码单元包括如在步骤(iii)中针对所有数据隐藏模式修改的所述编码单元的所述其它值。
在所述第一方面的所述第一实施形式的另一第二实施方式中,所述数据隐藏模式的所述分层堆栈定义解耦的数据隐藏模式。所述解耦的数据隐藏模式可被认为满足以下标准:使用所述堆栈的任意数据隐藏模式恢复的隐藏值无法从所述堆栈中定义的剩余数据隐藏模式的组合(例如,线性组合)中推导出。如果解耦所述数据隐藏模式的分层堆栈,那么对值的同一输入数据集应用相同不会引起所述堆栈中不同数据隐藏模式之间的干扰,使得隐藏值可以正确恢复。这种干扰会在例如以下情况中发送:一个隐藏操作修改了所述值的输入集的数据(即,在所述隐藏操作中使用的所述数据隐藏模式选择的所述值),而未考虑先前数据隐藏操作中的所述值的输入集中的一个或多个值的修改的影响。
此外,在所述第一方面的任一前述实施形式的第三实施方式中,所述编码单元的每个层可与所述数据隐藏模式中的一个或多个关联。
在所述第一方面的任一前述实施形式的再一第四实施方法中,所述数据隐藏模式可包括以下项中的至少一项:基于抽取的数据隐藏模式、一个或多个规律性数据隐藏模式,以及一个或多个伪随机数据隐藏模式。
根据所述第一方面的任一前述实施形式的第五实施方法,所述方法还可包括针对所述数据隐藏模式中的每一个执行以下操作:如果在步骤(iii)中用于修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个的算法没有修改所述值使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值,则重复步骤(i)至(iii),直到步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值。
根据所述第一方面的任一前述实施形式的第六实施方式,当使用所述数据隐藏模式的第一数据隐藏模式和第二数据隐藏模式分别执行步骤(i)至(iii)时,已被所述第一数据隐藏模式选择出且已在步骤(iii)中修改的所述编码单元的那些一个或多个其它值,如果被所述第二数据隐藏模式在第二迭代中选择,则在针对所述第二数据隐藏模式执行步骤(i)至(iii)时,在步骤(iii)中不再次修改。
根据所述第一方面的任一前述实施形式的第七实施方式,针对所述数据隐藏模式之一在步骤(iii)中修改的所述至少一个值,在为另一数据隐藏模式执行步骤(i)至(iii)时,被认为是替代原始值。
根据所述第一方面的第八实施方式,提供了一种用于从已编码的编码单元重构隐藏值的方法(解码方法)。再次,提供了数据隐藏模式的分层堆栈。编码器已使用所述堆栈隐藏所述编码单元的所述值。所述数据隐藏模式中的每一个均具有与其关联的校验函数。在本方法中,针对所述数据隐藏模式中的每一个,基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数,其中所述校验函数的结果对应重构的隐藏值之一。
根据所述第一方面的任一前述实施形式的第九实施方式,所述编码单元包括的所述值是所述编码单元的最低分层的值,其中所述数据隐藏模式的所述校验函数基于所述编码单元包括的所述值计算。
根据所述第一方面的所述第九实施形式中的第十实施形式,根据所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述最低分层的所述值的相应子集中选择的值计算所述数据隐藏模式的所述校验函数,其中所述数据隐藏模式与除所述编码单元的所述最低分层之外的一层关联。
根据所述第一方面的所述第十实施形式的第十一实施方式,基于所述子集的大小确定所述数据隐藏模式中的相应一个数据隐藏模式的大小,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。
根据所述第一方面的所述第十或第十一实施形式的第十二实施方向,除所述最低分层之外的一层中的相应子集包括所述编码单元的所述最低分层的那些值,所述值分层地属于所述相应层的组织数据单元。
根据所述第一方面的所述第十二实施形式的第十三实施方式,基于属于所述相应层的相应组织数据单元的值的子集大小确定适用于所述相应层的所述相应组织数据单元的数据隐藏模式的数目和/或大小,其中所述校验函数根据所述子集大小计算。
根据所述第一方面的所述第十至第十三实施方式的第十四实施方式,所述数据隐藏模式中的相应一个数据隐藏模式的大小等于所述子集大小或为所述子集大小的除数,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。为使其不同,所述子集大小,其中所述相应数据隐藏模式的所述校验函数根据其计算,等于所述数据隐藏模式中的相应一个数据隐藏模式的大小或为其整数倍。
根据所述第一方面的任一前述实施形式的第十五实施方式,所述编码单元的所述值表示图像的像素块,所述编码单元具有一个或多个预测单元、一个或多个变换单元以及一个或多个系数组,其中所述数据隐藏模式与所述编码单元的层关联,所述编码单元的层分别对应所述预测单元、所述变换单元和所述编码单元。此外,所述数据隐藏模式中的每一个隐藏所述编码单元的所述关联层的一个或多个值。
根据所述第一方面的所述第十五实施形式的第十六实施方式,所述数据隐藏模式与所述编码单元的层关联,所述编码单元的层分别对应所述系数组、所述预测单元、所述变换单元和所述编码单元,其中所述系数组是所述编码单元的所述最低层的一部分。
根据所述第一方面的任一前述实施形式的第十七实施形式,基于所述系数组的值计算所述数据隐藏模式的所述校验函数。
根据所述第一方面的所述第十五至第十七实施形式的第十八实施方式,所述数据隐藏模式包括用于针对所述编码单元的所述变换单元的帧内预测隐藏参考样本滤波标记的一个或多个数据隐藏模式。
根据所述第一方面的所述第十五至第十八实施形式的第十九实施方式,所述数据隐藏模式包括用于隐藏以下项中的至少一项的一个或多个数据隐藏模式:预测模式指数以及所述预测单元的大小。
根据所述第一方面的所述第十五到第十九实施形式的第二十实施方式,所述数据隐藏模式包括用于将水印嵌入所述编码单元的数据隐藏模式。
根据所述第一方面的所述第十五到第二十实施形式的第二十一实施方式,所述数据隐藏模式包括用于隐藏所述系数组的系数的符号位的数据隐藏模式。
根据所述第一方面的所述第一至第十四是实施形式的第二十二实施方式,所述编码单元的所述值表示待编码的图像数据的块、音频数据的块或文件的块。
根据所述第一方面的所述第一至第二十二实施形式的第二十三实施方式,所述隐藏值之一允许确定所述编码单元中包括的所述值的真实性。
根据所述第一方面的第二十四实施方式,本发明提供了一种用于将分层编码单元的值隐藏在所述编码单元包括的其它值中的编码装置。所述编码装置设有数据隐藏模式的分层堆栈,用于在所述编码单元的不同层处隐藏所述编码单元的所述值,其中所述数据隐藏模式中的每一个均具有与其关联的校验函数,用于在所述编码单元的所述层之一处隐藏所述编码单元的所述值中的一个或多个。所述编码装置包括处理单元,用于针对所述数据隐藏模式中的每一个执行以下操作:
(i)基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数;
(ii)确定所述校验函数的结果是否对应将由所述相应数据隐藏模式隐藏的所述编码单元的值;
(iii)若否,则修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个,使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值。
所述编码装置还包括输出单元,用于输出已编码的编码单元,所述已编码的编码单元包括如在步骤(iii)中针对所有数据隐藏模式修改的所述编码单元的所述其它值。
本发明的第一方面的第二十五实施方式提供了一种编码装置,用于执行根据所述第一方面的任一实施形式的方法。
本发明的所述第一方面的所述第二十六实施方式提供了一种解码装置,用于从已编码的编码单元重构隐藏值。所述解码装置设有数据隐藏模式的分层堆栈,编码器已使用所述分层堆栈隐藏所述编码单元的所述值,其中所述数据隐藏模式中的每一个均具有与其关联的校验函数。所述解码装置包括:处理单元,用于针对所述数据隐藏模式中的每一个,基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数,其中所述校验函数的结果对应重构的隐藏值之一;以及输出单元,用于输出所述已解码的编码单元,所述已解码的编码单元包括所述重构的隐藏值,作为已解码的数据的一部分。
根据所述第一方面的所述第一至第二十六实施形式的第二十七实施方式,所述相应数据隐藏模式从所述已编码的编码单元中选择的所述值是所述编码单元的最低分层的值。
根据所述第一方面的所述第一至第二十七实施形式的第二十八实施方式,所述处理单元还用于根据所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述最低分层的所述值的相应子集中选择的值计算所述数据隐藏模式的所述校验函数,其中所述数据隐藏模式与除所述已编码的编码单元的所述最低分层之外的一层关联。
根据所述第一方面的所述第一至第二十八实施形式的第二十九实施方式,所述处理单元还用于基于所述子集的大小确定所述数据隐藏模式中的相应一个数据隐藏模式的大小,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。
根据所述第一方面的所述第一至第二十八或第二十九实施形式的第三十实施方向,除所述最低分层之外的一层中的相应子集包括所述编码单元的所述最低分层的那些值,所述值分层地属于所述相应层的组织数据单元。
根据所述第一方面的所述第一至第三十实施形式的第三十一实施方式,所述处理单元用于基于属于所述相应层的相应组织数据单元的值的子集大小确定适用于所述相应层的所述相应组织数据单元的数据隐藏模式的数目和/或大小,其中所述校验函数根据所述子集大小计算。
本发明的第一方面的第三十二实施方式提供了一种解码装置,用于执行根据所述第一方面的任一实施形式的解码方法。
本发明的所述第一方面的第三十三实施方式提供了一种存储有指令的(非瞬时性)计算机可读介质,当所述指令由编码装置的处理单元执行时,使所述编码装置针对所述数据隐藏模式中的每一个执行以下操作:
(i)基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数;
(ii)确定所述校验函数的结果是否对应将由所述相应数据隐藏模式隐藏的所述编码单元的值;
(iii)若否,则修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个,使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值。
此外,指令还可使所述编码装置的所述处理单元在已编码的编码单元中包括如在步骤(iii)中针对所有数据隐藏模式修改的所述编码单元的所述其它值。
本发明的所述第一方面的第三十四实施方式提供了一种存储有指令的(非瞬时性)计算机可读介质,当所述指令由编码装置的处理单元执行时,使所述编码装置执行根据所述第一方面的任一实施形式的编码方法。
本发明的所述第一方面的第三十四实施方式提供了一种存储有指令的(非瞬时性)计算机可读介质,当所述指令由编码装置的处理单元执行时,使所述编码装置提供数据隐藏模式的分层堆栈,其中编码器已使用所述堆栈隐藏所述编码单元的所述值。所述数据隐藏模式中的每一个均具有与其关联的校验函数。所述指令还使所述解码装置,针对所述数据隐藏模式中的每一个,基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数,其中所述校验函数的结果对应重构的隐藏值之一。
本发明的所述第一方面的第三十六实施方式提供了一种存储有指令的(非瞬时性)计算机可读介质,当所述指令由解码装置的处理单元执行时,使所述解码装置执行根据所述第一方面的任一实施形式的解码方法。
附图说明
本发明的以下实施例结合附图更详细地描述。图中的类似或对应细节通过相同的参考编码标记。
图1所示为根据本发明一示例性实施例的编码单元的示例性结构(编码树);
图2所示为本发明一实施例的编码单元的示例性结构,其类似于H.265标准中的编码单元结构;
图3所示为根据本发明实施例的一维解耦数据隐藏模式的不同示例;
图4所示为根据本发明一实施例的二维解耦数据隐藏模式的不同示例;
图5所示为根据本发明一实施例的针对图2中的不同层定义的数据隐藏模式的分层堆栈的结构的示例性实施例;
图6所示为根据本发明一示例性实施例的数据隐藏模式的示例性分层结构;
图7和图8所示为根据本发明一示例性实施例的用于多层分层结构化数据隐藏模式的编码器侧上的系数调整流程的流程图;
图9所示为根据本发明一示例性实施例的用于两层的数据隐藏模式的编码器侧上的系数调整的简化流程的流程图;
图10所示为根据本发明一实施例的解码视频流的过程的流程图;
图11所示为本发明一示例性实施例的编码器和解码器结构;
图12所示为根据本发明一示例性实施例的用于根据ITU T H.265/HEVC帧内预测的参考样本滤波的流程图隐式标记信令的示例性修改;
图13所示为根据其它不同实施例的本发明的概念的示例性用例;
图14所示为本发明一实施例的示例性编码装置;
图15所示为本发明一实施例的示例性解码装置。
具体实施方式
以下段落将描述不同方面的各种实施方式和实施例。如上文已说明的,本发明的一个方面涉及对编码单元的数据执行多个数据隐藏操作。
编码单元通常涉及包含一组待编码数据的结构。假定编码单元具有分层结构。这意味着,例如,表示属于所述编码单元的数据的各个值对应为编码单元提供若干层的分层结构。这种分层可例如通过定义编码树的结构实现,其中编码单元层定义了树的根以及属于下一较低层的树中的每个分支的数据。编码单元中的数据通过数据值(简称值)表示,数据值表示结构的不同层处的信息。数据值可通过二进制格式表示。数据隐藏操作,尤其是校验函数的计算,可对这些值执行,但是它们还可以根据需要对二进制表示(位级)执行。
图1示出了示例性编码树。编码单元的结构(层n单元,最高层单元)从而定义了编码树层的层级顺序中的最高层。每层(除了最低层)处的每个单元可由相应层的侧信息以及一个或多个低层单元组成。注意的是,根据本发明的应用,一个或多个层中可能不存在侧信息。最低层单元(层0单元)可例如包括值或由值组成,可选地,可能还存在侧信息。
本发明的第一方面的理念是使用数据隐藏模式(data hiding pattern,DHP)隐藏属于不同层的信息(例如,编码单元的一个或多个值),基于编码单元的其它值。例如,要隐藏的数据可为相应层的一种或多种侧信息,这些信息另外将须要在已编码数据中显式编码。在一实施方式中,可将相应层的数据结构(例如,层n-1单元或任何其它低层单元)的侧信息隐藏在属于相应数据结构的值内。
可例如预先确定或可向解码装置发送将哪一层的哪些信息(或值)隐藏在已编码的编码单元中。还可预先确定或可从已编码的编码单元的参数,例如相应大小,推导出在相应不同层上使用的数据隐藏模式。相同的数据隐藏模式可在一个层X中为该层的每一个层X单元重用。
在某些实施例中,数据隐藏操作基于的值属于编码单元的最低分层。应用相应数据隐藏模式的这些值可以被认为是针对相应数据隐藏模式的值的输入集。若干数据隐藏模式可基于值的相同输入集、值的部分交叠的输入集或值的不同输入集,或甚至它们的组合。
通常,假定仅出于示例性目的,校验函数具有二进制结果,一个数据隐藏模式可隐藏信息的一个位。因此,数据隐藏模式的数目对应要为一个相应层的单元隐藏的位数,除非输入数据足够大,使得同一数据隐藏模式可以应用到其相应子集。因此,用于一层的数据单元的数据隐藏模式可定义解耦的数据隐藏模式的堆栈。数据隐藏模式的解耦确保隐藏位可再次从已编码的编码单元重构。有利地,不仅为单个层的数据隐藏模式提供数据隐藏模式的解耦,而且在编码单元的所有层中解耦数据隐藏模式。如前所述,“解耦”是指使用任意数据隐藏模式从任意层恢复的数据无法通过为该层定义的剩余数据隐藏模式的组合(例如,线性组合)推导出。换言之,可以通过从给定目标值集中推导出提取值的等式的非简并***来描述解耦数据隐藏模式的堆栈。
可例如通过各种方式构造解耦的数据隐藏模式的分层堆栈。图3示出了一维解耦数据隐藏模式的不同示例,这些数据隐藏模式可划分为三组:基于抽取的、规律性的以及无规律的(伪随机的)。在图3中,(a)和(b)呈现基于提取的DHP的两个示例;(c)、(d)和(e)示出了其它规律性DHP的三个不同示例;(f)示出了无规律(伪随机)DHP的示例。
可通过这样一种方式构造基于抽取的数据隐藏模式:可以将给定值集合的每第n个元素用于数据隐藏。在更普遍的情况下,如果数据隐藏模式规律性地,即,根据某一规律性的顺序,选择集合的元素,那么这些数据隐藏模式可以划分为规律性数据隐藏模式。未在数据隐藏模式内部定义任何规律性顺序的所有其它情况可以分组到无规律或伪随机数据隐藏模式的分类中。
层的堆栈可以由不同类别的数据隐藏模式组成,但是对解耦的这些数据隐藏模式具有约束。此外,数据隐藏模式可以是二维甚至多维的。图4给出了数据隐藏模式的二维分层堆栈的示例。二维数据隐藏模式可以例如应用到量化的变换系数,如一维数据隐藏模式一样,但是,在那种情况下的数据隐藏和提取流程会在系数扫描之前发生。
在以下示例中,假定大部分时间本发明用于视频编码环境中。因此,编码单元的数据表示图像的像素块。出于示例性目的,假定编码单元具有与H.265标准类似的编码树结构。编码单元具有一个或多个预测单元、一个或多个变换单元以及一个或多个系数组。图2示出了该示例性分层结构,其中突出了编码单元(coding unit,CU)的相应层。此外,为各个层确定的参数列出了可为相应层的数据单元(CU、PU、TU和CG)隐藏的示例性侧信息。此外,示例性地假定基于属于相应层的数据单元(CU、PU、TU和CG)的CG的变换系数值在每层执行数据隐藏操作。因此,用于为相应层的数据单元执行的数据隐藏操作的输入数据集可不同。这可允许为不同的相应层的数据单元重用相同的数据隐藏模式。
图5示出了为图2中的不同层定义的数据隐藏模式的分层堆栈的结构的示例性实施例。在本示例中,仅出于示例性目的,假定,在四个层中的相应一个层中,每个相应层的数据单元具有一个数据隐藏模式。
在最低层(层0),CG层,要隐藏每个CG的一个值(例如,相应CG的(重要)变换系数的符号标记)。注意的是,考虑变换系数的完整集合(例如,对于大小为4x4的CG,考虑全部16个重要和不重要系数,尽管仅重要系数可在已编码的编码单元中进行编码)。
通过相应数据隐藏模式和校验函数(例如,奇偶校验函数),可以对给定CG内的一个或多个重要系数的符号进行编码。数据隐藏模式的大小等于CG的大小(或为CG的大小的除数)(例如,对于4x4CG是16个值),并选择CG的系数值的子集用于校验函数。数据隐藏操作可不用于所有CG,而仅用于满足阈值条件的那些CG。例如,如果第一与最后重要系数的位置的差异应大于或等于四,则使用数据隐藏。
在一个示例中,针对要隐藏的CG的每个值,定义对应的数据隐藏模式(和校验函数)。因此,如果要隐藏4个重要系数的符号,那么定义4个不同的数据隐藏模式,每个数据隐藏模式用于隐藏一个符号位(假定数据隐藏模式的大小等于CG的大小(即,其系数的数目))。在图5的示例中,可为一个CG隐藏一个重要系数的一个符号位。注意的是,用于隐藏不同CG的符号位的数据隐藏模式集合对于编码单元的所有CG可相同。然而,也可使用不同的数据隐藏模式集合。
现转向TU层,即,图5的示例中的层1,通常,若干个CG属于单个TU。因此,对于隐藏TU的侧信息(例如,TU的参考样本滤波标记),数据隐藏操作的输入数据集现可为属于相应TU的所有CG的变换系数。因此,TU层的数据隐藏模式的大小可等于CG的大小,如图5所示。如果需要在TU层中隐藏多个位,则定义对应数目的解耦数据隐藏模式。
或者,TU层的数据隐藏模式的大小可为CG大小的除数(未在图5中示出)。如下文将说明的,数据隐藏模式可具有最大大小。在这种情况下,数据隐藏模式的大小的整数倍可等于属于TU的CG的大小(即,属于TU的不同CG的系数的数目)。在这种情况下,可对属于TU的CG的不同子集多次应用同一数据隐藏模式以隐藏多个位。
与TU层类似,同样,在PU层中,即图5的示例中的层2中,若干个CG可属于单个PU。因此,用于PU层的数据隐藏操作的输入数据集也可大于TU层的数据隐藏操作的输入数据集。PU层的数据隐藏模式的大小也可等于属于相应PU的CG的大小,或者,PU层的数据隐藏模式的大小可为CG大小的除数(未在图5中示出),便于在隐藏多个位时对属于相应PU的CG的系数值的不同子集重用数据隐藏模式。
通常,数据隐藏模式还可用于隐藏非二进制值,例如,PU的预测模式指数或运动向量(指数)。根据数据隐藏模式的大小和属于相应层的单元的系数的数目,需要一个或多个数据隐藏模式来这样做。假定一个PU具有多个TU,可以预期,属于PU的CG的CG变换系数的数目明显大于用于PU层的数据隐藏模式的(最大)大小,使得即使一个数据隐藏模式也可用于隐藏非二进制值,比如PU的预测模式指数或运动向量(指数)。
最后,在CU层处,即,图5的示例中的层3,CU的所有CG的所有系数都可以用于数据隐藏过程。因此,可能隐藏CU层上的一种或若干种侧信息。例如,可通过CU的CG系数内的数据隐藏操作来隐藏环路滤波器参数、SAO偏移值或去块效应滤波器参数,如上文针对TU和PU层描述的。
此外,还可能在任意层处增加水印(指纹),如将在下文说明的。
愈加明显的是,数据隐藏操作可能需要修改最低层处的各个值(例如,CG层的系数值与上文在图2和图5中论述的示例保持一致),使得应用到由相应数据隐藏模式选择的值的校验函数提供正确的结果,用于隐藏要在不同层处隐藏的数据。因此,在考虑例如音频、图片或视频编码等时,最低层数据的修改可能导致已解码信号的失真。由值的修改引起的失真可以例如以“成本”来定义,用于决定需要修改哪个/哪些最低层值的算法可基于组成数据隐藏操作的输入数据集的相应值(即,数据隐藏模式选择的值)的修改成本(即,估计的质量下降)来做决定。由隐藏操作引起的失真还将依赖于相应数据隐藏模式选择的值的数目(即,可用于修改的候选值的数目)以及那些值如何在编码单元的最低层值的整个值集合上分布。通常,可以预期由数据隐藏操作引起的失真随着该数据隐藏模式的大小而减少,因为可选择更多的值和/或所选的值在更大的值集合上分布。另一因素当然是针对编码单元执行的数据隐藏操作的数目。
然而,随着数据隐藏模式变得更大,数据隐藏模式的不同长度之间已解码信号的失真的减少将变得更少。因此,定义数据隐藏模式的最大长度是有意义的,因为这可允许(通常在较高层上)对与相应层的值关联的最低层值多次应用最大长度的数据隐藏模式,如上文结合CU、PU和TU层说明的。这可减少由数据隐藏引起的失真,还可在定义数据隐藏模式的解耦堆栈时降低复杂度。
然而,由于每层要隐藏的位的数目可以预先确定,且相应层的单元的大小(以及因此与相应层的单元关联的最低层值的数目)可在编码过程中动态选择,所以编码装置以及解码装置可动态决定要用于对相应编码单元进行编码和解码的数据隐藏模式的堆栈(例如,每层的数据隐藏模式的数目以及它们的大小)。然而,选择要用于对相应编码单元进行编码和解码的数据隐藏模式的堆栈可基于编码单元的结构(例如,相应层的单元的大小)来决定,如将在下文更详细描述的,所以向解码装置发送编码中使用的数据隐藏模式的堆栈可能无需额外的信令开销,同时仍然能够动态使用数据隐藏模式的不同堆栈,以减少由数据隐藏引起的失真。
现考虑隐藏数据的解码,即,从已编码的编码单元重构不同层处的隐藏值,在不同层中使用的数据隐藏模式的解耦堆栈可以不预先确定,但可从已编码的编码单元的结构中推导出。例如,可基于编码单元的参数,例如CG、TU、PU和CU的大小,通过编码和解码装置自适应地推导出数据隐藏模式的堆栈,如将在下文概述的。
为了说明这个概念,将在不失一般性的情况下考虑以下简化示例。假定数据隐藏模式的最大大小为16位(即,从CG的16个系数的集合中选择值)。此外,假定CG的大小为4x4,产生每CG 16个系数,或者大小为8x8,产生每CG 64个系数。并且,假定通过数据隐藏对CG中前四个重要系数的符号进行编码(要隐藏四位)。此外,对于CG层,存在四个预先确定的数据隐藏模式DHP1、DHP2、DHP3和DHP4,它们被解耦且各自的大小为16位。数据隐藏模式DHP1、DHP2、DHP3和DHP4中的每一个均使用奇偶校验函数作为校验函数用于数据隐藏,因此每个数据隐藏模式可以用于隐藏单一位。
在编码过程中,如果编码单元具有产生4x4CG的结构,即,CG中有16个系数,那么编码装置的处理单元将使用四个数据隐藏模式DHP1、DHP2、DHP3和DHP4对CG中的16个系数执行四次数据隐藏操作来隐藏那四个符号位。类似地,在解码装置侧,在解码过程中,解码装置的处理单元识别CG的大小为4x4,并基于四个数据隐藏模式DHP1、DHP2、DHP3和DHP4中的每一个从CG的16个系数中选择出的系数,针对DHP1、DHP2、DHP3和DHP4中的每一个计算奇偶校验函数的四个结果。
如果编码单元具有产生8x8CG的结构,即,CG中有64个系数,那么编码装置的处理单元将把这64个系数划分为不同的子集,每个子集16个系数,然后将对相应的16个系数的子集执行四次数据隐藏操作来隐藏那四个符号位。在基于系数的四个不同子集的这四次数据隐藏操作中,编码装置的处理单元可使用四个数据隐藏模式DHP1、DHP2、DHP3和DHP4之一,或者使用全部四个数据隐藏模式或使用四个数据隐藏模式DHP1、DHP2、DHP3和DHP4的一个子集。可预先确定在编码装置中使用四个数据隐藏模式DHP1、DHP2、DHP3和DHP4中的哪个或哪些,使得该信息无需发送给解码装置。
类似地,在解码装置侧,在解码过程中,解码装置的处理单元识别CG的大小为8x8。解码装置从CG中的64个系数形成四个子集,每个子集16个系数(注意的是,划分显然与编码装置中相同,并且可预先确定)。然后,解码装置使用与编码装置使用的四个数据隐藏模式DHP1、DHP2、DHP3和DHP4相同的一个或多个数据隐藏模式,基于相应的16个系数的子集计算奇偶校验函数的四个结果。
比较如下两种情况:通过使用对相同系数集合执行的四次数据隐藏操作来隐藏4x4CG中的四位,与通过使用对不同系数子集执行的四次数据隐藏操作来隐藏8x8CG中的四位,以下情况变得更加明显:与8x8CG相比,由系数修改引起以便确保奇偶校验函数为四个符号中的每一个提供正确符号标记(位值)的失真可能引起4x4CG的已解码信号中的更多失真。
因此,可以考虑预见4x4CG的侧信息中的标记,其可以标志是否已在CG编码期间使用数据隐藏。或者,这个标记可在TU侧信息中预见以标志在对TU的4x4CG进行编码时是否使用数据隐藏。编码装置可以基于预先确定的或可配置的失真阈值决定4x4CG的数据隐藏的使用。
注意的是,对于隐藏数据的重构,解码装置可仅从已编码CG确定CG的16个系数(即,重要和不重要系数),但是无需执行从频谱到时域的系数逆变换。
当在水印应用中(例如,在比CG层高的层上,比如在CU层上)使用数据隐藏时,这后一点尤为有利,因为水印可在无需执行从频谱到时域的系数逆变换的情况下校验。因此,如果水印可以确认已编码数据的真实性,那么最低层数据的解码(例如,逆变换)可仅由解码装置执行,使得在水印未确认时可以节省重要的处理资源。
尽管以上示例涉及在CG层中自适应地隐藏数据,但是类似的机制可用于TU层、PU层和CU层中的一个或多个等。例如,在图2中,一些TU具有与其关联的4x4=16个CG,而其它TU具有与其关联的8x8=64个CG。考虑每CG有4x4=16或8x8=64个系数,显然,用于数据隐藏操作的可能输入数据集可基于属于TU的全部数目的系数的子集,而非它们所有。
在一示例性实施方式中,出于示例性目的,假定每TU有8位要隐藏。对于具有大小为4x4的16个CG的TU,这产生了总共256个系数值,可以对这些系数值执行数据隐藏操作。出于示例性目的,考虑仅32位的一个数据隐藏模式,这一数据隐藏模式足以在256个系数中隐藏8位。数据隐藏模式会在对256个系数中的32个系数的不同子集进行的8次数据隐藏操作中应用.显然还可考虑定义不止一个长度为32位的数据隐藏模式,例如,以便确保跨所有层的数据隐藏模式的堆栈被解耦。因此,在解码装置侧,4x4的TU大小和4x4的CG大小会使得解码装置选择预先确定的数据隐藏模式,每个数据隐藏模式为32位(如编码装置使用的),以及从属于TU的256个系数中的32个系数的相应预先确定的子集重构8个隐藏位。
对于具有大小为8x8的16个CG的TU或具有大小为4x4的64个CG的TU,这产生了总共1024个系数值,可以对这些系数值执行数据隐藏操作。一个可能性可为根据增加的CG大小来增加数据隐藏模式(以及它们相应地应用于的系数子集)的大小,即,定义一个或多个数据隐藏模式,每个数据隐藏模式128位,用于使用属于TU的1024个系数中的128个系数的相应预先确定的子集来隐藏和重构8个隐藏位。
或者,可以使用与在具有4x4CG的4x4TU的情况下使用的相同的数据隐藏模式,这些数据隐藏模式然后用于属于TU的1024个系数中的预先确定的256个。TU的剩余768个系数可不使用。
在另一选择中,可以使用与在具有4x4CG的4x4TU的情况下使用的相同的数据隐藏模式,但TU的剩余768个系数可用于隐藏额外的位(即,总共可以隐藏32位)。
对于具有大小为8x8的64个CG的TU,用于数据隐藏的可用系数的数目增加到4096个系数。类似于以上情况,这可用于相应地增加数据隐藏模式的大小,以仅使用系数的一个子集进行数据隐藏(同时保持数据隐藏模式的大小)或以隐藏TU中的更多数据。
关于在每层中隐藏多少位的决定还应考虑由已解码信号中的数据隐藏操作引起的整体失真。然而,如果预先确定了每层隐藏的数据,那么,在对已编码的编码单元进行解码时,如相应层的数据单元(CU、PU、TU、CG)的大小和/或一个或多个相应低层的数据单元(PU、TU、CG)的大小等参数可以向解码装置表明编码装置使用的数据隐藏模式的堆栈。
转向数据隐藏操作,可如下同样实施。假设与数据隐藏模式关联的校验函数具有二进制结果,使得它们可以在输入数据集(例如,CG的系数)中隐藏信息的一位。对于每层的每个数据隐藏模式,相应数据隐藏模式选择输入数据集的值的子集(或其所有值)并根据所选的值的集合计算校验函数。将该计算的二进制结果与要隐藏的二进制信息进行比较。如果结果与要隐藏的二进制信息匹配,则无需对任何所选值进行修改。如果结果与要隐藏的二进制信息不匹配,则需要修改数据隐藏模式从输入数据集中选择的值中的一个或多个,使得校验函数的结果与要隐藏的二进制信息匹配。
在一示例性实施方式中,通过使用一种算法执行对数据隐藏模式从输入数据集中选择的值的修改,该算法能够确定要修改的值,同时最小化由所选值的修改引起的失真。
如果在不同分层使用所选值有部分重叠的若干个数据隐藏模式(参见图4和图5),则编码装置确保在第一数据隐藏操作中选择并修改的值在也选择了该值的另一第二数据隐藏操作中不被再次修改。此外,在计算校验函数时,第二数据隐藏操作需要考虑所选和所修改的值。这对于为各数据隐藏模式(和层)相继执行数据隐藏的实施方式很重要。
或者,以下实施方式是可能的:首先为所有数据隐藏模式计算所有校验函数,然后使用一种算法为所有数据隐藏模式修改编码单元的最低层的值,使得每个校验函数均提供正确的结果。
这两种选择的混合实施方式也是可能的,其中例如各层相继处理,但是对于单个层,为该单个层的所有数据隐藏模式计算所有校验函数,并且修改算法为该单个层的所有数据隐藏模式修改编码单元的最低层的值,使得每个校验函数均提供正确的结果。
对于如图1所示的分层结构,可将一种专用系数调整规则应用于DHP,该系数调整规则保证正确的系数调整(图6)。对于一层的给定DHP 601,可以发现一组子DHP 602、603。在该组DHP内,可以选择一个专用DHP 603。当其它子DHP 602控制它们自己的校验函数值和它们的相应子DHP时,所选的DHP 603还应控制给定的父DHP 601的值。递归地应用到每个子DHP的同一规则为所有DHP 601至605提供目标校验函数值。
图7和图8示出了用于多层分层结构化DHP的包括编码器侧系数调整的数据隐藏的流程的示例性流程图。编码过程可例如基于如图6所示结构化的DHP的堆栈,然而本发明不限于此。通过为最高层的每个DHP执行匹配的隐藏搜索701来获取已调整系数的结果集合。该流程是递归的,除了具有以下输入的最低层:
-层i的指数i
-层i的当前DHP
-为较高层重构的DHP的堆栈,较高层表示相对于当前DHP的原始DHP的链(参见图6)。当为最高层的DHP执行匹配的隐藏搜索时,DHP的堆栈为空。
-与每个DHP关联的目标值。这些目标值实际上是要隐藏的值,并定义了将由应用到值的校验函数提供的结果,其中这些值由相应DHP选择。
步骤702校验最低层是否被处理。假定将所有层从最低层开始编码,编码从零开始,且输入层具有指数i,块702将i与零比较。
如果处理的不是最底层(i不等于零),则继续(或在i等最高层的指数的情况下开始)搜索最佳DHP链。对于开始和继续搜索两种情况,均执行以下步骤:最佳成本初始化703、搜索状态保存704、DHP扫描705和系数更新718。
最佳成本初始化703应保证最佳成本校验715返回值true,除非没有重定义最佳隐藏成本。例如,如果最佳隐藏成本可以存储在变量中,那么初始化703可以指派这个变量的最高可能值,该值应大于在步骤714中计算的任何隐藏成本。
初始化703的另一可能方式是在第一次校验715之前引入等于false的专用初始化标记,并在执行校验715之后将其转换为true。在这种情况下,如果初始化标记为false,那么校验715应始终为true。
搜索状态保存704对于维持DHP扫描705一致性来说是必需的,即,扫描705的每个独立迭代应以DHP堆栈和系数的同一状态开始。对应于当前DHP的子集的系数以及DHP的堆栈两者均可以在步骤704中存储到临时数组中,并且可以在恢复步骤706期间从这些临时数组中恢复。或者,可以在开始705的下一迭代之前,即在717完成后或当715的值为false时,执行恢复步骤706。然而,706的布置应不影响获得的结果,因为其为705的所有迭代提供了相同的系数初始状态和相同的DHP堆栈初始状态。
如果对应于当前DHP的系数子集包括一个DHP的系数子集,那么这个DHP是当前DHP的子DHP。步骤705扫描层i-1的所有DHP,其中这些DHP是当前DHP的子DHP,以便选择这样一个子DHP,该子DHP不仅会为其自己提供目标校验函数的值,还会为原始DHP的链提供。
选择候选子DHP后,应首先调整其它子DHP,因为任何子DHP的系数调整都会影响应对所选DHP执行的调整。步骤707对除了所选DHP之外的所有子DHP进行迭代,并对它们中的每一种执行匹配的隐藏搜索。然而,在迭代707期间不是当前DHP堆栈传递给匹配的隐藏搜索709,而是在步骤708中新构造的那一个。这个新构造的集合包括当前在步骤707中迭代的子DHP,因此通过707迭代的所有DHP为它们自己以及它们的后续DHP提供正确的校验函数值,而不为原始DHP提供。
原始DHP的目标校验函数值应仅由在迭代步骤705中选择的子DHP提供。因此,当步骤707完成时,DHP的输入堆栈使用所选子DHP 711和当前输入DHP 712更新,当前输入DHP712是所选子DHP的父DHP。
当所有系数调整都完成时,可能计算DHP给定堆栈的隐藏成本714。通过将该成本与最佳成本715进行比较,可选择最佳系数调整变体。该选择可包括将系数调整716保存在临时数组以及使用在步骤714中计算的当前成本来重定义最佳成本717。当前DHP的所有变体在步骤705中通过迭代处理时,最佳系数调整在步骤718中从该临时数组恢复。其它操作721取决于当前层i。如果i等于最高层指数,那么匹配的隐藏搜索完成且DHP的系数进行了调整。否则,递归调用完成,709后的其它步骤应相应地执行。
对于最低层的情况(i为零),匹配的隐藏搜索701应根据DHP输入堆栈执行子集调整720。在步骤719中,针对子集调整选择的系数应属于与DHP输入堆栈的最高层的DHP对应的子集。
图8所示为针对系数给定子集、包括M个DHP的DHP给定堆栈、目标值给定堆栈的系数调整801的过程,其中,如果DHP属于DHP堆栈的话,这些目标值应由每个DHP提供。在步骤802中,将递归调用的计数器初始化为零。然而,如果子集调整801被递归调用,则应跳过该步骤802。然后,执行子集校验803,验证校验函数的结果是否相应地等于目标值的堆栈中的值。该校验803包括计算DHP 804中的每一个的校验函数值,并且将这些值与目标值805进行比较。
如果这个等式对于DHP输入堆栈的所有DHP成立,则子集调整完成。应执行立即退出813,即使子集调整801从步骤815递归调用。
否则,继续系数调整的搜索。可以注意到,因为堆栈中的DHP被解耦,所以可以通过调整M个系数的最大量来实现校验函数的目标值。然而,根据情况,所需调整的数目可以小于M。
系数调整开始于将系数的值存储在临时数组806中,所以迭代搜索807期间的任何调整都可以恢复为初始状态。为输入子集的所有系数执行该迭代搜索807,除了已在先前递归调用中修改的那些。为所选系数执行调整808。具体而言,该调整可在与增加一些常数值(正数或负数)或改变系数的位的值。并且,在步骤808中,计算调整成本。然后,将系数集合回退到初始状态809并选择下一系数。
当所有系数都迭代时,在步骤811中,增加递归循环的计数器。对该计数器执行专用校验810以便检测可能的错误。也可省略步骤810,因为其只是可选的。具体而言,如果递归计数器超过堆栈中DHP的数目M,那么这意味着M个已调整系数的子集校验803未成功。这个情形仅在当堆栈的DHP未解耦的情况下是可能的。当发生这种情形时,校验810未成功且应处理错误812。通常,校验810的值在所有情况下都应求值为true。除了增加递归计数器811,还根据从在步骤808中计算的成本中选择的最佳成本来调整输入系数。在步骤814中,执行提供最佳成本值的系数调整,其中调整的系数排除在在下一迭代中执行的校验807之外,最后递归调用子集调整(步骤815)。
显然,上述子集调整801以最低的调整成本修改M个或更少数目的系数。调整流程801可以是次优的,但是应始终提供有效输入参数的有效结果。可以注意到,该流程还可以以循环的形式实施,因为递归调用815是该流程的最后一个步骤。
对于两个层内的数据隐藏的特殊情况,可以考虑更简单的方案901,如图9所示。在本示例中,仅出于示例性目的,假设父DHP对应TU且子DHP对应CG。流程的第一个步骤是执行最佳成本和隐藏标记902的初始化。初始化最佳成本的方式与一般方案的步骤703的方式一样。匹配的隐藏标记的初始值为零。当遍历步骤904至908的迭代903完成时,确定了具有最低调整成本的CG。校验步骤906根据层0是否需要系数调整来控制方案的其它步骤。如果针对至少一个CG检测出这个需要,那么在步骤908中将匹配的隐藏标记转向该CG。
步骤903之后的操作取决于层0是否需要调整。如果是,则步骤909和910调整所有需要的CG,除了具有最低成本的CG。否则,在所有CG内搜索具有最低调整成本的系数(步骤911)。
下一步骤912是(为TU)计算层1处的校验函数值。该值通过与目标值进行比较来校验913。如果应为TU执行调整,则步骤914和916调整由TU的DHP选择的具有最低成本的系数。根据匹配的隐藏标记值,应在步骤915和917中调整第二系数。该调整对于将层1的调整与层0的调整进行匹配是必需的。
如果TU校验函数求值913成功且匹配的隐藏标记不为零,则可能调整不属于TU的DHP的单个系数。因此,针对这种情况执行阶段915、917。
如果TU校验函数求值913成功且匹配的隐藏标记为0,则无需调整且流程901终止(918)。
在以上描述中,参考输入数据集的修改引起的隐藏成本。在视频或图像编码环境中,可例如通过某一成本函数确定隐藏成本,该成本函数估计或确定由输入数据集的给定修改引起的图像质量的下降。可例如使用成本函数估计图像质量的这种下降,这些成本函数确定或近似由输入数据集的修改引起的速率失真。应注意,由于计算速率失真可能耗用很多资源,所以最好选择支持成本的低计算密集型估计且可仅提供对质量下降的估计的成本函数。
隐藏数据的解码过程可如下实施。解码装置从已编码数据流获取相应已编码的编码单元。由于编码装置使用的解耦数据隐藏模式的堆栈可为静态的、可配置的或可从已编码的编码单元的结构中推导出(如上所述),所以解码装置知道数据隐藏模式和形成编码装置处的数据隐藏操作基础的输入数据集。因此,解码装置可以使用合适的输入数据集简单地计算相应数据隐藏模式的校验函数。校验函数的这些输出值表示恢复的隐藏数据。
对于针对数据隐藏操作选择校验函数,对校验函数的唯一要求是其应具有针对输入目标值集合的单个输出值(二进制的或非二进制的)。最普通类型的校验函数是奇偶校验函数,其通过检查输入目标值之和是偶数还是奇数来推导二进制输出值。在以下清单中给出了校验函数的一些其它有效示例:
-用除以某一距离函数(例如,和函数)结果的余数等于零,
-零(或非零)值的数目的奇偶性
-某一统计特性(平均值、偏差等等)的值与阈值的比较
校验函数的输出值还可以定义为非二进制值。例如,
-用除以某一距离函数(例如,和函数)结果的余数,其中x>1。在这种情况下,校验函数输出值限制在范围[0,…,x-1]内
-某一统计特性(平均值、偏差等等)的量化值
-满足某一标准的值的给定集合内的元素数目的函数
图10示出了根据本发明一示例性实施例的解码视频流的更详细过程。该解码过程适用于对已编码的视频流进行解码,该视频流已使用上文结合图7和图8描述的方法进行了编码。熵解码器1002处理已编码的输入比特流1001。一些已解码值对应量化变换系数1005的绝对值。这些值由解量化器进一步处理。该过程的结果是系数的绝对值,这些系数适用于将正确符号分配给它们之后的逆变换过程1004。
值的符号可例如在已编码输入比特流1001中显式地发送或可作为隐藏数据包含在其中。在第一种情况下,熵解码器1002可以显式地执行符号的推导,在第二种情况下,隐式地将合适的DHP应用到量化变换系数的对应集合。DHP选择器1006根据熵解码器1002提供的可用量化变换系数1005来执行DHP选择。当系数仅对一个系数组(coefficient group,CG)可用时,DHP选择器1006为该CG提取符号值并提供这些符号1008以获得用于逆变换1004的系数的正确值。
当量化变换系数对可包括不止一个CG的大型结构元件可用时,DHP选择器1006应用可以用于系数的给定(子)集合的所有DHP。根据选择的那个DHP,物位开关1007分派输出值。如针对系数符号1008描述的,1007的输出可提供一部分已解码数据。在那种情况下,剩余数据应另外解码。最明显的方式之一是显式地对该部分进行解码并使用熵解码器1002将其恢复。
如图10所示,DHP选择器1007的可能输出数据可以是以下一种或多种:
-系数符号1008,
-用于滤波参考样本1009的标记(其用途在图12中进一步说明),
-帧内预测1010的模式,
-环路滤波器参数1011,
-水印位1012。
然而,图10仅给出了量化变换系数内可能隐藏的数据的几个示例。隐藏数据的可能类型不限于以上给定的清单。
在变换系数逆变换之后,恢复了残差信号,其进一步增加预测信号1019。预测信号是根据所选的预测模式使用帧内预测1013或帧间预测1014机制生成的。可以通过开关1018的形式实现该选择。帧间和帧内预测两者均使用先前解码的像素,这些像素存储在帧缓冲区1017中。然而,帧内预测机制可以使用未被环路滤波器1015修改的像素。
除了视频编码应用,所提出的发明还可解决其它任务,例如水印。DHP选择器1006可恢复隐藏的水印位1012,并且根据水印验证器1016针对这些位返回的结果,输出帧被阻止输出,如开关1020所示范的。如果验证成功,则开关1020“关闭”,输出图片1021由解码器输出。否则,开关1020“打开”,水印验证器1016可以示意水印失配。
图11示出了根据本发明一实施例的视频解码装置的示例性结构。编码装置还包括用于解码的方框(1112至1115),它们可在解码装置中单独提供,该解码装置还包括熵解码器1002。图11的装置可以例如在专用或通用计算设备上实施(参见图14和图15)。编码装置接收视频信号,包括要编码的各个帧/片1102,并产生已编码的比特流1110。如图15所示的解码装置可以接收已编码的比特流1110并针对视频信号的每个帧/片输出已解码的视频帧/片。
编码装置包括运动估计/运动补偿块1101、模式决定块1105、变换块1106、量化器1107和熵编码器(CABAC)1109。模式决定块1105可确定用于视频源的适当编码方式。模式决定块1105可例如决定主体帧/片是I、P还是B帧/片,和/或帧/片内的特定编码单元是帧间编码还是帧内编码。
变换块1106对空间域数据执行变换。变换块1106的这种变换可为基于块的变换以将空间域数据转变为频谱分量。例如,离散余弦变换(discrete cosine transform,DCT)可用于变换。还可使用其它变换,例如,离散正弦变换或其它。基于块的变换根据编码单元的大小对编码单元执行。像素数据的块的基于块的变换得到如上所述的变换系数集合。量化器1107对变换系数进行量化。然后,熵编码器(CABAC)1109对量化的系数和关联的侧信息进行编码。量化的变换系数的块或矩阵可称为变换单元(transform unit,TU)。在某些情况下,TU可为非正方形,例如,非正方形正交变换(non-square quadrature transform,NSQT)。
帧内编码的帧/片(即,类型I)在不涉及其它帧/片1103的情况下进行编码,因而不采用时间预测。帧内编码的帧(参见块1104)取决于帧/片内的空间预测。在编码时,可将块中像素的特定块与已针对那个帧/片进行编码的块内的邻近像素的数据进行比较。通过使用预测算法,可将块的源数据转变为残差数据。然后,变换块1106对残差数据进行编码。
对由参考样本生成块1111产生的参考样本执行帧内预测。块1111可输出滤波的或未滤波的参考样本用于帧内预测,通过滤波标记来选择使用它们中的哪一个。在图11的示例中,示例性地假定将参考样本滤波标记作为隐藏数据添加到输出数据流1110中。RSAF标记隐藏块1108执行隐藏操作,如上文结合图7和图8描述的,并且还可选择性地隐藏其它侧信息,例如,从变换块1106获取的变换系数的一些或所有符号(未在图11中示出)。
为了支持运动预测/补偿以利用时间预测,编码装置具有反馈回路,包括逆量化器1112、逆变换块1113、去块效应滤波器1114以及可选地样本自适应偏移块1114。去块效应滤波器1114可包括去块效应处理器和滤波处理器。元件1112至1115镜像解码装置实施的解码过程以再生原始帧/片,如上文概述的。帧存储(参考帧1103)用于存储再生的帧。通过这种方式,运动预测基于将为重构帧1116的那些而不是基于原始帧,由于编码/解码中涉及的有损压缩,原始帧可不同于重构帧1116。运动估计/运动补偿1101使用存储在帧存储中的帧/片作为源帧/片,用于出于确定类似块的目的与当前帧进行比较。运动估计/运动补偿1101提供的数据可包括侧信息、关于参考帧的信息、运动向量和表示参考块与当前块之间的差异(若有的话)的残差像素数据。残差信号被提供给运动估计/运动补偿1101用于进一步编码。关于参考帧的信息和/或运动向量可不由变换块1106和/或量化器1107处理,而是可提供给熵编码器(CABAC)1109以作为比特流的一部分与量化的系数一起进行编码。
解码装置可包括熵解码器,其倒转编码器侧的熵编码以及图11所示的方框1112至1115。
本发明具有广泛的用途。如上所述,可以如上文所论述的设想用于ITU T H.265/HEVC帧内预测的参考样本滤波的这一应用隐式标记信令的一个示例。然而,如上所述,通过本发明还可隐藏形成数据结构的一部分的其它侧信息,其中数据结构在编码期间生成。根据ITU T H.265/HEVC,根据所选的预测方式和被预测的块的大小来决定是否将低通滤波器应用于参考样本。该决定可由一个标记推翻,该标记可通过使用所提出的发明在量化的变换系数内隐式地示意。该修改在图12中示出。
除了媒体压缩,可在水印应用中发现本发明的大量用例。图13表示了这些实施例中的一些。图13a所示的用例表示认证流程,包括使用可提取的隐藏数据,通过将DHP应用到像素或应用到存储在ID卡上的数码相片的量化的变换系数,来验证该ID卡的标识符。可通过不同的方式执行验证,例如,通过计算校验和值并将其与提取的数据进行对比。如果发生对比失配,则认证失败。该视频表示数码照片或标识符已在未经许可的情况下被修改。如果对比成功,则验证应得到肯定的认证。
图13b给出了篡改检测应用的一个示例。针对那种情况,假定已使数字图片准备好在其块中,即,在像素值或变换系数中,隐藏关键数据。水印读取操作使用DHP从图片的块中提取该隐藏的关键数据,该数据将使用安全密钥进一步验证。验证流程与图8a所呈现情况的验证流程一样,所以失配导致检测已被篡改的特定图像块。
另一用例(图13c)假定要求以很难检测该隐式消息的存在的方式在显式消息内传输隐式消息。在图8c所示的该用例的示例中,通过在解码显式消息时将DHP应用到量化的值来恢复隐式消息。
图14示出了编码器1400的一示例性实施例的简化方框图。编码器1400包括处理器1401、存储器1402和编码应用1403。编码应用1403可包括存储在存储器1402中的计算机程序或应用,并可包括用于使处理器1401执行如本文所描述的那些操作的指令。例如,编码应用1403可对根据本文描述的各种实施例,例如上文结合图7和图8描述的,依据编码过程编码的比特率进行编码和输出。将理解,编码应用1403可存储在计算机可读介质上。输出比特流可例如通过通信***1404传输或存储于计算机可读介质上。
现还参考图15,图15示出了解码器1500的一示例性实施例的简化方框图。解码器1500包括处理器1501、存储器1502和解码应用1503。解码应用1503可包括存储在存储器1501中的计算机程序或应用,并可包括指令,用于使处理器1501根据本文的各种实施例之一,例如如上文结合图10概述的,来执行输入比特流的解码。将理解,解码应用1503可存储在计算机可读介质上。输入比特率可例如通过通信***1404接收或可从计算机可读介质中读取。
尽管一些方面已经在方法的上下文中描述,但是很明显这些方面还表示适合于执行这种方法的对应装置的描述。在这类装置中,(功能的或有形的)块可对应一个或多个方法步骤或方法步骤的特征。类似地,在对应块的上下文中描述的各方面或对应装置的条目或特征也可与对应方法的各个方法步骤相对应。
此外,本文所述的方法还可由(或使用)硬件装置,例如处理器、微处理器、可编程计算机或电子电路执行。这一装置可执行最重要的方法步骤中的一个或多个。装置已在本文中以功能块来描述,应进一步理解,装置的那些元件可完全或部分在应用元件/电路中实施。各个硬件,例如处理器、微处理器等可用于实施装置的一个或多个元件的功能。
此外,在实施硬件中装置的功能元件的方法步骤的过程中要存储信息或数据,该装置可包括存储器或存储介质,其可通信式地耦合至装置的一个或多个硬件元件/电路。
还预期在硬件或软件或它们的组合中实施本发明的各方面。这可使用数字存储介质,例如,软盘、DVD、蓝光光盘、CD、ROM、PROM、EPROM、EEPROM或闪存,其上存储有电子可读控制信号或指令,这些控制信号或指令与(或能够与)可编程计算机***合作,从而执行相应方法。可提供数据载体,其具有电子方式可读的控制信号或指令,这些信号或指令能够与可编程计算机***合作以执行本文所述的方法。
还考虑采用一种具有程序代码的计算机程序产品的形式实施本发明的各个方面,当在计算机上运行计算机程序产品时,该程序代码操作地执行该方法。所述程序代码可存储在计算机可读介质中。
以上所述仅仅是说明性的,应理解对装置的修改或变体以及本文所述的细节对于所述领域的其他技术人员而言是显而易见的。因此,有意仅通过所附权利要求书的范围而不是通过上述描述和解释所展示的特定细节来限制。

Claims (31)

1.一种用于将分层编码单元的值隐藏在所述编码单元包括的其它值中的方法,其特征在于,所述方法包括:
提供数据隐藏模式的分层堆栈用于在所述编码单元的不同层处隐藏所述编码单元的所述值,其中所述数据隐藏模式中的每一个均具有与其关联的校验函数,用于在所述编码单元的所述层之一处隐藏所述编码单元的所述值中的一个或多个;
针对所述数据隐藏模式中的每一个,执行以下操作:
(i)基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数;
(ii)确定所述校验函数的结果是否对应将由所述相应数据隐藏模式隐藏的所述编码单元的值;
(iii)若否,则修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个,使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值;
其中所述已编码的编码单元包括如在步骤(iii)中针对所有数据隐藏模式修改的所述编码单元的所述其它值。
2.根据权利要求1所述的方法,其特征在于,所述数据隐藏模式的所述分层堆栈定义了解耦的数据隐藏模式。
3.根据权利要求1或2所述的方法,其特征在于,每个层与所述数据隐藏模式中的一个或多个关联。
4.根据权利要求1至3之一所述的方法,其特征在于,所述数据隐藏模式包括以下项中的至少一项:基于抽取的数据隐藏模式、一个或多个规律性数据隐藏模式,以及一个或多个伪随机数据隐藏模式。
5.根据权利要求1至4之一所述的方法,其特征在于,针对所述数据隐藏模式中的每一个,所述方法还包括:
如果在步骤(iii)中用于修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个的算法没有修改所述值使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值,则重复步骤(i)至(iii),直到步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值。
6.根据权利要求1至5之一所述的方法,其特征在于,当使用所述数据隐藏模式的第一数据隐藏模式和第二数据隐藏模式分别执行步骤(i)至(iii)时,已被所述第一数据隐藏模式选择出且已在步骤(iii)中修改的所述编码单元的那些一个或多个其它值,如果被所述第二数据隐藏模式在第二迭代中选择,则在针对所述第二数据隐藏模式执行步骤(i)至(iii)时,在步骤(iii)中不再次修改。
7.根据权利要求1至6之一所述的方法,其特征在于,针对所述数据隐藏模式之一在步骤(iii)中修改的所述至少一个值,在为另一数据隐藏模式执行步骤(i)至(iii)时,被认为是替代原始值。
8.一种用于从已编码的编码单元重构隐藏值的方法,其特征在于,所述方法包括:
提供数据隐藏模式的分层堆栈,编码器已使用所述堆栈隐藏所述编码单元的所述值,其中所述数据隐藏模式中的每一个均具有与其关联的校验函数;
针对所述数据隐藏模式中的每一个,基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数,其中所述校验函数的结果对应重构的隐藏值之一。
9.根据权利要求1至8之一所述的方法,其特征在于,所述编码单元包括的所述值是所述编码单元的最低分层的值,其中所述数据隐藏模式的所述校验函数基于所述编码单元包括的所述值计算。
10.根据权利要求9所述的方法,其特征在于,根据所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述最低分层的所述值的相应子集中选择的值计算所述数据隐藏模式的所述校验函数,其中所述数据隐藏模式与除所述编码单元的所述最低分层之外的一层关联。
11.根据权利要求10所述的方法,其特征在于,基于所述子集的大小确定所述数据隐藏模式中的相应一个数据隐藏模式的大小,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。
12.根据权利要求10或11所述的方法,其特征在于,除所述最低分层之外的一层中的相应子集包括所述编码单元的所述最低分层的那些值,所述值分层地属于所述相应层的组织数据单元。
13.根据权利要求12所述的方法,其特征在于,基于属于所述相应层的相应组织数据单元的值的子集大小确定适用于所述相应层的所述相应组织数据单元的数据隐藏模式的数目和/或大小,其中所述校验函数根据所述子集大小计算。
14.根据权利要求10至13之一所述的方法,其特征在于,所述数据隐藏模式中的相应一个数据隐藏模式的大小等于所述子集大小或为所述子集大小的除数,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。
15.根据权利要求1至14之一所述的方法,其特征在于,所述编码单元的所述值表示图像的像素块,所述编码单元具有一个或多个预测单元、一个或多个变换单元以及一个或多个系数组,其中所述数据隐藏模式与所述编码单元的层关联,所述编码单元的层分别对应所述预测单元、所述变换单元和所述编码单元,
所述数据隐藏模式中的每一个隐藏所述编码单元的所述关联层的一个或多个值。
16.根据权利要求15所述的方法,其特征在于,所述数据隐藏模式与所述编码单元的层关联,所述编码单元的层分别对应所述系数组、所述预测单元、所述变换单元和所述编码单元,其中所述系数组是所述编码单元的所述最低层的一部分。
17.根据权利要求1至16之一所述的方法,其特征在于,基于所述系数组的值计算所述数据隐藏模式的所述校验函数。
18.根据权利要求15至17之一所述的方法,其特征在于,所述数据隐藏模式包括用于针对所述编码单元的所述变换单元的帧内预测隐藏参考样本滤波标记的一个或多个数据隐藏模式。
19.根据权利要求15至18之一所述的方法,其特征在于,所述数据隐藏模式包括用于隐藏以下项中的至少一项的一个或多个数据隐藏模式:预测模式指数,以及所述预测单元的预测单元大小。
20.根据权利要求15至19之一所述的方法,其特征在于,所述数据隐藏模式包括用于将水印嵌入所述编码单元的数据隐藏模式。
21.根据权利要求15至20之一所述的方法,其特征在于,所述数据隐藏模式包括用于隐藏所述系数组的系数的符号位的数据隐藏模式。
22.根据权利要求1至14之一所述的方法,其特征在于,所述编码单元的所述值表示待编码的图像数据的块、音频数据的块或文件的块。
23.根据权利要求1至22之一所述的方法,其特征在于,所述隐藏值之一允许确定所述编码单元中包括的所述值的真实性。
24.一种用于将分层编码单元的值隐藏在所述编码单元包括的其它值中的编码装置,其特征在于,所述编码装置设有数据隐藏模式的分层堆栈,用于在所述编码单元的不同层处隐藏所述编码单元的所述值,其中所述数据隐藏模式中的每一个均具有与其关联的校验函数,用于在所述编码单元的所述层之一处隐藏所述编码单元的所述值中的一个或多个,所述编码装置包括:
处理单元,用于针对所述数据隐藏模式中的每一个执行以下操作:
(i)基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数;
(ii)确定所述校验函数的结果是否对应将由所述相应数据隐藏模式隐藏的所述编码单元的值;
(iii)若否,则修改所述相应数据隐藏模式从所述编码单元的所述其它值中选择的所述值中的至少一个,使得步骤(ii)中的所述校验函数的所述结果对应将由所述相应数据隐藏模式隐藏的所述编码单元的所述值;
输出单元,用于输出已编码的编码单元,所述已编码的编码单元包括如在步骤(iii)中针对所有数据隐藏模式修改的所述编码单元的所述其它值。
25.根据权利要求24所述的编码装置,其特征在于,所述编码装置用于执行根据权利要求1至7之一的方法。
26.一种用于从已编码的编码单元重构隐藏值的解码装置,其特征在于,所述解码装置设有数据隐藏模式的分层堆栈,编码器已使用所述分层堆栈隐藏所述编码单元的所述值,所述数据隐藏模式中的每一个均具有与其关联的校验函数;所述解码装置包括:
处理单元,用于针对所述数据隐藏模式中的每一个,基于所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述其它值中选择的值计算所述相应数据隐藏模式的所述校验函数,其中所述校验函数的结果对应重构的隐藏值之一;
输出单元,用于输出所述已解码的编码单元,所述已解码的编码单元包括所述重构的隐藏值,作为已解码的数据的一部分。
27.根据权利要求26所述的解码装置,其特征在于,所述相应数据隐藏模式从所述已编码的编码单元中选择的所述值是所述编码单元的最低分层的值。
28.根据权利要求27所述的解码装置,其特征在于,所述处理单元还用于根据所述数据隐藏模式中的相应一个数据隐藏模式从所述编码单元的所述最低分层的所述值的相应子集中选择的值计算所述数据隐藏模式的所述校验函数,其中所述数据隐藏模式与除所述已编码的编码单元的所述最低分层之外的一层关联。
29.根据权利要求28所述的解码装置,其特征在于,所述处理单元还用于基于所述子集的大小确定所述数据隐藏模式中的相应一个数据隐藏模式的大小,其中所述相应数据隐藏模式的所述校验函数根据所述子集大小计算。
30.根据权利要求28或29所述的解码装置,其特征在于,除所述最低分层之外的一层中的相应子集包括所述编码单元的所述最低分层的那些值,所述值分层地属于所述相应层的组织数据单元。
31.根据权利要求30所述的解码装置,其特征在于,所述处理单元用于基于属于所述相应层的相应组织数据单元的值的子集大小确定适用于所述相应层的所述相应组织数据单元的数据隐藏模式的数目和/大小,其中所述校验函数根据所述子集大小计算。
CN201480076758.1A 2014-04-01 2014-04-01 多层结构化编码单元中数据隐藏的方法和装置 Active CN106063274B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/000236 WO2015152757A1 (en) 2014-04-01 2014-04-01 Methods and apparatus for data hiding in multi-layer structured coding units

Publications (2)

Publication Number Publication Date
CN106063274A true CN106063274A (zh) 2016-10-26
CN106063274B CN106063274B (zh) 2020-02-14

Family

ID=51842739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480076758.1A Active CN106063274B (zh) 2014-04-01 2014-04-01 多层结构化编码单元中数据隐藏的方法和装置

Country Status (7)

Country Link
US (2) US10104379B2 (zh)
EP (1) EP3146720B1 (zh)
JP (1) JP6401290B2 (zh)
KR (2) KR101953855B1 (zh)
CN (1) CN106063274B (zh)
BR (1) BR112016022870B8 (zh)
WO (1) WO2015152757A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109644273A (zh) * 2016-10-14 2019-04-16 华为技术有限公司 用于视频编码的设备和方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3254184B1 (en) * 2015-02-05 2023-06-07 Barcelona Supercomputing Center-Centro Nacional de Supercomputación Radix sort method for discovering multiple instances of recurring values within a vector and corresponding computing device and computer program product
CN113301334B (zh) 2015-11-17 2023-11-03 华为技术有限公司 视频编码样本自适应滤波的方法和装置
JP6595711B2 (ja) * 2015-12-23 2019-10-23 華為技術有限公司 階層的分割内でのブロックレベルの変換選択および黙示的シグナリングを伴う変換コーディングのための方法および装置
EP3412028B1 (en) 2016-02-12 2024-04-03 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
RU2706228C1 (ru) 2016-02-12 2019-11-15 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство выбора порядка сканирования
CN110431843A (zh) * 2017-03-23 2019-11-08 索尼公司 图像处理装置及方法
CN107040787B (zh) * 2017-03-30 2019-08-02 宁波大学 一种基于视觉感知的3d-hevc帧间信息隐藏方法
KR20200035396A (ko) * 2017-08-10 2020-04-03 소니 주식회사 송신 장치, 송신 방법, 수신 장치, 및 수신 방법
EP3451663A1 (en) * 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
CN108024114B (zh) * 2017-11-23 2020-01-14 华南理工大学 一种基于标志位参数修改的大容量无损hevc信息隐藏方法
EP3913946A1 (en) 2018-01-12 2021-11-24 Telefonaktiebolaget LM Ericsson (publ) Handling identifier validation
PL4038883T3 (pl) * 2019-10-02 2024-04-29 V-Nova International Limited Wykorzystanie przekształconych współczynników w celu zapewnienia osadzonej sygnalizacji znaku wodnego
CN111476703B (zh) * 2020-04-09 2024-04-26 北京印实科技有限公司 一种光学水印的制作方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621692A (zh) * 2009-07-27 2010-01-06 宁波大学 一种基于预测模式的h.264/avc视频信息隐藏方法
CN102025997A (zh) * 2010-12-22 2011-04-20 中兴通讯股份有限公司 隐藏信息的方法和装置、提取隐藏信息的方法和装置
CN102685500A (zh) * 2012-05-08 2012-09-19 合肥工业大学 基于信息变长分组结构的h.264大容量信息隐藏方法
CN103220515A (zh) * 2012-01-20 2013-07-24 捷讯研究有限公司 变换单元内的多符号位隐藏
US20130272424A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US20140003533A1 (en) * 2012-06-28 2014-01-02 Research In Motion Limited Reduced worst-case context-coded bins in video compression with parity hiding
WO2014002896A1 (ja) * 2012-06-29 2014-01-03 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859920A (en) * 1995-11-30 1999-01-12 Eastman Kodak Company Method for embedding digital information in an image
JP3269014B2 (ja) 1996-12-25 2002-03-25 日本アイ・ビー・エム株式会社 統計的性質を用いたデータ・ハイディング方法及びシステム
JP3137022B2 (ja) 1997-02-24 2001-02-19 日本電気株式会社 動画像エンコード装置
US6456726B1 (en) 1999-10-26 2002-09-24 Matsushita Electric Industrial Co., Ltd. Methods and apparatus for multi-layer data hiding
JP3567975B2 (ja) 2000-01-24 2004-09-22 日本電気株式会社 電子透かし検出・挿入装置
US7231061B2 (en) 2002-01-22 2007-06-12 Digimarc Corporation Adaptive prediction filtering for digital watermarking
JP2004221950A (ja) * 2003-01-15 2004-08-05 Ricoh Co Ltd 画像処理装置、プログラムおよび記憶媒体
SG120173A1 (en) * 2004-08-17 2006-03-28 Sony Corp Methods and apparatus for watermarking digital data
US20090010483A1 (en) * 2007-07-02 2009-01-08 The Hong Kong University Of Science And Technology Block-based lossless data hiding in the delta domain
US8650402B2 (en) * 2007-08-17 2014-02-11 Wong Technologies L.L.C. General data hiding framework using parity for minimal switching
US8660355B2 (en) * 2010-03-19 2014-02-25 Digimarc Corporation Methods and systems for determining image processing operations relevant to particular imagery
US9417754B2 (en) * 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9363512B2 (en) 2012-03-08 2016-06-07 Blackberry Limited Motion vector sign bit hiding
EP2675159B1 (en) * 2012-06-15 2018-08-08 BlackBerry Limited Multi-bit information hiding using overlapping subsets

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621692A (zh) * 2009-07-27 2010-01-06 宁波大学 一种基于预测模式的h.264/avc视频信息隐藏方法
CN102025997A (zh) * 2010-12-22 2011-04-20 中兴通讯股份有限公司 隐藏信息的方法和装置、提取隐藏信息的方法和装置
CN103220515A (zh) * 2012-01-20 2013-07-24 捷讯研究有限公司 变换单元内的多符号位隐藏
US20130272424A1 (en) * 2012-04-16 2013-10-17 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
CN102685500A (zh) * 2012-05-08 2012-09-19 合肥工业大学 基于信息变长分组结构的h.264大容量信息隐藏方法
US20140003533A1 (en) * 2012-06-28 2014-01-02 Research In Motion Limited Reduced worst-case context-coded bins in video compression with parity hiding
WO2014002896A1 (ja) * 2012-06-29 2014-01-03 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JEAN-MARC THIESSE ETAL: "Data hiding of Motion Information in Chroma and Luma Samples for Video Compression", 《2010 IEEE INTERNATIONAL WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING》 *
JEAN-MARC THIESSE ETAL: "Rate Distortion Data Hiding of Motion Vector", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
J-M. THIESSE ETAL: "DATA HIDING OF INTRA PREDICTION INFORMATION IN CHROMA SAMPLES FOR VIDEO COMPRESSION", 《PROCEEDINGS OF 2010 IEEE 17TH INTERNATIONAL CONFERENCE ON IMAGE PROCESSING SEPTEMBER 26-29》 *
XINGYU ZHANG ETAL: "ADDITIONAL SIGN BIT HIDING OF TRANSFORM COEFFICIENTS IN HEVC", 《2013 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO WORKSHOPS 》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109644273A (zh) * 2016-10-14 2019-04-16 华为技术有限公司 用于视频编码的设备和方法
CN109644273B (zh) * 2016-10-14 2021-04-09 华为技术有限公司 用于视频编码的设备和方法

Also Published As

Publication number Publication date
BR112016022870A2 (pt) 2017-10-10
US10104379B2 (en) 2018-10-16
KR20190022920A (ko) 2019-03-06
KR20160138271A (ko) 2016-12-02
KR102061081B1 (ko) 2019-12-31
BR112016022870B1 (pt) 2023-03-07
US10440368B2 (en) 2019-10-08
JP2017516368A (ja) 2017-06-15
US20180343453A1 (en) 2018-11-29
EP3146720B1 (en) 2020-09-30
WO2015152757A1 (en) 2015-10-08
JP6401290B2 (ja) 2018-10-10
KR101953855B1 (ko) 2019-03-04
BR112016022870B8 (pt) 2024-01-23
CN106063274B (zh) 2020-02-14
EP3146720A1 (en) 2017-03-29
US20170048528A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
CN106063274A (zh) 多层结构化编码单元中数据隐藏的方法和装置
Song et al. Neural network-based arithmetic coding of intra prediction modes in HEVC
Jo et al. A digital image watermarking scheme based on vector quantisation
CN103650510B (zh) 用于变换系数级编码的上下文建模技术
Zhang Reversible data hiding with optimal value transfer
CN106559669A (zh) 图像预测的方法及装置
He et al. Reversible data hiding in JPEG images based on negative influence models
CN107493405A (zh) 基于编码压缩的加密图像可逆信息隐藏方法
CN105120277A (zh) 图像编码和解码的方法、编码和解码设备以及计算机程序
CN106134201A (zh) 在块预测技术中使用的预处理预测滤波的方法和装置
CN105850132B (zh) 编解码视频数据块的方法和装置
Zhang et al. Self-embedding fragile watermarking based on DCT and fast fractal coding
CN103338376A (zh) 一种基于运动矢量的视频隐写方法
CN103426141A (zh) 一种图像内容认证方法与***
CN104683811A (zh) 一种基于整数dct系数调制的信息隐藏及提取方法
JP2021513257A (ja) データ符号化及び復号化
Zhao et al. A novel two-dimensional histogram modification for reversible data embedding into stereo H. 264 video
CN102473315B (zh) 再次使用树结构编码和解码二元集的方法和装置
CN109819260A (zh) 基于多嵌入域融合的视频隐写方法和装置
CN110677624B (zh) 基于深度学习的面向监控视频的前景和背景并行压缩方法
Dai et al. HEVC video steganalysis based on PU maps and multi-scale convolutional residual network
Lee et al. Information hiding based on block match coding for vector quantization-compressed images
CN116368798A (zh) 编码方法、解码方法、编码器、解码器以及存储介质
Zhang et al. Efficient data hiding with histogram-preserving property
JP6664454B2 (ja) 多層構造化コーディングユニットのデータ隠蔽のための方法および装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant