{{위키데이터 속성 추적}}
{{출처 필요|날짜=2012-12-9}}
{{다른 뜻|암호화}}

'''부호화'''(符號化) 또는 '''인코딩'''({{lang|en|encoding}})은 [[컴퓨터]]를 이용해 영상{{.cw}}이미지{{.cw}}소리 [[데이터]]를 생성할 때 데이터의 양을 줄이기 위해 '''데이터를 코드화하고 압축하는 것'''이다. [[정보]]의 형태나 형식을 [[표준화]], [[보안]], 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 [[변환]]하는 것이다.

마찬가지로 '''부호기'''(符號機) 또는 '''인코더'''({{lang|en|encoder}})는 부호화를 수행하는 [[장치]]나 [[회로]], [[컴퓨터 소프트웨어]], [[알고리즘]]을 말하며, 인코더는 부호화를 수행하는 사람을 말하기도 한다.

인코더와 [[디코더]]란 말의 실제 적용에서 혼동을 피하기 위해서는 우선 생각할 것이 목적이다. 그리고 목적이라는 말을 적용하기 위해서는 대상이 필요하다. 즉, 어떤 대상을 목적을 가지고 처리하기 위해 처리를 위한 방식으로 변환하는 것이 인코더라고 한다. 그리고 인코더 된 대상으로부터 원래의 형태로 변환하는 것을 디코더라고 한다. 예를 들어 영화의 장면의 자료수가 너무 많기 때문에 압축을 한다면, 대상은 영화의 픽셀의 데이터이고 목적은 압축이다. 따라서 원래 압축되지 않은 장면의 픽셀 데이터가 원본이 되고 이것을 압축 알고리즘을 동원해서 압축하면 우리가 흔히 보는 MPEG 파일이 된다. 이때 부호화란 압축을 하는 것을 말한다. 그리고 압축된 파일을 풀어 원래의 픽셀 데이터로 변환하는 것을 [[복호화]](디코딩, decoding)라고 한다. 이런 경우 부호화를 위한 압축 알고리즘은 프로그램화되어 실현된다.

==적용 사례==

컴퓨터에서 사용되는 오디오 파일, 텍스트 파일, 동영상 파일의 표준화 및 보안을 위한 암호화
* [[코덱]]은 오디오 파일이나 동영상 파일의 크기를 줄이거나, 컴퓨터에서 더 빨리 자료를 처리하기 위해 사용된다.
*오디오 인코딩은 주로 오디오를 다른 표준화된 형식으로 바꾸거나, 위에서 말한 비슷한 이유를 위해 사용된다.
*동영상 인코딩도 위와 같은 이유로 사용된다. 혹은 PPT에서 mp4 파일을 재생하기 위하여 다른 파일로 바꿀 때 필요하다.
*무선 인터넷 등에서 사용하는 데이터의 보안을 위해 사용된다.

{| class="wikitable" align="center"
|-
!목적 !! 원본 !! 처리방식 || 부호화 !! [[복호화]](디코더)
|-
| 동영상 파일 압축 || 압축되지 않은 파일  || 변환 알고리즘 <br /> (표준화) || 압축 알고리즘으로 변환 || 코덱으로 압축 품
|-
| 통신보안 || 암호화되지 않은 신호 || 암호화 || 비화기로 암호화 || 암호해제로 원래의 신호로 변환
|-
| 아파트의 층을 숫자화 || 아파트 층 || 숫자화 || 각층을 십진수화 || 해당 층을 지목
|}


'''전자공학에서 사례''':

{| class="wikitable" align="center"
|-
!목적 !! 원본 !! 처리방식 || 부호화 !! 복호화
|-
| 음성 신호 처리 || 물리적 음성신호 || 전자화 || 마이크로 전기신호로 변환 || 스피커로 물리적 신호로 변환
|-
| 디지털화 || 아날로그 신호 || 디지털 회로 || 양자화(ADC)로 이진화 || DAC로 아날로그로 변환
|-
| 엘리베이터의 스위치를<br />누르면 LED 표시 || 층 별 스위치 || 디지털 회로 || 2진화 || 2진수를 <br />해당 LED로 불 켜기
|-
| 통신라인의 특성에 맞춤 || 직렬 데이터 || AC 성분 추가 || 라인코딩<br />([[:en:Non-return-to-zero|NRZ]], [[:en:Manchester code|Manchester]], ..) || 원래 직렬데이터로<br /> 변환
|-
|}

== 디지털 회로 ==

=== 부호기 (인코더, encoder) ===

<br />
{| 4x2 Simple Encoder
|}
입력 I0~I3에 대해 출력 O1,O0로 이진화 된다. 그리고 V는 현재 입력이 하나라도 있는가를 나타낸다.


'''4x2 우선순위 부호기'''([[:en:Priority encoder|Priority encoder]]) 는:
[[파일:Pr encoder 4x2.png|섬네일|300px|우선순위 부호기 4x2]]

{| class="wikitable" style="margin:0;"
!style="border-bottom:2px solid #707070;"|I<sub>3</sub>
!style="border-bottom:2px solid #707070;"|I<sub>2</sub>
!style="border-bottom:2px solid #707070;"|I<sub>1</sub>
!style="border-bottom:2px solid #707070;"|I<sub>0</sub>
!style="border-bottom:2px solid #707070; border-left:2px solid #707070;"| O<sub>1</sub>
!style="border-bottom:2px solid #707070;"|O<sub>0</sub>
!style="border-bottom:2px solid #707070;"|V
|-
| 0 || 0 || 0 || 0 ||style="border-left:2px solid #707070;"| x || x || 0
|-
| 0 || 0 || 0 || 1 ||style="border-left:2px solid #707070;"| 0 || 0 || 1
|-
| 0 || 0 || 1 || x ||style="border-left:2px solid #707070;"| 0 || 1 || 1
|-
| 0 || 1 || x || x ||style="border-left:2px solid #707070;"| 1 || 0 || 1
|-
| 1 || x || x || x ||style="border-left:2px solid #707070;"| 1 || 1 || 1
|}
{|
 4x2 Priority Encoder
|}

{|
| [[파일:카르노-맵 4in O 0.png|섬네일|250px|출력 <math>O_0</math> 카르노 맵]]
| [[파일:카르노-맵 4in O 1.png|섬네일|250px|출력 <math>O_1</math> 카르노 맵]]
|}

간단히 하면:

<math>O_0 = I_3 + \bar I_2 \ I_1</math>

<math>O_1 = I_3 + I_2</math>

=== 복호기 (디코더, decoder) ===
{{본문|복호화}}
부호기의 반대로 복호기는 이진입력에 대해 각각의 선택적 출력이 되는 회로이다.

== 같이 보기 ==
* [[부호 (정보)|부호]]
* [[암호화]]
* [[코덱]]
* [[유전 부호]]
* [[복호화]]
* [[인코딩]]
* [[부호화 영역]]

[[분류:디지털 회로]]