CN112040337B - 视频的水印添加和提取方法、装置、设备及存储介质 - Google Patents

视频的水印添加和提取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112040337B
CN112040337B CN202010906543.5A CN202010906543A CN112040337B CN 112040337 B CN112040337 B CN 112040337B CN 202010906543 A CN202010906543 A CN 202010906543A CN 112040337 B CN112040337 B CN 112040337B
Authority
CN
China
Prior art keywords
watermark
data
frequency domain
value
image frame
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.)
Active
Application number
CN202010906543.5A
Other languages
English (en)
Other versions
CN112040337A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010906543.5A priority Critical patent/CN112040337B/zh
Publication of CN112040337A publication Critical patent/CN112040337A/zh
Priority to PCT/CN2021/107107 priority patent/WO2022048330A1/zh
Application granted granted Critical
Publication of CN112040337B publication Critical patent/CN112040337B/zh
Priority to US17/951,898 priority patent/US20230008085A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0085Time domain based watermarking, e.g. watermarks spread over several images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0057Compression invariant watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/431Frequency domain transformation; Autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0052Embedding of the watermark in the frequency domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种视频的水印添加和提取方法、装置、设备及存储介质,所述方法应用于视频编辑领域。所述方法包括:获取视频数据中的目标图像帧;对所述目标图像帧进行时频转换得到目标频域数据,所述目标频域数据包括由频域系数组成的矩阵;根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;对所述水印频域数据进行时频逆转换得到水印图像帧;根据所述水印图像帧合成水印视频数据。该方法可以提高水印的鲁棒性。

Description

视频的水印添加和提取方法、装置、设备及存储介质
技术领域
本申请涉及视频编辑领域,特别涉及一种视频的水印添加和提取方法、装置、设备及存储介质。
背景技术
数字水印技术是指将特定的信息嵌入数字信号中,数字信号可能是音频、图片或是视频等,若要拷贝有数字水印的信号,所嵌入的信息也会一并被拷贝。数字水印可分为浮现式和隐藏式两种,浮现式是可被看见的水印,隐藏式是不可见的水印。
相关技术中,提供有一种隐藏式数字水印的添加方法:空域最小比特位水印。空域最小比特位水印法通过修改图像像素值(二进制)的最小比特位的数值,来加入水印数据,使水印数据能够嵌入到图像数据中。由于该方法只改动了像素值的最后一位,对颜色的改动很小,能够很好地隐藏水印。
但该方法的鲁棒性较差,当受到压缩、重编码等攻击时,水印难以有效提取。
发明内容
本申请实施例提供了一种视频的水印添加和提取方法、装置、设备及存储介质,可以提高水印的鲁棒性。所述技术方案如下:
根据本申请的一个方面,提供了一种视频的水印添加方法,所述方法包括:
获取视频数据中的目标图像帧;
对所述目标图像帧进行时频转换得到目标频域数据,所述目标频域数据包括由频域系数组成的矩阵;
根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;
对所述水印频域数据进行时频逆转换得到水印图像帧;
根据所述水印图像帧合成水印视频数据。
根据本申请的另一个方面,提供了一种视频的水印提取方法,所述方法包括:
获取水印视频数据中的水印图像帧;
对所述水印图像帧进行时频转换得到水印频域数据,所述水印频域数据包括由频域系数组成的矩阵;
根据所述水印频域数据中的所述频域系数提取水印数据。
根据本申请的另一方面,提供了一种视频的水印添加装置,所述装置包括:
第一视频模块,用于获取视频数据中的目标图像帧;
第一帧数据模块,用于对所述目标图像帧进行时频转换得到目标频域数据,所述目标频域数据包括由频域系数组成的矩阵;
水印嵌入模块,用于根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;
所述水印嵌入模块,还用于对所述水印频域数据进行时频逆转换得到水印图像帧;
所述第一视频模块,还用于根据所述水印图像帧合成水印视频数据。
根据本申请的另一方面,提供了一种视频的水印提取装置,所述装置包括:
第二视频模块,用于获取水印视频数据中的水印图像帧;
第二帧数据模块,用于对所述水印图像帧进行时频转换得到水印频域数据,所述水印频域数据包括由频域系数组成的矩阵;
水印提取模块,用于根据所述水印频域数据中的所述频域系数提取水印数据。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的视频的水印添加方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的视频的水印添加方法。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的视频的水印提取方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的视频的水印提取方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的视频的水印添加方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的视频的水印提取方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对视频中的至少一帧图像进行时频域转换得到每帧图像的频域矩阵,在每帧图像的频域矩阵中加入水印数据得到加入水印的水印频域矩阵,然后将水印频域矩阵进行逆时频域转换重新获得图像,此时的图像已经被加入水印,将其称为水印图像,然后使用水印图像来重新合成视频,最终得到的视频即为添加了水印的视频。通过在图像的频域信号中添加水印,使加入的水印既不会影响图像的成像,又具有较高的鲁棒性。即使水印图像受到压缩、旋转、平移、重编码等攻击,由于频域信号具有位置不变性和线性变换的特性,这些攻击对图像的频域信号的影响较小,计算机设备依旧可以成功从水印图像中成功提取出水印数据。并且,由于本方法对多帧图像添加了完整的水印数据,因此,在从多帧图像中提取出多个水印数据后,如果其中部分图像的水印数据被更改,计算机设备依旧可以根据多数的水印数据来确定真实的水印数据,进一步提高水印的鲁棒性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境框图;
图2是本申请一个示例性实施例提供的视频的水印添加方法的流程图;
图3是本申请另一个示例性实施例提供的视频的水印添加方法的用户界面示意图;
图4是本申请另一个示例性实施例提供的视频的水印添加方法的频域数据的示意图;
图5是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图6是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图7是本申请另一个示例性实施例提供的视频的水印添加方法的取值范围的示意图;
图8是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图9是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图10是本申请另一个示例性实施例提供的视频的水印提取方法的流程图;
图11是本申请另一个示例性实施例提供的视频的水印提取方法的流程图;
图12是本申请另一个示例性实施例提供的视频的水印提取方法的流程图;
图13是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图14是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图15是本申请另一个示例性实施例提供的视频的水印添加方法的流程图;
图16是本申请另一个示例性实施例提供的视频的水印提取方法的流程图;
图17是本申请另一个示例性实施例提供的视频的水印提取方法的流程图;
图18是本申请另一个示例性实施例提供的视频的水印添加装置的框图;
图19是本申请另一个示例性实施例提供的视频的水印提取装置的框图;
图20是本申请另一个示例性实施例提供的服务器的结构示意图;
图21是本申请另一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请实施例涉及的名词进行简介:
数字水印:是指将特定的信息嵌入数字信号中,数字信号可能是音频、图片或是视频等。若要拷贝有数字水印的信号,所嵌入的信息也会一并被拷贝。数字水印可分为浮现式和隐藏式两种,前者是可被看见的水印(visible watermarking),其所包含的信息可在观看图片或视频时同时被看见。一般来说,浮现式的水印通常包含著作权拥有者的名称或标志。隐藏式水印通过改变数字信号中的部分数据来加入水印,这种对数字信号的数据改变通常不易被察觉。
离散余弦变换(Discrete Cosine Transform,DCT):是对实信号定义的一种变换,变换后在频域中得到的也是一个实信号,相比离散傅里叶变换(Discrete FourierTransform,DFT)而言,DCT可以减少一半以上的计算。DCT还有一个很重要的性质(能量集中特性):大多数自然信号(声音、图像)的能量都集中在离散余弦变换后的低频部分,因而DCT在(声音、图像)数据压缩中得到了广泛的使用。由于DCT是从DFT推导出来的另一种变换,因此许多DFT的属性在DCT中仍然是保留下来的。示例性的,离散余弦变换是与傅里叶变换相关的一种变换,类似于离散傅里叶变换,但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的。
量化调制索引(Quantization Index Modulation,QIM):是基于量化的数字水印算法,根据水印数据不同,选择不同的量化器对载体数据进行量化。示例性的,QIM算法的主要思想是:根据水印信息,把原始载体数据用量化器量化到不同的索引区间,水印检测时则根据调制后的数据所属的量化索引区间来识别水印信息。
鲁棒性:是指原始信号在经过多种无意或者有意的信号处理后,数字水印仍能被完整识别或者仍能被准确鉴别。常见的信号处理过程包括信道噪声、数字滤波、数模与模数转换、信号采样、移位变换、尺度变化以及有损或者无损压缩等。示例性的,具有较好鲁棒性的数字水印技术,攻击者难以用常见的图像处理(如数据压缩、低通滤波、高通滤波、图像增强、二次抽样/采样、二次量化)、几何变换与几何失真(如裁减、尺度拉伸、平移、旋转、扭曲等)、噪声干扰(椒盐噪声、高斯噪声)、多重水印的重叠等手段来破坏、删除水印或者伪造数据的版权标记。
图1示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:终端10和服务器20。
终端10可以是诸如手机、台式电脑、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机等电子设备。终端10中可以安装有能够为视频添加/提取水印的应用程序的客户端,例如,视频编辑程序、视频合成程序、水印添加程序、视频分享程序、视频拍摄程序、水印提取程序等。
终端10包括第一存储器和第一处理器。第一存储器中存储有第一程序;上述第一程序被第一处理器调用执行以实现视频的水印添加和提取方法。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(Network Processor,NP)。
服务器20用于为终端10中的应用程序的客户端提供后台服务。例如,服务器20可以是上述应用程序的后台服务器。服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
服务器20包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本申请提供的视频的水印添加和提取方法。可选地,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。可选地,第二处理器可以是通用处理器,比如,CPU或者NP。
终端10和服务器20之间可通过网络进行互相通信。该网络可以是有线网络,也可以是无线网络。
示例性的,本申请提供的视频的水印添加方法,可以由终端和服务器中的至少一种计算机设备单独完成或共同完成;本申请提供的视频的水印提取方法,可以由终端和服务器中的至少一种计算机设备完成或共同完成。例如,终端向服务器发送视频数据,由服务器进行水印添加或水印提取。
图2示出了本申请一个示例性实施例提供的视频的水印添加方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
步骤201,获取视频数据中的目标图像帧。
示例性的,视频数据包括至少两帧图像(图像帧)。示例性的,目标图像帧可以是一帧图像帧,或,一段时间内连续的几帧图像帧,或,按照固定时间间隔抽取出的多个图像帧,或,视频数据的全部图像帧。目标图像帧可以是视频数据中的所有图像帧,也可以是根据提取方法从所有图像帧中选出的部分图像帧。例如,提取方法可以是:每隔一帧图像提取一帧图像作为目标图像帧。示例性的,本实施例以目标图像帧是视频数据中的全部图像帧为例,即,对视频数据中的每一帧图像都会添加水印。
示例性的,当执行该方法的设备为终端时,视频数据可以是用户上传的视频数据,也可以是本地存储的视频数据,还可以是通过网络下载得到的视频数据。示例性的,当执行该方法的设备为服务器时,视频数据可以是服务器本地存储的视频数据,也可以是终端上传给服务器的视频数据。
例如,如图3所示,当用户使用视频水印添加应用程序时,终端上显示用户界面601,用户界面601用于上传需要添加水印的视频数据。用户可以通过点击视频添加控件602来选取需要添加水印的视频数据。在选中视频数据后,用户可以通过点击水印添加控件603,来为视频数据添加水印。
示例性的,目标图像帧是用于添加水印的图像数据。示例性的,计算机设备在读取视频数据后,对视频数据进行拆帧处理,得到视频数据的每一帧图像,将每一帧图像都作为目标图像帧,对目标图像帧添加水印。示例性的,对一帧目标图像帧添加水印需要执行以下步骤,计算机设备遍历每一帧目标图像帧,对每一帧目标图像帧执行以下步骤。
步骤202,对目标图像帧进行时频转换得到目标频域数据,目标频域数据包括由频域系数组成的矩阵。
示例性的,本实施例为视频数据添加的水印是隐藏式水印。隐藏式水印即:在添加水印后,从视频的画面中用户无法直观地看出水印,只有通过相应的水印提取方法才可以从视频中提取出水印。
示例性的,本实施例在视频数据的频域为视频数据添加水印。相比于在视频数据的空域(时域)为视频添加水印,在频域添加水印对视频画面的影响更小。在空域添加水印,即,更改图像中像素点的像素值,通过这种方法,若视频数据经过多次拷贝、编码、压缩处理,图像各个像素点的像素值会发生变化,且这种变化为无规律变化,用户也就无法从视频数据中再次提取出水印,不利于视频数据版权溯源,无法有效打击视频盗版。而在频域添加水印,通过更改图像在时域的数值,即使视频数据经过多次拷贝、偏移、剪裁、编码、压缩处理,视频中的图像在频域的取值不会发生太大变化,用户依旧可以从视频数据中再次提取出水印。
示例性的,目标图像帧是空域数据,即,由像素值组成的数据。将目标图像帧经过时域转换后得到的目标频域数据为频域数据,即,由频域系数组成的数据。
示例性的,时频转换包括离散余弦变换。本实施例对目标图像帧进行离散余弦变换。离散余弦变换的公式如下:
Figure BDA0002661674670000081
其中,α(v)=α(u);F(u,v)为输出的目标频域数据;f(x,y)为输入的目标图像帧;x=1,2,3…N-1;y=1,2,3…M-1;u=1,2,3…N-1;v=1,2,3…M-1。
示例性的,目标频域数据是由频域系数组成的矩阵。示例性的,当目标图像帧的大小为N*M像素时,目标频域数据也为N*M大小的矩阵,矩阵中的每个元素为频域系数,即,N*M个频域系数。
离散余弦变换具有位置不变性和线性变换的特性。例如,图像经过压缩后,其频域数据的位置不变且频域数据的变化呈线性。如图4所示,其中(1)为原图像的频域数据,(2)为1/2压缩后图像的频域数据。空域的图像经过离散余弦变换后得到的频域数据,位于左上角的区域为低频区域,位于右下角的区域为高频区域,当图片压缩后,原图像从N*M大小压缩为(N/2)*(M/2)大小,但压缩对低频区域的频域系数影响很小,如图4所示,其位置不变,且频域系数变化为原数值的1/2。
步骤203,根据水印数据修改目标频域数据中的频域系数,得到水印频域数据。
示例性的,水印数据可以由用户提供,也可以根据用户的用户名自动生成,还可以是应用程序所提供的默认的水印数据。水印数据可以文字、数字、字符、图像中的任意一种。示例性的,对于文字和图像,可以将文字和图像转换为数字,然后根据水印数据的数字修改目标频域数据中的频域系数。例如,图像可以转换为由像素值组成的矩阵;汉字可以转换为数字编号,或,汉字可以转换为英文,英文可以转换为数字编号等等。
示例性的,计算机设备根据水印数据修改频域系数的方式可以是任意的。例如,可以将水印数据转换为二进制数字,得到一个二进制的字符串(01串),然后对于目标频域数据中指定位置(目标位置)的频域系数,可以根据水印数据来进行更改。例如,用偶数来代表0,奇数代表1,则对于指定几个位置的频域系数,将其对应的修改为偶数或者奇数,就可以实现水印数据的嵌入。例如,水印数据为0101,将水印数据嵌入目标频域数据的前四个频域系数中,前四个频域系数原本为(1,1,3,3),则按照奇偶数对应修改频域系数能够得到修改后的频域系数为(2,1,4,3)。再如,根据水印数据来修改频域系数的末位数。例如,水印数据为0101,将水印数据嵌入目标频域数据的前四个频域系数中,前四个频域系数原本为(1111,1111,3333,3333),则根据水印数据对应修改频域系数能够得到修改后的频域系数为(1110,1111,3330,3331)。当然,本领域技术人员基于以上修改的思路,还可以得到其他的修改方式。
示例性的,水印频域数据是在目标频域数据中嵌入水印数据后,得到的频域数据,即,修改了部分频域系数后的矩阵。
步骤204,对水印频域数据进行时频逆转换得到水印图像帧。
在将水印数据嵌入目标频域数据后,得到水印频域数据。然后对水印频域数据进行逆时频转换得到水印图像帧,水印图像帧为空域数据,即,由像素值组成的数据。
示例性的,时频逆转换包括逆离散余弦变换。逆离散余弦变换的公式如下:
Figure BDA0002661674670000101
其中,C(v)=C(u);F(u,v)为输入的水印频域数据;f(x,y)为输出的水印图像帧;x=1,2,3…N-1;y=1,2,3…M-1;u=1,2,3…N-1;v=1,2,3…M-1。
步骤205,根据水印图像帧合成水印视频数据。
在将水印数据加入目标图像帧得到水印图像帧后,计算机设备再将水印图像帧合成水印视频数据。水印视频数据是对视频数据中的至少一帧图像添加水印后得到的视频数据。
综上所述,本实施例提供的方法,通过对视频中的至少一帧图像进行时频域转换得到每帧图像的频域矩阵,在每帧图像的频域矩阵中加入水印数据得到加入水印的水印频域矩阵,然后将水印频域矩阵进行逆时频域转换重新获得图像,此时的图像已经被加入水印,将其称为水印图像,然后使用水印图像来重新合成视频,最终得到的视频即为添加了水印的视频。通过在图像的频域信号中添加水印,使加入的水印既不会影响图像的成像,又具有较高的鲁棒性。即使水印图像受到压缩、旋转、平移、重编码等攻击,由于频域信号具有位置不变性和线性变换的特性,这些攻击对图像的频域信号的影响较小,计算机设备依旧可以成功从水印图像中成功提取出水印数据。并且,由于本方法对每帧图像都添加了完整的水印数据,视频数据又包括了多帧图像,因此,在从多帧图像中提取出多个水印数据后,如果其中部分图像的水印数据被更改,计算机设备依旧可以根据多数的水印数据来确定真实的水印数据,进一步提高水印的鲁棒性。
示例性的,给出一种在目标频域数据中嵌入水印数据的示例性实施例。
图5示出了本申请一个示例性实施例提供的视频的水印添加方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。基于图2所示的示例性实施例,步骤203包括步骤2031和步骤2032。
步骤2031,根据水印数据的第i个比特位的取值,修改频域数据中第i个目标位置的频域系数,第i个目标位置是在矩阵中与第i个比特位相对应的矩阵位置,i为小于或等于k的正整数。
示例性的,水印数据占用k比特位,k为正整数。
示例性的,水印数据为k比特,即,有k个数字或字符。水印数据的一个比特在频域数据中对应一个目标位置,计算机设备根据水印数据在该比特位的取值,来更改位于目标位置的频域系数。
示例性的,目标位置是指频域数据中的矩阵位置。示例性的,根据频域数据的矩阵排列,可以以矩阵左上角的第一个频域系数所处位置为原点(0,0)建立直角坐标系,则频域数据中的每个频域系数的矩阵位置可以用(x,y)的坐标位置来表示。示例性的,目标位置包括频域数据中的至少一个矩阵位置。即,根据一比特的水印数据中可以在频域数据中对应修改至少一个频域系数。例如,第1个比特位对应频域数据中(4,4)、(4,5)、(5,4)、(5,5)矩阵位置。
示例性的,以目标图像帧的大小为N像素*M像素为例,则目标图像帧可以看做由像素值组成的N*M大小的矩阵,对目标图像帧进行离散余弦变换后,可以得到由频域系数组成的N*M大小的矩阵,该矩阵即为目标频域数据。因此,目标图像帧的矩阵中的位置可以理解为像素点所在的位置,对应地,目标频域数据中的位置是指各个频域系数在矩阵中所处的位置。示例性的,目标频域数据中的位置代表频率,在这个位置上的频域系数表示目标频域数据在该频率上的数值。示例性的,目标频域数据中各个位置所代表的频率从矩阵的左上角到右下角逐渐变大,即,左上角区域为低频区,右下角区域为高频区。
例如,对于一个1像素*5像素大小的目标图像帧,经过离散余弦变换后,求得的目标频域数据在1Hz处的取值为2、2Hz处的取值为4、3Hz处的取值为6、4Hz处的取值为8、5Hz处的取值为10,则可以得到1*5大小的矩阵(2,4,6,8,10),该矩阵即为目标频域数据,目标频域数据中位于(1,0)矩阵位置的频域系数2代表在1Hz的取值为2,位于(2,0)矩阵位置的频域系数4代表在2Hz的取值为4。
示例性的,上述步骤2031:根据水印数据的第i个比特位的取值,修改频域数据中第i个目标位置的频域系数,第i个目标位置是在矩阵中与第i个比特位相对应的矩阵位置;可以理解为:根据水印数据的第i个比特位的取值,修改频域数据中第i个目标频率的频域系数,第i个目标频率是在矩阵中与第i个比特位相对应的频率。
示例性的,水印数据的每个比特位对应的目标位置可以根据预设的规则来确定。例如,指定水印数据的第一个比特位所对应的目标位置,以及间距,可以确定水印数据每个比特位对应的目标位置。例如,水印数据的第一个比特位所对应的目标位置为(4,4),间距为横向的2个矩阵位置,则第二个比特位所对应的目标位置为(7,4),第三个比特位所对应的目标位置为(10,4)……由此可以确定水印数据的每个比特位所对应的目标位置。示例性的,由于在图像压缩过程中,图像的频域数据的低频信号(低频区域)会被保留,高频信号(高频区域)的一部分会被过滤,因此,为了保证数字水印算法的鲁棒性,会在选择低频区域来嵌入水印数据。示例性的,频域数据的低频区域和高频区域是一个相对的描述,并没有严格的区分界线,大致上低频区域位于频域数据矩阵的左上角,高频区域位于频域数据矩阵的右下角。
示例性的,修改频域系数的方法在步骤203中已经给出了部分例子,下面以水印数据时二进制数据为例,再给出一种使用量化调制索引来修改频域系数的方法,如图6所示,步骤2031还包括步骤2031-1至步骤2031-4。
步骤2031-1,根据取值范围步长确定二进制数据中0对应的频域系数的第一取值范围,以及二进制数据中1对应的频域系数的第二取值范围。
示例性的,取值范围步长是预设的固定数值。示例性的,取值范围步长的大小会影响嵌入水印数据对频域数据更改的幅度、水印数据的鲁棒性、水印数据在提取时的准确度,因此,取值范围步长应该设置为一个合理数值,例如,取值范围步长为1000。
示例性的,当原始的水印数据是其他形式的数据时,计算机设备可以将水印数据转换为二进制数据。例如,当水印数据是汉字时,计算机设备先将水印数据转换为英文,然后用十进制的1-26分别对26个英文字母进行编号,然后将十进制准换为二进制,则每个英文字母对应5个比特的二进制数据。例如,以水印数据是英文“TENCENT”为例,将其转换为十进制为(20,5,14,3,5,14,20),将其转换为二进制可以得到01字符串:10100 00101 0111000011 00101 01110 10100,则最终得到35个比特位的水印数据。示例性的,计算机设备根据这35比特的二进制水印数据对频域系数进行更改。示例性的,若水印数据中包括字符或外文,也可以根据上述方法的思路,对字符或外文进行编号,对应的把字符和外文变成数字,再变成二进制数据,同样可以得到一串01字符串。
示例性的,量化调制索引根据水印数据把频域系数量化到不同的取值范围中。示例性的,取值范围是根据取值范围步长来确定的,由于二进制只有0和1,则使用取值范围步长来将频域系数划分为两个取值范围。以取值范围步长为1000为例,则“0-1000”、“2000-3000”、“4000-5000”……为一个取值范围,“1000-2000”、“3000-4000”、“5000-6000”……为一个取值范围,其中,0对应一个取值范围,1对应一个取值范围。
例如,如图7所示,以频域系数的总取值范围为0-4000为例,根据取值范围步长Δ=1000,将总取值范围划分为四个取值区间:第一取值区间604:“0-1000”;第二取值区间605:“1000-2000”;第三取值区间606:“2000-3000”;第四取值区间607:“3000-4000”。其中,第一取值区间604和第三取值区间606组成第一取值范围,对应0;第二取值区间605和第四取值区间607组成第二取值范围,对应1。
步骤2031-2,判断水印数据中第i个比特位的取值。若第i个比特位的取值为0则进行步骤2031-3,若第i个比特位的取值为1则进行步骤2031-4。
步骤2031-3,响应于水印数据中第i个比特位的取值为0,将频域数据中位于第i个目标位置的频域系数,修改至第一取值范围中的一个取值,i为小于或等于k的正整数。
示例性的,计算机设备根据水印数据中第i个比特位的取值,来更改第i个目标位置的频域系数,使第i个位置的频域系数落入水印数据所对应的取值范围内。若水印数据在第i个比特位取值为0,则控制第i个目标位置的频域系数落入第一取值范围内;若水印数据在第i个比特位取值为1,则控制第i个目标位置的频域系数落入第二取值范围内。
以图7所示的取值范围为例,例如,水印数据在第1个比特位的取值为0,频域数据在第1个目标位置的频域系数为1200,则0对应有第一取值区间604和第三取值区间606,频域系数1200与第一取值区间604的距离为200,与第三取值区间606的距离为800,因此,将频域系数1200修改为第一取值区间604内的任意一个取值,例如,修改为1000。
示例性的,如图8所示,给出了一种修改频域系数的方法,步骤2031-3还包括步骤2031-31。
步骤2031-31,响应于水印数据中第i个比特位的取值为0,将频域数据中位于第i个目标位置的频域系数,修改为与频域系数距离最近的第一取值区间的中点值,i为小于或等于k的正整数。
示例性的,第一取值范围包括至少一个第一取值区间,第二取值范围包括至少一个第二取值区间,第一取值区间和第二取值区间的区间长度等于取值范围步长。
示例性的,频域系数与取值区间之间的距离可以是:频域系数与取值区间的目标端点的距离,目标端点是取值区间与频域系数距离最近的端点;或,频域系数与取值区间的中点的距离。
例如,距离频域系数最近的取值区间可以是:取值区间的目标端点与频域系数之间的距离最小。再如,距离频域系数最近的取值区间也可以是:取值区间的中点与频域系数之间的距离最小。示例性的,本实施例以取值区间的目标端点作为判断依据,将目标端点距离频域系数最近的取值区间作为目标区间,将频域系数修改至该目标区间内。
以图7所示的取值范围为例,例如,水印数据在第1个比特位的取值为0,频域数据在第1个目标位置的频域系数为1200,则0对应有第一取值区间604和第三取值区间606,频域系数1200与第一取值区间604的距离为200,与第三取值区间606的距离为800,因此,将频域系数1200修改为第一取值区间604的中点值500。再如,水印数据在第1个比特位的取值为0,频域数据在第1个目标位置的频域系数为2000,则0对应有第一取值区间604和第三取值区间606,频域系数2000与第一取值区间604的距离为1000,与第三取值区间606的距离为0,因此,将频域系数2000修改为第三取值区间606的中点值2500。
示例性的,响应于水印数据中第i个比特位的取值为0,也可以将频域数据中位于第i个目标位置的频域系数,修改为与频域系数距离最近的第一取值区间的目标端点值,目标端点值是目标端点的数值。示例性的,当第一取值区间包含目标端点时,将频域数据中位于第i个目标位置的频域系数,修改为与频域系数距离最近的第一取值区间的目标端点值;当第一区间不包含目标端点时,将频域数据中位于第i个目标位置的频域系数,修改为与频域系数距离最近的第一取值区间的目标数值,其中,目标数值是目标端点值加1或目标端点值减1,示例性的,当目标端点是第一取值区间的左端点时,目标数值为目标端点值加1;当目标端点是第一取值区间的右端点时,目标数值为目标端点值减1。
步骤2031-4,响应于水印数据中第i个比特位的取值为1,将频域数据中位于第i个目标位置的频域系数,修改至第二取值范围中的一个取值。
基于与步骤2031-3相同的原理,当水印数据取值为1时,将频域系数对应的修改为第二取值范围内的一个取值。
示例性的,如图8所示,给出了一种修改频域系数的方法,步骤2031-4还包括步骤2031-41。
步骤2031-41,响应于水印数据中第i个比特位的取值为1,将频域数据中第i个目标位置的频域系数,修改为与频域系数距离最近的第二取值区间的中点值。
基于与步骤2031-41相同的原理,当水印数据取值为1时,将频域系数对应的修改为第二取值范围内的中点值。
步骤2032,重复上述步骤修改频域数据中在k个目标位置的频域系数得到水印频域数据。
示例性的,计算机设备根据上述修改频域系数的方法,对应的根据每个比特位的水印数据修改频域数据中的频域系数,得到嵌入水印的水印频域数据。
综上所述,本实施例提供的方法,根据水印数据所占的数据量(比特),对应的在频域数据中指定k个目标位置,然后根据水印数据来更改这k个目标位置里的频域系数,进而实现将水印数据嵌入到频域数据中。示例性的,k个目标位置可以是k个像素点,即,一个水印数据对应一个像素点(矩阵位置),根据水印数据对应更改k个像素点对应的频域系数,从而在k个像素点上嵌入水印数据。示例性的,目标位置的指定可以通过指定第一个像素点的位置,然后根据步长确定下一个水印数据对应的像素点的位置,从而确定k比特水印数据对应的k个像素点的位置。示例性的,若每个目标位置包括多个像素点,则在提取水印数据时,还可以根据在目标位置提取出的多个水印数据中占多数的水印数据,来确定目标位置所对应的比特位的水印数据,进一步提高水印的鲁棒性。
本实施例提供的方法,通过将水印数据转换为二进制数据,然后将频域系数的取值范围划分为多个区间,0对应一部分区间,1对应一部分区间,如果该目标位置内应该嵌入的水印数据为0,则将该目标位置内的频域系数调整到0对应的区间内,如果该目标位置内应该嵌入的水印数据是1,则将该目标位置内的频域系数调整到1对应的区间内,如此就可以根据频域系数的取值来确定频域系数对应的水印数据,从而实现将水印数据嵌入到图像中。
本实施例提供的方法,通过利用取值范围步长将频域系数的取值范围划分为多个区间,一个区间对应一个二进制数(0或1),然后使0和1对应的区间交错分布。如此,在嵌入水印数据时,可以根据水印数据(0或1)就近调整到对应的区间内。例如,取值范围步长为1000,则0-1000、2000-3000、4000-5000……对应0,1000-2000、3000-4000、5000-6000……对应1。
示例性的,从视频数据中提取出的原始图像帧的数据格式为RGB格式,为了进一步减少水印数据对视频数据画面的影响,会将RGB格式转换为YCrCb格式,在该格式Cb通道的数据中嵌入水印数据。
图9示出了本申请一个示例性实施例提供的视频的水印添加方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。基于图2所示的示例性实施例,在步骤201之前还包括步骤301和步骤302,步骤205还包括步骤2051至步骤2053。
步骤301,对视频数据中的原始图像帧进行格式转换得到YCrCb格式的YCrCb原始图像帧。
示例性的,计算机设备将视频数据进行分帧处理,得到视频数据的原始图像帧。示例性的,视频数据的原始图像帧为RGB格式,即,图像中的一个像素点对应有在R通道、G通道和B通道的三个数值。计算机设备还会将RGB格式转换为YCrCb格式得到YCrCb原始图像帧。即,图像中的一个像素点对应有在Y通道、Cb通道和Cr通道的三个数值。
示例性的,RGB格式与YCrCb格式的格式转换可以通过如下的公式完成:
Y=0.257*R+0.504*G+0.098*B+16;
Cb=-0.148*R-0.291*G+0.439*B+128;
Cr=0.439*R-0.368*G-0.071*B+128。
步骤302,将YCrCb原始图像帧中Cb通道的图像数据确定为目标图像帧。
示例性的,Cb通道反映的是RGB图像中蓝色部分与RGB图像亮度值之间的差异,一般地,修改Cb通道的数据在肉眼上会比较难地让人识别出来。
示例性的,计算机设备还会将Cb通道的数据由整型转化成浮点型,然后我们对浮点型Cb通道的数据(目标图像帧)进行离散余弦变换。即,目标图像帧是浮点型数据。
步骤2051,将水印图像帧与YCrCb原始图像帧中Y通道和Cr通道的图像数据合成YCrCb水印图像帧。
示例性的,计算机设备在目标图像帧中嵌入水印数据得到水印图像帧后,水印图像帧为Cb通道数据。因此,计算机设备还会将水印图像帧与原始的Y通道和Cr通道的图像数据合成完整的图像(YCrCb水印图像帧)。
示例性的,也可以将YCrCb原始图像帧中Y通道的图像数据确定为目标图像帧;或,YCrCb原始图像帧中Cr通道的图像数据确定为目标图像帧。
示例性的,也可以不进行步骤301,直接将原始图像帧(RGB格式)中的R通道的图像数据确定为目标图像帧;或,将原始图像帧(RGB格式)中的G通道的图像数据确定为目标图像帧;将原始图像帧(RGB格式)中的B通道的图像数据确定为目标图像帧。
步骤2052,对YCrCb水印图像帧进行格式转换得到RGB格式的RGB水印图像帧。
示例性的,YCrCb格式与RGB格式的格式转换可以通过如下的公式完成:
R=1.164*(Y-16)+1.596*(Cr-128);
G=1.164*(Y-16)-0.813*(Cr-128)-0.392*(Cb-128);
B=1.164*(Y-16)+2.017*(Cb-128)。
步骤2053,根据RGB水印图像帧合成水印视频数据。
示例性的,计算机设备在将YCrCb水印图像帧转换回RGB格式后,根据RGB格式的RGB水印图像帧合成水印视频数据。
综上所述,本实施例提供的方法,通过将视频数据中提取出来的原始图像由RGB格式转换为YCrCb格式,在YCrCb格式中提取Cb通道的图像数据进行处理,进一步减少水印数据对图像整体的影响,提高水印的隐藏性。
图10示出了本申请一个示例性实施例提供的视频的水印提取方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
步骤401,获取水印视频数据中的水印图像帧。
示例性的,若水印视频数据中全部的图像帧都嵌入了水印数据,则水印图像帧是水印视频数据的全部图像帧。
示例性的,若水印视频数据中只有部分图像帧嵌入了水印数据,则计算机设备可以根据嵌入时选择图像帧的方法从水印视频数据中选出水印图像帧。例如,在嵌入时,是隔一帧图像嵌入一个水印数据,则在提取时,隔一帧图像提取一帧图像作为水印图像帧。示例性的,如果嵌入水印数据的图像帧数量较多,也可以根据水印提取方法对每一帧图像都提取水印,然后将提取出的水印数据中,占多数的水印数据确定为最终的水印数据。
步骤402,对水印图像帧进行时频转换得到水印频域数据,水印频域数据包括由频域系数组成的矩阵。
示例性的,与水印嵌入方法相对应,在水印提取时,依旧是从水印图像帧的频域数据中,提取出水印数据。因此,对水印图像帧进行时频转换得到水印频域数据。示例性的,时频转换包括离散余弦变换,离散余弦变换的公式可以参照上文所提供的公式。
步骤403,根据水印频域数据中的频域系数提取水印数据。
示例性的,根据水印嵌入方法对频域系数的修改方式,从水印频域数据中提取出水印数据。
示例性的,如图11所示,给出了一种提取水印数据的方法,步骤403还包括步骤4031和步骤4032。
步骤4031,根据水印频域数据中位于第i个目标位置的频域系数,确定水印数据在第i个比特位的取值,第i个目标位置是在矩阵中与第i个比特位相对应的矩阵位置,i为小于或等于k的正整数。
示例性的,水印数据占用k比特位,k为正整数。
示例性的,根据上述水印嵌入方法,水印数据的每个比特位在水印频域数据中都对应有一个目标位置,在水印提取时,可以根据水印频域数据在目标位置的频域系数的取值来确定该比特位的水印数据。
示例性的,如图12所示,给出了一种提取水印数据的方法,步骤4031还包括步骤4031-1。
步骤4031-1,根据水印频域数据中位于第i个目标位置的频域系数所在的取值范围,确定水印数据在第i个比特位的取值。
示例性的,水印数据为二进制数据,其中,取值范围是根据取值范围步长确定的,取值范围包括第一取值范围和第二取值范围,第一取值范围对应的水印数据的取值为0,第二取值范围对应的水印数据的取值为1。
以图7所示的取值范围为例,例如,在第1个目标位置的频域系数为800,则第1目标位置的频域系数落入了第一取值区间604,第一取值区间604对应0,则第一比特位的水印数据取值为0。
步骤4032,重复上述步骤得到水印数据在k个比特位的取值。
因此,计算机设备根据水印数据每个比特位在频域数据中对应的目标位置的频域系数,可以确定出水印数据在每个比特位的取值。
示例性的,如果水印数据是由英文转换为二进制的,也可以根据得到的二进制水印数据逆推得到初始的英文。
示例性的,由于在嵌入水印数据时,是对Cb通道的数据进行嵌入的,因此,在提取水印数据时,也是对Cb通道的数据进行提取,如图11所示,在步骤401之前还包括步骤501和步骤502。
步骤501,对水印视频数据中的RGB水印图像帧进行格式转换得到YCrCb格式的YCrCb水印图像帧。
示例性的,计算机设备从水印视频数据中提取出嵌入水印数据的RGB水印图像帧,然后将RGB水印图像帧转换为YCrCb格式的YCrCb水印图像帧。
步骤502,将YCrCb水印图像帧中Cb通道的图像数据确定为水印图像帧。
计算机设备对Cb通道的图像数据进行离散余弦变换。示例性的,计算机设备还会将Cb通道的数据从整型变为浮点型,然后对浮点型的Cb通道数据进行离散余弦变换。即,水印图像帧为浮点型数据。
示例性的,水印视频数据中至少两帧图像被嵌入了水印数据,因此,如图11所示,步骤403之后还包括步骤404和步骤405。
步骤404,遍历水印视频数据中的至少两个水印图像帧提取至少两个水印数据。
由于水印视频数据中包括多个水印图像帧,因此,计算机设备遍历每一个水印图像帧可以得到多个水印数据。
步骤405,依据多数原则,根据至少两个水印数据确定最终水印数据。
示例性的,对于得到的多个水印数据,可以依据多数原则,根据每个比特位的多个取值,从多个取值中选举出一个出现次数最多的数值,作为该比特位的最终水印数据。
示例性的,对于得到的多个水印数据,也可以依据多数原则,将出现次数最多的水印数据作为最终水印数据。例如,得到的多个水印数据为“0100”、“0101”、“0111”、“0100”、“0100”,其中“0100”的次数为3次,则最终水印数据为“0100”。
示例性的,给出一种依据多数原则提取最终水印数据的方法,如图12所示,步骤405还包括步骤4051和步骤4052。
步骤4051,将至少两个水印数据中在第j个比特位的取值次数最多的数值,确定为最终水印数据在第j个比特位的取值,j为小于或等于k的正整数。
示例性的,水印数据占用k比特位,k为正整数。
示例性的,多数原则是指,对于一组数据,在该组数据中占比最大的数值会被选举出作为最终的数值。例如,得到的多个水印数据为“0100”、“0101”、“0111”、“0100”、“0100”,在第一比特位的数值分别为0、0、0、0、0,则最终水印数据在第一比特位的取值为0;在第二比特位的数值分别为1、1、1、1、1,则最终水印数据在第二比特位的取值为1;在第三比特位的数值分别为0、0、1、0、0,则最终水印数据在第三比特位的取值为0;在第四比特位的数值分别为0、1、1、0、0,则最终水印数据在第四比特位的取值为0;则最终得到的最终水印数据为“0100”。
步骤4052,重复上述步骤得到最终水印数据在k个比特位的取值。
示例性的,根据上述方法,计算机设备可以依次确认最终水印数据在k个比特位的取值。
综上所述,本实施例提供的方法,在提取水印数据时,通过对视频数据中的水印图像数据做时频转换,得到频域数据,然后从频域数据中提取验证水印数据。由于一个视频数据包括多帧水印图像数据,也就可以提取到多个验证水印数据,根据多数原则,将验证水印数据每一位数据中占多数的取值确定为水印数据在该位的取值,然后获得水印数据,进而提高水印的鲁棒性。
示例性的,如图13所示,给出一种视频的水印添加方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
首先,对于原始视频701进行分帧处理702得到原始图像帧,然后对原始图像帧进行格式转换703:由RGB格式转为YCrCb格式,得到YcrCb原始图像帧,再从YcrCb原始图像帧中提取Cb通道的图像数据作为目标图像帧。然后对目标图像帧进行DCT处理704得到目标图像帧的目标频域数据。对于水印705,首先进行二进制转换706得到水印的二进制字符串。然后,将水印的二进制字符串嵌入到目标频域数据中得到水印频域数据。对水印频域数据进行逆DCT处理708得到水印图像帧,对水印图像帧进行逆格式转换709:由YCrCb格式转为RGB格式,得到RGB水印图像帧710。然后根据RGB水印图像帧710来合成水印视频711。
示例性的,如图13所示,给出另一种视频的水印添加方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
步骤801,计算机设备获取水印输入数据。示例性的,计算机设备接收输入的水印数据。
步骤802,计算机设备校验水印数据是否合法。例如,水印数据中是否存在敏感词汇,或,水印数据是否超出了最大字数,或,水印数据中是否包含了不可使用的字符等等。
步骤803,若水印数据合法,则计算机设备加载视频文件(视频数据)。若水印数据不合法,则结束。示例性的,若水印数据不合法,计算机设备也可以显示对应的提示信息来提示用户重新输入水印数据。
步骤804,计算机设备将视频数据的图像帧从RGB格式转换为YCrCb格式。
步骤805,计算机设备对YCrCb格式的图像帧中的Cb通道的图像数据进行离散余弦变换得到目标频域数据。
步骤806,计算机设备将水印数据转换为二进制得到01串(二进制的字符串)。
步骤807,计算机设备根据量化调制索引修改目标频域数据得到水印频域数据。
步骤808,计算机设备对水印频域数据进行逆离散余弦变换得到水印图像帧。
步骤809,计算机设备将水印图像帧从YCrCb格式转换为RGB格式,得到RGB水印图像帧。
步骤810,计算机设备将RGB水印图像帧写入到新的视频文件中,合成水印视频数据。
示例性的,如图13所示,给出另一种视频的水印添加方法的时序图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
示例性的,该计算机设备包括水印数据模块、视频模块、帧数据模块和水印嵌入模块。示例性的,本实施例仅以该模块划分方式为例对上述视频的水印添加方法进行说明,可选地,也可以使用更多或更少的模块来实现上述视频的水印添加方法。
步骤901,视频模块使用Opencv加载视频文件,读取视频参数数据。
示例性的,本实施例使用Opencv来实现视频的水印添加方法。Opencv是一个基于BSD(Berkeley Software Distribution,伯克利软件套件)许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
步骤902,视频模块存储视频的帧率、帧数、编码格式、宽度、高度。
步骤903,视频模块以相同参数生成新视频文件(视频数据)。
步骤904,帧数据模块遍历视频中的每一帧数据(目标图像帧),进行处理。
步骤905,帧数据模块获取到当前帧数据后,帧数据默认是RGB格式,先将帧数据由RGB格式转化成YCrCb格式,得到YCrCb数据帧。
步骤906,帧数据模块提取YCrCb数据帧中的蓝色通道数据Cb。
步骤907,帧数据模块将蓝色数据通道Cb由整型转化成浮点型数据进行表达。
步骤908,帧数据模块对蓝色数据通道Cb帧进行离散余弦变换,得到Cb分量上的频谱域数据。
步骤909,水印嵌入模块从水印数据模块读取水印数据,对嵌入的水印数据进行检查,统一转换成大写的26位英文字母。
示例性的,水印数据存储在水印数据模块,当需要往视频文件中嵌入水印时,水印嵌入模块从水印数据模块获取水印数据,并检查水印数据的合法性。例如,检查水印数据中是否存在非法字符,水印数据中是否存在敏感词汇等。
若水印数据合法,当水印数据为汉字时,将水印数据转换为26位英文字母,以便于后面步骤将英文字母转换为数字,从而得到二进制的水印数据。
步骤910,水印嵌入模块对于每个字母使用1~26进行表达得到数字水印数据。
示例性的,数字1-26分别对应26个英文字母,水印嵌入模块将步骤909中转换得到的英文字母的水印数据再转换为十进制的数字。
例如,水印数据是“TENCENT”,则用1-26来对其进行表达可以得到7个十进制数:20、5、14、3、5、14、20。
步骤911,水印嵌入模块将十进制的数字水印数据转化成二进制的01串(二进制的字符串)。
例如,将上一步得到的7个十进制数:20、5、14、3、5、14、20,转化为二进制可以得到01串:10100 00101 01110 00011 00101 01110 10100。
步骤912,水印嵌入模块从帧数据模块读取频谱域数据,在频谱域数据里进行水印数据嵌入。
示例性的,水印嵌入模块确定水印数据每个比特位在频谱域数据中对应的目标位置,根据水印数据在该比特位的数值修改目标位置的频域系数。
例如,水印数据的01串为0011,则水印数据有四个比特位,每个比特位一个字符。示例性的,以频谱域数据(4,4)矩阵位置为第一个比特位对应的目标位置,以步长3来确定下一个比特位对应的目标位置,则在频谱域数据矩阵坐标(4,4)位置进行水印数据的第一个字符的0的嵌入,在频谱域数据矩阵坐标(7,4)位置进行水印数据的第二个字符的0的嵌入,在频谱域数据矩阵坐标(10,4)位置进行水印数据的第三个字符的1的嵌入,在频谱域数据矩阵坐标(13,4)位置进行水印数据的第四个字符的1的嵌入。
步骤913,水印嵌入模块根据步长、起始位置(4,4)位置计算得到每个水印数据的比特位所对应的目标位置。
步骤914,水印嵌入模块在不同的目标位置嵌入水印数据的0,1数值。
示例性的,水印嵌入模块将目标位置的频域系数调整至水印数据所对应的取值范围内,从而实现水印数据的嵌入。
例如,水印数据0对应的取值范围为0-1000,水印数据1对应的取值范围为1000-2000。如果要在频谱域数据的(4,4)矩阵位置嵌入水印数据0,则需要将该矩阵位置的频域系数调整到0-1000范围内,假设(4,4)矩阵位置原本的频域系数为1200,则通过将频域系数修改为500;来实现在(4,4)矩阵位置嵌入水印数据0。对应地,在提取水印数据时,根据(4,4)位置的频域系数500,可以知道500位于0对应的1-1000的取值范围内,则该位置嵌入的水印数据为0。
步骤915,水印嵌入模块对嵌入好水印数据的频谱域数据帧进行逆离散余弦变换得到水印数据帧。
在将水印数据嵌入到频谱域数据中后,得到了根据水印数据修改后的频谱域数据,然后根据修改后的频谱域数据进行逆离散余弦变换,重新得到空域数据(像素值数据),从而可以根据空域数据(Cb通道的图像数据)来与其他通道的数据重新合成水印图像。
步骤916,水印嵌入模块将逆离散余弦变换得到水印数据帧由浮点型转化成整型,得到整型水印数据帧。
步骤917,帧数据模块将整型水印数据帧与原数据帧Y通道、Cr通道合并,生成新的数据帧(YCrCb数据帧)。
步骤918,帧数据模块将YCrCb数据帧转换成RGB数据帧。
步骤919,帧数据模块把新数据帧(RGB数据帧)写入到新的视频文件中。
然后重复步骤904至步骤919的过程,直到视频文件中的所有数据帧处理完成。
步骤920,视频模块生成包含水印数据的新视频文件。
示例性的,也可以使用上述任一实施例提供的视频的水印添加方法为图片文件添加水印,即,对单帧的图片添加水印数据,得到水印图片。
示例性的,如图16所示,给出一种视频的水印提取方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
步骤1001,计算机设备加载视频文件(水印视频数据)。
步骤1002,计算机设备读取视频文件的帧数据(RGB水印图像帧)。
步骤1003,计算机设备将帧数据转化为YCrCb格式,得到YCrCb水印图像帧。
步骤1004,计算机设备从YCrCb水印图像帧中抽取Cb通道数据作为水印图像帧。
步骤1005,计算机设备将水印图像帧进行离散余弦变换得到水印频域数据,并从水印数据每个比特位所对应的目标位置上提取水印数据。
步骤1006,计算机设备统计用多帧水印图像帧提取得到的多个水印数据,根据每个比特位01出现的次数确定最终水印数据。
步骤1007,计算机设备将最终水印数据转化为字母水印数据。
示例性的,如图17所示,给出另一种视频的水印提取方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括:
示例性的,该计算机设备包括视频模块、帧数据模块和水印提取模块。示例性的,本实施例仅以该模块划分方式为例对上述视频的水印提取方法进行说明,可选地,也可以使用更多或更少的模块来实现上述视频的水印提取方法。
步骤1101,视频模块使用Opencv加载视频文件,按帧读取帧数据(RGB水印图像帧)。
步骤1102,帧数据模块获取当前帧数据。
示例性的,帧数据模块逐一获取视频文件中的每一帧的帧数据,对每一帧的帧数据逐一提取水印数据。
步骤1103,将帧数据由RGB格式转化成YCrCb格式。
示例性的,步骤1102获取的当前帧数据默认是RGB格式。
示例性的,帧数据模块从第一帧数据开始,逐一处理视频文件的所有帧数据。
步骤1104,帧数据模块提取YCrCb数据帧中的蓝色通道数据Cb。
步骤1105,帧数据模块将蓝色数据通道Cb由整型转化成浮点型数据进行表达。
步骤1106,帧数据模块对蓝色数据通道Cb进行离散余弦变换,得到Cb分量上的频谱域数据。
步骤1107,水印提取模块按照嵌入水印数据时对应的位置,通过量化调制索引计算水印数据在每个比特位的取值。
量化调制索引算法的主要思想是:根据水印数据,把目标频域数据(频域系数)用量化器量化到不同的索引区间(取值范围)。在水印提取时再根据水印频域数据(频域系数)所属的索引区间来识别出水印数据。
示例性的,水印提取模块按照嵌入水印数据时的目标位置,根据频谱域数据在目标位置的频域系数确定该目标位置对应的水印数据的取值,进而提取出水印数据。
步骤1108,水印提取模块对每一帧帧数据进行计算,提取所有帧数据的水印数据。
步骤1109,水印提取模块统计每一个比特位上的数据,分别统计0和1出现的次数。
例如,水印提取模块共提取出了3个水印数据,分别为:01、10、11。则水印数据共有两个比特位,对于第一个比特位,统计三个水印数据在第一个比特位的取值,分别为:0、1、1,则0的出现次数为1次,1的出现次数为2次;统计三个水印数据在第二个比特位的取值,分别为:1、0、1,则0的出现次数为1次,1的出现次数为2次。
步骤1110,水印提取模块通过选举在每个位置上选择出现次数最多的0或者是1,并生成最终的01串。
例如,按照步骤1108的距离,在第一个比特位1的出现次数最多,则水印数据在第一个比特位的取值为1;在第二个比特位,也是1的出现次数最多,则水印数据在第二个比特位的取值为1。由此可以得到最终的水印数据为11。
步骤1111,水印提取模块解析01串得到字母水印数据。
步骤1109中提取出的水印数据为二进制数据,水印提取模块可以根据该二进制数据将其还原为英文字母。
例如,二进制水印数据为“10100 00101 01110 00011 00101 01110 10100”,每五个二进制数据代表一个十进制数据,则将其转换为十进制数据可以得到“20,5,14,3,5,14,20”,再根据数字1-26与26个字母的对应关系,可以得到英文“TENCENT”,由此,就可以得到初始的水印数据“TENCENT”。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图18示出了本申请的一个示例性实施例提供的视频的水印添加装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置包括:
第一视频模块1201,用于获取视频数据中的目标图像帧;
第一帧数据模块1202,用于对所述目标图像帧进行时频转换得到目标频域数据,所述目标频域数据包括由频域系数组成的矩阵;
水印嵌入模块1203,用于根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;
所述水印嵌入模块1203,还用于对所述水印频域数据进行时频逆转换得到水印图像帧;
所述第一视频模块1201,还用于根据所述水印图像帧合成水印视频数据。
在一个可选的实施例中,所述水印数据占用k比特位,k为正整数;
所述水印嵌入模块1203,还用于根据所述水印数据的第i个比特位的取值,修改所述频域数据中第i个目标位置的所述频域系数,所述第i个目标位置是在所述矩阵中与所述第i个比特位相对应的矩阵位置,i为小于或等于k的正整数;
所述水印嵌入模块1203,还用于重复上述步骤修改所述频域数据中在k个目标位置的所述频域系数得到所述水印频域数据。
在一个可选的实施例中,所述水印数据为二进制数据;
所述水印嵌入模块1203,还用于根据取值范围步长确定所述二进制数据中0对应的所述频域系数的第一取值范围,以及所述二进制数据中1对应的所述频域系数的第二取值范围;
所述水印嵌入模块1203,还用于响应于所述水印数据中第i个比特位的取值为0,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改至所述第一取值范围中的一个取值,i为小于或等于k的正整数;
所述水印嵌入模块1203,还用于响应于所述水印数据中第i个比特位的取值为1,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改至所述第二取值范围中的一个取值。
在一个可选的实施例中,所述第一取值范围包括至少一个第一取值区间,所述第二取值范围包括至少一个第二取值区间,所述第一取值区间和所述第二取值区间的区间长度等于所述取值范围步长;
所述水印嵌入模块1203,还用于响应于所述水印数据中第i个比特位的取值为0,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改为与所述频域系数距离最近的所述第一取值区间的中点值,i为小于或等于k的正整数;
所述水印嵌入模块1203,还用于响应于所述水印数据中第i个比特位的取值为1,将所述频域数据中第i个目标位置的所述频域系数,修改为与所述频域系数距离最近的所述第二取值区间的中点值。
在一个可选的实施例中,所述第一帧数据模块1202,还用于对所述视频数据中的原始图像帧进行格式转换得到YCrCb格式的YCrCb原始图像帧;
所述第一帧数据模块1202,还用于将所述YCrCb原始图像帧中Cb通道的图像数据确定为所述目标图像帧。
在一个可选的实施例中,所述原始图像帧为RGB格式的图像数据;
所述第一帧数据模块1202,还用于将所述水印图像帧与所述YCrCb原始图像帧中Y通道和Cr通道的图像数据合成YCrCb水印图像帧;
所述帧数据模块,还用于还用于对所述YCrCb水印图像帧进行格式转换得到RGB格式的RGB水印图像帧;
所述第一视频模块1201,还用于根据所述RGB水印图像帧合成所述水印视频数据。
图19示出了本申请的一个示例性实施例提供的视频的水印添加装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为计算机设备的全部或一部分,该装置包括:
第二视频模块1301,用于获取水印视频数据中的水印图像帧;
第二帧数据模块1302,用于对所述水印图像帧进行时频转换得到水印频域数据,所述水印频域数据包括由频域系数组成的矩阵;
水印提取模块1303,用于根据所述水印频域数据中的所述频域系数提取水印数据。
在一个可选的实施例中,所述水印数据占用k比特位,k为正整数;
所述水印提取模块1303,还用于根据所述水印频域数据中位于第i个目标位置的所述频域系数,确定所述水印数据在第i个比特位的取值,所述第i个目标位置是在所述矩阵中与所述第i个比特位相对应的矩阵位置,i为小于或等于k的正整数;
所述水印提取模块1303,还用于重复上述步骤得到所述水印数据在所述k个比特位的取值。
在一个可选的实施例中,所述水印数据为二进制数据;
所述水印提取模块1303,还用于根据所述水印频域数据中位于第i个目标位置的所述频域系数所在的取值范围,确定所述水印数据在第i个比特位的取值;
其中,所述取值范围是根据取值范围步长确定的,所述取值范围包括第一取值范围和第二取值范围,所述第一取值范围对应的所述水印数据的取值为0,所述第二取值范围对应的所述水印数据的取值为1。
在一个可选的实施例中,所述水印提取模块1303,还用于遍历所述水印视频数据中的至少两个所述水印图像帧提取至少两个所述水印数据;
所述水印提取模块1303,还用于依据多数原则,根据至少两个所述水印数据确定最终水印数据。
在一个可选的实施例中,所述水印数据占用k比特位,k为正整数;
所述水印提取模块1303,还用于将至少两个所述水印数据中在第j个比特位的取值次数最多的数值,确定为所述最终水印数据在第j个比特位的取值,j为小于或等于k的正整数;
所述水印提取模块1303,还用于重复上述步骤得到所述最终水印数据在所述k个比特位的取值。
在一个可选的实施例中,所述帧数据模块,还用于对所述水印视频数据中的RGB水印图像帧进行格式转换得到YCrCb格式的YCrCb水印图像帧;
所述帧数据模块,还用于将所述YCrCb水印图像帧中Cb通道的图像数据确定为所述水印图像帧。
图20是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1600包括中央处理单元(英文:Central Processing Unit,简称:CPU)1601、包括随机存取存储器(英文:Random Access Memory,简称:RAM)1602和只读存储器(英文:Read-Only Memory,简称:ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。服务器1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标、键盘之类的输入设备1609。其中显示器1608和输入设备1609都通过连接到系统总线1605的输入/输出控制器1610连接到中央处理单元1601。基本输入/输出系统1606还可以包括输入/输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。大容量存储设备1607及其相关联的计算机可读介质为服务器1600提供非易失性存储。也就是说,大容量存储设备1607可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
根据本申请的各种实施例,服务器1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1600可以通过连接在系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的视频的水印添加和提取方法。需要说明的是,该终端可以是如下图21所提供的终端。
图21示出了本申请一个示例性实施例提供的终端1700的结构框图。该终端1700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的视频的水印添加和提取方法。
在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备包括:射频电路1704、触摸显示屏1705、摄像头组件1706、音频电路1707、定位组件1708和电源1709中的至少一种。
外围设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图21中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的视频的水印添加和提取方法。
本申请还提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的视频的水印添加方法。
本申请还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的视频的水印添加方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的视频的水印添加方法。
本申请还提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的视频的水印提取方法。
本申请还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的视频的水印提取方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的视频的水印提取方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种视频的水印添加方法,其特征在于,所述方法包括:
对视频数据中的原始图像帧进行格式转换得到YCrCb格式的YCrCb原始图像帧;
将所述YCrCb原始图像帧中Cb通道的图像数据由整型转化成浮点型,对目标图像帧进行时频转换得到目标频域数据,所述目标图像帧包括浮点型的所述Cb通道的图像数据,所述目标频域数据包括由频域系数组成的矩阵;
根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;
对所述水印频域数据进行时频逆转换得到水印图像帧;
将所述水印图像帧与所述YCrCb原始图像帧中Y通道和Cr通道的图像数据合成YCrCb水印图像帧;
对所述YCrCb水印图像帧进行格式转换得到RGB格式的水印图像帧;
根据所述水印图像帧合成水印视频数据。
2.根据权利要求1所述的方法,其特征在于,所述水印数据占用k比特位,k为正整数;
所述根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据,包括:
根据所述水印数据的第i个比特位的取值,修改所述频域数据中第i个目标位置的所述频域系数,所述第i个目标位置是在所述矩阵中与所述第i个比特位相对应的矩阵位置,i为小于或等于k的正整数;
重复上述步骤修改所述频域数据中在k个目标位置的所述频域系数得到所述水印频域数据。
3.根据权利要求2所述的方法,其特征在于,所述水印数据为二进制数据;
所述根据所述水印数据的第i个比特位的取值,修改所述频域数据中第i个目标位置的所述频域系数,包括:
根据取值范围步长确定所述二进制数据中0对应的所述频域系数的第一取值范围,以及所述二进制数据中1对应的所述频域系数的第二取值范围;
响应于所述水印数据中第i个比特位的取值为0,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改至所述第一取值范围中的一个取值,i为小于或等于k的正整数;
响应于所述水印数据中第i个比特位的取值为1,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改至所述第二取值范围中的一个取值。
4.根据权利要求3所述的方法,其特征在于,所述第一取值范围包括至少一个第一取值区间,所述第二取值范围包括至少一个第二取值区间,所述第一取值区间和所述第二取值区间的区间长度等于所述取值范围步长;
所述响应于所述水印数据中第i个比特位的取值为0,将所述频域数据中第i个目标位置的所述频域系数,修改至所述第一取值范围中的一个取值,包括:
响应于所述水印数据中第i个比特位的取值为0,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改为与所述频域系数距离最近的所述第一取值区间的中点值,i为小于或等于k的正整数;
所述响应于所述水印数据中第i个比特位的取值为1,将所述频域数据中位于所述第i个目标位置的所述频域系数,修改至所述第二取值范围中的一个取值,包括:
响应于所述水印数据中第i个比特位的取值为1,将所述频域数据中第i个目标位置的所述频域系数,修改为与所述频域系数距离最近的所述第二取值区间的中点值。
5.一种视频的水印提取方法,其特征在于,所述方法包括:
对水印视频数据中的RGB水印图像帧进行格式转换得到YCrCb格式的YCrCb水印图像帧;
将所述YCrCb水印图像帧中Cb通道的图像数据从整型变为浮点型,将浮点型的所述Cb通道的图像数据确定为水印图像帧;
对所述水印图像帧进行时频转换得到水印频域数据,所述水印频域数据包括由频域系数组成的矩阵;
根据所述水印频域数据中的所述频域系数提取水印数据。
6.根据权利要求5所述的方法,其特征在于,所述水印数据占用k比特位,k为正整数;
所述根据所述水印频域数据中的所述频域系数提取水印数据,包括:
根据所述水印频域数据中位于第i个目标位置的所述频域系数,确定所述水印数据在第i个比特位的取值,所述第i个目标位置是在所述矩阵中与所述第i个比特位相对应的矩阵位置,i为小于或等于k的正整数;
重复上述步骤得到所述水印数据在所述k个比特位的取值。
7.根据权利要求6所述的方法,其特征在于,所述水印数据为二进制数据;
所述根据所述水印频域数据中位于第i个目标位置的所述频域系数,确定所述水印数据在第i个比特位的取值,包括:
根据所述水印频域数据中位于第i个目标位置的所述频域系数所在的取值范围,确定所述水印数据在第i个比特位的取值;
其中,所述取值范围是根据取值范围步长确定的,所述取值范围包括第一取值范围和第二取值范围,所述第一取值范围对应的所述水印数据的取值为0,所述第二取值范围对应的所述水印数据的取值为1。
8.根据权利要求5至7任一所述的方法,其特征在于,所述方法还包括:
遍历所述水印视频数据中的至少两个所述水印图像帧提取至少两个所述水印数据;
依据多数原则,根据至少两个所述水印数据确定最终水印数据。
9.根据权利要求8所述的方法,其特征在于,所述水印数据占用k比特位,k为正整数;
所述依据多数原则,根据至少两个所述水印数据确定最终水印数据,包括:
将至少两个所述水印数据中在第j个比特位的取值次数最多的数值,确定为所述最终水印数据在第j个比特位的取值,j为小于或等于k的正整数;
重复上述步骤得到所述最终水印数据在所述k个比特位的取值。
10.一种视频的水印添加装置,其特征在于,所述装置包括:
对视频数据中的原始图像帧进行格式转换得到YCrCb格式的YCrCb原始图像帧的模块;
第一帧数据模块,用于将所述YCrCb原始图像帧中Cb通道的图像数据由整型转化成浮点型,对所述目标图像帧进行时频转换得到目标频域数据,所述目标频域数据包括由频域系数组成的矩阵;
水印嵌入模块,用于根据水印数据修改所述目标频域数据中的所述频域系数,得到水印频域数据;
所述水印嵌入模块,还用于对所述水印频域数据进行时频逆转换得到水印图像帧;
将所述水印图像帧与所述YCrCb原始图像帧中Y通道和Cr通道的图像数据合成YCrCb水印图像帧的模块;
对所述YCrCb水印图像帧进行格式转换得到RGB格式的水印图像帧的模块;
第一视频模块,还用于根据所述水印图像帧合成水印视频数据。
11.一种视频的水印提取装置,其特征在于,所述装置包括:
第二视频模块,用于对水印视频数据中的RGB水印图像帧进行格式转换得到YCrCb格式的YCrCb水印图像帧;
将所述YCrCb水印图像帧中Cb通道的图像数据从整型变为浮点型,将浮点型的所述Cb通道的图像数据确定为水印图像帧的模块;
第二帧数据模块,用于对所述水印图像帧进行时频转换得到水印频域数据,所述水印频域数据包括由频域系数组成的矩阵;
水印提取模块,用于根据所述水印频域数据中的所述频域系数提取水印数据。
12.一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行,以实现如权利要求1至4任一项所述的视频的水印添加方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至4任一项所述的视频的水印添加方法。
14.一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行,以实现如权利要求5至9任一项所述的视频的水印提取方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求5至9任一项所述的视频的水印提取方法。
CN202010906543.5A 2020-09-01 2020-09-01 视频的水印添加和提取方法、装置、设备及存储介质 Active CN112040337B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010906543.5A CN112040337B (zh) 2020-09-01 2020-09-01 视频的水印添加和提取方法、装置、设备及存储介质
PCT/CN2021/107107 WO2022048330A1 (zh) 2020-09-01 2021-07-19 视频的水印添加和提取方法、装置、设备及存储介质
US17/951,898 US20230008085A1 (en) 2020-09-01 2022-09-23 Method for embedding watermark in video data and apparatus, method for extracting watermark in video data and apparatus, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010906543.5A CN112040337B (zh) 2020-09-01 2020-09-01 视频的水印添加和提取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112040337A CN112040337A (zh) 2020-12-04
CN112040337B true CN112040337B (zh) 2022-04-15

Family

ID=73592158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010906543.5A Active CN112040337B (zh) 2020-09-01 2020-09-01 视频的水印添加和提取方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230008085A1 (zh)
CN (1) CN112040337B (zh)
WO (1) WO2022048330A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040337B (zh) * 2020-09-01 2022-04-15 腾讯科技(深圳)有限公司 视频的水印添加和提取方法、装置、设备及存储介质
CN114913565B (zh) * 2021-01-28 2023-11-17 腾讯科技(深圳)有限公司 人脸图像检测方法、模型训练方法、装置及存储介质
CN113379582A (zh) * 2021-05-13 2021-09-10 北京元讯通科技有限公司 一种信息添加方法、信息提取方法、装置和电子设备
CN115602179B (zh) * 2022-11-28 2023-03-24 腾讯科技(深圳)有限公司 音频水印处理方法、装置、计算机设备和存储介质
CN116703686B (zh) * 2023-08-01 2023-12-22 腾讯科技(深圳)有限公司 图像处理方法、装置、设备及存储介质
CN116992408B (zh) * 2023-09-25 2023-12-22 信智慧通科技(北京)有限公司 一种图形标识的水印处理方法及装置
CN117061768B (zh) * 2023-10-12 2024-01-30 腾讯科技(深圳)有限公司 视频水印处理方法、装置、电子设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385329B1 (en) * 2000-02-14 2002-05-07 Digimarc Corporation Wavelet domain watermarks
WO2001080169A1 (en) * 2000-04-17 2001-10-25 Digimarc Corporation Authentication of physical and electronic media objects using digital watermarks
KR100369306B1 (ko) * 2000-05-16 2003-02-26 주식회사 마크애니 컬러 이미지 워터마크를 이용한 디지털 오디오 워터마킹방법 및 장치
US7289053B2 (en) * 2003-08-18 2007-10-30 Speedark Ltd. Data conversion methods and systems
US8090146B2 (en) * 2009-01-15 2012-01-03 Google Inc. Image watermarking
CN102892048B (zh) * 2012-09-18 2015-05-06 天津大学 一种抗几何攻击的视频水印防伪方法
KR101785194B1 (ko) * 2016-02-29 2017-10-12 한국과학기술원 Dibr 3차원 영상을 위한 템플릿 기반 워터마킹 방법 및 장치
CN106131373A (zh) * 2016-06-21 2016-11-16 中国农业大学 基于小波和Radon变换的视频零水印实现方法及系统
CN106530205B (zh) * 2016-11-15 2020-01-10 北京鹏润鸿途科技股份有限公司 一种鲁棒性水印嵌入、检出方法及装置
US9959586B1 (en) * 2016-12-13 2018-05-01 GoAnimate, Inc. System, method, and computer program for encoding and decoding a unique signature in a video file as a set of watermarks
CN107181957A (zh) * 2017-04-28 2017-09-19 安徽四创电子股份有限公司 一种基于hadoop平台架构的视频水印溯源方法
CN107027055A (zh) * 2017-04-28 2017-08-08 安徽四创电子股份有限公司 一种基于水印技术的视频溯源及加密方法
CN109285121A (zh) * 2017-07-20 2019-01-29 北京凌云光子技术有限公司 一种Bayer图像还原方法
CN108040189B (zh) * 2017-11-02 2019-12-24 广州中山大学出版社有限公司 一种基于视频的数字水印实现方法
CN109064378A (zh) * 2018-07-25 2018-12-21 成都睿码科技有限责任公司 基于傅立叶变换的数字水印嵌入及提取方法
CN110971931A (zh) * 2018-09-30 2020-04-07 北京微播视界科技有限公司 视频水印添加方法、装置、电子设备及存储介质
CN111147864B (zh) * 2018-11-06 2022-07-05 京东科技控股股份有限公司 在图片中嵌入信息的方法和装置
CN109525900A (zh) * 2018-12-21 2019-03-26 广州华多网络科技有限公司 在视频中添加水印的方法、装置、终端及存储介质
US10757292B1 (en) * 2019-04-10 2020-08-25 Beyontech, Inc Method of embedding and extracting watermark data from original image adjusted with noise based image converted using watermark
CN111107370B (zh) * 2019-12-31 2022-04-19 银河互联网电视有限公司 视频水印的嵌入处理方法、装置、电子设备及存储介质
CN111340676A (zh) * 2020-02-17 2020-06-26 北京北信源软件股份有限公司 图像水印的嵌入方法、识别方法、装置及电子设备
CN112040337B (zh) * 2020-09-01 2022-04-15 腾讯科技(深圳)有限公司 视频的水印添加和提取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112040337A (zh) 2020-12-04
WO2022048330A1 (zh) 2022-03-10
US20230008085A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
CN112040337B (zh) 视频的水印添加和提取方法、装置、设备及存储介质
CN108594997B (zh) 手势骨架构建方法、装置、设备及存储介质
CN107945163B (zh) 图像增强方法及装置
CN110708552B (zh) 解码方法、编码方法及装置
CN111105337B (zh) 一种水印处理的方法、信息展示的方法以及相关装置
CN111461097A (zh) 识别图像信息的方法、装置、电子设备及介质
CN110991457B (zh) 二维码处理方法、装置、电子设备及存储介质
CN111932463A (zh) 图像处理方法、装置、设备及存储介质
WO2024016611A1 (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN110503159B (zh) 文字识别方法、装置、设备及介质
CN110572710B (zh) 视频生成方法、装置、设备及存储介质
Juarez-Sandoval et al. Digital image ownership authentication via camouflaged unseen-visible watermarking
CN111107357B (zh) 一种图像处理的方法、装置、系统及存储介质
Reed et al. Closed form non-iterative watermark embedding
CN111341329B (zh) 水印信息添加方法、提取方法、装置、设备及介质
CN113823296A (zh) 语音数据处理方法、装置、计算机设备及存储介质
CN113763931A (zh) 波形特征提取方法、装置、计算机设备及存储介质
CN115205164B (zh) 图像处理模型的训练方法、视频处理方法、装置及设备
CN113822955B (zh) 图像数据处理方法、装置、计算机设备及存储介质
EP4287110A1 (en) Method and device for correcting image on basis of compression quality of image in electronic device
WO2022068569A1 (zh) 水印检测方法、装置、计算机设备及存储介质
CN111698512B (zh) 视频处理方法、装置、设备及存储介质
WO2018092422A1 (ja) 画像処理装置および画像処理方法
CN116074512A (zh) 视频编码方法、装置、电子设备以及存储介质
CN115330610A (zh) 图像处理方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40034936

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant