1. 부호 또는 코드 이란?
ㅇ 부호 또는 코드
- 부호어 (코드어, Codeword)로 불리우는 벡터 (코드 벡터)로 사상된 결과들의 집합
- 즉, 부호어들의 집합
ㅇ xx 부호(코드)
- 특정 유효 부호들의 집합으로,
. 규칙있게 생성된 부호(코드)의 명칭
- 여기서. `규칙있게 생성`의 例)
. 수학을 이용하여,
. 입력 부호어에 생성행렬을 행렬곱셈하면, 선형블록부호를 효율적으로 생성 함
ㅇ 한편,
- 컴퓨터과학에서는, 논리적 절차를 프로그래밍 언어로 변환시킨 것도 코드 라고 함
. 이때의 코드는, 프로그램 문장들의 집합을 말함
- 사회과학에서는, 법률/관례/규칙도 코드 라고 함
- 상품 등을 식별하는 수단으로는, 상품코드(바코드,QR코드 등)가 있음
- 데이터 표현 코드로는, 알파뉴메릭 코드(ASCII,유니코드 등),수치 코드 등이 있음
2. 소스어, 부호어 이란?
※ [명칭유의] 다음과 같이, 같은 개념을 상황에 따라 달리 말하는 여러 용어 명칭들이 있음
ㅇ 소스어 (Source Word)
- 부호화 이전에 소스 상의 일련의 비트들이 하나의 단위로 된 워드(심볼들의 시퀸스)
- [동일명칭] 메세지 어 / 메세지 심볼 / 메세지 단어 / 소스 워드 / 소스 수열 / 정보 어 등
ㅇ 부호어 (Code Word)
- 압축,전송을 위한 부호화 알고리즘에 의해 생성된 워드(심볼들의 시퀸스)
. 각각 독립적으로 복호될 수 있는 단위
- [동일명칭] 부호 열 / 부호 벡터 / 코드 어 / 코드 벡터 / 코드 심볼 / 코드 수열 등
3. 코드(부호)의 생성 (Construct) 이란?
ㅇ (집합 관점)
- 소스 알파벳 원소들로 이루어진 어떤 소스 워드로부터,
- 코드 알파벳 원소들로 이루어진 특정 코드 워드로의 사상
ㅇ (벡터 관점)
- 소스어(Source Word)로부터,
- 부호어(Code Word)로 불리우는 벡터(코드벡터)로의 사상
ㅇ 이러한 사상에 의해 생성될 수 있는 특정 유효 집합에 대해, `xx 코드(부호)`라고 함
- 하나의 부호(코드)는 부호어라 불리우는 유효 부호어(유효 코드) 벡터들의 집합
4. 코드(부호)의 생성 (Construct) : 부호화(코딩)
※ [참고] ☞ 변환 매핑 함수 연산 투영 코딩 비교, 부호화(코딩) 참조
- 이들 용어 모두 사실상 거의 같은 의미를 갖으나, 과학 각 분야별로 선호되는 용어가 달라짐
ㅇ 부호화(코딩)
- 대상되는 심볼에 하나의 부호어(부호화 단위)를 할당/매핑/변환하는 대응관계
. 소스부호화 (손실압축,무손실압축) : 데이터 압축
. 채널부호화 (블록부호,길쌈부호) : 채널 상의 잡음에 대항
. 암호화 : 고의로 왜곡함으로써 비밀 유지
. 선로부호화 등
5. 코드(부호)의 응용 : 코드 이론 (코딩 이론)
ㅇ 주어진 응용에 적합토록 코드(부호)의 속성 및 효율적인 코드로의 변환을 다룸
ㅇ 바람직한 부호 설계 요건
- 빠르고 효율적인 부호화 및 복호화가, 쉽게 구현가능할 것
. 例) 선형블록부호인 경우에, 행렬 표현에 의해 쉽게 다루어질 수 있음
.. 선형 블록부호의 생성 (부호화) => `생성행렬`
.. 유효 부호어 여부 확인 (복호화) => `패리티검사행렬`
- 높은 오류검출 및 오류정정 능력을 갖출 것
6. [참고사항]
ㅇ 코드와 관련된 주요 용어 ☞ 코드 관련 주요 용어 참조
- (알파벳,수치코드,코드확장,코드길이,전치코드,동시코드,유일디코딩,코드율,코드북 등)
ㅇ 유효 또는 무효한 부호어 ☞ 유효부호어 참조
ㅇ 블록 부호 관련 명칭,표기 ☞ 블록부호 명칭, 블록부호 표기 참조
ㅇ 부호어 간 차이에 대한 정량화 ☞ 해밍거리 등 참조
ㅇ 부호어의 수학적 표현의 例 : (벡터, 수열, 다항식)