KR20160032761A - The method for recovery of multimedia piece file - Google Patents

The method for recovery of multimedia piece file Download PDF

Info

Publication number
KR20160032761A
KR20160032761A KR1020140122746A KR20140122746A KR20160032761A KR 20160032761 A KR20160032761 A KR 20160032761A KR 1020140122746 A KR1020140122746 A KR 1020140122746A KR 20140122746 A KR20140122746 A KR 20140122746A KR 20160032761 A KR20160032761 A KR 20160032761A
Authority
KR
South Korea
Prior art keywords
file
header
video
format
audio
Prior art date
Application number
KR1020140122746A
Other languages
Korean (ko)
Other versions
KR101632689B1 (en
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 KR1020140122746A priority Critical patent/KR101632689B1/en
Publication of KR20160032761A publication Critical patent/KR20160032761A/en
Application granted granted Critical
Publication of KR101632689B1 publication Critical patent/KR101632689B1/en

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

The present invention relates to a method for recovering video or audio fragment files cut by a bit torrent or the like, and an apparatus using the same. More particularly, the method of the present invention firstly identifies a file format by a feature pattern of the fragment files and puts a maximum likelihood header corresponding to the identified format in the front of the fragment files for decoding in order to recover the cut video or audio fragment files.

Description

멀티미디어 조각파일의 복구방법{The method for recovery of multimedia piece file}[0001] The present invention relates to a multimedia piece file recovery method,

본 발명은 비트토렌트 등과 같이 동영상 공유프로그램에 의해 잘린 비디오 또는 오디오 조각 파일을 복구하는 방법에 관한 것으로서, 구체적으로는 잘린 비디오 또는 오디오 조각 파일을 복구하기 위하여 조각 파일의 특징 패턴에 의하여 파일 포맷을 식별하고, 식별한 포맷에 의하여 대응되는 최대 유사 헤더를 조각 파일을 앞에 붙여주어 디코딩하는 방법에 관한 것이다.
The present invention relates to a method for restoring a video or audio fragment file that is cut by a video sharing program such as a bit torrent, and more particularly, to a method for restoring a cut video or audio fragment file by identifying a file format And attaching a maximum similarity header corresponding to the identified format to a fragment file before decoding.

컴퓨터 및 인터넷 기술이 발달하면서 멀티미디어 데이터의 유통량이 많아지고 있고, 유통방법 역시도 다양해지고 있다. 최근에는 파일을 조각으로 잘라서 공유하는 비트토렌트(BitTorrent)로 대표되는 파일공유시스템을 이용한 유통이 많아지고 있으며, 비디오 파일 중에서는 AVI, MKV, MP4, RMVB 등 형식을 통한 영화 파일의 유통이 대부분을 차지하고, 오디오 파일 중에서는 MP3, AAC, FLAC 등 형식을 통한 음악 파일의 유통이 대부분을 차지하고 있다. With the development of computer and internet technologies, the amount of multimedia data is increasing and the distribution method is also becoming diverse. In recent years, there have been a lot of distributions using a file sharing system represented by BitTorrent, which is a method of cutting and sharing files in pieces. Most of the video files are distributed through AVI, MKV, MP4, RMVB, And most of the audio files are distributed through MP3, AAC, FLAC, and other formats.

비트 토렌트(BitTorrent)는 P2P(peer-to-peer) 파일 전송 프로토콜의 이름이자 그것을 이용하는 응용 소프트웨어의 이름이다. 비트 토렌트를 이용하면 파일을 인터넷 상에 분산하여 저장하여 놓고 다수의 접속을 사용하여 여러 곳에서 동시에 파일을 가져오게 되어 전송 속도가 빨라진다. 비트 토렌트 프로토콜은 프로그래머 브램 코헨이 창안하였으며, 2001년 4월부터 설계되어 최초의 구현이 2001년 7월 2일 발표되었다. 현재는 코헨이 창립한 회사인 비트 토렌트 Inc. 가 이것을 유지보수하고 있다. 본래 비트 토렌트 프로그램은 분산 해시 테이블을 활용하여 파이썬으로 작성되었으며 오픈 소스 저작권하에서 배포되고 있다. 그 외에도 비트 토렌트 프로토콜과 호환되는 각종 비트 토렌트 클라이언트가 출시되어 있다.BitTorrent is the name of the peer-to-peer file transfer protocol and the name of the application software that uses it. With BitTorrent, files are distributed on the Internet and stored, and files are imported simultaneously from multiple locations using multiple connections, thus speeding up the transfer. The BitTorrent protocol was invented by programmer Bram Cohen, and since April 2001, the first implementation was announced on July 2, 2001. Currently, BitTorrent Inc., a company founded by Cohen, Inc. Is maintaining this. Original BitTorrent programs are written in Python using distributed hash tables and are distributed under open source copyright. In addition, various bit-torrent clients compatible with the BitTorrent protocol are available.

이와 같은 비트 토렌트에서 유통되는 비디오 파일 중 AVI (Audio Video Interleave) 비디오 파일 포맷은 마이크로소프트에서 개발된 원도우 운영체제를 위한 멀티미디어 컨테이너 포맷이다. AVI 파일 포맷은 오디오/비디오 순서의 캡쳐, 편집, 재생을 실시하는 애플리케이션으로 사용되는 RIFF (Resource Interchange File Format) 파일 사양이다.
Of these video files distributed in BitTorrent, the AVI (Audio Video Interleave) video file format is a multimedia container format for Windows operating system developed by Microsoft. The AVI file format is a Resource Interchange File Format (RIFF) file specification used for applications that capture, edit, and play audio / video sequences.

MKV 파일 포맷은 오픈 표준인 마트료시카 멀티미디어 컨테이너(Matroska Multimedia Container)포맷을 준수한다. 이러한 파일 포맷은 개수 제한 없이 비디오, 오디오, 그림 및 자막 트랙을 한 파일 안에 담을 수 있다. MKV 파일 구조는 XML을 기본으로 삼아 만든, 데이터 컨테이너 방식인 확장형 이진 메타 언어 (Extensible Binary Meta Language-EBML) 기초 상에서 구성된다.The MKV file format conforms to the open standard Matroska Multimedia Container format. These file formats can contain an unlimited number of video, audio, picture and subtitle tracks in one file. The MKV file structure is constructed on the basis of Extensible Binary Meta Language (EBML), a data container method based on XML.

MP4 (MPEG-4 Part 14)는 멀티미디어 컨테이너 포맷 표준이며, 디지털 비디오와 오디오 스트림을 저장하는데 사용하는 것이 일반적이며 자막 및 스틸 이미지 등 기타 데이터를 저장하는데 사용할 수도 있다. MP4 파일은 box 또는 atom 구조로 조성된다.MP4 (MPEG-4 Part 14) is a multimedia container format standard, commonly used for storing digital video and audio streams, and can also be used to store caption and other data such as still images. MP4 files are composed of boxes or atoms.

RMVB (RealMedia Variable Bitrate)는 리얼네트웍스가 개발한 리얼미디어 멀티미디어 컨테이너 포맷의 가변 비트레이트 확장이며 일반적으로 저장을 위한 멀티미디어 콘텐츠에 쓰인다. RMVB는 불법유통 비디오 파일 포맷에서 가장 높은 비율을 차지하고 있다.RealMedia Variable Bitrate (RMVB) is a variable bit rate extension of the Real Media Multimedia Container format developed by RealNetworks and is commonly used for multimedia content for storage. RMVB accounts for the highest percentage of illegal distribution video file formats.

MPEG-1 오디오 압축 표준인 MP3는 가장 널리 사용되고 있는 오디오 압축 표준 중 하나이며 비트토렌트에서 유통되고 있는 오디오 파일 중 가장 높은 비율을 차지하고 있다. MP3는 손실 압축 방법의 일종으로서 오디오 데이터에서 사람이 듣는데 중요하지 않은 부분을 버리는 압축방법을 이용하였다.MP3, the MPEG-1 audio compression standard, is one of the most widely used audio compression standards and accounts for the highest percentage of audio files distributed in BitTorrent. MP3 is a kind of lossy compression method, which uses a compression method to discard parts of audio data that are not important for human listening.

AAC(Advanced Audio Coding)도 손실 압축 방법으로 오디오 데이터를 압축한다. AAC는 MP3의 성공적인 후계자로써 애플의 아이튠즈, 아이팟, 아이폰 등에 사용되는 오디오 포맷이다. AAC는 작은 사이즈인 오디오 파일에서도 좋은 음질을 제공하며 높은 음 분해 능력을 지니고 있다.Advanced Audio Coding (AAC) also compresses audio data with a lossy compression method. AAC is a successful successor to MP3, an audio format used in Apple's iTunes, iPod, and iPhone. AAC provides good sound quality even for small-sized audio files and has high sound resolution.

FLAC(Free Lossless Audio Codec)는 오디오 데이터를 무 손실 압축하는 파일 형식이다. 즉 MP3, AAC 등 포맷과 달리 오디오 데이터에 손실이 발생하지 않는다. FLAC은 저장공간, 대역폭, 전송율 등을 절약할 수 있다. FLAC은 오디오 데이터를 원래 크기의 50%로 줄어들게 압축하고 디코드 하면 정확히 원래 모습으로 보전할 수 있다.
FLAC (Free Lossless Audio Codec) is a file format that compresses audio data without loss. In other words, unlike MP3, AAC and other formats, there is no loss of audio data. FLAC can save storage space, bandwidth, transfer rate and so on. FLAC compresses and decodes audio data to reduce it to 50% of its original size, so that it can be accurately preserved in its original form.

기존의 파일 포맷 분류 및 조각 파일 식별에 관한 많은 연구에서 주요 분석 대상인 포맷은 문서 포맷, 이미지 포맷, 압축 포맷, 실행 및 라이브러리 파일 포맷들이다. In many studies on existing file format classification and fragment file identification, the main analysis formats are document format, image format, compression format, execution and library file formats.

하지만 저작권 침해 행위는 주로 비디오 또는 오디오 파일 불법 유통에서 일어나므로 전문 비디오 또는 오디오 파일 포맷 분류, 조각 파일 포맷 식별 및 조각 파일의 스트림 복구에 관한 방법이 절실하나, 잘라진 비디오 또는 오디오 조각 파일은 강한 압축, 정보의 부족 등으로 인해 복구하는데 여러 가지 어려운 문제점이 있다.However, since copyright infringement occurs mainly in illegal distribution of video or audio files, there is a desperate method of classifying professional video or audio file formats, identifying fragmented file formats, and recovering stream of fragmented files. However, There are various difficulties in recovering due to lack of information.

기존의 포맷 분류 및 식별에 사용되는 특징들로는 Histogram, Mean, Hamming weight, N-gram, Compressed length, Shannon entropy, Standard deviation 등이 있다. 하지만 모든 포맷의 비디오 또는 오디오 스트림은 강한 엔트로피 압축을 거쳐서 스트림 데이터 분포가 모두 유사한 랜덤 성질을 가지고 있으므로 이러한 특징들은 비디오 또는 오디오 조각 파일 식별에 좋은 효과를 일으키지 못한다. 또한 비트토렌트에서 유통되는 조각 파일을 분석 대상으로 할 경우에는 파일 헤더(header) 및 테일(tail)을 다운 받는데 많은 시간이 소모되므로 헤더 및 테일을 특징으로 이용하는 것도 효율적이지 못하다.
Histogram, Mean, Hamming weight, N-gram, Compressed length, Shannon entropy, Standard deviation, etc. are used for classification and identification of existing formats. However, video or audio streams of all formats have strong random entropy compression and stream data distribution all have similar random properties, so these features do not have a good effect on video or audio fragment file identification. In addition, when analyzing fragmented files distributed in bit torrents, it takes a long time to download file headers and tail, so it is also not efficient to use headers and tail features.

[문헌 1] 대한민국 특허등록 제10-1407166호 "디지털 비디오 레코더에서의 데이터베이스 복구방법", 2014.06.05.[Patent Document 1] Korean Patent Registration No. 10-1407166 "Method for restoring a database in a digital video recorder ", 2014.06.05. [문헌 2] 대한민국 특허공개공보 제 10-2007-0093389호 "전력 소실 후 실시간 비디오 데이터의 복구", 2007.09.18.[Patent Document 2] Korean Patent Laid-Open Publication No. 10-2007-0093389 "Recovery of Real Time Video Data After Power Loss", 2007.09.18. [문헌 3] 대한민국 특허등록 제10-0470844호 "데이터 기록 방법 및 데이터 복구 방법", 2005.01.31.[Patent Literature 3] Korean Patent Registration No. 10-0470844 "Data Recording Method and Data Recovery Method ", January 31, 2005.

상기 문제점을 해결하기 위하여 본 발명에서는 각 비디오 또는 오디오 파일 포맷의 고유 sync 패턴을 특징으로 이용하여 포맷을 분류하고 조각 파일을 식별하고자 한다. In order to solve the above problem, in the present invention, a unique sync pattern of each video or audio file format is used as a feature to classify a format and identify a fragmented file.

먼저, 잘라진 비디오 또는 오디오 조각 파일은 재생하는데 필요한 헤더 정보가 없으므로 복구하려면 우선 통계적 방법으로 분석한 헤더를 조각 파일 앞에 추가하고, 또한 정확한 포맷의 헤더를 추가하기 위하여 그 조각 파일 포맷을 먼저 식별하도록 하는 조각파일을 복구방법을 제공하고자 한다.
First, the cut video or audio fragment file does not have the header information necessary to reproduce. Therefore, in order to recover it, first, a header analyzed by statistical method is added before the fragment file, and the fragment file format is first identified to add a header of the correct format I want to provide a way to recover fragmented files.

이를 위하여 조각 파일 포맷의 식별 정확도 및 식별 계산 속도를 높이기 위하여 먼저 비디오 또는 오디오 파일 포맷을 분류하는 방법을 제공하고자 한다.
To this end, a method of classifying a video or audio file format in order to improve the identification accuracy of the fragmented file format and the speed of the identification calculation is provided.

또한, 본 발명은 비디오 또는 오디오 조각 파일을 복구하는 것을 목적으로 잘려진 비디오 또는 오디오 조각 파일 앞에 통계적으로 분석한 최대 유사 헤더를 추가하여 조각 파일 내 비디오 또는 오디오 스트림을 복구하는 방법을 제공하고자 한다.
The present invention also provides a method for recovering a video or audio stream in a fragmented file by adding a statistically analyzed maximum similarity header before a truncated video or audio fragment file for the purpose of recovering a video or audio fragment file.

상기 과제의 해결을 위하여 본 발명에서는, 파일포맷을 분류하는 클래스분포가 저장된 파일포맷분류DB 및 최대유사헤더가 저장된 최대유사헤더DB가 구축되어 있으며, 영상처리부, 음성처리부 및 중앙연산부를 포함하는 시스템을 통하여 네트워크상의 비디오 또는 오디오 조각파일을 복구하는 방법으로서, (A) 상기 중앙연산부가 네트워크상에서 조각파일을 수집하는 단계; (B) 상기 중앙연산부가 상기 파일포맷분류DB의 클래스분포를 분석하여 상기 조각파일의 파일포맷을 식별하는 단계; (C) 상기 중앙연산부가 상기 조각파일의 파일포맷에 해당하는 최대유사헤더를 상기 최대유사헤더DB에서 추출하여 상기 조각파일의 선단에 조합하는 단계; (D) 상기 영상처리부 또는 음성처리부가 상기 중앙연산부로부터 상기 최대유사헤더가 조합된 조각파일을 수신하여 디코딩하는 단계;의 단계를 포함하여 이루어지는 멀티미디어 비디오조각파일 복구방법을 제공함을 목적으로 한다.
In order to solve the above problems, a file format classification DB in which a class distribution for classifying a file format is stored and a maximum similarity header DB in which a maximum similarity header is stored are constructed, and a system including a video processing unit, a voice processing unit, A method for recovering video or audio fragment files on a network, comprising the steps of: (A) collecting fragmented files on a network; (B) analyzing a class distribution of the file format classification DB to identify a file format of the fragmented file; (C) extracting a maximum similarity header corresponding to the file format of the fragmented file from the maximum similarity header DB and combining the extracted maximum similarity header at the end of the fragmented file; (D) receiving and decoding a fragmented file in which the maximum similarity header is combined from the central processing unit by the image processing unit or the audio processing unit.

본 발명에 의하면 다음과 같은 효과가 있다. The present invention has the following effects.

1. 본 발명은 비디오 또는 오디오 조각 파일의 포맷을 식별하고 포맷별로 압축을 풀어 복구하므로, 완전하지 않은 비디오 또는 오디오 파일에 부족한 정보를 추가하여 새로 헤더를 만들어 복구가 가능하여 종전에 비해 비디오 또는 오디오 조각 파일로부터 비디오 또는 오디오 데이터를 복구하는 정확도가 높아질 뿐만 아니라 복구속도가 향상되는 효과가 있다. 1. The present invention identifies the format of a video or audio fragment file and restores it by decompressing it according to the format. Therefore, it is possible to reconstruct a new header by adding insufficient information to an incomplete video or audio file, Not only does it improve the accuracy of recovering video or audio data from fragmented files, it also improves recovery speed.

2. 또한, 본 발명은 비트토렌트 네트워크와 같은 온라인 상에서 유통되는 비디오 또는 오디오 전체 조각 파일을 다운로드하여 복구하는데 필요한 시간이 단축되는 효과가 있다. 2. Also, the present invention has the effect of shortening the time required for downloading and restoring video or audio whole fragment files distributed on-line, such as a bittorrent network.

3. 특히, 본 발명은 비트토렌트 클라이언트가 다운로드한 비디오 또는 오디오 조각 파일이 삭제되었거나 부족한 경우에 비디오 또는 오디오 데이터를 복구하기 어려운 점이 해결되는 장점이 있다.
Particularly, the present invention is advantageous in that it is difficult to recover video or audio data when a video or audio fragment file downloaded by a bittorrent client is deleted or insufficient.

[도 1]은 비디오 파일 포맷 중 AVI의 구조도이다.
[도 2]는 비디오 파일 포맷 중 MKV의 구조도이다.
[도 3]은 비디오 파일 포맷 중 MP4의 구조도이다.
[도 4]는 비디오 파일 포맷 중 RMVB의 구조도이다.
[도 5]는 오디오 파일 포맷 중 MP3의 구조도이다.
[도 6]은 오디오 파일 포맷 중 AAC의 구조도이다.
[도 7]은 오디오 파일 포맷 중 FLAC의 구조도이다.
[도 8]은 sync 패턴 카운팅 프로시져의 흐름도이다.
[도 9]는 비디오 또는 오디오 파일 포맷을 분류하여 파일포맷분류DB를 구축하는 과정의 흐름도이다.
[도 10]은 비디오 또는 오디오 조각 파일의 포맷을 식별하는 과정의 흐름도이다.
[도 11]는 최대 유사 헤더를 구성하는 과정의 흐름도이다.
[도 12]은 비디오 또는 오디오의 조각파일을 복구하는 과정의 흐름도이다.
[Fig. 1] is a structure diagram of an AVI among video file formats.
[Fig. 2] is a structural view of MKV in a video file format.
[Fig. 3] is a structure diagram of MP4 in a video file format.
4 is a structural view of RMVB in a video file format.
[Fig. 5] is a structure diagram of MP3 in an audio file format.
6 is a structure diagram of an AAC among audio file formats.
[Fig. 7] is a structural diagram of FLAC among audio file formats.
8 is a flowchart of a sync pattern counting procedure.
9 is a flowchart of a process of classifying a video or audio file format and constructing a file format classification DB.
10 is a flowchart of a process of identifying a format of a video or audio fragment file.
11 is a flowchart of a process of configuring a maximum similarity header.
12 is a flowchart of a process of recovering a fragmented file of video or audio.

본 발명은 파일포맷을 분류하는 클래스분포가 저장된 파일포맷분류DB 및 최대유사헤더가 저장된 최대유사헤더DB가 구축되어 있으며, 영상처리부, 음성처리부 및 중앙연산부를 포함하는 시스템을 통하여 네트워크상의 비디오 또는 오디오 조각파일을 복구하는 방법으로서, (A) 상기 중앙연산부가 네트워크상에서 조각파일을 수집하는 단계; (B) 상기 중앙연산부가 상기 파일포맷분류DB의 클래스분포를 분석하여 상기 조각파일의 파일포맷을 식별하는 단계; (C) 상기 중앙연산부가 상기 조각파일의 파일포맷에 해당하는 최대유사헤더를 상기 최대유사헤더DB에서 추출하여 상기 조각파일의 선단에 조합하는 단계; 및 (D) 상기 영상처리부 또는 음성처리부가 상기 중앙연산부로부터 상기 최대유사헤더가 조합된 조각파일을 수신하여 디코딩하는 단계; 의 단계를 포함하여 이루어지는 멀티미디어 비디오조각파일 복구방법을 제공한다.
The present invention includes a file format classification DB in which a class distribution for classifying a file format is stored and a maximum similarity header DB in which a maximum similarity header is stored. The system includes a video processing unit, a voice processing unit, A method for recovering a fragmented file, comprising the steps of: (A) collecting fragmented files on a network; (B) analyzing a class distribution of the file format classification DB to identify a file format of the fragmented file; (C) extracting a maximum similarity header corresponding to the file format of the fragmented file from the maximum similarity header DB and combining the extracted maximum similarity header at the end of the fragmented file; And (D) receiving and decoding a fragmented file in which the maximum similarity header is combined from the central processing unit or the image processing unit or the audio processing unit; The method comprising the steps of:

또한 본 발명은 상기 중앙연산부가, (1) 수집된 N개 비디오 또는 오디오 샘플파일에서 헤더(header) 및 테일(tail)을 제외한 범위의 데이터에서 랜덤하게 길이가 L1인 데이터를 잘라내어 N개의 데이터를 생성하는 단계;(2) 잘라낸 각 데이터를 sync패턴 카운팅 프로시져에 따라 파일포맷별로 sync패턴 카운터값을 생성하는 단계; (3) 파일포맷별로 생성된 각 데이터의 sync패턴 카운터값을 조합하여 고차원 벡터집합을 구성하는 단계; 및 (4) 생성된 N개의 고차원 벡터집합들을 군집 알고리즘 또는 SVM(Support Vector Machine)을 이용하여 M개의 파일포맷별로 분류하여 M개의 클래스분포를 상기 파일포맷분류DB에 저장하는 단계;를 포함한 방법으로 파일포맷분류DB를 구축하는 것을 특징으로 하는 멀티미디어 조각파일 복구방법을 함께 제공한다.
The central processing unit may further include: (1) cutting out data having a length L 1 randomly in a range of data excluding a header and a tail in the collected N video or audio sample files, (2) generating a sync pattern counter value for each file format according to a sync pattern counting procedure for each cut-out data; (3) constructing a high dimensional vector set by combining sync pattern counter values of each data generated for each file format; And (4) storing the generated N high-dimensional vector sets into M file formats using a cluster algorithm or SVM (Support Vector Machine) to store M class distributions in the file format classification DB And a file format classification DB is constructed.

또한 본 발명은 상기 (B)단계에서 상기 중앙연산부는, (B-1) 상기 조각 파일에 들어있는 sync패턴 카운터값을 sync패턴 카운팅 프로시져에 따라 생성하는 단계; (B-2) 각 포맷에 대응되는 sync패턴 카운터값으로부터 고차원 벡터 집합을 구성하는 단계; (B-3) 상기 조각파일의 사이즈를 L1으로 맞추기 위하여 상기 고차원 벡터집합에 벡터 정규화(vector normalization)를 수행하여 축소된 고차원 벡터집합을 생성하는 단계; 및 (B-4) 상기 축소된 고차원 벡터집합과 파일포맷분류DB의 각 클래스분포를 KNN기법(K-Nearest Neighbor 기법, 최소 유클리디안 거리를 측정하는 기법)로 비교하여 최근거리의 클래스의 포맷을 선택하여 상기 조각파일의 포맷으로 저장하는 단계;를 포함하는 과정을 거쳐 조각파일의 포맷을 식별하는 것을 특징으로 하는 멀티미디어 조각파일 복구방법을 함께 제공한다.
According to another aspect of the present invention, in the step (B), the central processing unit may include: (B-1) generating a sync pattern counter value included in the fragment file according to a sync pattern counting procedure; (B-2) constructing a set of high dimensional vectors from sync pattern counter values corresponding to each format; (B-3) generating a reduced high-dimensional vector set by performing vector normalization on the high-dimensional vector set to fit the size of the fragmented file to L 1 ; And (B-4) comparing the class distribution of the reduced high-dimensional vector set and the file format classification DB with a KNN technique (K-Nearest Neighbor technique, a technique for measuring a minimum euclidean distance) And storing the selected fragmented file in a format of the fragmented file, wherein the format of the fragmented file is identified.

또한 본 발명은 상기 중앙연산부가, (ㄱ) 비트토렌트 네트워크에서 유통되는 비디오 또는 오디오 파일 헤더들을 수집하는 단계; (ㄴ) 상기 헤더에서 비디오 또는 오디오 속성이 나타나는 확률을 통계적 방법으로 계산하여 확률값에 따라 헤더를 재배열하는 단계; 및 (ㄷ) 가장 높은 확률값을 갖는 헤더를 최대유사헤더로 상기 최대유사헤더DB에 저장하는 단계; 의 단계를 포함하는 과정으로 최대유사헤더DB를 구축하는 것을 특징으로 하는 멀티미디어 조각파일의 복구방법을 함께 제공한다.
The central processing unit may further comprise: (a) collecting video or audio file headers distributed in a bit-torrent network; (B) rearranging the header according to a probability value by calculating a probability of a video or audio attribute appearing in the header by a statistical method; And (c) storing a header having the highest probability value in the maximum similarity header DB as a maximum similarity header; A maximum similarity header DB is constructed by a process including a step of extracting a maximum similarity header DB.

또한 본 발명은 상기 군집알고리즘은, 최적화한 판별 서브스페이스 클러스터링(Optimized Discriminative Subspace Clustering,ODiSC) 알고리즘인 것을 특징으로 하는 멀티미디어 조각파일의 복구방법을 함께 제공한다.
In addition, the present invention provides a method for recovering a multimedia fragment file, wherein the clustering algorithm is an Optimized Discriminative Subspace Clustering (ODiSC) algorithm.

본 명세서에서는 가능한 한 현재 널리 사용되는 일반적인 용어가 사용되었지만, 출원인이 임의로 정한 용어도 일부 사용되었다. 임의로 선택한 용어에 대해서는 발명의 상세한 설명 부분에 기재된 바에 따라 그 의미를 해석할 수 있다.
In the present specification, general terms that are widely used at present are used, but some terms arbitrarily set by the applicant have been used. For arbitrarily chosen terms, the meaning may be interpreted as described in the Detailed Description section of the invention.

이하 본 발명을 구체적 실시예와 함께 설명하지만, 본 발명이 이하의 실시예들에 의해 제한되거나 한정되는 것은 아니다.
Hereinafter, the present invention will be described with reference to specific examples, but the present invention is not limited to or limited by the following examples.

본 발명은 파일포맷을 분류하는 클래스분포가 저장된 파일포맷분류DB 및 최대유사헤더가 저장된 최대유사헤더DB가 구축되어 있으며, 영상처리부 및 중앙연산부를 포함하는 시스템을 통하여 네트워크상의 비디오 조각파일을 복구하는 방법으로서, (A) 상기 중앙연산부가 네트워크상에서 조각파일을 수집하는 단계;(B) 상기 중앙연산부가 상기 파일포맷분류DB의 클래스분포를 분석하여 상기 조각파일의 파일포맷을 식별하는 단계;(C) 상기 중앙연산부가 상기 조각파일의 파일포맷에 해당하는 최대유사헤더를 상기 최대유사헤더DB에서 추출하여 상기 조각파일의 선단에 조합하는 단계; 및 (D) 상기 영상처리부가 상기 중앙연산부로부터 상기 최대유사헤더가 조합된 조각파일을 수신하여 디코딩하는 단계;의 단계를 포함하여 이루어지는 비디오조각파일 복구방법을 제공한다.
A file format classification DB in which a class distribution for classifying a file format is stored and a maximum similarity header DB in which a maximum similarity header is stored are constructed and a video fragment file on the network is recovered through a system including an image processing unit and a central operation unit (B) analyzing a class distribution of the file format classification DB to identify a file format of the fragmented file; (C) Extracting a maximum similarity header corresponding to a file format of the fragmented file from the maximum similarity header DB and combining the extracted maximum similarity header at the end of the fragmented file; And (D) receiving and decoding the fragmented file in which the maximum similarity header is combined from the central processing unit.

본 발명은 네트워크에서 유통되는 비디오 조각파일로부터 비디오 데이터를 복구하는 방법에 대한 것으로서 본 발명이 수행되기 위해서는 다수개의 샘플파일에서 추출한 다수개의 고차원 벡터집합들로부터 파일포맷을 분류하여 클래스분포정보를 생성, 저장한 파일포맷분류DB 및 최대유사헤더가 저장된 최대유사헤더DB가 사전에 구축되어 있는 것이 바람직하다. 이는 중앙연산부 및 영상처리부를 포함하여 구성된 시스템에 구축되어 있는 것이 바람직한데, 상기 중앙연산부는 상기 파일포맷분류DB 및 최대유사헤더DB를 구축하고, 복구하고자 하는 조각파일의 복구과정에 중심축이 된다. 상기 영상처리부 또는 영상처리부는 상기 중앙연산부에서 분석하여 최대유사헤더가 조합된 조각파일의 디코딩을 담당하는 것으로서, 상기 중앙연산부와 영상처리부는 개념적, 상대적인 구분이지 물리적 구분을 의미하는 것은 아니다.
The present invention relates to a method for recovering video data from a video fragment file distributed in a network. In order to accomplish the present invention, a file format is classified from a plurality of sets of high dimensional vectors extracted from a plurality of sample files, It is preferable that a maximum similarity header DB in which the stored file format classification DB and the maximum similarity header are stored is built in advance. It is preferable that the central processing unit is constructed in a system including a central operation unit and an image processing unit. The central operation unit constructs the file format classification DB and the maximum similarity header DB and becomes a central axis in the process of restoring the fragmented file to be restored . The image processing unit or the image processing unit is responsible for decoding the fragmented file in which the maximum similarity header is combined by analyzing in the central operation unit. The central operation unit and the image processing unit are not conceptual or relative.

이러한 비디오 및 오디오 복구방법은 [도 12]의 본 발명에 따라 비디오 및 오디오를 복구하는 과정의 흐름도에서 확인할 수 있다. [도 12]를 참조하면, 입력한 한 조각 파일(1210)의 포맷 식별(1220)이 끝나면 해당되는 포맷의 최대 유사 헤더(1250)를 그 조각 파일 앞부분에 추가하여 재구성된 조각 파일을 얻게 되며, (1230), 재구성된 조각 파일을 비디오 및 오디오 디코더에 입력하여 비디오 및 오디오를 재생하는(1240) 과정을 확인할 수 있다.
Such a video and audio restoration method can be confirmed in the flowchart of the process of restoring video and audio according to the present invention of FIG. 12, when the format identification 1220 of the input piece file 1210 ends, the maximum similar header 1250 of the corresponding format is added to the beginning of the fragment file to obtain the reconstructed fragment file, (1230), and inputting the reconstructed fragment file to the video and audio decoder to reproduce video and audio (1240).

먼저 (A)단계 내지 (C) 단계는 상기 중앙연산부에서 처리되며, (D)단계는 상기 영상처리부에서 디코딩된다.First, steps (A) and (C) are performed in the central operation unit, and step (D) is decoded in the image processing unit.

먼저 (A)단계는 상기 중앙연산부가 네트워크상에서 조각파일을 수집하는 단계이다. 비트 토렌트와 같이 네트워크상에서 유통되는 비디오 조각파일은 원본에 해당하는 비디오 파일을 다수개로 분할하여 조각파일을 다수개 생성하여 각 조각파일별로 다운을 받기 때문에 다운속도가 높을 수는 있으나 조각파일 자체의 파일포맷이 식별되지 않아 헤더가 다운되기 전까지는 디코딩이 난해할 수 있다. 따라서 각각 다운받는 조각파일들의 포맷을 식별하여 디코딩하기 위한 준비를 하는 과정에 해당한다.
In step (A), the central operation unit collects fragmented files on the network. A video sculpture file distributed on the network such as a bit torrent is generated by dividing a video file corresponding to the original into a plurality of sculpture files and generating a plurality of sculpting files and downloading the sculpting files for each sculpting file. However, Decoding may be difficult until the header is down because the format is not identified. Accordingly, it is a process of preparing for decoding and identifying the format of the fragmented files to be downloaded, respectively.

(B)단계는 상기 중앙연산부가 상기 파일포맷분류DB의 클래스분포를 분석하여 상기 조각파일의 파일포맷을 식별하는 단계이다. 상기 조각파일의 디코딩을 위하여는 상기 조각파일의 파일포맷이 무엇인지를 확인할 필요가 있다. In the step (B), the central operating unit analyzes the class distribution of the file format classification DB to identify the file format of the fragmented file. In order to decode the fragmented file, it is necessary to confirm what the file format of the fragmented file is.

이를 위하여 상기 파일포맷분류DB를 적용하는데, 먼저 파일포맷분류DB에는 각 파일포맷별로 클래스가 M개 분류되어 있으며, 각기 클래스에 분류저장된 다수개의 고차원 벡터집합이 저장되어 있어, 상기 조각파일로부터 생성되는 고차원벡터집합과의 비교분석이 이루어지는 비교대상이 된다.
To this end, the file format classification DB is applied. First, M classifications are classified into file format classification DBs for each file format, and a plurality of sets of high dimensional vectors classified and stored in each class are stored. And the comparison and analysis with the high dimensional vector set is performed.

먼저 네트워크상에서 다수 존재하는 비디오 또는 오디오 파일, 즉 멀티미디어 파일의 파일포맷은 avi, mkv,mp3, RMVB 등을 통한 비디오 파일과 MP3, AAC, FLAC 등을 통한 오디오 파일의 유통이 대부분이므로 이러한 파일 포맷을 실시예로 하여 설명하도록 한다.
First, since there are many video files or audio files on the network, that is, multimedia file formats, video files through avi, mkv, mp3, RMVB, and audio files through MP3, AAC and FLAC are mostly distributed. The embodiment will be described.

[도 1]은 본 발명이 적용되는 비디오 파일 포맷 중 AVI의 구조도이다. [도 1]을 참조하면, AVI 파일은 chunk와 list 두 가지 데이터 컨테이너로 구성되었다. list는 또 다른 list거나 chunk를 포함할 수 있고 chunk는 헤더, 비디오 또는 오디오 데이터를 포함할 수 있다. RIFF AVI에는 파일 크기정보가 있고, hdrl에는 LIST hdrl의 크기정보가 있고, avih는 주로 한 프레임의 시간길이, 프레임의 총 개수, 스트림 개수, 비디오 너비 및 비디오 높이 등을 포함하고 있고, strl에는 LIST strl의 크기정보가 있다. strh의 fccType이 'vids'인 경우에는 비디오 스트림의 정보를 지정하고 'auds'인 경우에는 오디오 스트림의 정보를 지정한다. strh는 주로 코텍 아이디, 프레임 레이트, 샘플 레이트, 프레임의 시작 위치, 스트림의 길이, 스트림의 디코딩에 사용되는 품질 파라미터 및 샘플 사이즈 등을 포함하고 있다. strh가 비디오 정보를 포함하고 있을 경우에 strf는 BITMAPINFOHEADER 구조로 조성되고, 반면 strh가 오디오 정보를 포함하고 있을 경우에는 strf는 WAVEFORMATEX 구조로 조성된다.1 is a structural diagram of an AVI among video file formats to which the present invention is applied. Referring to FIG. 1, an AVI file is composed of two data containers, chunk and list. A list can contain another list or chunk, and a chunk can contain header, video, or audio data. RIFF AVI has file size information, hdrl has size information of LIST hdrl, avih mainly includes time length of one frame, total number of frames, number of streams, video width and video height, There is size information of strl. If the fccType of strh is 'vids', it specifies the information of the video stream and if it is 'auds' it specifies the information of the audio stream. strh mainly includes a codec ID, a frame rate, a sample rate, a start position of a frame, a length of a stream, a quality parameter used for decoding a stream, and a sample size. If strh contains video information, strf is composed of a BITMAPINFOHEADER structure, whereas if strh contains audio information, strf is composed of a WAVEFORMATEX structure.

BITMAPINFOHEADER 구조체는 주로 구조체 사이즈, 비트맵 너비 픽셀 수, 비트맵 높이 픽셀 수, 픽셀당 비트 수, 압축 방법 및 이미지 크기 등을 포함하고 있다. WAVEFORMATEX 구조체는 주로 오디오의 포맷 타입, 오디오 데이터에 포함되는 채널 수, 샘플 레이트, 평균 데이터 전송 레이트, 블록 얼라이먼트 및 샘플당 비트 수 등을 포함하고 있다.The BITMAPINFOHEADER structure mainly contains the structure size, the number of bitmap width pixels, the number of bitmap height pixels, the number of bits per pixel, the compression method, and the image size. The WAVEFORMATEX structure mainly includes the audio format type, the number of channels included in the audio data, the sample rate, the average data transmission rate, the block alignment, and the number of bits per sample.

LIST movi에 비디오 또는 오디오 스트림 데이터를 chunk 단위로 저장하고 idxl에는 각 chunk의 시작 위치와 길이를 저장한다. 비디오 데이터 chunk는 4 바이트 FourCC (Four Character Code) 즉 16 진수로 30 30 64 63으로 시작되고 오디오 데이터 chunk는 30 31 77 62로 시작된다. FourCC 다음 4 바이트 chunk 데이터의 사이즈가 따라온다. 어떠한 비디오 파일이든지 오디오 스트림과 비디오 스트림은 서로 교차적으로 저장된다. FourCC를 sync로 정하면 AVI 파일은 30 30 64 63 또는 30 31 77 62인 sync뒤에 4 바이트 값이 지정한 길이만큼 이동하면 그 위치에 또 sync가 있다는 sync 패턴을 가지고 있다.
LIST Stores the video or audio stream data in chunks in movi, and idxl stores the start position and length of each chunk. The video data chunk begins with 4 bytes of FourCC (Four Character Code), ie, 30 30 64 63 in hexadecimal, and the audio data chunk begins with 30 31 77 62. FourCC follows the size of the next 4-byte chunk data. In any video file, the audio and video streams are stored alternately. If you set FourCC to sync, the AVI file has a sync pattern that indicates that there is another sync at that position if the 4 bytes value after the sync, 30 30 64 63 or 30 31 77 62, is moved by the specified length.

[도 2]는 본 발명이 적용되는 비디오 파일 포맷 중 MKV의 구조도이다. [도 2]를 참조하면, MKV 파일은 Header 와 Segment 2가지 부분으로 분리될 수 있고 Segment는 또한 8개 부분으로 세분화할 수 있으므로 MKV 파일은 총 9개 부분으로 조성 되었다. Header에는 주로 EBML의 버전 정보, 파일 버전 정보, 아이디 최대 길이 및 사이즈의 최대 길이 등이 있다. Meta Seek Information는 데이터를 더욱 신속히 접근하기 위하여 기타 EMBL 원소의 ID와 위치 정보를 저장하고 있다. Segment Information에는 주로 파일을 식별하기 위한 정보 (Title, Segment unique ID 등) 및 Segment의 지속 시간이 들어있다. Tracks에는 주로 오디오 및 비디오의 코덱 정보, 비디오의 너비 및 높이, 오디오 샘플 레이트 및 채널 수 등이 들어있다. Chapters에는 모든 에디션 및 챕터 list가 들어있다. 한 에디션에는 한 세트의 챕터가 있다. 만약 챕터가 있을 경우 비디오는 한 챕터씩 재생 할 수 있다. Cueing Data에는 주로 키 프레임의 시간 및 위치 정보가 들어있다. Attachment에는 CD 커버 사진, 자막 폰트 또는 기타 첨부 파일 정보가 들어있다. Tagging에는 Tracks, Chapters 또는 앨범의 추가 정보가 들어있다. Clusters에는 오디오 및 비디오 데이터가 BlockGroup 또는 SimpleBlock 단위로 들어있다. BlockGroup의 Block과 SimpleBlock의 차이점은 키 프레임 플래그와 불필요한 프레임 플래그가 SimpleBlock에만 있고 BlockGroup의 Block에는 없다는 것이다. BlockGroup의 EBML ID는 16 진수 A0으로 시작되고 그 뒤로 사이즈가 따라오고 SimpleBlock의 EBML ID는 A3으로 시작되며 그 뒤로 사이즈가 따라온다. BlockGroup 및 SimpleBlock을 sync로 정하면 MKV 파일은 A0 또는 A3인 sync뒤 사이즈가 지정한 길이만큼 이동하였을 때 그 위치에 또 sync가 있다는 sync 패턴을 가지고 있다.
2 is a structure diagram of an MKV of a video file format to which the present invention is applied. Referring to FIG. 2, an MKV file can be divided into two parts: a header and a segment, and a segment can be further divided into eight parts, so that the MKV file has nine parts in total. Header mainly includes version information of EBML, file version information, ID maximum length and maximum length. Meta Seek Information stores the ID and location information of other EMBL elements to access data more quickly. Segment information mainly contains information for identifying a file (Title, Segment unique ID, etc.) and the duration of the segment. Tracks mainly include audio and video codec information, video width and height, audio sample rate, and number of channels. Chapters contain all editions and chapter lists. One edition has one set of chapters. If there is a chapter, the video can be played one chapter at a time. Cueing data mainly contains time and position information of key frames. Attachment contains CD cover photo, caption font, or other attachment information. Tagging contains additional information for Tracks, Chapters or Albums. Clusters contain audio and video data in BlockGroup or SimpleBlock units. The difference between Block and SimpleBlock in BlockGroup is that the keyframe flag and the unnecessary frame flag are only in SimpleBlock and not in Block of BlockGroup. The EBML ID of the BlockGroup begins with hex A0 followed by the size, the EBML ID of SimpleBlock begins with A3 followed by the size. If you set the BlockGroup and SimpleBlock to sync, the MKV file has a sync pattern where there is another sync at that position when the size of the sync after A0 or A3 moves by the specified length.

[도 3]은 본 발명이 적용되는 비디오 파일 포맷 중 MP4의 구조도이다. [도 3]을 참조하면, MP4 파일은 여러 가지 box (또는 atom) 구조로 조성되었다. ftyp는 파일의 호환성을 확인하는 파일 타입 박스이다. moov, trak, mdia, minf, stbl 등 박스는 컨테이너뿐이지 실질적인 데이터는 없다. moov는 미디어의 모든 메타 데이터 박스를 포함하는 박스이다. mvhd에는 주로 파일의 만들어진 시간, 수정된 시간 및 지속 시간 등이 들어있다. Trak은 특정 미디어, 즉 오디오 또는 비디오의 모든 메타 정보 박스를 포함한다. tkhd에는 주로 track의 만들어진 시간, 수정된 시간 및 지속 시간이 들어있다. mdhd에도 주로 미디어가 만들어진 시간, 수정된 시간 등이 들어있다. hdlr는 trak의 유형을 지정한다. stsd에는 트랙의 디코딩에 필요한 코덱의 정보가 들어있고, stts에는 샘플의 시간 정보가 들어있고, stsc에는 각 chunk 내 샘플의 개수가 들어있고, stsz에는 각 chunk 내 샘플의 크기가 들어있고, stss에는 키 프레임 샘플 번호가 들어있고, stco에는 각 chunk의 위치 정보가 들어있다. mdat는 실제 미디어 데이터를 샘플 단위로 저장하는 데이터 박스이다. 비디오 데이터 샘플은 4 바이트의 사이즈로 시작되고 그 다음 2 바이트를 sync라고 정하였다. 통계적 방법으로 자주 나타나는 sync 값 11개를 획득하였다. 오디오 데이터 샘플은 16 진수로 21로 시작하므로 이것도 sync로 정하였다. 그러므로 MP4 파일은 11개의 비디오 샘플 sync 전 4 바이트 값이 지정한 길이만큼 이동하면 그 위치에 12개 sync 중 한 sync는 있다는 sync 패턴을 가지고 있다.
3 is a structural diagram of MP4 among video file formats to which the present invention is applied. Referring to FIG. 3, an MP4 file has been formed in various box (or atom) structures. ftyp is a file type box that verifies file compatibility. moov, trak, mdia, minf, stbl etc. Boxes are containers only, but there is no actual data. moov is a box that contains all the metadata boxes for the media. mvhd usually contains the time the file was created, the time it was modified, and the duration. Trak contains all the meta information boxes of a particular media, audio or video. tkhd mainly contains the time, modified time and duration of the track. mdhd also contains the time that media was created, the time it was modified, and so on. hdlr specifies the type of trak. stsd contains the codec information needed to decode the track, stts contains the time information of the samples, stsc contains the number of samples in each chunk, stsz contains the size of the samples in each chunk, stss contains It contains the key frame sample number, and stco contains the location information of each chunk. mdat is a data box that stores actual media data in units of samples. The video data samples start with a size of 4 bytes and the next two bytes are set to sync. We obtained 11 sync values which appeared frequently in statistical methods. Since the audio data samples start with 21 in hexadecimal, this is also set to sync. Therefore, the MP4 file has a sync pattern that if one of the 11 video samples sync has a 4-byte value moved by the specified length, there will be one of 12 sync at that position.

[도 4]는 본 발명이 적용되는 비디오 파일 포맷 중 RMVB의 구조도이다. [도 4]를 참조하면, RMVB 파일은 RMF, PROP, MDPR, CONT, DATA 및 INDX 등 6가지 chunk로 구성되었다. RMF chunk는 주로 헤더의 개수를 지정하고 PROP chunk는 비트 레이트, 데이터 패킷 사이즈, 데이터 패킷 개수, 파일의 지속시간, 첫 번째 INDX chunk의 시작 지점, 첫 번째 DATA chunk의 시작 지점 및 스트림의 개수 등을 포함하고 MDPR chunk는 주로 스트림의 시작 시간, 스트림의 지속 시간, 코덱 정보, 프레임 사이즈, 샘플 레이트, 샘플사이즈 등을 포함하고 CONT chunk는 타이틀, 저자, 저작권 등 정보를 포함하고 있고 DATA chunk는 비디오 또는 오디오 데이터를 저장하고 INDX chunk는 스트림 넘버, 다음 INDX chunk의 위치, 패킷의 시작점 등을 포함한다. 모든 데이터 패킷은 2 바이트 패킷 버전으로 시작하고 그 뒤로 2 바이트 패킷 사이즈가 따라온다. 패킷 버전은 16 진수로 00 00 또는 00 01 두 가지 있다. 이러한 패킷 버전을 sync로 정하면 RMVB 파일은 다음과 같은 sync 패턴을 가지고 있다. 즉, 00 00 또는 00 01인 sync뒤에 2 바이트 값이 지정한 길이만큼 이동하면 그 위치에 또 sync가 있다는 것이다.
4 is a structural view of RMVB in a video file format to which the present invention is applied. Referring to FIG. 4, the RMVB file is composed of six chunks including RMF, PROP, MDPR, CONT, DATA, and INDX. The RMF chunk usually specifies the number of headers, and the PROP chunk contains the bit rate, the data packet size, the number of data packets, the duration of the file, the beginning of the first INDX chunk, the beginning of the first DATA chunk, And the MDPR chunk mainly includes the start time of the stream, the duration of the stream, the codec information, the frame size, the sample rate, and the sample size. The CONT chunk includes the title, The audio data is stored, and the INDX chunk includes the stream number, the position of the next INDX chunk, and the start point of the packet. All data packets start with a 2-byte packet version followed by a 2-byte packet size. There are two packet versions, 00 00 or 00 01 in hexadecimal. If you set this packet version to sync, the RMVB file has the following sync pattern. That is, if a 2 byte value after the sync of 00 00 or 00 01 is moved by the specified length, there is another sync at that position.

다음 네트워크상에서 다수 존재하는 오디오 파일의 파일포맷은 MP3, AAC, FLAC 등을 통한 오디오 파일의 유통이 대부분이므로 이러한 3개 파일 포맷에 대하여 설명하도록 한다.
The file formats of audio files existing on the following network are mostly the distribution of audio files through MP3, AAC, FLAC, etc. Therefore, these three file formats will be described.

[도 5]는 본 발명이 적용되는 MP3 파일의 프레임 헤더 내 각 파라미터의 구조도이다. [도 5]를 참조하면, 프레임 헤더는 12개 동기화 비트, 버전 아이디, 레이어, CRC 보호 비트, 비트 레이트, 주파수, 패딩 비트, 프라이빗 비트, 채널 모드, 확장 모드, 저작권 보호 비트, 원본 비트 및 엠퍼시스 비트 등으로 구성된다. 그 중 버전 아이디, 레이어, 비트 레이트, 주파수, 패딩 비트, 채널 모드 등 6개만 오디오 데이터 복구에 필요한 주요 파라미터들이다. MP3 프레임의 길이는 비트 레이트, 주파수, 패딩 비트 3가지 파라미터를 이용하여 다음과 같이 계산한다.5 is a structural diagram of each parameter in a frame header of an MP3 file to which the present invention is applied. Referring to FIG. 5, a frame header includes 12 sync bits, a version ID, a layer, a CRC protection bit, a bit rate, a frequency, a padding bit, a private bit, a channel mode, And the like. Among them, version ID, layer, bit rate, frequency, padding bit, and channel mode are the only six parameters necessary for audio data recovery. The length of the MP3 frame is calculated using the following three parameters: bit rate, frequency, and padding bit.

Figure pat00001

Figure pat00001

그러므로 12개 동기화 비트 111111111111를 sync로 정하면 MP3 파일은 다음과 같은 sync 패턴을 가지고 있다. 즉, 111111111111 뒤에 비트 레이트, 주파수, 패딩 비트가 대응되는 위치에서 수치를 추출하여 상기 공식에 대입하여 프레임 길이를 구한 후 그 길이만큼 이동하면 그 위치에 또 sync가 있다는 것이다.
Therefore, when 12 sync bits 111111111111 are set to sync, an MP3 file has the following sync pattern. That is, if a value is extracted at a position corresponding to a bit rate, a frequency, and a padding bit after 111111111111, the frame length is calculated by substituting the value into the formula, and if the length is shifted by that length, there is another sync at that position.

[도 6]은 본 발명이 적용되는 AAC 파일의 프레임 헤더 내 각 파라미터의 구조도이다. AAC 파일의 프레임 헤더는 ADTS(Audio Data Transport Stream) 구조로 되였다. [도 6]을 참조하면, 프레임 헤더는 12개 동기화 비트, 버전 아이디, 레이어, CRC 보호 비트, 프로파일, 샘플링 주파수, 프라이빗 비트, 채널, 원본 비트, 홈, 저작권 보호 비트, 프레임 길이, 버퍼 풀니스, AAC 프레임 개수, CRC 등으로 구성된다.6 is a structural diagram of each parameter in a frame header of an AAC file to which the present invention is applied. The frame header of the AAC file has an ADTS (Audio Data Transport Stream) structure. 6, the frame header includes 12 synchronization bits, a version ID, a layer, a CRC protection bit, a profile, a sampling frequency, a private bit, a channel, an original bit, a home, a copyright protection bit, , Number of AAC frames, and CRC.

그러므로 12개 동기화 비트 111111111111를 sync로 정하면 AAC 파일은 다음과 같은 sync 패턴을 가지고 있다. 즉, 111111111111 뒤 프레임 길이 파라미터가 차지하는 곳에서 수치를 추출한 후 그 길이만큼 이동하면 그 위치에 또 sync가 있다는 것이다.
Therefore, when 12 sync bits 111111111111 are set to sync, the AAC file has the following sync pattern. In other words, if you extract a number where 111111111111 back frame length parameter is occupied and then move that length, there is another sync at that position.

[도 7]는 본 발명이 적용되는 FLAC 파일의 구조도이다. [도 7]를 참조하면, FLAC 파일스트림은 fLaC로 시작하고 뒤이어 하나 이상의 메타데이타 블록 및 하나 이상의 프레임들이 있다. 메타데이타 블록은 헤더와 데이타를 포함한다. 메타데이타 블록 헤더 뒤에는 메타데이타 블록 번호가 있으며 그 번호에 대응되는 메타데이타 블록이 붙는다. 메타데이타 블록 내의 정보로는 최소 또는 최대 블록 사이즈, 최소 또는 최대 프레임 사이즈, 샘플 레이트, 채널 수, 비트당 샘플수, 스트림에서의 총 샘플수, MD5 신호등 등이 있다. 프레임에는 프레임 헤더, 서브 프레임 및 프레임 풋터가 포함된다. 프레임 헤더는 동기화 비트 '11111111111110'으로 시작하고 샘플레이트 와 채널수 등 가장 기본적인 정보를 갖고 있다. FLAC 파일은 프레임 사이즈 정보를 따로 저장하지 않으므로 헤더 속의 모든 파라미터와 오디오 데이터를 디코딩하며 뒤로 이동하는 방법으로 한 프레임 끝 부분으로 이동한다. 7 is a structural diagram of a FLAC file to which the present invention is applied. Referring to FIG. 7, the FLAC file stream begins with fLaC followed by one or more metadata blocks and one or more frames. The metadata block contains the header and the data. The metadata block header is followed by a metadata block number, followed by the corresponding metadata block. The information in the metadata block includes the minimum or maximum block size, the minimum or maximum frame size, the sample rate, the number of channels, the number of samples per bit, the total number of samples in the stream, and the MD5 signal. The frame includes a frame header, a sub-frame, and a frame footer. The frame header starts with the synchronization bit '11111111111110' and has the most basic information such as the sample rate and the number of channels. Since the FLAC file does not store frame size information separately, it moves to the end of one frame by decoding all parameters and audio data in the header and moving backward.

그러므로 14개 동기화 비트 11111111111110을 sync로 정하면 FLAC 파일은 다음과 같은 sync 패턴을 가지고 있다. 즉, 11111111111110 뒤부터 파라미터와 오디오 데이터를 디코딩하며 프레임 끝 부분에 도착하였을 때 그 다음 위치에 sync가 존재 한다는 것이다.
Therefore, if you set 14 sync bits 11111111111110 to sync, the FLAC file has the following sync pattern. That is, it decodes parameters and audio data after 11111111111110, and when arriving at the end of the frame, there is a sync at the next position.

상기 4가지의 비디오 파일포맷과 3가지의 오디오 파일포맷의 실시예를 중심으로 본 발명에 의한 파일포맷분류DB의 구축방법을 살펴보면 다음과 같다.
A method of constructing the file format classification DB according to the present invention will be described with reference to the embodiments of the four video file formats and three audio file formats.

(1)단계는 네트워크상에서 수집된 N개 비디오 또는 오디오 샘플파일에서 헤더(header) 및 테일(tail)을 제외한 범위의 데이터에서 랜덤하게 길이가 L1인 데이터를 잘라내어 N개의 데이터를 생성하는 단계이다. 일반적으로 헤더와 테일은 다수개로 분할된 샘플파일 중에서 다운확률이 낮기 때문에 헤더와 테일을 제외하는 것이 일반데이터가 저장된 조각파일로부터 복구할 수 있는 방법을 개발하고자 하는 취지에 부합한다.The step (1) is a step of generating N data by cutting out data having a length L 1 randomly in a range of data excluding a header and a tail in N video or audio sample files collected on the network . Generally, since header and tail are low in probability of dropping out of a plurality of sample files, excluding the header and tail is suitable for recovering a fragmented file in which general data is stored.

즉, 비트토렌트와 같은 다운로드 어플리케이션은 조각 파일을 랜덤한 순서로 전송하기 때문에 조각 파일 수의 대부분을 차지하는 비디오 또는 오디오 스트림 조각 파일을 먼저 받는 확률이 높으므로 헤더와 테일을 제외한 데이터에서 특징점을 추출하는 것이다. 또한 헤더와 테일의 정보를 이용하여 파일 포맷을 식별하는 방법은 이미 보편화 되었고 비트토렌트에서 유통되는 조각 파일의 원본 파일 포맷을 식별하는데 있어서 효율적이지도 못하므로 본 발명에서는 스트림 데이터를 이용한 패턴 분류 및 식별 방법을 제안하였다.
In other words, downloading applications such as bit-torrents transmit fragmented files in a random order, and therefore the probability of receiving a video or audio stream fragment file, which occupies most of the fragmented files, is high. Therefore, feature points are extracted from data except for the header and tail will be. In addition, since the method of identifying the file format using the information of the header and the tail is already common, and it is not efficient in identifying the original file format of the fragmented file distributed in the bittorrent, Method.

(2)단계는 잘라낸 각 데이터를 sync패턴 카운팅 프로시져에 따라 파일포맷별로 sync패턴 카운터값을 생성하는 단계이다.Step (2) is a step of generating a sync pattern counter value for each file format according to a sync pattern counting procedure for each cut-out data.

[도 8]은 본 발명에 따라 sync 패턴 카운팅 프로시져의 흐름도이다. [도 8]을 참조하면, 우선 한 조각 파일의 데이터를 받아들이고(810) 각 파일 포맷에 대응되는 sync 값을 초기화 한다(820). 예를 들면 포맷이 RMVB인 경우에 sync는 00 00 또는 00 01이고 AVI인 경우에 sync는 30 30 64 63 또는 30 31 77 62 이다. sync가 나타난 모든 위치를 검색하여 offset 변수에 저장한다(830). 각 offset 변수에서 사이즈 정보가 지정한 길이만큼 이동(840)한 후 piece 끝 부분에 도달 하였는가를 판단(850)하고 그 위치에 sync가 존재하는지를 판단한다(860). 조각 파일에서 각 파일 포맷에 대응되는 sync가 나타난 차수를 sync_counter에 기록하는 방법(870)으로 본 조각 파일에 들어있는 각 파일 포맷의 특징 분량을 계산한다. 만약 M가지 파일 포맷에 적용시키면 M개의 sync패턴의 카운터값이 출력된다(880).
8 is a flowchart of a sync pattern counting procedure according to the present invention. Referring to FIG. 8, data of a fragmented file is received (810) and a sync value corresponding to each file format is initialized (820). For example, if the format is RMVB, the sync is 00 00 or 00 01, and in the case of AVI the sync is 30 30 64 63 or 30 31 77 62. All positions where sync appears are retrieved and stored in the offset variable (830). In each offset variable, the size information is moved 840 by a designated length and then it is determined 850 whether the piece reaches the end of the piece, and it is determined whether there is a sync at the position 860. The feature quantity of each file format included in the fragment file is calculated by a method (870) of recording the order in which the sync corresponding to each file format in the fragment file is recorded in the sync_counter. If applied to M file formats, M sync pattern counter values are output (880).

(3)단계는 파일포맷별로 생성된 각 데이터의 sync패턴 카운터값을 조합하여 고차원 벡터집합을 구성하는 단계이다.Step (3) is a step of constructing a high dimensional vector set by combining sync pattern counter values of each data generated for each file format.

네트워크상에서 유통되는 비디오 및 오디오 조각 파일의 파일포맷을 더욱 효율적이면서 신속히 식별하기 위하여, 데이터베이스에 각 파일 포맷의 패턴을 분류한 결과를 미리 저장한다. [도 9]는 본 발명에 따라 파일포맷분류DB를 구축하는 과정의 흐름도이다. [도 9]를 참조하면, 우선 N개의 비디오 및 오디오 파일로 구성된 샘플 스페이스(910)에서 각 샘플의 헤더와 테일을 잘라버린다(920). 비트토렌트와 같은 다운로드 어플리케이션은 조각 파일을 랜덤한 순서로 전송하기 때문에 조각 파일 수의 대부분을 차지하는 비디오 및 오디오 스트림 조각 파일을 먼저 받는 확률이 높으므로 헤더와 테일을 제외한 데이터에서 특징점을 추출하는 것이다. 또한 헤더와 테일의 정보를 이용하여 파일 포맷을 식별하는 방법은 이미 보편화 되었고 비트토렌트에서 유통되는 조각 파일의 원본 파일 포맷을 식별하는데 있어서 효율적이지도 못하다. In order to more efficiently and quickly identify the file format of the video and audio fragmented files distributed on the network, the result of classifying the pattern of each file format in the database is stored in advance. FIG. 9 is a flowchart of a process of building a file format classification DB according to the present invention. Referring to FIG. 9, a header and a tail of each sample are first cut 920 in a sample space 910 composed of N video and audio files. Downloading applications such as BitTorrent send fragments in random order, so extracting feature points from data excluding header and tail is more likely to receive video and audio stream fragments that occupy most of the number of fragments. In addition, the method of identifying the file format using the information of the header and the tail is already common, and it is not effective in identifying the original file format of the fragmented file distributed in the bittorrent.

비디오 조각 파일 사이즈는 일반적으로 256KB에서 4MB 사이에 있고 LI=1MB인 조각 파일 사이즈 이용 확률이 제일 높으므로 스트림 데이터에서 램덤하게 1MB를 잘라내고 오디오 조각 파일 사이즈는 일반적으로 128KB에서 1MB 사이에 있고 LI=256KB인 조각 파일 사이즈 이용 확률이 제일 높으므로 스트림 데이터에서 램덤하게 256KB를 잘라낸다(930). 다음 잘라낸 데이터에 각 포맷 sync 패턴 카운팅 프로시져(940)를 실행시켜 M개 포맷에 대응되는 sync 패턴 카운터값을 구하고 이 카운터들을 조합하여 M차원 벡터, 즉 고차원 벡터집합을 구성한다(950).
Video fragment size is typically in 256KB and between 4MB L I = 1MB of pieces, because the file size using the probability of the best high-cut, 1MB be random in the stream of data is between the audio fragment size is typically 1MB from 128KB L Since the probability of using the fragmented file size with I = 256 KB is highest, the stream data is randomly truncated 256 KB (930). In the next cut data, each format sync pattern counting procedure 940 is executed to obtain a sync pattern counter value corresponding to M formats, and these counters are combined to construct an M-dimensional vector, that is, a high dimensional vector set (950).

(4)단계는 생성된 N개의 고차원 벡터집합들을 군집 알고리즘 또는 SVM(Support Vector Machine)을 이용하여 M개의 파일포맷별로 분류하여 M개의 클래스분포를 상기 파일포맷분류DB에 저장하는 단계이다.In step (4), the generated N high-dimensional vector sets are classified into M file formats using a cluster algorithm or SVM (Support Vector Machine), and M class distributions are stored in the file format classification DB.

상기 군집 알고리즘은 비디오 파일에 적용되고 SVM은 오디오 파일에 적용될 수 있다. SVM은 그룹의 경계에 있는 데이터에 촛점을 맞추는 판별분석방법으로 통상적인 이론이므로 그 설명을 생략한다.The clustering algorithm may be applied to a video file and the SVM may be applied to an audio file. The SVM is a conventional discriminant analysis method that focuses on the data at the boundary of the group, so its explanation is omitted.

특히 상기 군집 알고리즘은 최적화한 판별 서브스페이스 클러스터링(Optimized Discriminative Subspace Clustering,ODiSC) 알고리즘에 의해 클래스를 분류하는 것을 일 특징으로 할 수 있다.Particularly, the clustering algorithm can classify the classes by Optimized Discriminative Subspace Clustering (ODiSC) algorithm.

보통 고차원 벡터집합만을 보고 어느 포맷에 해당하는지를 판단하기에는 정확도가 낮은 경우가 많다. 그 예로 4개의 포맷을 분석하는 경우(즉 M=4), 한 MP4 조각 파일을 분석 해봤더니 AVI sync 카운터는 10, RMVB sync 카운터는 10, MP4 sync 카운터는 15, MKV sync 카운터는 15면 벡터는 v=(10, 10, 15, 15)일 수 있다. 마찬가지로 두 번째 MP4 조각 파일을 분석 해봤더니 v=(5, 15, 15, 20)라는 결과가 나타나는 경우, 벡터의 수치만 봐서 어느 포맷에 속한다고 결정하기에는 정확하지 않으므로 많은 조각 파일 모집한 것을 ODiSC 알고리즘 등을 이용하여 분류하게 된다. In general, it is often not accurate enough to judge which format corresponds to a high-dimensional vector set only. For example, when analyzing four formats (ie M = 4), we analyzed one MP4 fragment file. The AVI sync counter is 10, the RMVB sync counter is 10, the MP4 sync counter is 15 and the MKV sync counter is 15. v = (10, 10, 15, 15). Likewise, when analyzing the second MP4 fragment file, if the result v = (5, 15, 15, 20) is found, it is not accurate to decide which format belongs to only the vector number. And so on.

[참고도 1][Reference Figure 1]

Figure pat00002
Figure pat00002

상기 [참고도 1]은 삼각형, 사각형, 원은 세 가지 포맷에 대한 벡터를 그림으로 표시한 것이다. X는 임의로 인터넷에서 다운 받은, 포맷을 모르는 조각 파일을 의미하며, X와 각 벡터사이 거리를 계산해봐서 제일 가까운 포맷에 속한다고 식별하는 것이 본 발명의 조각파일 식별방법의 내용이다. 이 때 사실 X는 사각형과 같은 포맷인데 [참고도 1]에서는 삼각형과 같은 포맷이라고 오인식할 가능성이 높다. In [Reference figure 1] above, triangles, squares, circles represent vectors for three formats. X is a sculpted file that is downloaded from the Internet and does not know the format. The distance between X and each vector is calculated to identify that it belongs to the nearest format. In fact, X is the same format as a rectangle, but in [Reference Figure 1], it is likely to be mistaken for a format such as a triangle.

따라서 아래의 [참고도 2]와 같이 다수개의 샘플조각파일에 대한 고차원 벡터집합들을 생성하여 둔다. Therefore, high dimensional vector sets for a plurality of sample fragment files are generated as shown in [Reference Figure 2] below.

[참고도 2][Reference Figure 2]

Figure pat00003

Figure pat00003

[참고도 3][Reference Figure 3]

Figure pat00004
Figure pat00004

[참고도 3]은 [참고도 2]와 같이 생성된 다수개의 고차원 벡터집합들을 ODiSC 군집 알고리즘을 이용하여 분류한 결과이다.
[Reference Figure 3] is a result of classifying a plurality of sets of high dimensional vectors generated as shown in [Reference Figure 2] using the ODiSC cluster algorithm.

상기 최적화한 판별 서브스페이스 클러스터링 (Optimized Discriminative Subspace Clustering, ODiSC)은 N개 M차원 벡터들을 군집하여 M개 클래스로 분류하는 것으로서(960), ODiSC는 기존의 DiSC를 비디오 sync 패턴 특성에 맞게 개선하고 진화 알고리즘을 이용하여 더욱 최적화한 군집 알고리즘이다. 분류된 클래스분포정보를 상기 파일포맷분류DB에 저장하여(970) 나중에 비트토렌트 클라이언트에서 다운로드한 조각 파일의 원본 파일 포맷을 식별하는데 사용된다.The Optimized Discriminative Subspace Clustering (ODiSC) classifies N M-dimensional vectors into M classes (960). The ODiSC improves existing DiSCs according to the video sync pattern characteristics, It is a cluster algorithm that is further optimized by using the algorithm. Classified class distribution information is stored in the file format classification DB (970) and used to identify the original file format of the fragmented file downloaded later from the bit torrent client.

[참고도 4][Reference Figure 4]

Figure pat00005
Figure pat00005

[참고도 4]의 빨간 색으로 된 삼각형, 사각형, 원은 무게중심입니다. X는 임의로 인터넷에서 다운 받은, 포맷을 모르는 조각 파일이라면 그것과 각 무게 중심사이 거리를 계산, 즉 KNN을 이용하여 거리를 계산하여 제일 가까운 거리의 클래스분포정보의 포맷에 속한다고 식별하게 된다.
The red triangles, squares, circles in [Figure 4] are the center of gravity. If X is a sculpture file that is downloaded from the Internet and is unknown to the format, X calculates the distance between it and each center of gravity, that is, calculates the distance using KNN and identifies it as belonging to the format of class distribution information of the nearest distance.

상기 (B)단계에서 상기와 같이 구축된 파일포맷분류DB와 비교분석하여 파일포맷을 식별하는 방법은 아래와 같다.
A method of identifying a file format by comparing and analyzing with the file format classification DB constructed as described above in the step (B) is as follows.

(B-1)단계는 상기 조각 파일에 들어있는 sync패턴 카운터값을 sync패턴 카운터 프로시져를 통하여 생성하는 단계이며, (B-2)단계는 각 포맷에 대응되는 sync패턴 카운터값으로부터 고차원 벡터 집합을 구성하는 단계이다. In step (B-1), a sync pattern counter value included in the fragment file is generated through a sync pattern counter procedure. In step (B-2), a high-dimensional vector set is obtained from a sync pattern counter value corresponding to each format Respectively.

[도 10]은 본 발명에 따라 비디오 및 오디오 조각 파일의 포맷을 식별하는 과정의 흐름도이다. [도 10]을 참조하면, 비트토렌트(BT)에서 유통되는 비디오 및 오디오 조각 파일이 다운되면(1010) 비디오 및 오디오 파일 포맷 분류 프로시져와 마찬가지로 각 포맷 sync 패턴 카운팅 프로시져(1020)를 실행시켜 M개 포맷에 대응되는 sync패턴카운터값을 구하고 이 카운터값들을 조합하여 M차원 벡터를 구성한다(1030). sync카운터값을 sc라하고 고차원 벡터의 차원 수가 M차원이라면 고차원 벡터v는 다음과 같이 표현 할 수 있다.10 is a flowchart of a process of identifying a format of video and audio fragmented files according to the present invention. 10, when the video and audio fragmented files distributed in the bit torrent BT are down (1010), the format sync pattern counting procedure 1020 is executed in the same manner as the video and audio file format classification procedure, A sync pattern counter value corresponding to the format is obtained, and an M-dimensional vector is formed by combining these counter values (1030). If the sync counter value is sc and the number of dimensions of the high dimensional vector is M dimensions, then the high dimensional vector v can be expressed as:

Figure pat00006

Figure pat00006

(B-3)단계는 상기 조각파일의 사이즈를 LI인 데이터로 맞추기 위하여 상기 고차원 벡터집합에 벡터 정규화(vector normalization)를 수행하는 단계이다.(B-3) is a step of performing vector normalization on the set of higher dimensional vectors to fit the size of the fragment file to data of L I.

다운한 비디오 조각 파일 사이즈는 256KB에서 4MB 사이에 있고 오디오 조각 파일 사이즈는 128KB에서 1MB 사이에 있으므로 초기에 분류할 때 정의한 조각 파일 사이즈 LI에 맞추기 위하여 M차원 벡터를 정규화 한다(1040).
Since the size of the downloaded video fragment file is between 256 KB and 4 MB and the audio fragment file size is between 128 KB and 1 MB, the M dimension vector is normalized (1040) in order to match the fragment file size L I defined at the time of classification at the beginning.

(B-4)단계는 상기 벡터정규화에 의하여 축소된 고차원 벡터집합과 파일포맷분류DB의 클래스 사이의 최소 유클리디안 거리를 측정하는 방법(K-Nearest Neighbor, KNN)으로 비교하여 상기 조각파일의 포맷을 식별하는 단계이다.(B-4) is a method of comparing the KNN with a K-Nearest Neighbor (KNN) method of measuring a minimum euclidean distance between a set of a high-dimensional vector reduced by the vector normalization and a class of a file format classification DB, .

두 벡터사이 유클리디안 거리 dist를 측정하는 방법은 다음과 같다.The method for measuring the Euclidian distance dist between two vectors is as follows.

Figure pat00007
Figure pat00007

Figure pat00009

Figure pat00009

이와 같이 K개 최근접 이웃 (K-Nearest Neighbor, KNN) 기법을 이용하여 데이터베이스에 저장한 클래스 분포정보(1070)에서 본 조각파일에 대한 고차원벡터집합과 가장 가까운 거리의 클래스를 찾게 되면(1050), 그 클래스와 대응되는 포맷을 식별된 비디오 또는 오디오 파일 포맷으로 식별된 것으로 판단하게 된다(1060).
When a class closest to the set of high dimensional vectors of the fragmented file is found in class distribution information 1070 stored in the database using K nearest neighbor (KNN) technique in operation 1050, It determines that the format corresponding to the class is identified in the identified video or audio file format (1060).

상기 조각파일이 상기의 단계에 의하여 상기 파일포맷분류DB의 고차원벡터집합에 대응되는 클래스분포정보를 추출하여 포맷을 식별하게 되면, 상기 조각파일의 파일포맷에 해당하는 헤더를 조합하는 과정이 다음의 (C) 단계에서 이루어지게 된다.
The step of extracting the class distribution information corresponding to the high dimensional vector set of the file format classification DB and identifying the format by the step of combining the header corresponding to the file format of the fragmented file, (C).

(C)단계는 상기 중앙연산부가 상기 조각파일의 파일포맷에 해당하는 최대유사헤더를 상기 최대유사헤더DB에서 추출하여 상기 조각파일의 선단에 조합하는 단계이다.
In step (C), the central operation unit extracts a maximum similar header corresponding to the file format of the fragmented file from the maximum similarity header DB, and combines the maximum similarity header at the end of the fragmented file.

특히 상기 최대유사헤더는 상기 최대유사헤더DB에 저장되어 있는 바, 상기 최대유사헤더DB의 구축방법은 다음과 같은 순서에 의한다.
In particular, the maximum similarity header is stored in the maximum similarity header DB, and the method of constructing the maximum similarity header DB is as follows.

(ㄱ)단계는 네트워크에서 유통되는 비디오 또는 오디오 파일 헤더들을 수집하는 단계이다.Step (a) is a step of collecting video or audio file headers distributed in the network.

[도 11]은 본 발명에 따라 최대 유사 헤더를 구성하는 과정의 흐름도이다. [도 11]을 참조하면, 우선 네트워크상에서 유통되는 비디오 및 오디오 파일들의 헤더들을 모집한다(1110). 통계적 방법으로 헤더 속의 비디오 및 오디오 속성이(1120) 나타나는 확률을 계산하고(1130) 확률의 크기순서에 따라 헤더들을 재배열한다(1140).
11 is a flowchart of a process of configuring a maximum similarity header according to the present invention. Referring to FIG. 11, first, headers of video and audio files distributed on a network are collected (1110). The probability that the video and audio attributes 1120 appear in the header 1120 in the statistical method is calculated 1130 and the headers are rearranged according to the magnitude order of the probability 1140.

(ㄴ)단계는 상기 헤더에서 비디오 또는 오디오 속성이 나타나는 확률을 통계적 방법으로 계산하여 확률값에 따라 헤더를 재배열하는 단계이다.The step (b) is a step of calculating the probability of a video or audio attribute appearing in the header by a statistical method and rearranging the header according to the probability value.

헤더 속의 비디오 및 오디오 속성이 나타나는 확률을 계산하는 통계적 방법은 다음과 같다. 헤더 속에는 여러 가지 파라미터가 있는데, S개 헤더를 모집하고 파리미터 Frame Rate=α 인 헤더의 개수를 FRα라면 이러한 헤더가 차지하는 확률은

Figure pat00010
이다. 마찬가지로 Frame Rate=β 인 헤더의 확률은
Figure pat00011
이며, 가령 S개 헤더들의 Frame Rate가 α,β,γ 등 세 가지 값을 갖고 있으며 그 중 확률
Figure pat00012
가 가장 높으면 Frame Rate=γ인 헤더들을 선택하도록 하여 해당 헤더가 배열의 앞부분으로 이동하도록 한다. 이후 다음에 선택된 헤더 중 파라미터 Stream Length(AVI 포맷인 경우)가 α,β,γ 등 세 가지 값을 갖고 있으며 그 중 확률
Figure pat00013
가 가장 높으면 Stream Length=γ인 헤더들을 선택하여 배열의 앞부분으로 이동한다. The statistical method for calculating the probability that video and audio attributes appear in the header is as follows. There are several parameters in the header. If the number of headers with a parameter of Frame Rate = α is FR α , the probability that these headers occupy is
Figure pat00010
to be. Similarly, the probability of a header with Frame Rate =
Figure pat00011
For example, if Frame Rate of S headers has three values such as α, β, γ,
Figure pat00012
The header having the highest Frame Rate =? Is selected so that the corresponding header moves to the beginning of the array. Then, parameter stream length (in case of AVI format) of the next selected header has three values such as α, β and γ,
Figure pat00013
The headers having Stream Length = y are selected and moved to the beginning of the array.

이러한 방법으로 또 다른 파라미터들의 확률을 계산하여 마지막 남은 헤더가 가장 높은 확률을 갖는 헤더인 최대유사헤더가 된다.
In this way, the probability of another parameter is calculated, and the last remaining header becomes the maximum similar header, which is the header having the highest probability.

(ㄷ)단계는 가장 높은 확률값을 갖는 헤더를 최대유사헤더로 상기 최대유사헤더DB에 저장하는 단계인 바, 상기의 방법으로 추출된 최대유사헤더는 상기 최대유사헤더DB에 저장된다.
In the step (c), the header having the highest probability value is stored in the maximum similarity header DB as the maximum similarity header, and the maximum similarity header extracted by the above method is stored in the maximum similarity header DB.

예로 들면, 비디오 속성인 프레임 레이트(Frame Rate)가 24인 값을 가진 헤더가 가장 많으므로 배열의 앞부분에 위치하고, 프레임 레이트(Frame Rate)가 30인 헤더가 적으므로 배열의 뒤 부분에 위치하게 되며 이를 반복하여 확률값이 가장 높은 헤더를 최대 유사 헤더로 결정한다. M가지 비디오 또는 오디오 파일 포맷을 모집하면 M개 최대 유사 헤더들을 얻을 수 있다. 이러한 최대유사 헤더들을 최대유사헤더DB에 저장한다(1150).
For example, since a header having a video attribute of a frame rate of 24 is the most common, it is positioned at the rear of the array because the headers are located at the beginning of the array and have a frame rate of 30 This is repeated to determine the header with the highest probability as the maximum similar header. When M types of video or audio file formats are recruited, M maximum similar headers can be obtained. The maximum similarity headers are stored in the maximum similarity header DB (1150).

(D)단계는 상기 영상처리부 또는 음성처리부가 상기 최대유사헤더가 조합된 조각파일을 디코딩하는 단계이다. 상기 최대유사헤더가 조합된 조각파일을 디코딩하였을 때 본 발명에 의한 비디오 및 오디오 복구방법의 디코딩 정확도가 향상되는 효과가 있다. In the step (D), the image processing unit or the audio processing unit decodes the fragmented file in which the maximum similarity header is combined. And decoding accuracy of the video and audio restoration method according to the present invention is improved when the fragmented file in which the maximum similarity header is combined is decoded.

이러한 비디오 및 오디오 복구방법은 [도 12]의 본 발명에 따라 비디오 및 오디오를 복구하는 과정의 흐름도에서 확인할 수 있다. [도 12]를 참조하면, 입력한 한 조각 파일(1210)의 포맷 식별(1220)이 끝나면 해당되는 포맷의 최대 유사 헤더(1250)를 그 조각 파일 앞부분에 추가하여 재구성된 조각 파일을 얻는다(1230). 다음 재구성된 조각 파일을 비디오 및 오디오 디코더에 입력하여 비디오 및 오디오를 재생한다(1240).
Such a video and audio restoration method can be confirmed in the flowchart of the process of restoring video and audio according to the present invention of FIG. 12, when the format identification 1220 of the input piece file 1210 ends, the maximum similarity header 1250 of the corresponding format is added to the beginning of the fragment file to obtain the reconstructed fragment file 1230 ). The next reconstructed fragment file is input to the video and audio decoder to reproduce video and audio (1240).

이상에서 본 발명에 따른 멀티미디어 조각파일 복구방법의 구체적인 실시예와 함께 살펴보았다. 그러나 상기의 실시예 이외에도 본 발명과 균등한 범위에 속하는 수정 및 변형이 가능하다. 따라서 본 발명의 청구범위는 이 건 발명의 진정한 범위 내에 속하는 수정 및 변형을 포함한다.
Hereinafter, a multimedia fragment file recovery method according to the present invention will be described in conjunction with a specific embodiment. However, modifications and variations falling within the scope of the present invention are possible in addition to the above embodiments. Accordingly, the claims of the present invention include modifications and variations that fall within the true scope of the present invention.

없음none

Claims (5)

파일포맷을 분류하는 클래스분포가 저장된 파일포맷분류DB 및 최대유사헤더가 저장된 최대유사헤더DB가 구축되어 있으며, 영상처리부, 음성처리부 및 중앙연산부를 포함하는 시스템을 통하여 네트워크상의 비디오 또는 오디오 조각파일을 복구하는 방법으로서,
(A) 상기 중앙연산부가 네트워크상에서 조각파일을 수집하는 단계;
(B) 상기 중앙연산부가 상기 파일포맷분류DB의 클래스분포를 분석하여 상기 조각파일의 파일포맷을 식별하는 단계;
(C) 상기 중앙연산부가 상기 조각파일의 파일포맷에 해당하는 최대유사헤더를 상기 최대유사헤더DB에서 추출하여 상기 조각파일의 선단에 조합하는 단계; 및
(D) 상기 영상처리부 또는 음성처리부가 상기 중앙연산부로부터 상기 최대유사헤더가 조합된 조각파일을 수신하여 디코딩하는 단계;
를 포함하여 이루어지는 멀티미디어 비디오조각파일 복구방법.
A file format classification DB in which a class distribution for classifying a file format is stored, and a maximum similarity header DB in which a maximum similarity header is stored. The system includes a video processing unit, a voice processing unit, and a central operation unit. As a method of recovering,
(A) collecting fragmented files on the network;
(B) analyzing a class distribution of the file format classification DB to identify a file format of the fragmented file;
(C) extracting a maximum similarity header corresponding to the file format of the fragmented file from the maximum similarity header DB and combining the extracted maximum similarity header at the end of the fragmented file; And
(D) receiving and decoding a fragmented file in which the maximum similarity header is combined from the central processing unit, the image processing unit or the audio processing unit;
And restoring the multimedia video fragment file.
제1항에서,
상기 중앙연산부는 하기의 단계를 포함하는 방법으로 파일포맷분류DB를 구축하는 것을 특징으로 하는 멀티미디어 조각파일 복구방법.
(1) 수집된 N개 비디오 또는 오디오 샘플파일에서 헤더(header) 및 테일(tail)을 제외한 범위의 데이터 중 길이가 LI인 데이터를 랜덤하게 잘라내어 총 N개의 데이터를 생성하는 단계;
(2) 잘라낸 각 데이터를 sync패턴 카운팅 프로시져에 따라 파일포맷별로 sync패턴 카운터값을 생성하는 단계;
(3) 파일포맷별로 생성된 각 데이터의 sync패턴 카운터값을 조합하여 고차원 벡터집합을 구성하는 단계; 및
(4) 생성된 N개의 고차원 벡터집합들을 군집 알고리즘 또는 SVM(Support Vector Machine)을 이용하여 M개의 파일포맷별로 분류하여 M개의 클래스분포를 상기 파일포맷분류DB에 저장하는 단계;
The method of claim 1,
Wherein the central operation unit constructs a file format classification DB by a method including the following steps.
(1) randomly cutting out data of a length L I among data in a range excluding a header and a tail from the collected N video or audio sample files to generate a total of N pieces of data;
(2) generating a sync pattern counter value for each file format according to a sync pattern counting procedure for each cut data;
(3) constructing a high dimensional vector set by combining sync pattern counter values of each data generated for each file format; And
(4) storing the generated N high-dimensional vector sets into M file classifications using a cluster algorithm or SVM (Support Vector Machine) to store M class distributions in the file format classification DB;
제1항에서,
상기 (B)단계에서,
상기 중앙연산부는,
(B-1) 상기 조각 파일에 들어있는 sync패턴 카운터값을 sync패턴 카운팅 프로시져에 따라 생성하는 단계;
(B-2) 각 포맷에 대응되는 sync패턴 카운터값으로부터 고차원 벡터 집합을 구성하는 단계;
(B-3) 상기 조각파일의 사이즈를 LI으로 맞추기 위하여 상기 고차원 벡터집합에 벡터 정규화(vector normalization)를 수행하여 축소된 고차원 벡터집합을 생성하는 단계; 및
(B-4) 상기 축소된 고차원 벡터집합과 파일포맷분류DB의 각 클래스분포를 KNN기법(K-Nearest Neighbor 기법, 최소 유클리디안 거리를 측정하는 기법)로 비교하여 최근거리의 클래스의 포맷을 선택하여 상기 조각파일의 포맷으로 저장하는 단계;
를 포함하는 과정을 거쳐 조각파일의 포맷을 식별하는 것을 특징으로 하는 멀티미디어 조각파일 복구방법.
The method of claim 1,
In the step (B)
The central operation unit,
(B-1) generating a sync pattern counter value included in the fragment file according to a sync pattern counting procedure;
(B-2) constructing a set of high dimensional vectors from sync pattern counter values corresponding to each format;
(B-3) generating a reduced high-dimensional vector set by performing vector normalization on the set of higher dimensional vectors to fit the size of the fragmented file to L I ; And
(B-4) Comparing each class distribution of the reduced high-dimensional vector set and the file format classification DB with a KNN technique (K-Nearest Neighbor technique, a technique of measuring a minimum Euclidean distance) Storing the fragmented file in a format of the fragmented file;
Wherein the format of the fragmented file is identified through a process of including the fragmented file.
제1항에서,
상기 중앙연산부는 하기의 단계를 포함하는 방법으로 상기 최대유사헤더DB를 구축하는 것을 특징으로 하는 멀티미디어 조각파일의 복구방법.
(ㄱ) 네트워크에서 유통되는 비디오 또는 오디오 파일 헤더들을 수집하는 단계;
(ㄴ) 상기 헤더에서 비디오 또는 오디오 속성이 나타나는 확률을 통계적 방법으로 계산하여 확률값에 따라 헤더를 재배열하는 단계; 및
(ㄷ) 가장 높은 확률값을 갖는 헤더를 최대유사헤더로 상기 최대유사헤더DB에 저장하는 단계;
The method of claim 1,
Wherein the central operation unit constructs the maximum similarity header DB by a method including the following steps.
(A) collecting video or audio file headers distributed in a network;
(B) rearranging the header according to a probability value by calculating a probability of a video or audio attribute appearing in the header by a statistical method; And
(C) storing a header having the highest probability value in the maximum similarity header DB as a maximum similarity header;
제2항에서,
상기 군집알고리즘은,
최적화한 판별 서브스페이스 클러스터링(Optimized Discriminative Subspace Clustering,ODiSC) 알고리즘인 것을 특징으로 하는 비디오조각파일의 복구방법.

3. The method of claim 2,
The clustering algorithm includes:
Wherein the optimization algorithm is an Optimized Discriminative Subspace Clustering (ODiSC) algorithm.

KR1020140122746A 2014-09-16 2014-09-16 The method for recovery of multimedia piece file KR101632689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140122746A KR101632689B1 (en) 2014-09-16 2014-09-16 The method for recovery of multimedia piece file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140122746A KR101632689B1 (en) 2014-09-16 2014-09-16 The method for recovery of multimedia piece file

Publications (2)

Publication Number Publication Date
KR20160032761A true KR20160032761A (en) 2016-03-25
KR101632689B1 KR101632689B1 (en) 2016-06-23

Family

ID=55645448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140122746A KR101632689B1 (en) 2014-09-16 2014-09-16 The method for recovery of multimedia piece file

Country Status (1)

Country Link
KR (1) KR101632689B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407492A (en) * 2021-06-18 2021-09-17 中国人民银行清算总中心 File fragment storage method, fragment file recombination method, device and file protection system
CN113672423A (en) * 2021-08-18 2021-11-19 青岛海信移动通信技术股份有限公司 Method for restoring analysis file of album file and terminal equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200088753A (en) 2019-01-15 2020-07-23 유홍준 Multidimensional Media Contents Control System and Method Based on Network Information Decomposition Assembly

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470844B1 (en) 1999-10-12 2005-03-10 샤프 가부시키가이샤 Data recording method and data restoring method
KR20070093389A (en) 2004-07-06 2007-09-18 매그넘 세미콘덕터, 인크. Recovery of real-time video data after power loss
KR20100068903A (en) * 2008-12-15 2010-06-24 한국전자통신연구원 Device and method for packed pe file detection
KR20110095513A (en) * 2010-02-19 2011-08-25 연세대학교 산학협력단 The method for extracting feature and the apparatus thereof
KR20130081826A (en) * 2012-01-10 2013-07-18 대한민국(관리부서:행정안전부 국립과학수사연구원장) Method for restoring moving picture by cluster searching and the medium
KR20140008729A (en) * 2012-07-11 2014-01-22 주식회사 오마이데이터 Image data recovering apparatus and method
KR101407166B1 (en) 2007-06-20 2014-06-13 엘지전자 주식회사 Method for database recovery in digital video recorder

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470844B1 (en) 1999-10-12 2005-03-10 샤프 가부시키가이샤 Data recording method and data restoring method
KR20070093389A (en) 2004-07-06 2007-09-18 매그넘 세미콘덕터, 인크. Recovery of real-time video data after power loss
KR101407166B1 (en) 2007-06-20 2014-06-13 엘지전자 주식회사 Method for database recovery in digital video recorder
KR20100068903A (en) * 2008-12-15 2010-06-24 한국전자통신연구원 Device and method for packed pe file detection
KR20110095513A (en) * 2010-02-19 2011-08-25 연세대학교 산학협력단 The method for extracting feature and the apparatus thereof
KR20130081826A (en) * 2012-01-10 2013-07-18 대한민국(관리부서:행정안전부 국립과학수사연구원장) Method for restoring moving picture by cluster searching and the medium
KR20140008729A (en) * 2012-07-11 2014-01-22 주식회사 오마이데이터 Image data recovering apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407492A (en) * 2021-06-18 2021-09-17 中国人民银行清算总中心 File fragment storage method, fragment file recombination method, device and file protection system
CN113407492B (en) * 2021-06-18 2024-03-26 中国人民银行清算总中心 Method and device for storing file fragments and reorganizing file fragments and file protection system
CN113672423A (en) * 2021-08-18 2021-11-19 青岛海信移动通信技术股份有限公司 Method for restoring analysis file of album file and terminal equipment

Also Published As

Publication number Publication date
KR101632689B1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
JP4481889B2 (en) Data recording apparatus and method, program, and recording medium
JP4270379B2 (en) Efficient transmission and reproduction of digital information
CN103873860B (en) Document transmission method and device
JP2006115457A (en) System and its method for embedding multimedia editing information into multimedia bit stream
JP2006081146A (en) System and method for embedding scene change information in video bit stream
US8401370B2 (en) Application tracks in audio/video containers
KR20110134857A (en) Method and apparatus for providing fragmented multimedia streaming service, and method and apparatus for receiving fragmented multimedia streaming service
EP3070947B1 (en) Video frame decoding method and apparatus
KR101632689B1 (en) The method for recovery of multimedia piece file
US20060059509A1 (en) System and method for embedding commercial information in a video bitstream
KR20100015666A (en) Method to transmit video data in a data stream and associated metadata
KR20120090101A (en) Digital video fast matching system using key-frame index method
Hadi Reviewing and evaluating existing file carving techniques for JPEG files
US10515092B2 (en) Structured record compression and retrieval
JP6145748B2 (en) Video playback device and video recording device
JP5648801B2 (en) Content reproduction control system, method and program thereof
Altinisik et al. Video source characterization using encoding and encapsulation characteristics
JP4719506B2 (en) Terminal device, content reproduction method, and computer program
Park et al. Data fragment forensics for embedded DVR systems
Casey et al. Design tradeoffs for developing fragmented video carving tools
Alghafli et al. Identification and recovery of video fragments for forensics file carving
KR102430177B1 (en) System for rapid management of large scale moving pictures and method thereof
CN112350986B (en) Shaping method and system for audio and video network transmission fragmentation
CN106961626A (en) The method and apparatus that a kind of video metamessage auto-complete is arranged
CN108989905B (en) Media stream control method and device, computing equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190613

Year of fee payment: 4