카테고리 보관물: 학술

자세정보 기록하기

인간의 일생을 기록하는데는 얼마나 많은 비용이 들어갈 것인가. 그것은 샘플링 레이트에 달려있다.

사실 시각정보도 1초당 30프레임씩 쳐서 그렇지 화질 줄이고 프레임 줄이면 확 싸진다.

이번엔 인간의 자세를 기록해 보자. 자세란, 각종 관절의 움직이는 상태이다. 즉, 자세정보를 기록한다는 것은 관절이 어떤 위치에 있는지 기록한다는 뜻이다.


http://ask.nate.com/qna/view.html?n=3825905


여기를 참고해 보면, 인간의 관절은 약 150개이다. 다른 곳에서는 200개라는 의견도 있다. 관절 1개당 2차원의 운동이 가능하다. 1차원 운동만 가능한 관절은 거의 없다. 아무튼 3차원 이상의 움직임은 불가능하므로(관절이 빠지지 않는 한…) 모두 2차원이라고 하자. 그럼 기록해야 할 좌표의 수는 300개가 된다. 좌표 1개당 2바이트를 줘서 65536단계로 샘플링을 해 보자. 한번 기록하는데 600바이트가 필요하다. 인간이 빠르게 움직인다고 해도 1초당 100번정도 스캔한다면 충분할 것이다. 여기에 인체 자체가 바라보고 있는 방향에 대한 정보가 필요한데, 이것은 3차원 각도 좌표가 필요하고, 여기에는 8바이트가 필요하다.



[각주:

1

]



이건 600바이트에 비해서 별로 크지 않으므로 오차로 치고 무시하자. 아무튼 그럼 1초당 60000바이트가 필요하다. 이 수치는 약 60킬로바이트에 해당한다. 그럼, 1년은 31536000초니까 당연히 1년치 자세 정보의 총 량은 대략 1762기가바이트라는 계산이 나온다. 이것은 약 1.7테라바이트인데, 많이 싸다고 봐야겠다. 즉, 1년에 10만원이면 충분하다는 뜻이다. 100년 평생 저장에 1000만원이면 된다.

아무래도 인간은 시각의 지배를 받는 모양이다. 하지만 촉각정보가 기대되는걸…

  1. 1개 차원의 각도는 회전축의 방향과 그 회전축에 대한 각도, 이렇게 2가지 정보가 필요하다. 그리고 회전축을 하나 잡는데 6바이트, 각도에 2바이트가 필요하다.

    [본문으로]

위치정보 저장하기

잠시, 당신의 일생은 감각만으로 완성되지 않는다. 언제, 어디에 있었는가도 또한 중요하다.

위치 정보는 시간 정보를 포함해서 4차원으로 완성되고, 이것은 GPS를 보면 된다.


http://korea.maxim-ic.com/appnotes.cfm/an_pk/3952


여기를 참고하면, GPS신호의 길이는 1023비트라고 한다. 대충 1024비트라 치고, 바이트로 따지면 128바이트가 된다. 이것을 4개가 있어야 위치를 정확히 알 수 있기 때문에 512바이트의 정보가 필요하다. GPS 신호가 잡히지 않는 곳에 있다 하더라도, 일단은 그냥 위치를 기록한다 치자.

인간의 위치는 사실 1초마다 기록하면 충분하다. 인간이 가장 빠르게 움직이는 경우가 비행기에 타고 있을 경우이고, 비행기의 속력이 대략 시속 600킬로미터라고 친다면, 1분에 10킬로미터를 날아가는 셈이고, 그래봐야 1초에 170미터 정도밖에 안간다. 오차가 크다고 생각된다면, 0.1초마다 한번씩 기록한다고 하자. 그럼 1초동안의 위치 기록에 5120바이트가 소모된다. 벌써 몇번을 우려먹는 수인지 모르겠지만 1년은 31536000초이다. 여기에 5120을 곱하면 161464320000바이트가 된다. 대충 1년에 150기가바이트 정도의 용량이 나온다. 그럼 100년 평생에 약 15테라바이트가 되고, 이정도라면 지금도 단돈 100만원에 해결할 수 있다.

싸다. -_-;

청각정보 저장하기

하는김에 청각도 저장해 보자.

청각은 꽤 쉽다. 현재 인간이 사용하는 MP3파일 포맷의 경우, 128kBPS에 44100Hz로 샘플링하는 경우 1분에 1MB정도 나온다. 비트레이트를 올려서 3배 정도 좋게 만든다 해도 1분에 3MB다. CD의 경우 1분에 10MB라고 한다. 그럭저럭 깨끗하게 들을만한 CD음질로 샘플링해서 평생을 기록한다면?

하루는 24*60분 = 1440분이다. 1년은 525600분이다. 평생을 100년이라고 치면 52560000분이다. 1분에 10MB니까 525600000MB가 필요하다. (너무 간단한가…-_-)

이걸 우리가 아는 단위로 바꾸면 513281.25기가바이트가 나온다. 테라바이트로는 501 테라바이트.

지금 1테라바이트가 10만원대니까, 대략 5천만원정도면 평생 듣는 모든 소리를 저장할 수 있다.

흠…

CD는 1장에 77분이 들어간다. 1년을 기록하는데는 CD가 6825장이 필요하다. 평생을 기록하는데는 대략 70만장 정도의 CD가 필요하다고 추산할 수 있다. CD의 두께가 1.2mm라고 하는데, 그럼 이걸 일렬로 쌓으면 819미터 정도. (근사 계산을 많이 해서 수십미터 정도는 틀릴 수 있다.) 하드디스크 500개, 또는 CD 70만장. 그것이 당신의 일생동안 듣는 모든 소리이다.

CD보다 더 좋은 음질을 바라는가? 요즘 최신 유행인 7.1채널로 녹음한다고 하면, 비용과 용량이 약 4배 늘어나면 된다. (CD는 2채널이고, 7.1채널은 8개의 채널을 녹음하니까. ) 그래도 2억이다. 시각정보 저장하는데 들어간 비용 (7천억원~5조원)과 비교하면 껌값.

후각정보 저장하기

과학계의 전설에 따르면, 인간이 구별할 수 있는 냄새의 종류는 약 375가지라고 한다.


http://www.sciencetimes.co.kr/article.do?atidx=0000030110

그럼, 1바이트로 표현할 수 있는 정보의 가짓수가 256개니까, 2바이트면 인간이 구별할 수 있는 냄새를 충분히 표현할 수 있다. (256*256 > 375)

냄새의 경우, 시각과는 다르게 1초당 1회의 기록 정도로 충분할 것이다. 인간이 살아있는 한 숨을 쉬어야 할 것이고, 대략 1초에 1회 숨을 쉰다면 냄새 신호가 생성되는 주기도 대략 1초에 1회로 볼 수 있기 때문이다. 즉, 1초당 2바이트의 정보를 기록해야 한다. 전에 계산했듯이, 1년은 31536000초에 해당한다. 여기에 2를 곱하면 63072000바이트가 된다. 이것을 우리가 잘 아는 단위로 바꾸면 약 60메가바이트 정도 된다. 확실히 시각정보보다 싸다. 1년치가 겨우 60메가바이트라니. (시각의 경우, 1초당 17기가바이트…압축 해도 1기가바이트는 족히 넘을 것이다.)

아무튼, 그럼 평생을 100년이라고 쳐도 6기가바이트면 충분하다.

후각은 더이상 계산할 필요가 없다. 인간이 평생 맡게 되는 냄새를 전부 저장하는데 6기가바이트라니. “시간”에 대한 인덱스를 따로 붙인다면 평생의 초 수를 셀 수 있는 용량이 추가적으로 필요한데, 이것은 3메가바이트로 충분하다. 6기가바이트에서 조금 남은 자투리로 OK

싸게 갑시다…ㅋ

자. 추가로 하나 더 해보자. 인간의 코에는 후각세포가 약 500만개가 있다고 한다. 그럼, 이 500만개의 신호를 전부 샘플링해서 저장한다면? 세포 1개당의 샘플링은 2바이트를 이용하자. 그럼, 위에 계산한 값에 500만을 곱하면 간단히 끝난다. 대략 3천만 기가바이트정도 필요하다는 뜻. 그럼 대략 3만 테라바이트정도 되고, 1테라바이트의 하드디스크가 10만원이라는 설정을 감안한다면, 약 30억원정도의 예산이 필요하다. 갑자기 이렇게 하니까 청각보다 비싼 감각이 되었다. (하지만 500만개의 세포를 모두 쓰는건 아니니까…인식한 냄새 종류에 따라 구별하는 처음의 아이디어가 더 좋을 것 같다. 싸니까…)

시각정보 저장하기

오늘은 산수 공부를 해 보자.

인간의 눈은 약 1억 화소 정도에 해당한다고 알려져 있다.


http://withrobot.tistory.com/tag/%ED%99%94%EC%86%8C%EC%88%98

그렇다면, 인간이 평생동안 살면서 얻는 모든 시각정보를 저장한다면 하드디스크는 얼마나 필요할까?

인간의 망막에 있는 시각세포들 대부분이 흑백 영상을 처리하고, 3백만 화소 정도가 컬러를 처리한다. 하지만 흑백이라 하더라도 인간의 시각세포의 민감도를 고려해서, 대략 1억화소 전부가 컬러라고 가정하자.

1화소당 필요한 정보의 양은 R, G, B 각각 1 바이트씩 사용한다면 3바이트가 된다. 이것은 우리가 컴퓨터 영상에서 트루컬러라고 부르는 24비트 이미지에 해당한다. 대략 1600만 컬러의 구별을 가능하게 한다.

1억화소이므로, 전체 화소를 처리하는데는 3억바이트가 필요하다. 이것은 1프레임에 해당한다. 눈은 2개이므로 두배로 하자. 1프레임당 6억화소다. 내가 링크한 블로그를 참고하면, 초당 최소한 20프레임 이상으로 처리되고 있다고 한다. 인간의 눈은 30프레임 이상의 영상은 잔상 효과로 인식하지 못한다고 알려져 있으므로, 적당히 초당 30프레임을 처리한다고 하자. 그럼 1초당 저장해야 하는 동영상의 용량은 180억 바이트가 된다. (그래봐야 17기가바이트 정도.)

숫자 단위가 커지므로 17기가바이트를 기준으로 해서 계산을 이어가자. 1년은 31536000초이다. 따라서 1년간 536112000기가 바이트가 필요하다. (숫자가 정확해진건 계산기에서 붙여넣었기 때문이다)

이 용량은 다시 523547테라바이트에 해당한다. 1테라바이트짜리 하드디스크가 최근 13만원정도 하니까, 요즘 시세로 1년치 영상을 저장하려면 약 680억원 정도의 예산이 필요하다.

인간의 수명을 80년이라고 가정하면 41883750테라바이트가 필요하다. 여기에 필요한 예산은 5조 4천억원.

물론 저장장치 용량은 늘어나고 가격은 싸지니까 이보다는 적게 들어갈 수 있다. 대략 5조원 정도라고 하자.

이것이 만약 10년전, 즉 99년이었다면 예산은 100배정도 올라간다. 그땐 100GB이하의 하드디스크가 대세였으니까.

그렇다면, 10년쯤 후에는 100TB하드디스크가 대중화 된다면?

일단 10년치를 저장하는데 6800억원이 필요하고, 다시 그 다음 10년치 저장하는데는 70억원, 그리고 그 다음 10년치는 7000만원…

이런 식의 등비급수라면 80년치 전부를 저장하는데 7000억원이면 충분하다. 지금 모든 하드디스크를 사둘 필요 없이 가득 찰 때마다 새로 사면 된다.

잠깐 딴 생각으로, 1테라바이트를 채우는데는 얼마나 걸릴까? 1초에 17기가바이트니까, 1024/17=60초. 즉, 1분에 1개씩 사야 한다. 이 하드디스크를 보관하는 것도 문제다. 물론 기술이 계속 개발되면 같은 크기에 100배 이상 늘어난 용량을 저장할 수도 있을 것이다. (그 전에 물리적 한계에 도달해서 크기를 줄이지 못할수도 있지만…)

참고로, 초당 17기가바이트를 전송하려면 어떻게 해야 할까? 지금 나오는 가장 빠른 하드디스크가 SATA2방식일텐데, 대략 초당 100MB를 전송하는 것 같다. 그렇다면 1700MB를 1초에 전송해야 하니까, 이론적으로는 SATA2방식의 하드디스크 17개를 RAID 0으로 묶으면 된다. (말이 되는지 안되는지는 모르겠다.)

음…

추가.

자꾸 계산하다보니까, 1조~5조원에 달하는 예산이 다른 감각에 비해서 수천배나 비싸서 감당할 수 없는 지경에 이르렀다. 일단 화소 수를 줄이자. 1억화소를 1천만화소 정도로 줄이면, 예산은 천억원~5천억원대가 된다. 여기에 초당 30프레임을 초당 20프레임으로 줄이자. 그럼 예산은 7백억원~3천억원대가 된다. 여기에 압축을 써 보자.


http://mediaexperiences.tistory.com/entry/%EB%86%92%EC%9D%80-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%95%95%EC%B6%95%EB%A5%A0%EB%A1%9C-MPEG-%EB%8C%80%EC%B2%B4%ED%95%98%EB%8A%94-H264


여기를 참고하면, MPEG-2가 2시간 저장하는데 20GB가 필요하고, h.264코덱은 이보다 2배의 압축률이 나온다고 한다. 즉, 1시간 저장하는데 5GB면 된다는 뜻이다. 즉, 이것은 초당 1.4MB를 뜻한다. 1초당 17기가바이트에 비해 1만분의 1로 줄어든 크기이다. 3천억원의 1만분의 1은 3천만원이다. 갑자기 너무 많이 싸졌다. 화소 수를 다시 1억화소로 올리자. 그럼 3억원이 된다. 동영상 압축을 하면 80년치 저장하는데 3억원이면 대충 된다. (풀프레임으로 해도 5억원…아무리 많아도 10억은 안 넘는다.)

푸리에 변환으로 곱셈 계산하기


http://en.wikipedia.org/wiki/Multiplication_algorithm#Fourier_transform_methods

이런게 있다.

번역을 해 보자.

Strassen의 아이디어다. (1968년)

가장 큰 정수 w를 고른다. w는 오버플로우는 내지 않도록 한다.

곱해야 할 두 수를, w비트인 m개의 그룹으로 나눈다.




그럼, 이제 이게 된다.



m보다 큰 i, j에 대해서 a와 b를 0으로 놓고, c는 a와 b의 convolution으로 놓는다.

convolution 정리에 따르면,

1.a와 b에 대해서 빠른 푸리에 변환을 한다.

2.두 계산 결과를 각각의 항 별로 곱한다

3.푸리에 역 변환을 계산한다

4.2^w보다 큰 c_k를 c_{k+1}에 더한다

이 계산 방법은 2007년 Furer에 의해 조금 개선되어서, 현재까지는 가장 빠른 곱셈법으로 알려져 있다.

Strassen의 원래 아이디어의 계산 복잡도는 대략 $\theta(n*ln(n)*ln(ln(n)))$정도이고, Furer 방법의 계산 복잡도는 $\theta(n*ln(n)*2^{(\theta(ln(n))})$ 정도라고 한다.

봐도 모르겠다…

나중에 논문 찾아서 읽어봐야지.


http://www.cse.psu.edu/~furer/Papers/mult.pdf


Furer의 논문이다. Strassen 알고리즘의 논문은 독일어 저널에 독일어 제목으로 실려 있는 것 같아서…보고싶지 않다…



운명

친구가 나에게 “만약 애인이 있는데, 다른 사람이 자신의 운명적인 만남이라는 느낌이 든다면 어떤 선택을 할거냐?”라고 물어보았다.

그런 고민이라면 애인이 생긴 다음에 하는게 원칙이지만…

난 운명이나 신, 또는 유전자에 의한 필연적인 결과라든가 하는것을 신경쓰지 않는다.

미래가 정해져 있다면 내가 어떤식으로 선택하든 그것은 “정해진 결과”이다. 즉, 나는 내 맘대로 선택했지만 그것은 이미 정해진 결과였다는 것이다.

미래가 정해져있지 않다면 내가 무언가를 선택하였다면 그건 “내가 만들어낸 결과”이다.

나는 내 맘대로 선택했지만 그것을 부르는 이름이 달라질 뿐이다. 본질은 결국 내 맘대로 선택했다는 것 뿐.

그런 고민은 역시 애인이 생긴 다음에…

공감

2008년 2월 6일. 휴대폰 메모.

난 너의 행동을 이해할 수가 없어

그럼 넌 자신의 행동은 스스로 이해할 수 있다는 거야?

인간은 자신의 행동조차도 스스로 이해하지 못해

나는 할 수 있어

거짓말이야, 그건 착각에 불과해. 자기 자신을 이해한다면 자신을 속여가면서까지 살아야 하는 걸까?

자신을 이해하는 것은 타인을 이해하는 것 만큼이나 어려운 일이야. 대체 인간을 이해한다는 것은 무슨뜻일까?

이해한다는 것은 그사람의 실존을 부정하지 않는다는 거라고 생각해

하지만 이해하지 못했다고 실존을 부정하는건 아니잖아?

설명이 부족했군. 만약 내가 어떤 인간의 행동을 이해되지 않는다고 하면 그 사람의 행동은 내게 아무런 의미가 없겠지. 그것은 그 사람의 존재 중에서 적어도 그 행동에 관련된 부분은 내게 존재하지 않는거야. 그것이 실존이지. 그렇지만 그 행동은 그 행위자에게는 의미가 있었잖아?

문제는, 이해하는 행위의 주체는 나라는 점이지. 내가 이해하지 못했는데 어째서 그의 시각으로 바라봐야 하지?

그냥 넘어갈 수는 없는거야?

그러기엔 타인을 이해하지 못한 경우에 생길 수 있는 위험이 큰데

그렇게 이해 못한다고 계속 걸고 넘어지다간 언젠가 인간관계에서 실패할 것 같은데?

알리바바랑 40인의 도적

알리바바랑 40인의 도적 얘기에 보면, 도적들이 알리바바네 집 대문짝에 표시를 해 놓고서 (그것도 대놓고 보이게) “ㅋㅋ 이제 그집 털면 되삼” 하고 보고 했다가, 알리바바네 마누라가 “어떤 ….가 남의 집 대문에 낙서를 해놔?”라고 분노에 찬 똘끼로 딴집 대문에다가 전부 같은 표시를 해 놨다. 아마 그날, 그 동네에서는 “낙서금지” 결의안이 통과되었을 것이다. 아무튼 40명의 도적단은 그날 허탕을 친다.

근데, 같은 이치가 우리나라에서도 통한다. 뉴스에 보도된 여러가지 범죄 소식을 보면, 아파트 단지에서 장기간 집을 비운 경우 현관문에 붙어있는 각종 전단지들을 보고서 전단지가 많이 붙어있는 경우 빈집일 가능성이 높다고 생각해서 도둑이 든다는 것이다. 즉 전단지를 제때 치워주지 않으면 범죄의 대상이 될 가능성이 높다.

하지만 원룸에는 반대의 이치가 적용된다. 원룸은 장기간 비어있는 집이라면 사람이 아예 살고있지 않은 텅 빈집일 가능성이 높다. 따라서 오히려 전단지를 치우지 않고 많이 놔두는 것이 유리할 수 있다. 물론 미관상 좋지는 않겠지만. 또한, 도둑이 완전히 바보라면…-_-

물론 중요한 것은 평소에 문단속 잘 하고 방범창 설치하는 것이 좋다.

꿈을 빙자한 죄

총몽 Last Order 2권

케이어스가 벡터에게 처맞고 1년뒤, 코요미에게 도움을 받아서 벡터에게 돌아가면서

“이제서야 이해가 된다. 꿈을 얘기하고, 많은 사람들의 꿈을 부추기고, 그 꿈을 핑계삼고도 그리고도 꿈을 이루지 못했다. 이제서야 이해가 가… 꿈을 빙자한 죄의 무거움을!”

그리고, 그는 갈리가 자렘에서 날린 종이비행기를 받아들고 느끼게 된다.

“올 한해 내가 한 일이라곤 그냥 여기저기 뒷골목을 전전했을 뿐, 아직 아무것도 시작하지 않았어. 꿈을 가슴에 담아두지 않으면 사람은 죽어. 하지만 꿈을 품은채, 행동으로 옮기지 않으면 썩기 시작하지. 그리고 그 꿈을 꾼 죄는 실행으로만 갚을 수 있다”