CN110730277A - 一种信息编码及获取编码信息的方法和装置 - Google Patents
一种信息编码及获取编码信息的方法和装置 Download PDFInfo
- Publication number
- CN110730277A CN110730277A CN201810786108.6A CN201810786108A CN110730277A CN 110730277 A CN110730277 A CN 110730277A CN 201810786108 A CN201810786108 A CN 201810786108A CN 110730277 A CN110730277 A CN 110730277A
- Authority
- CN
- China
- Prior art keywords
- information
- pixel
- target
- character information
- determining
- 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
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32309—Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本申请实施例提供了一种信息编码及获取编码信息的方法和装置,其中所述信息编码的方法包括:确定图像中需要隐藏的字符信息;分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;在所述图像中,将所述目标位置中的色块替换为所述目标色块。由于本申请实施例以色块为单位来编码信息,使得图像经过网络传输、算法压缩、缩放、回流后图像携带的隐藏信息能够被提取和还原,降低了隐藏信息在压缩后丢失的概率。
Description
技术领域
本申请涉及信息隐藏技术领域,特别是涉及一种信息编码的方法、一种获取编码信息的方法、一种信息编码的装置以及一种获取编码信息的装置。
背景技术
随着计算机网络技术和通信技术的发展,信息隐藏(Information Hiding)技术成为信息安全领域的一个研究热点。信息隐藏技术是以嵌入的方式把信息隐藏到载体介质中,通常用到的载体介质包括图像、视频、文档等。当信息通过公共信道传到接收方时,接收方在收到这些隐藏信息的载体对象后,可以采用双方事先约定的方式将信息从载体对象中提取出来。
在现有技术中,其中一种信息隐藏技术为LSB(Least Significant Bit,最低有效位)空间域算法,其利用图像的最低有效位来嵌入秘密信息,该算法实现简单,隐藏容量大,有很好的不可感知性。
但LSB算法无法应对压缩算法对图像进行压缩处理后图像信息还原的问题,这是因为目前很多压缩算法也是利用了人类视觉的不敏感的特点,对图像使用相近像素替代来压缩图像,结果导致图像的像素发生细微变化,进而导致色彩低位携带数据发生变化,因此低位携带信息丢失,难以还原。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种信息编码的方法、一种获取编码信息的方法和相应的一种信息编码的装置以及一种获取编码信息的装置。
为了解决上述问题,本申请实施例公开了一种信息编码的方法,所述方法包括:
确定图像中需要隐藏的字符信息;
分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;
分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
在所述图像中,将所述目标位置中的色块替换为所述目标色块。
优选地,所述颜色信息包括RGB信息,所述分别确定所述字符信息对应的像素信息,包括:
按照预设的容错范围值,分别将RGB三个通道中的每个通道划分成对应的多个区间,并从每个区间中选取一容错值;
分别为所述容错值进行编号;
采用base64解码方式,分别将所述字符信息解码成二进制数值;
将所述二进制数值划分成3个字节,并确定每个字节对应的目标编号;
将所述目标编号对应的容错值组织成所述二进制数值的RGB值。
优选地,当所述像素信息为位置信息时,所述分别确定所述字符信息对应的像素信息,包括:
确定起始位置,并将所述起始位置作为第一个字符信息对应的像素的位置信息;
将下一字符信息对应的像素的位置信息设置在,与前一字符信息对应的像素的位置信息相隔指定像素步长的位置处。
优选地,所述分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置,包括:
按照预设的位置规则,将包含所述像素的位置信息的指定区域作为目标色块,并根据所述位置信息确定所述目标色块的目标位置。
优选地,所述字符信息包括特定字符信息以及业务信息。
优选地,在所述确定图像中需要隐藏的字符信息之前,还包括:
当需要隐藏的信息不是字符信息时,将所述需要隐藏的信息编码成base64形式的字符信息。
本申请实施例还公开了一种获取编码信息的方法,所述方法包括:
遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块,其中,所述色块包括多个颜色信息相同的像素;
基于所述色块,确定对应的目标字符信息。
优选地,所述判断所述像素是否具有对应的字符信息,包括:
获取所述像素的RGB值;
根据预设的容错范围值,将所述RGB值修正为在所述容错范围值内的容错值;
根据预置的容错值与编号的对应关系,分别确定所述容错值对应的二进制数值;
将所有容错值对应的二进制数值进行组合,并判断组合后的二进制数值对应的十进制数值是否具有对应的base64格式的字符;
若是,则判定所述像素对应的字符信息;
若否,则判定所述像素没有对应的字符信息。
优选地,所述从所述像素所处的位置开始,依次提取色块,包括:
从所述像素所处的位置开始,每隔指定像素步长提取色块。
优选地,所述方法还包括:
针对已获得的字符信息和/或目标字符信息,判断是否存在特定字符信息;
若存在所述特定字符信息,则将在所述特定字符信息之后获取的目标字符信息作为业务信息。
优选地,所述基于所述色块,确定对应的目标字符信息,包括:
从所述色块中提取一目标像素;
对所述目标像素进行解码,获得所述目标像素对应的目标字符信息。
本申请实施例还公开了一种信息编码的装置,所述装置包括:
字符信息确定模块,用于确定图像中需要隐藏的字符信息;
像素信息确定模块,用于分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;
目标色块确定模块,用于分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
色块替换模块,用于在所述图像中,将所述目标位置中的色块替换为所述目标色块。
本申请实施例还公开了一种获取编码信息的装置,所述装置包括:
像素遍历模块,用于遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
色块提取模块,用于当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块,其中,所述色块包括多个颜色信息相同的像素;
目标字符信息确定模块,用于基于所述色块,确定对应的目标字符信息。
本申请实施例包括以下优点:
在本申请实施例中,当需要在图像中隐藏信息时,针对需要隐藏的字符信息,可以依次将每个字符信息编码成包含颜色信息以及位置信息的像素信息,并根据该颜色信息确定目标色块,以及,根据该位置信息确定目标色块对应的目标位置,以色块为单位,将目标色块替换该图像的对应位置上的色块,从而实现在图像中隐藏信息,由于本申请实施例以色块为单位来编码信息,使得图像经过网络传输、算法压缩、缩放、回流后图像携带的隐藏信息能够被提取和还原,降低了隐藏信息在压缩后丢失的概率。
另外,本申请实施例当获得图像数据以后,可以遍历图像数据中的每个像素,以判断各个像素是否具有对应的字符信息,当遍历到某个像素具有对应的字符信息时,从该像素所处的位置开始,依次提取色块,并根据色块,确定对应的目标字符信息,其中,所述色块包括多个颜色信息相同的像素,从而实现从图像数据中提取和还原隐藏信息,通过图像信息中的色块来还原隐藏信息,降低了数据在压缩或传输过程中丢失的概率。
附图说明
图1是本申请的一种信息编码的方法实施例的步骤流程图;
图2是本申请的一种信息编码的方法实施例中的容错区间示意图;
图3是本申请的一种信息编码的方法实施例中的字符编码示意图;
图4是本申请的一种信息编码的方法实施例中的转换表示意图;
图5是本申请的一种获取编码信息的方法实施例的步骤流程图;
图6是本申请的一种获取编码信息的方法实施例中的字符解码示意图;
图7是本申请的一种信息编码的装置实施例的结构框图;
图8是本申请的一种获取编码信息的装置实施例的结构框图;
图9是本申请的一种信息编码系统实施例的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参考图1,示出了本申请的一种信息编码的方法实施例的步骤流程图,本申请实施例可以实现在图像分享过程中携带少量业务信息,保证图像经过网络传输、算法压缩、缩放、回流后图像携带信息能够被提取和还原。
本申请实施例具体可以包括如下步骤:
步骤101,确定图像中需要隐藏的字符信息;
作为本申请实施例的一种优选示例,该字符信息可以包括特定字符信息以及业务信息,其中,该特定字符信息可以作为信息标识头,用于标识隐藏信息的开始位置。
具体的,该特定字符可以是企业标识的固定字符或者其他指定的固定字符,本发明实施例对此不作限定,但为了防止在信息识别时出现误差,可以使用三个以上字符约定特定字符。
业务信息可以包括根据业务需求确定的字符,例如,该业务信息可以包括商品id等信息。
在具体实现中,该字符信息可以包括Base64中的可打印的字符。其中,Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节可表示4个可打印字符。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。例如,常用的64个字符包括:'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/'。
在本申请实施例的一种优选实施例中,在步骤101之前,还可以包括如下步骤:
当需要隐藏的信息不是字符信息时,将所述需要隐藏的信息编码成base64形式的字符信息。
具体的,如果需要隐藏的信息不是base64中的可打印字符,则可以根据转换算法,对该需要隐藏的信息进行编码预处理,将该需要隐藏的信息转换成base64形式的字符信息,此处对具体的转换算法不作限定。
步骤102,分别确定所述字符信息对应的像素信息;
确定需要隐藏的字符信息以后,则针对每一个字符信息,可以依次将其进行字符-像素编码,一个字符信息编码后可以得到一个像素的像素信息。
作为本申请实施例的一种示例,该像素信息可以包括但不限于:颜色信息以及位置信息。其中,该颜色信息可以用RGB信息表示。
在本申请实施例的一种优选实施例中,若该像素信息为颜色信息时,步骤102进一步可以包括如下子步骤:
子步骤S11,按照预设的容错范围值,分别将RGB三个通道中的每个通道划分成对应的多个区间,并从每个区间中选取一容错值;
例如,如图2的容错区间示意图所示,可以将容错范围值设定为32,则针对RGB三个通道中每个通道,单个通道0-255范围,可以划分成如下四个区间:[0-64),[64,128),[128,192),[192,255)。当容错范围值设定为32时,从每个区间中选取的容错值可以分别为32,96,160,224。这样可以保证各自的容错范围为32。
需要说明的是,除了可以将容错范围值设定为32,本领域技术人员还可以根据实际需要设定容错范围值,例如,将容错范围值设定为16,64,128等其它长度,本申请实施例对此不作限定。
子步骤S12,分别为所述容错值进行编号;
在具体实现中,生成容错值后,可以为该容错值分配编号,生成容错值与编号的映射关系。
例如,针对上述容错值32,96,160,224,可以分别编号为0,1,2,3。从二进制来看正好可以用两位表示。
根据色彩的基本原理可知,每个像素至少有三个通道,分别是R、G、B。而从上述的子步骤S11及子步骤S12可知,单个通道可以表示为4位。因此,利用单个像素3个通道,可以能够表示64个字符的信息,而64个字符足够表示base64所产生的字符。因此,针对任一Base64的字符信息,均可以将其转换成RGB值。
子步骤S13,采用Base64解码方式,分别将所述字符信息解码成二进制数值;
例如,如图3的字符编码示意图所示,针对字符“a”,其作为Base64的第27个字符,按照从0开始计算的规则,“a”的位置序列是26,而十进制26的二进制表示方法是“011010”。
子步骤S14,将所述二进制数值划分成3个字节,并确定每个字节对应的目标编号;
例如,针对上例,如图3所示,字符“a”对应的二进制表示为“011010”,将“011010”划分成三个字节,分别是“01”、“10”、“10”。而“01”对应的十进制为“1”,“10”对应的十进制为“2”,即“01”对应的目标编号为“1”,“10”对应的目标编号为“2”。
子步骤S15,将所述目标编号对应的容错值组织成所述二进制数值的RGB值。
例如,针对上例,如图3所示,三个字节“01”、“10”、“10”,对应的目标编号分别是“1”、“2”、“2”。而根据子步骤S12,上述每个目标编号对应的容错值分别为“96”、“160”、“160”。则上述二进制数值“011010”对应的RGB值为(96,160,160)。其中,该RGB值为一个像素的RGB值。
得到像素的RGB值以后,则可以根据该RGB值确定该像素对应的颜色值。如图3所示,可以得到(96,160,160)对应的颜色。
需要说明的是,在步骤102中,可以实时确定每个字符的颜色信息,当然,为了提高编码的效率,当确定具体的容错范围值以后,可以根据上面的编码方法,预先离线生成一个转换表,该转换表可以包括base64中每个字符对应的颜色信息的映射关系,如图4的转换表示意图所示(图4按照RGB前高位后低位的编码方式进行编码)。当确定需要隐藏的字符信息时,可以从该转换表中查找该字符对应的颜色信息。
在本申请实施例的另一种优选实施例中,若该像素信息为位置信息时,步骤102进一步可以包括如下子步骤:
子步骤S21,确定起始位置,并将所述起始位置作为第一个字符信息对应的像素的位置信息;
子步骤S22,将下一字符信息对应的像素的位置信息设置在,与前一字符信息对应的像素的位置信息相隔指定像素步长的位置处。
在具体实现中,可以根据预设的定位算法,确定起始位置。例如,可以将起始位置确定为固定的位置,或者,根据图像的实际情况,将起始位置确定为图像的非主体位置等,本申请实施例对此不作限制。
当确定起始位置以后,则可以将该起始位置作为第一个字符信息对应的像素的位置信息,而下一字符信息对应的像素的位置可以为与上一字符信息的位置相隔指定像素步长的位置,按照这种方式,最终确定每个字符信息对应的像素的位置信息。
例如,可以按照需求,约定两个字符信息对应的像素之间相隔10个像素(即指定像素步长为10个像素),则在确定起始位置以后,将起始位置后10个像素的位置确定为第二个字符信息对应的像素的位置信息。
步骤103,分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
在本申请实施例中,为了防止单个像素在压缩后信息丢失,在将每个字符信息编码成像素信息以后,可以进一步根据该像素确定色块,以色块为单位进行信息编码,从而可以降低信息因压缩而丢失的概率。
在本申请实施例的一种优选实施例中,步骤103进一步可以包括如下子步骤:
按照预设的位置规则,将包含所述像素的位置信息的指定区域作为目标色块,并根据所述位置信息确定所述目标色块的目标位置。
在具体实现中,当确定每个字符信息对应的像素的位置信息以后,可以根据该位置信息,取该位置信息的预设范围内的指定区域,作为目标色块。而根据该指定区域以及当前像素的位置信息,可以确定目标色块的目标位置。
例如,可以以当前像素的位置信息为圆心,指定半径范围内的区域作为指定区域;又如,可以以当前像素的位置信息作为第一个像素,取5x5的矩形区域作为指定区域,当然,本申请实施例对指定区域不作限定,本领域技术人员根据实际需要定制包含当前像素的位置信息在内的任何形状的区域作为指定区域均是可以的。
步骤104,在所述图像中,将所述目标位置中的色块替换为所述目标色块。
确定指定区域及其目标位置以后,可以采用当前像素的颜色信息来填充该指定区域,从而得到相同颜色的目标色块,以将目标色块替换该目标位置的原有色块。
当所有的字符信息都执行完上述的步骤102-步骤104,则最终得到的图像为包含了隐藏信息的图像。
在本申请实施例中,当需要在图像中隐藏信息时,针对需要隐藏的字符信息,可以依次将每个字符信息编码成包含颜色信息以及位置信息的像素信息,并根据该颜色信息确定目标色块,以及,根据该位置信息确定目标色块对应的目标位置,以色块为单位,将目标色块替换该图像的对应位置上的色块,从而实现在图像中隐藏信息,由于本申请实施例以色块为单位来隐藏信息,使得图像经过网络传输、算法压缩、缩放、回流后图像携带的隐藏信息能够被提取和还原,降低了隐藏信息在压缩后丢失的概率。
参考图5,示出了本申请的一种获取编码信息的方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501,遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
在具体实现中,该图像数据可以为经过算法压缩等处理后的图像数据。该图像数据可以作为信息的载体,用于携带隐藏信息。
当获得图像数据以后,可以扫描图像数据中的每个像素,依次判断每个像素是否携带对应的字符信息。
在本申请实施例的一种优选实施例中,步骤501进一步可以包括如下子步骤:
子步骤S31,获取所述像素的RGB值;
子步骤S32,根据预设的容错范围值,将所述RGB值修正为在所述容错范围值内的容错值;
考虑到图像经过图像算法压缩后,图像像素值会发生较大变化,因此本申请实施例进行了容错考虑。例如,如图2的容错区间示意图所示,可以将容错范围值设定为32,则针对RGB三个通道中每个通道,单个通道0-255范围,可以划分成如下四个区间:[0-64),[64,128),[128,192),[192,255)。当容错范围值设定为32时,从每个区间中选取的容错值可以分别为32,96,160,224。这样可以保证各自的容错范围为32。
在具体实现中,可以采用近似值进行RGB值的修正。如图6的字符解码示意图所示,获取到经过传输的图像信息并提取某个位置的像素后,经过压缩的像素信息可能发生变化,例如,若某个被压缩后的像素的RGB值分别为(80,174,156),若容错范围值设定为32,则可以将R值80修正为容错值96(96与80之差16低于容错范围值32),将G值174修正为容错值160,将B值156修正为容错值160,则修正后的RGB值为(96,160,160)。
子步骤S33,根据预置的容错值与编号的对应关系,分别确定所述容错值对应的二进制数值;
在具体实现中,生成容错值后,可以为该容错值分配编号,生成容错值与编号的映射关系。
例如,针对上述容错值32,96,160,224,可以分别编号为0,1,2,3。
则针对上述的修正后的RGB值(96,160,160),对应的编号分别是1、2、2。而十进制的编号“1”对应的二进制数值为“01”,十进制的编号“2”对应的二进制数值为“10”。即修正后的RGB值(96,160,160)中每个容错值对应的二进制数值分别是“01”、“10”、“10”。
子步骤S34,将所有容错值对应的二进制数值进行组合,并判断组合后的二进制数值对应的十进制数值是否具有对应的base64格式的字符;若是,则判定所述像素对应的字符信息;若否,则判定所述像素没有对应的字符信息。
确定每个容错值对应的二进制数值以后,可以将所有的容错值对应的二进制数值进行组合,得到当前像素对应的二进制数值。
例如,针对上例,上述像素对应的二进制数值进行组合后得到的二进制数值为“011010”。
随后,可以将当前像素对应的二进制数值转换为十进制数,并判断该十进制数是否为base64中的可打印字符对应的编号。例如,针对上例中的二进制数值“011010”,对应的十进制数值为“26”,根据base64中的可打印字符的编号,可以得到编号为“26”的字符为“a”。此时,可以判定当前像素具有对应的字符“a”。又如,假设某个二进制数值对应的十进制数值为70,而base64中的可打印字符的编号并没有“70”,则可以判定该像素不具有对应的字符信息。
步骤502,当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块;
在具体实现中,在遍历像素的过程中,当首次遍历到有像素携带字符信息时,可以将该字符信息与特定字符中的首个字符进行比较,判断两者是否一致,若一致,则可以继续往下遍历。具体的,可以从首次遍历到的具有字符信息的像素所处的位置开始,按照预设规则依次提取排序在该像素后的色块。其中,每个色块中可以包括多个颜色信息(即RGB信息)相同的像素。
在本申请实施例的一种优选实施例中,步骤502进一步可以包括如下子步骤:
从所述像素所处的位置开始,每隔指定像素步长提取色块。
具体的,上述预设规则可以包括每隔指定像素步长为规则来提取色块。例如,从第一个携带字符信息的像素所处的位置开始,每隔10个像素提取一个色块。
在实际中,该色块可以包含指定区域内的像素,例如,5x5的矩形区域、圆形区域等。该指定区域可以根据实际需求确定,本申请实施例对此不作限定。
步骤503,基于所述色块,确定对应的目标字符信息。
在具体实现中,每提取一个色块,可以根据该色块中的像素,确定该色块对应的一目标字符信息。
在本申请实施例的一种优选实施例中,步骤503进一步可以包括如下子步骤:
子步骤S41,从所述色块中提取一目标像素;
在具体实现中,由于色块中的像素为相同颜色信息的像素,则可以从色块从取一目标像素进行解码。例如,可以提取色块中的中心点像素作为目标像素,或者,提取色块的第一个像素作为目标像素,或者取色块中的任意像素作为目标像素,本申请实施例对目标像素的提取规则不作限定。
子步骤S42,对所述目标像素进行解码,获得所述目标像素对应的目标字符信息。
当确定目标像素以后,可以采用步骤501的方式,对目标像素进行解码,获得该目标像素对应的目标字符信息。
在本申请实施例的一种优选实施例中,还可以包括如下步骤:
针对已获得的字符信息和/或目标字符信息,判断是否存在特定字符信息;若存在所述特定字符信息,则将在所述特定字符信息之后获取的目标字符信息作为业务信息。
具体的,在遍历的过程中,针对已经解码出来的字符信息和/或目标字符信息,可以首先判断该字符信息和/或目标字符信息是否携带有特定字符信息,其中,该特定字符信息可以作为信息标识头,用于标识隐藏信息的开始位置。
具体的,该特定字符可以是企业标识的固定字符或者其他指定的固定字符,本发明实施例对此不作限定,但为了防止在信息识别时出现误差,可以使用三个以上字符约定特定字符。
当识别出特定字符以后,则可以根据该特定字符中的最后一个字符的位置,以及指定像素步长,确定携带业务信息的色块,并从所述色块中选取一目标像素解码出业务信息,重复执行上述过程,直到整个图像数据遍历完毕,从而获得完整的业务信息。
在实际中,在遍历图像数据的过程中,如果不存在特定字符,则可以判定当前图像数据不存在业务信息。
在本申请实施例中,当获得图像数据以后,可以遍历图像数据中的每个像素,以判断各个像素是否具有对应的字符信息,当遍历到某个像素具有对应的字符信息时,从该像素所处的位置开始,依次提取色块,并根据色块,确定对应的目标字符信息,其中,所述色块包括多个颜色信息相同的像素,从而实现从图像数据中提取和还原隐藏信息,通过图像信息中的色块来还原隐藏信息,降低了数据在压缩或传输过程中丢失的概率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请的一种信息编码的装置实施例的结构框图,所述装置具体可以包括如下模块:
字符信息确定模块701,用于确定图像中需要隐藏的字符信息;
像素信息确定模块702,用于分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;
目标色块确定模块703,用于分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
色块替换模块704,用于在所述图像中,将所述目标位置中的色块替换为所述目标色块。
在本申请实施例的一种优选实施例中,所述颜色信息包括RGB信息,所述像素信息确定模块702进一步可以包括如下子模块:
容错值确定子模块,用于按照预设的容错范围值,分别将RGB三个通道中的每个通道划分成对应的多个区间,并从每个区间中选取一容错值;
编号子模块,用于分别为所述容错值进行编号;
解码子模块,用于采用base64解码方式,分别将所述字符信息解码成二进制数值;
目标编号确定子模块,用于将所述二进制数值划分成3个字节,并确定每个字节对应的目标编号;
RGB值确定子模块,用于将所述目标编号对应的容错值组织成所述二进制数值的RGB值。
在本申请实施例的一种优选实施例中,当所述像素信息为位置信息时,所述像素信息确定模块702进一步可以包括如下子模块:
位置确定子模块,用于确定起始位置,并将所述起始位置作为第一个字符信息对应的像素的位置信息;并将下一字符信息对应的像素的位置信息设置在,与前一字符信息对应的像素的位置信息相隔指定像素步长的位置处。
在本申请实施例的一种优选实施例中,所述目标色块确定模块还用于:
按照预设的位置规则,将包含所述像素的位置信息的指定区域作为目标色块,并根据所述位置信息确定所述目标色块的目标位置。
在本申请实施例的一种优选实施例中,所述字符信息包括特定字符信息以及业务信息。
在本申请实施例的一种优选实施例中,所述装置还可以包括如下模块:
字符信息转换模块,用于当需要隐藏的信息不是字符信息时,将所述需要隐藏的信息编码成base64形式的字符信息。
对于图7的装置实施例而言,由于其与上述的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图8,示出了本申请的一种获取编码信息的装置实施例的结构框图,所述装置具体可以包括如下模块:
像素遍历模块801,用于遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
色块提取模块802,用于当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块,其中,所述色块包括多个颜色信息相同的像素;
目标字符信息确定模块803,用于基于所述色块,确定对应的目标字符信息。
在本申请实施例的一种优选实施例中,所述像素遍历模块801进一步可以包括如下子模块:
RGB值获取子模块,用于获取所述像素的RGB值;
RGB值修正子模块,用于根据预设的容错范围值,将所述RGB值修正为在所述容错范围值内的容错值;
二进制数值确定子模块,用于根据预置的容错值与编号的对应关系,分别确定所述容错值对应的二进制数值;
字符判断子模块,用于将所有容错值对应的二进制数值进行组合,并判断组合后的二进制数值对应的十进制数值是否具有对应的base64格式的字符;若是,则判定所述像素对应的字符信息;若否,则判定所述像素没有对应的字符信息。
在本申请实施例的一种优选实施例中,所述色块提取模块还用于:
从所述像素所处的位置开始,每隔指定像素步长提取色块。
在本申请实施例的一种优选实施例中,所述装置还可以包括如下模块:
特定字符判断模块,用于针对已获得的字符信息和/或目标字符信息,判断是否存在特定字符信息;
业务信息确定模块,用于若存在所述特定字符信息,则将在所述特定字符信息之后获取的目标字符信息作为业务信息。
在本申请实施例的一种优选实施例中,所述目标字符信息确定模块进一步可以包括如下子模块:
目标像素提取子模块,用于从所述色块中提取一目标像素;
目标像素解码子模块,用于对所述目标像素进行解码,获得所述目标像素对应的目标字符信息。
对于图8的装置实施例而言,由于其与上述的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的系统。图9示意性地示出了可被用于实现本公开中所述的各个实施例的示例性的信息编码系统900。
对于一个实施例,图9示出了示例性系统900,该系统具有一个或多个处理器902、被耦合到(一个或多个)处理器902中的至少一个的系统控制模块(芯片组)904、被耦合到系统控制模块904的系统存储器906、被耦合到系统控制模块904的非易失性存储器(NVM)/存储设备908、被耦合到系统控制模块904的一个或多个输入/输出设备910,以及被耦合到系统控制模块906的网络接口912。
处理器902可包括一个或多个单核或多核处理器,处理器902可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,系统900能够作为本申请实施例中所述的数据平台。
在一些实施例中,系统900可包括具有指令的一个或多个计算机可读介质(例如,系统存储器906或NVM/存储设备908)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器902。
对于一个实施例,系统控制模块904可包括任意适当的接口控制器,以向(一个或多个)处理器902中的至少一个和/或与系统控制模块904通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块904可包括存储器控制器模块,以向系统存储器906提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器906可被用于例如为系统900加载和存储数据和/或指令。对于一个实施例,系统存储器906可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器906可包括双倍数据速率类型四同步动态随机存取存储器(DDR2SDRAM)。
对于一个实施例,系统控制模块904可包括一个或多个输入/输出控制器,以向NVM/存储设备908及(一个或多个)输入/输出设备910提供接口。
例如,NVM/存储设备908可被用于存储数据和/或指令。NVM/存储设备908可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备908可包括在物理上作为系统900被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备908可通过网络经由(一个或多个)输入/输出设备910进行访问。
(一个或多个)输入/输出设备910可为系统900提供接口以与任意其他适当的设备通信,输入/输出设备910可以包括通信组件、音频组件、传感器组件等。网络接口912可为系统900提供接口以通过一个或多个网络通信,系统900可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统900可以但不限于是:浏览器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统900可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统900包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中上述方法各个步骤的指令(instructions)。
在一个示例中提供了一种系统,包括:一个或多个处理器;和,其上存储的有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如本申请实施例中的上述方法各个步骤的指令(instructions)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为客户端、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的客户端、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、客户端、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、客户端、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、客户端、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种信息编码及获取编码信息的方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的客户端及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种信息编码的方法,其特征在于,所述方法包括:
确定图像中需要隐藏的字符信息;
分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;
分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
在所述图像中,将所述目标位置中的色块替换为所述目标色块。
2.根据权利要求1所述的方法,其特征在于,所述颜色信息包括RGB信息,所述分别确定所述字符信息对应的像素信息,包括:
按照预设的容错范围值,分别将RGB三个通道中的每个通道划分成对应的多个区间,并从每个区间中选取一容错值;
分别为所述容错值进行编号;
采用base64解码方式,分别将所述字符信息解码成二进制数值;
将所述二进制数值划分成3个字节,并确定每个字节对应的目标编号;
将所述目标编号对应的容错值组织成所述二进制数值的RGB值。
3.根据权利要求1所述的方法,其特征在于,当所述像素信息为位置信息时,所述分别确定所述字符信息对应的像素信息,包括:
确定起始位置,并将所述起始位置作为第一个字符信息对应的像素的位置信息;
将下一字符信息对应的像素的位置信息设置在,与前一字符信息对应的像素的位置信息相隔指定像素步长的位置处。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置,包括:
按照预设的位置规则,将包含所述像素的位置信息的指定区域作为目标色块,并根据所述位置信息确定所述目标色块的目标位置。
5.根据权利要求1所述的方法,其特征在于,所述字符信息包括特定字符信息以及业务信息。
6.根据权利要求1所述的方法,其特征在于,在所述确定图像中需要隐藏的字符信息之前,还包括:
当需要隐藏的信息不是字符信息时,将所述需要隐藏的信息编码成base64形式的字符信息。
7.一种获取编码信息的方法,其特征在于,所述方法包括:
遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块,其中,所述色块包括多个颜色信息相同的像素;
基于所述色块,确定对应的目标字符信息。
8.根据权利要求7所述的方法,其特征在于,所述判断所述像素是否具有对应的字符信息,包括:
获取所述像素的RGB值;
根据预设的容错范围值,将所述RGB值修正为在所述容错范围值内的容错值;
根据预置的容错值与编号的对应关系,分别确定所述容错值对应的二进制数值;
将所有容错值对应的二进制数值进行组合,并判断组合后的二进制数值对应的十进制数值是否具有对应的base64格式的字符;
若是,则判定所述像素对应的字符信息;
若否,则判定所述像素没有对应的字符信息。
9.根据权利要求7或8所述的方法,其特征在于,所述从所述像素所处的位置开始,依次提取色块,包括:
从所述像素所处的位置开始,每隔指定像素步长提取色块。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
针对已获得的字符信息和/或目标字符信息,判断是否存在特定字符信息;
若存在所述特定字符信息,则将在所述特定字符信息之后获取的目标字符信息作为业务信息。
11.根据权利要求7或8或10所述的方法,其特征在于,所述基于所述色块,确定对应的目标字符信息,包括:
从所述色块中提取一目标像素;
对所述目标像素进行解码,获得所述目标像素对应的目标字符信息。
12.一种信息编码的装置,其特征在于,所述装置包括:
字符信息确定模块,用于确定图像中需要隐藏的字符信息;
像素信息确定模块,用于分别确定所述字符信息对应的像素信息,其中,所述像素信息包括颜色信息以及位置信息;
目标色块确定模块,用于分别根据所述颜色信息确定目标色块,以及,根据所述位置信息确定所述目标色块对应的目标位置;
色块替换模块,用于在所述图像中,将所述目标位置中的色块替换为所述目标色块。
13.一种获取编码信息的装置,其特征在于,所述装置包括:
像素遍历模块,用于遍历图像数据中的每个像素,判断所述像素是否具有对应的字符信息;
色块提取模块,用于当遍历到某个像素具有对应的字符信息时,从所述像素所处的位置开始,依次提取色块,其中,所述色块包括多个颜色信息相同的像素;
目标字符信息确定模块,用于基于所述色块,确定对应的目标字符信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786108.6A CN110730277B (zh) | 2018-07-17 | 2018-07-17 | 一种信息编码及获取编码信息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810786108.6A CN110730277B (zh) | 2018-07-17 | 2018-07-17 | 一种信息编码及获取编码信息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110730277A true CN110730277A (zh) | 2020-01-24 |
CN110730277B CN110730277B (zh) | 2022-04-05 |
Family
ID=69217559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810786108.6A Active CN110730277B (zh) | 2018-07-17 | 2018-07-17 | 一种信息编码及获取编码信息的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110730277B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037465A (zh) * | 2021-03-11 | 2021-06-25 | 钧捷智能(深圳)有限公司 | 汽车数据安全处理方法、装置、电子设备及存储介质 |
CN115174757A (zh) * | 2022-06-08 | 2022-10-11 | 广州鲁邦通智能科技有限公司 | 一种表单信息提交方法、读取方法及处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060268311A1 (en) * | 2005-05-26 | 2006-11-30 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101106623A (zh) * | 2006-07-11 | 2008-01-16 | 索尼株式会社 | 图像捕捉装置、捕捉方法、处理设备、处理方法以及程序 |
CN102640505A (zh) * | 2009-11-13 | 2012-08-15 | 三星电子株式会社 | 产生用于附加视频再现信息的3维再现的多媒体流的方法和设备,以及接收用于附加视频再现信息的3维再现的多媒体流的方法和设备 |
CN105447404A (zh) * | 2015-11-06 | 2016-03-30 | 湖北工业大学 | 一种云存储中图像隐私保护的方法及系统 |
CN106330976A (zh) * | 2016-11-03 | 2017-01-11 | 武汉斗鱼网络科技有限公司 | 一种信息加、解密的方法及装置 |
-
2018
- 2018-07-17 CN CN201810786108.6A patent/CN110730277B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060268311A1 (en) * | 2005-05-26 | 2006-11-30 | Canon Kabushiki Kaisha | Image processing apparatus and image processing method |
CN101106623A (zh) * | 2006-07-11 | 2008-01-16 | 索尼株式会社 | 图像捕捉装置、捕捉方法、处理设备、处理方法以及程序 |
CN102640505A (zh) * | 2009-11-13 | 2012-08-15 | 三星电子株式会社 | 产生用于附加视频再现信息的3维再现的多媒体流的方法和设备,以及接收用于附加视频再现信息的3维再现的多媒体流的方法和设备 |
CN105447404A (zh) * | 2015-11-06 | 2016-03-30 | 湖北工业大学 | 一种云存储中图像隐私保护的方法及系统 |
CN106330976A (zh) * | 2016-11-03 | 2017-01-11 | 武汉斗鱼网络科技有限公司 | 一种信息加、解密的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037465A (zh) * | 2021-03-11 | 2021-06-25 | 钧捷智能(深圳)有限公司 | 汽车数据安全处理方法、装置、电子设备及存储介质 |
CN115174757A (zh) * | 2022-06-08 | 2022-10-11 | 广州鲁邦通智能科技有限公司 | 一种表单信息提交方法、读取方法及处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110730277B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010855B2 (en) | Method and apparatus for protecting digital photos from alteration | |
US11902559B2 (en) | Detection of video tampering | |
US10311757B2 (en) | Data hiding method and data hiding system | |
CN111510752B (zh) | 数据传输方法、装置、服务器及存储介质 | |
WO2018002944A1 (en) | Converting binary data to images | |
US20200250786A1 (en) | System and method for encoding and authenticating a digital image | |
US10853917B2 (en) | Color image authentication method based on palette compression technique | |
CN110876062B (zh) | 用于特征图的高速压缩处理的电子设备及其控制方法 | |
CN110730277B (zh) | 一种信息编码及获取编码信息的方法和装置 | |
EP3343446A1 (en) | Method and apparatus for encoding and decoding lists of pixels | |
CN106503112B (zh) | 视频检索方法和装置 | |
CN110189384B (zh) | 基于Unity3D的图像压缩方法、装置、计算机设备和存储介质 | |
CN111241344B (zh) | 视频查重方法、系统、服务器及存储介质 | |
CN107103632B (zh) | 图像压缩方法及装置 | |
CN108629391B (zh) | 彩码编解码方法、系统和设备 | |
CN110322385B (zh) | 水印嵌入以及提取方法、装置及电子设备 | |
US11051080B2 (en) | Method for improving video resolution and video quality, encoder, and decoder | |
CN116170599B (zh) | 一种同步实时图像压缩方法、系统、介质及终端 | |
CN112399196B (zh) | 图像处理方法及装置 | |
CN111353133B (zh) | 图像处理方法、装置和可读存储介质 | |
CN108876703B (zh) | 数据存储方法 | |
CN113379582A (zh) | 一种信息添加方法、信息提取方法、装置和电子设备 | |
US8331693B2 (en) | Information encoding apparatus and method, information retrieval apparatus and method, information retrieval system and method, and program | |
CN106604033B (zh) | 图像编码与逻辑运算方法及装置 | |
CN114697738B (zh) | Hdcp key值编码和解码方法及其装置、设备和存储介质 |
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 |