[ photo ] in KIDS 글 쓴 이(By): terzeron (microkid) 날 짜 (Date): 2005년 7월 4일 월요일 오후 04시 08분 11초 제 목(Title): Re: terziron님 몰아서 답글 > 이거는 terzeron님은 내부 연산은 floating point 연산일 것이다라고 > 생각한 것이죠. 저는 정수 내지는 고정 소수점 연산일 것으로 예를 > 든 것이고요. > 생각해 보니까, 포토샵 화상데이터 연산이 정수연산일지 부동소수점 > 연산일지 제가 확실히 모르는군요. 디카 내부에서는 정수 내지는 > 고정소수점 연산이겠지만요. 전 floating point 연산이라고 단정하지 않았습니다. 그냥 floating이 뭐냐고 하셔서 부동소숫점이라고 쓴 거죠. 정수는 그렇다치고 고정소수점을 구현하는 게 부동소수점을 구현하는 것보다 어렵고 더 많은 오버헤드가 포함되는 건 아시죠? 짐작컨데, 포토샵도 고정소수점 연산은 거의 없을 겁니다. 고정소수점이라는 것 자체가 정확한 천문학적인 단위의 금액 처리에나 사용되는 거라서요. > 저는 32bit 프로세서만 돼도 16bit mode 화상데이터를 정수연산으로 > 충분히 계산할 수 있고, 이 때 truncation error도 적고, 정수연산이 > 속도도 빠르므로 정수연산을 할 것이다라고 생각했는데... 요새 > PC용 프로세서들 부동소수점 연산도 충분히 빠르니까, PC 프로그램인 > 포토샵은 부동소수점 연산을 사용했을 수도 있겠네요. 이 경우 truncation > error는 거의 고려할 필요가 없겠죠. 정수연산만으로 구현한다고 하더라도(가정), integer A의 연산과 integer B의 연산이 integer 범위를 넘어간다고 하더라도 중간 단계에서는 long long에 저장했다가 마지막 단계에서 integer에 저장하겠죠. 그리고 연산 결과 자체가 integer 범위를 벗어나는 것이라면 integer가 아니라 long long이 결과가 될 거구요. 아마 제 정신을 가진 프로그래머라면 당연히 이렇게 구현할 겁니다. > 제가 포토샵도 정수연산일 것이다라고 관성적으로 판단했음을 인정 > 하겠습니다. 근데... 아무래도 curve나 bright, contrast, 색조정 > 류의 단순한 것들은 정수연산을 사용하고, filter 처리 같은 복잡한 > 것들은 부동 소수점연산을 사용하는 식으로 연산방식이 혼합되지 > 않았을까 하네요. 잘못 생각하신 것은 아닙니다. 뭐, 저도 포토샵 프로그래머가 아닌 이상에야 정확히 알 수가 없죠. > 암튼, 전체를 부동소수점 연산으로 한다고 해도, 한단계의 처리 > (ex: curve 조정, contrast 조정)를 한 후 그 결과가 정수로 저장 > 되므로, 이 때 사용하는 정수의 bit수가 많을수록 이미지 품위가 > 좋겠죠. 처리가 거듭될수록 효과는 누적될 것이고요. > 어째거나 처음과 결론이 많이 다르지는 않으니까... 뭐... 이 정도... 네, 저도 커다란 사항에 있어서는 동의합니다. --- 어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다. - Stanislaw Lem - |