060 ZIP 파일로 압축할 때

백종석·2022년 6월 15일
0
post-thumbnail

압축


압축의 목표는 같은 정보를 더 적은 비트로 인코딩하는 것이다.

  • 압축의 기본 아이디어는 군더더기 정보, 즉 연결 부분의 반대쪽에서 데이터를 수신했을 때 재현하거나 유추할 수 있는 정보는 저장하거나 보내지 않는 것이다.

인코딩

사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것

  • 넓은 의미의 컴퓨터는 이러한 신호를 입력받고 처리하는 기계를 뜻한다.
    • 신호 처리 시스템을 통해 이렇게 처리된 정보를 사용자가 이해할 수 있게 된다.

문자 인코딩의 구성

  • 문자 정보는 정보를 표현하기 위한 글자들의 집합을 정의한 것
  • 직접적으로 사용되지 않을 수도 있고 한 문자 집합을 여러 문자 인코딩에서 쓸 수도 있다.
  • 특히 집합 안의 문자들에 음수가 아닌 정수들을 배정한 것을 부호화된 문자 집합(coded character set, CCS)라 한다.

문자 인코딩 형태(character encoding form, CEF)

  • 특정한 문자 집합 안의 문자들을 컴퓨터 시스템에서 사용할 목적으로 일정한 범위 안의 정수(코드값)들로 변환하는 방법이다.
    • 유니코드 코드 포인트를 8비트 숫자의 집합으로 나타내는 UTF-8이나, 16비트 숫자의 집합으로 나타내는 UTF-16, 그리고 대부분의 일반적인 문자 인코딩들이 포함

문자 인코딩 구조(character encoding scheme, CES)

  • 문자 인코딩 형태로 변환된 코드값을 옥텟 기반의 시스템에서 사용하기 위하여 옥텟들로 변환하는 방법이다.
    • 대부분의 문자 인코딩 형태는 이 과정에서 아무런 일도 일어 나지 않으며, 8비트 이상의 숫자를 사용하는 UTF-16과 같은 문자 인코딩 형태의 경우 엔디안을 지정해 주는 것으로 충분하다.
      • 여기에는 ISO 2022와 같은 복합 인코딩이나, SCSU와 같은 압축 방법 등이 속한다.

퍼센트 인코딩

  • 퍼센트 인코딩(percent-encoding)은 URL에 문자를 표현하는 문자 인코딩 방법이다.
    • 알파벳이나 숫자 등 몇몇 문자를 제외한 값은 옥텟 단위로 묶어서, 16진수 값으로 인코딩한다.

허프먼 코딩(부호화)(Huffman coding)

무손실 압축에 쓰이는 엔트로피 부호화의 일종으로, 데이터 문자의 등장 빈도에 따라서 다른 길이의 부호를 사용하는 알고리즘

  • 문자들의 빈도로부터 접두 부호(어떤 한 문자에 대한 부호가 다른 부호들의 접두어가 되지 않는 부호)를 만들어 내는 알고리즘으로, 적게 나오는 문자일수록 더 긴 부호를 쓰고 많이 나올수록 더 짧은 부호를 쓴다.

무손실 압축

  • 비손실 압축 또는 무손실 압축은 데이터 압축의 일종
  • 원래의 정보를 그대로 보존해야 하기 때문에, 정보 엔트로피의 한계가 그대로 반영된다.
    • 정보 엔트로피의 한계란 개별 정보의 확률값에 의하여 계산되는 값이 아닌, 전체 신호의 상관관계를 반영한 한계값
  • 일반적으로 파일 데이터 압축에 사용하는 gzip을 비롯한 알고리즘들이 이에 해당한다.
    • 오디오나 이미지 압축에서 사용하는 무손실 압축 기술들은 각각의 신호 특성에 맞추어서 최적화가 된 것
    • 범용성을 가지는 데이터 압축 기술에 비하여 조금 더 압축률을 끌어 올릴 수 있다.

손실 압축

  • 데이터를 압축하여 자료를 받는 곳에 압축으로 풀어서 원래의 것과 다르게 보여주는 것을 말하지만 어떠한 부분에서는 충분히 유용한 방식
    • 멀티미디어 데이터를 압축하는 데에 가장 많이 사용된다.

손실 압축의 개념

  • 주관적으로 중요한 정보들을 최대한 보존하는 것을 목표로 하며, 이를 위해 사람들이 잘 느끼지 못하거나 둔감한 정보는 손실시킨다.
    • 영상 압축의 경우에는 고주파 성분을 손실 시키거나, 색차 정보를 손실시키는 방식을 주로 사용
    • 오디오의 경우에는 사람에게 잘 들리지 않는 소리를 손실시키는 방법을 사용

지각 부호화(Perceptual Coding)

  • 인식(지각)에 영향을 주지 않는 요소를 제거하여, 원 데이터를 압축하는 기술
    • 인간 감각의 불완전한 특징을 활용하는 부호화
  • 주로, 오디오 신호에 대해 심리음향적 효과를 이용한 오디오 신호 압축을 의미함
    • 심리음향 이론을 이용하여, 신호 중복성 및 무관성을 제거한 오디오 압축 코딩 기술

  • 오히려 불필요한 정보가 추가되어 크기가 더 커지는 경우도 있는데
    • 더 이상 압축할 정보가 없는데도 압축 알고리즘을 거듭하는 경우가 그렇다.
profile
항해중인 우당탕탕 코린이

0개의 댓글