‘공유, 아이유 포르쉐, 소녀시대 선수단 단복, 소지섭 경찰, 정준 1인2역, 강수진 성형고민, 윤미래, 무한도전 폐지…’
7월 어느 날 포털 사이트 다음 실시간 검색 순위에 올라온 단어들이다. 10위권 내에 연예인 관련 내용만 절반 이상이다. 인기 프로그램 하이라이트 장면이나 유명 연예인의 자극적인 발언이 주로 회자된다. 여기서 꼭 빠지지 않는 것이 방송 영상을 캡처해 만든 스크린샷이다.
그러나 몇 개의 사진만 보는 것은 감질난다. 동영상을 보고 싶지만 인터넷에 해당 동영상을 찾아보기 힘들다. 동영상 자체를 인터넷에 올리는 것은 저작권에 위배되기 때문에 원본 동영상 자체가 없는 경우가 허다하다. 또 어떤 맥락에서 이 장면이 나왔는지 글로 풀어줘야 한다. 간접체험에 그친다. 아쉬움이 남고 궁금할 수 밖에 없다.
동영상을 꼭 보고 말겠다는 집념(?)을 불태우는 이들의 다음 행위는 무엇일까. 해당 장면이 담긴 동영상과 연관된 글로 검색하는 것이다. 이를테면 ‘연예인 ○○○ 성형고백’과 같은 키워드로 검색해 보는 것이다. 결과는 어떨까. 좌절이다. 검색 결과 대부분은 역시 스크린샷에 글로 설명된 게시물만 잔뜩이다. 결국 방송 사이트의 동영상을 구매하게 된다. 이제 해당 장면을 볼 수 있으려니 했지만 마지막 난관이 남았다. 해당 장면을 찾을 때까지 재생시키며 인고(?)의 시간을 거쳐야 한다. 아~ IT강국에서 보고 싶은 동영상을 보는 게 이토록 어렵다니… 좀 더 ‘스마트’하게 원하는 동영상을 찾는 방법은 없을까.
‘본방 사수’에 실패한 당신, 동영상 검색의 세계로!
이같은 불편함을 해결하는 방법은 동영상 검색이다. 동영상에 등장한 인물을 인식해 인물의 이름으로 검색하면 관련 동영상을 보여주는 ‘비디오서프(VideoSurf)’, 동영상의 음성을 분석해 글자로 변환한 후 이를 검색하는 ‘블링스(blinkx)’ 등이 대표적인 동영상 검색 서비스다. 이들을 이용하면 동영상의 내용을 좀 더 반영해 검색할 수 있다. 그러나 여전히 원하는 동영상을 찾기 위해 연관 글(텍스트)을 추측해야 하며, 검색 결과의 정확도도 높지 않다.
비디오서프와 블링스 같은 서비스의 한계는 텍스트로 동영상을 표현하기 어렵다는 근본적인 문제에서 나온다. 보고 싶은 동영상의 제목, 방송일자, 출연진 등 기본 정보가 있어도 이를 텍스트로 표현하면 검색 결과는 부정확해질 수밖에 없다.
동영상에 나왔던 장면으로 동영상 원본을 찾을 수 있다면 어떨까? 필자가 속한 벤처기업 엔써즈가 동영상 검색 기술을 개발한 것도 바로 이 기술을 구현하기 위해서다.
동영상으로 동영상을 찾는다? 한양에서 김서방 찾기
동영상 자체로 원본 동영상을 찾으려면 우선 인터넷에 있는 수많은 동영상을 분석해 모든 장면을 기억해야 한다. 기억된 장면들 중 찾고자 하는 장면과 비교해 어느 동영상의 어느 부분에 나왔는지를 알아내야 한다.
그렇다면 동영상 한 편에는 얼마나 많은 장면들이 있을까. 동영상은 보통 초당 약 30장의 이미지로 이뤄진다. 1시간 분량의 동영상에는 10만 8000장의 이미지가 있다. 만일 3년 동안 3개 TV 채널에서 방영했던 모든 동영상들 중에서 원하는 장면을 찾고 싶다면? 3개 채널×3년×365일×24시간(하루 종일 방송된다 가정했을 때)×60분×60초×30장=8,514,720,000, 즉 85억 장이 넘는 이미지 중에 원하는 이미지를 찾아내야 한다. 지금의 IT 기술로 초당 1000장의 이미지를 비교할 수 있다고 가정해도 약 99일이 걸린다.
여러 장의 이미지를 비교해 일부가 겹치는 이미지를 검색하는 기술은 이미 서비스되고 있다. 구글 이미지 검색, 틴아이(TinEye) 등이 대표적이다. 틴아이의 경우, 원활한 검색을 위해 20억 장 이상의 이미지를 보유한 데이터베이스를 구축했으며 수백만 명에 달하는 사용자를 확보했다. 하지만 동영상은 이와 다르다. 동영상은 단 하루 분량에도 이미 수백만 장의 이미지가 포함되기 때문에 기존 기술만으로는 한계가 있다.
인공지능
더욱 효과적으로 동영상을 분석하기 위해서는 인공지능과 정보 검색 분야의 다양한 기술을 활용해야 한다. 인공지능을 활용하는 방안부터 살펴보자. 우선 인간의 뇌를 흉내내 각각의 이미지에서 차별화된 특징들을 찾아내 ‘특징 요소(벡터)’를 뽑아낸다. 동영상을 구성하는 각각의 이미지는 특징 요소(벡터)가 각기 다르다. 사람의 지문과 비슷하다 해 특징 요소(벡터)를 ‘핑거프린트(지문)’라 부른다. 이미지뿐만 아니라 텍스트, 음원, 동영상 등 멀티미디어 전 영역에 걸쳐 적용 가능하기 때문에 ‘멀티미디어 핑거프린트’ 기술이라 한다.
핑거프린트가 제대로 역할을 하기 위한 몇가지 조건이 있다. 우선 이미지 크기를 늘리고 회전을 하거나 화질을 낮춰도 핑거프린트가 바뀌면 안된다. 동시에 다른 이미지에서 온 핑거프린트와는 확실히 구별돼야 한다. 동영상을 이루는 수많은 이미지를 처리하기 위해서는 핑거프린트가 핵심 정보만 포함할 수 있게 크기를 줄여야 한다. 다른 장면들과 구분되는 장면만 찾아 중복되는 정보를 제거하고 특징을 추출한다. 이렇게 추출한 핑거프린트를 데이터베이스에 정리한다.
그렇다면 핑거프린트를 바탕으로 비교하고픈 동영상의 이미지와 데이터베이스에 정리한 이미지가 동일한지 어떻게 확인할 수 있을까. 여기에는 수학적 확률 모델링이 필요하다.
핑거프린트가 분포된 위치를 분석, 같은 위치를 나타내는 이미지를 골라낸다. 물론 이 이미지는 이미 분석해서 데이터베이스에 쌓아둔 것들 중에서 찾는다. 지문 인식시스템과 유사한 방식이다. 보다 적은 핑거프린트로 오류 없이 판단하기 위해서는 잘 설계된 모델이 필요하다.
이같은 방법으로 동영상을 구성하는 수십억 장에 달하는 이미지의 핑거프린트 그룹을 뽑아냈다 하더라도 이를 빠르게 검색하는 것은 또다른 차원의 문제다. 실시간으로 원하는 이미지를 검색하기 위해서는 짧은 시간 안에 뽑아낸 핑거프린트 그룹을 분류(인덱싱)해 일치하는 그룹을 찾아낼 수 있는 구조를 설계해야 한다. 텍스트 검색과는 달리 동영상 검색은 찾으려는 핑거프린트들이 완전히 일치하지 않는다. 때문에 이른바 ‘인접 이웃 검색(Nearest Neighbor Search)’ 알고리즘을 사용해야 가장 근접한 결과가 나온다.
스크린샷에 맞는 동영상 바로 재생한다
이 알고리즘을 활용하면 스크린샷이 있는 인터넷 사이트를 방문하면 자동으로 해당 동영상을 재생할 수 있다. 데이터베이스에 있는 유사한 핑거프린트 그룹 중에서 가장 근접한 이미지(동영상)를 검색 결과로 도출해 주기 때문이다. 해당 스크린샷이 포함된 동영상이 데이터베이스에 있다면 자동으로 스크린샷 상단에 재생 버튼이 표시되며 이를 누르면 된다(엔써즈의 동영상 검색 서비스 ‘이미디오’.).
이제 ‘본방 사수’에 실패하더라도 부담없이 화제가 된 장면만 다시 볼 수 있다. 보고 싶은 장면을 찾는 데 소요되는 시간도 줄어든다.
특히 인터넷에 특정 동영상이 올라와 화제가 되는 경우가 있다. 종종 왜곡된 형태로 사회적 이슈가 돼 당사자 및 관계자들에게 피해를 입히기도 한다. 인터넷에 올라온 ○○남, ××녀 등이 그렇다. 이럴 때도 손쉽게 해당 동영상을 볼 수 있는 서비스가 보편화된다면 이성적인 판단이 가능해진다. 엉뚱하게 비난받는 사람을 도와주는 것, 바로 과학기술의 힘이다.