shi3zさんの通信上の圧縮アルゴリズム利用の認識と、big_brosさんによる指摘及び圧縮アルゴリズムの解説

スマホ回線で上位レイヤに対する不可逆圧縮が行われてしまう「通信の最適化」問題 カドカワドワンゴ川上氏を擁護するUEI清水氏の意見と、その誤りについて指摘するプログラマ吉良氏とのやりとり 圧縮アルゴリズムの特性から、通信の最適化の問題点が分かりやすいのでまとめました。 続きを読む
171
前へ 1 2 3 ・・ 6 次へ
吉良理人@ねもい @big_bros

. @shi3z もちろんありますよ。ゲーム屋は常に容量との戦いでしたから、圧縮についてはお手の物です。離散コサイン変換等は音声でも画像でもよく用いますね。で、どちらが可逆でどちらが非可逆か答えられますか?

2015-07-15 17:49:12
shi3z @shi3z

.@big_bros 馬鹿にするのもほどほどにしなさいな。スライド辞書法が可逆で離散コサイン変換が非可逆だってことは小学生でも知ってます。つうかそんな質問する時点でゲーム屋さんとしてどうなんですかね

2015-07-15 17:51:25
吉良理人@ねもい @big_bros

スーパーファミコンの時代などは小さなROM容量にデータを詰め込むため、可逆圧縮のLZ法は手軽に実装できるアルゴリズムとして大変重宝したものだ。離散コサイン変換は音声や画像の圧縮で普通に使うね。

2015-07-15 17:51:51
吉良理人@ねもい @big_bros

. @shi3z あ、そこはわかってるわけですね。説明の手間が省けてよかったです。で、いずれの圧縮方法であろうと自身が理解の上でかけたものであればその圧縮されたデータについてhashを求めておき受け取り側で検証するなどが可能ですね。ではそこに意図しない非可逆圧縮がかかるとしたら?

2015-07-15 17:54:14
吉良理人@ねもい @big_bros

…で、LZ法と離散コサイン変換を小学生が知っている、ということだけど最近は教えてるの?

2015-07-15 17:56:30
shi3z @shi3z

.@big_bros え!それってブラウザはやってないんですか!?

2015-07-15 17:56:35
shi3z @shi3z

.@big_bros いや、レイテンシの話は皮肉だったんですけど・・・

2015-07-15 17:57:48
吉良理人@ねもい @big_bros

@shi3z ブラウザがhashを使った同一性チェックを行っているなら通信経路で意図しない非可逆圧縮がかかった時点で無駄になりますね。サーバから現在のhash値を送ってもらい、手持ちのデータで計算したhashと照合する際、手持ちのデータは想定外の非可逆圧縮がかかった状態ですから。

2015-07-15 18:00:29
shi3z @shi3z

.@big_bros いやあのー。ほんとにゲーム屋さんなんですか?僕がPSのゲーム作ってた頃はリビジョンによって意図しないウェイトがかかることとか当たり前にあったんですけど・・・

2015-07-15 18:02:06
shi3z @shi3z

.@big_bros んー、でもそういう話するならCDNはどーなんでしょ。毎回URL変わるので

2015-07-15 18:04:37
shi3z @shi3z

なんか馬鹿にされるのってつらいなー

2015-07-15 18:06:01
吉良理人@ねもい @big_bros

@shi3z もちろん。それこそどんな作り方してたんですか? 昨今のオンラインアップデート当たり前のゲームなら、正規とされるリビジョンとして正しいか、取得されたデータが不完全もしくは改竄されていないかのチェックにmd5やsha-2各種のhashを用いるのは珍しくないですが。

2015-07-15 18:07:05
shi3z @shi3z

.@big_bros えーと、リビジョンという用語から説明が必要な方ですか?同人の人?まあ僕は親切なので教えますが、この場合のリビジョンとは、ハードウェアのリビジョンです。たとえばPS1でも、最初のと最後のでリビジョンが異なり、ハードの性質も違うんですよ

2015-07-15 18:09:22
吉良理人@ねもい @big_bros

@shi3z hash値の計算に取得元のURLは関係ありません。取得されたデータ列からhashを求めるわけですから、その取得元がどうであれ、「サーバが意図しているhash値」と「クライアントが受け取り持っているデータから計算されたhash値」が合っていることが重要なわけであって。

2015-07-15 18:09:50
吉良理人@ねもい @big_bros

. @shi3z いや、だから動作ハードの話とかしてませんし。受け取ったデータ列からサーバ側が正とするhash値と同じ値が計算できるか否か、というのが問題です。何の話をしてると思ってたんですか?

2015-07-15 18:11:46
吉良理人@ねもい @big_bros

まあ、PS1のハードウェアリビジョンの話なんて、ゲームマニアでも知ってる話だけどな。

2015-07-15 18:14:53
Yamamaya @yamamaya3

@big_bros 先方は「hash」って言葉がお分かりになって無いんじゃ無いですか(^^;;

2015-07-15 18:16:14
吉良理人@ねもい @big_bros

@yamamaya3 あー…なんとなくそんな気もしてるのですけどもw

2015-07-15 18:17:03
吉良理人@ねもい @big_bros

今みたいに md5 とか sha 各種など標準化された hash 関数がポピュラーになる以前も、データの破損や相違を検出するためのチェックサムとして CRC とか使われてたんだけど、ほんとにこの人PSのゲームとか作ってたのか?

2015-07-15 18:19:43
Yamamaya @yamamaya3

@big_bros LZ法や離散コサイン変換よりも、まだhashの方が小学生でも知ってそうなんですけど……

2015-07-15 18:20:40
吉良理人@ねもい @big_bros

いい加減この人もうちょっと勉強しないと恥の上塗りを続けることになるぞ…どこぞのWeb屋のCEOらしいけど、従業員むっちゃかわいそう。

2015-07-15 18:21:02
吉良理人@ねもい @big_bros

@yamamaya3 あー…「ダウンロードしたデータが改竄されてないかどうか md5 や sha-512 で確認しなさい」とかリテラシー教育上言われてても不思議はないですね。

2015-07-15 18:22:16
K.K @kkay

@shi3z 議論の本質とは関係ないのですが、離散コサイン変換は可逆ですよ。計算誤差の事を言ってるのならすみませんが、量子化が非可逆です。

2015-07-15 18:23:19
shi3z @shi3z

@kkay うーむ。ま、たしかにそのとーりなんですが

2015-07-15 19:48:19
吉良理人@ねもい @big_bros

DCTそれ自体は可逆ではあるけども、大抵は一部の切り捨てを行うので実質非可逆として用いることが多いのではないかな。

2015-07-15 18:30:09
前へ 1 2 3 ・・ 6 次へ