例えば音声データの場合は人間に聴こえない音を削除したりして圧縮をしているかと思いますが、バイナリデータ?を書き換えて圧縮している物はあるのでしょうか?
例えば、ff EEといったデータがある場合、ffをF,eeをEに置き換える(もちろんこんな単純な物ではないでしょうが)といったものはあるのでしょうか?
また、jpegなどのデータをバイナリエディタで読むと、ff,eeのような16進数が出てきますよね?それをテキストで保存して、またjpegに戻すにはどうしたらいいのでしょうか?・・というか、そういうことは可能でしょうか?
よろしくお願いします。
No.7ベストアンサー
- 回答日時:
★結論からすると『出来る』です。
・バイナリデータを 16 進数で出力してファイルに保存し、そのファイルから 16 進数 2桁を
バイナリ値の1バイトに変換してくれるツールがあれば可能です。また、なければ自作する
手もあります。そんなに難しくはありません。
・あとバイナリデータを 16 進数で出力すると圧縮よりもデータ量が増加しますよ。
よって圧縮技術というよりは、データ変換ですかね。
正しく、エンコード(Encode)、デコード(Decode)をすれば jpeg などのデータも元の状態に戻せます。
・BASE64 はバイナリ値の1バイトを 6 ビットの文字に変換します。これはバイナリ値の3バイトを
4桁の文字に変換することになるため、サイズは4/3倍に増加します。
・まぁ、ちょっとした好奇心の質問ですのでこんな程度のアドバイスになります。
・それでは。
No.11
- 回答日時:
>音楽や画像がlhaやzipで小さくなりにくい。
>でも、それが「なぜ」なのかよくわかりません。
単純に「JPEG/MP3/MPEGそれら自身が,画像圧縮/音声圧縮/動画圧縮の技術だから」で分かりやすいように思うのですけれど。それぞれに適した圧縮が済んでいるファイルに対して,さらに圧縮をかけても小さくなりにくいのは当然のような感じがしませんか?
http://ja.wikipedia.org/wiki/データ圧縮
>http://oku.edu.mie-u.ac.jp/~okumura/compression/ …
># 私は細部を理解していません(笑)
「圧縮と詐欺」の箇所で述べられていることは誰にも納得できるしごく単純なことですよ。
例えば,任意の8bit長のデータが可逆圧縮できるとしよう。可逆圧縮は完全に元のデータに戻るのだから,圧縮前パターン←→圧縮後パターン が1対1に対応せねばならない。では2の8乗=256通りの全パターンを表現できる最短のbit長はなにか,それは8bitである。
つまり,任意のbit長のデータをそれ以下のbit長にいつでも可逆圧縮できると言うこと自体ナンセンスだということです。逆の言い方をするなら,テキストデータにしろバイナリデータにしろ,それが可逆圧縮できるということはすなわち「元データは任意bitの集合ではなく,ある種のパターンが含まれているbit列である」ということです。
No.10
- 回答日時:
>ffをf、eeをeに置き換える
これの意味がちょっとよく分からないのですが、
a.桁数を減らすということでしょうか。
つまりf0~ffまではf、e0~eeまではeといった形に。
b.あるいは、ffはfに変えて、逆にfはffに戻せる(劣化しない)ということでしょうか。
bなら、それは普通の可逆圧縮です。
もちろん、ffをf、eeをeなどとやっては文字が足りなくなりますから、どこかで「feはffffe」などと文字が増える変換をしなければいけません。
それをいかにして全体で文字数を減らすかというのが圧縮技術の基本です。
可逆圧縮というのは、任意のbit列をもってきたときに、それが圧縮でまともに小さくなるのは全体の1%程度です。残りのものは圧縮でサイズが増加します。
aなら、あまり圧縮という言い方はしませんが、音声で言えば量子化ビット数を下げることに相当します。16bit,44.1kHzのwavを8bit,44.1kHzにすればサイズが半分になります。
これは相当音質が劣化します。人間に聞こえる音も聞こえない音もまとめて切り捨てるわけですから。
なお、可逆圧縮は2回連続で行ってもほとんど効果がありません。
これは上で言った「圧縮できるbit列は全体の1%」に関連しますが、圧縮されて出来上がったbit列は非常に圧縮しづらいものになっているのです。
これは非可逆圧縮でも同じです。
なぜなら非可逆圧縮というのは、元のデータを適に改竄したのちに可逆圧縮をかけるものだからです。結局最終的には可逆圧縮がかかっています。
No.9
- 回答日時:
> でも、WMVをZIPで圧縮しても容量はほとんど変わりませんね。
。可逆圧縮(全く同じビット列に戻せる圧縮)には、数学的な限界があるんです。物理的な限界ではないので、1 + 1 = 3 にならない(なったら間違い)のに似て、どうしても超えられません。
簡潔に書かれているサイトを引用します。
http://oku.edu.mie-u.ac.jp/~okumura/compression/ …
# 私は細部を理解していません(笑)
WMV は数学的限界のぎりぎりにきているはず(でなきゃ、金返せ!)なので、ZIP 圧縮で小さくならなくてもおかしくありません。これは MPEG や JPEG や ZIP 自体や LZH でも同じです。
参考URL:http://oku.edu.mie-u.ac.jp/~okumura/compression/ …
No.8
- 回答日時:
>WMVをZIPで圧縮しても容量はほとんど変わりませんね。
。音楽や画像がlhaやzipで小さくなりにくいことは知られています。
なので、jpegや音楽では様々な圧縮技術が生まれたのです。
No.5
- 回答日時:
#3に関連した補足(蛇足)です。
画像ファイル ~.jpg を電子メールに添付するとバイナリ→テキスト変換が,電子メールを受信して添付データをファイルとして保存するとテキスト→バイナリ変換が,いつも裏側でおこなわれています。電子メールが扱えるのはテキストデータだけなので。
http://ja.wikipedia.org/wiki/Base64
No.4
- 回答日時:
>バイナリデータ?を書き換えて圧縮している物はあるのでしょうか?
あります。LZHやZIP圧縮などがそうです。
LZH圧縮などは元になるデータの連続した部分を
「いくつ連続しているか」に書き換える技術です。
例えば「FF FF FF FF FF FF FF EE EE EE」(=10bit)を
FFが7、EEが3という風に「FF 07 EE 03」(=4bit)のように
書き換えることによってデータサイズを小さくしています。
(基本的な概念ですよ^^; 実際はもっと複雑です)
ちなみに、こういうのを可逆圧縮と言います。逆は不可逆圧縮。
(可逆・・・元に戻せる/不可逆・・・元に戻せない)
#例に挙げられている音の圧縮(MPEG-4)等は聞こえない音を
#間引いちゃってるので、元には戻せない。
#上記のLZHやZIPは元に戻せる。
>それをテキストで保存して、またjpegに戻すにはどうしたらいいのでしょうか?
テキストの編集にはメモ帳などのテキストエディターを使いますよね?
同様にバイナリの編集にはバイナリエディターがあります。
テキストで保存したバイナリデータをバイナリエディターに貼り付ければ
jpegに戻ると思いますよ。(やったことないけど)
No.3
- 回答日時:
今使われているので大きいのは、メールの添付などで使われる
BASE64でしょう。
適当なjpegファイルを添付したメールを作ってみて、
そのメールを直接エディタで見れば、
--------------030506030507090004090103
Content-Type: application/octet-stream;
name="mogera.jpeg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="mogera.jpeg"
Ozs7IGF1dG9pbnNlcnQubCAtLS0gYXV0b21hdGljIG1vZGUtZGVwZW5kZW50IGluc2VydGlv
biBvZiB0ZXh0IGludG8gbmV3IGZpbGVzCjs7OyAtKi0gTW9kZTogTGlzcDsgUGFja2FnZTog
RURJVE9SIC0qLQo7OwoKOzsgQ29weXJpZ2h0IChDKSAxOTg1LCA4NiwgODcsIDk0LCA5NSwg
こんな感じの部分が見つかると思います。
このような変換をしてくれるツールはありますので、
それを使ってみるとか。
あるいはunix環境であるなら uuencode が使えるでしょう。
調べたとき、メールのことは書いてあったのでそこは理解できたのですが、メールではなく普通に書き換えることができるのか教えて頂けるとありがたいです。
ご回答ありがとうございます。
No.2
- 回答日時:
すみません。
言っている意味がイマイチ理解できません。>バイナリデータ?を書き換えて圧縮している物はあるのでしょうか
それが普通ではないでしょうか。
音声データの圧縮を例にあげていますが、それもバイナリの書き換えです。
>例えば、ff EEといったデータがある場合、ffをF,eeをEに置き換える
Jpegなどは近似による圧縮なのでそうなります。
>それをテキストで保存して、またjpegに戻すにはどうしたらいいか
>というか、そういうことは可能でしょうか?
楽勝です。原理としては単純です。
しかし、簡単といっても一般の方はツールを探し出してこないといけない。
一応回答してみたものの、やはり何かが違う気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google Drive USB内の圧縮フォルダが開けません。教えて下さい! 1 2022/07/26 18:44
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- 画像編集・動画編集・音楽編集 動画ファイルの圧縮方法についてはIフレームだのPフレームだの使って圧縮するらしいのですが、音声データ 1 2022/08/26 18:28
- スピーカー・コンポ・ステレオ 【人間が聴こえない周波数帯】昔は人間が聴こえない周波数帯域も拾えるだけ拾った方 3 2023/02/04 22:28
- 画像編集・動画編集・音楽編集 「逆コンプレッサー」といった感じのものはないですか 2 2023/05/25 01:10
- iPhone(アイフォーン) iPhone 低解像度モードをオフにして iMessage で画像あるいは動画ファイルを送る場合、 2 2022/06/22 17:32
- バックアップ Windows11パソコンのデータを数クリックで完全に引っ越しするにはどうすれば良いでしょうか? 5 2022/10/11 14:08
- その他(生活家電) カセットテープの中国語音源を日本語テキストに変換する方法についてご教示ください 3 2023/04/27 06:10
- 写真 写真のRAWデータについて WindowsのパソコンでRAWデータをJPEGなどに一括でたくさんの画 1 2023/07/18 02:07
- マルウェア・コンピュータウイルス ウイルスに感染したPCからのデータ移行について 1 2023/02/03 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
zip圧縮してもほとんど圧縮され...
-
ZIP解凍時のinflatingとは?
-
PDFをZIP圧縮するとデータがエ...
-
圧縮したファイルが表示されない
-
Excelの画像に印をつける。
-
TIFFの圧縮形式について
-
突然、ファイルの圧縮(zip)が...
-
写真の画像アップロードができ...
-
PCのGmailで写真圧縮なしで送信...
-
圧縮(zip形式)が出てこない
-
右クリック>送る>圧縮・・・...
-
鋼管と鋳鉄管の違い
-
ファイルではなくフォルダだけ...
-
windows 10で圧縮ファイルが圧...
-
パソコンでmp4の動画ファイルを...
-
写真をメールで送るのに圧縮し...
-
動画圧縮してもサイズが全く変...
-
圧縮フォルダの中身が消えてし...
-
コーデックについて・・・。
-
ゲーム会社へメールで作品を送...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮してもほとんど圧縮され...
-
Excelの画像に印をつける。
-
ZIP解凍時のinflatingとは?
-
鋼管と鋳鉄管の違い
-
写真をメールで送るのに圧縮し...
-
windows 10で圧縮ファイルが圧...
-
右クリック>送る>圧縮・・・...
-
動画圧縮してもサイズが全く変...
-
突然、ファイルの圧縮(zip)が...
-
TIFFの圧縮形式について
-
圧縮したファイルが表示されない
-
圧縮画像を元にもどすには?
-
PDFをZIP圧縮するとデータがエ...
-
ファイルではなくフォルダだけ...
-
7-zIP で「圧縮して電子メール...
-
圧縮(zip形式)フォルダと普通...
-
圧縮フォルダの中身が消えてし...
-
PCのGmailで写真圧縮なしで送信...
-
1GBに700MBのCD何枚...
-
写真の画像アップロードができ...
おすすめ情報