大量冗余,怎么实现可靠传输,谢谢各位了。
![]() | 1 geligaoli 2019-09-18 15:40:09 +08:00 这么高的冗余,加上校验数据,可以多次重传。 |
![]() | 2 xemtof 2019-09-18 15:40:49 +08:00 试试海明码。 |
![]() | 3 geligaoli 2019-09-18 15:43:59 +08:00 |
![]() | 4 cigarzh 2019-09-18 15:54:20 +08:00 啥叫极不靠谱? bit flipping 概率很高吗? |
5 noname2001 OP @cigarzh 翻转率极高 一片片的翻转 |
6 noname2001 OP @geligaoli rscode 测试过 效果普通 这个页面现在没办法打开 谢谢您回复 |
7 noname2001 OP 我的场景是通过在画面中增加水印,会通过 h264 和 jpeg 双重有损编码, 增加的信息大范围被损坏,想要一种可靠的算法确定 16bits 信息。目前做的的尝试有 fft 水印、rscode 等 |
8 noname2001 OP @geligaoli 是单向传输 多谢 |
9 noname2001 OP @xemtof 海明能检测多位翻转吗? 我的应用是正文 2 字节、校验位可以是 28 字节,如果海明能搞定就好了 |
10 lonewolfakela 2019-09-18 16:20:27 +08:00 "翻转率极高 一片片的翻转",“极高”到底是多高呢,有的人可能觉得 10%就很高了,有的人可能到 50%才会说“极高”……另外“一片片”是说反转的位置是连续的么?那么一般在 320bits 里连续的翻转段会有多长呢? |
11 noname2001 OP @lonewolfakela 可能最极端会接近 90% |
12 noname2001 OP 所以有效数据位选择 16 位,相当于 6.6%的有效数据 |
13 honeycomb 2019-09-18 16:23:54 +08:00 via Android @noname2001 你应当掌握访问 Wiki 的技能,都是写算法的了。 |
14 noname2001 OP @lonewolfakela 我增加的水印实际显示和背景相关,所以会出现大片的错误,是全 0 或全 1 这种,连续位翻转的可能性不大 多谢 |
15 noname2001 OP @honeycomb 特殊 日寸 其 月, 好失落 多谢 |
![]() | 16 xemtof 2019-09-18 16:33:18 +08:00 @noname2001 能,有公式 2^k -1 > n+k。 |
17 danielmiao 2019-09-18 17:03:59 +08:00 @noname2001 从理论上讲高于 50%的错误率是没办法的吧,因为大部分的纠错也好查错也好的基础条件是,正确数据是占多数的,通过多数的正确数据去恢复少数的错误数据,你这 90%的错误率的时候,实际上错误数据要远大于正确数据,而你无法识别那些是正确的那些是错误的,最终的结果是正确数据被错误数据纠正成错误数据了 |
18 noname2001 OP 需求是给视频照片加不可见水印,通过 264 或 jpeg 编码、解码后还能得到这个信息 多谢 |
19 danielmiao 2019-09-18 17:14:32 +08:00 根据你的描述,我猜测的场景应该是防止盗录 /截屏,在视频数据里加上了唯一识别码,然后想在提取出来唯一识别码,我感觉换个思路会不会更好,比如在纯中块中间插入某些颜色接近但是能规避 JPEG 合并的像素点之类的方案 |
20 crystom 2019-09-18 17:23:29 +08:00 |
21 noname2001 OP @danielmiao LSB 之类的算法对 JPEG 基本无用 信噪比太低 当成噪声处理掉了 |
22 noname2001 OP @crystom 多谢多谢 拜读一下 |
23 noname2001 OP @crystom 这个 FFT 这试过了 抗干扰还行 但是运算效率不能满足我的需求 多谢 |
24 danielmiao 2019-09-18 18:11:09 +08:00 @noname2001 LSB 算法确实信噪比太低;可以考虑类似锐化效果方式,在轮廓边缘加上特定的数据带,从感官上来说无非是图片被锐化过,普通人不仔细看应该不太明显,同时抗编码攻击效果还行,缺点是只能适用于截图,翻拍无效,而且抗变型攻击能力奇差,拉伸缩放以后基本上无效了 |
![]() | 25 Cooky 2019-09-18 18:14:51 +08:00 via Android sha256 ?省事 |
26 smdbh 2019-09-18 19:23:04 +08:00 很好奇应用背景 |
![]() | 27 SeanChense 2019-09-18 19:41:39 +08:00 应付位翻转难道不应该用格雷码吗? |
28 bilibilifi 2019-09-18 19:47:32 +08:00 via iPhone 信息论有点忘了...记得有库可以干的 |
![]() | 29 blindie 2019-09-18 20:07:17 +08:00 via Android 这不就是典型数字水印的需求吗。直接搜相关论文吧。学校里的时候老师教的是就是 FFT 加水印,现在最新技术是啥就不知道了。又要效果又要速度,那可能得找个权衡。 |
![]() | 30 favourstreet 2019-09-18 20:10:46 +08:00 via Android 不开玩笑:把 16Bit 重复 20 遍,20 个 bit 当一个使 |
![]() | 31 expy 2019-09-18 20:15:15 +08:00 电影院防盗摄的水印应该有成熟的实现吧。 搜搜 transcoding resistant digital watermark ? https://www.researchgate.net/publication/316486963_Digital_Cinema_Watermarking_State_of_Art_and_Comparison |
32 ivan_wl 2019-09-18 20:18:30 +08:00 BCH, LDPC |
33 fonlan 2019-09-18 22:00:09 +08:00 via Android Polar 极化码? |
34 noname2001 OP 亲爱的大神们:我们应用的场景是,给视频或图片素材打水印、通过网络播放、在前端通过 hdmi 信号分析画面,判断是否有水印或水印 ID。抓取 hdmi 的设备只能输出 mjpeg 的码流, 所以有 h264 和 jpeg 双重有损编码破坏。bit 全 0 或全 1 损坏率可能达到 90%。 |
35 noname2001 OP 目前作过的尝试有: 1 重复法,测试误报率高。 2 fft 水印:测试速度慢,实时性差,水印人眼勉强辨识,opencv 很难识别,特别影响画面边角纯色区域(条纹很明显) 3 其他 gayhub/stego-toolkit 这里提到的隐写算法,都无法适应我们应用的场景。 4 rscode 算法:测试超过 1 半损坏,基本无法还原。 |
36 noname2001 OP 大家提到的抗转码水印、BCH、LDPC、极化码,我还正在研究,特别是 Polar 感觉好前沿, 哈哈。 再次感谢大家集思广议,让我受益匪浅。 |
37 noname2001 OP 别沉 自顶, 想找一个冗余 10 倍,能可靠纠错的算法,这个需求很特别( BT ) 还请大神赐教! |