아사필터(AsaFilter)

- (주)아사달, 2007년 12월 05일 -

성 명 :

서울시 금천구 가산동 371-28번지 우림라이온스밸리 A동 8층 (주)아사달

아사필터(AsaFilter)

- (주)아사달, 2007년 12월 05일 -

차        례

차례	2

제1절 특징점 추출 모듈	3

1. 프레임 추출	3

2. 특징정 추출	3

3. 특징점 추출 기술 성능	5

제2절 특징점 툴	8

1. 추출기	8

2. 특징점 분석기	8

3. 특징점 처리기	10

제3절 특징점 데이터베이스	19

1. 특징점 테이블 구조	19

2. 비디오 정보 테이블 구조	20

제4절 전문 검색 프로그램 설계	20

제1절 특징점 추출 모듈

특징점 추출 모듈은 크게 두 부분으로 구성되어 있다. 동영상으로부터 프레임을 추출하여 이미지 정보로 변환시키는 프로그램과 이미지 정보를 받아 해당 프레임의 특징점을 추출하는 프로그램이다.

1. 프레임 추출

프레임 추출 함수는 PHP 클래스로 작성되어 어떤 프로그램이든지 필요할 때마다 호출하여 사용할 수 있다. 데이터베이스에 특징점을 등록하거나 게시판의 게시물이 등록되면 가장 먼저 호출되는 클래스이다. 동영상 위치를 입력받으면 동영상을 불러와 프레임을 추출할 준비를 한다. 데이터베이스에 등록 시에는 영상의 첫 프레임부터 추출을 시도하며 종료 지점을 입력받아 처리한다. 게시물로부터 특징점을 추출할 때는 데이터베이스에 저장된 설정 값에 맞게 시작 지점과 종료 지점을 직접 계산하여 해당하는 범위 내에서 프레임 추출을 시도한다.

프레임 추출 시에는 두 단계의 표준화 작업이 이루어진다. 현존하는 동영상들은 영상의 크기 및 FPS가 모두 다르기 때문에 특징점 추출 시에는 일관된 기준으로 동영상들을 표준화 해야만 올바른 특징점을 추출할 수 있다.

먼저 각각 다른 FPS에 대해 프레임 추출 클래스는 일정한 간격으로 초당 10프레임을 추출하도록 미리 순서를 결정한다. 그리고 해당 순서 프레임을 이미지 정보로 추출한 다음 영상의 원래 크기와 상관없이 무조건 320 X 240 크기로 조절한다. 표준화 작업이 완료되면 프레임을 이미지 파일로 저장한 다음 특징점 추출 함수에 이미지 정보를 넘겨 특징점을 추출한다.

2. 특징점 추출

특징점 추출은 프레임 추출과 동시에 이루어진다. 프레임 추출 함수에서 프레임을 이미지로 저장하고 나면 바로 특징점 추출 함수가 호출이 되어 추출 알고리즘을 통해 특징점을 추출한다. 특징점이 추출된 프레임 이미지 파일은 바로 삭제가 된다.

특징점 추출 프로그램은 C++로 작성되어 있으며 PHP로 작성된 프레임 추출 함수에서 호출하는 형식으로 작동된다. 인자로 받은 이미지 파일을 열어 색상 정보를 얻고, 이를 통해 특징점을 추출하는데 위의 그림과 같은 단계를 거친다.

특징점을 추출하기 위한 첫 단계로 컬러 영상으로 되어 있는 원본 프레임을 흑백 영상으로 변환하는 작업이 이루어져야 한다. 컬러 영상을 흑백 영상으로 변환하는 방법에는 여러 가지가 있는데 여기서는 R, G, B값의 평균치를 구하여 흑백 영상을 만드는 방법을 사용한다.

흑백 영상을 얻으면 80 X 80 크기의 단위블록 12개로 프레임을 나눈다. 그리고 각각의 블록마다 특징점을 추출해 낸다. 특징점을 추출하는데 사용되는 값은 밝기 값의 변화량과 변화방향이다. 밝기 값의 변화량은 해당 화소의 주위에서 밝기 값의 차이를 말하고 변화방향은 밝기 값이 어떤 방향으로 증가하는지, 혹은 감소하는지를 말하는 것이다. 단위블록 내에서 화소마다의 밝기 값의 변화량과 변화방향을 모두 구하면 다음과 같은 식을 통해 특징점을 구한다.

여기서 θ값은 밝기 값의 변화방향, m값은 밝기 값의 변화량, C값은 해당 단위블록의 특징점 값이다. 따라서 (5)에서 볼 수 있는 것처럼 하나의 프레임에서는 특징점이 총 12개를 추출할 수 있다. 특징점 값은 정수 값으로 변환하는 과정을 거쳐서 -128에서 127 사이의 값을 가지게 된다. (6)의 그림은 영화 내 한 프레임을 이미지로 변환하고 특징점 값을 흑백 상자로 표현한 것이다.

프레임으로부터 특징점이 추출되고 나면 특징점 파일에 저장한다. 한 프레임당 12byte의 정보가 추출이 되며 1시간 기준으로 했을 때 특징점 파일은 대략 400kb 정도의 크기를 가진다. 저장된 특징점 파일은 데이터베이스에 등록하거나 검색하는 작업이 끝나고 나면 다시 삭제된다.

3. 특징점 추출 기술 성능

항목	개발 결과
용량	‣ 1시간 영상 기준 430kb ‣ 2시간 분량 영화 300편 추출 시 약 260MB
실시간 처리	‣ 30분 영상 기준 30분가량 ‣ FPS에 따라 시간차 있음
최소 영상 길이	‣ 최소 1분(국제 영화 표준 최소 클립은 15분) ‣ 설정에 따라 길이 변경 가능
지원 포맷	‣ wmv, avi, flv, mpg, mov 지원 가능 ‣ 포맷 종류와 상관없이 영상 인식 가능
인식률	‣ 80% 이상 ‣ 워터마크 삽입 및 일부 영상 변화에도 인식 가능
오인식률	‣ 5% 이하
작동환경	‣ Linux

가. 용량

앞에서 언급한 것처럼 특징점은 한 프레임당 12byte가 추출된다. 초당 10프레임으로부터 특징점을 추출한다면 1분에 7.2KB, 1시간에 대략 430KB가 추출된다. 2시간 분량 영화 한 편에 1MB가 채 되지 않는 특징점을 추출할 수 있으며 영화 300편의 정보를 데이터베이스에 저장하는데 260MB의 공간만으로도 충분하다. 이는 메모리에 모두 올려서 사용한다면 상당히 부담스러운 용량이지만 DBMS를 사용한다면 크게 부담이 없는 용량이다.

나. 추출 시간

추출 시간은 영상 재생 시간에 특징점 추출에 소요되는 시간만큼 걸린다. 영상의 길이가 길어질수록 추출 시간이 늘어나지만 실제 재생시간과 크게 차이가 나지 않는다. 또한 데이터베이스에 등록하기 위해 특징점을 추출하는 경우에는 영상의 전체 재생시간만큼 소요되지만 비교를 위해 특징점을 추출하는 경우 몇 분간만 추출하면 되기 때문에 전체 재생시간보다 훨씬 짧은 시간이 소요된다.

다. 최소 영상 길이

영화에 대한 국제 표준 최소 클립은 15분이다. 즉 15분 이상이 되어야 영화 콘텐츠로 인정받을 수 있으며 이 말은 특징점 추출에 필요한 영상의 길이가 15분 이내가 되어야 한다는 것이다.

특징점 추출 기술은 15분보다 훨씬 짧은 영상 시간이 지원 가능하다. 특징점을 추출하여 검색하는 데 필요한 기본 영상 길이는 1분이며 설정값에 따라 길이 조정이 가능하다. 관리자가 원한다면 국제 영화 표준 최소 클립인 15분으로도 설정할 수 있다. 본 기술은 동영상 데이터 추출 간격을 짧게 하여 보다 넓고 정확한 검색이 가능하며 빠른 정보 추출이 가능하다.

라. 지원포맷

지원 가능한 포맷	지원 불가능한 포맷
wmv avi mpeg mov(Quick Time Player) flv(Flash Movie)	rmvb(Real Media Player) swf

이전기술 내용에는 지원 포맷이 wmv, avi, mpeg 등이었다. 그러나 매킨토시 PC에서 쓰이는 Quick Time 동영상 포맷인 mov 포맷과 최근 들어 UCC 사이트에서 사용량이 급속도로 증가한 플래시 동영상 포맷인 flv 포맷은 지원여부가 불투명하였다.

추가 기술 개발에서는 기존에 지원되던 포맷 이외에 mov 포맷과 flv 포맷도 동시에 지원이 가능하도록 하였다. 특히 특징점 추출 기술은 온라인 환경에서 적용되는 기술이기 때문에 flv 포맷이 지원 가능해지면서 활용도가 상당히 높아졌다.

포맷 지원이 가능하다는 것은 단순히 해당 포맷으로부터 특징점 추출이 가능하다는 것으로 끝나지 않는다. 똑같은 영상에 대해 포맷이 다르더라도 비슷한 특징점을 추출하여 같은 콘텐츠 정보를 찾아낼 수 있다는 것이 가장 큰 특징이다. 예를 들어 avi 포맷으로 만든 동영상을 wmv 포맷으로 변환한 다음 특징점을 추출하더라도 두 포맷에 대해 거의 똑같은 특징점이 추출된다. 동영상 포맷이라는 것은 하나의 압축 기술이므로 특징점 추출에 큰 영향을 끼치지 않는다.

마. 인식률 및 오인식률

이전받은 특징점 추출 기술의 중요한 특징 중 하나는 두 영상이 완전히 똑같지 않더라도 같은 영상으로 인식할 수 있다. 예를 들어 이미지에 일부 변형을 가하더라도 시스템에서는 얼마든지 같은 영상으로 인식할 수 있다.

<avi 영상>	<wmv 영상>

위 그림은 avi 영상과 wmv로 변환한 뒤의 영상을 비교한 것이다. 영상크기가 352 X 288였던 avi 영상에서 wmv로 변환되면서 강제로 320 X 240으로 바뀌었고 그 과정에서 영상 양쪽에 검은 영역이 채워졌다. 그러나 두 영상으로부터 얻어낸 특징점은 큰 차이가 없다. 따라서 특징점을 추출하면 같은 영상으로 인식한다. 영상의 일부가 바뀌고 크기가 변경되더라도 특징점은 큰 변화가 없기 때문이다.

<워터마크가 없는 영상>	<워터마크가 있는 영상>

위 그림은 워터마크가 없는 영상과 워터마크가 있는 영상을 비교한 것이다. 워터마크가 없는 영상은 wmv포맷의 파일인데 mpg포맷으로 변환하면서 워터마크가 찍힌 것이다. 하지만 두 영상 역시 워터마크의 유무와 관계 없이 같은 영상으로 인식된다. 앞의 경우와 마찬가지로 영상의 일부가 바뀌더라도 특징점은 큰 변화가 없기 때문이다.

이처럼 영상에 큰 변화를 주지 않는 한 특징점 추출 기술은 대략 80%이상 동영상을 올바르게 인식할 수 있다. 그러나 드물긴 하지만 오인식 하는 경우도 발생하는데 대체적으로 프레임수를 일반화 시키면서 생기는 현상이다. 초당 30프레임을 재생하는 30분 길이의 동영상을 예로 들면 1, 4, 7....순서로 특징점을 추출하게 된다. 그런데 사용자가 이 동영상을 5프레임부터 1분가량 잘라냈을 때 원본 동영상 기준으로 5, 8, 11...순서로 특징점을 추출한다. 이런 경우에 프레임이 어긋나면서 잘못된 인식을 하는 경우도 생긴다. 하지만 추출 시간이 조금 더 걸리더라도 사용자가 업로드한 동영상에 대해 현재는 추출하지 않는 프레임, 예를 들어 6, 9, 12....나 7, 10, 13....순서로 특징점을 추출하도록 시도한다면 충분히 올바르게 인식할 수 있다.

제2절 특징점 툴

특징점 툴은 추출기, 분석기, 처리기 등으로 구성되어 있으며 특징점 추출 모듈을 통해  불법 콘텐츠 불법 여부를 판단하는 역할을 한다.

1. 추출기

특징점 추출기는 동영상 게시판에 등록된 동영상을 대상으로 특징점을 추출한다. 추출기가 특징점을 추출하는 동안 등록된 동영상은 서비스 대기 상태로 들어가며 추출 결과에 따라 등록되거나 삭제되는 등 상태가 결정된다. 추출기는 제 1절에서 나온 특징점 추출 모듈로 이루어져 있다.

특징점을 추출하는 범위는 프레임 추출 클래스에서 지정해줄 수 있으며 다양한 설정 값을 통해 결정할 수 있다. 데이터베이스에 등록하기 위해 특징점을 추출하는 경우는 시작 지점부터 관리자가 특징점을 추출할 구간을 백분율로 정해줄 수 있다. 만약 1시간짜리 동영상을 50%만 추출하여 데이터베이스에 저장한다고 하면 특징점 추출 프로그램은 30분 동안만 특징점을 추출하게 된다. 검색을 위해 특징점을 추출하는 경우에는 다양한 설정을 할 수 있다. 시작, 중간, 끝 지점 중 하나를 선택하여 그 지점으로부터 몇 분간 추출을 시도할 수 있고 혹은 관리자가 직접 지정한 위치에서부터 몇 분간 추출을 시도할 수 있도록 설정이 가능하다.

추출 지점을 설정하는 이유는 필요 없는 영상에서 특징점을 추출하는 일을 피하기 위해서이다.

예를 들어 영화관에서 상영되는 영화를 녹화하여 배포할 경우 시작 부분에는 광고가 삽입되기 마련이다. 그런데 이 영상에 대해 시작 지점부터 1분간 추출을 시도하면 결국 광고의 특징점을 추출하여 검색하므로 제대로 된 검색을 할 수가 없다. 이런 경우에는 중간지점부터 추출하여 검색하는 것이 효과적이다. 추출기는 용도에 따라 데이터베이스에 등록하기 위한 추출기와 검색을 위한 추출기로 나뉜다.

가. 데이터베이스에 등록하기 위한 추출기

데이터베이스에 등록하기 위한 추출기는 특징점 처리기와 연계되어 작동한다. 관리자는 특징점 처리기를 통해 저작권이 있는 동영상의 특징점을 데이터베이스에 등록할 수 있기 때문이다. 특징점 처리기에서 동영상을 업로드하고 추출기에 요청을 하면 추출기는 첫 프레임부터 지정한 범위 내에서 특징점을 추출한 다음 데이터베이스 등록 프로그램을 통해 특징점을 데이터베이스에 등록한다. 이때 비디오 정보가 저장된 데이터베이스와 연동하기 위해 해당 비디오 정보와 관련된 키도 함께 등록된다.

나. 검색을 위한 추출기

검색을 위한 추출기는 데이터베이스에 등록하기 위한 추출기와 거의 흡사하게 작동하며 추출된 특징점을 데이터베이스에 등록하는 대신 검색하는 데 사용한다는 것만 다르다. 검색을 위한 추출기는 특징점을 추출한 다음 특징점 분석기에 특징점 파일을 입력하여 결과를 받아 해당 동영상을 처리하거나 특징점 처리기에 넘긴다.

2. 특징점 분석기

특징점 분석기는 추출된 특징점을 입력받아 특징점 데이터베이스의 내용과 비교하여 결과를 돌려주는 프로그램이다. 특징점 분석기는 인덱스를 찾는 단계와 특징점을 찾는 단계로 이루어져 있다.

가. 인덱스 분석

인덱스는 각각의 프레임이 어떤 종류에 속하는지를 나타낸다. 이는 특징점을 검색할 때 흡사하다고 판단되는 영상의 시작 위치를 찾기 위해서이며 검색할 때뿐만 아니라 데이터베이스에 특징점을 등록할 때에도 사용되는 함수이다. 따라서 데이터베이스에 등록된 특징점들은 비디오 정보와 연결되는 키 값 이외에 인덱스 값도 함께 가지게 된다.

프레임의 인덱스를 결정하는 것은 12개의 특징점 값이다. 임의로 생성한 13차원의 이진트리를 통해 프레임의 종류를 결정하게 되는데 그 과정은 아래에 나오는 그림과 같다.

프레임의 첫 번째 특징점을 임의의 기준에 따라 두 가지 분류 중 하나로 정한다. 그리고 그 분류에 따라 다음 노드로 위치를 이동시킨다. 이 과정이 1차에서 2차로 이동하는 과정이다. 왼쪽을 1번, 오른쪽을 2번이라 하면 그림에서는 먼저 1번 노드로 이동한 셈이 된다. 그리고 두 번째 특징점을 똑같은 기준에 따라 분류한다. 2차에서 3차로 이동할 때도 역시 1번 노드로 이동한다. 이런 식으로 계속 진행하여 12번째, 즉 마지막 특징점까지 계속해서 분류를 하게 된다. 12번째 특징점을 분류했을 때 도착한 노드의 번호가 해당 프레임의 인덱스 번호가 되며 12차 이진트리의 마지막 차수의 노드 개수는 총 4096개이므로 프레임의 종류 역시 4096개가 된다.

특징점 분석기에서는 특징점 파일에 저장된 특징점 중 가장 첫 프레임에 해당하는 시작점에서 12개의 특징점을 가져와 인덱스를 구한다. 여기서 얻은 인덱스를 통해 데이터베이스에서 특징점을 가져올 시작 위치를 결정하게 된다. 인덱스를 얻는 프레임은 임의로 결정해줄 수 있다. 예를 든 것처럼 첫 번째 프레임만을 이용할 경우에는 일치하는 시작 위치의 수가 증가하여 검색횟수가 늘어나는 대신 좀 더 많은 특징점을 비교하여 정확한 결과를 얻을 수 있다. 혹은 5개가량의 연속된 프레임으로부터 인덱스를 얻어 데이터베이스에서 시작 위치를 찾을 수도 있다. 이 경우 검색속도가 빨라지는 대신 예기치 않게 누락되는 경우도 발생할 수 있다. 이번 개발에서는 DBMS의 검색속도가 매우 빠르기 때문에 하나의 프레임만을 이용하여 정확한 검색 결과를 얻을 수 있도록 하였다.

나. 특징점 분석

인덱스 분석이 끝나면 특징점 분석기는 얻은 인덱스를 이용하여 데이터베이스에서 특징점을 검색한다. 만약 인덱스 번호가 400이었다면 400번의 인덱스를 가지는 모든 특징점에서부터 검색 범위에 해당하는 수만큼의 특징점을 가져오는 것이다.

특징점 비교는 데이터베이스에 저장된 특징점 값과 검색을 위해 추출된 특징점 값의 차이를 구하여 결정한다. 제 1절에서 언급한 것처럼 특징점 값은 -128에서 127 사이의 정수 값을 가지므로 차이를 구하기 위한 계산이 가능하다.

만약 데이터베이스로부터 가져온 특징점의 개수가 검색 범위보다 모자랄 경우에는 특징점 비교 대상에서 제외시킨다. 예를 들어 600프레임을 비교할 때 앞의 320프레임은 4번 비디오에 대한 특징점이고 뒤의 280프레임은 5번 비디오에 대한 특징점일 경우 정확한 비교가 되지 않으므로 비교 대상에서 제외시킨다. 이렇게 프레임의 수를 만족시키고 특징점 간의 차이도 얼마 나지 않는 경우에만 저작권법이 있는 동영상으로 간주한다. 그리고 관리자에게 해당 동영상 정보를 SMS로 발송한다. 특징점을 추출하는 데 재생시간만큼의 시간이 소요되지만 인덱스를 분석하고 특징점을 분석하는 데에는 1초가 채 소요되지 않는다.

3. 특징점 처리기

가. 불법 콘텐츠 차단 과정

사용자가 비디오 콘텐츠를 UCC 등의 웹사이트에 등록 요청 시 바로 실 저장소에 등록되는 것이 아니라 가장 저장소에 먼저 등록이 된다. 등록된 비디오는 특징점을 추출하여 기 구축된 특징점 데이터베이스의 특징점과 비교하여 불법 콘텐츠 여부를 판별하게 된다.

불법으로 판별된 비디오는 바로 삭제되거나 관리자가 다시 한번 불법 여부를 판별할 수 있도록 SMS, 이메일 등을 이용해 알려주고 합법인 비디오는 실저장소로 옮겨져 정상 등록된다.

나. 아사필터 (관리자용 윈도우 프로그램)

특징점 데이터베이스에 비디오 등록 및 특징점 추출 설정, UCC 사이트 게시물 관리 등 전체 시스템을 관리, 모니터링하는 관리자용 윈도우 프로그램이다. 상용화 계획에 따라 인증과정을 거쳐 사용하도록 되어있다.

(1) 아사필터 인증화면

‣ 소유자 ID

업체에 배정되는 아이디. 아사필터를 사용하는 UCC 업체별로 발급되며 각 업체별로 사용시작, 만료기간 및 로그인 아이디 개수, 각종 권한을 관리자 페이지에서 설정할 수 있다.

‣ 사용자 ID

각 업체에서 실제 프로그램을 사용하는 관리자 각각에게 발급되는 아이디, 로그인을 할 수 있으며 권한 및 사용기간은 소유자 아이디 설정 값을 따른다.

(2) 인증 관리자 웹페이지

(가) 서비스 시작일과 종료일

아사필터 사용 유효기관을 나타낸다. 서비스 종료일 이후에는 해당 소유자 아이디로 아사필터에 로그인할 수 없다.

(나) 로그인 제한

동일 소유자 아이디 내에 생성할 수 있는 사용자 아이디 개수의 최대값이다.

(다) 비디오 등록

특징점 데이터베이스에 비디오를 등록할 수 있는 권한을 설정한다.

(라) 추출 설정

특징점 추출 설정 값을 변경할 수 있는 권한을 설정한다.

(마) 특징점 비교

직접 비디오 파일의 저작권을 검사할 수 있는 특징점 비교기능 사용 권한을 설정한다.

(3) 아사필터 메인 화면

‣ 대기목록

- 특징점 추출 중

비디오로부터 특징점을 추출 중임을 나타낸다.

- 검색 중

추출된 특징점과 일치 혹은 유사한 비디오 정보를 특징점 데이터베이스에서 검색 중임을 나타낸다.

- 불법 콘텐츠 추정

특징점 추출, 검색을 한 결과 특징점 데이터베이스에 등록되어 있는 저작권 자료임으로 추정되는 상태를 나타낸다. 관리자는 이 자료를 삭제 혹은 등록시킬 수 있다.

- 저작권 확인 후 등록 대기상태

합법 콘텐츠로 판별되었고 관리자의 등록 허가를 기다리는 상태를 나타낸다. 추출관리 설정에서 관리자의 허가에 의한 게시물 등록 옵션을 선택했을 때만 나타난다.

- 특징점 파일 생성 중

불법 콘텐츠로 판별 된 후 특징점을 시각화하는 파일을 생성 중임을 나타낸다.

저작권 검사 중인 게시물의 상태를 보여준다. 게시물 번호, 등록시간, 글쓴이 아이디, 게시물 상태, 제목, 내용, 조회수 정보를 제공한다. 게시물 상태는 다음과 같다.

‣ 게시물 목록

현재 UCC 사이트에 등록되어있는 게시물 목록을 보여준다. 게시물 정보를 보여주고 더블클릭 시 해당 게시물 페이지로 바로 이동할 수 있다. 또한 게시물의 비디오를 재생하거나 삭제, 대기목록으로 이동 등의 명령을 내릴 수 있다.

‣ 비디오 목록

특징점 데이터베이스에 등록된 비디오 정보를 보여준다. 분류보기, 목록보기 두 가지 모드를 제공하며 분류보기 선택 시에는 트리구조로 목록을 볼 수 있다. 그 외에 등록된 비디오 원본 파일 재생, 특징점 삭제, 원본 데이터 삭제 등의 기능을 제공한다. 또한 상단에 위치한 검색 버튼을 통하여 비디오 목록을 제목으로 검색하여 관리할 수 있다.

(4) 메뉴 및 단축아이콘

(가) 메뉴

항목	메뉴	설명
파일	열기	게시물 목록, 대기 목록, 비디오 목록 저장 파일을 연다.
	저장	게시물 목록, 대기 목록, 비디오 목록을 저장한다.
	인쇄	게시물 목록, 대기 목록, 비디오 목록을 인쇄한다.
	환경설정	기본설정, 서버설정, SMS설정을 한다.
	끝내기	프로그램을 종료한다.
보기	도구모음	도구모음창의 보임/숨김 처리
	상태표시줄	상태표시줄의 보임/숨김 처리
	비디오 목록	비디오 목록 보임/숨김 처리
	게시물 목록	게시물 목록 보임/숨김 처리
	대기 목록	대기 목록 보임/숨김 처리
비디오 등록	비디오 등록	특징점 데이터베이스에 비디오를 등록한다.
	구간설정	비디오 등록 구간을 설정한다.
	비디오 목록 보기	비디오 목록 상세보기.
특징점 추출	추출 구간설정	특징점 추출 구간을 설정한다.
	추출 관리 설정	특징점 추출을 통해 판별된 콘텐츠 관리 설정.
	비디오 특징점 비교	로컬 파일의 저작권 여부를 판단한다.
창	계단식 배열	게시물 목록과 대기 목록을 계단식으로 배열한다.
	바둑판식 배열	게시물 목록과 대기 목록을 바둑판식으로 배열한다.
	대기 목록	대기 목록창 선택
	게시물 목록	게시물 목록창 선택
도움말	아사필터 업데이트	프로그램을 업데이트한다.
	고객지원	고객지원을 위한 정보를 제공한다.
	아사필터 정보	아사필터의 정보(버전 등)

(나) 단축아이콘

(5) 주요기능

(가) 비디오 등록

특징점 데이터베이스에 비디오를 등록한다.

(나) 추출 관리 설정

특징점 추출 및 비교, 검색 설정을 마친 게시물을 관리한다.

① 합법 콘텐츠 관리

㉮ 바로등록

합법한 콘텐츠로 판별 시 바로 열람 가능한 상태로 등록 시킨다.

㉯ 관리자가 처리할 때까지 대기

관리자가 수동으로 등록 여부를 결정하도록 대기목록에 둔다.

㉰ 일정 시간 후 등록

일정 시간동안 관리자가 처리하도록 대기한 후 자동으로 등록 시킨다.

② 불법 추정 콘텐츠 관리

㉮ 바로삭제

불법 콘텐츠로 추정되는 게시물을 자동으로 삭제한다.

㉯ 관리자가 처리할 때까지 대기

관리자가 수동으로 등록, 삭제를 결정하도록 대기목록에 둔다.

㉰ 일정 시간 후 등록

일정 시간동안 관리자가 처리하도록 대기한 후 자동으로 등록 시킨다.

㉱ 일정 시간 후 삭제

일정 시간동안 관리자가 처리하도록 대기한 후 자동으로 삭제한다.

(다) 추출 구간 설정

UCC 사이트에 업로드되는 비디오와 특징점 데이터베이스 비교 구간을 설정한다. 비교 시간을 1분으로 설정하면 비디오의 길이와 관계없이 1분 분량의 특징점만 추출한 후 특징점 데이터베이스와 비교, 검색하게 된다. 최소값은 1분이며 비교 시간이 길수록 저작권 판별 정확도가 높아진다. 비교 구간을 시작, 중간, 끝 또는 특정 시간으로 지정할 수 있어 비디오 초반, 끝부분의 광고 및 크레디트 부분을 피해 비교함으로써 정확도를 높일 수 있다.

다. 특징점 추출기-UCC 사이트 연동

제4절 특징점 데이터베이스

이전받은 기술 내용에는 특징점 데이터베이스가 파일로 구축되어 있었다. 그리고 검색 시 파일의 내용을 모두 시스템의 메모리에 올려 사용하였다. 그러나 제 1절에서 살펴본 것처럼 2시간 분량 영화 300편에 대해 특징점의 용량은 260MB 정도이다. 이는 메모리에 한 번에 등록하여 사용하기엔 시스템에 많은 부담을 주는 용량이다. 특징점 데이터베이스를 DBMS로 옮겨 사용한다면 용량과 검색 시간에 있어서 훨씬 좋은 효율을 기대할 수 있다. 특징점을 파일로 저장했을 경우 특징점 정보 이외에 인덱스 구조 파일도 새로 생성을 해야 했지만 DBMS를 사용한다면 데이터베이스 자체에서 인덱스를 생성해 주기 때문에 인덱스까지 관리해야 하는 부담도 덜 수 있다. 본 개발에서는 DBMS로 MySQL을 사용하였다.

1. 특징점 테이블 구조

특징점 테이블은 크게 세 가지 정보를 담고 있다. 하나는 동영상의 특징점 정보, 하나는 검색을 위한 인덱스 정보, 하나는 해당 동영상의 다른 정보를 얻기 위한 키 값이다. 제 2절에서 언급한 것처럼 특징점 검색 시 먼저 인덱스 정보를 통해 비교할 특징점을 선택한 다음 검색 대상과 데이터베이스에 저장된 정보의 차이를 통해 가장 비슷한 특징점을 선택한다. 그리고 선택된 특징점이 가지고 있는 키 값으로 검색 대상이 어떤 동영상인지 인식하게 된다. 아래는 테이블 구조를 나타낸 것이다.

Field	Type	Info
code	int	키 값
video_no	int	비디오 정보와 연결된 키 값
feature_1	tinyint	특징점 정보
feature_2	tinyint
feature_3	tinyint
feature_4	tinyint
feature_5	tinyint
feature_6	tinyint
feature_7	tinyint
feature_8	tinyint
feature_9	tinyint
feature_10	tinyint
feature_11	tinyint
feature_12	tinyint
node_num	smallint	인덱스

2. 비디오 정보 테이블 구조

비디오 정보 테이블에는 동영상에 대한 제목, 제작사, 줄거리 등 관련 정보를 저장하고 있어 요청 시 자동으로 동영상을 인식하여 관련된 정보를 제공한다. 비디오 정보 테이블은 특징점 테이블과 키 값에 의해 연결되어 있으며 ERD는 다음과 같다.

제5절 전문 검색 프로그램 설계

전문 검색 프로그램은 웹을 돌아다니면서 동영상 파일을 다운로드 받아 특징점을 추출하고 저작권 여부를 판별하는 일종의 로봇을 말한다. 아사달은 현재 이미지 콘텐츠의 불법 사용 방지를 위한 프로그램인 지능형 웹스파이더 기술을 보유하고 있다. 지능형 웹스파이더는 스스로 웹을 돌아다니면서 이미지 파일을 다운로드 받아 핑거프린트의 유무를 판별한 뒤 불법 사용 여부를 판별하는 검색 프로그램이다. 본 기술에서는 이미지 파일 대신 동영상 파일을 다운로드 받아 특징점 추출 모듈을 이용하여 해당 동영상의 불법 사용 여부를 판별할 수 있다.