표현 계층(presentation layer)은 데이터 표현상의 차이와 관계없이 응용 계층 간에 통신이 가능하도록 한다. 이를 위해 표현 계층은 컴퓨터 기종마다 다를 수 있는 정보의 표현 방식을 서로 이해할 수 있는 공통의 구문 형식으로 변환하여 보내고, 상대방에서는 이를 다시 자신의 표현 형식으로 바꾸게 된다. 예를 들어, 한 사용자는 ASCII 코드를 사용하고, 상대방은 EBCDIC 코드를 사용하는 경우 표현 계층에서 코드를 상호 변환한다. 암호화나 데이터 압축 기능도 표현 계층에서 담당한다.

[ 그림 2-15 ] 는 표현 계층의 동작을 나타낸 것으로, 송신 측의 표현 계층은 응용 계층으로부터 받은 메시지의 보안과 효율적인 전송을 위해 암호화와 압축을 수행하여 세션 계층으로 내려보낸다. 수신 측의 표현 계층에서는 세션 계층으로부터 받은 메시지를 해독하고 압축을 해제하여 응용 계층으로 올려보낸다.

표현 계층은 두 시스템 사이에 교환되는 정보의 구문 및 의미와 관련이 있다. 표현 계층의 주요 기능과 역할은 다음과 같다.

데이터 압축

데이터 압축이란 데이터를 효율적으로 기록하기 위해 작은 공간에 저장하는 기술을 말한다. 데이터 압축은 인코딩 과정과 디코딩 과정으로 이루어진다. 인코딩은 압축 알고리즘에 따라 데이터를 작은 크기로 변환하는 것이고 디코딩은 저장된 데이터를 다시 원래의 데이터 형태로 복원하는 것이다. 압축 기술에는 데이터의 내용을 바꾸지 않고 원래 내용 그대로 디코딩하는 무손실 압축(lossless compression) 방법과 데이터의 디테일을 일부 손실하여 압축하는 손실 압축(loss compression) 방법이 있다.

무손실 압축 방법은 원래의 데이터와 복원 후의 데이터가 정확히 일치하는 방법이다. 이 방법은 텍스트 파일이나 프로그램 파일을 압축할 때와 같이 데이터에서 1비트도 달라지면 안 되는 경우에 사용한다. 무손실 압축 기법의 종류는 다음과 같다.

정지/동영상 압축 기법

그림 파일이나 동영상 파일의 경우 사람의 눈과 귀가 구별할 수 없을 정도로 데이터를 손실하여 압축해도 큰 지장이 없다. 이러한 경우에는 손실 압축 방법이 사용된다.