본문 바로가기

DCT

주파수 영역에서의 처리 - (7) 좀더 알고 싶은 이들을 위해 여기에는 연습문제와 상관없이, 이 컨텐츠에서 다루었던 주제들에 관해 더 알고 싶어하는 이들을 위해 몇 가지 설명을 추가했다. 사실 자세히 다루려면 너무 분량이 많아지지만 꼭 알려주고 싶은 내용들이다. 주파수 영역에서의 정보처리가 얼마나 다양한 분야에서 이용되고 있는지 실감할 수 있도록, 다양한 자료들을 단편적으로 제시하고, 더 알고싶은 사람들을 위해 링크, 팁 등을 제시했다. [ 코사인 급수 만드는 법, DCT식의 유래 ] [0, π]에서 정의된 일반적인 함수를 코사인 급수로 만들기 위해서는 다음과 같이 하면 된다. 적분식을 처음 본다면, "의 그래프 아랫 부분의 넓이" 정도로 이해하자. 이산코사인변환에서 구한 은 이것을 수치적으로 계산한 것에 해당한다. 0~π에.. 더보기
주파수 영역에서의 처리 - (5) 2차원에서도 똑같이 해 보자 [ 2차원 DCT ] 이제 여러분은 1차원 배열에 DCT를 적용하는 법을 알아보았다. 이미지에도 DCT를 적용할 것이라고 했는데, 한 가지 문제점에 봉착한다. 이미지는 2차원 배열이기 때문이다. 2차원 배열에 DCT를 적용하려면 어떻게 해야 할까? 1차원에서 정의된 함수를 f(x)라고 나타냈다. 이번엔 2차원이니까 f(x, y)라고 하면 된다. f(x)를 나타내기 위해서는 아래와 같은 함수들을 이용했다. 1 cos x cos 2x cos 3x … 2차원 함수 f(x, y)를 위해선 아래와 같이 확장하면 된다. 1 cos x cos 2x cos 3x … cos y cos x cos y cos 2x cos y cos 3x cos y … cos 2y cos x cos 2y cos 2x cos 2y cos 3x.. 더보기
주파수 영역에서의 처리 - (4) 삼각함수의 합으로 나타내기 2 [ 정보반스러운 생각 ] 이제 방금까지 했던 작업을 컴퓨터의 관점에서 생각해 보자. 종이에 적은 수식이야 얼마든지 존재할 수 있는 수학개념이지만, 컴퓨터의 입장에서는 어렵기 그지없다. 컴퓨터는 연속함수를 이해할 수 없다. 무한수열도 이해할 수 없다. 이미지프로세싱 1부에서 언급했던 '샘플링'이 필요한 것도 같은 이유에서이다. "컴퓨터는 이산적이고(discrete) 유한한(finite) 데이터만 다룰 수 있기 때문이다" 컴퓨터는 생각보다 멍청해서, 연속함수는 띄엄띄엄한 점에서만 정의된 함수들로 이해시켜야 하고, 무한수열은 처음 몇 개를 제외한 뒷부분을 잘라서 유한수열로 만들어 주어야 비로소 컴퓨터가 이해할 수 있는 형태의 '데이터'가 된다. 함수들이 띄엄띄엄 정의되면 아래와 같이 된다. 0~π까지의 구간을.. 더보기