rockjike
V2EX  ›  问与答

一种对资源的新存储方式的构想

  •  
  •   rockjike · Sep 6, 2018 · 6215 views
    This topic created in 2982 days ago, the information mentioned may be changed or developed.

      场景:假设你下载一部 2G 的电影资源,考虑到网速等限制, 需要十分钟,是否有一种方式能几十秒内就实现这个过程?

       构想:你本地安装特定环境,你只需要去下载一个几 kb 的文件 ,该文件可能类似是一种公式,将下载的公式放入你本地的环境就能解析 生成.mp4 等特定的视频格式或者就能通过公式直接播放视频. 如何以上的构想能够实现,那将对资源的存储形成一场变革. (如视频直播,只要每次只要请求几 kb 文件就播放十几分钟)

    请 v 友评估一下 -------2018.9.6 Jike

    100 replies  •  2018-09-08 10:27:44 +08:00
    jpmorn
    jpmorn
    Sep 6, 2018
    1
    热力学第二定律?

    不花代价让熵变小。感觉难吧
    gamexg
    gamexg
    Sep 6, 2018
    2
    就是极高压缩率的压缩。
    有过几个例子做到过楼主的那种压缩率,很小文件执行起来是一段很长的高质量视频。
    记得其中一个是依靠复用贴图+实时渲染做到的。
    lostberryzz
    lostberryzz
    Sep 6, 2018❤️10
    3
    信息论了解一下?
    loading
    loading
    Sep 6, 2018 via iPhone
    4
    呃,你这个 bt 种子和加边下边播。
    gamexg
    gamexg
    Sep 6, 2018
    5
    特定类型可以实现,
    记得有的游戏录像就只记录很少的信息,播放时使用游戏素材渲染。
    loading
    loading
    Sep 6, 2018 via iPhone
    6
    通过楼主这个构想,在下已经穷举了 100kb 以下的所有电影。
    kaneg
    kaneg
    Sep 6, 2018 via iPhone
    7
    视频压缩软件就是干这个活的,几个 G 的原始视频被压缩成几百 M
    prolic
    prolic
    Sep 6, 2018 via Android
    8
    可以用超大词典的方式来压缩
    rockjike
    rockjike
    OP
    Sep 6, 2018 via Android
    9
    @jpmorn 现在的计算机以 01 编码,我在本地环境以 01 基础在封装一些小模块类似积木,根据公式选择特定的积木生成特定资源
    Loyalsoldier
    Loyalsoldier
    Sep 6, 2018
    10
    记得几年前看过相关的新闻,说把一个视频压缩到非常非常小,大概只有几 MB ……但是你解压得花很多时间。这是以时间换空间
    lekai63
    lekai63
    Sep 6, 2018 via iPhone
    11
    跟压缩解压的区别在哪?
    分段压缩 分段解压
    lekai63
    lekai63
    Sep 6, 2018 via iPhone
    12
    ?
    tcp
    tcp
    Sep 6, 2018 via Android
    13
    视频每个像素的取值范围 0 ~ 255,除非视频中绝大部份像素都是相同的,使得这些像素的概率极高,才能使熵很小。根据 entropy=-p1*log2(p1)-p2*log2(p2)-...p256*log2(p256)可以求熵 即平均每个像素需要多少比特。
    rockjike
    rockjike
    OP
    Sep 6, 2018 via Android
    14
    @kaneg 不需要几百兆,如果形式是一个公式,只要几 kb 或者再大一些
    tcp
    tcp
    Sep 6, 2018 via Android
    15
    @tcp 当然实际视频编码是编量化后的残差变换系数
    ipwx
    ipwx
    Sep 6, 2018 via iPhone
    16
    信息论了解一下……
    rockjike
    rockjike
    OP
    Sep 6, 2018 via Android
    17
    @Loyalsoldier 不是解压的概念,他会放在特定的容器里,容器有很多基础模块,所以加载非常快
    jadec0der
    jadec0der
    Sep 6, 2018❤️31
    18
    这就是为什么公司都喜欢招科班出身的程序员
    misaka19000
    misaka19000
    Sep 6, 2018 via Android❤️11
    19
    典型的计算机民科
    yukiww233
    yukiww233
    Sep 6, 2018❤️1
    20
    你看到的 mp4 就是压缩并封装之后的了
    压缩跑的字典就是你所谓的公式
    如果你用一个 1g 长度的字典(公式)确实可以把一个 1g 的文件压成 1B
    zhzer
    zhzer
    Sep 6, 2018 via Android
    21
    你下的 2g 电影资源就是公式,谢谢
    jiangnanyanyu
    jiangnanyanyu
    Sep 6, 2018 via Android
    22
    信息论了解一下
    anyele
    anyele
    Sep 6, 2018 via Android
    23
    民科又来了
    swcat
    swcat
    Sep 6, 2018 via Android
    24
    实时渲染,有一个 彗星撞地球 的视频 64kb,可以播放很久
    游戏观战 同步很少的数据,然后本地渲染还原

    现在的普通视频压缩到你播放你说的过程,只是压缩率达不到
    des
    des
    Sep 6, 2018 via Android❤️5
    25
    你这个不如我这个(

    由于 PI 是无限不循环小数,所以里面可以有所有东西。然后每个文件都只用存开始和结束就行了,保证比你这个强
    underone
    underone
    Sep 6, 2018
    26
    如果演算成本需要 10 台现在的中配电脑
    或者一劳永逸把带宽增加 10 倍
    这是个哪个模式划算的问题吧
    learnshare
    learnshare
    Sep 6, 2018
    27
    给一个种子,吸收水、养分和二氧化碳,照一照太阳,长成一部电影?
    信息理论读一下
    ulala
    ulala
    Sep 6, 2018 via iPhone
    28
    @des 只是你要找到起终点就要花平均无限的时间 :doge:
    onion83
    onion83
    Sep 6, 2018❤️1
    29
    还能背得出 win 98 序列号的人应该对 64k demo 不会陌生
    https://en.wikipedia.org/wiki/64K_intro


    https://download.csdn.net/download/yangyangli123/5433193
    lneoi
    lneoi
    Sep 6, 2018
    30
    去除信息论的极限值,这不就是游戏的实时渲染吗,以前 64k 动画就这样搞咯,看看游戏就知道发展现状了
    rb6221
    rb6221
    Sep 6, 2018 via Android
    31
    所有的数据都是 0 和 1,大小取决于信息量和信息密度。
    信息量——分辨率码率等等
    密度——文件格式 压缩 等等
    楼主还想到什么新的了吗
    zmj1316
    zmj1316
    Sep 6, 2018❤️4
    32
    香农哭了出来,谁说干这行门槛低的。。。。。。
    fyyz
    fyyz
    Sep 7, 2018 via Android
    33
    去看看信息论吧
    fyyz
    fyyz
    Sep 7, 2018 via Android❤️1
    34
    我来反证楼主的逻辑。

    我这里有一大堆文件,每个文件的文件内容均有 10 个字符组成,这里的字符指的是大小写字母和数字,而我这堆文件已经完整地实现了所有组合,也就是共有(26+26+10)^10 个文件。

    现在我要按照楼主的方法,将上述所有文件压缩到一个字节(注意这里是字节,共 256 种可能,此外相比起楼主把数 GB 压缩到数 KB,我这个压缩率只有十分之一),显而易见,一个字节的信息量无法充分映射到(26+26+10)^10 种组合。

    所以,楼主的设想不成立。
    line
    line
    Sep 7, 2018 via iPhone
    35
    信息守恒
    msg7086
    msg7086
    Sep 7, 2018❤️19
    36
    早就变革完了。
    一部电影含有的信息量超过 750GB,考虑到光盘容量太小,发售一次蓝光电影需要 20 张蓝光光盘。
    而现在,只需要下载仅仅 2GB 类似公式一样的东西就可以看到电影了。
    考虑到网速限制,人们再也不用花上一个月时间下载电影了,而仅仅需要数十分钟。

    这个东西放在一个叫做 Decoder 的解码器中就能用公式还原出整个电影画面来。
    这种编码解码器里有很多模块,有一个叫 DCT/IDCT,专门用来在时空域和频域之间转换。还有一个叫做 Motion estimation 模块,专门看视频里连贯的工作,把多张连续的画面变成起始画面+运动矢量+残差的公式。还有什么 MB 分析模块,专门看画面上哪些地方复杂,需要分割成小块来转换公式,哪些地方平坦,直接一大块转换成一个公式。还有 psy 人脑视觉分析,分析的是人类的眼睛看哪些部分会更敏感,看哪些部分会更不敏感,敏感的画面部分用更复杂的公式来实现。

    嗯,这玩意儿专门有个组织在做,这个组织叫 MPEG,1990 年的时候完成了上述公式的第一版定义,1992 年被批准为国际标准,叫做 MPEG-1。而且其最为流行的一个格式,叫做 MPEG-1 Layer 3,简称 MP3,是人类音视频公式中使用得最广泛的公式之一。
    如果楼主的年龄比这 MPEG 要小的话,建议等以后上了大学,可以好好了解一下信息论基础。
    ZRS
    ZRS
    Sep 7, 2018❤️2
    37
    想的太多 学的太少
    shadownet
    shadownet
    Sep 7, 2018 via iPhone
    38
    @ZRS +1
    rexxtem07
    rexxtem07
    Sep 7, 2018 via iPhone❤️1
    39
    115 的链接离线秒下了解一下?你把 115 的储存库放在本地就行了呀!(手动狗头
    torment5524
    torment5524
    Sep 7, 2018
    40
    几 kb ?就算是 1MB 好了 1024*1024*8=8388608,就算当索引,网络上不同文件个数也超过这个数了吧。
    cname
    cname
    Sep 7, 2018 via Android
    41
    @msg7086 涨知识了
    SuperMild
    SuperMild
    Sep 7, 2018
    42
    LZ,你提出了一个科幻的构想,但不是一个科学的构想。两者的区别在于,后者你需要先自己证明这种公式被研究出来的可能性,及其可以处理的极限。

    任何科学都有极限,1GB 可以压缩为 1kb,还是 10GB 可以压缩为 1kb,究竟极限在哪里?如果你认为不管大,只要有公式就能一律压缩为几十 kb,并且自己不去证明这种可能性,那就只是科幻故事而已。这种科幻构想我一天可以给你 100 个。
    miniliuke
    miniliuke
    Sep 7, 2018 via Android❤️2
    43
    香农:我们还是造把刻度无限小的尺吧
    loveour
    loveour
    Sep 7, 2018
    44
    不可能。
    newmind
    newmind
    Sep 7, 2018
    45
    国际程序设计大赛的作品了解一下实时渲染
    kernel
    kernel
    Sep 7, 2018
    46
    楼主啊,公式都不用,PI 这个无限长串包含了所有可能的信息,你只要提供一个下标索引数字就行,哈哈
    hljjhb
    hljjhb
    Sep 7, 2018 via Android
    47
    右转民科吧
    imn1
    imn1
    Sep 7, 2018
    48
    你有足够长的圆周率 pi,作为字典,很容易实现这个目标
    圆周率也可以每台计算机自己算
    不过……
    adminii
    adminii
    Sep 7, 2018
    49
    嗯,在我们这里已经实现了,格式后缀为:rar,zip,7z,tar.gz 等
    这样节约了带宽,就会增加运算。
    电影当然用 m3u8 切片就好了。
    Kagari
    Kagari
    Sep 7, 2018 via Android
    50
    几 kb 太大了压成 1b 不就好了
    chinvo
    chinvo
    Sep 7, 2018 via iPhone
    51
    pifs 还要大量空间存指针呢……
    maggch
    maggch
    Sep 7, 2018 via iPhone
    52
    可以把世界上所有电影都存在磁盘里 , 这样只需要一个几 B 的文件名就行了 .

    mdzz
    Rizio
    Rizio
    Sep 7, 2018
    53
    @des 我觉得这个比 lz 靠谱很多
    Rizio
    Rizio
    Sep 7, 2018
    54
    上面的讨论让我想起了有篇科幻小说就是通过磨一把尺子,测出尺子的长度(米为单位小数点后几乎无穷位),来纪录东西的。
    Shura
    Shura
    Sep 7, 2018
    55
    请你了解一下信息论的常识:信息熵( https://zh.wikipedia.org/zh-hans/%E7%86%B5_(%E4%BF%A1%E6%81%AF%E8%AE%BA )
    Moorj
    Moorj
    Sep 7, 2018
    56
    哪家公司有幸聘请了楼主?
    98jiang
    98jiang
    Sep 7, 2018
    57
    你想想播影片要的是什么,不就是解码器么,所以说已经压缩过了,只是没有你说的那么厉害而已
    sampeng
    sampeng
    Sep 7, 2018
    58
    电视剧。硅谷。了解一下。。和你说的是一个故事。整个算法源于撸管姿势得到的灵感
    okjb
    okjb
    Sep 7, 2018 via Android
    59
    @sampeng 涨姿势了
    vansl
    vansl
    Sep 7, 2018 via iPhone
    60
    民科来了,大家快往后稍稍
    Mutoo
    Mutoo
    Sep 7, 2018
    61
    64k intro 纯算法的影片,了解一下
    https://en.wikipedia.org/wiki/64K_intro
    aa6563679
    aa6563679
    Sep 7, 2018 via iPhone
    62
    星际争霸录像文件了解一下
    sampeng
    sampeng
    Sep 7, 2018
    63
    @okjb 当时看的时候还觉得挺逗的。4T 的超高清视频。压缩到 4G 还是 40G。。。
    y835L9DyC5XD09kq
    y835L9DyC5XD09kq
    Sep 7, 2018
    64
    @aa6563679 跟我想到一块去了。

    十几年前的 war3 replay 了解一下。

    今天的 dota2 实时观战了解一下。
    RiESA
    RiESA
    Sep 7, 2018 via Android❤️2
    65
    可以的,楼主别放弃
    首先你要黑进欧洲核子研究理事会( Conseil Européen pour la Recherche Nucléaire ),
    然后利用 LHC (大型强子对撞机)制造出迷你黑洞
    就可以把整个人脑的记忆压缩至 36kb
    通过大型显像管做电子枪,然后通过微波炉和手机设备触发甚至可以将记忆发送回过去穿越时空
    alwayshere
    alwayshere
    Sep 7, 2018
    66
    继续啊,把这几十 kb 的文件继续压缩成一种更更高级的算法,只有几 kb 了,再把这几 kb 的算法再来用更更更高级的算法压缩成几 b,以此类推,最后一部阿凡达 11 的蓝光电影文件大小趋近于零,恭喜你骚年,你领悟了生命的真谛:万物皆空
    Rehtt
    Rehtt
    Sep 7, 2018 via Android
    67
    这不就是压缩吗
    binux
    binux
    Sep 7, 2018
    68
    @kangkang #64 replay 依旧没有逃出信息论的范畴。
    realpg
    realpg
    Sep 7, 2018
    69
    百度民科吧走起
    youxiachai
    youxiachai
    Sep 7, 2018
    70
    v2 民科走一波...干死那些学术派..叫你看不起我~
    qingxiangcool
    qingxiangcool
    Sep 7, 2018
    71
    先不说视频, 说图片吧, 目前有一个理论叫做压缩感知和稀疏有关的, 可以了解下.
    doublleft
    doublleft
    Sep 7, 2018
    72
    如果我可以把整个互联网的所有电影都存在我的电脑里,是不是意味着我下载的时候只需要下载一个编号就 OK 了。
    AV1
    AV1
    Sep 7, 2018
    73
    啥都不用下载。
    直接把剧组叫到你家,让他们给你重新拍一遍。
    stargazer242
    stargazer242
    Sep 7, 2018
    74
    游戏录像的各种录像其实有这个影子 楼主这个思维适合某些特定情况下的东西 然后楼主去研究研究 war3 里面的各种录像 地图 不适合电影.
    viator42
    viator42
    Sep 7, 2018
    75
    意思就是说你想看话剧,演员布景音乐都在本地存着.只需要从网络上下载台本然后实时给你演一场
    RPGmaker 做的游戏不就是这样的吗,安装运行环境带着一堆现成的素材可以直接用,游戏本体做的很小
    zgray
    zgray
    Sep 7, 2018
    76
    这就是压缩包。。。
    zgray
    zgray
    Sep 7, 2018
    77
    其实 APFS 这样的存储格式结合上下载可能可以考虑下。

    APFS 有个特性,大概意思是两份文件在复制的时候并不重复复制,而是指针存储。基于此,假如磁盘上所有的文件按块来看,则多多少少都有点重复的区域,此时假如一个电影的某个块在磁盘上已经存在(因其他数据),则标记该区域已经完成下载,此时可能可以大量减少下载速度。最后这一个文件就像一个链条串起来的。虽然解决了下载速度的问题,但是如果要随机访问的时候,效率的问题还得解决。
    msg7086
    msg7086
    Sep 7, 2018
    78
    @zgray 想太多了。
    bullettrain1433
    bullettrain1433
    Sep 7, 2018
    79
    ls 各位我也学习了
    natforum
    natforum
    Sep 7, 2018
    80
    网盘离线下载啊,然后秒下就可以在线观看
    agdhole
    agdhole
    Sep 7, 2018 via Android
    81
    这个思路有点像各大游戏的回放功能
    noNOno
    noNOno
    Sep 7, 2018
    82
    支持 lz.
    如果互联网通过区块链实现,可以实现这个功能.
    因为所有的数据都在终端本地,只需要获取一个 token 获取读的权限,来使用数据.
    noNOno
    noNOno
    Sep 7, 2018
    83
    收藏等成为预言贴
    vincenteof
    vincenteof
    Sep 7, 2018
    84
    这不就是压缩和解压吗?
    plqws
    plqws
    Sep 7, 2018
    85
    支持楼主,未来的罗永浩,广告词都给你想出来了:『重新发明压缩算法』
    zyscn
    zyscn
    Sep 7, 2018 via Android
    86
    量子通信应该可以
    noNOno
    noNOno
    Sep 7, 2018
    87
    @noNOno 所有的数据传输统一为链的同步,只需要传递 token 信息.
    很多情况下我们并不需要在信息发布时立刻获取,
    那么电影发布>链同步>想看电影>获取 token>开始看电影
    great
    cpdyj0
    cpdyj0
    Sep 7, 2018
    89
    @SelFree 你这个例子不太对,信息熵在那搁着呢,就算一个文件 1PB 都是 0 又有什么用呢。
    cpdyj0
    cpdyj0
    Sep 7, 2018
    90
    @SelFree 好吧,,我没看完。。。😂
    Biebe
    Biebe
    Sep 7, 2018 via iPhone
    91
    我有一条公式,可以将人类缩小成蚂蚁大小
    johnnie502
    johnnie502
    Sep 7, 2018 via Android
    92
    有啊,随便一部车都已经压缩到 10 字符以下的车牌号了,你说个车牌号楼上的网友就能给你脑内解压出来,棒不棒
    Xs0ul
    Xs0ul
    Sep 7, 2018
    93
    这贴还顺便体现了鼓吹区块链的多不靠谱(
    XinLake
    XinLake
    Sep 7, 2018
    94
    楼主的构想,这么多已经说得很清楚了,信息不是无限压缩的。我补充一下楼主的“公式”思路。

    就像有些提到的 64K 影片一样,好像可以用算法产生一部电影,但是这个也是不可能的。
    64K 影片是图形技术,用了很多 3D 绘图、光影、粒子效果来产生的,但是产生的内容有一定是计算机图形系统绘制出来的。

    图形系统技术没法参数不可预测的、无规律的、无法描述的信息,就像让显卡画个苹果轮廓还可以、上色也可以、那些都是矢量、是图形。但是它没法生成一个真实的苹果不规则的轮廓、外皮,这些信息必须要到自然界去拍摄,所以图形系统里有纹理,用纹理贴图来让模型尽量逼真。

    一个是图形,一个是图像,不是一回事。
    johnnie502
    johnnie502
    Sep 7, 2018❤️2
    95
    @noNOno 每个人都把互联网上的所有资源本地保存一份,这个想法很棒棒
    noNOno
    noNOno
    Sep 7, 2018
    96
    @johnnie502 刚了解到的一个实现,还在构建阶段 关键词>IPFS
    myself
    myself
    Sep 7, 2018 via Android
    97
    作为民科都不算的开个脑洞
    压缩侧重是减少冗余和生成差值

    如果我们本地真的放一个巨大的资料库呢,电影和游戏都是取本地材料呢?

    类似装了一个巨大无比的 素材 framework
    C2G
    C2G
    Sep 7, 2018 via Android
    98
    这不就是让计算机脑补么?
    ---
    了解下实时渲染?
    还是说类似 war3 回放那样的?
    elvodn
    elvodn
    Sep 7, 2018
    99
    @loading #6 还穷举了 100kb 以下所有,单 100kb 就有 2^819200 种变换,穷举完宇宙都换了好几个吧
    liuyanjun0826
    liuyanjun0826
    Sep 8, 2018
    100
    @yukiww233 这和大家提到的有损无损压缩所使用的字典无关吧,楼主提到的应该是哈希。比如我现在在我电脑里存了一张壹佰万的存单照片,楼主电脑里也存了一张壹佰万的存单照片,但是这张存单上写着只有 1 米 6 的人可以使用这张存单,而楼主不巧没有办法用柴刀把自己剁成 1 米 6,于是这张存单在楼主眼里成了不存在,而我却刚刚拿着这张存单买了一瓶阔落,这应该才是楼主想问的吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2724 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 160ms · UTC 13:20 · PVG 21:20 · LAX 05:20 · JFK 08:20
    ♥ Do have faith in what you're doing.