KR101961132B1 - 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치 - Google Patents

오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치 Download PDF

Info

Publication number
KR101961132B1
KR101961132B1 KR1020170071892A KR20170071892A KR101961132B1 KR 101961132 B1 KR101961132 B1 KR 101961132B1 KR 1020170071892 A KR1020170071892 A KR 1020170071892A KR 20170071892 A KR20170071892 A KR 20170071892A KR 101961132 B1 KR101961132 B1 KR 101961132B1
Authority
KR
South Korea
Prior art keywords
audio feature
feature value
stored
value
data
Prior art date
Application number
KR1020170071892A
Other languages
English (en)
Other versions
KR20180134252A (ko
Inventor
김준희
Original Assignee
김준희
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김준희 filed Critical 김준희
Priority to KR1020170071892A priority Critical patent/KR101961132B1/ko
Publication of KR20180134252A publication Critical patent/KR20180134252A/ko
Application granted granted Critical
Publication of KR101961132B1 publication Critical patent/KR101961132B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 동영상 인코딩 방법에 관한 것이다. 본 발명에 따른 오디오 특징값 추출을 통한 동영상 인코딩 방법은 입력 받은 동영상 데이터에 대한 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하는 단계; 상기 해시값 간의 비교에 따라 상기 동영상 데이터 중 적어도 일부에 대한 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 단계; 및 상기 해시값 또는 상기 오디오 특징값 간의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되, 상기 저장된 오디오 특징값과 비교하는 단계는, 상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교할 수 있다. 본 발명에 따르면, 입력받은 동영상 데이터에서 해시값 및 오디오 특징값을 추출한뒤 DB에 저장되어 있는 해시값 및 오디오 특징값을 비교함으로써, 입력받은 동영상 데이터의 중복여부를 판단할 수 있다. 이를 통해서 중복의 동영상 데이터 인코딩을 줄여서 사용자에게 효율적인 인코딩 서비스를 제공할 수 있다.

Description

오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치{Method and apparatus for encoding video using audio feature value extraction}
본 발명은, 동영상 인코딩 방법에 관한 것이다. 보다 상세하게는 오디오의 특징값 추출을 통한 동영상 인코딩 방법에 관한 것이다.
최근 들어, 카메라 휴대폰, 디지털 카메라/캠코더, 휴대용 멀티미디어 플레이어(Portable Multimedia Player)등의 발달로 고해상도의 동영상 컨텐츠 제작이 손쉬워 지게 되면서 고해상도의 동영상 컨텐츠 제작이 늘어났다.
이렇게 제작된 고해상도의 동영상은 개인 블로그, P2P(Per to Per)방식의 파일 공유 사이트, 홈페이지, SNS(Social Network Services), UCC전문 사이트 등으로 업로드 되고 있다. 이렇게 업로드된 동영상 파일은 인터넷을 통한 다운로드에 의해 다른 사용자들에게 공유된다. 이렇게 제작되거나 공유된 고화질 동영상을 보기 위한 고성능 동영상 재생 기기들이 증가함에 따라 고화질 동영상 인코딩 수요 시장이 커지고 있다. 그러나 종래의 인코딩 서비스는 단순히 동영상의 해시값(hash value)을 비교하여 일치하지 않을 시에 인코딩을 하는 방식이었다. 특히, 동영상 파일의 중복 인코딩 방지를 위해 MD5(Message Digest 5) 알고리즘이 주로 사용되었다. MD5 알고리즘은 동영상 파일의 바이너리 코드를 해싱(hashing)하여 동영상 파일 간의 동일성 여부를 판별한다. 그런데, MD5 알고리즘은 복제된 동영상 파일에 대해서만 중복 기록을 방지할 수 있다는 한계가 있다.
즉, 동영상 파일의 인코딩 시 인코딩 방식, 동영상 제작 방식, 메타 태그(meta tag), 비트율, 샘플링 비율 (이하, 이러한 요소들을 ‘인코딩 환경’이라고 정의한다) 등이 달라지면, MD5 알고리즘은 동영상 파일 안에 담긴 동영상의 내용이 동일하더라도 파일이 서로 다르다고 판단한다. 따라서, MD5 알고리즘은 동영상 파일을 생성할 때 적용된 인코딩 환경이 달라지면 파일의 중복 인코딩 방지를 할 수 없는 한계가 있어서 동영상 중복제거의 효율성이 떨어진다.
그리고 종래에는 동영상 중복을 구별하기 위해서 동영상의 전체 오디오 데이터를 분석하여 오디오지문을 추출하고 있다.
추출한 전체 오디오지문 비교는 인코딩 환경이 다르다고 해서 달라지지 않아 해시값만을 비교하여 동영상 중복을 판단하는거 보다 동영상 중복제거의 효율성이 좋다. 하지만 근래 들어서 동영상 전후, 중간에 인위적으로 광고를 넣은 고화질 동영상이 업로드나 공유가 많이 되고 있다.
그러면서 해당 동영상을 광고와 함께 오디오지문을 비교함에 따라서 오디오지문 비교에 시간이 오래 걸리고 동영상 중복을 판단하는데 정확도가 떨어지게 되었다. 동영상 중복을 제대로 판단하지 못하게 되면 불필요하게 인코딩을 하게 됨에 따라 인코딩 서비스 사용자로 하여금 인코딩에 걸리는 시간을 낭비시킨다.
또한 인코딩 서비스 제공자는 중복된 동영상을 인코딩하여 저장함으로써 인코딩 작업 시간, 인코딩에 사용되는 서버 자원, 동영상 저장을 위한 서버 스토리지를 낭비하게 된다.
양질의 동영상 인코딩 서비스를 제공하기 위해서는, 방대한 인코딩된 동영상 데이터베이스의 구축과 갱신이 지속적으로 이루어져야 하고 인코딩에 필요한 서버 자원을 효율적으로 사용하여 보다 빠른 인코딩 서비스를 제공하여야 한다.
이러한 데이터베이스 구축 및 갱신과 인코딩에 필요한 서버 자원을 효율적으로 사용을 위해서는 동영상 파일의 중복 인코딩 및 기록 방지가 제대로 이루어져야 한다.
따라서, 본 발명이 속한 기술 분야에서는 동영상 저장을 위한 서버 스토리지를 효율적으로 사용하고 빠른 인코딩 서비스를 제공하기 위해서 동영상 파일의 인코딩과 관련된 환경에 의존하지 않고 동영상 파일에 담긴 내용을 기초로 서로 다른 동영상 파일의 중복 여부를 효과적으로 판별할 수 있는 기술이 절실히 요구되고 있는 실정이다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치에 관한 것이다. 특히 오디오 특징값 추출을 통한 인코딩 서버를 구축 함으로써 동영상 데이터의 중복여부를 정확히 판단하여, 인코딩 작업 시간, 인코딩에 사용되는 서버 자원, 동영상 저장 서버의 효율을 향상 시키고 고화질 동영상 파일을 보다 안정적이고 양질의 인코딩 서비스를 제공할 수 있다.
상기의 기술적 과제를 해결하고자 안출된 본 발명의 오디오 특징값 추출을 통한 동영상 인코딩 방법은, 입력 받은 동영상 데이터에 대한 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하는 단계; 상기 해시값 간의 비교에 따라 상기 동영상 데이터 중 적어도 일부에 대한 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 단계; 및 상기 해시값 또는 상기 오디오 특징값 간의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되, 상기 저장된 오디오 특징값과 비교하는 단계는, 상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교할 수 있다.
상기 인코딩 방법은 상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 단계를 더 포함할 수 있다.
상기 저장된 오디오 특징값과 비교하는 단계는 상기 추출된 해시값과 상기 저장된 해시값이 다른 경우, 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값을 비교하는 것이 바람직하다.
상기 추출된 오디오 특징값은 소정의 시간 간격을 갖는 제1 구간 및 제2 구간의 오디오 데이터에 대한 특징값으로 할 수 있다.
상기 입력 받은 동영상 데이터 및 상기 입력 받은 동영상 데이터에 대응되는 오디오 특징값을 저장하는 단계를 더 포함하고, 상기 동영상 데이터 및 상기 대응되는 오디오 특징값을 저장하는 단계는, 상기 제1 구간 및 상기 제2 구간의 오디오 데이터를 하나의 데이터로 합한 구간에서 추출된 오디오 특징값을 저장할 수 있다.
상기 인코딩하는 단계는 상기 제1 구간의 오디오 데이터에 대한 특징값과 저장된 제1 오디오 특징값의 유사도가 임계치 이상이고, 상기 제2 구간의 오디오 데이터에 대한 특징값과 저장된 제2 오디오 특징값의 유사도가 임계치 이하인 경우,
상기 동영상 데이터를 인코딩 할 수 있다.
상기 전송하는 단계는 상기 제2 구간의 오디오 데이터에 대한 특징값과 상기 제2 오디오 특징값의 유사도가 임계치 이상인 경우, 상기 저장된 동영상 데이터를 전송할 수 있다.
상기 동영상 데이터 중 광고가 포함된 구간의 데이터 및 광고가 포함되지 않은 구간의 데이터를 구분하여 각각의 데이터 및 상기 각각의 데이터에 대응되는 해시값들을 추출하여 저장하는 단계 및 상기 동영상 데이터 중 광고가 포함된 구간의 데이터 및 광고가 포함되지 않은 구간의 데이터를 구분하여 각각의 데이터 및 상기 각각의 데이터에 대응되는 오디오 특징값들을 추출하여 저장하는 단계를 더 포함하고, 상기 저장된 해시값과 비교하는 단계는, 상기 광고가 포함된 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되는지 여부 및 상기 광고가 포함되지 않은 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되는지 여부를 판단하고, 상기 저장된 오디오 특징값과 비교하는 단계는, 상기 광고가 포함된 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되는지 여부 및 상기 광고가 포함되지 않은 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되는지 여부를 판단할 수 있다.
상기 저장된 해시값과 비교하는 단계에서, 상기 광고가 포함된 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되고, 상기 광고가 포함되지 않은 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되지 않았다고 판단된 경우, 상기 동영상 데이터를 인코딩하는 단계는, 상기 광고가 포함되지 않은 구간의 데이터를 인코딩하고, 상기 전송하는 단계는, 상기 인코딩된 상기 광고가 포함되지 않은 구간의 데이터를 전송하고, 상기 저장된 상기 광고가 포함된 구간의 데이터를 전송하는 것이 바람직하다.
오디오 특징값 추출을 통한 동영상 인코딩 방법은 입력 받은 동영상 데이터 중 적어도 일부에 대한 오디오 특징값을 추출하여, 적어도 하나의 저장된 오디오 특징값과 비교하는 단계; 상기 오디오 특징값 간의 비교에 따라 상기 특징값 간의 비교에 따라 상기 동영상 데이터에 대한 해시값을 추출하여 적어도 하나의 저장된 해시값과 비교하는 단계; 및 상기 해시값 또는 상기 오디오 특징값 간의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되, 상기 저장된 오디오 특징값과 비교하는 단계는, 상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교할 수 있다.
상기 인코딩 방법은 상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 단계를 더 포함할 수 있다.
오디오 특징값 추출을 통한 동영상 인코딩 장치는 동영상 데이터를 입력 받는 입력부; 상기 동영상 데이터에 대한 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하거나, 상기 동영상 데이터 중 적어도 일부의 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 비교부; 및 상기 해시값 또는 상기 오디오 특징값의 비교에 따라 상기 동영상 데이터를 인코딩하는 인코딩부를 포함하되, 상기 비교부는, 상기 동영상 데이터 중 적어도 일부의 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 경우, 상기 저장된 오디오 특징값이 둘 이상이면, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교할 수 있다.
상기 인코딩 장치는 상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 전송부;를 더 포함할 수 있다.
상기 인코딩 장치는 상기 인코딩된 데이터 또는 저장된 동영상 데이터를 저장하는 저장부;를 더 포함할 수 있다.
본 발명에 따르면 입력받은 동영상 데이터에서 해시값 및 오디오 특징값을 추출한뒤 DB에 저장되어 있는 해시값 및 오디오 특징값을 비교함으로써, 입력받은 동영상 데이터의 중복여부를 판단할 수 있다. 보다 정확해진 중복여부 판단으로 중복의 동영상 데이터 인코딩을 줄여서 사용자에게 효율적인 인코딩 서비스를 제공할 수 있다.
보다 구체적으로, 동영상 데이터를 광고와 광고가 아닌 구간을 나누어 중복여부를 판단하여, 필요한 구간만을 인코딩 할 수 있다. 또한 구간을 나누어 인코딩 동영상 데이터를 보관함으로써 중복이 아닌 구간만을 인코딩하고, 중복인 구간은 인코딩되어 저장된 동영상 데이터를 사용자에게 전송할 수 있다. 그리고 중복된 동영상 데이터라도 기존에 코딩된 동영상 데이터 보다 고화질인 경우 인코딩하여 DB를 갱신할 수 있다.
한편, 이러한 인코딩 서버를 구축 함으로써 인코딩 시간, 인코딩 서버 자원, 동영상 저장 서버의 효율을 향상 시키고 고화질 동영상 파일을 보다 안정적이고 양질의 인코딩 서비스를 제공할 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시 예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 인코딩 방법의 일 예를 나타내는 예시도이다.
도 2는 본 발명의 일 실시예에 따른 인코딩 서버를 나타내는 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 인코딩 서버를 상세히 나타낸 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 해시값 및 오디오 특징값 추출과 저장방법을 나타내는 예시도이다.
도 5는 본 발명의 일 실시예에 따른 광고를 구분하여 해시값 및 오디오 특징값 추출과 저장방법을 보다 상세하게 나타내는 예시도이다.
도 6은 본 발명의 일 실시예에 따른 인코딩 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 오디오 특징값 추출 절차를 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 오디오 특징값 비교 절차를 나타내는 흐름도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시 되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이외같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 인코딩 방법의 일 예를 나타내는 예시도이다.
본 개시의 일 실시예에 따르면, 인코딩 방법은 서버(100), 미디어서버(10), 사용자(200)를 포함 할 수 있다.
서버(100), 미디어서버(10) 및 사용자(200)는 통신망을 통해 연결되어 있을 수 있다. 통신망에 연결되어 있는 구성간에는 통신망을 통해 데이터를 전송하고 수신할 수 있다. 통신망은 무선랜(Wireless LAN: WLAN), 와이 파이(Wi-Fi), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution : LTE), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 포함될 수 있다. 또한, 근거리 통신 기술로는, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication; NFC) 등이 포함될 수 있다. 유선 통신 기술로는, USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등을 포함할 수 있다.
서버(100)는 동영상을 입력 받아 중복여부를 확인하여 인코딩 하는 전반적인 역할을 수행할 수 있다. 또한 서버(100)는 컴퓨팅 장치를 포함할 수도 있다.
미디어서버(10)는 인코딩된 동영상, 해시값, 오디오 특징값등을 저장하고 있는 데이터베이스 역할을 수행할 수 있다.
본 실시예에는 서버(100)와 미디어서버(10)를 구별하여 구현하였지만 기술에 따라 하나로 구현될 수 도 있다. 이를 하나로 구현한 예시로써 도 2를 참조하면 서버(100)가 저장부(120)를 구성요소로 가지면서, 도 1의 서버(100)와 미디어서버(10)를 하나로 구현해 놓았다. 즉, 미디어서버(10)는 서버(100)의 저장부(12)로 대체될 수도 있다.
사용자(200)는 인코딩 하려는 동영상 데이터를 서버(100)에 입력할 수 있다.
서버(100)는 사용자(200)로부터 인코딩 요청받은 동영상 데이터를 미디어서버(10)에 있는 데이터와 비교할 수 있다. 또한 서버(100)는 미디어서버(10)의 데이터를 받아서 사용자(200)에게 전송할 수 있다. 또한 서버(100)는 인코딩 요청받은 동영상 데이터를 인코딩하여 미디어서버(10)로 전송할 수 도 있다.
사용자(200)는 인코딩 하려는 동영상 데이터를 서버(100)에 입력하는 것으로 서버(100)에 인코딩을 요청할 수 있다. 이 때 인코딩 요청은 노트북, 휴대폰 등을 이용하여 웹이나 어플리케이션으로 요청할 수 있으며, 이에 한정되지는 않는다.
이하, 도 2를 참조하여 본 실시예에 따른 서버(100)에 대해 더욱 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 인코딩 서버를 나타내는 블록 구성도이다.
본 실시예에서 서버(100)는 입력부(110), 저장부(120), 전송부(130), 비교부(140), 인코딩부(150), 출력부(160), 제어부(170)으로 구성 될 수 있다. 상술한 서버(100)의 구성들은 필수적인 것이 아니어서 일부의 구성만을 포함할 수도 있다.
입력부(110)는 동영상 데이터를 입력받는다,
구체적으로, 입력부(110)는 사용자(200)로부터 웹이나 애플리케이션에 대한 명령을 입력 받거나 동영상 데이터 등을 입력 받을 수 있다.
또한, 입력부(110)는 외부 저장 장치에 저장된 동영상 데이터를 입력 받을 수도 있다. 이때 입력부(110)는 외부 저장 장치로 다른 서버에 저장된 동영상 데이터를 네트워크를 통해서 입력 받는 것도 가능하다.
또한, 입력부(110)는 사용자(200)로부터 입력 장치를 통해 서버를 제어하는 사용자 입력신호를 입력받을 수 도 있으며, 사전 설정된 웹 사이트에서 수집된 동영상을 입력받을 수 도 있다.
본 실시예에서 동영상 데이터는 오디오와 비디오 데이터를 포함하는 미디어 데이터로써 AVI(Audio Video Interleaved), WMV(Windows Media Video), ASF(Advanced Streaming Format), FLV(Flash Video), MOV(Quick Time Player), MPEG(Moving Picture Experts Group)의 형식일 수 있으나 본 발명은 이에 한정되지 않는다.
또한 동영상 데이터는 오디오와 비디오 데이터를 포함하는 멀티미디어로써 영화, 드라마, 스포츠 등 장르를 불문하며, 또한 데이터의 재생 전후 또는 재생 중간에 특정 상품에 대한 광고를 포함하는 동영상일 수 있다.
본 실시예에서, 저장부(120)는 도 3의 오디오 특징값DB(122), 해시값DB(124), 인코딩DB(126)를 포함할 수 있다. 저장부(120)는 미디어서버(10)에서 받은 데이터, 사용자(200)로부터 입력받은 동영상 데이터 및 인코딩부(150)에서 인코딩된 동영상 데이터 중 적어도 하나를 저장 할 수 있다.
저장부(120)는 HDD(Hard Disk Drive), SSD(Solid State Drive), 플래시 메모리(Flash Memory), DRAM(dynamic random access memory)로 구성 될 수 있으며 이에 한정되지 않는다. 하나의 예로써 저장부(120)는 도 3에 나오는 오디오 특징값DB(122), 해시값DB(124), 인코딩DB(126)를 포함할 수 있다.
본 실시예에서 전송부(130)는 동영상 데이터, 해시값, 오디오 특징값 등을 전송하는 역할을 수행할 수 있다.
즉, 전송부(130)는 입력부(110)가 사용자(200)으로부터 입력 받은 동영상 데이터를 저장부(120), 비교부(140), 인코딩부(150), 출력부(160), 제어부(170), 미디어서버(10)등으로 유무선 네트워크로 전송 할 수 있다.
본 실시예에서 비교부(140)는 입력받은 동영상 데이터가 중복인지를 비교하여 판단한다.
따라서, 비교부(140)는 도 3의 오디오 특징값 엔진(142), 해시값 엔진(144)를 포함할 수 있다.
이하, 구체적인 비교부(140)의 입력받은 동영상 데이터 비교 방법은 도 3, 4 및 5에서 상세하게 설명 한다.
본 실시예에서 인코딩부(150)는 동영상 데이터를 인코딩하는 역할을 수행할 수 있다.
따라서, 인코딩부(150)는 도 3의 인코더(152)를 포함할 수 있다.
인코딩부(150)는 동영상 데이터의 인코딩을 수행하며 VBR(Variable Bit Rate), CBR(Constant Bit Rate)형식으로 인코딩 할 수 있으며 이에 한정되지는 않는다.
본 실시예에서 출력부(160)는 동영상 데이터의 처리 상황을 사용자에게 제공해 줄 수 있다.
이때, 출력부(160)는 디스플레이 장치로서 LCD, LED, CRT 등 임의의 시각적 출력 장치로 구성될 수 있으며, 출력부(160)의 구성요소는 예시일 뿐이며 본 개시는 이에 한정되지 않는다.
즉, 출력부(160)는 동영상 데이터의 처리 상황에 대한 정보를 출력할 수 있는데, 예를 들면 인코딩부(150)의 인코딩 진행 상황을 출력할 수 있으며, 또는 입력부(110)의 동영상 데이터 입력 상황을 출력 할 수도 있다.
본 실시예에서 제어부(170)는 서버(100)의 구성요소들의 전반적인 동작을 제어할 수 있다.
제어부(170)는 비교부(140)가 입력부(110)에서 입력받은 동영상 데이터를 비교하도록 제어할 수 있으며, 비교부(140)의 비교 결과값에 따라 동일하지 않은 동영상 데이터라고 판단되는 경우, 제어부(170)는 인코딩부(150)가 입력받은 동영상 데이터를 인코딩하도록 제어할 수 있다. 또한 제어부(170)는 전송부(130)가 인코딩된 동영상 데이터를 사용자(200)에게 전송하도록 제어할 수 있다.
또한 제어부(170)는 비교부(140)의 비교 결과값에 따라 입력받은 동영상 데이터와 인코딩되어 저장된 동영상 데이터가 동일하다고 판단하는 경우, 전송부(130)가 미디어서버(10)이나 저장부(120)에 인코딩 되어 저장된 동영상 데이터를 사용자(200)에게 전송하도록 제어할 수 있다.
이하, 도 3을 참조하여 상술한 제어부의 동작을 보다 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 인코딩 서버를 상세히 나타낸 블록 구성도이다.
도 3을 참조하면, 본 실시예에서 서버(100)는 오디오 특징값DB(122), 해시값DB(124), 인코딩DB(126), 오디오 특징값 엔진(142), 해시값 엔진(144), 인코더(152), 제어부(170)로 구성 될 수 있다.
인코더(152)는 동영상 데이터를 인코딩할 수 있다.
인코딩DB(126)는 인코딩이 완료된 동영상 데이터를 저장할 수 있다. 인코딩DB(126)는 인코더(152)가 인코딩한 동영상데이터를 저장할 수 있다. 또한 인코딩DB(126)에는 저장된 동영상 데이터는 웹에서 수집되거나 사용자(200)에 의해 저장된 동영상 데이터일 수도 있다. 인코딩DB(126)에는 동영상 데이터가 저장될 수도 있다. 여기서 동영상 데이터란 인코딩하기 전의 동영상 데이터를 의미할 수 있다.
여기서 인코딩된 동영상 데이터는 동영상 데이터의 전체 또는 일부 구간을 인코딩한 것일 수 있다. 인코딩된 동영상 데이터는 광고가 포함되어 있을 수 있으며, 광고를 제외하고 인코딩된 동영상 데이터일 수도 있다. 여기서 구간이란 동영상 데이터의 러닝타임을 기준으로 특정 시점과 다른 시점과의 사이를 의미한다.
본 실시예에서 인코딩은 정보의 형태나 형식을 변경하는 것으로, 본 실시예에서 인코딩은 여러 가지 방식으로 수행될 수 있다. 예를 들어, AVI(Audio Video Interleave), MPEG(Moving Picture Exports Group), MKV(MatrosKa multimedia container for Video)등의 인코딩 방식이 사용 될 수 있다. 한편 본 발명은 앞선 예시로 제한되지 않으며, 다양한 알고리즘으로 동영상을 변경하는 방법 모두를 포함할 수 있다.
해시값DB(124)는 동영상 데이터의 해시값 및 광고들의 해시값을 저장하는 역할을 수행할 수 있다.
해시값DB(124)에는 인코딩DB(126)에 인코딩되어 저장된 동영상 데이터로부터 추출된 해시값들이 저장될 수 있다. 또한 해시값DB(124)에는 입력받은 동영상 데이터로부터 추출된 해시값들이 저장될 수 있다. 여기서 추출된 해시값들은 동영상 데이터의 전체 또는 일부 구간에 대한 값일 수도 있다. 또한 추출된 해시값들은 광고 구간이 제외된 동영상 데이터에서 추출되었을 수도 있다. 여기서 추출된 해시값들은 광고 구간이 제외된 동영상 데이터의 전체 또는 일부 구간에 대한 값일 수도 있다.
또한, 해시값DB(124)는 인코딩되서 저장된 동영상 데이터의 전후 또는 중간에 있는 광고로부터 추출된 해시값들이 저장될 수 있다. 또한 해시값DB(124)에는 사용자(200)로부터 입력받은 동영상 데이터의 전후 또는 중간에 있는 광고로부터 추출된 해시값들이 저장될 수 있다. 여기서 추출된 해시값들은 광고의 전체 또는 일부 구간에서 추출된 값일 수도 있다. 이외에도 해시값DB(124)에는 여러 광고들의 해시값들이 저장될 수 있다. 여기서 해시값들은 광고의 전체 또는 일부 구간의 해시값일 수 있다. 여기서 여러 광고는 광고 매체로부터 전달되는 광고들을 포함할 수 있다. 광고 매체는 신문, TV, 브로셔(brochure), 잡지, 또는 쿠폰(coupon)과 같은 다양한 상품 설명 매체가 될 수 있다. 또한 영상매체가 아닌 다른 매체를 통한 광고인 경우에는 스캔(scan)하거나, 또는 카메라를 통해 촬영 함으로써, 영상 정보를 생성할 수 있다. 이렇게 생성된 영상 정보에서 추출된 해시값은 해시값DB(124)에 저장될 수 있다.
해시값 엔진(144)은 동영상 데이터의 전체 또는 일부 구간의 해시값을 추출과 각각의 해시값을 비교를 할 수 있다.
해시값은 동영상 데이터를 해싱하여 얻은 결과값을 의미한다. 이때 결과값은 동영상 데이터의 고유한 값이 될 수 있다. 또한 해시값은 동영상 데이터의 콘텐츠에 따라 달라질 수 있으며, 동일한 동영상 데이터라도 인코딩의 환경에 따라 다른 해시값을 가질 수도 있다. 또는, 동영상 데이터의 콘텐츠는 동일 하더라도, 동영상 데이터에 추가된 광고에 따라 다른 해시값을 가질 수도 있다.
해시값 엔진(144)은 입력받은 동영상 데이터를 해싱하여 해시값을 추출 할 수 있다. 또한, 헤시값 엔진(144)은 입력받은 동영상의 전체 또는 일부 구간을 해싱할 수 있다. 하나의 예로써 입력받은 동영상 데이터 전후 또는 중간에 광고가 있는 경우, 헤시값 엔진(144)은 광고 구간을 제외하고 해싱하여서 해시값을 추출할 수도 있다. 여기서 추출된 해시값은 광고 구간이 제외된 동영상 데이터의 천체 또는 일부 구간에서 추출되었을 수 있다. 또한 헤시값 엔진(144)은 광고 구간만을 해싱하여 해시값을 추출할 수도 있다.
한편, 해시값 엔진(142)이 해시값을 추출할 때, 동영상 데이터에서 byte 단위로 추출할 수 있다. 일 예를 들어보면, 입력받은 동영상 데이터의 최초 앞부분 1 mbyte를 추출할 수도 있으며, 동영상 데이터의 뒷부분 10 kbyte를 추출할 수도 있다. 또한 최초 1 mbyte와 뒤의 10 kbyte 합하여 해시값을 추출할 수도 있다.
한편, 본 발명은 앞선 예시로 제한되지 않으며, 해시 알고리즘이나 동영상의 크기등 인코딩 상황에 따라 추출 단위는 달라질 수도 있으며, 추출되는 구간도 달라질수 있다.
해싱에 사용되는 해시 알고리즘은 md5(Message-Digest algorithm 5), sha-1(Secure Hash Algorithm-1), sha-2(Secure Hash Algorithm 2), blowfish, bcrypt, RIPEMD(RACE Integrity Primitives Evaluation Message Digest)등이 있을 수 있다. 한편 해싱에 사용되는 해시 알고리즘은 위에 열거한 알고리즘에 제한되지 않고 해싱을 하여 해시값을 추출 할 수 있는 것이라면 어떠한 해시 알고리즘이라도 사용 가능하다.
해시값 엔진(144)은 추출된 해시값과 해시값DB(124)에 저장된 해시값들을 비교할 수 있으며, 본 실시예에 따른 서버(100)는 해시값 엔진(144)을 통해 사용자(200)로부터 입력받은 동영상의 동일여부를 판단 할 수 있다.
구체적으로, 해시값 엔진(144)이 해시값을 서로 동일하다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단할 수 있다. 또는 해시값 엔진(144)이 해시값을 서로 동일하지 않다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이 아니라고 판단할 수 있다. 이때, 동일한 경우는 해시값이 100% 일치하는 것을 의미한다. 오디오 특징값DB(122)는 동영상 데이터에 대한 오디오 특징값을 저장할 수 있다. 구체적으로오디오 특징값DB(122)에는 인코딩DB(126)에 인코딩되어 저장된 동영상 데이터에서 추출된 오디오 특징값들이 저장될 수 있다. 여기서 추출된 오디오 특징값들은 동영상 데이터의 전체 또는 일부 구간에 대한 값일 수도 있다.
또한, 오디오 특징값DB(122)는 동영상 데이터에 광고가 포함된 경우, 광고에 대한 오디오 특징값을 별도로 저장하는 것도 가능하며, 이때 오디오 특징값 DB (122)는 광고가 제외된 동영상 데이터의 오디오 특징값을 저장할 수 있다.
또한 추출된 오디오 특징값들은 광고 구간이 제외된 동영상 데이터의 전체 또는 일부 구간에서 추출되었을 수도 있다.
일 예로써 라디오광고와 같이 오디오만 있는 광고의 경우, 오디오 특징값을 추출하여 오디오 특징값DB(122)에 저장 할 수 있다.
오디오 특징값 엔진(142)은 동영상 데이터의 전체 또는 일부 구간에 대한 오디오 특징값 추출 및 각각의 오디오 특징값들의 비교를 수행할 수 있다.
오디오 특징값 엔진(142)은 입력받은 동영상 데이터에 대한 오디오 특징값을 추출 할 수 있으며, 입력받은 동영상 데이터의 광고 구간에 대해서만 오디오 특징값을 추출할 수 있다. 또한 오디오 특징값 엔진(142)은 동영상 데이터에서 광고 구간을 제외하고 오디오 특징값을 추출 할 수도 있다.
본 실시예에서 오디오 특징값은 입력받은 동영상 데이터의 오디오를 분석하여 산출된 오디오 식별값으로 동일한 동영상 데이터에서 추출된 오디오 특징값은 서로 같을 수 있다.
구체적으로, 오디오 특징값은 오디오의 볼륨, 음의 파형 모형, 주파수, 음색 중 적어도 하나에 기초하여 결정될 수도 있다. 본 실시예에는 오디오 특징값의 산출 방법으로 오디오 데이터를 프레임별로 분할 후 퓨리에 변환에 따른 주파수 특성값을 산출하는 오디오 지문을 이용 할 수 있다.
또 다른 예로써 오디오 데이터를 프레임별로 주파수의 변화 패턴 모델을 이용하여 오디오 특징값을 추출 하는 것도 가능하다.
한편, 오디오 특징값 엔진(142)은 추출된 오디오 특징값과 오디오 특징값DB(122)에 저장된 오디오 특징값들을 비교하는 경우, 오디오 특징값DB(122)에 저장된 오디오 특징값들의 유사도에 기초한 우선순위로 비교할 수 있다. 본 실시예에서 오디오 특징값의 비교를 위한 우선순위는 오디오 특징값 자체의 정보 또는 오디오 특징값이 추출된 구간 또는 동영상 데이터 정보등을 이용하여 결정될 수 있다.
일 예로서 오디오 특징값 자체의 정보에 따라 우선순위를 정하는 경우에는 오디오 특징값이 생성된 시간, 크기, 오디오 특징값의 추출 방법 또는 오디오 특징값의 저장방식 등이 고려될 수 있다.
다른 예로써 오디오 특징값이 추출된 구간에 따라 우선순위를 정하는 경우에는 구간의 길이, 구간의 시작 시점 또는 구간의 끝나는 시점 등이 고려될 수 있다.
다른 예로써 오디오 특징값이 추출된 동영상 데이터에 따라 우선순위를 정하는 경우에는 동영상 데이터의 러닝타임 또는 파일형식 등이 고려될 수 있다.
한편 본 발명은 앞선 예시로 제한되지 않는다. 또한 유사도 우선순위를 판단할 수 있는 어떠한 알고리즘이라도 사용 할 수 있다
한편, 오디오 특징값 엔진(142)은 오디오 특징값들을 비교하는 경우, 유사도가 임계치 이상인지를 판단한다. 여기서 오디오 특징값 엔진(142)이 임계치 이상이라고 판단하는 경우, 제어부(170)는 입력받은 동영상 데이터를 중복이라고 판할 수 있다. 또한 오디오 특징값 엔진(142)이 임계치 미만이라고 판단하는 경우는 동영상 데이터를 중복이 아니라고 판단할 수 있다.
여기서, 유사도에 대한 임계치는 오디오 특징값 추출방식에 따라 달라질 수 있다.
한편, 도 2에서 서술한 제어부(170)에 대해서 더욱 상세하게 후술 하겠다.
기본적으로 동영상 데이터가 입력되는 경우, 제어부(170)는 먼저 해시값 엔진(144)이 해시값을 비교하도록 제어할 수 있다. 그 후에 제어부(170)는 오디오 특징값 엔진(142)이 오디오 특징값을 비교하도록 제어 할 수 있다. 또한, 제어부(170)는 먼저 오디오 특징값 엔진(142)이 오디오 특징값을 비교하도록 제어할 수 있다. 그 후에 제어부(170)는 해시값 엔진(144)이 해시값을 비교하도록 제어 할 수 있다.
한편, 동영상 데이터가 입력되는 경우, 제어부(170)는 해시값 엔진(144)과 오디오 특징값 엔진(146)이 각각 해시값, 오디오 특징값 동시에 비교하도록 제어 할 수 있다.
제1 예로, 제어부(170)는 해시값 엔진(144)이 추출된 해시값과 해시값DB(124)에 저장된 해시값이 동일하다고 판단한 경우, 입력받은 동영상 데이터가 중복이라고 판단할 수 있다. 이때 오디오 특징값 엔진(142)이 추출한 오디오 특징값의 유사도가 임계치 이상인지의 확인은 생략될 수도 있다. 또한, 순서를 바꾸어 해시값 엔진(144)이 해시값추출 및 해시값 비교를 하기 전에 먼저 오디오 특징값 엔진(142)은 오디오 특징값 추출 및 오디오 특징값 비교를 할 수도 있다. 여기서 오디오 특징값 엔진(144)이 오디오 특징값 추출 및 오디오 특징값 비교후에는 해시값 엔진(142)이 해시값 추출 및 해시값 비교를 하는 것은 비효율 적이므로, 이때 제어부(170)는 해시값 엔진(142)이 해시값 추출 및 해시값 비교 생략하도록 제어할 수 있다.
제2 예로, 제어부(170)는 해시값 엔진(144)이 추출된 해시값과 해시값DB(124)에 저장된 해시값이 동일하지 않다고 판단한 경우 및 오디오 특징값 엔진(142)이 추출된 오디오 특징값의 유사도가 임계치 미만이라고 판단한 경우, 입력받은 동영상 데이터가 중복이 아니라고 판단할 수 있다.
제3 예로, 제어부(170)는 해시값 엔진(144)이 추출된 해시값과 해시값DB(124)에 저장된 해시값이 동일하지 않다고 판단한 경우 및 오디오 특징값 엔진(142)이 추출된 오디오 특징값의 유사도가 임계치 이상이라고 판단한 경우, 입력받은 동영상 데이터가 중복이라고 판단할 수 있다.
상술한 판단결과에 따라 제어부(170)는 입력받은 동영상 데이터가 중복이 아니라고 판단된 경우, 제어부(170)는 입력받은 동영상 데이터에서 추출된 해시값을 해시값DB(124)에 저장되도록 제어한다. 또한, 입력받은 동영상 데이터에서 추출된 오디오 특징값을 오디오 특징값DB(122)에 저장되도록 제어한다.
그 후, 제어부(170)는 인코더(152)가 입력받은 동영상 데이터를 인코딩 하도록 제어한다. 그 다음, 제어부(170)는 인코더(152)가 인코딩한 동영상 데이터를 인코딩DB(126)에 저장되도록 제어한다. 또한, 제어부(170)는 인코딩된 동영상 데이터를 전송부(130)가 사용자(200)에게 전송하도록 제어한다.
또는 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단된 경우, 제어부(170)는 전송부(130)가 인코딩DB(126)에 인코딩 되어 저장된 동영상 데이터를 사용자(200)에게 전송하도록 제어할 수 있다. 여기서 인코딩 되어 저장된 동영상 데이터는 입력받은 동영상 데이터에 대응되는 동영상 데이터이다.
또한, 제어부(170)는 중복외에 해상도 정보를 이용하여 인코딩 여부를 결정하는 것도 가능하다.
즉, 입력받은 동영상 데이터가 인코딩DB(126)에 인코딩되어 저장된 동영상 데이터보다 고화질인 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단했더라도 인코더(152)가 입력받은 동영상을 인코딩 하도록 제어할 수 있다. 그 후, 제어부(170)는 인코더(152)가 인코딩된 동영상 데이터를 인코딩DB(126)에 저장되도록 제어할 수 있다. 또한, 제어부(170)는 인코딩된 동영상 데이터를 전송부(130)가 사용자(200)에게 전송하도록 제어할 수 있다. 여기서, 인코딩DB(126)은 기존에 저장되어 있던 저화질 동영상 데이터는 새롭게 인코딩된 고화질 동영상으로 대처할 수 있다.
한편, 제어부(170)는 입력받은 동영상 데이터의 고화질 여부를 인코딩DB(126)에 저장되어 있는 동영상 데이터와 비교하여 판단할 수 있다.
일 예로써, 제어부(170)는 프레임의 수가 많을수록 고화질이라고 판단 할 수 있다. 또한, 제어부(170)는 비트 전송율이 높을수록 고화질이라고 판단할 수 있으며 판단기준은 이에 한정되지 아니한다.
이어서 본 발명에 따른 해시값 및 오디오 특징값 추출과 저장방법과 이를 이용하여 중복여부를 판단하는 방법을 예시를 들어 설명한다.
도 4는 본 발명의 일 실시예에 따른 해시값 및 오디오 특징값 추출과 저장방법을 나타내는 예시도이다.
도 4를 참조하면, 제1 구간(41)은 동영상 데이터의 일부 구간을 의미한다. 또한, 제2 구간(42)은 동영상 데이터의 다른 일부 구간을 의미 한다.
먼저, 도 4를 통해 오디오 특징값을 추출하는 경우를 설명하면, 본 실시예에서 제1 구간(41) 및 제2 구간(42)은 동영상의 재생 시점을 기준으로 결정될 수 있다. 이때, 제1 또는 제2 구간은 하나의 동영상 데이터에서 소정의 시간 간격을 가질 수 있다. 또는, 시간 간격이 없이 연속하는 구간일 수도 있으며, 제1 구간(41)과 제2 구간(42)은 서로 겹치는 구간 일 수도 있다. 또한, 전체 구간(43)은 동영상 데이터의 러닝타임을 의미 할 수 있으며, 또는 동영상 데이터의 크기를 의미할 수도 있다.
즉, 본 실시예에서의 구간은 동영상 데이터의 어떤 부분이라도 될 수 있으며 그 범위는 상황에 따라 가변하는 범위가 될 수 있다. 또한, 2개 이상의 복수개의 구간을 설정할 수도 있으며, 예를 들어 제1 구간(41) 및 제2 구간(42)외에도 제 3구간, 제 4구간 및 제 5구간을 설정할 수도 있다.
또한, 오디오 특징값 엔진(142)이 제1 구간(41) 및 제2 구간(42)을 정한 경우를 예를 들어 설명하면, 오디오 특징값 엔진(142)은 제1 구간(41) 및 제2 구간(42)에서 오디오 특징값을 추출할 수 있다. 이때, 전체 구간(43)은 동영상 데이터의 러닝타임을 의미할 수 있고, 제1 구간(41) 및 제2 구간(42)은 소정의 시간 간격으로 결정 될 수 있다.
다음, 오디오 특징값 엔진(142)은 제1 구간(41) 및 제2 구간(42)에서 추출된 오디오 특징값을 오디오 특징값DB(122)에 저장된 오디오 특징값들과 비교한다. 구체적으로 오디오 특징값 엔진(142)은 각 구간에 대응하는 오디오 특징값들을 비교해서 유사도 임계치 이상인지 미만인지 판단할 수 있으며, 이를 통해 입력받은 동영상 데이터의 동일여부를 판단할 수 있다.
나아가, 오디오 특징값 엔진(142)은 더 많은 구간을 정하여 오디오 특징값을 추출한 뒤, 저장된 오디오 특징값들과 비교할 수 있다. 이를 통해서 제어부(170)는 입력받은 동영상 데이터를 더욱 정확하게 동일 여부를 확인할 수 있다. 또한, 도 4를 통해 해시값을 추출하는 경우를 설명하면, 본 실시예에서 제1 구간(41) 및 제2 구간(42)은 소정의 동영상 데이터의 크기를 기준으로 결정될 수 있다.
이때, 제1 또는 제2 구간은 하나의 동영상 데이터에서 소정의 데이터 크기를 간격으로 가질 수 있다. 또는, 데이터 크기만큼의 간격이 없이 연속하는 구간일 수도 있으며, 제1 구간(41)과 제2 구간(42)은 서로 겹치는 구간 일 수도 있다.
또한, 본 실시예에서 구간은 해시값 엔진(144)에 의해서 결정될 수 있다.
먼저, 해시값 엔진(144)이 제1 구간(41) 및 제2 구간(42)을 결정한 경우를 예를 들어 설명하면, 해시값 엔진(144)은 제1 구간(41) 및 제2 구간(42)에서 해시값을 추출할 수 있다. 이때 전체 구간(43)은 동영상 데이터의 크기를 의미하며, 제1 구간(41)과 제2 구간(42)은 소정의 동영상 데이터 크기로 결정될 수 있다.
한편, 해시값 엔진(144)은 제1 구간(41) 및 제2 구간(42)에서 추출된 해시값을 해시값DB(124)에 저장된 해시값들과 비교할 수 있다. 해시값 엔진(144)은 각 구간에 대응하는 해시값들을 비교하며, 제어부(170)는 해시값 비교 결과를 통해 입력받은 동영상 데이터의 동일여부를 판단할 수 있다. 여기서 제1 구간(41) 및 제2 구간(42)의 해시값과 해시값DB(124)에 저장된 해시값들이 동일한 경우, 제어부(170)는 입력받은 동영상 데이터가 동일하다고 판단할 수 있다. 또한, 제1 구간(41) 또는 제2 구간(42)의 해시값과 해시값DB(124)에 저장된 해시값들이 동일하지 않은 경우, 제어부(170)는 입력받은 동영상 데이터가 동일하지 않다고 판단할 수 있다.
해시값 엔진(144)은 더 많은 구간을 정하여 해시값을 추출한 뒤 저장된 해시값들과 비교하면, 더욱 정확하게 일치 여부를 확인할 수 있다.
이상, 본 실시예에 따라 해시값 엔진(144)이 해시값들이 동일하다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단할 수 있다. 이때 오디오 특징값 엔진(142)은 오디오 특징값 추출 및 오디오 특징값의 비교를 하지 않을 수 있다. 또한, 해시값 엔진(144)이 해시값들 추출 및 비교하기 전에, 오디오 특징값 엔진(142)은 오디오 특징값 추출 및 비교를 할 수도 있다.
해시값 엔진(144)이 입력받은 동영상 데이터가 동일하지 않다고 판단한 경우 및 오디오 특징값 엔진(142)이 입력받은 동영상 데이터가 동일하다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단할 수 있다. 또한, 해시값 엔진(144)이 입력받은 동영상 데이터가 동일하지 않다고 판단한 경우 및 오디오 특징값 엔진(142)이 입력받은 동영상 데이터가 동일하지 않다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이 아니라고 판단할 수 있다.
한편, 입력받은 동영상 데이터가 중복이 아니라고 판단된 경우, 제어부(170)는 인코더(152)가 입력받은 동영상 데이터를 인코딩 하도록 제어할 수 있다. 또한 제어부(170)는 전송부(130)가 인코딩된 동영상 데이터를 사용자(200)에게 전송하도록 제어할 수 있다. 또한 제어부(170)는 인코딩된 동영상 데이터를 인코딩DB(126)가 저장하도록 제어할 수 있고, 전송부(130)가 사용자(200)에게 인코딩DB(126)에 인코딩되어 저장된 동영상 데이터를 전송하도록 제어할 수 있다.
또한, 제어부(170)는 입력받은 동영상 데이터의 제1 구간(41) 및 제2 구간(42)에서 추출된 오디오 특징값을 오디오 특징값DB(124)에 저장되도록 제어할 수 있다.
이때 제어부(170)은 제1 구간 및 제2 구간의 오디오 데이터를 하나의 데이터로 합한 구간에서 추출된 오디오 특징값을 특징값DB(124)에 저장되도록 제어할 수 있다. 일 예로써, 제1 구간은 5~10분이고 제2 구간은 15~20분이라고 가정한다면, 오디오 특징값 엔진(142)은 5~10분 구간과 15~20분 구간을 각각 두 오디오 파일로 추출한 뒤 하나의 파일로 합하여 10분짜리 오디오 파일로 만든 후, 10분짜리 오디오 파일에서 오디오 특징값을 추출하여 저장한다. 또한 제1 구간(41) 및 제2 구간(42)에서 추출된 오디오 특징값은 개별적으로 저장될 수도 있다.
한편, 앞선 오디오 특징값 추출 및 저장방법은 해시값 추출 및 저장방법에도 적용될 수 있다. 즉. 제어부(170)는 해시값 엔진(144)이 구간별로 추출한 해시값을 각각 해시값DB(124)에 저장되도록 제어할 수 있으며, 각 구간을 합한 구간에서 추출된 해시값을 해시값DB(124)에 저장되도록 제어할 수도 있다.
아래에서는 도 5의 예시를 통해서 동영상 데이터에서 광고를 구분하는 경우를 더욱 상세하게 설명한다.
도 5는 본 발명의 일 실시예에 따라 광고를 구분하여 해시값 및 오디오 특징값 추출과 저장방법을 보다 상세하게 나타내는 예시도이다.
도 5를 참조하면, 광고a 구간(51)은 동영상 데이터의 일부 구간에서 광고만 포함된 구간을 나타내고, 광고b 구간(52)은 동영상 데이터의 일부 구간에서 광고만 포함된 구간을 나타낸다. 또한, 전체 구간(55)은 동영상 데이터의 러닝타임을 의미 할 수 있으며, 또는 동영상 데이터의 크기를 의미할 수도 있다. 광고a 구간(51) 및 광고b 구간(52) 역시 소정의 시간 간격으로 결정될 수 있으며, 또한 소정의 동영상 데이터 크기로 결정될 수도 있다.
광고가 제외된 제1 구간(53)은 동영상 데이터의 일부 구간에서 광고가 포함되지 않은 구간을 나타내고, 광고가 제외된 제2 구간(54)은 동영상 데이터의 전체 또는 일부 구간에서 광고가 포함되지 않은 구간을 의미한다.
광고가 제외된 제1 구간(53)과 광고가 제외된 제2 구간(54)은 동일한 동영상 데이터에서 소정의 시간 간격을 가질 수 있고 시간 간격이 없이 연속하는 구간일 수도 있다. 또한, 광고가 제외된 제1 구간(53)과 광고가 제외된 제2 구간(54)은 서로 겹치는 경우도 수 있다. 한편, 광고가 제외된 제1 구간(53)및 광고가 제외된 제2 구간(54)은 소정의 동영상 데이터 크기로 결정될 수 있다.
다른 실시예로서, 동영상 데이터의 광고구간이 많아지면 광고a 구간(51)과 광고b 구간(52)이외에도 광고 c구간 광고 d구간씩으로 광고만 포함된 구간을 여러 개로 설정하여 나타낼 수 있다. 또한 광고가 제외된 제1 구간(53) 및 광고가 제외된 제2 구간(54)이 외에도 광고가 제외된 제 3구간, 광고가 제외된 제 4구간 등을 설정하여 나타낼 수 있다. 구간이 많아지거나 구간의 범위가 넓어질수록 더욱 정확하게 입력받은 동영상 데이터의 중복을 판단할 수 있다.
본 실시예에서, 해시값 엔진(144)은 입력받은 동영상 데이터에서 광고a 구간(51) 및 광고b 구간(52) 에서 해시값을 추출 및 해시값들을 비교할 수 있다. 해시값 엔진(144)은 광고a 구간(51) 및 광고b 구간(52)에서 추출된 해시값과 해시값DB에 저장된 해시값을 비교할 수 있다. 여기서 해시값 엔진(144)이 해시값들이 동일하다고 판단한 경우, 제어부(170)는 입력받은 동영상 데이터가 중복이라고 판단할 수 있다. 이때 오디오 특징값 엔진(142)은 광고 구간의 오디오 특징값 추출 및 오디오 특징값 비교를 하지 않을 수 있다. 이때 제어부(170)는 인코딩DB(126)에 인코딩 되어 저장된 광고부분을 사용자(200)에게 전송하도록 제어할 수 있다. 또한 해시값 엔진(144)이 해시값들 추출 및 비교하기전에, 오디오 특징값 엔진(142)은 오디오 특징값 및 비교를 할 수도 있다.
한편, 제어부(170)가 입력받은 동영상 데이터의 광고 구간이 중복이 아니라고 판단되는 경우, 해당 광고 구간만을 인코딩하여 인코딩DB(126)에 저장되도록 제어할 수 있고, 사용자(200)에게 인코딩된 광고 구간을 전송하도록 제어할 수 있다.
즉, 광고 구간 또는 광고가 아닌 구간을 나누어서 해시값 또는 오디오 특징값을 추출하고 추출된 해시값 또는 오디오 특징값을 각각 DB에 저장함으로써, 해시값DB(124) 또는 오디오 특징값DB(122)의 저장 공간을 효율적으로 사용할 수 있다. 또한, 필요한 구간에서만 오디오 특징값 엔진(142)과 해시값 엔진(144)이 작동함으로써, 엔진들의 불필요한 동작을 줄일 수 있다.
한편, 오디오 특징값 엔진(142)도 상술한 바와 같이 오디오 특징값 추출 및 비교를 할 수 있다. 또한, 광고가 제외된 제1 구간(53) 및 광고가 제외된 제2 구간(54)에 대해서도 오디오 특징값 엔진(142)과 해시값 엔진(144)은 위와 같이 적용될 수 있다.
즉, 본 실시예에서는 제어부(170)가 입력받은 동영상 데이터를 광고와 광고가 아닌 구간으로 구별하여 중복여부를 구간별로 각각 판단하는 것을 특징으로 한다. 구체적으로 광고구간과 광고가 아닌 구간을 구별하여 인코딩DB(126)에 동영상 데이터를 저장하게 되고, 해시값 및 오디오 특징값도 구별하여서 해시값DB(124) 및 오디오 특징값DB(122)에 저장하게 된다.
이를 통해서 본 발명은 인코딩이 필요시에 필요한 구간만을 인코딩 함으로써 효율적이고 빠른 인코딩 서비스를 제공할 수 있다. 또한 필요한 구간만을 인코딩하여 사용자(200)에게 전송함으로써, 통신 네트워크를 보다 효율적으로 사용 가능하다.
일 예를 들면, 제어부(170)가 입력받은 동영상 데이터가 광고 구간은 중복이고 광고가 아닌 구간은 중복이 아니라고 판단한 경우, 광고가 아닌 구간에서 추출한 해시값 및 오디오 특징값은 각각의 DB에 저장하고 해당 광고가 아닌 구간을 인코딩한 후 사용자에게 전송하도록 제어한다. 또한 중복이라고 판단된 광고 구간은 인코딩DB(126)에 저장된 동영상 데이터를 사용자에게 전송하도록 한다.
도 6은 본 발명의 일 실시예에 따른 인코딩 방법을 나타내는 흐름도이다.
도 6을 참조하면, 서버(100)는 사용자(200)로부터 동영상 데이터를 입력 받을 수 있다(S100).
동영상 데이터를 입력 받는 단계(S100)는 사용자(200)로부터 휴대폰, 노트북 등 여러 기기 또는 웹 등을 통해서 유무선으로 동영상 데이터를 입력 받을 수 있다. 이때 동영상 데이터는 광고를 포함하고 있을 수 있으며, 어떤 동영상 데이터의 한 구간의 동영상 데이터일 수도 있다.
제어부(170)는 해시값 엔진(144)이 입력받은 동영상 데이터에서 해시값을 추출하도록 제어할 수 있다(S200).
해시값을 추출하는 단계(S200)에서는 해시값 엔진(144)은 입력받은 동영상 데이터의 전체 또는 특정 구간을 정하여 해시값을 추출할 수 있다. 또한 구간을 정할 때 광고와 광고가 아닌 구간으로 구별하여 정할 수도 있다.
제어부(170)는 해시값 엔진(144)이 추출된 해시값과 해시값DB(124)에 저장된 해시값을 비교하도록 제어할 수 있다(S300).
해시값을 비교하는 단계(S300)에서 해시값이 동일유무를 판단할 수 있다.
여기서, 추출된 해시값과 해시값DB(124)에 저장된 해시값이 동일하지 않은 경우, 제어부(170)는 오디오 특징값 엔진(142)이 입력받은 동영상 데이터에서 오디오 특징값을 추출하도록 제어할 수 있다(S400).
오디오 특징값을 추출하는 단계(S400)에서는 오디오 특징값 엔진(142)은 입력받은 동영상 데이터의 전체 또는 특정 구간을 정하여 오디오 특징값을 추출할 수 있다. 또한 구간을 정할 때 광고와 광고가 아닌 구간으로 구별하여 정할 수도 있다.
더 나아가 도 7을 참고하면, 오디오 특징값 엔진(142)은 제1 구간의 오디오 특징값 추출한 후(S410), 제2 구간의 오디오 특징값을 추출할 수 있다(S420). 본 흐름도는 하나의 실시 예이며 이에 제한되지 않는다. 즉, 제1 구간과 제2 구간에서 오디오 특징값 추출의 순서는 반대가 될 수 있으며, 동시에 수행될 수도 있다.
한편, 본 발명은 실시예의 흐름도와 다르게 해시값 추출 및 비교전에 오디오 특징값 추출 및 비교를 먼저 수행할 수도 있다. 이때, 오디오 특징값 추출 및 비교를 먼저 수행한 경우, 해시값 추출 및 비교는 생략될 수 있다.
다음, 제어부(170)는 오디오 특징값 엔진(142)이 추출된 오디오 특징값과 오디오 특징값DB(122)에 저장된 오디오 특징값을 비교하도록 제어할 수 있다(S500).
오디오 특징값을 비교하는 단계(S500)는 도 8을 참조하면 보다 상세하게 설명한다. 오디오 특징값 엔진(142)은 추출된 제1 구간 오디오 특징값과 오디오 특징값DB(122)에 저장된 오디오 특징값을 비교한다(S510). 이때 추출된 오디오 특징값이 임계치 미만인 경우, 제어부(170)는 추출된 해시값과 오디오 특정값을 저장하는 단계(S800)가 수행되도록 제어한다. 또한 임계치 이상인 경우, 오디오 특징값 엔진(142)은 추출된 제2 구간 오디오 특징값과 오디오 특징값DB(122)에 저장된 오디오 특징값을 비교한다(S520). 이때 추출된 오디오 특징값이 임계치 미만인 경우, 제어부(170)는 추출된 해시값과 오디오 특정값을 저장하는 단계(S800)를 수행되도록 제어한다. 또한 임계치 이상인 경우, 제어부(170)는 입력받은 동영상이 고화질 여부를 판단하는 단계(S600)가 수행되도록 제어한다.
한편, 오디오 특징값 엔진(142)이 오디오 특징값들을 비교할 때 오디오 특징값DB(122)에 저장된 오디오 특징값들은 유사도 우선순위에 기초한 순서에 따라 비교할 수 있다.
만약, 추출된 오디오 특징값이 임계치 이상인 경우, 제어부(170)는 추가적으로 입력 받은 동영상 데이터가 인코딩DB(126)에 저장된 동영상 데이터보다 고화질인지 여부를 확인할 수 있다(S600).
즉, 입력받은 동영상이 고화질 여부를 판단하는 단계(S600)는 고화질 여부를 판단하기 위하여 동영상 데이터의 용량, 프레임수, 또는 비트 전송률 등을 비교하여 판단할 수 있다.
만약, 입력받은 동영상 데이터가 인코딩되어 저장된 동영상 데이터보다 고화질이 아닌 경우, 제어부(170)는 사용자(200)에게 인코딩DB에 인코딩되어 저장된 동영상 데이터를 전송하도록 제어할 수 있다(S700).
한편, 해시값을 비교하는 단계(S300)에서 해시값 비교결과가 동일하다고 판단된 경우, 제어부(170)는 입력받은 동영상이 고화질 여부를 판단하는 단계(S600)가 수행되도록 제어한다.
한편, 오디오 특징값을 비교하는 단계(S500)에서 유사도 임계치 미만이라고 판단된 경우, 제어부(170)는 추출된 해시값과 오디오 특정값을 저장하는 단계(S800)가 수행되도록 제어한다.
제어부(170)는 입력받은 동영상 데이터에서 추출된 해시값이 해시값DB(124)에 저장되도록 제어하고 추출된 오디오 특징값이 오디오 특징값DB(122)에 저장되도록 제어할 수 있다(S800).
그리고 제어부(170)는 인코더가 입력받은 동영상 데이터를 인코딩하도록 제어할 수 있으며, 인코딩된 동영상 데이터를 인코딩DB(126)에 저장되도록 제어할 수 있다(S900).
인코딩 및 저장을 결정한 뒤, 제어부(170)는 전송부(130)가 인코딩된 동영상 데이터를 사용자(200)에게 전송하도록 제어할 수 있다(S1000).
한편, 입력받은 동영상이 고화질 여부를 판단하는 단계(S600)에서 고화질인 경우, 제어부(170)는 입력받은 동영상 데이터를 인코딩하여 저장하는 단계(S900)가 수행되도록 제어한다.
본 발명에 따르면 입력받은 동영상 데이터에서 해시값 및 오디오 특징값을 추출한뒤 DB에 저장되어 있는 해시값 및 오디오 특징값을 비교함으로써, 입력받은 동영상 데이터의 중복여부를 보다 정확하게 판단할 수 있다. 보다 정확해진 중복여부 판단으로 중복의 동영상 데이터 인코딩을 줄여서 사용자에게 효율적인 인코딩 서비스를 제공할 수 있다.
보다 구체적으로, 동영상 데이터를 광고와 광고가 아닌 구간을 나누어 중복여부를 판단하여, 필요한 구간만을 인코딩 할 수 있다. 또한 구간을 나누어 인코딩 동영상 데이터를 보관함으로써 중복이 아닌 구간만을 인코딩하고, 중복인 구간은 인코딩되어 저장된 동영상 데이터를 사용자에게 전송할 수 있다. 그리고 중복된 동영상 데이터라도 기존에 코딩된 동영상 데이터 보다 고화질인 경우 인코딩하여 DB를 갱신할 수 있다.
한편, 이러한 인코딩 서버를 구축 함으로써 인코딩 시간, 인코딩 서버 자원, 동영상 저장 서버의 효율을 향상 시키고 고화질 동영상 파일을 보다 안정적이고 양질의 인코딩 서비스를 제공할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 미디어 서버 41 : 제1 구간
42 : 제2 구간 43 : 전체 구간
51 : 광고a 구간 52 : 광고b 구간
53 : 광고가 제외된 제1 구간 54 : 광고가 제외된 제2 구간
55 : 전체 구간 100 : 미디어서버
110 : 입력부 120 : 저장부
122 : 오디오 특징값 엔진 124 : 해시값 DB
126 : 인코딩 DB 130 : 전송부
140 : 비교부 142 : 오디오 특징값 엔진
144 : 해시값 엔진 150 : 인코더
152 : 인코더 160 : 출력부
170 : 제어부 200 : 사용자

Claims (18)

  1. 입력 받은 동영상 데이터에 대한 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하는 단계;
    상기 해시값 간의 비교에 따라 상기 동영상 데이터 중 적어도 일부에 대한 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 단계; 및
    상기 해시값 또는 상기 오디오 특징값 간의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되,
    상기 저장된 오디오 특징값과 비교하는 단계는,
    상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 인코딩 방법은
    상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  3. 제 1 항에 있어서,
    상기 저장된 오디오 특징값과 비교하는 단계는,
    상기 추출된 해시값과 상기 저장된 해시값이 다른 경우,
    상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값을 비교하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  4. 제 2 항에 있어서,
    상기 추출된 오디오 특징값은 소정의 시간 간격을 갖는 제1 구간 및 제2 구간의 오디오 데이터에 대한 특징값인 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  5. 제 4 항에 있어서,
    상기 입력 받은 동영상 데이터 및 상기 입력 받은 동영상 데이터에 대응되는 오디오 특징값을 저장하는 단계를 더 포함하고,
    상기 동영상 데이터 및 상기 대응되는 오디오 특징값을 저장하는 단계는,
    상기 제1 구간 및 상기 제2 구간의 오디오 데이터를 하나의 데이터로 합한 구간에서 추출된 오디오 특징값을 저장하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  6. 제 4 항에 있어서,
    상기 인코딩하는 단계는,
    상기 제1 구간의 오디오 데이터에 대한 특징값과 저장된 제1 오디오 특징값의 유사도가 임계치 이상이고,
    상기 제2 구간의 오디오 데이터에 대한 특징값과 저장된 제2 오디오 특징값의 유사도가 임계치 이하인 경우,
    상기 동영상 데이터를 인코딩하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  7. 제 6 항에 있어서,
    상기 전송하는 단계는,
    상기 제2 구간의 오디오 데이터에 대한 특징값과 상기 제2 오디오 특징값의 유사도가 임계치 이상인 경우, 상기 저장된 동영상 데이터를 전송하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  8. 제 2 항에 있어서,
    상기 동영상 데이터 중 광고가 포함된 구간의 데이터 및 광고가 포함되지 않은 구간의 데이터를 구분하여 각각의 데이터 및 상기 각각의 데이터에 대응되는 해시값들을 추출하여 저장하는 단계 및
    상기 동영상 데이터 중 광고가 포함된 구간의 데이터 및 광고가 포함되지 않은 구간의 데이터를 구분하여 각각의 데이터 및 상기 각각의 데이터에 대응되는 오디오 특징값들을 추출하여 저장하는 단계를 더 포함하고,
    상기 저장된 해시값과 비교하는 단계는,
    상기 광고가 포함된 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되는지 여부 및 상기 광고가 포함되지 않은 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되는지 여부를 판단하고,
    상기 저장된 오디오 특징값과 비교하는 단계는,
    상기 광고가 포함된 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되는지 여부 및 상기 광고가 포함되지 않은 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되는지 여부를 판단하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  9. 제 8 항에 있어서,
    상기 저장된 해시값과 비교하는 단계에서,
    상기 광고가 포함된 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되고, 상기 광고가 포함되지 않은 구간에서 상기 추출된 해시값과 상기 저장된 해시값이 중복되지 않았다고 판단된 경우,
    상기 동영상 데이터를 인코딩하는 단계는,
    상기 광고가 포함되지 않은 구간의 데이터를 인코딩하고,
    상기 전송하는 단계는,
    상기 인코딩된 상기 광고가 포함되지 않은 구간의 데이터를 전송하고,
    상기 저장된 상기 광고가 포함된 구간의 데이터를 전송하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  10. 입력 받은 동영상 데이터 중 적어도 일부에 대한 오디오 특징값을 추출하여, 적어도 하나의 저장된 오디오 특징값과 비교하는 단계;
    상기 오디오 특징값 간의 비교에 따라 상기 특징값 간의 비교에 따라 상기 동영상 데이터에 대한 해시값을 추출하여 적어도 하나의 저장된 해시값과 비교하는 단계; 및
    상기 해시값 또는 상기 오디오 특징값 간의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되,
    상기 저장된 오디오 특징값과 비교하는 단계는,
    상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  11. 제10항에 있어서,
    상기 인코딩 방법은
    상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  12. 제10항에 있어서,
    상기 오디오 특징값과 비교하는 단계를 먼저 수행한 경우,
    상기 해시값과 비교하는 단계를 생략하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  13. 제 11 항에 있어서,
    상기 추출된 오디오 특징값은 소정의 시간 간격을 갖는 제1 구간 및 제2 구간의 오디오 데이터에 대한 특징값인 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
  14. 동영상 데이터를 입력 받는 입력부;
    상기 동영상 데이터에 대한 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하거나, 상기 동영상 데이터 중 적어도 일부의 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 비교부; 및
    상기 해시값 또는 상기 오디오 특징값의 비교에 따라 상기 동영상 데이터를 인코딩하는 인코딩부를 포함하되,
    상기 비교부는,
    상기 동영상 데이터 중 적어도 일부의 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 경우, 상기 저장된 오디오 특징값이 둘 이상이면, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 장치.
  15. 제 14 항에 있어서,
    상기 인코딩된 데이터 또는 저장된 동영상 데이터를 전송하는 전송부;를 더 포함하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 장치.
  16. 제 14 항에 있어서,
    상기 인코딩된 데이터 또는 저장된 동영상 데이터를 저장하는 저장부;를 더 포함하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 장치.
  17. 동영상 데이터를 입력 받는 단계;
    상기 동영상 데이터의 해시값을 추출하여, 적어도 하나의 저장된 해시값과 비교하는 단계;
    상기 동영상 데이터 중 적어도 일부의 오디오 특징값을 추출하여 적어도 하나의 저장된 오디오 특징값과 비교하는 단계; 및
    상기 해시값 또는 상기 오디오 특징값의 비교에 따라 상기 동영상 데이터를 인코딩하는 단계를 포함하되,
    상기 저장된 오디오 특징값과 비교하는 단계는,
    상기 저장된 오디오 특징값이 둘 이상인 경우, 상기 추출된 오디오 특징값 자체의 정보, 상기 추출된 오디오 특징값이 추출된 구간, 및 동영상 데이터 정보 중 적어도 하나에 기초하여 결정된 우선순위에 의해 비교하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법을 수행하는 프로그램이 저장된 컴퓨터가 판독 가능한 기록 매체.
  18. 제 8 항에 있어서,
    상기 저장된 오디오 특징값과 비교하는 단계에서,
    상기 광고가 포함된 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되고, 상기 광고가 포함되지 않은 구간에서 상기 추출된 오디오 특징값과 상기 저장된 오디오 특징값이 중복되지 않았다고 판단된 경우,
    상기 동영상 데이터를 인코딩하는 단계는,
    상기 광고가 포함되지 않은 구간의 데이터를 인코딩하고,
    상기 전송하는 단계는,
    상기 인코딩된 상기 광고가 포함되지 않은 구간의 데이터를 전송하고,
    상기 저장된 상기 광고가 포함된 구간의 데이터를 전송하는 것을 특징으로 하는 오디오 특징값 추출을 통한 동영상 인코딩 방법.
KR1020170071892A 2017-06-08 2017-06-08 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치 KR101961132B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170071892A KR101961132B1 (ko) 2017-06-08 2017-06-08 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170071892A KR101961132B1 (ko) 2017-06-08 2017-06-08 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180134252A KR20180134252A (ko) 2018-12-18
KR101961132B1 true KR101961132B1 (ko) 2019-03-25

Family

ID=64952390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170071892A KR101961132B1 (ko) 2017-06-08 2017-06-08 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101961132B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022124679A1 (ko) * 2020-12-07 2022-06-16 삼성전자 주식회사 복제 비디오를 검출하는 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400542B (zh) * 2020-03-20 2023-09-08 腾讯科技(深圳)有限公司 音频指纹的生成方法、装置、设备及存储介质
CN113542731A (zh) * 2021-07-15 2021-10-22 湖南广播影视集团有限公司 视音频播放的控制方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896335B1 (ko) * 2007-05-15 2009-05-07 주식회사 코난테크놀로지 오디오 기반의 동영상 파일 중복 검사와 관리를 위한 시스템 및 방법
KR100888804B1 (ko) * 2007-06-04 2009-03-13 (주)엔써즈 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치
CA2924764C (en) * 2013-10-21 2020-03-10 Microsoft Technology Licensing, Llc Mobile video search

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022124679A1 (ko) * 2020-12-07 2022-06-16 삼성전자 주식회사 복제 비디오를 검출하는 장치 및 방법

Also Published As

Publication number Publication date
KR20180134252A (ko) 2018-12-18

Similar Documents

Publication Publication Date Title
US10650241B2 (en) Systems and methods for identifying matching content
US20180192101A1 (en) Systems and methods for identifying matching content
US11350184B2 (en) Providing advanced playback and control functionality to video client
KR101961132B1 (ko) 오디오 특징값 추출을 통한 동영상 인코딩 방법 및 장치
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
US11758203B2 (en) Adaptive bitrate video cache
US10645425B2 (en) Method and device for managing multimedia data
US10755104B2 (en) Scene level video search
US20220179831A1 (en) Management of content
US8761577B2 (en) System and method for continuous playing of moving picture between two devices
CN110248195B (zh) 用于输出信息的方法和装置
US9276986B2 (en) Systems, methods, and apparatuses for facilitating remote data processing
CN114584801A (zh) 一种基于图神经网络推荐算法的视频资源缓存方法
EP3264323A1 (en) Systems and methods for identifying matching content
US20210258626A1 (en) Method and system for prioritizing contents for content processing by multichannel video programming distributors
US9451275B2 (en) System and method for storing and moving graphical image data sets with reduced data size requirements
US11399207B2 (en) Image selection using motion data
KR20110129064A (ko) 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템
EP3264325A1 (en) Systems and methods for identifying matching content

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant