このQ&Aは役に立ちましたか?
エンコードとデコードについて
2023/10/19 12:38
- エンコードとデコードは、幅広い分野で使用される言葉です。エンコードは情報を符号化し、デコードは符号を復号化することを指します。
- 例えば音楽の場合、MP3からWAVへの変換はエンコードとなります。PCや機械語から離れた形式に変換することで、データを効率的に圧縮できます。
- 一方で、プログラムの場合、C言語でPIC用のプログラムを作成しコンパイルすることはデコードとは言えません。デコードは符号を復号化することを指し、プログラムの作成やコンパイルは異なる概念です。
エンコードとデコードについて
2015/04/03 11:14
世の中でエンコードとデコードという言葉が幅広く使用されています。
(音楽ではMP3⇔WAVの変換等)
PC等で使用する機械語から離れてしまうこと(符号化)をエンコード、近づく(復号化)することをデコードと考えていいのでしょうか。
例として、PIC用プログラムをC言語で作成してコンパイルすることもデコードとなるのでしょうか。
以上です。よろしくお願いします。
質問者が選んだベストアンサー
機械語の近づく方向/遠ざかる方向:
回答(3)さんが紹介なさっている情報の中に、次の記述があります。
>コンピュータでは、与えられた機械語を内部表現として解釈する事を
>デコードと呼び、その論理回路をデコーダと呼ぶ。
この例に基づけば、機械語を解釈する(よりアプリケーションレイヤーに近
付ける)操作をデコードと呼ぶことがあることは了解できます。アプリケー
ションレイヤーは、物理レイヤーに対応する概念であって、データ通信や
ストレージにおけるエンコード/デコードは、この例の方向とは合致しない
ように思います。
多くの場合、“エンコード”とは、情報を通信や記録に適するように、決め
られた手順で変換する操作であり、“デコード”は、変換した信号を元に
戻す操作ということと思います。
“機械語”というプログラミング言語を意味する用語を用いるのではなく、
ハードウェアが扱う情報(アナログ/デジタル)を、通信や記録に適するよ
うに変換するする操作を“エンコード”、元のハードウェアが扱える信号
に戻すことを“デコード”と考えればよさそうに思います。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (9件中 1~5件目)
エンコード/デコード は 符号化/復号化(暗号/復号)がセットです。
>音楽ではMP3⇔WAVの変換等
と両矢印なものばかり。デジタル通信における暗号/復号は何回でも両矢印が可能。
jpeg、mp3などのアナデジ変換・データ圧縮法は劣化していくが可能。
一方、プログラム作成は途中にループがあるが片矢印。
プログラム仕様 ⇒ コーディング ⇒ コンパイラ⇒
↑
デバック
↑
⇒機械語 ⇒ 動作検証 ⇒ 完成
その全てまたは一部を逆に辿るのはリバースエンジニアリング。
逆アセンブラはほぼ出来るがソースリストの変数名は復元できない。
逆コンパイラも同じながら、Cに関してはアセンブラ記述混在が可能なほどプログラム自由度が高く、それを抑え込まないと逆コンは出来ない。
プログラム作成に関して エンコード/デコード は使わないコトバと思います。
お礼
2015/04/06 11:06
僕はプログラムは全くの素人なので、非常に勉強になりました。お返事ありがとうございました。参考になりました。
会社にお勤めですか、フリーですか?
会社勤めでは、その会社のローカルルールやローカル用語があるので注意しましょう。
注意とは、ローカルを頭に入れ、翻訳機の如く使用し、会社内でも波風を起てないで、
社長同等になったら変える気構えで行動するです。
さて、用語は簡単な用語辞典で簡単に確認し、また、英語本来の意味を確認して
使用することが大切です。(又、展開検索確認も含めて)
そうすると、自ずから答えが観えてきますから、この森の回答と併用し活用ください。
お礼
2015/04/06 11:05
僕は勤め人です。
おっしゃるとおりです。社内でのローカル用語と一般的な用語の違いにたまに苦戦しています。お返事ありがとうございました。参考になりました。
電気屋さんの質問に私も参加する・・・
HTMLでHPを作っていた時代にエンコードが違うと文字が正確に変換できないということを何度か経験した。。。日本語→【 SHIFT-JIS 】→日本語 といえば
分かり易いだろう。【※】の部分がUnicode(UTF-8)であるスマホとPC間では
未だ、よく文字化けが生じるので機械屋でも、エンコードが違うんだと解る。
お礼
2015/04/06 11:04
お返事ありがとうございました。参考になりました。
>機械語の近づく方向/遠ざかる方向:
機械語と言うより機械(論理回路)そのもの
アドレスデコーダ
http://www.cqpub.co.jp/dwm/contents/0078/dwm007800620.pdf
http://www.picfun.com/partdigit.html
所謂、TTL論理素子のデコーダ/エンコーダ
http://homepage1.nifty.com/rikiya/software/414encdec.html
http://www.tij.co.jp/product/jp/sn54als137a
珍しく回答(8)さんが専門外なのにまともな事を書いてるが
正確には「会社のローカルルール」でなくて「業界のローカルルール」ですね
恐らく質問者さんの会社は過去ログから所謂「組み込み系」業界
本スレの回答者さんの多くは「マルチメディア系」の業界用語で回答してる
なので、必ずしも質問者さんの欲しい回答とは限らない
昔はロジック素子業界しかエンコード/デコードを使わなかったけれど
現在ではWindowsやWeb系を含めたマルチメディア系が主力になったから無理も無いが
検索しても組み込み系の業界用語としてのエンコード/デコードが出てこない
歴史的には先に挙げたロジック素子業界の用語
’70年代初頭には既に存在した
マルチメディア系は’90年代以降の後発業界
つまり、後発業界の用語の方が一般大衆に普及してしまったので
先発業界の本来の意味が失われてしまった
元祖のロジック素子業界には現役に生き残ってるけど
スマホに代表されるように組み込み系でもマルチメディア系が入ってきたので
組み込み系業界にはロジック素子業界の用語とマルチメディア業界の
2種類の業界用語が共存してるのが混乱の元か?
もしかすると組み込み業界専用の用語が存在するかも知れないし
だとすると3種類の業界用語が共存する珍しい業界
お礼
2015/04/06 11:08
時代の流れで用語の意味合いも変わりつつあるということでしょうか。お返事ありがとうございました。参考になりました。
非可逆性のエンコーダがあるので
ややこしいんだけどね
jpeg や 各種ビデオのコーデック
もうすこし書くと
エンコード・デコードは流れ作業
コンパイルは一度全体を読んで訳していきます
意味を考える
例
A=A+1
エンコードでは
add a,1
ですが
コンパイルでは
inc a
です
デコーダーにかかけると
add a,1 = A=A+1
と変換できるが
コンパイルはうまく訳せない
ただし、非可逆性のエンコーダが登場したために
この構図が成り立たない
画像・映像の場合
隣り合う色が多少違っていても
人間が見る分にはあまり変わらない
そのため圧縮性を求め非可逆的なエンコードーダが登場した
古いのはカラーテレビ(アナログ放送)正確には圧縮性を求めただけでなく
白黒互換のため
つづく
またわけのわからんやつも投稿してるが
上記はまだWINDOWS登場前で
LHZという圧縮技術が登場しだしたころ
スーファミ登場前でファミコン黄金期ぐらいでしょうか
まだパソコンはメモリーも高く64Kバイト
PC98(NEC)が100万近く コンパックショックも起こってません
http://www.eonet.ne.jp/~building-pc/pc/PC1993/pc1993.htm
コンパックショックが1993年ぐらい
総天然ショック
http://ja.wikipedia.org/wiki/MSX2%2B
MSX2+
抜粋
輝度は1ドット単位で5ビット(32階調)だが、
色相は4ドット単位で12ビット(4,096色)である。
計算方法
http://ngs.no.coocan.jp/doc/wiki.cgi/datapack?page=9%BE%CF+YJK%CA%FD%BC%B0
により
1ドット=1バイトで19,268色という発色を実現した
通常のパソコンは2ドット1バイト16色パレット方式
または
1ドット=1バイトで256色
4096色FM77AV(使ってないので使用が不明)
とパソコン上で発色数が増えるにしたがって
画像データの肥大化が始まる
当時のメディアはFDDで容量も少なく
画像データーの保存に圧縮技術を流用していた
LHZの辞書方式では圧縮率は低く
高圧縮のMAG(鮪)
http://ja.wikipedia.org/wiki/MAG%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88
が登場する
圧縮ソフトをエンコーダー
解答ソフトをデコーダー
と呼んだ
つづく
おもろいのを見つけた
http://togetter.com/li/409985
真ん中がMSX2相当
一番したがPC98相当
当時のエロゲ職人はこのぐらいの絵をスキャナーもなしに
書いてたんだね
まだWINDOWSも登場してません
DOS/Vが登場してコンパックショックが起こり
http://ja.wikipedia.org/wiki/DOS/V#DOS.2FV.E3.81.AE.E7.99.BB.E5.A0.B4.E5.89.8D
パソコンの低価格化が進み
windous3.0の上陸 WINDOWSが普及していくと
機種依存がなくなり
各種フォーマットの淘汰・統合・新圧縮技術簿登場
により
MAG形式は淘汰され
JPEGという非可逆性の圧縮技術が世界に浸透していく
http://ja.wikipedia.org/wiki/JPEG
非可逆性
http://ja.wikipedia.org/wiki/%E9%9D%9E%E5%8F%AF%E9%80%86%E5%9C%A7%E7%B8%AE
そのうちマシンスペックが上がり
動画を扱うようになり
エンコード=圧縮
デコード =解凍
の意味合いが薄くなり
WINDOWSの一般化によりあいまいになっていく
という壮大な歴史ロマンがあるのでした
詳しいのは
パソコン創世記からCGやってたから
そんんじょそこらのパソコンの詳しいやつらと
話が合わんのは
そんじょそこらのやつらがWINDOWS95以降のにわかだから
お礼
2015/04/06 11:03
お返事ありがとうございました。参考になりました。
お礼
2015/04/06 11:02
「“機械語”というプログラミング言語を意味する用語を用いるのではなく、
ハードウェアが扱う情報(アナログ/デジタル)を、通信や記録に適するよ
うに変換するする操作を“エンコード”、元のハードウェアが扱える信号
に戻すことを“デコード”と考えればよさそうに思います」
参考になりました。お返事ありがとうございました。