'My major/MPEG'에 해당되는 글 5건

  1. 2006/03/02 IDR frame (4)
  2. 2006/03/02 간단한 영상 압축(예제) (21)
  3. 2006/03/02 mpeg-2 DCT 연산방법 (22)
  4. 2006/03/02 시간영역과 주파수 영역의 차이 (21)
  5. 2006/03/02 영상압축에 관한 짧은 이야기 (4)
2006/03/02 20:30 My major/MPEG
IDR frame is what has been traditionally known as an I frame. In AVC you can also have I frames inside a GOP, which are not seekable, since the long time references introduced in AVC could result in a P frame after the I frame to reference a P frame before the I frame. An IDR frame, just like an I frame in MPEG-1/2 and MPEG-4 ASP, starts with a clean slate, and all subsequent frames will make reference to the IDR frame and subsequent frames. Non IDR I frames should be rare, but since they cannot be ruled out, enforcing a minimal IDR interval can help improve compression in some high motion scenes.
posted by joyoungtae
2006/03/02 20:29 My major/MPEG



간단히 영상 압축을 해본것임.

원영상(BMP)->DCT->VLC

posted by joyoungtae
2006/03/02 20:26 My major/MPEG

다음에서 설명하는것은 mpeg-2를 기준으로한다.

퓨리어 변은은 일반적으로 아날로그 신호를 디지털 신호로 바꾸는데 사용이된다.

그것을 약간 변이시킨것이 DCT이다.


<일차원 DCT>

원영상과 기저 함수를 이용하는데 일차원 DCT는 기저함수가 8개가 있다.

원영상에 8화소의 영상이 있다면 첫번째 기저함수와 8개의 원영상값을 각각 곱하고 모두 더해서

하나의 DC값이 나오게된다.

그다음 DC계수는 두번째 기저함수로 같은 연산을 하게되면 되는것이다.


(기저함수 8개)                    (원영상)                                      (DC계수)

1 1 1 1 1 1 1 1               50 30 100 20 30 30 50 50              360 230 ....

1 0 1 0 1 0 1 0

         .

         .

         .


첫번째 DC계수 = 50*1 + 30*1 + 100*1 + 20*1 + 30*1 + 30*1 + 50*1 + 50*1 = 360

두번째 DC계수 = 50*1 + 30*0 + 100*1 + 20*0 + 30*1 + 30*0 + 50*1 + 50*0 = 230

위는 간단히 예를 들어 설명한것이다.


<TM-5 DCT>

차후 업데이트...

posted by joyoungtae
2006/03/02 20:26 My major/MPEG
시간영역과 주파수영역이 겉모습부터 살펴보죠.

시간영역의 가로좌표는 시간의 흐름입니다. 0초, 1초, 2초...

세로좌표는 신호의 크기입니다. 0초에 신호의 크기는1

1초에 신호의 크기는 1.3.....등등 요렇게 표현되는 것이 시간영역이죠

주파수영역의 가로 좌표는 주파수입니다. 0hz, 1hz, 2hz....

세로좌표는 0hz에 성분크기 10, 1hz에 성분크기 14.....등등

시간영역은 쉽고 가장 편하게 볼 수 있는 신호의 모양입니다.

시간에 따라 신호의 모양을 알 수 있죠.

예를들어 통신을 할 때 상대방이 1과 0을 보낸다고 하면....

시간에 따라 1비슷한 모양이 들어오면 1로, 0비슷한 모양이 들어오면 0으로

판별하게 됩니다. 그런데 주파수영역은 어디에 사용할까요...

저도 그것이 처음이 상당히 궁금했습니다. 지금은 주파수 영역이 없으면

일을 못할 정도지만요...

주파수 영역이 가장 간단하게 사용되는 것을 예를들어 보죠.

휴대폰 말고 일반 전화기 아시죠...? 전화를 걸 때 전화기에서..

띠띠띠.. 그러면서 소리가 납니다.....

그것이 그냥 확인차원에서 나는 소리가 나는 것이 아닙니다.

각각의 번호에는 고유의 특정한 주파수 2개씩 들어가 있죠.

전화번호를 누를 때 마다 띠띠 소리는 전화선을 타고 전화국까지 갑니다.

전화국에선 그 소리의 주파수 성분이 어떤 것인지를 찾아내서

몇번을 누르고 있구나 하고 알게 되는 것입니다.

여기서 "띠" 소리의 타임축 모양을 보면 모든 숫자가 거의 비슷합니다.

구별을 못하죠... 하지만 주파수 모양을 보면 특정 주파수에서만 값이 나옵니다.

예를들어 1에는 100hz, 2에는 110hz, 3에는 120hz뭐 이런식으로 할당하죠.

(정확한 주파수가 아닙니다. 예를든겁니다. 그리고 번호 하나당 두게의

주파수가 들어가 있습니다.)

예 하나 더 들자면....

이퀄라이져 아시죠? 음악들을 때 저음, 중음, 고음 몇 단계로 나눠서...

저음을 크게듣고 싶으면 저음을 크게 하고 ... 이런식으로 조절하는 장치가 있죠.

음악의 식간영역 신호를 보면 시간에 따라 변하는 신호의 모습만 보입니다.

하지만 주파수 영역에서 보게 되면.... 저주파 성분부터 고주파 성분까지..

그 크기를 모두 알 수 있죠. 저주파는 음악에서 저음...

고주파로 갈 수록 고음으로 갑니다. 어떤 음악을 듣는데...

저음을 빠방하게 듣고 싶다면.... 음악 신호를 주파수 영역으로 변화시켜서.

저음 부분을 크게 해주면 됩니다. 시간영역에선 불가능한 일이죠.

이 밖에 굉장히 많은 분야에서 주파수 영역은 사용됩니다.

우리가 많이 아는 영상, 음성 코덱은 모조리 다 주파수 영역이 사용됩니다.
posted by joyoungtae
2006/03/02 20:25 My major/MPEG

1.영상 압축의 목적

대용량의 멀티미디어 데이터를 컴퓨터에 저장하거나 네트워크를 통해 전송하려면 많은 시간과 자원이 소모된다. 예를 들어 5분 짜리 CD오디오 수준의 음악을 44.1Khz의 주기로 16비트 샘플링하여 디지털 데이터로 만들 경우, 데이터는 그 크기가

5분 * 60초/분 * 44,100회/초 * 2바이트/회 = 26,460,000 바이트

정도가 되며 이데이터의 전송을 위해 필요한 전송 대역폭의 크기는 44,100 * 2바이트/초 = 86*103 바이트/초 정도가 된다.

무자게 크네요~(-_-;;

이처럼 멀티미디어 데이터는 일반적으로 크기가 매우 큰 편이며 읻르의 저장이나 전송 등의 효율적인 처리를 위해서 데이터 압축은 없어서는 안될 매우 중요한 기술이라 할수 있슴다.


2. 압축의 원리

1에서 말한 큰 데이터를 압축하는 방법에는 크게 두가지로 나눌수가 있다.

무손실 압축(lossless compression) 과 손실 압축(lossy compression)이다. 모든 압축은 두가지중 하나에 속하게 된다. 말그대로 무손실 압축은 압축전과 압축 후의 데이터가 똑같다는 것이고 손실 압축은 압축후의 데이터가 손실 된다는 것이다. 쉽다..ㅡ.ㅡ;;

정보의 압축을 위해 일반적으로 활용되는 정보의 성질들로는 다음의 세가지가 있을수 있다.


*공간적 상관 관계

*시간적 상관 관계

*정보 구성 기호의 발생 확률


공간적 상관 관계는 영상의 압축을 위해 매우 중요한 성질이다. 예를 들어, 한장의 그림에서 인접한 화소들이 비록 명암이 다르더라도 색상이 동일하다면 이 화소들은 공간적 상관 관계가 높은 것이다. 이처럼 화소들의 공간적 상관 관계가 높으면 공간 주파수가 낮다고 하고 상관 관계가 낮으면 공간 주파수가 높다고 한다. 공간적 상관 관계를 이용한 압축은 영상을 일정 크기로 분할한후(매크로 블럭으로 나눔 그것을 또 블럭 단위로 나눔. 매크로 블럭은 16x16 이고 블럭은 8x8 이다), 이들 각각을 주파수 성분으로 분해한 다음 고주파 성분을 제거하는 방식으로 영상을 압축한다.


시간적 상관 관계는 음성및 동영상의 압축에 있어 매우 중요함. 압축시, 음성을 Nyquist 이론에 근거한 데이터의 최대 전송률보다 높은 속도로 샘플링 한다면 인접 샘플들은 매우 유사한 값을 가지게 될 것이다. 즉, 이 샘플들은 시간적 상관 관계가 매우 높다고 할수 있다.


정보 구성 기호의 발생 확률도 영상 압축에 있어 매우 중요한 역할을 한다. 음...생략...머름...


3.무손실 압축

무손실 압축에 대해 여기선 Run-Length 부호화, Huffman부호화, Lempel-Ziv 부호화에 대해 설명한다.


Run-Length 부호화는 반복되어 나타나는 블럭정보들을 그 반복 횟수로 표현 하는 방법이다.

예를 들어 abbbbbc 라는 것을 Run-Length 부호화를 사용해 표현하면 ab@5c라고 표현할수 있다.

가장 생각해보기 쉬운 방법이다..절라 쉽다..ㅡ.ㅡ;;


Huffman 부호화의 기본적인 개념은 각 단위 정보를 표현하는 비트수를 단위 정보들의 출현 빈도를 기반으로 할당하는 것이다. 무슨 말이냐 하면 빈도가 높은 정보는 적은 비트수를 할당하고 빈도가 높은 정보는 높은 비트수를 할당하여 정보량을 줄이는것이다.

예를 들어 어떤 텍스트 파일에 aaaaa_bbbb_cc 가 있다고 하자 이것을 그냥 아스키 코드로 나타내려면 하나에 8비트라고 생각하면  이것을 표현하기 위해선 88비트가 하지만

a=1, b=10, c=110 등으로 표현을 하면 a가 가장 표현 빈도가 높으므로 압축이 되는것이다.


시간이 없어서..낼 다시 쓰겠음...

posted by joyoungtae