본문 바로가기
기술자료/JPEG 압축 영상

[JPEG Study] [Chap[1.5] 정보압축 방법]

by 알 수 없는 사용자 2009. 7. 23.
728x90
반응형

아래 정리된 내용은 이현빈 군이 스터디에서 발표에 사용했던 내용입니다.

정리가 제일 잘된 듯 해서 올립니다.

그리고 위에 첨부된 강의자료 ppt 파일은 대학교 다닐때 사용했던 교재의 출판사에서 제작한 ppt 입니다.


=============================================================================================

◎ 그림 1-7 정보 미디어의 전송 속도와 압축 후의 전송 속도
[정보 압축으로 네트워크 이용확대]
 -> 기술의 발전으로 인하여 정보의 압축으로 인하여 대용량의 데이터 전송에 용이해짐에 따라서 음성보다  영상에서 큰 효과를 가져오게 됩니다.
[음성보다 영상이 고압축률 가능]
 -> 음성보다는 영상에서의 압축 가능한 데이터가 많고 데이터 자체도 영상이 많기 때문에 압축시 영상이 큰    압축률을 보입니다.

# 정보 압축의 실현 방법    

 각 화소는 휘도(밝기)와 색차(색 정보)를 갖는데, 휘도와 색차는 각각 다음 가지 방법에 의해 정보를 압축시킵니다.

영상압축의 세 가지 요소입니다. 영상정보압축에 가장 효과적인 것은 DCT입니다.

[동영상 압축의 기본적인 원리(3가지 압축방법)]

1. 화면내 상관관계
 - 일반적인 영상은 인접화소간의 값이 거의 비슷하기(상관도가 높기) 때문에 화면내(공간적) 상관관계를 이용하여 정보를 압축합니다.
 
2. 화면간(시간적) 상관관계
 - 전 화면의 정보를 기억해두고, 현 화면을 전 화면으로부터의 차분치로 나타냄으로써, 화면간(시간적) 상관관계를 이용해 정보를 압축합니다.

3. 부호의 발생확률이 서로 다름
 - 1,2의 방법으로 부호화 할때, 부호의 발생확률이 서로 다름을 이용해 정보를 압축합니다.
 
이렇게 3가지 방법이 있지만 보통 이 세가지 압축방법이 혼합되어 이용되는데 이러한 방식은 하이브리드 부호화라고 불립니다.

* 정보 압축 기술의 필요성
 1. 통신 미디어
 - ㄱ. 멀티미디어 통신이 가능
   ㄴ. 전화처럼 저렴한 요금으로 멀티미디어 통신이 가능하게 됨
 2. 저장 미디어
 - ㄱ. 값싼 저장 미디어로 멀티미디어 정보를 기록
   ㄴ. 소형대용량화로에 다른 격납공간의 축소
 3. 방송 미디어
 - ㄱ. **열화가 없는 고품질 전송이 가능
   ㄴ. 다채널화가 가능
  
 ** 열화현상이란 ?
  - 열화현상이라고 함은  왜 예전에 VCR에 비디오 테이프를 넣고 보고 또 보고  하다보면  화질이 급격하게 떨어지는 현상이 나타납니다. 우리가 흔히 쓰고 알고 있는 JPEG 사진파일도  열화현상이 있습니다. 다만 그냥 열어본다고 열화현상이 일어나는 것은 아니고 다른이름으로 저장하면 열화현상이 생깁니다. JPEG사진을 약간 압축하면서 다른이름으로 저장을 600회 하게 되면 약 120회 정도에서 사진의 열화현상이 보이기 시작합니다. 600회가 되면 거의 사진이라 할 수 없을 정도로 변해 버립니다.
  
#2. 정보 압축의 원리
◈ ?화면내(공간적) 상관관계를 이용한 압축
  1) 공간주파수란 무엇인가?
   - 그림의 화소(픽셀)와 화소간의 색상 정보의 변화가 거의 없는 경우, 쉽게 말하자면
    거의 단색으로 구성된 그림을 생각해 보시면 될 것입니다. 이런 경우처럼 그럼이 평활
    하고 천천히 변화할 때 "공간 주파수가 낮다"고 합니다. 반대로 그림이 세밀하고 변화가
    많을 때, "공간 주파수가 높다"라고 말하며 이대의 공간 주파수는 물결파와 비슷합니다.
   
    1. 같은 색의 영상은 화면내의 상관도가 높으면, 공간주파수가 낮습니다.
    2. 백과 흑의 경우처럼 극단적으로 색이 차이날 경우 화면내 상관도는 낮습니다.
      즉, 공간 주파수가 높습니다.

영상에도 정밀한 파형이 있고, 자연화는 화면내 상관도가 약간 높습니다.

[공간 주파수]

  2) 주파수성분의 분해
   - 한 장의 영상은 일정한 크기의 정방형영역으로 나뉘어져 각 영역에 대해 변환처리를 행함으로써 영역 내의 평균값(영역 전체가 같은 값을 가지는 화면성분, DC)으로부터 매우 정교한 최고주파수의 영상성분에 이르기까지 여러 가지 주파수의 영상성분으로 분해됩니다. 이 분해과정을 "직교변환"이라고하는데, 보다 정교한 성분은 보다 고주파인 성분이라고 이해하면 됩니다. 
  현재 가장 많이 쓰이는 직교변환은 **DCT(Discrete Cosine Transform; 이항여현변환)로 영상압축에 가장효과적인 방식으로 꼽히고 있습니다.. 특히 영화나 드라마를 보시면 DCT라고 적혀 있는 걸 쉽게 찾으 수 있을 겁니다.

** DCT는 Discrete Cosine Transform의 약자로서 n개의 데이터를 n개의 Cosine 함수의 합으로 표현하여 데이터의 양을 줄이는 방식을 말합니다. 이 방식은 Fourier의 가설 Time Domain에서의 n개의 삼각함수로 표현할 수 있다는 Fourier Transform에서 출발한 것입니다.
 

직교변환에 의해 주파수 분해가 가능하고, DCT에 의한 저주파항으로 에너지가 집중됩니다.

                                     [일반적인 긱교변환(주파수성분의 분해)의 개념도]
        
직교변환의 장점은 변환 전에는 화면에 불규칙하게 퍼져 있던 화소 값(예을 들어 휘도)이 변환 후에는 저주파항 쪽으로 집중되는 경향이 있다는 것입니다. 따라서 고주파항들을 버리는 조작을 통해 정보 손실을 거의 없이도 정보압축을 할 수 있게 되었습니다.
 이러한 **고주파항을 버리는 작업을 양자화라고 합니다.

** 고주파항을 버릴 수 있게 된 이유는 사람의 눈은 명도에 대해 비교적 넓은 영역에서 작은 차이를 구분할 수 있습니다. 그러나 고주파의 명도 변화에서는 그 구별능력이 떨어집니다. 이 사실에 근거하여 고주파 성분의 정보의 많은 부분은 버릴 수 있게 되었습니다. 

 양자화는화소 값 혹은 직교변환된 각 주파수의 성분 값을 '양자화 스텝 사이즈'라 불리우는 어떤 값(분모)으로 나누어  나머지를 반올림 등의 방법으로 없애는 것입니다. 그래서 이 없어진 부분은 재생시 양자화 스텝 사이즈를 곱하더라도 원상태로 완전히 복원될 수 없습니다.

  분모를 크가 하면 크게 할수록 많은 항들이 거의'0'이 되고 이에 따라 압축률을 높일 수는 있지만 고주파항들이 손실되어 섬세함이 없어지고 저주파항들도 양자화 에러가 커지기 때문에 재생시 흐린 듯한 영상이 될 수 있습니다. 반대로 분모가 작으면 작을수록 잘려나가는 에러가 작아지기 때문에 재생시 섬세함이 손상되지 않아 원화에 가까워 지지만 압축률은 낮아집니다.

  3) 화면내(공간적) 상관관계에 따른 정보압축의 원리
                                    [화면내(공간적) 상관관계에 따른 정보압축의 방법]
《부호화 처리》
① 한 장의 영상을 8x8 화소의 정방형 블록으로 분할 합니다.
② 정방형의 화소 블록마다 변환(DCT연산)을 행합니다.
③ 변환 후 각 계수를 어떤 수('양자화 스텝'이라 부른다)로 나누어 나머지를 반올림 합니다.  -> 양자화
** 양자화의 정의 :

《복호 처리》
④ 수신된 8x8 화소 블록의 각 계수에 양자화 스텝을 곱합니다.. -> 역양자화
⑤ 8x8 블록마다 역변환(역 DCT 연산)을 행합니다. -> 역변환


** DCT 계수 양자화란 여러 개의 값을 하나의 대표값으로 대치시키는 과정을 말합니다. 예를 들면 0에서 10까지의 값을 5로 대치시키고, 10에서 20까지의 값은 15로 대치시키는 것은 0부터 20까지 연속적으로 분포하는 수많은 수들을 5와 15라는 두 개의 값으로 양자화시킨 것입니다. 양자화 과정을 거치고 나면 기억해야 할 수많은 경우의 수가 단지 몇 개의 경우의 수로 축소되기 때문에 데이터의 손실이 일어나지만 데이터량을 크게 줄일 수 있습니다. 양자화를 조밀하게 하면 데이터의 손실이 적어지는 대신 데이터량은 그만큼 조금 줄고, 양자화를 성기게 할수록 데이터의 손실은 많아지는 대신 데이터량은 그만큼 많이 줄게 됩니다. 따라서 사람의 눈에 매우 민감한 영상의 시각정보가 많이 들어 있는 DC 및 저주파 성분의 DCT 계수는 조밀하게 양자화를 하고(작은 양자화 계수로 DCT 계수를 나누고), 사람의 눈에 덜 민감한 영상의 시각정보가 적게 들어 있는 고주파 성분의 DCT 계수는 듬성듬성하게 양자화하면(큰 양자화 계수로 DCT 계수를 나눈다) 전체적으로 영상의 손실이 최소화되면서 데이터량의 감소를 극대화시킬 수 있습니다

◈ ?화면간(시간적) 상관관계에 의한 압축
 - 애니메이션에서 프레임간의 움직임을 표현할 때 동화를 사용하여 조금씩 다른 화면을 차례로 디스플레이 함으로써 마치 연속된 화면을 표현시키는 기법이 있습니다. 이것은 움직이는 부분만을 이용하여 움직이는 부분만을 새로 그려줌으로써 작업 효율이 상당히 올라가게 됩니다.
 영상처리에서도 이것에 착안하여 화면간의 상관관계를 이용하여 압축을 시도하였습니다.
 전 화면정보를 이용하여 압축하려고 하면 부분에 따라 크게 두 개의 경우가 발생합니다. 첫번째 경우에는 전혀 변화가 없는 경우인데 이 경우는 전 화면과 변화가 없다는 신호를 보내 화면을 계속 디스플레이 할 수 있습니다. 다른 경우는 현 화면의 어느 부분이 전 화면의 어느 부분에서 이동해 온 것입니다. 쉽게 말하자면 화면의 일부만 이동 한 경우라고 볼 수 있겠습니다. 이러한 경우 전 화면에서 현 화면에 이동한 좌표를 움직임 벡터라 하고, 움직임 벡터를 이용한 하여 화면의 일정 부분만을 가져오는 것을 움직임 보상이라고 합니다.

1. 시간상관압축의 기본은 움직임 보상. 2. 움직임 벡터를 정방화소 블록 단위로 추출


◈ 부호의 발생확률의 편중을 이용한 압축
 1) 부호의 발생 확률
 - 이 압축의 기본원리는 부호의 발생 확률을 이용하는 것입니다. DCT계수나 움직임 벡터 등에 대해 발생확률에 발생확률이 높은 값에 길이가 짧은 부호를 할당하고, 출현확률이 낮은 값에 길이가 긴 부호를 할당하도록 부호기와 복호기 사이에 새로운 부호체계를 세우면 평균부호길이를 줄일 수 있습니다. 이것을 "가변장부호화(부호에 따라 부호길이가 다른 방식)" 또는 "엔트로피 부호화(발생확률의 편중을 이용하는 방식"이라고 합니다.

 ** 쉽게 생각을 해봅시다. 주사위 2개를 가지고 굴리게 되면 2와 12는 거의 나오지 않게 된다. 하지만 12를 반으로 나눈 6에서 가까운 수들은 자주 나오게 됨을 볼 수 있습니다. 즉 자주 나오게 되는 수가 존재하게 되어 있는데 그러면 자주 나오는 수에 짧은 코드를 부여하고, 자주 나오지 않는 수에 긴 코드를 부여하게 되면 전체 코드의 길이가 줄어들게 됨을 볼 수 있는 경우가 많이 있습니다.

 2) 예로 보는 정보압축의 효과
 - 가변장 부호의 예

 데이터 발 생 확 률  부 호  부 호 길 이 
 0 0.6   1
 1  0.2  10  2
 2  0.1  110  3
 3  0.1  111  3
 이 데이터를 가지고 평균 부호길이를 계산하게 되면 다음과 같습니다.
 ⊙ 고정장 = 2 X 0.6 + 2 X 0.2 + 2 X 0.1 + 2 X 0.1 = 2(bit)
 ⊙ 가변장 = 1 X 0.6 + 2 X 0.2 + 3 X 0.1 + 3 X 0.1 = 1.6(bit)
계산식을 비교해보면 가변장부호쪽이 유리함을 알 수 있습니다.

1.DCT/움직임보상/가변장부호의 하이브리드 부호화 채용





728x90