【问题标题】:Derive specific bitstream with few given information用很少的给定信息导出特定的比特流
【发布时间】:2014-05-29 17:19:04
【问题描述】:

我有一个关于算法设计的问题。

假设我在一个编码器中有 SRB 这三个比特流,如下所示,输出为 D。
我的问题是如何用唯一给定的 DR 导出解码器中的 SB

我最初的想法是使用 xor (^) 操作和 D=1001

Encoder:
S      |R      |X=S^R  |B      |D=X^B
0001   |1010   |1011   |0010   |1001

此外,在解码器中,它只接收 DR,如下所示,

Decoder:
D      |R      |
1001   |1010   |

但基本上X=S^RX=B^D,因此S^R=B^D或者说D^R = S^B。因此,我不知道如何分别导出 SB
有没有人能给出一个你知道处理这个问题的概念、想法或算法。
非常感谢:)

【问题讨论】:

    标签: algorithm bitmap binary bit-manipulation bit


    【解决方案1】:

    你不能。 D = S ^ B ^ R,给定 D 和 R,您可以返回 S ^ B(如您所示),但其余信息已不存在。

    当然它必须消失:你只有 8 位,你不能在那里存储 12 位的信息。如果可以的话,您可以递归地应用该转换,直到您将任意数量的信息压缩到一个字节为止。

    但是,也许你有一些关于 S 和 B 的先验知识,或者它们之间或其中一个与 R 之间的一些有用的关系。如果你有足够的知识,你也许能够重构 S 和 B (例如,如果 B = R,则 D = S,所以你都知道)。

    【讨论】:

    • R 两边都是常数,所以 OP 试图用 4 位空间存储 8 位。
    • @ShawnC 好的,我将其解释为另一个变量。不过没关系,还是不行,原因是一样的。
    • 我用一个当前未知的方法代替异或,解码器得到它的输出和解码器中的R怎么样?或者最终无论我使用哪种方法,这都是一个理论上不可能的问题。
    • @user3030046 存在从 3 个事物到 2 个事物的可逆映射,但它们给出了 2 个稍大的事物,因此总信息内容保持不变。如果你尝试用 8 表示 12 位(或者 8 用 4,或者一般情况下,n 用 m,其中 m
    猜你喜欢
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    相关资源
    最近更新 更多