CN114900700A - A motion vector histogram correction method and system for video steganography - Google Patents
A motion vector histogram correction method and system for video steganography Download PDFInfo
- Publication number
- CN114900700A CN114900700A CN202210462012.0A CN202210462012A CN114900700A CN 114900700 A CN114900700 A CN 114900700A CN 202210462012 A CN202210462012 A CN 202210462012A CN 114900700 A CN114900700 A CN 114900700A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- correction
- specific frame
- video
- dividing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种用于视频隐写的运动矢量直方图修正方法,包括如下步骤:选取预设特定帧,将特定帧划分为m个正方形区域;根据正方形区域内运动矢量值平均值、运动矢量方向角方差、平衡系数和特定帧内划分区域的个数m,获取修正函数;重复上述步骤直至获取特定帧所有的修正函数;将修正函数按预设比例分为n份,并按照预设顺序排序;根据修正函数的排序,获取修正参数;将运动矢量的水平分量与垂直分量作为一个嵌入对;根据嵌入对值与修正参数,划分嵌入对为多个集合;根据视频解码后所获取的运动矢量所在集合,提取相应信息,并修正运动矢量值。该方法可以有效提高以视频为载体隐写算法的嵌入容量和不可见性。
The invention provides a motion vector histogram correction method for video steganography, comprising the following steps: selecting a preset specific frame, and dividing the specific frame into m square areas; The vector direction angle variance, the balance coefficient and the number m of divided areas in a specific frame are obtained, and the correction function is obtained; the above steps are repeated until all the correction functions of the specific frame are obtained; the correction function is divided into n parts according to the preset ratio, and according to the preset Sort order; obtain correction parameters according to the sorting of the correction function; take the horizontal and vertical components of the motion vector as an embedded pair; divide the embedded pairs into multiple sets according to the value of the embedded pair and the correction parameters; The set where the motion vector is located, the corresponding information is extracted, and the value of the motion vector is corrected. This method can effectively improve the embedding capacity and invisibility of video-based steganography algorithms.
Description
技术领域technical field
本发明涉及数据加密技术领域,特别是涉及一种用于视频隐写的运动矢量直方图修正方法及系统。The invention relates to the technical field of data encryption, in particular to a motion vector histogram correction method and system for video steganography.
背景技术Background technique
当前信息已经成为了人们的一项重要资源,信息的传递对于人们的生活也更加重要。随着网络技术的发展和各类多媒体数据的普及,仅仅依靠密码技术已经无法完全满足当前数据保密通信的要求。为了进一步丰富保密通信的技术手段,信息隐藏技术应运而生,信息隐藏技术可以将秘密信息嵌入到可以公开的载体中,以此来对第三方隐藏秘密通信的行为。嵌入的载体可以为视频、图像、音频等,其中数字视频因为数据量大和编码结构较为复杂,以其为载体可嵌入的绝对信息量,隐写分析相对困难。同时随着短视频的流行,以视频为载体的信息隐藏技术在实际应用中具有良好的表现。At present, information has become an important resource for people, and the transmission of information is more important to people's lives. With the development of network technology and the popularization of various multimedia data, only relying on encryption technology can not fully meet the requirements of current data security communication. In order to further enrich the technical means of confidential communication, information hiding technology emerges as the times require. Information hiding technology can embed secret information into a carrier that can be disclosed, so as to hide the behavior of secret communication from third parties. The embedded carrier can be video, image, audio, etc. Among them, digital video has a large amount of data and a complex coding structure, and it is the absolute amount of information that can be embedded in the carrier, so steganalysis is relatively difficult. At the same time, with the popularity of short videos, the information hiding technology based on video has a good performance in practical applications.
由于视频结构较为复杂,编码后的运动矢量、DCT系数、帧间和帧内预测模式、数据的分块模式等均可作为信息的嵌入点。其中利用运动矢量和DCT系数嵌入信息是当前主流的方法。运动矢量数据具有独立较强、绝对数量多以及结构相对简单的特点,因此具有嵌入信息后安全性可控、嵌入容量大、嵌入速度快的特点。但对其修改后容易产生错误累积和运动偏移,从而较大的影响视频的视觉质量。Because the video structure is relatively complex, the encoded motion vectors, DCT coefficients, inter-frame and intra-frame prediction modes, and data block modes can all be used as information embedding points. Among them, the use of motion vectors and DCT coefficients to embed information is the current mainstream method. Motion vector data has the characteristics of strong independence, large absolute number and relatively simple structure, so it has the characteristics of controllable security, large embedding capacity and fast embedding speed after embedding information. However, it is prone to error accumulation and motion offset after modification, which greatly affects the visual quality of the video.
信息嵌入会降低视频视觉质量和视频统计特性,特别是当信息嵌入量过大时会对视频视觉质量产生较为严重影响,同时视频统计特性发生显著变化,影响隐蔽通信的安全性。其原因是信息嵌入时会较大的改变原有编码数据和结构引起的。Information embedding will reduce video visual quality and video statistical characteristics, especially when the amount of information embedding is too large, it will have a serious impact on video visual quality, and video statistical characteristics will change significantly, affecting the security of covert communication. The reason is that the original coded data and structure will be greatly changed when the information is embedded.
当隐写者在隐蔽通信中选择基于运动矢量的直方图修正算法时,大容量的直方图在设计上因为小值的运动矢量数量较多,往往会选择小值的运动矢量进行信息嵌入,导致视频视觉质量较差。当通信量较小,不再需要对过多的小值运动矢量进行信息嵌入时,也不能对直方图进行调整以提高视频视觉质量。When the steganographer chooses the motion vector-based histogram correction algorithm in covert communication, the large-capacity histogram is designed because the number of small-valued motion vectors is large, and the small-valued motion vectors are often selected for information embedding, resulting in Video visual quality is poor. When the amount of communication is small, and it is no longer necessary to embed too many small-valued motion vectors, the histogram cannot be adjusted to improve the visual quality of the video.
因此,提供一种可以有效提高以视频为载体隐写算法的嵌入容量和不可见性的一种用于视频隐写的运动矢量直方图修正方法及系统是本领域技术人员亟待解决的问题。Therefore, it is an urgent problem for those skilled in the art to provide a motion vector histogram correction method and system for video steganography that can effectively improve the embedding capacity and invisibility of the video-based steganography algorithm.
发明内容SUMMARY OF THE INVENTION
本发明的目的在于提供一种用于视频隐写的运动矢量直方图修正方法及系统,该方法逻辑清晰,安全、有效、可靠,且系统结构简单、操作简便,能有效的提高以视频为载体隐写算法的嵌入容量和不可见性进而提高隐写效率与隐蔽性。The purpose of the present invention is to provide a motion vector histogram correction method and system for video steganography, the method is clear in logic, safe, effective and reliable, and the system has a simple structure and simple operation, and can effectively improve the use of video as a carrier. The embedded capacity and invisibility of the steganography algorithm further improve the efficiency and concealment of steganography.
基于以上目的,本发明提供的技术方案如下:Based on the above purpose, the technical scheme provided by the present invention is as follows:
一种用于视频隐写的运动矢量直方图修正方法,包括如下步骤:A motion vector histogram correction method for video steganography, comprising the following steps:
选取预设特定帧,并将所述特定帧划分为m个正方形区域;Selecting a preset specific frame, and dividing the specific frame into m square areas;
根据所述正方形区域内运动矢量值平均值、运动矢量方向角方差、平衡系数和所述特定帧内划分区域的个数m,获取修正函数;Obtain a correction function according to the average value of the motion vector value in the square area, the variance of the direction angle of the motion vector, the balance coefficient and the number m of divided areas in the specific frame;
重复上述步骤直至获取所述特定帧所有的修正函数;Repeat the above steps until all correction functions of the specific frame are obtained;
将所述特定帧所有的修正函数按预设比例分为n份,并按照预设顺序排序;Divide all the correction functions of the specific frame into n parts according to a preset ratio, and sort them according to a preset order;
根据特定帧所有的修正函数的排序,获取修正参数;Obtain the correction parameters according to the order of all correction functions in a specific frame;
将所述运动矢量的水平分量与垂直分量作为一个嵌入对;Using the horizontal component and the vertical component of the motion vector as an embedded pair;
根据嵌入对值与所述修正参数,划分所述嵌入对为多个集合;dividing the embedded pairs into multiple sets according to the embedded pair value and the correction parameter;
根据视频解码后所获取的运动矢量所在的集合,提取相应信息,并修正运动矢量的值。According to the set of motion vectors obtained after video decoding, corresponding information is extracted, and the value of the motion vector is corrected.
优选地,获取所述运动矢量值平均值包括如下步骤:Preferably, obtaining the average value of the motion vector value includes the following steps:
根据运动矢量的水平分量和垂直分量,获取第i个宏块的运动矢量值;Obtain the motion vector value of the i-th macroblock according to the horizontal component and the vertical component of the motion vector;
根据所述运动矢量值与运动矢量的总个数,获取运动矢量值平均值。According to the motion vector value and the total number of motion vectors, the average value of the motion vector value is obtained.
优选地,获取所述运动矢量方向角方差包括如下步骤:Preferably, obtaining the direction angle variance of the motion vector includes the following steps:
根据所述运动矢量的总个数与所述第i个宏块的运动矢量方向角,获取运动矢量方向角平均值;According to the total number of the motion vectors and the motion vector direction angle of the i-th macroblock, obtain the average value of the motion vector direction angle;
根据所述第i个宏块的运动矢量方向角与所述运动矢量方向角平均值获取运动矢量方向角方差。The variance of the direction angle of the motion vector is obtained according to the direction angle of the motion vector of the i-th macroblock and the average value of the direction angle of the motion vector.
优选地,Preferably,
所述平衡系数用于平衡运动矢量的速度和方向特性在修正函数中的占比。The balance coefficient is used to balance the proportion of the velocity and direction characteristics of the motion vector in the correction function.
优选地,所述获取修正函数的具体公式为:Preferably, the specific formula for obtaining the correction function is:
其中,H(p)是第p个特定帧的修正函数,η是平衡系数,m是该参考帧内划分区域的个数。Among them, H(p) is the correction function of the p-th specific frame, n is the balance coefficient, and m is the number of divided regions in the reference frame.
优选地,Preferably,
所述按照预设顺序排序具体为从大到小依次排序。The sorting according to the preset order is specifically sorting from large to small.
优选地,所述将所述特定帧所有的修正函数按预设比例分为n份,并按照从大到小排序,根据特定帧所有的修正函数的排序,获取修正参数具体为:Preferably, all the correction functions of the specific frame are divided into n parts according to a preset ratio, and they are sorted in descending order. According to the sorting of all the correction functions of the specific frame, the correction parameters obtained are specifically:
n=3时,将所述特定帧所有的修正函数按预设比例分为3份,并按照从大到小的顺序排序,为h(1)、h(2)、h(3);When n=3, all the correction functions of the specific frame are divided into three parts according to the preset ratio, and they are sorted in descending order, which are h(1), h(2), and h(3);
修正参数(k,j)的具体公式为:The specific formula of the correction parameter (k, j) is:
其中,k为运动矢量的水平分量,j为运动矢量的垂直分量。Among them, k is the horizontal component of the motion vector, and j is the vertical component of the motion vector.
一种用于视频隐写的运动矢量直方图修正系统,包括,A motion vector histogram correction system for video steganography, comprising,
选取模块,用于选取特定帧;The selection module is used to select a specific frame;
第一划分模块,用于将所述特定帧划分为m个正方形区域;a first dividing module, configured to divide the specific frame into m square areas;
第一计算模块,用于根据正方形区域内运动矢量值平均值、运动矢量方向角方法、平衡系数和所述特定帧划分区域的个数m,计算获取修正函数;The first calculation module is used to calculate and obtain the correction function according to the average value of the motion vector value in the square area, the method of the direction angle of the motion vector, the balance coefficient and the number m of the specific frame division area;
排列模块,用于将所述特定帧所有的修正函数按预设比例分为n份,并按照预设顺序排序;an arrangement module, configured to divide all the correction functions of the specific frame into n parts according to a preset ratio, and sort them according to a preset order;
第二计算模块,用于根据所述特定帧所有的修正函数的排序,计算获取修正参数;The second calculation module is used to calculate and obtain correction parameters according to the sorting of all correction functions of the specific frame;
第二划分模块,用于根据嵌入对值和修正参数,将嵌入对划分为多个集合;The second division module is used to divide the embedded pairs into multiple sets according to the embedded pair value and the correction parameter;
提取模块,用于根据视频解码后所获取的运动矢量所在的集合,提取相应信息;an extraction module, used for extracting corresponding information according to the set where the motion vector obtained after video decoding is located;
修正模块,用于根据视频解码后所获取的运动矢量所在的集合,修正运动矢量。The correction module is used for correcting the motion vector according to the set of the motion vector obtained after the video is decoded.
本发明所提供的用于视频隐写的运动矢量直方图修正方法,首先发件方选取一个视频作为嵌入载体,并在视频中选取预设的特定帧,选取好特定帧后,将该特定帧划分为m个正方形区域;在一个正方形区域内获取其中的运动矢量值平均值、运动矢量方向角方差,并结合平衡系数以及特定帧内花费区域的个数m,计算获取修正函数;重复上述两步,直至获取所述特定帧所有的修正函数;将特定帧所有的修正函数按照预设比例分为n份,同时按照预设顺序进行排序;根据排列后的修正函数,计算获取修正参数;随后将运动矢量中的水平分量和垂直分量作为一个嵌入对,结合已获取的修正参数,划分嵌入对为多个不重叠的集合;根据视频解码后所获取的运动矢量所在的集合,与上述划分后的集合配合,提取相应的信息,并恢复运动矢量。由于在视频中,相邻几帧的数据有很大的相关性,可以认为当前帧能够代表其后续若干帧一定的特性,为提高隐写算法的不可见性,本发明通过统计特定帧中的运动矢量的速度和方向特性来设计后续若干帧的修正参数。为扩大信息嵌入量,选用二维直方图进行嵌入,把运动矢量的两个分量,即水平分量和垂直分量作为一个嵌入对,根据嵌入对值和修正参数将这些嵌入对划分为多个不重叠的集合,不同集合对应不同的嵌入算法,根据相应算法对嵌入对的值进行修正,实现信息在运动矢量中的嵌入,可以有效提高以视频为载体隐写算法的嵌入容量和不可见性。In the motion vector histogram correction method for video steganography provided by the present invention, the sender first selects a video as an embedded carrier, and selects a preset specific frame in the video, and after selecting the specific frame, the specific frame is selected. Divide into m square areas; obtain the average value of the motion vector value and the variance of the direction angle of the motion vector in a square area, and combine the balance coefficient and the number m of spending areas in a specific frame to calculate and obtain the correction function; repeat the above two step, until all the correction functions of the specific frame are obtained; all the correction functions of the specific frame are divided into n parts according to the preset ratio, and are sorted according to the preset order; according to the corrected functions after the arrangement, calculate and obtain the correction parameters; then Taking the horizontal component and vertical component in the motion vector as an embedded pair, and combining the obtained correction parameters, divide the embedded pair into multiple non-overlapping sets; The set fits together, extracts the corresponding information, and recovers the motion vector. Since in the video, the data of several adjacent frames have great correlation, it can be considered that the current frame can represent certain characteristics of several subsequent frames. The speed and direction characteristics of the motion vector are used to design the correction parameters for the subsequent frames. In order to expand the amount of information embedding, a two-dimensional histogram is used for embedding, and the two components of the motion vector, that is, the horizontal component and the vertical component, are regarded as an embedding pair, and these embedding pairs are divided into multiple non-overlapping pairs according to the embedding pair value and the correction parameter. Different sets correspond to different embedding algorithms, and the value of the embedding pair is modified according to the corresponding algorithm to realize the embedding of information in the motion vector, which can effectively improve the embedding capacity and invisibility of the video-based steganography algorithm.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only These are some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without any creative effort.
图1为本发明实施例提供的一种用于视频隐写的运动矢量直方图修正方法流程图;1 is a flowchart of a method for correcting a motion vector histogram for video steganography according to an embodiment of the present invention;
图2为本发明实施例提供的获取运动矢量值平均值的流程图;FIG. 2 is a flowchart of obtaining an average value of a motion vector value provided by an embodiment of the present invention;
图3为本发明实施例提供的获取运动矢量方向角方差的流程图;Fig. 3 is the flow chart of obtaining the direction angle variance of motion vector provided by the embodiment of the present invention;
图4为本发明实施例提供的一种用于视频隐写的运动矢量直方图修正系统的结构图。FIG. 4 is a structural diagram of a motion vector histogram correction system for video steganography according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
本发明实施例采用递进的方式撰写。The embodiments of the present invention are written in a progressive manner.
本发明实施例提供了一种用于视频隐写的运动矢量直方图修正方法。主要解决现有技术中,小值的运动矢量进行信息嵌入,导致视频视觉质量较差。当通信量较小,不再需要对过多的小值运动矢量进行信息嵌入时,也不能对直方图进行调整以提高视频视觉质量的技术问题。The embodiment of the present invention provides a motion vector histogram correction method for video steganography. It mainly solves the problem that in the prior art, the small value of the motion vector is used for information embedding, resulting in poor video visual quality. When the communication volume is small and information embedding of too many small-valued motion vectors is no longer necessary, it is also a technical problem that the histogram cannot be adjusted to improve the visual quality of the video.
一种用于视频隐写的运动矢量直方图修正方法,包括如下步骤:A motion vector histogram correction method for video steganography, comprising the following steps:
S1.选取预设特定帧,并将特定帧划分为m个正方形区域;S1. Select a preset specific frame, and divide the specific frame into m square areas;
S2.根据正方形区域内运动矢量值平均值、运动矢量方向角方差、平衡系数和特定帧内划分区域的个数m,获取修正函数;S2. Obtain a correction function according to the average value of the motion vector value in the square area, the variance of the direction angle of the motion vector, the balance coefficient and the number m of divided areas in a specific frame;
S3.重复上述步骤直至获取特定帧所有的修正函数;S3. Repeat the above steps until all correction functions of a specific frame are obtained;
S4.将特定帧所有的修正函数按预设比例分为n份,并按照预设顺序排序;S4. Divide all the correction functions of a specific frame into n parts according to a preset ratio, and sort them according to the preset order;
S5.根据特定帧所有的修正函数的排序,获取修正参数;S5. According to the sorting of all correction functions of a specific frame, the correction parameters are obtained;
S6.将运动矢量的水平分量与垂直分量作为一个嵌入对;S6. Use the horizontal component and the vertical component of the motion vector as an embedded pair;
S7.根据嵌入对值与修正参数,划分嵌入对为多个集合;S7. According to the embedded pair value and the correction parameter, divide the embedded pair into multiple sets;
S8.根据视频解码后所获取的运动矢量所在的集合,提取相应信息,并修正运动矢量的值。S8. According to the set where the motion vector obtained after the video is decoded, the corresponding information is extracted, and the value of the motion vector is corrected.
步骤S1中,通过参考帧变换技术选择输入视频的特定帧,并将帧划分成M×M的区域。In step S1, a specific frame of the input video is selected by referring to a frame transformation technique, and the frame is divided into M×M regions.
步骤S2中,根据其中一个正方形区域内的运动矢量值平均值、运动矢量方向角方差、平衡系数和特定帧内划分区域的个数m,计算获取修正函数H(p)。In step S2, the correction function H(p) is calculated and obtained according to the average value of the motion vector value, the variance of the direction angle of the motion vector, the balance coefficient and the number m of divided regions in a specific frame in one of the square regions.
步骤S3中,重复上述步骤,直至获取特定帧所有的修正函数H(p)。In step S3, the above steps are repeated until all correction functions H(p) of a specific frame are obtained.
步骤S4中,将特定帧所有的修正函数H(p)按预设比例分为n份,并按照预设顺序进行排序。在本实施例中,n=3。In step S4, all the correction functions H(p) of a specific frame are divided into n parts according to a preset ratio, and are sorted according to the preset order. In this embodiment, n=3.
步骤S5中,排序后,获取修正参数(k,j)。In step S5, after sorting, the correction parameters (k, j) are obtained.
步骤S6中,运动矢量的水平分量与垂直分量作为一个嵌入对。In step S6, the horizontal component and the vertical component of the motion vector are used as an embedded pair.
步骤S7中,根据嵌入对值和修正参数(k,j),将这些嵌入对划分为多个不重叠的集合A。In step S7, these embedded pairs are divided into multiple non-overlapping sets A according to the embedded pair value and the correction parameter (k, j).
步骤S8中,根据解码视频后,所得到的运动矢量所在的集合,提取相应的信息并对嵌入对的值(即运动矢量的值)进行修正。In step S8, according to the set where the motion vector obtained after decoding the video is located, the corresponding information is extracted and the value of the embedded pair (that is, the value of the motion vector) is corrected.
本发明通过统计特定帧中的运动矢量的速度和方向特性来设计后续若干帧的修正参数。为扩大信息嵌入量,选用二维直方图进行嵌入,把运动矢量的两个分量,即水平分量和垂直分量作为一个嵌入对,根据嵌入对值和修正参数将这些嵌入对划分为多个不重叠的集合,不同集合对应不同的嵌入算法,根据相应算法对嵌入对的值进行修正,实现信息在运动矢量中的嵌入,可以有效提高以视频为载体隐写算法的嵌入容量和不可见性。The present invention designs the correction parameters of several subsequent frames by counting the speed and direction characteristics of the motion vector in a specific frame. In order to expand the amount of information embedding, a two-dimensional histogram is used for embedding, and the two components of the motion vector, that is, the horizontal component and the vertical component, are regarded as an embedding pair, and these embedding pairs are divided into multiple non-overlapping pairs according to the embedding pair value and the correction parameter. Different sets correspond to different embedding algorithms, and the value of the embedding pair is modified according to the corresponding algorithm to realize the embedding of information in the motion vector, which can effectively improve the embedding capacity and invisibility of the video-based steganography algorithm.
优选地,获取运动矢量值平均值包括如下步骤:Preferably, obtaining the average value of the motion vector value includes the following steps:
A1.根据运动矢量的水平分量和垂直分量,获取第i个宏块的运动矢量值;A1. According to the horizontal component and the vertical component of the motion vector, obtain the motion vector value of the i-th macroblock;
A2.根据运动矢量值与运动矢量的总个数,获取运动矢量值平均值。A2. Obtain the average value of the motion vector values according to the motion vector value and the total number of motion vectors.
步骤A1中,获取第i个宏块的运动矢量值的具体公式为: In step A1, the specific formula for obtaining the motion vector value of the i-th macroblock is:
其中L(i)表示该区域内第i个宏块的运动矢量大小,mvx和mvy分别表示运动矢量的水平和垂直分量。where L(i) represents the size of the motion vector of the i-th macroblock in the region, and mv x and mv y represent the horizontal and vertical components of the motion vector, respectively.
步骤A2中,获取运动矢量值平均值的具体公式为: In step A2, the specific formula for obtaining the average value of the motion vector value is:
其中,表示该帧内第q个区域的运动矢量大小的平均值,n表示该区域内运动矢量的总个数。i的取值范围从1到n。in, Represents the average value of the motion vector size of the qth region in the frame, and n represents the total number of motion vectors in the region. The value of i ranges from 1 to n.
优选地,获取运动矢量方向角方差包括如下步骤:Preferably, obtaining the direction angle variance of the motion vector includes the following steps:
B1.根据运动矢量的总个数与第i个宏块的运动矢量方向角,获取运动矢量方向角平均值;B1. According to the total number of motion vectors and the motion vector direction angle of the i-th macroblock, obtain the average value of the motion vector direction angle;
B2.根据第i个宏块的运动矢量方向角与运动矢量方向角平均值获取运动矢量方向角方差。B2. Obtain the variance of the direction angle of the motion vector according to the direction angle of the motion vector of the ith macroblock and the average value of the direction angle of the motion vector.
步骤B1中,获取运动矢量方向角平均值的具体公式为: In step B1, the specific formula for obtaining the average value of the direction angle of the motion vector is:
其中表示该帧内第q个区域的运动矢量方向角的平均值,θ(i)表示该区域内第i个宏块的运动矢量方向角。in represents the average value of the direction angle of the motion vector of the qth region in the frame, and θ(i) represents the direction angle of the motion vector of the ith macroblock in the region.
步骤B2中,获取运动矢量方向角方差的具体公式为: In step B2, the specific formula for obtaining the variance of the direction angle of the motion vector is:
其中D(q)表示该帧内第q个区域的运动矢量方向角的方差。where D(q) represents the variance of the direction angle of the motion vector of the qth region in the frame.
优选地,Preferably,
平衡系数用于平衡运动矢量的速度和方向特性在修正函数中的占比。The balance factor is used to balance the proportion of the velocity and direction characteristics of the motion vector in the correction function.
实际运用过程中,平衡系数η,用于平衡运动矢量的速度和方向特性在修正函数中的占比In the actual application process, the balance coefficient η is used to balance the proportion of the velocity and direction characteristics of the motion vector in the correction function
优选地,获取修正函数的具体公式为:Preferably, the specific formula for obtaining the correction function is:
其中,H(p)是第p个特定帧的修正函数,η是平衡系数,m是该参考帧内划分区域的个数。Among them, H(p) is the correction function of the p-th specific frame, n is the balance coefficient, and m is the number of divided regions in the reference frame.
优选地,Preferably,
按照预设顺序排序具体为从大到小依次排序。Sorting according to the preset order is in descending order.
实际运用过程中,预设顺序还可选择多种顺序,在本实施例中,为便于计算选择从大到小依次排序。In the actual application process, the preset order can also be selected from various orders. In this embodiment, the order from large to small is selected for the convenience of calculation.
优选地,将特定帧所有的修正函数按预设比例分为n份,并按照从大到小排序,根据特定帧所有的修正函数的排序,获取修正参数具体为:Preferably, all the correction functions of a specific frame are divided into n parts according to a preset ratio, and they are sorted in descending order. According to the sorting of all the correction functions of the specific frame, the correction parameters obtained are specifically:
n=3时,将特定帧所有的修正函数按预设比例分为3份,并按照从大到小的顺序排序,为h(1)、h(2)、h(3);When n=3, divide all the correction functions of a specific frame into 3 parts according to the preset ratio, and sort them in descending order, which are h(1), h(2), h(3);
修正参数(k,j)的具体公式为:The specific formula of the correction parameter (k, j) is:
其中,k为运动矢量的水平分量,j为运动矢量的垂直分量。Among them, k is the horizontal component of the motion vector, and j is the vertical component of the motion vector.
实际运用过程中,步骤S7中根据嵌入对值和修正参数(k,j),将这些嵌入对划分为多个不重叠的集合A中的集合A具体为:In the actual application process, in step S7, according to the embedded pair value and the correction parameter (k, j), these embedded pairs are divided into a plurality of non-overlapping sets A. The set A is as follows:
其中,B1、B2分别为运动矢量的水平分量和垂直分量的4倍。Wherein, B 1 and B 2 are 4 times of the horizontal and vertical components of the motion vector, respectively.
步骤S8中,根据解码视频后,所得到的运动矢量所在的集合,对嵌入对的值进行修正具体为:In step S8, according to the set where the motion vector obtained after decoding the video is located, the value of the embedded pair is corrected as follows:
(1)当(B1,B2)∈A1时:(1) When (B 1 , B 2 )∈A 1 :
其中,B'1和B'2分别表示修改后的B1、B2,mt和mt+1分别表示第t位和第t+1位的秘密信息。Wherein, B' 1 and B' 2 represent the modified B 1 and B 2 respectively, and m t and m t+1 represent the secret information of the t-th bit and the t+1-th bit, respectively.
(2)当(B1,B2)∈A2时:(2) When (B 1 , B 2 )∈A 2 :
(3)当(B1,B2)∈A3时:(3) When (B 1 , B 2 )∈A 3 :
(4)当(B1,B2)∈A4时:(4) When (B 1 , B 2 )∈A 4 :
(5)当(B1,B2)∈A5时:(5) When (B 1 , B 2 )∈A 5 :
(6)当(B1,B2)∈A6时:(6) When (B 1 , B 2 )∈A 6 :
(7)当(B1,B2)∈A7时:(7) When (B 1 , B 2 )∈A 7 :
(8)当(B1,B2)∈A8时:(8) When (B 1 , B 2 )∈A 8 :
(9)当(B1,B2)∈A9时:(9) When (B 1 , B 2 )∈A 9 :
(10)当(B1,B2)∈A10∪A11∪A12∪A13∪A14∪A15∪A16∪A17∪A18时,仅作修正:(10) When (B 1 ,B 2 )∈A 10 ∪A 11 ∪A 12 ∪A 13 ∪A 14 ∪A 15 ∪A 16 ∪A 17 ∪A 18 , only make corrections:
当需要提取相应信息时,所形成的集合A具体为:When the corresponding information needs to be extracted, the formed set A is specifically:
其中,B1、B2分别为运动矢量的水平分量和垂直分量的4倍。Wherein, B 1 and B 2 are 4 times of the horizontal and vertical components of the motion vector, respectively.
步骤S8中,根据解码视频后,所得到的运动矢量所在的集合,利用相应的算法,提取信息,并将运动矢量恢复至修改前具体为:In step S8, according to the set where the obtained motion vector is located after decoding the video, the corresponding algorithm is used to extract information, and the motion vector is restored to before the modification, specifically:
(1).当(B1,B2)∈A9∪A10∪A13∪A22时,提取信息mt=0:(1). When (B 1 ,B 2 )∈A 9 ∪A 10 ∪A 13 ∪A 22 , extract information m t =0:
(2).当(B1,B2)∈A11∪A12∪A25时,提取信息mt=1:(2). When (B 1 ,B 2 )∈A 11 ∪A 12 ∪A 25 , extract information m t =1:
(3).当(B1,B2)∈A1∪A2∪A3∪A4∪A21时,提取信息mtmt+1=00:(3). When (B 1 ,B 2 )∈A 1 ∪A 2 ∪A 3 ∪A 4 ∪A 21 , extract information m t m t+1 =00:
(4).当(B1,B2)∈A5∪A6∪A7∪A8∪A19时,提取信息mtmt+1=01:(4). When (B 1 ,B 2 )∈A 5 ∪A 6 ∪A 7 ∪A 8 ∪A 19 , extract the information m t m t+1 =01:
(5).当(B1,B2)∈A14∪A16∪A20∪A24时,提取信息mtmt+1=10:(5). When (B 1 ,B 2 )∈A 14 ∪A 16 ∪A 20 ∪A 24 , extract information m t m t+1 =10:
(6).当(B1,B2)∈A15∪A17∪A18∪A23时,提取信息mtmt+1=11:(6). When (B 1 ,B 2 )∈A 15 ∪A 17 ∪A 18 ∪A 23 , extract information m t m t+1 =11:
(7).当(B1,B2)∈A26∪A27∪A28∪A29∪A30∪A31∪A32∪A33∪A34时,仅作修正:(7). When (B 1 ,B 2 )∈A 26 ∪A 27 ∪A 28 ∪A 29 ∪A 30 ∪A 31 ∪A 32 ∪A 33 ∪A 34 , only make corrections:
一种用于视频隐写的运动矢量直方图修正系统,包括,A motion vector histogram correction system for video steganography, comprising,
选取模块,用于选取特定帧;The selection module is used to select a specific frame;
第一划分模块,用于将特定帧划分为m个正方形区域;a first division module, for dividing a specific frame into m square areas;
第一计算模块,用于根据正方形区域内运动矢量值平均值、运动矢量方向角方法、平衡系数和特定帧划分区域的个数m,计算获取修正函数;The first calculation module is used to calculate and obtain the correction function according to the average value of the motion vector value in the square area, the method of the direction angle of the motion vector, the balance coefficient and the number m of the specific frame division area;
排列模块,用于将特定帧所有的修正函数按预设比例分为n份,并按照预设顺序排序;The arrangement module is used to divide all the correction functions of a specific frame into n parts according to a preset ratio, and sort them according to the preset order;
第二计算模块,用于根据特定帧所有的修正函数的排序,计算获取修正参数;The second calculation module is used to calculate and obtain the correction parameters according to the sorting of all correction functions of a specific frame;
第二划分模块,用于根据嵌入对值和修正参数,将嵌入对划分为多个集合;The second division module is used to divide the embedded pairs into multiple sets according to the embedded pair value and the correction parameter;
提取模块,用于根据视频解码后所获取的运动矢量所在的集合,提取相应信息;an extraction module, used for extracting corresponding information according to the set where the motion vector obtained after video decoding is located;
修正模块,用于根据视频解码后所获取的运动矢量所在的集合,修正运动矢量。The correction module is used for correcting the motion vector according to the set of the motion vector obtained after the video is decoded.
实际运用过程中,选取模块从视频中选取特定帧,并由第一划分模块将特定帧划分为m个正方形区域;第一计算模块根据其中一个正方形区域内的运动矢量值平均值、运动矢量方向角方法、平衡系数和特定帧划分区域的个数m,计算获取修正函数;第一计算模块多次计算后,获取特定帧所有的修正函数;排列模块将特定帧所有的修正函数分为n份,并按照预设顺序进行排序;根据排序后的特定帧所有的修正函数,第二计算模块计算获取修正参数;第二划分模块根据嵌入对值和修正参数将嵌入对划分为多个集合;视频解码后获取运动矢量所在的集合,提取模块根据该集合提取相应信息;修正模块根据该集合修正运动矢量。In the actual application process, the selection module selects a specific frame from the video, and the specific frame is divided into m square areas by the first division module; The angle method, the balance coefficient and the number m of divided areas of a specific frame are calculated to obtain the correction function; the first calculation module obtains all the correction functions of the specific frame after multiple calculations; the arrangement module divides all the correction functions of the specific frame into n parts , and sort according to the preset order; according to all the correction functions of the sorted specific frame, the second calculation module calculates and obtains the correction parameters; the second division module divides the embedded pairs into multiple sets according to the embedded pair values and the correction parameters; video After decoding, the set where the motion vector is located is obtained, and the extraction module extracts corresponding information according to the set; the correction module corrects the motion vector according to the set.
在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the embodiments provided in this application, it should be understood that the disclosed method and apparatus may be implemented in other manners. The device embodiments described above are only illustrative. For example, the division of modules is only a logical function division. In actual implementation, there may be other division methods, for example, multiple modules or components may be combined or integrated. to another system, or some features can be ignored, or not implemented. In addition, the coupling, or direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be electrical, mechanical or other forms. of.
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理器中,也可以是各模块分别单独作为一个器件,也可以两个或两个以上模块集成在一个器件中;本发明各实施例中的各功能模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, each functional module in each embodiment of the present invention may all be integrated into one processor, or each module may be used as a separate device, or two or more modules may be integrated into one device; the present invention Each functional module in each embodiment may be implemented in the form of hardware, or may be implemented in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令及相关的硬件来完成,前述的程序指令可以存储于计算机可读取存储介质中,该程序指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be accomplished through program instructions and related hardware, and the aforementioned program instructions can be stored in a computer-readable storage medium, and when the program instructions are executed , perform the steps including the above method embodiments; and the aforementioned storage medium includes: a removable storage device, a read only memory (Read Only Memory, ROM), a magnetic disk or an optical disk and other media that can store program codes.
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should also be noted that in this document, relational terms such as first and second are used only to distinguish one entity or operation from another, and do not necessarily require or imply those entities or operations There is no such actual relationship or order between them. Moreover, the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device that includes a list of elements includes not only those elements, but also includes not explicitly listed or other elements inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
以上对本发明所提供的一种用于视频隐写的运动矢量直方图修正方法及系统进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。The method and system for correcting a motion vector histogram for video steganography provided by the present invention have been described in detail above. The above description of the disclosed embodiments enables any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210462012.0A CN114900700B (en) | 2022-04-28 | 2022-04-28 | A motion vector histogram correction method and system for video steganography |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210462012.0A CN114900700B (en) | 2022-04-28 | 2022-04-28 | A motion vector histogram correction method and system for video steganography |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114900700A true CN114900700A (en) | 2022-08-12 |
| CN114900700B CN114900700B (en) | 2025-06-10 |
Family
ID=82719251
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210462012.0A Active CN114900700B (en) | 2022-04-28 | 2022-04-28 | A motion vector histogram correction method and system for video steganography |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114900700B (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2792797A1 (en) * | 1999-04-23 | 2000-10-27 | Thomson Csf | Video/fixed image embedded watermark system having watermarking and co embedding process using image binary processing determining origin position and needing read mechanism for video origin correct prediction. |
| CN106131553A (en) * | 2016-07-04 | 2016-11-16 | 武汉大学 | A kind of video steganalysis method based on motion vector residual error dependency |
| CN106713917A (en) * | 2016-12-05 | 2017-05-24 | 南京航空航天大学 | Video steganography algorithm based on motion vector difference |
| WO2018026299A1 (en) * | 2016-08-04 | 2018-02-08 | Huawei Technologies Co., Ltd. | Method and apparatus for data hiding in prediction parameters |
| US20190313114A1 (en) * | 2018-04-06 | 2019-10-10 | Qatar University | System of video steganalysis and a method of using the same |
| CN110324634A (en) * | 2019-07-05 | 2019-10-11 | 中国科学技术大学 | It is a kind of to be embedded in the video steganography method that distortion is decomposed based on motion vector |
| CN114339258A (en) * | 2021-12-28 | 2022-04-12 | 中国人民武装警察部队工程大学 | A kind of information steganography method and device based on video carrier |
-
2022
- 2022-04-28 CN CN202210462012.0A patent/CN114900700B/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2792797A1 (en) * | 1999-04-23 | 2000-10-27 | Thomson Csf | Video/fixed image embedded watermark system having watermarking and co embedding process using image binary processing determining origin position and needing read mechanism for video origin correct prediction. |
| CN106131553A (en) * | 2016-07-04 | 2016-11-16 | 武汉大学 | A kind of video steganalysis method based on motion vector residual error dependency |
| WO2018026299A1 (en) * | 2016-08-04 | 2018-02-08 | Huawei Technologies Co., Ltd. | Method and apparatus for data hiding in prediction parameters |
| CN106713917A (en) * | 2016-12-05 | 2017-05-24 | 南京航空航天大学 | Video steganography algorithm based on motion vector difference |
| US20190313114A1 (en) * | 2018-04-06 | 2019-10-10 | Qatar University | System of video steganalysis and a method of using the same |
| CN110324634A (en) * | 2019-07-05 | 2019-10-11 | 中国科学技术大学 | It is a kind of to be embedded in the video steganography method that distortion is decomposed based on motion vector |
| CN114339258A (en) * | 2021-12-28 | 2022-04-12 | 中国人民武装警察部队工程大学 | A kind of information steganography method and device based on video carrier |
Non-Patent Citations (2)
| Title |
|---|
| FENG QIU: "Reversible Steganography Algorithm for High Capacity Video Based on Motion Vector Multi Histogram Correction", CAIBDA 2022, 19 March 2022 (2022-03-19) * |
| 段然;陈丹;: "以运动矢量残差为载体的视频隐写算法", 中国图象图形学报, no. 02, 16 February 2018 (2018-02-16) * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114900700B (en) | 2025-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Liu et al. | Parallel fractal compression method for big video data | |
| Tan et al. | A robust watermarking scheme in YCbCr color space based on channel coding | |
| He et al. | Reversible data hiding in JPEG images based on negative influence models | |
| CN102905134B (en) | Adaptive video digital steganography method | |
| CN106097241B (en) | Reversible information hidden method based on eight neighborhood pixel | |
| CN112308754B (en) | Multi-decoding-end parallel extraction method for high-capacity robust watermark application | |
| CN108921910B (en) | JPEG coding compressed image restoration method based on scalable convolutional neural network | |
| CN105426883B (en) | The method and device that visual classification quickly identifies | |
| CN110312138B (en) | Video Steganography Method and System for High Embedding Capacity Based on Temporal Residual Convolution Modeling | |
| CN109547664B (en) | An Image Steganography Method Using "Controversial" Pixels in the RGB Color Space | |
| CN111327786B (en) | Robust Steganography Method Based on Social Network Platform | |
| CN113192147A (en) | Method, system, storage medium, computer device and application for significance compression | |
| CN110072119A (en) | A kind of perception of content video adaptive transmission method based on deep learning network | |
| CN106170093A (en) | A kind of infra-frame prediction performance boost coded method | |
| CN116012272A (en) | A Compressed Video Quality Enhancement Method Based on Reconstructed Flow Field | |
| CN107481293A (en) | Based on the difference image compressed sensing reconstructing methods and intelligent terminal for assuming weighting more | |
| Jia et al. | RIVIE: Robust inherent video information embedding | |
| CN113766084B (en) | Reversible information hiding method and system for enhancing image smoothness | |
| CN114900700A (en) | A motion vector histogram correction method and system for video steganography | |
| Chen et al. | Scale-adaptive asymmetric sparse variational autoencoder for point cloud compression | |
| CN113810717A (en) | Image processing method and device | |
| Dai et al. | HEVC Video Steganalysis Based on Centralized Error and Attention Mechanism | |
| CN115052151A (en) | High-capacity video reversible information hiding method and device | |
| CN115334316A (en) | A HEVC Video Adaptive Steganography Method Without Intra-frame Distortion Drift | |
| CN111343466A (en) | Reversible video data hiding method based on two-dimensional histogram translation |
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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |